diff --git a/dwarfexplorer/MainWindow.cpp b/dwarfexplorer/MainWindow.cpp index 563dee8..a2ccc6e 100644 --- a/dwarfexplorer/MainWindow.cpp +++ b/dwarfexplorer/MainWindow.cpp @@ -31,6 +31,9 @@ #include #include +#include "DataDefs.h" +#include + #include "MainWindow.h" #include "QHexView/document/buffer/qmemorybuffer.h" #include "QtModel/df_proxy_model.h" @@ -47,7 +50,6 @@ #include -//#include "df_all.h" #include #include @@ -347,6 +349,7 @@ void MainWindow::on_actionLocate_in_fortress() { if ((l_coord->x != -3000) && (l_coord->y != -3000) && (l_coord->z != -3000)) { + // Center window and cursor DFHack::Gui::revealInDwarfmodeMap(*l_coord, true); @@ -373,121 +376,70 @@ bool is_building_subtype(rdf::DF_Type p_df_type) { using namespace rdf; - if (p_df_type == DF_Type::building_stockpilest) - return true; - if (p_df_type == DF_Type::building_civzonest) - return true; - if (p_df_type == DF_Type::building_actual) - return true; - if (p_df_type == DF_Type::building_furnacest) - return true; - if (p_df_type == DF_Type::building_workshopst) - return true; - if (p_df_type == DF_Type::building_animaltrapst) - return true; - if (p_df_type == DF_Type::building_archerytargetst) - return true; - if (p_df_type == DF_Type::building_armorstandst) - return true; - if (p_df_type == DF_Type::building_bars_verticalst) - return true; - if (p_df_type == DF_Type::building_bars_floorst) - return true; - if (p_df_type == DF_Type::building_bedst) - return true; - if (p_df_type == DF_Type::building_bookcasest) - return true; - if (p_df_type == DF_Type::building_boxst) - return true; - if (p_df_type == DF_Type::building_bridgest) - return true; - if (p_df_type == DF_Type::building_cabinetst) - return true; - if (p_df_type == DF_Type::building_cagest) - return true; - if (p_df_type == DF_Type::building_chainst) - return true; - if (p_df_type == DF_Type::building_chairst) - return true; - if (p_df_type == DF_Type::building_coffinst) - return true; - if (p_df_type == DF_Type::building_constructionst) - return true; - if (p_df_type == DF_Type::building_display_furniturest) - return true; - if (p_df_type == DF_Type::building_doorst) - return true; - if (p_df_type == DF_Type::building_farmplotst) - return true; - if (p_df_type == DF_Type::building_floodgatest) - return true; - if (p_df_type == DF_Type::building_grate_floorst) - return true; - if (p_df_type == DF_Type::building_grate_wallst) - return true; - if (p_df_type == DF_Type::building_hatchst) - return true; - if (p_df_type == DF_Type::building_hivest) - return true; - if (p_df_type == DF_Type::building_instrumentst) - return true; - if (p_df_type == DF_Type::building_nestst) - return true; - if (p_df_type == DF_Type::building_nest_boxst) - return true; - if (p_df_type == DF_Type::building_roadst) - return true; - if (p_df_type == DF_Type::building_road_dirtst) - return true; - if (p_df_type == DF_Type::building_road_pavedst) - return true; - if (p_df_type == DF_Type::building_shopst) - return true; - if (p_df_type == DF_Type::building_siegeenginest) - return true; - if (p_df_type == DF_Type::building_slabst) - return true; - if (p_df_type == DF_Type::building_statuest) - return true; - if (p_df_type == DF_Type::building_supportst) - return true; - if (p_df_type == DF_Type::building_tablest) - return true; - if (p_df_type == DF_Type::building_traction_benchst) - return true; - if (p_df_type == DF_Type::building_tradedepotst) - return true; - if (p_df_type == DF_Type::building_trapst) - return true; - if (p_df_type == DF_Type::building_wagonst) - return true; - if (p_df_type == DF_Type::building_weaponst) - return true; - if (p_df_type == DF_Type::building_weaponrackst) - return true; - if (p_df_type == DF_Type::building_wellst) - return true; - if (p_df_type == DF_Type::building_windowst) - return true; - if (p_df_type == DF_Type::building_window_glassst) - return true; - if (p_df_type == DF_Type::building_window_gemst) - return true; - if (p_df_type == DF_Type::building_axle_horizontalst) - return true; - if (p_df_type == DF_Type::building_axle_verticalst) - return true; - if (p_df_type == DF_Type::building_gear_assemblyst) - return true; - if (p_df_type == DF_Type::building_windmillst) - return true; - if (p_df_type == DF_Type::building_water_wheelst) - return true; - if (p_df_type == DF_Type::building_screw_pumpst) - return true; - if (p_df_type == DF_Type::building_rollersst) - return true; - + switch (p_df_type) + { + case DF_Type::building: + case DF_Type::building_actual: + case DF_Type::building_stockpilest: + case DF_Type::building_civzonest: + case DF_Type::building_furnacest: + case DF_Type::building_workshopst: + case DF_Type::building_animaltrapst: + case DF_Type::building_archerytargetst: + case DF_Type::building_armorstandst: + case DF_Type::building_bars_verticalst: + case DF_Type::building_bars_floorst: + case DF_Type::building_bedst: + case DF_Type::building_bookcasest: + case DF_Type::building_boxst: + case DF_Type::building_bridgest: + case DF_Type::building_cabinetst: + case DF_Type::building_cagest: + case DF_Type::building_chainst: + case DF_Type::building_chairst: + case DF_Type::building_coffinst: + case DF_Type::building_constructionst: + case DF_Type::building_display_furniturest: + case DF_Type::building_doorst: + case DF_Type::building_farmplotst: + case DF_Type::building_floodgatest: + case DF_Type::building_grate_floorst: + case DF_Type::building_grate_wallst: + case DF_Type::building_hatchst: + case DF_Type::building_hivest: + case DF_Type::building_instrumentst: + case DF_Type::building_nestst: + case DF_Type::building_nest_boxst: + case DF_Type::building_roadst: + case DF_Type::building_road_dirtst: + case DF_Type::building_road_pavedst: + case DF_Type::building_shopst: + case DF_Type::building_siegeenginest: + case DF_Type::building_slabst: + case DF_Type::building_statuest: + case DF_Type::building_supportst: + case DF_Type::building_tablest: + case DF_Type::building_traction_benchst: + case DF_Type::building_tradedepotst: + case DF_Type::building_trapst: + case DF_Type::building_wagonst: + case DF_Type::building_weaponst: + case DF_Type::building_weaponrackst: + case DF_Type::building_wellst: + case DF_Type::building_windowst: + case DF_Type::building_window_glassst: + case DF_Type::building_window_gemst: + case DF_Type::building_axle_horizontalst: + case DF_Type::building_axle_verticalst: + case DF_Type::building_gear_assemblyst: + case DF_Type::building_windmillst: + case DF_Type::building_water_wheelst: + case DF_Type::building_screw_pumpst: + case DF_Type::building_rollersst: + return true; + default: + break; + } return false; } diff --git a/dwarfexplorer/generated/DF_Types.cpp b/dwarfexplorer/generated/DF_Types.cpp new file mode 100644 index 0000000..44bff93 --- /dev/null +++ b/dwarfexplorer/generated/DF_Types.cpp @@ -0,0 +1,9139 @@ + +#include +#include +#include "DF_Types.h" + +namespace rdf +{ + +// Function to return the string value of this enum class +std::string DF_Type_to_string(DF_Type p_type) +{ + switch (p_type) + { + case DF_Type::None: return "None"; + case DF_Type::int64_t: return "int64_t"; + case DF_Type::uint64_t: return "uint64_t"; + case DF_Type::int32_t: return "int32_t"; + case DF_Type::int16_t: return "int16_t"; + case DF_Type::uint32_t: return "uint32_t"; + case DF_Type::uint16_t: return "uint16_t"; + case DF_Type::uint8_t: return "uint8_t"; + case DF_Type::int8_t: return "int8_t"; + case DF_Type::Void: return "Void"; + case DF_Type::Char: return "Char"; + case DF_Type::Long: return "Long"; + case DF_Type::Bool: return "Bool"; + case DF_Type::Stl_string: return "Stl_string"; + case DF_Type::Static_string: return "Static_string"; + case DF_Type::Ptr_string: return "Ptr_string"; + case DF_Type::S_float: return "S_float"; + case DF_Type::D_float: return "D_float"; + case DF_Type::S_double: return "S_double"; + case DF_Type::Padding: return "Padding"; + case DF_Type::Stl_fstream: return "Fstream"; + case DF_Type::abstract_building: return "abstract_building"; + case DF_Type::abstract_building__T_inhabitants: return "abstract_building__T_inhabitants"; + case DF_Type::abstract_building__T_unk1: return "abstract_building__T_unk1"; + case DF_Type::abstract_building_contents: return "abstract_building_contents"; + case DF_Type::abstract_building_dark_towerst: return "abstract_building_dark_towerst"; + case DF_Type::abstract_building_dungeonst: return "abstract_building_dungeonst"; + case DF_Type::abstract_building_dungeonst__T_dungeon_type: return "abstract_building_dungeonst__T_dungeon_type"; + case DF_Type::abstract_building_flags: return "abstract_building_flags"; + case DF_Type::abstract_building_inn_tavernst: return "abstract_building_inn_tavernst"; + case DF_Type::abstract_building_inn_tavernst__T_room_info: return "abstract_building_inn_tavernst__T_room_info"; + case DF_Type::abstract_building_keepst: return "abstract_building_keepst"; + case DF_Type::abstract_building_libraryst: return "abstract_building_libraryst"; + case DF_Type::abstract_building_marketst: return "abstract_building_marketst"; + case DF_Type::abstract_building_mead_hallst: return "abstract_building_mead_hallst"; + case DF_Type::abstract_building_templest: return "abstract_building_templest"; + case DF_Type::abstract_building_tombst: return "abstract_building_tombst"; + case DF_Type::abstract_building_type: return "abstract_building_type"; + case DF_Type::abstract_building_underworld_spirest: return "abstract_building_underworld_spirest"; + case DF_Type::abstract_building_unk: return "abstract_building_unk"; + case DF_Type::abstract_building_unk__T_anon_1: return "abstract_building_unk__T_anon_1"; + case DF_Type::active_script_var_longst: return "active_script_var_longst"; + case DF_Type::active_script_var_unitst: return "active_script_var_unitst"; + case DF_Type::active_script_varst: return "active_script_varst"; + case DF_Type::activity_entry: return "activity_entry"; + case DF_Type::activity_event: return "activity_event"; + case DF_Type::activity_event__T_flags: return "activity_event__T_flags"; + case DF_Type::activity_event__T_unk_v42_1: return "activity_event__T_unk_v42_1"; + case DF_Type::activity_event__T_unk_v42_2: return "activity_event__T_unk_v42_2"; + case DF_Type::activity_event_combat_trainingst: return "activity_event_combat_trainingst"; + case DF_Type::activity_event_conflictst: return "activity_event_conflictst"; + case DF_Type::activity_event_conflictst__T_sides: return "activity_event_conflictst__T_sides"; + case DF_Type::activity_event_conflictst__T_sides__T_enemies: return "activity_event_conflictst__T_sides__T_enemies"; + case DF_Type::activity_event_conversationst: return "activity_event_conversationst"; + case DF_Type::activity_event_conversationst__T_anon_6: return "activity_event_conversationst__T_anon_6"; + case DF_Type::activity_event_conversationst__T_flags2: return "activity_event_conversationst__T_flags2"; + case DF_Type::activity_event_conversationst__T_participants: return "activity_event_conversationst__T_participants"; + case DF_Type::activity_event_conversationst__T_turns: return "activity_event_conversationst__T_turns"; + case DF_Type::activity_event_conversationst__T_unk2: return "activity_event_conversationst__T_unk2"; + case DF_Type::activity_event_conversationst__T_unk_b4: return "activity_event_conversationst__T_unk_b4"; + case DF_Type::activity_event_copy_written_contentst: return "activity_event_copy_written_contentst"; + case DF_Type::activity_event_copy_written_contentst__T_flagsmaybe: return "activity_event_copy_written_contentst__T_flagsmaybe"; + case DF_Type::activity_event_discuss_topicst: return "activity_event_discuss_topicst"; + case DF_Type::activity_event_encounterst: return "activity_event_encounterst"; + case DF_Type::activity_event_encounterst__T_anon_1: return "activity_event_encounterst__T_anon_1"; + case DF_Type::activity_event_encounterst__T_anon_2: return "activity_event_encounterst__T_anon_2"; + case DF_Type::activity_event_fill_service_orderst: return "activity_event_fill_service_orderst"; + case DF_Type::activity_event_guardst: return "activity_event_guardst"; + case DF_Type::activity_event_harassmentst: return "activity_event_harassmentst"; + case DF_Type::activity_event_harassmentst__T_anon_2: return "activity_event_harassmentst__T_anon_2"; + case DF_Type::activity_event_individual_skill_drillst: return "activity_event_individual_skill_drillst"; + case DF_Type::activity_event_make_believest: return "activity_event_make_believest"; + case DF_Type::activity_event_participants: return "activity_event_participants"; + case DF_Type::activity_event_performancest: return "activity_event_performancest"; + case DF_Type::activity_event_performancest__T_participant_actions: return "activity_event_performancest__T_participant_actions"; + case DF_Type::activity_event_play_with_toyst: return "activity_event_play_with_toyst"; + case DF_Type::activity_event_play_with_toyst__T_unk: return "activity_event_play_with_toyst__T_unk"; + case DF_Type::activity_event_playst: return "activity_event_playst"; + case DF_Type::activity_event_ponder_topicst: return "activity_event_ponder_topicst"; + case DF_Type::activity_event_prayerst: return "activity_event_prayerst"; + case DF_Type::activity_event_ranged_practicest: return "activity_event_ranged_practicest"; + case DF_Type::activity_event_readst: return "activity_event_readst"; + case DF_Type::activity_event_researchst: return "activity_event_researchst"; + case DF_Type::activity_event_reunionst: return "activity_event_reunionst"; + case DF_Type::activity_event_skill_demonstrationst: return "activity_event_skill_demonstrationst"; + case DF_Type::activity_event_socializest: return "activity_event_socializest"; + case DF_Type::activity_event_sparringst: return "activity_event_sparringst"; + case DF_Type::activity_event_sparringst__T_groups: return "activity_event_sparringst__T_groups"; + case DF_Type::activity_event_store_objectst: return "activity_event_store_objectst"; + case DF_Type::activity_event_teach_topicst: return "activity_event_teach_topicst"; + case DF_Type::activity_event_training_sessionst: return "activity_event_training_sessionst"; + case DF_Type::activity_event_type: return "activity_event_type"; + case DF_Type::activity_event_worshipst: return "activity_event_worshipst"; + case DF_Type::activity_event_writest: return "activity_event_writest"; + case DF_Type::activity_info: return "activity_info"; + case DF_Type::activity_info__T_flags: return "activity_info__T_flags"; + case DF_Type::adventure_environment_ingest_from_containerst: return "adventure_environment_ingest_from_containerst"; + case DF_Type::adventure_environment_ingest_materialst: return "adventure_environment_ingest_materialst"; + case DF_Type::adventure_environment_optionst: return "adventure_environment_optionst"; + case DF_Type::adventure_environment_pickup_chop_treest: return "adventure_environment_pickup_chop_treest"; + case DF_Type::adventure_environment_pickup_ignite_vegst: return "adventure_environment_pickup_ignite_vegst"; + case DF_Type::adventure_environment_pickup_make_campfirest: return "adventure_environment_pickup_make_campfirest"; + case DF_Type::adventure_environment_pickup_vermin_eventst: return "adventure_environment_pickup_vermin_eventst"; + case DF_Type::adventure_environment_place_in_bld_containerst: return "adventure_environment_place_in_bld_containerst"; + case DF_Type::adventure_environment_place_in_it_containerst: return "adventure_environment_place_in_it_containerst"; + case DF_Type::adventure_environment_unit_suck_bloodst: return "adventure_environment_unit_suck_bloodst"; + case DF_Type::adventure_item_interact_choicest: return "adventure_item_interact_choicest"; + case DF_Type::adventure_item_interact_fill_from_containerst: return "adventure_item_interact_fill_from_containerst"; + case DF_Type::adventure_item_interact_fill_with_materialst: return "adventure_item_interact_fill_with_materialst"; + case DF_Type::adventure_item_interact_give_namest: return "adventure_item_interact_give_namest"; + case DF_Type::adventure_item_interact_heat_from_tilest: return "adventure_item_interact_heat_from_tilest"; + case DF_Type::adventure_item_interact_pull_outst: return "adventure_item_interact_pull_outst"; + case DF_Type::adventure_item_interact_readst: return "adventure_item_interact_readst"; + case DF_Type::adventure_item_interact_strugglest: return "adventure_item_interact_strugglest"; + case DF_Type::adventure_log_item: return "adventure_log_item"; + case DF_Type::adventure_movement_attack_creaturest: return "adventure_movement_attack_creaturest"; + case DF_Type::adventure_movement_building_interactst: return "adventure_movement_building_interactst"; + case DF_Type::adventure_movement_climbst: return "adventure_movement_climbst"; + case DF_Type::adventure_movement_hold_itemst: return "adventure_movement_hold_itemst"; + case DF_Type::adventure_movement_hold_tilest: return "adventure_movement_hold_tilest"; + case DF_Type::adventure_movement_item_interact_guidest: return "adventure_movement_item_interact_guidest"; + case DF_Type::adventure_movement_item_interact_pushst: return "adventure_movement_item_interact_pushst"; + case DF_Type::adventure_movement_item_interact_ridest: return "adventure_movement_item_interact_ridest"; + case DF_Type::adventure_movement_item_interactst: return "adventure_movement_item_interactst"; + case DF_Type::adventure_movement_movest: return "adventure_movement_movest"; + case DF_Type::adventure_movement_optionst: return "adventure_movement_optionst"; + case DF_Type::adventure_movement_release_hold_itemst: return "adventure_movement_release_hold_itemst"; + case DF_Type::adventure_movement_release_hold_tilest: return "adventure_movement_release_hold_tilest"; + case DF_Type::adventure_option_eat_item_contaminantst: return "adventure_option_eat_item_contaminantst"; + case DF_Type::adventure_option_eat_unit_contaminantst: return "adventure_option_eat_unit_contaminantst"; + case DF_Type::adventure_option_view_contaminantst: return "adventure_option_view_contaminantst"; + case DF_Type::adventure_optionst: return "adventure_optionst"; + case DF_Type::adventurer_attribute_level: return "adventurer_attribute_level"; + case DF_Type::agreement: return "agreement"; + case DF_Type::agreement__T_details: return "agreement__T_details"; + case DF_Type::agreement__T_details__T_data: return "agreement__T_details__T_data"; + case DF_Type::agreement__T_details__T_data__T_data0: return "agreement__T_details__T_data__T_data0"; + case DF_Type::agreement__T_details__T_data__T_data1: return "agreement__T_details__T_data__T_data1"; + case DF_Type::agreement__T_parties: return "agreement__T_parties"; + case DF_Type::agreement__T_parties__T_anon_1: return "agreement__T_parties__T_anon_1"; + case DF_Type::ammo_flags: return "ammo_flags"; + case DF_Type::animal_training_level: return "animal_training_level"; + case DF_Type::announcement_flags: return "announcement_flags"; + case DF_Type::announcement_type: return "announcement_type"; + case DF_Type::announcements: return "announcements"; + case DF_Type::appearance_modifier_growth_interval: return "appearance_modifier_growth_interval"; + case DF_Type::appearance_modifier_type: return "appearance_modifier_type"; + case DF_Type::armor_flags: return "armor_flags"; + case DF_Type::armor_general_flags: return "armor_general_flags"; + case DF_Type::armor_properties: return "armor_properties"; + case DF_Type::army: return "army"; + case DF_Type::army__T_members: return "army__T_members"; + case DF_Type::army__T_unk_2c: return "army__T_unk_2c"; + case DF_Type::army_controller: return "army_controller"; + case DF_Type::army_controller__T_unk_64: return "army_controller__T_unk_64"; + case DF_Type::army_controller_sub1: return "army_controller_sub1"; + case DF_Type::army_controller_sub11: return "army_controller_sub11"; + case DF_Type::army_controller_sub11__T_anon_3: return "army_controller_sub11__T_anon_3"; + case DF_Type::army_controller_sub12: return "army_controller_sub12"; + case DF_Type::army_controller_sub12__T_anon_4: return "army_controller_sub12__T_anon_4"; + case DF_Type::army_controller_sub13: return "army_controller_sub13"; + case DF_Type::army_controller_sub13__T_anon_4: return "army_controller_sub13__T_anon_4"; + case DF_Type::army_controller_sub14: return "army_controller_sub14"; + case DF_Type::army_controller_sub14__T_anon_4: return "army_controller_sub14__T_anon_4"; + case DF_Type::army_controller_sub15: return "army_controller_sub15"; + case DF_Type::army_controller_sub15__T_anon_3: return "army_controller_sub15__T_anon_3"; + case DF_Type::army_controller_sub16: return "army_controller_sub16"; + case DF_Type::army_controller_sub17: return "army_controller_sub17"; + case DF_Type::army_controller_sub18: return "army_controller_sub18"; + case DF_Type::army_controller_sub2: return "army_controller_sub2"; + case DF_Type::army_controller_sub2__T_anon_5: return "army_controller_sub2__T_anon_5"; + case DF_Type::army_controller_sub4: return "army_controller_sub4"; + case DF_Type::army_controller_sub4__T_unk_2: return "army_controller_sub4__T_unk_2"; + case DF_Type::army_controller_sub5: return "army_controller_sub5"; + case DF_Type::army_controller_sub6: return "army_controller_sub6"; + case DF_Type::army_controller_sub7: return "army_controller_sub7"; + case DF_Type::army_controller_sub7__T_anon_3: return "army_controller_sub7__T_anon_3"; + case DF_Type::army_flags: return "army_flags"; + case DF_Type::art_facet_type: return "art_facet_type"; + case DF_Type::art_image: return "art_image"; + case DF_Type::art_image_chunk: return "art_image_chunk"; + case DF_Type::art_image_element: return "art_image_element"; + case DF_Type::art_image_element_creaturest: return "art_image_element_creaturest"; + case DF_Type::art_image_element_itemst: return "art_image_element_itemst"; + case DF_Type::art_image_element_plantst: return "art_image_element_plantst"; + case DF_Type::art_image_element_shapest: return "art_image_element_shapest"; + case DF_Type::art_image_element_treest: return "art_image_element_treest"; + case DF_Type::art_image_element_type: return "art_image_element_type"; + case DF_Type::art_image_property: return "art_image_property"; + case DF_Type::art_image_property_intransitive_verbst: return "art_image_property_intransitive_verbst"; + case DF_Type::art_image_property_transitive_verbst: return "art_image_property_transitive_verbst"; + case DF_Type::art_image_property_type: return "art_image_property_type"; + case DF_Type::art_image_property_verb: return "art_image_property_verb"; + case DF_Type::art_image_ref: return "art_image_ref"; + case DF_Type::artifact_record: return "artifact_record"; + case DF_Type::assign_trade_status: return "assign_trade_status"; + case DF_Type::assign_trade_status__T_status: return "assign_trade_status__T_status"; + case DF_Type::assume_identity_mode: return "assume_identity_mode"; + case DF_Type::barrack_preference_category: return "barrack_preference_category"; + case DF_Type::belief_system: return "belief_system"; + case DF_Type::biome_type: return "biome_type"; + case DF_Type::block_burrow: return "block_burrow"; + case DF_Type::block_burrow_link: return "block_burrow_link"; + case DF_Type::block_flags: return "block_flags"; + case DF_Type::block_square_event: return "block_square_event"; + case DF_Type::block_square_event_designation_priorityst: return "block_square_event_designation_priorityst"; + case DF_Type::block_square_event_frozen_liquidst: return "block_square_event_frozen_liquidst"; + case DF_Type::block_square_event_grassst: return "block_square_event_grassst"; + case DF_Type::block_square_event_item_spatterst: return "block_square_event_item_spatterst"; + case DF_Type::block_square_event_material_spatterst: return "block_square_event_material_spatterst"; + case DF_Type::block_square_event_mineralst: return "block_square_event_mineralst"; + case DF_Type::block_square_event_mineralst__T_flags: return "block_square_event_mineralst__T_flags"; + case DF_Type::block_square_event_spoorst: return "block_square_event_spoorst"; + case DF_Type::block_square_event_type: return "block_square_event_type"; + case DF_Type::block_square_event_world_constructionst: return "block_square_event_world_constructionst"; + case DF_Type::body_appearance_modifier: return "body_appearance_modifier"; + case DF_Type::body_component_info: return "body_component_info"; + case DF_Type::body_detail_plan: return "body_detail_plan"; + case DF_Type::body_layer_status: return "body_layer_status"; + case DF_Type::body_part_layer_flags: return "body_part_layer_flags"; + case DF_Type::body_part_layer_raw: return "body_part_layer_raw"; + case DF_Type::body_part_raw: return "body_part_raw"; + case DF_Type::body_part_raw_flags: return "body_part_raw_flags"; + case DF_Type::body_part_status: return "body_part_status"; + case DF_Type::body_part_template: return "body_part_template"; + case DF_Type::body_part_template_contype: return "body_part_template_contype"; + case DF_Type::body_part_template_flags: return "body_part_template_flags"; + case DF_Type::body_size_info: return "body_size_info"; + case DF_Type::body_template: return "body_template"; + case DF_Type::bp_appearance_modifier: return "bp_appearance_modifier"; + case DF_Type::breath_attack_type: return "breath_attack_type"; + case DF_Type::build_req_choice_genst: return "build_req_choice_genst"; + case DF_Type::build_req_choice_specst: return "build_req_choice_specst"; + case DF_Type::build_req_choice_type: return "build_req_choice_type"; + case DF_Type::build_req_choicest: return "build_req_choicest"; + case DF_Type::building: return "building"; + case DF_Type::building__T_activities: return "building__T_activities"; + case DF_Type::building__T_job_claim_suppress: return "building__T_job_claim_suppress"; + case DF_Type::building_actual: return "building_actual"; + case DF_Type::building_actual__T_contained_items: return "building_actual__T_contained_items"; + case DF_Type::building_animaltrapst: return "building_animaltrapst"; + case DF_Type::building_archerytargetst: return "building_archerytargetst"; + case DF_Type::building_archerytargetst__T_archery_direction: return "building_archerytargetst__T_archery_direction"; + case DF_Type::building_armorstandst: return "building_armorstandst"; + case DF_Type::building_axle_horizontalst: return "building_axle_horizontalst"; + case DF_Type::building_axle_verticalst: return "building_axle_verticalst"; + case DF_Type::building_bars_floorst: return "building_bars_floorst"; + case DF_Type::building_bars_verticalst: return "building_bars_verticalst"; + case DF_Type::building_bedst: return "building_bedst"; + case DF_Type::building_bedst__T_bed_flags: return "building_bedst__T_bed_flags"; + case DF_Type::building_bookcasest: return "building_bookcasest"; + case DF_Type::building_boxst: return "building_boxst"; + case DF_Type::building_bridgest: return "building_bridgest"; + case DF_Type::building_bridgest__T_direction: return "building_bridgest__T_direction"; + case DF_Type::building_cabinetst: return "building_cabinetst"; + case DF_Type::building_cagest: return "building_cagest"; + case DF_Type::building_cagest__T_cage_flags: return "building_cagest__T_cage_flags"; + case DF_Type::building_chainst: return "building_chainst"; + case DF_Type::building_chainst__T_chain_flags: return "building_chainst__T_chain_flags"; + case DF_Type::building_chairst: return "building_chairst"; + case DF_Type::building_civzonest: return "building_civzonest"; + case DF_Type::building_civzonest__T_gather_flags: return "building_civzonest__T_gather_flags"; + case DF_Type::building_civzonest__T_pit_flags: return "building_civzonest__T_pit_flags"; + case DF_Type::building_civzonest__T_zone_flags: return "building_civzonest__T_zone_flags"; + case DF_Type::building_coffinst: return "building_coffinst"; + case DF_Type::building_coffinst__T_burial_mode: return "building_coffinst__T_burial_mode"; + case DF_Type::building_constructionst: return "building_constructionst"; + case DF_Type::building_def: return "building_def"; + case DF_Type::building_def_furnacest: return "building_def_furnacest"; + case DF_Type::building_def_item: return "building_def_item"; + case DF_Type::building_def_workshopst: return "building_def_workshopst"; + case DF_Type::building_design: return "building_design"; + case DF_Type::building_design__T_flags: return "building_design__T_flags"; + case DF_Type::building_display_furniturest: return "building_display_furniturest"; + case DF_Type::building_doorst: return "building_doorst"; + case DF_Type::building_drawbuffer: return "building_drawbuffer"; + case DF_Type::building_extents: return "building_extents"; + case DF_Type::building_farmplotst: return "building_farmplotst"; + case DF_Type::building_flags: return "building_flags"; + case DF_Type::building_floodgatest: return "building_floodgatest"; + case DF_Type::building_furnacest: return "building_furnacest"; + case DF_Type::building_gear_assemblyst: return "building_gear_assemblyst"; + case DF_Type::building_gear_assemblyst__T_gear_flags: return "building_gear_assemblyst__T_gear_flags"; + case DF_Type::building_grate_floorst: return "building_grate_floorst"; + case DF_Type::building_grate_wallst: return "building_grate_wallst"; + case DF_Type::building_handler: return "building_handler"; + case DF_Type::building_hatchst: return "building_hatchst"; + case DF_Type::building_hivest: return "building_hivest"; + case DF_Type::building_instrumentst: return "building_instrumentst"; + case DF_Type::building_nest_boxst: return "building_nest_boxst"; + case DF_Type::building_nestst: return "building_nestst"; + case DF_Type::building_road_dirtst: return "building_road_dirtst"; + case DF_Type::building_road_pavedst: return "building_road_pavedst"; + case DF_Type::building_roadst: return "building_roadst"; + case DF_Type::building_rollersst: return "building_rollersst"; + case DF_Type::building_screw_pumpst: return "building_screw_pumpst"; + case DF_Type::building_shopst: return "building_shopst"; + case DF_Type::building_shopst__T_shop_flags: return "building_shopst__T_shop_flags"; + case DF_Type::building_siegeenginest: return "building_siegeenginest"; + case DF_Type::building_siegeenginest__T_action: return "building_siegeenginest__T_action"; + case DF_Type::building_siegeenginest__T_facing: return "building_siegeenginest__T_facing"; + case DF_Type::building_slabst: return "building_slabst"; + case DF_Type::building_squad_use: return "building_squad_use"; + case DF_Type::building_statuest: return "building_statuest"; + case DF_Type::building_stockpilest: return "building_stockpilest"; + case DF_Type::building_supportst: return "building_supportst"; + case DF_Type::building_supportst__T_support_flags: return "building_supportst__T_support_flags"; + case DF_Type::building_tablest: return "building_tablest"; + case DF_Type::building_tablest__T_table_flags: return "building_tablest__T_table_flags"; + case DF_Type::building_traction_benchst: return "building_traction_benchst"; + case DF_Type::building_tradedepotst: return "building_tradedepotst"; + case DF_Type::building_tradedepotst__T_trade_flags: return "building_tradedepotst__T_trade_flags"; + case DF_Type::building_trapst: return "building_trapst"; + case DF_Type::building_trapst__T_stop_flags: return "building_trapst__T_stop_flags"; + case DF_Type::building_type: return "building_type"; + case DF_Type::building_users: return "building_users"; + case DF_Type::building_wagonst: return "building_wagonst"; + case DF_Type::building_water_wheelst: return "building_water_wheelst"; + case DF_Type::building_weaponrackst: return "building_weaponrackst"; + case DF_Type::building_weaponst: return "building_weaponst"; + case DF_Type::building_wellst: return "building_wellst"; + case DF_Type::building_wellst__T_well_flags: return "building_wellst__T_well_flags"; + case DF_Type::building_windmillst: return "building_windmillst"; + case DF_Type::building_window_gemst: return "building_window_gemst"; + case DF_Type::building_window_glassst: return "building_window_glassst"; + case DF_Type::building_windowst: return "building_windowst"; + case DF_Type::building_workshopst: return "building_workshopst"; + case DF_Type::buildings_other_id: return "buildings_other_id"; + case DF_Type::builtin_mats: return "builtin_mats"; + case DF_Type::burrow: return "burrow"; + case DF_Type::campfire: return "campfire"; + case DF_Type::caravan_state: return "caravan_state"; + case DF_Type::caravan_state__T_flags: return "caravan_state__T_flags"; + case DF_Type::caravan_state__T_trade_state: return "caravan_state__T_trade_state"; + case DF_Type::caste_attack: return "caste_attack"; + case DF_Type::caste_attack__T_flags: return "caste_attack__T_flags"; + case DF_Type::caste_body_info: return "caste_body_info"; + case DF_Type::caste_body_info__T_extra_butcher_objects: return "caste_body_info__T_extra_butcher_objects"; + case DF_Type::caste_body_info__T_flags: return "caste_body_info__T_flags"; + case DF_Type::caste_body_info__T_interactions: return "caste_body_info__T_interactions"; + case DF_Type::caste_body_info__T_interactions__T_type: return "caste_body_info__T_interactions__T_type"; + case DF_Type::caste_clothing_item: return "caste_clothing_item"; + case DF_Type::caste_raw: return "caste_raw"; + case DF_Type::caste_raw__T_attributes: return "caste_raw__T_attributes"; + case DF_Type::caste_raw__T_bp_appearance: return "caste_raw__T_bp_appearance"; + case DF_Type::caste_raw__T_caste_profession_name: return "caste_raw__T_caste_profession_name"; + case DF_Type::caste_raw__T_extracts: return "caste_raw__T_extracts"; + case DF_Type::caste_raw__T_misc: return "caste_raw__T_misc"; + case DF_Type::caste_raw__T_personality: return "caste_raw__T_personality"; + case DF_Type::caste_raw__T_secretion: return "caste_raw__T_secretion"; + case DF_Type::caste_raw__T_shearable_tissue_layer: return "caste_raw__T_shearable_tissue_layer"; + case DF_Type::caste_raw__T_unknown2: return "caste_raw__T_unknown2"; + case DF_Type::caste_raw_flags: return "caste_raw_flags"; + case DF_Type::cave_column: return "cave_column"; + case DF_Type::cave_column_link: return "cave_column_link"; + case DF_Type::cave_column_rectangle: return "cave_column_rectangle"; + case DF_Type::cie_add_tag_mask1: return "cie_add_tag_mask1"; + case DF_Type::cie_add_tag_mask2: return "cie_add_tag_mask2"; + case DF_Type::civzone_type: return "civzone_type"; + case DF_Type::coin_batch: return "coin_batch"; + case DF_Type::coin_batch__T_image_back: return "coin_batch__T_image_back"; + case DF_Type::coin_batch__T_image_front: return "coin_batch__T_image_front"; + case DF_Type::color_modifier_raw: return "color_modifier_raw"; + case DF_Type::combat_report_event_type: return "combat_report_event_type"; + case DF_Type::conflict_level: return "conflict_level"; + case DF_Type::construction: return "construction"; + case DF_Type::construction_flags: return "construction_flags"; + case DF_Type::construction_type: return "construction_type"; + case DF_Type::conversation: return "conversation"; + case DF_Type::conversation__T_speech: return "conversation__T_speech"; + case DF_Type::conversation__T_state: return "conversation__T_state"; + case DF_Type::conversation_menu: return "conversation_menu"; + case DF_Type::coord: return "coord"; + case DF_Type::coord2d: return "coord2d"; + case DF_Type::coord2d_path: return "coord2d_path"; + case DF_Type::coord_path: return "coord_path"; + case DF_Type::coord_rect: return "coord_rect"; + case DF_Type::corpse_material_type: return "corpse_material_type"; + case DF_Type::craft_material_class: return "craft_material_class"; + case DF_Type::creation_zone_pwg_alteration_campst: return "creation_zone_pwg_alteration_campst"; + case DF_Type::creation_zone_pwg_alteration_location_deathst: return "creation_zone_pwg_alteration_location_deathst"; + case DF_Type::creation_zone_pwg_alteration_location_deathst__T_unk_1: return "creation_zone_pwg_alteration_location_deathst__T_unk_1"; + case DF_Type::creation_zone_pwg_alteration_location_deathst__T_unk_1__T_anon_1: return "creation_zone_pwg_alteration_location_deathst__T_unk_1__T_anon_1"; + case DF_Type::creation_zone_pwg_alteration_srb_ruinedst: return "creation_zone_pwg_alteration_srb_ruinedst"; + case DF_Type::creation_zone_pwg_alteration_srp_ruinedst: return "creation_zone_pwg_alteration_srp_ruinedst"; + case DF_Type::creation_zone_pwg_alteration_type: return "creation_zone_pwg_alteration_type"; + case DF_Type::creation_zone_pwg_alterationst: return "creation_zone_pwg_alterationst"; + case DF_Type::creature_graphics_appointment: return "creature_graphics_appointment"; + case DF_Type::creature_graphics_role: return "creature_graphics_role"; + case DF_Type::creature_handler: return "creature_handler"; + case DF_Type::creature_interaction: return "creature_interaction"; + case DF_Type::creature_interaction__T_flags: return "creature_interaction__T_flags"; + case DF_Type::creature_interaction_effect: return "creature_interaction_effect"; + case DF_Type::creature_interaction_effect__T_counter_trigger: return "creature_interaction_effect__T_counter_trigger"; + case DF_Type::creature_interaction_effect_add_simple_flagst: return "creature_interaction_effect_add_simple_flagst"; + case DF_Type::creature_interaction_effect_bleedingst: return "creature_interaction_effect_bleedingst"; + case DF_Type::creature_interaction_effect_blistersst: return "creature_interaction_effect_blistersst"; + case DF_Type::creature_interaction_effect_body_appearance_modifierst: return "creature_interaction_effect_body_appearance_modifierst"; + case DF_Type::creature_interaction_effect_body_mat_interactionst: return "creature_interaction_effect_body_mat_interactionst"; + case DF_Type::creature_interaction_effect_body_transformationst: return "creature_interaction_effect_body_transformationst"; + case DF_Type::creature_interaction_effect_bp_appearance_modifierst: return "creature_interaction_effect_bp_appearance_modifierst"; + case DF_Type::creature_interaction_effect_bruisingst: return "creature_interaction_effect_bruisingst"; + case DF_Type::creature_interaction_effect_can_do_interactionst: return "creature_interaction_effect_can_do_interactionst"; + case DF_Type::creature_interaction_effect_change_personalityst: return "creature_interaction_effect_change_personalityst"; + case DF_Type::creature_interaction_effect_cough_bloodst: return "creature_interaction_effect_cough_bloodst"; + case DF_Type::creature_interaction_effect_display_namest: return "creature_interaction_effect_display_namest"; + case DF_Type::creature_interaction_effect_display_symbolst: return "creature_interaction_effect_display_symbolst"; + case DF_Type::creature_interaction_effect_dizzinessst: return "creature_interaction_effect_dizzinessst"; + case DF_Type::creature_interaction_effect_drowsinessst: return "creature_interaction_effect_drowsinessst"; + case DF_Type::creature_interaction_effect_erratic_behaviorst: return "creature_interaction_effect_erratic_behaviorst"; + case DF_Type::creature_interaction_effect_feel_emotionst: return "creature_interaction_effect_feel_emotionst"; + case DF_Type::creature_interaction_effect_feverst: return "creature_interaction_effect_feverst"; + case DF_Type::creature_interaction_effect_flags: return "creature_interaction_effect_flags"; + case DF_Type::creature_interaction_effect_flash_symbolst: return "creature_interaction_effect_flash_symbolst"; + case DF_Type::creature_interaction_effect_impair_functionst: return "creature_interaction_effect_impair_functionst"; + case DF_Type::creature_interaction_effect_material_force_adjustst: return "creature_interaction_effect_material_force_adjustst"; + case DF_Type::creature_interaction_effect_ment_att_changest: return "creature_interaction_effect_ment_att_changest"; + case DF_Type::creature_interaction_effect_nauseast: return "creature_interaction_effect_nauseast"; + case DF_Type::creature_interaction_effect_necrosisst: return "creature_interaction_effect_necrosisst"; + case DF_Type::creature_interaction_effect_numbnessst: return "creature_interaction_effect_numbnessst"; + case DF_Type::creature_interaction_effect_oozingst: return "creature_interaction_effect_oozingst"; + case DF_Type::creature_interaction_effect_painst: return "creature_interaction_effect_painst"; + case DF_Type::creature_interaction_effect_paralysisst: return "creature_interaction_effect_paralysisst"; + case DF_Type::creature_interaction_effect_phys_att_changest: return "creature_interaction_effect_phys_att_changest"; + case DF_Type::creature_interaction_effect_remove_simple_flagst: return "creature_interaction_effect_remove_simple_flagst"; + case DF_Type::creature_interaction_effect_sense_creature_classst: return "creature_interaction_effect_sense_creature_classst"; + case DF_Type::creature_interaction_effect_skill_roll_adjustst: return "creature_interaction_effect_skill_roll_adjustst"; + case DF_Type::creature_interaction_effect_speed_changest: return "creature_interaction_effect_speed_changest"; + case DF_Type::creature_interaction_effect_swellingst: return "creature_interaction_effect_swellingst"; + case DF_Type::creature_interaction_effect_target: return "creature_interaction_effect_target"; + case DF_Type::creature_interaction_effect_target_mode: return "creature_interaction_effect_target_mode"; + case DF_Type::creature_interaction_effect_type: return "creature_interaction_effect_type"; + case DF_Type::creature_interaction_effect_unconsciousnessst: return "creature_interaction_effect_unconsciousnessst"; + case DF_Type::creature_interaction_effect_vomit_bloodst: return "creature_interaction_effect_vomit_bloodst"; + case DF_Type::creature_interaction_target_flags: return "creature_interaction_target_flags"; + case DF_Type::creature_raw: return "creature_raw"; + case DF_Type::creature_raw__T_graphics: return "creature_raw__T_graphics"; + case DF_Type::creature_raw__T_hive_product: return "creature_raw__T_hive_product"; + case DF_Type::creature_raw__T_profession_name: return "creature_raw__T_profession_name"; + case DF_Type::creature_raw_flags: return "creature_raw_flags"; + case DF_Type::creature_variation: return "creature_variation"; + case DF_Type::creature_variation_convert_tag: return "creature_variation_convert_tag"; + case DF_Type::crime: return "crime"; + case DF_Type::crime__T_flags: return "crime__T_flags"; + case DF_Type::crime__T_mode: return "crime__T_mode"; + case DF_Type::crime__T_punishment: return "crime__T_punishment"; + case DF_Type::crime__T_reports: return "crime__T_reports"; + case DF_Type::cultural_identity: return "cultural_identity"; + case DF_Type::cultural_identity__T_group_log: return "cultural_identity__T_group_log"; + case DF_Type::cultural_identity__T_group_log__T_join_type: return "cultural_identity__T_group_log__T_join_type"; + case DF_Type::cumulus_type: return "cumulus_type"; + case DF_Type::curse_attr_change: return "curse_attr_change"; + case DF_Type::d_init: return "d_init"; + case DF_Type::d_init__T_store_dist: return "d_init__T_store_dist"; + case DF_Type::d_init__T_wound_color: return "d_init__T_wound_color"; + case DF_Type::d_init_embark_confirm: return "d_init_embark_confirm"; + case DF_Type::d_init_flags1: return "d_init_flags1"; + case DF_Type::d_init_flags2: return "d_init_flags2"; + case DF_Type::d_init_flags3: return "d_init_flags3"; + case DF_Type::d_init_flags4: return "d_init_flags4"; + case DF_Type::d_init_idlers: return "d_init_idlers"; + case DF_Type::d_init_nickname: return "d_init_nickname"; + case DF_Type::d_init_tunnel: return "d_init_tunnel"; + case DF_Type::d_init_z_view: return "d_init_z_view"; + case DF_Type::dance_form: return "dance_form"; + case DF_Type::dance_form_sub1: return "dance_form_sub1"; + case DF_Type::dance_form_sub2: return "dance_form_sub2"; + case DF_Type::death_type: return "death_type"; + case DF_Type::deep_vein_hollow: return "deep_vein_hollow"; + case DF_Type::descriptor_color: return "descriptor_color"; + case DF_Type::descriptor_pattern: return "descriptor_pattern"; + case DF_Type::descriptor_shape: return "descriptor_shape"; + case DF_Type::descriptor_shape__T_gems_use: return "descriptor_shape__T_gems_use"; + case DF_Type::dfhack_knowledge_scholar_flag: return "dfhack_knowledge_scholar_flag"; + case DF_Type::dfhack_material_category: return "dfhack_material_category"; + case DF_Type::dfhack_room_quality_level: return "dfhack_room_quality_level"; + case DF_Type::dipscript_info: return "dipscript_info"; + case DF_Type::dipscript_popup: return "dipscript_popup"; + case DF_Type::dipscript_popup__T_flags: return "dipscript_popup__T_flags"; + case DF_Type::door_flags: return "door_flags"; + case DF_Type::dye_info: return "dye_info"; + case DF_Type::effect_info: return "effect_info"; + case DF_Type::embark_finder_option: return "embark_finder_option"; + case DF_Type::embark_item_choice: return "embark_item_choice"; + case DF_Type::embark_item_choice__T_list: return "embark_item_choice__T_list"; + case DF_Type::embark_location: return "embark_location"; + case DF_Type::embark_note: return "embark_note"; + case DF_Type::embark_profile: return "embark_profile"; + case DF_Type::emotion_type: return "emotion_type"; + case DF_Type::enabler: return "enabler"; + case DF_Type::enabler__T_async_frombox: return "enabler__T_async_frombox"; + case DF_Type::enabler__T_async_frombox__T_queue: return "enabler__T_async_frombox__T_queue"; + case DF_Type::enabler__T_async_frombox__T_queue___union1: return "enabler__T_async_frombox__T_queue___union1"; + case DF_Type::enabler__T_async_frombox__T_queue___union1___struct1: return "enabler__T_async_frombox__T_queue___union1___struct1"; + case DF_Type::enabler__T_async_frombox__T_queue__T_msg: return "enabler__T_async_frombox__T_queue__T_msg"; + case DF_Type::enabler__T_async_tobox: return "enabler__T_async_tobox"; + case DF_Type::enabler__T_async_tobox__T_queue: return "enabler__T_async_tobox__T_queue"; + case DF_Type::enabler__T_async_tobox__T_queue__T_cmd: return "enabler__T_async_tobox__T_queue__T_cmd"; + case DF_Type::enabler__T_async_zoom: return "enabler__T_async_zoom"; + case DF_Type::enabler__T_flag: return "enabler__T_flag"; + case DF_Type::enabler__T_gputicks: return "enabler__T_gputicks"; + case DF_Type::enabler__T_overridden_grid_sizes: return "enabler__T_overridden_grid_sizes"; + case DF_Type::enabler__T_simticks: return "enabler__T_simticks"; + case DF_Type::enabler__T_textures: return "enabler__T_textures"; + case DF_Type::engraving: return "engraving"; + case DF_Type::engraving_flags: return "engraving_flags"; + case DF_Type::entity_action_type: return "entity_action_type"; + case DF_Type::entity_activity_statistics: return "entity_activity_statistics"; + case DF_Type::entity_activity_statistics__T_food: return "entity_activity_statistics__T_food"; + case DF_Type::entity_activity_statistics__T_found_misc: return "entity_activity_statistics__T_found_misc"; + case DF_Type::entity_activity_statistics__T_wealth: return "entity_activity_statistics__T_wealth"; + case DF_Type::entity_animal_raw: return "entity_animal_raw"; + case DF_Type::entity_animal_raw__T_flags: return "entity_animal_raw__T_flags"; + case DF_Type::entity_buy_prices: return "entity_buy_prices"; + case DF_Type::entity_buy_requests: return "entity_buy_requests"; + case DF_Type::entity_claim_mask: return "entity_claim_mask"; + case DF_Type::entity_claim_mask__T_map: return "entity_claim_mask__T_map"; + case DF_Type::entity_entity_link: return "entity_entity_link"; + case DF_Type::entity_entity_link_type: return "entity_entity_link_type"; + case DF_Type::entity_event: return "entity_event"; + case DF_Type::entity_event__T_data: return "entity_event__T_data"; + case DF_Type::entity_event__T_data__T_abandon: return "entity_event__T_data__T_abandon"; + case DF_Type::entity_event__T_data__T_abduction: return "entity_event__T_data__T_abduction"; + case DF_Type::entity_event__T_data__T_accept_peace_offer: return "entity_event__T_data__T_accept_peace_offer"; + case DF_Type::entity_event__T_data__T_accept_tribute_demand: return "entity_event__T_data__T_accept_tribute_demand"; + case DF_Type::entity_event__T_data__T_accept_tribute_offer: return "entity_event__T_data__T_accept_tribute_offer"; + case DF_Type::entity_event__T_data__T_artifact_destroyed: return "entity_event__T_data__T_artifact_destroyed"; + case DF_Type::entity_event__T_data__T_artifact_in_feature_layer: return "entity_event__T_data__T_artifact_in_feature_layer"; + case DF_Type::entity_event__T_data__T_artifact_in_inventory: return "entity_event__T_data__T_artifact_in_inventory"; + case DF_Type::entity_event__T_data__T_artifact_in_site: return "entity_event__T_data__T_artifact_in_site"; + case DF_Type::entity_event__T_data__T_artifact_in_subregion: return "entity_event__T_data__T_artifact_in_subregion"; + case DF_Type::entity_event__T_data__T_artifact_not_in_feature_layer: return "entity_event__T_data__T_artifact_not_in_feature_layer"; + case DF_Type::entity_event__T_data__T_artifact_not_in_inventory: return "entity_event__T_data__T_artifact_not_in_inventory"; + case DF_Type::entity_event__T_data__T_artifact_not_in_site: return "entity_event__T_data__T_artifact_not_in_site"; + case DF_Type::entity_event__T_data__T_artifact_not_in_subregion: return "entity_event__T_data__T_artifact_not_in_subregion"; + case DF_Type::entity_event__T_data__T_beast: return "entity_event__T_data__T_beast"; + case DF_Type::entity_event__T_data__T_cease_tribute_offer: return "entity_event__T_data__T_cease_tribute_offer"; + case DF_Type::entity_event__T_data__T_claim: return "entity_event__T_data__T_claim"; + case DF_Type::entity_event__T_data__T_flee: return "entity_event__T_data__T_flee"; + case DF_Type::entity_event__T_data__T_founded: return "entity_event__T_data__T_founded"; + case DF_Type::entity_event__T_data__T_founding: return "entity_event__T_data__T_founding"; + case DF_Type::entity_event__T_data__T_group: return "entity_event__T_data__T_group"; + case DF_Type::entity_event__T_data__T_harass: return "entity_event__T_data__T_harass"; + case DF_Type::entity_event__T_data__T_incident: return "entity_event__T_data__T_incident"; + case DF_Type::entity_event__T_data__T_insurrection: return "entity_event__T_data__T_insurrection"; + case DF_Type::entity_event__T_data__T_insurrection_end: return "entity_event__T_data__T_insurrection_end"; + case DF_Type::entity_event__T_data__T_insurrection_end__T_result: return "entity_event__T_data__T_insurrection_end__T_result"; + case DF_Type::entity_event__T_data__T_invasion: return "entity_event__T_data__T_invasion"; + case DF_Type::entity_event__T_data__T_leave: return "entity_event__T_data__T_leave"; + case DF_Type::entity_event__T_data__T_occupation: return "entity_event__T_data__T_occupation"; + case DF_Type::entity_event__T_data__T_reclaimed: return "entity_event__T_data__T_reclaimed"; + case DF_Type::entity_event__T_data__T_reclaiming: return "entity_event__T_data__T_reclaiming"; + case DF_Type::entity_event__T_data__T_refuse_peace_offer: return "entity_event__T_data__T_refuse_peace_offer"; + case DF_Type::entity_event__T_data__T_refuse_tribute_demand: return "entity_event__T_data__T_refuse_tribute_demand"; + case DF_Type::entity_event__T_data__T_refuse_tribute_offer: return "entity_event__T_data__T_refuse_tribute_offer"; + case DF_Type::entity_event__T_data__T_succession: return "entity_event__T_data__T_succession"; + case DF_Type::entity_event_type: return "entity_event_type"; + case DF_Type::entity_material_category: return "entity_material_category"; + case DF_Type::entity_name_type: return "entity_name_type"; + case DF_Type::entity_occasion: return "entity_occasion"; + case DF_Type::entity_occasion_info: return "entity_occasion_info"; + case DF_Type::entity_occasion_schedule: return "entity_occasion_schedule"; + case DF_Type::entity_occasion_schedule_feature: return "entity_occasion_schedule_feature"; + case DF_Type::entity_population: return "entity_population"; + case DF_Type::entity_population_unk4: return "entity_population_unk4"; + case DF_Type::entity_population_unk4__T_anon_1: return "entity_population_unk4__T_anon_1"; + case DF_Type::entity_population_unk4__T_anon_3: return "entity_population_unk4__T_anon_3"; + case DF_Type::entity_position: return "entity_position"; + case DF_Type::entity_position_assignment: return "entity_position_assignment"; + case DF_Type::entity_position_flags: return "entity_position_flags"; + case DF_Type::entity_position_raw: return "entity_position_raw"; + case DF_Type::entity_position_raw_flags: return "entity_position_raw_flags"; + case DF_Type::entity_position_responsibility: return "entity_position_responsibility"; + case DF_Type::entity_raw: return "entity_raw"; + case DF_Type::entity_raw__T_equipment: return "entity_raw__T_equipment"; + case DF_Type::entity_raw__T_jobs: return "entity_raw__T_jobs"; + case DF_Type::entity_raw__T_land_holder_trigger: return "entity_raw__T_land_holder_trigger"; + case DF_Type::entity_raw__T_progress_trigger: return "entity_raw__T_progress_trigger"; + case DF_Type::entity_raw__T_scholar: return "entity_raw__T_scholar"; + case DF_Type::entity_raw__T_symbols: return "entity_raw__T_symbols"; + case DF_Type::entity_raw__T_tissue_styles: return "entity_raw__T_tissue_styles"; + case DF_Type::entity_raw__T_workshops: return "entity_raw__T_workshops"; + case DF_Type::entity_raw_flags: return "entity_raw_flags"; + case DF_Type::entity_recipe: return "entity_recipe"; + case DF_Type::entity_sell_category: return "entity_sell_category"; + case DF_Type::entity_sell_prices: return "entity_sell_prices"; + case DF_Type::entity_sell_requests: return "entity_sell_requests"; + case DF_Type::entity_site_link: return "entity_site_link"; + case DF_Type::entity_site_link__T_anon_8: return "entity_site_link__T_anon_8"; + case DF_Type::entity_site_link__T_flags: return "entity_site_link__T_flags"; + case DF_Type::entity_tissue_style: return "entity_tissue_style"; + case DF_Type::entity_uniform: return "entity_uniform"; + case DF_Type::entity_uniform_item: return "entity_uniform_item"; + case DF_Type::environment_type: return "environment_type"; + case DF_Type::era_type: return "era_type"; + case DF_Type::ethic_response: return "ethic_response"; + case DF_Type::ethic_type: return "ethic_type"; + case DF_Type::feature: return "feature"; + case DF_Type::feature_alteration: return "feature_alteration"; + case DF_Type::feature_alteration_new_lava_fill_zst: return "feature_alteration_new_lava_fill_zst"; + case DF_Type::feature_alteration_new_pop_maxst: return "feature_alteration_new_pop_maxst"; + case DF_Type::feature_alteration_type: return "feature_alteration_type"; + case DF_Type::feature_cavest: return "feature_cavest"; + case DF_Type::feature_deep_special_tubest: return "feature_deep_special_tubest"; + case DF_Type::feature_deep_surface_portalst: return "feature_deep_surface_portalst"; + case DF_Type::feature_init: return "feature_init"; + case DF_Type::feature_init_cavest: return "feature_init_cavest"; + case DF_Type::feature_init_deep_special_tubest: return "feature_init_deep_special_tubest"; + case DF_Type::feature_init_deep_surface_portalst: return "feature_init_deep_surface_portalst"; + case DF_Type::feature_init_flags: return "feature_init_flags"; + case DF_Type::feature_init_magma_core_from_layerst: return "feature_init_magma_core_from_layerst"; + case DF_Type::feature_init_magma_poolst: return "feature_init_magma_poolst"; + case DF_Type::feature_init_outdoor_riverst: return "feature_init_outdoor_riverst"; + case DF_Type::feature_init_pitst: return "feature_init_pitst"; + case DF_Type::feature_init_subterranean_from_layerst: return "feature_init_subterranean_from_layerst"; + case DF_Type::feature_init_underworld_from_layerst: return "feature_init_underworld_from_layerst"; + case DF_Type::feature_init_volcanost: return "feature_init_volcanost"; + case DF_Type::feature_magma_core_from_layerst: return "feature_magma_core_from_layerst"; + case DF_Type::feature_magma_poolst: return "feature_magma_poolst"; + case DF_Type::feature_outdoor_riverst: return "feature_outdoor_riverst"; + case DF_Type::feature_pitst: return "feature_pitst"; + case DF_Type::feature_subterranean_from_layerst: return "feature_subterranean_from_layerst"; + case DF_Type::feature_type: return "feature_type"; + case DF_Type::feature_underworld_from_layerst: return "feature_underworld_from_layerst"; + case DF_Type::feature_volcanost: return "feature_volcanost"; + case DF_Type::file_compressorst: return "file_compressorst"; + case DF_Type::fire: return "fire"; + case DF_Type::flow_guide: return "flow_guide"; + case DF_Type::flow_guide_item_cloudst: return "flow_guide_item_cloudst"; + case DF_Type::flow_guide_trailing_flowst: return "flow_guide_trailing_flowst"; + case DF_Type::flow_guide_type: return "flow_guide_type"; + case DF_Type::flow_info: return "flow_info"; + case DF_Type::flow_reuse_pool: return "flow_reuse_pool"; + case DF_Type::flow_reuse_pool__T_flags: return "flow_reuse_pool__T_flags"; + case DF_Type::flow_type: return "flow_type"; + case DF_Type::fog_type: return "fog_type"; + case DF_Type::front_type: return "front_type"; + case DF_Type::furnace_type: return "furnace_type"; + case DF_Type::furniture_type: return "furniture_type"; + case DF_Type::gait_info: return "gait_info"; + case DF_Type::gait_info__T_flags: return "gait_info__T_flags"; + case DF_Type::gait_type: return "gait_type"; + case DF_Type::game_mode: return "game_mode"; + case DF_Type::game_type: return "game_type"; + case DF_Type::gate_flags: return "gate_flags"; + case DF_Type::general_ref: return "general_ref"; + case DF_Type::general_ref_abstract_buildingst: return "general_ref_abstract_buildingst"; + case DF_Type::general_ref_activity_eventst: return "general_ref_activity_eventst"; + case DF_Type::general_ref_artifact: return "general_ref_artifact"; + case DF_Type::general_ref_building: return "general_ref_building"; + case DF_Type::general_ref_building_cagedst: return "general_ref_building_cagedst"; + case DF_Type::general_ref_building_chainst: return "general_ref_building_chainst"; + case DF_Type::general_ref_building_civzone_assignedst: return "general_ref_building_civzone_assignedst"; + case DF_Type::general_ref_building_destinationst: return "general_ref_building_destinationst"; + case DF_Type::general_ref_building_display_furniturest: return "general_ref_building_display_furniturest"; + case DF_Type::general_ref_building_holderst: return "general_ref_building_holderst"; + case DF_Type::general_ref_building_nest_boxst: return "general_ref_building_nest_boxst"; + case DF_Type::general_ref_building_triggerst: return "general_ref_building_triggerst"; + case DF_Type::general_ref_building_triggertargetst: return "general_ref_building_triggertargetst"; + case DF_Type::general_ref_building_use_target_1st: return "general_ref_building_use_target_1st"; + case DF_Type::general_ref_building_use_target_2st: return "general_ref_building_use_target_2st"; + case DF_Type::general_ref_building_well_tag: return "general_ref_building_well_tag"; + case DF_Type::general_ref_coinbatch: return "general_ref_coinbatch"; + case DF_Type::general_ref_contained_in_itemst: return "general_ref_contained_in_itemst"; + case DF_Type::general_ref_contains_itemst: return "general_ref_contains_itemst"; + case DF_Type::general_ref_contains_unitst: return "general_ref_contains_unitst"; + case DF_Type::general_ref_creaturest: return "general_ref_creaturest"; + case DF_Type::general_ref_creaturest__T_flags: return "general_ref_creaturest__T_flags"; + case DF_Type::general_ref_dance_formst: return "general_ref_dance_formst"; + case DF_Type::general_ref_entity: return "general_ref_entity"; + case DF_Type::general_ref_entity_art_image: return "general_ref_entity_art_image"; + case DF_Type::general_ref_entity_itemownerst: return "general_ref_entity_itemownerst"; + case DF_Type::general_ref_entity_offeredst: return "general_ref_entity_offeredst"; + case DF_Type::general_ref_entity_popst: return "general_ref_entity_popst"; + case DF_Type::general_ref_entity_popst__T_flags: return "general_ref_entity_popst__T_flags"; + case DF_Type::general_ref_entity_stolenst: return "general_ref_entity_stolenst"; + case DF_Type::general_ref_feature_layerst: return "general_ref_feature_layerst"; + case DF_Type::general_ref_historical_eventst: return "general_ref_historical_eventst"; + case DF_Type::general_ref_historical_figurest: return "general_ref_historical_figurest"; + case DF_Type::general_ref_interactionst: return "general_ref_interactionst"; + case DF_Type::general_ref_is_artifactst: return "general_ref_is_artifactst"; + case DF_Type::general_ref_is_nemesisst: return "general_ref_is_nemesisst"; + case DF_Type::general_ref_item: return "general_ref_item"; + case DF_Type::general_ref_item_type: return "general_ref_item_type"; + case DF_Type::general_ref_knowledge_scholar_flagst: return "general_ref_knowledge_scholar_flagst"; + case DF_Type::general_ref_languagest: return "general_ref_languagest"; + case DF_Type::general_ref_locationst: return "general_ref_locationst"; + case DF_Type::general_ref_mapsquare: return "general_ref_mapsquare"; + case DF_Type::general_ref_musical_formst: return "general_ref_musical_formst"; + case DF_Type::general_ref_nemesis: return "general_ref_nemesis"; + case DF_Type::general_ref_poetic_formst: return "general_ref_poetic_formst"; + case DF_Type::general_ref_projectile: return "general_ref_projectile"; + case DF_Type::general_ref_sitest: return "general_ref_sitest"; + case DF_Type::general_ref_spherest: return "general_ref_spherest"; + case DF_Type::general_ref_subregionst: return "general_ref_subregionst"; + case DF_Type::general_ref_type: return "general_ref_type"; + case DF_Type::general_ref_unit: return "general_ref_unit"; + case DF_Type::general_ref_unit_beateest: return "general_ref_unit_beateest"; + case DF_Type::general_ref_unit_cageest: return "general_ref_unit_cageest"; + case DF_Type::general_ref_unit_climberst: return "general_ref_unit_climberst"; + case DF_Type::general_ref_unit_foodreceiverst: return "general_ref_unit_foodreceiverst"; + case DF_Type::general_ref_unit_geldeest: return "general_ref_unit_geldeest"; + case DF_Type::general_ref_unit_holderst: return "general_ref_unit_holderst"; + case DF_Type::general_ref_unit_infantst: return "general_ref_unit_infantst"; + case DF_Type::general_ref_unit_itemownerst: return "general_ref_unit_itemownerst"; + case DF_Type::general_ref_unit_itemownerst__T_flags: return "general_ref_unit_itemownerst__T_flags"; + case DF_Type::general_ref_unit_kidnapeest: return "general_ref_unit_kidnapeest"; + case DF_Type::general_ref_unit_milkeest: return "general_ref_unit_milkeest"; + case DF_Type::general_ref_unit_patientst: return "general_ref_unit_patientst"; + case DF_Type::general_ref_unit_reporteest: return "general_ref_unit_reporteest"; + case DF_Type::general_ref_unit_riderst: return "general_ref_unit_riderst"; + case DF_Type::general_ref_unit_sheareest: return "general_ref_unit_sheareest"; + case DF_Type::general_ref_unit_slaughtereest: return "general_ref_unit_slaughtereest"; + case DF_Type::general_ref_unit_suckeest: return "general_ref_unit_suckeest"; + case DF_Type::general_ref_unit_tradebringerst: return "general_ref_unit_tradebringerst"; + case DF_Type::general_ref_unit_traineest: return "general_ref_unit_traineest"; + case DF_Type::general_ref_unit_workerst: return "general_ref_unit_workerst"; + case DF_Type::general_ref_value_levelst: return "general_ref_value_levelst"; + case DF_Type::general_ref_written_contentst: return "general_ref_written_contentst"; + case DF_Type::geo_layer_type: return "geo_layer_type"; + case DF_Type::ghost_goal: return "ghost_goal"; + case DF_Type::ghost_type: return "ghost_type"; + case DF_Type::gloves_flags: return "gloves_flags"; + case DF_Type::glowing_barrier: return "glowing_barrier"; + case DF_Type::goal_type: return "goal_type"; + case DF_Type::graphic: return "graphic"; + case DF_Type::guild_id: return "guild_id"; + case DF_Type::hauler_type: return "hauler_type"; + case DF_Type::hauling_route: return "hauling_route"; + case DF_Type::hauling_stop: return "hauling_stop"; + case DF_Type::health_view_bits1: return "health_view_bits1"; + case DF_Type::health_view_bits2: return "health_view_bits2"; + case DF_Type::health_view_bits3: return "health_view_bits3"; + case DF_Type::helm_flags: return "helm_flags"; + case DF_Type::hillock_house_type: return "hillock_house_type"; + case DF_Type::histfig_body_state: return "histfig_body_state"; + case DF_Type::histfig_entity_link: return "histfig_entity_link"; + case DF_Type::histfig_entity_link_criminalst: return "histfig_entity_link_criminalst"; + case DF_Type::histfig_entity_link_enemyst: return "histfig_entity_link_enemyst"; + case DF_Type::histfig_entity_link_former_memberst: return "histfig_entity_link_former_memberst"; + case DF_Type::histfig_entity_link_former_mercenaryst: return "histfig_entity_link_former_mercenaryst"; + case DF_Type::histfig_entity_link_former_occupationst: return "histfig_entity_link_former_occupationst"; + case DF_Type::histfig_entity_link_former_positionst: return "histfig_entity_link_former_positionst"; + case DF_Type::histfig_entity_link_former_prisonerst: return "histfig_entity_link_former_prisonerst"; + case DF_Type::histfig_entity_link_former_slavest: return "histfig_entity_link_former_slavest"; + case DF_Type::histfig_entity_link_former_squadst: return "histfig_entity_link_former_squadst"; + case DF_Type::histfig_entity_link_memberst: return "histfig_entity_link_memberst"; + case DF_Type::histfig_entity_link_mercenaryst: return "histfig_entity_link_mercenaryst"; + case DF_Type::histfig_entity_link_occupationst: return "histfig_entity_link_occupationst"; + case DF_Type::histfig_entity_link_position_claimst: return "histfig_entity_link_position_claimst"; + case DF_Type::histfig_entity_link_positionst: return "histfig_entity_link_positionst"; + case DF_Type::histfig_entity_link_prisonerst: return "histfig_entity_link_prisonerst"; + case DF_Type::histfig_entity_link_slavest: return "histfig_entity_link_slavest"; + case DF_Type::histfig_entity_link_squadst: return "histfig_entity_link_squadst"; + case DF_Type::histfig_entity_link_type: return "histfig_entity_link_type"; + case DF_Type::histfig_flags: return "histfig_flags"; + case DF_Type::histfig_hf_link: return "histfig_hf_link"; + case DF_Type::histfig_hf_link_apprenticest: return "histfig_hf_link_apprenticest"; + case DF_Type::histfig_hf_link_childst: return "histfig_hf_link_childst"; + case DF_Type::histfig_hf_link_companionst: return "histfig_hf_link_companionst"; + case DF_Type::histfig_hf_link_deityst: return "histfig_hf_link_deityst"; + case DF_Type::histfig_hf_link_fatherst: return "histfig_hf_link_fatherst"; + case DF_Type::histfig_hf_link_former_apprenticest: return "histfig_hf_link_former_apprenticest"; + case DF_Type::histfig_hf_link_former_masterst: return "histfig_hf_link_former_masterst"; + case DF_Type::histfig_hf_link_imprisonerst: return "histfig_hf_link_imprisonerst"; + case DF_Type::histfig_hf_link_loverst: return "histfig_hf_link_loverst"; + case DF_Type::histfig_hf_link_masterst: return "histfig_hf_link_masterst"; + case DF_Type::histfig_hf_link_motherst: return "histfig_hf_link_motherst"; + case DF_Type::histfig_hf_link_pet_ownerst: return "histfig_hf_link_pet_ownerst"; + case DF_Type::histfig_hf_link_prisonerst: return "histfig_hf_link_prisonerst"; + case DF_Type::histfig_hf_link_spousest: return "histfig_hf_link_spousest"; + case DF_Type::histfig_hf_link_type: return "histfig_hf_link_type"; + case DF_Type::histfig_relationship_type: return "histfig_relationship_type"; + case DF_Type::histfig_site_link: return "histfig_site_link"; + case DF_Type::histfig_site_link_hangoutst: return "histfig_site_link_hangoutst"; + case DF_Type::histfig_site_link_home_site_abstract_buildingst: return "histfig_site_link_home_site_abstract_buildingst"; + case DF_Type::histfig_site_link_home_site_realization_buildingst: return "histfig_site_link_home_site_realization_buildingst"; + case DF_Type::histfig_site_link_home_site_realization_sulst: return "histfig_site_link_home_site_realization_sulst"; + case DF_Type::histfig_site_link_home_site_saved_civzonest: return "histfig_site_link_home_site_saved_civzonest"; + case DF_Type::histfig_site_link_lairst: return "histfig_site_link_lairst"; + case DF_Type::histfig_site_link_occupationst: return "histfig_site_link_occupationst"; + case DF_Type::histfig_site_link_seat_of_powerst: return "histfig_site_link_seat_of_powerst"; + case DF_Type::histfig_site_link_type: return "histfig_site_link_type"; + case DF_Type::historical_entity: return "historical_entity"; + case DF_Type::historical_entity__T_claims: return "historical_entity__T_claims"; + case DF_Type::historical_entity__T_derived_resources: return "historical_entity__T_derived_resources"; + case DF_Type::historical_entity__T_flags: return "historical_entity__T_flags"; + case DF_Type::historical_entity__T_positions: return "historical_entity__T_positions"; + case DF_Type::historical_entity__T_resources: return "historical_entity__T_resources"; + case DF_Type::historical_entity__T_resources__T_animals: return "historical_entity__T_resources__T_animals"; + case DF_Type::historical_entity__T_resources__T_metal: return "historical_entity__T_resources__T_metal"; + case DF_Type::historical_entity__T_resources__T_misc_mat: return "historical_entity__T_resources__T_misc_mat"; + case DF_Type::historical_entity__T_resources__T_organic: return "historical_entity__T_resources__T_organic"; + case DF_Type::historical_entity__T_resources__T_refuse: return "historical_entity__T_resources__T_refuse"; + case DF_Type::historical_entity__T_resources__T_unk13: return "historical_entity__T_resources__T_unk13"; + case DF_Type::historical_entity__T_resources__T_wood_products: return "historical_entity__T_resources__T_wood_products"; + case DF_Type::historical_entity__T_tissue_styles: return "historical_entity__T_tissue_styles"; + case DF_Type::historical_entity__T_training_knowledge: return "historical_entity__T_training_knowledge"; + case DF_Type::historical_entity__T_unknown1b: return "historical_entity__T_unknown1b"; + case DF_Type::historical_entity__T_unknown1b__T_diplomacy: return "historical_entity__T_unknown1b__T_diplomacy"; + case DF_Type::historical_entity__T_unknown1b__T_unk32e: return "historical_entity__T_unknown1b__T_unk32e"; + case DF_Type::historical_entity__T_unknown1d: return "historical_entity__T_unknown1d"; + case DF_Type::historical_entity__T_unknown1e: return "historical_entity__T_unknown1e"; + case DF_Type::historical_entity__T_unknown2: return "historical_entity__T_unknown2"; + case DF_Type::historical_entity_type: return "historical_entity_type"; + case DF_Type::historical_figure: return "historical_figure"; + case DF_Type::historical_figure__T_unk_fc: return "historical_figure__T_unk_fc"; + case DF_Type::historical_figure_info: return "historical_figure_info"; + case DF_Type::historical_figure_info__T_books: return "historical_figure_info__T_books"; + case DF_Type::historical_figure_info__T_curse: return "historical_figure_info__T_curse"; + case DF_Type::historical_figure_info__T_masterpieces: return "historical_figure_info__T_masterpieces"; + case DF_Type::historical_figure_info__T_personality: return "historical_figure_info__T_personality"; + case DF_Type::historical_figure_info__T_relationships: return "historical_figure_info__T_relationships"; + case DF_Type::historical_figure_info__T_relationships__T_anon_1: return "historical_figure_info__T_relationships__T_anon_1"; + case DF_Type::historical_figure_info__T_relationships__T_anon_2: return "historical_figure_info__T_relationships__T_anon_2"; + case DF_Type::historical_figure_info__T_relationships__T_anon_3: return "historical_figure_info__T_relationships__T_anon_3"; + case DF_Type::historical_figure_info__T_relationships__T_list: return "historical_figure_info__T_relationships__T_list"; + case DF_Type::historical_figure_info__T_reputation: return "historical_figure_info__T_reputation"; + case DF_Type::historical_figure_info__T_reputation__T_anon_1: return "historical_figure_info__T_reputation__T_anon_1"; + case DF_Type::historical_figure_info__T_reputation__T_unk_2c: return "historical_figure_info__T_reputation__T_unk_2c"; + case DF_Type::historical_figure_info__T_reputation__T_unk_2c__T_anon_12: return "historical_figure_info__T_reputation__T_unk_2c__T_anon_12"; + case DF_Type::historical_figure_info__T_reputation__T_wanted: return "historical_figure_info__T_reputation__T_wanted"; + case DF_Type::historical_figure_info__T_secret: return "historical_figure_info__T_secret"; + case DF_Type::historical_figure_info__T_secret__T_anon_1: return "historical_figure_info__T_secret__T_anon_1"; + case DF_Type::historical_figure_info__T_secret__T_anon_7: return "historical_figure_info__T_secret__T_anon_7"; + case DF_Type::historical_figure_info__T_secret__T_knowledge: return "historical_figure_info__T_secret__T_knowledge"; + case DF_Type::historical_figure_info__T_secret__T_knowledge__T_knowledge_goal: return "historical_figure_info__T_secret__T_knowledge__T_knowledge_goal"; + case DF_Type::historical_figure_info__T_secret__T_unk_a8: return "historical_figure_info__T_secret__T_unk_a8"; + case DF_Type::historical_figure_info__T_skills: return "historical_figure_info__T_skills"; + case DF_Type::historical_figure_info__T_unk_14: return "historical_figure_info__T_unk_14"; + case DF_Type::historical_figure_info__T_wounds: return "historical_figure_info__T_wounds"; + case DF_Type::historical_kills: return "historical_kills"; + case DF_Type::historical_kills__T_killed_undead: return "historical_kills__T_killed_undead"; + case DF_Type::history_era: return "history_era"; + case DF_Type::history_era__T_details: return "history_era__T_details"; + case DF_Type::history_era__T_title: return "history_era__T_title"; + case DF_Type::history_event: return "history_event"; + case DF_Type::history_event_add_hf_entity_linkst: return "history_event_add_hf_entity_linkst"; + case DF_Type::history_event_add_hf_hf_linkst: return "history_event_add_hf_hf_linkst"; + case DF_Type::history_event_add_hf_site_linkst: return "history_event_add_hf_site_linkst"; + case DF_Type::history_event_agreement_concludedst: return "history_event_agreement_concludedst"; + case DF_Type::history_event_agreement_formedst: return "history_event_agreement_formedst"; + case DF_Type::history_event_agreements_voidedst: return "history_event_agreements_voidedst"; + case DF_Type::history_event_artifact_claim_formedst: return "history_event_artifact_claim_formedst"; + case DF_Type::history_event_artifact_claim_formedst__T_claim_type: return "history_event_artifact_claim_formedst__T_claim_type"; + case DF_Type::history_event_artifact_copiedst: return "history_event_artifact_copiedst"; + case DF_Type::history_event_artifact_copiedst__T_flags2: return "history_event_artifact_copiedst__T_flags2"; + case DF_Type::history_event_artifact_createdst: return "history_event_artifact_createdst"; + case DF_Type::history_event_artifact_destroyedst: return "history_event_artifact_destroyedst"; + case DF_Type::history_event_artifact_droppedst: return "history_event_artifact_droppedst"; + case DF_Type::history_event_artifact_foundst: return "history_event_artifact_foundst"; + case DF_Type::history_event_artifact_givenst: return "history_event_artifact_givenst"; + case DF_Type::history_event_artifact_hiddenst: return "history_event_artifact_hiddenst"; + case DF_Type::history_event_artifact_lostst: return "history_event_artifact_lostst"; + case DF_Type::history_event_artifact_possessedst: return "history_event_artifact_possessedst"; + case DF_Type::history_event_artifact_recoveredst: return "history_event_artifact_recoveredst"; + case DF_Type::history_event_artifact_storedst: return "history_event_artifact_storedst"; + case DF_Type::history_event_artifact_transformedst: return "history_event_artifact_transformedst"; + case DF_Type::history_event_assume_identityst: return "history_event_assume_identityst"; + case DF_Type::history_event_body_abusedst: return "history_event_body_abusedst"; + case DF_Type::history_event_body_abusedst__T_abuse_type: return "history_event_body_abusedst__T_abuse_type"; + case DF_Type::history_event_body_abusedst__T_props: return "history_event_body_abusedst__T_props"; + case DF_Type::history_event_body_abusedst__T_props__T_hung: return "history_event_body_abusedst__T_props__T_hung"; + case DF_Type::history_event_body_abusedst__T_props__T_item: return "history_event_body_abusedst__T_props__T_item"; + case DF_Type::history_event_body_abusedst__T_props__T_pile_type: return "history_event_body_abusedst__T_props__T_pile_type"; + case DF_Type::history_event_ceremonyst: return "history_event_ceremonyst"; + case DF_Type::history_event_change_creature_typest: return "history_event_change_creature_typest"; + case DF_Type::history_event_change_hf_body_statest: return "history_event_change_hf_body_statest"; + case DF_Type::history_event_change_hf_jobst: return "history_event_change_hf_jobst"; + case DF_Type::history_event_change_hf_moodst: return "history_event_change_hf_moodst"; + case DF_Type::history_event_change_hf_statest: return "history_event_change_hf_statest"; + case DF_Type::history_event_change_hf_statest__T_state: return "history_event_change_hf_statest__T_state"; + case DF_Type::history_event_collection: return "history_event_collection"; + case DF_Type::history_event_collection_abductionst: return "history_event_collection_abductionst"; + case DF_Type::history_event_collection_battlest: return "history_event_collection_battlest"; + case DF_Type::history_event_collection_beast_attackst: return "history_event_collection_beast_attackst"; + case DF_Type::history_event_collection_ceremonyst: return "history_event_collection_ceremonyst"; + case DF_Type::history_event_collection_competitionst: return "history_event_collection_competitionst"; + case DF_Type::history_event_collection_duelst: return "history_event_collection_duelst"; + case DF_Type::history_event_collection_insurrectionst: return "history_event_collection_insurrectionst"; + case DF_Type::history_event_collection_journeyst: return "history_event_collection_journeyst"; + case DF_Type::history_event_collection_occasionst: return "history_event_collection_occasionst"; + case DF_Type::history_event_collection_performancest: return "history_event_collection_performancest"; + case DF_Type::history_event_collection_processionst: return "history_event_collection_processionst"; + case DF_Type::history_event_collection_purgest: return "history_event_collection_purgest"; + case DF_Type::history_event_collection_raidst: return "history_event_collection_raidst"; + case DF_Type::history_event_collection_site_conqueredst: return "history_event_collection_site_conqueredst"; + case DF_Type::history_event_collection_theftst: return "history_event_collection_theftst"; + case DF_Type::history_event_collection_type: return "history_event_collection_type"; + case DF_Type::history_event_collection_warst: return "history_event_collection_warst"; + case DF_Type::history_event_collection_warst__T_unk: return "history_event_collection_warst__T_unk"; + case DF_Type::history_event_competitionst: return "history_event_competitionst"; + case DF_Type::history_event_context: return "history_event_context"; + case DF_Type::history_event_create_entity_positionst: return "history_event_create_entity_positionst"; + case DF_Type::history_event_created_buildingst: return "history_event_created_buildingst"; + case DF_Type::history_event_created_sitest: return "history_event_created_sitest"; + case DF_Type::history_event_created_world_constructionst: return "history_event_created_world_constructionst"; + case DF_Type::history_event_creature_devouredst: return "history_event_creature_devouredst"; + case DF_Type::history_event_dance_form_createdst: return "history_event_dance_form_createdst"; + case DF_Type::history_event_diplomat_lostst: return "history_event_diplomat_lostst"; + case DF_Type::history_event_entity_actionst: return "history_event_entity_actionst"; + case DF_Type::history_event_entity_createdst: return "history_event_entity_createdst"; + case DF_Type::history_event_entity_expels_hfst: return "history_event_entity_expels_hfst"; + case DF_Type::history_event_entity_fled_sitest: return "history_event_entity_fled_sitest"; + case DF_Type::history_event_entity_incorporatedst: return "history_event_entity_incorporatedst"; + case DF_Type::history_event_entity_lawst: return "history_event_entity_lawst"; + case DF_Type::history_event_entity_rampaged_in_sitest: return "history_event_entity_rampaged_in_sitest"; + case DF_Type::history_event_entity_razed_buildingst: return "history_event_entity_razed_buildingst"; + case DF_Type::history_event_entity_searched_sitest: return "history_event_entity_searched_sitest"; + case DF_Type::history_event_first_contact_failedst: return "history_event_first_contact_failedst"; + case DF_Type::history_event_first_contactst: return "history_event_first_contactst"; + case DF_Type::history_event_hf_act_on_artifactst: return "history_event_hf_act_on_artifactst"; + case DF_Type::history_event_hf_act_on_artifactst__T_action: return "history_event_hf_act_on_artifactst__T_action"; + case DF_Type::history_event_hf_act_on_buildingst: return "history_event_hf_act_on_buildingst"; + case DF_Type::history_event_hf_act_on_buildingst__T_action: return "history_event_hf_act_on_buildingst__T_action"; + case DF_Type::history_event_hf_attacked_sitest: return "history_event_hf_attacked_sitest"; + case DF_Type::history_event_hf_confrontedst: return "history_event_hf_confrontedst"; + case DF_Type::history_event_hf_destroyed_sitest: return "history_event_hf_destroyed_sitest"; + case DF_Type::history_event_hf_does_interactionst: return "history_event_hf_does_interactionst"; + case DF_Type::history_event_hf_freedst: return "history_event_hf_freedst"; + case DF_Type::history_event_hf_gains_secret_goalst: return "history_event_hf_gains_secret_goalst"; + case DF_Type::history_event_hf_learns_secretst: return "history_event_hf_learns_secretst"; + case DF_Type::history_event_hf_razed_buildingst: return "history_event_hf_razed_buildingst"; + case DF_Type::history_event_hf_recruited_unit_type_for_entityst: return "history_event_hf_recruited_unit_type_for_entityst"; + case DF_Type::history_event_hf_relationship_deniedst: return "history_event_hf_relationship_deniedst"; + case DF_Type::history_event_hfs_formed_reputation_relationshipst: return "history_event_hfs_formed_reputation_relationshipst"; + case DF_Type::history_event_hist_figure_abductedst: return "history_event_hist_figure_abductedst"; + case DF_Type::history_event_hist_figure_diedst: return "history_event_hist_figure_diedst"; + case DF_Type::history_event_hist_figure_new_petst: return "history_event_hist_figure_new_petst"; + case DF_Type::history_event_hist_figure_reach_summitst: return "history_event_hist_figure_reach_summitst"; + case DF_Type::history_event_hist_figure_reunionst: return "history_event_hist_figure_reunionst"; + case DF_Type::history_event_hist_figure_revivedst: return "history_event_hist_figure_revivedst"; + case DF_Type::history_event_hist_figure_simple_actionst: return "history_event_hist_figure_simple_actionst"; + case DF_Type::history_event_hist_figure_simple_battle_eventst: return "history_event_hist_figure_simple_battle_eventst"; + case DF_Type::history_event_hist_figure_travelst: return "history_event_hist_figure_travelst"; + case DF_Type::history_event_hist_figure_travelst__T_reason: return "history_event_hist_figure_travelst__T_reason"; + case DF_Type::history_event_hist_figure_woundedst: return "history_event_hist_figure_woundedst"; + case DF_Type::history_event_hist_figure_woundedst__T_injury_type: return "history_event_hist_figure_woundedst__T_injury_type"; + case DF_Type::history_event_insurrection_endedst: return "history_event_insurrection_endedst"; + case DF_Type::history_event_insurrection_startedst: return "history_event_insurrection_startedst"; + case DF_Type::history_event_item_stolenst: return "history_event_item_stolenst"; + case DF_Type::history_event_knowledge_discoveredst: return "history_event_knowledge_discoveredst"; + case DF_Type::history_event_masterpiece_created_arch_constructst: return "history_event_masterpiece_created_arch_constructst"; + case DF_Type::history_event_masterpiece_created_arch_designst: return "history_event_masterpiece_created_arch_designst"; + case DF_Type::history_event_masterpiece_created_dye_itemst: return "history_event_masterpiece_created_dye_itemst"; + case DF_Type::history_event_masterpiece_created_engravingst: return "history_event_masterpiece_created_engravingst"; + case DF_Type::history_event_masterpiece_created_foodst: return "history_event_masterpiece_created_foodst"; + case DF_Type::history_event_masterpiece_created_item_improvementst: return "history_event_masterpiece_created_item_improvementst"; + case DF_Type::history_event_masterpiece_created_itemst: return "history_event_masterpiece_created_itemst"; + case DF_Type::history_event_masterpiece_createdst: return "history_event_masterpiece_createdst"; + case DF_Type::history_event_masterpiece_lostst: return "history_event_masterpiece_lostst"; + case DF_Type::history_event_merchantst: return "history_event_merchantst"; + case DF_Type::history_event_musical_form_createdst: return "history_event_musical_form_createdst"; + case DF_Type::history_event_performancest: return "history_event_performancest"; + case DF_Type::history_event_poetic_form_createdst: return "history_event_poetic_form_createdst"; + case DF_Type::history_event_processionst: return "history_event_processionst"; + case DF_Type::history_event_reason: return "history_event_reason"; + case DF_Type::history_event_reclaim_sitest: return "history_event_reclaim_sitest"; + case DF_Type::history_event_regionpop_incorporated_into_entityst: return "history_event_regionpop_incorporated_into_entityst"; + case DF_Type::history_event_remove_hf_entity_linkst: return "history_event_remove_hf_entity_linkst"; + case DF_Type::history_event_remove_hf_hf_linkst: return "history_event_remove_hf_hf_linkst"; + case DF_Type::history_event_remove_hf_site_linkst: return "history_event_remove_hf_site_linkst"; + case DF_Type::history_event_replaced_buildingst: return "history_event_replaced_buildingst"; + case DF_Type::history_event_simple_battle_subtype: return "history_event_simple_battle_subtype"; + case DF_Type::history_event_site_diedst: return "history_event_site_diedst"; + case DF_Type::history_event_site_disputest: return "history_event_site_disputest"; + case DF_Type::history_event_site_retiredst: return "history_event_site_retiredst"; + case DF_Type::history_event_site_surrenderedst: return "history_event_site_surrenderedst"; + case DF_Type::history_event_sneak_into_sitest: return "history_event_sneak_into_sitest"; + case DF_Type::history_event_spotted_leaving_sitest: return "history_event_spotted_leaving_sitest"; + case DF_Type::history_event_squad_vs_squadst: return "history_event_squad_vs_squadst"; + case DF_Type::history_event_tactical_situationst: return "history_event_tactical_situationst"; + case DF_Type::history_event_tactical_situationst__T_tactics_flags: return "history_event_tactical_situationst__T_tactics_flags"; + case DF_Type::history_event_topicagreement_concludedst: return "history_event_topicagreement_concludedst"; + case DF_Type::history_event_topicagreement_madest: return "history_event_topicagreement_madest"; + case DF_Type::history_event_topicagreement_rejectedst: return "history_event_topicagreement_rejectedst"; + case DF_Type::history_event_type: return "history_event_type"; + case DF_Type::history_event_war_attacked_sitest: return "history_event_war_attacked_sitest"; + case DF_Type::history_event_war_destroyed_sitest: return "history_event_war_destroyed_sitest"; + case DF_Type::history_event_war_field_battlest: return "history_event_war_field_battlest"; + case DF_Type::history_event_war_peace_acceptedst: return "history_event_war_peace_acceptedst"; + case DF_Type::history_event_war_peace_rejectedst: return "history_event_war_peace_rejectedst"; + case DF_Type::history_event_war_plundered_sitest: return "history_event_war_plundered_sitest"; + case DF_Type::history_event_war_site_new_leaderst: return "history_event_war_site_new_leaderst"; + case DF_Type::history_event_war_site_taken_overst: return "history_event_war_site_taken_overst"; + case DF_Type::history_event_war_site_tribute_forcedst: return "history_event_war_site_tribute_forcedst"; + case DF_Type::history_event_war_site_tribute_forcedst__T_tribute_flags: return "history_event_war_site_tribute_forcedst__T_tribute_flags"; + case DF_Type::history_event_written_content_composedst: return "history_event_written_content_composedst"; + case DF_Type::history_hit_item: return "history_hit_item"; + case DF_Type::hive_flags: return "hive_flags"; + case DF_Type::hospital_supplies: return "hospital_supplies"; + case DF_Type::hospital_supplies__T_supplies_needed: return "hospital_supplies__T_supplies_needed"; + case DF_Type::identity: return "identity"; + case DF_Type::identity_unk_94: return "identity_unk_94"; + case DF_Type::improvement_type: return "improvement_type"; + case DF_Type::incident: return "incident"; + case DF_Type::incident__T_flags: return "incident__T_flags"; + case DF_Type::incident__T_unk_v42_1: return "incident__T_unk_v42_1"; + case DF_Type::incident_hfid: return "incident_hfid"; + case DF_Type::incident_sub10: return "incident_sub10"; + case DF_Type::incident_sub6_performance: return "incident_sub6_performance"; + case DF_Type::incident_sub6_performance__T_participants: return "incident_sub6_performance__T_participants"; + case DF_Type::incident_sub7: return "incident_sub7"; + case DF_Type::incident_sub8: return "incident_sub8"; + case DF_Type::incident_sub9: return "incident_sub9"; + case DF_Type::inclusion_type: return "inclusion_type"; + case DF_Type::init: return "init"; + case DF_Type::init_display: return "init_display"; + case DF_Type::init_display__T_windowed: return "init_display__T_windowed"; + case DF_Type::init_display_flags: return "init_display_flags"; + case DF_Type::init_font: return "init_font"; + case DF_Type::init_font__T_use_ttf: return "init_font__T_use_ttf"; + case DF_Type::init_input: return "init_input"; + case DF_Type::init_input_flags: return "init_input_flags"; + case DF_Type::init_media: return "init_media"; + case DF_Type::init_media_flags: return "init_media_flags"; + case DF_Type::init_window: return "init_window"; + case DF_Type::init_window_flags: return "init_window_flags"; + case DF_Type::inorganic_flags: return "inorganic_flags"; + case DF_Type::inorganic_raw: return "inorganic_raw"; + case DF_Type::inorganic_raw__T_environment: return "inorganic_raw__T_environment"; + case DF_Type::inorganic_raw__T_environment_spec: return "inorganic_raw__T_environment_spec"; + case DF_Type::inorganic_raw__T_metal_ore: return "inorganic_raw__T_metal_ore"; + case DF_Type::inorganic_raw__T_thread_metal: return "inorganic_raw__T_thread_metal"; + case DF_Type::instrument_flags: return "instrument_flags"; + case DF_Type::instrument_piece: return "instrument_piece"; + case DF_Type::instrument_piece__T_flags: return "instrument_piece__T_flags"; + case DF_Type::instrument_register: return "instrument_register"; + case DF_Type::insurrection_outcome: return "insurrection_outcome"; + case DF_Type::interaction: return "interaction"; + case DF_Type::interaction_effect: return "interaction_effect"; + case DF_Type::interaction_effect__T_flags: return "interaction_effect__T_flags"; + case DF_Type::interaction_effect_add_syndromest: return "interaction_effect_add_syndromest"; + case DF_Type::interaction_effect_animatest: return "interaction_effect_animatest"; + case DF_Type::interaction_effect_cleanst: return "interaction_effect_cleanst"; + case DF_Type::interaction_effect_contactst: return "interaction_effect_contactst"; + case DF_Type::interaction_effect_hidest: return "interaction_effect_hidest"; + case DF_Type::interaction_effect_location_hint: return "interaction_effect_location_hint"; + case DF_Type::interaction_effect_material_emissionst: return "interaction_effect_material_emissionst"; + case DF_Type::interaction_effect_resurrectst: return "interaction_effect_resurrectst"; + case DF_Type::interaction_effect_type: return "interaction_effect_type"; + case DF_Type::interaction_instance: return "interaction_instance"; + case DF_Type::interaction_source: return "interaction_source"; + case DF_Type::interaction_source_attackst: return "interaction_source_attackst"; + case DF_Type::interaction_source_creature_actionst: return "interaction_source_creature_actionst"; + case DF_Type::interaction_source_deityst: return "interaction_source_deityst"; + case DF_Type::interaction_source_disturbancest: return "interaction_source_disturbancest"; + case DF_Type::interaction_source_ingestionst: return "interaction_source_ingestionst"; + case DF_Type::interaction_source_regionst: return "interaction_source_regionst"; + case DF_Type::interaction_source_regionst__T_region_flags: return "interaction_source_regionst__T_region_flags"; + case DF_Type::interaction_source_secretst: return "interaction_source_secretst"; + case DF_Type::interaction_source_secretst__T_learn_flags: return "interaction_source_secretst__T_learn_flags"; + case DF_Type::interaction_source_type: return "interaction_source_type"; + case DF_Type::interaction_source_underground_specialst: return "interaction_source_underground_specialst"; + case DF_Type::interaction_source_usage_hint: return "interaction_source_usage_hint"; + case DF_Type::interaction_target: return "interaction_target"; + case DF_Type::interaction_target_corpsest: return "interaction_target_corpsest"; + case DF_Type::interaction_target_creaturest: return "interaction_target_creaturest"; + case DF_Type::interaction_target_info: return "interaction_target_info"; + case DF_Type::interaction_target_info__T_restrictions: return "interaction_target_info__T_restrictions"; + case DF_Type::interaction_target_location_type: return "interaction_target_location_type"; + case DF_Type::interaction_target_locationst: return "interaction_target_locationst"; + case DF_Type::interaction_target_materialst: return "interaction_target_materialst"; + case DF_Type::interaction_target_materialst__T_restrictions: return "interaction_target_materialst__T_restrictions"; + case DF_Type::interaction_target_type: return "interaction_target_type"; + case DF_Type::interface_breakdown_types: return "interface_breakdown_types"; + case DF_Type::interface_button: return "interface_button"; + case DF_Type::interface_button_building_category_selectorst: return "interface_button_building_category_selectorst"; + case DF_Type::interface_button_building_custom_category_selectorst: return "interface_button_building_custom_category_selectorst"; + case DF_Type::interface_button_building_material_selectorst: return "interface_button_building_material_selectorst"; + case DF_Type::interface_button_building_new_jobst: return "interface_button_building_new_jobst"; + case DF_Type::interface_button_buildingst: return "interface_button_buildingst"; + case DF_Type::interface_button_construction_building_selectorst: return "interface_button_construction_building_selectorst"; + case DF_Type::interface_button_construction_category_selectorst: return "interface_button_construction_category_selectorst"; + case DF_Type::interface_button_construction_category_selectorst__T_category_id: return "interface_button_construction_category_selectorst__T_category_id"; + case DF_Type::interface_button_construction_donest: return "interface_button_construction_donest"; + case DF_Type::interface_button_constructionst: return "interface_button_constructionst"; + case DF_Type::interface_key: return "interface_key"; + case DF_Type::interfacest: return "interfacest"; + case DF_Type::invasion_info: return "invasion_info"; + case DF_Type::invasion_info__T_flags: return "invasion_info__T_flags"; + case DF_Type::item: return "item"; + case DF_Type::item_actual: return "item_actual"; + case DF_Type::item_ammost: return "item_ammost"; + case DF_Type::item_amuletst: return "item_amuletst"; + case DF_Type::item_animaltrapst: return "item_animaltrapst"; + case DF_Type::item_anvilst: return "item_anvilst"; + case DF_Type::item_armorst: return "item_armorst"; + case DF_Type::item_armorstandst: return "item_armorstandst"; + case DF_Type::item_backpackst: return "item_backpackst"; + case DF_Type::item_ballistaarrowheadst: return "item_ballistaarrowheadst"; + case DF_Type::item_ballistapartsst: return "item_ballistapartsst"; + case DF_Type::item_barrelst: return "item_barrelst"; + case DF_Type::item_barst: return "item_barst"; + case DF_Type::item_bedst: return "item_bedst"; + case DF_Type::item_binst: return "item_binst"; + case DF_Type::item_blocksst: return "item_blocksst"; + case DF_Type::item_body_component: return "item_body_component"; + case DF_Type::item_body_component__T_appearance: return "item_body_component__T_appearance"; + case DF_Type::item_body_component__T_body: return "item_body_component__T_body"; + case DF_Type::item_body_component__T_bone1: return "item_body_component__T_bone1"; + case DF_Type::item_body_component__T_bone2: return "item_body_component__T_bone2"; + case DF_Type::item_body_component__T_corpse_flags: return "item_body_component__T_corpse_flags"; + case DF_Type::item_bookst: return "item_bookst"; + case DF_Type::item_boulderst: return "item_boulderst"; + case DF_Type::item_boxst: return "item_boxst"; + case DF_Type::item_braceletst: return "item_braceletst"; + case DF_Type::item_branchst: return "item_branchst"; + case DF_Type::item_bucketst: return "item_bucketst"; + case DF_Type::item_cabinetst: return "item_cabinetst"; + case DF_Type::item_cagest: return "item_cagest"; + case DF_Type::item_catapultpartsst: return "item_catapultpartsst"; + case DF_Type::item_chainst: return "item_chainst"; + case DF_Type::item_chairst: return "item_chairst"; + case DF_Type::item_cheesest: return "item_cheesest"; + case DF_Type::item_clothst: return "item_clothst"; + case DF_Type::item_coffinst: return "item_coffinst"; + case DF_Type::item_coinst: return "item_coinst"; + case DF_Type::item_constructed: return "item_constructed"; + case DF_Type::item_corpsepiecest: return "item_corpsepiecest"; + case DF_Type::item_corpsest: return "item_corpsest"; + case DF_Type::item_crafted: return "item_crafted"; + case DF_Type::item_critter: return "item_critter"; + case DF_Type::item_crownst: return "item_crownst"; + case DF_Type::item_crutchst: return "item_crutchst"; + case DF_Type::item_doorst: return "item_doorst"; + case DF_Type::item_drinkst: return "item_drinkst"; + case DF_Type::item_earringst: return "item_earringst"; + case DF_Type::item_eggst: return "item_eggst"; + case DF_Type::item_eggst__T_egg_flags: return "item_eggst__T_egg_flags"; + case DF_Type::item_figurinest: return "item_figurinest"; + case DF_Type::item_filter_spec: return "item_filter_spec"; + case DF_Type::item_fish_rawst: return "item_fish_rawst"; + case DF_Type::item_fishst: return "item_fishst"; + case DF_Type::item_flags: return "item_flags"; + case DF_Type::item_flags2: return "item_flags2"; + case DF_Type::item_flaskst: return "item_flaskst"; + case DF_Type::item_floodgatest: return "item_floodgatest"; + case DF_Type::item_foodst: return "item_foodst"; + case DF_Type::item_foodst__T_ingredients: return "item_foodst__T_ingredients"; + case DF_Type::item_gemst: return "item_gemst"; + case DF_Type::item_globst: return "item_globst"; + case DF_Type::item_glovesst: return "item_glovesst"; + case DF_Type::item_gobletst: return "item_gobletst"; + case DF_Type::item_gratest: return "item_gratest"; + case DF_Type::item_hatch_coverst: return "item_hatch_coverst"; + case DF_Type::item_helmst: return "item_helmst"; + case DF_Type::item_history_info: return "item_history_info"; + case DF_Type::item_instrumentst: return "item_instrumentst"; + case DF_Type::item_kill_info: return "item_kill_info"; + case DF_Type::item_liquid: return "item_liquid"; + case DF_Type::item_liquid_miscst: return "item_liquid_miscst"; + case DF_Type::item_liquipowder: return "item_liquipowder"; + case DF_Type::item_magicness: return "item_magicness"; + case DF_Type::item_magicness_type: return "item_magicness_type"; + case DF_Type::item_matstate: return "item_matstate"; + case DF_Type::item_meatst: return "item_meatst"; + case DF_Type::item_millstonest: return "item_millstonest"; + case DF_Type::item_orthopedic_castst: return "item_orthopedic_castst"; + case DF_Type::item_pantsst: return "item_pantsst"; + case DF_Type::item_petst: return "item_petst"; + case DF_Type::item_petst__T_pet_flags: return "item_petst__T_pet_flags"; + case DF_Type::item_pipe_sectionst: return "item_pipe_sectionst"; + case DF_Type::item_plant_growthst: return "item_plant_growthst"; + case DF_Type::item_plantst: return "item_plantst"; + case DF_Type::item_powder: return "item_powder"; + case DF_Type::item_powder_miscst: return "item_powder_miscst"; + case DF_Type::item_quality: return "item_quality"; + case DF_Type::item_quernst: return "item_quernst"; + case DF_Type::item_quiverst: return "item_quiverst"; + case DF_Type::item_remainsst: return "item_remainsst"; + case DF_Type::item_ringst: return "item_ringst"; + case DF_Type::item_rockst: return "item_rockst"; + case DF_Type::item_roughst: return "item_roughst"; + case DF_Type::item_scepterst: return "item_scepterst"; + case DF_Type::item_seedsst: return "item_seedsst"; + case DF_Type::item_sheetst: return "item_sheetst"; + case DF_Type::item_shieldst: return "item_shieldst"; + case DF_Type::item_shoesst: return "item_shoesst"; + case DF_Type::item_siegeammost: return "item_siegeammost"; + case DF_Type::item_skin_tannedst: return "item_skin_tannedst"; + case DF_Type::item_slabst: return "item_slabst"; + case DF_Type::item_smallgemst: return "item_smallgemst"; + case DF_Type::item_splintst: return "item_splintst"; + case DF_Type::item_statuest: return "item_statuest"; + case DF_Type::item_stockpile_ref: return "item_stockpile_ref"; + case DF_Type::item_tablest: return "item_tablest"; + case DF_Type::item_threadst: return "item_threadst"; + case DF_Type::item_toolst: return "item_toolst"; + case DF_Type::item_totemst: return "item_totemst"; + case DF_Type::item_toyst: return "item_toyst"; + case DF_Type::item_traction_benchst: return "item_traction_benchst"; + case DF_Type::item_trapcompst: return "item_trapcompst"; + case DF_Type::item_trappartsst: return "item_trappartsst"; + case DF_Type::item_type: return "item_type"; + case DF_Type::item_verminst: return "item_verminst"; + case DF_Type::item_weaponrackst: return "item_weaponrackst"; + case DF_Type::item_weaponst: return "item_weaponst"; + case DF_Type::item_windowst: return "item_windowst"; + case DF_Type::item_woodst: return "item_woodst"; + case DF_Type::itemdef: return "itemdef"; + case DF_Type::itemdef_ammost: return "itemdef_ammost"; + case DF_Type::itemdef_armorst: return "itemdef_armorst"; + case DF_Type::itemdef_foodst: return "itemdef_foodst"; + case DF_Type::itemdef_glovesst: return "itemdef_glovesst"; + case DF_Type::itemdef_helmst: return "itemdef_helmst"; + case DF_Type::itemdef_instrumentst: return "itemdef_instrumentst"; + case DF_Type::itemdef_pantsst: return "itemdef_pantsst"; + case DF_Type::itemdef_shieldst: return "itemdef_shieldst"; + case DF_Type::itemdef_shoesst: return "itemdef_shoesst"; + case DF_Type::itemdef_siegeammost: return "itemdef_siegeammost"; + case DF_Type::itemdef_toolst: return "itemdef_toolst"; + case DF_Type::itemdef_toolst__T_default_improvements: return "itemdef_toolst__T_default_improvements"; + case DF_Type::itemdef_toyst: return "itemdef_toyst"; + case DF_Type::itemdef_trapcompst: return "itemdef_trapcompst"; + case DF_Type::itemdef_weaponst: return "itemdef_weaponst"; + case DF_Type::itemimprovement: return "itemimprovement"; + case DF_Type::itemimprovement_art_imagest: return "itemimprovement_art_imagest"; + case DF_Type::itemimprovement_bandsst: return "itemimprovement_bandsst"; + case DF_Type::itemimprovement_clothst: return "itemimprovement_clothst"; + case DF_Type::itemimprovement_coveredst: return "itemimprovement_coveredst"; + case DF_Type::itemimprovement_coveredst__T_cover_flags: return "itemimprovement_coveredst__T_cover_flags"; + case DF_Type::itemimprovement_illustrationst: return "itemimprovement_illustrationst"; + case DF_Type::itemimprovement_instrument_piecest: return "itemimprovement_instrument_piecest"; + case DF_Type::itemimprovement_itemspecificst: return "itemimprovement_itemspecificst"; + case DF_Type::itemimprovement_pagesst: return "itemimprovement_pagesst"; + case DF_Type::itemimprovement_rings_hangingst: return "itemimprovement_rings_hangingst"; + case DF_Type::itemimprovement_sewn_imagest: return "itemimprovement_sewn_imagest"; + case DF_Type::itemimprovement_sewn_imagest__T_cloth: return "itemimprovement_sewn_imagest__T_cloth"; + case DF_Type::itemimprovement_specific_type: return "itemimprovement_specific_type"; + case DF_Type::itemimprovement_spikesst: return "itemimprovement_spikesst"; + case DF_Type::itemimprovement_threadst: return "itemimprovement_threadst"; + case DF_Type::itemimprovement_writingst: return "itemimprovement_writingst"; + case DF_Type::items_other_id: return "items_other_id"; + case DF_Type::job: return "job"; + case DF_Type::job_art_specification: return "job_art_specification"; + case DF_Type::job_art_specification__T_type: return "job_art_specification__T_type"; + case DF_Type::job_flags: return "job_flags"; + case DF_Type::job_handler: return "job_handler"; + case DF_Type::job_handler__T_anon_1: return "job_handler__T_anon_1"; + case DF_Type::job_handler__T_postings: return "job_handler__T_postings"; + case DF_Type::job_handler__T_postings__T_flags: return "job_handler__T_postings__T_flags"; + case DF_Type::job_item: return "job_item"; + case DF_Type::job_item_filter: return "job_item_filter"; + case DF_Type::job_item_flags1: return "job_item_flags1"; + case DF_Type::job_item_flags2: return "job_item_flags2"; + case DF_Type::job_item_flags3: return "job_item_flags3"; + case DF_Type::job_item_ref: return "job_item_ref"; + case DF_Type::job_item_ref__T_role: return "job_item_ref__T_role"; + case DF_Type::job_item_vector_id: return "job_item_vector_id"; + case DF_Type::job_list_link: return "job_list_link"; + case DF_Type::job_material_category: return "job_material_category"; + case DF_Type::job_skill: return "job_skill"; + case DF_Type::job_skill_class: return "job_skill_class"; + case DF_Type::job_subtype_surgery: return "job_subtype_surgery"; + case DF_Type::job_type: return "job_type"; + case DF_Type::job_type_class: return "job_type_class"; + case DF_Type::KeybindingScreen: return "KeybindingScreen"; + case DF_Type::KeybindingScreen__T_mode: return "KeybindingScreen__T_mode"; + case DF_Type::kitchen_exc_type: return "kitchen_exc_type"; + case DF_Type::kitchen_pref_flag: return "kitchen_pref_flag"; + case DF_Type::knowledge_scholar_category_flag: return "knowledge_scholar_category_flag"; + case DF_Type::knowledge_scholar_category_flag__T_flags: return "knowledge_scholar_category_flag__T_flags"; + case DF_Type::knowledge_scholar_flags_0: return "knowledge_scholar_flags_0"; + case DF_Type::knowledge_scholar_flags_1: return "knowledge_scholar_flags_1"; + case DF_Type::knowledge_scholar_flags_10: return "knowledge_scholar_flags_10"; + case DF_Type::knowledge_scholar_flags_11: return "knowledge_scholar_flags_11"; + case DF_Type::knowledge_scholar_flags_12: return "knowledge_scholar_flags_12"; + case DF_Type::knowledge_scholar_flags_13: return "knowledge_scholar_flags_13"; + case DF_Type::knowledge_scholar_flags_2: return "knowledge_scholar_flags_2"; + case DF_Type::knowledge_scholar_flags_3: return "knowledge_scholar_flags_3"; + case DF_Type::knowledge_scholar_flags_4: return "knowledge_scholar_flags_4"; + case DF_Type::knowledge_scholar_flags_5: return "knowledge_scholar_flags_5"; + case DF_Type::knowledge_scholar_flags_6: return "knowledge_scholar_flags_6"; + case DF_Type::knowledge_scholar_flags_7: return "knowledge_scholar_flags_7"; + case DF_Type::knowledge_scholar_flags_8: return "knowledge_scholar_flags_8"; + case DF_Type::knowledge_scholar_flags_9: return "knowledge_scholar_flags_9"; + case DF_Type::language_name: return "language_name"; + case DF_Type::language_name_category: return "language_name_category"; + case DF_Type::language_symbol: return "language_symbol"; + case DF_Type::language_translation: return "language_translation"; + case DF_Type::language_word: return "language_word"; + case DF_Type::language_word_flags: return "language_word_flags"; + case DF_Type::language_word_table: return "language_word_table"; + case DF_Type::large_integer: return "large_integer"; + case DF_Type::large_integer___struct0: return "large_integer___struct0"; + case DF_Type::large_integer__T_u: return "large_integer__T_u"; + case DF_Type::layer_object: return "layer_object"; + case DF_Type::layer_object_buttonst: return "layer_object_buttonst"; + case DF_Type::layer_object_listst: return "layer_object_listst"; + case DF_Type::lever_target_type: return "lever_target_type"; + case DF_Type::loadgame_save_info: return "loadgame_save_info"; + case DF_Type::local_population: return "local_population"; + case DF_Type::local_population___union6: return "local_population___union6"; + case DF_Type::local_population__T_flags: return "local_population__T_flags"; + case DF_Type::location_scribe_jobs: return "location_scribe_jobs"; + case DF_Type::machine: return "machine"; + case DF_Type::machine__T_components: return "machine__T_components"; + case DF_Type::machine__T_flags: return "machine__T_flags"; + case DF_Type::machine_conn_modes: return "machine_conn_modes"; + case DF_Type::machine_handler: return "machine_handler"; + case DF_Type::machine_info: return "machine_info"; + case DF_Type::machine_info__T_flags: return "machine_info__T_flags"; + case DF_Type::machine_standardst: return "machine_standardst"; + case DF_Type::machine_tile_set: return "machine_tile_set"; + case DF_Type::machine_type: return "machine_type"; + case DF_Type::MacroScreenLoad: return "MacroScreenLoad"; + case DF_Type::MacroScreenSave: return "MacroScreenSave"; + case DF_Type::manager_order: return "manager_order"; + case DF_Type::manager_order__T_frequency: return "manager_order__T_frequency"; + case DF_Type::manager_order_condition_item: return "manager_order_condition_item"; + case DF_Type::manager_order_condition_item__T_compare_type: return "manager_order_condition_item__T_compare_type"; + case DF_Type::manager_order_condition_order: return "manager_order_condition_order"; + case DF_Type::manager_order_condition_order__T_condition: return "manager_order_condition_order__T_condition"; + case DF_Type::manager_order_status: return "manager_order_status"; + case DF_Type::manager_order_template: return "manager_order_template"; + case DF_Type::mandate: return "mandate"; + case DF_Type::mandate__T_mode: return "mandate__T_mode"; + case DF_Type::mandate__T_punishment: return "mandate__T_punishment"; + case DF_Type::map_block: return "map_block"; + case DF_Type::map_block_column: return "map_block_column"; + case DF_Type::map_block_column__T_unmined_glyphs: return "map_block_column__T_unmined_glyphs"; + case DF_Type::map_renderer: return "map_renderer"; + case DF_Type::map_renderer__T_anon_4: return "map_renderer__T_anon_4"; + case DF_Type::map_viewport: return "map_viewport"; + case DF_Type::masterpiece_loss_type: return "masterpiece_loss_type"; + case DF_Type::material: return "material"; + case DF_Type::material_common: return "material_common"; + case DF_Type::material_common__T_hardens_with_water: return "material_common__T_hardens_with_water"; + case DF_Type::material_common__T_heat: return "material_common__T_heat"; + case DF_Type::material_common__T_reaction_product: return "material_common__T_reaction_product"; + case DF_Type::material_common__T_strength: return "material_common__T_strength"; + case DF_Type::material_flags: return "material_flags"; + case DF_Type::material_template: return "material_template"; + case DF_Type::material_vec_ref: return "material_vec_ref"; + case DF_Type::matgloss_list: return "matgloss_list"; + case DF_Type::matter_state: return "matter_state"; + case DF_Type::meeting_context: return "meeting_context"; + case DF_Type::meeting_diplomat_info: return "meeting_diplomat_info"; + case DF_Type::meeting_diplomat_info__T_flags: return "meeting_diplomat_info__T_flags"; + case DF_Type::meeting_event: return "meeting_event"; + case DF_Type::meeting_event_type: return "meeting_event_type"; + case DF_Type::meeting_topic: return "meeting_topic"; + case DF_Type::meeting_variable: return "meeting_variable"; + case DF_Type::mental_attribute_type: return "mental_attribute_type"; + case DF_Type::mental_picture: return "mental_picture"; + case DF_Type::mental_picture_element_hfst: return "mental_picture_element_hfst"; + case DF_Type::mental_picture_element_regionst: return "mental_picture_element_regionst"; + case DF_Type::mental_picture_element_sitest: return "mental_picture_element_sitest"; + case DF_Type::mental_picture_element_type: return "mental_picture_element_type"; + case DF_Type::mental_picture_elementst: return "mental_picture_elementst"; + case DF_Type::mental_picture_property_actionst: return "mental_picture_property_actionst"; + case DF_Type::mental_picture_property_adjectivest: return "mental_picture_property_adjectivest"; + case DF_Type::mental_picture_property_color_patternst: return "mental_picture_property_color_patternst"; + case DF_Type::mental_picture_property_datest: return "mental_picture_property_datest"; + case DF_Type::mental_picture_property_emotionst: return "mental_picture_property_emotionst"; + case DF_Type::mental_picture_property_positionst: return "mental_picture_property_positionst"; + case DF_Type::mental_picture_property_shapest: return "mental_picture_property_shapest"; + case DF_Type::mental_picture_property_timest: return "mental_picture_property_timest"; + case DF_Type::mental_picture_property_toolst: return "mental_picture_property_toolst"; + case DF_Type::mental_picture_property_type: return "mental_picture_property_type"; + case DF_Type::mental_picture_propertyst: return "mental_picture_propertyst"; + case DF_Type::misc_trait_type: return "misc_trait_type"; + case DF_Type::mission: return "mission"; + case DF_Type::mission__T_details: return "mission__T_details"; + case DF_Type::mission__T_details__T_raid: return "mission__T_details__T_raid"; + case DF_Type::mission__T_details__T_raid__T_raid_flags: return "mission__T_details__T_raid__T_raid_flags"; + case DF_Type::mission__T_details__T_raid__T_raid_type: return "mission__T_details__T_raid__T_raid_type"; + case DF_Type::mission__T_details__T_recovery: return "mission__T_details__T_recovery"; + case DF_Type::mission__T_details__T_request: return "mission__T_details__T_request"; + case DF_Type::mission__T_details__T_rescue: return "mission__T_details__T_rescue"; + case DF_Type::mission__T_type: return "mission__T_type"; + case DF_Type::mission_campaign_report: return "mission_campaign_report"; + case DF_Type::mission_report: return "mission_report"; + case DF_Type::mood_type: return "mood_type"; + case DF_Type::mountain_peak_flags: return "mountain_peak_flags"; + case DF_Type::moving_party: return "moving_party"; + case DF_Type::moving_party__T_members: return "moving_party__T_members"; + case DF_Type::musical_form: return "musical_form"; + case DF_Type::musical_form__T_flags: return "musical_form__T_flags"; + case DF_Type::musical_form_feature: return "musical_form_feature"; + case DF_Type::musical_form_instruments: return "musical_form_instruments"; + case DF_Type::musical_form_instruments__T_substitutions: return "musical_form_instruments__T_substitutions"; + case DF_Type::musical_form_interval: return "musical_form_interval"; + case DF_Type::musical_form_interval__T_flags: return "musical_form_interval__T_flags"; + case DF_Type::musical_form_melodies: return "musical_form_melodies"; + case DF_Type::musical_form_pitch_style: return "musical_form_pitch_style"; + case DF_Type::musical_form_purpose: return "musical_form_purpose"; + case DF_Type::musical_form_style: return "musical_form_style"; + case DF_Type::musical_form_sub4: return "musical_form_sub4"; + case DF_Type::musical_form_vocals: return "musical_form_vocals"; + case DF_Type::need_type: return "need_type"; + case DF_Type::nemesis_flags: return "nemesis_flags"; + case DF_Type::nemesis_offload: return "nemesis_offload"; + case DF_Type::nemesis_record: return "nemesis_record"; + case DF_Type::occasion_schedule_feature: return "occasion_schedule_feature"; + case DF_Type::occasion_schedule_type: return "occasion_schedule_type"; + case DF_Type::occupation: return "occupation"; + case DF_Type::occupation_sub1: return "occupation_sub1"; + case DF_Type::occupation_type: return "occupation_type"; + case DF_Type::ocean_wave: return "ocean_wave"; + case DF_Type::organic_mat_category: return "organic_mat_category"; + case DF_Type::orientation_flags: return "orientation_flags"; + case DF_Type::pants_flags: return "pants_flags"; + case DF_Type::part_of_speech: return "part_of_speech"; + case DF_Type::party_info: return "party_info"; + case DF_Type::pattern_type: return "pattern_type"; + case DF_Type::performance_event_type: return "performance_event_type"; + case DF_Type::performance_participant_type: return "performance_participant_type"; + case DF_Type::performance_play_orderst: return "performance_play_orderst"; + case DF_Type::performance_play_orderst__T_anon_4: return "performance_play_orderst__T_anon_4"; + case DF_Type::personality_facet_type: return "personality_facet_type"; + case DF_Type::physical_attribute_type: return "physical_attribute_type"; + case DF_Type::pitch_choice_type: return "pitch_choice_type"; + case DF_Type::plant: return "plant"; + case DF_Type::plant__T_damage_flags: return "plant__T_damage_flags"; + case DF_Type::plant_flags: return "plant_flags"; + case DF_Type::plant_growth: return "plant_growth"; + case DF_Type::plant_growth__T_behavior: return "plant_growth__T_behavior"; + case DF_Type::plant_growth__T_locations: return "plant_growth__T_locations"; + case DF_Type::plant_growth_print: return "plant_growth_print"; + case DF_Type::plant_raw: return "plant_raw"; + case DF_Type::plant_raw__T_colors: return "plant_raw__T_colors"; + case DF_Type::plant_raw__T_material_defs: return "plant_raw__T_material_defs"; + case DF_Type::plant_raw__T_stockpile_growth_flags: return "plant_raw__T_stockpile_growth_flags"; + case DF_Type::plant_raw__T_tiles: return "plant_raw__T_tiles"; + case DF_Type::plant_raw_flags: return "plant_raw_flags"; + case DF_Type::plant_tree_info: return "plant_tree_info"; + case DF_Type::plant_tree_tile: return "plant_tree_tile"; + case DF_Type::poetic_form: return "poetic_form"; + case DF_Type::poetic_form___union0: return "poetic_form___union0"; + case DF_Type::poetic_form__T_flags: return "poetic_form__T_flags"; + case DF_Type::poetic_form_action: return "poetic_form_action"; + case DF_Type::poetic_form_additional_feature: return "poetic_form_additional_feature"; + case DF_Type::poetic_form_caesura_position: return "poetic_form_caesura_position"; + case DF_Type::poetic_form_feature: return "poetic_form_feature"; + case DF_Type::poetic_form_mood: return "poetic_form_mood"; + case DF_Type::poetic_form_part: return "poetic_form_part"; + case DF_Type::poetic_form_part__T_flags: return "poetic_form_part__T_flags"; + case DF_Type::poetic_form_part__T_line_subject_targets: return "poetic_form_part__T_line_subject_targets"; + case DF_Type::poetic_form_pattern: return "poetic_form_pattern"; + case DF_Type::poetic_form_perspective: return "poetic_form_perspective"; + case DF_Type::poetic_form_perspective__T_type: return "poetic_form_perspective__T_type"; + case DF_Type::poetic_form_subject: return "poetic_form_subject"; + case DF_Type::popup_message: return "popup_message"; + case DF_Type::power_info: return "power_info"; + case DF_Type::pressure_plate_info: return "pressure_plate_info"; + case DF_Type::pressure_plate_info__T_flags: return "pressure_plate_info__T_flags"; + case DF_Type::profession: return "profession"; + case DF_Type::proj_itemst: return "proj_itemst"; + case DF_Type::proj_list_link: return "proj_list_link"; + case DF_Type::proj_magicst: return "proj_magicst"; + case DF_Type::proj_unitst: return "proj_unitst"; + case DF_Type::projectile: return "projectile"; + case DF_Type::projectile_flags: return "projectile_flags"; + case DF_Type::projectile_type: return "projectile_type"; + case DF_Type::punishment: return "punishment"; + case DF_Type::reaction: return "reaction"; + case DF_Type::reaction__T_building: return "reaction__T_building"; + case DF_Type::reaction_category: return "reaction_category"; + case DF_Type::reaction_description: return "reaction_description"; + case DF_Type::reaction_flags: return "reaction_flags"; + case DF_Type::reaction_product: return "reaction_product"; + case DF_Type::reaction_product_improvement_flags: return "reaction_product_improvement_flags"; + case DF_Type::reaction_product_item_flags: return "reaction_product_item_flags"; + case DF_Type::reaction_product_item_improvementst: return "reaction_product_item_improvementst"; + case DF_Type::reaction_product_item_improvementst__T_get_material: return "reaction_product_item_improvementst__T_get_material"; + case DF_Type::reaction_product_itemst: return "reaction_product_itemst"; + case DF_Type::reaction_product_itemst__T_get_material: return "reaction_product_itemst__T_get_material"; + case DF_Type::reaction_product_type: return "reaction_product_type"; + case DF_Type::reaction_reagent: return "reaction_reagent"; + case DF_Type::reaction_reagent_flags: return "reaction_reagent_flags"; + case DF_Type::reaction_reagent_itemst: return "reaction_reagent_itemst"; + case DF_Type::reaction_reagent_type: return "reaction_reagent_type"; + case DF_Type::region_block_event_sphere_fieldst: return "region_block_event_sphere_fieldst"; + case DF_Type::region_block_event_type: return "region_block_event_type"; + case DF_Type::region_block_eventst: return "region_block_eventst"; + case DF_Type::region_map_entry: return "region_map_entry"; + case DF_Type::region_map_entry__T_clouds: return "region_map_entry__T_clouds"; + case DF_Type::region_map_entry__T_wind: return "region_map_entry__T_wind"; + case DF_Type::region_map_entry_flags: return "region_map_entry_flags"; + case DF_Type::renderer: return "renderer"; + case DF_Type::report: return "report"; + case DF_Type::report__T_flags: return "report__T_flags"; + case DF_Type::reputation_type: return "reputation_type"; + case DF_Type::resource_allotment_data: return "resource_allotment_data"; + case DF_Type::resource_allotment_data__T_unk_654: return "resource_allotment_data__T_unk_654"; + case DF_Type::resource_allotment_specifier: return "resource_allotment_specifier"; + case DF_Type::resource_allotment_specifier_ammost: return "resource_allotment_specifier_ammost"; + case DF_Type::resource_allotment_specifier_anvilst: return "resource_allotment_specifier_anvilst"; + case DF_Type::resource_allotment_specifier_armor_bodyst: return "resource_allotment_specifier_armor_bodyst"; + case DF_Type::resource_allotment_specifier_armor_bootsst: return "resource_allotment_specifier_armor_bootsst"; + case DF_Type::resource_allotment_specifier_armor_glovesst: return "resource_allotment_specifier_armor_glovesst"; + case DF_Type::resource_allotment_specifier_armor_helmst: return "resource_allotment_specifier_armor_helmst"; + case DF_Type::resource_allotment_specifier_armor_pantsst: return "resource_allotment_specifier_armor_pantsst"; + case DF_Type::resource_allotment_specifier_backpackst: return "resource_allotment_specifier_backpackst"; + case DF_Type::resource_allotment_specifier_bagst: return "resource_allotment_specifier_bagst"; + case DF_Type::resource_allotment_specifier_bedst: return "resource_allotment_specifier_bedst"; + case DF_Type::resource_allotment_specifier_bonest: return "resource_allotment_specifier_bonest"; + case DF_Type::resource_allotment_specifier_boxst: return "resource_allotment_specifier_boxst"; + case DF_Type::resource_allotment_specifier_cabinetst: return "resource_allotment_specifier_cabinetst"; + case DF_Type::resource_allotment_specifier_chairst: return "resource_allotment_specifier_chairst"; + case DF_Type::resource_allotment_specifier_cheesest: return "resource_allotment_specifier_cheesest"; + case DF_Type::resource_allotment_specifier_clothing_bodyst: return "resource_allotment_specifier_clothing_bodyst"; + case DF_Type::resource_allotment_specifier_clothing_bootsst: return "resource_allotment_specifier_clothing_bootsst"; + case DF_Type::resource_allotment_specifier_clothing_glovesst: return "resource_allotment_specifier_clothing_glovesst"; + case DF_Type::resource_allotment_specifier_clothing_helmst: return "resource_allotment_specifier_clothing_helmst"; + case DF_Type::resource_allotment_specifier_clothing_pantsst: return "resource_allotment_specifier_clothing_pantsst"; + case DF_Type::resource_allotment_specifier_clothst: return "resource_allotment_specifier_clothst"; + case DF_Type::resource_allotment_specifier_craftsst: return "resource_allotment_specifier_craftsst"; + case DF_Type::resource_allotment_specifier_cropst: return "resource_allotment_specifier_cropst"; + case DF_Type::resource_allotment_specifier_extractst: return "resource_allotment_specifier_extractst"; + case DF_Type::resource_allotment_specifier_flaskst: return "resource_allotment_specifier_flaskst"; + case DF_Type::resource_allotment_specifier_gemsst: return "resource_allotment_specifier_gemsst"; + case DF_Type::resource_allotment_specifier_hornst: return "resource_allotment_specifier_hornst"; + case DF_Type::resource_allotment_specifier_leatherst: return "resource_allotment_specifier_leatherst"; + case DF_Type::resource_allotment_specifier_meatst: return "resource_allotment_specifier_meatst"; + case DF_Type::resource_allotment_specifier_metalst: return "resource_allotment_specifier_metalst"; + case DF_Type::resource_allotment_specifier_pearlst: return "resource_allotment_specifier_pearlst"; + case DF_Type::resource_allotment_specifier_powderst: return "resource_allotment_specifier_powderst"; + case DF_Type::resource_allotment_specifier_quiverst: return "resource_allotment_specifier_quiverst"; + case DF_Type::resource_allotment_specifier_shellst: return "resource_allotment_specifier_shellst"; + case DF_Type::resource_allotment_specifier_skinst: return "resource_allotment_specifier_skinst"; + case DF_Type::resource_allotment_specifier_soapst: return "resource_allotment_specifier_soapst"; + case DF_Type::resource_allotment_specifier_stonest: return "resource_allotment_specifier_stonest"; + case DF_Type::resource_allotment_specifier_tablest: return "resource_allotment_specifier_tablest"; + case DF_Type::resource_allotment_specifier_tallowst: return "resource_allotment_specifier_tallowst"; + case DF_Type::resource_allotment_specifier_threadst: return "resource_allotment_specifier_threadst"; + case DF_Type::resource_allotment_specifier_toothst: return "resource_allotment_specifier_toothst"; + case DF_Type::resource_allotment_specifier_type: return "resource_allotment_specifier_type"; + case DF_Type::resource_allotment_specifier_weapon_meleest: return "resource_allotment_specifier_weapon_meleest"; + case DF_Type::resource_allotment_specifier_weapon_rangedst: return "resource_allotment_specifier_weapon_rangedst"; + case DF_Type::resource_allotment_specifier_woodst: return "resource_allotment_specifier_woodst"; + case DF_Type::rhythm: return "rhythm"; + case DF_Type::rhythm_sub1: return "rhythm_sub1"; + case DF_Type::rhythm_sub1__T_anon_1: return "rhythm_sub1__T_anon_1"; + case DF_Type::rhythm_sub2: return "rhythm_sub2"; + case DF_Type::room_rent_info: return "room_rent_info"; + case DF_Type::room_rent_info__T_flags: return "room_rent_info__T_flags"; + case DF_Type::route_stockpile_link: return "route_stockpile_link"; + case DF_Type::route_stockpile_link__T_mode: return "route_stockpile_link__T_mode"; + case DF_Type::scale: return "scale"; + case DF_Type::scale__T_unk1: return "scale__T_unk1"; + case DF_Type::scale_sub1: return "scale_sub1"; + case DF_Type::scale_sub2: return "scale_sub2"; + case DF_Type::schedule_info: return "schedule_info"; + case DF_Type::schedule_slot: return "schedule_slot"; + case DF_Type::screw_pump_direction: return "screw_pump_direction"; + case DF_Type::scribejob: return "scribejob"; + case DF_Type::script_step_conditionalst: return "script_step_conditionalst"; + case DF_Type::script_step_conditionalst__T_condition: return "script_step_conditionalst__T_condition"; + case DF_Type::script_step_constructtopiclistst: return "script_step_constructtopiclistst"; + case DF_Type::script_step_dipeventst: return "script_step_dipeventst"; + case DF_Type::script_step_diphistoryst: return "script_step_diphistoryst"; + case DF_Type::script_step_discussst: return "script_step_discussst"; + case DF_Type::script_step_eventst: return "script_step_eventst"; + case DF_Type::script_step_invasionst: return "script_step_invasionst"; + case DF_Type::script_step_setvarst: return "script_step_setvarst"; + case DF_Type::script_step_simpleactionst: return "script_step_simpleactionst"; + case DF_Type::script_step_textviewerst: return "script_step_textviewerst"; + case DF_Type::script_step_topicdiscussionst: return "script_step_topicdiscussionst"; + case DF_Type::script_stepst: return "script_stepst"; + case DF_Type::script_var_longst: return "script_var_longst"; + case DF_Type::script_var_unitst: return "script_var_unitst"; + case DF_Type::script_varst: return "script_varst"; + case DF_Type::setup_character_info: return "setup_character_info"; + case DF_Type::setup_character_info__T_status: return "setup_character_info__T_status"; + case DF_Type::shoes_flags: return "shoes_flags"; + case DF_Type::shop_type: return "shop_type"; + case DF_Type::siegeengine_type: return "siegeengine_type"; + case DF_Type::site_building_item: return "site_building_item"; + case DF_Type::site_dispute_type: return "site_dispute_type"; + case DF_Type::site_realization_building: return "site_realization_building"; + case DF_Type::site_realization_building__T_unk_4c: return "site_realization_building__T_unk_4c"; + case DF_Type::site_realization_building_info_castle_courtyardst: return "site_realization_building_info_castle_courtyardst"; + case DF_Type::site_realization_building_info_castle_towerst: return "site_realization_building_info_castle_towerst"; + case DF_Type::site_realization_building_info_castle_wallst: return "site_realization_building_info_castle_wallst"; + case DF_Type::site_realization_building_info_hillock_housest: return "site_realization_building_info_hillock_housest"; + case DF_Type::site_realization_building_info_market_squarest: return "site_realization_building_info_market_squarest"; + case DF_Type::site_realization_building_info_shop_housest: return "site_realization_building_info_shop_housest"; + case DF_Type::site_realization_building_info_tree_housest: return "site_realization_building_info_tree_housest"; + case DF_Type::site_realization_building_info_trenchesst: return "site_realization_building_info_trenchesst"; + case DF_Type::site_realization_building_info_trenchesst__T_spokes: return "site_realization_building_info_trenchesst__T_spokes"; + case DF_Type::site_realization_building_infost: return "site_realization_building_infost"; + case DF_Type::site_realization_building_type: return "site_realization_building_type"; + case DF_Type::site_realization_crossroads: return "site_realization_crossroads"; + case DF_Type::site_reputation_info: return "site_reputation_info"; + case DF_Type::site_reputation_report: return "site_reputation_report"; + case DF_Type::site_shop_type: return "site_shop_type"; + case DF_Type::site_type: return "site_type"; + case DF_Type::skill_rating: return "skill_rating"; + case DF_Type::slab_engraving_type: return "slab_engraving_type"; + case DF_Type::sound_production_type: return "sound_production_type"; + case DF_Type::spatter: return "spatter"; + case DF_Type::spatter__T_flags: return "spatter__T_flags"; + case DF_Type::spatter_common: return "spatter_common"; + case DF_Type::spatter_common__T_base_flags: return "spatter_common__T_base_flags"; + case DF_Type::special_mat_table: return "special_mat_table"; + case DF_Type::specific_ref: return "specific_ref"; + case DF_Type::specific_ref___union2: return "specific_ref___union2"; + case DF_Type::specific_ref__T_arg2: return "specific_ref__T_arg2"; + case DF_Type::specific_ref_type: return "specific_ref_type"; + case DF_Type::sphere_type: return "sphere_type"; + case DF_Type::spoils_report: return "spoils_report"; + case DF_Type::squad: return "squad"; + case DF_Type::squad__T_rooms: return "squad__T_rooms"; + case DF_Type::squad_ammo_spec: return "squad_ammo_spec"; + case DF_Type::squad_ammo_spec__T_flags: return "squad_ammo_spec__T_flags"; + case DF_Type::squad_event_type: return "squad_event_type"; + case DF_Type::squad_order: return "squad_order"; + case DF_Type::squad_order_cannot_reason: return "squad_order_cannot_reason"; + case DF_Type::squad_order_cause_trouble_for_entityst: return "squad_order_cause_trouble_for_entityst"; + case DF_Type::squad_order_defend_burrowsst: return "squad_order_defend_burrowsst"; + case DF_Type::squad_order_drive_armies_from_sitest: return "squad_order_drive_armies_from_sitest"; + case DF_Type::squad_order_drive_entity_off_sitest: return "squad_order_drive_entity_off_sitest"; + case DF_Type::squad_order_kill_hfst: return "squad_order_kill_hfst"; + case DF_Type::squad_order_kill_listst: return "squad_order_kill_listst"; + case DF_Type::squad_order_movest: return "squad_order_movest"; + case DF_Type::squad_order_patrol_routest: return "squad_order_patrol_routest"; + case DF_Type::squad_order_raid_sitest: return "squad_order_raid_sitest"; + case DF_Type::squad_order_rescue_hfst: return "squad_order_rescue_hfst"; + case DF_Type::squad_order_retrieve_artifactst: return "squad_order_retrieve_artifactst"; + case DF_Type::squad_order_trainst: return "squad_order_trainst"; + case DF_Type::squad_order_type: return "squad_order_type"; + case DF_Type::squad_position: return "squad_position"; + case DF_Type::squad_schedule_entry: return "squad_schedule_entry"; + case DF_Type::squad_schedule_order: return "squad_schedule_order"; + case DF_Type::squad_uniform_spec: return "squad_uniform_spec"; + case DF_Type::squad_use_flags: return "squad_use_flags"; + case DF_Type::stockpile_category: return "stockpile_category"; + case DF_Type::stockpile_group_set: return "stockpile_group_set"; + case DF_Type::stockpile_links: return "stockpile_links"; + case DF_Type::stockpile_list: return "stockpile_list"; + case DF_Type::stockpile_settings: return "stockpile_settings"; + case DF_Type::stockpile_settings__T_ammo: return "stockpile_settings__T_ammo"; + case DF_Type::stockpile_settings__T_animals: return "stockpile_settings__T_animals"; + case DF_Type::stockpile_settings__T_armor: return "stockpile_settings__T_armor"; + case DF_Type::stockpile_settings__T_bars_blocks: return "stockpile_settings__T_bars_blocks"; + case DF_Type::stockpile_settings__T_cloth: return "stockpile_settings__T_cloth"; + case DF_Type::stockpile_settings__T_coins: return "stockpile_settings__T_coins"; + case DF_Type::stockpile_settings__T_finished_goods: return "stockpile_settings__T_finished_goods"; + case DF_Type::stockpile_settings__T_food: return "stockpile_settings__T_food"; + case DF_Type::stockpile_settings__T_furniture: return "stockpile_settings__T_furniture"; + case DF_Type::stockpile_settings__T_gems: return "stockpile_settings__T_gems"; + case DF_Type::stockpile_settings__T_leather: return "stockpile_settings__T_leather"; + case DF_Type::stockpile_settings__T_ore: return "stockpile_settings__T_ore"; + case DF_Type::stockpile_settings__T_refuse: return "stockpile_settings__T_refuse"; + case DF_Type::stockpile_settings__T_sheet: return "stockpile_settings__T_sheet"; + case DF_Type::stockpile_settings__T_stone: return "stockpile_settings__T_stone"; + case DF_Type::stockpile_settings__T_weapons: return "stockpile_settings__T_weapons"; + case DF_Type::stockpile_settings__T_wood: return "stockpile_settings__T_wood"; + case DF_Type::stop_depart_condition: return "stop_depart_condition"; + case DF_Type::stop_depart_condition__T_direction: return "stop_depart_condition__T_direction"; + case DF_Type::stop_depart_condition__T_flags: return "stop_depart_condition__T_flags"; + case DF_Type::stop_depart_condition__T_mode: return "stop_depart_condition__T_mode"; + case DF_Type::strain_type: return "strain_type"; + case DF_Type::stratus_type: return "stratus_type"; + case DF_Type::syndrome: return "syndrome"; + case DF_Type::syndrome_flags: return "syndrome_flags"; + case DF_Type::T_cursor: return "T_cursor"; + case DF_Type::T_selection_rect: return "T_selection_rect"; + case DF_Type::tactical_situation: return "tactical_situation"; + case DF_Type::talk_choice: return "talk_choice"; + case DF_Type::talk_choice__T_unk: return "talk_choice__T_unk"; + case DF_Type::talk_choice_type: return "talk_choice_type"; + case DF_Type::temperaturest: return "temperaturest"; + case DF_Type::text_info_element_longst: return "text_info_element_longst"; + case DF_Type::text_info_element_stringst: return "text_info_element_stringst"; + case DF_Type::text_info_elementst: return "text_info_elementst"; + case DF_Type::texture_handler: return "texture_handler"; + case DF_Type::tile_bitmask: return "tile_bitmask"; + case DF_Type::tile_building_occ: return "tile_building_occ"; + case DF_Type::tile_designation: return "tile_designation"; + case DF_Type::tile_dig_designation: return "tile_dig_designation"; + case DF_Type::tile_liquid: return "tile_liquid"; + case DF_Type::tile_liquid_flow: return "tile_liquid_flow"; + case DF_Type::tile_liquid_flow_dir: return "tile_liquid_flow_dir"; + case DF_Type::tile_occupancy: return "tile_occupancy"; + case DF_Type::tile_page: return "tile_page"; + case DF_Type::tile_traffic: return "tile_traffic"; + case DF_Type::tiletype: return "tiletype"; + case DF_Type::tiletype_material: return "tiletype_material"; + case DF_Type::tiletype_shape: return "tiletype_shape"; + case DF_Type::tiletype_shape_basic: return "tiletype_shape_basic"; + case DF_Type::tiletype_special: return "tiletype_special"; + case DF_Type::tiletype_variant: return "tiletype_variant"; + case DF_Type::timbre_type: return "timbre_type"; + case DF_Type::timed_event: return "timed_event"; + case DF_Type::timed_event_type: return "timed_event_type"; + case DF_Type::tissue: return "tissue"; + case DF_Type::tissue_flags: return "tissue_flags"; + case DF_Type::tissue_style_raw: return "tissue_style_raw"; + case DF_Type::tissue_style_type: return "tissue_style_type"; + case DF_Type::tissue_template: return "tissue_template"; + case DF_Type::tool_flags: return "tool_flags"; + case DF_Type::tool_uses: return "tool_uses"; + case DF_Type::tower_shape: return "tower_shape"; + case DF_Type::toy_flags: return "toy_flags"; + case DF_Type::training_assignment: return "training_assignment"; + case DF_Type::training_assignment__T_flags: return "training_assignment__T_flags"; + case DF_Type::training_knowledge_level: return "training_knowledge_level"; + case DF_Type::trap_type: return "trap_type"; + case DF_Type::trapcomp_flags: return "trapcomp_flags"; + case DF_Type::tree_house_type: return "tree_house_type"; + case DF_Type::tuning_type: return "tuning_type"; + case DF_Type::ui: return "ui"; + case DF_Type::ui__T_alerts: return "ui__T_alerts"; + case DF_Type::ui__T_alerts__T_list: return "ui__T_alerts__T_list"; + case DF_Type::ui__T_becoming_capital: return "ui__T_becoming_capital"; + case DF_Type::ui__T_burrows: return "ui__T_burrows"; + case DF_Type::ui__T_economy_prices: return "ui__T_economy_prices"; + case DF_Type::ui__T_economy_prices__T_price_adjustment: return "ui__T_economy_prices__T_price_adjustment"; + case DF_Type::ui__T_economy_prices__T_price_setter: return "ui__T_economy_prices__T_price_setter"; + case DF_Type::ui__T_equipment: return "ui__T_equipment"; + case DF_Type::ui__T_equipment__T_update: return "ui__T_equipment__T_update"; + case DF_Type::ui__T_hauling: return "ui__T_hauling"; + case DF_Type::ui__T_invasions: return "ui__T_invasions"; + case DF_Type::ui__T_kitchen: return "ui__T_kitchen"; + case DF_Type::ui__T_main: return "ui__T_main"; + case DF_Type::ui__T_main__T_dead_citizens: return "ui__T_main__T_dead_citizens"; + case DF_Type::ui__T_map_edge: return "ui__T_map_edge"; + case DF_Type::ui__T_squads: return "ui__T_squads"; + case DF_Type::ui__T_stockpile: return "ui__T_stockpile"; + case DF_Type::ui__T_tax_collection: return "ui__T_tax_collection"; + case DF_Type::ui__T_unk23c8_flags: return "ui__T_unk23c8_flags"; + case DF_Type::ui__T_unk2a8c: return "ui__T_unk2a8c"; + case DF_Type::ui__T_waypoints: return "ui__T_waypoints"; + case DF_Type::ui__T_waypoints__T_points: return "ui__T_waypoints__T_points"; + case DF_Type::ui__T_waypoints__T_routes: return "ui__T_waypoints__T_routes"; + case DF_Type::ui_advmode: return "ui_advmode"; + case DF_Type::ui_advmode__T_assume_identity: return "ui_advmode__T_assume_identity"; + case DF_Type::ui_advmode__T_companions: return "ui_advmode__T_companions"; + case DF_Type::ui_advmode__T_conversation: return "ui_advmode__T_conversation"; + case DF_Type::ui_advmode__T_conversation__T_choices: return "ui_advmode__T_conversation__T_choices"; + case DF_Type::ui_advmode__T_conversation__T_targets: return "ui_advmode__T_conversation__T_targets"; + case DF_Type::ui_advmode__T_conversation__T_targets__T_type: return "ui_advmode__T_conversation__T_targets__T_type"; + case DF_Type::ui_advmode__T_interactions: return "ui_advmode__T_interactions"; + case DF_Type::ui_advmode__T_show_menu: return "ui_advmode__T_show_menu"; + case DF_Type::ui_advmode__T_travel_right_map: return "ui_advmode__T_travel_right_map"; + case DF_Type::ui_advmode__T_unk_3124: return "ui_advmode__T_unk_3124"; + case DF_Type::ui_advmode__T_unk_3170: return "ui_advmode__T_unk_3170"; + case DF_Type::ui_advmode__T_unk_3170__T_unk_2: return "ui_advmode__T_unk_3170__T_unk_2"; + case DF_Type::ui_advmode__T_unk_v40_1: return "ui_advmode__T_unk_v40_1"; + case DF_Type::ui_advmode__T_unk_v40_2: return "ui_advmode__T_unk_v40_2"; + case DF_Type::ui_advmode__T_unk_v40_3: return "ui_advmode__T_unk_v40_3"; + case DF_Type::ui_advmode__T_unk_v40_4: return "ui_advmode__T_unk_v40_4"; + case DF_Type::ui_advmode__T_unk_v40_4__T_unk_v40_4a: return "ui_advmode__T_unk_v40_4__T_unk_v40_4a"; + case DF_Type::ui_advmode__T_unk_v40_5: return "ui_advmode__T_unk_v40_5"; + case DF_Type::ui_advmode__T_unk_v42_1: return "ui_advmode__T_unk_v42_1"; + case DF_Type::ui_advmode_menu: return "ui_advmode_menu"; + case DF_Type::ui_build_item_req: return "ui_build_item_req"; + case DF_Type::ui_build_selector: return "ui_build_selector"; + case DF_Type::ui_hotkey: return "ui_hotkey"; + case DF_Type::ui_hotkey___union4: return "ui_hotkey___union4"; + case DF_Type::ui_hotkey__T_cmd: return "ui_hotkey__T_cmd"; + case DF_Type::ui_look_list: return "ui_look_list"; + case DF_Type::ui_look_list__T_items: return "ui_look_list__T_items"; + case DF_Type::ui_look_list__T_items___union3: return "ui_look_list__T_items___union3"; + case DF_Type::ui_look_list__T_items__T_type: return "ui_look_list__T_items__T_type"; + case DF_Type::ui_sidebar_menus: return "ui_sidebar_menus"; + case DF_Type::ui_sidebar_menus__T_barracks: return "ui_sidebar_menus__T_barracks"; + case DF_Type::ui_sidebar_menus__T_building: return "ui_sidebar_menus__T_building"; + case DF_Type::ui_sidebar_menus__T_command_line: return "ui_sidebar_menus__T_command_line"; + case DF_Type::ui_sidebar_menus__T_designation: return "ui_sidebar_menus__T_designation"; + case DF_Type::ui_sidebar_menus__T_designation__T_mine_mode: return "ui_sidebar_menus__T_designation__T_mine_mode"; + case DF_Type::ui_sidebar_menus__T_hospital: return "ui_sidebar_menus__T_hospital"; + case DF_Type::ui_sidebar_menus__T_job_details: return "ui_sidebar_menus__T_job_details"; + case DF_Type::ui_sidebar_menus__T_location: return "ui_sidebar_menus__T_location"; + case DF_Type::ui_sidebar_menus__T_minimap: return "ui_sidebar_menus__T_minimap"; + case DF_Type::ui_sidebar_menus__T_unit: return "ui_sidebar_menus__T_unit"; + case DF_Type::ui_sidebar_menus__T_unit__T_expel_error: return "ui_sidebar_menus__T_unit__T_expel_error"; + case DF_Type::ui_sidebar_menus__T_unit_cursor: return "ui_sidebar_menus__T_unit_cursor"; + case DF_Type::ui_sidebar_menus__T_unit_skills: return "ui_sidebar_menus__T_unit_skills"; + case DF_Type::ui_sidebar_menus__T_workshop_job: return "ui_sidebar_menus__T_workshop_job"; + case DF_Type::ui_sidebar_menus__T_zone: return "ui_sidebar_menus__T_zone"; + case DF_Type::ui_sidebar_menus__T_zone__T_mode: return "ui_sidebar_menus__T_zone__T_mode"; + case DF_Type::ui_sidebar_mode: return "ui_sidebar_mode"; + case DF_Type::ui_unit_view_mode: return "ui_unit_view_mode"; + case DF_Type::ui_unit_view_mode__T_value: return "ui_unit_view_mode__T_value"; + case DF_Type::uniform_category: return "uniform_category"; + case DF_Type::uniform_flags: return "uniform_flags"; + case DF_Type::uniform_indiv_choice: return "uniform_indiv_choice"; + case DF_Type::unit: return "unit"; + case DF_Type::unit__T_animal: return "unit__T_animal"; + case DF_Type::unit__T_appearance: return "unit__T_appearance"; + case DF_Type::unit__T_body: return "unit__T_body"; + case DF_Type::unit__T_counters: return "unit__T_counters"; + case DF_Type::unit__T_counters2: return "unit__T_counters2"; + case DF_Type::unit__T_counters__T_soldier_mood: return "unit__T_counters__T_soldier_mood"; + case DF_Type::unit__T_curse: return "unit__T_curse"; + case DF_Type::unit__T_enemy: return "unit__T_enemy"; + case DF_Type::unit__T_enemy__T_undead: return "unit__T_enemy__T_undead"; + case DF_Type::unit__T_enemy__T_unk_448: return "unit__T_enemy__T_unk_448"; + case DF_Type::unit__T_enemy__T_unk_448__T_unk: return "unit__T_enemy__T_unk_448__T_unk"; + case DF_Type::unit__T_enemy__T_unk_44c: return "unit__T_enemy__T_unk_44c"; + case DF_Type::unit__T_enemy__T_unk_v40_sub3: return "unit__T_enemy__T_unk_v40_sub3"; + case DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_2: return "unit__T_enemy__T_unk_v40_sub3__T_unk_2"; + case DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_6: return "unit__T_enemy__T_unk_v40_sub3__T_unk_6"; + case DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7: return "unit__T_enemy__T_unk_v40_sub3__T_unk_7"; + case DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7__T_unk_sub1: return "unit__T_enemy__T_unk_v40_sub3__T_unk_7__T_unk_sub1"; + case DF_Type::unit__T_enemy__T_witness_reports: return "unit__T_enemy__T_witness_reports"; + case DF_Type::unit__T_job: return "unit__T_job"; + case DF_Type::unit__T_meeting: return "unit__T_meeting"; + case DF_Type::unit__T_meeting__T_state: return "unit__T_meeting__T_state"; + case DF_Type::unit__T_military: return "unit__T_military"; + case DF_Type::unit__T_military__T_pickup_flags: return "unit__T_military__T_pickup_flags"; + case DF_Type::unit__T_opponent: return "unit__T_opponent"; + case DF_Type::unit__T_path: return "unit__T_path"; + case DF_Type::unit__T_reports: return "unit__T_reports"; + case DF_Type::unit__T_status: return "unit__T_status"; + case DF_Type::unit__T_status2: return "unit__T_status2"; + case DF_Type::unit__T_status__T_eat_history: return "unit__T_status__T_eat_history"; + case DF_Type::unit__T_status__T_eat_history__T_drink: return "unit__T_status__T_eat_history__T_drink"; + case DF_Type::unit__T_status__T_eat_history__T_food: return "unit__T_status__T_eat_history__T_food"; + case DF_Type::unit__T_syndromes: return "unit__T_syndromes"; + case DF_Type::unit__T_unknown7: return "unit__T_unknown7"; + case DF_Type::unit_action: return "unit_action"; + case DF_Type::unit_action__T_data: return "unit_action__T_data"; + case DF_Type::unit_action__T_data__T_attack: return "unit_action__T_data__T_attack"; + case DF_Type::unit_action__T_data__T_attack__T_flags: return "unit_action__T_data__T_attack__T_flags"; + case DF_Type::unit_action__T_data__T_attack__T_unk_4: return "unit_action__T_data__T_attack__T_unk_4"; + case DF_Type::unit_action__T_data__T_block: return "unit_action__T_data__T_block"; + case DF_Type::unit_action__T_data__T_climb: return "unit_action__T_data__T_climb"; + case DF_Type::unit_action__T_data__T_dodge: return "unit_action__T_data__T_dodge"; + case DF_Type::unit_action__T_data__T_holditem: return "unit_action__T_data__T_holditem"; + case DF_Type::unit_action__T_data__T_holdterrain: return "unit_action__T_data__T_holdterrain"; + case DF_Type::unit_action__T_data__T_job: return "unit_action__T_data__T_job"; + case DF_Type::unit_action__T_data__T_job2: return "unit_action__T_data__T_job2"; + case DF_Type::unit_action__T_data__T_jump: return "unit_action__T_data__T_jump"; + case DF_Type::unit_action__T_data__T_liedown: return "unit_action__T_data__T_liedown"; + case DF_Type::unit_action__T_data__T_move: return "unit_action__T_data__T_move"; + case DF_Type::unit_action__T_data__T_move__T_flags: return "unit_action__T_data__T_move__T_flags"; + case DF_Type::unit_action__T_data__T_parry: return "unit_action__T_data__T_parry"; + case DF_Type::unit_action__T_data__T_pushobject: return "unit_action__T_data__T_pushobject"; + case DF_Type::unit_action__T_data__T_recover: return "unit_action__T_data__T_recover"; + case DF_Type::unit_action__T_data__T_releaseitem: return "unit_action__T_data__T_releaseitem"; + case DF_Type::unit_action__T_data__T_releaseterrain: return "unit_action__T_data__T_releaseterrain"; + case DF_Type::unit_action__T_data__T_standup: return "unit_action__T_data__T_standup"; + case DF_Type::unit_action__T_data__T_suckblood: return "unit_action__T_data__T_suckblood"; + case DF_Type::unit_action__T_data__T_talk: return "unit_action__T_data__T_talk"; + case DF_Type::unit_action__T_data__T_unsteady: return "unit_action__T_data__T_unsteady"; + case DF_Type::unit_action_type: return "unit_action_type"; + case DF_Type::unit_appearance: return "unit_appearance"; + case DF_Type::unit_attribute: return "unit_attribute"; + case DF_Type::unit_bp_health_flags: return "unit_bp_health_flags"; + case DF_Type::unit_chunk: return "unit_chunk"; + case DF_Type::unit_chunk__T_units: return "unit_chunk__T_units"; + case DF_Type::unit_coin_debt: return "unit_coin_debt"; + case DF_Type::unit_complaint: return "unit_complaint"; + case DF_Type::unit_complaint__T_type: return "unit_complaint__T_type"; + case DF_Type::unit_dance_skill: return "unit_dance_skill"; + case DF_Type::unit_demand: return "unit_demand"; + case DF_Type::unit_demand__T_place: return "unit_demand__T_place"; + case DF_Type::unit_emotion_memory: return "unit_emotion_memory"; + case DF_Type::unit_flags1: return "unit_flags1"; + case DF_Type::unit_flags2: return "unit_flags2"; + case DF_Type::unit_flags3: return "unit_flags3"; + case DF_Type::unit_flags4: return "unit_flags4"; + case DF_Type::unit_genes: return "unit_genes"; + case DF_Type::unit_ghost_info: return "unit_ghost_info"; + case DF_Type::unit_ghost_info__T_flags: return "unit_ghost_info__T_flags"; + case DF_Type::unit_ghost_info__T_target: return "unit_ghost_info__T_target"; + case DF_Type::unit_health_flags: return "unit_health_flags"; + case DF_Type::unit_health_info: return "unit_health_info"; + case DF_Type::unit_health_info__T_op_history: return "unit_health_info__T_op_history"; + case DF_Type::unit_health_info__T_op_history__T_info: return "unit_health_info__T_op_history__T_info"; + case DF_Type::unit_health_info__T_op_history__T_info__T_bandage: return "unit_health_info__T_op_history__T_info__T_bandage"; + case DF_Type::unit_health_info__T_op_history__T_info__T_crutch: return "unit_health_info__T_op_history__T_info__T_crutch"; + case DF_Type::unit_instrument_skill: return "unit_instrument_skill"; + case DF_Type::unit_inventory_item: return "unit_inventory_item"; + case DF_Type::unit_inventory_item__T_mode: return "unit_inventory_item__T_mode"; + case DF_Type::unit_item_use: return "unit_item_use"; + case DF_Type::unit_item_wrestle: return "unit_item_wrestle"; + case DF_Type::unit_labor: return "unit_labor"; + case DF_Type::unit_labor_category: return "unit_labor_category"; + case DF_Type::unit_misc_trait: return "unit_misc_trait"; + case DF_Type::unit_musical_skill: return "unit_musical_skill"; + case DF_Type::unit_path_goal: return "unit_path_goal"; + case DF_Type::unit_personality: return "unit_personality"; + case DF_Type::unit_personality__T_dreams: return "unit_personality__T_dreams"; + case DF_Type::unit_personality__T_emotions: return "unit_personality__T_emotions"; + case DF_Type::unit_personality__T_emotions__T_flags: return "unit_personality__T_emotions__T_flags"; + case DF_Type::unit_personality__T_flags: return "unit_personality__T_flags"; + case DF_Type::unit_personality__T_memories: return "unit_personality__T_memories"; + case DF_Type::unit_personality__T_memories__T_reflected_on: return "unit_personality__T_memories__T_reflected_on"; + case DF_Type::unit_personality__T_needs: return "unit_personality__T_needs"; + case DF_Type::unit_personality__T_unk5: return "unit_personality__T_unk5"; + case DF_Type::unit_personality__T_unk_v40_2: return "unit_personality__T_unk_v40_2"; + case DF_Type::unit_personality__T_unk_v40_6: return "unit_personality__T_unk_v40_6"; + case DF_Type::unit_personality__T_values: return "unit_personality__T_values"; + case DF_Type::unit_poetic_skill: return "unit_poetic_skill"; + case DF_Type::unit_preference: return "unit_preference"; + case DF_Type::unit_preference___union5: return "unit_preference___union5"; + case DF_Type::unit_preference__T_type: return "unit_preference__T_type"; + case DF_Type::unit_relationship_type: return "unit_relationship_type"; + case DF_Type::unit_report_type: return "unit_report_type"; + case DF_Type::unit_request: return "unit_request"; + case DF_Type::unit_request__T_type: return "unit_request__T_type"; + case DF_Type::unit_skill: return "unit_skill"; + case DF_Type::unit_soul: return "unit_soul"; + case DF_Type::unit_soul__T_performance_skills: return "unit_soul__T_performance_skills"; + case DF_Type::unit_station_type: return "unit_station_type"; + case DF_Type::unit_storage_status: return "unit_storage_status"; + case DF_Type::unit_syndrome: return "unit_syndrome"; + case DF_Type::unit_syndrome__T_flags: return "unit_syndrome__T_flags"; + case DF_Type::unit_syndrome__T_symptoms: return "unit_syndrome__T_symptoms"; + case DF_Type::unit_syndrome__T_symptoms__T_flags: return "unit_syndrome__T_symptoms__T_flags"; + case DF_Type::unit_thought_type: return "unit_thought_type"; + case DF_Type::unit_unk_138: return "unit_unk_138"; + case DF_Type::unit_wound: return "unit_wound"; + case DF_Type::unit_wound__T_flags: return "unit_wound__T_flags"; + case DF_Type::unit_wound__T_parts: return "unit_wound__T_parts"; + case DF_Type::units_other_id: return "units_other_id"; + case DF_Type::value_type: return "value_type"; + case DF_Type::vehicle: return "vehicle"; + case DF_Type::vermin: return "vermin"; + case DF_Type::vermin_flags: return "vermin_flags"; + case DF_Type::viewscreen: return "viewscreen"; + case DF_Type::viewscreen_adopt_regionst: return "viewscreen_adopt_regionst"; + case DF_Type::viewscreen_adventure_logst: return "viewscreen_adventure_logst"; + case DF_Type::viewscreen_adventure_logst__T_info_mode: return "viewscreen_adventure_logst__T_info_mode"; + case DF_Type::viewscreen_adventure_logst__T_mode: return "viewscreen_adventure_logst__T_mode"; + case DF_Type::viewscreen_announcelistst: return "viewscreen_announcelistst"; + case DF_Type::viewscreen_assign_display_itemst: return "viewscreen_assign_display_itemst"; + case DF_Type::viewscreen_assign_display_itemst__T_sel_column: return "viewscreen_assign_display_itemst__T_sel_column"; + case DF_Type::viewscreen_barterst: return "viewscreen_barterst"; + case DF_Type::viewscreen_buildinglistst: return "viewscreen_buildinglistst"; + case DF_Type::viewscreen_buildingst: return "viewscreen_buildingst"; + case DF_Type::viewscreen_choose_start_sitest: return "viewscreen_choose_start_sitest"; + case DF_Type::viewscreen_choose_start_sitest__T_finder: return "viewscreen_choose_start_sitest__T_finder"; + case DF_Type::viewscreen_choose_start_sitest__T_page: return "viewscreen_choose_start_sitest__T_page"; + case DF_Type::viewscreen_civlistst: return "viewscreen_civlistst"; + case DF_Type::viewscreen_civlistst__T_artifact_details: return "viewscreen_civlistst__T_artifact_details"; + case DF_Type::viewscreen_civlistst__T_page: return "viewscreen_civlistst__T_page"; + case DF_Type::viewscreen_civlistst__T_rumors: return "viewscreen_civlistst__T_rumors"; + case DF_Type::viewscreen_civlistst__T_rumors__T_type: return "viewscreen_civlistst__T_rumors__T_type"; + case DF_Type::viewscreen_civlistst__T_unk_cache: return "viewscreen_civlistst__T_unk_cache"; + case DF_Type::viewscreen_civlistst__T_unk_cache__T_tmp1: return "viewscreen_civlistst__T_unk_cache__T_tmp1"; + case DF_Type::viewscreen_civlistst__T_unk_cache__T_tmp2: return "viewscreen_civlistst__T_unk_cache__T_tmp2"; + case DF_Type::viewscreen_createquotast: return "viewscreen_createquotast"; + case DF_Type::viewscreen_customize_unitst: return "viewscreen_customize_unitst"; + case DF_Type::viewscreen_dungeon_monsterstatusst: return "viewscreen_dungeon_monsterstatusst"; + case DF_Type::viewscreen_dungeon_wrestlest: return "viewscreen_dungeon_wrestlest"; + case DF_Type::viewscreen_dungeon_wrestlest__T_unk1: return "viewscreen_dungeon_wrestlest__T_unk1"; + case DF_Type::viewscreen_dungeonmodest: return "viewscreen_dungeonmodest"; + case DF_Type::viewscreen_dwarfmodest: return "viewscreen_dwarfmodest"; + case DF_Type::viewscreen_entityst: return "viewscreen_entityst"; + case DF_Type::viewscreen_export_graphical_mapst: return "viewscreen_export_graphical_mapst"; + case DF_Type::viewscreen_export_regionst: return "viewscreen_export_regionst"; + case DF_Type::viewscreen_export_regionst__T_unk1: return "viewscreen_export_regionst__T_unk1"; + case DF_Type::viewscreen_game_cleanerst: return "viewscreen_game_cleanerst"; + case DF_Type::viewscreen_game_cleanerst__T_state: return "viewscreen_game_cleanerst__T_state"; + case DF_Type::viewscreen_image_creator_mode: return "viewscreen_image_creator_mode"; + case DF_Type::viewscreen_image_creatorst: return "viewscreen_image_creatorst"; + case DF_Type::viewscreen_image_creatorst__T_artifacts: return "viewscreen_image_creatorst__T_artifacts"; + case DF_Type::viewscreen_image_creatorst__T_descriptions: return "viewscreen_image_creatorst__T_descriptions"; + case DF_Type::viewscreen_image_creatorst__T_entities: return "viewscreen_image_creatorst__T_entities"; + case DF_Type::viewscreen_image_creatorst__T_objects: return "viewscreen_image_creatorst__T_objects"; + case DF_Type::viewscreen_image_creatorst__T_plants: return "viewscreen_image_creatorst__T_plants"; + case DF_Type::viewscreen_image_creatorst__T_shapes: return "viewscreen_image_creatorst__T_shapes"; + case DF_Type::viewscreen_image_creatorst__T_sites: return "viewscreen_image_creatorst__T_sites"; + case DF_Type::viewscreen_image_creatorst__T_trees: return "viewscreen_image_creatorst__T_trees"; + case DF_Type::viewscreen_itemst: return "viewscreen_itemst"; + case DF_Type::viewscreen_joblistst: return "viewscreen_joblistst"; + case DF_Type::viewscreen_jobmanagementst: return "viewscreen_jobmanagementst"; + case DF_Type::viewscreen_jobst: return "viewscreen_jobst"; + case DF_Type::viewscreen_justicest: return "viewscreen_justicest"; + case DF_Type::viewscreen_justicest__T_cur_column: return "viewscreen_justicest__T_cur_column"; + case DF_Type::viewscreen_kitchenpref_page: return "viewscreen_kitchenpref_page"; + case DF_Type::viewscreen_kitchenprefst: return "viewscreen_kitchenprefst"; + case DF_Type::viewscreen_layer: return "viewscreen_layer"; + case DF_Type::viewscreen_layer_arena_creaturest: return "viewscreen_layer_arena_creaturest"; + case DF_Type::viewscreen_layer_assigntradest: return "viewscreen_layer_assigntradest"; + case DF_Type::viewscreen_layer_choose_language_namest: return "viewscreen_layer_choose_language_namest"; + case DF_Type::viewscreen_layer_choose_language_namest__T_current_component: return "viewscreen_layer_choose_language_namest__T_current_component"; + case DF_Type::viewscreen_layer_currencyst: return "viewscreen_layer_currencyst"; + case DF_Type::viewscreen_layer_export_play_mapst: return "viewscreen_layer_export_play_mapst"; + case DF_Type::viewscreen_layer_militaryst: return "viewscreen_layer_militaryst"; + case DF_Type::viewscreen_layer_militaryst__T_ammo: return "viewscreen_layer_militaryst__T_ammo"; + case DF_Type::viewscreen_layer_militaryst__T_ammo__T_add_item: return "viewscreen_layer_militaryst__T_ammo__T_add_item"; + case DF_Type::viewscreen_layer_militaryst__T_ammo__T_material: return "viewscreen_layer_militaryst__T_ammo__T_material"; + case DF_Type::viewscreen_layer_militaryst__T_equip: return "viewscreen_layer_militaryst__T_equip"; + case DF_Type::viewscreen_layer_militaryst__T_equip__T_add_item: return "viewscreen_layer_militaryst__T_equip__T_add_item"; + case DF_Type::viewscreen_layer_militaryst__T_equip__T_assigned: return "viewscreen_layer_militaryst__T_equip__T_assigned"; + case DF_Type::viewscreen_layer_militaryst__T_equip__T_color: return "viewscreen_layer_militaryst__T_equip__T_color"; + case DF_Type::viewscreen_layer_militaryst__T_equip__T_edit_mode: return "viewscreen_layer_militaryst__T_equip__T_edit_mode"; + case DF_Type::viewscreen_layer_militaryst__T_equip__T_material: return "viewscreen_layer_militaryst__T_equip__T_material"; + case DF_Type::viewscreen_layer_militaryst__T_equip__T_mode: return "viewscreen_layer_militaryst__T_equip__T_mode"; + case DF_Type::viewscreen_layer_militaryst__T_equip__T_uniform: return "viewscreen_layer_militaryst__T_equip__T_uniform"; + case DF_Type::viewscreen_layer_militaryst__T_page: return "viewscreen_layer_militaryst__T_page"; + case DF_Type::viewscreen_layer_militaryst__T_positions: return "viewscreen_layer_militaryst__T_positions"; + case DF_Type::viewscreen_layer_militaryst__T_squad_members: return "viewscreen_layer_militaryst__T_squad_members"; + case DF_Type::viewscreen_layer_militaryst__T_squads: return "viewscreen_layer_militaryst__T_squads"; + case DF_Type::viewscreen_layer_musicsoundst: return "viewscreen_layer_musicsoundst"; + case DF_Type::viewscreen_layer_noblelistst: return "viewscreen_layer_noblelistst"; + case DF_Type::viewscreen_layer_noblelistst__T_candidates: return "viewscreen_layer_noblelistst__T_candidates"; + case DF_Type::viewscreen_layer_noblelistst__T_info: return "viewscreen_layer_noblelistst__T_info"; + case DF_Type::viewscreen_layer_noblelistst__T_mode: return "viewscreen_layer_noblelistst__T_mode"; + case DF_Type::viewscreen_layer_overall_healthst: return "viewscreen_layer_overall_healthst"; + case DF_Type::viewscreen_layer_reactionst: return "viewscreen_layer_reactionst"; + case DF_Type::viewscreen_layer_squad_schedulest: return "viewscreen_layer_squad_schedulest"; + case DF_Type::viewscreen_layer_stockpilest: return "viewscreen_layer_stockpilest"; + case DF_Type::viewscreen_layer_stone_restrictionst: return "viewscreen_layer_stone_restrictionst"; + case DF_Type::viewscreen_layer_unit_actionst: return "viewscreen_layer_unit_actionst"; + case DF_Type::viewscreen_layer_unit_healthst: return "viewscreen_layer_unit_healthst"; + case DF_Type::viewscreen_layer_unit_relationshipst: return "viewscreen_layer_unit_relationshipst"; + case DF_Type::viewscreen_layer_world_gen_param_presetst: return "viewscreen_layer_world_gen_param_presetst"; + case DF_Type::viewscreen_layer_world_gen_paramst: return "viewscreen_layer_world_gen_paramst"; + case DF_Type::viewscreen_layer_world_gen_paramst__T_unk1: return "viewscreen_layer_world_gen_paramst__T_unk1"; + case DF_Type::viewscreen_legendsst: return "viewscreen_legendsst"; + case DF_Type::viewscreen_legendsst__T_anon_7: return "viewscreen_legendsst__T_anon_7"; + case DF_Type::viewscreen_legendsst__T_anon_7__T_anon_3: return "viewscreen_legendsst__T_anon_7__T_anon_3"; + case DF_Type::viewscreen_legendsst__T_cur_page: return "viewscreen_legendsst__T_cur_page"; + case DF_Type::viewscreen_loadgamest: return "viewscreen_loadgamest"; + case DF_Type::viewscreen_loadgamest__T_cur_step: return "viewscreen_loadgamest__T_cur_step"; + case DF_Type::viewscreen_locationsst: return "viewscreen_locationsst"; + case DF_Type::viewscreen_locationsst__T_in_edit: return "viewscreen_locationsst__T_in_edit"; + case DF_Type::viewscreen_locationsst__T_menu: return "viewscreen_locationsst__T_menu"; + case DF_Type::viewscreen_meetingst: return "viewscreen_meetingst"; + case DF_Type::viewscreen_movieplayerst: return "viewscreen_movieplayerst"; + case DF_Type::viewscreen_new_regionst: return "viewscreen_new_regionst"; + case DF_Type::viewscreen_noblest: return "viewscreen_noblest"; + case DF_Type::viewscreen_optionst: return "viewscreen_optionst"; + case DF_Type::viewscreen_optionst__T_options: return "viewscreen_optionst__T_options"; + case DF_Type::viewscreen_overallstatusst: return "viewscreen_overallstatusst"; + case DF_Type::viewscreen_overallstatusst__T_visible_pages: return "viewscreen_overallstatusst__T_visible_pages"; + case DF_Type::viewscreen_petitionsst: return "viewscreen_petitionsst"; + case DF_Type::viewscreen_petst: return "viewscreen_petst"; + case DF_Type::viewscreen_petst__T_animal: return "viewscreen_petst__T_animal"; + case DF_Type::viewscreen_petst__T_mode: return "viewscreen_petst__T_mode"; + case DF_Type::viewscreen_petst__T_trainer_mode: return "viewscreen_petst__T_trainer_mode"; + case DF_Type::viewscreen_pricest: return "viewscreen_pricest"; + case DF_Type::viewscreen_reportlistst: return "viewscreen_reportlistst"; + case DF_Type::viewscreen_requestagreementst: return "viewscreen_requestagreementst"; + case DF_Type::viewscreen_savegamest: return "viewscreen_savegamest"; + case DF_Type::viewscreen_selectitemst: return "viewscreen_selectitemst"; + case DF_Type::viewscreen_setupadventurest: return "viewscreen_setupadventurest"; + case DF_Type::viewscreen_setupadventurest__T_background_type: return "viewscreen_setupadventurest__T_background_type"; + case DF_Type::viewscreen_setupadventurest__T_page: return "viewscreen_setupadventurest__T_page"; + case DF_Type::viewscreen_setupadventurest__T_races_info: return "viewscreen_setupadventurest__T_races_info"; + case DF_Type::viewscreen_setupadventurest__T_sel_trait_column: return "viewscreen_setupadventurest__T_sel_trait_column"; + case DF_Type::viewscreen_setupdwarfgamest: return "viewscreen_setupdwarfgamest"; + case DF_Type::viewscreen_setupdwarfgamest__T_animals: return "viewscreen_setupdwarfgamest__T_animals"; + case DF_Type::viewscreen_setupdwarfgamest__T_choice_types: return "viewscreen_setupdwarfgamest__T_choice_types"; + case DF_Type::viewscreen_setupdwarfgamest__T_mode: return "viewscreen_setupdwarfgamest__T_mode"; + case DF_Type::viewscreen_setupdwarfgamest__T_unk_v43: return "viewscreen_setupdwarfgamest__T_unk_v43"; + case DF_Type::viewscreen_setupdwarfgamest__T_unk_v43__T_unk_v43_sub9: return "viewscreen_setupdwarfgamest__T_unk_v43__T_unk_v43_sub9"; + case DF_Type::viewscreen_storesst: return "viewscreen_storesst"; + case DF_Type::viewscreen_textviewerst: return "viewscreen_textviewerst"; + case DF_Type::viewscreen_textviewerst__T_formatted_text: return "viewscreen_textviewerst__T_formatted_text"; + case DF_Type::viewscreen_textviewerst__T_formatted_text__T_flags: return "viewscreen_textviewerst__T_formatted_text__T_flags"; + case DF_Type::viewscreen_titlest: return "viewscreen_titlest"; + case DF_Type::viewscreen_titlest__T_menu_line_id: return "viewscreen_titlest__T_menu_line_id"; + case DF_Type::viewscreen_titlest__T_sel_subpage: return "viewscreen_titlest__T_sel_subpage"; + case DF_Type::viewscreen_titlest__T_start_savegames: return "viewscreen_titlest__T_start_savegames"; + case DF_Type::viewscreen_topicmeeting_fill_land_holder_positionsst: return "viewscreen_topicmeeting_fill_land_holder_positionsst"; + case DF_Type::viewscreen_topicmeeting_takerequestsst: return "viewscreen_topicmeeting_takerequestsst"; + case DF_Type::viewscreen_topicmeetingst: return "viewscreen_topicmeetingst"; + case DF_Type::viewscreen_tradeagreementst: return "viewscreen_tradeagreementst"; + case DF_Type::viewscreen_tradegoodsst: return "viewscreen_tradegoodsst"; + case DF_Type::viewscreen_tradelistst: return "viewscreen_tradelistst"; + case DF_Type::viewscreen_treasurelistst: return "viewscreen_treasurelistst"; + case DF_Type::viewscreen_unitlist_page: return "viewscreen_unitlist_page"; + case DF_Type::viewscreen_unitlistst: return "viewscreen_unitlistst"; + case DF_Type::viewscreen_unitst: return "viewscreen_unitst"; + case DF_Type::viewscreen_update_regionst: return "viewscreen_update_regionst"; + case DF_Type::viewscreen_wagesst: return "viewscreen_wagesst"; + case DF_Type::viewscreen_workquota_conditionst: return "viewscreen_workquota_conditionst"; + case DF_Type::viewscreen_workquota_conditionst__T_mode: return "viewscreen_workquota_conditionst__T_mode"; + case DF_Type::viewscreen_workquota_conditionst__T_traits: return "viewscreen_workquota_conditionst__T_traits"; + case DF_Type::viewscreen_workquota_conditionst__T_traits__T_flags: return "viewscreen_workquota_conditionst__T_traits__T_flags"; + case DF_Type::viewscreen_workquota_detailsst: return "viewscreen_workquota_detailsst"; + case DF_Type::viewscreen_workshop_profilest: return "viewscreen_workshop_profilest"; + case DF_Type::viewscreen_workshop_profilest__T_tab: return "viewscreen_workshop_profilest__T_tab"; + case DF_Type::weapon_attack: return "weapon_attack"; + case DF_Type::weapon_attack__T_flags: return "weapon_attack__T_flags"; + case DF_Type::weapon_flags: return "weapon_flags"; + case DF_Type::weather_type: return "weather_type"; + case DF_Type::web_cluster: return "web_cluster"; + case DF_Type::widget_menu: return "widget_menu"; + case DF_Type::widget_textbox: return "widget_textbox"; + case DF_Type::workshop_profile: return "workshop_profile"; + case DF_Type::workshop_type: return "workshop_type"; + case DF_Type::world: return "world"; + case DF_Type::world__T_activities: return "world__T_activities"; + case DF_Type::world__T_agreements: return "world__T_agreements"; + case DF_Type::world__T_arena_settings: return "world__T_arena_settings"; + case DF_Type::world__T_arena_spawn: return "world__T_arena_spawn"; + case DF_Type::world__T_arena_spawn__T_equipment: return "world__T_arena_spawn__T_equipment"; + case DF_Type::world__T_arena_spawn__T_item_types: return "world__T_arena_spawn__T_item_types"; + case DF_Type::world__T_armies: return "world__T_armies"; + case DF_Type::world__T_army_controllers: return "world__T_army_controllers"; + case DF_Type::world__T_army_tracking_info: return "world__T_army_tracking_info"; + case DF_Type::world__T_artifacts: return "world__T_artifacts"; + case DF_Type::world__T_belief_systems: return "world__T_belief_systems"; + case DF_Type::world__T_crimes: return "world__T_crimes"; + case DF_Type::world__T_cultural_identities: return "world__T_cultural_identities"; + case DF_Type::world__T_cur_savegame: return "world__T_cur_savegame"; + case DF_Type::world__T_dance_forms: return "world__T_dance_forms"; + case DF_Type::world__T_enemy_status_cache: return "world__T_enemy_status_cache"; + case DF_Type::world__T_entities: return "world__T_entities"; + case DF_Type::world__T_features: return "world__T_features"; + case DF_Type::world__T_flow_engine: return "world__T_flow_engine"; + case DF_Type::world__T_flow_guides: return "world__T_flow_guides"; + case DF_Type::world__T_formations: return "world__T_formations"; + case DF_Type::world__T_identities: return "world__T_identities"; + case DF_Type::world__T_incidents: return "world__T_incidents"; + case DF_Type::world__T_interaction_instances: return "world__T_interaction_instances"; + case DF_Type::world__T_items: return "world__T_items"; + case DF_Type::world__T_languages: return "world__T_languages"; + case DF_Type::world__T_map: return "world__T_map"; + case DF_Type::world__T_map_extras: return "world__T_map_extras"; + case DF_Type::world__T_math: return "world__T_math"; + case DF_Type::world__T_math__T_approx: return "world__T_math__T_approx"; + case DF_Type::world__T_musical_forms: return "world__T_musical_forms"; + case DF_Type::world__T_nemesis: return "world__T_nemesis"; + case DF_Type::world__T_occupations: return "world__T_occupations"; + case DF_Type::world__T_pathfinder: return "world__T_pathfinder"; + case DF_Type::world__T_pathfinder__T_boundary_heap: return "world__T_pathfinder__T_boundary_heap"; + case DF_Type::world__T_plants: return "world__T_plants"; + case DF_Type::world__T_poetic_forms: return "world__T_poetic_forms"; + case DF_Type::world__T_profession_skills: return "world__T_profession_skills"; + case DF_Type::world__T_rhythms: return "world__T_rhythms"; + case DF_Type::world__T_scales: return "world__T_scales"; + case DF_Type::world__T_schedules: return "world__T_schedules"; + case DF_Type::world__T_squads: return "world__T_squads"; + case DF_Type::world__T_status: return "world__T_status"; + case DF_Type::world__T_status__T_flags: return "world__T_status__T_flags"; + case DF_Type::world__T_status__T_slots: return "world__T_status__T_slots"; + case DF_Type::world__T_status__T_slots__T_flags: return "world__T_status__T_slots__T_flags"; + case DF_Type::world__T_stockpile: return "world__T_stockpile"; + case DF_Type::world__T_stockpile__T_simple1: return "world__T_stockpile__T_simple1"; + case DF_Type::world__T_stockpile__T_simple2: return "world__T_stockpile__T_simple2"; + case DF_Type::world__T_stockpile__T_simple3: return "world__T_stockpile__T_simple3"; + case DF_Type::world__T_units: return "world__T_units"; + case DF_Type::world__T_unk_131ec0: return "world__T_unk_131ec0"; + case DF_Type::world__T_unk_131ef0: return "world__T_unk_131ef0"; + case DF_Type::world__T_unk_131ef0__T_unk_2: return "world__T_unk_131ef0__T_unk_2"; + case DF_Type::world__T_unk_19325c: return "world__T_unk_19325c"; + case DF_Type::world__T_unk_19325c__T_anon_1: return "world__T_unk_19325c__T_anon_1"; + case DF_Type::world__T_unk_19325c__T_anon_2: return "world__T_unk_19325c__T_anon_2"; + case DF_Type::world__T_unk_19325c__T_anon_3: return "world__T_unk_19325c__T_anon_3"; + case DF_Type::world__T_unk_59dc4: return "world__T_unk_59dc4"; + case DF_Type::world__T_unk_59dc4__T_unk1: return "world__T_unk_59dc4__T_unk1"; + case DF_Type::world__T_unk_v40_6: return "world__T_unk_v40_6"; + case DF_Type::world__T_vehicles: return "world__T_vehicles"; + case DF_Type::world__T_vermin: return "world__T_vermin"; + case DF_Type::world__T_worldgen: return "world__T_worldgen"; + case DF_Type::world__T_worldgen__T_worldgen_parms: return "world__T_worldgen__T_worldgen_parms"; + case DF_Type::world__T_worldgen_coord_buf: return "world__T_worldgen_coord_buf"; + case DF_Type::world__T_worldgen_status: return "world__T_worldgen_status"; + case DF_Type::world__T_written_contents: return "world__T_written_contents"; + case DF_Type::world_construction: return "world_construction"; + case DF_Type::world_construction_bridgest: return "world_construction_bridgest"; + case DF_Type::world_construction_roadst: return "world_construction_roadst"; + case DF_Type::world_construction_square: return "world_construction_square"; + case DF_Type::world_construction_square_bridgest: return "world_construction_square_bridgest"; + case DF_Type::world_construction_square_roadst: return "world_construction_square_roadst"; + case DF_Type::world_construction_square_tunnelst: return "world_construction_square_tunnelst"; + case DF_Type::world_construction_square_wallst: return "world_construction_square_wallst"; + case DF_Type::world_construction_tunnelst: return "world_construction_tunnelst"; + case DF_Type::world_construction_type: return "world_construction_type"; + case DF_Type::world_construction_wallst: return "world_construction_wallst"; + case DF_Type::world_dat_summary: return "world_dat_summary"; + case DF_Type::world_data: return "world_data"; + case DF_Type::world_data__T_constructions: return "world_data__T_constructions"; + case DF_Type::world_data__T_feature_map: return "world_data__T_feature_map"; + case DF_Type::world_data__T_feature_map__T_features: return "world_data__T_feature_map__T_features"; + case DF_Type::world_data__T_flip_latitude: return "world_data__T_flip_latitude"; + case DF_Type::world_data__T_freakish_weather: return "world_data__T_freakish_weather"; + case DF_Type::world_data__T_mountain_peaks: return "world_data__T_mountain_peaks"; + case DF_Type::world_data__T_unk_150: return "world_data__T_unk_150"; + case DF_Type::world_data__T_unk_150__T_unk_18: return "world_data__T_unk_150__T_unk_18"; + case DF_Type::world_data__T_unk_150__T_unk_28: return "world_data__T_unk_150__T_unk_28"; + case DF_Type::world_data__T_unk_150__T_unk_8: return "world_data__T_unk_150__T_unk_8"; + case DF_Type::world_data__T_unk_170: return "world_data__T_unk_170"; + case DF_Type::world_data__T_unk_170__T_unk_4: return "world_data__T_unk_170__T_unk_4"; + case DF_Type::world_data__T_unk_274: return "world_data__T_unk_274"; + case DF_Type::world_data__T_unk_274__T_unk_10: return "world_data__T_unk_274__T_unk_10"; + case DF_Type::world_data__T_unk_482f8: return "world_data__T_unk_482f8"; + case DF_Type::world_data__T_unk_b4: return "world_data__T_unk_b4"; + case DF_Type::world_gen_param_basest: return "world_gen_param_basest"; + case DF_Type::world_gen_param_charst: return "world_gen_param_charst"; + case DF_Type::world_gen_param_memberst: return "world_gen_param_memberst"; + case DF_Type::world_gen_param_seedst: return "world_gen_param_seedst"; + case DF_Type::world_gen_param_valuest: return "world_gen_param_valuest"; + case DF_Type::world_geo_biome: return "world_geo_biome"; + case DF_Type::world_geo_layer: return "world_geo_layer"; + case DF_Type::world_history: return "world_history"; + case DF_Type::world_history__T_event_collections: return "world_history__T_event_collections"; + case DF_Type::world_landmass: return "world_landmass"; + case DF_Type::world_object_data: return "world_object_data"; + case DF_Type::world_object_data__T_offloaded_buildings: return "world_object_data__T_offloaded_buildings"; + case DF_Type::world_object_data__T_offloaded_items: return "world_object_data__T_offloaded_items"; + case DF_Type::world_object_data__T_unk_94: return "world_object_data__T_unk_94"; + case DF_Type::world_population: return "world_population"; + case DF_Type::world_population___union7: return "world_population___union7"; + case DF_Type::world_population_ref: return "world_population_ref"; + case DF_Type::world_population_type: return "world_population_type"; + case DF_Type::world_raws: return "world_raws"; + case DF_Type::world_raws__T_bodyglosses: return "world_raws__T_bodyglosses"; + case DF_Type::world_raws__T_buildings: return "world_raws__T_buildings"; + case DF_Type::world_raws__T_descriptors: return "world_raws__T_descriptors"; + case DF_Type::world_raws__T_effects: return "world_raws__T_effects"; + case DF_Type::world_raws__T_itemdefs: return "world_raws__T_itemdefs"; + case DF_Type::world_raws__T_language: return "world_raws__T_language"; + case DF_Type::world_raws__T_plants: return "world_raws__T_plants"; + case DF_Type::world_raws__T_reactions: return "world_raws__T_reactions"; + case DF_Type::world_raws__T_syndromes: return "world_raws__T_syndromes"; + case DF_Type::world_region: return "world_region"; + case DF_Type::world_region_details: return "world_region_details"; + case DF_Type::world_region_details__T_edges: return "world_region_details__T_edges"; + case DF_Type::world_region_details__T_rivers_horizontal: return "world_region_details__T_rivers_horizontal"; + case DF_Type::world_region_details__T_rivers_vertical: return "world_region_details__T_rivers_vertical"; + case DF_Type::world_region_feature: return "world_region_feature"; + case DF_Type::world_region_type: return "world_region_type"; + case DF_Type::world_river: return "world_river"; + case DF_Type::world_site: return "world_site"; + case DF_Type::world_site__T_subtype_info: return "world_site__T_subtype_info"; + case DF_Type::world_site__T_unk_1: return "world_site__T_unk_1"; + case DF_Type::world_site__T_unk_118: return "world_site__T_unk_118"; + case DF_Type::world_site__T_unk_13c: return "world_site__T_unk_13c"; + case DF_Type::world_site__T_unk_188: return "world_site__T_unk_188"; + case DF_Type::world_site__T_unk_188__T_unk1: return "world_site__T_unk_188__T_unk1"; + case DF_Type::world_site__T_unk_1__T_units: return "world_site__T_unk_1__T_units"; + case DF_Type::world_site__T_unk_21c: return "world_site__T_unk_21c"; + case DF_Type::world_site__T_unk_v40_2: return "world_site__T_unk_v40_2"; + case DF_Type::world_site__T_unk_v40_4a: return "world_site__T_unk_v40_4a"; + case DF_Type::world_site__T_unk_v40_4b: return "world_site__T_unk_v40_4b"; + case DF_Type::world_site__T_unk_v40_4c: return "world_site__T_unk_v40_4c"; + case DF_Type::world_site__T_unk_v40_4d: return "world_site__T_unk_v40_4d"; + case DF_Type::world_site__T_unk_v40_4d__T_anon_2: return "world_site__T_unk_v40_4d__T_anon_2"; + case DF_Type::world_site__T_unk_v43_2: return "world_site__T_unk_v43_2"; + case DF_Type::world_site_flags: return "world_site_flags"; + case DF_Type::world_site_inhabitant: return "world_site_inhabitant"; + case DF_Type::world_site_realization: return "world_site_realization"; + case DF_Type::world_site_realization__T_areas: return "world_site_realization__T_areas"; + case DF_Type::world_site_realization__T_areas__T_type: return "world_site_realization__T_areas__T_type"; + case DF_Type::world_site_realization__T_building_map: return "world_site_realization__T_building_map"; + case DF_Type::world_site_realization__T_river_map: return "world_site_realization__T_river_map"; + case DF_Type::world_site_realization__T_unk_193bc: return "world_site_realization__T_unk_193bc"; + case DF_Type::world_site_realization__T_unk_193bc__T_unk_8: return "world_site_realization__T_unk_193bc__T_unk_8"; + case DF_Type::world_site_realization__T_unk_55e8: return "world_site_realization__T_unk_55e8"; + case DF_Type::world_site_realization__T_unk_55e8__T_unk_v40_2: return "world_site_realization__T_unk_55e8__T_unk_v40_2"; + case DF_Type::world_site_type: return "world_site_type"; + case DF_Type::world_site_unk130: return "world_site_unk130"; + case DF_Type::world_site_unk130__T_unk_4: return "world_site_unk130__T_unk_4"; + case DF_Type::world_underground_region: return "world_underground_region"; + case DF_Type::world_underground_region__T_type: return "world_underground_region__T_type"; + case DF_Type::world_unk_20: return "world_unk_20"; + case DF_Type::world_unk_20__T_anon_7: return "world_unk_20__T_anon_7"; + case DF_Type::world_unk_6c: return "world_unk_6c"; + case DF_Type::world_unk_9c: return "world_unk_9c"; + case DF_Type::world_unk_a8: return "world_unk_a8"; + case DF_Type::world_unk_b4: return "world_unk_b4"; + case DF_Type::world_unk_c0: return "world_unk_c0"; + case DF_Type::world_unk_c0__T_anon_7: return "world_unk_c0__T_anon_7"; + case DF_Type::worldgen_range_type: return "worldgen_range_type"; + case DF_Type::worldgen_region_type: return "worldgen_region_type"; + case DF_Type::wound_curse_info: return "wound_curse_info"; + case DF_Type::wound_damage_flags1: return "wound_damage_flags1"; + case DF_Type::wound_damage_flags2: return "wound_damage_flags2"; + case DF_Type::wound_effect_type: return "wound_effect_type"; + case DF_Type::written_content: return "written_content"; + case DF_Type::written_content_style: return "written_content_style"; + case DF_Type::written_content_type: return "written_content_type"; + case DF_Type::z_level_flags: return "z_level_flags"; + case DF_Type::zoom_commands: return "zoom_commands"; + } + return ""; +} + +static std::map translation_table = +{ + { "None" , DF_Type::None }, + { "int64_t" , DF_Type::int64_t }, + { "uint64_t" , DF_Type::uint64_t }, + { "int32_t" , DF_Type::int32_t }, + { "int16_t" , DF_Type::int16_t }, + { "uint32_t" , DF_Type::uint32_t }, + { "uint16_t" , DF_Type::uint16_t }, + { "uint8_t" , DF_Type::uint8_t }, + { "int8_t" , DF_Type::int8_t }, + { "Void" , DF_Type::Void }, + { "void" , DF_Type::Void }, + { "Char" , DF_Type::Char }, + { "char" , DF_Type::Char }, + { "Long" , DF_Type::Long }, + { "long" , DF_Type::Long }, + { "Bool" , DF_Type::Bool }, + { "bool" , DF_Type::Bool }, + { "Stl_string" , DF_Type::Stl_string }, + { "stl_string" , DF_Type::Stl_string }, + { "Static_string", DF_Type::Static_string }, + { "static_string", DF_Type::Static_string }, + { "Ptr_string" , DF_Type::Ptr_string }, + { "ptr_string" , DF_Type::Ptr_string }, + { "S_float" , DF_Type::S_float }, + { "s_float" , DF_Type::S_float }, + { "D_float" , DF_Type::D_float }, + { "d_float" , DF_Type::D_float }, + { "S_double" , DF_Type::S_double }, + { "s_double" , DF_Type::S_double }, + { "Padding" , DF_Type::Padding }, + { "padding" , DF_Type::Padding }, + { "Stl_fstream" , DF_Type::Stl_fstream }, + { "stl_fstream" , DF_Type::Stl_fstream }, + { "abstract_building", DF_Type::abstract_building }, + { "abstract_building__T_inhabitants", DF_Type::abstract_building__T_inhabitants }, + { "abstract_building__T_unk1", DF_Type::abstract_building__T_unk1 }, + { "abstract_building_contents", DF_Type::abstract_building_contents }, + { "abstract_building_dark_towerst", DF_Type::abstract_building_dark_towerst }, + { "abstract_building_dungeonst", DF_Type::abstract_building_dungeonst }, + { "abstract_building_dungeonst__T_dungeon_type", DF_Type::abstract_building_dungeonst__T_dungeon_type }, + { "abstract_building_flags", DF_Type::abstract_building_flags }, + { "abstract_building_inn_tavernst", DF_Type::abstract_building_inn_tavernst }, + { "abstract_building_inn_tavernst__T_room_info", DF_Type::abstract_building_inn_tavernst__T_room_info }, + { "abstract_building_keepst", DF_Type::abstract_building_keepst }, + { "abstract_building_libraryst", DF_Type::abstract_building_libraryst }, + { "abstract_building_marketst", DF_Type::abstract_building_marketst }, + { "abstract_building_mead_hallst", DF_Type::abstract_building_mead_hallst }, + { "abstract_building_templest", DF_Type::abstract_building_templest }, + { "abstract_building_tombst", DF_Type::abstract_building_tombst }, + { "abstract_building_type", DF_Type::abstract_building_type }, + { "abstract_building_underworld_spirest", DF_Type::abstract_building_underworld_spirest }, + { "abstract_building_unk", DF_Type::abstract_building_unk }, + { "abstract_building_unk__T_anon_1", DF_Type::abstract_building_unk__T_anon_1 }, + { "active_script_var_longst", DF_Type::active_script_var_longst }, + { "active_script_var_unitst", DF_Type::active_script_var_unitst }, + { "active_script_varst", DF_Type::active_script_varst }, + { "activity_entry", DF_Type::activity_entry }, + { "activity_event", DF_Type::activity_event }, + { "activity_event__T_flags", DF_Type::activity_event__T_flags }, + { "activity_event__T_unk_v42_1", DF_Type::activity_event__T_unk_v42_1 }, + { "activity_event__T_unk_v42_2", DF_Type::activity_event__T_unk_v42_2 }, + { "activity_event_combat_trainingst", DF_Type::activity_event_combat_trainingst }, + { "activity_event_conflictst", DF_Type::activity_event_conflictst }, + { "activity_event_conflictst__T_sides", DF_Type::activity_event_conflictst__T_sides }, + { "activity_event_conflictst__T_sides__T_enemies", DF_Type::activity_event_conflictst__T_sides__T_enemies }, + { "activity_event_conversationst", DF_Type::activity_event_conversationst }, + { "activity_event_conversationst__T_anon_6", DF_Type::activity_event_conversationst__T_anon_6 }, + { "activity_event_conversationst__T_flags2", DF_Type::activity_event_conversationst__T_flags2 }, + { "activity_event_conversationst__T_participants", DF_Type::activity_event_conversationst__T_participants }, + { "activity_event_conversationst__T_turns", DF_Type::activity_event_conversationst__T_turns }, + { "activity_event_conversationst__T_unk2", DF_Type::activity_event_conversationst__T_unk2 }, + { "activity_event_conversationst__T_unk_b4", DF_Type::activity_event_conversationst__T_unk_b4 }, + { "activity_event_copy_written_contentst", DF_Type::activity_event_copy_written_contentst }, + { "activity_event_copy_written_contentst__T_flagsmaybe", DF_Type::activity_event_copy_written_contentst__T_flagsmaybe }, + { "activity_event_discuss_topicst", DF_Type::activity_event_discuss_topicst }, + { "activity_event_encounterst", DF_Type::activity_event_encounterst }, + { "activity_event_encounterst__T_anon_1", DF_Type::activity_event_encounterst__T_anon_1 }, + { "activity_event_encounterst__T_anon_2", DF_Type::activity_event_encounterst__T_anon_2 }, + { "activity_event_fill_service_orderst", DF_Type::activity_event_fill_service_orderst }, + { "activity_event_guardst", DF_Type::activity_event_guardst }, + { "activity_event_harassmentst", DF_Type::activity_event_harassmentst }, + { "activity_event_harassmentst__T_anon_2", DF_Type::activity_event_harassmentst__T_anon_2 }, + { "activity_event_individual_skill_drillst", DF_Type::activity_event_individual_skill_drillst }, + { "activity_event_make_believest", DF_Type::activity_event_make_believest }, + { "activity_event_participants", DF_Type::activity_event_participants }, + { "activity_event_performancest", DF_Type::activity_event_performancest }, + { "activity_event_performancest__T_participant_actions", DF_Type::activity_event_performancest__T_participant_actions }, + { "activity_event_play_with_toyst", DF_Type::activity_event_play_with_toyst }, + { "activity_event_play_with_toyst__T_unk", DF_Type::activity_event_play_with_toyst__T_unk }, + { "activity_event_playst", DF_Type::activity_event_playst }, + { "activity_event_ponder_topicst", DF_Type::activity_event_ponder_topicst }, + { "activity_event_prayerst", DF_Type::activity_event_prayerst }, + { "activity_event_ranged_practicest", DF_Type::activity_event_ranged_practicest }, + { "activity_event_readst", DF_Type::activity_event_readst }, + { "activity_event_researchst", DF_Type::activity_event_researchst }, + { "activity_event_reunionst", DF_Type::activity_event_reunionst }, + { "activity_event_skill_demonstrationst", DF_Type::activity_event_skill_demonstrationst }, + { "activity_event_socializest", DF_Type::activity_event_socializest }, + { "activity_event_sparringst", DF_Type::activity_event_sparringst }, + { "activity_event_sparringst__T_groups", DF_Type::activity_event_sparringst__T_groups }, + { "activity_event_store_objectst", DF_Type::activity_event_store_objectst }, + { "activity_event_teach_topicst", DF_Type::activity_event_teach_topicst }, + { "activity_event_training_sessionst", DF_Type::activity_event_training_sessionst }, + { "activity_event_type", DF_Type::activity_event_type }, + { "activity_event_worshipst", DF_Type::activity_event_worshipst }, + { "activity_event_writest", DF_Type::activity_event_writest }, + { "activity_info", DF_Type::activity_info }, + { "activity_info__T_flags", DF_Type::activity_info__T_flags }, + { "adventure_environment_ingest_from_containerst", DF_Type::adventure_environment_ingest_from_containerst }, + { "adventure_environment_ingest_materialst", DF_Type::adventure_environment_ingest_materialst }, + { "adventure_environment_optionst", DF_Type::adventure_environment_optionst }, + { "adventure_environment_pickup_chop_treest", DF_Type::adventure_environment_pickup_chop_treest }, + { "adventure_environment_pickup_ignite_vegst", DF_Type::adventure_environment_pickup_ignite_vegst }, + { "adventure_environment_pickup_make_campfirest", DF_Type::adventure_environment_pickup_make_campfirest }, + { "adventure_environment_pickup_vermin_eventst", DF_Type::adventure_environment_pickup_vermin_eventst }, + { "adventure_environment_place_in_bld_containerst", DF_Type::adventure_environment_place_in_bld_containerst }, + { "adventure_environment_place_in_it_containerst", DF_Type::adventure_environment_place_in_it_containerst }, + { "adventure_environment_unit_suck_bloodst", DF_Type::adventure_environment_unit_suck_bloodst }, + { "adventure_item_interact_choicest", DF_Type::adventure_item_interact_choicest }, + { "adventure_item_interact_fill_from_containerst", DF_Type::adventure_item_interact_fill_from_containerst }, + { "adventure_item_interact_fill_with_materialst", DF_Type::adventure_item_interact_fill_with_materialst }, + { "adventure_item_interact_give_namest", DF_Type::adventure_item_interact_give_namest }, + { "adventure_item_interact_heat_from_tilest", DF_Type::adventure_item_interact_heat_from_tilest }, + { "adventure_item_interact_pull_outst", DF_Type::adventure_item_interact_pull_outst }, + { "adventure_item_interact_readst", DF_Type::adventure_item_interact_readst }, + { "adventure_item_interact_strugglest", DF_Type::adventure_item_interact_strugglest }, + { "adventure_log_item", DF_Type::adventure_log_item }, + { "adventure_movement_attack_creaturest", DF_Type::adventure_movement_attack_creaturest }, + { "adventure_movement_building_interactst", DF_Type::adventure_movement_building_interactst }, + { "adventure_movement_climbst", DF_Type::adventure_movement_climbst }, + { "adventure_movement_hold_itemst", DF_Type::adventure_movement_hold_itemst }, + { "adventure_movement_hold_tilest", DF_Type::adventure_movement_hold_tilest }, + { "adventure_movement_item_interact_guidest", DF_Type::adventure_movement_item_interact_guidest }, + { "adventure_movement_item_interact_pushst", DF_Type::adventure_movement_item_interact_pushst }, + { "adventure_movement_item_interact_ridest", DF_Type::adventure_movement_item_interact_ridest }, + { "adventure_movement_item_interactst", DF_Type::adventure_movement_item_interactst }, + { "adventure_movement_movest", DF_Type::adventure_movement_movest }, + { "adventure_movement_optionst", DF_Type::adventure_movement_optionst }, + { "adventure_movement_release_hold_itemst", DF_Type::adventure_movement_release_hold_itemst }, + { "adventure_movement_release_hold_tilest", DF_Type::adventure_movement_release_hold_tilest }, + { "adventure_option_eat_item_contaminantst", DF_Type::adventure_option_eat_item_contaminantst }, + { "adventure_option_eat_unit_contaminantst", DF_Type::adventure_option_eat_unit_contaminantst }, + { "adventure_option_view_contaminantst", DF_Type::adventure_option_view_contaminantst }, + { "adventure_optionst", DF_Type::adventure_optionst }, + { "adventurer_attribute_level", DF_Type::adventurer_attribute_level }, + { "agreement", DF_Type::agreement }, + { "agreement__T_details", DF_Type::agreement__T_details }, + { "agreement__T_details__T_data", DF_Type::agreement__T_details__T_data }, + { "agreement__T_details__T_data__T_data0", DF_Type::agreement__T_details__T_data__T_data0 }, + { "agreement__T_details__T_data__T_data1", DF_Type::agreement__T_details__T_data__T_data1 }, + { "agreement__T_parties", DF_Type::agreement__T_parties }, + { "agreement__T_parties__T_anon_1", DF_Type::agreement__T_parties__T_anon_1 }, + { "ammo_flags", DF_Type::ammo_flags }, + { "animal_training_level", DF_Type::animal_training_level }, + { "announcement_flags", DF_Type::announcement_flags }, + { "announcement_type", DF_Type::announcement_type }, + { "announcements", DF_Type::announcements }, + { "appearance_modifier_growth_interval", DF_Type::appearance_modifier_growth_interval }, + { "appearance_modifier_type", DF_Type::appearance_modifier_type }, + { "armor_flags", DF_Type::armor_flags }, + { "armor_general_flags", DF_Type::armor_general_flags }, + { "armor_properties", DF_Type::armor_properties }, + { "army", DF_Type::army }, + { "army__T_members", DF_Type::army__T_members }, + { "army__T_unk_2c", DF_Type::army__T_unk_2c }, + { "army_controller", DF_Type::army_controller }, + { "army_controller__T_unk_64", DF_Type::army_controller__T_unk_64 }, + { "army_controller_sub1", DF_Type::army_controller_sub1 }, + { "army_controller_sub11", DF_Type::army_controller_sub11 }, + { "army_controller_sub11__T_anon_3", DF_Type::army_controller_sub11__T_anon_3 }, + { "army_controller_sub12", DF_Type::army_controller_sub12 }, + { "army_controller_sub12__T_anon_4", DF_Type::army_controller_sub12__T_anon_4 }, + { "army_controller_sub13", DF_Type::army_controller_sub13 }, + { "army_controller_sub13__T_anon_4", DF_Type::army_controller_sub13__T_anon_4 }, + { "army_controller_sub14", DF_Type::army_controller_sub14 }, + { "army_controller_sub14__T_anon_4", DF_Type::army_controller_sub14__T_anon_4 }, + { "army_controller_sub15", DF_Type::army_controller_sub15 }, + { "army_controller_sub15__T_anon_3", DF_Type::army_controller_sub15__T_anon_3 }, + { "army_controller_sub16", DF_Type::army_controller_sub16 }, + { "army_controller_sub17", DF_Type::army_controller_sub17 }, + { "army_controller_sub18", DF_Type::army_controller_sub18 }, + { "army_controller_sub2", DF_Type::army_controller_sub2 }, + { "army_controller_sub2__T_anon_5", DF_Type::army_controller_sub2__T_anon_5 }, + { "army_controller_sub4", DF_Type::army_controller_sub4 }, + { "army_controller_sub4__T_unk_2", DF_Type::army_controller_sub4__T_unk_2 }, + { "army_controller_sub5", DF_Type::army_controller_sub5 }, + { "army_controller_sub6", DF_Type::army_controller_sub6 }, + { "army_controller_sub7", DF_Type::army_controller_sub7 }, + { "army_controller_sub7__T_anon_3", DF_Type::army_controller_sub7__T_anon_3 }, + { "army_flags", DF_Type::army_flags }, + { "art_facet_type", DF_Type::art_facet_type }, + { "art_image", DF_Type::art_image }, + { "art_image_chunk", DF_Type::art_image_chunk }, + { "art_image_element", DF_Type::art_image_element }, + { "art_image_element_creaturest", DF_Type::art_image_element_creaturest }, + { "art_image_element_itemst", DF_Type::art_image_element_itemst }, + { "art_image_element_plantst", DF_Type::art_image_element_plantst }, + { "art_image_element_shapest", DF_Type::art_image_element_shapest }, + { "art_image_element_treest", DF_Type::art_image_element_treest }, + { "art_image_element_type", DF_Type::art_image_element_type }, + { "art_image_property", DF_Type::art_image_property }, + { "art_image_property_intransitive_verbst", DF_Type::art_image_property_intransitive_verbst }, + { "art_image_property_transitive_verbst", DF_Type::art_image_property_transitive_verbst }, + { "art_image_property_type", DF_Type::art_image_property_type }, + { "art_image_property_verb", DF_Type::art_image_property_verb }, + { "art_image_ref", DF_Type::art_image_ref }, + { "artifact_record", DF_Type::artifact_record }, + { "assign_trade_status", DF_Type::assign_trade_status }, + { "assign_trade_status__T_status", DF_Type::assign_trade_status__T_status }, + { "assume_identity_mode", DF_Type::assume_identity_mode }, + { "barrack_preference_category", DF_Type::barrack_preference_category }, + { "belief_system", DF_Type::belief_system }, + { "biome_type", DF_Type::biome_type }, + { "block_burrow", DF_Type::block_burrow }, + { "block_burrow_link", DF_Type::block_burrow_link }, + { "block_flags", DF_Type::block_flags }, + { "block_square_event", DF_Type::block_square_event }, + { "block_square_event_designation_priorityst", DF_Type::block_square_event_designation_priorityst }, + { "block_square_event_frozen_liquidst", DF_Type::block_square_event_frozen_liquidst }, + { "block_square_event_grassst", DF_Type::block_square_event_grassst }, + { "block_square_event_item_spatterst", DF_Type::block_square_event_item_spatterst }, + { "block_square_event_material_spatterst", DF_Type::block_square_event_material_spatterst }, + { "block_square_event_mineralst", DF_Type::block_square_event_mineralst }, + { "block_square_event_mineralst__T_flags", DF_Type::block_square_event_mineralst__T_flags }, + { "block_square_event_spoorst", DF_Type::block_square_event_spoorst }, + { "block_square_event_type", DF_Type::block_square_event_type }, + { "block_square_event_world_constructionst", DF_Type::block_square_event_world_constructionst }, + { "body_appearance_modifier", DF_Type::body_appearance_modifier }, + { "body_component_info", DF_Type::body_component_info }, + { "body_detail_plan", DF_Type::body_detail_plan }, + { "body_layer_status", DF_Type::body_layer_status }, + { "body_part_layer_flags", DF_Type::body_part_layer_flags }, + { "body_part_layer_raw", DF_Type::body_part_layer_raw }, + { "body_part_raw", DF_Type::body_part_raw }, + { "body_part_raw_flags", DF_Type::body_part_raw_flags }, + { "body_part_status", DF_Type::body_part_status }, + { "body_part_template", DF_Type::body_part_template }, + { "body_part_template_contype", DF_Type::body_part_template_contype }, + { "body_part_template_flags", DF_Type::body_part_template_flags }, + { "body_size_info", DF_Type::body_size_info }, + { "body_template", DF_Type::body_template }, + { "bp_appearance_modifier", DF_Type::bp_appearance_modifier }, + { "breath_attack_type", DF_Type::breath_attack_type }, + { "build_req_choice_genst", DF_Type::build_req_choice_genst }, + { "build_req_choice_specst", DF_Type::build_req_choice_specst }, + { "build_req_choice_type", DF_Type::build_req_choice_type }, + { "build_req_choicest", DF_Type::build_req_choicest }, + { "building", DF_Type::building }, + { "building__T_activities", DF_Type::building__T_activities }, + { "building__T_job_claim_suppress", DF_Type::building__T_job_claim_suppress }, + { "building_actual", DF_Type::building_actual }, + { "building_actual__T_contained_items", DF_Type::building_actual__T_contained_items }, + { "building_animaltrapst", DF_Type::building_animaltrapst }, + { "building_archerytargetst", DF_Type::building_archerytargetst }, + { "building_archerytargetst__T_archery_direction", DF_Type::building_archerytargetst__T_archery_direction }, + { "building_armorstandst", DF_Type::building_armorstandst }, + { "building_axle_horizontalst", DF_Type::building_axle_horizontalst }, + { "building_axle_verticalst", DF_Type::building_axle_verticalst }, + { "building_bars_floorst", DF_Type::building_bars_floorst }, + { "building_bars_verticalst", DF_Type::building_bars_verticalst }, + { "building_bedst", DF_Type::building_bedst }, + { "building_bedst__T_bed_flags", DF_Type::building_bedst__T_bed_flags }, + { "building_bookcasest", DF_Type::building_bookcasest }, + { "building_boxst", DF_Type::building_boxst }, + { "building_bridgest", DF_Type::building_bridgest }, + { "building_bridgest__T_direction", DF_Type::building_bridgest__T_direction }, + { "building_cabinetst", DF_Type::building_cabinetst }, + { "building_cagest", DF_Type::building_cagest }, + { "building_cagest__T_cage_flags", DF_Type::building_cagest__T_cage_flags }, + { "building_chainst", DF_Type::building_chainst }, + { "building_chainst__T_chain_flags", DF_Type::building_chainst__T_chain_flags }, + { "building_chairst", DF_Type::building_chairst }, + { "building_civzonest", DF_Type::building_civzonest }, + { "building_civzonest__T_gather_flags", DF_Type::building_civzonest__T_gather_flags }, + { "building_civzonest__T_pit_flags", DF_Type::building_civzonest__T_pit_flags }, + { "building_civzonest__T_zone_flags", DF_Type::building_civzonest__T_zone_flags }, + { "building_coffinst", DF_Type::building_coffinst }, + { "building_coffinst__T_burial_mode", DF_Type::building_coffinst__T_burial_mode }, + { "building_constructionst", DF_Type::building_constructionst }, + { "building_def", DF_Type::building_def }, + { "building_def_furnacest", DF_Type::building_def_furnacest }, + { "building_def_item", DF_Type::building_def_item }, + { "building_def_workshopst", DF_Type::building_def_workshopst }, + { "building_design", DF_Type::building_design }, + { "building_design__T_flags", DF_Type::building_design__T_flags }, + { "building_display_furniturest", DF_Type::building_display_furniturest }, + { "building_doorst", DF_Type::building_doorst }, + { "building_drawbuffer", DF_Type::building_drawbuffer }, + { "building_extents", DF_Type::building_extents }, + { "building_farmplotst", DF_Type::building_farmplotst }, + { "building_flags", DF_Type::building_flags }, + { "building_floodgatest", DF_Type::building_floodgatest }, + { "building_furnacest", DF_Type::building_furnacest }, + { "building_gear_assemblyst", DF_Type::building_gear_assemblyst }, + { "building_gear_assemblyst__T_gear_flags", DF_Type::building_gear_assemblyst__T_gear_flags }, + { "building_grate_floorst", DF_Type::building_grate_floorst }, + { "building_grate_wallst", DF_Type::building_grate_wallst }, + { "building_handler", DF_Type::building_handler }, + { "building_hatchst", DF_Type::building_hatchst }, + { "building_hivest", DF_Type::building_hivest }, + { "building_instrumentst", DF_Type::building_instrumentst }, + { "building_nest_boxst", DF_Type::building_nest_boxst }, + { "building_nestst", DF_Type::building_nestst }, + { "building_road_dirtst", DF_Type::building_road_dirtst }, + { "building_road_pavedst", DF_Type::building_road_pavedst }, + { "building_roadst", DF_Type::building_roadst }, + { "building_rollersst", DF_Type::building_rollersst }, + { "building_screw_pumpst", DF_Type::building_screw_pumpst }, + { "building_shopst", DF_Type::building_shopst }, + { "building_shopst__T_shop_flags", DF_Type::building_shopst__T_shop_flags }, + { "building_siegeenginest", DF_Type::building_siegeenginest }, + { "building_siegeenginest__T_action", DF_Type::building_siegeenginest__T_action }, + { "building_siegeenginest__T_facing", DF_Type::building_siegeenginest__T_facing }, + { "building_slabst", DF_Type::building_slabst }, + { "building_squad_use", DF_Type::building_squad_use }, + { "building_statuest", DF_Type::building_statuest }, + { "building_stockpilest", DF_Type::building_stockpilest }, + { "building_supportst", DF_Type::building_supportst }, + { "building_supportst__T_support_flags", DF_Type::building_supportst__T_support_flags }, + { "building_tablest", DF_Type::building_tablest }, + { "building_tablest__T_table_flags", DF_Type::building_tablest__T_table_flags }, + { "building_traction_benchst", DF_Type::building_traction_benchst }, + { "building_tradedepotst", DF_Type::building_tradedepotst }, + { "building_tradedepotst__T_trade_flags", DF_Type::building_tradedepotst__T_trade_flags }, + { "building_trapst", DF_Type::building_trapst }, + { "building_trapst__T_stop_flags", DF_Type::building_trapst__T_stop_flags }, + { "building_type", DF_Type::building_type }, + { "building_users", DF_Type::building_users }, + { "building_wagonst", DF_Type::building_wagonst }, + { "building_water_wheelst", DF_Type::building_water_wheelst }, + { "building_weaponrackst", DF_Type::building_weaponrackst }, + { "building_weaponst", DF_Type::building_weaponst }, + { "building_wellst", DF_Type::building_wellst }, + { "building_wellst__T_well_flags", DF_Type::building_wellst__T_well_flags }, + { "building_windmillst", DF_Type::building_windmillst }, + { "building_window_gemst", DF_Type::building_window_gemst }, + { "building_window_glassst", DF_Type::building_window_glassst }, + { "building_windowst", DF_Type::building_windowst }, + { "building_workshopst", DF_Type::building_workshopst }, + { "buildings_other_id", DF_Type::buildings_other_id }, + { "builtin_mats", DF_Type::builtin_mats }, + { "burrow", DF_Type::burrow }, + { "campfire", DF_Type::campfire }, + { "caravan_state", DF_Type::caravan_state }, + { "caravan_state__T_flags", DF_Type::caravan_state__T_flags }, + { "caravan_state__T_trade_state", DF_Type::caravan_state__T_trade_state }, + { "caste_attack", DF_Type::caste_attack }, + { "caste_attack__T_flags", DF_Type::caste_attack__T_flags }, + { "caste_body_info", DF_Type::caste_body_info }, + { "caste_body_info__T_extra_butcher_objects", DF_Type::caste_body_info__T_extra_butcher_objects }, + { "caste_body_info__T_flags", DF_Type::caste_body_info__T_flags }, + { "caste_body_info__T_interactions", DF_Type::caste_body_info__T_interactions }, + { "caste_body_info__T_interactions__T_type", DF_Type::caste_body_info__T_interactions__T_type }, + { "caste_clothing_item", DF_Type::caste_clothing_item }, + { "caste_raw", DF_Type::caste_raw }, + { "caste_raw__T_attributes", DF_Type::caste_raw__T_attributes }, + { "caste_raw__T_bp_appearance", DF_Type::caste_raw__T_bp_appearance }, + { "caste_raw__T_caste_profession_name", DF_Type::caste_raw__T_caste_profession_name }, + { "caste_raw__T_extracts", DF_Type::caste_raw__T_extracts }, + { "caste_raw__T_misc", DF_Type::caste_raw__T_misc }, + { "caste_raw__T_personality", DF_Type::caste_raw__T_personality }, + { "caste_raw__T_secretion", DF_Type::caste_raw__T_secretion }, + { "caste_raw__T_shearable_tissue_layer", DF_Type::caste_raw__T_shearable_tissue_layer }, + { "caste_raw__T_unknown2", DF_Type::caste_raw__T_unknown2 }, + { "caste_raw_flags", DF_Type::caste_raw_flags }, + { "cave_column", DF_Type::cave_column }, + { "cave_column_link", DF_Type::cave_column_link }, + { "cave_column_rectangle", DF_Type::cave_column_rectangle }, + { "cie_add_tag_mask1", DF_Type::cie_add_tag_mask1 }, + { "cie_add_tag_mask2", DF_Type::cie_add_tag_mask2 }, + { "civzone_type", DF_Type::civzone_type }, + { "coin_batch", DF_Type::coin_batch }, + { "coin_batch__T_image_back", DF_Type::coin_batch__T_image_back }, + { "coin_batch__T_image_front", DF_Type::coin_batch__T_image_front }, + { "color_modifier_raw", DF_Type::color_modifier_raw }, + { "combat_report_event_type", DF_Type::combat_report_event_type }, + { "conflict_level", DF_Type::conflict_level }, + { "construction", DF_Type::construction }, + { "construction_flags", DF_Type::construction_flags }, + { "construction_type", DF_Type::construction_type }, + { "conversation", DF_Type::conversation }, + { "conversation__T_speech", DF_Type::conversation__T_speech }, + { "conversation__T_state", DF_Type::conversation__T_state }, + { "conversation_menu", DF_Type::conversation_menu }, + { "coord", DF_Type::coord }, + { "coord2d", DF_Type::coord2d }, + { "coord2d_path", DF_Type::coord2d_path }, + { "coord_path", DF_Type::coord_path }, + { "coord_rect", DF_Type::coord_rect }, + { "corpse_material_type", DF_Type::corpse_material_type }, + { "craft_material_class", DF_Type::craft_material_class }, + { "creation_zone_pwg_alteration_campst", DF_Type::creation_zone_pwg_alteration_campst }, + { "creation_zone_pwg_alteration_location_deathst", DF_Type::creation_zone_pwg_alteration_location_deathst }, + { "creation_zone_pwg_alteration_location_deathst__T_unk_1", DF_Type::creation_zone_pwg_alteration_location_deathst__T_unk_1 }, + { "creation_zone_pwg_alteration_location_deathst__T_unk_1__T_anon_1", DF_Type::creation_zone_pwg_alteration_location_deathst__T_unk_1__T_anon_1 }, + { "creation_zone_pwg_alteration_srb_ruinedst", DF_Type::creation_zone_pwg_alteration_srb_ruinedst }, + { "creation_zone_pwg_alteration_srp_ruinedst", DF_Type::creation_zone_pwg_alteration_srp_ruinedst }, + { "creation_zone_pwg_alteration_type", DF_Type::creation_zone_pwg_alteration_type }, + { "creation_zone_pwg_alterationst", DF_Type::creation_zone_pwg_alterationst }, + { "creature_graphics_appointment", DF_Type::creature_graphics_appointment }, + { "creature_graphics_role", DF_Type::creature_graphics_role }, + { "creature_handler", DF_Type::creature_handler }, + { "creature_interaction", DF_Type::creature_interaction }, + { "creature_interaction__T_flags", DF_Type::creature_interaction__T_flags }, + { "creature_interaction_effect", DF_Type::creature_interaction_effect }, + { "creature_interaction_effect__T_counter_trigger", DF_Type::creature_interaction_effect__T_counter_trigger }, + { "creature_interaction_effect_add_simple_flagst", DF_Type::creature_interaction_effect_add_simple_flagst }, + { "creature_interaction_effect_bleedingst", DF_Type::creature_interaction_effect_bleedingst }, + { "creature_interaction_effect_blistersst", DF_Type::creature_interaction_effect_blistersst }, + { "creature_interaction_effect_body_appearance_modifierst", DF_Type::creature_interaction_effect_body_appearance_modifierst }, + { "creature_interaction_effect_body_mat_interactionst", DF_Type::creature_interaction_effect_body_mat_interactionst }, + { "creature_interaction_effect_body_transformationst", DF_Type::creature_interaction_effect_body_transformationst }, + { "creature_interaction_effect_bp_appearance_modifierst", DF_Type::creature_interaction_effect_bp_appearance_modifierst }, + { "creature_interaction_effect_bruisingst", DF_Type::creature_interaction_effect_bruisingst }, + { "creature_interaction_effect_can_do_interactionst", DF_Type::creature_interaction_effect_can_do_interactionst }, + { "creature_interaction_effect_change_personalityst", DF_Type::creature_interaction_effect_change_personalityst }, + { "creature_interaction_effect_cough_bloodst", DF_Type::creature_interaction_effect_cough_bloodst }, + { "creature_interaction_effect_display_namest", DF_Type::creature_interaction_effect_display_namest }, + { "creature_interaction_effect_display_symbolst", DF_Type::creature_interaction_effect_display_symbolst }, + { "creature_interaction_effect_dizzinessst", DF_Type::creature_interaction_effect_dizzinessst }, + { "creature_interaction_effect_drowsinessst", DF_Type::creature_interaction_effect_drowsinessst }, + { "creature_interaction_effect_erratic_behaviorst", DF_Type::creature_interaction_effect_erratic_behaviorst }, + { "creature_interaction_effect_feel_emotionst", DF_Type::creature_interaction_effect_feel_emotionst }, + { "creature_interaction_effect_feverst", DF_Type::creature_interaction_effect_feverst }, + { "creature_interaction_effect_flags", DF_Type::creature_interaction_effect_flags }, + { "creature_interaction_effect_flash_symbolst", DF_Type::creature_interaction_effect_flash_symbolst }, + { "creature_interaction_effect_impair_functionst", DF_Type::creature_interaction_effect_impair_functionst }, + { "creature_interaction_effect_material_force_adjustst", DF_Type::creature_interaction_effect_material_force_adjustst }, + { "creature_interaction_effect_ment_att_changest", DF_Type::creature_interaction_effect_ment_att_changest }, + { "creature_interaction_effect_nauseast", DF_Type::creature_interaction_effect_nauseast }, + { "creature_interaction_effect_necrosisst", DF_Type::creature_interaction_effect_necrosisst }, + { "creature_interaction_effect_numbnessst", DF_Type::creature_interaction_effect_numbnessst }, + { "creature_interaction_effect_oozingst", DF_Type::creature_interaction_effect_oozingst }, + { "creature_interaction_effect_painst", DF_Type::creature_interaction_effect_painst }, + { "creature_interaction_effect_paralysisst", DF_Type::creature_interaction_effect_paralysisst }, + { "creature_interaction_effect_phys_att_changest", DF_Type::creature_interaction_effect_phys_att_changest }, + { "creature_interaction_effect_remove_simple_flagst", DF_Type::creature_interaction_effect_remove_simple_flagst }, + { "creature_interaction_effect_sense_creature_classst", DF_Type::creature_interaction_effect_sense_creature_classst }, + { "creature_interaction_effect_skill_roll_adjustst", DF_Type::creature_interaction_effect_skill_roll_adjustst }, + { "creature_interaction_effect_speed_changest", DF_Type::creature_interaction_effect_speed_changest }, + { "creature_interaction_effect_swellingst", DF_Type::creature_interaction_effect_swellingst }, + { "creature_interaction_effect_target", DF_Type::creature_interaction_effect_target }, + { "creature_interaction_effect_target_mode", DF_Type::creature_interaction_effect_target_mode }, + { "creature_interaction_effect_type", DF_Type::creature_interaction_effect_type }, + { "creature_interaction_effect_unconsciousnessst", DF_Type::creature_interaction_effect_unconsciousnessst }, + { "creature_interaction_effect_vomit_bloodst", DF_Type::creature_interaction_effect_vomit_bloodst }, + { "creature_interaction_target_flags", DF_Type::creature_interaction_target_flags }, + { "creature_raw", DF_Type::creature_raw }, + { "creature_raw__T_graphics", DF_Type::creature_raw__T_graphics }, + { "creature_raw__T_hive_product", DF_Type::creature_raw__T_hive_product }, + { "creature_raw__T_profession_name", DF_Type::creature_raw__T_profession_name }, + { "creature_raw_flags", DF_Type::creature_raw_flags }, + { "creature_variation", DF_Type::creature_variation }, + { "creature_variation_convert_tag", DF_Type::creature_variation_convert_tag }, + { "crime", DF_Type::crime }, + { "crime__T_flags", DF_Type::crime__T_flags }, + { "crime__T_mode", DF_Type::crime__T_mode }, + { "crime__T_punishment", DF_Type::crime__T_punishment }, + { "crime__T_reports", DF_Type::crime__T_reports }, + { "cultural_identity", DF_Type::cultural_identity }, + { "cultural_identity__T_group_log", DF_Type::cultural_identity__T_group_log }, + { "cultural_identity__T_group_log__T_join_type", DF_Type::cultural_identity__T_group_log__T_join_type }, + { "cumulus_type", DF_Type::cumulus_type }, + { "curse_attr_change", DF_Type::curse_attr_change }, + { "d_init", DF_Type::d_init }, + { "d_init__T_store_dist", DF_Type::d_init__T_store_dist }, + { "d_init__T_wound_color", DF_Type::d_init__T_wound_color }, + { "d_init_embark_confirm", DF_Type::d_init_embark_confirm }, + { "d_init_flags1", DF_Type::d_init_flags1 }, + { "d_init_flags2", DF_Type::d_init_flags2 }, + { "d_init_flags3", DF_Type::d_init_flags3 }, + { "d_init_flags4", DF_Type::d_init_flags4 }, + { "d_init_idlers", DF_Type::d_init_idlers }, + { "d_init_nickname", DF_Type::d_init_nickname }, + { "d_init_tunnel", DF_Type::d_init_tunnel }, + { "d_init_z_view", DF_Type::d_init_z_view }, + { "dance_form", DF_Type::dance_form }, + { "dance_form_sub1", DF_Type::dance_form_sub1 }, + { "dance_form_sub2", DF_Type::dance_form_sub2 }, + { "death_type", DF_Type::death_type }, + { "deep_vein_hollow", DF_Type::deep_vein_hollow }, + { "descriptor_color", DF_Type::descriptor_color }, + { "descriptor_pattern", DF_Type::descriptor_pattern }, + { "descriptor_shape", DF_Type::descriptor_shape }, + { "descriptor_shape__T_gems_use", DF_Type::descriptor_shape__T_gems_use }, + { "dfhack_knowledge_scholar_flag", DF_Type::dfhack_knowledge_scholar_flag }, + { "dfhack_material_category", DF_Type::dfhack_material_category }, + { "dfhack_room_quality_level", DF_Type::dfhack_room_quality_level }, + { "dipscript_info", DF_Type::dipscript_info }, + { "dipscript_popup", DF_Type::dipscript_popup }, + { "dipscript_popup__T_flags", DF_Type::dipscript_popup__T_flags }, + { "door_flags", DF_Type::door_flags }, + { "dye_info", DF_Type::dye_info }, + { "effect_info", DF_Type::effect_info }, + { "embark_finder_option", DF_Type::embark_finder_option }, + { "embark_item_choice", DF_Type::embark_item_choice }, + { "embark_item_choice__T_list", DF_Type::embark_item_choice__T_list }, + { "embark_location", DF_Type::embark_location }, + { "embark_note", DF_Type::embark_note }, + { "embark_profile", DF_Type::embark_profile }, + { "emotion_type", DF_Type::emotion_type }, + { "enabler", DF_Type::enabler }, + { "enabler__T_async_frombox", DF_Type::enabler__T_async_frombox }, + { "enabler__T_async_frombox__T_queue", DF_Type::enabler__T_async_frombox__T_queue }, + { "enabler__T_async_frombox__T_queue___union1", DF_Type::enabler__T_async_frombox__T_queue___union1 }, + { "enabler__T_async_frombox__T_queue___union1___struct1", DF_Type::enabler__T_async_frombox__T_queue___union1___struct1 }, + { "enabler__T_async_frombox__T_queue__T_msg", DF_Type::enabler__T_async_frombox__T_queue__T_msg }, + { "enabler__T_async_tobox", DF_Type::enabler__T_async_tobox }, + { "enabler__T_async_tobox__T_queue", DF_Type::enabler__T_async_tobox__T_queue }, + { "enabler__T_async_tobox__T_queue__T_cmd", DF_Type::enabler__T_async_tobox__T_queue__T_cmd }, + { "enabler__T_async_zoom", DF_Type::enabler__T_async_zoom }, + { "enabler__T_flag", DF_Type::enabler__T_flag }, + { "enabler__T_gputicks", DF_Type::enabler__T_gputicks }, + { "enabler__T_overridden_grid_sizes", DF_Type::enabler__T_overridden_grid_sizes }, + { "enabler__T_simticks", DF_Type::enabler__T_simticks }, + { "enabler__T_textures", DF_Type::enabler__T_textures }, + { "engraving", DF_Type::engraving }, + { "engraving_flags", DF_Type::engraving_flags }, + { "entity_action_type", DF_Type::entity_action_type }, + { "entity_activity_statistics", DF_Type::entity_activity_statistics }, + { "entity_activity_statistics__T_food", DF_Type::entity_activity_statistics__T_food }, + { "entity_activity_statistics__T_found_misc", DF_Type::entity_activity_statistics__T_found_misc }, + { "entity_activity_statistics__T_wealth", DF_Type::entity_activity_statistics__T_wealth }, + { "entity_animal_raw", DF_Type::entity_animal_raw }, + { "entity_animal_raw__T_flags", DF_Type::entity_animal_raw__T_flags }, + { "entity_buy_prices", DF_Type::entity_buy_prices }, + { "entity_buy_requests", DF_Type::entity_buy_requests }, + { "entity_claim_mask", DF_Type::entity_claim_mask }, + { "entity_claim_mask__T_map", DF_Type::entity_claim_mask__T_map }, + { "entity_entity_link", DF_Type::entity_entity_link }, + { "entity_entity_link_type", DF_Type::entity_entity_link_type }, + { "entity_event", DF_Type::entity_event }, + { "entity_event__T_data", DF_Type::entity_event__T_data }, + { "entity_event__T_data__T_abandon", DF_Type::entity_event__T_data__T_abandon }, + { "entity_event__T_data__T_abduction", DF_Type::entity_event__T_data__T_abduction }, + { "entity_event__T_data__T_accept_peace_offer", DF_Type::entity_event__T_data__T_accept_peace_offer }, + { "entity_event__T_data__T_accept_tribute_demand", DF_Type::entity_event__T_data__T_accept_tribute_demand }, + { "entity_event__T_data__T_accept_tribute_offer", DF_Type::entity_event__T_data__T_accept_tribute_offer }, + { "entity_event__T_data__T_artifact_destroyed", DF_Type::entity_event__T_data__T_artifact_destroyed }, + { "entity_event__T_data__T_artifact_in_feature_layer", DF_Type::entity_event__T_data__T_artifact_in_feature_layer }, + { "entity_event__T_data__T_artifact_in_inventory", DF_Type::entity_event__T_data__T_artifact_in_inventory }, + { "entity_event__T_data__T_artifact_in_site", DF_Type::entity_event__T_data__T_artifact_in_site }, + { "entity_event__T_data__T_artifact_in_subregion", DF_Type::entity_event__T_data__T_artifact_in_subregion }, + { "entity_event__T_data__T_artifact_not_in_feature_layer", DF_Type::entity_event__T_data__T_artifact_not_in_feature_layer }, + { "entity_event__T_data__T_artifact_not_in_inventory", DF_Type::entity_event__T_data__T_artifact_not_in_inventory }, + { "entity_event__T_data__T_artifact_not_in_site", DF_Type::entity_event__T_data__T_artifact_not_in_site }, + { "entity_event__T_data__T_artifact_not_in_subregion", DF_Type::entity_event__T_data__T_artifact_not_in_subregion }, + { "entity_event__T_data__T_beast", DF_Type::entity_event__T_data__T_beast }, + { "entity_event__T_data__T_cease_tribute_offer", DF_Type::entity_event__T_data__T_cease_tribute_offer }, + { "entity_event__T_data__T_claim", DF_Type::entity_event__T_data__T_claim }, + { "entity_event__T_data__T_flee", DF_Type::entity_event__T_data__T_flee }, + { "entity_event__T_data__T_founded", DF_Type::entity_event__T_data__T_founded }, + { "entity_event__T_data__T_founding", DF_Type::entity_event__T_data__T_founding }, + { "entity_event__T_data__T_group", DF_Type::entity_event__T_data__T_group }, + { "entity_event__T_data__T_harass", DF_Type::entity_event__T_data__T_harass }, + { "entity_event__T_data__T_incident", DF_Type::entity_event__T_data__T_incident }, + { "entity_event__T_data__T_insurrection", DF_Type::entity_event__T_data__T_insurrection }, + { "entity_event__T_data__T_insurrection_end", DF_Type::entity_event__T_data__T_insurrection_end }, + { "entity_event__T_data__T_insurrection_end__T_result", DF_Type::entity_event__T_data__T_insurrection_end__T_result }, + { "entity_event__T_data__T_invasion", DF_Type::entity_event__T_data__T_invasion }, + { "entity_event__T_data__T_leave", DF_Type::entity_event__T_data__T_leave }, + { "entity_event__T_data__T_occupation", DF_Type::entity_event__T_data__T_occupation }, + { "entity_event__T_data__T_reclaimed", DF_Type::entity_event__T_data__T_reclaimed }, + { "entity_event__T_data__T_reclaiming", DF_Type::entity_event__T_data__T_reclaiming }, + { "entity_event__T_data__T_refuse_peace_offer", DF_Type::entity_event__T_data__T_refuse_peace_offer }, + { "entity_event__T_data__T_refuse_tribute_demand", DF_Type::entity_event__T_data__T_refuse_tribute_demand }, + { "entity_event__T_data__T_refuse_tribute_offer", DF_Type::entity_event__T_data__T_refuse_tribute_offer }, + { "entity_event__T_data__T_succession", DF_Type::entity_event__T_data__T_succession }, + { "entity_event_type", DF_Type::entity_event_type }, + { "entity_material_category", DF_Type::entity_material_category }, + { "entity_name_type", DF_Type::entity_name_type }, + { "entity_occasion", DF_Type::entity_occasion }, + { "entity_occasion_info", DF_Type::entity_occasion_info }, + { "entity_occasion_schedule", DF_Type::entity_occasion_schedule }, + { "entity_occasion_schedule_feature", DF_Type::entity_occasion_schedule_feature }, + { "entity_population", DF_Type::entity_population }, + { "entity_population_unk4", DF_Type::entity_population_unk4 }, + { "entity_population_unk4__T_anon_1", DF_Type::entity_population_unk4__T_anon_1 }, + { "entity_population_unk4__T_anon_3", DF_Type::entity_population_unk4__T_anon_3 }, + { "entity_position", DF_Type::entity_position }, + { "entity_position_assignment", DF_Type::entity_position_assignment }, + { "entity_position_flags", DF_Type::entity_position_flags }, + { "entity_position_raw", DF_Type::entity_position_raw }, + { "entity_position_raw_flags", DF_Type::entity_position_raw_flags }, + { "entity_position_responsibility", DF_Type::entity_position_responsibility }, + { "entity_raw", DF_Type::entity_raw }, + { "entity_raw__T_equipment", DF_Type::entity_raw__T_equipment }, + { "entity_raw__T_jobs", DF_Type::entity_raw__T_jobs }, + { "entity_raw__T_land_holder_trigger", DF_Type::entity_raw__T_land_holder_trigger }, + { "entity_raw__T_progress_trigger", DF_Type::entity_raw__T_progress_trigger }, + { "entity_raw__T_scholar", DF_Type::entity_raw__T_scholar }, + { "entity_raw__T_symbols", DF_Type::entity_raw__T_symbols }, + { "entity_raw__T_tissue_styles", DF_Type::entity_raw__T_tissue_styles }, + { "entity_raw__T_workshops", DF_Type::entity_raw__T_workshops }, + { "entity_raw_flags", DF_Type::entity_raw_flags }, + { "entity_recipe", DF_Type::entity_recipe }, + { "entity_sell_category", DF_Type::entity_sell_category }, + { "entity_sell_prices", DF_Type::entity_sell_prices }, + { "entity_sell_requests", DF_Type::entity_sell_requests }, + { "entity_site_link", DF_Type::entity_site_link }, + { "entity_site_link__T_anon_8", DF_Type::entity_site_link__T_anon_8 }, + { "entity_site_link__T_flags", DF_Type::entity_site_link__T_flags }, + { "entity_tissue_style", DF_Type::entity_tissue_style }, + { "entity_uniform", DF_Type::entity_uniform }, + { "entity_uniform_item", DF_Type::entity_uniform_item }, + { "environment_type", DF_Type::environment_type }, + { "era_type", DF_Type::era_type }, + { "ethic_response", DF_Type::ethic_response }, + { "ethic_type", DF_Type::ethic_type }, + { "feature", DF_Type::feature }, + { "feature_alteration", DF_Type::feature_alteration }, + { "feature_alteration_new_lava_fill_zst", DF_Type::feature_alteration_new_lava_fill_zst }, + { "feature_alteration_new_pop_maxst", DF_Type::feature_alteration_new_pop_maxst }, + { "feature_alteration_type", DF_Type::feature_alteration_type }, + { "feature_cavest", DF_Type::feature_cavest }, + { "feature_deep_special_tubest", DF_Type::feature_deep_special_tubest }, + { "feature_deep_surface_portalst", DF_Type::feature_deep_surface_portalst }, + { "feature_init", DF_Type::feature_init }, + { "feature_init_cavest", DF_Type::feature_init_cavest }, + { "feature_init_deep_special_tubest", DF_Type::feature_init_deep_special_tubest }, + { "feature_init_deep_surface_portalst", DF_Type::feature_init_deep_surface_portalst }, + { "feature_init_flags", DF_Type::feature_init_flags }, + { "feature_init_magma_core_from_layerst", DF_Type::feature_init_magma_core_from_layerst }, + { "feature_init_magma_poolst", DF_Type::feature_init_magma_poolst }, + { "feature_init_outdoor_riverst", DF_Type::feature_init_outdoor_riverst }, + { "feature_init_pitst", DF_Type::feature_init_pitst }, + { "feature_init_subterranean_from_layerst", DF_Type::feature_init_subterranean_from_layerst }, + { "feature_init_underworld_from_layerst", DF_Type::feature_init_underworld_from_layerst }, + { "feature_init_volcanost", DF_Type::feature_init_volcanost }, + { "feature_magma_core_from_layerst", DF_Type::feature_magma_core_from_layerst }, + { "feature_magma_poolst", DF_Type::feature_magma_poolst }, + { "feature_outdoor_riverst", DF_Type::feature_outdoor_riverst }, + { "feature_pitst", DF_Type::feature_pitst }, + { "feature_subterranean_from_layerst", DF_Type::feature_subterranean_from_layerst }, + { "feature_type", DF_Type::feature_type }, + { "feature_underworld_from_layerst", DF_Type::feature_underworld_from_layerst }, + { "feature_volcanost", DF_Type::feature_volcanost }, + { "file_compressorst", DF_Type::file_compressorst }, + { "fire", DF_Type::fire }, + { "flow_guide", DF_Type::flow_guide }, + { "flow_guide_item_cloudst", DF_Type::flow_guide_item_cloudst }, + { "flow_guide_trailing_flowst", DF_Type::flow_guide_trailing_flowst }, + { "flow_guide_type", DF_Type::flow_guide_type }, + { "flow_info", DF_Type::flow_info }, + { "flow_reuse_pool", DF_Type::flow_reuse_pool }, + { "flow_reuse_pool__T_flags", DF_Type::flow_reuse_pool__T_flags }, + { "flow_type", DF_Type::flow_type }, + { "fog_type", DF_Type::fog_type }, + { "front_type", DF_Type::front_type }, + { "furnace_type", DF_Type::furnace_type }, + { "furniture_type", DF_Type::furniture_type }, + { "gait_info", DF_Type::gait_info }, + { "gait_info__T_flags", DF_Type::gait_info__T_flags }, + { "gait_type", DF_Type::gait_type }, + { "game_mode", DF_Type::game_mode }, + { "game_type", DF_Type::game_type }, + { "gate_flags", DF_Type::gate_flags }, + { "general_ref", DF_Type::general_ref }, + { "general_ref_abstract_buildingst", DF_Type::general_ref_abstract_buildingst }, + { "general_ref_activity_eventst", DF_Type::general_ref_activity_eventst }, + { "general_ref_artifact", DF_Type::general_ref_artifact }, + { "general_ref_building", DF_Type::general_ref_building }, + { "general_ref_building_cagedst", DF_Type::general_ref_building_cagedst }, + { "general_ref_building_chainst", DF_Type::general_ref_building_chainst }, + { "general_ref_building_civzone_assignedst", DF_Type::general_ref_building_civzone_assignedst }, + { "general_ref_building_destinationst", DF_Type::general_ref_building_destinationst }, + { "general_ref_building_display_furniturest", DF_Type::general_ref_building_display_furniturest }, + { "general_ref_building_holderst", DF_Type::general_ref_building_holderst }, + { "general_ref_building_nest_boxst", DF_Type::general_ref_building_nest_boxst }, + { "general_ref_building_triggerst", DF_Type::general_ref_building_triggerst }, + { "general_ref_building_triggertargetst", DF_Type::general_ref_building_triggertargetst }, + { "general_ref_building_use_target_1st", DF_Type::general_ref_building_use_target_1st }, + { "general_ref_building_use_target_2st", DF_Type::general_ref_building_use_target_2st }, + { "general_ref_building_well_tag", DF_Type::general_ref_building_well_tag }, + { "general_ref_coinbatch", DF_Type::general_ref_coinbatch }, + { "general_ref_contained_in_itemst", DF_Type::general_ref_contained_in_itemst }, + { "general_ref_contains_itemst", DF_Type::general_ref_contains_itemst }, + { "general_ref_contains_unitst", DF_Type::general_ref_contains_unitst }, + { "general_ref_creaturest", DF_Type::general_ref_creaturest }, + { "general_ref_creaturest__T_flags", DF_Type::general_ref_creaturest__T_flags }, + { "general_ref_dance_formst", DF_Type::general_ref_dance_formst }, + { "general_ref_entity", DF_Type::general_ref_entity }, + { "general_ref_entity_art_image", DF_Type::general_ref_entity_art_image }, + { "general_ref_entity_itemownerst", DF_Type::general_ref_entity_itemownerst }, + { "general_ref_entity_offeredst", DF_Type::general_ref_entity_offeredst }, + { "general_ref_entity_popst", DF_Type::general_ref_entity_popst }, + { "general_ref_entity_popst__T_flags", DF_Type::general_ref_entity_popst__T_flags }, + { "general_ref_entity_stolenst", DF_Type::general_ref_entity_stolenst }, + { "general_ref_feature_layerst", DF_Type::general_ref_feature_layerst }, + { "general_ref_historical_eventst", DF_Type::general_ref_historical_eventst }, + { "general_ref_historical_figurest", DF_Type::general_ref_historical_figurest }, + { "general_ref_interactionst", DF_Type::general_ref_interactionst }, + { "general_ref_is_artifactst", DF_Type::general_ref_is_artifactst }, + { "general_ref_is_nemesisst", DF_Type::general_ref_is_nemesisst }, + { "general_ref_item", DF_Type::general_ref_item }, + { "general_ref_item_type", DF_Type::general_ref_item_type }, + { "general_ref_knowledge_scholar_flagst", DF_Type::general_ref_knowledge_scholar_flagst }, + { "general_ref_languagest", DF_Type::general_ref_languagest }, + { "general_ref_locationst", DF_Type::general_ref_locationst }, + { "general_ref_mapsquare", DF_Type::general_ref_mapsquare }, + { "general_ref_musical_formst", DF_Type::general_ref_musical_formst }, + { "general_ref_nemesis", DF_Type::general_ref_nemesis }, + { "general_ref_poetic_formst", DF_Type::general_ref_poetic_formst }, + { "general_ref_projectile", DF_Type::general_ref_projectile }, + { "general_ref_sitest", DF_Type::general_ref_sitest }, + { "general_ref_spherest", DF_Type::general_ref_spherest }, + { "general_ref_subregionst", DF_Type::general_ref_subregionst }, + { "general_ref_type", DF_Type::general_ref_type }, + { "general_ref_unit", DF_Type::general_ref_unit }, + { "general_ref_unit_beateest", DF_Type::general_ref_unit_beateest }, + { "general_ref_unit_cageest", DF_Type::general_ref_unit_cageest }, + { "general_ref_unit_climberst", DF_Type::general_ref_unit_climberst }, + { "general_ref_unit_foodreceiverst", DF_Type::general_ref_unit_foodreceiverst }, + { "general_ref_unit_geldeest", DF_Type::general_ref_unit_geldeest }, + { "general_ref_unit_holderst", DF_Type::general_ref_unit_holderst }, + { "general_ref_unit_infantst", DF_Type::general_ref_unit_infantst }, + { "general_ref_unit_itemownerst", DF_Type::general_ref_unit_itemownerst }, + { "general_ref_unit_itemownerst__T_flags", DF_Type::general_ref_unit_itemownerst__T_flags }, + { "general_ref_unit_kidnapeest", DF_Type::general_ref_unit_kidnapeest }, + { "general_ref_unit_milkeest", DF_Type::general_ref_unit_milkeest }, + { "general_ref_unit_patientst", DF_Type::general_ref_unit_patientst }, + { "general_ref_unit_reporteest", DF_Type::general_ref_unit_reporteest }, + { "general_ref_unit_riderst", DF_Type::general_ref_unit_riderst }, + { "general_ref_unit_sheareest", DF_Type::general_ref_unit_sheareest }, + { "general_ref_unit_slaughtereest", DF_Type::general_ref_unit_slaughtereest }, + { "general_ref_unit_suckeest", DF_Type::general_ref_unit_suckeest }, + { "general_ref_unit_tradebringerst", DF_Type::general_ref_unit_tradebringerst }, + { "general_ref_unit_traineest", DF_Type::general_ref_unit_traineest }, + { "general_ref_unit_workerst", DF_Type::general_ref_unit_workerst }, + { "general_ref_value_levelst", DF_Type::general_ref_value_levelst }, + { "general_ref_written_contentst", DF_Type::general_ref_written_contentst }, + { "geo_layer_type", DF_Type::geo_layer_type }, + { "ghost_goal", DF_Type::ghost_goal }, + { "ghost_type", DF_Type::ghost_type }, + { "gloves_flags", DF_Type::gloves_flags }, + { "glowing_barrier", DF_Type::glowing_barrier }, + { "goal_type", DF_Type::goal_type }, + { "graphic", DF_Type::graphic }, + { "guild_id", DF_Type::guild_id }, + { "hauler_type", DF_Type::hauler_type }, + { "hauling_route", DF_Type::hauling_route }, + { "hauling_stop", DF_Type::hauling_stop }, + { "health_view_bits1", DF_Type::health_view_bits1 }, + { "health_view_bits2", DF_Type::health_view_bits2 }, + { "health_view_bits3", DF_Type::health_view_bits3 }, + { "helm_flags", DF_Type::helm_flags }, + { "hillock_house_type", DF_Type::hillock_house_type }, + { "histfig_body_state", DF_Type::histfig_body_state }, + { "histfig_entity_link", DF_Type::histfig_entity_link }, + { "histfig_entity_link_criminalst", DF_Type::histfig_entity_link_criminalst }, + { "histfig_entity_link_enemyst", DF_Type::histfig_entity_link_enemyst }, + { "histfig_entity_link_former_memberst", DF_Type::histfig_entity_link_former_memberst }, + { "histfig_entity_link_former_mercenaryst", DF_Type::histfig_entity_link_former_mercenaryst }, + { "histfig_entity_link_former_occupationst", DF_Type::histfig_entity_link_former_occupationst }, + { "histfig_entity_link_former_positionst", DF_Type::histfig_entity_link_former_positionst }, + { "histfig_entity_link_former_prisonerst", DF_Type::histfig_entity_link_former_prisonerst }, + { "histfig_entity_link_former_slavest", DF_Type::histfig_entity_link_former_slavest }, + { "histfig_entity_link_former_squadst", DF_Type::histfig_entity_link_former_squadst }, + { "histfig_entity_link_memberst", DF_Type::histfig_entity_link_memberst }, + { "histfig_entity_link_mercenaryst", DF_Type::histfig_entity_link_mercenaryst }, + { "histfig_entity_link_occupationst", DF_Type::histfig_entity_link_occupationst }, + { "histfig_entity_link_position_claimst", DF_Type::histfig_entity_link_position_claimst }, + { "histfig_entity_link_positionst", DF_Type::histfig_entity_link_positionst }, + { "histfig_entity_link_prisonerst", DF_Type::histfig_entity_link_prisonerst }, + { "histfig_entity_link_slavest", DF_Type::histfig_entity_link_slavest }, + { "histfig_entity_link_squadst", DF_Type::histfig_entity_link_squadst }, + { "histfig_entity_link_type", DF_Type::histfig_entity_link_type }, + { "histfig_flags", DF_Type::histfig_flags }, + { "histfig_hf_link", DF_Type::histfig_hf_link }, + { "histfig_hf_link_apprenticest", DF_Type::histfig_hf_link_apprenticest }, + { "histfig_hf_link_childst", DF_Type::histfig_hf_link_childst }, + { "histfig_hf_link_companionst", DF_Type::histfig_hf_link_companionst }, + { "histfig_hf_link_deityst", DF_Type::histfig_hf_link_deityst }, + { "histfig_hf_link_fatherst", DF_Type::histfig_hf_link_fatherst }, + { "histfig_hf_link_former_apprenticest", DF_Type::histfig_hf_link_former_apprenticest }, + { "histfig_hf_link_former_masterst", DF_Type::histfig_hf_link_former_masterst }, + { "histfig_hf_link_imprisonerst", DF_Type::histfig_hf_link_imprisonerst }, + { "histfig_hf_link_loverst", DF_Type::histfig_hf_link_loverst }, + { "histfig_hf_link_masterst", DF_Type::histfig_hf_link_masterst }, + { "histfig_hf_link_motherst", DF_Type::histfig_hf_link_motherst }, + { "histfig_hf_link_pet_ownerst", DF_Type::histfig_hf_link_pet_ownerst }, + { "histfig_hf_link_prisonerst", DF_Type::histfig_hf_link_prisonerst }, + { "histfig_hf_link_spousest", DF_Type::histfig_hf_link_spousest }, + { "histfig_hf_link_type", DF_Type::histfig_hf_link_type }, + { "histfig_relationship_type", DF_Type::histfig_relationship_type }, + { "histfig_site_link", DF_Type::histfig_site_link }, + { "histfig_site_link_hangoutst", DF_Type::histfig_site_link_hangoutst }, + { "histfig_site_link_home_site_abstract_buildingst", DF_Type::histfig_site_link_home_site_abstract_buildingst }, + { "histfig_site_link_home_site_realization_buildingst", DF_Type::histfig_site_link_home_site_realization_buildingst }, + { "histfig_site_link_home_site_realization_sulst", DF_Type::histfig_site_link_home_site_realization_sulst }, + { "histfig_site_link_home_site_saved_civzonest", DF_Type::histfig_site_link_home_site_saved_civzonest }, + { "histfig_site_link_lairst", DF_Type::histfig_site_link_lairst }, + { "histfig_site_link_occupationst", DF_Type::histfig_site_link_occupationst }, + { "histfig_site_link_seat_of_powerst", DF_Type::histfig_site_link_seat_of_powerst }, + { "histfig_site_link_type", DF_Type::histfig_site_link_type }, + { "historical_entity", DF_Type::historical_entity }, + { "historical_entity__T_claims", DF_Type::historical_entity__T_claims }, + { "historical_entity__T_derived_resources", DF_Type::historical_entity__T_derived_resources }, + { "historical_entity__T_flags", DF_Type::historical_entity__T_flags }, + { "historical_entity__T_positions", DF_Type::historical_entity__T_positions }, + { "historical_entity__T_resources", DF_Type::historical_entity__T_resources }, + { "historical_entity__T_resources__T_animals", DF_Type::historical_entity__T_resources__T_animals }, + { "historical_entity__T_resources__T_metal", DF_Type::historical_entity__T_resources__T_metal }, + { "historical_entity__T_resources__T_misc_mat", DF_Type::historical_entity__T_resources__T_misc_mat }, + { "historical_entity__T_resources__T_organic", DF_Type::historical_entity__T_resources__T_organic }, + { "historical_entity__T_resources__T_refuse", DF_Type::historical_entity__T_resources__T_refuse }, + { "historical_entity__T_resources__T_unk13", DF_Type::historical_entity__T_resources__T_unk13 }, + { "historical_entity__T_resources__T_wood_products", DF_Type::historical_entity__T_resources__T_wood_products }, + { "historical_entity__T_tissue_styles", DF_Type::historical_entity__T_tissue_styles }, + { "historical_entity__T_training_knowledge", DF_Type::historical_entity__T_training_knowledge }, + { "historical_entity__T_unknown1b", DF_Type::historical_entity__T_unknown1b }, + { "historical_entity__T_unknown1b__T_diplomacy", DF_Type::historical_entity__T_unknown1b__T_diplomacy }, + { "historical_entity__T_unknown1b__T_unk32e", DF_Type::historical_entity__T_unknown1b__T_unk32e }, + { "historical_entity__T_unknown1d", DF_Type::historical_entity__T_unknown1d }, + { "historical_entity__T_unknown1e", DF_Type::historical_entity__T_unknown1e }, + { "historical_entity__T_unknown2", DF_Type::historical_entity__T_unknown2 }, + { "historical_entity_type", DF_Type::historical_entity_type }, + { "historical_figure", DF_Type::historical_figure }, + { "historical_figure__T_unk_fc", DF_Type::historical_figure__T_unk_fc }, + { "historical_figure_info", DF_Type::historical_figure_info }, + { "historical_figure_info__T_books", DF_Type::historical_figure_info__T_books }, + { "historical_figure_info__T_curse", DF_Type::historical_figure_info__T_curse }, + { "historical_figure_info__T_masterpieces", DF_Type::historical_figure_info__T_masterpieces }, + { "historical_figure_info__T_personality", DF_Type::historical_figure_info__T_personality }, + { "historical_figure_info__T_relationships", DF_Type::historical_figure_info__T_relationships }, + { "historical_figure_info__T_relationships__T_anon_1", DF_Type::historical_figure_info__T_relationships__T_anon_1 }, + { "historical_figure_info__T_relationships__T_anon_2", DF_Type::historical_figure_info__T_relationships__T_anon_2 }, + { "historical_figure_info__T_relationships__T_anon_3", DF_Type::historical_figure_info__T_relationships__T_anon_3 }, + { "historical_figure_info__T_relationships__T_list", DF_Type::historical_figure_info__T_relationships__T_list }, + { "historical_figure_info__T_reputation", DF_Type::historical_figure_info__T_reputation }, + { "historical_figure_info__T_reputation__T_anon_1", DF_Type::historical_figure_info__T_reputation__T_anon_1 }, + { "historical_figure_info__T_reputation__T_unk_2c", DF_Type::historical_figure_info__T_reputation__T_unk_2c }, + { "historical_figure_info__T_reputation__T_unk_2c__T_anon_12", DF_Type::historical_figure_info__T_reputation__T_unk_2c__T_anon_12 }, + { "historical_figure_info__T_reputation__T_wanted", DF_Type::historical_figure_info__T_reputation__T_wanted }, + { "historical_figure_info__T_secret", DF_Type::historical_figure_info__T_secret }, + { "historical_figure_info__T_secret__T_anon_1", DF_Type::historical_figure_info__T_secret__T_anon_1 }, + { "historical_figure_info__T_secret__T_anon_7", DF_Type::historical_figure_info__T_secret__T_anon_7 }, + { "historical_figure_info__T_secret__T_knowledge", DF_Type::historical_figure_info__T_secret__T_knowledge }, + { "historical_figure_info__T_secret__T_knowledge__T_knowledge_goal", DF_Type::historical_figure_info__T_secret__T_knowledge__T_knowledge_goal }, + { "historical_figure_info__T_secret__T_unk_a8", DF_Type::historical_figure_info__T_secret__T_unk_a8 }, + { "historical_figure_info__T_skills", DF_Type::historical_figure_info__T_skills }, + { "historical_figure_info__T_unk_14", DF_Type::historical_figure_info__T_unk_14 }, + { "historical_figure_info__T_wounds", DF_Type::historical_figure_info__T_wounds }, + { "historical_kills", DF_Type::historical_kills }, + { "historical_kills__T_killed_undead", DF_Type::historical_kills__T_killed_undead }, + { "history_era", DF_Type::history_era }, + { "history_era__T_details", DF_Type::history_era__T_details }, + { "history_era__T_title", DF_Type::history_era__T_title }, + { "history_event", DF_Type::history_event }, + { "history_event_add_hf_entity_linkst", DF_Type::history_event_add_hf_entity_linkst }, + { "history_event_add_hf_hf_linkst", DF_Type::history_event_add_hf_hf_linkst }, + { "history_event_add_hf_site_linkst", DF_Type::history_event_add_hf_site_linkst }, + { "history_event_agreement_concludedst", DF_Type::history_event_agreement_concludedst }, + { "history_event_agreement_formedst", DF_Type::history_event_agreement_formedst }, + { "history_event_agreements_voidedst", DF_Type::history_event_agreements_voidedst }, + { "history_event_artifact_claim_formedst", DF_Type::history_event_artifact_claim_formedst }, + { "history_event_artifact_claim_formedst__T_claim_type", DF_Type::history_event_artifact_claim_formedst__T_claim_type }, + { "history_event_artifact_copiedst", DF_Type::history_event_artifact_copiedst }, + { "history_event_artifact_copiedst__T_flags2", DF_Type::history_event_artifact_copiedst__T_flags2 }, + { "history_event_artifact_createdst", DF_Type::history_event_artifact_createdst }, + { "history_event_artifact_destroyedst", DF_Type::history_event_artifact_destroyedst }, + { "history_event_artifact_droppedst", DF_Type::history_event_artifact_droppedst }, + { "history_event_artifact_foundst", DF_Type::history_event_artifact_foundst }, + { "history_event_artifact_givenst", DF_Type::history_event_artifact_givenst }, + { "history_event_artifact_hiddenst", DF_Type::history_event_artifact_hiddenst }, + { "history_event_artifact_lostst", DF_Type::history_event_artifact_lostst }, + { "history_event_artifact_possessedst", DF_Type::history_event_artifact_possessedst }, + { "history_event_artifact_recoveredst", DF_Type::history_event_artifact_recoveredst }, + { "history_event_artifact_storedst", DF_Type::history_event_artifact_storedst }, + { "history_event_artifact_transformedst", DF_Type::history_event_artifact_transformedst }, + { "history_event_assume_identityst", DF_Type::history_event_assume_identityst }, + { "history_event_body_abusedst", DF_Type::history_event_body_abusedst }, + { "history_event_body_abusedst__T_abuse_type", DF_Type::history_event_body_abusedst__T_abuse_type }, + { "history_event_body_abusedst__T_props", DF_Type::history_event_body_abusedst__T_props }, + { "history_event_body_abusedst__T_props__T_hung", DF_Type::history_event_body_abusedst__T_props__T_hung }, + { "history_event_body_abusedst__T_props__T_item", DF_Type::history_event_body_abusedst__T_props__T_item }, + { "history_event_body_abusedst__T_props__T_pile_type", DF_Type::history_event_body_abusedst__T_props__T_pile_type }, + { "history_event_ceremonyst", DF_Type::history_event_ceremonyst }, + { "history_event_change_creature_typest", DF_Type::history_event_change_creature_typest }, + { "history_event_change_hf_body_statest", DF_Type::history_event_change_hf_body_statest }, + { "history_event_change_hf_jobst", DF_Type::history_event_change_hf_jobst }, + { "history_event_change_hf_moodst", DF_Type::history_event_change_hf_moodst }, + { "history_event_change_hf_statest", DF_Type::history_event_change_hf_statest }, + { "history_event_change_hf_statest__T_state", DF_Type::history_event_change_hf_statest__T_state }, + { "history_event_collection", DF_Type::history_event_collection }, + { "history_event_collection_abductionst", DF_Type::history_event_collection_abductionst }, + { "history_event_collection_battlest", DF_Type::history_event_collection_battlest }, + { "history_event_collection_beast_attackst", DF_Type::history_event_collection_beast_attackst }, + { "history_event_collection_ceremonyst", DF_Type::history_event_collection_ceremonyst }, + { "history_event_collection_competitionst", DF_Type::history_event_collection_competitionst }, + { "history_event_collection_duelst", DF_Type::history_event_collection_duelst }, + { "history_event_collection_insurrectionst", DF_Type::history_event_collection_insurrectionst }, + { "history_event_collection_journeyst", DF_Type::history_event_collection_journeyst }, + { "history_event_collection_occasionst", DF_Type::history_event_collection_occasionst }, + { "history_event_collection_performancest", DF_Type::history_event_collection_performancest }, + { "history_event_collection_processionst", DF_Type::history_event_collection_processionst }, + { "history_event_collection_purgest", DF_Type::history_event_collection_purgest }, + { "history_event_collection_raidst", DF_Type::history_event_collection_raidst }, + { "history_event_collection_site_conqueredst", DF_Type::history_event_collection_site_conqueredst }, + { "history_event_collection_theftst", DF_Type::history_event_collection_theftst }, + { "history_event_collection_type", DF_Type::history_event_collection_type }, + { "history_event_collection_warst", DF_Type::history_event_collection_warst }, + { "history_event_collection_warst__T_unk", DF_Type::history_event_collection_warst__T_unk }, + { "history_event_competitionst", DF_Type::history_event_competitionst }, + { "history_event_context", DF_Type::history_event_context }, + { "history_event_create_entity_positionst", DF_Type::history_event_create_entity_positionst }, + { "history_event_created_buildingst", DF_Type::history_event_created_buildingst }, + { "history_event_created_sitest", DF_Type::history_event_created_sitest }, + { "history_event_created_world_constructionst", DF_Type::history_event_created_world_constructionst }, + { "history_event_creature_devouredst", DF_Type::history_event_creature_devouredst }, + { "history_event_dance_form_createdst", DF_Type::history_event_dance_form_createdst }, + { "history_event_diplomat_lostst", DF_Type::history_event_diplomat_lostst }, + { "history_event_entity_actionst", DF_Type::history_event_entity_actionst }, + { "history_event_entity_createdst", DF_Type::history_event_entity_createdst }, + { "history_event_entity_expels_hfst", DF_Type::history_event_entity_expels_hfst }, + { "history_event_entity_fled_sitest", DF_Type::history_event_entity_fled_sitest }, + { "history_event_entity_incorporatedst", DF_Type::history_event_entity_incorporatedst }, + { "history_event_entity_lawst", DF_Type::history_event_entity_lawst }, + { "history_event_entity_rampaged_in_sitest", DF_Type::history_event_entity_rampaged_in_sitest }, + { "history_event_entity_razed_buildingst", DF_Type::history_event_entity_razed_buildingst }, + { "history_event_entity_searched_sitest", DF_Type::history_event_entity_searched_sitest }, + { "history_event_first_contact_failedst", DF_Type::history_event_first_contact_failedst }, + { "history_event_first_contactst", DF_Type::history_event_first_contactst }, + { "history_event_hf_act_on_artifactst", DF_Type::history_event_hf_act_on_artifactst }, + { "history_event_hf_act_on_artifactst__T_action", DF_Type::history_event_hf_act_on_artifactst__T_action }, + { "history_event_hf_act_on_buildingst", DF_Type::history_event_hf_act_on_buildingst }, + { "history_event_hf_act_on_buildingst__T_action", DF_Type::history_event_hf_act_on_buildingst__T_action }, + { "history_event_hf_attacked_sitest", DF_Type::history_event_hf_attacked_sitest }, + { "history_event_hf_confrontedst", DF_Type::history_event_hf_confrontedst }, + { "history_event_hf_destroyed_sitest", DF_Type::history_event_hf_destroyed_sitest }, + { "history_event_hf_does_interactionst", DF_Type::history_event_hf_does_interactionst }, + { "history_event_hf_freedst", DF_Type::history_event_hf_freedst }, + { "history_event_hf_gains_secret_goalst", DF_Type::history_event_hf_gains_secret_goalst }, + { "history_event_hf_learns_secretst", DF_Type::history_event_hf_learns_secretst }, + { "history_event_hf_razed_buildingst", DF_Type::history_event_hf_razed_buildingst }, + { "history_event_hf_recruited_unit_type_for_entityst", DF_Type::history_event_hf_recruited_unit_type_for_entityst }, + { "history_event_hf_relationship_deniedst", DF_Type::history_event_hf_relationship_deniedst }, + { "history_event_hfs_formed_reputation_relationshipst", DF_Type::history_event_hfs_formed_reputation_relationshipst }, + { "history_event_hist_figure_abductedst", DF_Type::history_event_hist_figure_abductedst }, + { "history_event_hist_figure_diedst", DF_Type::history_event_hist_figure_diedst }, + { "history_event_hist_figure_new_petst", DF_Type::history_event_hist_figure_new_petst }, + { "history_event_hist_figure_reach_summitst", DF_Type::history_event_hist_figure_reach_summitst }, + { "history_event_hist_figure_reunionst", DF_Type::history_event_hist_figure_reunionst }, + { "history_event_hist_figure_revivedst", DF_Type::history_event_hist_figure_revivedst }, + { "history_event_hist_figure_simple_actionst", DF_Type::history_event_hist_figure_simple_actionst }, + { "history_event_hist_figure_simple_battle_eventst", DF_Type::history_event_hist_figure_simple_battle_eventst }, + { "history_event_hist_figure_travelst", DF_Type::history_event_hist_figure_travelst }, + { "history_event_hist_figure_travelst__T_reason", DF_Type::history_event_hist_figure_travelst__T_reason }, + { "history_event_hist_figure_woundedst", DF_Type::history_event_hist_figure_woundedst }, + { "history_event_hist_figure_woundedst__T_injury_type", DF_Type::history_event_hist_figure_woundedst__T_injury_type }, + { "history_event_insurrection_endedst", DF_Type::history_event_insurrection_endedst }, + { "history_event_insurrection_startedst", DF_Type::history_event_insurrection_startedst }, + { "history_event_item_stolenst", DF_Type::history_event_item_stolenst }, + { "history_event_knowledge_discoveredst", DF_Type::history_event_knowledge_discoveredst }, + { "history_event_masterpiece_created_arch_constructst", DF_Type::history_event_masterpiece_created_arch_constructst }, + { "history_event_masterpiece_created_arch_designst", DF_Type::history_event_masterpiece_created_arch_designst }, + { "history_event_masterpiece_created_dye_itemst", DF_Type::history_event_masterpiece_created_dye_itemst }, + { "history_event_masterpiece_created_engravingst", DF_Type::history_event_masterpiece_created_engravingst }, + { "history_event_masterpiece_created_foodst", DF_Type::history_event_masterpiece_created_foodst }, + { "history_event_masterpiece_created_item_improvementst", DF_Type::history_event_masterpiece_created_item_improvementst }, + { "history_event_masterpiece_created_itemst", DF_Type::history_event_masterpiece_created_itemst }, + { "history_event_masterpiece_createdst", DF_Type::history_event_masterpiece_createdst }, + { "history_event_masterpiece_lostst", DF_Type::history_event_masterpiece_lostst }, + { "history_event_merchantst", DF_Type::history_event_merchantst }, + { "history_event_musical_form_createdst", DF_Type::history_event_musical_form_createdst }, + { "history_event_performancest", DF_Type::history_event_performancest }, + { "history_event_poetic_form_createdst", DF_Type::history_event_poetic_form_createdst }, + { "history_event_processionst", DF_Type::history_event_processionst }, + { "history_event_reason", DF_Type::history_event_reason }, + { "history_event_reclaim_sitest", DF_Type::history_event_reclaim_sitest }, + { "history_event_regionpop_incorporated_into_entityst", DF_Type::history_event_regionpop_incorporated_into_entityst }, + { "history_event_remove_hf_entity_linkst", DF_Type::history_event_remove_hf_entity_linkst }, + { "history_event_remove_hf_hf_linkst", DF_Type::history_event_remove_hf_hf_linkst }, + { "history_event_remove_hf_site_linkst", DF_Type::history_event_remove_hf_site_linkst }, + { "history_event_replaced_buildingst", DF_Type::history_event_replaced_buildingst }, + { "history_event_simple_battle_subtype", DF_Type::history_event_simple_battle_subtype }, + { "history_event_site_diedst", DF_Type::history_event_site_diedst }, + { "history_event_site_disputest", DF_Type::history_event_site_disputest }, + { "history_event_site_retiredst", DF_Type::history_event_site_retiredst }, + { "history_event_site_surrenderedst", DF_Type::history_event_site_surrenderedst }, + { "history_event_sneak_into_sitest", DF_Type::history_event_sneak_into_sitest }, + { "history_event_spotted_leaving_sitest", DF_Type::history_event_spotted_leaving_sitest }, + { "history_event_squad_vs_squadst", DF_Type::history_event_squad_vs_squadst }, + { "history_event_tactical_situationst", DF_Type::history_event_tactical_situationst }, + { "history_event_tactical_situationst__T_tactics_flags", DF_Type::history_event_tactical_situationst__T_tactics_flags }, + { "history_event_topicagreement_concludedst", DF_Type::history_event_topicagreement_concludedst }, + { "history_event_topicagreement_madest", DF_Type::history_event_topicagreement_madest }, + { "history_event_topicagreement_rejectedst", DF_Type::history_event_topicagreement_rejectedst }, + { "history_event_type", DF_Type::history_event_type }, + { "history_event_war_attacked_sitest", DF_Type::history_event_war_attacked_sitest }, + { "history_event_war_destroyed_sitest", DF_Type::history_event_war_destroyed_sitest }, + { "history_event_war_field_battlest", DF_Type::history_event_war_field_battlest }, + { "history_event_war_peace_acceptedst", DF_Type::history_event_war_peace_acceptedst }, + { "history_event_war_peace_rejectedst", DF_Type::history_event_war_peace_rejectedst }, + { "history_event_war_plundered_sitest", DF_Type::history_event_war_plundered_sitest }, + { "history_event_war_site_new_leaderst", DF_Type::history_event_war_site_new_leaderst }, + { "history_event_war_site_taken_overst", DF_Type::history_event_war_site_taken_overst }, + { "history_event_war_site_tribute_forcedst", DF_Type::history_event_war_site_tribute_forcedst }, + { "history_event_war_site_tribute_forcedst__T_tribute_flags", DF_Type::history_event_war_site_tribute_forcedst__T_tribute_flags }, + { "history_event_written_content_composedst", DF_Type::history_event_written_content_composedst }, + { "history_hit_item", DF_Type::history_hit_item }, + { "hive_flags", DF_Type::hive_flags }, + { "hospital_supplies", DF_Type::hospital_supplies }, + { "hospital_supplies__T_supplies_needed", DF_Type::hospital_supplies__T_supplies_needed }, + { "identity", DF_Type::identity }, + { "identity_unk_94", DF_Type::identity_unk_94 }, + { "improvement_type", DF_Type::improvement_type }, + { "incident", DF_Type::incident }, + { "incident__T_flags", DF_Type::incident__T_flags }, + { "incident__T_unk_v42_1", DF_Type::incident__T_unk_v42_1 }, + { "incident_hfid", DF_Type::incident_hfid }, + { "incident_sub10", DF_Type::incident_sub10 }, + { "incident_sub6_performance", DF_Type::incident_sub6_performance }, + { "incident_sub6_performance__T_participants", DF_Type::incident_sub6_performance__T_participants }, + { "incident_sub7", DF_Type::incident_sub7 }, + { "incident_sub8", DF_Type::incident_sub8 }, + { "incident_sub9", DF_Type::incident_sub9 }, + { "inclusion_type", DF_Type::inclusion_type }, + { "init", DF_Type::init }, + { "init_display", DF_Type::init_display }, + { "init_display__T_windowed", DF_Type::init_display__T_windowed }, + { "init_display_flags", DF_Type::init_display_flags }, + { "init_font", DF_Type::init_font }, + { "init_font__T_use_ttf", DF_Type::init_font__T_use_ttf }, + { "init_input", DF_Type::init_input }, + { "init_input_flags", DF_Type::init_input_flags }, + { "init_media", DF_Type::init_media }, + { "init_media_flags", DF_Type::init_media_flags }, + { "init_window", DF_Type::init_window }, + { "init_window_flags", DF_Type::init_window_flags }, + { "inorganic_flags", DF_Type::inorganic_flags }, + { "inorganic_raw", DF_Type::inorganic_raw }, + { "inorganic_raw__T_environment", DF_Type::inorganic_raw__T_environment }, + { "inorganic_raw__T_environment_spec", DF_Type::inorganic_raw__T_environment_spec }, + { "inorganic_raw__T_metal_ore", DF_Type::inorganic_raw__T_metal_ore }, + { "inorganic_raw__T_thread_metal", DF_Type::inorganic_raw__T_thread_metal }, + { "instrument_flags", DF_Type::instrument_flags }, + { "instrument_piece", DF_Type::instrument_piece }, + { "instrument_piece__T_flags", DF_Type::instrument_piece__T_flags }, + { "instrument_register", DF_Type::instrument_register }, + { "insurrection_outcome", DF_Type::insurrection_outcome }, + { "interaction", DF_Type::interaction }, + { "interaction_effect", DF_Type::interaction_effect }, + { "interaction_effect__T_flags", DF_Type::interaction_effect__T_flags }, + { "interaction_effect_add_syndromest", DF_Type::interaction_effect_add_syndromest }, + { "interaction_effect_animatest", DF_Type::interaction_effect_animatest }, + { "interaction_effect_cleanst", DF_Type::interaction_effect_cleanst }, + { "interaction_effect_contactst", DF_Type::interaction_effect_contactst }, + { "interaction_effect_hidest", DF_Type::interaction_effect_hidest }, + { "interaction_effect_location_hint", DF_Type::interaction_effect_location_hint }, + { "interaction_effect_material_emissionst", DF_Type::interaction_effect_material_emissionst }, + { "interaction_effect_resurrectst", DF_Type::interaction_effect_resurrectst }, + { "interaction_effect_type", DF_Type::interaction_effect_type }, + { "interaction_instance", DF_Type::interaction_instance }, + { "interaction_source", DF_Type::interaction_source }, + { "interaction_source_attackst", DF_Type::interaction_source_attackst }, + { "interaction_source_creature_actionst", DF_Type::interaction_source_creature_actionst }, + { "interaction_source_deityst", DF_Type::interaction_source_deityst }, + { "interaction_source_disturbancest", DF_Type::interaction_source_disturbancest }, + { "interaction_source_ingestionst", DF_Type::interaction_source_ingestionst }, + { "interaction_source_regionst", DF_Type::interaction_source_regionst }, + { "interaction_source_regionst__T_region_flags", DF_Type::interaction_source_regionst__T_region_flags }, + { "interaction_source_secretst", DF_Type::interaction_source_secretst }, + { "interaction_source_secretst__T_learn_flags", DF_Type::interaction_source_secretst__T_learn_flags }, + { "interaction_source_type", DF_Type::interaction_source_type }, + { "interaction_source_underground_specialst", DF_Type::interaction_source_underground_specialst }, + { "interaction_source_usage_hint", DF_Type::interaction_source_usage_hint }, + { "interaction_target", DF_Type::interaction_target }, + { "interaction_target_corpsest", DF_Type::interaction_target_corpsest }, + { "interaction_target_creaturest", DF_Type::interaction_target_creaturest }, + { "interaction_target_info", DF_Type::interaction_target_info }, + { "interaction_target_info__T_restrictions", DF_Type::interaction_target_info__T_restrictions }, + { "interaction_target_location_type", DF_Type::interaction_target_location_type }, + { "interaction_target_locationst", DF_Type::interaction_target_locationst }, + { "interaction_target_materialst", DF_Type::interaction_target_materialst }, + { "interaction_target_materialst__T_restrictions", DF_Type::interaction_target_materialst__T_restrictions }, + { "interaction_target_type", DF_Type::interaction_target_type }, + { "interface_breakdown_types", DF_Type::interface_breakdown_types }, + { "interface_button", DF_Type::interface_button }, + { "interface_button_building_category_selectorst", DF_Type::interface_button_building_category_selectorst }, + { "interface_button_building_custom_category_selectorst", DF_Type::interface_button_building_custom_category_selectorst }, + { "interface_button_building_material_selectorst", DF_Type::interface_button_building_material_selectorst }, + { "interface_button_building_new_jobst", DF_Type::interface_button_building_new_jobst }, + { "interface_button_buildingst", DF_Type::interface_button_buildingst }, + { "interface_button_construction_building_selectorst", DF_Type::interface_button_construction_building_selectorst }, + { "interface_button_construction_category_selectorst", DF_Type::interface_button_construction_category_selectorst }, + { "interface_button_construction_category_selectorst__T_category_id", DF_Type::interface_button_construction_category_selectorst__T_category_id }, + { "interface_button_construction_donest", DF_Type::interface_button_construction_donest }, + { "interface_button_constructionst", DF_Type::interface_button_constructionst }, + { "interface_key", DF_Type::interface_key }, + { "interfacest", DF_Type::interfacest }, + { "invasion_info", DF_Type::invasion_info }, + { "invasion_info__T_flags", DF_Type::invasion_info__T_flags }, + { "item", DF_Type::item }, + { "item_actual", DF_Type::item_actual }, + { "item_ammost", DF_Type::item_ammost }, + { "item_amuletst", DF_Type::item_amuletst }, + { "item_animaltrapst", DF_Type::item_animaltrapst }, + { "item_anvilst", DF_Type::item_anvilst }, + { "item_armorst", DF_Type::item_armorst }, + { "item_armorstandst", DF_Type::item_armorstandst }, + { "item_backpackst", DF_Type::item_backpackst }, + { "item_ballistaarrowheadst", DF_Type::item_ballistaarrowheadst }, + { "item_ballistapartsst", DF_Type::item_ballistapartsst }, + { "item_barrelst", DF_Type::item_barrelst }, + { "item_barst", DF_Type::item_barst }, + { "item_bedst", DF_Type::item_bedst }, + { "item_binst", DF_Type::item_binst }, + { "item_blocksst", DF_Type::item_blocksst }, + { "item_body_component", DF_Type::item_body_component }, + { "item_body_component__T_appearance", DF_Type::item_body_component__T_appearance }, + { "item_body_component__T_body", DF_Type::item_body_component__T_body }, + { "item_body_component__T_bone1", DF_Type::item_body_component__T_bone1 }, + { "item_body_component__T_bone2", DF_Type::item_body_component__T_bone2 }, + { "item_body_component__T_corpse_flags", DF_Type::item_body_component__T_corpse_flags }, + { "item_bookst", DF_Type::item_bookst }, + { "item_boulderst", DF_Type::item_boulderst }, + { "item_boxst", DF_Type::item_boxst }, + { "item_braceletst", DF_Type::item_braceletst }, + { "item_branchst", DF_Type::item_branchst }, + { "item_bucketst", DF_Type::item_bucketst }, + { "item_cabinetst", DF_Type::item_cabinetst }, + { "item_cagest", DF_Type::item_cagest }, + { "item_catapultpartsst", DF_Type::item_catapultpartsst }, + { "item_chainst", DF_Type::item_chainst }, + { "item_chairst", DF_Type::item_chairst }, + { "item_cheesest", DF_Type::item_cheesest }, + { "item_clothst", DF_Type::item_clothst }, + { "item_coffinst", DF_Type::item_coffinst }, + { "item_coinst", DF_Type::item_coinst }, + { "item_constructed", DF_Type::item_constructed }, + { "item_corpsepiecest", DF_Type::item_corpsepiecest }, + { "item_corpsest", DF_Type::item_corpsest }, + { "item_crafted", DF_Type::item_crafted }, + { "item_critter", DF_Type::item_critter }, + { "item_crownst", DF_Type::item_crownst }, + { "item_crutchst", DF_Type::item_crutchst }, + { "item_doorst", DF_Type::item_doorst }, + { "item_drinkst", DF_Type::item_drinkst }, + { "item_earringst", DF_Type::item_earringst }, + { "item_eggst", DF_Type::item_eggst }, + { "item_eggst__T_egg_flags", DF_Type::item_eggst__T_egg_flags }, + { "item_figurinest", DF_Type::item_figurinest }, + { "item_filter_spec", DF_Type::item_filter_spec }, + { "item_fish_rawst", DF_Type::item_fish_rawst }, + { "item_fishst", DF_Type::item_fishst }, + { "item_flags", DF_Type::item_flags }, + { "item_flags2", DF_Type::item_flags2 }, + { "item_flaskst", DF_Type::item_flaskst }, + { "item_floodgatest", DF_Type::item_floodgatest }, + { "item_foodst", DF_Type::item_foodst }, + { "item_foodst__T_ingredients", DF_Type::item_foodst__T_ingredients }, + { "item_gemst", DF_Type::item_gemst }, + { "item_globst", DF_Type::item_globst }, + { "item_glovesst", DF_Type::item_glovesst }, + { "item_gobletst", DF_Type::item_gobletst }, + { "item_gratest", DF_Type::item_gratest }, + { "item_hatch_coverst", DF_Type::item_hatch_coverst }, + { "item_helmst", DF_Type::item_helmst }, + { "item_history_info", DF_Type::item_history_info }, + { "item_instrumentst", DF_Type::item_instrumentst }, + { "item_kill_info", DF_Type::item_kill_info }, + { "item_liquid", DF_Type::item_liquid }, + { "item_liquid_miscst", DF_Type::item_liquid_miscst }, + { "item_liquipowder", DF_Type::item_liquipowder }, + { "item_magicness", DF_Type::item_magicness }, + { "item_magicness_type", DF_Type::item_magicness_type }, + { "item_matstate", DF_Type::item_matstate }, + { "item_meatst", DF_Type::item_meatst }, + { "item_millstonest", DF_Type::item_millstonest }, + { "item_orthopedic_castst", DF_Type::item_orthopedic_castst }, + { "item_pantsst", DF_Type::item_pantsst }, + { "item_petst", DF_Type::item_petst }, + { "item_petst__T_pet_flags", DF_Type::item_petst__T_pet_flags }, + { "item_pipe_sectionst", DF_Type::item_pipe_sectionst }, + { "item_plant_growthst", DF_Type::item_plant_growthst }, + { "item_plantst", DF_Type::item_plantst }, + { "item_powder", DF_Type::item_powder }, + { "item_powder_miscst", DF_Type::item_powder_miscst }, + { "item_quality", DF_Type::item_quality }, + { "item_quernst", DF_Type::item_quernst }, + { "item_quiverst", DF_Type::item_quiverst }, + { "item_remainsst", DF_Type::item_remainsst }, + { "item_ringst", DF_Type::item_ringst }, + { "item_rockst", DF_Type::item_rockst }, + { "item_roughst", DF_Type::item_roughst }, + { "item_scepterst", DF_Type::item_scepterst }, + { "item_seedsst", DF_Type::item_seedsst }, + { "item_sheetst", DF_Type::item_sheetst }, + { "item_shieldst", DF_Type::item_shieldst }, + { "item_shoesst", DF_Type::item_shoesst }, + { "item_siegeammost", DF_Type::item_siegeammost }, + { "item_skin_tannedst", DF_Type::item_skin_tannedst }, + { "item_slabst", DF_Type::item_slabst }, + { "item_smallgemst", DF_Type::item_smallgemst }, + { "item_splintst", DF_Type::item_splintst }, + { "item_statuest", DF_Type::item_statuest }, + { "item_stockpile_ref", DF_Type::item_stockpile_ref }, + { "item_tablest", DF_Type::item_tablest }, + { "item_threadst", DF_Type::item_threadst }, + { "item_toolst", DF_Type::item_toolst }, + { "item_totemst", DF_Type::item_totemst }, + { "item_toyst", DF_Type::item_toyst }, + { "item_traction_benchst", DF_Type::item_traction_benchst }, + { "item_trapcompst", DF_Type::item_trapcompst }, + { "item_trappartsst", DF_Type::item_trappartsst }, + { "item_type", DF_Type::item_type }, + { "item_verminst", DF_Type::item_verminst }, + { "item_weaponrackst", DF_Type::item_weaponrackst }, + { "item_weaponst", DF_Type::item_weaponst }, + { "item_windowst", DF_Type::item_windowst }, + { "item_woodst", DF_Type::item_woodst }, + { "itemdef", DF_Type::itemdef }, + { "itemdef_ammost", DF_Type::itemdef_ammost }, + { "itemdef_armorst", DF_Type::itemdef_armorst }, + { "itemdef_foodst", DF_Type::itemdef_foodst }, + { "itemdef_glovesst", DF_Type::itemdef_glovesst }, + { "itemdef_helmst", DF_Type::itemdef_helmst }, + { "itemdef_instrumentst", DF_Type::itemdef_instrumentst }, + { "itemdef_pantsst", DF_Type::itemdef_pantsst }, + { "itemdef_shieldst", DF_Type::itemdef_shieldst }, + { "itemdef_shoesst", DF_Type::itemdef_shoesst }, + { "itemdef_siegeammost", DF_Type::itemdef_siegeammost }, + { "itemdef_toolst", DF_Type::itemdef_toolst }, + { "itemdef_toolst__T_default_improvements", DF_Type::itemdef_toolst__T_default_improvements }, + { "itemdef_toyst", DF_Type::itemdef_toyst }, + { "itemdef_trapcompst", DF_Type::itemdef_trapcompst }, + { "itemdef_weaponst", DF_Type::itemdef_weaponst }, + { "itemimprovement", DF_Type::itemimprovement }, + { "itemimprovement_art_imagest", DF_Type::itemimprovement_art_imagest }, + { "itemimprovement_bandsst", DF_Type::itemimprovement_bandsst }, + { "itemimprovement_clothst", DF_Type::itemimprovement_clothst }, + { "itemimprovement_coveredst", DF_Type::itemimprovement_coveredst }, + { "itemimprovement_coveredst__T_cover_flags", DF_Type::itemimprovement_coveredst__T_cover_flags }, + { "itemimprovement_illustrationst", DF_Type::itemimprovement_illustrationst }, + { "itemimprovement_instrument_piecest", DF_Type::itemimprovement_instrument_piecest }, + { "itemimprovement_itemspecificst", DF_Type::itemimprovement_itemspecificst }, + { "itemimprovement_pagesst", DF_Type::itemimprovement_pagesst }, + { "itemimprovement_rings_hangingst", DF_Type::itemimprovement_rings_hangingst }, + { "itemimprovement_sewn_imagest", DF_Type::itemimprovement_sewn_imagest }, + { "itemimprovement_sewn_imagest__T_cloth", DF_Type::itemimprovement_sewn_imagest__T_cloth }, + { "itemimprovement_specific_type", DF_Type::itemimprovement_specific_type }, + { "itemimprovement_spikesst", DF_Type::itemimprovement_spikesst }, + { "itemimprovement_threadst", DF_Type::itemimprovement_threadst }, + { "itemimprovement_writingst", DF_Type::itemimprovement_writingst }, + { "items_other_id", DF_Type::items_other_id }, + { "job", DF_Type::job }, + { "job_art_specification", DF_Type::job_art_specification }, + { "job_art_specification__T_type", DF_Type::job_art_specification__T_type }, + { "job_flags", DF_Type::job_flags }, + { "job_handler", DF_Type::job_handler }, + { "job_handler__T_anon_1", DF_Type::job_handler__T_anon_1 }, + { "job_handler__T_postings", DF_Type::job_handler__T_postings }, + { "job_handler__T_postings__T_flags", DF_Type::job_handler__T_postings__T_flags }, + { "job_item", DF_Type::job_item }, + { "job_item_filter", DF_Type::job_item_filter }, + { "job_item_flags1", DF_Type::job_item_flags1 }, + { "job_item_flags2", DF_Type::job_item_flags2 }, + { "job_item_flags3", DF_Type::job_item_flags3 }, + { "job_item_ref", DF_Type::job_item_ref }, + { "job_item_ref__T_role", DF_Type::job_item_ref__T_role }, + { "job_item_vector_id", DF_Type::job_item_vector_id }, + { "job_list_link", DF_Type::job_list_link }, + { "job_material_category", DF_Type::job_material_category }, + { "job_skill", DF_Type::job_skill }, + { "job_skill_class", DF_Type::job_skill_class }, + { "job_subtype_surgery", DF_Type::job_subtype_surgery }, + { "job_type", DF_Type::job_type }, + { "job_type_class", DF_Type::job_type_class }, + { "KeybindingScreen", DF_Type::KeybindingScreen }, + { "KeybindingScreen__T_mode", DF_Type::KeybindingScreen__T_mode }, + { "kitchen_exc_type", DF_Type::kitchen_exc_type }, + { "kitchen_pref_flag", DF_Type::kitchen_pref_flag }, + { "knowledge_scholar_category_flag", DF_Type::knowledge_scholar_category_flag }, + { "knowledge_scholar_category_flag__T_flags", DF_Type::knowledge_scholar_category_flag__T_flags }, + { "knowledge_scholar_flags_0", DF_Type::knowledge_scholar_flags_0 }, + { "knowledge_scholar_flags_1", DF_Type::knowledge_scholar_flags_1 }, + { "knowledge_scholar_flags_10", DF_Type::knowledge_scholar_flags_10 }, + { "knowledge_scholar_flags_11", DF_Type::knowledge_scholar_flags_11 }, + { "knowledge_scholar_flags_12", DF_Type::knowledge_scholar_flags_12 }, + { "knowledge_scholar_flags_13", DF_Type::knowledge_scholar_flags_13 }, + { "knowledge_scholar_flags_2", DF_Type::knowledge_scholar_flags_2 }, + { "knowledge_scholar_flags_3", DF_Type::knowledge_scholar_flags_3 }, + { "knowledge_scholar_flags_4", DF_Type::knowledge_scholar_flags_4 }, + { "knowledge_scholar_flags_5", DF_Type::knowledge_scholar_flags_5 }, + { "knowledge_scholar_flags_6", DF_Type::knowledge_scholar_flags_6 }, + { "knowledge_scholar_flags_7", DF_Type::knowledge_scholar_flags_7 }, + { "knowledge_scholar_flags_8", DF_Type::knowledge_scholar_flags_8 }, + { "knowledge_scholar_flags_9", DF_Type::knowledge_scholar_flags_9 }, + { "language_name", DF_Type::language_name }, + { "language_name_category", DF_Type::language_name_category }, + { "language_symbol", DF_Type::language_symbol }, + { "language_translation", DF_Type::language_translation }, + { "language_word", DF_Type::language_word }, + { "language_word_flags", DF_Type::language_word_flags }, + { "language_word_table", DF_Type::language_word_table }, + { "large_integer", DF_Type::large_integer }, + { "large_integer___struct0", DF_Type::large_integer___struct0 }, + { "large_integer__T_u", DF_Type::large_integer__T_u }, + { "layer_object", DF_Type::layer_object }, + { "layer_object_buttonst", DF_Type::layer_object_buttonst }, + { "layer_object_listst", DF_Type::layer_object_listst }, + { "lever_target_type", DF_Type::lever_target_type }, + { "loadgame_save_info", DF_Type::loadgame_save_info }, + { "local_population", DF_Type::local_population }, + { "local_population___union6", DF_Type::local_population___union6 }, + { "local_population__T_flags", DF_Type::local_population__T_flags }, + { "location_scribe_jobs", DF_Type::location_scribe_jobs }, + { "machine", DF_Type::machine }, + { "machine__T_components", DF_Type::machine__T_components }, + { "machine__T_flags", DF_Type::machine__T_flags }, + { "machine_conn_modes", DF_Type::machine_conn_modes }, + { "machine_handler", DF_Type::machine_handler }, + { "machine_info", DF_Type::machine_info }, + { "machine_info__T_flags", DF_Type::machine_info__T_flags }, + { "machine_standardst", DF_Type::machine_standardst }, + { "machine_tile_set", DF_Type::machine_tile_set }, + { "machine_type", DF_Type::machine_type }, + { "MacroScreenLoad", DF_Type::MacroScreenLoad }, + { "MacroScreenSave", DF_Type::MacroScreenSave }, + { "manager_order", DF_Type::manager_order }, + { "manager_order__T_frequency", DF_Type::manager_order__T_frequency }, + { "manager_order_condition_item", DF_Type::manager_order_condition_item }, + { "manager_order_condition_item__T_compare_type", DF_Type::manager_order_condition_item__T_compare_type }, + { "manager_order_condition_order", DF_Type::manager_order_condition_order }, + { "manager_order_condition_order__T_condition", DF_Type::manager_order_condition_order__T_condition }, + { "manager_order_status", DF_Type::manager_order_status }, + { "manager_order_template", DF_Type::manager_order_template }, + { "mandate", DF_Type::mandate }, + { "mandate__T_mode", DF_Type::mandate__T_mode }, + { "mandate__T_punishment", DF_Type::mandate__T_punishment }, + { "map_block", DF_Type::map_block }, + { "map_block_column", DF_Type::map_block_column }, + { "map_block_column__T_unmined_glyphs", DF_Type::map_block_column__T_unmined_glyphs }, + { "map_renderer", DF_Type::map_renderer }, + { "map_renderer__T_anon_4", DF_Type::map_renderer__T_anon_4 }, + { "map_viewport", DF_Type::map_viewport }, + { "masterpiece_loss_type", DF_Type::masterpiece_loss_type }, + { "material", DF_Type::material }, + { "material_common", DF_Type::material_common }, + { "material_common__T_hardens_with_water", DF_Type::material_common__T_hardens_with_water }, + { "material_common__T_heat", DF_Type::material_common__T_heat }, + { "material_common__T_reaction_product", DF_Type::material_common__T_reaction_product }, + { "material_common__T_strength", DF_Type::material_common__T_strength }, + { "material_flags", DF_Type::material_flags }, + { "material_template", DF_Type::material_template }, + { "material_vec_ref", DF_Type::material_vec_ref }, + { "matgloss_list", DF_Type::matgloss_list }, + { "matter_state", DF_Type::matter_state }, + { "meeting_context", DF_Type::meeting_context }, + { "meeting_diplomat_info", DF_Type::meeting_diplomat_info }, + { "meeting_diplomat_info__T_flags", DF_Type::meeting_diplomat_info__T_flags }, + { "meeting_event", DF_Type::meeting_event }, + { "meeting_event_type", DF_Type::meeting_event_type }, + { "meeting_topic", DF_Type::meeting_topic }, + { "meeting_variable", DF_Type::meeting_variable }, + { "mental_attribute_type", DF_Type::mental_attribute_type }, + { "mental_picture", DF_Type::mental_picture }, + { "mental_picture_element_hfst", DF_Type::mental_picture_element_hfst }, + { "mental_picture_element_regionst", DF_Type::mental_picture_element_regionst }, + { "mental_picture_element_sitest", DF_Type::mental_picture_element_sitest }, + { "mental_picture_element_type", DF_Type::mental_picture_element_type }, + { "mental_picture_elementst", DF_Type::mental_picture_elementst }, + { "mental_picture_property_actionst", DF_Type::mental_picture_property_actionst }, + { "mental_picture_property_adjectivest", DF_Type::mental_picture_property_adjectivest }, + { "mental_picture_property_color_patternst", DF_Type::mental_picture_property_color_patternst }, + { "mental_picture_property_datest", DF_Type::mental_picture_property_datest }, + { "mental_picture_property_emotionst", DF_Type::mental_picture_property_emotionst }, + { "mental_picture_property_positionst", DF_Type::mental_picture_property_positionst }, + { "mental_picture_property_shapest", DF_Type::mental_picture_property_shapest }, + { "mental_picture_property_timest", DF_Type::mental_picture_property_timest }, + { "mental_picture_property_toolst", DF_Type::mental_picture_property_toolst }, + { "mental_picture_property_type", DF_Type::mental_picture_property_type }, + { "mental_picture_propertyst", DF_Type::mental_picture_propertyst }, + { "misc_trait_type", DF_Type::misc_trait_type }, + { "mission", DF_Type::mission }, + { "mission__T_details", DF_Type::mission__T_details }, + { "mission__T_details__T_raid", DF_Type::mission__T_details__T_raid }, + { "mission__T_details__T_raid__T_raid_flags", DF_Type::mission__T_details__T_raid__T_raid_flags }, + { "mission__T_details__T_raid__T_raid_type", DF_Type::mission__T_details__T_raid__T_raid_type }, + { "mission__T_details__T_recovery", DF_Type::mission__T_details__T_recovery }, + { "mission__T_details__T_request", DF_Type::mission__T_details__T_request }, + { "mission__T_details__T_rescue", DF_Type::mission__T_details__T_rescue }, + { "mission__T_type", DF_Type::mission__T_type }, + { "mission_campaign_report", DF_Type::mission_campaign_report }, + { "mission_report", DF_Type::mission_report }, + { "mood_type", DF_Type::mood_type }, + { "mountain_peak_flags", DF_Type::mountain_peak_flags }, + { "moving_party", DF_Type::moving_party }, + { "moving_party__T_members", DF_Type::moving_party__T_members }, + { "musical_form", DF_Type::musical_form }, + { "musical_form__T_flags", DF_Type::musical_form__T_flags }, + { "musical_form_feature", DF_Type::musical_form_feature }, + { "musical_form_instruments", DF_Type::musical_form_instruments }, + { "musical_form_instruments__T_substitutions", DF_Type::musical_form_instruments__T_substitutions }, + { "musical_form_interval", DF_Type::musical_form_interval }, + { "musical_form_interval__T_flags", DF_Type::musical_form_interval__T_flags }, + { "musical_form_melodies", DF_Type::musical_form_melodies }, + { "musical_form_pitch_style", DF_Type::musical_form_pitch_style }, + { "musical_form_purpose", DF_Type::musical_form_purpose }, + { "musical_form_style", DF_Type::musical_form_style }, + { "musical_form_sub4", DF_Type::musical_form_sub4 }, + { "musical_form_vocals", DF_Type::musical_form_vocals }, + { "need_type", DF_Type::need_type }, + { "nemesis_flags", DF_Type::nemesis_flags }, + { "nemesis_offload", DF_Type::nemesis_offload }, + { "nemesis_record", DF_Type::nemesis_record }, + { "occasion_schedule_feature", DF_Type::occasion_schedule_feature }, + { "occasion_schedule_type", DF_Type::occasion_schedule_type }, + { "occupation", DF_Type::occupation }, + { "occupation_sub1", DF_Type::occupation_sub1 }, + { "occupation_type", DF_Type::occupation_type }, + { "ocean_wave", DF_Type::ocean_wave }, + { "organic_mat_category", DF_Type::organic_mat_category }, + { "orientation_flags", DF_Type::orientation_flags }, + { "pants_flags", DF_Type::pants_flags }, + { "part_of_speech", DF_Type::part_of_speech }, + { "party_info", DF_Type::party_info }, + { "pattern_type", DF_Type::pattern_type }, + { "performance_event_type", DF_Type::performance_event_type }, + { "performance_participant_type", DF_Type::performance_participant_type }, + { "performance_play_orderst", DF_Type::performance_play_orderst }, + { "performance_play_orderst__T_anon_4", DF_Type::performance_play_orderst__T_anon_4 }, + { "personality_facet_type", DF_Type::personality_facet_type }, + { "physical_attribute_type", DF_Type::physical_attribute_type }, + { "pitch_choice_type", DF_Type::pitch_choice_type }, + { "plant", DF_Type::plant }, + { "plant__T_damage_flags", DF_Type::plant__T_damage_flags }, + { "plant_flags", DF_Type::plant_flags }, + { "plant_growth", DF_Type::plant_growth }, + { "plant_growth__T_behavior", DF_Type::plant_growth__T_behavior }, + { "plant_growth__T_locations", DF_Type::plant_growth__T_locations }, + { "plant_growth_print", DF_Type::plant_growth_print }, + { "plant_raw", DF_Type::plant_raw }, + { "plant_raw__T_colors", DF_Type::plant_raw__T_colors }, + { "plant_raw__T_material_defs", DF_Type::plant_raw__T_material_defs }, + { "plant_raw__T_stockpile_growth_flags", DF_Type::plant_raw__T_stockpile_growth_flags }, + { "plant_raw__T_tiles", DF_Type::plant_raw__T_tiles }, + { "plant_raw_flags", DF_Type::plant_raw_flags }, + { "plant_tree_info", DF_Type::plant_tree_info }, + { "plant_tree_tile", DF_Type::plant_tree_tile }, + { "poetic_form", DF_Type::poetic_form }, + { "poetic_form___union0", DF_Type::poetic_form___union0 }, + { "poetic_form__T_flags", DF_Type::poetic_form__T_flags }, + { "poetic_form_action", DF_Type::poetic_form_action }, + { "poetic_form_additional_feature", DF_Type::poetic_form_additional_feature }, + { "poetic_form_caesura_position", DF_Type::poetic_form_caesura_position }, + { "poetic_form_feature", DF_Type::poetic_form_feature }, + { "poetic_form_mood", DF_Type::poetic_form_mood }, + { "poetic_form_part", DF_Type::poetic_form_part }, + { "poetic_form_part__T_flags", DF_Type::poetic_form_part__T_flags }, + { "poetic_form_part__T_line_subject_targets", DF_Type::poetic_form_part__T_line_subject_targets }, + { "poetic_form_pattern", DF_Type::poetic_form_pattern }, + { "poetic_form_perspective", DF_Type::poetic_form_perspective }, + { "poetic_form_perspective__T_type", DF_Type::poetic_form_perspective__T_type }, + { "poetic_form_subject", DF_Type::poetic_form_subject }, + { "popup_message", DF_Type::popup_message }, + { "power_info", DF_Type::power_info }, + { "pressure_plate_info", DF_Type::pressure_plate_info }, + { "pressure_plate_info__T_flags", DF_Type::pressure_plate_info__T_flags }, + { "profession", DF_Type::profession }, + { "proj_itemst", DF_Type::proj_itemst }, + { "proj_list_link", DF_Type::proj_list_link }, + { "proj_magicst", DF_Type::proj_magicst }, + { "proj_unitst", DF_Type::proj_unitst }, + { "projectile", DF_Type::projectile }, + { "projectile_flags", DF_Type::projectile_flags }, + { "projectile_type", DF_Type::projectile_type }, + { "punishment", DF_Type::punishment }, + { "reaction", DF_Type::reaction }, + { "reaction__T_building", DF_Type::reaction__T_building }, + { "reaction_category", DF_Type::reaction_category }, + { "reaction_description", DF_Type::reaction_description }, + { "reaction_flags", DF_Type::reaction_flags }, + { "reaction_product", DF_Type::reaction_product }, + { "reaction_product_improvement_flags", DF_Type::reaction_product_improvement_flags }, + { "reaction_product_item_flags", DF_Type::reaction_product_item_flags }, + { "reaction_product_item_improvementst", DF_Type::reaction_product_item_improvementst }, + { "reaction_product_item_improvementst__T_get_material", DF_Type::reaction_product_item_improvementst__T_get_material }, + { "reaction_product_itemst", DF_Type::reaction_product_itemst }, + { "reaction_product_itemst__T_get_material", DF_Type::reaction_product_itemst__T_get_material }, + { "reaction_product_type", DF_Type::reaction_product_type }, + { "reaction_reagent", DF_Type::reaction_reagent }, + { "reaction_reagent_flags", DF_Type::reaction_reagent_flags }, + { "reaction_reagent_itemst", DF_Type::reaction_reagent_itemst }, + { "reaction_reagent_type", DF_Type::reaction_reagent_type }, + { "region_block_event_sphere_fieldst", DF_Type::region_block_event_sphere_fieldst }, + { "region_block_event_type", DF_Type::region_block_event_type }, + { "region_block_eventst", DF_Type::region_block_eventst }, + { "region_map_entry", DF_Type::region_map_entry }, + { "region_map_entry__T_clouds", DF_Type::region_map_entry__T_clouds }, + { "region_map_entry__T_wind", DF_Type::region_map_entry__T_wind }, + { "region_map_entry_flags", DF_Type::region_map_entry_flags }, + { "renderer", DF_Type::renderer }, + { "report", DF_Type::report }, + { "report__T_flags", DF_Type::report__T_flags }, + { "reputation_type", DF_Type::reputation_type }, + { "resource_allotment_data", DF_Type::resource_allotment_data }, + { "resource_allotment_data__T_unk_654", DF_Type::resource_allotment_data__T_unk_654 }, + { "resource_allotment_specifier", DF_Type::resource_allotment_specifier }, + { "resource_allotment_specifier_ammost", DF_Type::resource_allotment_specifier_ammost }, + { "resource_allotment_specifier_anvilst", DF_Type::resource_allotment_specifier_anvilst }, + { "resource_allotment_specifier_armor_bodyst", DF_Type::resource_allotment_specifier_armor_bodyst }, + { "resource_allotment_specifier_armor_bootsst", DF_Type::resource_allotment_specifier_armor_bootsst }, + { "resource_allotment_specifier_armor_glovesst", DF_Type::resource_allotment_specifier_armor_glovesst }, + { "resource_allotment_specifier_armor_helmst", DF_Type::resource_allotment_specifier_armor_helmst }, + { "resource_allotment_specifier_armor_pantsst", DF_Type::resource_allotment_specifier_armor_pantsst }, + { "resource_allotment_specifier_backpackst", DF_Type::resource_allotment_specifier_backpackst }, + { "resource_allotment_specifier_bagst", DF_Type::resource_allotment_specifier_bagst }, + { "resource_allotment_specifier_bedst", DF_Type::resource_allotment_specifier_bedst }, + { "resource_allotment_specifier_bonest", DF_Type::resource_allotment_specifier_bonest }, + { "resource_allotment_specifier_boxst", DF_Type::resource_allotment_specifier_boxst }, + { "resource_allotment_specifier_cabinetst", DF_Type::resource_allotment_specifier_cabinetst }, + { "resource_allotment_specifier_chairst", DF_Type::resource_allotment_specifier_chairst }, + { "resource_allotment_specifier_cheesest", DF_Type::resource_allotment_specifier_cheesest }, + { "resource_allotment_specifier_clothing_bodyst", DF_Type::resource_allotment_specifier_clothing_bodyst }, + { "resource_allotment_specifier_clothing_bootsst", DF_Type::resource_allotment_specifier_clothing_bootsst }, + { "resource_allotment_specifier_clothing_glovesst", DF_Type::resource_allotment_specifier_clothing_glovesst }, + { "resource_allotment_specifier_clothing_helmst", DF_Type::resource_allotment_specifier_clothing_helmst }, + { "resource_allotment_specifier_clothing_pantsst", DF_Type::resource_allotment_specifier_clothing_pantsst }, + { "resource_allotment_specifier_clothst", DF_Type::resource_allotment_specifier_clothst }, + { "resource_allotment_specifier_craftsst", DF_Type::resource_allotment_specifier_craftsst }, + { "resource_allotment_specifier_cropst", DF_Type::resource_allotment_specifier_cropst }, + { "resource_allotment_specifier_extractst", DF_Type::resource_allotment_specifier_extractst }, + { "resource_allotment_specifier_flaskst", DF_Type::resource_allotment_specifier_flaskst }, + { "resource_allotment_specifier_gemsst", DF_Type::resource_allotment_specifier_gemsst }, + { "resource_allotment_specifier_hornst", DF_Type::resource_allotment_specifier_hornst }, + { "resource_allotment_specifier_leatherst", DF_Type::resource_allotment_specifier_leatherst }, + { "resource_allotment_specifier_meatst", DF_Type::resource_allotment_specifier_meatst }, + { "resource_allotment_specifier_metalst", DF_Type::resource_allotment_specifier_metalst }, + { "resource_allotment_specifier_pearlst", DF_Type::resource_allotment_specifier_pearlst }, + { "resource_allotment_specifier_powderst", DF_Type::resource_allotment_specifier_powderst }, + { "resource_allotment_specifier_quiverst", DF_Type::resource_allotment_specifier_quiverst }, + { "resource_allotment_specifier_shellst", DF_Type::resource_allotment_specifier_shellst }, + { "resource_allotment_specifier_skinst", DF_Type::resource_allotment_specifier_skinst }, + { "resource_allotment_specifier_soapst", DF_Type::resource_allotment_specifier_soapst }, + { "resource_allotment_specifier_stonest", DF_Type::resource_allotment_specifier_stonest }, + { "resource_allotment_specifier_tablest", DF_Type::resource_allotment_specifier_tablest }, + { "resource_allotment_specifier_tallowst", DF_Type::resource_allotment_specifier_tallowst }, + { "resource_allotment_specifier_threadst", DF_Type::resource_allotment_specifier_threadst }, + { "resource_allotment_specifier_toothst", DF_Type::resource_allotment_specifier_toothst }, + { "resource_allotment_specifier_type", DF_Type::resource_allotment_specifier_type }, + { "resource_allotment_specifier_weapon_meleest", DF_Type::resource_allotment_specifier_weapon_meleest }, + { "resource_allotment_specifier_weapon_rangedst", DF_Type::resource_allotment_specifier_weapon_rangedst }, + { "resource_allotment_specifier_woodst", DF_Type::resource_allotment_specifier_woodst }, + { "rhythm", DF_Type::rhythm }, + { "rhythm_sub1", DF_Type::rhythm_sub1 }, + { "rhythm_sub1__T_anon_1", DF_Type::rhythm_sub1__T_anon_1 }, + { "rhythm_sub2", DF_Type::rhythm_sub2 }, + { "room_rent_info", DF_Type::room_rent_info }, + { "room_rent_info__T_flags", DF_Type::room_rent_info__T_flags }, + { "route_stockpile_link", DF_Type::route_stockpile_link }, + { "route_stockpile_link__T_mode", DF_Type::route_stockpile_link__T_mode }, + { "scale", DF_Type::scale }, + { "scale__T_unk1", DF_Type::scale__T_unk1 }, + { "scale_sub1", DF_Type::scale_sub1 }, + { "scale_sub2", DF_Type::scale_sub2 }, + { "schedule_info", DF_Type::schedule_info }, + { "schedule_slot", DF_Type::schedule_slot }, + { "screw_pump_direction", DF_Type::screw_pump_direction }, + { "scribejob", DF_Type::scribejob }, + { "script_step_conditionalst", DF_Type::script_step_conditionalst }, + { "script_step_conditionalst__T_condition", DF_Type::script_step_conditionalst__T_condition }, + { "script_step_constructtopiclistst", DF_Type::script_step_constructtopiclistst }, + { "script_step_dipeventst", DF_Type::script_step_dipeventst }, + { "script_step_diphistoryst", DF_Type::script_step_diphistoryst }, + { "script_step_discussst", DF_Type::script_step_discussst }, + { "script_step_eventst", DF_Type::script_step_eventst }, + { "script_step_invasionst", DF_Type::script_step_invasionst }, + { "script_step_setvarst", DF_Type::script_step_setvarst }, + { "script_step_simpleactionst", DF_Type::script_step_simpleactionst }, + { "script_step_textviewerst", DF_Type::script_step_textviewerst }, + { "script_step_topicdiscussionst", DF_Type::script_step_topicdiscussionst }, + { "script_stepst", DF_Type::script_stepst }, + { "script_var_longst", DF_Type::script_var_longst }, + { "script_var_unitst", DF_Type::script_var_unitst }, + { "script_varst", DF_Type::script_varst }, + { "setup_character_info", DF_Type::setup_character_info }, + { "setup_character_info__T_status", DF_Type::setup_character_info__T_status }, + { "shoes_flags", DF_Type::shoes_flags }, + { "shop_type", DF_Type::shop_type }, + { "siegeengine_type", DF_Type::siegeengine_type }, + { "site_building_item", DF_Type::site_building_item }, + { "site_dispute_type", DF_Type::site_dispute_type }, + { "site_realization_building", DF_Type::site_realization_building }, + { "site_realization_building__T_unk_4c", DF_Type::site_realization_building__T_unk_4c }, + { "site_realization_building_info_castle_courtyardst", DF_Type::site_realization_building_info_castle_courtyardst }, + { "site_realization_building_info_castle_towerst", DF_Type::site_realization_building_info_castle_towerst }, + { "site_realization_building_info_castle_wallst", DF_Type::site_realization_building_info_castle_wallst }, + { "site_realization_building_info_hillock_housest", DF_Type::site_realization_building_info_hillock_housest }, + { "site_realization_building_info_market_squarest", DF_Type::site_realization_building_info_market_squarest }, + { "site_realization_building_info_shop_housest", DF_Type::site_realization_building_info_shop_housest }, + { "site_realization_building_info_tree_housest", DF_Type::site_realization_building_info_tree_housest }, + { "site_realization_building_info_trenchesst", DF_Type::site_realization_building_info_trenchesst }, + { "site_realization_building_info_trenchesst__T_spokes", DF_Type::site_realization_building_info_trenchesst__T_spokes }, + { "site_realization_building_infost", DF_Type::site_realization_building_infost }, + { "site_realization_building_type", DF_Type::site_realization_building_type }, + { "site_realization_crossroads", DF_Type::site_realization_crossroads }, + { "site_reputation_info", DF_Type::site_reputation_info }, + { "site_reputation_report", DF_Type::site_reputation_report }, + { "site_shop_type", DF_Type::site_shop_type }, + { "site_type", DF_Type::site_type }, + { "skill_rating", DF_Type::skill_rating }, + { "slab_engraving_type", DF_Type::slab_engraving_type }, + { "sound_production_type", DF_Type::sound_production_type }, + { "spatter", DF_Type::spatter }, + { "spatter__T_flags", DF_Type::spatter__T_flags }, + { "spatter_common", DF_Type::spatter_common }, + { "spatter_common__T_base_flags", DF_Type::spatter_common__T_base_flags }, + { "special_mat_table", DF_Type::special_mat_table }, + { "specific_ref", DF_Type::specific_ref }, + { "specific_ref___union2", DF_Type::specific_ref___union2 }, + { "specific_ref__T_arg2", DF_Type::specific_ref__T_arg2 }, + { "specific_ref_type", DF_Type::specific_ref_type }, + { "sphere_type", DF_Type::sphere_type }, + { "spoils_report", DF_Type::spoils_report }, + { "squad", DF_Type::squad }, + { "squad__T_rooms", DF_Type::squad__T_rooms }, + { "squad_ammo_spec", DF_Type::squad_ammo_spec }, + { "squad_ammo_spec__T_flags", DF_Type::squad_ammo_spec__T_flags }, + { "squad_event_type", DF_Type::squad_event_type }, + { "squad_order", DF_Type::squad_order }, + { "squad_order_cannot_reason", DF_Type::squad_order_cannot_reason }, + { "squad_order_cause_trouble_for_entityst", DF_Type::squad_order_cause_trouble_for_entityst }, + { "squad_order_defend_burrowsst", DF_Type::squad_order_defend_burrowsst }, + { "squad_order_drive_armies_from_sitest", DF_Type::squad_order_drive_armies_from_sitest }, + { "squad_order_drive_entity_off_sitest", DF_Type::squad_order_drive_entity_off_sitest }, + { "squad_order_kill_hfst", DF_Type::squad_order_kill_hfst }, + { "squad_order_kill_listst", DF_Type::squad_order_kill_listst }, + { "squad_order_movest", DF_Type::squad_order_movest }, + { "squad_order_patrol_routest", DF_Type::squad_order_patrol_routest }, + { "squad_order_raid_sitest", DF_Type::squad_order_raid_sitest }, + { "squad_order_rescue_hfst", DF_Type::squad_order_rescue_hfst }, + { "squad_order_retrieve_artifactst", DF_Type::squad_order_retrieve_artifactst }, + { "squad_order_trainst", DF_Type::squad_order_trainst }, + { "squad_order_type", DF_Type::squad_order_type }, + { "squad_position", DF_Type::squad_position }, + { "squad_schedule_entry", DF_Type::squad_schedule_entry }, + { "squad_schedule_order", DF_Type::squad_schedule_order }, + { "squad_uniform_spec", DF_Type::squad_uniform_spec }, + { "squad_use_flags", DF_Type::squad_use_flags }, + { "stockpile_category", DF_Type::stockpile_category }, + { "stockpile_group_set", DF_Type::stockpile_group_set }, + { "stockpile_links", DF_Type::stockpile_links }, + { "stockpile_list", DF_Type::stockpile_list }, + { "stockpile_settings", DF_Type::stockpile_settings }, + { "stockpile_settings__T_ammo", DF_Type::stockpile_settings__T_ammo }, + { "stockpile_settings__T_animals", DF_Type::stockpile_settings__T_animals }, + { "stockpile_settings__T_armor", DF_Type::stockpile_settings__T_armor }, + { "stockpile_settings__T_bars_blocks", DF_Type::stockpile_settings__T_bars_blocks }, + { "stockpile_settings__T_cloth", DF_Type::stockpile_settings__T_cloth }, + { "stockpile_settings__T_coins", DF_Type::stockpile_settings__T_coins }, + { "stockpile_settings__T_finished_goods", DF_Type::stockpile_settings__T_finished_goods }, + { "stockpile_settings__T_food", DF_Type::stockpile_settings__T_food }, + { "stockpile_settings__T_furniture", DF_Type::stockpile_settings__T_furniture }, + { "stockpile_settings__T_gems", DF_Type::stockpile_settings__T_gems }, + { "stockpile_settings__T_leather", DF_Type::stockpile_settings__T_leather }, + { "stockpile_settings__T_ore", DF_Type::stockpile_settings__T_ore }, + { "stockpile_settings__T_refuse", DF_Type::stockpile_settings__T_refuse }, + { "stockpile_settings__T_sheet", DF_Type::stockpile_settings__T_sheet }, + { "stockpile_settings__T_stone", DF_Type::stockpile_settings__T_stone }, + { "stockpile_settings__T_weapons", DF_Type::stockpile_settings__T_weapons }, + { "stockpile_settings__T_wood", DF_Type::stockpile_settings__T_wood }, + { "stop_depart_condition", DF_Type::stop_depart_condition }, + { "stop_depart_condition__T_direction", DF_Type::stop_depart_condition__T_direction }, + { "stop_depart_condition__T_flags", DF_Type::stop_depart_condition__T_flags }, + { "stop_depart_condition__T_mode", DF_Type::stop_depart_condition__T_mode }, + { "strain_type", DF_Type::strain_type }, + { "stratus_type", DF_Type::stratus_type }, + { "syndrome", DF_Type::syndrome }, + { "syndrome_flags", DF_Type::syndrome_flags }, + { "T_cursor", DF_Type::T_cursor }, + { "T_selection_rect", DF_Type::T_selection_rect }, + { "tactical_situation", DF_Type::tactical_situation }, + { "talk_choice", DF_Type::talk_choice }, + { "talk_choice__T_unk", DF_Type::talk_choice__T_unk }, + { "talk_choice_type", DF_Type::talk_choice_type }, + { "temperaturest", DF_Type::temperaturest }, + { "text_info_element_longst", DF_Type::text_info_element_longst }, + { "text_info_element_stringst", DF_Type::text_info_element_stringst }, + { "text_info_elementst", DF_Type::text_info_elementst }, + { "texture_handler", DF_Type::texture_handler }, + { "tile_bitmask", DF_Type::tile_bitmask }, + { "tile_building_occ", DF_Type::tile_building_occ }, + { "tile_designation", DF_Type::tile_designation }, + { "tile_dig_designation", DF_Type::tile_dig_designation }, + { "tile_liquid", DF_Type::tile_liquid }, + { "tile_liquid_flow", DF_Type::tile_liquid_flow }, + { "tile_liquid_flow_dir", DF_Type::tile_liquid_flow_dir }, + { "tile_occupancy", DF_Type::tile_occupancy }, + { "tile_page", DF_Type::tile_page }, + { "tile_traffic", DF_Type::tile_traffic }, + { "tiletype", DF_Type::tiletype }, + { "tiletype_material", DF_Type::tiletype_material }, + { "tiletype_shape", DF_Type::tiletype_shape }, + { "tiletype_shape_basic", DF_Type::tiletype_shape_basic }, + { "tiletype_special", DF_Type::tiletype_special }, + { "tiletype_variant", DF_Type::tiletype_variant }, + { "timbre_type", DF_Type::timbre_type }, + { "timed_event", DF_Type::timed_event }, + { "timed_event_type", DF_Type::timed_event_type }, + { "tissue", DF_Type::tissue }, + { "tissue_flags", DF_Type::tissue_flags }, + { "tissue_style_raw", DF_Type::tissue_style_raw }, + { "tissue_style_type", DF_Type::tissue_style_type }, + { "tissue_template", DF_Type::tissue_template }, + { "tool_flags", DF_Type::tool_flags }, + { "tool_uses", DF_Type::tool_uses }, + { "tower_shape", DF_Type::tower_shape }, + { "toy_flags", DF_Type::toy_flags }, + { "training_assignment", DF_Type::training_assignment }, + { "training_assignment__T_flags", DF_Type::training_assignment__T_flags }, + { "training_knowledge_level", DF_Type::training_knowledge_level }, + { "trap_type", DF_Type::trap_type }, + { "trapcomp_flags", DF_Type::trapcomp_flags }, + { "tree_house_type", DF_Type::tree_house_type }, + { "tuning_type", DF_Type::tuning_type }, + { "ui", DF_Type::ui }, + { "ui__T_alerts", DF_Type::ui__T_alerts }, + { "ui__T_alerts__T_list", DF_Type::ui__T_alerts__T_list }, + { "ui__T_becoming_capital", DF_Type::ui__T_becoming_capital }, + { "ui__T_burrows", DF_Type::ui__T_burrows }, + { "ui__T_economy_prices", DF_Type::ui__T_economy_prices }, + { "ui__T_economy_prices__T_price_adjustment", DF_Type::ui__T_economy_prices__T_price_adjustment }, + { "ui__T_economy_prices__T_price_setter", DF_Type::ui__T_economy_prices__T_price_setter }, + { "ui__T_equipment", DF_Type::ui__T_equipment }, + { "ui__T_equipment__T_update", DF_Type::ui__T_equipment__T_update }, + { "ui__T_hauling", DF_Type::ui__T_hauling }, + { "ui__T_invasions", DF_Type::ui__T_invasions }, + { "ui__T_kitchen", DF_Type::ui__T_kitchen }, + { "ui__T_main", DF_Type::ui__T_main }, + { "ui__T_main__T_dead_citizens", DF_Type::ui__T_main__T_dead_citizens }, + { "ui__T_map_edge", DF_Type::ui__T_map_edge }, + { "ui__T_squads", DF_Type::ui__T_squads }, + { "ui__T_stockpile", DF_Type::ui__T_stockpile }, + { "ui__T_tax_collection", DF_Type::ui__T_tax_collection }, + { "ui__T_unk23c8_flags", DF_Type::ui__T_unk23c8_flags }, + { "ui__T_unk2a8c", DF_Type::ui__T_unk2a8c }, + { "ui__T_waypoints", DF_Type::ui__T_waypoints }, + { "ui__T_waypoints__T_points", DF_Type::ui__T_waypoints__T_points }, + { "ui__T_waypoints__T_routes", DF_Type::ui__T_waypoints__T_routes }, + { "ui_advmode", DF_Type::ui_advmode }, + { "ui_advmode__T_assume_identity", DF_Type::ui_advmode__T_assume_identity }, + { "ui_advmode__T_companions", DF_Type::ui_advmode__T_companions }, + { "ui_advmode__T_conversation", DF_Type::ui_advmode__T_conversation }, + { "ui_advmode__T_conversation__T_choices", DF_Type::ui_advmode__T_conversation__T_choices }, + { "ui_advmode__T_conversation__T_targets", DF_Type::ui_advmode__T_conversation__T_targets }, + { "ui_advmode__T_conversation__T_targets__T_type", DF_Type::ui_advmode__T_conversation__T_targets__T_type }, + { "ui_advmode__T_interactions", DF_Type::ui_advmode__T_interactions }, + { "ui_advmode__T_show_menu", DF_Type::ui_advmode__T_show_menu }, + { "ui_advmode__T_travel_right_map", DF_Type::ui_advmode__T_travel_right_map }, + { "ui_advmode__T_unk_3124", DF_Type::ui_advmode__T_unk_3124 }, + { "ui_advmode__T_unk_3170", DF_Type::ui_advmode__T_unk_3170 }, + { "ui_advmode__T_unk_3170__T_unk_2", DF_Type::ui_advmode__T_unk_3170__T_unk_2 }, + { "ui_advmode__T_unk_v40_1", DF_Type::ui_advmode__T_unk_v40_1 }, + { "ui_advmode__T_unk_v40_2", DF_Type::ui_advmode__T_unk_v40_2 }, + { "ui_advmode__T_unk_v40_3", DF_Type::ui_advmode__T_unk_v40_3 }, + { "ui_advmode__T_unk_v40_4", DF_Type::ui_advmode__T_unk_v40_4 }, + { "ui_advmode__T_unk_v40_4__T_unk_v40_4a", DF_Type::ui_advmode__T_unk_v40_4__T_unk_v40_4a }, + { "ui_advmode__T_unk_v40_5", DF_Type::ui_advmode__T_unk_v40_5 }, + { "ui_advmode__T_unk_v42_1", DF_Type::ui_advmode__T_unk_v42_1 }, + { "ui_advmode_menu", DF_Type::ui_advmode_menu }, + { "ui_build_item_req", DF_Type::ui_build_item_req }, + { "ui_build_selector", DF_Type::ui_build_selector }, + { "ui_hotkey", DF_Type::ui_hotkey }, + { "ui_hotkey___union4", DF_Type::ui_hotkey___union4 }, + { "ui_hotkey__T_cmd", DF_Type::ui_hotkey__T_cmd }, + { "ui_look_list", DF_Type::ui_look_list }, + { "ui_look_list__T_items", DF_Type::ui_look_list__T_items }, + { "ui_look_list__T_items___union3", DF_Type::ui_look_list__T_items___union3 }, + { "ui_look_list__T_items__T_type", DF_Type::ui_look_list__T_items__T_type }, + { "ui_sidebar_menus", DF_Type::ui_sidebar_menus }, + { "ui_sidebar_menus__T_barracks", DF_Type::ui_sidebar_menus__T_barracks }, + { "ui_sidebar_menus__T_building", DF_Type::ui_sidebar_menus__T_building }, + { "ui_sidebar_menus__T_command_line", DF_Type::ui_sidebar_menus__T_command_line }, + { "ui_sidebar_menus__T_designation", DF_Type::ui_sidebar_menus__T_designation }, + { "ui_sidebar_menus__T_designation__T_mine_mode", DF_Type::ui_sidebar_menus__T_designation__T_mine_mode }, + { "ui_sidebar_menus__T_hospital", DF_Type::ui_sidebar_menus__T_hospital }, + { "ui_sidebar_menus__T_job_details", DF_Type::ui_sidebar_menus__T_job_details }, + { "ui_sidebar_menus__T_location", DF_Type::ui_sidebar_menus__T_location }, + { "ui_sidebar_menus__T_minimap", DF_Type::ui_sidebar_menus__T_minimap }, + { "ui_sidebar_menus__T_unit", DF_Type::ui_sidebar_menus__T_unit }, + { "ui_sidebar_menus__T_unit__T_expel_error", DF_Type::ui_sidebar_menus__T_unit__T_expel_error }, + { "ui_sidebar_menus__T_unit_cursor", DF_Type::ui_sidebar_menus__T_unit_cursor }, + { "ui_sidebar_menus__T_unit_skills", DF_Type::ui_sidebar_menus__T_unit_skills }, + { "ui_sidebar_menus__T_workshop_job", DF_Type::ui_sidebar_menus__T_workshop_job }, + { "ui_sidebar_menus__T_zone", DF_Type::ui_sidebar_menus__T_zone }, + { "ui_sidebar_menus__T_zone__T_mode", DF_Type::ui_sidebar_menus__T_zone__T_mode }, + { "ui_sidebar_mode", DF_Type::ui_sidebar_mode }, + { "ui_unit_view_mode", DF_Type::ui_unit_view_mode }, + { "ui_unit_view_mode__T_value", DF_Type::ui_unit_view_mode__T_value }, + { "uniform_category", DF_Type::uniform_category }, + { "uniform_flags", DF_Type::uniform_flags }, + { "uniform_indiv_choice", DF_Type::uniform_indiv_choice }, + { "unit", DF_Type::unit }, + { "unit__T_animal", DF_Type::unit__T_animal }, + { "unit__T_appearance", DF_Type::unit__T_appearance }, + { "unit__T_body", DF_Type::unit__T_body }, + { "unit__T_counters", DF_Type::unit__T_counters }, + { "unit__T_counters2", DF_Type::unit__T_counters2 }, + { "unit__T_counters__T_soldier_mood", DF_Type::unit__T_counters__T_soldier_mood }, + { "unit__T_curse", DF_Type::unit__T_curse }, + { "unit__T_enemy", DF_Type::unit__T_enemy }, + { "unit__T_enemy__T_undead", DF_Type::unit__T_enemy__T_undead }, + { "unit__T_enemy__T_unk_448", DF_Type::unit__T_enemy__T_unk_448 }, + { "unit__T_enemy__T_unk_448__T_unk", DF_Type::unit__T_enemy__T_unk_448__T_unk }, + { "unit__T_enemy__T_unk_44c", DF_Type::unit__T_enemy__T_unk_44c }, + { "unit__T_enemy__T_unk_v40_sub3", DF_Type::unit__T_enemy__T_unk_v40_sub3 }, + { "unit__T_enemy__T_unk_v40_sub3__T_unk_2", DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_2 }, + { "unit__T_enemy__T_unk_v40_sub3__T_unk_6", DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_6 }, + { "unit__T_enemy__T_unk_v40_sub3__T_unk_7", DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7 }, + { "unit__T_enemy__T_unk_v40_sub3__T_unk_7__T_unk_sub1", DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7__T_unk_sub1 }, + { "unit__T_enemy__T_witness_reports", DF_Type::unit__T_enemy__T_witness_reports }, + { "unit__T_job", DF_Type::unit__T_job }, + { "unit__T_meeting", DF_Type::unit__T_meeting }, + { "unit__T_meeting__T_state", DF_Type::unit__T_meeting__T_state }, + { "unit__T_military", DF_Type::unit__T_military }, + { "unit__T_military__T_pickup_flags", DF_Type::unit__T_military__T_pickup_flags }, + { "unit__T_opponent", DF_Type::unit__T_opponent }, + { "unit__T_path", DF_Type::unit__T_path }, + { "unit__T_reports", DF_Type::unit__T_reports }, + { "unit__T_status", DF_Type::unit__T_status }, + { "unit__T_status2", DF_Type::unit__T_status2 }, + { "unit__T_status__T_eat_history", DF_Type::unit__T_status__T_eat_history }, + { "unit__T_status__T_eat_history__T_drink", DF_Type::unit__T_status__T_eat_history__T_drink }, + { "unit__T_status__T_eat_history__T_food", DF_Type::unit__T_status__T_eat_history__T_food }, + { "unit__T_syndromes", DF_Type::unit__T_syndromes }, + { "unit__T_unknown7", DF_Type::unit__T_unknown7 }, + { "unit_action", DF_Type::unit_action }, + { "unit_action__T_data", DF_Type::unit_action__T_data }, + { "unit_action__T_data__T_attack", DF_Type::unit_action__T_data__T_attack }, + { "unit_action__T_data__T_attack__T_flags", DF_Type::unit_action__T_data__T_attack__T_flags }, + { "unit_action__T_data__T_attack__T_unk_4", DF_Type::unit_action__T_data__T_attack__T_unk_4 }, + { "unit_action__T_data__T_block", DF_Type::unit_action__T_data__T_block }, + { "unit_action__T_data__T_climb", DF_Type::unit_action__T_data__T_climb }, + { "unit_action__T_data__T_dodge", DF_Type::unit_action__T_data__T_dodge }, + { "unit_action__T_data__T_holditem", DF_Type::unit_action__T_data__T_holditem }, + { "unit_action__T_data__T_holdterrain", DF_Type::unit_action__T_data__T_holdterrain }, + { "unit_action__T_data__T_job", DF_Type::unit_action__T_data__T_job }, + { "unit_action__T_data__T_job2", DF_Type::unit_action__T_data__T_job2 }, + { "unit_action__T_data__T_jump", DF_Type::unit_action__T_data__T_jump }, + { "unit_action__T_data__T_liedown", DF_Type::unit_action__T_data__T_liedown }, + { "unit_action__T_data__T_move", DF_Type::unit_action__T_data__T_move }, + { "unit_action__T_data__T_move__T_flags", DF_Type::unit_action__T_data__T_move__T_flags }, + { "unit_action__T_data__T_parry", DF_Type::unit_action__T_data__T_parry }, + { "unit_action__T_data__T_pushobject", DF_Type::unit_action__T_data__T_pushobject }, + { "unit_action__T_data__T_recover", DF_Type::unit_action__T_data__T_recover }, + { "unit_action__T_data__T_releaseitem", DF_Type::unit_action__T_data__T_releaseitem }, + { "unit_action__T_data__T_releaseterrain", DF_Type::unit_action__T_data__T_releaseterrain }, + { "unit_action__T_data__T_standup", DF_Type::unit_action__T_data__T_standup }, + { "unit_action__T_data__T_suckblood", DF_Type::unit_action__T_data__T_suckblood }, + { "unit_action__T_data__T_talk", DF_Type::unit_action__T_data__T_talk }, + { "unit_action__T_data__T_unsteady", DF_Type::unit_action__T_data__T_unsteady }, + { "unit_action_type", DF_Type::unit_action_type }, + { "unit_appearance", DF_Type::unit_appearance }, + { "unit_attribute", DF_Type::unit_attribute }, + { "unit_bp_health_flags", DF_Type::unit_bp_health_flags }, + { "unit_chunk", DF_Type::unit_chunk }, + { "unit_chunk__T_units", DF_Type::unit_chunk__T_units }, + { "unit_coin_debt", DF_Type::unit_coin_debt }, + { "unit_complaint", DF_Type::unit_complaint }, + { "unit_complaint__T_type", DF_Type::unit_complaint__T_type }, + { "unit_dance_skill", DF_Type::unit_dance_skill }, + { "unit_demand", DF_Type::unit_demand }, + { "unit_demand__T_place", DF_Type::unit_demand__T_place }, + { "unit_emotion_memory", DF_Type::unit_emotion_memory }, + { "unit_flags1", DF_Type::unit_flags1 }, + { "unit_flags2", DF_Type::unit_flags2 }, + { "unit_flags3", DF_Type::unit_flags3 }, + { "unit_flags4", DF_Type::unit_flags4 }, + { "unit_genes", DF_Type::unit_genes }, + { "unit_ghost_info", DF_Type::unit_ghost_info }, + { "unit_ghost_info__T_flags", DF_Type::unit_ghost_info__T_flags }, + { "unit_ghost_info__T_target", DF_Type::unit_ghost_info__T_target }, + { "unit_health_flags", DF_Type::unit_health_flags }, + { "unit_health_info", DF_Type::unit_health_info }, + { "unit_health_info__T_op_history", DF_Type::unit_health_info__T_op_history }, + { "unit_health_info__T_op_history__T_info", DF_Type::unit_health_info__T_op_history__T_info }, + { "unit_health_info__T_op_history__T_info__T_bandage", DF_Type::unit_health_info__T_op_history__T_info__T_bandage }, + { "unit_health_info__T_op_history__T_info__T_crutch", DF_Type::unit_health_info__T_op_history__T_info__T_crutch }, + { "unit_instrument_skill", DF_Type::unit_instrument_skill }, + { "unit_inventory_item", DF_Type::unit_inventory_item }, + { "unit_inventory_item__T_mode", DF_Type::unit_inventory_item__T_mode }, + { "unit_item_use", DF_Type::unit_item_use }, + { "unit_item_wrestle", DF_Type::unit_item_wrestle }, + { "unit_labor", DF_Type::unit_labor }, + { "unit_labor_category", DF_Type::unit_labor_category }, + { "unit_misc_trait", DF_Type::unit_misc_trait }, + { "unit_musical_skill", DF_Type::unit_musical_skill }, + { "unit_path_goal", DF_Type::unit_path_goal }, + { "unit_personality", DF_Type::unit_personality }, + { "unit_personality__T_dreams", DF_Type::unit_personality__T_dreams }, + { "unit_personality__T_emotions", DF_Type::unit_personality__T_emotions }, + { "unit_personality__T_emotions__T_flags", DF_Type::unit_personality__T_emotions__T_flags }, + { "unit_personality__T_flags", DF_Type::unit_personality__T_flags }, + { "unit_personality__T_memories", DF_Type::unit_personality__T_memories }, + { "unit_personality__T_memories__T_reflected_on", DF_Type::unit_personality__T_memories__T_reflected_on }, + { "unit_personality__T_needs", DF_Type::unit_personality__T_needs }, + { "unit_personality__T_unk5", DF_Type::unit_personality__T_unk5 }, + { "unit_personality__T_unk_v40_2", DF_Type::unit_personality__T_unk_v40_2 }, + { "unit_personality__T_unk_v40_6", DF_Type::unit_personality__T_unk_v40_6 }, + { "unit_personality__T_values", DF_Type::unit_personality__T_values }, + { "unit_poetic_skill", DF_Type::unit_poetic_skill }, + { "unit_preference", DF_Type::unit_preference }, + { "unit_preference___union5", DF_Type::unit_preference___union5 }, + { "unit_preference__T_type", DF_Type::unit_preference__T_type }, + { "unit_relationship_type", DF_Type::unit_relationship_type }, + { "unit_report_type", DF_Type::unit_report_type }, + { "unit_request", DF_Type::unit_request }, + { "unit_request__T_type", DF_Type::unit_request__T_type }, + { "unit_skill", DF_Type::unit_skill }, + { "unit_soul", DF_Type::unit_soul }, + { "unit_soul__T_performance_skills", DF_Type::unit_soul__T_performance_skills }, + { "unit_station_type", DF_Type::unit_station_type }, + { "unit_storage_status", DF_Type::unit_storage_status }, + { "unit_syndrome", DF_Type::unit_syndrome }, + { "unit_syndrome__T_flags", DF_Type::unit_syndrome__T_flags }, + { "unit_syndrome__T_symptoms", DF_Type::unit_syndrome__T_symptoms }, + { "unit_syndrome__T_symptoms__T_flags", DF_Type::unit_syndrome__T_symptoms__T_flags }, + { "unit_thought_type", DF_Type::unit_thought_type }, + { "unit_unk_138", DF_Type::unit_unk_138 }, + { "unit_wound", DF_Type::unit_wound }, + { "unit_wound__T_flags", DF_Type::unit_wound__T_flags }, + { "unit_wound__T_parts", DF_Type::unit_wound__T_parts }, + { "units_other_id", DF_Type::units_other_id }, + { "value_type", DF_Type::value_type }, + { "vehicle", DF_Type::vehicle }, + { "vermin", DF_Type::vermin }, + { "vermin_flags", DF_Type::vermin_flags }, + { "viewscreen", DF_Type::viewscreen }, + { "viewscreen_adopt_regionst", DF_Type::viewscreen_adopt_regionst }, + { "viewscreen_adventure_logst", DF_Type::viewscreen_adventure_logst }, + { "viewscreen_adventure_logst__T_info_mode", DF_Type::viewscreen_adventure_logst__T_info_mode }, + { "viewscreen_adventure_logst__T_mode", DF_Type::viewscreen_adventure_logst__T_mode }, + { "viewscreen_announcelistst", DF_Type::viewscreen_announcelistst }, + { "viewscreen_assign_display_itemst", DF_Type::viewscreen_assign_display_itemst }, + { "viewscreen_assign_display_itemst__T_sel_column", DF_Type::viewscreen_assign_display_itemst__T_sel_column }, + { "viewscreen_barterst", DF_Type::viewscreen_barterst }, + { "viewscreen_buildinglistst", DF_Type::viewscreen_buildinglistst }, + { "viewscreen_buildingst", DF_Type::viewscreen_buildingst }, + { "viewscreen_choose_start_sitest", DF_Type::viewscreen_choose_start_sitest }, + { "viewscreen_choose_start_sitest__T_finder", DF_Type::viewscreen_choose_start_sitest__T_finder }, + { "viewscreen_choose_start_sitest__T_page", DF_Type::viewscreen_choose_start_sitest__T_page }, + { "viewscreen_civlistst", DF_Type::viewscreen_civlistst }, + { "viewscreen_civlistst__T_artifact_details", DF_Type::viewscreen_civlistst__T_artifact_details }, + { "viewscreen_civlistst__T_page", DF_Type::viewscreen_civlistst__T_page }, + { "viewscreen_civlistst__T_rumors", DF_Type::viewscreen_civlistst__T_rumors }, + { "viewscreen_civlistst__T_rumors__T_type", DF_Type::viewscreen_civlistst__T_rumors__T_type }, + { "viewscreen_civlistst__T_unk_cache", DF_Type::viewscreen_civlistst__T_unk_cache }, + { "viewscreen_civlistst__T_unk_cache__T_tmp1", DF_Type::viewscreen_civlistst__T_unk_cache__T_tmp1 }, + { "viewscreen_civlistst__T_unk_cache__T_tmp2", DF_Type::viewscreen_civlistst__T_unk_cache__T_tmp2 }, + { "viewscreen_createquotast", DF_Type::viewscreen_createquotast }, + { "viewscreen_customize_unitst", DF_Type::viewscreen_customize_unitst }, + { "viewscreen_dungeon_monsterstatusst", DF_Type::viewscreen_dungeon_monsterstatusst }, + { "viewscreen_dungeon_wrestlest", DF_Type::viewscreen_dungeon_wrestlest }, + { "viewscreen_dungeon_wrestlest__T_unk1", DF_Type::viewscreen_dungeon_wrestlest__T_unk1 }, + { "viewscreen_dungeonmodest", DF_Type::viewscreen_dungeonmodest }, + { "viewscreen_dwarfmodest", DF_Type::viewscreen_dwarfmodest }, + { "viewscreen_entityst", DF_Type::viewscreen_entityst }, + { "viewscreen_export_graphical_mapst", DF_Type::viewscreen_export_graphical_mapst }, + { "viewscreen_export_regionst", DF_Type::viewscreen_export_regionst }, + { "viewscreen_export_regionst__T_unk1", DF_Type::viewscreen_export_regionst__T_unk1 }, + { "viewscreen_game_cleanerst", DF_Type::viewscreen_game_cleanerst }, + { "viewscreen_game_cleanerst__T_state", DF_Type::viewscreen_game_cleanerst__T_state }, + { "viewscreen_image_creator_mode", DF_Type::viewscreen_image_creator_mode }, + { "viewscreen_image_creatorst", DF_Type::viewscreen_image_creatorst }, + { "viewscreen_image_creatorst__T_artifacts", DF_Type::viewscreen_image_creatorst__T_artifacts }, + { "viewscreen_image_creatorst__T_descriptions", DF_Type::viewscreen_image_creatorst__T_descriptions }, + { "viewscreen_image_creatorst__T_entities", DF_Type::viewscreen_image_creatorst__T_entities }, + { "viewscreen_image_creatorst__T_objects", DF_Type::viewscreen_image_creatorst__T_objects }, + { "viewscreen_image_creatorst__T_plants", DF_Type::viewscreen_image_creatorst__T_plants }, + { "viewscreen_image_creatorst__T_shapes", DF_Type::viewscreen_image_creatorst__T_shapes }, + { "viewscreen_image_creatorst__T_sites", DF_Type::viewscreen_image_creatorst__T_sites }, + { "viewscreen_image_creatorst__T_trees", DF_Type::viewscreen_image_creatorst__T_trees }, + { "viewscreen_itemst", DF_Type::viewscreen_itemst }, + { "viewscreen_joblistst", DF_Type::viewscreen_joblistst }, + { "viewscreen_jobmanagementst", DF_Type::viewscreen_jobmanagementst }, + { "viewscreen_jobst", DF_Type::viewscreen_jobst }, + { "viewscreen_justicest", DF_Type::viewscreen_justicest }, + { "viewscreen_justicest__T_cur_column", DF_Type::viewscreen_justicest__T_cur_column }, + { "viewscreen_kitchenpref_page", DF_Type::viewscreen_kitchenpref_page }, + { "viewscreen_kitchenprefst", DF_Type::viewscreen_kitchenprefst }, + { "viewscreen_layer", DF_Type::viewscreen_layer }, + { "viewscreen_layer_arena_creaturest", DF_Type::viewscreen_layer_arena_creaturest }, + { "viewscreen_layer_assigntradest", DF_Type::viewscreen_layer_assigntradest }, + { "viewscreen_layer_choose_language_namest", DF_Type::viewscreen_layer_choose_language_namest }, + { "viewscreen_layer_choose_language_namest__T_current_component", DF_Type::viewscreen_layer_choose_language_namest__T_current_component }, + { "viewscreen_layer_currencyst", DF_Type::viewscreen_layer_currencyst }, + { "viewscreen_layer_export_play_mapst", DF_Type::viewscreen_layer_export_play_mapst }, + { "viewscreen_layer_militaryst", DF_Type::viewscreen_layer_militaryst }, + { "viewscreen_layer_militaryst__T_ammo", DF_Type::viewscreen_layer_militaryst__T_ammo }, + { "viewscreen_layer_militaryst__T_ammo__T_add_item", DF_Type::viewscreen_layer_militaryst__T_ammo__T_add_item }, + { "viewscreen_layer_militaryst__T_ammo__T_material", DF_Type::viewscreen_layer_militaryst__T_ammo__T_material }, + { "viewscreen_layer_militaryst__T_equip", DF_Type::viewscreen_layer_militaryst__T_equip }, + { "viewscreen_layer_militaryst__T_equip__T_add_item", DF_Type::viewscreen_layer_militaryst__T_equip__T_add_item }, + { "viewscreen_layer_militaryst__T_equip__T_assigned", DF_Type::viewscreen_layer_militaryst__T_equip__T_assigned }, + { "viewscreen_layer_militaryst__T_equip__T_color", DF_Type::viewscreen_layer_militaryst__T_equip__T_color }, + { "viewscreen_layer_militaryst__T_equip__T_edit_mode", DF_Type::viewscreen_layer_militaryst__T_equip__T_edit_mode }, + { "viewscreen_layer_militaryst__T_equip__T_material", DF_Type::viewscreen_layer_militaryst__T_equip__T_material }, + { "viewscreen_layer_militaryst__T_equip__T_mode", DF_Type::viewscreen_layer_militaryst__T_equip__T_mode }, + { "viewscreen_layer_militaryst__T_equip__T_uniform", DF_Type::viewscreen_layer_militaryst__T_equip__T_uniform }, + { "viewscreen_layer_militaryst__T_page", DF_Type::viewscreen_layer_militaryst__T_page }, + { "viewscreen_layer_militaryst__T_positions", DF_Type::viewscreen_layer_militaryst__T_positions }, + { "viewscreen_layer_militaryst__T_squad_members", DF_Type::viewscreen_layer_militaryst__T_squad_members }, + { "viewscreen_layer_militaryst__T_squads", DF_Type::viewscreen_layer_militaryst__T_squads }, + { "viewscreen_layer_musicsoundst", DF_Type::viewscreen_layer_musicsoundst }, + { "viewscreen_layer_noblelistst", DF_Type::viewscreen_layer_noblelistst }, + { "viewscreen_layer_noblelistst__T_candidates", DF_Type::viewscreen_layer_noblelistst__T_candidates }, + { "viewscreen_layer_noblelistst__T_info", DF_Type::viewscreen_layer_noblelistst__T_info }, + { "viewscreen_layer_noblelistst__T_mode", DF_Type::viewscreen_layer_noblelistst__T_mode }, + { "viewscreen_layer_overall_healthst", DF_Type::viewscreen_layer_overall_healthst }, + { "viewscreen_layer_reactionst", DF_Type::viewscreen_layer_reactionst }, + { "viewscreen_layer_squad_schedulest", DF_Type::viewscreen_layer_squad_schedulest }, + { "viewscreen_layer_stockpilest", DF_Type::viewscreen_layer_stockpilest }, + { "viewscreen_layer_stone_restrictionst", DF_Type::viewscreen_layer_stone_restrictionst }, + { "viewscreen_layer_unit_actionst", DF_Type::viewscreen_layer_unit_actionst }, + { "viewscreen_layer_unit_healthst", DF_Type::viewscreen_layer_unit_healthst }, + { "viewscreen_layer_unit_relationshipst", DF_Type::viewscreen_layer_unit_relationshipst }, + { "viewscreen_layer_world_gen_param_presetst", DF_Type::viewscreen_layer_world_gen_param_presetst }, + { "viewscreen_layer_world_gen_paramst", DF_Type::viewscreen_layer_world_gen_paramst }, + { "viewscreen_layer_world_gen_paramst__T_unk1", DF_Type::viewscreen_layer_world_gen_paramst__T_unk1 }, + { "viewscreen_legendsst", DF_Type::viewscreen_legendsst }, + { "viewscreen_legendsst__T_anon_7", DF_Type::viewscreen_legendsst__T_anon_7 }, + { "viewscreen_legendsst__T_anon_7__T_anon_3", DF_Type::viewscreen_legendsst__T_anon_7__T_anon_3 }, + { "viewscreen_legendsst__T_cur_page", DF_Type::viewscreen_legendsst__T_cur_page }, + { "viewscreen_loadgamest", DF_Type::viewscreen_loadgamest }, + { "viewscreen_loadgamest__T_cur_step", DF_Type::viewscreen_loadgamest__T_cur_step }, + { "viewscreen_locationsst", DF_Type::viewscreen_locationsst }, + { "viewscreen_locationsst__T_in_edit", DF_Type::viewscreen_locationsst__T_in_edit }, + { "viewscreen_locationsst__T_menu", DF_Type::viewscreen_locationsst__T_menu }, + { "viewscreen_meetingst", DF_Type::viewscreen_meetingst }, + { "viewscreen_movieplayerst", DF_Type::viewscreen_movieplayerst }, + { "viewscreen_new_regionst", DF_Type::viewscreen_new_regionst }, + { "viewscreen_noblest", DF_Type::viewscreen_noblest }, + { "viewscreen_optionst", DF_Type::viewscreen_optionst }, + { "viewscreen_optionst__T_options", DF_Type::viewscreen_optionst__T_options }, + { "viewscreen_overallstatusst", DF_Type::viewscreen_overallstatusst }, + { "viewscreen_overallstatusst__T_visible_pages", DF_Type::viewscreen_overallstatusst__T_visible_pages }, + { "viewscreen_petitionsst", DF_Type::viewscreen_petitionsst }, + { "viewscreen_petst", DF_Type::viewscreen_petst }, + { "viewscreen_petst__T_animal", DF_Type::viewscreen_petst__T_animal }, + { "viewscreen_petst__T_mode", DF_Type::viewscreen_petst__T_mode }, + { "viewscreen_petst__T_trainer_mode", DF_Type::viewscreen_petst__T_trainer_mode }, + { "viewscreen_pricest", DF_Type::viewscreen_pricest }, + { "viewscreen_reportlistst", DF_Type::viewscreen_reportlistst }, + { "viewscreen_requestagreementst", DF_Type::viewscreen_requestagreementst }, + { "viewscreen_savegamest", DF_Type::viewscreen_savegamest }, + { "viewscreen_selectitemst", DF_Type::viewscreen_selectitemst }, + { "viewscreen_setupadventurest", DF_Type::viewscreen_setupadventurest }, + { "viewscreen_setupadventurest__T_background_type", DF_Type::viewscreen_setupadventurest__T_background_type }, + { "viewscreen_setupadventurest__T_page", DF_Type::viewscreen_setupadventurest__T_page }, + { "viewscreen_setupadventurest__T_races_info", DF_Type::viewscreen_setupadventurest__T_races_info }, + { "viewscreen_setupadventurest__T_sel_trait_column", DF_Type::viewscreen_setupadventurest__T_sel_trait_column }, + { "viewscreen_setupdwarfgamest", DF_Type::viewscreen_setupdwarfgamest }, + { "viewscreen_setupdwarfgamest__T_animals", DF_Type::viewscreen_setupdwarfgamest__T_animals }, + { "viewscreen_setupdwarfgamest__T_choice_types", DF_Type::viewscreen_setupdwarfgamest__T_choice_types }, + { "viewscreen_setupdwarfgamest__T_mode", DF_Type::viewscreen_setupdwarfgamest__T_mode }, + { "viewscreen_setupdwarfgamest__T_unk_v43", DF_Type::viewscreen_setupdwarfgamest__T_unk_v43 }, + { "viewscreen_setupdwarfgamest__T_unk_v43__T_unk_v43_sub9", DF_Type::viewscreen_setupdwarfgamest__T_unk_v43__T_unk_v43_sub9 }, + { "viewscreen_storesst", DF_Type::viewscreen_storesst }, + { "viewscreen_textviewerst", DF_Type::viewscreen_textviewerst }, + { "viewscreen_textviewerst__T_formatted_text", DF_Type::viewscreen_textviewerst__T_formatted_text }, + { "viewscreen_textviewerst__T_formatted_text__T_flags", DF_Type::viewscreen_textviewerst__T_formatted_text__T_flags }, + { "viewscreen_titlest", DF_Type::viewscreen_titlest }, + { "viewscreen_titlest__T_menu_line_id", DF_Type::viewscreen_titlest__T_menu_line_id }, + { "viewscreen_titlest__T_sel_subpage", DF_Type::viewscreen_titlest__T_sel_subpage }, + { "viewscreen_titlest__T_start_savegames", DF_Type::viewscreen_titlest__T_start_savegames }, + { "viewscreen_topicmeeting_fill_land_holder_positionsst", DF_Type::viewscreen_topicmeeting_fill_land_holder_positionsst }, + { "viewscreen_topicmeeting_takerequestsst", DF_Type::viewscreen_topicmeeting_takerequestsst }, + { "viewscreen_topicmeetingst", DF_Type::viewscreen_topicmeetingst }, + { "viewscreen_tradeagreementst", DF_Type::viewscreen_tradeagreementst }, + { "viewscreen_tradegoodsst", DF_Type::viewscreen_tradegoodsst }, + { "viewscreen_tradelistst", DF_Type::viewscreen_tradelistst }, + { "viewscreen_treasurelistst", DF_Type::viewscreen_treasurelistst }, + { "viewscreen_unitlist_page", DF_Type::viewscreen_unitlist_page }, + { "viewscreen_unitlistst", DF_Type::viewscreen_unitlistst }, + { "viewscreen_unitst", DF_Type::viewscreen_unitst }, + { "viewscreen_update_regionst", DF_Type::viewscreen_update_regionst }, + { "viewscreen_wagesst", DF_Type::viewscreen_wagesst }, + { "viewscreen_workquota_conditionst", DF_Type::viewscreen_workquota_conditionst }, + { "viewscreen_workquota_conditionst__T_mode", DF_Type::viewscreen_workquota_conditionst__T_mode }, + { "viewscreen_workquota_conditionst__T_traits", DF_Type::viewscreen_workquota_conditionst__T_traits }, + { "viewscreen_workquota_conditionst__T_traits__T_flags", DF_Type::viewscreen_workquota_conditionst__T_traits__T_flags }, + { "viewscreen_workquota_detailsst", DF_Type::viewscreen_workquota_detailsst }, + { "viewscreen_workshop_profilest", DF_Type::viewscreen_workshop_profilest }, + { "viewscreen_workshop_profilest__T_tab", DF_Type::viewscreen_workshop_profilest__T_tab }, + { "weapon_attack", DF_Type::weapon_attack }, + { "weapon_attack__T_flags", DF_Type::weapon_attack__T_flags }, + { "weapon_flags", DF_Type::weapon_flags }, + { "weather_type", DF_Type::weather_type }, + { "web_cluster", DF_Type::web_cluster }, + { "widget_menu", DF_Type::widget_menu }, + { "widget_textbox", DF_Type::widget_textbox }, + { "workshop_profile", DF_Type::workshop_profile }, + { "workshop_type", DF_Type::workshop_type }, + { "world", DF_Type::world }, + { "world__T_activities", DF_Type::world__T_activities }, + { "world__T_agreements", DF_Type::world__T_agreements }, + { "world__T_arena_settings", DF_Type::world__T_arena_settings }, + { "world__T_arena_spawn", DF_Type::world__T_arena_spawn }, + { "world__T_arena_spawn__T_equipment", DF_Type::world__T_arena_spawn__T_equipment }, + { "world__T_arena_spawn__T_item_types", DF_Type::world__T_arena_spawn__T_item_types }, + { "world__T_armies", DF_Type::world__T_armies }, + { "world__T_army_controllers", DF_Type::world__T_army_controllers }, + { "world__T_army_tracking_info", DF_Type::world__T_army_tracking_info }, + { "world__T_artifacts", DF_Type::world__T_artifacts }, + { "world__T_belief_systems", DF_Type::world__T_belief_systems }, + { "world__T_crimes", DF_Type::world__T_crimes }, + { "world__T_cultural_identities", DF_Type::world__T_cultural_identities }, + { "world__T_cur_savegame", DF_Type::world__T_cur_savegame }, + { "world__T_dance_forms", DF_Type::world__T_dance_forms }, + { "world__T_enemy_status_cache", DF_Type::world__T_enemy_status_cache }, + { "world__T_entities", DF_Type::world__T_entities }, + { "world__T_features", DF_Type::world__T_features }, + { "world__T_flow_engine", DF_Type::world__T_flow_engine }, + { "world__T_flow_guides", DF_Type::world__T_flow_guides }, + { "world__T_formations", DF_Type::world__T_formations }, + { "world__T_identities", DF_Type::world__T_identities }, + { "world__T_incidents", DF_Type::world__T_incidents }, + { "world__T_interaction_instances", DF_Type::world__T_interaction_instances }, + { "world__T_items", DF_Type::world__T_items }, + { "world__T_languages", DF_Type::world__T_languages }, + { "world__T_map", DF_Type::world__T_map }, + { "world__T_map_extras", DF_Type::world__T_map_extras }, + { "world__T_math", DF_Type::world__T_math }, + { "world__T_math__T_approx", DF_Type::world__T_math__T_approx }, + { "world__T_musical_forms", DF_Type::world__T_musical_forms }, + { "world__T_nemesis", DF_Type::world__T_nemesis }, + { "world__T_occupations", DF_Type::world__T_occupations }, + { "world__T_pathfinder", DF_Type::world__T_pathfinder }, + { "world__T_pathfinder__T_boundary_heap", DF_Type::world__T_pathfinder__T_boundary_heap }, + { "world__T_plants", DF_Type::world__T_plants }, + { "world__T_poetic_forms", DF_Type::world__T_poetic_forms }, + { "world__T_profession_skills", DF_Type::world__T_profession_skills }, + { "world__T_rhythms", DF_Type::world__T_rhythms }, + { "world__T_scales", DF_Type::world__T_scales }, + { "world__T_schedules", DF_Type::world__T_schedules }, + { "world__T_squads", DF_Type::world__T_squads }, + { "world__T_status", DF_Type::world__T_status }, + { "world__T_status__T_flags", DF_Type::world__T_status__T_flags }, + { "world__T_status__T_slots", DF_Type::world__T_status__T_slots }, + { "world__T_status__T_slots__T_flags", DF_Type::world__T_status__T_slots__T_flags }, + { "world__T_stockpile", DF_Type::world__T_stockpile }, + { "world__T_stockpile__T_simple1", DF_Type::world__T_stockpile__T_simple1 }, + { "world__T_stockpile__T_simple2", DF_Type::world__T_stockpile__T_simple2 }, + { "world__T_stockpile__T_simple3", DF_Type::world__T_stockpile__T_simple3 }, + { "world__T_units", DF_Type::world__T_units }, + { "world__T_unk_131ec0", DF_Type::world__T_unk_131ec0 }, + { "world__T_unk_131ef0", DF_Type::world__T_unk_131ef0 }, + { "world__T_unk_131ef0__T_unk_2", DF_Type::world__T_unk_131ef0__T_unk_2 }, + { "world__T_unk_19325c", DF_Type::world__T_unk_19325c }, + { "world__T_unk_19325c__T_anon_1", DF_Type::world__T_unk_19325c__T_anon_1 }, + { "world__T_unk_19325c__T_anon_2", DF_Type::world__T_unk_19325c__T_anon_2 }, + { "world__T_unk_19325c__T_anon_3", DF_Type::world__T_unk_19325c__T_anon_3 }, + { "world__T_unk_59dc4", DF_Type::world__T_unk_59dc4 }, + { "world__T_unk_59dc4__T_unk1", DF_Type::world__T_unk_59dc4__T_unk1 }, + { "world__T_unk_v40_6", DF_Type::world__T_unk_v40_6 }, + { "world__T_vehicles", DF_Type::world__T_vehicles }, + { "world__T_vermin", DF_Type::world__T_vermin }, + { "world__T_worldgen", DF_Type::world__T_worldgen }, + { "world__T_worldgen__T_worldgen_parms", DF_Type::world__T_worldgen__T_worldgen_parms }, + { "world__T_worldgen_coord_buf", DF_Type::world__T_worldgen_coord_buf }, + { "world__T_worldgen_status", DF_Type::world__T_worldgen_status }, + { "world__T_written_contents", DF_Type::world__T_written_contents }, + { "world_construction", DF_Type::world_construction }, + { "world_construction_bridgest", DF_Type::world_construction_bridgest }, + { "world_construction_roadst", DF_Type::world_construction_roadst }, + { "world_construction_square", DF_Type::world_construction_square }, + { "world_construction_square_bridgest", DF_Type::world_construction_square_bridgest }, + { "world_construction_square_roadst", DF_Type::world_construction_square_roadst }, + { "world_construction_square_tunnelst", DF_Type::world_construction_square_tunnelst }, + { "world_construction_square_wallst", DF_Type::world_construction_square_wallst }, + { "world_construction_tunnelst", DF_Type::world_construction_tunnelst }, + { "world_construction_type", DF_Type::world_construction_type }, + { "world_construction_wallst", DF_Type::world_construction_wallst }, + { "world_dat_summary", DF_Type::world_dat_summary }, + { "world_data", DF_Type::world_data }, + { "world_data__T_constructions", DF_Type::world_data__T_constructions }, + { "world_data__T_feature_map", DF_Type::world_data__T_feature_map }, + { "world_data__T_feature_map__T_features", DF_Type::world_data__T_feature_map__T_features }, + { "world_data__T_flip_latitude", DF_Type::world_data__T_flip_latitude }, + { "world_data__T_freakish_weather", DF_Type::world_data__T_freakish_weather }, + { "world_data__T_mountain_peaks", DF_Type::world_data__T_mountain_peaks }, + { "world_data__T_unk_150", DF_Type::world_data__T_unk_150 }, + { "world_data__T_unk_150__T_unk_18", DF_Type::world_data__T_unk_150__T_unk_18 }, + { "world_data__T_unk_150__T_unk_28", DF_Type::world_data__T_unk_150__T_unk_28 }, + { "world_data__T_unk_150__T_unk_8", DF_Type::world_data__T_unk_150__T_unk_8 }, + { "world_data__T_unk_170", DF_Type::world_data__T_unk_170 }, + { "world_data__T_unk_170__T_unk_4", DF_Type::world_data__T_unk_170__T_unk_4 }, + { "world_data__T_unk_274", DF_Type::world_data__T_unk_274 }, + { "world_data__T_unk_274__T_unk_10", DF_Type::world_data__T_unk_274__T_unk_10 }, + { "world_data__T_unk_482f8", DF_Type::world_data__T_unk_482f8 }, + { "world_data__T_unk_b4", DF_Type::world_data__T_unk_b4 }, + { "world_gen_param_basest", DF_Type::world_gen_param_basest }, + { "world_gen_param_charst", DF_Type::world_gen_param_charst }, + { "world_gen_param_memberst", DF_Type::world_gen_param_memberst }, + { "world_gen_param_seedst", DF_Type::world_gen_param_seedst }, + { "world_gen_param_valuest", DF_Type::world_gen_param_valuest }, + { "world_geo_biome", DF_Type::world_geo_biome }, + { "world_geo_layer", DF_Type::world_geo_layer }, + { "world_history", DF_Type::world_history }, + { "world_history__T_event_collections", DF_Type::world_history__T_event_collections }, + { "world_landmass", DF_Type::world_landmass }, + { "world_object_data", DF_Type::world_object_data }, + { "world_object_data__T_offloaded_buildings", DF_Type::world_object_data__T_offloaded_buildings }, + { "world_object_data__T_offloaded_items", DF_Type::world_object_data__T_offloaded_items }, + { "world_object_data__T_unk_94", DF_Type::world_object_data__T_unk_94 }, + { "world_population", DF_Type::world_population }, + { "world_population___union7", DF_Type::world_population___union7 }, + { "world_population_ref", DF_Type::world_population_ref }, + { "world_population_type", DF_Type::world_population_type }, + { "world_raws", DF_Type::world_raws }, + { "world_raws__T_bodyglosses", DF_Type::world_raws__T_bodyglosses }, + { "world_raws__T_buildings", DF_Type::world_raws__T_buildings }, + { "world_raws__T_descriptors", DF_Type::world_raws__T_descriptors }, + { "world_raws__T_effects", DF_Type::world_raws__T_effects }, + { "world_raws__T_itemdefs", DF_Type::world_raws__T_itemdefs }, + { "world_raws__T_language", DF_Type::world_raws__T_language }, + { "world_raws__T_plants", DF_Type::world_raws__T_plants }, + { "world_raws__T_reactions", DF_Type::world_raws__T_reactions }, + { "world_raws__T_syndromes", DF_Type::world_raws__T_syndromes }, + { "world_region", DF_Type::world_region }, + { "world_region_details", DF_Type::world_region_details }, + { "world_region_details__T_edges", DF_Type::world_region_details__T_edges }, + { "world_region_details__T_rivers_horizontal", DF_Type::world_region_details__T_rivers_horizontal }, + { "world_region_details__T_rivers_vertical", DF_Type::world_region_details__T_rivers_vertical }, + { "world_region_feature", DF_Type::world_region_feature }, + { "world_region_type", DF_Type::world_region_type }, + { "world_river", DF_Type::world_river }, + { "world_site", DF_Type::world_site }, + { "world_site__T_subtype_info", DF_Type::world_site__T_subtype_info }, + { "world_site__T_unk_1", DF_Type::world_site__T_unk_1 }, + { "world_site__T_unk_118", DF_Type::world_site__T_unk_118 }, + { "world_site__T_unk_13c", DF_Type::world_site__T_unk_13c }, + { "world_site__T_unk_188", DF_Type::world_site__T_unk_188 }, + { "world_site__T_unk_188__T_unk1", DF_Type::world_site__T_unk_188__T_unk1 }, + { "world_site__T_unk_1__T_units", DF_Type::world_site__T_unk_1__T_units }, + { "world_site__T_unk_21c", DF_Type::world_site__T_unk_21c }, + { "world_site__T_unk_v40_2", DF_Type::world_site__T_unk_v40_2 }, + { "world_site__T_unk_v40_4a", DF_Type::world_site__T_unk_v40_4a }, + { "world_site__T_unk_v40_4b", DF_Type::world_site__T_unk_v40_4b }, + { "world_site__T_unk_v40_4c", DF_Type::world_site__T_unk_v40_4c }, + { "world_site__T_unk_v40_4d", DF_Type::world_site__T_unk_v40_4d }, + { "world_site__T_unk_v40_4d__T_anon_2", DF_Type::world_site__T_unk_v40_4d__T_anon_2 }, + { "world_site__T_unk_v43_2", DF_Type::world_site__T_unk_v43_2 }, + { "world_site_flags", DF_Type::world_site_flags }, + { "world_site_inhabitant", DF_Type::world_site_inhabitant }, + { "world_site_realization", DF_Type::world_site_realization }, + { "world_site_realization__T_areas", DF_Type::world_site_realization__T_areas }, + { "world_site_realization__T_areas__T_type", DF_Type::world_site_realization__T_areas__T_type }, + { "world_site_realization__T_building_map", DF_Type::world_site_realization__T_building_map }, + { "world_site_realization__T_river_map", DF_Type::world_site_realization__T_river_map }, + { "world_site_realization__T_unk_193bc", DF_Type::world_site_realization__T_unk_193bc }, + { "world_site_realization__T_unk_193bc__T_unk_8", DF_Type::world_site_realization__T_unk_193bc__T_unk_8 }, + { "world_site_realization__T_unk_55e8", DF_Type::world_site_realization__T_unk_55e8 }, + { "world_site_realization__T_unk_55e8__T_unk_v40_2", DF_Type::world_site_realization__T_unk_55e8__T_unk_v40_2 }, + { "world_site_type", DF_Type::world_site_type }, + { "world_site_unk130", DF_Type::world_site_unk130 }, + { "world_site_unk130__T_unk_4", DF_Type::world_site_unk130__T_unk_4 }, + { "world_underground_region", DF_Type::world_underground_region }, + { "world_underground_region__T_type", DF_Type::world_underground_region__T_type }, + { "world_unk_20", DF_Type::world_unk_20 }, + { "world_unk_20__T_anon_7", DF_Type::world_unk_20__T_anon_7 }, + { "world_unk_6c", DF_Type::world_unk_6c }, + { "world_unk_9c", DF_Type::world_unk_9c }, + { "world_unk_a8", DF_Type::world_unk_a8 }, + { "world_unk_b4", DF_Type::world_unk_b4 }, + { "world_unk_c0", DF_Type::world_unk_c0 }, + { "world_unk_c0__T_anon_7", DF_Type::world_unk_c0__T_anon_7 }, + { "worldgen_range_type", DF_Type::worldgen_range_type }, + { "worldgen_region_type", DF_Type::worldgen_region_type }, + { "wound_curse_info", DF_Type::wound_curse_info }, + { "wound_damage_flags1", DF_Type::wound_damage_flags1 }, + { "wound_damage_flags2", DF_Type::wound_damage_flags2 }, + { "wound_effect_type", DF_Type::wound_effect_type }, + { "written_content", DF_Type::written_content }, + { "written_content_style", DF_Type::written_content_style }, + { "written_content_type", DF_Type::written_content_type }, + { "z_level_flags", DF_Type::z_level_flags }, + { "zoom_commands", DF_Type::zoom_commands } +}; + +DF_Type DF_Type_from_string(std::string& p_string) +{ + auto l_data = translation_table.find(p_string); + if (l_data != translation_table.end()) + return l_data->second; + return DF_Type::None; +} + +DF_Type DF_Type_from_string(const char* p_char) +{ + std::string l_s = std::string(p_char); + auto l_data = translation_table.find(l_s); + if (l_data != translation_table.end()) + return l_data->second; + return DF_Type::None; +} + + +int32_t DF_Type_to_int(rdf::DF_Type p_df_type) +{ + switch(p_df_type) + { + case DF_Type::None: return 0; + case DF_Type::int64_t: return 1; + case DF_Type::uint64_t: return 2; + case DF_Type::int32_t: return 3; + case DF_Type::int16_t: return 4; + case DF_Type::uint32_t: return 5; + case DF_Type::uint16_t: return 6; + case DF_Type::uint8_t: return 7; + case DF_Type::int8_t: return 8; + case DF_Type::Void: return 9; + case DF_Type::Char: return 10; + case DF_Type::Long: return 11; + case DF_Type::Bool: return 12; + case DF_Type::Stl_string: return 13; + case DF_Type::Static_string: return 14; + case DF_Type::Ptr_string: return 15; + case DF_Type::S_float: return 16; + case DF_Type::D_float: return 17; + case DF_Type::S_double: return 18; + case DF_Type::Padding: return 19; + case DF_Type::Stl_fstream: return 20; + case DF_Type::abstract_building: return 21; + case DF_Type::abstract_building__T_inhabitants: return 22; + case DF_Type::abstract_building__T_unk1: return 23; + case DF_Type::abstract_building_contents: return 24; + case DF_Type::abstract_building_dark_towerst: return 25; + case DF_Type::abstract_building_dungeonst: return 26; + case DF_Type::abstract_building_dungeonst__T_dungeon_type: return 27; + case DF_Type::abstract_building_flags: return 28; + case DF_Type::abstract_building_inn_tavernst: return 29; + case DF_Type::abstract_building_inn_tavernst__T_room_info: return 30; + case DF_Type::abstract_building_keepst: return 31; + case DF_Type::abstract_building_libraryst: return 32; + case DF_Type::abstract_building_marketst: return 33; + case DF_Type::abstract_building_mead_hallst: return 34; + case DF_Type::abstract_building_templest: return 35; + case DF_Type::abstract_building_tombst: return 36; + case DF_Type::abstract_building_type: return 37; + case DF_Type::abstract_building_underworld_spirest: return 38; + case DF_Type::abstract_building_unk: return 39; + case DF_Type::abstract_building_unk__T_anon_1: return 40; + case DF_Type::active_script_var_longst: return 41; + case DF_Type::active_script_var_unitst: return 42; + case DF_Type::active_script_varst: return 43; + case DF_Type::activity_entry: return 44; + case DF_Type::activity_event: return 45; + case DF_Type::activity_event__T_flags: return 46; + case DF_Type::activity_event__T_unk_v42_1: return 47; + case DF_Type::activity_event__T_unk_v42_2: return 48; + case DF_Type::activity_event_combat_trainingst: return 49; + case DF_Type::activity_event_conflictst: return 50; + case DF_Type::activity_event_conflictst__T_sides: return 51; + case DF_Type::activity_event_conflictst__T_sides__T_enemies: return 52; + case DF_Type::activity_event_conversationst: return 53; + case DF_Type::activity_event_conversationst__T_anon_6: return 54; + case DF_Type::activity_event_conversationst__T_flags2: return 55; + case DF_Type::activity_event_conversationst__T_participants: return 56; + case DF_Type::activity_event_conversationst__T_turns: return 57; + case DF_Type::activity_event_conversationst__T_unk2: return 58; + case DF_Type::activity_event_conversationst__T_unk_b4: return 59; + case DF_Type::activity_event_copy_written_contentst: return 60; + case DF_Type::activity_event_copy_written_contentst__T_flagsmaybe: return 61; + case DF_Type::activity_event_discuss_topicst: return 62; + case DF_Type::activity_event_encounterst: return 63; + case DF_Type::activity_event_encounterst__T_anon_1: return 64; + case DF_Type::activity_event_encounterst__T_anon_2: return 65; + case DF_Type::activity_event_fill_service_orderst: return 66; + case DF_Type::activity_event_guardst: return 67; + case DF_Type::activity_event_harassmentst: return 68; + case DF_Type::activity_event_harassmentst__T_anon_2: return 69; + case DF_Type::activity_event_individual_skill_drillst: return 70; + case DF_Type::activity_event_make_believest: return 71; + case DF_Type::activity_event_participants: return 72; + case DF_Type::activity_event_performancest: return 73; + case DF_Type::activity_event_performancest__T_participant_actions: return 74; + case DF_Type::activity_event_play_with_toyst: return 75; + case DF_Type::activity_event_play_with_toyst__T_unk: return 76; + case DF_Type::activity_event_playst: return 77; + case DF_Type::activity_event_ponder_topicst: return 78; + case DF_Type::activity_event_prayerst: return 79; + case DF_Type::activity_event_ranged_practicest: return 80; + case DF_Type::activity_event_readst: return 81; + case DF_Type::activity_event_researchst: return 82; + case DF_Type::activity_event_reunionst: return 83; + case DF_Type::activity_event_skill_demonstrationst: return 84; + case DF_Type::activity_event_socializest: return 85; + case DF_Type::activity_event_sparringst: return 86; + case DF_Type::activity_event_sparringst__T_groups: return 87; + case DF_Type::activity_event_store_objectst: return 88; + case DF_Type::activity_event_teach_topicst: return 89; + case DF_Type::activity_event_training_sessionst: return 90; + case DF_Type::activity_event_type: return 91; + case DF_Type::activity_event_worshipst: return 92; + case DF_Type::activity_event_writest: return 93; + case DF_Type::activity_info: return 94; + case DF_Type::activity_info__T_flags: return 95; + case DF_Type::adventure_environment_ingest_from_containerst: return 96; + case DF_Type::adventure_environment_ingest_materialst: return 97; + case DF_Type::adventure_environment_optionst: return 98; + case DF_Type::adventure_environment_pickup_chop_treest: return 99; + case DF_Type::adventure_environment_pickup_ignite_vegst: return 100; + case DF_Type::adventure_environment_pickup_make_campfirest: return 101; + case DF_Type::adventure_environment_pickup_vermin_eventst: return 102; + case DF_Type::adventure_environment_place_in_bld_containerst: return 103; + case DF_Type::adventure_environment_place_in_it_containerst: return 104; + case DF_Type::adventure_environment_unit_suck_bloodst: return 105; + case DF_Type::adventure_item_interact_choicest: return 106; + case DF_Type::adventure_item_interact_fill_from_containerst: return 107; + case DF_Type::adventure_item_interact_fill_with_materialst: return 108; + case DF_Type::adventure_item_interact_give_namest: return 109; + case DF_Type::adventure_item_interact_heat_from_tilest: return 110; + case DF_Type::adventure_item_interact_pull_outst: return 111; + case DF_Type::adventure_item_interact_readst: return 112; + case DF_Type::adventure_item_interact_strugglest: return 113; + case DF_Type::adventure_log_item: return 114; + case DF_Type::adventure_movement_attack_creaturest: return 115; + case DF_Type::adventure_movement_building_interactst: return 116; + case DF_Type::adventure_movement_climbst: return 117; + case DF_Type::adventure_movement_hold_itemst: return 118; + case DF_Type::adventure_movement_hold_tilest: return 119; + case DF_Type::adventure_movement_item_interact_guidest: return 120; + case DF_Type::adventure_movement_item_interact_pushst: return 121; + case DF_Type::adventure_movement_item_interact_ridest: return 122; + case DF_Type::adventure_movement_item_interactst: return 123; + case DF_Type::adventure_movement_movest: return 124; + case DF_Type::adventure_movement_optionst: return 125; + case DF_Type::adventure_movement_release_hold_itemst: return 126; + case DF_Type::adventure_movement_release_hold_tilest: return 127; + case DF_Type::adventure_option_eat_item_contaminantst: return 128; + case DF_Type::adventure_option_eat_unit_contaminantst: return 129; + case DF_Type::adventure_option_view_contaminantst: return 130; + case DF_Type::adventure_optionst: return 131; + case DF_Type::adventurer_attribute_level: return 132; + case DF_Type::agreement: return 133; + case DF_Type::agreement__T_details: return 134; + case DF_Type::agreement__T_details__T_data: return 135; + case DF_Type::agreement__T_details__T_data__T_data0: return 136; + case DF_Type::agreement__T_details__T_data__T_data1: return 137; + case DF_Type::agreement__T_parties: return 138; + case DF_Type::agreement__T_parties__T_anon_1: return 139; + case DF_Type::ammo_flags: return 140; + case DF_Type::animal_training_level: return 141; + case DF_Type::announcement_flags: return 142; + case DF_Type::announcement_type: return 143; + case DF_Type::announcements: return 144; + case DF_Type::appearance_modifier_growth_interval: return 145; + case DF_Type::appearance_modifier_type: return 146; + case DF_Type::armor_flags: return 147; + case DF_Type::armor_general_flags: return 148; + case DF_Type::armor_properties: return 149; + case DF_Type::army: return 150; + case DF_Type::army__T_members: return 151; + case DF_Type::army__T_unk_2c: return 152; + case DF_Type::army_controller: return 153; + case DF_Type::army_controller__T_unk_64: return 154; + case DF_Type::army_controller_sub1: return 155; + case DF_Type::army_controller_sub11: return 156; + case DF_Type::army_controller_sub11__T_anon_3: return 157; + case DF_Type::army_controller_sub12: return 158; + case DF_Type::army_controller_sub12__T_anon_4: return 159; + case DF_Type::army_controller_sub13: return 160; + case DF_Type::army_controller_sub13__T_anon_4: return 161; + case DF_Type::army_controller_sub14: return 162; + case DF_Type::army_controller_sub14__T_anon_4: return 163; + case DF_Type::army_controller_sub15: return 164; + case DF_Type::army_controller_sub15__T_anon_3: return 165; + case DF_Type::army_controller_sub16: return 166; + case DF_Type::army_controller_sub17: return 167; + case DF_Type::army_controller_sub18: return 168; + case DF_Type::army_controller_sub2: return 169; + case DF_Type::army_controller_sub2__T_anon_5: return 170; + case DF_Type::army_controller_sub4: return 171; + case DF_Type::army_controller_sub4__T_unk_2: return 172; + case DF_Type::army_controller_sub5: return 173; + case DF_Type::army_controller_sub6: return 174; + case DF_Type::army_controller_sub7: return 175; + case DF_Type::army_controller_sub7__T_anon_3: return 176; + case DF_Type::army_flags: return 177; + case DF_Type::art_facet_type: return 178; + case DF_Type::art_image: return 179; + case DF_Type::art_image_chunk: return 180; + case DF_Type::art_image_element: return 181; + case DF_Type::art_image_element_creaturest: return 182; + case DF_Type::art_image_element_itemst: return 183; + case DF_Type::art_image_element_plantst: return 184; + case DF_Type::art_image_element_shapest: return 185; + case DF_Type::art_image_element_treest: return 186; + case DF_Type::art_image_element_type: return 187; + case DF_Type::art_image_property: return 188; + case DF_Type::art_image_property_intransitive_verbst: return 189; + case DF_Type::art_image_property_transitive_verbst: return 190; + case DF_Type::art_image_property_type: return 191; + case DF_Type::art_image_property_verb: return 192; + case DF_Type::art_image_ref: return 193; + case DF_Type::artifact_record: return 194; + case DF_Type::assign_trade_status: return 195; + case DF_Type::assign_trade_status__T_status: return 196; + case DF_Type::assume_identity_mode: return 197; + case DF_Type::barrack_preference_category: return 198; + case DF_Type::belief_system: return 199; + case DF_Type::biome_type: return 200; + case DF_Type::block_burrow: return 201; + case DF_Type::block_burrow_link: return 202; + case DF_Type::block_flags: return 203; + case DF_Type::block_square_event: return 204; + case DF_Type::block_square_event_designation_priorityst: return 205; + case DF_Type::block_square_event_frozen_liquidst: return 206; + case DF_Type::block_square_event_grassst: return 207; + case DF_Type::block_square_event_item_spatterst: return 208; + case DF_Type::block_square_event_material_spatterst: return 209; + case DF_Type::block_square_event_mineralst: return 210; + case DF_Type::block_square_event_mineralst__T_flags: return 211; + case DF_Type::block_square_event_spoorst: return 212; + case DF_Type::block_square_event_type: return 213; + case DF_Type::block_square_event_world_constructionst: return 214; + case DF_Type::body_appearance_modifier: return 215; + case DF_Type::body_component_info: return 216; + case DF_Type::body_detail_plan: return 217; + case DF_Type::body_layer_status: return 218; + case DF_Type::body_part_layer_flags: return 219; + case DF_Type::body_part_layer_raw: return 220; + case DF_Type::body_part_raw: return 221; + case DF_Type::body_part_raw_flags: return 222; + case DF_Type::body_part_status: return 223; + case DF_Type::body_part_template: return 224; + case DF_Type::body_part_template_contype: return 225; + case DF_Type::body_part_template_flags: return 226; + case DF_Type::body_size_info: return 227; + case DF_Type::body_template: return 228; + case DF_Type::bp_appearance_modifier: return 229; + case DF_Type::breath_attack_type: return 230; + case DF_Type::build_req_choice_genst: return 231; + case DF_Type::build_req_choice_specst: return 232; + case DF_Type::build_req_choice_type: return 233; + case DF_Type::build_req_choicest: return 234; + case DF_Type::building: return 235; + case DF_Type::building__T_activities: return 236; + case DF_Type::building__T_job_claim_suppress: return 237; + case DF_Type::building_actual: return 238; + case DF_Type::building_actual__T_contained_items: return 239; + case DF_Type::building_animaltrapst: return 240; + case DF_Type::building_archerytargetst: return 241; + case DF_Type::building_archerytargetst__T_archery_direction: return 242; + case DF_Type::building_armorstandst: return 243; + case DF_Type::building_axle_horizontalst: return 244; + case DF_Type::building_axle_verticalst: return 245; + case DF_Type::building_bars_floorst: return 246; + case DF_Type::building_bars_verticalst: return 247; + case DF_Type::building_bedst: return 248; + case DF_Type::building_bedst__T_bed_flags: return 249; + case DF_Type::building_bookcasest: return 250; + case DF_Type::building_boxst: return 251; + case DF_Type::building_bridgest: return 252; + case DF_Type::building_bridgest__T_direction: return 253; + case DF_Type::building_cabinetst: return 254; + case DF_Type::building_cagest: return 255; + case DF_Type::building_cagest__T_cage_flags: return 256; + case DF_Type::building_chainst: return 257; + case DF_Type::building_chainst__T_chain_flags: return 258; + case DF_Type::building_chairst: return 259; + case DF_Type::building_civzonest: return 260; + case DF_Type::building_civzonest__T_gather_flags: return 261; + case DF_Type::building_civzonest__T_pit_flags: return 262; + case DF_Type::building_civzonest__T_zone_flags: return 263; + case DF_Type::building_coffinst: return 264; + case DF_Type::building_coffinst__T_burial_mode: return 265; + case DF_Type::building_constructionst: return 266; + case DF_Type::building_def: return 267; + case DF_Type::building_def_furnacest: return 268; + case DF_Type::building_def_item: return 269; + case DF_Type::building_def_workshopst: return 270; + case DF_Type::building_design: return 271; + case DF_Type::building_design__T_flags: return 272; + case DF_Type::building_display_furniturest: return 273; + case DF_Type::building_doorst: return 274; + case DF_Type::building_drawbuffer: return 275; + case DF_Type::building_extents: return 276; + case DF_Type::building_farmplotst: return 277; + case DF_Type::building_flags: return 278; + case DF_Type::building_floodgatest: return 279; + case DF_Type::building_furnacest: return 280; + case DF_Type::building_gear_assemblyst: return 281; + case DF_Type::building_gear_assemblyst__T_gear_flags: return 282; + case DF_Type::building_grate_floorst: return 283; + case DF_Type::building_grate_wallst: return 284; + case DF_Type::building_handler: return 285; + case DF_Type::building_hatchst: return 286; + case DF_Type::building_hivest: return 287; + case DF_Type::building_instrumentst: return 288; + case DF_Type::building_nest_boxst: return 289; + case DF_Type::building_nestst: return 290; + case DF_Type::building_road_dirtst: return 291; + case DF_Type::building_road_pavedst: return 292; + case DF_Type::building_roadst: return 293; + case DF_Type::building_rollersst: return 294; + case DF_Type::building_screw_pumpst: return 295; + case DF_Type::building_shopst: return 296; + case DF_Type::building_shopst__T_shop_flags: return 297; + case DF_Type::building_siegeenginest: return 298; + case DF_Type::building_siegeenginest__T_action: return 299; + case DF_Type::building_siegeenginest__T_facing: return 300; + case DF_Type::building_slabst: return 301; + case DF_Type::building_squad_use: return 302; + case DF_Type::building_statuest: return 303; + case DF_Type::building_stockpilest: return 304; + case DF_Type::building_supportst: return 305; + case DF_Type::building_supportst__T_support_flags: return 306; + case DF_Type::building_tablest: return 307; + case DF_Type::building_tablest__T_table_flags: return 308; + case DF_Type::building_traction_benchst: return 309; + case DF_Type::building_tradedepotst: return 310; + case DF_Type::building_tradedepotst__T_trade_flags: return 311; + case DF_Type::building_trapst: return 312; + case DF_Type::building_trapst__T_stop_flags: return 313; + case DF_Type::building_type: return 314; + case DF_Type::building_users: return 315; + case DF_Type::building_wagonst: return 316; + case DF_Type::building_water_wheelst: return 317; + case DF_Type::building_weaponrackst: return 318; + case DF_Type::building_weaponst: return 319; + case DF_Type::building_wellst: return 320; + case DF_Type::building_wellst__T_well_flags: return 321; + case DF_Type::building_windmillst: return 322; + case DF_Type::building_window_gemst: return 323; + case DF_Type::building_window_glassst: return 324; + case DF_Type::building_windowst: return 325; + case DF_Type::building_workshopst: return 326; + case DF_Type::buildings_other_id: return 327; + case DF_Type::builtin_mats: return 328; + case DF_Type::burrow: return 329; + case DF_Type::campfire: return 330; + case DF_Type::caravan_state: return 331; + case DF_Type::caravan_state__T_flags: return 332; + case DF_Type::caravan_state__T_trade_state: return 333; + case DF_Type::caste_attack: return 334; + case DF_Type::caste_attack__T_flags: return 335; + case DF_Type::caste_body_info: return 336; + case DF_Type::caste_body_info__T_extra_butcher_objects: return 337; + case DF_Type::caste_body_info__T_flags: return 338; + case DF_Type::caste_body_info__T_interactions: return 339; + case DF_Type::caste_body_info__T_interactions__T_type: return 340; + case DF_Type::caste_clothing_item: return 341; + case DF_Type::caste_raw: return 342; + case DF_Type::caste_raw__T_attributes: return 343; + case DF_Type::caste_raw__T_bp_appearance: return 344; + case DF_Type::caste_raw__T_caste_profession_name: return 345; + case DF_Type::caste_raw__T_extracts: return 346; + case DF_Type::caste_raw__T_misc: return 347; + case DF_Type::caste_raw__T_personality: return 348; + case DF_Type::caste_raw__T_secretion: return 349; + case DF_Type::caste_raw__T_shearable_tissue_layer: return 350; + case DF_Type::caste_raw__T_unknown2: return 351; + case DF_Type::caste_raw_flags: return 352; + case DF_Type::cave_column: return 353; + case DF_Type::cave_column_link: return 354; + case DF_Type::cave_column_rectangle: return 355; + case DF_Type::cie_add_tag_mask1: return 356; + case DF_Type::cie_add_tag_mask2: return 357; + case DF_Type::civzone_type: return 358; + case DF_Type::coin_batch: return 359; + case DF_Type::coin_batch__T_image_back: return 360; + case DF_Type::coin_batch__T_image_front: return 361; + case DF_Type::color_modifier_raw: return 362; + case DF_Type::combat_report_event_type: return 363; + case DF_Type::conflict_level: return 364; + case DF_Type::construction: return 365; + case DF_Type::construction_flags: return 366; + case DF_Type::construction_type: return 367; + case DF_Type::conversation: return 368; + case DF_Type::conversation__T_speech: return 369; + case DF_Type::conversation__T_state: return 370; + case DF_Type::conversation_menu: return 371; + case DF_Type::coord: return 372; + case DF_Type::coord2d: return 373; + case DF_Type::coord2d_path: return 374; + case DF_Type::coord_path: return 375; + case DF_Type::coord_rect: return 376; + case DF_Type::corpse_material_type: return 377; + case DF_Type::craft_material_class: return 378; + case DF_Type::creation_zone_pwg_alteration_campst: return 379; + case DF_Type::creation_zone_pwg_alteration_location_deathst: return 380; + case DF_Type::creation_zone_pwg_alteration_location_deathst__T_unk_1: return 381; + case DF_Type::creation_zone_pwg_alteration_location_deathst__T_unk_1__T_anon_1: return 382; + case DF_Type::creation_zone_pwg_alteration_srb_ruinedst: return 383; + case DF_Type::creation_zone_pwg_alteration_srp_ruinedst: return 384; + case DF_Type::creation_zone_pwg_alteration_type: return 385; + case DF_Type::creation_zone_pwg_alterationst: return 386; + case DF_Type::creature_graphics_appointment: return 387; + case DF_Type::creature_graphics_role: return 388; + case DF_Type::creature_handler: return 389; + case DF_Type::creature_interaction: return 390; + case DF_Type::creature_interaction__T_flags: return 391; + case DF_Type::creature_interaction_effect: return 392; + case DF_Type::creature_interaction_effect__T_counter_trigger: return 393; + case DF_Type::creature_interaction_effect_add_simple_flagst: return 394; + case DF_Type::creature_interaction_effect_bleedingst: return 395; + case DF_Type::creature_interaction_effect_blistersst: return 396; + case DF_Type::creature_interaction_effect_body_appearance_modifierst: return 397; + case DF_Type::creature_interaction_effect_body_mat_interactionst: return 398; + case DF_Type::creature_interaction_effect_body_transformationst: return 399; + case DF_Type::creature_interaction_effect_bp_appearance_modifierst: return 400; + case DF_Type::creature_interaction_effect_bruisingst: return 401; + case DF_Type::creature_interaction_effect_can_do_interactionst: return 402; + case DF_Type::creature_interaction_effect_change_personalityst: return 403; + case DF_Type::creature_interaction_effect_cough_bloodst: return 404; + case DF_Type::creature_interaction_effect_display_namest: return 405; + case DF_Type::creature_interaction_effect_display_symbolst: return 406; + case DF_Type::creature_interaction_effect_dizzinessst: return 407; + case DF_Type::creature_interaction_effect_drowsinessst: return 408; + case DF_Type::creature_interaction_effect_erratic_behaviorst: return 409; + case DF_Type::creature_interaction_effect_feel_emotionst: return 410; + case DF_Type::creature_interaction_effect_feverst: return 411; + case DF_Type::creature_interaction_effect_flags: return 412; + case DF_Type::creature_interaction_effect_flash_symbolst: return 413; + case DF_Type::creature_interaction_effect_impair_functionst: return 414; + case DF_Type::creature_interaction_effect_material_force_adjustst: return 415; + case DF_Type::creature_interaction_effect_ment_att_changest: return 416; + case DF_Type::creature_interaction_effect_nauseast: return 417; + case DF_Type::creature_interaction_effect_necrosisst: return 418; + case DF_Type::creature_interaction_effect_numbnessst: return 419; + case DF_Type::creature_interaction_effect_oozingst: return 420; + case DF_Type::creature_interaction_effect_painst: return 421; + case DF_Type::creature_interaction_effect_paralysisst: return 422; + case DF_Type::creature_interaction_effect_phys_att_changest: return 423; + case DF_Type::creature_interaction_effect_remove_simple_flagst: return 424; + case DF_Type::creature_interaction_effect_sense_creature_classst: return 425; + case DF_Type::creature_interaction_effect_skill_roll_adjustst: return 426; + case DF_Type::creature_interaction_effect_speed_changest: return 427; + case DF_Type::creature_interaction_effect_swellingst: return 428; + case DF_Type::creature_interaction_effect_target: return 429; + case DF_Type::creature_interaction_effect_target_mode: return 430; + case DF_Type::creature_interaction_effect_type: return 431; + case DF_Type::creature_interaction_effect_unconsciousnessst: return 432; + case DF_Type::creature_interaction_effect_vomit_bloodst: return 433; + case DF_Type::creature_interaction_target_flags: return 434; + case DF_Type::creature_raw: return 435; + case DF_Type::creature_raw__T_graphics: return 436; + case DF_Type::creature_raw__T_hive_product: return 437; + case DF_Type::creature_raw__T_profession_name: return 438; + case DF_Type::creature_raw_flags: return 439; + case DF_Type::creature_variation: return 440; + case DF_Type::creature_variation_convert_tag: return 441; + case DF_Type::crime: return 442; + case DF_Type::crime__T_flags: return 443; + case DF_Type::crime__T_mode: return 444; + case DF_Type::crime__T_punishment: return 445; + case DF_Type::crime__T_reports: return 446; + case DF_Type::cultural_identity: return 447; + case DF_Type::cultural_identity__T_group_log: return 448; + case DF_Type::cultural_identity__T_group_log__T_join_type: return 449; + case DF_Type::cumulus_type: return 450; + case DF_Type::curse_attr_change: return 451; + case DF_Type::d_init: return 452; + case DF_Type::d_init__T_store_dist: return 453; + case DF_Type::d_init__T_wound_color: return 454; + case DF_Type::d_init_embark_confirm: return 455; + case DF_Type::d_init_flags1: return 456; + case DF_Type::d_init_flags2: return 457; + case DF_Type::d_init_flags3: return 458; + case DF_Type::d_init_flags4: return 459; + case DF_Type::d_init_idlers: return 460; + case DF_Type::d_init_nickname: return 461; + case DF_Type::d_init_tunnel: return 462; + case DF_Type::d_init_z_view: return 463; + case DF_Type::dance_form: return 464; + case DF_Type::dance_form_sub1: return 465; + case DF_Type::dance_form_sub2: return 466; + case DF_Type::death_type: return 467; + case DF_Type::deep_vein_hollow: return 468; + case DF_Type::descriptor_color: return 469; + case DF_Type::descriptor_pattern: return 470; + case DF_Type::descriptor_shape: return 471; + case DF_Type::descriptor_shape__T_gems_use: return 472; + case DF_Type::dfhack_knowledge_scholar_flag: return 473; + case DF_Type::dfhack_material_category: return 474; + case DF_Type::dfhack_room_quality_level: return 475; + case DF_Type::dipscript_info: return 476; + case DF_Type::dipscript_popup: return 477; + case DF_Type::dipscript_popup__T_flags: return 478; + case DF_Type::door_flags: return 479; + case DF_Type::dye_info: return 480; + case DF_Type::effect_info: return 481; + case DF_Type::embark_finder_option: return 482; + case DF_Type::embark_item_choice: return 483; + case DF_Type::embark_item_choice__T_list: return 484; + case DF_Type::embark_location: return 485; + case DF_Type::embark_note: return 486; + case DF_Type::embark_profile: return 487; + case DF_Type::emotion_type: return 488; + case DF_Type::enabler: return 489; + case DF_Type::enabler__T_async_frombox: return 490; + case DF_Type::enabler__T_async_frombox__T_queue: return 491; + case DF_Type::enabler__T_async_frombox__T_queue___union1: return 492; + case DF_Type::enabler__T_async_frombox__T_queue___union1___struct1: return 493; + case DF_Type::enabler__T_async_frombox__T_queue__T_msg: return 494; + case DF_Type::enabler__T_async_tobox: return 495; + case DF_Type::enabler__T_async_tobox__T_queue: return 496; + case DF_Type::enabler__T_async_tobox__T_queue__T_cmd: return 497; + case DF_Type::enabler__T_async_zoom: return 498; + case DF_Type::enabler__T_flag: return 499; + case DF_Type::enabler__T_gputicks: return 500; + case DF_Type::enabler__T_overridden_grid_sizes: return 501; + case DF_Type::enabler__T_simticks: return 502; + case DF_Type::enabler__T_textures: return 503; + case DF_Type::engraving: return 504; + case DF_Type::engraving_flags: return 505; + case DF_Type::entity_action_type: return 506; + case DF_Type::entity_activity_statistics: return 507; + case DF_Type::entity_activity_statistics__T_food: return 508; + case DF_Type::entity_activity_statistics__T_found_misc: return 509; + case DF_Type::entity_activity_statistics__T_wealth: return 510; + case DF_Type::entity_animal_raw: return 511; + case DF_Type::entity_animal_raw__T_flags: return 512; + case DF_Type::entity_buy_prices: return 513; + case DF_Type::entity_buy_requests: return 514; + case DF_Type::entity_claim_mask: return 515; + case DF_Type::entity_claim_mask__T_map: return 516; + case DF_Type::entity_entity_link: return 517; + case DF_Type::entity_entity_link_type: return 518; + case DF_Type::entity_event: return 519; + case DF_Type::entity_event__T_data: return 520; + case DF_Type::entity_event__T_data__T_abandon: return 521; + case DF_Type::entity_event__T_data__T_abduction: return 522; + case DF_Type::entity_event__T_data__T_accept_peace_offer: return 523; + case DF_Type::entity_event__T_data__T_accept_tribute_demand: return 524; + case DF_Type::entity_event__T_data__T_accept_tribute_offer: return 525; + case DF_Type::entity_event__T_data__T_artifact_destroyed: return 526; + case DF_Type::entity_event__T_data__T_artifact_in_feature_layer: return 527; + case DF_Type::entity_event__T_data__T_artifact_in_inventory: return 528; + case DF_Type::entity_event__T_data__T_artifact_in_site: return 529; + case DF_Type::entity_event__T_data__T_artifact_in_subregion: return 530; + case DF_Type::entity_event__T_data__T_artifact_not_in_feature_layer: return 531; + case DF_Type::entity_event__T_data__T_artifact_not_in_inventory: return 532; + case DF_Type::entity_event__T_data__T_artifact_not_in_site: return 533; + case DF_Type::entity_event__T_data__T_artifact_not_in_subregion: return 534; + case DF_Type::entity_event__T_data__T_beast: return 535; + case DF_Type::entity_event__T_data__T_cease_tribute_offer: return 536; + case DF_Type::entity_event__T_data__T_claim: return 537; + case DF_Type::entity_event__T_data__T_flee: return 538; + case DF_Type::entity_event__T_data__T_founded: return 539; + case DF_Type::entity_event__T_data__T_founding: return 540; + case DF_Type::entity_event__T_data__T_group: return 541; + case DF_Type::entity_event__T_data__T_harass: return 542; + case DF_Type::entity_event__T_data__T_incident: return 543; + case DF_Type::entity_event__T_data__T_insurrection: return 544; + case DF_Type::entity_event__T_data__T_insurrection_end: return 545; + case DF_Type::entity_event__T_data__T_insurrection_end__T_result: return 546; + case DF_Type::entity_event__T_data__T_invasion: return 547; + case DF_Type::entity_event__T_data__T_leave: return 548; + case DF_Type::entity_event__T_data__T_occupation: return 549; + case DF_Type::entity_event__T_data__T_reclaimed: return 550; + case DF_Type::entity_event__T_data__T_reclaiming: return 551; + case DF_Type::entity_event__T_data__T_refuse_peace_offer: return 552; + case DF_Type::entity_event__T_data__T_refuse_tribute_demand: return 553; + case DF_Type::entity_event__T_data__T_refuse_tribute_offer: return 554; + case DF_Type::entity_event__T_data__T_succession: return 555; + case DF_Type::entity_event_type: return 556; + case DF_Type::entity_material_category: return 557; + case DF_Type::entity_name_type: return 558; + case DF_Type::entity_occasion: return 559; + case DF_Type::entity_occasion_info: return 560; + case DF_Type::entity_occasion_schedule: return 561; + case DF_Type::entity_occasion_schedule_feature: return 562; + case DF_Type::entity_population: return 563; + case DF_Type::entity_population_unk4: return 564; + case DF_Type::entity_population_unk4__T_anon_1: return 565; + case DF_Type::entity_population_unk4__T_anon_3: return 566; + case DF_Type::entity_position: return 567; + case DF_Type::entity_position_assignment: return 568; + case DF_Type::entity_position_flags: return 569; + case DF_Type::entity_position_raw: return 570; + case DF_Type::entity_position_raw_flags: return 571; + case DF_Type::entity_position_responsibility: return 572; + case DF_Type::entity_raw: return 573; + case DF_Type::entity_raw__T_equipment: return 574; + case DF_Type::entity_raw__T_jobs: return 575; + case DF_Type::entity_raw__T_land_holder_trigger: return 576; + case DF_Type::entity_raw__T_progress_trigger: return 577; + case DF_Type::entity_raw__T_scholar: return 578; + case DF_Type::entity_raw__T_symbols: return 579; + case DF_Type::entity_raw__T_tissue_styles: return 580; + case DF_Type::entity_raw__T_workshops: return 581; + case DF_Type::entity_raw_flags: return 582; + case DF_Type::entity_recipe: return 583; + case DF_Type::entity_sell_category: return 584; + case DF_Type::entity_sell_prices: return 585; + case DF_Type::entity_sell_requests: return 586; + case DF_Type::entity_site_link: return 587; + case DF_Type::entity_site_link__T_anon_8: return 588; + case DF_Type::entity_site_link__T_flags: return 589; + case DF_Type::entity_tissue_style: return 590; + case DF_Type::entity_uniform: return 591; + case DF_Type::entity_uniform_item: return 592; + case DF_Type::environment_type: return 593; + case DF_Type::era_type: return 594; + case DF_Type::ethic_response: return 595; + case DF_Type::ethic_type: return 596; + case DF_Type::feature: return 597; + case DF_Type::feature_alteration: return 598; + case DF_Type::feature_alteration_new_lava_fill_zst: return 599; + case DF_Type::feature_alteration_new_pop_maxst: return 600; + case DF_Type::feature_alteration_type: return 601; + case DF_Type::feature_cavest: return 602; + case DF_Type::feature_deep_special_tubest: return 603; + case DF_Type::feature_deep_surface_portalst: return 604; + case DF_Type::feature_init: return 605; + case DF_Type::feature_init_cavest: return 606; + case DF_Type::feature_init_deep_special_tubest: return 607; + case DF_Type::feature_init_deep_surface_portalst: return 608; + case DF_Type::feature_init_flags: return 609; + case DF_Type::feature_init_magma_core_from_layerst: return 610; + case DF_Type::feature_init_magma_poolst: return 611; + case DF_Type::feature_init_outdoor_riverst: return 612; + case DF_Type::feature_init_pitst: return 613; + case DF_Type::feature_init_subterranean_from_layerst: return 614; + case DF_Type::feature_init_underworld_from_layerst: return 615; + case DF_Type::feature_init_volcanost: return 616; + case DF_Type::feature_magma_core_from_layerst: return 617; + case DF_Type::feature_magma_poolst: return 618; + case DF_Type::feature_outdoor_riverst: return 619; + case DF_Type::feature_pitst: return 620; + case DF_Type::feature_subterranean_from_layerst: return 621; + case DF_Type::feature_type: return 622; + case DF_Type::feature_underworld_from_layerst: return 623; + case DF_Type::feature_volcanost: return 624; + case DF_Type::file_compressorst: return 625; + case DF_Type::fire: return 626; + case DF_Type::flow_guide: return 627; + case DF_Type::flow_guide_item_cloudst: return 628; + case DF_Type::flow_guide_trailing_flowst: return 629; + case DF_Type::flow_guide_type: return 630; + case DF_Type::flow_info: return 631; + case DF_Type::flow_reuse_pool: return 632; + case DF_Type::flow_reuse_pool__T_flags: return 633; + case DF_Type::flow_type: return 634; + case DF_Type::fog_type: return 635; + case DF_Type::front_type: return 636; + case DF_Type::furnace_type: return 637; + case DF_Type::furniture_type: return 638; + case DF_Type::gait_info: return 639; + case DF_Type::gait_info__T_flags: return 640; + case DF_Type::gait_type: return 641; + case DF_Type::game_mode: return 642; + case DF_Type::game_type: return 643; + case DF_Type::gate_flags: return 644; + case DF_Type::general_ref: return 645; + case DF_Type::general_ref_abstract_buildingst: return 646; + case DF_Type::general_ref_activity_eventst: return 647; + case DF_Type::general_ref_artifact: return 648; + case DF_Type::general_ref_building: return 649; + case DF_Type::general_ref_building_cagedst: return 650; + case DF_Type::general_ref_building_chainst: return 651; + case DF_Type::general_ref_building_civzone_assignedst: return 652; + case DF_Type::general_ref_building_destinationst: return 653; + case DF_Type::general_ref_building_display_furniturest: return 654; + case DF_Type::general_ref_building_holderst: return 655; + case DF_Type::general_ref_building_nest_boxst: return 656; + case DF_Type::general_ref_building_triggerst: return 657; + case DF_Type::general_ref_building_triggertargetst: return 658; + case DF_Type::general_ref_building_use_target_1st: return 659; + case DF_Type::general_ref_building_use_target_2st: return 660; + case DF_Type::general_ref_building_well_tag: return 661; + case DF_Type::general_ref_coinbatch: return 662; + case DF_Type::general_ref_contained_in_itemst: return 663; + case DF_Type::general_ref_contains_itemst: return 664; + case DF_Type::general_ref_contains_unitst: return 665; + case DF_Type::general_ref_creaturest: return 666; + case DF_Type::general_ref_creaturest__T_flags: return 667; + case DF_Type::general_ref_dance_formst: return 668; + case DF_Type::general_ref_entity: return 669; + case DF_Type::general_ref_entity_art_image: return 670; + case DF_Type::general_ref_entity_itemownerst: return 671; + case DF_Type::general_ref_entity_offeredst: return 672; + case DF_Type::general_ref_entity_popst: return 673; + case DF_Type::general_ref_entity_popst__T_flags: return 674; + case DF_Type::general_ref_entity_stolenst: return 675; + case DF_Type::general_ref_feature_layerst: return 676; + case DF_Type::general_ref_historical_eventst: return 677; + case DF_Type::general_ref_historical_figurest: return 678; + case DF_Type::general_ref_interactionst: return 679; + case DF_Type::general_ref_is_artifactst: return 680; + case DF_Type::general_ref_is_nemesisst: return 681; + case DF_Type::general_ref_item: return 682; + case DF_Type::general_ref_item_type: return 683; + case DF_Type::general_ref_knowledge_scholar_flagst: return 684; + case DF_Type::general_ref_languagest: return 685; + case DF_Type::general_ref_locationst: return 686; + case DF_Type::general_ref_mapsquare: return 687; + case DF_Type::general_ref_musical_formst: return 688; + case DF_Type::general_ref_nemesis: return 689; + case DF_Type::general_ref_poetic_formst: return 690; + case DF_Type::general_ref_projectile: return 691; + case DF_Type::general_ref_sitest: return 692; + case DF_Type::general_ref_spherest: return 693; + case DF_Type::general_ref_subregionst: return 694; + case DF_Type::general_ref_type: return 695; + case DF_Type::general_ref_unit: return 696; + case DF_Type::general_ref_unit_beateest: return 697; + case DF_Type::general_ref_unit_cageest: return 698; + case DF_Type::general_ref_unit_climberst: return 699; + case DF_Type::general_ref_unit_foodreceiverst: return 700; + case DF_Type::general_ref_unit_geldeest: return 701; + case DF_Type::general_ref_unit_holderst: return 702; + case DF_Type::general_ref_unit_infantst: return 703; + case DF_Type::general_ref_unit_itemownerst: return 704; + case DF_Type::general_ref_unit_itemownerst__T_flags: return 705; + case DF_Type::general_ref_unit_kidnapeest: return 706; + case DF_Type::general_ref_unit_milkeest: return 707; + case DF_Type::general_ref_unit_patientst: return 708; + case DF_Type::general_ref_unit_reporteest: return 709; + case DF_Type::general_ref_unit_riderst: return 710; + case DF_Type::general_ref_unit_sheareest: return 711; + case DF_Type::general_ref_unit_slaughtereest: return 712; + case DF_Type::general_ref_unit_suckeest: return 713; + case DF_Type::general_ref_unit_tradebringerst: return 714; + case DF_Type::general_ref_unit_traineest: return 715; + case DF_Type::general_ref_unit_workerst: return 716; + case DF_Type::general_ref_value_levelst: return 717; + case DF_Type::general_ref_written_contentst: return 718; + case DF_Type::geo_layer_type: return 719; + case DF_Type::ghost_goal: return 720; + case DF_Type::ghost_type: return 721; + case DF_Type::gloves_flags: return 722; + case DF_Type::glowing_barrier: return 723; + case DF_Type::goal_type: return 724; + case DF_Type::graphic: return 725; + case DF_Type::guild_id: return 726; + case DF_Type::hauler_type: return 727; + case DF_Type::hauling_route: return 728; + case DF_Type::hauling_stop: return 729; + case DF_Type::health_view_bits1: return 730; + case DF_Type::health_view_bits2: return 731; + case DF_Type::health_view_bits3: return 732; + case DF_Type::helm_flags: return 733; + case DF_Type::hillock_house_type: return 734; + case DF_Type::histfig_body_state: return 735; + case DF_Type::histfig_entity_link: return 736; + case DF_Type::histfig_entity_link_criminalst: return 737; + case DF_Type::histfig_entity_link_enemyst: return 738; + case DF_Type::histfig_entity_link_former_memberst: return 739; + case DF_Type::histfig_entity_link_former_mercenaryst: return 740; + case DF_Type::histfig_entity_link_former_occupationst: return 741; + case DF_Type::histfig_entity_link_former_positionst: return 742; + case DF_Type::histfig_entity_link_former_prisonerst: return 743; + case DF_Type::histfig_entity_link_former_slavest: return 744; + case DF_Type::histfig_entity_link_former_squadst: return 745; + case DF_Type::histfig_entity_link_memberst: return 746; + case DF_Type::histfig_entity_link_mercenaryst: return 747; + case DF_Type::histfig_entity_link_occupationst: return 748; + case DF_Type::histfig_entity_link_position_claimst: return 749; + case DF_Type::histfig_entity_link_positionst: return 750; + case DF_Type::histfig_entity_link_prisonerst: return 751; + case DF_Type::histfig_entity_link_slavest: return 752; + case DF_Type::histfig_entity_link_squadst: return 753; + case DF_Type::histfig_entity_link_type: return 754; + case DF_Type::histfig_flags: return 755; + case DF_Type::histfig_hf_link: return 756; + case DF_Type::histfig_hf_link_apprenticest: return 757; + case DF_Type::histfig_hf_link_childst: return 758; + case DF_Type::histfig_hf_link_companionst: return 759; + case DF_Type::histfig_hf_link_deityst: return 760; + case DF_Type::histfig_hf_link_fatherst: return 761; + case DF_Type::histfig_hf_link_former_apprenticest: return 762; + case DF_Type::histfig_hf_link_former_masterst: return 763; + case DF_Type::histfig_hf_link_imprisonerst: return 764; + case DF_Type::histfig_hf_link_loverst: return 765; + case DF_Type::histfig_hf_link_masterst: return 766; + case DF_Type::histfig_hf_link_motherst: return 767; + case DF_Type::histfig_hf_link_pet_ownerst: return 768; + case DF_Type::histfig_hf_link_prisonerst: return 769; + case DF_Type::histfig_hf_link_spousest: return 770; + case DF_Type::histfig_hf_link_type: return 771; + case DF_Type::histfig_relationship_type: return 772; + case DF_Type::histfig_site_link: return 773; + case DF_Type::histfig_site_link_hangoutst: return 774; + case DF_Type::histfig_site_link_home_site_abstract_buildingst: return 775; + case DF_Type::histfig_site_link_home_site_realization_buildingst: return 776; + case DF_Type::histfig_site_link_home_site_realization_sulst: return 777; + case DF_Type::histfig_site_link_home_site_saved_civzonest: return 778; + case DF_Type::histfig_site_link_lairst: return 779; + case DF_Type::histfig_site_link_occupationst: return 780; + case DF_Type::histfig_site_link_seat_of_powerst: return 781; + case DF_Type::histfig_site_link_type: return 782; + case DF_Type::historical_entity: return 783; + case DF_Type::historical_entity__T_claims: return 784; + case DF_Type::historical_entity__T_derived_resources: return 785; + case DF_Type::historical_entity__T_flags: return 786; + case DF_Type::historical_entity__T_positions: return 787; + case DF_Type::historical_entity__T_resources: return 788; + case DF_Type::historical_entity__T_resources__T_animals: return 789; + case DF_Type::historical_entity__T_resources__T_metal: return 790; + case DF_Type::historical_entity__T_resources__T_misc_mat: return 791; + case DF_Type::historical_entity__T_resources__T_organic: return 792; + case DF_Type::historical_entity__T_resources__T_refuse: return 793; + case DF_Type::historical_entity__T_resources__T_unk13: return 794; + case DF_Type::historical_entity__T_resources__T_wood_products: return 795; + case DF_Type::historical_entity__T_tissue_styles: return 796; + case DF_Type::historical_entity__T_training_knowledge: return 797; + case DF_Type::historical_entity__T_unknown1b: return 798; + case DF_Type::historical_entity__T_unknown1b__T_diplomacy: return 799; + case DF_Type::historical_entity__T_unknown1b__T_unk32e: return 800; + case DF_Type::historical_entity__T_unknown1d: return 801; + case DF_Type::historical_entity__T_unknown1e: return 802; + case DF_Type::historical_entity__T_unknown2: return 803; + case DF_Type::historical_entity_type: return 804; + case DF_Type::historical_figure: return 805; + case DF_Type::historical_figure__T_unk_fc: return 806; + case DF_Type::historical_figure_info: return 807; + case DF_Type::historical_figure_info__T_books: return 808; + case DF_Type::historical_figure_info__T_curse: return 809; + case DF_Type::historical_figure_info__T_masterpieces: return 810; + case DF_Type::historical_figure_info__T_personality: return 811; + case DF_Type::historical_figure_info__T_relationships: return 812; + case DF_Type::historical_figure_info__T_relationships__T_anon_1: return 813; + case DF_Type::historical_figure_info__T_relationships__T_anon_2: return 814; + case DF_Type::historical_figure_info__T_relationships__T_anon_3: return 815; + case DF_Type::historical_figure_info__T_relationships__T_list: return 816; + case DF_Type::historical_figure_info__T_reputation: return 817; + case DF_Type::historical_figure_info__T_reputation__T_anon_1: return 818; + case DF_Type::historical_figure_info__T_reputation__T_unk_2c: return 819; + case DF_Type::historical_figure_info__T_reputation__T_unk_2c__T_anon_12: return 820; + case DF_Type::historical_figure_info__T_reputation__T_wanted: return 821; + case DF_Type::historical_figure_info__T_secret: return 822; + case DF_Type::historical_figure_info__T_secret__T_anon_1: return 823; + case DF_Type::historical_figure_info__T_secret__T_anon_7: return 824; + case DF_Type::historical_figure_info__T_secret__T_knowledge: return 825; + case DF_Type::historical_figure_info__T_secret__T_knowledge__T_knowledge_goal: return 826; + case DF_Type::historical_figure_info__T_secret__T_unk_a8: return 827; + case DF_Type::historical_figure_info__T_skills: return 828; + case DF_Type::historical_figure_info__T_unk_14: return 829; + case DF_Type::historical_figure_info__T_wounds: return 830; + case DF_Type::historical_kills: return 831; + case DF_Type::historical_kills__T_killed_undead: return 832; + case DF_Type::history_era: return 833; + case DF_Type::history_era__T_details: return 834; + case DF_Type::history_era__T_title: return 835; + case DF_Type::history_event: return 836; + case DF_Type::history_event_add_hf_entity_linkst: return 837; + case DF_Type::history_event_add_hf_hf_linkst: return 838; + case DF_Type::history_event_add_hf_site_linkst: return 839; + case DF_Type::history_event_agreement_concludedst: return 840; + case DF_Type::history_event_agreement_formedst: return 841; + case DF_Type::history_event_agreements_voidedst: return 842; + case DF_Type::history_event_artifact_claim_formedst: return 843; + case DF_Type::history_event_artifact_claim_formedst__T_claim_type: return 844; + case DF_Type::history_event_artifact_copiedst: return 845; + case DF_Type::history_event_artifact_copiedst__T_flags2: return 846; + case DF_Type::history_event_artifact_createdst: return 847; + case DF_Type::history_event_artifact_destroyedst: return 848; + case DF_Type::history_event_artifact_droppedst: return 849; + case DF_Type::history_event_artifact_foundst: return 850; + case DF_Type::history_event_artifact_givenst: return 851; + case DF_Type::history_event_artifact_hiddenst: return 852; + case DF_Type::history_event_artifact_lostst: return 853; + case DF_Type::history_event_artifact_possessedst: return 854; + case DF_Type::history_event_artifact_recoveredst: return 855; + case DF_Type::history_event_artifact_storedst: return 856; + case DF_Type::history_event_artifact_transformedst: return 857; + case DF_Type::history_event_assume_identityst: return 858; + case DF_Type::history_event_body_abusedst: return 859; + case DF_Type::history_event_body_abusedst__T_abuse_type: return 860; + case DF_Type::history_event_body_abusedst__T_props: return 861; + case DF_Type::history_event_body_abusedst__T_props__T_hung: return 862; + case DF_Type::history_event_body_abusedst__T_props__T_item: return 863; + case DF_Type::history_event_body_abusedst__T_props__T_pile_type: return 864; + case DF_Type::history_event_ceremonyst: return 865; + case DF_Type::history_event_change_creature_typest: return 866; + case DF_Type::history_event_change_hf_body_statest: return 867; + case DF_Type::history_event_change_hf_jobst: return 868; + case DF_Type::history_event_change_hf_moodst: return 869; + case DF_Type::history_event_change_hf_statest: return 870; + case DF_Type::history_event_change_hf_statest__T_state: return 871; + case DF_Type::history_event_collection: return 872; + case DF_Type::history_event_collection_abductionst: return 873; + case DF_Type::history_event_collection_battlest: return 874; + case DF_Type::history_event_collection_beast_attackst: return 875; + case DF_Type::history_event_collection_ceremonyst: return 876; + case DF_Type::history_event_collection_competitionst: return 877; + case DF_Type::history_event_collection_duelst: return 878; + case DF_Type::history_event_collection_insurrectionst: return 879; + case DF_Type::history_event_collection_journeyst: return 880; + case DF_Type::history_event_collection_occasionst: return 881; + case DF_Type::history_event_collection_performancest: return 882; + case DF_Type::history_event_collection_processionst: return 883; + case DF_Type::history_event_collection_purgest: return 884; + case DF_Type::history_event_collection_raidst: return 885; + case DF_Type::history_event_collection_site_conqueredst: return 886; + case DF_Type::history_event_collection_theftst: return 887; + case DF_Type::history_event_collection_type: return 888; + case DF_Type::history_event_collection_warst: return 889; + case DF_Type::history_event_collection_warst__T_unk: return 890; + case DF_Type::history_event_competitionst: return 891; + case DF_Type::history_event_context: return 892; + case DF_Type::history_event_create_entity_positionst: return 893; + case DF_Type::history_event_created_buildingst: return 894; + case DF_Type::history_event_created_sitest: return 895; + case DF_Type::history_event_created_world_constructionst: return 896; + case DF_Type::history_event_creature_devouredst: return 897; + case DF_Type::history_event_dance_form_createdst: return 898; + case DF_Type::history_event_diplomat_lostst: return 899; + case DF_Type::history_event_entity_actionst: return 900; + case DF_Type::history_event_entity_createdst: return 901; + case DF_Type::history_event_entity_expels_hfst: return 902; + case DF_Type::history_event_entity_fled_sitest: return 903; + case DF_Type::history_event_entity_incorporatedst: return 904; + case DF_Type::history_event_entity_lawst: return 905; + case DF_Type::history_event_entity_rampaged_in_sitest: return 906; + case DF_Type::history_event_entity_razed_buildingst: return 907; + case DF_Type::history_event_entity_searched_sitest: return 908; + case DF_Type::history_event_first_contact_failedst: return 909; + case DF_Type::history_event_first_contactst: return 910; + case DF_Type::history_event_hf_act_on_artifactst: return 911; + case DF_Type::history_event_hf_act_on_artifactst__T_action: return 912; + case DF_Type::history_event_hf_act_on_buildingst: return 913; + case DF_Type::history_event_hf_act_on_buildingst__T_action: return 914; + case DF_Type::history_event_hf_attacked_sitest: return 915; + case DF_Type::history_event_hf_confrontedst: return 916; + case DF_Type::history_event_hf_destroyed_sitest: return 917; + case DF_Type::history_event_hf_does_interactionst: return 918; + case DF_Type::history_event_hf_freedst: return 919; + case DF_Type::history_event_hf_gains_secret_goalst: return 920; + case DF_Type::history_event_hf_learns_secretst: return 921; + case DF_Type::history_event_hf_razed_buildingst: return 922; + case DF_Type::history_event_hf_recruited_unit_type_for_entityst: return 923; + case DF_Type::history_event_hf_relationship_deniedst: return 924; + case DF_Type::history_event_hfs_formed_reputation_relationshipst: return 925; + case DF_Type::history_event_hist_figure_abductedst: return 926; + case DF_Type::history_event_hist_figure_diedst: return 927; + case DF_Type::history_event_hist_figure_new_petst: return 928; + case DF_Type::history_event_hist_figure_reach_summitst: return 929; + case DF_Type::history_event_hist_figure_reunionst: return 930; + case DF_Type::history_event_hist_figure_revivedst: return 931; + case DF_Type::history_event_hist_figure_simple_actionst: return 932; + case DF_Type::history_event_hist_figure_simple_battle_eventst: return 933; + case DF_Type::history_event_hist_figure_travelst: return 934; + case DF_Type::history_event_hist_figure_travelst__T_reason: return 935; + case DF_Type::history_event_hist_figure_woundedst: return 936; + case DF_Type::history_event_hist_figure_woundedst__T_injury_type: return 937; + case DF_Type::history_event_insurrection_endedst: return 938; + case DF_Type::history_event_insurrection_startedst: return 939; + case DF_Type::history_event_item_stolenst: return 940; + case DF_Type::history_event_knowledge_discoveredst: return 941; + case DF_Type::history_event_masterpiece_created_arch_constructst: return 942; + case DF_Type::history_event_masterpiece_created_arch_designst: return 943; + case DF_Type::history_event_masterpiece_created_dye_itemst: return 944; + case DF_Type::history_event_masterpiece_created_engravingst: return 945; + case DF_Type::history_event_masterpiece_created_foodst: return 946; + case DF_Type::history_event_masterpiece_created_item_improvementst: return 947; + case DF_Type::history_event_masterpiece_created_itemst: return 948; + case DF_Type::history_event_masterpiece_createdst: return 949; + case DF_Type::history_event_masterpiece_lostst: return 950; + case DF_Type::history_event_merchantst: return 951; + case DF_Type::history_event_musical_form_createdst: return 952; + case DF_Type::history_event_performancest: return 953; + case DF_Type::history_event_poetic_form_createdst: return 954; + case DF_Type::history_event_processionst: return 955; + case DF_Type::history_event_reason: return 956; + case DF_Type::history_event_reclaim_sitest: return 957; + case DF_Type::history_event_regionpop_incorporated_into_entityst: return 958; + case DF_Type::history_event_remove_hf_entity_linkst: return 959; + case DF_Type::history_event_remove_hf_hf_linkst: return 960; + case DF_Type::history_event_remove_hf_site_linkst: return 961; + case DF_Type::history_event_replaced_buildingst: return 962; + case DF_Type::history_event_simple_battle_subtype: return 963; + case DF_Type::history_event_site_diedst: return 964; + case DF_Type::history_event_site_disputest: return 965; + case DF_Type::history_event_site_retiredst: return 966; + case DF_Type::history_event_site_surrenderedst: return 967; + case DF_Type::history_event_sneak_into_sitest: return 968; + case DF_Type::history_event_spotted_leaving_sitest: return 969; + case DF_Type::history_event_squad_vs_squadst: return 970; + case DF_Type::history_event_tactical_situationst: return 971; + case DF_Type::history_event_tactical_situationst__T_tactics_flags: return 972; + case DF_Type::history_event_topicagreement_concludedst: return 973; + case DF_Type::history_event_topicagreement_madest: return 974; + case DF_Type::history_event_topicagreement_rejectedst: return 975; + case DF_Type::history_event_type: return 976; + case DF_Type::history_event_war_attacked_sitest: return 977; + case DF_Type::history_event_war_destroyed_sitest: return 978; + case DF_Type::history_event_war_field_battlest: return 979; + case DF_Type::history_event_war_peace_acceptedst: return 980; + case DF_Type::history_event_war_peace_rejectedst: return 981; + case DF_Type::history_event_war_plundered_sitest: return 982; + case DF_Type::history_event_war_site_new_leaderst: return 983; + case DF_Type::history_event_war_site_taken_overst: return 984; + case DF_Type::history_event_war_site_tribute_forcedst: return 985; + case DF_Type::history_event_war_site_tribute_forcedst__T_tribute_flags: return 986; + case DF_Type::history_event_written_content_composedst: return 987; + case DF_Type::history_hit_item: return 988; + case DF_Type::hive_flags: return 989; + case DF_Type::hospital_supplies: return 990; + case DF_Type::hospital_supplies__T_supplies_needed: return 991; + case DF_Type::identity: return 992; + case DF_Type::identity_unk_94: return 993; + case DF_Type::improvement_type: return 994; + case DF_Type::incident: return 995; + case DF_Type::incident__T_flags: return 996; + case DF_Type::incident__T_unk_v42_1: return 997; + case DF_Type::incident_hfid: return 998; + case DF_Type::incident_sub10: return 999; + case DF_Type::incident_sub6_performance: return 1000; + case DF_Type::incident_sub6_performance__T_participants: return 1001; + case DF_Type::incident_sub7: return 1002; + case DF_Type::incident_sub8: return 1003; + case DF_Type::incident_sub9: return 1004; + case DF_Type::inclusion_type: return 1005; + case DF_Type::init: return 1006; + case DF_Type::init_display: return 1007; + case DF_Type::init_display__T_windowed: return 1008; + case DF_Type::init_display_flags: return 1009; + case DF_Type::init_font: return 1010; + case DF_Type::init_font__T_use_ttf: return 1011; + case DF_Type::init_input: return 1012; + case DF_Type::init_input_flags: return 1013; + case DF_Type::init_media: return 1014; + case DF_Type::init_media_flags: return 1015; + case DF_Type::init_window: return 1016; + case DF_Type::init_window_flags: return 1017; + case DF_Type::inorganic_flags: return 1018; + case DF_Type::inorganic_raw: return 1019; + case DF_Type::inorganic_raw__T_environment: return 1020; + case DF_Type::inorganic_raw__T_environment_spec: return 1021; + case DF_Type::inorganic_raw__T_metal_ore: return 1022; + case DF_Type::inorganic_raw__T_thread_metal: return 1023; + case DF_Type::instrument_flags: return 1024; + case DF_Type::instrument_piece: return 1025; + case DF_Type::instrument_piece__T_flags: return 1026; + case DF_Type::instrument_register: return 1027; + case DF_Type::insurrection_outcome: return 1028; + case DF_Type::interaction: return 1029; + case DF_Type::interaction_effect: return 1030; + case DF_Type::interaction_effect__T_flags: return 1031; + case DF_Type::interaction_effect_add_syndromest: return 1032; + case DF_Type::interaction_effect_animatest: return 1033; + case DF_Type::interaction_effect_cleanst: return 1034; + case DF_Type::interaction_effect_contactst: return 1035; + case DF_Type::interaction_effect_hidest: return 1036; + case DF_Type::interaction_effect_location_hint: return 1037; + case DF_Type::interaction_effect_material_emissionst: return 1038; + case DF_Type::interaction_effect_resurrectst: return 1039; + case DF_Type::interaction_effect_type: return 1040; + case DF_Type::interaction_instance: return 1041; + case DF_Type::interaction_source: return 1042; + case DF_Type::interaction_source_attackst: return 1043; + case DF_Type::interaction_source_creature_actionst: return 1044; + case DF_Type::interaction_source_deityst: return 1045; + case DF_Type::interaction_source_disturbancest: return 1046; + case DF_Type::interaction_source_ingestionst: return 1047; + case DF_Type::interaction_source_regionst: return 1048; + case DF_Type::interaction_source_regionst__T_region_flags: return 1049; + case DF_Type::interaction_source_secretst: return 1050; + case DF_Type::interaction_source_secretst__T_learn_flags: return 1051; + case DF_Type::interaction_source_type: return 1052; + case DF_Type::interaction_source_underground_specialst: return 1053; + case DF_Type::interaction_source_usage_hint: return 1054; + case DF_Type::interaction_target: return 1055; + case DF_Type::interaction_target_corpsest: return 1056; + case DF_Type::interaction_target_creaturest: return 1057; + case DF_Type::interaction_target_info: return 1058; + case DF_Type::interaction_target_info__T_restrictions: return 1059; + case DF_Type::interaction_target_location_type: return 1060; + case DF_Type::interaction_target_locationst: return 1061; + case DF_Type::interaction_target_materialst: return 1062; + case DF_Type::interaction_target_materialst__T_restrictions: return 1063; + case DF_Type::interaction_target_type: return 1064; + case DF_Type::interface_breakdown_types: return 1065; + case DF_Type::interface_button: return 1066; + case DF_Type::interface_button_building_category_selectorst: return 1067; + case DF_Type::interface_button_building_custom_category_selectorst: return 1068; + case DF_Type::interface_button_building_material_selectorst: return 1069; + case DF_Type::interface_button_building_new_jobst: return 1070; + case DF_Type::interface_button_buildingst: return 1071; + case DF_Type::interface_button_construction_building_selectorst: return 1072; + case DF_Type::interface_button_construction_category_selectorst: return 1073; + case DF_Type::interface_button_construction_category_selectorst__T_category_id: return 1074; + case DF_Type::interface_button_construction_donest: return 1075; + case DF_Type::interface_button_constructionst: return 1076; + case DF_Type::interface_key: return 1077; + case DF_Type::interfacest: return 1078; + case DF_Type::invasion_info: return 1079; + case DF_Type::invasion_info__T_flags: return 1080; + case DF_Type::item: return 1081; + case DF_Type::item_actual: return 1082; + case DF_Type::item_ammost: return 1083; + case DF_Type::item_amuletst: return 1084; + case DF_Type::item_animaltrapst: return 1085; + case DF_Type::item_anvilst: return 1086; + case DF_Type::item_armorst: return 1087; + case DF_Type::item_armorstandst: return 1088; + case DF_Type::item_backpackst: return 1089; + case DF_Type::item_ballistaarrowheadst: return 1090; + case DF_Type::item_ballistapartsst: return 1091; + case DF_Type::item_barrelst: return 1092; + case DF_Type::item_barst: return 1093; + case DF_Type::item_bedst: return 1094; + case DF_Type::item_binst: return 1095; + case DF_Type::item_blocksst: return 1096; + case DF_Type::item_body_component: return 1097; + case DF_Type::item_body_component__T_appearance: return 1098; + case DF_Type::item_body_component__T_body: return 1099; + case DF_Type::item_body_component__T_bone1: return 1100; + case DF_Type::item_body_component__T_bone2: return 1101; + case DF_Type::item_body_component__T_corpse_flags: return 1102; + case DF_Type::item_bookst: return 1103; + case DF_Type::item_boulderst: return 1104; + case DF_Type::item_boxst: return 1105; + case DF_Type::item_braceletst: return 1106; + case DF_Type::item_branchst: return 1107; + case DF_Type::item_bucketst: return 1108; + case DF_Type::item_cabinetst: return 1109; + case DF_Type::item_cagest: return 1110; + case DF_Type::item_catapultpartsst: return 1111; + case DF_Type::item_chainst: return 1112; + case DF_Type::item_chairst: return 1113; + case DF_Type::item_cheesest: return 1114; + case DF_Type::item_clothst: return 1115; + case DF_Type::item_coffinst: return 1116; + case DF_Type::item_coinst: return 1117; + case DF_Type::item_constructed: return 1118; + case DF_Type::item_corpsepiecest: return 1119; + case DF_Type::item_corpsest: return 1120; + case DF_Type::item_crafted: return 1121; + case DF_Type::item_critter: return 1122; + case DF_Type::item_crownst: return 1123; + case DF_Type::item_crutchst: return 1124; + case DF_Type::item_doorst: return 1125; + case DF_Type::item_drinkst: return 1126; + case DF_Type::item_earringst: return 1127; + case DF_Type::item_eggst: return 1128; + case DF_Type::item_eggst__T_egg_flags: return 1129; + case DF_Type::item_figurinest: return 1130; + case DF_Type::item_filter_spec: return 1131; + case DF_Type::item_fish_rawst: return 1132; + case DF_Type::item_fishst: return 1133; + case DF_Type::item_flags: return 1134; + case DF_Type::item_flags2: return 1135; + case DF_Type::item_flaskst: return 1136; + case DF_Type::item_floodgatest: return 1137; + case DF_Type::item_foodst: return 1138; + case DF_Type::item_foodst__T_ingredients: return 1139; + case DF_Type::item_gemst: return 1140; + case DF_Type::item_globst: return 1141; + case DF_Type::item_glovesst: return 1142; + case DF_Type::item_gobletst: return 1143; + case DF_Type::item_gratest: return 1144; + case DF_Type::item_hatch_coverst: return 1145; + case DF_Type::item_helmst: return 1146; + case DF_Type::item_history_info: return 1147; + case DF_Type::item_instrumentst: return 1148; + case DF_Type::item_kill_info: return 1149; + case DF_Type::item_liquid: return 1150; + case DF_Type::item_liquid_miscst: return 1151; + case DF_Type::item_liquipowder: return 1152; + case DF_Type::item_magicness: return 1153; + case DF_Type::item_magicness_type: return 1154; + case DF_Type::item_matstate: return 1155; + case DF_Type::item_meatst: return 1156; + case DF_Type::item_millstonest: return 1157; + case DF_Type::item_orthopedic_castst: return 1158; + case DF_Type::item_pantsst: return 1159; + case DF_Type::item_petst: return 1160; + case DF_Type::item_petst__T_pet_flags: return 1161; + case DF_Type::item_pipe_sectionst: return 1162; + case DF_Type::item_plant_growthst: return 1163; + case DF_Type::item_plantst: return 1164; + case DF_Type::item_powder: return 1165; + case DF_Type::item_powder_miscst: return 1166; + case DF_Type::item_quality: return 1167; + case DF_Type::item_quernst: return 1168; + case DF_Type::item_quiverst: return 1169; + case DF_Type::item_remainsst: return 1170; + case DF_Type::item_ringst: return 1171; + case DF_Type::item_rockst: return 1172; + case DF_Type::item_roughst: return 1173; + case DF_Type::item_scepterst: return 1174; + case DF_Type::item_seedsst: return 1175; + case DF_Type::item_sheetst: return 1176; + case DF_Type::item_shieldst: return 1177; + case DF_Type::item_shoesst: return 1178; + case DF_Type::item_siegeammost: return 1179; + case DF_Type::item_skin_tannedst: return 1180; + case DF_Type::item_slabst: return 1181; + case DF_Type::item_smallgemst: return 1182; + case DF_Type::item_splintst: return 1183; + case DF_Type::item_statuest: return 1184; + case DF_Type::item_stockpile_ref: return 1185; + case DF_Type::item_tablest: return 1186; + case DF_Type::item_threadst: return 1187; + case DF_Type::item_toolst: return 1188; + case DF_Type::item_totemst: return 1189; + case DF_Type::item_toyst: return 1190; + case DF_Type::item_traction_benchst: return 1191; + case DF_Type::item_trapcompst: return 1192; + case DF_Type::item_trappartsst: return 1193; + case DF_Type::item_type: return 1194; + case DF_Type::item_verminst: return 1195; + case DF_Type::item_weaponrackst: return 1196; + case DF_Type::item_weaponst: return 1197; + case DF_Type::item_windowst: return 1198; + case DF_Type::item_woodst: return 1199; + case DF_Type::itemdef: return 1200; + case DF_Type::itemdef_ammost: return 1201; + case DF_Type::itemdef_armorst: return 1202; + case DF_Type::itemdef_foodst: return 1203; + case DF_Type::itemdef_glovesst: return 1204; + case DF_Type::itemdef_helmst: return 1205; + case DF_Type::itemdef_instrumentst: return 1206; + case DF_Type::itemdef_pantsst: return 1207; + case DF_Type::itemdef_shieldst: return 1208; + case DF_Type::itemdef_shoesst: return 1209; + case DF_Type::itemdef_siegeammost: return 1210; + case DF_Type::itemdef_toolst: return 1211; + case DF_Type::itemdef_toolst__T_default_improvements: return 1212; + case DF_Type::itemdef_toyst: return 1213; + case DF_Type::itemdef_trapcompst: return 1214; + case DF_Type::itemdef_weaponst: return 1215; + case DF_Type::itemimprovement: return 1216; + case DF_Type::itemimprovement_art_imagest: return 1217; + case DF_Type::itemimprovement_bandsst: return 1218; + case DF_Type::itemimprovement_clothst: return 1219; + case DF_Type::itemimprovement_coveredst: return 1220; + case DF_Type::itemimprovement_coveredst__T_cover_flags: return 1221; + case DF_Type::itemimprovement_illustrationst: return 1222; + case DF_Type::itemimprovement_instrument_piecest: return 1223; + case DF_Type::itemimprovement_itemspecificst: return 1224; + case DF_Type::itemimprovement_pagesst: return 1225; + case DF_Type::itemimprovement_rings_hangingst: return 1226; + case DF_Type::itemimprovement_sewn_imagest: return 1227; + case DF_Type::itemimprovement_sewn_imagest__T_cloth: return 1228; + case DF_Type::itemimprovement_specific_type: return 1229; + case DF_Type::itemimprovement_spikesst: return 1230; + case DF_Type::itemimprovement_threadst: return 1231; + case DF_Type::itemimprovement_writingst: return 1232; + case DF_Type::items_other_id: return 1233; + case DF_Type::job: return 1234; + case DF_Type::job_art_specification: return 1235; + case DF_Type::job_art_specification__T_type: return 1236; + case DF_Type::job_flags: return 1237; + case DF_Type::job_handler: return 1238; + case DF_Type::job_handler__T_anon_1: return 1239; + case DF_Type::job_handler__T_postings: return 1240; + case DF_Type::job_handler__T_postings__T_flags: return 1241; + case DF_Type::job_item: return 1242; + case DF_Type::job_item_filter: return 1243; + case DF_Type::job_item_flags1: return 1244; + case DF_Type::job_item_flags2: return 1245; + case DF_Type::job_item_flags3: return 1246; + case DF_Type::job_item_ref: return 1247; + case DF_Type::job_item_ref__T_role: return 1248; + case DF_Type::job_item_vector_id: return 1249; + case DF_Type::job_list_link: return 1250; + case DF_Type::job_material_category: return 1251; + case DF_Type::job_skill: return 1252; + case DF_Type::job_skill_class: return 1253; + case DF_Type::job_subtype_surgery: return 1254; + case DF_Type::job_type: return 1255; + case DF_Type::job_type_class: return 1256; + case DF_Type::KeybindingScreen: return 1257; + case DF_Type::KeybindingScreen__T_mode: return 1258; + case DF_Type::kitchen_exc_type: return 1259; + case DF_Type::kitchen_pref_flag: return 1260; + case DF_Type::knowledge_scholar_category_flag: return 1261; + case DF_Type::knowledge_scholar_category_flag__T_flags: return 1262; + case DF_Type::knowledge_scholar_flags_0: return 1263; + case DF_Type::knowledge_scholar_flags_1: return 1264; + case DF_Type::knowledge_scholar_flags_10: return 1265; + case DF_Type::knowledge_scholar_flags_11: return 1266; + case DF_Type::knowledge_scholar_flags_12: return 1267; + case DF_Type::knowledge_scholar_flags_13: return 1268; + case DF_Type::knowledge_scholar_flags_2: return 1269; + case DF_Type::knowledge_scholar_flags_3: return 1270; + case DF_Type::knowledge_scholar_flags_4: return 1271; + case DF_Type::knowledge_scholar_flags_5: return 1272; + case DF_Type::knowledge_scholar_flags_6: return 1273; + case DF_Type::knowledge_scholar_flags_7: return 1274; + case DF_Type::knowledge_scholar_flags_8: return 1275; + case DF_Type::knowledge_scholar_flags_9: return 1276; + case DF_Type::language_name: return 1277; + case DF_Type::language_name_category: return 1278; + case DF_Type::language_symbol: return 1279; + case DF_Type::language_translation: return 1280; + case DF_Type::language_word: return 1281; + case DF_Type::language_word_flags: return 1282; + case DF_Type::language_word_table: return 1283; + case DF_Type::large_integer: return 1284; + case DF_Type::large_integer___struct0: return 1285; + case DF_Type::large_integer__T_u: return 1286; + case DF_Type::layer_object: return 1287; + case DF_Type::layer_object_buttonst: return 1288; + case DF_Type::layer_object_listst: return 1289; + case DF_Type::lever_target_type: return 1290; + case DF_Type::loadgame_save_info: return 1291; + case DF_Type::local_population: return 1292; + case DF_Type::local_population___union6: return 1293; + case DF_Type::local_population__T_flags: return 1294; + case DF_Type::location_scribe_jobs: return 1295; + case DF_Type::machine: return 1296; + case DF_Type::machine__T_components: return 1297; + case DF_Type::machine__T_flags: return 1298; + case DF_Type::machine_conn_modes: return 1299; + case DF_Type::machine_handler: return 1300; + case DF_Type::machine_info: return 1301; + case DF_Type::machine_info__T_flags: return 1302; + case DF_Type::machine_standardst: return 1303; + case DF_Type::machine_tile_set: return 1304; + case DF_Type::machine_type: return 1305; + case DF_Type::MacroScreenLoad: return 1306; + case DF_Type::MacroScreenSave: return 1307; + case DF_Type::manager_order: return 1308; + case DF_Type::manager_order__T_frequency: return 1309; + case DF_Type::manager_order_condition_item: return 1310; + case DF_Type::manager_order_condition_item__T_compare_type: return 1311; + case DF_Type::manager_order_condition_order: return 1312; + case DF_Type::manager_order_condition_order__T_condition: return 1313; + case DF_Type::manager_order_status: return 1314; + case DF_Type::manager_order_template: return 1315; + case DF_Type::mandate: return 1316; + case DF_Type::mandate__T_mode: return 1317; + case DF_Type::mandate__T_punishment: return 1318; + case DF_Type::map_block: return 1319; + case DF_Type::map_block_column: return 1320; + case DF_Type::map_block_column__T_unmined_glyphs: return 1321; + case DF_Type::map_renderer: return 1322; + case DF_Type::map_renderer__T_anon_4: return 1323; + case DF_Type::map_viewport: return 1324; + case DF_Type::masterpiece_loss_type: return 1325; + case DF_Type::material: return 1326; + case DF_Type::material_common: return 1327; + case DF_Type::material_common__T_hardens_with_water: return 1328; + case DF_Type::material_common__T_heat: return 1329; + case DF_Type::material_common__T_reaction_product: return 1330; + case DF_Type::material_common__T_strength: return 1331; + case DF_Type::material_flags: return 1332; + case DF_Type::material_template: return 1333; + case DF_Type::material_vec_ref: return 1334; + case DF_Type::matgloss_list: return 1335; + case DF_Type::matter_state: return 1336; + case DF_Type::meeting_context: return 1337; + case DF_Type::meeting_diplomat_info: return 1338; + case DF_Type::meeting_diplomat_info__T_flags: return 1339; + case DF_Type::meeting_event: return 1340; + case DF_Type::meeting_event_type: return 1341; + case DF_Type::meeting_topic: return 1342; + case DF_Type::meeting_variable: return 1343; + case DF_Type::mental_attribute_type: return 1344; + case DF_Type::mental_picture: return 1345; + case DF_Type::mental_picture_element_hfst: return 1346; + case DF_Type::mental_picture_element_regionst: return 1347; + case DF_Type::mental_picture_element_sitest: return 1348; + case DF_Type::mental_picture_element_type: return 1349; + case DF_Type::mental_picture_elementst: return 1350; + case DF_Type::mental_picture_property_actionst: return 1351; + case DF_Type::mental_picture_property_adjectivest: return 1352; + case DF_Type::mental_picture_property_color_patternst: return 1353; + case DF_Type::mental_picture_property_datest: return 1354; + case DF_Type::mental_picture_property_emotionst: return 1355; + case DF_Type::mental_picture_property_positionst: return 1356; + case DF_Type::mental_picture_property_shapest: return 1357; + case DF_Type::mental_picture_property_timest: return 1358; + case DF_Type::mental_picture_property_toolst: return 1359; + case DF_Type::mental_picture_property_type: return 1360; + case DF_Type::mental_picture_propertyst: return 1361; + case DF_Type::misc_trait_type: return 1362; + case DF_Type::mission: return 1363; + case DF_Type::mission__T_details: return 1364; + case DF_Type::mission__T_details__T_raid: return 1365; + case DF_Type::mission__T_details__T_raid__T_raid_flags: return 1366; + case DF_Type::mission__T_details__T_raid__T_raid_type: return 1367; + case DF_Type::mission__T_details__T_recovery: return 1368; + case DF_Type::mission__T_details__T_request: return 1369; + case DF_Type::mission__T_details__T_rescue: return 1370; + case DF_Type::mission__T_type: return 1371; + case DF_Type::mission_campaign_report: return 1372; + case DF_Type::mission_report: return 1373; + case DF_Type::mood_type: return 1374; + case DF_Type::mountain_peak_flags: return 1375; + case DF_Type::moving_party: return 1376; + case DF_Type::moving_party__T_members: return 1377; + case DF_Type::musical_form: return 1378; + case DF_Type::musical_form__T_flags: return 1379; + case DF_Type::musical_form_feature: return 1380; + case DF_Type::musical_form_instruments: return 1381; + case DF_Type::musical_form_instruments__T_substitutions: return 1382; + case DF_Type::musical_form_interval: return 1383; + case DF_Type::musical_form_interval__T_flags: return 1384; + case DF_Type::musical_form_melodies: return 1385; + case DF_Type::musical_form_pitch_style: return 1386; + case DF_Type::musical_form_purpose: return 1387; + case DF_Type::musical_form_style: return 1388; + case DF_Type::musical_form_sub4: return 1389; + case DF_Type::musical_form_vocals: return 1390; + case DF_Type::need_type: return 1391; + case DF_Type::nemesis_flags: return 1392; + case DF_Type::nemesis_offload: return 1393; + case DF_Type::nemesis_record: return 1394; + case DF_Type::occasion_schedule_feature: return 1395; + case DF_Type::occasion_schedule_type: return 1396; + case DF_Type::occupation: return 1397; + case DF_Type::occupation_sub1: return 1398; + case DF_Type::occupation_type: return 1399; + case DF_Type::ocean_wave: return 1400; + case DF_Type::organic_mat_category: return 1401; + case DF_Type::orientation_flags: return 1402; + case DF_Type::pants_flags: return 1403; + case DF_Type::part_of_speech: return 1404; + case DF_Type::party_info: return 1405; + case DF_Type::pattern_type: return 1406; + case DF_Type::performance_event_type: return 1407; + case DF_Type::performance_participant_type: return 1408; + case DF_Type::performance_play_orderst: return 1409; + case DF_Type::performance_play_orderst__T_anon_4: return 1410; + case DF_Type::personality_facet_type: return 1411; + case DF_Type::physical_attribute_type: return 1412; + case DF_Type::pitch_choice_type: return 1413; + case DF_Type::plant: return 1414; + case DF_Type::plant__T_damage_flags: return 1415; + case DF_Type::plant_flags: return 1416; + case DF_Type::plant_growth: return 1417; + case DF_Type::plant_growth__T_behavior: return 1418; + case DF_Type::plant_growth__T_locations: return 1419; + case DF_Type::plant_growth_print: return 1420; + case DF_Type::plant_raw: return 1421; + case DF_Type::plant_raw__T_colors: return 1422; + case DF_Type::plant_raw__T_material_defs: return 1423; + case DF_Type::plant_raw__T_stockpile_growth_flags: return 1424; + case DF_Type::plant_raw__T_tiles: return 1425; + case DF_Type::plant_raw_flags: return 1426; + case DF_Type::plant_tree_info: return 1427; + case DF_Type::plant_tree_tile: return 1428; + case DF_Type::poetic_form: return 1429; + case DF_Type::poetic_form___union0: return 1430; + case DF_Type::poetic_form__T_flags: return 1431; + case DF_Type::poetic_form_action: return 1432; + case DF_Type::poetic_form_additional_feature: return 1433; + case DF_Type::poetic_form_caesura_position: return 1434; + case DF_Type::poetic_form_feature: return 1435; + case DF_Type::poetic_form_mood: return 1436; + case DF_Type::poetic_form_part: return 1437; + case DF_Type::poetic_form_part__T_flags: return 1438; + case DF_Type::poetic_form_part__T_line_subject_targets: return 1439; + case DF_Type::poetic_form_pattern: return 1440; + case DF_Type::poetic_form_perspective: return 1441; + case DF_Type::poetic_form_perspective__T_type: return 1442; + case DF_Type::poetic_form_subject: return 1443; + case DF_Type::popup_message: return 1444; + case DF_Type::power_info: return 1445; + case DF_Type::pressure_plate_info: return 1446; + case DF_Type::pressure_plate_info__T_flags: return 1447; + case DF_Type::profession: return 1448; + case DF_Type::proj_itemst: return 1449; + case DF_Type::proj_list_link: return 1450; + case DF_Type::proj_magicst: return 1451; + case DF_Type::proj_unitst: return 1452; + case DF_Type::projectile: return 1453; + case DF_Type::projectile_flags: return 1454; + case DF_Type::projectile_type: return 1455; + case DF_Type::punishment: return 1456; + case DF_Type::reaction: return 1457; + case DF_Type::reaction__T_building: return 1458; + case DF_Type::reaction_category: return 1459; + case DF_Type::reaction_description: return 1460; + case DF_Type::reaction_flags: return 1461; + case DF_Type::reaction_product: return 1462; + case DF_Type::reaction_product_improvement_flags: return 1463; + case DF_Type::reaction_product_item_flags: return 1464; + case DF_Type::reaction_product_item_improvementst: return 1465; + case DF_Type::reaction_product_item_improvementst__T_get_material: return 1466; + case DF_Type::reaction_product_itemst: return 1467; + case DF_Type::reaction_product_itemst__T_get_material: return 1468; + case DF_Type::reaction_product_type: return 1469; + case DF_Type::reaction_reagent: return 1470; + case DF_Type::reaction_reagent_flags: return 1471; + case DF_Type::reaction_reagent_itemst: return 1472; + case DF_Type::reaction_reagent_type: return 1473; + case DF_Type::region_block_event_sphere_fieldst: return 1474; + case DF_Type::region_block_event_type: return 1475; + case DF_Type::region_block_eventst: return 1476; + case DF_Type::region_map_entry: return 1477; + case DF_Type::region_map_entry__T_clouds: return 1478; + case DF_Type::region_map_entry__T_wind: return 1479; + case DF_Type::region_map_entry_flags: return 1480; + case DF_Type::renderer: return 1481; + case DF_Type::report: return 1482; + case DF_Type::report__T_flags: return 1483; + case DF_Type::reputation_type: return 1484; + case DF_Type::resource_allotment_data: return 1485; + case DF_Type::resource_allotment_data__T_unk_654: return 1486; + case DF_Type::resource_allotment_specifier: return 1487; + case DF_Type::resource_allotment_specifier_ammost: return 1488; + case DF_Type::resource_allotment_specifier_anvilst: return 1489; + case DF_Type::resource_allotment_specifier_armor_bodyst: return 1490; + case DF_Type::resource_allotment_specifier_armor_bootsst: return 1491; + case DF_Type::resource_allotment_specifier_armor_glovesst: return 1492; + case DF_Type::resource_allotment_specifier_armor_helmst: return 1493; + case DF_Type::resource_allotment_specifier_armor_pantsst: return 1494; + case DF_Type::resource_allotment_specifier_backpackst: return 1495; + case DF_Type::resource_allotment_specifier_bagst: return 1496; + case DF_Type::resource_allotment_specifier_bedst: return 1497; + case DF_Type::resource_allotment_specifier_bonest: return 1498; + case DF_Type::resource_allotment_specifier_boxst: return 1499; + case DF_Type::resource_allotment_specifier_cabinetst: return 1500; + case DF_Type::resource_allotment_specifier_chairst: return 1501; + case DF_Type::resource_allotment_specifier_cheesest: return 1502; + case DF_Type::resource_allotment_specifier_clothing_bodyst: return 1503; + case DF_Type::resource_allotment_specifier_clothing_bootsst: return 1504; + case DF_Type::resource_allotment_specifier_clothing_glovesst: return 1505; + case DF_Type::resource_allotment_specifier_clothing_helmst: return 1506; + case DF_Type::resource_allotment_specifier_clothing_pantsst: return 1507; + case DF_Type::resource_allotment_specifier_clothst: return 1508; + case DF_Type::resource_allotment_specifier_craftsst: return 1509; + case DF_Type::resource_allotment_specifier_cropst: return 1510; + case DF_Type::resource_allotment_specifier_extractst: return 1511; + case DF_Type::resource_allotment_specifier_flaskst: return 1512; + case DF_Type::resource_allotment_specifier_gemsst: return 1513; + case DF_Type::resource_allotment_specifier_hornst: return 1514; + case DF_Type::resource_allotment_specifier_leatherst: return 1515; + case DF_Type::resource_allotment_specifier_meatst: return 1516; + case DF_Type::resource_allotment_specifier_metalst: return 1517; + case DF_Type::resource_allotment_specifier_pearlst: return 1518; + case DF_Type::resource_allotment_specifier_powderst: return 1519; + case DF_Type::resource_allotment_specifier_quiverst: return 1520; + case DF_Type::resource_allotment_specifier_shellst: return 1521; + case DF_Type::resource_allotment_specifier_skinst: return 1522; + case DF_Type::resource_allotment_specifier_soapst: return 1523; + case DF_Type::resource_allotment_specifier_stonest: return 1524; + case DF_Type::resource_allotment_specifier_tablest: return 1525; + case DF_Type::resource_allotment_specifier_tallowst: return 1526; + case DF_Type::resource_allotment_specifier_threadst: return 1527; + case DF_Type::resource_allotment_specifier_toothst: return 1528; + case DF_Type::resource_allotment_specifier_type: return 1529; + case DF_Type::resource_allotment_specifier_weapon_meleest: return 1530; + case DF_Type::resource_allotment_specifier_weapon_rangedst: return 1531; + case DF_Type::resource_allotment_specifier_woodst: return 1532; + case DF_Type::rhythm: return 1533; + case DF_Type::rhythm_sub1: return 1534; + case DF_Type::rhythm_sub1__T_anon_1: return 1535; + case DF_Type::rhythm_sub2: return 1536; + case DF_Type::room_rent_info: return 1537; + case DF_Type::room_rent_info__T_flags: return 1538; + case DF_Type::route_stockpile_link: return 1539; + case DF_Type::route_stockpile_link__T_mode: return 1540; + case DF_Type::scale: return 1541; + case DF_Type::scale__T_unk1: return 1542; + case DF_Type::scale_sub1: return 1543; + case DF_Type::scale_sub2: return 1544; + case DF_Type::schedule_info: return 1545; + case DF_Type::schedule_slot: return 1546; + case DF_Type::screw_pump_direction: return 1547; + case DF_Type::scribejob: return 1548; + case DF_Type::script_step_conditionalst: return 1549; + case DF_Type::script_step_conditionalst__T_condition: return 1550; + case DF_Type::script_step_constructtopiclistst: return 1551; + case DF_Type::script_step_dipeventst: return 1552; + case DF_Type::script_step_diphistoryst: return 1553; + case DF_Type::script_step_discussst: return 1554; + case DF_Type::script_step_eventst: return 1555; + case DF_Type::script_step_invasionst: return 1556; + case DF_Type::script_step_setvarst: return 1557; + case DF_Type::script_step_simpleactionst: return 1558; + case DF_Type::script_step_textviewerst: return 1559; + case DF_Type::script_step_topicdiscussionst: return 1560; + case DF_Type::script_stepst: return 1561; + case DF_Type::script_var_longst: return 1562; + case DF_Type::script_var_unitst: return 1563; + case DF_Type::script_varst: return 1564; + case DF_Type::setup_character_info: return 1565; + case DF_Type::setup_character_info__T_status: return 1566; + case DF_Type::shoes_flags: return 1567; + case DF_Type::shop_type: return 1568; + case DF_Type::siegeengine_type: return 1569; + case DF_Type::site_building_item: return 1570; + case DF_Type::site_dispute_type: return 1571; + case DF_Type::site_realization_building: return 1572; + case DF_Type::site_realization_building__T_unk_4c: return 1573; + case DF_Type::site_realization_building_info_castle_courtyardst: return 1574; + case DF_Type::site_realization_building_info_castle_towerst: return 1575; + case DF_Type::site_realization_building_info_castle_wallst: return 1576; + case DF_Type::site_realization_building_info_hillock_housest: return 1577; + case DF_Type::site_realization_building_info_market_squarest: return 1578; + case DF_Type::site_realization_building_info_shop_housest: return 1579; + case DF_Type::site_realization_building_info_tree_housest: return 1580; + case DF_Type::site_realization_building_info_trenchesst: return 1581; + case DF_Type::site_realization_building_info_trenchesst__T_spokes: return 1582; + case DF_Type::site_realization_building_infost: return 1583; + case DF_Type::site_realization_building_type: return 1584; + case DF_Type::site_realization_crossroads: return 1585; + case DF_Type::site_reputation_info: return 1586; + case DF_Type::site_reputation_report: return 1587; + case DF_Type::site_shop_type: return 1588; + case DF_Type::site_type: return 1589; + case DF_Type::skill_rating: return 1590; + case DF_Type::slab_engraving_type: return 1591; + case DF_Type::sound_production_type: return 1592; + case DF_Type::spatter: return 1593; + case DF_Type::spatter__T_flags: return 1594; + case DF_Type::spatter_common: return 1595; + case DF_Type::spatter_common__T_base_flags: return 1596; + case DF_Type::special_mat_table: return 1597; + case DF_Type::specific_ref: return 1598; + case DF_Type::specific_ref___union2: return 1599; + case DF_Type::specific_ref__T_arg2: return 1600; + case DF_Type::specific_ref_type: return 1601; + case DF_Type::sphere_type: return 1602; + case DF_Type::spoils_report: return 1603; + case DF_Type::squad: return 1604; + case DF_Type::squad__T_rooms: return 1605; + case DF_Type::squad_ammo_spec: return 1606; + case DF_Type::squad_ammo_spec__T_flags: return 1607; + case DF_Type::squad_event_type: return 1608; + case DF_Type::squad_order: return 1609; + case DF_Type::squad_order_cannot_reason: return 1610; + case DF_Type::squad_order_cause_trouble_for_entityst: return 1611; + case DF_Type::squad_order_defend_burrowsst: return 1612; + case DF_Type::squad_order_drive_armies_from_sitest: return 1613; + case DF_Type::squad_order_drive_entity_off_sitest: return 1614; + case DF_Type::squad_order_kill_hfst: return 1615; + case DF_Type::squad_order_kill_listst: return 1616; + case DF_Type::squad_order_movest: return 1617; + case DF_Type::squad_order_patrol_routest: return 1618; + case DF_Type::squad_order_raid_sitest: return 1619; + case DF_Type::squad_order_rescue_hfst: return 1620; + case DF_Type::squad_order_retrieve_artifactst: return 1621; + case DF_Type::squad_order_trainst: return 1622; + case DF_Type::squad_order_type: return 1623; + case DF_Type::squad_position: return 1624; + case DF_Type::squad_schedule_entry: return 1625; + case DF_Type::squad_schedule_order: return 1626; + case DF_Type::squad_uniform_spec: return 1627; + case DF_Type::squad_use_flags: return 1628; + case DF_Type::stockpile_category: return 1629; + case DF_Type::stockpile_group_set: return 1630; + case DF_Type::stockpile_links: return 1631; + case DF_Type::stockpile_list: return 1632; + case DF_Type::stockpile_settings: return 1633; + case DF_Type::stockpile_settings__T_ammo: return 1634; + case DF_Type::stockpile_settings__T_animals: return 1635; + case DF_Type::stockpile_settings__T_armor: return 1636; + case DF_Type::stockpile_settings__T_bars_blocks: return 1637; + case DF_Type::stockpile_settings__T_cloth: return 1638; + case DF_Type::stockpile_settings__T_coins: return 1639; + case DF_Type::stockpile_settings__T_finished_goods: return 1640; + case DF_Type::stockpile_settings__T_food: return 1641; + case DF_Type::stockpile_settings__T_furniture: return 1642; + case DF_Type::stockpile_settings__T_gems: return 1643; + case DF_Type::stockpile_settings__T_leather: return 1644; + case DF_Type::stockpile_settings__T_ore: return 1645; + case DF_Type::stockpile_settings__T_refuse: return 1646; + case DF_Type::stockpile_settings__T_sheet: return 1647; + case DF_Type::stockpile_settings__T_stone: return 1648; + case DF_Type::stockpile_settings__T_weapons: return 1649; + case DF_Type::stockpile_settings__T_wood: return 1650; + case DF_Type::stop_depart_condition: return 1651; + case DF_Type::stop_depart_condition__T_direction: return 1652; + case DF_Type::stop_depart_condition__T_flags: return 1653; + case DF_Type::stop_depart_condition__T_mode: return 1654; + case DF_Type::strain_type: return 1655; + case DF_Type::stratus_type: return 1656; + case DF_Type::syndrome: return 1657; + case DF_Type::syndrome_flags: return 1658; + case DF_Type::T_cursor: return 1659; + case DF_Type::T_selection_rect: return 1660; + case DF_Type::tactical_situation: return 1661; + case DF_Type::talk_choice: return 1662; + case DF_Type::talk_choice__T_unk: return 1663; + case DF_Type::talk_choice_type: return 1664; + case DF_Type::temperaturest: return 1665; + case DF_Type::text_info_element_longst: return 1666; + case DF_Type::text_info_element_stringst: return 1667; + case DF_Type::text_info_elementst: return 1668; + case DF_Type::texture_handler: return 1669; + case DF_Type::tile_bitmask: return 1670; + case DF_Type::tile_building_occ: return 1671; + case DF_Type::tile_designation: return 1672; + case DF_Type::tile_dig_designation: return 1673; + case DF_Type::tile_liquid: return 1674; + case DF_Type::tile_liquid_flow: return 1675; + case DF_Type::tile_liquid_flow_dir: return 1676; + case DF_Type::tile_occupancy: return 1677; + case DF_Type::tile_page: return 1678; + case DF_Type::tile_traffic: return 1679; + case DF_Type::tiletype: return 1680; + case DF_Type::tiletype_material: return 1681; + case DF_Type::tiletype_shape: return 1682; + case DF_Type::tiletype_shape_basic: return 1683; + case DF_Type::tiletype_special: return 1684; + case DF_Type::tiletype_variant: return 1685; + case DF_Type::timbre_type: return 1686; + case DF_Type::timed_event: return 1687; + case DF_Type::timed_event_type: return 1688; + case DF_Type::tissue: return 1689; + case DF_Type::tissue_flags: return 1690; + case DF_Type::tissue_style_raw: return 1691; + case DF_Type::tissue_style_type: return 1692; + case DF_Type::tissue_template: return 1693; + case DF_Type::tool_flags: return 1694; + case DF_Type::tool_uses: return 1695; + case DF_Type::tower_shape: return 1696; + case DF_Type::toy_flags: return 1697; + case DF_Type::training_assignment: return 1698; + case DF_Type::training_assignment__T_flags: return 1699; + case DF_Type::training_knowledge_level: return 1700; + case DF_Type::trap_type: return 1701; + case DF_Type::trapcomp_flags: return 1702; + case DF_Type::tree_house_type: return 1703; + case DF_Type::tuning_type: return 1704; + case DF_Type::ui: return 1705; + case DF_Type::ui__T_alerts: return 1706; + case DF_Type::ui__T_alerts__T_list: return 1707; + case DF_Type::ui__T_becoming_capital: return 1708; + case DF_Type::ui__T_burrows: return 1709; + case DF_Type::ui__T_economy_prices: return 1710; + case DF_Type::ui__T_economy_prices__T_price_adjustment: return 1711; + case DF_Type::ui__T_economy_prices__T_price_setter: return 1712; + case DF_Type::ui__T_equipment: return 1713; + case DF_Type::ui__T_equipment__T_update: return 1714; + case DF_Type::ui__T_hauling: return 1715; + case DF_Type::ui__T_invasions: return 1716; + case DF_Type::ui__T_kitchen: return 1717; + case DF_Type::ui__T_main: return 1718; + case DF_Type::ui__T_main__T_dead_citizens: return 1719; + case DF_Type::ui__T_map_edge: return 1720; + case DF_Type::ui__T_squads: return 1721; + case DF_Type::ui__T_stockpile: return 1722; + case DF_Type::ui__T_tax_collection: return 1723; + case DF_Type::ui__T_unk23c8_flags: return 1724; + case DF_Type::ui__T_unk2a8c: return 1725; + case DF_Type::ui__T_waypoints: return 1726; + case DF_Type::ui__T_waypoints__T_points: return 1727; + case DF_Type::ui__T_waypoints__T_routes: return 1728; + case DF_Type::ui_advmode: return 1729; + case DF_Type::ui_advmode__T_assume_identity: return 1730; + case DF_Type::ui_advmode__T_companions: return 1731; + case DF_Type::ui_advmode__T_conversation: return 1732; + case DF_Type::ui_advmode__T_conversation__T_choices: return 1733; + case DF_Type::ui_advmode__T_conversation__T_targets: return 1734; + case DF_Type::ui_advmode__T_conversation__T_targets__T_type: return 1735; + case DF_Type::ui_advmode__T_interactions: return 1736; + case DF_Type::ui_advmode__T_show_menu: return 1737; + case DF_Type::ui_advmode__T_travel_right_map: return 1738; + case DF_Type::ui_advmode__T_unk_3124: return 1739; + case DF_Type::ui_advmode__T_unk_3170: return 1740; + case DF_Type::ui_advmode__T_unk_3170__T_unk_2: return 1741; + case DF_Type::ui_advmode__T_unk_v40_1: return 1742; + case DF_Type::ui_advmode__T_unk_v40_2: return 1743; + case DF_Type::ui_advmode__T_unk_v40_3: return 1744; + case DF_Type::ui_advmode__T_unk_v40_4: return 1745; + case DF_Type::ui_advmode__T_unk_v40_4__T_unk_v40_4a: return 1746; + case DF_Type::ui_advmode__T_unk_v40_5: return 1747; + case DF_Type::ui_advmode__T_unk_v42_1: return 1748; + case DF_Type::ui_advmode_menu: return 1749; + case DF_Type::ui_build_item_req: return 1750; + case DF_Type::ui_build_selector: return 1751; + case DF_Type::ui_hotkey: return 1752; + case DF_Type::ui_hotkey___union4: return 1753; + case DF_Type::ui_hotkey__T_cmd: return 1754; + case DF_Type::ui_look_list: return 1755; + case DF_Type::ui_look_list__T_items: return 1756; + case DF_Type::ui_look_list__T_items___union3: return 1757; + case DF_Type::ui_look_list__T_items__T_type: return 1758; + case DF_Type::ui_sidebar_menus: return 1759; + case DF_Type::ui_sidebar_menus__T_barracks: return 1760; + case DF_Type::ui_sidebar_menus__T_building: return 1761; + case DF_Type::ui_sidebar_menus__T_command_line: return 1762; + case DF_Type::ui_sidebar_menus__T_designation: return 1763; + case DF_Type::ui_sidebar_menus__T_designation__T_mine_mode: return 1764; + case DF_Type::ui_sidebar_menus__T_hospital: return 1765; + case DF_Type::ui_sidebar_menus__T_job_details: return 1766; + case DF_Type::ui_sidebar_menus__T_location: return 1767; + case DF_Type::ui_sidebar_menus__T_minimap: return 1768; + case DF_Type::ui_sidebar_menus__T_unit: return 1769; + case DF_Type::ui_sidebar_menus__T_unit__T_expel_error: return 1770; + case DF_Type::ui_sidebar_menus__T_unit_cursor: return 1771; + case DF_Type::ui_sidebar_menus__T_unit_skills: return 1772; + case DF_Type::ui_sidebar_menus__T_workshop_job: return 1773; + case DF_Type::ui_sidebar_menus__T_zone: return 1774; + case DF_Type::ui_sidebar_menus__T_zone__T_mode: return 1775; + case DF_Type::ui_sidebar_mode: return 1776; + case DF_Type::ui_unit_view_mode: return 1777; + case DF_Type::ui_unit_view_mode__T_value: return 1778; + case DF_Type::uniform_category: return 1779; + case DF_Type::uniform_flags: return 1780; + case DF_Type::uniform_indiv_choice: return 1781; + case DF_Type::unit: return 1782; + case DF_Type::unit__T_animal: return 1783; + case DF_Type::unit__T_appearance: return 1784; + case DF_Type::unit__T_body: return 1785; + case DF_Type::unit__T_counters: return 1786; + case DF_Type::unit__T_counters2: return 1787; + case DF_Type::unit__T_counters__T_soldier_mood: return 1788; + case DF_Type::unit__T_curse: return 1789; + case DF_Type::unit__T_enemy: return 1790; + case DF_Type::unit__T_enemy__T_undead: return 1791; + case DF_Type::unit__T_enemy__T_unk_448: return 1792; + case DF_Type::unit__T_enemy__T_unk_448__T_unk: return 1793; + case DF_Type::unit__T_enemy__T_unk_44c: return 1794; + case DF_Type::unit__T_enemy__T_unk_v40_sub3: return 1795; + case DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_2: return 1796; + case DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_6: return 1797; + case DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7: return 1798; + case DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7__T_unk_sub1: return 1799; + case DF_Type::unit__T_enemy__T_witness_reports: return 1800; + case DF_Type::unit__T_job: return 1801; + case DF_Type::unit__T_meeting: return 1802; + case DF_Type::unit__T_meeting__T_state: return 1803; + case DF_Type::unit__T_military: return 1804; + case DF_Type::unit__T_military__T_pickup_flags: return 1805; + case DF_Type::unit__T_opponent: return 1806; + case DF_Type::unit__T_path: return 1807; + case DF_Type::unit__T_reports: return 1808; + case DF_Type::unit__T_status: return 1809; + case DF_Type::unit__T_status2: return 1810; + case DF_Type::unit__T_status__T_eat_history: return 1811; + case DF_Type::unit__T_status__T_eat_history__T_drink: return 1812; + case DF_Type::unit__T_status__T_eat_history__T_food: return 1813; + case DF_Type::unit__T_syndromes: return 1814; + case DF_Type::unit__T_unknown7: return 1815; + case DF_Type::unit_action: return 1816; + case DF_Type::unit_action__T_data: return 1817; + case DF_Type::unit_action__T_data__T_attack: return 1818; + case DF_Type::unit_action__T_data__T_attack__T_flags: return 1819; + case DF_Type::unit_action__T_data__T_attack__T_unk_4: return 1820; + case DF_Type::unit_action__T_data__T_block: return 1821; + case DF_Type::unit_action__T_data__T_climb: return 1822; + case DF_Type::unit_action__T_data__T_dodge: return 1823; + case DF_Type::unit_action__T_data__T_holditem: return 1824; + case DF_Type::unit_action__T_data__T_holdterrain: return 1825; + case DF_Type::unit_action__T_data__T_job: return 1826; + case DF_Type::unit_action__T_data__T_job2: return 1827; + case DF_Type::unit_action__T_data__T_jump: return 1828; + case DF_Type::unit_action__T_data__T_liedown: return 1829; + case DF_Type::unit_action__T_data__T_move: return 1830; + case DF_Type::unit_action__T_data__T_move__T_flags: return 1831; + case DF_Type::unit_action__T_data__T_parry: return 1832; + case DF_Type::unit_action__T_data__T_pushobject: return 1833; + case DF_Type::unit_action__T_data__T_recover: return 1834; + case DF_Type::unit_action__T_data__T_releaseitem: return 1835; + case DF_Type::unit_action__T_data__T_releaseterrain: return 1836; + case DF_Type::unit_action__T_data__T_standup: return 1837; + case DF_Type::unit_action__T_data__T_suckblood: return 1838; + case DF_Type::unit_action__T_data__T_talk: return 1839; + case DF_Type::unit_action__T_data__T_unsteady: return 1840; + case DF_Type::unit_action_type: return 1841; + case DF_Type::unit_appearance: return 1842; + case DF_Type::unit_attribute: return 1843; + case DF_Type::unit_bp_health_flags: return 1844; + case DF_Type::unit_chunk: return 1845; + case DF_Type::unit_chunk__T_units: return 1846; + case DF_Type::unit_coin_debt: return 1847; + case DF_Type::unit_complaint: return 1848; + case DF_Type::unit_complaint__T_type: return 1849; + case DF_Type::unit_dance_skill: return 1850; + case DF_Type::unit_demand: return 1851; + case DF_Type::unit_demand__T_place: return 1852; + case DF_Type::unit_emotion_memory: return 1853; + case DF_Type::unit_flags1: return 1854; + case DF_Type::unit_flags2: return 1855; + case DF_Type::unit_flags3: return 1856; + case DF_Type::unit_flags4: return 1857; + case DF_Type::unit_genes: return 1858; + case DF_Type::unit_ghost_info: return 1859; + case DF_Type::unit_ghost_info__T_flags: return 1860; + case DF_Type::unit_ghost_info__T_target: return 1861; + case DF_Type::unit_health_flags: return 1862; + case DF_Type::unit_health_info: return 1863; + case DF_Type::unit_health_info__T_op_history: return 1864; + case DF_Type::unit_health_info__T_op_history__T_info: return 1865; + case DF_Type::unit_health_info__T_op_history__T_info__T_bandage: return 1866; + case DF_Type::unit_health_info__T_op_history__T_info__T_crutch: return 1867; + case DF_Type::unit_instrument_skill: return 1868; + case DF_Type::unit_inventory_item: return 1869; + case DF_Type::unit_inventory_item__T_mode: return 1870; + case DF_Type::unit_item_use: return 1871; + case DF_Type::unit_item_wrestle: return 1872; + case DF_Type::unit_labor: return 1873; + case DF_Type::unit_labor_category: return 1874; + case DF_Type::unit_misc_trait: return 1875; + case DF_Type::unit_musical_skill: return 1876; + case DF_Type::unit_path_goal: return 1877; + case DF_Type::unit_personality: return 1878; + case DF_Type::unit_personality__T_dreams: return 1879; + case DF_Type::unit_personality__T_emotions: return 1880; + case DF_Type::unit_personality__T_emotions__T_flags: return 1881; + case DF_Type::unit_personality__T_flags: return 1882; + case DF_Type::unit_personality__T_memories: return 1883; + case DF_Type::unit_personality__T_memories__T_reflected_on: return 1884; + case DF_Type::unit_personality__T_needs: return 1885; + case DF_Type::unit_personality__T_unk5: return 1886; + case DF_Type::unit_personality__T_unk_v40_2: return 1887; + case DF_Type::unit_personality__T_unk_v40_6: return 1888; + case DF_Type::unit_personality__T_values: return 1889; + case DF_Type::unit_poetic_skill: return 1890; + case DF_Type::unit_preference: return 1891; + case DF_Type::unit_preference___union5: return 1892; + case DF_Type::unit_preference__T_type: return 1893; + case DF_Type::unit_relationship_type: return 1894; + case DF_Type::unit_report_type: return 1895; + case DF_Type::unit_request: return 1896; + case DF_Type::unit_request__T_type: return 1897; + case DF_Type::unit_skill: return 1898; + case DF_Type::unit_soul: return 1899; + case DF_Type::unit_soul__T_performance_skills: return 1900; + case DF_Type::unit_station_type: return 1901; + case DF_Type::unit_storage_status: return 1902; + case DF_Type::unit_syndrome: return 1903; + case DF_Type::unit_syndrome__T_flags: return 1904; + case DF_Type::unit_syndrome__T_symptoms: return 1905; + case DF_Type::unit_syndrome__T_symptoms__T_flags: return 1906; + case DF_Type::unit_thought_type: return 1907; + case DF_Type::unit_unk_138: return 1908; + case DF_Type::unit_wound: return 1909; + case DF_Type::unit_wound__T_flags: return 1910; + case DF_Type::unit_wound__T_parts: return 1911; + case DF_Type::units_other_id: return 1912; + case DF_Type::value_type: return 1913; + case DF_Type::vehicle: return 1914; + case DF_Type::vermin: return 1915; + case DF_Type::vermin_flags: return 1916; + case DF_Type::viewscreen: return 1917; + case DF_Type::viewscreen_adopt_regionst: return 1918; + case DF_Type::viewscreen_adventure_logst: return 1919; + case DF_Type::viewscreen_adventure_logst__T_info_mode: return 1920; + case DF_Type::viewscreen_adventure_logst__T_mode: return 1921; + case DF_Type::viewscreen_announcelistst: return 1922; + case DF_Type::viewscreen_assign_display_itemst: return 1923; + case DF_Type::viewscreen_assign_display_itemst__T_sel_column: return 1924; + case DF_Type::viewscreen_barterst: return 1925; + case DF_Type::viewscreen_buildinglistst: return 1926; + case DF_Type::viewscreen_buildingst: return 1927; + case DF_Type::viewscreen_choose_start_sitest: return 1928; + case DF_Type::viewscreen_choose_start_sitest__T_finder: return 1929; + case DF_Type::viewscreen_choose_start_sitest__T_page: return 1930; + case DF_Type::viewscreen_civlistst: return 1931; + case DF_Type::viewscreen_civlistst__T_artifact_details: return 1932; + case DF_Type::viewscreen_civlistst__T_page: return 1933; + case DF_Type::viewscreen_civlistst__T_rumors: return 1934; + case DF_Type::viewscreen_civlistst__T_rumors__T_type: return 1935; + case DF_Type::viewscreen_civlistst__T_unk_cache: return 1936; + case DF_Type::viewscreen_civlistst__T_unk_cache__T_tmp1: return 1937; + case DF_Type::viewscreen_civlistst__T_unk_cache__T_tmp2: return 1938; + case DF_Type::viewscreen_createquotast: return 1939; + case DF_Type::viewscreen_customize_unitst: return 1940; + case DF_Type::viewscreen_dungeon_monsterstatusst: return 1941; + case DF_Type::viewscreen_dungeon_wrestlest: return 1942; + case DF_Type::viewscreen_dungeon_wrestlest__T_unk1: return 1943; + case DF_Type::viewscreen_dungeonmodest: return 1944; + case DF_Type::viewscreen_dwarfmodest: return 1945; + case DF_Type::viewscreen_entityst: return 1946; + case DF_Type::viewscreen_export_graphical_mapst: return 1947; + case DF_Type::viewscreen_export_regionst: return 1948; + case DF_Type::viewscreen_export_regionst__T_unk1: return 1949; + case DF_Type::viewscreen_game_cleanerst: return 1950; + case DF_Type::viewscreen_game_cleanerst__T_state: return 1951; + case DF_Type::viewscreen_image_creator_mode: return 1952; + case DF_Type::viewscreen_image_creatorst: return 1953; + case DF_Type::viewscreen_image_creatorst__T_artifacts: return 1954; + case DF_Type::viewscreen_image_creatorst__T_descriptions: return 1955; + case DF_Type::viewscreen_image_creatorst__T_entities: return 1956; + case DF_Type::viewscreen_image_creatorst__T_objects: return 1957; + case DF_Type::viewscreen_image_creatorst__T_plants: return 1958; + case DF_Type::viewscreen_image_creatorst__T_shapes: return 1959; + case DF_Type::viewscreen_image_creatorst__T_sites: return 1960; + case DF_Type::viewscreen_image_creatorst__T_trees: return 1961; + case DF_Type::viewscreen_itemst: return 1962; + case DF_Type::viewscreen_joblistst: return 1963; + case DF_Type::viewscreen_jobmanagementst: return 1964; + case DF_Type::viewscreen_jobst: return 1965; + case DF_Type::viewscreen_justicest: return 1966; + case DF_Type::viewscreen_justicest__T_cur_column: return 1967; + case DF_Type::viewscreen_kitchenpref_page: return 1968; + case DF_Type::viewscreen_kitchenprefst: return 1969; + case DF_Type::viewscreen_layer: return 1970; + case DF_Type::viewscreen_layer_arena_creaturest: return 1971; + case DF_Type::viewscreen_layer_assigntradest: return 1972; + case DF_Type::viewscreen_layer_choose_language_namest: return 1973; + case DF_Type::viewscreen_layer_choose_language_namest__T_current_component: return 1974; + case DF_Type::viewscreen_layer_currencyst: return 1975; + case DF_Type::viewscreen_layer_export_play_mapst: return 1976; + case DF_Type::viewscreen_layer_militaryst: return 1977; + case DF_Type::viewscreen_layer_militaryst__T_ammo: return 1978; + case DF_Type::viewscreen_layer_militaryst__T_ammo__T_add_item: return 1979; + case DF_Type::viewscreen_layer_militaryst__T_ammo__T_material: return 1980; + case DF_Type::viewscreen_layer_militaryst__T_equip: return 1981; + case DF_Type::viewscreen_layer_militaryst__T_equip__T_add_item: return 1982; + case DF_Type::viewscreen_layer_militaryst__T_equip__T_assigned: return 1983; + case DF_Type::viewscreen_layer_militaryst__T_equip__T_color: return 1984; + case DF_Type::viewscreen_layer_militaryst__T_equip__T_edit_mode: return 1985; + case DF_Type::viewscreen_layer_militaryst__T_equip__T_material: return 1986; + case DF_Type::viewscreen_layer_militaryst__T_equip__T_mode: return 1987; + case DF_Type::viewscreen_layer_militaryst__T_equip__T_uniform: return 1988; + case DF_Type::viewscreen_layer_militaryst__T_page: return 1989; + case DF_Type::viewscreen_layer_militaryst__T_positions: return 1990; + case DF_Type::viewscreen_layer_militaryst__T_squad_members: return 1991; + case DF_Type::viewscreen_layer_militaryst__T_squads: return 1992; + case DF_Type::viewscreen_layer_musicsoundst: return 1993; + case DF_Type::viewscreen_layer_noblelistst: return 1994; + case DF_Type::viewscreen_layer_noblelistst__T_candidates: return 1995; + case DF_Type::viewscreen_layer_noblelistst__T_info: return 1996; + case DF_Type::viewscreen_layer_noblelistst__T_mode: return 1997; + case DF_Type::viewscreen_layer_overall_healthst: return 1998; + case DF_Type::viewscreen_layer_reactionst: return 1999; + case DF_Type::viewscreen_layer_squad_schedulest: return 2000; + case DF_Type::viewscreen_layer_stockpilest: return 2001; + case DF_Type::viewscreen_layer_stone_restrictionst: return 2002; + case DF_Type::viewscreen_layer_unit_actionst: return 2003; + case DF_Type::viewscreen_layer_unit_healthst: return 2004; + case DF_Type::viewscreen_layer_unit_relationshipst: return 2005; + case DF_Type::viewscreen_layer_world_gen_param_presetst: return 2006; + case DF_Type::viewscreen_layer_world_gen_paramst: return 2007; + case DF_Type::viewscreen_layer_world_gen_paramst__T_unk1: return 2008; + case DF_Type::viewscreen_legendsst: return 2009; + case DF_Type::viewscreen_legendsst__T_anon_7: return 2010; + case DF_Type::viewscreen_legendsst__T_anon_7__T_anon_3: return 2011; + case DF_Type::viewscreen_legendsst__T_cur_page: return 2012; + case DF_Type::viewscreen_loadgamest: return 2013; + case DF_Type::viewscreen_loadgamest__T_cur_step: return 2014; + case DF_Type::viewscreen_locationsst: return 2015; + case DF_Type::viewscreen_locationsst__T_in_edit: return 2016; + case DF_Type::viewscreen_locationsst__T_menu: return 2017; + case DF_Type::viewscreen_meetingst: return 2018; + case DF_Type::viewscreen_movieplayerst: return 2019; + case DF_Type::viewscreen_new_regionst: return 2020; + case DF_Type::viewscreen_noblest: return 2021; + case DF_Type::viewscreen_optionst: return 2022; + case DF_Type::viewscreen_optionst__T_options: return 2023; + case DF_Type::viewscreen_overallstatusst: return 2024; + case DF_Type::viewscreen_overallstatusst__T_visible_pages: return 2025; + case DF_Type::viewscreen_petitionsst: return 2026; + case DF_Type::viewscreen_petst: return 2027; + case DF_Type::viewscreen_petst__T_animal: return 2028; + case DF_Type::viewscreen_petst__T_mode: return 2029; + case DF_Type::viewscreen_petst__T_trainer_mode: return 2030; + case DF_Type::viewscreen_pricest: return 2031; + case DF_Type::viewscreen_reportlistst: return 2032; + case DF_Type::viewscreen_requestagreementst: return 2033; + case DF_Type::viewscreen_savegamest: return 2034; + case DF_Type::viewscreen_selectitemst: return 2035; + case DF_Type::viewscreen_setupadventurest: return 2036; + case DF_Type::viewscreen_setupadventurest__T_background_type: return 2037; + case DF_Type::viewscreen_setupadventurest__T_page: return 2038; + case DF_Type::viewscreen_setupadventurest__T_races_info: return 2039; + case DF_Type::viewscreen_setupadventurest__T_sel_trait_column: return 2040; + case DF_Type::viewscreen_setupdwarfgamest: return 2041; + case DF_Type::viewscreen_setupdwarfgamest__T_animals: return 2042; + case DF_Type::viewscreen_setupdwarfgamest__T_choice_types: return 2043; + case DF_Type::viewscreen_setupdwarfgamest__T_mode: return 2044; + case DF_Type::viewscreen_setupdwarfgamest__T_unk_v43: return 2045; + case DF_Type::viewscreen_setupdwarfgamest__T_unk_v43__T_unk_v43_sub9: return 2046; + case DF_Type::viewscreen_storesst: return 2047; + case DF_Type::viewscreen_textviewerst: return 2048; + case DF_Type::viewscreen_textviewerst__T_formatted_text: return 2049; + case DF_Type::viewscreen_textviewerst__T_formatted_text__T_flags: return 2050; + case DF_Type::viewscreen_titlest: return 2051; + case DF_Type::viewscreen_titlest__T_menu_line_id: return 2052; + case DF_Type::viewscreen_titlest__T_sel_subpage: return 2053; + case DF_Type::viewscreen_titlest__T_start_savegames: return 2054; + case DF_Type::viewscreen_topicmeeting_fill_land_holder_positionsst: return 2055; + case DF_Type::viewscreen_topicmeeting_takerequestsst: return 2056; + case DF_Type::viewscreen_topicmeetingst: return 2057; + case DF_Type::viewscreen_tradeagreementst: return 2058; + case DF_Type::viewscreen_tradegoodsst: return 2059; + case DF_Type::viewscreen_tradelistst: return 2060; + case DF_Type::viewscreen_treasurelistst: return 2061; + case DF_Type::viewscreen_unitlist_page: return 2062; + case DF_Type::viewscreen_unitlistst: return 2063; + case DF_Type::viewscreen_unitst: return 2064; + case DF_Type::viewscreen_update_regionst: return 2065; + case DF_Type::viewscreen_wagesst: return 2066; + case DF_Type::viewscreen_workquota_conditionst: return 2067; + case DF_Type::viewscreen_workquota_conditionst__T_mode: return 2068; + case DF_Type::viewscreen_workquota_conditionst__T_traits: return 2069; + case DF_Type::viewscreen_workquota_conditionst__T_traits__T_flags: return 2070; + case DF_Type::viewscreen_workquota_detailsst: return 2071; + case DF_Type::viewscreen_workshop_profilest: return 2072; + case DF_Type::viewscreen_workshop_profilest__T_tab: return 2073; + case DF_Type::weapon_attack: return 2074; + case DF_Type::weapon_attack__T_flags: return 2075; + case DF_Type::weapon_flags: return 2076; + case DF_Type::weather_type: return 2077; + case DF_Type::web_cluster: return 2078; + case DF_Type::widget_menu: return 2079; + case DF_Type::widget_textbox: return 2080; + case DF_Type::workshop_profile: return 2081; + case DF_Type::workshop_type: return 2082; + case DF_Type::world: return 2083; + case DF_Type::world__T_activities: return 2084; + case DF_Type::world__T_agreements: return 2085; + case DF_Type::world__T_arena_settings: return 2086; + case DF_Type::world__T_arena_spawn: return 2087; + case DF_Type::world__T_arena_spawn__T_equipment: return 2088; + case DF_Type::world__T_arena_spawn__T_item_types: return 2089; + case DF_Type::world__T_armies: return 2090; + case DF_Type::world__T_army_controllers: return 2091; + case DF_Type::world__T_army_tracking_info: return 2092; + case DF_Type::world__T_artifacts: return 2093; + case DF_Type::world__T_belief_systems: return 2094; + case DF_Type::world__T_crimes: return 2095; + case DF_Type::world__T_cultural_identities: return 2096; + case DF_Type::world__T_cur_savegame: return 2097; + case DF_Type::world__T_dance_forms: return 2098; + case DF_Type::world__T_enemy_status_cache: return 2099; + case DF_Type::world__T_entities: return 2100; + case DF_Type::world__T_features: return 2101; + case DF_Type::world__T_flow_engine: return 2102; + case DF_Type::world__T_flow_guides: return 2103; + case DF_Type::world__T_formations: return 2104; + case DF_Type::world__T_identities: return 2105; + case DF_Type::world__T_incidents: return 2106; + case DF_Type::world__T_interaction_instances: return 2107; + case DF_Type::world__T_items: return 2108; + case DF_Type::world__T_languages: return 2109; + case DF_Type::world__T_map: return 2110; + case DF_Type::world__T_map_extras: return 2111; + case DF_Type::world__T_math: return 2112; + case DF_Type::world__T_math__T_approx: return 2113; + case DF_Type::world__T_musical_forms: return 2114; + case DF_Type::world__T_nemesis: return 2115; + case DF_Type::world__T_occupations: return 2116; + case DF_Type::world__T_pathfinder: return 2117; + case DF_Type::world__T_pathfinder__T_boundary_heap: return 2118; + case DF_Type::world__T_plants: return 2119; + case DF_Type::world__T_poetic_forms: return 2120; + case DF_Type::world__T_profession_skills: return 2121; + case DF_Type::world__T_rhythms: return 2122; + case DF_Type::world__T_scales: return 2123; + case DF_Type::world__T_schedules: return 2124; + case DF_Type::world__T_squads: return 2125; + case DF_Type::world__T_status: return 2126; + case DF_Type::world__T_status__T_flags: return 2127; + case DF_Type::world__T_status__T_slots: return 2128; + case DF_Type::world__T_status__T_slots__T_flags: return 2129; + case DF_Type::world__T_stockpile: return 2130; + case DF_Type::world__T_stockpile__T_simple1: return 2131; + case DF_Type::world__T_stockpile__T_simple2: return 2132; + case DF_Type::world__T_stockpile__T_simple3: return 2133; + case DF_Type::world__T_units: return 2134; + case DF_Type::world__T_unk_131ec0: return 2135; + case DF_Type::world__T_unk_131ef0: return 2136; + case DF_Type::world__T_unk_131ef0__T_unk_2: return 2137; + case DF_Type::world__T_unk_19325c: return 2138; + case DF_Type::world__T_unk_19325c__T_anon_1: return 2139; + case DF_Type::world__T_unk_19325c__T_anon_2: return 2140; + case DF_Type::world__T_unk_19325c__T_anon_3: return 2141; + case DF_Type::world__T_unk_59dc4: return 2142; + case DF_Type::world__T_unk_59dc4__T_unk1: return 2143; + case DF_Type::world__T_unk_v40_6: return 2144; + case DF_Type::world__T_vehicles: return 2145; + case DF_Type::world__T_vermin: return 2146; + case DF_Type::world__T_worldgen: return 2147; + case DF_Type::world__T_worldgen__T_worldgen_parms: return 2148; + case DF_Type::world__T_worldgen_coord_buf: return 2149; + case DF_Type::world__T_worldgen_status: return 2150; + case DF_Type::world__T_written_contents: return 2151; + case DF_Type::world_construction: return 2152; + case DF_Type::world_construction_bridgest: return 2153; + case DF_Type::world_construction_roadst: return 2154; + case DF_Type::world_construction_square: return 2155; + case DF_Type::world_construction_square_bridgest: return 2156; + case DF_Type::world_construction_square_roadst: return 2157; + case DF_Type::world_construction_square_tunnelst: return 2158; + case DF_Type::world_construction_square_wallst: return 2159; + case DF_Type::world_construction_tunnelst: return 2160; + case DF_Type::world_construction_type: return 2161; + case DF_Type::world_construction_wallst: return 2162; + case DF_Type::world_dat_summary: return 2163; + case DF_Type::world_data: return 2164; + case DF_Type::world_data__T_constructions: return 2165; + case DF_Type::world_data__T_feature_map: return 2166; + case DF_Type::world_data__T_feature_map__T_features: return 2167; + case DF_Type::world_data__T_flip_latitude: return 2168; + case DF_Type::world_data__T_freakish_weather: return 2169; + case DF_Type::world_data__T_mountain_peaks: return 2170; + case DF_Type::world_data__T_unk_150: return 2171; + case DF_Type::world_data__T_unk_150__T_unk_18: return 2172; + case DF_Type::world_data__T_unk_150__T_unk_28: return 2173; + case DF_Type::world_data__T_unk_150__T_unk_8: return 2174; + case DF_Type::world_data__T_unk_170: return 2175; + case DF_Type::world_data__T_unk_170__T_unk_4: return 2176; + case DF_Type::world_data__T_unk_274: return 2177; + case DF_Type::world_data__T_unk_274__T_unk_10: return 2178; + case DF_Type::world_data__T_unk_482f8: return 2179; + case DF_Type::world_data__T_unk_b4: return 2180; + case DF_Type::world_gen_param_basest: return 2181; + case DF_Type::world_gen_param_charst: return 2182; + case DF_Type::world_gen_param_memberst: return 2183; + case DF_Type::world_gen_param_seedst: return 2184; + case DF_Type::world_gen_param_valuest: return 2185; + case DF_Type::world_geo_biome: return 2186; + case DF_Type::world_geo_layer: return 2187; + case DF_Type::world_history: return 2188; + case DF_Type::world_history__T_event_collections: return 2189; + case DF_Type::world_landmass: return 2190; + case DF_Type::world_object_data: return 2191; + case DF_Type::world_object_data__T_offloaded_buildings: return 2192; + case DF_Type::world_object_data__T_offloaded_items: return 2193; + case DF_Type::world_object_data__T_unk_94: return 2194; + case DF_Type::world_population: return 2195; + case DF_Type::world_population___union7: return 2196; + case DF_Type::world_population_ref: return 2197; + case DF_Type::world_population_type: return 2198; + case DF_Type::world_raws: return 2199; + case DF_Type::world_raws__T_bodyglosses: return 2200; + case DF_Type::world_raws__T_buildings: return 2201; + case DF_Type::world_raws__T_descriptors: return 2202; + case DF_Type::world_raws__T_effects: return 2203; + case DF_Type::world_raws__T_itemdefs: return 2204; + case DF_Type::world_raws__T_language: return 2205; + case DF_Type::world_raws__T_plants: return 2206; + case DF_Type::world_raws__T_reactions: return 2207; + case DF_Type::world_raws__T_syndromes: return 2208; + case DF_Type::world_region: return 2209; + case DF_Type::world_region_details: return 2210; + case DF_Type::world_region_details__T_edges: return 2211; + case DF_Type::world_region_details__T_rivers_horizontal: return 2212; + case DF_Type::world_region_details__T_rivers_vertical: return 2213; + case DF_Type::world_region_feature: return 2214; + case DF_Type::world_region_type: return 2215; + case DF_Type::world_river: return 2216; + case DF_Type::world_site: return 2217; + case DF_Type::world_site__T_subtype_info: return 2218; + case DF_Type::world_site__T_unk_1: return 2219; + case DF_Type::world_site__T_unk_118: return 2220; + case DF_Type::world_site__T_unk_13c: return 2221; + case DF_Type::world_site__T_unk_188: return 2222; + case DF_Type::world_site__T_unk_188__T_unk1: return 2223; + case DF_Type::world_site__T_unk_1__T_units: return 2224; + case DF_Type::world_site__T_unk_21c: return 2225; + case DF_Type::world_site__T_unk_v40_2: return 2226; + case DF_Type::world_site__T_unk_v40_4a: return 2227; + case DF_Type::world_site__T_unk_v40_4b: return 2228; + case DF_Type::world_site__T_unk_v40_4c: return 2229; + case DF_Type::world_site__T_unk_v40_4d: return 2230; + case DF_Type::world_site__T_unk_v40_4d__T_anon_2: return 2231; + case DF_Type::world_site__T_unk_v43_2: return 2232; + case DF_Type::world_site_flags: return 2233; + case DF_Type::world_site_inhabitant: return 2234; + case DF_Type::world_site_realization: return 2235; + case DF_Type::world_site_realization__T_areas: return 2236; + case DF_Type::world_site_realization__T_areas__T_type: return 2237; + case DF_Type::world_site_realization__T_building_map: return 2238; + case DF_Type::world_site_realization__T_river_map: return 2239; + case DF_Type::world_site_realization__T_unk_193bc: return 2240; + case DF_Type::world_site_realization__T_unk_193bc__T_unk_8: return 2241; + case DF_Type::world_site_realization__T_unk_55e8: return 2242; + case DF_Type::world_site_realization__T_unk_55e8__T_unk_v40_2: return 2243; + case DF_Type::world_site_type: return 2244; + case DF_Type::world_site_unk130: return 2245; + case DF_Type::world_site_unk130__T_unk_4: return 2246; + case DF_Type::world_underground_region: return 2247; + case DF_Type::world_underground_region__T_type: return 2248; + case DF_Type::world_unk_20: return 2249; + case DF_Type::world_unk_20__T_anon_7: return 2250; + case DF_Type::world_unk_6c: return 2251; + case DF_Type::world_unk_9c: return 2252; + case DF_Type::world_unk_a8: return 2253; + case DF_Type::world_unk_b4: return 2254; + case DF_Type::world_unk_c0: return 2255; + case DF_Type::world_unk_c0__T_anon_7: return 2256; + case DF_Type::worldgen_range_type: return 2257; + case DF_Type::worldgen_region_type: return 2258; + case DF_Type::wound_curse_info: return 2259; + case DF_Type::wound_damage_flags1: return 2260; + case DF_Type::wound_damage_flags2: return 2261; + case DF_Type::wound_effect_type: return 2262; + case DF_Type::written_content: return 2263; + case DF_Type::written_content_style: return 2264; + case DF_Type::written_content_type: return 2265; + case DF_Type::z_level_flags: return 2266; + case DF_Type::zoom_commands: return 2267; + } + return -1; +} + +DF_Type int_to_DF_Type(int32_t p_value) +{ + switch(p_value) + { + case 0: return DF_Type::None; + case 1: return DF_Type::int64_t; + case 2: return DF_Type::uint64_t; + case 3: return DF_Type::int32_t; + case 4: return DF_Type::int16_t; + case 5: return DF_Type::uint32_t; + case 6: return DF_Type::uint16_t; + case 7: return DF_Type::uint8_t; + case 8: return DF_Type::int8_t; + case 9: return DF_Type::Void; + case 10: return DF_Type::Char; + case 11: return DF_Type::Long; + case 12: return DF_Type::Bool; + case 13: return DF_Type::Stl_string; + case 14: return DF_Type::Static_string; + case 15: return DF_Type::Ptr_string; + case 16: return DF_Type::S_float; + case 17: return DF_Type::D_float; + case 18: return DF_Type::S_double; + case 19: return DF_Type::Padding; + case 20: return DF_Type::Stl_fstream; + case 21: return DF_Type::abstract_building; + case 22: return DF_Type::abstract_building__T_inhabitants; + case 23: return DF_Type::abstract_building__T_unk1; + case 24: return DF_Type::abstract_building_contents; + case 25: return DF_Type::abstract_building_dark_towerst; + case 26: return DF_Type::abstract_building_dungeonst; + case 27: return DF_Type::abstract_building_dungeonst__T_dungeon_type; + case 28: return DF_Type::abstract_building_flags; + case 29: return DF_Type::abstract_building_inn_tavernst; + case 30: return DF_Type::abstract_building_inn_tavernst__T_room_info; + case 31: return DF_Type::abstract_building_keepst; + case 32: return DF_Type::abstract_building_libraryst; + case 33: return DF_Type::abstract_building_marketst; + case 34: return DF_Type::abstract_building_mead_hallst; + case 35: return DF_Type::abstract_building_templest; + case 36: return DF_Type::abstract_building_tombst; + case 37: return DF_Type::abstract_building_type; + case 38: return DF_Type::abstract_building_underworld_spirest; + case 39: return DF_Type::abstract_building_unk; + case 40: return DF_Type::abstract_building_unk__T_anon_1; + case 41: return DF_Type::active_script_var_longst; + case 42: return DF_Type::active_script_var_unitst; + case 43: return DF_Type::active_script_varst; + case 44: return DF_Type::activity_entry; + case 45: return DF_Type::activity_event; + case 46: return DF_Type::activity_event__T_flags; + case 47: return DF_Type::activity_event__T_unk_v42_1; + case 48: return DF_Type::activity_event__T_unk_v42_2; + case 49: return DF_Type::activity_event_combat_trainingst; + case 50: return DF_Type::activity_event_conflictst; + case 51: return DF_Type::activity_event_conflictst__T_sides; + case 52: return DF_Type::activity_event_conflictst__T_sides__T_enemies; + case 53: return DF_Type::activity_event_conversationst; + case 54: return DF_Type::activity_event_conversationst__T_anon_6; + case 55: return DF_Type::activity_event_conversationst__T_flags2; + case 56: return DF_Type::activity_event_conversationst__T_participants; + case 57: return DF_Type::activity_event_conversationst__T_turns; + case 58: return DF_Type::activity_event_conversationst__T_unk2; + case 59: return DF_Type::activity_event_conversationst__T_unk_b4; + case 60: return DF_Type::activity_event_copy_written_contentst; + case 61: return DF_Type::activity_event_copy_written_contentst__T_flagsmaybe; + case 62: return DF_Type::activity_event_discuss_topicst; + case 63: return DF_Type::activity_event_encounterst; + case 64: return DF_Type::activity_event_encounterst__T_anon_1; + case 65: return DF_Type::activity_event_encounterst__T_anon_2; + case 66: return DF_Type::activity_event_fill_service_orderst; + case 67: return DF_Type::activity_event_guardst; + case 68: return DF_Type::activity_event_harassmentst; + case 69: return DF_Type::activity_event_harassmentst__T_anon_2; + case 70: return DF_Type::activity_event_individual_skill_drillst; + case 71: return DF_Type::activity_event_make_believest; + case 72: return DF_Type::activity_event_participants; + case 73: return DF_Type::activity_event_performancest; + case 74: return DF_Type::activity_event_performancest__T_participant_actions; + case 75: return DF_Type::activity_event_play_with_toyst; + case 76: return DF_Type::activity_event_play_with_toyst__T_unk; + case 77: return DF_Type::activity_event_playst; + case 78: return DF_Type::activity_event_ponder_topicst; + case 79: return DF_Type::activity_event_prayerst; + case 80: return DF_Type::activity_event_ranged_practicest; + case 81: return DF_Type::activity_event_readst; + case 82: return DF_Type::activity_event_researchst; + case 83: return DF_Type::activity_event_reunionst; + case 84: return DF_Type::activity_event_skill_demonstrationst; + case 85: return DF_Type::activity_event_socializest; + case 86: return DF_Type::activity_event_sparringst; + case 87: return DF_Type::activity_event_sparringst__T_groups; + case 88: return DF_Type::activity_event_store_objectst; + case 89: return DF_Type::activity_event_teach_topicst; + case 90: return DF_Type::activity_event_training_sessionst; + case 91: return DF_Type::activity_event_type; + case 92: return DF_Type::activity_event_worshipst; + case 93: return DF_Type::activity_event_writest; + case 94: return DF_Type::activity_info; + case 95: return DF_Type::activity_info__T_flags; + case 96: return DF_Type::adventure_environment_ingest_from_containerst; + case 97: return DF_Type::adventure_environment_ingest_materialst; + case 98: return DF_Type::adventure_environment_optionst; + case 99: return DF_Type::adventure_environment_pickup_chop_treest; + case 100: return DF_Type::adventure_environment_pickup_ignite_vegst; + case 101: return DF_Type::adventure_environment_pickup_make_campfirest; + case 102: return DF_Type::adventure_environment_pickup_vermin_eventst; + case 103: return DF_Type::adventure_environment_place_in_bld_containerst; + case 104: return DF_Type::adventure_environment_place_in_it_containerst; + case 105: return DF_Type::adventure_environment_unit_suck_bloodst; + case 106: return DF_Type::adventure_item_interact_choicest; + case 107: return DF_Type::adventure_item_interact_fill_from_containerst; + case 108: return DF_Type::adventure_item_interact_fill_with_materialst; + case 109: return DF_Type::adventure_item_interact_give_namest; + case 110: return DF_Type::adventure_item_interact_heat_from_tilest; + case 111: return DF_Type::adventure_item_interact_pull_outst; + case 112: return DF_Type::adventure_item_interact_readst; + case 113: return DF_Type::adventure_item_interact_strugglest; + case 114: return DF_Type::adventure_log_item; + case 115: return DF_Type::adventure_movement_attack_creaturest; + case 116: return DF_Type::adventure_movement_building_interactst; + case 117: return DF_Type::adventure_movement_climbst; + case 118: return DF_Type::adventure_movement_hold_itemst; + case 119: return DF_Type::adventure_movement_hold_tilest; + case 120: return DF_Type::adventure_movement_item_interact_guidest; + case 121: return DF_Type::adventure_movement_item_interact_pushst; + case 122: return DF_Type::adventure_movement_item_interact_ridest; + case 123: return DF_Type::adventure_movement_item_interactst; + case 124: return DF_Type::adventure_movement_movest; + case 125: return DF_Type::adventure_movement_optionst; + case 126: return DF_Type::adventure_movement_release_hold_itemst; + case 127: return DF_Type::adventure_movement_release_hold_tilest; + case 128: return DF_Type::adventure_option_eat_item_contaminantst; + case 129: return DF_Type::adventure_option_eat_unit_contaminantst; + case 130: return DF_Type::adventure_option_view_contaminantst; + case 131: return DF_Type::adventure_optionst; + case 132: return DF_Type::adventurer_attribute_level; + case 133: return DF_Type::agreement; + case 134: return DF_Type::agreement__T_details; + case 135: return DF_Type::agreement__T_details__T_data; + case 136: return DF_Type::agreement__T_details__T_data__T_data0; + case 137: return DF_Type::agreement__T_details__T_data__T_data1; + case 138: return DF_Type::agreement__T_parties; + case 139: return DF_Type::agreement__T_parties__T_anon_1; + case 140: return DF_Type::ammo_flags; + case 141: return DF_Type::animal_training_level; + case 142: return DF_Type::announcement_flags; + case 143: return DF_Type::announcement_type; + case 144: return DF_Type::announcements; + case 145: return DF_Type::appearance_modifier_growth_interval; + case 146: return DF_Type::appearance_modifier_type; + case 147: return DF_Type::armor_flags; + case 148: return DF_Type::armor_general_flags; + case 149: return DF_Type::armor_properties; + case 150: return DF_Type::army; + case 151: return DF_Type::army__T_members; + case 152: return DF_Type::army__T_unk_2c; + case 153: return DF_Type::army_controller; + case 154: return DF_Type::army_controller__T_unk_64; + case 155: return DF_Type::army_controller_sub1; + case 156: return DF_Type::army_controller_sub11; + case 157: return DF_Type::army_controller_sub11__T_anon_3; + case 158: return DF_Type::army_controller_sub12; + case 159: return DF_Type::army_controller_sub12__T_anon_4; + case 160: return DF_Type::army_controller_sub13; + case 161: return DF_Type::army_controller_sub13__T_anon_4; + case 162: return DF_Type::army_controller_sub14; + case 163: return DF_Type::army_controller_sub14__T_anon_4; + case 164: return DF_Type::army_controller_sub15; + case 165: return DF_Type::army_controller_sub15__T_anon_3; + case 166: return DF_Type::army_controller_sub16; + case 167: return DF_Type::army_controller_sub17; + case 168: return DF_Type::army_controller_sub18; + case 169: return DF_Type::army_controller_sub2; + case 170: return DF_Type::army_controller_sub2__T_anon_5; + case 171: return DF_Type::army_controller_sub4; + case 172: return DF_Type::army_controller_sub4__T_unk_2; + case 173: return DF_Type::army_controller_sub5; + case 174: return DF_Type::army_controller_sub6; + case 175: return DF_Type::army_controller_sub7; + case 176: return DF_Type::army_controller_sub7__T_anon_3; + case 177: return DF_Type::army_flags; + case 178: return DF_Type::art_facet_type; + case 179: return DF_Type::art_image; + case 180: return DF_Type::art_image_chunk; + case 181: return DF_Type::art_image_element; + case 182: return DF_Type::art_image_element_creaturest; + case 183: return DF_Type::art_image_element_itemst; + case 184: return DF_Type::art_image_element_plantst; + case 185: return DF_Type::art_image_element_shapest; + case 186: return DF_Type::art_image_element_treest; + case 187: return DF_Type::art_image_element_type; + case 188: return DF_Type::art_image_property; + case 189: return DF_Type::art_image_property_intransitive_verbst; + case 190: return DF_Type::art_image_property_transitive_verbst; + case 191: return DF_Type::art_image_property_type; + case 192: return DF_Type::art_image_property_verb; + case 193: return DF_Type::art_image_ref; + case 194: return DF_Type::artifact_record; + case 195: return DF_Type::assign_trade_status; + case 196: return DF_Type::assign_trade_status__T_status; + case 197: return DF_Type::assume_identity_mode; + case 198: return DF_Type::barrack_preference_category; + case 199: return DF_Type::belief_system; + case 200: return DF_Type::biome_type; + case 201: return DF_Type::block_burrow; + case 202: return DF_Type::block_burrow_link; + case 203: return DF_Type::block_flags; + case 204: return DF_Type::block_square_event; + case 205: return DF_Type::block_square_event_designation_priorityst; + case 206: return DF_Type::block_square_event_frozen_liquidst; + case 207: return DF_Type::block_square_event_grassst; + case 208: return DF_Type::block_square_event_item_spatterst; + case 209: return DF_Type::block_square_event_material_spatterst; + case 210: return DF_Type::block_square_event_mineralst; + case 211: return DF_Type::block_square_event_mineralst__T_flags; + case 212: return DF_Type::block_square_event_spoorst; + case 213: return DF_Type::block_square_event_type; + case 214: return DF_Type::block_square_event_world_constructionst; + case 215: return DF_Type::body_appearance_modifier; + case 216: return DF_Type::body_component_info; + case 217: return DF_Type::body_detail_plan; + case 218: return DF_Type::body_layer_status; + case 219: return DF_Type::body_part_layer_flags; + case 220: return DF_Type::body_part_layer_raw; + case 221: return DF_Type::body_part_raw; + case 222: return DF_Type::body_part_raw_flags; + case 223: return DF_Type::body_part_status; + case 224: return DF_Type::body_part_template; + case 225: return DF_Type::body_part_template_contype; + case 226: return DF_Type::body_part_template_flags; + case 227: return DF_Type::body_size_info; + case 228: return DF_Type::body_template; + case 229: return DF_Type::bp_appearance_modifier; + case 230: return DF_Type::breath_attack_type; + case 231: return DF_Type::build_req_choice_genst; + case 232: return DF_Type::build_req_choice_specst; + case 233: return DF_Type::build_req_choice_type; + case 234: return DF_Type::build_req_choicest; + case 235: return DF_Type::building; + case 236: return DF_Type::building__T_activities; + case 237: return DF_Type::building__T_job_claim_suppress; + case 238: return DF_Type::building_actual; + case 239: return DF_Type::building_actual__T_contained_items; + case 240: return DF_Type::building_animaltrapst; + case 241: return DF_Type::building_archerytargetst; + case 242: return DF_Type::building_archerytargetst__T_archery_direction; + case 243: return DF_Type::building_armorstandst; + case 244: return DF_Type::building_axle_horizontalst; + case 245: return DF_Type::building_axle_verticalst; + case 246: return DF_Type::building_bars_floorst; + case 247: return DF_Type::building_bars_verticalst; + case 248: return DF_Type::building_bedst; + case 249: return DF_Type::building_bedst__T_bed_flags; + case 250: return DF_Type::building_bookcasest; + case 251: return DF_Type::building_boxst; + case 252: return DF_Type::building_bridgest; + case 253: return DF_Type::building_bridgest__T_direction; + case 254: return DF_Type::building_cabinetst; + case 255: return DF_Type::building_cagest; + case 256: return DF_Type::building_cagest__T_cage_flags; + case 257: return DF_Type::building_chainst; + case 258: return DF_Type::building_chainst__T_chain_flags; + case 259: return DF_Type::building_chairst; + case 260: return DF_Type::building_civzonest; + case 261: return DF_Type::building_civzonest__T_gather_flags; + case 262: return DF_Type::building_civzonest__T_pit_flags; + case 263: return DF_Type::building_civzonest__T_zone_flags; + case 264: return DF_Type::building_coffinst; + case 265: return DF_Type::building_coffinst__T_burial_mode; + case 266: return DF_Type::building_constructionst; + case 267: return DF_Type::building_def; + case 268: return DF_Type::building_def_furnacest; + case 269: return DF_Type::building_def_item; + case 270: return DF_Type::building_def_workshopst; + case 271: return DF_Type::building_design; + case 272: return DF_Type::building_design__T_flags; + case 273: return DF_Type::building_display_furniturest; + case 274: return DF_Type::building_doorst; + case 275: return DF_Type::building_drawbuffer; + case 276: return DF_Type::building_extents; + case 277: return DF_Type::building_farmplotst; + case 278: return DF_Type::building_flags; + case 279: return DF_Type::building_floodgatest; + case 280: return DF_Type::building_furnacest; + case 281: return DF_Type::building_gear_assemblyst; + case 282: return DF_Type::building_gear_assemblyst__T_gear_flags; + case 283: return DF_Type::building_grate_floorst; + case 284: return DF_Type::building_grate_wallst; + case 285: return DF_Type::building_handler; + case 286: return DF_Type::building_hatchst; + case 287: return DF_Type::building_hivest; + case 288: return DF_Type::building_instrumentst; + case 289: return DF_Type::building_nest_boxst; + case 290: return DF_Type::building_nestst; + case 291: return DF_Type::building_road_dirtst; + case 292: return DF_Type::building_road_pavedst; + case 293: return DF_Type::building_roadst; + case 294: return DF_Type::building_rollersst; + case 295: return DF_Type::building_screw_pumpst; + case 296: return DF_Type::building_shopst; + case 297: return DF_Type::building_shopst__T_shop_flags; + case 298: return DF_Type::building_siegeenginest; + case 299: return DF_Type::building_siegeenginest__T_action; + case 300: return DF_Type::building_siegeenginest__T_facing; + case 301: return DF_Type::building_slabst; + case 302: return DF_Type::building_squad_use; + case 303: return DF_Type::building_statuest; + case 304: return DF_Type::building_stockpilest; + case 305: return DF_Type::building_supportst; + case 306: return DF_Type::building_supportst__T_support_flags; + case 307: return DF_Type::building_tablest; + case 308: return DF_Type::building_tablest__T_table_flags; + case 309: return DF_Type::building_traction_benchst; + case 310: return DF_Type::building_tradedepotst; + case 311: return DF_Type::building_tradedepotst__T_trade_flags; + case 312: return DF_Type::building_trapst; + case 313: return DF_Type::building_trapst__T_stop_flags; + case 314: return DF_Type::building_type; + case 315: return DF_Type::building_users; + case 316: return DF_Type::building_wagonst; + case 317: return DF_Type::building_water_wheelst; + case 318: return DF_Type::building_weaponrackst; + case 319: return DF_Type::building_weaponst; + case 320: return DF_Type::building_wellst; + case 321: return DF_Type::building_wellst__T_well_flags; + case 322: return DF_Type::building_windmillst; + case 323: return DF_Type::building_window_gemst; + case 324: return DF_Type::building_window_glassst; + case 325: return DF_Type::building_windowst; + case 326: return DF_Type::building_workshopst; + case 327: return DF_Type::buildings_other_id; + case 328: return DF_Type::builtin_mats; + case 329: return DF_Type::burrow; + case 330: return DF_Type::campfire; + case 331: return DF_Type::caravan_state; + case 332: return DF_Type::caravan_state__T_flags; + case 333: return DF_Type::caravan_state__T_trade_state; + case 334: return DF_Type::caste_attack; + case 335: return DF_Type::caste_attack__T_flags; + case 336: return DF_Type::caste_body_info; + case 337: return DF_Type::caste_body_info__T_extra_butcher_objects; + case 338: return DF_Type::caste_body_info__T_flags; + case 339: return DF_Type::caste_body_info__T_interactions; + case 340: return DF_Type::caste_body_info__T_interactions__T_type; + case 341: return DF_Type::caste_clothing_item; + case 342: return DF_Type::caste_raw; + case 343: return DF_Type::caste_raw__T_attributes; + case 344: return DF_Type::caste_raw__T_bp_appearance; + case 345: return DF_Type::caste_raw__T_caste_profession_name; + case 346: return DF_Type::caste_raw__T_extracts; + case 347: return DF_Type::caste_raw__T_misc; + case 348: return DF_Type::caste_raw__T_personality; + case 349: return DF_Type::caste_raw__T_secretion; + case 350: return DF_Type::caste_raw__T_shearable_tissue_layer; + case 351: return DF_Type::caste_raw__T_unknown2; + case 352: return DF_Type::caste_raw_flags; + case 353: return DF_Type::cave_column; + case 354: return DF_Type::cave_column_link; + case 355: return DF_Type::cave_column_rectangle; + case 356: return DF_Type::cie_add_tag_mask1; + case 357: return DF_Type::cie_add_tag_mask2; + case 358: return DF_Type::civzone_type; + case 359: return DF_Type::coin_batch; + case 360: return DF_Type::coin_batch__T_image_back; + case 361: return DF_Type::coin_batch__T_image_front; + case 362: return DF_Type::color_modifier_raw; + case 363: return DF_Type::combat_report_event_type; + case 364: return DF_Type::conflict_level; + case 365: return DF_Type::construction; + case 366: return DF_Type::construction_flags; + case 367: return DF_Type::construction_type; + case 368: return DF_Type::conversation; + case 369: return DF_Type::conversation__T_speech; + case 370: return DF_Type::conversation__T_state; + case 371: return DF_Type::conversation_menu; + case 372: return DF_Type::coord; + case 373: return DF_Type::coord2d; + case 374: return DF_Type::coord2d_path; + case 375: return DF_Type::coord_path; + case 376: return DF_Type::coord_rect; + case 377: return DF_Type::corpse_material_type; + case 378: return DF_Type::craft_material_class; + case 379: return DF_Type::creation_zone_pwg_alteration_campst; + case 380: return DF_Type::creation_zone_pwg_alteration_location_deathst; + case 381: return DF_Type::creation_zone_pwg_alteration_location_deathst__T_unk_1; + case 382: return DF_Type::creation_zone_pwg_alteration_location_deathst__T_unk_1__T_anon_1; + case 383: return DF_Type::creation_zone_pwg_alteration_srb_ruinedst; + case 384: return DF_Type::creation_zone_pwg_alteration_srp_ruinedst; + case 385: return DF_Type::creation_zone_pwg_alteration_type; + case 386: return DF_Type::creation_zone_pwg_alterationst; + case 387: return DF_Type::creature_graphics_appointment; + case 388: return DF_Type::creature_graphics_role; + case 389: return DF_Type::creature_handler; + case 390: return DF_Type::creature_interaction; + case 391: return DF_Type::creature_interaction__T_flags; + case 392: return DF_Type::creature_interaction_effect; + case 393: return DF_Type::creature_interaction_effect__T_counter_trigger; + case 394: return DF_Type::creature_interaction_effect_add_simple_flagst; + case 395: return DF_Type::creature_interaction_effect_bleedingst; + case 396: return DF_Type::creature_interaction_effect_blistersst; + case 397: return DF_Type::creature_interaction_effect_body_appearance_modifierst; + case 398: return DF_Type::creature_interaction_effect_body_mat_interactionst; + case 399: return DF_Type::creature_interaction_effect_body_transformationst; + case 400: return DF_Type::creature_interaction_effect_bp_appearance_modifierst; + case 401: return DF_Type::creature_interaction_effect_bruisingst; + case 402: return DF_Type::creature_interaction_effect_can_do_interactionst; + case 403: return DF_Type::creature_interaction_effect_change_personalityst; + case 404: return DF_Type::creature_interaction_effect_cough_bloodst; + case 405: return DF_Type::creature_interaction_effect_display_namest; + case 406: return DF_Type::creature_interaction_effect_display_symbolst; + case 407: return DF_Type::creature_interaction_effect_dizzinessst; + case 408: return DF_Type::creature_interaction_effect_drowsinessst; + case 409: return DF_Type::creature_interaction_effect_erratic_behaviorst; + case 410: return DF_Type::creature_interaction_effect_feel_emotionst; + case 411: return DF_Type::creature_interaction_effect_feverst; + case 412: return DF_Type::creature_interaction_effect_flags; + case 413: return DF_Type::creature_interaction_effect_flash_symbolst; + case 414: return DF_Type::creature_interaction_effect_impair_functionst; + case 415: return DF_Type::creature_interaction_effect_material_force_adjustst; + case 416: return DF_Type::creature_interaction_effect_ment_att_changest; + case 417: return DF_Type::creature_interaction_effect_nauseast; + case 418: return DF_Type::creature_interaction_effect_necrosisst; + case 419: return DF_Type::creature_interaction_effect_numbnessst; + case 420: return DF_Type::creature_interaction_effect_oozingst; + case 421: return DF_Type::creature_interaction_effect_painst; + case 422: return DF_Type::creature_interaction_effect_paralysisst; + case 423: return DF_Type::creature_interaction_effect_phys_att_changest; + case 424: return DF_Type::creature_interaction_effect_remove_simple_flagst; + case 425: return DF_Type::creature_interaction_effect_sense_creature_classst; + case 426: return DF_Type::creature_interaction_effect_skill_roll_adjustst; + case 427: return DF_Type::creature_interaction_effect_speed_changest; + case 428: return DF_Type::creature_interaction_effect_swellingst; + case 429: return DF_Type::creature_interaction_effect_target; + case 430: return DF_Type::creature_interaction_effect_target_mode; + case 431: return DF_Type::creature_interaction_effect_type; + case 432: return DF_Type::creature_interaction_effect_unconsciousnessst; + case 433: return DF_Type::creature_interaction_effect_vomit_bloodst; + case 434: return DF_Type::creature_interaction_target_flags; + case 435: return DF_Type::creature_raw; + case 436: return DF_Type::creature_raw__T_graphics; + case 437: return DF_Type::creature_raw__T_hive_product; + case 438: return DF_Type::creature_raw__T_profession_name; + case 439: return DF_Type::creature_raw_flags; + case 440: return DF_Type::creature_variation; + case 441: return DF_Type::creature_variation_convert_tag; + case 442: return DF_Type::crime; + case 443: return DF_Type::crime__T_flags; + case 444: return DF_Type::crime__T_mode; + case 445: return DF_Type::crime__T_punishment; + case 446: return DF_Type::crime__T_reports; + case 447: return DF_Type::cultural_identity; + case 448: return DF_Type::cultural_identity__T_group_log; + case 449: return DF_Type::cultural_identity__T_group_log__T_join_type; + case 450: return DF_Type::cumulus_type; + case 451: return DF_Type::curse_attr_change; + case 452: return DF_Type::d_init; + case 453: return DF_Type::d_init__T_store_dist; + case 454: return DF_Type::d_init__T_wound_color; + case 455: return DF_Type::d_init_embark_confirm; + case 456: return DF_Type::d_init_flags1; + case 457: return DF_Type::d_init_flags2; + case 458: return DF_Type::d_init_flags3; + case 459: return DF_Type::d_init_flags4; + case 460: return DF_Type::d_init_idlers; + case 461: return DF_Type::d_init_nickname; + case 462: return DF_Type::d_init_tunnel; + case 463: return DF_Type::d_init_z_view; + case 464: return DF_Type::dance_form; + case 465: return DF_Type::dance_form_sub1; + case 466: return DF_Type::dance_form_sub2; + case 467: return DF_Type::death_type; + case 468: return DF_Type::deep_vein_hollow; + case 469: return DF_Type::descriptor_color; + case 470: return DF_Type::descriptor_pattern; + case 471: return DF_Type::descriptor_shape; + case 472: return DF_Type::descriptor_shape__T_gems_use; + case 473: return DF_Type::dfhack_knowledge_scholar_flag; + case 474: return DF_Type::dfhack_material_category; + case 475: return DF_Type::dfhack_room_quality_level; + case 476: return DF_Type::dipscript_info; + case 477: return DF_Type::dipscript_popup; + case 478: return DF_Type::dipscript_popup__T_flags; + case 479: return DF_Type::door_flags; + case 480: return DF_Type::dye_info; + case 481: return DF_Type::effect_info; + case 482: return DF_Type::embark_finder_option; + case 483: return DF_Type::embark_item_choice; + case 484: return DF_Type::embark_item_choice__T_list; + case 485: return DF_Type::embark_location; + case 486: return DF_Type::embark_note; + case 487: return DF_Type::embark_profile; + case 488: return DF_Type::emotion_type; + case 489: return DF_Type::enabler; + case 490: return DF_Type::enabler__T_async_frombox; + case 491: return DF_Type::enabler__T_async_frombox__T_queue; + case 492: return DF_Type::enabler__T_async_frombox__T_queue___union1; + case 493: return DF_Type::enabler__T_async_frombox__T_queue___union1___struct1; + case 494: return DF_Type::enabler__T_async_frombox__T_queue__T_msg; + case 495: return DF_Type::enabler__T_async_tobox; + case 496: return DF_Type::enabler__T_async_tobox__T_queue; + case 497: return DF_Type::enabler__T_async_tobox__T_queue__T_cmd; + case 498: return DF_Type::enabler__T_async_zoom; + case 499: return DF_Type::enabler__T_flag; + case 500: return DF_Type::enabler__T_gputicks; + case 501: return DF_Type::enabler__T_overridden_grid_sizes; + case 502: return DF_Type::enabler__T_simticks; + case 503: return DF_Type::enabler__T_textures; + case 504: return DF_Type::engraving; + case 505: return DF_Type::engraving_flags; + case 506: return DF_Type::entity_action_type; + case 507: return DF_Type::entity_activity_statistics; + case 508: return DF_Type::entity_activity_statistics__T_food; + case 509: return DF_Type::entity_activity_statistics__T_found_misc; + case 510: return DF_Type::entity_activity_statistics__T_wealth; + case 511: return DF_Type::entity_animal_raw; + case 512: return DF_Type::entity_animal_raw__T_flags; + case 513: return DF_Type::entity_buy_prices; + case 514: return DF_Type::entity_buy_requests; + case 515: return DF_Type::entity_claim_mask; + case 516: return DF_Type::entity_claim_mask__T_map; + case 517: return DF_Type::entity_entity_link; + case 518: return DF_Type::entity_entity_link_type; + case 519: return DF_Type::entity_event; + case 520: return DF_Type::entity_event__T_data; + case 521: return DF_Type::entity_event__T_data__T_abandon; + case 522: return DF_Type::entity_event__T_data__T_abduction; + case 523: return DF_Type::entity_event__T_data__T_accept_peace_offer; + case 524: return DF_Type::entity_event__T_data__T_accept_tribute_demand; + case 525: return DF_Type::entity_event__T_data__T_accept_tribute_offer; + case 526: return DF_Type::entity_event__T_data__T_artifact_destroyed; + case 527: return DF_Type::entity_event__T_data__T_artifact_in_feature_layer; + case 528: return DF_Type::entity_event__T_data__T_artifact_in_inventory; + case 529: return DF_Type::entity_event__T_data__T_artifact_in_site; + case 530: return DF_Type::entity_event__T_data__T_artifact_in_subregion; + case 531: return DF_Type::entity_event__T_data__T_artifact_not_in_feature_layer; + case 532: return DF_Type::entity_event__T_data__T_artifact_not_in_inventory; + case 533: return DF_Type::entity_event__T_data__T_artifact_not_in_site; + case 534: return DF_Type::entity_event__T_data__T_artifact_not_in_subregion; + case 535: return DF_Type::entity_event__T_data__T_beast; + case 536: return DF_Type::entity_event__T_data__T_cease_tribute_offer; + case 537: return DF_Type::entity_event__T_data__T_claim; + case 538: return DF_Type::entity_event__T_data__T_flee; + case 539: return DF_Type::entity_event__T_data__T_founded; + case 540: return DF_Type::entity_event__T_data__T_founding; + case 541: return DF_Type::entity_event__T_data__T_group; + case 542: return DF_Type::entity_event__T_data__T_harass; + case 543: return DF_Type::entity_event__T_data__T_incident; + case 544: return DF_Type::entity_event__T_data__T_insurrection; + case 545: return DF_Type::entity_event__T_data__T_insurrection_end; + case 546: return DF_Type::entity_event__T_data__T_insurrection_end__T_result; + case 547: return DF_Type::entity_event__T_data__T_invasion; + case 548: return DF_Type::entity_event__T_data__T_leave; + case 549: return DF_Type::entity_event__T_data__T_occupation; + case 550: return DF_Type::entity_event__T_data__T_reclaimed; + case 551: return DF_Type::entity_event__T_data__T_reclaiming; + case 552: return DF_Type::entity_event__T_data__T_refuse_peace_offer; + case 553: return DF_Type::entity_event__T_data__T_refuse_tribute_demand; + case 554: return DF_Type::entity_event__T_data__T_refuse_tribute_offer; + case 555: return DF_Type::entity_event__T_data__T_succession; + case 556: return DF_Type::entity_event_type; + case 557: return DF_Type::entity_material_category; + case 558: return DF_Type::entity_name_type; + case 559: return DF_Type::entity_occasion; + case 560: return DF_Type::entity_occasion_info; + case 561: return DF_Type::entity_occasion_schedule; + case 562: return DF_Type::entity_occasion_schedule_feature; + case 563: return DF_Type::entity_population; + case 564: return DF_Type::entity_population_unk4; + case 565: return DF_Type::entity_population_unk4__T_anon_1; + case 566: return DF_Type::entity_population_unk4__T_anon_3; + case 567: return DF_Type::entity_position; + case 568: return DF_Type::entity_position_assignment; + case 569: return DF_Type::entity_position_flags; + case 570: return DF_Type::entity_position_raw; + case 571: return DF_Type::entity_position_raw_flags; + case 572: return DF_Type::entity_position_responsibility; + case 573: return DF_Type::entity_raw; + case 574: return DF_Type::entity_raw__T_equipment; + case 575: return DF_Type::entity_raw__T_jobs; + case 576: return DF_Type::entity_raw__T_land_holder_trigger; + case 577: return DF_Type::entity_raw__T_progress_trigger; + case 578: return DF_Type::entity_raw__T_scholar; + case 579: return DF_Type::entity_raw__T_symbols; + case 580: return DF_Type::entity_raw__T_tissue_styles; + case 581: return DF_Type::entity_raw__T_workshops; + case 582: return DF_Type::entity_raw_flags; + case 583: return DF_Type::entity_recipe; + case 584: return DF_Type::entity_sell_category; + case 585: return DF_Type::entity_sell_prices; + case 586: return DF_Type::entity_sell_requests; + case 587: return DF_Type::entity_site_link; + case 588: return DF_Type::entity_site_link__T_anon_8; + case 589: return DF_Type::entity_site_link__T_flags; + case 590: return DF_Type::entity_tissue_style; + case 591: return DF_Type::entity_uniform; + case 592: return DF_Type::entity_uniform_item; + case 593: return DF_Type::environment_type; + case 594: return DF_Type::era_type; + case 595: return DF_Type::ethic_response; + case 596: return DF_Type::ethic_type; + case 597: return DF_Type::feature; + case 598: return DF_Type::feature_alteration; + case 599: return DF_Type::feature_alteration_new_lava_fill_zst; + case 600: return DF_Type::feature_alteration_new_pop_maxst; + case 601: return DF_Type::feature_alteration_type; + case 602: return DF_Type::feature_cavest; + case 603: return DF_Type::feature_deep_special_tubest; + case 604: return DF_Type::feature_deep_surface_portalst; + case 605: return DF_Type::feature_init; + case 606: return DF_Type::feature_init_cavest; + case 607: return DF_Type::feature_init_deep_special_tubest; + case 608: return DF_Type::feature_init_deep_surface_portalst; + case 609: return DF_Type::feature_init_flags; + case 610: return DF_Type::feature_init_magma_core_from_layerst; + case 611: return DF_Type::feature_init_magma_poolst; + case 612: return DF_Type::feature_init_outdoor_riverst; + case 613: return DF_Type::feature_init_pitst; + case 614: return DF_Type::feature_init_subterranean_from_layerst; + case 615: return DF_Type::feature_init_underworld_from_layerst; + case 616: return DF_Type::feature_init_volcanost; + case 617: return DF_Type::feature_magma_core_from_layerst; + case 618: return DF_Type::feature_magma_poolst; + case 619: return DF_Type::feature_outdoor_riverst; + case 620: return DF_Type::feature_pitst; + case 621: return DF_Type::feature_subterranean_from_layerst; + case 622: return DF_Type::feature_type; + case 623: return DF_Type::feature_underworld_from_layerst; + case 624: return DF_Type::feature_volcanost; + case 625: return DF_Type::file_compressorst; + case 626: return DF_Type::fire; + case 627: return DF_Type::flow_guide; + case 628: return DF_Type::flow_guide_item_cloudst; + case 629: return DF_Type::flow_guide_trailing_flowst; + case 630: return DF_Type::flow_guide_type; + case 631: return DF_Type::flow_info; + case 632: return DF_Type::flow_reuse_pool; + case 633: return DF_Type::flow_reuse_pool__T_flags; + case 634: return DF_Type::flow_type; + case 635: return DF_Type::fog_type; + case 636: return DF_Type::front_type; + case 637: return DF_Type::furnace_type; + case 638: return DF_Type::furniture_type; + case 639: return DF_Type::gait_info; + case 640: return DF_Type::gait_info__T_flags; + case 641: return DF_Type::gait_type; + case 642: return DF_Type::game_mode; + case 643: return DF_Type::game_type; + case 644: return DF_Type::gate_flags; + case 645: return DF_Type::general_ref; + case 646: return DF_Type::general_ref_abstract_buildingst; + case 647: return DF_Type::general_ref_activity_eventst; + case 648: return DF_Type::general_ref_artifact; + case 649: return DF_Type::general_ref_building; + case 650: return DF_Type::general_ref_building_cagedst; + case 651: return DF_Type::general_ref_building_chainst; + case 652: return DF_Type::general_ref_building_civzone_assignedst; + case 653: return DF_Type::general_ref_building_destinationst; + case 654: return DF_Type::general_ref_building_display_furniturest; + case 655: return DF_Type::general_ref_building_holderst; + case 656: return DF_Type::general_ref_building_nest_boxst; + case 657: return DF_Type::general_ref_building_triggerst; + case 658: return DF_Type::general_ref_building_triggertargetst; + case 659: return DF_Type::general_ref_building_use_target_1st; + case 660: return DF_Type::general_ref_building_use_target_2st; + case 661: return DF_Type::general_ref_building_well_tag; + case 662: return DF_Type::general_ref_coinbatch; + case 663: return DF_Type::general_ref_contained_in_itemst; + case 664: return DF_Type::general_ref_contains_itemst; + case 665: return DF_Type::general_ref_contains_unitst; + case 666: return DF_Type::general_ref_creaturest; + case 667: return DF_Type::general_ref_creaturest__T_flags; + case 668: return DF_Type::general_ref_dance_formst; + case 669: return DF_Type::general_ref_entity; + case 670: return DF_Type::general_ref_entity_art_image; + case 671: return DF_Type::general_ref_entity_itemownerst; + case 672: return DF_Type::general_ref_entity_offeredst; + case 673: return DF_Type::general_ref_entity_popst; + case 674: return DF_Type::general_ref_entity_popst__T_flags; + case 675: return DF_Type::general_ref_entity_stolenst; + case 676: return DF_Type::general_ref_feature_layerst; + case 677: return DF_Type::general_ref_historical_eventst; + case 678: return DF_Type::general_ref_historical_figurest; + case 679: return DF_Type::general_ref_interactionst; + case 680: return DF_Type::general_ref_is_artifactst; + case 681: return DF_Type::general_ref_is_nemesisst; + case 682: return DF_Type::general_ref_item; + case 683: return DF_Type::general_ref_item_type; + case 684: return DF_Type::general_ref_knowledge_scholar_flagst; + case 685: return DF_Type::general_ref_languagest; + case 686: return DF_Type::general_ref_locationst; + case 687: return DF_Type::general_ref_mapsquare; + case 688: return DF_Type::general_ref_musical_formst; + case 689: return DF_Type::general_ref_nemesis; + case 690: return DF_Type::general_ref_poetic_formst; + case 691: return DF_Type::general_ref_projectile; + case 692: return DF_Type::general_ref_sitest; + case 693: return DF_Type::general_ref_spherest; + case 694: return DF_Type::general_ref_subregionst; + case 695: return DF_Type::general_ref_type; + case 696: return DF_Type::general_ref_unit; + case 697: return DF_Type::general_ref_unit_beateest; + case 698: return DF_Type::general_ref_unit_cageest; + case 699: return DF_Type::general_ref_unit_climberst; + case 700: return DF_Type::general_ref_unit_foodreceiverst; + case 701: return DF_Type::general_ref_unit_geldeest; + case 702: return DF_Type::general_ref_unit_holderst; + case 703: return DF_Type::general_ref_unit_infantst; + case 704: return DF_Type::general_ref_unit_itemownerst; + case 705: return DF_Type::general_ref_unit_itemownerst__T_flags; + case 706: return DF_Type::general_ref_unit_kidnapeest; + case 707: return DF_Type::general_ref_unit_milkeest; + case 708: return DF_Type::general_ref_unit_patientst; + case 709: return DF_Type::general_ref_unit_reporteest; + case 710: return DF_Type::general_ref_unit_riderst; + case 711: return DF_Type::general_ref_unit_sheareest; + case 712: return DF_Type::general_ref_unit_slaughtereest; + case 713: return DF_Type::general_ref_unit_suckeest; + case 714: return DF_Type::general_ref_unit_tradebringerst; + case 715: return DF_Type::general_ref_unit_traineest; + case 716: return DF_Type::general_ref_unit_workerst; + case 717: return DF_Type::general_ref_value_levelst; + case 718: return DF_Type::general_ref_written_contentst; + case 719: return DF_Type::geo_layer_type; + case 720: return DF_Type::ghost_goal; + case 721: return DF_Type::ghost_type; + case 722: return DF_Type::gloves_flags; + case 723: return DF_Type::glowing_barrier; + case 724: return DF_Type::goal_type; + case 725: return DF_Type::graphic; + case 726: return DF_Type::guild_id; + case 727: return DF_Type::hauler_type; + case 728: return DF_Type::hauling_route; + case 729: return DF_Type::hauling_stop; + case 730: return DF_Type::health_view_bits1; + case 731: return DF_Type::health_view_bits2; + case 732: return DF_Type::health_view_bits3; + case 733: return DF_Type::helm_flags; + case 734: return DF_Type::hillock_house_type; + case 735: return DF_Type::histfig_body_state; + case 736: return DF_Type::histfig_entity_link; + case 737: return DF_Type::histfig_entity_link_criminalst; + case 738: return DF_Type::histfig_entity_link_enemyst; + case 739: return DF_Type::histfig_entity_link_former_memberst; + case 740: return DF_Type::histfig_entity_link_former_mercenaryst; + case 741: return DF_Type::histfig_entity_link_former_occupationst; + case 742: return DF_Type::histfig_entity_link_former_positionst; + case 743: return DF_Type::histfig_entity_link_former_prisonerst; + case 744: return DF_Type::histfig_entity_link_former_slavest; + case 745: return DF_Type::histfig_entity_link_former_squadst; + case 746: return DF_Type::histfig_entity_link_memberst; + case 747: return DF_Type::histfig_entity_link_mercenaryst; + case 748: return DF_Type::histfig_entity_link_occupationst; + case 749: return DF_Type::histfig_entity_link_position_claimst; + case 750: return DF_Type::histfig_entity_link_positionst; + case 751: return DF_Type::histfig_entity_link_prisonerst; + case 752: return DF_Type::histfig_entity_link_slavest; + case 753: return DF_Type::histfig_entity_link_squadst; + case 754: return DF_Type::histfig_entity_link_type; + case 755: return DF_Type::histfig_flags; + case 756: return DF_Type::histfig_hf_link; + case 757: return DF_Type::histfig_hf_link_apprenticest; + case 758: return DF_Type::histfig_hf_link_childst; + case 759: return DF_Type::histfig_hf_link_companionst; + case 760: return DF_Type::histfig_hf_link_deityst; + case 761: return DF_Type::histfig_hf_link_fatherst; + case 762: return DF_Type::histfig_hf_link_former_apprenticest; + case 763: return DF_Type::histfig_hf_link_former_masterst; + case 764: return DF_Type::histfig_hf_link_imprisonerst; + case 765: return DF_Type::histfig_hf_link_loverst; + case 766: return DF_Type::histfig_hf_link_masterst; + case 767: return DF_Type::histfig_hf_link_motherst; + case 768: return DF_Type::histfig_hf_link_pet_ownerst; + case 769: return DF_Type::histfig_hf_link_prisonerst; + case 770: return DF_Type::histfig_hf_link_spousest; + case 771: return DF_Type::histfig_hf_link_type; + case 772: return DF_Type::histfig_relationship_type; + case 773: return DF_Type::histfig_site_link; + case 774: return DF_Type::histfig_site_link_hangoutst; + case 775: return DF_Type::histfig_site_link_home_site_abstract_buildingst; + case 776: return DF_Type::histfig_site_link_home_site_realization_buildingst; + case 777: return DF_Type::histfig_site_link_home_site_realization_sulst; + case 778: return DF_Type::histfig_site_link_home_site_saved_civzonest; + case 779: return DF_Type::histfig_site_link_lairst; + case 780: return DF_Type::histfig_site_link_occupationst; + case 781: return DF_Type::histfig_site_link_seat_of_powerst; + case 782: return DF_Type::histfig_site_link_type; + case 783: return DF_Type::historical_entity; + case 784: return DF_Type::historical_entity__T_claims; + case 785: return DF_Type::historical_entity__T_derived_resources; + case 786: return DF_Type::historical_entity__T_flags; + case 787: return DF_Type::historical_entity__T_positions; + case 788: return DF_Type::historical_entity__T_resources; + case 789: return DF_Type::historical_entity__T_resources__T_animals; + case 790: return DF_Type::historical_entity__T_resources__T_metal; + case 791: return DF_Type::historical_entity__T_resources__T_misc_mat; + case 792: return DF_Type::historical_entity__T_resources__T_organic; + case 793: return DF_Type::historical_entity__T_resources__T_refuse; + case 794: return DF_Type::historical_entity__T_resources__T_unk13; + case 795: return DF_Type::historical_entity__T_resources__T_wood_products; + case 796: return DF_Type::historical_entity__T_tissue_styles; + case 797: return DF_Type::historical_entity__T_training_knowledge; + case 798: return DF_Type::historical_entity__T_unknown1b; + case 799: return DF_Type::historical_entity__T_unknown1b__T_diplomacy; + case 800: return DF_Type::historical_entity__T_unknown1b__T_unk32e; + case 801: return DF_Type::historical_entity__T_unknown1d; + case 802: return DF_Type::historical_entity__T_unknown1e; + case 803: return DF_Type::historical_entity__T_unknown2; + case 804: return DF_Type::historical_entity_type; + case 805: return DF_Type::historical_figure; + case 806: return DF_Type::historical_figure__T_unk_fc; + case 807: return DF_Type::historical_figure_info; + case 808: return DF_Type::historical_figure_info__T_books; + case 809: return DF_Type::historical_figure_info__T_curse; + case 810: return DF_Type::historical_figure_info__T_masterpieces; + case 811: return DF_Type::historical_figure_info__T_personality; + case 812: return DF_Type::historical_figure_info__T_relationships; + case 813: return DF_Type::historical_figure_info__T_relationships__T_anon_1; + case 814: return DF_Type::historical_figure_info__T_relationships__T_anon_2; + case 815: return DF_Type::historical_figure_info__T_relationships__T_anon_3; + case 816: return DF_Type::historical_figure_info__T_relationships__T_list; + case 817: return DF_Type::historical_figure_info__T_reputation; + case 818: return DF_Type::historical_figure_info__T_reputation__T_anon_1; + case 819: return DF_Type::historical_figure_info__T_reputation__T_unk_2c; + case 820: return DF_Type::historical_figure_info__T_reputation__T_unk_2c__T_anon_12; + case 821: return DF_Type::historical_figure_info__T_reputation__T_wanted; + case 822: return DF_Type::historical_figure_info__T_secret; + case 823: return DF_Type::historical_figure_info__T_secret__T_anon_1; + case 824: return DF_Type::historical_figure_info__T_secret__T_anon_7; + case 825: return DF_Type::historical_figure_info__T_secret__T_knowledge; + case 826: return DF_Type::historical_figure_info__T_secret__T_knowledge__T_knowledge_goal; + case 827: return DF_Type::historical_figure_info__T_secret__T_unk_a8; + case 828: return DF_Type::historical_figure_info__T_skills; + case 829: return DF_Type::historical_figure_info__T_unk_14; + case 830: return DF_Type::historical_figure_info__T_wounds; + case 831: return DF_Type::historical_kills; + case 832: return DF_Type::historical_kills__T_killed_undead; + case 833: return DF_Type::history_era; + case 834: return DF_Type::history_era__T_details; + case 835: return DF_Type::history_era__T_title; + case 836: return DF_Type::history_event; + case 837: return DF_Type::history_event_add_hf_entity_linkst; + case 838: return DF_Type::history_event_add_hf_hf_linkst; + case 839: return DF_Type::history_event_add_hf_site_linkst; + case 840: return DF_Type::history_event_agreement_concludedst; + case 841: return DF_Type::history_event_agreement_formedst; + case 842: return DF_Type::history_event_agreements_voidedst; + case 843: return DF_Type::history_event_artifact_claim_formedst; + case 844: return DF_Type::history_event_artifact_claim_formedst__T_claim_type; + case 845: return DF_Type::history_event_artifact_copiedst; + case 846: return DF_Type::history_event_artifact_copiedst__T_flags2; + case 847: return DF_Type::history_event_artifact_createdst; + case 848: return DF_Type::history_event_artifact_destroyedst; + case 849: return DF_Type::history_event_artifact_droppedst; + case 850: return DF_Type::history_event_artifact_foundst; + case 851: return DF_Type::history_event_artifact_givenst; + case 852: return DF_Type::history_event_artifact_hiddenst; + case 853: return DF_Type::history_event_artifact_lostst; + case 854: return DF_Type::history_event_artifact_possessedst; + case 855: return DF_Type::history_event_artifact_recoveredst; + case 856: return DF_Type::history_event_artifact_storedst; + case 857: return DF_Type::history_event_artifact_transformedst; + case 858: return DF_Type::history_event_assume_identityst; + case 859: return DF_Type::history_event_body_abusedst; + case 860: return DF_Type::history_event_body_abusedst__T_abuse_type; + case 861: return DF_Type::history_event_body_abusedst__T_props; + case 862: return DF_Type::history_event_body_abusedst__T_props__T_hung; + case 863: return DF_Type::history_event_body_abusedst__T_props__T_item; + case 864: return DF_Type::history_event_body_abusedst__T_props__T_pile_type; + case 865: return DF_Type::history_event_ceremonyst; + case 866: return DF_Type::history_event_change_creature_typest; + case 867: return DF_Type::history_event_change_hf_body_statest; + case 868: return DF_Type::history_event_change_hf_jobst; + case 869: return DF_Type::history_event_change_hf_moodst; + case 870: return DF_Type::history_event_change_hf_statest; + case 871: return DF_Type::history_event_change_hf_statest__T_state; + case 872: return DF_Type::history_event_collection; + case 873: return DF_Type::history_event_collection_abductionst; + case 874: return DF_Type::history_event_collection_battlest; + case 875: return DF_Type::history_event_collection_beast_attackst; + case 876: return DF_Type::history_event_collection_ceremonyst; + case 877: return DF_Type::history_event_collection_competitionst; + case 878: return DF_Type::history_event_collection_duelst; + case 879: return DF_Type::history_event_collection_insurrectionst; + case 880: return DF_Type::history_event_collection_journeyst; + case 881: return DF_Type::history_event_collection_occasionst; + case 882: return DF_Type::history_event_collection_performancest; + case 883: return DF_Type::history_event_collection_processionst; + case 884: return DF_Type::history_event_collection_purgest; + case 885: return DF_Type::history_event_collection_raidst; + case 886: return DF_Type::history_event_collection_site_conqueredst; + case 887: return DF_Type::history_event_collection_theftst; + case 888: return DF_Type::history_event_collection_type; + case 889: return DF_Type::history_event_collection_warst; + case 890: return DF_Type::history_event_collection_warst__T_unk; + case 891: return DF_Type::history_event_competitionst; + case 892: return DF_Type::history_event_context; + case 893: return DF_Type::history_event_create_entity_positionst; + case 894: return DF_Type::history_event_created_buildingst; + case 895: return DF_Type::history_event_created_sitest; + case 896: return DF_Type::history_event_created_world_constructionst; + case 897: return DF_Type::history_event_creature_devouredst; + case 898: return DF_Type::history_event_dance_form_createdst; + case 899: return DF_Type::history_event_diplomat_lostst; + case 900: return DF_Type::history_event_entity_actionst; + case 901: return DF_Type::history_event_entity_createdst; + case 902: return DF_Type::history_event_entity_expels_hfst; + case 903: return DF_Type::history_event_entity_fled_sitest; + case 904: return DF_Type::history_event_entity_incorporatedst; + case 905: return DF_Type::history_event_entity_lawst; + case 906: return DF_Type::history_event_entity_rampaged_in_sitest; + case 907: return DF_Type::history_event_entity_razed_buildingst; + case 908: return DF_Type::history_event_entity_searched_sitest; + case 909: return DF_Type::history_event_first_contact_failedst; + case 910: return DF_Type::history_event_first_contactst; + case 911: return DF_Type::history_event_hf_act_on_artifactst; + case 912: return DF_Type::history_event_hf_act_on_artifactst__T_action; + case 913: return DF_Type::history_event_hf_act_on_buildingst; + case 914: return DF_Type::history_event_hf_act_on_buildingst__T_action; + case 915: return DF_Type::history_event_hf_attacked_sitest; + case 916: return DF_Type::history_event_hf_confrontedst; + case 917: return DF_Type::history_event_hf_destroyed_sitest; + case 918: return DF_Type::history_event_hf_does_interactionst; + case 919: return DF_Type::history_event_hf_freedst; + case 920: return DF_Type::history_event_hf_gains_secret_goalst; + case 921: return DF_Type::history_event_hf_learns_secretst; + case 922: return DF_Type::history_event_hf_razed_buildingst; + case 923: return DF_Type::history_event_hf_recruited_unit_type_for_entityst; + case 924: return DF_Type::history_event_hf_relationship_deniedst; + case 925: return DF_Type::history_event_hfs_formed_reputation_relationshipst; + case 926: return DF_Type::history_event_hist_figure_abductedst; + case 927: return DF_Type::history_event_hist_figure_diedst; + case 928: return DF_Type::history_event_hist_figure_new_petst; + case 929: return DF_Type::history_event_hist_figure_reach_summitst; + case 930: return DF_Type::history_event_hist_figure_reunionst; + case 931: return DF_Type::history_event_hist_figure_revivedst; + case 932: return DF_Type::history_event_hist_figure_simple_actionst; + case 933: return DF_Type::history_event_hist_figure_simple_battle_eventst; + case 934: return DF_Type::history_event_hist_figure_travelst; + case 935: return DF_Type::history_event_hist_figure_travelst__T_reason; + case 936: return DF_Type::history_event_hist_figure_woundedst; + case 937: return DF_Type::history_event_hist_figure_woundedst__T_injury_type; + case 938: return DF_Type::history_event_insurrection_endedst; + case 939: return DF_Type::history_event_insurrection_startedst; + case 940: return DF_Type::history_event_item_stolenst; + case 941: return DF_Type::history_event_knowledge_discoveredst; + case 942: return DF_Type::history_event_masterpiece_created_arch_constructst; + case 943: return DF_Type::history_event_masterpiece_created_arch_designst; + case 944: return DF_Type::history_event_masterpiece_created_dye_itemst; + case 945: return DF_Type::history_event_masterpiece_created_engravingst; + case 946: return DF_Type::history_event_masterpiece_created_foodst; + case 947: return DF_Type::history_event_masterpiece_created_item_improvementst; + case 948: return DF_Type::history_event_masterpiece_created_itemst; + case 949: return DF_Type::history_event_masterpiece_createdst; + case 950: return DF_Type::history_event_masterpiece_lostst; + case 951: return DF_Type::history_event_merchantst; + case 952: return DF_Type::history_event_musical_form_createdst; + case 953: return DF_Type::history_event_performancest; + case 954: return DF_Type::history_event_poetic_form_createdst; + case 955: return DF_Type::history_event_processionst; + case 956: return DF_Type::history_event_reason; + case 957: return DF_Type::history_event_reclaim_sitest; + case 958: return DF_Type::history_event_regionpop_incorporated_into_entityst; + case 959: return DF_Type::history_event_remove_hf_entity_linkst; + case 960: return DF_Type::history_event_remove_hf_hf_linkst; + case 961: return DF_Type::history_event_remove_hf_site_linkst; + case 962: return DF_Type::history_event_replaced_buildingst; + case 963: return DF_Type::history_event_simple_battle_subtype; + case 964: return DF_Type::history_event_site_diedst; + case 965: return DF_Type::history_event_site_disputest; + case 966: return DF_Type::history_event_site_retiredst; + case 967: return DF_Type::history_event_site_surrenderedst; + case 968: return DF_Type::history_event_sneak_into_sitest; + case 969: return DF_Type::history_event_spotted_leaving_sitest; + case 970: return DF_Type::history_event_squad_vs_squadst; + case 971: return DF_Type::history_event_tactical_situationst; + case 972: return DF_Type::history_event_tactical_situationst__T_tactics_flags; + case 973: return DF_Type::history_event_topicagreement_concludedst; + case 974: return DF_Type::history_event_topicagreement_madest; + case 975: return DF_Type::history_event_topicagreement_rejectedst; + case 976: return DF_Type::history_event_type; + case 977: return DF_Type::history_event_war_attacked_sitest; + case 978: return DF_Type::history_event_war_destroyed_sitest; + case 979: return DF_Type::history_event_war_field_battlest; + case 980: return DF_Type::history_event_war_peace_acceptedst; + case 981: return DF_Type::history_event_war_peace_rejectedst; + case 982: return DF_Type::history_event_war_plundered_sitest; + case 983: return DF_Type::history_event_war_site_new_leaderst; + case 984: return DF_Type::history_event_war_site_taken_overst; + case 985: return DF_Type::history_event_war_site_tribute_forcedst; + case 986: return DF_Type::history_event_war_site_tribute_forcedst__T_tribute_flags; + case 987: return DF_Type::history_event_written_content_composedst; + case 988: return DF_Type::history_hit_item; + case 989: return DF_Type::hive_flags; + case 990: return DF_Type::hospital_supplies; + case 991: return DF_Type::hospital_supplies__T_supplies_needed; + case 992: return DF_Type::identity; + case 993: return DF_Type::identity_unk_94; + case 994: return DF_Type::improvement_type; + case 995: return DF_Type::incident; + case 996: return DF_Type::incident__T_flags; + case 997: return DF_Type::incident__T_unk_v42_1; + case 998: return DF_Type::incident_hfid; + case 999: return DF_Type::incident_sub10; + case 1000: return DF_Type::incident_sub6_performance; + case 1001: return DF_Type::incident_sub6_performance__T_participants; + case 1002: return DF_Type::incident_sub7; + case 1003: return DF_Type::incident_sub8; + case 1004: return DF_Type::incident_sub9; + case 1005: return DF_Type::inclusion_type; + case 1006: return DF_Type::init; + case 1007: return DF_Type::init_display; + case 1008: return DF_Type::init_display__T_windowed; + case 1009: return DF_Type::init_display_flags; + case 1010: return DF_Type::init_font; + case 1011: return DF_Type::init_font__T_use_ttf; + case 1012: return DF_Type::init_input; + case 1013: return DF_Type::init_input_flags; + case 1014: return DF_Type::init_media; + case 1015: return DF_Type::init_media_flags; + case 1016: return DF_Type::init_window; + case 1017: return DF_Type::init_window_flags; + case 1018: return DF_Type::inorganic_flags; + case 1019: return DF_Type::inorganic_raw; + case 1020: return DF_Type::inorganic_raw__T_environment; + case 1021: return DF_Type::inorganic_raw__T_environment_spec; + case 1022: return DF_Type::inorganic_raw__T_metal_ore; + case 1023: return DF_Type::inorganic_raw__T_thread_metal; + case 1024: return DF_Type::instrument_flags; + case 1025: return DF_Type::instrument_piece; + case 1026: return DF_Type::instrument_piece__T_flags; + case 1027: return DF_Type::instrument_register; + case 1028: return DF_Type::insurrection_outcome; + case 1029: return DF_Type::interaction; + case 1030: return DF_Type::interaction_effect; + case 1031: return DF_Type::interaction_effect__T_flags; + case 1032: return DF_Type::interaction_effect_add_syndromest; + case 1033: return DF_Type::interaction_effect_animatest; + case 1034: return DF_Type::interaction_effect_cleanst; + case 1035: return DF_Type::interaction_effect_contactst; + case 1036: return DF_Type::interaction_effect_hidest; + case 1037: return DF_Type::interaction_effect_location_hint; + case 1038: return DF_Type::interaction_effect_material_emissionst; + case 1039: return DF_Type::interaction_effect_resurrectst; + case 1040: return DF_Type::interaction_effect_type; + case 1041: return DF_Type::interaction_instance; + case 1042: return DF_Type::interaction_source; + case 1043: return DF_Type::interaction_source_attackst; + case 1044: return DF_Type::interaction_source_creature_actionst; + case 1045: return DF_Type::interaction_source_deityst; + case 1046: return DF_Type::interaction_source_disturbancest; + case 1047: return DF_Type::interaction_source_ingestionst; + case 1048: return DF_Type::interaction_source_regionst; + case 1049: return DF_Type::interaction_source_regionst__T_region_flags; + case 1050: return DF_Type::interaction_source_secretst; + case 1051: return DF_Type::interaction_source_secretst__T_learn_flags; + case 1052: return DF_Type::interaction_source_type; + case 1053: return DF_Type::interaction_source_underground_specialst; + case 1054: return DF_Type::interaction_source_usage_hint; + case 1055: return DF_Type::interaction_target; + case 1056: return DF_Type::interaction_target_corpsest; + case 1057: return DF_Type::interaction_target_creaturest; + case 1058: return DF_Type::interaction_target_info; + case 1059: return DF_Type::interaction_target_info__T_restrictions; + case 1060: return DF_Type::interaction_target_location_type; + case 1061: return DF_Type::interaction_target_locationst; + case 1062: return DF_Type::interaction_target_materialst; + case 1063: return DF_Type::interaction_target_materialst__T_restrictions; + case 1064: return DF_Type::interaction_target_type; + case 1065: return DF_Type::interface_breakdown_types; + case 1066: return DF_Type::interface_button; + case 1067: return DF_Type::interface_button_building_category_selectorst; + case 1068: return DF_Type::interface_button_building_custom_category_selectorst; + case 1069: return DF_Type::interface_button_building_material_selectorst; + case 1070: return DF_Type::interface_button_building_new_jobst; + case 1071: return DF_Type::interface_button_buildingst; + case 1072: return DF_Type::interface_button_construction_building_selectorst; + case 1073: return DF_Type::interface_button_construction_category_selectorst; + case 1074: return DF_Type::interface_button_construction_category_selectorst__T_category_id; + case 1075: return DF_Type::interface_button_construction_donest; + case 1076: return DF_Type::interface_button_constructionst; + case 1077: return DF_Type::interface_key; + case 1078: return DF_Type::interfacest; + case 1079: return DF_Type::invasion_info; + case 1080: return DF_Type::invasion_info__T_flags; + case 1081: return DF_Type::item; + case 1082: return DF_Type::item_actual; + case 1083: return DF_Type::item_ammost; + case 1084: return DF_Type::item_amuletst; + case 1085: return DF_Type::item_animaltrapst; + case 1086: return DF_Type::item_anvilst; + case 1087: return DF_Type::item_armorst; + case 1088: return DF_Type::item_armorstandst; + case 1089: return DF_Type::item_backpackst; + case 1090: return DF_Type::item_ballistaarrowheadst; + case 1091: return DF_Type::item_ballistapartsst; + case 1092: return DF_Type::item_barrelst; + case 1093: return DF_Type::item_barst; + case 1094: return DF_Type::item_bedst; + case 1095: return DF_Type::item_binst; + case 1096: return DF_Type::item_blocksst; + case 1097: return DF_Type::item_body_component; + case 1098: return DF_Type::item_body_component__T_appearance; + case 1099: return DF_Type::item_body_component__T_body; + case 1100: return DF_Type::item_body_component__T_bone1; + case 1101: return DF_Type::item_body_component__T_bone2; + case 1102: return DF_Type::item_body_component__T_corpse_flags; + case 1103: return DF_Type::item_bookst; + case 1104: return DF_Type::item_boulderst; + case 1105: return DF_Type::item_boxst; + case 1106: return DF_Type::item_braceletst; + case 1107: return DF_Type::item_branchst; + case 1108: return DF_Type::item_bucketst; + case 1109: return DF_Type::item_cabinetst; + case 1110: return DF_Type::item_cagest; + case 1111: return DF_Type::item_catapultpartsst; + case 1112: return DF_Type::item_chainst; + case 1113: return DF_Type::item_chairst; + case 1114: return DF_Type::item_cheesest; + case 1115: return DF_Type::item_clothst; + case 1116: return DF_Type::item_coffinst; + case 1117: return DF_Type::item_coinst; + case 1118: return DF_Type::item_constructed; + case 1119: return DF_Type::item_corpsepiecest; + case 1120: return DF_Type::item_corpsest; + case 1121: return DF_Type::item_crafted; + case 1122: return DF_Type::item_critter; + case 1123: return DF_Type::item_crownst; + case 1124: return DF_Type::item_crutchst; + case 1125: return DF_Type::item_doorst; + case 1126: return DF_Type::item_drinkst; + case 1127: return DF_Type::item_earringst; + case 1128: return DF_Type::item_eggst; + case 1129: return DF_Type::item_eggst__T_egg_flags; + case 1130: return DF_Type::item_figurinest; + case 1131: return DF_Type::item_filter_spec; + case 1132: return DF_Type::item_fish_rawst; + case 1133: return DF_Type::item_fishst; + case 1134: return DF_Type::item_flags; + case 1135: return DF_Type::item_flags2; + case 1136: return DF_Type::item_flaskst; + case 1137: return DF_Type::item_floodgatest; + case 1138: return DF_Type::item_foodst; + case 1139: return DF_Type::item_foodst__T_ingredients; + case 1140: return DF_Type::item_gemst; + case 1141: return DF_Type::item_globst; + case 1142: return DF_Type::item_glovesst; + case 1143: return DF_Type::item_gobletst; + case 1144: return DF_Type::item_gratest; + case 1145: return DF_Type::item_hatch_coverst; + case 1146: return DF_Type::item_helmst; + case 1147: return DF_Type::item_history_info; + case 1148: return DF_Type::item_instrumentst; + case 1149: return DF_Type::item_kill_info; + case 1150: return DF_Type::item_liquid; + case 1151: return DF_Type::item_liquid_miscst; + case 1152: return DF_Type::item_liquipowder; + case 1153: return DF_Type::item_magicness; + case 1154: return DF_Type::item_magicness_type; + case 1155: return DF_Type::item_matstate; + case 1156: return DF_Type::item_meatst; + case 1157: return DF_Type::item_millstonest; + case 1158: return DF_Type::item_orthopedic_castst; + case 1159: return DF_Type::item_pantsst; + case 1160: return DF_Type::item_petst; + case 1161: return DF_Type::item_petst__T_pet_flags; + case 1162: return DF_Type::item_pipe_sectionst; + case 1163: return DF_Type::item_plant_growthst; + case 1164: return DF_Type::item_plantst; + case 1165: return DF_Type::item_powder; + case 1166: return DF_Type::item_powder_miscst; + case 1167: return DF_Type::item_quality; + case 1168: return DF_Type::item_quernst; + case 1169: return DF_Type::item_quiverst; + case 1170: return DF_Type::item_remainsst; + case 1171: return DF_Type::item_ringst; + case 1172: return DF_Type::item_rockst; + case 1173: return DF_Type::item_roughst; + case 1174: return DF_Type::item_scepterst; + case 1175: return DF_Type::item_seedsst; + case 1176: return DF_Type::item_sheetst; + case 1177: return DF_Type::item_shieldst; + case 1178: return DF_Type::item_shoesst; + case 1179: return DF_Type::item_siegeammost; + case 1180: return DF_Type::item_skin_tannedst; + case 1181: return DF_Type::item_slabst; + case 1182: return DF_Type::item_smallgemst; + case 1183: return DF_Type::item_splintst; + case 1184: return DF_Type::item_statuest; + case 1185: return DF_Type::item_stockpile_ref; + case 1186: return DF_Type::item_tablest; + case 1187: return DF_Type::item_threadst; + case 1188: return DF_Type::item_toolst; + case 1189: return DF_Type::item_totemst; + case 1190: return DF_Type::item_toyst; + case 1191: return DF_Type::item_traction_benchst; + case 1192: return DF_Type::item_trapcompst; + case 1193: return DF_Type::item_trappartsst; + case 1194: return DF_Type::item_type; + case 1195: return DF_Type::item_verminst; + case 1196: return DF_Type::item_weaponrackst; + case 1197: return DF_Type::item_weaponst; + case 1198: return DF_Type::item_windowst; + case 1199: return DF_Type::item_woodst; + case 1200: return DF_Type::itemdef; + case 1201: return DF_Type::itemdef_ammost; + case 1202: return DF_Type::itemdef_armorst; + case 1203: return DF_Type::itemdef_foodst; + case 1204: return DF_Type::itemdef_glovesst; + case 1205: return DF_Type::itemdef_helmst; + case 1206: return DF_Type::itemdef_instrumentst; + case 1207: return DF_Type::itemdef_pantsst; + case 1208: return DF_Type::itemdef_shieldst; + case 1209: return DF_Type::itemdef_shoesst; + case 1210: return DF_Type::itemdef_siegeammost; + case 1211: return DF_Type::itemdef_toolst; + case 1212: return DF_Type::itemdef_toolst__T_default_improvements; + case 1213: return DF_Type::itemdef_toyst; + case 1214: return DF_Type::itemdef_trapcompst; + case 1215: return DF_Type::itemdef_weaponst; + case 1216: return DF_Type::itemimprovement; + case 1217: return DF_Type::itemimprovement_art_imagest; + case 1218: return DF_Type::itemimprovement_bandsst; + case 1219: return DF_Type::itemimprovement_clothst; + case 1220: return DF_Type::itemimprovement_coveredst; + case 1221: return DF_Type::itemimprovement_coveredst__T_cover_flags; + case 1222: return DF_Type::itemimprovement_illustrationst; + case 1223: return DF_Type::itemimprovement_instrument_piecest; + case 1224: return DF_Type::itemimprovement_itemspecificst; + case 1225: return DF_Type::itemimprovement_pagesst; + case 1226: return DF_Type::itemimprovement_rings_hangingst; + case 1227: return DF_Type::itemimprovement_sewn_imagest; + case 1228: return DF_Type::itemimprovement_sewn_imagest__T_cloth; + case 1229: return DF_Type::itemimprovement_specific_type; + case 1230: return DF_Type::itemimprovement_spikesst; + case 1231: return DF_Type::itemimprovement_threadst; + case 1232: return DF_Type::itemimprovement_writingst; + case 1233: return DF_Type::items_other_id; + case 1234: return DF_Type::job; + case 1235: return DF_Type::job_art_specification; + case 1236: return DF_Type::job_art_specification__T_type; + case 1237: return DF_Type::job_flags; + case 1238: return DF_Type::job_handler; + case 1239: return DF_Type::job_handler__T_anon_1; + case 1240: return DF_Type::job_handler__T_postings; + case 1241: return DF_Type::job_handler__T_postings__T_flags; + case 1242: return DF_Type::job_item; + case 1243: return DF_Type::job_item_filter; + case 1244: return DF_Type::job_item_flags1; + case 1245: return DF_Type::job_item_flags2; + case 1246: return DF_Type::job_item_flags3; + case 1247: return DF_Type::job_item_ref; + case 1248: return DF_Type::job_item_ref__T_role; + case 1249: return DF_Type::job_item_vector_id; + case 1250: return DF_Type::job_list_link; + case 1251: return DF_Type::job_material_category; + case 1252: return DF_Type::job_skill; + case 1253: return DF_Type::job_skill_class; + case 1254: return DF_Type::job_subtype_surgery; + case 1255: return DF_Type::job_type; + case 1256: return DF_Type::job_type_class; + case 1257: return DF_Type::KeybindingScreen; + case 1258: return DF_Type::KeybindingScreen__T_mode; + case 1259: return DF_Type::kitchen_exc_type; + case 1260: return DF_Type::kitchen_pref_flag; + case 1261: return DF_Type::knowledge_scholar_category_flag; + case 1262: return DF_Type::knowledge_scholar_category_flag__T_flags; + case 1263: return DF_Type::knowledge_scholar_flags_0; + case 1264: return DF_Type::knowledge_scholar_flags_1; + case 1265: return DF_Type::knowledge_scholar_flags_10; + case 1266: return DF_Type::knowledge_scholar_flags_11; + case 1267: return DF_Type::knowledge_scholar_flags_12; + case 1268: return DF_Type::knowledge_scholar_flags_13; + case 1269: return DF_Type::knowledge_scholar_flags_2; + case 1270: return DF_Type::knowledge_scholar_flags_3; + case 1271: return DF_Type::knowledge_scholar_flags_4; + case 1272: return DF_Type::knowledge_scholar_flags_5; + case 1273: return DF_Type::knowledge_scholar_flags_6; + case 1274: return DF_Type::knowledge_scholar_flags_7; + case 1275: return DF_Type::knowledge_scholar_flags_8; + case 1276: return DF_Type::knowledge_scholar_flags_9; + case 1277: return DF_Type::language_name; + case 1278: return DF_Type::language_name_category; + case 1279: return DF_Type::language_symbol; + case 1280: return DF_Type::language_translation; + case 1281: return DF_Type::language_word; + case 1282: return DF_Type::language_word_flags; + case 1283: return DF_Type::language_word_table; + case 1284: return DF_Type::large_integer; + case 1285: return DF_Type::large_integer___struct0; + case 1286: return DF_Type::large_integer__T_u; + case 1287: return DF_Type::layer_object; + case 1288: return DF_Type::layer_object_buttonst; + case 1289: return DF_Type::layer_object_listst; + case 1290: return DF_Type::lever_target_type; + case 1291: return DF_Type::loadgame_save_info; + case 1292: return DF_Type::local_population; + case 1293: return DF_Type::local_population___union6; + case 1294: return DF_Type::local_population__T_flags; + case 1295: return DF_Type::location_scribe_jobs; + case 1296: return DF_Type::machine; + case 1297: return DF_Type::machine__T_components; + case 1298: return DF_Type::machine__T_flags; + case 1299: return DF_Type::machine_conn_modes; + case 1300: return DF_Type::machine_handler; + case 1301: return DF_Type::machine_info; + case 1302: return DF_Type::machine_info__T_flags; + case 1303: return DF_Type::machine_standardst; + case 1304: return DF_Type::machine_tile_set; + case 1305: return DF_Type::machine_type; + case 1306: return DF_Type::MacroScreenLoad; + case 1307: return DF_Type::MacroScreenSave; + case 1308: return DF_Type::manager_order; + case 1309: return DF_Type::manager_order__T_frequency; + case 1310: return DF_Type::manager_order_condition_item; + case 1311: return DF_Type::manager_order_condition_item__T_compare_type; + case 1312: return DF_Type::manager_order_condition_order; + case 1313: return DF_Type::manager_order_condition_order__T_condition; + case 1314: return DF_Type::manager_order_status; + case 1315: return DF_Type::manager_order_template; + case 1316: return DF_Type::mandate; + case 1317: return DF_Type::mandate__T_mode; + case 1318: return DF_Type::mandate__T_punishment; + case 1319: return DF_Type::map_block; + case 1320: return DF_Type::map_block_column; + case 1321: return DF_Type::map_block_column__T_unmined_glyphs; + case 1322: return DF_Type::map_renderer; + case 1323: return DF_Type::map_renderer__T_anon_4; + case 1324: return DF_Type::map_viewport; + case 1325: return DF_Type::masterpiece_loss_type; + case 1326: return DF_Type::material; + case 1327: return DF_Type::material_common; + case 1328: return DF_Type::material_common__T_hardens_with_water; + case 1329: return DF_Type::material_common__T_heat; + case 1330: return DF_Type::material_common__T_reaction_product; + case 1331: return DF_Type::material_common__T_strength; + case 1332: return DF_Type::material_flags; + case 1333: return DF_Type::material_template; + case 1334: return DF_Type::material_vec_ref; + case 1335: return DF_Type::matgloss_list; + case 1336: return DF_Type::matter_state; + case 1337: return DF_Type::meeting_context; + case 1338: return DF_Type::meeting_diplomat_info; + case 1339: return DF_Type::meeting_diplomat_info__T_flags; + case 1340: return DF_Type::meeting_event; + case 1341: return DF_Type::meeting_event_type; + case 1342: return DF_Type::meeting_topic; + case 1343: return DF_Type::meeting_variable; + case 1344: return DF_Type::mental_attribute_type; + case 1345: return DF_Type::mental_picture; + case 1346: return DF_Type::mental_picture_element_hfst; + case 1347: return DF_Type::mental_picture_element_regionst; + case 1348: return DF_Type::mental_picture_element_sitest; + case 1349: return DF_Type::mental_picture_element_type; + case 1350: return DF_Type::mental_picture_elementst; + case 1351: return DF_Type::mental_picture_property_actionst; + case 1352: return DF_Type::mental_picture_property_adjectivest; + case 1353: return DF_Type::mental_picture_property_color_patternst; + case 1354: return DF_Type::mental_picture_property_datest; + case 1355: return DF_Type::mental_picture_property_emotionst; + case 1356: return DF_Type::mental_picture_property_positionst; + case 1357: return DF_Type::mental_picture_property_shapest; + case 1358: return DF_Type::mental_picture_property_timest; + case 1359: return DF_Type::mental_picture_property_toolst; + case 1360: return DF_Type::mental_picture_property_type; + case 1361: return DF_Type::mental_picture_propertyst; + case 1362: return DF_Type::misc_trait_type; + case 1363: return DF_Type::mission; + case 1364: return DF_Type::mission__T_details; + case 1365: return DF_Type::mission__T_details__T_raid; + case 1366: return DF_Type::mission__T_details__T_raid__T_raid_flags; + case 1367: return DF_Type::mission__T_details__T_raid__T_raid_type; + case 1368: return DF_Type::mission__T_details__T_recovery; + case 1369: return DF_Type::mission__T_details__T_request; + case 1370: return DF_Type::mission__T_details__T_rescue; + case 1371: return DF_Type::mission__T_type; + case 1372: return DF_Type::mission_campaign_report; + case 1373: return DF_Type::mission_report; + case 1374: return DF_Type::mood_type; + case 1375: return DF_Type::mountain_peak_flags; + case 1376: return DF_Type::moving_party; + case 1377: return DF_Type::moving_party__T_members; + case 1378: return DF_Type::musical_form; + case 1379: return DF_Type::musical_form__T_flags; + case 1380: return DF_Type::musical_form_feature; + case 1381: return DF_Type::musical_form_instruments; + case 1382: return DF_Type::musical_form_instruments__T_substitutions; + case 1383: return DF_Type::musical_form_interval; + case 1384: return DF_Type::musical_form_interval__T_flags; + case 1385: return DF_Type::musical_form_melodies; + case 1386: return DF_Type::musical_form_pitch_style; + case 1387: return DF_Type::musical_form_purpose; + case 1388: return DF_Type::musical_form_style; + case 1389: return DF_Type::musical_form_sub4; + case 1390: return DF_Type::musical_form_vocals; + case 1391: return DF_Type::need_type; + case 1392: return DF_Type::nemesis_flags; + case 1393: return DF_Type::nemesis_offload; + case 1394: return DF_Type::nemesis_record; + case 1395: return DF_Type::occasion_schedule_feature; + case 1396: return DF_Type::occasion_schedule_type; + case 1397: return DF_Type::occupation; + case 1398: return DF_Type::occupation_sub1; + case 1399: return DF_Type::occupation_type; + case 1400: return DF_Type::ocean_wave; + case 1401: return DF_Type::organic_mat_category; + case 1402: return DF_Type::orientation_flags; + case 1403: return DF_Type::pants_flags; + case 1404: return DF_Type::part_of_speech; + case 1405: return DF_Type::party_info; + case 1406: return DF_Type::pattern_type; + case 1407: return DF_Type::performance_event_type; + case 1408: return DF_Type::performance_participant_type; + case 1409: return DF_Type::performance_play_orderst; + case 1410: return DF_Type::performance_play_orderst__T_anon_4; + case 1411: return DF_Type::personality_facet_type; + case 1412: return DF_Type::physical_attribute_type; + case 1413: return DF_Type::pitch_choice_type; + case 1414: return DF_Type::plant; + case 1415: return DF_Type::plant__T_damage_flags; + case 1416: return DF_Type::plant_flags; + case 1417: return DF_Type::plant_growth; + case 1418: return DF_Type::plant_growth__T_behavior; + case 1419: return DF_Type::plant_growth__T_locations; + case 1420: return DF_Type::plant_growth_print; + case 1421: return DF_Type::plant_raw; + case 1422: return DF_Type::plant_raw__T_colors; + case 1423: return DF_Type::plant_raw__T_material_defs; + case 1424: return DF_Type::plant_raw__T_stockpile_growth_flags; + case 1425: return DF_Type::plant_raw__T_tiles; + case 1426: return DF_Type::plant_raw_flags; + case 1427: return DF_Type::plant_tree_info; + case 1428: return DF_Type::plant_tree_tile; + case 1429: return DF_Type::poetic_form; + case 1430: return DF_Type::poetic_form___union0; + case 1431: return DF_Type::poetic_form__T_flags; + case 1432: return DF_Type::poetic_form_action; + case 1433: return DF_Type::poetic_form_additional_feature; + case 1434: return DF_Type::poetic_form_caesura_position; + case 1435: return DF_Type::poetic_form_feature; + case 1436: return DF_Type::poetic_form_mood; + case 1437: return DF_Type::poetic_form_part; + case 1438: return DF_Type::poetic_form_part__T_flags; + case 1439: return DF_Type::poetic_form_part__T_line_subject_targets; + case 1440: return DF_Type::poetic_form_pattern; + case 1441: return DF_Type::poetic_form_perspective; + case 1442: return DF_Type::poetic_form_perspective__T_type; + case 1443: return DF_Type::poetic_form_subject; + case 1444: return DF_Type::popup_message; + case 1445: return DF_Type::power_info; + case 1446: return DF_Type::pressure_plate_info; + case 1447: return DF_Type::pressure_plate_info__T_flags; + case 1448: return DF_Type::profession; + case 1449: return DF_Type::proj_itemst; + case 1450: return DF_Type::proj_list_link; + case 1451: return DF_Type::proj_magicst; + case 1452: return DF_Type::proj_unitst; + case 1453: return DF_Type::projectile; + case 1454: return DF_Type::projectile_flags; + case 1455: return DF_Type::projectile_type; + case 1456: return DF_Type::punishment; + case 1457: return DF_Type::reaction; + case 1458: return DF_Type::reaction__T_building; + case 1459: return DF_Type::reaction_category; + case 1460: return DF_Type::reaction_description; + case 1461: return DF_Type::reaction_flags; + case 1462: return DF_Type::reaction_product; + case 1463: return DF_Type::reaction_product_improvement_flags; + case 1464: return DF_Type::reaction_product_item_flags; + case 1465: return DF_Type::reaction_product_item_improvementst; + case 1466: return DF_Type::reaction_product_item_improvementst__T_get_material; + case 1467: return DF_Type::reaction_product_itemst; + case 1468: return DF_Type::reaction_product_itemst__T_get_material; + case 1469: return DF_Type::reaction_product_type; + case 1470: return DF_Type::reaction_reagent; + case 1471: return DF_Type::reaction_reagent_flags; + case 1472: return DF_Type::reaction_reagent_itemst; + case 1473: return DF_Type::reaction_reagent_type; + case 1474: return DF_Type::region_block_event_sphere_fieldst; + case 1475: return DF_Type::region_block_event_type; + case 1476: return DF_Type::region_block_eventst; + case 1477: return DF_Type::region_map_entry; + case 1478: return DF_Type::region_map_entry__T_clouds; + case 1479: return DF_Type::region_map_entry__T_wind; + case 1480: return DF_Type::region_map_entry_flags; + case 1481: return DF_Type::renderer; + case 1482: return DF_Type::report; + case 1483: return DF_Type::report__T_flags; + case 1484: return DF_Type::reputation_type; + case 1485: return DF_Type::resource_allotment_data; + case 1486: return DF_Type::resource_allotment_data__T_unk_654; + case 1487: return DF_Type::resource_allotment_specifier; + case 1488: return DF_Type::resource_allotment_specifier_ammost; + case 1489: return DF_Type::resource_allotment_specifier_anvilst; + case 1490: return DF_Type::resource_allotment_specifier_armor_bodyst; + case 1491: return DF_Type::resource_allotment_specifier_armor_bootsst; + case 1492: return DF_Type::resource_allotment_specifier_armor_glovesst; + case 1493: return DF_Type::resource_allotment_specifier_armor_helmst; + case 1494: return DF_Type::resource_allotment_specifier_armor_pantsst; + case 1495: return DF_Type::resource_allotment_specifier_backpackst; + case 1496: return DF_Type::resource_allotment_specifier_bagst; + case 1497: return DF_Type::resource_allotment_specifier_bedst; + case 1498: return DF_Type::resource_allotment_specifier_bonest; + case 1499: return DF_Type::resource_allotment_specifier_boxst; + case 1500: return DF_Type::resource_allotment_specifier_cabinetst; + case 1501: return DF_Type::resource_allotment_specifier_chairst; + case 1502: return DF_Type::resource_allotment_specifier_cheesest; + case 1503: return DF_Type::resource_allotment_specifier_clothing_bodyst; + case 1504: return DF_Type::resource_allotment_specifier_clothing_bootsst; + case 1505: return DF_Type::resource_allotment_specifier_clothing_glovesst; + case 1506: return DF_Type::resource_allotment_specifier_clothing_helmst; + case 1507: return DF_Type::resource_allotment_specifier_clothing_pantsst; + case 1508: return DF_Type::resource_allotment_specifier_clothst; + case 1509: return DF_Type::resource_allotment_specifier_craftsst; + case 1510: return DF_Type::resource_allotment_specifier_cropst; + case 1511: return DF_Type::resource_allotment_specifier_extractst; + case 1512: return DF_Type::resource_allotment_specifier_flaskst; + case 1513: return DF_Type::resource_allotment_specifier_gemsst; + case 1514: return DF_Type::resource_allotment_specifier_hornst; + case 1515: return DF_Type::resource_allotment_specifier_leatherst; + case 1516: return DF_Type::resource_allotment_specifier_meatst; + case 1517: return DF_Type::resource_allotment_specifier_metalst; + case 1518: return DF_Type::resource_allotment_specifier_pearlst; + case 1519: return DF_Type::resource_allotment_specifier_powderst; + case 1520: return DF_Type::resource_allotment_specifier_quiverst; + case 1521: return DF_Type::resource_allotment_specifier_shellst; + case 1522: return DF_Type::resource_allotment_specifier_skinst; + case 1523: return DF_Type::resource_allotment_specifier_soapst; + case 1524: return DF_Type::resource_allotment_specifier_stonest; + case 1525: return DF_Type::resource_allotment_specifier_tablest; + case 1526: return DF_Type::resource_allotment_specifier_tallowst; + case 1527: return DF_Type::resource_allotment_specifier_threadst; + case 1528: return DF_Type::resource_allotment_specifier_toothst; + case 1529: return DF_Type::resource_allotment_specifier_type; + case 1530: return DF_Type::resource_allotment_specifier_weapon_meleest; + case 1531: return DF_Type::resource_allotment_specifier_weapon_rangedst; + case 1532: return DF_Type::resource_allotment_specifier_woodst; + case 1533: return DF_Type::rhythm; + case 1534: return DF_Type::rhythm_sub1; + case 1535: return DF_Type::rhythm_sub1__T_anon_1; + case 1536: return DF_Type::rhythm_sub2; + case 1537: return DF_Type::room_rent_info; + case 1538: return DF_Type::room_rent_info__T_flags; + case 1539: return DF_Type::route_stockpile_link; + case 1540: return DF_Type::route_stockpile_link__T_mode; + case 1541: return DF_Type::scale; + case 1542: return DF_Type::scale__T_unk1; + case 1543: return DF_Type::scale_sub1; + case 1544: return DF_Type::scale_sub2; + case 1545: return DF_Type::schedule_info; + case 1546: return DF_Type::schedule_slot; + case 1547: return DF_Type::screw_pump_direction; + case 1548: return DF_Type::scribejob; + case 1549: return DF_Type::script_step_conditionalst; + case 1550: return DF_Type::script_step_conditionalst__T_condition; + case 1551: return DF_Type::script_step_constructtopiclistst; + case 1552: return DF_Type::script_step_dipeventst; + case 1553: return DF_Type::script_step_diphistoryst; + case 1554: return DF_Type::script_step_discussst; + case 1555: return DF_Type::script_step_eventst; + case 1556: return DF_Type::script_step_invasionst; + case 1557: return DF_Type::script_step_setvarst; + case 1558: return DF_Type::script_step_simpleactionst; + case 1559: return DF_Type::script_step_textviewerst; + case 1560: return DF_Type::script_step_topicdiscussionst; + case 1561: return DF_Type::script_stepst; + case 1562: return DF_Type::script_var_longst; + case 1563: return DF_Type::script_var_unitst; + case 1564: return DF_Type::script_varst; + case 1565: return DF_Type::setup_character_info; + case 1566: return DF_Type::setup_character_info__T_status; + case 1567: return DF_Type::shoes_flags; + case 1568: return DF_Type::shop_type; + case 1569: return DF_Type::siegeengine_type; + case 1570: return DF_Type::site_building_item; + case 1571: return DF_Type::site_dispute_type; + case 1572: return DF_Type::site_realization_building; + case 1573: return DF_Type::site_realization_building__T_unk_4c; + case 1574: return DF_Type::site_realization_building_info_castle_courtyardst; + case 1575: return DF_Type::site_realization_building_info_castle_towerst; + case 1576: return DF_Type::site_realization_building_info_castle_wallst; + case 1577: return DF_Type::site_realization_building_info_hillock_housest; + case 1578: return DF_Type::site_realization_building_info_market_squarest; + case 1579: return DF_Type::site_realization_building_info_shop_housest; + case 1580: return DF_Type::site_realization_building_info_tree_housest; + case 1581: return DF_Type::site_realization_building_info_trenchesst; + case 1582: return DF_Type::site_realization_building_info_trenchesst__T_spokes; + case 1583: return DF_Type::site_realization_building_infost; + case 1584: return DF_Type::site_realization_building_type; + case 1585: return DF_Type::site_realization_crossroads; + case 1586: return DF_Type::site_reputation_info; + case 1587: return DF_Type::site_reputation_report; + case 1588: return DF_Type::site_shop_type; + case 1589: return DF_Type::site_type; + case 1590: return DF_Type::skill_rating; + case 1591: return DF_Type::slab_engraving_type; + case 1592: return DF_Type::sound_production_type; + case 1593: return DF_Type::spatter; + case 1594: return DF_Type::spatter__T_flags; + case 1595: return DF_Type::spatter_common; + case 1596: return DF_Type::spatter_common__T_base_flags; + case 1597: return DF_Type::special_mat_table; + case 1598: return DF_Type::specific_ref; + case 1599: return DF_Type::specific_ref___union2; + case 1600: return DF_Type::specific_ref__T_arg2; + case 1601: return DF_Type::specific_ref_type; + case 1602: return DF_Type::sphere_type; + case 1603: return DF_Type::spoils_report; + case 1604: return DF_Type::squad; + case 1605: return DF_Type::squad__T_rooms; + case 1606: return DF_Type::squad_ammo_spec; + case 1607: return DF_Type::squad_ammo_spec__T_flags; + case 1608: return DF_Type::squad_event_type; + case 1609: return DF_Type::squad_order; + case 1610: return DF_Type::squad_order_cannot_reason; + case 1611: return DF_Type::squad_order_cause_trouble_for_entityst; + case 1612: return DF_Type::squad_order_defend_burrowsst; + case 1613: return DF_Type::squad_order_drive_armies_from_sitest; + case 1614: return DF_Type::squad_order_drive_entity_off_sitest; + case 1615: return DF_Type::squad_order_kill_hfst; + case 1616: return DF_Type::squad_order_kill_listst; + case 1617: return DF_Type::squad_order_movest; + case 1618: return DF_Type::squad_order_patrol_routest; + case 1619: return DF_Type::squad_order_raid_sitest; + case 1620: return DF_Type::squad_order_rescue_hfst; + case 1621: return DF_Type::squad_order_retrieve_artifactst; + case 1622: return DF_Type::squad_order_trainst; + case 1623: return DF_Type::squad_order_type; + case 1624: return DF_Type::squad_position; + case 1625: return DF_Type::squad_schedule_entry; + case 1626: return DF_Type::squad_schedule_order; + case 1627: return DF_Type::squad_uniform_spec; + case 1628: return DF_Type::squad_use_flags; + case 1629: return DF_Type::stockpile_category; + case 1630: return DF_Type::stockpile_group_set; + case 1631: return DF_Type::stockpile_links; + case 1632: return DF_Type::stockpile_list; + case 1633: return DF_Type::stockpile_settings; + case 1634: return DF_Type::stockpile_settings__T_ammo; + case 1635: return DF_Type::stockpile_settings__T_animals; + case 1636: return DF_Type::stockpile_settings__T_armor; + case 1637: return DF_Type::stockpile_settings__T_bars_blocks; + case 1638: return DF_Type::stockpile_settings__T_cloth; + case 1639: return DF_Type::stockpile_settings__T_coins; + case 1640: return DF_Type::stockpile_settings__T_finished_goods; + case 1641: return DF_Type::stockpile_settings__T_food; + case 1642: return DF_Type::stockpile_settings__T_furniture; + case 1643: return DF_Type::stockpile_settings__T_gems; + case 1644: return DF_Type::stockpile_settings__T_leather; + case 1645: return DF_Type::stockpile_settings__T_ore; + case 1646: return DF_Type::stockpile_settings__T_refuse; + case 1647: return DF_Type::stockpile_settings__T_sheet; + case 1648: return DF_Type::stockpile_settings__T_stone; + case 1649: return DF_Type::stockpile_settings__T_weapons; + case 1650: return DF_Type::stockpile_settings__T_wood; + case 1651: return DF_Type::stop_depart_condition; + case 1652: return DF_Type::stop_depart_condition__T_direction; + case 1653: return DF_Type::stop_depart_condition__T_flags; + case 1654: return DF_Type::stop_depart_condition__T_mode; + case 1655: return DF_Type::strain_type; + case 1656: return DF_Type::stratus_type; + case 1657: return DF_Type::syndrome; + case 1658: return DF_Type::syndrome_flags; + case 1659: return DF_Type::T_cursor; + case 1660: return DF_Type::T_selection_rect; + case 1661: return DF_Type::tactical_situation; + case 1662: return DF_Type::talk_choice; + case 1663: return DF_Type::talk_choice__T_unk; + case 1664: return DF_Type::talk_choice_type; + case 1665: return DF_Type::temperaturest; + case 1666: return DF_Type::text_info_element_longst; + case 1667: return DF_Type::text_info_element_stringst; + case 1668: return DF_Type::text_info_elementst; + case 1669: return DF_Type::texture_handler; + case 1670: return DF_Type::tile_bitmask; + case 1671: return DF_Type::tile_building_occ; + case 1672: return DF_Type::tile_designation; + case 1673: return DF_Type::tile_dig_designation; + case 1674: return DF_Type::tile_liquid; + case 1675: return DF_Type::tile_liquid_flow; + case 1676: return DF_Type::tile_liquid_flow_dir; + case 1677: return DF_Type::tile_occupancy; + case 1678: return DF_Type::tile_page; + case 1679: return DF_Type::tile_traffic; + case 1680: return DF_Type::tiletype; + case 1681: return DF_Type::tiletype_material; + case 1682: return DF_Type::tiletype_shape; + case 1683: return DF_Type::tiletype_shape_basic; + case 1684: return DF_Type::tiletype_special; + case 1685: return DF_Type::tiletype_variant; + case 1686: return DF_Type::timbre_type; + case 1687: return DF_Type::timed_event; + case 1688: return DF_Type::timed_event_type; + case 1689: return DF_Type::tissue; + case 1690: return DF_Type::tissue_flags; + case 1691: return DF_Type::tissue_style_raw; + case 1692: return DF_Type::tissue_style_type; + case 1693: return DF_Type::tissue_template; + case 1694: return DF_Type::tool_flags; + case 1695: return DF_Type::tool_uses; + case 1696: return DF_Type::tower_shape; + case 1697: return DF_Type::toy_flags; + case 1698: return DF_Type::training_assignment; + case 1699: return DF_Type::training_assignment__T_flags; + case 1700: return DF_Type::training_knowledge_level; + case 1701: return DF_Type::trap_type; + case 1702: return DF_Type::trapcomp_flags; + case 1703: return DF_Type::tree_house_type; + case 1704: return DF_Type::tuning_type; + case 1705: return DF_Type::ui; + case 1706: return DF_Type::ui__T_alerts; + case 1707: return DF_Type::ui__T_alerts__T_list; + case 1708: return DF_Type::ui__T_becoming_capital; + case 1709: return DF_Type::ui__T_burrows; + case 1710: return DF_Type::ui__T_economy_prices; + case 1711: return DF_Type::ui__T_economy_prices__T_price_adjustment; + case 1712: return DF_Type::ui__T_economy_prices__T_price_setter; + case 1713: return DF_Type::ui__T_equipment; + case 1714: return DF_Type::ui__T_equipment__T_update; + case 1715: return DF_Type::ui__T_hauling; + case 1716: return DF_Type::ui__T_invasions; + case 1717: return DF_Type::ui__T_kitchen; + case 1718: return DF_Type::ui__T_main; + case 1719: return DF_Type::ui__T_main__T_dead_citizens; + case 1720: return DF_Type::ui__T_map_edge; + case 1721: return DF_Type::ui__T_squads; + case 1722: return DF_Type::ui__T_stockpile; + case 1723: return DF_Type::ui__T_tax_collection; + case 1724: return DF_Type::ui__T_unk23c8_flags; + case 1725: return DF_Type::ui__T_unk2a8c; + case 1726: return DF_Type::ui__T_waypoints; + case 1727: return DF_Type::ui__T_waypoints__T_points; + case 1728: return DF_Type::ui__T_waypoints__T_routes; + case 1729: return DF_Type::ui_advmode; + case 1730: return DF_Type::ui_advmode__T_assume_identity; + case 1731: return DF_Type::ui_advmode__T_companions; + case 1732: return DF_Type::ui_advmode__T_conversation; + case 1733: return DF_Type::ui_advmode__T_conversation__T_choices; + case 1734: return DF_Type::ui_advmode__T_conversation__T_targets; + case 1735: return DF_Type::ui_advmode__T_conversation__T_targets__T_type; + case 1736: return DF_Type::ui_advmode__T_interactions; + case 1737: return DF_Type::ui_advmode__T_show_menu; + case 1738: return DF_Type::ui_advmode__T_travel_right_map; + case 1739: return DF_Type::ui_advmode__T_unk_3124; + case 1740: return DF_Type::ui_advmode__T_unk_3170; + case 1741: return DF_Type::ui_advmode__T_unk_3170__T_unk_2; + case 1742: return DF_Type::ui_advmode__T_unk_v40_1; + case 1743: return DF_Type::ui_advmode__T_unk_v40_2; + case 1744: return DF_Type::ui_advmode__T_unk_v40_3; + case 1745: return DF_Type::ui_advmode__T_unk_v40_4; + case 1746: return DF_Type::ui_advmode__T_unk_v40_4__T_unk_v40_4a; + case 1747: return DF_Type::ui_advmode__T_unk_v40_5; + case 1748: return DF_Type::ui_advmode__T_unk_v42_1; + case 1749: return DF_Type::ui_advmode_menu; + case 1750: return DF_Type::ui_build_item_req; + case 1751: return DF_Type::ui_build_selector; + case 1752: return DF_Type::ui_hotkey; + case 1753: return DF_Type::ui_hotkey___union4; + case 1754: return DF_Type::ui_hotkey__T_cmd; + case 1755: return DF_Type::ui_look_list; + case 1756: return DF_Type::ui_look_list__T_items; + case 1757: return DF_Type::ui_look_list__T_items___union3; + case 1758: return DF_Type::ui_look_list__T_items__T_type; + case 1759: return DF_Type::ui_sidebar_menus; + case 1760: return DF_Type::ui_sidebar_menus__T_barracks; + case 1761: return DF_Type::ui_sidebar_menus__T_building; + case 1762: return DF_Type::ui_sidebar_menus__T_command_line; + case 1763: return DF_Type::ui_sidebar_menus__T_designation; + case 1764: return DF_Type::ui_sidebar_menus__T_designation__T_mine_mode; + case 1765: return DF_Type::ui_sidebar_menus__T_hospital; + case 1766: return DF_Type::ui_sidebar_menus__T_job_details; + case 1767: return DF_Type::ui_sidebar_menus__T_location; + case 1768: return DF_Type::ui_sidebar_menus__T_minimap; + case 1769: return DF_Type::ui_sidebar_menus__T_unit; + case 1770: return DF_Type::ui_sidebar_menus__T_unit__T_expel_error; + case 1771: return DF_Type::ui_sidebar_menus__T_unit_cursor; + case 1772: return DF_Type::ui_sidebar_menus__T_unit_skills; + case 1773: return DF_Type::ui_sidebar_menus__T_workshop_job; + case 1774: return DF_Type::ui_sidebar_menus__T_zone; + case 1775: return DF_Type::ui_sidebar_menus__T_zone__T_mode; + case 1776: return DF_Type::ui_sidebar_mode; + case 1777: return DF_Type::ui_unit_view_mode; + case 1778: return DF_Type::ui_unit_view_mode__T_value; + case 1779: return DF_Type::uniform_category; + case 1780: return DF_Type::uniform_flags; + case 1781: return DF_Type::uniform_indiv_choice; + case 1782: return DF_Type::unit; + case 1783: return DF_Type::unit__T_animal; + case 1784: return DF_Type::unit__T_appearance; + case 1785: return DF_Type::unit__T_body; + case 1786: return DF_Type::unit__T_counters; + case 1787: return DF_Type::unit__T_counters2; + case 1788: return DF_Type::unit__T_counters__T_soldier_mood; + case 1789: return DF_Type::unit__T_curse; + case 1790: return DF_Type::unit__T_enemy; + case 1791: return DF_Type::unit__T_enemy__T_undead; + case 1792: return DF_Type::unit__T_enemy__T_unk_448; + case 1793: return DF_Type::unit__T_enemy__T_unk_448__T_unk; + case 1794: return DF_Type::unit__T_enemy__T_unk_44c; + case 1795: return DF_Type::unit__T_enemy__T_unk_v40_sub3; + case 1796: return DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_2; + case 1797: return DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_6; + case 1798: return DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7; + case 1799: return DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7__T_unk_sub1; + case 1800: return DF_Type::unit__T_enemy__T_witness_reports; + case 1801: return DF_Type::unit__T_job; + case 1802: return DF_Type::unit__T_meeting; + case 1803: return DF_Type::unit__T_meeting__T_state; + case 1804: return DF_Type::unit__T_military; + case 1805: return DF_Type::unit__T_military__T_pickup_flags; + case 1806: return DF_Type::unit__T_opponent; + case 1807: return DF_Type::unit__T_path; + case 1808: return DF_Type::unit__T_reports; + case 1809: return DF_Type::unit__T_status; + case 1810: return DF_Type::unit__T_status2; + case 1811: return DF_Type::unit__T_status__T_eat_history; + case 1812: return DF_Type::unit__T_status__T_eat_history__T_drink; + case 1813: return DF_Type::unit__T_status__T_eat_history__T_food; + case 1814: return DF_Type::unit__T_syndromes; + case 1815: return DF_Type::unit__T_unknown7; + case 1816: return DF_Type::unit_action; + case 1817: return DF_Type::unit_action__T_data; + case 1818: return DF_Type::unit_action__T_data__T_attack; + case 1819: return DF_Type::unit_action__T_data__T_attack__T_flags; + case 1820: return DF_Type::unit_action__T_data__T_attack__T_unk_4; + case 1821: return DF_Type::unit_action__T_data__T_block; + case 1822: return DF_Type::unit_action__T_data__T_climb; + case 1823: return DF_Type::unit_action__T_data__T_dodge; + case 1824: return DF_Type::unit_action__T_data__T_holditem; + case 1825: return DF_Type::unit_action__T_data__T_holdterrain; + case 1826: return DF_Type::unit_action__T_data__T_job; + case 1827: return DF_Type::unit_action__T_data__T_job2; + case 1828: return DF_Type::unit_action__T_data__T_jump; + case 1829: return DF_Type::unit_action__T_data__T_liedown; + case 1830: return DF_Type::unit_action__T_data__T_move; + case 1831: return DF_Type::unit_action__T_data__T_move__T_flags; + case 1832: return DF_Type::unit_action__T_data__T_parry; + case 1833: return DF_Type::unit_action__T_data__T_pushobject; + case 1834: return DF_Type::unit_action__T_data__T_recover; + case 1835: return DF_Type::unit_action__T_data__T_releaseitem; + case 1836: return DF_Type::unit_action__T_data__T_releaseterrain; + case 1837: return DF_Type::unit_action__T_data__T_standup; + case 1838: return DF_Type::unit_action__T_data__T_suckblood; + case 1839: return DF_Type::unit_action__T_data__T_talk; + case 1840: return DF_Type::unit_action__T_data__T_unsteady; + case 1841: return DF_Type::unit_action_type; + case 1842: return DF_Type::unit_appearance; + case 1843: return DF_Type::unit_attribute; + case 1844: return DF_Type::unit_bp_health_flags; + case 1845: return DF_Type::unit_chunk; + case 1846: return DF_Type::unit_chunk__T_units; + case 1847: return DF_Type::unit_coin_debt; + case 1848: return DF_Type::unit_complaint; + case 1849: return DF_Type::unit_complaint__T_type; + case 1850: return DF_Type::unit_dance_skill; + case 1851: return DF_Type::unit_demand; + case 1852: return DF_Type::unit_demand__T_place; + case 1853: return DF_Type::unit_emotion_memory; + case 1854: return DF_Type::unit_flags1; + case 1855: return DF_Type::unit_flags2; + case 1856: return DF_Type::unit_flags3; + case 1857: return DF_Type::unit_flags4; + case 1858: return DF_Type::unit_genes; + case 1859: return DF_Type::unit_ghost_info; + case 1860: return DF_Type::unit_ghost_info__T_flags; + case 1861: return DF_Type::unit_ghost_info__T_target; + case 1862: return DF_Type::unit_health_flags; + case 1863: return DF_Type::unit_health_info; + case 1864: return DF_Type::unit_health_info__T_op_history; + case 1865: return DF_Type::unit_health_info__T_op_history__T_info; + case 1866: return DF_Type::unit_health_info__T_op_history__T_info__T_bandage; + case 1867: return DF_Type::unit_health_info__T_op_history__T_info__T_crutch; + case 1868: return DF_Type::unit_instrument_skill; + case 1869: return DF_Type::unit_inventory_item; + case 1870: return DF_Type::unit_inventory_item__T_mode; + case 1871: return DF_Type::unit_item_use; + case 1872: return DF_Type::unit_item_wrestle; + case 1873: return DF_Type::unit_labor; + case 1874: return DF_Type::unit_labor_category; + case 1875: return DF_Type::unit_misc_trait; + case 1876: return DF_Type::unit_musical_skill; + case 1877: return DF_Type::unit_path_goal; + case 1878: return DF_Type::unit_personality; + case 1879: return DF_Type::unit_personality__T_dreams; + case 1880: return DF_Type::unit_personality__T_emotions; + case 1881: return DF_Type::unit_personality__T_emotions__T_flags; + case 1882: return DF_Type::unit_personality__T_flags; + case 1883: return DF_Type::unit_personality__T_memories; + case 1884: return DF_Type::unit_personality__T_memories__T_reflected_on; + case 1885: return DF_Type::unit_personality__T_needs; + case 1886: return DF_Type::unit_personality__T_unk5; + case 1887: return DF_Type::unit_personality__T_unk_v40_2; + case 1888: return DF_Type::unit_personality__T_unk_v40_6; + case 1889: return DF_Type::unit_personality__T_values; + case 1890: return DF_Type::unit_poetic_skill; + case 1891: return DF_Type::unit_preference; + case 1892: return DF_Type::unit_preference___union5; + case 1893: return DF_Type::unit_preference__T_type; + case 1894: return DF_Type::unit_relationship_type; + case 1895: return DF_Type::unit_report_type; + case 1896: return DF_Type::unit_request; + case 1897: return DF_Type::unit_request__T_type; + case 1898: return DF_Type::unit_skill; + case 1899: return DF_Type::unit_soul; + case 1900: return DF_Type::unit_soul__T_performance_skills; + case 1901: return DF_Type::unit_station_type; + case 1902: return DF_Type::unit_storage_status; + case 1903: return DF_Type::unit_syndrome; + case 1904: return DF_Type::unit_syndrome__T_flags; + case 1905: return DF_Type::unit_syndrome__T_symptoms; + case 1906: return DF_Type::unit_syndrome__T_symptoms__T_flags; + case 1907: return DF_Type::unit_thought_type; + case 1908: return DF_Type::unit_unk_138; + case 1909: return DF_Type::unit_wound; + case 1910: return DF_Type::unit_wound__T_flags; + case 1911: return DF_Type::unit_wound__T_parts; + case 1912: return DF_Type::units_other_id; + case 1913: return DF_Type::value_type; + case 1914: return DF_Type::vehicle; + case 1915: return DF_Type::vermin; + case 1916: return DF_Type::vermin_flags; + case 1917: return DF_Type::viewscreen; + case 1918: return DF_Type::viewscreen_adopt_regionst; + case 1919: return DF_Type::viewscreen_adventure_logst; + case 1920: return DF_Type::viewscreen_adventure_logst__T_info_mode; + case 1921: return DF_Type::viewscreen_adventure_logst__T_mode; + case 1922: return DF_Type::viewscreen_announcelistst; + case 1923: return DF_Type::viewscreen_assign_display_itemst; + case 1924: return DF_Type::viewscreen_assign_display_itemst__T_sel_column; + case 1925: return DF_Type::viewscreen_barterst; + case 1926: return DF_Type::viewscreen_buildinglistst; + case 1927: return DF_Type::viewscreen_buildingst; + case 1928: return DF_Type::viewscreen_choose_start_sitest; + case 1929: return DF_Type::viewscreen_choose_start_sitest__T_finder; + case 1930: return DF_Type::viewscreen_choose_start_sitest__T_page; + case 1931: return DF_Type::viewscreen_civlistst; + case 1932: return DF_Type::viewscreen_civlistst__T_artifact_details; + case 1933: return DF_Type::viewscreen_civlistst__T_page; + case 1934: return DF_Type::viewscreen_civlistst__T_rumors; + case 1935: return DF_Type::viewscreen_civlistst__T_rumors__T_type; + case 1936: return DF_Type::viewscreen_civlistst__T_unk_cache; + case 1937: return DF_Type::viewscreen_civlistst__T_unk_cache__T_tmp1; + case 1938: return DF_Type::viewscreen_civlistst__T_unk_cache__T_tmp2; + case 1939: return DF_Type::viewscreen_createquotast; + case 1940: return DF_Type::viewscreen_customize_unitst; + case 1941: return DF_Type::viewscreen_dungeon_monsterstatusst; + case 1942: return DF_Type::viewscreen_dungeon_wrestlest; + case 1943: return DF_Type::viewscreen_dungeon_wrestlest__T_unk1; + case 1944: return DF_Type::viewscreen_dungeonmodest; + case 1945: return DF_Type::viewscreen_dwarfmodest; + case 1946: return DF_Type::viewscreen_entityst; + case 1947: return DF_Type::viewscreen_export_graphical_mapst; + case 1948: return DF_Type::viewscreen_export_regionst; + case 1949: return DF_Type::viewscreen_export_regionst__T_unk1; + case 1950: return DF_Type::viewscreen_game_cleanerst; + case 1951: return DF_Type::viewscreen_game_cleanerst__T_state; + case 1952: return DF_Type::viewscreen_image_creator_mode; + case 1953: return DF_Type::viewscreen_image_creatorst; + case 1954: return DF_Type::viewscreen_image_creatorst__T_artifacts; + case 1955: return DF_Type::viewscreen_image_creatorst__T_descriptions; + case 1956: return DF_Type::viewscreen_image_creatorst__T_entities; + case 1957: return DF_Type::viewscreen_image_creatorst__T_objects; + case 1958: return DF_Type::viewscreen_image_creatorst__T_plants; + case 1959: return DF_Type::viewscreen_image_creatorst__T_shapes; + case 1960: return DF_Type::viewscreen_image_creatorst__T_sites; + case 1961: return DF_Type::viewscreen_image_creatorst__T_trees; + case 1962: return DF_Type::viewscreen_itemst; + case 1963: return DF_Type::viewscreen_joblistst; + case 1964: return DF_Type::viewscreen_jobmanagementst; + case 1965: return DF_Type::viewscreen_jobst; + case 1966: return DF_Type::viewscreen_justicest; + case 1967: return DF_Type::viewscreen_justicest__T_cur_column; + case 1968: return DF_Type::viewscreen_kitchenpref_page; + case 1969: return DF_Type::viewscreen_kitchenprefst; + case 1970: return DF_Type::viewscreen_layer; + case 1971: return DF_Type::viewscreen_layer_arena_creaturest; + case 1972: return DF_Type::viewscreen_layer_assigntradest; + case 1973: return DF_Type::viewscreen_layer_choose_language_namest; + case 1974: return DF_Type::viewscreen_layer_choose_language_namest__T_current_component; + case 1975: return DF_Type::viewscreen_layer_currencyst; + case 1976: return DF_Type::viewscreen_layer_export_play_mapst; + case 1977: return DF_Type::viewscreen_layer_militaryst; + case 1978: return DF_Type::viewscreen_layer_militaryst__T_ammo; + case 1979: return DF_Type::viewscreen_layer_militaryst__T_ammo__T_add_item; + case 1980: return DF_Type::viewscreen_layer_militaryst__T_ammo__T_material; + case 1981: return DF_Type::viewscreen_layer_militaryst__T_equip; + case 1982: return DF_Type::viewscreen_layer_militaryst__T_equip__T_add_item; + case 1983: return DF_Type::viewscreen_layer_militaryst__T_equip__T_assigned; + case 1984: return DF_Type::viewscreen_layer_militaryst__T_equip__T_color; + case 1985: return DF_Type::viewscreen_layer_militaryst__T_equip__T_edit_mode; + case 1986: return DF_Type::viewscreen_layer_militaryst__T_equip__T_material; + case 1987: return DF_Type::viewscreen_layer_militaryst__T_equip__T_mode; + case 1988: return DF_Type::viewscreen_layer_militaryst__T_equip__T_uniform; + case 1989: return DF_Type::viewscreen_layer_militaryst__T_page; + case 1990: return DF_Type::viewscreen_layer_militaryst__T_positions; + case 1991: return DF_Type::viewscreen_layer_militaryst__T_squad_members; + case 1992: return DF_Type::viewscreen_layer_militaryst__T_squads; + case 1993: return DF_Type::viewscreen_layer_musicsoundst; + case 1994: return DF_Type::viewscreen_layer_noblelistst; + case 1995: return DF_Type::viewscreen_layer_noblelistst__T_candidates; + case 1996: return DF_Type::viewscreen_layer_noblelistst__T_info; + case 1997: return DF_Type::viewscreen_layer_noblelistst__T_mode; + case 1998: return DF_Type::viewscreen_layer_overall_healthst; + case 1999: return DF_Type::viewscreen_layer_reactionst; + case 2000: return DF_Type::viewscreen_layer_squad_schedulest; + case 2001: return DF_Type::viewscreen_layer_stockpilest; + case 2002: return DF_Type::viewscreen_layer_stone_restrictionst; + case 2003: return DF_Type::viewscreen_layer_unit_actionst; + case 2004: return DF_Type::viewscreen_layer_unit_healthst; + case 2005: return DF_Type::viewscreen_layer_unit_relationshipst; + case 2006: return DF_Type::viewscreen_layer_world_gen_param_presetst; + case 2007: return DF_Type::viewscreen_layer_world_gen_paramst; + case 2008: return DF_Type::viewscreen_layer_world_gen_paramst__T_unk1; + case 2009: return DF_Type::viewscreen_legendsst; + case 2010: return DF_Type::viewscreen_legendsst__T_anon_7; + case 2011: return DF_Type::viewscreen_legendsst__T_anon_7__T_anon_3; + case 2012: return DF_Type::viewscreen_legendsst__T_cur_page; + case 2013: return DF_Type::viewscreen_loadgamest; + case 2014: return DF_Type::viewscreen_loadgamest__T_cur_step; + case 2015: return DF_Type::viewscreen_locationsst; + case 2016: return DF_Type::viewscreen_locationsst__T_in_edit; + case 2017: return DF_Type::viewscreen_locationsst__T_menu; + case 2018: return DF_Type::viewscreen_meetingst; + case 2019: return DF_Type::viewscreen_movieplayerst; + case 2020: return DF_Type::viewscreen_new_regionst; + case 2021: return DF_Type::viewscreen_noblest; + case 2022: return DF_Type::viewscreen_optionst; + case 2023: return DF_Type::viewscreen_optionst__T_options; + case 2024: return DF_Type::viewscreen_overallstatusst; + case 2025: return DF_Type::viewscreen_overallstatusst__T_visible_pages; + case 2026: return DF_Type::viewscreen_petitionsst; + case 2027: return DF_Type::viewscreen_petst; + case 2028: return DF_Type::viewscreen_petst__T_animal; + case 2029: return DF_Type::viewscreen_petst__T_mode; + case 2030: return DF_Type::viewscreen_petst__T_trainer_mode; + case 2031: return DF_Type::viewscreen_pricest; + case 2032: return DF_Type::viewscreen_reportlistst; + case 2033: return DF_Type::viewscreen_requestagreementst; + case 2034: return DF_Type::viewscreen_savegamest; + case 2035: return DF_Type::viewscreen_selectitemst; + case 2036: return DF_Type::viewscreen_setupadventurest; + case 2037: return DF_Type::viewscreen_setupadventurest__T_background_type; + case 2038: return DF_Type::viewscreen_setupadventurest__T_page; + case 2039: return DF_Type::viewscreen_setupadventurest__T_races_info; + case 2040: return DF_Type::viewscreen_setupadventurest__T_sel_trait_column; + case 2041: return DF_Type::viewscreen_setupdwarfgamest; + case 2042: return DF_Type::viewscreen_setupdwarfgamest__T_animals; + case 2043: return DF_Type::viewscreen_setupdwarfgamest__T_choice_types; + case 2044: return DF_Type::viewscreen_setupdwarfgamest__T_mode; + case 2045: return DF_Type::viewscreen_setupdwarfgamest__T_unk_v43; + case 2046: return DF_Type::viewscreen_setupdwarfgamest__T_unk_v43__T_unk_v43_sub9; + case 2047: return DF_Type::viewscreen_storesst; + case 2048: return DF_Type::viewscreen_textviewerst; + case 2049: return DF_Type::viewscreen_textviewerst__T_formatted_text; + case 2050: return DF_Type::viewscreen_textviewerst__T_formatted_text__T_flags; + case 2051: return DF_Type::viewscreen_titlest; + case 2052: return DF_Type::viewscreen_titlest__T_menu_line_id; + case 2053: return DF_Type::viewscreen_titlest__T_sel_subpage; + case 2054: return DF_Type::viewscreen_titlest__T_start_savegames; + case 2055: return DF_Type::viewscreen_topicmeeting_fill_land_holder_positionsst; + case 2056: return DF_Type::viewscreen_topicmeeting_takerequestsst; + case 2057: return DF_Type::viewscreen_topicmeetingst; + case 2058: return DF_Type::viewscreen_tradeagreementst; + case 2059: return DF_Type::viewscreen_tradegoodsst; + case 2060: return DF_Type::viewscreen_tradelistst; + case 2061: return DF_Type::viewscreen_treasurelistst; + case 2062: return DF_Type::viewscreen_unitlist_page; + case 2063: return DF_Type::viewscreen_unitlistst; + case 2064: return DF_Type::viewscreen_unitst; + case 2065: return DF_Type::viewscreen_update_regionst; + case 2066: return DF_Type::viewscreen_wagesst; + case 2067: return DF_Type::viewscreen_workquota_conditionst; + case 2068: return DF_Type::viewscreen_workquota_conditionst__T_mode; + case 2069: return DF_Type::viewscreen_workquota_conditionst__T_traits; + case 2070: return DF_Type::viewscreen_workquota_conditionst__T_traits__T_flags; + case 2071: return DF_Type::viewscreen_workquota_detailsst; + case 2072: return DF_Type::viewscreen_workshop_profilest; + case 2073: return DF_Type::viewscreen_workshop_profilest__T_tab; + case 2074: return DF_Type::weapon_attack; + case 2075: return DF_Type::weapon_attack__T_flags; + case 2076: return DF_Type::weapon_flags; + case 2077: return DF_Type::weather_type; + case 2078: return DF_Type::web_cluster; + case 2079: return DF_Type::widget_menu; + case 2080: return DF_Type::widget_textbox; + case 2081: return DF_Type::workshop_profile; + case 2082: return DF_Type::workshop_type; + case 2083: return DF_Type::world; + case 2084: return DF_Type::world__T_activities; + case 2085: return DF_Type::world__T_agreements; + case 2086: return DF_Type::world__T_arena_settings; + case 2087: return DF_Type::world__T_arena_spawn; + case 2088: return DF_Type::world__T_arena_spawn__T_equipment; + case 2089: return DF_Type::world__T_arena_spawn__T_item_types; + case 2090: return DF_Type::world__T_armies; + case 2091: return DF_Type::world__T_army_controllers; + case 2092: return DF_Type::world__T_army_tracking_info; + case 2093: return DF_Type::world__T_artifacts; + case 2094: return DF_Type::world__T_belief_systems; + case 2095: return DF_Type::world__T_crimes; + case 2096: return DF_Type::world__T_cultural_identities; + case 2097: return DF_Type::world__T_cur_savegame; + case 2098: return DF_Type::world__T_dance_forms; + case 2099: return DF_Type::world__T_enemy_status_cache; + case 2100: return DF_Type::world__T_entities; + case 2101: return DF_Type::world__T_features; + case 2102: return DF_Type::world__T_flow_engine; + case 2103: return DF_Type::world__T_flow_guides; + case 2104: return DF_Type::world__T_formations; + case 2105: return DF_Type::world__T_identities; + case 2106: return DF_Type::world__T_incidents; + case 2107: return DF_Type::world__T_interaction_instances; + case 2108: return DF_Type::world__T_items; + case 2109: return DF_Type::world__T_languages; + case 2110: return DF_Type::world__T_map; + case 2111: return DF_Type::world__T_map_extras; + case 2112: return DF_Type::world__T_math; + case 2113: return DF_Type::world__T_math__T_approx; + case 2114: return DF_Type::world__T_musical_forms; + case 2115: return DF_Type::world__T_nemesis; + case 2116: return DF_Type::world__T_occupations; + case 2117: return DF_Type::world__T_pathfinder; + case 2118: return DF_Type::world__T_pathfinder__T_boundary_heap; + case 2119: return DF_Type::world__T_plants; + case 2120: return DF_Type::world__T_poetic_forms; + case 2121: return DF_Type::world__T_profession_skills; + case 2122: return DF_Type::world__T_rhythms; + case 2123: return DF_Type::world__T_scales; + case 2124: return DF_Type::world__T_schedules; + case 2125: return DF_Type::world__T_squads; + case 2126: return DF_Type::world__T_status; + case 2127: return DF_Type::world__T_status__T_flags; + case 2128: return DF_Type::world__T_status__T_slots; + case 2129: return DF_Type::world__T_status__T_slots__T_flags; + case 2130: return DF_Type::world__T_stockpile; + case 2131: return DF_Type::world__T_stockpile__T_simple1; + case 2132: return DF_Type::world__T_stockpile__T_simple2; + case 2133: return DF_Type::world__T_stockpile__T_simple3; + case 2134: return DF_Type::world__T_units; + case 2135: return DF_Type::world__T_unk_131ec0; + case 2136: return DF_Type::world__T_unk_131ef0; + case 2137: return DF_Type::world__T_unk_131ef0__T_unk_2; + case 2138: return DF_Type::world__T_unk_19325c; + case 2139: return DF_Type::world__T_unk_19325c__T_anon_1; + case 2140: return DF_Type::world__T_unk_19325c__T_anon_2; + case 2141: return DF_Type::world__T_unk_19325c__T_anon_3; + case 2142: return DF_Type::world__T_unk_59dc4; + case 2143: return DF_Type::world__T_unk_59dc4__T_unk1; + case 2144: return DF_Type::world__T_unk_v40_6; + case 2145: return DF_Type::world__T_vehicles; + case 2146: return DF_Type::world__T_vermin; + case 2147: return DF_Type::world__T_worldgen; + case 2148: return DF_Type::world__T_worldgen__T_worldgen_parms; + case 2149: return DF_Type::world__T_worldgen_coord_buf; + case 2150: return DF_Type::world__T_worldgen_status; + case 2151: return DF_Type::world__T_written_contents; + case 2152: return DF_Type::world_construction; + case 2153: return DF_Type::world_construction_bridgest; + case 2154: return DF_Type::world_construction_roadst; + case 2155: return DF_Type::world_construction_square; + case 2156: return DF_Type::world_construction_square_bridgest; + case 2157: return DF_Type::world_construction_square_roadst; + case 2158: return DF_Type::world_construction_square_tunnelst; + case 2159: return DF_Type::world_construction_square_wallst; + case 2160: return DF_Type::world_construction_tunnelst; + case 2161: return DF_Type::world_construction_type; + case 2162: return DF_Type::world_construction_wallst; + case 2163: return DF_Type::world_dat_summary; + case 2164: return DF_Type::world_data; + case 2165: return DF_Type::world_data__T_constructions; + case 2166: return DF_Type::world_data__T_feature_map; + case 2167: return DF_Type::world_data__T_feature_map__T_features; + case 2168: return DF_Type::world_data__T_flip_latitude; + case 2169: return DF_Type::world_data__T_freakish_weather; + case 2170: return DF_Type::world_data__T_mountain_peaks; + case 2171: return DF_Type::world_data__T_unk_150; + case 2172: return DF_Type::world_data__T_unk_150__T_unk_18; + case 2173: return DF_Type::world_data__T_unk_150__T_unk_28; + case 2174: return DF_Type::world_data__T_unk_150__T_unk_8; + case 2175: return DF_Type::world_data__T_unk_170; + case 2176: return DF_Type::world_data__T_unk_170__T_unk_4; + case 2177: return DF_Type::world_data__T_unk_274; + case 2178: return DF_Type::world_data__T_unk_274__T_unk_10; + case 2179: return DF_Type::world_data__T_unk_482f8; + case 2180: return DF_Type::world_data__T_unk_b4; + case 2181: return DF_Type::world_gen_param_basest; + case 2182: return DF_Type::world_gen_param_charst; + case 2183: return DF_Type::world_gen_param_memberst; + case 2184: return DF_Type::world_gen_param_seedst; + case 2185: return DF_Type::world_gen_param_valuest; + case 2186: return DF_Type::world_geo_biome; + case 2187: return DF_Type::world_geo_layer; + case 2188: return DF_Type::world_history; + case 2189: return DF_Type::world_history__T_event_collections; + case 2190: return DF_Type::world_landmass; + case 2191: return DF_Type::world_object_data; + case 2192: return DF_Type::world_object_data__T_offloaded_buildings; + case 2193: return DF_Type::world_object_data__T_offloaded_items; + case 2194: return DF_Type::world_object_data__T_unk_94; + case 2195: return DF_Type::world_population; + case 2196: return DF_Type::world_population___union7; + case 2197: return DF_Type::world_population_ref; + case 2198: return DF_Type::world_population_type; + case 2199: return DF_Type::world_raws; + case 2200: return DF_Type::world_raws__T_bodyglosses; + case 2201: return DF_Type::world_raws__T_buildings; + case 2202: return DF_Type::world_raws__T_descriptors; + case 2203: return DF_Type::world_raws__T_effects; + case 2204: return DF_Type::world_raws__T_itemdefs; + case 2205: return DF_Type::world_raws__T_language; + case 2206: return DF_Type::world_raws__T_plants; + case 2207: return DF_Type::world_raws__T_reactions; + case 2208: return DF_Type::world_raws__T_syndromes; + case 2209: return DF_Type::world_region; + case 2210: return DF_Type::world_region_details; + case 2211: return DF_Type::world_region_details__T_edges; + case 2212: return DF_Type::world_region_details__T_rivers_horizontal; + case 2213: return DF_Type::world_region_details__T_rivers_vertical; + case 2214: return DF_Type::world_region_feature; + case 2215: return DF_Type::world_region_type; + case 2216: return DF_Type::world_river; + case 2217: return DF_Type::world_site; + case 2218: return DF_Type::world_site__T_subtype_info; + case 2219: return DF_Type::world_site__T_unk_1; + case 2220: return DF_Type::world_site__T_unk_118; + case 2221: return DF_Type::world_site__T_unk_13c; + case 2222: return DF_Type::world_site__T_unk_188; + case 2223: return DF_Type::world_site__T_unk_188__T_unk1; + case 2224: return DF_Type::world_site__T_unk_1__T_units; + case 2225: return DF_Type::world_site__T_unk_21c; + case 2226: return DF_Type::world_site__T_unk_v40_2; + case 2227: return DF_Type::world_site__T_unk_v40_4a; + case 2228: return DF_Type::world_site__T_unk_v40_4b; + case 2229: return DF_Type::world_site__T_unk_v40_4c; + case 2230: return DF_Type::world_site__T_unk_v40_4d; + case 2231: return DF_Type::world_site__T_unk_v40_4d__T_anon_2; + case 2232: return DF_Type::world_site__T_unk_v43_2; + case 2233: return DF_Type::world_site_flags; + case 2234: return DF_Type::world_site_inhabitant; + case 2235: return DF_Type::world_site_realization; + case 2236: return DF_Type::world_site_realization__T_areas; + case 2237: return DF_Type::world_site_realization__T_areas__T_type; + case 2238: return DF_Type::world_site_realization__T_building_map; + case 2239: return DF_Type::world_site_realization__T_river_map; + case 2240: return DF_Type::world_site_realization__T_unk_193bc; + case 2241: return DF_Type::world_site_realization__T_unk_193bc__T_unk_8; + case 2242: return DF_Type::world_site_realization__T_unk_55e8; + case 2243: return DF_Type::world_site_realization__T_unk_55e8__T_unk_v40_2; + case 2244: return DF_Type::world_site_type; + case 2245: return DF_Type::world_site_unk130; + case 2246: return DF_Type::world_site_unk130__T_unk_4; + case 2247: return DF_Type::world_underground_region; + case 2248: return DF_Type::world_underground_region__T_type; + case 2249: return DF_Type::world_unk_20; + case 2250: return DF_Type::world_unk_20__T_anon_7; + case 2251: return DF_Type::world_unk_6c; + case 2252: return DF_Type::world_unk_9c; + case 2253: return DF_Type::world_unk_a8; + case 2254: return DF_Type::world_unk_b4; + case 2255: return DF_Type::world_unk_c0; + case 2256: return DF_Type::world_unk_c0__T_anon_7; + case 2257: return DF_Type::worldgen_range_type; + case 2258: return DF_Type::worldgen_region_type; + case 2259: return DF_Type::wound_curse_info; + case 2260: return DF_Type::wound_damage_flags1; + case 2261: return DF_Type::wound_damage_flags2; + case 2262: return DF_Type::wound_effect_type; + case 2263: return DF_Type::written_content; + case 2264: return DF_Type::written_content_style; + case 2265: return DF_Type::written_content_type; + case 2266: return DF_Type::z_level_flags; + case 2267: return DF_Type::zoom_commands; + } + return DF_Type::None; +} +} // namespace rdf \ No newline at end of file diff --git a/dwarfexplorer/generated/bitfield_values.cpp b/dwarfexplorer/generated/bitfield_values.cpp index c91983f..95d07c9 100644 --- a/dwarfexplorer/generated/bitfield_values.cpp +++ b/dwarfexplorer/generated/bitfield_values.cpp @@ -1,5869 +1,6038 @@ -#include "DF_Types.h" -#include "df_all.h" -#include "node.h" -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -using namespace rdf; - +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "df_all.h" +#include "DF_Types.h" +#include "node.h" + + +using namespace rdf; + + std::array, 32> null_bitfield = { - {{"0", "@#", ""}, - {"1", "", ""}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "7", ""}, - {"8", "8", ""}, - {"9", "9", ""}, - {"10", "10", ""}, - {"11", "11", ""}, - {"12", "12", ""}, - {"13", "13", ""}, - {"14", "14", ""}, - {"15", "15", ""}, - {"16", "16", ""}, - {"17", "17", ""}, - {"18", "18", ""}, - {"19", "19", ""}, - {"20", "20", ""}, - {"21", "21", ""}, - {"22", "22", ""}, - {"23", "23", ""}, - {"24", "24", ""}, - {"25", "25", ""}, - {"26", "26", ""}, - {"27", "27", ""}, - {"28", "28", ""}, - {"29", "29", ""}, - {"30", "30", ""}, - {"31", "", ""}}}; - -std::array, 32> announcement_flags_values = {{{"0", "DO_MEGA", "BOX"}, - {"1", "PAUSE", "P"}, - {"2", "RECENTER", "R"}, - {"3", "A_DISPLAY", "A_D"}, - {"4", "D_DISPLAY", "D_D"}, - {"5", "UNIT_COMBAT_REPORT", "UCR"}, - {"6", "UNIT_COMBAT_REPORT_ALL_ACTIVE", "UCR_A"}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> poetic_form_feature_values = {{{"0", "InternalRhyme", ""}, - {"1", "EndRhymesDontMatch", ""}, - {"2", "Alliteration", ""}, - {"3", "Onomatopoeia", ""}, - {"4", "antanaclasis", ""}, - {"5", "DifferentReadings", ""}, - {"6", "ReadBackwards", ""}, - {"7", "ReadOrthogonally", ""}, - {"8", "Emerge", ""}, - {"9", "Assonance", ""}, - {"10", "Consonance", ""}, - {"11", "Elision", ""}, - {"12", "Epenthesis", ""}, - {"13", "Synchysis", ""}, - {"14", "Allegory", ""}, - {"15", "Ambiguity", ""}, - {"16", "Symbolism", ""}, - {"17", "Metaphor", ""}, - {"18", "Simile", ""}, - {"19", "Metonymy", ""}, - {"20", "VividImagery", ""}, - {"21", "Juxtaposision", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> musical_form_feature_values = {{{"0", "GlideFromNoteToNote", ""}, - {"1", "UseGraceNotes", ""}, - {"2", "UseMordents", ""}, - {"3", "MakeTrills", ""}, - {"4", "PlayRapidRuns", ""}, - {"5", "LocallyImprovise", ""}, - {"6", "SpreadSyllablesOverManyNotes", ""}, - {"7", "MatchNotesAndSyllables", ""}, - {"8", "Syncopate", ""}, - {"9", "AddFills", ""}, - {"10", "AlternateTensionAndRepose", ""}, - {"11", "ModulateFrequently", ""}, - {"12", "PlayArpeggios", ""}, - {"13", "PlayStaccato", ""}, - {"14", "PlayLegato", ""}, - {"15", "FreelyAdjustBeats", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> musical_form_interval__T_flags_values = {{{"0", "rising", "otherwise falling"}, - {"1", "flattened", ""}, - {"2", "sharpened", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> building_flags_values = {{{"0", "exists", "actually built, not just ordered"}, - {"1", "site_blocked", "items on ground on site"}, - {"2", "room_collision", "major intersection with another room?"}, - {"3", "", ""}, - {"4", "justice", ""}, - {"5", "almost_deleted", "when requesting delete while in_update"}, - {"6", "in_update", ""}, - {"7", "from_worldgen", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> door_flags_values = {{{"0", "forbidden", ""}, - {"1", "internal", ""}, - {"2", "taken_by_invaders", ""}, - {"3", "used_by_intruder", ""}, - {"4", "closed", ""}, - {"5", "operated_by_mechanisms", ""}, - {"6", "pet_passable", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> gate_flags_values = {{{"0", "closed", ""}, - {"1", "closing", ""}, - {"2", "opening", ""}, - {"3", "collapsing", "?; bridge"}, - {"4", "has_support", "bridge"}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> hospital_supplies__T_supplies_needed_values = {{{"0", "splints", ""}, - {"1", "thread", ""}, - {"2", "cloth", ""}, - {"3", "crutches", ""}, - {"4", "plaster", ""}, - {"5", "buckets", ""}, - {"6", "soap", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> hive_flags_values = {{{"0", "do_install", ""}, - {"1", "do_gather", ""}, - {"2", "ready_split", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> pressure_plate_info__T_flags_values = {{{"0", "units", ""}, - {"1", "water", ""}, - {"2", "magma", ""}, - {"3", "citizens", ""}, - {"4", "resets", ""}, - {"5", "track", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> gait_info__T_flags_values = {{{"0", "layers_slow", ""}, - {"1", "strength", ""}, - {"2", "agility", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> creature_interaction_target_flags_values = {{{"0", "LINE_OF_SIGHT", ""}, - {"1", "TOUCHABLE", ""}, - {"2", "DISTURBER_ONLY", ""}, - {"3", "SELF_ALLOWED", ""}, - {"4", "SELF_ONLY", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> descriptor_shape__T_gems_use_values = {{{"0", "noun", ""}, - {"1", "adj", ""}, - {"2", "adj_noun", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> entity_activity_statistics__T_found_misc_values = {{{"0", "deep_special", ""}, - {"1", "", ""}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> entity_animal_raw__T_flags_values = {{{"0", "ALWAYS_PRESENT", ""}, - {"1", "NEVER_MOUNT", ""}, - {"2", "ALWAYS_MOUNT", ""}, - {"3", "NEVER_WAGON_PULLER", ""}, - {"4", "ALWAYS_WAGON_PULLER", ""}, - {"5", "NEVER_SIEGE", ""}, - {"6", "ALWAYS_SIEGE", ""}, - {"7", "NEVER_PET", ""}, - {"8", "ALWAYS_PET", ""}, - {"9", "NEVER_PACK_ANIMAL", ""}, - {"10", "ALWAYS_PACK_ANIMAL", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> history_event_war_site_tribute_forcedst__T_tribute_flags_values = {{{"0", "bled_dry", "tribute was demanded, but not received"}, - {"1", "", ""}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> history_event_artifact_copiedst__T_flags2_values = {{{"0", "from_original", ""}, - {"1", "", ""}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> interaction_source_regionst__T_region_flags_values = {{{"0", "NORMAL_ALLOWED", ""}, - {"1", "EVIL_ALLOWED", ""}, - {"2", "GOOD_ALLOWED", ""}, - {"3", "SAVAGE_ALLOWED", ""}, - {"4", "EVIL_ONLY", ""}, - {"5", "GOOD_ONLY", ""}, - {"6", "SAVAGE_ONLY", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> interaction_target_info__T_restrictions_values = {{{"0", "CANNOT_TARGET_IF_ALREADY_AFFECTED", ""}, - {"1", "", ""}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> weapon_attack__T_flags_values = {{{"0", "independent_multiattack", ""}, - {"1", "bad_multiattack", ""}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> instrument_piece__T_flags_values = {{{"0", "always_singular", ""}, - {"1", "always_plural", ""}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> engraving_flags_values = {{{"0", "floor", ""}, - {"1", "west", ""}, - {"2", "east", ""}, - {"3", "north", ""}, - {"4", "south", ""}, - {"5", "hidden", ""}, - {"6", "northwest", ""}, - {"7", "northeast", ""}, - {"8", "southwest", ""}, - {"9", "southeast", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> item_flags_values = {{{"0", "on_ground", "Item on ground"}, - {"1", "in_job", "Item currently being used in a job"}, - {"2", "hostile", "Item owned by hostile"}, - {"3", "in_inventory", "Item in a creature, workshop or container inventory"}, - {"4", "removed", "completely invisible and with no position"}, - {"5", "in_building", "Part of a building (including mechanisms, bodies in coffins)"}, - {"6", "container", "Set on anything that contains or contained items?"}, - {"7", "dead_dwarf", "Dwarfs dead body or body part"}, - {"8", "rotten", "Rotten food"}, - {"9", "spider_web", "Thread in spider web"}, - {"10", "construction", "Material used in construction"}, - {"11", "encased", "Item encased in ice or obsidian"}, - {"12", "unk12", "unknown, unseen"}, - {"13", "murder", "Implies murder - used in fell moods"}, - {"14", "foreign", "Item is imported"}, - {"15", "trader", "Item ownwed by trader"}, - {"16", "owned", "Item is owned by a dwarf"}, - {"17", "garbage_collect", "Marked for deallocation by DF it seems"}, - {"18", "artifact", "Artifact"}, - {"19", "forbid", "Forbidden item"}, - {"20", "already_uncategorized", "unknown, unseen"}, - {"21", "dump", "Designated for dumping"}, - {"22", "on_fire", "Indicates if item is on fire, Will Set Item On Fire if Set!"}, - {"23", "melt", "Designated for melting, if applicable"}, - {"24", "hidden", "Hidden item"}, - {"25", "in_chest", "Stored in chest/part of well?"}, - {"26", "use_recorded", "transient in unit.used_items update"}, - {"27", "artifact_mood", "created by mood/named existing item"}, - {"28", "temps_computed", "melting/boiling/ignite/etc. points"}, - {"29", "weight_computed", ""}, - {"30", "unk30", "unknown, unseen"}, - {"31", "from_worldgen", "created by underground critters?"}}}; - -std::array, 32> item_flags2_values = {{{"0", "has_rider", "vehicle with a rider"}, - {"1", "unk1", ""}, - {"2", "grown", ""}, - {"3", "unk_book", "possibly book/written-content-related"}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> body_part_status_values = {{{"0", "on_fire", ""}, - {"1", "missing", ""}, - {"2", "organ_loss", "cyan"}, - {"3", "organ_damage", "yellow"}, - {"4", "muscle_loss", "red"}, - {"5", "muscle_damage", "yellow"}, - {"6", "bone_loss", "red"}, - {"7", "bone_damage", "yellow"}, - {"8", "skin_damage", "brown"}, - {"9", "motor_nerve_severed", ""}, - {"10", "sensory_nerve_severed", ""}, - {"11", "spilled_guts", ""}, - {"12", "has_splint", ""}, - {"13", "has_bandage", ""}, - {"14", "has_plaster_cast", ""}, - {"15", "grime", ""}, - {"16", "severed_or_jammed", "seen e.g. on ribs smashed by blunt attack, but quickly disappeared"}, - {"17", "under_shell", ""}, - {"18", "is_shell", ""}, - {"19", "unk19", "on zombified head"}, - {"20", "unk20", "on zombified head"}, - {"21", "gelded", "set on GELDABLE body parts after a unit has been gelded"}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> body_layer_status_values = {{{"0", "gone", ""}, - {"1", "leaking", ""}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> item_matstate_values = {{{"0", "no_auto_clean", "isAutoClean returns false"}, - {"1", "pressed", ""}, - {"2", "paste", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> job_material_category_values = {{{"0", "plant", ""}, - {"1", "wood", "wood log"}, - {"2", "cloth", ""}, - {"3", "silk", ""}, - {"4", "leather", ""}, - {"5", "bone", ""}, - {"6", "shell", ""}, - {"7", "wood2", "wood material"}, - {"8", "soap", ""}, - {"9", "tooth", ""}, - {"10", "horn", ""}, - {"11", "pearl", ""}, - {"12", "yarn", ""}, - {"13", "strand", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> dfhack_material_category_values = {{{"0", "", ""}, - {"1", "plant", ""}, - {"2", "wood", ""}, - {"3", "cloth", ""}, - {"4", "silk", ""}, - {"5", "leather", ""}, - {"6", "bone", ""}, - {"7", "shell", ""}, - {"8", "wood2", ""}, - {"9", "soap", ""}, - {"10", "tooth", ""}, - {"11", "horn", ""}, - {"12", "pearl", ""}, - {"13", "yarn", ""}, - {"14", "strand", ""}, - {"15", "metal", ""}, - {"16", "stone", ""}, - {"17", "sand", ""}, - {"18", "glass", ""}, - {"19", "clay", ""}, - {"20", "milk", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> job_flags_values = {{{"0", "repeat", ""}, - {"1", "suspend", ""}, - {"2", "working", "not for food, or store in sp"}, - {"3", "fetching", "Actually going out to bring; corresponds to items->is_fetching"}, - {"4", "special", "Sleep/Drink/Eat/Clean; cannot be aborted via the ui"}, - {"5", "bringing", ""}, - {"6", "item_lost", "set when a Hauled item is removed; causes cancel"}, - {"7", "noise", "on the sleep job causes thoughts"}, - {"8", "by_manager", ""}, - {"9", "store_item", ""}, - {"10", "quality", "set by improvement code"}, - {"11", "specific_dropoff", "for some jobs, blocks auto-restockpiling of the hauled item"}, - {"12", "", ""}, - {"13", "on_break", "job displayed as On Break"}, - {"14", "", ""}, - {"15", "do_now", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> job_item_flags1_values = {{{"0", "improvable", "vtable[155]:eax,-1,-1"}, - {"1", "butcherable", "(call 0074c6d0)"}, - {"2", "millable", "vtable[79]"}, - {"3", "allow_buryable", "ALLOW items with flag 'dead_dwarf'"}, - {"4", "unrotten", "check for item flag 'rotten'"}, - {"5", "undisturbed", "check for item flag 'spider_web'"}, - {"6", "collected", "check for item flag 'spider_web'"}, - {"7", "sharpenable", "vtable[25]"}, - {"8", "murdered", "check for item flag"}, - {"9", "distillable", "vtable[105],1"}, - {"10", "empty", "(call 00753a40)"}, - {"11", "processable", "vtable[80]"}, - {"12", "bag", "vtable[131]"}, - {"13", "cookable", "(call 00753fe0)"}, - {"14", "extract_bearing_plant", "vtable[164]"}, - {"15", "extract_bearing_fish", "vtable[181]"}, - {"16", "extract_bearing_vermin", "vtable[182]"}, - {"17", "processable_to_vial", "vtable[81]"}, - {"18", "processable_to_bag", "vtable[82]"}, - {"19", "processable_to_barrel", "vtable[83]"}, - {"20", "solid", "vtable[74]"}, - {"21", "tameable_vermin", "vtable[104]"}, - {"22", "nearby", ""}, - {"23", "sand_bearing", "vtable[108]"}, - {"24", "glass", "check for material flag IS_GLASS"}, - {"25", "milk", "(call 00753d30 - check if material has CHEESE_MAT?)"}, - {"26", "milkable", "vtable[107],1,1"}, - {"27", "finished_goods", ""}, - {"28", "ammo", ""}, - {"29", "furniture", ""}, - {"30", "not_bin", ""}, - {"31", "lye_bearing", ""}}}; - -std::array, 32> job_item_flags2_values = {{{"0", "dye", "vtable[106]"}, - {"1", "dyeable", "vtable[159]"}, - {"2", "dyed", "vtable[161]"}, - {"3", "sewn_imageless", "vtable[162]"}, - {"4", "glass_making", "vtable[26]"}, - {"5", "screw", "vtable[46]"}, - {"6", "building_material", "vtable[47]"}, - {"7", "fire_safe", "vtable[48],1"}, - {"8", "magma_safe", "vtable[48],2"}, - {"9", "deep_material", "check for inorganic material flag DEEP"}, - {"10", "melt_designated", "check for item flag 'melt'"}, - {"11", "non_economic", "(call 0076be60)"}, - {"12", "allow_melt_dump", "item can be designated for melting or dumping"}, - {"13", "allow_artifact", "item can be artifact"}, - {"14", "plant", "check if material is a PLANT_MAT"}, - {"15", "silk", "check for material flag SILK"}, - {"16", "leather", "check for material flag LEATHER"}, - {"17", "bone", "check for material flag BONE"}, - {"18", "shell", "check for material flag SHELL"}, - {"19", "totemable", "vtable[158]"}, - {"20", "horn", "check for material flag HORN"}, - {"21", "pearl", "check for material flag PEARL"}, - {"22", "plaster_containing", "vtable[17]"}, - {"23", "", ""}, - {"24", "soap", "check for material flag SOAP"}, - {"25", "body_part", "itemtype CORPSE or CORPSEPIECE"}, - {"26", "ivory_tooth", "check for material flag TOOTH"}, - {"27", "lye_milk_free", "(call 00759110)"}, - {"28", "blunt", "vtable[157]"}, - {"29", "unengraved", "vtable[214]"}, - {"30", "hair_wool", "??? (pretty sure this is [ANY_STRAND_TISSUE])"}, - {"31", "yarn", "check for material flag YARN"}}}; - -std::array, 32> job_item_flags3_values = {{{"0", "unimproved", "vtable[176]"}, - {"1", "any_raw_material", "itemtype BAR, BOULDER, POWDER_MISC, or GLOB"}, - {"2", "non_absorbent", "vtable[215]"}, - {"3", "non_pressed", "vtable[91]"}, - {"4", "allow_liquid_powder", ""}, - {"5", "any_craft", "FIGURINE, AMULET, SCEPTER, CROWN, RING, EARRING, BRACLET"}, - {"6", "hard", "check for material flag ITEMS_HARD"}, - {"7", "food_storage", "vtable[15]"}, - {"8", "metal", ""}, - {"9", "sand", ""}, - {"10", "", ""}, - {"11", "written_on", ""}, - {"12", "edged", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> manager_order_status_values = {{{"0", "validated", ""}, - {"1", "active", ""}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> training_assignment__T_flags_values = {{{"0", "any_trainer", ""}, - {"1", "any_unassigned_trainer", ""}, - {"2", "train_war", ""}, - {"3", "train_hunt", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> knowledge_scholar_flags_0_values = {{{"0", "philosophy_logic_formal_reasoning", ""}, - {"1", "philosophy_logic_deductive_reasoning", ""}, - {"2", "philosophy_logic_syllogistic_logic", ""}, - {"3", "philosophy_logic_hypothetical_syllogisms", ""}, - {"4", "philosophy_logic_propositional_logic", ""}, - {"5", "philosophy_logic_dialectic_reasoning", ""}, - {"6", "philosophy_logic_analogical_inference", ""}, - {"7", "philosophy_ethics_applied_medical", ""}, - {"8", "philosophy_ethics_individual_value", ""}, - {"9", "philosophy_ethics_state_consequentialism", ""}, - {"10", "philosophy_epistemology_truth", ""}, - {"11", "philosophy_epistemology_perception", ""}, - {"12", "philosophy_epistemology_justification", ""}, - {"13", "philosophy_epistemology_belief", ""}, - {"14", "philosophy_metaphysics_existence", ""}, - {"15", "philosophy_metaphysics_time", ""}, - {"16", "philosophy_metaphysics_mind_body", ""}, - {"17", "philosophy_metaphysics_objects_and_properties", ""}, - {"18", "philosophy_metaphysics_wholes_and_parts", ""}, - {"19", "philosophy_metaphysics_events", ""}, - {"20", "philosophy_metaphysics_processes", ""}, - {"21", "philosophy_metaphysics_causation", ""}, - {"22", "philosophy_ethics_applied_military", ""}, - {"23", "philosophy_ethics_applied_interpersonal_conduct", ""}, - {"24", "philosophy_specialized_law", ""}, - {"25", "philosophy_specialized_education", ""}, - {"26", "philosophy_specialized_language_grammar", ""}, - {"27", "philosophy_specialized_language_etymology", ""}, - {"28", "philosophy_specialized_politics_diplomacy", ""}, - {"29", "philosophy_specialized_politics_government_forms", ""}, - {"30", "philosophy_specialized_politics_economic_policy", ""}, - {"31", "philosophy_specialized_politics_social_welfare", ""}}}; - -std::array, 32> knowledge_scholar_flags_1_values = {{{"0", "philosophy_logic_inductive_reasoning", ""}, - {"1", "philosophy_logic_direct_inference", ""}, - {"2", "philosophy_aesthetics_nature_of_beauty", ""}, - {"3", "philosophy_aesthetics_value_of_art", ""}, - {"4", "philosophy_specialized_language_dictionary", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> knowledge_scholar_flags_2_values = {{{"0", "mathematics_method_proof_by_contradiction", ""}, - {"1", "mathematics_notation_zero", ""}, - {"2", "mathematics_notation_negative_numbers", ""}, - {"3", "mathematics_notation_large_numbers", ""}, - {"4", "mathematics_notation_positional", ""}, - {"5", "mathematics_geometry_basic_objects", ""}, - {"6", "mathematics_method_exhaustion", ""}, - {"7", "mathematics_geometry_similar_and_congruent_triangles", ""}, - {"8", "mathematics_geometry_geometric_mean_theorem", ""}, - {"9", "mathematics_geometry_isosceles_base_angles_equal", ""}, - {"10", "mathematics_geometry_inscribed_triangle_on_diameter_is_right", ""}, - {"11", "mathematics_geometry_pythagorean_theorem", ""}, - {"12", "mathematics_geometry_pythagorean_triples_small", ""}, - {"13", "mathematics_geometry_pythagorean_triples_3_digit", ""}, - {"14", "mathematics_geometry_pythagorean_triples_4_digit", ""}, - {"15", "mathematics_geometry_existence_of_incommensurable_ratios", ""}, - {"16", "mathematics_method_axiomatic_reasoning", ""}, - {"17", "mathematics_numbers_unique_prime_factorization", ""}, - {"18", "mathematics_numbers_algorithm_for_computing_gcd", ""}, - {"19", "mathematics_geometry_volume_of_pyramid", ""}, - {"20", "mathematics_geometry_volume_of_cone", ""}, - {"21", "mathematics_geometry_volume_of_sphere", ""}, - {"22", "mathematics_geometry_pi_to_4_digits", ""}, - {"23", "mathematics_numbers_division_algorithm", ""}, - {"24", "mathematics_geometry_table_of_chord_values", ""}, - {"25", "mathematics_geometry_area_of_triangle_from_side_lengths", ""}, - {"26", "mathematics_geometry_area_of_circle", ""}, - {"27", "mathematics_geometry_pi_to_6_digits", ""}, - {"28", "mathematics_geometry_definitions_and_basic_properties_of_conic_sections", ""}, - {"29", "mathematics_numbers_chinese_remainder_algorithm", ""}, - {"30", "mathematics_geometry_area_enclosed_by_line_and_parabola", ""}, - {"31", "mathematics_numbers_sieve_algorithm_for_primes", ""}}}; - -std::array, 32> knowledge_scholar_flags_3_values = {{{"0", "mathematics_numbers_root_2_to_5_digits", ""}, - {"1", "mathematics_numbers_infinite_primes", ""}, - {"2", "mathematics_numbers_root_2_irrational", ""}, - {"3", "mathematics_geometry_surface_area_of_sphere", ""}, - {"4", "mathematics_algebra_finite_summation_formulas", ""}, - {"5", "mathematics_algebra_solving_linear_systems", ""}, - {"6", "mathematics_algebra_balancing_and_completion", ""}, - {"7", "mathematics_algebra_quadratic_by_completing_square", ""}, - {"8", "mathematics_algebra_quadratic_formula", ""}, - {"9", "mathematics_notation_syncopated_algebra", ""}, - {"10", "mathematics_geometry_law_of_sines", ""}, - {"11", "mathematics_geometry_angle_sum_difference_trig_identities", ""}, - {"12", "mathematics_algebra_pascals_triangle", ""}, - {"13", "mathematics_algebra_solving_higher_order_polynomials", ""}, - {"14", "mathematics_notation_early_symbols_for_operations", ""}, - {"15", "mathematics_algebra_divergence_of_harmonic_series", ""}, - {"16", "mathematics_geometry_properties_of_chords", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> knowledge_scholar_flags_4_values = {{{"0", "history_sourcing_basic_reliability", ""}, - {"1", "history_sourcing_role_of_systemic_bias", ""}, - {"2", "history_sourcing_role_of_state_bias_and_propaganda", ""}, - {"3", "history_sourcing_personal_interviews", ""}, - {"4", "history_theory_historical_causation", ""}, - {"5", "history_theory_historical_cycles", ""}, - {"6", "history_theory_social_cohesion", ""}, - {"7", "history_theory_social_conflict", ""}, - {"8", "history_form_biography", ""}, - {"9", "history_form_comparative_biography", ""}, - {"10", "history_form_biographical_dictionaries", ""}, - {"11", "history_form_autobiographical_adventure", ""}, - {"12", "history_form_genealogy", ""}, - {"13", "history_form_encyclopedia", ""}, - {"14", "history_form_cultural_history", ""}, - {"15", "history_form_cultural_comparison", ""}, - {"16", "history_sourcing_role_of_cultural_differences", ""}, - {"17", "history_form_alternate_history", ""}, - {"18", "history_sourcing_basic_archaeology", ""}, - {"19", "history_form_treatise_on_tech_evolution", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> knowledge_scholar_flags_5_values = {{{"0", "astronomy_phases_of_the_moon", ""}, - {"1", "astronomy_summer_winter_moon", ""}, - {"2", "astronomy_path_of_the_moon", ""}, - {"3", "astronomy_tides_and_the_moon", ""}, - {"4", "astronomy_height_of_tides_vs_moon_and_sun", ""}, - {"5", "astronomy_summer_winter_sun", ""}, - {"6", "astronomy_relationship_between_lunar_solar_year", ""}, - {"7", "astronomy_daylight_variation_with_solar_year", ""}, - {"8", "astronomy_geocentric_model", ""}, - {"9", "astronomy_heliocentric_model", ""}, - {"10", "astronomy_dates_of_lunar_and_solar_eclipses", ""}, - {"11", "astronomy_star_charts", ""}, - {"12", "astronomy_star_catalogues_100", ""}, - {"13", "astronomy_star_catalogues_1000", ""}, - {"14", "astronomy_star_color_classification", ""}, - {"15", "astronomy_star_magnitude_classification", ""}, - {"16", "astronomy_shape_of_the_world", ""}, - {"17", "astronomy_precession_of_equinoxes", ""}, - {"18", "astronomy_method_empirical_observation", ""}, - {"19", "astronomy_method_path_models", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> knowledge_scholar_flags_6_values = {{{"0", "naturalist_method_dissection", ""}, - {"1", "naturalist_observation_anatomy", ""}, - {"2", "naturalist_theory_comparative_anatomy", ""}, - {"3", "naturalist_theory_classification_by_physical_features", ""}, - {"4", "naturalist_observation_migration_patterns", ""}, - {"5", "naturalist_observation_reproductive_behavior", ""}, - {"6", "naturalist_observation_foraging_behavior_and_diet", ""}, - {"7", "naturalist_theory_food_chain", ""}, - {"8", "naturalist_observation_social_behavior", ""}, - {"9", "naturalist_observation_diseases", ""}, - {"10", "naturalist_theory_climactic_adaptation", ""}, - {"11", "naturalist_observation_embriological_development", ""}, - {"12", "naturalist_theory_struggle_for_existence", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> knowledge_scholar_flags_7_values = {{{"0", "chemistry_classification_combustibles", ""}, - {"1", "chemistry_classification_ores", ""}, - {"2", "chemistry_metallurgy_alloys", ""}, - {"3", "chemistry_classification_scratch_test", ""}, - {"4", "chemistry_classification_elemental_theory", ""}, - {"5", "chemistry_chemicals_adhesives", ""}, - {"6", "chemistry_laboratory_blast_furnace", ""}, - {"7", "chemistry_laboratory_alembic", ""}, - {"8", "chemistry_laboratory_theory_of_liquid_liquid_extraction", ""}, - {"9", "chemistry_laboratory_theory_of_distillation", ""}, - {"10", "chemistry_laboratory_theory_of_evaporation", ""}, - {"11", "chemistry_classification_alkali_and_acids", ""}, - {"12", "chemistry_laboratory_systematic_experiments", ""}, - {"13", "chemistry_laboratory_glass_flask", ""}, - {"14", "chemistry_laboratory_glass_beaker", ""}, - {"15", "chemistry_laboratory_glass_vial", ""}, - {"16", "chemistry_laboratory_glass_funnel", ""}, - {"17", "chemistry_laboratory_crucible", ""}, - {"18", "chemistry_chemicals_nitric_acid", ""}, - {"19", "chemistry_chemicals_sulfuric_acid", ""}, - {"20", "chemistry_chemicals_aqua_regia", ""}, - {"21", "chemistry_laboratory_glass_ampoule", ""}, - {"22", "chemistry_laboratory_glass_retort", ""}, - {"23", "chemistry_laboratory_lab_ovens", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> knowledge_scholar_flags_8_values = {{{"0", "geography_surveying_basic", ""}, - {"1", "geography_surveying_staff", ""}, - {"2", "geography_cartography_basic", ""}, - {"3", "geography_surveying_triangulation", ""}, - {"4", "geography_surveying_cartographical", ""}, - {"5", "geography_surveying_land", ""}, - {"6", "geography_surveying_military", ""}, - {"7", "geography_surveying_engineering", ""}, - {"8", "geography_cartography_geological", ""}, - {"9", "geography_cartography_grid_system", ""}, - {"10", "geography_cartography_distance_scale", ""}, - {"11", "geography_cartography_height_measurements", ""}, - {"12", "geography_method_economic_data_collection", ""}, - {"13", "geography_cartography_economic", ""}, - {"14", "geography_form_atlas", ""}, - {"15", "geography_theory_delta_formation", ""}, - {"16", "geography_theory_wind_patterns", ""}, - {"17", "geography_theory_origin_of_rainfall_from_evap_condense", ""}, - {"18", "geography_theory_water_cycle", ""}, - {"19", "geography_theory_latitude_climate_zones", ""}, - {"20", "geography_cartography_accurate_maps", ""}, - {"21", "geography_cartography_map_projections", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> knowledge_scholar_flags_9_values = {{{"0", "medicine_theory_disease_and_fouled_water", ""}, - {"1", "medicine_method_physical_examination", ""}, - {"2", "medicine_method_autopsy", ""}, - {"3", "medicine_theory_prognosis", ""}, - {"4", "medicine_tool_herbal_remedies", ""}, - {"5", "medicine_tool_animal_remedies", ""}, - {"6", "medicine_tool_mineral_remedies", ""}, - {"7", "medicine_tool_bandages", ""}, - {"8", "medicine_theory_disease_classification", ""}, - {"9", "medicine_theory_toxicology", ""}, - {"10", "medicine_theory_acute_and_chronic_conditions", ""}, - {"11", "medicine_theory_endemic_disease", ""}, - {"12", "medicine_theory_epidemic_disease", ""}, - {"13", "medicine_theory_exacerbation", ""}, - {"14", "medicine_theory_paroxysm", ""}, - {"15", "medicine_theory_relapse", ""}, - {"16", "medicine_theory_convalescence", ""}, - {"17", "medicine_method_treatment_of_traumatic_injuries", ""}, - {"18", "medicine_method_fracture_treatment", ""}, - {"19", "medicine_theory_fracture_classification", ""}, - {"20", "medicine_tool_traction_bench", ""}, - {"21", "medicine_method_fracture_immobilization", ""}, - {"22", "medicine_tool_orthopedic_cast", ""}, - {"23", "medicine_method_surgery_excision", ""}, - {"24", "medicine_method_surgery_incision", ""}, - {"25", "medicine_method_hernia_surgery", ""}, - {"26", "medicine_method_tracheotomy_surgery", ""}, - {"27", "medicine_method_lithotomy_surgery", ""}, - {"28", "medicine_method_surgery_scraping", ""}, - {"29", "medicine_method_surgery_draining", ""}, - {"30", "medicine_method_surgery_probing", ""}, - {"31", "medicine_method_surgery_suturing", ""}}}; - -std::array, 32> knowledge_scholar_flags_10_values = {{{"0", "medicine_method_surgery_ligature", ""}, - {"1", "medicine_theory_surgical_models", ""}, - {"2", "medicine_tool_mud_bags_as_surgical_models", ""}, - {"3", "medicine_tool_plants_as_surgical_models", ""}, - {"4", "medicine_tool_animals_as_surgical_models", ""}, - {"5", "medicine_theory_specialized_surgical_instruments", ""}, - {"6", "medicine_tool_forceps", ""}, - {"7", "medicine_tool_scalpel", ""}, - {"8", "medicine_tool_surgical_scissors", ""}, - {"9", "medicine_tool_surgical_needles", ""}, - {"10", "medicine_method_cataract_surgery", ""}, - {"11", "medicine_method_cauterization", ""}, - {"12", "medicine_method_anesthesia", ""}, - {"13", "medicine_theory_pulmonary_medicine", ""}, - {"14", "medicine_theory_anatomical_studies", ""}, - {"15", "medicine_theory_classification_of_bodily_fluids", ""}, - {"16", "medicine_theory_eye_anatomy", ""}, - {"17", "medicine_theory_motor_vs_sensory_nerves", ""}, - {"18", "medicine_theory_nervous_system_function", ""}, - {"19", "medicine_theory_reaction_time", ""}, - {"20", "medicine_theory_blood_vessels", ""}, - {"21", "medicine_theory_pulmonary_circulation", ""}, - {"22", "medicine_theory_comparative_anatomy", ""}, - {"23", "medicine_theory_the_voice", ""}, - {"24", "medicine_theory_classification_of_muscles", ""}, - {"25", "medicine_theory_classification_of_mental_illnesses", ""}, - {"26", "medicine_theory_treatment_of_mental_illnesses", ""}, - {"27", "medicine_tool_dedicated_hospitals", ""}, - {"28", "medicine_method_professional_hospital_staff", ""}, - {"29", "medicine_method_specialized_wards", ""}, - {"30", "medicine_method_hospital_lab", ""}, - {"31", "medicine_method_medical_school", ""}}}; - -std::array, 32> knowledge_scholar_flags_11_values = {{{"0", "medicine_method_asylum_for_mentally_ill", ""}, - {"1", "", ""}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> knowledge_scholar_flags_12_values = {{{"0", "engineering_horology_shadow_clock", ""}, - {"1", "engineering_horology_water_clock", ""}, - {"2", "engineering_horology_conical_water_clock", ""}, - {"3", "engineering_horology_water_clock_reservoir", ""}, - {"4", "engineering_horology_astrarium", ""}, - {"5", "engineering_horology_hourglass", ""}, - {"6", "engineering_horology_mechanical_clock", ""}, - {"7", "engineering_machine_theory_of_pulley", ""}, - {"8", "engineering_machine_pulley", ""}, - {"9", "engineering_machine_theory_of_screw", ""}, - {"10", "engineering_machine_screw", ""}, - {"11", "engineering_machine_theory_of_wheel_and_axle", ""}, - {"12", "engineering_machine_windlass", ""}, - {"13", "engineering_machine_theory_of_wedge", ""}, - {"14", "engineering_machine_theory_of_lever", ""}, - {"15", "engineering_machine_lever", ""}, - {"16", "engineering_machine_straight_beam_balance", ""}, - {"17", "engineering_machine_theory_of_gears", ""}, - {"18", "engineering_machine_warded_lock", ""}, - {"19", "engineering_machine_tumbler_lock", ""}, - {"20", "engineering_machine_padlock", ""}, - {"21", "engineering_machine_camshaft", ""}, - {"22", "engineering_machine_crankshaft", ""}, - {"23", "engineering_machine_water_powered_sawmill", ""}, - {"24", "engineering_machine_chariot_odometer", ""}, - {"25", "engineering_machine_chain_drive", ""}, - {"26", "engineering_machine_mechanical_compass", ""}, - {"27", "engineering_machine_differential_gear", ""}, - {"28", "engineering_machine_combination_lock", ""}, - {"29", "engineering_machine_verge_escapement", ""}, - {"30", "engineering_machine_balance_wheel", ""}, - {"31", "engineering_fluid_theory_of_siphon", ""}}}; - -std::array, 32> knowledge_scholar_flags_13_values = {{{"0", "engineering_fluid_valves", ""}, - {"1", "engineering_fluid_force_pump", ""}, - {"2", "engineering_optics_crystal_lens", ""}, - {"3", "engineering_optics_water_filled_spheres", ""}, - {"4", "engineering_optics_glass_lens", ""}, - {"5", "engineering_optics_camera_obscura", ""}, - {"6", "engineering_optics_parabolic_mirror", ""}, - {"7", "engineering_optics_theory_of_color", ""}, - {"8", "engineering_optics_theory_of_rainbows", ""}, - {"9", "engineering_optics_law_of_refraction", ""}, - {"10", "engineering_design_models_and_templates", ""}, - {"11", "engineering_construction_wood_lamination", ""}, - {"12", "engineering_astronomy_dioptra", ""}, - {"13", "engineering_astronomy_astrolabe", ""}, - {"14", "engineering_astronomy_armillary_sphere", ""}, - {"15", "engineering_astronomy_spherical_astrolabe", ""}, - {"16", "engineering_astronomy_mural_instrument", ""}, - {"17", "engineering_astronomy_orrery", ""}, - {"18", "engineering_machine_water_powered_trip_hammer", ""}, - {"19", "engineering_machine_double_acting_piston_bellows", ""}, - {"20", "engineering_fluid_archimedes_principle", ""}, - {"21", "engineering_optics_atmospheric_refraction", ""}, - {"22", "engineering_optics_cause_of_twilight", ""}, - {"23", "engineering_optics_height_of_atmosphere", ""}, - {"24", "engineering_machine_piston", ""}, - {"25", "engineering_machine_crank", ""}, - {"26", "engineering_machine_bellows", ""}, - {"27", "engineering_machine_water_powered_piston_bellows", ""}, - {"28", "engineering_machine_water_wheel", ""}, - {"29", "engineering_machine_trip_hammer", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> language_word_flags_values = {{{"0", "front_compound_noun_sing", ""}, - {"1", "front_compound_noun_plur", ""}, - {"2", "front_compound_adj", ""}, - {"3", "front_compound_prefix", ""}, - {"4", "rear_compound_noun_sing", ""}, - {"5", "rear_compound_noun_plur", ""}, - {"6", "rear_compound_adj", ""}, - {"7", "the_noun_sing", ""}, - {"8", "the_noun_plur", ""}, - {"9", "the_compound_noun_sing", ""}, - {"10", "the_compound_noun_plur", ""}, - {"11", "the_compound_adj", ""}, - {"12", "the_compound_prefix", ""}, - {"13", "of_noun_sing", ""}, - {"14", "of_noun_plur", ""}, - {"15", "standard_verb", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> invasion_info__T_flags_values = {{{"0", "active", ""}, - {"1", "siege", ""}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> machine_info__T_flags_values = {{{"0", "frozen", ""}, - {"1", "", ""}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> machine_conn_modes_values = {{{"0", "up", ""}, - {"1", "down", ""}, - {"2", "right", ""}, - {"3", "left", ""}, - {"4", "z_up", ""}, - {"5", "z_down", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> tile_designation_values = {{{"0", "flow_size", "liquid amount"}, - {"1", "pile", "stockpile?"}, - {"2", "dig", ""}, - {"3", "smooth", ""}, - {"4", "hidden", ""}, - {"5", "geolayer_index", ""}, - {"6", "light", ""}, - {"7", "subterranean", ""}, - {"8", "outside", ""}, - {"9", "biome", ""}, - {"10", "liquid_type", ""}, - {"11", "water_table", "aquifer"}, - {"12", "rained", ""}, - {"13", "traffic", ""}, - {"14", "flow_forbid", ""}, - {"15", "liquid_static", ""}, - {"16", "feature_local", ""}, - {"17", "feature_global", ""}, - {"18", "water_stagnant", ""}, - {"19", "water_salt", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> tile_occupancy_values = {{{"0", "building", ""}, - {"1", "unit", "standing"}, - {"2", "unit_grounded", "prone"}, - {"3", "item", ""}, - {"4", "edge_flow_in", "if set on an edge tile, water or magma will flow in"}, - {"5", "moss", ""}, - {"6", "arrow_color", ""}, - {"7", "arrow_variant", ""}, - {"8", "unk13_noncitizen_unit", "when noncitizen moves in, something happens and it is cleared"}, - {"9", "monster_lair", "A monster lair. Items placed wont be moved."}, - {"10", "no_grow", "seems to be set on terrain tiles where grass growth is impossible"}, - {"11", "unk16", ""}, - {"12", "unk17", ""}, - {"13", "carve_track_north", ""}, - {"14", "carve_track_south", ""}, - {"15", "carve_track_east", ""}, - {"16", "carve_track_west", ""}, - {"17", "unk22", ""}, - {"18", "unk23", ""}, - {"19", "dig_marked", ""}, - {"20", "dig_auto", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> block_flags_values = {{{"0", "designated", "for jobs etc"}, - {"1", "update_temperature", ""}, - {"2", "update_liquid", ""}, - {"3", "update_liquid_twice", "Protects UpdateLiquid from being cleared the first time."}, - {"4", "repath_on_freeze", "reindex_pathfinding set and flag cleared if temperature below 10000"}, - {"5", "repath_on_melt", "reindex_pathfinding set and flag cleared if temperature above 10000"}, - {"6", "has_aquifer", "has actual aquifer tiles (?)"}, - {"7", "check_aquifer", "has tiles that may get flooded by an adjacent aquifer"}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> z_level_flags_values = {{{"0", "update", ""}, - {"1", "can_stop", ""}, - {"2", "update_twice", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> tile_liquid_flow_values = {{{"0", "temp_flow_timer", "set when water sloshes around, counts down to zero"}, - {"1", "unk_1", ""}, - {"2", "perm_flow_dir", ""}, - {"3", "unk_2", "periodically set whenever perm_flow_dir is nonzero"}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> construction_flags_values = {{{"0", "no_build_item", "build item is created from scratch upon removing construction, does not exist beforehand"}, - {"1", "top_of_wall", "used on the floors above constructed walls so you cannot remove them"}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> flow_reuse_pool__T_flags_values = {{{"0", "active", ""}, - {"1", "", ""}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> uniform_indiv_choice_values = {{{"0", "any", ""}, - {"1", "melee", ""}, - {"2", "ranged", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> squad_use_flags_values = {{{"0", "sleep", ""}, - {"1", "train", ""}, - {"2", "indiv_eq", ""}, - {"3", "squad_eq", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> uniform_flags_values = {{{"0", "replace_clothing", ""}, - {"1", "exact_matches", ""}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> army_controller_sub4__T_unk_2_values = {{{"0", "not_sleeping", "set to 1 to make army wake up"}, - {"1", "", ""}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> plant_flags_values = {{{"0", "watery", ""}, - {"1", "is_shrub", "If it is not a shrub, then it is a tree"}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> plant_tree_tile_values = {{{"0", "trunk", ""}, - {"1", "connection_east", ""}, - {"2", "connection_south", ""}, - {"3", "connection_west", ""}, - {"4", "connection_north", ""}, - {"5", "branches", ""}, - {"6", "twigs", ""}, - {"7", "blocked", "e.g. by other tree"}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> projectile_flags_values = {{{"0", "no_impact_destroy", ""}, - {"1", "has_hit_ground", ""}, - {"2", "bouncing", ""}, - {"3", "high_flying", ""}, - {"4", "piercing", ""}, - {"5", "to_be_deleted", ""}, - {"6", "unk6", ""}, - {"7", "unk7", ""}, - {"8", "parabolic", ""}, - {"9", "unk9", ""}, - {"10", "unk10", ""}, - {"11", "no_collide", ""}, - {"12", "safe_landing", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> reaction_reagent_flags_values = {{{"0", "PRESERVE_REAGENT", ""}, - {"1", "IN_CONTAINER", ""}, - {"2", "DOES_NOT_DETERMINE_PRODUCT_AMOUNT", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> general_ref_entity_popst__T_flags_values = {{{"0", "animated_corpse", ""}, - {"1", "ghostly", ""}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> general_ref_creaturest__T_flags_values = {{{"0", "animated_corpse", ""}, - {"1", "ghostly", ""}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> general_ref_unit_itemownerst__T_flags_values = {{{"0", "litter", "apparetly set after 1000 ticks, then confiscated in 1000 more ticks"}, - {"1", "", ""}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> stockpile_group_set_values = {{{"0", "animals", ""}, - {"1", "food", ""}, - {"2", "furniture", ""}, - {"3", "corpses", ""}, - {"4", "refuse", ""}, - {"5", "stone", ""}, - {"6", "ammo", ""}, - {"7", "coins", ""}, - {"8", "bars_blocks", ""}, - {"9", "gems", ""}, - {"10", "finished_goods", ""}, - {"11", "leather", ""}, - {"12", "cloth", ""}, - {"13", "wood", ""}, - {"14", "weapons", ""}, - {"15", "armor", ""}, - {"16", "sheet", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> route_stockpile_link__T_mode_values = {{{"0", "take", ""}, - {"1", "give", ""}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> creature_interaction_effect_flags_values = {{{"0", "SIZE_DELAYS", ""}, - {"1", "SIZE_DILUTES", ""}, - {"2", "VASCULAR_ONLY", ""}, - {"3", "MUSCULAR_ONLY", ""}, - {"4", "RESISTABLE", ""}, - {"5", "LOCALIZED", ""}, - {"6", "MOON_PHASE", ""}, - {"7", "COUNTER_TRIGGER", ""}, - {"8", "ABRUPT_START", ""}, - {"9", "ABRUPT_END", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> cie_add_tag_mask1_values = {{{"0", "EXTRAVISION", ""}, - {"1", "OPPOSED_TO_LIFE", ""}, - {"2", "NOT_LIVING", ""}, - {"3", "NOEXERT", ""}, - {"4", "NOPAIN", ""}, - {"5", "NOBREATHE", ""}, - {"6", "HAS_BLOOD", ""}, - {"7", "NOSTUN", ""}, - {"8", "NONAUSEA", ""}, - {"9", "NO_DIZZINESS", ""}, - {"10", "NO_FEVERS", ""}, - {"11", "TRANCES", ""}, - {"12", "NOEMOTION", ""}, - {"13", "LIKES_FIGHTING", ""}, - {"14", "PARALYZEIMMUNE", ""}, - {"15", "NOFEAR", ""}, - {"16", "NO_EAT", ""}, - {"17", "NO_DRINK", ""}, - {"18", "NO_SLEEP", ""}, - {"19", "MISCHIEVOUS", ""}, - {"20", "NO_PHYS_ATT_GAIN", ""}, - {"21", "NO_PHYS_ATT_RUST", ""}, - {"22", "NOTHOUGHT", ""}, - {"23", "NO_THOUGHT_CENTER_FOR_MOVEMENT", ""}, - {"24", "CAN_SPEAK", ""}, - {"25", "CAN_LEARN", ""}, - {"26", "UTTERANCES", ""}, - {"27", "CRAZED", ""}, - {"28", "BLOODSUCKER", ""}, - {"29", "NO_CONNECTIONS_FOR_MOVEMENT", ""}, - {"30", "SUPERNATURAL", ""}, - {"31", "", ""}}}; - -std::array, 32> cie_add_tag_mask2_values = {{{"0", "NO_AGING", ""}, - {"1", "MORTAL", ""}, - {"2", "STERILE", ""}, - {"3", "FIT_FOR_ANIMATION", ""}, - {"4", "FIT_FOR_RESURRECTION", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> syndrome_flags_values = {{{"0", "SYN_INJECTED", ""}, - {"1", "SYN_CONTACT", ""}, - {"2", "SYN_INHALED", ""}, - {"3", "", ""}, - {"4", "SYN_INGESTED", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> unit_flags1_values = {{{"0", "move_state", "Can the dwarf move or are they waiting for their movement timer"}, - {"1", "inactive", "Set for dead units and incoming/leaving critters that are alive but off-map"}, - {"2", "has_mood", "Currently in mood"}, - {"3", "had_mood", "Had a mood already"}, - {"4", "marauder", "wide class of invader/inside creature attackers"}, - {"5", "drowning", "Is currently drowning"}, - {"6", "merchant", "An active merchant"}, - {"7", "forest", "used for units no longer linked to merchant/diplomacy, they just try to leave mostly"}, - {"8", "left", "left the map"}, - {"9", "rider", "Is riding an another creature"}, - {"10", "incoming", ""}, - {"11", "diplomat", ""}, - {"12", "zombie", ""}, - {"13", "skeleton", ""}, - {"14", "can_swap", "Can swap tiles during movement (prevents multiple swaps)"}, - {"15", "on_ground", "The creature is laying on the floor, can be conscious"}, - {"16", "projectile", "Launched into the air? Funny."}, - {"17", "active_invader", "Active invader (for organized ones)"}, - {"18", "hidden_in_ambush", ""}, - {"19", "invader_origin", "Invader origin (could be inactive and fleeing)"}, - {"20", "coward", "Will flee if invasion turns around"}, - {"21", "hidden_ambusher", "Active marauder/invader moving inward?"}, - {"22", "invades", "Marauder resident/invader moving in all the way"}, - {"23", "check_flows", "Check against flows next time you get a chance"}, - {"24", "ridden", ""}, - {"25", "caged", ""}, - {"26", "tame", ""}, - {"27", "chained", ""}, - {"28", "royal_guard", ""}, - {"29", "fortress_guard", ""}, - {"30", "suppress_wield", ""}, - {"31", "important_historical_figure", "Is an important historical figure"}}}; - -std::array, 32> unit_flags2_values = {{{"0", "swimming", ""}, - {"1", "sparring", "works, but not set for sparring military dwarves(?) (since 0.40.01?)"}, - {"2", "no_notify", "Do not notify about level gains (for embark etc)"}, - {"3", "unused", ""}, - {"4", "calculated_nerves", ""}, - {"5", "calculated_bodyparts", ""}, - {"6", "important_historical_figure", "Is important historical figure (slight variation)"}, - {"7", "killed", "Has been killed by kill function (slightly different from dead, not necessarily violent death)"}, - {"8", "cleanup_1", "Must be forgotten by forget function (just cleanup)"}, - {"9", "cleanup_2", "Must be deleted (cleanup)"}, - {"10", "cleanup_3", "Recently forgotten (cleanup)"}, - {"11", "for_trade", "Offered for trade"}, - {"12", "trade_resolved", ""}, - {"13", "has_breaks", ""}, - {"14", "gutted", ""}, - {"15", "circulatory_spray", ""}, - {"16", "locked_in_for_trading", "Locked in for trading (it's a projectile on the other set of flags, might be what the flying was)"}, - {"17", "slaughter", "marked for slaughter"}, - {"18", "underworld", "Underworld creature"}, - {"19", "resident", "Current resident"}, - {"20", "cleanup_4", "Marked for special cleanup as unused load from unit block on disk"}, - {"21", "calculated_insulation", "Insulation from clothing calculated"}, - {"22", "visitor_uninvited", "Uninvited guest"}, - {"23", "visitor", ""}, - {"24", "calculated_inventory", "Inventory order calculated"}, - {"25", "vision_good", "Vision -- have good part"}, - {"26", "vision_damaged", "Vision -- have damaged part"}, - {"27", "vision_missing", "Vision -- have missing part"}, - {"28", "breathing_good", "Breathing -- have good part"}, - {"29", "breathing_problem", "Breathing -- having a problem"}, - {"30", "roaming_wilderness_population_source", ""}, - {"31", "roaming_wilderness_population_source_not_a_map_feature", ""}}}; - -std::array, 32> unit_flags3_values = {{{"0", "body_part_relsize_computed", ""}, - {"1", "size_modifier_computed", ""}, - {"2", "stuck_weapon_computed", "cleared if removing StuckIn item to recompute wound flags."}, - {"3", "compute_health", "causes the health structure to be created or updated"}, - {"4", "announce_titan", "Announces creature like an FB or titan."}, - {"5", "unk5", ""}, - {"6", "on_crutch", ""}, - {"7", "weight_computed", ""}, - {"8", "body_temp_in_range", "Is set to 1 every tick for non-dead creatures."}, - {"9", "wait_until_reveal", "Blocks all kind of things until tile is revealed."}, - {"10", "scuttle", ""}, - {"11", "unk11", ""}, - {"12", "ghostly", ""}, - {"13", "unk13", ""}, - {"14", "unk14", ""}, - {"15", "unk15", "dropped when znew >= zold"}, - {"16", "unk16", "something to do with werewolves?"}, - {"17", "no_meandering", "for active_invaders"}, - {"18", "floundering", ""}, - {"19", "exit_vehicle1", "trapavoid"}, - {"20", "exit_vehicle2", "trapavoid"}, - {"21", "dangerous_terrain", ""}, - {"22", "adv_yield", ""}, - {"23", "vision_cone_set", ""}, - {"24", "unk24", ""}, - {"25", "emotionally_overloaded", ""}, - {"26", "unk26", ""}, - {"27", "available_for_adoption", ""}, - {"28", "gelded", ""}, - {"29", "marked_for_gelding", ""}, - {"30", "injury_thought", ""}, - {"31", "unk31", ""}}}; - -std::array, 32> unit_flags4_values = {{{"0", "unk0", ""}, - {"1", "unk1", ""}, - {"2", "unk2", ""}, - {"3", "unk3", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> wound_damage_flags1_values = {{{"0", "cut", ""}, - {"1", "smashed", ""}, - {"2", "scar_cut", "straight scar"}, - {"3", "scar_smashed", "huge dent"}, - {"4", "tendon_bruised", ""}, - {"5", "tendon_strained", ""}, - {"6", "tendon_torn", ""}, - {"7", "ligament_bruised", ""}, - {"8", "ligament_sprained", ""}, - {"9", "ligament_torn", ""}, - {"10", "motor_nerve_severed", ""}, - {"11", "sensory_nerve_severed", ""}, - {"12", "edged_damage", ""}, - {"13", "smashed_apart", "?"}, - {"14", "major_artery", ""}, - {"15", "guts_spilled", ""}, - {"16", "edged_shake1", ""}, - {"17", "scar_edged_shake1", "jagged scar"}, - {"18", "edged_shake2", ""}, - {"19", "broken", ""}, - {"20", "scar_broken", "huge dent"}, - {"21", "gouged", ""}, - {"22", "blunt_shake1", ""}, - {"23", "scar_blunt_shake1", "jagged scar"}, - {"24", "blunt_shake2", ""}, - {"25", "joint_bend1", ""}, - {"26", "scar_joint_bend1", "jagged scar"}, - {"27", "joint_bend2", ""}, - {"28", "compound_fracture", ""}, - {"29", "diagnosed", ""}, - {"30", "artery", ""}, - {"31", "overlapping_fracture", ""}}}; - -std::array, 32> wound_damage_flags2_values = {{{"0", "needs_setting", ""}, - {"1", "entire_surface", ""}, - {"2", "gelded", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> unit_health_flags_values = {{{"0", "rq_diagnosis", ""}, - {"1", "needs_recovery", "needs diagnosis but cannot walk"}, - {"2", "needs_healthcare", "???; set when rq_diagnosis is, and not blocked by having a diagnosis"}, - {"3", "rq_immobilize", ""}, - {"4", "rq_dressing", ""}, - {"5", "rq_cleaning", ""}, - {"6", "rq_surgery", ""}, - {"7", "rq_suture", ""}, - {"8", "rq_setting", ""}, - {"9", "rq_traction", ""}, - {"10", "rq_crutch", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> unit_bp_health_flags_values = {{{"0", "rq_immobilize", ""}, - {"1", "rq_dressing", ""}, - {"2", "rq_cleaning", ""}, - {"3", "rq_surgery", ""}, - {"4", "rq_suture", ""}, - {"5", "rq_setting", ""}, - {"6", "rq_traction", ""}, - {"7", "inoperable_rot", ""}, - {"8", "needs_bandage", "used to remove once not needed"}, - {"9", "needs_cast", "used to remove once not needed"}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> orientation_flags_values = {{{"0", "indeterminate", "only seen on adventurers"}, - {"1", "romance_male", ""}, - {"2", "marry_male", ""}, - {"3", "romance_female", ""}, - {"4", "marry_female", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> vermin_flags_values = {{{"0", "", ""}, - {"1", "is_colony", "A vermin colony. For example an anthill or bee hive."}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> kitchen_pref_flag_values = {{{"0", "Cook", ""}, - {"1", "Brew", ""}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> health_view_bits1_values = {{{"0", "bleeding_heavy", ""}, - {"1", "bleeding", ""}, - {"2", "pale", ""}, - {"3", "blood_loss_severe", ""}, - {"4", "faint", ""}, - {"5", "blood_loss", ""}, - {"6", "paralyzed", ""}, - {"7", "paralyzed_partially", ""}, - {"8", "sluggish", ""}, - {"9", "numb_completely", ""}, - {"10", "numb_partially", ""}, - {"11", "numb_slightly", ""}, - {"12", "fever_serious", ""}, - {"13", "fever_moderate", ""}, - {"14", "fever_slight", ""}, - {"15", "pain_extreme", ""}, - {"16", "pain_moderate", ""}, - {"17", "pain_slight", ""}, - {"18", "exhausted", ""}, - {"19", "overexerted", ""}, - {"20", "tired", ""}, - {"21", "stunned", ""}, - {"22", "dizzy", ""}, - {"23", "drowning", ""}, - {"24", "winded", ""}, - {"25", "nauseous", ""}, - {"26", "drowsy_very", ""}, - {"27", "drowsy", ""}, - {"28", "dehydrated", ""}, - {"29", "thirsty", ""}, - {"30", "starving", ""}, - {"31", "hungry", ""}}}; - -std::array, 32> health_view_bits2_values = {{{"0", "breathe_cant", ""}, - {"1", "breathe_trouble", ""}, - {"2", "vision_lost", ""}, - {"3", "vision_impaired", ""}, - {"4", "vision_impaired2", ""}, - {"5", "stand_cant", ""}, - {"6", "stand_impaired", ""}, - {"7", "grasp_cant", ""}, - {"8", "grasp_impaired", ""}, - {"9", "fly_cant", ""}, - {"10", "fly_impaired", ""}, - {"11", "motor_nerve", ""}, - {"12", "sensory_nerve", ""}, - {"13", "spilled", ""}, - {"14", "artery_major", ""}, - {"15", "artery", ""}, - {"16", "tendon_torn", ""}, - {"17", "tendon_strain", ""}, - {"18", "tendon_bruise", ""}, - {"19", "ligament_torn", ""}, - {"20", "ligament_sprain", ""}, - {"21", "ligament_bruise", ""}, - {"22", "fracture_compound", ""}, - {"23", "fracture_overlap", ""}, - {"24", "need_setting", ""}, - {"25", "tissue_broken", ""}, - {"26", "tissue_part_broken", ""}, - {"27", "damage_heavy", ""}, - {"28", "damage_moderate", ""}, - {"29", "damage_light", ""}, - {"30", "pain_extreme", ""}, - {"31", "pain_moderate", ""}}}; - -std::array, 32> health_view_bits3_values = {{{"0", "pain_minor", ""}, - {"1", "swell_extreme", ""}, - {"2", "swell_medium", ""}, - {"3", "swell_minor", ""}, - {"4", "infection", ""}, - {"5", "rq_diagnosis", ""}, - {"6", "rq_crutch", ""}, - {"7", "inoperable_rot", ""}, - {"8", "rq_cleaning", ""}, - {"9", "rq_surgery", ""}, - {"10", "rq_suture", ""}, - {"11", "rq_setting", ""}, - {"12", "rq_dressing", ""}, - {"13", "rq_traction", ""}, - {"14", "rq_immobilize", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> tower_shape_values = {{{"0", "round", ""}, - {"1", "hollow", "no internal floors or fortifications"}, - {"2", "keep", "fill with rooms at the bottom"}, - {"3", "goblin", "ignore set heights and generate automatically"}, - {"4", "unk10", "set on goblin towers. doesnt seem to do anything"}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> report__T_flags_values = {{{"0", "continuation", "When split into multiple lines, set on all but the first"}, - {"1", "unconscious", "units.active[0]"}, - {"2", "announcement", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> poetic_form_part__T_flags_values = {{{"0", "size_in_lines", ""}, - {"1", "", ""}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> musical_form_instruments__T_substitutions_values = {{{"0", "singer", ""}, - {"1", "speaker", ""}, - {"2", "chanter", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> building_civzonest__T_zone_flags_values = {{{"0", "water_source", ""}, - {"1", "garbage_dump", ""}, - {"2", "sand", ""}, - {"3", "active", ""}, - {"4", "fishing", ""}, - {"5", "pit_pond", ""}, - {"6", "meeting_area", ""}, - {"7", "hospital", ""}, - {"8", "pen_pasture", ""}, - {"9", "clay", ""}, - {"10", "animal_training", ""}, - {"11", "gather", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> building_civzonest__T_pit_flags_values = {{{"0", "is_pond", ""}, - {"1", "", ""}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> building_civzonest__T_gather_flags_values = {{{"0", "pick_trees", ""}, - {"1", "pick_shrubs", ""}, - {"2", "gather_fallen", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> building_design__T_flags_values = {{{"0", "rough", "rough gabbro road"}, - {"1", "built", ""}, - {"2", "designed", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> building_bedst__T_bed_flags_values = {{{"0", "barracks", ""}, - {"1", "dormitory", ""}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> building_cagest__T_cage_flags_values = {{{"0", "triggered", ""}, - {"1", "", ""}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> building_chainst__T_chain_flags_values = {{{"0", "triggered", ""}, - {"1", "", ""}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> building_coffinst__T_burial_mode_values = {{{"0", "allow_burial", ""}, - {"1", "no_pets", ""}, - {"2", "no_citizens", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> building_shopst__T_shop_flags_values = {{{"0", "for_sale", ""}, - {"1", "", ""}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> building_supportst__T_support_flags_values = {{{"0", "triggered", ""}, - {"1", "", ""}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> building_tablest__T_table_flags_values = {{{"0", "meeting_hall", ""}, - {"1", "", ""}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> building_tradedepotst__T_trade_flags_values = {{{"0", "trader_requested", ""}, - {"1", "anyone_can_trade", ""}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> building_trapst__T_stop_flags_values = {{{"0", "disabled", ""}, - {"1", "disabling", ""}, - {"2", "enabling", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> building_wellst__T_well_flags_values = {{{"0", "lowering", ""}, - {"1", "just_raised", ""}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> caste_attack__T_flags_values = {{{"0", "with", ""}, - {"1", "latch", ""}, - {"2", "main", ""}, - {"3", "edge", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> creature_interaction__T_flags_values = {{{"0", "CAN_BE_MUTUAL", ""}, - {"1", "VERBAL", ""}, - {"2", "FREE_ACTION", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> caste_body_info__T_flags_values = {{{"0", "unk0", ""}, - {"1", "", ""}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> caravan_state__T_flags_values = {{{"0", "check_cleanup", "set each time a merchant leaves the map or dies"}, - {"1", "casualty", ""}, - {"2", "hardship", ""}, - {"3", "communicate", "send data to mountainhomes"}, - {"4", "seized", ""}, - {"5", "offended", ""}, - {"6", "announce", "display merchantintro and merchantexit"}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> history_event_tactical_situationst__T_tactics_flags_values = {{{"0", "start", ""}, - {"1", "", ""}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> interaction_effect__T_flags_values = {{{"0", "IMMEDIATE", ""}, - {"1", "", ""}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> interaction_source_secretst__T_learn_flags_values = {{{"0", "SUPERNATURAL_LEARNING_POSSIBLE", ""}, - {"1", "MUNDANE_RESEARCH_POSSIBLE", ""}, - {"2", "MUNDANE_RECORDING_POSSIBLE", ""}, - {"3", "MUNDANE_TEACHING_POSSIBLE", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> interaction_target_materialst__T_restrictions_values = {{{"0", "CONTEXT_MATERIAL", ""}, - {"1", "", ""}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> itemimprovement_coveredst__T_cover_flags_values = {{{"0", "glazed", ""}, - {"1", "", ""}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> spatter_common__T_base_flags_values = {{{"0", "evaporates", "does not contaminate tile when washed away"}, - {"1", "", ""}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> spatter__T_flags_values = {{{"0", "water_soluble", ""}, - {"1", "", ""}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> item_body_component__T_corpse_flags_values = {{{"0", "unbutchered", ""}, - {"1", "", ""}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "bone", ""}, - {"5", "shell", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "skull", ""}, - {"13", "separated_part", "?"}, - {"14", "hair_wool", ""}, - {"15", "yarn", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> item_eggst__T_egg_flags_values = {{{"0", "fertile", "allows the incubation_counter to be checked/incremented"}, - {"1", "", ""}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> poetic_form__T_flags_values = {{{"0", "tone_patterns", ""}, - {"1", "produces_individual_poems", ""}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> musical_form__T_flags_values = {{{"0", "produces_individual_songs", ""}, - {"1", "repeats_as_necessary", ""}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> historical_entity__T_flags_values = {{{"0", "foreign_civ", "?"}, - {"1", "named_civ", "?"}, - {"2", "unk2", ""}, - {"3", "unk3", ""}, - {"4", "unk4", "?"}, - {"5", "worshipping", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> item_petst__T_pet_flags_values = {{{"0", "available_for_adoption", ""}, - {"1", "", ""}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> entity_raw__T_scholar_values = {{{"0", "PHILOSOPHER", ""}, - {"1", "MATHEMATICIAN", ""}, - {"2", "HISTORIAN", ""}, - {"3", "ASTRONOMER", ""}, - {"4", "NATURALIST", ""}, - {"5", "CHEMIST", ""}, - {"6", "GEOGRAPHER", ""}, - {"7", "DOCTOR", ""}, - {"8", "ENGINEER", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> machine__T_flags_values = {{{"0", "active", ""}, - {"1", "frozen", "?"}, - {"2", "unfreeze", "?"}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> building_gear_assemblyst__T_gear_flags_values = {{{"0", "disengaged", ""}, - {"1", "", ""}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> block_square_event_mineralst__T_flags_values = {{{"0", "discovered", ""}, - {"1", "cluster", ""}, - {"2", "vein", ""}, - {"3", "cluster_small", ""}, - {"4", "cluster_one", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> dipscript_popup__T_flags_values = {{{"0", "close_screen", ""}, - {"1", "new_screen", ""}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> meeting_diplomat_info__T_flags_values = {{{"0", "dynamic_load", "destroy dipscript_info in destructor"}, - {"1", "failure", ""}, - {"2", "success", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> activity_info__T_flags_values = {{{"0", "next_step", ""}, - {"1", "checked_building", ""}, - {"2", "add_delay", ""}, - {"3", "topic_discussed", ""}, - {"4", "meeting_done", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> room_rent_info__T_flags_values = {{{"0", "eviction_underway", ""}, - {"1", "move_underway", ""}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> activity_event__T_flags_values = {{{"0", "dismissed", "to be removed from squad_position, anyway"}, - {"1", "squad", "for all in training session, but not ind.drill"}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> activity_event_conversationst__T_flags2_values = {{{"0", "", ""}, - {"1", "shouting", ""}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> activity_event_copy_written_contentst__T_flagsmaybe_values = {{{"0", "unk0", ""}, - {"1", "", ""}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> squad_ammo_spec__T_flags_values = {{{"0", "use_combat", ""}, - {"1", "use_training", ""}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> plant_growth__T_locations_values = {{{"0", "twigs", ""}, - {"1", "light_branches", ""}, - {"2", "heavy_branches", ""}, - {"3", "trunk", ""}, - {"4", "roots", ""}, - {"5", "cap", ""}, - {"6", "sapling", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> plant_growth__T_behavior_values = {{{"0", "drops_off", ""}, - {"1", "no_cloud", ""}, - {"2", "has_seed", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> plant__T_damage_flags_values = {{{"0", "is_burning", ""}, - {"1", "is_drowning", ""}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> entity_site_link__T_flags_values = {{{"0", "residence", "site is residence"}, - {"1", "capital", "site is capital"}, - {"2", "fortress", "used at least by those castles which arent currently in"}, - {"3", "local_market", "for villages to think about their market town"}, - {"4", "trade_partner", "for markets to think about other markets"}, - {"5", "monument", "for a civ to know its tomb sites"}, - {"6", "primary_criminal_gang", ""}, - {"7", "criminal_gang", ""}, - {"8", "invasion_marked", "marked for invasion"}, - {"9", "land_for_holding", "all regular sites get this if civ has nobles, whether they have a noble or not"}, - {"10", "central_holding_land", "only dwarf fortresses get this for now"}, - {"11", "land_holder_residence", "the regular sites where a baron etc. actually lives"}, - {"12", "invasion_push_out", "pushed out by invasion"}, - {"13", "reclaim", "marked for reclaim"}, - {"14", "occupation_failed", "failed to hold hostile occupation"}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> stop_depart_condition__T_flags_values = {{{"0", "at_most", ""}, - {"1", "desired", ""}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> unit__T_military__T_pickup_flags_values = {{{"0", "update", ""}, - {"1", "", ""}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> unit_ghost_info__T_flags_values = {{{"0", "announced", ""}, - {"1", "was_at_rest", ""}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> unit_syndrome__T_symptoms__T_flags_values = {{{"0", "disabled", "if PROB roll fails, or all symptoms expire"}, - {"1", "active", ""}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> unit_syndrome__T_flags_values = {{{"0", "is_sick", "causes health.flags.needs_healthcare"}, - {"1", "is_sick_low", "less sick? fever: 5-19 low, 20-* full"}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> unit_wound__T_flags_values = {{{"0", "severed_part", ""}, - {"1", "mortal_wound", ""}, - {"2", "stuck_weapon", ""}, - {"3", "diagnosed", ""}, - {"4", "sutured", ""}, - {"5", "infection", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> unit_personality__T_emotions__T_flags_values = {{{"0", "unk0", ""}, - {"1", "unk1", ""}, - {"2", "unk2", ""}, - {"3", "unk3", ""}, - {"4", "unk4", ""}, - {"5", "remembered", "Recollection of past experience rather than current"}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> unit_personality__T_flags_values = {{{"0", "", ""}, - {"1", "has_unmet_needs", "focus_level is below -999 for at least one need"}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> historical_figure_info__T_secret__T_knowledge__T_knowledge_goal_values = {{{"0", "unk0", ""}, - {"1", "", ""}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> unit_action__T_data__T_move__T_flags_values = {{{"0", "charge", ""}, - {"1", "", ""}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> unit_action__T_data__T_attack__T_flags_values = {{{"0", "", ""}, - {"1", "", ""}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "quick", ""}, - {"6", "heavy", ""}, - {"7", "wild", ""}, - {"8", "precise", ""}, - {"9", "charge", ""}, - {"10", "", "multi-attack"}, - {"11", "", ""}, - {"12", "lightly_tap", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "spar_report", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> mission__T_details__T_raid__T_raid_flags_values = {{{"0", "Unknown1", ""}, - {"1", "OneTimeTribute", ""}, - {"2", "OngoingTribute", ""}, - {"3", "FreeCaptives", ""}, - {"4", "ReleaseOtherPrisoners", ""}, - {"5", "TakeImportantTreasures", ""}, - {"6", "LootOtherItems", ""}, - {"7", "StealLivestock", ""}, - {"8", "Unknown256", ""}, - {"9", "DemandSurrender", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> ui__T_equipment__T_update_values = {{{"0", "weapon", ""}, - {"1", "armor", ""}, - {"2", "shoes", ""}, - {"3", "shield", ""}, - {"4", "helm", ""}, - {"5", "gloves", ""}, - {"6", "ammo", ""}, - {"7", "pants", ""}, - {"8", "backpack", ""}, - {"9", "quiver", ""}, - {"10", "flask", ""}, - {"11", "", ""}, - {"12", "buildings", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> ui__T_unk23c8_flags_values = {{{"0", "", ""}, - {"1", "recheck_aid_requests", ""}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> viewscreen_textviewerst__T_formatted_text__T_flags_values = {{{"0", "hyperlink", ""}, - {"1", "no_newline", ""}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> viewscreen_workquota_conditionst__T_traits__T_flags_values = {{{"0", "", ""}, - {"1", "", ""}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> local_population__T_flags_values = {{{"0", "discovered", ""}, - {"1", "extinct", "guessed, based on 23a"}, - {"2", "already_removed", "no longer in world.populations"}, - {"3", "unk3", "prevents it from showing up, related to world.unk_59dc4"}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> region_map_entry__T_clouds_values = {{{"0", "front", ""}, - {"1", "cumulus", ""}, - {"2", "cirrus", ""}, - {"3", "stratus", ""}, - {"4", "fog", ""}, - {"5", "countdown", "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."}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> region_map_entry__T_wind_values = {{{"0", "north_1", ""}, - {"1", "south_1", ""}, - {"2", "east_1", ""}, - {"3", "west_1", ""}, - {"4", "north_2", ""}, - {"5", "south_2", ""}, - {"6", "east_2", ""}, - {"7", "west_2", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> incident__T_flags_values = {{{"0", "announced_missing", ""}, - {"1", "discovered", ""}, - {"2", "unk2", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> crime__T_flags_values = {{{"0", "sentenced", ""}, - {"1", "discovered", ""}, - {"2", "needs_trial", "i.e. the player chooses whom to convict"}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> job_handler__T_postings__T_flags_values = {{{"0", "dead", ""}, - {"1", "", ""}, - {"2", "", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> world__T_status__T_slots__T_flags_values = {{{"0", "behind", ""}, - {"1", "side", ""}, - {"2", "by", ""}, - {"3", "item", ""}, - {"4", "tap", ""}, - {"5", "sever", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; - -std::array, 32> world__T_status__T_flags_values = {{{"0", "combat", ""}, - {"1", "hunting", ""}, - {"2", "sparring", ""}, - {"3", "", ""}, - {"4", "", ""}, - {"5", "", ""}, - {"6", "", ""}, - {"7", "", ""}, - {"8", "", ""}, - {"9", "", ""}, - {"10", "", ""}, - {"11", "", ""}, - {"12", "", ""}, - {"13", "", ""}, - {"14", "", ""}, - {"15", "", ""}, - {"16", "", ""}, - {"17", "", ""}, - {"18", "", ""}, - {"19", "", ""}, - {"20", "", ""}, - {"21", "", ""}, - {"22", "", ""}, - {"23", "", ""}, - {"24", "", ""}, - {"25", "", ""}, - {"26", "", ""}, - {"27", "", ""}, - {"28", "", ""}, - {"29", "", ""}, - {"30", "", ""}, - {"31", "", ""}}}; + {{"0", "@#", ""}, + {"1", "", ""}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "7", ""}, + {"8", "8", ""}, + {"9", "9", ""}, + {"10", "10", ""}, + {"11", "11", ""}, + {"12", "12", ""}, + {"13", "13", ""}, + {"14", "14", ""}, + {"15", "15", ""}, + {"16", "16", ""}, + {"17", "17", ""}, + {"18", "18", ""}, + {"19", "19", ""}, + {"20", "20", ""}, + {"21", "21", ""}, + {"22", "22", ""}, + {"23", "23", ""}, + {"24", "24", ""}, + {"25", "25", ""}, + {"26", "26", ""}, + {"27", "27", ""}, + {"28", "28", ""}, + {"29", "29", ""}, + {"30", "30", ""}, + {"31", "", ""}} + }; + +std::array, 32> announcement_flags_values = {{ + {"0", "DO_MEGA", "BOX"}, + {"1", "PAUSE", "P"}, + {"2", "RECENTER", "R"}, + {"3", "A_DISPLAY", "A_D"}, + {"4", "D_DISPLAY", "D_D"}, + {"5", "UNIT_COMBAT_REPORT", "UCR"}, + {"6", "UNIT_COMBAT_REPORT_ALL_ACTIVE", "UCR_A"}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> poetic_form_feature_values = {{ + {"0", "InternalRhyme", ""}, + {"1", "EndRhymesDontMatch", ""}, + {"2", "Alliteration", ""}, + {"3", "Onomatopoeia", ""}, + {"4", "antanaclasis", ""}, + {"5", "DifferentReadings", ""}, + {"6", "ReadBackwards", ""}, + {"7", "ReadOrthogonally", ""}, + {"8", "Emerge", ""}, + {"9", "Assonance", ""}, + {"10", "Consonance", ""}, + {"11", "Elision", ""}, + {"12", "Epenthesis", ""}, + {"13", "Synchysis", ""}, + {"14", "Allegory", ""}, + {"15", "Ambiguity", ""}, + {"16", "Symbolism", ""}, + {"17", "Metaphor", ""}, + {"18", "Simile", ""}, + {"19", "Metonymy", ""}, + {"20", "VividImagery", ""}, + {"21", "Juxtaposision", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> musical_form_feature_values = {{ + {"0", "GlideFromNoteToNote", ""}, + {"1", "UseGraceNotes", ""}, + {"2", "UseMordents", ""}, + {"3", "MakeTrills", ""}, + {"4", "PlayRapidRuns", ""}, + {"5", "LocallyImprovise", ""}, + {"6", "SpreadSyllablesOverManyNotes", ""}, + {"7", "MatchNotesAndSyllables", ""}, + {"8", "Syncopate", ""}, + {"9", "AddFills", ""}, + {"10", "AlternateTensionAndRepose", ""}, + {"11", "ModulateFrequently", ""}, + {"12", "PlayArpeggios", ""}, + {"13", "PlayStaccato", ""}, + {"14", "PlayLegato", ""}, + {"15", "FreelyAdjustBeats", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> musical_form_interval__T_flags_values = {{ + {"0", "rising", "otherwise falling"}, + {"1", "flattened", ""}, + {"2", "sharpened", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> building_flags_values = {{ + {"0", "exists", "actually built, not just ordered"}, + {"1", "site_blocked", "items on ground on site"}, + {"2", "room_collision", "major intersection with another room?"}, + {"3", "", ""}, + {"4", "justice", ""}, + {"5", "almost_deleted", "when requesting delete while in_update"}, + {"6", "in_update", ""}, + {"7", "from_worldgen", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> door_flags_values = {{ + {"0", "forbidden", ""}, + {"1", "internal", ""}, + {"2", "taken_by_invaders", ""}, + {"3", "used_by_intruder", ""}, + {"4", "closed", ""}, + {"5", "operated_by_mechanisms", ""}, + {"6", "pet_passable", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> gate_flags_values = {{ + {"0", "closed", ""}, + {"1", "closing", ""}, + {"2", "opening", ""}, + {"3", "collapsing", "?; bridge"}, + {"4", "has_support", "bridge"}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> hospital_supplies__T_supplies_needed_values = {{ + {"0", "splints", ""}, + {"1", "thread", ""}, + {"2", "cloth", ""}, + {"3", "crutches", ""}, + {"4", "plaster", ""}, + {"5", "buckets", ""}, + {"6", "soap", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> hive_flags_values = {{ + {"0", "do_install", ""}, + {"1", "do_gather", ""}, + {"2", "ready_split", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> pressure_plate_info__T_flags_values = {{ + {"0", "units", ""}, + {"1", "water", ""}, + {"2", "magma", ""}, + {"3", "citizens", ""}, + {"4", "resets", ""}, + {"5", "track", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> gait_info__T_flags_values = {{ + {"0", "layers_slow", ""}, + {"1", "strength", ""}, + {"2", "agility", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> creature_interaction_target_flags_values = {{ + {"0", "LINE_OF_SIGHT", ""}, + {"1", "TOUCHABLE", ""}, + {"2", "DISTURBER_ONLY", ""}, + {"3", "SELF_ALLOWED", ""}, + {"4", "SELF_ONLY", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> descriptor_shape__T_gems_use_values = {{ + {"0", "noun", ""}, + {"1", "adj", ""}, + {"2", "adj_noun", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> entity_activity_statistics__T_found_misc_values = {{ + {"0", "deep_special", ""}, + {"1", "", ""}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> entity_animal_raw__T_flags_values = {{ + {"0", "ALWAYS_PRESENT", ""}, + {"1", "NEVER_MOUNT", ""}, + {"2", "ALWAYS_MOUNT", ""}, + {"3", "NEVER_WAGON_PULLER", ""}, + {"4", "ALWAYS_WAGON_PULLER", ""}, + {"5", "NEVER_SIEGE", ""}, + {"6", "ALWAYS_SIEGE", ""}, + {"7", "NEVER_PET", ""}, + {"8", "ALWAYS_PET", ""}, + {"9", "NEVER_PACK_ANIMAL", ""}, + {"10", "ALWAYS_PACK_ANIMAL", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> history_event_war_site_tribute_forcedst__T_tribute_flags_values = {{ + {"0", "bled_dry", "tribute was demanded, but not received"}, + {"1", "", ""}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> history_event_artifact_copiedst__T_flags2_values = {{ + {"0", "from_original", ""}, + {"1", "", ""}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> interaction_source_regionst__T_region_flags_values = {{ + {"0", "NORMAL_ALLOWED", ""}, + {"1", "EVIL_ALLOWED", ""}, + {"2", "GOOD_ALLOWED", ""}, + {"3", "SAVAGE_ALLOWED", ""}, + {"4", "EVIL_ONLY", ""}, + {"5", "GOOD_ONLY", ""}, + {"6", "SAVAGE_ONLY", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> interaction_target_info__T_restrictions_values = {{ + {"0", "CANNOT_TARGET_IF_ALREADY_AFFECTED", ""}, + {"1", "", ""}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> weapon_attack__T_flags_values = {{ + {"0", "independent_multiattack", ""}, + {"1", "bad_multiattack", ""}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> instrument_piece__T_flags_values = {{ + {"0", "always_singular", ""}, + {"1", "always_plural", ""}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> engraving_flags_values = {{ + {"0", "floor", ""}, + {"1", "west", ""}, + {"2", "east", ""}, + {"3", "north", ""}, + {"4", "south", ""}, + {"5", "hidden", ""}, + {"6", "northwest", ""}, + {"7", "northeast", ""}, + {"8", "southwest", ""}, + {"9", "southeast", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> item_flags_values = {{ + {"0", "on_ground", "Item on ground"}, + {"1", "in_job", "Item currently being used in a job"}, + {"2", "hostile", "Item owned by hostile"}, + {"3", "in_inventory", "Item in a creature, workshop or container inventory"}, + {"4", "removed", "completely invisible and with no position"}, + {"5", "in_building", "Part of a building (including mechanisms, bodies in coffins)"}, + {"6", "container", "Set on anything that contains or contained items?"}, + {"7", "dead_dwarf", "Dwarfs dead body or body part"}, + {"8", "rotten", "Rotten food"}, + {"9", "spider_web", "Thread in spider web"}, + {"10", "construction", "Material used in construction"}, + {"11", "encased", "Item encased in ice or obsidian"}, + {"12", "unk12", "unknown, unseen"}, + {"13", "murder", "Implies murder - used in fell moods"}, + {"14", "foreign", "Item is imported"}, + {"15", "trader", "Item ownwed by trader"}, + {"16", "owned", "Item is owned by a dwarf"}, + {"17", "garbage_collect", "Marked for deallocation by DF it seems"}, + {"18", "artifact", "Artifact"}, + {"19", "forbid", "Forbidden item"}, + {"20", "already_uncategorized", "unknown, unseen"}, + {"21", "dump", "Designated for dumping"}, + {"22", "on_fire", "Indicates if item is on fire, Will Set Item On Fire if Set!"}, + {"23", "melt", "Designated for melting, if applicable"}, + {"24", "hidden", "Hidden item"}, + {"25", "in_chest", "Stored in chest/part of well?"}, + {"26", "use_recorded", "transient in unit.used_items update"}, + {"27", "artifact_mood", "created by mood/named existing item"}, + {"28", "temps_computed", "melting/boiling/ignite/etc. points"}, + {"29", "weight_computed", ""}, + {"30", "unk30", "unknown, unseen"}, + {"31", "from_worldgen", "created by underground critters?"} +}}; + +std::array, 32> item_flags2_values = {{ + {"0", "has_rider", "vehicle with a rider"}, + {"1", "unk1", ""}, + {"2", "grown", ""}, + {"3", "unk_book", "possibly book/written-content-related"}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> body_part_status_values = {{ + {"0", "on_fire", ""}, + {"1", "missing", ""}, + {"2", "organ_loss", "cyan"}, + {"3", "organ_damage", "yellow"}, + {"4", "muscle_loss", "red"}, + {"5", "muscle_damage", "yellow"}, + {"6", "bone_loss", "red"}, + {"7", "bone_damage", "yellow"}, + {"8", "skin_damage", "brown"}, + {"9", "motor_nerve_severed", ""}, + {"10", "sensory_nerve_severed", ""}, + {"11", "spilled_guts", ""}, + {"12", "has_splint", ""}, + {"13", "has_bandage", ""}, + {"14", "has_plaster_cast", ""}, + {"15", "grime", ""}, + {"16", "severed_or_jammed", "seen e.g. on ribs smashed by blunt attack, but quickly disappeared"}, + {"17", "under_shell", ""}, + {"18", "is_shell", ""}, + {"19", "unk19", "on zombified head"}, + {"20", "unk20", "on zombified head"}, + {"21", "gelded", "set on GELDABLE body parts after a unit has been gelded"}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> body_layer_status_values = {{ + {"0", "gone", ""}, + {"1", "leaking", ""}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> item_matstate_values = {{ + {"0", "no_auto_clean", "isAutoClean returns false"}, + {"1", "pressed", ""}, + {"2", "paste", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> job_material_category_values = {{ + {"0", "plant", ""}, + {"1", "wood", "wood log"}, + {"2", "cloth", ""}, + {"3", "silk", ""}, + {"4", "leather", ""}, + {"5", "bone", ""}, + {"6", "shell", ""}, + {"7", "wood2", "wood material"}, + {"8", "soap", ""}, + {"9", "tooth", ""}, + {"10", "horn", ""}, + {"11", "pearl", ""}, + {"12", "yarn", ""}, + {"13", "strand", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> dfhack_material_category_values = {{ + {"0", "", ""}, + {"1", "plant", ""}, + {"2", "wood", ""}, + {"3", "cloth", ""}, + {"4", "silk", ""}, + {"5", "leather", ""}, + {"6", "bone", ""}, + {"7", "shell", ""}, + {"8", "wood2", ""}, + {"9", "soap", ""}, + {"10", "tooth", ""}, + {"11", "horn", ""}, + {"12", "pearl", ""}, + {"13", "yarn", ""}, + {"14", "strand", ""}, + {"15", "metal", ""}, + {"16", "stone", ""}, + {"17", "sand", ""}, + {"18", "glass", ""}, + {"19", "clay", ""}, + {"20", "milk", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> job_flags_values = {{ + {"0", "repeat", ""}, + {"1", "suspend", ""}, + {"2", "working", "not for food, or store in sp"}, + {"3", "fetching", "Actually going out to bring; corresponds to items->is_fetching"}, + {"4", "special", "Sleep/Drink/Eat/Clean; cannot be aborted via the ui"}, + {"5", "bringing", ""}, + {"6", "item_lost", "set when a Hauled item is removed; causes cancel"}, + {"7", "noise", "on the sleep job causes thoughts"}, + {"8", "by_manager", ""}, + {"9", "store_item", ""}, + {"10", "quality", "set by improvement code"}, + {"11", "specific_dropoff", "for some jobs, blocks auto-restockpiling of the hauled item"}, + {"12", "", ""}, + {"13", "on_break", "job displayed as On Break"}, + {"14", "", ""}, + {"15", "do_now", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> job_item_flags1_values = {{ + {"0", "improvable", "vtable[155]:eax,-1,-1"}, + {"1", "butcherable", "(call 0074c6d0)"}, + {"2", "millable", "vtable[79]"}, + {"3", "allow_buryable", "ALLOW items with flag 'dead_dwarf'"}, + {"4", "unrotten", "check for item flag 'rotten'"}, + {"5", "undisturbed", "check for item flag 'spider_web'"}, + {"6", "collected", "check for item flag 'spider_web'"}, + {"7", "sharpenable", "vtable[25]"}, + {"8", "murdered", "check for item flag"}, + {"9", "distillable", "vtable[105],1"}, + {"10", "empty", "(call 00753a40)"}, + {"11", "processable", "vtable[80]"}, + {"12", "bag", "vtable[131]"}, + {"13", "cookable", "(call 00753fe0)"}, + {"14", "extract_bearing_plant", "vtable[164]"}, + {"15", "extract_bearing_fish", "vtable[181]"}, + {"16", "extract_bearing_vermin", "vtable[182]"}, + {"17", "processable_to_vial", "vtable[81]"}, + {"18", "processable_to_bag", "vtable[82]"}, + {"19", "processable_to_barrel", "vtable[83]"}, + {"20", "solid", "vtable[74]"}, + {"21", "tameable_vermin", "vtable[104]"}, + {"22", "nearby", ""}, + {"23", "sand_bearing", "vtable[108]"}, + {"24", "glass", "check for material flag IS_GLASS"}, + {"25", "milk", "(call 00753d30 - check if material has CHEESE_MAT?)"}, + {"26", "milkable", "vtable[107],1,1"}, + {"27", "finished_goods", ""}, + {"28", "ammo", ""}, + {"29", "furniture", ""}, + {"30", "not_bin", ""}, + {"31", "lye_bearing", ""} +}}; + +std::array, 32> job_item_flags2_values = {{ + {"0", "dye", "vtable[106]"}, + {"1", "dyeable", "vtable[159]"}, + {"2", "dyed", "vtable[161]"}, + {"3", "sewn_imageless", "vtable[162]"}, + {"4", "glass_making", "vtable[26]"}, + {"5", "screw", "vtable[46]"}, + {"6", "building_material", "vtable[47]"}, + {"7", "fire_safe", "vtable[48],1"}, + {"8", "magma_safe", "vtable[48],2"}, + {"9", "deep_material", "check for inorganic material flag DEEP"}, + {"10", "melt_designated", "check for item flag 'melt'"}, + {"11", "non_economic", "(call 0076be60)"}, + {"12", "allow_melt_dump", "item can be designated for melting or dumping"}, + {"13", "allow_artifact", "item can be artifact"}, + {"14", "plant", "check if material is a PLANT_MAT"}, + {"15", "silk", "check for material flag SILK"}, + {"16", "leather", "check for material flag LEATHER"}, + {"17", "bone", "check for material flag BONE"}, + {"18", "shell", "check for material flag SHELL"}, + {"19", "totemable", "vtable[158]"}, + {"20", "horn", "check for material flag HORN"}, + {"21", "pearl", "check for material flag PEARL"}, + {"22", "plaster_containing", "vtable[17]"}, + {"23", "", ""}, + {"24", "soap", "check for material flag SOAP"}, + {"25", "body_part", "itemtype CORPSE or CORPSEPIECE"}, + {"26", "ivory_tooth", "check for material flag TOOTH"}, + {"27", "lye_milk_free", "(call 00759110)"}, + {"28", "blunt", "vtable[157]"}, + {"29", "unengraved", "vtable[214]"}, + {"30", "hair_wool", "??? (pretty sure this is [ANY_STRAND_TISSUE])"}, + {"31", "yarn", "check for material flag YARN"} +}}; + +std::array, 32> job_item_flags3_values = {{ + {"0", "unimproved", "vtable[176]"}, + {"1", "any_raw_material", "itemtype BAR, BOULDER, POWDER_MISC, or GLOB"}, + {"2", "non_absorbent", "vtable[215]"}, + {"3", "non_pressed", "vtable[91]"}, + {"4", "allow_liquid_powder", ""}, + {"5", "any_craft", "FIGURINE, AMULET, SCEPTER, CROWN, RING, EARRING, BRACLET"}, + {"6", "hard", "check for material flag ITEMS_HARD"}, + {"7", "food_storage", "vtable[15]"}, + {"8", "metal", ""}, + {"9", "sand", ""}, + {"10", "", ""}, + {"11", "written_on", ""}, + {"12", "edged", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> manager_order_status_values = {{ + {"0", "validated", ""}, + {"1", "active", ""}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> training_assignment__T_flags_values = {{ + {"0", "any_trainer", ""}, + {"1", "any_unassigned_trainer", ""}, + {"2", "train_war", ""}, + {"3", "train_hunt", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> knowledge_scholar_flags_0_values = {{ + {"0", "philosophy_logic_formal_reasoning", ""}, + {"1", "philosophy_logic_deductive_reasoning", ""}, + {"2", "philosophy_logic_syllogistic_logic", ""}, + {"3", "philosophy_logic_hypothetical_syllogisms", ""}, + {"4", "philosophy_logic_propositional_logic", ""}, + {"5", "philosophy_logic_dialectic_reasoning", ""}, + {"6", "philosophy_logic_analogical_inference", ""}, + {"7", "philosophy_ethics_applied_medical", ""}, + {"8", "philosophy_ethics_individual_value", ""}, + {"9", "philosophy_ethics_state_consequentialism", ""}, + {"10", "philosophy_epistemology_truth", ""}, + {"11", "philosophy_epistemology_perception", ""}, + {"12", "philosophy_epistemology_justification", ""}, + {"13", "philosophy_epistemology_belief", ""}, + {"14", "philosophy_metaphysics_existence", ""}, + {"15", "philosophy_metaphysics_time", ""}, + {"16", "philosophy_metaphysics_mind_body", ""}, + {"17", "philosophy_metaphysics_objects_and_properties", ""}, + {"18", "philosophy_metaphysics_wholes_and_parts", ""}, + {"19", "philosophy_metaphysics_events", ""}, + {"20", "philosophy_metaphysics_processes", ""}, + {"21", "philosophy_metaphysics_causation", ""}, + {"22", "philosophy_ethics_applied_military", ""}, + {"23", "philosophy_ethics_applied_interpersonal_conduct", ""}, + {"24", "philosophy_specialized_law", ""}, + {"25", "philosophy_specialized_education", ""}, + {"26", "philosophy_specialized_language_grammar", ""}, + {"27", "philosophy_specialized_language_etymology", ""}, + {"28", "philosophy_specialized_politics_diplomacy", ""}, + {"29", "philosophy_specialized_politics_government_forms", ""}, + {"30", "philosophy_specialized_politics_economic_policy", ""}, + {"31", "philosophy_specialized_politics_social_welfare", ""} +}}; + +std::array, 32> knowledge_scholar_flags_1_values = {{ + {"0", "philosophy_logic_inductive_reasoning", ""}, + {"1", "philosophy_logic_direct_inference", ""}, + {"2", "philosophy_aesthetics_nature_of_beauty", ""}, + {"3", "philosophy_aesthetics_value_of_art", ""}, + {"4", "philosophy_specialized_language_dictionary", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> knowledge_scholar_flags_2_values = {{ + {"0", "mathematics_method_proof_by_contradiction", ""}, + {"1", "mathematics_notation_zero", ""}, + {"2", "mathematics_notation_negative_numbers", ""}, + {"3", "mathematics_notation_large_numbers", ""}, + {"4", "mathematics_notation_positional", ""}, + {"5", "mathematics_geometry_basic_objects", ""}, + {"6", "mathematics_method_exhaustion", ""}, + {"7", "mathematics_geometry_similar_and_congruent_triangles", ""}, + {"8", "mathematics_geometry_geometric_mean_theorem", ""}, + {"9", "mathematics_geometry_isosceles_base_angles_equal", ""}, + {"10", "mathematics_geometry_inscribed_triangle_on_diameter_is_right", ""}, + {"11", "mathematics_geometry_pythagorean_theorem", ""}, + {"12", "mathematics_geometry_pythagorean_triples_small", ""}, + {"13", "mathematics_geometry_pythagorean_triples_3_digit", ""}, + {"14", "mathematics_geometry_pythagorean_triples_4_digit", ""}, + {"15", "mathematics_geometry_existence_of_incommensurable_ratios", ""}, + {"16", "mathematics_method_axiomatic_reasoning", ""}, + {"17", "mathematics_numbers_unique_prime_factorization", ""}, + {"18", "mathematics_numbers_algorithm_for_computing_gcd", ""}, + {"19", "mathematics_geometry_volume_of_pyramid", ""}, + {"20", "mathematics_geometry_volume_of_cone", ""}, + {"21", "mathematics_geometry_volume_of_sphere", ""}, + {"22", "mathematics_geometry_pi_to_4_digits", ""}, + {"23", "mathematics_numbers_division_algorithm", ""}, + {"24", "mathematics_geometry_table_of_chord_values", ""}, + {"25", "mathematics_geometry_area_of_triangle_from_side_lengths", ""}, + {"26", "mathematics_geometry_area_of_circle", ""}, + {"27", "mathematics_geometry_pi_to_6_digits", ""}, + {"28", "mathematics_geometry_definitions_and_basic_properties_of_conic_sections", ""}, + {"29", "mathematics_numbers_chinese_remainder_algorithm", ""}, + {"30", "mathematics_geometry_area_enclosed_by_line_and_parabola", ""}, + {"31", "mathematics_numbers_sieve_algorithm_for_primes", ""} +}}; + +std::array, 32> knowledge_scholar_flags_3_values = {{ + {"0", "mathematics_numbers_root_2_to_5_digits", ""}, + {"1", "mathematics_numbers_infinite_primes", ""}, + {"2", "mathematics_numbers_root_2_irrational", ""}, + {"3", "mathematics_geometry_surface_area_of_sphere", ""}, + {"4", "mathematics_algebra_finite_summation_formulas", ""}, + {"5", "mathematics_algebra_solving_linear_systems", ""}, + {"6", "mathematics_algebra_balancing_and_completion", ""}, + {"7", "mathematics_algebra_quadratic_by_completing_square", ""}, + {"8", "mathematics_algebra_quadratic_formula", ""}, + {"9", "mathematics_notation_syncopated_algebra", ""}, + {"10", "mathematics_geometry_law_of_sines", ""}, + {"11", "mathematics_geometry_angle_sum_difference_trig_identities", ""}, + {"12", "mathematics_algebra_pascals_triangle", ""}, + {"13", "mathematics_algebra_solving_higher_order_polynomials", ""}, + {"14", "mathematics_notation_early_symbols_for_operations", ""}, + {"15", "mathematics_algebra_divergence_of_harmonic_series", ""}, + {"16", "mathematics_geometry_properties_of_chords", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> knowledge_scholar_flags_4_values = {{ + {"0", "history_sourcing_basic_reliability", ""}, + {"1", "history_sourcing_role_of_systemic_bias", ""}, + {"2", "history_sourcing_role_of_state_bias_and_propaganda", ""}, + {"3", "history_sourcing_personal_interviews", ""}, + {"4", "history_theory_historical_causation", ""}, + {"5", "history_theory_historical_cycles", ""}, + {"6", "history_theory_social_cohesion", ""}, + {"7", "history_theory_social_conflict", ""}, + {"8", "history_form_biography", ""}, + {"9", "history_form_comparative_biography", ""}, + {"10", "history_form_biographical_dictionaries", ""}, + {"11", "history_form_autobiographical_adventure", ""}, + {"12", "history_form_genealogy", ""}, + {"13", "history_form_encyclopedia", ""}, + {"14", "history_form_cultural_history", ""}, + {"15", "history_form_cultural_comparison", ""}, + {"16", "history_sourcing_role_of_cultural_differences", ""}, + {"17", "history_form_alternate_history", ""}, + {"18", "history_sourcing_basic_archaeology", ""}, + {"19", "history_form_treatise_on_tech_evolution", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> knowledge_scholar_flags_5_values = {{ + {"0", "astronomy_phases_of_the_moon", ""}, + {"1", "astronomy_summer_winter_moon", ""}, + {"2", "astronomy_path_of_the_moon", ""}, + {"3", "astronomy_tides_and_the_moon", ""}, + {"4", "astronomy_height_of_tides_vs_moon_and_sun", ""}, + {"5", "astronomy_summer_winter_sun", ""}, + {"6", "astronomy_relationship_between_lunar_solar_year", ""}, + {"7", "astronomy_daylight_variation_with_solar_year", ""}, + {"8", "astronomy_geocentric_model", ""}, + {"9", "astronomy_heliocentric_model", ""}, + {"10", "astronomy_dates_of_lunar_and_solar_eclipses", ""}, + {"11", "astronomy_star_charts", ""}, + {"12", "astronomy_star_catalogues_100", ""}, + {"13", "astronomy_star_catalogues_1000", ""}, + {"14", "astronomy_star_color_classification", ""}, + {"15", "astronomy_star_magnitude_classification", ""}, + {"16", "astronomy_shape_of_the_world", ""}, + {"17", "astronomy_precession_of_equinoxes", ""}, + {"18", "astronomy_method_empirical_observation", ""}, + {"19", "astronomy_method_path_models", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> knowledge_scholar_flags_6_values = {{ + {"0", "naturalist_method_dissection", ""}, + {"1", "naturalist_observation_anatomy", ""}, + {"2", "naturalist_theory_comparative_anatomy", ""}, + {"3", "naturalist_theory_classification_by_physical_features", ""}, + {"4", "naturalist_observation_migration_patterns", ""}, + {"5", "naturalist_observation_reproductive_behavior", ""}, + {"6", "naturalist_observation_foraging_behavior_and_diet", ""}, + {"7", "naturalist_theory_food_chain", ""}, + {"8", "naturalist_observation_social_behavior", ""}, + {"9", "naturalist_observation_diseases", ""}, + {"10", "naturalist_theory_climactic_adaptation", ""}, + {"11", "naturalist_observation_embriological_development", ""}, + {"12", "naturalist_theory_struggle_for_existence", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> knowledge_scholar_flags_7_values = {{ + {"0", "chemistry_classification_combustibles", ""}, + {"1", "chemistry_classification_ores", ""}, + {"2", "chemistry_metallurgy_alloys", ""}, + {"3", "chemistry_classification_scratch_test", ""}, + {"4", "chemistry_classification_elemental_theory", ""}, + {"5", "chemistry_chemicals_adhesives", ""}, + {"6", "chemistry_laboratory_blast_furnace", ""}, + {"7", "chemistry_laboratory_alembic", ""}, + {"8", "chemistry_laboratory_theory_of_liquid_liquid_extraction", ""}, + {"9", "chemistry_laboratory_theory_of_distillation", ""}, + {"10", "chemistry_laboratory_theory_of_evaporation", ""}, + {"11", "chemistry_classification_alkali_and_acids", ""}, + {"12", "chemistry_laboratory_systematic_experiments", ""}, + {"13", "chemistry_laboratory_glass_flask", ""}, + {"14", "chemistry_laboratory_glass_beaker", ""}, + {"15", "chemistry_laboratory_glass_vial", ""}, + {"16", "chemistry_laboratory_glass_funnel", ""}, + {"17", "chemistry_laboratory_crucible", ""}, + {"18", "chemistry_chemicals_nitric_acid", ""}, + {"19", "chemistry_chemicals_sulfuric_acid", ""}, + {"20", "chemistry_chemicals_aqua_regia", ""}, + {"21", "chemistry_laboratory_glass_ampoule", ""}, + {"22", "chemistry_laboratory_glass_retort", ""}, + {"23", "chemistry_laboratory_lab_ovens", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> knowledge_scholar_flags_8_values = {{ + {"0", "geography_surveying_basic", ""}, + {"1", "geography_surveying_staff", ""}, + {"2", "geography_cartography_basic", ""}, + {"3", "geography_surveying_triangulation", ""}, + {"4", "geography_surveying_cartographical", ""}, + {"5", "geography_surveying_land", ""}, + {"6", "geography_surveying_military", ""}, + {"7", "geography_surveying_engineering", ""}, + {"8", "geography_cartography_geological", ""}, + {"9", "geography_cartography_grid_system", ""}, + {"10", "geography_cartography_distance_scale", ""}, + {"11", "geography_cartography_height_measurements", ""}, + {"12", "geography_method_economic_data_collection", ""}, + {"13", "geography_cartography_economic", ""}, + {"14", "geography_form_atlas", ""}, + {"15", "geography_theory_delta_formation", ""}, + {"16", "geography_theory_wind_patterns", ""}, + {"17", "geography_theory_origin_of_rainfall_from_evap_condense", ""}, + {"18", "geography_theory_water_cycle", ""}, + {"19", "geography_theory_latitude_climate_zones", ""}, + {"20", "geography_cartography_accurate_maps", ""}, + {"21", "geography_cartography_map_projections", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> knowledge_scholar_flags_9_values = {{ + {"0", "medicine_theory_disease_and_fouled_water", ""}, + {"1", "medicine_method_physical_examination", ""}, + {"2", "medicine_method_autopsy", ""}, + {"3", "medicine_theory_prognosis", ""}, + {"4", "medicine_tool_herbal_remedies", ""}, + {"5", "medicine_tool_animal_remedies", ""}, + {"6", "medicine_tool_mineral_remedies", ""}, + {"7", "medicine_tool_bandages", ""}, + {"8", "medicine_theory_disease_classification", ""}, + {"9", "medicine_theory_toxicology", ""}, + {"10", "medicine_theory_acute_and_chronic_conditions", ""}, + {"11", "medicine_theory_endemic_disease", ""}, + {"12", "medicine_theory_epidemic_disease", ""}, + {"13", "medicine_theory_exacerbation", ""}, + {"14", "medicine_theory_paroxysm", ""}, + {"15", "medicine_theory_relapse", ""}, + {"16", "medicine_theory_convalescence", ""}, + {"17", "medicine_method_treatment_of_traumatic_injuries", ""}, + {"18", "medicine_method_fracture_treatment", ""}, + {"19", "medicine_theory_fracture_classification", ""}, + {"20", "medicine_tool_traction_bench", ""}, + {"21", "medicine_method_fracture_immobilization", ""}, + {"22", "medicine_tool_orthopedic_cast", ""}, + {"23", "medicine_method_surgery_excision", ""}, + {"24", "medicine_method_surgery_incision", ""}, + {"25", "medicine_method_hernia_surgery", ""}, + {"26", "medicine_method_tracheotomy_surgery", ""}, + {"27", "medicine_method_lithotomy_surgery", ""}, + {"28", "medicine_method_surgery_scraping", ""}, + {"29", "medicine_method_surgery_draining", ""}, + {"30", "medicine_method_surgery_probing", ""}, + {"31", "medicine_method_surgery_suturing", ""} +}}; + +std::array, 32> knowledge_scholar_flags_10_values = {{ + {"0", "medicine_method_surgery_ligature", ""}, + {"1", "medicine_theory_surgical_models", ""}, + {"2", "medicine_tool_mud_bags_as_surgical_models", ""}, + {"3", "medicine_tool_plants_as_surgical_models", ""}, + {"4", "medicine_tool_animals_as_surgical_models", ""}, + {"5", "medicine_theory_specialized_surgical_instruments", ""}, + {"6", "medicine_tool_forceps", ""}, + {"7", "medicine_tool_scalpel", ""}, + {"8", "medicine_tool_surgical_scissors", ""}, + {"9", "medicine_tool_surgical_needles", ""}, + {"10", "medicine_method_cataract_surgery", ""}, + {"11", "medicine_method_cauterization", ""}, + {"12", "medicine_method_anesthesia", ""}, + {"13", "medicine_theory_pulmonary_medicine", ""}, + {"14", "medicine_theory_anatomical_studies", ""}, + {"15", "medicine_theory_classification_of_bodily_fluids", ""}, + {"16", "medicine_theory_eye_anatomy", ""}, + {"17", "medicine_theory_motor_vs_sensory_nerves", ""}, + {"18", "medicine_theory_nervous_system_function", ""}, + {"19", "medicine_theory_reaction_time", ""}, + {"20", "medicine_theory_blood_vessels", ""}, + {"21", "medicine_theory_pulmonary_circulation", ""}, + {"22", "medicine_theory_comparative_anatomy", ""}, + {"23", "medicine_theory_the_voice", ""}, + {"24", "medicine_theory_classification_of_muscles", ""}, + {"25", "medicine_theory_classification_of_mental_illnesses", ""}, + {"26", "medicine_theory_treatment_of_mental_illnesses", ""}, + {"27", "medicine_tool_dedicated_hospitals", ""}, + {"28", "medicine_method_professional_hospital_staff", ""}, + {"29", "medicine_method_specialized_wards", ""}, + {"30", "medicine_method_hospital_lab", ""}, + {"31", "medicine_method_medical_school", ""} +}}; + +std::array, 32> knowledge_scholar_flags_11_values = {{ + {"0", "medicine_method_asylum_for_mentally_ill", ""}, + {"1", "", ""}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> knowledge_scholar_flags_12_values = {{ + {"0", "engineering_horology_shadow_clock", ""}, + {"1", "engineering_horology_water_clock", ""}, + {"2", "engineering_horology_conical_water_clock", ""}, + {"3", "engineering_horology_water_clock_reservoir", ""}, + {"4", "engineering_horology_astrarium", ""}, + {"5", "engineering_horology_hourglass", ""}, + {"6", "engineering_horology_mechanical_clock", ""}, + {"7", "engineering_machine_theory_of_pulley", ""}, + {"8", "engineering_machine_pulley", ""}, + {"9", "engineering_machine_theory_of_screw", ""}, + {"10", "engineering_machine_screw", ""}, + {"11", "engineering_machine_theory_of_wheel_and_axle", ""}, + {"12", "engineering_machine_windlass", ""}, + {"13", "engineering_machine_theory_of_wedge", ""}, + {"14", "engineering_machine_theory_of_lever", ""}, + {"15", "engineering_machine_lever", ""}, + {"16", "engineering_machine_straight_beam_balance", ""}, + {"17", "engineering_machine_theory_of_gears", ""}, + {"18", "engineering_machine_warded_lock", ""}, + {"19", "engineering_machine_tumbler_lock", ""}, + {"20", "engineering_machine_padlock", ""}, + {"21", "engineering_machine_camshaft", ""}, + {"22", "engineering_machine_crankshaft", ""}, + {"23", "engineering_machine_water_powered_sawmill", ""}, + {"24", "engineering_machine_chariot_odometer", ""}, + {"25", "engineering_machine_chain_drive", ""}, + {"26", "engineering_machine_mechanical_compass", ""}, + {"27", "engineering_machine_differential_gear", ""}, + {"28", "engineering_machine_combination_lock", ""}, + {"29", "engineering_machine_verge_escapement", ""}, + {"30", "engineering_machine_balance_wheel", ""}, + {"31", "engineering_fluid_theory_of_siphon", ""} +}}; + +std::array, 32> knowledge_scholar_flags_13_values = {{ + {"0", "engineering_fluid_valves", ""}, + {"1", "engineering_fluid_force_pump", ""}, + {"2", "engineering_optics_crystal_lens", ""}, + {"3", "engineering_optics_water_filled_spheres", ""}, + {"4", "engineering_optics_glass_lens", ""}, + {"5", "engineering_optics_camera_obscura", ""}, + {"6", "engineering_optics_parabolic_mirror", ""}, + {"7", "engineering_optics_theory_of_color", ""}, + {"8", "engineering_optics_theory_of_rainbows", ""}, + {"9", "engineering_optics_law_of_refraction", ""}, + {"10", "engineering_design_models_and_templates", ""}, + {"11", "engineering_construction_wood_lamination", ""}, + {"12", "engineering_astronomy_dioptra", ""}, + {"13", "engineering_astronomy_astrolabe", ""}, + {"14", "engineering_astronomy_armillary_sphere", ""}, + {"15", "engineering_astronomy_spherical_astrolabe", ""}, + {"16", "engineering_astronomy_mural_instrument", ""}, + {"17", "engineering_astronomy_orrery", ""}, + {"18", "engineering_machine_water_powered_trip_hammer", ""}, + {"19", "engineering_machine_double_acting_piston_bellows", ""}, + {"20", "engineering_fluid_archimedes_principle", ""}, + {"21", "engineering_optics_atmospheric_refraction", ""}, + {"22", "engineering_optics_cause_of_twilight", ""}, + {"23", "engineering_optics_height_of_atmosphere", ""}, + {"24", "engineering_machine_piston", ""}, + {"25", "engineering_machine_crank", ""}, + {"26", "engineering_machine_bellows", ""}, + {"27", "engineering_machine_water_powered_piston_bellows", ""}, + {"28", "engineering_machine_water_wheel", ""}, + {"29", "engineering_machine_trip_hammer", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> language_word_flags_values = {{ + {"0", "front_compound_noun_sing", ""}, + {"1", "front_compound_noun_plur", ""}, + {"2", "front_compound_adj", ""}, + {"3", "front_compound_prefix", ""}, + {"4", "rear_compound_noun_sing", ""}, + {"5", "rear_compound_noun_plur", ""}, + {"6", "rear_compound_adj", ""}, + {"7", "the_noun_sing", ""}, + {"8", "the_noun_plur", ""}, + {"9", "the_compound_noun_sing", ""}, + {"10", "the_compound_noun_plur", ""}, + {"11", "the_compound_adj", ""}, + {"12", "the_compound_prefix", ""}, + {"13", "of_noun_sing", ""}, + {"14", "of_noun_plur", ""}, + {"15", "standard_verb", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> invasion_info__T_flags_values = {{ + {"0", "active", ""}, + {"1", "siege", ""}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> machine_info__T_flags_values = {{ + {"0", "frozen", ""}, + {"1", "", ""}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> machine_conn_modes_values = {{ + {"0", "up", ""}, + {"1", "down", ""}, + {"2", "right", ""}, + {"3", "left", ""}, + {"4", "z_up", ""}, + {"5", "z_down", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> tile_designation_values = {{ + {"0", "flow_size", "liquid amount"}, + {"1", "pile", "stockpile?"}, + {"2", "dig", ""}, + {"3", "smooth", ""}, + {"4", "hidden", ""}, + {"5", "geolayer_index", ""}, + {"6", "light", ""}, + {"7", "subterranean", ""}, + {"8", "outside", ""}, + {"9", "biome", ""}, + {"10", "liquid_type", ""}, + {"11", "water_table", "aquifer"}, + {"12", "rained", ""}, + {"13", "traffic", ""}, + {"14", "flow_forbid", ""}, + {"15", "liquid_static", ""}, + {"16", "feature_local", ""}, + {"17", "feature_global", ""}, + {"18", "water_stagnant", ""}, + {"19", "water_salt", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> tile_occupancy_values = {{ + {"0", "building", ""}, + {"1", "unit", "standing"}, + {"2", "unit_grounded", "prone"}, + {"3", "item", ""}, + {"4", "edge_flow_in", "if set on an edge tile, water or magma will flow in"}, + {"5", "moss", ""}, + {"6", "arrow_color", ""}, + {"7", "arrow_variant", ""}, + {"8", "unk13_noncitizen_unit", "when noncitizen moves in, something happens and it is cleared"}, + {"9", "monster_lair", "A monster lair. Items placed wont be moved."}, + {"10", "no_grow", "seems to be set on terrain tiles where grass growth is impossible"}, + {"11", "unk16", ""}, + {"12", "unk17", ""}, + {"13", "carve_track_north", ""}, + {"14", "carve_track_south", ""}, + {"15", "carve_track_east", ""}, + {"16", "carve_track_west", ""}, + {"17", "unk22", ""}, + {"18", "unk23", ""}, + {"19", "dig_marked", ""}, + {"20", "dig_auto", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> block_flags_values = {{ + {"0", "designated", "for jobs etc"}, + {"1", "update_temperature", ""}, + {"2", "update_liquid", ""}, + {"3", "update_liquid_twice", "Protects UpdateLiquid from being cleared the first time."}, + {"4", "repath_on_freeze", "reindex_pathfinding set and flag cleared if temperature below 10000"}, + {"5", "repath_on_melt", "reindex_pathfinding set and flag cleared if temperature above 10000"}, + {"6", "has_aquifer", "has actual aquifer tiles (?)"}, + {"7", "check_aquifer", "has tiles that may get flooded by an adjacent aquifer"}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> z_level_flags_values = {{ + {"0", "update", ""}, + {"1", "can_stop", ""}, + {"2", "update_twice", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> tile_liquid_flow_values = {{ + {"0", "temp_flow_timer", "set when water sloshes around, counts down to zero"}, + {"1", "unk_1", ""}, + {"2", "perm_flow_dir", ""}, + {"3", "unk_2", "periodically set whenever perm_flow_dir is nonzero"}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> construction_flags_values = {{ + {"0", "no_build_item", "build item is created from scratch upon removing construction, does not exist beforehand"}, + {"1", "top_of_wall", "used on the floors above constructed walls so you cannot remove them"}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> flow_reuse_pool__T_flags_values = {{ + {"0", "active", ""}, + {"1", "", ""}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> uniform_indiv_choice_values = {{ + {"0", "any", ""}, + {"1", "melee", ""}, + {"2", "ranged", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> squad_use_flags_values = {{ + {"0", "sleep", ""}, + {"1", "train", ""}, + {"2", "indiv_eq", ""}, + {"3", "squad_eq", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> uniform_flags_values = {{ + {"0", "replace_clothing", ""}, + {"1", "exact_matches", ""}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> army_controller_sub4__T_unk_2_values = {{ + {"0", "not_sleeping", "set to 1 to make army wake up"}, + {"1", "", ""}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> plant_flags_values = {{ + {"0", "watery", ""}, + {"1", "is_shrub", "If it is not a shrub, then it is a tree"}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> plant_tree_tile_values = {{ + {"0", "trunk", ""}, + {"1", "connection_east", ""}, + {"2", "connection_south", ""}, + {"3", "connection_west", ""}, + {"4", "connection_north", ""}, + {"5", "branches", ""}, + {"6", "twigs", ""}, + {"7", "blocked", "e.g. by other tree"}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> projectile_flags_values = {{ + {"0", "no_impact_destroy", ""}, + {"1", "has_hit_ground", ""}, + {"2", "bouncing", ""}, + {"3", "high_flying", ""}, + {"4", "piercing", ""}, + {"5", "to_be_deleted", ""}, + {"6", "unk6", ""}, + {"7", "unk7", ""}, + {"8", "parabolic", ""}, + {"9", "unk9", ""}, + {"10", "unk10", ""}, + {"11", "no_collide", ""}, + {"12", "safe_landing", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> reaction_reagent_flags_values = {{ + {"0", "PRESERVE_REAGENT", ""}, + {"1", "IN_CONTAINER", ""}, + {"2", "DOES_NOT_DETERMINE_PRODUCT_AMOUNT", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> general_ref_entity_popst__T_flags_values = {{ + {"0", "animated_corpse", ""}, + {"1", "ghostly", ""}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> general_ref_creaturest__T_flags_values = {{ + {"0", "animated_corpse", ""}, + {"1", "ghostly", ""}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> general_ref_unit_itemownerst__T_flags_values = {{ + {"0", "litter", "apparetly set after 1000 ticks, then confiscated in 1000 more ticks"}, + {"1", "", ""}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> stockpile_group_set_values = {{ + {"0", "animals", ""}, + {"1", "food", ""}, + {"2", "furniture", ""}, + {"3", "corpses", ""}, + {"4", "refuse", ""}, + {"5", "stone", ""}, + {"6", "ammo", ""}, + {"7", "coins", ""}, + {"8", "bars_blocks", ""}, + {"9", "gems", ""}, + {"10", "finished_goods", ""}, + {"11", "leather", ""}, + {"12", "cloth", ""}, + {"13", "wood", ""}, + {"14", "weapons", ""}, + {"15", "armor", ""}, + {"16", "sheet", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> route_stockpile_link__T_mode_values = {{ + {"0", "take", ""}, + {"1", "give", ""}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> creature_interaction_effect_flags_values = {{ + {"0", "SIZE_DELAYS", ""}, + {"1", "SIZE_DILUTES", ""}, + {"2", "VASCULAR_ONLY", ""}, + {"3", "MUSCULAR_ONLY", ""}, + {"4", "RESISTABLE", ""}, + {"5", "LOCALIZED", ""}, + {"6", "MOON_PHASE", ""}, + {"7", "COUNTER_TRIGGER", ""}, + {"8", "ABRUPT_START", ""}, + {"9", "ABRUPT_END", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> cie_add_tag_mask1_values = {{ + {"0", "EXTRAVISION", ""}, + {"1", "OPPOSED_TO_LIFE", ""}, + {"2", "NOT_LIVING", ""}, + {"3", "NOEXERT", ""}, + {"4", "NOPAIN", ""}, + {"5", "NOBREATHE", ""}, + {"6", "HAS_BLOOD", ""}, + {"7", "NOSTUN", ""}, + {"8", "NONAUSEA", ""}, + {"9", "NO_DIZZINESS", ""}, + {"10", "NO_FEVERS", ""}, + {"11", "TRANCES", ""}, + {"12", "NOEMOTION", ""}, + {"13", "LIKES_FIGHTING", ""}, + {"14", "PARALYZEIMMUNE", ""}, + {"15", "NOFEAR", ""}, + {"16", "NO_EAT", ""}, + {"17", "NO_DRINK", ""}, + {"18", "NO_SLEEP", ""}, + {"19", "MISCHIEVOUS", ""}, + {"20", "NO_PHYS_ATT_GAIN", ""}, + {"21", "NO_PHYS_ATT_RUST", ""}, + {"22", "NOTHOUGHT", ""}, + {"23", "NO_THOUGHT_CENTER_FOR_MOVEMENT", ""}, + {"24", "CAN_SPEAK", ""}, + {"25", "CAN_LEARN", ""}, + {"26", "UTTERANCES", ""}, + {"27", "CRAZED", ""}, + {"28", "BLOODSUCKER", ""}, + {"29", "NO_CONNECTIONS_FOR_MOVEMENT", ""}, + {"30", "SUPERNATURAL", ""}, + {"31", "", ""} +}}; + +std::array, 32> cie_add_tag_mask2_values = {{ + {"0", "NO_AGING", ""}, + {"1", "MORTAL", ""}, + {"2", "STERILE", ""}, + {"3", "FIT_FOR_ANIMATION", ""}, + {"4", "FIT_FOR_RESURRECTION", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> syndrome_flags_values = {{ + {"0", "SYN_INJECTED", ""}, + {"1", "SYN_CONTACT", ""}, + {"2", "SYN_INHALED", ""}, + {"3", "", ""}, + {"4", "SYN_INGESTED", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> unit_flags1_values = {{ + {"0", "move_state", "Can the dwarf move or are they waiting for their movement timer"}, + {"1", "inactive", "Set for dead units and incoming/leaving critters that are alive but off-map"}, + {"2", "has_mood", "Currently in mood"}, + {"3", "had_mood", "Had a mood already"}, + {"4", "marauder", "wide class of invader/inside creature attackers"}, + {"5", "drowning", "Is currently drowning"}, + {"6", "merchant", "An active merchant"}, + {"7", "forest", "used for units no longer linked to merchant/diplomacy, they just try to leave mostly"}, + {"8", "left", "left the map"}, + {"9", "rider", "Is riding an another creature"}, + {"10", "incoming", ""}, + {"11", "diplomat", ""}, + {"12", "zombie", ""}, + {"13", "skeleton", ""}, + {"14", "can_swap", "Can swap tiles during movement (prevents multiple swaps)"}, + {"15", "on_ground", "The creature is laying on the floor, can be conscious"}, + {"16", "projectile", "Launched into the air? Funny."}, + {"17", "active_invader", "Active invader (for organized ones)"}, + {"18", "hidden_in_ambush", ""}, + {"19", "invader_origin", "Invader origin (could be inactive and fleeing)"}, + {"20", "coward", "Will flee if invasion turns around"}, + {"21", "hidden_ambusher", "Active marauder/invader moving inward?"}, + {"22", "invades", "Marauder resident/invader moving in all the way"}, + {"23", "check_flows", "Check against flows next time you get a chance"}, + {"24", "ridden", ""}, + {"25", "caged", ""}, + {"26", "tame", ""}, + {"27", "chained", ""}, + {"28", "royal_guard", ""}, + {"29", "fortress_guard", ""}, + {"30", "suppress_wield", ""}, + {"31", "important_historical_figure", "Is an important historical figure"} +}}; + +std::array, 32> unit_flags2_values = {{ + {"0", "swimming", ""}, + {"1", "sparring", "works, but not set for sparring military dwarves(?) (since 0.40.01?)"}, + {"2", "no_notify", "Do not notify about level gains (for embark etc)"}, + {"3", "unused", ""}, + {"4", "calculated_nerves", ""}, + {"5", "calculated_bodyparts", ""}, + {"6", "important_historical_figure", "Is important historical figure (slight variation)"}, + {"7", "killed", "Has been killed by kill function (slightly different from dead, not necessarily violent death)"}, + {"8", "cleanup_1", "Must be forgotten by forget function (just cleanup)"}, + {"9", "cleanup_2", "Must be deleted (cleanup)"}, + {"10", "cleanup_3", "Recently forgotten (cleanup)"}, + {"11", "for_trade", "Offered for trade"}, + {"12", "trade_resolved", ""}, + {"13", "has_breaks", ""}, + {"14", "gutted", ""}, + {"15", "circulatory_spray", ""}, + {"16", "locked_in_for_trading", "Locked in for trading (it's a projectile on the other set of flags, might be what the flying was)"}, + {"17", "slaughter", "marked for slaughter"}, + {"18", "underworld", "Underworld creature"}, + {"19", "resident", "Current resident"}, + {"20", "cleanup_4", "Marked for special cleanup as unused load from unit block on disk"}, + {"21", "calculated_insulation", "Insulation from clothing calculated"}, + {"22", "visitor_uninvited", "Uninvited guest"}, + {"23", "visitor", ""}, + {"24", "calculated_inventory", "Inventory order calculated"}, + {"25", "vision_good", "Vision -- have good part"}, + {"26", "vision_damaged", "Vision -- have damaged part"}, + {"27", "vision_missing", "Vision -- have missing part"}, + {"28", "breathing_good", "Breathing -- have good part"}, + {"29", "breathing_problem", "Breathing -- having a problem"}, + {"30", "roaming_wilderness_population_source", ""}, + {"31", "roaming_wilderness_population_source_not_a_map_feature", ""} +}}; + +std::array, 32> unit_flags3_values = {{ + {"0", "body_part_relsize_computed", ""}, + {"1", "size_modifier_computed", ""}, + {"2", "stuck_weapon_computed", "cleared if removing StuckIn item to recompute wound flags."}, + {"3", "compute_health", "causes the health structure to be created or updated"}, + {"4", "announce_titan", "Announces creature like an FB or titan."}, + {"5", "unk5", ""}, + {"6", "on_crutch", ""}, + {"7", "weight_computed", ""}, + {"8", "body_temp_in_range", "Is set to 1 every tick for non-dead creatures."}, + {"9", "wait_until_reveal", "Blocks all kind of things until tile is revealed."}, + {"10", "scuttle", ""}, + {"11", "unk11", ""}, + {"12", "ghostly", ""}, + {"13", "unk13", ""}, + {"14", "unk14", ""}, + {"15", "unk15", "dropped when znew >= zold"}, + {"16", "unk16", "something to do with werewolves?"}, + {"17", "no_meandering", "for active_invaders"}, + {"18", "floundering", ""}, + {"19", "exit_vehicle1", "trapavoid"}, + {"20", "exit_vehicle2", "trapavoid"}, + {"21", "dangerous_terrain", ""}, + {"22", "adv_yield", ""}, + {"23", "vision_cone_set", ""}, + {"24", "unk24", ""}, + {"25", "emotionally_overloaded", ""}, + {"26", "unk26", ""}, + {"27", "available_for_adoption", ""}, + {"28", "gelded", ""}, + {"29", "marked_for_gelding", ""}, + {"30", "injury_thought", ""}, + {"31", "unk31", ""} +}}; + +std::array, 32> unit_flags4_values = {{ + {"0", "unk0", ""}, + {"1", "unk1", ""}, + {"2", "unk2", ""}, + {"3", "unk3", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> wound_damage_flags1_values = {{ + {"0", "cut", ""}, + {"1", "smashed", ""}, + {"2", "scar_cut", "straight scar"}, + {"3", "scar_smashed", "huge dent"}, + {"4", "tendon_bruised", ""}, + {"5", "tendon_strained", ""}, + {"6", "tendon_torn", ""}, + {"7", "ligament_bruised", ""}, + {"8", "ligament_sprained", ""}, + {"9", "ligament_torn", ""}, + {"10", "motor_nerve_severed", ""}, + {"11", "sensory_nerve_severed", ""}, + {"12", "edged_damage", ""}, + {"13", "smashed_apart", "?"}, + {"14", "major_artery", ""}, + {"15", "guts_spilled", ""}, + {"16", "edged_shake1", ""}, + {"17", "scar_edged_shake1", "jagged scar"}, + {"18", "edged_shake2", ""}, + {"19", "broken", ""}, + {"20", "scar_broken", "huge dent"}, + {"21", "gouged", ""}, + {"22", "blunt_shake1", ""}, + {"23", "scar_blunt_shake1", "jagged scar"}, + {"24", "blunt_shake2", ""}, + {"25", "joint_bend1", ""}, + {"26", "scar_joint_bend1", "jagged scar"}, + {"27", "joint_bend2", ""}, + {"28", "compound_fracture", ""}, + {"29", "diagnosed", ""}, + {"30", "artery", ""}, + {"31", "overlapping_fracture", ""} +}}; + +std::array, 32> wound_damage_flags2_values = {{ + {"0", "needs_setting", ""}, + {"1", "entire_surface", ""}, + {"2", "gelded", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> unit_health_flags_values = {{ + {"0", "rq_diagnosis", ""}, + {"1", "needs_recovery", "needs diagnosis but cannot walk"}, + {"2", "needs_healthcare", "???; set when rq_diagnosis is, and not blocked by having a diagnosis"}, + {"3", "rq_immobilize", ""}, + {"4", "rq_dressing", ""}, + {"5", "rq_cleaning", ""}, + {"6", "rq_surgery", ""}, + {"7", "rq_suture", ""}, + {"8", "rq_setting", ""}, + {"9", "rq_traction", ""}, + {"10", "rq_crutch", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> unit_bp_health_flags_values = {{ + {"0", "rq_immobilize", ""}, + {"1", "rq_dressing", ""}, + {"2", "rq_cleaning", ""}, + {"3", "rq_surgery", ""}, + {"4", "rq_suture", ""}, + {"5", "rq_setting", ""}, + {"6", "rq_traction", ""}, + {"7", "inoperable_rot", ""}, + {"8", "needs_bandage", "used to remove once not needed"}, + {"9", "needs_cast", "used to remove once not needed"}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> orientation_flags_values = {{ + {"0", "indeterminate", "only seen on adventurers"}, + {"1", "romance_male", ""}, + {"2", "marry_male", ""}, + {"3", "romance_female", ""}, + {"4", "marry_female", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> vermin_flags_values = {{ + {"0", "", ""}, + {"1", "is_colony", "A vermin colony. For example an anthill or bee hive."}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> kitchen_pref_flag_values = {{ + {"0", "Cook", ""}, + {"1", "Brew", ""}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> health_view_bits1_values = {{ + {"0", "bleeding_heavy", ""}, + {"1", "bleeding", ""}, + {"2", "pale", ""}, + {"3", "blood_loss_severe", ""}, + {"4", "faint", ""}, + {"5", "blood_loss", ""}, + {"6", "paralyzed", ""}, + {"7", "paralyzed_partially", ""}, + {"8", "sluggish", ""}, + {"9", "numb_completely", ""}, + {"10", "numb_partially", ""}, + {"11", "numb_slightly", ""}, + {"12", "fever_serious", ""}, + {"13", "fever_moderate", ""}, + {"14", "fever_slight", ""}, + {"15", "pain_extreme", ""}, + {"16", "pain_moderate", ""}, + {"17", "pain_slight", ""}, + {"18", "exhausted", ""}, + {"19", "overexerted", ""}, + {"20", "tired", ""}, + {"21", "stunned", ""}, + {"22", "dizzy", ""}, + {"23", "drowning", ""}, + {"24", "winded", ""}, + {"25", "nauseous", ""}, + {"26", "drowsy_very", ""}, + {"27", "drowsy", ""}, + {"28", "dehydrated", ""}, + {"29", "thirsty", ""}, + {"30", "starving", ""}, + {"31", "hungry", ""} +}}; + +std::array, 32> health_view_bits2_values = {{ + {"0", "breathe_cant", ""}, + {"1", "breathe_trouble", ""}, + {"2", "vision_lost", ""}, + {"3", "vision_impaired", ""}, + {"4", "vision_impaired2", ""}, + {"5", "stand_cant", ""}, + {"6", "stand_impaired", ""}, + {"7", "grasp_cant", ""}, + {"8", "grasp_impaired", ""}, + {"9", "fly_cant", ""}, + {"10", "fly_impaired", ""}, + {"11", "motor_nerve", ""}, + {"12", "sensory_nerve", ""}, + {"13", "spilled", ""}, + {"14", "artery_major", ""}, + {"15", "artery", ""}, + {"16", "tendon_torn", ""}, + {"17", "tendon_strain", ""}, + {"18", "tendon_bruise", ""}, + {"19", "ligament_torn", ""}, + {"20", "ligament_sprain", ""}, + {"21", "ligament_bruise", ""}, + {"22", "fracture_compound", ""}, + {"23", "fracture_overlap", ""}, + {"24", "need_setting", ""}, + {"25", "tissue_broken", ""}, + {"26", "tissue_part_broken", ""}, + {"27", "damage_heavy", ""}, + {"28", "damage_moderate", ""}, + {"29", "damage_light", ""}, + {"30", "pain_extreme", ""}, + {"31", "pain_moderate", ""} +}}; + +std::array, 32> health_view_bits3_values = {{ + {"0", "pain_minor", ""}, + {"1", "swell_extreme", ""}, + {"2", "swell_medium", ""}, + {"3", "swell_minor", ""}, + {"4", "infection", ""}, + {"5", "rq_diagnosis", ""}, + {"6", "rq_crutch", ""}, + {"7", "inoperable_rot", ""}, + {"8", "rq_cleaning", ""}, + {"9", "rq_surgery", ""}, + {"10", "rq_suture", ""}, + {"11", "rq_setting", ""}, + {"12", "rq_dressing", ""}, + {"13", "rq_traction", ""}, + {"14", "rq_immobilize", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> tower_shape_values = {{ + {"0", "round", ""}, + {"1", "hollow", "no internal floors or fortifications"}, + {"2", "keep", "fill with rooms at the bottom"}, + {"3", "goblin", "ignore set heights and generate automatically"}, + {"4", "unk10", "set on goblin towers. doesnt seem to do anything"}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> report__T_flags_values = {{ + {"0", "continuation", "When split into multiple lines, set on all but the first"}, + {"1", "unconscious", "units.active[0]"}, + {"2", "announcement", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> poetic_form_part__T_flags_values = {{ + {"0", "size_in_lines", ""}, + {"1", "", ""}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> musical_form_instruments__T_substitutions_values = {{ + {"0", "singer", ""}, + {"1", "speaker", ""}, + {"2", "chanter", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> building_civzonest__T_zone_flags_values = {{ + {"0", "water_source", ""}, + {"1", "garbage_dump", ""}, + {"2", "sand", ""}, + {"3", "active", ""}, + {"4", "fishing", ""}, + {"5", "pit_pond", ""}, + {"6", "meeting_area", ""}, + {"7", "hospital", ""}, + {"8", "pen_pasture", ""}, + {"9", "clay", ""}, + {"10", "animal_training", ""}, + {"11", "gather", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> building_civzonest__T_pit_flags_values = {{ + {"0", "is_pond", ""}, + {"1", "", ""}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> building_civzonest__T_gather_flags_values = {{ + {"0", "pick_trees", ""}, + {"1", "pick_shrubs", ""}, + {"2", "gather_fallen", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> building_design__T_flags_values = {{ + {"0", "rough", "rough gabbro road"}, + {"1", "built", ""}, + {"2", "designed", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> building_bedst__T_bed_flags_values = {{ + {"0", "barracks", ""}, + {"1", "dormitory", ""}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> building_cagest__T_cage_flags_values = {{ + {"0", "triggered", ""}, + {"1", "", ""}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> building_chainst__T_chain_flags_values = {{ + {"0", "triggered", ""}, + {"1", "", ""}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> building_coffinst__T_burial_mode_values = {{ + {"0", "allow_burial", ""}, + {"1", "no_pets", ""}, + {"2", "no_citizens", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> building_shopst__T_shop_flags_values = {{ + {"0", "for_sale", ""}, + {"1", "", ""}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> building_supportst__T_support_flags_values = {{ + {"0", "triggered", ""}, + {"1", "", ""}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> building_tablest__T_table_flags_values = {{ + {"0", "meeting_hall", ""}, + {"1", "", ""}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> building_tradedepotst__T_trade_flags_values = {{ + {"0", "trader_requested", ""}, + {"1", "anyone_can_trade", ""}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> building_trapst__T_stop_flags_values = {{ + {"0", "disabled", ""}, + {"1", "disabling", ""}, + {"2", "enabling", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> building_wellst__T_well_flags_values = {{ + {"0", "lowering", ""}, + {"1", "just_raised", ""}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> caste_attack__T_flags_values = {{ + {"0", "with", ""}, + {"1", "latch", ""}, + {"2", "main", ""}, + {"3", "edge", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> creature_interaction__T_flags_values = {{ + {"0", "CAN_BE_MUTUAL", ""}, + {"1", "VERBAL", ""}, + {"2", "FREE_ACTION", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> caste_body_info__T_flags_values = {{ + {"0", "unk0", ""}, + {"1", "", ""}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> caravan_state__T_flags_values = {{ + {"0", "check_cleanup", "set each time a merchant leaves the map or dies"}, + {"1", "casualty", ""}, + {"2", "hardship", ""}, + {"3", "communicate", "send data to mountainhomes"}, + {"4", "seized", ""}, + {"5", "offended", ""}, + {"6", "announce", "display merchantintro and merchantexit"}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> history_event_tactical_situationst__T_tactics_flags_values = {{ + {"0", "start", ""}, + {"1", "", ""}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> interaction_effect__T_flags_values = {{ + {"0", "IMMEDIATE", ""}, + {"1", "", ""}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> interaction_source_secretst__T_learn_flags_values = {{ + {"0", "SUPERNATURAL_LEARNING_POSSIBLE", ""}, + {"1", "MUNDANE_RESEARCH_POSSIBLE", ""}, + {"2", "MUNDANE_RECORDING_POSSIBLE", ""}, + {"3", "MUNDANE_TEACHING_POSSIBLE", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> interaction_target_materialst__T_restrictions_values = {{ + {"0", "CONTEXT_MATERIAL", ""}, + {"1", "", ""}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> itemimprovement_coveredst__T_cover_flags_values = {{ + {"0", "glazed", ""}, + {"1", "", ""}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> spatter_common__T_base_flags_values = {{ + {"0", "evaporates", "does not contaminate tile when washed away"}, + {"1", "", ""}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> spatter__T_flags_values = {{ + {"0", "water_soluble", ""}, + {"1", "", ""}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> item_body_component__T_corpse_flags_values = {{ + {"0", "unbutchered", ""}, + {"1", "", ""}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "bone", ""}, + {"5", "shell", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "skull", ""}, + {"13", "separated_part", "?"}, + {"14", "hair_wool", ""}, + {"15", "yarn", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> item_eggst__T_egg_flags_values = {{ + {"0", "fertile", "allows the incubation_counter to be checked/incremented"}, + {"1", "", ""}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> poetic_form__T_flags_values = {{ + {"0", "tone_patterns", ""}, + {"1", "produces_individual_poems", ""}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> musical_form__T_flags_values = {{ + {"0", "produces_individual_songs", ""}, + {"1", "repeats_as_necessary", ""}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> historical_entity__T_flags_values = {{ + {"0", "foreign_civ", "?"}, + {"1", "named_civ", "?"}, + {"2", "unk2", ""}, + {"3", "unk3", ""}, + {"4", "unk4", "?"}, + {"5", "worshipping", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> item_petst__T_pet_flags_values = {{ + {"0", "available_for_adoption", ""}, + {"1", "", ""}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> entity_raw__T_scholar_values = {{ + {"0", "PHILOSOPHER", ""}, + {"1", "MATHEMATICIAN", ""}, + {"2", "HISTORIAN", ""}, + {"3", "ASTRONOMER", ""}, + {"4", "NATURALIST", ""}, + {"5", "CHEMIST", ""}, + {"6", "GEOGRAPHER", ""}, + {"7", "DOCTOR", ""}, + {"8", "ENGINEER", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> machine__T_flags_values = {{ + {"0", "active", ""}, + {"1", "frozen", "?"}, + {"2", "unfreeze", "?"}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> building_gear_assemblyst__T_gear_flags_values = {{ + {"0", "disengaged", ""}, + {"1", "", ""}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> block_square_event_mineralst__T_flags_values = {{ + {"0", "discovered", ""}, + {"1", "cluster", ""}, + {"2", "vein", ""}, + {"3", "cluster_small", ""}, + {"4", "cluster_one", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> dipscript_popup__T_flags_values = {{ + {"0", "close_screen", ""}, + {"1", "new_screen", ""}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> meeting_diplomat_info__T_flags_values = {{ + {"0", "dynamic_load", "destroy dipscript_info in destructor"}, + {"1", "failure", ""}, + {"2", "success", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> activity_info__T_flags_values = {{ + {"0", "next_step", ""}, + {"1", "checked_building", ""}, + {"2", "add_delay", ""}, + {"3", "topic_discussed", ""}, + {"4", "meeting_done", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> room_rent_info__T_flags_values = {{ + {"0", "eviction_underway", ""}, + {"1", "move_underway", ""}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> activity_event__T_flags_values = {{ + {"0", "dismissed", "to be removed from squad_position, anyway"}, + {"1", "squad", "for all in training session, but not ind.drill"}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> activity_event_conversationst__T_flags2_values = {{ + {"0", "", ""}, + {"1", "shouting", ""}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> activity_event_copy_written_contentst__T_flagsmaybe_values = {{ + {"0", "unk0", ""}, + {"1", "", ""}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> squad_ammo_spec__T_flags_values = {{ + {"0", "use_combat", ""}, + {"1", "use_training", ""}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> plant_growth__T_locations_values = {{ + {"0", "twigs", ""}, + {"1", "light_branches", ""}, + {"2", "heavy_branches", ""}, + {"3", "trunk", ""}, + {"4", "roots", ""}, + {"5", "cap", ""}, + {"6", "sapling", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> plant_growth__T_behavior_values = {{ + {"0", "drops_off", ""}, + {"1", "no_cloud", ""}, + {"2", "has_seed", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> plant__T_damage_flags_values = {{ + {"0", "is_burning", ""}, + {"1", "is_drowning", ""}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> entity_site_link__T_flags_values = {{ + {"0", "residence", "site is residence"}, + {"1", "capital", "site is capital"}, + {"2", "fortress", "used at least by those castles which arent currently in"}, + {"3", "local_market", "for villages to think about their market town"}, + {"4", "trade_partner", "for markets to think about other markets"}, + {"5", "monument", "for a civ to know its tomb sites"}, + {"6", "primary_criminal_gang", ""}, + {"7", "criminal_gang", ""}, + {"8", "invasion_marked", "marked for invasion"}, + {"9", "land_for_holding", "all regular sites get this if civ has nobles, whether they have a noble or not"}, + {"10", "central_holding_land", "only dwarf fortresses get this for now"}, + {"11", "land_holder_residence", "the regular sites where a baron etc. actually lives"}, + {"12", "invasion_push_out", "pushed out by invasion"}, + {"13", "reclaim", "marked for reclaim"}, + {"14", "occupation_failed", "failed to hold hostile occupation"}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> stop_depart_condition__T_flags_values = {{ + {"0", "at_most", ""}, + {"1", "desired", ""}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> unit__T_military__T_pickup_flags_values = {{ + {"0", "update", ""}, + {"1", "", ""}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> unit_ghost_info__T_flags_values = {{ + {"0", "announced", ""}, + {"1", "was_at_rest", ""}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> unit_syndrome__T_symptoms__T_flags_values = {{ + {"0", "disabled", "if PROB roll fails, or all symptoms expire"}, + {"1", "active", ""}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> unit_syndrome__T_flags_values = {{ + {"0", "is_sick", "causes health.flags.needs_healthcare"}, + {"1", "is_sick_low", "less sick? fever: 5-19 low, 20-* full"}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> unit_wound__T_flags_values = {{ + {"0", "severed_part", ""}, + {"1", "mortal_wound", ""}, + {"2", "stuck_weapon", ""}, + {"3", "diagnosed", ""}, + {"4", "sutured", ""}, + {"5", "infection", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> unit_personality__T_emotions__T_flags_values = {{ + {"0", "unk0", ""}, + {"1", "unk1", ""}, + {"2", "unk2", ""}, + {"3", "unk3", ""}, + {"4", "remembered_longterm", ""}, + {"5", "remembered_shortterm", ""}, + {"6", "remembered_reflected_on", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> unit_personality__T_flags_values = {{ + {"0", "", ""}, + {"1", "has_unmet_needs", "focus_level is below -999 for at least one need"}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> historical_figure_info__T_secret__T_knowledge__T_knowledge_goal_values = {{ + {"0", "unk0", ""}, + {"1", "", ""}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> unit_action__T_data__T_move__T_flags_values = {{ + {"0", "charge", ""}, + {"1", "", ""}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> unit_action__T_data__T_attack__T_flags_values = {{ + {"0", "", ""}, + {"1", "", ""}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "quick", ""}, + {"6", "heavy", ""}, + {"7", "wild", ""}, + {"8", "precise", ""}, + {"9", "charge", ""}, + {"10", "", "multi-attack"}, + {"11", "", ""}, + {"12", "lightly_tap", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "spar_report", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> mission__T_details__T_raid__T_raid_flags_values = {{ + {"0", "Unknown1", ""}, + {"1", "OneTimeTribute", ""}, + {"2", "OngoingTribute", ""}, + {"3", "FreeCaptives", ""}, + {"4", "ReleaseOtherPrisoners", ""}, + {"5", "TakeImportantTreasures", ""}, + {"6", "LootOtherItems", ""}, + {"7", "StealLivestock", ""}, + {"8", "Unknown256", ""}, + {"9", "DemandSurrender", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> ui__T_equipment__T_update_values = {{ + {"0", "weapon", ""}, + {"1", "armor", ""}, + {"2", "shoes", ""}, + {"3", "shield", ""}, + {"4", "helm", ""}, + {"5", "gloves", ""}, + {"6", "ammo", ""}, + {"7", "pants", ""}, + {"8", "backpack", ""}, + {"9", "quiver", ""}, + {"10", "flask", ""}, + {"11", "", ""}, + {"12", "buildings", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> ui__T_unk23c8_flags_values = {{ + {"0", "", ""}, + {"1", "recheck_aid_requests", ""}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> viewscreen_textviewerst__T_formatted_text__T_flags_values = {{ + {"0", "hyperlink", ""}, + {"1", "no_newline", ""}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> viewscreen_workquota_conditionst__T_traits__T_flags_values = {{ + {"0", "", ""}, + {"1", "", ""}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> local_population__T_flags_values = {{ + {"0", "discovered", ""}, + {"1", "extinct", "guessed, based on 23a"}, + {"2", "already_removed", "no longer in world.populations"}, + {"3", "unk3", "prevents it from showing up, related to world.unk_59dc4"}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> region_map_entry__T_clouds_values = {{ + {"0", "front", ""}, + {"1", "cumulus", ""}, + {"2", "cirrus", ""}, + {"3", "stratus", ""}, + {"4", "fog", ""}, + {"5", "countdown", "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."}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> region_map_entry__T_wind_values = {{ + {"0", "north_1", ""}, + {"1", "south_1", ""}, + {"2", "east_1", ""}, + {"3", "west_1", ""}, + {"4", "north_2", ""}, + {"5", "south_2", ""}, + {"6", "east_2", ""}, + {"7", "west_2", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> incident__T_flags_values = {{ + {"0", "announced_missing", ""}, + {"1", "discovered", ""}, + {"2", "unk2", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> crime__T_flags_values = {{ + {"0", "sentenced", ""}, + {"1", "discovered", ""}, + {"2", "needs_trial", "i.e. the player chooses whom to convict"}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> job_handler__T_postings__T_flags_values = {{ + {"0", "dead", ""}, + {"1", "", ""}, + {"2", "", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> world__T_status__T_slots__T_flags_values = {{ + {"0", "behind", ""}, + {"1", "side", ""}, + {"2", "by", ""}, + {"3", "item", ""}, + {"4", "tap", ""}, + {"5", "sever", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32> world__T_status__T_flags_values = {{ + {"0", "combat", ""}, + {"1", "hunting", ""}, + {"2", "sparring", ""}, + {"3", "", ""}, + {"4", "", ""}, + {"5", "", ""}, + {"6", "", ""}, + {"7", "", ""}, + {"8", "", ""}, + {"9", "", ""}, + {"10", "", ""}, + {"11", "", ""}, + {"12", "", ""}, + {"13", "", ""}, + {"14", "", ""}, + {"15", "", ""}, + {"16", "", ""}, + {"17", "", ""}, + {"18", "", ""}, + {"19", "", ""}, + {"20", "", ""}, + {"21", "", ""}, + {"22", "", ""}, + {"23", "", ""}, + {"24", "", ""}, + {"25", "", ""}, + {"26", "", ""}, + {"27", "", ""}, + {"28", "", ""}, + {"29", "", ""}, + {"30", "", ""}, + {"31", "", ""} +}}; + +std::array, 32>& get_bitfield_bits(DF_Type p_df_type) +{ + switch(p_df_type) + { + case DF_Type::announcement_flags: return announcement_flags_values; + case DF_Type::poetic_form_feature: return poetic_form_feature_values; + case DF_Type::musical_form_feature: return musical_form_feature_values; + case DF_Type::musical_form_interval__T_flags: return musical_form_interval__T_flags_values; + case DF_Type::building_flags: return building_flags_values; + case DF_Type::door_flags: return door_flags_values; + case DF_Type::gate_flags: return gate_flags_values; + case DF_Type::hospital_supplies__T_supplies_needed: return hospital_supplies__T_supplies_needed_values; + case DF_Type::hive_flags: return hive_flags_values; + case DF_Type::pressure_plate_info__T_flags: return pressure_plate_info__T_flags_values; + case DF_Type::gait_info__T_flags: return gait_info__T_flags_values; + case DF_Type::creature_interaction_target_flags: return creature_interaction_target_flags_values; + case DF_Type::descriptor_shape__T_gems_use: return descriptor_shape__T_gems_use_values; + case DF_Type::entity_activity_statistics__T_found_misc: return entity_activity_statistics__T_found_misc_values; + case DF_Type::entity_animal_raw__T_flags: return entity_animal_raw__T_flags_values; + case DF_Type::history_event_war_site_tribute_forcedst__T_tribute_flags: return history_event_war_site_tribute_forcedst__T_tribute_flags_values; + case DF_Type::history_event_artifact_copiedst__T_flags2: return history_event_artifact_copiedst__T_flags2_values; + case DF_Type::interaction_source_regionst__T_region_flags: return interaction_source_regionst__T_region_flags_values; + case DF_Type::interaction_target_info__T_restrictions: return interaction_target_info__T_restrictions_values; + case DF_Type::weapon_attack__T_flags: return weapon_attack__T_flags_values; + case DF_Type::instrument_piece__T_flags: return instrument_piece__T_flags_values; + case DF_Type::engraving_flags: return engraving_flags_values; + case DF_Type::item_flags: return item_flags_values; + case DF_Type::item_flags2: return item_flags2_values; + case DF_Type::body_part_status: return body_part_status_values; + case DF_Type::body_layer_status: return body_layer_status_values; + case DF_Type::item_matstate: return item_matstate_values; + case DF_Type::job_material_category: return job_material_category_values; + case DF_Type::dfhack_material_category: return dfhack_material_category_values; + case DF_Type::job_flags: return job_flags_values; + case DF_Type::job_item_flags1: return job_item_flags1_values; + case DF_Type::job_item_flags2: return job_item_flags2_values; + case DF_Type::job_item_flags3: return job_item_flags3_values; + case DF_Type::manager_order_status: return manager_order_status_values; + case DF_Type::training_assignment__T_flags: return training_assignment__T_flags_values; + case DF_Type::knowledge_scholar_flags_0: return knowledge_scholar_flags_0_values; + case DF_Type::knowledge_scholar_flags_1: return knowledge_scholar_flags_1_values; + case DF_Type::knowledge_scholar_flags_2: return knowledge_scholar_flags_2_values; + case DF_Type::knowledge_scholar_flags_3: return knowledge_scholar_flags_3_values; + case DF_Type::knowledge_scholar_flags_4: return knowledge_scholar_flags_4_values; + case DF_Type::knowledge_scholar_flags_5: return knowledge_scholar_flags_5_values; + case DF_Type::knowledge_scholar_flags_6: return knowledge_scholar_flags_6_values; + case DF_Type::knowledge_scholar_flags_7: return knowledge_scholar_flags_7_values; + case DF_Type::knowledge_scholar_flags_8: return knowledge_scholar_flags_8_values; + case DF_Type::knowledge_scholar_flags_9: return knowledge_scholar_flags_9_values; + case DF_Type::knowledge_scholar_flags_10: return knowledge_scholar_flags_10_values; + case DF_Type::knowledge_scholar_flags_11: return knowledge_scholar_flags_11_values; + case DF_Type::knowledge_scholar_flags_12: return knowledge_scholar_flags_12_values; + case DF_Type::knowledge_scholar_flags_13: return knowledge_scholar_flags_13_values; + case DF_Type::language_word_flags: return language_word_flags_values; + case DF_Type::invasion_info__T_flags: return invasion_info__T_flags_values; + case DF_Type::machine_info__T_flags: return machine_info__T_flags_values; + case DF_Type::machine_conn_modes: return machine_conn_modes_values; + case DF_Type::tile_designation: return tile_designation_values; + case DF_Type::tile_occupancy: return tile_occupancy_values; + case DF_Type::block_flags: return block_flags_values; + case DF_Type::z_level_flags: return z_level_flags_values; + case DF_Type::tile_liquid_flow: return tile_liquid_flow_values; + case DF_Type::construction_flags: return construction_flags_values; + case DF_Type::flow_reuse_pool__T_flags: return flow_reuse_pool__T_flags_values; + case DF_Type::uniform_indiv_choice: return uniform_indiv_choice_values; + case DF_Type::squad_use_flags: return squad_use_flags_values; + case DF_Type::uniform_flags: return uniform_flags_values; + case DF_Type::army_controller_sub4__T_unk_2: return army_controller_sub4__T_unk_2_values; + case DF_Type::plant_flags: return plant_flags_values; + case DF_Type::plant_tree_tile: return plant_tree_tile_values; + case DF_Type::projectile_flags: return projectile_flags_values; + case DF_Type::reaction_reagent_flags: return reaction_reagent_flags_values; + case DF_Type::general_ref_entity_popst__T_flags: return general_ref_entity_popst__T_flags_values; + case DF_Type::general_ref_creaturest__T_flags: return general_ref_creaturest__T_flags_values; + case DF_Type::general_ref_unit_itemownerst__T_flags: return general_ref_unit_itemownerst__T_flags_values; + case DF_Type::stockpile_group_set: return stockpile_group_set_values; + case DF_Type::route_stockpile_link__T_mode: return route_stockpile_link__T_mode_values; + case DF_Type::creature_interaction_effect_flags: return creature_interaction_effect_flags_values; + case DF_Type::cie_add_tag_mask1: return cie_add_tag_mask1_values; + case DF_Type::cie_add_tag_mask2: return cie_add_tag_mask2_values; + case DF_Type::syndrome_flags: return syndrome_flags_values; + case DF_Type::unit_flags1: return unit_flags1_values; + case DF_Type::unit_flags2: return unit_flags2_values; + case DF_Type::unit_flags3: return unit_flags3_values; + case DF_Type::unit_flags4: return unit_flags4_values; + case DF_Type::wound_damage_flags1: return wound_damage_flags1_values; + case DF_Type::wound_damage_flags2: return wound_damage_flags2_values; + case DF_Type::unit_health_flags: return unit_health_flags_values; + case DF_Type::unit_bp_health_flags: return unit_bp_health_flags_values; + case DF_Type::orientation_flags: return orientation_flags_values; + case DF_Type::vermin_flags: return vermin_flags_values; + case DF_Type::kitchen_pref_flag: return kitchen_pref_flag_values; + case DF_Type::health_view_bits1: return health_view_bits1_values; + case DF_Type::health_view_bits2: return health_view_bits2_values; + case DF_Type::health_view_bits3: return health_view_bits3_values; + case DF_Type::tower_shape: return tower_shape_values; + case DF_Type::report__T_flags: return report__T_flags_values; + case DF_Type::poetic_form_part__T_flags: return poetic_form_part__T_flags_values; + case DF_Type::musical_form_instruments__T_substitutions: return musical_form_instruments__T_substitutions_values; + case DF_Type::building_civzonest__T_zone_flags: return building_civzonest__T_zone_flags_values; + case DF_Type::building_civzonest__T_pit_flags: return building_civzonest__T_pit_flags_values; + case DF_Type::building_civzonest__T_gather_flags: return building_civzonest__T_gather_flags_values; + case DF_Type::building_design__T_flags: return building_design__T_flags_values; + case DF_Type::building_bedst__T_bed_flags: return building_bedst__T_bed_flags_values; + case DF_Type::building_cagest__T_cage_flags: return building_cagest__T_cage_flags_values; + case DF_Type::building_chainst__T_chain_flags: return building_chainst__T_chain_flags_values; + case DF_Type::building_coffinst__T_burial_mode: return building_coffinst__T_burial_mode_values; + case DF_Type::building_shopst__T_shop_flags: return building_shopst__T_shop_flags_values; + case DF_Type::building_supportst__T_support_flags: return building_supportst__T_support_flags_values; + case DF_Type::building_tablest__T_table_flags: return building_tablest__T_table_flags_values; + case DF_Type::building_tradedepotst__T_trade_flags: return building_tradedepotst__T_trade_flags_values; + case DF_Type::building_trapst__T_stop_flags: return building_trapst__T_stop_flags_values; + case DF_Type::building_wellst__T_well_flags: return building_wellst__T_well_flags_values; + case DF_Type::caste_attack__T_flags: return caste_attack__T_flags_values; + case DF_Type::creature_interaction__T_flags: return creature_interaction__T_flags_values; + case DF_Type::caste_body_info__T_flags: return caste_body_info__T_flags_values; + case DF_Type::caravan_state__T_flags: return caravan_state__T_flags_values; + case DF_Type::history_event_tactical_situationst__T_tactics_flags: return history_event_tactical_situationst__T_tactics_flags_values; + case DF_Type::interaction_effect__T_flags: return interaction_effect__T_flags_values; + case DF_Type::interaction_source_secretst__T_learn_flags: return interaction_source_secretst__T_learn_flags_values; + case DF_Type::interaction_target_materialst__T_restrictions: return interaction_target_materialst__T_restrictions_values; + case DF_Type::itemimprovement_coveredst__T_cover_flags: return itemimprovement_coveredst__T_cover_flags_values; + case DF_Type::spatter_common__T_base_flags: return spatter_common__T_base_flags_values; + case DF_Type::spatter__T_flags: return spatter__T_flags_values; + case DF_Type::item_body_component__T_corpse_flags: return item_body_component__T_corpse_flags_values; + case DF_Type::item_eggst__T_egg_flags: return item_eggst__T_egg_flags_values; + case DF_Type::poetic_form__T_flags: return poetic_form__T_flags_values; + case DF_Type::musical_form__T_flags: return musical_form__T_flags_values; + case DF_Type::historical_entity__T_flags: return historical_entity__T_flags_values; + case DF_Type::item_petst__T_pet_flags: return item_petst__T_pet_flags_values; + case DF_Type::entity_raw__T_scholar: return entity_raw__T_scholar_values; + case DF_Type::machine__T_flags: return machine__T_flags_values; + case DF_Type::building_gear_assemblyst__T_gear_flags: return building_gear_assemblyst__T_gear_flags_values; + case DF_Type::block_square_event_mineralst__T_flags: return block_square_event_mineralst__T_flags_values; + case DF_Type::dipscript_popup__T_flags: return dipscript_popup__T_flags_values; + case DF_Type::meeting_diplomat_info__T_flags: return meeting_diplomat_info__T_flags_values; + case DF_Type::activity_info__T_flags: return activity_info__T_flags_values; + case DF_Type::room_rent_info__T_flags: return room_rent_info__T_flags_values; + case DF_Type::activity_event__T_flags: return activity_event__T_flags_values; + case DF_Type::activity_event_conversationst__T_flags2: return activity_event_conversationst__T_flags2_values; + case DF_Type::activity_event_copy_written_contentst__T_flagsmaybe: return activity_event_copy_written_contentst__T_flagsmaybe_values; + case DF_Type::squad_ammo_spec__T_flags: return squad_ammo_spec__T_flags_values; + case DF_Type::plant_growth__T_locations: return plant_growth__T_locations_values; + case DF_Type::plant_growth__T_behavior: return plant_growth__T_behavior_values; + case DF_Type::plant__T_damage_flags: return plant__T_damage_flags_values; + case DF_Type::entity_site_link__T_flags: return entity_site_link__T_flags_values; + case DF_Type::stop_depart_condition__T_flags: return stop_depart_condition__T_flags_values; + case DF_Type::unit__T_military__T_pickup_flags: return unit__T_military__T_pickup_flags_values; + case DF_Type::unit_ghost_info__T_flags: return unit_ghost_info__T_flags_values; + case DF_Type::unit_syndrome__T_symptoms__T_flags: return unit_syndrome__T_symptoms__T_flags_values; + case DF_Type::unit_syndrome__T_flags: return unit_syndrome__T_flags_values; + case DF_Type::unit_wound__T_flags: return unit_wound__T_flags_values; + case DF_Type::unit_personality__T_emotions__T_flags: return unit_personality__T_emotions__T_flags_values; + case DF_Type::unit_personality__T_flags: return unit_personality__T_flags_values; + case DF_Type::historical_figure_info__T_secret__T_knowledge__T_knowledge_goal: return historical_figure_info__T_secret__T_knowledge__T_knowledge_goal_values; + case DF_Type::unit_action__T_data__T_move__T_flags: return unit_action__T_data__T_move__T_flags_values; + case DF_Type::unit_action__T_data__T_attack__T_flags: return unit_action__T_data__T_attack__T_flags_values; + case DF_Type::mission__T_details__T_raid__T_raid_flags: return mission__T_details__T_raid__T_raid_flags_values; + case DF_Type::ui__T_equipment__T_update: return ui__T_equipment__T_update_values; + case DF_Type::ui__T_unk23c8_flags: return ui__T_unk23c8_flags_values; + case DF_Type::viewscreen_textviewerst__T_formatted_text__T_flags: return viewscreen_textviewerst__T_formatted_text__T_flags_values; + case DF_Type::viewscreen_workquota_conditionst__T_traits__T_flags: return viewscreen_workquota_conditionst__T_traits__T_flags_values; + case DF_Type::local_population__T_flags: return local_population__T_flags_values; + case DF_Type::region_map_entry__T_clouds: return region_map_entry__T_clouds_values; + case DF_Type::region_map_entry__T_wind: return region_map_entry__T_wind_values; + case DF_Type::incident__T_flags: return incident__T_flags_values; + case DF_Type::crime__T_flags: return crime__T_flags_values; + case DF_Type::job_handler__T_postings__T_flags: return job_handler__T_postings__T_flags_values; + case DF_Type::world__T_status__T_slots__T_flags: return world__T_status__T_slots__T_flags_values; + case DF_Type::world__T_status__T_flags: return world__T_status__T_flags_values; + default: break; + } + return null_bitfield; +} -std::array, 32>& get_bitfield_bits(DF_Type p_df_type) -{ - switch (p_df_type) - { - case DF_Type::announcement_flags: - return announcement_flags_values; - case DF_Type::poetic_form_feature: - return poetic_form_feature_values; - case DF_Type::musical_form_feature: - return musical_form_feature_values; - case DF_Type::musical_form_interval__T_flags: - return musical_form_interval__T_flags_values; - case DF_Type::building_flags: - return building_flags_values; - case DF_Type::door_flags: - return door_flags_values; - case DF_Type::gate_flags: - return gate_flags_values; - case DF_Type::hospital_supplies__T_supplies_needed: - return hospital_supplies__T_supplies_needed_values; - case DF_Type::hive_flags: - return hive_flags_values; - case DF_Type::pressure_plate_info__T_flags: - return pressure_plate_info__T_flags_values; - case DF_Type::gait_info__T_flags: - return gait_info__T_flags_values; - case DF_Type::creature_interaction_target_flags: - return creature_interaction_target_flags_values; - case DF_Type::descriptor_shape__T_gems_use: - return descriptor_shape__T_gems_use_values; - case DF_Type::entity_activity_statistics__T_found_misc: - return entity_activity_statistics__T_found_misc_values; - case DF_Type::entity_animal_raw__T_flags: - return entity_animal_raw__T_flags_values; - case DF_Type::history_event_war_site_tribute_forcedst__T_tribute_flags: - return history_event_war_site_tribute_forcedst__T_tribute_flags_values; - case DF_Type::history_event_artifact_copiedst__T_flags2: - return history_event_artifact_copiedst__T_flags2_values; - case DF_Type::interaction_source_regionst__T_region_flags: - return interaction_source_regionst__T_region_flags_values; - case DF_Type::interaction_target_info__T_restrictions: - return interaction_target_info__T_restrictions_values; - case DF_Type::weapon_attack__T_flags: - return weapon_attack__T_flags_values; - case DF_Type::instrument_piece__T_flags: - return instrument_piece__T_flags_values; - case DF_Type::engraving_flags: - return engraving_flags_values; - case DF_Type::item_flags: - return item_flags_values; - case DF_Type::item_flags2: - return item_flags2_values; - case DF_Type::body_part_status: - return body_part_status_values; - case DF_Type::body_layer_status: - return body_layer_status_values; - case DF_Type::item_matstate: - return item_matstate_values; - case DF_Type::job_material_category: - return job_material_category_values; - case DF_Type::dfhack_material_category: - return dfhack_material_category_values; - case DF_Type::job_flags: - return job_flags_values; - case DF_Type::job_item_flags1: - return job_item_flags1_values; - case DF_Type::job_item_flags2: - return job_item_flags2_values; - case DF_Type::job_item_flags3: - return job_item_flags3_values; - case DF_Type::manager_order_status: - return manager_order_status_values; - case DF_Type::training_assignment__T_flags: - return training_assignment__T_flags_values; - case DF_Type::knowledge_scholar_flags_0: - return knowledge_scholar_flags_0_values; - case DF_Type::knowledge_scholar_flags_1: - return knowledge_scholar_flags_1_values; - case DF_Type::knowledge_scholar_flags_2: - return knowledge_scholar_flags_2_values; - case DF_Type::knowledge_scholar_flags_3: - return knowledge_scholar_flags_3_values; - case DF_Type::knowledge_scholar_flags_4: - return knowledge_scholar_flags_4_values; - case DF_Type::knowledge_scholar_flags_5: - return knowledge_scholar_flags_5_values; - case DF_Type::knowledge_scholar_flags_6: - return knowledge_scholar_flags_6_values; - case DF_Type::knowledge_scholar_flags_7: - return knowledge_scholar_flags_7_values; - case DF_Type::knowledge_scholar_flags_8: - return knowledge_scholar_flags_8_values; - case DF_Type::knowledge_scholar_flags_9: - return knowledge_scholar_flags_9_values; - case DF_Type::knowledge_scholar_flags_10: - return knowledge_scholar_flags_10_values; - case DF_Type::knowledge_scholar_flags_11: - return knowledge_scholar_flags_11_values; - case DF_Type::knowledge_scholar_flags_12: - return knowledge_scholar_flags_12_values; - case DF_Type::knowledge_scholar_flags_13: - return knowledge_scholar_flags_13_values; - case DF_Type::language_word_flags: - return language_word_flags_values; - case DF_Type::invasion_info__T_flags: - return invasion_info__T_flags_values; - case DF_Type::machine_info__T_flags: - return machine_info__T_flags_values; - case DF_Type::machine_conn_modes: - return machine_conn_modes_values; - case DF_Type::tile_designation: - return tile_designation_values; - case DF_Type::tile_occupancy: - return tile_occupancy_values; - case DF_Type::block_flags: - return block_flags_values; - case DF_Type::z_level_flags: - return z_level_flags_values; - case DF_Type::tile_liquid_flow: - return tile_liquid_flow_values; - case DF_Type::construction_flags: - return construction_flags_values; - case DF_Type::flow_reuse_pool__T_flags: - return flow_reuse_pool__T_flags_values; - case DF_Type::uniform_indiv_choice: - return uniform_indiv_choice_values; - case DF_Type::squad_use_flags: - return squad_use_flags_values; - case DF_Type::uniform_flags: - return uniform_flags_values; - case DF_Type::army_controller_sub4__T_unk_2: - return army_controller_sub4__T_unk_2_values; - case DF_Type::plant_flags: - return plant_flags_values; - case DF_Type::plant_tree_tile: - return plant_tree_tile_values; - case DF_Type::projectile_flags: - return projectile_flags_values; - case DF_Type::reaction_reagent_flags: - return reaction_reagent_flags_values; - case DF_Type::general_ref_entity_popst__T_flags: - return general_ref_entity_popst__T_flags_values; - case DF_Type::general_ref_creaturest__T_flags: - return general_ref_creaturest__T_flags_values; - case DF_Type::general_ref_unit_itemownerst__T_flags: - return general_ref_unit_itemownerst__T_flags_values; - case DF_Type::stockpile_group_set: - return stockpile_group_set_values; - case DF_Type::route_stockpile_link__T_mode: - return route_stockpile_link__T_mode_values; - case DF_Type::creature_interaction_effect_flags: - return creature_interaction_effect_flags_values; - case DF_Type::cie_add_tag_mask1: - return cie_add_tag_mask1_values; - case DF_Type::cie_add_tag_mask2: - return cie_add_tag_mask2_values; - case DF_Type::syndrome_flags: - return syndrome_flags_values; - case DF_Type::unit_flags1: - return unit_flags1_values; - case DF_Type::unit_flags2: - return unit_flags2_values; - case DF_Type::unit_flags3: - return unit_flags3_values; - case DF_Type::unit_flags4: - return unit_flags4_values; - case DF_Type::wound_damage_flags1: - return wound_damage_flags1_values; - case DF_Type::wound_damage_flags2: - return wound_damage_flags2_values; - case DF_Type::unit_health_flags: - return unit_health_flags_values; - case DF_Type::unit_bp_health_flags: - return unit_bp_health_flags_values; - case DF_Type::orientation_flags: - return orientation_flags_values; - case DF_Type::vermin_flags: - return vermin_flags_values; - case DF_Type::kitchen_pref_flag: - return kitchen_pref_flag_values; - case DF_Type::health_view_bits1: - return health_view_bits1_values; - case DF_Type::health_view_bits2: - return health_view_bits2_values; - case DF_Type::health_view_bits3: - return health_view_bits3_values; - case DF_Type::tower_shape: - return tower_shape_values; - case DF_Type::report__T_flags: - return report__T_flags_values; - case DF_Type::poetic_form_part__T_flags: - return poetic_form_part__T_flags_values; - case DF_Type::musical_form_instruments__T_substitutions: - return musical_form_instruments__T_substitutions_values; - case DF_Type::building_civzonest__T_zone_flags: - return building_civzonest__T_zone_flags_values; - case DF_Type::building_civzonest__T_pit_flags: - return building_civzonest__T_pit_flags_values; - case DF_Type::building_civzonest__T_gather_flags: - return building_civzonest__T_gather_flags_values; - case DF_Type::building_design__T_flags: - return building_design__T_flags_values; - case DF_Type::building_bedst__T_bed_flags: - return building_bedst__T_bed_flags_values; - case DF_Type::building_cagest__T_cage_flags: - return building_cagest__T_cage_flags_values; - case DF_Type::building_chainst__T_chain_flags: - return building_chainst__T_chain_flags_values; - case DF_Type::building_coffinst__T_burial_mode: - return building_coffinst__T_burial_mode_values; - case DF_Type::building_shopst__T_shop_flags: - return building_shopst__T_shop_flags_values; - case DF_Type::building_supportst__T_support_flags: - return building_supportst__T_support_flags_values; - case DF_Type::building_tablest__T_table_flags: - return building_tablest__T_table_flags_values; - case DF_Type::building_tradedepotst__T_trade_flags: - return building_tradedepotst__T_trade_flags_values; - case DF_Type::building_trapst__T_stop_flags: - return building_trapst__T_stop_flags_values; - case DF_Type::building_wellst__T_well_flags: - return building_wellst__T_well_flags_values; - case DF_Type::caste_attack__T_flags: - return caste_attack__T_flags_values; - case DF_Type::creature_interaction__T_flags: - return creature_interaction__T_flags_values; - case DF_Type::caste_body_info__T_flags: - return caste_body_info__T_flags_values; - case DF_Type::caravan_state__T_flags: - return caravan_state__T_flags_values; - case DF_Type::history_event_tactical_situationst__T_tactics_flags: - return history_event_tactical_situationst__T_tactics_flags_values; - case DF_Type::interaction_effect__T_flags: - return interaction_effect__T_flags_values; - case DF_Type::interaction_source_secretst__T_learn_flags: - return interaction_source_secretst__T_learn_flags_values; - case DF_Type::interaction_target_materialst__T_restrictions: - return interaction_target_materialst__T_restrictions_values; - case DF_Type::itemimprovement_coveredst__T_cover_flags: - return itemimprovement_coveredst__T_cover_flags_values; - case DF_Type::spatter_common__T_base_flags: - return spatter_common__T_base_flags_values; - case DF_Type::spatter__T_flags: - return spatter__T_flags_values; - case DF_Type::item_body_component__T_corpse_flags: - return item_body_component__T_corpse_flags_values; - case DF_Type::item_eggst__T_egg_flags: - return item_eggst__T_egg_flags_values; - case DF_Type::poetic_form__T_flags: - return poetic_form__T_flags_values; - case DF_Type::musical_form__T_flags: - return musical_form__T_flags_values; - case DF_Type::historical_entity__T_flags: - return historical_entity__T_flags_values; - case DF_Type::item_petst__T_pet_flags: - return item_petst__T_pet_flags_values; - case DF_Type::entity_raw__T_scholar: - return entity_raw__T_scholar_values; - case DF_Type::machine__T_flags: - return machine__T_flags_values; - case DF_Type::building_gear_assemblyst__T_gear_flags: - return building_gear_assemblyst__T_gear_flags_values; - case DF_Type::block_square_event_mineralst__T_flags: - return block_square_event_mineralst__T_flags_values; - case DF_Type::dipscript_popup__T_flags: - return dipscript_popup__T_flags_values; - case DF_Type::meeting_diplomat_info__T_flags: - return meeting_diplomat_info__T_flags_values; - case DF_Type::activity_info__T_flags: - return activity_info__T_flags_values; - case DF_Type::room_rent_info__T_flags: - return room_rent_info__T_flags_values; - case DF_Type::activity_event__T_flags: - return activity_event__T_flags_values; - case DF_Type::activity_event_conversationst__T_flags2: - return activity_event_conversationst__T_flags2_values; - case DF_Type::activity_event_copy_written_contentst__T_flagsmaybe: - return activity_event_copy_written_contentst__T_flagsmaybe_values; - case DF_Type::squad_ammo_spec__T_flags: - return squad_ammo_spec__T_flags_values; - case DF_Type::plant_growth__T_locations: - return plant_growth__T_locations_values; - case DF_Type::plant_growth__T_behavior: - return plant_growth__T_behavior_values; - case DF_Type::plant__T_damage_flags: - return plant__T_damage_flags_values; - case DF_Type::entity_site_link__T_flags: - return entity_site_link__T_flags_values; - case DF_Type::stop_depart_condition__T_flags: - return stop_depart_condition__T_flags_values; - case DF_Type::unit__T_military__T_pickup_flags: - return unit__T_military__T_pickup_flags_values; - case DF_Type::unit_ghost_info__T_flags: - return unit_ghost_info__T_flags_values; - case DF_Type::unit_syndrome__T_symptoms__T_flags: - return unit_syndrome__T_symptoms__T_flags_values; - case DF_Type::unit_syndrome__T_flags: - return unit_syndrome__T_flags_values; - case DF_Type::unit_wound__T_flags: - return unit_wound__T_flags_values; - case DF_Type::unit_personality__T_emotions__T_flags: - return unit_personality__T_emotions__T_flags_values; - case DF_Type::unit_personality__T_flags: - return unit_personality__T_flags_values; - case DF_Type::historical_figure_info__T_secret__T_knowledge__T_knowledge_goal: - return historical_figure_info__T_secret__T_knowledge__T_knowledge_goal_values; - case DF_Type::unit_action__T_data__T_move__T_flags: - return unit_action__T_data__T_move__T_flags_values; - case DF_Type::unit_action__T_data__T_attack__T_flags: - return unit_action__T_data__T_attack__T_flags_values; - case DF_Type::mission__T_details__T_raid__T_raid_flags: - return mission__T_details__T_raid__T_raid_flags_values; - case DF_Type::ui__T_equipment__T_update: - return ui__T_equipment__T_update_values; - case DF_Type::ui__T_unk23c8_flags: - return ui__T_unk23c8_flags_values; - case DF_Type::viewscreen_textviewerst__T_formatted_text__T_flags: - return viewscreen_textviewerst__T_formatted_text__T_flags_values; - case DF_Type::viewscreen_workquota_conditionst__T_traits__T_flags: - return viewscreen_workquota_conditionst__T_traits__T_flags_values; - case DF_Type::local_population__T_flags: - return local_population__T_flags_values; - case DF_Type::region_map_entry__T_clouds: - return region_map_entry__T_clouds_values; - case DF_Type::region_map_entry__T_wind: - return region_map_entry__T_wind_values; - case DF_Type::incident__T_flags: - return incident__T_flags_values; - case DF_Type::crime__T_flags: - return crime__T_flags_values; - case DF_Type::job_handler__T_postings__T_flags: - return job_handler__T_postings__T_flags_values; - case DF_Type::world__T_status__T_slots__T_flags: - return world__T_status__T_slots__T_flags_values; - case DF_Type::world__T_status__T_flags: - return world__T_status__T_flags_values; - default: - break; - } - return null_bitfield; -} diff --git a/dwarfexplorer/generated/df_2_rdf.cpp b/dwarfexplorer/generated/df_2_rdf.cpp index b6bee61..53ccbe6 100644 --- a/dwarfexplorer/generated/df_2_rdf.cpp +++ b/dwarfexplorer/generated/df_2_rdf.cpp @@ -1,2270 +1,2254 @@ -/* - * Copyright 2019 Rafael Agundo - * - * This file is part of dwarfexplorer plugin for DFHack - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - * - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "df_all.h" -#include "DF_Types.h" -#include "RDF_Types.h" - - -using namespace rdf; - - -RDF_Type df_2_rdf(DF_Type p_df_type) -{ - switch(p_df_type) - { - case DF_Type::KeybindingScreen: return RDF_Type::Class; - case DF_Type::KeybindingScreen__T_mode: return RDF_Type::Enum; - case DF_Type::MacroScreenLoad: return RDF_Type::Class; - case DF_Type::MacroScreenSave: return RDF_Type::Class; - case DF_Type::T_cursor: return RDF_Type::Compound; - case DF_Type::T_selection_rect: return RDF_Type::Compound; - case DF_Type::abstract_building: return RDF_Type::Class; - case DF_Type::abstract_building__T_inhabitants: return RDF_Type::Compound; - case DF_Type::abstract_building__T_unk1: return RDF_Type::Compound; - case DF_Type::abstract_building_contents: return RDF_Type::Struct; - case DF_Type::abstract_building_dark_towerst: return RDF_Type::Class; - case DF_Type::abstract_building_dungeonst: return RDF_Type::Class; - case DF_Type::abstract_building_dungeonst__T_dungeon_type: return RDF_Type::Enum; - case DF_Type::abstract_building_flags: return RDF_Type::Enum; - case DF_Type::abstract_building_inn_tavernst: return RDF_Type::Class; - case DF_Type::abstract_building_inn_tavernst__T_room_info: return RDF_Type::Compound; - case DF_Type::abstract_building_keepst: return RDF_Type::Class; - case DF_Type::abstract_building_libraryst: return RDF_Type::Class; - case DF_Type::abstract_building_marketst: return RDF_Type::Class; - case DF_Type::abstract_building_mead_hallst: return RDF_Type::Class; - case DF_Type::abstract_building_templest: return RDF_Type::Class; - case DF_Type::abstract_building_tombst: return RDF_Type::Class; - case DF_Type::abstract_building_type: return RDF_Type::Enum; - case DF_Type::abstract_building_underworld_spirest: return RDF_Type::Class; - case DF_Type::abstract_building_unk: return RDF_Type::Struct; - case DF_Type::abstract_building_unk__T_anon_1: return RDF_Type::Compound; - case DF_Type::active_script_var_longst: return RDF_Type::Class; - case DF_Type::active_script_var_unitst: return RDF_Type::Class; - case DF_Type::active_script_varst: return RDF_Type::Class; - case DF_Type::activity_entry: return RDF_Type::Struct; - case DF_Type::activity_event: return RDF_Type::Class; - case DF_Type::activity_event__T_flags: return RDF_Type::Bitfield; - case DF_Type::activity_event__T_unk_v42_1: return RDF_Type::Compound; - case DF_Type::activity_event__T_unk_v42_2: return RDF_Type::Compound; - case DF_Type::activity_event_combat_trainingst: return RDF_Type::Class; - case DF_Type::activity_event_conflictst: return RDF_Type::Class; - case DF_Type::activity_event_conflictst__T_sides: return RDF_Type::Compound; - case DF_Type::activity_event_conflictst__T_sides__T_enemies: return RDF_Type::Compound; - case DF_Type::activity_event_conversationst: return RDF_Type::Class; - case DF_Type::activity_event_conversationst__T_anon_6: return RDF_Type::Compound; - case DF_Type::activity_event_conversationst__T_flags2: return RDF_Type::Bitfield; - case DF_Type::activity_event_conversationst__T_participants: return RDF_Type::Compound; - case DF_Type::activity_event_conversationst__T_turns: return RDF_Type::Compound; - case DF_Type::activity_event_conversationst__T_unk2: return RDF_Type::Compound; - case DF_Type::activity_event_conversationst__T_unk_b4: return RDF_Type::Compound; - case DF_Type::activity_event_copy_written_contentst: return RDF_Type::Class; - case DF_Type::activity_event_copy_written_contentst__T_flagsmaybe: return RDF_Type::Bitfield; - case DF_Type::activity_event_discuss_topicst: return RDF_Type::Class; - case DF_Type::activity_event_encounterst: return RDF_Type::Class; - case DF_Type::activity_event_encounterst__T_anon_1: return RDF_Type::Compound; - case DF_Type::activity_event_encounterst__T_anon_2: return RDF_Type::Compound; - case DF_Type::activity_event_fill_service_orderst: return RDF_Type::Class; - case DF_Type::activity_event_guardst: return RDF_Type::Class; - case DF_Type::activity_event_harassmentst: return RDF_Type::Class; - case DF_Type::activity_event_harassmentst__T_anon_2: return RDF_Type::Compound; - case DF_Type::activity_event_individual_skill_drillst: return RDF_Type::Class; - case DF_Type::activity_event_make_believest: return RDF_Type::Class; - case DF_Type::activity_event_participants: return RDF_Type::Struct; - case DF_Type::activity_event_performancest: return RDF_Type::Class; - case DF_Type::activity_event_performancest__T_participant_actions: return RDF_Type::Compound; - case DF_Type::activity_event_play_with_toyst: return RDF_Type::Class; - case DF_Type::activity_event_play_with_toyst__T_unk: return RDF_Type::Compound; - case DF_Type::activity_event_playst: return RDF_Type::Class; - case DF_Type::activity_event_ponder_topicst: return RDF_Type::Class; - case DF_Type::activity_event_prayerst: return RDF_Type::Class; - case DF_Type::activity_event_ranged_practicest: return RDF_Type::Class; - case DF_Type::activity_event_readst: return RDF_Type::Class; - case DF_Type::activity_event_researchst: return RDF_Type::Class; - case DF_Type::activity_event_reunionst: return RDF_Type::Class; - case DF_Type::activity_event_skill_demonstrationst: return RDF_Type::Class; - case DF_Type::activity_event_socializest: return RDF_Type::Class; - case DF_Type::activity_event_sparringst: return RDF_Type::Class; - case DF_Type::activity_event_sparringst__T_groups: return RDF_Type::Compound; - case DF_Type::activity_event_store_objectst: return RDF_Type::Class; - case DF_Type::activity_event_teach_topicst: return RDF_Type::Class; - case DF_Type::activity_event_training_sessionst: return RDF_Type::Class; - case DF_Type::activity_event_type: return RDF_Type::Enum; - case DF_Type::activity_event_worshipst: return RDF_Type::Class; - case DF_Type::activity_event_writest: return RDF_Type::Class; - case DF_Type::activity_info: return RDF_Type::Struct; - case DF_Type::activity_info__T_flags: return RDF_Type::Bitfield; - case DF_Type::adventure_environment_ingest_from_containerst: return RDF_Type::Class; - case DF_Type::adventure_environment_ingest_materialst: return RDF_Type::Class; - case DF_Type::adventure_environment_optionst: return RDF_Type::Class; - case DF_Type::adventure_environment_pickup_chop_treest: return RDF_Type::Class; - case DF_Type::adventure_environment_pickup_ignite_vegst: return RDF_Type::Class; - case DF_Type::adventure_environment_pickup_make_campfirest: return RDF_Type::Class; - case DF_Type::adventure_environment_pickup_vermin_eventst: return RDF_Type::Class; - case DF_Type::adventure_environment_place_in_bld_containerst: return RDF_Type::Class; - case DF_Type::adventure_environment_place_in_it_containerst: return RDF_Type::Class; - case DF_Type::adventure_environment_unit_suck_bloodst: return RDF_Type::Class; - case DF_Type::adventure_item_interact_choicest: return RDF_Type::Class; - case DF_Type::adventure_item_interact_fill_from_containerst: return RDF_Type::Class; - case DF_Type::adventure_item_interact_fill_with_materialst: return RDF_Type::Class; - case DF_Type::adventure_item_interact_give_namest: return RDF_Type::Class; - case DF_Type::adventure_item_interact_heat_from_tilest: return RDF_Type::Class; - case DF_Type::adventure_item_interact_pull_outst: return RDF_Type::Class; - case DF_Type::adventure_item_interact_readst: return RDF_Type::Class; - case DF_Type::adventure_item_interact_strugglest: return RDF_Type::Class; - case DF_Type::adventure_log_item: return RDF_Type::Struct; - case DF_Type::adventure_movement_attack_creaturest: return RDF_Type::Class; - case DF_Type::adventure_movement_building_interactst: return RDF_Type::Class; - case DF_Type::adventure_movement_climbst: return RDF_Type::Class; - case DF_Type::adventure_movement_hold_itemst: return RDF_Type::Class; - case DF_Type::adventure_movement_hold_tilest: return RDF_Type::Class; - case DF_Type::adventure_movement_item_interact_guidest: return RDF_Type::Class; - case DF_Type::adventure_movement_item_interact_pushst: return RDF_Type::Class; - case DF_Type::adventure_movement_item_interact_ridest: return RDF_Type::Class; - case DF_Type::adventure_movement_item_interactst: return RDF_Type::Class; - case DF_Type::adventure_movement_movest: return RDF_Type::Class; - case DF_Type::adventure_movement_optionst: return RDF_Type::Class; - case DF_Type::adventure_movement_release_hold_itemst: return RDF_Type::Class; - case DF_Type::adventure_movement_release_hold_tilest: return RDF_Type::Class; - case DF_Type::adventure_option_eat_item_contaminantst: return RDF_Type::Class; - case DF_Type::adventure_option_eat_unit_contaminantst: return RDF_Type::Class; - case DF_Type::adventure_option_view_contaminantst: return RDF_Type::Class; - case DF_Type::adventure_optionst: return RDF_Type::Class; - case DF_Type::adventurer_attribute_level: return RDF_Type::Enum; - case DF_Type::agreement: return RDF_Type::Struct; - case DF_Type::agreement__T_details: return RDF_Type::Compound; - case DF_Type::agreement__T_details__T_data: return RDF_Type::Union; - case DF_Type::agreement__T_details__T_data__T_data0: return RDF_Type::Compound; - case DF_Type::agreement__T_details__T_data__T_data1: return RDF_Type::Compound; - case DF_Type::agreement__T_parties: return RDF_Type::Compound; - case DF_Type::agreement__T_parties__T_anon_1: return RDF_Type::Compound; - case DF_Type::ammo_flags: return RDF_Type::Enum; - case DF_Type::animal_training_level: return RDF_Type::Enum; - case DF_Type::announcement_flags: return RDF_Type::Bitfield; - case DF_Type::announcement_type: return RDF_Type::Enum; - case DF_Type::announcements: return RDF_Type::Struct; - case DF_Type::appearance_modifier_growth_interval: return RDF_Type::Enum; - case DF_Type::appearance_modifier_type: return RDF_Type::Enum; - case DF_Type::armor_flags: return RDF_Type::Enum; - case DF_Type::armor_general_flags: return RDF_Type::Enum; - case DF_Type::armor_properties: return RDF_Type::Struct; - case DF_Type::army: return RDF_Type::Struct; - case DF_Type::army__T_members: return RDF_Type::Compound; - case DF_Type::army__T_unk_2c: return RDF_Type::Compound; - case DF_Type::army_controller: return RDF_Type::Struct; - case DF_Type::army_controller__T_unk_64: return RDF_Type::Union; - case DF_Type::army_controller_sub11: return RDF_Type::Struct; - case DF_Type::army_controller_sub11__T_anon_3: return RDF_Type::Compound; - case DF_Type::army_controller_sub12: return RDF_Type::Struct; - case DF_Type::army_controller_sub12__T_anon_4: return RDF_Type::Compound; - case DF_Type::army_controller_sub13: return RDF_Type::Struct; - case DF_Type::army_controller_sub13__T_anon_4: return RDF_Type::Compound; - case DF_Type::army_controller_sub14: return RDF_Type::Struct; - case DF_Type::army_controller_sub14__T_anon_4: return RDF_Type::Compound; - case DF_Type::army_controller_sub15: return RDF_Type::Struct; - case DF_Type::army_controller_sub15__T_anon_3: return RDF_Type::Compound; - case DF_Type::army_controller_sub16: return RDF_Type::Struct; - case DF_Type::army_controller_sub17: return RDF_Type::Struct; - case DF_Type::army_controller_sub18: return RDF_Type::Struct; - case DF_Type::army_controller_sub1: return RDF_Type::Struct; - case DF_Type::army_controller_sub2: return RDF_Type::Struct; - case DF_Type::army_controller_sub2__T_anon_5: return RDF_Type::Compound; - case DF_Type::army_controller_sub4: return RDF_Type::Struct; - case DF_Type::army_controller_sub4__T_unk_2: return RDF_Type::Bitfield; - case DF_Type::army_controller_sub5: return RDF_Type::Struct; - case DF_Type::army_controller_sub6: return RDF_Type::Struct; - case DF_Type::army_controller_sub7: return RDF_Type::Struct; - case DF_Type::army_controller_sub7__T_anon_3: return RDF_Type::Compound; - case DF_Type::army_flags: return RDF_Type::Enum; - case DF_Type::art_facet_type: return RDF_Type::Enum; - case DF_Type::art_image: return RDF_Type::Struct; - case DF_Type::art_image_chunk: return RDF_Type::Struct; - case DF_Type::art_image_element: return RDF_Type::Class; - case DF_Type::art_image_element_creaturest: return RDF_Type::Class; - case DF_Type::art_image_element_itemst: return RDF_Type::Class; - case DF_Type::art_image_element_plantst: return RDF_Type::Class; - case DF_Type::art_image_element_shapest: return RDF_Type::Class; - case DF_Type::art_image_element_treest: return RDF_Type::Class; - case DF_Type::art_image_element_type: return RDF_Type::Enum; - case DF_Type::art_image_property: return RDF_Type::Class; - case DF_Type::art_image_property_intransitive_verbst: return RDF_Type::Class; - case DF_Type::art_image_property_transitive_verbst: return RDF_Type::Class; - case DF_Type::art_image_property_type: return RDF_Type::Enum; - case DF_Type::art_image_property_verb: return RDF_Type::Enum; - case DF_Type::art_image_ref: return RDF_Type::Struct; - case DF_Type::artifact_record: return RDF_Type::Struct; - case DF_Type::assign_trade_status: return RDF_Type::Struct; - case DF_Type::assign_trade_status__T_status: return RDF_Type::Enum; - case DF_Type::assume_identity_mode: return RDF_Type::Enum; - case DF_Type::barrack_preference_category: return RDF_Type::Enum; - case DF_Type::belief_system: return RDF_Type::Struct; - case DF_Type::biome_type: return RDF_Type::Enum; - case DF_Type::block_burrow: return RDF_Type::Struct; - case DF_Type::block_burrow_link: return RDF_Type::Struct; - case DF_Type::block_flags: return RDF_Type::Bitfield; - case DF_Type::block_square_event: return RDF_Type::Class; - case DF_Type::block_square_event_designation_priorityst: return RDF_Type::Class; - case DF_Type::block_square_event_frozen_liquidst: return RDF_Type::Class; - case DF_Type::block_square_event_grassst: return RDF_Type::Class; - case DF_Type::block_square_event_item_spatterst: return RDF_Type::Class; - case DF_Type::block_square_event_material_spatterst: return RDF_Type::Class; - case DF_Type::block_square_event_mineralst: return RDF_Type::Class; - case DF_Type::block_square_event_mineralst__T_flags: return RDF_Type::Bitfield; - case DF_Type::block_square_event_spoorst: return RDF_Type::Class; - case DF_Type::block_square_event_type: return RDF_Type::Enum; - case DF_Type::block_square_event_world_constructionst: return RDF_Type::Class; - case DF_Type::body_appearance_modifier: return RDF_Type::Struct; - case DF_Type::body_component_info: return RDF_Type::Struct; - case DF_Type::body_detail_plan: return RDF_Type::Struct; - case DF_Type::body_layer_status: return RDF_Type::Bitfield; - case DF_Type::body_part_layer_flags: return RDF_Type::Enum; - case DF_Type::body_part_layer_raw: return RDF_Type::Struct; - case DF_Type::body_part_raw: return RDF_Type::Struct; - case DF_Type::body_part_raw_flags: return RDF_Type::Enum; - case DF_Type::body_part_status: return RDF_Type::Bitfield; - case DF_Type::body_part_template: return RDF_Type::Struct; - case DF_Type::body_part_template_contype: return RDF_Type::Enum; - case DF_Type::body_part_template_flags: return RDF_Type::Enum; - case DF_Type::body_size_info: return RDF_Type::Struct; - case DF_Type::body_template: return RDF_Type::Struct; - case DF_Type::bp_appearance_modifier: return RDF_Type::Struct; - case DF_Type::breath_attack_type: return RDF_Type::Enum; - case DF_Type::build_req_choice_genst: return RDF_Type::Class; - case DF_Type::build_req_choice_specst: return RDF_Type::Class; - case DF_Type::build_req_choice_type: return RDF_Type::Enum; - case DF_Type::build_req_choicest: return RDF_Type::Class; - case DF_Type::building: return RDF_Type::Class; - case DF_Type::building__T_activities: return RDF_Type::Compound; - case DF_Type::building__T_job_claim_suppress: return RDF_Type::Compound; - case DF_Type::building_actual: return RDF_Type::Class; - case DF_Type::building_actual__T_contained_items: return RDF_Type::Compound; - case DF_Type::building_animaltrapst: return RDF_Type::Class; - case DF_Type::building_archerytargetst: return RDF_Type::Class; - case DF_Type::building_archerytargetst__T_archery_direction: return RDF_Type::Enum; - case DF_Type::building_armorstandst: return RDF_Type::Class; - case DF_Type::building_axle_horizontalst: return RDF_Type::Class; - case DF_Type::building_axle_verticalst: return RDF_Type::Class; - case DF_Type::building_bars_floorst: return RDF_Type::Class; - case DF_Type::building_bars_verticalst: return RDF_Type::Class; - case DF_Type::building_bedst: return RDF_Type::Class; - case DF_Type::building_bedst__T_bed_flags: return RDF_Type::Bitfield; - case DF_Type::building_bookcasest: return RDF_Type::Class; - case DF_Type::building_boxst: return RDF_Type::Class; - case DF_Type::building_bridgest: return RDF_Type::Class; - case DF_Type::building_bridgest__T_direction: return RDF_Type::Enum; - case DF_Type::building_cabinetst: return RDF_Type::Class; - case DF_Type::building_cagest: return RDF_Type::Class; - case DF_Type::building_cagest__T_cage_flags: return RDF_Type::Bitfield; - case DF_Type::building_chainst: return RDF_Type::Class; - case DF_Type::building_chainst__T_chain_flags: return RDF_Type::Bitfield; - case DF_Type::building_chairst: return RDF_Type::Class; - case DF_Type::building_civzonest: return RDF_Type::Class; - case DF_Type::building_civzonest__T_gather_flags: return RDF_Type::Bitfield; - case DF_Type::building_civzonest__T_pit_flags: return RDF_Type::Bitfield; - case DF_Type::building_civzonest__T_zone_flags: return RDF_Type::Bitfield; - case DF_Type::building_coffinst: return RDF_Type::Class; - case DF_Type::building_coffinst__T_burial_mode: return RDF_Type::Bitfield; - case DF_Type::building_constructionst: return RDF_Type::Class; - case DF_Type::building_def: return RDF_Type::Class; - case DF_Type::building_def_furnacest: return RDF_Type::Class; - case DF_Type::building_def_item: return RDF_Type::Struct; - case DF_Type::building_def_workshopst: return RDF_Type::Class; - case DF_Type::building_design: return RDF_Type::Struct; - case DF_Type::building_design__T_flags: return RDF_Type::Bitfield; - case DF_Type::building_display_furniturest: return RDF_Type::Class; - case DF_Type::building_doorst: return RDF_Type::Class; - case DF_Type::building_drawbuffer: return RDF_Type::Struct; - case DF_Type::building_extents: return RDF_Type::Struct; - case DF_Type::building_farmplotst: return RDF_Type::Class; - case DF_Type::building_flags: return RDF_Type::Bitfield; - case DF_Type::building_floodgatest: return RDF_Type::Class; - case DF_Type::building_furnacest: return RDF_Type::Class; - case DF_Type::building_gear_assemblyst: return RDF_Type::Class; - case DF_Type::building_gear_assemblyst__T_gear_flags: return RDF_Type::Bitfield; - case DF_Type::building_grate_floorst: return RDF_Type::Class; - case DF_Type::building_grate_wallst: return RDF_Type::Class; - case DF_Type::building_handler: return RDF_Type::Class; - case DF_Type::building_hatchst: return RDF_Type::Class; - case DF_Type::building_hivest: return RDF_Type::Class; - case DF_Type::building_instrumentst: return RDF_Type::Class; - case DF_Type::building_nest_boxst: return RDF_Type::Class; - case DF_Type::building_nestst: return RDF_Type::Class; - case DF_Type::building_road_dirtst: return RDF_Type::Class; - case DF_Type::building_road_pavedst: return RDF_Type::Class; - case DF_Type::building_roadst: return RDF_Type::Class; - case DF_Type::building_rollersst: return RDF_Type::Class; - case DF_Type::building_screw_pumpst: return RDF_Type::Class; - case DF_Type::building_shopst: return RDF_Type::Class; - case DF_Type::building_shopst__T_shop_flags: return RDF_Type::Bitfield; - case DF_Type::building_siegeenginest: return RDF_Type::Class; - case DF_Type::building_siegeenginest__T_action: return RDF_Type::Enum; - case DF_Type::building_siegeenginest__T_facing: return RDF_Type::Enum; - case DF_Type::building_slabst: return RDF_Type::Class; - case DF_Type::building_squad_use: return RDF_Type::Struct; - case DF_Type::building_statuest: return RDF_Type::Class; - case DF_Type::building_stockpilest: return RDF_Type::Class; - case DF_Type::building_supportst: return RDF_Type::Class; - case DF_Type::building_supportst__T_support_flags: return RDF_Type::Bitfield; - case DF_Type::building_tablest: return RDF_Type::Class; - case DF_Type::building_tablest__T_table_flags: return RDF_Type::Bitfield; - case DF_Type::building_traction_benchst: return RDF_Type::Class; - case DF_Type::building_tradedepotst: return RDF_Type::Class; - case DF_Type::building_tradedepotst__T_trade_flags: return RDF_Type::Bitfield; - case DF_Type::building_trapst: return RDF_Type::Class; - case DF_Type::building_trapst__T_stop_flags: return RDF_Type::Bitfield; - case DF_Type::building_type: return RDF_Type::Enum; - case DF_Type::building_users: return RDF_Type::Struct; - case DF_Type::building_wagonst: return RDF_Type::Class; - case DF_Type::building_water_wheelst: return RDF_Type::Class; - case DF_Type::building_weaponrackst: return RDF_Type::Class; - case DF_Type::building_weaponst: return RDF_Type::Class; - case DF_Type::building_wellst: return RDF_Type::Class; - case DF_Type::building_wellst__T_well_flags: return RDF_Type::Bitfield; - case DF_Type::building_windmillst: return RDF_Type::Class; - case DF_Type::building_window_gemst: return RDF_Type::Class; - case DF_Type::building_window_glassst: return RDF_Type::Class; - case DF_Type::building_windowst: return RDF_Type::Class; - case DF_Type::building_workshopst: return RDF_Type::Class; - case DF_Type::buildings_other_id: return RDF_Type::Enum; - case DF_Type::builtin_mats: return RDF_Type::Enum; - case DF_Type::burrow: return RDF_Type::Struct; - case DF_Type::campfire: return RDF_Type::Struct; - case DF_Type::caravan_state: return RDF_Type::Struct; - case DF_Type::caravan_state__T_flags: return RDF_Type::Bitfield; - case DF_Type::caravan_state__T_trade_state: return RDF_Type::Enum; - case DF_Type::caste_attack: return RDF_Type::Struct; - case DF_Type::caste_attack__T_flags: return RDF_Type::Bitfield; - case DF_Type::caste_body_info: return RDF_Type::Struct; - case DF_Type::caste_body_info__T_extra_butcher_objects: return RDF_Type::Compound; - case DF_Type::caste_body_info__T_flags: return RDF_Type::Bitfield; - case DF_Type::caste_body_info__T_interactions: return RDF_Type::Compound; - case DF_Type::caste_body_info__T_interactions__T_type: return RDF_Type::Enum; - case DF_Type::caste_clothing_item: return RDF_Type::Struct; - case DF_Type::caste_raw: return RDF_Type::Struct; - case DF_Type::caste_raw__T_attributes: return RDF_Type::Compound; - case DF_Type::caste_raw__T_bp_appearance: return RDF_Type::Compound; - case DF_Type::caste_raw__T_caste_profession_name: return RDF_Type::Compound; - case DF_Type::caste_raw__T_extracts: return RDF_Type::Compound; - case DF_Type::caste_raw__T_misc: return RDF_Type::Compound; - case DF_Type::caste_raw__T_personality: return RDF_Type::Compound; - case DF_Type::caste_raw__T_secretion: return RDF_Type::Compound; - case DF_Type::caste_raw__T_shearable_tissue_layer: return RDF_Type::Compound; - case DF_Type::caste_raw__T_unknown2: return RDF_Type::Compound; - case DF_Type::caste_raw_flags: return RDF_Type::Enum; - case DF_Type::cave_column: return RDF_Type::Class; - case DF_Type::cave_column_link: return RDF_Type::Struct; - case DF_Type::cave_column_rectangle: return RDF_Type::Class; - case DF_Type::cie_add_tag_mask1: return RDF_Type::Bitfield; - case DF_Type::cie_add_tag_mask2: return RDF_Type::Bitfield; - case DF_Type::civzone_type: return RDF_Type::Enum; - case DF_Type::coin_batch: return RDF_Type::Struct; - case DF_Type::coin_batch__T_image_back: return RDF_Type::Compound; - case DF_Type::coin_batch__T_image_front: return RDF_Type::Compound; - case DF_Type::color_modifier_raw: return RDF_Type::Struct; - case DF_Type::combat_report_event_type: return RDF_Type::Enum; - case DF_Type::conflict_level: return RDF_Type::Enum; - case DF_Type::construction: return RDF_Type::Struct; - case DF_Type::construction_flags: return RDF_Type::Bitfield; - case DF_Type::construction_type: return RDF_Type::Enum; - case DF_Type::conversation: return RDF_Type::Struct; - case DF_Type::conversation__T_speech: return RDF_Type::Compound; - case DF_Type::conversation__T_state: return RDF_Type::Enum; - case DF_Type::conversation_menu: return RDF_Type::Enum; - case DF_Type::coord2d: return RDF_Type::Struct; - case DF_Type::coord2d_path: return RDF_Type::Struct; - case DF_Type::coord: return RDF_Type::Struct; - case DF_Type::coord_path: return RDF_Type::Struct; - case DF_Type::coord_rect: return RDF_Type::Struct; - case DF_Type::corpse_material_type: return RDF_Type::Enum; - case DF_Type::craft_material_class: return RDF_Type::Enum; - case DF_Type::creation_zone_pwg_alteration_campst: return RDF_Type::Class; - case DF_Type::creation_zone_pwg_alteration_location_deathst: return RDF_Type::Class; - case DF_Type::creation_zone_pwg_alteration_location_deathst__T_unk_1: return RDF_Type::Compound; - case DF_Type::creation_zone_pwg_alteration_location_deathst__T_unk_1__T_anon_1: return RDF_Type::Compound; - case DF_Type::creation_zone_pwg_alteration_srb_ruinedst: return RDF_Type::Class; - case DF_Type::creation_zone_pwg_alteration_srp_ruinedst: return RDF_Type::Class; - case DF_Type::creation_zone_pwg_alteration_type: return RDF_Type::Enum; - case DF_Type::creation_zone_pwg_alterationst: return RDF_Type::Class; - case DF_Type::creature_graphics_appointment: return RDF_Type::Struct; - case DF_Type::creature_graphics_role: return RDF_Type::Enum; - case DF_Type::creature_handler: return RDF_Type::Class; - case DF_Type::creature_interaction: return RDF_Type::Struct; - case DF_Type::creature_interaction__T_flags: return RDF_Type::Bitfield; - case DF_Type::creature_interaction_effect: return RDF_Type::Class; - case DF_Type::creature_interaction_effect__T_counter_trigger: return RDF_Type::Compound; - case DF_Type::creature_interaction_effect_add_simple_flagst: return RDF_Type::Class; - case DF_Type::creature_interaction_effect_bleedingst: return RDF_Type::Class; - case DF_Type::creature_interaction_effect_blistersst: return RDF_Type::Class; - case DF_Type::creature_interaction_effect_body_appearance_modifierst: return RDF_Type::Class; - case DF_Type::creature_interaction_effect_body_mat_interactionst: return RDF_Type::Class; - case DF_Type::creature_interaction_effect_body_transformationst: return RDF_Type::Class; - case DF_Type::creature_interaction_effect_bp_appearance_modifierst: return RDF_Type::Class; - case DF_Type::creature_interaction_effect_bruisingst: return RDF_Type::Class; - case DF_Type::creature_interaction_effect_can_do_interactionst: return RDF_Type::Class; - case DF_Type::creature_interaction_effect_change_personalityst: return RDF_Type::Class; - case DF_Type::creature_interaction_effect_cough_bloodst: return RDF_Type::Class; - case DF_Type::creature_interaction_effect_display_namest: return RDF_Type::Class; - case DF_Type::creature_interaction_effect_display_symbolst: return RDF_Type::Class; - case DF_Type::creature_interaction_effect_dizzinessst: return RDF_Type::Class; - case DF_Type::creature_interaction_effect_drowsinessst: return RDF_Type::Class; - case DF_Type::creature_interaction_effect_erratic_behaviorst: return RDF_Type::Class; - case DF_Type::creature_interaction_effect_feel_emotionst: return RDF_Type::Class; - case DF_Type::creature_interaction_effect_feverst: return RDF_Type::Class; - case DF_Type::creature_interaction_effect_flags: return RDF_Type::Bitfield; - case DF_Type::creature_interaction_effect_flash_symbolst: return RDF_Type::Class; - case DF_Type::creature_interaction_effect_impair_functionst: return RDF_Type::Class; - case DF_Type::creature_interaction_effect_material_force_adjustst: return RDF_Type::Class; - case DF_Type::creature_interaction_effect_ment_att_changest: return RDF_Type::Class; - case DF_Type::creature_interaction_effect_nauseast: return RDF_Type::Class; - case DF_Type::creature_interaction_effect_necrosisst: return RDF_Type::Class; - case DF_Type::creature_interaction_effect_numbnessst: return RDF_Type::Class; - case DF_Type::creature_interaction_effect_oozingst: return RDF_Type::Class; - case DF_Type::creature_interaction_effect_painst: return RDF_Type::Class; - case DF_Type::creature_interaction_effect_paralysisst: return RDF_Type::Class; - case DF_Type::creature_interaction_effect_phys_att_changest: return RDF_Type::Class; - case DF_Type::creature_interaction_effect_remove_simple_flagst: return RDF_Type::Class; - case DF_Type::creature_interaction_effect_sense_creature_classst: return RDF_Type::Class; - case DF_Type::creature_interaction_effect_skill_roll_adjustst: return RDF_Type::Class; - case DF_Type::creature_interaction_effect_speed_changest: return RDF_Type::Class; - case DF_Type::creature_interaction_effect_swellingst: return RDF_Type::Class; - case DF_Type::creature_interaction_effect_target: return RDF_Type::Struct; - case DF_Type::creature_interaction_effect_target_mode: return RDF_Type::Enum; - case DF_Type::creature_interaction_effect_type: return RDF_Type::Enum; - case DF_Type::creature_interaction_effect_unconsciousnessst: return RDF_Type::Class; - case DF_Type::creature_interaction_effect_vomit_bloodst: return RDF_Type::Class; - case DF_Type::creature_interaction_target_flags: return RDF_Type::Bitfield; - case DF_Type::creature_raw: return RDF_Type::Struct; - case DF_Type::creature_raw__T_graphics: return RDF_Type::Compound; - case DF_Type::creature_raw__T_hive_product: return RDF_Type::Compound; - case DF_Type::creature_raw__T_profession_name: return RDF_Type::Compound; - case DF_Type::creature_raw_flags: return RDF_Type::Enum; - case DF_Type::creature_variation: return RDF_Type::Struct; - case DF_Type::creature_variation_convert_tag: return RDF_Type::Struct; - case DF_Type::crime: return RDF_Type::Struct; - case DF_Type::crime__T_flags: return RDF_Type::Bitfield; - case DF_Type::crime__T_mode: return RDF_Type::Enum; - case DF_Type::crime__T_punishment: return RDF_Type::Compound; - case DF_Type::crime__T_reports: return RDF_Type::Compound; - case DF_Type::cultural_identity: return RDF_Type::Struct; - case DF_Type::cultural_identity__T_group_log: return RDF_Type::Compound; - case DF_Type::cultural_identity__T_group_log__T_join_type: return RDF_Type::Enum; - case DF_Type::cumulus_type: return RDF_Type::Enum; - case DF_Type::curse_attr_change: return RDF_Type::Struct; - case DF_Type::d_init: return RDF_Type::Struct; - case DF_Type::d_init__T_store_dist: return RDF_Type::Compound; - case DF_Type::d_init__T_wound_color: return RDF_Type::Compound; - case DF_Type::d_init_embark_confirm: return RDF_Type::Enum; - case DF_Type::d_init_flags1: return RDF_Type::Enum; - case DF_Type::d_init_flags2: return RDF_Type::Enum; - case DF_Type::d_init_flags3: return RDF_Type::Enum; - case DF_Type::d_init_flags4: return RDF_Type::Enum; - case DF_Type::d_init_idlers: return RDF_Type::Enum; - case DF_Type::d_init_nickname: return RDF_Type::Enum; - case DF_Type::d_init_tunnel: return RDF_Type::Enum; - case DF_Type::d_init_z_view: return RDF_Type::Enum; - case DF_Type::dance_form: return RDF_Type::Struct; - case DF_Type::dance_form_sub1: return RDF_Type::Struct; - case DF_Type::dance_form_sub2: return RDF_Type::Struct; - case DF_Type::death_type: return RDF_Type::Enum; - case DF_Type::deep_vein_hollow: return RDF_Type::Struct; - case DF_Type::descriptor_color: return RDF_Type::Struct; - case DF_Type::descriptor_pattern: return RDF_Type::Struct; - case DF_Type::descriptor_shape: return RDF_Type::Struct; - case DF_Type::descriptor_shape__T_gems_use: return RDF_Type::Bitfield; - case DF_Type::dfhack_knowledge_scholar_flag: return RDF_Type::Enum; - case DF_Type::dfhack_material_category: return RDF_Type::Bitfield; - case DF_Type::dfhack_room_quality_level: return RDF_Type::Enum; - case DF_Type::dipscript_info: return RDF_Type::Struct; - case DF_Type::dipscript_popup: return RDF_Type::Struct; - case DF_Type::dipscript_popup__T_flags: return RDF_Type::Bitfield; - case DF_Type::door_flags: return RDF_Type::Bitfield; - case DF_Type::dye_info: return RDF_Type::Struct; - case DF_Type::effect_info: return RDF_Type::Struct; - case DF_Type::embark_finder_option: return RDF_Type::Enum; - case DF_Type::embark_item_choice: return RDF_Type::Struct; - case DF_Type::embark_item_choice__T_list: return RDF_Type::Compound; - case DF_Type::embark_location: return RDF_Type::Struct; - case DF_Type::embark_note: return RDF_Type::Struct; - case DF_Type::embark_profile: return RDF_Type::Struct; - case DF_Type::emotion_type: return RDF_Type::Enum; - case DF_Type::engraving: return RDF_Type::Struct; - case DF_Type::engraving_flags: return RDF_Type::Bitfield; - case DF_Type::entity_action_type: return RDF_Type::Enum; - case DF_Type::entity_activity_statistics: return RDF_Type::Struct; - case DF_Type::entity_activity_statistics__T_food: return RDF_Type::Compound; - case DF_Type::entity_activity_statistics__T_found_misc: return RDF_Type::Bitfield; - case DF_Type::entity_activity_statistics__T_wealth: return RDF_Type::Compound; - case DF_Type::entity_animal_raw: return RDF_Type::Struct; - case DF_Type::entity_animal_raw__T_flags: return RDF_Type::Bitfield; - case DF_Type::entity_buy_prices: return RDF_Type::Struct; - case DF_Type::entity_buy_requests: return RDF_Type::Struct; - case DF_Type::entity_claim_mask: return RDF_Type::Struct; - case DF_Type::entity_claim_mask__T_map: return RDF_Type::Compound; - case DF_Type::entity_entity_link: return RDF_Type::Struct; - case DF_Type::entity_entity_link_type: return RDF_Type::Enum; - case DF_Type::entity_event: return RDF_Type::Struct; - case DF_Type::entity_event__T_data: return RDF_Type::Union; - case DF_Type::entity_event__T_data__T_abandon: return RDF_Type::Compound; - case DF_Type::entity_event__T_data__T_abduction: return RDF_Type::Compound; - case DF_Type::entity_event__T_data__T_accept_peace_offer: return RDF_Type::Compound; - case DF_Type::entity_event__T_data__T_accept_tribute_demand: return RDF_Type::Compound; - case DF_Type::entity_event__T_data__T_accept_tribute_offer: return RDF_Type::Compound; - case DF_Type::entity_event__T_data__T_artifact_destroyed: return RDF_Type::Compound; - case DF_Type::entity_event__T_data__T_artifact_in_feature_layer: return RDF_Type::Compound; - case DF_Type::entity_event__T_data__T_artifact_in_inventory: return RDF_Type::Compound; - case DF_Type::entity_event__T_data__T_artifact_in_site: return RDF_Type::Compound; - case DF_Type::entity_event__T_data__T_artifact_in_subregion: return RDF_Type::Compound; - case DF_Type::entity_event__T_data__T_artifact_not_in_feature_layer: return RDF_Type::Compound; - case DF_Type::entity_event__T_data__T_artifact_not_in_inventory: return RDF_Type::Compound; - case DF_Type::entity_event__T_data__T_artifact_not_in_site: return RDF_Type::Compound; - case DF_Type::entity_event__T_data__T_artifact_not_in_subregion: return RDF_Type::Compound; - case DF_Type::entity_event__T_data__T_beast: return RDF_Type::Compound; - case DF_Type::entity_event__T_data__T_cease_tribute_offer: return RDF_Type::Compound; - case DF_Type::entity_event__T_data__T_claim: return RDF_Type::Compound; - case DF_Type::entity_event__T_data__T_flee: return RDF_Type::Compound; - case DF_Type::entity_event__T_data__T_founded: return RDF_Type::Compound; - case DF_Type::entity_event__T_data__T_founding: return RDF_Type::Compound; - case DF_Type::entity_event__T_data__T_group: return RDF_Type::Compound; - case DF_Type::entity_event__T_data__T_harass: return RDF_Type::Compound; - case DF_Type::entity_event__T_data__T_incident: return RDF_Type::Compound; - case DF_Type::entity_event__T_data__T_insurrection: return RDF_Type::Compound; - case DF_Type::entity_event__T_data__T_insurrection_end: return RDF_Type::Compound; - case DF_Type::entity_event__T_data__T_insurrection_end__T_result: return RDF_Type::Enum; - case DF_Type::entity_event__T_data__T_invasion: return RDF_Type::Compound; - case DF_Type::entity_event__T_data__T_leave: return RDF_Type::Compound; - case DF_Type::entity_event__T_data__T_occupation: return RDF_Type::Compound; - case DF_Type::entity_event__T_data__T_reclaimed: return RDF_Type::Compound; - case DF_Type::entity_event__T_data__T_reclaiming: return RDF_Type::Compound; - case DF_Type::entity_event__T_data__T_refuse_peace_offer: return RDF_Type::Compound; - case DF_Type::entity_event__T_data__T_refuse_tribute_demand: return RDF_Type::Compound; - case DF_Type::entity_event__T_data__T_refuse_tribute_offer: return RDF_Type::Compound; - case DF_Type::entity_event__T_data__T_succession: return RDF_Type::Compound; - case DF_Type::entity_event_type: return RDF_Type::Enum; - case DF_Type::entity_material_category: return RDF_Type::Enum; - case DF_Type::entity_name_type: return RDF_Type::Enum; - case DF_Type::entity_occasion: return RDF_Type::Struct; - case DF_Type::entity_occasion_info: return RDF_Type::Struct; - case DF_Type::entity_occasion_schedule: return RDF_Type::Struct; - case DF_Type::entity_occasion_schedule_feature: return RDF_Type::Struct; - case DF_Type::entity_population: return RDF_Type::Struct; - case DF_Type::entity_population_unk4: return RDF_Type::Struct; - case DF_Type::entity_population_unk4__T_anon_1: return RDF_Type::Compound; - case DF_Type::entity_population_unk4__T_anon_3: return RDF_Type::Compound; - case DF_Type::entity_position: return RDF_Type::Struct; - case DF_Type::entity_position_assignment: return RDF_Type::Struct; - case DF_Type::entity_position_flags: return RDF_Type::Enum; - case DF_Type::entity_position_raw: return RDF_Type::Struct; - case DF_Type::entity_position_raw_flags: return RDF_Type::Enum; - case DF_Type::entity_position_responsibility: return RDF_Type::Enum; - case DF_Type::entity_raw: return RDF_Type::Struct; - case DF_Type::entity_raw__T_equipment: return RDF_Type::Compound; - case DF_Type::entity_raw__T_jobs: return RDF_Type::Compound; - case DF_Type::entity_raw__T_land_holder_trigger: return RDF_Type::Compound; - case DF_Type::entity_raw__T_progress_trigger: return RDF_Type::Compound; - case DF_Type::entity_raw__T_scholar: return RDF_Type::Bitfield; - case DF_Type::entity_raw__T_symbols: return RDF_Type::Compound; - case DF_Type::entity_raw__T_tissue_styles: return RDF_Type::Compound; - case DF_Type::entity_raw__T_workshops: return RDF_Type::Compound; - case DF_Type::entity_raw_flags: return RDF_Type::Enum; - case DF_Type::entity_recipe: return RDF_Type::Struct; - case DF_Type::entity_sell_category: return RDF_Type::Enum; - case DF_Type::entity_sell_prices: return RDF_Type::Struct; - case DF_Type::entity_sell_requests: return RDF_Type::Struct; - case DF_Type::entity_site_link: return RDF_Type::Struct; - case DF_Type::entity_site_link__T_anon_8: return RDF_Type::Compound; - case DF_Type::entity_site_link__T_flags: return RDF_Type::Bitfield; - case DF_Type::entity_tissue_style: return RDF_Type::Struct; - case DF_Type::entity_uniform: return RDF_Type::Struct; - case DF_Type::entity_uniform_item: return RDF_Type::Struct; - case DF_Type::environment_type: return RDF_Type::Enum; - case DF_Type::era_type: return RDF_Type::Enum; - case DF_Type::ethic_response: return RDF_Type::Enum; - case DF_Type::ethic_type: return RDF_Type::Enum; - case DF_Type::feature: return RDF_Type::Class; - case DF_Type::feature_alteration: return RDF_Type::Class; - case DF_Type::feature_alteration_new_lava_fill_zst: return RDF_Type::Class; - case DF_Type::feature_alteration_new_pop_maxst: return RDF_Type::Class; - case DF_Type::feature_alteration_type: return RDF_Type::Enum; - case DF_Type::feature_cavest: return RDF_Type::Class; - case DF_Type::feature_deep_special_tubest: return RDF_Type::Class; - case DF_Type::feature_deep_surface_portalst: return RDF_Type::Class; - case DF_Type::feature_init: return RDF_Type::Class; - case DF_Type::feature_init_cavest: return RDF_Type::Class; - case DF_Type::feature_init_deep_special_tubest: return RDF_Type::Class; - case DF_Type::feature_init_deep_surface_portalst: return RDF_Type::Class; - case DF_Type::feature_init_flags: return RDF_Type::Enum; - case DF_Type::feature_init_magma_core_from_layerst: return RDF_Type::Class; - case DF_Type::feature_init_magma_poolst: return RDF_Type::Class; - case DF_Type::feature_init_outdoor_riverst: return RDF_Type::Class; - case DF_Type::feature_init_pitst: return RDF_Type::Class; - case DF_Type::feature_init_subterranean_from_layerst: return RDF_Type::Class; - case DF_Type::feature_init_underworld_from_layerst: return RDF_Type::Class; - case DF_Type::feature_init_volcanost: return RDF_Type::Class; - case DF_Type::feature_magma_core_from_layerst: return RDF_Type::Class; - case DF_Type::feature_magma_poolst: return RDF_Type::Class; - case DF_Type::feature_outdoor_riverst: return RDF_Type::Class; - case DF_Type::feature_pitst: return RDF_Type::Class; - case DF_Type::feature_subterranean_from_layerst: return RDF_Type::Class; - case DF_Type::feature_type: return RDF_Type::Enum; - case DF_Type::feature_underworld_from_layerst: return RDF_Type::Class; - case DF_Type::feature_volcanost: return RDF_Type::Class; - case DF_Type::file_compressorst: return RDF_Type::Struct; - case DF_Type::fire: return RDF_Type::Struct; - case DF_Type::flow_guide: return RDF_Type::Class; - case DF_Type::flow_guide_item_cloudst: return RDF_Type::Class; - case DF_Type::flow_guide_trailing_flowst: return RDF_Type::Class; - case DF_Type::flow_guide_type: return RDF_Type::Enum; - case DF_Type::flow_info: return RDF_Type::Struct; - case DF_Type::flow_reuse_pool: return RDF_Type::Struct; - case DF_Type::flow_reuse_pool__T_flags: return RDF_Type::Bitfield; - case DF_Type::flow_type: return RDF_Type::Enum; - case DF_Type::fog_type: return RDF_Type::Enum; - case DF_Type::front_type: return RDF_Type::Enum; - case DF_Type::furnace_type: return RDF_Type::Enum; - case DF_Type::furniture_type: return RDF_Type::Enum; - case DF_Type::gait_info: return RDF_Type::Struct; - case DF_Type::gait_info__T_flags: return RDF_Type::Bitfield; - case DF_Type::gait_type: return RDF_Type::Enum; - case DF_Type::game_mode: return RDF_Type::Enum; - case DF_Type::game_type: return RDF_Type::Enum; - case DF_Type::gate_flags: return RDF_Type::Bitfield; - case DF_Type::general_ref: return RDF_Type::Class; - case DF_Type::general_ref_abstract_buildingst: return RDF_Type::Class; - case DF_Type::general_ref_activity_eventst: return RDF_Type::Class; - case DF_Type::general_ref_artifact: return RDF_Type::Class; - case DF_Type::general_ref_building: return RDF_Type::Class; - case DF_Type::general_ref_building_cagedst: return RDF_Type::Class; - case DF_Type::general_ref_building_chainst: return RDF_Type::Class; - case DF_Type::general_ref_building_civzone_assignedst: return RDF_Type::Class; - case DF_Type::general_ref_building_destinationst: return RDF_Type::Class; - case DF_Type::general_ref_building_display_furniturest: return RDF_Type::Class; - case DF_Type::general_ref_building_holderst: return RDF_Type::Class; - case DF_Type::general_ref_building_nest_boxst: return RDF_Type::Class; - case DF_Type::general_ref_building_triggerst: return RDF_Type::Class; - case DF_Type::general_ref_building_triggertargetst: return RDF_Type::Class; - case DF_Type::general_ref_building_use_target_1st: return RDF_Type::Class; - case DF_Type::general_ref_building_use_target_2st: return RDF_Type::Class; - case DF_Type::general_ref_building_well_tag: return RDF_Type::Class; - case DF_Type::general_ref_coinbatch: return RDF_Type::Class; - case DF_Type::general_ref_contained_in_itemst: return RDF_Type::Class; - case DF_Type::general_ref_contains_itemst: return RDF_Type::Class; - case DF_Type::general_ref_contains_unitst: return RDF_Type::Class; - case DF_Type::general_ref_creaturest: return RDF_Type::Class; - case DF_Type::general_ref_creaturest__T_flags: return RDF_Type::Bitfield; - case DF_Type::general_ref_dance_formst: return RDF_Type::Class; - case DF_Type::general_ref_entity: return RDF_Type::Class; - case DF_Type::general_ref_entity_art_image: return RDF_Type::Class; - case DF_Type::general_ref_entity_itemownerst: return RDF_Type::Class; - case DF_Type::general_ref_entity_offeredst: return RDF_Type::Class; - case DF_Type::general_ref_entity_popst: return RDF_Type::Class; - case DF_Type::general_ref_entity_popst__T_flags: return RDF_Type::Bitfield; - case DF_Type::general_ref_entity_stolenst: return RDF_Type::Class; - case DF_Type::general_ref_feature_layerst: return RDF_Type::Class; - case DF_Type::general_ref_historical_eventst: return RDF_Type::Class; - case DF_Type::general_ref_historical_figurest: return RDF_Type::Class; - case DF_Type::general_ref_interactionst: return RDF_Type::Class; - case DF_Type::general_ref_is_artifactst: return RDF_Type::Class; - case DF_Type::general_ref_is_nemesisst: return RDF_Type::Class; - case DF_Type::general_ref_item: return RDF_Type::Class; - case DF_Type::general_ref_item_type: return RDF_Type::Class; - case DF_Type::general_ref_knowledge_scholar_flagst: return RDF_Type::Class; - case DF_Type::general_ref_languagest: return RDF_Type::Class; - case DF_Type::general_ref_locationst: return RDF_Type::Class; - case DF_Type::general_ref_mapsquare: return RDF_Type::Class; - case DF_Type::general_ref_musical_formst: return RDF_Type::Class; - case DF_Type::general_ref_nemesis: return RDF_Type::Class; - case DF_Type::general_ref_poetic_formst: return RDF_Type::Class; - case DF_Type::general_ref_projectile: return RDF_Type::Class; - case DF_Type::general_ref_sitest: return RDF_Type::Class; - case DF_Type::general_ref_spherest: return RDF_Type::Class; - case DF_Type::general_ref_subregionst: return RDF_Type::Class; - case DF_Type::general_ref_type: return RDF_Type::Enum; - case DF_Type::general_ref_unit: return RDF_Type::Class; - case DF_Type::general_ref_unit_beateest: return RDF_Type::Class; - case DF_Type::general_ref_unit_cageest: return RDF_Type::Class; - case DF_Type::general_ref_unit_climberst: return RDF_Type::Class; - case DF_Type::general_ref_unit_foodreceiverst: return RDF_Type::Class; - case DF_Type::general_ref_unit_geldeest: return RDF_Type::Class; - case DF_Type::general_ref_unit_holderst: return RDF_Type::Class; - case DF_Type::general_ref_unit_infantst: return RDF_Type::Class; - case DF_Type::general_ref_unit_itemownerst: return RDF_Type::Class; - case DF_Type::general_ref_unit_itemownerst__T_flags: return RDF_Type::Bitfield; - case DF_Type::general_ref_unit_kidnapeest: return RDF_Type::Class; - case DF_Type::general_ref_unit_milkeest: return RDF_Type::Class; - case DF_Type::general_ref_unit_patientst: return RDF_Type::Class; - case DF_Type::general_ref_unit_reporteest: return RDF_Type::Class; - case DF_Type::general_ref_unit_riderst: return RDF_Type::Class; - case DF_Type::general_ref_unit_sheareest: return RDF_Type::Class; - case DF_Type::general_ref_unit_slaughtereest: return RDF_Type::Class; - case DF_Type::general_ref_unit_suckeest: return RDF_Type::Class; - case DF_Type::general_ref_unit_tradebringerst: return RDF_Type::Class; - case DF_Type::general_ref_unit_traineest: return RDF_Type::Class; - case DF_Type::general_ref_unit_workerst: return RDF_Type::Class; - case DF_Type::general_ref_value_levelst: return RDF_Type::Class; - case DF_Type::general_ref_written_contentst: return RDF_Type::Class; - case DF_Type::geo_layer_type: return RDF_Type::Enum; - case DF_Type::ghost_goal: return RDF_Type::Enum; - case DF_Type::ghost_type: return RDF_Type::Enum; - case DF_Type::gloves_flags: return RDF_Type::Enum; - case DF_Type::glowing_barrier: return RDF_Type::Struct; - case DF_Type::goal_type: return RDF_Type::Enum; - case DF_Type::graphic: return RDF_Type::Struct; - case DF_Type::guild_id: return RDF_Type::Enum; - case DF_Type::hauler_type: return RDF_Type::Enum; - case DF_Type::hauling_route: return RDF_Type::Struct; - case DF_Type::hauling_stop: return RDF_Type::Struct; - case DF_Type::health_view_bits1: return RDF_Type::Bitfield; - case DF_Type::health_view_bits2: return RDF_Type::Bitfield; - case DF_Type::health_view_bits3: return RDF_Type::Bitfield; - case DF_Type::helm_flags: return RDF_Type::Enum; - case DF_Type::hillock_house_type: return RDF_Type::Enum; - case DF_Type::histfig_body_state: return RDF_Type::Enum; - case DF_Type::histfig_entity_link: return RDF_Type::Class; - case DF_Type::histfig_entity_link_criminalst: return RDF_Type::Class; - case DF_Type::histfig_entity_link_enemyst: return RDF_Type::Class; - case DF_Type::histfig_entity_link_former_memberst: return RDF_Type::Class; - case DF_Type::histfig_entity_link_former_mercenaryst: return RDF_Type::Class; - case DF_Type::histfig_entity_link_former_occupationst: return RDF_Type::Class; - case DF_Type::histfig_entity_link_former_positionst: return RDF_Type::Class; - case DF_Type::histfig_entity_link_former_prisonerst: return RDF_Type::Class; - case DF_Type::histfig_entity_link_former_slavest: return RDF_Type::Class; - case DF_Type::histfig_entity_link_former_squadst: return RDF_Type::Class; - case DF_Type::histfig_entity_link_memberst: return RDF_Type::Class; - case DF_Type::histfig_entity_link_mercenaryst: return RDF_Type::Class; - case DF_Type::histfig_entity_link_occupationst: return RDF_Type::Class; - case DF_Type::histfig_entity_link_position_claimst: return RDF_Type::Class; - case DF_Type::histfig_entity_link_positionst: return RDF_Type::Class; - case DF_Type::histfig_entity_link_prisonerst: return RDF_Type::Class; - case DF_Type::histfig_entity_link_slavest: return RDF_Type::Class; - case DF_Type::histfig_entity_link_squadst: return RDF_Type::Class; - case DF_Type::histfig_entity_link_type: return RDF_Type::Enum; - case DF_Type::histfig_flags: return RDF_Type::Enum; - case DF_Type::histfig_hf_link: return RDF_Type::Class; - case DF_Type::histfig_hf_link_apprenticest: return RDF_Type::Class; - case DF_Type::histfig_hf_link_childst: return RDF_Type::Class; - case DF_Type::histfig_hf_link_companionst: return RDF_Type::Class; - case DF_Type::histfig_hf_link_deityst: return RDF_Type::Class; - case DF_Type::histfig_hf_link_fatherst: return RDF_Type::Class; - case DF_Type::histfig_hf_link_former_apprenticest: return RDF_Type::Class; - case DF_Type::histfig_hf_link_former_masterst: return RDF_Type::Class; - case DF_Type::histfig_hf_link_imprisonerst: return RDF_Type::Class; - case DF_Type::histfig_hf_link_loverst: return RDF_Type::Class; - case DF_Type::histfig_hf_link_masterst: return RDF_Type::Class; - case DF_Type::histfig_hf_link_motherst: return RDF_Type::Class; - case DF_Type::histfig_hf_link_pet_ownerst: return RDF_Type::Class; - case DF_Type::histfig_hf_link_prisonerst: return RDF_Type::Class; - case DF_Type::histfig_hf_link_spousest: return RDF_Type::Class; - case DF_Type::histfig_hf_link_type: return RDF_Type::Enum; - case DF_Type::histfig_relationship_type: return RDF_Type::Enum; - case DF_Type::histfig_site_link: return RDF_Type::Class; - case DF_Type::histfig_site_link_hangoutst: return RDF_Type::Class; - case DF_Type::histfig_site_link_home_site_abstract_buildingst: return RDF_Type::Class; - case DF_Type::histfig_site_link_home_site_realization_buildingst: return RDF_Type::Class; - case DF_Type::histfig_site_link_home_site_realization_sulst: return RDF_Type::Class; - case DF_Type::histfig_site_link_home_site_saved_civzonest: return RDF_Type::Class; - case DF_Type::histfig_site_link_lairst: return RDF_Type::Class; - case DF_Type::histfig_site_link_occupationst: return RDF_Type::Class; - case DF_Type::histfig_site_link_seat_of_powerst: return RDF_Type::Class; - case DF_Type::histfig_site_link_type: return RDF_Type::Enum; - case DF_Type::historical_entity: return RDF_Type::Struct; - case DF_Type::historical_entity__T_claims: return RDF_Type::Compound; - case DF_Type::historical_entity__T_derived_resources: return RDF_Type::Compound; - case DF_Type::historical_entity__T_flags: return RDF_Type::Bitfield; - case DF_Type::historical_entity__T_positions: return RDF_Type::Compound; - case DF_Type::historical_entity__T_resources: return RDF_Type::Compound; - case DF_Type::historical_entity__T_resources__T_animals: return RDF_Type::Compound; - case DF_Type::historical_entity__T_resources__T_metal: return RDF_Type::Compound; - case DF_Type::historical_entity__T_resources__T_misc_mat: return RDF_Type::Compound; - case DF_Type::historical_entity__T_resources__T_organic: return RDF_Type::Compound; - case DF_Type::historical_entity__T_resources__T_refuse: return RDF_Type::Compound; - case DF_Type::historical_entity__T_resources__T_unk13: return RDF_Type::Compound; - case DF_Type::historical_entity__T_resources__T_wood_products: return RDF_Type::Compound; - case DF_Type::historical_entity__T_tissue_styles: return RDF_Type::Compound; - case DF_Type::historical_entity__T_training_knowledge: return RDF_Type::Compound; - case DF_Type::historical_entity__T_unknown1b: return RDF_Type::Compound; - case DF_Type::historical_entity__T_unknown1b__T_diplomacy: return RDF_Type::Compound; - case DF_Type::historical_entity__T_unknown1b__T_unk32e: return RDF_Type::Compound; - case DF_Type::historical_entity__T_unknown1d: return RDF_Type::Compound; - case DF_Type::historical_entity__T_unknown1e: return RDF_Type::Compound; - case DF_Type::historical_entity__T_unknown2: return RDF_Type::Compound; - case DF_Type::historical_entity_type: return RDF_Type::Enum; - case DF_Type::historical_figure: return RDF_Type::Struct; - case DF_Type::historical_figure__T_unk_fc: return RDF_Type::Compound; - case DF_Type::historical_figure_info: return RDF_Type::Struct; - case DF_Type::historical_figure_info__T_books: return RDF_Type::Compound; - case DF_Type::historical_figure_info__T_curse: return RDF_Type::Compound; - case DF_Type::historical_figure_info__T_masterpieces: return RDF_Type::Compound; - case DF_Type::historical_figure_info__T_personality: return RDF_Type::Compound; - case DF_Type::historical_figure_info__T_relationships: return RDF_Type::Compound; - case DF_Type::historical_figure_info__T_relationships__T_anon_1: return RDF_Type::Compound; - case DF_Type::historical_figure_info__T_relationships__T_anon_2: return RDF_Type::Compound; - case DF_Type::historical_figure_info__T_relationships__T_anon_3: return RDF_Type::Compound; - case DF_Type::historical_figure_info__T_relationships__T_list: return RDF_Type::Compound; - case DF_Type::historical_figure_info__T_reputation: return RDF_Type::Compound; - case DF_Type::historical_figure_info__T_reputation__T_anon_1: return RDF_Type::Compound; - case DF_Type::historical_figure_info__T_reputation__T_unk_2c: return RDF_Type::Compound; - case DF_Type::historical_figure_info__T_reputation__T_unk_2c__T_anon_12: return RDF_Type::Compound; - case DF_Type::historical_figure_info__T_reputation__T_wanted: return RDF_Type::Compound; - case DF_Type::historical_figure_info__T_secret: return RDF_Type::Compound; - case DF_Type::historical_figure_info__T_secret__T_anon_1: return RDF_Type::Compound; - case DF_Type::historical_figure_info__T_secret__T_anon_7: return RDF_Type::Compound; - case DF_Type::historical_figure_info__T_secret__T_knowledge: return RDF_Type::Compound; - case DF_Type::historical_figure_info__T_secret__T_knowledge__T_knowledge_goal: return RDF_Type::Bitfield; - case DF_Type::historical_figure_info__T_secret__T_unk_a8: return RDF_Type::Compound; - case DF_Type::historical_figure_info__T_skills: return RDF_Type::Compound; - case DF_Type::historical_figure_info__T_unk_14: return RDF_Type::Compound; - case DF_Type::historical_figure_info__T_wounds: return RDF_Type::Compound; - case DF_Type::historical_kills: return RDF_Type::Struct; - case DF_Type::history_era: return RDF_Type::Struct; - case DF_Type::history_era__T_details: return RDF_Type::Compound; - case DF_Type::history_era__T_title: return RDF_Type::Compound; - case DF_Type::history_event: return RDF_Type::Class; - case DF_Type::history_event_add_hf_entity_linkst: return RDF_Type::Class; - case DF_Type::history_event_add_hf_hf_linkst: return RDF_Type::Class; - case DF_Type::history_event_add_hf_site_linkst: return RDF_Type::Class; - case DF_Type::history_event_agreement_concludedst: return RDF_Type::Class; - case DF_Type::history_event_agreement_formedst: return RDF_Type::Class; - case DF_Type::history_event_agreements_voidedst: return RDF_Type::Class; - case DF_Type::history_event_artifact_claim_formedst: return RDF_Type::Class; - case DF_Type::history_event_artifact_claim_formedst__T_claim_type: return RDF_Type::Enum; - case DF_Type::history_event_artifact_copiedst: return RDF_Type::Class; - case DF_Type::history_event_artifact_copiedst__T_flags2: return RDF_Type::Bitfield; - case DF_Type::history_event_artifact_createdst: return RDF_Type::Class; - case DF_Type::history_event_artifact_destroyedst: return RDF_Type::Class; - case DF_Type::history_event_artifact_droppedst: return RDF_Type::Class; - case DF_Type::history_event_artifact_foundst: return RDF_Type::Class; - case DF_Type::history_event_artifact_givenst: return RDF_Type::Class; - case DF_Type::history_event_artifact_hiddenst: return RDF_Type::Class; - case DF_Type::history_event_artifact_lostst: return RDF_Type::Class; - case DF_Type::history_event_artifact_possessedst: return RDF_Type::Class; - case DF_Type::history_event_artifact_recoveredst: return RDF_Type::Class; - case DF_Type::history_event_artifact_storedst: return RDF_Type::Class; - case DF_Type::history_event_artifact_transformedst: return RDF_Type::Class; - case DF_Type::history_event_assume_identityst: return RDF_Type::Class; - case DF_Type::history_event_body_abusedst: return RDF_Type::Class; - case DF_Type::history_event_body_abusedst__T_abuse_type: return RDF_Type::Enum; - case DF_Type::history_event_body_abusedst__T_props: return RDF_Type::Union; - case DF_Type::history_event_body_abusedst__T_props__T_hung: return RDF_Type::Compound; - case DF_Type::history_event_body_abusedst__T_props__T_item: return RDF_Type::Compound; - case DF_Type::history_event_body_abusedst__T_props__T_pile_type: return RDF_Type::Enum; - case DF_Type::history_event_ceremonyst: return RDF_Type::Class; - case DF_Type::history_event_change_creature_typest: return RDF_Type::Class; - case DF_Type::history_event_change_hf_body_statest: return RDF_Type::Class; - case DF_Type::history_event_change_hf_jobst: return RDF_Type::Class; - case DF_Type::history_event_change_hf_moodst: return RDF_Type::Class; - case DF_Type::history_event_change_hf_statest: return RDF_Type::Class; - case DF_Type::history_event_change_hf_statest__T_state: return RDF_Type::Enum; - case DF_Type::history_event_collection: return RDF_Type::Class; - case DF_Type::history_event_collection_abductionst: return RDF_Type::Class; - case DF_Type::history_event_collection_battlest: return RDF_Type::Class; - case DF_Type::history_event_collection_beast_attackst: return RDF_Type::Class; - case DF_Type::history_event_collection_ceremonyst: return RDF_Type::Class; - case DF_Type::history_event_collection_competitionst: return RDF_Type::Class; - case DF_Type::history_event_collection_duelst: return RDF_Type::Class; - case DF_Type::history_event_collection_insurrectionst: return RDF_Type::Class; - case DF_Type::history_event_collection_journeyst: return RDF_Type::Class; - case DF_Type::history_event_collection_occasionst: return RDF_Type::Class; - case DF_Type::history_event_collection_performancest: return RDF_Type::Class; - case DF_Type::history_event_collection_processionst: return RDF_Type::Class; - case DF_Type::history_event_collection_purgest: return RDF_Type::Class; - case DF_Type::history_event_collection_raidst: return RDF_Type::Class; - case DF_Type::history_event_collection_site_conqueredst: return RDF_Type::Class; - case DF_Type::history_event_collection_theftst: return RDF_Type::Class; - case DF_Type::history_event_collection_type: return RDF_Type::Enum; - case DF_Type::history_event_collection_warst: return RDF_Type::Class; - case DF_Type::history_event_collection_warst__T_unk: return RDF_Type::Compound; - case DF_Type::history_event_competitionst: return RDF_Type::Class; - case DF_Type::history_event_context: return RDF_Type::Struct; - case DF_Type::history_event_create_entity_positionst: return RDF_Type::Class; - case DF_Type::history_event_created_buildingst: return RDF_Type::Class; - case DF_Type::history_event_created_sitest: return RDF_Type::Class; - case DF_Type::history_event_created_world_constructionst: return RDF_Type::Class; - case DF_Type::history_event_creature_devouredst: return RDF_Type::Class; - case DF_Type::history_event_dance_form_createdst: return RDF_Type::Class; - case DF_Type::history_event_diplomat_lostst: return RDF_Type::Class; - case DF_Type::history_event_entity_actionst: return RDF_Type::Class; - case DF_Type::history_event_entity_createdst: return RDF_Type::Class; - case DF_Type::history_event_entity_expels_hfst: return RDF_Type::Class; - case DF_Type::history_event_entity_fled_sitest: return RDF_Type::Class; - case DF_Type::history_event_entity_incorporatedst: return RDF_Type::Class; - case DF_Type::history_event_entity_lawst: return RDF_Type::Class; - case DF_Type::history_event_entity_rampaged_in_sitest: return RDF_Type::Class; - case DF_Type::history_event_entity_razed_buildingst: return RDF_Type::Class; - case DF_Type::history_event_entity_searched_sitest: return RDF_Type::Class; - case DF_Type::history_event_first_contact_failedst: return RDF_Type::Class; - case DF_Type::history_event_first_contactst: return RDF_Type::Class; - case DF_Type::history_event_hf_act_on_artifactst: return RDF_Type::Class; - case DF_Type::history_event_hf_act_on_artifactst__T_action: return RDF_Type::Enum; - case DF_Type::history_event_hf_act_on_buildingst: return RDF_Type::Class; - case DF_Type::history_event_hf_act_on_buildingst__T_action: return RDF_Type::Enum; - case DF_Type::history_event_hf_attacked_sitest: return RDF_Type::Class; - case DF_Type::history_event_hf_confrontedst: return RDF_Type::Class; - case DF_Type::history_event_hf_destroyed_sitest: return RDF_Type::Class; - case DF_Type::history_event_hf_does_interactionst: return RDF_Type::Class; - case DF_Type::history_event_hf_freedst: return RDF_Type::Class; - case DF_Type::history_event_hf_gains_secret_goalst: return RDF_Type::Class; - case DF_Type::history_event_hf_learns_secretst: return RDF_Type::Class; - case DF_Type::history_event_hf_razed_buildingst: return RDF_Type::Class; - case DF_Type::history_event_hf_recruited_unit_type_for_entityst: return RDF_Type::Class; - case DF_Type::history_event_hf_relationship_deniedst: return RDF_Type::Class; - case DF_Type::history_event_hfs_formed_reputation_relationshipst: return RDF_Type::Class; - case DF_Type::history_event_hist_figure_abductedst: return RDF_Type::Class; - case DF_Type::history_event_hist_figure_diedst: return RDF_Type::Class; - case DF_Type::history_event_hist_figure_new_petst: return RDF_Type::Class; - case DF_Type::history_event_hist_figure_reach_summitst: return RDF_Type::Class; - case DF_Type::history_event_hist_figure_reunionst: return RDF_Type::Class; - case DF_Type::history_event_hist_figure_revivedst: return RDF_Type::Class; - case DF_Type::history_event_hist_figure_simple_actionst: return RDF_Type::Class; - case DF_Type::history_event_hist_figure_simple_battle_eventst: return RDF_Type::Class; - case DF_Type::history_event_hist_figure_travelst: return RDF_Type::Class; - case DF_Type::history_event_hist_figure_travelst__T_reason: return RDF_Type::Enum; - case DF_Type::history_event_hist_figure_woundedst: return RDF_Type::Class; - case DF_Type::history_event_hist_figure_woundedst__T_injury_type: return RDF_Type::Enum; - case DF_Type::history_event_insurrection_endedst: return RDF_Type::Class; - case DF_Type::history_event_insurrection_startedst: return RDF_Type::Class; - case DF_Type::history_event_item_stolenst: return RDF_Type::Class; - case DF_Type::history_event_knowledge_discoveredst: return RDF_Type::Class; - case DF_Type::history_event_masterpiece_created_arch_constructst: return RDF_Type::Class; - case DF_Type::history_event_masterpiece_created_arch_designst: return RDF_Type::Class; - case DF_Type::history_event_masterpiece_created_dye_itemst: return RDF_Type::Class; - case DF_Type::history_event_masterpiece_created_engravingst: return RDF_Type::Class; - case DF_Type::history_event_masterpiece_created_foodst: return RDF_Type::Class; - case DF_Type::history_event_masterpiece_created_item_improvementst: return RDF_Type::Class; - case DF_Type::history_event_masterpiece_created_itemst: return RDF_Type::Class; - case DF_Type::history_event_masterpiece_createdst: return RDF_Type::Class; - case DF_Type::history_event_masterpiece_lostst: return RDF_Type::Class; - case DF_Type::history_event_merchantst: return RDF_Type::Class; - case DF_Type::history_event_musical_form_createdst: return RDF_Type::Class; - case DF_Type::history_event_performancest: return RDF_Type::Class; - case DF_Type::history_event_poetic_form_createdst: return RDF_Type::Class; - case DF_Type::history_event_processionst: return RDF_Type::Class; - case DF_Type::history_event_reason: return RDF_Type::Enum; - case DF_Type::history_event_reclaim_sitest: return RDF_Type::Class; - case DF_Type::history_event_regionpop_incorporated_into_entityst: return RDF_Type::Class; - case DF_Type::history_event_remove_hf_entity_linkst: return RDF_Type::Class; - case DF_Type::history_event_remove_hf_hf_linkst: return RDF_Type::Class; - case DF_Type::history_event_remove_hf_site_linkst: return RDF_Type::Class; - case DF_Type::history_event_replaced_buildingst: return RDF_Type::Class; - case DF_Type::history_event_simple_battle_subtype: return RDF_Type::Enum; - case DF_Type::history_event_site_diedst: return RDF_Type::Class; - case DF_Type::history_event_site_disputest: return RDF_Type::Class; - case DF_Type::history_event_site_retiredst: return RDF_Type::Class; - case DF_Type::history_event_site_surrenderedst: return RDF_Type::Class; - case DF_Type::history_event_sneak_into_sitest: return RDF_Type::Class; - case DF_Type::history_event_spotted_leaving_sitest: return RDF_Type::Class; - case DF_Type::history_event_squad_vs_squadst: return RDF_Type::Class; - case DF_Type::history_event_tactical_situationst: return RDF_Type::Class; - case DF_Type::history_event_tactical_situationst__T_tactics_flags: return RDF_Type::Bitfield; - case DF_Type::history_event_topicagreement_concludedst: return RDF_Type::Class; - case DF_Type::history_event_topicagreement_madest: return RDF_Type::Class; - case DF_Type::history_event_topicagreement_rejectedst: return RDF_Type::Class; - case DF_Type::history_event_type: return RDF_Type::Enum; - case DF_Type::history_event_war_attacked_sitest: return RDF_Type::Class; - case DF_Type::history_event_war_destroyed_sitest: return RDF_Type::Class; - case DF_Type::history_event_war_field_battlest: return RDF_Type::Class; - case DF_Type::history_event_war_peace_acceptedst: return RDF_Type::Class; - case DF_Type::history_event_war_peace_rejectedst: return RDF_Type::Class; - case DF_Type::history_event_war_plundered_sitest: return RDF_Type::Class; - case DF_Type::history_event_war_site_new_leaderst: return RDF_Type::Class; - case DF_Type::history_event_war_site_taken_overst: return RDF_Type::Class; - case DF_Type::history_event_war_site_tribute_forcedst: return RDF_Type::Class; - case DF_Type::history_event_war_site_tribute_forcedst__T_tribute_flags: return RDF_Type::Bitfield; - case DF_Type::history_event_written_content_composedst: return RDF_Type::Class; - case DF_Type::history_hit_item: return RDF_Type::Struct; - case DF_Type::hive_flags: return RDF_Type::Bitfield; - case DF_Type::hospital_supplies: return RDF_Type::Struct; - case DF_Type::hospital_supplies__T_supplies_needed: return RDF_Type::Bitfield; - case DF_Type::identity: return RDF_Type::Struct; - case DF_Type::identity_unk_94: return RDF_Type::Struct; - case DF_Type::improvement_type: return RDF_Type::Enum; - case DF_Type::incident: return RDF_Type::Struct; - case DF_Type::incident__T_flags: return RDF_Type::Bitfield; - case DF_Type::incident__T_unk_v42_1: return RDF_Type::Union; - case DF_Type::incident_hfid: return RDF_Type::Struct; - case DF_Type::incident_sub10: return RDF_Type::Struct; - case DF_Type::incident_sub6_performance: return RDF_Type::Struct; - case DF_Type::incident_sub6_performance__T_participants: return RDF_Type::Compound; - case DF_Type::incident_sub7: return RDF_Type::Struct; - case DF_Type::incident_sub8: return RDF_Type::Struct; - case DF_Type::incident_sub9: return RDF_Type::Struct; - case DF_Type::inclusion_type: return RDF_Type::Enum; - case DF_Type::init: return RDF_Type::Struct; - case DF_Type::init_display: return RDF_Type::Struct; - case DF_Type::init_display__T_windowed: return RDF_Type::Enum; - case DF_Type::init_display_flags: return RDF_Type::Enum; - case DF_Type::init_font: return RDF_Type::Struct; - case DF_Type::init_font__T_use_ttf: return RDF_Type::Enum; - case DF_Type::init_input: return RDF_Type::Struct; - case DF_Type::init_input_flags: return RDF_Type::Enum; - case DF_Type::init_media: return RDF_Type::Struct; - case DF_Type::init_media_flags: return RDF_Type::Enum; - case DF_Type::init_window: return RDF_Type::Struct; - case DF_Type::init_window_flags: return RDF_Type::Enum; - case DF_Type::inorganic_flags: return RDF_Type::Enum; - case DF_Type::inorganic_raw: return RDF_Type::Struct; - case DF_Type::inorganic_raw__T_environment: return RDF_Type::Compound; - case DF_Type::inorganic_raw__T_environment_spec: return RDF_Type::Compound; - case DF_Type::inorganic_raw__T_metal_ore: return RDF_Type::Compound; - case DF_Type::inorganic_raw__T_thread_metal: return RDF_Type::Compound; - case DF_Type::instrument_flags: return RDF_Type::Enum; - case DF_Type::instrument_piece: return RDF_Type::Struct; - case DF_Type::instrument_piece__T_flags: return RDF_Type::Bitfield; - case DF_Type::instrument_register: return RDF_Type::Struct; - case DF_Type::insurrection_outcome: return RDF_Type::Enum; - case DF_Type::int16_t: return RDF_Type::DFArray; - case DF_Type::interaction: return RDF_Type::Struct; - case DF_Type::interaction_effect: return RDF_Type::Class; - case DF_Type::interaction_effect__T_flags: return RDF_Type::Bitfield; - case DF_Type::interaction_effect_add_syndromest: return RDF_Type::Class; - case DF_Type::interaction_effect_animatest: return RDF_Type::Class; - case DF_Type::interaction_effect_cleanst: return RDF_Type::Class; - case DF_Type::interaction_effect_contactst: return RDF_Type::Class; - case DF_Type::interaction_effect_hidest: return RDF_Type::Class; - case DF_Type::interaction_effect_location_hint: return RDF_Type::Enum; - case DF_Type::interaction_effect_material_emissionst: return RDF_Type::Class; - case DF_Type::interaction_effect_resurrectst: return RDF_Type::Class; - case DF_Type::interaction_effect_type: return RDF_Type::Enum; - case DF_Type::interaction_instance: return RDF_Type::Struct; - case DF_Type::interaction_source: return RDF_Type::Class; - case DF_Type::interaction_source_attackst: return RDF_Type::Class; - case DF_Type::interaction_source_creature_actionst: return RDF_Type::Class; - case DF_Type::interaction_source_deityst: return RDF_Type::Class; - case DF_Type::interaction_source_disturbancest: return RDF_Type::Class; - case DF_Type::interaction_source_ingestionst: return RDF_Type::Class; - case DF_Type::interaction_source_regionst: return RDF_Type::Class; - case DF_Type::interaction_source_regionst__T_region_flags: return RDF_Type::Bitfield; - case DF_Type::interaction_source_secretst: return RDF_Type::Class; - case DF_Type::interaction_source_secretst__T_learn_flags: return RDF_Type::Bitfield; - case DF_Type::interaction_source_type: return RDF_Type::Enum; - case DF_Type::interaction_source_underground_specialst: return RDF_Type::Class; - case DF_Type::interaction_source_usage_hint: return RDF_Type::Enum; - case DF_Type::interaction_target: return RDF_Type::Class; - case DF_Type::interaction_target_corpsest: return RDF_Type::Class; - case DF_Type::interaction_target_creaturest: return RDF_Type::Class; - case DF_Type::interaction_target_info: return RDF_Type::Struct; - case DF_Type::interaction_target_info__T_restrictions: return RDF_Type::Bitfield; - case DF_Type::interaction_target_location_type: return RDF_Type::Enum; - case DF_Type::interaction_target_locationst: return RDF_Type::Class; - case DF_Type::interaction_target_materialst: return RDF_Type::Class; - case DF_Type::interaction_target_materialst__T_restrictions: return RDF_Type::Bitfield; - case DF_Type::interaction_target_type: return RDF_Type::Enum; - case DF_Type::interface_breakdown_types: return RDF_Type::Enum; - case DF_Type::interface_button: return RDF_Type::Class; - case DF_Type::interface_button_building_category_selectorst: return RDF_Type::Class; - case DF_Type::interface_button_building_custom_category_selectorst: return RDF_Type::Class; - case DF_Type::interface_button_building_material_selectorst: return RDF_Type::Class; - case DF_Type::interface_button_building_new_jobst: return RDF_Type::Class; - case DF_Type::interface_button_buildingst: return RDF_Type::Class; - case DF_Type::interface_button_construction_building_selectorst: return RDF_Type::Class; - case DF_Type::interface_button_construction_category_selectorst: return RDF_Type::Class; - case DF_Type::interface_button_construction_category_selectorst__T_category_id: return RDF_Type::Enum; - case DF_Type::interface_button_construction_donest: return RDF_Type::Class; - case DF_Type::interface_button_constructionst: return RDF_Type::Class; - case DF_Type::interface_key: return RDF_Type::Enum; - case DF_Type::interfacest: return RDF_Type::Struct; - case DF_Type::invasion_info: return RDF_Type::Struct; - case DF_Type::invasion_info__T_flags: return RDF_Type::Bitfield; - case DF_Type::item: return RDF_Type::Class; - case DF_Type::item_actual: return RDF_Type::Class; - case DF_Type::item_ammost: return RDF_Type::Class; - case DF_Type::item_amuletst: return RDF_Type::Class; - case DF_Type::item_animaltrapst: return RDF_Type::Class; - case DF_Type::item_anvilst: return RDF_Type::Class; - case DF_Type::item_armorst: return RDF_Type::Class; - case DF_Type::item_armorstandst: return RDF_Type::Class; - case DF_Type::item_backpackst: return RDF_Type::Class; - case DF_Type::item_ballistaarrowheadst: return RDF_Type::Class; - case DF_Type::item_ballistapartsst: return RDF_Type::Class; - case DF_Type::item_barrelst: return RDF_Type::Class; - case DF_Type::item_barst: return RDF_Type::Class; - case DF_Type::item_bedst: return RDF_Type::Class; - case DF_Type::item_binst: return RDF_Type::Class; - case DF_Type::item_blocksst: return RDF_Type::Class; - case DF_Type::item_body_component: return RDF_Type::Class; - case DF_Type::item_body_component__T_appearance: return RDF_Type::Compound; - case DF_Type::item_body_component__T_body: return RDF_Type::Compound; - case DF_Type::item_body_component__T_bone1: return RDF_Type::Compound; - case DF_Type::item_body_component__T_bone2: return RDF_Type::Compound; - case DF_Type::item_body_component__T_corpse_flags: return RDF_Type::Bitfield; - case DF_Type::item_bookst: return RDF_Type::Class; - case DF_Type::item_boulderst: return RDF_Type::Class; - case DF_Type::item_boxst: return RDF_Type::Class; - case DF_Type::item_braceletst: return RDF_Type::Class; - case DF_Type::item_branchst: return RDF_Type::Class; - case DF_Type::item_bucketst: return RDF_Type::Class; - case DF_Type::item_cabinetst: return RDF_Type::Class; - case DF_Type::item_cagest: return RDF_Type::Class; - case DF_Type::item_catapultpartsst: return RDF_Type::Class; - case DF_Type::item_chainst: return RDF_Type::Class; - case DF_Type::item_chairst: return RDF_Type::Class; - case DF_Type::item_cheesest: return RDF_Type::Class; - case DF_Type::item_clothst: return RDF_Type::Class; - case DF_Type::item_coffinst: return RDF_Type::Class; - case DF_Type::item_coinst: return RDF_Type::Class; - case DF_Type::item_constructed: return RDF_Type::Class; - case DF_Type::item_corpsepiecest: return RDF_Type::Class; - case DF_Type::item_corpsest: return RDF_Type::Class; - case DF_Type::item_crafted: return RDF_Type::Class; - case DF_Type::item_critter: return RDF_Type::Class; - case DF_Type::item_crownst: return RDF_Type::Class; - case DF_Type::item_crutchst: return RDF_Type::Class; - case DF_Type::item_doorst: return RDF_Type::Class; - case DF_Type::item_drinkst: return RDF_Type::Class; - case DF_Type::item_earringst: return RDF_Type::Class; - case DF_Type::item_eggst: return RDF_Type::Class; - case DF_Type::item_eggst__T_egg_flags: return RDF_Type::Bitfield; - case DF_Type::item_figurinest: return RDF_Type::Class; - case DF_Type::item_filter_spec: return RDF_Type::Struct; - case DF_Type::item_fish_rawst: return RDF_Type::Class; - case DF_Type::item_fishst: return RDF_Type::Class; - case DF_Type::item_flags2: return RDF_Type::Bitfield; - case DF_Type::item_flags: return RDF_Type::Bitfield; - case DF_Type::item_flaskst: return RDF_Type::Class; - case DF_Type::item_floodgatest: return RDF_Type::Class; - case DF_Type::item_foodst: return RDF_Type::Class; - case DF_Type::item_foodst__T_ingredients: return RDF_Type::Compound; - case DF_Type::item_gemst: return RDF_Type::Class; - case DF_Type::item_globst: return RDF_Type::Class; - case DF_Type::item_glovesst: return RDF_Type::Class; - case DF_Type::item_gobletst: return RDF_Type::Class; - case DF_Type::item_gratest: return RDF_Type::Class; - case DF_Type::item_hatch_coverst: return RDF_Type::Class; - case DF_Type::item_helmst: return RDF_Type::Class; - case DF_Type::item_history_info: return RDF_Type::Struct; - case DF_Type::item_instrumentst: return RDF_Type::Class; - case DF_Type::item_kill_info: return RDF_Type::Struct; - case DF_Type::item_liquid: return RDF_Type::Class; - case DF_Type::item_liquid_miscst: return RDF_Type::Class; - case DF_Type::item_liquipowder: return RDF_Type::Class; - case DF_Type::item_magicness: return RDF_Type::Struct; - case DF_Type::item_magicness_type: return RDF_Type::Enum; - case DF_Type::item_matstate: return RDF_Type::Bitfield; - case DF_Type::item_meatst: return RDF_Type::Class; - case DF_Type::item_millstonest: return RDF_Type::Class; - case DF_Type::item_orthopedic_castst: return RDF_Type::Class; - case DF_Type::item_pantsst: return RDF_Type::Class; - case DF_Type::item_petst: return RDF_Type::Class; - case DF_Type::item_petst__T_pet_flags: return RDF_Type::Bitfield; - case DF_Type::item_pipe_sectionst: return RDF_Type::Class; - case DF_Type::item_plant_growthst: return RDF_Type::Class; - case DF_Type::item_plantst: return RDF_Type::Class; - case DF_Type::item_powder: return RDF_Type::Class; - case DF_Type::item_powder_miscst: return RDF_Type::Class; - case DF_Type::item_quality: return RDF_Type::Enum; - case DF_Type::item_quernst: return RDF_Type::Class; - case DF_Type::item_quiverst: return RDF_Type::Class; - case DF_Type::item_remainsst: return RDF_Type::Class; - case DF_Type::item_ringst: return RDF_Type::Class; - case DF_Type::item_rockst: return RDF_Type::Class; - case DF_Type::item_roughst: return RDF_Type::Class; - case DF_Type::item_scepterst: return RDF_Type::Class; - case DF_Type::item_seedsst: return RDF_Type::Class; - case DF_Type::item_sheetst: return RDF_Type::Class; - case DF_Type::item_shieldst: return RDF_Type::Class; - case DF_Type::item_shoesst: return RDF_Type::Class; - case DF_Type::item_siegeammost: return RDF_Type::Class; - case DF_Type::item_skin_tannedst: return RDF_Type::Class; - case DF_Type::item_slabst: return RDF_Type::Class; - case DF_Type::item_smallgemst: return RDF_Type::Class; - case DF_Type::item_splintst: return RDF_Type::Class; - case DF_Type::item_statuest: return RDF_Type::Class; - case DF_Type::item_stockpile_ref: return RDF_Type::Struct; - case DF_Type::item_tablest: return RDF_Type::Class; - case DF_Type::item_threadst: return RDF_Type::Class; - case DF_Type::item_toolst: return RDF_Type::Class; - case DF_Type::item_totemst: return RDF_Type::Class; - case DF_Type::item_toyst: return RDF_Type::Class; - case DF_Type::item_traction_benchst: return RDF_Type::Class; - case DF_Type::item_trapcompst: return RDF_Type::Class; - case DF_Type::item_trappartsst: return RDF_Type::Class; - case DF_Type::item_type: return RDF_Type::Enum; - case DF_Type::item_verminst: return RDF_Type::Class; - case DF_Type::item_weaponrackst: return RDF_Type::Class; - case DF_Type::item_weaponst: return RDF_Type::Class; - case DF_Type::item_windowst: return RDF_Type::Class; - case DF_Type::item_woodst: return RDF_Type::Class; - case DF_Type::itemdef: return RDF_Type::Class; - case DF_Type::itemdef_ammost: return RDF_Type::Class; - case DF_Type::itemdef_armorst: return RDF_Type::Class; - case DF_Type::itemdef_foodst: return RDF_Type::Class; - case DF_Type::itemdef_glovesst: return RDF_Type::Class; - case DF_Type::itemdef_helmst: return RDF_Type::Class; - case DF_Type::itemdef_instrumentst: return RDF_Type::Class; - case DF_Type::itemdef_pantsst: return RDF_Type::Class; - case DF_Type::itemdef_shieldst: return RDF_Type::Class; - case DF_Type::itemdef_shoesst: return RDF_Type::Class; - case DF_Type::itemdef_siegeammost: return RDF_Type::Class; - case DF_Type::itemdef_toolst: return RDF_Type::Class; - case DF_Type::itemdef_toolst__T_default_improvements: return RDF_Type::Compound; - case DF_Type::itemdef_toyst: return RDF_Type::Class; - case DF_Type::itemdef_trapcompst: return RDF_Type::Class; - case DF_Type::itemdef_weaponst: return RDF_Type::Class; - case DF_Type::itemimprovement: return RDF_Type::Class; - case DF_Type::itemimprovement_art_imagest: return RDF_Type::Class; - case DF_Type::itemimprovement_bandsst: return RDF_Type::Class; - case DF_Type::itemimprovement_clothst: return RDF_Type::Class; - case DF_Type::itemimprovement_coveredst: return RDF_Type::Class; - case DF_Type::itemimprovement_coveredst__T_cover_flags: return RDF_Type::Bitfield; - case DF_Type::itemimprovement_illustrationst: return RDF_Type::Class; - case DF_Type::itemimprovement_instrument_piecest: return RDF_Type::Class; - case DF_Type::itemimprovement_itemspecificst: return RDF_Type::Class; - case DF_Type::itemimprovement_pagesst: return RDF_Type::Class; - case DF_Type::itemimprovement_rings_hangingst: return RDF_Type::Class; - case DF_Type::itemimprovement_sewn_imagest: return RDF_Type::Class; - case DF_Type::itemimprovement_sewn_imagest__T_cloth: return RDF_Type::Compound; - case DF_Type::itemimprovement_specific_type: return RDF_Type::Enum; - case DF_Type::itemimprovement_spikesst: return RDF_Type::Class; - case DF_Type::itemimprovement_threadst: return RDF_Type::Class; - case DF_Type::itemimprovement_writingst: return RDF_Type::Class; - case DF_Type::items_other_id: return RDF_Type::Enum; - case DF_Type::job: return RDF_Type::Struct; - case DF_Type::job_art_specification: return RDF_Type::Struct; - case DF_Type::job_art_specification__T_type: return RDF_Type::Enum; - case DF_Type::job_flags: return RDF_Type::Bitfield; - case DF_Type::job_handler: return RDF_Type::Class; - case DF_Type::job_handler__T_anon_1: return RDF_Type::Compound; - case DF_Type::job_handler__T_postings: return RDF_Type::Compound; - case DF_Type::job_handler__T_postings__T_flags: return RDF_Type::Bitfield; - case DF_Type::job_item: return RDF_Type::Struct; - case DF_Type::job_item_filter: return RDF_Type::Struct; - case DF_Type::job_item_flags1: return RDF_Type::Bitfield; - case DF_Type::job_item_flags2: return RDF_Type::Bitfield; - case DF_Type::job_item_flags3: return RDF_Type::Bitfield; - case DF_Type::job_item_ref: return RDF_Type::Struct; - case DF_Type::job_item_ref__T_role: return RDF_Type::Enum; - case DF_Type::job_item_vector_id: return RDF_Type::Enum; - case DF_Type::job_list_link: return RDF_Type::Struct; - case DF_Type::job_material_category: return RDF_Type::Bitfield; - case DF_Type::job_skill: return RDF_Type::Enum; - case DF_Type::job_skill_class: return RDF_Type::Enum; - case DF_Type::job_subtype_surgery: return RDF_Type::Enum; - case DF_Type::job_type: return RDF_Type::Enum; - case DF_Type::job_type_class: return RDF_Type::Enum; - case DF_Type::kitchen_exc_type: return RDF_Type::Enum; - case DF_Type::kitchen_pref_flag: return RDF_Type::Bitfield; - case DF_Type::knowledge_scholar_category_flag: return RDF_Type::Struct; - case DF_Type::knowledge_scholar_category_flag__T_flags: return RDF_Type::Union; - case DF_Type::knowledge_scholar_flags_0: return RDF_Type::Bitfield; - case DF_Type::knowledge_scholar_flags_10: return RDF_Type::Bitfield; - case DF_Type::knowledge_scholar_flags_11: return RDF_Type::Bitfield; - case DF_Type::knowledge_scholar_flags_12: return RDF_Type::Bitfield; - case DF_Type::knowledge_scholar_flags_13: return RDF_Type::Bitfield; - case DF_Type::knowledge_scholar_flags_1: return RDF_Type::Bitfield; - case DF_Type::knowledge_scholar_flags_2: return RDF_Type::Bitfield; - case DF_Type::knowledge_scholar_flags_3: return RDF_Type::Bitfield; - case DF_Type::knowledge_scholar_flags_4: return RDF_Type::Bitfield; - case DF_Type::knowledge_scholar_flags_5: return RDF_Type::Bitfield; - case DF_Type::knowledge_scholar_flags_6: return RDF_Type::Bitfield; - case DF_Type::knowledge_scholar_flags_7: return RDF_Type::Bitfield; - case DF_Type::knowledge_scholar_flags_8: return RDF_Type::Bitfield; - case DF_Type::knowledge_scholar_flags_9: return RDF_Type::Bitfield; - case DF_Type::language_name: return RDF_Type::Struct; - case DF_Type::language_name_category: return RDF_Type::Enum; - case DF_Type::language_symbol: return RDF_Type::Struct; - case DF_Type::language_translation: return RDF_Type::Struct; - case DF_Type::language_word: return RDF_Type::Struct; - case DF_Type::language_word_flags: return RDF_Type::Bitfield; - case DF_Type::language_word_table: return RDF_Type::Struct; - case DF_Type::large_integer: return RDF_Type::Union; - case DF_Type::large_integer__T_u: return RDF_Type::Compound; - case DF_Type::large_integer___struct0: return RDF_Type::Compound; - case DF_Type::layer_object: return RDF_Type::Class; - case DF_Type::layer_object_buttonst: return RDF_Type::Class; - case DF_Type::layer_object_listst: return RDF_Type::Class; - case DF_Type::lever_target_type: return RDF_Type::Enum; - case DF_Type::loadgame_save_info: return RDF_Type::Struct; - case DF_Type::local_population: return RDF_Type::Struct; - case DF_Type::local_population__T_flags: return RDF_Type::Bitfield; - case DF_Type::local_population___union6: return RDF_Type::Union; - case DF_Type::location_scribe_jobs: return RDF_Type::Struct; - case DF_Type::machine: return RDF_Type::Class; - case DF_Type::machine__T_components: return RDF_Type::Compound; - case DF_Type::machine__T_flags: return RDF_Type::Bitfield; - case DF_Type::machine_conn_modes: return RDF_Type::Bitfield; - case DF_Type::machine_handler: return RDF_Type::Class; - case DF_Type::machine_info: return RDF_Type::Struct; - case DF_Type::machine_info__T_flags: return RDF_Type::Bitfield; - case DF_Type::machine_standardst: return RDF_Type::Class; - case DF_Type::machine_tile_set: return RDF_Type::Struct; - case DF_Type::machine_type: return RDF_Type::Enum; - case DF_Type::manager_order: return RDF_Type::Struct; - case DF_Type::manager_order__T_frequency: return RDF_Type::Enum; - case DF_Type::manager_order_condition_item: return RDF_Type::Struct; - case DF_Type::manager_order_condition_item__T_compare_type: return RDF_Type::Enum; - case DF_Type::manager_order_condition_order: return RDF_Type::Struct; - case DF_Type::manager_order_condition_order__T_condition: return RDF_Type::Enum; - case DF_Type::manager_order_status: return RDF_Type::Bitfield; - case DF_Type::manager_order_template: return RDF_Type::Struct; - case DF_Type::mandate: return RDF_Type::Struct; - case DF_Type::mandate__T_mode: return RDF_Type::Enum; - case DF_Type::mandate__T_punishment: return RDF_Type::Compound; - case DF_Type::map_block: return RDF_Type::Struct; - case DF_Type::map_block_column: return RDF_Type::Struct; - case DF_Type::map_block_column__T_unmined_glyphs: return RDF_Type::Compound; - case DF_Type::map_renderer: return RDF_Type::Struct; - case DF_Type::map_renderer__T_anon_4: return RDF_Type::Compound; - case DF_Type::map_viewport: return RDF_Type::Struct; - case DF_Type::masterpiece_loss_type: return RDF_Type::Enum; - case DF_Type::material: return RDF_Type::Struct; - case DF_Type::material_common: return RDF_Type::Struct; - case DF_Type::material_common__T_hardens_with_water: return RDF_Type::Compound; - case DF_Type::material_common__T_heat: return RDF_Type::Compound; - case DF_Type::material_common__T_reaction_product: return RDF_Type::Compound; - case DF_Type::material_common__T_strength: return RDF_Type::Compound; - case DF_Type::material_flags: return RDF_Type::Enum; - case DF_Type::material_template: return RDF_Type::Struct; - case DF_Type::material_vec_ref: return RDF_Type::Struct; - case DF_Type::matgloss_list: return RDF_Type::Struct; - case DF_Type::matter_state: return RDF_Type::Enum; - case DF_Type::meeting_context: return RDF_Type::Struct; - case DF_Type::meeting_diplomat_info: return RDF_Type::Struct; - case DF_Type::meeting_diplomat_info__T_flags: return RDF_Type::Bitfield; - case DF_Type::meeting_event: return RDF_Type::Struct; - case DF_Type::meeting_event_type: return RDF_Type::Enum; - case DF_Type::meeting_topic: return RDF_Type::Enum; - case DF_Type::meeting_variable: return RDF_Type::Struct; - case DF_Type::mental_attribute_type: return RDF_Type::Enum; - case DF_Type::mental_picture: return RDF_Type::Struct; - case DF_Type::mental_picture_element_hfst: return RDF_Type::Class; - case DF_Type::mental_picture_element_regionst: return RDF_Type::Class; - case DF_Type::mental_picture_element_sitest: return RDF_Type::Class; - case DF_Type::mental_picture_element_type: return RDF_Type::Enum; - case DF_Type::mental_picture_elementst: return RDF_Type::Class; - case DF_Type::mental_picture_property_actionst: return RDF_Type::Class; - case DF_Type::mental_picture_property_adjectivest: return RDF_Type::Class; - case DF_Type::mental_picture_property_color_patternst: return RDF_Type::Class; - case DF_Type::mental_picture_property_datest: return RDF_Type::Class; - case DF_Type::mental_picture_property_emotionst: return RDF_Type::Class; - case DF_Type::mental_picture_property_positionst: return RDF_Type::Class; - case DF_Type::mental_picture_property_shapest: return RDF_Type::Class; - case DF_Type::mental_picture_property_timest: return RDF_Type::Class; - case DF_Type::mental_picture_property_toolst: return RDF_Type::Class; - case DF_Type::mental_picture_property_type: return RDF_Type::Enum; - case DF_Type::mental_picture_propertyst: return RDF_Type::Class; - case DF_Type::misc_trait_type: return RDF_Type::Enum; - case DF_Type::mission: return RDF_Type::Struct; - case DF_Type::mission__T_details: return RDF_Type::Union; - case DF_Type::mission__T_details__T_raid: return RDF_Type::Compound; - case DF_Type::mission__T_details__T_raid__T_raid_flags: return RDF_Type::Bitfield; - case DF_Type::mission__T_details__T_raid__T_raid_type: return RDF_Type::Enum; - case DF_Type::mission__T_details__T_recovery: return RDF_Type::Compound; - case DF_Type::mission__T_details__T_request: return RDF_Type::Compound; - case DF_Type::mission__T_details__T_rescue: return RDF_Type::Compound; - case DF_Type::mission__T_type: return RDF_Type::Enum; - case DF_Type::mission_campaign_report: return RDF_Type::Struct; - case DF_Type::mission_report: return RDF_Type::Struct; - case DF_Type::mood_type: return RDF_Type::Enum; - case DF_Type::mountain_peak_flags: return RDF_Type::Enum; - case DF_Type::moving_party: return RDF_Type::Struct; - case DF_Type::moving_party__T_members: return RDF_Type::Compound; - case DF_Type::musical_form: return RDF_Type::Struct; - case DF_Type::musical_form__T_flags: return RDF_Type::Bitfield; - case DF_Type::musical_form_feature: return RDF_Type::Bitfield; - case DF_Type::musical_form_instruments: return RDF_Type::Struct; - case DF_Type::musical_form_instruments__T_substitutions: return RDF_Type::Bitfield; - case DF_Type::musical_form_interval: return RDF_Type::Struct; - case DF_Type::musical_form_interval__T_flags: return RDF_Type::Bitfield; - case DF_Type::musical_form_melodies: return RDF_Type::Struct; - case DF_Type::musical_form_pitch_style: return RDF_Type::Enum; - case DF_Type::musical_form_purpose: return RDF_Type::Enum; - case DF_Type::musical_form_style: return RDF_Type::Enum; - case DF_Type::musical_form_sub4: return RDF_Type::Struct; - case DF_Type::musical_form_vocals: return RDF_Type::Struct; - case DF_Type::need_type: return RDF_Type::Enum; - case DF_Type::nemesis_flags: return RDF_Type::Enum; - case DF_Type::nemesis_offload: return RDF_Type::Struct; - case DF_Type::nemesis_record: return RDF_Type::Struct; - case DF_Type::occasion_schedule_feature: return RDF_Type::Enum; - case DF_Type::occasion_schedule_type: return RDF_Type::Enum; - case DF_Type::occupation: return RDF_Type::Struct; - case DF_Type::occupation_sub1: return RDF_Type::Struct; - case DF_Type::occupation_type: return RDF_Type::Enum; - case DF_Type::ocean_wave: return RDF_Type::Struct; - case DF_Type::organic_mat_category: return RDF_Type::Enum; - case DF_Type::orientation_flags: return RDF_Type::Bitfield; - case DF_Type::pants_flags: return RDF_Type::Enum; - case DF_Type::part_of_speech: return RDF_Type::Enum; - case DF_Type::party_info: return RDF_Type::Struct; - case DF_Type::pattern_type: return RDF_Type::Enum; - case DF_Type::performance_event_type: return RDF_Type::Enum; - case DF_Type::performance_participant_type: return RDF_Type::Enum; - case DF_Type::performance_play_orderst: return RDF_Type::Class; - case DF_Type::performance_play_orderst__T_anon_4: return RDF_Type::Compound; - case DF_Type::personality_facet_type: return RDF_Type::Enum; - case DF_Type::physical_attribute_type: return RDF_Type::Enum; - case DF_Type::pitch_choice_type: return RDF_Type::Enum; - case DF_Type::plant: return RDF_Type::Struct; - case DF_Type::plant__T_damage_flags: return RDF_Type::Bitfield; - case DF_Type::plant_flags: return RDF_Type::Bitfield; - case DF_Type::plant_growth: return RDF_Type::Struct; - case DF_Type::plant_growth__T_behavior: return RDF_Type::Bitfield; - case DF_Type::plant_growth__T_locations: return RDF_Type::Bitfield; - case DF_Type::plant_growth_print: return RDF_Type::Struct; - case DF_Type::plant_raw: return RDF_Type::Struct; - case DF_Type::plant_raw__T_colors: return RDF_Type::Compound; - case DF_Type::plant_raw__T_material_defs: return RDF_Type::Compound; - case DF_Type::plant_raw__T_tiles: return RDF_Type::Compound; - case DF_Type::plant_raw_flags: return RDF_Type::Enum; - case DF_Type::plant_tree_info: return RDF_Type::Struct; - case DF_Type::plant_tree_tile: return RDF_Type::Bitfield; - case DF_Type::poetic_form: return RDF_Type::Struct; - case DF_Type::poetic_form__T_flags: return RDF_Type::Bitfield; - case DF_Type::poetic_form___union0: return RDF_Type::Union; - case DF_Type::poetic_form_action: return RDF_Type::Enum; - case DF_Type::poetic_form_additional_feature: return RDF_Type::Enum; - case DF_Type::poetic_form_caesura_position: return RDF_Type::Enum; - case DF_Type::poetic_form_feature: return RDF_Type::Bitfield; - case DF_Type::poetic_form_mood: return RDF_Type::Enum; - case DF_Type::poetic_form_part: return RDF_Type::Struct; - case DF_Type::poetic_form_part__T_flags: return RDF_Type::Bitfield; - case DF_Type::poetic_form_part__T_line_subject_targets: return RDF_Type::Union; - case DF_Type::poetic_form_pattern: return RDF_Type::Enum; - case DF_Type::poetic_form_perspective: return RDF_Type::Struct; - case DF_Type::poetic_form_perspective__T_type: return RDF_Type::Enum; - case DF_Type::poetic_form_subject: return RDF_Type::Enum; - case DF_Type::popup_message: return RDF_Type::Struct; - case DF_Type::power_info: return RDF_Type::Struct; - case DF_Type::pressure_plate_info: return RDF_Type::Struct; - case DF_Type::pressure_plate_info__T_flags: return RDF_Type::Bitfield; - case DF_Type::profession: return RDF_Type::Enum; - case DF_Type::proj_itemst: return RDF_Type::Class; - case DF_Type::proj_list_link: return RDF_Type::Struct; - case DF_Type::proj_magicst: return RDF_Type::Class; - case DF_Type::proj_unitst: return RDF_Type::Class; - case DF_Type::projectile: return RDF_Type::Class; - case DF_Type::projectile_flags: return RDF_Type::Bitfield; - case DF_Type::projectile_type: return RDF_Type::Enum; - case DF_Type::punishment: return RDF_Type::Struct; - case DF_Type::reaction: return RDF_Type::Struct; - case DF_Type::reaction__T_building: return RDF_Type::Compound; - case DF_Type::reaction_category: return RDF_Type::Struct; - case DF_Type::reaction_description: return RDF_Type::Struct; - case DF_Type::reaction_flags: return RDF_Type::Enum; - case DF_Type::reaction_product: return RDF_Type::Class; - case DF_Type::reaction_product_improvement_flags: return RDF_Type::Enum; - case DF_Type::reaction_product_item_flags: return RDF_Type::Enum; - case DF_Type::reaction_product_item_improvementst: return RDF_Type::Class; - case DF_Type::reaction_product_item_improvementst__T_get_material: return RDF_Type::Compound; - case DF_Type::reaction_product_itemst: return RDF_Type::Class; - case DF_Type::reaction_product_itemst__T_get_material: return RDF_Type::Compound; - case DF_Type::reaction_product_type: return RDF_Type::Enum; - case DF_Type::reaction_reagent: return RDF_Type::Class; - case DF_Type::reaction_reagent_flags: return RDF_Type::Bitfield; - case DF_Type::reaction_reagent_itemst: return RDF_Type::Class; - case DF_Type::reaction_reagent_type: return RDF_Type::Enum; - case DF_Type::region_block_event_sphere_fieldst: return RDF_Type::Class; - case DF_Type::region_block_event_type: return RDF_Type::Enum; - case DF_Type::region_block_eventst: return RDF_Type::Class; - case DF_Type::region_map_entry: return RDF_Type::Struct; - case DF_Type::region_map_entry__T_clouds: return RDF_Type::Bitfield; - case DF_Type::region_map_entry__T_wind: return RDF_Type::Bitfield; - case DF_Type::region_map_entry_flags: return RDF_Type::Enum; - case DF_Type::renderer: return RDF_Type::Class; - case DF_Type::report: return RDF_Type::Struct; - case DF_Type::report__T_flags: return RDF_Type::Bitfield; - case DF_Type::reputation_type: return RDF_Type::Enum; - case DF_Type::resource_allotment_data: return RDF_Type::Struct; - case DF_Type::resource_allotment_data__T_unk_654: return RDF_Type::Compound; - case DF_Type::resource_allotment_specifier: return RDF_Type::Class; - case DF_Type::resource_allotment_specifier_ammost: return RDF_Type::Class; - case DF_Type::resource_allotment_specifier_anvilst: return RDF_Type::Class; - case DF_Type::resource_allotment_specifier_armor_bodyst: return RDF_Type::Class; - case DF_Type::resource_allotment_specifier_armor_bootsst: return RDF_Type::Class; - case DF_Type::resource_allotment_specifier_armor_glovesst: return RDF_Type::Class; - case DF_Type::resource_allotment_specifier_armor_helmst: return RDF_Type::Class; - case DF_Type::resource_allotment_specifier_armor_pantsst: return RDF_Type::Class; - case DF_Type::resource_allotment_specifier_backpackst: return RDF_Type::Class; - case DF_Type::resource_allotment_specifier_bagst: return RDF_Type::Class; - case DF_Type::resource_allotment_specifier_bedst: return RDF_Type::Class; - case DF_Type::resource_allotment_specifier_bonest: return RDF_Type::Class; - case DF_Type::resource_allotment_specifier_boxst: return RDF_Type::Class; - case DF_Type::resource_allotment_specifier_cabinetst: return RDF_Type::Class; - case DF_Type::resource_allotment_specifier_chairst: return RDF_Type::Class; - case DF_Type::resource_allotment_specifier_cheesest: return RDF_Type::Class; - case DF_Type::resource_allotment_specifier_clothing_bodyst: return RDF_Type::Class; - case DF_Type::resource_allotment_specifier_clothing_bootsst: return RDF_Type::Class; - case DF_Type::resource_allotment_specifier_clothing_glovesst: return RDF_Type::Class; - case DF_Type::resource_allotment_specifier_clothing_helmst: return RDF_Type::Class; - case DF_Type::resource_allotment_specifier_clothing_pantsst: return RDF_Type::Class; - case DF_Type::resource_allotment_specifier_clothst: return RDF_Type::Class; - case DF_Type::resource_allotment_specifier_craftsst: return RDF_Type::Class; - case DF_Type::resource_allotment_specifier_cropst: return RDF_Type::Class; - case DF_Type::resource_allotment_specifier_extractst: return RDF_Type::Class; - case DF_Type::resource_allotment_specifier_flaskst: return RDF_Type::Class; - case DF_Type::resource_allotment_specifier_gemsst: return RDF_Type::Class; - case DF_Type::resource_allotment_specifier_hornst: return RDF_Type::Class; - case DF_Type::resource_allotment_specifier_leatherst: return RDF_Type::Class; - case DF_Type::resource_allotment_specifier_meatst: return RDF_Type::Class; - case DF_Type::resource_allotment_specifier_metalst: return RDF_Type::Class; - case DF_Type::resource_allotment_specifier_pearlst: return RDF_Type::Class; - case DF_Type::resource_allotment_specifier_powderst: return RDF_Type::Class; - case DF_Type::resource_allotment_specifier_quiverst: return RDF_Type::Class; - case DF_Type::resource_allotment_specifier_shellst: return RDF_Type::Class; - case DF_Type::resource_allotment_specifier_skinst: return RDF_Type::Class; - case DF_Type::resource_allotment_specifier_soapst: return RDF_Type::Class; - case DF_Type::resource_allotment_specifier_stonest: return RDF_Type::Class; - case DF_Type::resource_allotment_specifier_tablest: return RDF_Type::Class; - case DF_Type::resource_allotment_specifier_tallowst: return RDF_Type::Class; - case DF_Type::resource_allotment_specifier_threadst: return RDF_Type::Class; - case DF_Type::resource_allotment_specifier_toothst: return RDF_Type::Class; - case DF_Type::resource_allotment_specifier_type: return RDF_Type::Enum; - case DF_Type::resource_allotment_specifier_weapon_meleest: return RDF_Type::Class; - case DF_Type::resource_allotment_specifier_weapon_rangedst: return RDF_Type::Class; - case DF_Type::resource_allotment_specifier_woodst: return RDF_Type::Class; - case DF_Type::rhythm: return RDF_Type::Struct; - case DF_Type::rhythm_sub1: return RDF_Type::Struct; - case DF_Type::rhythm_sub1__T_anon_1: return RDF_Type::Compound; - case DF_Type::rhythm_sub2: return RDF_Type::Struct; - case DF_Type::room_rent_info: return RDF_Type::Struct; - case DF_Type::room_rent_info__T_flags: return RDF_Type::Bitfield; - case DF_Type::route_stockpile_link: return RDF_Type::Struct; - case DF_Type::route_stockpile_link__T_mode: return RDF_Type::Bitfield; - case DF_Type::scale: return RDF_Type::Struct; - case DF_Type::scale__T_unk1: return RDF_Type::Compound; - case DF_Type::scale_sub1: return RDF_Type::Struct; - case DF_Type::scale_sub2: return RDF_Type::Struct; - case DF_Type::schedule_info: return RDF_Type::Struct; - case DF_Type::schedule_slot: return RDF_Type::Struct; - case DF_Type::screw_pump_direction: return RDF_Type::Enum; - case DF_Type::scribejob: return RDF_Type::Struct; - case DF_Type::script_step_conditionalst: return RDF_Type::Class; - case DF_Type::script_step_conditionalst__T_condition: return RDF_Type::Compound; - case DF_Type::script_step_constructtopiclistst: return RDF_Type::Class; - case DF_Type::script_step_dipeventst: return RDF_Type::Class; - case DF_Type::script_step_diphistoryst: return RDF_Type::Class; - case DF_Type::script_step_discussst: return RDF_Type::Class; - case DF_Type::script_step_eventst: return RDF_Type::Class; - case DF_Type::script_step_invasionst: return RDF_Type::Class; - case DF_Type::script_step_setvarst: return RDF_Type::Class; - case DF_Type::script_step_simpleactionst: return RDF_Type::Class; - case DF_Type::script_step_textviewerst: return RDF_Type::Class; - case DF_Type::script_step_topicdiscussionst: return RDF_Type::Class; - case DF_Type::script_stepst: return RDF_Type::Class; - case DF_Type::script_var_longst: return RDF_Type::Class; - case DF_Type::script_var_unitst: return RDF_Type::Class; - case DF_Type::script_varst: return RDF_Type::Class; - case DF_Type::setup_character_info: return RDF_Type::Struct; - case DF_Type::setup_character_info__T_status: return RDF_Type::Enum; - case DF_Type::shoes_flags: return RDF_Type::Enum; - case DF_Type::shop_type: return RDF_Type::Enum; - case DF_Type::siegeengine_type: return RDF_Type::Enum; - case DF_Type::site_building_item: return RDF_Type::Struct; - case DF_Type::site_dispute_type: return RDF_Type::Enum; - case DF_Type::site_realization_building: return RDF_Type::Struct; - case DF_Type::site_realization_building__T_unk_4c: return RDF_Type::Compound; - case DF_Type::site_realization_building_info_castle_courtyardst: return RDF_Type::Class; - case DF_Type::site_realization_building_info_castle_towerst: return RDF_Type::Class; - case DF_Type::site_realization_building_info_castle_wallst: return RDF_Type::Class; - case DF_Type::site_realization_building_info_hillock_housest: return RDF_Type::Class; - case DF_Type::site_realization_building_info_market_squarest: return RDF_Type::Class; - case DF_Type::site_realization_building_info_shop_housest: return RDF_Type::Class; - case DF_Type::site_realization_building_info_tree_housest: return RDF_Type::Class; - case DF_Type::site_realization_building_info_trenchesst: return RDF_Type::Class; - case DF_Type::site_realization_building_info_trenchesst__T_spokes: return RDF_Type::Compound; - case DF_Type::site_realization_building_infost: return RDF_Type::Class; - case DF_Type::site_realization_building_type: return RDF_Type::Enum; - case DF_Type::site_realization_crossroads: return RDF_Type::Struct; - case DF_Type::site_reputation_info: return RDF_Type::Struct; - case DF_Type::site_reputation_report: return RDF_Type::Struct; - case DF_Type::site_shop_type: return RDF_Type::Enum; - case DF_Type::site_type: return RDF_Type::Enum; - case DF_Type::skill_rating: return RDF_Type::Enum; - case DF_Type::slab_engraving_type: return RDF_Type::Enum; - case DF_Type::sound_production_type: return RDF_Type::Enum; - case DF_Type::spatter: return RDF_Type::Struct; - case DF_Type::spatter__T_flags: return RDF_Type::Bitfield; - case DF_Type::spatter_common: return RDF_Type::Struct; - case DF_Type::spatter_common__T_base_flags: return RDF_Type::Bitfield; - case DF_Type::special_mat_table: return RDF_Type::Struct; - case DF_Type::specific_ref: return RDF_Type::Struct; - case DF_Type::specific_ref__T_arg2: return RDF_Type::Union; - case DF_Type::specific_ref___union2: return RDF_Type::Union; - case DF_Type::specific_ref_type: return RDF_Type::Enum; - case DF_Type::sphere_type: return RDF_Type::Enum; - case DF_Type::spoils_report: return RDF_Type::Struct; - case DF_Type::squad: return RDF_Type::Struct; - case DF_Type::squad__T_rooms: return RDF_Type::Compound; - case DF_Type::squad_ammo_spec: return RDF_Type::Struct; - case DF_Type::squad_ammo_spec__T_flags: return RDF_Type::Bitfield; - case DF_Type::squad_event_type: return RDF_Type::Enum; - case DF_Type::squad_order: return RDF_Type::Class; - case DF_Type::squad_order_cannot_reason: return RDF_Type::Enum; - case DF_Type::squad_order_cause_trouble_for_entityst: return RDF_Type::Class; - case DF_Type::squad_order_defend_burrowsst: return RDF_Type::Class; - case DF_Type::squad_order_drive_armies_from_sitest: return RDF_Type::Class; - case DF_Type::squad_order_drive_entity_off_sitest: return RDF_Type::Class; - case DF_Type::squad_order_kill_hfst: return RDF_Type::Class; - case DF_Type::squad_order_kill_listst: return RDF_Type::Class; - case DF_Type::squad_order_movest: return RDF_Type::Class; - case DF_Type::squad_order_patrol_routest: return RDF_Type::Class; - case DF_Type::squad_order_raid_sitest: return RDF_Type::Class; - case DF_Type::squad_order_rescue_hfst: return RDF_Type::Class; - case DF_Type::squad_order_retrieve_artifactst: return RDF_Type::Class; - case DF_Type::squad_order_trainst: return RDF_Type::Class; - case DF_Type::squad_order_type: return RDF_Type::Enum; - case DF_Type::squad_position: return RDF_Type::Struct; - case DF_Type::squad_schedule_entry: return RDF_Type::Struct; - case DF_Type::squad_schedule_order: return RDF_Type::Struct; - case DF_Type::squad_uniform_spec: return RDF_Type::Struct; - case DF_Type::squad_use_flags: return RDF_Type::Bitfield; - case DF_Type::stockpile_category: return RDF_Type::Enum; - case DF_Type::stockpile_group_set: return RDF_Type::Bitfield; - case DF_Type::stockpile_links: return RDF_Type::Struct; - case DF_Type::stockpile_list: return RDF_Type::Enum; - case DF_Type::stockpile_settings: return RDF_Type::Struct; - case DF_Type::stockpile_settings__T_ammo: return RDF_Type::Compound; - case DF_Type::stockpile_settings__T_animals: return RDF_Type::Compound; - case DF_Type::stockpile_settings__T_armor: return RDF_Type::Compound; - case DF_Type::stockpile_settings__T_bars_blocks: return RDF_Type::Compound; - case DF_Type::stockpile_settings__T_cloth: return RDF_Type::Compound; - case DF_Type::stockpile_settings__T_coins: return RDF_Type::Compound; - case DF_Type::stockpile_settings__T_finished_goods: return RDF_Type::Compound; - case DF_Type::stockpile_settings__T_food: return RDF_Type::Compound; - case DF_Type::stockpile_settings__T_furniture: return RDF_Type::Compound; - case DF_Type::stockpile_settings__T_gems: return RDF_Type::Compound; - case DF_Type::stockpile_settings__T_leather: return RDF_Type::Compound; - case DF_Type::stockpile_settings__T_ore: return RDF_Type::Compound; - case DF_Type::stockpile_settings__T_refuse: return RDF_Type::Compound; - case DF_Type::stockpile_settings__T_sheet: return RDF_Type::Compound; - case DF_Type::stockpile_settings__T_stone: return RDF_Type::Compound; - case DF_Type::stockpile_settings__T_weapons: return RDF_Type::Compound; - case DF_Type::stockpile_settings__T_wood: return RDF_Type::Compound; - case DF_Type::stop_depart_condition: return RDF_Type::Struct; - case DF_Type::stop_depart_condition__T_direction: return RDF_Type::Enum; - case DF_Type::stop_depart_condition__T_flags: return RDF_Type::Bitfield; - case DF_Type::stop_depart_condition__T_mode: return RDF_Type::Enum; - case DF_Type::strain_type: return RDF_Type::Enum; - case DF_Type::stratus_type: return RDF_Type::Enum; - case DF_Type::syndrome: return RDF_Type::Struct; - case DF_Type::syndrome_flags: return RDF_Type::Bitfield; - case DF_Type::tactical_situation: return RDF_Type::Enum; - case DF_Type::talk_choice: return RDF_Type::Struct; - case DF_Type::talk_choice__T_unk: return RDF_Type::Compound; - case DF_Type::talk_choice_type: return RDF_Type::Enum; - case DF_Type::temperaturest: return RDF_Type::Struct; - case DF_Type::text_info_element_longst: return RDF_Type::Class; - case DF_Type::text_info_element_stringst: return RDF_Type::Class; - case DF_Type::text_info_elementst: return RDF_Type::Class; - case DF_Type::texture_handler: return RDF_Type::Struct; - case DF_Type::tile_bitmask: return RDF_Type::Struct; - case DF_Type::tile_building_occ: return RDF_Type::Enum; - case DF_Type::tile_designation: return RDF_Type::Bitfield; - case DF_Type::tile_dig_designation: return RDF_Type::Enum; - case DF_Type::tile_liquid: return RDF_Type::Enum; - case DF_Type::tile_liquid_flow: return RDF_Type::Bitfield; - case DF_Type::tile_liquid_flow_dir: return RDF_Type::Enum; - case DF_Type::tile_occupancy: return RDF_Type::Bitfield; - case DF_Type::tile_page: return RDF_Type::Struct; - case DF_Type::tile_traffic: return RDF_Type::Enum; - case DF_Type::tiletype: return RDF_Type::Enum; - case DF_Type::tiletype_material: return RDF_Type::Enum; - case DF_Type::tiletype_shape: return RDF_Type::Enum; - case DF_Type::tiletype_shape_basic: return RDF_Type::Enum; - case DF_Type::tiletype_special: return RDF_Type::Enum; - case DF_Type::tiletype_variant: return RDF_Type::Enum; - case DF_Type::timbre_type: return RDF_Type::Enum; - case DF_Type::timed_event: return RDF_Type::Struct; - case DF_Type::timed_event_type: return RDF_Type::Enum; - case DF_Type::tissue: return RDF_Type::Struct; - case DF_Type::tissue_flags: return RDF_Type::Enum; - case DF_Type::tissue_style_raw: return RDF_Type::Struct; - case DF_Type::tissue_style_type: return RDF_Type::Enum; - case DF_Type::tissue_template: return RDF_Type::Struct; - case DF_Type::tool_flags: return RDF_Type::Enum; - case DF_Type::tool_uses: return RDF_Type::Enum; - case DF_Type::tower_shape: return RDF_Type::Bitfield; - case DF_Type::toy_flags: return RDF_Type::Enum; - case DF_Type::training_assignment: return RDF_Type::Struct; - case DF_Type::training_assignment__T_flags: return RDF_Type::Bitfield; - case DF_Type::training_knowledge_level: return RDF_Type::Enum; - case DF_Type::trap_type: return RDF_Type::Enum; - case DF_Type::trapcomp_flags: return RDF_Type::Enum; - case DF_Type::tree_house_type: return RDF_Type::Enum; - case DF_Type::tuning_type: return RDF_Type::Enum; - case DF_Type::ui: return RDF_Type::Struct; - case DF_Type::ui__T_alerts: return RDF_Type::Compound; - case DF_Type::ui__T_alerts__T_list: return RDF_Type::Compound; - case DF_Type::ui__T_becoming_capital: return RDF_Type::Compound; - case DF_Type::ui__T_burrows: return RDF_Type::Compound; - case DF_Type::ui__T_economy_prices: return RDF_Type::Compound; - case DF_Type::ui__T_economy_prices__T_price_adjustment: return RDF_Type::Compound; - case DF_Type::ui__T_economy_prices__T_price_setter: return RDF_Type::Compound; - case DF_Type::ui__T_equipment: return RDF_Type::Compound; - case DF_Type::ui__T_equipment__T_update: return RDF_Type::Bitfield; - case DF_Type::ui__T_hauling: return RDF_Type::Compound; - case DF_Type::ui__T_invasions: return RDF_Type::Compound; - case DF_Type::ui__T_kitchen: return RDF_Type::Compound; - case DF_Type::ui__T_main: return RDF_Type::Compound; - case DF_Type::ui__T_main__T_dead_citizens: return RDF_Type::Compound; - case DF_Type::ui__T_map_edge: return RDF_Type::Compound; - case DF_Type::ui__T_squads: return RDF_Type::Compound; - case DF_Type::ui__T_stockpile: return RDF_Type::Compound; - case DF_Type::ui__T_tax_collection: return RDF_Type::Compound; - case DF_Type::ui__T_unk23c8_flags: return RDF_Type::Bitfield; - case DF_Type::ui__T_unk2a8c: return RDF_Type::Compound; - case DF_Type::ui__T_waypoints: return RDF_Type::Compound; - case DF_Type::ui__T_waypoints__T_points: return RDF_Type::Compound; - case DF_Type::ui__T_waypoints__T_routes: return RDF_Type::Compound; - case DF_Type::ui_advmode: return RDF_Type::Struct; - case DF_Type::ui_advmode__T_assume_identity: return RDF_Type::Compound; - case DF_Type::ui_advmode__T_companions: return RDF_Type::Compound; - case DF_Type::ui_advmode__T_conversation: return RDF_Type::Compound; - case DF_Type::ui_advmode__T_conversation__T_choices: return RDF_Type::Compound; - case DF_Type::ui_advmode__T_conversation__T_targets: return RDF_Type::Compound; - case DF_Type::ui_advmode__T_conversation__T_targets__T_type: return RDF_Type::Enum; - case DF_Type::ui_advmode__T_interactions: return RDF_Type::Compound; - case DF_Type::ui_advmode__T_show_menu: return RDF_Type::Enum; - case DF_Type::ui_advmode__T_travel_right_map: return RDF_Type::Enum; - case DF_Type::ui_advmode__T_unk_3124: return RDF_Type::Compound; - case DF_Type::ui_advmode__T_unk_3170: return RDF_Type::Compound; - case DF_Type::ui_advmode__T_unk_3170__T_unk_2: return RDF_Type::Compound; - case DF_Type::ui_advmode__T_unk_v40_1: return RDF_Type::Compound; - case DF_Type::ui_advmode__T_unk_v40_2: return RDF_Type::Compound; - case DF_Type::ui_advmode__T_unk_v40_3: return RDF_Type::Compound; - case DF_Type::ui_advmode__T_unk_v40_4: return RDF_Type::Compound; - case DF_Type::ui_advmode__T_unk_v40_4__T_unk_v40_4a: return RDF_Type::Compound; - case DF_Type::ui_advmode__T_unk_v40_5: return RDF_Type::Compound; - case DF_Type::ui_advmode__T_unk_v42_1: return RDF_Type::Compound; - case DF_Type::ui_advmode_menu: return RDF_Type::Enum; - case DF_Type::ui_build_item_req: return RDF_Type::Struct; - case DF_Type::ui_build_selector: return RDF_Type::Class; - case DF_Type::ui_hotkey: return RDF_Type::Struct; - case DF_Type::ui_hotkey__T_cmd: return RDF_Type::Enum; - case DF_Type::ui_hotkey___union4: return RDF_Type::Union; - case DF_Type::ui_look_list: return RDF_Type::Struct; - case DF_Type::ui_look_list__T_items: return RDF_Type::Compound; - case DF_Type::ui_look_list__T_items__T_type: return RDF_Type::Enum; - case DF_Type::ui_look_list__T_items___union3: return RDF_Type::Union; - case DF_Type::ui_sidebar_menus: return RDF_Type::Struct; - case DF_Type::ui_sidebar_menus__T_barracks: return RDF_Type::Compound; - case DF_Type::ui_sidebar_menus__T_building: return RDF_Type::Compound; - case DF_Type::ui_sidebar_menus__T_command_line: return RDF_Type::Compound; - case DF_Type::ui_sidebar_menus__T_designation: return RDF_Type::Compound; - case DF_Type::ui_sidebar_menus__T_designation__T_mine_mode: return RDF_Type::Enum; - case DF_Type::ui_sidebar_menus__T_hospital: return RDF_Type::Compound; - case DF_Type::ui_sidebar_menus__T_job_details: return RDF_Type::Compound; - case DF_Type::ui_sidebar_menus__T_location: return RDF_Type::Compound; - case DF_Type::ui_sidebar_menus__T_minimap: return RDF_Type::Compound; - case DF_Type::ui_sidebar_menus__T_unit: return RDF_Type::Compound; - case DF_Type::ui_sidebar_menus__T_unit__T_expel_error: return RDF_Type::Enum; - case DF_Type::ui_sidebar_menus__T_unit_cursor: return RDF_Type::Compound; - case DF_Type::ui_sidebar_menus__T_unit_skills: return RDF_Type::Compound; - case DF_Type::ui_sidebar_menus__T_workshop_job: return RDF_Type::Compound; - case DF_Type::ui_sidebar_menus__T_zone: return RDF_Type::Compound; - case DF_Type::ui_sidebar_menus__T_zone__T_mode: return RDF_Type::Enum; - case DF_Type::ui_sidebar_mode: return RDF_Type::Enum; - case DF_Type::ui_unit_view_mode: return RDF_Type::Struct; - case DF_Type::ui_unit_view_mode__T_value: return RDF_Type::Enum; - case DF_Type::uint16_t: return RDF_Type::DFArray; - case DF_Type::uint8_t: return RDF_Type::DFArray; - case DF_Type::uniform_category: return RDF_Type::Enum; - case DF_Type::uniform_flags: return RDF_Type::Bitfield; - case DF_Type::uniform_indiv_choice: return RDF_Type::Bitfield; - case DF_Type::unit: return RDF_Type::Class; - case DF_Type::unit__T_animal: return RDF_Type::Compound; - case DF_Type::unit__T_appearance: return RDF_Type::Compound; - case DF_Type::unit__T_body: return RDF_Type::Compound; - case DF_Type::unit__T_counters2: return RDF_Type::Compound; - case DF_Type::unit__T_counters: return RDF_Type::Compound; - case DF_Type::unit__T_counters__T_soldier_mood: return RDF_Type::Enum; - case DF_Type::unit__T_curse: return RDF_Type::Compound; - case DF_Type::unit__T_enemy: return RDF_Type::Compound; - case DF_Type::unit__T_enemy__T_undead: return RDF_Type::Compound; - case DF_Type::unit__T_enemy__T_unk_448: return RDF_Type::Compound; - case DF_Type::unit__T_enemy__T_unk_448__T_unk: return RDF_Type::Compound; - case DF_Type::unit__T_enemy__T_unk_44c: return RDF_Type::Compound; - case DF_Type::unit__T_enemy__T_unk_v40_sub3: return RDF_Type::Compound; - case DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_2: return RDF_Type::Compound; - case DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_6: return RDF_Type::Compound; - case DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7: return RDF_Type::Compound; - case DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7__T_unk_sub1: return RDF_Type::Compound; - case DF_Type::unit__T_enemy__T_witness_reports: return RDF_Type::Compound; - case DF_Type::unit__T_job: return RDF_Type::Compound; - case DF_Type::unit__T_meeting: return RDF_Type::Compound; - case DF_Type::unit__T_meeting__T_state: return RDF_Type::Enum; - case DF_Type::unit__T_military: return RDF_Type::Compound; - case DF_Type::unit__T_military__T_pickup_flags: return RDF_Type::Bitfield; - case DF_Type::unit__T_opponent: return RDF_Type::Compound; - case DF_Type::unit__T_path: return RDF_Type::Compound; - case DF_Type::unit__T_reports: return RDF_Type::Compound; - case DF_Type::unit__T_status2: return RDF_Type::Compound; - case DF_Type::unit__T_status: return RDF_Type::Compound; - case DF_Type::unit__T_status__T_eat_history: return RDF_Type::Compound; - case DF_Type::unit__T_status__T_eat_history__T_drink: return RDF_Type::Compound; - case DF_Type::unit__T_status__T_eat_history__T_food: return RDF_Type::Compound; - case DF_Type::unit__T_syndromes: return RDF_Type::Compound; - case DF_Type::unit__T_unknown7: return RDF_Type::Compound; - case DF_Type::unit_action: return RDF_Type::Struct; - case DF_Type::unit_action__T_data: return RDF_Type::Union; - case DF_Type::unit_action__T_data__T_attack: return RDF_Type::Compound; - case DF_Type::unit_action__T_data__T_attack__T_flags: return RDF_Type::Bitfield; - case DF_Type::unit_action__T_data__T_attack__T_unk_4: return RDF_Type::Compound; - case DF_Type::unit_action__T_data__T_block: return RDF_Type::Compound; - case DF_Type::unit_action__T_data__T_climb: return RDF_Type::Compound; - case DF_Type::unit_action__T_data__T_dodge: return RDF_Type::Compound; - case DF_Type::unit_action__T_data__T_holditem: return RDF_Type::Compound; - case DF_Type::unit_action__T_data__T_holdterrain: return RDF_Type::Compound; - case DF_Type::unit_action__T_data__T_job2: return RDF_Type::Compound; - case DF_Type::unit_action__T_data__T_job: return RDF_Type::Compound; - case DF_Type::unit_action__T_data__T_jump: return RDF_Type::Compound; - case DF_Type::unit_action__T_data__T_liedown: return RDF_Type::Compound; - case DF_Type::unit_action__T_data__T_move: return RDF_Type::Compound; - case DF_Type::unit_action__T_data__T_move__T_flags: return RDF_Type::Bitfield; - case DF_Type::unit_action__T_data__T_parry: return RDF_Type::Compound; - case DF_Type::unit_action__T_data__T_pushobject: return RDF_Type::Compound; - case DF_Type::unit_action__T_data__T_recover: return RDF_Type::Compound; - case DF_Type::unit_action__T_data__T_releaseitem: return RDF_Type::Compound; - case DF_Type::unit_action__T_data__T_releaseterrain: return RDF_Type::Compound; - case DF_Type::unit_action__T_data__T_standup: return RDF_Type::Compound; - case DF_Type::unit_action__T_data__T_suckblood: return RDF_Type::Compound; - case DF_Type::unit_action__T_data__T_talk: return RDF_Type::Compound; - case DF_Type::unit_action__T_data__T_unsteady: return RDF_Type::Compound; - case DF_Type::unit_action_type: return RDF_Type::Enum; - case DF_Type::unit_appearance: return RDF_Type::Struct; - case DF_Type::unit_attribute: return RDF_Type::Struct; - case DF_Type::unit_bp_health_flags: return RDF_Type::Bitfield; - case DF_Type::unit_chunk: return RDF_Type::Struct; - case DF_Type::unit_chunk__T_units: return RDF_Type::Compound; - case DF_Type::unit_coin_debt: return RDF_Type::Struct; - case DF_Type::unit_complaint: return RDF_Type::Struct; - case DF_Type::unit_complaint__T_type: return RDF_Type::Enum; - case DF_Type::unit_dance_skill: return RDF_Type::Struct; - case DF_Type::unit_demand: return RDF_Type::Struct; - case DF_Type::unit_demand__T_place: return RDF_Type::Enum; - case DF_Type::unit_flags1: return RDF_Type::Bitfield; - case DF_Type::unit_flags2: return RDF_Type::Bitfield; - case DF_Type::unit_flags3: return RDF_Type::Bitfield; - case DF_Type::unit_flags4: return RDF_Type::Bitfield; - case DF_Type::unit_genes: return RDF_Type::Struct; - case DF_Type::unit_ghost_info: return RDF_Type::Struct; - case DF_Type::unit_ghost_info__T_flags: return RDF_Type::Bitfield; - case DF_Type::unit_ghost_info__T_target: return RDF_Type::Union; - case DF_Type::unit_health_flags: return RDF_Type::Bitfield; - case DF_Type::unit_health_info: return RDF_Type::Struct; - case DF_Type::unit_health_info__T_op_history: return RDF_Type::Compound; - case DF_Type::unit_health_info__T_op_history__T_info: return RDF_Type::Union; - case DF_Type::unit_health_info__T_op_history__T_info__T_bandage: return RDF_Type::Compound; - case DF_Type::unit_health_info__T_op_history__T_info__T_crutch: return RDF_Type::Compound; - case DF_Type::unit_instrument_skill: return RDF_Type::Struct; - case DF_Type::unit_inventory_item: return RDF_Type::Struct; - case DF_Type::unit_inventory_item__T_mode: return RDF_Type::Enum; - case DF_Type::unit_item_use: return RDF_Type::Struct; - case DF_Type::unit_item_wrestle: return RDF_Type::Struct; - case DF_Type::unit_labor: return RDF_Type::Enum; - case DF_Type::unit_labor_category: return RDF_Type::Enum; - case DF_Type::unit_misc_trait: return RDF_Type::Struct; - case DF_Type::unit_musical_skill: return RDF_Type::Struct; - case DF_Type::unit_path_goal: return RDF_Type::Enum; - case DF_Type::unit_personality: return RDF_Type::Struct; - case DF_Type::unit_personality__T_dreams: return RDF_Type::Compound; - case DF_Type::unit_personality__T_emotions: return RDF_Type::Compound; - case DF_Type::unit_personality__T_emotions__T_flags: return RDF_Type::Bitfield; - case DF_Type::unit_personality__T_flags: return RDF_Type::Bitfield; - case DF_Type::unit_personality__T_needs: return RDF_Type::Compound; - case DF_Type::unit_personality__T_unk5: return RDF_Type::Compound; - case DF_Type::unit_personality__T_unk_v40_2: return RDF_Type::Compound; - case DF_Type::unit_personality__T_unk_v40_6: return RDF_Type::Compound; - case DF_Type::unit_personality__T_values: return RDF_Type::Compound; - case DF_Type::unit_poetic_skill: return RDF_Type::Struct; - case DF_Type::unit_preference: return RDF_Type::Struct; - case DF_Type::unit_preference__T_type: return RDF_Type::Enum; - case DF_Type::unit_preference___union5: return RDF_Type::Union; - case DF_Type::unit_relationship_type: return RDF_Type::Enum; - case DF_Type::unit_report_type: return RDF_Type::Enum; - case DF_Type::unit_request: return RDF_Type::Struct; - case DF_Type::unit_request__T_type: return RDF_Type::Enum; - case DF_Type::unit_skill: return RDF_Type::Struct; - case DF_Type::unit_soul: return RDF_Type::Struct; - case DF_Type::unit_soul__T_performance_skills: return RDF_Type::Compound; - case DF_Type::unit_station_type: return RDF_Type::Enum; - case DF_Type::unit_storage_status: return RDF_Type::Struct; - case DF_Type::unit_syndrome: return RDF_Type::Struct; - case DF_Type::unit_syndrome__T_flags: return RDF_Type::Bitfield; - case DF_Type::unit_syndrome__T_symptoms: return RDF_Type::Compound; - case DF_Type::unit_syndrome__T_symptoms__T_flags: return RDF_Type::Bitfield; - case DF_Type::unit_thought_type: return RDF_Type::Enum; - case DF_Type::unit_unk_138: return RDF_Type::Struct; - case DF_Type::unit_wound: return RDF_Type::Struct; - case DF_Type::unit_wound__T_flags: return RDF_Type::Bitfield; - case DF_Type::unit_wound__T_parts: return RDF_Type::Compound; - case DF_Type::units_other_id: return RDF_Type::Enum; - case DF_Type::value_type: return RDF_Type::Enum; - case DF_Type::vehicle: return RDF_Type::Struct; - case DF_Type::vermin: return RDF_Type::Struct; - case DF_Type::vermin_flags: return RDF_Type::Bitfield; - case DF_Type::viewscreen: return RDF_Type::Class; - case DF_Type::viewscreen_adopt_regionst: return RDF_Type::Class; - case DF_Type::viewscreen_adventure_logst: return RDF_Type::Class; - case DF_Type::viewscreen_adventure_logst__T_info_mode: return RDF_Type::Enum; - case DF_Type::viewscreen_adventure_logst__T_mode: return RDF_Type::Enum; - case DF_Type::viewscreen_announcelistst: return RDF_Type::Class; - case DF_Type::viewscreen_assign_display_itemst: return RDF_Type::Class; - case DF_Type::viewscreen_assign_display_itemst__T_sel_column: return RDF_Type::Enum; - case DF_Type::viewscreen_barterst: return RDF_Type::Class; - case DF_Type::viewscreen_buildinglistst: return RDF_Type::Class; - case DF_Type::viewscreen_buildingst: return RDF_Type::Class; - case DF_Type::viewscreen_choose_start_sitest: return RDF_Type::Class; - case DF_Type::viewscreen_choose_start_sitest__T_finder: return RDF_Type::Compound; - case DF_Type::viewscreen_choose_start_sitest__T_page: return RDF_Type::Enum; - case DF_Type::viewscreen_civlistst: return RDF_Type::Class; - case DF_Type::viewscreen_civlistst__T_artifact_details: return RDF_Type::Compound; - case DF_Type::viewscreen_civlistst__T_page: return RDF_Type::Enum; - case DF_Type::viewscreen_civlistst__T_rumors: return RDF_Type::Compound; - case DF_Type::viewscreen_civlistst__T_rumors__T_type: return RDF_Type::Enum; - case DF_Type::viewscreen_civlistst__T_unk_cache: return RDF_Type::Compound; - case DF_Type::viewscreen_civlistst__T_unk_cache__T_tmp1: return RDF_Type::Compound; - case DF_Type::viewscreen_civlistst__T_unk_cache__T_tmp2: return RDF_Type::Compound; - case DF_Type::viewscreen_createquotast: return RDF_Type::Class; - case DF_Type::viewscreen_customize_unitst: return RDF_Type::Class; - case DF_Type::viewscreen_dungeon_monsterstatusst: return RDF_Type::Class; - case DF_Type::viewscreen_dungeon_wrestlest: return RDF_Type::Class; - case DF_Type::viewscreen_dungeon_wrestlest__T_unk1: return RDF_Type::Compound; - case DF_Type::viewscreen_dungeonmodest: return RDF_Type::Class; - case DF_Type::viewscreen_dwarfmodest: return RDF_Type::Class; - case DF_Type::viewscreen_entityst: return RDF_Type::Class; - case DF_Type::viewscreen_export_graphical_mapst: return RDF_Type::Class; - case DF_Type::viewscreen_export_regionst: return RDF_Type::Class; - case DF_Type::viewscreen_export_regionst__T_unk1: return RDF_Type::Compound; - case DF_Type::viewscreen_game_cleanerst: return RDF_Type::Class; - case DF_Type::viewscreen_game_cleanerst__T_state: return RDF_Type::Enum; - case DF_Type::viewscreen_image_creator_mode: return RDF_Type::Enum; - case DF_Type::viewscreen_image_creatorst: return RDF_Type::Class; - case DF_Type::viewscreen_image_creatorst__T_artifacts: return RDF_Type::Compound; - case DF_Type::viewscreen_image_creatorst__T_descriptions: return RDF_Type::Compound; - case DF_Type::viewscreen_image_creatorst__T_entities: return RDF_Type::Compound; - case DF_Type::viewscreen_image_creatorst__T_objects: return RDF_Type::Compound; - case DF_Type::viewscreen_image_creatorst__T_plants: return RDF_Type::Compound; - case DF_Type::viewscreen_image_creatorst__T_shapes: return RDF_Type::Compound; - case DF_Type::viewscreen_image_creatorst__T_sites: return RDF_Type::Compound; - case DF_Type::viewscreen_image_creatorst__T_trees: return RDF_Type::Compound; - case DF_Type::viewscreen_itemst: return RDF_Type::Class; - case DF_Type::viewscreen_joblistst: return RDF_Type::Class; - case DF_Type::viewscreen_jobmanagementst: return RDF_Type::Class; - case DF_Type::viewscreen_jobst: return RDF_Type::Class; - case DF_Type::viewscreen_justicest: return RDF_Type::Class; - case DF_Type::viewscreen_justicest__T_cur_column: return RDF_Type::Enum; - case DF_Type::viewscreen_kitchenpref_page: return RDF_Type::Enum; - case DF_Type::viewscreen_kitchenprefst: return RDF_Type::Class; - case DF_Type::viewscreen_layer: return RDF_Type::Class; - case DF_Type::viewscreen_layer_arena_creaturest: return RDF_Type::Class; - case DF_Type::viewscreen_layer_assigntradest: return RDF_Type::Class; - case DF_Type::viewscreen_layer_choose_language_namest: return RDF_Type::Class; - case DF_Type::viewscreen_layer_choose_language_namest__T_current_component: return RDF_Type::Enum; - case DF_Type::viewscreen_layer_currencyst: return RDF_Type::Class; - case DF_Type::viewscreen_layer_export_play_mapst: return RDF_Type::Class; - case DF_Type::viewscreen_layer_militaryst: return RDF_Type::Class; - case DF_Type::viewscreen_layer_militaryst__T_ammo: return RDF_Type::Compound; - case DF_Type::viewscreen_layer_militaryst__T_ammo__T_add_item: return RDF_Type::Compound; - case DF_Type::viewscreen_layer_militaryst__T_ammo__T_material: return RDF_Type::Compound; - case DF_Type::viewscreen_layer_militaryst__T_equip: return RDF_Type::Compound; - case DF_Type::viewscreen_layer_militaryst__T_equip__T_add_item: return RDF_Type::Compound; - case DF_Type::viewscreen_layer_militaryst__T_equip__T_assigned: return RDF_Type::Compound; - case DF_Type::viewscreen_layer_militaryst__T_equip__T_color: return RDF_Type::Compound; - case DF_Type::viewscreen_layer_militaryst__T_equip__T_edit_mode: return RDF_Type::Enum; - case DF_Type::viewscreen_layer_militaryst__T_equip__T_material: return RDF_Type::Compound; - case DF_Type::viewscreen_layer_militaryst__T_equip__T_mode: return RDF_Type::Enum; - case DF_Type::viewscreen_layer_militaryst__T_equip__T_uniform: return RDF_Type::Compound; - case DF_Type::viewscreen_layer_militaryst__T_page: return RDF_Type::Enum; - case DF_Type::viewscreen_layer_militaryst__T_positions: return RDF_Type::Compound; - case DF_Type::viewscreen_layer_militaryst__T_squad_members: return RDF_Type::Compound; - case DF_Type::viewscreen_layer_militaryst__T_squads: return RDF_Type::Compound; - case DF_Type::viewscreen_layer_musicsoundst: return RDF_Type::Class; - case DF_Type::viewscreen_layer_noblelistst: return RDF_Type::Class; - case DF_Type::viewscreen_layer_noblelistst__T_candidates: return RDF_Type::Compound; - case DF_Type::viewscreen_layer_noblelistst__T_info: return RDF_Type::Compound; - case DF_Type::viewscreen_layer_noblelistst__T_mode: return RDF_Type::Enum; - case DF_Type::viewscreen_layer_overall_healthst: return RDF_Type::Class; - case DF_Type::viewscreen_layer_reactionst: return RDF_Type::Class; - case DF_Type::viewscreen_layer_squad_schedulest: return RDF_Type::Class; - case DF_Type::viewscreen_layer_stockpilest: return RDF_Type::Class; - case DF_Type::viewscreen_layer_stone_restrictionst: return RDF_Type::Class; - case DF_Type::viewscreen_layer_unit_actionst: return RDF_Type::Class; - case DF_Type::viewscreen_layer_unit_healthst: return RDF_Type::Class; - case DF_Type::viewscreen_layer_unit_relationshipst: return RDF_Type::Class; - case DF_Type::viewscreen_layer_world_gen_param_presetst: return RDF_Type::Class; - case DF_Type::viewscreen_layer_world_gen_paramst: return RDF_Type::Class; - case DF_Type::viewscreen_layer_world_gen_paramst__T_unk1: return RDF_Type::Compound; - case DF_Type::viewscreen_legendsst: return RDF_Type::Class; - case DF_Type::viewscreen_legendsst__T_anon_7: return RDF_Type::Compound; - case DF_Type::viewscreen_legendsst__T_anon_7__T_anon_3: return RDF_Type::Compound; - case DF_Type::viewscreen_legendsst__T_cur_page: return RDF_Type::Enum; - case DF_Type::viewscreen_loadgamest: return RDF_Type::Class; - case DF_Type::viewscreen_locationsst: return RDF_Type::Class; - case DF_Type::viewscreen_locationsst__T_in_edit: return RDF_Type::Enum; - case DF_Type::viewscreen_locationsst__T_menu: return RDF_Type::Enum; - case DF_Type::viewscreen_meetingst: return RDF_Type::Class; - case DF_Type::viewscreen_movieplayerst: return RDF_Type::Class; - case DF_Type::viewscreen_new_regionst: return RDF_Type::Class; - case DF_Type::viewscreen_noblest: return RDF_Type::Class; - case DF_Type::viewscreen_optionst: return RDF_Type::Class; - case DF_Type::viewscreen_overallstatusst: return RDF_Type::Class; - case DF_Type::viewscreen_petitionsst: return RDF_Type::Class; - case DF_Type::viewscreen_petst: return RDF_Type::Class; - case DF_Type::viewscreen_petst__T_animal: return RDF_Type::Union; - case DF_Type::viewscreen_petst__T_mode: return RDF_Type::Enum; - case DF_Type::viewscreen_pricest: return RDF_Type::Class; - case DF_Type::viewscreen_reportlistst: return RDF_Type::Class; - case DF_Type::viewscreen_requestagreementst: return RDF_Type::Class; - case DF_Type::viewscreen_savegamest: return RDF_Type::Class; - case DF_Type::viewscreen_selectitemst: return RDF_Type::Class; - case DF_Type::viewscreen_setupadventurest: return RDF_Type::Class; - case DF_Type::viewscreen_setupadventurest__T_page: return RDF_Type::Enum; - case DF_Type::viewscreen_setupadventurest__T_races_info: return RDF_Type::Compound; - case DF_Type::viewscreen_setupadventurest__T_sel_trait_column: return RDF_Type::Enum; - case DF_Type::viewscreen_setupdwarfgamest: return RDF_Type::Class; - case DF_Type::viewscreen_setupdwarfgamest__T_animals: return RDF_Type::Compound; - case DF_Type::viewscreen_setupdwarfgamest__T_mode: return RDF_Type::Enum; - case DF_Type::viewscreen_setupdwarfgamest__T_unk_v43: return RDF_Type::Compound; - case DF_Type::viewscreen_setupdwarfgamest__T_unk_v43__T_unk_v43_sub9: return RDF_Type::Compound; - case DF_Type::viewscreen_storesst: return RDF_Type::Class; - case DF_Type::viewscreen_textviewerst: return RDF_Type::Class; - case DF_Type::viewscreen_textviewerst__T_formatted_text: return RDF_Type::Compound; - case DF_Type::viewscreen_textviewerst__T_formatted_text__T_flags: return RDF_Type::Bitfield; - case DF_Type::viewscreen_titlest: return RDF_Type::Class; - case DF_Type::viewscreen_titlest__T_sel_subpage: return RDF_Type::Enum; - case DF_Type::viewscreen_titlest__T_start_savegames: return RDF_Type::Compound; - case DF_Type::viewscreen_topicmeeting_fill_land_holder_positionsst: return RDF_Type::Class; - case DF_Type::viewscreen_topicmeeting_takerequestsst: return RDF_Type::Class; - case DF_Type::viewscreen_topicmeetingst: return RDF_Type::Class; - case DF_Type::viewscreen_tradeagreementst: return RDF_Type::Class; - case DF_Type::viewscreen_tradegoodsst: return RDF_Type::Class; - case DF_Type::viewscreen_tradelistst: return RDF_Type::Class; - case DF_Type::viewscreen_treasurelistst: return RDF_Type::Class; - case DF_Type::viewscreen_unitlist_page: return RDF_Type::Enum; - case DF_Type::viewscreen_unitlistst: return RDF_Type::Class; - case DF_Type::viewscreen_unitst: return RDF_Type::Class; - case DF_Type::viewscreen_update_regionst: return RDF_Type::Class; - case DF_Type::viewscreen_wagesst: return RDF_Type::Class; - case DF_Type::viewscreen_workquota_conditionst: return RDF_Type::Class; - case DF_Type::viewscreen_workquota_conditionst__T_mode: return RDF_Type::Enum; - case DF_Type::viewscreen_workquota_conditionst__T_traits: return RDF_Type::Compound; - case DF_Type::viewscreen_workquota_conditionst__T_traits__T_flags: return RDF_Type::Bitfield; - case DF_Type::viewscreen_workquota_detailsst: return RDF_Type::Class; - case DF_Type::viewscreen_workshop_profilest: return RDF_Type::Class; - case DF_Type::viewscreen_workshop_profilest__T_tab: return RDF_Type::Enum; - case DF_Type::weapon_attack: return RDF_Type::Struct; - case DF_Type::weapon_attack__T_flags: return RDF_Type::Bitfield; - case DF_Type::weapon_flags: return RDF_Type::Enum; - case DF_Type::weather_type: return RDF_Type::Enum; - case DF_Type::web_cluster: return RDF_Type::Struct; - case DF_Type::widget_menu: return RDF_Type::Struct; - case DF_Type::widget_textbox: return RDF_Type::Struct; - case DF_Type::workshop_profile: return RDF_Type::Struct; - case DF_Type::workshop_type: return RDF_Type::Enum; - case DF_Type::world: return RDF_Type::Struct; - case DF_Type::world__T_activities: return RDF_Type::Compound; - case DF_Type::world__T_agreements: return RDF_Type::Compound; - case DF_Type::world__T_arena_settings: return RDF_Type::Compound; - case DF_Type::world__T_arena_spawn: return RDF_Type::Compound; - case DF_Type::world__T_arena_spawn__T_equipment: return RDF_Type::Compound; - case DF_Type::world__T_arena_spawn__T_item_types: return RDF_Type::Compound; - case DF_Type::world__T_armies: return RDF_Type::Compound; - case DF_Type::world__T_army_controllers: return RDF_Type::Compound; - case DF_Type::world__T_army_tracking_info: return RDF_Type::Compound; - case DF_Type::world__T_artifacts: return RDF_Type::Compound; - case DF_Type::world__T_belief_systems: return RDF_Type::Compound; - case DF_Type::world__T_crimes: return RDF_Type::Compound; - case DF_Type::world__T_cultural_identities: return RDF_Type::Compound; - case DF_Type::world__T_cur_savegame: return RDF_Type::Compound; - case DF_Type::world__T_dance_forms: return RDF_Type::Compound; - case DF_Type::world__T_enemy_status_cache: return RDF_Type::Compound; - case DF_Type::world__T_entities: return RDF_Type::Compound; - case DF_Type::world__T_features: return RDF_Type::Compound; - case DF_Type::world__T_flow_engine: return RDF_Type::Compound; - case DF_Type::world__T_flow_guides: return RDF_Type::Compound; - case DF_Type::world__T_formations: return RDF_Type::Compound; - case DF_Type::world__T_identities: return RDF_Type::Compound; - case DF_Type::world__T_incidents: return RDF_Type::Compound; - case DF_Type::world__T_interaction_instances: return RDF_Type::Compound; - case DF_Type::world__T_items: return RDF_Type::Compound; - case DF_Type::world__T_languages: return RDF_Type::Compound; - case DF_Type::world__T_map: return RDF_Type::Compound; - case DF_Type::world__T_map_extras: return RDF_Type::Compound; - case DF_Type::world__T_math: return RDF_Type::Compound; - case DF_Type::world__T_math__T_approx: return RDF_Type::Compound; - case DF_Type::world__T_musical_forms: return RDF_Type::Compound; - case DF_Type::world__T_nemesis: return RDF_Type::Compound; - case DF_Type::world__T_occupations: return RDF_Type::Compound; - case DF_Type::world__T_pathfinder: return RDF_Type::Compound; - case DF_Type::world__T_pathfinder__T_boundary_heap: return RDF_Type::Compound; - case DF_Type::world__T_plants: return RDF_Type::Compound; - case DF_Type::world__T_poetic_forms: return RDF_Type::Compound; - case DF_Type::world__T_profession_skills: return RDF_Type::Compound; - case DF_Type::world__T_rhythms: return RDF_Type::Compound; - case DF_Type::world__T_scales: return RDF_Type::Compound; - case DF_Type::world__T_schedules: return RDF_Type::Compound; - case DF_Type::world__T_squads: return RDF_Type::Compound; - case DF_Type::world__T_status: return RDF_Type::Compound; - case DF_Type::world__T_status__T_flags: return RDF_Type::Bitfield; - case DF_Type::world__T_status__T_slots: return RDF_Type::Compound; - case DF_Type::world__T_status__T_slots__T_flags: return RDF_Type::Bitfield; - case DF_Type::world__T_stockpile: return RDF_Type::Compound; - case DF_Type::world__T_stockpile__T_simple1: return RDF_Type::Compound; - case DF_Type::world__T_stockpile__T_simple2: return RDF_Type::Compound; - case DF_Type::world__T_stockpile__T_simple3: return RDF_Type::Compound; - case DF_Type::world__T_units: return RDF_Type::Compound; - case DF_Type::world__T_unk_131ec0: return RDF_Type::Compound; - case DF_Type::world__T_unk_131ef0: return RDF_Type::Compound; - case DF_Type::world__T_unk_131ef0__T_unk_2: return RDF_Type::Compound; - case DF_Type::world__T_unk_19325c: return RDF_Type::Compound; - case DF_Type::world__T_unk_19325c__T_anon_1: return RDF_Type::Compound; - case DF_Type::world__T_unk_19325c__T_anon_2: return RDF_Type::Compound; - case DF_Type::world__T_unk_19325c__T_anon_3: return RDF_Type::Compound; - case DF_Type::world__T_unk_59dc4: return RDF_Type::Compound; - case DF_Type::world__T_unk_59dc4__T_unk1: return RDF_Type::Compound; - case DF_Type::world__T_unk_v40_6: return RDF_Type::Compound; - case DF_Type::world__T_vehicles: return RDF_Type::Compound; - case DF_Type::world__T_vermin: return RDF_Type::Compound; - case DF_Type::world__T_worldgen: return RDF_Type::Compound; - case DF_Type::world__T_worldgen__T_worldgen_parms: return RDF_Type::Compound; - case DF_Type::world__T_worldgen_coord_buf: return RDF_Type::Compound; - case DF_Type::world__T_worldgen_status: return RDF_Type::Compound; - case DF_Type::world__T_written_contents: return RDF_Type::Compound; - case DF_Type::world_construction: return RDF_Type::Class; - case DF_Type::world_construction_bridgest: return RDF_Type::Class; - case DF_Type::world_construction_roadst: return RDF_Type::Class; - case DF_Type::world_construction_square: return RDF_Type::Class; - case DF_Type::world_construction_square_bridgest: return RDF_Type::Class; - case DF_Type::world_construction_square_roadst: return RDF_Type::Class; - case DF_Type::world_construction_square_tunnelst: return RDF_Type::Class; - case DF_Type::world_construction_square_wallst: return RDF_Type::Class; - case DF_Type::world_construction_tunnelst: return RDF_Type::Class; - case DF_Type::world_construction_type: return RDF_Type::Enum; - case DF_Type::world_construction_wallst: return RDF_Type::Class; - case DF_Type::world_dat_summary: return RDF_Type::Struct; - case DF_Type::world_data: return RDF_Type::Struct; - case DF_Type::world_data__T_constructions: return RDF_Type::Compound; - case DF_Type::world_data__T_feature_map: return RDF_Type::Compound; - case DF_Type::world_data__T_feature_map__T_features: return RDF_Type::Compound; - case DF_Type::world_data__T_flip_latitude: return RDF_Type::Enum; - case DF_Type::world_data__T_freakish_weather: return RDF_Type::Compound; - case DF_Type::world_data__T_mountain_peaks: return RDF_Type::Compound; - case DF_Type::world_data__T_unk_150: return RDF_Type::Compound; - case DF_Type::world_data__T_unk_150__T_unk_18: return RDF_Type::Compound; - case DF_Type::world_data__T_unk_150__T_unk_28: return RDF_Type::Compound; - case DF_Type::world_data__T_unk_150__T_unk_8: return RDF_Type::Compound; - case DF_Type::world_data__T_unk_170: return RDF_Type::Compound; - case DF_Type::world_data__T_unk_170__T_unk_4: return RDF_Type::Compound; - case DF_Type::world_data__T_unk_274: return RDF_Type::Compound; - case DF_Type::world_data__T_unk_274__T_unk_10: return RDF_Type::Compound; - case DF_Type::world_data__T_unk_482f8: return RDF_Type::Compound; - case DF_Type::world_data__T_unk_b4: return RDF_Type::Compound; - case DF_Type::world_gen_param_basest: return RDF_Type::Class; - case DF_Type::world_gen_param_charst: return RDF_Type::Class; - case DF_Type::world_gen_param_memberst: return RDF_Type::Class; - case DF_Type::world_gen_param_seedst: return RDF_Type::Class; - case DF_Type::world_gen_param_valuest: return RDF_Type::Class; - case DF_Type::world_geo_biome: return RDF_Type::Struct; - case DF_Type::world_geo_layer: return RDF_Type::Struct; - case DF_Type::world_history: return RDF_Type::Struct; - case DF_Type::world_history__T_event_collections: return RDF_Type::Compound; - case DF_Type::world_landmass: return RDF_Type::Struct; - case DF_Type::world_object_data: return RDF_Type::Struct; - case DF_Type::world_object_data__T_offloaded_buildings: return RDF_Type::Compound; - case DF_Type::world_object_data__T_offloaded_items: return RDF_Type::Compound; - case DF_Type::world_object_data__T_unk_94: return RDF_Type::Compound; - case DF_Type::world_population: return RDF_Type::Struct; - case DF_Type::world_population___union7: return RDF_Type::Union; - case DF_Type::world_population_ref: return RDF_Type::Struct; - case DF_Type::world_population_type: return RDF_Type::Enum; - case DF_Type::world_raws: return RDF_Type::Struct; - case DF_Type::world_raws__T_bodyglosses: return RDF_Type::Compound; - case DF_Type::world_raws__T_buildings: return RDF_Type::Compound; - case DF_Type::world_raws__T_descriptors: return RDF_Type::Compound; - case DF_Type::world_raws__T_effects: return RDF_Type::Compound; - case DF_Type::world_raws__T_itemdefs: return RDF_Type::Compound; - case DF_Type::world_raws__T_language: return RDF_Type::Compound; - case DF_Type::world_raws__T_plants: return RDF_Type::Compound; - case DF_Type::world_raws__T_reactions: return RDF_Type::Compound; - case DF_Type::world_raws__T_syndromes: return RDF_Type::Compound; - case DF_Type::world_region: return RDF_Type::Struct; - case DF_Type::world_region_details: return RDF_Type::Struct; - case DF_Type::world_region_details__T_edges: return RDF_Type::Compound; - case DF_Type::world_region_details__T_rivers_horizontal: return RDF_Type::Compound; - case DF_Type::world_region_details__T_rivers_vertical: return RDF_Type::Compound; - case DF_Type::world_region_feature: return RDF_Type::Struct; - case DF_Type::world_region_type: return RDF_Type::Enum; - case DF_Type::world_river: return RDF_Type::Struct; - case DF_Type::world_site: return RDF_Type::Struct; - case DF_Type::world_site__T_subtype_info: return RDF_Type::Compound; - case DF_Type::world_site__T_unk_118: return RDF_Type::Compound; - case DF_Type::world_site__T_unk_13c: return RDF_Type::Compound; - case DF_Type::world_site__T_unk_188: return RDF_Type::Compound; - case DF_Type::world_site__T_unk_188__T_unk1: return RDF_Type::Compound; - case DF_Type::world_site__T_unk_1: return RDF_Type::Compound; - case DF_Type::world_site__T_unk_1__T_units: return RDF_Type::Compound; - case DF_Type::world_site__T_unk_21c: return RDF_Type::Compound; - case DF_Type::world_site__T_unk_v40_2: return RDF_Type::Compound; - case DF_Type::world_site__T_unk_v40_4a: return RDF_Type::Compound; - case DF_Type::world_site__T_unk_v40_4b: return RDF_Type::Compound; - case DF_Type::world_site__T_unk_v40_4c: return RDF_Type::Compound; - case DF_Type::world_site__T_unk_v40_4d: return RDF_Type::Compound; - case DF_Type::world_site__T_unk_v40_4d__T_anon_2: return RDF_Type::Compound; - case DF_Type::world_site__T_unk_v43_2: return RDF_Type::Compound; - case DF_Type::world_site_flags: return RDF_Type::Enum; - case DF_Type::world_site_inhabitant: return RDF_Type::Struct; - case DF_Type::world_site_realization: return RDF_Type::Struct; - case DF_Type::world_site_realization__T_areas: return RDF_Type::Compound; - case DF_Type::world_site_realization__T_areas__T_type: return RDF_Type::Enum; - case DF_Type::world_site_realization__T_building_map: return RDF_Type::Compound; - case DF_Type::world_site_realization__T_river_map: return RDF_Type::Compound; - case DF_Type::world_site_realization__T_unk_193bc: return RDF_Type::Compound; - case DF_Type::world_site_realization__T_unk_193bc__T_unk_8: return RDF_Type::Compound; - case DF_Type::world_site_realization__T_unk_55e8: return RDF_Type::Compound; - case DF_Type::world_site_realization__T_unk_55e8__T_unk_v40_2: return RDF_Type::Compound; - case DF_Type::world_site_type: return RDF_Type::Enum; - case DF_Type::world_site_unk130: return RDF_Type::Struct; - case DF_Type::world_site_unk130__T_unk_4: return RDF_Type::Compound; - case DF_Type::world_underground_region: return RDF_Type::Struct; - case DF_Type::world_underground_region__T_type: return RDF_Type::Enum; - case DF_Type::world_unk_20: return RDF_Type::Struct; - case DF_Type::world_unk_20__T_anon_7: return RDF_Type::Compound; - case DF_Type::world_unk_6c: return RDF_Type::Struct; - case DF_Type::world_unk_9c: return RDF_Type::Struct; - case DF_Type::world_unk_a8: return RDF_Type::Struct; - case DF_Type::world_unk_b4: return RDF_Type::Struct; - case DF_Type::world_unk_c0: return RDF_Type::Struct; - case DF_Type::world_unk_c0__T_anon_7: return RDF_Type::Compound; - case DF_Type::worldgen_range_type: return RDF_Type::Enum; - case DF_Type::worldgen_region_type: return RDF_Type::Enum; - case DF_Type::wound_curse_info: return RDF_Type::Struct; - case DF_Type::wound_damage_flags1: return RDF_Type::Bitfield; - case DF_Type::wound_damage_flags2: return RDF_Type::Bitfield; - case DF_Type::wound_effect_type: return RDF_Type::Enum; - case DF_Type::written_content: return RDF_Type::Struct; - case DF_Type::written_content_style: return RDF_Type::Enum; - case DF_Type::written_content_type: return RDF_Type::Enum; - case DF_Type::z_level_flags: return RDF_Type::Bitfield; - case DF_Type::zoom_commands: return RDF_Type::Enum; - default: break; - } - return RDF_Type::None; -} +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "df_all.h" +#include "DF_Types.h" +#include "RDF_Types.h" + + +using namespace rdf; + + +RDF_Type df_2_rdf(DF_Type p_df_type) +{ + switch(p_df_type) + { + case DF_Type::KeybindingScreen: return RDF_Type::Class; + case DF_Type::KeybindingScreen__T_mode: return RDF_Type::Enum; + case DF_Type::MacroScreenLoad: return RDF_Type::Class; + case DF_Type::MacroScreenSave: return RDF_Type::Class; + case DF_Type::T_cursor: return RDF_Type::Compound; + case DF_Type::T_selection_rect: return RDF_Type::Compound; + case DF_Type::abstract_building: return RDF_Type::Class; + case DF_Type::abstract_building__T_inhabitants: return RDF_Type::Compound; + case DF_Type::abstract_building__T_unk1: return RDF_Type::Compound; + case DF_Type::abstract_building_contents: return RDF_Type::Struct; + case DF_Type::abstract_building_dark_towerst: return RDF_Type::Class; + case DF_Type::abstract_building_dungeonst: return RDF_Type::Class; + case DF_Type::abstract_building_dungeonst__T_dungeon_type: return RDF_Type::Enum; + case DF_Type::abstract_building_flags: return RDF_Type::Enum; + case DF_Type::abstract_building_inn_tavernst: return RDF_Type::Class; + case DF_Type::abstract_building_inn_tavernst__T_room_info: return RDF_Type::Compound; + case DF_Type::abstract_building_keepst: return RDF_Type::Class; + case DF_Type::abstract_building_libraryst: return RDF_Type::Class; + case DF_Type::abstract_building_marketst: return RDF_Type::Class; + case DF_Type::abstract_building_mead_hallst: return RDF_Type::Class; + case DF_Type::abstract_building_templest: return RDF_Type::Class; + case DF_Type::abstract_building_tombst: return RDF_Type::Class; + case DF_Type::abstract_building_type: return RDF_Type::Enum; + case DF_Type::abstract_building_underworld_spirest: return RDF_Type::Class; + case DF_Type::abstract_building_unk: return RDF_Type::Struct; + case DF_Type::abstract_building_unk__T_anon_1: return RDF_Type::Compound; + case DF_Type::active_script_var_longst: return RDF_Type::Class; + case DF_Type::active_script_var_unitst: return RDF_Type::Class; + case DF_Type::active_script_varst: return RDF_Type::Class; + case DF_Type::activity_entry: return RDF_Type::Struct; + case DF_Type::activity_event: return RDF_Type::Class; + case DF_Type::activity_event__T_flags: return RDF_Type::Bitfield; + case DF_Type::activity_event__T_unk_v42_1: return RDF_Type::Compound; + case DF_Type::activity_event__T_unk_v42_2: return RDF_Type::Compound; + case DF_Type::activity_event_combat_trainingst: return RDF_Type::Class; + case DF_Type::activity_event_conflictst: return RDF_Type::Class; + case DF_Type::activity_event_conflictst__T_sides: return RDF_Type::Compound; + case DF_Type::activity_event_conflictst__T_sides__T_enemies: return RDF_Type::Compound; + case DF_Type::activity_event_conversationst: return RDF_Type::Class; + case DF_Type::activity_event_conversationst__T_anon_6: return RDF_Type::Compound; + case DF_Type::activity_event_conversationst__T_flags2: return RDF_Type::Bitfield; + case DF_Type::activity_event_conversationst__T_participants: return RDF_Type::Compound; + case DF_Type::activity_event_conversationst__T_turns: return RDF_Type::Compound; + case DF_Type::activity_event_conversationst__T_unk2: return RDF_Type::Compound; + case DF_Type::activity_event_conversationst__T_unk_b4: return RDF_Type::Compound; + case DF_Type::activity_event_copy_written_contentst: return RDF_Type::Class; + case DF_Type::activity_event_copy_written_contentst__T_flagsmaybe: return RDF_Type::Bitfield; + case DF_Type::activity_event_discuss_topicst: return RDF_Type::Class; + case DF_Type::activity_event_encounterst: return RDF_Type::Class; + case DF_Type::activity_event_encounterst__T_anon_1: return RDF_Type::Compound; + case DF_Type::activity_event_encounterst__T_anon_2: return RDF_Type::Compound; + case DF_Type::activity_event_fill_service_orderst: return RDF_Type::Class; + case DF_Type::activity_event_guardst: return RDF_Type::Class; + case DF_Type::activity_event_harassmentst: return RDF_Type::Class; + case DF_Type::activity_event_harassmentst__T_anon_2: return RDF_Type::Compound; + case DF_Type::activity_event_individual_skill_drillst: return RDF_Type::Class; + case DF_Type::activity_event_make_believest: return RDF_Type::Class; + case DF_Type::activity_event_participants: return RDF_Type::Struct; + case DF_Type::activity_event_performancest: return RDF_Type::Class; + case DF_Type::activity_event_performancest__T_participant_actions: return RDF_Type::Compound; + case DF_Type::activity_event_play_with_toyst: return RDF_Type::Class; + case DF_Type::activity_event_play_with_toyst__T_unk: return RDF_Type::Compound; + case DF_Type::activity_event_playst: return RDF_Type::Class; + case DF_Type::activity_event_ponder_topicst: return RDF_Type::Class; + case DF_Type::activity_event_prayerst: return RDF_Type::Class; + case DF_Type::activity_event_ranged_practicest: return RDF_Type::Class; + case DF_Type::activity_event_readst: return RDF_Type::Class; + case DF_Type::activity_event_researchst: return RDF_Type::Class; + case DF_Type::activity_event_reunionst: return RDF_Type::Class; + case DF_Type::activity_event_skill_demonstrationst: return RDF_Type::Class; + case DF_Type::activity_event_socializest: return RDF_Type::Class; + case DF_Type::activity_event_sparringst: return RDF_Type::Class; + case DF_Type::activity_event_sparringst__T_groups: return RDF_Type::Compound; + case DF_Type::activity_event_store_objectst: return RDF_Type::Class; + case DF_Type::activity_event_teach_topicst: return RDF_Type::Class; + case DF_Type::activity_event_training_sessionst: return RDF_Type::Class; + case DF_Type::activity_event_type: return RDF_Type::Enum; + case DF_Type::activity_event_worshipst: return RDF_Type::Class; + case DF_Type::activity_event_writest: return RDF_Type::Class; + case DF_Type::activity_info: return RDF_Type::Struct; + case DF_Type::activity_info__T_flags: return RDF_Type::Bitfield; + case DF_Type::adventure_environment_ingest_from_containerst: return RDF_Type::Class; + case DF_Type::adventure_environment_ingest_materialst: return RDF_Type::Class; + case DF_Type::adventure_environment_optionst: return RDF_Type::Class; + case DF_Type::adventure_environment_pickup_chop_treest: return RDF_Type::Class; + case DF_Type::adventure_environment_pickup_ignite_vegst: return RDF_Type::Class; + case DF_Type::adventure_environment_pickup_make_campfirest: return RDF_Type::Class; + case DF_Type::adventure_environment_pickup_vermin_eventst: return RDF_Type::Class; + case DF_Type::adventure_environment_place_in_bld_containerst: return RDF_Type::Class; + case DF_Type::adventure_environment_place_in_it_containerst: return RDF_Type::Class; + case DF_Type::adventure_environment_unit_suck_bloodst: return RDF_Type::Class; + case DF_Type::adventure_item_interact_choicest: return RDF_Type::Class; + case DF_Type::adventure_item_interact_fill_from_containerst: return RDF_Type::Class; + case DF_Type::adventure_item_interact_fill_with_materialst: return RDF_Type::Class; + case DF_Type::adventure_item_interact_give_namest: return RDF_Type::Class; + case DF_Type::adventure_item_interact_heat_from_tilest: return RDF_Type::Class; + case DF_Type::adventure_item_interact_pull_outst: return RDF_Type::Class; + case DF_Type::adventure_item_interact_readst: return RDF_Type::Class; + case DF_Type::adventure_item_interact_strugglest: return RDF_Type::Class; + case DF_Type::adventure_log_item: return RDF_Type::Struct; + case DF_Type::adventure_movement_attack_creaturest: return RDF_Type::Class; + case DF_Type::adventure_movement_building_interactst: return RDF_Type::Class; + case DF_Type::adventure_movement_climbst: return RDF_Type::Class; + case DF_Type::adventure_movement_hold_itemst: return RDF_Type::Class; + case DF_Type::adventure_movement_hold_tilest: return RDF_Type::Class; + case DF_Type::adventure_movement_item_interact_guidest: return RDF_Type::Class; + case DF_Type::adventure_movement_item_interact_pushst: return RDF_Type::Class; + case DF_Type::adventure_movement_item_interact_ridest: return RDF_Type::Class; + case DF_Type::adventure_movement_item_interactst: return RDF_Type::Class; + case DF_Type::adventure_movement_movest: return RDF_Type::Class; + case DF_Type::adventure_movement_optionst: return RDF_Type::Class; + case DF_Type::adventure_movement_release_hold_itemst: return RDF_Type::Class; + case DF_Type::adventure_movement_release_hold_tilest: return RDF_Type::Class; + case DF_Type::adventure_option_eat_item_contaminantst: return RDF_Type::Class; + case DF_Type::adventure_option_eat_unit_contaminantst: return RDF_Type::Class; + case DF_Type::adventure_option_view_contaminantst: return RDF_Type::Class; + case DF_Type::adventure_optionst: return RDF_Type::Class; + case DF_Type::adventurer_attribute_level: return RDF_Type::Enum; + case DF_Type::agreement: return RDF_Type::Struct; + case DF_Type::agreement__T_details: return RDF_Type::Compound; + case DF_Type::agreement__T_details__T_data: return RDF_Type::Union; + case DF_Type::agreement__T_details__T_data__T_data0: return RDF_Type::Compound; + case DF_Type::agreement__T_details__T_data__T_data1: return RDF_Type::Compound; + case DF_Type::agreement__T_parties: return RDF_Type::Compound; + case DF_Type::agreement__T_parties__T_anon_1: return RDF_Type::Compound; + case DF_Type::ammo_flags: return RDF_Type::Enum; + case DF_Type::animal_training_level: return RDF_Type::Enum; + case DF_Type::announcement_flags: return RDF_Type::Bitfield; + case DF_Type::announcement_type: return RDF_Type::Enum; + case DF_Type::announcements: return RDF_Type::Struct; + case DF_Type::appearance_modifier_growth_interval: return RDF_Type::Enum; + case DF_Type::appearance_modifier_type: return RDF_Type::Enum; + case DF_Type::armor_flags: return RDF_Type::Enum; + case DF_Type::armor_general_flags: return RDF_Type::Enum; + case DF_Type::armor_properties: return RDF_Type::Struct; + case DF_Type::army: return RDF_Type::Struct; + case DF_Type::army__T_members: return RDF_Type::Compound; + case DF_Type::army__T_unk_2c: return RDF_Type::Compound; + case DF_Type::army_controller: return RDF_Type::Struct; + case DF_Type::army_controller__T_unk_64: return RDF_Type::Union; + case DF_Type::army_controller_sub11: return RDF_Type::Struct; + case DF_Type::army_controller_sub11__T_anon_3: return RDF_Type::Compound; + case DF_Type::army_controller_sub12: return RDF_Type::Struct; + case DF_Type::army_controller_sub12__T_anon_4: return RDF_Type::Compound; + case DF_Type::army_controller_sub13: return RDF_Type::Struct; + case DF_Type::army_controller_sub13__T_anon_4: return RDF_Type::Compound; + case DF_Type::army_controller_sub14: return RDF_Type::Struct; + case DF_Type::army_controller_sub14__T_anon_4: return RDF_Type::Compound; + case DF_Type::army_controller_sub15: return RDF_Type::Struct; + case DF_Type::army_controller_sub15__T_anon_3: return RDF_Type::Compound; + case DF_Type::army_controller_sub16: return RDF_Type::Struct; + case DF_Type::army_controller_sub17: return RDF_Type::Struct; + case DF_Type::army_controller_sub18: return RDF_Type::Struct; + case DF_Type::army_controller_sub1: return RDF_Type::Struct; + case DF_Type::army_controller_sub2: return RDF_Type::Struct; + case DF_Type::army_controller_sub2__T_anon_5: return RDF_Type::Compound; + case DF_Type::army_controller_sub4: return RDF_Type::Struct; + case DF_Type::army_controller_sub4__T_unk_2: return RDF_Type::Bitfield; + case DF_Type::army_controller_sub5: return RDF_Type::Struct; + case DF_Type::army_controller_sub6: return RDF_Type::Struct; + case DF_Type::army_controller_sub7: return RDF_Type::Struct; + case DF_Type::army_controller_sub7__T_anon_3: return RDF_Type::Compound; + case DF_Type::army_flags: return RDF_Type::Enum; + case DF_Type::art_facet_type: return RDF_Type::Enum; + case DF_Type::art_image: return RDF_Type::Struct; + case DF_Type::art_image_chunk: return RDF_Type::Struct; + case DF_Type::art_image_element: return RDF_Type::Class; + case DF_Type::art_image_element_creaturest: return RDF_Type::Class; + case DF_Type::art_image_element_itemst: return RDF_Type::Class; + case DF_Type::art_image_element_plantst: return RDF_Type::Class; + case DF_Type::art_image_element_shapest: return RDF_Type::Class; + case DF_Type::art_image_element_treest: return RDF_Type::Class; + case DF_Type::art_image_element_type: return RDF_Type::Enum; + case DF_Type::art_image_property: return RDF_Type::Class; + case DF_Type::art_image_property_intransitive_verbst: return RDF_Type::Class; + case DF_Type::art_image_property_transitive_verbst: return RDF_Type::Class; + case DF_Type::art_image_property_type: return RDF_Type::Enum; + case DF_Type::art_image_property_verb: return RDF_Type::Enum; + case DF_Type::art_image_ref: return RDF_Type::Struct; + case DF_Type::artifact_record: return RDF_Type::Struct; + case DF_Type::assign_trade_status: return RDF_Type::Struct; + case DF_Type::assign_trade_status__T_status: return RDF_Type::Enum; + case DF_Type::assume_identity_mode: return RDF_Type::Enum; + case DF_Type::barrack_preference_category: return RDF_Type::Enum; + case DF_Type::belief_system: return RDF_Type::Struct; + case DF_Type::biome_type: return RDF_Type::Enum; + case DF_Type::block_burrow: return RDF_Type::Struct; + case DF_Type::block_burrow_link: return RDF_Type::Struct; + case DF_Type::block_flags: return RDF_Type::Bitfield; + case DF_Type::block_square_event: return RDF_Type::Class; + case DF_Type::block_square_event_designation_priorityst: return RDF_Type::Class; + case DF_Type::block_square_event_frozen_liquidst: return RDF_Type::Class; + case DF_Type::block_square_event_grassst: return RDF_Type::Class; + case DF_Type::block_square_event_item_spatterst: return RDF_Type::Class; + case DF_Type::block_square_event_material_spatterst: return RDF_Type::Class; + case DF_Type::block_square_event_mineralst: return RDF_Type::Class; + case DF_Type::block_square_event_mineralst__T_flags: return RDF_Type::Bitfield; + case DF_Type::block_square_event_spoorst: return RDF_Type::Class; + case DF_Type::block_square_event_type: return RDF_Type::Enum; + case DF_Type::block_square_event_world_constructionst: return RDF_Type::Class; + case DF_Type::body_appearance_modifier: return RDF_Type::Struct; + case DF_Type::body_component_info: return RDF_Type::Struct; + case DF_Type::body_detail_plan: return RDF_Type::Struct; + case DF_Type::body_layer_status: return RDF_Type::Bitfield; + case DF_Type::body_part_layer_flags: return RDF_Type::Enum; + case DF_Type::body_part_layer_raw: return RDF_Type::Struct; + case DF_Type::body_part_raw: return RDF_Type::Struct; + case DF_Type::body_part_raw_flags: return RDF_Type::Enum; + case DF_Type::body_part_status: return RDF_Type::Bitfield; + case DF_Type::body_part_template: return RDF_Type::Struct; + case DF_Type::body_part_template_contype: return RDF_Type::Enum; + case DF_Type::body_part_template_flags: return RDF_Type::Enum; + case DF_Type::body_size_info: return RDF_Type::Struct; + case DF_Type::body_template: return RDF_Type::Struct; + case DF_Type::bp_appearance_modifier: return RDF_Type::Struct; + case DF_Type::breath_attack_type: return RDF_Type::Enum; + case DF_Type::build_req_choice_genst: return RDF_Type::Class; + case DF_Type::build_req_choice_specst: return RDF_Type::Class; + case DF_Type::build_req_choice_type: return RDF_Type::Enum; + case DF_Type::build_req_choicest: return RDF_Type::Class; + case DF_Type::building: return RDF_Type::Class; + case DF_Type::building__T_activities: return RDF_Type::Compound; + case DF_Type::building__T_job_claim_suppress: return RDF_Type::Compound; + case DF_Type::building_actual: return RDF_Type::Class; + case DF_Type::building_actual__T_contained_items: return RDF_Type::Compound; + case DF_Type::building_animaltrapst: return RDF_Type::Class; + case DF_Type::building_archerytargetst: return RDF_Type::Class; + case DF_Type::building_archerytargetst__T_archery_direction: return RDF_Type::Enum; + case DF_Type::building_armorstandst: return RDF_Type::Class; + case DF_Type::building_axle_horizontalst: return RDF_Type::Class; + case DF_Type::building_axle_verticalst: return RDF_Type::Class; + case DF_Type::building_bars_floorst: return RDF_Type::Class; + case DF_Type::building_bars_verticalst: return RDF_Type::Class; + case DF_Type::building_bedst: return RDF_Type::Class; + case DF_Type::building_bedst__T_bed_flags: return RDF_Type::Bitfield; + case DF_Type::building_bookcasest: return RDF_Type::Class; + case DF_Type::building_boxst: return RDF_Type::Class; + case DF_Type::building_bridgest: return RDF_Type::Class; + case DF_Type::building_bridgest__T_direction: return RDF_Type::Enum; + case DF_Type::building_cabinetst: return RDF_Type::Class; + case DF_Type::building_cagest: return RDF_Type::Class; + case DF_Type::building_cagest__T_cage_flags: return RDF_Type::Bitfield; + case DF_Type::building_chainst: return RDF_Type::Class; + case DF_Type::building_chainst__T_chain_flags: return RDF_Type::Bitfield; + case DF_Type::building_chairst: return RDF_Type::Class; + case DF_Type::building_civzonest: return RDF_Type::Class; + case DF_Type::building_civzonest__T_gather_flags: return RDF_Type::Bitfield; + case DF_Type::building_civzonest__T_pit_flags: return RDF_Type::Bitfield; + case DF_Type::building_civzonest__T_zone_flags: return RDF_Type::Bitfield; + case DF_Type::building_coffinst: return RDF_Type::Class; + case DF_Type::building_coffinst__T_burial_mode: return RDF_Type::Bitfield; + case DF_Type::building_constructionst: return RDF_Type::Class; + case DF_Type::building_def: return RDF_Type::Class; + case DF_Type::building_def_furnacest: return RDF_Type::Class; + case DF_Type::building_def_item: return RDF_Type::Struct; + case DF_Type::building_def_workshopst: return RDF_Type::Class; + case DF_Type::building_design: return RDF_Type::Struct; + case DF_Type::building_design__T_flags: return RDF_Type::Bitfield; + case DF_Type::building_display_furniturest: return RDF_Type::Class; + case DF_Type::building_doorst: return RDF_Type::Class; + case DF_Type::building_drawbuffer: return RDF_Type::Struct; + case DF_Type::building_extents: return RDF_Type::Struct; + case DF_Type::building_farmplotst: return RDF_Type::Class; + case DF_Type::building_flags: return RDF_Type::Bitfield; + case DF_Type::building_floodgatest: return RDF_Type::Class; + case DF_Type::building_furnacest: return RDF_Type::Class; + case DF_Type::building_gear_assemblyst: return RDF_Type::Class; + case DF_Type::building_gear_assemblyst__T_gear_flags: return RDF_Type::Bitfield; + case DF_Type::building_grate_floorst: return RDF_Type::Class; + case DF_Type::building_grate_wallst: return RDF_Type::Class; + case DF_Type::building_handler: return RDF_Type::Class; + case DF_Type::building_hatchst: return RDF_Type::Class; + case DF_Type::building_hivest: return RDF_Type::Class; + case DF_Type::building_instrumentst: return RDF_Type::Class; + case DF_Type::building_nest_boxst: return RDF_Type::Class; + case DF_Type::building_nestst: return RDF_Type::Class; + case DF_Type::building_road_dirtst: return RDF_Type::Class; + case DF_Type::building_road_pavedst: return RDF_Type::Class; + case DF_Type::building_roadst: return RDF_Type::Class; + case DF_Type::building_rollersst: return RDF_Type::Class; + case DF_Type::building_screw_pumpst: return RDF_Type::Class; + case DF_Type::building_shopst: return RDF_Type::Class; + case DF_Type::building_shopst__T_shop_flags: return RDF_Type::Bitfield; + case DF_Type::building_siegeenginest: return RDF_Type::Class; + case DF_Type::building_siegeenginest__T_action: return RDF_Type::Enum; + case DF_Type::building_siegeenginest__T_facing: return RDF_Type::Enum; + case DF_Type::building_slabst: return RDF_Type::Class; + case DF_Type::building_squad_use: return RDF_Type::Struct; + case DF_Type::building_statuest: return RDF_Type::Class; + case DF_Type::building_stockpilest: return RDF_Type::Class; + case DF_Type::building_supportst: return RDF_Type::Class; + case DF_Type::building_supportst__T_support_flags: return RDF_Type::Bitfield; + case DF_Type::building_tablest: return RDF_Type::Class; + case DF_Type::building_tablest__T_table_flags: return RDF_Type::Bitfield; + case DF_Type::building_traction_benchst: return RDF_Type::Class; + case DF_Type::building_tradedepotst: return RDF_Type::Class; + case DF_Type::building_tradedepotst__T_trade_flags: return RDF_Type::Bitfield; + case DF_Type::building_trapst: return RDF_Type::Class; + case DF_Type::building_trapst__T_stop_flags: return RDF_Type::Bitfield; + case DF_Type::building_type: return RDF_Type::Enum; + case DF_Type::building_users: return RDF_Type::Struct; + case DF_Type::building_wagonst: return RDF_Type::Class; + case DF_Type::building_water_wheelst: return RDF_Type::Class; + case DF_Type::building_weaponrackst: return RDF_Type::Class; + case DF_Type::building_weaponst: return RDF_Type::Class; + case DF_Type::building_wellst: return RDF_Type::Class; + case DF_Type::building_wellst__T_well_flags: return RDF_Type::Bitfield; + case DF_Type::building_windmillst: return RDF_Type::Class; + case DF_Type::building_window_gemst: return RDF_Type::Class; + case DF_Type::building_window_glassst: return RDF_Type::Class; + case DF_Type::building_windowst: return RDF_Type::Class; + case DF_Type::building_workshopst: return RDF_Type::Class; + case DF_Type::buildings_other_id: return RDF_Type::Enum; + case DF_Type::builtin_mats: return RDF_Type::Enum; + case DF_Type::burrow: return RDF_Type::Struct; + case DF_Type::campfire: return RDF_Type::Struct; + case DF_Type::caravan_state: return RDF_Type::Struct; + case DF_Type::caravan_state__T_flags: return RDF_Type::Bitfield; + case DF_Type::caravan_state__T_trade_state: return RDF_Type::Enum; + case DF_Type::caste_attack: return RDF_Type::Struct; + case DF_Type::caste_attack__T_flags: return RDF_Type::Bitfield; + case DF_Type::caste_body_info: return RDF_Type::Struct; + case DF_Type::caste_body_info__T_extra_butcher_objects: return RDF_Type::Compound; + case DF_Type::caste_body_info__T_flags: return RDF_Type::Bitfield; + case DF_Type::caste_body_info__T_interactions: return RDF_Type::Compound; + case DF_Type::caste_body_info__T_interactions__T_type: return RDF_Type::Enum; + case DF_Type::caste_clothing_item: return RDF_Type::Struct; + case DF_Type::caste_raw: return RDF_Type::Struct; + case DF_Type::caste_raw__T_attributes: return RDF_Type::Compound; + case DF_Type::caste_raw__T_bp_appearance: return RDF_Type::Compound; + case DF_Type::caste_raw__T_caste_profession_name: return RDF_Type::Compound; + case DF_Type::caste_raw__T_extracts: return RDF_Type::Compound; + case DF_Type::caste_raw__T_misc: return RDF_Type::Compound; + case DF_Type::caste_raw__T_personality: return RDF_Type::Compound; + case DF_Type::caste_raw__T_secretion: return RDF_Type::Compound; + case DF_Type::caste_raw__T_shearable_tissue_layer: return RDF_Type::Compound; + case DF_Type::caste_raw__T_unknown2: return RDF_Type::Compound; + case DF_Type::caste_raw_flags: return RDF_Type::Enum; + case DF_Type::cave_column: return RDF_Type::Class; + case DF_Type::cave_column_link: return RDF_Type::Struct; + case DF_Type::cave_column_rectangle: return RDF_Type::Class; + case DF_Type::cie_add_tag_mask1: return RDF_Type::Bitfield; + case DF_Type::cie_add_tag_mask2: return RDF_Type::Bitfield; + case DF_Type::civzone_type: return RDF_Type::Enum; + case DF_Type::coin_batch: return RDF_Type::Struct; + case DF_Type::coin_batch__T_image_back: return RDF_Type::Compound; + case DF_Type::coin_batch__T_image_front: return RDF_Type::Compound; + case DF_Type::color_modifier_raw: return RDF_Type::Struct; + case DF_Type::combat_report_event_type: return RDF_Type::Enum; + case DF_Type::conflict_level: return RDF_Type::Enum; + case DF_Type::construction: return RDF_Type::Struct; + case DF_Type::construction_flags: return RDF_Type::Bitfield; + case DF_Type::construction_type: return RDF_Type::Enum; + case DF_Type::conversation: return RDF_Type::Struct; + case DF_Type::conversation__T_speech: return RDF_Type::Compound; + case DF_Type::conversation__T_state: return RDF_Type::Enum; + case DF_Type::conversation_menu: return RDF_Type::Enum; + case DF_Type::coord2d: return RDF_Type::Struct; + case DF_Type::coord2d_path: return RDF_Type::Struct; + case DF_Type::coord: return RDF_Type::Struct; + case DF_Type::coord_path: return RDF_Type::Struct; + case DF_Type::coord_rect: return RDF_Type::Struct; + case DF_Type::corpse_material_type: return RDF_Type::Enum; + case DF_Type::craft_material_class: return RDF_Type::Enum; + case DF_Type::creation_zone_pwg_alteration_campst: return RDF_Type::Class; + case DF_Type::creation_zone_pwg_alteration_location_deathst: return RDF_Type::Class; + case DF_Type::creation_zone_pwg_alteration_location_deathst__T_unk_1: return RDF_Type::Compound; + case DF_Type::creation_zone_pwg_alteration_location_deathst__T_unk_1__T_anon_1: return RDF_Type::Compound; + case DF_Type::creation_zone_pwg_alteration_srb_ruinedst: return RDF_Type::Class; + case DF_Type::creation_zone_pwg_alteration_srp_ruinedst: return RDF_Type::Class; + case DF_Type::creation_zone_pwg_alteration_type: return RDF_Type::Enum; + case DF_Type::creation_zone_pwg_alterationst: return RDF_Type::Class; + case DF_Type::creature_graphics_appointment: return RDF_Type::Struct; + case DF_Type::creature_graphics_role: return RDF_Type::Enum; + case DF_Type::creature_handler: return RDF_Type::Class; + case DF_Type::creature_interaction: return RDF_Type::Struct; + case DF_Type::creature_interaction__T_flags: return RDF_Type::Bitfield; + case DF_Type::creature_interaction_effect: return RDF_Type::Class; + case DF_Type::creature_interaction_effect__T_counter_trigger: return RDF_Type::Compound; + case DF_Type::creature_interaction_effect_add_simple_flagst: return RDF_Type::Class; + case DF_Type::creature_interaction_effect_bleedingst: return RDF_Type::Class; + case DF_Type::creature_interaction_effect_blistersst: return RDF_Type::Class; + case DF_Type::creature_interaction_effect_body_appearance_modifierst: return RDF_Type::Class; + case DF_Type::creature_interaction_effect_body_mat_interactionst: return RDF_Type::Class; + case DF_Type::creature_interaction_effect_body_transformationst: return RDF_Type::Class; + case DF_Type::creature_interaction_effect_bp_appearance_modifierst: return RDF_Type::Class; + case DF_Type::creature_interaction_effect_bruisingst: return RDF_Type::Class; + case DF_Type::creature_interaction_effect_can_do_interactionst: return RDF_Type::Class; + case DF_Type::creature_interaction_effect_change_personalityst: return RDF_Type::Class; + case DF_Type::creature_interaction_effect_cough_bloodst: return RDF_Type::Class; + case DF_Type::creature_interaction_effect_display_namest: return RDF_Type::Class; + case DF_Type::creature_interaction_effect_display_symbolst: return RDF_Type::Class; + case DF_Type::creature_interaction_effect_dizzinessst: return RDF_Type::Class; + case DF_Type::creature_interaction_effect_drowsinessst: return RDF_Type::Class; + case DF_Type::creature_interaction_effect_erratic_behaviorst: return RDF_Type::Class; + case DF_Type::creature_interaction_effect_feel_emotionst: return RDF_Type::Class; + case DF_Type::creature_interaction_effect_feverst: return RDF_Type::Class; + case DF_Type::creature_interaction_effect_flags: return RDF_Type::Bitfield; + case DF_Type::creature_interaction_effect_flash_symbolst: return RDF_Type::Class; + case DF_Type::creature_interaction_effect_impair_functionst: return RDF_Type::Class; + case DF_Type::creature_interaction_effect_material_force_adjustst: return RDF_Type::Class; + case DF_Type::creature_interaction_effect_ment_att_changest: return RDF_Type::Class; + case DF_Type::creature_interaction_effect_nauseast: return RDF_Type::Class; + case DF_Type::creature_interaction_effect_necrosisst: return RDF_Type::Class; + case DF_Type::creature_interaction_effect_numbnessst: return RDF_Type::Class; + case DF_Type::creature_interaction_effect_oozingst: return RDF_Type::Class; + case DF_Type::creature_interaction_effect_painst: return RDF_Type::Class; + case DF_Type::creature_interaction_effect_paralysisst: return RDF_Type::Class; + case DF_Type::creature_interaction_effect_phys_att_changest: return RDF_Type::Class; + case DF_Type::creature_interaction_effect_remove_simple_flagst: return RDF_Type::Class; + case DF_Type::creature_interaction_effect_sense_creature_classst: return RDF_Type::Class; + case DF_Type::creature_interaction_effect_skill_roll_adjustst: return RDF_Type::Class; + case DF_Type::creature_interaction_effect_speed_changest: return RDF_Type::Class; + case DF_Type::creature_interaction_effect_swellingst: return RDF_Type::Class; + case DF_Type::creature_interaction_effect_target: return RDF_Type::Struct; + case DF_Type::creature_interaction_effect_target_mode: return RDF_Type::Enum; + case DF_Type::creature_interaction_effect_type: return RDF_Type::Enum; + case DF_Type::creature_interaction_effect_unconsciousnessst: return RDF_Type::Class; + case DF_Type::creature_interaction_effect_vomit_bloodst: return RDF_Type::Class; + case DF_Type::creature_interaction_target_flags: return RDF_Type::Bitfield; + case DF_Type::creature_raw: return RDF_Type::Struct; + case DF_Type::creature_raw__T_graphics: return RDF_Type::Compound; + case DF_Type::creature_raw__T_hive_product: return RDF_Type::Compound; + case DF_Type::creature_raw__T_profession_name: return RDF_Type::Compound; + case DF_Type::creature_raw_flags: return RDF_Type::Enum; + case DF_Type::creature_variation: return RDF_Type::Struct; + case DF_Type::creature_variation_convert_tag: return RDF_Type::Struct; + case DF_Type::crime: return RDF_Type::Struct; + case DF_Type::crime__T_flags: return RDF_Type::Bitfield; + case DF_Type::crime__T_mode: return RDF_Type::Enum; + case DF_Type::crime__T_punishment: return RDF_Type::Compound; + case DF_Type::crime__T_reports: return RDF_Type::Compound; + case DF_Type::cultural_identity: return RDF_Type::Struct; + case DF_Type::cultural_identity__T_group_log: return RDF_Type::Compound; + case DF_Type::cultural_identity__T_group_log__T_join_type: return RDF_Type::Enum; + case DF_Type::cumulus_type: return RDF_Type::Enum; + case DF_Type::curse_attr_change: return RDF_Type::Struct; + case DF_Type::d_init: return RDF_Type::Struct; + case DF_Type::d_init__T_store_dist: return RDF_Type::Compound; + case DF_Type::d_init__T_wound_color: return RDF_Type::Compound; + case DF_Type::d_init_embark_confirm: return RDF_Type::Enum; + case DF_Type::d_init_flags1: return RDF_Type::Enum; + case DF_Type::d_init_flags2: return RDF_Type::Enum; + case DF_Type::d_init_flags3: return RDF_Type::Enum; + case DF_Type::d_init_flags4: return RDF_Type::Enum; + case DF_Type::d_init_idlers: return RDF_Type::Enum; + case DF_Type::d_init_nickname: return RDF_Type::Enum; + case DF_Type::d_init_tunnel: return RDF_Type::Enum; + case DF_Type::d_init_z_view: return RDF_Type::Enum; + case DF_Type::dance_form: return RDF_Type::Struct; + case DF_Type::dance_form_sub1: return RDF_Type::Struct; + case DF_Type::dance_form_sub2: return RDF_Type::Struct; + case DF_Type::death_type: return RDF_Type::Enum; + case DF_Type::deep_vein_hollow: return RDF_Type::Struct; + case DF_Type::descriptor_color: return RDF_Type::Struct; + case DF_Type::descriptor_pattern: return RDF_Type::Struct; + case DF_Type::descriptor_shape: return RDF_Type::Struct; + case DF_Type::descriptor_shape__T_gems_use: return RDF_Type::Bitfield; + case DF_Type::dfhack_knowledge_scholar_flag: return RDF_Type::Enum; + case DF_Type::dfhack_material_category: return RDF_Type::Bitfield; + case DF_Type::dfhack_room_quality_level: return RDF_Type::Enum; + case DF_Type::dipscript_info: return RDF_Type::Struct; + case DF_Type::dipscript_popup: return RDF_Type::Struct; + case DF_Type::dipscript_popup__T_flags: return RDF_Type::Bitfield; + case DF_Type::door_flags: return RDF_Type::Bitfield; + case DF_Type::dye_info: return RDF_Type::Struct; + case DF_Type::effect_info: return RDF_Type::Struct; + case DF_Type::embark_finder_option: return RDF_Type::Enum; + case DF_Type::embark_item_choice: return RDF_Type::Struct; + case DF_Type::embark_item_choice__T_list: return RDF_Type::Compound; + case DF_Type::embark_location: return RDF_Type::Struct; + case DF_Type::embark_note: return RDF_Type::Struct; + case DF_Type::embark_profile: return RDF_Type::Struct; + case DF_Type::emotion_type: return RDF_Type::Enum; + case DF_Type::engraving: return RDF_Type::Struct; + case DF_Type::engraving_flags: return RDF_Type::Bitfield; + case DF_Type::entity_action_type: return RDF_Type::Enum; + case DF_Type::entity_activity_statistics: return RDF_Type::Struct; + case DF_Type::entity_activity_statistics__T_food: return RDF_Type::Compound; + case DF_Type::entity_activity_statistics__T_found_misc: return RDF_Type::Bitfield; + case DF_Type::entity_activity_statistics__T_wealth: return RDF_Type::Compound; + case DF_Type::entity_animal_raw: return RDF_Type::Struct; + case DF_Type::entity_animal_raw__T_flags: return RDF_Type::Bitfield; + case DF_Type::entity_buy_prices: return RDF_Type::Struct; + case DF_Type::entity_buy_requests: return RDF_Type::Struct; + case DF_Type::entity_claim_mask: return RDF_Type::Struct; + case DF_Type::entity_claim_mask__T_map: return RDF_Type::Compound; + case DF_Type::entity_entity_link: return RDF_Type::Struct; + case DF_Type::entity_entity_link_type: return RDF_Type::Enum; + case DF_Type::entity_event: return RDF_Type::Struct; + case DF_Type::entity_event__T_data: return RDF_Type::Union; + case DF_Type::entity_event__T_data__T_abandon: return RDF_Type::Compound; + case DF_Type::entity_event__T_data__T_abduction: return RDF_Type::Compound; + case DF_Type::entity_event__T_data__T_accept_peace_offer: return RDF_Type::Compound; + case DF_Type::entity_event__T_data__T_accept_tribute_demand: return RDF_Type::Compound; + case DF_Type::entity_event__T_data__T_accept_tribute_offer: return RDF_Type::Compound; + case DF_Type::entity_event__T_data__T_artifact_destroyed: return RDF_Type::Compound; + case DF_Type::entity_event__T_data__T_artifact_in_feature_layer: return RDF_Type::Compound; + case DF_Type::entity_event__T_data__T_artifact_in_inventory: return RDF_Type::Compound; + case DF_Type::entity_event__T_data__T_artifact_in_site: return RDF_Type::Compound; + case DF_Type::entity_event__T_data__T_artifact_in_subregion: return RDF_Type::Compound; + case DF_Type::entity_event__T_data__T_artifact_not_in_feature_layer: return RDF_Type::Compound; + case DF_Type::entity_event__T_data__T_artifact_not_in_inventory: return RDF_Type::Compound; + case DF_Type::entity_event__T_data__T_artifact_not_in_site: return RDF_Type::Compound; + case DF_Type::entity_event__T_data__T_artifact_not_in_subregion: return RDF_Type::Compound; + case DF_Type::entity_event__T_data__T_beast: return RDF_Type::Compound; + case DF_Type::entity_event__T_data__T_cease_tribute_offer: return RDF_Type::Compound; + case DF_Type::entity_event__T_data__T_claim: return RDF_Type::Compound; + case DF_Type::entity_event__T_data__T_flee: return RDF_Type::Compound; + case DF_Type::entity_event__T_data__T_founded: return RDF_Type::Compound; + case DF_Type::entity_event__T_data__T_founding: return RDF_Type::Compound; + case DF_Type::entity_event__T_data__T_group: return RDF_Type::Compound; + case DF_Type::entity_event__T_data__T_harass: return RDF_Type::Compound; + case DF_Type::entity_event__T_data__T_incident: return RDF_Type::Compound; + case DF_Type::entity_event__T_data__T_insurrection: return RDF_Type::Compound; + case DF_Type::entity_event__T_data__T_insurrection_end: return RDF_Type::Compound; + case DF_Type::entity_event__T_data__T_insurrection_end__T_result: return RDF_Type::Enum; + case DF_Type::entity_event__T_data__T_invasion: return RDF_Type::Compound; + case DF_Type::entity_event__T_data__T_leave: return RDF_Type::Compound; + case DF_Type::entity_event__T_data__T_occupation: return RDF_Type::Compound; + case DF_Type::entity_event__T_data__T_reclaimed: return RDF_Type::Compound; + case DF_Type::entity_event__T_data__T_reclaiming: return RDF_Type::Compound; + case DF_Type::entity_event__T_data__T_refuse_peace_offer: return RDF_Type::Compound; + case DF_Type::entity_event__T_data__T_refuse_tribute_demand: return RDF_Type::Compound; + case DF_Type::entity_event__T_data__T_refuse_tribute_offer: return RDF_Type::Compound; + case DF_Type::entity_event__T_data__T_succession: return RDF_Type::Compound; + case DF_Type::entity_event_type: return RDF_Type::Enum; + case DF_Type::entity_material_category: return RDF_Type::Enum; + case DF_Type::entity_name_type: return RDF_Type::Enum; + case DF_Type::entity_occasion: return RDF_Type::Struct; + case DF_Type::entity_occasion_info: return RDF_Type::Struct; + case DF_Type::entity_occasion_schedule: return RDF_Type::Struct; + case DF_Type::entity_occasion_schedule_feature: return RDF_Type::Struct; + case DF_Type::entity_population: return RDF_Type::Struct; + case DF_Type::entity_population_unk4: return RDF_Type::Struct; + case DF_Type::entity_population_unk4__T_anon_1: return RDF_Type::Compound; + case DF_Type::entity_population_unk4__T_anon_3: return RDF_Type::Compound; + case DF_Type::entity_position: return RDF_Type::Struct; + case DF_Type::entity_position_assignment: return RDF_Type::Struct; + case DF_Type::entity_position_flags: return RDF_Type::Enum; + case DF_Type::entity_position_raw: return RDF_Type::Struct; + case DF_Type::entity_position_raw_flags: return RDF_Type::Enum; + case DF_Type::entity_position_responsibility: return RDF_Type::Enum; + case DF_Type::entity_raw: return RDF_Type::Struct; + case DF_Type::entity_raw__T_equipment: return RDF_Type::Compound; + case DF_Type::entity_raw__T_jobs: return RDF_Type::Compound; + case DF_Type::entity_raw__T_land_holder_trigger: return RDF_Type::Compound; + case DF_Type::entity_raw__T_progress_trigger: return RDF_Type::Compound; + case DF_Type::entity_raw__T_scholar: return RDF_Type::Bitfield; + case DF_Type::entity_raw__T_symbols: return RDF_Type::Compound; + case DF_Type::entity_raw__T_tissue_styles: return RDF_Type::Compound; + case DF_Type::entity_raw__T_workshops: return RDF_Type::Compound; + case DF_Type::entity_raw_flags: return RDF_Type::Enum; + case DF_Type::entity_recipe: return RDF_Type::Struct; + case DF_Type::entity_sell_category: return RDF_Type::Enum; + case DF_Type::entity_sell_prices: return RDF_Type::Struct; + case DF_Type::entity_sell_requests: return RDF_Type::Struct; + case DF_Type::entity_site_link: return RDF_Type::Struct; + case DF_Type::entity_site_link__T_anon_8: return RDF_Type::Compound; + case DF_Type::entity_site_link__T_flags: return RDF_Type::Bitfield; + case DF_Type::entity_tissue_style: return RDF_Type::Struct; + case DF_Type::entity_uniform: return RDF_Type::Struct; + case DF_Type::entity_uniform_item: return RDF_Type::Struct; + case DF_Type::environment_type: return RDF_Type::Enum; + case DF_Type::era_type: return RDF_Type::Enum; + case DF_Type::ethic_response: return RDF_Type::Enum; + case DF_Type::ethic_type: return RDF_Type::Enum; + case DF_Type::feature: return RDF_Type::Class; + case DF_Type::feature_alteration: return RDF_Type::Class; + case DF_Type::feature_alteration_new_lava_fill_zst: return RDF_Type::Class; + case DF_Type::feature_alteration_new_pop_maxst: return RDF_Type::Class; + case DF_Type::feature_alteration_type: return RDF_Type::Enum; + case DF_Type::feature_cavest: return RDF_Type::Class; + case DF_Type::feature_deep_special_tubest: return RDF_Type::Class; + case DF_Type::feature_deep_surface_portalst: return RDF_Type::Class; + case DF_Type::feature_init: return RDF_Type::Class; + case DF_Type::feature_init_cavest: return RDF_Type::Class; + case DF_Type::feature_init_deep_special_tubest: return RDF_Type::Class; + case DF_Type::feature_init_deep_surface_portalst: return RDF_Type::Class; + case DF_Type::feature_init_flags: return RDF_Type::Enum; + case DF_Type::feature_init_magma_core_from_layerst: return RDF_Type::Class; + case DF_Type::feature_init_magma_poolst: return RDF_Type::Class; + case DF_Type::feature_init_outdoor_riverst: return RDF_Type::Class; + case DF_Type::feature_init_pitst: return RDF_Type::Class; + case DF_Type::feature_init_subterranean_from_layerst: return RDF_Type::Class; + case DF_Type::feature_init_underworld_from_layerst: return RDF_Type::Class; + case DF_Type::feature_init_volcanost: return RDF_Type::Class; + case DF_Type::feature_magma_core_from_layerst: return RDF_Type::Class; + case DF_Type::feature_magma_poolst: return RDF_Type::Class; + case DF_Type::feature_outdoor_riverst: return RDF_Type::Class; + case DF_Type::feature_pitst: return RDF_Type::Class; + case DF_Type::feature_subterranean_from_layerst: return RDF_Type::Class; + case DF_Type::feature_type: return RDF_Type::Enum; + case DF_Type::feature_underworld_from_layerst: return RDF_Type::Class; + case DF_Type::feature_volcanost: return RDF_Type::Class; + case DF_Type::file_compressorst: return RDF_Type::Struct; + case DF_Type::fire: return RDF_Type::Struct; + case DF_Type::flow_guide: return RDF_Type::Class; + case DF_Type::flow_guide_item_cloudst: return RDF_Type::Class; + case DF_Type::flow_guide_trailing_flowst: return RDF_Type::Class; + case DF_Type::flow_guide_type: return RDF_Type::Enum; + case DF_Type::flow_info: return RDF_Type::Struct; + case DF_Type::flow_reuse_pool: return RDF_Type::Struct; + case DF_Type::flow_reuse_pool__T_flags: return RDF_Type::Bitfield; + case DF_Type::flow_type: return RDF_Type::Enum; + case DF_Type::fog_type: return RDF_Type::Enum; + case DF_Type::front_type: return RDF_Type::Enum; + case DF_Type::furnace_type: return RDF_Type::Enum; + case DF_Type::furniture_type: return RDF_Type::Enum; + case DF_Type::gait_info: return RDF_Type::Struct; + case DF_Type::gait_info__T_flags: return RDF_Type::Bitfield; + case DF_Type::gait_type: return RDF_Type::Enum; + case DF_Type::game_mode: return RDF_Type::Enum; + case DF_Type::game_type: return RDF_Type::Enum; + case DF_Type::gate_flags: return RDF_Type::Bitfield; + case DF_Type::general_ref: return RDF_Type::Class; + case DF_Type::general_ref_abstract_buildingst: return RDF_Type::Class; + case DF_Type::general_ref_activity_eventst: return RDF_Type::Class; + case DF_Type::general_ref_artifact: return RDF_Type::Class; + case DF_Type::general_ref_building: return RDF_Type::Class; + case DF_Type::general_ref_building_cagedst: return RDF_Type::Class; + case DF_Type::general_ref_building_chainst: return RDF_Type::Class; + case DF_Type::general_ref_building_civzone_assignedst: return RDF_Type::Class; + case DF_Type::general_ref_building_destinationst: return RDF_Type::Class; + case DF_Type::general_ref_building_display_furniturest: return RDF_Type::Class; + case DF_Type::general_ref_building_holderst: return RDF_Type::Class; + case DF_Type::general_ref_building_nest_boxst: return RDF_Type::Class; + case DF_Type::general_ref_building_triggerst: return RDF_Type::Class; + case DF_Type::general_ref_building_triggertargetst: return RDF_Type::Class; + case DF_Type::general_ref_building_use_target_1st: return RDF_Type::Class; + case DF_Type::general_ref_building_use_target_2st: return RDF_Type::Class; + case DF_Type::general_ref_building_well_tag: return RDF_Type::Class; + case DF_Type::general_ref_coinbatch: return RDF_Type::Class; + case DF_Type::general_ref_contained_in_itemst: return RDF_Type::Class; + case DF_Type::general_ref_contains_itemst: return RDF_Type::Class; + case DF_Type::general_ref_contains_unitst: return RDF_Type::Class; + case DF_Type::general_ref_creaturest: return RDF_Type::Class; + case DF_Type::general_ref_creaturest__T_flags: return RDF_Type::Bitfield; + case DF_Type::general_ref_dance_formst: return RDF_Type::Class; + case DF_Type::general_ref_entity: return RDF_Type::Class; + case DF_Type::general_ref_entity_art_image: return RDF_Type::Class; + case DF_Type::general_ref_entity_itemownerst: return RDF_Type::Class; + case DF_Type::general_ref_entity_offeredst: return RDF_Type::Class; + case DF_Type::general_ref_entity_popst: return RDF_Type::Class; + case DF_Type::general_ref_entity_popst__T_flags: return RDF_Type::Bitfield; + case DF_Type::general_ref_entity_stolenst: return RDF_Type::Class; + case DF_Type::general_ref_feature_layerst: return RDF_Type::Class; + case DF_Type::general_ref_historical_eventst: return RDF_Type::Class; + case DF_Type::general_ref_historical_figurest: return RDF_Type::Class; + case DF_Type::general_ref_interactionst: return RDF_Type::Class; + case DF_Type::general_ref_is_artifactst: return RDF_Type::Class; + case DF_Type::general_ref_is_nemesisst: return RDF_Type::Class; + case DF_Type::general_ref_item: return RDF_Type::Class; + case DF_Type::general_ref_item_type: return RDF_Type::Class; + case DF_Type::general_ref_knowledge_scholar_flagst: return RDF_Type::Class; + case DF_Type::general_ref_languagest: return RDF_Type::Class; + case DF_Type::general_ref_locationst: return RDF_Type::Class; + case DF_Type::general_ref_mapsquare: return RDF_Type::Class; + case DF_Type::general_ref_musical_formst: return RDF_Type::Class; + case DF_Type::general_ref_nemesis: return RDF_Type::Class; + case DF_Type::general_ref_poetic_formst: return RDF_Type::Class; + case DF_Type::general_ref_projectile: return RDF_Type::Class; + case DF_Type::general_ref_sitest: return RDF_Type::Class; + case DF_Type::general_ref_spherest: return RDF_Type::Class; + case DF_Type::general_ref_subregionst: return RDF_Type::Class; + case DF_Type::general_ref_type: return RDF_Type::Enum; + case DF_Type::general_ref_unit: return RDF_Type::Class; + case DF_Type::general_ref_unit_beateest: return RDF_Type::Class; + case DF_Type::general_ref_unit_cageest: return RDF_Type::Class; + case DF_Type::general_ref_unit_climberst: return RDF_Type::Class; + case DF_Type::general_ref_unit_foodreceiverst: return RDF_Type::Class; + case DF_Type::general_ref_unit_geldeest: return RDF_Type::Class; + case DF_Type::general_ref_unit_holderst: return RDF_Type::Class; + case DF_Type::general_ref_unit_infantst: return RDF_Type::Class; + case DF_Type::general_ref_unit_itemownerst: return RDF_Type::Class; + case DF_Type::general_ref_unit_itemownerst__T_flags: return RDF_Type::Bitfield; + case DF_Type::general_ref_unit_kidnapeest: return RDF_Type::Class; + case DF_Type::general_ref_unit_milkeest: return RDF_Type::Class; + case DF_Type::general_ref_unit_patientst: return RDF_Type::Class; + case DF_Type::general_ref_unit_reporteest: return RDF_Type::Class; + case DF_Type::general_ref_unit_riderst: return RDF_Type::Class; + case DF_Type::general_ref_unit_sheareest: return RDF_Type::Class; + case DF_Type::general_ref_unit_slaughtereest: return RDF_Type::Class; + case DF_Type::general_ref_unit_suckeest: return RDF_Type::Class; + case DF_Type::general_ref_unit_tradebringerst: return RDF_Type::Class; + case DF_Type::general_ref_unit_traineest: return RDF_Type::Class; + case DF_Type::general_ref_unit_workerst: return RDF_Type::Class; + case DF_Type::general_ref_value_levelst: return RDF_Type::Class; + case DF_Type::general_ref_written_contentst: return RDF_Type::Class; + case DF_Type::geo_layer_type: return RDF_Type::Enum; + case DF_Type::ghost_goal: return RDF_Type::Enum; + case DF_Type::ghost_type: return RDF_Type::Enum; + case DF_Type::gloves_flags: return RDF_Type::Enum; + case DF_Type::glowing_barrier: return RDF_Type::Struct; + case DF_Type::goal_type: return RDF_Type::Enum; + case DF_Type::graphic: return RDF_Type::Struct; + case DF_Type::guild_id: return RDF_Type::Enum; + case DF_Type::hauler_type: return RDF_Type::Enum; + case DF_Type::hauling_route: return RDF_Type::Struct; + case DF_Type::hauling_stop: return RDF_Type::Struct; + case DF_Type::health_view_bits1: return RDF_Type::Bitfield; + case DF_Type::health_view_bits2: return RDF_Type::Bitfield; + case DF_Type::health_view_bits3: return RDF_Type::Bitfield; + case DF_Type::helm_flags: return RDF_Type::Enum; + case DF_Type::hillock_house_type: return RDF_Type::Enum; + case DF_Type::histfig_body_state: return RDF_Type::Enum; + case DF_Type::histfig_entity_link: return RDF_Type::Class; + case DF_Type::histfig_entity_link_criminalst: return RDF_Type::Class; + case DF_Type::histfig_entity_link_enemyst: return RDF_Type::Class; + case DF_Type::histfig_entity_link_former_memberst: return RDF_Type::Class; + case DF_Type::histfig_entity_link_former_mercenaryst: return RDF_Type::Class; + case DF_Type::histfig_entity_link_former_occupationst: return RDF_Type::Class; + case DF_Type::histfig_entity_link_former_positionst: return RDF_Type::Class; + case DF_Type::histfig_entity_link_former_prisonerst: return RDF_Type::Class; + case DF_Type::histfig_entity_link_former_slavest: return RDF_Type::Class; + case DF_Type::histfig_entity_link_former_squadst: return RDF_Type::Class; + case DF_Type::histfig_entity_link_memberst: return RDF_Type::Class; + case DF_Type::histfig_entity_link_mercenaryst: return RDF_Type::Class; + case DF_Type::histfig_entity_link_occupationst: return RDF_Type::Class; + case DF_Type::histfig_entity_link_position_claimst: return RDF_Type::Class; + case DF_Type::histfig_entity_link_positionst: return RDF_Type::Class; + case DF_Type::histfig_entity_link_prisonerst: return RDF_Type::Class; + case DF_Type::histfig_entity_link_slavest: return RDF_Type::Class; + case DF_Type::histfig_entity_link_squadst: return RDF_Type::Class; + case DF_Type::histfig_entity_link_type: return RDF_Type::Enum; + case DF_Type::histfig_flags: return RDF_Type::Enum; + case DF_Type::histfig_hf_link: return RDF_Type::Class; + case DF_Type::histfig_hf_link_apprenticest: return RDF_Type::Class; + case DF_Type::histfig_hf_link_childst: return RDF_Type::Class; + case DF_Type::histfig_hf_link_companionst: return RDF_Type::Class; + case DF_Type::histfig_hf_link_deityst: return RDF_Type::Class; + case DF_Type::histfig_hf_link_fatherst: return RDF_Type::Class; + case DF_Type::histfig_hf_link_former_apprenticest: return RDF_Type::Class; + case DF_Type::histfig_hf_link_former_masterst: return RDF_Type::Class; + case DF_Type::histfig_hf_link_imprisonerst: return RDF_Type::Class; + case DF_Type::histfig_hf_link_loverst: return RDF_Type::Class; + case DF_Type::histfig_hf_link_masterst: return RDF_Type::Class; + case DF_Type::histfig_hf_link_motherst: return RDF_Type::Class; + case DF_Type::histfig_hf_link_pet_ownerst: return RDF_Type::Class; + case DF_Type::histfig_hf_link_prisonerst: return RDF_Type::Class; + case DF_Type::histfig_hf_link_spousest: return RDF_Type::Class; + case DF_Type::histfig_hf_link_type: return RDF_Type::Enum; + case DF_Type::histfig_relationship_type: return RDF_Type::Enum; + case DF_Type::histfig_site_link: return RDF_Type::Class; + case DF_Type::histfig_site_link_hangoutst: return RDF_Type::Class; + case DF_Type::histfig_site_link_home_site_abstract_buildingst: return RDF_Type::Class; + case DF_Type::histfig_site_link_home_site_realization_buildingst: return RDF_Type::Class; + case DF_Type::histfig_site_link_home_site_realization_sulst: return RDF_Type::Class; + case DF_Type::histfig_site_link_home_site_saved_civzonest: return RDF_Type::Class; + case DF_Type::histfig_site_link_lairst: return RDF_Type::Class; + case DF_Type::histfig_site_link_occupationst: return RDF_Type::Class; + case DF_Type::histfig_site_link_seat_of_powerst: return RDF_Type::Class; + case DF_Type::histfig_site_link_type: return RDF_Type::Enum; + case DF_Type::historical_entity: return RDF_Type::Struct; + case DF_Type::historical_entity__T_claims: return RDF_Type::Compound; + case DF_Type::historical_entity__T_derived_resources: return RDF_Type::Compound; + case DF_Type::historical_entity__T_flags: return RDF_Type::Bitfield; + case DF_Type::historical_entity__T_positions: return RDF_Type::Compound; + case DF_Type::historical_entity__T_resources: return RDF_Type::Compound; + case DF_Type::historical_entity__T_resources__T_animals: return RDF_Type::Compound; + case DF_Type::historical_entity__T_resources__T_metal: return RDF_Type::Compound; + case DF_Type::historical_entity__T_resources__T_misc_mat: return RDF_Type::Compound; + case DF_Type::historical_entity__T_resources__T_organic: return RDF_Type::Compound; + case DF_Type::historical_entity__T_resources__T_refuse: return RDF_Type::Compound; + case DF_Type::historical_entity__T_resources__T_unk13: return RDF_Type::Compound; + case DF_Type::historical_entity__T_resources__T_wood_products: return RDF_Type::Compound; + case DF_Type::historical_entity__T_tissue_styles: return RDF_Type::Compound; + case DF_Type::historical_entity__T_training_knowledge: return RDF_Type::Compound; + case DF_Type::historical_entity__T_unknown1b: return RDF_Type::Compound; + case DF_Type::historical_entity__T_unknown1b__T_diplomacy: return RDF_Type::Compound; + case DF_Type::historical_entity__T_unknown1b__T_unk32e: return RDF_Type::Compound; + case DF_Type::historical_entity__T_unknown1d: return RDF_Type::Compound; + case DF_Type::historical_entity__T_unknown1e: return RDF_Type::Compound; + case DF_Type::historical_entity__T_unknown2: return RDF_Type::Compound; + case DF_Type::historical_entity_type: return RDF_Type::Enum; + case DF_Type::historical_figure: return RDF_Type::Struct; + case DF_Type::historical_figure__T_unk_fc: return RDF_Type::Compound; + case DF_Type::historical_figure_info: return RDF_Type::Struct; + case DF_Type::historical_figure_info__T_books: return RDF_Type::Compound; + case DF_Type::historical_figure_info__T_curse: return RDF_Type::Compound; + case DF_Type::historical_figure_info__T_masterpieces: return RDF_Type::Compound; + case DF_Type::historical_figure_info__T_personality: return RDF_Type::Compound; + case DF_Type::historical_figure_info__T_relationships: return RDF_Type::Compound; + case DF_Type::historical_figure_info__T_relationships__T_anon_1: return RDF_Type::Compound; + case DF_Type::historical_figure_info__T_relationships__T_anon_2: return RDF_Type::Compound; + case DF_Type::historical_figure_info__T_relationships__T_anon_3: return RDF_Type::Compound; + case DF_Type::historical_figure_info__T_relationships__T_list: return RDF_Type::Compound; + case DF_Type::historical_figure_info__T_reputation: return RDF_Type::Compound; + case DF_Type::historical_figure_info__T_reputation__T_anon_1: return RDF_Type::Compound; + case DF_Type::historical_figure_info__T_reputation__T_unk_2c: return RDF_Type::Compound; + case DF_Type::historical_figure_info__T_reputation__T_unk_2c__T_anon_12: return RDF_Type::Compound; + case DF_Type::historical_figure_info__T_reputation__T_wanted: return RDF_Type::Compound; + case DF_Type::historical_figure_info__T_secret: return RDF_Type::Compound; + case DF_Type::historical_figure_info__T_secret__T_anon_1: return RDF_Type::Compound; + case DF_Type::historical_figure_info__T_secret__T_anon_7: return RDF_Type::Compound; + case DF_Type::historical_figure_info__T_secret__T_knowledge: return RDF_Type::Compound; + case DF_Type::historical_figure_info__T_secret__T_knowledge__T_knowledge_goal: return RDF_Type::Bitfield; + case DF_Type::historical_figure_info__T_secret__T_unk_a8: return RDF_Type::Compound; + case DF_Type::historical_figure_info__T_skills: return RDF_Type::Compound; + case DF_Type::historical_figure_info__T_unk_14: return RDF_Type::Compound; + case DF_Type::historical_figure_info__T_wounds: return RDF_Type::Compound; + case DF_Type::historical_kills: return RDF_Type::Struct; + case DF_Type::history_era: return RDF_Type::Struct; + case DF_Type::history_era__T_details: return RDF_Type::Compound; + case DF_Type::history_era__T_title: return RDF_Type::Compound; + case DF_Type::history_event: return RDF_Type::Class; + case DF_Type::history_event_add_hf_entity_linkst: return RDF_Type::Class; + case DF_Type::history_event_add_hf_hf_linkst: return RDF_Type::Class; + case DF_Type::history_event_add_hf_site_linkst: return RDF_Type::Class; + case DF_Type::history_event_agreement_concludedst: return RDF_Type::Class; + case DF_Type::history_event_agreement_formedst: return RDF_Type::Class; + case DF_Type::history_event_agreements_voidedst: return RDF_Type::Class; + case DF_Type::history_event_artifact_claim_formedst: return RDF_Type::Class; + case DF_Type::history_event_artifact_claim_formedst__T_claim_type: return RDF_Type::Enum; + case DF_Type::history_event_artifact_copiedst: return RDF_Type::Class; + case DF_Type::history_event_artifact_copiedst__T_flags2: return RDF_Type::Bitfield; + case DF_Type::history_event_artifact_createdst: return RDF_Type::Class; + case DF_Type::history_event_artifact_destroyedst: return RDF_Type::Class; + case DF_Type::history_event_artifact_droppedst: return RDF_Type::Class; + case DF_Type::history_event_artifact_foundst: return RDF_Type::Class; + case DF_Type::history_event_artifact_givenst: return RDF_Type::Class; + case DF_Type::history_event_artifact_hiddenst: return RDF_Type::Class; + case DF_Type::history_event_artifact_lostst: return RDF_Type::Class; + case DF_Type::history_event_artifact_possessedst: return RDF_Type::Class; + case DF_Type::history_event_artifact_recoveredst: return RDF_Type::Class; + case DF_Type::history_event_artifact_storedst: return RDF_Type::Class; + case DF_Type::history_event_artifact_transformedst: return RDF_Type::Class; + case DF_Type::history_event_assume_identityst: return RDF_Type::Class; + case DF_Type::history_event_body_abusedst: return RDF_Type::Class; + case DF_Type::history_event_body_abusedst__T_abuse_type: return RDF_Type::Enum; + case DF_Type::history_event_body_abusedst__T_props: return RDF_Type::Union; + case DF_Type::history_event_body_abusedst__T_props__T_hung: return RDF_Type::Compound; + case DF_Type::history_event_body_abusedst__T_props__T_item: return RDF_Type::Compound; + case DF_Type::history_event_body_abusedst__T_props__T_pile_type: return RDF_Type::Enum; + case DF_Type::history_event_ceremonyst: return RDF_Type::Class; + case DF_Type::history_event_change_creature_typest: return RDF_Type::Class; + case DF_Type::history_event_change_hf_body_statest: return RDF_Type::Class; + case DF_Type::history_event_change_hf_jobst: return RDF_Type::Class; + case DF_Type::history_event_change_hf_moodst: return RDF_Type::Class; + case DF_Type::history_event_change_hf_statest: return RDF_Type::Class; + case DF_Type::history_event_change_hf_statest__T_state: return RDF_Type::Enum; + case DF_Type::history_event_collection: return RDF_Type::Class; + case DF_Type::history_event_collection_abductionst: return RDF_Type::Class; + case DF_Type::history_event_collection_battlest: return RDF_Type::Class; + case DF_Type::history_event_collection_beast_attackst: return RDF_Type::Class; + case DF_Type::history_event_collection_ceremonyst: return RDF_Type::Class; + case DF_Type::history_event_collection_competitionst: return RDF_Type::Class; + case DF_Type::history_event_collection_duelst: return RDF_Type::Class; + case DF_Type::history_event_collection_insurrectionst: return RDF_Type::Class; + case DF_Type::history_event_collection_journeyst: return RDF_Type::Class; + case DF_Type::history_event_collection_occasionst: return RDF_Type::Class; + case DF_Type::history_event_collection_performancest: return RDF_Type::Class; + case DF_Type::history_event_collection_processionst: return RDF_Type::Class; + case DF_Type::history_event_collection_purgest: return RDF_Type::Class; + case DF_Type::history_event_collection_raidst: return RDF_Type::Class; + case DF_Type::history_event_collection_site_conqueredst: return RDF_Type::Class; + case DF_Type::history_event_collection_theftst: return RDF_Type::Class; + case DF_Type::history_event_collection_type: return RDF_Type::Enum; + case DF_Type::history_event_collection_warst: return RDF_Type::Class; + case DF_Type::history_event_collection_warst__T_unk: return RDF_Type::Compound; + case DF_Type::history_event_competitionst: return RDF_Type::Class; + case DF_Type::history_event_context: return RDF_Type::Struct; + case DF_Type::history_event_create_entity_positionst: return RDF_Type::Class; + case DF_Type::history_event_created_buildingst: return RDF_Type::Class; + case DF_Type::history_event_created_sitest: return RDF_Type::Class; + case DF_Type::history_event_created_world_constructionst: return RDF_Type::Class; + case DF_Type::history_event_creature_devouredst: return RDF_Type::Class; + case DF_Type::history_event_dance_form_createdst: return RDF_Type::Class; + case DF_Type::history_event_diplomat_lostst: return RDF_Type::Class; + case DF_Type::history_event_entity_actionst: return RDF_Type::Class; + case DF_Type::history_event_entity_createdst: return RDF_Type::Class; + case DF_Type::history_event_entity_expels_hfst: return RDF_Type::Class; + case DF_Type::history_event_entity_fled_sitest: return RDF_Type::Class; + case DF_Type::history_event_entity_incorporatedst: return RDF_Type::Class; + case DF_Type::history_event_entity_lawst: return RDF_Type::Class; + case DF_Type::history_event_entity_rampaged_in_sitest: return RDF_Type::Class; + case DF_Type::history_event_entity_razed_buildingst: return RDF_Type::Class; + case DF_Type::history_event_entity_searched_sitest: return RDF_Type::Class; + case DF_Type::history_event_first_contact_failedst: return RDF_Type::Class; + case DF_Type::history_event_first_contactst: return RDF_Type::Class; + case DF_Type::history_event_hf_act_on_artifactst: return RDF_Type::Class; + case DF_Type::history_event_hf_act_on_artifactst__T_action: return RDF_Type::Enum; + case DF_Type::history_event_hf_act_on_buildingst: return RDF_Type::Class; + case DF_Type::history_event_hf_act_on_buildingst__T_action: return RDF_Type::Enum; + case DF_Type::history_event_hf_attacked_sitest: return RDF_Type::Class; + case DF_Type::history_event_hf_confrontedst: return RDF_Type::Class; + case DF_Type::history_event_hf_destroyed_sitest: return RDF_Type::Class; + case DF_Type::history_event_hf_does_interactionst: return RDF_Type::Class; + case DF_Type::history_event_hf_freedst: return RDF_Type::Class; + case DF_Type::history_event_hf_gains_secret_goalst: return RDF_Type::Class; + case DF_Type::history_event_hf_learns_secretst: return RDF_Type::Class; + case DF_Type::history_event_hf_razed_buildingst: return RDF_Type::Class; + case DF_Type::history_event_hf_recruited_unit_type_for_entityst: return RDF_Type::Class; + case DF_Type::history_event_hf_relationship_deniedst: return RDF_Type::Class; + case DF_Type::history_event_hfs_formed_reputation_relationshipst: return RDF_Type::Class; + case DF_Type::history_event_hist_figure_abductedst: return RDF_Type::Class; + case DF_Type::history_event_hist_figure_diedst: return RDF_Type::Class; + case DF_Type::history_event_hist_figure_new_petst: return RDF_Type::Class; + case DF_Type::history_event_hist_figure_reach_summitst: return RDF_Type::Class; + case DF_Type::history_event_hist_figure_reunionst: return RDF_Type::Class; + case DF_Type::history_event_hist_figure_revivedst: return RDF_Type::Class; + case DF_Type::history_event_hist_figure_simple_actionst: return RDF_Type::Class; + case DF_Type::history_event_hist_figure_simple_battle_eventst: return RDF_Type::Class; + case DF_Type::history_event_hist_figure_travelst: return RDF_Type::Class; + case DF_Type::history_event_hist_figure_travelst__T_reason: return RDF_Type::Enum; + case DF_Type::history_event_hist_figure_woundedst: return RDF_Type::Class; + case DF_Type::history_event_hist_figure_woundedst__T_injury_type: return RDF_Type::Enum; + case DF_Type::history_event_insurrection_endedst: return RDF_Type::Class; + case DF_Type::history_event_insurrection_startedst: return RDF_Type::Class; + case DF_Type::history_event_item_stolenst: return RDF_Type::Class; + case DF_Type::history_event_knowledge_discoveredst: return RDF_Type::Class; + case DF_Type::history_event_masterpiece_created_arch_constructst: return RDF_Type::Class; + case DF_Type::history_event_masterpiece_created_arch_designst: return RDF_Type::Class; + case DF_Type::history_event_masterpiece_created_dye_itemst: return RDF_Type::Class; + case DF_Type::history_event_masterpiece_created_engravingst: return RDF_Type::Class; + case DF_Type::history_event_masterpiece_created_foodst: return RDF_Type::Class; + case DF_Type::history_event_masterpiece_created_item_improvementst: return RDF_Type::Class; + case DF_Type::history_event_masterpiece_created_itemst: return RDF_Type::Class; + case DF_Type::history_event_masterpiece_createdst: return RDF_Type::Class; + case DF_Type::history_event_masterpiece_lostst: return RDF_Type::Class; + case DF_Type::history_event_merchantst: return RDF_Type::Class; + case DF_Type::history_event_musical_form_createdst: return RDF_Type::Class; + case DF_Type::history_event_performancest: return RDF_Type::Class; + case DF_Type::history_event_poetic_form_createdst: return RDF_Type::Class; + case DF_Type::history_event_processionst: return RDF_Type::Class; + case DF_Type::history_event_reason: return RDF_Type::Enum; + case DF_Type::history_event_reclaim_sitest: return RDF_Type::Class; + case DF_Type::history_event_regionpop_incorporated_into_entityst: return RDF_Type::Class; + case DF_Type::history_event_remove_hf_entity_linkst: return RDF_Type::Class; + case DF_Type::history_event_remove_hf_hf_linkst: return RDF_Type::Class; + case DF_Type::history_event_remove_hf_site_linkst: return RDF_Type::Class; + case DF_Type::history_event_replaced_buildingst: return RDF_Type::Class; + case DF_Type::history_event_simple_battle_subtype: return RDF_Type::Enum; + case DF_Type::history_event_site_diedst: return RDF_Type::Class; + case DF_Type::history_event_site_disputest: return RDF_Type::Class; + case DF_Type::history_event_site_retiredst: return RDF_Type::Class; + case DF_Type::history_event_site_surrenderedst: return RDF_Type::Class; + case DF_Type::history_event_sneak_into_sitest: return RDF_Type::Class; + case DF_Type::history_event_spotted_leaving_sitest: return RDF_Type::Class; + case DF_Type::history_event_squad_vs_squadst: return RDF_Type::Class; + case DF_Type::history_event_tactical_situationst: return RDF_Type::Class; + case DF_Type::history_event_tactical_situationst__T_tactics_flags: return RDF_Type::Bitfield; + case DF_Type::history_event_topicagreement_concludedst: return RDF_Type::Class; + case DF_Type::history_event_topicagreement_madest: return RDF_Type::Class; + case DF_Type::history_event_topicagreement_rejectedst: return RDF_Type::Class; + case DF_Type::history_event_type: return RDF_Type::Enum; + case DF_Type::history_event_war_attacked_sitest: return RDF_Type::Class; + case DF_Type::history_event_war_destroyed_sitest: return RDF_Type::Class; + case DF_Type::history_event_war_field_battlest: return RDF_Type::Class; + case DF_Type::history_event_war_peace_acceptedst: return RDF_Type::Class; + case DF_Type::history_event_war_peace_rejectedst: return RDF_Type::Class; + case DF_Type::history_event_war_plundered_sitest: return RDF_Type::Class; + case DF_Type::history_event_war_site_new_leaderst: return RDF_Type::Class; + case DF_Type::history_event_war_site_taken_overst: return RDF_Type::Class; + case DF_Type::history_event_war_site_tribute_forcedst: return RDF_Type::Class; + case DF_Type::history_event_war_site_tribute_forcedst__T_tribute_flags: return RDF_Type::Bitfield; + case DF_Type::history_event_written_content_composedst: return RDF_Type::Class; + case DF_Type::history_hit_item: return RDF_Type::Struct; + case DF_Type::hive_flags: return RDF_Type::Bitfield; + case DF_Type::hospital_supplies: return RDF_Type::Struct; + case DF_Type::hospital_supplies__T_supplies_needed: return RDF_Type::Bitfield; + case DF_Type::identity: return RDF_Type::Struct; + case DF_Type::identity_unk_94: return RDF_Type::Struct; + case DF_Type::improvement_type: return RDF_Type::Enum; + case DF_Type::incident: return RDF_Type::Struct; + case DF_Type::incident__T_flags: return RDF_Type::Bitfield; + case DF_Type::incident__T_unk_v42_1: return RDF_Type::Union; + case DF_Type::incident_hfid: return RDF_Type::Struct; + case DF_Type::incident_sub10: return RDF_Type::Struct; + case DF_Type::incident_sub6_performance: return RDF_Type::Struct; + case DF_Type::incident_sub6_performance__T_participants: return RDF_Type::Compound; + case DF_Type::incident_sub7: return RDF_Type::Struct; + case DF_Type::incident_sub8: return RDF_Type::Struct; + case DF_Type::incident_sub9: return RDF_Type::Struct; + case DF_Type::inclusion_type: return RDF_Type::Enum; + case DF_Type::init: return RDF_Type::Struct; + case DF_Type::init_display: return RDF_Type::Struct; + case DF_Type::init_display__T_windowed: return RDF_Type::Enum; + case DF_Type::init_display_flags: return RDF_Type::Enum; + case DF_Type::init_font: return RDF_Type::Struct; + case DF_Type::init_font__T_use_ttf: return RDF_Type::Enum; + case DF_Type::init_input: return RDF_Type::Struct; + case DF_Type::init_input_flags: return RDF_Type::Enum; + case DF_Type::init_media: return RDF_Type::Struct; + case DF_Type::init_media_flags: return RDF_Type::Enum; + case DF_Type::init_window: return RDF_Type::Struct; + case DF_Type::init_window_flags: return RDF_Type::Enum; + case DF_Type::inorganic_flags: return RDF_Type::Enum; + case DF_Type::inorganic_raw: return RDF_Type::Struct; + case DF_Type::inorganic_raw__T_environment: return RDF_Type::Compound; + case DF_Type::inorganic_raw__T_environment_spec: return RDF_Type::Compound; + case DF_Type::inorganic_raw__T_metal_ore: return RDF_Type::Compound; + case DF_Type::inorganic_raw__T_thread_metal: return RDF_Type::Compound; + case DF_Type::instrument_flags: return RDF_Type::Enum; + case DF_Type::instrument_piece: return RDF_Type::Struct; + case DF_Type::instrument_piece__T_flags: return RDF_Type::Bitfield; + case DF_Type::instrument_register: return RDF_Type::Struct; + case DF_Type::insurrection_outcome: return RDF_Type::Enum; + case DF_Type::int16_t: return RDF_Type::DFArray; + case DF_Type::interaction: return RDF_Type::Struct; + case DF_Type::interaction_effect: return RDF_Type::Class; + case DF_Type::interaction_effect__T_flags: return RDF_Type::Bitfield; + case DF_Type::interaction_effect_add_syndromest: return RDF_Type::Class; + case DF_Type::interaction_effect_animatest: return RDF_Type::Class; + case DF_Type::interaction_effect_cleanst: return RDF_Type::Class; + case DF_Type::interaction_effect_contactst: return RDF_Type::Class; + case DF_Type::interaction_effect_hidest: return RDF_Type::Class; + case DF_Type::interaction_effect_location_hint: return RDF_Type::Enum; + case DF_Type::interaction_effect_material_emissionst: return RDF_Type::Class; + case DF_Type::interaction_effect_resurrectst: return RDF_Type::Class; + case DF_Type::interaction_effect_type: return RDF_Type::Enum; + case DF_Type::interaction_instance: return RDF_Type::Struct; + case DF_Type::interaction_source: return RDF_Type::Class; + case DF_Type::interaction_source_attackst: return RDF_Type::Class; + case DF_Type::interaction_source_creature_actionst: return RDF_Type::Class; + case DF_Type::interaction_source_deityst: return RDF_Type::Class; + case DF_Type::interaction_source_disturbancest: return RDF_Type::Class; + case DF_Type::interaction_source_ingestionst: return RDF_Type::Class; + case DF_Type::interaction_source_regionst: return RDF_Type::Class; + case DF_Type::interaction_source_regionst__T_region_flags: return RDF_Type::Bitfield; + case DF_Type::interaction_source_secretst: return RDF_Type::Class; + case DF_Type::interaction_source_secretst__T_learn_flags: return RDF_Type::Bitfield; + case DF_Type::interaction_source_type: return RDF_Type::Enum; + case DF_Type::interaction_source_underground_specialst: return RDF_Type::Class; + case DF_Type::interaction_source_usage_hint: return RDF_Type::Enum; + case DF_Type::interaction_target: return RDF_Type::Class; + case DF_Type::interaction_target_corpsest: return RDF_Type::Class; + case DF_Type::interaction_target_creaturest: return RDF_Type::Class; + case DF_Type::interaction_target_info: return RDF_Type::Struct; + case DF_Type::interaction_target_info__T_restrictions: return RDF_Type::Bitfield; + case DF_Type::interaction_target_location_type: return RDF_Type::Enum; + case DF_Type::interaction_target_locationst: return RDF_Type::Class; + case DF_Type::interaction_target_materialst: return RDF_Type::Class; + case DF_Type::interaction_target_materialst__T_restrictions: return RDF_Type::Bitfield; + case DF_Type::interaction_target_type: return RDF_Type::Enum; + case DF_Type::interface_breakdown_types: return RDF_Type::Enum; + case DF_Type::interface_button: return RDF_Type::Class; + case DF_Type::interface_button_building_category_selectorst: return RDF_Type::Class; + case DF_Type::interface_button_building_custom_category_selectorst: return RDF_Type::Class; + case DF_Type::interface_button_building_material_selectorst: return RDF_Type::Class; + case DF_Type::interface_button_building_new_jobst: return RDF_Type::Class; + case DF_Type::interface_button_buildingst: return RDF_Type::Class; + case DF_Type::interface_button_construction_building_selectorst: return RDF_Type::Class; + case DF_Type::interface_button_construction_category_selectorst: return RDF_Type::Class; + case DF_Type::interface_button_construction_category_selectorst__T_category_id: return RDF_Type::Enum; + case DF_Type::interface_button_construction_donest: return RDF_Type::Class; + case DF_Type::interface_button_constructionst: return RDF_Type::Class; + case DF_Type::interface_key: return RDF_Type::Enum; + case DF_Type::interfacest: return RDF_Type::Struct; + case DF_Type::invasion_info: return RDF_Type::Struct; + case DF_Type::invasion_info__T_flags: return RDF_Type::Bitfield; + case DF_Type::item: return RDF_Type::Class; + case DF_Type::item_actual: return RDF_Type::Class; + case DF_Type::item_ammost: return RDF_Type::Class; + case DF_Type::item_amuletst: return RDF_Type::Class; + case DF_Type::item_animaltrapst: return RDF_Type::Class; + case DF_Type::item_anvilst: return RDF_Type::Class; + case DF_Type::item_armorst: return RDF_Type::Class; + case DF_Type::item_armorstandst: return RDF_Type::Class; + case DF_Type::item_backpackst: return RDF_Type::Class; + case DF_Type::item_ballistaarrowheadst: return RDF_Type::Class; + case DF_Type::item_ballistapartsst: return RDF_Type::Class; + case DF_Type::item_barrelst: return RDF_Type::Class; + case DF_Type::item_barst: return RDF_Type::Class; + case DF_Type::item_bedst: return RDF_Type::Class; + case DF_Type::item_binst: return RDF_Type::Class; + case DF_Type::item_blocksst: return RDF_Type::Class; + case DF_Type::item_body_component: return RDF_Type::Class; + case DF_Type::item_body_component__T_appearance: return RDF_Type::Compound; + case DF_Type::item_body_component__T_body: return RDF_Type::Compound; + case DF_Type::item_body_component__T_bone1: return RDF_Type::Compound; + case DF_Type::item_body_component__T_bone2: return RDF_Type::Compound; + case DF_Type::item_body_component__T_corpse_flags: return RDF_Type::Bitfield; + case DF_Type::item_bookst: return RDF_Type::Class; + case DF_Type::item_boulderst: return RDF_Type::Class; + case DF_Type::item_boxst: return RDF_Type::Class; + case DF_Type::item_braceletst: return RDF_Type::Class; + case DF_Type::item_branchst: return RDF_Type::Class; + case DF_Type::item_bucketst: return RDF_Type::Class; + case DF_Type::item_cabinetst: return RDF_Type::Class; + case DF_Type::item_cagest: return RDF_Type::Class; + case DF_Type::item_catapultpartsst: return RDF_Type::Class; + case DF_Type::item_chainst: return RDF_Type::Class; + case DF_Type::item_chairst: return RDF_Type::Class; + case DF_Type::item_cheesest: return RDF_Type::Class; + case DF_Type::item_clothst: return RDF_Type::Class; + case DF_Type::item_coffinst: return RDF_Type::Class; + case DF_Type::item_coinst: return RDF_Type::Class; + case DF_Type::item_constructed: return RDF_Type::Class; + case DF_Type::item_corpsepiecest: return RDF_Type::Class; + case DF_Type::item_corpsest: return RDF_Type::Class; + case DF_Type::item_crafted: return RDF_Type::Class; + case DF_Type::item_critter: return RDF_Type::Class; + case DF_Type::item_crownst: return RDF_Type::Class; + case DF_Type::item_crutchst: return RDF_Type::Class; + case DF_Type::item_doorst: return RDF_Type::Class; + case DF_Type::item_drinkst: return RDF_Type::Class; + case DF_Type::item_earringst: return RDF_Type::Class; + case DF_Type::item_eggst: return RDF_Type::Class; + case DF_Type::item_eggst__T_egg_flags: return RDF_Type::Bitfield; + case DF_Type::item_figurinest: return RDF_Type::Class; + case DF_Type::item_filter_spec: return RDF_Type::Struct; + case DF_Type::item_fish_rawst: return RDF_Type::Class; + case DF_Type::item_fishst: return RDF_Type::Class; + case DF_Type::item_flags2: return RDF_Type::Bitfield; + case DF_Type::item_flags: return RDF_Type::Bitfield; + case DF_Type::item_flaskst: return RDF_Type::Class; + case DF_Type::item_floodgatest: return RDF_Type::Class; + case DF_Type::item_foodst: return RDF_Type::Class; + case DF_Type::item_foodst__T_ingredients: return RDF_Type::Compound; + case DF_Type::item_gemst: return RDF_Type::Class; + case DF_Type::item_globst: return RDF_Type::Class; + case DF_Type::item_glovesst: return RDF_Type::Class; + case DF_Type::item_gobletst: return RDF_Type::Class; + case DF_Type::item_gratest: return RDF_Type::Class; + case DF_Type::item_hatch_coverst: return RDF_Type::Class; + case DF_Type::item_helmst: return RDF_Type::Class; + case DF_Type::item_history_info: return RDF_Type::Struct; + case DF_Type::item_instrumentst: return RDF_Type::Class; + case DF_Type::item_kill_info: return RDF_Type::Struct; + case DF_Type::item_liquid: return RDF_Type::Class; + case DF_Type::item_liquid_miscst: return RDF_Type::Class; + case DF_Type::item_liquipowder: return RDF_Type::Class; + case DF_Type::item_magicness: return RDF_Type::Struct; + case DF_Type::item_magicness_type: return RDF_Type::Enum; + case DF_Type::item_matstate: return RDF_Type::Bitfield; + case DF_Type::item_meatst: return RDF_Type::Class; + case DF_Type::item_millstonest: return RDF_Type::Class; + case DF_Type::item_orthopedic_castst: return RDF_Type::Class; + case DF_Type::item_pantsst: return RDF_Type::Class; + case DF_Type::item_petst: return RDF_Type::Class; + case DF_Type::item_petst__T_pet_flags: return RDF_Type::Bitfield; + case DF_Type::item_pipe_sectionst: return RDF_Type::Class; + case DF_Type::item_plant_growthst: return RDF_Type::Class; + case DF_Type::item_plantst: return RDF_Type::Class; + case DF_Type::item_powder: return RDF_Type::Class; + case DF_Type::item_powder_miscst: return RDF_Type::Class; + case DF_Type::item_quality: return RDF_Type::Enum; + case DF_Type::item_quernst: return RDF_Type::Class; + case DF_Type::item_quiverst: return RDF_Type::Class; + case DF_Type::item_remainsst: return RDF_Type::Class; + case DF_Type::item_ringst: return RDF_Type::Class; + case DF_Type::item_rockst: return RDF_Type::Class; + case DF_Type::item_roughst: return RDF_Type::Class; + case DF_Type::item_scepterst: return RDF_Type::Class; + case DF_Type::item_seedsst: return RDF_Type::Class; + case DF_Type::item_sheetst: return RDF_Type::Class; + case DF_Type::item_shieldst: return RDF_Type::Class; + case DF_Type::item_shoesst: return RDF_Type::Class; + case DF_Type::item_siegeammost: return RDF_Type::Class; + case DF_Type::item_skin_tannedst: return RDF_Type::Class; + case DF_Type::item_slabst: return RDF_Type::Class; + case DF_Type::item_smallgemst: return RDF_Type::Class; + case DF_Type::item_splintst: return RDF_Type::Class; + case DF_Type::item_statuest: return RDF_Type::Class; + case DF_Type::item_stockpile_ref: return RDF_Type::Struct; + case DF_Type::item_tablest: return RDF_Type::Class; + case DF_Type::item_threadst: return RDF_Type::Class; + case DF_Type::item_toolst: return RDF_Type::Class; + case DF_Type::item_totemst: return RDF_Type::Class; + case DF_Type::item_toyst: return RDF_Type::Class; + case DF_Type::item_traction_benchst: return RDF_Type::Class; + case DF_Type::item_trapcompst: return RDF_Type::Class; + case DF_Type::item_trappartsst: return RDF_Type::Class; + case DF_Type::item_type: return RDF_Type::Enum; + case DF_Type::item_verminst: return RDF_Type::Class; + case DF_Type::item_weaponrackst: return RDF_Type::Class; + case DF_Type::item_weaponst: return RDF_Type::Class; + case DF_Type::item_windowst: return RDF_Type::Class; + case DF_Type::item_woodst: return RDF_Type::Class; + case DF_Type::itemdef: return RDF_Type::Class; + case DF_Type::itemdef_ammost: return RDF_Type::Class; + case DF_Type::itemdef_armorst: return RDF_Type::Class; + case DF_Type::itemdef_foodst: return RDF_Type::Class; + case DF_Type::itemdef_glovesst: return RDF_Type::Class; + case DF_Type::itemdef_helmst: return RDF_Type::Class; + case DF_Type::itemdef_instrumentst: return RDF_Type::Class; + case DF_Type::itemdef_pantsst: return RDF_Type::Class; + case DF_Type::itemdef_shieldst: return RDF_Type::Class; + case DF_Type::itemdef_shoesst: return RDF_Type::Class; + case DF_Type::itemdef_siegeammost: return RDF_Type::Class; + case DF_Type::itemdef_toolst: return RDF_Type::Class; + case DF_Type::itemdef_toolst__T_default_improvements: return RDF_Type::Compound; + case DF_Type::itemdef_toyst: return RDF_Type::Class; + case DF_Type::itemdef_trapcompst: return RDF_Type::Class; + case DF_Type::itemdef_weaponst: return RDF_Type::Class; + case DF_Type::itemimprovement: return RDF_Type::Class; + case DF_Type::itemimprovement_art_imagest: return RDF_Type::Class; + case DF_Type::itemimprovement_bandsst: return RDF_Type::Class; + case DF_Type::itemimprovement_clothst: return RDF_Type::Class; + case DF_Type::itemimprovement_coveredst: return RDF_Type::Class; + case DF_Type::itemimprovement_coveredst__T_cover_flags: return RDF_Type::Bitfield; + case DF_Type::itemimprovement_illustrationst: return RDF_Type::Class; + case DF_Type::itemimprovement_instrument_piecest: return RDF_Type::Class; + case DF_Type::itemimprovement_itemspecificst: return RDF_Type::Class; + case DF_Type::itemimprovement_pagesst: return RDF_Type::Class; + case DF_Type::itemimprovement_rings_hangingst: return RDF_Type::Class; + case DF_Type::itemimprovement_sewn_imagest: return RDF_Type::Class; + case DF_Type::itemimprovement_sewn_imagest__T_cloth: return RDF_Type::Compound; + case DF_Type::itemimprovement_specific_type: return RDF_Type::Enum; + case DF_Type::itemimprovement_spikesst: return RDF_Type::Class; + case DF_Type::itemimprovement_threadst: return RDF_Type::Class; + case DF_Type::itemimprovement_writingst: return RDF_Type::Class; + case DF_Type::items_other_id: return RDF_Type::Enum; + case DF_Type::job: return RDF_Type::Struct; + case DF_Type::job_art_specification: return RDF_Type::Struct; + case DF_Type::job_art_specification__T_type: return RDF_Type::Enum; + case DF_Type::job_flags: return RDF_Type::Bitfield; + case DF_Type::job_handler: return RDF_Type::Class; + case DF_Type::job_handler__T_anon_1: return RDF_Type::Compound; + case DF_Type::job_handler__T_postings: return RDF_Type::Compound; + case DF_Type::job_handler__T_postings__T_flags: return RDF_Type::Bitfield; + case DF_Type::job_item: return RDF_Type::Struct; + case DF_Type::job_item_filter: return RDF_Type::Struct; + case DF_Type::job_item_flags1: return RDF_Type::Bitfield; + case DF_Type::job_item_flags2: return RDF_Type::Bitfield; + case DF_Type::job_item_flags3: return RDF_Type::Bitfield; + case DF_Type::job_item_ref: return RDF_Type::Struct; + case DF_Type::job_item_ref__T_role: return RDF_Type::Enum; + case DF_Type::job_item_vector_id: return RDF_Type::Enum; + case DF_Type::job_list_link: return RDF_Type::Struct; + case DF_Type::job_material_category: return RDF_Type::Bitfield; + case DF_Type::job_skill: return RDF_Type::Enum; + case DF_Type::job_skill_class: return RDF_Type::Enum; + case DF_Type::job_subtype_surgery: return RDF_Type::Enum; + case DF_Type::job_type: return RDF_Type::Enum; + case DF_Type::job_type_class: return RDF_Type::Enum; + case DF_Type::kitchen_exc_type: return RDF_Type::Enum; + case DF_Type::kitchen_pref_flag: return RDF_Type::Bitfield; + case DF_Type::knowledge_scholar_category_flag: return RDF_Type::Struct; + case DF_Type::knowledge_scholar_category_flag__T_flags: return RDF_Type::Union; + case DF_Type::knowledge_scholar_flags_0: return RDF_Type::Bitfield; + case DF_Type::knowledge_scholar_flags_10: return RDF_Type::Bitfield; + case DF_Type::knowledge_scholar_flags_11: return RDF_Type::Bitfield; + case DF_Type::knowledge_scholar_flags_12: return RDF_Type::Bitfield; + case DF_Type::knowledge_scholar_flags_13: return RDF_Type::Bitfield; + case DF_Type::knowledge_scholar_flags_1: return RDF_Type::Bitfield; + case DF_Type::knowledge_scholar_flags_2: return RDF_Type::Bitfield; + case DF_Type::knowledge_scholar_flags_3: return RDF_Type::Bitfield; + case DF_Type::knowledge_scholar_flags_4: return RDF_Type::Bitfield; + case DF_Type::knowledge_scholar_flags_5: return RDF_Type::Bitfield; + case DF_Type::knowledge_scholar_flags_6: return RDF_Type::Bitfield; + case DF_Type::knowledge_scholar_flags_7: return RDF_Type::Bitfield; + case DF_Type::knowledge_scholar_flags_8: return RDF_Type::Bitfield; + case DF_Type::knowledge_scholar_flags_9: return RDF_Type::Bitfield; + case DF_Type::language_name: return RDF_Type::Struct; + case DF_Type::language_name_category: return RDF_Type::Enum; + case DF_Type::language_symbol: return RDF_Type::Struct; + case DF_Type::language_translation: return RDF_Type::Struct; + case DF_Type::language_word: return RDF_Type::Struct; + case DF_Type::language_word_flags: return RDF_Type::Bitfield; + case DF_Type::language_word_table: return RDF_Type::Struct; + case DF_Type::large_integer: return RDF_Type::Union; + case DF_Type::large_integer__T_u: return RDF_Type::Compound; + case DF_Type::large_integer___struct0: return RDF_Type::Compound; + case DF_Type::layer_object: return RDF_Type::Class; + case DF_Type::layer_object_buttonst: return RDF_Type::Class; + case DF_Type::layer_object_listst: return RDF_Type::Class; + case DF_Type::lever_target_type: return RDF_Type::Enum; + case DF_Type::loadgame_save_info: return RDF_Type::Struct; + case DF_Type::local_population: return RDF_Type::Struct; + case DF_Type::local_population__T_flags: return RDF_Type::Bitfield; + case DF_Type::local_population___union6: return RDF_Type::Union; + case DF_Type::location_scribe_jobs: return RDF_Type::Struct; + case DF_Type::machine: return RDF_Type::Class; + case DF_Type::machine__T_components: return RDF_Type::Compound; + case DF_Type::machine__T_flags: return RDF_Type::Bitfield; + case DF_Type::machine_conn_modes: return RDF_Type::Bitfield; + case DF_Type::machine_handler: return RDF_Type::Class; + case DF_Type::machine_info: return RDF_Type::Struct; + case DF_Type::machine_info__T_flags: return RDF_Type::Bitfield; + case DF_Type::machine_standardst: return RDF_Type::Class; + case DF_Type::machine_tile_set: return RDF_Type::Struct; + case DF_Type::machine_type: return RDF_Type::Enum; + case DF_Type::manager_order: return RDF_Type::Struct; + case DF_Type::manager_order__T_frequency: return RDF_Type::Enum; + case DF_Type::manager_order_condition_item: return RDF_Type::Struct; + case DF_Type::manager_order_condition_item__T_compare_type: return RDF_Type::Enum; + case DF_Type::manager_order_condition_order: return RDF_Type::Struct; + case DF_Type::manager_order_condition_order__T_condition: return RDF_Type::Enum; + case DF_Type::manager_order_status: return RDF_Type::Bitfield; + case DF_Type::manager_order_template: return RDF_Type::Struct; + case DF_Type::mandate: return RDF_Type::Struct; + case DF_Type::mandate__T_mode: return RDF_Type::Enum; + case DF_Type::mandate__T_punishment: return RDF_Type::Compound; + case DF_Type::map_block: return RDF_Type::Struct; + case DF_Type::map_block_column: return RDF_Type::Struct; + case DF_Type::map_block_column__T_unmined_glyphs: return RDF_Type::Compound; + case DF_Type::map_renderer: return RDF_Type::Struct; + case DF_Type::map_renderer__T_anon_4: return RDF_Type::Compound; + case DF_Type::map_viewport: return RDF_Type::Struct; + case DF_Type::masterpiece_loss_type: return RDF_Type::Enum; + case DF_Type::material: return RDF_Type::Struct; + case DF_Type::material_common: return RDF_Type::Struct; + case DF_Type::material_common__T_hardens_with_water: return RDF_Type::Compound; + case DF_Type::material_common__T_heat: return RDF_Type::Compound; + case DF_Type::material_common__T_reaction_product: return RDF_Type::Compound; + case DF_Type::material_common__T_strength: return RDF_Type::Compound; + case DF_Type::material_flags: return RDF_Type::Enum; + case DF_Type::material_template: return RDF_Type::Struct; + case DF_Type::material_vec_ref: return RDF_Type::Struct; + case DF_Type::matgloss_list: return RDF_Type::Struct; + case DF_Type::matter_state: return RDF_Type::Enum; + case DF_Type::meeting_context: return RDF_Type::Struct; + case DF_Type::meeting_diplomat_info: return RDF_Type::Struct; + case DF_Type::meeting_diplomat_info__T_flags: return RDF_Type::Bitfield; + case DF_Type::meeting_event: return RDF_Type::Struct; + case DF_Type::meeting_event_type: return RDF_Type::Enum; + case DF_Type::meeting_topic: return RDF_Type::Enum; + case DF_Type::meeting_variable: return RDF_Type::Struct; + case DF_Type::mental_attribute_type: return RDF_Type::Enum; + case DF_Type::mental_picture: return RDF_Type::Struct; + case DF_Type::mental_picture_element_hfst: return RDF_Type::Class; + case DF_Type::mental_picture_element_regionst: return RDF_Type::Class; + case DF_Type::mental_picture_element_sitest: return RDF_Type::Class; + case DF_Type::mental_picture_element_type: return RDF_Type::Enum; + case DF_Type::mental_picture_elementst: return RDF_Type::Class; + case DF_Type::mental_picture_property_actionst: return RDF_Type::Class; + case DF_Type::mental_picture_property_adjectivest: return RDF_Type::Class; + case DF_Type::mental_picture_property_color_patternst: return RDF_Type::Class; + case DF_Type::mental_picture_property_datest: return RDF_Type::Class; + case DF_Type::mental_picture_property_emotionst: return RDF_Type::Class; + case DF_Type::mental_picture_property_positionst: return RDF_Type::Class; + case DF_Type::mental_picture_property_shapest: return RDF_Type::Class; + case DF_Type::mental_picture_property_timest: return RDF_Type::Class; + case DF_Type::mental_picture_property_toolst: return RDF_Type::Class; + case DF_Type::mental_picture_property_type: return RDF_Type::Enum; + case DF_Type::mental_picture_propertyst: return RDF_Type::Class; + case DF_Type::misc_trait_type: return RDF_Type::Enum; + case DF_Type::mission: return RDF_Type::Struct; + case DF_Type::mission__T_details: return RDF_Type::Union; + case DF_Type::mission__T_details__T_raid: return RDF_Type::Compound; + case DF_Type::mission__T_details__T_raid__T_raid_flags: return RDF_Type::Bitfield; + case DF_Type::mission__T_details__T_raid__T_raid_type: return RDF_Type::Enum; + case DF_Type::mission__T_details__T_recovery: return RDF_Type::Compound; + case DF_Type::mission__T_details__T_request: return RDF_Type::Compound; + case DF_Type::mission__T_details__T_rescue: return RDF_Type::Compound; + case DF_Type::mission__T_type: return RDF_Type::Enum; + case DF_Type::mission_campaign_report: return RDF_Type::Struct; + case DF_Type::mission_report: return RDF_Type::Struct; + case DF_Type::mood_type: return RDF_Type::Enum; + case DF_Type::mountain_peak_flags: return RDF_Type::Enum; + case DF_Type::moving_party: return RDF_Type::Struct; + case DF_Type::moving_party__T_members: return RDF_Type::Compound; + case DF_Type::musical_form: return RDF_Type::Struct; + case DF_Type::musical_form__T_flags: return RDF_Type::Bitfield; + case DF_Type::musical_form_feature: return RDF_Type::Bitfield; + case DF_Type::musical_form_instruments: return RDF_Type::Struct; + case DF_Type::musical_form_instruments__T_substitutions: return RDF_Type::Bitfield; + case DF_Type::musical_form_interval: return RDF_Type::Struct; + case DF_Type::musical_form_interval__T_flags: return RDF_Type::Bitfield; + case DF_Type::musical_form_melodies: return RDF_Type::Struct; + case DF_Type::musical_form_pitch_style: return RDF_Type::Enum; + case DF_Type::musical_form_purpose: return RDF_Type::Enum; + case DF_Type::musical_form_style: return RDF_Type::Enum; + case DF_Type::musical_form_sub4: return RDF_Type::Struct; + case DF_Type::musical_form_vocals: return RDF_Type::Struct; + case DF_Type::need_type: return RDF_Type::Enum; + case DF_Type::nemesis_flags: return RDF_Type::Enum; + case DF_Type::nemesis_offload: return RDF_Type::Struct; + case DF_Type::nemesis_record: return RDF_Type::Struct; + case DF_Type::occasion_schedule_feature: return RDF_Type::Enum; + case DF_Type::occasion_schedule_type: return RDF_Type::Enum; + case DF_Type::occupation: return RDF_Type::Struct; + case DF_Type::occupation_sub1: return RDF_Type::Struct; + case DF_Type::occupation_type: return RDF_Type::Enum; + case DF_Type::ocean_wave: return RDF_Type::Struct; + case DF_Type::organic_mat_category: return RDF_Type::Enum; + case DF_Type::orientation_flags: return RDF_Type::Bitfield; + case DF_Type::pants_flags: return RDF_Type::Enum; + case DF_Type::part_of_speech: return RDF_Type::Enum; + case DF_Type::party_info: return RDF_Type::Struct; + case DF_Type::pattern_type: return RDF_Type::Enum; + case DF_Type::performance_event_type: return RDF_Type::Enum; + case DF_Type::performance_participant_type: return RDF_Type::Enum; + case DF_Type::performance_play_orderst: return RDF_Type::Class; + case DF_Type::performance_play_orderst__T_anon_4: return RDF_Type::Compound; + case DF_Type::personality_facet_type: return RDF_Type::Enum; + case DF_Type::physical_attribute_type: return RDF_Type::Enum; + case DF_Type::pitch_choice_type: return RDF_Type::Enum; + case DF_Type::plant: return RDF_Type::Struct; + case DF_Type::plant__T_damage_flags: return RDF_Type::Bitfield; + case DF_Type::plant_flags: return RDF_Type::Bitfield; + case DF_Type::plant_growth: return RDF_Type::Struct; + case DF_Type::plant_growth__T_behavior: return RDF_Type::Bitfield; + case DF_Type::plant_growth__T_locations: return RDF_Type::Bitfield; + case DF_Type::plant_growth_print: return RDF_Type::Struct; + case DF_Type::plant_raw: return RDF_Type::Struct; + case DF_Type::plant_raw__T_colors: return RDF_Type::Compound; + case DF_Type::plant_raw__T_material_defs: return RDF_Type::Compound; + case DF_Type::plant_raw__T_tiles: return RDF_Type::Compound; + case DF_Type::plant_raw_flags: return RDF_Type::Enum; + case DF_Type::plant_tree_info: return RDF_Type::Struct; + case DF_Type::plant_tree_tile: return RDF_Type::Bitfield; + case DF_Type::poetic_form: return RDF_Type::Struct; + case DF_Type::poetic_form__T_flags: return RDF_Type::Bitfield; + case DF_Type::poetic_form___union0: return RDF_Type::Union; + case DF_Type::poetic_form_action: return RDF_Type::Enum; + case DF_Type::poetic_form_additional_feature: return RDF_Type::Enum; + case DF_Type::poetic_form_caesura_position: return RDF_Type::Enum; + case DF_Type::poetic_form_feature: return RDF_Type::Bitfield; + case DF_Type::poetic_form_mood: return RDF_Type::Enum; + case DF_Type::poetic_form_part: return RDF_Type::Struct; + case DF_Type::poetic_form_part__T_flags: return RDF_Type::Bitfield; + case DF_Type::poetic_form_part__T_line_subject_targets: return RDF_Type::Union; + case DF_Type::poetic_form_pattern: return RDF_Type::Enum; + case DF_Type::poetic_form_perspective: return RDF_Type::Struct; + case DF_Type::poetic_form_perspective__T_type: return RDF_Type::Enum; + case DF_Type::poetic_form_subject: return RDF_Type::Enum; + case DF_Type::popup_message: return RDF_Type::Struct; + case DF_Type::power_info: return RDF_Type::Struct; + case DF_Type::pressure_plate_info: return RDF_Type::Struct; + case DF_Type::pressure_plate_info__T_flags: return RDF_Type::Bitfield; + case DF_Type::profession: return RDF_Type::Enum; + case DF_Type::proj_itemst: return RDF_Type::Class; + case DF_Type::proj_list_link: return RDF_Type::Struct; + case DF_Type::proj_magicst: return RDF_Type::Class; + case DF_Type::proj_unitst: return RDF_Type::Class; + case DF_Type::projectile: return RDF_Type::Class; + case DF_Type::projectile_flags: return RDF_Type::Bitfield; + case DF_Type::projectile_type: return RDF_Type::Enum; + case DF_Type::punishment: return RDF_Type::Struct; + case DF_Type::reaction: return RDF_Type::Struct; + case DF_Type::reaction__T_building: return RDF_Type::Compound; + case DF_Type::reaction_category: return RDF_Type::Struct; + case DF_Type::reaction_description: return RDF_Type::Struct; + case DF_Type::reaction_flags: return RDF_Type::Enum; + case DF_Type::reaction_product: return RDF_Type::Class; + case DF_Type::reaction_product_improvement_flags: return RDF_Type::Enum; + case DF_Type::reaction_product_item_flags: return RDF_Type::Enum; + case DF_Type::reaction_product_item_improvementst: return RDF_Type::Class; + case DF_Type::reaction_product_item_improvementst__T_get_material: return RDF_Type::Compound; + case DF_Type::reaction_product_itemst: return RDF_Type::Class; + case DF_Type::reaction_product_itemst__T_get_material: return RDF_Type::Compound; + case DF_Type::reaction_product_type: return RDF_Type::Enum; + case DF_Type::reaction_reagent: return RDF_Type::Class; + case DF_Type::reaction_reagent_flags: return RDF_Type::Bitfield; + case DF_Type::reaction_reagent_itemst: return RDF_Type::Class; + case DF_Type::reaction_reagent_type: return RDF_Type::Enum; + case DF_Type::region_block_event_sphere_fieldst: return RDF_Type::Class; + case DF_Type::region_block_event_type: return RDF_Type::Enum; + case DF_Type::region_block_eventst: return RDF_Type::Class; + case DF_Type::region_map_entry: return RDF_Type::Struct; + case DF_Type::region_map_entry__T_clouds: return RDF_Type::Bitfield; + case DF_Type::region_map_entry__T_wind: return RDF_Type::Bitfield; + case DF_Type::region_map_entry_flags: return RDF_Type::Enum; + case DF_Type::renderer: return RDF_Type::Class; + case DF_Type::report: return RDF_Type::Struct; + case DF_Type::report__T_flags: return RDF_Type::Bitfield; + case DF_Type::reputation_type: return RDF_Type::Enum; + case DF_Type::resource_allotment_data: return RDF_Type::Struct; + case DF_Type::resource_allotment_data__T_unk_654: return RDF_Type::Compound; + case DF_Type::resource_allotment_specifier: return RDF_Type::Class; + case DF_Type::resource_allotment_specifier_ammost: return RDF_Type::Class; + case DF_Type::resource_allotment_specifier_anvilst: return RDF_Type::Class; + case DF_Type::resource_allotment_specifier_armor_bodyst: return RDF_Type::Class; + case DF_Type::resource_allotment_specifier_armor_bootsst: return RDF_Type::Class; + case DF_Type::resource_allotment_specifier_armor_glovesst: return RDF_Type::Class; + case DF_Type::resource_allotment_specifier_armor_helmst: return RDF_Type::Class; + case DF_Type::resource_allotment_specifier_armor_pantsst: return RDF_Type::Class; + case DF_Type::resource_allotment_specifier_backpackst: return RDF_Type::Class; + case DF_Type::resource_allotment_specifier_bagst: return RDF_Type::Class; + case DF_Type::resource_allotment_specifier_bedst: return RDF_Type::Class; + case DF_Type::resource_allotment_specifier_bonest: return RDF_Type::Class; + case DF_Type::resource_allotment_specifier_boxst: return RDF_Type::Class; + case DF_Type::resource_allotment_specifier_cabinetst: return RDF_Type::Class; + case DF_Type::resource_allotment_specifier_chairst: return RDF_Type::Class; + case DF_Type::resource_allotment_specifier_cheesest: return RDF_Type::Class; + case DF_Type::resource_allotment_specifier_clothing_bodyst: return RDF_Type::Class; + case DF_Type::resource_allotment_specifier_clothing_bootsst: return RDF_Type::Class; + case DF_Type::resource_allotment_specifier_clothing_glovesst: return RDF_Type::Class; + case DF_Type::resource_allotment_specifier_clothing_helmst: return RDF_Type::Class; + case DF_Type::resource_allotment_specifier_clothing_pantsst: return RDF_Type::Class; + case DF_Type::resource_allotment_specifier_clothst: return RDF_Type::Class; + case DF_Type::resource_allotment_specifier_craftsst: return RDF_Type::Class; + case DF_Type::resource_allotment_specifier_cropst: return RDF_Type::Class; + case DF_Type::resource_allotment_specifier_extractst: return RDF_Type::Class; + case DF_Type::resource_allotment_specifier_flaskst: return RDF_Type::Class; + case DF_Type::resource_allotment_specifier_gemsst: return RDF_Type::Class; + case DF_Type::resource_allotment_specifier_hornst: return RDF_Type::Class; + case DF_Type::resource_allotment_specifier_leatherst: return RDF_Type::Class; + case DF_Type::resource_allotment_specifier_meatst: return RDF_Type::Class; + case DF_Type::resource_allotment_specifier_metalst: return RDF_Type::Class; + case DF_Type::resource_allotment_specifier_pearlst: return RDF_Type::Class; + case DF_Type::resource_allotment_specifier_powderst: return RDF_Type::Class; + case DF_Type::resource_allotment_specifier_quiverst: return RDF_Type::Class; + case DF_Type::resource_allotment_specifier_shellst: return RDF_Type::Class; + case DF_Type::resource_allotment_specifier_skinst: return RDF_Type::Class; + case DF_Type::resource_allotment_specifier_soapst: return RDF_Type::Class; + case DF_Type::resource_allotment_specifier_stonest: return RDF_Type::Class; + case DF_Type::resource_allotment_specifier_tablest: return RDF_Type::Class; + case DF_Type::resource_allotment_specifier_tallowst: return RDF_Type::Class; + case DF_Type::resource_allotment_specifier_threadst: return RDF_Type::Class; + case DF_Type::resource_allotment_specifier_toothst: return RDF_Type::Class; + case DF_Type::resource_allotment_specifier_type: return RDF_Type::Enum; + case DF_Type::resource_allotment_specifier_weapon_meleest: return RDF_Type::Class; + case DF_Type::resource_allotment_specifier_weapon_rangedst: return RDF_Type::Class; + case DF_Type::resource_allotment_specifier_woodst: return RDF_Type::Class; + case DF_Type::rhythm: return RDF_Type::Struct; + case DF_Type::rhythm_sub1: return RDF_Type::Struct; + case DF_Type::rhythm_sub1__T_anon_1: return RDF_Type::Compound; + case DF_Type::rhythm_sub2: return RDF_Type::Struct; + case DF_Type::room_rent_info: return RDF_Type::Struct; + case DF_Type::room_rent_info__T_flags: return RDF_Type::Bitfield; + case DF_Type::route_stockpile_link: return RDF_Type::Struct; + case DF_Type::route_stockpile_link__T_mode: return RDF_Type::Bitfield; + case DF_Type::scale: return RDF_Type::Struct; + case DF_Type::scale__T_unk1: return RDF_Type::Compound; + case DF_Type::scale_sub1: return RDF_Type::Struct; + case DF_Type::scale_sub2: return RDF_Type::Struct; + case DF_Type::schedule_info: return RDF_Type::Struct; + case DF_Type::schedule_slot: return RDF_Type::Struct; + case DF_Type::screw_pump_direction: return RDF_Type::Enum; + case DF_Type::scribejob: return RDF_Type::Struct; + case DF_Type::script_step_conditionalst: return RDF_Type::Class; + case DF_Type::script_step_conditionalst__T_condition: return RDF_Type::Compound; + case DF_Type::script_step_constructtopiclistst: return RDF_Type::Class; + case DF_Type::script_step_dipeventst: return RDF_Type::Class; + case DF_Type::script_step_diphistoryst: return RDF_Type::Class; + case DF_Type::script_step_discussst: return RDF_Type::Class; + case DF_Type::script_step_eventst: return RDF_Type::Class; + case DF_Type::script_step_invasionst: return RDF_Type::Class; + case DF_Type::script_step_setvarst: return RDF_Type::Class; + case DF_Type::script_step_simpleactionst: return RDF_Type::Class; + case DF_Type::script_step_textviewerst: return RDF_Type::Class; + case DF_Type::script_step_topicdiscussionst: return RDF_Type::Class; + case DF_Type::script_stepst: return RDF_Type::Class; + case DF_Type::script_var_longst: return RDF_Type::Class; + case DF_Type::script_var_unitst: return RDF_Type::Class; + case DF_Type::script_varst: return RDF_Type::Class; + case DF_Type::setup_character_info: return RDF_Type::Struct; + case DF_Type::setup_character_info__T_status: return RDF_Type::Enum; + case DF_Type::shoes_flags: return RDF_Type::Enum; + case DF_Type::shop_type: return RDF_Type::Enum; + case DF_Type::siegeengine_type: return RDF_Type::Enum; + case DF_Type::site_building_item: return RDF_Type::Struct; + case DF_Type::site_dispute_type: return RDF_Type::Enum; + case DF_Type::site_realization_building: return RDF_Type::Struct; + case DF_Type::site_realization_building__T_unk_4c: return RDF_Type::Compound; + case DF_Type::site_realization_building_info_castle_courtyardst: return RDF_Type::Class; + case DF_Type::site_realization_building_info_castle_towerst: return RDF_Type::Class; + case DF_Type::site_realization_building_info_castle_wallst: return RDF_Type::Class; + case DF_Type::site_realization_building_info_hillock_housest: return RDF_Type::Class; + case DF_Type::site_realization_building_info_market_squarest: return RDF_Type::Class; + case DF_Type::site_realization_building_info_shop_housest: return RDF_Type::Class; + case DF_Type::site_realization_building_info_tree_housest: return RDF_Type::Class; + case DF_Type::site_realization_building_info_trenchesst: return RDF_Type::Class; + case DF_Type::site_realization_building_info_trenchesst__T_spokes: return RDF_Type::Compound; + case DF_Type::site_realization_building_infost: return RDF_Type::Class; + case DF_Type::site_realization_building_type: return RDF_Type::Enum; + case DF_Type::site_realization_crossroads: return RDF_Type::Struct; + case DF_Type::site_reputation_info: return RDF_Type::Struct; + case DF_Type::site_reputation_report: return RDF_Type::Struct; + case DF_Type::site_shop_type: return RDF_Type::Enum; + case DF_Type::site_type: return RDF_Type::Enum; + case DF_Type::skill_rating: return RDF_Type::Enum; + case DF_Type::slab_engraving_type: return RDF_Type::Enum; + case DF_Type::sound_production_type: return RDF_Type::Enum; + case DF_Type::spatter: return RDF_Type::Struct; + case DF_Type::spatter__T_flags: return RDF_Type::Bitfield; + case DF_Type::spatter_common: return RDF_Type::Struct; + case DF_Type::spatter_common__T_base_flags: return RDF_Type::Bitfield; + case DF_Type::special_mat_table: return RDF_Type::Struct; + case DF_Type::specific_ref: return RDF_Type::Struct; + case DF_Type::specific_ref__T_arg2: return RDF_Type::Union; + case DF_Type::specific_ref___union2: return RDF_Type::Union; + case DF_Type::specific_ref_type: return RDF_Type::Enum; + case DF_Type::sphere_type: return RDF_Type::Enum; + case DF_Type::spoils_report: return RDF_Type::Struct; + case DF_Type::squad: return RDF_Type::Struct; + case DF_Type::squad__T_rooms: return RDF_Type::Compound; + case DF_Type::squad_ammo_spec: return RDF_Type::Struct; + case DF_Type::squad_ammo_spec__T_flags: return RDF_Type::Bitfield; + case DF_Type::squad_event_type: return RDF_Type::Enum; + case DF_Type::squad_order: return RDF_Type::Class; + case DF_Type::squad_order_cannot_reason: return RDF_Type::Enum; + case DF_Type::squad_order_cause_trouble_for_entityst: return RDF_Type::Class; + case DF_Type::squad_order_defend_burrowsst: return RDF_Type::Class; + case DF_Type::squad_order_drive_armies_from_sitest: return RDF_Type::Class; + case DF_Type::squad_order_drive_entity_off_sitest: return RDF_Type::Class; + case DF_Type::squad_order_kill_hfst: return RDF_Type::Class; + case DF_Type::squad_order_kill_listst: return RDF_Type::Class; + case DF_Type::squad_order_movest: return RDF_Type::Class; + case DF_Type::squad_order_patrol_routest: return RDF_Type::Class; + case DF_Type::squad_order_raid_sitest: return RDF_Type::Class; + case DF_Type::squad_order_rescue_hfst: return RDF_Type::Class; + case DF_Type::squad_order_retrieve_artifactst: return RDF_Type::Class; + case DF_Type::squad_order_trainst: return RDF_Type::Class; + case DF_Type::squad_order_type: return RDF_Type::Enum; + case DF_Type::squad_position: return RDF_Type::Struct; + case DF_Type::squad_schedule_entry: return RDF_Type::Struct; + case DF_Type::squad_schedule_order: return RDF_Type::Struct; + case DF_Type::squad_uniform_spec: return RDF_Type::Struct; + case DF_Type::squad_use_flags: return RDF_Type::Bitfield; + case DF_Type::stockpile_category: return RDF_Type::Enum; + case DF_Type::stockpile_group_set: return RDF_Type::Bitfield; + case DF_Type::stockpile_links: return RDF_Type::Struct; + case DF_Type::stockpile_list: return RDF_Type::Enum; + case DF_Type::stockpile_settings: return RDF_Type::Struct; + case DF_Type::stockpile_settings__T_ammo: return RDF_Type::Compound; + case DF_Type::stockpile_settings__T_animals: return RDF_Type::Compound; + case DF_Type::stockpile_settings__T_armor: return RDF_Type::Compound; + case DF_Type::stockpile_settings__T_bars_blocks: return RDF_Type::Compound; + case DF_Type::stockpile_settings__T_cloth: return RDF_Type::Compound; + case DF_Type::stockpile_settings__T_coins: return RDF_Type::Compound; + case DF_Type::stockpile_settings__T_finished_goods: return RDF_Type::Compound; + case DF_Type::stockpile_settings__T_food: return RDF_Type::Compound; + case DF_Type::stockpile_settings__T_furniture: return RDF_Type::Compound; + case DF_Type::stockpile_settings__T_gems: return RDF_Type::Compound; + case DF_Type::stockpile_settings__T_leather: return RDF_Type::Compound; + case DF_Type::stockpile_settings__T_ore: return RDF_Type::Compound; + case DF_Type::stockpile_settings__T_refuse: return RDF_Type::Compound; + case DF_Type::stockpile_settings__T_sheet: return RDF_Type::Compound; + case DF_Type::stockpile_settings__T_stone: return RDF_Type::Compound; + case DF_Type::stockpile_settings__T_weapons: return RDF_Type::Compound; + case DF_Type::stockpile_settings__T_wood: return RDF_Type::Compound; + case DF_Type::stop_depart_condition: return RDF_Type::Struct; + case DF_Type::stop_depart_condition__T_direction: return RDF_Type::Enum; + case DF_Type::stop_depart_condition__T_flags: return RDF_Type::Bitfield; + case DF_Type::stop_depart_condition__T_mode: return RDF_Type::Enum; + case DF_Type::strain_type: return RDF_Type::Enum; + case DF_Type::stratus_type: return RDF_Type::Enum; + case DF_Type::syndrome: return RDF_Type::Struct; + case DF_Type::syndrome_flags: return RDF_Type::Bitfield; + case DF_Type::tactical_situation: return RDF_Type::Enum; + case DF_Type::talk_choice: return RDF_Type::Struct; + case DF_Type::talk_choice__T_unk: return RDF_Type::Compound; + case DF_Type::talk_choice_type: return RDF_Type::Enum; + case DF_Type::temperaturest: return RDF_Type::Struct; + case DF_Type::text_info_element_longst: return RDF_Type::Class; + case DF_Type::text_info_element_stringst: return RDF_Type::Class; + case DF_Type::text_info_elementst: return RDF_Type::Class; + case DF_Type::texture_handler: return RDF_Type::Struct; + case DF_Type::tile_bitmask: return RDF_Type::Struct; + case DF_Type::tile_building_occ: return RDF_Type::Enum; + case DF_Type::tile_designation: return RDF_Type::Bitfield; + case DF_Type::tile_dig_designation: return RDF_Type::Enum; + case DF_Type::tile_liquid: return RDF_Type::Enum; + case DF_Type::tile_liquid_flow: return RDF_Type::Bitfield; + case DF_Type::tile_liquid_flow_dir: return RDF_Type::Enum; + case DF_Type::tile_occupancy: return RDF_Type::Bitfield; + case DF_Type::tile_page: return RDF_Type::Struct; + case DF_Type::tile_traffic: return RDF_Type::Enum; + case DF_Type::tiletype: return RDF_Type::Enum; + case DF_Type::tiletype_material: return RDF_Type::Enum; + case DF_Type::tiletype_shape: return RDF_Type::Enum; + case DF_Type::tiletype_shape_basic: return RDF_Type::Enum; + case DF_Type::tiletype_special: return RDF_Type::Enum; + case DF_Type::tiletype_variant: return RDF_Type::Enum; + case DF_Type::timbre_type: return RDF_Type::Enum; + case DF_Type::timed_event: return RDF_Type::Struct; + case DF_Type::timed_event_type: return RDF_Type::Enum; + case DF_Type::tissue: return RDF_Type::Struct; + case DF_Type::tissue_flags: return RDF_Type::Enum; + case DF_Type::tissue_style_raw: return RDF_Type::Struct; + case DF_Type::tissue_style_type: return RDF_Type::Enum; + case DF_Type::tissue_template: return RDF_Type::Struct; + case DF_Type::tool_flags: return RDF_Type::Enum; + case DF_Type::tool_uses: return RDF_Type::Enum; + case DF_Type::tower_shape: return RDF_Type::Bitfield; + case DF_Type::toy_flags: return RDF_Type::Enum; + case DF_Type::training_assignment: return RDF_Type::Struct; + case DF_Type::training_assignment__T_flags: return RDF_Type::Bitfield; + case DF_Type::training_knowledge_level: return RDF_Type::Enum; + case DF_Type::trap_type: return RDF_Type::Enum; + case DF_Type::trapcomp_flags: return RDF_Type::Enum; + case DF_Type::tree_house_type: return RDF_Type::Enum; + case DF_Type::tuning_type: return RDF_Type::Enum; + case DF_Type::ui: return RDF_Type::Struct; + case DF_Type::ui__T_alerts: return RDF_Type::Compound; + case DF_Type::ui__T_alerts__T_list: return RDF_Type::Compound; + case DF_Type::ui__T_becoming_capital: return RDF_Type::Compound; + case DF_Type::ui__T_burrows: return RDF_Type::Compound; + case DF_Type::ui__T_economy_prices: return RDF_Type::Compound; + case DF_Type::ui__T_economy_prices__T_price_adjustment: return RDF_Type::Compound; + case DF_Type::ui__T_economy_prices__T_price_setter: return RDF_Type::Compound; + case DF_Type::ui__T_equipment: return RDF_Type::Compound; + case DF_Type::ui__T_equipment__T_update: return RDF_Type::Bitfield; + case DF_Type::ui__T_hauling: return RDF_Type::Compound; + case DF_Type::ui__T_invasions: return RDF_Type::Compound; + case DF_Type::ui__T_kitchen: return RDF_Type::Compound; + case DF_Type::ui__T_main: return RDF_Type::Compound; + case DF_Type::ui__T_main__T_dead_citizens: return RDF_Type::Compound; + case DF_Type::ui__T_map_edge: return RDF_Type::Compound; + case DF_Type::ui__T_squads: return RDF_Type::Compound; + case DF_Type::ui__T_stockpile: return RDF_Type::Compound; + case DF_Type::ui__T_tax_collection: return RDF_Type::Compound; + case DF_Type::ui__T_unk23c8_flags: return RDF_Type::Bitfield; + case DF_Type::ui__T_unk2a8c: return RDF_Type::Compound; + case DF_Type::ui__T_waypoints: return RDF_Type::Compound; + case DF_Type::ui__T_waypoints__T_points: return RDF_Type::Compound; + case DF_Type::ui__T_waypoints__T_routes: return RDF_Type::Compound; + case DF_Type::ui_advmode: return RDF_Type::Struct; + case DF_Type::ui_advmode__T_assume_identity: return RDF_Type::Compound; + case DF_Type::ui_advmode__T_companions: return RDF_Type::Compound; + case DF_Type::ui_advmode__T_conversation: return RDF_Type::Compound; + case DF_Type::ui_advmode__T_conversation__T_choices: return RDF_Type::Compound; + case DF_Type::ui_advmode__T_conversation__T_targets: return RDF_Type::Compound; + case DF_Type::ui_advmode__T_conversation__T_targets__T_type: return RDF_Type::Enum; + case DF_Type::ui_advmode__T_interactions: return RDF_Type::Compound; + case DF_Type::ui_advmode__T_show_menu: return RDF_Type::Enum; + case DF_Type::ui_advmode__T_travel_right_map: return RDF_Type::Enum; + case DF_Type::ui_advmode__T_unk_3124: return RDF_Type::Compound; + case DF_Type::ui_advmode__T_unk_3170: return RDF_Type::Compound; + case DF_Type::ui_advmode__T_unk_3170__T_unk_2: return RDF_Type::Compound; + case DF_Type::ui_advmode__T_unk_v40_1: return RDF_Type::Compound; + case DF_Type::ui_advmode__T_unk_v40_2: return RDF_Type::Compound; + case DF_Type::ui_advmode__T_unk_v40_3: return RDF_Type::Compound; + case DF_Type::ui_advmode__T_unk_v40_4: return RDF_Type::Compound; + case DF_Type::ui_advmode__T_unk_v40_4__T_unk_v40_4a: return RDF_Type::Compound; + case DF_Type::ui_advmode__T_unk_v40_5: return RDF_Type::Compound; + case DF_Type::ui_advmode__T_unk_v42_1: return RDF_Type::Compound; + case DF_Type::ui_advmode_menu: return RDF_Type::Enum; + case DF_Type::ui_build_item_req: return RDF_Type::Struct; + case DF_Type::ui_build_selector: return RDF_Type::Class; + case DF_Type::ui_hotkey: return RDF_Type::Struct; + case DF_Type::ui_hotkey__T_cmd: return RDF_Type::Enum; + case DF_Type::ui_hotkey___union4: return RDF_Type::Union; + case DF_Type::ui_look_list: return RDF_Type::Struct; + case DF_Type::ui_look_list__T_items: return RDF_Type::Compound; + case DF_Type::ui_look_list__T_items__T_type: return RDF_Type::Enum; + case DF_Type::ui_look_list__T_items___union3: return RDF_Type::Union; + case DF_Type::ui_sidebar_menus: return RDF_Type::Struct; + case DF_Type::ui_sidebar_menus__T_barracks: return RDF_Type::Compound; + case DF_Type::ui_sidebar_menus__T_building: return RDF_Type::Compound; + case DF_Type::ui_sidebar_menus__T_command_line: return RDF_Type::Compound; + case DF_Type::ui_sidebar_menus__T_designation: return RDF_Type::Compound; + case DF_Type::ui_sidebar_menus__T_designation__T_mine_mode: return RDF_Type::Enum; + case DF_Type::ui_sidebar_menus__T_hospital: return RDF_Type::Compound; + case DF_Type::ui_sidebar_menus__T_job_details: return RDF_Type::Compound; + case DF_Type::ui_sidebar_menus__T_location: return RDF_Type::Compound; + case DF_Type::ui_sidebar_menus__T_minimap: return RDF_Type::Compound; + case DF_Type::ui_sidebar_menus__T_unit: return RDF_Type::Compound; + case DF_Type::ui_sidebar_menus__T_unit__T_expel_error: return RDF_Type::Enum; + case DF_Type::ui_sidebar_menus__T_unit_cursor: return RDF_Type::Compound; + case DF_Type::ui_sidebar_menus__T_unit_skills: return RDF_Type::Compound; + case DF_Type::ui_sidebar_menus__T_workshop_job: return RDF_Type::Compound; + case DF_Type::ui_sidebar_menus__T_zone: return RDF_Type::Compound; + case DF_Type::ui_sidebar_menus__T_zone__T_mode: return RDF_Type::Enum; + case DF_Type::ui_sidebar_mode: return RDF_Type::Enum; + case DF_Type::ui_unit_view_mode: return RDF_Type::Struct; + case DF_Type::ui_unit_view_mode__T_value: return RDF_Type::Enum; + case DF_Type::uint16_t: return RDF_Type::DFArray; + case DF_Type::uint8_t: return RDF_Type::DFArray; + case DF_Type::uniform_category: return RDF_Type::Enum; + case DF_Type::uniform_flags: return RDF_Type::Bitfield; + case DF_Type::uniform_indiv_choice: return RDF_Type::Bitfield; + case DF_Type::unit: return RDF_Type::Class; + case DF_Type::unit__T_animal: return RDF_Type::Compound; + case DF_Type::unit__T_appearance: return RDF_Type::Compound; + case DF_Type::unit__T_body: return RDF_Type::Compound; + case DF_Type::unit__T_counters2: return RDF_Type::Compound; + case DF_Type::unit__T_counters: return RDF_Type::Compound; + case DF_Type::unit__T_counters__T_soldier_mood: return RDF_Type::Enum; + case DF_Type::unit__T_curse: return RDF_Type::Compound; + case DF_Type::unit__T_enemy: return RDF_Type::Compound; + case DF_Type::unit__T_enemy__T_undead: return RDF_Type::Compound; + case DF_Type::unit__T_enemy__T_unk_448: return RDF_Type::Compound; + case DF_Type::unit__T_enemy__T_unk_448__T_unk: return RDF_Type::Compound; + case DF_Type::unit__T_enemy__T_unk_44c: return RDF_Type::Compound; + case DF_Type::unit__T_enemy__T_unk_v40_sub3: return RDF_Type::Compound; + case DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_2: return RDF_Type::Compound; + case DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_6: return RDF_Type::Compound; + case DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7: return RDF_Type::Compound; + case DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7__T_unk_sub1: return RDF_Type::Compound; + case DF_Type::unit__T_enemy__T_witness_reports: return RDF_Type::Compound; + case DF_Type::unit__T_job: return RDF_Type::Compound; + case DF_Type::unit__T_meeting: return RDF_Type::Compound; + case DF_Type::unit__T_meeting__T_state: return RDF_Type::Enum; + case DF_Type::unit__T_military: return RDF_Type::Compound; + case DF_Type::unit__T_military__T_pickup_flags: return RDF_Type::Bitfield; + case DF_Type::unit__T_opponent: return RDF_Type::Compound; + case DF_Type::unit__T_path: return RDF_Type::Compound; + case DF_Type::unit__T_reports: return RDF_Type::Compound; + case DF_Type::unit__T_status2: return RDF_Type::Compound; + case DF_Type::unit__T_status: return RDF_Type::Compound; + case DF_Type::unit__T_status__T_eat_history: return RDF_Type::Compound; + case DF_Type::unit__T_status__T_eat_history__T_drink: return RDF_Type::Compound; + case DF_Type::unit__T_status__T_eat_history__T_food: return RDF_Type::Compound; + case DF_Type::unit__T_syndromes: return RDF_Type::Compound; + case DF_Type::unit__T_unknown7: return RDF_Type::Compound; + case DF_Type::unit_action: return RDF_Type::Struct; + case DF_Type::unit_action__T_data: return RDF_Type::Union; + case DF_Type::unit_action__T_data__T_attack: return RDF_Type::Compound; + case DF_Type::unit_action__T_data__T_attack__T_flags: return RDF_Type::Bitfield; + case DF_Type::unit_action__T_data__T_attack__T_unk_4: return RDF_Type::Compound; + case DF_Type::unit_action__T_data__T_block: return RDF_Type::Compound; + case DF_Type::unit_action__T_data__T_climb: return RDF_Type::Compound; + case DF_Type::unit_action__T_data__T_dodge: return RDF_Type::Compound; + case DF_Type::unit_action__T_data__T_holditem: return RDF_Type::Compound; + case DF_Type::unit_action__T_data__T_holdterrain: return RDF_Type::Compound; + case DF_Type::unit_action__T_data__T_job2: return RDF_Type::Compound; + case DF_Type::unit_action__T_data__T_job: return RDF_Type::Compound; + case DF_Type::unit_action__T_data__T_jump: return RDF_Type::Compound; + case DF_Type::unit_action__T_data__T_liedown: return RDF_Type::Compound; + case DF_Type::unit_action__T_data__T_move: return RDF_Type::Compound; + case DF_Type::unit_action__T_data__T_move__T_flags: return RDF_Type::Bitfield; + case DF_Type::unit_action__T_data__T_parry: return RDF_Type::Compound; + case DF_Type::unit_action__T_data__T_pushobject: return RDF_Type::Compound; + case DF_Type::unit_action__T_data__T_recover: return RDF_Type::Compound; + case DF_Type::unit_action__T_data__T_releaseitem: return RDF_Type::Compound; + case DF_Type::unit_action__T_data__T_releaseterrain: return RDF_Type::Compound; + case DF_Type::unit_action__T_data__T_standup: return RDF_Type::Compound; + case DF_Type::unit_action__T_data__T_suckblood: return RDF_Type::Compound; + case DF_Type::unit_action__T_data__T_talk: return RDF_Type::Compound; + case DF_Type::unit_action__T_data__T_unsteady: return RDF_Type::Compound; + case DF_Type::unit_action_type: return RDF_Type::Enum; + case DF_Type::unit_appearance: return RDF_Type::Struct; + case DF_Type::unit_attribute: return RDF_Type::Struct; + case DF_Type::unit_bp_health_flags: return RDF_Type::Bitfield; + case DF_Type::unit_chunk: return RDF_Type::Struct; + case DF_Type::unit_chunk__T_units: return RDF_Type::Compound; + case DF_Type::unit_coin_debt: return RDF_Type::Struct; + case DF_Type::unit_complaint: return RDF_Type::Struct; + case DF_Type::unit_complaint__T_type: return RDF_Type::Enum; + case DF_Type::unit_dance_skill: return RDF_Type::Struct; + case DF_Type::unit_demand: return RDF_Type::Struct; + case DF_Type::unit_demand__T_place: return RDF_Type::Enum; + case DF_Type::unit_emotion_memory: return RDF_Type::Struct; + case DF_Type::unit_flags1: return RDF_Type::Bitfield; + case DF_Type::unit_flags2: return RDF_Type::Bitfield; + case DF_Type::unit_flags3: return RDF_Type::Bitfield; + case DF_Type::unit_flags4: return RDF_Type::Bitfield; + case DF_Type::unit_genes: return RDF_Type::Struct; + case DF_Type::unit_ghost_info: return RDF_Type::Struct; + case DF_Type::unit_ghost_info__T_flags: return RDF_Type::Bitfield; + case DF_Type::unit_ghost_info__T_target: return RDF_Type::Union; + case DF_Type::unit_health_flags: return RDF_Type::Bitfield; + case DF_Type::unit_health_info: return RDF_Type::Struct; + case DF_Type::unit_health_info__T_op_history: return RDF_Type::Compound; + case DF_Type::unit_health_info__T_op_history__T_info: return RDF_Type::Union; + case DF_Type::unit_health_info__T_op_history__T_info__T_bandage: return RDF_Type::Compound; + case DF_Type::unit_health_info__T_op_history__T_info__T_crutch: return RDF_Type::Compound; + case DF_Type::unit_instrument_skill: return RDF_Type::Struct; + case DF_Type::unit_inventory_item: return RDF_Type::Struct; + case DF_Type::unit_inventory_item__T_mode: return RDF_Type::Enum; + case DF_Type::unit_item_use: return RDF_Type::Struct; + case DF_Type::unit_item_wrestle: return RDF_Type::Struct; + case DF_Type::unit_labor: return RDF_Type::Enum; + case DF_Type::unit_labor_category: return RDF_Type::Enum; + case DF_Type::unit_misc_trait: return RDF_Type::Struct; + case DF_Type::unit_musical_skill: return RDF_Type::Struct; + case DF_Type::unit_path_goal: return RDF_Type::Enum; + case DF_Type::unit_personality: return RDF_Type::Struct; + case DF_Type::unit_personality__T_dreams: return RDF_Type::Compound; + case DF_Type::unit_personality__T_emotions: return RDF_Type::Compound; + case DF_Type::unit_personality__T_emotions__T_flags: return RDF_Type::Bitfield; + case DF_Type::unit_personality__T_flags: return RDF_Type::Bitfield; + case DF_Type::unit_personality__T_memories: return RDF_Type::Compound; + case DF_Type::unit_personality__T_memories__T_reflected_on: return RDF_Type::Compound; + case DF_Type::unit_personality__T_needs: return RDF_Type::Compound; + case DF_Type::unit_personality__T_unk5: return RDF_Type::Compound; + case DF_Type::unit_personality__T_unk_v40_2: return RDF_Type::Compound; + case DF_Type::unit_personality__T_unk_v40_6: return RDF_Type::Compound; + case DF_Type::unit_personality__T_values: return RDF_Type::Compound; + case DF_Type::unit_poetic_skill: return RDF_Type::Struct; + case DF_Type::unit_preference: return RDF_Type::Struct; + case DF_Type::unit_preference__T_type: return RDF_Type::Enum; + case DF_Type::unit_preference___union5: return RDF_Type::Union; + case DF_Type::unit_relationship_type: return RDF_Type::Enum; + case DF_Type::unit_report_type: return RDF_Type::Enum; + case DF_Type::unit_request: return RDF_Type::Struct; + case DF_Type::unit_request__T_type: return RDF_Type::Enum; + case DF_Type::unit_skill: return RDF_Type::Struct; + case DF_Type::unit_soul: return RDF_Type::Struct; + case DF_Type::unit_soul__T_performance_skills: return RDF_Type::Compound; + case DF_Type::unit_station_type: return RDF_Type::Enum; + case DF_Type::unit_storage_status: return RDF_Type::Struct; + case DF_Type::unit_syndrome: return RDF_Type::Struct; + case DF_Type::unit_syndrome__T_flags: return RDF_Type::Bitfield; + case DF_Type::unit_syndrome__T_symptoms: return RDF_Type::Compound; + case DF_Type::unit_syndrome__T_symptoms__T_flags: return RDF_Type::Bitfield; + case DF_Type::unit_thought_type: return RDF_Type::Enum; + case DF_Type::unit_unk_138: return RDF_Type::Struct; + case DF_Type::unit_wound: return RDF_Type::Struct; + case DF_Type::unit_wound__T_flags: return RDF_Type::Bitfield; + case DF_Type::unit_wound__T_parts: return RDF_Type::Compound; + case DF_Type::units_other_id: return RDF_Type::Enum; + case DF_Type::value_type: return RDF_Type::Enum; + case DF_Type::vehicle: return RDF_Type::Struct; + case DF_Type::vermin: return RDF_Type::Struct; + case DF_Type::vermin_flags: return RDF_Type::Bitfield; + case DF_Type::viewscreen: return RDF_Type::Class; + case DF_Type::viewscreen_adopt_regionst: return RDF_Type::Class; + case DF_Type::viewscreen_adventure_logst: return RDF_Type::Class; + case DF_Type::viewscreen_adventure_logst__T_info_mode: return RDF_Type::Enum; + case DF_Type::viewscreen_adventure_logst__T_mode: return RDF_Type::Enum; + case DF_Type::viewscreen_announcelistst: return RDF_Type::Class; + case DF_Type::viewscreen_assign_display_itemst: return RDF_Type::Class; + case DF_Type::viewscreen_assign_display_itemst__T_sel_column: return RDF_Type::Enum; + case DF_Type::viewscreen_barterst: return RDF_Type::Class; + case DF_Type::viewscreen_buildinglistst: return RDF_Type::Class; + case DF_Type::viewscreen_buildingst: return RDF_Type::Class; + case DF_Type::viewscreen_choose_start_sitest: return RDF_Type::Class; + case DF_Type::viewscreen_choose_start_sitest__T_finder: return RDF_Type::Compound; + case DF_Type::viewscreen_choose_start_sitest__T_page: return RDF_Type::Enum; + case DF_Type::viewscreen_civlistst: return RDF_Type::Class; + case DF_Type::viewscreen_civlistst__T_artifact_details: return RDF_Type::Compound; + case DF_Type::viewscreen_civlistst__T_page: return RDF_Type::Enum; + case DF_Type::viewscreen_civlistst__T_rumors: return RDF_Type::Compound; + case DF_Type::viewscreen_civlistst__T_rumors__T_type: return RDF_Type::Enum; + case DF_Type::viewscreen_civlistst__T_unk_cache: return RDF_Type::Compound; + case DF_Type::viewscreen_civlistst__T_unk_cache__T_tmp1: return RDF_Type::Compound; + case DF_Type::viewscreen_civlistst__T_unk_cache__T_tmp2: return RDF_Type::Compound; + case DF_Type::viewscreen_createquotast: return RDF_Type::Class; + case DF_Type::viewscreen_customize_unitst: return RDF_Type::Class; + case DF_Type::viewscreen_dungeon_monsterstatusst: return RDF_Type::Class; + case DF_Type::viewscreen_dungeon_wrestlest: return RDF_Type::Class; + case DF_Type::viewscreen_dungeon_wrestlest__T_unk1: return RDF_Type::Compound; + case DF_Type::viewscreen_dungeonmodest: return RDF_Type::Class; + case DF_Type::viewscreen_dwarfmodest: return RDF_Type::Class; + case DF_Type::viewscreen_entityst: return RDF_Type::Class; + case DF_Type::viewscreen_export_graphical_mapst: return RDF_Type::Class; + case DF_Type::viewscreen_export_regionst: return RDF_Type::Class; + case DF_Type::viewscreen_export_regionst__T_unk1: return RDF_Type::Compound; + case DF_Type::viewscreen_game_cleanerst: return RDF_Type::Class; + case DF_Type::viewscreen_game_cleanerst__T_state: return RDF_Type::Enum; + case DF_Type::viewscreen_image_creator_mode: return RDF_Type::Enum; + case DF_Type::viewscreen_image_creatorst: return RDF_Type::Class; + case DF_Type::viewscreen_image_creatorst__T_artifacts: return RDF_Type::Compound; + case DF_Type::viewscreen_image_creatorst__T_descriptions: return RDF_Type::Compound; + case DF_Type::viewscreen_image_creatorst__T_entities: return RDF_Type::Compound; + case DF_Type::viewscreen_image_creatorst__T_objects: return RDF_Type::Compound; + case DF_Type::viewscreen_image_creatorst__T_plants: return RDF_Type::Compound; + case DF_Type::viewscreen_image_creatorst__T_shapes: return RDF_Type::Compound; + case DF_Type::viewscreen_image_creatorst__T_sites: return RDF_Type::Compound; + case DF_Type::viewscreen_image_creatorst__T_trees: return RDF_Type::Compound; + case DF_Type::viewscreen_itemst: return RDF_Type::Class; + case DF_Type::viewscreen_joblistst: return RDF_Type::Class; + case DF_Type::viewscreen_jobmanagementst: return RDF_Type::Class; + case DF_Type::viewscreen_jobst: return RDF_Type::Class; + case DF_Type::viewscreen_justicest: return RDF_Type::Class; + case DF_Type::viewscreen_justicest__T_cur_column: return RDF_Type::Enum; + case DF_Type::viewscreen_kitchenpref_page: return RDF_Type::Enum; + case DF_Type::viewscreen_kitchenprefst: return RDF_Type::Class; + case DF_Type::viewscreen_layer: return RDF_Type::Class; + case DF_Type::viewscreen_layer_arena_creaturest: return RDF_Type::Class; + case DF_Type::viewscreen_layer_assigntradest: return RDF_Type::Class; + case DF_Type::viewscreen_layer_choose_language_namest: return RDF_Type::Class; + case DF_Type::viewscreen_layer_choose_language_namest__T_current_component: return RDF_Type::Enum; + case DF_Type::viewscreen_layer_currencyst: return RDF_Type::Class; + case DF_Type::viewscreen_layer_export_play_mapst: return RDF_Type::Class; + case DF_Type::viewscreen_layer_militaryst: return RDF_Type::Class; + case DF_Type::viewscreen_layer_militaryst__T_ammo: return RDF_Type::Compound; + case DF_Type::viewscreen_layer_militaryst__T_ammo__T_add_item: return RDF_Type::Compound; + case DF_Type::viewscreen_layer_militaryst__T_ammo__T_material: return RDF_Type::Compound; + case DF_Type::viewscreen_layer_militaryst__T_equip: return RDF_Type::Compound; + case DF_Type::viewscreen_layer_militaryst__T_equip__T_add_item: return RDF_Type::Compound; + case DF_Type::viewscreen_layer_militaryst__T_equip__T_assigned: return RDF_Type::Compound; + case DF_Type::viewscreen_layer_militaryst__T_equip__T_color: return RDF_Type::Compound; + case DF_Type::viewscreen_layer_militaryst__T_equip__T_edit_mode: return RDF_Type::Enum; + case DF_Type::viewscreen_layer_militaryst__T_equip__T_material: return RDF_Type::Compound; + case DF_Type::viewscreen_layer_militaryst__T_equip__T_mode: return RDF_Type::Enum; + case DF_Type::viewscreen_layer_militaryst__T_equip__T_uniform: return RDF_Type::Compound; + case DF_Type::viewscreen_layer_militaryst__T_page: return RDF_Type::Enum; + case DF_Type::viewscreen_layer_militaryst__T_positions: return RDF_Type::Compound; + case DF_Type::viewscreen_layer_militaryst__T_squad_members: return RDF_Type::Compound; + case DF_Type::viewscreen_layer_militaryst__T_squads: return RDF_Type::Compound; + case DF_Type::viewscreen_layer_musicsoundst: return RDF_Type::Class; + case DF_Type::viewscreen_layer_noblelistst: return RDF_Type::Class; + case DF_Type::viewscreen_layer_noblelistst__T_candidates: return RDF_Type::Compound; + case DF_Type::viewscreen_layer_noblelistst__T_info: return RDF_Type::Compound; + case DF_Type::viewscreen_layer_noblelistst__T_mode: return RDF_Type::Enum; + case DF_Type::viewscreen_layer_overall_healthst: return RDF_Type::Class; + case DF_Type::viewscreen_layer_reactionst: return RDF_Type::Class; + case DF_Type::viewscreen_layer_squad_schedulest: return RDF_Type::Class; + case DF_Type::viewscreen_layer_stockpilest: return RDF_Type::Class; + case DF_Type::viewscreen_layer_stone_restrictionst: return RDF_Type::Class; + case DF_Type::viewscreen_layer_unit_actionst: return RDF_Type::Class; + case DF_Type::viewscreen_layer_unit_healthst: return RDF_Type::Class; + case DF_Type::viewscreen_layer_unit_relationshipst: return RDF_Type::Class; + case DF_Type::viewscreen_layer_world_gen_param_presetst: return RDF_Type::Class; + case DF_Type::viewscreen_layer_world_gen_paramst: return RDF_Type::Class; + case DF_Type::viewscreen_layer_world_gen_paramst__T_unk1: return RDF_Type::Compound; + case DF_Type::viewscreen_legendsst: return RDF_Type::Class; + case DF_Type::viewscreen_legendsst__T_anon_7: return RDF_Type::Compound; + case DF_Type::viewscreen_legendsst__T_anon_7__T_anon_3: return RDF_Type::Compound; + case DF_Type::viewscreen_legendsst__T_cur_page: return RDF_Type::Enum; + case DF_Type::viewscreen_loadgamest: return RDF_Type::Class; + case DF_Type::viewscreen_loadgamest__T_cur_step: return RDF_Type::Enum; + case DF_Type::viewscreen_locationsst: return RDF_Type::Class; + case DF_Type::viewscreen_locationsst__T_in_edit: return RDF_Type::Enum; + case DF_Type::viewscreen_locationsst__T_menu: return RDF_Type::Enum; + case DF_Type::viewscreen_meetingst: return RDF_Type::Class; + case DF_Type::viewscreen_movieplayerst: return RDF_Type::Class; + case DF_Type::viewscreen_new_regionst: return RDF_Type::Class; + case DF_Type::viewscreen_noblest: return RDF_Type::Class; + case DF_Type::viewscreen_optionst: return RDF_Type::Class; + case DF_Type::viewscreen_overallstatusst: return RDF_Type::Class; + case DF_Type::viewscreen_petitionsst: return RDF_Type::Class; + case DF_Type::viewscreen_petst: return RDF_Type::Class; + case DF_Type::viewscreen_petst__T_animal: return RDF_Type::Union; + case DF_Type::viewscreen_petst__T_mode: return RDF_Type::Enum; + case DF_Type::viewscreen_pricest: return RDF_Type::Class; + case DF_Type::viewscreen_reportlistst: return RDF_Type::Class; + case DF_Type::viewscreen_requestagreementst: return RDF_Type::Class; + case DF_Type::viewscreen_savegamest: return RDF_Type::Class; + case DF_Type::viewscreen_selectitemst: return RDF_Type::Class; + case DF_Type::viewscreen_setupadventurest: return RDF_Type::Class; + case DF_Type::viewscreen_setupadventurest__T_page: return RDF_Type::Enum; + case DF_Type::viewscreen_setupadventurest__T_races_info: return RDF_Type::Compound; + case DF_Type::viewscreen_setupadventurest__T_sel_trait_column: return RDF_Type::Enum; + case DF_Type::viewscreen_setupdwarfgamest: return RDF_Type::Class; + case DF_Type::viewscreen_setupdwarfgamest__T_animals: return RDF_Type::Compound; + case DF_Type::viewscreen_setupdwarfgamest__T_mode: return RDF_Type::Enum; + case DF_Type::viewscreen_setupdwarfgamest__T_unk_v43: return RDF_Type::Compound; + case DF_Type::viewscreen_setupdwarfgamest__T_unk_v43__T_unk_v43_sub9: return RDF_Type::Compound; + case DF_Type::viewscreen_storesst: return RDF_Type::Class; + case DF_Type::viewscreen_textviewerst: return RDF_Type::Class; + case DF_Type::viewscreen_textviewerst__T_formatted_text: return RDF_Type::Compound; + case DF_Type::viewscreen_textviewerst__T_formatted_text__T_flags: return RDF_Type::Bitfield; + case DF_Type::viewscreen_titlest: return RDF_Type::Class; + case DF_Type::viewscreen_titlest__T_sel_subpage: return RDF_Type::Enum; + case DF_Type::viewscreen_titlest__T_start_savegames: return RDF_Type::Compound; + case DF_Type::viewscreen_topicmeeting_fill_land_holder_positionsst: return RDF_Type::Class; + case DF_Type::viewscreen_topicmeeting_takerequestsst: return RDF_Type::Class; + case DF_Type::viewscreen_topicmeetingst: return RDF_Type::Class; + case DF_Type::viewscreen_tradeagreementst: return RDF_Type::Class; + case DF_Type::viewscreen_tradegoodsst: return RDF_Type::Class; + case DF_Type::viewscreen_tradelistst: return RDF_Type::Class; + case DF_Type::viewscreen_treasurelistst: return RDF_Type::Class; + case DF_Type::viewscreen_unitlist_page: return RDF_Type::Enum; + case DF_Type::viewscreen_unitlistst: return RDF_Type::Class; + case DF_Type::viewscreen_unitst: return RDF_Type::Class; + case DF_Type::viewscreen_update_regionst: return RDF_Type::Class; + case DF_Type::viewscreen_wagesst: return RDF_Type::Class; + case DF_Type::viewscreen_workquota_conditionst: return RDF_Type::Class; + case DF_Type::viewscreen_workquota_conditionst__T_mode: return RDF_Type::Enum; + case DF_Type::viewscreen_workquota_conditionst__T_traits: return RDF_Type::Compound; + case DF_Type::viewscreen_workquota_conditionst__T_traits__T_flags: return RDF_Type::Bitfield; + case DF_Type::viewscreen_workquota_detailsst: return RDF_Type::Class; + case DF_Type::viewscreen_workshop_profilest: return RDF_Type::Class; + case DF_Type::viewscreen_workshop_profilest__T_tab: return RDF_Type::Enum; + case DF_Type::weapon_attack: return RDF_Type::Struct; + case DF_Type::weapon_attack__T_flags: return RDF_Type::Bitfield; + case DF_Type::weapon_flags: return RDF_Type::Enum; + case DF_Type::weather_type: return RDF_Type::Enum; + case DF_Type::web_cluster: return RDF_Type::Struct; + case DF_Type::widget_menu: return RDF_Type::Struct; + case DF_Type::widget_textbox: return RDF_Type::Struct; + case DF_Type::workshop_profile: return RDF_Type::Struct; + case DF_Type::workshop_type: return RDF_Type::Enum; + case DF_Type::world: return RDF_Type::Struct; + case DF_Type::world__T_activities: return RDF_Type::Compound; + case DF_Type::world__T_agreements: return RDF_Type::Compound; + case DF_Type::world__T_arena_settings: return RDF_Type::Compound; + case DF_Type::world__T_arena_spawn: return RDF_Type::Compound; + case DF_Type::world__T_arena_spawn__T_equipment: return RDF_Type::Compound; + case DF_Type::world__T_arena_spawn__T_item_types: return RDF_Type::Compound; + case DF_Type::world__T_armies: return RDF_Type::Compound; + case DF_Type::world__T_army_controllers: return RDF_Type::Compound; + case DF_Type::world__T_army_tracking_info: return RDF_Type::Compound; + case DF_Type::world__T_artifacts: return RDF_Type::Compound; + case DF_Type::world__T_belief_systems: return RDF_Type::Compound; + case DF_Type::world__T_crimes: return RDF_Type::Compound; + case DF_Type::world__T_cultural_identities: return RDF_Type::Compound; + case DF_Type::world__T_cur_savegame: return RDF_Type::Compound; + case DF_Type::world__T_dance_forms: return RDF_Type::Compound; + case DF_Type::world__T_enemy_status_cache: return RDF_Type::Compound; + case DF_Type::world__T_entities: return RDF_Type::Compound; + case DF_Type::world__T_features: return RDF_Type::Compound; + case DF_Type::world__T_flow_engine: return RDF_Type::Compound; + case DF_Type::world__T_flow_guides: return RDF_Type::Compound; + case DF_Type::world__T_formations: return RDF_Type::Compound; + case DF_Type::world__T_identities: return RDF_Type::Compound; + case DF_Type::world__T_incidents: return RDF_Type::Compound; + case DF_Type::world__T_interaction_instances: return RDF_Type::Compound; + case DF_Type::world__T_items: return RDF_Type::Compound; + case DF_Type::world__T_languages: return RDF_Type::Compound; + case DF_Type::world__T_map: return RDF_Type::Compound; + case DF_Type::world__T_map_extras: return RDF_Type::Compound; + case DF_Type::world__T_math: return RDF_Type::Compound; + case DF_Type::world__T_math__T_approx: return RDF_Type::Compound; + case DF_Type::world__T_musical_forms: return RDF_Type::Compound; + case DF_Type::world__T_nemesis: return RDF_Type::Compound; + case DF_Type::world__T_occupations: return RDF_Type::Compound; + case DF_Type::world__T_pathfinder: return RDF_Type::Compound; + case DF_Type::world__T_pathfinder__T_boundary_heap: return RDF_Type::Compound; + case DF_Type::world__T_plants: return RDF_Type::Compound; + case DF_Type::world__T_poetic_forms: return RDF_Type::Compound; + case DF_Type::world__T_profession_skills: return RDF_Type::Compound; + case DF_Type::world__T_rhythms: return RDF_Type::Compound; + case DF_Type::world__T_scales: return RDF_Type::Compound; + case DF_Type::world__T_schedules: return RDF_Type::Compound; + case DF_Type::world__T_squads: return RDF_Type::Compound; + case DF_Type::world__T_status: return RDF_Type::Compound; + case DF_Type::world__T_status__T_flags: return RDF_Type::Bitfield; + case DF_Type::world__T_status__T_slots: return RDF_Type::Compound; + case DF_Type::world__T_status__T_slots__T_flags: return RDF_Type::Bitfield; + case DF_Type::world__T_stockpile: return RDF_Type::Compound; + case DF_Type::world__T_stockpile__T_simple1: return RDF_Type::Compound; + case DF_Type::world__T_stockpile__T_simple2: return RDF_Type::Compound; + case DF_Type::world__T_stockpile__T_simple3: return RDF_Type::Compound; + case DF_Type::world__T_units: return RDF_Type::Compound; + case DF_Type::world__T_unk_131ec0: return RDF_Type::Compound; + case DF_Type::world__T_unk_131ef0: return RDF_Type::Compound; + case DF_Type::world__T_unk_131ef0__T_unk_2: return RDF_Type::Compound; + case DF_Type::world__T_unk_19325c: return RDF_Type::Compound; + case DF_Type::world__T_unk_19325c__T_anon_1: return RDF_Type::Compound; + case DF_Type::world__T_unk_19325c__T_anon_2: return RDF_Type::Compound; + case DF_Type::world__T_unk_19325c__T_anon_3: return RDF_Type::Compound; + case DF_Type::world__T_unk_59dc4: return RDF_Type::Compound; + case DF_Type::world__T_unk_59dc4__T_unk1: return RDF_Type::Compound; + case DF_Type::world__T_unk_v40_6: return RDF_Type::Compound; + case DF_Type::world__T_vehicles: return RDF_Type::Compound; + case DF_Type::world__T_vermin: return RDF_Type::Compound; + case DF_Type::world__T_worldgen: return RDF_Type::Compound; + case DF_Type::world__T_worldgen__T_worldgen_parms: return RDF_Type::Compound; + case DF_Type::world__T_worldgen_coord_buf: return RDF_Type::Compound; + case DF_Type::world__T_worldgen_status: return RDF_Type::Compound; + case DF_Type::world__T_written_contents: return RDF_Type::Compound; + case DF_Type::world_construction: return RDF_Type::Class; + case DF_Type::world_construction_bridgest: return RDF_Type::Class; + case DF_Type::world_construction_roadst: return RDF_Type::Class; + case DF_Type::world_construction_square: return RDF_Type::Class; + case DF_Type::world_construction_square_bridgest: return RDF_Type::Class; + case DF_Type::world_construction_square_roadst: return RDF_Type::Class; + case DF_Type::world_construction_square_tunnelst: return RDF_Type::Class; + case DF_Type::world_construction_square_wallst: return RDF_Type::Class; + case DF_Type::world_construction_tunnelst: return RDF_Type::Class; + case DF_Type::world_construction_type: return RDF_Type::Enum; + case DF_Type::world_construction_wallst: return RDF_Type::Class; + case DF_Type::world_dat_summary: return RDF_Type::Struct; + case DF_Type::world_data: return RDF_Type::Struct; + case DF_Type::world_data__T_constructions: return RDF_Type::Compound; + case DF_Type::world_data__T_feature_map: return RDF_Type::Compound; + case DF_Type::world_data__T_feature_map__T_features: return RDF_Type::Compound; + case DF_Type::world_data__T_flip_latitude: return RDF_Type::Enum; + case DF_Type::world_data__T_freakish_weather: return RDF_Type::Compound; + case DF_Type::world_data__T_mountain_peaks: return RDF_Type::Compound; + case DF_Type::world_data__T_unk_150: return RDF_Type::Compound; + case DF_Type::world_data__T_unk_150__T_unk_18: return RDF_Type::Compound; + case DF_Type::world_data__T_unk_150__T_unk_28: return RDF_Type::Compound; + case DF_Type::world_data__T_unk_150__T_unk_8: return RDF_Type::Compound; + case DF_Type::world_data__T_unk_170: return RDF_Type::Compound; + case DF_Type::world_data__T_unk_170__T_unk_4: return RDF_Type::Compound; + case DF_Type::world_data__T_unk_274: return RDF_Type::Compound; + case DF_Type::world_data__T_unk_274__T_unk_10: return RDF_Type::Compound; + case DF_Type::world_data__T_unk_482f8: return RDF_Type::Compound; + case DF_Type::world_data__T_unk_b4: return RDF_Type::Compound; + case DF_Type::world_gen_param_basest: return RDF_Type::Class; + case DF_Type::world_gen_param_charst: return RDF_Type::Class; + case DF_Type::world_gen_param_memberst: return RDF_Type::Class; + case DF_Type::world_gen_param_seedst: return RDF_Type::Class; + case DF_Type::world_gen_param_valuest: return RDF_Type::Class; + case DF_Type::world_geo_biome: return RDF_Type::Struct; + case DF_Type::world_geo_layer: return RDF_Type::Struct; + case DF_Type::world_history: return RDF_Type::Struct; + case DF_Type::world_history__T_event_collections: return RDF_Type::Compound; + case DF_Type::world_landmass: return RDF_Type::Struct; + case DF_Type::world_object_data: return RDF_Type::Struct; + case DF_Type::world_object_data__T_offloaded_buildings: return RDF_Type::Compound; + case DF_Type::world_object_data__T_offloaded_items: return RDF_Type::Compound; + case DF_Type::world_object_data__T_unk_94: return RDF_Type::Compound; + case DF_Type::world_population: return RDF_Type::Struct; + case DF_Type::world_population___union7: return RDF_Type::Union; + case DF_Type::world_population_ref: return RDF_Type::Struct; + case DF_Type::world_population_type: return RDF_Type::Enum; + case DF_Type::world_raws: return RDF_Type::Struct; + case DF_Type::world_raws__T_bodyglosses: return RDF_Type::Compound; + case DF_Type::world_raws__T_buildings: return RDF_Type::Compound; + case DF_Type::world_raws__T_descriptors: return RDF_Type::Compound; + case DF_Type::world_raws__T_effects: return RDF_Type::Compound; + case DF_Type::world_raws__T_itemdefs: return RDF_Type::Compound; + case DF_Type::world_raws__T_language: return RDF_Type::Compound; + case DF_Type::world_raws__T_plants: return RDF_Type::Compound; + case DF_Type::world_raws__T_reactions: return RDF_Type::Compound; + case DF_Type::world_raws__T_syndromes: return RDF_Type::Compound; + case DF_Type::world_region: return RDF_Type::Struct; + case DF_Type::world_region_details: return RDF_Type::Struct; + case DF_Type::world_region_details__T_edges: return RDF_Type::Compound; + case DF_Type::world_region_details__T_rivers_horizontal: return RDF_Type::Compound; + case DF_Type::world_region_details__T_rivers_vertical: return RDF_Type::Compound; + case DF_Type::world_region_feature: return RDF_Type::Struct; + case DF_Type::world_region_type: return RDF_Type::Enum; + case DF_Type::world_river: return RDF_Type::Struct; + case DF_Type::world_site: return RDF_Type::Struct; + case DF_Type::world_site__T_subtype_info: return RDF_Type::Compound; + case DF_Type::world_site__T_unk_118: return RDF_Type::Compound; + case DF_Type::world_site__T_unk_13c: return RDF_Type::Compound; + case DF_Type::world_site__T_unk_188: return RDF_Type::Compound; + case DF_Type::world_site__T_unk_188__T_unk1: return RDF_Type::Compound; + case DF_Type::world_site__T_unk_1: return RDF_Type::Compound; + case DF_Type::world_site__T_unk_1__T_units: return RDF_Type::Compound; + case DF_Type::world_site__T_unk_21c: return RDF_Type::Compound; + case DF_Type::world_site__T_unk_v40_2: return RDF_Type::Compound; + case DF_Type::world_site__T_unk_v40_4a: return RDF_Type::Compound; + case DF_Type::world_site__T_unk_v40_4b: return RDF_Type::Compound; + case DF_Type::world_site__T_unk_v40_4c: return RDF_Type::Compound; + case DF_Type::world_site__T_unk_v40_4d: return RDF_Type::Compound; + case DF_Type::world_site__T_unk_v40_4d__T_anon_2: return RDF_Type::Compound; + case DF_Type::world_site__T_unk_v43_2: return RDF_Type::Compound; + case DF_Type::world_site_flags: return RDF_Type::Enum; + case DF_Type::world_site_inhabitant: return RDF_Type::Struct; + case DF_Type::world_site_realization: return RDF_Type::Struct; + case DF_Type::world_site_realization__T_areas: return RDF_Type::Compound; + case DF_Type::world_site_realization__T_areas__T_type: return RDF_Type::Enum; + case DF_Type::world_site_realization__T_building_map: return RDF_Type::Compound; + case DF_Type::world_site_realization__T_river_map: return RDF_Type::Compound; + case DF_Type::world_site_realization__T_unk_193bc: return RDF_Type::Compound; + case DF_Type::world_site_realization__T_unk_193bc__T_unk_8: return RDF_Type::Compound; + case DF_Type::world_site_realization__T_unk_55e8: return RDF_Type::Compound; + case DF_Type::world_site_realization__T_unk_55e8__T_unk_v40_2: return RDF_Type::Compound; + case DF_Type::world_site_type: return RDF_Type::Enum; + case DF_Type::world_site_unk130: return RDF_Type::Struct; + case DF_Type::world_site_unk130__T_unk_4: return RDF_Type::Compound; + case DF_Type::world_underground_region: return RDF_Type::Struct; + case DF_Type::world_underground_region__T_type: return RDF_Type::Enum; + case DF_Type::world_unk_20: return RDF_Type::Struct; + case DF_Type::world_unk_20__T_anon_7: return RDF_Type::Compound; + case DF_Type::world_unk_6c: return RDF_Type::Struct; + case DF_Type::world_unk_9c: return RDF_Type::Struct; + case DF_Type::world_unk_a8: return RDF_Type::Struct; + case DF_Type::world_unk_b4: return RDF_Type::Struct; + case DF_Type::world_unk_c0: return RDF_Type::Struct; + case DF_Type::world_unk_c0__T_anon_7: return RDF_Type::Compound; + case DF_Type::worldgen_range_type: return RDF_Type::Enum; + case DF_Type::worldgen_region_type: return RDF_Type::Enum; + case DF_Type::wound_curse_info: return RDF_Type::Struct; + case DF_Type::wound_damage_flags1: return RDF_Type::Bitfield; + case DF_Type::wound_damage_flags2: return RDF_Type::Bitfield; + case DF_Type::wound_effect_type: return RDF_Type::Enum; + case DF_Type::written_content: return RDF_Type::Struct; + case DF_Type::written_content_style: return RDF_Type::Enum; + case DF_Type::written_content_type: return RDF_Type::Enum; + case DF_Type::z_level_flags: return RDF_Type::Bitfield; + case DF_Type::zoom_commands: return RDF_Type::Enum; + default: break; + } + return RDF_Type::None; +} diff --git a/dwarfexplorer/generated/df_all.h b/dwarfexplorer/generated/df_all.h new file mode 100644 index 0000000..54bd288 --- /dev/null +++ b/dwarfexplorer/generated/df_all.h @@ -0,0 +1,1538 @@ +// DO NOT EDIT THIS FILE. IT'S MACHINE GENERATED !!! + +#ifndef DFHACK_ALL_INCLUDES_H +#define DFHACK_ALL_INCLUDES_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#endif //DFHACK_ALL_INCLUDES_H diff --git a/dwarfexplorer/generated/df_types_size.cpp b/dwarfexplorer/generated/df_types_size.cpp index 030f02c..6d25de9 100644 --- a/dwarfexplorer/generated/df_types_size.cpp +++ b/dwarfexplorer/generated/df_types_size.cpp @@ -1,2293 +1,2277 @@ -/* - * Copyright 2019 Rafael Agundo - * - * This file is part of dwarfexplorer plugin for DFHack - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - * - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "df_all.h" -#include "DF_Types.h" -#include - -namespace rdf -{ -std::map DF_types_size_table = -{ - { DF_Type::abstract_building, sizeof(df::abstract_building) }, - { DF_Type::abstract_building__T_inhabitants, sizeof(df::abstract_building::T_inhabitants) }, - { DF_Type::abstract_building__T_unk1, sizeof(df::abstract_building::T_unk1) }, - { DF_Type::abstract_building_contents, sizeof(df::abstract_building_contents) }, - { DF_Type::abstract_building_dark_towerst, sizeof(df::abstract_building_dark_towerst) }, - { DF_Type::abstract_building_dungeonst, sizeof(df::abstract_building_dungeonst) }, - { DF_Type::abstract_building_dungeonst__T_dungeon_type, sizeof(df::abstract_building_dungeonst::T_dungeon_type) }, - { DF_Type::abstract_building_flags, sizeof(df::enums::abstract_building_flags::abstract_building_flags) }, - { DF_Type::abstract_building_inn_tavernst, sizeof(df::abstract_building_inn_tavernst) }, - { DF_Type::abstract_building_inn_tavernst__T_room_info, sizeof(df::abstract_building_inn_tavernst::T_room_info) }, - { DF_Type::abstract_building_keepst, sizeof(df::abstract_building_keepst) }, - { DF_Type::abstract_building_libraryst, sizeof(df::abstract_building_libraryst) }, - { DF_Type::abstract_building_marketst, sizeof(df::abstract_building_marketst) }, - { DF_Type::abstract_building_mead_hallst, sizeof(df::abstract_building_mead_hallst) }, - { DF_Type::abstract_building_templest, sizeof(df::abstract_building_templest) }, - { DF_Type::abstract_building_tombst, sizeof(df::abstract_building_tombst) }, - { DF_Type::abstract_building_type, sizeof(df::enums::abstract_building_type::abstract_building_type) }, - { DF_Type::abstract_building_underworld_spirest, sizeof(df::abstract_building_underworld_spirest) }, - { DF_Type::abstract_building_unk, sizeof(df::abstract_building_unk) }, - { DF_Type::abstract_building_unk__T_anon_1, sizeof(df::abstract_building_unk::T_anon_1) }, - { DF_Type::active_script_var_longst, sizeof(df::active_script_var_longst) }, - { DF_Type::active_script_var_unitst, sizeof(df::active_script_var_unitst) }, - { DF_Type::active_script_varst, sizeof(df::active_script_varst) }, - { DF_Type::activity_entry, sizeof(df::activity_entry) }, - { DF_Type::activity_event, sizeof(df::activity_event) }, - { DF_Type::activity_event__T_flags, sizeof(df::activity_event::T_flags) }, - { DF_Type::activity_event__T_unk_v42_1, sizeof(df::activity_event::T_unk_v42_1) }, - { DF_Type::activity_event__T_unk_v42_2, sizeof(df::activity_event::T_unk_v42_2) }, - { DF_Type::activity_event_combat_trainingst, sizeof(df::activity_event_combat_trainingst) }, - { DF_Type::activity_event_conflictst, sizeof(df::activity_event_conflictst) }, - { DF_Type::activity_event_conflictst__T_sides, sizeof(df::activity_event_conflictst::T_sides) }, - { DF_Type::activity_event_conflictst__T_sides__T_enemies, sizeof(df::activity_event_conflictst::T_sides::T_enemies) }, - { DF_Type::activity_event_conversationst, sizeof(df::activity_event_conversationst) }, - { DF_Type::activity_event_conversationst__T_anon_6, sizeof(df::activity_event_conversationst::T_anon_6) }, - { DF_Type::activity_event_conversationst__T_flags2, sizeof(df::activity_event_conversationst::T_flags2) }, - { DF_Type::activity_event_conversationst__T_participants, sizeof(df::activity_event_conversationst::T_participants) }, - { DF_Type::activity_event_conversationst__T_turns, sizeof(df::activity_event_conversationst::T_turns) }, - { DF_Type::activity_event_conversationst__T_unk2, sizeof(df::activity_event_conversationst::T_unk2) }, - { DF_Type::activity_event_conversationst__T_unk_b4, sizeof(df::activity_event_conversationst::T_unk_b4) }, - { DF_Type::activity_event_copy_written_contentst, sizeof(df::activity_event_copy_written_contentst) }, - { DF_Type::activity_event_copy_written_contentst__T_flagsmaybe, sizeof(df::activity_event_copy_written_contentst::T_flagsmaybe) }, - { DF_Type::activity_event_discuss_topicst, sizeof(df::activity_event_discuss_topicst) }, - { DF_Type::activity_event_encounterst, sizeof(df::activity_event_encounterst) }, - { DF_Type::activity_event_encounterst__T_anon_1, sizeof(df::activity_event_encounterst::T_anon_1) }, - { DF_Type::activity_event_encounterst__T_anon_2, sizeof(df::activity_event_encounterst::T_anon_2) }, - { DF_Type::activity_event_fill_service_orderst, sizeof(df::activity_event_fill_service_orderst) }, - { DF_Type::activity_event_guardst, sizeof(df::activity_event_guardst) }, - { DF_Type::activity_event_harassmentst, sizeof(df::activity_event_harassmentst) }, - { DF_Type::activity_event_harassmentst__T_anon_2, sizeof(df::activity_event_harassmentst::T_anon_2) }, - { DF_Type::activity_event_individual_skill_drillst, sizeof(df::activity_event_individual_skill_drillst) }, - { DF_Type::activity_event_make_believest, sizeof(df::activity_event_make_believest) }, - { DF_Type::activity_event_participants, sizeof(df::activity_event_participants) }, - { DF_Type::activity_event_performancest, sizeof(df::activity_event_performancest) }, - { DF_Type::activity_event_performancest__T_participant_actions, sizeof(df::activity_event_performancest::T_participant_actions) }, - { DF_Type::activity_event_play_with_toyst, sizeof(df::activity_event_play_with_toyst) }, - { DF_Type::activity_event_play_with_toyst__T_unk, sizeof(df::activity_event_play_with_toyst::T_unk) }, - { DF_Type::activity_event_playst, sizeof(df::activity_event_playst) }, - { DF_Type::activity_event_ponder_topicst, sizeof(df::activity_event_ponder_topicst) }, - { DF_Type::activity_event_prayerst, sizeof(df::activity_event_prayerst) }, - { DF_Type::activity_event_ranged_practicest, sizeof(df::activity_event_ranged_practicest) }, - { DF_Type::activity_event_readst, sizeof(df::activity_event_readst) }, - { DF_Type::activity_event_researchst, sizeof(df::activity_event_researchst) }, - { DF_Type::activity_event_reunionst, sizeof(df::activity_event_reunionst) }, - { DF_Type::activity_event_skill_demonstrationst, sizeof(df::activity_event_skill_demonstrationst) }, - { DF_Type::activity_event_socializest, sizeof(df::activity_event_socializest) }, - { DF_Type::activity_event_sparringst, sizeof(df::activity_event_sparringst) }, - { DF_Type::activity_event_sparringst__T_groups, sizeof(df::activity_event_sparringst::T_groups) }, - { DF_Type::activity_event_store_objectst, sizeof(df::activity_event_store_objectst) }, - { DF_Type::activity_event_teach_topicst, sizeof(df::activity_event_teach_topicst) }, - { DF_Type::activity_event_training_sessionst, sizeof(df::activity_event_training_sessionst) }, - { DF_Type::activity_event_type, sizeof(df::enums::activity_event_type::activity_event_type) }, - { DF_Type::activity_event_worshipst, sizeof(df::activity_event_worshipst) }, - { DF_Type::activity_event_writest, sizeof(df::activity_event_writest) }, - { DF_Type::activity_info, sizeof(df::activity_info) }, - { DF_Type::activity_info__T_flags, sizeof(df::activity_info::T_flags) }, - { DF_Type::adventure_environment_ingest_from_containerst, sizeof(df::adventure_environment_ingest_from_containerst) }, - { DF_Type::adventure_environment_ingest_materialst, sizeof(df::adventure_environment_ingest_materialst) }, - { DF_Type::adventure_environment_optionst, sizeof(df::adventure_environment_optionst) }, - { DF_Type::adventure_environment_pickup_chop_treest, sizeof(df::adventure_environment_pickup_chop_treest) }, - { DF_Type::adventure_environment_pickup_ignite_vegst, sizeof(df::adventure_environment_pickup_ignite_vegst) }, - { DF_Type::adventure_environment_pickup_make_campfirest, sizeof(df::adventure_environment_pickup_make_campfirest) }, - { DF_Type::adventure_environment_pickup_vermin_eventst, sizeof(df::adventure_environment_pickup_vermin_eventst) }, - { DF_Type::adventure_environment_place_in_bld_containerst, sizeof(df::adventure_environment_place_in_bld_containerst) }, - { DF_Type::adventure_environment_place_in_it_containerst, sizeof(df::adventure_environment_place_in_it_containerst) }, - { DF_Type::adventure_environment_unit_suck_bloodst, sizeof(df::adventure_environment_unit_suck_bloodst) }, - { DF_Type::adventure_item_interact_choicest, sizeof(df::adventure_item_interact_choicest) }, - { DF_Type::adventure_item_interact_fill_from_containerst, sizeof(df::adventure_item_interact_fill_from_containerst) }, - { DF_Type::adventure_item_interact_fill_with_materialst, sizeof(df::adventure_item_interact_fill_with_materialst) }, - { DF_Type::adventure_item_interact_give_namest, sizeof(df::adventure_item_interact_give_namest) }, - { DF_Type::adventure_item_interact_heat_from_tilest, sizeof(df::adventure_item_interact_heat_from_tilest) }, - { DF_Type::adventure_item_interact_pull_outst, sizeof(df::adventure_item_interact_pull_outst) }, - { DF_Type::adventure_item_interact_readst, sizeof(df::adventure_item_interact_readst) }, - { DF_Type::adventure_item_interact_strugglest, sizeof(df::adventure_item_interact_strugglest) }, - { DF_Type::adventure_log_item, sizeof(df::adventure_log_item) }, - { DF_Type::adventure_movement_attack_creaturest, sizeof(df::adventure_movement_attack_creaturest) }, - { DF_Type::adventure_movement_building_interactst, sizeof(df::adventure_movement_building_interactst) }, - { DF_Type::adventure_movement_climbst, sizeof(df::adventure_movement_climbst) }, - { DF_Type::adventure_movement_hold_itemst, sizeof(df::adventure_movement_hold_itemst) }, - { DF_Type::adventure_movement_hold_tilest, sizeof(df::adventure_movement_hold_tilest) }, - { DF_Type::adventure_movement_item_interact_guidest, sizeof(df::adventure_movement_item_interact_guidest) }, - { DF_Type::adventure_movement_item_interact_pushst, sizeof(df::adventure_movement_item_interact_pushst) }, - { DF_Type::adventure_movement_item_interact_ridest, sizeof(df::adventure_movement_item_interact_ridest) }, - { DF_Type::adventure_movement_item_interactst, sizeof(df::adventure_movement_item_interactst) }, - { DF_Type::adventure_movement_movest, sizeof(df::adventure_movement_movest) }, - { DF_Type::adventure_movement_optionst, sizeof(df::adventure_movement_optionst) }, - { DF_Type::adventure_movement_release_hold_itemst, sizeof(df::adventure_movement_release_hold_itemst) }, - { DF_Type::adventure_movement_release_hold_tilest, sizeof(df::adventure_movement_release_hold_tilest) }, - { DF_Type::adventure_option_eat_item_contaminantst, sizeof(df::adventure_option_eat_item_contaminantst) }, - { DF_Type::adventure_option_eat_unit_contaminantst, sizeof(df::adventure_option_eat_unit_contaminantst) }, - { DF_Type::adventure_option_view_contaminantst, sizeof(df::adventure_option_view_contaminantst) }, - { DF_Type::adventure_optionst, sizeof(df::adventure_optionst) }, - { DF_Type::adventurer_attribute_level, sizeof(df::enums::adventurer_attribute_level::adventurer_attribute_level) }, - { DF_Type::agreement, sizeof(df::agreement) }, - { DF_Type::agreement__T_details, sizeof(df::agreement::T_details) }, - { DF_Type::agreement__T_details__T_data, sizeof(df::agreement::T_details::T_data) }, - { DF_Type::agreement__T_details__T_data__T_data0, sizeof(df::agreement::T_details::T_data::T_data0) }, - { DF_Type::agreement__T_details__T_data__T_data1, sizeof(df::agreement::T_details::T_data::T_data1) }, - { DF_Type::agreement__T_parties, sizeof(df::agreement::T_parties) }, - { DF_Type::agreement__T_parties__T_anon_1, sizeof(df::agreement::T_parties::T_anon_1) }, - { DF_Type::ammo_flags, sizeof(df::enums::ammo_flags::ammo_flags) }, - { DF_Type::animal_training_level, sizeof(df::enums::animal_training_level::animal_training_level) }, - { DF_Type::announcement_flags, sizeof(df::announcement_flags) }, - { DF_Type::announcement_type, sizeof(df::enums::announcement_type::announcement_type) }, - { DF_Type::announcements, sizeof(df::announcements) }, - { DF_Type::appearance_modifier_growth_interval, sizeof(df::enums::appearance_modifier_growth_interval::appearance_modifier_growth_interval) }, - { DF_Type::appearance_modifier_type, sizeof(df::enums::appearance_modifier_type::appearance_modifier_type) }, - { DF_Type::armor_flags, sizeof(df::enums::armor_flags::armor_flags) }, - { DF_Type::armor_general_flags, sizeof(df::enums::armor_general_flags::armor_general_flags) }, - { DF_Type::armor_properties, sizeof(df::armor_properties) }, - { DF_Type::army, sizeof(df::army) }, - { DF_Type::army__T_members, sizeof(df::army::T_members) }, - { DF_Type::army__T_unk_2c, sizeof(df::army::T_unk_2c) }, - { DF_Type::army_controller, sizeof(df::army_controller) }, - { DF_Type::army_controller__T_unk_64, sizeof(df::army_controller::T_unk_64) }, - { DF_Type::army_controller_sub1, sizeof(df::army_controller_sub1) }, - { DF_Type::army_controller_sub11, sizeof(df::army_controller_sub11) }, - { DF_Type::army_controller_sub11__T_anon_3, sizeof(df::army_controller_sub11::T_anon_3) }, - { DF_Type::army_controller_sub12, sizeof(df::army_controller_sub12) }, - { DF_Type::army_controller_sub12__T_anon_4, sizeof(df::army_controller_sub12::T_anon_4) }, - { DF_Type::army_controller_sub13, sizeof(df::army_controller_sub13) }, - { DF_Type::army_controller_sub13__T_anon_4, sizeof(df::army_controller_sub13::T_anon_4) }, - { DF_Type::army_controller_sub14, sizeof(df::army_controller_sub14) }, - { DF_Type::army_controller_sub14__T_anon_4, sizeof(df::army_controller_sub14::T_anon_4) }, - { DF_Type::army_controller_sub15, sizeof(df::army_controller_sub15) }, - { DF_Type::army_controller_sub15__T_anon_3, sizeof(df::army_controller_sub15::T_anon_3) }, - { DF_Type::army_controller_sub16, sizeof(df::army_controller_sub16) }, - { DF_Type::army_controller_sub17, sizeof(df::army_controller_sub17) }, - { DF_Type::army_controller_sub18, sizeof(df::army_controller_sub18) }, - { DF_Type::army_controller_sub2, sizeof(df::army_controller_sub2) }, - { DF_Type::army_controller_sub2__T_anon_5, sizeof(df::army_controller_sub2::T_anon_5) }, - { DF_Type::army_controller_sub4, sizeof(df::army_controller_sub4) }, - { DF_Type::army_controller_sub4__T_unk_2, sizeof(df::army_controller_sub4::T_unk_2) }, - { DF_Type::army_controller_sub5, sizeof(df::army_controller_sub5) }, - { DF_Type::army_controller_sub6, sizeof(df::army_controller_sub6) }, - { DF_Type::army_controller_sub7, sizeof(df::army_controller_sub7) }, - { DF_Type::army_controller_sub7__T_anon_3, sizeof(df::army_controller_sub7::T_anon_3) }, - { DF_Type::army_flags, sizeof(df::enums::army_flags::army_flags) }, - { DF_Type::art_facet_type, sizeof(df::enums::art_facet_type::art_facet_type) }, - { DF_Type::art_image, sizeof(df::art_image) }, - { DF_Type::art_image_chunk, sizeof(df::art_image_chunk) }, - { DF_Type::art_image_element, sizeof(df::art_image_element) }, - { DF_Type::art_image_element_creaturest, sizeof(df::art_image_element_creaturest) }, - { DF_Type::art_image_element_itemst, sizeof(df::art_image_element_itemst) }, - { DF_Type::art_image_element_plantst, sizeof(df::art_image_element_plantst) }, - { DF_Type::art_image_element_shapest, sizeof(df::art_image_element_shapest) }, - { DF_Type::art_image_element_treest, sizeof(df::art_image_element_treest) }, - { DF_Type::art_image_element_type, sizeof(df::enums::art_image_element_type::art_image_element_type) }, - { DF_Type::art_image_property, sizeof(df::art_image_property) }, - { DF_Type::art_image_property_intransitive_verbst, sizeof(df::art_image_property_intransitive_verbst) }, - { DF_Type::art_image_property_transitive_verbst, sizeof(df::art_image_property_transitive_verbst) }, - { DF_Type::art_image_property_type, sizeof(df::enums::art_image_property_type::art_image_property_type) }, - { DF_Type::art_image_property_verb, sizeof(df::enums::art_image_property_verb::art_image_property_verb) }, - { DF_Type::art_image_ref, sizeof(df::art_image_ref) }, - { DF_Type::artifact_record, sizeof(df::artifact_record) }, - { DF_Type::assign_trade_status, sizeof(df::assign_trade_status) }, - { DF_Type::assign_trade_status__T_status, sizeof(df::assign_trade_status::T_status) }, - { DF_Type::assume_identity_mode, sizeof(df::enums::assume_identity_mode::assume_identity_mode) }, - { DF_Type::barrack_preference_category, sizeof(df::enums::barrack_preference_category::barrack_preference_category) }, - { DF_Type::belief_system, sizeof(df::belief_system) }, - { DF_Type::biome_type, sizeof(df::enums::biome_type::biome_type) }, - { DF_Type::block_burrow, sizeof(df::block_burrow) }, - { DF_Type::block_burrow_link, sizeof(df::block_burrow_link) }, - { DF_Type::block_flags, sizeof(df::block_flags) }, - { DF_Type::block_square_event, sizeof(df::block_square_event) }, - { DF_Type::block_square_event_designation_priorityst, sizeof(df::block_square_event_designation_priorityst) }, - { DF_Type::block_square_event_frozen_liquidst, sizeof(df::block_square_event_frozen_liquidst) }, - { DF_Type::block_square_event_grassst, sizeof(df::block_square_event_grassst) }, - { DF_Type::block_square_event_item_spatterst, sizeof(df::block_square_event_item_spatterst) }, - { DF_Type::block_square_event_material_spatterst, sizeof(df::block_square_event_material_spatterst) }, - { DF_Type::block_square_event_mineralst, sizeof(df::block_square_event_mineralst) }, - { DF_Type::block_square_event_mineralst__T_flags, sizeof(df::block_square_event_mineralst::T_flags) }, - { DF_Type::block_square_event_spoorst, sizeof(df::block_square_event_spoorst) }, - { DF_Type::block_square_event_type, sizeof(df::enums::block_square_event_type::block_square_event_type) }, - { DF_Type::block_square_event_world_constructionst, sizeof(df::block_square_event_world_constructionst) }, - { DF_Type::body_appearance_modifier, sizeof(df::body_appearance_modifier) }, - { DF_Type::body_component_info, sizeof(df::body_component_info) }, - { DF_Type::body_detail_plan, sizeof(df::body_detail_plan) }, - { DF_Type::body_layer_status, sizeof(df::body_layer_status) }, - { DF_Type::body_part_layer_flags, sizeof(df::enums::body_part_layer_flags::body_part_layer_flags) }, - { DF_Type::body_part_layer_raw, sizeof(df::body_part_layer_raw) }, - { DF_Type::body_part_raw, sizeof(df::body_part_raw) }, - { DF_Type::body_part_raw_flags, sizeof(df::enums::body_part_raw_flags::body_part_raw_flags) }, - { DF_Type::body_part_status, sizeof(df::body_part_status) }, - { DF_Type::body_part_template, sizeof(df::body_part_template) }, - { DF_Type::body_part_template_contype, sizeof(df::enums::body_part_template_contype::body_part_template_contype) }, - { DF_Type::body_part_template_flags, sizeof(df::enums::body_part_template_flags::body_part_template_flags) }, - { DF_Type::body_size_info, sizeof(df::body_size_info) }, - { DF_Type::body_template, sizeof(df::body_template) }, - { DF_Type::bp_appearance_modifier, sizeof(df::bp_appearance_modifier) }, - { DF_Type::breath_attack_type, sizeof(df::enums::breath_attack_type::breath_attack_type) }, - { DF_Type::build_req_choice_genst, sizeof(df::build_req_choice_genst) }, - { DF_Type::build_req_choice_specst, sizeof(df::build_req_choice_specst) }, - { DF_Type::build_req_choice_type, sizeof(df::enums::build_req_choice_type::build_req_choice_type) }, - { DF_Type::build_req_choicest, sizeof(df::build_req_choicest) }, - { DF_Type::building, sizeof(df::building) }, - { DF_Type::building__T_activities, sizeof(df::building::T_activities) }, - { DF_Type::building__T_job_claim_suppress, sizeof(df::building::T_job_claim_suppress) }, - { DF_Type::building_actual, sizeof(df::building_actual) }, - { DF_Type::building_actual__T_contained_items, sizeof(df::building_actual::T_contained_items) }, - { DF_Type::building_animaltrapst, sizeof(df::building_animaltrapst) }, - { DF_Type::building_archerytargetst, sizeof(df::building_archerytargetst) }, - { DF_Type::building_archerytargetst__T_archery_direction, sizeof(df::building_archerytargetst::T_archery_direction) }, - { DF_Type::building_armorstandst, sizeof(df::building_armorstandst) }, - { DF_Type::building_axle_horizontalst, sizeof(df::building_axle_horizontalst) }, - { DF_Type::building_axle_verticalst, sizeof(df::building_axle_verticalst) }, - { DF_Type::building_bars_floorst, sizeof(df::building_bars_floorst) }, - { DF_Type::building_bars_verticalst, sizeof(df::building_bars_verticalst) }, - { DF_Type::building_bedst, sizeof(df::building_bedst) }, - { DF_Type::building_bedst__T_bed_flags, sizeof(df::building_bedst::T_bed_flags) }, - { DF_Type::building_bookcasest, sizeof(df::building_bookcasest) }, - { DF_Type::building_boxst, sizeof(df::building_boxst) }, - { DF_Type::building_bridgest, sizeof(df::building_bridgest) }, - { DF_Type::building_bridgest__T_direction, sizeof(df::building_bridgest::T_direction) }, - { DF_Type::building_cabinetst, sizeof(df::building_cabinetst) }, - { DF_Type::building_cagest, sizeof(df::building_cagest) }, - { DF_Type::building_cagest__T_cage_flags, sizeof(df::building_cagest::T_cage_flags) }, - { DF_Type::building_chainst, sizeof(df::building_chainst) }, - { DF_Type::building_chainst__T_chain_flags, sizeof(df::building_chainst::T_chain_flags) }, - { DF_Type::building_chairst, sizeof(df::building_chairst) }, - { DF_Type::building_civzonest, sizeof(df::building_civzonest) }, - { DF_Type::building_civzonest__T_gather_flags, sizeof(df::building_civzonest::T_gather_flags) }, - { DF_Type::building_civzonest__T_pit_flags, sizeof(df::building_civzonest::T_pit_flags) }, - { DF_Type::building_civzonest__T_zone_flags, sizeof(df::building_civzonest::T_zone_flags) }, - { DF_Type::building_coffinst, sizeof(df::building_coffinst) }, - { DF_Type::building_coffinst__T_burial_mode, sizeof(df::building_coffinst::T_burial_mode) }, - { DF_Type::building_constructionst, sizeof(df::building_constructionst) }, - { DF_Type::building_def, sizeof(df::building_def) }, - { DF_Type::building_def_furnacest, sizeof(df::building_def_furnacest) }, - { DF_Type::building_def_item, sizeof(df::building_def_item) }, - { DF_Type::building_def_workshopst, sizeof(df::building_def_workshopst) }, - { DF_Type::building_design, sizeof(df::building_design) }, - { DF_Type::building_design__T_flags, sizeof(df::building_design::T_flags) }, - { DF_Type::building_display_furniturest, sizeof(df::building_display_furniturest) }, - { DF_Type::building_doorst, sizeof(df::building_doorst) }, - { DF_Type::building_drawbuffer, sizeof(df::building_drawbuffer) }, - { DF_Type::building_extents, sizeof(df::building_extents) }, - { DF_Type::building_farmplotst, sizeof(df::building_farmplotst) }, - { DF_Type::building_flags, sizeof(df::building_flags) }, - { DF_Type::building_floodgatest, sizeof(df::building_floodgatest) }, - { DF_Type::building_furnacest, sizeof(df::building_furnacest) }, - { DF_Type::building_gear_assemblyst, sizeof(df::building_gear_assemblyst) }, - { DF_Type::building_gear_assemblyst__T_gear_flags, sizeof(df::building_gear_assemblyst::T_gear_flags) }, - { DF_Type::building_grate_floorst, sizeof(df::building_grate_floorst) }, - { DF_Type::building_grate_wallst, sizeof(df::building_grate_wallst) }, - { DF_Type::building_handler, sizeof(df::building_handler) }, - { DF_Type::building_hatchst, sizeof(df::building_hatchst) }, - { DF_Type::building_hivest, sizeof(df::building_hivest) }, - { DF_Type::building_instrumentst, sizeof(df::building_instrumentst) }, - { DF_Type::building_nest_boxst, sizeof(df::building_nest_boxst) }, - { DF_Type::building_nestst, sizeof(df::building_nestst) }, - { DF_Type::building_road_dirtst, sizeof(df::building_road_dirtst) }, - { DF_Type::building_road_pavedst, sizeof(df::building_road_pavedst) }, - { DF_Type::building_roadst, sizeof(df::building_roadst) }, - { DF_Type::building_rollersst, sizeof(df::building_rollersst) }, - { DF_Type::building_screw_pumpst, sizeof(df::building_screw_pumpst) }, - { DF_Type::building_shopst, sizeof(df::building_shopst) }, - { DF_Type::building_shopst__T_shop_flags, sizeof(df::building_shopst::T_shop_flags) }, - { DF_Type::building_siegeenginest, sizeof(df::building_siegeenginest) }, - { DF_Type::building_siegeenginest__T_action, sizeof(df::building_siegeenginest::T_action) }, - { DF_Type::building_siegeenginest__T_facing, sizeof(df::building_siegeenginest::T_facing) }, - { DF_Type::building_slabst, sizeof(df::building_slabst) }, - { DF_Type::building_squad_use, sizeof(df::building_squad_use) }, - { DF_Type::building_statuest, sizeof(df::building_statuest) }, - { DF_Type::building_stockpilest, sizeof(df::building_stockpilest) }, - { DF_Type::building_supportst, sizeof(df::building_supportst) }, - { DF_Type::building_supportst__T_support_flags, sizeof(df::building_supportst::T_support_flags) }, - { DF_Type::building_tablest, sizeof(df::building_tablest) }, - { DF_Type::building_tablest__T_table_flags, sizeof(df::building_tablest::T_table_flags) }, - { DF_Type::building_traction_benchst, sizeof(df::building_traction_benchst) }, - { DF_Type::building_tradedepotst, sizeof(df::building_tradedepotst) }, - { DF_Type::building_tradedepotst__T_trade_flags, sizeof(df::building_tradedepotst::T_trade_flags) }, - { DF_Type::building_trapst, sizeof(df::building_trapst) }, - { DF_Type::building_trapst__T_stop_flags, sizeof(df::building_trapst::T_stop_flags) }, - { DF_Type::building_type, sizeof(df::enums::building_type::building_type) }, - { DF_Type::building_users, sizeof(df::building_users) }, - { DF_Type::building_wagonst, sizeof(df::building_wagonst) }, - { DF_Type::building_water_wheelst, sizeof(df::building_water_wheelst) }, - { DF_Type::building_weaponrackst, sizeof(df::building_weaponrackst) }, - { DF_Type::building_weaponst, sizeof(df::building_weaponst) }, - { DF_Type::building_wellst, sizeof(df::building_wellst) }, - { DF_Type::building_wellst__T_well_flags, sizeof(df::building_wellst::T_well_flags) }, - { DF_Type::building_windmillst, sizeof(df::building_windmillst) }, - { DF_Type::building_window_gemst, sizeof(df::building_window_gemst) }, - { DF_Type::building_window_glassst, sizeof(df::building_window_glassst) }, - { DF_Type::building_windowst, sizeof(df::building_windowst) }, - { DF_Type::building_workshopst, sizeof(df::building_workshopst) }, - { DF_Type::buildings_other_id, sizeof(df::enums::buildings_other_id::buildings_other_id) }, - { DF_Type::builtin_mats, sizeof(df::enums::builtin_mats::builtin_mats) }, - { DF_Type::burrow, sizeof(df::burrow) }, - { DF_Type::campfire, sizeof(df::campfire) }, - { DF_Type::caravan_state, sizeof(df::caravan_state) }, - { DF_Type::caravan_state__T_flags, sizeof(df::caravan_state::T_flags) }, - { DF_Type::caravan_state__T_trade_state, sizeof(df::caravan_state::T_trade_state) }, - { DF_Type::caste_attack, sizeof(df::caste_attack) }, - { DF_Type::caste_attack__T_flags, sizeof(df::caste_attack::T_flags) }, - { DF_Type::caste_body_info, sizeof(df::caste_body_info) }, - { DF_Type::caste_body_info__T_extra_butcher_objects, sizeof(df::caste_body_info::T_extra_butcher_objects) }, - { DF_Type::caste_body_info__T_flags, sizeof(df::caste_body_info::T_flags) }, - { DF_Type::caste_body_info__T_interactions, sizeof(df::caste_body_info::T_interactions) }, - { DF_Type::caste_body_info__T_interactions__T_type, sizeof(df::caste_body_info::T_interactions::T_type) }, - { DF_Type::caste_clothing_item, sizeof(df::caste_clothing_item) }, - { DF_Type::caste_raw, sizeof(df::caste_raw) }, - { DF_Type::caste_raw__T_attributes, sizeof(df::caste_raw::T_attributes) }, - { DF_Type::caste_raw__T_bp_appearance, sizeof(df::caste_raw::T_bp_appearance) }, - { DF_Type::caste_raw__T_caste_profession_name, sizeof(df::caste_raw::T_caste_profession_name) }, - { DF_Type::caste_raw__T_extracts, sizeof(df::caste_raw::T_extracts) }, - { DF_Type::caste_raw__T_misc, sizeof(df::caste_raw::T_misc) }, - { DF_Type::caste_raw__T_personality, sizeof(df::caste_raw::T_personality) }, - { DF_Type::caste_raw__T_secretion, sizeof(df::caste_raw::T_secretion) }, - { DF_Type::caste_raw__T_shearable_tissue_layer, sizeof(df::caste_raw::T_shearable_tissue_layer) }, - { DF_Type::caste_raw__T_unknown2, sizeof(df::caste_raw::T_unknown2) }, - { DF_Type::caste_raw_flags, sizeof(df::enums::caste_raw_flags::caste_raw_flags) }, - { DF_Type::cave_column, sizeof(df::cave_column) }, - { DF_Type::cave_column_link, sizeof(df::cave_column_link) }, - { DF_Type::cave_column_rectangle, sizeof(df::cave_column_rectangle) }, - { DF_Type::cie_add_tag_mask1, sizeof(df::cie_add_tag_mask1) }, - { DF_Type::cie_add_tag_mask2, sizeof(df::cie_add_tag_mask2) }, - { DF_Type::civzone_type, sizeof(df::enums::civzone_type::civzone_type) }, - { DF_Type::coin_batch, sizeof(df::coin_batch) }, - { DF_Type::coin_batch__T_image_back, sizeof(df::coin_batch::T_image_back) }, - { DF_Type::coin_batch__T_image_front, sizeof(df::coin_batch::T_image_front) }, - { DF_Type::color_modifier_raw, sizeof(df::color_modifier_raw) }, - { DF_Type::combat_report_event_type, sizeof(df::enums::combat_report_event_type::combat_report_event_type) }, - { DF_Type::conflict_level, sizeof(df::enums::conflict_level::conflict_level) }, - { DF_Type::construction, sizeof(df::construction) }, - { DF_Type::construction_flags, sizeof(df::construction_flags) }, - { DF_Type::construction_type, sizeof(df::enums::construction_type::construction_type) }, - { DF_Type::conversation, sizeof(df::conversation) }, - { DF_Type::conversation__T_speech, sizeof(df::conversation::T_speech) }, - { DF_Type::conversation__T_state, sizeof(df::conversation::T_state) }, - { DF_Type::conversation_menu, sizeof(df::enums::conversation_menu::conversation_menu) }, - { DF_Type::coord, sizeof(df::coord) }, - { DF_Type::coord2d, sizeof(df::coord2d) }, - { DF_Type::coord2d_path, sizeof(df::coord2d_path) }, - { DF_Type::coord_path, sizeof(df::coord_path) }, - { DF_Type::coord_rect, sizeof(df::coord_rect) }, - { DF_Type::corpse_material_type, sizeof(df::enums::corpse_material_type::corpse_material_type) }, - { DF_Type::craft_material_class, sizeof(df::enums::craft_material_class::craft_material_class) }, - { DF_Type::creation_zone_pwg_alteration_campst, sizeof(df::creation_zone_pwg_alteration_campst) }, - { DF_Type::creation_zone_pwg_alteration_location_deathst, sizeof(df::creation_zone_pwg_alteration_location_deathst) }, - { DF_Type::creation_zone_pwg_alteration_location_deathst__T_unk_1, sizeof(df::creation_zone_pwg_alteration_location_deathst::T_unk_1) }, - { DF_Type::creation_zone_pwg_alteration_location_deathst__T_unk_1__T_anon_1, sizeof(df::creation_zone_pwg_alteration_location_deathst::T_unk_1::T_anon_1) }, - { DF_Type::creation_zone_pwg_alteration_srb_ruinedst, sizeof(df::creation_zone_pwg_alteration_srb_ruinedst) }, - { DF_Type::creation_zone_pwg_alteration_srp_ruinedst, sizeof(df::creation_zone_pwg_alteration_srp_ruinedst) }, - { DF_Type::creation_zone_pwg_alteration_type, sizeof(df::enums::creation_zone_pwg_alteration_type::creation_zone_pwg_alteration_type) }, - { DF_Type::creation_zone_pwg_alterationst, sizeof(df::creation_zone_pwg_alterationst) }, - { DF_Type::creature_graphics_appointment, sizeof(df::creature_graphics_appointment) }, - { DF_Type::creature_graphics_role, sizeof(df::enums::creature_graphics_role::creature_graphics_role) }, - { DF_Type::creature_handler, sizeof(df::creature_handler) }, - { DF_Type::creature_interaction, sizeof(df::creature_interaction) }, - { DF_Type::creature_interaction__T_flags, sizeof(df::creature_interaction::T_flags) }, - { DF_Type::creature_interaction_effect, sizeof(df::creature_interaction_effect) }, - { DF_Type::creature_interaction_effect__T_counter_trigger, sizeof(df::creature_interaction_effect::T_counter_trigger) }, - { DF_Type::creature_interaction_effect_add_simple_flagst, sizeof(df::creature_interaction_effect_add_simple_flagst) }, - { DF_Type::creature_interaction_effect_bleedingst, sizeof(df::creature_interaction_effect_bleedingst) }, - { DF_Type::creature_interaction_effect_blistersst, sizeof(df::creature_interaction_effect_blistersst) }, - { DF_Type::creature_interaction_effect_body_appearance_modifierst, sizeof(df::creature_interaction_effect_body_appearance_modifierst) }, - { DF_Type::creature_interaction_effect_body_mat_interactionst, sizeof(df::creature_interaction_effect_body_mat_interactionst) }, - { DF_Type::creature_interaction_effect_body_transformationst, sizeof(df::creature_interaction_effect_body_transformationst) }, - { DF_Type::creature_interaction_effect_bp_appearance_modifierst, sizeof(df::creature_interaction_effect_bp_appearance_modifierst) }, - { DF_Type::creature_interaction_effect_bruisingst, sizeof(df::creature_interaction_effect_bruisingst) }, - { DF_Type::creature_interaction_effect_can_do_interactionst, sizeof(df::creature_interaction_effect_can_do_interactionst) }, - { DF_Type::creature_interaction_effect_change_personalityst, sizeof(df::creature_interaction_effect_change_personalityst) }, - { DF_Type::creature_interaction_effect_cough_bloodst, sizeof(df::creature_interaction_effect_cough_bloodst) }, - { DF_Type::creature_interaction_effect_display_namest, sizeof(df::creature_interaction_effect_display_namest) }, - { DF_Type::creature_interaction_effect_display_symbolst, sizeof(df::creature_interaction_effect_display_symbolst) }, - { DF_Type::creature_interaction_effect_dizzinessst, sizeof(df::creature_interaction_effect_dizzinessst) }, - { DF_Type::creature_interaction_effect_drowsinessst, sizeof(df::creature_interaction_effect_drowsinessst) }, - { DF_Type::creature_interaction_effect_erratic_behaviorst, sizeof(df::creature_interaction_effect_erratic_behaviorst) }, - { DF_Type::creature_interaction_effect_feel_emotionst, sizeof(df::creature_interaction_effect_feel_emotionst) }, - { DF_Type::creature_interaction_effect_feverst, sizeof(df::creature_interaction_effect_feverst) }, - { DF_Type::creature_interaction_effect_flags, sizeof(df::creature_interaction_effect_flags) }, - { DF_Type::creature_interaction_effect_flash_symbolst, sizeof(df::creature_interaction_effect_flash_symbolst) }, - { DF_Type::creature_interaction_effect_impair_functionst, sizeof(df::creature_interaction_effect_impair_functionst) }, - { DF_Type::creature_interaction_effect_material_force_adjustst, sizeof(df::creature_interaction_effect_material_force_adjustst) }, - { DF_Type::creature_interaction_effect_ment_att_changest, sizeof(df::creature_interaction_effect_ment_att_changest) }, - { DF_Type::creature_interaction_effect_nauseast, sizeof(df::creature_interaction_effect_nauseast) }, - { DF_Type::creature_interaction_effect_necrosisst, sizeof(df::creature_interaction_effect_necrosisst) }, - { DF_Type::creature_interaction_effect_numbnessst, sizeof(df::creature_interaction_effect_numbnessst) }, - { DF_Type::creature_interaction_effect_oozingst, sizeof(df::creature_interaction_effect_oozingst) }, - { DF_Type::creature_interaction_effect_painst, sizeof(df::creature_interaction_effect_painst) }, - { DF_Type::creature_interaction_effect_paralysisst, sizeof(df::creature_interaction_effect_paralysisst) }, - { DF_Type::creature_interaction_effect_phys_att_changest, sizeof(df::creature_interaction_effect_phys_att_changest) }, - { DF_Type::creature_interaction_effect_remove_simple_flagst, sizeof(df::creature_interaction_effect_remove_simple_flagst) }, - { DF_Type::creature_interaction_effect_sense_creature_classst, sizeof(df::creature_interaction_effect_sense_creature_classst) }, - { DF_Type::creature_interaction_effect_skill_roll_adjustst, sizeof(df::creature_interaction_effect_skill_roll_adjustst) }, - { DF_Type::creature_interaction_effect_speed_changest, sizeof(df::creature_interaction_effect_speed_changest) }, - { DF_Type::creature_interaction_effect_swellingst, sizeof(df::creature_interaction_effect_swellingst) }, - { DF_Type::creature_interaction_effect_target, sizeof(df::creature_interaction_effect_target) }, - { DF_Type::creature_interaction_effect_target_mode, sizeof(df::enums::creature_interaction_effect_target_mode::creature_interaction_effect_target_mode) }, - { DF_Type::creature_interaction_effect_type, sizeof(df::enums::creature_interaction_effect_type::creature_interaction_effect_type) }, - { DF_Type::creature_interaction_effect_unconsciousnessst, sizeof(df::creature_interaction_effect_unconsciousnessst) }, - { DF_Type::creature_interaction_effect_vomit_bloodst, sizeof(df::creature_interaction_effect_vomit_bloodst) }, - { DF_Type::creature_interaction_target_flags, sizeof(df::creature_interaction_target_flags) }, - { DF_Type::creature_raw, sizeof(df::creature_raw) }, - { DF_Type::creature_raw__T_graphics, sizeof(df::creature_raw::T_graphics) }, - { DF_Type::creature_raw__T_hive_product, sizeof(df::creature_raw::T_hive_product) }, - { DF_Type::creature_raw__T_profession_name, sizeof(df::creature_raw::T_profession_name) }, - { DF_Type::creature_raw_flags, sizeof(df::enums::creature_raw_flags::creature_raw_flags) }, - { DF_Type::creature_variation, sizeof(df::creature_variation) }, - { DF_Type::creature_variation_convert_tag, sizeof(df::creature_variation_convert_tag) }, - { DF_Type::crime, sizeof(df::crime) }, - { DF_Type::crime__T_flags, sizeof(df::crime::T_flags) }, - { DF_Type::crime__T_mode, sizeof(df::crime::T_mode) }, - { DF_Type::crime__T_punishment, sizeof(df::crime::T_punishment) }, - { DF_Type::crime__T_reports, sizeof(df::crime::T_reports) }, - { DF_Type::cultural_identity, sizeof(df::cultural_identity) }, - { DF_Type::cultural_identity__T_group_log, sizeof(df::cultural_identity::T_group_log) }, - { DF_Type::cultural_identity__T_group_log__T_join_type, sizeof(df::cultural_identity::T_group_log::T_join_type) }, - { DF_Type::cumulus_type, sizeof(df::enums::cumulus_type::cumulus_type) }, - { DF_Type::curse_attr_change, sizeof(df::curse_attr_change) }, - { DF_Type::d_init, sizeof(df::d_init) }, - { DF_Type::d_init__T_store_dist, sizeof(df::d_init::T_store_dist) }, - { DF_Type::d_init__T_wound_color, sizeof(df::d_init::T_wound_color) }, - { DF_Type::d_init_embark_confirm, sizeof(df::enums::d_init_embark_confirm::d_init_embark_confirm) }, - { DF_Type::d_init_flags1, sizeof(df::enums::d_init_flags1::d_init_flags1) }, - { DF_Type::d_init_flags2, sizeof(df::enums::d_init_flags2::d_init_flags2) }, - { DF_Type::d_init_flags3, sizeof(df::enums::d_init_flags3::d_init_flags3) }, - { DF_Type::d_init_flags4, sizeof(df::enums::d_init_flags4::d_init_flags4) }, - { DF_Type::d_init_idlers, sizeof(df::enums::d_init_idlers::d_init_idlers) }, - { DF_Type::d_init_nickname, sizeof(df::enums::d_init_nickname::d_init_nickname) }, - { DF_Type::d_init_tunnel, sizeof(df::enums::d_init_tunnel::d_init_tunnel) }, - { DF_Type::d_init_z_view, sizeof(df::enums::d_init_z_view::d_init_z_view) }, - { DF_Type::dance_form, sizeof(df::dance_form) }, - { DF_Type::dance_form_sub1, sizeof(df::dance_form_sub1) }, - { DF_Type::dance_form_sub2, sizeof(df::dance_form_sub2) }, - { DF_Type::death_type, sizeof(df::enums::death_type::death_type) }, - { DF_Type::deep_vein_hollow, sizeof(df::deep_vein_hollow) }, - { DF_Type::descriptor_color, sizeof(df::descriptor_color) }, - { DF_Type::descriptor_pattern, sizeof(df::descriptor_pattern) }, - { DF_Type::descriptor_shape, sizeof(df::descriptor_shape) }, - { DF_Type::descriptor_shape__T_gems_use, sizeof(df::descriptor_shape::T_gems_use) }, - { DF_Type::dfhack_knowledge_scholar_flag, sizeof(df::enums::dfhack_knowledge_scholar_flag::dfhack_knowledge_scholar_flag) }, - { DF_Type::dfhack_material_category, sizeof(df::dfhack_material_category) }, - { DF_Type::dfhack_room_quality_level, sizeof(df::enums::dfhack_room_quality_level::dfhack_room_quality_level) }, - { DF_Type::dipscript_info, sizeof(df::dipscript_info) }, - { DF_Type::dipscript_popup, sizeof(df::dipscript_popup) }, - { DF_Type::dipscript_popup__T_flags, sizeof(df::dipscript_popup::T_flags) }, - { DF_Type::door_flags, sizeof(df::door_flags) }, - { DF_Type::dye_info, sizeof(df::dye_info) }, - { DF_Type::effect_info, sizeof(df::effect_info) }, - { DF_Type::embark_finder_option, sizeof(df::enums::embark_finder_option::embark_finder_option) }, - { DF_Type::embark_item_choice, sizeof(df::embark_item_choice) }, - { DF_Type::embark_item_choice__T_list, sizeof(df::embark_item_choice::T_list) }, - { DF_Type::embark_location, sizeof(df::embark_location) }, - { DF_Type::embark_note, sizeof(df::embark_note) }, - { DF_Type::embark_profile, sizeof(df::embark_profile) }, - { DF_Type::emotion_type, sizeof(df::enums::emotion_type::emotion_type) }, - { DF_Type::enabler__T_async_frombox, sizeof(df::enabler::T_async_frombox) }, - { DF_Type::enabler__T_async_frombox__T_queue, sizeof(df::enabler::T_async_frombox::T_queue) }, - { DF_Type::enabler__T_async_frombox__T_queue__T_msg, sizeof(df::enabler::T_async_frombox::T_queue::T_msg) }, - { DF_Type::enabler__T_async_tobox, sizeof(df::enabler::T_async_tobox) }, - { DF_Type::enabler__T_async_tobox__T_queue, sizeof(df::enabler::T_async_tobox::T_queue) }, - { DF_Type::enabler__T_async_tobox__T_queue__T_cmd, sizeof(df::enabler::T_async_tobox::T_queue::T_cmd) }, - { DF_Type::enabler__T_async_zoom, sizeof(df::enabler::T_async_zoom) }, - { DF_Type::enabler__T_flag, sizeof(df::enabler::T_flag) }, - { DF_Type::enabler__T_gputicks, sizeof(df::enabler::T_gputicks) }, - { DF_Type::enabler__T_overridden_grid_sizes, sizeof(df::enabler::T_overridden_grid_sizes) }, - { DF_Type::enabler__T_simticks, sizeof(df::enabler::T_simticks) }, - { DF_Type::enabler__T_textures, sizeof(df::enabler::T_textures) }, - { DF_Type::engraving, sizeof(df::engraving) }, - { DF_Type::engraving_flags, sizeof(df::engraving_flags) }, - { DF_Type::entity_action_type, sizeof(df::enums::entity_action_type::entity_action_type) }, - { DF_Type::entity_activity_statistics, sizeof(df::entity_activity_statistics) }, - { DF_Type::entity_activity_statistics__T_food, sizeof(df::entity_activity_statistics::T_food) }, - { DF_Type::entity_activity_statistics__T_found_misc, sizeof(df::entity_activity_statistics::T_found_misc) }, - { DF_Type::entity_activity_statistics__T_wealth, sizeof(df::entity_activity_statistics::T_wealth) }, - { DF_Type::entity_animal_raw, sizeof(df::entity_animal_raw) }, - { DF_Type::entity_animal_raw__T_flags, sizeof(df::entity_animal_raw::T_flags) }, - { DF_Type::entity_buy_prices, sizeof(df::entity_buy_prices) }, - { DF_Type::entity_buy_requests, sizeof(df::entity_buy_requests) }, - { DF_Type::entity_claim_mask, sizeof(df::entity_claim_mask) }, - { DF_Type::entity_claim_mask__T_map, sizeof(df::entity_claim_mask::T_map) }, - { DF_Type::entity_entity_link, sizeof(df::entity_entity_link) }, - { DF_Type::entity_entity_link_type, sizeof(df::enums::entity_entity_link_type::entity_entity_link_type) }, - { DF_Type::entity_event, sizeof(df::entity_event) }, - { DF_Type::entity_event__T_data, sizeof(df::entity_event::T_data) }, - { DF_Type::entity_event__T_data__T_abandon, sizeof(df::entity_event::T_data::T_abandon) }, - { DF_Type::entity_event__T_data__T_abduction, sizeof(df::entity_event::T_data::T_abduction) }, - { DF_Type::entity_event__T_data__T_accept_peace_offer, sizeof(df::entity_event::T_data::T_accept_peace_offer) }, - { DF_Type::entity_event__T_data__T_accept_tribute_demand, sizeof(df::entity_event::T_data::T_accept_tribute_demand) }, - { DF_Type::entity_event__T_data__T_accept_tribute_offer, sizeof(df::entity_event::T_data::T_accept_tribute_offer) }, - { DF_Type::entity_event__T_data__T_artifact_destroyed, sizeof(df::entity_event::T_data::T_artifact_destroyed) }, - { DF_Type::entity_event__T_data__T_artifact_in_feature_layer, sizeof(df::entity_event::T_data::T_artifact_in_feature_layer) }, - { DF_Type::entity_event__T_data__T_artifact_in_inventory, sizeof(df::entity_event::T_data::T_artifact_in_inventory) }, - { DF_Type::entity_event__T_data__T_artifact_in_site, sizeof(df::entity_event::T_data::T_artifact_in_site) }, - { DF_Type::entity_event__T_data__T_artifact_in_subregion, sizeof(df::entity_event::T_data::T_artifact_in_subregion) }, - { DF_Type::entity_event__T_data__T_artifact_not_in_feature_layer, sizeof(df::entity_event::T_data::T_artifact_not_in_feature_layer) }, - { DF_Type::entity_event__T_data__T_artifact_not_in_inventory, sizeof(df::entity_event::T_data::T_artifact_not_in_inventory) }, - { DF_Type::entity_event__T_data__T_artifact_not_in_site, sizeof(df::entity_event::T_data::T_artifact_not_in_site) }, - { DF_Type::entity_event__T_data__T_artifact_not_in_subregion, sizeof(df::entity_event::T_data::T_artifact_not_in_subregion) }, - { DF_Type::entity_event__T_data__T_beast, sizeof(df::entity_event::T_data::T_beast) }, - { DF_Type::entity_event__T_data__T_cease_tribute_offer, sizeof(df::entity_event::T_data::T_cease_tribute_offer) }, - { DF_Type::entity_event__T_data__T_claim, sizeof(df::entity_event::T_data::T_claim) }, - { DF_Type::entity_event__T_data__T_flee, sizeof(df::entity_event::T_data::T_flee) }, - { DF_Type::entity_event__T_data__T_founded, sizeof(df::entity_event::T_data::T_founded) }, - { DF_Type::entity_event__T_data__T_founding, sizeof(df::entity_event::T_data::T_founding) }, - { DF_Type::entity_event__T_data__T_group, sizeof(df::entity_event::T_data::T_group) }, - { DF_Type::entity_event__T_data__T_harass, sizeof(df::entity_event::T_data::T_harass) }, - { DF_Type::entity_event__T_data__T_incident, sizeof(df::entity_event::T_data::T_incident) }, - { DF_Type::entity_event__T_data__T_insurrection, sizeof(df::entity_event::T_data::T_insurrection) }, - { DF_Type::entity_event__T_data__T_insurrection_end, sizeof(df::entity_event::T_data::T_insurrection_end) }, - { DF_Type::entity_event__T_data__T_insurrection_end__T_result, sizeof(df::entity_event::T_data::T_insurrection_end::T_result) }, - { DF_Type::entity_event__T_data__T_invasion, sizeof(df::entity_event::T_data::T_invasion) }, - { DF_Type::entity_event__T_data__T_leave, sizeof(df::entity_event::T_data::T_leave) }, - { DF_Type::entity_event__T_data__T_occupation, sizeof(df::entity_event::T_data::T_occupation) }, - { DF_Type::entity_event__T_data__T_reclaimed, sizeof(df::entity_event::T_data::T_reclaimed) }, - { DF_Type::entity_event__T_data__T_reclaiming, sizeof(df::entity_event::T_data::T_reclaiming) }, - { DF_Type::entity_event__T_data__T_refuse_peace_offer, sizeof(df::entity_event::T_data::T_refuse_peace_offer) }, - { DF_Type::entity_event__T_data__T_refuse_tribute_demand, sizeof(df::entity_event::T_data::T_refuse_tribute_demand) }, - { DF_Type::entity_event__T_data__T_refuse_tribute_offer, sizeof(df::entity_event::T_data::T_refuse_tribute_offer) }, - { DF_Type::entity_event__T_data__T_succession, sizeof(df::entity_event::T_data::T_succession) }, - { DF_Type::entity_event_type, sizeof(df::enums::entity_event_type::entity_event_type) }, - { DF_Type::entity_material_category, sizeof(df::enums::entity_material_category::entity_material_category) }, - { DF_Type::entity_name_type, sizeof(df::enums::entity_name_type::entity_name_type) }, - { DF_Type::entity_occasion, sizeof(df::entity_occasion) }, - { DF_Type::entity_occasion_info, sizeof(df::entity_occasion_info) }, - { DF_Type::entity_occasion_schedule, sizeof(df::entity_occasion_schedule) }, - { DF_Type::entity_occasion_schedule_feature, sizeof(df::entity_occasion_schedule_feature) }, - { DF_Type::entity_population, sizeof(df::entity_population) }, - { DF_Type::entity_population_unk4, sizeof(df::entity_population_unk4) }, - { DF_Type::entity_population_unk4__T_anon_1, sizeof(df::entity_population_unk4::T_anon_1) }, - { DF_Type::entity_population_unk4__T_anon_3, sizeof(df::entity_population_unk4::T_anon_3) }, - { DF_Type::entity_position, sizeof(df::entity_position) }, - { DF_Type::entity_position_assignment, sizeof(df::entity_position_assignment) }, - { DF_Type::entity_position_flags, sizeof(df::enums::entity_position_flags::entity_position_flags) }, - { DF_Type::entity_position_raw, sizeof(df::entity_position_raw) }, - { DF_Type::entity_position_raw_flags, sizeof(df::enums::entity_position_raw_flags::entity_position_raw_flags) }, - { DF_Type::entity_position_responsibility, sizeof(df::enums::entity_position_responsibility::entity_position_responsibility) }, - { DF_Type::entity_raw, sizeof(df::entity_raw) }, - { DF_Type::entity_raw__T_equipment, sizeof(df::entity_raw::T_equipment) }, - { DF_Type::entity_raw__T_jobs, sizeof(df::entity_raw::T_jobs) }, - { DF_Type::entity_raw__T_land_holder_trigger, sizeof(df::entity_raw::T_land_holder_trigger) }, - { DF_Type::entity_raw__T_progress_trigger, sizeof(df::entity_raw::T_progress_trigger) }, - { DF_Type::entity_raw__T_scholar, sizeof(df::entity_raw::T_scholar) }, - { DF_Type::entity_raw__T_symbols, sizeof(df::entity_raw::T_symbols) }, - { DF_Type::entity_raw__T_tissue_styles, sizeof(df::entity_raw::T_tissue_styles) }, - { DF_Type::entity_raw__T_workshops, sizeof(df::entity_raw::T_workshops) }, - { DF_Type::entity_raw_flags, sizeof(df::enums::entity_raw_flags::entity_raw_flags) }, - { DF_Type::entity_recipe, sizeof(df::entity_recipe) }, - { DF_Type::entity_sell_category, sizeof(df::enums::entity_sell_category::entity_sell_category) }, - { DF_Type::entity_sell_prices, sizeof(df::entity_sell_prices) }, - { DF_Type::entity_sell_requests, sizeof(df::entity_sell_requests) }, - { DF_Type::entity_site_link, sizeof(df::entity_site_link) }, - { DF_Type::entity_site_link__T_anon_8, sizeof(df::entity_site_link::T_anon_8) }, - { DF_Type::entity_site_link__T_flags, sizeof(df::entity_site_link::T_flags) }, - { DF_Type::entity_tissue_style, sizeof(df::entity_tissue_style) }, - { DF_Type::entity_uniform, sizeof(df::entity_uniform) }, - { DF_Type::entity_uniform_item, sizeof(df::entity_uniform_item) }, - { DF_Type::environment_type, sizeof(df::enums::environment_type::environment_type) }, - { DF_Type::era_type, sizeof(df::enums::era_type::era_type) }, - { DF_Type::ethic_response, sizeof(df::enums::ethic_response::ethic_response) }, - { DF_Type::ethic_type, sizeof(df::enums::ethic_type::ethic_type) }, - { DF_Type::feature, sizeof(df::feature) }, - { DF_Type::feature_alteration, sizeof(df::feature_alteration) }, - { DF_Type::feature_alteration_new_lava_fill_zst, sizeof(df::feature_alteration_new_lava_fill_zst) }, - { DF_Type::feature_alteration_new_pop_maxst, sizeof(df::feature_alteration_new_pop_maxst) }, - { DF_Type::feature_alteration_type, sizeof(df::enums::feature_alteration_type::feature_alteration_type) }, - { DF_Type::feature_cavest, sizeof(df::feature_cavest) }, - { DF_Type::feature_deep_special_tubest, sizeof(df::feature_deep_special_tubest) }, - { DF_Type::feature_deep_surface_portalst, sizeof(df::feature_deep_surface_portalst) }, - { DF_Type::feature_init, sizeof(df::feature_init) }, - { DF_Type::feature_init_cavest, sizeof(df::feature_init_cavest) }, - { DF_Type::feature_init_deep_special_tubest, sizeof(df::feature_init_deep_special_tubest) }, - { DF_Type::feature_init_deep_surface_portalst, sizeof(df::feature_init_deep_surface_portalst) }, - { DF_Type::feature_init_flags, sizeof(df::enums::feature_init_flags::feature_init_flags) }, - { DF_Type::feature_init_magma_core_from_layerst, sizeof(df::feature_init_magma_core_from_layerst) }, - { DF_Type::feature_init_magma_poolst, sizeof(df::feature_init_magma_poolst) }, - { DF_Type::feature_init_outdoor_riverst, sizeof(df::feature_init_outdoor_riverst) }, - { DF_Type::feature_init_pitst, sizeof(df::feature_init_pitst) }, - { DF_Type::feature_init_subterranean_from_layerst, sizeof(df::feature_init_subterranean_from_layerst) }, - { DF_Type::feature_init_underworld_from_layerst, sizeof(df::feature_init_underworld_from_layerst) }, - { DF_Type::feature_init_volcanost, sizeof(df::feature_init_volcanost) }, - { DF_Type::feature_magma_core_from_layerst, sizeof(df::feature_magma_core_from_layerst) }, - { DF_Type::feature_magma_poolst, sizeof(df::feature_magma_poolst) }, - { DF_Type::feature_outdoor_riverst, sizeof(df::feature_outdoor_riverst) }, - { DF_Type::feature_pitst, sizeof(df::feature_pitst) }, - { DF_Type::feature_subterranean_from_layerst, sizeof(df::feature_subterranean_from_layerst) }, - { DF_Type::feature_type, sizeof(df::enums::feature_type::feature_type) }, - { DF_Type::feature_underworld_from_layerst, sizeof(df::feature_underworld_from_layerst) }, - { DF_Type::feature_volcanost, sizeof(df::feature_volcanost) }, - { DF_Type::file_compressorst, sizeof(df::file_compressorst) }, - { DF_Type::fire, sizeof(df::fire) }, - { DF_Type::flow_guide, sizeof(df::flow_guide) }, - { DF_Type::flow_guide_item_cloudst, sizeof(df::flow_guide_item_cloudst) }, - { DF_Type::flow_guide_trailing_flowst, sizeof(df::flow_guide_trailing_flowst) }, - { DF_Type::flow_guide_type, sizeof(df::enums::flow_guide_type::flow_guide_type) }, - { DF_Type::flow_info, sizeof(df::flow_info) }, - { DF_Type::flow_reuse_pool, sizeof(df::flow_reuse_pool) }, - { DF_Type::flow_reuse_pool__T_flags, sizeof(df::flow_reuse_pool::T_flags) }, - { DF_Type::flow_type, sizeof(df::enums::flow_type::flow_type) }, - { DF_Type::fog_type, sizeof(df::enums::fog_type::fog_type) }, - { DF_Type::front_type, sizeof(df::enums::front_type::front_type) }, - { DF_Type::furnace_type, sizeof(df::enums::furnace_type::furnace_type) }, - { DF_Type::furniture_type, sizeof(df::enums::furniture_type::furniture_type) }, - { DF_Type::gait_info, sizeof(df::gait_info) }, - { DF_Type::gait_info__T_flags, sizeof(df::gait_info::T_flags) }, - { DF_Type::gait_type, sizeof(df::enums::gait_type::gait_type) }, - { DF_Type::game_mode, sizeof(df::enums::game_mode::game_mode) }, - { DF_Type::game_type, sizeof(df::enums::game_type::game_type) }, - { DF_Type::gate_flags, sizeof(df::gate_flags) }, - { DF_Type::general_ref, sizeof(df::general_ref) }, - { DF_Type::general_ref_abstract_buildingst, sizeof(df::general_ref_abstract_buildingst) }, - { DF_Type::general_ref_activity_eventst, sizeof(df::general_ref_activity_eventst) }, - { DF_Type::general_ref_artifact, sizeof(df::general_ref_artifact) }, - { DF_Type::general_ref_building, sizeof(df::general_ref_building) }, - { DF_Type::general_ref_building_cagedst, sizeof(df::general_ref_building_cagedst) }, - { DF_Type::general_ref_building_chainst, sizeof(df::general_ref_building_chainst) }, - { DF_Type::general_ref_building_civzone_assignedst, sizeof(df::general_ref_building_civzone_assignedst) }, - { DF_Type::general_ref_building_destinationst, sizeof(df::general_ref_building_destinationst) }, - { DF_Type::general_ref_building_display_furniturest, sizeof(df::general_ref_building_display_furniturest) }, - { DF_Type::general_ref_building_holderst, sizeof(df::general_ref_building_holderst) }, - { DF_Type::general_ref_building_nest_boxst, sizeof(df::general_ref_building_nest_boxst) }, - { DF_Type::general_ref_building_triggerst, sizeof(df::general_ref_building_triggerst) }, - { DF_Type::general_ref_building_triggertargetst, sizeof(df::general_ref_building_triggertargetst) }, - { DF_Type::general_ref_building_use_target_1st, sizeof(df::general_ref_building_use_target_1st) }, - { DF_Type::general_ref_building_use_target_2st, sizeof(df::general_ref_building_use_target_2st) }, - { DF_Type::general_ref_building_well_tag, sizeof(df::general_ref_building_well_tag) }, - { DF_Type::general_ref_coinbatch, sizeof(df::general_ref_coinbatch) }, - { DF_Type::general_ref_contained_in_itemst, sizeof(df::general_ref_contained_in_itemst) }, - { DF_Type::general_ref_contains_itemst, sizeof(df::general_ref_contains_itemst) }, - { DF_Type::general_ref_contains_unitst, sizeof(df::general_ref_contains_unitst) }, - { DF_Type::general_ref_creaturest, sizeof(df::general_ref_creaturest) }, - { DF_Type::general_ref_creaturest__T_flags, sizeof(df::general_ref_creaturest::T_flags) }, - { DF_Type::general_ref_dance_formst, sizeof(df::general_ref_dance_formst) }, - { DF_Type::general_ref_entity, sizeof(df::general_ref_entity) }, - { DF_Type::general_ref_entity_art_image, sizeof(df::general_ref_entity_art_image) }, - { DF_Type::general_ref_entity_itemownerst, sizeof(df::general_ref_entity_itemownerst) }, - { DF_Type::general_ref_entity_offeredst, sizeof(df::general_ref_entity_offeredst) }, - { DF_Type::general_ref_entity_popst, sizeof(df::general_ref_entity_popst) }, - { DF_Type::general_ref_entity_popst__T_flags, sizeof(df::general_ref_entity_popst::T_flags) }, - { DF_Type::general_ref_entity_stolenst, sizeof(df::general_ref_entity_stolenst) }, - { DF_Type::general_ref_feature_layerst, sizeof(df::general_ref_feature_layerst) }, - { DF_Type::general_ref_historical_eventst, sizeof(df::general_ref_historical_eventst) }, - { DF_Type::general_ref_historical_figurest, sizeof(df::general_ref_historical_figurest) }, - { DF_Type::general_ref_interactionst, sizeof(df::general_ref_interactionst) }, - { DF_Type::general_ref_is_artifactst, sizeof(df::general_ref_is_artifactst) }, - { DF_Type::general_ref_is_nemesisst, sizeof(df::general_ref_is_nemesisst) }, - { DF_Type::general_ref_item, sizeof(df::general_ref_item) }, - { DF_Type::general_ref_item_type, sizeof(df::general_ref_item_type) }, - { DF_Type::general_ref_knowledge_scholar_flagst, sizeof(df::general_ref_knowledge_scholar_flagst) }, - { DF_Type::general_ref_languagest, sizeof(df::general_ref_languagest) }, - { DF_Type::general_ref_locationst, sizeof(df::general_ref_locationst) }, - { DF_Type::general_ref_mapsquare, sizeof(df::general_ref_mapsquare) }, - { DF_Type::general_ref_musical_formst, sizeof(df::general_ref_musical_formst) }, - { DF_Type::general_ref_nemesis, sizeof(df::general_ref_nemesis) }, - { DF_Type::general_ref_poetic_formst, sizeof(df::general_ref_poetic_formst) }, - { DF_Type::general_ref_projectile, sizeof(df::general_ref_projectile) }, - { DF_Type::general_ref_sitest, sizeof(df::general_ref_sitest) }, - { DF_Type::general_ref_spherest, sizeof(df::general_ref_spherest) }, - { DF_Type::general_ref_subregionst, sizeof(df::general_ref_subregionst) }, - { DF_Type::general_ref_type, sizeof(df::enums::general_ref_type::general_ref_type) }, - { DF_Type::general_ref_unit, sizeof(df::general_ref_unit) }, - { DF_Type::general_ref_unit_beateest, sizeof(df::general_ref_unit_beateest) }, - { DF_Type::general_ref_unit_cageest, sizeof(df::general_ref_unit_cageest) }, - { DF_Type::general_ref_unit_climberst, sizeof(df::general_ref_unit_climberst) }, - { DF_Type::general_ref_unit_foodreceiverst, sizeof(df::general_ref_unit_foodreceiverst) }, - { DF_Type::general_ref_unit_geldeest, sizeof(df::general_ref_unit_geldeest) }, - { DF_Type::general_ref_unit_holderst, sizeof(df::general_ref_unit_holderst) }, - { DF_Type::general_ref_unit_infantst, sizeof(df::general_ref_unit_infantst) }, - { DF_Type::general_ref_unit_itemownerst, sizeof(df::general_ref_unit_itemownerst) }, - { DF_Type::general_ref_unit_itemownerst__T_flags, sizeof(df::general_ref_unit_itemownerst::T_flags) }, - { DF_Type::general_ref_unit_kidnapeest, sizeof(df::general_ref_unit_kidnapeest) }, - { DF_Type::general_ref_unit_milkeest, sizeof(df::general_ref_unit_milkeest) }, - { DF_Type::general_ref_unit_patientst, sizeof(df::general_ref_unit_patientst) }, - { DF_Type::general_ref_unit_reporteest, sizeof(df::general_ref_unit_reporteest) }, - { DF_Type::general_ref_unit_riderst, sizeof(df::general_ref_unit_riderst) }, - { DF_Type::general_ref_unit_sheareest, sizeof(df::general_ref_unit_sheareest) }, - { DF_Type::general_ref_unit_slaughtereest, sizeof(df::general_ref_unit_slaughtereest) }, - { DF_Type::general_ref_unit_suckeest, sizeof(df::general_ref_unit_suckeest) }, - { DF_Type::general_ref_unit_tradebringerst, sizeof(df::general_ref_unit_tradebringerst) }, - { DF_Type::general_ref_unit_traineest, sizeof(df::general_ref_unit_traineest) }, - { DF_Type::general_ref_unit_workerst, sizeof(df::general_ref_unit_workerst) }, - { DF_Type::general_ref_value_levelst, sizeof(df::general_ref_value_levelst) }, - { DF_Type::general_ref_written_contentst, sizeof(df::general_ref_written_contentst) }, - { DF_Type::geo_layer_type, sizeof(df::enums::geo_layer_type::geo_layer_type) }, - { DF_Type::ghost_goal, sizeof(df::enums::ghost_goal::ghost_goal) }, - { DF_Type::ghost_type, sizeof(df::enums::ghost_type::ghost_type) }, - { DF_Type::gloves_flags, sizeof(df::enums::gloves_flags::gloves_flags) }, - { DF_Type::glowing_barrier, sizeof(df::glowing_barrier) }, - { DF_Type::goal_type, sizeof(df::enums::goal_type::goal_type) }, - { DF_Type::graphic, sizeof(df::graphic) }, - { DF_Type::guild_id, sizeof(df::enums::guild_id::guild_id) }, - { DF_Type::hauler_type, sizeof(df::enums::hauler_type::hauler_type) }, - { DF_Type::hauling_route, sizeof(df::hauling_route) }, - { DF_Type::hauling_stop, sizeof(df::hauling_stop) }, - { DF_Type::health_view_bits1, sizeof(df::health_view_bits1) }, - { DF_Type::health_view_bits2, sizeof(df::health_view_bits2) }, - { DF_Type::health_view_bits3, sizeof(df::health_view_bits3) }, - { DF_Type::helm_flags, sizeof(df::enums::helm_flags::helm_flags) }, - { DF_Type::hillock_house_type, sizeof(df::enums::hillock_house_type::hillock_house_type) }, - { DF_Type::histfig_body_state, sizeof(df::enums::histfig_body_state::histfig_body_state) }, - { DF_Type::histfig_entity_link, sizeof(df::histfig_entity_link) }, - { DF_Type::histfig_entity_link_criminalst, sizeof(df::histfig_entity_link_criminalst) }, - { DF_Type::histfig_entity_link_enemyst, sizeof(df::histfig_entity_link_enemyst) }, - { DF_Type::histfig_entity_link_former_memberst, sizeof(df::histfig_entity_link_former_memberst) }, - { DF_Type::histfig_entity_link_former_mercenaryst, sizeof(df::histfig_entity_link_former_mercenaryst) }, - { DF_Type::histfig_entity_link_former_occupationst, sizeof(df::histfig_entity_link_former_occupationst) }, - { DF_Type::histfig_entity_link_former_positionst, sizeof(df::histfig_entity_link_former_positionst) }, - { DF_Type::histfig_entity_link_former_prisonerst, sizeof(df::histfig_entity_link_former_prisonerst) }, - { DF_Type::histfig_entity_link_former_slavest, sizeof(df::histfig_entity_link_former_slavest) }, - { DF_Type::histfig_entity_link_former_squadst, sizeof(df::histfig_entity_link_former_squadst) }, - { DF_Type::histfig_entity_link_memberst, sizeof(df::histfig_entity_link_memberst) }, - { DF_Type::histfig_entity_link_mercenaryst, sizeof(df::histfig_entity_link_mercenaryst) }, - { DF_Type::histfig_entity_link_occupationst, sizeof(df::histfig_entity_link_occupationst) }, - { DF_Type::histfig_entity_link_position_claimst, sizeof(df::histfig_entity_link_position_claimst) }, - { DF_Type::histfig_entity_link_positionst, sizeof(df::histfig_entity_link_positionst) }, - { DF_Type::histfig_entity_link_prisonerst, sizeof(df::histfig_entity_link_prisonerst) }, - { DF_Type::histfig_entity_link_slavest, sizeof(df::histfig_entity_link_slavest) }, - { DF_Type::histfig_entity_link_squadst, sizeof(df::histfig_entity_link_squadst) }, - { DF_Type::histfig_entity_link_type, sizeof(df::enums::histfig_entity_link_type::histfig_entity_link_type) }, - { DF_Type::histfig_flags, sizeof(df::enums::histfig_flags::histfig_flags) }, - { DF_Type::histfig_hf_link, sizeof(df::histfig_hf_link) }, - { DF_Type::histfig_hf_link_apprenticest, sizeof(df::histfig_hf_link_apprenticest) }, - { DF_Type::histfig_hf_link_childst, sizeof(df::histfig_hf_link_childst) }, - { DF_Type::histfig_hf_link_companionst, sizeof(df::histfig_hf_link_companionst) }, - { DF_Type::histfig_hf_link_deityst, sizeof(df::histfig_hf_link_deityst) }, - { DF_Type::histfig_hf_link_fatherst, sizeof(df::histfig_hf_link_fatherst) }, - { DF_Type::histfig_hf_link_former_apprenticest, sizeof(df::histfig_hf_link_former_apprenticest) }, - { DF_Type::histfig_hf_link_former_masterst, sizeof(df::histfig_hf_link_former_masterst) }, - { DF_Type::histfig_hf_link_imprisonerst, sizeof(df::histfig_hf_link_imprisonerst) }, - { DF_Type::histfig_hf_link_loverst, sizeof(df::histfig_hf_link_loverst) }, - { DF_Type::histfig_hf_link_masterst, sizeof(df::histfig_hf_link_masterst) }, - { DF_Type::histfig_hf_link_motherst, sizeof(df::histfig_hf_link_motherst) }, - { DF_Type::histfig_hf_link_pet_ownerst, sizeof(df::histfig_hf_link_pet_ownerst) }, - { DF_Type::histfig_hf_link_prisonerst, sizeof(df::histfig_hf_link_prisonerst) }, - { DF_Type::histfig_hf_link_spousest, sizeof(df::histfig_hf_link_spousest) }, - { DF_Type::histfig_hf_link_type, sizeof(df::enums::histfig_hf_link_type::histfig_hf_link_type) }, - { DF_Type::histfig_relationship_type, sizeof(df::enums::histfig_relationship_type::histfig_relationship_type) }, - { DF_Type::histfig_site_link, sizeof(df::histfig_site_link) }, - { DF_Type::histfig_site_link_hangoutst, sizeof(df::histfig_site_link_hangoutst) }, - { DF_Type::histfig_site_link_home_site_abstract_buildingst, sizeof(df::histfig_site_link_home_site_abstract_buildingst) }, - { DF_Type::histfig_site_link_home_site_realization_buildingst, sizeof(df::histfig_site_link_home_site_realization_buildingst) }, - { DF_Type::histfig_site_link_home_site_realization_sulst, sizeof(df::histfig_site_link_home_site_realization_sulst) }, - { DF_Type::histfig_site_link_home_site_saved_civzonest, sizeof(df::histfig_site_link_home_site_saved_civzonest) }, - { DF_Type::histfig_site_link_lairst, sizeof(df::histfig_site_link_lairst) }, - { DF_Type::histfig_site_link_occupationst, sizeof(df::histfig_site_link_occupationst) }, - { DF_Type::histfig_site_link_seat_of_powerst, sizeof(df::histfig_site_link_seat_of_powerst) }, - { DF_Type::histfig_site_link_type, sizeof(df::enums::histfig_site_link_type::histfig_site_link_type) }, - { DF_Type::historical_entity, sizeof(df::historical_entity) }, - { DF_Type::historical_entity__T_claims, sizeof(df::historical_entity::T_claims) }, - { DF_Type::historical_entity__T_derived_resources, sizeof(df::historical_entity::T_derived_resources) }, - { DF_Type::historical_entity__T_flags, sizeof(df::historical_entity::T_flags) }, - { DF_Type::historical_entity__T_positions, sizeof(df::historical_entity::T_positions) }, - { DF_Type::historical_entity__T_resources, sizeof(df::historical_entity::T_resources) }, - { DF_Type::historical_entity__T_resources__T_animals, sizeof(df::historical_entity::T_resources::T_animals) }, - { DF_Type::historical_entity__T_resources__T_metal, sizeof(df::historical_entity::T_resources::T_metal) }, - { DF_Type::historical_entity__T_resources__T_misc_mat, sizeof(df::historical_entity::T_resources::T_misc_mat) }, - { DF_Type::historical_entity__T_resources__T_organic, sizeof(df::historical_entity::T_resources::T_organic) }, - { DF_Type::historical_entity__T_resources__T_refuse, sizeof(df::historical_entity::T_resources::T_refuse) }, - { DF_Type::historical_entity__T_resources__T_unk13, sizeof(df::historical_entity::T_resources::T_unk13) }, - { DF_Type::historical_entity__T_resources__T_wood_products, sizeof(df::historical_entity::T_resources::T_wood_products) }, - { DF_Type::historical_entity__T_tissue_styles, sizeof(df::historical_entity::T_tissue_styles) }, - { DF_Type::historical_entity__T_training_knowledge, sizeof(df::historical_entity::T_training_knowledge) }, - { DF_Type::historical_entity__T_unknown1b, sizeof(df::historical_entity::T_unknown1b) }, - { DF_Type::historical_entity__T_unknown1b__T_diplomacy, sizeof(df::historical_entity::T_unknown1b::T_diplomacy) }, - { DF_Type::historical_entity__T_unknown1b__T_unk32e, sizeof(df::historical_entity::T_unknown1b::T_unk32e) }, - { DF_Type::historical_entity__T_unknown1d, sizeof(df::historical_entity::T_unknown1d) }, - { DF_Type::historical_entity__T_unknown1e, sizeof(df::historical_entity::T_unknown1e) }, - { DF_Type::historical_entity__T_unknown2, sizeof(df::historical_entity::T_unknown2) }, - { DF_Type::historical_entity_type, sizeof(df::enums::historical_entity_type::historical_entity_type) }, - { DF_Type::historical_figure, sizeof(df::historical_figure) }, - { DF_Type::historical_figure__T_unk_fc, sizeof(df::historical_figure::T_unk_fc) }, - { DF_Type::historical_figure_info, sizeof(df::historical_figure_info) }, - { DF_Type::historical_figure_info__T_books, sizeof(df::historical_figure_info::T_books) }, - { DF_Type::historical_figure_info__T_curse, sizeof(df::historical_figure_info::T_curse) }, - { DF_Type::historical_figure_info__T_masterpieces, sizeof(df::historical_figure_info::T_masterpieces) }, - { DF_Type::historical_figure_info__T_personality, sizeof(df::historical_figure_info::T_personality) }, - { DF_Type::historical_figure_info__T_relationships, sizeof(df::historical_figure_info::T_relationships) }, - { DF_Type::historical_figure_info__T_relationships__T_anon_1, sizeof(df::historical_figure_info::T_relationships::T_anon_1) }, - { DF_Type::historical_figure_info__T_relationships__T_anon_2, sizeof(df::historical_figure_info::T_relationships::T_anon_2) }, - { DF_Type::historical_figure_info__T_relationships__T_anon_3, sizeof(df::historical_figure_info::T_relationships::T_anon_3) }, - { DF_Type::historical_figure_info__T_relationships__T_list, sizeof(df::historical_figure_info::T_relationships::T_list) }, - { DF_Type::historical_figure_info__T_reputation, sizeof(df::historical_figure_info::T_reputation) }, - { DF_Type::historical_figure_info__T_reputation__T_anon_1, sizeof(df::historical_figure_info::T_reputation::T_anon_1) }, - { DF_Type::historical_figure_info__T_reputation__T_unk_2c, sizeof(df::historical_figure_info::T_reputation::T_unk_2c) }, - { DF_Type::historical_figure_info__T_reputation__T_unk_2c__T_anon_12, sizeof(df::historical_figure_info::T_reputation::T_unk_2c::T_anon_12) }, - { DF_Type::historical_figure_info__T_reputation__T_wanted, sizeof(df::historical_figure_info::T_reputation::T_wanted) }, - { DF_Type::historical_figure_info__T_secret, sizeof(df::historical_figure_info::T_secret) }, - { DF_Type::historical_figure_info__T_secret__T_anon_1, sizeof(df::historical_figure_info::T_secret::T_anon_1) }, - { DF_Type::historical_figure_info__T_secret__T_anon_7, sizeof(df::historical_figure_info::T_secret::T_anon_7) }, - { DF_Type::historical_figure_info__T_secret__T_knowledge, sizeof(df::historical_figure_info::T_secret::T_knowledge) }, - { DF_Type::historical_figure_info__T_secret__T_knowledge__T_knowledge_goal, sizeof(df::historical_figure_info::T_secret::T_knowledge::T_knowledge_goal) }, - { DF_Type::historical_figure_info__T_secret__T_unk_a8, sizeof(df::historical_figure_info::T_secret::T_unk_a8) }, - { DF_Type::historical_figure_info__T_skills, sizeof(df::historical_figure_info::T_skills) }, - { DF_Type::historical_figure_info__T_unk_14, sizeof(df::historical_figure_info::T_unk_14) }, - { DF_Type::historical_figure_info__T_wounds, sizeof(df::historical_figure_info::T_wounds) }, - { DF_Type::historical_kills, sizeof(df::historical_kills) }, - { DF_Type::historical_kills__T_killed_undead, sizeof(df::historical_kills::T_killed_undead) }, - { DF_Type::history_era, sizeof(df::history_era) }, - { DF_Type::history_era__T_details, sizeof(df::history_era::T_details) }, - { DF_Type::history_era__T_title, sizeof(df::history_era::T_title) }, - { DF_Type::history_event, sizeof(df::history_event) }, - { DF_Type::history_event_add_hf_entity_linkst, sizeof(df::history_event_add_hf_entity_linkst) }, - { DF_Type::history_event_add_hf_hf_linkst, sizeof(df::history_event_add_hf_hf_linkst) }, - { DF_Type::history_event_add_hf_site_linkst, sizeof(df::history_event_add_hf_site_linkst) }, - { DF_Type::history_event_agreement_concludedst, sizeof(df::history_event_agreement_concludedst) }, - { DF_Type::history_event_agreement_formedst, sizeof(df::history_event_agreement_formedst) }, - { DF_Type::history_event_agreements_voidedst, sizeof(df::history_event_agreements_voidedst) }, - { DF_Type::history_event_artifact_claim_formedst, sizeof(df::history_event_artifact_claim_formedst) }, - { DF_Type::history_event_artifact_claim_formedst__T_claim_type, sizeof(df::history_event_artifact_claim_formedst::T_claim_type) }, - { DF_Type::history_event_artifact_copiedst, sizeof(df::history_event_artifact_copiedst) }, - { DF_Type::history_event_artifact_copiedst__T_flags2, sizeof(df::history_event_artifact_copiedst::T_flags2) }, - { DF_Type::history_event_artifact_createdst, sizeof(df::history_event_artifact_createdst) }, - { DF_Type::history_event_artifact_destroyedst, sizeof(df::history_event_artifact_destroyedst) }, - { DF_Type::history_event_artifact_droppedst, sizeof(df::history_event_artifact_droppedst) }, - { DF_Type::history_event_artifact_foundst, sizeof(df::history_event_artifact_foundst) }, - { DF_Type::history_event_artifact_givenst, sizeof(df::history_event_artifact_givenst) }, - { DF_Type::history_event_artifact_hiddenst, sizeof(df::history_event_artifact_hiddenst) }, - { DF_Type::history_event_artifact_lostst, sizeof(df::history_event_artifact_lostst) }, - { DF_Type::history_event_artifact_possessedst, sizeof(df::history_event_artifact_possessedst) }, - { DF_Type::history_event_artifact_recoveredst, sizeof(df::history_event_artifact_recoveredst) }, - { DF_Type::history_event_artifact_storedst, sizeof(df::history_event_artifact_storedst) }, - { DF_Type::history_event_artifact_transformedst, sizeof(df::history_event_artifact_transformedst) }, - { DF_Type::history_event_assume_identityst, sizeof(df::history_event_assume_identityst) }, - { DF_Type::history_event_body_abusedst, sizeof(df::history_event_body_abusedst) }, - { DF_Type::history_event_body_abusedst__T_abuse_type, sizeof(df::history_event_body_abusedst::T_abuse_type) }, - { DF_Type::history_event_body_abusedst__T_props, sizeof(df::history_event_body_abusedst::T_props) }, - { DF_Type::history_event_body_abusedst__T_props__T_hung, sizeof(df::history_event_body_abusedst::T_props::T_hung) }, - { DF_Type::history_event_body_abusedst__T_props__T_item, sizeof(df::history_event_body_abusedst::T_props::T_item) }, - { DF_Type::history_event_body_abusedst__T_props__T_pile_type, sizeof(df::history_event_body_abusedst::T_props::T_pile_type) }, - { DF_Type::history_event_ceremonyst, sizeof(df::history_event_ceremonyst) }, - { DF_Type::history_event_change_creature_typest, sizeof(df::history_event_change_creature_typest) }, - { DF_Type::history_event_change_hf_body_statest, sizeof(df::history_event_change_hf_body_statest) }, - { DF_Type::history_event_change_hf_jobst, sizeof(df::history_event_change_hf_jobst) }, - { DF_Type::history_event_change_hf_moodst, sizeof(df::history_event_change_hf_moodst) }, - { DF_Type::history_event_change_hf_statest, sizeof(df::history_event_change_hf_statest) }, - { DF_Type::history_event_change_hf_statest__T_state, sizeof(df::history_event_change_hf_statest::T_state) }, - { DF_Type::history_event_collection, sizeof(df::history_event_collection) }, - { DF_Type::history_event_collection_abductionst, sizeof(df::history_event_collection_abductionst) }, - { DF_Type::history_event_collection_battlest, sizeof(df::history_event_collection_battlest) }, - { DF_Type::history_event_collection_beast_attackst, sizeof(df::history_event_collection_beast_attackst) }, - { DF_Type::history_event_collection_ceremonyst, sizeof(df::history_event_collection_ceremonyst) }, - { DF_Type::history_event_collection_competitionst, sizeof(df::history_event_collection_competitionst) }, - { DF_Type::history_event_collection_duelst, sizeof(df::history_event_collection_duelst) }, - { DF_Type::history_event_collection_insurrectionst, sizeof(df::history_event_collection_insurrectionst) }, - { DF_Type::history_event_collection_journeyst, sizeof(df::history_event_collection_journeyst) }, - { DF_Type::history_event_collection_occasionst, sizeof(df::history_event_collection_occasionst) }, - { DF_Type::history_event_collection_performancest, sizeof(df::history_event_collection_performancest) }, - { DF_Type::history_event_collection_processionst, sizeof(df::history_event_collection_processionst) }, - { DF_Type::history_event_collection_purgest, sizeof(df::history_event_collection_purgest) }, - { DF_Type::history_event_collection_raidst, sizeof(df::history_event_collection_raidst) }, - { DF_Type::history_event_collection_site_conqueredst, sizeof(df::history_event_collection_site_conqueredst) }, - { DF_Type::history_event_collection_theftst, sizeof(df::history_event_collection_theftst) }, - { DF_Type::history_event_collection_type, sizeof(df::enums::history_event_collection_type::history_event_collection_type) }, - { DF_Type::history_event_collection_warst, sizeof(df::history_event_collection_warst) }, - { DF_Type::history_event_collection_warst__T_unk, sizeof(df::history_event_collection_warst::T_unk) }, - { DF_Type::history_event_competitionst, sizeof(df::history_event_competitionst) }, - { DF_Type::history_event_context, sizeof(df::history_event_context) }, - { DF_Type::history_event_create_entity_positionst, sizeof(df::history_event_create_entity_positionst) }, - { DF_Type::history_event_created_buildingst, sizeof(df::history_event_created_buildingst) }, - { DF_Type::history_event_created_sitest, sizeof(df::history_event_created_sitest) }, - { DF_Type::history_event_created_world_constructionst, sizeof(df::history_event_created_world_constructionst) }, - { DF_Type::history_event_creature_devouredst, sizeof(df::history_event_creature_devouredst) }, - { DF_Type::history_event_dance_form_createdst, sizeof(df::history_event_dance_form_createdst) }, - { DF_Type::history_event_diplomat_lostst, sizeof(df::history_event_diplomat_lostst) }, - { DF_Type::history_event_entity_actionst, sizeof(df::history_event_entity_actionst) }, - { DF_Type::history_event_entity_createdst, sizeof(df::history_event_entity_createdst) }, - { DF_Type::history_event_entity_expels_hfst, sizeof(df::history_event_entity_expels_hfst) }, - { DF_Type::history_event_entity_fled_sitest, sizeof(df::history_event_entity_fled_sitest) }, - { DF_Type::history_event_entity_incorporatedst, sizeof(df::history_event_entity_incorporatedst) }, - { DF_Type::history_event_entity_lawst, sizeof(df::history_event_entity_lawst) }, - { DF_Type::history_event_entity_rampaged_in_sitest, sizeof(df::history_event_entity_rampaged_in_sitest) }, - { DF_Type::history_event_entity_razed_buildingst, sizeof(df::history_event_entity_razed_buildingst) }, - { DF_Type::history_event_entity_searched_sitest, sizeof(df::history_event_entity_searched_sitest) }, - { DF_Type::history_event_first_contact_failedst, sizeof(df::history_event_first_contact_failedst) }, - { DF_Type::history_event_first_contactst, sizeof(df::history_event_first_contactst) }, - { DF_Type::history_event_hf_act_on_artifactst, sizeof(df::history_event_hf_act_on_artifactst) }, - { DF_Type::history_event_hf_act_on_artifactst__T_action, sizeof(df::history_event_hf_act_on_artifactst::T_action) }, - { DF_Type::history_event_hf_act_on_buildingst, sizeof(df::history_event_hf_act_on_buildingst) }, - { DF_Type::history_event_hf_act_on_buildingst__T_action, sizeof(df::history_event_hf_act_on_buildingst::T_action) }, - { DF_Type::history_event_hf_attacked_sitest, sizeof(df::history_event_hf_attacked_sitest) }, - { DF_Type::history_event_hf_confrontedst, sizeof(df::history_event_hf_confrontedst) }, - { DF_Type::history_event_hf_destroyed_sitest, sizeof(df::history_event_hf_destroyed_sitest) }, - { DF_Type::history_event_hf_does_interactionst, sizeof(df::history_event_hf_does_interactionst) }, - { DF_Type::history_event_hf_freedst, sizeof(df::history_event_hf_freedst) }, - { DF_Type::history_event_hf_gains_secret_goalst, sizeof(df::history_event_hf_gains_secret_goalst) }, - { DF_Type::history_event_hf_learns_secretst, sizeof(df::history_event_hf_learns_secretst) }, - { DF_Type::history_event_hf_razed_buildingst, sizeof(df::history_event_hf_razed_buildingst) }, - { DF_Type::history_event_hf_recruited_unit_type_for_entityst, sizeof(df::history_event_hf_recruited_unit_type_for_entityst) }, - { DF_Type::history_event_hf_relationship_deniedst, sizeof(df::history_event_hf_relationship_deniedst) }, - { DF_Type::history_event_hfs_formed_reputation_relationshipst, sizeof(df::history_event_hfs_formed_reputation_relationshipst) }, - { DF_Type::history_event_hist_figure_abductedst, sizeof(df::history_event_hist_figure_abductedst) }, - { DF_Type::history_event_hist_figure_diedst, sizeof(df::history_event_hist_figure_diedst) }, - { DF_Type::history_event_hist_figure_new_petst, sizeof(df::history_event_hist_figure_new_petst) }, - { DF_Type::history_event_hist_figure_reach_summitst, sizeof(df::history_event_hist_figure_reach_summitst) }, - { DF_Type::history_event_hist_figure_reunionst, sizeof(df::history_event_hist_figure_reunionst) }, - { DF_Type::history_event_hist_figure_revivedst, sizeof(df::history_event_hist_figure_revivedst) }, - { DF_Type::history_event_hist_figure_simple_actionst, sizeof(df::history_event_hist_figure_simple_actionst) }, - { DF_Type::history_event_hist_figure_simple_battle_eventst, sizeof(df::history_event_hist_figure_simple_battle_eventst) }, - { DF_Type::history_event_hist_figure_travelst, sizeof(df::history_event_hist_figure_travelst) }, - { DF_Type::history_event_hist_figure_travelst__T_reason, sizeof(df::history_event_hist_figure_travelst::T_reason) }, - { DF_Type::history_event_hist_figure_woundedst, sizeof(df::history_event_hist_figure_woundedst) }, - { DF_Type::history_event_hist_figure_woundedst__T_injury_type, sizeof(df::history_event_hist_figure_woundedst::T_injury_type) }, - { DF_Type::history_event_insurrection_endedst, sizeof(df::history_event_insurrection_endedst) }, - { DF_Type::history_event_insurrection_startedst, sizeof(df::history_event_insurrection_startedst) }, - { DF_Type::history_event_item_stolenst, sizeof(df::history_event_item_stolenst) }, - { DF_Type::history_event_knowledge_discoveredst, sizeof(df::history_event_knowledge_discoveredst) }, - { DF_Type::history_event_masterpiece_created_arch_constructst, sizeof(df::history_event_masterpiece_created_arch_constructst) }, - { DF_Type::history_event_masterpiece_created_arch_designst, sizeof(df::history_event_masterpiece_created_arch_designst) }, - { DF_Type::history_event_masterpiece_created_dye_itemst, sizeof(df::history_event_masterpiece_created_dye_itemst) }, - { DF_Type::history_event_masterpiece_created_engravingst, sizeof(df::history_event_masterpiece_created_engravingst) }, - { DF_Type::history_event_masterpiece_created_foodst, sizeof(df::history_event_masterpiece_created_foodst) }, - { DF_Type::history_event_masterpiece_created_item_improvementst, sizeof(df::history_event_masterpiece_created_item_improvementst) }, - { DF_Type::history_event_masterpiece_created_itemst, sizeof(df::history_event_masterpiece_created_itemst) }, - { DF_Type::history_event_masterpiece_createdst, sizeof(df::history_event_masterpiece_createdst) }, - { DF_Type::history_event_masterpiece_lostst, sizeof(df::history_event_masterpiece_lostst) }, - { DF_Type::history_event_merchantst, sizeof(df::history_event_merchantst) }, - { DF_Type::history_event_musical_form_createdst, sizeof(df::history_event_musical_form_createdst) }, - { DF_Type::history_event_performancest, sizeof(df::history_event_performancest) }, - { DF_Type::history_event_poetic_form_createdst, sizeof(df::history_event_poetic_form_createdst) }, - { DF_Type::history_event_processionst, sizeof(df::history_event_processionst) }, - { DF_Type::history_event_reason, sizeof(df::enums::history_event_reason::history_event_reason) }, - { DF_Type::history_event_reclaim_sitest, sizeof(df::history_event_reclaim_sitest) }, - { DF_Type::history_event_regionpop_incorporated_into_entityst, sizeof(df::history_event_regionpop_incorporated_into_entityst) }, - { DF_Type::history_event_remove_hf_entity_linkst, sizeof(df::history_event_remove_hf_entity_linkst) }, - { DF_Type::history_event_remove_hf_hf_linkst, sizeof(df::history_event_remove_hf_hf_linkst) }, - { DF_Type::history_event_remove_hf_site_linkst, sizeof(df::history_event_remove_hf_site_linkst) }, - { DF_Type::history_event_replaced_buildingst, sizeof(df::history_event_replaced_buildingst) }, - { DF_Type::history_event_simple_battle_subtype, sizeof(df::enums::history_event_simple_battle_subtype::history_event_simple_battle_subtype) }, - { DF_Type::history_event_site_diedst, sizeof(df::history_event_site_diedst) }, - { DF_Type::history_event_site_disputest, sizeof(df::history_event_site_disputest) }, - { DF_Type::history_event_site_retiredst, sizeof(df::history_event_site_retiredst) }, - { DF_Type::history_event_site_surrenderedst, sizeof(df::history_event_site_surrenderedst) }, - { DF_Type::history_event_sneak_into_sitest, sizeof(df::history_event_sneak_into_sitest) }, - { DF_Type::history_event_spotted_leaving_sitest, sizeof(df::history_event_spotted_leaving_sitest) }, - { DF_Type::history_event_squad_vs_squadst, sizeof(df::history_event_squad_vs_squadst) }, - { DF_Type::history_event_tactical_situationst, sizeof(df::history_event_tactical_situationst) }, - { DF_Type::history_event_tactical_situationst__T_tactics_flags, sizeof(df::history_event_tactical_situationst::T_tactics_flags) }, - { DF_Type::history_event_topicagreement_concludedst, sizeof(df::history_event_topicagreement_concludedst) }, - { DF_Type::history_event_topicagreement_madest, sizeof(df::history_event_topicagreement_madest) }, - { DF_Type::history_event_topicagreement_rejectedst, sizeof(df::history_event_topicagreement_rejectedst) }, - { DF_Type::history_event_type, sizeof(df::enums::history_event_type::history_event_type) }, - { DF_Type::history_event_war_attacked_sitest, sizeof(df::history_event_war_attacked_sitest) }, - { DF_Type::history_event_war_destroyed_sitest, sizeof(df::history_event_war_destroyed_sitest) }, - { DF_Type::history_event_war_field_battlest, sizeof(df::history_event_war_field_battlest) }, - { DF_Type::history_event_war_peace_acceptedst, sizeof(df::history_event_war_peace_acceptedst) }, - { DF_Type::history_event_war_peace_rejectedst, sizeof(df::history_event_war_peace_rejectedst) }, - { DF_Type::history_event_war_plundered_sitest, sizeof(df::history_event_war_plundered_sitest) }, - { DF_Type::history_event_war_site_new_leaderst, sizeof(df::history_event_war_site_new_leaderst) }, - { DF_Type::history_event_war_site_taken_overst, sizeof(df::history_event_war_site_taken_overst) }, - { DF_Type::history_event_war_site_tribute_forcedst, sizeof(df::history_event_war_site_tribute_forcedst) }, - { DF_Type::history_event_war_site_tribute_forcedst__T_tribute_flags, sizeof(df::history_event_war_site_tribute_forcedst::T_tribute_flags) }, - { DF_Type::history_event_written_content_composedst, sizeof(df::history_event_written_content_composedst) }, - { DF_Type::history_hit_item, sizeof(df::history_hit_item) }, - { DF_Type::hive_flags, sizeof(df::hive_flags) }, - { DF_Type::hospital_supplies, sizeof(df::hospital_supplies) }, - { DF_Type::hospital_supplies__T_supplies_needed, sizeof(df::hospital_supplies::T_supplies_needed) }, - { DF_Type::identity, sizeof(df::identity) }, - { DF_Type::identity_unk_94, sizeof(df::identity_unk_94) }, - { DF_Type::improvement_type, sizeof(df::enums::improvement_type::improvement_type) }, - { DF_Type::incident, sizeof(df::incident) }, - { DF_Type::incident__T_flags, sizeof(df::incident::T_flags) }, - { DF_Type::incident__T_unk_v42_1, sizeof(df::incident::T_unk_v42_1) }, - { DF_Type::incident_hfid, sizeof(df::incident_hfid) }, - { DF_Type::incident_sub10, sizeof(df::incident_sub10) }, - { DF_Type::incident_sub6_performance, sizeof(df::incident_sub6_performance) }, - { DF_Type::incident_sub6_performance__T_participants, sizeof(df::incident_sub6_performance::T_participants) }, - { DF_Type::incident_sub7, sizeof(df::incident_sub7) }, - { DF_Type::incident_sub8, sizeof(df::incident_sub8) }, - { DF_Type::incident_sub9, sizeof(df::incident_sub9) }, - { DF_Type::inclusion_type, sizeof(df::enums::inclusion_type::inclusion_type) }, - { DF_Type::init, sizeof(df::init) }, - { DF_Type::init_display, sizeof(df::init_display) }, - { DF_Type::init_display__T_windowed, sizeof(df::init_display::T_windowed) }, - { DF_Type::init_display_flags, sizeof(df::enums::init_display_flags::init_display_flags) }, - { DF_Type::init_font, sizeof(df::init_font) }, - { DF_Type::init_font__T_use_ttf, sizeof(df::init_font::T_use_ttf) }, - { DF_Type::init_input, sizeof(df::init_input) }, - { DF_Type::init_input_flags, sizeof(df::enums::init_input_flags::init_input_flags) }, - { DF_Type::init_media, sizeof(df::init_media) }, - { DF_Type::init_media_flags, sizeof(df::enums::init_media_flags::init_media_flags) }, - { DF_Type::init_window, sizeof(df::init_window) }, - { DF_Type::init_window_flags, sizeof(df::enums::init_window_flags::init_window_flags) }, - { DF_Type::inorganic_flags, sizeof(df::enums::inorganic_flags::inorganic_flags) }, - { DF_Type::inorganic_raw, sizeof(df::inorganic_raw) }, - { DF_Type::inorganic_raw__T_environment, sizeof(df::inorganic_raw::T_environment) }, - { DF_Type::inorganic_raw__T_environment_spec, sizeof(df::inorganic_raw::T_environment_spec) }, - { DF_Type::inorganic_raw__T_metal_ore, sizeof(df::inorganic_raw::T_metal_ore) }, - { DF_Type::inorganic_raw__T_thread_metal, sizeof(df::inorganic_raw::T_thread_metal) }, - { DF_Type::instrument_flags, sizeof(df::enums::instrument_flags::instrument_flags) }, - { DF_Type::instrument_piece, sizeof(df::instrument_piece) }, - { DF_Type::instrument_piece__T_flags, sizeof(df::instrument_piece::T_flags) }, - { DF_Type::instrument_register, sizeof(df::instrument_register) }, - { DF_Type::insurrection_outcome, sizeof(df::enums::insurrection_outcome::insurrection_outcome) }, - { DF_Type::interaction, sizeof(df::interaction) }, - { DF_Type::interaction_effect, sizeof(df::interaction_effect) }, - { DF_Type::interaction_effect__T_flags, sizeof(df::interaction_effect::T_flags) }, - { DF_Type::interaction_effect_add_syndromest, sizeof(df::interaction_effect_add_syndromest) }, - { DF_Type::interaction_effect_animatest, sizeof(df::interaction_effect_animatest) }, - { DF_Type::interaction_effect_cleanst, sizeof(df::interaction_effect_cleanst) }, - { DF_Type::interaction_effect_contactst, sizeof(df::interaction_effect_contactst) }, - { DF_Type::interaction_effect_hidest, sizeof(df::interaction_effect_hidest) }, - { DF_Type::interaction_effect_location_hint, sizeof(df::enums::interaction_effect_location_hint::interaction_effect_location_hint) }, - { DF_Type::interaction_effect_material_emissionst, sizeof(df::interaction_effect_material_emissionst) }, - { DF_Type::interaction_effect_resurrectst, sizeof(df::interaction_effect_resurrectst) }, - { DF_Type::interaction_effect_type, sizeof(df::enums::interaction_effect_type::interaction_effect_type) }, - { DF_Type::interaction_instance, sizeof(df::interaction_instance) }, - { DF_Type::interaction_source, sizeof(df::interaction_source) }, - { DF_Type::interaction_source_attackst, sizeof(df::interaction_source_attackst) }, - { DF_Type::interaction_source_creature_actionst, sizeof(df::interaction_source_creature_actionst) }, - { DF_Type::interaction_source_deityst, sizeof(df::interaction_source_deityst) }, - { DF_Type::interaction_source_disturbancest, sizeof(df::interaction_source_disturbancest) }, - { DF_Type::interaction_source_ingestionst, sizeof(df::interaction_source_ingestionst) }, - { DF_Type::interaction_source_regionst, sizeof(df::interaction_source_regionst) }, - { DF_Type::interaction_source_regionst__T_region_flags, sizeof(df::interaction_source_regionst::T_region_flags) }, - { DF_Type::interaction_source_secretst, sizeof(df::interaction_source_secretst) }, - { DF_Type::interaction_source_secretst__T_learn_flags, sizeof(df::interaction_source_secretst::T_learn_flags) }, - { DF_Type::interaction_source_type, sizeof(df::enums::interaction_source_type::interaction_source_type) }, - { DF_Type::interaction_source_underground_specialst, sizeof(df::interaction_source_underground_specialst) }, - { DF_Type::interaction_source_usage_hint, sizeof(df::enums::interaction_source_usage_hint::interaction_source_usage_hint) }, - { DF_Type::interaction_target, sizeof(df::interaction_target) }, - { DF_Type::interaction_target_corpsest, sizeof(df::interaction_target_corpsest) }, - { DF_Type::interaction_target_creaturest, sizeof(df::interaction_target_creaturest) }, - { DF_Type::interaction_target_info, sizeof(df::interaction_target_info) }, - { DF_Type::interaction_target_info__T_restrictions, sizeof(df::interaction_target_info::T_restrictions) }, - { DF_Type::interaction_target_location_type, sizeof(df::enums::interaction_target_location_type::interaction_target_location_type) }, - { DF_Type::interaction_target_locationst, sizeof(df::interaction_target_locationst) }, - { DF_Type::interaction_target_materialst, sizeof(df::interaction_target_materialst) }, - { DF_Type::interaction_target_materialst__T_restrictions, sizeof(df::interaction_target_materialst::T_restrictions) }, - { DF_Type::interaction_target_type, sizeof(df::enums::interaction_target_type::interaction_target_type) }, - { DF_Type::interface_breakdown_types, sizeof(df::enums::interface_breakdown_types::interface_breakdown_types) }, - { DF_Type::interface_button, sizeof(df::interface_button) }, - { DF_Type::interface_button_building_category_selectorst, sizeof(df::interface_button_building_category_selectorst) }, - { DF_Type::interface_button_building_custom_category_selectorst, sizeof(df::interface_button_building_custom_category_selectorst) }, - { DF_Type::interface_button_building_material_selectorst, sizeof(df::interface_button_building_material_selectorst) }, - { DF_Type::interface_button_building_new_jobst, sizeof(df::interface_button_building_new_jobst) }, - { DF_Type::interface_button_buildingst, sizeof(df::interface_button_buildingst) }, - { DF_Type::interface_button_construction_building_selectorst, sizeof(df::interface_button_construction_building_selectorst) }, - { DF_Type::interface_button_construction_category_selectorst, sizeof(df::interface_button_construction_category_selectorst) }, - { DF_Type::interface_button_construction_category_selectorst__T_category_id, sizeof(df::interface_button_construction_category_selectorst::T_category_id) }, - { DF_Type::interface_button_construction_donest, sizeof(df::interface_button_construction_donest) }, - { DF_Type::interface_button_constructionst, sizeof(df::interface_button_constructionst) }, - { DF_Type::interface_key, sizeof(df::enums::interface_key::interface_key) }, - { DF_Type::interfacest, sizeof(df::interfacest) }, - { DF_Type::invasion_info, sizeof(df::invasion_info) }, - { DF_Type::invasion_info__T_flags, sizeof(df::invasion_info::T_flags) }, - { DF_Type::item, sizeof(df::item) }, - { DF_Type::item_actual, sizeof(df::item_actual) }, - { DF_Type::item_ammost, sizeof(df::item_ammost) }, - { DF_Type::item_amuletst, sizeof(df::item_amuletst) }, - { DF_Type::item_animaltrapst, sizeof(df::item_animaltrapst) }, - { DF_Type::item_anvilst, sizeof(df::item_anvilst) }, - { DF_Type::item_armorst, sizeof(df::item_armorst) }, - { DF_Type::item_armorstandst, sizeof(df::item_armorstandst) }, - { DF_Type::item_backpackst, sizeof(df::item_backpackst) }, - { DF_Type::item_ballistaarrowheadst, sizeof(df::item_ballistaarrowheadst) }, - { DF_Type::item_ballistapartsst, sizeof(df::item_ballistapartsst) }, - { DF_Type::item_barrelst, sizeof(df::item_barrelst) }, - { DF_Type::item_barst, sizeof(df::item_barst) }, - { DF_Type::item_bedst, sizeof(df::item_bedst) }, - { DF_Type::item_binst, sizeof(df::item_binst) }, - { DF_Type::item_blocksst, sizeof(df::item_blocksst) }, - { DF_Type::item_body_component, sizeof(df::item_body_component) }, - { DF_Type::item_body_component__T_appearance, sizeof(df::item_body_component::T_appearance) }, - { DF_Type::item_body_component__T_body, sizeof(df::item_body_component::T_body) }, - { DF_Type::item_body_component__T_bone1, sizeof(df::item_body_component::T_bone1) }, - { DF_Type::item_body_component__T_bone2, sizeof(df::item_body_component::T_bone2) }, - { DF_Type::item_body_component__T_corpse_flags, sizeof(df::item_body_component::T_corpse_flags) }, - { DF_Type::item_bookst, sizeof(df::item_bookst) }, - { DF_Type::item_boulderst, sizeof(df::item_boulderst) }, - { DF_Type::item_boxst, sizeof(df::item_boxst) }, - { DF_Type::item_braceletst, sizeof(df::item_braceletst) }, - { DF_Type::item_branchst, sizeof(df::item_branchst) }, - { DF_Type::item_bucketst, sizeof(df::item_bucketst) }, - { DF_Type::item_cabinetst, sizeof(df::item_cabinetst) }, - { DF_Type::item_cagest, sizeof(df::item_cagest) }, - { DF_Type::item_catapultpartsst, sizeof(df::item_catapultpartsst) }, - { DF_Type::item_chainst, sizeof(df::item_chainst) }, - { DF_Type::item_chairst, sizeof(df::item_chairst) }, - { DF_Type::item_cheesest, sizeof(df::item_cheesest) }, - { DF_Type::item_clothst, sizeof(df::item_clothst) }, - { DF_Type::item_coffinst, sizeof(df::item_coffinst) }, - { DF_Type::item_coinst, sizeof(df::item_coinst) }, - { DF_Type::item_constructed, sizeof(df::item_constructed) }, - { DF_Type::item_corpsepiecest, sizeof(df::item_corpsepiecest) }, - { DF_Type::item_corpsest, sizeof(df::item_corpsest) }, - { DF_Type::item_crafted, sizeof(df::item_crafted) }, - { DF_Type::item_critter, sizeof(df::item_critter) }, - { DF_Type::item_crownst, sizeof(df::item_crownst) }, - { DF_Type::item_crutchst, sizeof(df::item_crutchst) }, - { DF_Type::item_doorst, sizeof(df::item_doorst) }, - { DF_Type::item_drinkst, sizeof(df::item_drinkst) }, - { DF_Type::item_earringst, sizeof(df::item_earringst) }, - { DF_Type::item_eggst, sizeof(df::item_eggst) }, - { DF_Type::item_eggst__T_egg_flags, sizeof(df::item_eggst::T_egg_flags) }, - { DF_Type::item_figurinest, sizeof(df::item_figurinest) }, - { DF_Type::item_filter_spec, sizeof(df::item_filter_spec) }, - { DF_Type::item_fish_rawst, sizeof(df::item_fish_rawst) }, - { DF_Type::item_fishst, sizeof(df::item_fishst) }, - { DF_Type::item_flags, sizeof(df::item_flags) }, - { DF_Type::item_flags2, sizeof(df::item_flags2) }, - { DF_Type::item_flaskst, sizeof(df::item_flaskst) }, - { DF_Type::item_floodgatest, sizeof(df::item_floodgatest) }, - { DF_Type::item_foodst, sizeof(df::item_foodst) }, - { DF_Type::item_foodst__T_ingredients, sizeof(df::item_foodst::T_ingredients) }, - { DF_Type::item_gemst, sizeof(df::item_gemst) }, - { DF_Type::item_globst, sizeof(df::item_globst) }, - { DF_Type::item_glovesst, sizeof(df::item_glovesst) }, - { DF_Type::item_gobletst, sizeof(df::item_gobletst) }, - { DF_Type::item_gratest, sizeof(df::item_gratest) }, - { DF_Type::item_hatch_coverst, sizeof(df::item_hatch_coverst) }, - { DF_Type::item_helmst, sizeof(df::item_helmst) }, - { DF_Type::item_history_info, sizeof(df::item_history_info) }, - { DF_Type::item_instrumentst, sizeof(df::item_instrumentst) }, - { DF_Type::item_kill_info, sizeof(df::item_kill_info) }, - { DF_Type::item_liquid, sizeof(df::item_liquid) }, - { DF_Type::item_liquid_miscst, sizeof(df::item_liquid_miscst) }, - { DF_Type::item_liquipowder, sizeof(df::item_liquipowder) }, - { DF_Type::item_magicness, sizeof(df::item_magicness) }, - { DF_Type::item_magicness_type, sizeof(df::enums::item_magicness_type::item_magicness_type) }, - { DF_Type::item_matstate, sizeof(df::item_matstate) }, - { DF_Type::item_meatst, sizeof(df::item_meatst) }, - { DF_Type::item_millstonest, sizeof(df::item_millstonest) }, - { DF_Type::item_orthopedic_castst, sizeof(df::item_orthopedic_castst) }, - { DF_Type::item_pantsst, sizeof(df::item_pantsst) }, - { DF_Type::item_petst, sizeof(df::item_petst) }, - { DF_Type::item_petst__T_pet_flags, sizeof(df::item_petst::T_pet_flags) }, - { DF_Type::item_pipe_sectionst, sizeof(df::item_pipe_sectionst) }, - { DF_Type::item_plant_growthst, sizeof(df::item_plant_growthst) }, - { DF_Type::item_plantst, sizeof(df::item_plantst) }, - { DF_Type::item_powder, sizeof(df::item_powder) }, - { DF_Type::item_powder_miscst, sizeof(df::item_powder_miscst) }, - { DF_Type::item_quality, sizeof(df::enums::item_quality::item_quality) }, - { DF_Type::item_quernst, sizeof(df::item_quernst) }, - { DF_Type::item_quiverst, sizeof(df::item_quiverst) }, - { DF_Type::item_remainsst, sizeof(df::item_remainsst) }, - { DF_Type::item_ringst, sizeof(df::item_ringst) }, - { DF_Type::item_rockst, sizeof(df::item_rockst) }, - { DF_Type::item_roughst, sizeof(df::item_roughst) }, - { DF_Type::item_scepterst, sizeof(df::item_scepterst) }, - { DF_Type::item_seedsst, sizeof(df::item_seedsst) }, - { DF_Type::item_sheetst, sizeof(df::item_sheetst) }, - { DF_Type::item_shieldst, sizeof(df::item_shieldst) }, - { DF_Type::item_shoesst, sizeof(df::item_shoesst) }, - { DF_Type::item_siegeammost, sizeof(df::item_siegeammost) }, - { DF_Type::item_skin_tannedst, sizeof(df::item_skin_tannedst) }, - { DF_Type::item_slabst, sizeof(df::item_slabst) }, - { DF_Type::item_smallgemst, sizeof(df::item_smallgemst) }, - { DF_Type::item_splintst, sizeof(df::item_splintst) }, - { DF_Type::item_statuest, sizeof(df::item_statuest) }, - { DF_Type::item_stockpile_ref, sizeof(df::item_stockpile_ref) }, - { DF_Type::item_tablest, sizeof(df::item_tablest) }, - { DF_Type::item_threadst, sizeof(df::item_threadst) }, - { DF_Type::item_toolst, sizeof(df::item_toolst) }, - { DF_Type::item_totemst, sizeof(df::item_totemst) }, - { DF_Type::item_toyst, sizeof(df::item_toyst) }, - { DF_Type::item_traction_benchst, sizeof(df::item_traction_benchst) }, - { DF_Type::item_trapcompst, sizeof(df::item_trapcompst) }, - { DF_Type::item_trappartsst, sizeof(df::item_trappartsst) }, - { DF_Type::item_type, sizeof(df::enums::item_type::item_type) }, - { DF_Type::item_verminst, sizeof(df::item_verminst) }, - { DF_Type::item_weaponrackst, sizeof(df::item_weaponrackst) }, - { DF_Type::item_weaponst, sizeof(df::item_weaponst) }, - { DF_Type::item_windowst, sizeof(df::item_windowst) }, - { DF_Type::item_woodst, sizeof(df::item_woodst) }, - { DF_Type::itemdef, sizeof(df::itemdef) }, - { DF_Type::itemdef_ammost, sizeof(df::itemdef_ammost) }, - { DF_Type::itemdef_armorst, sizeof(df::itemdef_armorst) }, - { DF_Type::itemdef_foodst, sizeof(df::itemdef_foodst) }, - { DF_Type::itemdef_glovesst, sizeof(df::itemdef_glovesst) }, - { DF_Type::itemdef_helmst, sizeof(df::itemdef_helmst) }, - { DF_Type::itemdef_instrumentst, sizeof(df::itemdef_instrumentst) }, - { DF_Type::itemdef_pantsst, sizeof(df::itemdef_pantsst) }, - { DF_Type::itemdef_shieldst, sizeof(df::itemdef_shieldst) }, - { DF_Type::itemdef_shoesst, sizeof(df::itemdef_shoesst) }, - { DF_Type::itemdef_siegeammost, sizeof(df::itemdef_siegeammost) }, - { DF_Type::itemdef_toolst, sizeof(df::itemdef_toolst) }, - { DF_Type::itemdef_toolst__T_default_improvements, sizeof(df::itemdef_toolst::T_default_improvements) }, - { DF_Type::itemdef_toyst, sizeof(df::itemdef_toyst) }, - { DF_Type::itemdef_trapcompst, sizeof(df::itemdef_trapcompst) }, - { DF_Type::itemdef_weaponst, sizeof(df::itemdef_weaponst) }, - { DF_Type::itemimprovement, sizeof(df::itemimprovement) }, - { DF_Type::itemimprovement_art_imagest, sizeof(df::itemimprovement_art_imagest) }, - { DF_Type::itemimprovement_bandsst, sizeof(df::itemimprovement_bandsst) }, - { DF_Type::itemimprovement_clothst, sizeof(df::itemimprovement_clothst) }, - { DF_Type::itemimprovement_coveredst, sizeof(df::itemimprovement_coveredst) }, - { DF_Type::itemimprovement_coveredst__T_cover_flags, sizeof(df::itemimprovement_coveredst::T_cover_flags) }, - { DF_Type::itemimprovement_illustrationst, sizeof(df::itemimprovement_illustrationst) }, - { DF_Type::itemimprovement_instrument_piecest, sizeof(df::itemimprovement_instrument_piecest) }, - { DF_Type::itemimprovement_itemspecificst, sizeof(df::itemimprovement_itemspecificst) }, - { DF_Type::itemimprovement_pagesst, sizeof(df::itemimprovement_pagesst) }, - { DF_Type::itemimprovement_rings_hangingst, sizeof(df::itemimprovement_rings_hangingst) }, - { DF_Type::itemimprovement_sewn_imagest, sizeof(df::itemimprovement_sewn_imagest) }, - { DF_Type::itemimprovement_sewn_imagest__T_cloth, sizeof(df::itemimprovement_sewn_imagest::T_cloth) }, - { DF_Type::itemimprovement_specific_type, sizeof(df::enums::itemimprovement_specific_type::itemimprovement_specific_type) }, - { DF_Type::itemimprovement_spikesst, sizeof(df::itemimprovement_spikesst) }, - { DF_Type::itemimprovement_threadst, sizeof(df::itemimprovement_threadst) }, - { DF_Type::itemimprovement_writingst, sizeof(df::itemimprovement_writingst) }, - { DF_Type::items_other_id, sizeof(df::enums::items_other_id::items_other_id) }, - { DF_Type::job, sizeof(df::job) }, - { DF_Type::job_art_specification, sizeof(df::job_art_specification) }, - { DF_Type::job_art_specification__T_type, sizeof(df::job_art_specification::T_type) }, - { DF_Type::job_flags, sizeof(df::job_flags) }, - { DF_Type::job_handler, sizeof(df::job_handler) }, - { DF_Type::job_handler__T_anon_1, sizeof(df::job_handler::T_anon_1) }, - { DF_Type::job_handler__T_postings, sizeof(df::job_handler::T_postings) }, - { DF_Type::job_handler__T_postings__T_flags, sizeof(df::job_handler::T_postings::T_flags) }, - { DF_Type::job_item, sizeof(df::job_item) }, - { DF_Type::job_item_filter, sizeof(df::job_item_filter) }, - { DF_Type::job_item_flags1, sizeof(df::job_item_flags1) }, - { DF_Type::job_item_flags2, sizeof(df::job_item_flags2) }, - { DF_Type::job_item_flags3, sizeof(df::job_item_flags3) }, - { DF_Type::job_item_ref, sizeof(df::job_item_ref) }, - { DF_Type::job_item_ref__T_role, sizeof(df::job_item_ref::T_role) }, - { DF_Type::job_item_vector_id, sizeof(df::enums::job_item_vector_id::job_item_vector_id) }, - { DF_Type::job_list_link, sizeof(df::job_list_link) }, - { DF_Type::job_material_category, sizeof(df::job_material_category) }, - { DF_Type::job_skill, sizeof(df::enums::job_skill::job_skill) }, - { DF_Type::job_skill_class, sizeof(df::enums::job_skill_class::job_skill_class) }, - { DF_Type::job_subtype_surgery, sizeof(df::enums::job_subtype_surgery::job_subtype_surgery) }, - { DF_Type::job_type, sizeof(df::enums::job_type::job_type) }, - { DF_Type::job_type_class, sizeof(df::enums::job_type_class::job_type_class) }, - { DF_Type::KeybindingScreen, sizeof(df::KeybindingScreen) }, - { DF_Type::KeybindingScreen__T_mode, sizeof(df::KeybindingScreen::T_mode) }, - { DF_Type::kitchen_exc_type, sizeof(df::enums::kitchen_exc_type::kitchen_exc_type) }, - { DF_Type::kitchen_pref_flag, sizeof(df::kitchen_pref_flag) }, - { DF_Type::knowledge_scholar_category_flag, sizeof(df::knowledge_scholar_category_flag) }, - { DF_Type::knowledge_scholar_category_flag__T_flags, sizeof(df::knowledge_scholar_category_flag::T_flags) }, - { DF_Type::knowledge_scholar_flags_0, sizeof(df::knowledge_scholar_flags_0) }, - { DF_Type::knowledge_scholar_flags_1, sizeof(df::knowledge_scholar_flags_1) }, - { DF_Type::knowledge_scholar_flags_10, sizeof(df::knowledge_scholar_flags_10) }, - { DF_Type::knowledge_scholar_flags_11, sizeof(df::knowledge_scholar_flags_11) }, - { DF_Type::knowledge_scholar_flags_12, sizeof(df::knowledge_scholar_flags_12) }, - { DF_Type::knowledge_scholar_flags_13, sizeof(df::knowledge_scholar_flags_13) }, - { DF_Type::knowledge_scholar_flags_2, sizeof(df::knowledge_scholar_flags_2) }, - { DF_Type::knowledge_scholar_flags_3, sizeof(df::knowledge_scholar_flags_3) }, - { DF_Type::knowledge_scholar_flags_4, sizeof(df::knowledge_scholar_flags_4) }, - { DF_Type::knowledge_scholar_flags_5, sizeof(df::knowledge_scholar_flags_5) }, - { DF_Type::knowledge_scholar_flags_6, sizeof(df::knowledge_scholar_flags_6) }, - { DF_Type::knowledge_scholar_flags_7, sizeof(df::knowledge_scholar_flags_7) }, - { DF_Type::knowledge_scholar_flags_8, sizeof(df::knowledge_scholar_flags_8) }, - { DF_Type::knowledge_scholar_flags_9, sizeof(df::knowledge_scholar_flags_9) }, - { DF_Type::language_name, sizeof(df::language_name) }, - { DF_Type::language_name_category, sizeof(df::enums::language_name_category::language_name_category) }, - { DF_Type::language_symbol, sizeof(df::language_symbol) }, - { DF_Type::language_translation, sizeof(df::language_translation) }, - { DF_Type::language_word, sizeof(df::language_word) }, - { DF_Type::language_word_flags, sizeof(df::language_word_flags) }, - { DF_Type::language_word_table, sizeof(df::language_word_table) }, - { DF_Type::large_integer, sizeof(df::large_integer) }, - { DF_Type::large_integer__T_u, sizeof(df::large_integer::T_u) }, - { DF_Type::layer_object, sizeof(df::layer_object) }, - { DF_Type::layer_object_buttonst, sizeof(df::layer_object_buttonst) }, - { DF_Type::layer_object_listst, sizeof(df::layer_object_listst) }, - { DF_Type::lever_target_type, sizeof(df::enums::lever_target_type::lever_target_type) }, - { DF_Type::loadgame_save_info, sizeof(df::loadgame_save_info) }, - { DF_Type::local_population, sizeof(df::local_population) }, - { DF_Type::local_population__T_flags, sizeof(df::local_population::T_flags) }, - { DF_Type::location_scribe_jobs, sizeof(df::location_scribe_jobs) }, - { DF_Type::machine, sizeof(df::machine) }, - { DF_Type::machine__T_components, sizeof(df::machine::T_components) }, - { DF_Type::machine__T_flags, sizeof(df::machine::T_flags) }, - { DF_Type::machine_conn_modes, sizeof(df::machine_conn_modes) }, - { DF_Type::machine_handler, sizeof(df::machine_handler) }, - { DF_Type::machine_info, sizeof(df::machine_info) }, - { DF_Type::machine_info__T_flags, sizeof(df::machine_info::T_flags) }, - { DF_Type::machine_standardst, sizeof(df::machine_standardst) }, - { DF_Type::machine_tile_set, sizeof(df::machine_tile_set) }, - { DF_Type::machine_type, sizeof(df::enums::machine_type::machine_type) }, - { DF_Type::MacroScreenLoad, sizeof(df::MacroScreenLoad) }, - { DF_Type::MacroScreenSave, sizeof(df::MacroScreenSave) }, - { DF_Type::manager_order, sizeof(df::manager_order) }, - { DF_Type::manager_order__T_frequency, sizeof(df::manager_order::T_frequency) }, - { DF_Type::manager_order_condition_item, sizeof(df::manager_order_condition_item) }, - { DF_Type::manager_order_condition_item__T_compare_type, sizeof(df::manager_order_condition_item::T_compare_type) }, - { DF_Type::manager_order_condition_order, sizeof(df::manager_order_condition_order) }, - { DF_Type::manager_order_condition_order__T_condition, sizeof(df::manager_order_condition_order::T_condition) }, - { DF_Type::manager_order_status, sizeof(df::manager_order_status) }, - { DF_Type::manager_order_template, sizeof(df::manager_order_template) }, - { DF_Type::mandate, sizeof(df::mandate) }, - { DF_Type::mandate__T_mode, sizeof(df::mandate::T_mode) }, - { DF_Type::mandate__T_punishment, sizeof(df::mandate::T_punishment) }, - { DF_Type::map_block, sizeof(df::map_block) }, - { DF_Type::map_block_column, sizeof(df::map_block_column) }, - { DF_Type::map_block_column__T_unmined_glyphs, sizeof(df::map_block_column::T_unmined_glyphs) }, - { DF_Type::map_renderer, sizeof(df::map_renderer) }, - { DF_Type::map_renderer__T_anon_4, sizeof(df::map_renderer::T_anon_4) }, - { DF_Type::map_viewport, sizeof(df::map_viewport) }, - { DF_Type::masterpiece_loss_type, sizeof(df::enums::masterpiece_loss_type::masterpiece_loss_type) }, - { DF_Type::material, sizeof(df::material) }, - { DF_Type::material_common, sizeof(df::material_common) }, - { DF_Type::material_common__T_hardens_with_water, sizeof(df::material_common::T_hardens_with_water) }, - { DF_Type::material_common__T_heat, sizeof(df::material_common::T_heat) }, - { DF_Type::material_common__T_reaction_product, sizeof(df::material_common::T_reaction_product) }, - { DF_Type::material_common__T_strength, sizeof(df::material_common::T_strength) }, - { DF_Type::material_flags, sizeof(df::enums::material_flags::material_flags) }, - { DF_Type::material_template, sizeof(df::material_template) }, - { DF_Type::material_vec_ref, sizeof(df::material_vec_ref) }, - { DF_Type::matgloss_list, sizeof(df::matgloss_list) }, - { DF_Type::matter_state, sizeof(df::enums::matter_state::matter_state) }, - { DF_Type::meeting_context, sizeof(df::meeting_context) }, - { DF_Type::meeting_diplomat_info, sizeof(df::meeting_diplomat_info) }, - { DF_Type::meeting_diplomat_info__T_flags, sizeof(df::meeting_diplomat_info::T_flags) }, - { DF_Type::meeting_event, sizeof(df::meeting_event) }, - { DF_Type::meeting_event_type, sizeof(df::enums::meeting_event_type::meeting_event_type) }, - { DF_Type::meeting_topic, sizeof(df::enums::meeting_topic::meeting_topic) }, - { DF_Type::meeting_variable, sizeof(df::meeting_variable) }, - { DF_Type::mental_attribute_type, sizeof(df::enums::mental_attribute_type::mental_attribute_type) }, - { DF_Type::mental_picture, sizeof(df::mental_picture) }, - { DF_Type::mental_picture_element_hfst, sizeof(df::mental_picture_element_hfst) }, - { DF_Type::mental_picture_element_regionst, sizeof(df::mental_picture_element_regionst) }, - { DF_Type::mental_picture_element_sitest, sizeof(df::mental_picture_element_sitest) }, - { DF_Type::mental_picture_element_type, sizeof(df::enums::mental_picture_element_type::mental_picture_element_type) }, - { DF_Type::mental_picture_elementst, sizeof(df::mental_picture_elementst) }, - { DF_Type::mental_picture_property_actionst, sizeof(df::mental_picture_property_actionst) }, - { DF_Type::mental_picture_property_adjectivest, sizeof(df::mental_picture_property_adjectivest) }, - { DF_Type::mental_picture_property_color_patternst, sizeof(df::mental_picture_property_color_patternst) }, - { DF_Type::mental_picture_property_datest, sizeof(df::mental_picture_property_datest) }, - { DF_Type::mental_picture_property_emotionst, sizeof(df::mental_picture_property_emotionst) }, - { DF_Type::mental_picture_property_positionst, sizeof(df::mental_picture_property_positionst) }, - { DF_Type::mental_picture_property_shapest, sizeof(df::mental_picture_property_shapest) }, - { DF_Type::mental_picture_property_timest, sizeof(df::mental_picture_property_timest) }, - { DF_Type::mental_picture_property_toolst, sizeof(df::mental_picture_property_toolst) }, - { DF_Type::mental_picture_property_type, sizeof(df::enums::mental_picture_property_type::mental_picture_property_type) }, - { DF_Type::mental_picture_propertyst, sizeof(df::mental_picture_propertyst) }, - { DF_Type::misc_trait_type, sizeof(df::enums::misc_trait_type::misc_trait_type) }, - { DF_Type::mission, sizeof(df::mission) }, - { DF_Type::mission__T_details, sizeof(df::mission::T_details) }, - { DF_Type::mission__T_details__T_raid, sizeof(df::mission::T_details::T_raid) }, - { DF_Type::mission__T_details__T_raid__T_raid_flags, sizeof(df::mission::T_details::T_raid::T_raid_flags) }, - { DF_Type::mission__T_details__T_raid__T_raid_type, sizeof(df::mission::T_details::T_raid::T_raid_type) }, - { DF_Type::mission__T_details__T_recovery, sizeof(df::mission::T_details::T_recovery) }, - { DF_Type::mission__T_details__T_request, sizeof(df::mission::T_details::T_request) }, - { DF_Type::mission__T_details__T_rescue, sizeof(df::mission::T_details::T_rescue) }, - { DF_Type::mission__T_type, sizeof(df::mission::T_type) }, - { DF_Type::mission_campaign_report, sizeof(df::mission_campaign_report) }, - { DF_Type::mission_report, sizeof(df::mission_report) }, - { DF_Type::mood_type, sizeof(df::enums::mood_type::mood_type) }, - { DF_Type::mountain_peak_flags, sizeof(df::enums::mountain_peak_flags::mountain_peak_flags) }, - { DF_Type::moving_party, sizeof(df::moving_party) }, - { DF_Type::moving_party__T_members, sizeof(df::moving_party::T_members) }, - { DF_Type::musical_form, sizeof(df::musical_form) }, - { DF_Type::musical_form__T_flags, sizeof(df::musical_form::T_flags) }, - { DF_Type::musical_form_feature, sizeof(df::musical_form_feature) }, - { DF_Type::musical_form_instruments, sizeof(df::musical_form_instruments) }, - { DF_Type::musical_form_instruments__T_substitutions, sizeof(df::musical_form_instruments::T_substitutions) }, - { DF_Type::musical_form_interval, sizeof(df::musical_form_interval) }, - { DF_Type::musical_form_interval__T_flags, sizeof(df::musical_form_interval::T_flags) }, - { DF_Type::musical_form_melodies, sizeof(df::musical_form_melodies) }, - { DF_Type::musical_form_pitch_style, sizeof(df::enums::musical_form_pitch_style::musical_form_pitch_style) }, - { DF_Type::musical_form_purpose, sizeof(df::enums::musical_form_purpose::musical_form_purpose) }, - { DF_Type::musical_form_style, sizeof(df::enums::musical_form_style::musical_form_style) }, - { DF_Type::musical_form_sub4, sizeof(df::musical_form_sub4) }, - { DF_Type::musical_form_vocals, sizeof(df::musical_form_vocals) }, - { DF_Type::need_type, sizeof(df::enums::need_type::need_type) }, - { DF_Type::nemesis_flags, sizeof(df::enums::nemesis_flags::nemesis_flags) }, - { DF_Type::nemesis_offload, sizeof(df::nemesis_offload) }, - { DF_Type::nemesis_record, sizeof(df::nemesis_record) }, - { DF_Type::occasion_schedule_feature, sizeof(df::enums::occasion_schedule_feature::occasion_schedule_feature) }, - { DF_Type::occasion_schedule_type, sizeof(df::enums::occasion_schedule_type::occasion_schedule_type) }, - { DF_Type::occupation, sizeof(df::occupation) }, - { DF_Type::occupation_sub1, sizeof(df::occupation_sub1) }, - { DF_Type::occupation_type, sizeof(df::enums::occupation_type::occupation_type) }, - { DF_Type::ocean_wave, sizeof(df::ocean_wave) }, - { DF_Type::organic_mat_category, sizeof(df::enums::organic_mat_category::organic_mat_category) }, - { DF_Type::orientation_flags, sizeof(df::orientation_flags) }, - { DF_Type::pants_flags, sizeof(df::enums::pants_flags::pants_flags) }, - { DF_Type::part_of_speech, sizeof(df::enums::part_of_speech::part_of_speech) }, - { DF_Type::party_info, sizeof(df::party_info) }, - { DF_Type::pattern_type, sizeof(df::enums::pattern_type::pattern_type) }, - { DF_Type::performance_event_type, sizeof(df::enums::performance_event_type::performance_event_type) }, - { DF_Type::performance_participant_type, sizeof(df::enums::performance_participant_type::performance_participant_type) }, - { DF_Type::performance_play_orderst, sizeof(df::performance_play_orderst) }, - { DF_Type::performance_play_orderst__T_anon_4, sizeof(df::performance_play_orderst::T_anon_4) }, - { DF_Type::personality_facet_type, sizeof(df::enums::personality_facet_type::personality_facet_type) }, - { DF_Type::physical_attribute_type, sizeof(df::enums::physical_attribute_type::physical_attribute_type) }, - { DF_Type::pitch_choice_type, sizeof(df::enums::pitch_choice_type::pitch_choice_type) }, - { DF_Type::plant, sizeof(df::plant) }, - { DF_Type::plant__T_damage_flags, sizeof(df::plant::T_damage_flags) }, - { DF_Type::plant_flags, sizeof(df::plant_flags) }, - { DF_Type::plant_growth, sizeof(df::plant_growth) }, - { DF_Type::plant_growth__T_behavior, sizeof(df::plant_growth::T_behavior) }, - { DF_Type::plant_growth__T_locations, sizeof(df::plant_growth::T_locations) }, - { DF_Type::plant_growth_print, sizeof(df::plant_growth_print) }, - { DF_Type::plant_raw, sizeof(df::plant_raw) }, - { DF_Type::plant_raw__T_colors, sizeof(df::plant_raw::T_colors) }, - { DF_Type::plant_raw__T_material_defs, sizeof(df::plant_raw::T_material_defs) }, - { DF_Type::plant_raw__T_stockpile_growth_flags, sizeof(df::plant_raw::T_stockpile_growth_flags) }, - { DF_Type::plant_raw__T_tiles, sizeof(df::plant_raw::T_tiles) }, - { DF_Type::plant_raw_flags, sizeof(df::enums::plant_raw_flags::plant_raw_flags) }, - { DF_Type::plant_tree_info, sizeof(df::plant_tree_info) }, - { DF_Type::plant_tree_tile, sizeof(df::plant_tree_tile) }, - { DF_Type::poetic_form, sizeof(df::poetic_form) }, - { DF_Type::poetic_form__T_flags, sizeof(df::poetic_form::T_flags) }, - { DF_Type::poetic_form_action, sizeof(df::enums::poetic_form_action::poetic_form_action) }, - { DF_Type::poetic_form_additional_feature, sizeof(df::enums::poetic_form_additional_feature::poetic_form_additional_feature) }, - { DF_Type::poetic_form_caesura_position, sizeof(df::enums::poetic_form_caesura_position::poetic_form_caesura_position) }, - { DF_Type::poetic_form_feature, sizeof(df::poetic_form_feature) }, - { DF_Type::poetic_form_mood, sizeof(df::enums::poetic_form_mood::poetic_form_mood) }, - { DF_Type::poetic_form_part, sizeof(df::poetic_form_part) }, - { DF_Type::poetic_form_part__T_flags, sizeof(df::poetic_form_part::T_flags) }, - { DF_Type::poetic_form_part__T_line_subject_targets, sizeof(df::poetic_form_part::T_line_subject_targets) }, - { DF_Type::poetic_form_pattern, sizeof(df::enums::poetic_form_pattern::poetic_form_pattern) }, - { DF_Type::poetic_form_perspective, sizeof(df::poetic_form_perspective) }, - { DF_Type::poetic_form_perspective__T_type, sizeof(df::poetic_form_perspective::T_type) }, - { DF_Type::poetic_form_subject, sizeof(df::enums::poetic_form_subject::poetic_form_subject) }, - { DF_Type::popup_message, sizeof(df::popup_message) }, - { DF_Type::power_info, sizeof(df::power_info) }, - { DF_Type::pressure_plate_info, sizeof(df::pressure_plate_info) }, - { DF_Type::pressure_plate_info__T_flags, sizeof(df::pressure_plate_info::T_flags) }, - { DF_Type::profession, sizeof(df::enums::profession::profession) }, - { DF_Type::proj_itemst, sizeof(df::proj_itemst) }, - { DF_Type::proj_list_link, sizeof(df::proj_list_link) }, - { DF_Type::proj_magicst, sizeof(df::proj_magicst) }, - { DF_Type::proj_unitst, sizeof(df::proj_unitst) }, - { DF_Type::projectile, sizeof(df::projectile) }, - { DF_Type::projectile_flags, sizeof(df::projectile_flags) }, - { DF_Type::projectile_type, sizeof(df::enums::projectile_type::projectile_type) }, - { DF_Type::punishment, sizeof(df::punishment) }, - { DF_Type::reaction, sizeof(df::reaction) }, - { DF_Type::reaction__T_building, sizeof(df::reaction::T_building) }, - { DF_Type::reaction_category, sizeof(df::reaction_category) }, - { DF_Type::reaction_description, sizeof(df::reaction_description) }, - { DF_Type::reaction_flags, sizeof(df::enums::reaction_flags::reaction_flags) }, - { DF_Type::reaction_product, sizeof(df::reaction_product) }, - { DF_Type::reaction_product_improvement_flags, sizeof(df::enums::reaction_product_improvement_flags::reaction_product_improvement_flags) }, - { DF_Type::reaction_product_item_flags, sizeof(df::enums::reaction_product_item_flags::reaction_product_item_flags) }, - { DF_Type::reaction_product_item_improvementst, sizeof(df::reaction_product_item_improvementst) }, - { DF_Type::reaction_product_item_improvementst__T_get_material, sizeof(df::reaction_product_item_improvementst::T_get_material) }, - { DF_Type::reaction_product_itemst, sizeof(df::reaction_product_itemst) }, - { DF_Type::reaction_product_itemst__T_get_material, sizeof(df::reaction_product_itemst::T_get_material) }, - { DF_Type::reaction_product_type, sizeof(df::enums::reaction_product_type::reaction_product_type) }, - { DF_Type::reaction_reagent, sizeof(df::reaction_reagent) }, - { DF_Type::reaction_reagent_flags, sizeof(df::reaction_reagent_flags) }, - { DF_Type::reaction_reagent_itemst, sizeof(df::reaction_reagent_itemst) }, - { DF_Type::reaction_reagent_type, sizeof(df::enums::reaction_reagent_type::reaction_reagent_type) }, - { DF_Type::region_block_event_sphere_fieldst, sizeof(df::region_block_event_sphere_fieldst) }, - { DF_Type::region_block_event_type, sizeof(df::enums::region_block_event_type::region_block_event_type) }, - { DF_Type::region_block_eventst, sizeof(df::region_block_eventst) }, - { DF_Type::region_map_entry, sizeof(df::region_map_entry) }, - { DF_Type::region_map_entry__T_clouds, sizeof(df::region_map_entry::T_clouds) }, - { DF_Type::region_map_entry__T_wind, sizeof(df::region_map_entry::T_wind) }, - { DF_Type::region_map_entry_flags, sizeof(df::enums::region_map_entry_flags::region_map_entry_flags) }, - { DF_Type::renderer, sizeof(df::renderer) }, - { DF_Type::report, sizeof(df::report) }, - { DF_Type::report__T_flags, sizeof(df::report::T_flags) }, - { DF_Type::reputation_type, sizeof(df::enums::reputation_type::reputation_type) }, - { DF_Type::resource_allotment_data, sizeof(df::resource_allotment_data) }, - { DF_Type::resource_allotment_data__T_unk_654, sizeof(df::resource_allotment_data::T_unk_654) }, - { DF_Type::resource_allotment_specifier, sizeof(df::resource_allotment_specifier) }, - { DF_Type::resource_allotment_specifier_ammost, sizeof(df::resource_allotment_specifier_ammost) }, - { DF_Type::resource_allotment_specifier_anvilst, sizeof(df::resource_allotment_specifier_anvilst) }, - { DF_Type::resource_allotment_specifier_armor_bodyst, sizeof(df::resource_allotment_specifier_armor_bodyst) }, - { DF_Type::resource_allotment_specifier_armor_bootsst, sizeof(df::resource_allotment_specifier_armor_bootsst) }, - { DF_Type::resource_allotment_specifier_armor_glovesst, sizeof(df::resource_allotment_specifier_armor_glovesst) }, - { DF_Type::resource_allotment_specifier_armor_helmst, sizeof(df::resource_allotment_specifier_armor_helmst) }, - { DF_Type::resource_allotment_specifier_armor_pantsst, sizeof(df::resource_allotment_specifier_armor_pantsst) }, - { DF_Type::resource_allotment_specifier_backpackst, sizeof(df::resource_allotment_specifier_backpackst) }, - { DF_Type::resource_allotment_specifier_bagst, sizeof(df::resource_allotment_specifier_bagst) }, - { DF_Type::resource_allotment_specifier_bedst, sizeof(df::resource_allotment_specifier_bedst) }, - { DF_Type::resource_allotment_specifier_bonest, sizeof(df::resource_allotment_specifier_bonest) }, - { DF_Type::resource_allotment_specifier_boxst, sizeof(df::resource_allotment_specifier_boxst) }, - { DF_Type::resource_allotment_specifier_cabinetst, sizeof(df::resource_allotment_specifier_cabinetst) }, - { DF_Type::resource_allotment_specifier_chairst, sizeof(df::resource_allotment_specifier_chairst) }, - { DF_Type::resource_allotment_specifier_cheesest, sizeof(df::resource_allotment_specifier_cheesest) }, - { DF_Type::resource_allotment_specifier_clothing_bodyst, sizeof(df::resource_allotment_specifier_clothing_bodyst) }, - { DF_Type::resource_allotment_specifier_clothing_bootsst, sizeof(df::resource_allotment_specifier_clothing_bootsst) }, - { DF_Type::resource_allotment_specifier_clothing_glovesst, sizeof(df::resource_allotment_specifier_clothing_glovesst) }, - { DF_Type::resource_allotment_specifier_clothing_helmst, sizeof(df::resource_allotment_specifier_clothing_helmst) }, - { DF_Type::resource_allotment_specifier_clothing_pantsst, sizeof(df::resource_allotment_specifier_clothing_pantsst) }, - { DF_Type::resource_allotment_specifier_clothst, sizeof(df::resource_allotment_specifier_clothst) }, - { DF_Type::resource_allotment_specifier_craftsst, sizeof(df::resource_allotment_specifier_craftsst) }, - { DF_Type::resource_allotment_specifier_cropst, sizeof(df::resource_allotment_specifier_cropst) }, - { DF_Type::resource_allotment_specifier_extractst, sizeof(df::resource_allotment_specifier_extractst) }, - { DF_Type::resource_allotment_specifier_flaskst, sizeof(df::resource_allotment_specifier_flaskst) }, - { DF_Type::resource_allotment_specifier_gemsst, sizeof(df::resource_allotment_specifier_gemsst) }, - { DF_Type::resource_allotment_specifier_hornst, sizeof(df::resource_allotment_specifier_hornst) }, - { DF_Type::resource_allotment_specifier_leatherst, sizeof(df::resource_allotment_specifier_leatherst) }, - { DF_Type::resource_allotment_specifier_meatst, sizeof(df::resource_allotment_specifier_meatst) }, - { DF_Type::resource_allotment_specifier_metalst, sizeof(df::resource_allotment_specifier_metalst) }, - { DF_Type::resource_allotment_specifier_pearlst, sizeof(df::resource_allotment_specifier_pearlst) }, - { DF_Type::resource_allotment_specifier_powderst, sizeof(df::resource_allotment_specifier_powderst) }, - { DF_Type::resource_allotment_specifier_quiverst, sizeof(df::resource_allotment_specifier_quiverst) }, - { DF_Type::resource_allotment_specifier_shellst, sizeof(df::resource_allotment_specifier_shellst) }, - { DF_Type::resource_allotment_specifier_skinst, sizeof(df::resource_allotment_specifier_skinst) }, - { DF_Type::resource_allotment_specifier_soapst, sizeof(df::resource_allotment_specifier_soapst) }, - { DF_Type::resource_allotment_specifier_stonest, sizeof(df::resource_allotment_specifier_stonest) }, - { DF_Type::resource_allotment_specifier_tablest, sizeof(df::resource_allotment_specifier_tablest) }, - { DF_Type::resource_allotment_specifier_tallowst, sizeof(df::resource_allotment_specifier_tallowst) }, - { DF_Type::resource_allotment_specifier_threadst, sizeof(df::resource_allotment_specifier_threadst) }, - { DF_Type::resource_allotment_specifier_toothst, sizeof(df::resource_allotment_specifier_toothst) }, - { DF_Type::resource_allotment_specifier_type, sizeof(df::enums::resource_allotment_specifier_type::resource_allotment_specifier_type) }, - { DF_Type::resource_allotment_specifier_weapon_meleest, sizeof(df::resource_allotment_specifier_weapon_meleest) }, - { DF_Type::resource_allotment_specifier_weapon_rangedst, sizeof(df::resource_allotment_specifier_weapon_rangedst) }, - { DF_Type::resource_allotment_specifier_woodst, sizeof(df::resource_allotment_specifier_woodst) }, - { DF_Type::rhythm, sizeof(df::rhythm) }, - { DF_Type::rhythm_sub1, sizeof(df::rhythm_sub1) }, - { DF_Type::rhythm_sub1__T_anon_1, sizeof(df::rhythm_sub1::T_anon_1) }, - { DF_Type::rhythm_sub2, sizeof(df::rhythm_sub2) }, - { DF_Type::room_rent_info, sizeof(df::room_rent_info) }, - { DF_Type::room_rent_info__T_flags, sizeof(df::room_rent_info::T_flags) }, - { DF_Type::route_stockpile_link, sizeof(df::route_stockpile_link) }, - { DF_Type::route_stockpile_link__T_mode, sizeof(df::route_stockpile_link::T_mode) }, - { DF_Type::scale, sizeof(df::scale) }, - { DF_Type::scale__T_unk1, sizeof(df::scale::T_unk1) }, - { DF_Type::scale_sub1, sizeof(df::scale_sub1) }, - { DF_Type::scale_sub2, sizeof(df::scale_sub2) }, - { DF_Type::schedule_info, sizeof(df::schedule_info) }, - { DF_Type::schedule_slot, sizeof(df::schedule_slot) }, - { DF_Type::screw_pump_direction, sizeof(df::enums::screw_pump_direction::screw_pump_direction) }, - { DF_Type::scribejob, sizeof(df::scribejob) }, - { DF_Type::script_step_conditionalst, sizeof(df::script_step_conditionalst) }, - { DF_Type::script_step_conditionalst__T_condition, sizeof(df::script_step_conditionalst::T_condition) }, - { DF_Type::script_step_constructtopiclistst, sizeof(df::script_step_constructtopiclistst) }, - { DF_Type::script_step_dipeventst, sizeof(df::script_step_dipeventst) }, - { DF_Type::script_step_diphistoryst, sizeof(df::script_step_diphistoryst) }, - { DF_Type::script_step_discussst, sizeof(df::script_step_discussst) }, - { DF_Type::script_step_eventst, sizeof(df::script_step_eventst) }, - { DF_Type::script_step_invasionst, sizeof(df::script_step_invasionst) }, - { DF_Type::script_step_setvarst, sizeof(df::script_step_setvarst) }, - { DF_Type::script_step_simpleactionst, sizeof(df::script_step_simpleactionst) }, - { DF_Type::script_step_textviewerst, sizeof(df::script_step_textviewerst) }, - { DF_Type::script_step_topicdiscussionst, sizeof(df::script_step_topicdiscussionst) }, - { DF_Type::script_stepst, sizeof(df::script_stepst) }, - { DF_Type::script_var_longst, sizeof(df::script_var_longst) }, - { DF_Type::script_var_unitst, sizeof(df::script_var_unitst) }, - { DF_Type::script_varst, sizeof(df::script_varst) }, - { DF_Type::setup_character_info, sizeof(df::setup_character_info) }, - { DF_Type::setup_character_info__T_status, sizeof(df::setup_character_info::T_status) }, - { DF_Type::shoes_flags, sizeof(df::enums::shoes_flags::shoes_flags) }, - { DF_Type::shop_type, sizeof(df::enums::shop_type::shop_type) }, - { DF_Type::siegeengine_type, sizeof(df::enums::siegeengine_type::siegeengine_type) }, - { DF_Type::site_building_item, sizeof(df::site_building_item) }, - { DF_Type::site_dispute_type, sizeof(df::enums::site_dispute_type::site_dispute_type) }, - { DF_Type::site_realization_building, sizeof(df::site_realization_building) }, - { DF_Type::site_realization_building__T_unk_4c, sizeof(df::site_realization_building::T_unk_4c) }, - { DF_Type::site_realization_building_info_castle_courtyardst, sizeof(df::site_realization_building_info_castle_courtyardst) }, - { DF_Type::site_realization_building_info_castle_towerst, sizeof(df::site_realization_building_info_castle_towerst) }, - { DF_Type::site_realization_building_info_castle_wallst, sizeof(df::site_realization_building_info_castle_wallst) }, - { DF_Type::site_realization_building_info_hillock_housest, sizeof(df::site_realization_building_info_hillock_housest) }, - { DF_Type::site_realization_building_info_market_squarest, sizeof(df::site_realization_building_info_market_squarest) }, - { DF_Type::site_realization_building_info_shop_housest, sizeof(df::site_realization_building_info_shop_housest) }, - { DF_Type::site_realization_building_info_tree_housest, sizeof(df::site_realization_building_info_tree_housest) }, - { DF_Type::site_realization_building_info_trenchesst, sizeof(df::site_realization_building_info_trenchesst) }, - { DF_Type::site_realization_building_info_trenchesst__T_spokes, sizeof(df::site_realization_building_info_trenchesst::T_spokes) }, - { DF_Type::site_realization_building_infost, sizeof(df::site_realization_building_infost) }, - { DF_Type::site_realization_building_type, sizeof(df::enums::site_realization_building_type::site_realization_building_type) }, - { DF_Type::site_realization_crossroads, sizeof(df::site_realization_crossroads) }, - { DF_Type::site_reputation_info, sizeof(df::site_reputation_info) }, - { DF_Type::site_reputation_report, sizeof(df::site_reputation_report) }, - { DF_Type::site_shop_type, sizeof(df::enums::site_shop_type::site_shop_type) }, - { DF_Type::site_type, sizeof(df::enums::site_type::site_type) }, - { DF_Type::skill_rating, sizeof(df::enums::skill_rating::skill_rating) }, - { DF_Type::slab_engraving_type, sizeof(df::enums::slab_engraving_type::slab_engraving_type) }, - { DF_Type::sound_production_type, sizeof(df::enums::sound_production_type::sound_production_type) }, - { DF_Type::spatter, sizeof(df::spatter) }, - { DF_Type::spatter__T_flags, sizeof(df::spatter::T_flags) }, - { DF_Type::spatter_common, sizeof(df::spatter_common) }, - { DF_Type::spatter_common__T_base_flags, sizeof(df::spatter_common::T_base_flags) }, - { DF_Type::special_mat_table, sizeof(df::special_mat_table) }, - { DF_Type::specific_ref, sizeof(df::specific_ref) }, - { DF_Type::specific_ref__T_arg2, sizeof(df::specific_ref::T_arg2) }, - { DF_Type::specific_ref_type, sizeof(df::enums::specific_ref_type::specific_ref_type) }, - { DF_Type::sphere_type, sizeof(df::enums::sphere_type::sphere_type) }, - { DF_Type::spoils_report, sizeof(df::spoils_report) }, - { DF_Type::squad, sizeof(df::squad) }, - { DF_Type::squad__T_rooms, sizeof(df::squad::T_rooms) }, - { DF_Type::squad_ammo_spec, sizeof(df::squad_ammo_spec) }, - { DF_Type::squad_ammo_spec__T_flags, sizeof(df::squad_ammo_spec::T_flags) }, - { DF_Type::squad_event_type, sizeof(df::enums::squad_event_type::squad_event_type) }, - { DF_Type::squad_order, sizeof(df::squad_order) }, - { DF_Type::squad_order_cannot_reason, sizeof(df::enums::squad_order_cannot_reason::squad_order_cannot_reason) }, - { DF_Type::squad_order_cause_trouble_for_entityst, sizeof(df::squad_order_cause_trouble_for_entityst) }, - { DF_Type::squad_order_defend_burrowsst, sizeof(df::squad_order_defend_burrowsst) }, - { DF_Type::squad_order_drive_armies_from_sitest, sizeof(df::squad_order_drive_armies_from_sitest) }, - { DF_Type::squad_order_drive_entity_off_sitest, sizeof(df::squad_order_drive_entity_off_sitest) }, - { DF_Type::squad_order_kill_hfst, sizeof(df::squad_order_kill_hfst) }, - { DF_Type::squad_order_kill_listst, sizeof(df::squad_order_kill_listst) }, - { DF_Type::squad_order_movest, sizeof(df::squad_order_movest) }, - { DF_Type::squad_order_patrol_routest, sizeof(df::squad_order_patrol_routest) }, - { DF_Type::squad_order_raid_sitest, sizeof(df::squad_order_raid_sitest) }, - { DF_Type::squad_order_rescue_hfst, sizeof(df::squad_order_rescue_hfst) }, - { DF_Type::squad_order_retrieve_artifactst, sizeof(df::squad_order_retrieve_artifactst) }, - { DF_Type::squad_order_trainst, sizeof(df::squad_order_trainst) }, - { DF_Type::squad_order_type, sizeof(df::enums::squad_order_type::squad_order_type) }, - { DF_Type::squad_position, sizeof(df::squad_position) }, - { DF_Type::squad_schedule_entry, sizeof(df::squad_schedule_entry) }, - { DF_Type::squad_schedule_order, sizeof(df::squad_schedule_order) }, - { DF_Type::squad_uniform_spec, sizeof(df::squad_uniform_spec) }, - { DF_Type::squad_use_flags, sizeof(df::squad_use_flags) }, - { DF_Type::stockpile_category, sizeof(df::enums::stockpile_category::stockpile_category) }, - { DF_Type::stockpile_group_set, sizeof(df::stockpile_group_set) }, - { DF_Type::stockpile_links, sizeof(df::stockpile_links) }, - { DF_Type::stockpile_list, sizeof(df::enums::stockpile_list::stockpile_list) }, - { DF_Type::stockpile_settings, sizeof(df::stockpile_settings) }, - { DF_Type::stockpile_settings__T_ammo, sizeof(df::stockpile_settings::T_ammo) }, - { DF_Type::stockpile_settings__T_animals, sizeof(df::stockpile_settings::T_animals) }, - { DF_Type::stockpile_settings__T_armor, sizeof(df::stockpile_settings::T_armor) }, - { DF_Type::stockpile_settings__T_bars_blocks, sizeof(df::stockpile_settings::T_bars_blocks) }, - { DF_Type::stockpile_settings__T_cloth, sizeof(df::stockpile_settings::T_cloth) }, - { DF_Type::stockpile_settings__T_coins, sizeof(df::stockpile_settings::T_coins) }, - { DF_Type::stockpile_settings__T_finished_goods, sizeof(df::stockpile_settings::T_finished_goods) }, - { DF_Type::stockpile_settings__T_food, sizeof(df::stockpile_settings::T_food) }, - { DF_Type::stockpile_settings__T_furniture, sizeof(df::stockpile_settings::T_furniture) }, - { DF_Type::stockpile_settings__T_gems, sizeof(df::stockpile_settings::T_gems) }, - { DF_Type::stockpile_settings__T_leather, sizeof(df::stockpile_settings::T_leather) }, - { DF_Type::stockpile_settings__T_ore, sizeof(df::stockpile_settings::T_ore) }, - { DF_Type::stockpile_settings__T_refuse, sizeof(df::stockpile_settings::T_refuse) }, - { DF_Type::stockpile_settings__T_sheet, sizeof(df::stockpile_settings::T_sheet) }, - { DF_Type::stockpile_settings__T_stone, sizeof(df::stockpile_settings::T_stone) }, - { DF_Type::stockpile_settings__T_weapons, sizeof(df::stockpile_settings::T_weapons) }, - { DF_Type::stockpile_settings__T_wood, sizeof(df::stockpile_settings::T_wood) }, - { DF_Type::stop_depart_condition, sizeof(df::stop_depart_condition) }, - { DF_Type::stop_depart_condition__T_direction, sizeof(df::stop_depart_condition::T_direction) }, - { DF_Type::stop_depart_condition__T_flags, sizeof(df::stop_depart_condition::T_flags) }, - { DF_Type::stop_depart_condition__T_mode, sizeof(df::stop_depart_condition::T_mode) }, - { DF_Type::strain_type, sizeof(df::enums::strain_type::strain_type) }, - { DF_Type::stratus_type, sizeof(df::enums::stratus_type::stratus_type) }, - { DF_Type::syndrome, sizeof(df::syndrome) }, - { DF_Type::syndrome_flags, sizeof(df::syndrome_flags) }, - { DF_Type::T_cursor, sizeof(df::global::T_cursor) }, - { DF_Type::T_selection_rect, sizeof(df::global::T_selection_rect) }, - { DF_Type::tactical_situation, sizeof(df::enums::tactical_situation::tactical_situation) }, - { DF_Type::talk_choice, sizeof(df::talk_choice) }, - { DF_Type::talk_choice__T_unk, sizeof(df::talk_choice::T_unk) }, - { DF_Type::talk_choice_type, sizeof(df::enums::talk_choice_type::talk_choice_type) }, - { DF_Type::temperaturest, sizeof(df::temperaturest) }, - { DF_Type::text_info_element_longst, sizeof(df::text_info_element_longst) }, - { DF_Type::text_info_element_stringst, sizeof(df::text_info_element_stringst) }, - { DF_Type::text_info_elementst, sizeof(df::text_info_elementst) }, - { DF_Type::texture_handler, sizeof(df::texture_handler) }, - { DF_Type::tile_bitmask, sizeof(df::tile_bitmask) }, - { DF_Type::tile_building_occ, sizeof(df::enums::tile_building_occ::tile_building_occ) }, - { DF_Type::tile_designation, sizeof(df::tile_designation) }, - { DF_Type::tile_dig_designation, sizeof(df::enums::tile_dig_designation::tile_dig_designation) }, - { DF_Type::tile_liquid, sizeof(df::enums::tile_liquid::tile_liquid) }, - { DF_Type::tile_liquid_flow, sizeof(df::tile_liquid_flow) }, - { DF_Type::tile_liquid_flow_dir, sizeof(df::enums::tile_liquid_flow_dir::tile_liquid_flow_dir) }, - { DF_Type::tile_occupancy, sizeof(df::tile_occupancy) }, - { DF_Type::tile_page, sizeof(df::tile_page) }, - { DF_Type::tile_traffic, sizeof(df::enums::tile_traffic::tile_traffic) }, - { DF_Type::tiletype, sizeof(df::enums::tiletype::tiletype) }, - { DF_Type::tiletype_material, sizeof(df::enums::tiletype_material::tiletype_material) }, - { DF_Type::tiletype_shape, sizeof(df::enums::tiletype_shape::tiletype_shape) }, - { DF_Type::tiletype_shape_basic, sizeof(df::enums::tiletype_shape_basic::tiletype_shape_basic) }, - { DF_Type::tiletype_special, sizeof(df::enums::tiletype_special::tiletype_special) }, - { DF_Type::tiletype_variant, sizeof(df::enums::tiletype_variant::tiletype_variant) }, - { DF_Type::timbre_type, sizeof(df::enums::timbre_type::timbre_type) }, - { DF_Type::timed_event, sizeof(df::timed_event) }, - { DF_Type::timed_event_type, sizeof(df::enums::timed_event_type::timed_event_type) }, - { DF_Type::tissue, sizeof(df::tissue) }, - { DF_Type::tissue_flags, sizeof(df::enums::tissue_flags::tissue_flags) }, - { DF_Type::tissue_style_raw, sizeof(df::tissue_style_raw) }, - { DF_Type::tissue_style_type, sizeof(df::enums::tissue_style_type::tissue_style_type) }, - { DF_Type::tissue_template, sizeof(df::tissue_template) }, - { DF_Type::tool_flags, sizeof(df::enums::tool_flags::tool_flags) }, - { DF_Type::tool_uses, sizeof(df::enums::tool_uses::tool_uses) }, - { DF_Type::tower_shape, sizeof(df::tower_shape) }, - { DF_Type::toy_flags, sizeof(df::enums::toy_flags::toy_flags) }, - { DF_Type::training_assignment, sizeof(df::training_assignment) }, - { DF_Type::training_assignment__T_flags, sizeof(df::training_assignment::T_flags) }, - { DF_Type::training_knowledge_level, sizeof(df::enums::training_knowledge_level::training_knowledge_level) }, - { DF_Type::trap_type, sizeof(df::enums::trap_type::trap_type) }, - { DF_Type::trapcomp_flags, sizeof(df::enums::trapcomp_flags::trapcomp_flags) }, - { DF_Type::tree_house_type, sizeof(df::enums::tree_house_type::tree_house_type) }, - { DF_Type::tuning_type, sizeof(df::enums::tuning_type::tuning_type) }, - { DF_Type::ui, sizeof(df::ui) }, - { DF_Type::ui__T_alerts, sizeof(df::ui::T_alerts) }, - { DF_Type::ui__T_alerts__T_list, sizeof(df::ui::T_alerts::T_list) }, - { DF_Type::ui__T_becoming_capital, sizeof(df::ui::T_becoming_capital) }, - { DF_Type::ui__T_burrows, sizeof(df::ui::T_burrows) }, - { DF_Type::ui__T_economy_prices, sizeof(df::ui::T_economy_prices) }, - { DF_Type::ui__T_economy_prices__T_price_adjustment, sizeof(df::ui::T_economy_prices::T_price_adjustment) }, - { DF_Type::ui__T_economy_prices__T_price_setter, sizeof(df::ui::T_economy_prices::T_price_setter) }, - { DF_Type::ui__T_equipment, sizeof(df::ui::T_equipment) }, - { DF_Type::ui__T_equipment__T_update, sizeof(df::ui::T_equipment::T_update) }, - { DF_Type::ui__T_hauling, sizeof(df::ui::T_hauling) }, - { DF_Type::ui__T_invasions, sizeof(df::ui::T_invasions) }, - { DF_Type::ui__T_kitchen, sizeof(df::ui::T_kitchen) }, - { DF_Type::ui__T_main, sizeof(df::ui::T_main) }, - { DF_Type::ui__T_main__T_dead_citizens, sizeof(df::ui::T_main::T_dead_citizens) }, - { DF_Type::ui__T_map_edge, sizeof(df::ui::T_map_edge) }, - { DF_Type::ui__T_squads, sizeof(df::ui::T_squads) }, - { DF_Type::ui__T_stockpile, sizeof(df::ui::T_stockpile) }, - { DF_Type::ui__T_tax_collection, sizeof(df::ui::T_tax_collection) }, - { DF_Type::ui__T_unk23c8_flags, sizeof(df::ui::T_unk23c8_flags) }, - { DF_Type::ui__T_unk2a8c, sizeof(df::ui::T_unk2a8c) }, - { DF_Type::ui__T_waypoints, sizeof(df::ui::T_waypoints) }, - { DF_Type::ui__T_waypoints__T_points, sizeof(df::ui::T_waypoints::T_points) }, - { DF_Type::ui__T_waypoints__T_routes, sizeof(df::ui::T_waypoints::T_routes) }, - { DF_Type::ui_advmode, sizeof(df::ui_advmode) }, - { DF_Type::ui_advmode__T_assume_identity, sizeof(df::ui_advmode::T_assume_identity) }, - { DF_Type::ui_advmode__T_companions, sizeof(df::ui_advmode::T_companions) }, - { DF_Type::ui_advmode__T_conversation, sizeof(df::ui_advmode::T_conversation) }, - { DF_Type::ui_advmode__T_conversation__T_choices, sizeof(df::ui_advmode::T_conversation::T_choices) }, - { DF_Type::ui_advmode__T_conversation__T_targets, sizeof(df::ui_advmode::T_conversation::T_targets) }, - { DF_Type::ui_advmode__T_conversation__T_targets__T_type, sizeof(df::ui_advmode::T_conversation::T_targets::T_type) }, - { DF_Type::ui_advmode__T_interactions, sizeof(df::ui_advmode::T_interactions) }, - { DF_Type::ui_advmode__T_show_menu, sizeof(df::ui_advmode::T_show_menu) }, - { DF_Type::ui_advmode__T_travel_right_map, sizeof(df::ui_advmode::T_travel_right_map) }, - { DF_Type::ui_advmode__T_unk_3124, sizeof(df::ui_advmode::T_unk_3124) }, - { DF_Type::ui_advmode__T_unk_3170, sizeof(df::ui_advmode::T_unk_3170) }, - { DF_Type::ui_advmode__T_unk_3170__T_unk_2, sizeof(df::ui_advmode::T_unk_3170::T_unk_2) }, - { DF_Type::ui_advmode__T_unk_v40_1, sizeof(df::ui_advmode::T_unk_v40_1) }, - { DF_Type::ui_advmode__T_unk_v40_2, sizeof(df::ui_advmode::T_unk_v40_2) }, - { DF_Type::ui_advmode__T_unk_v40_3, sizeof(df::ui_advmode::T_unk_v40_3) }, - { DF_Type::ui_advmode__T_unk_v40_4, sizeof(df::ui_advmode::T_unk_v40_4) }, - { DF_Type::ui_advmode__T_unk_v40_4__T_unk_v40_4a, sizeof(df::ui_advmode::T_unk_v40_4::T_unk_v40_4a) }, - { DF_Type::ui_advmode__T_unk_v40_5, sizeof(df::ui_advmode::T_unk_v40_5) }, - { DF_Type::ui_advmode__T_unk_v42_1, sizeof(df::ui_advmode::T_unk_v42_1) }, - { DF_Type::ui_advmode_menu, sizeof(df::enums::ui_advmode_menu::ui_advmode_menu) }, - { DF_Type::ui_build_item_req, sizeof(df::ui_build_item_req) }, - { DF_Type::ui_build_selector, sizeof(df::ui_build_selector) }, - { DF_Type::ui_hotkey, sizeof(df::ui_hotkey) }, - { DF_Type::ui_hotkey__T_cmd, sizeof(df::ui_hotkey::T_cmd) }, - { DF_Type::ui_look_list, sizeof(df::ui_look_list) }, - { DF_Type::ui_look_list__T_items, sizeof(df::ui_look_list::T_items) }, - { DF_Type::ui_look_list__T_items__T_type, sizeof(df::ui_look_list::T_items::T_type) }, - { DF_Type::ui_sidebar_menus, sizeof(df::ui_sidebar_menus) }, - { DF_Type::ui_sidebar_menus__T_barracks, sizeof(df::ui_sidebar_menus::T_barracks) }, - { DF_Type::ui_sidebar_menus__T_building, sizeof(df::ui_sidebar_menus::T_building) }, - { DF_Type::ui_sidebar_menus__T_command_line, sizeof(df::ui_sidebar_menus::T_command_line) }, - { DF_Type::ui_sidebar_menus__T_designation, sizeof(df::ui_sidebar_menus::T_designation) }, - { DF_Type::ui_sidebar_menus__T_designation__T_mine_mode, sizeof(df::ui_sidebar_menus::T_designation::T_mine_mode) }, - { DF_Type::ui_sidebar_menus__T_hospital, sizeof(df::ui_sidebar_menus::T_hospital) }, - { DF_Type::ui_sidebar_menus__T_job_details, sizeof(df::ui_sidebar_menus::T_job_details) }, - { DF_Type::ui_sidebar_menus__T_location, sizeof(df::ui_sidebar_menus::T_location) }, - { DF_Type::ui_sidebar_menus__T_minimap, sizeof(df::ui_sidebar_menus::T_minimap) }, - { DF_Type::ui_sidebar_menus__T_unit, sizeof(df::ui_sidebar_menus::T_unit) }, - { DF_Type::ui_sidebar_menus__T_unit__T_expel_error, sizeof(df::ui_sidebar_menus::T_unit::T_expel_error) }, - { DF_Type::ui_sidebar_menus__T_unit_cursor, sizeof(df::ui_sidebar_menus::T_unit_cursor) }, - { DF_Type::ui_sidebar_menus__T_unit_skills, sizeof(df::ui_sidebar_menus::T_unit_skills) }, - { DF_Type::ui_sidebar_menus__T_workshop_job, sizeof(df::ui_sidebar_menus::T_workshop_job) }, - { DF_Type::ui_sidebar_menus__T_zone, sizeof(df::ui_sidebar_menus::T_zone) }, - { DF_Type::ui_sidebar_menus__T_zone__T_mode, sizeof(df::ui_sidebar_menus::T_zone::T_mode) }, - { DF_Type::ui_sidebar_mode, sizeof(df::enums::ui_sidebar_mode::ui_sidebar_mode) }, - { DF_Type::ui_unit_view_mode, sizeof(df::ui_unit_view_mode) }, - { DF_Type::ui_unit_view_mode__T_value, sizeof(df::ui_unit_view_mode::T_value) }, - { DF_Type::uniform_category, sizeof(df::enums::uniform_category::uniform_category) }, - { DF_Type::uniform_flags, sizeof(df::uniform_flags) }, - { DF_Type::uniform_indiv_choice, sizeof(df::uniform_indiv_choice) }, - { DF_Type::unit, sizeof(df::unit) }, - { DF_Type::unit__T_animal, sizeof(df::unit::T_animal) }, - { DF_Type::unit__T_appearance, sizeof(df::unit::T_appearance) }, - { DF_Type::unit__T_body, sizeof(df::unit::T_body) }, - { DF_Type::unit__T_counters, sizeof(df::unit::T_counters) }, - { DF_Type::unit__T_counters2, sizeof(df::unit::T_counters2) }, - { DF_Type::unit__T_counters__T_soldier_mood, sizeof(df::unit::T_counters::T_soldier_mood) }, - { DF_Type::unit__T_curse, sizeof(df::unit::T_curse) }, - { DF_Type::unit__T_enemy, sizeof(df::unit::T_enemy) }, - { DF_Type::unit__T_enemy__T_undead, sizeof(df::unit::T_enemy::T_undead) }, - { DF_Type::unit__T_enemy__T_unk_448, sizeof(df::unit::T_enemy::T_unk_448) }, - { DF_Type::unit__T_enemy__T_unk_448__T_unk, sizeof(df::unit::T_enemy::T_unk_448::T_unk) }, - { DF_Type::unit__T_enemy__T_unk_44c, sizeof(df::unit::T_enemy::T_unk_44c) }, - { DF_Type::unit__T_enemy__T_unk_v40_sub3, sizeof(df::unit::T_enemy::T_unk_v40_sub3) }, - { DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_2, sizeof(df::unit::T_enemy::T_unk_v40_sub3::T_unk_2) }, - { DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_6, sizeof(df::unit::T_enemy::T_unk_v40_sub3::T_unk_6) }, - { DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7, sizeof(df::unit::T_enemy::T_unk_v40_sub3::T_unk_7) }, - { DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7__T_unk_sub1, sizeof(df::unit::T_enemy::T_unk_v40_sub3::T_unk_7::T_unk_sub1) }, - { DF_Type::unit__T_enemy__T_witness_reports, sizeof(df::unit::T_enemy::T_witness_reports) }, - { DF_Type::unit__T_job, sizeof(df::unit::T_job) }, - { DF_Type::unit__T_meeting, sizeof(df::unit::T_meeting) }, - { DF_Type::unit__T_meeting__T_state, sizeof(df::unit::T_meeting::T_state) }, - { DF_Type::unit__T_military, sizeof(df::unit::T_military) }, - { DF_Type::unit__T_military__T_pickup_flags, sizeof(df::unit::T_military::T_pickup_flags) }, - { DF_Type::unit__T_opponent, sizeof(df::unit::T_opponent) }, - { DF_Type::unit__T_path, sizeof(df::unit::T_path) }, - { DF_Type::unit__T_reports, sizeof(df::unit::T_reports) }, - { DF_Type::unit__T_status, sizeof(df::unit::T_status) }, - { DF_Type::unit__T_status2, sizeof(df::unit::T_status2) }, - { DF_Type::unit__T_status__T_eat_history, sizeof(df::unit::T_status::T_eat_history) }, - { DF_Type::unit__T_status__T_eat_history__T_drink, sizeof(df::unit::T_status::T_eat_history::T_drink) }, - { DF_Type::unit__T_status__T_eat_history__T_food, sizeof(df::unit::T_status::T_eat_history::T_food) }, - { DF_Type::unit__T_syndromes, sizeof(df::unit::T_syndromes) }, - { DF_Type::unit__T_unknown7, sizeof(df::unit::T_unknown7) }, - { DF_Type::unit_action, sizeof(df::unit_action) }, - { DF_Type::unit_action__T_data, sizeof(df::unit_action::T_data) }, - { DF_Type::unit_action__T_data__T_attack, sizeof(df::unit_action::T_data::T_attack) }, - { DF_Type::unit_action__T_data__T_attack__T_flags, sizeof(df::unit_action::T_data::T_attack::T_flags) }, - { DF_Type::unit_action__T_data__T_attack__T_unk_4, sizeof(df::unit_action::T_data::T_attack::T_unk_4) }, - { DF_Type::unit_action__T_data__T_block, sizeof(df::unit_action::T_data::T_block) }, - { DF_Type::unit_action__T_data__T_climb, sizeof(df::unit_action::T_data::T_climb) }, - { DF_Type::unit_action__T_data__T_dodge, sizeof(df::unit_action::T_data::T_dodge) }, - { DF_Type::unit_action__T_data__T_holditem, sizeof(df::unit_action::T_data::T_holditem) }, - { DF_Type::unit_action__T_data__T_holdterrain, sizeof(df::unit_action::T_data::T_holdterrain) }, - { DF_Type::unit_action__T_data__T_job, sizeof(df::unit_action::T_data::T_job) }, - { DF_Type::unit_action__T_data__T_job2, sizeof(df::unit_action::T_data::T_job2) }, - { DF_Type::unit_action__T_data__T_jump, sizeof(df::unit_action::T_data::T_jump) }, - { DF_Type::unit_action__T_data__T_liedown, sizeof(df::unit_action::T_data::T_liedown) }, - { DF_Type::unit_action__T_data__T_move, sizeof(df::unit_action::T_data::T_move) }, - { DF_Type::unit_action__T_data__T_move__T_flags, sizeof(df::unit_action::T_data::T_move::T_flags) }, - { DF_Type::unit_action__T_data__T_parry, sizeof(df::unit_action::T_data::T_parry) }, - { DF_Type::unit_action__T_data__T_pushobject, sizeof(df::unit_action::T_data::T_pushobject) }, - { DF_Type::unit_action__T_data__T_recover, sizeof(df::unit_action::T_data::T_recover) }, - { DF_Type::unit_action__T_data__T_releaseitem, sizeof(df::unit_action::T_data::T_releaseitem) }, - { DF_Type::unit_action__T_data__T_releaseterrain, sizeof(df::unit_action::T_data::T_releaseterrain) }, - { DF_Type::unit_action__T_data__T_standup, sizeof(df::unit_action::T_data::T_standup) }, - { DF_Type::unit_action__T_data__T_suckblood, sizeof(df::unit_action::T_data::T_suckblood) }, - { DF_Type::unit_action__T_data__T_talk, sizeof(df::unit_action::T_data::T_talk) }, - { DF_Type::unit_action__T_data__T_unsteady, sizeof(df::unit_action::T_data::T_unsteady) }, - { DF_Type::unit_action_type, sizeof(df::enums::unit_action_type::unit_action_type) }, - { DF_Type::unit_appearance, sizeof(df::unit_appearance) }, - { DF_Type::unit_attribute, sizeof(df::unit_attribute) }, - { DF_Type::unit_bp_health_flags, sizeof(df::unit_bp_health_flags) }, - { DF_Type::unit_chunk, sizeof(df::unit_chunk) }, - { DF_Type::unit_chunk__T_units, sizeof(df::unit_chunk::T_units) }, - { DF_Type::unit_coin_debt, sizeof(df::unit_coin_debt) }, - { DF_Type::unit_complaint, sizeof(df::unit_complaint) }, - { DF_Type::unit_complaint__T_type, sizeof(df::unit_complaint::T_type) }, - { DF_Type::unit_dance_skill, sizeof(df::unit_dance_skill) }, - { DF_Type::unit_demand, sizeof(df::unit_demand) }, - { DF_Type::unit_demand__T_place, sizeof(df::unit_demand::T_place) }, - { DF_Type::unit_flags1, sizeof(df::unit_flags1) }, - { DF_Type::unit_flags2, sizeof(df::unit_flags2) }, - { DF_Type::unit_flags3, sizeof(df::unit_flags3) }, - { DF_Type::unit_flags4, sizeof(df::unit_flags4) }, - { DF_Type::unit_genes, sizeof(df::unit_genes) }, - { DF_Type::unit_ghost_info, sizeof(df::unit_ghost_info) }, - { DF_Type::unit_ghost_info__T_flags, sizeof(df::unit_ghost_info::T_flags) }, - { DF_Type::unit_ghost_info__T_target, sizeof(df::unit_ghost_info::T_target) }, - { DF_Type::unit_health_flags, sizeof(df::unit_health_flags) }, - { DF_Type::unit_health_info, sizeof(df::unit_health_info) }, - { DF_Type::unit_health_info__T_op_history, sizeof(df::unit_health_info::T_op_history) }, - { DF_Type::unit_health_info__T_op_history__T_info, sizeof(df::unit_health_info::T_op_history::T_info) }, - { DF_Type::unit_health_info__T_op_history__T_info__T_bandage, sizeof(df::unit_health_info::T_op_history::T_info::T_bandage) }, - { DF_Type::unit_health_info__T_op_history__T_info__T_crutch, sizeof(df::unit_health_info::T_op_history::T_info::T_crutch) }, - { DF_Type::unit_instrument_skill, sizeof(df::unit_instrument_skill) }, - { DF_Type::unit_inventory_item, sizeof(df::unit_inventory_item) }, - { DF_Type::unit_inventory_item__T_mode, sizeof(df::unit_inventory_item::T_mode) }, - { DF_Type::unit_item_use, sizeof(df::unit_item_use) }, - { DF_Type::unit_item_wrestle, sizeof(df::unit_item_wrestle) }, - { DF_Type::unit_labor, sizeof(df::enums::unit_labor::unit_labor) }, - { DF_Type::unit_labor_category, sizeof(df::enums::unit_labor_category::unit_labor_category) }, - { DF_Type::unit_misc_trait, sizeof(df::unit_misc_trait) }, - { DF_Type::unit_musical_skill, sizeof(df::unit_musical_skill) }, - { DF_Type::unit_path_goal, sizeof(df::enums::unit_path_goal::unit_path_goal) }, - { DF_Type::unit_personality, sizeof(df::unit_personality) }, - { DF_Type::unit_personality__T_dreams, sizeof(df::unit_personality::T_dreams) }, - { DF_Type::unit_personality__T_emotions, sizeof(df::unit_personality::T_emotions) }, - { DF_Type::unit_personality__T_emotions__T_flags, sizeof(df::unit_personality::T_emotions::T_flags) }, - { DF_Type::unit_personality__T_flags, sizeof(df::unit_personality::T_flags) }, - { DF_Type::unit_personality__T_needs, sizeof(df::unit_personality::T_needs) }, - { DF_Type::unit_personality__T_unk5, sizeof(df::unit_personality::T_unk5) }, - { DF_Type::unit_personality__T_unk_v40_2, sizeof(df::unit_personality::T_unk_v40_2) }, - { DF_Type::unit_personality__T_unk_v40_6, sizeof(df::unit_personality::T_unk_v40_6) }, - { DF_Type::unit_personality__T_values, sizeof(df::unit_personality::T_values) }, - { DF_Type::unit_poetic_skill, sizeof(df::unit_poetic_skill) }, - { DF_Type::unit_preference, sizeof(df::unit_preference) }, - { DF_Type::unit_preference__T_type, sizeof(df::unit_preference::T_type) }, - { DF_Type::unit_relationship_type, sizeof(df::enums::unit_relationship_type::unit_relationship_type) }, - { DF_Type::unit_report_type, sizeof(df::enums::unit_report_type::unit_report_type) }, - { DF_Type::unit_request, sizeof(df::unit_request) }, - { DF_Type::unit_request__T_type, sizeof(df::unit_request::T_type) }, - { DF_Type::unit_skill, sizeof(df::unit_skill) }, - { DF_Type::unit_soul, sizeof(df::unit_soul) }, - { DF_Type::unit_soul__T_performance_skills, sizeof(df::unit_soul::T_performance_skills) }, - { DF_Type::unit_station_type, sizeof(df::enums::unit_station_type::unit_station_type) }, - { DF_Type::unit_storage_status, sizeof(df::unit_storage_status) }, - { DF_Type::unit_syndrome, sizeof(df::unit_syndrome) }, - { DF_Type::unit_syndrome__T_flags, sizeof(df::unit_syndrome::T_flags) }, - { DF_Type::unit_syndrome__T_symptoms, sizeof(df::unit_syndrome::T_symptoms) }, - { DF_Type::unit_syndrome__T_symptoms__T_flags, sizeof(df::unit_syndrome::T_symptoms::T_flags) }, - { DF_Type::unit_thought_type, sizeof(df::enums::unit_thought_type::unit_thought_type) }, - { DF_Type::unit_unk_138, sizeof(df::unit_unk_138) }, - { DF_Type::unit_wound, sizeof(df::unit_wound) }, - { DF_Type::unit_wound__T_flags, sizeof(df::unit_wound::T_flags) }, - { DF_Type::unit_wound__T_parts, sizeof(df::unit_wound::T_parts) }, - { DF_Type::units_other_id, sizeof(df::enums::units_other_id::units_other_id) }, - { DF_Type::value_type, sizeof(df::enums::value_type::value_type) }, - { DF_Type::vehicle, sizeof(df::vehicle) }, - { DF_Type::vermin, sizeof(df::vermin) }, - { DF_Type::vermin_flags, sizeof(df::vermin_flags) }, - { DF_Type::viewscreen, sizeof(df::viewscreen) }, - { DF_Type::viewscreen_adopt_regionst, sizeof(df::viewscreen_adopt_regionst) }, - { DF_Type::viewscreen_adventure_logst, sizeof(df::viewscreen_adventure_logst) }, - { DF_Type::viewscreen_adventure_logst__T_info_mode, sizeof(df::viewscreen_adventure_logst::T_info_mode) }, - { DF_Type::viewscreen_adventure_logst__T_mode, sizeof(df::viewscreen_adventure_logst::T_mode) }, - { DF_Type::viewscreen_announcelistst, sizeof(df::viewscreen_announcelistst) }, - { DF_Type::viewscreen_assign_display_itemst, sizeof(df::viewscreen_assign_display_itemst) }, - { DF_Type::viewscreen_assign_display_itemst__T_sel_column, sizeof(df::viewscreen_assign_display_itemst::T_sel_column) }, - { DF_Type::viewscreen_barterst, sizeof(df::viewscreen_barterst) }, - { DF_Type::viewscreen_buildinglistst, sizeof(df::viewscreen_buildinglistst) }, - { DF_Type::viewscreen_buildingst, sizeof(df::viewscreen_buildingst) }, - { DF_Type::viewscreen_choose_start_sitest, sizeof(df::viewscreen_choose_start_sitest) }, - { DF_Type::viewscreen_choose_start_sitest__T_finder, sizeof(df::viewscreen_choose_start_sitest::T_finder) }, - { DF_Type::viewscreen_choose_start_sitest__T_page, sizeof(df::viewscreen_choose_start_sitest::T_page) }, - { DF_Type::viewscreen_civlistst, sizeof(df::viewscreen_civlistst) }, - { DF_Type::viewscreen_civlistst__T_artifact_details, sizeof(df::viewscreen_civlistst::T_artifact_details) }, - { DF_Type::viewscreen_civlistst__T_page, sizeof(df::viewscreen_civlistst::T_page) }, - { DF_Type::viewscreen_civlistst__T_rumors, sizeof(df::viewscreen_civlistst::T_rumors) }, - { DF_Type::viewscreen_civlistst__T_rumors__T_type, sizeof(df::viewscreen_civlistst::T_rumors::T_type) }, - { DF_Type::viewscreen_civlistst__T_unk_cache, sizeof(df::viewscreen_civlistst::T_unk_cache) }, - { DF_Type::viewscreen_civlistst__T_unk_cache__T_tmp1, sizeof(df::viewscreen_civlistst::T_unk_cache::T_tmp1) }, - { DF_Type::viewscreen_civlistst__T_unk_cache__T_tmp2, sizeof(df::viewscreen_civlistst::T_unk_cache::T_tmp2) }, - { DF_Type::viewscreen_createquotast, sizeof(df::viewscreen_createquotast) }, - { DF_Type::viewscreen_customize_unitst, sizeof(df::viewscreen_customize_unitst) }, - { DF_Type::viewscreen_dungeon_monsterstatusst, sizeof(df::viewscreen_dungeon_monsterstatusst) }, - { DF_Type::viewscreen_dungeon_wrestlest, sizeof(df::viewscreen_dungeon_wrestlest) }, - { DF_Type::viewscreen_dungeon_wrestlest__T_unk1, sizeof(df::viewscreen_dungeon_wrestlest::T_unk1) }, - { DF_Type::viewscreen_dungeonmodest, sizeof(df::viewscreen_dungeonmodest) }, - { DF_Type::viewscreen_dwarfmodest, sizeof(df::viewscreen_dwarfmodest) }, - { DF_Type::viewscreen_entityst, sizeof(df::viewscreen_entityst) }, - { DF_Type::viewscreen_export_graphical_mapst, sizeof(df::viewscreen_export_graphical_mapst) }, - { DF_Type::viewscreen_export_regionst, sizeof(df::viewscreen_export_regionst) }, - { DF_Type::viewscreen_export_regionst__T_unk1, sizeof(df::viewscreen_export_regionst::T_unk1) }, - { DF_Type::viewscreen_game_cleanerst, sizeof(df::viewscreen_game_cleanerst) }, - { DF_Type::viewscreen_game_cleanerst__T_state, sizeof(df::viewscreen_game_cleanerst::T_state) }, - { DF_Type::viewscreen_image_creator_mode, sizeof(df::enums::viewscreen_image_creator_mode::viewscreen_image_creator_mode) }, - { DF_Type::viewscreen_image_creatorst, sizeof(df::viewscreen_image_creatorst) }, - { DF_Type::viewscreen_image_creatorst__T_artifacts, sizeof(df::viewscreen_image_creatorst::T_artifacts) }, - { DF_Type::viewscreen_image_creatorst__T_descriptions, sizeof(df::viewscreen_image_creatorst::T_descriptions) }, - { DF_Type::viewscreen_image_creatorst__T_entities, sizeof(df::viewscreen_image_creatorst::T_entities) }, - { DF_Type::viewscreen_image_creatorst__T_objects, sizeof(df::viewscreen_image_creatorst::T_objects) }, - { DF_Type::viewscreen_image_creatorst__T_plants, sizeof(df::viewscreen_image_creatorst::T_plants) }, - { DF_Type::viewscreen_image_creatorst__T_shapes, sizeof(df::viewscreen_image_creatorst::T_shapes) }, - { DF_Type::viewscreen_image_creatorst__T_sites, sizeof(df::viewscreen_image_creatorst::T_sites) }, - { DF_Type::viewscreen_image_creatorst__T_trees, sizeof(df::viewscreen_image_creatorst::T_trees) }, - { DF_Type::viewscreen_itemst, sizeof(df::viewscreen_itemst) }, - { DF_Type::viewscreen_joblistst, sizeof(df::viewscreen_joblistst) }, - { DF_Type::viewscreen_jobmanagementst, sizeof(df::viewscreen_jobmanagementst) }, - { DF_Type::viewscreen_jobst, sizeof(df::viewscreen_jobst) }, - { DF_Type::viewscreen_justicest, sizeof(df::viewscreen_justicest) }, - { DF_Type::viewscreen_justicest__T_cur_column, sizeof(df::viewscreen_justicest::T_cur_column) }, - { DF_Type::viewscreen_kitchenpref_page, sizeof(df::enums::viewscreen_kitchenpref_page::viewscreen_kitchenpref_page) }, - { DF_Type::viewscreen_kitchenprefst, sizeof(df::viewscreen_kitchenprefst) }, - { DF_Type::viewscreen_layer, sizeof(df::viewscreen_layer) }, - { DF_Type::viewscreen_layer_arena_creaturest, sizeof(df::viewscreen_layer_arena_creaturest) }, - { DF_Type::viewscreen_layer_assigntradest, sizeof(df::viewscreen_layer_assigntradest) }, - { DF_Type::viewscreen_layer_choose_language_namest, sizeof(df::viewscreen_layer_choose_language_namest) }, - { DF_Type::viewscreen_layer_choose_language_namest__T_current_component, sizeof(df::viewscreen_layer_choose_language_namest::T_current_component) }, - { DF_Type::viewscreen_layer_currencyst, sizeof(df::viewscreen_layer_currencyst) }, - { DF_Type::viewscreen_layer_export_play_mapst, sizeof(df::viewscreen_layer_export_play_mapst) }, - { DF_Type::viewscreen_layer_militaryst, sizeof(df::viewscreen_layer_militaryst) }, - { DF_Type::viewscreen_layer_militaryst__T_ammo, sizeof(df::viewscreen_layer_militaryst::T_ammo) }, - { DF_Type::viewscreen_layer_militaryst__T_ammo__T_add_item, sizeof(df::viewscreen_layer_militaryst::T_ammo::T_add_item) }, - { DF_Type::viewscreen_layer_militaryst__T_ammo__T_material, sizeof(df::viewscreen_layer_militaryst::T_ammo::T_material) }, - { DF_Type::viewscreen_layer_militaryst__T_equip, sizeof(df::viewscreen_layer_militaryst::T_equip) }, - { DF_Type::viewscreen_layer_militaryst__T_equip__T_add_item, sizeof(df::viewscreen_layer_militaryst::T_equip::T_add_item) }, - { DF_Type::viewscreen_layer_militaryst__T_equip__T_assigned, sizeof(df::viewscreen_layer_militaryst::T_equip::T_assigned) }, - { DF_Type::viewscreen_layer_militaryst__T_equip__T_color, sizeof(df::viewscreen_layer_militaryst::T_equip::T_color) }, - { DF_Type::viewscreen_layer_militaryst__T_equip__T_edit_mode, sizeof(df::viewscreen_layer_militaryst::T_equip::T_edit_mode) }, - { DF_Type::viewscreen_layer_militaryst__T_equip__T_material, sizeof(df::viewscreen_layer_militaryst::T_equip::T_material) }, - { DF_Type::viewscreen_layer_militaryst__T_equip__T_mode, sizeof(df::viewscreen_layer_militaryst::T_equip::T_mode) }, - { DF_Type::viewscreen_layer_militaryst__T_equip__T_uniform, sizeof(df::viewscreen_layer_militaryst::T_equip::T_uniform) }, - { DF_Type::viewscreen_layer_militaryst__T_page, sizeof(df::viewscreen_layer_militaryst::T_page) }, - { DF_Type::viewscreen_layer_militaryst__T_positions, sizeof(df::viewscreen_layer_militaryst::T_positions) }, - { DF_Type::viewscreen_layer_militaryst__T_squad_members, sizeof(df::viewscreen_layer_militaryst::T_squad_members) }, - { DF_Type::viewscreen_layer_militaryst__T_squads, sizeof(df::viewscreen_layer_militaryst::T_squads) }, - { DF_Type::viewscreen_layer_musicsoundst, sizeof(df::viewscreen_layer_musicsoundst) }, - { DF_Type::viewscreen_layer_noblelistst, sizeof(df::viewscreen_layer_noblelistst) }, - { DF_Type::viewscreen_layer_noblelistst__T_candidates, sizeof(df::viewscreen_layer_noblelistst::T_candidates) }, - { DF_Type::viewscreen_layer_noblelistst__T_info, sizeof(df::viewscreen_layer_noblelistst::T_info) }, - { DF_Type::viewscreen_layer_noblelistst__T_mode, sizeof(df::viewscreen_layer_noblelistst::T_mode) }, - { DF_Type::viewscreen_layer_overall_healthst, sizeof(df::viewscreen_layer_overall_healthst) }, - { DF_Type::viewscreen_layer_reactionst, sizeof(df::viewscreen_layer_reactionst) }, - { DF_Type::viewscreen_layer_squad_schedulest, sizeof(df::viewscreen_layer_squad_schedulest) }, - { DF_Type::viewscreen_layer_stockpilest, sizeof(df::viewscreen_layer_stockpilest) }, - { DF_Type::viewscreen_layer_stone_restrictionst, sizeof(df::viewscreen_layer_stone_restrictionst) }, - { DF_Type::viewscreen_layer_unit_actionst, sizeof(df::viewscreen_layer_unit_actionst) }, - { DF_Type::viewscreen_layer_unit_healthst, sizeof(df::viewscreen_layer_unit_healthst) }, - { DF_Type::viewscreen_layer_unit_relationshipst, sizeof(df::viewscreen_layer_unit_relationshipst) }, - { DF_Type::viewscreen_layer_world_gen_param_presetst, sizeof(df::viewscreen_layer_world_gen_param_presetst) }, - { DF_Type::viewscreen_layer_world_gen_paramst, sizeof(df::viewscreen_layer_world_gen_paramst) }, - { DF_Type::viewscreen_layer_world_gen_paramst__T_unk1, sizeof(df::viewscreen_layer_world_gen_paramst::T_unk1) }, - { DF_Type::viewscreen_legendsst, sizeof(df::viewscreen_legendsst) }, - { DF_Type::viewscreen_legendsst__T_anon_7, sizeof(df::viewscreen_legendsst::T_anon_7) }, - { DF_Type::viewscreen_legendsst__T_anon_7__T_anon_3, sizeof(df::viewscreen_legendsst::T_anon_7::T_anon_3) }, - { DF_Type::viewscreen_legendsst__T_cur_page, sizeof(df::viewscreen_legendsst::T_cur_page) }, - { DF_Type::viewscreen_loadgamest, sizeof(df::viewscreen_loadgamest) }, - { DF_Type::viewscreen_locationsst, sizeof(df::viewscreen_locationsst) }, - { DF_Type::viewscreen_locationsst__T_in_edit, sizeof(df::viewscreen_locationsst::T_in_edit) }, - { DF_Type::viewscreen_locationsst__T_menu, sizeof(df::viewscreen_locationsst::T_menu) }, - { DF_Type::viewscreen_meetingst, sizeof(df::viewscreen_meetingst) }, - { DF_Type::viewscreen_movieplayerst, sizeof(df::viewscreen_movieplayerst) }, - { DF_Type::viewscreen_new_regionst, sizeof(df::viewscreen_new_regionst) }, - { DF_Type::viewscreen_noblest, sizeof(df::viewscreen_noblest) }, - { DF_Type::viewscreen_optionst, sizeof(df::viewscreen_optionst) }, - { DF_Type::viewscreen_optionst__T_options, sizeof(df::viewscreen_optionst::T_options) }, - { DF_Type::viewscreen_overallstatusst, sizeof(df::viewscreen_overallstatusst) }, - { DF_Type::viewscreen_overallstatusst__T_visible_pages, sizeof(df::viewscreen_overallstatusst::T_visible_pages) }, - { DF_Type::viewscreen_petitionsst, sizeof(df::viewscreen_petitionsst) }, - { DF_Type::viewscreen_petst, sizeof(df::viewscreen_petst) }, - { DF_Type::viewscreen_petst__T_animal, sizeof(df::viewscreen_petst::T_animal) }, - { DF_Type::viewscreen_petst__T_mode, sizeof(df::viewscreen_petst::T_mode) }, - { DF_Type::viewscreen_petst__T_trainer_mode, sizeof(df::viewscreen_petst::T_trainer_mode) }, - { DF_Type::viewscreen_pricest, sizeof(df::viewscreen_pricest) }, - { DF_Type::viewscreen_reportlistst, sizeof(df::viewscreen_reportlistst) }, - { DF_Type::viewscreen_requestagreementst, sizeof(df::viewscreen_requestagreementst) }, - { DF_Type::viewscreen_savegamest, sizeof(df::viewscreen_savegamest) }, - { DF_Type::viewscreen_selectitemst, sizeof(df::viewscreen_selectitemst) }, - { DF_Type::viewscreen_setupadventurest, sizeof(df::viewscreen_setupadventurest) }, - { DF_Type::viewscreen_setupadventurest__T_background_type, sizeof(df::viewscreen_setupadventurest::T_background_type) }, - { DF_Type::viewscreen_setupadventurest__T_page, sizeof(df::viewscreen_setupadventurest::T_page) }, - { DF_Type::viewscreen_setupadventurest__T_races_info, sizeof(df::viewscreen_setupadventurest::T_races_info) }, - { DF_Type::viewscreen_setupadventurest__T_sel_trait_column, sizeof(df::viewscreen_setupadventurest::T_sel_trait_column) }, - { DF_Type::viewscreen_setupdwarfgamest, sizeof(df::viewscreen_setupdwarfgamest) }, - { DF_Type::viewscreen_setupdwarfgamest__T_animals, sizeof(df::viewscreen_setupdwarfgamest::T_animals) }, - { DF_Type::viewscreen_setupdwarfgamest__T_choice_types, sizeof(df::viewscreen_setupdwarfgamest::T_choice_types) }, - { DF_Type::viewscreen_setupdwarfgamest__T_mode, sizeof(df::viewscreen_setupdwarfgamest::T_mode) }, - { DF_Type::viewscreen_setupdwarfgamest__T_unk_v43, sizeof(df::viewscreen_setupdwarfgamest::T_unk_v43) }, - { DF_Type::viewscreen_setupdwarfgamest__T_unk_v43__T_unk_v43_sub9, sizeof(df::viewscreen_setupdwarfgamest::T_unk_v43::T_unk_v43_sub9) }, - { DF_Type::viewscreen_storesst, sizeof(df::viewscreen_storesst) }, - { DF_Type::viewscreen_textviewerst, sizeof(df::viewscreen_textviewerst) }, - { DF_Type::viewscreen_textviewerst__T_formatted_text, sizeof(df::viewscreen_textviewerst::T_formatted_text) }, - { DF_Type::viewscreen_textviewerst__T_formatted_text__T_flags, sizeof(df::viewscreen_textviewerst::T_formatted_text::T_flags) }, - { DF_Type::viewscreen_titlest, sizeof(df::viewscreen_titlest) }, - { DF_Type::viewscreen_titlest__T_menu_line_id, sizeof(df::viewscreen_titlest::T_menu_line_id) }, - { DF_Type::viewscreen_titlest__T_sel_subpage, sizeof(df::viewscreen_titlest::T_sel_subpage) }, - { DF_Type::viewscreen_titlest__T_start_savegames, sizeof(df::viewscreen_titlest::T_start_savegames) }, - { DF_Type::viewscreen_topicmeeting_fill_land_holder_positionsst, sizeof(df::viewscreen_topicmeeting_fill_land_holder_positionsst) }, - { DF_Type::viewscreen_topicmeeting_takerequestsst, sizeof(df::viewscreen_topicmeeting_takerequestsst) }, - { DF_Type::viewscreen_topicmeetingst, sizeof(df::viewscreen_topicmeetingst) }, - { DF_Type::viewscreen_tradeagreementst, sizeof(df::viewscreen_tradeagreementst) }, - { DF_Type::viewscreen_tradegoodsst, sizeof(df::viewscreen_tradegoodsst) }, - { DF_Type::viewscreen_tradelistst, sizeof(df::viewscreen_tradelistst) }, - { DF_Type::viewscreen_treasurelistst, sizeof(df::viewscreen_treasurelistst) }, - { DF_Type::viewscreen_unitlist_page, sizeof(df::enums::viewscreen_unitlist_page::viewscreen_unitlist_page) }, - { DF_Type::viewscreen_unitlistst, sizeof(df::viewscreen_unitlistst) }, - { DF_Type::viewscreen_unitst, sizeof(df::viewscreen_unitst) }, - { DF_Type::viewscreen_update_regionst, sizeof(df::viewscreen_update_regionst) }, - { DF_Type::viewscreen_wagesst, sizeof(df::viewscreen_wagesst) }, - { DF_Type::viewscreen_workquota_conditionst, sizeof(df::viewscreen_workquota_conditionst) }, - { DF_Type::viewscreen_workquota_conditionst__T_mode, sizeof(df::viewscreen_workquota_conditionst::T_mode) }, - { DF_Type::viewscreen_workquota_conditionst__T_traits, sizeof(df::viewscreen_workquota_conditionst::T_traits) }, - { DF_Type::viewscreen_workquota_conditionst__T_traits__T_flags, sizeof(df::viewscreen_workquota_conditionst::T_traits::T_flags) }, - { DF_Type::viewscreen_workquota_detailsst, sizeof(df::viewscreen_workquota_detailsst) }, - { DF_Type::viewscreen_workshop_profilest, sizeof(df::viewscreen_workshop_profilest) }, - { DF_Type::viewscreen_workshop_profilest__T_tab, sizeof(df::viewscreen_workshop_profilest::T_tab) }, - { DF_Type::weapon_attack, sizeof(df::weapon_attack) }, - { DF_Type::weapon_attack__T_flags, sizeof(df::weapon_attack::T_flags) }, - { DF_Type::weapon_flags, sizeof(df::enums::weapon_flags::weapon_flags) }, - { DF_Type::weather_type, sizeof(df::enums::weather_type::weather_type) }, - { DF_Type::web_cluster, sizeof(df::web_cluster) }, - { DF_Type::widget_menu, sizeof(df::widget_menu) }, - { DF_Type::widget_textbox, sizeof(df::widget_textbox) }, - { DF_Type::workshop_profile, sizeof(df::workshop_profile) }, - { DF_Type::workshop_type, sizeof(df::enums::workshop_type::workshop_type) }, - { DF_Type::world, sizeof(df::world) }, - { DF_Type::world__T_activities, sizeof(df::world::T_activities) }, - { DF_Type::world__T_agreements, sizeof(df::world::T_agreements) }, - { DF_Type::world__T_arena_settings, sizeof(df::world::T_arena_settings) }, - { DF_Type::world__T_arena_spawn, sizeof(df::world::T_arena_spawn) }, - { DF_Type::world__T_arena_spawn__T_equipment, sizeof(df::world::T_arena_spawn::T_equipment) }, - { DF_Type::world__T_arena_spawn__T_item_types, sizeof(df::world::T_arena_spawn::T_item_types) }, - { DF_Type::world__T_armies, sizeof(df::world::T_armies) }, - { DF_Type::world__T_army_controllers, sizeof(df::world::T_army_controllers) }, - { DF_Type::world__T_army_tracking_info, sizeof(df::world::T_army_tracking_info) }, - { DF_Type::world__T_artifacts, sizeof(df::world::T_artifacts) }, - { DF_Type::world__T_belief_systems, sizeof(df::world::T_belief_systems) }, - { DF_Type::world__T_crimes, sizeof(df::world::T_crimes) }, - { DF_Type::world__T_cultural_identities, sizeof(df::world::T_cultural_identities) }, - { DF_Type::world__T_cur_savegame, sizeof(df::world::T_cur_savegame) }, - { DF_Type::world__T_dance_forms, sizeof(df::world::T_dance_forms) }, - { DF_Type::world__T_enemy_status_cache, sizeof(df::world::T_enemy_status_cache) }, - { DF_Type::world__T_entities, sizeof(df::world::T_entities) }, - { DF_Type::world__T_features, sizeof(df::world::T_features) }, - { DF_Type::world__T_flow_engine, sizeof(df::world::T_flow_engine) }, - { DF_Type::world__T_flow_guides, sizeof(df::world::T_flow_guides) }, - { DF_Type::world__T_formations, sizeof(df::world::T_formations) }, - { DF_Type::world__T_identities, sizeof(df::world::T_identities) }, - { DF_Type::world__T_incidents, sizeof(df::world::T_incidents) }, - { DF_Type::world__T_interaction_instances, sizeof(df::world::T_interaction_instances) }, - { DF_Type::world__T_items, sizeof(df::world::T_items) }, - { DF_Type::world__T_languages, sizeof(df::world::T_languages) }, - { DF_Type::world__T_map, sizeof(df::world::T_map) }, - { DF_Type::world__T_map_extras, sizeof(df::world::T_map_extras) }, - { DF_Type::world__T_math, sizeof(df::world::T_math) }, - { DF_Type::world__T_math__T_approx, sizeof(df::world::T_math::T_approx) }, - { DF_Type::world__T_musical_forms, sizeof(df::world::T_musical_forms) }, - { DF_Type::world__T_nemesis, sizeof(df::world::T_nemesis) }, - { DF_Type::world__T_occupations, sizeof(df::world::T_occupations) }, - { DF_Type::world__T_pathfinder, sizeof(df::world::T_pathfinder) }, - { DF_Type::world__T_pathfinder__T_boundary_heap, sizeof(df::world::T_pathfinder::T_boundary_heap) }, - { DF_Type::world__T_plants, sizeof(df::world::T_plants) }, - { DF_Type::world__T_poetic_forms, sizeof(df::world::T_poetic_forms) }, - { DF_Type::world__T_profession_skills, sizeof(df::world::T_profession_skills) }, - { DF_Type::world__T_rhythms, sizeof(df::world::T_rhythms) }, - { DF_Type::world__T_scales, sizeof(df::world::T_scales) }, - { DF_Type::world__T_schedules, sizeof(df::world::T_schedules) }, - { DF_Type::world__T_squads, sizeof(df::world::T_squads) }, - { DF_Type::world__T_status, sizeof(df::world::T_status) }, - { DF_Type::world__T_status__T_flags, sizeof(df::world::T_status::T_flags) }, - { DF_Type::world__T_status__T_slots, sizeof(df::world::T_status::T_slots) }, - { DF_Type::world__T_status__T_slots__T_flags, sizeof(df::world::T_status::T_slots::T_flags) }, - { DF_Type::world__T_stockpile, sizeof(df::world::T_stockpile) }, - { DF_Type::world__T_stockpile__T_simple1, sizeof(df::world::T_stockpile::T_simple1) }, - { DF_Type::world__T_stockpile__T_simple2, sizeof(df::world::T_stockpile::T_simple2) }, - { DF_Type::world__T_stockpile__T_simple3, sizeof(df::world::T_stockpile::T_simple3) }, - { DF_Type::world__T_units, sizeof(df::world::T_units) }, - { DF_Type::world__T_unk_131ec0, sizeof(df::world::T_unk_131ec0) }, - { DF_Type::world__T_unk_131ef0, sizeof(df::world::T_unk_131ef0) }, - { DF_Type::world__T_unk_131ef0__T_unk_2, sizeof(df::world::T_unk_131ef0::T_unk_2) }, - { DF_Type::world__T_unk_19325c, sizeof(df::world::T_unk_19325c) }, - { DF_Type::world__T_unk_19325c__T_anon_1, sizeof(df::world::T_unk_19325c::T_anon_1) }, - { DF_Type::world__T_unk_19325c__T_anon_2, sizeof(df::world::T_unk_19325c::T_anon_2) }, - { DF_Type::world__T_unk_19325c__T_anon_3, sizeof(df::world::T_unk_19325c::T_anon_3) }, - { DF_Type::world__T_unk_59dc4, sizeof(df::world::T_unk_59dc4) }, - { DF_Type::world__T_unk_59dc4__T_unk1, sizeof(df::world::T_unk_59dc4::T_unk1) }, - { DF_Type::world__T_unk_v40_6, sizeof(df::world::T_unk_v40_6) }, - { DF_Type::world__T_vehicles, sizeof(df::world::T_vehicles) }, - { DF_Type::world__T_vermin, sizeof(df::world::T_vermin) }, - { DF_Type::world__T_worldgen, sizeof(df::world::T_worldgen) }, - { DF_Type::world__T_worldgen__T_worldgen_parms, sizeof(df::world::T_worldgen::T_worldgen_parms) }, - { DF_Type::world__T_worldgen_coord_buf, sizeof(df::world::T_worldgen_coord_buf) }, - { DF_Type::world__T_worldgen_status, sizeof(df::world::T_worldgen_status) }, - { DF_Type::world__T_written_contents, sizeof(df::world::T_written_contents) }, - { DF_Type::world_construction, sizeof(df::world_construction) }, - { DF_Type::world_construction_bridgest, sizeof(df::world_construction_bridgest) }, - { DF_Type::world_construction_roadst, sizeof(df::world_construction_roadst) }, - { DF_Type::world_construction_square, sizeof(df::world_construction_square) }, - { DF_Type::world_construction_square_bridgest, sizeof(df::world_construction_square_bridgest) }, - { DF_Type::world_construction_square_roadst, sizeof(df::world_construction_square_roadst) }, - { DF_Type::world_construction_square_tunnelst, sizeof(df::world_construction_square_tunnelst) }, - { DF_Type::world_construction_square_wallst, sizeof(df::world_construction_square_wallst) }, - { DF_Type::world_construction_tunnelst, sizeof(df::world_construction_tunnelst) }, - { DF_Type::world_construction_type, sizeof(df::enums::world_construction_type::world_construction_type) }, - { DF_Type::world_construction_wallst, sizeof(df::world_construction_wallst) }, - { DF_Type::world_dat_summary, sizeof(df::world_dat_summary) }, - { DF_Type::world_data, sizeof(df::world_data) }, - { DF_Type::world_data__T_constructions, sizeof(df::world_data::T_constructions) }, - { DF_Type::world_data__T_feature_map, sizeof(df::world_data::T_feature_map) }, - { DF_Type::world_data__T_feature_map__T_features, sizeof(df::world_data::T_feature_map::T_features) }, - { DF_Type::world_data__T_flip_latitude, sizeof(df::world_data::T_flip_latitude) }, - { DF_Type::world_data__T_freakish_weather, sizeof(df::world_data::T_freakish_weather) }, - { DF_Type::world_data__T_mountain_peaks, sizeof(df::world_data::T_mountain_peaks) }, - { DF_Type::world_data__T_unk_150, sizeof(df::world_data::T_unk_150) }, - { DF_Type::world_data__T_unk_150__T_unk_18, sizeof(df::world_data::T_unk_150::T_unk_18) }, - { DF_Type::world_data__T_unk_150__T_unk_28, sizeof(df::world_data::T_unk_150::T_unk_28) }, - { DF_Type::world_data__T_unk_150__T_unk_8, sizeof(df::world_data::T_unk_150::T_unk_8) }, - { DF_Type::world_data__T_unk_170, sizeof(df::world_data::T_unk_170) }, - { DF_Type::world_data__T_unk_170__T_unk_4, sizeof(df::world_data::T_unk_170::T_unk_4) }, - { DF_Type::world_data__T_unk_274, sizeof(df::world_data::T_unk_274) }, - { DF_Type::world_data__T_unk_274__T_unk_10, sizeof(df::world_data::T_unk_274::T_unk_10) }, - { DF_Type::world_data__T_unk_482f8, sizeof(df::world_data::T_unk_482f8) }, - { DF_Type::world_data__T_unk_b4, sizeof(df::world_data::T_unk_b4) }, - { DF_Type::world_gen_param_basest, sizeof(df::world_gen_param_basest) }, - { DF_Type::world_gen_param_charst, sizeof(df::world_gen_param_charst) }, - { DF_Type::world_gen_param_memberst, sizeof(df::world_gen_param_memberst) }, - { DF_Type::world_gen_param_seedst, sizeof(df::world_gen_param_seedst) }, - { DF_Type::world_gen_param_valuest, sizeof(df::world_gen_param_valuest) }, - { DF_Type::world_geo_biome, sizeof(df::world_geo_biome) }, - { DF_Type::world_geo_layer, sizeof(df::world_geo_layer) }, - { DF_Type::world_history, sizeof(df::world_history) }, - { DF_Type::world_history__T_event_collections, sizeof(df::world_history::T_event_collections) }, - { DF_Type::world_landmass, sizeof(df::world_landmass) }, - { DF_Type::world_object_data, sizeof(df::world_object_data) }, - { DF_Type::world_object_data__T_offloaded_buildings, sizeof(df::world_object_data::T_offloaded_buildings) }, - { DF_Type::world_object_data__T_offloaded_items, sizeof(df::world_object_data::T_offloaded_items) }, - { DF_Type::world_object_data__T_unk_94, sizeof(df::world_object_data::T_unk_94) }, - { DF_Type::world_population, sizeof(df::world_population) }, - { DF_Type::world_population_ref, sizeof(df::world_population_ref) }, - { DF_Type::world_population_type, sizeof(df::enums::world_population_type::world_population_type) }, - { DF_Type::world_raws, sizeof(df::world_raws) }, - { DF_Type::world_raws__T_bodyglosses, sizeof(df::world_raws::T_bodyglosses) }, - { DF_Type::world_raws__T_buildings, sizeof(df::world_raws::T_buildings) }, - { DF_Type::world_raws__T_descriptors, sizeof(df::world_raws::T_descriptors) }, - { DF_Type::world_raws__T_effects, sizeof(df::world_raws::T_effects) }, - { DF_Type::world_raws__T_itemdefs, sizeof(df::world_raws::T_itemdefs) }, - { DF_Type::world_raws__T_language, sizeof(df::world_raws::T_language) }, - { DF_Type::world_raws__T_plants, sizeof(df::world_raws::T_plants) }, - { DF_Type::world_raws__T_reactions, sizeof(df::world_raws::T_reactions) }, - { DF_Type::world_raws__T_syndromes, sizeof(df::world_raws::T_syndromes) }, - { DF_Type::world_region, sizeof(df::world_region) }, - { DF_Type::world_region_details, sizeof(df::world_region_details) }, - { DF_Type::world_region_details__T_edges, sizeof(df::world_region_details::T_edges) }, - { DF_Type::world_region_details__T_rivers_horizontal, sizeof(df::world_region_details::T_rivers_horizontal) }, - { DF_Type::world_region_details__T_rivers_vertical, sizeof(df::world_region_details::T_rivers_vertical) }, - { DF_Type::world_region_feature, sizeof(df::world_region_feature) }, - { DF_Type::world_region_type, sizeof(df::enums::world_region_type::world_region_type) }, - { DF_Type::world_river, sizeof(df::world_river) }, - { DF_Type::world_site, sizeof(df::world_site) }, - { DF_Type::world_site__T_subtype_info, sizeof(df::world_site::T_subtype_info) }, - { DF_Type::world_site__T_unk_1, sizeof(df::world_site::T_unk_1) }, - { DF_Type::world_site__T_unk_118, sizeof(df::world_site::T_unk_118) }, - { DF_Type::world_site__T_unk_13c, sizeof(df::world_site::T_unk_13c) }, - { DF_Type::world_site__T_unk_188, sizeof(df::world_site::T_unk_188) }, - { DF_Type::world_site__T_unk_188__T_unk1, sizeof(df::world_site::T_unk_188::T_unk1) }, - { DF_Type::world_site__T_unk_1__T_units, sizeof(df::world_site::T_unk_1::T_units) }, - { DF_Type::world_site__T_unk_21c, sizeof(df::world_site::T_unk_21c) }, - { DF_Type::world_site__T_unk_v40_2, sizeof(df::world_site::T_unk_v40_2) }, - { DF_Type::world_site__T_unk_v40_4a, sizeof(df::world_site::T_unk_v40_4a) }, - { DF_Type::world_site__T_unk_v40_4b, sizeof(df::world_site::T_unk_v40_4b) }, - { DF_Type::world_site__T_unk_v40_4c, sizeof(df::world_site::T_unk_v40_4c) }, - { DF_Type::world_site__T_unk_v40_4d, sizeof(df::world_site::T_unk_v40_4d) }, - { DF_Type::world_site__T_unk_v40_4d__T_anon_2, sizeof(df::world_site::T_unk_v40_4d::T_anon_2) }, - { DF_Type::world_site__T_unk_v43_2, sizeof(df::world_site::T_unk_v43_2) }, - { DF_Type::world_site_flags, sizeof(df::enums::world_site_flags::world_site_flags) }, - { DF_Type::world_site_inhabitant, sizeof(df::world_site_inhabitant) }, - { DF_Type::world_site_realization, sizeof(df::world_site_realization) }, - { DF_Type::world_site_realization__T_areas, sizeof(df::world_site_realization::T_areas) }, - { DF_Type::world_site_realization__T_areas__T_type, sizeof(df::world_site_realization::T_areas::T_type) }, - { DF_Type::world_site_realization__T_building_map, sizeof(df::world_site_realization::T_building_map) }, - { DF_Type::world_site_realization__T_river_map, sizeof(df::world_site_realization::T_river_map) }, - { DF_Type::world_site_realization__T_unk_193bc, sizeof(df::world_site_realization::T_unk_193bc) }, - { DF_Type::world_site_realization__T_unk_193bc__T_unk_8, sizeof(df::world_site_realization::T_unk_193bc::T_unk_8) }, - { DF_Type::world_site_realization__T_unk_55e8, sizeof(df::world_site_realization::T_unk_55e8) }, - { DF_Type::world_site_realization__T_unk_55e8__T_unk_v40_2, sizeof(df::world_site_realization::T_unk_55e8::T_unk_v40_2) }, - { DF_Type::world_site_type, sizeof(df::enums::world_site_type::world_site_type) }, - { DF_Type::world_site_unk130, sizeof(df::world_site_unk130) }, - { DF_Type::world_site_unk130__T_unk_4, sizeof(df::world_site_unk130::T_unk_4) }, - { DF_Type::world_underground_region, sizeof(df::world_underground_region) }, - { DF_Type::world_underground_region__T_type, sizeof(df::world_underground_region::T_type) }, - { DF_Type::world_unk_20, sizeof(df::world_unk_20) }, - { DF_Type::world_unk_20__T_anon_7, sizeof(df::world_unk_20::T_anon_7) }, - { DF_Type::world_unk_6c, sizeof(df::world_unk_6c) }, - { DF_Type::world_unk_9c, sizeof(df::world_unk_9c) }, - { DF_Type::world_unk_a8, sizeof(df::world_unk_a8) }, - { DF_Type::world_unk_b4, sizeof(df::world_unk_b4) }, - { DF_Type::world_unk_c0, sizeof(df::world_unk_c0) }, - { DF_Type::world_unk_c0__T_anon_7, sizeof(df::world_unk_c0::T_anon_7) }, - { DF_Type::worldgen_range_type, sizeof(df::enums::worldgen_range_type::worldgen_range_type) }, - { DF_Type::worldgen_region_type, sizeof(df::enums::worldgen_region_type::worldgen_region_type) }, - { DF_Type::wound_curse_info, sizeof(df::wound_curse_info) }, - { DF_Type::wound_damage_flags1, sizeof(df::wound_damage_flags1) }, - { DF_Type::wound_damage_flags2, sizeof(df::wound_damage_flags2) }, - { DF_Type::wound_effect_type, sizeof(df::enums::wound_effect_type::wound_effect_type) }, - { DF_Type::written_content, sizeof(df::written_content) }, - { DF_Type::written_content_style, sizeof(df::enums::written_content_style::written_content_style) }, - { DF_Type::written_content_type, sizeof(df::enums::written_content_type::written_content_type) }, - { DF_Type::z_level_flags, sizeof(df::z_level_flags) }, - { DF_Type::zoom_commands, sizeof(df::enums::zoom_commands::zoom_commands) }, - { DF_Type::None, 0 }, - { DF_Type::int64_t, sizeof(int64_t) }, - { DF_Type::uint64_t, sizeof(uint64_t) }, - { DF_Type::int32_t, sizeof(int32_t) }, - { DF_Type::int16_t, sizeof(int16_t) }, - { DF_Type::uint32_t, sizeof(uint32_t) }, - { DF_Type::uint16_t, sizeof(uint16_t) }, - { DF_Type::uint8_t, sizeof(uint8_t) }, - { DF_Type::int8_t, sizeof(int8_t) }, - { DF_Type::Char, sizeof(char) }, - { DF_Type::Long, sizeof(long) }, - { DF_Type::Bool, sizeof(bool) }, - { DF_Type::S_float, sizeof(float) }, - { DF_Type::D_float, sizeof(float) }, - { DF_Type::S_double, sizeof(double) } -}; -std::size_t size_of_DF_Type(DF_Type p_type) -{ - auto result = DF_types_size_table[p_type]; - return result; -} +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "df_all.h" +#include "DF_Types.h" +#include + +namespace rdf +{ +std::map DF_types_size_table = +{ + { DF_Type::abstract_building, sizeof(df::abstract_building) }, + { DF_Type::abstract_building__T_inhabitants, sizeof(df::abstract_building::T_inhabitants) }, + { DF_Type::abstract_building__T_unk1, sizeof(df::abstract_building::T_unk1) }, + { DF_Type::abstract_building_contents, sizeof(df::abstract_building_contents) }, + { DF_Type::abstract_building_dark_towerst, sizeof(df::abstract_building_dark_towerst) }, + { DF_Type::abstract_building_dungeonst, sizeof(df::abstract_building_dungeonst) }, + { DF_Type::abstract_building_dungeonst__T_dungeon_type, sizeof(df::abstract_building_dungeonst::T_dungeon_type) }, + { DF_Type::abstract_building_flags, sizeof(df::enums::abstract_building_flags::abstract_building_flags) }, + { DF_Type::abstract_building_inn_tavernst, sizeof(df::abstract_building_inn_tavernst) }, + { DF_Type::abstract_building_inn_tavernst__T_room_info, sizeof(df::abstract_building_inn_tavernst::T_room_info) }, + { DF_Type::abstract_building_keepst, sizeof(df::abstract_building_keepst) }, + { DF_Type::abstract_building_libraryst, sizeof(df::abstract_building_libraryst) }, + { DF_Type::abstract_building_marketst, sizeof(df::abstract_building_marketst) }, + { DF_Type::abstract_building_mead_hallst, sizeof(df::abstract_building_mead_hallst) }, + { DF_Type::abstract_building_templest, sizeof(df::abstract_building_templest) }, + { DF_Type::abstract_building_tombst, sizeof(df::abstract_building_tombst) }, + { DF_Type::abstract_building_type, sizeof(df::enums::abstract_building_type::abstract_building_type) }, + { DF_Type::abstract_building_underworld_spirest, sizeof(df::abstract_building_underworld_spirest) }, + { DF_Type::abstract_building_unk, sizeof(df::abstract_building_unk) }, + { DF_Type::abstract_building_unk__T_anon_1, sizeof(df::abstract_building_unk::T_anon_1) }, + { DF_Type::active_script_var_longst, sizeof(df::active_script_var_longst) }, + { DF_Type::active_script_var_unitst, sizeof(df::active_script_var_unitst) }, + { DF_Type::active_script_varst, sizeof(df::active_script_varst) }, + { DF_Type::activity_entry, sizeof(df::activity_entry) }, + { DF_Type::activity_event, sizeof(df::activity_event) }, + { DF_Type::activity_event__T_flags, sizeof(df::activity_event::T_flags) }, + { DF_Type::activity_event__T_unk_v42_1, sizeof(df::activity_event::T_unk_v42_1) }, + { DF_Type::activity_event__T_unk_v42_2, sizeof(df::activity_event::T_unk_v42_2) }, + { DF_Type::activity_event_combat_trainingst, sizeof(df::activity_event_combat_trainingst) }, + { DF_Type::activity_event_conflictst, sizeof(df::activity_event_conflictst) }, + { DF_Type::activity_event_conflictst__T_sides, sizeof(df::activity_event_conflictst::T_sides) }, + { DF_Type::activity_event_conflictst__T_sides__T_enemies, sizeof(df::activity_event_conflictst::T_sides::T_enemies) }, + { DF_Type::activity_event_conversationst, sizeof(df::activity_event_conversationst) }, + { DF_Type::activity_event_conversationst__T_anon_6, sizeof(df::activity_event_conversationst::T_anon_6) }, + { DF_Type::activity_event_conversationst__T_flags2, sizeof(df::activity_event_conversationst::T_flags2) }, + { DF_Type::activity_event_conversationst__T_participants, sizeof(df::activity_event_conversationst::T_participants) }, + { DF_Type::activity_event_conversationst__T_turns, sizeof(df::activity_event_conversationst::T_turns) }, + { DF_Type::activity_event_conversationst__T_unk2, sizeof(df::activity_event_conversationst::T_unk2) }, + { DF_Type::activity_event_conversationst__T_unk_b4, sizeof(df::activity_event_conversationst::T_unk_b4) }, + { DF_Type::activity_event_copy_written_contentst, sizeof(df::activity_event_copy_written_contentst) }, + { DF_Type::activity_event_copy_written_contentst__T_flagsmaybe, sizeof(df::activity_event_copy_written_contentst::T_flagsmaybe) }, + { DF_Type::activity_event_discuss_topicst, sizeof(df::activity_event_discuss_topicst) }, + { DF_Type::activity_event_encounterst, sizeof(df::activity_event_encounterst) }, + { DF_Type::activity_event_encounterst__T_anon_1, sizeof(df::activity_event_encounterst::T_anon_1) }, + { DF_Type::activity_event_encounterst__T_anon_2, sizeof(df::activity_event_encounterst::T_anon_2) }, + { DF_Type::activity_event_fill_service_orderst, sizeof(df::activity_event_fill_service_orderst) }, + { DF_Type::activity_event_guardst, sizeof(df::activity_event_guardst) }, + { DF_Type::activity_event_harassmentst, sizeof(df::activity_event_harassmentst) }, + { DF_Type::activity_event_harassmentst__T_anon_2, sizeof(df::activity_event_harassmentst::T_anon_2) }, + { DF_Type::activity_event_individual_skill_drillst, sizeof(df::activity_event_individual_skill_drillst) }, + { DF_Type::activity_event_make_believest, sizeof(df::activity_event_make_believest) }, + { DF_Type::activity_event_participants, sizeof(df::activity_event_participants) }, + { DF_Type::activity_event_performancest, sizeof(df::activity_event_performancest) }, + { DF_Type::activity_event_performancest__T_participant_actions, sizeof(df::activity_event_performancest::T_participant_actions) }, + { DF_Type::activity_event_play_with_toyst, sizeof(df::activity_event_play_with_toyst) }, + { DF_Type::activity_event_play_with_toyst__T_unk, sizeof(df::activity_event_play_with_toyst::T_unk) }, + { DF_Type::activity_event_playst, sizeof(df::activity_event_playst) }, + { DF_Type::activity_event_ponder_topicst, sizeof(df::activity_event_ponder_topicst) }, + { DF_Type::activity_event_prayerst, sizeof(df::activity_event_prayerst) }, + { DF_Type::activity_event_ranged_practicest, sizeof(df::activity_event_ranged_practicest) }, + { DF_Type::activity_event_readst, sizeof(df::activity_event_readst) }, + { DF_Type::activity_event_researchst, sizeof(df::activity_event_researchst) }, + { DF_Type::activity_event_reunionst, sizeof(df::activity_event_reunionst) }, + { DF_Type::activity_event_skill_demonstrationst, sizeof(df::activity_event_skill_demonstrationst) }, + { DF_Type::activity_event_socializest, sizeof(df::activity_event_socializest) }, + { DF_Type::activity_event_sparringst, sizeof(df::activity_event_sparringst) }, + { DF_Type::activity_event_sparringst__T_groups, sizeof(df::activity_event_sparringst::T_groups) }, + { DF_Type::activity_event_store_objectst, sizeof(df::activity_event_store_objectst) }, + { DF_Type::activity_event_teach_topicst, sizeof(df::activity_event_teach_topicst) }, + { DF_Type::activity_event_training_sessionst, sizeof(df::activity_event_training_sessionst) }, + { DF_Type::activity_event_type, sizeof(df::enums::activity_event_type::activity_event_type) }, + { DF_Type::activity_event_worshipst, sizeof(df::activity_event_worshipst) }, + { DF_Type::activity_event_writest, sizeof(df::activity_event_writest) }, + { DF_Type::activity_info, sizeof(df::activity_info) }, + { DF_Type::activity_info__T_flags, sizeof(df::activity_info::T_flags) }, + { DF_Type::adventure_environment_ingest_from_containerst, sizeof(df::adventure_environment_ingest_from_containerst) }, + { DF_Type::adventure_environment_ingest_materialst, sizeof(df::adventure_environment_ingest_materialst) }, + { DF_Type::adventure_environment_optionst, sizeof(df::adventure_environment_optionst) }, + { DF_Type::adventure_environment_pickup_chop_treest, sizeof(df::adventure_environment_pickup_chop_treest) }, + { DF_Type::adventure_environment_pickup_ignite_vegst, sizeof(df::adventure_environment_pickup_ignite_vegst) }, + { DF_Type::adventure_environment_pickup_make_campfirest, sizeof(df::adventure_environment_pickup_make_campfirest) }, + { DF_Type::adventure_environment_pickup_vermin_eventst, sizeof(df::adventure_environment_pickup_vermin_eventst) }, + { DF_Type::adventure_environment_place_in_bld_containerst, sizeof(df::adventure_environment_place_in_bld_containerst) }, + { DF_Type::adventure_environment_place_in_it_containerst, sizeof(df::adventure_environment_place_in_it_containerst) }, + { DF_Type::adventure_environment_unit_suck_bloodst, sizeof(df::adventure_environment_unit_suck_bloodst) }, + { DF_Type::adventure_item_interact_choicest, sizeof(df::adventure_item_interact_choicest) }, + { DF_Type::adventure_item_interact_fill_from_containerst, sizeof(df::adventure_item_interact_fill_from_containerst) }, + { DF_Type::adventure_item_interact_fill_with_materialst, sizeof(df::adventure_item_interact_fill_with_materialst) }, + { DF_Type::adventure_item_interact_give_namest, sizeof(df::adventure_item_interact_give_namest) }, + { DF_Type::adventure_item_interact_heat_from_tilest, sizeof(df::adventure_item_interact_heat_from_tilest) }, + { DF_Type::adventure_item_interact_pull_outst, sizeof(df::adventure_item_interact_pull_outst) }, + { DF_Type::adventure_item_interact_readst, sizeof(df::adventure_item_interact_readst) }, + { DF_Type::adventure_item_interact_strugglest, sizeof(df::adventure_item_interact_strugglest) }, + { DF_Type::adventure_log_item, sizeof(df::adventure_log_item) }, + { DF_Type::adventure_movement_attack_creaturest, sizeof(df::adventure_movement_attack_creaturest) }, + { DF_Type::adventure_movement_building_interactst, sizeof(df::adventure_movement_building_interactst) }, + { DF_Type::adventure_movement_climbst, sizeof(df::adventure_movement_climbst) }, + { DF_Type::adventure_movement_hold_itemst, sizeof(df::adventure_movement_hold_itemst) }, + { DF_Type::adventure_movement_hold_tilest, sizeof(df::adventure_movement_hold_tilest) }, + { DF_Type::adventure_movement_item_interact_guidest, sizeof(df::adventure_movement_item_interact_guidest) }, + { DF_Type::adventure_movement_item_interact_pushst, sizeof(df::adventure_movement_item_interact_pushst) }, + { DF_Type::adventure_movement_item_interact_ridest, sizeof(df::adventure_movement_item_interact_ridest) }, + { DF_Type::adventure_movement_item_interactst, sizeof(df::adventure_movement_item_interactst) }, + { DF_Type::adventure_movement_movest, sizeof(df::adventure_movement_movest) }, + { DF_Type::adventure_movement_optionst, sizeof(df::adventure_movement_optionst) }, + { DF_Type::adventure_movement_release_hold_itemst, sizeof(df::adventure_movement_release_hold_itemst) }, + { DF_Type::adventure_movement_release_hold_tilest, sizeof(df::adventure_movement_release_hold_tilest) }, + { DF_Type::adventure_option_eat_item_contaminantst, sizeof(df::adventure_option_eat_item_contaminantst) }, + { DF_Type::adventure_option_eat_unit_contaminantst, sizeof(df::adventure_option_eat_unit_contaminantst) }, + { DF_Type::adventure_option_view_contaminantst, sizeof(df::adventure_option_view_contaminantst) }, + { DF_Type::adventure_optionst, sizeof(df::adventure_optionst) }, + { DF_Type::adventurer_attribute_level, sizeof(df::enums::adventurer_attribute_level::adventurer_attribute_level) }, + { DF_Type::agreement, sizeof(df::agreement) }, + { DF_Type::agreement__T_details, sizeof(df::agreement::T_details) }, + { DF_Type::agreement__T_details__T_data, sizeof(df::agreement::T_details::T_data) }, + { DF_Type::agreement__T_details__T_data__T_data0, sizeof(df::agreement::T_details::T_data::T_data0) }, + { DF_Type::agreement__T_details__T_data__T_data1, sizeof(df::agreement::T_details::T_data::T_data1) }, + { DF_Type::agreement__T_parties, sizeof(df::agreement::T_parties) }, + { DF_Type::agreement__T_parties__T_anon_1, sizeof(df::agreement::T_parties::T_anon_1) }, + { DF_Type::ammo_flags, sizeof(df::enums::ammo_flags::ammo_flags) }, + { DF_Type::animal_training_level, sizeof(df::enums::animal_training_level::animal_training_level) }, + { DF_Type::announcement_flags, sizeof(df::announcement_flags) }, + { DF_Type::announcement_type, sizeof(df::enums::announcement_type::announcement_type) }, + { DF_Type::announcements, sizeof(df::announcements) }, + { DF_Type::appearance_modifier_growth_interval, sizeof(df::enums::appearance_modifier_growth_interval::appearance_modifier_growth_interval) }, + { DF_Type::appearance_modifier_type, sizeof(df::enums::appearance_modifier_type::appearance_modifier_type) }, + { DF_Type::armor_flags, sizeof(df::enums::armor_flags::armor_flags) }, + { DF_Type::armor_general_flags, sizeof(df::enums::armor_general_flags::armor_general_flags) }, + { DF_Type::armor_properties, sizeof(df::armor_properties) }, + { DF_Type::army, sizeof(df::army) }, + { DF_Type::army__T_members, sizeof(df::army::T_members) }, + { DF_Type::army__T_unk_2c, sizeof(df::army::T_unk_2c) }, + { DF_Type::army_controller, sizeof(df::army_controller) }, + { DF_Type::army_controller__T_unk_64, sizeof(df::army_controller::T_unk_64) }, + { DF_Type::army_controller_sub1, sizeof(df::army_controller_sub1) }, + { DF_Type::army_controller_sub11, sizeof(df::army_controller_sub11) }, + { DF_Type::army_controller_sub11__T_anon_3, sizeof(df::army_controller_sub11::T_anon_3) }, + { DF_Type::army_controller_sub12, sizeof(df::army_controller_sub12) }, + { DF_Type::army_controller_sub12__T_anon_4, sizeof(df::army_controller_sub12::T_anon_4) }, + { DF_Type::army_controller_sub13, sizeof(df::army_controller_sub13) }, + { DF_Type::army_controller_sub13__T_anon_4, sizeof(df::army_controller_sub13::T_anon_4) }, + { DF_Type::army_controller_sub14, sizeof(df::army_controller_sub14) }, + { DF_Type::army_controller_sub14__T_anon_4, sizeof(df::army_controller_sub14::T_anon_4) }, + { DF_Type::army_controller_sub15, sizeof(df::army_controller_sub15) }, + { DF_Type::army_controller_sub15__T_anon_3, sizeof(df::army_controller_sub15::T_anon_3) }, + { DF_Type::army_controller_sub16, sizeof(df::army_controller_sub16) }, + { DF_Type::army_controller_sub17, sizeof(df::army_controller_sub17) }, + { DF_Type::army_controller_sub18, sizeof(df::army_controller_sub18) }, + { DF_Type::army_controller_sub2, sizeof(df::army_controller_sub2) }, + { DF_Type::army_controller_sub2__T_anon_5, sizeof(df::army_controller_sub2::T_anon_5) }, + { DF_Type::army_controller_sub4, sizeof(df::army_controller_sub4) }, + { DF_Type::army_controller_sub4__T_unk_2, sizeof(df::army_controller_sub4::T_unk_2) }, + { DF_Type::army_controller_sub5, sizeof(df::army_controller_sub5) }, + { DF_Type::army_controller_sub6, sizeof(df::army_controller_sub6) }, + { DF_Type::army_controller_sub7, sizeof(df::army_controller_sub7) }, + { DF_Type::army_controller_sub7__T_anon_3, sizeof(df::army_controller_sub7::T_anon_3) }, + { DF_Type::army_flags, sizeof(df::enums::army_flags::army_flags) }, + { DF_Type::art_facet_type, sizeof(df::enums::art_facet_type::art_facet_type) }, + { DF_Type::art_image, sizeof(df::art_image) }, + { DF_Type::art_image_chunk, sizeof(df::art_image_chunk) }, + { DF_Type::art_image_element, sizeof(df::art_image_element) }, + { DF_Type::art_image_element_creaturest, sizeof(df::art_image_element_creaturest) }, + { DF_Type::art_image_element_itemst, sizeof(df::art_image_element_itemst) }, + { DF_Type::art_image_element_plantst, sizeof(df::art_image_element_plantst) }, + { DF_Type::art_image_element_shapest, sizeof(df::art_image_element_shapest) }, + { DF_Type::art_image_element_treest, sizeof(df::art_image_element_treest) }, + { DF_Type::art_image_element_type, sizeof(df::enums::art_image_element_type::art_image_element_type) }, + { DF_Type::art_image_property, sizeof(df::art_image_property) }, + { DF_Type::art_image_property_intransitive_verbst, sizeof(df::art_image_property_intransitive_verbst) }, + { DF_Type::art_image_property_transitive_verbst, sizeof(df::art_image_property_transitive_verbst) }, + { DF_Type::art_image_property_type, sizeof(df::enums::art_image_property_type::art_image_property_type) }, + { DF_Type::art_image_property_verb, sizeof(df::enums::art_image_property_verb::art_image_property_verb) }, + { DF_Type::art_image_ref, sizeof(df::art_image_ref) }, + { DF_Type::artifact_record, sizeof(df::artifact_record) }, + { DF_Type::assign_trade_status, sizeof(df::assign_trade_status) }, + { DF_Type::assign_trade_status__T_status, sizeof(df::assign_trade_status::T_status) }, + { DF_Type::assume_identity_mode, sizeof(df::enums::assume_identity_mode::assume_identity_mode) }, + { DF_Type::barrack_preference_category, sizeof(df::enums::barrack_preference_category::barrack_preference_category) }, + { DF_Type::belief_system, sizeof(df::belief_system) }, + { DF_Type::biome_type, sizeof(df::enums::biome_type::biome_type) }, + { DF_Type::block_burrow, sizeof(df::block_burrow) }, + { DF_Type::block_burrow_link, sizeof(df::block_burrow_link) }, + { DF_Type::block_flags, sizeof(df::block_flags) }, + { DF_Type::block_square_event, sizeof(df::block_square_event) }, + { DF_Type::block_square_event_designation_priorityst, sizeof(df::block_square_event_designation_priorityst) }, + { DF_Type::block_square_event_frozen_liquidst, sizeof(df::block_square_event_frozen_liquidst) }, + { DF_Type::block_square_event_grassst, sizeof(df::block_square_event_grassst) }, + { DF_Type::block_square_event_item_spatterst, sizeof(df::block_square_event_item_spatterst) }, + { DF_Type::block_square_event_material_spatterst, sizeof(df::block_square_event_material_spatterst) }, + { DF_Type::block_square_event_mineralst, sizeof(df::block_square_event_mineralst) }, + { DF_Type::block_square_event_mineralst__T_flags, sizeof(df::block_square_event_mineralst::T_flags) }, + { DF_Type::block_square_event_spoorst, sizeof(df::block_square_event_spoorst) }, + { DF_Type::block_square_event_type, sizeof(df::enums::block_square_event_type::block_square_event_type) }, + { DF_Type::block_square_event_world_constructionst, sizeof(df::block_square_event_world_constructionst) }, + { DF_Type::body_appearance_modifier, sizeof(df::body_appearance_modifier) }, + { DF_Type::body_component_info, sizeof(df::body_component_info) }, + { DF_Type::body_detail_plan, sizeof(df::body_detail_plan) }, + { DF_Type::body_layer_status, sizeof(df::body_layer_status) }, + { DF_Type::body_part_layer_flags, sizeof(df::enums::body_part_layer_flags::body_part_layer_flags) }, + { DF_Type::body_part_layer_raw, sizeof(df::body_part_layer_raw) }, + { DF_Type::body_part_raw, sizeof(df::body_part_raw) }, + { DF_Type::body_part_raw_flags, sizeof(df::enums::body_part_raw_flags::body_part_raw_flags) }, + { DF_Type::body_part_status, sizeof(df::body_part_status) }, + { DF_Type::body_part_template, sizeof(df::body_part_template) }, + { DF_Type::body_part_template_contype, sizeof(df::enums::body_part_template_contype::body_part_template_contype) }, + { DF_Type::body_part_template_flags, sizeof(df::enums::body_part_template_flags::body_part_template_flags) }, + { DF_Type::body_size_info, sizeof(df::body_size_info) }, + { DF_Type::body_template, sizeof(df::body_template) }, + { DF_Type::bp_appearance_modifier, sizeof(df::bp_appearance_modifier) }, + { DF_Type::breath_attack_type, sizeof(df::enums::breath_attack_type::breath_attack_type) }, + { DF_Type::build_req_choice_genst, sizeof(df::build_req_choice_genst) }, + { DF_Type::build_req_choice_specst, sizeof(df::build_req_choice_specst) }, + { DF_Type::build_req_choice_type, sizeof(df::enums::build_req_choice_type::build_req_choice_type) }, + { DF_Type::build_req_choicest, sizeof(df::build_req_choicest) }, + { DF_Type::building, sizeof(df::building) }, + { DF_Type::building__T_activities, sizeof(df::building::T_activities) }, + { DF_Type::building__T_job_claim_suppress, sizeof(df::building::T_job_claim_suppress) }, + { DF_Type::building_actual, sizeof(df::building_actual) }, + { DF_Type::building_actual__T_contained_items, sizeof(df::building_actual::T_contained_items) }, + { DF_Type::building_animaltrapst, sizeof(df::building_animaltrapst) }, + { DF_Type::building_archerytargetst, sizeof(df::building_archerytargetst) }, + { DF_Type::building_archerytargetst__T_archery_direction, sizeof(df::building_archerytargetst::T_archery_direction) }, + { DF_Type::building_armorstandst, sizeof(df::building_armorstandst) }, + { DF_Type::building_axle_horizontalst, sizeof(df::building_axle_horizontalst) }, + { DF_Type::building_axle_verticalst, sizeof(df::building_axle_verticalst) }, + { DF_Type::building_bars_floorst, sizeof(df::building_bars_floorst) }, + { DF_Type::building_bars_verticalst, sizeof(df::building_bars_verticalst) }, + { DF_Type::building_bedst, sizeof(df::building_bedst) }, + { DF_Type::building_bedst__T_bed_flags, sizeof(df::building_bedst::T_bed_flags) }, + { DF_Type::building_bookcasest, sizeof(df::building_bookcasest) }, + { DF_Type::building_boxst, sizeof(df::building_boxst) }, + { DF_Type::building_bridgest, sizeof(df::building_bridgest) }, + { DF_Type::building_bridgest__T_direction, sizeof(df::building_bridgest::T_direction) }, + { DF_Type::building_cabinetst, sizeof(df::building_cabinetst) }, + { DF_Type::building_cagest, sizeof(df::building_cagest) }, + { DF_Type::building_cagest__T_cage_flags, sizeof(df::building_cagest::T_cage_flags) }, + { DF_Type::building_chainst, sizeof(df::building_chainst) }, + { DF_Type::building_chainst__T_chain_flags, sizeof(df::building_chainst::T_chain_flags) }, + { DF_Type::building_chairst, sizeof(df::building_chairst) }, + { DF_Type::building_civzonest, sizeof(df::building_civzonest) }, + { DF_Type::building_civzonest__T_gather_flags, sizeof(df::building_civzonest::T_gather_flags) }, + { DF_Type::building_civzonest__T_pit_flags, sizeof(df::building_civzonest::T_pit_flags) }, + { DF_Type::building_civzonest__T_zone_flags, sizeof(df::building_civzonest::T_zone_flags) }, + { DF_Type::building_coffinst, sizeof(df::building_coffinst) }, + { DF_Type::building_coffinst__T_burial_mode, sizeof(df::building_coffinst::T_burial_mode) }, + { DF_Type::building_constructionst, sizeof(df::building_constructionst) }, + { DF_Type::building_def, sizeof(df::building_def) }, + { DF_Type::building_def_furnacest, sizeof(df::building_def_furnacest) }, + { DF_Type::building_def_item, sizeof(df::building_def_item) }, + { DF_Type::building_def_workshopst, sizeof(df::building_def_workshopst) }, + { DF_Type::building_design, sizeof(df::building_design) }, + { DF_Type::building_design__T_flags, sizeof(df::building_design::T_flags) }, + { DF_Type::building_display_furniturest, sizeof(df::building_display_furniturest) }, + { DF_Type::building_doorst, sizeof(df::building_doorst) }, + { DF_Type::building_drawbuffer, sizeof(df::building_drawbuffer) }, + { DF_Type::building_extents, sizeof(df::building_extents) }, + { DF_Type::building_farmplotst, sizeof(df::building_farmplotst) }, + { DF_Type::building_flags, sizeof(df::building_flags) }, + { DF_Type::building_floodgatest, sizeof(df::building_floodgatest) }, + { DF_Type::building_furnacest, sizeof(df::building_furnacest) }, + { DF_Type::building_gear_assemblyst, sizeof(df::building_gear_assemblyst) }, + { DF_Type::building_gear_assemblyst__T_gear_flags, sizeof(df::building_gear_assemblyst::T_gear_flags) }, + { DF_Type::building_grate_floorst, sizeof(df::building_grate_floorst) }, + { DF_Type::building_grate_wallst, sizeof(df::building_grate_wallst) }, + { DF_Type::building_handler, sizeof(df::building_handler) }, + { DF_Type::building_hatchst, sizeof(df::building_hatchst) }, + { DF_Type::building_hivest, sizeof(df::building_hivest) }, + { DF_Type::building_instrumentst, sizeof(df::building_instrumentst) }, + { DF_Type::building_nest_boxst, sizeof(df::building_nest_boxst) }, + { DF_Type::building_nestst, sizeof(df::building_nestst) }, + { DF_Type::building_road_dirtst, sizeof(df::building_road_dirtst) }, + { DF_Type::building_road_pavedst, sizeof(df::building_road_pavedst) }, + { DF_Type::building_roadst, sizeof(df::building_roadst) }, + { DF_Type::building_rollersst, sizeof(df::building_rollersst) }, + { DF_Type::building_screw_pumpst, sizeof(df::building_screw_pumpst) }, + { DF_Type::building_shopst, sizeof(df::building_shopst) }, + { DF_Type::building_shopst__T_shop_flags, sizeof(df::building_shopst::T_shop_flags) }, + { DF_Type::building_siegeenginest, sizeof(df::building_siegeenginest) }, + { DF_Type::building_siegeenginest__T_action, sizeof(df::building_siegeenginest::T_action) }, + { DF_Type::building_siegeenginest__T_facing, sizeof(df::building_siegeenginest::T_facing) }, + { DF_Type::building_slabst, sizeof(df::building_slabst) }, + { DF_Type::building_squad_use, sizeof(df::building_squad_use) }, + { DF_Type::building_statuest, sizeof(df::building_statuest) }, + { DF_Type::building_stockpilest, sizeof(df::building_stockpilest) }, + { DF_Type::building_supportst, sizeof(df::building_supportst) }, + { DF_Type::building_supportst__T_support_flags, sizeof(df::building_supportst::T_support_flags) }, + { DF_Type::building_tablest, sizeof(df::building_tablest) }, + { DF_Type::building_tablest__T_table_flags, sizeof(df::building_tablest::T_table_flags) }, + { DF_Type::building_traction_benchst, sizeof(df::building_traction_benchst) }, + { DF_Type::building_tradedepotst, sizeof(df::building_tradedepotst) }, + { DF_Type::building_tradedepotst__T_trade_flags, sizeof(df::building_tradedepotst::T_trade_flags) }, + { DF_Type::building_trapst, sizeof(df::building_trapst) }, + { DF_Type::building_trapst__T_stop_flags, sizeof(df::building_trapst::T_stop_flags) }, + { DF_Type::building_type, sizeof(df::enums::building_type::building_type) }, + { DF_Type::building_users, sizeof(df::building_users) }, + { DF_Type::building_wagonst, sizeof(df::building_wagonst) }, + { DF_Type::building_water_wheelst, sizeof(df::building_water_wheelst) }, + { DF_Type::building_weaponrackst, sizeof(df::building_weaponrackst) }, + { DF_Type::building_weaponst, sizeof(df::building_weaponst) }, + { DF_Type::building_wellst, sizeof(df::building_wellst) }, + { DF_Type::building_wellst__T_well_flags, sizeof(df::building_wellst::T_well_flags) }, + { DF_Type::building_windmillst, sizeof(df::building_windmillst) }, + { DF_Type::building_window_gemst, sizeof(df::building_window_gemst) }, + { DF_Type::building_window_glassst, sizeof(df::building_window_glassst) }, + { DF_Type::building_windowst, sizeof(df::building_windowst) }, + { DF_Type::building_workshopst, sizeof(df::building_workshopst) }, + { DF_Type::buildings_other_id, sizeof(df::enums::buildings_other_id::buildings_other_id) }, + { DF_Type::builtin_mats, sizeof(df::enums::builtin_mats::builtin_mats) }, + { DF_Type::burrow, sizeof(df::burrow) }, + { DF_Type::campfire, sizeof(df::campfire) }, + { DF_Type::caravan_state, sizeof(df::caravan_state) }, + { DF_Type::caravan_state__T_flags, sizeof(df::caravan_state::T_flags) }, + { DF_Type::caravan_state__T_trade_state, sizeof(df::caravan_state::T_trade_state) }, + { DF_Type::caste_attack, sizeof(df::caste_attack) }, + { DF_Type::caste_attack__T_flags, sizeof(df::caste_attack::T_flags) }, + { DF_Type::caste_body_info, sizeof(df::caste_body_info) }, + { DF_Type::caste_body_info__T_extra_butcher_objects, sizeof(df::caste_body_info::T_extra_butcher_objects) }, + { DF_Type::caste_body_info__T_flags, sizeof(df::caste_body_info::T_flags) }, + { DF_Type::caste_body_info__T_interactions, sizeof(df::caste_body_info::T_interactions) }, + { DF_Type::caste_body_info__T_interactions__T_type, sizeof(df::caste_body_info::T_interactions::T_type) }, + { DF_Type::caste_clothing_item, sizeof(df::caste_clothing_item) }, + { DF_Type::caste_raw, sizeof(df::caste_raw) }, + { DF_Type::caste_raw__T_attributes, sizeof(df::caste_raw::T_attributes) }, + { DF_Type::caste_raw__T_bp_appearance, sizeof(df::caste_raw::T_bp_appearance) }, + { DF_Type::caste_raw__T_caste_profession_name, sizeof(df::caste_raw::T_caste_profession_name) }, + { DF_Type::caste_raw__T_extracts, sizeof(df::caste_raw::T_extracts) }, + { DF_Type::caste_raw__T_misc, sizeof(df::caste_raw::T_misc) }, + { DF_Type::caste_raw__T_personality, sizeof(df::caste_raw::T_personality) }, + { DF_Type::caste_raw__T_secretion, sizeof(df::caste_raw::T_secretion) }, + { DF_Type::caste_raw__T_shearable_tissue_layer, sizeof(df::caste_raw::T_shearable_tissue_layer) }, + { DF_Type::caste_raw__T_unknown2, sizeof(df::caste_raw::T_unknown2) }, + { DF_Type::caste_raw_flags, sizeof(df::enums::caste_raw_flags::caste_raw_flags) }, + { DF_Type::cave_column, sizeof(df::cave_column) }, + { DF_Type::cave_column_link, sizeof(df::cave_column_link) }, + { DF_Type::cave_column_rectangle, sizeof(df::cave_column_rectangle) }, + { DF_Type::cie_add_tag_mask1, sizeof(df::cie_add_tag_mask1) }, + { DF_Type::cie_add_tag_mask2, sizeof(df::cie_add_tag_mask2) }, + { DF_Type::civzone_type, sizeof(df::enums::civzone_type::civzone_type) }, + { DF_Type::coin_batch, sizeof(df::coin_batch) }, + { DF_Type::coin_batch__T_image_back, sizeof(df::coin_batch::T_image_back) }, + { DF_Type::coin_batch__T_image_front, sizeof(df::coin_batch::T_image_front) }, + { DF_Type::color_modifier_raw, sizeof(df::color_modifier_raw) }, + { DF_Type::combat_report_event_type, sizeof(df::enums::combat_report_event_type::combat_report_event_type) }, + { DF_Type::conflict_level, sizeof(df::enums::conflict_level::conflict_level) }, + { DF_Type::construction, sizeof(df::construction) }, + { DF_Type::construction_flags, sizeof(df::construction_flags) }, + { DF_Type::construction_type, sizeof(df::enums::construction_type::construction_type) }, + { DF_Type::conversation, sizeof(df::conversation) }, + { DF_Type::conversation__T_speech, sizeof(df::conversation::T_speech) }, + { DF_Type::conversation__T_state, sizeof(df::conversation::T_state) }, + { DF_Type::conversation_menu, sizeof(df::enums::conversation_menu::conversation_menu) }, + { DF_Type::coord, sizeof(df::coord) }, + { DF_Type::coord2d, sizeof(df::coord2d) }, + { DF_Type::coord2d_path, sizeof(df::coord2d_path) }, + { DF_Type::coord_path, sizeof(df::coord_path) }, + { DF_Type::coord_rect, sizeof(df::coord_rect) }, + { DF_Type::corpse_material_type, sizeof(df::enums::corpse_material_type::corpse_material_type) }, + { DF_Type::craft_material_class, sizeof(df::enums::craft_material_class::craft_material_class) }, + { DF_Type::creation_zone_pwg_alteration_campst, sizeof(df::creation_zone_pwg_alteration_campst) }, + { DF_Type::creation_zone_pwg_alteration_location_deathst, sizeof(df::creation_zone_pwg_alteration_location_deathst) }, + { DF_Type::creation_zone_pwg_alteration_location_deathst__T_unk_1, sizeof(df::creation_zone_pwg_alteration_location_deathst::T_unk_1) }, + { DF_Type::creation_zone_pwg_alteration_location_deathst__T_unk_1__T_anon_1, sizeof(df::creation_zone_pwg_alteration_location_deathst::T_unk_1::T_anon_1) }, + { DF_Type::creation_zone_pwg_alteration_srb_ruinedst, sizeof(df::creation_zone_pwg_alteration_srb_ruinedst) }, + { DF_Type::creation_zone_pwg_alteration_srp_ruinedst, sizeof(df::creation_zone_pwg_alteration_srp_ruinedst) }, + { DF_Type::creation_zone_pwg_alteration_type, sizeof(df::enums::creation_zone_pwg_alteration_type::creation_zone_pwg_alteration_type) }, + { DF_Type::creation_zone_pwg_alterationst, sizeof(df::creation_zone_pwg_alterationst) }, + { DF_Type::creature_graphics_appointment, sizeof(df::creature_graphics_appointment) }, + { DF_Type::creature_graphics_role, sizeof(df::enums::creature_graphics_role::creature_graphics_role) }, + { DF_Type::creature_handler, sizeof(df::creature_handler) }, + { DF_Type::creature_interaction, sizeof(df::creature_interaction) }, + { DF_Type::creature_interaction__T_flags, sizeof(df::creature_interaction::T_flags) }, + { DF_Type::creature_interaction_effect, sizeof(df::creature_interaction_effect) }, + { DF_Type::creature_interaction_effect__T_counter_trigger, sizeof(df::creature_interaction_effect::T_counter_trigger) }, + { DF_Type::creature_interaction_effect_add_simple_flagst, sizeof(df::creature_interaction_effect_add_simple_flagst) }, + { DF_Type::creature_interaction_effect_bleedingst, sizeof(df::creature_interaction_effect_bleedingst) }, + { DF_Type::creature_interaction_effect_blistersst, sizeof(df::creature_interaction_effect_blistersst) }, + { DF_Type::creature_interaction_effect_body_appearance_modifierst, sizeof(df::creature_interaction_effect_body_appearance_modifierst) }, + { DF_Type::creature_interaction_effect_body_mat_interactionst, sizeof(df::creature_interaction_effect_body_mat_interactionst) }, + { DF_Type::creature_interaction_effect_body_transformationst, sizeof(df::creature_interaction_effect_body_transformationst) }, + { DF_Type::creature_interaction_effect_bp_appearance_modifierst, sizeof(df::creature_interaction_effect_bp_appearance_modifierst) }, + { DF_Type::creature_interaction_effect_bruisingst, sizeof(df::creature_interaction_effect_bruisingst) }, + { DF_Type::creature_interaction_effect_can_do_interactionst, sizeof(df::creature_interaction_effect_can_do_interactionst) }, + { DF_Type::creature_interaction_effect_change_personalityst, sizeof(df::creature_interaction_effect_change_personalityst) }, + { DF_Type::creature_interaction_effect_cough_bloodst, sizeof(df::creature_interaction_effect_cough_bloodst) }, + { DF_Type::creature_interaction_effect_display_namest, sizeof(df::creature_interaction_effect_display_namest) }, + { DF_Type::creature_interaction_effect_display_symbolst, sizeof(df::creature_interaction_effect_display_symbolst) }, + { DF_Type::creature_interaction_effect_dizzinessst, sizeof(df::creature_interaction_effect_dizzinessst) }, + { DF_Type::creature_interaction_effect_drowsinessst, sizeof(df::creature_interaction_effect_drowsinessst) }, + { DF_Type::creature_interaction_effect_erratic_behaviorst, sizeof(df::creature_interaction_effect_erratic_behaviorst) }, + { DF_Type::creature_interaction_effect_feel_emotionst, sizeof(df::creature_interaction_effect_feel_emotionst) }, + { DF_Type::creature_interaction_effect_feverst, sizeof(df::creature_interaction_effect_feverst) }, + { DF_Type::creature_interaction_effect_flags, sizeof(df::creature_interaction_effect_flags) }, + { DF_Type::creature_interaction_effect_flash_symbolst, sizeof(df::creature_interaction_effect_flash_symbolst) }, + { DF_Type::creature_interaction_effect_impair_functionst, sizeof(df::creature_interaction_effect_impair_functionst) }, + { DF_Type::creature_interaction_effect_material_force_adjustst, sizeof(df::creature_interaction_effect_material_force_adjustst) }, + { DF_Type::creature_interaction_effect_ment_att_changest, sizeof(df::creature_interaction_effect_ment_att_changest) }, + { DF_Type::creature_interaction_effect_nauseast, sizeof(df::creature_interaction_effect_nauseast) }, + { DF_Type::creature_interaction_effect_necrosisst, sizeof(df::creature_interaction_effect_necrosisst) }, + { DF_Type::creature_interaction_effect_numbnessst, sizeof(df::creature_interaction_effect_numbnessst) }, + { DF_Type::creature_interaction_effect_oozingst, sizeof(df::creature_interaction_effect_oozingst) }, + { DF_Type::creature_interaction_effect_painst, sizeof(df::creature_interaction_effect_painst) }, + { DF_Type::creature_interaction_effect_paralysisst, sizeof(df::creature_interaction_effect_paralysisst) }, + { DF_Type::creature_interaction_effect_phys_att_changest, sizeof(df::creature_interaction_effect_phys_att_changest) }, + { DF_Type::creature_interaction_effect_remove_simple_flagst, sizeof(df::creature_interaction_effect_remove_simple_flagst) }, + { DF_Type::creature_interaction_effect_sense_creature_classst, sizeof(df::creature_interaction_effect_sense_creature_classst) }, + { DF_Type::creature_interaction_effect_skill_roll_adjustst, sizeof(df::creature_interaction_effect_skill_roll_adjustst) }, + { DF_Type::creature_interaction_effect_speed_changest, sizeof(df::creature_interaction_effect_speed_changest) }, + { DF_Type::creature_interaction_effect_swellingst, sizeof(df::creature_interaction_effect_swellingst) }, + { DF_Type::creature_interaction_effect_target, sizeof(df::creature_interaction_effect_target) }, + { DF_Type::creature_interaction_effect_target_mode, sizeof(df::enums::creature_interaction_effect_target_mode::creature_interaction_effect_target_mode) }, + { DF_Type::creature_interaction_effect_type, sizeof(df::enums::creature_interaction_effect_type::creature_interaction_effect_type) }, + { DF_Type::creature_interaction_effect_unconsciousnessst, sizeof(df::creature_interaction_effect_unconsciousnessst) }, + { DF_Type::creature_interaction_effect_vomit_bloodst, sizeof(df::creature_interaction_effect_vomit_bloodst) }, + { DF_Type::creature_interaction_target_flags, sizeof(df::creature_interaction_target_flags) }, + { DF_Type::creature_raw, sizeof(df::creature_raw) }, + { DF_Type::creature_raw__T_graphics, sizeof(df::creature_raw::T_graphics) }, + { DF_Type::creature_raw__T_hive_product, sizeof(df::creature_raw::T_hive_product) }, + { DF_Type::creature_raw__T_profession_name, sizeof(df::creature_raw::T_profession_name) }, + { DF_Type::creature_raw_flags, sizeof(df::enums::creature_raw_flags::creature_raw_flags) }, + { DF_Type::creature_variation, sizeof(df::creature_variation) }, + { DF_Type::creature_variation_convert_tag, sizeof(df::creature_variation_convert_tag) }, + { DF_Type::crime, sizeof(df::crime) }, + { DF_Type::crime__T_flags, sizeof(df::crime::T_flags) }, + { DF_Type::crime__T_mode, sizeof(df::crime::T_mode) }, + { DF_Type::crime__T_punishment, sizeof(df::crime::T_punishment) }, + { DF_Type::crime__T_reports, sizeof(df::crime::T_reports) }, + { DF_Type::cultural_identity, sizeof(df::cultural_identity) }, + { DF_Type::cultural_identity__T_group_log, sizeof(df::cultural_identity::T_group_log) }, + { DF_Type::cultural_identity__T_group_log__T_join_type, sizeof(df::cultural_identity::T_group_log::T_join_type) }, + { DF_Type::cumulus_type, sizeof(df::enums::cumulus_type::cumulus_type) }, + { DF_Type::curse_attr_change, sizeof(df::curse_attr_change) }, + { DF_Type::d_init, sizeof(df::d_init) }, + { DF_Type::d_init__T_store_dist, sizeof(df::d_init::T_store_dist) }, + { DF_Type::d_init__T_wound_color, sizeof(df::d_init::T_wound_color) }, + { DF_Type::d_init_embark_confirm, sizeof(df::enums::d_init_embark_confirm::d_init_embark_confirm) }, + { DF_Type::d_init_flags1, sizeof(df::enums::d_init_flags1::d_init_flags1) }, + { DF_Type::d_init_flags2, sizeof(df::enums::d_init_flags2::d_init_flags2) }, + { DF_Type::d_init_flags3, sizeof(df::enums::d_init_flags3::d_init_flags3) }, + { DF_Type::d_init_flags4, sizeof(df::enums::d_init_flags4::d_init_flags4) }, + { DF_Type::d_init_idlers, sizeof(df::enums::d_init_idlers::d_init_idlers) }, + { DF_Type::d_init_nickname, sizeof(df::enums::d_init_nickname::d_init_nickname) }, + { DF_Type::d_init_tunnel, sizeof(df::enums::d_init_tunnel::d_init_tunnel) }, + { DF_Type::d_init_z_view, sizeof(df::enums::d_init_z_view::d_init_z_view) }, + { DF_Type::dance_form, sizeof(df::dance_form) }, + { DF_Type::dance_form_sub1, sizeof(df::dance_form_sub1) }, + { DF_Type::dance_form_sub2, sizeof(df::dance_form_sub2) }, + { DF_Type::death_type, sizeof(df::enums::death_type::death_type) }, + { DF_Type::deep_vein_hollow, sizeof(df::deep_vein_hollow) }, + { DF_Type::descriptor_color, sizeof(df::descriptor_color) }, + { DF_Type::descriptor_pattern, sizeof(df::descriptor_pattern) }, + { DF_Type::descriptor_shape, sizeof(df::descriptor_shape) }, + { DF_Type::descriptor_shape__T_gems_use, sizeof(df::descriptor_shape::T_gems_use) }, + { DF_Type::dfhack_knowledge_scholar_flag, sizeof(df::enums::dfhack_knowledge_scholar_flag::dfhack_knowledge_scholar_flag) }, + { DF_Type::dfhack_material_category, sizeof(df::dfhack_material_category) }, + { DF_Type::dfhack_room_quality_level, sizeof(df::enums::dfhack_room_quality_level::dfhack_room_quality_level) }, + { DF_Type::dipscript_info, sizeof(df::dipscript_info) }, + { DF_Type::dipscript_popup, sizeof(df::dipscript_popup) }, + { DF_Type::dipscript_popup__T_flags, sizeof(df::dipscript_popup::T_flags) }, + { DF_Type::door_flags, sizeof(df::door_flags) }, + { DF_Type::dye_info, sizeof(df::dye_info) }, + { DF_Type::effect_info, sizeof(df::effect_info) }, + { DF_Type::embark_finder_option, sizeof(df::enums::embark_finder_option::embark_finder_option) }, + { DF_Type::embark_item_choice, sizeof(df::embark_item_choice) }, + { DF_Type::embark_item_choice__T_list, sizeof(df::embark_item_choice::T_list) }, + { DF_Type::embark_location, sizeof(df::embark_location) }, + { DF_Type::embark_note, sizeof(df::embark_note) }, + { DF_Type::embark_profile, sizeof(df::embark_profile) }, + { DF_Type::emotion_type, sizeof(df::enums::emotion_type::emotion_type) }, + { DF_Type::enabler__T_async_frombox, sizeof(df::enabler::T_async_frombox) }, + { DF_Type::enabler__T_async_frombox__T_queue, sizeof(df::enabler::T_async_frombox::T_queue) }, + { DF_Type::enabler__T_async_frombox__T_queue__T_msg, sizeof(df::enabler::T_async_frombox::T_queue::T_msg) }, + { DF_Type::enabler__T_async_tobox, sizeof(df::enabler::T_async_tobox) }, + { DF_Type::enabler__T_async_tobox__T_queue, sizeof(df::enabler::T_async_tobox::T_queue) }, + { DF_Type::enabler__T_async_tobox__T_queue__T_cmd, sizeof(df::enabler::T_async_tobox::T_queue::T_cmd) }, + { DF_Type::enabler__T_async_zoom, sizeof(df::enabler::T_async_zoom) }, + { DF_Type::enabler__T_flag, sizeof(df::enabler::T_flag) }, + { DF_Type::enabler__T_gputicks, sizeof(df::enabler::T_gputicks) }, + { DF_Type::enabler__T_overridden_grid_sizes, sizeof(df::enabler::T_overridden_grid_sizes) }, + { DF_Type::enabler__T_simticks, sizeof(df::enabler::T_simticks) }, + { DF_Type::enabler__T_textures, sizeof(df::enabler::T_textures) }, + { DF_Type::engraving, sizeof(df::engraving) }, + { DF_Type::engraving_flags, sizeof(df::engraving_flags) }, + { DF_Type::entity_action_type, sizeof(df::enums::entity_action_type::entity_action_type) }, + { DF_Type::entity_activity_statistics, sizeof(df::entity_activity_statistics) }, + { DF_Type::entity_activity_statistics__T_food, sizeof(df::entity_activity_statistics::T_food) }, + { DF_Type::entity_activity_statistics__T_found_misc, sizeof(df::entity_activity_statistics::T_found_misc) }, + { DF_Type::entity_activity_statistics__T_wealth, sizeof(df::entity_activity_statistics::T_wealth) }, + { DF_Type::entity_animal_raw, sizeof(df::entity_animal_raw) }, + { DF_Type::entity_animal_raw__T_flags, sizeof(df::entity_animal_raw::T_flags) }, + { DF_Type::entity_buy_prices, sizeof(df::entity_buy_prices) }, + { DF_Type::entity_buy_requests, sizeof(df::entity_buy_requests) }, + { DF_Type::entity_claim_mask, sizeof(df::entity_claim_mask) }, + { DF_Type::entity_claim_mask__T_map, sizeof(df::entity_claim_mask::T_map) }, + { DF_Type::entity_entity_link, sizeof(df::entity_entity_link) }, + { DF_Type::entity_entity_link_type, sizeof(df::enums::entity_entity_link_type::entity_entity_link_type) }, + { DF_Type::entity_event, sizeof(df::entity_event) }, + { DF_Type::entity_event__T_data, sizeof(df::entity_event::T_data) }, + { DF_Type::entity_event__T_data__T_abandon, sizeof(df::entity_event::T_data::T_abandon) }, + { DF_Type::entity_event__T_data__T_abduction, sizeof(df::entity_event::T_data::T_abduction) }, + { DF_Type::entity_event__T_data__T_accept_peace_offer, sizeof(df::entity_event::T_data::T_accept_peace_offer) }, + { DF_Type::entity_event__T_data__T_accept_tribute_demand, sizeof(df::entity_event::T_data::T_accept_tribute_demand) }, + { DF_Type::entity_event__T_data__T_accept_tribute_offer, sizeof(df::entity_event::T_data::T_accept_tribute_offer) }, + { DF_Type::entity_event__T_data__T_artifact_destroyed, sizeof(df::entity_event::T_data::T_artifact_destroyed) }, + { DF_Type::entity_event__T_data__T_artifact_in_feature_layer, sizeof(df::entity_event::T_data::T_artifact_in_feature_layer) }, + { DF_Type::entity_event__T_data__T_artifact_in_inventory, sizeof(df::entity_event::T_data::T_artifact_in_inventory) }, + { DF_Type::entity_event__T_data__T_artifact_in_site, sizeof(df::entity_event::T_data::T_artifact_in_site) }, + { DF_Type::entity_event__T_data__T_artifact_in_subregion, sizeof(df::entity_event::T_data::T_artifact_in_subregion) }, + { DF_Type::entity_event__T_data__T_artifact_not_in_feature_layer, sizeof(df::entity_event::T_data::T_artifact_not_in_feature_layer) }, + { DF_Type::entity_event__T_data__T_artifact_not_in_inventory, sizeof(df::entity_event::T_data::T_artifact_not_in_inventory) }, + { DF_Type::entity_event__T_data__T_artifact_not_in_site, sizeof(df::entity_event::T_data::T_artifact_not_in_site) }, + { DF_Type::entity_event__T_data__T_artifact_not_in_subregion, sizeof(df::entity_event::T_data::T_artifact_not_in_subregion) }, + { DF_Type::entity_event__T_data__T_beast, sizeof(df::entity_event::T_data::T_beast) }, + { DF_Type::entity_event__T_data__T_cease_tribute_offer, sizeof(df::entity_event::T_data::T_cease_tribute_offer) }, + { DF_Type::entity_event__T_data__T_claim, sizeof(df::entity_event::T_data::T_claim) }, + { DF_Type::entity_event__T_data__T_flee, sizeof(df::entity_event::T_data::T_flee) }, + { DF_Type::entity_event__T_data__T_founded, sizeof(df::entity_event::T_data::T_founded) }, + { DF_Type::entity_event__T_data__T_founding, sizeof(df::entity_event::T_data::T_founding) }, + { DF_Type::entity_event__T_data__T_group, sizeof(df::entity_event::T_data::T_group) }, + { DF_Type::entity_event__T_data__T_harass, sizeof(df::entity_event::T_data::T_harass) }, + { DF_Type::entity_event__T_data__T_incident, sizeof(df::entity_event::T_data::T_incident) }, + { DF_Type::entity_event__T_data__T_insurrection, sizeof(df::entity_event::T_data::T_insurrection) }, + { DF_Type::entity_event__T_data__T_insurrection_end, sizeof(df::entity_event::T_data::T_insurrection_end) }, + { DF_Type::entity_event__T_data__T_insurrection_end__T_result, sizeof(df::entity_event::T_data::T_insurrection_end::T_result) }, + { DF_Type::entity_event__T_data__T_invasion, sizeof(df::entity_event::T_data::T_invasion) }, + { DF_Type::entity_event__T_data__T_leave, sizeof(df::entity_event::T_data::T_leave) }, + { DF_Type::entity_event__T_data__T_occupation, sizeof(df::entity_event::T_data::T_occupation) }, + { DF_Type::entity_event__T_data__T_reclaimed, sizeof(df::entity_event::T_data::T_reclaimed) }, + { DF_Type::entity_event__T_data__T_reclaiming, sizeof(df::entity_event::T_data::T_reclaiming) }, + { DF_Type::entity_event__T_data__T_refuse_peace_offer, sizeof(df::entity_event::T_data::T_refuse_peace_offer) }, + { DF_Type::entity_event__T_data__T_refuse_tribute_demand, sizeof(df::entity_event::T_data::T_refuse_tribute_demand) }, + { DF_Type::entity_event__T_data__T_refuse_tribute_offer, sizeof(df::entity_event::T_data::T_refuse_tribute_offer) }, + { DF_Type::entity_event__T_data__T_succession, sizeof(df::entity_event::T_data::T_succession) }, + { DF_Type::entity_event_type, sizeof(df::enums::entity_event_type::entity_event_type) }, + { DF_Type::entity_material_category, sizeof(df::enums::entity_material_category::entity_material_category) }, + { DF_Type::entity_name_type, sizeof(df::enums::entity_name_type::entity_name_type) }, + { DF_Type::entity_occasion, sizeof(df::entity_occasion) }, + { DF_Type::entity_occasion_info, sizeof(df::entity_occasion_info) }, + { DF_Type::entity_occasion_schedule, sizeof(df::entity_occasion_schedule) }, + { DF_Type::entity_occasion_schedule_feature, sizeof(df::entity_occasion_schedule_feature) }, + { DF_Type::entity_population, sizeof(df::entity_population) }, + { DF_Type::entity_population_unk4, sizeof(df::entity_population_unk4) }, + { DF_Type::entity_population_unk4__T_anon_1, sizeof(df::entity_population_unk4::T_anon_1) }, + { DF_Type::entity_population_unk4__T_anon_3, sizeof(df::entity_population_unk4::T_anon_3) }, + { DF_Type::entity_position, sizeof(df::entity_position) }, + { DF_Type::entity_position_assignment, sizeof(df::entity_position_assignment) }, + { DF_Type::entity_position_flags, sizeof(df::enums::entity_position_flags::entity_position_flags) }, + { DF_Type::entity_position_raw, sizeof(df::entity_position_raw) }, + { DF_Type::entity_position_raw_flags, sizeof(df::enums::entity_position_raw_flags::entity_position_raw_flags) }, + { DF_Type::entity_position_responsibility, sizeof(df::enums::entity_position_responsibility::entity_position_responsibility) }, + { DF_Type::entity_raw, sizeof(df::entity_raw) }, + { DF_Type::entity_raw__T_equipment, sizeof(df::entity_raw::T_equipment) }, + { DF_Type::entity_raw__T_jobs, sizeof(df::entity_raw::T_jobs) }, + { DF_Type::entity_raw__T_land_holder_trigger, sizeof(df::entity_raw::T_land_holder_trigger) }, + { DF_Type::entity_raw__T_progress_trigger, sizeof(df::entity_raw::T_progress_trigger) }, + { DF_Type::entity_raw__T_scholar, sizeof(df::entity_raw::T_scholar) }, + { DF_Type::entity_raw__T_symbols, sizeof(df::entity_raw::T_symbols) }, + { DF_Type::entity_raw__T_tissue_styles, sizeof(df::entity_raw::T_tissue_styles) }, + { DF_Type::entity_raw__T_workshops, sizeof(df::entity_raw::T_workshops) }, + { DF_Type::entity_raw_flags, sizeof(df::enums::entity_raw_flags::entity_raw_flags) }, + { DF_Type::entity_recipe, sizeof(df::entity_recipe) }, + { DF_Type::entity_sell_category, sizeof(df::enums::entity_sell_category::entity_sell_category) }, + { DF_Type::entity_sell_prices, sizeof(df::entity_sell_prices) }, + { DF_Type::entity_sell_requests, sizeof(df::entity_sell_requests) }, + { DF_Type::entity_site_link, sizeof(df::entity_site_link) }, + { DF_Type::entity_site_link__T_anon_8, sizeof(df::entity_site_link::T_anon_8) }, + { DF_Type::entity_site_link__T_flags, sizeof(df::entity_site_link::T_flags) }, + { DF_Type::entity_tissue_style, sizeof(df::entity_tissue_style) }, + { DF_Type::entity_uniform, sizeof(df::entity_uniform) }, + { DF_Type::entity_uniform_item, sizeof(df::entity_uniform_item) }, + { DF_Type::environment_type, sizeof(df::enums::environment_type::environment_type) }, + { DF_Type::era_type, sizeof(df::enums::era_type::era_type) }, + { DF_Type::ethic_response, sizeof(df::enums::ethic_response::ethic_response) }, + { DF_Type::ethic_type, sizeof(df::enums::ethic_type::ethic_type) }, + { DF_Type::feature, sizeof(df::feature) }, + { DF_Type::feature_alteration, sizeof(df::feature_alteration) }, + { DF_Type::feature_alteration_new_lava_fill_zst, sizeof(df::feature_alteration_new_lava_fill_zst) }, + { DF_Type::feature_alteration_new_pop_maxst, sizeof(df::feature_alteration_new_pop_maxst) }, + { DF_Type::feature_alteration_type, sizeof(df::enums::feature_alteration_type::feature_alteration_type) }, + { DF_Type::feature_cavest, sizeof(df::feature_cavest) }, + { DF_Type::feature_deep_special_tubest, sizeof(df::feature_deep_special_tubest) }, + { DF_Type::feature_deep_surface_portalst, sizeof(df::feature_deep_surface_portalst) }, + { DF_Type::feature_init, sizeof(df::feature_init) }, + { DF_Type::feature_init_cavest, sizeof(df::feature_init_cavest) }, + { DF_Type::feature_init_deep_special_tubest, sizeof(df::feature_init_deep_special_tubest) }, + { DF_Type::feature_init_deep_surface_portalst, sizeof(df::feature_init_deep_surface_portalst) }, + { DF_Type::feature_init_flags, sizeof(df::enums::feature_init_flags::feature_init_flags) }, + { DF_Type::feature_init_magma_core_from_layerst, sizeof(df::feature_init_magma_core_from_layerst) }, + { DF_Type::feature_init_magma_poolst, sizeof(df::feature_init_magma_poolst) }, + { DF_Type::feature_init_outdoor_riverst, sizeof(df::feature_init_outdoor_riverst) }, + { DF_Type::feature_init_pitst, sizeof(df::feature_init_pitst) }, + { DF_Type::feature_init_subterranean_from_layerst, sizeof(df::feature_init_subterranean_from_layerst) }, + { DF_Type::feature_init_underworld_from_layerst, sizeof(df::feature_init_underworld_from_layerst) }, + { DF_Type::feature_init_volcanost, sizeof(df::feature_init_volcanost) }, + { DF_Type::feature_magma_core_from_layerst, sizeof(df::feature_magma_core_from_layerst) }, + { DF_Type::feature_magma_poolst, sizeof(df::feature_magma_poolst) }, + { DF_Type::feature_outdoor_riverst, sizeof(df::feature_outdoor_riverst) }, + { DF_Type::feature_pitst, sizeof(df::feature_pitst) }, + { DF_Type::feature_subterranean_from_layerst, sizeof(df::feature_subterranean_from_layerst) }, + { DF_Type::feature_type, sizeof(df::enums::feature_type::feature_type) }, + { DF_Type::feature_underworld_from_layerst, sizeof(df::feature_underworld_from_layerst) }, + { DF_Type::feature_volcanost, sizeof(df::feature_volcanost) }, + { DF_Type::file_compressorst, sizeof(df::file_compressorst) }, + { DF_Type::fire, sizeof(df::fire) }, + { DF_Type::flow_guide, sizeof(df::flow_guide) }, + { DF_Type::flow_guide_item_cloudst, sizeof(df::flow_guide_item_cloudst) }, + { DF_Type::flow_guide_trailing_flowst, sizeof(df::flow_guide_trailing_flowst) }, + { DF_Type::flow_guide_type, sizeof(df::enums::flow_guide_type::flow_guide_type) }, + { DF_Type::flow_info, sizeof(df::flow_info) }, + { DF_Type::flow_reuse_pool, sizeof(df::flow_reuse_pool) }, + { DF_Type::flow_reuse_pool__T_flags, sizeof(df::flow_reuse_pool::T_flags) }, + { DF_Type::flow_type, sizeof(df::enums::flow_type::flow_type) }, + { DF_Type::fog_type, sizeof(df::enums::fog_type::fog_type) }, + { DF_Type::front_type, sizeof(df::enums::front_type::front_type) }, + { DF_Type::furnace_type, sizeof(df::enums::furnace_type::furnace_type) }, + { DF_Type::furniture_type, sizeof(df::enums::furniture_type::furniture_type) }, + { DF_Type::gait_info, sizeof(df::gait_info) }, + { DF_Type::gait_info__T_flags, sizeof(df::gait_info::T_flags) }, + { DF_Type::gait_type, sizeof(df::enums::gait_type::gait_type) }, + { DF_Type::game_mode, sizeof(df::enums::game_mode::game_mode) }, + { DF_Type::game_type, sizeof(df::enums::game_type::game_type) }, + { DF_Type::gate_flags, sizeof(df::gate_flags) }, + { DF_Type::general_ref, sizeof(df::general_ref) }, + { DF_Type::general_ref_abstract_buildingst, sizeof(df::general_ref_abstract_buildingst) }, + { DF_Type::general_ref_activity_eventst, sizeof(df::general_ref_activity_eventst) }, + { DF_Type::general_ref_artifact, sizeof(df::general_ref_artifact) }, + { DF_Type::general_ref_building, sizeof(df::general_ref_building) }, + { DF_Type::general_ref_building_cagedst, sizeof(df::general_ref_building_cagedst) }, + { DF_Type::general_ref_building_chainst, sizeof(df::general_ref_building_chainst) }, + { DF_Type::general_ref_building_civzone_assignedst, sizeof(df::general_ref_building_civzone_assignedst) }, + { DF_Type::general_ref_building_destinationst, sizeof(df::general_ref_building_destinationst) }, + { DF_Type::general_ref_building_display_furniturest, sizeof(df::general_ref_building_display_furniturest) }, + { DF_Type::general_ref_building_holderst, sizeof(df::general_ref_building_holderst) }, + { DF_Type::general_ref_building_nest_boxst, sizeof(df::general_ref_building_nest_boxst) }, + { DF_Type::general_ref_building_triggerst, sizeof(df::general_ref_building_triggerst) }, + { DF_Type::general_ref_building_triggertargetst, sizeof(df::general_ref_building_triggertargetst) }, + { DF_Type::general_ref_building_use_target_1st, sizeof(df::general_ref_building_use_target_1st) }, + { DF_Type::general_ref_building_use_target_2st, sizeof(df::general_ref_building_use_target_2st) }, + { DF_Type::general_ref_building_well_tag, sizeof(df::general_ref_building_well_tag) }, + { DF_Type::general_ref_coinbatch, sizeof(df::general_ref_coinbatch) }, + { DF_Type::general_ref_contained_in_itemst, sizeof(df::general_ref_contained_in_itemst) }, + { DF_Type::general_ref_contains_itemst, sizeof(df::general_ref_contains_itemst) }, + { DF_Type::general_ref_contains_unitst, sizeof(df::general_ref_contains_unitst) }, + { DF_Type::general_ref_creaturest, sizeof(df::general_ref_creaturest) }, + { DF_Type::general_ref_creaturest__T_flags, sizeof(df::general_ref_creaturest::T_flags) }, + { DF_Type::general_ref_dance_formst, sizeof(df::general_ref_dance_formst) }, + { DF_Type::general_ref_entity, sizeof(df::general_ref_entity) }, + { DF_Type::general_ref_entity_art_image, sizeof(df::general_ref_entity_art_image) }, + { DF_Type::general_ref_entity_itemownerst, sizeof(df::general_ref_entity_itemownerst) }, + { DF_Type::general_ref_entity_offeredst, sizeof(df::general_ref_entity_offeredst) }, + { DF_Type::general_ref_entity_popst, sizeof(df::general_ref_entity_popst) }, + { DF_Type::general_ref_entity_popst__T_flags, sizeof(df::general_ref_entity_popst::T_flags) }, + { DF_Type::general_ref_entity_stolenst, sizeof(df::general_ref_entity_stolenst) }, + { DF_Type::general_ref_feature_layerst, sizeof(df::general_ref_feature_layerst) }, + { DF_Type::general_ref_historical_eventst, sizeof(df::general_ref_historical_eventst) }, + { DF_Type::general_ref_historical_figurest, sizeof(df::general_ref_historical_figurest) }, + { DF_Type::general_ref_interactionst, sizeof(df::general_ref_interactionst) }, + { DF_Type::general_ref_is_artifactst, sizeof(df::general_ref_is_artifactst) }, + { DF_Type::general_ref_is_nemesisst, sizeof(df::general_ref_is_nemesisst) }, + { DF_Type::general_ref_item, sizeof(df::general_ref_item) }, + { DF_Type::general_ref_item_type, sizeof(df::general_ref_item_type) }, + { DF_Type::general_ref_knowledge_scholar_flagst, sizeof(df::general_ref_knowledge_scholar_flagst) }, + { DF_Type::general_ref_languagest, sizeof(df::general_ref_languagest) }, + { DF_Type::general_ref_locationst, sizeof(df::general_ref_locationst) }, + { DF_Type::general_ref_mapsquare, sizeof(df::general_ref_mapsquare) }, + { DF_Type::general_ref_musical_formst, sizeof(df::general_ref_musical_formst) }, + { DF_Type::general_ref_nemesis, sizeof(df::general_ref_nemesis) }, + { DF_Type::general_ref_poetic_formst, sizeof(df::general_ref_poetic_formst) }, + { DF_Type::general_ref_projectile, sizeof(df::general_ref_projectile) }, + { DF_Type::general_ref_sitest, sizeof(df::general_ref_sitest) }, + { DF_Type::general_ref_spherest, sizeof(df::general_ref_spherest) }, + { DF_Type::general_ref_subregionst, sizeof(df::general_ref_subregionst) }, + { DF_Type::general_ref_type, sizeof(df::enums::general_ref_type::general_ref_type) }, + { DF_Type::general_ref_unit, sizeof(df::general_ref_unit) }, + { DF_Type::general_ref_unit_beateest, sizeof(df::general_ref_unit_beateest) }, + { DF_Type::general_ref_unit_cageest, sizeof(df::general_ref_unit_cageest) }, + { DF_Type::general_ref_unit_climberst, sizeof(df::general_ref_unit_climberst) }, + { DF_Type::general_ref_unit_foodreceiverst, sizeof(df::general_ref_unit_foodreceiverst) }, + { DF_Type::general_ref_unit_geldeest, sizeof(df::general_ref_unit_geldeest) }, + { DF_Type::general_ref_unit_holderst, sizeof(df::general_ref_unit_holderst) }, + { DF_Type::general_ref_unit_infantst, sizeof(df::general_ref_unit_infantst) }, + { DF_Type::general_ref_unit_itemownerst, sizeof(df::general_ref_unit_itemownerst) }, + { DF_Type::general_ref_unit_itemownerst__T_flags, sizeof(df::general_ref_unit_itemownerst::T_flags) }, + { DF_Type::general_ref_unit_kidnapeest, sizeof(df::general_ref_unit_kidnapeest) }, + { DF_Type::general_ref_unit_milkeest, sizeof(df::general_ref_unit_milkeest) }, + { DF_Type::general_ref_unit_patientst, sizeof(df::general_ref_unit_patientst) }, + { DF_Type::general_ref_unit_reporteest, sizeof(df::general_ref_unit_reporteest) }, + { DF_Type::general_ref_unit_riderst, sizeof(df::general_ref_unit_riderst) }, + { DF_Type::general_ref_unit_sheareest, sizeof(df::general_ref_unit_sheareest) }, + { DF_Type::general_ref_unit_slaughtereest, sizeof(df::general_ref_unit_slaughtereest) }, + { DF_Type::general_ref_unit_suckeest, sizeof(df::general_ref_unit_suckeest) }, + { DF_Type::general_ref_unit_tradebringerst, sizeof(df::general_ref_unit_tradebringerst) }, + { DF_Type::general_ref_unit_traineest, sizeof(df::general_ref_unit_traineest) }, + { DF_Type::general_ref_unit_workerst, sizeof(df::general_ref_unit_workerst) }, + { DF_Type::general_ref_value_levelst, sizeof(df::general_ref_value_levelst) }, + { DF_Type::general_ref_written_contentst, sizeof(df::general_ref_written_contentst) }, + { DF_Type::geo_layer_type, sizeof(df::enums::geo_layer_type::geo_layer_type) }, + { DF_Type::ghost_goal, sizeof(df::enums::ghost_goal::ghost_goal) }, + { DF_Type::ghost_type, sizeof(df::enums::ghost_type::ghost_type) }, + { DF_Type::gloves_flags, sizeof(df::enums::gloves_flags::gloves_flags) }, + { DF_Type::glowing_barrier, sizeof(df::glowing_barrier) }, + { DF_Type::goal_type, sizeof(df::enums::goal_type::goal_type) }, + { DF_Type::graphic, sizeof(df::graphic) }, + { DF_Type::guild_id, sizeof(df::enums::guild_id::guild_id) }, + { DF_Type::hauler_type, sizeof(df::enums::hauler_type::hauler_type) }, + { DF_Type::hauling_route, sizeof(df::hauling_route) }, + { DF_Type::hauling_stop, sizeof(df::hauling_stop) }, + { DF_Type::health_view_bits1, sizeof(df::health_view_bits1) }, + { DF_Type::health_view_bits2, sizeof(df::health_view_bits2) }, + { DF_Type::health_view_bits3, sizeof(df::health_view_bits3) }, + { DF_Type::helm_flags, sizeof(df::enums::helm_flags::helm_flags) }, + { DF_Type::hillock_house_type, sizeof(df::enums::hillock_house_type::hillock_house_type) }, + { DF_Type::histfig_body_state, sizeof(df::enums::histfig_body_state::histfig_body_state) }, + { DF_Type::histfig_entity_link, sizeof(df::histfig_entity_link) }, + { DF_Type::histfig_entity_link_criminalst, sizeof(df::histfig_entity_link_criminalst) }, + { DF_Type::histfig_entity_link_enemyst, sizeof(df::histfig_entity_link_enemyst) }, + { DF_Type::histfig_entity_link_former_memberst, sizeof(df::histfig_entity_link_former_memberst) }, + { DF_Type::histfig_entity_link_former_mercenaryst, sizeof(df::histfig_entity_link_former_mercenaryst) }, + { DF_Type::histfig_entity_link_former_occupationst, sizeof(df::histfig_entity_link_former_occupationst) }, + { DF_Type::histfig_entity_link_former_positionst, sizeof(df::histfig_entity_link_former_positionst) }, + { DF_Type::histfig_entity_link_former_prisonerst, sizeof(df::histfig_entity_link_former_prisonerst) }, + { DF_Type::histfig_entity_link_former_slavest, sizeof(df::histfig_entity_link_former_slavest) }, + { DF_Type::histfig_entity_link_former_squadst, sizeof(df::histfig_entity_link_former_squadst) }, + { DF_Type::histfig_entity_link_memberst, sizeof(df::histfig_entity_link_memberst) }, + { DF_Type::histfig_entity_link_mercenaryst, sizeof(df::histfig_entity_link_mercenaryst) }, + { DF_Type::histfig_entity_link_occupationst, sizeof(df::histfig_entity_link_occupationst) }, + { DF_Type::histfig_entity_link_position_claimst, sizeof(df::histfig_entity_link_position_claimst) }, + { DF_Type::histfig_entity_link_positionst, sizeof(df::histfig_entity_link_positionst) }, + { DF_Type::histfig_entity_link_prisonerst, sizeof(df::histfig_entity_link_prisonerst) }, + { DF_Type::histfig_entity_link_slavest, sizeof(df::histfig_entity_link_slavest) }, + { DF_Type::histfig_entity_link_squadst, sizeof(df::histfig_entity_link_squadst) }, + { DF_Type::histfig_entity_link_type, sizeof(df::enums::histfig_entity_link_type::histfig_entity_link_type) }, + { DF_Type::histfig_flags, sizeof(df::enums::histfig_flags::histfig_flags) }, + { DF_Type::histfig_hf_link, sizeof(df::histfig_hf_link) }, + { DF_Type::histfig_hf_link_apprenticest, sizeof(df::histfig_hf_link_apprenticest) }, + { DF_Type::histfig_hf_link_childst, sizeof(df::histfig_hf_link_childst) }, + { DF_Type::histfig_hf_link_companionst, sizeof(df::histfig_hf_link_companionst) }, + { DF_Type::histfig_hf_link_deityst, sizeof(df::histfig_hf_link_deityst) }, + { DF_Type::histfig_hf_link_fatherst, sizeof(df::histfig_hf_link_fatherst) }, + { DF_Type::histfig_hf_link_former_apprenticest, sizeof(df::histfig_hf_link_former_apprenticest) }, + { DF_Type::histfig_hf_link_former_masterst, sizeof(df::histfig_hf_link_former_masterst) }, + { DF_Type::histfig_hf_link_imprisonerst, sizeof(df::histfig_hf_link_imprisonerst) }, + { DF_Type::histfig_hf_link_loverst, sizeof(df::histfig_hf_link_loverst) }, + { DF_Type::histfig_hf_link_masterst, sizeof(df::histfig_hf_link_masterst) }, + { DF_Type::histfig_hf_link_motherst, sizeof(df::histfig_hf_link_motherst) }, + { DF_Type::histfig_hf_link_pet_ownerst, sizeof(df::histfig_hf_link_pet_ownerst) }, + { DF_Type::histfig_hf_link_prisonerst, sizeof(df::histfig_hf_link_prisonerst) }, + { DF_Type::histfig_hf_link_spousest, sizeof(df::histfig_hf_link_spousest) }, + { DF_Type::histfig_hf_link_type, sizeof(df::enums::histfig_hf_link_type::histfig_hf_link_type) }, + { DF_Type::histfig_relationship_type, sizeof(df::enums::histfig_relationship_type::histfig_relationship_type) }, + { DF_Type::histfig_site_link, sizeof(df::histfig_site_link) }, + { DF_Type::histfig_site_link_hangoutst, sizeof(df::histfig_site_link_hangoutst) }, + { DF_Type::histfig_site_link_home_site_abstract_buildingst, sizeof(df::histfig_site_link_home_site_abstract_buildingst) }, + { DF_Type::histfig_site_link_home_site_realization_buildingst, sizeof(df::histfig_site_link_home_site_realization_buildingst) }, + { DF_Type::histfig_site_link_home_site_realization_sulst, sizeof(df::histfig_site_link_home_site_realization_sulst) }, + { DF_Type::histfig_site_link_home_site_saved_civzonest, sizeof(df::histfig_site_link_home_site_saved_civzonest) }, + { DF_Type::histfig_site_link_lairst, sizeof(df::histfig_site_link_lairst) }, + { DF_Type::histfig_site_link_occupationst, sizeof(df::histfig_site_link_occupationst) }, + { DF_Type::histfig_site_link_seat_of_powerst, sizeof(df::histfig_site_link_seat_of_powerst) }, + { DF_Type::histfig_site_link_type, sizeof(df::enums::histfig_site_link_type::histfig_site_link_type) }, + { DF_Type::historical_entity, sizeof(df::historical_entity) }, + { DF_Type::historical_entity__T_claims, sizeof(df::historical_entity::T_claims) }, + { DF_Type::historical_entity__T_derived_resources, sizeof(df::historical_entity::T_derived_resources) }, + { DF_Type::historical_entity__T_flags, sizeof(df::historical_entity::T_flags) }, + { DF_Type::historical_entity__T_positions, sizeof(df::historical_entity::T_positions) }, + { DF_Type::historical_entity__T_resources, sizeof(df::historical_entity::T_resources) }, + { DF_Type::historical_entity__T_resources__T_animals, sizeof(df::historical_entity::T_resources::T_animals) }, + { DF_Type::historical_entity__T_resources__T_metal, sizeof(df::historical_entity::T_resources::T_metal) }, + { DF_Type::historical_entity__T_resources__T_misc_mat, sizeof(df::historical_entity::T_resources::T_misc_mat) }, + { DF_Type::historical_entity__T_resources__T_organic, sizeof(df::historical_entity::T_resources::T_organic) }, + { DF_Type::historical_entity__T_resources__T_refuse, sizeof(df::historical_entity::T_resources::T_refuse) }, + { DF_Type::historical_entity__T_resources__T_unk13, sizeof(df::historical_entity::T_resources::T_unk13) }, + { DF_Type::historical_entity__T_resources__T_wood_products, sizeof(df::historical_entity::T_resources::T_wood_products) }, + { DF_Type::historical_entity__T_tissue_styles, sizeof(df::historical_entity::T_tissue_styles) }, + { DF_Type::historical_entity__T_training_knowledge, sizeof(df::historical_entity::T_training_knowledge) }, + { DF_Type::historical_entity__T_unknown1b, sizeof(df::historical_entity::T_unknown1b) }, + { DF_Type::historical_entity__T_unknown1b__T_diplomacy, sizeof(df::historical_entity::T_unknown1b::T_diplomacy) }, + { DF_Type::historical_entity__T_unknown1b__T_unk32e, sizeof(df::historical_entity::T_unknown1b::T_unk32e) }, + { DF_Type::historical_entity__T_unknown1d, sizeof(df::historical_entity::T_unknown1d) }, + { DF_Type::historical_entity__T_unknown1e, sizeof(df::historical_entity::T_unknown1e) }, + { DF_Type::historical_entity__T_unknown2, sizeof(df::historical_entity::T_unknown2) }, + { DF_Type::historical_entity_type, sizeof(df::enums::historical_entity_type::historical_entity_type) }, + { DF_Type::historical_figure, sizeof(df::historical_figure) }, + { DF_Type::historical_figure__T_unk_fc, sizeof(df::historical_figure::T_unk_fc) }, + { DF_Type::historical_figure_info, sizeof(df::historical_figure_info) }, + { DF_Type::historical_figure_info__T_books, sizeof(df::historical_figure_info::T_books) }, + { DF_Type::historical_figure_info__T_curse, sizeof(df::historical_figure_info::T_curse) }, + { DF_Type::historical_figure_info__T_masterpieces, sizeof(df::historical_figure_info::T_masterpieces) }, + { DF_Type::historical_figure_info__T_personality, sizeof(df::historical_figure_info::T_personality) }, + { DF_Type::historical_figure_info__T_relationships, sizeof(df::historical_figure_info::T_relationships) }, + { DF_Type::historical_figure_info__T_relationships__T_anon_1, sizeof(df::historical_figure_info::T_relationships::T_anon_1) }, + { DF_Type::historical_figure_info__T_relationships__T_anon_2, sizeof(df::historical_figure_info::T_relationships::T_anon_2) }, + { DF_Type::historical_figure_info__T_relationships__T_anon_3, sizeof(df::historical_figure_info::T_relationships::T_anon_3) }, + { DF_Type::historical_figure_info__T_relationships__T_list, sizeof(df::historical_figure_info::T_relationships::T_list) }, + { DF_Type::historical_figure_info__T_reputation, sizeof(df::historical_figure_info::T_reputation) }, + { DF_Type::historical_figure_info__T_reputation__T_anon_1, sizeof(df::historical_figure_info::T_reputation::T_anon_1) }, + { DF_Type::historical_figure_info__T_reputation__T_unk_2c, sizeof(df::historical_figure_info::T_reputation::T_unk_2c) }, + { DF_Type::historical_figure_info__T_reputation__T_unk_2c__T_anon_12, sizeof(df::historical_figure_info::T_reputation::T_unk_2c::T_anon_12) }, + { DF_Type::historical_figure_info__T_reputation__T_wanted, sizeof(df::historical_figure_info::T_reputation::T_wanted) }, + { DF_Type::historical_figure_info__T_secret, sizeof(df::historical_figure_info::T_secret) }, + { DF_Type::historical_figure_info__T_secret__T_anon_1, sizeof(df::historical_figure_info::T_secret::T_anon_1) }, + { DF_Type::historical_figure_info__T_secret__T_anon_7, sizeof(df::historical_figure_info::T_secret::T_anon_7) }, + { DF_Type::historical_figure_info__T_secret__T_knowledge, sizeof(df::historical_figure_info::T_secret::T_knowledge) }, + { DF_Type::historical_figure_info__T_secret__T_knowledge__T_knowledge_goal, sizeof(df::historical_figure_info::T_secret::T_knowledge::T_knowledge_goal) }, + { DF_Type::historical_figure_info__T_secret__T_unk_a8, sizeof(df::historical_figure_info::T_secret::T_unk_a8) }, + { DF_Type::historical_figure_info__T_skills, sizeof(df::historical_figure_info::T_skills) }, + { DF_Type::historical_figure_info__T_unk_14, sizeof(df::historical_figure_info::T_unk_14) }, + { DF_Type::historical_figure_info__T_wounds, sizeof(df::historical_figure_info::T_wounds) }, + { DF_Type::historical_kills, sizeof(df::historical_kills) }, + { DF_Type::historical_kills__T_killed_undead, sizeof(df::historical_kills::T_killed_undead) }, + { DF_Type::history_era, sizeof(df::history_era) }, + { DF_Type::history_era__T_details, sizeof(df::history_era::T_details) }, + { DF_Type::history_era__T_title, sizeof(df::history_era::T_title) }, + { DF_Type::history_event, sizeof(df::history_event) }, + { DF_Type::history_event_add_hf_entity_linkst, sizeof(df::history_event_add_hf_entity_linkst) }, + { DF_Type::history_event_add_hf_hf_linkst, sizeof(df::history_event_add_hf_hf_linkst) }, + { DF_Type::history_event_add_hf_site_linkst, sizeof(df::history_event_add_hf_site_linkst) }, + { DF_Type::history_event_agreement_concludedst, sizeof(df::history_event_agreement_concludedst) }, + { DF_Type::history_event_agreement_formedst, sizeof(df::history_event_agreement_formedst) }, + { DF_Type::history_event_agreements_voidedst, sizeof(df::history_event_agreements_voidedst) }, + { DF_Type::history_event_artifact_claim_formedst, sizeof(df::history_event_artifact_claim_formedst) }, + { DF_Type::history_event_artifact_claim_formedst__T_claim_type, sizeof(df::history_event_artifact_claim_formedst::T_claim_type) }, + { DF_Type::history_event_artifact_copiedst, sizeof(df::history_event_artifact_copiedst) }, + { DF_Type::history_event_artifact_copiedst__T_flags2, sizeof(df::history_event_artifact_copiedst::T_flags2) }, + { DF_Type::history_event_artifact_createdst, sizeof(df::history_event_artifact_createdst) }, + { DF_Type::history_event_artifact_destroyedst, sizeof(df::history_event_artifact_destroyedst) }, + { DF_Type::history_event_artifact_droppedst, sizeof(df::history_event_artifact_droppedst) }, + { DF_Type::history_event_artifact_foundst, sizeof(df::history_event_artifact_foundst) }, + { DF_Type::history_event_artifact_givenst, sizeof(df::history_event_artifact_givenst) }, + { DF_Type::history_event_artifact_hiddenst, sizeof(df::history_event_artifact_hiddenst) }, + { DF_Type::history_event_artifact_lostst, sizeof(df::history_event_artifact_lostst) }, + { DF_Type::history_event_artifact_possessedst, sizeof(df::history_event_artifact_possessedst) }, + { DF_Type::history_event_artifact_recoveredst, sizeof(df::history_event_artifact_recoveredst) }, + { DF_Type::history_event_artifact_storedst, sizeof(df::history_event_artifact_storedst) }, + { DF_Type::history_event_artifact_transformedst, sizeof(df::history_event_artifact_transformedst) }, + { DF_Type::history_event_assume_identityst, sizeof(df::history_event_assume_identityst) }, + { DF_Type::history_event_body_abusedst, sizeof(df::history_event_body_abusedst) }, + { DF_Type::history_event_body_abusedst__T_abuse_type, sizeof(df::history_event_body_abusedst::T_abuse_type) }, + { DF_Type::history_event_body_abusedst__T_props, sizeof(df::history_event_body_abusedst::T_props) }, + { DF_Type::history_event_body_abusedst__T_props__T_hung, sizeof(df::history_event_body_abusedst::T_props::T_hung) }, + { DF_Type::history_event_body_abusedst__T_props__T_item, sizeof(df::history_event_body_abusedst::T_props::T_item) }, + { DF_Type::history_event_body_abusedst__T_props__T_pile_type, sizeof(df::history_event_body_abusedst::T_props::T_pile_type) }, + { DF_Type::history_event_ceremonyst, sizeof(df::history_event_ceremonyst) }, + { DF_Type::history_event_change_creature_typest, sizeof(df::history_event_change_creature_typest) }, + { DF_Type::history_event_change_hf_body_statest, sizeof(df::history_event_change_hf_body_statest) }, + { DF_Type::history_event_change_hf_jobst, sizeof(df::history_event_change_hf_jobst) }, + { DF_Type::history_event_change_hf_moodst, sizeof(df::history_event_change_hf_moodst) }, + { DF_Type::history_event_change_hf_statest, sizeof(df::history_event_change_hf_statest) }, + { DF_Type::history_event_change_hf_statest__T_state, sizeof(df::history_event_change_hf_statest::T_state) }, + { DF_Type::history_event_collection, sizeof(df::history_event_collection) }, + { DF_Type::history_event_collection_abductionst, sizeof(df::history_event_collection_abductionst) }, + { DF_Type::history_event_collection_battlest, sizeof(df::history_event_collection_battlest) }, + { DF_Type::history_event_collection_beast_attackst, sizeof(df::history_event_collection_beast_attackst) }, + { DF_Type::history_event_collection_ceremonyst, sizeof(df::history_event_collection_ceremonyst) }, + { DF_Type::history_event_collection_competitionst, sizeof(df::history_event_collection_competitionst) }, + { DF_Type::history_event_collection_duelst, sizeof(df::history_event_collection_duelst) }, + { DF_Type::history_event_collection_insurrectionst, sizeof(df::history_event_collection_insurrectionst) }, + { DF_Type::history_event_collection_journeyst, sizeof(df::history_event_collection_journeyst) }, + { DF_Type::history_event_collection_occasionst, sizeof(df::history_event_collection_occasionst) }, + { DF_Type::history_event_collection_performancest, sizeof(df::history_event_collection_performancest) }, + { DF_Type::history_event_collection_processionst, sizeof(df::history_event_collection_processionst) }, + { DF_Type::history_event_collection_purgest, sizeof(df::history_event_collection_purgest) }, + { DF_Type::history_event_collection_raidst, sizeof(df::history_event_collection_raidst) }, + { DF_Type::history_event_collection_site_conqueredst, sizeof(df::history_event_collection_site_conqueredst) }, + { DF_Type::history_event_collection_theftst, sizeof(df::history_event_collection_theftst) }, + { DF_Type::history_event_collection_type, sizeof(df::enums::history_event_collection_type::history_event_collection_type) }, + { DF_Type::history_event_collection_warst, sizeof(df::history_event_collection_warst) }, + { DF_Type::history_event_collection_warst__T_unk, sizeof(df::history_event_collection_warst::T_unk) }, + { DF_Type::history_event_competitionst, sizeof(df::history_event_competitionst) }, + { DF_Type::history_event_context, sizeof(df::history_event_context) }, + { DF_Type::history_event_create_entity_positionst, sizeof(df::history_event_create_entity_positionst) }, + { DF_Type::history_event_created_buildingst, sizeof(df::history_event_created_buildingst) }, + { DF_Type::history_event_created_sitest, sizeof(df::history_event_created_sitest) }, + { DF_Type::history_event_created_world_constructionst, sizeof(df::history_event_created_world_constructionst) }, + { DF_Type::history_event_creature_devouredst, sizeof(df::history_event_creature_devouredst) }, + { DF_Type::history_event_dance_form_createdst, sizeof(df::history_event_dance_form_createdst) }, + { DF_Type::history_event_diplomat_lostst, sizeof(df::history_event_diplomat_lostst) }, + { DF_Type::history_event_entity_actionst, sizeof(df::history_event_entity_actionst) }, + { DF_Type::history_event_entity_createdst, sizeof(df::history_event_entity_createdst) }, + { DF_Type::history_event_entity_expels_hfst, sizeof(df::history_event_entity_expels_hfst) }, + { DF_Type::history_event_entity_fled_sitest, sizeof(df::history_event_entity_fled_sitest) }, + { DF_Type::history_event_entity_incorporatedst, sizeof(df::history_event_entity_incorporatedst) }, + { DF_Type::history_event_entity_lawst, sizeof(df::history_event_entity_lawst) }, + { DF_Type::history_event_entity_rampaged_in_sitest, sizeof(df::history_event_entity_rampaged_in_sitest) }, + { DF_Type::history_event_entity_razed_buildingst, sizeof(df::history_event_entity_razed_buildingst) }, + { DF_Type::history_event_entity_searched_sitest, sizeof(df::history_event_entity_searched_sitest) }, + { DF_Type::history_event_first_contact_failedst, sizeof(df::history_event_first_contact_failedst) }, + { DF_Type::history_event_first_contactst, sizeof(df::history_event_first_contactst) }, + { DF_Type::history_event_hf_act_on_artifactst, sizeof(df::history_event_hf_act_on_artifactst) }, + { DF_Type::history_event_hf_act_on_artifactst__T_action, sizeof(df::history_event_hf_act_on_artifactst::T_action) }, + { DF_Type::history_event_hf_act_on_buildingst, sizeof(df::history_event_hf_act_on_buildingst) }, + { DF_Type::history_event_hf_act_on_buildingst__T_action, sizeof(df::history_event_hf_act_on_buildingst::T_action) }, + { DF_Type::history_event_hf_attacked_sitest, sizeof(df::history_event_hf_attacked_sitest) }, + { DF_Type::history_event_hf_confrontedst, sizeof(df::history_event_hf_confrontedst) }, + { DF_Type::history_event_hf_destroyed_sitest, sizeof(df::history_event_hf_destroyed_sitest) }, + { DF_Type::history_event_hf_does_interactionst, sizeof(df::history_event_hf_does_interactionst) }, + { DF_Type::history_event_hf_freedst, sizeof(df::history_event_hf_freedst) }, + { DF_Type::history_event_hf_gains_secret_goalst, sizeof(df::history_event_hf_gains_secret_goalst) }, + { DF_Type::history_event_hf_learns_secretst, sizeof(df::history_event_hf_learns_secretst) }, + { DF_Type::history_event_hf_razed_buildingst, sizeof(df::history_event_hf_razed_buildingst) }, + { DF_Type::history_event_hf_recruited_unit_type_for_entityst, sizeof(df::history_event_hf_recruited_unit_type_for_entityst) }, + { DF_Type::history_event_hf_relationship_deniedst, sizeof(df::history_event_hf_relationship_deniedst) }, + { DF_Type::history_event_hfs_formed_reputation_relationshipst, sizeof(df::history_event_hfs_formed_reputation_relationshipst) }, + { DF_Type::history_event_hist_figure_abductedst, sizeof(df::history_event_hist_figure_abductedst) }, + { DF_Type::history_event_hist_figure_diedst, sizeof(df::history_event_hist_figure_diedst) }, + { DF_Type::history_event_hist_figure_new_petst, sizeof(df::history_event_hist_figure_new_petst) }, + { DF_Type::history_event_hist_figure_reach_summitst, sizeof(df::history_event_hist_figure_reach_summitst) }, + { DF_Type::history_event_hist_figure_reunionst, sizeof(df::history_event_hist_figure_reunionst) }, + { DF_Type::history_event_hist_figure_revivedst, sizeof(df::history_event_hist_figure_revivedst) }, + { DF_Type::history_event_hist_figure_simple_actionst, sizeof(df::history_event_hist_figure_simple_actionst) }, + { DF_Type::history_event_hist_figure_simple_battle_eventst, sizeof(df::history_event_hist_figure_simple_battle_eventst) }, + { DF_Type::history_event_hist_figure_travelst, sizeof(df::history_event_hist_figure_travelst) }, + { DF_Type::history_event_hist_figure_travelst__T_reason, sizeof(df::history_event_hist_figure_travelst::T_reason) }, + { DF_Type::history_event_hist_figure_woundedst, sizeof(df::history_event_hist_figure_woundedst) }, + { DF_Type::history_event_hist_figure_woundedst__T_injury_type, sizeof(df::history_event_hist_figure_woundedst::T_injury_type) }, + { DF_Type::history_event_insurrection_endedst, sizeof(df::history_event_insurrection_endedst) }, + { DF_Type::history_event_insurrection_startedst, sizeof(df::history_event_insurrection_startedst) }, + { DF_Type::history_event_item_stolenst, sizeof(df::history_event_item_stolenst) }, + { DF_Type::history_event_knowledge_discoveredst, sizeof(df::history_event_knowledge_discoveredst) }, + { DF_Type::history_event_masterpiece_created_arch_constructst, sizeof(df::history_event_masterpiece_created_arch_constructst) }, + { DF_Type::history_event_masterpiece_created_arch_designst, sizeof(df::history_event_masterpiece_created_arch_designst) }, + { DF_Type::history_event_masterpiece_created_dye_itemst, sizeof(df::history_event_masterpiece_created_dye_itemst) }, + { DF_Type::history_event_masterpiece_created_engravingst, sizeof(df::history_event_masterpiece_created_engravingst) }, + { DF_Type::history_event_masterpiece_created_foodst, sizeof(df::history_event_masterpiece_created_foodst) }, + { DF_Type::history_event_masterpiece_created_item_improvementst, sizeof(df::history_event_masterpiece_created_item_improvementst) }, + { DF_Type::history_event_masterpiece_created_itemst, sizeof(df::history_event_masterpiece_created_itemst) }, + { DF_Type::history_event_masterpiece_createdst, sizeof(df::history_event_masterpiece_createdst) }, + { DF_Type::history_event_masterpiece_lostst, sizeof(df::history_event_masterpiece_lostst) }, + { DF_Type::history_event_merchantst, sizeof(df::history_event_merchantst) }, + { DF_Type::history_event_musical_form_createdst, sizeof(df::history_event_musical_form_createdst) }, + { DF_Type::history_event_performancest, sizeof(df::history_event_performancest) }, + { DF_Type::history_event_poetic_form_createdst, sizeof(df::history_event_poetic_form_createdst) }, + { DF_Type::history_event_processionst, sizeof(df::history_event_processionst) }, + { DF_Type::history_event_reason, sizeof(df::enums::history_event_reason::history_event_reason) }, + { DF_Type::history_event_reclaim_sitest, sizeof(df::history_event_reclaim_sitest) }, + { DF_Type::history_event_regionpop_incorporated_into_entityst, sizeof(df::history_event_regionpop_incorporated_into_entityst) }, + { DF_Type::history_event_remove_hf_entity_linkst, sizeof(df::history_event_remove_hf_entity_linkst) }, + { DF_Type::history_event_remove_hf_hf_linkst, sizeof(df::history_event_remove_hf_hf_linkst) }, + { DF_Type::history_event_remove_hf_site_linkst, sizeof(df::history_event_remove_hf_site_linkst) }, + { DF_Type::history_event_replaced_buildingst, sizeof(df::history_event_replaced_buildingst) }, + { DF_Type::history_event_simple_battle_subtype, sizeof(df::enums::history_event_simple_battle_subtype::history_event_simple_battle_subtype) }, + { DF_Type::history_event_site_diedst, sizeof(df::history_event_site_diedst) }, + { DF_Type::history_event_site_disputest, sizeof(df::history_event_site_disputest) }, + { DF_Type::history_event_site_retiredst, sizeof(df::history_event_site_retiredst) }, + { DF_Type::history_event_site_surrenderedst, sizeof(df::history_event_site_surrenderedst) }, + { DF_Type::history_event_sneak_into_sitest, sizeof(df::history_event_sneak_into_sitest) }, + { DF_Type::history_event_spotted_leaving_sitest, sizeof(df::history_event_spotted_leaving_sitest) }, + { DF_Type::history_event_squad_vs_squadst, sizeof(df::history_event_squad_vs_squadst) }, + { DF_Type::history_event_tactical_situationst, sizeof(df::history_event_tactical_situationst) }, + { DF_Type::history_event_tactical_situationst__T_tactics_flags, sizeof(df::history_event_tactical_situationst::T_tactics_flags) }, + { DF_Type::history_event_topicagreement_concludedst, sizeof(df::history_event_topicagreement_concludedst) }, + { DF_Type::history_event_topicagreement_madest, sizeof(df::history_event_topicagreement_madest) }, + { DF_Type::history_event_topicagreement_rejectedst, sizeof(df::history_event_topicagreement_rejectedst) }, + { DF_Type::history_event_type, sizeof(df::enums::history_event_type::history_event_type) }, + { DF_Type::history_event_war_attacked_sitest, sizeof(df::history_event_war_attacked_sitest) }, + { DF_Type::history_event_war_destroyed_sitest, sizeof(df::history_event_war_destroyed_sitest) }, + { DF_Type::history_event_war_field_battlest, sizeof(df::history_event_war_field_battlest) }, + { DF_Type::history_event_war_peace_acceptedst, sizeof(df::history_event_war_peace_acceptedst) }, + { DF_Type::history_event_war_peace_rejectedst, sizeof(df::history_event_war_peace_rejectedst) }, + { DF_Type::history_event_war_plundered_sitest, sizeof(df::history_event_war_plundered_sitest) }, + { DF_Type::history_event_war_site_new_leaderst, sizeof(df::history_event_war_site_new_leaderst) }, + { DF_Type::history_event_war_site_taken_overst, sizeof(df::history_event_war_site_taken_overst) }, + { DF_Type::history_event_war_site_tribute_forcedst, sizeof(df::history_event_war_site_tribute_forcedst) }, + { DF_Type::history_event_war_site_tribute_forcedst__T_tribute_flags, sizeof(df::history_event_war_site_tribute_forcedst::T_tribute_flags) }, + { DF_Type::history_event_written_content_composedst, sizeof(df::history_event_written_content_composedst) }, + { DF_Type::history_hit_item, sizeof(df::history_hit_item) }, + { DF_Type::hive_flags, sizeof(df::hive_flags) }, + { DF_Type::hospital_supplies, sizeof(df::hospital_supplies) }, + { DF_Type::hospital_supplies__T_supplies_needed, sizeof(df::hospital_supplies::T_supplies_needed) }, + { DF_Type::identity, sizeof(df::identity) }, + { DF_Type::identity_unk_94, sizeof(df::identity_unk_94) }, + { DF_Type::improvement_type, sizeof(df::enums::improvement_type::improvement_type) }, + { DF_Type::incident, sizeof(df::incident) }, + { DF_Type::incident__T_flags, sizeof(df::incident::T_flags) }, + { DF_Type::incident__T_unk_v42_1, sizeof(df::incident::T_unk_v42_1) }, + { DF_Type::incident_hfid, sizeof(df::incident_hfid) }, + { DF_Type::incident_sub10, sizeof(df::incident_sub10) }, + { DF_Type::incident_sub6_performance, sizeof(df::incident_sub6_performance) }, + { DF_Type::incident_sub6_performance__T_participants, sizeof(df::incident_sub6_performance::T_participants) }, + { DF_Type::incident_sub7, sizeof(df::incident_sub7) }, + { DF_Type::incident_sub8, sizeof(df::incident_sub8) }, + { DF_Type::incident_sub9, sizeof(df::incident_sub9) }, + { DF_Type::inclusion_type, sizeof(df::enums::inclusion_type::inclusion_type) }, + { DF_Type::init, sizeof(df::init) }, + { DF_Type::init_display, sizeof(df::init_display) }, + { DF_Type::init_display__T_windowed, sizeof(df::init_display::T_windowed) }, + { DF_Type::init_display_flags, sizeof(df::enums::init_display_flags::init_display_flags) }, + { DF_Type::init_font, sizeof(df::init_font) }, + { DF_Type::init_font__T_use_ttf, sizeof(df::init_font::T_use_ttf) }, + { DF_Type::init_input, sizeof(df::init_input) }, + { DF_Type::init_input_flags, sizeof(df::enums::init_input_flags::init_input_flags) }, + { DF_Type::init_media, sizeof(df::init_media) }, + { DF_Type::init_media_flags, sizeof(df::enums::init_media_flags::init_media_flags) }, + { DF_Type::init_window, sizeof(df::init_window) }, + { DF_Type::init_window_flags, sizeof(df::enums::init_window_flags::init_window_flags) }, + { DF_Type::inorganic_flags, sizeof(df::enums::inorganic_flags::inorganic_flags) }, + { DF_Type::inorganic_raw, sizeof(df::inorganic_raw) }, + { DF_Type::inorganic_raw__T_environment, sizeof(df::inorganic_raw::T_environment) }, + { DF_Type::inorganic_raw__T_environment_spec, sizeof(df::inorganic_raw::T_environment_spec) }, + { DF_Type::inorganic_raw__T_metal_ore, sizeof(df::inorganic_raw::T_metal_ore) }, + { DF_Type::inorganic_raw__T_thread_metal, sizeof(df::inorganic_raw::T_thread_metal) }, + { DF_Type::instrument_flags, sizeof(df::enums::instrument_flags::instrument_flags) }, + { DF_Type::instrument_piece, sizeof(df::instrument_piece) }, + { DF_Type::instrument_piece__T_flags, sizeof(df::instrument_piece::T_flags) }, + { DF_Type::instrument_register, sizeof(df::instrument_register) }, + { DF_Type::insurrection_outcome, sizeof(df::enums::insurrection_outcome::insurrection_outcome) }, + { DF_Type::interaction, sizeof(df::interaction) }, + { DF_Type::interaction_effect, sizeof(df::interaction_effect) }, + { DF_Type::interaction_effect__T_flags, sizeof(df::interaction_effect::T_flags) }, + { DF_Type::interaction_effect_add_syndromest, sizeof(df::interaction_effect_add_syndromest) }, + { DF_Type::interaction_effect_animatest, sizeof(df::interaction_effect_animatest) }, + { DF_Type::interaction_effect_cleanst, sizeof(df::interaction_effect_cleanst) }, + { DF_Type::interaction_effect_contactst, sizeof(df::interaction_effect_contactst) }, + { DF_Type::interaction_effect_hidest, sizeof(df::interaction_effect_hidest) }, + { DF_Type::interaction_effect_location_hint, sizeof(df::enums::interaction_effect_location_hint::interaction_effect_location_hint) }, + { DF_Type::interaction_effect_material_emissionst, sizeof(df::interaction_effect_material_emissionst) }, + { DF_Type::interaction_effect_resurrectst, sizeof(df::interaction_effect_resurrectst) }, + { DF_Type::interaction_effect_type, sizeof(df::enums::interaction_effect_type::interaction_effect_type) }, + { DF_Type::interaction_instance, sizeof(df::interaction_instance) }, + { DF_Type::interaction_source, sizeof(df::interaction_source) }, + { DF_Type::interaction_source_attackst, sizeof(df::interaction_source_attackst) }, + { DF_Type::interaction_source_creature_actionst, sizeof(df::interaction_source_creature_actionst) }, + { DF_Type::interaction_source_deityst, sizeof(df::interaction_source_deityst) }, + { DF_Type::interaction_source_disturbancest, sizeof(df::interaction_source_disturbancest) }, + { DF_Type::interaction_source_ingestionst, sizeof(df::interaction_source_ingestionst) }, + { DF_Type::interaction_source_regionst, sizeof(df::interaction_source_regionst) }, + { DF_Type::interaction_source_regionst__T_region_flags, sizeof(df::interaction_source_regionst::T_region_flags) }, + { DF_Type::interaction_source_secretst, sizeof(df::interaction_source_secretst) }, + { DF_Type::interaction_source_secretst__T_learn_flags, sizeof(df::interaction_source_secretst::T_learn_flags) }, + { DF_Type::interaction_source_type, sizeof(df::enums::interaction_source_type::interaction_source_type) }, + { DF_Type::interaction_source_underground_specialst, sizeof(df::interaction_source_underground_specialst) }, + { DF_Type::interaction_source_usage_hint, sizeof(df::enums::interaction_source_usage_hint::interaction_source_usage_hint) }, + { DF_Type::interaction_target, sizeof(df::interaction_target) }, + { DF_Type::interaction_target_corpsest, sizeof(df::interaction_target_corpsest) }, + { DF_Type::interaction_target_creaturest, sizeof(df::interaction_target_creaturest) }, + { DF_Type::interaction_target_info, sizeof(df::interaction_target_info) }, + { DF_Type::interaction_target_info__T_restrictions, sizeof(df::interaction_target_info::T_restrictions) }, + { DF_Type::interaction_target_location_type, sizeof(df::enums::interaction_target_location_type::interaction_target_location_type) }, + { DF_Type::interaction_target_locationst, sizeof(df::interaction_target_locationst) }, + { DF_Type::interaction_target_materialst, sizeof(df::interaction_target_materialst) }, + { DF_Type::interaction_target_materialst__T_restrictions, sizeof(df::interaction_target_materialst::T_restrictions) }, + { DF_Type::interaction_target_type, sizeof(df::enums::interaction_target_type::interaction_target_type) }, + { DF_Type::interface_breakdown_types, sizeof(df::enums::interface_breakdown_types::interface_breakdown_types) }, + { DF_Type::interface_button, sizeof(df::interface_button) }, + { DF_Type::interface_button_building_category_selectorst, sizeof(df::interface_button_building_category_selectorst) }, + { DF_Type::interface_button_building_custom_category_selectorst, sizeof(df::interface_button_building_custom_category_selectorst) }, + { DF_Type::interface_button_building_material_selectorst, sizeof(df::interface_button_building_material_selectorst) }, + { DF_Type::interface_button_building_new_jobst, sizeof(df::interface_button_building_new_jobst) }, + { DF_Type::interface_button_buildingst, sizeof(df::interface_button_buildingst) }, + { DF_Type::interface_button_construction_building_selectorst, sizeof(df::interface_button_construction_building_selectorst) }, + { DF_Type::interface_button_construction_category_selectorst, sizeof(df::interface_button_construction_category_selectorst) }, + { DF_Type::interface_button_construction_category_selectorst__T_category_id, sizeof(df::interface_button_construction_category_selectorst::T_category_id) }, + { DF_Type::interface_button_construction_donest, sizeof(df::interface_button_construction_donest) }, + { DF_Type::interface_button_constructionst, sizeof(df::interface_button_constructionst) }, + { DF_Type::interface_key, sizeof(df::enums::interface_key::interface_key) }, + { DF_Type::interfacest, sizeof(df::interfacest) }, + { DF_Type::invasion_info, sizeof(df::invasion_info) }, + { DF_Type::invasion_info__T_flags, sizeof(df::invasion_info::T_flags) }, + { DF_Type::item, sizeof(df::item) }, + { DF_Type::item_actual, sizeof(df::item_actual) }, + { DF_Type::item_ammost, sizeof(df::item_ammost) }, + { DF_Type::item_amuletst, sizeof(df::item_amuletst) }, + { DF_Type::item_animaltrapst, sizeof(df::item_animaltrapst) }, + { DF_Type::item_anvilst, sizeof(df::item_anvilst) }, + { DF_Type::item_armorst, sizeof(df::item_armorst) }, + { DF_Type::item_armorstandst, sizeof(df::item_armorstandst) }, + { DF_Type::item_backpackst, sizeof(df::item_backpackst) }, + { DF_Type::item_ballistaarrowheadst, sizeof(df::item_ballistaarrowheadst) }, + { DF_Type::item_ballistapartsst, sizeof(df::item_ballistapartsst) }, + { DF_Type::item_barrelst, sizeof(df::item_barrelst) }, + { DF_Type::item_barst, sizeof(df::item_barst) }, + { DF_Type::item_bedst, sizeof(df::item_bedst) }, + { DF_Type::item_binst, sizeof(df::item_binst) }, + { DF_Type::item_blocksst, sizeof(df::item_blocksst) }, + { DF_Type::item_body_component, sizeof(df::item_body_component) }, + { DF_Type::item_body_component__T_appearance, sizeof(df::item_body_component::T_appearance) }, + { DF_Type::item_body_component__T_body, sizeof(df::item_body_component::T_body) }, + { DF_Type::item_body_component__T_bone1, sizeof(df::item_body_component::T_bone1) }, + { DF_Type::item_body_component__T_bone2, sizeof(df::item_body_component::T_bone2) }, + { DF_Type::item_body_component__T_corpse_flags, sizeof(df::item_body_component::T_corpse_flags) }, + { DF_Type::item_bookst, sizeof(df::item_bookst) }, + { DF_Type::item_boulderst, sizeof(df::item_boulderst) }, + { DF_Type::item_boxst, sizeof(df::item_boxst) }, + { DF_Type::item_braceletst, sizeof(df::item_braceletst) }, + { DF_Type::item_branchst, sizeof(df::item_branchst) }, + { DF_Type::item_bucketst, sizeof(df::item_bucketst) }, + { DF_Type::item_cabinetst, sizeof(df::item_cabinetst) }, + { DF_Type::item_cagest, sizeof(df::item_cagest) }, + { DF_Type::item_catapultpartsst, sizeof(df::item_catapultpartsst) }, + { DF_Type::item_chainst, sizeof(df::item_chainst) }, + { DF_Type::item_chairst, sizeof(df::item_chairst) }, + { DF_Type::item_cheesest, sizeof(df::item_cheesest) }, + { DF_Type::item_clothst, sizeof(df::item_clothst) }, + { DF_Type::item_coffinst, sizeof(df::item_coffinst) }, + { DF_Type::item_coinst, sizeof(df::item_coinst) }, + { DF_Type::item_constructed, sizeof(df::item_constructed) }, + { DF_Type::item_corpsepiecest, sizeof(df::item_corpsepiecest) }, + { DF_Type::item_corpsest, sizeof(df::item_corpsest) }, + { DF_Type::item_crafted, sizeof(df::item_crafted) }, + { DF_Type::item_critter, sizeof(df::item_critter) }, + { DF_Type::item_crownst, sizeof(df::item_crownst) }, + { DF_Type::item_crutchst, sizeof(df::item_crutchst) }, + { DF_Type::item_doorst, sizeof(df::item_doorst) }, + { DF_Type::item_drinkst, sizeof(df::item_drinkst) }, + { DF_Type::item_earringst, sizeof(df::item_earringst) }, + { DF_Type::item_eggst, sizeof(df::item_eggst) }, + { DF_Type::item_eggst__T_egg_flags, sizeof(df::item_eggst::T_egg_flags) }, + { DF_Type::item_figurinest, sizeof(df::item_figurinest) }, + { DF_Type::item_filter_spec, sizeof(df::item_filter_spec) }, + { DF_Type::item_fish_rawst, sizeof(df::item_fish_rawst) }, + { DF_Type::item_fishst, sizeof(df::item_fishst) }, + { DF_Type::item_flags, sizeof(df::item_flags) }, + { DF_Type::item_flags2, sizeof(df::item_flags2) }, + { DF_Type::item_flaskst, sizeof(df::item_flaskst) }, + { DF_Type::item_floodgatest, sizeof(df::item_floodgatest) }, + { DF_Type::item_foodst, sizeof(df::item_foodst) }, + { DF_Type::item_foodst__T_ingredients, sizeof(df::item_foodst::T_ingredients) }, + { DF_Type::item_gemst, sizeof(df::item_gemst) }, + { DF_Type::item_globst, sizeof(df::item_globst) }, + { DF_Type::item_glovesst, sizeof(df::item_glovesst) }, + { DF_Type::item_gobletst, sizeof(df::item_gobletst) }, + { DF_Type::item_gratest, sizeof(df::item_gratest) }, + { DF_Type::item_hatch_coverst, sizeof(df::item_hatch_coverst) }, + { DF_Type::item_helmst, sizeof(df::item_helmst) }, + { DF_Type::item_history_info, sizeof(df::item_history_info) }, + { DF_Type::item_instrumentst, sizeof(df::item_instrumentst) }, + { DF_Type::item_kill_info, sizeof(df::item_kill_info) }, + { DF_Type::item_liquid, sizeof(df::item_liquid) }, + { DF_Type::item_liquid_miscst, sizeof(df::item_liquid_miscst) }, + { DF_Type::item_liquipowder, sizeof(df::item_liquipowder) }, + { DF_Type::item_magicness, sizeof(df::item_magicness) }, + { DF_Type::item_magicness_type, sizeof(df::enums::item_magicness_type::item_magicness_type) }, + { DF_Type::item_matstate, sizeof(df::item_matstate) }, + { DF_Type::item_meatst, sizeof(df::item_meatst) }, + { DF_Type::item_millstonest, sizeof(df::item_millstonest) }, + { DF_Type::item_orthopedic_castst, sizeof(df::item_orthopedic_castst) }, + { DF_Type::item_pantsst, sizeof(df::item_pantsst) }, + { DF_Type::item_petst, sizeof(df::item_petst) }, + { DF_Type::item_petst__T_pet_flags, sizeof(df::item_petst::T_pet_flags) }, + { DF_Type::item_pipe_sectionst, sizeof(df::item_pipe_sectionst) }, + { DF_Type::item_plant_growthst, sizeof(df::item_plant_growthst) }, + { DF_Type::item_plantst, sizeof(df::item_plantst) }, + { DF_Type::item_powder, sizeof(df::item_powder) }, + { DF_Type::item_powder_miscst, sizeof(df::item_powder_miscst) }, + { DF_Type::item_quality, sizeof(df::enums::item_quality::item_quality) }, + { DF_Type::item_quernst, sizeof(df::item_quernst) }, + { DF_Type::item_quiverst, sizeof(df::item_quiverst) }, + { DF_Type::item_remainsst, sizeof(df::item_remainsst) }, + { DF_Type::item_ringst, sizeof(df::item_ringst) }, + { DF_Type::item_rockst, sizeof(df::item_rockst) }, + { DF_Type::item_roughst, sizeof(df::item_roughst) }, + { DF_Type::item_scepterst, sizeof(df::item_scepterst) }, + { DF_Type::item_seedsst, sizeof(df::item_seedsst) }, + { DF_Type::item_sheetst, sizeof(df::item_sheetst) }, + { DF_Type::item_shieldst, sizeof(df::item_shieldst) }, + { DF_Type::item_shoesst, sizeof(df::item_shoesst) }, + { DF_Type::item_siegeammost, sizeof(df::item_siegeammost) }, + { DF_Type::item_skin_tannedst, sizeof(df::item_skin_tannedst) }, + { DF_Type::item_slabst, sizeof(df::item_slabst) }, + { DF_Type::item_smallgemst, sizeof(df::item_smallgemst) }, + { DF_Type::item_splintst, sizeof(df::item_splintst) }, + { DF_Type::item_statuest, sizeof(df::item_statuest) }, + { DF_Type::item_stockpile_ref, sizeof(df::item_stockpile_ref) }, + { DF_Type::item_tablest, sizeof(df::item_tablest) }, + { DF_Type::item_threadst, sizeof(df::item_threadst) }, + { DF_Type::item_toolst, sizeof(df::item_toolst) }, + { DF_Type::item_totemst, sizeof(df::item_totemst) }, + { DF_Type::item_toyst, sizeof(df::item_toyst) }, + { DF_Type::item_traction_benchst, sizeof(df::item_traction_benchst) }, + { DF_Type::item_trapcompst, sizeof(df::item_trapcompst) }, + { DF_Type::item_trappartsst, sizeof(df::item_trappartsst) }, + { DF_Type::item_type, sizeof(df::enums::item_type::item_type) }, + { DF_Type::item_verminst, sizeof(df::item_verminst) }, + { DF_Type::item_weaponrackst, sizeof(df::item_weaponrackst) }, + { DF_Type::item_weaponst, sizeof(df::item_weaponst) }, + { DF_Type::item_windowst, sizeof(df::item_windowst) }, + { DF_Type::item_woodst, sizeof(df::item_woodst) }, + { DF_Type::itemdef, sizeof(df::itemdef) }, + { DF_Type::itemdef_ammost, sizeof(df::itemdef_ammost) }, + { DF_Type::itemdef_armorst, sizeof(df::itemdef_armorst) }, + { DF_Type::itemdef_foodst, sizeof(df::itemdef_foodst) }, + { DF_Type::itemdef_glovesst, sizeof(df::itemdef_glovesst) }, + { DF_Type::itemdef_helmst, sizeof(df::itemdef_helmst) }, + { DF_Type::itemdef_instrumentst, sizeof(df::itemdef_instrumentst) }, + { DF_Type::itemdef_pantsst, sizeof(df::itemdef_pantsst) }, + { DF_Type::itemdef_shieldst, sizeof(df::itemdef_shieldst) }, + { DF_Type::itemdef_shoesst, sizeof(df::itemdef_shoesst) }, + { DF_Type::itemdef_siegeammost, sizeof(df::itemdef_siegeammost) }, + { DF_Type::itemdef_toolst, sizeof(df::itemdef_toolst) }, + { DF_Type::itemdef_toolst__T_default_improvements, sizeof(df::itemdef_toolst::T_default_improvements) }, + { DF_Type::itemdef_toyst, sizeof(df::itemdef_toyst) }, + { DF_Type::itemdef_trapcompst, sizeof(df::itemdef_trapcompst) }, + { DF_Type::itemdef_weaponst, sizeof(df::itemdef_weaponst) }, + { DF_Type::itemimprovement, sizeof(df::itemimprovement) }, + { DF_Type::itemimprovement_art_imagest, sizeof(df::itemimprovement_art_imagest) }, + { DF_Type::itemimprovement_bandsst, sizeof(df::itemimprovement_bandsst) }, + { DF_Type::itemimprovement_clothst, sizeof(df::itemimprovement_clothst) }, + { DF_Type::itemimprovement_coveredst, sizeof(df::itemimprovement_coveredst) }, + { DF_Type::itemimprovement_coveredst__T_cover_flags, sizeof(df::itemimprovement_coveredst::T_cover_flags) }, + { DF_Type::itemimprovement_illustrationst, sizeof(df::itemimprovement_illustrationst) }, + { DF_Type::itemimprovement_instrument_piecest, sizeof(df::itemimprovement_instrument_piecest) }, + { DF_Type::itemimprovement_itemspecificst, sizeof(df::itemimprovement_itemspecificst) }, + { DF_Type::itemimprovement_pagesst, sizeof(df::itemimprovement_pagesst) }, + { DF_Type::itemimprovement_rings_hangingst, sizeof(df::itemimprovement_rings_hangingst) }, + { DF_Type::itemimprovement_sewn_imagest, sizeof(df::itemimprovement_sewn_imagest) }, + { DF_Type::itemimprovement_sewn_imagest__T_cloth, sizeof(df::itemimprovement_sewn_imagest::T_cloth) }, + { DF_Type::itemimprovement_specific_type, sizeof(df::enums::itemimprovement_specific_type::itemimprovement_specific_type) }, + { DF_Type::itemimprovement_spikesst, sizeof(df::itemimprovement_spikesst) }, + { DF_Type::itemimprovement_threadst, sizeof(df::itemimprovement_threadst) }, + { DF_Type::itemimprovement_writingst, sizeof(df::itemimprovement_writingst) }, + { DF_Type::items_other_id, sizeof(df::enums::items_other_id::items_other_id) }, + { DF_Type::job, sizeof(df::job) }, + { DF_Type::job_art_specification, sizeof(df::job_art_specification) }, + { DF_Type::job_art_specification__T_type, sizeof(df::job_art_specification::T_type) }, + { DF_Type::job_flags, sizeof(df::job_flags) }, + { DF_Type::job_handler, sizeof(df::job_handler) }, + { DF_Type::job_handler__T_anon_1, sizeof(df::job_handler::T_anon_1) }, + { DF_Type::job_handler__T_postings, sizeof(df::job_handler::T_postings) }, + { DF_Type::job_handler__T_postings__T_flags, sizeof(df::job_handler::T_postings::T_flags) }, + { DF_Type::job_item, sizeof(df::job_item) }, + { DF_Type::job_item_filter, sizeof(df::job_item_filter) }, + { DF_Type::job_item_flags1, sizeof(df::job_item_flags1) }, + { DF_Type::job_item_flags2, sizeof(df::job_item_flags2) }, + { DF_Type::job_item_flags3, sizeof(df::job_item_flags3) }, + { DF_Type::job_item_ref, sizeof(df::job_item_ref) }, + { DF_Type::job_item_ref__T_role, sizeof(df::job_item_ref::T_role) }, + { DF_Type::job_item_vector_id, sizeof(df::enums::job_item_vector_id::job_item_vector_id) }, + { DF_Type::job_list_link, sizeof(df::job_list_link) }, + { DF_Type::job_material_category, sizeof(df::job_material_category) }, + { DF_Type::job_skill, sizeof(df::enums::job_skill::job_skill) }, + { DF_Type::job_skill_class, sizeof(df::enums::job_skill_class::job_skill_class) }, + { DF_Type::job_subtype_surgery, sizeof(df::enums::job_subtype_surgery::job_subtype_surgery) }, + { DF_Type::job_type, sizeof(df::enums::job_type::job_type) }, + { DF_Type::job_type_class, sizeof(df::enums::job_type_class::job_type_class) }, + { DF_Type::KeybindingScreen, sizeof(df::KeybindingScreen) }, + { DF_Type::KeybindingScreen__T_mode, sizeof(df::KeybindingScreen::T_mode) }, + { DF_Type::kitchen_exc_type, sizeof(df::enums::kitchen_exc_type::kitchen_exc_type) }, + { DF_Type::kitchen_pref_flag, sizeof(df::kitchen_pref_flag) }, + { DF_Type::knowledge_scholar_category_flag, sizeof(df::knowledge_scholar_category_flag) }, + { DF_Type::knowledge_scholar_category_flag__T_flags, sizeof(df::knowledge_scholar_category_flag::T_flags) }, + { DF_Type::knowledge_scholar_flags_0, sizeof(df::knowledge_scholar_flags_0) }, + { DF_Type::knowledge_scholar_flags_1, sizeof(df::knowledge_scholar_flags_1) }, + { DF_Type::knowledge_scholar_flags_10, sizeof(df::knowledge_scholar_flags_10) }, + { DF_Type::knowledge_scholar_flags_11, sizeof(df::knowledge_scholar_flags_11) }, + { DF_Type::knowledge_scholar_flags_12, sizeof(df::knowledge_scholar_flags_12) }, + { DF_Type::knowledge_scholar_flags_13, sizeof(df::knowledge_scholar_flags_13) }, + { DF_Type::knowledge_scholar_flags_2, sizeof(df::knowledge_scholar_flags_2) }, + { DF_Type::knowledge_scholar_flags_3, sizeof(df::knowledge_scholar_flags_3) }, + { DF_Type::knowledge_scholar_flags_4, sizeof(df::knowledge_scholar_flags_4) }, + { DF_Type::knowledge_scholar_flags_5, sizeof(df::knowledge_scholar_flags_5) }, + { DF_Type::knowledge_scholar_flags_6, sizeof(df::knowledge_scholar_flags_6) }, + { DF_Type::knowledge_scholar_flags_7, sizeof(df::knowledge_scholar_flags_7) }, + { DF_Type::knowledge_scholar_flags_8, sizeof(df::knowledge_scholar_flags_8) }, + { DF_Type::knowledge_scholar_flags_9, sizeof(df::knowledge_scholar_flags_9) }, + { DF_Type::language_name, sizeof(df::language_name) }, + { DF_Type::language_name_category, sizeof(df::enums::language_name_category::language_name_category) }, + { DF_Type::language_symbol, sizeof(df::language_symbol) }, + { DF_Type::language_translation, sizeof(df::language_translation) }, + { DF_Type::language_word, sizeof(df::language_word) }, + { DF_Type::language_word_flags, sizeof(df::language_word_flags) }, + { DF_Type::language_word_table, sizeof(df::language_word_table) }, + { DF_Type::large_integer, sizeof(df::large_integer) }, + { DF_Type::large_integer__T_u, sizeof(df::large_integer::T_u) }, + { DF_Type::layer_object, sizeof(df::layer_object) }, + { DF_Type::layer_object_buttonst, sizeof(df::layer_object_buttonst) }, + { DF_Type::layer_object_listst, sizeof(df::layer_object_listst) }, + { DF_Type::lever_target_type, sizeof(df::enums::lever_target_type::lever_target_type) }, + { DF_Type::loadgame_save_info, sizeof(df::loadgame_save_info) }, + { DF_Type::local_population, sizeof(df::local_population) }, + { DF_Type::local_population__T_flags, sizeof(df::local_population::T_flags) }, + { DF_Type::location_scribe_jobs, sizeof(df::location_scribe_jobs) }, + { DF_Type::machine, sizeof(df::machine) }, + { DF_Type::machine__T_components, sizeof(df::machine::T_components) }, + { DF_Type::machine__T_flags, sizeof(df::machine::T_flags) }, + { DF_Type::machine_conn_modes, sizeof(df::machine_conn_modes) }, + { DF_Type::machine_handler, sizeof(df::machine_handler) }, + { DF_Type::machine_info, sizeof(df::machine_info) }, + { DF_Type::machine_info__T_flags, sizeof(df::machine_info::T_flags) }, + { DF_Type::machine_standardst, sizeof(df::machine_standardst) }, + { DF_Type::machine_tile_set, sizeof(df::machine_tile_set) }, + { DF_Type::machine_type, sizeof(df::enums::machine_type::machine_type) }, + { DF_Type::MacroScreenLoad, sizeof(df::MacroScreenLoad) }, + { DF_Type::MacroScreenSave, sizeof(df::MacroScreenSave) }, + { DF_Type::manager_order, sizeof(df::manager_order) }, + { DF_Type::manager_order__T_frequency, sizeof(df::manager_order::T_frequency) }, + { DF_Type::manager_order_condition_item, sizeof(df::manager_order_condition_item) }, + { DF_Type::manager_order_condition_item__T_compare_type, sizeof(df::manager_order_condition_item::T_compare_type) }, + { DF_Type::manager_order_condition_order, sizeof(df::manager_order_condition_order) }, + { DF_Type::manager_order_condition_order__T_condition, sizeof(df::manager_order_condition_order::T_condition) }, + { DF_Type::manager_order_status, sizeof(df::manager_order_status) }, + { DF_Type::manager_order_template, sizeof(df::manager_order_template) }, + { DF_Type::mandate, sizeof(df::mandate) }, + { DF_Type::mandate__T_mode, sizeof(df::mandate::T_mode) }, + { DF_Type::mandate__T_punishment, sizeof(df::mandate::T_punishment) }, + { DF_Type::map_block, sizeof(df::map_block) }, + { DF_Type::map_block_column, sizeof(df::map_block_column) }, + { DF_Type::map_block_column__T_unmined_glyphs, sizeof(df::map_block_column::T_unmined_glyphs) }, + { DF_Type::map_renderer, sizeof(df::map_renderer) }, + { DF_Type::map_renderer__T_anon_4, sizeof(df::map_renderer::T_anon_4) }, + { DF_Type::map_viewport, sizeof(df::map_viewport) }, + { DF_Type::masterpiece_loss_type, sizeof(df::enums::masterpiece_loss_type::masterpiece_loss_type) }, + { DF_Type::material, sizeof(df::material) }, + { DF_Type::material_common, sizeof(df::material_common) }, + { DF_Type::material_common__T_hardens_with_water, sizeof(df::material_common::T_hardens_with_water) }, + { DF_Type::material_common__T_heat, sizeof(df::material_common::T_heat) }, + { DF_Type::material_common__T_reaction_product, sizeof(df::material_common::T_reaction_product) }, + { DF_Type::material_common__T_strength, sizeof(df::material_common::T_strength) }, + { DF_Type::material_flags, sizeof(df::enums::material_flags::material_flags) }, + { DF_Type::material_template, sizeof(df::material_template) }, + { DF_Type::material_vec_ref, sizeof(df::material_vec_ref) }, + { DF_Type::matgloss_list, sizeof(df::matgloss_list) }, + { DF_Type::matter_state, sizeof(df::enums::matter_state::matter_state) }, + { DF_Type::meeting_context, sizeof(df::meeting_context) }, + { DF_Type::meeting_diplomat_info, sizeof(df::meeting_diplomat_info) }, + { DF_Type::meeting_diplomat_info__T_flags, sizeof(df::meeting_diplomat_info::T_flags) }, + { DF_Type::meeting_event, sizeof(df::meeting_event) }, + { DF_Type::meeting_event_type, sizeof(df::enums::meeting_event_type::meeting_event_type) }, + { DF_Type::meeting_topic, sizeof(df::enums::meeting_topic::meeting_topic) }, + { DF_Type::meeting_variable, sizeof(df::meeting_variable) }, + { DF_Type::mental_attribute_type, sizeof(df::enums::mental_attribute_type::mental_attribute_type) }, + { DF_Type::mental_picture, sizeof(df::mental_picture) }, + { DF_Type::mental_picture_element_hfst, sizeof(df::mental_picture_element_hfst) }, + { DF_Type::mental_picture_element_regionst, sizeof(df::mental_picture_element_regionst) }, + { DF_Type::mental_picture_element_sitest, sizeof(df::mental_picture_element_sitest) }, + { DF_Type::mental_picture_element_type, sizeof(df::enums::mental_picture_element_type::mental_picture_element_type) }, + { DF_Type::mental_picture_elementst, sizeof(df::mental_picture_elementst) }, + { DF_Type::mental_picture_property_actionst, sizeof(df::mental_picture_property_actionst) }, + { DF_Type::mental_picture_property_adjectivest, sizeof(df::mental_picture_property_adjectivest) }, + { DF_Type::mental_picture_property_color_patternst, sizeof(df::mental_picture_property_color_patternst) }, + { DF_Type::mental_picture_property_datest, sizeof(df::mental_picture_property_datest) }, + { DF_Type::mental_picture_property_emotionst, sizeof(df::mental_picture_property_emotionst) }, + { DF_Type::mental_picture_property_positionst, sizeof(df::mental_picture_property_positionst) }, + { DF_Type::mental_picture_property_shapest, sizeof(df::mental_picture_property_shapest) }, + { DF_Type::mental_picture_property_timest, sizeof(df::mental_picture_property_timest) }, + { DF_Type::mental_picture_property_toolst, sizeof(df::mental_picture_property_toolst) }, + { DF_Type::mental_picture_property_type, sizeof(df::enums::mental_picture_property_type::mental_picture_property_type) }, + { DF_Type::mental_picture_propertyst, sizeof(df::mental_picture_propertyst) }, + { DF_Type::misc_trait_type, sizeof(df::enums::misc_trait_type::misc_trait_type) }, + { DF_Type::mission, sizeof(df::mission) }, + { DF_Type::mission__T_details, sizeof(df::mission::T_details) }, + { DF_Type::mission__T_details__T_raid, sizeof(df::mission::T_details::T_raid) }, + { DF_Type::mission__T_details__T_raid__T_raid_flags, sizeof(df::mission::T_details::T_raid::T_raid_flags) }, + { DF_Type::mission__T_details__T_raid__T_raid_type, sizeof(df::mission::T_details::T_raid::T_raid_type) }, + { DF_Type::mission__T_details__T_recovery, sizeof(df::mission::T_details::T_recovery) }, + { DF_Type::mission__T_details__T_request, sizeof(df::mission::T_details::T_request) }, + { DF_Type::mission__T_details__T_rescue, sizeof(df::mission::T_details::T_rescue) }, + { DF_Type::mission__T_type, sizeof(df::mission::T_type) }, + { DF_Type::mission_campaign_report, sizeof(df::mission_campaign_report) }, + { DF_Type::mission_report, sizeof(df::mission_report) }, + { DF_Type::mood_type, sizeof(df::enums::mood_type::mood_type) }, + { DF_Type::mountain_peak_flags, sizeof(df::enums::mountain_peak_flags::mountain_peak_flags) }, + { DF_Type::moving_party, sizeof(df::moving_party) }, + { DF_Type::moving_party__T_members, sizeof(df::moving_party::T_members) }, + { DF_Type::musical_form, sizeof(df::musical_form) }, + { DF_Type::musical_form__T_flags, sizeof(df::musical_form::T_flags) }, + { DF_Type::musical_form_feature, sizeof(df::musical_form_feature) }, + { DF_Type::musical_form_instruments, sizeof(df::musical_form_instruments) }, + { DF_Type::musical_form_instruments__T_substitutions, sizeof(df::musical_form_instruments::T_substitutions) }, + { DF_Type::musical_form_interval, sizeof(df::musical_form_interval) }, + { DF_Type::musical_form_interval__T_flags, sizeof(df::musical_form_interval::T_flags) }, + { DF_Type::musical_form_melodies, sizeof(df::musical_form_melodies) }, + { DF_Type::musical_form_pitch_style, sizeof(df::enums::musical_form_pitch_style::musical_form_pitch_style) }, + { DF_Type::musical_form_purpose, sizeof(df::enums::musical_form_purpose::musical_form_purpose) }, + { DF_Type::musical_form_style, sizeof(df::enums::musical_form_style::musical_form_style) }, + { DF_Type::musical_form_sub4, sizeof(df::musical_form_sub4) }, + { DF_Type::musical_form_vocals, sizeof(df::musical_form_vocals) }, + { DF_Type::need_type, sizeof(df::enums::need_type::need_type) }, + { DF_Type::nemesis_flags, sizeof(df::enums::nemesis_flags::nemesis_flags) }, + { DF_Type::nemesis_offload, sizeof(df::nemesis_offload) }, + { DF_Type::nemesis_record, sizeof(df::nemesis_record) }, + { DF_Type::occasion_schedule_feature, sizeof(df::enums::occasion_schedule_feature::occasion_schedule_feature) }, + { DF_Type::occasion_schedule_type, sizeof(df::enums::occasion_schedule_type::occasion_schedule_type) }, + { DF_Type::occupation, sizeof(df::occupation) }, + { DF_Type::occupation_sub1, sizeof(df::occupation_sub1) }, + { DF_Type::occupation_type, sizeof(df::enums::occupation_type::occupation_type) }, + { DF_Type::ocean_wave, sizeof(df::ocean_wave) }, + { DF_Type::organic_mat_category, sizeof(df::enums::organic_mat_category::organic_mat_category) }, + { DF_Type::orientation_flags, sizeof(df::orientation_flags) }, + { DF_Type::pants_flags, sizeof(df::enums::pants_flags::pants_flags) }, + { DF_Type::part_of_speech, sizeof(df::enums::part_of_speech::part_of_speech) }, + { DF_Type::party_info, sizeof(df::party_info) }, + { DF_Type::pattern_type, sizeof(df::enums::pattern_type::pattern_type) }, + { DF_Type::performance_event_type, sizeof(df::enums::performance_event_type::performance_event_type) }, + { DF_Type::performance_participant_type, sizeof(df::enums::performance_participant_type::performance_participant_type) }, + { DF_Type::performance_play_orderst, sizeof(df::performance_play_orderst) }, + { DF_Type::performance_play_orderst__T_anon_4, sizeof(df::performance_play_orderst::T_anon_4) }, + { DF_Type::personality_facet_type, sizeof(df::enums::personality_facet_type::personality_facet_type) }, + { DF_Type::physical_attribute_type, sizeof(df::enums::physical_attribute_type::physical_attribute_type) }, + { DF_Type::pitch_choice_type, sizeof(df::enums::pitch_choice_type::pitch_choice_type) }, + { DF_Type::plant, sizeof(df::plant) }, + { DF_Type::plant__T_damage_flags, sizeof(df::plant::T_damage_flags) }, + { DF_Type::plant_flags, sizeof(df::plant_flags) }, + { DF_Type::plant_growth, sizeof(df::plant_growth) }, + { DF_Type::plant_growth__T_behavior, sizeof(df::plant_growth::T_behavior) }, + { DF_Type::plant_growth__T_locations, sizeof(df::plant_growth::T_locations) }, + { DF_Type::plant_growth_print, sizeof(df::plant_growth_print) }, + { DF_Type::plant_raw, sizeof(df::plant_raw) }, + { DF_Type::plant_raw__T_colors, sizeof(df::plant_raw::T_colors) }, + { DF_Type::plant_raw__T_material_defs, sizeof(df::plant_raw::T_material_defs) }, + { DF_Type::plant_raw__T_stockpile_growth_flags, sizeof(df::plant_raw::T_stockpile_growth_flags) }, + { DF_Type::plant_raw__T_tiles, sizeof(df::plant_raw::T_tiles) }, + { DF_Type::plant_raw_flags, sizeof(df::enums::plant_raw_flags::plant_raw_flags) }, + { DF_Type::plant_tree_info, sizeof(df::plant_tree_info) }, + { DF_Type::plant_tree_tile, sizeof(df::plant_tree_tile) }, + { DF_Type::poetic_form, sizeof(df::poetic_form) }, + { DF_Type::poetic_form__T_flags, sizeof(df::poetic_form::T_flags) }, + { DF_Type::poetic_form_action, sizeof(df::enums::poetic_form_action::poetic_form_action) }, + { DF_Type::poetic_form_additional_feature, sizeof(df::enums::poetic_form_additional_feature::poetic_form_additional_feature) }, + { DF_Type::poetic_form_caesura_position, sizeof(df::enums::poetic_form_caesura_position::poetic_form_caesura_position) }, + { DF_Type::poetic_form_feature, sizeof(df::poetic_form_feature) }, + { DF_Type::poetic_form_mood, sizeof(df::enums::poetic_form_mood::poetic_form_mood) }, + { DF_Type::poetic_form_part, sizeof(df::poetic_form_part) }, + { DF_Type::poetic_form_part__T_flags, sizeof(df::poetic_form_part::T_flags) }, + { DF_Type::poetic_form_part__T_line_subject_targets, sizeof(df::poetic_form_part::T_line_subject_targets) }, + { DF_Type::poetic_form_pattern, sizeof(df::enums::poetic_form_pattern::poetic_form_pattern) }, + { DF_Type::poetic_form_perspective, sizeof(df::poetic_form_perspective) }, + { DF_Type::poetic_form_perspective__T_type, sizeof(df::poetic_form_perspective::T_type) }, + { DF_Type::poetic_form_subject, sizeof(df::enums::poetic_form_subject::poetic_form_subject) }, + { DF_Type::popup_message, sizeof(df::popup_message) }, + { DF_Type::power_info, sizeof(df::power_info) }, + { DF_Type::pressure_plate_info, sizeof(df::pressure_plate_info) }, + { DF_Type::pressure_plate_info__T_flags, sizeof(df::pressure_plate_info::T_flags) }, + { DF_Type::profession, sizeof(df::enums::profession::profession) }, + { DF_Type::proj_itemst, sizeof(df::proj_itemst) }, + { DF_Type::proj_list_link, sizeof(df::proj_list_link) }, + { DF_Type::proj_magicst, sizeof(df::proj_magicst) }, + { DF_Type::proj_unitst, sizeof(df::proj_unitst) }, + { DF_Type::projectile, sizeof(df::projectile) }, + { DF_Type::projectile_flags, sizeof(df::projectile_flags) }, + { DF_Type::projectile_type, sizeof(df::enums::projectile_type::projectile_type) }, + { DF_Type::punishment, sizeof(df::punishment) }, + { DF_Type::reaction, sizeof(df::reaction) }, + { DF_Type::reaction__T_building, sizeof(df::reaction::T_building) }, + { DF_Type::reaction_category, sizeof(df::reaction_category) }, + { DF_Type::reaction_description, sizeof(df::reaction_description) }, + { DF_Type::reaction_flags, sizeof(df::enums::reaction_flags::reaction_flags) }, + { DF_Type::reaction_product, sizeof(df::reaction_product) }, + { DF_Type::reaction_product_improvement_flags, sizeof(df::enums::reaction_product_improvement_flags::reaction_product_improvement_flags) }, + { DF_Type::reaction_product_item_flags, sizeof(df::enums::reaction_product_item_flags::reaction_product_item_flags) }, + { DF_Type::reaction_product_item_improvementst, sizeof(df::reaction_product_item_improvementst) }, + { DF_Type::reaction_product_item_improvementst__T_get_material, sizeof(df::reaction_product_item_improvementst::T_get_material) }, + { DF_Type::reaction_product_itemst, sizeof(df::reaction_product_itemst) }, + { DF_Type::reaction_product_itemst__T_get_material, sizeof(df::reaction_product_itemst::T_get_material) }, + { DF_Type::reaction_product_type, sizeof(df::enums::reaction_product_type::reaction_product_type) }, + { DF_Type::reaction_reagent, sizeof(df::reaction_reagent) }, + { DF_Type::reaction_reagent_flags, sizeof(df::reaction_reagent_flags) }, + { DF_Type::reaction_reagent_itemst, sizeof(df::reaction_reagent_itemst) }, + { DF_Type::reaction_reagent_type, sizeof(df::enums::reaction_reagent_type::reaction_reagent_type) }, + { DF_Type::region_block_event_sphere_fieldst, sizeof(df::region_block_event_sphere_fieldst) }, + { DF_Type::region_block_event_type, sizeof(df::enums::region_block_event_type::region_block_event_type) }, + { DF_Type::region_block_eventst, sizeof(df::region_block_eventst) }, + { DF_Type::region_map_entry, sizeof(df::region_map_entry) }, + { DF_Type::region_map_entry__T_clouds, sizeof(df::region_map_entry::T_clouds) }, + { DF_Type::region_map_entry__T_wind, sizeof(df::region_map_entry::T_wind) }, + { DF_Type::region_map_entry_flags, sizeof(df::enums::region_map_entry_flags::region_map_entry_flags) }, + { DF_Type::renderer, sizeof(df::renderer) }, + { DF_Type::report, sizeof(df::report) }, + { DF_Type::report__T_flags, sizeof(df::report::T_flags) }, + { DF_Type::reputation_type, sizeof(df::enums::reputation_type::reputation_type) }, + { DF_Type::resource_allotment_data, sizeof(df::resource_allotment_data) }, + { DF_Type::resource_allotment_data__T_unk_654, sizeof(df::resource_allotment_data::T_unk_654) }, + { DF_Type::resource_allotment_specifier, sizeof(df::resource_allotment_specifier) }, + { DF_Type::resource_allotment_specifier_ammost, sizeof(df::resource_allotment_specifier_ammost) }, + { DF_Type::resource_allotment_specifier_anvilst, sizeof(df::resource_allotment_specifier_anvilst) }, + { DF_Type::resource_allotment_specifier_armor_bodyst, sizeof(df::resource_allotment_specifier_armor_bodyst) }, + { DF_Type::resource_allotment_specifier_armor_bootsst, sizeof(df::resource_allotment_specifier_armor_bootsst) }, + { DF_Type::resource_allotment_specifier_armor_glovesst, sizeof(df::resource_allotment_specifier_armor_glovesst) }, + { DF_Type::resource_allotment_specifier_armor_helmst, sizeof(df::resource_allotment_specifier_armor_helmst) }, + { DF_Type::resource_allotment_specifier_armor_pantsst, sizeof(df::resource_allotment_specifier_armor_pantsst) }, + { DF_Type::resource_allotment_specifier_backpackst, sizeof(df::resource_allotment_specifier_backpackst) }, + { DF_Type::resource_allotment_specifier_bagst, sizeof(df::resource_allotment_specifier_bagst) }, + { DF_Type::resource_allotment_specifier_bedst, sizeof(df::resource_allotment_specifier_bedst) }, + { DF_Type::resource_allotment_specifier_bonest, sizeof(df::resource_allotment_specifier_bonest) }, + { DF_Type::resource_allotment_specifier_boxst, sizeof(df::resource_allotment_specifier_boxst) }, + { DF_Type::resource_allotment_specifier_cabinetst, sizeof(df::resource_allotment_specifier_cabinetst) }, + { DF_Type::resource_allotment_specifier_chairst, sizeof(df::resource_allotment_specifier_chairst) }, + { DF_Type::resource_allotment_specifier_cheesest, sizeof(df::resource_allotment_specifier_cheesest) }, + { DF_Type::resource_allotment_specifier_clothing_bodyst, sizeof(df::resource_allotment_specifier_clothing_bodyst) }, + { DF_Type::resource_allotment_specifier_clothing_bootsst, sizeof(df::resource_allotment_specifier_clothing_bootsst) }, + { DF_Type::resource_allotment_specifier_clothing_glovesst, sizeof(df::resource_allotment_specifier_clothing_glovesst) }, + { DF_Type::resource_allotment_specifier_clothing_helmst, sizeof(df::resource_allotment_specifier_clothing_helmst) }, + { DF_Type::resource_allotment_specifier_clothing_pantsst, sizeof(df::resource_allotment_specifier_clothing_pantsst) }, + { DF_Type::resource_allotment_specifier_clothst, sizeof(df::resource_allotment_specifier_clothst) }, + { DF_Type::resource_allotment_specifier_craftsst, sizeof(df::resource_allotment_specifier_craftsst) }, + { DF_Type::resource_allotment_specifier_cropst, sizeof(df::resource_allotment_specifier_cropst) }, + { DF_Type::resource_allotment_specifier_extractst, sizeof(df::resource_allotment_specifier_extractst) }, + { DF_Type::resource_allotment_specifier_flaskst, sizeof(df::resource_allotment_specifier_flaskst) }, + { DF_Type::resource_allotment_specifier_gemsst, sizeof(df::resource_allotment_specifier_gemsst) }, + { DF_Type::resource_allotment_specifier_hornst, sizeof(df::resource_allotment_specifier_hornst) }, + { DF_Type::resource_allotment_specifier_leatherst, sizeof(df::resource_allotment_specifier_leatherst) }, + { DF_Type::resource_allotment_specifier_meatst, sizeof(df::resource_allotment_specifier_meatst) }, + { DF_Type::resource_allotment_specifier_metalst, sizeof(df::resource_allotment_specifier_metalst) }, + { DF_Type::resource_allotment_specifier_pearlst, sizeof(df::resource_allotment_specifier_pearlst) }, + { DF_Type::resource_allotment_specifier_powderst, sizeof(df::resource_allotment_specifier_powderst) }, + { DF_Type::resource_allotment_specifier_quiverst, sizeof(df::resource_allotment_specifier_quiverst) }, + { DF_Type::resource_allotment_specifier_shellst, sizeof(df::resource_allotment_specifier_shellst) }, + { DF_Type::resource_allotment_specifier_skinst, sizeof(df::resource_allotment_specifier_skinst) }, + { DF_Type::resource_allotment_specifier_soapst, sizeof(df::resource_allotment_specifier_soapst) }, + { DF_Type::resource_allotment_specifier_stonest, sizeof(df::resource_allotment_specifier_stonest) }, + { DF_Type::resource_allotment_specifier_tablest, sizeof(df::resource_allotment_specifier_tablest) }, + { DF_Type::resource_allotment_specifier_tallowst, sizeof(df::resource_allotment_specifier_tallowst) }, + { DF_Type::resource_allotment_specifier_threadst, sizeof(df::resource_allotment_specifier_threadst) }, + { DF_Type::resource_allotment_specifier_toothst, sizeof(df::resource_allotment_specifier_toothst) }, + { DF_Type::resource_allotment_specifier_type, sizeof(df::enums::resource_allotment_specifier_type::resource_allotment_specifier_type) }, + { DF_Type::resource_allotment_specifier_weapon_meleest, sizeof(df::resource_allotment_specifier_weapon_meleest) }, + { DF_Type::resource_allotment_specifier_weapon_rangedst, sizeof(df::resource_allotment_specifier_weapon_rangedst) }, + { DF_Type::resource_allotment_specifier_woodst, sizeof(df::resource_allotment_specifier_woodst) }, + { DF_Type::rhythm, sizeof(df::rhythm) }, + { DF_Type::rhythm_sub1, sizeof(df::rhythm_sub1) }, + { DF_Type::rhythm_sub1__T_anon_1, sizeof(df::rhythm_sub1::T_anon_1) }, + { DF_Type::rhythm_sub2, sizeof(df::rhythm_sub2) }, + { DF_Type::room_rent_info, sizeof(df::room_rent_info) }, + { DF_Type::room_rent_info__T_flags, sizeof(df::room_rent_info::T_flags) }, + { DF_Type::route_stockpile_link, sizeof(df::route_stockpile_link) }, + { DF_Type::route_stockpile_link__T_mode, sizeof(df::route_stockpile_link::T_mode) }, + { DF_Type::scale, sizeof(df::scale) }, + { DF_Type::scale__T_unk1, sizeof(df::scale::T_unk1) }, + { DF_Type::scale_sub1, sizeof(df::scale_sub1) }, + { DF_Type::scale_sub2, sizeof(df::scale_sub2) }, + { DF_Type::schedule_info, sizeof(df::schedule_info) }, + { DF_Type::schedule_slot, sizeof(df::schedule_slot) }, + { DF_Type::screw_pump_direction, sizeof(df::enums::screw_pump_direction::screw_pump_direction) }, + { DF_Type::scribejob, sizeof(df::scribejob) }, + { DF_Type::script_step_conditionalst, sizeof(df::script_step_conditionalst) }, + { DF_Type::script_step_conditionalst__T_condition, sizeof(df::script_step_conditionalst::T_condition) }, + { DF_Type::script_step_constructtopiclistst, sizeof(df::script_step_constructtopiclistst) }, + { DF_Type::script_step_dipeventst, sizeof(df::script_step_dipeventst) }, + { DF_Type::script_step_diphistoryst, sizeof(df::script_step_diphistoryst) }, + { DF_Type::script_step_discussst, sizeof(df::script_step_discussst) }, + { DF_Type::script_step_eventst, sizeof(df::script_step_eventst) }, + { DF_Type::script_step_invasionst, sizeof(df::script_step_invasionst) }, + { DF_Type::script_step_setvarst, sizeof(df::script_step_setvarst) }, + { DF_Type::script_step_simpleactionst, sizeof(df::script_step_simpleactionst) }, + { DF_Type::script_step_textviewerst, sizeof(df::script_step_textviewerst) }, + { DF_Type::script_step_topicdiscussionst, sizeof(df::script_step_topicdiscussionst) }, + { DF_Type::script_stepst, sizeof(df::script_stepst) }, + { DF_Type::script_var_longst, sizeof(df::script_var_longst) }, + { DF_Type::script_var_unitst, sizeof(df::script_var_unitst) }, + { DF_Type::script_varst, sizeof(df::script_varst) }, + { DF_Type::setup_character_info, sizeof(df::setup_character_info) }, + { DF_Type::setup_character_info__T_status, sizeof(df::setup_character_info::T_status) }, + { DF_Type::shoes_flags, sizeof(df::enums::shoes_flags::shoes_flags) }, + { DF_Type::shop_type, sizeof(df::enums::shop_type::shop_type) }, + { DF_Type::siegeengine_type, sizeof(df::enums::siegeengine_type::siegeengine_type) }, + { DF_Type::site_building_item, sizeof(df::site_building_item) }, + { DF_Type::site_dispute_type, sizeof(df::enums::site_dispute_type::site_dispute_type) }, + { DF_Type::site_realization_building, sizeof(df::site_realization_building) }, + { DF_Type::site_realization_building__T_unk_4c, sizeof(df::site_realization_building::T_unk_4c) }, + { DF_Type::site_realization_building_info_castle_courtyardst, sizeof(df::site_realization_building_info_castle_courtyardst) }, + { DF_Type::site_realization_building_info_castle_towerst, sizeof(df::site_realization_building_info_castle_towerst) }, + { DF_Type::site_realization_building_info_castle_wallst, sizeof(df::site_realization_building_info_castle_wallst) }, + { DF_Type::site_realization_building_info_hillock_housest, sizeof(df::site_realization_building_info_hillock_housest) }, + { DF_Type::site_realization_building_info_market_squarest, sizeof(df::site_realization_building_info_market_squarest) }, + { DF_Type::site_realization_building_info_shop_housest, sizeof(df::site_realization_building_info_shop_housest) }, + { DF_Type::site_realization_building_info_tree_housest, sizeof(df::site_realization_building_info_tree_housest) }, + { DF_Type::site_realization_building_info_trenchesst, sizeof(df::site_realization_building_info_trenchesst) }, + { DF_Type::site_realization_building_info_trenchesst__T_spokes, sizeof(df::site_realization_building_info_trenchesst::T_spokes) }, + { DF_Type::site_realization_building_infost, sizeof(df::site_realization_building_infost) }, + { DF_Type::site_realization_building_type, sizeof(df::enums::site_realization_building_type::site_realization_building_type) }, + { DF_Type::site_realization_crossroads, sizeof(df::site_realization_crossroads) }, + { DF_Type::site_reputation_info, sizeof(df::site_reputation_info) }, + { DF_Type::site_reputation_report, sizeof(df::site_reputation_report) }, + { DF_Type::site_shop_type, sizeof(df::enums::site_shop_type::site_shop_type) }, + { DF_Type::site_type, sizeof(df::enums::site_type::site_type) }, + { DF_Type::skill_rating, sizeof(df::enums::skill_rating::skill_rating) }, + { DF_Type::slab_engraving_type, sizeof(df::enums::slab_engraving_type::slab_engraving_type) }, + { DF_Type::sound_production_type, sizeof(df::enums::sound_production_type::sound_production_type) }, + { DF_Type::spatter, sizeof(df::spatter) }, + { DF_Type::spatter__T_flags, sizeof(df::spatter::T_flags) }, + { DF_Type::spatter_common, sizeof(df::spatter_common) }, + { DF_Type::spatter_common__T_base_flags, sizeof(df::spatter_common::T_base_flags) }, + { DF_Type::special_mat_table, sizeof(df::special_mat_table) }, + { DF_Type::specific_ref, sizeof(df::specific_ref) }, + { DF_Type::specific_ref__T_arg2, sizeof(df::specific_ref::T_arg2) }, + { DF_Type::specific_ref_type, sizeof(df::enums::specific_ref_type::specific_ref_type) }, + { DF_Type::sphere_type, sizeof(df::enums::sphere_type::sphere_type) }, + { DF_Type::spoils_report, sizeof(df::spoils_report) }, + { DF_Type::squad, sizeof(df::squad) }, + { DF_Type::squad__T_rooms, sizeof(df::squad::T_rooms) }, + { DF_Type::squad_ammo_spec, sizeof(df::squad_ammo_spec) }, + { DF_Type::squad_ammo_spec__T_flags, sizeof(df::squad_ammo_spec::T_flags) }, + { DF_Type::squad_event_type, sizeof(df::enums::squad_event_type::squad_event_type) }, + { DF_Type::squad_order, sizeof(df::squad_order) }, + { DF_Type::squad_order_cannot_reason, sizeof(df::enums::squad_order_cannot_reason::squad_order_cannot_reason) }, + { DF_Type::squad_order_cause_trouble_for_entityst, sizeof(df::squad_order_cause_trouble_for_entityst) }, + { DF_Type::squad_order_defend_burrowsst, sizeof(df::squad_order_defend_burrowsst) }, + { DF_Type::squad_order_drive_armies_from_sitest, sizeof(df::squad_order_drive_armies_from_sitest) }, + { DF_Type::squad_order_drive_entity_off_sitest, sizeof(df::squad_order_drive_entity_off_sitest) }, + { DF_Type::squad_order_kill_hfst, sizeof(df::squad_order_kill_hfst) }, + { DF_Type::squad_order_kill_listst, sizeof(df::squad_order_kill_listst) }, + { DF_Type::squad_order_movest, sizeof(df::squad_order_movest) }, + { DF_Type::squad_order_patrol_routest, sizeof(df::squad_order_patrol_routest) }, + { DF_Type::squad_order_raid_sitest, sizeof(df::squad_order_raid_sitest) }, + { DF_Type::squad_order_rescue_hfst, sizeof(df::squad_order_rescue_hfst) }, + { DF_Type::squad_order_retrieve_artifactst, sizeof(df::squad_order_retrieve_artifactst) }, + { DF_Type::squad_order_trainst, sizeof(df::squad_order_trainst) }, + { DF_Type::squad_order_type, sizeof(df::enums::squad_order_type::squad_order_type) }, + { DF_Type::squad_position, sizeof(df::squad_position) }, + { DF_Type::squad_schedule_entry, sizeof(df::squad_schedule_entry) }, + { DF_Type::squad_schedule_order, sizeof(df::squad_schedule_order) }, + { DF_Type::squad_uniform_spec, sizeof(df::squad_uniform_spec) }, + { DF_Type::squad_use_flags, sizeof(df::squad_use_flags) }, + { DF_Type::stockpile_category, sizeof(df::enums::stockpile_category::stockpile_category) }, + { DF_Type::stockpile_group_set, sizeof(df::stockpile_group_set) }, + { DF_Type::stockpile_links, sizeof(df::stockpile_links) }, + { DF_Type::stockpile_list, sizeof(df::enums::stockpile_list::stockpile_list) }, + { DF_Type::stockpile_settings, sizeof(df::stockpile_settings) }, + { DF_Type::stockpile_settings__T_ammo, sizeof(df::stockpile_settings::T_ammo) }, + { DF_Type::stockpile_settings__T_animals, sizeof(df::stockpile_settings::T_animals) }, + { DF_Type::stockpile_settings__T_armor, sizeof(df::stockpile_settings::T_armor) }, + { DF_Type::stockpile_settings__T_bars_blocks, sizeof(df::stockpile_settings::T_bars_blocks) }, + { DF_Type::stockpile_settings__T_cloth, sizeof(df::stockpile_settings::T_cloth) }, + { DF_Type::stockpile_settings__T_coins, sizeof(df::stockpile_settings::T_coins) }, + { DF_Type::stockpile_settings__T_finished_goods, sizeof(df::stockpile_settings::T_finished_goods) }, + { DF_Type::stockpile_settings__T_food, sizeof(df::stockpile_settings::T_food) }, + { DF_Type::stockpile_settings__T_furniture, sizeof(df::stockpile_settings::T_furniture) }, + { DF_Type::stockpile_settings__T_gems, sizeof(df::stockpile_settings::T_gems) }, + { DF_Type::stockpile_settings__T_leather, sizeof(df::stockpile_settings::T_leather) }, + { DF_Type::stockpile_settings__T_ore, sizeof(df::stockpile_settings::T_ore) }, + { DF_Type::stockpile_settings__T_refuse, sizeof(df::stockpile_settings::T_refuse) }, + { DF_Type::stockpile_settings__T_sheet, sizeof(df::stockpile_settings::T_sheet) }, + { DF_Type::stockpile_settings__T_stone, sizeof(df::stockpile_settings::T_stone) }, + { DF_Type::stockpile_settings__T_weapons, sizeof(df::stockpile_settings::T_weapons) }, + { DF_Type::stockpile_settings__T_wood, sizeof(df::stockpile_settings::T_wood) }, + { DF_Type::stop_depart_condition, sizeof(df::stop_depart_condition) }, + { DF_Type::stop_depart_condition__T_direction, sizeof(df::stop_depart_condition::T_direction) }, + { DF_Type::stop_depart_condition__T_flags, sizeof(df::stop_depart_condition::T_flags) }, + { DF_Type::stop_depart_condition__T_mode, sizeof(df::stop_depart_condition::T_mode) }, + { DF_Type::strain_type, sizeof(df::enums::strain_type::strain_type) }, + { DF_Type::stratus_type, sizeof(df::enums::stratus_type::stratus_type) }, + { DF_Type::syndrome, sizeof(df::syndrome) }, + { DF_Type::syndrome_flags, sizeof(df::syndrome_flags) }, + { DF_Type::T_cursor, sizeof(df::global::T_cursor) }, + { DF_Type::T_selection_rect, sizeof(df::global::T_selection_rect) }, + { DF_Type::tactical_situation, sizeof(df::enums::tactical_situation::tactical_situation) }, + { DF_Type::talk_choice, sizeof(df::talk_choice) }, + { DF_Type::talk_choice__T_unk, sizeof(df::talk_choice::T_unk) }, + { DF_Type::talk_choice_type, sizeof(df::enums::talk_choice_type::talk_choice_type) }, + { DF_Type::temperaturest, sizeof(df::temperaturest) }, + { DF_Type::text_info_element_longst, sizeof(df::text_info_element_longst) }, + { DF_Type::text_info_element_stringst, sizeof(df::text_info_element_stringst) }, + { DF_Type::text_info_elementst, sizeof(df::text_info_elementst) }, + { DF_Type::texture_handler, sizeof(df::texture_handler) }, + { DF_Type::tile_bitmask, sizeof(df::tile_bitmask) }, + { DF_Type::tile_building_occ, sizeof(df::enums::tile_building_occ::tile_building_occ) }, + { DF_Type::tile_designation, sizeof(df::tile_designation) }, + { DF_Type::tile_dig_designation, sizeof(df::enums::tile_dig_designation::tile_dig_designation) }, + { DF_Type::tile_liquid, sizeof(df::enums::tile_liquid::tile_liquid) }, + { DF_Type::tile_liquid_flow, sizeof(df::tile_liquid_flow) }, + { DF_Type::tile_liquid_flow_dir, sizeof(df::enums::tile_liquid_flow_dir::tile_liquid_flow_dir) }, + { DF_Type::tile_occupancy, sizeof(df::tile_occupancy) }, + { DF_Type::tile_page, sizeof(df::tile_page) }, + { DF_Type::tile_traffic, sizeof(df::enums::tile_traffic::tile_traffic) }, + { DF_Type::tiletype, sizeof(df::enums::tiletype::tiletype) }, + { DF_Type::tiletype_material, sizeof(df::enums::tiletype_material::tiletype_material) }, + { DF_Type::tiletype_shape, sizeof(df::enums::tiletype_shape::tiletype_shape) }, + { DF_Type::tiletype_shape_basic, sizeof(df::enums::tiletype_shape_basic::tiletype_shape_basic) }, + { DF_Type::tiletype_special, sizeof(df::enums::tiletype_special::tiletype_special) }, + { DF_Type::tiletype_variant, sizeof(df::enums::tiletype_variant::tiletype_variant) }, + { DF_Type::timbre_type, sizeof(df::enums::timbre_type::timbre_type) }, + { DF_Type::timed_event, sizeof(df::timed_event) }, + { DF_Type::timed_event_type, sizeof(df::enums::timed_event_type::timed_event_type) }, + { DF_Type::tissue, sizeof(df::tissue) }, + { DF_Type::tissue_flags, sizeof(df::enums::tissue_flags::tissue_flags) }, + { DF_Type::tissue_style_raw, sizeof(df::tissue_style_raw) }, + { DF_Type::tissue_style_type, sizeof(df::enums::tissue_style_type::tissue_style_type) }, + { DF_Type::tissue_template, sizeof(df::tissue_template) }, + { DF_Type::tool_flags, sizeof(df::enums::tool_flags::tool_flags) }, + { DF_Type::tool_uses, sizeof(df::enums::tool_uses::tool_uses) }, + { DF_Type::tower_shape, sizeof(df::tower_shape) }, + { DF_Type::toy_flags, sizeof(df::enums::toy_flags::toy_flags) }, + { DF_Type::training_assignment, sizeof(df::training_assignment) }, + { DF_Type::training_assignment__T_flags, sizeof(df::training_assignment::T_flags) }, + { DF_Type::training_knowledge_level, sizeof(df::enums::training_knowledge_level::training_knowledge_level) }, + { DF_Type::trap_type, sizeof(df::enums::trap_type::trap_type) }, + { DF_Type::trapcomp_flags, sizeof(df::enums::trapcomp_flags::trapcomp_flags) }, + { DF_Type::tree_house_type, sizeof(df::enums::tree_house_type::tree_house_type) }, + { DF_Type::tuning_type, sizeof(df::enums::tuning_type::tuning_type) }, + { DF_Type::ui, sizeof(df::ui) }, + { DF_Type::ui__T_alerts, sizeof(df::ui::T_alerts) }, + { DF_Type::ui__T_alerts__T_list, sizeof(df::ui::T_alerts::T_list) }, + { DF_Type::ui__T_becoming_capital, sizeof(df::ui::T_becoming_capital) }, + { DF_Type::ui__T_burrows, sizeof(df::ui::T_burrows) }, + { DF_Type::ui__T_economy_prices, sizeof(df::ui::T_economy_prices) }, + { DF_Type::ui__T_economy_prices__T_price_adjustment, sizeof(df::ui::T_economy_prices::T_price_adjustment) }, + { DF_Type::ui__T_economy_prices__T_price_setter, sizeof(df::ui::T_economy_prices::T_price_setter) }, + { DF_Type::ui__T_equipment, sizeof(df::ui::T_equipment) }, + { DF_Type::ui__T_equipment__T_update, sizeof(df::ui::T_equipment::T_update) }, + { DF_Type::ui__T_hauling, sizeof(df::ui::T_hauling) }, + { DF_Type::ui__T_invasions, sizeof(df::ui::T_invasions) }, + { DF_Type::ui__T_kitchen, sizeof(df::ui::T_kitchen) }, + { DF_Type::ui__T_main, sizeof(df::ui::T_main) }, + { DF_Type::ui__T_main__T_dead_citizens, sizeof(df::ui::T_main::T_dead_citizens) }, + { DF_Type::ui__T_map_edge, sizeof(df::ui::T_map_edge) }, + { DF_Type::ui__T_squads, sizeof(df::ui::T_squads) }, + { DF_Type::ui__T_stockpile, sizeof(df::ui::T_stockpile) }, + { DF_Type::ui__T_tax_collection, sizeof(df::ui::T_tax_collection) }, + { DF_Type::ui__T_unk23c8_flags, sizeof(df::ui::T_unk23c8_flags) }, + { DF_Type::ui__T_unk2a8c, sizeof(df::ui::T_unk2a8c) }, + { DF_Type::ui__T_waypoints, sizeof(df::ui::T_waypoints) }, + { DF_Type::ui__T_waypoints__T_points, sizeof(df::ui::T_waypoints::T_points) }, + { DF_Type::ui__T_waypoints__T_routes, sizeof(df::ui::T_waypoints::T_routes) }, + { DF_Type::ui_advmode, sizeof(df::ui_advmode) }, + { DF_Type::ui_advmode__T_assume_identity, sizeof(df::ui_advmode::T_assume_identity) }, + { DF_Type::ui_advmode__T_companions, sizeof(df::ui_advmode::T_companions) }, + { DF_Type::ui_advmode__T_conversation, sizeof(df::ui_advmode::T_conversation) }, + { DF_Type::ui_advmode__T_conversation__T_choices, sizeof(df::ui_advmode::T_conversation::T_choices) }, + { DF_Type::ui_advmode__T_conversation__T_targets, sizeof(df::ui_advmode::T_conversation::T_targets) }, + { DF_Type::ui_advmode__T_conversation__T_targets__T_type, sizeof(df::ui_advmode::T_conversation::T_targets::T_type) }, + { DF_Type::ui_advmode__T_interactions, sizeof(df::ui_advmode::T_interactions) }, + { DF_Type::ui_advmode__T_show_menu, sizeof(df::ui_advmode::T_show_menu) }, + { DF_Type::ui_advmode__T_travel_right_map, sizeof(df::ui_advmode::T_travel_right_map) }, + { DF_Type::ui_advmode__T_unk_3124, sizeof(df::ui_advmode::T_unk_3124) }, + { DF_Type::ui_advmode__T_unk_3170, sizeof(df::ui_advmode::T_unk_3170) }, + { DF_Type::ui_advmode__T_unk_3170__T_unk_2, sizeof(df::ui_advmode::T_unk_3170::T_unk_2) }, + { DF_Type::ui_advmode__T_unk_v40_1, sizeof(df::ui_advmode::T_unk_v40_1) }, + { DF_Type::ui_advmode__T_unk_v40_2, sizeof(df::ui_advmode::T_unk_v40_2) }, + { DF_Type::ui_advmode__T_unk_v40_3, sizeof(df::ui_advmode::T_unk_v40_3) }, + { DF_Type::ui_advmode__T_unk_v40_4, sizeof(df::ui_advmode::T_unk_v40_4) }, + { DF_Type::ui_advmode__T_unk_v40_4__T_unk_v40_4a, sizeof(df::ui_advmode::T_unk_v40_4::T_unk_v40_4a) }, + { DF_Type::ui_advmode__T_unk_v40_5, sizeof(df::ui_advmode::T_unk_v40_5) }, + { DF_Type::ui_advmode__T_unk_v42_1, sizeof(df::ui_advmode::T_unk_v42_1) }, + { DF_Type::ui_advmode_menu, sizeof(df::enums::ui_advmode_menu::ui_advmode_menu) }, + { DF_Type::ui_build_item_req, sizeof(df::ui_build_item_req) }, + { DF_Type::ui_build_selector, sizeof(df::ui_build_selector) }, + { DF_Type::ui_hotkey, sizeof(df::ui_hotkey) }, + { DF_Type::ui_hotkey__T_cmd, sizeof(df::ui_hotkey::T_cmd) }, + { DF_Type::ui_look_list, sizeof(df::ui_look_list) }, + { DF_Type::ui_look_list__T_items, sizeof(df::ui_look_list::T_items) }, + { DF_Type::ui_look_list__T_items__T_type, sizeof(df::ui_look_list::T_items::T_type) }, + { DF_Type::ui_sidebar_menus, sizeof(df::ui_sidebar_menus) }, + { DF_Type::ui_sidebar_menus__T_barracks, sizeof(df::ui_sidebar_menus::T_barracks) }, + { DF_Type::ui_sidebar_menus__T_building, sizeof(df::ui_sidebar_menus::T_building) }, + { DF_Type::ui_sidebar_menus__T_command_line, sizeof(df::ui_sidebar_menus::T_command_line) }, + { DF_Type::ui_sidebar_menus__T_designation, sizeof(df::ui_sidebar_menus::T_designation) }, + { DF_Type::ui_sidebar_menus__T_designation__T_mine_mode, sizeof(df::ui_sidebar_menus::T_designation::T_mine_mode) }, + { DF_Type::ui_sidebar_menus__T_hospital, sizeof(df::ui_sidebar_menus::T_hospital) }, + { DF_Type::ui_sidebar_menus__T_job_details, sizeof(df::ui_sidebar_menus::T_job_details) }, + { DF_Type::ui_sidebar_menus__T_location, sizeof(df::ui_sidebar_menus::T_location) }, + { DF_Type::ui_sidebar_menus__T_minimap, sizeof(df::ui_sidebar_menus::T_minimap) }, + { DF_Type::ui_sidebar_menus__T_unit, sizeof(df::ui_sidebar_menus::T_unit) }, + { DF_Type::ui_sidebar_menus__T_unit__T_expel_error, sizeof(df::ui_sidebar_menus::T_unit::T_expel_error) }, + { DF_Type::ui_sidebar_menus__T_unit_cursor, sizeof(df::ui_sidebar_menus::T_unit_cursor) }, + { DF_Type::ui_sidebar_menus__T_unit_skills, sizeof(df::ui_sidebar_menus::T_unit_skills) }, + { DF_Type::ui_sidebar_menus__T_workshop_job, sizeof(df::ui_sidebar_menus::T_workshop_job) }, + { DF_Type::ui_sidebar_menus__T_zone, sizeof(df::ui_sidebar_menus::T_zone) }, + { DF_Type::ui_sidebar_menus__T_zone__T_mode, sizeof(df::ui_sidebar_menus::T_zone::T_mode) }, + { DF_Type::ui_sidebar_mode, sizeof(df::enums::ui_sidebar_mode::ui_sidebar_mode) }, + { DF_Type::ui_unit_view_mode, sizeof(df::ui_unit_view_mode) }, + { DF_Type::ui_unit_view_mode__T_value, sizeof(df::ui_unit_view_mode::T_value) }, + { DF_Type::uniform_category, sizeof(df::enums::uniform_category::uniform_category) }, + { DF_Type::uniform_flags, sizeof(df::uniform_flags) }, + { DF_Type::uniform_indiv_choice, sizeof(df::uniform_indiv_choice) }, + { DF_Type::unit, sizeof(df::unit) }, + { DF_Type::unit__T_animal, sizeof(df::unit::T_animal) }, + { DF_Type::unit__T_appearance, sizeof(df::unit::T_appearance) }, + { DF_Type::unit__T_body, sizeof(df::unit::T_body) }, + { DF_Type::unit__T_counters, sizeof(df::unit::T_counters) }, + { DF_Type::unit__T_counters2, sizeof(df::unit::T_counters2) }, + { DF_Type::unit__T_counters__T_soldier_mood, sizeof(df::unit::T_counters::T_soldier_mood) }, + { DF_Type::unit__T_curse, sizeof(df::unit::T_curse) }, + { DF_Type::unit__T_enemy, sizeof(df::unit::T_enemy) }, + { DF_Type::unit__T_enemy__T_undead, sizeof(df::unit::T_enemy::T_undead) }, + { DF_Type::unit__T_enemy__T_unk_448, sizeof(df::unit::T_enemy::T_unk_448) }, + { DF_Type::unit__T_enemy__T_unk_448__T_unk, sizeof(df::unit::T_enemy::T_unk_448::T_unk) }, + { DF_Type::unit__T_enemy__T_unk_44c, sizeof(df::unit::T_enemy::T_unk_44c) }, + { DF_Type::unit__T_enemy__T_unk_v40_sub3, sizeof(df::unit::T_enemy::T_unk_v40_sub3) }, + { DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_2, sizeof(df::unit::T_enemy::T_unk_v40_sub3::T_unk_2) }, + { DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_6, sizeof(df::unit::T_enemy::T_unk_v40_sub3::T_unk_6) }, + { DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7, sizeof(df::unit::T_enemy::T_unk_v40_sub3::T_unk_7) }, + { DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7__T_unk_sub1, sizeof(df::unit::T_enemy::T_unk_v40_sub3::T_unk_7::T_unk_sub1) }, + { DF_Type::unit__T_enemy__T_witness_reports, sizeof(df::unit::T_enemy::T_witness_reports) }, + { DF_Type::unit__T_job, sizeof(df::unit::T_job) }, + { DF_Type::unit__T_meeting, sizeof(df::unit::T_meeting) }, + { DF_Type::unit__T_meeting__T_state, sizeof(df::unit::T_meeting::T_state) }, + { DF_Type::unit__T_military, sizeof(df::unit::T_military) }, + { DF_Type::unit__T_military__T_pickup_flags, sizeof(df::unit::T_military::T_pickup_flags) }, + { DF_Type::unit__T_opponent, sizeof(df::unit::T_opponent) }, + { DF_Type::unit__T_path, sizeof(df::unit::T_path) }, + { DF_Type::unit__T_reports, sizeof(df::unit::T_reports) }, + { DF_Type::unit__T_status, sizeof(df::unit::T_status) }, + { DF_Type::unit__T_status2, sizeof(df::unit::T_status2) }, + { DF_Type::unit__T_status__T_eat_history, sizeof(df::unit::T_status::T_eat_history) }, + { DF_Type::unit__T_status__T_eat_history__T_drink, sizeof(df::unit::T_status::T_eat_history::T_drink) }, + { DF_Type::unit__T_status__T_eat_history__T_food, sizeof(df::unit::T_status::T_eat_history::T_food) }, + { DF_Type::unit__T_syndromes, sizeof(df::unit::T_syndromes) }, + { DF_Type::unit__T_unknown7, sizeof(df::unit::T_unknown7) }, + { DF_Type::unit_action, sizeof(df::unit_action) }, + { DF_Type::unit_action__T_data, sizeof(df::unit_action::T_data) }, + { DF_Type::unit_action__T_data__T_attack, sizeof(df::unit_action::T_data::T_attack) }, + { DF_Type::unit_action__T_data__T_attack__T_flags, sizeof(df::unit_action::T_data::T_attack::T_flags) }, + { DF_Type::unit_action__T_data__T_attack__T_unk_4, sizeof(df::unit_action::T_data::T_attack::T_unk_4) }, + { DF_Type::unit_action__T_data__T_block, sizeof(df::unit_action::T_data::T_block) }, + { DF_Type::unit_action__T_data__T_climb, sizeof(df::unit_action::T_data::T_climb) }, + { DF_Type::unit_action__T_data__T_dodge, sizeof(df::unit_action::T_data::T_dodge) }, + { DF_Type::unit_action__T_data__T_holditem, sizeof(df::unit_action::T_data::T_holditem) }, + { DF_Type::unit_action__T_data__T_holdterrain, sizeof(df::unit_action::T_data::T_holdterrain) }, + { DF_Type::unit_action__T_data__T_job, sizeof(df::unit_action::T_data::T_job) }, + { DF_Type::unit_action__T_data__T_job2, sizeof(df::unit_action::T_data::T_job2) }, + { DF_Type::unit_action__T_data__T_jump, sizeof(df::unit_action::T_data::T_jump) }, + { DF_Type::unit_action__T_data__T_liedown, sizeof(df::unit_action::T_data::T_liedown) }, + { DF_Type::unit_action__T_data__T_move, sizeof(df::unit_action::T_data::T_move) }, + { DF_Type::unit_action__T_data__T_move__T_flags, sizeof(df::unit_action::T_data::T_move::T_flags) }, + { DF_Type::unit_action__T_data__T_parry, sizeof(df::unit_action::T_data::T_parry) }, + { DF_Type::unit_action__T_data__T_pushobject, sizeof(df::unit_action::T_data::T_pushobject) }, + { DF_Type::unit_action__T_data__T_recover, sizeof(df::unit_action::T_data::T_recover) }, + { DF_Type::unit_action__T_data__T_releaseitem, sizeof(df::unit_action::T_data::T_releaseitem) }, + { DF_Type::unit_action__T_data__T_releaseterrain, sizeof(df::unit_action::T_data::T_releaseterrain) }, + { DF_Type::unit_action__T_data__T_standup, sizeof(df::unit_action::T_data::T_standup) }, + { DF_Type::unit_action__T_data__T_suckblood, sizeof(df::unit_action::T_data::T_suckblood) }, + { DF_Type::unit_action__T_data__T_talk, sizeof(df::unit_action::T_data::T_talk) }, + { DF_Type::unit_action__T_data__T_unsteady, sizeof(df::unit_action::T_data::T_unsteady) }, + { DF_Type::unit_action_type, sizeof(df::enums::unit_action_type::unit_action_type) }, + { DF_Type::unit_appearance, sizeof(df::unit_appearance) }, + { DF_Type::unit_attribute, sizeof(df::unit_attribute) }, + { DF_Type::unit_bp_health_flags, sizeof(df::unit_bp_health_flags) }, + { DF_Type::unit_chunk, sizeof(df::unit_chunk) }, + { DF_Type::unit_chunk__T_units, sizeof(df::unit_chunk::T_units) }, + { DF_Type::unit_coin_debt, sizeof(df::unit_coin_debt) }, + { DF_Type::unit_complaint, sizeof(df::unit_complaint) }, + { DF_Type::unit_complaint__T_type, sizeof(df::unit_complaint::T_type) }, + { DF_Type::unit_dance_skill, sizeof(df::unit_dance_skill) }, + { DF_Type::unit_demand, sizeof(df::unit_demand) }, + { DF_Type::unit_demand__T_place, sizeof(df::unit_demand::T_place) }, + { DF_Type::unit_emotion_memory, sizeof(df::unit_emotion_memory) }, + { DF_Type::unit_flags1, sizeof(df::unit_flags1) }, + { DF_Type::unit_flags2, sizeof(df::unit_flags2) }, + { DF_Type::unit_flags3, sizeof(df::unit_flags3) }, + { DF_Type::unit_flags4, sizeof(df::unit_flags4) }, + { DF_Type::unit_genes, sizeof(df::unit_genes) }, + { DF_Type::unit_ghost_info, sizeof(df::unit_ghost_info) }, + { DF_Type::unit_ghost_info__T_flags, sizeof(df::unit_ghost_info::T_flags) }, + { DF_Type::unit_ghost_info__T_target, sizeof(df::unit_ghost_info::T_target) }, + { DF_Type::unit_health_flags, sizeof(df::unit_health_flags) }, + { DF_Type::unit_health_info, sizeof(df::unit_health_info) }, + { DF_Type::unit_health_info__T_op_history, sizeof(df::unit_health_info::T_op_history) }, + { DF_Type::unit_health_info__T_op_history__T_info, sizeof(df::unit_health_info::T_op_history::T_info) }, + { DF_Type::unit_health_info__T_op_history__T_info__T_bandage, sizeof(df::unit_health_info::T_op_history::T_info::T_bandage) }, + { DF_Type::unit_health_info__T_op_history__T_info__T_crutch, sizeof(df::unit_health_info::T_op_history::T_info::T_crutch) }, + { DF_Type::unit_instrument_skill, sizeof(df::unit_instrument_skill) }, + { DF_Type::unit_inventory_item, sizeof(df::unit_inventory_item) }, + { DF_Type::unit_inventory_item__T_mode, sizeof(df::unit_inventory_item::T_mode) }, + { DF_Type::unit_item_use, sizeof(df::unit_item_use) }, + { DF_Type::unit_item_wrestle, sizeof(df::unit_item_wrestle) }, + { DF_Type::unit_labor, sizeof(df::enums::unit_labor::unit_labor) }, + { DF_Type::unit_labor_category, sizeof(df::enums::unit_labor_category::unit_labor_category) }, + { DF_Type::unit_misc_trait, sizeof(df::unit_misc_trait) }, + { DF_Type::unit_musical_skill, sizeof(df::unit_musical_skill) }, + { DF_Type::unit_path_goal, sizeof(df::enums::unit_path_goal::unit_path_goal) }, + { DF_Type::unit_personality, sizeof(df::unit_personality) }, + { DF_Type::unit_personality__T_dreams, sizeof(df::unit_personality::T_dreams) }, + { DF_Type::unit_personality__T_emotions, sizeof(df::unit_personality::T_emotions) }, + { DF_Type::unit_personality__T_emotions__T_flags, sizeof(df::unit_personality::T_emotions::T_flags) }, + { DF_Type::unit_personality__T_flags, sizeof(df::unit_personality::T_flags) }, + { DF_Type::unit_personality__T_memories, sizeof(df::unit_personality::T_memories) }, + { DF_Type::unit_personality__T_memories__T_reflected_on, sizeof(df::unit_personality::T_memories::T_reflected_on) }, + { DF_Type::unit_personality__T_needs, sizeof(df::unit_personality::T_needs) }, + { DF_Type::unit_personality__T_unk5, sizeof(df::unit_personality::T_unk5) }, + { DF_Type::unit_personality__T_unk_v40_2, sizeof(df::unit_personality::T_unk_v40_2) }, + { DF_Type::unit_personality__T_unk_v40_6, sizeof(df::unit_personality::T_unk_v40_6) }, + { DF_Type::unit_personality__T_values, sizeof(df::unit_personality::T_values) }, + { DF_Type::unit_poetic_skill, sizeof(df::unit_poetic_skill) }, + { DF_Type::unit_preference, sizeof(df::unit_preference) }, + { DF_Type::unit_preference__T_type, sizeof(df::unit_preference::T_type) }, + { DF_Type::unit_relationship_type, sizeof(df::enums::unit_relationship_type::unit_relationship_type) }, + { DF_Type::unit_report_type, sizeof(df::enums::unit_report_type::unit_report_type) }, + { DF_Type::unit_request, sizeof(df::unit_request) }, + { DF_Type::unit_request__T_type, sizeof(df::unit_request::T_type) }, + { DF_Type::unit_skill, sizeof(df::unit_skill) }, + { DF_Type::unit_soul, sizeof(df::unit_soul) }, + { DF_Type::unit_soul__T_performance_skills, sizeof(df::unit_soul::T_performance_skills) }, + { DF_Type::unit_station_type, sizeof(df::enums::unit_station_type::unit_station_type) }, + { DF_Type::unit_storage_status, sizeof(df::unit_storage_status) }, + { DF_Type::unit_syndrome, sizeof(df::unit_syndrome) }, + { DF_Type::unit_syndrome__T_flags, sizeof(df::unit_syndrome::T_flags) }, + { DF_Type::unit_syndrome__T_symptoms, sizeof(df::unit_syndrome::T_symptoms) }, + { DF_Type::unit_syndrome__T_symptoms__T_flags, sizeof(df::unit_syndrome::T_symptoms::T_flags) }, + { DF_Type::unit_thought_type, sizeof(df::enums::unit_thought_type::unit_thought_type) }, + { DF_Type::unit_unk_138, sizeof(df::unit_unk_138) }, + { DF_Type::unit_wound, sizeof(df::unit_wound) }, + { DF_Type::unit_wound__T_flags, sizeof(df::unit_wound::T_flags) }, + { DF_Type::unit_wound__T_parts, sizeof(df::unit_wound::T_parts) }, + { DF_Type::units_other_id, sizeof(df::enums::units_other_id::units_other_id) }, + { DF_Type::value_type, sizeof(df::enums::value_type::value_type) }, + { DF_Type::vehicle, sizeof(df::vehicle) }, + { DF_Type::vermin, sizeof(df::vermin) }, + { DF_Type::vermin_flags, sizeof(df::vermin_flags) }, + { DF_Type::viewscreen, sizeof(df::viewscreen) }, + { DF_Type::viewscreen_adopt_regionst, sizeof(df::viewscreen_adopt_regionst) }, + { DF_Type::viewscreen_adventure_logst, sizeof(df::viewscreen_adventure_logst) }, + { DF_Type::viewscreen_adventure_logst__T_info_mode, sizeof(df::viewscreen_adventure_logst::T_info_mode) }, + { DF_Type::viewscreen_adventure_logst__T_mode, sizeof(df::viewscreen_adventure_logst::T_mode) }, + { DF_Type::viewscreen_announcelistst, sizeof(df::viewscreen_announcelistst) }, + { DF_Type::viewscreen_assign_display_itemst, sizeof(df::viewscreen_assign_display_itemst) }, + { DF_Type::viewscreen_assign_display_itemst__T_sel_column, sizeof(df::viewscreen_assign_display_itemst::T_sel_column) }, + { DF_Type::viewscreen_barterst, sizeof(df::viewscreen_barterst) }, + { DF_Type::viewscreen_buildinglistst, sizeof(df::viewscreen_buildinglistst) }, + { DF_Type::viewscreen_buildingst, sizeof(df::viewscreen_buildingst) }, + { DF_Type::viewscreen_choose_start_sitest, sizeof(df::viewscreen_choose_start_sitest) }, + { DF_Type::viewscreen_choose_start_sitest__T_finder, sizeof(df::viewscreen_choose_start_sitest::T_finder) }, + { DF_Type::viewscreen_choose_start_sitest__T_page, sizeof(df::viewscreen_choose_start_sitest::T_page) }, + { DF_Type::viewscreen_civlistst, sizeof(df::viewscreen_civlistst) }, + { DF_Type::viewscreen_civlistst__T_artifact_details, sizeof(df::viewscreen_civlistst::T_artifact_details) }, + { DF_Type::viewscreen_civlistst__T_page, sizeof(df::viewscreen_civlistst::T_page) }, + { DF_Type::viewscreen_civlistst__T_rumors, sizeof(df::viewscreen_civlistst::T_rumors) }, + { DF_Type::viewscreen_civlistst__T_rumors__T_type, sizeof(df::viewscreen_civlistst::T_rumors::T_type) }, + { DF_Type::viewscreen_civlistst__T_unk_cache, sizeof(df::viewscreen_civlistst::T_unk_cache) }, + { DF_Type::viewscreen_civlistst__T_unk_cache__T_tmp1, sizeof(df::viewscreen_civlistst::T_unk_cache::T_tmp1) }, + { DF_Type::viewscreen_civlistst__T_unk_cache__T_tmp2, sizeof(df::viewscreen_civlistst::T_unk_cache::T_tmp2) }, + { DF_Type::viewscreen_createquotast, sizeof(df::viewscreen_createquotast) }, + { DF_Type::viewscreen_customize_unitst, sizeof(df::viewscreen_customize_unitst) }, + { DF_Type::viewscreen_dungeon_monsterstatusst, sizeof(df::viewscreen_dungeon_monsterstatusst) }, + { DF_Type::viewscreen_dungeon_wrestlest, sizeof(df::viewscreen_dungeon_wrestlest) }, + { DF_Type::viewscreen_dungeon_wrestlest__T_unk1, sizeof(df::viewscreen_dungeon_wrestlest::T_unk1) }, + { DF_Type::viewscreen_dungeonmodest, sizeof(df::viewscreen_dungeonmodest) }, + { DF_Type::viewscreen_dwarfmodest, sizeof(df::viewscreen_dwarfmodest) }, + { DF_Type::viewscreen_entityst, sizeof(df::viewscreen_entityst) }, + { DF_Type::viewscreen_export_graphical_mapst, sizeof(df::viewscreen_export_graphical_mapst) }, + { DF_Type::viewscreen_export_regionst, sizeof(df::viewscreen_export_regionst) }, + { DF_Type::viewscreen_export_regionst__T_unk1, sizeof(df::viewscreen_export_regionst::T_unk1) }, + { DF_Type::viewscreen_game_cleanerst, sizeof(df::viewscreen_game_cleanerst) }, + { DF_Type::viewscreen_game_cleanerst__T_state, sizeof(df::viewscreen_game_cleanerst::T_state) }, + { DF_Type::viewscreen_image_creator_mode, sizeof(df::enums::viewscreen_image_creator_mode::viewscreen_image_creator_mode) }, + { DF_Type::viewscreen_image_creatorst, sizeof(df::viewscreen_image_creatorst) }, + { DF_Type::viewscreen_image_creatorst__T_artifacts, sizeof(df::viewscreen_image_creatorst::T_artifacts) }, + { DF_Type::viewscreen_image_creatorst__T_descriptions, sizeof(df::viewscreen_image_creatorst::T_descriptions) }, + { DF_Type::viewscreen_image_creatorst__T_entities, sizeof(df::viewscreen_image_creatorst::T_entities) }, + { DF_Type::viewscreen_image_creatorst__T_objects, sizeof(df::viewscreen_image_creatorst::T_objects) }, + { DF_Type::viewscreen_image_creatorst__T_plants, sizeof(df::viewscreen_image_creatorst::T_plants) }, + { DF_Type::viewscreen_image_creatorst__T_shapes, sizeof(df::viewscreen_image_creatorst::T_shapes) }, + { DF_Type::viewscreen_image_creatorst__T_sites, sizeof(df::viewscreen_image_creatorst::T_sites) }, + { DF_Type::viewscreen_image_creatorst__T_trees, sizeof(df::viewscreen_image_creatorst::T_trees) }, + { DF_Type::viewscreen_itemst, sizeof(df::viewscreen_itemst) }, + { DF_Type::viewscreen_joblistst, sizeof(df::viewscreen_joblistst) }, + { DF_Type::viewscreen_jobmanagementst, sizeof(df::viewscreen_jobmanagementst) }, + { DF_Type::viewscreen_jobst, sizeof(df::viewscreen_jobst) }, + { DF_Type::viewscreen_justicest, sizeof(df::viewscreen_justicest) }, + { DF_Type::viewscreen_justicest__T_cur_column, sizeof(df::viewscreen_justicest::T_cur_column) }, + { DF_Type::viewscreen_kitchenpref_page, sizeof(df::enums::viewscreen_kitchenpref_page::viewscreen_kitchenpref_page) }, + { DF_Type::viewscreen_kitchenprefst, sizeof(df::viewscreen_kitchenprefst) }, + { DF_Type::viewscreen_layer, sizeof(df::viewscreen_layer) }, + { DF_Type::viewscreen_layer_arena_creaturest, sizeof(df::viewscreen_layer_arena_creaturest) }, + { DF_Type::viewscreen_layer_assigntradest, sizeof(df::viewscreen_layer_assigntradest) }, + { DF_Type::viewscreen_layer_choose_language_namest, sizeof(df::viewscreen_layer_choose_language_namest) }, + { DF_Type::viewscreen_layer_choose_language_namest__T_current_component, sizeof(df::viewscreen_layer_choose_language_namest::T_current_component) }, + { DF_Type::viewscreen_layer_currencyst, sizeof(df::viewscreen_layer_currencyst) }, + { DF_Type::viewscreen_layer_export_play_mapst, sizeof(df::viewscreen_layer_export_play_mapst) }, + { DF_Type::viewscreen_layer_militaryst, sizeof(df::viewscreen_layer_militaryst) }, + { DF_Type::viewscreen_layer_militaryst__T_ammo, sizeof(df::viewscreen_layer_militaryst::T_ammo) }, + { DF_Type::viewscreen_layer_militaryst__T_ammo__T_add_item, sizeof(df::viewscreen_layer_militaryst::T_ammo::T_add_item) }, + { DF_Type::viewscreen_layer_militaryst__T_ammo__T_material, sizeof(df::viewscreen_layer_militaryst::T_ammo::T_material) }, + { DF_Type::viewscreen_layer_militaryst__T_equip, sizeof(df::viewscreen_layer_militaryst::T_equip) }, + { DF_Type::viewscreen_layer_militaryst__T_equip__T_add_item, sizeof(df::viewscreen_layer_militaryst::T_equip::T_add_item) }, + { DF_Type::viewscreen_layer_militaryst__T_equip__T_assigned, sizeof(df::viewscreen_layer_militaryst::T_equip::T_assigned) }, + { DF_Type::viewscreen_layer_militaryst__T_equip__T_color, sizeof(df::viewscreen_layer_militaryst::T_equip::T_color) }, + { DF_Type::viewscreen_layer_militaryst__T_equip__T_edit_mode, sizeof(df::viewscreen_layer_militaryst::T_equip::T_edit_mode) }, + { DF_Type::viewscreen_layer_militaryst__T_equip__T_material, sizeof(df::viewscreen_layer_militaryst::T_equip::T_material) }, + { DF_Type::viewscreen_layer_militaryst__T_equip__T_mode, sizeof(df::viewscreen_layer_militaryst::T_equip::T_mode) }, + { DF_Type::viewscreen_layer_militaryst__T_equip__T_uniform, sizeof(df::viewscreen_layer_militaryst::T_equip::T_uniform) }, + { DF_Type::viewscreen_layer_militaryst__T_page, sizeof(df::viewscreen_layer_militaryst::T_page) }, + { DF_Type::viewscreen_layer_militaryst__T_positions, sizeof(df::viewscreen_layer_militaryst::T_positions) }, + { DF_Type::viewscreen_layer_militaryst__T_squad_members, sizeof(df::viewscreen_layer_militaryst::T_squad_members) }, + { DF_Type::viewscreen_layer_militaryst__T_squads, sizeof(df::viewscreen_layer_militaryst::T_squads) }, + { DF_Type::viewscreen_layer_musicsoundst, sizeof(df::viewscreen_layer_musicsoundst) }, + { DF_Type::viewscreen_layer_noblelistst, sizeof(df::viewscreen_layer_noblelistst) }, + { DF_Type::viewscreen_layer_noblelistst__T_candidates, sizeof(df::viewscreen_layer_noblelistst::T_candidates) }, + { DF_Type::viewscreen_layer_noblelistst__T_info, sizeof(df::viewscreen_layer_noblelistst::T_info) }, + { DF_Type::viewscreen_layer_noblelistst__T_mode, sizeof(df::viewscreen_layer_noblelistst::T_mode) }, + { DF_Type::viewscreen_layer_overall_healthst, sizeof(df::viewscreen_layer_overall_healthst) }, + { DF_Type::viewscreen_layer_reactionst, sizeof(df::viewscreen_layer_reactionst) }, + { DF_Type::viewscreen_layer_squad_schedulest, sizeof(df::viewscreen_layer_squad_schedulest) }, + { DF_Type::viewscreen_layer_stockpilest, sizeof(df::viewscreen_layer_stockpilest) }, + { DF_Type::viewscreen_layer_stone_restrictionst, sizeof(df::viewscreen_layer_stone_restrictionst) }, + { DF_Type::viewscreen_layer_unit_actionst, sizeof(df::viewscreen_layer_unit_actionst) }, + { DF_Type::viewscreen_layer_unit_healthst, sizeof(df::viewscreen_layer_unit_healthst) }, + { DF_Type::viewscreen_layer_unit_relationshipst, sizeof(df::viewscreen_layer_unit_relationshipst) }, + { DF_Type::viewscreen_layer_world_gen_param_presetst, sizeof(df::viewscreen_layer_world_gen_param_presetst) }, + { DF_Type::viewscreen_layer_world_gen_paramst, sizeof(df::viewscreen_layer_world_gen_paramst) }, + { DF_Type::viewscreen_layer_world_gen_paramst__T_unk1, sizeof(df::viewscreen_layer_world_gen_paramst::T_unk1) }, + { DF_Type::viewscreen_legendsst, sizeof(df::viewscreen_legendsst) }, + { DF_Type::viewscreen_legendsst__T_anon_7, sizeof(df::viewscreen_legendsst::T_anon_7) }, + { DF_Type::viewscreen_legendsst__T_anon_7__T_anon_3, sizeof(df::viewscreen_legendsst::T_anon_7::T_anon_3) }, + { DF_Type::viewscreen_legendsst__T_cur_page, sizeof(df::viewscreen_legendsst::T_cur_page) }, + { DF_Type::viewscreen_loadgamest, sizeof(df::viewscreen_loadgamest) }, + { DF_Type::viewscreen_loadgamest__T_cur_step, sizeof(df::viewscreen_loadgamest::T_cur_step) }, + { DF_Type::viewscreen_locationsst, sizeof(df::viewscreen_locationsst) }, + { DF_Type::viewscreen_locationsst__T_in_edit, sizeof(df::viewscreen_locationsst::T_in_edit) }, + { DF_Type::viewscreen_locationsst__T_menu, sizeof(df::viewscreen_locationsst::T_menu) }, + { DF_Type::viewscreen_meetingst, sizeof(df::viewscreen_meetingst) }, + { DF_Type::viewscreen_movieplayerst, sizeof(df::viewscreen_movieplayerst) }, + { DF_Type::viewscreen_new_regionst, sizeof(df::viewscreen_new_regionst) }, + { DF_Type::viewscreen_noblest, sizeof(df::viewscreen_noblest) }, + { DF_Type::viewscreen_optionst, sizeof(df::viewscreen_optionst) }, + { DF_Type::viewscreen_optionst__T_options, sizeof(df::viewscreen_optionst::T_options) }, + { DF_Type::viewscreen_overallstatusst, sizeof(df::viewscreen_overallstatusst) }, + { DF_Type::viewscreen_overallstatusst__T_visible_pages, sizeof(df::viewscreen_overallstatusst::T_visible_pages) }, + { DF_Type::viewscreen_petitionsst, sizeof(df::viewscreen_petitionsst) }, + { DF_Type::viewscreen_petst, sizeof(df::viewscreen_petst) }, + { DF_Type::viewscreen_petst__T_animal, sizeof(df::viewscreen_petst::T_animal) }, + { DF_Type::viewscreen_petst__T_mode, sizeof(df::viewscreen_petst::T_mode) }, + { DF_Type::viewscreen_petst__T_trainer_mode, sizeof(df::viewscreen_petst::T_trainer_mode) }, + { DF_Type::viewscreen_pricest, sizeof(df::viewscreen_pricest) }, + { DF_Type::viewscreen_reportlistst, sizeof(df::viewscreen_reportlistst) }, + { DF_Type::viewscreen_requestagreementst, sizeof(df::viewscreen_requestagreementst) }, + { DF_Type::viewscreen_savegamest, sizeof(df::viewscreen_savegamest) }, + { DF_Type::viewscreen_selectitemst, sizeof(df::viewscreen_selectitemst) }, + { DF_Type::viewscreen_setupadventurest, sizeof(df::viewscreen_setupadventurest) }, + { DF_Type::viewscreen_setupadventurest__T_background_type, sizeof(df::viewscreen_setupadventurest::T_background_type) }, + { DF_Type::viewscreen_setupadventurest__T_page, sizeof(df::viewscreen_setupadventurest::T_page) }, + { DF_Type::viewscreen_setupadventurest__T_races_info, sizeof(df::viewscreen_setupadventurest::T_races_info) }, + { DF_Type::viewscreen_setupadventurest__T_sel_trait_column, sizeof(df::viewscreen_setupadventurest::T_sel_trait_column) }, + { DF_Type::viewscreen_setupdwarfgamest, sizeof(df::viewscreen_setupdwarfgamest) }, + { DF_Type::viewscreen_setupdwarfgamest__T_animals, sizeof(df::viewscreen_setupdwarfgamest::T_animals) }, + { DF_Type::viewscreen_setupdwarfgamest__T_choice_types, sizeof(df::viewscreen_setupdwarfgamest::T_choice_types) }, + { DF_Type::viewscreen_setupdwarfgamest__T_mode, sizeof(df::viewscreen_setupdwarfgamest::T_mode) }, + { DF_Type::viewscreen_setupdwarfgamest__T_unk_v43, sizeof(df::viewscreen_setupdwarfgamest::T_unk_v43) }, + { DF_Type::viewscreen_setupdwarfgamest__T_unk_v43__T_unk_v43_sub9, sizeof(df::viewscreen_setupdwarfgamest::T_unk_v43::T_unk_v43_sub9) }, + { DF_Type::viewscreen_storesst, sizeof(df::viewscreen_storesst) }, + { DF_Type::viewscreen_textviewerst, sizeof(df::viewscreen_textviewerst) }, + { DF_Type::viewscreen_textviewerst__T_formatted_text, sizeof(df::viewscreen_textviewerst::T_formatted_text) }, + { DF_Type::viewscreen_textviewerst__T_formatted_text__T_flags, sizeof(df::viewscreen_textviewerst::T_formatted_text::T_flags) }, + { DF_Type::viewscreen_titlest, sizeof(df::viewscreen_titlest) }, + { DF_Type::viewscreen_titlest__T_menu_line_id, sizeof(df::viewscreen_titlest::T_menu_line_id) }, + { DF_Type::viewscreen_titlest__T_sel_subpage, sizeof(df::viewscreen_titlest::T_sel_subpage) }, + { DF_Type::viewscreen_titlest__T_start_savegames, sizeof(df::viewscreen_titlest::T_start_savegames) }, + { DF_Type::viewscreen_topicmeeting_fill_land_holder_positionsst, sizeof(df::viewscreen_topicmeeting_fill_land_holder_positionsst) }, + { DF_Type::viewscreen_topicmeeting_takerequestsst, sizeof(df::viewscreen_topicmeeting_takerequestsst) }, + { DF_Type::viewscreen_topicmeetingst, sizeof(df::viewscreen_topicmeetingst) }, + { DF_Type::viewscreen_tradeagreementst, sizeof(df::viewscreen_tradeagreementst) }, + { DF_Type::viewscreen_tradegoodsst, sizeof(df::viewscreen_tradegoodsst) }, + { DF_Type::viewscreen_tradelistst, sizeof(df::viewscreen_tradelistst) }, + { DF_Type::viewscreen_treasurelistst, sizeof(df::viewscreen_treasurelistst) }, + { DF_Type::viewscreen_unitlist_page, sizeof(df::enums::viewscreen_unitlist_page::viewscreen_unitlist_page) }, + { DF_Type::viewscreen_unitlistst, sizeof(df::viewscreen_unitlistst) }, + { DF_Type::viewscreen_unitst, sizeof(df::viewscreen_unitst) }, + { DF_Type::viewscreen_update_regionst, sizeof(df::viewscreen_update_regionst) }, + { DF_Type::viewscreen_wagesst, sizeof(df::viewscreen_wagesst) }, + { DF_Type::viewscreen_workquota_conditionst, sizeof(df::viewscreen_workquota_conditionst) }, + { DF_Type::viewscreen_workquota_conditionst__T_mode, sizeof(df::viewscreen_workquota_conditionst::T_mode) }, + { DF_Type::viewscreen_workquota_conditionst__T_traits, sizeof(df::viewscreen_workquota_conditionst::T_traits) }, + { DF_Type::viewscreen_workquota_conditionst__T_traits__T_flags, sizeof(df::viewscreen_workquota_conditionst::T_traits::T_flags) }, + { DF_Type::viewscreen_workquota_detailsst, sizeof(df::viewscreen_workquota_detailsst) }, + { DF_Type::viewscreen_workshop_profilest, sizeof(df::viewscreen_workshop_profilest) }, + { DF_Type::viewscreen_workshop_profilest__T_tab, sizeof(df::viewscreen_workshop_profilest::T_tab) }, + { DF_Type::weapon_attack, sizeof(df::weapon_attack) }, + { DF_Type::weapon_attack__T_flags, sizeof(df::weapon_attack::T_flags) }, + { DF_Type::weapon_flags, sizeof(df::enums::weapon_flags::weapon_flags) }, + { DF_Type::weather_type, sizeof(df::enums::weather_type::weather_type) }, + { DF_Type::web_cluster, sizeof(df::web_cluster) }, + { DF_Type::widget_menu, sizeof(df::widget_menu) }, + { DF_Type::widget_textbox, sizeof(df::widget_textbox) }, + { DF_Type::workshop_profile, sizeof(df::workshop_profile) }, + { DF_Type::workshop_type, sizeof(df::enums::workshop_type::workshop_type) }, + { DF_Type::world, sizeof(df::world) }, + { DF_Type::world__T_activities, sizeof(df::world::T_activities) }, + { DF_Type::world__T_agreements, sizeof(df::world::T_agreements) }, + { DF_Type::world__T_arena_settings, sizeof(df::world::T_arena_settings) }, + { DF_Type::world__T_arena_spawn, sizeof(df::world::T_arena_spawn) }, + { DF_Type::world__T_arena_spawn__T_equipment, sizeof(df::world::T_arena_spawn::T_equipment) }, + { DF_Type::world__T_arena_spawn__T_item_types, sizeof(df::world::T_arena_spawn::T_item_types) }, + { DF_Type::world__T_armies, sizeof(df::world::T_armies) }, + { DF_Type::world__T_army_controllers, sizeof(df::world::T_army_controllers) }, + { DF_Type::world__T_army_tracking_info, sizeof(df::world::T_army_tracking_info) }, + { DF_Type::world__T_artifacts, sizeof(df::world::T_artifacts) }, + { DF_Type::world__T_belief_systems, sizeof(df::world::T_belief_systems) }, + { DF_Type::world__T_crimes, sizeof(df::world::T_crimes) }, + { DF_Type::world__T_cultural_identities, sizeof(df::world::T_cultural_identities) }, + { DF_Type::world__T_cur_savegame, sizeof(df::world::T_cur_savegame) }, + { DF_Type::world__T_dance_forms, sizeof(df::world::T_dance_forms) }, + { DF_Type::world__T_enemy_status_cache, sizeof(df::world::T_enemy_status_cache) }, + { DF_Type::world__T_entities, sizeof(df::world::T_entities) }, + { DF_Type::world__T_features, sizeof(df::world::T_features) }, + { DF_Type::world__T_flow_engine, sizeof(df::world::T_flow_engine) }, + { DF_Type::world__T_flow_guides, sizeof(df::world::T_flow_guides) }, + { DF_Type::world__T_formations, sizeof(df::world::T_formations) }, + { DF_Type::world__T_identities, sizeof(df::world::T_identities) }, + { DF_Type::world__T_incidents, sizeof(df::world::T_incidents) }, + { DF_Type::world__T_interaction_instances, sizeof(df::world::T_interaction_instances) }, + { DF_Type::world__T_items, sizeof(df::world::T_items) }, + { DF_Type::world__T_languages, sizeof(df::world::T_languages) }, + { DF_Type::world__T_map, sizeof(df::world::T_map) }, + { DF_Type::world__T_map_extras, sizeof(df::world::T_map_extras) }, + { DF_Type::world__T_math, sizeof(df::world::T_math) }, + { DF_Type::world__T_math__T_approx, sizeof(df::world::T_math::T_approx) }, + { DF_Type::world__T_musical_forms, sizeof(df::world::T_musical_forms) }, + { DF_Type::world__T_nemesis, sizeof(df::world::T_nemesis) }, + { DF_Type::world__T_occupations, sizeof(df::world::T_occupations) }, + { DF_Type::world__T_pathfinder, sizeof(df::world::T_pathfinder) }, + { DF_Type::world__T_pathfinder__T_boundary_heap, sizeof(df::world::T_pathfinder::T_boundary_heap) }, + { DF_Type::world__T_plants, sizeof(df::world::T_plants) }, + { DF_Type::world__T_poetic_forms, sizeof(df::world::T_poetic_forms) }, + { DF_Type::world__T_profession_skills, sizeof(df::world::T_profession_skills) }, + { DF_Type::world__T_rhythms, sizeof(df::world::T_rhythms) }, + { DF_Type::world__T_scales, sizeof(df::world::T_scales) }, + { DF_Type::world__T_schedules, sizeof(df::world::T_schedules) }, + { DF_Type::world__T_squads, sizeof(df::world::T_squads) }, + { DF_Type::world__T_status, sizeof(df::world::T_status) }, + { DF_Type::world__T_status__T_flags, sizeof(df::world::T_status::T_flags) }, + { DF_Type::world__T_status__T_slots, sizeof(df::world::T_status::T_slots) }, + { DF_Type::world__T_status__T_slots__T_flags, sizeof(df::world::T_status::T_slots::T_flags) }, + { DF_Type::world__T_stockpile, sizeof(df::world::T_stockpile) }, + { DF_Type::world__T_stockpile__T_simple1, sizeof(df::world::T_stockpile::T_simple1) }, + { DF_Type::world__T_stockpile__T_simple2, sizeof(df::world::T_stockpile::T_simple2) }, + { DF_Type::world__T_stockpile__T_simple3, sizeof(df::world::T_stockpile::T_simple3) }, + { DF_Type::world__T_units, sizeof(df::world::T_units) }, + { DF_Type::world__T_unk_131ec0, sizeof(df::world::T_unk_131ec0) }, + { DF_Type::world__T_unk_131ef0, sizeof(df::world::T_unk_131ef0) }, + { DF_Type::world__T_unk_131ef0__T_unk_2, sizeof(df::world::T_unk_131ef0::T_unk_2) }, + { DF_Type::world__T_unk_19325c, sizeof(df::world::T_unk_19325c) }, + { DF_Type::world__T_unk_19325c__T_anon_1, sizeof(df::world::T_unk_19325c::T_anon_1) }, + { DF_Type::world__T_unk_19325c__T_anon_2, sizeof(df::world::T_unk_19325c::T_anon_2) }, + { DF_Type::world__T_unk_19325c__T_anon_3, sizeof(df::world::T_unk_19325c::T_anon_3) }, + { DF_Type::world__T_unk_59dc4, sizeof(df::world::T_unk_59dc4) }, + { DF_Type::world__T_unk_59dc4__T_unk1, sizeof(df::world::T_unk_59dc4::T_unk1) }, + { DF_Type::world__T_unk_v40_6, sizeof(df::world::T_unk_v40_6) }, + { DF_Type::world__T_vehicles, sizeof(df::world::T_vehicles) }, + { DF_Type::world__T_vermin, sizeof(df::world::T_vermin) }, + { DF_Type::world__T_worldgen, sizeof(df::world::T_worldgen) }, + { DF_Type::world__T_worldgen__T_worldgen_parms, sizeof(df::world::T_worldgen::T_worldgen_parms) }, + { DF_Type::world__T_worldgen_coord_buf, sizeof(df::world::T_worldgen_coord_buf) }, + { DF_Type::world__T_worldgen_status, sizeof(df::world::T_worldgen_status) }, + { DF_Type::world__T_written_contents, sizeof(df::world::T_written_contents) }, + { DF_Type::world_construction, sizeof(df::world_construction) }, + { DF_Type::world_construction_bridgest, sizeof(df::world_construction_bridgest) }, + { DF_Type::world_construction_roadst, sizeof(df::world_construction_roadst) }, + { DF_Type::world_construction_square, sizeof(df::world_construction_square) }, + { DF_Type::world_construction_square_bridgest, sizeof(df::world_construction_square_bridgest) }, + { DF_Type::world_construction_square_roadst, sizeof(df::world_construction_square_roadst) }, + { DF_Type::world_construction_square_tunnelst, sizeof(df::world_construction_square_tunnelst) }, + { DF_Type::world_construction_square_wallst, sizeof(df::world_construction_square_wallst) }, + { DF_Type::world_construction_tunnelst, sizeof(df::world_construction_tunnelst) }, + { DF_Type::world_construction_type, sizeof(df::enums::world_construction_type::world_construction_type) }, + { DF_Type::world_construction_wallst, sizeof(df::world_construction_wallst) }, + { DF_Type::world_dat_summary, sizeof(df::world_dat_summary) }, + { DF_Type::world_data, sizeof(df::world_data) }, + { DF_Type::world_data__T_constructions, sizeof(df::world_data::T_constructions) }, + { DF_Type::world_data__T_feature_map, sizeof(df::world_data::T_feature_map) }, + { DF_Type::world_data__T_feature_map__T_features, sizeof(df::world_data::T_feature_map::T_features) }, + { DF_Type::world_data__T_flip_latitude, sizeof(df::world_data::T_flip_latitude) }, + { DF_Type::world_data__T_freakish_weather, sizeof(df::world_data::T_freakish_weather) }, + { DF_Type::world_data__T_mountain_peaks, sizeof(df::world_data::T_mountain_peaks) }, + { DF_Type::world_data__T_unk_150, sizeof(df::world_data::T_unk_150) }, + { DF_Type::world_data__T_unk_150__T_unk_18, sizeof(df::world_data::T_unk_150::T_unk_18) }, + { DF_Type::world_data__T_unk_150__T_unk_28, sizeof(df::world_data::T_unk_150::T_unk_28) }, + { DF_Type::world_data__T_unk_150__T_unk_8, sizeof(df::world_data::T_unk_150::T_unk_8) }, + { DF_Type::world_data__T_unk_170, sizeof(df::world_data::T_unk_170) }, + { DF_Type::world_data__T_unk_170__T_unk_4, sizeof(df::world_data::T_unk_170::T_unk_4) }, + { DF_Type::world_data__T_unk_274, sizeof(df::world_data::T_unk_274) }, + { DF_Type::world_data__T_unk_274__T_unk_10, sizeof(df::world_data::T_unk_274::T_unk_10) }, + { DF_Type::world_data__T_unk_482f8, sizeof(df::world_data::T_unk_482f8) }, + { DF_Type::world_data__T_unk_b4, sizeof(df::world_data::T_unk_b4) }, + { DF_Type::world_gen_param_basest, sizeof(df::world_gen_param_basest) }, + { DF_Type::world_gen_param_charst, sizeof(df::world_gen_param_charst) }, + { DF_Type::world_gen_param_memberst, sizeof(df::world_gen_param_memberst) }, + { DF_Type::world_gen_param_seedst, sizeof(df::world_gen_param_seedst) }, + { DF_Type::world_gen_param_valuest, sizeof(df::world_gen_param_valuest) }, + { DF_Type::world_geo_biome, sizeof(df::world_geo_biome) }, + { DF_Type::world_geo_layer, sizeof(df::world_geo_layer) }, + { DF_Type::world_history, sizeof(df::world_history) }, + { DF_Type::world_history__T_event_collections, sizeof(df::world_history::T_event_collections) }, + { DF_Type::world_landmass, sizeof(df::world_landmass) }, + { DF_Type::world_object_data, sizeof(df::world_object_data) }, + { DF_Type::world_object_data__T_offloaded_buildings, sizeof(df::world_object_data::T_offloaded_buildings) }, + { DF_Type::world_object_data__T_offloaded_items, sizeof(df::world_object_data::T_offloaded_items) }, + { DF_Type::world_object_data__T_unk_94, sizeof(df::world_object_data::T_unk_94) }, + { DF_Type::world_population, sizeof(df::world_population) }, + { DF_Type::world_population_ref, sizeof(df::world_population_ref) }, + { DF_Type::world_population_type, sizeof(df::enums::world_population_type::world_population_type) }, + { DF_Type::world_raws, sizeof(df::world_raws) }, + { DF_Type::world_raws__T_bodyglosses, sizeof(df::world_raws::T_bodyglosses) }, + { DF_Type::world_raws__T_buildings, sizeof(df::world_raws::T_buildings) }, + { DF_Type::world_raws__T_descriptors, sizeof(df::world_raws::T_descriptors) }, + { DF_Type::world_raws__T_effects, sizeof(df::world_raws::T_effects) }, + { DF_Type::world_raws__T_itemdefs, sizeof(df::world_raws::T_itemdefs) }, + { DF_Type::world_raws__T_language, sizeof(df::world_raws::T_language) }, + { DF_Type::world_raws__T_plants, sizeof(df::world_raws::T_plants) }, + { DF_Type::world_raws__T_reactions, sizeof(df::world_raws::T_reactions) }, + { DF_Type::world_raws__T_syndromes, sizeof(df::world_raws::T_syndromes) }, + { DF_Type::world_region, sizeof(df::world_region) }, + { DF_Type::world_region_details, sizeof(df::world_region_details) }, + { DF_Type::world_region_details__T_edges, sizeof(df::world_region_details::T_edges) }, + { DF_Type::world_region_details__T_rivers_horizontal, sizeof(df::world_region_details::T_rivers_horizontal) }, + { DF_Type::world_region_details__T_rivers_vertical, sizeof(df::world_region_details::T_rivers_vertical) }, + { DF_Type::world_region_feature, sizeof(df::world_region_feature) }, + { DF_Type::world_region_type, sizeof(df::enums::world_region_type::world_region_type) }, + { DF_Type::world_river, sizeof(df::world_river) }, + { DF_Type::world_site, sizeof(df::world_site) }, + { DF_Type::world_site__T_subtype_info, sizeof(df::world_site::T_subtype_info) }, + { DF_Type::world_site__T_unk_1, sizeof(df::world_site::T_unk_1) }, + { DF_Type::world_site__T_unk_118, sizeof(df::world_site::T_unk_118) }, + { DF_Type::world_site__T_unk_13c, sizeof(df::world_site::T_unk_13c) }, + { DF_Type::world_site__T_unk_188, sizeof(df::world_site::T_unk_188) }, + { DF_Type::world_site__T_unk_188__T_unk1, sizeof(df::world_site::T_unk_188::T_unk1) }, + { DF_Type::world_site__T_unk_1__T_units, sizeof(df::world_site::T_unk_1::T_units) }, + { DF_Type::world_site__T_unk_21c, sizeof(df::world_site::T_unk_21c) }, + { DF_Type::world_site__T_unk_v40_2, sizeof(df::world_site::T_unk_v40_2) }, + { DF_Type::world_site__T_unk_v40_4a, sizeof(df::world_site::T_unk_v40_4a) }, + { DF_Type::world_site__T_unk_v40_4b, sizeof(df::world_site::T_unk_v40_4b) }, + { DF_Type::world_site__T_unk_v40_4c, sizeof(df::world_site::T_unk_v40_4c) }, + { DF_Type::world_site__T_unk_v40_4d, sizeof(df::world_site::T_unk_v40_4d) }, + { DF_Type::world_site__T_unk_v40_4d__T_anon_2, sizeof(df::world_site::T_unk_v40_4d::T_anon_2) }, + { DF_Type::world_site__T_unk_v43_2, sizeof(df::world_site::T_unk_v43_2) }, + { DF_Type::world_site_flags, sizeof(df::enums::world_site_flags::world_site_flags) }, + { DF_Type::world_site_inhabitant, sizeof(df::world_site_inhabitant) }, + { DF_Type::world_site_realization, sizeof(df::world_site_realization) }, + { DF_Type::world_site_realization__T_areas, sizeof(df::world_site_realization::T_areas) }, + { DF_Type::world_site_realization__T_areas__T_type, sizeof(df::world_site_realization::T_areas::T_type) }, + { DF_Type::world_site_realization__T_building_map, sizeof(df::world_site_realization::T_building_map) }, + { DF_Type::world_site_realization__T_river_map, sizeof(df::world_site_realization::T_river_map) }, + { DF_Type::world_site_realization__T_unk_193bc, sizeof(df::world_site_realization::T_unk_193bc) }, + { DF_Type::world_site_realization__T_unk_193bc__T_unk_8, sizeof(df::world_site_realization::T_unk_193bc::T_unk_8) }, + { DF_Type::world_site_realization__T_unk_55e8, sizeof(df::world_site_realization::T_unk_55e8) }, + { DF_Type::world_site_realization__T_unk_55e8__T_unk_v40_2, sizeof(df::world_site_realization::T_unk_55e8::T_unk_v40_2) }, + { DF_Type::world_site_type, sizeof(df::enums::world_site_type::world_site_type) }, + { DF_Type::world_site_unk130, sizeof(df::world_site_unk130) }, + { DF_Type::world_site_unk130__T_unk_4, sizeof(df::world_site_unk130::T_unk_4) }, + { DF_Type::world_underground_region, sizeof(df::world_underground_region) }, + { DF_Type::world_underground_region__T_type, sizeof(df::world_underground_region::T_type) }, + { DF_Type::world_unk_20, sizeof(df::world_unk_20) }, + { DF_Type::world_unk_20__T_anon_7, sizeof(df::world_unk_20::T_anon_7) }, + { DF_Type::world_unk_6c, sizeof(df::world_unk_6c) }, + { DF_Type::world_unk_9c, sizeof(df::world_unk_9c) }, + { DF_Type::world_unk_a8, sizeof(df::world_unk_a8) }, + { DF_Type::world_unk_b4, sizeof(df::world_unk_b4) }, + { DF_Type::world_unk_c0, sizeof(df::world_unk_c0) }, + { DF_Type::world_unk_c0__T_anon_7, sizeof(df::world_unk_c0::T_anon_7) }, + { DF_Type::worldgen_range_type, sizeof(df::enums::worldgen_range_type::worldgen_range_type) }, + { DF_Type::worldgen_region_type, sizeof(df::enums::worldgen_region_type::worldgen_region_type) }, + { DF_Type::wound_curse_info, sizeof(df::wound_curse_info) }, + { DF_Type::wound_damage_flags1, sizeof(df::wound_damage_flags1) }, + { DF_Type::wound_damage_flags2, sizeof(df::wound_damage_flags2) }, + { DF_Type::wound_effect_type, sizeof(df::enums::wound_effect_type::wound_effect_type) }, + { DF_Type::written_content, sizeof(df::written_content) }, + { DF_Type::written_content_style, sizeof(df::enums::written_content_style::written_content_style) }, + { DF_Type::written_content_type, sizeof(df::enums::written_content_type::written_content_type) }, + { DF_Type::z_level_flags, sizeof(df::z_level_flags) }, + { DF_Type::zoom_commands, sizeof(df::enums::zoom_commands::zoom_commands) }, + { DF_Type::None, 0 }, + { DF_Type::int64_t, sizeof(int64_t) }, + { DF_Type::uint64_t, sizeof(uint64_t) }, + { DF_Type::int32_t, sizeof(int32_t) }, + { DF_Type::int16_t, sizeof(int16_t) }, + { DF_Type::uint32_t, sizeof(uint32_t) }, + { DF_Type::uint16_t, sizeof(uint16_t) }, + { DF_Type::uint8_t, sizeof(uint8_t) }, + { DF_Type::int8_t, sizeof(int8_t) }, + { DF_Type::Char, sizeof(char) }, + { DF_Type::Long, sizeof(long) }, + { DF_Type::Bool, sizeof(bool) }, + { DF_Type::S_float, sizeof(float) }, + { DF_Type::D_float, sizeof(float) }, + { DF_Type::S_double, sizeof(double) } +}; +std::size_t size_of_DF_Type(DF_Type p_type) +{ + auto result = DF_types_size_table[p_type]; + return result; +} // Function to return the string value of this enum class std::string DF_Type_to_string(DF_Type p_type) @@ -2315,2250 +2299,2255 @@ std::string DF_Type_to_string(DF_Type p_type) case DF_Type::S_double: return "S_double"; case DF_Type::Padding: return "Padding"; case DF_Type::Stl_fstream: return "Fstream"; - case DF_Type::abstract_building: return "abstract_building"; - case DF_Type::abstract_building__T_inhabitants: return "abstract_building__T_inhabitants"; - case DF_Type::abstract_building__T_unk1: return "abstract_building__T_unk1"; - case DF_Type::abstract_building_contents: return "abstract_building_contents"; - case DF_Type::abstract_building_dark_towerst: return "abstract_building_dark_towerst"; - case DF_Type::abstract_building_dungeonst: return "abstract_building_dungeonst"; - case DF_Type::abstract_building_dungeonst__T_dungeon_type: return "abstract_building_dungeonst__T_dungeon_type"; - case DF_Type::abstract_building_flags: return "abstract_building_flags"; - case DF_Type::abstract_building_inn_tavernst: return "abstract_building_inn_tavernst"; - case DF_Type::abstract_building_inn_tavernst__T_room_info: return "abstract_building_inn_tavernst__T_room_info"; - case DF_Type::abstract_building_keepst: return "abstract_building_keepst"; - case DF_Type::abstract_building_libraryst: return "abstract_building_libraryst"; - case DF_Type::abstract_building_marketst: return "abstract_building_marketst"; - case DF_Type::abstract_building_mead_hallst: return "abstract_building_mead_hallst"; - case DF_Type::abstract_building_templest: return "abstract_building_templest"; - case DF_Type::abstract_building_tombst: return "abstract_building_tombst"; - case DF_Type::abstract_building_type: return "abstract_building_type"; - case DF_Type::abstract_building_underworld_spirest: return "abstract_building_underworld_spirest"; - case DF_Type::abstract_building_unk: return "abstract_building_unk"; - case DF_Type::abstract_building_unk__T_anon_1: return "abstract_building_unk__T_anon_1"; - case DF_Type::active_script_var_longst: return "active_script_var_longst"; - case DF_Type::active_script_var_unitst: return "active_script_var_unitst"; - case DF_Type::active_script_varst: return "active_script_varst"; - case DF_Type::activity_entry: return "activity_entry"; - case DF_Type::activity_event: return "activity_event"; - case DF_Type::activity_event__T_flags: return "activity_event__T_flags"; - case DF_Type::activity_event__T_unk_v42_1: return "activity_event__T_unk_v42_1"; - case DF_Type::activity_event__T_unk_v42_2: return "activity_event__T_unk_v42_2"; - case DF_Type::activity_event_combat_trainingst: return "activity_event_combat_trainingst"; - case DF_Type::activity_event_conflictst: return "activity_event_conflictst"; - case DF_Type::activity_event_conflictst__T_sides: return "activity_event_conflictst__T_sides"; - case DF_Type::activity_event_conflictst__T_sides__T_enemies: return "activity_event_conflictst__T_sides__T_enemies"; - case DF_Type::activity_event_conversationst: return "activity_event_conversationst"; - case DF_Type::activity_event_conversationst__T_anon_6: return "activity_event_conversationst__T_anon_6"; - case DF_Type::activity_event_conversationst__T_flags2: return "activity_event_conversationst__T_flags2"; - case DF_Type::activity_event_conversationst__T_participants: return "activity_event_conversationst__T_participants"; - case DF_Type::activity_event_conversationst__T_turns: return "activity_event_conversationst__T_turns"; - case DF_Type::activity_event_conversationst__T_unk2: return "activity_event_conversationst__T_unk2"; - case DF_Type::activity_event_conversationst__T_unk_b4: return "activity_event_conversationst__T_unk_b4"; - case DF_Type::activity_event_copy_written_contentst: return "activity_event_copy_written_contentst"; - case DF_Type::activity_event_copy_written_contentst__T_flagsmaybe: return "activity_event_copy_written_contentst__T_flagsmaybe"; - case DF_Type::activity_event_discuss_topicst: return "activity_event_discuss_topicst"; - case DF_Type::activity_event_encounterst: return "activity_event_encounterst"; - case DF_Type::activity_event_encounterst__T_anon_1: return "activity_event_encounterst__T_anon_1"; - case DF_Type::activity_event_encounterst__T_anon_2: return "activity_event_encounterst__T_anon_2"; - case DF_Type::activity_event_fill_service_orderst: return "activity_event_fill_service_orderst"; - case DF_Type::activity_event_guardst: return "activity_event_guardst"; - case DF_Type::activity_event_harassmentst: return "activity_event_harassmentst"; - case DF_Type::activity_event_harassmentst__T_anon_2: return "activity_event_harassmentst__T_anon_2"; - case DF_Type::activity_event_individual_skill_drillst: return "activity_event_individual_skill_drillst"; - case DF_Type::activity_event_make_believest: return "activity_event_make_believest"; - case DF_Type::activity_event_participants: return "activity_event_participants"; - case DF_Type::activity_event_performancest: return "activity_event_performancest"; - case DF_Type::activity_event_performancest__T_participant_actions: return "activity_event_performancest__T_participant_actions"; - case DF_Type::activity_event_play_with_toyst: return "activity_event_play_with_toyst"; - case DF_Type::activity_event_play_with_toyst__T_unk: return "activity_event_play_with_toyst__T_unk"; - case DF_Type::activity_event_playst: return "activity_event_playst"; - case DF_Type::activity_event_ponder_topicst: return "activity_event_ponder_topicst"; - case DF_Type::activity_event_prayerst: return "activity_event_prayerst"; - case DF_Type::activity_event_ranged_practicest: return "activity_event_ranged_practicest"; - case DF_Type::activity_event_readst: return "activity_event_readst"; - case DF_Type::activity_event_researchst: return "activity_event_researchst"; - case DF_Type::activity_event_reunionst: return "activity_event_reunionst"; - case DF_Type::activity_event_skill_demonstrationst: return "activity_event_skill_demonstrationst"; - case DF_Type::activity_event_socializest: return "activity_event_socializest"; - case DF_Type::activity_event_sparringst: return "activity_event_sparringst"; - case DF_Type::activity_event_sparringst__T_groups: return "activity_event_sparringst__T_groups"; - case DF_Type::activity_event_store_objectst: return "activity_event_store_objectst"; - case DF_Type::activity_event_teach_topicst: return "activity_event_teach_topicst"; - case DF_Type::activity_event_training_sessionst: return "activity_event_training_sessionst"; - case DF_Type::activity_event_type: return "activity_event_type"; - case DF_Type::activity_event_worshipst: return "activity_event_worshipst"; - case DF_Type::activity_event_writest: return "activity_event_writest"; - case DF_Type::activity_info: return "activity_info"; - case DF_Type::activity_info__T_flags: return "activity_info__T_flags"; - case DF_Type::adventure_environment_ingest_from_containerst: return "adventure_environment_ingest_from_containerst"; - case DF_Type::adventure_environment_ingest_materialst: return "adventure_environment_ingest_materialst"; - case DF_Type::adventure_environment_optionst: return "adventure_environment_optionst"; - case DF_Type::adventure_environment_pickup_chop_treest: return "adventure_environment_pickup_chop_treest"; - case DF_Type::adventure_environment_pickup_ignite_vegst: return "adventure_environment_pickup_ignite_vegst"; - case DF_Type::adventure_environment_pickup_make_campfirest: return "adventure_environment_pickup_make_campfirest"; - case DF_Type::adventure_environment_pickup_vermin_eventst: return "adventure_environment_pickup_vermin_eventst"; - case DF_Type::adventure_environment_place_in_bld_containerst: return "adventure_environment_place_in_bld_containerst"; - case DF_Type::adventure_environment_place_in_it_containerst: return "adventure_environment_place_in_it_containerst"; - case DF_Type::adventure_environment_unit_suck_bloodst: return "adventure_environment_unit_suck_bloodst"; - case DF_Type::adventure_item_interact_choicest: return "adventure_item_interact_choicest"; - case DF_Type::adventure_item_interact_fill_from_containerst: return "adventure_item_interact_fill_from_containerst"; - case DF_Type::adventure_item_interact_fill_with_materialst: return "adventure_item_interact_fill_with_materialst"; - case DF_Type::adventure_item_interact_give_namest: return "adventure_item_interact_give_namest"; - case DF_Type::adventure_item_interact_heat_from_tilest: return "adventure_item_interact_heat_from_tilest"; - case DF_Type::adventure_item_interact_pull_outst: return "adventure_item_interact_pull_outst"; - case DF_Type::adventure_item_interact_readst: return "adventure_item_interact_readst"; - case DF_Type::adventure_item_interact_strugglest: return "adventure_item_interact_strugglest"; - case DF_Type::adventure_log_item: return "adventure_log_item"; - case DF_Type::adventure_movement_attack_creaturest: return "adventure_movement_attack_creaturest"; - case DF_Type::adventure_movement_building_interactst: return "adventure_movement_building_interactst"; - case DF_Type::adventure_movement_climbst: return "adventure_movement_climbst"; - case DF_Type::adventure_movement_hold_itemst: return "adventure_movement_hold_itemst"; - case DF_Type::adventure_movement_hold_tilest: return "adventure_movement_hold_tilest"; - case DF_Type::adventure_movement_item_interact_guidest: return "adventure_movement_item_interact_guidest"; - case DF_Type::adventure_movement_item_interact_pushst: return "adventure_movement_item_interact_pushst"; - case DF_Type::adventure_movement_item_interact_ridest: return "adventure_movement_item_interact_ridest"; - case DF_Type::adventure_movement_item_interactst: return "adventure_movement_item_interactst"; - case DF_Type::adventure_movement_movest: return "adventure_movement_movest"; - case DF_Type::adventure_movement_optionst: return "adventure_movement_optionst"; - case DF_Type::adventure_movement_release_hold_itemst: return "adventure_movement_release_hold_itemst"; - case DF_Type::adventure_movement_release_hold_tilest: return "adventure_movement_release_hold_tilest"; - case DF_Type::adventure_option_eat_item_contaminantst: return "adventure_option_eat_item_contaminantst"; - case DF_Type::adventure_option_eat_unit_contaminantst: return "adventure_option_eat_unit_contaminantst"; - case DF_Type::adventure_option_view_contaminantst: return "adventure_option_view_contaminantst"; - case DF_Type::adventure_optionst: return "adventure_optionst"; - case DF_Type::adventurer_attribute_level: return "adventurer_attribute_level"; - case DF_Type::agreement: return "agreement"; - case DF_Type::agreement__T_details: return "agreement__T_details"; - case DF_Type::agreement__T_details__T_data: return "agreement__T_details__T_data"; - case DF_Type::agreement__T_details__T_data__T_data0: return "agreement__T_details__T_data__T_data0"; - case DF_Type::agreement__T_details__T_data__T_data1: return "agreement__T_details__T_data__T_data1"; - case DF_Type::agreement__T_parties: return "agreement__T_parties"; - case DF_Type::agreement__T_parties__T_anon_1: return "agreement__T_parties__T_anon_1"; - case DF_Type::ammo_flags: return "ammo_flags"; - case DF_Type::animal_training_level: return "animal_training_level"; - case DF_Type::announcement_flags: return "announcement_flags"; - case DF_Type::announcement_type: return "announcement_type"; - case DF_Type::announcements: return "announcements"; - case DF_Type::appearance_modifier_growth_interval: return "appearance_modifier_growth_interval"; - case DF_Type::appearance_modifier_type: return "appearance_modifier_type"; - case DF_Type::armor_flags: return "armor_flags"; - case DF_Type::armor_general_flags: return "armor_general_flags"; - case DF_Type::armor_properties: return "armor_properties"; - case DF_Type::army: return "army"; - case DF_Type::army__T_members: return "army__T_members"; - case DF_Type::army__T_unk_2c: return "army__T_unk_2c"; - case DF_Type::army_controller: return "army_controller"; - case DF_Type::army_controller__T_unk_64: return "army_controller__T_unk_64"; - case DF_Type::army_controller_sub1: return "army_controller_sub1"; - case DF_Type::army_controller_sub11: return "army_controller_sub11"; - case DF_Type::army_controller_sub11__T_anon_3: return "army_controller_sub11__T_anon_3"; - case DF_Type::army_controller_sub12: return "army_controller_sub12"; - case DF_Type::army_controller_sub12__T_anon_4: return "army_controller_sub12__T_anon_4"; - case DF_Type::army_controller_sub13: return "army_controller_sub13"; - case DF_Type::army_controller_sub13__T_anon_4: return "army_controller_sub13__T_anon_4"; - case DF_Type::army_controller_sub14: return "army_controller_sub14"; - case DF_Type::army_controller_sub14__T_anon_4: return "army_controller_sub14__T_anon_4"; - case DF_Type::army_controller_sub15: return "army_controller_sub15"; - case DF_Type::army_controller_sub15__T_anon_3: return "army_controller_sub15__T_anon_3"; - case DF_Type::army_controller_sub16: return "army_controller_sub16"; - case DF_Type::army_controller_sub17: return "army_controller_sub17"; - case DF_Type::army_controller_sub18: return "army_controller_sub18"; - case DF_Type::army_controller_sub2: return "army_controller_sub2"; - case DF_Type::army_controller_sub2__T_anon_5: return "army_controller_sub2__T_anon_5"; - case DF_Type::army_controller_sub4: return "army_controller_sub4"; - case DF_Type::army_controller_sub4__T_unk_2: return "army_controller_sub4__T_unk_2"; - case DF_Type::army_controller_sub5: return "army_controller_sub5"; - case DF_Type::army_controller_sub6: return "army_controller_sub6"; - case DF_Type::army_controller_sub7: return "army_controller_sub7"; - case DF_Type::army_controller_sub7__T_anon_3: return "army_controller_sub7__T_anon_3"; - case DF_Type::army_flags: return "army_flags"; - case DF_Type::art_facet_type: return "art_facet_type"; - case DF_Type::art_image: return "art_image"; - case DF_Type::art_image_chunk: return "art_image_chunk"; - case DF_Type::art_image_element: return "art_image_element"; - case DF_Type::art_image_element_creaturest: return "art_image_element_creaturest"; - case DF_Type::art_image_element_itemst: return "art_image_element_itemst"; - case DF_Type::art_image_element_plantst: return "art_image_element_plantst"; - case DF_Type::art_image_element_shapest: return "art_image_element_shapest"; - case DF_Type::art_image_element_treest: return "art_image_element_treest"; - case DF_Type::art_image_element_type: return "art_image_element_type"; - case DF_Type::art_image_property: return "art_image_property"; - case DF_Type::art_image_property_intransitive_verbst: return "art_image_property_intransitive_verbst"; - case DF_Type::art_image_property_transitive_verbst: return "art_image_property_transitive_verbst"; - case DF_Type::art_image_property_type: return "art_image_property_type"; - case DF_Type::art_image_property_verb: return "art_image_property_verb"; - case DF_Type::art_image_ref: return "art_image_ref"; - case DF_Type::artifact_record: return "artifact_record"; - case DF_Type::assign_trade_status: return "assign_trade_status"; - case DF_Type::assign_trade_status__T_status: return "assign_trade_status__T_status"; - case DF_Type::assume_identity_mode: return "assume_identity_mode"; - case DF_Type::barrack_preference_category: return "barrack_preference_category"; - case DF_Type::belief_system: return "belief_system"; - case DF_Type::biome_type: return "biome_type"; - case DF_Type::block_burrow: return "block_burrow"; - case DF_Type::block_burrow_link: return "block_burrow_link"; - case DF_Type::block_flags: return "block_flags"; - case DF_Type::block_square_event: return "block_square_event"; - case DF_Type::block_square_event_designation_priorityst: return "block_square_event_designation_priorityst"; - case DF_Type::block_square_event_frozen_liquidst: return "block_square_event_frozen_liquidst"; - case DF_Type::block_square_event_grassst: return "block_square_event_grassst"; - case DF_Type::block_square_event_item_spatterst: return "block_square_event_item_spatterst"; - case DF_Type::block_square_event_material_spatterst: return "block_square_event_material_spatterst"; - case DF_Type::block_square_event_mineralst: return "block_square_event_mineralst"; - case DF_Type::block_square_event_mineralst__T_flags: return "block_square_event_mineralst__T_flags"; - case DF_Type::block_square_event_spoorst: return "block_square_event_spoorst"; - case DF_Type::block_square_event_type: return "block_square_event_type"; - case DF_Type::block_square_event_world_constructionst: return "block_square_event_world_constructionst"; - case DF_Type::body_appearance_modifier: return "body_appearance_modifier"; - case DF_Type::body_component_info: return "body_component_info"; - case DF_Type::body_detail_plan: return "body_detail_plan"; - case DF_Type::body_layer_status: return "body_layer_status"; - case DF_Type::body_part_layer_flags: return "body_part_layer_flags"; - case DF_Type::body_part_layer_raw: return "body_part_layer_raw"; - case DF_Type::body_part_raw: return "body_part_raw"; - case DF_Type::body_part_raw_flags: return "body_part_raw_flags"; - case DF_Type::body_part_status: return "body_part_status"; - case DF_Type::body_part_template: return "body_part_template"; - case DF_Type::body_part_template_contype: return "body_part_template_contype"; - case DF_Type::body_part_template_flags: return "body_part_template_flags"; - case DF_Type::body_size_info: return "body_size_info"; - case DF_Type::body_template: return "body_template"; - case DF_Type::bp_appearance_modifier: return "bp_appearance_modifier"; - case DF_Type::breath_attack_type: return "breath_attack_type"; - case DF_Type::build_req_choice_genst: return "build_req_choice_genst"; - case DF_Type::build_req_choice_specst: return "build_req_choice_specst"; - case DF_Type::build_req_choice_type: return "build_req_choice_type"; - case DF_Type::build_req_choicest: return "build_req_choicest"; - case DF_Type::building: return "building"; - case DF_Type::building__T_activities: return "building__T_activities"; - case DF_Type::building__T_job_claim_suppress: return "building__T_job_claim_suppress"; - case DF_Type::building_actual: return "building_actual"; - case DF_Type::building_actual__T_contained_items: return "building_actual__T_contained_items"; - case DF_Type::building_animaltrapst: return "building_animaltrapst"; - case DF_Type::building_archerytargetst: return "building_archerytargetst"; - case DF_Type::building_archerytargetst__T_archery_direction: return "building_archerytargetst__T_archery_direction"; - case DF_Type::building_armorstandst: return "building_armorstandst"; - case DF_Type::building_axle_horizontalst: return "building_axle_horizontalst"; - case DF_Type::building_axle_verticalst: return "building_axle_verticalst"; - case DF_Type::building_bars_floorst: return "building_bars_floorst"; - case DF_Type::building_bars_verticalst: return "building_bars_verticalst"; - case DF_Type::building_bedst: return "building_bedst"; - case DF_Type::building_bedst__T_bed_flags: return "building_bedst__T_bed_flags"; - case DF_Type::building_bookcasest: return "building_bookcasest"; - case DF_Type::building_boxst: return "building_boxst"; - case DF_Type::building_bridgest: return "building_bridgest"; - case DF_Type::building_bridgest__T_direction: return "building_bridgest__T_direction"; - case DF_Type::building_cabinetst: return "building_cabinetst"; - case DF_Type::building_cagest: return "building_cagest"; - case DF_Type::building_cagest__T_cage_flags: return "building_cagest__T_cage_flags"; - case DF_Type::building_chainst: return "building_chainst"; - case DF_Type::building_chainst__T_chain_flags: return "building_chainst__T_chain_flags"; - case DF_Type::building_chairst: return "building_chairst"; - case DF_Type::building_civzonest: return "building_civzonest"; - case DF_Type::building_civzonest__T_gather_flags: return "building_civzonest__T_gather_flags"; - case DF_Type::building_civzonest__T_pit_flags: return "building_civzonest__T_pit_flags"; - case DF_Type::building_civzonest__T_zone_flags: return "building_civzonest__T_zone_flags"; - case DF_Type::building_coffinst: return "building_coffinst"; - case DF_Type::building_coffinst__T_burial_mode: return "building_coffinst__T_burial_mode"; - case DF_Type::building_constructionst: return "building_constructionst"; - case DF_Type::building_def: return "building_def"; - case DF_Type::building_def_furnacest: return "building_def_furnacest"; - case DF_Type::building_def_item: return "building_def_item"; - case DF_Type::building_def_workshopst: return "building_def_workshopst"; - case DF_Type::building_design: return "building_design"; - case DF_Type::building_design__T_flags: return "building_design__T_flags"; - case DF_Type::building_display_furniturest: return "building_display_furniturest"; - case DF_Type::building_doorst: return "building_doorst"; - case DF_Type::building_drawbuffer: return "building_drawbuffer"; - case DF_Type::building_extents: return "building_extents"; - case DF_Type::building_farmplotst: return "building_farmplotst"; - case DF_Type::building_flags: return "building_flags"; - case DF_Type::building_floodgatest: return "building_floodgatest"; - case DF_Type::building_furnacest: return "building_furnacest"; - case DF_Type::building_gear_assemblyst: return "building_gear_assemblyst"; - case DF_Type::building_gear_assemblyst__T_gear_flags: return "building_gear_assemblyst__T_gear_flags"; - case DF_Type::building_grate_floorst: return "building_grate_floorst"; - case DF_Type::building_grate_wallst: return "building_grate_wallst"; - case DF_Type::building_handler: return "building_handler"; - case DF_Type::building_hatchst: return "building_hatchst"; - case DF_Type::building_hivest: return "building_hivest"; - case DF_Type::building_instrumentst: return "building_instrumentst"; - case DF_Type::building_nest_boxst: return "building_nest_boxst"; - case DF_Type::building_nestst: return "building_nestst"; - case DF_Type::building_road_dirtst: return "building_road_dirtst"; - case DF_Type::building_road_pavedst: return "building_road_pavedst"; - case DF_Type::building_roadst: return "building_roadst"; - case DF_Type::building_rollersst: return "building_rollersst"; - case DF_Type::building_screw_pumpst: return "building_screw_pumpst"; - case DF_Type::building_shopst: return "building_shopst"; - case DF_Type::building_shopst__T_shop_flags: return "building_shopst__T_shop_flags"; - case DF_Type::building_siegeenginest: return "building_siegeenginest"; - case DF_Type::building_siegeenginest__T_action: return "building_siegeenginest__T_action"; - case DF_Type::building_siegeenginest__T_facing: return "building_siegeenginest__T_facing"; - case DF_Type::building_slabst: return "building_slabst"; - case DF_Type::building_squad_use: return "building_squad_use"; - case DF_Type::building_statuest: return "building_statuest"; - case DF_Type::building_stockpilest: return "building_stockpilest"; - case DF_Type::building_supportst: return "building_supportst"; - case DF_Type::building_supportst__T_support_flags: return "building_supportst__T_support_flags"; - case DF_Type::building_tablest: return "building_tablest"; - case DF_Type::building_tablest__T_table_flags: return "building_tablest__T_table_flags"; - case DF_Type::building_traction_benchst: return "building_traction_benchst"; - case DF_Type::building_tradedepotst: return "building_tradedepotst"; - case DF_Type::building_tradedepotst__T_trade_flags: return "building_tradedepotst__T_trade_flags"; - case DF_Type::building_trapst: return "building_trapst"; - case DF_Type::building_trapst__T_stop_flags: return "building_trapst__T_stop_flags"; - case DF_Type::building_type: return "building_type"; - case DF_Type::building_users: return "building_users"; - case DF_Type::building_wagonst: return "building_wagonst"; - case DF_Type::building_water_wheelst: return "building_water_wheelst"; - case DF_Type::building_weaponrackst: return "building_weaponrackst"; - case DF_Type::building_weaponst: return "building_weaponst"; - case DF_Type::building_wellst: return "building_wellst"; - case DF_Type::building_wellst__T_well_flags: return "building_wellst__T_well_flags"; - case DF_Type::building_windmillst: return "building_windmillst"; - case DF_Type::building_window_gemst: return "building_window_gemst"; - case DF_Type::building_window_glassst: return "building_window_glassst"; - case DF_Type::building_windowst: return "building_windowst"; - case DF_Type::building_workshopst: return "building_workshopst"; - case DF_Type::buildings_other_id: return "buildings_other_id"; - case DF_Type::builtin_mats: return "builtin_mats"; - case DF_Type::burrow: return "burrow"; - case DF_Type::campfire: return "campfire"; - case DF_Type::caravan_state: return "caravan_state"; - case DF_Type::caravan_state__T_flags: return "caravan_state__T_flags"; - case DF_Type::caravan_state__T_trade_state: return "caravan_state__T_trade_state"; - case DF_Type::caste_attack: return "caste_attack"; - case DF_Type::caste_attack__T_flags: return "caste_attack__T_flags"; - case DF_Type::caste_body_info: return "caste_body_info"; - case DF_Type::caste_body_info__T_extra_butcher_objects: return "caste_body_info__T_extra_butcher_objects"; - case DF_Type::caste_body_info__T_flags: return "caste_body_info__T_flags"; - case DF_Type::caste_body_info__T_interactions: return "caste_body_info__T_interactions"; - case DF_Type::caste_body_info__T_interactions__T_type: return "caste_body_info__T_interactions__T_type"; - case DF_Type::caste_clothing_item: return "caste_clothing_item"; - case DF_Type::caste_raw: return "caste_raw"; - case DF_Type::caste_raw__T_attributes: return "caste_raw__T_attributes"; - case DF_Type::caste_raw__T_bp_appearance: return "caste_raw__T_bp_appearance"; - case DF_Type::caste_raw__T_caste_profession_name: return "caste_raw__T_caste_profession_name"; - case DF_Type::caste_raw__T_extracts: return "caste_raw__T_extracts"; - case DF_Type::caste_raw__T_misc: return "caste_raw__T_misc"; - case DF_Type::caste_raw__T_personality: return "caste_raw__T_personality"; - case DF_Type::caste_raw__T_secretion: return "caste_raw__T_secretion"; - case DF_Type::caste_raw__T_shearable_tissue_layer: return "caste_raw__T_shearable_tissue_layer"; - case DF_Type::caste_raw__T_unknown2: return "caste_raw__T_unknown2"; - case DF_Type::caste_raw_flags: return "caste_raw_flags"; - case DF_Type::cave_column: return "cave_column"; - case DF_Type::cave_column_link: return "cave_column_link"; - case DF_Type::cave_column_rectangle: return "cave_column_rectangle"; - case DF_Type::cie_add_tag_mask1: return "cie_add_tag_mask1"; - case DF_Type::cie_add_tag_mask2: return "cie_add_tag_mask2"; - case DF_Type::civzone_type: return "civzone_type"; - case DF_Type::coin_batch: return "coin_batch"; - case DF_Type::coin_batch__T_image_back: return "coin_batch__T_image_back"; - case DF_Type::coin_batch__T_image_front: return "coin_batch__T_image_front"; - case DF_Type::color_modifier_raw: return "color_modifier_raw"; - case DF_Type::combat_report_event_type: return "combat_report_event_type"; - case DF_Type::conflict_level: return "conflict_level"; - case DF_Type::construction: return "construction"; - case DF_Type::construction_flags: return "construction_flags"; - case DF_Type::construction_type: return "construction_type"; - case DF_Type::conversation: return "conversation"; - case DF_Type::conversation__T_speech: return "conversation__T_speech"; - case DF_Type::conversation__T_state: return "conversation__T_state"; - case DF_Type::conversation_menu: return "conversation_menu"; - case DF_Type::coord: return "coord"; - case DF_Type::coord2d: return "coord2d"; - case DF_Type::coord2d_path: return "coord2d_path"; - case DF_Type::coord_path: return "coord_path"; - case DF_Type::coord_rect: return "coord_rect"; - case DF_Type::corpse_material_type: return "corpse_material_type"; - case DF_Type::craft_material_class: return "craft_material_class"; - case DF_Type::creation_zone_pwg_alteration_campst: return "creation_zone_pwg_alteration_campst"; - case DF_Type::creation_zone_pwg_alteration_location_deathst: return "creation_zone_pwg_alteration_location_deathst"; - case DF_Type::creation_zone_pwg_alteration_location_deathst__T_unk_1: return "creation_zone_pwg_alteration_location_deathst__T_unk_1"; - case DF_Type::creation_zone_pwg_alteration_location_deathst__T_unk_1__T_anon_1: return "creation_zone_pwg_alteration_location_deathst__T_unk_1__T_anon_1"; - case DF_Type::creation_zone_pwg_alteration_srb_ruinedst: return "creation_zone_pwg_alteration_srb_ruinedst"; - case DF_Type::creation_zone_pwg_alteration_srp_ruinedst: return "creation_zone_pwg_alteration_srp_ruinedst"; - case DF_Type::creation_zone_pwg_alteration_type: return "creation_zone_pwg_alteration_type"; - case DF_Type::creation_zone_pwg_alterationst: return "creation_zone_pwg_alterationst"; - case DF_Type::creature_graphics_appointment: return "creature_graphics_appointment"; - case DF_Type::creature_graphics_role: return "creature_graphics_role"; - case DF_Type::creature_handler: return "creature_handler"; - case DF_Type::creature_interaction: return "creature_interaction"; - case DF_Type::creature_interaction__T_flags: return "creature_interaction__T_flags"; - case DF_Type::creature_interaction_effect: return "creature_interaction_effect"; - case DF_Type::creature_interaction_effect__T_counter_trigger: return "creature_interaction_effect__T_counter_trigger"; - case DF_Type::creature_interaction_effect_add_simple_flagst: return "creature_interaction_effect_add_simple_flagst"; - case DF_Type::creature_interaction_effect_bleedingst: return "creature_interaction_effect_bleedingst"; - case DF_Type::creature_interaction_effect_blistersst: return "creature_interaction_effect_blistersst"; - case DF_Type::creature_interaction_effect_body_appearance_modifierst: return "creature_interaction_effect_body_appearance_modifierst"; - case DF_Type::creature_interaction_effect_body_mat_interactionst: return "creature_interaction_effect_body_mat_interactionst"; - case DF_Type::creature_interaction_effect_body_transformationst: return "creature_interaction_effect_body_transformationst"; - case DF_Type::creature_interaction_effect_bp_appearance_modifierst: return "creature_interaction_effect_bp_appearance_modifierst"; - case DF_Type::creature_interaction_effect_bruisingst: return "creature_interaction_effect_bruisingst"; - case DF_Type::creature_interaction_effect_can_do_interactionst: return "creature_interaction_effect_can_do_interactionst"; - case DF_Type::creature_interaction_effect_change_personalityst: return "creature_interaction_effect_change_personalityst"; - case DF_Type::creature_interaction_effect_cough_bloodst: return "creature_interaction_effect_cough_bloodst"; - case DF_Type::creature_interaction_effect_display_namest: return "creature_interaction_effect_display_namest"; - case DF_Type::creature_interaction_effect_display_symbolst: return "creature_interaction_effect_display_symbolst"; - case DF_Type::creature_interaction_effect_dizzinessst: return "creature_interaction_effect_dizzinessst"; - case DF_Type::creature_interaction_effect_drowsinessst: return "creature_interaction_effect_drowsinessst"; - case DF_Type::creature_interaction_effect_erratic_behaviorst: return "creature_interaction_effect_erratic_behaviorst"; - case DF_Type::creature_interaction_effect_feel_emotionst: return "creature_interaction_effect_feel_emotionst"; - case DF_Type::creature_interaction_effect_feverst: return "creature_interaction_effect_feverst"; - case DF_Type::creature_interaction_effect_flags: return "creature_interaction_effect_flags"; - case DF_Type::creature_interaction_effect_flash_symbolst: return "creature_interaction_effect_flash_symbolst"; - case DF_Type::creature_interaction_effect_impair_functionst: return "creature_interaction_effect_impair_functionst"; - case DF_Type::creature_interaction_effect_material_force_adjustst: return "creature_interaction_effect_material_force_adjustst"; - case DF_Type::creature_interaction_effect_ment_att_changest: return "creature_interaction_effect_ment_att_changest"; - case DF_Type::creature_interaction_effect_nauseast: return "creature_interaction_effect_nauseast"; - case DF_Type::creature_interaction_effect_necrosisst: return "creature_interaction_effect_necrosisst"; - case DF_Type::creature_interaction_effect_numbnessst: return "creature_interaction_effect_numbnessst"; - case DF_Type::creature_interaction_effect_oozingst: return "creature_interaction_effect_oozingst"; - case DF_Type::creature_interaction_effect_painst: return "creature_interaction_effect_painst"; - case DF_Type::creature_interaction_effect_paralysisst: return "creature_interaction_effect_paralysisst"; - case DF_Type::creature_interaction_effect_phys_att_changest: return "creature_interaction_effect_phys_att_changest"; - case DF_Type::creature_interaction_effect_remove_simple_flagst: return "creature_interaction_effect_remove_simple_flagst"; - case DF_Type::creature_interaction_effect_sense_creature_classst: return "creature_interaction_effect_sense_creature_classst"; - case DF_Type::creature_interaction_effect_skill_roll_adjustst: return "creature_interaction_effect_skill_roll_adjustst"; - case DF_Type::creature_interaction_effect_speed_changest: return "creature_interaction_effect_speed_changest"; - case DF_Type::creature_interaction_effect_swellingst: return "creature_interaction_effect_swellingst"; - case DF_Type::creature_interaction_effect_target: return "creature_interaction_effect_target"; - case DF_Type::creature_interaction_effect_target_mode: return "creature_interaction_effect_target_mode"; - case DF_Type::creature_interaction_effect_type: return "creature_interaction_effect_type"; - case DF_Type::creature_interaction_effect_unconsciousnessst: return "creature_interaction_effect_unconsciousnessst"; - case DF_Type::creature_interaction_effect_vomit_bloodst: return "creature_interaction_effect_vomit_bloodst"; - case DF_Type::creature_interaction_target_flags: return "creature_interaction_target_flags"; - case DF_Type::creature_raw: return "creature_raw"; - case DF_Type::creature_raw__T_graphics: return "creature_raw__T_graphics"; - case DF_Type::creature_raw__T_hive_product: return "creature_raw__T_hive_product"; - case DF_Type::creature_raw__T_profession_name: return "creature_raw__T_profession_name"; - case DF_Type::creature_raw_flags: return "creature_raw_flags"; - case DF_Type::creature_variation: return "creature_variation"; - case DF_Type::creature_variation_convert_tag: return "creature_variation_convert_tag"; - case DF_Type::crime: return "crime"; - case DF_Type::crime__T_flags: return "crime__T_flags"; - case DF_Type::crime__T_mode: return "crime__T_mode"; - case DF_Type::crime__T_punishment: return "crime__T_punishment"; - case DF_Type::crime__T_reports: return "crime__T_reports"; - case DF_Type::cultural_identity: return "cultural_identity"; - case DF_Type::cultural_identity__T_group_log: return "cultural_identity__T_group_log"; - case DF_Type::cultural_identity__T_group_log__T_join_type: return "cultural_identity__T_group_log__T_join_type"; - case DF_Type::cumulus_type: return "cumulus_type"; - case DF_Type::curse_attr_change: return "curse_attr_change"; - case DF_Type::d_init: return "d_init"; - case DF_Type::d_init__T_store_dist: return "d_init__T_store_dist"; - case DF_Type::d_init__T_wound_color: return "d_init__T_wound_color"; - case DF_Type::d_init_embark_confirm: return "d_init_embark_confirm"; - case DF_Type::d_init_flags1: return "d_init_flags1"; - case DF_Type::d_init_flags2: return "d_init_flags2"; - case DF_Type::d_init_flags3: return "d_init_flags3"; - case DF_Type::d_init_flags4: return "d_init_flags4"; - case DF_Type::d_init_idlers: return "d_init_idlers"; - case DF_Type::d_init_nickname: return "d_init_nickname"; - case DF_Type::d_init_tunnel: return "d_init_tunnel"; - case DF_Type::d_init_z_view: return "d_init_z_view"; - case DF_Type::dance_form: return "dance_form"; - case DF_Type::dance_form_sub1: return "dance_form_sub1"; - case DF_Type::dance_form_sub2: return "dance_form_sub2"; - case DF_Type::death_type: return "death_type"; - case DF_Type::deep_vein_hollow: return "deep_vein_hollow"; - case DF_Type::descriptor_color: return "descriptor_color"; - case DF_Type::descriptor_pattern: return "descriptor_pattern"; - case DF_Type::descriptor_shape: return "descriptor_shape"; - case DF_Type::descriptor_shape__T_gems_use: return "descriptor_shape__T_gems_use"; - case DF_Type::dfhack_knowledge_scholar_flag: return "dfhack_knowledge_scholar_flag"; - case DF_Type::dfhack_material_category: return "dfhack_material_category"; - case DF_Type::dfhack_room_quality_level: return "dfhack_room_quality_level"; - case DF_Type::dipscript_info: return "dipscript_info"; - case DF_Type::dipscript_popup: return "dipscript_popup"; - case DF_Type::dipscript_popup__T_flags: return "dipscript_popup__T_flags"; - case DF_Type::door_flags: return "door_flags"; - case DF_Type::dye_info: return "dye_info"; - case DF_Type::effect_info: return "effect_info"; - case DF_Type::embark_finder_option: return "embark_finder_option"; - case DF_Type::embark_item_choice: return "embark_item_choice"; - case DF_Type::embark_item_choice__T_list: return "embark_item_choice__T_list"; - case DF_Type::embark_location: return "embark_location"; - case DF_Type::embark_note: return "embark_note"; - case DF_Type::embark_profile: return "embark_profile"; - case DF_Type::emotion_type: return "emotion_type"; - case DF_Type::enabler: return "enabler"; - case DF_Type::enabler__T_async_frombox: return "enabler__T_async_frombox"; - case DF_Type::enabler__T_async_frombox__T_queue: return "enabler__T_async_frombox__T_queue"; - case DF_Type::enabler__T_async_frombox__T_queue___union1: return "enabler__T_async_frombox__T_queue___union1"; - case DF_Type::enabler__T_async_frombox__T_queue___union1___struct1: return "enabler__T_async_frombox__T_queue___union1___struct1"; - case DF_Type::enabler__T_async_frombox__T_queue__T_msg: return "enabler__T_async_frombox__T_queue__T_msg"; - case DF_Type::enabler__T_async_tobox: return "enabler__T_async_tobox"; - case DF_Type::enabler__T_async_tobox__T_queue: return "enabler__T_async_tobox__T_queue"; - case DF_Type::enabler__T_async_tobox__T_queue__T_cmd: return "enabler__T_async_tobox__T_queue__T_cmd"; - case DF_Type::enabler__T_async_zoom: return "enabler__T_async_zoom"; - case DF_Type::enabler__T_flag: return "enabler__T_flag"; - case DF_Type::enabler__T_gputicks: return "enabler__T_gputicks"; - case DF_Type::enabler__T_overridden_grid_sizes: return "enabler__T_overridden_grid_sizes"; - case DF_Type::enabler__T_simticks: return "enabler__T_simticks"; - case DF_Type::enabler__T_textures: return "enabler__T_textures"; - case DF_Type::engraving: return "engraving"; - case DF_Type::engraving_flags: return "engraving_flags"; - case DF_Type::entity_action_type: return "entity_action_type"; - case DF_Type::entity_activity_statistics: return "entity_activity_statistics"; - case DF_Type::entity_activity_statistics__T_food: return "entity_activity_statistics__T_food"; - case DF_Type::entity_activity_statistics__T_found_misc: return "entity_activity_statistics__T_found_misc"; - case DF_Type::entity_activity_statistics__T_wealth: return "entity_activity_statistics__T_wealth"; - case DF_Type::entity_animal_raw: return "entity_animal_raw"; - case DF_Type::entity_animal_raw__T_flags: return "entity_animal_raw__T_flags"; - case DF_Type::entity_buy_prices: return "entity_buy_prices"; - case DF_Type::entity_buy_requests: return "entity_buy_requests"; - case DF_Type::entity_claim_mask: return "entity_claim_mask"; - case DF_Type::entity_claim_mask__T_map: return "entity_claim_mask__T_map"; - case DF_Type::entity_entity_link: return "entity_entity_link"; - case DF_Type::entity_entity_link_type: return "entity_entity_link_type"; - case DF_Type::entity_event: return "entity_event"; - case DF_Type::entity_event__T_data: return "entity_event__T_data"; - case DF_Type::entity_event__T_data__T_abandon: return "entity_event__T_data__T_abandon"; - case DF_Type::entity_event__T_data__T_abduction: return "entity_event__T_data__T_abduction"; - case DF_Type::entity_event__T_data__T_accept_peace_offer: return "entity_event__T_data__T_accept_peace_offer"; - case DF_Type::entity_event__T_data__T_accept_tribute_demand: return "entity_event__T_data__T_accept_tribute_demand"; - case DF_Type::entity_event__T_data__T_accept_tribute_offer: return "entity_event__T_data__T_accept_tribute_offer"; - case DF_Type::entity_event__T_data__T_artifact_destroyed: return "entity_event__T_data__T_artifact_destroyed"; - case DF_Type::entity_event__T_data__T_artifact_in_feature_layer: return "entity_event__T_data__T_artifact_in_feature_layer"; - case DF_Type::entity_event__T_data__T_artifact_in_inventory: return "entity_event__T_data__T_artifact_in_inventory"; - case DF_Type::entity_event__T_data__T_artifact_in_site: return "entity_event__T_data__T_artifact_in_site"; - case DF_Type::entity_event__T_data__T_artifact_in_subregion: return "entity_event__T_data__T_artifact_in_subregion"; - case DF_Type::entity_event__T_data__T_artifact_not_in_feature_layer: return "entity_event__T_data__T_artifact_not_in_feature_layer"; - case DF_Type::entity_event__T_data__T_artifact_not_in_inventory: return "entity_event__T_data__T_artifact_not_in_inventory"; - case DF_Type::entity_event__T_data__T_artifact_not_in_site: return "entity_event__T_data__T_artifact_not_in_site"; - case DF_Type::entity_event__T_data__T_artifact_not_in_subregion: return "entity_event__T_data__T_artifact_not_in_subregion"; - case DF_Type::entity_event__T_data__T_beast: return "entity_event__T_data__T_beast"; - case DF_Type::entity_event__T_data__T_cease_tribute_offer: return "entity_event__T_data__T_cease_tribute_offer"; - case DF_Type::entity_event__T_data__T_claim: return "entity_event__T_data__T_claim"; - case DF_Type::entity_event__T_data__T_flee: return "entity_event__T_data__T_flee"; - case DF_Type::entity_event__T_data__T_founded: return "entity_event__T_data__T_founded"; - case DF_Type::entity_event__T_data__T_founding: return "entity_event__T_data__T_founding"; - case DF_Type::entity_event__T_data__T_group: return "entity_event__T_data__T_group"; - case DF_Type::entity_event__T_data__T_harass: return "entity_event__T_data__T_harass"; - case DF_Type::entity_event__T_data__T_incident: return "entity_event__T_data__T_incident"; - case DF_Type::entity_event__T_data__T_insurrection: return "entity_event__T_data__T_insurrection"; - case DF_Type::entity_event__T_data__T_insurrection_end: return "entity_event__T_data__T_insurrection_end"; - case DF_Type::entity_event__T_data__T_insurrection_end__T_result: return "entity_event__T_data__T_insurrection_end__T_result"; - case DF_Type::entity_event__T_data__T_invasion: return "entity_event__T_data__T_invasion"; - case DF_Type::entity_event__T_data__T_leave: return "entity_event__T_data__T_leave"; - case DF_Type::entity_event__T_data__T_occupation: return "entity_event__T_data__T_occupation"; - case DF_Type::entity_event__T_data__T_reclaimed: return "entity_event__T_data__T_reclaimed"; - case DF_Type::entity_event__T_data__T_reclaiming: return "entity_event__T_data__T_reclaiming"; - case DF_Type::entity_event__T_data__T_refuse_peace_offer: return "entity_event__T_data__T_refuse_peace_offer"; - case DF_Type::entity_event__T_data__T_refuse_tribute_demand: return "entity_event__T_data__T_refuse_tribute_demand"; - case DF_Type::entity_event__T_data__T_refuse_tribute_offer: return "entity_event__T_data__T_refuse_tribute_offer"; - case DF_Type::entity_event__T_data__T_succession: return "entity_event__T_data__T_succession"; - case DF_Type::entity_event_type: return "entity_event_type"; - case DF_Type::entity_material_category: return "entity_material_category"; - case DF_Type::entity_name_type: return "entity_name_type"; - case DF_Type::entity_occasion: return "entity_occasion"; - case DF_Type::entity_occasion_info: return "entity_occasion_info"; - case DF_Type::entity_occasion_schedule: return "entity_occasion_schedule"; - case DF_Type::entity_occasion_schedule_feature: return "entity_occasion_schedule_feature"; - case DF_Type::entity_population: return "entity_population"; - case DF_Type::entity_population_unk4: return "entity_population_unk4"; - case DF_Type::entity_population_unk4__T_anon_1: return "entity_population_unk4__T_anon_1"; - case DF_Type::entity_population_unk4__T_anon_3: return "entity_population_unk4__T_anon_3"; - case DF_Type::entity_position: return "entity_position"; - case DF_Type::entity_position_assignment: return "entity_position_assignment"; - case DF_Type::entity_position_flags: return "entity_position_flags"; - case DF_Type::entity_position_raw: return "entity_position_raw"; - case DF_Type::entity_position_raw_flags: return "entity_position_raw_flags"; - case DF_Type::entity_position_responsibility: return "entity_position_responsibility"; - case DF_Type::entity_raw: return "entity_raw"; - case DF_Type::entity_raw__T_equipment: return "entity_raw__T_equipment"; - case DF_Type::entity_raw__T_jobs: return "entity_raw__T_jobs"; - case DF_Type::entity_raw__T_land_holder_trigger: return "entity_raw__T_land_holder_trigger"; - case DF_Type::entity_raw__T_progress_trigger: return "entity_raw__T_progress_trigger"; - case DF_Type::entity_raw__T_scholar: return "entity_raw__T_scholar"; - case DF_Type::entity_raw__T_symbols: return "entity_raw__T_symbols"; - case DF_Type::entity_raw__T_tissue_styles: return "entity_raw__T_tissue_styles"; - case DF_Type::entity_raw__T_workshops: return "entity_raw__T_workshops"; - case DF_Type::entity_raw_flags: return "entity_raw_flags"; - case DF_Type::entity_recipe: return "entity_recipe"; - case DF_Type::entity_sell_category: return "entity_sell_category"; - case DF_Type::entity_sell_prices: return "entity_sell_prices"; - case DF_Type::entity_sell_requests: return "entity_sell_requests"; - case DF_Type::entity_site_link: return "entity_site_link"; - case DF_Type::entity_site_link__T_anon_8: return "entity_site_link__T_anon_8"; - case DF_Type::entity_site_link__T_flags: return "entity_site_link__T_flags"; - case DF_Type::entity_tissue_style: return "entity_tissue_style"; - case DF_Type::entity_uniform: return "entity_uniform"; - case DF_Type::entity_uniform_item: return "entity_uniform_item"; - case DF_Type::environment_type: return "environment_type"; - case DF_Type::era_type: return "era_type"; - case DF_Type::ethic_response: return "ethic_response"; - case DF_Type::ethic_type: return "ethic_type"; - case DF_Type::feature: return "feature"; - case DF_Type::feature_alteration: return "feature_alteration"; - case DF_Type::feature_alteration_new_lava_fill_zst: return "feature_alteration_new_lava_fill_zst"; - case DF_Type::feature_alteration_new_pop_maxst: return "feature_alteration_new_pop_maxst"; - case DF_Type::feature_alteration_type: return "feature_alteration_type"; - case DF_Type::feature_cavest: return "feature_cavest"; - case DF_Type::feature_deep_special_tubest: return "feature_deep_special_tubest"; - case DF_Type::feature_deep_surface_portalst: return "feature_deep_surface_portalst"; - case DF_Type::feature_init: return "feature_init"; - case DF_Type::feature_init_cavest: return "feature_init_cavest"; - case DF_Type::feature_init_deep_special_tubest: return "feature_init_deep_special_tubest"; - case DF_Type::feature_init_deep_surface_portalst: return "feature_init_deep_surface_portalst"; - case DF_Type::feature_init_flags: return "feature_init_flags"; - case DF_Type::feature_init_magma_core_from_layerst: return "feature_init_magma_core_from_layerst"; - case DF_Type::feature_init_magma_poolst: return "feature_init_magma_poolst"; - case DF_Type::feature_init_outdoor_riverst: return "feature_init_outdoor_riverst"; - case DF_Type::feature_init_pitst: return "feature_init_pitst"; - case DF_Type::feature_init_subterranean_from_layerst: return "feature_init_subterranean_from_layerst"; - case DF_Type::feature_init_underworld_from_layerst: return "feature_init_underworld_from_layerst"; - case DF_Type::feature_init_volcanost: return "feature_init_volcanost"; - case DF_Type::feature_magma_core_from_layerst: return "feature_magma_core_from_layerst"; - case DF_Type::feature_magma_poolst: return "feature_magma_poolst"; - case DF_Type::feature_outdoor_riverst: return "feature_outdoor_riverst"; - case DF_Type::feature_pitst: return "feature_pitst"; - case DF_Type::feature_subterranean_from_layerst: return "feature_subterranean_from_layerst"; - case DF_Type::feature_type: return "feature_type"; - case DF_Type::feature_underworld_from_layerst: return "feature_underworld_from_layerst"; - case DF_Type::feature_volcanost: return "feature_volcanost"; - case DF_Type::file_compressorst: return "file_compressorst"; - case DF_Type::fire: return "fire"; - case DF_Type::flow_guide: return "flow_guide"; - case DF_Type::flow_guide_item_cloudst: return "flow_guide_item_cloudst"; - case DF_Type::flow_guide_trailing_flowst: return "flow_guide_trailing_flowst"; - case DF_Type::flow_guide_type: return "flow_guide_type"; - case DF_Type::flow_info: return "flow_info"; - case DF_Type::flow_reuse_pool: return "flow_reuse_pool"; - case DF_Type::flow_reuse_pool__T_flags: return "flow_reuse_pool__T_flags"; - case DF_Type::flow_type: return "flow_type"; - case DF_Type::fog_type: return "fog_type"; - case DF_Type::front_type: return "front_type"; - case DF_Type::furnace_type: return "furnace_type"; - case DF_Type::furniture_type: return "furniture_type"; - case DF_Type::gait_info: return "gait_info"; - case DF_Type::gait_info__T_flags: return "gait_info__T_flags"; - case DF_Type::gait_type: return "gait_type"; - case DF_Type::game_mode: return "game_mode"; - case DF_Type::game_type: return "game_type"; - case DF_Type::gate_flags: return "gate_flags"; - case DF_Type::general_ref: return "general_ref"; - case DF_Type::general_ref_abstract_buildingst: return "general_ref_abstract_buildingst"; - case DF_Type::general_ref_activity_eventst: return "general_ref_activity_eventst"; - case DF_Type::general_ref_artifact: return "general_ref_artifact"; - case DF_Type::general_ref_building: return "general_ref_building"; - case DF_Type::general_ref_building_cagedst: return "general_ref_building_cagedst"; - case DF_Type::general_ref_building_chainst: return "general_ref_building_chainst"; - case DF_Type::general_ref_building_civzone_assignedst: return "general_ref_building_civzone_assignedst"; - case DF_Type::general_ref_building_destinationst: return "general_ref_building_destinationst"; - case DF_Type::general_ref_building_display_furniturest: return "general_ref_building_display_furniturest"; - case DF_Type::general_ref_building_holderst: return "general_ref_building_holderst"; - case DF_Type::general_ref_building_nest_boxst: return "general_ref_building_nest_boxst"; - case DF_Type::general_ref_building_triggerst: return "general_ref_building_triggerst"; - case DF_Type::general_ref_building_triggertargetst: return "general_ref_building_triggertargetst"; - case DF_Type::general_ref_building_use_target_1st: return "general_ref_building_use_target_1st"; - case DF_Type::general_ref_building_use_target_2st: return "general_ref_building_use_target_2st"; - case DF_Type::general_ref_building_well_tag: return "general_ref_building_well_tag"; - case DF_Type::general_ref_coinbatch: return "general_ref_coinbatch"; - case DF_Type::general_ref_contained_in_itemst: return "general_ref_contained_in_itemst"; - case DF_Type::general_ref_contains_itemst: return "general_ref_contains_itemst"; - case DF_Type::general_ref_contains_unitst: return "general_ref_contains_unitst"; - case DF_Type::general_ref_creaturest: return "general_ref_creaturest"; - case DF_Type::general_ref_creaturest__T_flags: return "general_ref_creaturest__T_flags"; - case DF_Type::general_ref_dance_formst: return "general_ref_dance_formst"; - case DF_Type::general_ref_entity: return "general_ref_entity"; - case DF_Type::general_ref_entity_art_image: return "general_ref_entity_art_image"; - case DF_Type::general_ref_entity_itemownerst: return "general_ref_entity_itemownerst"; - case DF_Type::general_ref_entity_offeredst: return "general_ref_entity_offeredst"; - case DF_Type::general_ref_entity_popst: return "general_ref_entity_popst"; - case DF_Type::general_ref_entity_popst__T_flags: return "general_ref_entity_popst__T_flags"; - case DF_Type::general_ref_entity_stolenst: return "general_ref_entity_stolenst"; - case DF_Type::general_ref_feature_layerst: return "general_ref_feature_layerst"; - case DF_Type::general_ref_historical_eventst: return "general_ref_historical_eventst"; - case DF_Type::general_ref_historical_figurest: return "general_ref_historical_figurest"; - case DF_Type::general_ref_interactionst: return "general_ref_interactionst"; - case DF_Type::general_ref_is_artifactst: return "general_ref_is_artifactst"; - case DF_Type::general_ref_is_nemesisst: return "general_ref_is_nemesisst"; - case DF_Type::general_ref_item: return "general_ref_item"; - case DF_Type::general_ref_item_type: return "general_ref_item_type"; - case DF_Type::general_ref_knowledge_scholar_flagst: return "general_ref_knowledge_scholar_flagst"; - case DF_Type::general_ref_languagest: return "general_ref_languagest"; - case DF_Type::general_ref_locationst: return "general_ref_locationst"; - case DF_Type::general_ref_mapsquare: return "general_ref_mapsquare"; - case DF_Type::general_ref_musical_formst: return "general_ref_musical_formst"; - case DF_Type::general_ref_nemesis: return "general_ref_nemesis"; - case DF_Type::general_ref_poetic_formst: return "general_ref_poetic_formst"; - case DF_Type::general_ref_projectile: return "general_ref_projectile"; - case DF_Type::general_ref_sitest: return "general_ref_sitest"; - case DF_Type::general_ref_spherest: return "general_ref_spherest"; - case DF_Type::general_ref_subregionst: return "general_ref_subregionst"; - case DF_Type::general_ref_type: return "general_ref_type"; - case DF_Type::general_ref_unit: return "general_ref_unit"; - case DF_Type::general_ref_unit_beateest: return "general_ref_unit_beateest"; - case DF_Type::general_ref_unit_cageest: return "general_ref_unit_cageest"; - case DF_Type::general_ref_unit_climberst: return "general_ref_unit_climberst"; - case DF_Type::general_ref_unit_foodreceiverst: return "general_ref_unit_foodreceiverst"; - case DF_Type::general_ref_unit_geldeest: return "general_ref_unit_geldeest"; - case DF_Type::general_ref_unit_holderst: return "general_ref_unit_holderst"; - case DF_Type::general_ref_unit_infantst: return "general_ref_unit_infantst"; - case DF_Type::general_ref_unit_itemownerst: return "general_ref_unit_itemownerst"; - case DF_Type::general_ref_unit_itemownerst__T_flags: return "general_ref_unit_itemownerst__T_flags"; - case DF_Type::general_ref_unit_kidnapeest: return "general_ref_unit_kidnapeest"; - case DF_Type::general_ref_unit_milkeest: return "general_ref_unit_milkeest"; - case DF_Type::general_ref_unit_patientst: return "general_ref_unit_patientst"; - case DF_Type::general_ref_unit_reporteest: return "general_ref_unit_reporteest"; - case DF_Type::general_ref_unit_riderst: return "general_ref_unit_riderst"; - case DF_Type::general_ref_unit_sheareest: return "general_ref_unit_sheareest"; - case DF_Type::general_ref_unit_slaughtereest: return "general_ref_unit_slaughtereest"; - case DF_Type::general_ref_unit_suckeest: return "general_ref_unit_suckeest"; - case DF_Type::general_ref_unit_tradebringerst: return "general_ref_unit_tradebringerst"; - case DF_Type::general_ref_unit_traineest: return "general_ref_unit_traineest"; - case DF_Type::general_ref_unit_workerst: return "general_ref_unit_workerst"; - case DF_Type::general_ref_value_levelst: return "general_ref_value_levelst"; - case DF_Type::general_ref_written_contentst: return "general_ref_written_contentst"; - case DF_Type::geo_layer_type: return "geo_layer_type"; - case DF_Type::ghost_goal: return "ghost_goal"; - case DF_Type::ghost_type: return "ghost_type"; - case DF_Type::gloves_flags: return "gloves_flags"; - case DF_Type::glowing_barrier: return "glowing_barrier"; - case DF_Type::goal_type: return "goal_type"; - case DF_Type::graphic: return "graphic"; - case DF_Type::guild_id: return "guild_id"; - case DF_Type::hauler_type: return "hauler_type"; - case DF_Type::hauling_route: return "hauling_route"; - case DF_Type::hauling_stop: return "hauling_stop"; - case DF_Type::health_view_bits1: return "health_view_bits1"; - case DF_Type::health_view_bits2: return "health_view_bits2"; - case DF_Type::health_view_bits3: return "health_view_bits3"; - case DF_Type::helm_flags: return "helm_flags"; - case DF_Type::hillock_house_type: return "hillock_house_type"; - case DF_Type::histfig_body_state: return "histfig_body_state"; - case DF_Type::histfig_entity_link: return "histfig_entity_link"; - case DF_Type::histfig_entity_link_criminalst: return "histfig_entity_link_criminalst"; - case DF_Type::histfig_entity_link_enemyst: return "histfig_entity_link_enemyst"; - case DF_Type::histfig_entity_link_former_memberst: return "histfig_entity_link_former_memberst"; - case DF_Type::histfig_entity_link_former_mercenaryst: return "histfig_entity_link_former_mercenaryst"; - case DF_Type::histfig_entity_link_former_occupationst: return "histfig_entity_link_former_occupationst"; - case DF_Type::histfig_entity_link_former_positionst: return "histfig_entity_link_former_positionst"; - case DF_Type::histfig_entity_link_former_prisonerst: return "histfig_entity_link_former_prisonerst"; - case DF_Type::histfig_entity_link_former_slavest: return "histfig_entity_link_former_slavest"; - case DF_Type::histfig_entity_link_former_squadst: return "histfig_entity_link_former_squadst"; - case DF_Type::histfig_entity_link_memberst: return "histfig_entity_link_memberst"; - case DF_Type::histfig_entity_link_mercenaryst: return "histfig_entity_link_mercenaryst"; - case DF_Type::histfig_entity_link_occupationst: return "histfig_entity_link_occupationst"; - case DF_Type::histfig_entity_link_position_claimst: return "histfig_entity_link_position_claimst"; - case DF_Type::histfig_entity_link_positionst: return "histfig_entity_link_positionst"; - case DF_Type::histfig_entity_link_prisonerst: return "histfig_entity_link_prisonerst"; - case DF_Type::histfig_entity_link_slavest: return "histfig_entity_link_slavest"; - case DF_Type::histfig_entity_link_squadst: return "histfig_entity_link_squadst"; - case DF_Type::histfig_entity_link_type: return "histfig_entity_link_type"; - case DF_Type::histfig_flags: return "histfig_flags"; - case DF_Type::histfig_hf_link: return "histfig_hf_link"; - case DF_Type::histfig_hf_link_apprenticest: return "histfig_hf_link_apprenticest"; - case DF_Type::histfig_hf_link_childst: return "histfig_hf_link_childst"; - case DF_Type::histfig_hf_link_companionst: return "histfig_hf_link_companionst"; - case DF_Type::histfig_hf_link_deityst: return "histfig_hf_link_deityst"; - case DF_Type::histfig_hf_link_fatherst: return "histfig_hf_link_fatherst"; - case DF_Type::histfig_hf_link_former_apprenticest: return "histfig_hf_link_former_apprenticest"; - case DF_Type::histfig_hf_link_former_masterst: return "histfig_hf_link_former_masterst"; - case DF_Type::histfig_hf_link_imprisonerst: return "histfig_hf_link_imprisonerst"; - case DF_Type::histfig_hf_link_loverst: return "histfig_hf_link_loverst"; - case DF_Type::histfig_hf_link_masterst: return "histfig_hf_link_masterst"; - case DF_Type::histfig_hf_link_motherst: return "histfig_hf_link_motherst"; - case DF_Type::histfig_hf_link_pet_ownerst: return "histfig_hf_link_pet_ownerst"; - case DF_Type::histfig_hf_link_prisonerst: return "histfig_hf_link_prisonerst"; - case DF_Type::histfig_hf_link_spousest: return "histfig_hf_link_spousest"; - case DF_Type::histfig_hf_link_type: return "histfig_hf_link_type"; - case DF_Type::histfig_relationship_type: return "histfig_relationship_type"; - case DF_Type::histfig_site_link: return "histfig_site_link"; - case DF_Type::histfig_site_link_hangoutst: return "histfig_site_link_hangoutst"; - case DF_Type::histfig_site_link_home_site_abstract_buildingst: return "histfig_site_link_home_site_abstract_buildingst"; - case DF_Type::histfig_site_link_home_site_realization_buildingst: return "histfig_site_link_home_site_realization_buildingst"; - case DF_Type::histfig_site_link_home_site_realization_sulst: return "histfig_site_link_home_site_realization_sulst"; - case DF_Type::histfig_site_link_home_site_saved_civzonest: return "histfig_site_link_home_site_saved_civzonest"; - case DF_Type::histfig_site_link_lairst: return "histfig_site_link_lairst"; - case DF_Type::histfig_site_link_occupationst: return "histfig_site_link_occupationst"; - case DF_Type::histfig_site_link_seat_of_powerst: return "histfig_site_link_seat_of_powerst"; - case DF_Type::histfig_site_link_type: return "histfig_site_link_type"; - case DF_Type::historical_entity: return "historical_entity"; - case DF_Type::historical_entity__T_claims: return "historical_entity__T_claims"; - case DF_Type::historical_entity__T_derived_resources: return "historical_entity__T_derived_resources"; - case DF_Type::historical_entity__T_flags: return "historical_entity__T_flags"; - case DF_Type::historical_entity__T_positions: return "historical_entity__T_positions"; - case DF_Type::historical_entity__T_resources: return "historical_entity__T_resources"; - case DF_Type::historical_entity__T_resources__T_animals: return "historical_entity__T_resources__T_animals"; - case DF_Type::historical_entity__T_resources__T_metal: return "historical_entity__T_resources__T_metal"; - case DF_Type::historical_entity__T_resources__T_misc_mat: return "historical_entity__T_resources__T_misc_mat"; - case DF_Type::historical_entity__T_resources__T_organic: return "historical_entity__T_resources__T_organic"; - case DF_Type::historical_entity__T_resources__T_refuse: return "historical_entity__T_resources__T_refuse"; - case DF_Type::historical_entity__T_resources__T_unk13: return "historical_entity__T_resources__T_unk13"; - case DF_Type::historical_entity__T_resources__T_wood_products: return "historical_entity__T_resources__T_wood_products"; - case DF_Type::historical_entity__T_tissue_styles: return "historical_entity__T_tissue_styles"; - case DF_Type::historical_entity__T_training_knowledge: return "historical_entity__T_training_knowledge"; - case DF_Type::historical_entity__T_unknown1b: return "historical_entity__T_unknown1b"; - case DF_Type::historical_entity__T_unknown1b__T_diplomacy: return "historical_entity__T_unknown1b__T_diplomacy"; - case DF_Type::historical_entity__T_unknown1b__T_unk32e: return "historical_entity__T_unknown1b__T_unk32e"; - case DF_Type::historical_entity__T_unknown1d: return "historical_entity__T_unknown1d"; - case DF_Type::historical_entity__T_unknown1e: return "historical_entity__T_unknown1e"; - case DF_Type::historical_entity__T_unknown2: return "historical_entity__T_unknown2"; - case DF_Type::historical_entity_type: return "historical_entity_type"; - case DF_Type::historical_figure: return "historical_figure"; - case DF_Type::historical_figure__T_unk_fc: return "historical_figure__T_unk_fc"; - case DF_Type::historical_figure_info: return "historical_figure_info"; - case DF_Type::historical_figure_info__T_books: return "historical_figure_info__T_books"; - case DF_Type::historical_figure_info__T_curse: return "historical_figure_info__T_curse"; - case DF_Type::historical_figure_info__T_masterpieces: return "historical_figure_info__T_masterpieces"; - case DF_Type::historical_figure_info__T_personality: return "historical_figure_info__T_personality"; - case DF_Type::historical_figure_info__T_relationships: return "historical_figure_info__T_relationships"; - case DF_Type::historical_figure_info__T_relationships__T_anon_1: return "historical_figure_info__T_relationships__T_anon_1"; - case DF_Type::historical_figure_info__T_relationships__T_anon_2: return "historical_figure_info__T_relationships__T_anon_2"; - case DF_Type::historical_figure_info__T_relationships__T_anon_3: return "historical_figure_info__T_relationships__T_anon_3"; - case DF_Type::historical_figure_info__T_relationships__T_list: return "historical_figure_info__T_relationships__T_list"; - case DF_Type::historical_figure_info__T_reputation: return "historical_figure_info__T_reputation"; - case DF_Type::historical_figure_info__T_reputation__T_anon_1: return "historical_figure_info__T_reputation__T_anon_1"; - case DF_Type::historical_figure_info__T_reputation__T_unk_2c: return "historical_figure_info__T_reputation__T_unk_2c"; - case DF_Type::historical_figure_info__T_reputation__T_unk_2c__T_anon_12: return "historical_figure_info__T_reputation__T_unk_2c__T_anon_12"; - case DF_Type::historical_figure_info__T_reputation__T_wanted: return "historical_figure_info__T_reputation__T_wanted"; - case DF_Type::historical_figure_info__T_secret: return "historical_figure_info__T_secret"; - case DF_Type::historical_figure_info__T_secret__T_anon_1: return "historical_figure_info__T_secret__T_anon_1"; - case DF_Type::historical_figure_info__T_secret__T_anon_7: return "historical_figure_info__T_secret__T_anon_7"; - case DF_Type::historical_figure_info__T_secret__T_knowledge: return "historical_figure_info__T_secret__T_knowledge"; - case DF_Type::historical_figure_info__T_secret__T_knowledge__T_knowledge_goal: return "historical_figure_info__T_secret__T_knowledge__T_knowledge_goal"; - case DF_Type::historical_figure_info__T_secret__T_unk_a8: return "historical_figure_info__T_secret__T_unk_a8"; - case DF_Type::historical_figure_info__T_skills: return "historical_figure_info__T_skills"; - case DF_Type::historical_figure_info__T_unk_14: return "historical_figure_info__T_unk_14"; - case DF_Type::historical_figure_info__T_wounds: return "historical_figure_info__T_wounds"; - case DF_Type::historical_kills: return "historical_kills"; - case DF_Type::historical_kills__T_killed_undead: return "historical_kills__T_killed_undead"; - case DF_Type::history_era: return "history_era"; - case DF_Type::history_era__T_details: return "history_era__T_details"; - case DF_Type::history_era__T_title: return "history_era__T_title"; - case DF_Type::history_event: return "history_event"; - case DF_Type::history_event_add_hf_entity_linkst: return "history_event_add_hf_entity_linkst"; - case DF_Type::history_event_add_hf_hf_linkst: return "history_event_add_hf_hf_linkst"; - case DF_Type::history_event_add_hf_site_linkst: return "history_event_add_hf_site_linkst"; - case DF_Type::history_event_agreement_concludedst: return "history_event_agreement_concludedst"; - case DF_Type::history_event_agreement_formedst: return "history_event_agreement_formedst"; - case DF_Type::history_event_agreements_voidedst: return "history_event_agreements_voidedst"; - case DF_Type::history_event_artifact_claim_formedst: return "history_event_artifact_claim_formedst"; - case DF_Type::history_event_artifact_claim_formedst__T_claim_type: return "history_event_artifact_claim_formedst__T_claim_type"; - case DF_Type::history_event_artifact_copiedst: return "history_event_artifact_copiedst"; - case DF_Type::history_event_artifact_copiedst__T_flags2: return "history_event_artifact_copiedst__T_flags2"; - case DF_Type::history_event_artifact_createdst: return "history_event_artifact_createdst"; - case DF_Type::history_event_artifact_destroyedst: return "history_event_artifact_destroyedst"; - case DF_Type::history_event_artifact_droppedst: return "history_event_artifact_droppedst"; - case DF_Type::history_event_artifact_foundst: return "history_event_artifact_foundst"; - case DF_Type::history_event_artifact_givenst: return "history_event_artifact_givenst"; - case DF_Type::history_event_artifact_hiddenst: return "history_event_artifact_hiddenst"; - case DF_Type::history_event_artifact_lostst: return "history_event_artifact_lostst"; - case DF_Type::history_event_artifact_possessedst: return "history_event_artifact_possessedst"; - case DF_Type::history_event_artifact_recoveredst: return "history_event_artifact_recoveredst"; - case DF_Type::history_event_artifact_storedst: return "history_event_artifact_storedst"; - case DF_Type::history_event_artifact_transformedst: return "history_event_artifact_transformedst"; - case DF_Type::history_event_assume_identityst: return "history_event_assume_identityst"; - case DF_Type::history_event_body_abusedst: return "history_event_body_abusedst"; - case DF_Type::history_event_body_abusedst__T_abuse_type: return "history_event_body_abusedst__T_abuse_type"; - case DF_Type::history_event_body_abusedst__T_props: return "history_event_body_abusedst__T_props"; - case DF_Type::history_event_body_abusedst__T_props__T_hung: return "history_event_body_abusedst__T_props__T_hung"; - case DF_Type::history_event_body_abusedst__T_props__T_item: return "history_event_body_abusedst__T_props__T_item"; - case DF_Type::history_event_body_abusedst__T_props__T_pile_type: return "history_event_body_abusedst__T_props__T_pile_type"; - case DF_Type::history_event_ceremonyst: return "history_event_ceremonyst"; - case DF_Type::history_event_change_creature_typest: return "history_event_change_creature_typest"; - case DF_Type::history_event_change_hf_body_statest: return "history_event_change_hf_body_statest"; - case DF_Type::history_event_change_hf_jobst: return "history_event_change_hf_jobst"; - case DF_Type::history_event_change_hf_moodst: return "history_event_change_hf_moodst"; - case DF_Type::history_event_change_hf_statest: return "history_event_change_hf_statest"; - case DF_Type::history_event_change_hf_statest__T_state: return "history_event_change_hf_statest__T_state"; - case DF_Type::history_event_collection: return "history_event_collection"; - case DF_Type::history_event_collection_abductionst: return "history_event_collection_abductionst"; - case DF_Type::history_event_collection_battlest: return "history_event_collection_battlest"; - case DF_Type::history_event_collection_beast_attackst: return "history_event_collection_beast_attackst"; - case DF_Type::history_event_collection_ceremonyst: return "history_event_collection_ceremonyst"; - case DF_Type::history_event_collection_competitionst: return "history_event_collection_competitionst"; - case DF_Type::history_event_collection_duelst: return "history_event_collection_duelst"; - case DF_Type::history_event_collection_insurrectionst: return "history_event_collection_insurrectionst"; - case DF_Type::history_event_collection_journeyst: return "history_event_collection_journeyst"; - case DF_Type::history_event_collection_occasionst: return "history_event_collection_occasionst"; - case DF_Type::history_event_collection_performancest: return "history_event_collection_performancest"; - case DF_Type::history_event_collection_processionst: return "history_event_collection_processionst"; - case DF_Type::history_event_collection_purgest: return "history_event_collection_purgest"; - case DF_Type::history_event_collection_raidst: return "history_event_collection_raidst"; - case DF_Type::history_event_collection_site_conqueredst: return "history_event_collection_site_conqueredst"; - case DF_Type::history_event_collection_theftst: return "history_event_collection_theftst"; - case DF_Type::history_event_collection_type: return "history_event_collection_type"; - case DF_Type::history_event_collection_warst: return "history_event_collection_warst"; - case DF_Type::history_event_collection_warst__T_unk: return "history_event_collection_warst__T_unk"; - case DF_Type::history_event_competitionst: return "history_event_competitionst"; - case DF_Type::history_event_context: return "history_event_context"; - case DF_Type::history_event_create_entity_positionst: return "history_event_create_entity_positionst"; - case DF_Type::history_event_created_buildingst: return "history_event_created_buildingst"; - case DF_Type::history_event_created_sitest: return "history_event_created_sitest"; - case DF_Type::history_event_created_world_constructionst: return "history_event_created_world_constructionst"; - case DF_Type::history_event_creature_devouredst: return "history_event_creature_devouredst"; - case DF_Type::history_event_dance_form_createdst: return "history_event_dance_form_createdst"; - case DF_Type::history_event_diplomat_lostst: return "history_event_diplomat_lostst"; - case DF_Type::history_event_entity_actionst: return "history_event_entity_actionst"; - case DF_Type::history_event_entity_createdst: return "history_event_entity_createdst"; - case DF_Type::history_event_entity_expels_hfst: return "history_event_entity_expels_hfst"; - case DF_Type::history_event_entity_fled_sitest: return "history_event_entity_fled_sitest"; - case DF_Type::history_event_entity_incorporatedst: return "history_event_entity_incorporatedst"; - case DF_Type::history_event_entity_lawst: return "history_event_entity_lawst"; - case DF_Type::history_event_entity_rampaged_in_sitest: return "history_event_entity_rampaged_in_sitest"; - case DF_Type::history_event_entity_razed_buildingst: return "history_event_entity_razed_buildingst"; - case DF_Type::history_event_entity_searched_sitest: return "history_event_entity_searched_sitest"; - case DF_Type::history_event_first_contact_failedst: return "history_event_first_contact_failedst"; - case DF_Type::history_event_first_contactst: return "history_event_first_contactst"; - case DF_Type::history_event_hf_act_on_artifactst: return "history_event_hf_act_on_artifactst"; - case DF_Type::history_event_hf_act_on_artifactst__T_action: return "history_event_hf_act_on_artifactst__T_action"; - case DF_Type::history_event_hf_act_on_buildingst: return "history_event_hf_act_on_buildingst"; - case DF_Type::history_event_hf_act_on_buildingst__T_action: return "history_event_hf_act_on_buildingst__T_action"; - case DF_Type::history_event_hf_attacked_sitest: return "history_event_hf_attacked_sitest"; - case DF_Type::history_event_hf_confrontedst: return "history_event_hf_confrontedst"; - case DF_Type::history_event_hf_destroyed_sitest: return "history_event_hf_destroyed_sitest"; - case DF_Type::history_event_hf_does_interactionst: return "history_event_hf_does_interactionst"; - case DF_Type::history_event_hf_freedst: return "history_event_hf_freedst"; - case DF_Type::history_event_hf_gains_secret_goalst: return "history_event_hf_gains_secret_goalst"; - case DF_Type::history_event_hf_learns_secretst: return "history_event_hf_learns_secretst"; - case DF_Type::history_event_hf_razed_buildingst: return "history_event_hf_razed_buildingst"; - case DF_Type::history_event_hf_recruited_unit_type_for_entityst: return "history_event_hf_recruited_unit_type_for_entityst"; - case DF_Type::history_event_hf_relationship_deniedst: return "history_event_hf_relationship_deniedst"; - case DF_Type::history_event_hfs_formed_reputation_relationshipst: return "history_event_hfs_formed_reputation_relationshipst"; - case DF_Type::history_event_hist_figure_abductedst: return "history_event_hist_figure_abductedst"; - case DF_Type::history_event_hist_figure_diedst: return "history_event_hist_figure_diedst"; - case DF_Type::history_event_hist_figure_new_petst: return "history_event_hist_figure_new_petst"; - case DF_Type::history_event_hist_figure_reach_summitst: return "history_event_hist_figure_reach_summitst"; - case DF_Type::history_event_hist_figure_reunionst: return "history_event_hist_figure_reunionst"; - case DF_Type::history_event_hist_figure_revivedst: return "history_event_hist_figure_revivedst"; - case DF_Type::history_event_hist_figure_simple_actionst: return "history_event_hist_figure_simple_actionst"; - case DF_Type::history_event_hist_figure_simple_battle_eventst: return "history_event_hist_figure_simple_battle_eventst"; - case DF_Type::history_event_hist_figure_travelst: return "history_event_hist_figure_travelst"; - case DF_Type::history_event_hist_figure_travelst__T_reason: return "history_event_hist_figure_travelst__T_reason"; - case DF_Type::history_event_hist_figure_woundedst: return "history_event_hist_figure_woundedst"; - case DF_Type::history_event_hist_figure_woundedst__T_injury_type: return "history_event_hist_figure_woundedst__T_injury_type"; - case DF_Type::history_event_insurrection_endedst: return "history_event_insurrection_endedst"; - case DF_Type::history_event_insurrection_startedst: return "history_event_insurrection_startedst"; - case DF_Type::history_event_item_stolenst: return "history_event_item_stolenst"; - case DF_Type::history_event_knowledge_discoveredst: return "history_event_knowledge_discoveredst"; - case DF_Type::history_event_masterpiece_created_arch_constructst: return "history_event_masterpiece_created_arch_constructst"; - case DF_Type::history_event_masterpiece_created_arch_designst: return "history_event_masterpiece_created_arch_designst"; - case DF_Type::history_event_masterpiece_created_dye_itemst: return "history_event_masterpiece_created_dye_itemst"; - case DF_Type::history_event_masterpiece_created_engravingst: return "history_event_masterpiece_created_engravingst"; - case DF_Type::history_event_masterpiece_created_foodst: return "history_event_masterpiece_created_foodst"; - case DF_Type::history_event_masterpiece_created_item_improvementst: return "history_event_masterpiece_created_item_improvementst"; - case DF_Type::history_event_masterpiece_created_itemst: return "history_event_masterpiece_created_itemst"; - case DF_Type::history_event_masterpiece_createdst: return "history_event_masterpiece_createdst"; - case DF_Type::history_event_masterpiece_lostst: return "history_event_masterpiece_lostst"; - case DF_Type::history_event_merchantst: return "history_event_merchantst"; - case DF_Type::history_event_musical_form_createdst: return "history_event_musical_form_createdst"; - case DF_Type::history_event_performancest: return "history_event_performancest"; - case DF_Type::history_event_poetic_form_createdst: return "history_event_poetic_form_createdst"; - case DF_Type::history_event_processionst: return "history_event_processionst"; - case DF_Type::history_event_reason: return "history_event_reason"; - case DF_Type::history_event_reclaim_sitest: return "history_event_reclaim_sitest"; - case DF_Type::history_event_regionpop_incorporated_into_entityst: return "history_event_regionpop_incorporated_into_entityst"; - case DF_Type::history_event_remove_hf_entity_linkst: return "history_event_remove_hf_entity_linkst"; - case DF_Type::history_event_remove_hf_hf_linkst: return "history_event_remove_hf_hf_linkst"; - case DF_Type::history_event_remove_hf_site_linkst: return "history_event_remove_hf_site_linkst"; - case DF_Type::history_event_replaced_buildingst: return "history_event_replaced_buildingst"; - case DF_Type::history_event_simple_battle_subtype: return "history_event_simple_battle_subtype"; - case DF_Type::history_event_site_diedst: return "history_event_site_diedst"; - case DF_Type::history_event_site_disputest: return "history_event_site_disputest"; - case DF_Type::history_event_site_retiredst: return "history_event_site_retiredst"; - case DF_Type::history_event_site_surrenderedst: return "history_event_site_surrenderedst"; - case DF_Type::history_event_sneak_into_sitest: return "history_event_sneak_into_sitest"; - case DF_Type::history_event_spotted_leaving_sitest: return "history_event_spotted_leaving_sitest"; - case DF_Type::history_event_squad_vs_squadst: return "history_event_squad_vs_squadst"; - case DF_Type::history_event_tactical_situationst: return "history_event_tactical_situationst"; - case DF_Type::history_event_tactical_situationst__T_tactics_flags: return "history_event_tactical_situationst__T_tactics_flags"; - case DF_Type::history_event_topicagreement_concludedst: return "history_event_topicagreement_concludedst"; - case DF_Type::history_event_topicagreement_madest: return "history_event_topicagreement_madest"; - case DF_Type::history_event_topicagreement_rejectedst: return "history_event_topicagreement_rejectedst"; - case DF_Type::history_event_type: return "history_event_type"; - case DF_Type::history_event_war_attacked_sitest: return "history_event_war_attacked_sitest"; - case DF_Type::history_event_war_destroyed_sitest: return "history_event_war_destroyed_sitest"; - case DF_Type::history_event_war_field_battlest: return "history_event_war_field_battlest"; - case DF_Type::history_event_war_peace_acceptedst: return "history_event_war_peace_acceptedst"; - case DF_Type::history_event_war_peace_rejectedst: return "history_event_war_peace_rejectedst"; - case DF_Type::history_event_war_plundered_sitest: return "history_event_war_plundered_sitest"; - case DF_Type::history_event_war_site_new_leaderst: return "history_event_war_site_new_leaderst"; - case DF_Type::history_event_war_site_taken_overst: return "history_event_war_site_taken_overst"; - case DF_Type::history_event_war_site_tribute_forcedst: return "history_event_war_site_tribute_forcedst"; - case DF_Type::history_event_war_site_tribute_forcedst__T_tribute_flags: return "history_event_war_site_tribute_forcedst__T_tribute_flags"; - case DF_Type::history_event_written_content_composedst: return "history_event_written_content_composedst"; - case DF_Type::history_hit_item: return "history_hit_item"; - case DF_Type::hive_flags: return "hive_flags"; - case DF_Type::hospital_supplies: return "hospital_supplies"; - case DF_Type::hospital_supplies__T_supplies_needed: return "hospital_supplies__T_supplies_needed"; - case DF_Type::identity: return "identity"; - case DF_Type::identity_unk_94: return "identity_unk_94"; - case DF_Type::improvement_type: return "improvement_type"; - case DF_Type::incident: return "incident"; - case DF_Type::incident__T_flags: return "incident__T_flags"; - case DF_Type::incident__T_unk_v42_1: return "incident__T_unk_v42_1"; - case DF_Type::incident_hfid: return "incident_hfid"; - case DF_Type::incident_sub10: return "incident_sub10"; - case DF_Type::incident_sub6_performance: return "incident_sub6_performance"; - case DF_Type::incident_sub6_performance__T_participants: return "incident_sub6_performance__T_participants"; - case DF_Type::incident_sub7: return "incident_sub7"; - case DF_Type::incident_sub8: return "incident_sub8"; - case DF_Type::incident_sub9: return "incident_sub9"; - case DF_Type::inclusion_type: return "inclusion_type"; - case DF_Type::init: return "init"; - case DF_Type::init_display: return "init_display"; - case DF_Type::init_display__T_windowed: return "init_display__T_windowed"; - case DF_Type::init_display_flags: return "init_display_flags"; - case DF_Type::init_font: return "init_font"; - case DF_Type::init_font__T_use_ttf: return "init_font__T_use_ttf"; - case DF_Type::init_input: return "init_input"; - case DF_Type::init_input_flags: return "init_input_flags"; - case DF_Type::init_media: return "init_media"; - case DF_Type::init_media_flags: return "init_media_flags"; - case DF_Type::init_window: return "init_window"; - case DF_Type::init_window_flags: return "init_window_flags"; - case DF_Type::inorganic_flags: return "inorganic_flags"; - case DF_Type::inorganic_raw: return "inorganic_raw"; - case DF_Type::inorganic_raw__T_environment: return "inorganic_raw__T_environment"; - case DF_Type::inorganic_raw__T_environment_spec: return "inorganic_raw__T_environment_spec"; - case DF_Type::inorganic_raw__T_metal_ore: return "inorganic_raw__T_metal_ore"; - case DF_Type::inorganic_raw__T_thread_metal: return "inorganic_raw__T_thread_metal"; - case DF_Type::instrument_flags: return "instrument_flags"; - case DF_Type::instrument_piece: return "instrument_piece"; - case DF_Type::instrument_piece__T_flags: return "instrument_piece__T_flags"; - case DF_Type::instrument_register: return "instrument_register"; - case DF_Type::insurrection_outcome: return "insurrection_outcome"; - case DF_Type::interaction: return "interaction"; - case DF_Type::interaction_effect: return "interaction_effect"; - case DF_Type::interaction_effect__T_flags: return "interaction_effect__T_flags"; - case DF_Type::interaction_effect_add_syndromest: return "interaction_effect_add_syndromest"; - case DF_Type::interaction_effect_animatest: return "interaction_effect_animatest"; - case DF_Type::interaction_effect_cleanst: return "interaction_effect_cleanst"; - case DF_Type::interaction_effect_contactst: return "interaction_effect_contactst"; - case DF_Type::interaction_effect_hidest: return "interaction_effect_hidest"; - case DF_Type::interaction_effect_location_hint: return "interaction_effect_location_hint"; - case DF_Type::interaction_effect_material_emissionst: return "interaction_effect_material_emissionst"; - case DF_Type::interaction_effect_resurrectst: return "interaction_effect_resurrectst"; - case DF_Type::interaction_effect_type: return "interaction_effect_type"; - case DF_Type::interaction_instance: return "interaction_instance"; - case DF_Type::interaction_source: return "interaction_source"; - case DF_Type::interaction_source_attackst: return "interaction_source_attackst"; - case DF_Type::interaction_source_creature_actionst: return "interaction_source_creature_actionst"; - case DF_Type::interaction_source_deityst: return "interaction_source_deityst"; - case DF_Type::interaction_source_disturbancest: return "interaction_source_disturbancest"; - case DF_Type::interaction_source_ingestionst: return "interaction_source_ingestionst"; - case DF_Type::interaction_source_regionst: return "interaction_source_regionst"; - case DF_Type::interaction_source_regionst__T_region_flags: return "interaction_source_regionst__T_region_flags"; - case DF_Type::interaction_source_secretst: return "interaction_source_secretst"; - case DF_Type::interaction_source_secretst__T_learn_flags: return "interaction_source_secretst__T_learn_flags"; - case DF_Type::interaction_source_type: return "interaction_source_type"; - case DF_Type::interaction_source_underground_specialst: return "interaction_source_underground_specialst"; - case DF_Type::interaction_source_usage_hint: return "interaction_source_usage_hint"; - case DF_Type::interaction_target: return "interaction_target"; - case DF_Type::interaction_target_corpsest: return "interaction_target_corpsest"; - case DF_Type::interaction_target_creaturest: return "interaction_target_creaturest"; - case DF_Type::interaction_target_info: return "interaction_target_info"; - case DF_Type::interaction_target_info__T_restrictions: return "interaction_target_info__T_restrictions"; - case DF_Type::interaction_target_location_type: return "interaction_target_location_type"; - case DF_Type::interaction_target_locationst: return "interaction_target_locationst"; - case DF_Type::interaction_target_materialst: return "interaction_target_materialst"; - case DF_Type::interaction_target_materialst__T_restrictions: return "interaction_target_materialst__T_restrictions"; - case DF_Type::interaction_target_type: return "interaction_target_type"; - case DF_Type::interface_breakdown_types: return "interface_breakdown_types"; - case DF_Type::interface_button: return "interface_button"; - case DF_Type::interface_button_building_category_selectorst: return "interface_button_building_category_selectorst"; - case DF_Type::interface_button_building_custom_category_selectorst: return "interface_button_building_custom_category_selectorst"; - case DF_Type::interface_button_building_material_selectorst: return "interface_button_building_material_selectorst"; - case DF_Type::interface_button_building_new_jobst: return "interface_button_building_new_jobst"; - case DF_Type::interface_button_buildingst: return "interface_button_buildingst"; - case DF_Type::interface_button_construction_building_selectorst: return "interface_button_construction_building_selectorst"; - case DF_Type::interface_button_construction_category_selectorst: return "interface_button_construction_category_selectorst"; - case DF_Type::interface_button_construction_category_selectorst__T_category_id: return "interface_button_construction_category_selectorst__T_category_id"; - case DF_Type::interface_button_construction_donest: return "interface_button_construction_donest"; - case DF_Type::interface_button_constructionst: return "interface_button_constructionst"; - case DF_Type::interface_key: return "interface_key"; - case DF_Type::interfacest: return "interfacest"; - case DF_Type::invasion_info: return "invasion_info"; - case DF_Type::invasion_info__T_flags: return "invasion_info__T_flags"; - case DF_Type::item: return "item"; - case DF_Type::item_actual: return "item_actual"; - case DF_Type::item_ammost: return "item_ammost"; - case DF_Type::item_amuletst: return "item_amuletst"; - case DF_Type::item_animaltrapst: return "item_animaltrapst"; - case DF_Type::item_anvilst: return "item_anvilst"; - case DF_Type::item_armorst: return "item_armorst"; - case DF_Type::item_armorstandst: return "item_armorstandst"; - case DF_Type::item_backpackst: return "item_backpackst"; - case DF_Type::item_ballistaarrowheadst: return "item_ballistaarrowheadst"; - case DF_Type::item_ballistapartsst: return "item_ballistapartsst"; - case DF_Type::item_barrelst: return "item_barrelst"; - case DF_Type::item_barst: return "item_barst"; - case DF_Type::item_bedst: return "item_bedst"; - case DF_Type::item_binst: return "item_binst"; - case DF_Type::item_blocksst: return "item_blocksst"; - case DF_Type::item_body_component: return "item_body_component"; - case DF_Type::item_body_component__T_appearance: return "item_body_component__T_appearance"; - case DF_Type::item_body_component__T_body: return "item_body_component__T_body"; - case DF_Type::item_body_component__T_bone1: return "item_body_component__T_bone1"; - case DF_Type::item_body_component__T_bone2: return "item_body_component__T_bone2"; - case DF_Type::item_body_component__T_corpse_flags: return "item_body_component__T_corpse_flags"; - case DF_Type::item_bookst: return "item_bookst"; - case DF_Type::item_boulderst: return "item_boulderst"; - case DF_Type::item_boxst: return "item_boxst"; - case DF_Type::item_braceletst: return "item_braceletst"; - case DF_Type::item_branchst: return "item_branchst"; - case DF_Type::item_bucketst: return "item_bucketst"; - case DF_Type::item_cabinetst: return "item_cabinetst"; - case DF_Type::item_cagest: return "item_cagest"; - case DF_Type::item_catapultpartsst: return "item_catapultpartsst"; - case DF_Type::item_chainst: return "item_chainst"; - case DF_Type::item_chairst: return "item_chairst"; - case DF_Type::item_cheesest: return "item_cheesest"; - case DF_Type::item_clothst: return "item_clothst"; - case DF_Type::item_coffinst: return "item_coffinst"; - case DF_Type::item_coinst: return "item_coinst"; - case DF_Type::item_constructed: return "item_constructed"; - case DF_Type::item_corpsepiecest: return "item_corpsepiecest"; - case DF_Type::item_corpsest: return "item_corpsest"; - case DF_Type::item_crafted: return "item_crafted"; - case DF_Type::item_critter: return "item_critter"; - case DF_Type::item_crownst: return "item_crownst"; - case DF_Type::item_crutchst: return "item_crutchst"; - case DF_Type::item_doorst: return "item_doorst"; - case DF_Type::item_drinkst: return "item_drinkst"; - case DF_Type::item_earringst: return "item_earringst"; - case DF_Type::item_eggst: return "item_eggst"; - case DF_Type::item_eggst__T_egg_flags: return "item_eggst__T_egg_flags"; - case DF_Type::item_figurinest: return "item_figurinest"; - case DF_Type::item_filter_spec: return "item_filter_spec"; - case DF_Type::item_fish_rawst: return "item_fish_rawst"; - case DF_Type::item_fishst: return "item_fishst"; - case DF_Type::item_flags: return "item_flags"; - case DF_Type::item_flags2: return "item_flags2"; - case DF_Type::item_flaskst: return "item_flaskst"; - case DF_Type::item_floodgatest: return "item_floodgatest"; - case DF_Type::item_foodst: return "item_foodst"; - case DF_Type::item_foodst__T_ingredients: return "item_foodst__T_ingredients"; - case DF_Type::item_gemst: return "item_gemst"; - case DF_Type::item_globst: return "item_globst"; - case DF_Type::item_glovesst: return "item_glovesst"; - case DF_Type::item_gobletst: return "item_gobletst"; - case DF_Type::item_gratest: return "item_gratest"; - case DF_Type::item_hatch_coverst: return "item_hatch_coverst"; - case DF_Type::item_helmst: return "item_helmst"; - case DF_Type::item_history_info: return "item_history_info"; - case DF_Type::item_instrumentst: return "item_instrumentst"; - case DF_Type::item_kill_info: return "item_kill_info"; - case DF_Type::item_liquid: return "item_liquid"; - case DF_Type::item_liquid_miscst: return "item_liquid_miscst"; - case DF_Type::item_liquipowder: return "item_liquipowder"; - case DF_Type::item_magicness: return "item_magicness"; - case DF_Type::item_magicness_type: return "item_magicness_type"; - case DF_Type::item_matstate: return "item_matstate"; - case DF_Type::item_meatst: return "item_meatst"; - case DF_Type::item_millstonest: return "item_millstonest"; - case DF_Type::item_orthopedic_castst: return "item_orthopedic_castst"; - case DF_Type::item_pantsst: return "item_pantsst"; - case DF_Type::item_petst: return "item_petst"; - case DF_Type::item_petst__T_pet_flags: return "item_petst__T_pet_flags"; - case DF_Type::item_pipe_sectionst: return "item_pipe_sectionst"; - case DF_Type::item_plant_growthst: return "item_plant_growthst"; - case DF_Type::item_plantst: return "item_plantst"; - case DF_Type::item_powder: return "item_powder"; - case DF_Type::item_powder_miscst: return "item_powder_miscst"; - case DF_Type::item_quality: return "item_quality"; - case DF_Type::item_quernst: return "item_quernst"; - case DF_Type::item_quiverst: return "item_quiverst"; - case DF_Type::item_remainsst: return "item_remainsst"; - case DF_Type::item_ringst: return "item_ringst"; - case DF_Type::item_rockst: return "item_rockst"; - case DF_Type::item_roughst: return "item_roughst"; - case DF_Type::item_scepterst: return "item_scepterst"; - case DF_Type::item_seedsst: return "item_seedsst"; - case DF_Type::item_sheetst: return "item_sheetst"; - case DF_Type::item_shieldst: return "item_shieldst"; - case DF_Type::item_shoesst: return "item_shoesst"; - case DF_Type::item_siegeammost: return "item_siegeammost"; - case DF_Type::item_skin_tannedst: return "item_skin_tannedst"; - case DF_Type::item_slabst: return "item_slabst"; - case DF_Type::item_smallgemst: return "item_smallgemst"; - case DF_Type::item_splintst: return "item_splintst"; - case DF_Type::item_statuest: return "item_statuest"; - case DF_Type::item_stockpile_ref: return "item_stockpile_ref"; - case DF_Type::item_tablest: return "item_tablest"; - case DF_Type::item_threadst: return "item_threadst"; - case DF_Type::item_toolst: return "item_toolst"; - case DF_Type::item_totemst: return "item_totemst"; - case DF_Type::item_toyst: return "item_toyst"; - case DF_Type::item_traction_benchst: return "item_traction_benchst"; - case DF_Type::item_trapcompst: return "item_trapcompst"; - case DF_Type::item_trappartsst: return "item_trappartsst"; - case DF_Type::item_type: return "item_type"; - case DF_Type::item_verminst: return "item_verminst"; - case DF_Type::item_weaponrackst: return "item_weaponrackst"; - case DF_Type::item_weaponst: return "item_weaponst"; - case DF_Type::item_windowst: return "item_windowst"; - case DF_Type::item_woodst: return "item_woodst"; - case DF_Type::itemdef: return "itemdef"; - case DF_Type::itemdef_ammost: return "itemdef_ammost"; - case DF_Type::itemdef_armorst: return "itemdef_armorst"; - case DF_Type::itemdef_foodst: return "itemdef_foodst"; - case DF_Type::itemdef_glovesst: return "itemdef_glovesst"; - case DF_Type::itemdef_helmst: return "itemdef_helmst"; - case DF_Type::itemdef_instrumentst: return "itemdef_instrumentst"; - case DF_Type::itemdef_pantsst: return "itemdef_pantsst"; - case DF_Type::itemdef_shieldst: return "itemdef_shieldst"; - case DF_Type::itemdef_shoesst: return "itemdef_shoesst"; - case DF_Type::itemdef_siegeammost: return "itemdef_siegeammost"; - case DF_Type::itemdef_toolst: return "itemdef_toolst"; - case DF_Type::itemdef_toolst__T_default_improvements: return "itemdef_toolst__T_default_improvements"; - case DF_Type::itemdef_toyst: return "itemdef_toyst"; - case DF_Type::itemdef_trapcompst: return "itemdef_trapcompst"; - case DF_Type::itemdef_weaponst: return "itemdef_weaponst"; - case DF_Type::itemimprovement: return "itemimprovement"; - case DF_Type::itemimprovement_art_imagest: return "itemimprovement_art_imagest"; - case DF_Type::itemimprovement_bandsst: return "itemimprovement_bandsst"; - case DF_Type::itemimprovement_clothst: return "itemimprovement_clothst"; - case DF_Type::itemimprovement_coveredst: return "itemimprovement_coveredst"; - case DF_Type::itemimprovement_coveredst__T_cover_flags: return "itemimprovement_coveredst__T_cover_flags"; - case DF_Type::itemimprovement_illustrationst: return "itemimprovement_illustrationst"; - case DF_Type::itemimprovement_instrument_piecest: return "itemimprovement_instrument_piecest"; - case DF_Type::itemimprovement_itemspecificst: return "itemimprovement_itemspecificst"; - case DF_Type::itemimprovement_pagesst: return "itemimprovement_pagesst"; - case DF_Type::itemimprovement_rings_hangingst: return "itemimprovement_rings_hangingst"; - case DF_Type::itemimprovement_sewn_imagest: return "itemimprovement_sewn_imagest"; - case DF_Type::itemimprovement_sewn_imagest__T_cloth: return "itemimprovement_sewn_imagest__T_cloth"; - case DF_Type::itemimprovement_specific_type: return "itemimprovement_specific_type"; - case DF_Type::itemimprovement_spikesst: return "itemimprovement_spikesst"; - case DF_Type::itemimprovement_threadst: return "itemimprovement_threadst"; - case DF_Type::itemimprovement_writingst: return "itemimprovement_writingst"; - case DF_Type::items_other_id: return "items_other_id"; - case DF_Type::job: return "job"; - case DF_Type::job_art_specification: return "job_art_specification"; - case DF_Type::job_art_specification__T_type: return "job_art_specification__T_type"; - case DF_Type::job_flags: return "job_flags"; - case DF_Type::job_handler: return "job_handler"; - case DF_Type::job_handler__T_anon_1: return "job_handler__T_anon_1"; - case DF_Type::job_handler__T_postings: return "job_handler__T_postings"; - case DF_Type::job_handler__T_postings__T_flags: return "job_handler__T_postings__T_flags"; - case DF_Type::job_item: return "job_item"; - case DF_Type::job_item_filter: return "job_item_filter"; - case DF_Type::job_item_flags1: return "job_item_flags1"; - case DF_Type::job_item_flags2: return "job_item_flags2"; - case DF_Type::job_item_flags3: return "job_item_flags3"; - case DF_Type::job_item_ref: return "job_item_ref"; - case DF_Type::job_item_ref__T_role: return "job_item_ref__T_role"; - case DF_Type::job_item_vector_id: return "job_item_vector_id"; - case DF_Type::job_list_link: return "job_list_link"; - case DF_Type::job_material_category: return "job_material_category"; - case DF_Type::job_skill: return "job_skill"; - case DF_Type::job_skill_class: return "job_skill_class"; - case DF_Type::job_subtype_surgery: return "job_subtype_surgery"; - case DF_Type::job_type: return "job_type"; - case DF_Type::job_type_class: return "job_type_class"; - case DF_Type::KeybindingScreen: return "KeybindingScreen"; - case DF_Type::KeybindingScreen__T_mode: return "KeybindingScreen__T_mode"; - case DF_Type::kitchen_exc_type: return "kitchen_exc_type"; - case DF_Type::kitchen_pref_flag: return "kitchen_pref_flag"; - case DF_Type::knowledge_scholar_category_flag: return "knowledge_scholar_category_flag"; - case DF_Type::knowledge_scholar_category_flag__T_flags: return "knowledge_scholar_category_flag__T_flags"; - case DF_Type::knowledge_scholar_flags_0: return "knowledge_scholar_flags_0"; - case DF_Type::knowledge_scholar_flags_1: return "knowledge_scholar_flags_1"; - case DF_Type::knowledge_scholar_flags_10: return "knowledge_scholar_flags_10"; - case DF_Type::knowledge_scholar_flags_11: return "knowledge_scholar_flags_11"; - case DF_Type::knowledge_scholar_flags_12: return "knowledge_scholar_flags_12"; - case DF_Type::knowledge_scholar_flags_13: return "knowledge_scholar_flags_13"; - case DF_Type::knowledge_scholar_flags_2: return "knowledge_scholar_flags_2"; - case DF_Type::knowledge_scholar_flags_3: return "knowledge_scholar_flags_3"; - case DF_Type::knowledge_scholar_flags_4: return "knowledge_scholar_flags_4"; - case DF_Type::knowledge_scholar_flags_5: return "knowledge_scholar_flags_5"; - case DF_Type::knowledge_scholar_flags_6: return "knowledge_scholar_flags_6"; - case DF_Type::knowledge_scholar_flags_7: return "knowledge_scholar_flags_7"; - case DF_Type::knowledge_scholar_flags_8: return "knowledge_scholar_flags_8"; - case DF_Type::knowledge_scholar_flags_9: return "knowledge_scholar_flags_9"; - case DF_Type::language_name: return "language_name"; - case DF_Type::language_name_category: return "language_name_category"; - case DF_Type::language_symbol: return "language_symbol"; - case DF_Type::language_translation: return "language_translation"; - case DF_Type::language_word: return "language_word"; - case DF_Type::language_word_flags: return "language_word_flags"; - case DF_Type::language_word_table: return "language_word_table"; - case DF_Type::large_integer: return "large_integer"; - case DF_Type::large_integer___struct0: return "large_integer___struct0"; - case DF_Type::large_integer__T_u: return "large_integer__T_u"; - case DF_Type::layer_object: return "layer_object"; - case DF_Type::layer_object_buttonst: return "layer_object_buttonst"; - case DF_Type::layer_object_listst: return "layer_object_listst"; - case DF_Type::lever_target_type: return "lever_target_type"; - case DF_Type::loadgame_save_info: return "loadgame_save_info"; - case DF_Type::local_population: return "local_population"; - case DF_Type::local_population___union6: return "local_population___union6"; - case DF_Type::local_population__T_flags: return "local_population__T_flags"; - case DF_Type::location_scribe_jobs: return "location_scribe_jobs"; - case DF_Type::machine: return "machine"; - case DF_Type::machine__T_components: return "machine__T_components"; - case DF_Type::machine__T_flags: return "machine__T_flags"; - case DF_Type::machine_conn_modes: return "machine_conn_modes"; - case DF_Type::machine_handler: return "machine_handler"; - case DF_Type::machine_info: return "machine_info"; - case DF_Type::machine_info__T_flags: return "machine_info__T_flags"; - case DF_Type::machine_standardst: return "machine_standardst"; - case DF_Type::machine_tile_set: return "machine_tile_set"; - case DF_Type::machine_type: return "machine_type"; - case DF_Type::MacroScreenLoad: return "MacroScreenLoad"; - case DF_Type::MacroScreenSave: return "MacroScreenSave"; - case DF_Type::manager_order: return "manager_order"; - case DF_Type::manager_order__T_frequency: return "manager_order__T_frequency"; - case DF_Type::manager_order_condition_item: return "manager_order_condition_item"; - case DF_Type::manager_order_condition_item__T_compare_type: return "manager_order_condition_item__T_compare_type"; - case DF_Type::manager_order_condition_order: return "manager_order_condition_order"; - case DF_Type::manager_order_condition_order__T_condition: return "manager_order_condition_order__T_condition"; - case DF_Type::manager_order_status: return "manager_order_status"; - case DF_Type::manager_order_template: return "manager_order_template"; - case DF_Type::mandate: return "mandate"; - case DF_Type::mandate__T_mode: return "mandate__T_mode"; - case DF_Type::mandate__T_punishment: return "mandate__T_punishment"; - case DF_Type::map_block: return "map_block"; - case DF_Type::map_block_column: return "map_block_column"; - case DF_Type::map_block_column__T_unmined_glyphs: return "map_block_column__T_unmined_glyphs"; - case DF_Type::map_renderer: return "map_renderer"; - case DF_Type::map_renderer__T_anon_4: return "map_renderer__T_anon_4"; - case DF_Type::map_viewport: return "map_viewport"; - case DF_Type::masterpiece_loss_type: return "masterpiece_loss_type"; - case DF_Type::material: return "material"; - case DF_Type::material_common: return "material_common"; - case DF_Type::material_common__T_hardens_with_water: return "material_common__T_hardens_with_water"; - case DF_Type::material_common__T_heat: return "material_common__T_heat"; - case DF_Type::material_common__T_reaction_product: return "material_common__T_reaction_product"; - case DF_Type::material_common__T_strength: return "material_common__T_strength"; - case DF_Type::material_flags: return "material_flags"; - case DF_Type::material_template: return "material_template"; - case DF_Type::material_vec_ref: return "material_vec_ref"; - case DF_Type::matgloss_list: return "matgloss_list"; - case DF_Type::matter_state: return "matter_state"; - case DF_Type::meeting_context: return "meeting_context"; - case DF_Type::meeting_diplomat_info: return "meeting_diplomat_info"; - case DF_Type::meeting_diplomat_info__T_flags: return "meeting_diplomat_info__T_flags"; - case DF_Type::meeting_event: return "meeting_event"; - case DF_Type::meeting_event_type: return "meeting_event_type"; - case DF_Type::meeting_topic: return "meeting_topic"; - case DF_Type::meeting_variable: return "meeting_variable"; - case DF_Type::mental_attribute_type: return "mental_attribute_type"; - case DF_Type::mental_picture: return "mental_picture"; - case DF_Type::mental_picture_element_hfst: return "mental_picture_element_hfst"; - case DF_Type::mental_picture_element_regionst: return "mental_picture_element_regionst"; - case DF_Type::mental_picture_element_sitest: return "mental_picture_element_sitest"; - case DF_Type::mental_picture_element_type: return "mental_picture_element_type"; - case DF_Type::mental_picture_elementst: return "mental_picture_elementst"; - case DF_Type::mental_picture_property_actionst: return "mental_picture_property_actionst"; - case DF_Type::mental_picture_property_adjectivest: return "mental_picture_property_adjectivest"; - case DF_Type::mental_picture_property_color_patternst: return "mental_picture_property_color_patternst"; - case DF_Type::mental_picture_property_datest: return "mental_picture_property_datest"; - case DF_Type::mental_picture_property_emotionst: return "mental_picture_property_emotionst"; - case DF_Type::mental_picture_property_positionst: return "mental_picture_property_positionst"; - case DF_Type::mental_picture_property_shapest: return "mental_picture_property_shapest"; - case DF_Type::mental_picture_property_timest: return "mental_picture_property_timest"; - case DF_Type::mental_picture_property_toolst: return "mental_picture_property_toolst"; - case DF_Type::mental_picture_property_type: return "mental_picture_property_type"; - case DF_Type::mental_picture_propertyst: return "mental_picture_propertyst"; - case DF_Type::misc_trait_type: return "misc_trait_type"; - case DF_Type::mission: return "mission"; - case DF_Type::mission__T_details: return "mission__T_details"; - case DF_Type::mission__T_details__T_raid: return "mission__T_details__T_raid"; - case DF_Type::mission__T_details__T_raid__T_raid_flags: return "mission__T_details__T_raid__T_raid_flags"; - case DF_Type::mission__T_details__T_raid__T_raid_type: return "mission__T_details__T_raid__T_raid_type"; - case DF_Type::mission__T_details__T_recovery: return "mission__T_details__T_recovery"; - case DF_Type::mission__T_details__T_request: return "mission__T_details__T_request"; - case DF_Type::mission__T_details__T_rescue: return "mission__T_details__T_rescue"; - case DF_Type::mission__T_type: return "mission__T_type"; - case DF_Type::mission_campaign_report: return "mission_campaign_report"; - case DF_Type::mission_report: return "mission_report"; - case DF_Type::mood_type: return "mood_type"; - case DF_Type::mountain_peak_flags: return "mountain_peak_flags"; - case DF_Type::moving_party: return "moving_party"; - case DF_Type::moving_party__T_members: return "moving_party__T_members"; - case DF_Type::musical_form: return "musical_form"; - case DF_Type::musical_form__T_flags: return "musical_form__T_flags"; - case DF_Type::musical_form_feature: return "musical_form_feature"; - case DF_Type::musical_form_instruments: return "musical_form_instruments"; - case DF_Type::musical_form_instruments__T_substitutions: return "musical_form_instruments__T_substitutions"; - case DF_Type::musical_form_interval: return "musical_form_interval"; - case DF_Type::musical_form_interval__T_flags: return "musical_form_interval__T_flags"; - case DF_Type::musical_form_melodies: return "musical_form_melodies"; - case DF_Type::musical_form_pitch_style: return "musical_form_pitch_style"; - case DF_Type::musical_form_purpose: return "musical_form_purpose"; - case DF_Type::musical_form_style: return "musical_form_style"; - case DF_Type::musical_form_sub4: return "musical_form_sub4"; - case DF_Type::musical_form_vocals: return "musical_form_vocals"; - case DF_Type::need_type: return "need_type"; - case DF_Type::nemesis_flags: return "nemesis_flags"; - case DF_Type::nemesis_offload: return "nemesis_offload"; - case DF_Type::nemesis_record: return "nemesis_record"; - case DF_Type::occasion_schedule_feature: return "occasion_schedule_feature"; - case DF_Type::occasion_schedule_type: return "occasion_schedule_type"; - case DF_Type::occupation: return "occupation"; - case DF_Type::occupation_sub1: return "occupation_sub1"; - case DF_Type::occupation_type: return "occupation_type"; - case DF_Type::ocean_wave: return "ocean_wave"; - case DF_Type::organic_mat_category: return "organic_mat_category"; - case DF_Type::orientation_flags: return "orientation_flags"; - case DF_Type::pants_flags: return "pants_flags"; - case DF_Type::part_of_speech: return "part_of_speech"; - case DF_Type::party_info: return "party_info"; - case DF_Type::pattern_type: return "pattern_type"; - case DF_Type::performance_event_type: return "performance_event_type"; - case DF_Type::performance_participant_type: return "performance_participant_type"; - case DF_Type::performance_play_orderst: return "performance_play_orderst"; - case DF_Type::performance_play_orderst__T_anon_4: return "performance_play_orderst__T_anon_4"; - case DF_Type::personality_facet_type: return "personality_facet_type"; - case DF_Type::physical_attribute_type: return "physical_attribute_type"; - case DF_Type::pitch_choice_type: return "pitch_choice_type"; - case DF_Type::plant: return "plant"; - case DF_Type::plant__T_damage_flags: return "plant__T_damage_flags"; - case DF_Type::plant_flags: return "plant_flags"; - case DF_Type::plant_growth: return "plant_growth"; - case DF_Type::plant_growth__T_behavior: return "plant_growth__T_behavior"; - case DF_Type::plant_growth__T_locations: return "plant_growth__T_locations"; - case DF_Type::plant_growth_print: return "plant_growth_print"; - case DF_Type::plant_raw: return "plant_raw"; - case DF_Type::plant_raw__T_colors: return "plant_raw__T_colors"; - case DF_Type::plant_raw__T_material_defs: return "plant_raw__T_material_defs"; - case DF_Type::plant_raw__T_stockpile_growth_flags: return "plant_raw__T_stockpile_growth_flags"; - case DF_Type::plant_raw__T_tiles: return "plant_raw__T_tiles"; - case DF_Type::plant_raw_flags: return "plant_raw_flags"; - case DF_Type::plant_tree_info: return "plant_tree_info"; - case DF_Type::plant_tree_tile: return "plant_tree_tile"; - case DF_Type::poetic_form: return "poetic_form"; - case DF_Type::poetic_form___union0: return "poetic_form___union0"; - case DF_Type::poetic_form__T_flags: return "poetic_form__T_flags"; - case DF_Type::poetic_form_action: return "poetic_form_action"; - case DF_Type::poetic_form_additional_feature: return "poetic_form_additional_feature"; - case DF_Type::poetic_form_caesura_position: return "poetic_form_caesura_position"; - case DF_Type::poetic_form_feature: return "poetic_form_feature"; - case DF_Type::poetic_form_mood: return "poetic_form_mood"; - case DF_Type::poetic_form_part: return "poetic_form_part"; - case DF_Type::poetic_form_part__T_flags: return "poetic_form_part__T_flags"; - case DF_Type::poetic_form_part__T_line_subject_targets: return "poetic_form_part__T_line_subject_targets"; - case DF_Type::poetic_form_pattern: return "poetic_form_pattern"; - case DF_Type::poetic_form_perspective: return "poetic_form_perspective"; - case DF_Type::poetic_form_perspective__T_type: return "poetic_form_perspective__T_type"; - case DF_Type::poetic_form_subject: return "poetic_form_subject"; - case DF_Type::popup_message: return "popup_message"; - case DF_Type::power_info: return "power_info"; - case DF_Type::pressure_plate_info: return "pressure_plate_info"; - case DF_Type::pressure_plate_info__T_flags: return "pressure_plate_info__T_flags"; - case DF_Type::profession: return "profession"; - case DF_Type::proj_itemst: return "proj_itemst"; - case DF_Type::proj_list_link: return "proj_list_link"; - case DF_Type::proj_magicst: return "proj_magicst"; - case DF_Type::proj_unitst: return "proj_unitst"; - case DF_Type::projectile: return "projectile"; - case DF_Type::projectile_flags: return "projectile_flags"; - case DF_Type::projectile_type: return "projectile_type"; - case DF_Type::punishment: return "punishment"; - case DF_Type::reaction: return "reaction"; - case DF_Type::reaction__T_building: return "reaction__T_building"; - case DF_Type::reaction_category: return "reaction_category"; - case DF_Type::reaction_description: return "reaction_description"; - case DF_Type::reaction_flags: return "reaction_flags"; - case DF_Type::reaction_product: return "reaction_product"; - case DF_Type::reaction_product_improvement_flags: return "reaction_product_improvement_flags"; - case DF_Type::reaction_product_item_flags: return "reaction_product_item_flags"; - case DF_Type::reaction_product_item_improvementst: return "reaction_product_item_improvementst"; - case DF_Type::reaction_product_item_improvementst__T_get_material: return "reaction_product_item_improvementst__T_get_material"; - case DF_Type::reaction_product_itemst: return "reaction_product_itemst"; - case DF_Type::reaction_product_itemst__T_get_material: return "reaction_product_itemst__T_get_material"; - case DF_Type::reaction_product_type: return "reaction_product_type"; - case DF_Type::reaction_reagent: return "reaction_reagent"; - case DF_Type::reaction_reagent_flags: return "reaction_reagent_flags"; - case DF_Type::reaction_reagent_itemst: return "reaction_reagent_itemst"; - case DF_Type::reaction_reagent_type: return "reaction_reagent_type"; - case DF_Type::region_block_event_sphere_fieldst: return "region_block_event_sphere_fieldst"; - case DF_Type::region_block_event_type: return "region_block_event_type"; - case DF_Type::region_block_eventst: return "region_block_eventst"; - case DF_Type::region_map_entry: return "region_map_entry"; - case DF_Type::region_map_entry__T_clouds: return "region_map_entry__T_clouds"; - case DF_Type::region_map_entry__T_wind: return "region_map_entry__T_wind"; - case DF_Type::region_map_entry_flags: return "region_map_entry_flags"; - case DF_Type::renderer: return "renderer"; - case DF_Type::report: return "report"; - case DF_Type::report__T_flags: return "report__T_flags"; - case DF_Type::reputation_type: return "reputation_type"; - case DF_Type::resource_allotment_data: return "resource_allotment_data"; - case DF_Type::resource_allotment_data__T_unk_654: return "resource_allotment_data__T_unk_654"; - case DF_Type::resource_allotment_specifier: return "resource_allotment_specifier"; - case DF_Type::resource_allotment_specifier_ammost: return "resource_allotment_specifier_ammost"; - case DF_Type::resource_allotment_specifier_anvilst: return "resource_allotment_specifier_anvilst"; - case DF_Type::resource_allotment_specifier_armor_bodyst: return "resource_allotment_specifier_armor_bodyst"; - case DF_Type::resource_allotment_specifier_armor_bootsst: return "resource_allotment_specifier_armor_bootsst"; - case DF_Type::resource_allotment_specifier_armor_glovesst: return "resource_allotment_specifier_armor_glovesst"; - case DF_Type::resource_allotment_specifier_armor_helmst: return "resource_allotment_specifier_armor_helmst"; - case DF_Type::resource_allotment_specifier_armor_pantsst: return "resource_allotment_specifier_armor_pantsst"; - case DF_Type::resource_allotment_specifier_backpackst: return "resource_allotment_specifier_backpackst"; - case DF_Type::resource_allotment_specifier_bagst: return "resource_allotment_specifier_bagst"; - case DF_Type::resource_allotment_specifier_bedst: return "resource_allotment_specifier_bedst"; - case DF_Type::resource_allotment_specifier_bonest: return "resource_allotment_specifier_bonest"; - case DF_Type::resource_allotment_specifier_boxst: return "resource_allotment_specifier_boxst"; - case DF_Type::resource_allotment_specifier_cabinetst: return "resource_allotment_specifier_cabinetst"; - case DF_Type::resource_allotment_specifier_chairst: return "resource_allotment_specifier_chairst"; - case DF_Type::resource_allotment_specifier_cheesest: return "resource_allotment_specifier_cheesest"; - case DF_Type::resource_allotment_specifier_clothing_bodyst: return "resource_allotment_specifier_clothing_bodyst"; - case DF_Type::resource_allotment_specifier_clothing_bootsst: return "resource_allotment_specifier_clothing_bootsst"; - case DF_Type::resource_allotment_specifier_clothing_glovesst: return "resource_allotment_specifier_clothing_glovesst"; - case DF_Type::resource_allotment_specifier_clothing_helmst: return "resource_allotment_specifier_clothing_helmst"; - case DF_Type::resource_allotment_specifier_clothing_pantsst: return "resource_allotment_specifier_clothing_pantsst"; - case DF_Type::resource_allotment_specifier_clothst: return "resource_allotment_specifier_clothst"; - case DF_Type::resource_allotment_specifier_craftsst: return "resource_allotment_specifier_craftsst"; - case DF_Type::resource_allotment_specifier_cropst: return "resource_allotment_specifier_cropst"; - case DF_Type::resource_allotment_specifier_extractst: return "resource_allotment_specifier_extractst"; - case DF_Type::resource_allotment_specifier_flaskst: return "resource_allotment_specifier_flaskst"; - case DF_Type::resource_allotment_specifier_gemsst: return "resource_allotment_specifier_gemsst"; - case DF_Type::resource_allotment_specifier_hornst: return "resource_allotment_specifier_hornst"; - case DF_Type::resource_allotment_specifier_leatherst: return "resource_allotment_specifier_leatherst"; - case DF_Type::resource_allotment_specifier_meatst: return "resource_allotment_specifier_meatst"; - case DF_Type::resource_allotment_specifier_metalst: return "resource_allotment_specifier_metalst"; - case DF_Type::resource_allotment_specifier_pearlst: return "resource_allotment_specifier_pearlst"; - case DF_Type::resource_allotment_specifier_powderst: return "resource_allotment_specifier_powderst"; - case DF_Type::resource_allotment_specifier_quiverst: return "resource_allotment_specifier_quiverst"; - case DF_Type::resource_allotment_specifier_shellst: return "resource_allotment_specifier_shellst"; - case DF_Type::resource_allotment_specifier_skinst: return "resource_allotment_specifier_skinst"; - case DF_Type::resource_allotment_specifier_soapst: return "resource_allotment_specifier_soapst"; - case DF_Type::resource_allotment_specifier_stonest: return "resource_allotment_specifier_stonest"; - case DF_Type::resource_allotment_specifier_tablest: return "resource_allotment_specifier_tablest"; - case DF_Type::resource_allotment_specifier_tallowst: return "resource_allotment_specifier_tallowst"; - case DF_Type::resource_allotment_specifier_threadst: return "resource_allotment_specifier_threadst"; - case DF_Type::resource_allotment_specifier_toothst: return "resource_allotment_specifier_toothst"; - case DF_Type::resource_allotment_specifier_type: return "resource_allotment_specifier_type"; - case DF_Type::resource_allotment_specifier_weapon_meleest: return "resource_allotment_specifier_weapon_meleest"; - case DF_Type::resource_allotment_specifier_weapon_rangedst: return "resource_allotment_specifier_weapon_rangedst"; - case DF_Type::resource_allotment_specifier_woodst: return "resource_allotment_specifier_woodst"; - case DF_Type::rhythm: return "rhythm"; - case DF_Type::rhythm_sub1: return "rhythm_sub1"; - case DF_Type::rhythm_sub1__T_anon_1: return "rhythm_sub1__T_anon_1"; - case DF_Type::rhythm_sub2: return "rhythm_sub2"; - case DF_Type::room_rent_info: return "room_rent_info"; - case DF_Type::room_rent_info__T_flags: return "room_rent_info__T_flags"; - case DF_Type::route_stockpile_link: return "route_stockpile_link"; - case DF_Type::route_stockpile_link__T_mode: return "route_stockpile_link__T_mode"; - case DF_Type::scale: return "scale"; - case DF_Type::scale__T_unk1: return "scale__T_unk1"; - case DF_Type::scale_sub1: return "scale_sub1"; - case DF_Type::scale_sub2: return "scale_sub2"; - case DF_Type::schedule_info: return "schedule_info"; - case DF_Type::schedule_slot: return "schedule_slot"; - case DF_Type::screw_pump_direction: return "screw_pump_direction"; - case DF_Type::scribejob: return "scribejob"; - case DF_Type::script_step_conditionalst: return "script_step_conditionalst"; - case DF_Type::script_step_conditionalst__T_condition: return "script_step_conditionalst__T_condition"; - case DF_Type::script_step_constructtopiclistst: return "script_step_constructtopiclistst"; - case DF_Type::script_step_dipeventst: return "script_step_dipeventst"; - case DF_Type::script_step_diphistoryst: return "script_step_diphistoryst"; - case DF_Type::script_step_discussst: return "script_step_discussst"; - case DF_Type::script_step_eventst: return "script_step_eventst"; - case DF_Type::script_step_invasionst: return "script_step_invasionst"; - case DF_Type::script_step_setvarst: return "script_step_setvarst"; - case DF_Type::script_step_simpleactionst: return "script_step_simpleactionst"; - case DF_Type::script_step_textviewerst: return "script_step_textviewerst"; - case DF_Type::script_step_topicdiscussionst: return "script_step_topicdiscussionst"; - case DF_Type::script_stepst: return "script_stepst"; - case DF_Type::script_var_longst: return "script_var_longst"; - case DF_Type::script_var_unitst: return "script_var_unitst"; - case DF_Type::script_varst: return "script_varst"; - case DF_Type::setup_character_info: return "setup_character_info"; - case DF_Type::setup_character_info__T_status: return "setup_character_info__T_status"; - case DF_Type::shoes_flags: return "shoes_flags"; - case DF_Type::shop_type: return "shop_type"; - case DF_Type::siegeengine_type: return "siegeengine_type"; - case DF_Type::site_building_item: return "site_building_item"; - case DF_Type::site_dispute_type: return "site_dispute_type"; - case DF_Type::site_realization_building: return "site_realization_building"; - case DF_Type::site_realization_building__T_unk_4c: return "site_realization_building__T_unk_4c"; - case DF_Type::site_realization_building_info_castle_courtyardst: return "site_realization_building_info_castle_courtyardst"; - case DF_Type::site_realization_building_info_castle_towerst: return "site_realization_building_info_castle_towerst"; - case DF_Type::site_realization_building_info_castle_wallst: return "site_realization_building_info_castle_wallst"; - case DF_Type::site_realization_building_info_hillock_housest: return "site_realization_building_info_hillock_housest"; - case DF_Type::site_realization_building_info_market_squarest: return "site_realization_building_info_market_squarest"; - case DF_Type::site_realization_building_info_shop_housest: return "site_realization_building_info_shop_housest"; - case DF_Type::site_realization_building_info_tree_housest: return "site_realization_building_info_tree_housest"; - case DF_Type::site_realization_building_info_trenchesst: return "site_realization_building_info_trenchesst"; - case DF_Type::site_realization_building_info_trenchesst__T_spokes: return "site_realization_building_info_trenchesst__T_spokes"; - case DF_Type::site_realization_building_infost: return "site_realization_building_infost"; - case DF_Type::site_realization_building_type: return "site_realization_building_type"; - case DF_Type::site_realization_crossroads: return "site_realization_crossroads"; - case DF_Type::site_reputation_info: return "site_reputation_info"; - case DF_Type::site_reputation_report: return "site_reputation_report"; - case DF_Type::site_shop_type: return "site_shop_type"; - case DF_Type::site_type: return "site_type"; - case DF_Type::skill_rating: return "skill_rating"; - case DF_Type::slab_engraving_type: return "slab_engraving_type"; - case DF_Type::sound_production_type: return "sound_production_type"; - case DF_Type::spatter: return "spatter"; - case DF_Type::spatter__T_flags: return "spatter__T_flags"; - case DF_Type::spatter_common: return "spatter_common"; - case DF_Type::spatter_common__T_base_flags: return "spatter_common__T_base_flags"; - case DF_Type::special_mat_table: return "special_mat_table"; - case DF_Type::specific_ref: return "specific_ref"; - case DF_Type::specific_ref___union2: return "specific_ref___union2"; - case DF_Type::specific_ref__T_arg2: return "specific_ref__T_arg2"; - case DF_Type::specific_ref_type: return "specific_ref_type"; - case DF_Type::sphere_type: return "sphere_type"; - case DF_Type::spoils_report: return "spoils_report"; - case DF_Type::squad: return "squad"; - case DF_Type::squad__T_rooms: return "squad__T_rooms"; - case DF_Type::squad_ammo_spec: return "squad_ammo_spec"; - case DF_Type::squad_ammo_spec__T_flags: return "squad_ammo_spec__T_flags"; - case DF_Type::squad_event_type: return "squad_event_type"; - case DF_Type::squad_order: return "squad_order"; - case DF_Type::squad_order_cannot_reason: return "squad_order_cannot_reason"; - case DF_Type::squad_order_cause_trouble_for_entityst: return "squad_order_cause_trouble_for_entityst"; - case DF_Type::squad_order_defend_burrowsst: return "squad_order_defend_burrowsst"; - case DF_Type::squad_order_drive_armies_from_sitest: return "squad_order_drive_armies_from_sitest"; - case DF_Type::squad_order_drive_entity_off_sitest: return "squad_order_drive_entity_off_sitest"; - case DF_Type::squad_order_kill_hfst: return "squad_order_kill_hfst"; - case DF_Type::squad_order_kill_listst: return "squad_order_kill_listst"; - case DF_Type::squad_order_movest: return "squad_order_movest"; - case DF_Type::squad_order_patrol_routest: return "squad_order_patrol_routest"; - case DF_Type::squad_order_raid_sitest: return "squad_order_raid_sitest"; - case DF_Type::squad_order_rescue_hfst: return "squad_order_rescue_hfst"; - case DF_Type::squad_order_retrieve_artifactst: return "squad_order_retrieve_artifactst"; - case DF_Type::squad_order_trainst: return "squad_order_trainst"; - case DF_Type::squad_order_type: return "squad_order_type"; - case DF_Type::squad_position: return "squad_position"; - case DF_Type::squad_schedule_entry: return "squad_schedule_entry"; - case DF_Type::squad_schedule_order: return "squad_schedule_order"; - case DF_Type::squad_uniform_spec: return "squad_uniform_spec"; - case DF_Type::squad_use_flags: return "squad_use_flags"; - case DF_Type::stockpile_category: return "stockpile_category"; - case DF_Type::stockpile_group_set: return "stockpile_group_set"; - case DF_Type::stockpile_links: return "stockpile_links"; - case DF_Type::stockpile_list: return "stockpile_list"; - case DF_Type::stockpile_settings: return "stockpile_settings"; - case DF_Type::stockpile_settings__T_ammo: return "stockpile_settings__T_ammo"; - case DF_Type::stockpile_settings__T_animals: return "stockpile_settings__T_animals"; - case DF_Type::stockpile_settings__T_armor: return "stockpile_settings__T_armor"; - case DF_Type::stockpile_settings__T_bars_blocks: return "stockpile_settings__T_bars_blocks"; - case DF_Type::stockpile_settings__T_cloth: return "stockpile_settings__T_cloth"; - case DF_Type::stockpile_settings__T_coins: return "stockpile_settings__T_coins"; - case DF_Type::stockpile_settings__T_finished_goods: return "stockpile_settings__T_finished_goods"; - case DF_Type::stockpile_settings__T_food: return "stockpile_settings__T_food"; - case DF_Type::stockpile_settings__T_furniture: return "stockpile_settings__T_furniture"; - case DF_Type::stockpile_settings__T_gems: return "stockpile_settings__T_gems"; - case DF_Type::stockpile_settings__T_leather: return "stockpile_settings__T_leather"; - case DF_Type::stockpile_settings__T_ore: return "stockpile_settings__T_ore"; - case DF_Type::stockpile_settings__T_refuse: return "stockpile_settings__T_refuse"; - case DF_Type::stockpile_settings__T_sheet: return "stockpile_settings__T_sheet"; - case DF_Type::stockpile_settings__T_stone: return "stockpile_settings__T_stone"; - case DF_Type::stockpile_settings__T_weapons: return "stockpile_settings__T_weapons"; - case DF_Type::stockpile_settings__T_wood: return "stockpile_settings__T_wood"; - case DF_Type::stop_depart_condition: return "stop_depart_condition"; - case DF_Type::stop_depart_condition__T_direction: return "stop_depart_condition__T_direction"; - case DF_Type::stop_depart_condition__T_flags: return "stop_depart_condition__T_flags"; - case DF_Type::stop_depart_condition__T_mode: return "stop_depart_condition__T_mode"; - case DF_Type::strain_type: return "strain_type"; - case DF_Type::stratus_type: return "stratus_type"; - case DF_Type::syndrome: return "syndrome"; - case DF_Type::syndrome_flags: return "syndrome_flags"; - case DF_Type::T_cursor: return "T_cursor"; - case DF_Type::T_selection_rect: return "T_selection_rect"; - case DF_Type::tactical_situation: return "tactical_situation"; - case DF_Type::talk_choice: return "talk_choice"; - case DF_Type::talk_choice__T_unk: return "talk_choice__T_unk"; - case DF_Type::talk_choice_type: return "talk_choice_type"; - case DF_Type::temperaturest: return "temperaturest"; - case DF_Type::text_info_element_longst: return "text_info_element_longst"; - case DF_Type::text_info_element_stringst: return "text_info_element_stringst"; - case DF_Type::text_info_elementst: return "text_info_elementst"; - case DF_Type::texture_handler: return "texture_handler"; - case DF_Type::tile_bitmask: return "tile_bitmask"; - case DF_Type::tile_building_occ: return "tile_building_occ"; - case DF_Type::tile_designation: return "tile_designation"; - case DF_Type::tile_dig_designation: return "tile_dig_designation"; - case DF_Type::tile_liquid: return "tile_liquid"; - case DF_Type::tile_liquid_flow: return "tile_liquid_flow"; - case DF_Type::tile_liquid_flow_dir: return "tile_liquid_flow_dir"; - case DF_Type::tile_occupancy: return "tile_occupancy"; - case DF_Type::tile_page: return "tile_page"; - case DF_Type::tile_traffic: return "tile_traffic"; - case DF_Type::tiletype: return "tiletype"; - case DF_Type::tiletype_material: return "tiletype_material"; - case DF_Type::tiletype_shape: return "tiletype_shape"; - case DF_Type::tiletype_shape_basic: return "tiletype_shape_basic"; - case DF_Type::tiletype_special: return "tiletype_special"; - case DF_Type::tiletype_variant: return "tiletype_variant"; - case DF_Type::timbre_type: return "timbre_type"; - case DF_Type::timed_event: return "timed_event"; - case DF_Type::timed_event_type: return "timed_event_type"; - case DF_Type::tissue: return "tissue"; - case DF_Type::tissue_flags: return "tissue_flags"; - case DF_Type::tissue_style_raw: return "tissue_style_raw"; - case DF_Type::tissue_style_type: return "tissue_style_type"; - case DF_Type::tissue_template: return "tissue_template"; - case DF_Type::tool_flags: return "tool_flags"; - case DF_Type::tool_uses: return "tool_uses"; - case DF_Type::tower_shape: return "tower_shape"; - case DF_Type::toy_flags: return "toy_flags"; - case DF_Type::training_assignment: return "training_assignment"; - case DF_Type::training_assignment__T_flags: return "training_assignment__T_flags"; - case DF_Type::training_knowledge_level: return "training_knowledge_level"; - case DF_Type::trap_type: return "trap_type"; - case DF_Type::trapcomp_flags: return "trapcomp_flags"; - case DF_Type::tree_house_type: return "tree_house_type"; - case DF_Type::tuning_type: return "tuning_type"; - case DF_Type::ui: return "ui"; - case DF_Type::ui__T_alerts: return "ui__T_alerts"; - case DF_Type::ui__T_alerts__T_list: return "ui__T_alerts__T_list"; - case DF_Type::ui__T_becoming_capital: return "ui__T_becoming_capital"; - case DF_Type::ui__T_burrows: return "ui__T_burrows"; - case DF_Type::ui__T_economy_prices: return "ui__T_economy_prices"; - case DF_Type::ui__T_economy_prices__T_price_adjustment: return "ui__T_economy_prices__T_price_adjustment"; - case DF_Type::ui__T_economy_prices__T_price_setter: return "ui__T_economy_prices__T_price_setter"; - case DF_Type::ui__T_equipment: return "ui__T_equipment"; - case DF_Type::ui__T_equipment__T_update: return "ui__T_equipment__T_update"; - case DF_Type::ui__T_hauling: return "ui__T_hauling"; - case DF_Type::ui__T_invasions: return "ui__T_invasions"; - case DF_Type::ui__T_kitchen: return "ui__T_kitchen"; - case DF_Type::ui__T_main: return "ui__T_main"; - case DF_Type::ui__T_main__T_dead_citizens: return "ui__T_main__T_dead_citizens"; - case DF_Type::ui__T_map_edge: return "ui__T_map_edge"; - case DF_Type::ui__T_squads: return "ui__T_squads"; - case DF_Type::ui__T_stockpile: return "ui__T_stockpile"; - case DF_Type::ui__T_tax_collection: return "ui__T_tax_collection"; - case DF_Type::ui__T_unk23c8_flags: return "ui__T_unk23c8_flags"; - case DF_Type::ui__T_unk2a8c: return "ui__T_unk2a8c"; - case DF_Type::ui__T_waypoints: return "ui__T_waypoints"; - case DF_Type::ui__T_waypoints__T_points: return "ui__T_waypoints__T_points"; - case DF_Type::ui__T_waypoints__T_routes: return "ui__T_waypoints__T_routes"; - case DF_Type::ui_advmode: return "ui_advmode"; - case DF_Type::ui_advmode__T_assume_identity: return "ui_advmode__T_assume_identity"; - case DF_Type::ui_advmode__T_companions: return "ui_advmode__T_companions"; - case DF_Type::ui_advmode__T_conversation: return "ui_advmode__T_conversation"; - case DF_Type::ui_advmode__T_conversation__T_choices: return "ui_advmode__T_conversation__T_choices"; - case DF_Type::ui_advmode__T_conversation__T_targets: return "ui_advmode__T_conversation__T_targets"; - case DF_Type::ui_advmode__T_conversation__T_targets__T_type: return "ui_advmode__T_conversation__T_targets__T_type"; - case DF_Type::ui_advmode__T_interactions: return "ui_advmode__T_interactions"; - case DF_Type::ui_advmode__T_show_menu: return "ui_advmode__T_show_menu"; - case DF_Type::ui_advmode__T_travel_right_map: return "ui_advmode__T_travel_right_map"; - case DF_Type::ui_advmode__T_unk_3124: return "ui_advmode__T_unk_3124"; - case DF_Type::ui_advmode__T_unk_3170: return "ui_advmode__T_unk_3170"; - case DF_Type::ui_advmode__T_unk_3170__T_unk_2: return "ui_advmode__T_unk_3170__T_unk_2"; - case DF_Type::ui_advmode__T_unk_v40_1: return "ui_advmode__T_unk_v40_1"; - case DF_Type::ui_advmode__T_unk_v40_2: return "ui_advmode__T_unk_v40_2"; - case DF_Type::ui_advmode__T_unk_v40_3: return "ui_advmode__T_unk_v40_3"; - case DF_Type::ui_advmode__T_unk_v40_4: return "ui_advmode__T_unk_v40_4"; - case DF_Type::ui_advmode__T_unk_v40_4__T_unk_v40_4a: return "ui_advmode__T_unk_v40_4__T_unk_v40_4a"; - case DF_Type::ui_advmode__T_unk_v40_5: return "ui_advmode__T_unk_v40_5"; - case DF_Type::ui_advmode__T_unk_v42_1: return "ui_advmode__T_unk_v42_1"; - case DF_Type::ui_advmode_menu: return "ui_advmode_menu"; - case DF_Type::ui_build_item_req: return "ui_build_item_req"; - case DF_Type::ui_build_selector: return "ui_build_selector"; - case DF_Type::ui_hotkey: return "ui_hotkey"; - case DF_Type::ui_hotkey___union4: return "ui_hotkey___union4"; - case DF_Type::ui_hotkey__T_cmd: return "ui_hotkey__T_cmd"; - case DF_Type::ui_look_list: return "ui_look_list"; - case DF_Type::ui_look_list__T_items: return "ui_look_list__T_items"; - case DF_Type::ui_look_list__T_items___union3: return "ui_look_list__T_items___union3"; - case DF_Type::ui_look_list__T_items__T_type: return "ui_look_list__T_items__T_type"; - case DF_Type::ui_sidebar_menus: return "ui_sidebar_menus"; - case DF_Type::ui_sidebar_menus__T_barracks: return "ui_sidebar_menus__T_barracks"; - case DF_Type::ui_sidebar_menus__T_building: return "ui_sidebar_menus__T_building"; - case DF_Type::ui_sidebar_menus__T_command_line: return "ui_sidebar_menus__T_command_line"; - case DF_Type::ui_sidebar_menus__T_designation: return "ui_sidebar_menus__T_designation"; - case DF_Type::ui_sidebar_menus__T_designation__T_mine_mode: return "ui_sidebar_menus__T_designation__T_mine_mode"; - case DF_Type::ui_sidebar_menus__T_hospital: return "ui_sidebar_menus__T_hospital"; - case DF_Type::ui_sidebar_menus__T_job_details: return "ui_sidebar_menus__T_job_details"; - case DF_Type::ui_sidebar_menus__T_location: return "ui_sidebar_menus__T_location"; - case DF_Type::ui_sidebar_menus__T_minimap: return "ui_sidebar_menus__T_minimap"; - case DF_Type::ui_sidebar_menus__T_unit: return "ui_sidebar_menus__T_unit"; - case DF_Type::ui_sidebar_menus__T_unit__T_expel_error: return "ui_sidebar_menus__T_unit__T_expel_error"; - case DF_Type::ui_sidebar_menus__T_unit_cursor: return "ui_sidebar_menus__T_unit_cursor"; - case DF_Type::ui_sidebar_menus__T_unit_skills: return "ui_sidebar_menus__T_unit_skills"; - case DF_Type::ui_sidebar_menus__T_workshop_job: return "ui_sidebar_menus__T_workshop_job"; - case DF_Type::ui_sidebar_menus__T_zone: return "ui_sidebar_menus__T_zone"; - case DF_Type::ui_sidebar_menus__T_zone__T_mode: return "ui_sidebar_menus__T_zone__T_mode"; - case DF_Type::ui_sidebar_mode: return "ui_sidebar_mode"; - case DF_Type::ui_unit_view_mode: return "ui_unit_view_mode"; - case DF_Type::ui_unit_view_mode__T_value: return "ui_unit_view_mode__T_value"; - case DF_Type::uniform_category: return "uniform_category"; - case DF_Type::uniform_flags: return "uniform_flags"; - case DF_Type::uniform_indiv_choice: return "uniform_indiv_choice"; - case DF_Type::unit: return "unit"; - case DF_Type::unit__T_animal: return "unit__T_animal"; - case DF_Type::unit__T_appearance: return "unit__T_appearance"; - case DF_Type::unit__T_body: return "unit__T_body"; - case DF_Type::unit__T_counters: return "unit__T_counters"; - case DF_Type::unit__T_counters2: return "unit__T_counters2"; - case DF_Type::unit__T_counters__T_soldier_mood: return "unit__T_counters__T_soldier_mood"; - case DF_Type::unit__T_curse: return "unit__T_curse"; - case DF_Type::unit__T_enemy: return "unit__T_enemy"; - case DF_Type::unit__T_enemy__T_undead: return "unit__T_enemy__T_undead"; - case DF_Type::unit__T_enemy__T_unk_448: return "unit__T_enemy__T_unk_448"; - case DF_Type::unit__T_enemy__T_unk_448__T_unk: return "unit__T_enemy__T_unk_448__T_unk"; - case DF_Type::unit__T_enemy__T_unk_44c: return "unit__T_enemy__T_unk_44c"; - case DF_Type::unit__T_enemy__T_unk_v40_sub3: return "unit__T_enemy__T_unk_v40_sub3"; - case DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_2: return "unit__T_enemy__T_unk_v40_sub3__T_unk_2"; - case DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_6: return "unit__T_enemy__T_unk_v40_sub3__T_unk_6"; - case DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7: return "unit__T_enemy__T_unk_v40_sub3__T_unk_7"; - case DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7__T_unk_sub1: return "unit__T_enemy__T_unk_v40_sub3__T_unk_7__T_unk_sub1"; - case DF_Type::unit__T_enemy__T_witness_reports: return "unit__T_enemy__T_witness_reports"; - case DF_Type::unit__T_job: return "unit__T_job"; - case DF_Type::unit__T_meeting: return "unit__T_meeting"; - case DF_Type::unit__T_meeting__T_state: return "unit__T_meeting__T_state"; - case DF_Type::unit__T_military: return "unit__T_military"; - case DF_Type::unit__T_military__T_pickup_flags: return "unit__T_military__T_pickup_flags"; - case DF_Type::unit__T_opponent: return "unit__T_opponent"; - case DF_Type::unit__T_path: return "unit__T_path"; - case DF_Type::unit__T_reports: return "unit__T_reports"; - case DF_Type::unit__T_status: return "unit__T_status"; - case DF_Type::unit__T_status2: return "unit__T_status2"; - case DF_Type::unit__T_status__T_eat_history: return "unit__T_status__T_eat_history"; - case DF_Type::unit__T_status__T_eat_history__T_drink: return "unit__T_status__T_eat_history__T_drink"; - case DF_Type::unit__T_status__T_eat_history__T_food: return "unit__T_status__T_eat_history__T_food"; - case DF_Type::unit__T_syndromes: return "unit__T_syndromes"; - case DF_Type::unit__T_unknown7: return "unit__T_unknown7"; - case DF_Type::unit_action: return "unit_action"; - case DF_Type::unit_action__T_data: return "unit_action__T_data"; - case DF_Type::unit_action__T_data__T_attack: return "unit_action__T_data__T_attack"; - case DF_Type::unit_action__T_data__T_attack__T_flags: return "unit_action__T_data__T_attack__T_flags"; - case DF_Type::unit_action__T_data__T_attack__T_unk_4: return "unit_action__T_data__T_attack__T_unk_4"; - case DF_Type::unit_action__T_data__T_block: return "unit_action__T_data__T_block"; - case DF_Type::unit_action__T_data__T_climb: return "unit_action__T_data__T_climb"; - case DF_Type::unit_action__T_data__T_dodge: return "unit_action__T_data__T_dodge"; - case DF_Type::unit_action__T_data__T_holditem: return "unit_action__T_data__T_holditem"; - case DF_Type::unit_action__T_data__T_holdterrain: return "unit_action__T_data__T_holdterrain"; - case DF_Type::unit_action__T_data__T_job: return "unit_action__T_data__T_job"; - case DF_Type::unit_action__T_data__T_job2: return "unit_action__T_data__T_job2"; - case DF_Type::unit_action__T_data__T_jump: return "unit_action__T_data__T_jump"; - case DF_Type::unit_action__T_data__T_liedown: return "unit_action__T_data__T_liedown"; - case DF_Type::unit_action__T_data__T_move: return "unit_action__T_data__T_move"; - case DF_Type::unit_action__T_data__T_move__T_flags: return "unit_action__T_data__T_move__T_flags"; - case DF_Type::unit_action__T_data__T_parry: return "unit_action__T_data__T_parry"; - case DF_Type::unit_action__T_data__T_pushobject: return "unit_action__T_data__T_pushobject"; - case DF_Type::unit_action__T_data__T_recover: return "unit_action__T_data__T_recover"; - case DF_Type::unit_action__T_data__T_releaseitem: return "unit_action__T_data__T_releaseitem"; - case DF_Type::unit_action__T_data__T_releaseterrain: return "unit_action__T_data__T_releaseterrain"; - case DF_Type::unit_action__T_data__T_standup: return "unit_action__T_data__T_standup"; - case DF_Type::unit_action__T_data__T_suckblood: return "unit_action__T_data__T_suckblood"; - case DF_Type::unit_action__T_data__T_talk: return "unit_action__T_data__T_talk"; - case DF_Type::unit_action__T_data__T_unsteady: return "unit_action__T_data__T_unsteady"; - case DF_Type::unit_action_type: return "unit_action_type"; - case DF_Type::unit_appearance: return "unit_appearance"; - case DF_Type::unit_attribute: return "unit_attribute"; - case DF_Type::unit_bp_health_flags: return "unit_bp_health_flags"; - case DF_Type::unit_chunk: return "unit_chunk"; - case DF_Type::unit_chunk__T_units: return "unit_chunk__T_units"; - case DF_Type::unit_coin_debt: return "unit_coin_debt"; - case DF_Type::unit_complaint: return "unit_complaint"; - case DF_Type::unit_complaint__T_type: return "unit_complaint__T_type"; - case DF_Type::unit_dance_skill: return "unit_dance_skill"; - case DF_Type::unit_demand: return "unit_demand"; - case DF_Type::unit_demand__T_place: return "unit_demand__T_place"; - case DF_Type::unit_flags1: return "unit_flags1"; - case DF_Type::unit_flags2: return "unit_flags2"; - case DF_Type::unit_flags3: return "unit_flags3"; - case DF_Type::unit_flags4: return "unit_flags4"; - case DF_Type::unit_genes: return "unit_genes"; - case DF_Type::unit_ghost_info: return "unit_ghost_info"; - case DF_Type::unit_ghost_info__T_flags: return "unit_ghost_info__T_flags"; - case DF_Type::unit_ghost_info__T_target: return "unit_ghost_info__T_target"; - case DF_Type::unit_health_flags: return "unit_health_flags"; - case DF_Type::unit_health_info: return "unit_health_info"; - case DF_Type::unit_health_info__T_op_history: return "unit_health_info__T_op_history"; - case DF_Type::unit_health_info__T_op_history__T_info: return "unit_health_info__T_op_history__T_info"; - case DF_Type::unit_health_info__T_op_history__T_info__T_bandage: return "unit_health_info__T_op_history__T_info__T_bandage"; - case DF_Type::unit_health_info__T_op_history__T_info__T_crutch: return "unit_health_info__T_op_history__T_info__T_crutch"; - case DF_Type::unit_instrument_skill: return "unit_instrument_skill"; - case DF_Type::unit_inventory_item: return "unit_inventory_item"; - case DF_Type::unit_inventory_item__T_mode: return "unit_inventory_item__T_mode"; - case DF_Type::unit_item_use: return "unit_item_use"; - case DF_Type::unit_item_wrestle: return "unit_item_wrestle"; - case DF_Type::unit_labor: return "unit_labor"; - case DF_Type::unit_labor_category: return "unit_labor_category"; - case DF_Type::unit_misc_trait: return "unit_misc_trait"; - case DF_Type::unit_musical_skill: return "unit_musical_skill"; - case DF_Type::unit_path_goal: return "unit_path_goal"; - case DF_Type::unit_personality: return "unit_personality"; - case DF_Type::unit_personality__T_dreams: return "unit_personality__T_dreams"; - case DF_Type::unit_personality__T_emotions: return "unit_personality__T_emotions"; - case DF_Type::unit_personality__T_emotions__T_flags: return "unit_personality__T_emotions__T_flags"; - case DF_Type::unit_personality__T_flags: return "unit_personality__T_flags"; - case DF_Type::unit_personality__T_needs: return "unit_personality__T_needs"; - case DF_Type::unit_personality__T_unk5: return "unit_personality__T_unk5"; - case DF_Type::unit_personality__T_unk_v40_2: return "unit_personality__T_unk_v40_2"; - case DF_Type::unit_personality__T_unk_v40_6: return "unit_personality__T_unk_v40_6"; - case DF_Type::unit_personality__T_values: return "unit_personality__T_values"; - case DF_Type::unit_poetic_skill: return "unit_poetic_skill"; - case DF_Type::unit_preference: return "unit_preference"; - case DF_Type::unit_preference___union5: return "unit_preference___union5"; - case DF_Type::unit_preference__T_type: return "unit_preference__T_type"; - case DF_Type::unit_relationship_type: return "unit_relationship_type"; - case DF_Type::unit_report_type: return "unit_report_type"; - case DF_Type::unit_request: return "unit_request"; - case DF_Type::unit_request__T_type: return "unit_request__T_type"; - case DF_Type::unit_skill: return "unit_skill"; - case DF_Type::unit_soul: return "unit_soul"; - case DF_Type::unit_soul__T_performance_skills: return "unit_soul__T_performance_skills"; - case DF_Type::unit_station_type: return "unit_station_type"; - case DF_Type::unit_storage_status: return "unit_storage_status"; - case DF_Type::unit_syndrome: return "unit_syndrome"; - case DF_Type::unit_syndrome__T_flags: return "unit_syndrome__T_flags"; - case DF_Type::unit_syndrome__T_symptoms: return "unit_syndrome__T_symptoms"; - case DF_Type::unit_syndrome__T_symptoms__T_flags: return "unit_syndrome__T_symptoms__T_flags"; - case DF_Type::unit_thought_type: return "unit_thought_type"; - case DF_Type::unit_unk_138: return "unit_unk_138"; - case DF_Type::unit_wound: return "unit_wound"; - case DF_Type::unit_wound__T_flags: return "unit_wound__T_flags"; - case DF_Type::unit_wound__T_parts: return "unit_wound__T_parts"; - case DF_Type::units_other_id: return "units_other_id"; - case DF_Type::value_type: return "value_type"; - case DF_Type::vehicle: return "vehicle"; - case DF_Type::vermin: return "vermin"; - case DF_Type::vermin_flags: return "vermin_flags"; - case DF_Type::viewscreen: return "viewscreen"; - case DF_Type::viewscreen_adopt_regionst: return "viewscreen_adopt_regionst"; - case DF_Type::viewscreen_adventure_logst: return "viewscreen_adventure_logst"; - case DF_Type::viewscreen_adventure_logst__T_info_mode: return "viewscreen_adventure_logst__T_info_mode"; - case DF_Type::viewscreen_adventure_logst__T_mode: return "viewscreen_adventure_logst__T_mode"; - case DF_Type::viewscreen_announcelistst: return "viewscreen_announcelistst"; - case DF_Type::viewscreen_assign_display_itemst: return "viewscreen_assign_display_itemst"; - case DF_Type::viewscreen_assign_display_itemst__T_sel_column: return "viewscreen_assign_display_itemst__T_sel_column"; - case DF_Type::viewscreen_barterst: return "viewscreen_barterst"; - case DF_Type::viewscreen_buildinglistst: return "viewscreen_buildinglistst"; - case DF_Type::viewscreen_buildingst: return "viewscreen_buildingst"; - case DF_Type::viewscreen_choose_start_sitest: return "viewscreen_choose_start_sitest"; - case DF_Type::viewscreen_choose_start_sitest__T_finder: return "viewscreen_choose_start_sitest__T_finder"; - case DF_Type::viewscreen_choose_start_sitest__T_page: return "viewscreen_choose_start_sitest__T_page"; - case DF_Type::viewscreen_civlistst: return "viewscreen_civlistst"; - case DF_Type::viewscreen_civlistst__T_artifact_details: return "viewscreen_civlistst__T_artifact_details"; - case DF_Type::viewscreen_civlistst__T_page: return "viewscreen_civlistst__T_page"; - case DF_Type::viewscreen_civlistst__T_rumors: return "viewscreen_civlistst__T_rumors"; - case DF_Type::viewscreen_civlistst__T_rumors__T_type: return "viewscreen_civlistst__T_rumors__T_type"; - case DF_Type::viewscreen_civlistst__T_unk_cache: return "viewscreen_civlistst__T_unk_cache"; - case DF_Type::viewscreen_civlistst__T_unk_cache__T_tmp1: return "viewscreen_civlistst__T_unk_cache__T_tmp1"; - case DF_Type::viewscreen_civlistst__T_unk_cache__T_tmp2: return "viewscreen_civlistst__T_unk_cache__T_tmp2"; - case DF_Type::viewscreen_createquotast: return "viewscreen_createquotast"; - case DF_Type::viewscreen_customize_unitst: return "viewscreen_customize_unitst"; - case DF_Type::viewscreen_dungeon_monsterstatusst: return "viewscreen_dungeon_monsterstatusst"; - case DF_Type::viewscreen_dungeon_wrestlest: return "viewscreen_dungeon_wrestlest"; - case DF_Type::viewscreen_dungeon_wrestlest__T_unk1: return "viewscreen_dungeon_wrestlest__T_unk1"; - case DF_Type::viewscreen_dungeonmodest: return "viewscreen_dungeonmodest"; - case DF_Type::viewscreen_dwarfmodest: return "viewscreen_dwarfmodest"; - case DF_Type::viewscreen_entityst: return "viewscreen_entityst"; - case DF_Type::viewscreen_export_graphical_mapst: return "viewscreen_export_graphical_mapst"; - case DF_Type::viewscreen_export_regionst: return "viewscreen_export_regionst"; - case DF_Type::viewscreen_export_regionst__T_unk1: return "viewscreen_export_regionst__T_unk1"; - case DF_Type::viewscreen_game_cleanerst: return "viewscreen_game_cleanerst"; - case DF_Type::viewscreen_game_cleanerst__T_state: return "viewscreen_game_cleanerst__T_state"; - case DF_Type::viewscreen_image_creator_mode: return "viewscreen_image_creator_mode"; - case DF_Type::viewscreen_image_creatorst: return "viewscreen_image_creatorst"; - case DF_Type::viewscreen_image_creatorst__T_artifacts: return "viewscreen_image_creatorst__T_artifacts"; - case DF_Type::viewscreen_image_creatorst__T_descriptions: return "viewscreen_image_creatorst__T_descriptions"; - case DF_Type::viewscreen_image_creatorst__T_entities: return "viewscreen_image_creatorst__T_entities"; - case DF_Type::viewscreen_image_creatorst__T_objects: return "viewscreen_image_creatorst__T_objects"; - case DF_Type::viewscreen_image_creatorst__T_plants: return "viewscreen_image_creatorst__T_plants"; - case DF_Type::viewscreen_image_creatorst__T_shapes: return "viewscreen_image_creatorst__T_shapes"; - case DF_Type::viewscreen_image_creatorst__T_sites: return "viewscreen_image_creatorst__T_sites"; - case DF_Type::viewscreen_image_creatorst__T_trees: return "viewscreen_image_creatorst__T_trees"; - case DF_Type::viewscreen_itemst: return "viewscreen_itemst"; - case DF_Type::viewscreen_joblistst: return "viewscreen_joblistst"; - case DF_Type::viewscreen_jobmanagementst: return "viewscreen_jobmanagementst"; - case DF_Type::viewscreen_jobst: return "viewscreen_jobst"; - case DF_Type::viewscreen_justicest: return "viewscreen_justicest"; - case DF_Type::viewscreen_justicest__T_cur_column: return "viewscreen_justicest__T_cur_column"; - case DF_Type::viewscreen_kitchenpref_page: return "viewscreen_kitchenpref_page"; - case DF_Type::viewscreen_kitchenprefst: return "viewscreen_kitchenprefst"; - case DF_Type::viewscreen_layer: return "viewscreen_layer"; - case DF_Type::viewscreen_layer_arena_creaturest: return "viewscreen_layer_arena_creaturest"; - case DF_Type::viewscreen_layer_assigntradest: return "viewscreen_layer_assigntradest"; - case DF_Type::viewscreen_layer_choose_language_namest: return "viewscreen_layer_choose_language_namest"; - case DF_Type::viewscreen_layer_choose_language_namest__T_current_component: return "viewscreen_layer_choose_language_namest__T_current_component"; - case DF_Type::viewscreen_layer_currencyst: return "viewscreen_layer_currencyst"; - case DF_Type::viewscreen_layer_export_play_mapst: return "viewscreen_layer_export_play_mapst"; - case DF_Type::viewscreen_layer_militaryst: return "viewscreen_layer_militaryst"; - case DF_Type::viewscreen_layer_militaryst__T_ammo: return "viewscreen_layer_militaryst__T_ammo"; - case DF_Type::viewscreen_layer_militaryst__T_ammo__T_add_item: return "viewscreen_layer_militaryst__T_ammo__T_add_item"; - case DF_Type::viewscreen_layer_militaryst__T_ammo__T_material: return "viewscreen_layer_militaryst__T_ammo__T_material"; - case DF_Type::viewscreen_layer_militaryst__T_equip: return "viewscreen_layer_militaryst__T_equip"; - case DF_Type::viewscreen_layer_militaryst__T_equip__T_add_item: return "viewscreen_layer_militaryst__T_equip__T_add_item"; - case DF_Type::viewscreen_layer_militaryst__T_equip__T_assigned: return "viewscreen_layer_militaryst__T_equip__T_assigned"; - case DF_Type::viewscreen_layer_militaryst__T_equip__T_color: return "viewscreen_layer_militaryst__T_equip__T_color"; - case DF_Type::viewscreen_layer_militaryst__T_equip__T_edit_mode: return "viewscreen_layer_militaryst__T_equip__T_edit_mode"; - case DF_Type::viewscreen_layer_militaryst__T_equip__T_material: return "viewscreen_layer_militaryst__T_equip__T_material"; - case DF_Type::viewscreen_layer_militaryst__T_equip__T_mode: return "viewscreen_layer_militaryst__T_equip__T_mode"; - case DF_Type::viewscreen_layer_militaryst__T_equip__T_uniform: return "viewscreen_layer_militaryst__T_equip__T_uniform"; - case DF_Type::viewscreen_layer_militaryst__T_page: return "viewscreen_layer_militaryst__T_page"; - case DF_Type::viewscreen_layer_militaryst__T_positions: return "viewscreen_layer_militaryst__T_positions"; - case DF_Type::viewscreen_layer_militaryst__T_squad_members: return "viewscreen_layer_militaryst__T_squad_members"; - case DF_Type::viewscreen_layer_militaryst__T_squads: return "viewscreen_layer_militaryst__T_squads"; - case DF_Type::viewscreen_layer_musicsoundst: return "viewscreen_layer_musicsoundst"; - case DF_Type::viewscreen_layer_noblelistst: return "viewscreen_layer_noblelistst"; - case DF_Type::viewscreen_layer_noblelistst__T_candidates: return "viewscreen_layer_noblelistst__T_candidates"; - case DF_Type::viewscreen_layer_noblelistst__T_info: return "viewscreen_layer_noblelistst__T_info"; - case DF_Type::viewscreen_layer_noblelistst__T_mode: return "viewscreen_layer_noblelistst__T_mode"; - case DF_Type::viewscreen_layer_overall_healthst: return "viewscreen_layer_overall_healthst"; - case DF_Type::viewscreen_layer_reactionst: return "viewscreen_layer_reactionst"; - case DF_Type::viewscreen_layer_squad_schedulest: return "viewscreen_layer_squad_schedulest"; - case DF_Type::viewscreen_layer_stockpilest: return "viewscreen_layer_stockpilest"; - case DF_Type::viewscreen_layer_stone_restrictionst: return "viewscreen_layer_stone_restrictionst"; - case DF_Type::viewscreen_layer_unit_actionst: return "viewscreen_layer_unit_actionst"; - case DF_Type::viewscreen_layer_unit_healthst: return "viewscreen_layer_unit_healthst"; - case DF_Type::viewscreen_layer_unit_relationshipst: return "viewscreen_layer_unit_relationshipst"; - case DF_Type::viewscreen_layer_world_gen_param_presetst: return "viewscreen_layer_world_gen_param_presetst"; - case DF_Type::viewscreen_layer_world_gen_paramst: return "viewscreen_layer_world_gen_paramst"; - case DF_Type::viewscreen_layer_world_gen_paramst__T_unk1: return "viewscreen_layer_world_gen_paramst__T_unk1"; - case DF_Type::viewscreen_legendsst: return "viewscreen_legendsst"; - case DF_Type::viewscreen_legendsst__T_anon_7: return "viewscreen_legendsst__T_anon_7"; - case DF_Type::viewscreen_legendsst__T_anon_7__T_anon_3: return "viewscreen_legendsst__T_anon_7__T_anon_3"; - case DF_Type::viewscreen_legendsst__T_cur_page: return "viewscreen_legendsst__T_cur_page"; - case DF_Type::viewscreen_loadgamest: return "viewscreen_loadgamest"; - case DF_Type::viewscreen_locationsst: return "viewscreen_locationsst"; - case DF_Type::viewscreen_locationsst__T_in_edit: return "viewscreen_locationsst__T_in_edit"; - case DF_Type::viewscreen_locationsst__T_menu: return "viewscreen_locationsst__T_menu"; - case DF_Type::viewscreen_meetingst: return "viewscreen_meetingst"; - case DF_Type::viewscreen_movieplayerst: return "viewscreen_movieplayerst"; - case DF_Type::viewscreen_new_regionst: return "viewscreen_new_regionst"; - case DF_Type::viewscreen_noblest: return "viewscreen_noblest"; - case DF_Type::viewscreen_optionst: return "viewscreen_optionst"; - case DF_Type::viewscreen_optionst__T_options: return "viewscreen_optionst__T_options"; - case DF_Type::viewscreen_overallstatusst: return "viewscreen_overallstatusst"; - case DF_Type::viewscreen_overallstatusst__T_visible_pages: return "viewscreen_overallstatusst__T_visible_pages"; - case DF_Type::viewscreen_petitionsst: return "viewscreen_petitionsst"; - case DF_Type::viewscreen_petst: return "viewscreen_petst"; - case DF_Type::viewscreen_petst__T_animal: return "viewscreen_petst__T_animal"; - case DF_Type::viewscreen_petst__T_mode: return "viewscreen_petst__T_mode"; - case DF_Type::viewscreen_petst__T_trainer_mode: return "viewscreen_petst__T_trainer_mode"; - case DF_Type::viewscreen_pricest: return "viewscreen_pricest"; - case DF_Type::viewscreen_reportlistst: return "viewscreen_reportlistst"; - case DF_Type::viewscreen_requestagreementst: return "viewscreen_requestagreementst"; - case DF_Type::viewscreen_savegamest: return "viewscreen_savegamest"; - case DF_Type::viewscreen_selectitemst: return "viewscreen_selectitemst"; - case DF_Type::viewscreen_setupadventurest: return "viewscreen_setupadventurest"; - case DF_Type::viewscreen_setupadventurest__T_background_type: return "viewscreen_setupadventurest__T_background_type"; - case DF_Type::viewscreen_setupadventurest__T_page: return "viewscreen_setupadventurest__T_page"; - case DF_Type::viewscreen_setupadventurest__T_races_info: return "viewscreen_setupadventurest__T_races_info"; - case DF_Type::viewscreen_setupadventurest__T_sel_trait_column: return "viewscreen_setupadventurest__T_sel_trait_column"; - case DF_Type::viewscreen_setupdwarfgamest: return "viewscreen_setupdwarfgamest"; - case DF_Type::viewscreen_setupdwarfgamest__T_animals: return "viewscreen_setupdwarfgamest__T_animals"; - case DF_Type::viewscreen_setupdwarfgamest__T_choice_types: return "viewscreen_setupdwarfgamest__T_choice_types"; - case DF_Type::viewscreen_setupdwarfgamest__T_mode: return "viewscreen_setupdwarfgamest__T_mode"; - case DF_Type::viewscreen_setupdwarfgamest__T_unk_v43: return "viewscreen_setupdwarfgamest__T_unk_v43"; - case DF_Type::viewscreen_setupdwarfgamest__T_unk_v43__T_unk_v43_sub9: return "viewscreen_setupdwarfgamest__T_unk_v43__T_unk_v43_sub9"; - case DF_Type::viewscreen_storesst: return "viewscreen_storesst"; - case DF_Type::viewscreen_textviewerst: return "viewscreen_textviewerst"; - case DF_Type::viewscreen_textviewerst__T_formatted_text: return "viewscreen_textviewerst__T_formatted_text"; - case DF_Type::viewscreen_textviewerst__T_formatted_text__T_flags: return "viewscreen_textviewerst__T_formatted_text__T_flags"; - case DF_Type::viewscreen_titlest: return "viewscreen_titlest"; - case DF_Type::viewscreen_titlest__T_menu_line_id: return "viewscreen_titlest__T_menu_line_id"; - case DF_Type::viewscreen_titlest__T_sel_subpage: return "viewscreen_titlest__T_sel_subpage"; - case DF_Type::viewscreen_titlest__T_start_savegames: return "viewscreen_titlest__T_start_savegames"; - case DF_Type::viewscreen_topicmeeting_fill_land_holder_positionsst: return "viewscreen_topicmeeting_fill_land_holder_positionsst"; - case DF_Type::viewscreen_topicmeeting_takerequestsst: return "viewscreen_topicmeeting_takerequestsst"; - case DF_Type::viewscreen_topicmeetingst: return "viewscreen_topicmeetingst"; - case DF_Type::viewscreen_tradeagreementst: return "viewscreen_tradeagreementst"; - case DF_Type::viewscreen_tradegoodsst: return "viewscreen_tradegoodsst"; - case DF_Type::viewscreen_tradelistst: return "viewscreen_tradelistst"; - case DF_Type::viewscreen_treasurelistst: return "viewscreen_treasurelistst"; - case DF_Type::viewscreen_unitlist_page: return "viewscreen_unitlist_page"; - case DF_Type::viewscreen_unitlistst: return "viewscreen_unitlistst"; - case DF_Type::viewscreen_unitst: return "viewscreen_unitst"; - case DF_Type::viewscreen_update_regionst: return "viewscreen_update_regionst"; - case DF_Type::viewscreen_wagesst: return "viewscreen_wagesst"; - case DF_Type::viewscreen_workquota_conditionst: return "viewscreen_workquota_conditionst"; - case DF_Type::viewscreen_workquota_conditionst__T_mode: return "viewscreen_workquota_conditionst__T_mode"; - case DF_Type::viewscreen_workquota_conditionst__T_traits: return "viewscreen_workquota_conditionst__T_traits"; - case DF_Type::viewscreen_workquota_conditionst__T_traits__T_flags: return "viewscreen_workquota_conditionst__T_traits__T_flags"; - case DF_Type::viewscreen_workquota_detailsst: return "viewscreen_workquota_detailsst"; - case DF_Type::viewscreen_workshop_profilest: return "viewscreen_workshop_profilest"; - case DF_Type::viewscreen_workshop_profilest__T_tab: return "viewscreen_workshop_profilest__T_tab"; - case DF_Type::weapon_attack: return "weapon_attack"; - case DF_Type::weapon_attack__T_flags: return "weapon_attack__T_flags"; - case DF_Type::weapon_flags: return "weapon_flags"; - case DF_Type::weather_type: return "weather_type"; - case DF_Type::web_cluster: return "web_cluster"; - case DF_Type::widget_menu: return "widget_menu"; - case DF_Type::widget_textbox: return "widget_textbox"; - case DF_Type::workshop_profile: return "workshop_profile"; - case DF_Type::workshop_type: return "workshop_type"; - case DF_Type::world: return "world"; - case DF_Type::world__T_activities: return "world__T_activities"; - case DF_Type::world__T_agreements: return "world__T_agreements"; - case DF_Type::world__T_arena_settings: return "world__T_arena_settings"; - case DF_Type::world__T_arena_spawn: return "world__T_arena_spawn"; - case DF_Type::world__T_arena_spawn__T_equipment: return "world__T_arena_spawn__T_equipment"; - case DF_Type::world__T_arena_spawn__T_item_types: return "world__T_arena_spawn__T_item_types"; - case DF_Type::world__T_armies: return "world__T_armies"; - case DF_Type::world__T_army_controllers: return "world__T_army_controllers"; - case DF_Type::world__T_army_tracking_info: return "world__T_army_tracking_info"; - case DF_Type::world__T_artifacts: return "world__T_artifacts"; - case DF_Type::world__T_belief_systems: return "world__T_belief_systems"; - case DF_Type::world__T_crimes: return "world__T_crimes"; - case DF_Type::world__T_cultural_identities: return "world__T_cultural_identities"; - case DF_Type::world__T_cur_savegame: return "world__T_cur_savegame"; - case DF_Type::world__T_dance_forms: return "world__T_dance_forms"; - case DF_Type::world__T_enemy_status_cache: return "world__T_enemy_status_cache"; - case DF_Type::world__T_entities: return "world__T_entities"; - case DF_Type::world__T_features: return "world__T_features"; - case DF_Type::world__T_flow_engine: return "world__T_flow_engine"; - case DF_Type::world__T_flow_guides: return "world__T_flow_guides"; - case DF_Type::world__T_formations: return "world__T_formations"; - case DF_Type::world__T_identities: return "world__T_identities"; - case DF_Type::world__T_incidents: return "world__T_incidents"; - case DF_Type::world__T_interaction_instances: return "world__T_interaction_instances"; - case DF_Type::world__T_items: return "world__T_items"; - case DF_Type::world__T_languages: return "world__T_languages"; - case DF_Type::world__T_map: return "world__T_map"; - case DF_Type::world__T_map_extras: return "world__T_map_extras"; - case DF_Type::world__T_math: return "world__T_math"; - case DF_Type::world__T_math__T_approx: return "world__T_math__T_approx"; - case DF_Type::world__T_musical_forms: return "world__T_musical_forms"; - case DF_Type::world__T_nemesis: return "world__T_nemesis"; - case DF_Type::world__T_occupations: return "world__T_occupations"; - case DF_Type::world__T_pathfinder: return "world__T_pathfinder"; - case DF_Type::world__T_pathfinder__T_boundary_heap: return "world__T_pathfinder__T_boundary_heap"; - case DF_Type::world__T_plants: return "world__T_plants"; - case DF_Type::world__T_poetic_forms: return "world__T_poetic_forms"; - case DF_Type::world__T_profession_skills: return "world__T_profession_skills"; - case DF_Type::world__T_rhythms: return "world__T_rhythms"; - case DF_Type::world__T_scales: return "world__T_scales"; - case DF_Type::world__T_schedules: return "world__T_schedules"; - case DF_Type::world__T_squads: return "world__T_squads"; - case DF_Type::world__T_status: return "world__T_status"; - case DF_Type::world__T_status__T_flags: return "world__T_status__T_flags"; - case DF_Type::world__T_status__T_slots: return "world__T_status__T_slots"; - case DF_Type::world__T_status__T_slots__T_flags: return "world__T_status__T_slots__T_flags"; - case DF_Type::world__T_stockpile: return "world__T_stockpile"; - case DF_Type::world__T_stockpile__T_simple1: return "world__T_stockpile__T_simple1"; - case DF_Type::world__T_stockpile__T_simple2: return "world__T_stockpile__T_simple2"; - case DF_Type::world__T_stockpile__T_simple3: return "world__T_stockpile__T_simple3"; - case DF_Type::world__T_units: return "world__T_units"; - case DF_Type::world__T_unk_131ec0: return "world__T_unk_131ec0"; - case DF_Type::world__T_unk_131ef0: return "world__T_unk_131ef0"; - case DF_Type::world__T_unk_131ef0__T_unk_2: return "world__T_unk_131ef0__T_unk_2"; - case DF_Type::world__T_unk_19325c: return "world__T_unk_19325c"; - case DF_Type::world__T_unk_19325c__T_anon_1: return "world__T_unk_19325c__T_anon_1"; - case DF_Type::world__T_unk_19325c__T_anon_2: return "world__T_unk_19325c__T_anon_2"; - case DF_Type::world__T_unk_19325c__T_anon_3: return "world__T_unk_19325c__T_anon_3"; - case DF_Type::world__T_unk_59dc4: return "world__T_unk_59dc4"; - case DF_Type::world__T_unk_59dc4__T_unk1: return "world__T_unk_59dc4__T_unk1"; - case DF_Type::world__T_unk_v40_6: return "world__T_unk_v40_6"; - case DF_Type::world__T_vehicles: return "world__T_vehicles"; - case DF_Type::world__T_vermin: return "world__T_vermin"; - case DF_Type::world__T_worldgen: return "world__T_worldgen"; - case DF_Type::world__T_worldgen__T_worldgen_parms: return "world__T_worldgen__T_worldgen_parms"; - case DF_Type::world__T_worldgen_coord_buf: return "world__T_worldgen_coord_buf"; - case DF_Type::world__T_worldgen_status: return "world__T_worldgen_status"; - case DF_Type::world__T_written_contents: return "world__T_written_contents"; - case DF_Type::world_construction: return "world_construction"; - case DF_Type::world_construction_bridgest: return "world_construction_bridgest"; - case DF_Type::world_construction_roadst: return "world_construction_roadst"; - case DF_Type::world_construction_square: return "world_construction_square"; - case DF_Type::world_construction_square_bridgest: return "world_construction_square_bridgest"; - case DF_Type::world_construction_square_roadst: return "world_construction_square_roadst"; - case DF_Type::world_construction_square_tunnelst: return "world_construction_square_tunnelst"; - case DF_Type::world_construction_square_wallst: return "world_construction_square_wallst"; - case DF_Type::world_construction_tunnelst: return "world_construction_tunnelst"; - case DF_Type::world_construction_type: return "world_construction_type"; - case DF_Type::world_construction_wallst: return "world_construction_wallst"; - case DF_Type::world_dat_summary: return "world_dat_summary"; - case DF_Type::world_data: return "world_data"; - case DF_Type::world_data__T_constructions: return "world_data__T_constructions"; - case DF_Type::world_data__T_feature_map: return "world_data__T_feature_map"; - case DF_Type::world_data__T_feature_map__T_features: return "world_data__T_feature_map__T_features"; - case DF_Type::world_data__T_flip_latitude: return "world_data__T_flip_latitude"; - case DF_Type::world_data__T_freakish_weather: return "world_data__T_freakish_weather"; - case DF_Type::world_data__T_mountain_peaks: return "world_data__T_mountain_peaks"; - case DF_Type::world_data__T_unk_150: return "world_data__T_unk_150"; - case DF_Type::world_data__T_unk_150__T_unk_18: return "world_data__T_unk_150__T_unk_18"; - case DF_Type::world_data__T_unk_150__T_unk_28: return "world_data__T_unk_150__T_unk_28"; - case DF_Type::world_data__T_unk_150__T_unk_8: return "world_data__T_unk_150__T_unk_8"; - case DF_Type::world_data__T_unk_170: return "world_data__T_unk_170"; - case DF_Type::world_data__T_unk_170__T_unk_4: return "world_data__T_unk_170__T_unk_4"; - case DF_Type::world_data__T_unk_274: return "world_data__T_unk_274"; - case DF_Type::world_data__T_unk_274__T_unk_10: return "world_data__T_unk_274__T_unk_10"; - case DF_Type::world_data__T_unk_482f8: return "world_data__T_unk_482f8"; - case DF_Type::world_data__T_unk_b4: return "world_data__T_unk_b4"; - case DF_Type::world_gen_param_basest: return "world_gen_param_basest"; - case DF_Type::world_gen_param_charst: return "world_gen_param_charst"; - case DF_Type::world_gen_param_memberst: return "world_gen_param_memberst"; - case DF_Type::world_gen_param_seedst: return "world_gen_param_seedst"; - case DF_Type::world_gen_param_valuest: return "world_gen_param_valuest"; - case DF_Type::world_geo_biome: return "world_geo_biome"; - case DF_Type::world_geo_layer: return "world_geo_layer"; - case DF_Type::world_history: return "world_history"; - case DF_Type::world_history__T_event_collections: return "world_history__T_event_collections"; - case DF_Type::world_landmass: return "world_landmass"; - case DF_Type::world_object_data: return "world_object_data"; - case DF_Type::world_object_data__T_offloaded_buildings: return "world_object_data__T_offloaded_buildings"; - case DF_Type::world_object_data__T_offloaded_items: return "world_object_data__T_offloaded_items"; - case DF_Type::world_object_data__T_unk_94: return "world_object_data__T_unk_94"; - case DF_Type::world_population: return "world_population"; - case DF_Type::world_population___union7: return "world_population___union7"; - case DF_Type::world_population_ref: return "world_population_ref"; - case DF_Type::world_population_type: return "world_population_type"; - case DF_Type::world_raws: return "world_raws"; - case DF_Type::world_raws__T_bodyglosses: return "world_raws__T_bodyglosses"; - case DF_Type::world_raws__T_buildings: return "world_raws__T_buildings"; - case DF_Type::world_raws__T_descriptors: return "world_raws__T_descriptors"; - case DF_Type::world_raws__T_effects: return "world_raws__T_effects"; - case DF_Type::world_raws__T_itemdefs: return "world_raws__T_itemdefs"; - case DF_Type::world_raws__T_language: return "world_raws__T_language"; - case DF_Type::world_raws__T_plants: return "world_raws__T_plants"; - case DF_Type::world_raws__T_reactions: return "world_raws__T_reactions"; - case DF_Type::world_raws__T_syndromes: return "world_raws__T_syndromes"; - case DF_Type::world_region: return "world_region"; - case DF_Type::world_region_details: return "world_region_details"; - case DF_Type::world_region_details__T_edges: return "world_region_details__T_edges"; - case DF_Type::world_region_details__T_rivers_horizontal: return "world_region_details__T_rivers_horizontal"; - case DF_Type::world_region_details__T_rivers_vertical: return "world_region_details__T_rivers_vertical"; - case DF_Type::world_region_feature: return "world_region_feature"; - case DF_Type::world_region_type: return "world_region_type"; - case DF_Type::world_river: return "world_river"; - case DF_Type::world_site: return "world_site"; - case DF_Type::world_site__T_subtype_info: return "world_site__T_subtype_info"; - case DF_Type::world_site__T_unk_1: return "world_site__T_unk_1"; - case DF_Type::world_site__T_unk_118: return "world_site__T_unk_118"; - case DF_Type::world_site__T_unk_13c: return "world_site__T_unk_13c"; - case DF_Type::world_site__T_unk_188: return "world_site__T_unk_188"; - case DF_Type::world_site__T_unk_188__T_unk1: return "world_site__T_unk_188__T_unk1"; - case DF_Type::world_site__T_unk_1__T_units: return "world_site__T_unk_1__T_units"; - case DF_Type::world_site__T_unk_21c: return "world_site__T_unk_21c"; - case DF_Type::world_site__T_unk_v40_2: return "world_site__T_unk_v40_2"; - case DF_Type::world_site__T_unk_v40_4a: return "world_site__T_unk_v40_4a"; - case DF_Type::world_site__T_unk_v40_4b: return "world_site__T_unk_v40_4b"; - case DF_Type::world_site__T_unk_v40_4c: return "world_site__T_unk_v40_4c"; - case DF_Type::world_site__T_unk_v40_4d: return "world_site__T_unk_v40_4d"; - case DF_Type::world_site__T_unk_v40_4d__T_anon_2: return "world_site__T_unk_v40_4d__T_anon_2"; - case DF_Type::world_site__T_unk_v43_2: return "world_site__T_unk_v43_2"; - case DF_Type::world_site_flags: return "world_site_flags"; - case DF_Type::world_site_inhabitant: return "world_site_inhabitant"; - case DF_Type::world_site_realization: return "world_site_realization"; - case DF_Type::world_site_realization__T_areas: return "world_site_realization__T_areas"; - case DF_Type::world_site_realization__T_areas__T_type: return "world_site_realization__T_areas__T_type"; - case DF_Type::world_site_realization__T_building_map: return "world_site_realization__T_building_map"; - case DF_Type::world_site_realization__T_river_map: return "world_site_realization__T_river_map"; - case DF_Type::world_site_realization__T_unk_193bc: return "world_site_realization__T_unk_193bc"; - case DF_Type::world_site_realization__T_unk_193bc__T_unk_8: return "world_site_realization__T_unk_193bc__T_unk_8"; - case DF_Type::world_site_realization__T_unk_55e8: return "world_site_realization__T_unk_55e8"; - case DF_Type::world_site_realization__T_unk_55e8__T_unk_v40_2: return "world_site_realization__T_unk_55e8__T_unk_v40_2"; - case DF_Type::world_site_type: return "world_site_type"; - case DF_Type::world_site_unk130: return "world_site_unk130"; - case DF_Type::world_site_unk130__T_unk_4: return "world_site_unk130__T_unk_4"; - case DF_Type::world_underground_region: return "world_underground_region"; - case DF_Type::world_underground_region__T_type: return "world_underground_region__T_type"; - case DF_Type::world_unk_20: return "world_unk_20"; - case DF_Type::world_unk_20__T_anon_7: return "world_unk_20__T_anon_7"; - case DF_Type::world_unk_6c: return "world_unk_6c"; - case DF_Type::world_unk_9c: return "world_unk_9c"; - case DF_Type::world_unk_a8: return "world_unk_a8"; - case DF_Type::world_unk_b4: return "world_unk_b4"; - case DF_Type::world_unk_c0: return "world_unk_c0"; - case DF_Type::world_unk_c0__T_anon_7: return "world_unk_c0__T_anon_7"; - case DF_Type::worldgen_range_type: return "worldgen_range_type"; - case DF_Type::worldgen_region_type: return "worldgen_region_type"; - case DF_Type::wound_curse_info: return "wound_curse_info"; - case DF_Type::wound_damage_flags1: return "wound_damage_flags1"; - case DF_Type::wound_damage_flags2: return "wound_damage_flags2"; - case DF_Type::wound_effect_type: return "wound_effect_type"; - case DF_Type::written_content: return "written_content"; - case DF_Type::written_content_style: return "written_content_style"; - case DF_Type::written_content_type: return "written_content_type"; - case DF_Type::z_level_flags: return "z_level_flags"; - case DF_Type::zoom_commands: return "zoom_commands"; - } - return ""; -} -} + case DF_Type::abstract_building: return "abstract_building"; + case DF_Type::abstract_building__T_inhabitants: return "abstract_building__T_inhabitants"; + case DF_Type::abstract_building__T_unk1: return "abstract_building__T_unk1"; + case DF_Type::abstract_building_contents: return "abstract_building_contents"; + case DF_Type::abstract_building_dark_towerst: return "abstract_building_dark_towerst"; + case DF_Type::abstract_building_dungeonst: return "abstract_building_dungeonst"; + case DF_Type::abstract_building_dungeonst__T_dungeon_type: return "abstract_building_dungeonst__T_dungeon_type"; + case DF_Type::abstract_building_flags: return "abstract_building_flags"; + case DF_Type::abstract_building_inn_tavernst: return "abstract_building_inn_tavernst"; + case DF_Type::abstract_building_inn_tavernst__T_room_info: return "abstract_building_inn_tavernst__T_room_info"; + case DF_Type::abstract_building_keepst: return "abstract_building_keepst"; + case DF_Type::abstract_building_libraryst: return "abstract_building_libraryst"; + case DF_Type::abstract_building_marketst: return "abstract_building_marketst"; + case DF_Type::abstract_building_mead_hallst: return "abstract_building_mead_hallst"; + case DF_Type::abstract_building_templest: return "abstract_building_templest"; + case DF_Type::abstract_building_tombst: return "abstract_building_tombst"; + case DF_Type::abstract_building_type: return "abstract_building_type"; + case DF_Type::abstract_building_underworld_spirest: return "abstract_building_underworld_spirest"; + case DF_Type::abstract_building_unk: return "abstract_building_unk"; + case DF_Type::abstract_building_unk__T_anon_1: return "abstract_building_unk__T_anon_1"; + case DF_Type::active_script_var_longst: return "active_script_var_longst"; + case DF_Type::active_script_var_unitst: return "active_script_var_unitst"; + case DF_Type::active_script_varst: return "active_script_varst"; + case DF_Type::activity_entry: return "activity_entry"; + case DF_Type::activity_event: return "activity_event"; + case DF_Type::activity_event__T_flags: return "activity_event__T_flags"; + case DF_Type::activity_event__T_unk_v42_1: return "activity_event__T_unk_v42_1"; + case DF_Type::activity_event__T_unk_v42_2: return "activity_event__T_unk_v42_2"; + case DF_Type::activity_event_combat_trainingst: return "activity_event_combat_trainingst"; + case DF_Type::activity_event_conflictst: return "activity_event_conflictst"; + case DF_Type::activity_event_conflictst__T_sides: return "activity_event_conflictst__T_sides"; + case DF_Type::activity_event_conflictst__T_sides__T_enemies: return "activity_event_conflictst__T_sides__T_enemies"; + case DF_Type::activity_event_conversationst: return "activity_event_conversationst"; + case DF_Type::activity_event_conversationst__T_anon_6: return "activity_event_conversationst__T_anon_6"; + case DF_Type::activity_event_conversationst__T_flags2: return "activity_event_conversationst__T_flags2"; + case DF_Type::activity_event_conversationst__T_participants: return "activity_event_conversationst__T_participants"; + case DF_Type::activity_event_conversationst__T_turns: return "activity_event_conversationst__T_turns"; + case DF_Type::activity_event_conversationst__T_unk2: return "activity_event_conversationst__T_unk2"; + case DF_Type::activity_event_conversationst__T_unk_b4: return "activity_event_conversationst__T_unk_b4"; + case DF_Type::activity_event_copy_written_contentst: return "activity_event_copy_written_contentst"; + case DF_Type::activity_event_copy_written_contentst__T_flagsmaybe: return "activity_event_copy_written_contentst__T_flagsmaybe"; + case DF_Type::activity_event_discuss_topicst: return "activity_event_discuss_topicst"; + case DF_Type::activity_event_encounterst: return "activity_event_encounterst"; + case DF_Type::activity_event_encounterst__T_anon_1: return "activity_event_encounterst__T_anon_1"; + case DF_Type::activity_event_encounterst__T_anon_2: return "activity_event_encounterst__T_anon_2"; + case DF_Type::activity_event_fill_service_orderst: return "activity_event_fill_service_orderst"; + case DF_Type::activity_event_guardst: return "activity_event_guardst"; + case DF_Type::activity_event_harassmentst: return "activity_event_harassmentst"; + case DF_Type::activity_event_harassmentst__T_anon_2: return "activity_event_harassmentst__T_anon_2"; + case DF_Type::activity_event_individual_skill_drillst: return "activity_event_individual_skill_drillst"; + case DF_Type::activity_event_make_believest: return "activity_event_make_believest"; + case DF_Type::activity_event_participants: return "activity_event_participants"; + case DF_Type::activity_event_performancest: return "activity_event_performancest"; + case DF_Type::activity_event_performancest__T_participant_actions: return "activity_event_performancest__T_participant_actions"; + case DF_Type::activity_event_play_with_toyst: return "activity_event_play_with_toyst"; + case DF_Type::activity_event_play_with_toyst__T_unk: return "activity_event_play_with_toyst__T_unk"; + case DF_Type::activity_event_playst: return "activity_event_playst"; + case DF_Type::activity_event_ponder_topicst: return "activity_event_ponder_topicst"; + case DF_Type::activity_event_prayerst: return "activity_event_prayerst"; + case DF_Type::activity_event_ranged_practicest: return "activity_event_ranged_practicest"; + case DF_Type::activity_event_readst: return "activity_event_readst"; + case DF_Type::activity_event_researchst: return "activity_event_researchst"; + case DF_Type::activity_event_reunionst: return "activity_event_reunionst"; + case DF_Type::activity_event_skill_demonstrationst: return "activity_event_skill_demonstrationst"; + case DF_Type::activity_event_socializest: return "activity_event_socializest"; + case DF_Type::activity_event_sparringst: return "activity_event_sparringst"; + case DF_Type::activity_event_sparringst__T_groups: return "activity_event_sparringst__T_groups"; + case DF_Type::activity_event_store_objectst: return "activity_event_store_objectst"; + case DF_Type::activity_event_teach_topicst: return "activity_event_teach_topicst"; + case DF_Type::activity_event_training_sessionst: return "activity_event_training_sessionst"; + case DF_Type::activity_event_type: return "activity_event_type"; + case DF_Type::activity_event_worshipst: return "activity_event_worshipst"; + case DF_Type::activity_event_writest: return "activity_event_writest"; + case DF_Type::activity_info: return "activity_info"; + case DF_Type::activity_info__T_flags: return "activity_info__T_flags"; + case DF_Type::adventure_environment_ingest_from_containerst: return "adventure_environment_ingest_from_containerst"; + case DF_Type::adventure_environment_ingest_materialst: return "adventure_environment_ingest_materialst"; + case DF_Type::adventure_environment_optionst: return "adventure_environment_optionst"; + case DF_Type::adventure_environment_pickup_chop_treest: return "adventure_environment_pickup_chop_treest"; + case DF_Type::adventure_environment_pickup_ignite_vegst: return "adventure_environment_pickup_ignite_vegst"; + case DF_Type::adventure_environment_pickup_make_campfirest: return "adventure_environment_pickup_make_campfirest"; + case DF_Type::adventure_environment_pickup_vermin_eventst: return "adventure_environment_pickup_vermin_eventst"; + case DF_Type::adventure_environment_place_in_bld_containerst: return "adventure_environment_place_in_bld_containerst"; + case DF_Type::adventure_environment_place_in_it_containerst: return "adventure_environment_place_in_it_containerst"; + case DF_Type::adventure_environment_unit_suck_bloodst: return "adventure_environment_unit_suck_bloodst"; + case DF_Type::adventure_item_interact_choicest: return "adventure_item_interact_choicest"; + case DF_Type::adventure_item_interact_fill_from_containerst: return "adventure_item_interact_fill_from_containerst"; + case DF_Type::adventure_item_interact_fill_with_materialst: return "adventure_item_interact_fill_with_materialst"; + case DF_Type::adventure_item_interact_give_namest: return "adventure_item_interact_give_namest"; + case DF_Type::adventure_item_interact_heat_from_tilest: return "adventure_item_interact_heat_from_tilest"; + case DF_Type::adventure_item_interact_pull_outst: return "adventure_item_interact_pull_outst"; + case DF_Type::adventure_item_interact_readst: return "adventure_item_interact_readst"; + case DF_Type::adventure_item_interact_strugglest: return "adventure_item_interact_strugglest"; + case DF_Type::adventure_log_item: return "adventure_log_item"; + case DF_Type::adventure_movement_attack_creaturest: return "adventure_movement_attack_creaturest"; + case DF_Type::adventure_movement_building_interactst: return "adventure_movement_building_interactst"; + case DF_Type::adventure_movement_climbst: return "adventure_movement_climbst"; + case DF_Type::adventure_movement_hold_itemst: return "adventure_movement_hold_itemst"; + case DF_Type::adventure_movement_hold_tilest: return "adventure_movement_hold_tilest"; + case DF_Type::adventure_movement_item_interact_guidest: return "adventure_movement_item_interact_guidest"; + case DF_Type::adventure_movement_item_interact_pushst: return "adventure_movement_item_interact_pushst"; + case DF_Type::adventure_movement_item_interact_ridest: return "adventure_movement_item_interact_ridest"; + case DF_Type::adventure_movement_item_interactst: return "adventure_movement_item_interactst"; + case DF_Type::adventure_movement_movest: return "adventure_movement_movest"; + case DF_Type::adventure_movement_optionst: return "adventure_movement_optionst"; + case DF_Type::adventure_movement_release_hold_itemst: return "adventure_movement_release_hold_itemst"; + case DF_Type::adventure_movement_release_hold_tilest: return "adventure_movement_release_hold_tilest"; + case DF_Type::adventure_option_eat_item_contaminantst: return "adventure_option_eat_item_contaminantst"; + case DF_Type::adventure_option_eat_unit_contaminantst: return "adventure_option_eat_unit_contaminantst"; + case DF_Type::adventure_option_view_contaminantst: return "adventure_option_view_contaminantst"; + case DF_Type::adventure_optionst: return "adventure_optionst"; + case DF_Type::adventurer_attribute_level: return "adventurer_attribute_level"; + case DF_Type::agreement: return "agreement"; + case DF_Type::agreement__T_details: return "agreement__T_details"; + case DF_Type::agreement__T_details__T_data: return "agreement__T_details__T_data"; + case DF_Type::agreement__T_details__T_data__T_data0: return "agreement__T_details__T_data__T_data0"; + case DF_Type::agreement__T_details__T_data__T_data1: return "agreement__T_details__T_data__T_data1"; + case DF_Type::agreement__T_parties: return "agreement__T_parties"; + case DF_Type::agreement__T_parties__T_anon_1: return "agreement__T_parties__T_anon_1"; + case DF_Type::ammo_flags: return "ammo_flags"; + case DF_Type::animal_training_level: return "animal_training_level"; + case DF_Type::announcement_flags: return "announcement_flags"; + case DF_Type::announcement_type: return "announcement_type"; + case DF_Type::announcements: return "announcements"; + case DF_Type::appearance_modifier_growth_interval: return "appearance_modifier_growth_interval"; + case DF_Type::appearance_modifier_type: return "appearance_modifier_type"; + case DF_Type::armor_flags: return "armor_flags"; + case DF_Type::armor_general_flags: return "armor_general_flags"; + case DF_Type::armor_properties: return "armor_properties"; + case DF_Type::army: return "army"; + case DF_Type::army__T_members: return "army__T_members"; + case DF_Type::army__T_unk_2c: return "army__T_unk_2c"; + case DF_Type::army_controller: return "army_controller"; + case DF_Type::army_controller__T_unk_64: return "army_controller__T_unk_64"; + case DF_Type::army_controller_sub1: return "army_controller_sub1"; + case DF_Type::army_controller_sub11: return "army_controller_sub11"; + case DF_Type::army_controller_sub11__T_anon_3: return "army_controller_sub11__T_anon_3"; + case DF_Type::army_controller_sub12: return "army_controller_sub12"; + case DF_Type::army_controller_sub12__T_anon_4: return "army_controller_sub12__T_anon_4"; + case DF_Type::army_controller_sub13: return "army_controller_sub13"; + case DF_Type::army_controller_sub13__T_anon_4: return "army_controller_sub13__T_anon_4"; + case DF_Type::army_controller_sub14: return "army_controller_sub14"; + case DF_Type::army_controller_sub14__T_anon_4: return "army_controller_sub14__T_anon_4"; + case DF_Type::army_controller_sub15: return "army_controller_sub15"; + case DF_Type::army_controller_sub15__T_anon_3: return "army_controller_sub15__T_anon_3"; + case DF_Type::army_controller_sub16: return "army_controller_sub16"; + case DF_Type::army_controller_sub17: return "army_controller_sub17"; + case DF_Type::army_controller_sub18: return "army_controller_sub18"; + case DF_Type::army_controller_sub2: return "army_controller_sub2"; + case DF_Type::army_controller_sub2__T_anon_5: return "army_controller_sub2__T_anon_5"; + case DF_Type::army_controller_sub4: return "army_controller_sub4"; + case DF_Type::army_controller_sub4__T_unk_2: return "army_controller_sub4__T_unk_2"; + case DF_Type::army_controller_sub5: return "army_controller_sub5"; + case DF_Type::army_controller_sub6: return "army_controller_sub6"; + case DF_Type::army_controller_sub7: return "army_controller_sub7"; + case DF_Type::army_controller_sub7__T_anon_3: return "army_controller_sub7__T_anon_3"; + case DF_Type::army_flags: return "army_flags"; + case DF_Type::art_facet_type: return "art_facet_type"; + case DF_Type::art_image: return "art_image"; + case DF_Type::art_image_chunk: return "art_image_chunk"; + case DF_Type::art_image_element: return "art_image_element"; + case DF_Type::art_image_element_creaturest: return "art_image_element_creaturest"; + case DF_Type::art_image_element_itemst: return "art_image_element_itemst"; + case DF_Type::art_image_element_plantst: return "art_image_element_plantst"; + case DF_Type::art_image_element_shapest: return "art_image_element_shapest"; + case DF_Type::art_image_element_treest: return "art_image_element_treest"; + case DF_Type::art_image_element_type: return "art_image_element_type"; + case DF_Type::art_image_property: return "art_image_property"; + case DF_Type::art_image_property_intransitive_verbst: return "art_image_property_intransitive_verbst"; + case DF_Type::art_image_property_transitive_verbst: return "art_image_property_transitive_verbst"; + case DF_Type::art_image_property_type: return "art_image_property_type"; + case DF_Type::art_image_property_verb: return "art_image_property_verb"; + case DF_Type::art_image_ref: return "art_image_ref"; + case DF_Type::artifact_record: return "artifact_record"; + case DF_Type::assign_trade_status: return "assign_trade_status"; + case DF_Type::assign_trade_status__T_status: return "assign_trade_status__T_status"; + case DF_Type::assume_identity_mode: return "assume_identity_mode"; + case DF_Type::barrack_preference_category: return "barrack_preference_category"; + case DF_Type::belief_system: return "belief_system"; + case DF_Type::biome_type: return "biome_type"; + case DF_Type::block_burrow: return "block_burrow"; + case DF_Type::block_burrow_link: return "block_burrow_link"; + case DF_Type::block_flags: return "block_flags"; + case DF_Type::block_square_event: return "block_square_event"; + case DF_Type::block_square_event_designation_priorityst: return "block_square_event_designation_priorityst"; + case DF_Type::block_square_event_frozen_liquidst: return "block_square_event_frozen_liquidst"; + case DF_Type::block_square_event_grassst: return "block_square_event_grassst"; + case DF_Type::block_square_event_item_spatterst: return "block_square_event_item_spatterst"; + case DF_Type::block_square_event_material_spatterst: return "block_square_event_material_spatterst"; + case DF_Type::block_square_event_mineralst: return "block_square_event_mineralst"; + case DF_Type::block_square_event_mineralst__T_flags: return "block_square_event_mineralst__T_flags"; + case DF_Type::block_square_event_spoorst: return "block_square_event_spoorst"; + case DF_Type::block_square_event_type: return "block_square_event_type"; + case DF_Type::block_square_event_world_constructionst: return "block_square_event_world_constructionst"; + case DF_Type::body_appearance_modifier: return "body_appearance_modifier"; + case DF_Type::body_component_info: return "body_component_info"; + case DF_Type::body_detail_plan: return "body_detail_plan"; + case DF_Type::body_layer_status: return "body_layer_status"; + case DF_Type::body_part_layer_flags: return "body_part_layer_flags"; + case DF_Type::body_part_layer_raw: return "body_part_layer_raw"; + case DF_Type::body_part_raw: return "body_part_raw"; + case DF_Type::body_part_raw_flags: return "body_part_raw_flags"; + case DF_Type::body_part_status: return "body_part_status"; + case DF_Type::body_part_template: return "body_part_template"; + case DF_Type::body_part_template_contype: return "body_part_template_contype"; + case DF_Type::body_part_template_flags: return "body_part_template_flags"; + case DF_Type::body_size_info: return "body_size_info"; + case DF_Type::body_template: return "body_template"; + case DF_Type::bp_appearance_modifier: return "bp_appearance_modifier"; + case DF_Type::breath_attack_type: return "breath_attack_type"; + case DF_Type::build_req_choice_genst: return "build_req_choice_genst"; + case DF_Type::build_req_choice_specst: return "build_req_choice_specst"; + case DF_Type::build_req_choice_type: return "build_req_choice_type"; + case DF_Type::build_req_choicest: return "build_req_choicest"; + case DF_Type::building: return "building"; + case DF_Type::building__T_activities: return "building__T_activities"; + case DF_Type::building__T_job_claim_suppress: return "building__T_job_claim_suppress"; + case DF_Type::building_actual: return "building_actual"; + case DF_Type::building_actual__T_contained_items: return "building_actual__T_contained_items"; + case DF_Type::building_animaltrapst: return "building_animaltrapst"; + case DF_Type::building_archerytargetst: return "building_archerytargetst"; + case DF_Type::building_archerytargetst__T_archery_direction: return "building_archerytargetst__T_archery_direction"; + case DF_Type::building_armorstandst: return "building_armorstandst"; + case DF_Type::building_axle_horizontalst: return "building_axle_horizontalst"; + case DF_Type::building_axle_verticalst: return "building_axle_verticalst"; + case DF_Type::building_bars_floorst: return "building_bars_floorst"; + case DF_Type::building_bars_verticalst: return "building_bars_verticalst"; + case DF_Type::building_bedst: return "building_bedst"; + case DF_Type::building_bedst__T_bed_flags: return "building_bedst__T_bed_flags"; + case DF_Type::building_bookcasest: return "building_bookcasest"; + case DF_Type::building_boxst: return "building_boxst"; + case DF_Type::building_bridgest: return "building_bridgest"; + case DF_Type::building_bridgest__T_direction: return "building_bridgest__T_direction"; + case DF_Type::building_cabinetst: return "building_cabinetst"; + case DF_Type::building_cagest: return "building_cagest"; + case DF_Type::building_cagest__T_cage_flags: return "building_cagest__T_cage_flags"; + case DF_Type::building_chainst: return "building_chainst"; + case DF_Type::building_chainst__T_chain_flags: return "building_chainst__T_chain_flags"; + case DF_Type::building_chairst: return "building_chairst"; + case DF_Type::building_civzonest: return "building_civzonest"; + case DF_Type::building_civzonest__T_gather_flags: return "building_civzonest__T_gather_flags"; + case DF_Type::building_civzonest__T_pit_flags: return "building_civzonest__T_pit_flags"; + case DF_Type::building_civzonest__T_zone_flags: return "building_civzonest__T_zone_flags"; + case DF_Type::building_coffinst: return "building_coffinst"; + case DF_Type::building_coffinst__T_burial_mode: return "building_coffinst__T_burial_mode"; + case DF_Type::building_constructionst: return "building_constructionst"; + case DF_Type::building_def: return "building_def"; + case DF_Type::building_def_furnacest: return "building_def_furnacest"; + case DF_Type::building_def_item: return "building_def_item"; + case DF_Type::building_def_workshopst: return "building_def_workshopst"; + case DF_Type::building_design: return "building_design"; + case DF_Type::building_design__T_flags: return "building_design__T_flags"; + case DF_Type::building_display_furniturest: return "building_display_furniturest"; + case DF_Type::building_doorst: return "building_doorst"; + case DF_Type::building_drawbuffer: return "building_drawbuffer"; + case DF_Type::building_extents: return "building_extents"; + case DF_Type::building_farmplotst: return "building_farmplotst"; + case DF_Type::building_flags: return "building_flags"; + case DF_Type::building_floodgatest: return "building_floodgatest"; + case DF_Type::building_furnacest: return "building_furnacest"; + case DF_Type::building_gear_assemblyst: return "building_gear_assemblyst"; + case DF_Type::building_gear_assemblyst__T_gear_flags: return "building_gear_assemblyst__T_gear_flags"; + case DF_Type::building_grate_floorst: return "building_grate_floorst"; + case DF_Type::building_grate_wallst: return "building_grate_wallst"; + case DF_Type::building_handler: return "building_handler"; + case DF_Type::building_hatchst: return "building_hatchst"; + case DF_Type::building_hivest: return "building_hivest"; + case DF_Type::building_instrumentst: return "building_instrumentst"; + case DF_Type::building_nest_boxst: return "building_nest_boxst"; + case DF_Type::building_nestst: return "building_nestst"; + case DF_Type::building_road_dirtst: return "building_road_dirtst"; + case DF_Type::building_road_pavedst: return "building_road_pavedst"; + case DF_Type::building_roadst: return "building_roadst"; + case DF_Type::building_rollersst: return "building_rollersst"; + case DF_Type::building_screw_pumpst: return "building_screw_pumpst"; + case DF_Type::building_shopst: return "building_shopst"; + case DF_Type::building_shopst__T_shop_flags: return "building_shopst__T_shop_flags"; + case DF_Type::building_siegeenginest: return "building_siegeenginest"; + case DF_Type::building_siegeenginest__T_action: return "building_siegeenginest__T_action"; + case DF_Type::building_siegeenginest__T_facing: return "building_siegeenginest__T_facing"; + case DF_Type::building_slabst: return "building_slabst"; + case DF_Type::building_squad_use: return "building_squad_use"; + case DF_Type::building_statuest: return "building_statuest"; + case DF_Type::building_stockpilest: return "building_stockpilest"; + case DF_Type::building_supportst: return "building_supportst"; + case DF_Type::building_supportst__T_support_flags: return "building_supportst__T_support_flags"; + case DF_Type::building_tablest: return "building_tablest"; + case DF_Type::building_tablest__T_table_flags: return "building_tablest__T_table_flags"; + case DF_Type::building_traction_benchst: return "building_traction_benchst"; + case DF_Type::building_tradedepotst: return "building_tradedepotst"; + case DF_Type::building_tradedepotst__T_trade_flags: return "building_tradedepotst__T_trade_flags"; + case DF_Type::building_trapst: return "building_trapst"; + case DF_Type::building_trapst__T_stop_flags: return "building_trapst__T_stop_flags"; + case DF_Type::building_type: return "building_type"; + case DF_Type::building_users: return "building_users"; + case DF_Type::building_wagonst: return "building_wagonst"; + case DF_Type::building_water_wheelst: return "building_water_wheelst"; + case DF_Type::building_weaponrackst: return "building_weaponrackst"; + case DF_Type::building_weaponst: return "building_weaponst"; + case DF_Type::building_wellst: return "building_wellst"; + case DF_Type::building_wellst__T_well_flags: return "building_wellst__T_well_flags"; + case DF_Type::building_windmillst: return "building_windmillst"; + case DF_Type::building_window_gemst: return "building_window_gemst"; + case DF_Type::building_window_glassst: return "building_window_glassst"; + case DF_Type::building_windowst: return "building_windowst"; + case DF_Type::building_workshopst: return "building_workshopst"; + case DF_Type::buildings_other_id: return "buildings_other_id"; + case DF_Type::builtin_mats: return "builtin_mats"; + case DF_Type::burrow: return "burrow"; + case DF_Type::campfire: return "campfire"; + case DF_Type::caravan_state: return "caravan_state"; + case DF_Type::caravan_state__T_flags: return "caravan_state__T_flags"; + case DF_Type::caravan_state__T_trade_state: return "caravan_state__T_trade_state"; + case DF_Type::caste_attack: return "caste_attack"; + case DF_Type::caste_attack__T_flags: return "caste_attack__T_flags"; + case DF_Type::caste_body_info: return "caste_body_info"; + case DF_Type::caste_body_info__T_extra_butcher_objects: return "caste_body_info__T_extra_butcher_objects"; + case DF_Type::caste_body_info__T_flags: return "caste_body_info__T_flags"; + case DF_Type::caste_body_info__T_interactions: return "caste_body_info__T_interactions"; + case DF_Type::caste_body_info__T_interactions__T_type: return "caste_body_info__T_interactions__T_type"; + case DF_Type::caste_clothing_item: return "caste_clothing_item"; + case DF_Type::caste_raw: return "caste_raw"; + case DF_Type::caste_raw__T_attributes: return "caste_raw__T_attributes"; + case DF_Type::caste_raw__T_bp_appearance: return "caste_raw__T_bp_appearance"; + case DF_Type::caste_raw__T_caste_profession_name: return "caste_raw__T_caste_profession_name"; + case DF_Type::caste_raw__T_extracts: return "caste_raw__T_extracts"; + case DF_Type::caste_raw__T_misc: return "caste_raw__T_misc"; + case DF_Type::caste_raw__T_personality: return "caste_raw__T_personality"; + case DF_Type::caste_raw__T_secretion: return "caste_raw__T_secretion"; + case DF_Type::caste_raw__T_shearable_tissue_layer: return "caste_raw__T_shearable_tissue_layer"; + case DF_Type::caste_raw__T_unknown2: return "caste_raw__T_unknown2"; + case DF_Type::caste_raw_flags: return "caste_raw_flags"; + case DF_Type::cave_column: return "cave_column"; + case DF_Type::cave_column_link: return "cave_column_link"; + case DF_Type::cave_column_rectangle: return "cave_column_rectangle"; + case DF_Type::cie_add_tag_mask1: return "cie_add_tag_mask1"; + case DF_Type::cie_add_tag_mask2: return "cie_add_tag_mask2"; + case DF_Type::civzone_type: return "civzone_type"; + case DF_Type::coin_batch: return "coin_batch"; + case DF_Type::coin_batch__T_image_back: return "coin_batch__T_image_back"; + case DF_Type::coin_batch__T_image_front: return "coin_batch__T_image_front"; + case DF_Type::color_modifier_raw: return "color_modifier_raw"; + case DF_Type::combat_report_event_type: return "combat_report_event_type"; + case DF_Type::conflict_level: return "conflict_level"; + case DF_Type::construction: return "construction"; + case DF_Type::construction_flags: return "construction_flags"; + case DF_Type::construction_type: return "construction_type"; + case DF_Type::conversation: return "conversation"; + case DF_Type::conversation__T_speech: return "conversation__T_speech"; + case DF_Type::conversation__T_state: return "conversation__T_state"; + case DF_Type::conversation_menu: return "conversation_menu"; + case DF_Type::coord: return "coord"; + case DF_Type::coord2d: return "coord2d"; + case DF_Type::coord2d_path: return "coord2d_path"; + case DF_Type::coord_path: return "coord_path"; + case DF_Type::coord_rect: return "coord_rect"; + case DF_Type::corpse_material_type: return "corpse_material_type"; + case DF_Type::craft_material_class: return "craft_material_class"; + case DF_Type::creation_zone_pwg_alteration_campst: return "creation_zone_pwg_alteration_campst"; + case DF_Type::creation_zone_pwg_alteration_location_deathst: return "creation_zone_pwg_alteration_location_deathst"; + case DF_Type::creation_zone_pwg_alteration_location_deathst__T_unk_1: return "creation_zone_pwg_alteration_location_deathst__T_unk_1"; + case DF_Type::creation_zone_pwg_alteration_location_deathst__T_unk_1__T_anon_1: return "creation_zone_pwg_alteration_location_deathst__T_unk_1__T_anon_1"; + case DF_Type::creation_zone_pwg_alteration_srb_ruinedst: return "creation_zone_pwg_alteration_srb_ruinedst"; + case DF_Type::creation_zone_pwg_alteration_srp_ruinedst: return "creation_zone_pwg_alteration_srp_ruinedst"; + case DF_Type::creation_zone_pwg_alteration_type: return "creation_zone_pwg_alteration_type"; + case DF_Type::creation_zone_pwg_alterationst: return "creation_zone_pwg_alterationst"; + case DF_Type::creature_graphics_appointment: return "creature_graphics_appointment"; + case DF_Type::creature_graphics_role: return "creature_graphics_role"; + case DF_Type::creature_handler: return "creature_handler"; + case DF_Type::creature_interaction: return "creature_interaction"; + case DF_Type::creature_interaction__T_flags: return "creature_interaction__T_flags"; + case DF_Type::creature_interaction_effect: return "creature_interaction_effect"; + case DF_Type::creature_interaction_effect__T_counter_trigger: return "creature_interaction_effect__T_counter_trigger"; + case DF_Type::creature_interaction_effect_add_simple_flagst: return "creature_interaction_effect_add_simple_flagst"; + case DF_Type::creature_interaction_effect_bleedingst: return "creature_interaction_effect_bleedingst"; + case DF_Type::creature_interaction_effect_blistersst: return "creature_interaction_effect_blistersst"; + case DF_Type::creature_interaction_effect_body_appearance_modifierst: return "creature_interaction_effect_body_appearance_modifierst"; + case DF_Type::creature_interaction_effect_body_mat_interactionst: return "creature_interaction_effect_body_mat_interactionst"; + case DF_Type::creature_interaction_effect_body_transformationst: return "creature_interaction_effect_body_transformationst"; + case DF_Type::creature_interaction_effect_bp_appearance_modifierst: return "creature_interaction_effect_bp_appearance_modifierst"; + case DF_Type::creature_interaction_effect_bruisingst: return "creature_interaction_effect_bruisingst"; + case DF_Type::creature_interaction_effect_can_do_interactionst: return "creature_interaction_effect_can_do_interactionst"; + case DF_Type::creature_interaction_effect_change_personalityst: return "creature_interaction_effect_change_personalityst"; + case DF_Type::creature_interaction_effect_cough_bloodst: return "creature_interaction_effect_cough_bloodst"; + case DF_Type::creature_interaction_effect_display_namest: return "creature_interaction_effect_display_namest"; + case DF_Type::creature_interaction_effect_display_symbolst: return "creature_interaction_effect_display_symbolst"; + case DF_Type::creature_interaction_effect_dizzinessst: return "creature_interaction_effect_dizzinessst"; + case DF_Type::creature_interaction_effect_drowsinessst: return "creature_interaction_effect_drowsinessst"; + case DF_Type::creature_interaction_effect_erratic_behaviorst: return "creature_interaction_effect_erratic_behaviorst"; + case DF_Type::creature_interaction_effect_feel_emotionst: return "creature_interaction_effect_feel_emotionst"; + case DF_Type::creature_interaction_effect_feverst: return "creature_interaction_effect_feverst"; + case DF_Type::creature_interaction_effect_flags: return "creature_interaction_effect_flags"; + case DF_Type::creature_interaction_effect_flash_symbolst: return "creature_interaction_effect_flash_symbolst"; + case DF_Type::creature_interaction_effect_impair_functionst: return "creature_interaction_effect_impair_functionst"; + case DF_Type::creature_interaction_effect_material_force_adjustst: return "creature_interaction_effect_material_force_adjustst"; + case DF_Type::creature_interaction_effect_ment_att_changest: return "creature_interaction_effect_ment_att_changest"; + case DF_Type::creature_interaction_effect_nauseast: return "creature_interaction_effect_nauseast"; + case DF_Type::creature_interaction_effect_necrosisst: return "creature_interaction_effect_necrosisst"; + case DF_Type::creature_interaction_effect_numbnessst: return "creature_interaction_effect_numbnessst"; + case DF_Type::creature_interaction_effect_oozingst: return "creature_interaction_effect_oozingst"; + case DF_Type::creature_interaction_effect_painst: return "creature_interaction_effect_painst"; + case DF_Type::creature_interaction_effect_paralysisst: return "creature_interaction_effect_paralysisst"; + case DF_Type::creature_interaction_effect_phys_att_changest: return "creature_interaction_effect_phys_att_changest"; + case DF_Type::creature_interaction_effect_remove_simple_flagst: return "creature_interaction_effect_remove_simple_flagst"; + case DF_Type::creature_interaction_effect_sense_creature_classst: return "creature_interaction_effect_sense_creature_classst"; + case DF_Type::creature_interaction_effect_skill_roll_adjustst: return "creature_interaction_effect_skill_roll_adjustst"; + case DF_Type::creature_interaction_effect_speed_changest: return "creature_interaction_effect_speed_changest"; + case DF_Type::creature_interaction_effect_swellingst: return "creature_interaction_effect_swellingst"; + case DF_Type::creature_interaction_effect_target: return "creature_interaction_effect_target"; + case DF_Type::creature_interaction_effect_target_mode: return "creature_interaction_effect_target_mode"; + case DF_Type::creature_interaction_effect_type: return "creature_interaction_effect_type"; + case DF_Type::creature_interaction_effect_unconsciousnessst: return "creature_interaction_effect_unconsciousnessst"; + case DF_Type::creature_interaction_effect_vomit_bloodst: return "creature_interaction_effect_vomit_bloodst"; + case DF_Type::creature_interaction_target_flags: return "creature_interaction_target_flags"; + case DF_Type::creature_raw: return "creature_raw"; + case DF_Type::creature_raw__T_graphics: return "creature_raw__T_graphics"; + case DF_Type::creature_raw__T_hive_product: return "creature_raw__T_hive_product"; + case DF_Type::creature_raw__T_profession_name: return "creature_raw__T_profession_name"; + case DF_Type::creature_raw_flags: return "creature_raw_flags"; + case DF_Type::creature_variation: return "creature_variation"; + case DF_Type::creature_variation_convert_tag: return "creature_variation_convert_tag"; + case DF_Type::crime: return "crime"; + case DF_Type::crime__T_flags: return "crime__T_flags"; + case DF_Type::crime__T_mode: return "crime__T_mode"; + case DF_Type::crime__T_punishment: return "crime__T_punishment"; + case DF_Type::crime__T_reports: return "crime__T_reports"; + case DF_Type::cultural_identity: return "cultural_identity"; + case DF_Type::cultural_identity__T_group_log: return "cultural_identity__T_group_log"; + case DF_Type::cultural_identity__T_group_log__T_join_type: return "cultural_identity__T_group_log__T_join_type"; + case DF_Type::cumulus_type: return "cumulus_type"; + case DF_Type::curse_attr_change: return "curse_attr_change"; + case DF_Type::d_init: return "d_init"; + case DF_Type::d_init__T_store_dist: return "d_init__T_store_dist"; + case DF_Type::d_init__T_wound_color: return "d_init__T_wound_color"; + case DF_Type::d_init_embark_confirm: return "d_init_embark_confirm"; + case DF_Type::d_init_flags1: return "d_init_flags1"; + case DF_Type::d_init_flags2: return "d_init_flags2"; + case DF_Type::d_init_flags3: return "d_init_flags3"; + case DF_Type::d_init_flags4: return "d_init_flags4"; + case DF_Type::d_init_idlers: return "d_init_idlers"; + case DF_Type::d_init_nickname: return "d_init_nickname"; + case DF_Type::d_init_tunnel: return "d_init_tunnel"; + case DF_Type::d_init_z_view: return "d_init_z_view"; + case DF_Type::dance_form: return "dance_form"; + case DF_Type::dance_form_sub1: return "dance_form_sub1"; + case DF_Type::dance_form_sub2: return "dance_form_sub2"; + case DF_Type::death_type: return "death_type"; + case DF_Type::deep_vein_hollow: return "deep_vein_hollow"; + case DF_Type::descriptor_color: return "descriptor_color"; + case DF_Type::descriptor_pattern: return "descriptor_pattern"; + case DF_Type::descriptor_shape: return "descriptor_shape"; + case DF_Type::descriptor_shape__T_gems_use: return "descriptor_shape__T_gems_use"; + case DF_Type::dfhack_knowledge_scholar_flag: return "dfhack_knowledge_scholar_flag"; + case DF_Type::dfhack_material_category: return "dfhack_material_category"; + case DF_Type::dfhack_room_quality_level: return "dfhack_room_quality_level"; + case DF_Type::dipscript_info: return "dipscript_info"; + case DF_Type::dipscript_popup: return "dipscript_popup"; + case DF_Type::dipscript_popup__T_flags: return "dipscript_popup__T_flags"; + case DF_Type::door_flags: return "door_flags"; + case DF_Type::dye_info: return "dye_info"; + case DF_Type::effect_info: return "effect_info"; + case DF_Type::embark_finder_option: return "embark_finder_option"; + case DF_Type::embark_item_choice: return "embark_item_choice"; + case DF_Type::embark_item_choice__T_list: return "embark_item_choice__T_list"; + case DF_Type::embark_location: return "embark_location"; + case DF_Type::embark_note: return "embark_note"; + case DF_Type::embark_profile: return "embark_profile"; + case DF_Type::emotion_type: return "emotion_type"; + case DF_Type::enabler: return "enabler"; + case DF_Type::enabler__T_async_frombox: return "enabler__T_async_frombox"; + case DF_Type::enabler__T_async_frombox__T_queue: return "enabler__T_async_frombox__T_queue"; + case DF_Type::enabler__T_async_frombox__T_queue___union1: return "enabler__T_async_frombox__T_queue___union1"; + case DF_Type::enabler__T_async_frombox__T_queue___union1___struct1: return "enabler__T_async_frombox__T_queue___union1___struct1"; + case DF_Type::enabler__T_async_frombox__T_queue__T_msg: return "enabler__T_async_frombox__T_queue__T_msg"; + case DF_Type::enabler__T_async_tobox: return "enabler__T_async_tobox"; + case DF_Type::enabler__T_async_tobox__T_queue: return "enabler__T_async_tobox__T_queue"; + case DF_Type::enabler__T_async_tobox__T_queue__T_cmd: return "enabler__T_async_tobox__T_queue__T_cmd"; + case DF_Type::enabler__T_async_zoom: return "enabler__T_async_zoom"; + case DF_Type::enabler__T_flag: return "enabler__T_flag"; + case DF_Type::enabler__T_gputicks: return "enabler__T_gputicks"; + case DF_Type::enabler__T_overridden_grid_sizes: return "enabler__T_overridden_grid_sizes"; + case DF_Type::enabler__T_simticks: return "enabler__T_simticks"; + case DF_Type::enabler__T_textures: return "enabler__T_textures"; + case DF_Type::engraving: return "engraving"; + case DF_Type::engraving_flags: return "engraving_flags"; + case DF_Type::entity_action_type: return "entity_action_type"; + case DF_Type::entity_activity_statistics: return "entity_activity_statistics"; + case DF_Type::entity_activity_statistics__T_food: return "entity_activity_statistics__T_food"; + case DF_Type::entity_activity_statistics__T_found_misc: return "entity_activity_statistics__T_found_misc"; + case DF_Type::entity_activity_statistics__T_wealth: return "entity_activity_statistics__T_wealth"; + case DF_Type::entity_animal_raw: return "entity_animal_raw"; + case DF_Type::entity_animal_raw__T_flags: return "entity_animal_raw__T_flags"; + case DF_Type::entity_buy_prices: return "entity_buy_prices"; + case DF_Type::entity_buy_requests: return "entity_buy_requests"; + case DF_Type::entity_claim_mask: return "entity_claim_mask"; + case DF_Type::entity_claim_mask__T_map: return "entity_claim_mask__T_map"; + case DF_Type::entity_entity_link: return "entity_entity_link"; + case DF_Type::entity_entity_link_type: return "entity_entity_link_type"; + case DF_Type::entity_event: return "entity_event"; + case DF_Type::entity_event__T_data: return "entity_event__T_data"; + case DF_Type::entity_event__T_data__T_abandon: return "entity_event__T_data__T_abandon"; + case DF_Type::entity_event__T_data__T_abduction: return "entity_event__T_data__T_abduction"; + case DF_Type::entity_event__T_data__T_accept_peace_offer: return "entity_event__T_data__T_accept_peace_offer"; + case DF_Type::entity_event__T_data__T_accept_tribute_demand: return "entity_event__T_data__T_accept_tribute_demand"; + case DF_Type::entity_event__T_data__T_accept_tribute_offer: return "entity_event__T_data__T_accept_tribute_offer"; + case DF_Type::entity_event__T_data__T_artifact_destroyed: return "entity_event__T_data__T_artifact_destroyed"; + case DF_Type::entity_event__T_data__T_artifact_in_feature_layer: return "entity_event__T_data__T_artifact_in_feature_layer"; + case DF_Type::entity_event__T_data__T_artifact_in_inventory: return "entity_event__T_data__T_artifact_in_inventory"; + case DF_Type::entity_event__T_data__T_artifact_in_site: return "entity_event__T_data__T_artifact_in_site"; + case DF_Type::entity_event__T_data__T_artifact_in_subregion: return "entity_event__T_data__T_artifact_in_subregion"; + case DF_Type::entity_event__T_data__T_artifact_not_in_feature_layer: return "entity_event__T_data__T_artifact_not_in_feature_layer"; + case DF_Type::entity_event__T_data__T_artifact_not_in_inventory: return "entity_event__T_data__T_artifact_not_in_inventory"; + case DF_Type::entity_event__T_data__T_artifact_not_in_site: return "entity_event__T_data__T_artifact_not_in_site"; + case DF_Type::entity_event__T_data__T_artifact_not_in_subregion: return "entity_event__T_data__T_artifact_not_in_subregion"; + case DF_Type::entity_event__T_data__T_beast: return "entity_event__T_data__T_beast"; + case DF_Type::entity_event__T_data__T_cease_tribute_offer: return "entity_event__T_data__T_cease_tribute_offer"; + case DF_Type::entity_event__T_data__T_claim: return "entity_event__T_data__T_claim"; + case DF_Type::entity_event__T_data__T_flee: return "entity_event__T_data__T_flee"; + case DF_Type::entity_event__T_data__T_founded: return "entity_event__T_data__T_founded"; + case DF_Type::entity_event__T_data__T_founding: return "entity_event__T_data__T_founding"; + case DF_Type::entity_event__T_data__T_group: return "entity_event__T_data__T_group"; + case DF_Type::entity_event__T_data__T_harass: return "entity_event__T_data__T_harass"; + case DF_Type::entity_event__T_data__T_incident: return "entity_event__T_data__T_incident"; + case DF_Type::entity_event__T_data__T_insurrection: return "entity_event__T_data__T_insurrection"; + case DF_Type::entity_event__T_data__T_insurrection_end: return "entity_event__T_data__T_insurrection_end"; + case DF_Type::entity_event__T_data__T_insurrection_end__T_result: return "entity_event__T_data__T_insurrection_end__T_result"; + case DF_Type::entity_event__T_data__T_invasion: return "entity_event__T_data__T_invasion"; + case DF_Type::entity_event__T_data__T_leave: return "entity_event__T_data__T_leave"; + case DF_Type::entity_event__T_data__T_occupation: return "entity_event__T_data__T_occupation"; + case DF_Type::entity_event__T_data__T_reclaimed: return "entity_event__T_data__T_reclaimed"; + case DF_Type::entity_event__T_data__T_reclaiming: return "entity_event__T_data__T_reclaiming"; + case DF_Type::entity_event__T_data__T_refuse_peace_offer: return "entity_event__T_data__T_refuse_peace_offer"; + case DF_Type::entity_event__T_data__T_refuse_tribute_demand: return "entity_event__T_data__T_refuse_tribute_demand"; + case DF_Type::entity_event__T_data__T_refuse_tribute_offer: return "entity_event__T_data__T_refuse_tribute_offer"; + case DF_Type::entity_event__T_data__T_succession: return "entity_event__T_data__T_succession"; + case DF_Type::entity_event_type: return "entity_event_type"; + case DF_Type::entity_material_category: return "entity_material_category"; + case DF_Type::entity_name_type: return "entity_name_type"; + case DF_Type::entity_occasion: return "entity_occasion"; + case DF_Type::entity_occasion_info: return "entity_occasion_info"; + case DF_Type::entity_occasion_schedule: return "entity_occasion_schedule"; + case DF_Type::entity_occasion_schedule_feature: return "entity_occasion_schedule_feature"; + case DF_Type::entity_population: return "entity_population"; + case DF_Type::entity_population_unk4: return "entity_population_unk4"; + case DF_Type::entity_population_unk4__T_anon_1: return "entity_population_unk4__T_anon_1"; + case DF_Type::entity_population_unk4__T_anon_3: return "entity_population_unk4__T_anon_3"; + case DF_Type::entity_position: return "entity_position"; + case DF_Type::entity_position_assignment: return "entity_position_assignment"; + case DF_Type::entity_position_flags: return "entity_position_flags"; + case DF_Type::entity_position_raw: return "entity_position_raw"; + case DF_Type::entity_position_raw_flags: return "entity_position_raw_flags"; + case DF_Type::entity_position_responsibility: return "entity_position_responsibility"; + case DF_Type::entity_raw: return "entity_raw"; + case DF_Type::entity_raw__T_equipment: return "entity_raw__T_equipment"; + case DF_Type::entity_raw__T_jobs: return "entity_raw__T_jobs"; + case DF_Type::entity_raw__T_land_holder_trigger: return "entity_raw__T_land_holder_trigger"; + case DF_Type::entity_raw__T_progress_trigger: return "entity_raw__T_progress_trigger"; + case DF_Type::entity_raw__T_scholar: return "entity_raw__T_scholar"; + case DF_Type::entity_raw__T_symbols: return "entity_raw__T_symbols"; + case DF_Type::entity_raw__T_tissue_styles: return "entity_raw__T_tissue_styles"; + case DF_Type::entity_raw__T_workshops: return "entity_raw__T_workshops"; + case DF_Type::entity_raw_flags: return "entity_raw_flags"; + case DF_Type::entity_recipe: return "entity_recipe"; + case DF_Type::entity_sell_category: return "entity_sell_category"; + case DF_Type::entity_sell_prices: return "entity_sell_prices"; + case DF_Type::entity_sell_requests: return "entity_sell_requests"; + case DF_Type::entity_site_link: return "entity_site_link"; + case DF_Type::entity_site_link__T_anon_8: return "entity_site_link__T_anon_8"; + case DF_Type::entity_site_link__T_flags: return "entity_site_link__T_flags"; + case DF_Type::entity_tissue_style: return "entity_tissue_style"; + case DF_Type::entity_uniform: return "entity_uniform"; + case DF_Type::entity_uniform_item: return "entity_uniform_item"; + case DF_Type::environment_type: return "environment_type"; + case DF_Type::era_type: return "era_type"; + case DF_Type::ethic_response: return "ethic_response"; + case DF_Type::ethic_type: return "ethic_type"; + case DF_Type::feature: return "feature"; + case DF_Type::feature_alteration: return "feature_alteration"; + case DF_Type::feature_alteration_new_lava_fill_zst: return "feature_alteration_new_lava_fill_zst"; + case DF_Type::feature_alteration_new_pop_maxst: return "feature_alteration_new_pop_maxst"; + case DF_Type::feature_alteration_type: return "feature_alteration_type"; + case DF_Type::feature_cavest: return "feature_cavest"; + case DF_Type::feature_deep_special_tubest: return "feature_deep_special_tubest"; + case DF_Type::feature_deep_surface_portalst: return "feature_deep_surface_portalst"; + case DF_Type::feature_init: return "feature_init"; + case DF_Type::feature_init_cavest: return "feature_init_cavest"; + case DF_Type::feature_init_deep_special_tubest: return "feature_init_deep_special_tubest"; + case DF_Type::feature_init_deep_surface_portalst: return "feature_init_deep_surface_portalst"; + case DF_Type::feature_init_flags: return "feature_init_flags"; + case DF_Type::feature_init_magma_core_from_layerst: return "feature_init_magma_core_from_layerst"; + case DF_Type::feature_init_magma_poolst: return "feature_init_magma_poolst"; + case DF_Type::feature_init_outdoor_riverst: return "feature_init_outdoor_riverst"; + case DF_Type::feature_init_pitst: return "feature_init_pitst"; + case DF_Type::feature_init_subterranean_from_layerst: return "feature_init_subterranean_from_layerst"; + case DF_Type::feature_init_underworld_from_layerst: return "feature_init_underworld_from_layerst"; + case DF_Type::feature_init_volcanost: return "feature_init_volcanost"; + case DF_Type::feature_magma_core_from_layerst: return "feature_magma_core_from_layerst"; + case DF_Type::feature_magma_poolst: return "feature_magma_poolst"; + case DF_Type::feature_outdoor_riverst: return "feature_outdoor_riverst"; + case DF_Type::feature_pitst: return "feature_pitst"; + case DF_Type::feature_subterranean_from_layerst: return "feature_subterranean_from_layerst"; + case DF_Type::feature_type: return "feature_type"; + case DF_Type::feature_underworld_from_layerst: return "feature_underworld_from_layerst"; + case DF_Type::feature_volcanost: return "feature_volcanost"; + case DF_Type::file_compressorst: return "file_compressorst"; + case DF_Type::fire: return "fire"; + case DF_Type::flow_guide: return "flow_guide"; + case DF_Type::flow_guide_item_cloudst: return "flow_guide_item_cloudst"; + case DF_Type::flow_guide_trailing_flowst: return "flow_guide_trailing_flowst"; + case DF_Type::flow_guide_type: return "flow_guide_type"; + case DF_Type::flow_info: return "flow_info"; + case DF_Type::flow_reuse_pool: return "flow_reuse_pool"; + case DF_Type::flow_reuse_pool__T_flags: return "flow_reuse_pool__T_flags"; + case DF_Type::flow_type: return "flow_type"; + case DF_Type::fog_type: return "fog_type"; + case DF_Type::front_type: return "front_type"; + case DF_Type::furnace_type: return "furnace_type"; + case DF_Type::furniture_type: return "furniture_type"; + case DF_Type::gait_info: return "gait_info"; + case DF_Type::gait_info__T_flags: return "gait_info__T_flags"; + case DF_Type::gait_type: return "gait_type"; + case DF_Type::game_mode: return "game_mode"; + case DF_Type::game_type: return "game_type"; + case DF_Type::gate_flags: return "gate_flags"; + case DF_Type::general_ref: return "general_ref"; + case DF_Type::general_ref_abstract_buildingst: return "general_ref_abstract_buildingst"; + case DF_Type::general_ref_activity_eventst: return "general_ref_activity_eventst"; + case DF_Type::general_ref_artifact: return "general_ref_artifact"; + case DF_Type::general_ref_building: return "general_ref_building"; + case DF_Type::general_ref_building_cagedst: return "general_ref_building_cagedst"; + case DF_Type::general_ref_building_chainst: return "general_ref_building_chainst"; + case DF_Type::general_ref_building_civzone_assignedst: return "general_ref_building_civzone_assignedst"; + case DF_Type::general_ref_building_destinationst: return "general_ref_building_destinationst"; + case DF_Type::general_ref_building_display_furniturest: return "general_ref_building_display_furniturest"; + case DF_Type::general_ref_building_holderst: return "general_ref_building_holderst"; + case DF_Type::general_ref_building_nest_boxst: return "general_ref_building_nest_boxst"; + case DF_Type::general_ref_building_triggerst: return "general_ref_building_triggerst"; + case DF_Type::general_ref_building_triggertargetst: return "general_ref_building_triggertargetst"; + case DF_Type::general_ref_building_use_target_1st: return "general_ref_building_use_target_1st"; + case DF_Type::general_ref_building_use_target_2st: return "general_ref_building_use_target_2st"; + case DF_Type::general_ref_building_well_tag: return "general_ref_building_well_tag"; + case DF_Type::general_ref_coinbatch: return "general_ref_coinbatch"; + case DF_Type::general_ref_contained_in_itemst: return "general_ref_contained_in_itemst"; + case DF_Type::general_ref_contains_itemst: return "general_ref_contains_itemst"; + case DF_Type::general_ref_contains_unitst: return "general_ref_contains_unitst"; + case DF_Type::general_ref_creaturest: return "general_ref_creaturest"; + case DF_Type::general_ref_creaturest__T_flags: return "general_ref_creaturest__T_flags"; + case DF_Type::general_ref_dance_formst: return "general_ref_dance_formst"; + case DF_Type::general_ref_entity: return "general_ref_entity"; + case DF_Type::general_ref_entity_art_image: return "general_ref_entity_art_image"; + case DF_Type::general_ref_entity_itemownerst: return "general_ref_entity_itemownerst"; + case DF_Type::general_ref_entity_offeredst: return "general_ref_entity_offeredst"; + case DF_Type::general_ref_entity_popst: return "general_ref_entity_popst"; + case DF_Type::general_ref_entity_popst__T_flags: return "general_ref_entity_popst__T_flags"; + case DF_Type::general_ref_entity_stolenst: return "general_ref_entity_stolenst"; + case DF_Type::general_ref_feature_layerst: return "general_ref_feature_layerst"; + case DF_Type::general_ref_historical_eventst: return "general_ref_historical_eventst"; + case DF_Type::general_ref_historical_figurest: return "general_ref_historical_figurest"; + case DF_Type::general_ref_interactionst: return "general_ref_interactionst"; + case DF_Type::general_ref_is_artifactst: return "general_ref_is_artifactst"; + case DF_Type::general_ref_is_nemesisst: return "general_ref_is_nemesisst"; + case DF_Type::general_ref_item: return "general_ref_item"; + case DF_Type::general_ref_item_type: return "general_ref_item_type"; + case DF_Type::general_ref_knowledge_scholar_flagst: return "general_ref_knowledge_scholar_flagst"; + case DF_Type::general_ref_languagest: return "general_ref_languagest"; + case DF_Type::general_ref_locationst: return "general_ref_locationst"; + case DF_Type::general_ref_mapsquare: return "general_ref_mapsquare"; + case DF_Type::general_ref_musical_formst: return "general_ref_musical_formst"; + case DF_Type::general_ref_nemesis: return "general_ref_nemesis"; + case DF_Type::general_ref_poetic_formst: return "general_ref_poetic_formst"; + case DF_Type::general_ref_projectile: return "general_ref_projectile"; + case DF_Type::general_ref_sitest: return "general_ref_sitest"; + case DF_Type::general_ref_spherest: return "general_ref_spherest"; + case DF_Type::general_ref_subregionst: return "general_ref_subregionst"; + case DF_Type::general_ref_type: return "general_ref_type"; + case DF_Type::general_ref_unit: return "general_ref_unit"; + case DF_Type::general_ref_unit_beateest: return "general_ref_unit_beateest"; + case DF_Type::general_ref_unit_cageest: return "general_ref_unit_cageest"; + case DF_Type::general_ref_unit_climberst: return "general_ref_unit_climberst"; + case DF_Type::general_ref_unit_foodreceiverst: return "general_ref_unit_foodreceiverst"; + case DF_Type::general_ref_unit_geldeest: return "general_ref_unit_geldeest"; + case DF_Type::general_ref_unit_holderst: return "general_ref_unit_holderst"; + case DF_Type::general_ref_unit_infantst: return "general_ref_unit_infantst"; + case DF_Type::general_ref_unit_itemownerst: return "general_ref_unit_itemownerst"; + case DF_Type::general_ref_unit_itemownerst__T_flags: return "general_ref_unit_itemownerst__T_flags"; + case DF_Type::general_ref_unit_kidnapeest: return "general_ref_unit_kidnapeest"; + case DF_Type::general_ref_unit_milkeest: return "general_ref_unit_milkeest"; + case DF_Type::general_ref_unit_patientst: return "general_ref_unit_patientst"; + case DF_Type::general_ref_unit_reporteest: return "general_ref_unit_reporteest"; + case DF_Type::general_ref_unit_riderst: return "general_ref_unit_riderst"; + case DF_Type::general_ref_unit_sheareest: return "general_ref_unit_sheareest"; + case DF_Type::general_ref_unit_slaughtereest: return "general_ref_unit_slaughtereest"; + case DF_Type::general_ref_unit_suckeest: return "general_ref_unit_suckeest"; + case DF_Type::general_ref_unit_tradebringerst: return "general_ref_unit_tradebringerst"; + case DF_Type::general_ref_unit_traineest: return "general_ref_unit_traineest"; + case DF_Type::general_ref_unit_workerst: return "general_ref_unit_workerst"; + case DF_Type::general_ref_value_levelst: return "general_ref_value_levelst"; + case DF_Type::general_ref_written_contentst: return "general_ref_written_contentst"; + case DF_Type::geo_layer_type: return "geo_layer_type"; + case DF_Type::ghost_goal: return "ghost_goal"; + case DF_Type::ghost_type: return "ghost_type"; + case DF_Type::gloves_flags: return "gloves_flags"; + case DF_Type::glowing_barrier: return "glowing_barrier"; + case DF_Type::goal_type: return "goal_type"; + case DF_Type::graphic: return "graphic"; + case DF_Type::guild_id: return "guild_id"; + case DF_Type::hauler_type: return "hauler_type"; + case DF_Type::hauling_route: return "hauling_route"; + case DF_Type::hauling_stop: return "hauling_stop"; + case DF_Type::health_view_bits1: return "health_view_bits1"; + case DF_Type::health_view_bits2: return "health_view_bits2"; + case DF_Type::health_view_bits3: return "health_view_bits3"; + case DF_Type::helm_flags: return "helm_flags"; + case DF_Type::hillock_house_type: return "hillock_house_type"; + case DF_Type::histfig_body_state: return "histfig_body_state"; + case DF_Type::histfig_entity_link: return "histfig_entity_link"; + case DF_Type::histfig_entity_link_criminalst: return "histfig_entity_link_criminalst"; + case DF_Type::histfig_entity_link_enemyst: return "histfig_entity_link_enemyst"; + case DF_Type::histfig_entity_link_former_memberst: return "histfig_entity_link_former_memberst"; + case DF_Type::histfig_entity_link_former_mercenaryst: return "histfig_entity_link_former_mercenaryst"; + case DF_Type::histfig_entity_link_former_occupationst: return "histfig_entity_link_former_occupationst"; + case DF_Type::histfig_entity_link_former_positionst: return "histfig_entity_link_former_positionst"; + case DF_Type::histfig_entity_link_former_prisonerst: return "histfig_entity_link_former_prisonerst"; + case DF_Type::histfig_entity_link_former_slavest: return "histfig_entity_link_former_slavest"; + case DF_Type::histfig_entity_link_former_squadst: return "histfig_entity_link_former_squadst"; + case DF_Type::histfig_entity_link_memberst: return "histfig_entity_link_memberst"; + case DF_Type::histfig_entity_link_mercenaryst: return "histfig_entity_link_mercenaryst"; + case DF_Type::histfig_entity_link_occupationst: return "histfig_entity_link_occupationst"; + case DF_Type::histfig_entity_link_position_claimst: return "histfig_entity_link_position_claimst"; + case DF_Type::histfig_entity_link_positionst: return "histfig_entity_link_positionst"; + case DF_Type::histfig_entity_link_prisonerst: return "histfig_entity_link_prisonerst"; + case DF_Type::histfig_entity_link_slavest: return "histfig_entity_link_slavest"; + case DF_Type::histfig_entity_link_squadst: return "histfig_entity_link_squadst"; + case DF_Type::histfig_entity_link_type: return "histfig_entity_link_type"; + case DF_Type::histfig_flags: return "histfig_flags"; + case DF_Type::histfig_hf_link: return "histfig_hf_link"; + case DF_Type::histfig_hf_link_apprenticest: return "histfig_hf_link_apprenticest"; + case DF_Type::histfig_hf_link_childst: return "histfig_hf_link_childst"; + case DF_Type::histfig_hf_link_companionst: return "histfig_hf_link_companionst"; + case DF_Type::histfig_hf_link_deityst: return "histfig_hf_link_deityst"; + case DF_Type::histfig_hf_link_fatherst: return "histfig_hf_link_fatherst"; + case DF_Type::histfig_hf_link_former_apprenticest: return "histfig_hf_link_former_apprenticest"; + case DF_Type::histfig_hf_link_former_masterst: return "histfig_hf_link_former_masterst"; + case DF_Type::histfig_hf_link_imprisonerst: return "histfig_hf_link_imprisonerst"; + case DF_Type::histfig_hf_link_loverst: return "histfig_hf_link_loverst"; + case DF_Type::histfig_hf_link_masterst: return "histfig_hf_link_masterst"; + case DF_Type::histfig_hf_link_motherst: return "histfig_hf_link_motherst"; + case DF_Type::histfig_hf_link_pet_ownerst: return "histfig_hf_link_pet_ownerst"; + case DF_Type::histfig_hf_link_prisonerst: return "histfig_hf_link_prisonerst"; + case DF_Type::histfig_hf_link_spousest: return "histfig_hf_link_spousest"; + case DF_Type::histfig_hf_link_type: return "histfig_hf_link_type"; + case DF_Type::histfig_relationship_type: return "histfig_relationship_type"; + case DF_Type::histfig_site_link: return "histfig_site_link"; + case DF_Type::histfig_site_link_hangoutst: return "histfig_site_link_hangoutst"; + case DF_Type::histfig_site_link_home_site_abstract_buildingst: return "histfig_site_link_home_site_abstract_buildingst"; + case DF_Type::histfig_site_link_home_site_realization_buildingst: return "histfig_site_link_home_site_realization_buildingst"; + case DF_Type::histfig_site_link_home_site_realization_sulst: return "histfig_site_link_home_site_realization_sulst"; + case DF_Type::histfig_site_link_home_site_saved_civzonest: return "histfig_site_link_home_site_saved_civzonest"; + case DF_Type::histfig_site_link_lairst: return "histfig_site_link_lairst"; + case DF_Type::histfig_site_link_occupationst: return "histfig_site_link_occupationst"; + case DF_Type::histfig_site_link_seat_of_powerst: return "histfig_site_link_seat_of_powerst"; + case DF_Type::histfig_site_link_type: return "histfig_site_link_type"; + case DF_Type::historical_entity: return "historical_entity"; + case DF_Type::historical_entity__T_claims: return "historical_entity__T_claims"; + case DF_Type::historical_entity__T_derived_resources: return "historical_entity__T_derived_resources"; + case DF_Type::historical_entity__T_flags: return "historical_entity__T_flags"; + case DF_Type::historical_entity__T_positions: return "historical_entity__T_positions"; + case DF_Type::historical_entity__T_resources: return "historical_entity__T_resources"; + case DF_Type::historical_entity__T_resources__T_animals: return "historical_entity__T_resources__T_animals"; + case DF_Type::historical_entity__T_resources__T_metal: return "historical_entity__T_resources__T_metal"; + case DF_Type::historical_entity__T_resources__T_misc_mat: return "historical_entity__T_resources__T_misc_mat"; + case DF_Type::historical_entity__T_resources__T_organic: return "historical_entity__T_resources__T_organic"; + case DF_Type::historical_entity__T_resources__T_refuse: return "historical_entity__T_resources__T_refuse"; + case DF_Type::historical_entity__T_resources__T_unk13: return "historical_entity__T_resources__T_unk13"; + case DF_Type::historical_entity__T_resources__T_wood_products: return "historical_entity__T_resources__T_wood_products"; + case DF_Type::historical_entity__T_tissue_styles: return "historical_entity__T_tissue_styles"; + case DF_Type::historical_entity__T_training_knowledge: return "historical_entity__T_training_knowledge"; + case DF_Type::historical_entity__T_unknown1b: return "historical_entity__T_unknown1b"; + case DF_Type::historical_entity__T_unknown1b__T_diplomacy: return "historical_entity__T_unknown1b__T_diplomacy"; + case DF_Type::historical_entity__T_unknown1b__T_unk32e: return "historical_entity__T_unknown1b__T_unk32e"; + case DF_Type::historical_entity__T_unknown1d: return "historical_entity__T_unknown1d"; + case DF_Type::historical_entity__T_unknown1e: return "historical_entity__T_unknown1e"; + case DF_Type::historical_entity__T_unknown2: return "historical_entity__T_unknown2"; + case DF_Type::historical_entity_type: return "historical_entity_type"; + case DF_Type::historical_figure: return "historical_figure"; + case DF_Type::historical_figure__T_unk_fc: return "historical_figure__T_unk_fc"; + case DF_Type::historical_figure_info: return "historical_figure_info"; + case DF_Type::historical_figure_info__T_books: return "historical_figure_info__T_books"; + case DF_Type::historical_figure_info__T_curse: return "historical_figure_info__T_curse"; + case DF_Type::historical_figure_info__T_masterpieces: return "historical_figure_info__T_masterpieces"; + case DF_Type::historical_figure_info__T_personality: return "historical_figure_info__T_personality"; + case DF_Type::historical_figure_info__T_relationships: return "historical_figure_info__T_relationships"; + case DF_Type::historical_figure_info__T_relationships__T_anon_1: return "historical_figure_info__T_relationships__T_anon_1"; + case DF_Type::historical_figure_info__T_relationships__T_anon_2: return "historical_figure_info__T_relationships__T_anon_2"; + case DF_Type::historical_figure_info__T_relationships__T_anon_3: return "historical_figure_info__T_relationships__T_anon_3"; + case DF_Type::historical_figure_info__T_relationships__T_list: return "historical_figure_info__T_relationships__T_list"; + case DF_Type::historical_figure_info__T_reputation: return "historical_figure_info__T_reputation"; + case DF_Type::historical_figure_info__T_reputation__T_anon_1: return "historical_figure_info__T_reputation__T_anon_1"; + case DF_Type::historical_figure_info__T_reputation__T_unk_2c: return "historical_figure_info__T_reputation__T_unk_2c"; + case DF_Type::historical_figure_info__T_reputation__T_unk_2c__T_anon_12: return "historical_figure_info__T_reputation__T_unk_2c__T_anon_12"; + case DF_Type::historical_figure_info__T_reputation__T_wanted: return "historical_figure_info__T_reputation__T_wanted"; + case DF_Type::historical_figure_info__T_secret: return "historical_figure_info__T_secret"; + case DF_Type::historical_figure_info__T_secret__T_anon_1: return "historical_figure_info__T_secret__T_anon_1"; + case DF_Type::historical_figure_info__T_secret__T_anon_7: return "historical_figure_info__T_secret__T_anon_7"; + case DF_Type::historical_figure_info__T_secret__T_knowledge: return "historical_figure_info__T_secret__T_knowledge"; + case DF_Type::historical_figure_info__T_secret__T_knowledge__T_knowledge_goal: return "historical_figure_info__T_secret__T_knowledge__T_knowledge_goal"; + case DF_Type::historical_figure_info__T_secret__T_unk_a8: return "historical_figure_info__T_secret__T_unk_a8"; + case DF_Type::historical_figure_info__T_skills: return "historical_figure_info__T_skills"; + case DF_Type::historical_figure_info__T_unk_14: return "historical_figure_info__T_unk_14"; + case DF_Type::historical_figure_info__T_wounds: return "historical_figure_info__T_wounds"; + case DF_Type::historical_kills: return "historical_kills"; + case DF_Type::historical_kills__T_killed_undead: return "historical_kills__T_killed_undead"; + case DF_Type::history_era: return "history_era"; + case DF_Type::history_era__T_details: return "history_era__T_details"; + case DF_Type::history_era__T_title: return "history_era__T_title"; + case DF_Type::history_event: return "history_event"; + case DF_Type::history_event_add_hf_entity_linkst: return "history_event_add_hf_entity_linkst"; + case DF_Type::history_event_add_hf_hf_linkst: return "history_event_add_hf_hf_linkst"; + case DF_Type::history_event_add_hf_site_linkst: return "history_event_add_hf_site_linkst"; + case DF_Type::history_event_agreement_concludedst: return "history_event_agreement_concludedst"; + case DF_Type::history_event_agreement_formedst: return "history_event_agreement_formedst"; + case DF_Type::history_event_agreements_voidedst: return "history_event_agreements_voidedst"; + case DF_Type::history_event_artifact_claim_formedst: return "history_event_artifact_claim_formedst"; + case DF_Type::history_event_artifact_claim_formedst__T_claim_type: return "history_event_artifact_claim_formedst__T_claim_type"; + case DF_Type::history_event_artifact_copiedst: return "history_event_artifact_copiedst"; + case DF_Type::history_event_artifact_copiedst__T_flags2: return "history_event_artifact_copiedst__T_flags2"; + case DF_Type::history_event_artifact_createdst: return "history_event_artifact_createdst"; + case DF_Type::history_event_artifact_destroyedst: return "history_event_artifact_destroyedst"; + case DF_Type::history_event_artifact_droppedst: return "history_event_artifact_droppedst"; + case DF_Type::history_event_artifact_foundst: return "history_event_artifact_foundst"; + case DF_Type::history_event_artifact_givenst: return "history_event_artifact_givenst"; + case DF_Type::history_event_artifact_hiddenst: return "history_event_artifact_hiddenst"; + case DF_Type::history_event_artifact_lostst: return "history_event_artifact_lostst"; + case DF_Type::history_event_artifact_possessedst: return "history_event_artifact_possessedst"; + case DF_Type::history_event_artifact_recoveredst: return "history_event_artifact_recoveredst"; + case DF_Type::history_event_artifact_storedst: return "history_event_artifact_storedst"; + case DF_Type::history_event_artifact_transformedst: return "history_event_artifact_transformedst"; + case DF_Type::history_event_assume_identityst: return "history_event_assume_identityst"; + case DF_Type::history_event_body_abusedst: return "history_event_body_abusedst"; + case DF_Type::history_event_body_abusedst__T_abuse_type: return "history_event_body_abusedst__T_abuse_type"; + case DF_Type::history_event_body_abusedst__T_props: return "history_event_body_abusedst__T_props"; + case DF_Type::history_event_body_abusedst__T_props__T_hung: return "history_event_body_abusedst__T_props__T_hung"; + case DF_Type::history_event_body_abusedst__T_props__T_item: return "history_event_body_abusedst__T_props__T_item"; + case DF_Type::history_event_body_abusedst__T_props__T_pile_type: return "history_event_body_abusedst__T_props__T_pile_type"; + case DF_Type::history_event_ceremonyst: return "history_event_ceremonyst"; + case DF_Type::history_event_change_creature_typest: return "history_event_change_creature_typest"; + case DF_Type::history_event_change_hf_body_statest: return "history_event_change_hf_body_statest"; + case DF_Type::history_event_change_hf_jobst: return "history_event_change_hf_jobst"; + case DF_Type::history_event_change_hf_moodst: return "history_event_change_hf_moodst"; + case DF_Type::history_event_change_hf_statest: return "history_event_change_hf_statest"; + case DF_Type::history_event_change_hf_statest__T_state: return "history_event_change_hf_statest__T_state"; + case DF_Type::history_event_collection: return "history_event_collection"; + case DF_Type::history_event_collection_abductionst: return "history_event_collection_abductionst"; + case DF_Type::history_event_collection_battlest: return "history_event_collection_battlest"; + case DF_Type::history_event_collection_beast_attackst: return "history_event_collection_beast_attackst"; + case DF_Type::history_event_collection_ceremonyst: return "history_event_collection_ceremonyst"; + case DF_Type::history_event_collection_competitionst: return "history_event_collection_competitionst"; + case DF_Type::history_event_collection_duelst: return "history_event_collection_duelst"; + case DF_Type::history_event_collection_insurrectionst: return "history_event_collection_insurrectionst"; + case DF_Type::history_event_collection_journeyst: return "history_event_collection_journeyst"; + case DF_Type::history_event_collection_occasionst: return "history_event_collection_occasionst"; + case DF_Type::history_event_collection_performancest: return "history_event_collection_performancest"; + case DF_Type::history_event_collection_processionst: return "history_event_collection_processionst"; + case DF_Type::history_event_collection_purgest: return "history_event_collection_purgest"; + case DF_Type::history_event_collection_raidst: return "history_event_collection_raidst"; + case DF_Type::history_event_collection_site_conqueredst: return "history_event_collection_site_conqueredst"; + case DF_Type::history_event_collection_theftst: return "history_event_collection_theftst"; + case DF_Type::history_event_collection_type: return "history_event_collection_type"; + case DF_Type::history_event_collection_warst: return "history_event_collection_warst"; + case DF_Type::history_event_collection_warst__T_unk: return "history_event_collection_warst__T_unk"; + case DF_Type::history_event_competitionst: return "history_event_competitionst"; + case DF_Type::history_event_context: return "history_event_context"; + case DF_Type::history_event_create_entity_positionst: return "history_event_create_entity_positionst"; + case DF_Type::history_event_created_buildingst: return "history_event_created_buildingst"; + case DF_Type::history_event_created_sitest: return "history_event_created_sitest"; + case DF_Type::history_event_created_world_constructionst: return "history_event_created_world_constructionst"; + case DF_Type::history_event_creature_devouredst: return "history_event_creature_devouredst"; + case DF_Type::history_event_dance_form_createdst: return "history_event_dance_form_createdst"; + case DF_Type::history_event_diplomat_lostst: return "history_event_diplomat_lostst"; + case DF_Type::history_event_entity_actionst: return "history_event_entity_actionst"; + case DF_Type::history_event_entity_createdst: return "history_event_entity_createdst"; + case DF_Type::history_event_entity_expels_hfst: return "history_event_entity_expels_hfst"; + case DF_Type::history_event_entity_fled_sitest: return "history_event_entity_fled_sitest"; + case DF_Type::history_event_entity_incorporatedst: return "history_event_entity_incorporatedst"; + case DF_Type::history_event_entity_lawst: return "history_event_entity_lawst"; + case DF_Type::history_event_entity_rampaged_in_sitest: return "history_event_entity_rampaged_in_sitest"; + case DF_Type::history_event_entity_razed_buildingst: return "history_event_entity_razed_buildingst"; + case DF_Type::history_event_entity_searched_sitest: return "history_event_entity_searched_sitest"; + case DF_Type::history_event_first_contact_failedst: return "history_event_first_contact_failedst"; + case DF_Type::history_event_first_contactst: return "history_event_first_contactst"; + case DF_Type::history_event_hf_act_on_artifactst: return "history_event_hf_act_on_artifactst"; + case DF_Type::history_event_hf_act_on_artifactst__T_action: return "history_event_hf_act_on_artifactst__T_action"; + case DF_Type::history_event_hf_act_on_buildingst: return "history_event_hf_act_on_buildingst"; + case DF_Type::history_event_hf_act_on_buildingst__T_action: return "history_event_hf_act_on_buildingst__T_action"; + case DF_Type::history_event_hf_attacked_sitest: return "history_event_hf_attacked_sitest"; + case DF_Type::history_event_hf_confrontedst: return "history_event_hf_confrontedst"; + case DF_Type::history_event_hf_destroyed_sitest: return "history_event_hf_destroyed_sitest"; + case DF_Type::history_event_hf_does_interactionst: return "history_event_hf_does_interactionst"; + case DF_Type::history_event_hf_freedst: return "history_event_hf_freedst"; + case DF_Type::history_event_hf_gains_secret_goalst: return "history_event_hf_gains_secret_goalst"; + case DF_Type::history_event_hf_learns_secretst: return "history_event_hf_learns_secretst"; + case DF_Type::history_event_hf_razed_buildingst: return "history_event_hf_razed_buildingst"; + case DF_Type::history_event_hf_recruited_unit_type_for_entityst: return "history_event_hf_recruited_unit_type_for_entityst"; + case DF_Type::history_event_hf_relationship_deniedst: return "history_event_hf_relationship_deniedst"; + case DF_Type::history_event_hfs_formed_reputation_relationshipst: return "history_event_hfs_formed_reputation_relationshipst"; + case DF_Type::history_event_hist_figure_abductedst: return "history_event_hist_figure_abductedst"; + case DF_Type::history_event_hist_figure_diedst: return "history_event_hist_figure_diedst"; + case DF_Type::history_event_hist_figure_new_petst: return "history_event_hist_figure_new_petst"; + case DF_Type::history_event_hist_figure_reach_summitst: return "history_event_hist_figure_reach_summitst"; + case DF_Type::history_event_hist_figure_reunionst: return "history_event_hist_figure_reunionst"; + case DF_Type::history_event_hist_figure_revivedst: return "history_event_hist_figure_revivedst"; + case DF_Type::history_event_hist_figure_simple_actionst: return "history_event_hist_figure_simple_actionst"; + case DF_Type::history_event_hist_figure_simple_battle_eventst: return "history_event_hist_figure_simple_battle_eventst"; + case DF_Type::history_event_hist_figure_travelst: return "history_event_hist_figure_travelst"; + case DF_Type::history_event_hist_figure_travelst__T_reason: return "history_event_hist_figure_travelst__T_reason"; + case DF_Type::history_event_hist_figure_woundedst: return "history_event_hist_figure_woundedst"; + case DF_Type::history_event_hist_figure_woundedst__T_injury_type: return "history_event_hist_figure_woundedst__T_injury_type"; + case DF_Type::history_event_insurrection_endedst: return "history_event_insurrection_endedst"; + case DF_Type::history_event_insurrection_startedst: return "history_event_insurrection_startedst"; + case DF_Type::history_event_item_stolenst: return "history_event_item_stolenst"; + case DF_Type::history_event_knowledge_discoveredst: return "history_event_knowledge_discoveredst"; + case DF_Type::history_event_masterpiece_created_arch_constructst: return "history_event_masterpiece_created_arch_constructst"; + case DF_Type::history_event_masterpiece_created_arch_designst: return "history_event_masterpiece_created_arch_designst"; + case DF_Type::history_event_masterpiece_created_dye_itemst: return "history_event_masterpiece_created_dye_itemst"; + case DF_Type::history_event_masterpiece_created_engravingst: return "history_event_masterpiece_created_engravingst"; + case DF_Type::history_event_masterpiece_created_foodst: return "history_event_masterpiece_created_foodst"; + case DF_Type::history_event_masterpiece_created_item_improvementst: return "history_event_masterpiece_created_item_improvementst"; + case DF_Type::history_event_masterpiece_created_itemst: return "history_event_masterpiece_created_itemst"; + case DF_Type::history_event_masterpiece_createdst: return "history_event_masterpiece_createdst"; + case DF_Type::history_event_masterpiece_lostst: return "history_event_masterpiece_lostst"; + case DF_Type::history_event_merchantst: return "history_event_merchantst"; + case DF_Type::history_event_musical_form_createdst: return "history_event_musical_form_createdst"; + case DF_Type::history_event_performancest: return "history_event_performancest"; + case DF_Type::history_event_poetic_form_createdst: return "history_event_poetic_form_createdst"; + case DF_Type::history_event_processionst: return "history_event_processionst"; + case DF_Type::history_event_reason: return "history_event_reason"; + case DF_Type::history_event_reclaim_sitest: return "history_event_reclaim_sitest"; + case DF_Type::history_event_regionpop_incorporated_into_entityst: return "history_event_regionpop_incorporated_into_entityst"; + case DF_Type::history_event_remove_hf_entity_linkst: return "history_event_remove_hf_entity_linkst"; + case DF_Type::history_event_remove_hf_hf_linkst: return "history_event_remove_hf_hf_linkst"; + case DF_Type::history_event_remove_hf_site_linkst: return "history_event_remove_hf_site_linkst"; + case DF_Type::history_event_replaced_buildingst: return "history_event_replaced_buildingst"; + case DF_Type::history_event_simple_battle_subtype: return "history_event_simple_battle_subtype"; + case DF_Type::history_event_site_diedst: return "history_event_site_diedst"; + case DF_Type::history_event_site_disputest: return "history_event_site_disputest"; + case DF_Type::history_event_site_retiredst: return "history_event_site_retiredst"; + case DF_Type::history_event_site_surrenderedst: return "history_event_site_surrenderedst"; + case DF_Type::history_event_sneak_into_sitest: return "history_event_sneak_into_sitest"; + case DF_Type::history_event_spotted_leaving_sitest: return "history_event_spotted_leaving_sitest"; + case DF_Type::history_event_squad_vs_squadst: return "history_event_squad_vs_squadst"; + case DF_Type::history_event_tactical_situationst: return "history_event_tactical_situationst"; + case DF_Type::history_event_tactical_situationst__T_tactics_flags: return "history_event_tactical_situationst__T_tactics_flags"; + case DF_Type::history_event_topicagreement_concludedst: return "history_event_topicagreement_concludedst"; + case DF_Type::history_event_topicagreement_madest: return "history_event_topicagreement_madest"; + case DF_Type::history_event_topicagreement_rejectedst: return "history_event_topicagreement_rejectedst"; + case DF_Type::history_event_type: return "history_event_type"; + case DF_Type::history_event_war_attacked_sitest: return "history_event_war_attacked_sitest"; + case DF_Type::history_event_war_destroyed_sitest: return "history_event_war_destroyed_sitest"; + case DF_Type::history_event_war_field_battlest: return "history_event_war_field_battlest"; + case DF_Type::history_event_war_peace_acceptedst: return "history_event_war_peace_acceptedst"; + case DF_Type::history_event_war_peace_rejectedst: return "history_event_war_peace_rejectedst"; + case DF_Type::history_event_war_plundered_sitest: return "history_event_war_plundered_sitest"; + case DF_Type::history_event_war_site_new_leaderst: return "history_event_war_site_new_leaderst"; + case DF_Type::history_event_war_site_taken_overst: return "history_event_war_site_taken_overst"; + case DF_Type::history_event_war_site_tribute_forcedst: return "history_event_war_site_tribute_forcedst"; + case DF_Type::history_event_war_site_tribute_forcedst__T_tribute_flags: return "history_event_war_site_tribute_forcedst__T_tribute_flags"; + case DF_Type::history_event_written_content_composedst: return "history_event_written_content_composedst"; + case DF_Type::history_hit_item: return "history_hit_item"; + case DF_Type::hive_flags: return "hive_flags"; + case DF_Type::hospital_supplies: return "hospital_supplies"; + case DF_Type::hospital_supplies__T_supplies_needed: return "hospital_supplies__T_supplies_needed"; + case DF_Type::identity: return "identity"; + case DF_Type::identity_unk_94: return "identity_unk_94"; + case DF_Type::improvement_type: return "improvement_type"; + case DF_Type::incident: return "incident"; + case DF_Type::incident__T_flags: return "incident__T_flags"; + case DF_Type::incident__T_unk_v42_1: return "incident__T_unk_v42_1"; + case DF_Type::incident_hfid: return "incident_hfid"; + case DF_Type::incident_sub10: return "incident_sub10"; + case DF_Type::incident_sub6_performance: return "incident_sub6_performance"; + case DF_Type::incident_sub6_performance__T_participants: return "incident_sub6_performance__T_participants"; + case DF_Type::incident_sub7: return "incident_sub7"; + case DF_Type::incident_sub8: return "incident_sub8"; + case DF_Type::incident_sub9: return "incident_sub9"; + case DF_Type::inclusion_type: return "inclusion_type"; + case DF_Type::init: return "init"; + case DF_Type::init_display: return "init_display"; + case DF_Type::init_display__T_windowed: return "init_display__T_windowed"; + case DF_Type::init_display_flags: return "init_display_flags"; + case DF_Type::init_font: return "init_font"; + case DF_Type::init_font__T_use_ttf: return "init_font__T_use_ttf"; + case DF_Type::init_input: return "init_input"; + case DF_Type::init_input_flags: return "init_input_flags"; + case DF_Type::init_media: return "init_media"; + case DF_Type::init_media_flags: return "init_media_flags"; + case DF_Type::init_window: return "init_window"; + case DF_Type::init_window_flags: return "init_window_flags"; + case DF_Type::inorganic_flags: return "inorganic_flags"; + case DF_Type::inorganic_raw: return "inorganic_raw"; + case DF_Type::inorganic_raw__T_environment: return "inorganic_raw__T_environment"; + case DF_Type::inorganic_raw__T_environment_spec: return "inorganic_raw__T_environment_spec"; + case DF_Type::inorganic_raw__T_metal_ore: return "inorganic_raw__T_metal_ore"; + case DF_Type::inorganic_raw__T_thread_metal: return "inorganic_raw__T_thread_metal"; + case DF_Type::instrument_flags: return "instrument_flags"; + case DF_Type::instrument_piece: return "instrument_piece"; + case DF_Type::instrument_piece__T_flags: return "instrument_piece__T_flags"; + case DF_Type::instrument_register: return "instrument_register"; + case DF_Type::insurrection_outcome: return "insurrection_outcome"; + case DF_Type::interaction: return "interaction"; + case DF_Type::interaction_effect: return "interaction_effect"; + case DF_Type::interaction_effect__T_flags: return "interaction_effect__T_flags"; + case DF_Type::interaction_effect_add_syndromest: return "interaction_effect_add_syndromest"; + case DF_Type::interaction_effect_animatest: return "interaction_effect_animatest"; + case DF_Type::interaction_effect_cleanst: return "interaction_effect_cleanst"; + case DF_Type::interaction_effect_contactst: return "interaction_effect_contactst"; + case DF_Type::interaction_effect_hidest: return "interaction_effect_hidest"; + case DF_Type::interaction_effect_location_hint: return "interaction_effect_location_hint"; + case DF_Type::interaction_effect_material_emissionst: return "interaction_effect_material_emissionst"; + case DF_Type::interaction_effect_resurrectst: return "interaction_effect_resurrectst"; + case DF_Type::interaction_effect_type: return "interaction_effect_type"; + case DF_Type::interaction_instance: return "interaction_instance"; + case DF_Type::interaction_source: return "interaction_source"; + case DF_Type::interaction_source_attackst: return "interaction_source_attackst"; + case DF_Type::interaction_source_creature_actionst: return "interaction_source_creature_actionst"; + case DF_Type::interaction_source_deityst: return "interaction_source_deityst"; + case DF_Type::interaction_source_disturbancest: return "interaction_source_disturbancest"; + case DF_Type::interaction_source_ingestionst: return "interaction_source_ingestionst"; + case DF_Type::interaction_source_regionst: return "interaction_source_regionst"; + case DF_Type::interaction_source_regionst__T_region_flags: return "interaction_source_regionst__T_region_flags"; + case DF_Type::interaction_source_secretst: return "interaction_source_secretst"; + case DF_Type::interaction_source_secretst__T_learn_flags: return "interaction_source_secretst__T_learn_flags"; + case DF_Type::interaction_source_type: return "interaction_source_type"; + case DF_Type::interaction_source_underground_specialst: return "interaction_source_underground_specialst"; + case DF_Type::interaction_source_usage_hint: return "interaction_source_usage_hint"; + case DF_Type::interaction_target: return "interaction_target"; + case DF_Type::interaction_target_corpsest: return "interaction_target_corpsest"; + case DF_Type::interaction_target_creaturest: return "interaction_target_creaturest"; + case DF_Type::interaction_target_info: return "interaction_target_info"; + case DF_Type::interaction_target_info__T_restrictions: return "interaction_target_info__T_restrictions"; + case DF_Type::interaction_target_location_type: return "interaction_target_location_type"; + case DF_Type::interaction_target_locationst: return "interaction_target_locationst"; + case DF_Type::interaction_target_materialst: return "interaction_target_materialst"; + case DF_Type::interaction_target_materialst__T_restrictions: return "interaction_target_materialst__T_restrictions"; + case DF_Type::interaction_target_type: return "interaction_target_type"; + case DF_Type::interface_breakdown_types: return "interface_breakdown_types"; + case DF_Type::interface_button: return "interface_button"; + case DF_Type::interface_button_building_category_selectorst: return "interface_button_building_category_selectorst"; + case DF_Type::interface_button_building_custom_category_selectorst: return "interface_button_building_custom_category_selectorst"; + case DF_Type::interface_button_building_material_selectorst: return "interface_button_building_material_selectorst"; + case DF_Type::interface_button_building_new_jobst: return "interface_button_building_new_jobst"; + case DF_Type::interface_button_buildingst: return "interface_button_buildingst"; + case DF_Type::interface_button_construction_building_selectorst: return "interface_button_construction_building_selectorst"; + case DF_Type::interface_button_construction_category_selectorst: return "interface_button_construction_category_selectorst"; + case DF_Type::interface_button_construction_category_selectorst__T_category_id: return "interface_button_construction_category_selectorst__T_category_id"; + case DF_Type::interface_button_construction_donest: return "interface_button_construction_donest"; + case DF_Type::interface_button_constructionst: return "interface_button_constructionst"; + case DF_Type::interface_key: return "interface_key"; + case DF_Type::interfacest: return "interfacest"; + case DF_Type::invasion_info: return "invasion_info"; + case DF_Type::invasion_info__T_flags: return "invasion_info__T_flags"; + case DF_Type::item: return "item"; + case DF_Type::item_actual: return "item_actual"; + case DF_Type::item_ammost: return "item_ammost"; + case DF_Type::item_amuletst: return "item_amuletst"; + case DF_Type::item_animaltrapst: return "item_animaltrapst"; + case DF_Type::item_anvilst: return "item_anvilst"; + case DF_Type::item_armorst: return "item_armorst"; + case DF_Type::item_armorstandst: return "item_armorstandst"; + case DF_Type::item_backpackst: return "item_backpackst"; + case DF_Type::item_ballistaarrowheadst: return "item_ballistaarrowheadst"; + case DF_Type::item_ballistapartsst: return "item_ballistapartsst"; + case DF_Type::item_barrelst: return "item_barrelst"; + case DF_Type::item_barst: return "item_barst"; + case DF_Type::item_bedst: return "item_bedst"; + case DF_Type::item_binst: return "item_binst"; + case DF_Type::item_blocksst: return "item_blocksst"; + case DF_Type::item_body_component: return "item_body_component"; + case DF_Type::item_body_component__T_appearance: return "item_body_component__T_appearance"; + case DF_Type::item_body_component__T_body: return "item_body_component__T_body"; + case DF_Type::item_body_component__T_bone1: return "item_body_component__T_bone1"; + case DF_Type::item_body_component__T_bone2: return "item_body_component__T_bone2"; + case DF_Type::item_body_component__T_corpse_flags: return "item_body_component__T_corpse_flags"; + case DF_Type::item_bookst: return "item_bookst"; + case DF_Type::item_boulderst: return "item_boulderst"; + case DF_Type::item_boxst: return "item_boxst"; + case DF_Type::item_braceletst: return "item_braceletst"; + case DF_Type::item_branchst: return "item_branchst"; + case DF_Type::item_bucketst: return "item_bucketst"; + case DF_Type::item_cabinetst: return "item_cabinetst"; + case DF_Type::item_cagest: return "item_cagest"; + case DF_Type::item_catapultpartsst: return "item_catapultpartsst"; + case DF_Type::item_chainst: return "item_chainst"; + case DF_Type::item_chairst: return "item_chairst"; + case DF_Type::item_cheesest: return "item_cheesest"; + case DF_Type::item_clothst: return "item_clothst"; + case DF_Type::item_coffinst: return "item_coffinst"; + case DF_Type::item_coinst: return "item_coinst"; + case DF_Type::item_constructed: return "item_constructed"; + case DF_Type::item_corpsepiecest: return "item_corpsepiecest"; + case DF_Type::item_corpsest: return "item_corpsest"; + case DF_Type::item_crafted: return "item_crafted"; + case DF_Type::item_critter: return "item_critter"; + case DF_Type::item_crownst: return "item_crownst"; + case DF_Type::item_crutchst: return "item_crutchst"; + case DF_Type::item_doorst: return "item_doorst"; + case DF_Type::item_drinkst: return "item_drinkst"; + case DF_Type::item_earringst: return "item_earringst"; + case DF_Type::item_eggst: return "item_eggst"; + case DF_Type::item_eggst__T_egg_flags: return "item_eggst__T_egg_flags"; + case DF_Type::item_figurinest: return "item_figurinest"; + case DF_Type::item_filter_spec: return "item_filter_spec"; + case DF_Type::item_fish_rawst: return "item_fish_rawst"; + case DF_Type::item_fishst: return "item_fishst"; + case DF_Type::item_flags: return "item_flags"; + case DF_Type::item_flags2: return "item_flags2"; + case DF_Type::item_flaskst: return "item_flaskst"; + case DF_Type::item_floodgatest: return "item_floodgatest"; + case DF_Type::item_foodst: return "item_foodst"; + case DF_Type::item_foodst__T_ingredients: return "item_foodst__T_ingredients"; + case DF_Type::item_gemst: return "item_gemst"; + case DF_Type::item_globst: return "item_globst"; + case DF_Type::item_glovesst: return "item_glovesst"; + case DF_Type::item_gobletst: return "item_gobletst"; + case DF_Type::item_gratest: return "item_gratest"; + case DF_Type::item_hatch_coverst: return "item_hatch_coverst"; + case DF_Type::item_helmst: return "item_helmst"; + case DF_Type::item_history_info: return "item_history_info"; + case DF_Type::item_instrumentst: return "item_instrumentst"; + case DF_Type::item_kill_info: return "item_kill_info"; + case DF_Type::item_liquid: return "item_liquid"; + case DF_Type::item_liquid_miscst: return "item_liquid_miscst"; + case DF_Type::item_liquipowder: return "item_liquipowder"; + case DF_Type::item_magicness: return "item_magicness"; + case DF_Type::item_magicness_type: return "item_magicness_type"; + case DF_Type::item_matstate: return "item_matstate"; + case DF_Type::item_meatst: return "item_meatst"; + case DF_Type::item_millstonest: return "item_millstonest"; + case DF_Type::item_orthopedic_castst: return "item_orthopedic_castst"; + case DF_Type::item_pantsst: return "item_pantsst"; + case DF_Type::item_petst: return "item_petst"; + case DF_Type::item_petst__T_pet_flags: return "item_petst__T_pet_flags"; + case DF_Type::item_pipe_sectionst: return "item_pipe_sectionst"; + case DF_Type::item_plant_growthst: return "item_plant_growthst"; + case DF_Type::item_plantst: return "item_plantst"; + case DF_Type::item_powder: return "item_powder"; + case DF_Type::item_powder_miscst: return "item_powder_miscst"; + case DF_Type::item_quality: return "item_quality"; + case DF_Type::item_quernst: return "item_quernst"; + case DF_Type::item_quiverst: return "item_quiverst"; + case DF_Type::item_remainsst: return "item_remainsst"; + case DF_Type::item_ringst: return "item_ringst"; + case DF_Type::item_rockst: return "item_rockst"; + case DF_Type::item_roughst: return "item_roughst"; + case DF_Type::item_scepterst: return "item_scepterst"; + case DF_Type::item_seedsst: return "item_seedsst"; + case DF_Type::item_sheetst: return "item_sheetst"; + case DF_Type::item_shieldst: return "item_shieldst"; + case DF_Type::item_shoesst: return "item_shoesst"; + case DF_Type::item_siegeammost: return "item_siegeammost"; + case DF_Type::item_skin_tannedst: return "item_skin_tannedst"; + case DF_Type::item_slabst: return "item_slabst"; + case DF_Type::item_smallgemst: return "item_smallgemst"; + case DF_Type::item_splintst: return "item_splintst"; + case DF_Type::item_statuest: return "item_statuest"; + case DF_Type::item_stockpile_ref: return "item_stockpile_ref"; + case DF_Type::item_tablest: return "item_tablest"; + case DF_Type::item_threadst: return "item_threadst"; + case DF_Type::item_toolst: return "item_toolst"; + case DF_Type::item_totemst: return "item_totemst"; + case DF_Type::item_toyst: return "item_toyst"; + case DF_Type::item_traction_benchst: return "item_traction_benchst"; + case DF_Type::item_trapcompst: return "item_trapcompst"; + case DF_Type::item_trappartsst: return "item_trappartsst"; + case DF_Type::item_type: return "item_type"; + case DF_Type::item_verminst: return "item_verminst"; + case DF_Type::item_weaponrackst: return "item_weaponrackst"; + case DF_Type::item_weaponst: return "item_weaponst"; + case DF_Type::item_windowst: return "item_windowst"; + case DF_Type::item_woodst: return "item_woodst"; + case DF_Type::itemdef: return "itemdef"; + case DF_Type::itemdef_ammost: return "itemdef_ammost"; + case DF_Type::itemdef_armorst: return "itemdef_armorst"; + case DF_Type::itemdef_foodst: return "itemdef_foodst"; + case DF_Type::itemdef_glovesst: return "itemdef_glovesst"; + case DF_Type::itemdef_helmst: return "itemdef_helmst"; + case DF_Type::itemdef_instrumentst: return "itemdef_instrumentst"; + case DF_Type::itemdef_pantsst: return "itemdef_pantsst"; + case DF_Type::itemdef_shieldst: return "itemdef_shieldst"; + case DF_Type::itemdef_shoesst: return "itemdef_shoesst"; + case DF_Type::itemdef_siegeammost: return "itemdef_siegeammost"; + case DF_Type::itemdef_toolst: return "itemdef_toolst"; + case DF_Type::itemdef_toolst__T_default_improvements: return "itemdef_toolst__T_default_improvements"; + case DF_Type::itemdef_toyst: return "itemdef_toyst"; + case DF_Type::itemdef_trapcompst: return "itemdef_trapcompst"; + case DF_Type::itemdef_weaponst: return "itemdef_weaponst"; + case DF_Type::itemimprovement: return "itemimprovement"; + case DF_Type::itemimprovement_art_imagest: return "itemimprovement_art_imagest"; + case DF_Type::itemimprovement_bandsst: return "itemimprovement_bandsst"; + case DF_Type::itemimprovement_clothst: return "itemimprovement_clothst"; + case DF_Type::itemimprovement_coveredst: return "itemimprovement_coveredst"; + case DF_Type::itemimprovement_coveredst__T_cover_flags: return "itemimprovement_coveredst__T_cover_flags"; + case DF_Type::itemimprovement_illustrationst: return "itemimprovement_illustrationst"; + case DF_Type::itemimprovement_instrument_piecest: return "itemimprovement_instrument_piecest"; + case DF_Type::itemimprovement_itemspecificst: return "itemimprovement_itemspecificst"; + case DF_Type::itemimprovement_pagesst: return "itemimprovement_pagesst"; + case DF_Type::itemimprovement_rings_hangingst: return "itemimprovement_rings_hangingst"; + case DF_Type::itemimprovement_sewn_imagest: return "itemimprovement_sewn_imagest"; + case DF_Type::itemimprovement_sewn_imagest__T_cloth: return "itemimprovement_sewn_imagest__T_cloth"; + case DF_Type::itemimprovement_specific_type: return "itemimprovement_specific_type"; + case DF_Type::itemimprovement_spikesst: return "itemimprovement_spikesst"; + case DF_Type::itemimprovement_threadst: return "itemimprovement_threadst"; + case DF_Type::itemimprovement_writingst: return "itemimprovement_writingst"; + case DF_Type::items_other_id: return "items_other_id"; + case DF_Type::job: return "job"; + case DF_Type::job_art_specification: return "job_art_specification"; + case DF_Type::job_art_specification__T_type: return "job_art_specification__T_type"; + case DF_Type::job_flags: return "job_flags"; + case DF_Type::job_handler: return "job_handler"; + case DF_Type::job_handler__T_anon_1: return "job_handler__T_anon_1"; + case DF_Type::job_handler__T_postings: return "job_handler__T_postings"; + case DF_Type::job_handler__T_postings__T_flags: return "job_handler__T_postings__T_flags"; + case DF_Type::job_item: return "job_item"; + case DF_Type::job_item_filter: return "job_item_filter"; + case DF_Type::job_item_flags1: return "job_item_flags1"; + case DF_Type::job_item_flags2: return "job_item_flags2"; + case DF_Type::job_item_flags3: return "job_item_flags3"; + case DF_Type::job_item_ref: return "job_item_ref"; + case DF_Type::job_item_ref__T_role: return "job_item_ref__T_role"; + case DF_Type::job_item_vector_id: return "job_item_vector_id"; + case DF_Type::job_list_link: return "job_list_link"; + case DF_Type::job_material_category: return "job_material_category"; + case DF_Type::job_skill: return "job_skill"; + case DF_Type::job_skill_class: return "job_skill_class"; + case DF_Type::job_subtype_surgery: return "job_subtype_surgery"; + case DF_Type::job_type: return "job_type"; + case DF_Type::job_type_class: return "job_type_class"; + case DF_Type::KeybindingScreen: return "KeybindingScreen"; + case DF_Type::KeybindingScreen__T_mode: return "KeybindingScreen__T_mode"; + case DF_Type::kitchen_exc_type: return "kitchen_exc_type"; + case DF_Type::kitchen_pref_flag: return "kitchen_pref_flag"; + case DF_Type::knowledge_scholar_category_flag: return "knowledge_scholar_category_flag"; + case DF_Type::knowledge_scholar_category_flag__T_flags: return "knowledge_scholar_category_flag__T_flags"; + case DF_Type::knowledge_scholar_flags_0: return "knowledge_scholar_flags_0"; + case DF_Type::knowledge_scholar_flags_1: return "knowledge_scholar_flags_1"; + case DF_Type::knowledge_scholar_flags_10: return "knowledge_scholar_flags_10"; + case DF_Type::knowledge_scholar_flags_11: return "knowledge_scholar_flags_11"; + case DF_Type::knowledge_scholar_flags_12: return "knowledge_scholar_flags_12"; + case DF_Type::knowledge_scholar_flags_13: return "knowledge_scholar_flags_13"; + case DF_Type::knowledge_scholar_flags_2: return "knowledge_scholar_flags_2"; + case DF_Type::knowledge_scholar_flags_3: return "knowledge_scholar_flags_3"; + case DF_Type::knowledge_scholar_flags_4: return "knowledge_scholar_flags_4"; + case DF_Type::knowledge_scholar_flags_5: return "knowledge_scholar_flags_5"; + case DF_Type::knowledge_scholar_flags_6: return "knowledge_scholar_flags_6"; + case DF_Type::knowledge_scholar_flags_7: return "knowledge_scholar_flags_7"; + case DF_Type::knowledge_scholar_flags_8: return "knowledge_scholar_flags_8"; + case DF_Type::knowledge_scholar_flags_9: return "knowledge_scholar_flags_9"; + case DF_Type::language_name: return "language_name"; + case DF_Type::language_name_category: return "language_name_category"; + case DF_Type::language_symbol: return "language_symbol"; + case DF_Type::language_translation: return "language_translation"; + case DF_Type::language_word: return "language_word"; + case DF_Type::language_word_flags: return "language_word_flags"; + case DF_Type::language_word_table: return "language_word_table"; + case DF_Type::large_integer: return "large_integer"; + case DF_Type::large_integer___struct0: return "large_integer___struct0"; + case DF_Type::large_integer__T_u: return "large_integer__T_u"; + case DF_Type::layer_object: return "layer_object"; + case DF_Type::layer_object_buttonst: return "layer_object_buttonst"; + case DF_Type::layer_object_listst: return "layer_object_listst"; + case DF_Type::lever_target_type: return "lever_target_type"; + case DF_Type::loadgame_save_info: return "loadgame_save_info"; + case DF_Type::local_population: return "local_population"; + case DF_Type::local_population___union6: return "local_population___union6"; + case DF_Type::local_population__T_flags: return "local_population__T_flags"; + case DF_Type::location_scribe_jobs: return "location_scribe_jobs"; + case DF_Type::machine: return "machine"; + case DF_Type::machine__T_components: return "machine__T_components"; + case DF_Type::machine__T_flags: return "machine__T_flags"; + case DF_Type::machine_conn_modes: return "machine_conn_modes"; + case DF_Type::machine_handler: return "machine_handler"; + case DF_Type::machine_info: return "machine_info"; + case DF_Type::machine_info__T_flags: return "machine_info__T_flags"; + case DF_Type::machine_standardst: return "machine_standardst"; + case DF_Type::machine_tile_set: return "machine_tile_set"; + case DF_Type::machine_type: return "machine_type"; + case DF_Type::MacroScreenLoad: return "MacroScreenLoad"; + case DF_Type::MacroScreenSave: return "MacroScreenSave"; + case DF_Type::manager_order: return "manager_order"; + case DF_Type::manager_order__T_frequency: return "manager_order__T_frequency"; + case DF_Type::manager_order_condition_item: return "manager_order_condition_item"; + case DF_Type::manager_order_condition_item__T_compare_type: return "manager_order_condition_item__T_compare_type"; + case DF_Type::manager_order_condition_order: return "manager_order_condition_order"; + case DF_Type::manager_order_condition_order__T_condition: return "manager_order_condition_order__T_condition"; + case DF_Type::manager_order_status: return "manager_order_status"; + case DF_Type::manager_order_template: return "manager_order_template"; + case DF_Type::mandate: return "mandate"; + case DF_Type::mandate__T_mode: return "mandate__T_mode"; + case DF_Type::mandate__T_punishment: return "mandate__T_punishment"; + case DF_Type::map_block: return "map_block"; + case DF_Type::map_block_column: return "map_block_column"; + case DF_Type::map_block_column__T_unmined_glyphs: return "map_block_column__T_unmined_glyphs"; + case DF_Type::map_renderer: return "map_renderer"; + case DF_Type::map_renderer__T_anon_4: return "map_renderer__T_anon_4"; + case DF_Type::map_viewport: return "map_viewport"; + case DF_Type::masterpiece_loss_type: return "masterpiece_loss_type"; + case DF_Type::material: return "material"; + case DF_Type::material_common: return "material_common"; + case DF_Type::material_common__T_hardens_with_water: return "material_common__T_hardens_with_water"; + case DF_Type::material_common__T_heat: return "material_common__T_heat"; + case DF_Type::material_common__T_reaction_product: return "material_common__T_reaction_product"; + case DF_Type::material_common__T_strength: return "material_common__T_strength"; + case DF_Type::material_flags: return "material_flags"; + case DF_Type::material_template: return "material_template"; + case DF_Type::material_vec_ref: return "material_vec_ref"; + case DF_Type::matgloss_list: return "matgloss_list"; + case DF_Type::matter_state: return "matter_state"; + case DF_Type::meeting_context: return "meeting_context"; + case DF_Type::meeting_diplomat_info: return "meeting_diplomat_info"; + case DF_Type::meeting_diplomat_info__T_flags: return "meeting_diplomat_info__T_flags"; + case DF_Type::meeting_event: return "meeting_event"; + case DF_Type::meeting_event_type: return "meeting_event_type"; + case DF_Type::meeting_topic: return "meeting_topic"; + case DF_Type::meeting_variable: return "meeting_variable"; + case DF_Type::mental_attribute_type: return "mental_attribute_type"; + case DF_Type::mental_picture: return "mental_picture"; + case DF_Type::mental_picture_element_hfst: return "mental_picture_element_hfst"; + case DF_Type::mental_picture_element_regionst: return "mental_picture_element_regionst"; + case DF_Type::mental_picture_element_sitest: return "mental_picture_element_sitest"; + case DF_Type::mental_picture_element_type: return "mental_picture_element_type"; + case DF_Type::mental_picture_elementst: return "mental_picture_elementst"; + case DF_Type::mental_picture_property_actionst: return "mental_picture_property_actionst"; + case DF_Type::mental_picture_property_adjectivest: return "mental_picture_property_adjectivest"; + case DF_Type::mental_picture_property_color_patternst: return "mental_picture_property_color_patternst"; + case DF_Type::mental_picture_property_datest: return "mental_picture_property_datest"; + case DF_Type::mental_picture_property_emotionst: return "mental_picture_property_emotionst"; + case DF_Type::mental_picture_property_positionst: return "mental_picture_property_positionst"; + case DF_Type::mental_picture_property_shapest: return "mental_picture_property_shapest"; + case DF_Type::mental_picture_property_timest: return "mental_picture_property_timest"; + case DF_Type::mental_picture_property_toolst: return "mental_picture_property_toolst"; + case DF_Type::mental_picture_property_type: return "mental_picture_property_type"; + case DF_Type::mental_picture_propertyst: return "mental_picture_propertyst"; + case DF_Type::misc_trait_type: return "misc_trait_type"; + case DF_Type::mission: return "mission"; + case DF_Type::mission__T_details: return "mission__T_details"; + case DF_Type::mission__T_details__T_raid: return "mission__T_details__T_raid"; + case DF_Type::mission__T_details__T_raid__T_raid_flags: return "mission__T_details__T_raid__T_raid_flags"; + case DF_Type::mission__T_details__T_raid__T_raid_type: return "mission__T_details__T_raid__T_raid_type"; + case DF_Type::mission__T_details__T_recovery: return "mission__T_details__T_recovery"; + case DF_Type::mission__T_details__T_request: return "mission__T_details__T_request"; + case DF_Type::mission__T_details__T_rescue: return "mission__T_details__T_rescue"; + case DF_Type::mission__T_type: return "mission__T_type"; + case DF_Type::mission_campaign_report: return "mission_campaign_report"; + case DF_Type::mission_report: return "mission_report"; + case DF_Type::mood_type: return "mood_type"; + case DF_Type::mountain_peak_flags: return "mountain_peak_flags"; + case DF_Type::moving_party: return "moving_party"; + case DF_Type::moving_party__T_members: return "moving_party__T_members"; + case DF_Type::musical_form: return "musical_form"; + case DF_Type::musical_form__T_flags: return "musical_form__T_flags"; + case DF_Type::musical_form_feature: return "musical_form_feature"; + case DF_Type::musical_form_instruments: return "musical_form_instruments"; + case DF_Type::musical_form_instruments__T_substitutions: return "musical_form_instruments__T_substitutions"; + case DF_Type::musical_form_interval: return "musical_form_interval"; + case DF_Type::musical_form_interval__T_flags: return "musical_form_interval__T_flags"; + case DF_Type::musical_form_melodies: return "musical_form_melodies"; + case DF_Type::musical_form_pitch_style: return "musical_form_pitch_style"; + case DF_Type::musical_form_purpose: return "musical_form_purpose"; + case DF_Type::musical_form_style: return "musical_form_style"; + case DF_Type::musical_form_sub4: return "musical_form_sub4"; + case DF_Type::musical_form_vocals: return "musical_form_vocals"; + case DF_Type::need_type: return "need_type"; + case DF_Type::nemesis_flags: return "nemesis_flags"; + case DF_Type::nemesis_offload: return "nemesis_offload"; + case DF_Type::nemesis_record: return "nemesis_record"; + case DF_Type::occasion_schedule_feature: return "occasion_schedule_feature"; + case DF_Type::occasion_schedule_type: return "occasion_schedule_type"; + case DF_Type::occupation: return "occupation"; + case DF_Type::occupation_sub1: return "occupation_sub1"; + case DF_Type::occupation_type: return "occupation_type"; + case DF_Type::ocean_wave: return "ocean_wave"; + case DF_Type::organic_mat_category: return "organic_mat_category"; + case DF_Type::orientation_flags: return "orientation_flags"; + case DF_Type::pants_flags: return "pants_flags"; + case DF_Type::part_of_speech: return "part_of_speech"; + case DF_Type::party_info: return "party_info"; + case DF_Type::pattern_type: return "pattern_type"; + case DF_Type::performance_event_type: return "performance_event_type"; + case DF_Type::performance_participant_type: return "performance_participant_type"; + case DF_Type::performance_play_orderst: return "performance_play_orderst"; + case DF_Type::performance_play_orderst__T_anon_4: return "performance_play_orderst__T_anon_4"; + case DF_Type::personality_facet_type: return "personality_facet_type"; + case DF_Type::physical_attribute_type: return "physical_attribute_type"; + case DF_Type::pitch_choice_type: return "pitch_choice_type"; + case DF_Type::plant: return "plant"; + case DF_Type::plant__T_damage_flags: return "plant__T_damage_flags"; + case DF_Type::plant_flags: return "plant_flags"; + case DF_Type::plant_growth: return "plant_growth"; + case DF_Type::plant_growth__T_behavior: return "plant_growth__T_behavior"; + case DF_Type::plant_growth__T_locations: return "plant_growth__T_locations"; + case DF_Type::plant_growth_print: return "plant_growth_print"; + case DF_Type::plant_raw: return "plant_raw"; + case DF_Type::plant_raw__T_colors: return "plant_raw__T_colors"; + case DF_Type::plant_raw__T_material_defs: return "plant_raw__T_material_defs"; + case DF_Type::plant_raw__T_stockpile_growth_flags: return "plant_raw__T_stockpile_growth_flags"; + case DF_Type::plant_raw__T_tiles: return "plant_raw__T_tiles"; + case DF_Type::plant_raw_flags: return "plant_raw_flags"; + case DF_Type::plant_tree_info: return "plant_tree_info"; + case DF_Type::plant_tree_tile: return "plant_tree_tile"; + case DF_Type::poetic_form: return "poetic_form"; + case DF_Type::poetic_form___union0: return "poetic_form___union0"; + case DF_Type::poetic_form__T_flags: return "poetic_form__T_flags"; + case DF_Type::poetic_form_action: return "poetic_form_action"; + case DF_Type::poetic_form_additional_feature: return "poetic_form_additional_feature"; + case DF_Type::poetic_form_caesura_position: return "poetic_form_caesura_position"; + case DF_Type::poetic_form_feature: return "poetic_form_feature"; + case DF_Type::poetic_form_mood: return "poetic_form_mood"; + case DF_Type::poetic_form_part: return "poetic_form_part"; + case DF_Type::poetic_form_part__T_flags: return "poetic_form_part__T_flags"; + case DF_Type::poetic_form_part__T_line_subject_targets: return "poetic_form_part__T_line_subject_targets"; + case DF_Type::poetic_form_pattern: return "poetic_form_pattern"; + case DF_Type::poetic_form_perspective: return "poetic_form_perspective"; + case DF_Type::poetic_form_perspective__T_type: return "poetic_form_perspective__T_type"; + case DF_Type::poetic_form_subject: return "poetic_form_subject"; + case DF_Type::popup_message: return "popup_message"; + case DF_Type::power_info: return "power_info"; + case DF_Type::pressure_plate_info: return "pressure_plate_info"; + case DF_Type::pressure_plate_info__T_flags: return "pressure_plate_info__T_flags"; + case DF_Type::profession: return "profession"; + case DF_Type::proj_itemst: return "proj_itemst"; + case DF_Type::proj_list_link: return "proj_list_link"; + case DF_Type::proj_magicst: return "proj_magicst"; + case DF_Type::proj_unitst: return "proj_unitst"; + case DF_Type::projectile: return "projectile"; + case DF_Type::projectile_flags: return "projectile_flags"; + case DF_Type::projectile_type: return "projectile_type"; + case DF_Type::punishment: return "punishment"; + case DF_Type::reaction: return "reaction"; + case DF_Type::reaction__T_building: return "reaction__T_building"; + case DF_Type::reaction_category: return "reaction_category"; + case DF_Type::reaction_description: return "reaction_description"; + case DF_Type::reaction_flags: return "reaction_flags"; + case DF_Type::reaction_product: return "reaction_product"; + case DF_Type::reaction_product_improvement_flags: return "reaction_product_improvement_flags"; + case DF_Type::reaction_product_item_flags: return "reaction_product_item_flags"; + case DF_Type::reaction_product_item_improvementst: return "reaction_product_item_improvementst"; + case DF_Type::reaction_product_item_improvementst__T_get_material: return "reaction_product_item_improvementst__T_get_material"; + case DF_Type::reaction_product_itemst: return "reaction_product_itemst"; + case DF_Type::reaction_product_itemst__T_get_material: return "reaction_product_itemst__T_get_material"; + case DF_Type::reaction_product_type: return "reaction_product_type"; + case DF_Type::reaction_reagent: return "reaction_reagent"; + case DF_Type::reaction_reagent_flags: return "reaction_reagent_flags"; + case DF_Type::reaction_reagent_itemst: return "reaction_reagent_itemst"; + case DF_Type::reaction_reagent_type: return "reaction_reagent_type"; + case DF_Type::region_block_event_sphere_fieldst: return "region_block_event_sphere_fieldst"; + case DF_Type::region_block_event_type: return "region_block_event_type"; + case DF_Type::region_block_eventst: return "region_block_eventst"; + case DF_Type::region_map_entry: return "region_map_entry"; + case DF_Type::region_map_entry__T_clouds: return "region_map_entry__T_clouds"; + case DF_Type::region_map_entry__T_wind: return "region_map_entry__T_wind"; + case DF_Type::region_map_entry_flags: return "region_map_entry_flags"; + case DF_Type::renderer: return "renderer"; + case DF_Type::report: return "report"; + case DF_Type::report__T_flags: return "report__T_flags"; + case DF_Type::reputation_type: return "reputation_type"; + case DF_Type::resource_allotment_data: return "resource_allotment_data"; + case DF_Type::resource_allotment_data__T_unk_654: return "resource_allotment_data__T_unk_654"; + case DF_Type::resource_allotment_specifier: return "resource_allotment_specifier"; + case DF_Type::resource_allotment_specifier_ammost: return "resource_allotment_specifier_ammost"; + case DF_Type::resource_allotment_specifier_anvilst: return "resource_allotment_specifier_anvilst"; + case DF_Type::resource_allotment_specifier_armor_bodyst: return "resource_allotment_specifier_armor_bodyst"; + case DF_Type::resource_allotment_specifier_armor_bootsst: return "resource_allotment_specifier_armor_bootsst"; + case DF_Type::resource_allotment_specifier_armor_glovesst: return "resource_allotment_specifier_armor_glovesst"; + case DF_Type::resource_allotment_specifier_armor_helmst: return "resource_allotment_specifier_armor_helmst"; + case DF_Type::resource_allotment_specifier_armor_pantsst: return "resource_allotment_specifier_armor_pantsst"; + case DF_Type::resource_allotment_specifier_backpackst: return "resource_allotment_specifier_backpackst"; + case DF_Type::resource_allotment_specifier_bagst: return "resource_allotment_specifier_bagst"; + case DF_Type::resource_allotment_specifier_bedst: return "resource_allotment_specifier_bedst"; + case DF_Type::resource_allotment_specifier_bonest: return "resource_allotment_specifier_bonest"; + case DF_Type::resource_allotment_specifier_boxst: return "resource_allotment_specifier_boxst"; + case DF_Type::resource_allotment_specifier_cabinetst: return "resource_allotment_specifier_cabinetst"; + case DF_Type::resource_allotment_specifier_chairst: return "resource_allotment_specifier_chairst"; + case DF_Type::resource_allotment_specifier_cheesest: return "resource_allotment_specifier_cheesest"; + case DF_Type::resource_allotment_specifier_clothing_bodyst: return "resource_allotment_specifier_clothing_bodyst"; + case DF_Type::resource_allotment_specifier_clothing_bootsst: return "resource_allotment_specifier_clothing_bootsst"; + case DF_Type::resource_allotment_specifier_clothing_glovesst: return "resource_allotment_specifier_clothing_glovesst"; + case DF_Type::resource_allotment_specifier_clothing_helmst: return "resource_allotment_specifier_clothing_helmst"; + case DF_Type::resource_allotment_specifier_clothing_pantsst: return "resource_allotment_specifier_clothing_pantsst"; + case DF_Type::resource_allotment_specifier_clothst: return "resource_allotment_specifier_clothst"; + case DF_Type::resource_allotment_specifier_craftsst: return "resource_allotment_specifier_craftsst"; + case DF_Type::resource_allotment_specifier_cropst: return "resource_allotment_specifier_cropst"; + case DF_Type::resource_allotment_specifier_extractst: return "resource_allotment_specifier_extractst"; + case DF_Type::resource_allotment_specifier_flaskst: return "resource_allotment_specifier_flaskst"; + case DF_Type::resource_allotment_specifier_gemsst: return "resource_allotment_specifier_gemsst"; + case DF_Type::resource_allotment_specifier_hornst: return "resource_allotment_specifier_hornst"; + case DF_Type::resource_allotment_specifier_leatherst: return "resource_allotment_specifier_leatherst"; + case DF_Type::resource_allotment_specifier_meatst: return "resource_allotment_specifier_meatst"; + case DF_Type::resource_allotment_specifier_metalst: return "resource_allotment_specifier_metalst"; + case DF_Type::resource_allotment_specifier_pearlst: return "resource_allotment_specifier_pearlst"; + case DF_Type::resource_allotment_specifier_powderst: return "resource_allotment_specifier_powderst"; + case DF_Type::resource_allotment_specifier_quiverst: return "resource_allotment_specifier_quiverst"; + case DF_Type::resource_allotment_specifier_shellst: return "resource_allotment_specifier_shellst"; + case DF_Type::resource_allotment_specifier_skinst: return "resource_allotment_specifier_skinst"; + case DF_Type::resource_allotment_specifier_soapst: return "resource_allotment_specifier_soapst"; + case DF_Type::resource_allotment_specifier_stonest: return "resource_allotment_specifier_stonest"; + case DF_Type::resource_allotment_specifier_tablest: return "resource_allotment_specifier_tablest"; + case DF_Type::resource_allotment_specifier_tallowst: return "resource_allotment_specifier_tallowst"; + case DF_Type::resource_allotment_specifier_threadst: return "resource_allotment_specifier_threadst"; + case DF_Type::resource_allotment_specifier_toothst: return "resource_allotment_specifier_toothst"; + case DF_Type::resource_allotment_specifier_type: return "resource_allotment_specifier_type"; + case DF_Type::resource_allotment_specifier_weapon_meleest: return "resource_allotment_specifier_weapon_meleest"; + case DF_Type::resource_allotment_specifier_weapon_rangedst: return "resource_allotment_specifier_weapon_rangedst"; + case DF_Type::resource_allotment_specifier_woodst: return "resource_allotment_specifier_woodst"; + case DF_Type::rhythm: return "rhythm"; + case DF_Type::rhythm_sub1: return "rhythm_sub1"; + case DF_Type::rhythm_sub1__T_anon_1: return "rhythm_sub1__T_anon_1"; + case DF_Type::rhythm_sub2: return "rhythm_sub2"; + case DF_Type::room_rent_info: return "room_rent_info"; + case DF_Type::room_rent_info__T_flags: return "room_rent_info__T_flags"; + case DF_Type::route_stockpile_link: return "route_stockpile_link"; + case DF_Type::route_stockpile_link__T_mode: return "route_stockpile_link__T_mode"; + case DF_Type::scale: return "scale"; + case DF_Type::scale__T_unk1: return "scale__T_unk1"; + case DF_Type::scale_sub1: return "scale_sub1"; + case DF_Type::scale_sub2: return "scale_sub2"; + case DF_Type::schedule_info: return "schedule_info"; + case DF_Type::schedule_slot: return "schedule_slot"; + case DF_Type::screw_pump_direction: return "screw_pump_direction"; + case DF_Type::scribejob: return "scribejob"; + case DF_Type::script_step_conditionalst: return "script_step_conditionalst"; + case DF_Type::script_step_conditionalst__T_condition: return "script_step_conditionalst__T_condition"; + case DF_Type::script_step_constructtopiclistst: return "script_step_constructtopiclistst"; + case DF_Type::script_step_dipeventst: return "script_step_dipeventst"; + case DF_Type::script_step_diphistoryst: return "script_step_diphistoryst"; + case DF_Type::script_step_discussst: return "script_step_discussst"; + case DF_Type::script_step_eventst: return "script_step_eventst"; + case DF_Type::script_step_invasionst: return "script_step_invasionst"; + case DF_Type::script_step_setvarst: return "script_step_setvarst"; + case DF_Type::script_step_simpleactionst: return "script_step_simpleactionst"; + case DF_Type::script_step_textviewerst: return "script_step_textviewerst"; + case DF_Type::script_step_topicdiscussionst: return "script_step_topicdiscussionst"; + case DF_Type::script_stepst: return "script_stepst"; + case DF_Type::script_var_longst: return "script_var_longst"; + case DF_Type::script_var_unitst: return "script_var_unitst"; + case DF_Type::script_varst: return "script_varst"; + case DF_Type::setup_character_info: return "setup_character_info"; + case DF_Type::setup_character_info__T_status: return "setup_character_info__T_status"; + case DF_Type::shoes_flags: return "shoes_flags"; + case DF_Type::shop_type: return "shop_type"; + case DF_Type::siegeengine_type: return "siegeengine_type"; + case DF_Type::site_building_item: return "site_building_item"; + case DF_Type::site_dispute_type: return "site_dispute_type"; + case DF_Type::site_realization_building: return "site_realization_building"; + case DF_Type::site_realization_building__T_unk_4c: return "site_realization_building__T_unk_4c"; + case DF_Type::site_realization_building_info_castle_courtyardst: return "site_realization_building_info_castle_courtyardst"; + case DF_Type::site_realization_building_info_castle_towerst: return "site_realization_building_info_castle_towerst"; + case DF_Type::site_realization_building_info_castle_wallst: return "site_realization_building_info_castle_wallst"; + case DF_Type::site_realization_building_info_hillock_housest: return "site_realization_building_info_hillock_housest"; + case DF_Type::site_realization_building_info_market_squarest: return "site_realization_building_info_market_squarest"; + case DF_Type::site_realization_building_info_shop_housest: return "site_realization_building_info_shop_housest"; + case DF_Type::site_realization_building_info_tree_housest: return "site_realization_building_info_tree_housest"; + case DF_Type::site_realization_building_info_trenchesst: return "site_realization_building_info_trenchesst"; + case DF_Type::site_realization_building_info_trenchesst__T_spokes: return "site_realization_building_info_trenchesst__T_spokes"; + case DF_Type::site_realization_building_infost: return "site_realization_building_infost"; + case DF_Type::site_realization_building_type: return "site_realization_building_type"; + case DF_Type::site_realization_crossroads: return "site_realization_crossroads"; + case DF_Type::site_reputation_info: return "site_reputation_info"; + case DF_Type::site_reputation_report: return "site_reputation_report"; + case DF_Type::site_shop_type: return "site_shop_type"; + case DF_Type::site_type: return "site_type"; + case DF_Type::skill_rating: return "skill_rating"; + case DF_Type::slab_engraving_type: return "slab_engraving_type"; + case DF_Type::sound_production_type: return "sound_production_type"; + case DF_Type::spatter: return "spatter"; + case DF_Type::spatter__T_flags: return "spatter__T_flags"; + case DF_Type::spatter_common: return "spatter_common"; + case DF_Type::spatter_common__T_base_flags: return "spatter_common__T_base_flags"; + case DF_Type::special_mat_table: return "special_mat_table"; + case DF_Type::specific_ref: return "specific_ref"; + case DF_Type::specific_ref___union2: return "specific_ref___union2"; + case DF_Type::specific_ref__T_arg2: return "specific_ref__T_arg2"; + case DF_Type::specific_ref_type: return "specific_ref_type"; + case DF_Type::sphere_type: return "sphere_type"; + case DF_Type::spoils_report: return "spoils_report"; + case DF_Type::squad: return "squad"; + case DF_Type::squad__T_rooms: return "squad__T_rooms"; + case DF_Type::squad_ammo_spec: return "squad_ammo_spec"; + case DF_Type::squad_ammo_spec__T_flags: return "squad_ammo_spec__T_flags"; + case DF_Type::squad_event_type: return "squad_event_type"; + case DF_Type::squad_order: return "squad_order"; + case DF_Type::squad_order_cannot_reason: return "squad_order_cannot_reason"; + case DF_Type::squad_order_cause_trouble_for_entityst: return "squad_order_cause_trouble_for_entityst"; + case DF_Type::squad_order_defend_burrowsst: return "squad_order_defend_burrowsst"; + case DF_Type::squad_order_drive_armies_from_sitest: return "squad_order_drive_armies_from_sitest"; + case DF_Type::squad_order_drive_entity_off_sitest: return "squad_order_drive_entity_off_sitest"; + case DF_Type::squad_order_kill_hfst: return "squad_order_kill_hfst"; + case DF_Type::squad_order_kill_listst: return "squad_order_kill_listst"; + case DF_Type::squad_order_movest: return "squad_order_movest"; + case DF_Type::squad_order_patrol_routest: return "squad_order_patrol_routest"; + case DF_Type::squad_order_raid_sitest: return "squad_order_raid_sitest"; + case DF_Type::squad_order_rescue_hfst: return "squad_order_rescue_hfst"; + case DF_Type::squad_order_retrieve_artifactst: return "squad_order_retrieve_artifactst"; + case DF_Type::squad_order_trainst: return "squad_order_trainst"; + case DF_Type::squad_order_type: return "squad_order_type"; + case DF_Type::squad_position: return "squad_position"; + case DF_Type::squad_schedule_entry: return "squad_schedule_entry"; + case DF_Type::squad_schedule_order: return "squad_schedule_order"; + case DF_Type::squad_uniform_spec: return "squad_uniform_spec"; + case DF_Type::squad_use_flags: return "squad_use_flags"; + case DF_Type::stockpile_category: return "stockpile_category"; + case DF_Type::stockpile_group_set: return "stockpile_group_set"; + case DF_Type::stockpile_links: return "stockpile_links"; + case DF_Type::stockpile_list: return "stockpile_list"; + case DF_Type::stockpile_settings: return "stockpile_settings"; + case DF_Type::stockpile_settings__T_ammo: return "stockpile_settings__T_ammo"; + case DF_Type::stockpile_settings__T_animals: return "stockpile_settings__T_animals"; + case DF_Type::stockpile_settings__T_armor: return "stockpile_settings__T_armor"; + case DF_Type::stockpile_settings__T_bars_blocks: return "stockpile_settings__T_bars_blocks"; + case DF_Type::stockpile_settings__T_cloth: return "stockpile_settings__T_cloth"; + case DF_Type::stockpile_settings__T_coins: return "stockpile_settings__T_coins"; + case DF_Type::stockpile_settings__T_finished_goods: return "stockpile_settings__T_finished_goods"; + case DF_Type::stockpile_settings__T_food: return "stockpile_settings__T_food"; + case DF_Type::stockpile_settings__T_furniture: return "stockpile_settings__T_furniture"; + case DF_Type::stockpile_settings__T_gems: return "stockpile_settings__T_gems"; + case DF_Type::stockpile_settings__T_leather: return "stockpile_settings__T_leather"; + case DF_Type::stockpile_settings__T_ore: return "stockpile_settings__T_ore"; + case DF_Type::stockpile_settings__T_refuse: return "stockpile_settings__T_refuse"; + case DF_Type::stockpile_settings__T_sheet: return "stockpile_settings__T_sheet"; + case DF_Type::stockpile_settings__T_stone: return "stockpile_settings__T_stone"; + case DF_Type::stockpile_settings__T_weapons: return "stockpile_settings__T_weapons"; + case DF_Type::stockpile_settings__T_wood: return "stockpile_settings__T_wood"; + case DF_Type::stop_depart_condition: return "stop_depart_condition"; + case DF_Type::stop_depart_condition__T_direction: return "stop_depart_condition__T_direction"; + case DF_Type::stop_depart_condition__T_flags: return "stop_depart_condition__T_flags"; + case DF_Type::stop_depart_condition__T_mode: return "stop_depart_condition__T_mode"; + case DF_Type::strain_type: return "strain_type"; + case DF_Type::stratus_type: return "stratus_type"; + case DF_Type::syndrome: return "syndrome"; + case DF_Type::syndrome_flags: return "syndrome_flags"; + case DF_Type::T_cursor: return "T_cursor"; + case DF_Type::T_selection_rect: return "T_selection_rect"; + case DF_Type::tactical_situation: return "tactical_situation"; + case DF_Type::talk_choice: return "talk_choice"; + case DF_Type::talk_choice__T_unk: return "talk_choice__T_unk"; + case DF_Type::talk_choice_type: return "talk_choice_type"; + case DF_Type::temperaturest: return "temperaturest"; + case DF_Type::text_info_element_longst: return "text_info_element_longst"; + case DF_Type::text_info_element_stringst: return "text_info_element_stringst"; + case DF_Type::text_info_elementst: return "text_info_elementst"; + case DF_Type::texture_handler: return "texture_handler"; + case DF_Type::tile_bitmask: return "tile_bitmask"; + case DF_Type::tile_building_occ: return "tile_building_occ"; + case DF_Type::tile_designation: return "tile_designation"; + case DF_Type::tile_dig_designation: return "tile_dig_designation"; + case DF_Type::tile_liquid: return "tile_liquid"; + case DF_Type::tile_liquid_flow: return "tile_liquid_flow"; + case DF_Type::tile_liquid_flow_dir: return "tile_liquid_flow_dir"; + case DF_Type::tile_occupancy: return "tile_occupancy"; + case DF_Type::tile_page: return "tile_page"; + case DF_Type::tile_traffic: return "tile_traffic"; + case DF_Type::tiletype: return "tiletype"; + case DF_Type::tiletype_material: return "tiletype_material"; + case DF_Type::tiletype_shape: return "tiletype_shape"; + case DF_Type::tiletype_shape_basic: return "tiletype_shape_basic"; + case DF_Type::tiletype_special: return "tiletype_special"; + case DF_Type::tiletype_variant: return "tiletype_variant"; + case DF_Type::timbre_type: return "timbre_type"; + case DF_Type::timed_event: return "timed_event"; + case DF_Type::timed_event_type: return "timed_event_type"; + case DF_Type::tissue: return "tissue"; + case DF_Type::tissue_flags: return "tissue_flags"; + case DF_Type::tissue_style_raw: return "tissue_style_raw"; + case DF_Type::tissue_style_type: return "tissue_style_type"; + case DF_Type::tissue_template: return "tissue_template"; + case DF_Type::tool_flags: return "tool_flags"; + case DF_Type::tool_uses: return "tool_uses"; + case DF_Type::tower_shape: return "tower_shape"; + case DF_Type::toy_flags: return "toy_flags"; + case DF_Type::training_assignment: return "training_assignment"; + case DF_Type::training_assignment__T_flags: return "training_assignment__T_flags"; + case DF_Type::training_knowledge_level: return "training_knowledge_level"; + case DF_Type::trap_type: return "trap_type"; + case DF_Type::trapcomp_flags: return "trapcomp_flags"; + case DF_Type::tree_house_type: return "tree_house_type"; + case DF_Type::tuning_type: return "tuning_type"; + case DF_Type::ui: return "ui"; + case DF_Type::ui__T_alerts: return "ui__T_alerts"; + case DF_Type::ui__T_alerts__T_list: return "ui__T_alerts__T_list"; + case DF_Type::ui__T_becoming_capital: return "ui__T_becoming_capital"; + case DF_Type::ui__T_burrows: return "ui__T_burrows"; + case DF_Type::ui__T_economy_prices: return "ui__T_economy_prices"; + case DF_Type::ui__T_economy_prices__T_price_adjustment: return "ui__T_economy_prices__T_price_adjustment"; + case DF_Type::ui__T_economy_prices__T_price_setter: return "ui__T_economy_prices__T_price_setter"; + case DF_Type::ui__T_equipment: return "ui__T_equipment"; + case DF_Type::ui__T_equipment__T_update: return "ui__T_equipment__T_update"; + case DF_Type::ui__T_hauling: return "ui__T_hauling"; + case DF_Type::ui__T_invasions: return "ui__T_invasions"; + case DF_Type::ui__T_kitchen: return "ui__T_kitchen"; + case DF_Type::ui__T_main: return "ui__T_main"; + case DF_Type::ui__T_main__T_dead_citizens: return "ui__T_main__T_dead_citizens"; + case DF_Type::ui__T_map_edge: return "ui__T_map_edge"; + case DF_Type::ui__T_squads: return "ui__T_squads"; + case DF_Type::ui__T_stockpile: return "ui__T_stockpile"; + case DF_Type::ui__T_tax_collection: return "ui__T_tax_collection"; + case DF_Type::ui__T_unk23c8_flags: return "ui__T_unk23c8_flags"; + case DF_Type::ui__T_unk2a8c: return "ui__T_unk2a8c"; + case DF_Type::ui__T_waypoints: return "ui__T_waypoints"; + case DF_Type::ui__T_waypoints__T_points: return "ui__T_waypoints__T_points"; + case DF_Type::ui__T_waypoints__T_routes: return "ui__T_waypoints__T_routes"; + case DF_Type::ui_advmode: return "ui_advmode"; + case DF_Type::ui_advmode__T_assume_identity: return "ui_advmode__T_assume_identity"; + case DF_Type::ui_advmode__T_companions: return "ui_advmode__T_companions"; + case DF_Type::ui_advmode__T_conversation: return "ui_advmode__T_conversation"; + case DF_Type::ui_advmode__T_conversation__T_choices: return "ui_advmode__T_conversation__T_choices"; + case DF_Type::ui_advmode__T_conversation__T_targets: return "ui_advmode__T_conversation__T_targets"; + case DF_Type::ui_advmode__T_conversation__T_targets__T_type: return "ui_advmode__T_conversation__T_targets__T_type"; + case DF_Type::ui_advmode__T_interactions: return "ui_advmode__T_interactions"; + case DF_Type::ui_advmode__T_show_menu: return "ui_advmode__T_show_menu"; + case DF_Type::ui_advmode__T_travel_right_map: return "ui_advmode__T_travel_right_map"; + case DF_Type::ui_advmode__T_unk_3124: return "ui_advmode__T_unk_3124"; + case DF_Type::ui_advmode__T_unk_3170: return "ui_advmode__T_unk_3170"; + case DF_Type::ui_advmode__T_unk_3170__T_unk_2: return "ui_advmode__T_unk_3170__T_unk_2"; + case DF_Type::ui_advmode__T_unk_v40_1: return "ui_advmode__T_unk_v40_1"; + case DF_Type::ui_advmode__T_unk_v40_2: return "ui_advmode__T_unk_v40_2"; + case DF_Type::ui_advmode__T_unk_v40_3: return "ui_advmode__T_unk_v40_3"; + case DF_Type::ui_advmode__T_unk_v40_4: return "ui_advmode__T_unk_v40_4"; + case DF_Type::ui_advmode__T_unk_v40_4__T_unk_v40_4a: return "ui_advmode__T_unk_v40_4__T_unk_v40_4a"; + case DF_Type::ui_advmode__T_unk_v40_5: return "ui_advmode__T_unk_v40_5"; + case DF_Type::ui_advmode__T_unk_v42_1: return "ui_advmode__T_unk_v42_1"; + case DF_Type::ui_advmode_menu: return "ui_advmode_menu"; + case DF_Type::ui_build_item_req: return "ui_build_item_req"; + case DF_Type::ui_build_selector: return "ui_build_selector"; + case DF_Type::ui_hotkey: return "ui_hotkey"; + case DF_Type::ui_hotkey___union4: return "ui_hotkey___union4"; + case DF_Type::ui_hotkey__T_cmd: return "ui_hotkey__T_cmd"; + case DF_Type::ui_look_list: return "ui_look_list"; + case DF_Type::ui_look_list__T_items: return "ui_look_list__T_items"; + case DF_Type::ui_look_list__T_items___union3: return "ui_look_list__T_items___union3"; + case DF_Type::ui_look_list__T_items__T_type: return "ui_look_list__T_items__T_type"; + case DF_Type::ui_sidebar_menus: return "ui_sidebar_menus"; + case DF_Type::ui_sidebar_menus__T_barracks: return "ui_sidebar_menus__T_barracks"; + case DF_Type::ui_sidebar_menus__T_building: return "ui_sidebar_menus__T_building"; + case DF_Type::ui_sidebar_menus__T_command_line: return "ui_sidebar_menus__T_command_line"; + case DF_Type::ui_sidebar_menus__T_designation: return "ui_sidebar_menus__T_designation"; + case DF_Type::ui_sidebar_menus__T_designation__T_mine_mode: return "ui_sidebar_menus__T_designation__T_mine_mode"; + case DF_Type::ui_sidebar_menus__T_hospital: return "ui_sidebar_menus__T_hospital"; + case DF_Type::ui_sidebar_menus__T_job_details: return "ui_sidebar_menus__T_job_details"; + case DF_Type::ui_sidebar_menus__T_location: return "ui_sidebar_menus__T_location"; + case DF_Type::ui_sidebar_menus__T_minimap: return "ui_sidebar_menus__T_minimap"; + case DF_Type::ui_sidebar_menus__T_unit: return "ui_sidebar_menus__T_unit"; + case DF_Type::ui_sidebar_menus__T_unit__T_expel_error: return "ui_sidebar_menus__T_unit__T_expel_error"; + case DF_Type::ui_sidebar_menus__T_unit_cursor: return "ui_sidebar_menus__T_unit_cursor"; + case DF_Type::ui_sidebar_menus__T_unit_skills: return "ui_sidebar_menus__T_unit_skills"; + case DF_Type::ui_sidebar_menus__T_workshop_job: return "ui_sidebar_menus__T_workshop_job"; + case DF_Type::ui_sidebar_menus__T_zone: return "ui_sidebar_menus__T_zone"; + case DF_Type::ui_sidebar_menus__T_zone__T_mode: return "ui_sidebar_menus__T_zone__T_mode"; + case DF_Type::ui_sidebar_mode: return "ui_sidebar_mode"; + case DF_Type::ui_unit_view_mode: return "ui_unit_view_mode"; + case DF_Type::ui_unit_view_mode__T_value: return "ui_unit_view_mode__T_value"; + case DF_Type::uniform_category: return "uniform_category"; + case DF_Type::uniform_flags: return "uniform_flags"; + case DF_Type::uniform_indiv_choice: return "uniform_indiv_choice"; + case DF_Type::unit: return "unit"; + case DF_Type::unit__T_animal: return "unit__T_animal"; + case DF_Type::unit__T_appearance: return "unit__T_appearance"; + case DF_Type::unit__T_body: return "unit__T_body"; + case DF_Type::unit__T_counters: return "unit__T_counters"; + case DF_Type::unit__T_counters2: return "unit__T_counters2"; + case DF_Type::unit__T_counters__T_soldier_mood: return "unit__T_counters__T_soldier_mood"; + case DF_Type::unit__T_curse: return "unit__T_curse"; + case DF_Type::unit__T_enemy: return "unit__T_enemy"; + case DF_Type::unit__T_enemy__T_undead: return "unit__T_enemy__T_undead"; + case DF_Type::unit__T_enemy__T_unk_448: return "unit__T_enemy__T_unk_448"; + case DF_Type::unit__T_enemy__T_unk_448__T_unk: return "unit__T_enemy__T_unk_448__T_unk"; + case DF_Type::unit__T_enemy__T_unk_44c: return "unit__T_enemy__T_unk_44c"; + case DF_Type::unit__T_enemy__T_unk_v40_sub3: return "unit__T_enemy__T_unk_v40_sub3"; + case DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_2: return "unit__T_enemy__T_unk_v40_sub3__T_unk_2"; + case DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_6: return "unit__T_enemy__T_unk_v40_sub3__T_unk_6"; + case DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7: return "unit__T_enemy__T_unk_v40_sub3__T_unk_7"; + case DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7__T_unk_sub1: return "unit__T_enemy__T_unk_v40_sub3__T_unk_7__T_unk_sub1"; + case DF_Type::unit__T_enemy__T_witness_reports: return "unit__T_enemy__T_witness_reports"; + case DF_Type::unit__T_job: return "unit__T_job"; + case DF_Type::unit__T_meeting: return "unit__T_meeting"; + case DF_Type::unit__T_meeting__T_state: return "unit__T_meeting__T_state"; + case DF_Type::unit__T_military: return "unit__T_military"; + case DF_Type::unit__T_military__T_pickup_flags: return "unit__T_military__T_pickup_flags"; + case DF_Type::unit__T_opponent: return "unit__T_opponent"; + case DF_Type::unit__T_path: return "unit__T_path"; + case DF_Type::unit__T_reports: return "unit__T_reports"; + case DF_Type::unit__T_status: return "unit__T_status"; + case DF_Type::unit__T_status2: return "unit__T_status2"; + case DF_Type::unit__T_status__T_eat_history: return "unit__T_status__T_eat_history"; + case DF_Type::unit__T_status__T_eat_history__T_drink: return "unit__T_status__T_eat_history__T_drink"; + case DF_Type::unit__T_status__T_eat_history__T_food: return "unit__T_status__T_eat_history__T_food"; + case DF_Type::unit__T_syndromes: return "unit__T_syndromes"; + case DF_Type::unit__T_unknown7: return "unit__T_unknown7"; + case DF_Type::unit_action: return "unit_action"; + case DF_Type::unit_action__T_data: return "unit_action__T_data"; + case DF_Type::unit_action__T_data__T_attack: return "unit_action__T_data__T_attack"; + case DF_Type::unit_action__T_data__T_attack__T_flags: return "unit_action__T_data__T_attack__T_flags"; + case DF_Type::unit_action__T_data__T_attack__T_unk_4: return "unit_action__T_data__T_attack__T_unk_4"; + case DF_Type::unit_action__T_data__T_block: return "unit_action__T_data__T_block"; + case DF_Type::unit_action__T_data__T_climb: return "unit_action__T_data__T_climb"; + case DF_Type::unit_action__T_data__T_dodge: return "unit_action__T_data__T_dodge"; + case DF_Type::unit_action__T_data__T_holditem: return "unit_action__T_data__T_holditem"; + case DF_Type::unit_action__T_data__T_holdterrain: return "unit_action__T_data__T_holdterrain"; + case DF_Type::unit_action__T_data__T_job: return "unit_action__T_data__T_job"; + case DF_Type::unit_action__T_data__T_job2: return "unit_action__T_data__T_job2"; + case DF_Type::unit_action__T_data__T_jump: return "unit_action__T_data__T_jump"; + case DF_Type::unit_action__T_data__T_liedown: return "unit_action__T_data__T_liedown"; + case DF_Type::unit_action__T_data__T_move: return "unit_action__T_data__T_move"; + case DF_Type::unit_action__T_data__T_move__T_flags: return "unit_action__T_data__T_move__T_flags"; + case DF_Type::unit_action__T_data__T_parry: return "unit_action__T_data__T_parry"; + case DF_Type::unit_action__T_data__T_pushobject: return "unit_action__T_data__T_pushobject"; + case DF_Type::unit_action__T_data__T_recover: return "unit_action__T_data__T_recover"; + case DF_Type::unit_action__T_data__T_releaseitem: return "unit_action__T_data__T_releaseitem"; + case DF_Type::unit_action__T_data__T_releaseterrain: return "unit_action__T_data__T_releaseterrain"; + case DF_Type::unit_action__T_data__T_standup: return "unit_action__T_data__T_standup"; + case DF_Type::unit_action__T_data__T_suckblood: return "unit_action__T_data__T_suckblood"; + case DF_Type::unit_action__T_data__T_talk: return "unit_action__T_data__T_talk"; + case DF_Type::unit_action__T_data__T_unsteady: return "unit_action__T_data__T_unsteady"; + case DF_Type::unit_action_type: return "unit_action_type"; + case DF_Type::unit_appearance: return "unit_appearance"; + case DF_Type::unit_attribute: return "unit_attribute"; + case DF_Type::unit_bp_health_flags: return "unit_bp_health_flags"; + case DF_Type::unit_chunk: return "unit_chunk"; + case DF_Type::unit_chunk__T_units: return "unit_chunk__T_units"; + case DF_Type::unit_coin_debt: return "unit_coin_debt"; + case DF_Type::unit_complaint: return "unit_complaint"; + case DF_Type::unit_complaint__T_type: return "unit_complaint__T_type"; + case DF_Type::unit_dance_skill: return "unit_dance_skill"; + case DF_Type::unit_demand: return "unit_demand"; + case DF_Type::unit_demand__T_place: return "unit_demand__T_place"; + case DF_Type::unit_emotion_memory: return "unit_emotion_memory"; + case DF_Type::unit_flags1: return "unit_flags1"; + case DF_Type::unit_flags2: return "unit_flags2"; + case DF_Type::unit_flags3: return "unit_flags3"; + case DF_Type::unit_flags4: return "unit_flags4"; + case DF_Type::unit_genes: return "unit_genes"; + case DF_Type::unit_ghost_info: return "unit_ghost_info"; + case DF_Type::unit_ghost_info__T_flags: return "unit_ghost_info__T_flags"; + case DF_Type::unit_ghost_info__T_target: return "unit_ghost_info__T_target"; + case DF_Type::unit_health_flags: return "unit_health_flags"; + case DF_Type::unit_health_info: return "unit_health_info"; + case DF_Type::unit_health_info__T_op_history: return "unit_health_info__T_op_history"; + case DF_Type::unit_health_info__T_op_history__T_info: return "unit_health_info__T_op_history__T_info"; + case DF_Type::unit_health_info__T_op_history__T_info__T_bandage: return "unit_health_info__T_op_history__T_info__T_bandage"; + case DF_Type::unit_health_info__T_op_history__T_info__T_crutch: return "unit_health_info__T_op_history__T_info__T_crutch"; + case DF_Type::unit_instrument_skill: return "unit_instrument_skill"; + case DF_Type::unit_inventory_item: return "unit_inventory_item"; + case DF_Type::unit_inventory_item__T_mode: return "unit_inventory_item__T_mode"; + case DF_Type::unit_item_use: return "unit_item_use"; + case DF_Type::unit_item_wrestle: return "unit_item_wrestle"; + case DF_Type::unit_labor: return "unit_labor"; + case DF_Type::unit_labor_category: return "unit_labor_category"; + case DF_Type::unit_misc_trait: return "unit_misc_trait"; + case DF_Type::unit_musical_skill: return "unit_musical_skill"; + case DF_Type::unit_path_goal: return "unit_path_goal"; + case DF_Type::unit_personality: return "unit_personality"; + case DF_Type::unit_personality__T_dreams: return "unit_personality__T_dreams"; + case DF_Type::unit_personality__T_emotions: return "unit_personality__T_emotions"; + case DF_Type::unit_personality__T_emotions__T_flags: return "unit_personality__T_emotions__T_flags"; + case DF_Type::unit_personality__T_flags: return "unit_personality__T_flags"; + case DF_Type::unit_personality__T_memories: return "unit_personality__T_memories"; + case DF_Type::unit_personality__T_memories__T_reflected_on: return "unit_personality__T_memories__T_reflected_on"; + case DF_Type::unit_personality__T_needs: return "unit_personality__T_needs"; + case DF_Type::unit_personality__T_unk5: return "unit_personality__T_unk5"; + case DF_Type::unit_personality__T_unk_v40_2: return "unit_personality__T_unk_v40_2"; + case DF_Type::unit_personality__T_unk_v40_6: return "unit_personality__T_unk_v40_6"; + case DF_Type::unit_personality__T_values: return "unit_personality__T_values"; + case DF_Type::unit_poetic_skill: return "unit_poetic_skill"; + case DF_Type::unit_preference: return "unit_preference"; + case DF_Type::unit_preference___union5: return "unit_preference___union5"; + case DF_Type::unit_preference__T_type: return "unit_preference__T_type"; + case DF_Type::unit_relationship_type: return "unit_relationship_type"; + case DF_Type::unit_report_type: return "unit_report_type"; + case DF_Type::unit_request: return "unit_request"; + case DF_Type::unit_request__T_type: return "unit_request__T_type"; + case DF_Type::unit_skill: return "unit_skill"; + case DF_Type::unit_soul: return "unit_soul"; + case DF_Type::unit_soul__T_performance_skills: return "unit_soul__T_performance_skills"; + case DF_Type::unit_station_type: return "unit_station_type"; + case DF_Type::unit_storage_status: return "unit_storage_status"; + case DF_Type::unit_syndrome: return "unit_syndrome"; + case DF_Type::unit_syndrome__T_flags: return "unit_syndrome__T_flags"; + case DF_Type::unit_syndrome__T_symptoms: return "unit_syndrome__T_symptoms"; + case DF_Type::unit_syndrome__T_symptoms__T_flags: return "unit_syndrome__T_symptoms__T_flags"; + case DF_Type::unit_thought_type: return "unit_thought_type"; + case DF_Type::unit_unk_138: return "unit_unk_138"; + case DF_Type::unit_wound: return "unit_wound"; + case DF_Type::unit_wound__T_flags: return "unit_wound__T_flags"; + case DF_Type::unit_wound__T_parts: return "unit_wound__T_parts"; + case DF_Type::units_other_id: return "units_other_id"; + case DF_Type::value_type: return "value_type"; + case DF_Type::vehicle: return "vehicle"; + case DF_Type::vermin: return "vermin"; + case DF_Type::vermin_flags: return "vermin_flags"; + case DF_Type::viewscreen: return "viewscreen"; + case DF_Type::viewscreen_adopt_regionst: return "viewscreen_adopt_regionst"; + case DF_Type::viewscreen_adventure_logst: return "viewscreen_adventure_logst"; + case DF_Type::viewscreen_adventure_logst__T_info_mode: return "viewscreen_adventure_logst__T_info_mode"; + case DF_Type::viewscreen_adventure_logst__T_mode: return "viewscreen_adventure_logst__T_mode"; + case DF_Type::viewscreen_announcelistst: return "viewscreen_announcelistst"; + case DF_Type::viewscreen_assign_display_itemst: return "viewscreen_assign_display_itemst"; + case DF_Type::viewscreen_assign_display_itemst__T_sel_column: return "viewscreen_assign_display_itemst__T_sel_column"; + case DF_Type::viewscreen_barterst: return "viewscreen_barterst"; + case DF_Type::viewscreen_buildinglistst: return "viewscreen_buildinglistst"; + case DF_Type::viewscreen_buildingst: return "viewscreen_buildingst"; + case DF_Type::viewscreen_choose_start_sitest: return "viewscreen_choose_start_sitest"; + case DF_Type::viewscreen_choose_start_sitest__T_finder: return "viewscreen_choose_start_sitest__T_finder"; + case DF_Type::viewscreen_choose_start_sitest__T_page: return "viewscreen_choose_start_sitest__T_page"; + case DF_Type::viewscreen_civlistst: return "viewscreen_civlistst"; + case DF_Type::viewscreen_civlistst__T_artifact_details: return "viewscreen_civlistst__T_artifact_details"; + case DF_Type::viewscreen_civlistst__T_page: return "viewscreen_civlistst__T_page"; + case DF_Type::viewscreen_civlistst__T_rumors: return "viewscreen_civlistst__T_rumors"; + case DF_Type::viewscreen_civlistst__T_rumors__T_type: return "viewscreen_civlistst__T_rumors__T_type"; + case DF_Type::viewscreen_civlistst__T_unk_cache: return "viewscreen_civlistst__T_unk_cache"; + case DF_Type::viewscreen_civlistst__T_unk_cache__T_tmp1: return "viewscreen_civlistst__T_unk_cache__T_tmp1"; + case DF_Type::viewscreen_civlistst__T_unk_cache__T_tmp2: return "viewscreen_civlistst__T_unk_cache__T_tmp2"; + case DF_Type::viewscreen_createquotast: return "viewscreen_createquotast"; + case DF_Type::viewscreen_customize_unitst: return "viewscreen_customize_unitst"; + case DF_Type::viewscreen_dungeon_monsterstatusst: return "viewscreen_dungeon_monsterstatusst"; + case DF_Type::viewscreen_dungeon_wrestlest: return "viewscreen_dungeon_wrestlest"; + case DF_Type::viewscreen_dungeon_wrestlest__T_unk1: return "viewscreen_dungeon_wrestlest__T_unk1"; + case DF_Type::viewscreen_dungeonmodest: return "viewscreen_dungeonmodest"; + case DF_Type::viewscreen_dwarfmodest: return "viewscreen_dwarfmodest"; + case DF_Type::viewscreen_entityst: return "viewscreen_entityst"; + case DF_Type::viewscreen_export_graphical_mapst: return "viewscreen_export_graphical_mapst"; + case DF_Type::viewscreen_export_regionst: return "viewscreen_export_regionst"; + case DF_Type::viewscreen_export_regionst__T_unk1: return "viewscreen_export_regionst__T_unk1"; + case DF_Type::viewscreen_game_cleanerst: return "viewscreen_game_cleanerst"; + case DF_Type::viewscreen_game_cleanerst__T_state: return "viewscreen_game_cleanerst__T_state"; + case DF_Type::viewscreen_image_creator_mode: return "viewscreen_image_creator_mode"; + case DF_Type::viewscreen_image_creatorst: return "viewscreen_image_creatorst"; + case DF_Type::viewscreen_image_creatorst__T_artifacts: return "viewscreen_image_creatorst__T_artifacts"; + case DF_Type::viewscreen_image_creatorst__T_descriptions: return "viewscreen_image_creatorst__T_descriptions"; + case DF_Type::viewscreen_image_creatorst__T_entities: return "viewscreen_image_creatorst__T_entities"; + case DF_Type::viewscreen_image_creatorst__T_objects: return "viewscreen_image_creatorst__T_objects"; + case DF_Type::viewscreen_image_creatorst__T_plants: return "viewscreen_image_creatorst__T_plants"; + case DF_Type::viewscreen_image_creatorst__T_shapes: return "viewscreen_image_creatorst__T_shapes"; + case DF_Type::viewscreen_image_creatorst__T_sites: return "viewscreen_image_creatorst__T_sites"; + case DF_Type::viewscreen_image_creatorst__T_trees: return "viewscreen_image_creatorst__T_trees"; + case DF_Type::viewscreen_itemst: return "viewscreen_itemst"; + case DF_Type::viewscreen_joblistst: return "viewscreen_joblistst"; + case DF_Type::viewscreen_jobmanagementst: return "viewscreen_jobmanagementst"; + case DF_Type::viewscreen_jobst: return "viewscreen_jobst"; + case DF_Type::viewscreen_justicest: return "viewscreen_justicest"; + case DF_Type::viewscreen_justicest__T_cur_column: return "viewscreen_justicest__T_cur_column"; + case DF_Type::viewscreen_kitchenpref_page: return "viewscreen_kitchenpref_page"; + case DF_Type::viewscreen_kitchenprefst: return "viewscreen_kitchenprefst"; + case DF_Type::viewscreen_layer: return "viewscreen_layer"; + case DF_Type::viewscreen_layer_arena_creaturest: return "viewscreen_layer_arena_creaturest"; + case DF_Type::viewscreen_layer_assigntradest: return "viewscreen_layer_assigntradest"; + case DF_Type::viewscreen_layer_choose_language_namest: return "viewscreen_layer_choose_language_namest"; + case DF_Type::viewscreen_layer_choose_language_namest__T_current_component: return "viewscreen_layer_choose_language_namest__T_current_component"; + case DF_Type::viewscreen_layer_currencyst: return "viewscreen_layer_currencyst"; + case DF_Type::viewscreen_layer_export_play_mapst: return "viewscreen_layer_export_play_mapst"; + case DF_Type::viewscreen_layer_militaryst: return "viewscreen_layer_militaryst"; + case DF_Type::viewscreen_layer_militaryst__T_ammo: return "viewscreen_layer_militaryst__T_ammo"; + case DF_Type::viewscreen_layer_militaryst__T_ammo__T_add_item: return "viewscreen_layer_militaryst__T_ammo__T_add_item"; + case DF_Type::viewscreen_layer_militaryst__T_ammo__T_material: return "viewscreen_layer_militaryst__T_ammo__T_material"; + case DF_Type::viewscreen_layer_militaryst__T_equip: return "viewscreen_layer_militaryst__T_equip"; + case DF_Type::viewscreen_layer_militaryst__T_equip__T_add_item: return "viewscreen_layer_militaryst__T_equip__T_add_item"; + case DF_Type::viewscreen_layer_militaryst__T_equip__T_assigned: return "viewscreen_layer_militaryst__T_equip__T_assigned"; + case DF_Type::viewscreen_layer_militaryst__T_equip__T_color: return "viewscreen_layer_militaryst__T_equip__T_color"; + case DF_Type::viewscreen_layer_militaryst__T_equip__T_edit_mode: return "viewscreen_layer_militaryst__T_equip__T_edit_mode"; + case DF_Type::viewscreen_layer_militaryst__T_equip__T_material: return "viewscreen_layer_militaryst__T_equip__T_material"; + case DF_Type::viewscreen_layer_militaryst__T_equip__T_mode: return "viewscreen_layer_militaryst__T_equip__T_mode"; + case DF_Type::viewscreen_layer_militaryst__T_equip__T_uniform: return "viewscreen_layer_militaryst__T_equip__T_uniform"; + case DF_Type::viewscreen_layer_militaryst__T_page: return "viewscreen_layer_militaryst__T_page"; + case DF_Type::viewscreen_layer_militaryst__T_positions: return "viewscreen_layer_militaryst__T_positions"; + case DF_Type::viewscreen_layer_militaryst__T_squad_members: return "viewscreen_layer_militaryst__T_squad_members"; + case DF_Type::viewscreen_layer_militaryst__T_squads: return "viewscreen_layer_militaryst__T_squads"; + case DF_Type::viewscreen_layer_musicsoundst: return "viewscreen_layer_musicsoundst"; + case DF_Type::viewscreen_layer_noblelistst: return "viewscreen_layer_noblelistst"; + case DF_Type::viewscreen_layer_noblelistst__T_candidates: return "viewscreen_layer_noblelistst__T_candidates"; + case DF_Type::viewscreen_layer_noblelistst__T_info: return "viewscreen_layer_noblelistst__T_info"; + case DF_Type::viewscreen_layer_noblelistst__T_mode: return "viewscreen_layer_noblelistst__T_mode"; + case DF_Type::viewscreen_layer_overall_healthst: return "viewscreen_layer_overall_healthst"; + case DF_Type::viewscreen_layer_reactionst: return "viewscreen_layer_reactionst"; + case DF_Type::viewscreen_layer_squad_schedulest: return "viewscreen_layer_squad_schedulest"; + case DF_Type::viewscreen_layer_stockpilest: return "viewscreen_layer_stockpilest"; + case DF_Type::viewscreen_layer_stone_restrictionst: return "viewscreen_layer_stone_restrictionst"; + case DF_Type::viewscreen_layer_unit_actionst: return "viewscreen_layer_unit_actionst"; + case DF_Type::viewscreen_layer_unit_healthst: return "viewscreen_layer_unit_healthst"; + case DF_Type::viewscreen_layer_unit_relationshipst: return "viewscreen_layer_unit_relationshipst"; + case DF_Type::viewscreen_layer_world_gen_param_presetst: return "viewscreen_layer_world_gen_param_presetst"; + case DF_Type::viewscreen_layer_world_gen_paramst: return "viewscreen_layer_world_gen_paramst"; + case DF_Type::viewscreen_layer_world_gen_paramst__T_unk1: return "viewscreen_layer_world_gen_paramst__T_unk1"; + case DF_Type::viewscreen_legendsst: return "viewscreen_legendsst"; + case DF_Type::viewscreen_legendsst__T_anon_7: return "viewscreen_legendsst__T_anon_7"; + case DF_Type::viewscreen_legendsst__T_anon_7__T_anon_3: return "viewscreen_legendsst__T_anon_7__T_anon_3"; + case DF_Type::viewscreen_legendsst__T_cur_page: return "viewscreen_legendsst__T_cur_page"; + case DF_Type::viewscreen_loadgamest: return "viewscreen_loadgamest"; + case DF_Type::viewscreen_loadgamest__T_cur_step: return "viewscreen_loadgamest__T_cur_step"; + case DF_Type::viewscreen_locationsst: return "viewscreen_locationsst"; + case DF_Type::viewscreen_locationsst__T_in_edit: return "viewscreen_locationsst__T_in_edit"; + case DF_Type::viewscreen_locationsst__T_menu: return "viewscreen_locationsst__T_menu"; + case DF_Type::viewscreen_meetingst: return "viewscreen_meetingst"; + case DF_Type::viewscreen_movieplayerst: return "viewscreen_movieplayerst"; + case DF_Type::viewscreen_new_regionst: return "viewscreen_new_regionst"; + case DF_Type::viewscreen_noblest: return "viewscreen_noblest"; + case DF_Type::viewscreen_optionst: return "viewscreen_optionst"; + case DF_Type::viewscreen_optionst__T_options: return "viewscreen_optionst__T_options"; + case DF_Type::viewscreen_overallstatusst: return "viewscreen_overallstatusst"; + case DF_Type::viewscreen_overallstatusst__T_visible_pages: return "viewscreen_overallstatusst__T_visible_pages"; + case DF_Type::viewscreen_petitionsst: return "viewscreen_petitionsst"; + case DF_Type::viewscreen_petst: return "viewscreen_petst"; + case DF_Type::viewscreen_petst__T_animal: return "viewscreen_petst__T_animal"; + case DF_Type::viewscreen_petst__T_mode: return "viewscreen_petst__T_mode"; + case DF_Type::viewscreen_petst__T_trainer_mode: return "viewscreen_petst__T_trainer_mode"; + case DF_Type::viewscreen_pricest: return "viewscreen_pricest"; + case DF_Type::viewscreen_reportlistst: return "viewscreen_reportlistst"; + case DF_Type::viewscreen_requestagreementst: return "viewscreen_requestagreementst"; + case DF_Type::viewscreen_savegamest: return "viewscreen_savegamest"; + case DF_Type::viewscreen_selectitemst: return "viewscreen_selectitemst"; + case DF_Type::viewscreen_setupadventurest: return "viewscreen_setupadventurest"; + case DF_Type::viewscreen_setupadventurest__T_background_type: return "viewscreen_setupadventurest__T_background_type"; + case DF_Type::viewscreen_setupadventurest__T_page: return "viewscreen_setupadventurest__T_page"; + case DF_Type::viewscreen_setupadventurest__T_races_info: return "viewscreen_setupadventurest__T_races_info"; + case DF_Type::viewscreen_setupadventurest__T_sel_trait_column: return "viewscreen_setupadventurest__T_sel_trait_column"; + case DF_Type::viewscreen_setupdwarfgamest: return "viewscreen_setupdwarfgamest"; + case DF_Type::viewscreen_setupdwarfgamest__T_animals: return "viewscreen_setupdwarfgamest__T_animals"; + case DF_Type::viewscreen_setupdwarfgamest__T_choice_types: return "viewscreen_setupdwarfgamest__T_choice_types"; + case DF_Type::viewscreen_setupdwarfgamest__T_mode: return "viewscreen_setupdwarfgamest__T_mode"; + case DF_Type::viewscreen_setupdwarfgamest__T_unk_v43: return "viewscreen_setupdwarfgamest__T_unk_v43"; + case DF_Type::viewscreen_setupdwarfgamest__T_unk_v43__T_unk_v43_sub9: return "viewscreen_setupdwarfgamest__T_unk_v43__T_unk_v43_sub9"; + case DF_Type::viewscreen_storesst: return "viewscreen_storesst"; + case DF_Type::viewscreen_textviewerst: return "viewscreen_textviewerst"; + case DF_Type::viewscreen_textviewerst__T_formatted_text: return "viewscreen_textviewerst__T_formatted_text"; + case DF_Type::viewscreen_textviewerst__T_formatted_text__T_flags: return "viewscreen_textviewerst__T_formatted_text__T_flags"; + case DF_Type::viewscreen_titlest: return "viewscreen_titlest"; + case DF_Type::viewscreen_titlest__T_menu_line_id: return "viewscreen_titlest__T_menu_line_id"; + case DF_Type::viewscreen_titlest__T_sel_subpage: return "viewscreen_titlest__T_sel_subpage"; + case DF_Type::viewscreen_titlest__T_start_savegames: return "viewscreen_titlest__T_start_savegames"; + case DF_Type::viewscreen_topicmeeting_fill_land_holder_positionsst: return "viewscreen_topicmeeting_fill_land_holder_positionsst"; + case DF_Type::viewscreen_topicmeeting_takerequestsst: return "viewscreen_topicmeeting_takerequestsst"; + case DF_Type::viewscreen_topicmeetingst: return "viewscreen_topicmeetingst"; + case DF_Type::viewscreen_tradeagreementst: return "viewscreen_tradeagreementst"; + case DF_Type::viewscreen_tradegoodsst: return "viewscreen_tradegoodsst"; + case DF_Type::viewscreen_tradelistst: return "viewscreen_tradelistst"; + case DF_Type::viewscreen_treasurelistst: return "viewscreen_treasurelistst"; + case DF_Type::viewscreen_unitlist_page: return "viewscreen_unitlist_page"; + case DF_Type::viewscreen_unitlistst: return "viewscreen_unitlistst"; + case DF_Type::viewscreen_unitst: return "viewscreen_unitst"; + case DF_Type::viewscreen_update_regionst: return "viewscreen_update_regionst"; + case DF_Type::viewscreen_wagesst: return "viewscreen_wagesst"; + case DF_Type::viewscreen_workquota_conditionst: return "viewscreen_workquota_conditionst"; + case DF_Type::viewscreen_workquota_conditionst__T_mode: return "viewscreen_workquota_conditionst__T_mode"; + case DF_Type::viewscreen_workquota_conditionst__T_traits: return "viewscreen_workquota_conditionst__T_traits"; + case DF_Type::viewscreen_workquota_conditionst__T_traits__T_flags: return "viewscreen_workquota_conditionst__T_traits__T_flags"; + case DF_Type::viewscreen_workquota_detailsst: return "viewscreen_workquota_detailsst"; + case DF_Type::viewscreen_workshop_profilest: return "viewscreen_workshop_profilest"; + case DF_Type::viewscreen_workshop_profilest__T_tab: return "viewscreen_workshop_profilest__T_tab"; + case DF_Type::weapon_attack: return "weapon_attack"; + case DF_Type::weapon_attack__T_flags: return "weapon_attack__T_flags"; + case DF_Type::weapon_flags: return "weapon_flags"; + case DF_Type::weather_type: return "weather_type"; + case DF_Type::web_cluster: return "web_cluster"; + case DF_Type::widget_menu: return "widget_menu"; + case DF_Type::widget_textbox: return "widget_textbox"; + case DF_Type::workshop_profile: return "workshop_profile"; + case DF_Type::workshop_type: return "workshop_type"; + case DF_Type::world: return "world"; + case DF_Type::world__T_activities: return "world__T_activities"; + case DF_Type::world__T_agreements: return "world__T_agreements"; + case DF_Type::world__T_arena_settings: return "world__T_arena_settings"; + case DF_Type::world__T_arena_spawn: return "world__T_arena_spawn"; + case DF_Type::world__T_arena_spawn__T_equipment: return "world__T_arena_spawn__T_equipment"; + case DF_Type::world__T_arena_spawn__T_item_types: return "world__T_arena_spawn__T_item_types"; + case DF_Type::world__T_armies: return "world__T_armies"; + case DF_Type::world__T_army_controllers: return "world__T_army_controllers"; + case DF_Type::world__T_army_tracking_info: return "world__T_army_tracking_info"; + case DF_Type::world__T_artifacts: return "world__T_artifacts"; + case DF_Type::world__T_belief_systems: return "world__T_belief_systems"; + case DF_Type::world__T_crimes: return "world__T_crimes"; + case DF_Type::world__T_cultural_identities: return "world__T_cultural_identities"; + case DF_Type::world__T_cur_savegame: return "world__T_cur_savegame"; + case DF_Type::world__T_dance_forms: return "world__T_dance_forms"; + case DF_Type::world__T_enemy_status_cache: return "world__T_enemy_status_cache"; + case DF_Type::world__T_entities: return "world__T_entities"; + case DF_Type::world__T_features: return "world__T_features"; + case DF_Type::world__T_flow_engine: return "world__T_flow_engine"; + case DF_Type::world__T_flow_guides: return "world__T_flow_guides"; + case DF_Type::world__T_formations: return "world__T_formations"; + case DF_Type::world__T_identities: return "world__T_identities"; + case DF_Type::world__T_incidents: return "world__T_incidents"; + case DF_Type::world__T_interaction_instances: return "world__T_interaction_instances"; + case DF_Type::world__T_items: return "world__T_items"; + case DF_Type::world__T_languages: return "world__T_languages"; + case DF_Type::world__T_map: return "world__T_map"; + case DF_Type::world__T_map_extras: return "world__T_map_extras"; + case DF_Type::world__T_math: return "world__T_math"; + case DF_Type::world__T_math__T_approx: return "world__T_math__T_approx"; + case DF_Type::world__T_musical_forms: return "world__T_musical_forms"; + case DF_Type::world__T_nemesis: return "world__T_nemesis"; + case DF_Type::world__T_occupations: return "world__T_occupations"; + case DF_Type::world__T_pathfinder: return "world__T_pathfinder"; + case DF_Type::world__T_pathfinder__T_boundary_heap: return "world__T_pathfinder__T_boundary_heap"; + case DF_Type::world__T_plants: return "world__T_plants"; + case DF_Type::world__T_poetic_forms: return "world__T_poetic_forms"; + case DF_Type::world__T_profession_skills: return "world__T_profession_skills"; + case DF_Type::world__T_rhythms: return "world__T_rhythms"; + case DF_Type::world__T_scales: return "world__T_scales"; + case DF_Type::world__T_schedules: return "world__T_schedules"; + case DF_Type::world__T_squads: return "world__T_squads"; + case DF_Type::world__T_status: return "world__T_status"; + case DF_Type::world__T_status__T_flags: return "world__T_status__T_flags"; + case DF_Type::world__T_status__T_slots: return "world__T_status__T_slots"; + case DF_Type::world__T_status__T_slots__T_flags: return "world__T_status__T_slots__T_flags"; + case DF_Type::world__T_stockpile: return "world__T_stockpile"; + case DF_Type::world__T_stockpile__T_simple1: return "world__T_stockpile__T_simple1"; + case DF_Type::world__T_stockpile__T_simple2: return "world__T_stockpile__T_simple2"; + case DF_Type::world__T_stockpile__T_simple3: return "world__T_stockpile__T_simple3"; + case DF_Type::world__T_units: return "world__T_units"; + case DF_Type::world__T_unk_131ec0: return "world__T_unk_131ec0"; + case DF_Type::world__T_unk_131ef0: return "world__T_unk_131ef0"; + case DF_Type::world__T_unk_131ef0__T_unk_2: return "world__T_unk_131ef0__T_unk_2"; + case DF_Type::world__T_unk_19325c: return "world__T_unk_19325c"; + case DF_Type::world__T_unk_19325c__T_anon_1: return "world__T_unk_19325c__T_anon_1"; + case DF_Type::world__T_unk_19325c__T_anon_2: return "world__T_unk_19325c__T_anon_2"; + case DF_Type::world__T_unk_19325c__T_anon_3: return "world__T_unk_19325c__T_anon_3"; + case DF_Type::world__T_unk_59dc4: return "world__T_unk_59dc4"; + case DF_Type::world__T_unk_59dc4__T_unk1: return "world__T_unk_59dc4__T_unk1"; + case DF_Type::world__T_unk_v40_6: return "world__T_unk_v40_6"; + case DF_Type::world__T_vehicles: return "world__T_vehicles"; + case DF_Type::world__T_vermin: return "world__T_vermin"; + case DF_Type::world__T_worldgen: return "world__T_worldgen"; + case DF_Type::world__T_worldgen__T_worldgen_parms: return "world__T_worldgen__T_worldgen_parms"; + case DF_Type::world__T_worldgen_coord_buf: return "world__T_worldgen_coord_buf"; + case DF_Type::world__T_worldgen_status: return "world__T_worldgen_status"; + case DF_Type::world__T_written_contents: return "world__T_written_contents"; + case DF_Type::world_construction: return "world_construction"; + case DF_Type::world_construction_bridgest: return "world_construction_bridgest"; + case DF_Type::world_construction_roadst: return "world_construction_roadst"; + case DF_Type::world_construction_square: return "world_construction_square"; + case DF_Type::world_construction_square_bridgest: return "world_construction_square_bridgest"; + case DF_Type::world_construction_square_roadst: return "world_construction_square_roadst"; + case DF_Type::world_construction_square_tunnelst: return "world_construction_square_tunnelst"; + case DF_Type::world_construction_square_wallst: return "world_construction_square_wallst"; + case DF_Type::world_construction_tunnelst: return "world_construction_tunnelst"; + case DF_Type::world_construction_type: return "world_construction_type"; + case DF_Type::world_construction_wallst: return "world_construction_wallst"; + case DF_Type::world_dat_summary: return "world_dat_summary"; + case DF_Type::world_data: return "world_data"; + case DF_Type::world_data__T_constructions: return "world_data__T_constructions"; + case DF_Type::world_data__T_feature_map: return "world_data__T_feature_map"; + case DF_Type::world_data__T_feature_map__T_features: return "world_data__T_feature_map__T_features"; + case DF_Type::world_data__T_flip_latitude: return "world_data__T_flip_latitude"; + case DF_Type::world_data__T_freakish_weather: return "world_data__T_freakish_weather"; + case DF_Type::world_data__T_mountain_peaks: return "world_data__T_mountain_peaks"; + case DF_Type::world_data__T_unk_150: return "world_data__T_unk_150"; + case DF_Type::world_data__T_unk_150__T_unk_18: return "world_data__T_unk_150__T_unk_18"; + case DF_Type::world_data__T_unk_150__T_unk_28: return "world_data__T_unk_150__T_unk_28"; + case DF_Type::world_data__T_unk_150__T_unk_8: return "world_data__T_unk_150__T_unk_8"; + case DF_Type::world_data__T_unk_170: return "world_data__T_unk_170"; + case DF_Type::world_data__T_unk_170__T_unk_4: return "world_data__T_unk_170__T_unk_4"; + case DF_Type::world_data__T_unk_274: return "world_data__T_unk_274"; + case DF_Type::world_data__T_unk_274__T_unk_10: return "world_data__T_unk_274__T_unk_10"; + case DF_Type::world_data__T_unk_482f8: return "world_data__T_unk_482f8"; + case DF_Type::world_data__T_unk_b4: return "world_data__T_unk_b4"; + case DF_Type::world_gen_param_basest: return "world_gen_param_basest"; + case DF_Type::world_gen_param_charst: return "world_gen_param_charst"; + case DF_Type::world_gen_param_memberst: return "world_gen_param_memberst"; + case DF_Type::world_gen_param_seedst: return "world_gen_param_seedst"; + case DF_Type::world_gen_param_valuest: return "world_gen_param_valuest"; + case DF_Type::world_geo_biome: return "world_geo_biome"; + case DF_Type::world_geo_layer: return "world_geo_layer"; + case DF_Type::world_history: return "world_history"; + case DF_Type::world_history__T_event_collections: return "world_history__T_event_collections"; + case DF_Type::world_landmass: return "world_landmass"; + case DF_Type::world_object_data: return "world_object_data"; + case DF_Type::world_object_data__T_offloaded_buildings: return "world_object_data__T_offloaded_buildings"; + case DF_Type::world_object_data__T_offloaded_items: return "world_object_data__T_offloaded_items"; + case DF_Type::world_object_data__T_unk_94: return "world_object_data__T_unk_94"; + case DF_Type::world_population: return "world_population"; + case DF_Type::world_population___union7: return "world_population___union7"; + case DF_Type::world_population_ref: return "world_population_ref"; + case DF_Type::world_population_type: return "world_population_type"; + case DF_Type::world_raws: return "world_raws"; + case DF_Type::world_raws__T_bodyglosses: return "world_raws__T_bodyglosses"; + case DF_Type::world_raws__T_buildings: return "world_raws__T_buildings"; + case DF_Type::world_raws__T_descriptors: return "world_raws__T_descriptors"; + case DF_Type::world_raws__T_effects: return "world_raws__T_effects"; + case DF_Type::world_raws__T_itemdefs: return "world_raws__T_itemdefs"; + case DF_Type::world_raws__T_language: return "world_raws__T_language"; + case DF_Type::world_raws__T_plants: return "world_raws__T_plants"; + case DF_Type::world_raws__T_reactions: return "world_raws__T_reactions"; + case DF_Type::world_raws__T_syndromes: return "world_raws__T_syndromes"; + case DF_Type::world_region: return "world_region"; + case DF_Type::world_region_details: return "world_region_details"; + case DF_Type::world_region_details__T_edges: return "world_region_details__T_edges"; + case DF_Type::world_region_details__T_rivers_horizontal: return "world_region_details__T_rivers_horizontal"; + case DF_Type::world_region_details__T_rivers_vertical: return "world_region_details__T_rivers_vertical"; + case DF_Type::world_region_feature: return "world_region_feature"; + case DF_Type::world_region_type: return "world_region_type"; + case DF_Type::world_river: return "world_river"; + case DF_Type::world_site: return "world_site"; + case DF_Type::world_site__T_subtype_info: return "world_site__T_subtype_info"; + case DF_Type::world_site__T_unk_1: return "world_site__T_unk_1"; + case DF_Type::world_site__T_unk_118: return "world_site__T_unk_118"; + case DF_Type::world_site__T_unk_13c: return "world_site__T_unk_13c"; + case DF_Type::world_site__T_unk_188: return "world_site__T_unk_188"; + case DF_Type::world_site__T_unk_188__T_unk1: return "world_site__T_unk_188__T_unk1"; + case DF_Type::world_site__T_unk_1__T_units: return "world_site__T_unk_1__T_units"; + case DF_Type::world_site__T_unk_21c: return "world_site__T_unk_21c"; + case DF_Type::world_site__T_unk_v40_2: return "world_site__T_unk_v40_2"; + case DF_Type::world_site__T_unk_v40_4a: return "world_site__T_unk_v40_4a"; + case DF_Type::world_site__T_unk_v40_4b: return "world_site__T_unk_v40_4b"; + case DF_Type::world_site__T_unk_v40_4c: return "world_site__T_unk_v40_4c"; + case DF_Type::world_site__T_unk_v40_4d: return "world_site__T_unk_v40_4d"; + case DF_Type::world_site__T_unk_v40_4d__T_anon_2: return "world_site__T_unk_v40_4d__T_anon_2"; + case DF_Type::world_site__T_unk_v43_2: return "world_site__T_unk_v43_2"; + case DF_Type::world_site_flags: return "world_site_flags"; + case DF_Type::world_site_inhabitant: return "world_site_inhabitant"; + case DF_Type::world_site_realization: return "world_site_realization"; + case DF_Type::world_site_realization__T_areas: return "world_site_realization__T_areas"; + case DF_Type::world_site_realization__T_areas__T_type: return "world_site_realization__T_areas__T_type"; + case DF_Type::world_site_realization__T_building_map: return "world_site_realization__T_building_map"; + case DF_Type::world_site_realization__T_river_map: return "world_site_realization__T_river_map"; + case DF_Type::world_site_realization__T_unk_193bc: return "world_site_realization__T_unk_193bc"; + case DF_Type::world_site_realization__T_unk_193bc__T_unk_8: return "world_site_realization__T_unk_193bc__T_unk_8"; + case DF_Type::world_site_realization__T_unk_55e8: return "world_site_realization__T_unk_55e8"; + case DF_Type::world_site_realization__T_unk_55e8__T_unk_v40_2: return "world_site_realization__T_unk_55e8__T_unk_v40_2"; + case DF_Type::world_site_type: return "world_site_type"; + case DF_Type::world_site_unk130: return "world_site_unk130"; + case DF_Type::world_site_unk130__T_unk_4: return "world_site_unk130__T_unk_4"; + case DF_Type::world_underground_region: return "world_underground_region"; + case DF_Type::world_underground_region__T_type: return "world_underground_region__T_type"; + case DF_Type::world_unk_20: return "world_unk_20"; + case DF_Type::world_unk_20__T_anon_7: return "world_unk_20__T_anon_7"; + case DF_Type::world_unk_6c: return "world_unk_6c"; + case DF_Type::world_unk_9c: return "world_unk_9c"; + case DF_Type::world_unk_a8: return "world_unk_a8"; + case DF_Type::world_unk_b4: return "world_unk_b4"; + case DF_Type::world_unk_c0: return "world_unk_c0"; + case DF_Type::world_unk_c0__T_anon_7: return "world_unk_c0__T_anon_7"; + case DF_Type::worldgen_range_type: return "worldgen_range_type"; + case DF_Type::worldgen_region_type: return "worldgen_region_type"; + case DF_Type::wound_curse_info: return "wound_curse_info"; + case DF_Type::wound_damage_flags1: return "wound_damage_flags1"; + case DF_Type::wound_damage_flags2: return "wound_damage_flags2"; + case DF_Type::wound_effect_type: return "wound_effect_type"; + case DF_Type::written_content: return "written_content"; + case DF_Type::written_content_style: return "written_content_style"; + case DF_Type::written_content_type: return "written_content_type"; + case DF_Type::z_level_flags: return "z_level_flags"; + case DF_Type::zoom_commands: return "zoom_commands"; + } + return ""; +} +} + diff --git a/dwarfexplorer/generated/enum_sizes.cpp b/dwarfexplorer/generated/enum_sizes.cpp index e2d683c..9b06a4a 100644 --- a/dwarfexplorer/generated/enum_sizes.cpp +++ b/dwarfexplorer/generated/enum_sizes.cpp @@ -1,724 +1,706 @@ -/* - * Copyright 2019 Rafael Agundo - * - * This file is part of dwarfexplorer plugin for DFHack - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - * - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "df_all.h" -#include "node.h" -#include "offsets_cache.h" - - -using namespace rdf; - - -DF_Type enum_base_type(DF_Type p_enum) -{ - switch(p_enum) - { - case DF_Type::ui_advmode_menu: return DF_Type::int16_t; - case DF_Type::talk_choice_type: return DF_Type::int32_t; - case DF_Type::assume_identity_mode: return DF_Type::int32_t; - case DF_Type::announcement_type: return DF_Type::int16_t; - case DF_Type::art_image_element_type: return DF_Type::int32_t; - case DF_Type::art_image_property_type: return DF_Type::int32_t; - case DF_Type::art_image_property_verb: return DF_Type::int16_t; - case DF_Type::art_facet_type: return DF_Type::int32_t; - case DF_Type::poetic_form_action: return DF_Type::int32_t; - case DF_Type::poetic_form_pattern: return DF_Type::int32_t; - case DF_Type::poetic_form_caesura_position: return DF_Type::int32_t; - case DF_Type::poetic_form_mood: return DF_Type::int32_t; - case DF_Type::poetic_form_subject: return DF_Type::int32_t; - case DF_Type::poetic_form_additional_feature: return DF_Type::int32_t; - case DF_Type::poetic_form_perspective__T_type: return DF_Type::int32_t; - case DF_Type::musical_form_purpose: return DF_Type::int32_t; - case DF_Type::musical_form_style: return DF_Type::int32_t; - case DF_Type::musical_form_pitch_style: return DF_Type::int32_t; - case DF_Type::occupation_type: return DF_Type::int32_t; - case DF_Type::buildings_other_id: return DF_Type::int32_t; - case DF_Type::building_type: return DF_Type::int32_t; - case DF_Type::civzone_type: return DF_Type::int16_t; - case DF_Type::furnace_type: return DF_Type::int16_t; - case DF_Type::workshop_type: return DF_Type::int16_t; - case DF_Type::construction_type: return DF_Type::int16_t; - case DF_Type::shop_type: return DF_Type::int16_t; - case DF_Type::siegeengine_type: return DF_Type::int16_t; - case DF_Type::trap_type: return DF_Type::int16_t; - case DF_Type::dfhack_room_quality_level: return DF_Type::int32_t; - case DF_Type::creature_raw_flags: return DF_Type::int32_t; - case DF_Type::caste_raw_flags: return DF_Type::int32_t; - case DF_Type::body_part_raw_flags: return DF_Type::int32_t; - case DF_Type::appearance_modifier_type: return DF_Type::int16_t; - case DF_Type::body_part_layer_flags: return DF_Type::int32_t; - case DF_Type::appearance_modifier_growth_interval: return DF_Type::int16_t; - case DF_Type::gait_type: return DF_Type::int32_t; - case DF_Type::creature_graphics_role: return DF_Type::int32_t; - case DF_Type::tissue_style_type: return DF_Type::int16_t; - case DF_Type::body_part_template_flags: return DF_Type::int32_t; - case DF_Type::body_part_template_contype: return DF_Type::int16_t; - case DF_Type::tissue_flags: return DF_Type::int32_t; - case DF_Type::d_init_nickname: return DF_Type::int32_t; - case DF_Type::d_init_z_view: return DF_Type::int32_t; - case DF_Type::d_init_embark_confirm: return DF_Type::int32_t; - case DF_Type::d_init_idlers: return DF_Type::int16_t; - case DF_Type::d_init_tunnel: return DF_Type::int16_t; - case DF_Type::d_init_flags1: return DF_Type::int32_t; - case DF_Type::d_init_flags2: return DF_Type::int32_t; - case DF_Type::d_init_flags3: return DF_Type::int32_t; - case DF_Type::d_init_flags4: return DF_Type::int32_t; - case DF_Type::pattern_type: return DF_Type::int16_t; - case DF_Type::occasion_schedule_type: return DF_Type::int32_t; - case DF_Type::occasion_schedule_feature: return DF_Type::int32_t; - case DF_Type::entity_sell_category: return DF_Type::int16_t; - case DF_Type::historical_entity_type: return DF_Type::int16_t; - case DF_Type::training_knowledge_level: return DF_Type::int32_t; - case DF_Type::entity_position_flags: return DF_Type::int32_t; - case DF_Type::entity_material_category: return DF_Type::int16_t; - case DF_Type::entity_event_type: return DF_Type::int32_t; - case DF_Type::entity_raw_flags: return DF_Type::int32_t; - case DF_Type::site_type: return DF_Type::int32_t; - case DF_Type::ethic_type: return DF_Type::int32_t; - case DF_Type::ethic_response: return DF_Type::int16_t; - case DF_Type::entity_name_type: return DF_Type::int32_t; - case DF_Type::entity_position_raw_flags: return DF_Type::int32_t; - case DF_Type::entity_position_responsibility: return DF_Type::int16_t; - case DF_Type::weather_type: return DF_Type::int8_t; - case DF_Type::game_mode: return DF_Type::int32_t; - case DF_Type::game_type: return DF_Type::int32_t; - case DF_Type::lever_target_type: return DF_Type::int8_t; - case DF_Type::zoom_commands: return DF_Type::int32_t; - case DF_Type::reputation_type: return DF_Type::int32_t; - case DF_Type::histfig_flags: return DF_Type::int32_t; - case DF_Type::histfig_relationship_type: return DF_Type::int16_t; - case DF_Type::mental_picture_property_type: return DF_Type::int32_t; - case DF_Type::mental_picture_element_type: return DF_Type::int32_t; - case DF_Type::history_event_type: return DF_Type::int32_t; - case DF_Type::history_event_reason: return DF_Type::int32_t; - case DF_Type::death_type: return DF_Type::int16_t; - case DF_Type::entity_action_type: return DF_Type::int32_t; - case DF_Type::masterpiece_loss_type: return DF_Type::int16_t; - case DF_Type::history_event_hist_figure_woundedst__T_injury_type: return DF_Type::int16_t; - case DF_Type::history_event_simple_battle_subtype: return DF_Type::int16_t; - case DF_Type::histfig_body_state: return DF_Type::int8_t; - case DF_Type::history_event_hf_act_on_buildingst__T_action: return DF_Type::int32_t; - case DF_Type::site_dispute_type: return DF_Type::int32_t; - case DF_Type::insurrection_outcome: return DF_Type::int32_t; - case DF_Type::history_event_hf_act_on_artifactst__T_action: return DF_Type::int32_t; - case DF_Type::tactical_situation: return DF_Type::int32_t; - case DF_Type::history_event_collection_type: return DF_Type::int32_t; - case DF_Type::era_type: return DF_Type::int16_t; - case DF_Type::init_display_flags: return DF_Type::int32_t; - case DF_Type::init_media_flags: return DF_Type::int32_t; - case DF_Type::init_input_flags: return DF_Type::int32_t; - case DF_Type::init_window_flags: return DF_Type::int32_t; - case DF_Type::interaction_effect_type: return DF_Type::int32_t; - case DF_Type::interaction_effect_location_hint: return DF_Type::int32_t; - case DF_Type::interaction_source_type: return DF_Type::int32_t; - case DF_Type::interaction_source_usage_hint: return DF_Type::int32_t; - case DF_Type::interaction_target_type: return DF_Type::int32_t; - case DF_Type::interaction_target_location_type: return DF_Type::int32_t; - case DF_Type::breath_attack_type: return DF_Type::int16_t; - case DF_Type::item_type: return DF_Type::int16_t; - case DF_Type::ammo_flags: return DF_Type::int32_t; - case DF_Type::armor_general_flags: return DF_Type::int32_t; - case DF_Type::armor_flags: return DF_Type::int32_t; - case DF_Type::gloves_flags: return DF_Type::int32_t; - case DF_Type::helm_flags: return DF_Type::int32_t; - case DF_Type::instrument_flags: return DF_Type::int32_t; - case DF_Type::sound_production_type: return DF_Type::int32_t; - case DF_Type::pitch_choice_type: return DF_Type::int32_t; - case DF_Type::tuning_type: return DF_Type::int32_t; - case DF_Type::timbre_type: return DF_Type::int32_t; - case DF_Type::pants_flags: return DF_Type::int32_t; - case DF_Type::shoes_flags: return DF_Type::int32_t; - case DF_Type::tool_flags: return DF_Type::int32_t; - case DF_Type::tool_uses: return DF_Type::int16_t; - case DF_Type::toy_flags: return DF_Type::int32_t; - case DF_Type::trapcomp_flags: return DF_Type::int32_t; - case DF_Type::weapon_flags: return DF_Type::int32_t; - case DF_Type::items_other_id: return DF_Type::int32_t; - case DF_Type::job_item_vector_id: return DF_Type::int16_t; - case DF_Type::improvement_type: return DF_Type::int32_t; - case DF_Type::itemimprovement_specific_type: return DF_Type::int32_t; - case DF_Type::written_content_type: return DF_Type::int32_t; - case DF_Type::written_content_style: return DF_Type::int32_t; - case DF_Type::item_magicness_type: return DF_Type::int16_t; - case DF_Type::item_quality: return DF_Type::int16_t; - case DF_Type::slab_engraving_type: return DF_Type::int16_t; - case DF_Type::corpse_material_type: return DF_Type::int32_t; - case DF_Type::job_type_class: return DF_Type::int32_t; - case DF_Type::job_type: return DF_Type::int16_t; - case DF_Type::job_subtype_surgery: return DF_Type::int32_t; - case DF_Type::job_art_specification__T_type: return DF_Type::int32_t; - case DF_Type::manager_order_condition_order__T_condition: return DF_Type::int32_t; - case DF_Type::guild_id: return DF_Type::int16_t; - case DF_Type::interface_key: return DF_Type::Long; - case DF_Type::dfhack_knowledge_scholar_flag: return DF_Type::int32_t; - case DF_Type::part_of_speech: return DF_Type::int32_t; - case DF_Type::sphere_type: return DF_Type::int16_t; - case DF_Type::language_name_category: return DF_Type::int32_t; - case DF_Type::nemesis_flags: return DF_Type::int32_t; - case DF_Type::machine_type: return DF_Type::int32_t; - case DF_Type::screw_pump_direction: return DF_Type::int8_t; - case DF_Type::tile_traffic: return DF_Type::uint32_t; - case DF_Type::tile_dig_designation: return DF_Type::uint32_t; - case DF_Type::tile_liquid: return DF_Type::uint32_t; - case DF_Type::tile_building_occ: return DF_Type::uint32_t; - case DF_Type::tile_liquid_flow_dir: return DF_Type::uint16_t; - case DF_Type::block_square_event_type: return DF_Type::int32_t; - case DF_Type::feature_type: return DF_Type::int32_t; - case DF_Type::feature_init_flags: return DF_Type::int32_t; - case DF_Type::feature_alteration_type: return DF_Type::int32_t; - case DF_Type::world_construction_type: return DF_Type::int32_t; - case DF_Type::biome_type: return DF_Type::int32_t; - case DF_Type::flow_type: return DF_Type::int16_t; - case DF_Type::flow_guide_type: return DF_Type::int32_t; - case DF_Type::region_block_event_type: return DF_Type::int32_t; - case DF_Type::craft_material_class: return DF_Type::int32_t; - case DF_Type::builtin_mats: return DF_Type::int32_t; - case DF_Type::material_flags: return DF_Type::int32_t; - case DF_Type::matter_state: return DF_Type::int16_t; - case DF_Type::strain_type: return DF_Type::int32_t; - case DF_Type::inorganic_flags: return DF_Type::int32_t; - case DF_Type::environment_type: return DF_Type::int16_t; - case DF_Type::inclusion_type: return DF_Type::int16_t; - case DF_Type::organic_mat_category: return DF_Type::int32_t; - case DF_Type::meeting_topic: return DF_Type::int16_t; - case DF_Type::meeting_event_type: return DF_Type::int16_t; - case DF_Type::activity_event_type: return DF_Type::int32_t; - case DF_Type::conversation_menu: return DF_Type::int32_t; - case DF_Type::performance_event_type: return DF_Type::int32_t; - case DF_Type::performance_participant_type: return DF_Type::int32_t; - case DF_Type::uniform_category: return DF_Type::int16_t; - case DF_Type::barrack_preference_category: return DF_Type::int32_t; - case DF_Type::squad_event_type: return DF_Type::int16_t; - case DF_Type::squad_order_type: return DF_Type::int32_t; - case DF_Type::squad_order_cannot_reason: return DF_Type::int32_t; - case DF_Type::army_flags: return DF_Type::int32_t; - case DF_Type::unit_path_goal: return DF_Type::int16_t; - case DF_Type::unit_station_type: return DF_Type::int16_t; - case DF_Type::plant_raw_flags: return DF_Type::int32_t; - case DF_Type::projectile_type: return DF_Type::int32_t; - case DF_Type::reaction_flags: return DF_Type::int32_t; - case DF_Type::reaction_reagent_type: return DF_Type::int32_t; - case DF_Type::reaction_product_type: return DF_Type::int32_t; - case DF_Type::reaction_product_item_flags: return DF_Type::int32_t; - case DF_Type::reaction_product_improvement_flags: return DF_Type::int32_t; - case DF_Type::general_ref_type: return DF_Type::int32_t; - case DF_Type::specific_ref_type: return DF_Type::int32_t; - case DF_Type::histfig_entity_link_type: return DF_Type::int32_t; - case DF_Type::histfig_site_link_type: return DF_Type::int32_t; - case DF_Type::histfig_hf_link_type: return DF_Type::int32_t; - case DF_Type::entity_entity_link_type: return DF_Type::int16_t; - case DF_Type::resource_allotment_specifier_type: return DF_Type::int32_t; - case DF_Type::profession: return DF_Type::int16_t; - case DF_Type::unit_labor_category: return DF_Type::int32_t; - case DF_Type::unit_labor: return DF_Type::int32_t; - case DF_Type::job_skill_class: return DF_Type::int32_t; - case DF_Type::job_skill: return DF_Type::int16_t; - case DF_Type::hauler_type: return DF_Type::int32_t; - case DF_Type::furniture_type: return DF_Type::int32_t; - case DF_Type::stockpile_category: return DF_Type::int16_t; - case DF_Type::stockpile_list: return DF_Type::int32_t; - case DF_Type::creature_interaction_effect_type: return DF_Type::int32_t; - case DF_Type::creature_interaction_effect_target_mode: return DF_Type::int16_t; - case DF_Type::tiletype_shape_basic: return DF_Type::int32_t; - case DF_Type::tiletype_shape: return DF_Type::int32_t; - case DF_Type::tiletype_material: return DF_Type::int32_t; - case DF_Type::tiletype_variant: return DF_Type::int32_t; - case DF_Type::tiletype_special: return DF_Type::int32_t; - case DF_Type::tiletype: return DF_Type::int16_t; - case DF_Type::build_req_choice_type: return DF_Type::int32_t; - case DF_Type::ui_hotkey__T_cmd: return DF_Type::int16_t; - case DF_Type::ui_sidebar_mode: return DF_Type::int16_t; - case DF_Type::kitchen_exc_type: return DF_Type::int8_t; - case DF_Type::timed_event_type: return DF_Type::int16_t; - case DF_Type::emotion_type: return DF_Type::int32_t; - case DF_Type::unit_thought_type: return DF_Type::int32_t; - case DF_Type::value_type: return DF_Type::int32_t; - case DF_Type::goal_type: return DF_Type::int32_t; - case DF_Type::personality_facet_type: return DF_Type::uint16_t; - case DF_Type::physical_attribute_type: return DF_Type::int32_t; - case DF_Type::mental_attribute_type: return DF_Type::int32_t; - case DF_Type::mood_type: return DF_Type::int16_t; - case DF_Type::ghost_type: return DF_Type::int16_t; - case DF_Type::animal_training_level: return DF_Type::int32_t; - case DF_Type::unit_report_type: return DF_Type::int16_t; - case DF_Type::skill_rating: return DF_Type::int32_t; - case DF_Type::unit_relationship_type: return DF_Type::int16_t; - case DF_Type::need_type: return DF_Type::int32_t; - case DF_Type::ghost_goal: return DF_Type::int16_t; - case DF_Type::wound_effect_type: return DF_Type::int16_t; - case DF_Type::misc_trait_type: return DF_Type::int16_t; - case DF_Type::unit_action_type: return DF_Type::int32_t; - case DF_Type::interface_breakdown_types: return DF_Type::int8_t; - case DF_Type::embark_finder_option: return DF_Type::int32_t; - case DF_Type::viewscreen_image_creator_mode: return DF_Type::int32_t; - case DF_Type::viewscreen_kitchenpref_page: return DF_Type::int32_t; - case DF_Type::adventurer_attribute_level: return DF_Type::int32_t; - case DF_Type::viewscreen_unitlist_page: return DF_Type::int32_t; - case DF_Type::world_population_type: return DF_Type::int32_t; - case DF_Type::world_region_type: return DF_Type::int16_t; - case DF_Type::geo_layer_type: return DF_Type::int16_t; - case DF_Type::region_map_entry_flags: return DF_Type::int32_t; - case DF_Type::front_type: return DF_Type::uint16_t; - case DF_Type::cumulus_type: return DF_Type::uint16_t; - case DF_Type::stratus_type: return DF_Type::uint16_t; - case DF_Type::fog_type: return DF_Type::uint16_t; - case DF_Type::mountain_peak_flags: return DF_Type::int32_t; - case DF_Type::abstract_building_type: return DF_Type::int32_t; - case DF_Type::abstract_building_flags: return DF_Type::int32_t; - case DF_Type::world_site_type: return DF_Type::int16_t; - case DF_Type::world_site_flags: return DF_Type::int32_t; - case DF_Type::site_realization_building_type: return DF_Type::int32_t; - case DF_Type::site_shop_type: return DF_Type::int32_t; - case DF_Type::tree_house_type: return DF_Type::int32_t; - case DF_Type::hillock_house_type: return DF_Type::int32_t; - case DF_Type::creation_zone_pwg_alteration_type: return DF_Type::int32_t; - case DF_Type::worldgen_region_type: return DF_Type::int32_t; - case DF_Type::worldgen_range_type: return DF_Type::int32_t; - case DF_Type::units_other_id: return DF_Type::int32_t; - case DF_Type::conflict_level: return DF_Type::int32_t; - case DF_Type::combat_report_event_type: return DF_Type::int16_t; - case DF_Type::conversation__T_state: return DF_Type::int32_t; - case DF_Type::building_archerytargetst__T_archery_direction: return DF_Type::int8_t; - case DF_Type::building_bridgest__T_direction: return DF_Type::int8_t; - case DF_Type::building_siegeenginest__T_facing: return DF_Type::int8_t; - case DF_Type::building_siegeenginest__T_action: return DF_Type::int8_t; - case DF_Type::caste_body_info__T_interactions__T_type: return DF_Type::int32_t; - case DF_Type::caravan_state__T_trade_state: return DF_Type::int8_t; - case DF_Type::entity_event__T_data__T_insurrection_end__T_result: return DF_Type::int32_t; - case DF_Type::history_event_change_hf_statest__T_state: return DF_Type::int16_t; - case DF_Type::history_event_body_abusedst__T_props__T_pile_type: return DF_Type::int32_t; - case DF_Type::history_event_body_abusedst__T_abuse_type: return DF_Type::int16_t; - case DF_Type::history_event_hist_figure_travelst__T_reason: return DF_Type::int32_t; - case DF_Type::history_event_artifact_claim_formedst__T_claim_type: return DF_Type::int32_t; - case DF_Type::init_display__T_windowed: return DF_Type::int32_t; - case DF_Type::init_font__T_use_ttf: return DF_Type::int32_t; - case DF_Type::job_item_ref__T_role: return DF_Type::int32_t; - case DF_Type::manager_order__T_frequency: return DF_Type::int32_t; - case DF_Type::manager_order_condition_item__T_compare_type: return DF_Type::int32_t; - case DF_Type::mandate__T_mode: return DF_Type::int16_t; - case DF_Type::unit_demand__T_place: return DF_Type::int16_t; - case DF_Type::ui_advmode__T_conversation__T_targets__T_type: return DF_Type::int32_t; - case DF_Type::ui_advmode__T_travel_right_map: return DF_Type::int8_t; - case DF_Type::ui_advmode__T_show_menu: return DF_Type::int8_t; - case DF_Type::stop_depart_condition__T_direction: return DF_Type::int32_t; - case DF_Type::stop_depart_condition__T_mode: return DF_Type::int32_t; - case DF_Type::interface_button_construction_category_selectorst__T_category_id: return DF_Type::int32_t; - case DF_Type::ui_sidebar_menus__T_designation__T_mine_mode: return DF_Type::int32_t; - case DF_Type::ui_sidebar_menus__T_zone__T_mode: return DF_Type::int16_t; - case DF_Type::ui_sidebar_menus__T_unit__T_expel_error: return DF_Type::int32_t; - case DF_Type::ui_look_list__T_items__T_type: return DF_Type::int16_t; - case DF_Type::ui_unit_view_mode__T_value: return DF_Type::int32_t; - case DF_Type::unit__T_meeting__T_state: return DF_Type::int8_t; - case DF_Type::unit__T_counters__T_soldier_mood: return DF_Type::int16_t; - case DF_Type::unit_inventory_item__T_mode: return DF_Type::int16_t; - case DF_Type::unit_preference__T_type: return DF_Type::int16_t; - case DF_Type::unit_complaint__T_type: return DF_Type::int32_t; - case DF_Type::unit_request__T_type: return DF_Type::int16_t; - case DF_Type::KeybindingScreen__T_mode: return DF_Type::int32_t; - case DF_Type::viewscreen_adventure_logst__T_mode: return DF_Type::int8_t; - case DF_Type::viewscreen_adventure_logst__T_info_mode: return DF_Type::int16_t; - case DF_Type::viewscreen_assign_display_itemst__T_sel_column: return DF_Type::int32_t; - case DF_Type::viewscreen_choose_start_sitest__T_page: return DF_Type::int32_t; - case DF_Type::mission__T_details__T_raid__T_raid_type: return DF_Type::int32_t; - case DF_Type::mission__T_type: return DF_Type::int32_t; - case DF_Type::viewscreen_civlistst__T_rumors__T_type: return DF_Type::int32_t; - case DF_Type::viewscreen_civlistst__T_page: return DF_Type::int32_t; - case DF_Type::viewscreen_game_cleanerst__T_state: return DF_Type::int32_t; - case DF_Type::viewscreen_justicest__T_cur_column: return DF_Type::int32_t; - case DF_Type::assign_trade_status__T_status: return DF_Type::int8_t; - case DF_Type::viewscreen_layer_choose_language_namest__T_current_component: return DF_Type::int32_t; - case DF_Type::viewscreen_layer_militaryst__T_equip__T_mode: return DF_Type::int32_t; - case DF_Type::viewscreen_layer_militaryst__T_equip__T_edit_mode: return DF_Type::int32_t; - case DF_Type::viewscreen_layer_militaryst__T_page: return DF_Type::int32_t; - case DF_Type::viewscreen_layer_noblelistst__T_mode: return DF_Type::int16_t; - case DF_Type::viewscreen_legendsst__T_cur_page: return DF_Type::int16_t; - case DF_Type::viewscreen_locationsst__T_in_edit: return DF_Type::int32_t; - case DF_Type::viewscreen_locationsst__T_menu: return DF_Type::int32_t; - case DF_Type::viewscreen_petst__T_mode: return DF_Type::int32_t; - case DF_Type::setup_character_info__T_status: return DF_Type::int16_t; - case DF_Type::viewscreen_setupadventurest__T_page: return DF_Type::int32_t; - case DF_Type::viewscreen_setupadventurest__T_sel_trait_column: return DF_Type::int8_t; - case DF_Type::viewscreen_setupdwarfgamest__T_mode: return DF_Type::int32_t; - case DF_Type::viewscreen_titlest__T_sel_subpage: return DF_Type::int16_t; - case DF_Type::viewscreen_workquota_conditionst__T_mode: return DF_Type::int32_t; - case DF_Type::viewscreen_workshop_profilest__T_tab: return DF_Type::int32_t; - case DF_Type::world_underground_region__T_type: return DF_Type::int16_t; - case DF_Type::world_data__T_flip_latitude: return DF_Type::int16_t; - case DF_Type::abstract_building_dungeonst__T_dungeon_type: return DF_Type::int16_t; - case DF_Type::cultural_identity__T_group_log__T_join_type: return DF_Type::int32_t; - case DF_Type::world_site_realization__T_areas__T_type: return DF_Type::int32_t; - case DF_Type::crime__T_mode: return DF_Type::int32_t; - default: break; - } - return DF_Type::None; -} -std::pair enum_min_max(DF_Type p_enum) -{ - switch(p_enum) - { - case DF_Type::ui_advmode_menu: return std::pair(0,48); - case DF_Type::talk_choice_type: return std::pair(0,224); - case DF_Type::assume_identity_mode: return std::pair(0,4); - case DF_Type::announcement_type: return std::pair(0,324); - case DF_Type::art_image_element_type: return std::pair(0,4); - case DF_Type::art_image_property_type: return std::pair(0,1); - case DF_Type::art_image_property_verb: return std::pair(0,47); - case DF_Type::art_facet_type: return std::pair(0,3); - case DF_Type::poetic_form_action: return std::pair(0,21); - case DF_Type::poetic_form_pattern: return std::pair(0,11); - case DF_Type::poetic_form_caesura_position: return std::pair(0,2); - case DF_Type::poetic_form_mood: return std::pair(0,6); - case DF_Type::poetic_form_subject: return std::pair(-1,20); - case DF_Type::poetic_form_additional_feature: return std::pair(0,8); - case DF_Type::poetic_form_perspective__T_type: return std::pair(0,7); - case DF_Type::musical_form_purpose: return std::pair(0,3); - case DF_Type::musical_form_style: return std::pair(-1,71); - case DF_Type::musical_form_pitch_style: return std::pair(0,4); - case DF_Type::occupation_type: return std::pair(0,6); - case DF_Type::buildings_other_id: return std::pair(-1,90); - case DF_Type::building_type: return std::pair(-1,53); - case DF_Type::civzone_type: return std::pair(0,68); - case DF_Type::furnace_type: return std::pair(0,7); - case DF_Type::workshop_type: return std::pair(0,24); - case DF_Type::construction_type: return std::pair(-1,36); - case DF_Type::shop_type: return std::pair(0,3); - case DF_Type::siegeengine_type: return std::pair(0,1); - case DF_Type::trap_type: return std::pair(0,5); - case DF_Type::dfhack_room_quality_level: return std::pair(0,7); - case DF_Type::creature_raw_flags: return std::pair(0,111); - case DF_Type::caste_raw_flags: return std::pair(0,172); - case DF_Type::body_part_raw_flags: return std::pair(0,38); - case DF_Type::appearance_modifier_type: return std::pair(0,23); - case DF_Type::body_part_layer_flags: return std::pair(0,0); - case DF_Type::appearance_modifier_growth_interval: return std::pair(0,3); - case DF_Type::gait_type: return std::pair(0,4); - case DF_Type::creature_graphics_role: return std::pair(0,5); - case DF_Type::tissue_style_type: return std::pair(0,4); - case DF_Type::body_part_template_flags: return std::pair(0,30); - case DF_Type::body_part_template_contype: return std::pair(-1,4); - case DF_Type::tissue_flags: return std::pair(0,21); - case DF_Type::d_init_nickname: return std::pair(0,2); - case DF_Type::d_init_z_view: return std::pair(0,3); - case DF_Type::d_init_embark_confirm: return std::pair(0,2); - case DF_Type::d_init_idlers: return std::pair(-1,1); - case DF_Type::d_init_tunnel: return std::pair(0,2); - case DF_Type::d_init_flags1: return std::pair(0,3); - case DF_Type::d_init_flags2: return std::pair(0,2); - case DF_Type::d_init_flags3: return std::pair(0,0); - case DF_Type::d_init_flags4: return std::pair(0,18); - case DF_Type::pattern_type: return std::pair(0,5); - case DF_Type::occasion_schedule_type: return std::pair(0,14); - case DF_Type::occasion_schedule_feature: return std::pair(0,18); - case DF_Type::entity_sell_category: return std::pair(0,63); - case DF_Type::historical_entity_type: return std::pair(0,8); - case DF_Type::training_knowledge_level: return std::pair(0,5); - case DF_Type::entity_position_flags: return std::pair(0,31); - case DF_Type::entity_material_category: return std::pair(-1,31); - case DF_Type::entity_event_type: return std::pair(0,33); - case DF_Type::entity_raw_flags: return std::pair(0,73); - case DF_Type::site_type: return std::pair(0,10); - case DF_Type::ethic_type: return std::pair(0,21); - case DF_Type::ethic_response: return std::pair(0,16); - case DF_Type::entity_name_type: return std::pair(0,15); - case DF_Type::entity_position_raw_flags: return std::pair(0,24); - case DF_Type::entity_position_responsibility: return std::pair(-1,24); - case DF_Type::weather_type: return std::pair(0,2); - case DF_Type::game_mode: return std::pair(0,3); - case DF_Type::game_type: return std::pair(0,11); - case DF_Type::lever_target_type: return std::pair(-1,119); - case DF_Type::zoom_commands: return std::pair(0,4); - case DF_Type::reputation_type: return std::pair(0,31); - case DF_Type::histfig_flags: return std::pair(0,15); - case DF_Type::histfig_relationship_type: return std::pair(-1,64); - case DF_Type::mental_picture_property_type: return std::pair(0,8); - case DF_Type::mental_picture_element_type: return std::pair(0,2); - case DF_Type::history_event_type: return std::pair(0,112); - case DF_Type::history_event_reason: return std::pair(-1,77); - case DF_Type::death_type: return std::pair(-1,53); - case DF_Type::entity_action_type: return std::pair(0,1); - case DF_Type::masterpiece_loss_type: return std::pair(0,5); - case DF_Type::history_event_hist_figure_woundedst__T_injury_type: return std::pair(0,3); - case DF_Type::history_event_simple_battle_subtype: return std::pair(0,9); - case DF_Type::histfig_body_state: return std::pair(0,6); - case DF_Type::history_event_hf_act_on_buildingst__T_action: return std::pair(0,2); - case DF_Type::site_dispute_type: return std::pair(0,5); - case DF_Type::insurrection_outcome: return std::pair(0,2); - case DF_Type::history_event_hf_act_on_artifactst__T_action: return std::pair(0,1); - case DF_Type::tactical_situation: return std::pair(0,6); - case DF_Type::history_event_collection_type: return std::pair(0,15); - case DF_Type::era_type: return std::pair(0,12); - case DF_Type::init_display_flags: return std::pair(0,14); - case DF_Type::init_media_flags: return std::pair(0,2); - case DF_Type::init_input_flags: return std::pair(0,1); - case DF_Type::init_window_flags: return std::pair(0,3); - case DF_Type::interaction_effect_type: return std::pair(0,6); - case DF_Type::interaction_effect_location_hint: return std::pair(0,3); - case DF_Type::interaction_source_type: return std::pair(0,7); - case DF_Type::interaction_source_usage_hint: return std::pair(0,7); - case DF_Type::interaction_target_type: return std::pair(0,3); - case DF_Type::interaction_target_location_type: return std::pair(-1,5); - case DF_Type::breath_attack_type: return std::pair(0,20); - case DF_Type::item_type: return std::pair(-1,90); - case DF_Type::ammo_flags: return std::pair(0,0); - case DF_Type::armor_general_flags: return std::pair(0,10); - case DF_Type::armor_flags: return std::pair(0,0); - case DF_Type::gloves_flags: return std::pair(0,0); - case DF_Type::helm_flags: return std::pair(0,0); - case DF_Type::instrument_flags: return std::pair(0,8); - case DF_Type::sound_production_type: return std::pair(0,20); - case DF_Type::pitch_choice_type: return std::pair(0,11); - case DF_Type::tuning_type: return std::pair(0,4); - case DF_Type::timbre_type: return std::pair(0,62); - case DF_Type::pants_flags: return std::pair(0,0); - case DF_Type::shoes_flags: return std::pair(0,0); - case DF_Type::tool_flags: return std::pair(0,19); - case DF_Type::tool_uses: return std::pair(-1,22); - case DF_Type::toy_flags: return std::pair(0,0); - case DF_Type::trapcomp_flags: return std::pair(0,4); - case DF_Type::weapon_flags: return std::pair(0,2); - case DF_Type::items_other_id: return std::pair(-1,132); - case DF_Type::job_item_vector_id: return std::pair(0,129); - case DF_Type::improvement_type: return std::pair(0,12); - case DF_Type::itemimprovement_specific_type: return std::pair(0,1); - case DF_Type::written_content_type: return std::pair(0,25); - case DF_Type::written_content_style: return std::pair(0,17); - case DF_Type::item_magicness_type: return std::pair(0,8); - case DF_Type::item_quality: return std::pair(0,6); - case DF_Type::slab_engraving_type: return std::pair(-1,26); - case DF_Type::corpse_material_type: return std::pair(0,11); - case DF_Type::job_type_class: return std::pair(0,15); - case DF_Type::job_type: return std::pair(-1,240); - case DF_Type::job_subtype_surgery: return std::pair(0,3); - case DF_Type::job_art_specification__T_type: return std::pair(-1,3); - case DF_Type::manager_order_condition_order__T_condition: return std::pair(0,1); - case DF_Type::guild_id: return std::pair(-1,5); - case DF_Type::interface_key: return std::pair(0,1587); - case DF_Type::dfhack_knowledge_scholar_flag: return std::pair(0,445); - case DF_Type::part_of_speech: return std::pair(0,8); - case DF_Type::sphere_type: return std::pair(0,129); - case DF_Type::language_name_category: return std::pair(0,61); - case DF_Type::nemesis_flags: return std::pair(0,2); - case DF_Type::machine_type: return std::pair(0,0); - case DF_Type::screw_pump_direction: return std::pair(0,3); - case DF_Type::tile_traffic: return std::pair(0,3); - case DF_Type::tile_dig_designation: return std::pair(0,6); - case DF_Type::tile_liquid: return std::pair(0,1); - case DF_Type::tile_building_occ: return std::pair(0,7); - case DF_Type::tile_liquid_flow_dir: return std::pair(0,15); - case DF_Type::block_square_event_type: return std::pair(0,7); - case DF_Type::feature_type: return std::pair(0,9); - case DF_Type::feature_init_flags: return std::pair(0,3); - case DF_Type::feature_alteration_type: return std::pair(0,1); - case DF_Type::world_construction_type: return std::pair(0,3); - case DF_Type::biome_type: return std::pair(0,50); - case DF_Type::flow_type: return std::pair(0,13); - case DF_Type::flow_guide_type: return std::pair(0,1); - case DF_Type::region_block_event_type: return std::pair(0,0); - case DF_Type::craft_material_class: return std::pair(-1,11); - case DF_Type::builtin_mats: return std::pair(0,18); - case DF_Type::material_flags: return std::pair(0,72); - case DF_Type::matter_state: return std::pair(-1,5); - case DF_Type::strain_type: return std::pair(0,5); - case DF_Type::inorganic_flags: return std::pair(0,31); - case DF_Type::environment_type: return std::pair(0,7); - case DF_Type::inclusion_type: return std::pair(0,4); - case DF_Type::organic_mat_category: return std::pair(0,36); - case DF_Type::meeting_topic: return std::pair(0,9); - case DF_Type::meeting_event_type: return std::pair(0,5); - case DF_Type::activity_event_type: return std::pair(0,27); - case DF_Type::conversation_menu: return std::pair(-1,70); - case DF_Type::performance_event_type: return std::pair(0,3); - case DF_Type::performance_participant_type: return std::pair(0,5); - case DF_Type::uniform_category: return std::pair(0,6); - case DF_Type::barrack_preference_category: return std::pair(0,3); - case DF_Type::squad_event_type: return std::pair(-1,2); - case DF_Type::squad_order_type: return std::pair(0,11); - case DF_Type::squad_order_cannot_reason: return std::pair(0,16); - case DF_Type::army_flags: return std::pair(0,0); - case DF_Type::unit_path_goal: return std::pair(-1,203); - case DF_Type::unit_station_type: return std::pair(-1,41); - case DF_Type::plant_raw_flags: return std::pair(0,87); - case DF_Type::projectile_type: return std::pair(0,2); - case DF_Type::reaction_flags: return std::pair(0,2); - case DF_Type::reaction_reagent_type: return std::pair(0,0); - case DF_Type::reaction_product_type: return std::pair(0,1); - case DF_Type::reaction_product_item_flags: return std::pair(0,5); - case DF_Type::reaction_product_improvement_flags: return std::pair(0,2); - case DF_Type::general_ref_type: return std::pair(0,68); - case DF_Type::specific_ref_type: return std::pair(0,30); - case DF_Type::histfig_entity_link_type: return std::pair(0,16); - case DF_Type::histfig_site_link_type: return std::pair(0,7); - case DF_Type::histfig_hf_link_type: return std::pair(0,13); - case DF_Type::entity_entity_link_type: return std::pair(0,1); - case DF_Type::resource_allotment_specifier_type: return std::pair(0,43); - case DF_Type::profession: return std::pair(-1,134); - case DF_Type::unit_labor_category: return std::pair(-13,-1); - case DF_Type::unit_labor: return std::pair(-1,82); - case DF_Type::job_skill_class: return std::pair(0,9); - case DF_Type::job_skill: return std::pair(-1,134); - case DF_Type::hauler_type: return std::pair(0,9); - case DF_Type::furniture_type: return std::pair(0,32); - case DF_Type::stockpile_category: return std::pair(-1,18); - case DF_Type::stockpile_list: return std::pair(0,104); - case DF_Type::creature_interaction_effect_type: return std::pair(0,35); - case DF_Type::creature_interaction_effect_target_mode: return std::pair(0,2); - case DF_Type::tiletype_shape_basic: return std::pair(-1,4); - case DF_Type::tiletype_shape: return std::pair(-1,18); - case DF_Type::tiletype_material: return std::pair(-1,25); - case DF_Type::tiletype_variant: return std::pair(-1,3); - case DF_Type::tiletype_special: return std::pair(-1,11); - case DF_Type::tiletype: return std::pair(0,694); - case DF_Type::build_req_choice_type: return std::pair(0,1); - case DF_Type::ui_hotkey__T_cmd: return std::pair(-1,2); - case DF_Type::ui_sidebar_mode: return std::pair(0,54); - case DF_Type::kitchen_exc_type: return std::pair(1,2); - case DF_Type::timed_event_type: return std::pair(0,8); - case DF_Type::emotion_type: return std::pair(-1,169); - case DF_Type::unit_thought_type: return std::pair(-1,242); - case DF_Type::value_type: return std::pair(0,32); - case DF_Type::goal_type: return std::pair(0,12); - case DF_Type::personality_facet_type: return std::pair(0,49); - case DF_Type::physical_attribute_type: return std::pair(0,5); - case DF_Type::mental_attribute_type: return std::pair(0,12); - case DF_Type::mood_type: return std::pair(-1,9); - case DF_Type::ghost_type: return std::pair(0,10); - case DF_Type::animal_training_level: return std::pair(0,9); - case DF_Type::unit_report_type: return std::pair(0,2); - case DF_Type::skill_rating: return std::pair(0,20); - case DF_Type::unit_relationship_type: return std::pair(-1,47); - case DF_Type::need_type: return std::pair(0,29); - case DF_Type::ghost_goal: return std::pair(-1,7); - case DF_Type::wound_effect_type: return std::pair(0,9); - case DF_Type::misc_trait_type: return std::pair(0,58); - case DF_Type::unit_action_type: return std::pair(-1,19); - case DF_Type::interface_breakdown_types: return std::pair(0,3); - case DF_Type::embark_finder_option: return std::pair(0,21); - case DF_Type::viewscreen_image_creator_mode: return std::pair(-1,18); - case DF_Type::viewscreen_kitchenpref_page: return std::pair(0,3); - case DF_Type::adventurer_attribute_level: return std::pair(0,6); - case DF_Type::viewscreen_unitlist_page: return std::pair(0,3); - case DF_Type::world_population_type: return std::pair(0,7); - case DF_Type::world_region_type: return std::pair(0,9); - case DF_Type::geo_layer_type: return std::pair(0,8); - case DF_Type::region_map_entry_flags: return std::pair(0,23); - case DF_Type::front_type: return std::pair(0,3); - case DF_Type::cumulus_type: return std::pair(0,3); - case DF_Type::stratus_type: return std::pair(0,3); - case DF_Type::fog_type: return std::pair(0,3); - case DF_Type::mountain_peak_flags: return std::pair(0,0); - case DF_Type::abstract_building_type: return std::pair(0,9); - case DF_Type::abstract_building_flags: return std::pair(0,7); - case DF_Type::world_site_type: return std::pair(0,10); - case DF_Type::world_site_flags: return std::pair(0,3); - case DF_Type::site_realization_building_type: return std::pair(0,22); - case DF_Type::site_shop_type: return std::pair(0,25); - case DF_Type::tree_house_type: return std::pair(0,5); - case DF_Type::hillock_house_type: return std::pair(0,3); - case DF_Type::creation_zone_pwg_alteration_type: return std::pair(0,3); - case DF_Type::worldgen_region_type: return std::pair(0,9); - case DF_Type::worldgen_range_type: return std::pair(0,23); - case DF_Type::units_other_id: return std::pair(0,1); - case DF_Type::conflict_level: return std::pair(-1,6); - case DF_Type::combat_report_event_type: return std::pair(0,34); - case DF_Type::conversation__T_state: return std::pair(0,3); - case DF_Type::building_archerytargetst__T_archery_direction: return std::pair(0,3); - case DF_Type::building_bridgest__T_direction: return std::pair(-1,3); - case DF_Type::building_siegeenginest__T_facing: return std::pair(0,3); - case DF_Type::building_siegeenginest__T_action: return std::pair(0,2); - case DF_Type::caste_body_info__T_interactions__T_type: return std::pair(0,2); - case DF_Type::caravan_state__T_trade_state: return std::pair(0,4); - case DF_Type::entity_event__T_data__T_insurrection_end__T_result: return std::pair(0,2); - case DF_Type::history_event_change_hf_statest__T_state: return std::pair(0,5); - case DF_Type::history_event_body_abusedst__T_props__T_pile_type: return std::pair(0,2); - case DF_Type::history_event_body_abusedst__T_abuse_type: return std::pair(0,5); - case DF_Type::history_event_hist_figure_travelst__T_reason: return std::pair(0,2); - case DF_Type::history_event_artifact_claim_formedst__T_claim_type: return std::pair(0,3); - case DF_Type::init_display__T_windowed: return std::pair(0,2); - case DF_Type::init_font__T_use_ttf: return std::pair(0,2); - case DF_Type::job_item_ref__T_role: return std::pair(0,8); - case DF_Type::manager_order__T_frequency: return std::pair(0,4); - case DF_Type::manager_order_condition_item__T_compare_type: return std::pair(0,5); - case DF_Type::mandate__T_mode: return std::pair(0,2); - case DF_Type::unit_demand__T_place: return std::pair(0,3); - case DF_Type::ui_advmode__T_conversation__T_targets__T_type: return std::pair(0,4); - case DF_Type::ui_advmode__T_travel_right_map: return std::pair(0,2); - case DF_Type::ui_advmode__T_show_menu: return std::pair(-1,3); - case DF_Type::stop_depart_condition__T_direction: return std::pair(0,3); - case DF_Type::stop_depart_condition__T_mode: return std::pair(0,2); - case DF_Type::interface_button_construction_category_selectorst__T_category_id: return std::pair(1,7); - case DF_Type::ui_sidebar_menus__T_designation__T_mine_mode: return std::pair(0,3); - case DF_Type::ui_sidebar_menus__T_zone__T_mode: return std::pair(0,2); - case DF_Type::ui_sidebar_menus__T_unit__T_expel_error: return std::pair(-1,10); - case DF_Type::ui_look_list__T_items__T_type: return std::pair(0,12); - case DF_Type::ui_unit_view_mode__T_value: return std::pair(0,6); - case DF_Type::unit__T_meeting__T_state: return std::pair(0,3); - case DF_Type::unit__T_counters__T_soldier_mood: return std::pair(-1,4); - case DF_Type::unit_inventory_item__T_mode: return std::pair(0,10); - case DF_Type::unit_preference__T_type: return std::pair(0,11); - case DF_Type::unit_complaint__T_type: return std::pair(25,48); - case DF_Type::unit_request__T_type: return std::pair(0,0); - case DF_Type::KeybindingScreen__T_mode: return std::pair(0,4); - case DF_Type::viewscreen_adventure_logst__T_mode: return std::pair(0,1); - case DF_Type::viewscreen_adventure_logst__T_info_mode: return std::pair(0,6); - case DF_Type::viewscreen_assign_display_itemst__T_sel_column: return std::pair(0,1); - case DF_Type::viewscreen_choose_start_sitest__T_page: return std::pair(0,8); - case DF_Type::mission__T_details__T_raid__T_raid_type: return std::pair(0,6); - case DF_Type::mission__T_type: return std::pair(2,19); - case DF_Type::viewscreen_civlistst__T_rumors__T_type: return std::pair(0,28); - case DF_Type::viewscreen_civlistst__T_page: return std::pair(0,8); - case DF_Type::viewscreen_game_cleanerst__T_state: return std::pair(0,2); - case DF_Type::viewscreen_justicest__T_cur_column: return std::pair(0,2); - case DF_Type::assign_trade_status__T_status: return std::pair(-2,3); - case DF_Type::viewscreen_layer_choose_language_namest__T_current_component: return std::pair(0,6); - case DF_Type::viewscreen_layer_militaryst__T_equip__T_mode: return std::pair(0,2); - case DF_Type::viewscreen_layer_militaryst__T_equip__T_edit_mode: return std::pair(0,15); - case DF_Type::viewscreen_layer_militaryst__T_page: return std::pair(0,5); - case DF_Type::viewscreen_layer_noblelistst__T_mode: return std::pair(0,2); - case DF_Type::viewscreen_legendsst__T_cur_page: return std::pair(0,11); - case DF_Type::viewscreen_locationsst__T_in_edit: return std::pair(0,4); - case DF_Type::viewscreen_locationsst__T_menu: return std::pair(0,2); - case DF_Type::viewscreen_petst__T_mode: return std::pair(0,2); - case DF_Type::setup_character_info__T_status: return std::pair(0,2); - case DF_Type::viewscreen_setupadventurest__T_page: return std::pair(0,7); - case DF_Type::viewscreen_setupadventurest__T_sel_trait_column: return std::pair(0,1); - case DF_Type::viewscreen_setupdwarfgamest__T_mode: return std::pair(0,1); - case DF_Type::viewscreen_titlest__T_sel_subpage: return std::pair(0,4); - case DF_Type::viewscreen_workquota_conditionst__T_mode: return std::pair(-1,2); - case DF_Type::viewscreen_workshop_profilest__T_tab: return std::pair(0,2); - case DF_Type::world_underground_region__T_type: return std::pair(0,2); - case DF_Type::world_data__T_flip_latitude: return std::pair(-1,2); - case DF_Type::abstract_building_dungeonst__T_dungeon_type: return std::pair(0,2); - case DF_Type::cultural_identity__T_group_log__T_join_type: return std::pair(0,2); - case DF_Type::world_site_realization__T_areas__T_type: return std::pair(0,8); - case DF_Type::crime__T_mode: return std::pair(0,10); - default: break; - } - return std::pair(-9999,+9999); -} +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "df_all.h" +#include "node.h" +#include "offsets_cache.h" + + +using namespace rdf; + + +DF_Type enum_base_type(DF_Type p_enum) +{ + switch(p_enum) + { + case DF_Type::ui_advmode_menu: return DF_Type::int16_t; + case DF_Type::talk_choice_type: return DF_Type::int32_t; + case DF_Type::assume_identity_mode: return DF_Type::int32_t; + case DF_Type::announcement_type: return DF_Type::int16_t; + case DF_Type::art_image_element_type: return DF_Type::int32_t; + case DF_Type::art_image_property_type: return DF_Type::int32_t; + case DF_Type::art_image_property_verb: return DF_Type::int16_t; + case DF_Type::art_facet_type: return DF_Type::int32_t; + case DF_Type::poetic_form_action: return DF_Type::int32_t; + case DF_Type::poetic_form_pattern: return DF_Type::int32_t; + case DF_Type::poetic_form_caesura_position: return DF_Type::int32_t; + case DF_Type::poetic_form_mood: return DF_Type::int32_t; + case DF_Type::poetic_form_subject: return DF_Type::int32_t; + case DF_Type::poetic_form_additional_feature: return DF_Type::int32_t; + case DF_Type::poetic_form_perspective__T_type: return DF_Type::int32_t; + case DF_Type::musical_form_purpose: return DF_Type::int32_t; + case DF_Type::musical_form_style: return DF_Type::int32_t; + case DF_Type::musical_form_pitch_style: return DF_Type::int32_t; + case DF_Type::occupation_type: return DF_Type::int32_t; + case DF_Type::buildings_other_id: return DF_Type::int32_t; + case DF_Type::building_type: return DF_Type::int32_t; + case DF_Type::civzone_type: return DF_Type::int16_t; + case DF_Type::furnace_type: return DF_Type::int16_t; + case DF_Type::workshop_type: return DF_Type::int16_t; + case DF_Type::construction_type: return DF_Type::int16_t; + case DF_Type::shop_type: return DF_Type::int16_t; + case DF_Type::siegeengine_type: return DF_Type::int16_t; + case DF_Type::trap_type: return DF_Type::int16_t; + case DF_Type::dfhack_room_quality_level: return DF_Type::int32_t; + case DF_Type::creature_raw_flags: return DF_Type::int32_t; + case DF_Type::caste_raw_flags: return DF_Type::int32_t; + case DF_Type::body_part_raw_flags: return DF_Type::int32_t; + case DF_Type::appearance_modifier_type: return DF_Type::int16_t; + case DF_Type::body_part_layer_flags: return DF_Type::int32_t; + case DF_Type::appearance_modifier_growth_interval: return DF_Type::int16_t; + case DF_Type::gait_type: return DF_Type::int32_t; + case DF_Type::creature_graphics_role: return DF_Type::int32_t; + case DF_Type::tissue_style_type: return DF_Type::int16_t; + case DF_Type::body_part_template_flags: return DF_Type::int32_t; + case DF_Type::body_part_template_contype: return DF_Type::int16_t; + case DF_Type::tissue_flags: return DF_Type::int32_t; + case DF_Type::d_init_nickname: return DF_Type::int32_t; + case DF_Type::d_init_z_view: return DF_Type::int32_t; + case DF_Type::d_init_embark_confirm: return DF_Type::int32_t; + case DF_Type::d_init_idlers: return DF_Type::int16_t; + case DF_Type::d_init_tunnel: return DF_Type::int16_t; + case DF_Type::d_init_flags1: return DF_Type::int32_t; + case DF_Type::d_init_flags2: return DF_Type::int32_t; + case DF_Type::d_init_flags3: return DF_Type::int32_t; + case DF_Type::d_init_flags4: return DF_Type::int32_t; + case DF_Type::pattern_type: return DF_Type::int16_t; + case DF_Type::occasion_schedule_type: return DF_Type::int32_t; + case DF_Type::occasion_schedule_feature: return DF_Type::int32_t; + case DF_Type::entity_sell_category: return DF_Type::int16_t; + case DF_Type::historical_entity_type: return DF_Type::int16_t; + case DF_Type::training_knowledge_level: return DF_Type::int32_t; + case DF_Type::entity_position_flags: return DF_Type::int32_t; + case DF_Type::entity_material_category: return DF_Type::int16_t; + case DF_Type::entity_event_type: return DF_Type::int32_t; + case DF_Type::entity_raw_flags: return DF_Type::int32_t; + case DF_Type::site_type: return DF_Type::int32_t; + case DF_Type::ethic_type: return DF_Type::int32_t; + case DF_Type::ethic_response: return DF_Type::int16_t; + case DF_Type::entity_name_type: return DF_Type::int32_t; + case DF_Type::entity_position_raw_flags: return DF_Type::int32_t; + case DF_Type::entity_position_responsibility: return DF_Type::int16_t; + case DF_Type::weather_type: return DF_Type::int8_t; + case DF_Type::game_mode: return DF_Type::int32_t; + case DF_Type::game_type: return DF_Type::int32_t; + case DF_Type::lever_target_type: return DF_Type::int8_t; + case DF_Type::zoom_commands: return DF_Type::int32_t; + case DF_Type::reputation_type: return DF_Type::int32_t; + case DF_Type::histfig_flags: return DF_Type::int32_t; + case DF_Type::histfig_relationship_type: return DF_Type::int16_t; + case DF_Type::mental_picture_property_type: return DF_Type::int32_t; + case DF_Type::mental_picture_element_type: return DF_Type::int32_t; + case DF_Type::history_event_type: return DF_Type::int32_t; + case DF_Type::history_event_reason: return DF_Type::int32_t; + case DF_Type::death_type: return DF_Type::int16_t; + case DF_Type::entity_action_type: return DF_Type::int32_t; + case DF_Type::masterpiece_loss_type: return DF_Type::int16_t; + case DF_Type::history_event_hist_figure_woundedst__T_injury_type: return DF_Type::int16_t; + case DF_Type::history_event_simple_battle_subtype: return DF_Type::int16_t; + case DF_Type::histfig_body_state: return DF_Type::int8_t; + case DF_Type::history_event_hf_act_on_buildingst__T_action: return DF_Type::int32_t; + case DF_Type::site_dispute_type: return DF_Type::int32_t; + case DF_Type::insurrection_outcome: return DF_Type::int32_t; + case DF_Type::history_event_hf_act_on_artifactst__T_action: return DF_Type::int32_t; + case DF_Type::tactical_situation: return DF_Type::int32_t; + case DF_Type::history_event_collection_type: return DF_Type::int32_t; + case DF_Type::era_type: return DF_Type::int16_t; + case DF_Type::init_display_flags: return DF_Type::int32_t; + case DF_Type::init_media_flags: return DF_Type::int32_t; + case DF_Type::init_input_flags: return DF_Type::int32_t; + case DF_Type::init_window_flags: return DF_Type::int32_t; + case DF_Type::interaction_effect_type: return DF_Type::int32_t; + case DF_Type::interaction_effect_location_hint: return DF_Type::int32_t; + case DF_Type::interaction_source_type: return DF_Type::int32_t; + case DF_Type::interaction_source_usage_hint: return DF_Type::int32_t; + case DF_Type::interaction_target_type: return DF_Type::int32_t; + case DF_Type::interaction_target_location_type: return DF_Type::int32_t; + case DF_Type::breath_attack_type: return DF_Type::int16_t; + case DF_Type::item_type: return DF_Type::int16_t; + case DF_Type::ammo_flags: return DF_Type::int32_t; + case DF_Type::armor_general_flags: return DF_Type::int32_t; + case DF_Type::armor_flags: return DF_Type::int32_t; + case DF_Type::gloves_flags: return DF_Type::int32_t; + case DF_Type::helm_flags: return DF_Type::int32_t; + case DF_Type::instrument_flags: return DF_Type::int32_t; + case DF_Type::sound_production_type: return DF_Type::int32_t; + case DF_Type::pitch_choice_type: return DF_Type::int32_t; + case DF_Type::tuning_type: return DF_Type::int32_t; + case DF_Type::timbre_type: return DF_Type::int32_t; + case DF_Type::pants_flags: return DF_Type::int32_t; + case DF_Type::shoes_flags: return DF_Type::int32_t; + case DF_Type::tool_flags: return DF_Type::int32_t; + case DF_Type::tool_uses: return DF_Type::int16_t; + case DF_Type::toy_flags: return DF_Type::int32_t; + case DF_Type::trapcomp_flags: return DF_Type::int32_t; + case DF_Type::weapon_flags: return DF_Type::int32_t; + case DF_Type::items_other_id: return DF_Type::int32_t; + case DF_Type::job_item_vector_id: return DF_Type::int16_t; + case DF_Type::improvement_type: return DF_Type::int32_t; + case DF_Type::itemimprovement_specific_type: return DF_Type::int32_t; + case DF_Type::written_content_type: return DF_Type::int32_t; + case DF_Type::written_content_style: return DF_Type::int32_t; + case DF_Type::item_magicness_type: return DF_Type::int16_t; + case DF_Type::item_quality: return DF_Type::int16_t; + case DF_Type::slab_engraving_type: return DF_Type::int16_t; + case DF_Type::corpse_material_type: return DF_Type::int32_t; + case DF_Type::job_type_class: return DF_Type::int32_t; + case DF_Type::job_type: return DF_Type::int16_t; + case DF_Type::job_subtype_surgery: return DF_Type::int32_t; + case DF_Type::job_art_specification__T_type: return DF_Type::int32_t; + case DF_Type::manager_order_condition_order__T_condition: return DF_Type::int32_t; + case DF_Type::guild_id: return DF_Type::int16_t; + case DF_Type::interface_key: return DF_Type::Long; + case DF_Type::dfhack_knowledge_scholar_flag: return DF_Type::int32_t; + case DF_Type::part_of_speech: return DF_Type::int32_t; + case DF_Type::sphere_type: return DF_Type::int16_t; + case DF_Type::language_name_category: return DF_Type::int32_t; + case DF_Type::nemesis_flags: return DF_Type::int32_t; + case DF_Type::machine_type: return DF_Type::int32_t; + case DF_Type::screw_pump_direction: return DF_Type::int8_t; + case DF_Type::tile_traffic: return DF_Type::uint32_t; + case DF_Type::tile_dig_designation: return DF_Type::uint32_t; + case DF_Type::tile_liquid: return DF_Type::uint32_t; + case DF_Type::tile_building_occ: return DF_Type::uint32_t; + case DF_Type::tile_liquid_flow_dir: return DF_Type::uint16_t; + case DF_Type::block_square_event_type: return DF_Type::int32_t; + case DF_Type::feature_type: return DF_Type::int32_t; + case DF_Type::feature_init_flags: return DF_Type::int32_t; + case DF_Type::feature_alteration_type: return DF_Type::int32_t; + case DF_Type::world_construction_type: return DF_Type::int32_t; + case DF_Type::biome_type: return DF_Type::int32_t; + case DF_Type::flow_type: return DF_Type::int16_t; + case DF_Type::flow_guide_type: return DF_Type::int32_t; + case DF_Type::region_block_event_type: return DF_Type::int32_t; + case DF_Type::craft_material_class: return DF_Type::int32_t; + case DF_Type::builtin_mats: return DF_Type::int32_t; + case DF_Type::material_flags: return DF_Type::int32_t; + case DF_Type::matter_state: return DF_Type::int16_t; + case DF_Type::strain_type: return DF_Type::int32_t; + case DF_Type::inorganic_flags: return DF_Type::int32_t; + case DF_Type::environment_type: return DF_Type::int16_t; + case DF_Type::inclusion_type: return DF_Type::int16_t; + case DF_Type::organic_mat_category: return DF_Type::int32_t; + case DF_Type::meeting_topic: return DF_Type::int16_t; + case DF_Type::meeting_event_type: return DF_Type::int16_t; + case DF_Type::activity_event_type: return DF_Type::int32_t; + case DF_Type::conversation_menu: return DF_Type::int32_t; + case DF_Type::performance_event_type: return DF_Type::int32_t; + case DF_Type::performance_participant_type: return DF_Type::int32_t; + case DF_Type::uniform_category: return DF_Type::int16_t; + case DF_Type::barrack_preference_category: return DF_Type::int32_t; + case DF_Type::squad_event_type: return DF_Type::int16_t; + case DF_Type::squad_order_type: return DF_Type::int32_t; + case DF_Type::squad_order_cannot_reason: return DF_Type::int32_t; + case DF_Type::army_flags: return DF_Type::int32_t; + case DF_Type::unit_path_goal: return DF_Type::int16_t; + case DF_Type::unit_station_type: return DF_Type::int16_t; + case DF_Type::plant_raw_flags: return DF_Type::int32_t; + case DF_Type::projectile_type: return DF_Type::int32_t; + case DF_Type::reaction_flags: return DF_Type::int32_t; + case DF_Type::reaction_reagent_type: return DF_Type::int32_t; + case DF_Type::reaction_product_type: return DF_Type::int32_t; + case DF_Type::reaction_product_item_flags: return DF_Type::int32_t; + case DF_Type::reaction_product_improvement_flags: return DF_Type::int32_t; + case DF_Type::general_ref_type: return DF_Type::int32_t; + case DF_Type::specific_ref_type: return DF_Type::int32_t; + case DF_Type::histfig_entity_link_type: return DF_Type::int32_t; + case DF_Type::histfig_site_link_type: return DF_Type::int32_t; + case DF_Type::histfig_hf_link_type: return DF_Type::int32_t; + case DF_Type::entity_entity_link_type: return DF_Type::int16_t; + case DF_Type::resource_allotment_specifier_type: return DF_Type::int32_t; + case DF_Type::profession: return DF_Type::int16_t; + case DF_Type::unit_labor_category: return DF_Type::int32_t; + case DF_Type::unit_labor: return DF_Type::int32_t; + case DF_Type::job_skill_class: return DF_Type::int32_t; + case DF_Type::job_skill: return DF_Type::int16_t; + case DF_Type::hauler_type: return DF_Type::int32_t; + case DF_Type::furniture_type: return DF_Type::int32_t; + case DF_Type::stockpile_category: return DF_Type::int16_t; + case DF_Type::stockpile_list: return DF_Type::int32_t; + case DF_Type::creature_interaction_effect_type: return DF_Type::int32_t; + case DF_Type::creature_interaction_effect_target_mode: return DF_Type::int16_t; + case DF_Type::tiletype_shape_basic: return DF_Type::int32_t; + case DF_Type::tiletype_shape: return DF_Type::int32_t; + case DF_Type::tiletype_material: return DF_Type::int32_t; + case DF_Type::tiletype_variant: return DF_Type::int32_t; + case DF_Type::tiletype_special: return DF_Type::int32_t; + case DF_Type::tiletype: return DF_Type::int16_t; + case DF_Type::build_req_choice_type: return DF_Type::int32_t; + case DF_Type::ui_hotkey__T_cmd: return DF_Type::int16_t; + case DF_Type::ui_sidebar_mode: return DF_Type::int16_t; + case DF_Type::kitchen_exc_type: return DF_Type::int8_t; + case DF_Type::timed_event_type: return DF_Type::int16_t; + case DF_Type::emotion_type: return DF_Type::int32_t; + case DF_Type::unit_thought_type: return DF_Type::int32_t; + case DF_Type::value_type: return DF_Type::int32_t; + case DF_Type::goal_type: return DF_Type::int32_t; + case DF_Type::personality_facet_type: return DF_Type::int16_t; + case DF_Type::physical_attribute_type: return DF_Type::int32_t; + case DF_Type::mental_attribute_type: return DF_Type::int32_t; + case DF_Type::mood_type: return DF_Type::int16_t; + case DF_Type::ghost_type: return DF_Type::int16_t; + case DF_Type::animal_training_level: return DF_Type::int32_t; + case DF_Type::unit_report_type: return DF_Type::int16_t; + case DF_Type::skill_rating: return DF_Type::int32_t; + case DF_Type::unit_relationship_type: return DF_Type::int16_t; + case DF_Type::need_type: return DF_Type::int32_t; + case DF_Type::ghost_goal: return DF_Type::int16_t; + case DF_Type::wound_effect_type: return DF_Type::int16_t; + case DF_Type::misc_trait_type: return DF_Type::int16_t; + case DF_Type::unit_action_type: return DF_Type::int32_t; + case DF_Type::interface_breakdown_types: return DF_Type::int8_t; + case DF_Type::embark_finder_option: return DF_Type::int32_t; + case DF_Type::viewscreen_image_creator_mode: return DF_Type::int32_t; + case DF_Type::viewscreen_kitchenpref_page: return DF_Type::int32_t; + case DF_Type::adventurer_attribute_level: return DF_Type::int32_t; + case DF_Type::viewscreen_unitlist_page: return DF_Type::int32_t; + case DF_Type::world_population_type: return DF_Type::int32_t; + case DF_Type::world_region_type: return DF_Type::int16_t; + case DF_Type::geo_layer_type: return DF_Type::int16_t; + case DF_Type::region_map_entry_flags: return DF_Type::int32_t; + case DF_Type::front_type: return DF_Type::uint16_t; + case DF_Type::cumulus_type: return DF_Type::uint16_t; + case DF_Type::stratus_type: return DF_Type::uint16_t; + case DF_Type::fog_type: return DF_Type::uint16_t; + case DF_Type::mountain_peak_flags: return DF_Type::int32_t; + case DF_Type::abstract_building_type: return DF_Type::int32_t; + case DF_Type::abstract_building_flags: return DF_Type::int32_t; + case DF_Type::world_site_type: return DF_Type::int16_t; + case DF_Type::world_site_flags: return DF_Type::int32_t; + case DF_Type::site_realization_building_type: return DF_Type::int32_t; + case DF_Type::site_shop_type: return DF_Type::int32_t; + case DF_Type::tree_house_type: return DF_Type::int32_t; + case DF_Type::hillock_house_type: return DF_Type::int32_t; + case DF_Type::creation_zone_pwg_alteration_type: return DF_Type::int32_t; + case DF_Type::worldgen_region_type: return DF_Type::int32_t; + case DF_Type::worldgen_range_type: return DF_Type::int32_t; + case DF_Type::units_other_id: return DF_Type::int32_t; + case DF_Type::conflict_level: return DF_Type::int32_t; + case DF_Type::combat_report_event_type: return DF_Type::int16_t; + case DF_Type::conversation__T_state: return DF_Type::int32_t; + case DF_Type::building_archerytargetst__T_archery_direction: return DF_Type::int8_t; + case DF_Type::building_bridgest__T_direction: return DF_Type::int8_t; + case DF_Type::building_siegeenginest__T_facing: return DF_Type::int8_t; + case DF_Type::building_siegeenginest__T_action: return DF_Type::int8_t; + case DF_Type::caste_body_info__T_interactions__T_type: return DF_Type::int32_t; + case DF_Type::caravan_state__T_trade_state: return DF_Type::int8_t; + case DF_Type::entity_event__T_data__T_insurrection_end__T_result: return DF_Type::int32_t; + case DF_Type::history_event_change_hf_statest__T_state: return DF_Type::int16_t; + case DF_Type::history_event_body_abusedst__T_props__T_pile_type: return DF_Type::int32_t; + case DF_Type::history_event_body_abusedst__T_abuse_type: return DF_Type::int16_t; + case DF_Type::history_event_hist_figure_travelst__T_reason: return DF_Type::int32_t; + case DF_Type::history_event_artifact_claim_formedst__T_claim_type: return DF_Type::int32_t; + case DF_Type::init_display__T_windowed: return DF_Type::int32_t; + case DF_Type::init_font__T_use_ttf: return DF_Type::int32_t; + case DF_Type::job_item_ref__T_role: return DF_Type::int32_t; + case DF_Type::manager_order__T_frequency: return DF_Type::int32_t; + case DF_Type::manager_order_condition_item__T_compare_type: return DF_Type::int32_t; + case DF_Type::mandate__T_mode: return DF_Type::int16_t; + case DF_Type::unit_demand__T_place: return DF_Type::int16_t; + case DF_Type::ui_advmode__T_conversation__T_targets__T_type: return DF_Type::int32_t; + case DF_Type::ui_advmode__T_travel_right_map: return DF_Type::int8_t; + case DF_Type::ui_advmode__T_show_menu: return DF_Type::int8_t; + case DF_Type::stop_depart_condition__T_direction: return DF_Type::int32_t; + case DF_Type::stop_depart_condition__T_mode: return DF_Type::int32_t; + case DF_Type::interface_button_construction_category_selectorst__T_category_id: return DF_Type::int32_t; + case DF_Type::ui_sidebar_menus__T_designation__T_mine_mode: return DF_Type::int32_t; + case DF_Type::ui_sidebar_menus__T_zone__T_mode: return DF_Type::int16_t; + case DF_Type::ui_sidebar_menus__T_unit__T_expel_error: return DF_Type::int32_t; + case DF_Type::ui_look_list__T_items__T_type: return DF_Type::int16_t; + case DF_Type::ui_unit_view_mode__T_value: return DF_Type::int32_t; + case DF_Type::unit__T_meeting__T_state: return DF_Type::int8_t; + case DF_Type::unit__T_counters__T_soldier_mood: return DF_Type::int16_t; + case DF_Type::unit_inventory_item__T_mode: return DF_Type::int16_t; + case DF_Type::unit_preference__T_type: return DF_Type::int16_t; + case DF_Type::unit_complaint__T_type: return DF_Type::int32_t; + case DF_Type::unit_request__T_type: return DF_Type::int16_t; + case DF_Type::KeybindingScreen__T_mode: return DF_Type::int32_t; + case DF_Type::viewscreen_adventure_logst__T_mode: return DF_Type::int8_t; + case DF_Type::viewscreen_adventure_logst__T_info_mode: return DF_Type::int16_t; + case DF_Type::viewscreen_assign_display_itemst__T_sel_column: return DF_Type::int32_t; + case DF_Type::viewscreen_choose_start_sitest__T_page: return DF_Type::int32_t; + case DF_Type::mission__T_details__T_raid__T_raid_type: return DF_Type::int32_t; + case DF_Type::mission__T_type: return DF_Type::int32_t; + case DF_Type::viewscreen_civlistst__T_rumors__T_type: return DF_Type::int32_t; + case DF_Type::viewscreen_civlistst__T_page: return DF_Type::int32_t; + case DF_Type::viewscreen_game_cleanerst__T_state: return DF_Type::int32_t; + case DF_Type::viewscreen_justicest__T_cur_column: return DF_Type::int32_t; + case DF_Type::assign_trade_status__T_status: return DF_Type::int8_t; + case DF_Type::viewscreen_layer_choose_language_namest__T_current_component: return DF_Type::int32_t; + case DF_Type::viewscreen_layer_militaryst__T_equip__T_mode: return DF_Type::int32_t; + case DF_Type::viewscreen_layer_militaryst__T_equip__T_edit_mode: return DF_Type::int32_t; + case DF_Type::viewscreen_layer_militaryst__T_page: return DF_Type::int32_t; + case DF_Type::viewscreen_layer_noblelistst__T_mode: return DF_Type::int16_t; + case DF_Type::viewscreen_legendsst__T_cur_page: return DF_Type::int16_t; + case DF_Type::viewscreen_locationsst__T_in_edit: return DF_Type::int32_t; + case DF_Type::viewscreen_locationsst__T_menu: return DF_Type::int32_t; + case DF_Type::viewscreen_loadgamest__T_cur_step: return DF_Type::int32_t; + case DF_Type::viewscreen_petst__T_mode: return DF_Type::int32_t; + case DF_Type::setup_character_info__T_status: return DF_Type::int16_t; + case DF_Type::viewscreen_setupadventurest__T_page: return DF_Type::int32_t; + case DF_Type::viewscreen_setupadventurest__T_sel_trait_column: return DF_Type::int8_t; + case DF_Type::viewscreen_setupdwarfgamest__T_mode: return DF_Type::int32_t; + case DF_Type::viewscreen_titlest__T_sel_subpage: return DF_Type::int16_t; + case DF_Type::viewscreen_workquota_conditionst__T_mode: return DF_Type::int32_t; + case DF_Type::viewscreen_workshop_profilest__T_tab: return DF_Type::int32_t; + case DF_Type::world_underground_region__T_type: return DF_Type::int16_t; + case DF_Type::world_data__T_flip_latitude: return DF_Type::int16_t; + case DF_Type::abstract_building_dungeonst__T_dungeon_type: return DF_Type::int16_t; + case DF_Type::cultural_identity__T_group_log__T_join_type: return DF_Type::int32_t; + case DF_Type::world_site_realization__T_areas__T_type: return DF_Type::int32_t; + case DF_Type::crime__T_mode: return DF_Type::int32_t; + default: break; + } + return DF_Type::None; +} +std::pair enum_min_max(DF_Type p_enum) +{ + switch(p_enum) + { + case DF_Type::ui_advmode_menu: return std::pair(0,48); + case DF_Type::talk_choice_type: return std::pair(0,224); + case DF_Type::assume_identity_mode: return std::pair(0,4); + case DF_Type::announcement_type: return std::pair(0,324); + case DF_Type::art_image_element_type: return std::pair(0,4); + case DF_Type::art_image_property_type: return std::pair(0,1); + case DF_Type::art_image_property_verb: return std::pair(0,47); + case DF_Type::art_facet_type: return std::pair(0,3); + case DF_Type::poetic_form_action: return std::pair(0,21); + case DF_Type::poetic_form_pattern: return std::pair(0,11); + case DF_Type::poetic_form_caesura_position: return std::pair(0,2); + case DF_Type::poetic_form_mood: return std::pair(0,6); + case DF_Type::poetic_form_subject: return std::pair(-1,20); + case DF_Type::poetic_form_additional_feature: return std::pair(0,8); + case DF_Type::poetic_form_perspective__T_type: return std::pair(0,7); + case DF_Type::musical_form_purpose: return std::pair(0,3); + case DF_Type::musical_form_style: return std::pair(-1,71); + case DF_Type::musical_form_pitch_style: return std::pair(0,4); + case DF_Type::occupation_type: return std::pair(0,6); + case DF_Type::buildings_other_id: return std::pair(-1,90); + case DF_Type::building_type: return std::pair(-1,53); + case DF_Type::civzone_type: return std::pair(0,68); + case DF_Type::furnace_type: return std::pair(0,7); + case DF_Type::workshop_type: return std::pair(0,24); + case DF_Type::construction_type: return std::pair(-1,36); + case DF_Type::shop_type: return std::pair(0,3); + case DF_Type::siegeengine_type: return std::pair(0,1); + case DF_Type::trap_type: return std::pair(0,5); + case DF_Type::dfhack_room_quality_level: return std::pair(0,7); + case DF_Type::creature_raw_flags: return std::pair(0,111); + case DF_Type::caste_raw_flags: return std::pair(0,172); + case DF_Type::body_part_raw_flags: return std::pair(0,38); + case DF_Type::appearance_modifier_type: return std::pair(0,23); + case DF_Type::body_part_layer_flags: return std::pair(0,0); + case DF_Type::appearance_modifier_growth_interval: return std::pair(0,3); + case DF_Type::gait_type: return std::pair(0,4); + case DF_Type::creature_graphics_role: return std::pair(0,5); + case DF_Type::tissue_style_type: return std::pair(0,4); + case DF_Type::body_part_template_flags: return std::pair(0,30); + case DF_Type::body_part_template_contype: return std::pair(-1,4); + case DF_Type::tissue_flags: return std::pair(0,21); + case DF_Type::d_init_nickname: return std::pair(0,2); + case DF_Type::d_init_z_view: return std::pair(0,3); + case DF_Type::d_init_embark_confirm: return std::pair(0,2); + case DF_Type::d_init_idlers: return std::pair(-1,1); + case DF_Type::d_init_tunnel: return std::pair(0,2); + case DF_Type::d_init_flags1: return std::pair(0,3); + case DF_Type::d_init_flags2: return std::pair(0,2); + case DF_Type::d_init_flags3: return std::pair(0,0); + case DF_Type::d_init_flags4: return std::pair(0,18); + case DF_Type::pattern_type: return std::pair(0,5); + case DF_Type::occasion_schedule_type: return std::pair(0,14); + case DF_Type::occasion_schedule_feature: return std::pair(0,18); + case DF_Type::entity_sell_category: return std::pair(0,63); + case DF_Type::historical_entity_type: return std::pair(0,8); + case DF_Type::training_knowledge_level: return std::pair(0,5); + case DF_Type::entity_position_flags: return std::pair(0,31); + case DF_Type::entity_material_category: return std::pair(-1,31); + case DF_Type::entity_event_type: return std::pair(0,33); + case DF_Type::entity_raw_flags: return std::pair(0,73); + case DF_Type::site_type: return std::pair(0,10); + case DF_Type::ethic_type: return std::pair(0,21); + case DF_Type::ethic_response: return std::pair(0,16); + case DF_Type::entity_name_type: return std::pair(0,15); + case DF_Type::entity_position_raw_flags: return std::pair(0,24); + case DF_Type::entity_position_responsibility: return std::pair(-1,24); + case DF_Type::weather_type: return std::pair(0,2); + case DF_Type::game_mode: return std::pair(0,3); + case DF_Type::game_type: return std::pair(0,11); + case DF_Type::lever_target_type: return std::pair(-1,119); + case DF_Type::zoom_commands: return std::pair(0,4); + case DF_Type::reputation_type: return std::pair(0,31); + case DF_Type::histfig_flags: return std::pair(0,15); + case DF_Type::histfig_relationship_type: return std::pair(-1,64); + case DF_Type::mental_picture_property_type: return std::pair(0,8); + case DF_Type::mental_picture_element_type: return std::pair(0,2); + case DF_Type::history_event_type: return std::pair(0,112); + case DF_Type::history_event_reason: return std::pair(-1,77); + case DF_Type::death_type: return std::pair(-1,53); + case DF_Type::entity_action_type: return std::pair(0,1); + case DF_Type::masterpiece_loss_type: return std::pair(0,5); + case DF_Type::history_event_hist_figure_woundedst__T_injury_type: return std::pair(0,3); + case DF_Type::history_event_simple_battle_subtype: return std::pair(0,9); + case DF_Type::histfig_body_state: return std::pair(0,6); + case DF_Type::history_event_hf_act_on_buildingst__T_action: return std::pair(0,2); + case DF_Type::site_dispute_type: return std::pair(0,5); + case DF_Type::insurrection_outcome: return std::pair(0,2); + case DF_Type::history_event_hf_act_on_artifactst__T_action: return std::pair(0,1); + case DF_Type::tactical_situation: return std::pair(0,6); + case DF_Type::history_event_collection_type: return std::pair(0,15); + case DF_Type::era_type: return std::pair(0,12); + case DF_Type::init_display_flags: return std::pair(0,14); + case DF_Type::init_media_flags: return std::pair(0,2); + case DF_Type::init_input_flags: return std::pair(0,1); + case DF_Type::init_window_flags: return std::pair(0,3); + case DF_Type::interaction_effect_type: return std::pair(0,6); + case DF_Type::interaction_effect_location_hint: return std::pair(0,3); + case DF_Type::interaction_source_type: return std::pair(0,7); + case DF_Type::interaction_source_usage_hint: return std::pair(0,7); + case DF_Type::interaction_target_type: return std::pair(0,3); + case DF_Type::interaction_target_location_type: return std::pair(-1,5); + case DF_Type::breath_attack_type: return std::pair(0,20); + case DF_Type::item_type: return std::pair(-1,90); + case DF_Type::ammo_flags: return std::pair(0,0); + case DF_Type::armor_general_flags: return std::pair(0,10); + case DF_Type::armor_flags: return std::pair(0,0); + case DF_Type::gloves_flags: return std::pair(0,0); + case DF_Type::helm_flags: return std::pair(0,0); + case DF_Type::instrument_flags: return std::pair(0,8); + case DF_Type::sound_production_type: return std::pair(0,20); + case DF_Type::pitch_choice_type: return std::pair(0,11); + case DF_Type::tuning_type: return std::pair(0,4); + case DF_Type::timbre_type: return std::pair(0,62); + case DF_Type::pants_flags: return std::pair(0,0); + case DF_Type::shoes_flags: return std::pair(0,0); + case DF_Type::tool_flags: return std::pair(0,19); + case DF_Type::tool_uses: return std::pair(-1,22); + case DF_Type::toy_flags: return std::pair(0,0); + case DF_Type::trapcomp_flags: return std::pair(0,4); + case DF_Type::weapon_flags: return std::pair(0,2); + case DF_Type::items_other_id: return std::pair(-1,132); + case DF_Type::job_item_vector_id: return std::pair(0,129); + case DF_Type::improvement_type: return std::pair(0,12); + case DF_Type::itemimprovement_specific_type: return std::pair(0,1); + case DF_Type::written_content_type: return std::pair(0,25); + case DF_Type::written_content_style: return std::pair(0,17); + case DF_Type::item_magicness_type: return std::pair(0,8); + case DF_Type::item_quality: return std::pair(0,6); + case DF_Type::slab_engraving_type: return std::pair(-1,26); + case DF_Type::corpse_material_type: return std::pair(0,11); + case DF_Type::job_type_class: return std::pair(0,15); + case DF_Type::job_type: return std::pair(-1,240); + case DF_Type::job_subtype_surgery: return std::pair(0,3); + case DF_Type::job_art_specification__T_type: return std::pair(-1,3); + case DF_Type::manager_order_condition_order__T_condition: return std::pair(0,1); + case DF_Type::guild_id: return std::pair(-1,5); + case DF_Type::interface_key: return std::pair(0,1587); + case DF_Type::dfhack_knowledge_scholar_flag: return std::pair(0,445); + case DF_Type::part_of_speech: return std::pair(0,8); + case DF_Type::sphere_type: return std::pair(0,129); + case DF_Type::language_name_category: return std::pair(0,61); + case DF_Type::nemesis_flags: return std::pair(0,2); + case DF_Type::machine_type: return std::pair(0,0); + case DF_Type::screw_pump_direction: return std::pair(0,3); + case DF_Type::tile_traffic: return std::pair(0,3); + case DF_Type::tile_dig_designation: return std::pair(0,6); + case DF_Type::tile_liquid: return std::pair(0,1); + case DF_Type::tile_building_occ: return std::pair(0,7); + case DF_Type::tile_liquid_flow_dir: return std::pair(0,15); + case DF_Type::block_square_event_type: return std::pair(0,7); + case DF_Type::feature_type: return std::pair(0,9); + case DF_Type::feature_init_flags: return std::pair(0,3); + case DF_Type::feature_alteration_type: return std::pair(0,1); + case DF_Type::world_construction_type: return std::pair(0,3); + case DF_Type::biome_type: return std::pair(0,50); + case DF_Type::flow_type: return std::pair(0,13); + case DF_Type::flow_guide_type: return std::pair(0,1); + case DF_Type::region_block_event_type: return std::pair(0,0); + case DF_Type::craft_material_class: return std::pair(-1,11); + case DF_Type::builtin_mats: return std::pair(0,18); + case DF_Type::material_flags: return std::pair(0,74); + case DF_Type::matter_state: return std::pair(-1,5); + case DF_Type::strain_type: return std::pair(0,5); + case DF_Type::inorganic_flags: return std::pair(0,31); + case DF_Type::environment_type: return std::pair(0,7); + case DF_Type::inclusion_type: return std::pair(0,4); + case DF_Type::organic_mat_category: return std::pair(0,36); + case DF_Type::meeting_topic: return std::pair(0,9); + case DF_Type::meeting_event_type: return std::pair(0,5); + case DF_Type::activity_event_type: return std::pair(0,27); + case DF_Type::conversation_menu: return std::pair(-1,70); + case DF_Type::performance_event_type: return std::pair(0,3); + case DF_Type::performance_participant_type: return std::pair(0,5); + case DF_Type::uniform_category: return std::pair(0,6); + case DF_Type::barrack_preference_category: return std::pair(0,3); + case DF_Type::squad_event_type: return std::pair(-1,2); + case DF_Type::squad_order_type: return std::pair(0,11); + case DF_Type::squad_order_cannot_reason: return std::pair(0,16); + case DF_Type::army_flags: return std::pair(0,0); + case DF_Type::unit_path_goal: return std::pair(-1,203); + case DF_Type::unit_station_type: return std::pair(-1,41); + case DF_Type::plant_raw_flags: return std::pair(0,87); + case DF_Type::projectile_type: return std::pair(0,2); + case DF_Type::reaction_flags: return std::pair(0,2); + case DF_Type::reaction_reagent_type: return std::pair(0,0); + case DF_Type::reaction_product_type: return std::pair(0,1); + case DF_Type::reaction_product_item_flags: return std::pair(0,5); + case DF_Type::reaction_product_improvement_flags: return std::pair(0,2); + case DF_Type::general_ref_type: return std::pair(0,68); + case DF_Type::specific_ref_type: return std::pair(0,30); + case DF_Type::histfig_entity_link_type: return std::pair(0,16); + case DF_Type::histfig_site_link_type: return std::pair(0,7); + case DF_Type::histfig_hf_link_type: return std::pair(0,13); + case DF_Type::entity_entity_link_type: return std::pair(0,1); + case DF_Type::resource_allotment_specifier_type: return std::pair(0,43); + case DF_Type::profession: return std::pair(-1,134); + case DF_Type::unit_labor_category: return std::pair(-13,-1); + case DF_Type::unit_labor: return std::pair(-1,82); + case DF_Type::job_skill_class: return std::pair(0,9); + case DF_Type::job_skill: return std::pair(-1,134); + case DF_Type::hauler_type: return std::pair(0,9); + case DF_Type::furniture_type: return std::pair(0,32); + case DF_Type::stockpile_category: return std::pair(-1,18); + case DF_Type::stockpile_list: return std::pair(0,104); + case DF_Type::creature_interaction_effect_type: return std::pair(0,35); + case DF_Type::creature_interaction_effect_target_mode: return std::pair(0,2); + case DF_Type::tiletype_shape_basic: return std::pair(-1,4); + case DF_Type::tiletype_shape: return std::pair(-1,18); + case DF_Type::tiletype_material: return std::pair(-1,25); + case DF_Type::tiletype_variant: return std::pair(-1,3); + case DF_Type::tiletype_special: return std::pair(-1,11); + case DF_Type::tiletype: return std::pair(0,694); + case DF_Type::build_req_choice_type: return std::pair(0,1); + case DF_Type::ui_hotkey__T_cmd: return std::pair(-1,2); + case DF_Type::ui_sidebar_mode: return std::pair(0,54); + case DF_Type::kitchen_exc_type: return std::pair(1,2); + case DF_Type::timed_event_type: return std::pair(0,8); + case DF_Type::emotion_type: return std::pair(-1,169); + case DF_Type::unit_thought_type: return std::pair(-1,242); + case DF_Type::value_type: return std::pair(-1,32); + case DF_Type::goal_type: return std::pair(0,12); + case DF_Type::personality_facet_type: return std::pair(-1,49); + case DF_Type::physical_attribute_type: return std::pair(0,5); + case DF_Type::mental_attribute_type: return std::pair(0,12); + case DF_Type::mood_type: return std::pair(-1,9); + case DF_Type::ghost_type: return std::pair(0,10); + case DF_Type::animal_training_level: return std::pair(0,9); + case DF_Type::unit_report_type: return std::pair(0,2); + case DF_Type::skill_rating: return std::pair(0,20); + case DF_Type::unit_relationship_type: return std::pair(-1,47); + case DF_Type::need_type: return std::pair(0,29); + case DF_Type::ghost_goal: return std::pair(-1,7); + case DF_Type::wound_effect_type: return std::pair(0,9); + case DF_Type::misc_trait_type: return std::pair(0,58); + case DF_Type::unit_action_type: return std::pair(-1,19); + case DF_Type::interface_breakdown_types: return std::pair(0,3); + case DF_Type::embark_finder_option: return std::pair(0,21); + case DF_Type::viewscreen_image_creator_mode: return std::pair(-1,18); + case DF_Type::viewscreen_kitchenpref_page: return std::pair(0,3); + case DF_Type::adventurer_attribute_level: return std::pair(0,6); + case DF_Type::viewscreen_unitlist_page: return std::pair(0,3); + case DF_Type::world_population_type: return std::pair(0,7); + case DF_Type::world_region_type: return std::pair(0,9); + case DF_Type::geo_layer_type: return std::pair(0,8); + case DF_Type::region_map_entry_flags: return std::pair(0,23); + case DF_Type::front_type: return std::pair(0,3); + case DF_Type::cumulus_type: return std::pair(0,3); + case DF_Type::stratus_type: return std::pair(0,3); + case DF_Type::fog_type: return std::pair(0,3); + case DF_Type::mountain_peak_flags: return std::pair(0,0); + case DF_Type::abstract_building_type: return std::pair(0,9); + case DF_Type::abstract_building_flags: return std::pair(0,7); + case DF_Type::world_site_type: return std::pair(0,10); + case DF_Type::world_site_flags: return std::pair(0,3); + case DF_Type::site_realization_building_type: return std::pair(0,22); + case DF_Type::site_shop_type: return std::pair(0,25); + case DF_Type::tree_house_type: return std::pair(0,5); + case DF_Type::hillock_house_type: return std::pair(0,3); + case DF_Type::creation_zone_pwg_alteration_type: return std::pair(0,3); + case DF_Type::worldgen_region_type: return std::pair(0,9); + case DF_Type::worldgen_range_type: return std::pair(0,23); + case DF_Type::units_other_id: return std::pair(0,1); + case DF_Type::conflict_level: return std::pair(-1,6); + case DF_Type::combat_report_event_type: return std::pair(0,34); + case DF_Type::conversation__T_state: return std::pair(0,3); + case DF_Type::building_archerytargetst__T_archery_direction: return std::pair(0,3); + case DF_Type::building_bridgest__T_direction: return std::pair(-1,3); + case DF_Type::building_siegeenginest__T_facing: return std::pair(0,3); + case DF_Type::building_siegeenginest__T_action: return std::pair(0,2); + case DF_Type::caste_body_info__T_interactions__T_type: return std::pair(0,2); + case DF_Type::caravan_state__T_trade_state: return std::pair(0,4); + case DF_Type::entity_event__T_data__T_insurrection_end__T_result: return std::pair(0,2); + case DF_Type::history_event_change_hf_statest__T_state: return std::pair(0,5); + case DF_Type::history_event_body_abusedst__T_props__T_pile_type: return std::pair(0,2); + case DF_Type::history_event_body_abusedst__T_abuse_type: return std::pair(0,5); + case DF_Type::history_event_hist_figure_travelst__T_reason: return std::pair(0,2); + case DF_Type::history_event_artifact_claim_formedst__T_claim_type: return std::pair(0,3); + case DF_Type::init_display__T_windowed: return std::pair(0,2); + case DF_Type::init_font__T_use_ttf: return std::pair(0,2); + case DF_Type::job_item_ref__T_role: return std::pair(0,8); + case DF_Type::manager_order__T_frequency: return std::pair(0,4); + case DF_Type::manager_order_condition_item__T_compare_type: return std::pair(0,5); + case DF_Type::mandate__T_mode: return std::pair(0,2); + case DF_Type::unit_demand__T_place: return std::pair(0,3); + case DF_Type::ui_advmode__T_conversation__T_targets__T_type: return std::pair(0,4); + case DF_Type::ui_advmode__T_travel_right_map: return std::pair(0,2); + case DF_Type::ui_advmode__T_show_menu: return std::pair(-1,3); + case DF_Type::stop_depart_condition__T_direction: return std::pair(0,3); + case DF_Type::stop_depart_condition__T_mode: return std::pair(0,2); + case DF_Type::interface_button_construction_category_selectorst__T_category_id: return std::pair(1,7); + case DF_Type::ui_sidebar_menus__T_designation__T_mine_mode: return std::pair(0,3); + case DF_Type::ui_sidebar_menus__T_zone__T_mode: return std::pair(0,2); + case DF_Type::ui_sidebar_menus__T_unit__T_expel_error: return std::pair(-1,10); + case DF_Type::ui_look_list__T_items__T_type: return std::pair(0,12); + case DF_Type::ui_unit_view_mode__T_value: return std::pair(0,6); + case DF_Type::unit__T_meeting__T_state: return std::pair(0,3); + case DF_Type::unit__T_counters__T_soldier_mood: return std::pair(-1,4); + case DF_Type::unit_inventory_item__T_mode: return std::pair(0,10); + case DF_Type::unit_preference__T_type: return std::pair(0,11); + case DF_Type::unit_complaint__T_type: return std::pair(25,48); + case DF_Type::unit_request__T_type: return std::pair(0,0); + case DF_Type::KeybindingScreen__T_mode: return std::pair(0,4); + case DF_Type::viewscreen_adventure_logst__T_mode: return std::pair(0,1); + case DF_Type::viewscreen_adventure_logst__T_info_mode: return std::pair(0,6); + case DF_Type::viewscreen_assign_display_itemst__T_sel_column: return std::pair(0,1); + case DF_Type::viewscreen_choose_start_sitest__T_page: return std::pair(0,8); + case DF_Type::mission__T_details__T_raid__T_raid_type: return std::pair(0,6); + case DF_Type::mission__T_type: return std::pair(2,19); + case DF_Type::viewscreen_civlistst__T_rumors__T_type: return std::pair(0,28); + case DF_Type::viewscreen_civlistst__T_page: return std::pair(0,8); + case DF_Type::viewscreen_game_cleanerst__T_state: return std::pair(0,2); + case DF_Type::viewscreen_justicest__T_cur_column: return std::pair(0,2); + case DF_Type::assign_trade_status__T_status: return std::pair(-2,3); + case DF_Type::viewscreen_layer_choose_language_namest__T_current_component: return std::pair(0,6); + case DF_Type::viewscreen_layer_militaryst__T_equip__T_mode: return std::pair(0,2); + case DF_Type::viewscreen_layer_militaryst__T_equip__T_edit_mode: return std::pair(0,15); + case DF_Type::viewscreen_layer_militaryst__T_page: return std::pair(0,5); + case DF_Type::viewscreen_layer_noblelistst__T_mode: return std::pair(0,2); + case DF_Type::viewscreen_legendsst__T_cur_page: return std::pair(0,11); + case DF_Type::viewscreen_locationsst__T_in_edit: return std::pair(0,4); + case DF_Type::viewscreen_locationsst__T_menu: return std::pair(0,2); + case DF_Type::viewscreen_loadgamest__T_cur_step: return std::pair(0,48); + case DF_Type::viewscreen_petst__T_mode: return std::pair(0,2); + case DF_Type::setup_character_info__T_status: return std::pair(0,2); + case DF_Type::viewscreen_setupadventurest__T_page: return std::pair(0,7); + case DF_Type::viewscreen_setupadventurest__T_sel_trait_column: return std::pair(0,1); + case DF_Type::viewscreen_setupdwarfgamest__T_mode: return std::pair(0,1); + case DF_Type::viewscreen_titlest__T_sel_subpage: return std::pair(0,4); + case DF_Type::viewscreen_workquota_conditionst__T_mode: return std::pair(-1,2); + case DF_Type::viewscreen_workshop_profilest__T_tab: return std::pair(0,2); + case DF_Type::world_underground_region__T_type: return std::pair(0,2); + case DF_Type::world_data__T_flip_latitude: return std::pair(-1,2); + case DF_Type::abstract_building_dungeonst__T_dungeon_type: return std::pair(0,2); + case DF_Type::cultural_identity__T_group_log__T_join_type: return std::pair(0,2); + case DF_Type::world_site_realization__T_areas__T_type: return std::pair(0,8); + case DF_Type::crime__T_mode: return std::pair(0,10); + default: break; + } + return std::pair(-9999,+9999); +} diff --git a/dwarfexplorer/generated/enum_values.cpp b/dwarfexplorer/generated/enum_values.cpp index a270fa3..6a8cd24 100644 --- a/dwarfexplorer/generated/enum_values.cpp +++ b/dwarfexplorer/generated/enum_values.cpp @@ -1,13355 +1,13357 @@ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "df_all.h" -#include "DF_Types.h" -#include "node.h" - - -using namespace rdf; - - -int64_t cast(DF_Type p_base_type, uint64_t p_address) -{ - switch (p_base_type) - { - case DF_Type::int8_t: return *(reinterpret_cast(p_address)); - case DF_Type::int16_t: return *(reinterpret_cast(p_address)); - case DF_Type::int32_t: return *(reinterpret_cast(p_address)); - case DF_Type::int64_t: return *(reinterpret_cast(p_address)); - case DF_Type::uint8_t: return *(reinterpret_cast(p_address)); - case DF_Type::uint16_t: return *(reinterpret_cast(p_address)); - case DF_Type::uint32_t: return *(reinterpret_cast(p_address)); - default: break; - } - return -1111; -} - -std::tuple get_ui_advmode_menu_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Default"; break; - case 1: std::get<1>(result) = "Look"; break; - case 2: std::get<1>(result) = "ConversationAddress"; break; - case 3: std::get<1>(result) = "ConversationSelect"; break; - case 4: std::get<1>(result) = "ConversationSpeak"; break; - case 5: std::get<1>(result) = "Inventory"; break; - case 6: std::get<1>(result) = "Drop"; break; - case 7: std::get<1>(result) = "ThrowItem"; break; - case 8: std::get<1>(result) = "Wear"; break; - case 9: std::get<1>(result) = "Remove"; break; - case 10: std::get<1>(result) = "Interact"; break; - case 11: std::get<1>(result) = "Put"; break; - case 12: std::get<1>(result) = "PutContainer"; break; - case 13: std::get<1>(result) = "Eat"; break; - case 14: std::get<1>(result) = "ThrowAim"; break; - case 15: std::get<1>(result) = "Fire"; break; - case 16: std::get<1>(result) = "Get"; break; - case 17: std::get<1>(result) = "Unk17"; break; - case 18: std::get<1>(result) = "CombatPrefs"; break; - case 19: std::get<1>(result) = "Companions"; break; - case 20: std::get<1>(result) = "MovementPrefs"; break; - case 21: std::get<1>(result) = "SpeedPrefs"; break; - case 22: std::get<1>(result) = "InteractAction"; break; - case 23: std::get<1>(result) = "MoveCarefully"; break; - case 24: std::get<1>(result) = "Announcements"; break; - case 25: std::get<1>(result) = "UseBuilding"; break; - case 26: std::get<1>(result) = "Travel"; break; - case 27: std::get<1>(result) = "Unk27"; break; - case 28: std::get<1>(result) = "Unk28"; break; - case 29: std::get<1>(result) = "SleepConfirm"; break; - case 30: std::get<1>(result) = "SelectInteractionTarget"; break; - case 31: std::get<1>(result) = "Unk31"; break; - case 32: std::get<1>(result) = "Unk32"; break; - case 33: std::get<1>(result) = "FallAction"; break; - case 34: std::get<1>(result) = "ViewTracks"; break; - case 35: std::get<1>(result) = "Jump"; break; - case 36: std::get<1>(result) = "Unk36"; break; - case 37: std::get<1>(result) = "AttackConfirm"; break; - case 38: std::get<1>(result) = "AttackType"; break; - case 39: std::get<1>(result) = "AttackBodypart"; break; - case 40: std::get<1>(result) = "AttackStrike"; break; - case 41: std::get<1>(result) = "Unk41"; break; - case 42: std::get<1>(result) = "Unk42"; break; - case 43: std::get<1>(result) = "DodgeDirection"; break; - case 44: std::get<1>(result) = "Unk44"; break; - case 45: std::get<1>(result) = "Unk45"; break; - case 46: std::get<1>(result) = "Build"; break; - case 47: std::get<1>(result) = "AssumeIdentity"; break; - case 48: std::get<1>(result) = "NameItem"; break; - default: break; - } - return result; -} - -std::tuple get_talk_choice_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Greet"; break; - case 1: std::get<1>(result) = "Nevermind"; break; - case 2: std::get<1>(result) = "Trade"; break; - case 3: std::get<1>(result) = "AskJoin"; break; - case 4: std::get<1>(result) = "AskSurroundings"; break; - case 5: std::get<1>(result) = "SayGoodbye"; break; - case 6: std::get<1>(result) = "AskStructure"; break; - case 7: std::get<1>(result) = "AskFamily"; break; - case 8: std::get<1>(result) = "AskProfession"; break; - case 9: std::get<1>(result) = "AskPermissionSleep"; break; - case 10: std::get<1>(result) = "AccuseNightCreature"; break; - case 11: std::get<1>(result) = "AskTroubles"; break; - case 12: std::get<1>(result) = "BringUpEvent"; break; - case 13: std::get<1>(result) = "SpreadRumor"; break; - case 14: std::get<1>(result) = "ReplyGreeting"; break; - case 15: std::get<1>(result) = "RefuseConversation"; break; - case 16: std::get<1>(result) = "ReplyImpersonate"; break; - case 17: std::get<1>(result) = "BringUpIncident"; break; - case 18: std::get<1>(result) = "TellNothingChanged"; break; - case 19: std::get<1>(result) = "Goodbye2"; break; - case 20: std::get<1>(result) = "ReturnTopic"; break; - case 21: std::get<1>(result) = "ChangeSubject"; break; - case 22: std::get<1>(result) = "AskTargetAction"; break; - case 23: std::get<1>(result) = "RequestSuggestAction"; break; - case 24: std::get<1>(result) = "AskJoinInsurrection"; break; - case 25: std::get<1>(result) = "AskJoinRescue"; break; - case 26: std::get<1>(result) = "StateOpinion"; break; - case 27: std::get<1>(result) = "RespondJoinInsurrection"; break; - case 28: std::get<1>(result) = "anon_1"; break; - case 29: std::get<1>(result) = "AllowPermissionSleep"; break; - case 30: std::get<1>(result) = "DenyPermissionSleep"; break; - case 31: std::get<1>(result) = "anon_2"; break; - case 32: std::get<1>(result) = "AskJoinAdventure"; break; - case 33: std::get<1>(result) = "AskGuideLocation"; break; - case 34: std::get<1>(result) = "RespondJoin"; break; - case 35: std::get<1>(result) = "RespondJoin2"; break; - case 36: std::get<1>(result) = "OfferCondolences"; break; - case 37: std::get<1>(result) = "StateNotAcquainted"; break; - case 38: std::get<1>(result) = "SuggestTravel"; break; - case 39: std::get<1>(result) = "SuggestTalk"; break; - case 40: std::get<1>(result) = "RequestSelfRescue"; break; - case 41: std::get<1>(result) = "AskWhatHappened"; break; - case 42: std::get<1>(result) = "AskBeRescued"; break; - case 43: std::get<1>(result) = "SayNotRemember"; break; - case 44: std::get<1>(result) = "anon_3"; break; - case 45: std::get<1>(result) = "SayNoFamily"; break; - case 46: std::get<1>(result) = "StateUnitLocation"; break; - case 47: std::get<1>(result) = "ReferToElder"; break; - case 48: std::get<1>(result) = "AskComeCloser"; break; - case 49: std::get<1>(result) = "DoBusiness"; break; - case 50: std::get<1>(result) = "AskComeStoreLater"; break; - case 51: std::get<1>(result) = "AskComeMarketLater"; break; - case 52: std::get<1>(result) = "TellTryShopkeeper"; break; - case 53: std::get<1>(result) = "DescribeSurroundings"; break; - case 54: std::get<1>(result) = "AskWaitUntilHome"; break; - case 55: std::get<1>(result) = "DescribeFamily"; break; - case 56: std::get<1>(result) = "StateAge"; break; - case 57: std::get<1>(result) = "DescribeProfession"; break; - case 58: std::get<1>(result) = "AnnounceNightCreature"; break; - case 59: std::get<1>(result) = "StateIncredulity"; break; - case 60: std::get<1>(result) = "BypassGreeting"; break; - case 61: std::get<1>(result) = "AskCeaseHostilities"; break; - case 62: std::get<1>(result) = "DemandYield"; break; - case 63: std::get<1>(result) = "HawkWares"; break; - case 64: std::get<1>(result) = "YieldTerror"; break; - case 65: std::get<1>(result) = "Yield"; break; - case 66: std::get<1>(result) = "ExpressOverwhelmingEmotion"; break; - case 67: std::get<1>(result) = "ExpressGreatEmotion"; break; - case 68: std::get<1>(result) = "ExpressEmotion"; break; - case 69: std::get<1>(result) = "ExpressMinorEmotion"; break; - case 70: std::get<1>(result) = "ExpressLackEmotion"; break; - case 71: std::get<1>(result) = "OutburstFleeConflict"; break; - case 72: std::get<1>(result) = "StateFleeConflict"; break; - case 73: std::get<1>(result) = "MentionJourney"; break; - case 74: std::get<1>(result) = "SummarizeTroubles"; break; - case 75: std::get<1>(result) = "AskAboutIncident"; break; - case 76: std::get<1>(result) = "AskDirectionsPerson"; break; - case 77: std::get<1>(result) = "AskDirectionsPlace"; break; - case 78: std::get<1>(result) = "AskWhereabouts"; break; - case 79: std::get<1>(result) = "RequestGuide"; break; - case 80: std::get<1>(result) = "RequestGuide2"; break; - case 81: std::get<1>(result) = "ProvideDirections"; break; - case 82: std::get<1>(result) = "ProvideWhereabouts"; break; - case 83: std::get<1>(result) = "TellTargetSelf"; break; - case 84: std::get<1>(result) = "TellTargetDead"; break; - case 85: std::get<1>(result) = "RecommendGuide"; break; - case 86: std::get<1>(result) = "ProfessIgnorance"; break; - case 87: std::get<1>(result) = "TellAboutPlace"; break; - case 88: std::get<1>(result) = "AskFavorMenu"; break; - case 89: std::get<1>(result) = "AskWait"; break; - case 90: std::get<1>(result) = "AskFollow"; break; - case 91: std::get<1>(result) = "ApologizeBusy"; break; - case 92: std::get<1>(result) = "ComplyOrder"; break; - case 93: std::get<1>(result) = "AgreeFollow"; break; - case 94: std::get<1>(result) = "ExchangeItems"; break; - case 95: std::get<1>(result) = "AskComeCloser2"; break; - case 96: std::get<1>(result) = "InitiateBarter"; break; - case 97: std::get<1>(result) = "AgreeCeaseHostile"; break; - case 98: std::get<1>(result) = "RefuseCeaseHostile"; break; - case 99: std::get<1>(result) = "RefuseCeaseHostile2"; break; - case 100: std::get<1>(result) = "RefuseYield"; break; - case 101: std::get<1>(result) = "RefuseYield2"; break; - case 102: std::get<1>(result) = "Brag"; break; - case 103: std::get<1>(result) = "DescribeRelation"; break; - case 104: std::get<1>(result) = "ClaimSite"; break; - case 105: std::get<1>(result) = "AnnounceLairHunt"; break; - case 106: std::get<1>(result) = "RequestDuty"; break; - case 107: std::get<1>(result) = "AskJoinService"; break; - case 108: std::get<1>(result) = "AcceptService"; break; - case 109: std::get<1>(result) = "TellRemainVigilant"; break; - case 110: std::get<1>(result) = "GiveServiceOrder"; break; - case 111: std::get<1>(result) = "WelcomeSelfHome"; break; - case 112: std::get<1>(result) = "anon_4"; break; - case 113: std::get<1>(result) = "AskTravelReason"; break; - case 114: std::get<1>(result) = "TellTravelReason"; break; - case 115: std::get<1>(result) = "AskLocalRuler"; break; - case 116: std::get<1>(result) = "ComplainAgreement"; break; - case 117: std::get<1>(result) = "CancelAgreement"; break; - case 118: std::get<1>(result) = "SummarizeConflict"; break; - case 119: std::get<1>(result) = "SummarizeViews"; break; - case 120: std::get<1>(result) = "AskClaimStrength"; break; - case 121: std::get<1>(result) = "AskArmyPosition"; break; - case 122: std::get<1>(result) = "AskOtherClaims"; break; - case 123: std::get<1>(result) = "AskDeserters"; break; - case 124: std::get<1>(result) = "AskSiteNeighbors"; break; - case 125: std::get<1>(result) = "DescribeSiteNeighbors"; break; - case 126: std::get<1>(result) = "RaiseAlarm"; break; - case 127: std::get<1>(result) = "DemandDropWeapon"; break; - case 128: std::get<1>(result) = "AgreeComplyDemand"; break; - case 129: std::get<1>(result) = "RefuseComplyDemand"; break; - case 130: std::get<1>(result) = "AskLocationObject"; break; - case 131: std::get<1>(result) = "DemandTribute"; break; - case 132: std::get<1>(result) = "AgreeGiveTribute"; break; - case 133: std::get<1>(result) = "RefuseGiveTribute"; break; - case 134: std::get<1>(result) = "OfferGiveTribute"; break; - case 135: std::get<1>(result) = "AgreeAcceptTribute"; break; - case 136: std::get<1>(result) = "RefuseAcceptTribute"; break; - case 137: std::get<1>(result) = "CancelTribute"; break; - case 138: std::get<1>(result) = "OfferPeace"; break; - case 139: std::get<1>(result) = "AgreePeace"; break; - case 140: std::get<1>(result) = "RefusePeace"; break; - case 141: std::get<1>(result) = "AskTradeDepotLater"; break; - case 142: std::get<1>(result) = "ExpressAstonishment"; break; - case 143: std::get<1>(result) = "CommentWeather"; break; - case 144: std::get<1>(result) = "CommentNature"; break; - case 145: std::get<1>(result) = "SummarizeTerritory"; break; - case 146: std::get<1>(result) = "SummarizePatrols"; break; - case 147: std::get<1>(result) = "SummarizeOpposition"; break; - case 148: std::get<1>(result) = "DescribeRefugees"; break; - case 149: std::get<1>(result) = "AccuseTroublemaker"; break; - case 150: std::get<1>(result) = "AskAdopt"; break; - case 151: std::get<1>(result) = "AgreeAdopt"; break; - case 152: std::get<1>(result) = "RefuseAdopt"; break; - case 153: std::get<1>(result) = "RevokeService"; break; - case 154: std::get<1>(result) = "InviteService"; break; - case 155: std::get<1>(result) = "AcceptInviteService"; break; - case 156: std::get<1>(result) = "RefuseShareInformation"; break; - case 157: std::get<1>(result) = "RefuseInviteService"; break; - case 158: std::get<1>(result) = "RefuseRequestService"; break; - case 159: std::get<1>(result) = "OfferService"; break; - case 160: std::get<1>(result) = "AcceptPositionService"; break; - case 161: std::get<1>(result) = "RefusePositionService"; break; - case 162: std::get<1>(result) = "InvokeNameBanish"; break; - case 163: std::get<1>(result) = "InvokeNameService"; break; - case 164: std::get<1>(result) = "GrovelMaster"; break; - case 165: std::get<1>(result) = "DemandItem"; break; - case 166: std::get<1>(result) = "GiveServiceReport"; break; - case 167: std::get<1>(result) = "OfferEncouragement"; break; - case 168: std::get<1>(result) = "PraiseTaskCompleter"; break; - case 169: std::get<1>(result) = "AskAboutPersonMenu"; break; - case 170: std::get<1>(result) = "AskAboutPerson"; break; - case 171: std::get<1>(result) = "TellAboutPerson"; break; - case 172: std::get<1>(result) = "AskFeelings"; break; - case 173: std::get<1>(result) = "TellThoughts"; break; - case 174: std::get<1>(result) = "AskServices"; break; - case 175: std::get<1>(result) = "TellServices"; break; - case 176: std::get<1>(result) = "OrderDrink"; break; - case 177: std::get<1>(result) = "RentRoom"; break; - case 178: std::get<1>(result) = "ExtendRoomRental"; break; - case 179: std::get<1>(result) = "ConfirmServiceOrder"; break; - case 180: std::get<1>(result) = "AskJoinEntertain"; break; - case 181: std::get<1>(result) = "RespondJoinEntertain"; break; - case 182: std::get<1>(result) = "AskJoinTroupe"; break; - case 183: std::get<1>(result) = "anon_5"; break; - case 184: std::get<1>(result) = "RefuseTroupeApplication"; break; - case 185: std::get<1>(result) = "InviteJoinTroupe"; break; - case 186: std::get<1>(result) = "AcceptTroupeInvitation"; break; - case 187: std::get<1>(result) = "RefuseTroupeInvitation"; break; - case 188: std::get<1>(result) = "KickOutOfTroupe"; break; - case 189: std::get<1>(result) = "CreateTroupe"; break; - case 190: std::get<1>(result) = "LeaveTroupe"; break; - case 191: std::get<1>(result) = "YellServiceOrder"; break; - case 192: std::get<1>(result) = "TellBePatientForService"; break; - case 193: std::get<1>(result) = "TellNoServices"; break; - case 194: std::get<1>(result) = "AskWaitUntilThere"; break; - case 195: std::get<1>(result) = "DenyWorkingHere"; break; - case 196: std::get<1>(result) = "ExpressEmotionMenu"; break; - case 197: std::get<1>(result) = "StateValueMenu"; break; - case 198: std::get<1>(result) = "StateValue"; break; - case 199: std::get<1>(result) = "SayNoOrderYet"; break; - case 200: std::get<1>(result) = "ProvideDirectionsBuilding"; break; - case 201: std::get<1>(result) = "Argue"; break; - case 202: std::get<1>(result) = "Flatter"; break; - case 203: std::get<1>(result) = "DismissArgument"; break; - case 204: std::get<1>(result) = "RespondPassively"; break; - case 205: std::get<1>(result) = "Acquiesce"; break; - case 206: std::get<1>(result) = "DerideFlattery"; break; - case 207: std::get<1>(result) = "ExpressOutrageAtDismissal"; break; - case 208: std::get<1>(result) = "PressArgument"; break; - case 209: std::get<1>(result) = "DropArgument"; break; - case 210: std::get<1>(result) = "AskWork"; break; - case 211: std::get<1>(result) = "AskWorkGroup"; break; - case 212: std::get<1>(result) = "GrantWork"; break; - case 213: std::get<1>(result) = "RefuseWork"; break; - case 214: std::get<1>(result) = "GrantWorkGroup"; break; - case 215: std::get<1>(result) = "RefuseWorkGroup"; break; - case 216: std::get<1>(result) = "GiveSquadOrder"; break; - case 217: std::get<1>(result) = "Artifact"; break; - case 218: std::get<1>(result) = "PraiseReturn"; break; - case 219: std::get<1>(result) = "ProvideLocation"; break; - case 220: std::get<1>(result) = "Prophesize"; break; - case 221: std::get<1>(result) = "TalkAboutAncestor"; break; - case 222: std::get<1>(result) = "SuggestTrade"; break; - case 223: std::get<1>(result) = "AcceptNotTrade"; break; - case 224: std::get<1>(result) = "DemandIdentity"; break; - default: break; - } - return result; -} - -std::tuple get_assume_identity_mode_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "SelectIdentity"; break; - case 1: std::get<1>(result) = "CreateIdentity"; break; - case 2: std::get<1>(result) = "SelectProfession"; break; - case 3: std::get<1>(result) = "SelectWorship"; break; - case 4: std::get<1>(result) = "SelectOrigin"; break; - default: break; - } - return result; -} - -std::tuple get_announcement_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "REACHED_PEAK"; break; - case 1: std::get<1>(result) = "ERA_CHANGE"; break; - case 2: std::get<1>(result) = "FEATURE_DISCOVERY"; break; - case 3: std::get<1>(result) = "STRUCK_DEEP_METAL"; break; - case 4: std::get<1>(result) = "STRUCK_MINERAL"; break; - case 5: std::get<1>(result) = "STRUCK_ECONOMIC_MINERAL"; break; - case 6: std::get<1>(result) = "COMBAT_TWIST_WEAPON"; break; - case 7: std::get<1>(result) = "COMBAT_LET_ITEM_DROP"; break; - case 8: std::get<1>(result) = "COMBAT_START_CHARGE"; break; - case 9: std::get<1>(result) = "COMBAT_SURPRISE_CHARGE"; break; - case 10: std::get<1>(result) = "COMBAT_JUMP_DODGE_PROJ"; break; - case 11: std::get<1>(result) = "COMBAT_JUMP_DODGE_STRIKE"; break; - case 12: std::get<1>(result) = "COMBAT_DODGE"; break; - case 13: std::get<1>(result) = "COMBAT_COUNTERSTRIKE"; break; - case 14: std::get<1>(result) = "COMBAT_BLOCK"; break; - case 15: std::get<1>(result) = "COMBAT_PARRY"; break; - case 16: std::get<1>(result) = "COMBAT_CHARGE_COLLISION"; break; - case 17: std::get<1>(result) = "COMBAT_CHARGE_DEFENDER_TUMBLES"; break; - case 18: std::get<1>(result) = "COMBAT_CHARGE_DEFENDER_KNOCKED_OVER"; break; - case 19: std::get<1>(result) = "COMBAT_CHARGE_ATTACKER_TUMBLES"; break; - case 20: std::get<1>(result) = "COMBAT_CHARGE_ATTACKER_BOUNCE_BACK"; break; - case 21: std::get<1>(result) = "COMBAT_CHARGE_TANGLE_TOGETHER"; break; - case 22: std::get<1>(result) = "COMBAT_CHARGE_TANGLE_TUMBLE"; break; - case 23: std::get<1>(result) = "COMBAT_CHARGE_RUSH_BY"; break; - case 24: std::get<1>(result) = "COMBAT_CHARGE_MANAGE_STOP"; break; - case 25: std::get<1>(result) = "COMBAT_CHARGE_OBSTACLE_SLAM"; break; - case 26: std::get<1>(result) = "COMBAT_WRESTLE_LOCK"; break; - case 27: std::get<1>(result) = "COMBAT_WRESTLE_CHOKEHOLD"; break; - case 28: std::get<1>(result) = "COMBAT_WRESTLE_TAKEDOWN"; break; - case 29: std::get<1>(result) = "COMBAT_WRESTLE_THROW"; break; - case 30: std::get<1>(result) = "COMBAT_WRESTLE_RELEASE_LOCK"; break; - case 31: std::get<1>(result) = "COMBAT_WRESTLE_RELEASE_CHOKE"; break; - case 32: std::get<1>(result) = "COMBAT_WRESTLE_RELEASE_GRIP"; break; - case 33: std::get<1>(result) = "COMBAT_WRESTLE_STRUGGLE"; break; - case 34: std::get<1>(result) = "COMBAT_WRESTLE_RELEASE_LATCH"; break; - case 35: std::get<1>(result) = "COMBAT_WRESTLE_STRANGLE_KO"; break; - case 36: std::get<1>(result) = "COMBAT_WRESTLE_ADJUST_GRIP"; break; - case 37: std::get<1>(result) = "COMBAT_GRAB_TEAR"; break; - case 38: std::get<1>(result) = "COMBAT_STRIKE_DETAILS"; break; - case 39: std::get<1>(result) = "COMBAT_STRIKE_DETAILS_2"; break; - case 40: std::get<1>(result) = "COMBAT_EVENT_ENRAGED"; break; - case 41: std::get<1>(result) = "COMBAT_EVENT_STUCKIN"; break; - case 42: std::get<1>(result) = "COMBAT_EVENT_LATCH_BP"; break; - case 43: std::get<1>(result) = "COMBAT_EVENT_LATCH_GENERAL"; break; - case 44: std::get<1>(result) = "COMBAT_EVENT_PROPELLED_AWAY"; break; - case 45: std::get<1>(result) = "COMBAT_EVENT_KNOCKED_OUT"; break; - case 46: std::get<1>(result) = "COMBAT_EVENT_STUNNED"; break; - case 47: std::get<1>(result) = "COMBAT_EVENT_WINDED"; break; - case 48: std::get<1>(result) = "COMBAT_EVENT_NAUSEATED"; break; - case 49: std::get<1>(result) = "MIGRANT_ARRIVAL_NAMED"; break; - case 50: std::get<1>(result) = "MIGRANT_ARRIVAL"; break; - case 51: std::get<1>(result) = "DIG_CANCEL_WARM"; break; - case 52: std::get<1>(result) = "DIG_CANCEL_DAMP"; break; - case 53: std::get<1>(result) = "AMBUSH_DEFENDER"; break; - case 54: std::get<1>(result) = "AMBUSH_RESIDENT"; break; - case 55: std::get<1>(result) = "AMBUSH_THIEF"; break; - case 56: std::get<1>(result) = "AMBUSH_THIEF_SUPPORT_SKULKING"; break; - case 57: std::get<1>(result) = "AMBUSH_THIEF_SUPPORT_NATURE"; break; - case 58: std::get<1>(result) = "AMBUSH_THIEF_SUPPORT"; break; - case 59: std::get<1>(result) = "AMBUSH_MISCHIEVOUS"; break; - case 60: std::get<1>(result) = "AMBUSH_SNATCHER"; break; - case 61: std::get<1>(result) = "AMBUSH_SNATCHER_SUPPORT"; break; - case 62: std::get<1>(result) = "AMBUSH_AMBUSHER_NATURE"; break; - case 63: std::get<1>(result) = "AMBUSH_AMBUSHER"; break; - case 64: std::get<1>(result) = "AMBUSH_INJURED"; break; - case 65: std::get<1>(result) = "AMBUSH_OTHER"; break; - case 66: std::get<1>(result) = "AMBUSH_INCAPACITATED"; break; - case 67: std::get<1>(result) = "CARAVAN_ARRIVAL"; break; - case 68: std::get<1>(result) = "NOBLE_ARRIVAL"; break; - case 69: std::get<1>(result) = "D_MIGRANTS_ARRIVAL"; break; - case 70: std::get<1>(result) = "D_MIGRANT_ARRIVAL"; break; - case 71: std::get<1>(result) = "D_MIGRANT_ARRIVAL_DISCOURAGED"; break; - case 72: std::get<1>(result) = "D_NO_MIGRANT_ARRIVAL"; break; - case 73: std::get<1>(result) = "ANIMAL_TRAP_CATCH"; break; - case 74: std::get<1>(result) = "ANIMAL_TRAP_ROBBED"; break; - case 75: std::get<1>(result) = "MISCHIEF_LEVER"; break; - case 76: std::get<1>(result) = "MISCHIEF_PLATE"; break; - case 77: std::get<1>(result) = "MISCHIEF_CAGE"; break; - case 78: std::get<1>(result) = "MISCHIEF_CHAIN"; break; - case 79: std::get<1>(result) = "DIPLOMAT_ARRIVAL"; break; - case 80: std::get<1>(result) = "LIAISON_ARRIVAL"; break; - case 81: std::get<1>(result) = "TRADE_DIPLOMAT_ARRIVAL"; break; - case 82: std::get<1>(result) = "CAVE_COLLAPSE"; break; - case 83: std::get<1>(result) = "BIRTH_CITIZEN"; break; - case 84: std::get<1>(result) = "BIRTH_ANIMAL"; break; - case 85: std::get<1>(result) = "STRANGE_MOOD"; break; - case 86: std::get<1>(result) = "MADE_ARTIFACT"; break; - case 87: std::get<1>(result) = "NAMED_ARTIFACT"; break; - case 88: std::get<1>(result) = "ITEM_ATTACHMENT"; break; - case 89: std::get<1>(result) = "VERMIN_CAGE_ESCAPE"; break; - case 90: std::get<1>(result) = "TRIGGER_WEB"; break; - case 91: std::get<1>(result) = "MOOD_BUILDING_CLAIMED"; break; - case 92: std::get<1>(result) = "ARTIFACT_BEGUN"; break; - case 93: std::get<1>(result) = "MEGABEAST_ARRIVAL"; break; - case 94: std::get<1>(result) = "BERSERK_CITIZEN"; break; - case 95: std::get<1>(result) = "MAGMA_DEFACES_ENGRAVING"; break; - case 96: std::get<1>(result) = "ENGRAVING_MELTS"; break; - case 97: std::get<1>(result) = "MASTERPIECE_ARCHITECTURE"; break; - case 98: std::get<1>(result) = "MASTERPIECE_CONSTRUCTION"; break; - case 99: std::get<1>(result) = "MASTER_ARCHITECTURE_LOST"; break; - case 100: std::get<1>(result) = "MASTER_CONSTRUCTION_LOST"; break; - case 101: std::get<1>(result) = "ADV_AWAKEN"; break; - case 102: std::get<1>(result) = "ADV_SLEEP_INTERRUPTED"; break; - case 103: std::get<1>(result) = "CANCEL_JOB"; break; - case 104: std::get<1>(result) = "ADV_CREATURE_DEATH"; break; - case 105: std::get<1>(result) = "CITIZEN_DEATH"; break; - case 106: std::get<1>(result) = "PET_DEATH"; break; - case 107: std::get<1>(result) = "ENDGAME_EVENT_1"; break; - case 108: std::get<1>(result) = "ENDGAME_EVENT_2"; break; - case 109: std::get<1>(result) = "FALL_OVER"; break; - case 110: std::get<1>(result) = "CAUGHT_IN_FLAMES"; break; - case 111: std::get<1>(result) = "CAUGHT_IN_WEB"; break; - case 112: std::get<1>(result) = "UNIT_PROJECTILE_SLAM_BLOW_APART"; break; - case 113: std::get<1>(result) = "UNIT_PROJECTILE_SLAM"; break; - case 114: std::get<1>(result) = "UNIT_PROJECTILE_SLAM_INTO_UNIT"; break; - case 115: std::get<1>(result) = "VOMIT"; break; - case 116: std::get<1>(result) = "LOSE_HOLD_OF_ITEM"; break; - case 117: std::get<1>(result) = "REGAIN_CONSCIOUSNESS"; break; - case 118: std::get<1>(result) = "FREE_FROM_WEB"; break; - case 119: std::get<1>(result) = "PARALYZED"; break; - case 120: std::get<1>(result) = "OVERCOME_PARALYSIS"; break; - case 121: std::get<1>(result) = "NOT_STUNNED"; break; - case 122: std::get<1>(result) = "EXHAUSTION"; break; - case 123: std::get<1>(result) = "PAIN_KO"; break; - case 124: std::get<1>(result) = "BREAK_GRIP"; break; - case 125: std::get<1>(result) = "NO_BREAK_GRIP"; break; - case 126: std::get<1>(result) = "BLOCK_FIRE"; break; - case 127: std::get<1>(result) = "BREATHE_FIRE"; break; - case 128: std::get<1>(result) = "SHOOT_WEB"; break; - case 129: std::get<1>(result) = "PULL_OUT_DROP"; break; - case 130: std::get<1>(result) = "STAND_UP"; break; - case 131: std::get<1>(result) = "MARTIAL_TRANCE"; break; - case 132: std::get<1>(result) = "MAT_BREATH"; break; - case 133: std::get<1>(result) = "ADV_REACTION_PRODUCTS"; break; - case 134: std::get<1>(result) = "NIGHT_ATTACK_STARTS"; break; - case 135: std::get<1>(result) = "NIGHT_ATTACK_ENDS"; break; - case 136: std::get<1>(result) = "NIGHT_ATTACK_TRAVEL"; break; - case 137: std::get<1>(result) = "GHOST_ATTACK"; break; - case 138: std::get<1>(result) = "FLAME_HIT"; break; - case 139: std::get<1>(result) = "TRAVEL_SITE_DISCOVERY"; break; - case 140: std::get<1>(result) = "TRAVEL_SITE_BUMP"; break; - case 141: std::get<1>(result) = "ADVENTURE_INTRO"; break; - case 142: std::get<1>(result) = "CREATURE_SOUND"; break; - case 143: std::get<1>(result) = "CREATURE_STEALS_OBJECT"; break; - case 144: std::get<1>(result) = "FOUND_TRAP"; break; - case 145: std::get<1>(result) = "BODY_TRANSFORMATION"; break; - case 146: std::get<1>(result) = "INTERACTION_ACTOR"; break; - case 147: std::get<1>(result) = "INTERACTION_TARGET"; break; - case 148: std::get<1>(result) = "UNDEAD_ATTACK"; break; - case 149: std::get<1>(result) = "CITIZEN_MISSING"; break; - case 150: std::get<1>(result) = "PET_MISSING"; break; - case 151: std::get<1>(result) = "EMBRACE"; break; - case 152: std::get<1>(result) = "STRANGE_RAIN_SNOW"; break; - case 153: std::get<1>(result) = "STRANGE_CLOUD"; break; - case 154: std::get<1>(result) = "SIMPLE_ANIMAL_ACTION"; break; - case 155: std::get<1>(result) = "FLOUNDER_IN_LIQUID"; break; - case 156: std::get<1>(result) = "TRAINING_DOWN_TO_SEMI_WILD"; break; - case 157: std::get<1>(result) = "TRAINING_FULL_REVERSION"; break; - case 158: std::get<1>(result) = "ANIMAL_TRAINING_KNOWLEDGE"; break; - case 159: std::get<1>(result) = "SKIP_ON_LIQUID"; break; - case 160: std::get<1>(result) = "DODGE_FLYING_OBJECT"; break; - case 161: std::get<1>(result) = "REGULAR_CONVERSATION"; break; - case 162: std::get<1>(result) = "BANDIT_EMPTY_CONTAINER"; break; - case 163: std::get<1>(result) = "BANDIT_GRAB_ITEM"; break; - case 164: std::get<1>(result) = "COMBAT_EVENT_ATTACK_INTERRUPTED"; break; - case 165: std::get<1>(result) = "COMBAT_WRESTLE_CATCH_ATTACK"; break; - case 166: std::get<1>(result) = "FAIL_TO_GRAB_SURFACE"; break; - case 167: std::get<1>(result) = "LOSE_HOLD_OF_SURFACE"; break; - case 168: std::get<1>(result) = "TRAVEL_COMPLAINT"; break; - case 169: std::get<1>(result) = "LOSE_EMOTION"; break; - case 170: std::get<1>(result) = "REORGANIZE_POSSESSIONS"; break; - case 171: std::get<1>(result) = "PUSH_ITEM"; break; - case 172: std::get<1>(result) = "DRAW_ITEM"; break; - case 173: std::get<1>(result) = "STRAP_ITEM"; break; - case 174: std::get<1>(result) = "GAIN_SITE_CONTROL"; break; - case 175: std::get<1>(result) = "CONFLICT_CONVERSATION"; break; - case 176: std::get<1>(result) = "FORT_POSITION_SUCCESSION"; break; - case 177: std::get<1>(result) = "MECHANISM_SOUND"; break; - case 178: std::get<1>(result) = "BIRTH_WILD_ANIMAL"; break; - case 179: std::get<1>(result) = "STRESSED_CITIZEN"; break; - case 180: std::get<1>(result) = "CITIZEN_LOST_TO_STRESS"; break; - case 181: std::get<1>(result) = "CITIZEN_TANTRUM"; break; - case 182: std::get<1>(result) = "MOVED_OUT_OF_RANGE"; break; - case 183: std::get<1>(result) = "CANNOT_JUMP"; break; - case 184: std::get<1>(result) = "NO_TRACKS"; break; - case 185: std::get<1>(result) = "ALREADY_SEARCHED_AREA"; break; - case 186: std::get<1>(result) = "SEARCH_FOUND_SOMETHING"; break; - case 187: std::get<1>(result) = "SEARCH_FOUND_NOTHING"; break; - case 188: std::get<1>(result) = "NOTHING_TO_INTERACT"; break; - case 189: std::get<1>(result) = "NOTHING_TO_EXAMINE"; break; - case 190: std::get<1>(result) = "YOU_YIELDED"; break; - case 191: std::get<1>(result) = "YOU_UNYIELDED"; break; - case 192: std::get<1>(result) = "YOU_STRAP_ITEM"; break; - case 193: std::get<1>(result) = "YOU_DRAW_ITEM"; break; - case 194: std::get<1>(result) = "NO_GRASP_TO_DRAW_ITEM"; break; - case 195: std::get<1>(result) = "NO_ITEM_TO_STRAP"; break; - case 196: std::get<1>(result) = "NO_INV_TO_REMOVE"; break; - case 197: std::get<1>(result) = "NO_INV_TO_WEAR"; break; - case 198: std::get<1>(result) = "NO_INV_TO_EAT"; break; - case 199: std::get<1>(result) = "NO_INV_TO_CONTAIN"; break; - case 200: std::get<1>(result) = "NO_INV_TO_DROP"; break; - case 201: std::get<1>(result) = "NOTHING_TO_PICK_UP"; break; - case 202: std::get<1>(result) = "NO_INV_TO_THROW"; break; - case 203: std::get<1>(result) = "NO_INV_TO_FIRE"; break; - case 204: std::get<1>(result) = "CURRENT_SMELL"; break; - case 205: std::get<1>(result) = "CURRENT_WEATHER"; break; - case 206: std::get<1>(result) = "CURRENT_TEMPERATURE"; break; - case 207: std::get<1>(result) = "CURRENT_DATE"; break; - case 208: std::get<1>(result) = "NO_GRASP_FOR_PICKUP"; break; - case 209: std::get<1>(result) = "TRAVEL_ADVISORY"; break; - case 210: std::get<1>(result) = "CANNOT_CLIMB"; break; - case 211: std::get<1>(result) = "CANNOT_STAND"; break; - case 212: std::get<1>(result) = "MUST_UNRETRACT_FIRST"; break; - case 213: std::get<1>(result) = "CANNOT_REST"; break; - case 214: std::get<1>(result) = "CANNOT_MAKE_CAMPFIRE"; break; - case 215: std::get<1>(result) = "MADE_CAMPFIRE"; break; - case 216: std::get<1>(result) = "CANNOT_SET_FIRE"; break; - case 217: std::get<1>(result) = "SET_FIRE"; break; - case 218: std::get<1>(result) = "DAWN_BREAKS"; break; - case 219: std::get<1>(result) = "NOON"; break; - case 220: std::get<1>(result) = "NIGHTFALL"; break; - case 221: std::get<1>(result) = "NO_INV_INTERACTION"; break; - case 222: std::get<1>(result) = "EMPTY_CONTAINER"; break; - case 223: std::get<1>(result) = "TAKE_OUT_OF_CONTAINER"; break; - case 224: std::get<1>(result) = "NO_CONTAINER_FOR_ITEM"; break; - case 225: std::get<1>(result) = "PUT_INTO_CONTAINER"; break; - case 226: std::get<1>(result) = "EAT_ITEM"; break; - case 227: std::get<1>(result) = "DRINK_ITEM"; break; - case 228: std::get<1>(result) = "CONSUME_FAILURE"; break; - case 229: std::get<1>(result) = "DROP_ITEM"; break; - case 230: std::get<1>(result) = "PICK_UP_ITEM"; break; - case 231: std::get<1>(result) = "YOU_BUILDING_INTERACTION"; break; - case 232: std::get<1>(result) = "YOU_ITEM_INTERACTION"; break; - case 233: std::get<1>(result) = "YOU_TEMPERATURE_EFFECTS"; break; - case 234: std::get<1>(result) = "PROFESSION_CHANGES"; break; - case 235: std::get<1>(result) = "RECRUIT_PROMOTED"; break; - case 236: std::get<1>(result) = "SOLDIER_BECOMES_MASTER"; break; - case 237: std::get<1>(result) = "RESOLVE_SHARED_ITEMS"; break; - case 238: std::get<1>(result) = "COUGH_BLOOD"; break; - case 239: std::get<1>(result) = "VOMIT_BLOOD"; break; - case 240: std::get<1>(result) = "MERCHANTS_UNLOADING"; break; - case 241: std::get<1>(result) = "MERCHANTS_NEED_DEPOT"; break; - case 242: std::get<1>(result) = "MERCHANT_WAGONS_BYPASSED"; break; - case 243: std::get<1>(result) = "MERCHANTS_LEAVING_SOON"; break; - case 244: std::get<1>(result) = "MERCHANTS_EMBARKED"; break; - case 245: std::get<1>(result) = "PET_LOSES_DEAD_OWNER"; break; - case 246: std::get<1>(result) = "PET_ADOPTS_OWNER"; break; - case 247: std::get<1>(result) = "VERMIN_BITE"; break; - case 248: std::get<1>(result) = "UNABLE_TO_COMPLETE_BUILDING"; break; - case 249: std::get<1>(result) = "JOBS_REMOVED_FROM_UNPOWERED_BUILDING"; break; - case 250: std::get<1>(result) = "CITIZEN_SNATCHED"; break; - case 251: std::get<1>(result) = "VERMIN_DISTURBED"; break; - case 252: std::get<1>(result) = "LAND_GAINS_STATUS"; break; - case 253: std::get<1>(result) = "LAND_ELEVATED_STATUS"; break; - case 254: std::get<1>(result) = "MASTERPIECE_CRAFTED"; break; - case 255: std::get<1>(result) = "ARTWORK_DEFACED"; break; - case 256: std::get<1>(result) = "POWER_LEARNED"; break; - case 257: std::get<1>(result) = "YOU_FEED_ON_SUCKEE"; break; - case 258: std::get<1>(result) = "ANIMAL_TRAINED"; break; - case 259: std::get<1>(result) = "DYED_MASTERPIECE"; break; - case 260: std::get<1>(result) = "COOKED_MASTERPIECE"; break; - case 261: std::get<1>(result) = "MANDATE_ENDS"; break; - case 262: std::get<1>(result) = "SLOWDOWN_ENDS"; break; - case 263: std::get<1>(result) = "FAREWELL_HELPER"; break; - case 264: std::get<1>(result) = "ELECTION_RESULTS"; break; - case 265: std::get<1>(result) = "SITE_PRESENT"; break; - case 266: std::get<1>(result) = "CONSTRUCTION_SUSPENDED"; break; - case 267: std::get<1>(result) = "LINKAGE_SUSPENDED"; break; - case 268: std::get<1>(result) = "QUOTA_FILLED"; break; - case 269: std::get<1>(result) = "JOB_OVERWRITTEN"; break; - case 270: std::get<1>(result) = "NOTHING_TO_CATCH_IN_WATER"; break; - case 271: std::get<1>(result) = "DEMAND_FORGOTTEN"; break; - case 272: std::get<1>(result) = "NEW_DEMAND"; break; - case 273: std::get<1>(result) = "NEW_MANDATE"; break; - case 274: std::get<1>(result) = "PRICES_ALTERED"; break; - case 275: std::get<1>(result) = "NAMED_RESIDENT_CREATURE"; break; - case 276: std::get<1>(result) = "SOMEBODY_GROWS_UP"; break; - case 277: std::get<1>(result) = "GUILD_REQUEST_TAKEN"; break; - case 278: std::get<1>(result) = "GUILD_WAGES_CHANGED"; break; - case 279: std::get<1>(result) = "NEW_WORK_MANDATE"; break; - case 280: std::get<1>(result) = "CITIZEN_BECOMES_SOLDIER"; break; - case 281: std::get<1>(result) = "CITIZEN_BECOMES_NONSOLDIER"; break; - case 282: std::get<1>(result) = "PARTY_ORGANIZED"; break; - case 283: std::get<1>(result) = "POSSESSED_TANTRUM"; break; - case 284: std::get<1>(result) = "BUILDING_TOPPLED_BY_GHOST"; break; - case 285: std::get<1>(result) = "MASTERFUL_IMPROVEMENT"; break; - case 286: std::get<1>(result) = "MASTERPIECE_ENGRAVING"; break; - case 287: std::get<1>(result) = "MARRIAGE"; break; - case 288: std::get<1>(result) = "NO_MARRIAGE_CELEBRATION"; break; - case 289: std::get<1>(result) = "CURIOUS_GUZZLER"; break; - case 290: std::get<1>(result) = "WEATHER_BECOMES_CLEAR"; break; - case 291: std::get<1>(result) = "WEATHER_BECOMES_SNOW"; break; - case 292: std::get<1>(result) = "WEATHER_BECOMES_RAIN"; break; - case 293: std::get<1>(result) = "SEASON_WET"; break; - case 294: std::get<1>(result) = "SEASON_DRY"; break; - case 295: std::get<1>(result) = "SEASON_SPRING"; break; - case 296: std::get<1>(result) = "SEASON_SUMMER"; break; - case 297: std::get<1>(result) = "SEASON_AUTUMN"; break; - case 298: std::get<1>(result) = "SEASON_WINTER"; break; - case 299: std::get<1>(result) = "GUEST_ARRIVAL"; break; - case 300: std::get<1>(result) = "CANNOT_SPEAK"; break; - case 301: std::get<1>(result) = "RESEARCH_BREAKTHROUGH"; break; - case 302: std::get<1>(result) = "SERVICE_ORDER_DELIVERY"; break; - case 303: std::get<1>(result) = "PERFORMANCE_START_FAILURE"; break; - case 304: std::get<1>(result) = "BEGIN_ACTIVITY"; break; - case 305: std::get<1>(result) = "MIDDLE_OF_ACTIVITY"; break; - case 306: std::get<1>(result) = "ACTIVITY_SECTION_CHANGE"; break; - case 307: std::get<1>(result) = "CONCLUDE_ACTIVITY"; break; - case 308: std::get<1>(result) = "LEARNED_WRITTEN_CONTENT"; break; - case 309: std::get<1>(result) = "LEARNED_ART_FORM"; break; - case 310: std::get<1>(result) = "PERFORMER_UPDATE"; break; - case 311: std::get<1>(result) = "BUILDING_DESTROYED_OR_TOPPLED"; break; - case 312: std::get<1>(result) = "DEITY_CURSE"; break; - case 313: std::get<1>(result) = "COMPOSITION_COMPLETE"; break; - case 314: std::get<1>(result) = "COMPOSITION_FAILED"; break; - case 315: std::get<1>(result) = "NEW_APPRENTICESHIP"; break; - case 316: std::get<1>(result) = "PETITION_IGNORED"; break; - case 317: std::get<1>(result) = "CHOP_TREE"; break; - case 318: std::get<1>(result) = "CANNOT_CONSTRUCT"; break; - case 319: std::get<1>(result) = "RUMOR_SPREAD"; break; - case 320: std::get<1>(result) = "AMBUSH_HERO"; break; - case 321: std::get<1>(result) = "SERVICE_ORDER_RUMOR_RECEIVED"; break; - case 322: std::get<1>(result) = "RETURNING_RUMOR_RECEIVED"; break; - case 323: std::get<1>(result) = "NEW_HOLDING"; break; - case 324: std::get<1>(result) = "NEW_MARKET_LINK"; break; - default: break; - } - return result; -} - -std::tuple get_art_image_element_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "CREATURE"; break; - case 1: std::get<1>(result) = "PLANT"; break; - case 2: std::get<1>(result) = "TREE"; break; - case 3: std::get<1>(result) = "SHAPE"; break; - case 4: std::get<1>(result) = "ITEM"; break; - default: break; - } - return result; -} - -std::tuple get_art_image_property_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "transitive_verb"; break; - case 1: std::get<1>(result) = "intransitive_verb"; break; - default: break; - } - return result; -} - -std::tuple get_art_image_property_verb_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Withering"; break; - case 1: std::get<1>(result) = "SurroundedBy"; break; - case 2: std::get<1>(result) = "Massacring"; break; - case 3: std::get<1>(result) = "Fighting"; break; - case 4: std::get<1>(result) = "Laboring"; break; - case 5: std::get<1>(result) = "Greeting"; break; - case 6: std::get<1>(result) = "Refusing"; break; - case 7: std::get<1>(result) = "Speaking"; break; - case 8: std::get<1>(result) = "Embracing"; break; - case 9: std::get<1>(result) = "StrikingDown"; break; - case 10: std::get<1>(result) = "MenacingPose"; break; - case 11: std::get<1>(result) = "Traveling"; break; - case 12: std::get<1>(result) = "Raising"; break; - case 13: std::get<1>(result) = "Hiding"; break; - case 14: std::get<1>(result) = "LookingConfused"; break; - case 15: std::get<1>(result) = "LookingTerrified"; break; - case 16: std::get<1>(result) = "Devouring"; break; - case 17: std::get<1>(result) = "Admiring"; break; - case 18: std::get<1>(result) = "Burning"; break; - case 19: std::get<1>(result) = "Weeping"; break; - case 20: std::get<1>(result) = "LookingDejected"; break; - case 21: std::get<1>(result) = "Cringing"; break; - case 22: std::get<1>(result) = "Screaming"; break; - case 23: std::get<1>(result) = "SubmissiveGesture"; break; - case 24: std::get<1>(result) = "FetalPosition"; break; - case 25: std::get<1>(result) = "SmearedIntoSpiral"; break; - case 26: std::get<1>(result) = "Falling"; break; - case 27: std::get<1>(result) = "Dead"; break; - case 28: std::get<1>(result) = "Laughing"; break; - case 29: std::get<1>(result) = "LookingOffended"; break; - case 30: std::get<1>(result) = "BeingShot"; break; - case 31: std::get<1>(result) = "PlaintiveGesture"; break; - case 32: std::get<1>(result) = "Melting"; break; - case 33: std::get<1>(result) = "Shooting"; break; - case 34: std::get<1>(result) = "Torturing"; break; - case 35: std::get<1>(result) = "CommittingDepravedAct"; break; - case 36: std::get<1>(result) = "Praying"; break; - case 37: std::get<1>(result) = "Contemplating"; break; - case 38: std::get<1>(result) = "Cooking"; break; - case 39: std::get<1>(result) = "Engraving"; break; - case 40: std::get<1>(result) = "Prostrating"; break; - case 41: std::get<1>(result) = "Suffering"; break; - case 42: std::get<1>(result) = "BeingImpaled"; break; - case 43: std::get<1>(result) = "BeingContorted"; break; - case 44: std::get<1>(result) = "BeingFlayed"; break; - case 45: std::get<1>(result) = "HangingFrom"; break; - case 46: std::get<1>(result) = "BeingMutilated"; break; - case 47: std::get<1>(result) = "TriumphantPose"; break; - default: break; - } - return result; -} - -std::tuple get_art_facet_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "OWN_RACE"; break; - case 1: std::get<1>(result) = "FANCIFUL"; break; - case 2: std::get<1>(result) = "GOOD"; break; - case 3: std::get<1>(result) = "EVIL"; break; - default: break; - } - return result; -} - -std::tuple get_poetic_form_action_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Describe"; break; - case 1: std::get<1>(result) = "Satirize"; break; - case 2: std::get<1>(result) = "AmuseAudience"; break; - case 3: std::get<1>(result) = "Complain"; break; - case 4: std::get<1>(result) = "Renounce"; break; - case 5: std::get<1>(result) = "MakeApology"; break; - case 6: std::get<1>(result) = "ExpressPleasure"; break; - case 7: std::get<1>(result) = "ExpressGrief"; break; - case 8: std::get<1>(result) = "Praise"; break; - case 9: std::get<1>(result) = "TeachMoralLesson"; break; - case 10: std::get<1>(result) = "MakeAssertion"; break; - case 11: std::get<1>(result) = "MakeCounterAssertion"; break; - case 12: std::get<1>(result) = "MakeConsession"; break; - case 13: std::get<1>(result) = "SynthesizePreviousIdeas"; break; - case 14: std::get<1>(result) = "DevelopPreviousIdea"; break; - case 15: std::get<1>(result) = "InvertTheAssertion"; break; - case 16: std::get<1>(result) = "UndercutAssertion"; break; - case 17: std::get<1>(result) = "MoveAwayFromPreviousIdeas"; break; - case 18: std::get<1>(result) = "ReflectPreviousIdeas"; break; - case 19: std::get<1>(result) = "ConsoleAudience"; break; - case 20: std::get<1>(result) = "RefuseConsolation"; break; - case 21: std::get<1>(result) = "OfferDifferentPerspective"; break; - default: break; - } - return result; -} - -std::tuple get_poetic_form_pattern_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "AA"; break; - case 1: std::get<1>(result) = "AB"; break; - case 2: std::get<1>(result) = "BA"; break; - case 3: std::get<1>(result) = "BB"; break; - case 4: std::get<1>(result) = "AAA"; break; - case 5: std::get<1>(result) = "BAA"; break; - case 6: std::get<1>(result) = "ABA"; break; - case 7: std::get<1>(result) = "AAB"; break; - case 8: std::get<1>(result) = "ABB"; break; - case 9: std::get<1>(result) = "BBA"; break; - case 10: std::get<1>(result) = "BAB"; break; - case 11: std::get<1>(result) = "BBB"; break; - default: break; - } - return result; -} - -std::tuple get_poetic_form_caesura_position_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Initial"; break; - case 1: std::get<1>(result) = "Medial"; break; - case 2: std::get<1>(result) = "Terminal"; break; - default: break; - } - return result; -} - -std::tuple get_poetic_form_mood_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Narrative"; break; - case 1: std::get<1>(result) = "Dramatic"; break; - case 2: std::get<1>(result) = "Reflective"; break; - case 3: std::get<1>(result) = "Riddle"; break; - case 4: std::get<1>(result) = "Ribald"; break; - case 5: std::get<1>(result) = "Light"; break; - case 6: std::get<1>(result) = "Solemn"; break; - default: break; - } - return result; -} - -std::tuple get_poetic_form_subject_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case -1: std::get<1>(result) = "None"; break; - case 0: std::get<1>(result) = "Past"; break; - case 1: std::get<1>(result) = "CurrentEvents"; break; - case 2: std::get<1>(result) = "Future"; break; - case 3: std::get<1>(result) = "SomeoneRecentlyDeceased"; break; - case 4: std::get<1>(result) = "SomeoneRecentlyRetired"; break; - case 5: std::get<1>(result) = "Religion"; break; - case 6: std::get<1>(result) = "SpecificPlace"; break; - case 7: std::get<1>(result) = "SpecificWildernessRegion"; break; - case 8: std::get<1>(result) = "Nature"; break; - case 9: std::get<1>(result) = "Lover"; break; - case 10: std::get<1>(result) = "Family"; break; - case 11: std::get<1>(result) = "AlcoholicBeverages"; break; - case 12: std::get<1>(result) = "Journey"; break; - case 13: std::get<1>(result) = "War"; break; - case 14: std::get<1>(result) = "Hunt"; break; - case 15: std::get<1>(result) = "Mining"; break; - case 16: std::get<1>(result) = "Death"; break; - case 17: std::get<1>(result) = "Immortality"; break; - case 18: std::get<1>(result) = "SomeonesCharacter"; break; - case 19: std::get<1>(result) = "Histfig"; break; - case 20: std::get<1>(result) = "Concept"; break; - default: break; - } - return result; -} - -std::tuple get_poetic_form_additional_feature_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "SharesUnderlyingMeaning"; break; - case 1: std::get<1>(result) = "ContrastsUnderlyingMeaning"; break; - case 2: std::get<1>(result) = "RequiredToMaintainPhrasing"; break; - case 3: std::get<1>(result) = "SameGrammaticalStructure"; break; - case 4: std::get<1>(result) = "SamePlacementOfAllusions"; break; - case 5: std::get<1>(result) = "ReverseWordOrder"; break; - case 6: std::get<1>(result) = "ReverseGrammaticalStructure"; break; - case 7: std::get<1>(result) = "PresentsDifferentView"; break; - case 8: std::get<1>(result) = "MustExpandIdea"; break; - default: break; - } - return result; -} - -std::tuple get_poetic_form_perspective__T_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Author"; break; - case 1: std::get<1>(result) = "Soldier"; break; - case 2: std::get<1>(result) = "Traveller"; break; - case 3: std::get<1>(result) = "RelativeOfAuthor"; break; - case 4: std::get<1>(result) = "PartyOfDebate"; break; - case 5: std::get<1>(result) = "FictionalPoet"; break; - case 6: std::get<1>(result) = "Histfig"; break; - case 7: std::get<1>(result) = "Animal"; break; - default: break; - } - return result; -} - -std::tuple get_musical_form_purpose_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Entertainment"; break; - case 1: std::get<1>(result) = "Commemoration"; break; - case 2: std::get<1>(result) = "Devotion"; break; - case 3: std::get<1>(result) = "Military"; break; - default: break; - } - return result; -} - -std::tuple get_musical_form_style_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case -1: std::get<1>(result) = "None"; break; - case 0: std::get<1>(result) = "FreeTempo"; break; - case 1: std::get<1>(result) = "VerySlow"; break; - case 2: std::get<1>(result) = "Slow"; break; - case 3: std::get<1>(result) = "WalkingPace"; break; - case 4: std::get<1>(result) = "ModeratelyPaced"; break; - case 5: std::get<1>(result) = "ModeratelyFast"; break; - case 6: std::get<1>(result) = "Fast"; break; - case 7: std::get<1>(result) = "VeryFast"; break; - case 8: std::get<1>(result) = "ExtremelyFast"; break; - case 9: std::get<1>(result) = "anon_1"; break; - case 10: std::get<1>(result) = "anon_2"; break; - case 11: std::get<1>(result) = "anon_3"; break; - case 12: std::get<1>(result) = "anon_4"; break; - case 13: std::get<1>(result) = "anon_5"; break; - case 14: std::get<1>(result) = "anon_6"; break; - case 15: std::get<1>(result) = "Accelerates"; break; - case 16: std::get<1>(result) = "SlowsAndBroadens"; break; - case 17: std::get<1>(result) = "ConsistentlySlowing"; break; - case 18: std::get<1>(result) = "HurriedPace"; break; - case 19: std::get<1>(result) = "GraduallySlowsAtEnd"; break; - case 20: std::get<1>(result) = "WhisperedUndertones"; break; - case 21: std::get<1>(result) = "VerySoft"; break; - case 22: std::get<1>(result) = "Soft"; break; - case 23: std::get<1>(result) = "ModeratelySoft"; break; - case 24: std::get<1>(result) = "ModeratelyLoud"; break; - case 25: std::get<1>(result) = "Loud"; break; - case 26: std::get<1>(result) = "VeryLoud"; break; - case 27: std::get<1>(result) = "BecomeLouderAndLouder"; break; - case 28: std::get<1>(result) = "BecomeSofterAndSofter"; break; - case 29: std::get<1>(result) = "FadeIntoSilence"; break; - case 30: std::get<1>(result) = "StartLoudThenImmediatelySoft"; break; - case 31: std::get<1>(result) = "SlowsAndDiesAwayAtEnd"; break; - case 32: std::get<1>(result) = "BecomesCalmerAtEnd"; break; - case 33: std::get<1>(result) = "BecomesFrenzied"; break; - case 34: std::get<1>(result) = "StressRhythm"; break; - case 35: std::get<1>(result) = "BeStately"; break; - case 36: std::get<1>(result) = "BeBright"; break; - case 37: std::get<1>(result) = "BeLively"; break; - case 38: std::get<1>(result) = "BeSkilled"; break; - case 39: std::get<1>(result) = "BeVigorous"; break; - case 40: std::get<1>(result) = "BeSpirited"; break; - case 41: std::get<1>(result) = "BeDelicate"; break; - case 42: std::get<1>(result) = "BeFiery"; break; - case 43: std::get<1>(result) = "BringSenseOfMotion"; break; - case 44: std::get<1>(result) = "BeFiery2"; break; - case 45: std::get<1>(result) = "FeelAgitated"; break; - case 46: std::get<1>(result) = "BePassionate"; break; - case 47: std::get<1>(result) = "Sparkle"; break; - case 48: std::get<1>(result) = "BeBroad"; break; - case 49: std::get<1>(result) = "BeMadeSweetly"; break; - case 50: std::get<1>(result) = "BeStrong"; break; - case 51: std::get<1>(result) = "BeEnergetic"; break; - case 52: std::get<1>(result) = "BeForceful"; break; - case 53: std::get<1>(result) = "FeelHeroic"; break; - case 54: std::get<1>(result) = "BeMadeExpressively"; break; - case 55: std::get<1>(result) = "FeelFurious"; break; - case 56: std::get<1>(result) = "BeJoyful"; break; - case 57: std::get<1>(result) = "BeGrand"; break; - case 58: std::get<1>(result) = "BeMerry"; break; - case 59: std::get<1>(result) = "BeGraceful"; break; - case 60: std::get<1>(result) = "BuildAsItProceeds"; break; - case 61: std::get<1>(result) = "EvokeTears"; break; - case 62: std::get<1>(result) = "BeMelancholic"; break; - case 63: std::get<1>(result) = "FeelMournful"; break; - case 64: std::get<1>(result) = "BeMadeWithLightTouch"; break; - case 65: std::get<1>(result) = "FeelHeavy"; break; - case 66: std::get<1>(result) = "FeelMysterious"; break; - case 67: std::get<1>(result) = "BeJumpy"; break; - case 68: std::get<1>(result) = "FeelPlayful"; break; - case 69: std::get<1>(result) = "FeelTender"; break; - case 70: std::get<1>(result) = "FeelCalm"; break; - case 71: std::get<1>(result) = "BeTriumphant"; break; - default: break; - } - return result; -} - -std::tuple get_musical_form_pitch_style_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "SinglePitchesOnly"; break; - case 1: std::get<1>(result) = "IntervalsOnly"; break; - case 2: std::get<1>(result) = "SparseChords"; break; - case 3: std::get<1>(result) = "PitchClusters"; break; - case 4: std::get<1>(result) = "ChordLayers"; break; - default: break; - } - return result; -} - -std::tuple get_occupation_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "TAVERN_KEEPER"; break; - case 1: std::get<1>(result) = "PERFORMER"; break; - case 2: std::get<1>(result) = "SCHOLAR"; break; - case 3: std::get<1>(result) = "MERCENARY"; break; - case 4: std::get<1>(result) = "MONSTER_SLAYER"; break; - case 5: std::get<1>(result) = "SCRIBE"; break; - case 6: std::get<1>(result) = "MESSENGER"; break; - default: break; - } - return result; -} - -std::tuple get_buildings_other_id_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case -1: std::get<1>(result) = "ANY"; break; - case 0: std::get<1>(result) = "IN_PLAY"; std::get<2>(result) = "actually on the map, as opposed to in an offloaded fortress elsewhere"; break; - case 1: std::get<1>(result) = "LOCATION_ASSIGNED"; break; - case 2: std::get<1>(result) = "STOCKPILE"; break; - case 3: std::get<1>(result) = "ANY_ZONE"; break; - case 4: std::get<1>(result) = "ACTIVITY_ZONE"; break; - case 5: std::get<1>(result) = "ANY_ACTUAL"; break; - case 6: std::get<1>(result) = "ANY_MACHINE"; break; - case 7: std::get<1>(result) = "ANY_HOSPITAL_STORAGE"; break; - case 8: std::get<1>(result) = "ANY_STORAGE"; break; - case 9: std::get<1>(result) = "ANY_BARRACKS"; break; - case 10: std::get<1>(result) = "ANY_NOBLE_ROOM"; break; - case 11: std::get<1>(result) = "ANY_HOSPITAL"; break; - case 12: std::get<1>(result) = "BOX"; break; - case 13: std::get<1>(result) = "CABINET"; break; - case 14: std::get<1>(result) = "TRAP"; break; - case 15: std::get<1>(result) = "DOOR"; break; - case 16: std::get<1>(result) = "FLOODGATE"; break; - case 17: std::get<1>(result) = "HATCH"; break; - case 18: std::get<1>(result) = "GRATE_WALL"; break; - case 19: std::get<1>(result) = "GRATE_FLOOR"; break; - case 20: std::get<1>(result) = "BARS_VERTICAL"; break; - case 21: std::get<1>(result) = "BARS_FLOOR"; break; - case 22: std::get<1>(result) = "WINDOW_ANY"; break; - case 23: std::get<1>(result) = "WELL"; break; - case 24: std::get<1>(result) = "TABLE"; break; - case 25: std::get<1>(result) = "BRIDGE"; break; - case 26: std::get<1>(result) = "CHAIR"; break; - case 27: std::get<1>(result) = "TRADE_DEPOT"; break; - case 28: std::get<1>(result) = "NEST"; break; - case 29: std::get<1>(result) = "NEST_BOX"; break; - case 30: std::get<1>(result) = "BOOKCASE"; break; - case 31: std::get<1>(result) = "DISPLAY_CASE"; break; - case 32: std::get<1>(result) = "HIVE"; break; - case 33: std::get<1>(result) = "WAGON"; break; - case 34: std::get<1>(result) = "SHOP"; break; - case 35: std::get<1>(result) = "BED"; break; - case 36: std::get<1>(result) = "TRACTION_BENCH"; break; - case 37: std::get<1>(result) = "ANY_ROAD"; break; - case 38: std::get<1>(result) = "FARM_PLOT"; break; - case 39: std::get<1>(result) = "GEAR_ASSEMBLY"; break; - case 40: std::get<1>(result) = "ROLLERS"; break; - case 41: std::get<1>(result) = "AXLE_HORIZONTAL"; break; - case 42: std::get<1>(result) = "AXLE_VERTICAL"; break; - case 43: std::get<1>(result) = "SUPPORT"; break; - case 44: std::get<1>(result) = "ARCHERY_TARGET"; break; - case 45: std::get<1>(result) = "SCREW_PUMP"; break; - case 46: std::get<1>(result) = "WATER_WHEEL"; break; - case 47: std::get<1>(result) = "WINDMILL"; break; - case 48: std::get<1>(result) = "CHAIN"; break; - case 49: std::get<1>(result) = "CAGE"; break; - case 50: std::get<1>(result) = "STATUE"; break; - case 51: std::get<1>(result) = "SLAB"; break; - case 52: std::get<1>(result) = "COFFIN"; break; - case 53: std::get<1>(result) = "WEAPON_RACK"; break; - case 54: std::get<1>(result) = "ARMOR_STAND"; break; - case 55: std::get<1>(result) = "FURNACE_ANY"; break; - case 56: std::get<1>(result) = "FURNACE_WOOD"; break; - case 57: std::get<1>(result) = "FURNACE_SMELTER_ANY"; break; - case 58: std::get<1>(result) = "FURNACE_SMELTER_MAGMA"; break; - case 59: std::get<1>(result) = "FURNACE_KILN_ANY"; break; - case 60: std::get<1>(result) = "FURNACE_GLASS_ANY"; break; - case 61: std::get<1>(result) = "FURNACE_CUSTOM"; break; - case 62: std::get<1>(result) = "WORKSHOP_ANY"; break; - case 63: std::get<1>(result) = "WORKSHOP_BUTCHER"; break; - case 64: std::get<1>(result) = "WORKSHOP_MASON"; break; - case 65: std::get<1>(result) = "WORKSHOP_KENNEL"; break; - case 66: std::get<1>(result) = "WORKSHOP_FISHERY"; break; - case 67: std::get<1>(result) = "WORKSHOP_JEWELER"; break; - case 68: std::get<1>(result) = "WORKSHOP_LOOM"; break; - case 69: std::get<1>(result) = "WORKSHOP_TANNER"; break; - case 70: std::get<1>(result) = "WORKSHOP_DYER"; break; - case 71: std::get<1>(result) = "WORKSHOP_MILL_ANY"; break; - case 72: std::get<1>(result) = "WORKSHOP_QUERN"; break; - case 73: std::get<1>(result) = "WORKSHOP_TOOL"; break; - case 74: std::get<1>(result) = "WORKSHOP_MILLSTONE"; break; - case 75: std::get<1>(result) = "WORKSHOP_KITCHEN"; break; - case 76: std::get<1>(result) = "WORKSHOP_STILL"; break; - case 77: std::get<1>(result) = "WORKSHOP_FARMER"; break; - case 78: std::get<1>(result) = "WORKSHOP_ASHERY"; break; - case 79: std::get<1>(result) = "WORKSHOP_CARPENTER"; break; - case 80: std::get<1>(result) = "WORKSHOP_CRAFTSDWARF"; break; - case 81: std::get<1>(result) = "WORKSHOP_MECHANIC"; break; - case 82: std::get<1>(result) = "WORKSHOP_SIEGE"; break; - case 83: std::get<1>(result) = "WORKSHOP_CLOTHIER"; break; - case 84: std::get<1>(result) = "WORKSHOP_LEATHER"; break; - case 85: std::get<1>(result) = "WORKSHOP_BOWYER"; break; - case 86: std::get<1>(result) = "WORKSHOP_MAGMA_FORGE"; break; - case 87: std::get<1>(result) = "WORKSHOP_FORGE_ANY"; break; - case 88: std::get<1>(result) = "WORKSHOP_CUSTOM"; break; - case 89: std::get<1>(result) = "WEAPON_UPRIGHT"; break; - case 90: std::get<1>(result) = "INSTRUMENT_STATIONARY"; break; - default: break; - } - return result; -} - -std::tuple get_building_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case -1: std::get<1>(result) = "NONE"; break; - case 0: std::get<1>(result) = "Chair"; break; - case 1: std::get<1>(result) = "Bed"; break; - case 2: std::get<1>(result) = "Table"; break; - case 3: std::get<1>(result) = "Coffin"; break; - case 4: std::get<1>(result) = "FarmPlot"; break; - case 5: std::get<1>(result) = "Furnace"; break; - case 6: std::get<1>(result) = "TradeDepot"; break; - case 7: std::get<1>(result) = "Shop"; break; - case 8: std::get<1>(result) = "Door"; break; - case 9: std::get<1>(result) = "Floodgate"; break; - case 10: std::get<1>(result) = "Box"; break; - case 11: std::get<1>(result) = "Weaponrack"; break; - case 12: std::get<1>(result) = "Armorstand"; break; - case 13: std::get<1>(result) = "Workshop"; break; - case 14: std::get<1>(result) = "Cabinet"; break; - case 15: std::get<1>(result) = "Statue"; break; - case 16: std::get<1>(result) = "WindowGlass"; break; - case 17: std::get<1>(result) = "WindowGem"; break; - case 18: std::get<1>(result) = "Well"; break; - case 19: std::get<1>(result) = "Bridge"; break; - case 20: std::get<1>(result) = "RoadDirt"; break; - case 21: std::get<1>(result) = "RoadPaved"; break; - case 22: std::get<1>(result) = "SiegeEngine"; break; - case 23: std::get<1>(result) = "Trap"; break; - case 24: std::get<1>(result) = "AnimalTrap"; break; - case 25: std::get<1>(result) = "Support"; break; - case 26: std::get<1>(result) = "ArcheryTarget"; break; - case 27: std::get<1>(result) = "Chain"; break; - case 28: std::get<1>(result) = "Cage"; break; - case 29: std::get<1>(result) = "Stockpile"; break; - case 30: std::get<1>(result) = "Civzone"; break; - case 31: std::get<1>(result) = "Weapon"; break; - case 32: std::get<1>(result) = "Wagon"; break; - case 33: std::get<1>(result) = "ScrewPump"; break; - case 34: std::get<1>(result) = "Construction"; break; - case 35: std::get<1>(result) = "Hatch"; break; - case 36: std::get<1>(result) = "GrateWall"; break; - case 37: std::get<1>(result) = "GrateFloor"; break; - case 38: std::get<1>(result) = "BarsVertical"; break; - case 39: std::get<1>(result) = "BarsFloor"; break; - case 40: std::get<1>(result) = "GearAssembly"; break; - case 41: std::get<1>(result) = "AxleHorizontal"; break; - case 42: std::get<1>(result) = "AxleVertical"; break; - case 43: std::get<1>(result) = "WaterWheel"; break; - case 44: std::get<1>(result) = "Windmill"; break; - case 45: std::get<1>(result) = "TractionBench"; break; - case 46: std::get<1>(result) = "Slab"; break; - case 47: std::get<1>(result) = "Nest"; break; - case 48: std::get<1>(result) = "NestBox"; break; - case 49: std::get<1>(result) = "Hive"; break; - case 50: std::get<1>(result) = "Rollers"; break; - case 51: std::get<1>(result) = "Instrument"; break; - case 52: std::get<1>(result) = "Bookcase"; break; - case 53: std::get<1>(result) = "DisplayFurniture"; break; - default: break; - } - return result; -} - -std::tuple get_civzone_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Home"; break; - case 1: std::get<1>(result) = "Depot"; break; - case 2: std::get<1>(result) = "Stockpile"; break; - case 3: std::get<1>(result) = "NobleQuarters"; break; - case 4: std::get<1>(result) = "anon_1"; break; - case 5: std::get<1>(result) = "anon_2"; break; - case 6: std::get<1>(result) = "anon_3"; break; - case 7: std::get<1>(result) = "MeadHall"; break; - case 8: std::get<1>(result) = "ThroneRoom"; break; - case 9: std::get<1>(result) = "ActivityZone"; break; - case 10: std::get<1>(result) = "Temple"; break; - case 11: std::get<1>(result) = "Kitchen"; break; - case 12: std::get<1>(result) = "CaptiveRoom"; break; - case 13: std::get<1>(result) = "TowerTop"; break; - case 14: std::get<1>(result) = "Courtyard"; break; - case 15: std::get<1>(result) = "Treasury"; break; - case 16: std::get<1>(result) = "GuardPost"; break; - case 17: std::get<1>(result) = "Entrance"; break; - case 18: std::get<1>(result) = "SecretLibrary"; break; - case 19: std::get<1>(result) = "Library"; break; - case 20: std::get<1>(result) = "Plot"; break; - case 21: std::get<1>(result) = "MarketStall"; break; - case 22: std::get<1>(result) = "anon_4"; break; - case 23: std::get<1>(result) = "Campground"; break; - case 24: std::get<1>(result) = "CommandTent"; break; - case 25: std::get<1>(result) = "Tent"; break; - case 26: std::get<1>(result) = "CommandTentBld"; break; - case 27: std::get<1>(result) = "TentBld"; break; - case 28: std::get<1>(result) = "MechanismRoom"; break; - case 29: std::get<1>(result) = "DungeonCell"; break; - case 30: std::get<1>(result) = "AnimalPit"; break; - case 31: std::get<1>(result) = "ClothPit"; break; - case 32: std::get<1>(result) = "TanningPit"; break; - case 33: std::get<1>(result) = "ClothClothingPit"; break; - case 34: std::get<1>(result) = "LeatherClothingPit"; break; - case 35: std::get<1>(result) = "BoneCarvingPit"; break; - case 36: std::get<1>(result) = "GemCuttingPit"; break; - case 37: std::get<1>(result) = "WeaponsmithingPit"; break; - case 38: std::get<1>(result) = "BowmakingPit"; break; - case 39: std::get<1>(result) = "BlacksmithingPit"; break; - case 40: std::get<1>(result) = "ArmorsmithingPit"; break; - case 41: std::get<1>(result) = "MetalCraftingPit"; break; - case 42: std::get<1>(result) = "LeatherworkingPit"; break; - case 43: std::get<1>(result) = "CarpentryPit"; break; - case 44: std::get<1>(result) = "StoneworkingPit"; break; - case 45: std::get<1>(result) = "ForgingPit"; break; - case 46: std::get<1>(result) = "FightingPit"; break; - case 47: std::get<1>(result) = "anon_5"; break; - case 48: std::get<1>(result) = "anon_6"; break; - case 49: std::get<1>(result) = "anon_7"; break; - case 50: std::get<1>(result) = "anon_8"; break; - case 51: std::get<1>(result) = "anon_9"; break; - case 52: std::get<1>(result) = "anon_10"; break; - case 53: std::get<1>(result) = "AnimalWorkshop"; break; - case 54: std::get<1>(result) = "ClothWorkshop"; break; - case 55: std::get<1>(result) = "TanningWorkshop"; break; - case 56: std::get<1>(result) = "ClothClothingWorkshop"; break; - case 57: std::get<1>(result) = "LeatherClothingWorkshop"; break; - case 58: std::get<1>(result) = "BoneCarvingWorkshop"; break; - case 59: std::get<1>(result) = "GemCuttingWorkshop"; break; - case 60: std::get<1>(result) = "WeaponsmithingWorkshop"; break; - case 61: std::get<1>(result) = "BowmakingWorkshop"; break; - case 62: std::get<1>(result) = "BlacksmithingWorkshop"; break; - case 63: std::get<1>(result) = "ArmorsmithingWorkshop"; break; - case 64: std::get<1>(result) = "MetalCraftingWorkshop"; break; - case 65: std::get<1>(result) = "LeatherworkingShop"; break; - case 66: std::get<1>(result) = "CarpentryWorkshop"; break; - case 67: std::get<1>(result) = "StoneworkingWorkshop"; break; - case 68: std::get<1>(result) = "ForgingWorkshop"; break; - default: break; - } - return result; -} - -std::tuple get_furnace_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "WoodFurnace"; break; - case 1: std::get<1>(result) = "Smelter"; break; - case 2: std::get<1>(result) = "GlassFurnace"; break; - case 3: std::get<1>(result) = "Kiln"; break; - case 4: std::get<1>(result) = "MagmaSmelter"; break; - case 5: std::get<1>(result) = "MagmaGlassFurnace"; break; - case 6: std::get<1>(result) = "MagmaKiln"; break; - case 7: std::get<1>(result) = "Custom"; break; - default: break; - } - return result; -} - -std::tuple get_workshop_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Carpenters"; break; - case 1: std::get<1>(result) = "Farmers"; break; - case 2: std::get<1>(result) = "Masons"; break; - case 3: std::get<1>(result) = "Craftsdwarfs"; break; - case 4: std::get<1>(result) = "Jewelers"; break; - case 5: std::get<1>(result) = "MetalsmithsForge"; break; - case 6: std::get<1>(result) = "MagmaForge"; break; - case 7: std::get<1>(result) = "Bowyers"; break; - case 8: std::get<1>(result) = "Mechanics"; break; - case 9: std::get<1>(result) = "Siege"; break; - case 10: std::get<1>(result) = "Butchers"; break; - case 11: std::get<1>(result) = "Leatherworks"; break; - case 12: std::get<1>(result) = "Tanners"; break; - case 13: std::get<1>(result) = "Clothiers"; break; - case 14: std::get<1>(result) = "Fishery"; break; - case 15: std::get<1>(result) = "Still"; break; - case 16: std::get<1>(result) = "Loom"; break; - case 17: std::get<1>(result) = "Quern"; break; - case 18: std::get<1>(result) = "Kennels"; break; - case 19: std::get<1>(result) = "Kitchen"; break; - case 20: std::get<1>(result) = "Ashery"; break; - case 21: std::get<1>(result) = "Dyers"; break; - case 22: std::get<1>(result) = "Millstone"; break; - case 23: std::get<1>(result) = "Custom"; break; - case 24: std::get<1>(result) = "Tool"; break; - default: break; - } - return result; -} - -std::tuple get_construction_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case -1: std::get<1>(result) = "NONE"; std::get<2>(result) = "unused"; break; - case 0: std::get<1>(result) = "Fortification"; break; - case 1: std::get<1>(result) = "Wall"; break; - case 2: std::get<1>(result) = "Floor"; break; - case 3: std::get<1>(result) = "UpStair"; break; - case 4: std::get<1>(result) = "DownStair"; break; - case 5: std::get<1>(result) = "UpDownStair"; break; - case 6: std::get<1>(result) = "Ramp"; break; - case 7: std::get<1>(result) = "TrackN"; break; - case 8: std::get<1>(result) = "TrackS"; break; - case 9: std::get<1>(result) = "TrackE"; break; - case 10: std::get<1>(result) = "TrackW"; break; - case 11: std::get<1>(result) = "TrackNS"; break; - case 12: std::get<1>(result) = "TrackNE"; break; - case 13: std::get<1>(result) = "TrackNW"; break; - case 14: std::get<1>(result) = "TrackSE"; break; - case 15: std::get<1>(result) = "TrackSW"; break; - case 16: std::get<1>(result) = "TrackEW"; break; - case 17: std::get<1>(result) = "TrackNSE"; break; - case 18: std::get<1>(result) = "TrackNSW"; break; - case 19: std::get<1>(result) = "TrackNEW"; break; - case 20: std::get<1>(result) = "TrackSEW"; break; - case 21: std::get<1>(result) = "TrackNSEW"; break; - case 22: std::get<1>(result) = "TrackRampN"; break; - case 23: std::get<1>(result) = "TrackRampS"; break; - case 24: std::get<1>(result) = "TrackRampE"; break; - case 25: std::get<1>(result) = "TrackRampW"; break; - case 26: std::get<1>(result) = "TrackRampNS"; break; - case 27: std::get<1>(result) = "TrackRampNE"; break; - case 28: std::get<1>(result) = "TrackRampNW"; break; - case 29: std::get<1>(result) = "TrackRampSE"; break; - case 30: std::get<1>(result) = "TrackRampSW"; break; - case 31: std::get<1>(result) = "TrackRampEW"; break; - case 32: std::get<1>(result) = "TrackRampNSE"; break; - case 33: std::get<1>(result) = "TrackRampNSW"; break; - case 34: std::get<1>(result) = "TrackRampNEW"; break; - case 35: std::get<1>(result) = "TrackRampSEW"; break; - case 36: std::get<1>(result) = "TrackRampNSEW"; break; - default: break; - } - return result; -} - -std::tuple get_shop_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "GeneralStore"; break; - case 1: std::get<1>(result) = "CraftsMarket"; break; - case 2: std::get<1>(result) = "ClothingShop"; break; - case 3: std::get<1>(result) = "ExoticClothingShop"; break; - default: break; - } - return result; -} - -std::tuple get_siegeengine_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Catapult"; break; - case 1: std::get<1>(result) = "Ballista"; break; - default: break; - } - return result; -} - -std::tuple get_trap_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Lever"; break; - case 1: std::get<1>(result) = "PressurePlate"; break; - case 2: std::get<1>(result) = "CageTrap"; break; - case 3: std::get<1>(result) = "StoneFallTrap"; break; - case 4: std::get<1>(result) = "WeaponTrap"; break; - case 5: std::get<1>(result) = "TrackStop"; break; - default: break; - } - return result; -} - -std::tuple get_dfhack_room_quality_level_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Meager"; break; - case 1: std::get<1>(result) = "Modest"; break; - case 2: std::get<1>(result) = "Normal"; break; - case 3: std::get<1>(result) = "Decent"; break; - case 4: std::get<1>(result) = "Fine"; break; - case 5: std::get<1>(result) = "Great"; break; - case 6: std::get<1>(result) = "Grand"; break; - case 7: std::get<1>(result) = "Royal"; break; - default: break; - } - return result; -} - -std::tuple get_creature_raw_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "unk_wagon"; break; - case 1: std::get<1>(result) = "EQUIPMENT_WAGON"; break; - case 2: std::get<1>(result) = "MUNDANE"; break; - case 3: std::get<1>(result) = "VERMIN_EATER"; break; - case 4: std::get<1>(result) = "VERMIN_GROUNDER"; break; - case 5: std::get<1>(result) = "VERMIN_ROTTER"; break; - case 6: std::get<1>(result) = "VERMIN_SOIL"; break; - case 7: std::get<1>(result) = "VERMIN_SOIL_COLONY"; break; - case 8: std::get<1>(result) = "LARGE_ROAMING"; break; - case 9: std::get<1>(result) = "VERMIN_FISH"; break; - case 10: std::get<1>(result) = "LOOSE_CLUSTERS"; break; - case 11: std::get<1>(result) = "FANCIFUL"; break; - case 12: std::get<1>(result) = "BIOME_MOUNTAIN"; break; - case 13: std::get<1>(result) = "BIOME_GLACIER"; break; - case 14: std::get<1>(result) = "BIOME_TUNDRA"; break; - case 15: std::get<1>(result) = "BIOME_SWAMP_TEMPERATE_FRESHWATER"; break; - case 16: std::get<1>(result) = "BIOME_SWAMP_TEMPERATE_SALTWATER"; break; - case 17: std::get<1>(result) = "BIOME_MARSH_TEMPERATE_FRESHWATER"; break; - case 18: std::get<1>(result) = "BIOME_MARSH_TEMPERATE_SALTWATER"; break; - case 19: std::get<1>(result) = "BIOME_SWAMP_TROPICAL_FRESHWATER"; break; - case 20: std::get<1>(result) = "BIOME_SWAMP_TROPICAL_SALTWATER"; break; - case 21: std::get<1>(result) = "BIOME_SWAMP_MANGROVE"; break; - case 22: std::get<1>(result) = "BIOME_MARSH_TROPICAL_FRESHWATER"; break; - case 23: std::get<1>(result) = "BIOME_MARSH_TROPICAL_SALTWATER"; break; - case 24: std::get<1>(result) = "BIOME_FOREST_TAIGA"; break; - case 25: std::get<1>(result) = "BIOME_FOREST_TEMPERATE_CONIFER"; break; - case 26: std::get<1>(result) = "BIOME_FOREST_TEMPERATE_BROADLEAF"; break; - case 27: std::get<1>(result) = "BIOME_FOREST_TROPICAL_CONIFER"; break; - case 28: std::get<1>(result) = "BIOME_FOREST_TROPICAL_DRY_BROADLEAF"; break; - case 29: std::get<1>(result) = "BIOME_FOREST_TROPICAL_MOIST_BROADLEAF"; break; - case 30: std::get<1>(result) = "BIOME_GRASSLAND_TEMPERATE"; break; - case 31: std::get<1>(result) = "BIOME_SAVANNA_TEMPERATE"; break; - case 32: std::get<1>(result) = "BIOME_SHRUBLAND_TEMPERATE"; break; - case 33: std::get<1>(result) = "BIOME_GRASSLAND_TROPICAL"; break; - case 34: std::get<1>(result) = "BIOME_SAVANNA_TROPICAL"; break; - case 35: std::get<1>(result) = "BIOME_SHRUBLAND_TROPICAL"; break; - case 36: std::get<1>(result) = "BIOME_DESERT_BADLAND"; break; - case 37: std::get<1>(result) = "BIOME_DESERT_ROCK"; break; - case 38: std::get<1>(result) = "BIOME_DESERT_SAND"; break; - case 39: std::get<1>(result) = "BIOME_OCEAN_TROPICAL"; break; - case 40: std::get<1>(result) = "BIOME_OCEAN_TEMPERATE"; break; - case 41: std::get<1>(result) = "BIOME_OCEAN_ARCTIC"; break; - case 42: std::get<1>(result) = "BIOME_SUBTERRANEAN_WATER"; break; - case 43: std::get<1>(result) = "BIOME_SUBTERRANEAN_CHASM"; break; - case 44: std::get<1>(result) = "BIOME_SUBTERRANEAN_LAVA"; break; - case 45: std::get<1>(result) = "BIOME_POOL_TEMPERATE_FRESHWATER"; break; - case 46: std::get<1>(result) = "BIOME_POOL_TEMPERATE_BRACKISHWATER"; break; - case 47: std::get<1>(result) = "BIOME_POOL_TEMPERATE_SALTWATER"; break; - case 48: std::get<1>(result) = "BIOME_POOL_TROPICAL_FRESHWATER"; break; - case 49: std::get<1>(result) = "BIOME_POOL_TROPICAL_BRACKISHWATER"; break; - case 50: std::get<1>(result) = "BIOME_POOL_TROPICAL_SALTWATER"; break; - case 51: std::get<1>(result) = "BIOME_LAKE_TEMPERATE_FRESHWATER"; break; - case 52: std::get<1>(result) = "BIOME_LAKE_TEMPERATE_BRACKISHWATER"; break; - case 53: std::get<1>(result) = "BIOME_LAKE_TEMPERATE_SALTWATER"; break; - case 54: std::get<1>(result) = "BIOME_LAKE_TROPICAL_FRESHWATER"; break; - case 55: std::get<1>(result) = "BIOME_LAKE_TROPICAL_BRACKISHWATER"; break; - case 56: std::get<1>(result) = "BIOME_LAKE_TROPICAL_SALTWATER"; break; - case 57: std::get<1>(result) = "BIOME_RIVER_TEMPERATE_FRESHWATER"; break; - case 58: std::get<1>(result) = "BIOME_RIVER_TEMPERATE_BRACKISHWATER"; break; - case 59: std::get<1>(result) = "BIOME_RIVER_TEMPERATE_SALTWATER"; break; - case 60: std::get<1>(result) = "BIOME_RIVER_TROPICAL_FRESHWATER"; break; - case 61: std::get<1>(result) = "BIOME_RIVER_TROPICAL_BRACKISHWATER"; break; - case 62: std::get<1>(result) = "BIOME_RIVER_TROPICAL_SALTWATER"; break; - case 63: std::get<1>(result) = "GOOD"; break; - case 64: std::get<1>(result) = "EVIL"; break; - case 65: std::get<1>(result) = "SAVAGE"; break; - case 66: std::get<1>(result) = "NOT_ASEXUAL"; break; - case 67: std::get<1>(result) = "unk_43"; std::get<2>(result) = "capable of breeding"; break; - case 68: std::get<1>(result) = "unk_44"; break; - case 69: std::get<1>(result) = "unk_45"; break; - case 70: std::get<1>(result) = "any_vermin"; break; - case 71: std::get<1>(result) = "CASTE_CAN_LEARN"; break; - case 72: std::get<1>(result) = "CASTE_VERMIN_HATEABLE"; break; - case 73: std::get<1>(result) = "unk_49"; break; - case 74: std::get<1>(result) = "CASTE_LARGE_PREDATOR"; break; - case 75: std::get<1>(result) = "CASTE_CURIOUSBEAST"; break; - case 76: std::get<1>(result) = "CASTE_BENIGN"; break; - case 77: std::get<1>(result) = "CASTE_NATURAL"; break; - case 78: std::get<1>(result) = "CASTE_MEGABEAST"; break; - case 79: std::get<1>(result) = "CASTE_SEMIMEGABEAST"; break; - case 80: std::get<1>(result) = "CASTE_POWER"; break; - case 81: std::get<1>(result) = "CASTE_VERMIN_MICRO"; break; - case 82: std::get<1>(result) = "CASTE_NOT_FIREIMMUNE"; break; - case 83: std::get<1>(result) = "CASTE_MUST_BREATHE_AIR"; break; - case 84: std::get<1>(result) = "CASTE_MUST_BREATHE_WATER"; break; - case 85: std::get<1>(result) = "unk_55"; break; - case 86: std::get<1>(result) = "CASTE_SWIMS_LEARNED"; break; - case 87: std::get<1>(result) = "CASTE_COMMON_DOMESTIC"; break; - case 88: std::get<1>(result) = "CASTE_UTTERANCES"; break; - case 89: std::get<1>(result) = "CASTE_CAN_SPEAK"; break; - case 90: std::get<1>(result) = "CASTE_FEATURE_BEAST"; break; - case 91: std::get<1>(result) = "GENERATED"; break; - case 92: std::get<1>(result) = "CASTE_TITAN"; break; - case 93: std::get<1>(result) = "CASTE_UNIQUE_DEMON"; break; - case 94: std::get<1>(result) = "DOES_NOT_EXIST"; break; - case 95: std::get<1>(result) = "CASTE_NOT_LIVING"; break; - case 96: std::get<1>(result) = "CASTE_MISCHIEVOUS"; break; - case 97: std::get<1>(result) = "CASTE_FLIER"; break; - case 98: std::get<1>(result) = "CASTE_DEMON"; break; - case 99: std::get<1>(result) = "CASTE_NIGHT_CREATURE_ANY"; break; - case 100: std::get<1>(result) = "CASTE_NIGHT_CREATURE_HUNTER"; break; - case 101: std::get<1>(result) = "CASTE_NIGHT_CREATURE_BOGEYMAN"; break; - case 102: std::get<1>(result) = "CASTE_CARNIVORE"; break; - case 103: std::get<1>(result) = "ARTIFICIAL_HIVEABLE"; break; - case 104: std::get<1>(result) = "UBIQUITOUS"; break; - case 105: std::get<1>(result) = "unk_69"; break; - case 106: std::get<1>(result) = "CASTE_SUPERNATURAL"; break; - case 107: std::get<1>(result) = "CASTE_BLOOD"; break; - case 108: std::get<1>(result) = "CASTE_GRAZER"; break; - case 109: std::get<1>(result) = "CASTE_unk_31"; break; - case 110: std::get<1>(result) = "unk_6e"; break; - case 111: std::get<1>(result) = "unk_6f"; break; - default: break; - } - return result; -} - -std::tuple get_caste_raw_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "AMPHIBIOUS"; break; - case 1: std::get<1>(result) = "AQUATIC"; break; - case 2: std::get<1>(result) = "LOCKPICKER"; break; - case 3: std::get<1>(result) = "MISCHIEVOUS"; break; - case 4: std::get<1>(result) = "PATTERNFLIER"; break; - case 5: std::get<1>(result) = "CURIOUSBEAST_ANY"; break; - case 6: std::get<1>(result) = "CURIOUSBEAST_ITEM"; break; - case 7: std::get<1>(result) = "CURIOUSBEAST_GUZZLER"; break; - case 8: std::get<1>(result) = "FLEEQUICK"; break; - case 9: std::get<1>(result) = "AT_PEACE_WITH_WILDLIFE"; break; - case 10: std::get<1>(result) = "SWIMS_LEARNED"; break; - case 11: std::get<1>(result) = "OPPOSED_TO_LIFE"; break; - case 12: std::get<1>(result) = "CURIOUSBEAST_EATER"; break; - case 13: std::get<1>(result) = "NO_EAT"; break; - case 14: std::get<1>(result) = "NO_DRINK"; break; - case 15: std::get<1>(result) = "NO_SLEEP"; break; - case 16: std::get<1>(result) = "COMMON_DOMESTIC"; break; - case 17: std::get<1>(result) = "WAGON_PULLER"; break; - case 18: std::get<1>(result) = "PACK_ANIMAL"; break; - case 19: std::get<1>(result) = "FLIER"; break; - case 20: std::get<1>(result) = "LARGE_PREDATOR"; break; - case 21: std::get<1>(result) = "MAGMA_VISION"; break; - case 22: std::get<1>(result) = "FIREIMMUNE"; break; - case 23: std::get<1>(result) = "FIREIMMUNE_SUPER"; break; - case 24: std::get<1>(result) = "WEBBER"; break; - case 25: std::get<1>(result) = "WEBIMMUNE"; break; - case 26: std::get<1>(result) = "FISHITEM"; break; - case 27: std::get<1>(result) = "IMMOBILE_LAND"; break; - case 28: std::get<1>(result) = "IMMOLATE"; break; - case 29: std::get<1>(result) = "MILKABLE"; break; - case 30: std::get<1>(result) = "NO_SPRING"; break; - case 31: std::get<1>(result) = "NO_SUMMER"; break; - case 32: std::get<1>(result) = "NO_AUTUMN"; break; - case 33: std::get<1>(result) = "NO_WINTER"; break; - case 34: std::get<1>(result) = "BENIGN"; break; - case 35: std::get<1>(result) = "VERMIN_NOROAM"; break; - case 36: std::get<1>(result) = "VERMIN_NOTRAP"; break; - case 37: std::get<1>(result) = "VERMIN_NOFISH"; break; - case 38: std::get<1>(result) = "HAS_NERVES"; break; - case 39: std::get<1>(result) = "NO_DIZZINESS"; break; - case 40: std::get<1>(result) = "NO_FEVERS"; break; - case 41: std::get<1>(result) = "NO_UNIT_TYPE_COLOR"; break; - case 42: std::get<1>(result) = "NO_CONNECTIONS_FOR_MOVEMENT"; break; - case 43: std::get<1>(result) = "SUPERNATURAL"; break; - case 44: std::get<1>(result) = "AMBUSHPREDATOR"; break; - case 45: std::get<1>(result) = "GNAWER"; break; - case 46: std::get<1>(result) = "NOT_BUTCHERABLE"; break; - case 47: std::get<1>(result) = "COOKABLE_LIVE"; break; - case 48: std::get<1>(result) = "SECRETION"; break; - case 49: std::get<1>(result) = "IMMOBILE"; break; - case 50: std::get<1>(result) = "MULTIPART_FULL_VISION"; break; - case 51: std::get<1>(result) = "MEANDERER"; break; - case 52: std::get<1>(result) = "THICKWEB"; break; - case 53: std::get<1>(result) = "TRAINABLE_HUNTING"; break; - case 54: std::get<1>(result) = "PET"; break; - case 55: std::get<1>(result) = "PET_EXOTIC"; break; - case 56: std::get<1>(result) = "unk_38"; break; - case 57: std::get<1>(result) = "CAN_SPEAK"; break; - case 58: std::get<1>(result) = "CAN_LEARN"; break; - case 59: std::get<1>(result) = "UTTERANCES"; break; - case 60: std::get<1>(result) = "BONECARN"; break; - case 61: std::get<1>(result) = "CARNIVORE"; break; - case 62: std::get<1>(result) = "UNDERSWIM"; break; - case 63: std::get<1>(result) = "NOEXERT"; break; - case 64: std::get<1>(result) = "NOPAIN"; break; - case 65: std::get<1>(result) = "EXTRAVISION"; break; - case 66: std::get<1>(result) = "NOBREATHE"; break; - case 67: std::get<1>(result) = "NOSTUN"; break; - case 68: std::get<1>(result) = "NONAUSEA"; break; - case 69: std::get<1>(result) = "BLOOD"; break; - case 70: std::get<1>(result) = "TRANCES"; break; - case 71: std::get<1>(result) = "NOEMOTION"; break; - case 72: std::get<1>(result) = "SLOW_LEARNER"; break; - case 73: std::get<1>(result) = "NOSTUCKINS"; break; - case 74: std::get<1>(result) = "PUS"; break; - case 75: std::get<1>(result) = "NOSKULL"; break; - case 76: std::get<1>(result) = "NOSKIN"; break; - case 77: std::get<1>(result) = "NOBONES"; break; - case 78: std::get<1>(result) = "NOMEAT"; break; - case 79: std::get<1>(result) = "PARALYZEIMMUNE"; break; - case 80: std::get<1>(result) = "NOFEAR"; break; - case 81: std::get<1>(result) = "CANOPENDOORS"; break; - case 82: std::get<1>(result) = "ITEMCORPSE"; std::get<2>(result) = "set if the tag is present; corpse parts go to map_renderer.cursor_other"; break; - case 83: std::get<1>(result) = "GETS_WOUND_INFECTIONS"; break; - case 84: std::get<1>(result) = "NOSMELLYROT"; break; - case 85: std::get<1>(result) = "REMAINS_UNDETERMINED"; break; - case 86: std::get<1>(result) = "HASSHELL"; break; - case 87: std::get<1>(result) = "PEARL"; break; - case 88: std::get<1>(result) = "TRAINABLE_WAR"; break; - case 89: std::get<1>(result) = "NO_THOUGHT_CENTER_FOR_MOVEMENT"; break; - case 90: std::get<1>(result) = "ARENA_RESTRICTED"; break; - case 91: std::get<1>(result) = "LAIR_HUNTER"; break; - case 92: std::get<1>(result) = "LIKES_FIGHTING"; break; - case 93: std::get<1>(result) = "VERMIN_HATEABLE"; break; - case 94: std::get<1>(result) = "VEGETATION"; break; - case 95: std::get<1>(result) = "MAGICAL"; break; - case 96: std::get<1>(result) = "NATURAL"; break; - case 97: std::get<1>(result) = "BABY"; break; - case 98: std::get<1>(result) = "CHILD"; break; - case 99: std::get<1>(result) = "MULTIPLE_LITTER_RARE"; break; - case 100: std::get<1>(result) = "MOUNT"; break; - case 101: std::get<1>(result) = "MOUNT_EXOTIC"; break; - case 102: std::get<1>(result) = "FEATURE_ATTACK_GROUP"; break; - case 103: std::get<1>(result) = "VERMIN_MICRO"; break; - case 104: std::get<1>(result) = "EQUIPS"; break; - case 105: std::get<1>(result) = "LAYS_EGGS"; break; - case 106: std::get<1>(result) = "GRAZER"; break; - case 107: std::get<1>(result) = "NOTHOUGHT"; break; - case 108: std::get<1>(result) = "TRAPAVOID"; break; - case 109: std::get<1>(result) = "CAVE_ADAPT"; break; - case 110: std::get<1>(result) = "MEGABEAST"; break; - case 111: std::get<1>(result) = "SEMIMEGABEAST"; break; - case 112: std::get<1>(result) = "ALL_ACTIVE"; break; - case 113: std::get<1>(result) = "DIURNAL"; break; - case 114: std::get<1>(result) = "NOCTURNAL"; break; - case 115: std::get<1>(result) = "CREPUSCULAR"; break; - case 116: std::get<1>(result) = "MATUTINAL"; break; - case 117: std::get<1>(result) = "VESPERTINE"; break; - case 118: std::get<1>(result) = "LIGHT_GEN"; break; - case 119: std::get<1>(result) = "LISP"; break; - case 120: std::get<1>(result) = "GETS_INFECTIONS_FROM_ROT"; break; - case 121: std::get<1>(result) = "CASTE_SOLDIER_TILE"; break; - case 122: std::get<1>(result) = "ALCOHOL_DEPENDENT"; break; - case 123: std::get<1>(result) = "SWIMS_INNATE"; break; - case 124: std::get<1>(result) = "POWER"; break; - case 125: std::get<1>(result) = "TENDONS"; break; - case 126: std::get<1>(result) = "LIGAMENTS"; break; - case 127: std::get<1>(result) = "CASTE_TILE"; break; - case 128: std::get<1>(result) = "CASTE_COLOR"; break; - case 129: std::get<1>(result) = "CASTE_GLOWTILE"; break; - case 130: std::get<1>(result) = "CASTE_GLOWCOLOR"; break; - case 131: std::get<1>(result) = "FEATURE_BEAST"; break; - case 132: std::get<1>(result) = "TITAN"; break; - case 133: std::get<1>(result) = "UNIQUE_DEMON"; break; - case 134: std::get<1>(result) = "DEMON"; break; - case 135: std::get<1>(result) = "MANNERISM_LAUGH"; break; - case 136: std::get<1>(result) = "MANNERISM_SMILE"; break; - case 137: std::get<1>(result) = "MANNERISM_WALK"; break; - case 138: std::get<1>(result) = "MANNERISM_SIT"; break; - case 139: std::get<1>(result) = "MANNERISM_BREATH"; break; - case 140: std::get<1>(result) = "MANNERISM_POSTURE"; break; - case 141: std::get<1>(result) = "MANNERISM_STRETCH"; break; - case 142: std::get<1>(result) = "MANNERISM_EYELIDS"; break; - case 143: std::get<1>(result) = "NIGHT_CREATURE_ANY"; break; - case 144: std::get<1>(result) = "NIGHT_CREATURE_HUNTER"; break; - case 145: std::get<1>(result) = "NIGHT_CREATURE_BOGEYMAN"; break; - case 146: std::get<1>(result) = "CONVERTED_SPOUSE"; break; - case 147: std::get<1>(result) = "SPOUSE_CONVERTER"; break; - case 148: std::get<1>(result) = "SPOUSE_CONVERSION_TARGET"; break; - case 149: std::get<1>(result) = "DIE_WHEN_VERMIN_BITE"; break; - case 150: std::get<1>(result) = "REMAINS_ON_VERMIN_BITE_DEATH"; break; - case 151: std::get<1>(result) = "COLONY_EXTERNAL"; break; - case 152: std::get<1>(result) = "LAYS_UNUSUAL_EGGS"; break; - case 153: std::get<1>(result) = "RETURNS_VERMIN_KILLS_TO_OWNER"; break; - case 154: std::get<1>(result) = "HUNTS_VERMIN"; break; - case 155: std::get<1>(result) = "ADOPTS_OWNER"; break; - case 156: std::get<1>(result) = "SOUND_ALERT"; break; - case 157: std::get<1>(result) = "SOUND_PEACEFUL_INTERMITTENT"; break; - case 158: std::get<1>(result) = "NOT_LIVING"; break; - case 159: std::get<1>(result) = "NO_PHYS_ATT_GAIN"; break; - case 160: std::get<1>(result) = "NO_PHYS_ATT_RUST"; break; - case 161: std::get<1>(result) = "CRAZED"; break; - case 162: std::get<1>(result) = "BLOODSUCKER"; break; - case 163: std::get<1>(result) = "NO_VEGETATION_PERTURB"; break; - case 164: std::get<1>(result) = "DIVE_HUNTS_VERMIN"; break; - case 165: std::get<1>(result) = "GOBBLE_VERMIN"; break; - case 166: std::get<1>(result) = "CANNOT_JUMP"; break; - case 167: std::get<1>(result) = "STANCE_CLIMBER"; break; - case 168: std::get<1>(result) = "CANNOT_CLIMB"; break; - case 169: std::get<1>(result) = "LOCAL_POPS_CONTROLLABLE"; break; - case 170: std::get<1>(result) = "OUTSIDER_CONTROLLABLE"; break; - case 171: std::get<1>(result) = "LOCAL_POPS_PRODUCE_HEROES"; break; - case 172: std::get<1>(result) = "STRANGE_MOODS"; break; - default: break; - } - return result; -} - -std::tuple get_body_part_raw_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "HEAD"; break; - case 1: std::get<1>(result) = "UPPERBODY"; break; - case 2: std::get<1>(result) = "LOWERBODY"; break; - case 3: std::get<1>(result) = "SIGHT"; break; - case 4: std::get<1>(result) = "EMBEDDED"; break; - case 5: std::get<1>(result) = "INTERNAL"; break; - case 6: std::get<1>(result) = "CIRCULATION"; break; - case 7: std::get<1>(result) = "SKELETON"; break; - case 8: std::get<1>(result) = "LIMB"; break; - case 9: std::get<1>(result) = "GRASP"; break; - case 10: std::get<1>(result) = "STANCE"; break; - case 11: std::get<1>(result) = "GUTS"; break; - case 12: std::get<1>(result) = "BREATHE"; break; - case 13: std::get<1>(result) = "SMALL"; break; - case 14: std::get<1>(result) = "THROAT"; break; - case 15: std::get<1>(result) = "JOINT"; break; - case 16: std::get<1>(result) = "THOUGHT"; break; - case 17: std::get<1>(result) = "NERVOUS"; break; - case 18: std::get<1>(result) = "RIGHT"; break; - case 19: std::get<1>(result) = "LEFT"; break; - case 20: std::get<1>(result) = "HEAR"; break; - case 21: std::get<1>(result) = "SMELL"; break; - case 22: std::get<1>(result) = "FLIER"; break; - case 23: std::get<1>(result) = "DIGIT"; break; - case 24: std::get<1>(result) = "MOUTH"; break; - case 25: std::get<1>(result) = "APERTURE"; break; - case 26: std::get<1>(result) = "SOCKET"; break; - case 27: std::get<1>(result) = "TOTEMABLE"; break; - case 28: std::get<1>(result) = "anon_1"; break; - case 29: std::get<1>(result) = "anon_2"; break; - case 30: std::get<1>(result) = "UNDER_PRESSURE"; break; - case 31: std::get<1>(result) = "anon_3"; break; - case 32: std::get<1>(result) = "VERMIN_BUTCHER_ITEM"; break; - case 33: std::get<1>(result) = "CONNECTOR"; break; - case 34: std::get<1>(result) = "anon_4"; break; - case 35: std::get<1>(result) = "anon_5"; break; - case 36: std::get<1>(result) = "anon_6"; break; - case 37: std::get<1>(result) = "anon_7"; break; - case 38: std::get<1>(result) = "GELDABLE"; break; - default: break; - } - return result; -} - -std::tuple get_appearance_modifier_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "HEIGHT"; break; - case 1: std::get<1>(result) = "BROADNESS"; break; - case 2: std::get<1>(result) = "LENGTH"; break; - case 3: std::get<1>(result) = "CLOSE_SET"; break; - case 4: std::get<1>(result) = "DEEP_SET"; break; - case 5: std::get<1>(result) = "HIGH_POSITION"; break; - case 6: std::get<1>(result) = "LARGE_IRIS"; break; - case 7: std::get<1>(result) = "WRINKLY"; break; - case 8: std::get<1>(result) = "CURLY"; break; - case 9: std::get<1>(result) = "CONVEX"; break; - case 10: std::get<1>(result) = "DENSE"; break; - case 11: std::get<1>(result) = "THICKNESS"; break; - case 12: std::get<1>(result) = "UPTURNED"; break; - case 13: std::get<1>(result) = "SPLAYED_OUT"; break; - case 14: std::get<1>(result) = "HANGING_LOBES"; break; - case 15: std::get<1>(result) = "GAPS"; break; - case 16: std::get<1>(result) = "HIGH_CHEEKBONES"; break; - case 17: std::get<1>(result) = "BROAD_CHIN"; break; - case 18: std::get<1>(result) = "JUTTING_CHIN"; break; - case 19: std::get<1>(result) = "SQUARE_CHIN"; break; - case 20: std::get<1>(result) = "ROUND_VS_NARROW"; break; - case 21: std::get<1>(result) = "GREASY"; break; - case 22: std::get<1>(result) = "DEEP_VOICE"; break; - case 23: std::get<1>(result) = "RASPY_VOICE"; break; - default: break; - } - return result; -} - -std::tuple get_body_part_layer_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "CONNECTS"; break; - default: break; - } - return result; -} - -std::tuple get_appearance_modifier_growth_interval_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "DAILY"; break; - case 1: std::get<1>(result) = "WEEKLY"; break; - case 2: std::get<1>(result) = "MONTHLY"; break; - case 3: std::get<1>(result) = "YEARLY"; break; - default: break; - } - return result; -} - -std::tuple get_gait_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "WALK"; break; - case 1: std::get<1>(result) = "FLY"; break; - case 2: std::get<1>(result) = "SWIM"; break; - case 3: std::get<1>(result) = "CRAWL"; break; - case 4: std::get<1>(result) = "CLIMB"; break; - default: break; - } - return result; -} - -std::tuple get_creature_graphics_role_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "DEFAULT"; break; - case 1: std::get<1>(result) = "ADVENTURER"; break; - case 2: std::get<1>(result) = "GUARD"; break; - case 3: std::get<1>(result) = "ROYALGUARD"; break; - case 4: std::get<1>(result) = "ANIMATED"; break; - case 5: std::get<1>(result) = "GHOST"; break; - default: break; - } - return result; -} - -std::tuple get_tissue_style_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "NEATLY_COMBED"; break; - case 1: std::get<1>(result) = "BRAIDED"; break; - case 2: std::get<1>(result) = "DOUBLE_BRAIDS"; break; - case 3: std::get<1>(result) = "PONY_TAILS"; break; - case 4: std::get<1>(result) = "CLEAN_SHAVEN"; break; - default: break; - } - return result; -} - -std::tuple get_body_part_template_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "HEAD"; break; - case 1: std::get<1>(result) = "UPPERBODY"; break; - case 2: std::get<1>(result) = "LOWERBODY"; break; - case 3: std::get<1>(result) = "SIGHT"; break; - case 4: std::get<1>(result) = "EMBEDDED"; break; - case 5: std::get<1>(result) = "INTERNAL"; break; - case 6: std::get<1>(result) = "CIRCULATION"; break; - case 7: std::get<1>(result) = "SKELETON"; break; - case 8: std::get<1>(result) = "LIMB"; break; - case 9: std::get<1>(result) = "GRASP"; break; - case 10: std::get<1>(result) = "STANCE"; break; - case 11: std::get<1>(result) = "GUTS"; break; - case 12: std::get<1>(result) = "BREATHE"; break; - case 13: std::get<1>(result) = "SMALL"; break; - case 14: std::get<1>(result) = "THROAT"; break; - case 15: std::get<1>(result) = "JOINT"; break; - case 16: std::get<1>(result) = "THOUGHT"; break; - case 17: std::get<1>(result) = "NERVOUS"; break; - case 18: std::get<1>(result) = "RIGHT"; break; - case 19: std::get<1>(result) = "LEFT"; break; - case 20: std::get<1>(result) = "HEAR"; break; - case 21: std::get<1>(result) = "SMELL"; break; - case 22: std::get<1>(result) = "FLIER"; break; - case 23: std::get<1>(result) = "DIGIT"; break; - case 24: std::get<1>(result) = "MOUTH"; break; - case 25: std::get<1>(result) = "APERTURE"; break; - case 26: std::get<1>(result) = "SOCKET"; break; - case 27: std::get<1>(result) = "TOTEMABLE"; break; - case 28: std::get<1>(result) = "UNDER_PRESSURE"; break; - case 29: std::get<1>(result) = "VERMIN_BUTCHER_ITEM"; break; - case 30: std::get<1>(result) = "CONNECTOR"; break; - default: break; - } - return result; -} - -std::tuple get_body_part_template_contype_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case -1: std::get<1>(result) = "NONE"; break; - case 0: std::get<1>(result) = "UPPERBODY"; break; - case 1: std::get<1>(result) = "LOWERBODY"; break; - case 2: std::get<1>(result) = "HEAD"; break; - case 3: std::get<1>(result) = "GRASP"; break; - case 4: std::get<1>(result) = "STANCE"; break; - default: break; - } - return result; -} - -std::tuple get_tissue_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "THICKENS_ON_STRENGTH"; break; - case 1: std::get<1>(result) = "THICKENS_ON_ENERGY_STORAGE"; break; - case 2: std::get<1>(result) = "ARTERIES"; break; - case 3: std::get<1>(result) = "SCARS"; break; - case 4: std::get<1>(result) = "STRUCTURAL"; break; - case 5: std::get<1>(result) = "NERVOUS"; break; - case 6: std::get<1>(result) = "THOUGHT"; break; - case 7: std::get<1>(result) = "MUSCULAR"; break; - case 8: std::get<1>(result) = "SMELL"; break; - case 9: std::get<1>(result) = "HEAR"; break; - case 10: std::get<1>(result) = "FLIGHT"; break; - case 11: std::get<1>(result) = "BREATHE"; break; - case 12: std::get<1>(result) = "SIGHT"; break; - case 13: std::get<1>(result) = "COSMETIC"; break; - case 14: std::get<1>(result) = "CONNECTS"; break; - case 15: std::get<1>(result) = "FUNCTIONAL"; break; - case 16: std::get<1>(result) = "MAJOR_ARTERIES"; break; - case 17: std::get<1>(result) = "TISSUE_LEAKS"; break; - case 18: std::get<1>(result) = "STYLEABLE"; break; - case 19: std::get<1>(result) = "CONNECTIVE_TISSUE_ANCHOR"; break; - case 20: std::get<1>(result) = "SETTABLE"; break; - case 21: std::get<1>(result) = "SPLINTABLE"; break; - default: break; - } - return result; -} - -std::tuple get_d_init_nickname_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "REPLACE_FIRST"; break; - case 1: std::get<1>(result) = "CENTRALIZE"; break; - case 2: std::get<1>(result) = "REPLACE_ALL"; break; - default: break; - } - return result; -} - -std::tuple get_d_init_z_view_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "OFF"; break; - case 1: std::get<1>(result) = "UNHIDDEN"; break; - case 2: std::get<1>(result) = "CREATURE"; break; - case 3: std::get<1>(result) = "ON"; break; - default: break; - } - return result; -} - -std::tuple get_d_init_embark_confirm_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "ALWAYS"; break; - case 1: std::get<1>(result) = "IF_POINTS_REMAIN"; break; - case 2: std::get<1>(result) = "NO"; break; - default: break; - } - return result; -} - -std::tuple get_d_init_idlers_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case -1: std::get<1>(result) = "OFF"; break; - case 0: std::get<1>(result) = "TOP"; break; - case 1: std::get<1>(result) = "BOTTOM"; break; - default: break; - } - return result; -} - -std::tuple get_d_init_tunnel_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "NO"; break; - case 1: std::get<1>(result) = "FINDER"; break; - case 2: std::get<1>(result) = "ALWAYS"; break; - default: break; - } - return result; -} - -std::tuple get_d_init_flags1_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "VARIED_GROUND_TILES"; break; - case 1: std::get<1>(result) = "ENGRAVINGS_START_OBSCURED"; break; - case 2: std::get<1>(result) = "SHOW_IMP_QUALITY"; break; - case 3: std::get<1>(result) = "SHOW_FLOW_AMOUNTS"; break; - default: break; - } - return result; -} - -std::tuple get_d_init_flags2_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "MORE"; break; - case 1: std::get<1>(result) = "ADVENTURER_TRAPS"; break; - case 2: std::get<1>(result) = "ADVENTURER_ALWAYS_CENTER"; break; - default: break; - } - return result; -} - -std::tuple get_d_init_flags3_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "COFFIN_NO_PETS_DEFAULT"; break; - default: break; - } - return result; -} - -std::tuple get_d_init_flags4_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "TEMPERATURE"; break; - case 1: std::get<1>(result) = "WEATHER"; break; - case 2: std::get<1>(result) = "ECONOMY"; break; - case 3: std::get<1>(result) = "ZERO_RENT"; break; - case 4: std::get<1>(result) = "AUTOSAVE_SEASONAL"; break; - case 5: std::get<1>(result) = "AUTOSAVE_YEARLY"; break; - case 6: std::get<1>(result) = "AUTOSAVE_PAUSE"; break; - case 7: std::get<1>(result) = "AUTOBACKUP"; break; - case 8: std::get<1>(result) = "INITIAL_SAVE"; break; - case 9: std::get<1>(result) = "INVADERS"; break; - case 10: std::get<1>(result) = "CAVEINS"; break; - case 11: std::get<1>(result) = "ARTIFACTS"; break; - case 12: std::get<1>(result) = "LOG_MAP_REJECTS"; break; - case 13: std::get<1>(result) = "PAUSE_ON_LOAD"; break; - case 14: std::get<1>(result) = "EMBARK_WARNING_ALWAYS"; break; - case 15: std::get<1>(result) = "SHOW_ALL_HISTORY_IN_DWARF_MODE"; break; - case 16: std::get<1>(result) = "TESTING_ARENA"; break; - case 17: std::get<1>(result) = "WALKING_SPREADS_SPATTER_DWF"; break; - case 18: std::get<1>(result) = "WALKING_SPREADS_SPATTER_ADV"; break; - default: break; - } - return result; -} - -std::tuple get_pattern_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "MONOTONE"; break; - case 1: std::get<1>(result) = "STRIPES"; break; - case 2: std::get<1>(result) = "IRIS_EYE"; break; - case 3: std::get<1>(result) = "SPOTS"; break; - case 4: std::get<1>(result) = "PUPIL_EYE"; break; - case 5: std::get<1>(result) = "MOTTLED"; break; - default: break; - } - return result; -} - -std::tuple get_occasion_schedule_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "DANCE_PERFORMANCE"; break; - case 1: std::get<1>(result) = "MUSICAL_PERFORMANCE"; break; - case 2: std::get<1>(result) = "POETRY_RECITAL"; break; - case 3: std::get<1>(result) = "STORYTELLING"; break; - case 4: std::get<1>(result) = "DANCE_COMPETITION"; break; - case 5: std::get<1>(result) = "MUSICAL_COMPETITION"; break; - case 6: std::get<1>(result) = "POETRY_COMPETITION"; break; - case 7: std::get<1>(result) = "FOOT_RACE"; break; - case 8: std::get<1>(result) = "anon_1"; break; - case 9: std::get<1>(result) = "anon_2"; break; - case 10: std::get<1>(result) = "WRESTLING_COMPETITION"; break; - case 11: std::get<1>(result) = "THROWING_COMPETITION"; break; - case 12: std::get<1>(result) = "GLADIATORY_COMPETITION"; break; - case 13: std::get<1>(result) = "PROCESSION"; break; - case 14: std::get<1>(result) = "CEREMONY"; break; - default: break; - } - return result; -} - -std::tuple get_occasion_schedule_feature_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "anon_1"; break; - case 1: std::get<1>(result) = "anon_2"; break; - case 2: std::get<1>(result) = "STORYTELLING"; break; - case 3: std::get<1>(result) = "POETRY_RECITAL"; break; - case 4: std::get<1>(result) = "MUSICAL_PERFORMANCE"; break; - case 5: std::get<1>(result) = "DANCE_PERFORMANCE"; break; - case 6: std::get<1>(result) = "anon_3"; break; - case 7: std::get<1>(result) = "CRIERS_IN_FRONT"; break; - case 8: std::get<1>(result) = "ORDER_OF_PRECEDENCE"; break; - case 9: std::get<1>(result) = "BANNERS"; break; - case 10: std::get<1>(result) = "IMAGES"; break; - case 11: std::get<1>(result) = "anon_4"; break; - case 12: std::get<1>(result) = "anon_5"; break; - case 13: std::get<1>(result) = "ACROBATS"; break; - case 14: std::get<1>(result) = "INCENSE_BURNING"; break; - case 15: std::get<1>(result) = "COSTUMES"; break; - case 16: std::get<1>(result) = "CANDLES"; break; - case 17: std::get<1>(result) = "THE_GIVING_OF_ITEMS"; break; - case 18: std::get<1>(result) = "THE_SACRIFICE_OF_ITEMS"; break; - default: break; - } - return result; -} - -std::tuple get_entity_sell_category_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Leather"; break; - case 1: std::get<1>(result) = "ClothPlant"; break; - case 2: std::get<1>(result) = "ClothSilk"; break; - case 3: std::get<1>(result) = "Crafts"; break; - case 4: std::get<1>(result) = "Wood"; break; - case 5: std::get<1>(result) = "MetalBars"; break; - case 6: std::get<1>(result) = "SmallCutGems"; break; - case 7: std::get<1>(result) = "LargeCutGems"; break; - case 8: std::get<1>(result) = "StoneBlocks"; break; - case 9: std::get<1>(result) = "Seeds"; break; - case 10: std::get<1>(result) = "Anvils"; break; - case 11: std::get<1>(result) = "Weapons"; break; - case 12: std::get<1>(result) = "TrainingWeapons"; break; - case 13: std::get<1>(result) = "Ammo"; break; - case 14: std::get<1>(result) = "TrapComponents"; break; - case 15: std::get<1>(result) = "DiggingImplements"; break; - case 16: std::get<1>(result) = "Bodywear"; break; - case 17: std::get<1>(result) = "Headwear"; break; - case 18: std::get<1>(result) = "Handwear"; break; - case 19: std::get<1>(result) = "Footwear"; break; - case 20: std::get<1>(result) = "Legwear"; break; - case 21: std::get<1>(result) = "Shields"; break; - case 22: std::get<1>(result) = "Toys"; break; - case 23: std::get<1>(result) = "Instruments"; break; - case 24: std::get<1>(result) = "Pets"; break; - case 25: std::get<1>(result) = "Drinks"; break; - case 26: std::get<1>(result) = "Cheese"; break; - case 27: std::get<1>(result) = "Powders"; break; - case 28: std::get<1>(result) = "Extracts"; break; - case 29: std::get<1>(result) = "Meat"; break; - case 30: std::get<1>(result) = "Fish"; break; - case 31: std::get<1>(result) = "Plants"; break; - case 32: std::get<1>(result) = "FruitsNuts"; break; - case 33: std::get<1>(result) = "GardenVegetables"; break; - case 34: std::get<1>(result) = "MeatFishRecipes"; break; - case 35: std::get<1>(result) = "OtherRecipes"; break; - case 36: std::get<1>(result) = "Stone"; break; - case 37: std::get<1>(result) = "Cages"; break; - case 38: std::get<1>(result) = "BagsLeather"; break; - case 39: std::get<1>(result) = "BagsPlant"; break; - case 40: std::get<1>(result) = "BagsSilk"; break; - case 41: std::get<1>(result) = "ThreadPlant"; break; - case 42: std::get<1>(result) = "ThreadSilk"; break; - case 43: std::get<1>(result) = "RopesPlant"; break; - case 44: std::get<1>(result) = "RopesSilk"; break; - case 45: std::get<1>(result) = "Barrels"; break; - case 46: std::get<1>(result) = "FlasksWaterskins"; break; - case 47: std::get<1>(result) = "Quivers"; break; - case 48: std::get<1>(result) = "Backpacks"; break; - case 49: std::get<1>(result) = "Sand"; break; - case 50: std::get<1>(result) = "Glass"; break; - case 51: std::get<1>(result) = "Miscellaneous"; break; - case 52: std::get<1>(result) = "Buckets"; break; - case 53: std::get<1>(result) = "Splints"; break; - case 54: std::get<1>(result) = "Crutches"; break; - case 55: std::get<1>(result) = "Eggs"; break; - case 56: std::get<1>(result) = "BagsYarn"; break; - case 57: std::get<1>(result) = "RopesYarn"; break; - case 58: std::get<1>(result) = "ClothYarn"; break; - case 59: std::get<1>(result) = "ThreadYarn"; break; - case 60: std::get<1>(result) = "Tools"; break; - case 61: std::get<1>(result) = "Clay"; break; - case 62: std::get<1>(result) = "Parchment"; break; - case 63: std::get<1>(result) = "CupsMugsGoblets"; break; - default: break; - } - return result; -} - -std::tuple get_historical_entity_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Civilization"; break; - case 1: std::get<1>(result) = "SiteGovernment"; break; - case 2: std::get<1>(result) = "VesselCrew"; break; - case 3: std::get<1>(result) = "MigratingGroup"; break; - case 4: std::get<1>(result) = "NomadicGroup"; break; - case 5: std::get<1>(result) = "Religion"; break; - case 6: std::get<1>(result) = "MilitaryUnit"; break; - case 7: std::get<1>(result) = "Outcast"; break; - case 8: std::get<1>(result) = "PerformanceTroupe"; break; - default: break; - } - return result; -} - -std::tuple get_training_knowledge_level_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "None"; break; - case 1: std::get<1>(result) = "FewFacts"; break; - case 2: std::get<1>(result) = "GeneralFamiliarity"; break; - case 3: std::get<1>(result) = "Knowledgeable"; break; - case 4: std::get<1>(result) = "Expert"; break; - case 5: std::get<1>(result) = "Domesticated"; break; - default: break; - } - return result; -} - -std::tuple get_entity_position_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "IS_LAW_MAKER"; break; - case 1: std::get<1>(result) = "ELECTED"; break; - case 2: std::get<1>(result) = "DUTY_BOUND"; break; - case 3: std::get<1>(result) = "MILITARY_SCREEN_ONLY"; break; - case 4: std::get<1>(result) = "GENDER_MALE"; break; - case 5: std::get<1>(result) = "GENDER_FEMALE"; break; - case 6: std::get<1>(result) = "SUCCESSION_BY_HEIR"; break; - case 7: std::get<1>(result) = "HAS_RESPONSIBILITIES"; break; - case 8: std::get<1>(result) = "FLASHES"; break; - case 9: std::get<1>(result) = "BRAG_ON_KILL"; break; - case 10: std::get<1>(result) = "CHAT_WORTHY"; break; - case 11: std::get<1>(result) = "DO_NOT_CULL"; break; - case 12: std::get<1>(result) = "KILL_QUEST"; break; - case 13: std::get<1>(result) = "IS_LEADER"; break; - case 14: std::get<1>(result) = "IS_DIPLOMAT"; break; - case 15: std::get<1>(result) = "EXPORTED_IN_LEGENDS"; break; - case 16: std::get<1>(result) = "DETERMINES_COIN_DESIGN"; break; - case 17: std::get<1>(result) = "ACCOUNT_EXEMPT"; break; - case 18: std::get<1>(result) = "unk_12"; break; - case 19: std::get<1>(result) = "unk_13"; break; - case 20: std::get<1>(result) = "COLOR"; break; - case 21: std::get<1>(result) = "RULES_FROM_LOCATION"; break; - case 22: std::get<1>(result) = "MENIAL_WORK_EXEMPTION"; break; - case 23: std::get<1>(result) = "MENIAL_WORK_EXEMPTION_SPOUSE"; break; - case 24: std::get<1>(result) = "SLEEP_PRETENSION"; break; - case 25: std::get<1>(result) = "PUNISHMENT_EXEMPTION"; break; - case 26: std::get<1>(result) = "unk_1a"; break; - case 27: std::get<1>(result) = "unk_1b"; break; - case 28: std::get<1>(result) = "QUEST_GIVER"; break; - case 29: std::get<1>(result) = "SPECIAL_BURIAL"; break; - case 30: std::get<1>(result) = "REQUIRES_MARKET"; break; - case 31: std::get<1>(result) = "unk_1f"; break; - default: break; - } - return result; -} - -std::tuple get_entity_material_category_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case -1: std::get<1>(result) = "None"; break; - case 0: std::get<1>(result) = "Clothing"; std::get<2>(result) = "cloth or leather"; break; - case 1: std::get<1>(result) = "Leather"; std::get<2>(result) = "organic.leather"; break; - case 2: std::get<1>(result) = "Cloth"; std::get<2>(result) = "any cloth"; break; - case 3: std::get<1>(result) = "Wood"; std::get<2>(result) = "organic.wood, used for training weapons"; break; - case 4: std::get<1>(result) = "Crafts"; std::get<2>(result) = "misc_mat.crafts"; break; - case 5: std::get<1>(result) = "Stone"; std::get<2>(result) = "stones"; break; - case 6: std::get<1>(result) = "Improvement"; std::get<2>(result) = "misc_mat.crafts"; break; - case 7: std::get<1>(result) = "Glass"; std::get<2>(result) = "misc_mat.glass_unused, used for extract vials"; break; - case 8: std::get<1>(result) = "Wood2"; std::get<2>(result) = "misc_mat.barrels, also used for buckets"; break; - case 9: std::get<1>(result) = "Bag"; std::get<2>(result) = "cloth/leather"; break; - case 10: std::get<1>(result) = "Cage"; std::get<2>(result) = "misc_mat.cages"; break; - case 11: std::get<1>(result) = "WeaponMelee"; std::get<2>(result) = "metal.weapon"; break; - case 12: std::get<1>(result) = "WeaponRanged"; std::get<2>(result) = "metal.ranged"; break; - case 13: std::get<1>(result) = "Ammo"; std::get<2>(result) = "metal.ammo"; break; - case 14: std::get<1>(result) = "Ammo2"; std::get<2>(result) = "metal.ammo2"; break; - case 15: std::get<1>(result) = "Pick"; std::get<2>(result) = "metal.pick"; break; - case 16: std::get<1>(result) = "Armor"; std::get<2>(result) = "metal.armor, also used for shields, tools, instruments, and toys"; break; - case 17: std::get<1>(result) = "Gem"; std::get<2>(result) = "gems"; break; - case 18: std::get<1>(result) = "Bone"; std::get<2>(result) = "refuse.bone"; break; - case 19: std::get<1>(result) = "Shell"; std::get<2>(result) = "refuse.shell"; break; - case 20: std::get<1>(result) = "Pearl"; std::get<2>(result) = "refuse.pearl"; break; - case 21: std::get<1>(result) = "Ivory"; std::get<2>(result) = "refuse.ivory"; break; - case 22: std::get<1>(result) = "Horn"; std::get<2>(result) = "refuse.horn"; break; - case 23: std::get<1>(result) = "Other"; std::get<2>(result) = "misc_mat.others"; break; - case 24: std::get<1>(result) = "Anvil"; std::get<2>(result) = "metal.anvil"; break; - case 25: std::get<1>(result) = "Booze"; std::get<2>(result) = "misc_mat.booze"; break; - case 26: std::get<1>(result) = "Metal"; std::get<2>(result) = "metals with ITEMS_HARD, used for chains"; break; - case 27: std::get<1>(result) = "PlantFiber"; std::get<2>(result) = "organic.fiber"; break; - case 28: std::get<1>(result) = "Silk"; std::get<2>(result) = "organic.silk"; break; - case 29: std::get<1>(result) = "Wool"; std::get<2>(result) = "organic.wool"; break; - case 30: std::get<1>(result) = "Furniture"; std::get<2>(result) = "misc_mat.rock_metal"; break; - case 31: std::get<1>(result) = "MiscWood2"; std::get<2>(result) = "misc_mat.wood2"; break; - default: break; - } - return result; -} - -std::tuple get_entity_event_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "invasion"; break; - case 1: std::get<1>(result) = "abduction"; break; - case 2: std::get<1>(result) = "incident"; break; - case 3: std::get<1>(result) = "occupation"; break; - case 4: std::get<1>(result) = "beast"; break; - case 5: std::get<1>(result) = "group"; break; - case 6: std::get<1>(result) = "harass"; break; - case 7: std::get<1>(result) = "flee"; break; - case 8: std::get<1>(result) = "abandon"; break; - case 9: std::get<1>(result) = "reclaimed"; break; - case 10: std::get<1>(result) = "founded"; break; - case 11: std::get<1>(result) = "reclaiming"; break; - case 12: std::get<1>(result) = "founding"; break; - case 13: std::get<1>(result) = "leave"; break; - case 14: std::get<1>(result) = "insurrection"; break; - case 15: std::get<1>(result) = "insurrection_end"; break; - case 16: std::get<1>(result) = "succession"; break; - case 17: std::get<1>(result) = "claim"; break; - case 18: std::get<1>(result) = "accept_tribute_offer"; break; - case 19: std::get<1>(result) = "refuse_tribute_offer"; break; - case 20: std::get<1>(result) = "accept_tribute_demand"; break; - case 21: std::get<1>(result) = "refuse_tribute_demand"; break; - case 22: std::get<1>(result) = "accept_peace_offer"; break; - case 23: std::get<1>(result) = "refuse_peace_offer"; break; - case 24: std::get<1>(result) = "cease_tribute_offer"; break; - case 25: std::get<1>(result) = "artifact_in_site"; break; - case 26: std::get<1>(result) = "artifact_in_subregion"; break; - case 27: std::get<1>(result) = "artifact_in_feature_layer"; break; - case 28: std::get<1>(result) = "artifact_in_inventory"; break; - case 29: std::get<1>(result) = "artifact_not_in_site"; break; - case 30: std::get<1>(result) = "artifact_not_in_subregion"; break; - case 31: std::get<1>(result) = "artifact_not_in_feature_layer"; break; - case 32: std::get<1>(result) = "artifact_not_in_inventory"; break; - case 33: std::get<1>(result) = "artifact_was_destroyed"; break; - default: break; - } - return result; -} - -std::tuple get_entity_raw_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "CIV_CONTROLLABLE"; break; - case 1: std::get<1>(result) = "INDIV_CONTROLLABLE"; break; - case 2: std::get<1>(result) = "LAYER_LINKED"; break; - case 3: std::get<1>(result) = "INDOOR_WOOD"; break; - case 4: std::get<1>(result) = "WOOD_ARMOR"; break; - case 5: std::get<1>(result) = "SIEGER"; break; - case 6: std::get<1>(result) = "AMBUSHER"; break; - case 7: std::get<1>(result) = "BABYSNATCHER"; break; - case 8: std::get<1>(result) = "ITEM_THIEF"; break; - case 9: std::get<1>(result) = "CLOTHING"; break; - case 10: std::get<1>(result) = "CURRENCY_BY_YEAR"; break; - case 11: std::get<1>(result) = "METAL_PREF"; break; - case 12: std::get<1>(result) = "GEM_PREF"; break; - case 13: std::get<1>(result) = "STONE_PREF"; break; - case 14: std::get<1>(result) = "WOOD_WEAPONS"; break; - case 15: std::get<1>(result) = "BUILDS_OUTDOOR_FORTIFICATIONS"; break; - case 16: std::get<1>(result) = "RIVER_PRODUCTS"; break; - case 17: std::get<1>(result) = "OCEAN_PRODUCTS"; break; - case 18: std::get<1>(result) = "INDOOR_FARMING"; break; - case 19: std::get<1>(result) = "OUTDOOR_FARMING"; break; - case 20: std::get<1>(result) = "USE_CAVE_ANIMALS"; break; - case 21: std::get<1>(result) = "USE_EVIL_ANIMALS"; break; - case 22: std::get<1>(result) = "USE_ANIMAL_PRODUCTS"; break; - case 23: std::get<1>(result) = "COMMON_DOMESTIC_PACK"; break; - case 24: std::get<1>(result) = "COMMON_DOMESTIC_PULL"; break; - case 25: std::get<1>(result) = "COMMON_DOMESTIC_MOUNT"; break; - case 26: std::get<1>(result) = "COMMON_DOMESTIC_PET"; break; - case 27: std::get<1>(result) = "SUBTERRANEAN_CLOTHING"; break; - case 28: std::get<1>(result) = "USE_EVIL_WOOD"; break; - case 29: std::get<1>(result) = "USE_GOOD_WOOD"; break; - case 30: std::get<1>(result) = "USE_EVIL_PLANTS"; break; - case 31: std::get<1>(result) = "USE_GOOD_PLANTS"; break; - case 32: std::get<1>(result) = "USE_GOOD_ANIMALS"; break; - case 33: std::get<1>(result) = "USE_ANY_PET_RACE"; break; - case 34: std::get<1>(result) = "USE_MISC_PROCESSED_WOOD_PRODUCTS"; break; - case 35: std::get<1>(result) = "IMPROVED_BOWS"; break; - case 36: std::get<1>(result) = "OUTDOOR_WOOD"; break; - case 37: std::get<1>(result) = "LOCAL_BANDITRY"; break; - case 38: std::get<1>(result) = "BUILDS_OUTDOOR_TOMBS"; break; - case 39: std::get<1>(result) = "INVADERS_IGNORE_NEUTRALS"; break; - case 40: std::get<1>(result) = "AT_PEACE_WITH_WILDLIFE"; break; - case 41: std::get<1>(result) = "EQUIPMENT_IMPROVEMENTS"; break; - case 42: std::get<1>(result) = "ABUSE_BODIES"; break; - case 43: std::get<1>(result) = "UNDEAD_CANDIDATE"; break; - case 44: std::get<1>(result) = "GENERATED"; break; - case 45: std::get<1>(result) = "SKULKING"; break; - case 46: std::get<1>(result) = "anon_1"; break; - case 47: std::get<1>(result) = "MERCHANT_NOBILITY"; break; - case 48: std::get<1>(result) = "TREE_CAP_DIPLOMACY"; break; - case 49: std::get<1>(result) = "DIPLOMAT_BODYGUARDS"; break; - case 50: std::get<1>(result) = "MERCHANT_BODYGUARDS"; break; - case 51: std::get<1>(result) = "INDOOR_ORCHARDS"; break; - case 52: std::get<1>(result) = "OUTDOOR_ORCHARDS"; break; - case 53: std::get<1>(result) = "WANDERER"; break; - case 54: std::get<1>(result) = "BEAST_HUNTER"; break; - case 55: std::get<1>(result) = "SCOUT"; break; - case 56: std::get<1>(result) = "WILL_ACCEPT_TRIBUTE"; break; - case 57: std::get<1>(result) = "INDOOR_GARDENS"; break; - case 58: std::get<1>(result) = "OUTDOOR_GARDENS"; break; - case 59: std::get<1>(result) = "MERCENARY"; break; - case 60: std::get<1>(result) = "SITE_GUARDIAN"; break; - case 61: std::get<1>(result) = "DIVINE_MAT_WEAPONS"; break; - case 62: std::get<1>(result) = "DIVINE_MAT_ARMOR"; break; - case 63: std::get<1>(result) = "DIVINE_MAT_CRAFTS"; break; - case 64: std::get<1>(result) = "DIVINE_MAT_CLOTHING"; break; - case 65: std::get<1>(result) = "GENERATE_KEYBOARD_INSTRUMENTS"; break; - case 66: std::get<1>(result) = "GENERATE_STRINGED_INSTRUMENTS"; break; - case 67: std::get<1>(result) = "GENERATE_WIND_INSTRUMENTS"; break; - case 68: std::get<1>(result) = "GENERATE_PERCUSSION_INSTRUMENTS"; break; - case 69: std::get<1>(result) = "GENERATE_POETIC_FORMS"; break; - case 70: std::get<1>(result) = "GENERATE_MUSICAL_FORMS"; break; - case 71: std::get<1>(result) = "GENERATE_DANCE_FORMS"; break; - case 72: std::get<1>(result) = "SET_SCHOLARS_ON_VALUES_AND_JOBS"; break; - case 73: std::get<1>(result) = "NO_ARTIFACT_CLAIMS"; break; - default: break; - } - return result; -} - -std::tuple get_site_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "PLAYER_FORTRESS"; break; - case 1: std::get<1>(result) = "DARK_FORTRESS"; break; - case 2: std::get<1>(result) = "CAVE"; break; - case 3: std::get<1>(result) = "CAVE_DETAILED"; break; - case 4: std::get<1>(result) = "TREE_CITY"; break; - case 5: std::get<1>(result) = "CITY"; break; - case 6: std::get<1>(result) = "anon_1"; break; - case 7: std::get<1>(result) = "anon_2"; break; - case 8: std::get<1>(result) = "FORTRESS"; break; - case 9: std::get<1>(result) = "anon_3"; break; - case 10: std::get<1>(result) = "MONUMENT"; break; - default: break; - } - return result; -} - -std::tuple get_ethic_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "KILL_ENTITY_MEMBER"; break; - case 1: std::get<1>(result) = "KILL_NEUTRAL"; break; - case 2: std::get<1>(result) = "KILL_ENEMY"; break; - case 3: std::get<1>(result) = "KILL_ANIMAL"; break; - case 4: std::get<1>(result) = "KILL_PLANT"; break; - case 5: std::get<1>(result) = "TORTURE_AS_EXAMPLE"; break; - case 6: std::get<1>(result) = "TORTURE_FOR_INFORMATION"; break; - case 7: std::get<1>(result) = "TORTURE_FOR_FUN"; break; - case 8: std::get<1>(result) = "TORTURE_ANIMALS"; break; - case 9: std::get<1>(result) = "TREASON"; break; - case 10: std::get<1>(result) = "OATH_BREAKING"; break; - case 11: std::get<1>(result) = "LYING"; break; - case 12: std::get<1>(result) = "VANDALISM"; break; - case 13: std::get<1>(result) = "TRESPASSING"; break; - case 14: std::get<1>(result) = "THEFT"; break; - case 15: std::get<1>(result) = "ASSAULT"; break; - case 16: std::get<1>(result) = "SLAVERY"; break; - case 17: std::get<1>(result) = "EAT_SAPIENT_OTHER"; break; - case 18: std::get<1>(result) = "EAT_SAPIENT_KILL"; break; - case 19: std::get<1>(result) = "MAKE_TROPHY_SAME_RACE"; break; - case 20: std::get<1>(result) = "MAKE_TROPHY_SAPIENT"; break; - case 21: std::get<1>(result) = "MAKE_TROPHY_ANIMAL"; break; - default: break; - } - return result; -} - -std::tuple get_ethic_response_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "NOT_APPLICABLE"; break; - case 1: std::get<1>(result) = "ACCEPTABLE"; break; - case 2: std::get<1>(result) = "PERSONAL_MATTER"; break; - case 3: std::get<1>(result) = "JUSTIFIED_IF_NO_REPERCUSSIONS"; break; - case 4: std::get<1>(result) = "JUSTIFIED_IF_GOOD_REASON"; break; - case 5: std::get<1>(result) = "JUSTIFIED_IF_EXTREME_REASON"; break; - case 6: std::get<1>(result) = "JUSTIFIED_IF_SELF_DEFENSE"; break; - case 7: std::get<1>(result) = "ONLY_IF_SANCTIONED"; break; - case 8: std::get<1>(result) = "MISGUIDED"; break; - case 9: std::get<1>(result) = "SHUN"; break; - case 10: std::get<1>(result) = "APPALLING"; break; - case 11: std::get<1>(result) = "PUNISH_REPRIMAND"; break; - case 12: std::get<1>(result) = "PUNISH_SERIOUS"; break; - case 13: std::get<1>(result) = "PUNISH_EXILE"; break; - case 14: std::get<1>(result) = "PUNISH_CAPITAL"; break; - case 15: std::get<1>(result) = "UNTHINKABLE"; break; - case 16: std::get<1>(result) = "REQUIRED"; break; - default: break; - } - return result; -} - -std::tuple get_entity_name_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "OTHER"; break; - case 1: std::get<1>(result) = "CIV"; break; - case 2: std::get<1>(result) = "SITE"; break; - case 3: std::get<1>(result) = "VESSEL"; break; - case 4: std::get<1>(result) = "MILITARY_UNIT"; break; - case 5: std::get<1>(result) = "RELIGION"; break; - case 6: std::get<1>(result) = "TEMPLE"; break; - case 7: std::get<1>(result) = "WAR"; break; - case 8: std::get<1>(result) = "BATTLE"; break; - case 9: std::get<1>(result) = "SIEGE"; break; - case 10: std::get<1>(result) = "ROAD"; break; - case 11: std::get<1>(result) = "BRIDGE"; break; - case 12: std::get<1>(result) = "TUNNEL"; break; - case 13: std::get<1>(result) = "WALL"; break; - case 14: std::get<1>(result) = "LIBRARY"; break; - case 15: std::get<1>(result) = "FESTIVAL"; break; - default: break; - } - return result; -} - -std::tuple get_entity_position_raw_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "SITE"; break; - case 1: std::get<1>(result) = "ELECTED"; break; - case 2: std::get<1>(result) = "CONQUERED_SITE"; break; - case 3: std::get<1>(result) = "MILITARY_SCREEN_ONLY"; break; - case 4: std::get<1>(result) = "GENDER_MALE"; break; - case 5: std::get<1>(result) = "GENDER_FEMALE"; break; - case 6: std::get<1>(result) = "SUCCESSION_BY_HEIR"; break; - case 7: std::get<1>(result) = "EXPORTED_IN_LEGENDS"; break; - case 8: std::get<1>(result) = "FLASHES"; break; - case 9: std::get<1>(result) = "BRAG_ON_KILL"; break; - case 10: std::get<1>(result) = "CHAT_WORTHY"; break; - case 11: std::get<1>(result) = "DO_NOT_CULL"; break; - case 12: std::get<1>(result) = "KILL_QUEST"; break; - case 13: std::get<1>(result) = "DETERMINES_COIN_DESIGN"; break; - case 14: std::get<1>(result) = "ACCOUNT_EXEMPT"; break; - case 15: std::get<1>(result) = "DUTY_BOUND"; break; - case 16: std::get<1>(result) = "COLOR"; break; - case 17: std::get<1>(result) = "RULES_FROM_LOCATION"; break; - case 18: std::get<1>(result) = "MENIAL_WORK_EXEMPTION"; break; - case 19: std::get<1>(result) = "MENIAL_WORK_EXEMPTION_SPOUSE"; break; - case 20: std::get<1>(result) = "SLEEP_PRETENSION"; break; - case 21: std::get<1>(result) = "PUNISHMENT_EXEMPTION"; break; - case 22: std::get<1>(result) = "QUEST_GIVER"; break; - case 23: std::get<1>(result) = "SPECIAL_BURIAL"; break; - case 24: std::get<1>(result) = "REQUIRES_MARKET"; break; - default: break; - } - return result; -} - -std::tuple get_entity_position_responsibility_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case -1: std::get<1>(result) = "NONE"; break; - case 0: std::get<1>(result) = "LAW_MAKING"; break; - case 1: std::get<1>(result) = "LAW_ENFORCEMENT"; break; - case 2: std::get<1>(result) = "RECEIVE_DIPLOMATS"; break; - case 3: std::get<1>(result) = "MEET_WORKERS"; break; - case 4: std::get<1>(result) = "MANAGE_PRODUCTION"; break; - case 5: std::get<1>(result) = "TRADE"; break; - case 6: std::get<1>(result) = "ACCOUNTING"; break; - case 7: std::get<1>(result) = "ESTABLISH_COLONY_TRADE_AGREEMENTS"; break; - case 8: std::get<1>(result) = "MAKE_INTRODUCTIONS"; break; - case 9: std::get<1>(result) = "MAKE_PEACE_AGREEMENTS"; break; - case 10: std::get<1>(result) = "MAKE_TOPIC_AGREEMENTS"; break; - case 11: std::get<1>(result) = "COLLECT_TAXES"; break; - case 12: std::get<1>(result) = "ESCORT_TAX_COLLECTOR"; break; - case 13: std::get<1>(result) = "EXECUTIONS"; break; - case 14: std::get<1>(result) = "TAME_EXOTICS"; break; - case 15: std::get<1>(result) = "RELIGION"; break; - case 16: std::get<1>(result) = "ATTACK_ENEMIES"; break; - case 17: std::get<1>(result) = "PATROL_TERRITORY"; break; - case 18: std::get<1>(result) = "MILITARY_GOALS"; break; - case 19: std::get<1>(result) = "MILITARY_STRATEGY"; break; - case 20: std::get<1>(result) = "UPGRADE_SQUAD_EQUIPMENT"; break; - case 21: std::get<1>(result) = "EQUIPMENT_MANIFESTS"; break; - case 22: std::get<1>(result) = "SORT_AMMUNITION"; break; - case 23: std::get<1>(result) = "BUILD_MORALE"; break; - case 24: std::get<1>(result) = "HEALTH_MANAGEMENT"; break; - default: break; - } - return result; -} - -std::tuple get_weather_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "None"; break; - case 1: std::get<1>(result) = "Rain"; break; - case 2: std::get<1>(result) = "Snow"; break; - default: break; - } - return result; -} - -std::tuple get_game_mode_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "DWARF"; break; - case 1: std::get<1>(result) = "ADVENTURE"; break; - case 2: std::get<1>(result) = "num"; break; - case 3: std::get<1>(result) = "NONE"; break; - default: break; - } - return result; -} - -std::tuple get_game_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "DWARF_MAIN"; break; - case 1: std::get<1>(result) = "ADVENTURE_MAIN"; break; - case 2: std::get<1>(result) = "VIEW_LEGENDS"; break; - case 3: std::get<1>(result) = "DWARF_RECLAIM"; break; - case 4: std::get<1>(result) = "DWARF_ARENA"; break; - case 5: std::get<1>(result) = "ADVENTURE_ARENA"; break; - case 6: std::get<1>(result) = "ADVENTURE_DUNGEON"; break; - case 7: std::get<1>(result) = "DWARF_TUTORIAL"; break; - case 8: std::get<1>(result) = "DWARF_UNRETIRE"; break; - case 9: std::get<1>(result) = "ADVENTURE_WORLD_DEBUG"; break; - case 10: std::get<1>(result) = "num"; break; - case 11: std::get<1>(result) = "NONE"; break; - default: break; - } - return result; -} - -std::tuple get_lever_target_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case -1: std::get<1>(result) = "NONE"; break; - case 66: std::get<1>(result) = "BarsVertical"; break; - case 70: std::get<1>(result) = "BarsFloor"; break; - case 83: std::get<1>(result) = "SpearsSpikes"; break; - case 84: std::get<1>(result) = "TrackStop"; break; - case 97: std::get<1>(result) = "GearAssembly"; break; - case 98: std::get<1>(result) = "Bridge"; break; - case 99: std::get<1>(result) = "Chain"; break; - case 100: std::get<1>(result) = "Door"; break; - case 101: std::get<1>(result) = "EncrustGems"; break; - case 102: std::get<1>(result) = "Floodgate"; break; - case 103: std::get<1>(result) = "GrateFloor"; break; - case 104: std::get<1>(result) = "Hatch"; break; - case 106: std::get<1>(result) = "Cage"; break; - case 115: std::get<1>(result) = "Support"; break; - case 119: std::get<1>(result) = "GrateWall"; break; - default: break; - } - return result; -} - -std::tuple get_zoom_commands_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "zoom_in"; break; - case 1: std::get<1>(result) = "zoom_out"; break; - case 2: std::get<1>(result) = "zoom_reset"; break; - case 3: std::get<1>(result) = "zoom_fullscreen"; break; - case 4: std::get<1>(result) = "zoom_resetgrid"; break; - default: break; - } - return result; -} - -std::tuple get_reputation_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Hero"; break; - case 1: std::get<1>(result) = "Buddy"; break; - case 2: std::get<1>(result) = "Grudge"; break; - case 3: std::get<1>(result) = "AnimalPartner"; break; - case 4: std::get<1>(result) = "Brawler"; break; - case 5: std::get<1>(result) = "Psycho"; break; - case 6: std::get<1>(result) = "TradePartner"; break; - case 7: std::get<1>(result) = "Friendly"; break; - case 8: std::get<1>(result) = "Killer"; break; - case 9: std::get<1>(result) = "Murderer"; break; - case 10: std::get<1>(result) = "Comrade"; break; - case 11: std::get<1>(result) = "RespectedGroup"; break; - case 12: std::get<1>(result) = "HatedGroup"; break; - case 13: std::get<1>(result) = "EnemyFighter"; break; - case 14: std::get<1>(result) = "FriendlyFighter"; break; - case 15: std::get<1>(result) = "Bully"; break; - case 16: std::get<1>(result) = "Brigand"; break; - case 17: std::get<1>(result) = "LoyalSoldier"; break; - case 18: std::get<1>(result) = "Monster"; break; - case 19: std::get<1>(result) = "Storyteller"; break; - case 20: std::get<1>(result) = "Poet"; break; - case 21: std::get<1>(result) = "Bard"; break; - case 22: std::get<1>(result) = "Dancer"; break; - case 23: std::get<1>(result) = "Quarreler"; break; - case 24: std::get<1>(result) = "Flatterer"; break; - case 25: std::get<1>(result) = "Hunter"; break; - case 26: std::get<1>(result) = "ProtectorOfWeak"; break; - case 27: std::get<1>(result) = "TreasureHunter"; break; - case 28: std::get<1>(result) = "Thief"; break; - case 29: std::get<1>(result) = "InformationSource"; break; - case 30: std::get<1>(result) = "PreserverOfKnowledge"; break; - case 31: std::get<1>(result) = "Intruder"; break; - default: break; - } - return result; -} - -std::tuple get_histfig_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "reveal_artwork"; break; - case 1: std::get<1>(result) = "equipment_created"; break; - case 2: std::get<1>(result) = "deity"; break; - case 3: std::get<1>(result) = "force"; break; - case 4: std::get<1>(result) = "skeletal_deity"; break; - case 5: std::get<1>(result) = "rotting_deity"; break; - case 6: std::get<1>(result) = "worldgen_acted"; break; - case 7: std::get<1>(result) = "ghost"; break; - case 8: std::get<1>(result) = "skin_destroyed"; break; - case 9: std::get<1>(result) = "meat_destroyed"; break; - case 10: std::get<1>(result) = "bones_destroyed"; break; - case 11: std::get<1>(result) = "brag_on_kill"; break; - case 12: std::get<1>(result) = "kill_quest"; break; - case 13: std::get<1>(result) = "chatworthy"; break; - case 14: std::get<1>(result) = "flashes"; break; - case 15: std::get<1>(result) = "never_cull"; break; - default: break; - } - return result; -} - -std::tuple get_histfig_relationship_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case -1: std::get<1>(result) = "None"; break; - case 0: std::get<1>(result) = "Mother"; break; - case 1: std::get<1>(result) = "Father"; break; - case 2: std::get<1>(result) = "Parent"; break; - case 3: std::get<1>(result) = "Husband"; break; - case 4: std::get<1>(result) = "Wife"; break; - case 5: std::get<1>(result) = "Spouse"; break; - case 6: std::get<1>(result) = "SonEldest"; break; - case 7: std::get<1>(result) = "SonEldest2"; break; - case 8: std::get<1>(result) = "SonEldest3"; break; - case 9: std::get<1>(result) = "SonEldest4"; break; - case 10: std::get<1>(result) = "SonEldest5"; break; - case 11: std::get<1>(result) = "SonEldest6"; break; - case 12: std::get<1>(result) = "SonEldest7"; break; - case 13: std::get<1>(result) = "SonEldest8"; break; - case 14: std::get<1>(result) = "SonEldest9"; break; - case 15: std::get<1>(result) = "SonEldest10"; break; - case 16: std::get<1>(result) = "Son"; break; - case 17: std::get<1>(result) = "SonYoungest"; break; - case 18: std::get<1>(result) = "SonOnly"; break; - case 19: std::get<1>(result) = "DaughterEldest"; break; - case 20: std::get<1>(result) = "DaughterEldest2"; break; - case 21: std::get<1>(result) = "DaughterEldest3"; break; - case 22: std::get<1>(result) = "DaughterEldest4"; break; - case 23: std::get<1>(result) = "DaughterEldest5"; break; - case 24: std::get<1>(result) = "DaughterEldest6"; break; - case 25: std::get<1>(result) = "DaughterEldest7"; break; - case 26: std::get<1>(result) = "DaughterEldest8"; break; - case 27: std::get<1>(result) = "DaughterEldest9"; break; - case 28: std::get<1>(result) = "DaughterEldest10"; break; - case 29: std::get<1>(result) = "Daughter"; break; - case 30: std::get<1>(result) = "DaughterOnly"; break; - case 31: std::get<1>(result) = "DaughterYoungest"; break; - case 32: std::get<1>(result) = "ChildEldest"; break; - case 33: std::get<1>(result) = "ChildEldest2"; break; - case 34: std::get<1>(result) = "ChildEldest3"; break; - case 35: std::get<1>(result) = "ChildEldest4"; break; - case 36: std::get<1>(result) = "ChildEldest5"; break; - case 37: std::get<1>(result) = "ChildEldest6"; break; - case 38: std::get<1>(result) = "ChildEldest7"; break; - case 39: std::get<1>(result) = "ChildEldest8"; break; - case 40: std::get<1>(result) = "ChildEldest9"; break; - case 41: std::get<1>(result) = "ChildEldest10"; break; - case 42: std::get<1>(result) = "Child"; break; - case 43: std::get<1>(result) = "ChildYoungest"; break; - case 44: std::get<1>(result) = "ChildOnly"; break; - case 45: std::get<1>(result) = "PaternalGrandmother"; break; - case 46: std::get<1>(result) = "PaternalGrandfather"; break; - case 47: std::get<1>(result) = "MaternalGrandmother"; break; - case 48: std::get<1>(result) = "MaternalGrandfather"; break; - case 49: std::get<1>(result) = "Grandmother"; break; - case 50: std::get<1>(result) = "Grandfather"; break; - case 51: std::get<1>(result) = "Grandparent"; break; - case 52: std::get<1>(result) = "OlderBrother"; break; - case 53: std::get<1>(result) = "OlderSister"; break; - case 54: std::get<1>(result) = "OlderSibling"; break; - case 55: std::get<1>(result) = "YoungerBrother"; break; - case 56: std::get<1>(result) = "YoungerSister"; break; - case 57: std::get<1>(result) = "YoungerSibling"; break; - case 58: std::get<1>(result) = "Cousin"; break; - case 59: std::get<1>(result) = "Aunt"; break; - case 60: std::get<1>(result) = "Uncle"; break; - case 61: std::get<1>(result) = "Niece"; break; - case 62: std::get<1>(result) = "Nephew"; break; - case 63: std::get<1>(result) = "Sibling"; break; - case 64: std::get<1>(result) = "Grandchild"; break; - default: break; - } - return result; -} - -std::tuple get_mental_picture_property_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "DATE"; break; - case 1: std::get<1>(result) = "ACTION"; break; - case 2: std::get<1>(result) = "TOOL"; break; - case 3: std::get<1>(result) = "EMOTION"; break; - case 4: std::get<1>(result) = "COLOR_PATTERN"; break; - case 5: std::get<1>(result) = "SHAPE"; break; - case 6: std::get<1>(result) = "ADJECTIVE"; break; - case 7: std::get<1>(result) = "POSITION"; break; - case 8: std::get<1>(result) = "TIME"; break; - default: break; - } - return result; -} - -std::tuple get_mental_picture_element_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "HF"; break; - case 1: std::get<1>(result) = "SITE"; break; - case 2: std::get<1>(result) = "REGION"; break; - default: break; - } - return result; -} - -std::tuple get_history_event_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "WAR_ATTACKED_SITE"; break; - case 1: std::get<1>(result) = "WAR_DESTROYED_SITE"; break; - case 2: std::get<1>(result) = "CREATED_SITE"; break; - case 3: std::get<1>(result) = "HIST_FIGURE_DIED"; break; - case 4: std::get<1>(result) = "ADD_HF_ENTITY_LINK"; break; - case 5: std::get<1>(result) = "REMOVE_HF_ENTITY_LINK"; break; - case 6: std::get<1>(result) = "FIRST_CONTACT"; break; - case 7: std::get<1>(result) = "FIRST_CONTACT_FAILED"; break; - case 8: std::get<1>(result) = "TOPICAGREEMENT_CONCLUDED"; break; - case 9: std::get<1>(result) = "TOPICAGREEMENT_REJECTED"; break; - case 10: std::get<1>(result) = "TOPICAGREEMENT_MADE"; break; - case 11: std::get<1>(result) = "WAR_PEACE_ACCEPTED"; break; - case 12: std::get<1>(result) = "WAR_PEACE_REJECTED"; break; - case 13: std::get<1>(result) = "DIPLOMAT_LOST"; break; - case 14: std::get<1>(result) = "AGREEMENTS_VOIDED"; break; - case 15: std::get<1>(result) = "MERCHANT"; break; - case 16: std::get<1>(result) = "ARTIFACT_HIDDEN"; break; - case 17: std::get<1>(result) = "ARTIFACT_POSSESSED"; break; - case 18: std::get<1>(result) = "ARTIFACT_CREATED"; break; - case 19: std::get<1>(result) = "ARTIFACT_LOST"; break; - case 20: std::get<1>(result) = "ARTIFACT_FOUND"; break; - case 21: std::get<1>(result) = "ARTIFACT_RECOVERED"; break; - case 22: std::get<1>(result) = "ARTIFACT_DROPPED"; break; - case 23: std::get<1>(result) = "RECLAIM_SITE"; break; - case 24: std::get<1>(result) = "HF_DESTROYED_SITE"; break; - case 25: std::get<1>(result) = "SITE_DIED"; break; - case 26: std::get<1>(result) = "SITE_RETIRED"; break; - case 27: std::get<1>(result) = "ENTITY_CREATED"; break; - case 28: std::get<1>(result) = "ENTITY_ACTION"; break; - case 29: std::get<1>(result) = "ENTITY_INCORPORATED"; break; - case 30: std::get<1>(result) = "CREATED_BUILDING"; break; - case 31: std::get<1>(result) = "REPLACED_BUILDING"; break; - case 32: std::get<1>(result) = "ADD_HF_SITE_LINK"; break; - case 33: std::get<1>(result) = "REMOVE_HF_SITE_LINK"; break; - case 34: std::get<1>(result) = "ADD_HF_HF_LINK"; break; - case 35: std::get<1>(result) = "REMOVE_HF_HF_LINK"; break; - case 36: std::get<1>(result) = "ENTITY_RAZED_BUILDING"; break; - case 37: std::get<1>(result) = "MASTERPIECE_CREATED_ARCH_DESIGN"; break; - case 38: std::get<1>(result) = "MASTERPIECE_CREATED_ARCH_CONSTRUCT"; break; - case 39: std::get<1>(result) = "MASTERPIECE_CREATED_ITEM"; break; - case 40: std::get<1>(result) = "MASTERPIECE_CREATED_DYE_ITEM"; break; - case 41: std::get<1>(result) = "MASTERPIECE_CREATED_ITEM_IMPROVEMENT"; break; - case 42: std::get<1>(result) = "MASTERPIECE_CREATED_FOOD"; break; - case 43: std::get<1>(result) = "MASTERPIECE_CREATED_ENGRAVING"; break; - case 44: std::get<1>(result) = "MASTERPIECE_LOST"; break; - case 45: std::get<1>(result) = "CHANGE_HF_STATE"; break; - case 46: std::get<1>(result) = "CHANGE_HF_JOB"; break; - case 47: std::get<1>(result) = "WAR_FIELD_BATTLE"; break; - case 48: std::get<1>(result) = "WAR_PLUNDERED_SITE"; break; - case 49: std::get<1>(result) = "WAR_SITE_NEW_LEADER"; break; - case 50: std::get<1>(result) = "WAR_SITE_TRIBUTE_FORCED"; break; - case 51: std::get<1>(result) = "WAR_SITE_TAKEN_OVER"; break; - case 52: std::get<1>(result) = "BODY_ABUSED"; break; - case 53: std::get<1>(result) = "HIST_FIGURE_ABDUCTED"; break; - case 54: std::get<1>(result) = "ITEM_STOLEN"; break; - case 55: std::get<1>(result) = "HF_RAZED_BUILDING"; break; - case 56: std::get<1>(result) = "CREATURE_DEVOURED"; break; - case 57: std::get<1>(result) = "HIST_FIGURE_WOUNDED"; break; - case 58: std::get<1>(result) = "HIST_FIGURE_SIMPLE_BATTLE_EVENT"; break; - case 59: std::get<1>(result) = "CREATED_WORLD_CONSTRUCTION"; break; - case 60: std::get<1>(result) = "HIST_FIGURE_REUNION"; break; - case 61: std::get<1>(result) = "HIST_FIGURE_REACH_SUMMIT"; break; - case 62: std::get<1>(result) = "HIST_FIGURE_TRAVEL"; break; - case 63: std::get<1>(result) = "HIST_FIGURE_NEW_PET"; break; - case 64: std::get<1>(result) = "ASSUME_IDENTITY"; break; - case 65: std::get<1>(result) = "CREATE_ENTITY_POSITION"; break; - case 66: std::get<1>(result) = "CHANGE_CREATURE_TYPE"; break; - case 67: std::get<1>(result) = "HIST_FIGURE_REVIVED"; break; - case 68: std::get<1>(result) = "HF_LEARNS_SECRET"; break; - case 69: std::get<1>(result) = "CHANGE_HF_BODY_STATE"; break; - case 70: std::get<1>(result) = "HF_ACT_ON_BUILDING"; break; - case 71: std::get<1>(result) = "HF_DOES_INTERACTION"; break; - case 72: std::get<1>(result) = "HF_CONFRONTED"; break; - case 73: std::get<1>(result) = "ENTITY_LAW"; break; - case 74: std::get<1>(result) = "HF_GAINS_SECRET_GOAL"; break; - case 75: std::get<1>(result) = "ARTIFACT_STORED"; break; - case 76: std::get<1>(result) = "AGREEMENT_FORMED"; break; - case 77: std::get<1>(result) = "SITE_DISPUTE"; break; - case 78: std::get<1>(result) = "AGREEMENT_CONCLUDED"; break; - case 79: std::get<1>(result) = "INSURRECTION_STARTED"; break; - case 80: std::get<1>(result) = "INSURRECTION_ENDED"; break; - case 81: std::get<1>(result) = "HF_ATTACKED_SITE"; break; - case 82: std::get<1>(result) = "PERFORMANCE"; break; - case 83: std::get<1>(result) = "COMPETITION"; break; - case 84: std::get<1>(result) = "PROCESSION"; break; - case 85: std::get<1>(result) = "CEREMONY"; break; - case 86: std::get<1>(result) = "KNOWLEDGE_DISCOVERED"; break; - case 87: std::get<1>(result) = "ARTIFACT_TRANSFORMED"; break; - case 88: std::get<1>(result) = "ARTIFACT_DESTROYED"; break; - case 89: std::get<1>(result) = "HF_RELATIONSHIP_DENIED"; break; - case 90: std::get<1>(result) = "REGIONPOP_INCORPORATED_INTO_ENTITY"; break; - case 91: std::get<1>(result) = "POETIC_FORM_CREATED"; break; - case 92: std::get<1>(result) = "MUSICAL_FORM_CREATED"; break; - case 93: std::get<1>(result) = "DANCE_FORM_CREATED"; break; - case 94: std::get<1>(result) = "WRITTEN_CONTENT_COMPOSED"; break; - case 95: std::get<1>(result) = "CHANGE_HF_MOOD"; break; - case 96: std::get<1>(result) = "ARTIFACT_CLAIM_FORMED"; break; - case 97: std::get<1>(result) = "ARTIFACT_GIVEN"; break; - case 98: std::get<1>(result) = "HF_ACT_ON_ARTIFACT"; break; - case 99: std::get<1>(result) = "HF_RECRUITED_UNIT_TYPE_FOR_ENTITY"; break; - case 100: std::get<1>(result) = "HFS_FORMED_REPUTATION_RELATIONSHIP"; break; - case 101: std::get<1>(result) = "ARTIFACT_COPIED"; break; - case 102: std::get<1>(result) = "SNEAK_INTO_SITE"; break; - case 103: std::get<1>(result) = "SPOTTED_LEAVING_SITE"; break; - case 104: std::get<1>(result) = "ENTITY_SEARCHED_SITE"; break; - case 105: std::get<1>(result) = "HF_FREED"; break; - case 106: std::get<1>(result) = "HIST_FIGURE_SIMPLE_ACTION"; break; - case 107: std::get<1>(result) = "ENTITY_RAMPAGED_IN_SITE"; break; - case 108: std::get<1>(result) = "ENTITY_FLED_SITE"; break; - case 109: std::get<1>(result) = "TACTICAL_SITUATION"; break; - case 110: std::get<1>(result) = "SQUAD_VS_SQUAD"; break; - case 111: std::get<1>(result) = "SITE_SURRENDERED"; break; - case 112: std::get<1>(result) = "ENTITY_EXPELS_HF"; break; - default: break; - } - return result; -} - -std::tuple get_history_event_reason_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case -1: std::get<1>(result) = "none"; break; - case 0: std::get<1>(result) = "insurrection"; break; - case 1: std::get<1>(result) = "adventure"; break; - case 2: std::get<1>(result) = "guide"; break; - case 3: std::get<1>(result) = "rescued"; break; - case 4: std::get<1>(result) = "sphere_alignment"; break; - case 5: std::get<1>(result) = "maintain_balance_in_universe"; break; - case 6: std::get<1>(result) = "highlight_boundaries_between_worlds"; break; - case 7: std::get<1>(result) = "sow_the_seeds_of_chaos_in_the_world"; break; - case 8: std::get<1>(result) = "provide_opportunities_for_courage"; break; - case 9: std::get<1>(result) = "bring_death_to_the_world"; break; - case 10: std::get<1>(result) = "liked_appearance"; break; - case 11: std::get<1>(result) = "because_it_was_destined"; break; - case 12: std::get<1>(result) = "great_fortresses_built_and_tested"; break; - case 13: std::get<1>(result) = "whim"; break; - case 14: std::get<1>(result) = "bring_misery_to_the_world"; break; - case 15: std::get<1>(result) = "bring_murder_to_the_world"; break; - case 16: std::get<1>(result) = "bring_nightmares_into_reality"; break; - case 17: std::get<1>(result) = "bring_thralldom_to_the_world"; break; - case 18: std::get<1>(result) = "bring_torture_to_the_world"; break; - case 19: std::get<1>(result) = "provide_opportunities_for_acts_of_valor"; break; - case 20: std::get<1>(result) = "bring_war_to_the_world"; break; - case 21: std::get<1>(result) = "find_relative"; break; - case 22: std::get<1>(result) = "offer_condolences"; break; - case 23: std::get<1>(result) = "be_brought_to_safety"; break; - case 24: std::get<1>(result) = "help_with_rescue"; break; - case 25: std::get<1>(result) = "insufficient_work"; break; - case 26: std::get<1>(result) = "work_request"; break; - case 27: std::get<1>(result) = "make_weapon"; break; - case 28: std::get<1>(result) = "vent_at_boss"; break; - case 29: std::get<1>(result) = "cry_on_boss"; break; - case 30: std::get<1>(result) = "should_have_reached_goal"; break; - case 31: std::get<1>(result) = "insufficient_progress_toward_goal"; break; - case 32: std::get<1>(result) = "going_wrong_direction"; break; - case 33: std::get<1>(result) = "arrived_at_location"; break; - case 34: std::get<1>(result) = "entity_no_longer_rules"; break; - case 35: std::get<1>(result) = "left_site"; break; - case 36: std::get<1>(result) = "reunited_with_loved_one"; break; - case 37: std::get<1>(result) = "violent_disagreement"; break; - case 38: std::get<1>(result) = "adopted"; break; - case 39: std::get<1>(result) = "true_name_invocation"; break; - case 40: std::get<1>(result) = "arrived_at_person"; break; - case 41: std::get<1>(result) = "eradicate_beasts"; break; - case 42: std::get<1>(result) = "entertain_people"; break; - case 43: std::get<1>(result) = "make_a_living_as_a_warrior"; break; - case 44: std::get<1>(result) = "study"; break; - case 45: std::get<1>(result) = "flight"; break; - case 46: std::get<1>(result) = "scholarship"; break; - case 47: std::get<1>(result) = "be_with_master"; break; - case 48: std::get<1>(result) = "become_citizen"; break; - case 49: std::get<1>(result) = "prefers_working_alone"; break; - case 50: std::get<1>(result) = "jealousy"; break; - case 51: std::get<1>(result) = "glorify_hf"; break; - case 52: std::get<1>(result) = "have_not_performed"; break; - case 53: std::get<1>(result) = "prevented_from_leaving"; break; - case 54: std::get<1>(result) = "curiosity"; break; - case 55: std::get<1>(result) = "hire_on_as_mercenary"; break; - case 56: std::get<1>(result) = "hire_on_as_performer"; break; - case 57: std::get<1>(result) = "hire_on_as_scholar"; break; - case 58: std::get<1>(result) = "drink"; break; - case 59: std::get<1>(result) = "admire_architecture"; break; - case 60: std::get<1>(result) = "pray"; break; - case 61: std::get<1>(result) = "relax"; break; - case 62: std::get<1>(result) = "danger"; break; - case 63: std::get<1>(result) = "cannot_find_artifact"; break; - case 64: std::get<1>(result) = "failed_mood"; break; - case 65: std::get<1>(result) = "lack_of_sleep"; break; - case 66: std::get<1>(result) = "trapped_in_cage"; break; - case 67: std::get<1>(result) = "great_deal_of_stress"; break; - case 68: std::get<1>(result) = "unable_to_leave_location"; break; - case 69: std::get<1>(result) = "sanctify_hf"; break; - case 70: std::get<1>(result) = "artifact_is_heirloom_of_family_hfid"; break; - case 71: std::get<1>(result) = "cement_bonds_of_friendship"; break; - case 72: std::get<1>(result) = "as_a_symbol_of_everlasting_peace"; break; - case 73: std::get<1>(result) = "on_a_pilgrimage"; break; - case 74: std::get<1>(result) = "gather_information"; break; - case 75: std::get<1>(result) = "seek_sanctuary"; break; - case 76: std::get<1>(result) = "part_of_trade_negotiation"; break; - case 77: std::get<1>(result) = "artifact_is_symbol_of_entity_position"; break; - default: break; - } - return result; -} - -std::tuple get_death_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case -1: std::get<1>(result) = "NONE"; break; - case 0: std::get<1>(result) = "OLD_AGE"; break; - case 1: std::get<1>(result) = "HUNGER"; break; - case 2: std::get<1>(result) = "THIRST"; break; - case 3: std::get<1>(result) = "SHOT"; break; - case 4: std::get<1>(result) = "BLEED"; break; - case 5: std::get<1>(result) = "DROWN"; break; - case 6: std::get<1>(result) = "SUFFOCATE"; break; - case 7: std::get<1>(result) = "STRUCK_DOWN"; break; - case 8: std::get<1>(result) = "SCUTTLE"; std::get<2>(result) = "stuck wagons"; break; - case 9: std::get<1>(result) = "COLLISION"; break; - case 10: std::get<1>(result) = "MAGMA"; std::get<2>(result) = "does not happen anymore?"; break; - case 11: std::get<1>(result) = "MAGMA_MIST"; std::get<2>(result) = "does not happen anymore?"; break; - case 12: std::get<1>(result) = "DRAGONFIRE"; break; - case 13: std::get<1>(result) = "FIRE"; break; - case 14: std::get<1>(result) = "SCALD"; std::get<2>(result) = "does not happen anymore?"; break; - case 15: std::get<1>(result) = "CAVEIN"; break; - case 16: std::get<1>(result) = "DRAWBRIDGE"; break; - case 17: std::get<1>(result) = "FALLING_ROCKS"; std::get<2>(result) = "does not happen anymore?"; break; - case 18: std::get<1>(result) = "CHASM"; break; - case 19: std::get<1>(result) = "CAGE"; break; - case 20: std::get<1>(result) = "MURDER"; break; - case 21: std::get<1>(result) = "TRAP"; break; - case 22: std::get<1>(result) = "VANISH"; std::get<2>(result) = "bogeyman"; break; - case 23: std::get<1>(result) = "QUIT"; std::get<2>(result) = "Give in to starvation as adventurer"; break; - case 24: std::get<1>(result) = "ABANDON"; break; - case 25: std::get<1>(result) = "HEAT"; break; - case 26: std::get<1>(result) = "COLD"; break; - case 27: std::get<1>(result) = "SPIKE"; break; - case 28: std::get<1>(result) = "ENCASE_LAVA"; break; - case 29: std::get<1>(result) = "ENCASE_MAGMA"; break; - case 30: std::get<1>(result) = "ENCASE_ICE"; break; - case 31: std::get<1>(result) = "BEHEAD"; std::get<2>(result) = "execution during worldgen"; break; - case 32: std::get<1>(result) = "CRUCIFY"; std::get<2>(result) = "execution during worldgen"; break; - case 33: std::get<1>(result) = "BURY_ALIVE"; std::get<2>(result) = "execution during worldgen"; break; - case 34: std::get<1>(result) = "DROWN_ALT"; std::get<2>(result) = "execution during worldgen"; break; - case 35: std::get<1>(result) = "BURN_ALIVE"; std::get<2>(result) = "execution during worldgen"; break; - case 36: std::get<1>(result) = "FEED_TO_BEASTS"; std::get<2>(result) = "execution during worldgen"; break; - case 37: std::get<1>(result) = "HACK_TO_PIECES"; std::get<2>(result) = "execution during worldgen"; break; - case 38: std::get<1>(result) = "LEAVE_OUT_IN_AIR"; std::get<2>(result) = "execution during worldgen"; break; - case 39: std::get<1>(result) = "BOIL"; std::get<2>(result) = "material state change"; break; - case 40: std::get<1>(result) = "MELT"; std::get<2>(result) = "material state change"; break; - case 41: std::get<1>(result) = "CONDENSE"; std::get<2>(result) = "material state change"; break; - case 42: std::get<1>(result) = "SOLIDIFY"; std::get<2>(result) = "material state change"; break; - case 43: std::get<1>(result) = "INFECTION"; break; - case 44: std::get<1>(result) = "MEMORIALIZE"; std::get<2>(result) = "put to rest"; break; - case 45: std::get<1>(result) = "SCARE"; break; - case 46: std::get<1>(result) = "DARKNESS"; std::get<2>(result) = "died in the dark"; break; - case 47: std::get<1>(result) = "COLLAPSE"; std::get<2>(result) = "used in 0.31 for undead"; break; - case 48: std::get<1>(result) = "DRAIN_BLOOD"; break; - case 49: std::get<1>(result) = "SLAUGHTER"; break; - case 50: std::get<1>(result) = "VEHICLE"; break; - case 51: std::get<1>(result) = "FALLING_OBJECT"; break; - case 52: std::get<1>(result) = "LEAPT_FROM_HEIGHT"; break; - case 53: std::get<1>(result) = "DROWN_ALT2"; break; - default: break; - } - return result; -} - -std::tuple get_entity_action_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "entity_primary_criminals"; break; - case 1: std::get<1>(result) = "entity_relocate"; break; - default: break; - } - return result; -} - -std::tuple get_masterpiece_loss_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "MELT"; break; - case 1: std::get<1>(result) = "MAGMA"; break; - case 2: std::get<1>(result) = "FORTIFICATION"; break; - case 3: std::get<1>(result) = "MINING"; break; - case 4: std::get<1>(result) = "CAVEIN"; break; - case 5: std::get<1>(result) = "VEGETATION"; break; - default: break; - } - return result; -} - -std::tuple get_history_event_hist_figure_woundedst__T_injury_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Smash"; break; - case 1: std::get<1>(result) = "Slash"; break; - case 2: std::get<1>(result) = "Stab"; break; - case 3: std::get<1>(result) = "Rip"; break; - default: break; - } - return result; -} - -std::tuple get_history_event_simple_battle_subtype_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "SCUFFLE"; break; - case 1: std::get<1>(result) = "ATTACK"; break; - case 2: std::get<1>(result) = "SURPRISE"; break; - case 3: std::get<1>(result) = "AMBUSH"; break; - case 4: std::get<1>(result) = "HAPPEN_UPON"; break; - case 5: std::get<1>(result) = "CORNER"; break; - case 6: std::get<1>(result) = "CONFRONT"; break; - case 7: std::get<1>(result) = "LOSE_AFTER_RECEIVE_WOUND"; break; - case 8: std::get<1>(result) = "LOSE_AFTER_INFLICT_WOUND"; break; - case 9: std::get<1>(result) = "LOSE_AFTER_EXCHANGE_WOUND"; break; - default: break; - } - return result; -} - -std::tuple get_histfig_body_state_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Active"; break; - case 1: std::get<1>(result) = "BuriedAtSite"; break; - case 2: std::get<1>(result) = "UnburiedAtBattlefield"; break; - case 3: std::get<1>(result) = "UnburiedAtSubregion"; break; - case 4: std::get<1>(result) = "UnburiedAtFeatureLayer"; break; - case 5: std::get<1>(result) = "EntombedAtSite"; break; - case 6: std::get<1>(result) = "UnburiedAtSite"; break; - default: break; - } - return result; -} - -std::tuple get_history_event_hf_act_on_buildingst__T_action_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Profane"; break; - case 1: std::get<1>(result) = "Disturb"; break; - case 2: std::get<1>(result) = "PrayedInside"; break; - default: break; - } - return result; -} - -std::tuple get_site_dispute_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Territory"; break; - case 1: std::get<1>(result) = "WaterRights"; break; - case 2: std::get<1>(result) = "GrazingRights"; break; - case 3: std::get<1>(result) = "FishingRights"; break; - case 4: std::get<1>(result) = "RightsOfWay"; break; - case 5: std::get<1>(result) = "LivestockOwnership"; break; - default: break; - } - return result; -} - -std::tuple get_insurrection_outcome_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "LeadershipOverthrown"; break; - case 1: std::get<1>(result) = "PopulationGone"; break; - case 2: std::get<1>(result) = "Crushed"; break; - default: break; - } - return result; -} - -std::tuple get_history_event_hf_act_on_artifactst__T_action_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "View"; break; - case 1: std::get<1>(result) = "AskAbout"; break; - default: break; - } - return result; -} - -std::tuple get_tactical_situation_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "attacker_strongly_favored"; break; - case 1: std::get<1>(result) = "attacker_favored"; break; - case 2: std::get<1>(result) = "attacker_slightly_favored"; break; - case 3: std::get<1>(result) = "defender_strongly_favored"; break; - case 4: std::get<1>(result) = "defender_favored"; break; - case 5: std::get<1>(result) = "defender_slightly_favored"; break; - case 6: std::get<1>(result) = "neither_favored"; break; - default: break; - } - return result; -} - -std::tuple get_history_event_collection_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "WAR"; break; - case 1: std::get<1>(result) = "BATTLE"; break; - case 2: std::get<1>(result) = "DUEL"; break; - case 3: std::get<1>(result) = "SITE_CONQUERED"; break; - case 4: std::get<1>(result) = "ABDUCTION"; break; - case 5: std::get<1>(result) = "THEFT"; break; - case 6: std::get<1>(result) = "BEAST_ATTACK"; break; - case 7: std::get<1>(result) = "JOURNEY"; break; - case 8: std::get<1>(result) = "INSURRECTION"; break; - case 9: std::get<1>(result) = "OCCASION"; break; - case 10: std::get<1>(result) = "PERFORMANCE"; break; - case 11: std::get<1>(result) = "COMPETITION"; break; - case 12: std::get<1>(result) = "PROCESSION"; break; - case 13: std::get<1>(result) = "CEREMONY"; break; - case 14: std::get<1>(result) = "PURGE"; break; - case 15: std::get<1>(result) = "RAID"; break; - default: break; - } - return result; -} - -std::tuple get_era_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "ThreePowers"; break; - case 1: std::get<1>(result) = "TwoPowers"; break; - case 2: std::get<1>(result) = "OnePower"; break; - case 3: std::get<1>(result) = "Myth"; break; - case 4: std::get<1>(result) = "Legends"; break; - case 5: std::get<1>(result) = "Twilight"; break; - case 6: std::get<1>(result) = "FairyTales"; break; - case 7: std::get<1>(result) = "Race"; break; - case 8: std::get<1>(result) = "Heroes"; break; - case 9: std::get<1>(result) = "Golden"; break; - case 10: std::get<1>(result) = "Death"; break; - case 11: std::get<1>(result) = "Civilization"; break; - case 12: std::get<1>(result) = "Emptiness"; break; - default: break; - } - return result; -} - -std::tuple get_init_display_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "USE_GRAPHICS"; break; - case 1: std::get<1>(result) = "BLACK_SPACE"; break; - case 2: std::get<1>(result) = "PARTIAL_PRINT"; break; - case 3: std::get<1>(result) = "FRAME_BUFFER"; break; - case 4: std::get<1>(result) = "SINGLE_BUFFER"; break; - case 5: std::get<1>(result) = "ACCUM_BUFFER"; break; - case 6: std::get<1>(result) = "VBO"; break; - case 7: std::get<1>(result) = "RENDER_2D"; break; - case 8: std::get<1>(result) = "RENDER_2DHW"; break; - case 9: std::get<1>(result) = "RENDER_2DASYNC"; break; - case 10: std::get<1>(result) = "UNUSED_01_08"; break; - case 11: std::get<1>(result) = "TEXT"; break; - case 12: std::get<1>(result) = "SHADER"; break; - case 13: std::get<1>(result) = "NOT_RESIZABLE"; break; - case 14: std::get<1>(result) = "ARB_SYNC"; break; - default: break; - } - return result; -} - -std::tuple get_init_media_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "SOUND_OFF"; break; - case 1: std::get<1>(result) = "INTRO_OFF"; break; - case 2: std::get<1>(result) = "COMPRESS_SAVES"; break; - default: break; - } - return result; -} - -std::tuple get_init_input_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "MOUSE_OFF"; break; - case 1: std::get<1>(result) = "MOUSE_PICTURE"; break; - default: break; - } - return result; -} - -std::tuple get_init_window_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "TOPMOST"; break; - case 1: std::get<1>(result) = "VSYNC_ON"; break; - case 2: std::get<1>(result) = "VSYNC_OFF"; break; - case 3: std::get<1>(result) = "TEXTURE_LINEAR"; break; - default: break; - } - return result; -} - -std::tuple get_interaction_effect_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "ANIMATE"; break; - case 1: std::get<1>(result) = "ADD_SYNDROME"; break; - case 2: std::get<1>(result) = "RESURRECT"; break; - case 3: std::get<1>(result) = "CLEAN"; break; - case 4: std::get<1>(result) = "CONTACT"; break; - case 5: std::get<1>(result) = "MATERIAL_EMISSION"; break; - case 6: std::get<1>(result) = "HIDE"; break; - default: break; - } - return result; -} - -std::tuple get_interaction_effect_location_hint_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "IN_WATER"; break; - case 1: std::get<1>(result) = "IN_MAGMA"; break; - case 2: std::get<1>(result) = "NO_WATER"; break; - case 3: std::get<1>(result) = "NO_MAGMA"; break; - default: break; - } - return result; -} - -std::tuple get_interaction_source_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "REGION"; break; - case 1: std::get<1>(result) = "SECRET"; break; - case 2: std::get<1>(result) = "DISTURBANCE"; break; - case 3: std::get<1>(result) = "DEITY"; break; - case 4: std::get<1>(result) = "ATTACK"; break; - case 5: std::get<1>(result) = "INGESTION"; break; - case 6: std::get<1>(result) = "CREATURE_ACTION"; break; - case 7: std::get<1>(result) = "UNDERGROUND_SPECIAL"; break; - default: break; - } - return result; -} - -std::tuple get_interaction_source_usage_hint_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "MAJOR_CURSE"; break; - case 1: std::get<1>(result) = "GREETING"; break; - case 2: std::get<1>(result) = "CLEAN_SELF"; break; - case 3: std::get<1>(result) = "CLEAN_FRIEND"; break; - case 4: std::get<1>(result) = "ATTACK"; break; - case 5: std::get<1>(result) = "FLEEING"; break; - case 6: std::get<1>(result) = "NEGATIVE_SOCIAL_RESPONSE"; break; - case 7: std::get<1>(result) = "TORMENT"; break; - default: break; - } - return result; -} - -std::tuple get_interaction_target_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "CORPSE"; break; - case 1: std::get<1>(result) = "CREATURE"; break; - case 2: std::get<1>(result) = "MATERIAL"; break; - case 3: std::get<1>(result) = "LOCATION"; break; - default: break; - } - return result; -} - -std::tuple get_interaction_target_location_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case -1: std::get<1>(result) = "CONTEXT_NONE"; break; - case 0: std::get<1>(result) = "CONTEXT_REGION"; break; - case 1: std::get<1>(result) = "CONTEXT_CREATURE"; break; - case 2: std::get<1>(result) = "CONTEXT_ITEM"; break; - case 3: std::get<1>(result) = "CONTEXT_BP"; break; - case 4: std::get<1>(result) = "CONTEXT_LOCATION"; break; - case 5: std::get<1>(result) = "CONTEXT_CREATURE_OR_LOCATION"; break; - default: break; - } - return result; -} - -std::tuple get_breath_attack_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "TRAILING_DUST_FLOW"; break; - case 1: std::get<1>(result) = "TRAILING_VAPOR_FLOW"; break; - case 2: std::get<1>(result) = "TRAILING_GAS_FLOW"; break; - case 3: std::get<1>(result) = "SOLID_GLOB"; break; - case 4: std::get<1>(result) = "LIQUID_GLOB"; break; - case 5: std::get<1>(result) = "UNDIRECTED_GAS"; break; - case 6: std::get<1>(result) = "UNDIRECTED_VAPOR"; break; - case 7: std::get<1>(result) = "UNDIRECTED_DUST"; break; - case 8: std::get<1>(result) = "WEB_SPRAY"; break; - case 9: std::get<1>(result) = "DRAGONFIRE"; break; - case 10: std::get<1>(result) = "FIREJET"; break; - case 11: std::get<1>(result) = "FIREBALL"; break; - case 12: std::get<1>(result) = "WEATHER_CREEPING_GAS"; break; - case 13: std::get<1>(result) = "WEATHER_CREEPING_VAPOR"; break; - case 14: std::get<1>(result) = "WEATHER_CREEPING_DUST"; break; - case 15: std::get<1>(result) = "WEATHER_FALLING_MATERIAL"; break; - case 16: std::get<1>(result) = "SPATTER_POWDER"; break; - case 17: std::get<1>(result) = "SPATTER_LIQUID"; break; - case 18: std::get<1>(result) = "UNDIRECTED_ITEM_CLOUD"; break; - case 19: std::get<1>(result) = "TRAILING_ITEM_FLOW"; break; - case 20: std::get<1>(result) = "OTHER"; break; - default: break; - } - return result; -} - -std::tuple get_item_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case -1: std::get<1>(result) = "NONE"; break; - case 0: std::get<1>(result) = "BAR"; std::get<2>(result) = "Bars, such as metal, fuel, or soap."; break; - case 1: std::get<1>(result) = "SMALLGEM"; std::get<2>(result) = "Cut gemstones usable in jewelers workshop"; break; - case 2: std::get<1>(result) = "BLOCKS"; std::get<2>(result) = "Blocks of any kind."; break; - case 3: std::get<1>(result) = "ROUGH"; std::get<2>(result) = "Rough gemstones."; break; - case 4: std::get<1>(result) = "BOULDER"; std::get<2>(result) = "Raw mined stone."; break; - case 5: std::get<1>(result) = "WOOD"; std::get<2>(result) = "Wooden logs."; break; - case 6: std::get<1>(result) = "DOOR"; std::get<2>(result) = "Doors."; break; - case 7: std::get<1>(result) = "FLOODGATE"; std::get<2>(result) = "Floodgates."; break; - case 8: std::get<1>(result) = "BED"; std::get<2>(result) = "Beds."; break; - case 9: std::get<1>(result) = "CHAIR"; std::get<2>(result) = "Chairs and thrones."; break; - case 10: std::get<1>(result) = "CHAIN"; std::get<2>(result) = "Restraints."; break; - case 11: std::get<1>(result) = "FLASK"; std::get<2>(result) = "Flasks."; break; - case 12: std::get<1>(result) = "GOBLET"; std::get<2>(result) = "Goblets."; break; - case 13: std::get<1>(result) = "INSTRUMENT"; std::get<2>(result) = "Musical instruments."; break; - case 14: std::get<1>(result) = "TOY"; std::get<2>(result) = "Toys."; break; - case 15: std::get<1>(result) = "WINDOW"; std::get<2>(result) = "Glass windows."; break; - case 16: std::get<1>(result) = "CAGE"; std::get<2>(result) = "Cages."; break; - case 17: std::get<1>(result) = "BARREL"; std::get<2>(result) = "Barrels."; break; - case 18: std::get<1>(result) = "BUCKET"; std::get<2>(result) = "Buckets."; break; - case 19: std::get<1>(result) = "ANIMALTRAP"; std::get<2>(result) = "Animal traps."; break; - case 20: std::get<1>(result) = "TABLE"; std::get<2>(result) = "Tables."; break; - case 21: std::get<1>(result) = "COFFIN"; std::get<2>(result) = "Coffins."; break; - case 22: std::get<1>(result) = "STATUE"; std::get<2>(result) = "Statues."; break; - case 23: std::get<1>(result) = "CORPSE"; std::get<2>(result) = "Corpses. Does not have a material."; break; - case 24: std::get<1>(result) = "WEAPON"; std::get<2>(result) = "Weapons."; break; - case 25: std::get<1>(result) = "ARMOR"; std::get<2>(result) = "Armor and clothing worn on the upper body."; break; - case 26: std::get<1>(result) = "SHOES"; std::get<2>(result) = "Armor and clothing worn on the feet."; break; - case 27: std::get<1>(result) = "SHIELD"; std::get<2>(result) = "Shields and bucklers."; break; - case 28: std::get<1>(result) = "HELM"; std::get<2>(result) = "Armor and clothing worn on the head."; break; - case 29: std::get<1>(result) = "GLOVES"; std::get<2>(result) = "Armor and clothing worn on the hands."; break; - case 30: std::get<1>(result) = "BOX"; std::get<2>(result) = "Chests (wood), coffers (stone), boxes (glass), and bags (cloth or leather)."; break; - case 31: std::get<1>(result) = "BIN"; std::get<2>(result) = "Bins."; break; - case 32: std::get<1>(result) = "ARMORSTAND"; std::get<2>(result) = "Armor stands."; break; - case 33: std::get<1>(result) = "WEAPONRACK"; std::get<2>(result) = "Weapon racks."; break; - case 34: std::get<1>(result) = "CABINET"; std::get<2>(result) = "Cabinets."; break; - case 35: std::get<1>(result) = "FIGURINE"; std::get<2>(result) = "Figurines."; break; - case 36: std::get<1>(result) = "AMULET"; std::get<2>(result) = "Amulets."; break; - case 37: std::get<1>(result) = "SCEPTER"; std::get<2>(result) = "Scepters."; break; - case 38: std::get<1>(result) = "AMMO"; std::get<2>(result) = "Ammunition for hand-held weapons."; break; - case 39: std::get<1>(result) = "CROWN"; std::get<2>(result) = "Crowns."; break; - case 40: std::get<1>(result) = "RING"; std::get<2>(result) = "Rings."; break; - case 41: std::get<1>(result) = "EARRING"; std::get<2>(result) = "Earrings."; break; - case 42: std::get<1>(result) = "BRACELET"; std::get<2>(result) = "Bracelets."; break; - case 43: std::get<1>(result) = "GEM"; std::get<2>(result) = "Large gems."; break; - case 44: std::get<1>(result) = "ANVIL"; std::get<2>(result) = "Anvils."; break; - case 45: std::get<1>(result) = "CORPSEPIECE"; std::get<2>(result) = "Body parts. Does not have a material."; break; - case 46: std::get<1>(result) = "REMAINS"; std::get<2>(result) = "Dead vermin bodies. Material is CREATURE_ID:CASTE."; break; - case 47: std::get<1>(result) = "MEAT"; std::get<2>(result) = "Butchered meat."; break; - case 48: std::get<1>(result) = "FISH"; std::get<2>(result) = "Prepared fish. Material is CREATURE_ID:CASTE."; break; - case 49: std::get<1>(result) = "FISH_RAW"; std::get<2>(result) = "Unprepared fish. Material is CREATURE_ID:CASTE."; break; - case 50: std::get<1>(result) = "VERMIN"; std::get<2>(result) = "Live vermin. Material is CREATURE_ID:CASTE."; break; - case 51: std::get<1>(result) = "PET"; std::get<2>(result) = "Tame vermin. Material is CREATURE_ID:CASTE."; break; - case 52: std::get<1>(result) = "SEEDS"; std::get<2>(result) = "Seeds from plants."; break; - case 53: std::get<1>(result) = "PLANT"; std::get<2>(result) = "Plants."; break; - case 54: std::get<1>(result) = "SKIN_TANNED"; std::get<2>(result) = "Tanned skins."; break; - case 55: std::get<1>(result) = "PLANT_GROWTH"; std::get<2>(result) = "Assorted plant growths, including leaves and berries"; break; - case 56: std::get<1>(result) = "THREAD"; std::get<2>(result) = "Thread gathered from webs or made at the farmers workshop."; break; - case 57: std::get<1>(result) = "CLOTH"; std::get<2>(result) = "Cloth made at the loom."; break; - case 58: std::get<1>(result) = "TOTEM"; std::get<2>(result) = "Skull totems."; break; - case 59: std::get<1>(result) = "PANTS"; std::get<2>(result) = "Armor and clothing worn on the legs."; break; - case 60: std::get<1>(result) = "BACKPACK"; std::get<2>(result) = "Backpacks."; break; - case 61: std::get<1>(result) = "QUIVER"; std::get<2>(result) = "Quivers."; break; - case 62: std::get<1>(result) = "CATAPULTPARTS"; std::get<2>(result) = "Catapult parts."; break; - case 63: std::get<1>(result) = "BALLISTAPARTS"; std::get<2>(result) = "Ballista parts."; break; - case 64: std::get<1>(result) = "SIEGEAMMO"; std::get<2>(result) = "Siege engine ammunition."; break; - case 65: std::get<1>(result) = "BALLISTAARROWHEAD"; std::get<2>(result) = "Ballista arrow heads."; break; - case 66: std::get<1>(result) = "TRAPPARTS"; std::get<2>(result) = "Mechanisms."; break; - case 67: std::get<1>(result) = "TRAPCOMP"; std::get<2>(result) = "Trap components."; break; - case 68: std::get<1>(result) = "DRINK"; std::get<2>(result) = "Alcoholic drinks."; break; - case 69: std::get<1>(result) = "POWDER_MISC"; std::get<2>(result) = "Powders such as flour, gypsum plaster, dye, or sand."; break; - case 70: std::get<1>(result) = "CHEESE"; std::get<2>(result) = "Pieces of cheese."; break; - case 71: std::get<1>(result) = "FOOD"; std::get<2>(result) = "Prepared meals. Subtypes come from item_food.txt"; break; - case 72: std::get<1>(result) = "LIQUID_MISC"; std::get<2>(result) = "Liquids such as water, lye, and extracts."; break; - case 73: std::get<1>(result) = "COIN"; std::get<2>(result) = "Coins."; break; - case 74: std::get<1>(result) = "GLOB"; std::get<2>(result) = "Fat, tallow, pastes/pressed objects, and small bits of molten rock/metal."; break; - case 75: std::get<1>(result) = "ROCK"; std::get<2>(result) = "Small rocks (usually sharpened and/or thrown in adventurer mode)"; break; - case 76: std::get<1>(result) = "PIPE_SECTION"; std::get<2>(result) = "Pipe sections."; break; - case 77: std::get<1>(result) = "HATCH_COVER"; std::get<2>(result) = "Hatch covers."; break; - case 78: std::get<1>(result) = "GRATE"; std::get<2>(result) = "Grates."; break; - case 79: std::get<1>(result) = "QUERN"; std::get<2>(result) = "Querns."; break; - case 80: std::get<1>(result) = "MILLSTONE"; std::get<2>(result) = "Millstones."; break; - case 81: std::get<1>(result) = "SPLINT"; std::get<2>(result) = "Splints."; break; - case 82: std::get<1>(result) = "CRUTCH"; std::get<2>(result) = "Crutches."; break; - case 83: std::get<1>(result) = "TRACTION_BENCH"; std::get<2>(result) = "Traction benches."; break; - case 84: std::get<1>(result) = "ORTHOPEDIC_CAST"; std::get<2>(result) = "Casts"; break; - case 85: std::get<1>(result) = "TOOL"; std::get<2>(result) = "Tools."; break; - case 86: std::get<1>(result) = "SLAB"; std::get<2>(result) = "Slabs."; break; - case 87: std::get<1>(result) = "EGG"; std::get<2>(result) = "Eggs. Material is CREATURE_ID:CASTE."; break; - case 88: std::get<1>(result) = "BOOK"; std::get<2>(result) = "Books."; break; - case 89: std::get<1>(result) = "SHEET"; std::get<2>(result) = "Sheets of paper"; break; - case 90: std::get<1>(result) = "BRANCH"; std::get<2>(result) = "Tree branches"; break; - default: break; - } - return result; -} - -std::tuple get_ammo_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "HAS_EDGE_ATTACK"; break; - default: break; - } - return result; -} - -std::tuple get_armor_general_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "SOFT"; break; - case 1: std::get<1>(result) = "HARD"; break; - case 2: std::get<1>(result) = "METAL"; break; - case 3: std::get<1>(result) = "BARRED"; break; - case 4: std::get<1>(result) = "SCALED"; break; - case 5: std::get<1>(result) = "LEATHER"; break; - case 6: std::get<1>(result) = "SHAPED"; break; - case 7: std::get<1>(result) = "CHAIN_METAL_TEXT"; break; - case 8: std::get<1>(result) = "STRUCTURAL_ELASTICITY_WOVEN_THREAD"; break; - case 9: std::get<1>(result) = "STRUCTURAL_ELASTICITY_CHAIN_METAL"; break; - case 10: std::get<1>(result) = "STRUCTURAL_ELASTICITY_CHAIN_ALL"; break; - default: break; - } - return result; -} - -std::tuple get_armor_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "METAL_ARMOR_LEVELS"; break; - default: break; - } - return result; -} - -std::tuple get_gloves_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "METAL_ARMOR_LEVELS"; break; - default: break; - } - return result; -} - -std::tuple get_helm_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "METAL_ARMOR_LEVELS"; break; - default: break; - } - return result; -} - -std::tuple get_instrument_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "INDEFINITE_PITCH"; break; - case 1: std::get<1>(result) = "PLACED_AS_BUILDING"; break; - case 2: std::get<1>(result) = "METAL_MAT"; break; - case 3: std::get<1>(result) = "STONE_MAT"; break; - case 4: std::get<1>(result) = "WOOD_MAT"; break; - case 5: std::get<1>(result) = "GLASS_MAT"; break; - case 6: std::get<1>(result) = "CERAMIC_MAT"; break; - case 7: std::get<1>(result) = "SHELL_MAT"; break; - case 8: std::get<1>(result) = "BONE_MAT"; break; - default: break; - } - return result; -} - -std::tuple get_sound_production_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "PLUCKED_BY_BP"; break; - case 1: std::get<1>(result) = "PLUCKED"; break; - case 2: std::get<1>(result) = "BOWED"; break; - case 3: std::get<1>(result) = "STRUCK_BY_BP"; break; - case 4: std::get<1>(result) = "STRUCK"; break; - case 5: std::get<1>(result) = "VIBRATE_BP_AGAINST_OPENING"; break; - case 6: std::get<1>(result) = "BLOW_AGAINST_FIPPLE"; break; - case 7: std::get<1>(result) = "BLOW_OVER_OPENING_SIDE"; break; - case 8: std::get<1>(result) = "BLOW_OVER_OPENING_END"; break; - case 9: std::get<1>(result) = "BLOW_OVER_SINGLE_REED"; break; - case 10: std::get<1>(result) = "BLOW_OVER_DOUBLE_REED"; break; - case 11: std::get<1>(result) = "BLOW_OVER_FREE_REED"; break; - case 12: std::get<1>(result) = "STRUCK_TOGETHER"; break; - case 13: std::get<1>(result) = "SHAKEN"; break; - case 14: std::get<1>(result) = "SCRAPED"; break; - case 15: std::get<1>(result) = "FRICTION"; break; - case 16: std::get<1>(result) = "RESONATOR"; break; - case 17: std::get<1>(result) = "BAG_OVER_REED"; break; - case 18: std::get<1>(result) = "AIR_OVER_REED"; break; - case 19: std::get<1>(result) = "AIR_OVER_FREE_REED"; break; - case 20: std::get<1>(result) = "AIR_AGAINST_FIPPLE"; break; - default: break; - } - return result; -} - -std::tuple get_pitch_choice_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "MEMBRANE_POSITION"; break; - case 1: std::get<1>(result) = "SUBPART_CHOICE"; break; - case 2: std::get<1>(result) = "KEYBOARD"; break; - case 3: std::get<1>(result) = "STOPPING_FRET"; break; - case 4: std::get<1>(result) = "STOPPING_AGAINST_BODY"; break; - case 5: std::get<1>(result) = "STOPPING_HOLE"; break; - case 6: std::get<1>(result) = "STOPPING_HOLE_KEY"; break; - case 7: std::get<1>(result) = "SLIDE"; break; - case 8: std::get<1>(result) = "HARMONIC_SERIES"; break; - case 9: std::get<1>(result) = "VALVE_ROUTES_AIR"; break; - case 10: std::get<1>(result) = "BP_IN_BELL"; break; - case 11: std::get<1>(result) = "FOOT_PEDALS"; break; - default: break; - } - return result; -} - -std::tuple get_tuning_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "PEGS"; break; - case 1: std::get<1>(result) = "ADJUSTABLE_BRIDGES"; break; - case 2: std::get<1>(result) = "CROOKS"; break; - case 3: std::get<1>(result) = "TIGHTENING"; break; - case 4: std::get<1>(result) = "LEVERS"; break; - default: break; - } - return result; -} - -std::tuple get_timbre_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "CLEAR"; break; - case 1: std::get<1>(result) = "NOISY"; break; - case 2: std::get<1>(result) = "FULL"; break; - case 3: std::get<1>(result) = "THIN"; break; - case 4: std::get<1>(result) = "ROUND"; break; - case 5: std::get<1>(result) = "SHARP"; break; - case 6: std::get<1>(result) = "SMOOTH"; break; - case 7: std::get<1>(result) = "CHOPPY"; break; - case 8: std::get<1>(result) = "STEADY"; break; - case 9: std::get<1>(result) = "EVOLVING"; break; - case 10: std::get<1>(result) = "STRONG"; break; - case 11: std::get<1>(result) = "DELICATE"; break; - case 12: std::get<1>(result) = "BRIGHT"; break; - case 13: std::get<1>(result) = "GRACEFUL"; break; - case 14: std::get<1>(result) = "SPARSE"; break; - case 15: std::get<1>(result) = "BREATHY"; break; - case 16: std::get<1>(result) = "STRAINED"; break; - case 17: std::get<1>(result) = "BROAD"; break; - case 18: std::get<1>(result) = "LIGHT"; break; - case 19: std::get<1>(result) = "MELLOW"; break; - case 20: std::get<1>(result) = "WOBBLING"; break; - case 21: std::get<1>(result) = "FOCUSED"; break; - case 22: std::get<1>(result) = "EVEN"; break; - case 23: std::get<1>(result) = "FLUID"; break; - case 24: std::get<1>(result) = "VIBRATING"; break; - case 25: std::get<1>(result) = "QUAVERING"; break; - case 26: std::get<1>(result) = "EERIE"; break; - case 27: std::get<1>(result) = "FRAGILE"; break; - case 28: std::get<1>(result) = "BRITTLE"; break; - case 29: std::get<1>(result) = "PURE_"; break; - case 30: std::get<1>(result) = "PIERCING"; break; - case 31: std::get<1>(result) = "STRIDENT"; break; - case 32: std::get<1>(result) = "WAVERING"; break; - case 33: std::get<1>(result) = "HARSH"; break; - case 34: std::get<1>(result) = "REEDY"; break; - case 35: std::get<1>(result) = "NASAL"; break; - case 36: std::get<1>(result) = "BUZZY"; break; - case 37: std::get<1>(result) = "ROUGH"; break; - case 38: std::get<1>(result) = "WARM"; break; - case 39: std::get<1>(result) = "RUGGED"; break; - case 40: std::get<1>(result) = "HEAVY"; break; - case 41: std::get<1>(result) = "FLAT"; break; - case 42: std::get<1>(result) = "DARK"; break; - case 43: std::get<1>(result) = "CRISP"; break; - case 44: std::get<1>(result) = "SONOROUS"; break; - case 45: std::get<1>(result) = "WATERY"; break; - case 46: std::get<1>(result) = "GENTLE"; break; - case 47: std::get<1>(result) = "SLICING"; break; - case 48: std::get<1>(result) = "LIQUID"; break; - case 49: std::get<1>(result) = "RAUCOUS"; break; - case 50: std::get<1>(result) = "BREEZY"; break; - case 51: std::get<1>(result) = "RASPY"; break; - case 52: std::get<1>(result) = "WISPY"; break; - case 53: std::get<1>(result) = "SHRILL"; break; - case 54: std::get<1>(result) = "MUDDY"; break; - case 55: std::get<1>(result) = "RICH"; break; - case 56: std::get<1>(result) = "DULL"; break; - case 57: std::get<1>(result) = "FLOATING"; break; - case 58: std::get<1>(result) = "RINGING"; break; - case 59: std::get<1>(result) = "RESONANT"; break; - case 60: std::get<1>(result) = "SWEET"; break; - case 61: std::get<1>(result) = "RIPPLING"; break; - case 62: std::get<1>(result) = "SPARKLING"; break; - default: break; - } - return result; -} - -std::tuple get_pants_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "METAL_ARMOR_LEVELS"; break; - default: break; - } - return result; -} - -std::tuple get_shoes_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "METAL_ARMOR_LEVELS"; break; - default: break; - } - return result; -} - -std::tuple get_tool_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "HARD_MAT"; break; - case 1: std::get<1>(result) = "METAL_MAT"; break; - case 2: std::get<1>(result) = "HAS_EDGE_ATTACK"; break; - case 3: std::get<1>(result) = "METAL_WEAPON_MAT"; break; - case 4: std::get<1>(result) = "UNIMPROVABLE"; break; - case 5: std::get<1>(result) = "SOFT_MAT"; break; - case 6: std::get<1>(result) = "WOOD_MAT"; break; - case 7: std::get<1>(result) = "INVERTED_TILE"; break; - case 8: std::get<1>(result) = "FURNITURE"; break; - case 9: std::get<1>(result) = "LEATHER_MAT"; break; - case 10: std::get<1>(result) = "SILK_MAT"; break; - case 11: std::get<1>(result) = "THREAD_PLANT_MAT"; break; - case 12: std::get<1>(result) = "GLASS_MAT"; break; - case 13: std::get<1>(result) = "CERAMIC_MAT"; break; - case 14: std::get<1>(result) = "STONE_MAT"; break; - case 15: std::get<1>(result) = "SHELL_MAT"; break; - case 16: std::get<1>(result) = "BONE_MAT"; break; - case 17: std::get<1>(result) = "NO_DEFAULT_JOB"; break; - case 18: std::get<1>(result) = "INCOMPLETE_ITEM"; break; - case 19: std::get<1>(result) = "SHEET_MAT"; break; - default: break; - } - return result; -} - -std::tuple get_tool_uses_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case -1: std::get<1>(result) = "NONE"; break; - case 0: std::get<1>(result) = "LIQUID_COOKING"; break; - case 1: std::get<1>(result) = "LIQUID_SCOOP"; break; - case 2: std::get<1>(result) = "GRIND_POWDER_RECEPTACLE"; break; - case 3: std::get<1>(result) = "GRIND_POWDER_GRINDER"; break; - case 4: std::get<1>(result) = "MEAT_CARVING"; break; - case 5: std::get<1>(result) = "MEAT_BONING"; break; - case 6: std::get<1>(result) = "MEAT_SLICING"; break; - case 7: std::get<1>(result) = "MEAT_CLEAVING"; break; - case 8: std::get<1>(result) = "HOLD_MEAT_FOR_CARVING"; break; - case 9: std::get<1>(result) = "MEAL_CONTAINER"; break; - case 10: std::get<1>(result) = "LIQUID_CONTAINER"; break; - case 11: std::get<1>(result) = "FOOD_STORAGE"; break; - case 12: std::get<1>(result) = "HIVE"; break; - case 13: std::get<1>(result) = "NEST_BOX"; break; - case 14: std::get<1>(result) = "SMALL_OBJECT_STORAGE"; break; - case 15: std::get<1>(result) = "TRACK_CART"; break; - case 16: std::get<1>(result) = "HEAVY_OBJECT_HAULING"; break; - case 17: std::get<1>(result) = "STAND_AND_WORK_ABOVE"; break; - case 18: std::get<1>(result) = "ROLL_UP_SHEET"; break; - case 19: std::get<1>(result) = "PROTECT_FOLDED_SHEETS"; break; - case 20: std::get<1>(result) = "CONTAIN_WRITING"; break; - case 21: std::get<1>(result) = "BOOKCASE"; break; - case 22: std::get<1>(result) = "DISPLAY_OBJECT"; break; - default: break; - } - return result; -} - -std::tuple get_toy_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "HARD_MAT"; break; - default: break; - } - return result; -} - -std::tuple get_trapcomp_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "IS_SCREW"; break; - case 1: std::get<1>(result) = "IS_SPIKE"; break; - case 2: std::get<1>(result) = "WOOD"; break; - case 3: std::get<1>(result) = "METAL"; break; - case 4: std::get<1>(result) = "HAS_EDGE_ATTACK"; break; - default: break; - } - return result; -} - -std::tuple get_weapon_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "CAN_STONE"; break; - case 1: std::get<1>(result) = "HAS_EDGE_ATTACK"; break; - case 2: std::get<1>(result) = "TRAINING"; break; - default: break; - } - return result; -} - -std::tuple get_items_other_id_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case -1: std::get<1>(result) = "ANY"; break; - case 0: std::get<1>(result) = "IN_PLAY"; std::get<2>(result) = "actually on the map, as opposed to in an offloaded fortress elsewhere"; break; - case 1: std::get<1>(result) = "ANY_ARTIFACT"; break; - case 2: std::get<1>(result) = "WEAPON"; break; - case 3: std::get<1>(result) = "ANY_WEAPON"; break; - case 4: std::get<1>(result) = "ANY_SPIKE"; break; - case 5: std::get<1>(result) = "ANY_TRUE_ARMOR"; break; - case 6: std::get<1>(result) = "ANY_ARMOR_HELM"; break; - case 7: std::get<1>(result) = "ANY_ARMOR_SHOES"; break; - case 8: std::get<1>(result) = "SHIELD"; break; - case 9: std::get<1>(result) = "ANY_ARMOR_GLOVES"; break; - case 10: std::get<1>(result) = "ANY_ARMOR_PANTS"; break; - case 11: std::get<1>(result) = "QUIVER"; break; - case 12: std::get<1>(result) = "SPLINT"; break; - case 13: std::get<1>(result) = "ORTHOPEDIC_CAST"; break; - case 14: std::get<1>(result) = "CRUTCH"; break; - case 15: std::get<1>(result) = "BACKPACK"; break; - case 16: std::get<1>(result) = "AMMO"; break; - case 17: std::get<1>(result) = "WOOD"; break; - case 18: std::get<1>(result) = "BRANCH"; break; - case 19: std::get<1>(result) = "BOULDER"; break; - case 20: std::get<1>(result) = "ROCK"; break; - case 21: std::get<1>(result) = "ANY_REFUSE"; break; - case 22: std::get<1>(result) = "ANY_GOOD_FOOD"; break; - case 23: std::get<1>(result) = "ANY_AUTO_CLEAN"; break; - case 24: std::get<1>(result) = "ANY_GENERIC24"; break; - case 25: std::get<1>(result) = "ANY_GENERIC25"; break; - case 26: std::get<1>(result) = "ANY_FURNITURE"; break; - case 27: std::get<1>(result) = "ANY_CAGE_OR_TRAP"; break; - case 28: std::get<1>(result) = "ANY_EDIBLE_RAW"; break; - case 29: std::get<1>(result) = "ANY_EDIBLE_CARNIVORE"; break; - case 30: std::get<1>(result) = "ANY_EDIBLE_BONECARN"; break; - case 31: std::get<1>(result) = "ANY_EDIBLE_VERMIN"; break; - case 32: std::get<1>(result) = "ANY_EDIBLE_VERMIN_BOX"; break; - case 33: std::get<1>(result) = "ANY_CAN_ROT"; break; - case 34: std::get<1>(result) = "ANY_MURDERED"; break; - case 35: std::get<1>(result) = "ANY_DEAD_DWARF"; break; - case 36: std::get<1>(result) = "ANY_GENERIC36"; break; - case 37: std::get<1>(result) = "ANY_GENERIC37"; break; - case 38: std::get<1>(result) = "ANY_GENERIC38"; break; - case 39: std::get<1>(result) = "ANY_GENERIC39"; break; - case 40: std::get<1>(result) = "DOOR"; break; - case 41: std::get<1>(result) = "FLOODGATE"; break; - case 42: std::get<1>(result) = "HATCH_COVER"; break; - case 43: std::get<1>(result) = "GRATE"; break; - case 44: std::get<1>(result) = "CAGE"; break; - case 45: std::get<1>(result) = "FLASK"; break; - case 46: std::get<1>(result) = "WINDOW"; break; - case 47: std::get<1>(result) = "GOBLET"; break; - case 48: std::get<1>(result) = "INSTRUMENT"; break; - case 49: std::get<1>(result) = "INSTRUMENT_STATIONARY"; break; - case 50: std::get<1>(result) = "TOY"; break; - case 51: std::get<1>(result) = "TOOL"; break; - case 52: std::get<1>(result) = "BUCKET"; break; - case 53: std::get<1>(result) = "BARREL"; break; - case 54: std::get<1>(result) = "CHAIN"; break; - case 55: std::get<1>(result) = "ANIMALTRAP"; break; - case 56: std::get<1>(result) = "BED"; break; - case 57: std::get<1>(result) = "TRACTION_BENCH"; break; - case 58: std::get<1>(result) = "CHAIR"; break; - case 59: std::get<1>(result) = "COFFIN"; break; - case 60: std::get<1>(result) = "TABLE"; break; - case 61: std::get<1>(result) = "STATUE"; break; - case 62: std::get<1>(result) = "SLAB"; break; - case 63: std::get<1>(result) = "QUERN"; break; - case 64: std::get<1>(result) = "MILLSTONE"; break; - case 65: std::get<1>(result) = "BOX"; break; - case 66: std::get<1>(result) = "BIN"; break; - case 67: std::get<1>(result) = "ARMORSTAND"; break; - case 68: std::get<1>(result) = "WEAPONRACK"; break; - case 69: std::get<1>(result) = "CABINET"; break; - case 70: std::get<1>(result) = "ANVIL"; break; - case 71: std::get<1>(result) = "CATAPULTPARTS"; break; - case 72: std::get<1>(result) = "BALLISTAPARTS"; break; - case 73: std::get<1>(result) = "SIEGEAMMO"; break; - case 74: std::get<1>(result) = "TRAPPARTS"; break; - case 75: std::get<1>(result) = "ANY_WEBS"; break; - case 76: std::get<1>(result) = "PIPE_SECTION"; break; - case 77: std::get<1>(result) = "ANY_ENCASED"; break; - case 78: std::get<1>(result) = "ANY_IN_CONSTRUCTION"; break; - case 79: std::get<1>(result) = "DRINK"; break; - case 80: std::get<1>(result) = "ANY_DRINK"; break; - case 81: std::get<1>(result) = "LIQUID_MISC"; break; - case 82: std::get<1>(result) = "POWDER_MISC"; break; - case 83: std::get<1>(result) = "ANY_COOKABLE"; break; - case 84: std::get<1>(result) = "ANY_GENERIC84"; break; - case 85: std::get<1>(result) = "VERMIN"; break; - case 86: std::get<1>(result) = "PET"; break; - case 87: std::get<1>(result) = "ANY_CRITTER"; break; - case 88: std::get<1>(result) = "COIN"; break; - case 89: std::get<1>(result) = "GLOB"; break; - case 90: std::get<1>(result) = "TRAPCOMP"; break; - case 91: std::get<1>(result) = "BAR"; break; - case 92: std::get<1>(result) = "SMALLGEM"; break; - case 93: std::get<1>(result) = "BLOCKS"; break; - case 94: std::get<1>(result) = "ROUGH"; break; - case 95: std::get<1>(result) = "ANY_CORPSE"; break; - case 96: std::get<1>(result) = "CORPSE"; break; - case 97: std::get<1>(result) = "BOOK"; break; - case 98: std::get<1>(result) = "FIGURINE"; break; - case 99: std::get<1>(result) = "AMULET"; break; - case 100: std::get<1>(result) = "SCEPTER"; break; - case 101: std::get<1>(result) = "CROWN"; break; - case 102: std::get<1>(result) = "RING"; break; - case 103: std::get<1>(result) = "EARRING"; break; - case 104: std::get<1>(result) = "BRACELET"; break; - case 105: std::get<1>(result) = "GEM"; break; - case 106: std::get<1>(result) = "CORPSEPIECE"; break; - case 107: std::get<1>(result) = "REMAINS"; break; - case 108: std::get<1>(result) = "MEAT"; break; - case 109: std::get<1>(result) = "FISH"; break; - case 110: std::get<1>(result) = "FISH_RAW"; break; - case 111: std::get<1>(result) = "EGG"; break; - case 112: std::get<1>(result) = "SEEDS"; break; - case 113: std::get<1>(result) = "PLANT"; break; - case 114: std::get<1>(result) = "SKIN_TANNED"; break; - case 115: std::get<1>(result) = "PLANT_GROWTH"; break; - case 116: std::get<1>(result) = "THREAD"; break; - case 117: std::get<1>(result) = "CLOTH"; break; - case 118: std::get<1>(result) = "SHEET"; break; - case 119: std::get<1>(result) = "TOTEM"; break; - case 120: std::get<1>(result) = "PANTS"; break; - case 121: std::get<1>(result) = "CHEESE"; break; - case 122: std::get<1>(result) = "FOOD"; break; - case 123: std::get<1>(result) = "BALLISTAARROWHEAD"; break; - case 124: std::get<1>(result) = "ARMOR"; break; - case 125: std::get<1>(result) = "SHOES"; break; - case 126: std::get<1>(result) = "HELM"; break; - case 127: std::get<1>(result) = "GLOVES"; break; - case 128: std::get<1>(result) = "ANY_GENERIC128"; break; - case 129: std::get<1>(result) = "FOOD_STORAGE"; break; - case 130: std::get<1>(result) = "ANY_RECENTLY_DROPPED"; break; - case 131: std::get<1>(result) = "ANY_MELT_DESIGNATED"; break; - case 132: std::get<1>(result) = "BAD"; break; - default: break; - } - return result; -} - -std::tuple get_job_item_vector_id_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "ANY"; break; - case 1: std::get<1>(result) = "IN_PLAY"; break; - case 2: std::get<1>(result) = "ANY_ARTIFACT"; break; - case 3: std::get<1>(result) = "WEAPON"; break; - case 4: std::get<1>(result) = "ANY_WEAPON"; break; - case 5: std::get<1>(result) = "ANY_SPIKE"; break; - case 6: std::get<1>(result) = "ANY_TRUE_ARMOR"; break; - case 7: std::get<1>(result) = "ANY_ARMOR_HELM"; break; - case 8: std::get<1>(result) = "ANY_ARMOR_SHOES"; break; - case 9: std::get<1>(result) = "SHIELD"; break; - case 10: std::get<1>(result) = "ANY_ARMOR_GLOVES"; break; - case 11: std::get<1>(result) = "ANY_ARMOR_PANTS"; break; - case 12: std::get<1>(result) = "QUIVER"; break; - case 13: std::get<1>(result) = "SPLINT"; break; - case 14: std::get<1>(result) = "ANY_14"; std::get<2>(result) = "supposed to be ORTHOPEDIC_CAST"; break; - case 15: std::get<1>(result) = "CRUTCH"; break; - case 16: std::get<1>(result) = "BACKPACK"; break; - case 17: std::get<1>(result) = "AMMO"; break; - case 18: std::get<1>(result) = "WOOD"; break; - case 19: std::get<1>(result) = "BOULDER"; break; - case 20: std::get<1>(result) = "ROCK"; break; - case 21: std::get<1>(result) = "ANY_REFUSE"; break; - case 22: std::get<1>(result) = "ANY_GOOD_FOOD"; break; - case 23: std::get<1>(result) = "ANY_AUTO_CLEAN"; break; - case 24: std::get<1>(result) = "ANY_GENERIC24"; break; - case 25: std::get<1>(result) = "ANY_GENERIC25"; break; - case 26: std::get<1>(result) = "ANY_FURNITURE"; break; - case 27: std::get<1>(result) = "ANY_CAGE_OR_TRAP"; break; - case 28: std::get<1>(result) = "ANY_EDIBLE_RAW"; break; - case 29: std::get<1>(result) = "ANY_EDIBLE_CARNIVORE"; break; - case 30: std::get<1>(result) = "ANY_EDIBLE_BONECARN"; break; - case 31: std::get<1>(result) = "ANY_EDIBLE_VERMIN"; break; - case 32: std::get<1>(result) = "ANY_EDIBLE_VERMIN_BOX"; break; - case 33: std::get<1>(result) = "ANY_CAN_ROT"; break; - case 34: std::get<1>(result) = "ANY_MURDERED"; break; - case 35: std::get<1>(result) = "ANY_DEAD_DWARF"; break; - case 36: std::get<1>(result) = "ANY_GENERIC36"; break; - case 37: std::get<1>(result) = "ANY_GENERIC37"; break; - case 38: std::get<1>(result) = "ANY_GENERIC38"; break; - case 39: std::get<1>(result) = "ANY_GENERIC39"; break; - case 40: std::get<1>(result) = "DOOR"; break; - case 41: std::get<1>(result) = "FLOODGATE"; break; - case 42: std::get<1>(result) = "HATCH_COVER"; break; - case 43: std::get<1>(result) = "GRATE"; break; - case 44: std::get<1>(result) = "CAGE"; break; - case 45: std::get<1>(result) = "FLASK"; break; - case 46: std::get<1>(result) = "WINDOW"; break; - case 47: std::get<1>(result) = "GOBLET"; break; - case 48: std::get<1>(result) = "INSTRUMENT"; break; - case 49: std::get<1>(result) = "TOY"; break; - case 50: std::get<1>(result) = "BUCKET"; break; - case 51: std::get<1>(result) = "BARREL"; break; - case 52: std::get<1>(result) = "CHAIN"; break; - case 53: std::get<1>(result) = "ANIMALTRAP"; break; - case 54: std::get<1>(result) = "BED"; break; - case 55: std::get<1>(result) = "TRACTION_BENCH"; break; - case 56: std::get<1>(result) = "CHAIR"; break; - case 57: std::get<1>(result) = "COFFIN"; break; - case 58: std::get<1>(result) = "TABLE"; break; - case 59: std::get<1>(result) = "STATUE"; break; - case 60: std::get<1>(result) = "QUERN"; break; - case 61: std::get<1>(result) = "MILLSTONE"; break; - case 62: std::get<1>(result) = "BOX"; break; - case 63: std::get<1>(result) = "BIN"; break; - case 64: std::get<1>(result) = "ARMORSTAND"; break; - case 65: std::get<1>(result) = "WEAPONRACK"; break; - case 66: std::get<1>(result) = "CABINET"; break; - case 67: std::get<1>(result) = "ANVIL"; break; - case 68: std::get<1>(result) = "CATAPULTPARTS"; break; - case 69: std::get<1>(result) = "BALLISTAPARTS"; break; - case 70: std::get<1>(result) = "SIEGEAMMO"; break; - case 71: std::get<1>(result) = "TRAPPARTS"; break; - case 72: std::get<1>(result) = "ANY_WEBS"; break; - case 73: std::get<1>(result) = "PIPE_SECTION"; break; - case 74: std::get<1>(result) = "ANY_ENCASED"; break; - case 75: std::get<1>(result) = "ANY_IN_CONSTRUCTION"; break; - case 76: std::get<1>(result) = "DRINK"; break; - case 77: std::get<1>(result) = "ANY_DRINK"; break; - case 78: std::get<1>(result) = "LIQUID_MISC"; break; - case 79: std::get<1>(result) = "POWDER_MISC"; break; - case 80: std::get<1>(result) = "ANY_COOKABLE"; break; - case 81: std::get<1>(result) = "ANY_GENERIC84"; break; - case 82: std::get<1>(result) = "VERMIN"; break; - case 83: std::get<1>(result) = "PET"; break; - case 84: std::get<1>(result) = "ANY_CRITTER"; break; - case 85: std::get<1>(result) = "COIN"; break; - case 86: std::get<1>(result) = "GLOB"; break; - case 87: std::get<1>(result) = "ANY_RECENTLY_DROPPED"; break; - case 88: std::get<1>(result) = "ANY_MELT_DESIGNATED"; break; - case 89: std::get<1>(result) = "BAD"; break; - case 90: std::get<1>(result) = "TRAPCOMP"; break; - case 91: std::get<1>(result) = "BAR"; break; - case 92: std::get<1>(result) = "SMALLGEM"; break; - case 93: std::get<1>(result) = "BLOCKS"; break; - case 94: std::get<1>(result) = "ROUGH"; break; - case 95: std::get<1>(result) = "CORPSE"; break; - case 96: std::get<1>(result) = "FIGURINE"; break; - case 97: std::get<1>(result) = "AMULET"; break; - case 98: std::get<1>(result) = "SCEPTER"; break; - case 99: std::get<1>(result) = "CROWN"; break; - case 100: std::get<1>(result) = "RING"; break; - case 101: std::get<1>(result) = "EARRING"; break; - case 102: std::get<1>(result) = "BRACELET"; break; - case 103: std::get<1>(result) = "GEM"; break; - case 104: std::get<1>(result) = "CORPSEPIECE"; break; - case 105: std::get<1>(result) = "REMAINS"; break; - case 106: std::get<1>(result) = "MEAT"; break; - case 107: std::get<1>(result) = "FISH"; break; - case 108: std::get<1>(result) = "FISH_RAW"; break; - case 109: std::get<1>(result) = "SEEDS"; break; - case 110: std::get<1>(result) = "PLANT"; break; - case 111: std::get<1>(result) = "SKIN_TANNED"; break; - case 112: std::get<1>(result) = "PLANT_GROWTH"; break; - case 113: std::get<1>(result) = "THREAD"; break; - case 114: std::get<1>(result) = "CLOTH"; break; - case 115: std::get<1>(result) = "TOTEM"; break; - case 116: std::get<1>(result) = "PANTS"; break; - case 117: std::get<1>(result) = "CHEESE"; break; - case 118: std::get<1>(result) = "FOOD"; break; - case 119: std::get<1>(result) = "BALLISTAARROWHEAD"; break; - case 120: std::get<1>(result) = "ARMOR"; break; - case 121: std::get<1>(result) = "SHOES"; break; - case 122: std::get<1>(result) = "HELM"; break; - case 123: std::get<1>(result) = "GLOVES"; break; - case 124: std::get<1>(result) = "ANY_124"; std::get<2>(result) = "supposed to be TOOL"; break; - case 125: std::get<1>(result) = "ANY_125"; std::get<2>(result) = "supposed to be SLAB"; break; - case 126: std::get<1>(result) = "EGG"; break; - case 127: std::get<1>(result) = "ANY_127"; std::get<2>(result) = "supposed to be FOOD_STORAGE"; break; - case 128: std::get<1>(result) = "ANY_CORPSE"; break; - case 129: std::get<1>(result) = "BOOK"; break; - default: break; - } - return result; -} - -std::tuple get_improvement_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "ART_IMAGE"; break; - case 1: std::get<1>(result) = "COVERED"; break; - case 2: std::get<1>(result) = "RINGS_HANGING"; break; - case 3: std::get<1>(result) = "BANDS"; break; - case 4: std::get<1>(result) = "SPIKES"; break; - case 5: std::get<1>(result) = "ITEMSPECIFIC"; break; - case 6: std::get<1>(result) = "THREAD"; break; - case 7: std::get<1>(result) = "CLOTH"; break; - case 8: std::get<1>(result) = "SEWN_IMAGE"; break; - case 9: std::get<1>(result) = "PAGES"; break; - case 10: std::get<1>(result) = "ILLUSTRATION"; break; - case 11: std::get<1>(result) = "INSTRUMENT_PIECE"; break; - case 12: std::get<1>(result) = "WRITING"; break; - default: break; - } - return result; -} - -std::tuple get_itemimprovement_specific_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "HANDLE"; break; - case 1: std::get<1>(result) = "ROLLERS"; break; - default: break; - } - return result; -} - -std::tuple get_written_content_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Manual"; break; - case 1: std::get<1>(result) = "Guide"; break; - case 2: std::get<1>(result) = "Chronicle"; break; - case 3: std::get<1>(result) = "ShortStory"; break; - case 4: std::get<1>(result) = "Novel"; break; - case 5: std::get<1>(result) = "Biography"; break; - case 6: std::get<1>(result) = "Autobiography"; break; - case 7: std::get<1>(result) = "Poem"; break; - case 8: std::get<1>(result) = "Play"; break; - case 9: std::get<1>(result) = "Letter"; break; - case 10: std::get<1>(result) = "Essay"; break; - case 11: std::get<1>(result) = "Dialog"; break; - case 12: std::get<1>(result) = "MusicalComposition"; break; - case 13: std::get<1>(result) = "Choreography"; break; - case 14: std::get<1>(result) = "ComparativeBiography"; break; - case 15: std::get<1>(result) = "BiographicalDictionary"; break; - case 16: std::get<1>(result) = "Genealogy"; break; - case 17: std::get<1>(result) = "Encyclopedia"; break; - case 18: std::get<1>(result) = "CulturalHistory"; break; - case 19: std::get<1>(result) = "CulturalComparison"; break; - case 20: std::get<1>(result) = "AlternateHistory"; break; - case 21: std::get<1>(result) = "TreatiseOnTechnologicalEvolution"; break; - case 22: std::get<1>(result) = "Dictionary"; break; - case 23: std::get<1>(result) = "StarChart"; break; - case 24: std::get<1>(result) = "StarCatalogue"; break; - case 25: std::get<1>(result) = "Atlas"; break; - default: break; - } - return result; -} - -std::tuple get_written_content_style_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Meandering"; break; - case 1: std::get<1>(result) = "Cheerful"; break; - case 2: std::get<1>(result) = "Depressing"; break; - case 3: std::get<1>(result) = "Rigid"; break; - case 4: std::get<1>(result) = "Serious"; break; - case 5: std::get<1>(result) = "Disjointed"; break; - case 6: std::get<1>(result) = "Ornate"; break; - case 7: std::get<1>(result) = "Forceful"; break; - case 8: std::get<1>(result) = "Humorous"; break; - case 9: std::get<1>(result) = "Immature"; break; - case 10: std::get<1>(result) = "SelfIndulgent"; break; - case 11: std::get<1>(result) = "Touching"; break; - case 12: std::get<1>(result) = "Compassionate"; break; - case 13: std::get<1>(result) = "Vicious"; break; - case 14: std::get<1>(result) = "Concise"; break; - case 15: std::get<1>(result) = "Scornful"; break; - case 16: std::get<1>(result) = "Witty"; break; - case 17: std::get<1>(result) = "Ranting"; break; - default: break; - } - return result; -} - -std::tuple get_item_magicness_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Sparkle"; break; - case 1: std::get<1>(result) = "AirWarped"; break; - case 2: std::get<1>(result) = "Whistle"; break; - case 3: std::get<1>(result) = "OddlySquare"; break; - case 4: std::get<1>(result) = "SmallBumps"; break; - case 5: std::get<1>(result) = "EarthSmell"; break; - case 6: std::get<1>(result) = "Lightning"; break; - case 7: std::get<1>(result) = "GrayHairs"; std::get<2>(result) = "with value of 10 or higher, creatures that look at the item cannot think negative thoughts"; break; - case 8: std::get<1>(result) = "RustlingLeaves"; break; - default: break; - } - return result; -} - -std::tuple get_item_quality_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Ordinary"; break; - case 1: std::get<1>(result) = "WellCrafted"; break; - case 2: std::get<1>(result) = "FinelyCrafted"; break; - case 3: std::get<1>(result) = "Superior"; break; - case 4: std::get<1>(result) = "Exceptional"; break; - case 5: std::get<1>(result) = "Masterful"; break; - case 6: std::get<1>(result) = "Artifact"; break; - default: break; - } - return result; -} - -std::tuple get_slab_engraving_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case -1: std::get<1>(result) = "Slab"; break; - case 0: std::get<1>(result) = "Memorial"; break; - case 1: std::get<1>(result) = "CraftShopSign"; break; - case 2: std::get<1>(result) = "WeaponsmithShopSign"; break; - case 3: std::get<1>(result) = "ArmorsmithShopSign"; break; - case 4: std::get<1>(result) = "GeneralStoreSign"; break; - case 5: std::get<1>(result) = "FoodShopSign"; break; - case 6: std::get<1>(result) = "Secrets"; std::get<2>(result) = "from the gods?"; break; - case 7: std::get<1>(result) = "FoodImportsSign"; break; - case 8: std::get<1>(result) = "ClothingImportsSign"; break; - case 9: std::get<1>(result) = "GeneralImportsSign"; break; - case 10: std::get<1>(result) = "ClothShopSign"; break; - case 11: std::get<1>(result) = "LeatherShopSign"; break; - case 12: std::get<1>(result) = "WovenClothingShopSign"; break; - case 13: std::get<1>(result) = "LeatherClothingShopSign"; break; - case 14: std::get<1>(result) = "BoneCarverShopSign"; break; - case 15: std::get<1>(result) = "GemCutterShopSign"; break; - case 16: std::get<1>(result) = "WeaponsmithShopSign2"; break; - case 17: std::get<1>(result) = "BowyerShopSign"; break; - case 18: std::get<1>(result) = "BlacksmithShopSign"; break; - case 19: std::get<1>(result) = "ArmorsmithShopSign2"; break; - case 20: std::get<1>(result) = "MetalCraftShopSign"; break; - case 21: std::get<1>(result) = "LeatherGoodsShopSign"; break; - case 22: std::get<1>(result) = "CarpenterShopSign"; break; - case 23: std::get<1>(result) = "StoneFurnitureShopSign"; break; - case 24: std::get<1>(result) = "MetalFurnitureShopSign"; break; - case 25: std::get<1>(result) = "DemonIdentity"; std::get<2>(result) = "when a demon assumes identity?"; break; - case 26: std::get<1>(result) = "TavernSign"; break; - default: break; - } - return result; -} - -std::tuple get_corpse_material_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Plant"; break; - case 1: std::get<1>(result) = "Silk"; break; - case 2: std::get<1>(result) = "Leather"; break; - case 3: std::get<1>(result) = "Bone"; break; - case 4: std::get<1>(result) = "Shell"; break; - case 5: std::get<1>(result) = "anon_1"; break; - case 6: std::get<1>(result) = "Soap"; break; - case 7: std::get<1>(result) = "Tooth"; break; - case 8: std::get<1>(result) = "Horn"; break; - case 9: std::get<1>(result) = "Pearl"; break; - case 10: std::get<1>(result) = "HairWool"; break; - case 11: std::get<1>(result) = "Yarn"; break; - default: break; - } - return result; -} - -std::tuple get_job_type_class_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Misc"; break; - case 1: std::get<1>(result) = "Digging"; break; - case 2: std::get<1>(result) = "Building"; break; - case 3: std::get<1>(result) = "Hauling"; break; - case 4: std::get<1>(result) = "LifeSupport"; break; - case 5: std::get<1>(result) = "TidyUp"; break; - case 6: std::get<1>(result) = "Leisure"; break; - case 7: std::get<1>(result) = "Gathering"; break; - case 8: std::get<1>(result) = "Manufacture"; break; - case 9: std::get<1>(result) = "Improvement"; break; - case 10: std::get<1>(result) = "Crime"; break; - case 11: std::get<1>(result) = "LawEnforcement"; break; - case 12: std::get<1>(result) = "StrangeMood"; break; - case 13: std::get<1>(result) = "UnitHandling"; break; - case 14: std::get<1>(result) = "SiegeWeapon"; break; - case 15: std::get<1>(result) = "Medicine"; break; - default: break; - } - return result; -} - -std::tuple get_job_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case -1: std::get<1>(result) = "NONE"; std::get<2>(result) = "unused"; break; - case 0: std::get<1>(result) = "CarveFortification"; break; - case 1: std::get<1>(result) = "DetailWall"; break; - case 2: std::get<1>(result) = "DetailFloor"; break; - case 3: std::get<1>(result) = "Dig"; break; - case 4: std::get<1>(result) = "CarveUpwardStaircase"; break; - case 5: std::get<1>(result) = "CarveDownwardStaircase"; break; - case 6: std::get<1>(result) = "CarveUpDownStaircase"; break; - case 7: std::get<1>(result) = "CarveRamp"; break; - case 8: std::get<1>(result) = "DigChannel"; break; - case 9: std::get<1>(result) = "FellTree"; break; - case 10: std::get<1>(result) = "GatherPlants"; break; - case 11: std::get<1>(result) = "RemoveConstruction"; break; - case 12: std::get<1>(result) = "CollectWebs"; break; - case 13: std::get<1>(result) = "BringItemToDepot"; break; - case 14: std::get<1>(result) = "BringItemToShop"; break; - case 15: std::get<1>(result) = "Eat"; break; - case 16: std::get<1>(result) = "GetProvisions"; break; - case 17: std::get<1>(result) = "Drink"; break; - case 18: std::get<1>(result) = "Drink2"; break; - case 19: std::get<1>(result) = "FillWaterskin"; break; - case 20: std::get<1>(result) = "FillWaterskin2"; break; - case 21: std::get<1>(result) = "Sleep"; break; - case 22: std::get<1>(result) = "CollectSand"; break; - case 23: std::get<1>(result) = "Fish"; break; - case 24: std::get<1>(result) = "Hunt"; break; - case 25: std::get<1>(result) = "HuntVermin"; break; - case 26: std::get<1>(result) = "Kidnap"; break; - case 27: std::get<1>(result) = "BeatCriminal"; break; - case 28: std::get<1>(result) = "StartingFistFight"; break; - case 29: std::get<1>(result) = "CollectTaxes"; break; - case 30: std::get<1>(result) = "GuardTaxCollector"; break; - case 31: std::get<1>(result) = "CatchLiveLandAnimal"; break; - case 32: std::get<1>(result) = "CatchLiveFish"; break; - case 33: std::get<1>(result) = "ReturnKill"; break; - case 34: std::get<1>(result) = "CheckChest"; break; - case 35: std::get<1>(result) = "StoreOwnedItem"; break; - case 36: std::get<1>(result) = "PlaceItemInTomb"; break; - case 37: std::get<1>(result) = "StoreItemInStockpile"; break; - case 38: std::get<1>(result) = "StoreItemInBag"; break; - case 39: std::get<1>(result) = "StoreItemInHospital"; break; - case 40: std::get<1>(result) = "StoreItemInLocation"; break; - case 41: std::get<1>(result) = "anon_1"; break; - case 42: std::get<1>(result) = "StoreWeapon"; break; - case 43: std::get<1>(result) = "StoreArmor"; break; - case 44: std::get<1>(result) = "StoreItemInBarrel"; break; - case 45: std::get<1>(result) = "StoreItemInBin"; break; - case 46: std::get<1>(result) = "SeekArtifact"; break; - case 47: std::get<1>(result) = "SeekInfant"; break; - case 48: std::get<1>(result) = "AttendParty"; break; - case 49: std::get<1>(result) = "GoShopping"; break; - case 50: std::get<1>(result) = "GoShopping2"; break; - case 51: std::get<1>(result) = "Clean"; break; - case 52: std::get<1>(result) = "Rest"; break; - case 53: std::get<1>(result) = "PickupEquipment"; break; - case 54: std::get<1>(result) = "DumpItem"; break; - case 55: std::get<1>(result) = "StrangeMoodCrafter"; break; - case 56: std::get<1>(result) = "StrangeMoodJeweller"; break; - case 57: std::get<1>(result) = "StrangeMoodForge"; break; - case 58: std::get<1>(result) = "StrangeMoodMagmaForge"; break; - case 59: std::get<1>(result) = "StrangeMoodBrooding"; break; - case 60: std::get<1>(result) = "StrangeMoodFell"; break; - case 61: std::get<1>(result) = "StrangeMoodCarpenter"; break; - case 62: std::get<1>(result) = "StrangeMoodMason"; break; - case 63: std::get<1>(result) = "StrangeMoodBowyer"; break; - case 64: std::get<1>(result) = "StrangeMoodTanner"; break; - case 65: std::get<1>(result) = "StrangeMoodWeaver"; break; - case 66: std::get<1>(result) = "StrangeMoodGlassmaker"; break; - case 67: std::get<1>(result) = "StrangeMoodMechanics"; break; - case 68: std::get<1>(result) = "ConstructBuilding"; break; - case 69: std::get<1>(result) = "ConstructDoor"; break; - case 70: std::get<1>(result) = "ConstructFloodgate"; break; - case 71: std::get<1>(result) = "ConstructBed"; break; - case 72: std::get<1>(result) = "ConstructThrone"; break; - case 73: std::get<1>(result) = "ConstructCoffin"; break; - case 74: std::get<1>(result) = "ConstructTable"; break; - case 75: std::get<1>(result) = "ConstructChest"; break; - case 76: std::get<1>(result) = "ConstructBin"; break; - case 77: std::get<1>(result) = "ConstructArmorStand"; break; - case 78: std::get<1>(result) = "ConstructWeaponRack"; break; - case 79: std::get<1>(result) = "ConstructCabinet"; break; - case 80: std::get<1>(result) = "ConstructStatue"; break; - case 81: std::get<1>(result) = "ConstructBlocks"; break; - case 82: std::get<1>(result) = "MakeRawGlass"; break; - case 83: std::get<1>(result) = "MakeCrafts"; break; - case 84: std::get<1>(result) = "MintCoins"; break; - case 85: std::get<1>(result) = "CutGems"; break; - case 86: std::get<1>(result) = "CutGlass"; break; - case 87: std::get<1>(result) = "EncrustWithGems"; break; - case 88: std::get<1>(result) = "EncrustWithGlass"; break; - case 89: std::get<1>(result) = "DestroyBuilding"; break; - case 90: std::get<1>(result) = "SmeltOre"; break; - case 91: std::get<1>(result) = "MeltMetalObject"; break; - case 92: std::get<1>(result) = "ExtractMetalStrands"; break; - case 93: std::get<1>(result) = "PlantSeeds"; break; - case 94: std::get<1>(result) = "HarvestPlants"; break; - case 95: std::get<1>(result) = "TrainHuntingAnimal"; break; - case 96: std::get<1>(result) = "TrainWarAnimal"; break; - case 97: std::get<1>(result) = "MakeWeapon"; break; - case 98: std::get<1>(result) = "ForgeAnvil"; break; - case 99: std::get<1>(result) = "ConstructCatapultParts"; break; - case 100: std::get<1>(result) = "ConstructBallistaParts"; break; - case 101: std::get<1>(result) = "MakeArmor"; break; - case 102: std::get<1>(result) = "MakeHelm"; break; - case 103: std::get<1>(result) = "MakePants"; break; - case 104: std::get<1>(result) = "StudWith"; break; - case 105: std::get<1>(result) = "ButcherAnimal"; break; - case 106: std::get<1>(result) = "PrepareRawFish"; break; - case 107: std::get<1>(result) = "MillPlants"; break; - case 108: std::get<1>(result) = "BaitTrap"; break; - case 109: std::get<1>(result) = "MilkCreature"; break; - case 110: std::get<1>(result) = "MakeCheese"; break; - case 111: std::get<1>(result) = "ProcessPlants"; break; - case 112: std::get<1>(result) = "anon_2"; break; - case 113: std::get<1>(result) = "ProcessPlantsVial"; break; - case 114: std::get<1>(result) = "ProcessPlantsBarrel"; break; - case 115: std::get<1>(result) = "PrepareMeal"; break; - case 116: std::get<1>(result) = "WeaveCloth"; break; - case 117: std::get<1>(result) = "MakeGloves"; break; - case 118: std::get<1>(result) = "MakeShoes"; break; - case 119: std::get<1>(result) = "MakeShield"; break; - case 120: std::get<1>(result) = "MakeCage"; break; - case 121: std::get<1>(result) = "MakeChain"; break; - case 122: std::get<1>(result) = "MakeFlask"; break; - case 123: std::get<1>(result) = "MakeGoblet"; break; - case 124: std::get<1>(result) = "anon_3"; break; - case 125: std::get<1>(result) = "MakeToy"; break; - case 126: std::get<1>(result) = "MakeAnimalTrap"; break; - case 127: std::get<1>(result) = "MakeBarrel"; break; - case 128: std::get<1>(result) = "MakeBucket"; break; - case 129: std::get<1>(result) = "MakeWindow"; break; - case 130: std::get<1>(result) = "MakeTotem"; break; - case 131: std::get<1>(result) = "MakeAmmo"; break; - case 132: std::get<1>(result) = "DecorateWith"; break; - case 133: std::get<1>(result) = "MakeBackpack"; break; - case 134: std::get<1>(result) = "MakeQuiver"; break; - case 135: std::get<1>(result) = "MakeBallistaArrowHead"; break; - case 136: std::get<1>(result) = "AssembleSiegeAmmo"; break; - case 137: std::get<1>(result) = "LoadCatapult"; break; - case 138: std::get<1>(result) = "LoadBallista"; break; - case 139: std::get<1>(result) = "FireCatapult"; break; - case 140: std::get<1>(result) = "FireBallista"; break; - case 141: std::get<1>(result) = "ConstructMechanisms"; break; - case 142: std::get<1>(result) = "MakeTrapComponent"; break; - case 143: std::get<1>(result) = "LoadCageTrap"; break; - case 144: std::get<1>(result) = "LoadStoneTrap"; break; - case 145: std::get<1>(result) = "LoadWeaponTrap"; break; - case 146: std::get<1>(result) = "CleanTrap"; break; - case 147: std::get<1>(result) = "CastSpell"; break; - case 148: std::get<1>(result) = "LinkBuildingToTrigger"; break; - case 149: std::get<1>(result) = "PullLever"; break; - case 150: std::get<1>(result) = "anon_4"; break; - case 151: std::get<1>(result) = "ExtractFromPlants"; break; - case 152: std::get<1>(result) = "ExtractFromRawFish"; break; - case 153: std::get<1>(result) = "ExtractFromLandAnimal"; break; - case 154: std::get<1>(result) = "TameVermin"; break; - case 155: std::get<1>(result) = "TameAnimal"; break; - case 156: std::get<1>(result) = "ChainAnimal"; break; - case 157: std::get<1>(result) = "UnchainAnimal"; break; - case 158: std::get<1>(result) = "UnchainPet"; break; - case 159: std::get<1>(result) = "ReleaseLargeCreature"; break; - case 160: std::get<1>(result) = "ReleasePet"; break; - case 161: std::get<1>(result) = "ReleaseSmallCreature"; break; - case 162: std::get<1>(result) = "HandleSmallCreature"; break; - case 163: std::get<1>(result) = "HandleLargeCreature"; break; - case 164: std::get<1>(result) = "CageLargeCreature"; break; - case 165: std::get<1>(result) = "CageSmallCreature"; break; - case 166: std::get<1>(result) = "RecoverWounded"; break; - case 167: std::get<1>(result) = "DiagnosePatient"; break; - case 168: std::get<1>(result) = "ImmobilizeBreak"; break; - case 169: std::get<1>(result) = "DressWound"; break; - case 170: std::get<1>(result) = "CleanPatient"; break; - case 171: std::get<1>(result) = "Surgery"; break; - case 172: std::get<1>(result) = "Suture"; break; - case 173: std::get<1>(result) = "SetBone"; break; - case 174: std::get<1>(result) = "PlaceInTraction"; break; - case 175: std::get<1>(result) = "DrainAquarium"; break; - case 176: std::get<1>(result) = "FillAquarium"; break; - case 177: std::get<1>(result) = "FillPond"; break; - case 178: std::get<1>(result) = "GiveWater"; break; - case 179: std::get<1>(result) = "GiveFood"; break; - case 180: std::get<1>(result) = "GiveWater2"; std::get<2>(result) = "for pets"; break; - case 181: std::get<1>(result) = "GiveFood2"; std::get<2>(result) = "for pets"; break; - case 182: std::get<1>(result) = "RecoverPet"; break; - case 183: std::get<1>(result) = "PitLargeAnimal"; break; - case 184: std::get<1>(result) = "PitSmallAnimal"; break; - case 185: std::get<1>(result) = "SlaughterAnimal"; break; - case 186: std::get<1>(result) = "MakeCharcoal"; break; - case 187: std::get<1>(result) = "MakeAsh"; break; - case 188: std::get<1>(result) = "MakeLye"; break; - case 189: std::get<1>(result) = "MakePotashFromLye"; break; - case 190: std::get<1>(result) = "FertilizeField"; break; - case 191: std::get<1>(result) = "MakePotashFromAsh"; break; - case 192: std::get<1>(result) = "DyeThread"; break; - case 193: std::get<1>(result) = "DyeCloth"; break; - case 194: std::get<1>(result) = "SewImage"; break; - case 195: std::get<1>(result) = "MakePipeSection"; break; - case 196: std::get<1>(result) = "OperatePump"; break; - case 197: std::get<1>(result) = "ManageWorkOrders"; break; - case 198: std::get<1>(result) = "UpdateStockpileRecords"; break; - case 199: std::get<1>(result) = "TradeAtDepot"; break; - case 200: std::get<1>(result) = "ConstructHatchCover"; break; - case 201: std::get<1>(result) = "ConstructGrate"; break; - case 202: std::get<1>(result) = "RemoveStairs"; break; - case 203: std::get<1>(result) = "ConstructQuern"; break; - case 204: std::get<1>(result) = "ConstructMillstone"; break; - case 205: std::get<1>(result) = "ConstructSplint"; break; - case 206: std::get<1>(result) = "ConstructCrutch"; break; - case 207: std::get<1>(result) = "ConstructTractionBench"; break; - case 208: std::get<1>(result) = "CleanSelf"; break; - case 209: std::get<1>(result) = "BringCrutch"; break; - case 210: std::get<1>(result) = "ApplyCast"; break; - case 211: std::get<1>(result) = "CustomReaction"; break; - case 212: std::get<1>(result) = "ConstructSlab"; break; - case 213: std::get<1>(result) = "EngraveSlab"; break; - case 214: std::get<1>(result) = "ShearCreature"; break; - case 215: std::get<1>(result) = "SpinThread"; break; - case 216: std::get<1>(result) = "PenLargeAnimal"; break; - case 217: std::get<1>(result) = "PenSmallAnimal"; break; - case 218: std::get<1>(result) = "MakeTool"; break; - case 219: std::get<1>(result) = "CollectClay"; break; - case 220: std::get<1>(result) = "InstallColonyInHive"; break; - case 221: std::get<1>(result) = "CollectHiveProducts"; break; - case 222: std::get<1>(result) = "CauseTrouble"; break; - case 223: std::get<1>(result) = "DrinkBlood"; std::get<2>(result) = "??"; break; - case 224: std::get<1>(result) = "ReportCrime"; break; - case 225: std::get<1>(result) = "ExecuteCriminal"; break; - case 226: std::get<1>(result) = "TrainAnimal"; break; - case 227: std::get<1>(result) = "CarveTrack"; break; - case 228: std::get<1>(result) = "PushTrackVehicle"; break; - case 229: std::get<1>(result) = "PlaceTrackVehicle"; break; - case 230: std::get<1>(result) = "StoreItemInVehicle"; break; - case 231: std::get<1>(result) = "GeldAnimal"; break; - case 232: std::get<1>(result) = "MakeFigurine"; break; - case 233: std::get<1>(result) = "MakeAmulet"; break; - case 234: std::get<1>(result) = "MakeScepter"; break; - case 235: std::get<1>(result) = "MakeCrown"; break; - case 236: std::get<1>(result) = "MakeRing"; break; - case 237: std::get<1>(result) = "MakeEarring"; break; - case 238: std::get<1>(result) = "MakeBracelet"; break; - case 239: std::get<1>(result) = "MakeGem"; break; - case 240: std::get<1>(result) = "PutItemOnDisplay"; break; - default: break; - } - return result; -} - -std::tuple get_job_subtype_surgery_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Surgery"; break; - case 1: std::get<1>(result) = "StopBleeding"; break; - case 2: std::get<1>(result) = "RepairCompoundFracture"; break; - case 3: std::get<1>(result) = "RemoveRottenTissue"; break; - default: break; - } - return result; -} - -std::tuple get_job_art_specification__T_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case -1: std::get<1>(result) = "None"; break; - case 0: std::get<1>(result) = "HistoricalFigure"; break; - case 1: std::get<1>(result) = "Site"; break; - case 2: std::get<1>(result) = "Entity"; break; - case 3: std::get<1>(result) = "ArtImage"; break; - default: break; - } - return result; -} - -std::tuple get_manager_order_condition_order__T_condition_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Activated"; break; - case 1: std::get<1>(result) = "Completed"; break; - default: break; - } - return result; -} - -std::tuple get_guild_id_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case -1: std::get<1>(result) = "None"; break; - case 0: std::get<1>(result) = "Miners"; break; - case 1: std::get<1>(result) = "Carpenters"; break; - case 2: std::get<1>(result) = "Masons"; break; - case 3: std::get<1>(result) = "Metalsmiths"; break; - case 4: std::get<1>(result) = "Jewelers"; break; - case 5: std::get<1>(result) = "Craftsmen"; break; - default: break; - } - return result; -} - -std::tuple get_interface_key_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "NONE"; break; - case 1: std::get<1>(result) = "SELECT"; break; - case 2: std::get<1>(result) = "SEC_SELECT"; break; - case 3: std::get<1>(result) = "DESELECT"; break; - case 4: std::get<1>(result) = "SELECT_ALL"; break; - case 5: std::get<1>(result) = "DESELECT_ALL"; break; - case 6: std::get<1>(result) = "LEAVESCREEN"; break; - case 7: std::get<1>(result) = "LEAVESCREEN_ALL"; break; - case 8: std::get<1>(result) = "CLOSE_MEGA_ANNOUNCEMENT"; break; - case 9: std::get<1>(result) = "OPTIONS"; break; - case 10: std::get<1>(result) = "OPTION_EXPORT"; break; - case 11: std::get<1>(result) = "HELP"; break; - case 12: std::get<1>(result) = "TOGGLE_FULLSCREEN"; break; - case 13: std::get<1>(result) = "MOVIES"; break; - case 14: std::get<1>(result) = "ZOOM_IN"; break; - case 15: std::get<1>(result) = "ZOOM_OUT"; break; - case 16: std::get<1>(result) = "ZOOM_TOGGLE"; break; - case 17: std::get<1>(result) = "ZOOM_RESET"; break; - case 18: std::get<1>(result) = "MOVIE_RECORD"; break; - case 19: std::get<1>(result) = "MOVIE_PLAY"; break; - case 20: std::get<1>(result) = "MOVIE_SAVE"; break; - case 21: std::get<1>(result) = "MOVIE_LOAD"; break; - case 22: std::get<1>(result) = "TOGGLE_TTF"; break; - case 23: std::get<1>(result) = "FPS_UP"; break; - case 24: std::get<1>(result) = "FPS_DOWN"; break; - case 25: std::get<1>(result) = "CHANGETAB"; break; - case 26: std::get<1>(result) = "SEC_CHANGETAB"; break; - case 27: std::get<1>(result) = "STANDARDSCROLL_UP"; break; - case 28: std::get<1>(result) = "STANDARDSCROLL_DOWN"; break; - case 29: std::get<1>(result) = "STANDARDSCROLL_LEFT"; break; - case 30: std::get<1>(result) = "STANDARDSCROLL_RIGHT"; break; - case 31: std::get<1>(result) = "STANDARDSCROLL_PAGEUP"; break; - case 32: std::get<1>(result) = "STANDARDSCROLL_PAGEDOWN"; break; - case 33: std::get<1>(result) = "SECONDSCROLL_UP"; break; - case 34: std::get<1>(result) = "SECONDSCROLL_DOWN"; break; - case 35: std::get<1>(result) = "SECONDSCROLL_PAGEUP"; break; - case 36: std::get<1>(result) = "SECONDSCROLL_PAGEDOWN"; break; - case 37: std::get<1>(result) = "CURSOR_UP"; break; - case 38: std::get<1>(result) = "CURSOR_DOWN"; break; - case 39: std::get<1>(result) = "CURSOR_LEFT"; break; - case 40: std::get<1>(result) = "CURSOR_RIGHT"; break; - case 41: std::get<1>(result) = "CURSOR_UPLEFT"; break; - case 42: std::get<1>(result) = "CURSOR_UPRIGHT"; break; - case 43: std::get<1>(result) = "CURSOR_DOWNLEFT"; break; - case 44: std::get<1>(result) = "CURSOR_DOWNRIGHT"; break; - case 45: std::get<1>(result) = "CURSOR_UP_FAST"; break; - case 46: std::get<1>(result) = "CURSOR_DOWN_FAST"; break; - case 47: std::get<1>(result) = "CURSOR_LEFT_FAST"; break; - case 48: std::get<1>(result) = "CURSOR_RIGHT_FAST"; break; - case 49: std::get<1>(result) = "CURSOR_UPLEFT_FAST"; break; - case 50: std::get<1>(result) = "CURSOR_UPRIGHT_FAST"; break; - case 51: std::get<1>(result) = "CURSOR_DOWNLEFT_FAST"; break; - case 52: std::get<1>(result) = "CURSOR_DOWNRIGHT_FAST"; break; - case 53: std::get<1>(result) = "CURSOR_UP_Z"; break; - case 54: std::get<1>(result) = "CURSOR_DOWN_Z"; break; - case 55: std::get<1>(result) = "CURSOR_UP_Z_AUX"; break; - case 56: std::get<1>(result) = "CURSOR_DOWN_Z_AUX"; break; - case 57: std::get<1>(result) = "MENU_CONFIRM"; break; - case 58: std::get<1>(result) = "SAVE_BINDINGS"; break; - case 59: std::get<1>(result) = "LOAD_BINDINGS"; break; - case 60: std::get<1>(result) = "MACRO_BREAK"; break; - case 61: std::get<1>(result) = "RECORD_MACRO"; break; - case 62: std::get<1>(result) = "PLAY_MACRO"; break; - case 63: std::get<1>(result) = "SAVE_MACRO"; break; - case 64: std::get<1>(result) = "LOAD_MACRO"; break; - case 65: std::get<1>(result) = "PREFIX"; break; - case 66: std::get<1>(result) = "OPTION1"; break; - case 67: std::get<1>(result) = "OPTION2"; break; - case 68: std::get<1>(result) = "OPTION3"; break; - case 69: std::get<1>(result) = "OPTION4"; break; - case 70: std::get<1>(result) = "OPTION5"; break; - case 71: std::get<1>(result) = "OPTION6"; break; - case 72: std::get<1>(result) = "OPTION7"; break; - case 73: std::get<1>(result) = "OPTION8"; break; - case 74: std::get<1>(result) = "OPTION9"; break; - case 75: std::get<1>(result) = "OPTION10"; break; - case 76: std::get<1>(result) = "OPTION11"; break; - case 77: std::get<1>(result) = "OPTION12"; break; - case 78: std::get<1>(result) = "OPTION13"; break; - case 79: std::get<1>(result) = "OPTION14"; break; - case 80: std::get<1>(result) = "OPTION15"; break; - case 81: std::get<1>(result) = "OPTION16"; break; - case 82: std::get<1>(result) = "OPTION17"; break; - case 83: std::get<1>(result) = "OPTION18"; break; - case 84: std::get<1>(result) = "OPTION19"; break; - case 85: std::get<1>(result) = "OPTION20"; break; - case 86: std::get<1>(result) = "SEC_OPTION1"; break; - case 87: std::get<1>(result) = "SEC_OPTION2"; break; - case 88: std::get<1>(result) = "SEC_OPTION3"; break; - case 89: std::get<1>(result) = "SEC_OPTION4"; break; - case 90: std::get<1>(result) = "SEC_OPTION5"; break; - case 91: std::get<1>(result) = "SEC_OPTION6"; break; - case 92: std::get<1>(result) = "SEC_OPTION7"; break; - case 93: std::get<1>(result) = "SEC_OPTION8"; break; - case 94: std::get<1>(result) = "SEC_OPTION9"; break; - case 95: std::get<1>(result) = "SEC_OPTION10"; break; - case 96: std::get<1>(result) = "SEC_OPTION11"; break; - case 97: std::get<1>(result) = "SEC_OPTION12"; break; - case 98: std::get<1>(result) = "SEC_OPTION13"; break; - case 99: std::get<1>(result) = "SEC_OPTION14"; break; - case 100: std::get<1>(result) = "SEC_OPTION15"; break; - case 101: std::get<1>(result) = "SEC_OPTION16"; break; - case 102: std::get<1>(result) = "SEC_OPTION17"; break; - case 103: std::get<1>(result) = "SEC_OPTION18"; break; - case 104: std::get<1>(result) = "SEC_OPTION19"; break; - case 105: std::get<1>(result) = "SEC_OPTION20"; break; - case 106: std::get<1>(result) = "CUSTOM_A"; break; - case 107: std::get<1>(result) = "CUSTOM_B"; break; - case 108: std::get<1>(result) = "CUSTOM_C"; break; - case 109: std::get<1>(result) = "CUSTOM_D"; break; - case 110: std::get<1>(result) = "CUSTOM_E"; break; - case 111: std::get<1>(result) = "CUSTOM_F"; break; - case 112: std::get<1>(result) = "CUSTOM_G"; break; - case 113: std::get<1>(result) = "CUSTOM_H"; break; - case 114: std::get<1>(result) = "CUSTOM_I"; break; - case 115: std::get<1>(result) = "CUSTOM_J"; break; - case 116: std::get<1>(result) = "CUSTOM_K"; break; - case 117: std::get<1>(result) = "CUSTOM_L"; break; - case 118: std::get<1>(result) = "CUSTOM_M"; break; - case 119: std::get<1>(result) = "CUSTOM_N"; break; - case 120: std::get<1>(result) = "CUSTOM_O"; break; - case 121: std::get<1>(result) = "CUSTOM_P"; break; - case 122: std::get<1>(result) = "CUSTOM_Q"; break; - case 123: std::get<1>(result) = "CUSTOM_R"; break; - case 124: std::get<1>(result) = "CUSTOM_S"; break; - case 125: std::get<1>(result) = "CUSTOM_T"; break; - case 126: std::get<1>(result) = "CUSTOM_U"; break; - case 127: std::get<1>(result) = "CUSTOM_V"; break; - case 128: std::get<1>(result) = "CUSTOM_W"; break; - case 129: std::get<1>(result) = "CUSTOM_X"; break; - case 130: std::get<1>(result) = "CUSTOM_Y"; break; - case 131: std::get<1>(result) = "CUSTOM_Z"; break; - case 132: std::get<1>(result) = "CUSTOM_SHIFT_A"; break; - case 133: std::get<1>(result) = "CUSTOM_SHIFT_B"; break; - case 134: std::get<1>(result) = "CUSTOM_SHIFT_C"; break; - case 135: std::get<1>(result) = "CUSTOM_SHIFT_D"; break; - case 136: std::get<1>(result) = "CUSTOM_SHIFT_E"; break; - case 137: std::get<1>(result) = "CUSTOM_SHIFT_F"; break; - case 138: std::get<1>(result) = "CUSTOM_SHIFT_G"; break; - case 139: std::get<1>(result) = "CUSTOM_SHIFT_H"; break; - case 140: std::get<1>(result) = "CUSTOM_SHIFT_I"; break; - case 141: std::get<1>(result) = "CUSTOM_SHIFT_J"; break; - case 142: std::get<1>(result) = "CUSTOM_SHIFT_K"; break; - case 143: std::get<1>(result) = "CUSTOM_SHIFT_L"; break; - case 144: std::get<1>(result) = "CUSTOM_SHIFT_M"; break; - case 145: std::get<1>(result) = "CUSTOM_SHIFT_N"; break; - case 146: std::get<1>(result) = "CUSTOM_SHIFT_O"; break; - case 147: std::get<1>(result) = "CUSTOM_SHIFT_P"; break; - case 148: std::get<1>(result) = "CUSTOM_SHIFT_Q"; break; - case 149: std::get<1>(result) = "CUSTOM_SHIFT_R"; break; - case 150: std::get<1>(result) = "CUSTOM_SHIFT_S"; break; - case 151: std::get<1>(result) = "CUSTOM_SHIFT_T"; break; - case 152: std::get<1>(result) = "CUSTOM_SHIFT_U"; break; - case 153: std::get<1>(result) = "CUSTOM_SHIFT_V"; break; - case 154: std::get<1>(result) = "CUSTOM_SHIFT_W"; break; - case 155: std::get<1>(result) = "CUSTOM_SHIFT_X"; break; - case 156: std::get<1>(result) = "CUSTOM_SHIFT_Y"; break; - case 157: std::get<1>(result) = "CUSTOM_SHIFT_Z"; break; - case 158: std::get<1>(result) = "CUSTOM_CTRL_A"; break; - case 159: std::get<1>(result) = "CUSTOM_CTRL_B"; break; - case 160: std::get<1>(result) = "CUSTOM_CTRL_C"; break; - case 161: std::get<1>(result) = "CUSTOM_CTRL_D"; break; - case 162: std::get<1>(result) = "CUSTOM_CTRL_E"; break; - case 163: std::get<1>(result) = "CUSTOM_CTRL_F"; break; - case 164: std::get<1>(result) = "CUSTOM_CTRL_G"; break; - case 165: std::get<1>(result) = "CUSTOM_CTRL_H"; break; - case 166: std::get<1>(result) = "CUSTOM_CTRL_I"; break; - case 167: std::get<1>(result) = "CUSTOM_CTRL_J"; break; - case 168: std::get<1>(result) = "CUSTOM_CTRL_K"; break; - case 169: std::get<1>(result) = "CUSTOM_CTRL_L"; break; - case 170: std::get<1>(result) = "CUSTOM_CTRL_M"; break; - case 171: std::get<1>(result) = "CUSTOM_CTRL_N"; break; - case 172: std::get<1>(result) = "CUSTOM_CTRL_O"; break; - case 173: std::get<1>(result) = "CUSTOM_CTRL_P"; break; - case 174: std::get<1>(result) = "CUSTOM_CTRL_Q"; break; - case 175: std::get<1>(result) = "CUSTOM_CTRL_R"; break; - case 176: std::get<1>(result) = "CUSTOM_CTRL_S"; break; - case 177: std::get<1>(result) = "CUSTOM_CTRL_T"; break; - case 178: std::get<1>(result) = "CUSTOM_CTRL_U"; break; - case 179: std::get<1>(result) = "CUSTOM_CTRL_V"; break; - case 180: std::get<1>(result) = "CUSTOM_CTRL_W"; break; - case 181: std::get<1>(result) = "CUSTOM_CTRL_X"; break; - case 182: std::get<1>(result) = "CUSTOM_CTRL_Y"; break; - case 183: std::get<1>(result) = "CUSTOM_CTRL_Z"; break; - case 184: std::get<1>(result) = "CUSTOM_ALT_A"; break; - case 185: std::get<1>(result) = "CUSTOM_ALT_B"; break; - case 186: std::get<1>(result) = "CUSTOM_ALT_C"; break; - case 187: std::get<1>(result) = "CUSTOM_ALT_D"; break; - case 188: std::get<1>(result) = "CUSTOM_ALT_E"; break; - case 189: std::get<1>(result) = "CUSTOM_ALT_F"; break; - case 190: std::get<1>(result) = "CUSTOM_ALT_G"; break; - case 191: std::get<1>(result) = "CUSTOM_ALT_H"; break; - case 192: std::get<1>(result) = "CUSTOM_ALT_I"; break; - case 193: std::get<1>(result) = "CUSTOM_ALT_J"; break; - case 194: std::get<1>(result) = "CUSTOM_ALT_K"; break; - case 195: std::get<1>(result) = "CUSTOM_ALT_L"; break; - case 196: std::get<1>(result) = "CUSTOM_ALT_M"; break; - case 197: std::get<1>(result) = "CUSTOM_ALT_N"; break; - case 198: std::get<1>(result) = "CUSTOM_ALT_O"; break; - case 199: std::get<1>(result) = "CUSTOM_ALT_P"; break; - case 200: std::get<1>(result) = "CUSTOM_ALT_Q"; break; - case 201: std::get<1>(result) = "CUSTOM_ALT_R"; break; - case 202: std::get<1>(result) = "CUSTOM_ALT_S"; break; - case 203: std::get<1>(result) = "CUSTOM_ALT_T"; break; - case 204: std::get<1>(result) = "CUSTOM_ALT_U"; break; - case 205: std::get<1>(result) = "CUSTOM_ALT_V"; break; - case 206: std::get<1>(result) = "CUSTOM_ALT_W"; break; - case 207: std::get<1>(result) = "CUSTOM_ALT_X"; break; - case 208: std::get<1>(result) = "CUSTOM_ALT_Y"; break; - case 209: std::get<1>(result) = "CUSTOM_ALT_Z"; break; - case 210: std::get<1>(result) = "WORLD_PARAM_TITLE"; break; - case 211: std::get<1>(result) = "WORLD_PARAM_ADD"; break; - case 212: std::get<1>(result) = "WORLD_PARAM_COPY"; break; - case 213: std::get<1>(result) = "WORLD_PARAM_DELETE"; break; - case 214: std::get<1>(result) = "WORLD_PARAM_NAME_RANDOM"; break; - case 215: std::get<1>(result) = "WORLD_PARAM_NAME_ENTER"; break; - case 216: std::get<1>(result) = "WORLD_PARAM_SEED_RANDOM"; break; - case 217: std::get<1>(result) = "WORLD_PARAM_SEED_ENTER"; break; - case 218: std::get<1>(result) = "WORLD_PARAM_LOAD"; break; - case 219: std::get<1>(result) = "WORLD_PARAM_SAVE"; break; - case 220: std::get<1>(result) = "WORLD_PARAM_DIM_X_UP"; break; - case 221: std::get<1>(result) = "WORLD_PARAM_DIM_X_DOWN"; break; - case 222: std::get<1>(result) = "WORLD_PARAM_DIM_Y_UP"; break; - case 223: std::get<1>(result) = "WORLD_PARAM_DIM_Y_DOWN"; break; - case 224: std::get<1>(result) = "WORLD_PARAM_SET"; break; - case 225: std::get<1>(result) = "WORLD_PARAM_INCREASE"; break; - case 226: std::get<1>(result) = "WORLD_PARAM_DECREASE"; break; - case 227: std::get<1>(result) = "WORLD_PARAM_ENTER_VALUE"; break; - case 228: std::get<1>(result) = "WORLD_PARAM_NULLIFY"; break; - case 229: std::get<1>(result) = "WORLD_PARAM_PRESET"; break; - case 230: std::get<1>(result) = "WORLD_PARAM_REJECT_CONTINUE"; break; - case 231: std::get<1>(result) = "WORLD_PARAM_REJECT_ABORT"; break; - case 232: std::get<1>(result) = "WORLD_PARAM_REJECT_ALLOW_THIS"; break; - case 233: std::get<1>(result) = "WORLD_PARAM_REJECT_ALLOW_ALL"; break; - case 234: std::get<1>(result) = "WORLD_GEN_CONTINUE"; break; - case 235: std::get<1>(result) = "WORLD_GEN_USE"; break; - case 236: std::get<1>(result) = "WORLD_GEN_ABORT"; break; - case 237: std::get<1>(result) = "WORLDGEN_EXPORT_MAP"; break; - case 238: std::get<1>(result) = "LEGENDS_EXPORT_MAP"; break; - case 239: std::get<1>(result) = "LEGENDS_EXPORT_XML"; break; - case 240: std::get<1>(result) = "LEGENDS_EXPORT_DETAILED_MAP"; break; - case 241: std::get<1>(result) = "LEGENDS_TOGGLE_CIVSITE"; break; - case 242: std::get<1>(result) = "LEGENDS_STRING_FILTER"; break; - case 243: std::get<1>(result) = "A_RETURN_TO_ARENA"; break; - case 244: std::get<1>(result) = "A_MOVE_N"; break; - case 245: std::get<1>(result) = "A_MOVE_S"; break; - case 246: std::get<1>(result) = "A_MOVE_E"; break; - case 247: std::get<1>(result) = "A_MOVE_W"; break; - case 248: std::get<1>(result) = "A_MOVE_NW"; break; - case 249: std::get<1>(result) = "A_MOVE_NE"; break; - case 250: std::get<1>(result) = "A_MOVE_SW"; break; - case 251: std::get<1>(result) = "A_MOVE_SE"; break; - case 252: std::get<1>(result) = "A_MOVE_SAME_SQUARE"; break; - case 253: std::get<1>(result) = "A_CARE_MOVE_N"; break; - case 254: std::get<1>(result) = "A_CARE_MOVE_S"; break; - case 255: std::get<1>(result) = "A_CARE_MOVE_E"; break; - case 256: std::get<1>(result) = "A_CARE_MOVE_W"; break; - case 257: std::get<1>(result) = "A_CARE_MOVE_NW"; break; - case 258: std::get<1>(result) = "A_CARE_MOVE_NE"; break; - case 259: std::get<1>(result) = "A_CARE_MOVE_SW"; break; - case 260: std::get<1>(result) = "A_CARE_MOVE_SE"; break; - case 261: std::get<1>(result) = "A_CARE_MOVE_UPDOWN"; break; - case 262: std::get<1>(result) = "A_MOVE_N_UP"; break; - case 263: std::get<1>(result) = "A_MOVE_S_UP"; break; - case 264: std::get<1>(result) = "A_MOVE_E_UP"; break; - case 265: std::get<1>(result) = "A_MOVE_W_UP"; break; - case 266: std::get<1>(result) = "A_MOVE_NW_UP"; break; - case 267: std::get<1>(result) = "A_MOVE_NE_UP"; break; - case 268: std::get<1>(result) = "A_MOVE_SW_UP"; break; - case 269: std::get<1>(result) = "A_MOVE_SE_UP"; break; - case 270: std::get<1>(result) = "A_MOVE_UP"; break; - case 271: std::get<1>(result) = "A_MOVE_N_DOWN"; break; - case 272: std::get<1>(result) = "A_MOVE_S_DOWN"; break; - case 273: std::get<1>(result) = "A_MOVE_E_DOWN"; break; - case 274: std::get<1>(result) = "A_MOVE_W_DOWN"; break; - case 275: std::get<1>(result) = "A_MOVE_NW_DOWN"; break; - case 276: std::get<1>(result) = "A_MOVE_NE_DOWN"; break; - case 277: std::get<1>(result) = "A_MOVE_SW_DOWN"; break; - case 278: std::get<1>(result) = "A_MOVE_SE_DOWN"; break; - case 279: std::get<1>(result) = "A_MOVE_DOWN"; break; - case 280: std::get<1>(result) = "A_MOVE_UP_AUX"; break; - case 281: std::get<1>(result) = "A_MOVE_DOWN_AUX"; break; - case 282: std::get<1>(result) = "A_COMBAT_ATTACK"; break; - case 283: std::get<1>(result) = "A_COMBAT_DODGE"; break; - case 284: std::get<1>(result) = "A_COMBAT_CHARGEDEF"; break; - case 285: std::get<1>(result) = "A_STATUS"; break; - case 286: std::get<1>(result) = "A_STATUS_WRESTLE"; break; - case 287: std::get<1>(result) = "A_STATUS_CUSTOMIZE"; break; - case 288: std::get<1>(result) = "A_STATUS_KILLS"; break; - case 289: std::get<1>(result) = "A_STATUS_HEALTH"; break; - case 290: std::get<1>(result) = "A_STATUS_ATT_SKILL"; break; - case 291: std::get<1>(result) = "A_STATUS_DESC"; break; - case 292: std::get<1>(result) = "A_CLEAR_ANNOUNCEMENTS"; break; - case 293: std::get<1>(result) = "A_SLEEP"; break; - case 294: std::get<1>(result) = "A_SLEEP_SLEEP"; break; - case 295: std::get<1>(result) = "A_SLEEP_WAIT"; break; - case 296: std::get<1>(result) = "A_SLEEP_DAWN"; break; - case 297: std::get<1>(result) = "A_WAIT"; break; - case 298: std::get<1>(result) = "A_SHORT_WAIT"; break; - case 299: std::get<1>(result) = "A_ATTACK"; break; - case 300: std::get<1>(result) = "A_ATTACK_CONFIRM"; break; - case 301: std::get<1>(result) = "QUICK_ATTACK"; break; - case 302: std::get<1>(result) = "HEAVY_ATTACK"; break; - case 303: std::get<1>(result) = "WILD_ATTACK"; break; - case 304: std::get<1>(result) = "PRECISE_ATTACK"; break; - case 305: std::get<1>(result) = "CHARGE_ATTACK"; break; - case 306: std::get<1>(result) = "MULTI_ATTACK"; break; - case 307: std::get<1>(result) = "A_LOOK"; break; - case 308: std::get<1>(result) = "A_SEARCH"; break; - case 309: std::get<1>(result) = "A_ODOR"; break; - case 310: std::get<1>(result) = "A_DISPLAY_ODOR"; break; - case 311: std::get<1>(result) = "A_YIELD"; break; - case 312: std::get<1>(result) = "A_DISPLAY_TRACKS"; break; - case 313: std::get<1>(result) = "A_FRESHEST_TRACK"; break; - case 314: std::get<1>(result) = "A_INV_DRAW_WEAPON"; break; - case 315: std::get<1>(result) = "A_JUMP"; break; - case 316: std::get<1>(result) = "A_HOLD"; break; - case 317: std::get<1>(result) = "A_TALK"; break; - case 318: std::get<1>(result) = "A_ASSUME_IDENTITY_NEW"; break; - case 319: std::get<1>(result) = "A_ASSUME_IDENTITY_NONE"; break; - case 320: std::get<1>(result) = "A_ASSUME_IDENTITY_NAME"; break; - case 321: std::get<1>(result) = "A_ASSUME_IDENTITY_ORIGIN"; break; - case 322: std::get<1>(result) = "A_ASSUME_IDENTITY_PROFESSION"; break; - case 323: std::get<1>(result) = "A_ASSUME_IDENTITY_WORSHIP"; break; - case 324: std::get<1>(result) = "A_INTERACT"; break; - case 325: std::get<1>(result) = "A_ACTION"; break; - case 326: std::get<1>(result) = "A_ACTION_CREATE"; break; - case 327: std::get<1>(result) = "A_ACTION_BUTCHER"; break; - case 328: std::get<1>(result) = "A_ACTION_ABILITY"; break; - case 329: std::get<1>(result) = "A_ACTION_POWER"; break; - case 330: std::get<1>(result) = "A_ACTION_COMPOSE"; break; - case 331: std::get<1>(result) = "A_ACTION_WRITE"; break; - case 332: std::get<1>(result) = "A_CONSTRUCTION"; break; - case 333: std::get<1>(result) = "ADV_CONSTRUCTION_ZONE_NEW"; break; - case 334: std::get<1>(result) = "ADV_CONSTRUCTION_ZONE_EDIT"; break; - case 335: std::get<1>(result) = "ADV_CONSTRUCTION_ZONE_ASSIGN"; break; - case 336: std::get<1>(result) = "ADV_CONSTRUCTION_ZONE_DELETE"; break; - case 337: std::get<1>(result) = "ADV_CONSTRUCTION_ZONE_RECT"; break; - case 338: std::get<1>(result) = "ADV_CONSTRUCTION_ZONE_FLOW"; break; - case 339: std::get<1>(result) = "ADV_CONSTRUCTION_ZONE_REMOVE_RECT"; break; - case 340: std::get<1>(result) = "ADV_CONSTRUCTION_STAIR_UPDOWN"; break; - case 341: std::get<1>(result) = "ADV_CONSTRUCTION_REMOVE_PLANS"; break; - case 342: std::get<1>(result) = "ADV_CONSTRUCTION_REMOVE_EXISTING"; break; - case 343: std::get<1>(result) = "ADV_CONSTRUCTION_MATERIAL"; break; - case 344: std::get<1>(result) = "ADV_CONSTRUCTION_CONSTRUCTION"; break; - case 345: std::get<1>(result) = "ADV_CONSTRUCTION_BUILDING"; break; - case 346: std::get<1>(result) = "ADV_CONSTRUCTION_ZONE"; break; - case 347: std::get<1>(result) = "ADV_CONSTRUCTION_WORK_MENU"; break; - case 348: std::get<1>(result) = "ADV_CONSTRUCTION_NAME_SITE"; break; - case 349: std::get<1>(result) = "ADV_CONSTRUCTION_YOU_WORK"; break; - case 350: std::get<1>(result) = "ADV_CONSTRUCTION_START"; break; - case 351: std::get<1>(result) = "A_COMPOSE_FILTER"; break; - case 352: std::get<1>(result) = "A_INV_LOOK"; break; - case 353: std::get<1>(result) = "A_INV_REMOVE"; break; - case 354: std::get<1>(result) = "A_INV_WEAR"; break; - case 355: std::get<1>(result) = "A_INV_EATDRINK"; break; - case 356: std::get<1>(result) = "A_INV_PUTIN"; break; - case 357: std::get<1>(result) = "A_INV_DROP"; break; - case 358: std::get<1>(result) = "A_GROUND"; break; - case 359: std::get<1>(result) = "A_THROW"; break; - case 360: std::get<1>(result) = "A_SHOOT"; break; - case 361: std::get<1>(result) = "A_ANNOUNCEMENTS"; break; - case 362: std::get<1>(result) = "A_COMBAT"; break; - case 363: std::get<1>(result) = "A_MOVEMENT"; break; - case 364: std::get<1>(result) = "A_MOVEMENT_SWIM"; break; - case 365: std::get<1>(result) = "A_SNEAK"; break; - case 366: std::get<1>(result) = "A_SPEED_SNEAK"; break; - case 367: std::get<1>(result) = "A_CENTER"; break; - case 368: std::get<1>(result) = "A_COMPANIONS"; break; - case 369: std::get<1>(result) = "A_BUILDING"; break; - case 370: std::get<1>(result) = "A_TRAVEL"; break; - case 371: std::get<1>(result) = "A_TRAVEL_SLEEP"; break; - case 372: std::get<1>(result) = "A_TRAVEL_MAP"; break; - case 373: std::get<1>(result) = "A_TRAVEL_HIDE_INSTRUCTIONS"; break; - case 374: std::get<1>(result) = "A_DATE"; break; - case 375: std::get<1>(result) = "A_WEATHER"; break; - case 376: std::get<1>(result) = "A_TEMPERATURE"; break; - case 377: std::get<1>(result) = "A_STANCE"; break; - case 378: std::get<1>(result) = "A_ENTER_NAME"; break; - case 379: std::get<1>(result) = "A_CUST_NAME"; break; - case 380: std::get<1>(result) = "A_RANDOM_NAME"; break; - case 381: std::get<1>(result) = "A_RANDOM_APPEARANCE"; break; - case 382: std::get<1>(result) = "A_RANDOM_APPEARANCE_FULL"; break; - case 383: std::get<1>(result) = "A_RANDOM_PERSONALITY"; break; - case 384: std::get<1>(result) = "A_CUSTOM_PERSONALITY"; break; - case 385: std::get<1>(result) = "A_CHANGE_DREAM"; break; - case 386: std::get<1>(result) = "A_CHANGE_GENDER"; break; - case 387: std::get<1>(result) = "A_END_TRAVEL"; break; - case 388: std::get<1>(result) = "A_TRAVEL_CLOUDS"; break; - case 389: std::get<1>(result) = "A_LOG"; break; - case 390: std::get<1>(result) = "A_TRAVEL_LOG"; break; - case 391: std::get<1>(result) = "A_LOG_SORT"; break; - case 392: std::get<1>(result) = "A_LOG_PIN"; break; - case 393: std::get<1>(result) = "A_LOG_ENTITIES"; break; - case 394: std::get<1>(result) = "A_LOG_SITES"; break; - case 395: std::get<1>(result) = "A_LOG_SUBREGIONS"; break; - case 396: std::get<1>(result) = "A_LOG_FEATURE_LAYERS"; break; - case 397: std::get<1>(result) = "A_LOG_PEOPLE"; break; - case 398: std::get<1>(result) = "A_LOG_AGREEMENTS"; break; - case 399: std::get<1>(result) = "A_LOG_EVENTS"; break; - case 400: std::get<1>(result) = "A_LOG_BESTIARY"; break; - case 401: std::get<1>(result) = "A_LOG_ARTIFACTS"; break; - case 402: std::get<1>(result) = "A_LOG_FILTER"; break; - case 403: std::get<1>(result) = "A_LOG_ZOOM_CURRENT_LOCATION"; break; - case 404: std::get<1>(result) = "A_LOG_ZOOM_SELECTED"; break; - case 405: std::get<1>(result) = "A_LOG_LINE"; break; - case 406: std::get<1>(result) = "A_LOG_MAP"; break; - case 407: std::get<1>(result) = "A_BARTER_VIEW"; break; - case 408: std::get<1>(result) = "A_BARTER_CURRENCY_1"; break; - case 409: std::get<1>(result) = "A_BARTER_CURRENCY_2"; break; - case 410: std::get<1>(result) = "A_BARTER_TRADE"; break; - case 411: std::get<1>(result) = "A_BARTER_SHOW"; break; - case 412: std::get<1>(result) = "SETUP_EMBARK"; break; - case 413: std::get<1>(result) = "SETUP_NAME_FORT"; break; - case 414: std::get<1>(result) = "SETUP_NAME_GROUP"; break; - case 415: std::get<1>(result) = "SETUP_SYMBOL"; break; - case 416: std::get<1>(result) = "SETUP_RECLAIM"; break; - case 417: std::get<1>(result) = "SETUP_FIND"; break; - case 418: std::get<1>(result) = "SETUP_NOTES"; break; - case 419: std::get<1>(result) = "SETUP_NOTES_TAKE_NOTES"; break; - case 420: std::get<1>(result) = "SETUP_NOTES_DELETE_NOTE"; break; - case 421: std::get<1>(result) = "SETUP_NOTES_CHANGE_SYMBOL_SELECTION"; break; - case 422: std::get<1>(result) = "SETUP_NOTES_ADOPT_SYMBOL"; break; - case 423: std::get<1>(result) = "SETUP_LOCAL_Y_UP"; break; - case 424: std::get<1>(result) = "SETUP_LOCAL_Y_DOWN"; break; - case 425: std::get<1>(result) = "SETUP_LOCAL_X_UP"; break; - case 426: std::get<1>(result) = "SETUP_LOCAL_X_DOWN"; break; - case 427: std::get<1>(result) = "SETUP_LOCAL_Y_MUP"; break; - case 428: std::get<1>(result) = "SETUP_LOCAL_Y_MDOWN"; break; - case 429: std::get<1>(result) = "SETUP_LOCAL_X_MUP"; break; - case 430: std::get<1>(result) = "SETUP_LOCAL_X_MDOWN"; break; - case 431: std::get<1>(result) = "SETUP_BIOME_1"; break; - case 432: std::get<1>(result) = "SETUP_BIOME_2"; break; - case 433: std::get<1>(result) = "SETUP_BIOME_3"; break; - case 434: std::get<1>(result) = "SETUP_BIOME_4"; break; - case 435: std::get<1>(result) = "SETUP_BIOME_5"; break; - case 436: std::get<1>(result) = "SETUP_BIOME_6"; break; - case 437: std::get<1>(result) = "SETUP_BIOME_7"; break; - case 438: std::get<1>(result) = "SETUP_BIOME_8"; break; - case 439: std::get<1>(result) = "SETUP_BIOME_9"; break; - case 440: std::get<1>(result) = "CHOOSE_NAME_RANDOM"; break; - case 441: std::get<1>(result) = "CHOOSE_NAME_CLEAR"; break; - case 442: std::get<1>(result) = "CHOOSE_NAME_TYPE"; break; - case 443: std::get<1>(result) = "CHOOSE_NAME_FIRST"; break; - case 444: std::get<1>(result) = "SETUPGAME_NEW"; break; - case 445: std::get<1>(result) = "SETUPGAME_VIEW"; break; - case 446: std::get<1>(result) = "SETUPGAME_CUSTOMIZE_UNIT"; break; - case 447: std::get<1>(result) = "SETUPGAME_SAVE_PROFILE"; break; - case 448: std::get<1>(result) = "SETUPGAME_SAVE_PROFILE_ABORT"; break; - case 449: std::get<1>(result) = "SETUPGAME_SAVE_PROFILE_GO"; break; - case 450: std::get<1>(result) = "SETUPGAME_VIEW_PROFILE_PROBLEMS"; break; - case 451: std::get<1>(result) = "BUILDJOB_ADD"; break; - case 452: std::get<1>(result) = "BUILDJOB_CANCEL"; break; - case 453: std::get<1>(result) = "BUILDJOB_NAME"; break; - case 454: std::get<1>(result) = "BUILDJOB_PROMOTE"; break; - case 455: std::get<1>(result) = "BUILDJOB_NOW"; break; - case 456: std::get<1>(result) = "BUILDJOB_REPEAT"; break; - case 457: std::get<1>(result) = "BUILDJOB_SUSPEND"; break; - case 458: std::get<1>(result) = "BUILDJOB_WORKSHOP_PROFILE"; break; - case 459: std::get<1>(result) = "BUILDJOB_DETAILS"; break; - case 460: std::get<1>(result) = "BUILDJOB_DETAILS_FILTER"; break; - case 461: std::get<1>(result) = "BUILDJOB_WELL_FREE"; break; - case 462: std::get<1>(result) = "BUILDJOB_WELL_SIZE"; break; - case 463: std::get<1>(result) = "BUILDJOB_TARGET_FREE"; break; - case 464: std::get<1>(result) = "BUILDJOB_TARGET_SIZE"; break; - case 465: std::get<1>(result) = "BUILDJOB_TARGET_DOWN"; break; - case 466: std::get<1>(result) = "BUILDJOB_TARGET_UP"; break; - case 467: std::get<1>(result) = "BUILDJOB_TARGET_RIGHT"; break; - case 468: std::get<1>(result) = "BUILDJOB_TARGET_LEFT"; break; - case 469: std::get<1>(result) = "BUILDJOB_STATUE_ASSIGN"; break; - case 470: std::get<1>(result) = "BUILDJOB_STATUE_FREE"; break; - case 471: std::get<1>(result) = "BUILDJOB_STATUE_SIZE"; break; - case 472: std::get<1>(result) = "BUILDJOB_CAGE_JUSTICE"; break; - case 473: std::get<1>(result) = "BUILDJOB_CAGE_FREE"; break; - case 474: std::get<1>(result) = "BUILDJOB_CAGE_SIZE"; break; - case 475: std::get<1>(result) = "BUILDJOB_CAGE_ASSIGN_OCC"; break; - case 476: std::get<1>(result) = "BUILDJOB_CAGE_WATER"; break; - case 477: std::get<1>(result) = "BUILDJOB_CAGE_ASSIGN"; break; - case 478: std::get<1>(result) = "BUILDJOB_CHAIN_ASSIGN_OCC"; break; - case 479: std::get<1>(result) = "BUILDJOB_CHAIN_JUSTICE"; break; - case 480: std::get<1>(result) = "BUILDJOB_CHAIN_ASSIGN"; break; - case 481: std::get<1>(result) = "BUILDJOB_CHAIN_FREE"; break; - case 482: std::get<1>(result) = "BUILDJOB_CHAIN_SIZE"; break; - case 483: std::get<1>(result) = "BUILDJOB_SIEGE_FIRING"; break; - case 484: std::get<1>(result) = "BUILDJOB_SIEGE_ORIENT"; break; - case 485: std::get<1>(result) = "BUILDJOB_DOOR_INTERNAL"; break; - case 486: std::get<1>(result) = "BUILDJOB_DOOR_LOCK"; break; - case 487: std::get<1>(result) = "BUILDJOB_DOOR_AJAR"; break; - case 488: std::get<1>(result) = "BUILDJOB_COFFIN_ASSIGN"; break; - case 489: std::get<1>(result) = "BUILDJOB_COFFIN_FREE"; break; - case 490: std::get<1>(result) = "BUILDJOB_COFFIN_SIZE"; break; - case 491: std::get<1>(result) = "BUILDJOB_COFFIN_BURIAL"; break; - case 492: std::get<1>(result) = "BUILDJOB_COFFIN_CIV"; break; - case 493: std::get<1>(result) = "BUILDJOB_COFFIN_PET"; break; - case 494: std::get<1>(result) = "BUILDJOB_CHAIR_ASSIGN"; break; - case 495: std::get<1>(result) = "BUILDJOB_CHAIR_FREE"; break; - case 496: std::get<1>(result) = "BUILDJOB_CHAIR_SIZE"; break; - case 497: std::get<1>(result) = "BUILDJOB_TABLE_ASSIGN"; break; - case 498: std::get<1>(result) = "BUILDJOB_TABLE_HALL"; break; - case 499: std::get<1>(result) = "BUILDJOB_TABLE_FREE"; break; - case 500: std::get<1>(result) = "BUILDJOB_TABLE_SIZE"; break; - case 501: std::get<1>(result) = "BUILDJOB_BED_ASSIGN"; break; - case 502: std::get<1>(result) = "BUILDJOB_BED_FREE"; break; - case 503: std::get<1>(result) = "BUILDJOB_BED_BARRACKS"; break; - case 504: std::get<1>(result) = "BUILDJOB_BED_DORMITORY"; break; - case 505: std::get<1>(result) = "BUILDJOB_BED_RENT"; break; - case 506: std::get<1>(result) = "BUILDJOB_BED_SIZE"; break; - case 507: std::get<1>(result) = "BUILDJOB_BED_SLEEP"; break; - case 508: std::get<1>(result) = "BUILDJOB_BED_TRAIN"; break; - case 509: std::get<1>(result) = "BUILDJOB_BED_INDIV_EQ"; break; - case 510: std::get<1>(result) = "BUILDJOB_BED_SQUAD_EQ"; break; - case 511: std::get<1>(result) = "BUILDJOB_BED_POSITION"; break; - case 512: std::get<1>(result) = "BUILDJOB_DEPOT_BRING"; break; - case 513: std::get<1>(result) = "BUILDJOB_DEPOT_TRADE"; break; - case 514: std::get<1>(result) = "BUILDJOB_DEPOT_REQUEST_TRADER"; break; - case 515: std::get<1>(result) = "BUILDJOB_DEPOT_BROKER_ONLY"; break; - case 516: std::get<1>(result) = "BUILDJOB_ANIMALTRAP_BAIT_NONE"; break; - case 517: std::get<1>(result) = "BUILDJOB_ANIMALTRAP_BAIT_MEAT"; break; - case 518: std::get<1>(result) = "BUILDJOB_ANIMALTRAP_BAIT_FISH"; break; - case 519: std::get<1>(result) = "BUILDJOB_ANIMALTRAP_BAIT_GEM"; break; - case 520: std::get<1>(result) = "BUILDJOB_FARM_FALLOW"; break; - case 521: std::get<1>(result) = "BUILDJOB_FARM_FERTILIZE"; break; - case 522: std::get<1>(result) = "BUILDJOB_FARM_SEASFERT"; break; - case 523: std::get<1>(result) = "BUILDJOB_FARM_SPRING"; break; - case 524: std::get<1>(result) = "BUILDJOB_FARM_SUMMER"; break; - case 525: std::get<1>(result) = "BUILDJOB_FARM_AUTUMN"; break; - case 526: std::get<1>(result) = "BUILDJOB_FARM_WINTER"; break; - case 527: std::get<1>(result) = "BUILDJOB_RACK_MAT_BONE"; break; - case 528: std::get<1>(result) = "BUILDJOB_RACK_MAT_BRONZE"; break; - case 529: std::get<1>(result) = "BUILDJOB_RACK_MAT_COPPER"; break; - case 530: std::get<1>(result) = "BUILDJOB_RACK_MAT_IRON"; break; - case 531: std::get<1>(result) = "BUILDJOB_RACK_MAT_STEEL"; break; - case 532: std::get<1>(result) = "BUILDJOB_RACK_MAT_WOOD"; break; - case 533: std::get<1>(result) = "BUILDJOB_RACK_MAT_METAL"; break; - case 534: std::get<1>(result) = "BUILDJOB_STAND_MAT_BONE"; break; - case 535: std::get<1>(result) = "BUILDJOB_STAND_MAT_LEATHER"; break; - case 536: std::get<1>(result) = "BUILDJOB_STAND_MAT_COPPER"; break; - case 537: std::get<1>(result) = "BUILDJOB_STAND_MAT_BRONZE"; break; - case 538: std::get<1>(result) = "BUILDJOB_STAND_MAT_STEEL"; break; - case 539: std::get<1>(result) = "BUILDJOB_STAND_MAT_IRON"; break; - case 540: std::get<1>(result) = "BUILDJOB_STAND_MAT_WOOD"; break; - case 541: std::get<1>(result) = "BUILDJOB_STAND_MAT_METAL"; break; - case 542: std::get<1>(result) = "BUILDJOB_RACKSTAND_ASSIGN"; break; - case 543: std::get<1>(result) = "BUILDJOB_RACKSTAND_FREE"; break; - case 544: std::get<1>(result) = "BUILDJOB_RACKSTAND_SIZE"; break; - case 545: std::get<1>(result) = "BUILDJOB_RACKSTAND_ITEM"; break; - case 546: std::get<1>(result) = "BUILDJOB_RACKSTAND_MAT"; break; - case 547: std::get<1>(result) = "BUILDJOB_RACKSTAND_DEFAULTS1"; break; - case 548: std::get<1>(result) = "BUILDJOB_RACKSTAND_KILL1"; break; - case 549: std::get<1>(result) = "BUILDJOB_RACKSTAND_DEFAULTS2"; break; - case 550: std::get<1>(result) = "BUILDJOB_RACKSTAND_KILL2"; break; - case 551: std::get<1>(result) = "BUILDJOB_DISPLAY_FURNITURE_SET"; break; - case 552: std::get<1>(result) = "BUILDJOB_DISPLAY_FURNITURE_CANCEL"; break; - case 553: std::get<1>(result) = "HOTKEY_BUILDING_ARMORSTAND"; break; - case 554: std::get<1>(result) = "HOTKEY_BUILDING_BED"; break; - case 555: std::get<1>(result) = "HOTKEY_BUILDING_CHAIR"; break; - case 556: std::get<1>(result) = "HOTKEY_BUILDING_COFFIN"; break; - case 557: std::get<1>(result) = "HOTKEY_BUILDING_DOOR"; break; - case 558: std::get<1>(result) = "HOTKEY_BUILDING_FLOODGATE"; break; - case 559: std::get<1>(result) = "HOTKEY_BUILDING_HATCH"; break; - case 560: std::get<1>(result) = "HOTKEY_BUILDING_GRATE_WALL"; break; - case 561: std::get<1>(result) = "HOTKEY_BUILDING_GRATE_FLOOR"; break; - case 562: std::get<1>(result) = "HOTKEY_BUILDING_BARS_VERTICAL"; break; - case 563: std::get<1>(result) = "HOTKEY_BUILDING_BARS_FLOOR"; break; - case 564: std::get<1>(result) = "HOTKEY_BUILDING_CABINET"; break; - case 565: std::get<1>(result) = "HOTKEY_BUILDING_BOX"; break; - case 566: std::get<1>(result) = "HOTKEY_BUILDING_KENNEL"; break; - case 567: std::get<1>(result) = "HOTKEY_BUILDING_FARMPLOT"; break; - case 568: std::get<1>(result) = "HOTKEY_BUILDING_WEAPONRACK"; break; - case 569: std::get<1>(result) = "HOTKEY_BUILDING_STATUE"; break; - case 570: std::get<1>(result) = "HOTKEY_BUILDING_TABLE"; break; - case 571: std::get<1>(result) = "HOTKEY_BUILDING_ROAD_DIRT"; break; - case 572: std::get<1>(result) = "HOTKEY_BUILDING_ROAD_PAVED"; break; - case 573: std::get<1>(result) = "HOTKEY_BUILDING_BRIDGE"; break; - case 574: std::get<1>(result) = "HOTKEY_BUILDING_WELL"; break; - case 575: std::get<1>(result) = "HOTKEY_BUILDING_SIEGEENGINE"; break; - case 576: std::get<1>(result) = "HOTKEY_BUILDING_WORKSHOP"; break; - case 577: std::get<1>(result) = "HOTKEY_BUILDING_FURNACE"; break; - case 578: std::get<1>(result) = "HOTKEY_BUILDING_WINDOW_GLASS"; break; - case 579: std::get<1>(result) = "HOTKEY_BUILDING_WINDOW_GEM"; break; - case 580: std::get<1>(result) = "HOTKEY_BUILDING_SHOP"; break; - case 581: std::get<1>(result) = "HOTKEY_BUILDING_ANIMALTRAP"; break; - case 582: std::get<1>(result) = "HOTKEY_BUILDING_CHAIN"; break; - case 583: std::get<1>(result) = "HOTKEY_BUILDING_CAGE"; break; - case 584: std::get<1>(result) = "HOTKEY_BUILDING_TRADEDEPOT"; break; - case 585: std::get<1>(result) = "HOTKEY_BUILDING_TRAP"; break; - case 586: std::get<1>(result) = "HOTKEY_BUILDING_MACHINE"; break; - case 587: std::get<1>(result) = "HOTKEY_BUILDING_INSTRUMENT"; break; - case 588: std::get<1>(result) = "HOTKEY_BUILDING_SUPPORT"; break; - case 589: std::get<1>(result) = "HOTKEY_BUILDING_ARCHERYTARGET"; break; - case 590: std::get<1>(result) = "HOTKEY_BUILDING_TRACTION_BENCH"; break; - case 591: std::get<1>(result) = "HOTKEY_BUILDING_SLAB"; break; - case 592: std::get<1>(result) = "HOTKEY_BUILDING_NEST_BOX"; break; - case 593: std::get<1>(result) = "HOTKEY_BUILDING_BOOKCASE"; break; - case 594: std::get<1>(result) = "HOTKEY_BUILDING_HIVE"; break; - case 595: std::get<1>(result) = "HOTKEY_BUILDING_DISPLAY_FURNITURE"; break; - case 596: std::get<1>(result) = "HOTKEY_BUILDING_MACHINE_SCREW_PUMP"; break; - case 597: std::get<1>(result) = "HOTKEY_BUILDING_MACHINE_WATER_WHEEL"; break; - case 598: std::get<1>(result) = "HOTKEY_BUILDING_MACHINE_WINDMILL"; break; - case 599: std::get<1>(result) = "HOTKEY_BUILDING_MACHINE_GEAR_ASSEMBLY"; break; - case 600: std::get<1>(result) = "HOTKEY_BUILDING_MACHINE_AXLE_VERTICAL"; break; - case 601: std::get<1>(result) = "HOTKEY_BUILDING_MACHINE_AXLE_HORIZONTAL"; break; - case 602: std::get<1>(result) = "HOTKEY_BUILDING_MACHINE_ROLLERS"; break; - case 603: std::get<1>(result) = "HOTKEY_BUILDING_SIEGEENGINE_BALLISTA"; break; - case 604: std::get<1>(result) = "HOTKEY_BUILDING_SIEGEENGINE_CATAPULT"; break; - case 605: std::get<1>(result) = "HOTKEY_BUILDING_TRAP_STONE"; break; - case 606: std::get<1>(result) = "HOTKEY_BUILDING_TRAP_WEAPON"; break; - case 607: std::get<1>(result) = "HOTKEY_BUILDING_TRAP_LEVER"; break; - case 608: std::get<1>(result) = "HOTKEY_BUILDING_TRAP_TRIGGER"; break; - case 609: std::get<1>(result) = "HOTKEY_BUILDING_TRAP_CAGE"; break; - case 610: std::get<1>(result) = "HOTKEY_BUILDING_TRAP_SPIKE"; break; - case 611: std::get<1>(result) = "HOTKEY_BUILDING_CONSTRUCTION"; break; - case 612: std::get<1>(result) = "HOTKEY_BUILDING_CONSTRUCTION_WALL"; break; - case 613: std::get<1>(result) = "HOTKEY_BUILDING_CONSTRUCTION_FLOOR"; break; - case 614: std::get<1>(result) = "HOTKEY_BUILDING_CONSTRUCTION_RAMP"; break; - case 615: std::get<1>(result) = "HOTKEY_BUILDING_CONSTRUCTION_STAIR_UP"; break; - case 616: std::get<1>(result) = "HOTKEY_BUILDING_CONSTRUCTION_STAIR_DOWN"; break; - case 617: std::get<1>(result) = "HOTKEY_BUILDING_CONSTRUCTION_STAIR_UPDOWN"; break; - case 618: std::get<1>(result) = "HOTKEY_BUILDING_CONSTRUCTION_FORTIFICATION"; break; - case 619: std::get<1>(result) = "HOTKEY_BUILDING_CONSTRUCTION_TRACK"; break; - case 620: std::get<1>(result) = "HOTKEY_BUILDING_CONSTRUCTION_TRACK_STOP"; break; - case 621: std::get<1>(result) = "HOTKEY_BUILDING_WORKSHOP_LEATHER"; break; - case 622: std::get<1>(result) = "HOTKEY_BUILDING_WORKSHOP_QUERN"; break; - case 623: std::get<1>(result) = "HOTKEY_BUILDING_WORKSHOP_MILLSTONE"; break; - case 624: std::get<1>(result) = "HOTKEY_BUILDING_WORKSHOP_LOOM"; break; - case 625: std::get<1>(result) = "HOTKEY_BUILDING_WORKSHOP_CLOTHES"; break; - case 626: std::get<1>(result) = "HOTKEY_BUILDING_WORKSHOP_BOWYER"; break; - case 627: std::get<1>(result) = "HOTKEY_BUILDING_WORKSHOP_CARPENTER"; break; - case 628: std::get<1>(result) = "HOTKEY_BUILDING_WORKSHOP_METALSMITH"; break; - case 629: std::get<1>(result) = "HOTKEY_BUILDING_WORKSHOP_LAVAMILL"; break; - case 630: std::get<1>(result) = "HOTKEY_BUILDING_WORKSHOP_JEWELER"; break; - case 631: std::get<1>(result) = "HOTKEY_BUILDING_WORKSHOP_MASON"; break; - case 632: std::get<1>(result) = "HOTKEY_BUILDING_WORKSHOP_BUTCHER"; break; - case 633: std::get<1>(result) = "HOTKEY_BUILDING_WORKSHOP_TANNER"; break; - case 634: std::get<1>(result) = "HOTKEY_BUILDING_WORKSHOP_DYER"; break; - case 635: std::get<1>(result) = "HOTKEY_BUILDING_WORKSHOP_CRAFTSMAN"; break; - case 636: std::get<1>(result) = "HOTKEY_BUILDING_WORKSHOP_SIEGE"; break; - case 637: std::get<1>(result) = "HOTKEY_BUILDING_WORKSHOP_MECHANIC"; break; - case 638: std::get<1>(result) = "HOTKEY_BUILDING_WORKSHOP_STILL"; break; - case 639: std::get<1>(result) = "HOTKEY_BUILDING_WORKSHOP_FARMER"; break; - case 640: std::get<1>(result) = "HOTKEY_BUILDING_WORKSHOP_KITCHEN"; break; - case 641: std::get<1>(result) = "HOTKEY_BUILDING_WORKSHOP_FISHERY"; break; - case 642: std::get<1>(result) = "HOTKEY_BUILDING_WORKSHOP_ASHERY"; break; - case 643: std::get<1>(result) = "HOTKEY_BUILDING_FURNACE_WOOD"; break; - case 644: std::get<1>(result) = "HOTKEY_BUILDING_FURNACE_SMELTER"; break; - case 645: std::get<1>(result) = "HOTKEY_BUILDING_FURNACE_GLASS"; break; - case 646: std::get<1>(result) = "HOTKEY_BUILDING_FURNACE_KILN"; break; - case 647: std::get<1>(result) = "HOTKEY_BUILDING_FURNACE_SMELTER_LAVA"; break; - case 648: std::get<1>(result) = "HOTKEY_BUILDING_FURNACE_GLASS_LAVA"; break; - case 649: std::get<1>(result) = "HOTKEY_BUILDING_FURNACE_KILN_LAVA"; break; - case 650: std::get<1>(result) = "HIVE_INSTALL_COLONY"; break; - case 651: std::get<1>(result) = "HIVE_GATHER_PRODUCTS"; break; - case 652: std::get<1>(result) = "BUILDING_DIM_Y_UP"; break; - case 653: std::get<1>(result) = "BUILDING_DIM_Y_DOWN"; break; - case 654: std::get<1>(result) = "BUILDING_DIM_X_UP"; break; - case 655: std::get<1>(result) = "BUILDING_DIM_X_DOWN"; break; - case 656: std::get<1>(result) = "BUILDING_ORIENT_UP"; break; - case 657: std::get<1>(result) = "BUILDING_ORIENT_LEFT"; break; - case 658: std::get<1>(result) = "BUILDING_ORIENT_RIGHT"; break; - case 659: std::get<1>(result) = "BUILDING_ORIENT_DOWN"; break; - case 660: std::get<1>(result) = "BUILDING_ORIENT_NONE"; break; - case 661: std::get<1>(result) = "BUILDING_VIEW_ITEM"; break; - case 662: std::get<1>(result) = "BUILDING_ADVANCE_STAGE"; break; - case 663: std::get<1>(result) = "BUILDING_EXPAND_CONTRACT"; break; - case 664: std::get<1>(result) = "BUILDING_TRIGGER_ENABLE_WATER"; break; - case 665: std::get<1>(result) = "BUILDING_TRIGGER_MIN_WATER_UP"; break; - case 666: std::get<1>(result) = "BUILDING_TRIGGER_MIN_WATER_DOWN"; break; - case 667: std::get<1>(result) = "BUILDING_TRIGGER_MAX_WATER_UP"; break; - case 668: std::get<1>(result) = "BUILDING_TRIGGER_MAX_WATER_DOWN"; break; - case 669: std::get<1>(result) = "BUILDING_TRIGGER_ENABLE_MAGMA"; break; - case 670: std::get<1>(result) = "BUILDING_TRIGGER_MIN_MAGMA_UP"; break; - case 671: std::get<1>(result) = "BUILDING_TRIGGER_MIN_MAGMA_DOWN"; break; - case 672: std::get<1>(result) = "BUILDING_TRIGGER_MAX_MAGMA_UP"; break; - case 673: std::get<1>(result) = "BUILDING_TRIGGER_MAX_MAGMA_DOWN"; break; - case 674: std::get<1>(result) = "BUILDING_TRIGGER_ENABLE_TRACK_CART"; break; - case 675: std::get<1>(result) = "BUILDING_TRIGGER_MIN_TRACK_CART_DOWN"; break; - case 676: std::get<1>(result) = "BUILDING_TRIGGER_MIN_TRACK_CART_UP"; break; - case 677: std::get<1>(result) = "BUILDING_TRIGGER_MAX_TRACK_CART_DOWN"; break; - case 678: std::get<1>(result) = "BUILDING_TRIGGER_MAX_TRACK_CART_UP"; break; - case 679: std::get<1>(result) = "BUILDING_TRIGGER_ENABLE_CREATURE"; break; - case 680: std::get<1>(result) = "BUILDING_TRIGGER_ENABLE_LOCALS"; break; - case 681: std::get<1>(result) = "BUILDING_TRIGGER_RESETS"; break; - case 682: std::get<1>(result) = "BUILDING_TRIGGER_MIN_SIZE_UP"; break; - case 683: std::get<1>(result) = "BUILDING_TRIGGER_MIN_SIZE_DOWN"; break; - case 684: std::get<1>(result) = "BUILDING_TRIGGER_MAX_SIZE_UP"; break; - case 685: std::get<1>(result) = "BUILDING_TRIGGER_MAX_SIZE_DOWN"; break; - case 686: std::get<1>(result) = "BUILDING_TRIGGER_MIN_SIZE_UP_PLUS"; break; - case 687: std::get<1>(result) = "BUILDING_TRIGGER_MIN_SIZE_DOWN_PLUS"; break; - case 688: std::get<1>(result) = "BUILDING_TRIGGER_MAX_SIZE_UP_PLUS"; break; - case 689: std::get<1>(result) = "BUILDING_TRIGGER_MAX_SIZE_DOWN_PLUS"; break; - case 690: std::get<1>(result) = "BUILDING_ROLLERS_SPEED_UP"; break; - case 691: std::get<1>(result) = "BUILDING_ROLLERS_SPEED_DOWN"; break; - case 692: std::get<1>(result) = "BUILDING_TRACK_STOP_FRICTION_UP"; break; - case 693: std::get<1>(result) = "BUILDING_TRACK_STOP_FRICTION_DOWN"; break; - case 694: std::get<1>(result) = "BUILDING_TRACK_STOP_DUMP"; break; - case 695: std::get<1>(result) = "DESTROYBUILDING"; break; - case 696: std::get<1>(result) = "SUSPENDBUILDING"; break; - case 697: std::get<1>(result) = "BUILDINGLIST_ZOOM_T"; break; - case 698: std::get<1>(result) = "BUILDINGLIST_ZOOM_Q"; break; - case 699: std::get<1>(result) = "RECENTER_ON_LEVER"; break; - case 700: std::get<1>(result) = "ASSIGN_LOCATION"; break; - case 701: std::get<1>(result) = "LOCATION_NEW"; break; - case 702: std::get<1>(result) = "LOCATION_RETIRE"; break; - case 703: std::get<1>(result) = "LOCATION_INN_TAVERN"; break; - case 704: std::get<1>(result) = "LOCATION_TEMPLE"; break; - case 705: std::get<1>(result) = "LOCATION_LIBRARY"; break; - case 706: std::get<1>(result) = "LOCATION_MAIN_HALL"; break; - case 707: std::get<1>(result) = "LOCATION_RENAME"; break; - case 708: std::get<1>(result) = "LOCATION_DETAILS"; break; - case 709: std::get<1>(result) = "LOCATION_RESTRICTION"; break; - case 710: std::get<1>(result) = "LOCATION_SET_NUMBER_1"; break; - case 711: std::get<1>(result) = "LOCATION_SET_NUMBER_2"; break; - case 712: std::get<1>(result) = "HOTKEY_MAKE_ASH"; break; - case 713: std::get<1>(result) = "HOTKEY_MAKE_CHARCOAL"; break; - case 714: std::get<1>(result) = "HOTKEY_MELT_OBJECT"; break; - case 715: std::get<1>(result) = "HOTKEY_GLASS_GREEN"; break; - case 716: std::get<1>(result) = "HOTKEY_GLASS_CLEAR"; break; - case 717: std::get<1>(result) = "HOTKEY_GLASS_CRYSTAL"; break; - case 718: std::get<1>(result) = "HOTKEY_COLLECT_SAND"; break; - case 719: std::get<1>(result) = "HOTKEY_COLLECT_CLAY"; break; - case 720: std::get<1>(result) = "HOTKEY_GLASS_ROUGH"; break; - case 721: std::get<1>(result) = "HOTKEY_GLASS_ARMORSTAND"; break; - case 722: std::get<1>(result) = "HOTKEY_GLASS_BOX"; break; - case 723: std::get<1>(result) = "HOTKEY_GLASS_CABINET"; break; - case 724: std::get<1>(result) = "HOTKEY_GLASS_COFFIN"; break; - case 725: std::get<1>(result) = "HOTKEY_GLASS_FLOODGATE"; break; - case 726: std::get<1>(result) = "HOTKEY_GLASS_HATCH_COVER"; break; - case 727: std::get<1>(result) = "HOTKEY_GLASS_GRATE"; break; - case 728: std::get<1>(result) = "HOTKEY_GLASS_GOBLET"; break; - case 729: std::get<1>(result) = "HOTKEY_GLASS_TOY"; break; - case 730: std::get<1>(result) = "HOTKEY_GLASS_DOOR"; break; - case 731: std::get<1>(result) = "HOTKEY_GLASS_STATUE"; break; - case 732: std::get<1>(result) = "HOTKEY_GLASS_TABLE"; break; - case 733: std::get<1>(result) = "HOTKEY_GLASS_CAGE"; break; - case 734: std::get<1>(result) = "HOTKEY_GLASS_CHAIR"; break; - case 735: std::get<1>(result) = "HOTKEY_GLASS_BLOCKS"; break; - case 736: std::get<1>(result) = "HOTKEY_GLASS_FLASK"; break; - case 737: std::get<1>(result) = "HOTKEY_GLASS_WEAPONRACK"; break; - case 738: std::get<1>(result) = "HOTKEY_GLASS_WINDOW"; break; - case 739: std::get<1>(result) = "HOTKEY_ASHERY_LYE"; break; - case 740: std::get<1>(result) = "HOTKEY_ASHERY_POTASH"; break; - case 741: std::get<1>(result) = "HOTKEY_ASHERY_POTASH_DIRECT"; break; - case 742: std::get<1>(result) = "HOTKEY_CARPENTER_BARREL"; break; - case 743: std::get<1>(result) = "HOTKEY_CARPENTER_BLOCKS"; break; - case 744: std::get<1>(result) = "HOTKEY_CARPENTER_BUCKET"; break; - case 745: std::get<1>(result) = "HOTKEY_CARPENTER_TRAP_ANIMAL"; break; - case 746: std::get<1>(result) = "HOTKEY_CARPENTER_CAGE"; break; - case 747: std::get<1>(result) = "HOTKEY_CARPENTER_ARMORSTAND"; break; - case 748: std::get<1>(result) = "HOTKEY_CARPENTER_BED"; break; - case 749: std::get<1>(result) = "HOTKEY_CARPENTER_CHAIR"; break; - case 750: std::get<1>(result) = "HOTKEY_CARPENTER_COFFIN"; break; - case 751: std::get<1>(result) = "HOTKEY_CARPENTER_DOOR"; break; - case 752: std::get<1>(result) = "HOTKEY_CARPENTER_FLOODGATE"; break; - case 753: std::get<1>(result) = "HOTKEY_CARPENTER_HATCH_COVER"; break; - case 754: std::get<1>(result) = "HOTKEY_CARPENTER_GRATE"; break; - case 755: std::get<1>(result) = "HOTKEY_CARPENTER_CABINET"; break; - case 756: std::get<1>(result) = "HOTKEY_CARPENTER_BIN"; break; - case 757: std::get<1>(result) = "HOTKEY_CARPENTER_BOX"; break; - case 758: std::get<1>(result) = "HOTKEY_CARPENTER_WEAPONRACK"; break; - case 759: std::get<1>(result) = "HOTKEY_CARPENTER_TABLE"; break; - case 760: std::get<1>(result) = "HOTKEY_SIEGE_BALLISTA"; break; - case 761: std::get<1>(result) = "HOTKEY_SIEGE_CATAPULT"; break; - case 762: std::get<1>(result) = "HOTKEY_LEATHER_BOX"; break; - case 763: std::get<1>(result) = "HOTKEY_LEATHER_FLASK"; break; - case 764: std::get<1>(result) = "HOTKEY_LEATHER_SHIRT"; break; - case 765: std::get<1>(result) = "HOTKEY_LEATHER_CLOAK"; break; - case 766: std::get<1>(result) = "HOTKEY_LEATHER_BACKPACK"; break; - case 767: std::get<1>(result) = "HOTKEY_LEATHER_QUIVER"; break; - case 768: std::get<1>(result) = "HOTKEY_LEATHER_IMAGE"; break; - case 769: std::get<1>(result) = "HOTKEY_CLOTHES_MAT_PLANT"; break; - case 770: std::get<1>(result) = "HOTKEY_CLOTHES_MAT_SILK"; break; - case 771: std::get<1>(result) = "HOTKEY_CLOTHES_MAT_YARN"; break; - case 772: std::get<1>(result) = "HOTKEY_CLOTHES_SHIRT"; break; - case 773: std::get<1>(result) = "HOTKEY_CLOTHES_CLOAK"; break; - case 774: std::get<1>(result) = "HOTKEY_CLOTHES_BOX"; break; - case 775: std::get<1>(result) = "HOTKEY_CLOTHES_CHAIN"; break; - case 776: std::get<1>(result) = "HOTKEY_CLOTHES_IMAGE"; break; - case 777: std::get<1>(result) = "HOTKEY_CRAFTS_MAT_STONE"; break; - case 778: std::get<1>(result) = "HOTKEY_CRAFTS_MAT_WOOD"; break; - case 779: std::get<1>(result) = "HOTKEY_CRAFTS_DEC_BONE"; break; - case 780: std::get<1>(result) = "HOTKEY_CRAFTS_DEC_SHELL"; break; - case 781: std::get<1>(result) = "HOTKEY_CRAFTS_DEC_TOOTH"; break; - case 782: std::get<1>(result) = "HOTKEY_CRAFTS_DEC_HORN"; break; - case 783: std::get<1>(result) = "HOTKEY_CRAFTS_DEC_PEARL"; break; - case 784: std::get<1>(result) = "HOTKEY_CRAFTS_TOTEM"; break; - case 785: std::get<1>(result) = "HOTKEY_CRAFTS_CLOTH"; break; - case 786: std::get<1>(result) = "HOTKEY_CRAFTS_SILK"; break; - case 787: std::get<1>(result) = "HOTKEY_CRAFTS_YARN"; break; - case 788: std::get<1>(result) = "HOTKEY_CRAFTS_SEL_WOOD"; break; - case 789: std::get<1>(result) = "HOTKEY_CRAFTS_SEL_BONE"; break; - case 790: std::get<1>(result) = "HOTKEY_CRAFTS_SEL_SHELL"; break; - case 791: std::get<1>(result) = "HOTKEY_CRAFTS_SHELL"; break; - case 792: std::get<1>(result) = "HOTKEY_CRAFTS_TOOTH"; break; - case 793: std::get<1>(result) = "HOTKEY_CRAFTS_HORN"; break; - case 794: std::get<1>(result) = "HOTKEY_CRAFTS_PEARL"; break; - case 795: std::get<1>(result) = "HOTKEY_CRAFTS_BONE"; break; - case 796: std::get<1>(result) = "HOTKEY_CRAFTS_LEATHER"; break; - case 797: std::get<1>(result) = "HOTKEY_CRAFTS_SLAB"; break; - case 798: std::get<1>(result) = "HOTKEY_CRAFTS_MAT_CRAFTS"; break; - case 799: std::get<1>(result) = "HOTKEY_CRAFTS_MAT_GOBLET"; break; - case 800: std::get<1>(result) = "HOTKEY_CRAFTS_MAT_TOY"; break; - case 801: std::get<1>(result) = "HOTKEY_SMITH_WEAPON"; break; - case 802: std::get<1>(result) = "HOTKEY_SMITH_ARMOR"; break; - case 803: std::get<1>(result) = "HOTKEY_SMITH_FURNITURE"; break; - case 804: std::get<1>(result) = "HOTKEY_SMITH_SIEGE"; break; - case 805: std::get<1>(result) = "HOTKEY_SMITH_TRAP"; break; - case 806: std::get<1>(result) = "HOTKEY_SMITH_OTHER"; break; - case 807: std::get<1>(result) = "HOTKEY_SMITH_METAL"; break; - case 808: std::get<1>(result) = "HOTKEY_ALCHEMIST_SOAP"; break; - case 809: std::get<1>(result) = "HOTKEY_STILL_BREW"; break; - case 810: std::get<1>(result) = "HOTKEY_STILL_EXTRACT"; break; - case 811: std::get<1>(result) = "HOTKEY_LOOM_COLLECT_SILK"; break; - case 812: std::get<1>(result) = "HOTKEY_LOOM_WEAVE_CLOTH"; break; - case 813: std::get<1>(result) = "HOTKEY_LOOM_WEAVE_SILK"; break; - case 814: std::get<1>(result) = "HOTKEY_LOOM_WEAVE_YARN"; break; - case 815: std::get<1>(result) = "HOTKEY_LOOM_WEAVE_METAL"; break; - case 816: std::get<1>(result) = "HOTKEY_KITCHEN_COOK_2"; break; - case 817: std::get<1>(result) = "HOTKEY_KITCHEN_COOK_3"; break; - case 818: std::get<1>(result) = "HOTKEY_KITCHEN_COOK_4"; break; - case 819: std::get<1>(result) = "HOTKEY_KITCHEN_RENDER_FAT"; break; - case 820: std::get<1>(result) = "HOTKEY_FARMER_PROCESS"; break; - case 821: std::get<1>(result) = "HOTKEY_FARMER_PROCESS_VIAL"; break; - case 822: std::get<1>(result) = "HOTKEY_FARMER_PROCESS_BAG"; break; - case 823: std::get<1>(result) = "HOTKEY_FARMER_PROCESS_BARREL"; break; - case 824: std::get<1>(result) = "HOTKEY_FARMER_CHEESE"; break; - case 825: std::get<1>(result) = "HOTKEY_FARMER_MILK"; break; - case 826: std::get<1>(result) = "HOTKEY_FARMER_SHEAR_CREATURE"; break; - case 827: std::get<1>(result) = "HOTKEY_FARMER_SPIN_THREAD"; break; - case 828: std::get<1>(result) = "HOTKEY_MILL_MILL"; break; - case 829: std::get<1>(result) = "HOTKEY_KENNEL_CATCH_VERMIN"; break; - case 830: std::get<1>(result) = "HOTKEY_KENNEL_TAME_VERMIN"; break; - case 831: std::get<1>(result) = "HOTKEY_FISHERY_PROCESS"; break; - case 832: std::get<1>(result) = "HOTKEY_FISHERY_EXTRACT"; break; - case 833: std::get<1>(result) = "HOTKEY_FISHERY_CATCH"; break; - case 834: std::get<1>(result) = "HOTKEY_BUTCHER_BUTCHER"; break; - case 835: std::get<1>(result) = "HOTKEY_BUTCHER_EXTRACT"; break; - case 836: std::get<1>(result) = "HOTKEY_BUTCHER_CATCH"; break; - case 837: std::get<1>(result) = "HOTKEY_TANNER_TAN"; break; - case 838: std::get<1>(result) = "HOTKEY_DYER_THREAD"; break; - case 839: std::get<1>(result) = "HOTKEY_DYER_CLOTH"; break; - case 840: std::get<1>(result) = "HOTKEY_JEWELER_FURNITURE"; break; - case 841: std::get<1>(result) = "HOTKEY_JEWELER_FINISHED"; break; - case 842: std::get<1>(result) = "HOTKEY_JEWELER_AMMO"; break; - case 843: std::get<1>(result) = "HOTKEY_JEWELER_CUT"; break; - case 844: std::get<1>(result) = "HOTKEY_JEWELER_ENCRUST"; break; - case 845: std::get<1>(result) = "HOTKEY_MECHANIC_PARTS"; break; - case 846: std::get<1>(result) = "HOTKEY_MECHANIC_TRACTION_BENCH"; break; - case 847: std::get<1>(result) = "HOTKEY_MASON_ARMORSTAND"; break; - case 848: std::get<1>(result) = "HOTKEY_MASON_BLOCKS"; break; - case 849: std::get<1>(result) = "HOTKEY_MASON_CHAIR"; break; - case 850: std::get<1>(result) = "HOTKEY_MASON_COFFIN"; break; - case 851: std::get<1>(result) = "HOTKEY_MASON_DOOR"; break; - case 852: std::get<1>(result) = "HOTKEY_MASON_FLOODGATE"; break; - case 853: std::get<1>(result) = "HOTKEY_MASON_HATCH_COVER"; break; - case 854: std::get<1>(result) = "HOTKEY_MASON_GRATE"; break; - case 855: std::get<1>(result) = "HOTKEY_MASON_CABINET"; break; - case 856: std::get<1>(result) = "HOTKEY_MASON_BOX"; break; - case 857: std::get<1>(result) = "HOTKEY_MASON_STATUE"; break; - case 858: std::get<1>(result) = "HOTKEY_MASON_TABLE"; break; - case 859: std::get<1>(result) = "HOTKEY_MASON_WEAPONRACK"; break; - case 860: std::get<1>(result) = "HOTKEY_MASON_QUERN"; break; - case 861: std::get<1>(result) = "HOTKEY_MASON_MILLSTONE"; break; - case 862: std::get<1>(result) = "HOTKEY_MASON_SLAB"; break; - case 863: std::get<1>(result) = "HOTKEY_TRAP_BRIDGE"; break; - case 864: std::get<1>(result) = "HOTKEY_TRAP_DOOR"; break; - case 865: std::get<1>(result) = "HOTKEY_TRAP_FLOODGATE"; break; - case 866: std::get<1>(result) = "HOTKEY_TRAP_SPIKE"; break; - case 867: std::get<1>(result) = "HOTKEY_TRAP_HATCH"; break; - case 868: std::get<1>(result) = "HOTKEY_TRAP_GRATE_WALL"; break; - case 869: std::get<1>(result) = "HOTKEY_TRAP_GRATE_FLOOR"; break; - case 870: std::get<1>(result) = "HOTKEY_TRAP_BARS_VERTICAL"; break; - case 871: std::get<1>(result) = "HOTKEY_TRAP_BARS_FLOOR"; break; - case 872: std::get<1>(result) = "HOTKEY_TRAP_SUPPORT"; break; - case 873: std::get<1>(result) = "HOTKEY_TRAP_CHAIN"; break; - case 874: std::get<1>(result) = "HOTKEY_TRAP_CAGE"; break; - case 875: std::get<1>(result) = "HOTKEY_TRAP_GEAR_ASSEMBLY"; break; - case 876: std::get<1>(result) = "HOTKEY_TRAP_TRACK_STOP"; break; - case 877: std::get<1>(result) = "HOTKEY_TRAP_PULL_LEVER"; break; - case 878: std::get<1>(result) = "BUILDJOB_STOCKPILE_MASTER"; break; - case 879: std::get<1>(result) = "BUILDJOB_STOCKPILE_LINK_ANYWHERE"; break; - case 880: std::get<1>(result) = "BUILDJOB_STOCKPILE_GIVE_TO"; break; - case 881: std::get<1>(result) = "BUILDJOB_STOCKPILE_DELETE_CHILD"; break; - case 882: std::get<1>(result) = "BUILDJOB_STOCKPILE_SETTINGS"; break; - case 883: std::get<1>(result) = "BUILDJOB_STOCKPILE_BARREL_UP"; break; - case 884: std::get<1>(result) = "BUILDJOB_STOCKPILE_BARREL_DOWN"; break; - case 885: std::get<1>(result) = "BUILDJOB_STOCKPILE_BARREL_ZERO"; break; - case 886: std::get<1>(result) = "BUILDJOB_STOCKPILE_BARREL_MAX"; break; - case 887: std::get<1>(result) = "BUILDJOB_STOCKPILE_BIN_UP"; break; - case 888: std::get<1>(result) = "BUILDJOB_STOCKPILE_BIN_DOWN"; break; - case 889: std::get<1>(result) = "BUILDJOB_STOCKPILE_BIN_ZERO"; break; - case 890: std::get<1>(result) = "BUILDJOB_STOCKPILE_BIN_MAX"; break; - case 891: std::get<1>(result) = "BUILDJOB_STOCKPILE_WHEELBARROW"; break; - case 892: std::get<1>(result) = "STOCKPILE_ANIMAL"; break; - case 893: std::get<1>(result) = "STOCKPILE_FOOD"; break; - case 894: std::get<1>(result) = "STOCKPILE_WEAPON"; break; - case 895: std::get<1>(result) = "STOCKPILE_ARMOR"; break; - case 896: std::get<1>(result) = "STOCKPILE_CUSTOM"; break; - case 897: std::get<1>(result) = "STOCKPILE_CUSTOM_SETTINGS"; break; - case 898: std::get<1>(result) = "STOCKPILE_FURNITURE"; break; - case 899: std::get<1>(result) = "STOCKPILE_GRAVEYARD"; break; - case 900: std::get<1>(result) = "STOCKPILE_REFUSE"; break; - case 901: std::get<1>(result) = "STOCKPILE_WOOD"; break; - case 902: std::get<1>(result) = "STOCKPILE_STONE"; break; - case 903: std::get<1>(result) = "STOCKPILE_GEM"; break; - case 904: std::get<1>(result) = "STOCKPILE_BARBLOCK"; break; - case 905: std::get<1>(result) = "STOCKPILE_CLOTH"; break; - case 906: std::get<1>(result) = "STOCKPILE_LEATHER"; break; - case 907: std::get<1>(result) = "STOCKPILE_AMMO"; break; - case 908: std::get<1>(result) = "STOCKPILE_COINS"; break; - case 909: std::get<1>(result) = "STOCKPILE_FINISHED"; break; - case 910: std::get<1>(result) = "STOCKPILE_SHEET"; break; - case 911: std::get<1>(result) = "STOCKPILE_NONE"; break; - case 912: std::get<1>(result) = "STOCKPILE_SETTINGS_ENABLE"; break; - case 913: std::get<1>(result) = "STOCKPILE_SETTINGS_DISABLE"; break; - case 914: std::get<1>(result) = "STOCKPILE_SETTINGS_PERMIT_ALL"; break; - case 915: std::get<1>(result) = "STOCKPILE_SETTINGS_FORBID_ALL"; break; - case 916: std::get<1>(result) = "STOCKPILE_SETTINGS_PERMIT_SUB"; break; - case 917: std::get<1>(result) = "STOCKPILE_SETTINGS_FORBID_SUB"; break; - case 918: std::get<1>(result) = "STOCKPILE_SETTINGS_SPECIFIC1"; break; - case 919: std::get<1>(result) = "STOCKPILE_SETTINGS_SPECIFIC2"; break; - case 920: std::get<1>(result) = "CIVZONE_NAME"; break; - case 921: std::get<1>(result) = "CIVZONE_REMOVE"; break; - case 922: std::get<1>(result) = "CIVZONE_REMOVE_ZONE"; break; - case 923: std::get<1>(result) = "CIVZONE_SHAPE"; break; - case 924: std::get<1>(result) = "CIVZONE_NEXT"; break; - case 925: std::get<1>(result) = "CIVZONE_WATER_SOURCE"; break; - case 926: std::get<1>(result) = "CIVZONE_FISH"; break; - case 927: std::get<1>(result) = "CIVZONE_GATHER"; break; - case 928: std::get<1>(result) = "CIVZONE_DUMP"; break; - case 929: std::get<1>(result) = "CIVZONE_POND"; break; - case 930: std::get<1>(result) = "CIVZONE_HOSPITAL"; break; - case 931: std::get<1>(result) = "CIVZONE_SAND_COLLECT"; break; - case 932: std::get<1>(result) = "CIVZONE_CLAY_COLLECT"; break; - case 933: std::get<1>(result) = "CIVZONE_ACTIVE"; break; - case 934: std::get<1>(result) = "CIVZONE_MEETING"; break; - case 935: std::get<1>(result) = "CIVZONE_ANIMAL_TRAINING"; break; - case 936: std::get<1>(result) = "CIVZONE_PEN"; break; - case 937: std::get<1>(result) = "CIVZONE_PEN_OPTIONS"; break; - case 938: std::get<1>(result) = "CIVZONE_POND_OPTIONS"; break; - case 939: std::get<1>(result) = "CIVZONE_POND_WATER"; break; - case 940: std::get<1>(result) = "CIVZONE_HOSPITAL_OPTIONS"; break; - case 941: std::get<1>(result) = "CIVZONE_GATHER_OPTIONS"; break; - case 942: std::get<1>(result) = "CIVZONE_GATHER_OPTIONS_PICK_TREES"; break; - case 943: std::get<1>(result) = "CIVZONE_GATHER_OPTIONS_PICK_SHRUBS"; break; - case 944: std::get<1>(result) = "CIVZONE_GATHER_OPTIONS_GATHER_FALLEN"; break; - case 945: std::get<1>(result) = "STORES_VIEW"; break; - case 946: std::get<1>(result) = "STORES_ZOOM"; break; - case 947: std::get<1>(result) = "STORES_FORBID"; break; - case 948: std::get<1>(result) = "STORES_MELT"; break; - case 949: std::get<1>(result) = "STORES_DUMP"; break; - case 950: std::get<1>(result) = "STORES_HIDE"; break; - case 951: std::get<1>(result) = "PET_BUTCHER"; break; - case 952: std::get<1>(result) = "PET_GELD"; break; - case 953: std::get<1>(result) = "ANIMAL_SELECT_TRAINER"; break; - case 954: std::get<1>(result) = "ANIMAL_WAR_TRAINING"; break; - case 955: std::get<1>(result) = "ANIMAL_HUNTING_TRAINING"; break; - case 956: std::get<1>(result) = "KITCHEN_COOK"; break; - case 957: std::get<1>(result) = "KITCHEN_BREW"; break; - case 958: std::get<1>(result) = "ORDERS_AUTOFORBID"; break; - case 959: std::get<1>(result) = "ORDERS_FORBID_PROJECTILE"; break; - case 960: std::get<1>(result) = "ORDERS_FORBID_YOUR_CORPSE"; break; - case 961: std::get<1>(result) = "ORDERS_FORBID_YOUR_ITEMS"; break; - case 962: std::get<1>(result) = "ORDERS_FORBID_OTHER_CORPSE"; break; - case 963: std::get<1>(result) = "ORDERS_FORBID_OTHER_ITEMS"; break; - case 964: std::get<1>(result) = "ORDERS_REFUSE_GATHER"; break; - case 965: std::get<1>(result) = "ORDERS_REFUSE_OUTSIDE"; break; - case 966: std::get<1>(result) = "ORDERS_REFUSE_OUTSIDE_VERMIN"; break; - case 967: std::get<1>(result) = "ORDERS_REFUSE_DUMP_CORPSE"; break; - case 968: std::get<1>(result) = "ORDERS_REFUSE_DUMP_SKULL"; break; - case 969: std::get<1>(result) = "ORDERS_REFUSE_DUMP_BONE"; break; - case 970: std::get<1>(result) = "ORDERS_REFUSE_DUMP_SHELL"; break; - case 971: std::get<1>(result) = "ORDERS_REFUSE_DUMP_SKIN"; break; - case 972: std::get<1>(result) = "ORDERS_REFUSE_DUMP_OTHER"; break; - case 973: std::get<1>(result) = "ORDERS_REFUSE_DUMP_STRAND_TISSUE"; break; - case 974: std::get<1>(result) = "ORDERS_GATHER_FURNITURE"; break; - case 975: std::get<1>(result) = "ORDERS_GATHER_ANIMALS"; break; - case 976: std::get<1>(result) = "ORDERS_GATHER_FOOD"; break; - case 977: std::get<1>(result) = "ORDERS_GATHER_BODIES"; break; - case 978: std::get<1>(result) = "ORDERS_REFUSE"; break; - case 979: std::get<1>(result) = "ORDERS_GATHER_STONE"; break; - case 980: std::get<1>(result) = "ORDERS_GATHER_WOOD"; break; - case 981: std::get<1>(result) = "ORDERS_ALL_HARVEST"; break; - case 982: std::get<1>(result) = "ORDERS_SAMEPILE"; break; - case 983: std::get<1>(result) = "ORDERS_MIXFOODS"; break; - case 984: std::get<1>(result) = "ORDERS_LOOM"; break; - case 985: std::get<1>(result) = "ORDERS_DYED_CLOTH"; break; - case 986: std::get<1>(result) = "ORDERS_EXCEPTIONS"; break; - case 987: std::get<1>(result) = "ORDERS_WORKSHOP"; break; - case 988: std::get<1>(result) = "ORDERS_COLLECT_WEB"; break; - case 989: std::get<1>(result) = "ORDERS_SLAUGHTER"; break; - case 990: std::get<1>(result) = "ORDERS_BUTCHER"; break; - case 991: std::get<1>(result) = "ORDERS_TAN"; break; - case 992: std::get<1>(result) = "ORDERS_AUTO_FISHERY"; break; - case 993: std::get<1>(result) = "ORDERS_AUTO_KITCHEN"; break; - case 994: std::get<1>(result) = "ORDERS_AUTO_KILN"; break; - case 995: std::get<1>(result) = "ORDERS_AUTO_SMELTER"; break; - case 996: std::get<1>(result) = "ORDERS_AUTO_OTHER"; break; - case 997: std::get<1>(result) = "ORDERS_ZONE"; break; - case 998: std::get<1>(result) = "ORDERS_ZONE_DRINKING"; break; - case 999: std::get<1>(result) = "ORDERS_ZONE_FISHING"; break; - case 1000: std::get<1>(result) = "D_ONESTEP"; break; - case 1001: std::get<1>(result) = "D_PAUSE"; break; - case 1002: std::get<1>(result) = "D_DEPOT"; break; - case 1003: std::get<1>(result) = "D_HOT_KEYS"; break; - case 1004: std::get<1>(result) = "D_HOTKEY1"; break; - case 1005: std::get<1>(result) = "D_HOTKEY2"; break; - case 1006: std::get<1>(result) = "D_HOTKEY3"; break; - case 1007: std::get<1>(result) = "D_HOTKEY4"; break; - case 1008: std::get<1>(result) = "D_HOTKEY5"; break; - case 1009: std::get<1>(result) = "D_HOTKEY6"; break; - case 1010: std::get<1>(result) = "D_HOTKEY7"; break; - case 1011: std::get<1>(result) = "D_HOTKEY8"; break; - case 1012: std::get<1>(result) = "D_HOTKEY9"; break; - case 1013: std::get<1>(result) = "D_HOTKEY10"; break; - case 1014: std::get<1>(result) = "D_HOTKEY11"; break; - case 1015: std::get<1>(result) = "D_HOTKEY12"; break; - case 1016: std::get<1>(result) = "D_HOTKEY13"; break; - case 1017: std::get<1>(result) = "D_HOTKEY14"; break; - case 1018: std::get<1>(result) = "D_HOTKEY15"; break; - case 1019: std::get<1>(result) = "D_HOTKEY16"; break; - case 1020: std::get<1>(result) = "D_HOTKEY_CHANGE_NAME"; break; - case 1021: std::get<1>(result) = "D_HOTKEY_ZOOM"; break; - case 1022: std::get<1>(result) = "D_ANNOUNCE"; break; - case 1023: std::get<1>(result) = "D_REPORTS"; break; - case 1024: std::get<1>(result) = "D_BUILDING"; break; - case 1025: std::get<1>(result) = "D_CIVLIST"; break; - case 1026: std::get<1>(result) = "D_DESIGNATE"; break; - case 1027: std::get<1>(result) = "D_ARTLIST"; break; - case 1028: std::get<1>(result) = "D_NOBLES"; break; - case 1029: std::get<1>(result) = "D_ORDERS"; break; - case 1030: std::get<1>(result) = "D_PETITIONS"; break; - case 1031: std::get<1>(result) = "D_LOCATIONS"; break; - case 1032: std::get<1>(result) = "D_MILITARY"; break; - case 1033: std::get<1>(result) = "D_ROOMS"; break; - case 1034: std::get<1>(result) = "D_SQUADS"; break; - case 1035: std::get<1>(result) = "D_STOCKPILES"; break; - case 1036: std::get<1>(result) = "D_CIVZONE"; break; - case 1037: std::get<1>(result) = "D_VIEWUNIT"; break; - case 1038: std::get<1>(result) = "D_JOBLIST"; break; - case 1039: std::get<1>(result) = "D_UNITLIST"; break; - case 1040: std::get<1>(result) = "D_LOOK"; break; - case 1041: std::get<1>(result) = "D_HAULING"; break; - case 1042: std::get<1>(result) = "D_HAULING_NEW_ROUTE"; break; - case 1043: std::get<1>(result) = "D_HAULING_NEW_STOP"; break; - case 1044: std::get<1>(result) = "D_HAULING_REMOVE"; break; - case 1045: std::get<1>(result) = "D_HAULING_PROMOTE"; break; - case 1046: std::get<1>(result) = "D_HAULING_VEHICLE"; break; - case 1047: std::get<1>(result) = "D_HAULING_NICKNAME"; break; - case 1048: std::get<1>(result) = "D_HAULING_STOP_NEW_DEPART"; break; - case 1049: std::get<1>(result) = "D_HAULING_STOP_NEW_LINK"; break; - case 1050: std::get<1>(result) = "D_HAULING_STOP_REMOVE"; break; - case 1051: std::get<1>(result) = "D_HAULING_STOP_SL_SELECT_PILE"; break; - case 1052: std::get<1>(result) = "D_HAULING_STOP_SL_TAKE_GIVE"; break; - case 1053: std::get<1>(result) = "D_HAULING_STOP_LC_DIR"; break; - case 1054: std::get<1>(result) = "D_HAULING_STOP_LC_MODE"; break; - case 1055: std::get<1>(result) = "D_HAULING_STOP_LC_TIMER_UP"; break; - case 1056: std::get<1>(result) = "D_HAULING_STOP_LC_TIMER_DOWN"; break; - case 1057: std::get<1>(result) = "D_HAULING_STOP_LC_FULLNESS_UP"; break; - case 1058: std::get<1>(result) = "D_HAULING_STOP_LC_FULLNESS_DOWN"; break; - case 1059: std::get<1>(result) = "D_HAULING_STOP_LC_MORE_LESS"; break; - case 1060: std::get<1>(result) = "D_HAULING_STOP_LC_DESIRED_TOTAL"; break; - case 1061: std::get<1>(result) = "D_HAULING_STOP_LC_CHANGE"; break; - case 1062: std::get<1>(result) = "D_HAULING_STOP_LC_ADVANCED"; break; - case 1063: std::get<1>(result) = "D_BURROWS"; break; - case 1064: std::get<1>(result) = "D_BURROWS_ADD"; break; - case 1065: std::get<1>(result) = "D_BURROWS_DELETE"; break; - case 1066: std::get<1>(result) = "D_BURROWS_DEFINE"; break; - case 1067: std::get<1>(result) = "D_BURROWS_ADD_UNIT"; break; - case 1068: std::get<1>(result) = "D_BURROWS_WORKSHOP_LIMIT"; break; - case 1069: std::get<1>(result) = "D_BURROWS_CENTER"; break; - case 1070: std::get<1>(result) = "D_BURROWS_NAME"; break; - case 1071: std::get<1>(result) = "D_BURROWS_CHANGE_SELECTION"; break; - case 1072: std::get<1>(result) = "D_BURROWS_BRUSH"; break; - case 1073: std::get<1>(result) = "D_BURROWS_REMOVE"; break; - case 1074: std::get<1>(result) = "D_NOTE"; break; - case 1075: std::get<1>(result) = "D_NOTE_PLACE"; break; - case 1076: std::get<1>(result) = "D_NOTE_DELETE"; break; - case 1077: std::get<1>(result) = "D_NOTE_NAME"; break; - case 1078: std::get<1>(result) = "D_NOTE_ENTER"; break; - case 1079: std::get<1>(result) = "D_NOTE_ADOPT_SYMBOL"; break; - case 1080: std::get<1>(result) = "D_NOTE_CHANGE_SELECTION"; break; - case 1081: std::get<1>(result) = "D_NOTE_POINTS"; break; - case 1082: std::get<1>(result) = "D_NOTE_ROUTE"; break; - case 1083: std::get<1>(result) = "D_NOTE_ROUTE_ADD"; break; - case 1084: std::get<1>(result) = "D_NOTE_ROUTE_EDIT"; break; - case 1085: std::get<1>(result) = "D_NOTE_ROUTE_DELETE"; break; - case 1086: std::get<1>(result) = "D_NOTE_ROUTE_CENTER"; break; - case 1087: std::get<1>(result) = "D_NOTE_ROUTE_NAME"; break; - case 1088: std::get<1>(result) = "D_BUILDJOB"; break; - case 1089: std::get<1>(result) = "D_STATUS"; break; - case 1090: std::get<1>(result) = "D_STATUS_OVERALL_HEALTH_RECENTER"; break; - case 1091: std::get<1>(result) = "D_BUILDITEM"; break; - case 1092: std::get<1>(result) = "D_BITEM_FORBID"; break; - case 1093: std::get<1>(result) = "D_BITEM_DUMP"; break; - case 1094: std::get<1>(result) = "D_BITEM_MELT"; break; - case 1095: std::get<1>(result) = "D_BITEM_HIDE"; break; - case 1096: std::get<1>(result) = "D_BITEM_NAME"; break; - case 1097: std::get<1>(result) = "D_LOOK_FORBID"; break; - case 1098: std::get<1>(result) = "D_LOOK_DUMP"; break; - case 1099: std::get<1>(result) = "D_LOOK_MELT"; break; - case 1100: std::get<1>(result) = "D_LOOK_HIDE"; break; - case 1101: std::get<1>(result) = "D_LOOK_FOLLOW"; break; - case 1102: std::get<1>(result) = "D_LOOK_ARENA_CREATURE"; break; - case 1103: std::get<1>(result) = "D_LOOK_ARENA_ADV_MODE"; break; - case 1104: std::get<1>(result) = "D_LOOK_ARENA_WATER"; break; - case 1105: std::get<1>(result) = "D_LOOK_ARENA_MAGMA"; break; - case 1106: std::get<1>(result) = "ARENA_CREATURE_SIDE_DOWN"; break; - case 1107: std::get<1>(result) = "ARENA_CREATURE_SIDE_UP"; break; - case 1108: std::get<1>(result) = "ARENA_CREATURE_NEW_ITEM"; break; - case 1109: std::get<1>(result) = "ARENA_CREATURE_BLANK_LIST"; break; - case 1110: std::get<1>(result) = "ARENA_CREATURE_REMOVE_ITEM"; break; - case 1111: std::get<1>(result) = "ARENA_CREATURE_UNDEAD"; break; - case 1112: std::get<1>(result) = "ARENA_CREATURE_STRING"; break; - case 1113: std::get<1>(result) = "ARENA_CONFLICT_STATE_1"; break; - case 1114: std::get<1>(result) = "ARENA_CONFLICT_STATE_2"; break; - case 1115: std::get<1>(result) = "ARENA_MORALE"; break; - case 1116: std::get<1>(result) = "ARENA_WEATHER"; break; - case 1117: std::get<1>(result) = "ARENA_WEATHER_SNOW"; break; - case 1118: std::get<1>(result) = "ARENA_WEATHER_MUD"; break; - case 1119: std::get<1>(result) = "ARENA_WEATHER_CLEAR_SPATTER"; break; - case 1120: std::get<1>(result) = "D_LOOK_ARENA_TREE"; break; - case 1121: std::get<1>(result) = "ARENA_TREE_FILTER"; break; - case 1122: std::get<1>(result) = "ARENA_TREE_AGE"; break; - case 1123: std::get<1>(result) = "D_LOOK_ARENA_MOUNT"; break; - case 1124: std::get<1>(result) = "ASSIGNTRADE_VIEW"; break; - case 1125: std::get<1>(result) = "ASSIGNTRADE_STRING"; break; - case 1126: std::get<1>(result) = "ASSIGNTRADE_EXCLUDE_PROHIBITED"; break; - case 1127: std::get<1>(result) = "ASSIGNTRADE_PENDING"; break; - case 1128: std::get<1>(result) = "ASSIGNTRADE_SORT"; break; - case 1129: std::get<1>(result) = "NOBLELIST_REPLACE"; break; - case 1130: std::get<1>(result) = "NOBLELIST_SETTINGS"; break; - case 1131: std::get<1>(result) = "NOBLELIST_CAPITAL"; break; - case 1132: std::get<1>(result) = "NOBLELIST_VIEW_CANDIDATE"; break; - case 1133: std::get<1>(result) = "TRADE_VIEW"; break; - case 1134: std::get<1>(result) = "TRADE_TRADE"; break; - case 1135: std::get<1>(result) = "TRADE_OFFER"; break; - case 1136: std::get<1>(result) = "TRADE_SEIZE"; break; - case 1137: std::get<1>(result) = "MILITARY_ACTIVATE"; break; - case 1138: std::get<1>(result) = "MILITARY_VIEW"; break; - case 1139: std::get<1>(result) = "MILITARY_WEAPON"; break; - case 1140: std::get<1>(result) = "MILITARY_ZOOM"; break; - case 1141: std::get<1>(result) = "ANNOUNCE_ZOOM"; break; - case 1142: std::get<1>(result) = "ANNOUNCE_ZOOM_2"; break; - case 1143: std::get<1>(result) = "UNITJOB_REMOVE_CRE"; break; - case 1144: std::get<1>(result) = "UNITJOB_ZOOM_CRE"; break; - case 1145: std::get<1>(result) = "UNITJOB_ZOOM_BUILD"; break; - case 1146: std::get<1>(result) = "UNITJOB_VIEW_UNIT"; break; - case 1147: std::get<1>(result) = "UNITJOB_VIEW_JOB"; break; - case 1148: std::get<1>(result) = "UNITJOB_MANAGER"; break; - case 1149: std::get<1>(result) = "MANAGER_NEW_ORDER"; break; - case 1150: std::get<1>(result) = "MANAGER_REMOVE"; break; - case 1151: std::get<1>(result) = "MANAGER_PROMOTE"; break; - case 1152: std::get<1>(result) = "MANAGER_MAX"; break; - case 1153: std::get<1>(result) = "MANAGER_WAGES"; break; - case 1154: std::get<1>(result) = "MANAGER_CONDITIONS"; break; - case 1155: std::get<1>(result) = "MANAGER_DETAILS"; break; - case 1156: std::get<1>(result) = "WORK_ORDER_CONDITION_ADD_ITEM"; break; - case 1157: std::get<1>(result) = "WORK_ORDER_CONDITION_ADD_ORDER"; break; - case 1158: std::get<1>(result) = "WORK_ORDER_CONDITION_ITEM_TYPE"; break; - case 1159: std::get<1>(result) = "WORK_ORDER_CONDITION_ITEM_MATERIAL"; break; - case 1160: std::get<1>(result) = "WORK_ORDER_CONDITION_ITEM_TRAITS"; break; - case 1161: std::get<1>(result) = "WORK_ORDER_CONDITION_ITEM_INEQUALITY"; break; - case 1162: std::get<1>(result) = "WORK_ORDER_CONDITION_ITEM_NUMBER"; break; - case 1163: std::get<1>(result) = "WORK_ORDER_CONDITION_DELETE"; break; - case 1164: std::get<1>(result) = "WORK_ORDER_CONDITION_ORDER_ACTIVATION"; break; - case 1165: std::get<1>(result) = "WORK_ORDER_CONDITION_REAGENTS"; break; - case 1166: std::get<1>(result) = "WORK_ORDER_CONDITION_PRODUCTS"; break; - case 1167: std::get<1>(result) = "DESIGNATE_BITEM"; break; - case 1168: std::get<1>(result) = "DESIGNATE_CLAIM"; break; - case 1169: std::get<1>(result) = "DESIGNATE_UNCLAIM"; break; - case 1170: std::get<1>(result) = "DESIGNATE_MELT"; break; - case 1171: std::get<1>(result) = "DESIGNATE_NO_MELT"; break; - case 1172: std::get<1>(result) = "DESIGNATE_DUMP"; break; - case 1173: std::get<1>(result) = "DESIGNATE_NO_DUMP"; break; - case 1174: std::get<1>(result) = "DESIGNATE_HIDE"; break; - case 1175: std::get<1>(result) = "DESIGNATE_NO_HIDE"; break; - case 1176: std::get<1>(result) = "DESIGNATE_DIG"; break; - case 1177: std::get<1>(result) = "DESIGNATE_DIG_REMOVE_STAIRS_RAMPS"; break; - case 1178: std::get<1>(result) = "DESIGNATE_TRAFFIC"; break; - case 1179: std::get<1>(result) = "DESIGNATE_TRAFFIC_HIGH"; break; - case 1180: std::get<1>(result) = "DESIGNATE_TRAFFIC_NORMAL"; break; - case 1181: std::get<1>(result) = "DESIGNATE_TRAFFIC_LOW"; break; - case 1182: std::get<1>(result) = "DESIGNATE_TRAFFIC_RESTRICTED"; break; - case 1183: std::get<1>(result) = "DESIGNATE_TRAFFIC_INCREASE_WEIGHT"; break; - case 1184: std::get<1>(result) = "DESIGNATE_TRAFFIC_DECREASE_WEIGHT"; break; - case 1185: std::get<1>(result) = "DESIGNATE_TRAFFIC_INCREASE_WEIGHT_MORE"; break; - case 1186: std::get<1>(result) = "DESIGNATE_TRAFFIC_DECREASE_WEIGHT_MORE"; break; - case 1187: std::get<1>(result) = "DESIGNATE_STAIR_UP"; break; - case 1188: std::get<1>(result) = "DESIGNATE_STAIR_DOWN"; break; - case 1189: std::get<1>(result) = "DESIGNATE_STAIR_UPDOWN"; break; - case 1190: std::get<1>(result) = "DESIGNATE_RAMP"; break; - case 1191: std::get<1>(result) = "DESIGNATE_CHANNEL"; break; - case 1192: std::get<1>(result) = "DESIGNATE_CHOP"; break; - case 1193: std::get<1>(result) = "DESIGNATE_PLANTS"; break; - case 1194: std::get<1>(result) = "DESIGNATE_SMOOTH"; break; - case 1195: std::get<1>(result) = "DESIGNATE_ENGRAVE"; break; - case 1196: std::get<1>(result) = "DESIGNATE_DETAILS"; break; - case 1197: std::get<1>(result) = "DESIGNATE_FORTIFY"; break; - case 1198: std::get<1>(result) = "DESIGNATE_TRACK"; break; - case 1199: std::get<1>(result) = "DESIGNATE_TOGGLE_ENGRAVING"; break; - case 1200: std::get<1>(result) = "DESIGNATE_STANDARD_MARKER"; break; - case 1201: std::get<1>(result) = "DESIGNATE_MINE_MODE"; break; - case 1202: std::get<1>(result) = "DESIGNATE_TOGGLE_MARKER"; break; - case 1203: std::get<1>(result) = "DESIGNATE_UNDO"; break; - case 1204: std::get<1>(result) = "DESIGNATE_REMOVE_CONSTRUCTION"; break; - case 1205: std::get<1>(result) = "ITEM_DESCRIPTION"; break; - case 1206: std::get<1>(result) = "ITEM_FORBID"; break; - case 1207: std::get<1>(result) = "ITEM_MELT"; break; - case 1208: std::get<1>(result) = "ITEM_DUMP"; break; - case 1209: std::get<1>(result) = "ITEM_HIDE"; break; - case 1210: std::get<1>(result) = "UNITVIEW_CUSTOMIZE"; break; - case 1211: std::get<1>(result) = "UNITVIEW_HEALTH"; break; - case 1212: std::get<1>(result) = "UNITVIEW_RELATIONSHIPS"; break; - case 1213: std::get<1>(result) = "UNITVIEW_RELATIONSHIPS_ZOOM"; break; - case 1214: std::get<1>(result) = "UNITVIEW_RELATIONSHIPS_VIEW"; break; - case 1215: std::get<1>(result) = "UNITVIEW_KILLS"; break; - case 1216: std::get<1>(result) = "UNITVIEW_GEN"; break; - case 1217: std::get<1>(result) = "UNITVIEW_INV"; break; - case 1218: std::get<1>(result) = "UNITVIEW_PRF"; break; - case 1219: std::get<1>(result) = "UNITVIEW_WND"; break; - case 1220: std::get<1>(result) = "UNITVIEW_FOLLOW"; break; - case 1221: std::get<1>(result) = "UNITVIEW_NEXT"; break; - case 1222: std::get<1>(result) = "UNITVIEW_SLAUGHTER"; break; - case 1223: std::get<1>(result) = "UNITVIEW_GELD"; break; - case 1224: std::get<1>(result) = "UNITVIEW_GEN_COMBAT"; break; - case 1225: std::get<1>(result) = "UNITVIEW_GEN_LABOR"; break; - case 1226: std::get<1>(result) = "UNITVIEW_GEN_MISC"; break; - case 1227: std::get<1>(result) = "UNITVIEW_PRF_PROF"; break; - case 1228: std::get<1>(result) = "UNITVIEW_PRF_PET"; break; - case 1229: std::get<1>(result) = "UNITVIEW_PRF_EXPEL"; break; - case 1230: std::get<1>(result) = "UNITVIEW_PRF_VIEW"; break; - case 1231: std::get<1>(result) = "UNITVIEW_PRF_NEW_SQUAD"; break; - case 1232: std::get<1>(result) = "UNITVIEW_PRF_REMOVE_FROM_SQUAD"; break; - case 1233: std::get<1>(result) = "UNITVIEW_PRF_NAME_CURRENT_SQUAD"; break; - case 1234: std::get<1>(result) = "UNITVIEW_PRF_NAME_SELECTED_SQUAD"; break; - case 1235: std::get<1>(result) = "UNITVIEW_PRF_OCCUPATION"; break; - case 1236: std::get<1>(result) = "CUSTOMIZE_UNIT_NICKNAME"; break; - case 1237: std::get<1>(result) = "CUSTOMIZE_UNIT_PROFNAME"; break; - case 1238: std::get<1>(result) = "IMAGE_CREATOR_FILTER"; break; - case 1239: std::get<1>(result) = "IMAGE_CREATOR_NAME"; break; - case 1240: std::get<1>(result) = "IMAGE_CREATOR_DONE"; break; - case 1241: std::get<1>(result) = "CIV_RAID"; break; - case 1242: std::get<1>(result) = "CIV_CENTER_ON_FORT"; break; - case 1243: std::get<1>(result) = "CIV_HOLDINGS"; break; - case 1244: std::get<1>(result) = "CIV_MAP_LEGEND"; break; - case 1245: std::get<1>(result) = "CIV_REMOVE_MISSION"; break; - case 1246: std::get<1>(result) = "CIV_RESCUE"; break; - case 1247: std::get<1>(result) = "CIV_RECOVER"; break; - case 1248: std::get<1>(result) = "CIV_WORLD"; break; - case 1249: std::get<1>(result) = "CIV_MISSIONS"; break; - case 1250: std::get<1>(result) = "CIV_MISSION_DETAILS"; break; - case 1251: std::get<1>(result) = "CIV_MISSION_FREE_CAPTIVES"; break; - case 1252: std::get<1>(result) = "CIV_MISSION_RELEASE_OTHERS"; break; - case 1253: std::get<1>(result) = "CIV_MISSION_TAKE_ARTIFACTS"; break; - case 1254: std::get<1>(result) = "CIV_MISSION_TAKE_ITEMS"; break; - case 1255: std::get<1>(result) = "CIV_MISSION_TAKE_LIVESTOCK"; break; - case 1256: std::get<1>(result) = "CIV_MISSION_RAID"; break; - case 1257: std::get<1>(result) = "CIV_MISSION_PILLAGE"; break; - case 1258: std::get<1>(result) = "CIV_MISSION_RAZE"; break; - case 1259: std::get<1>(result) = "CIV_MISSION_TRIBUTE_ONE_TIME"; break; - case 1260: std::get<1>(result) = "CIV_MISSION_TRIBUTE_ONGOING"; break; - case 1261: std::get<1>(result) = "CIV_MISSION_CONQUER"; break; - case 1262: std::get<1>(result) = "CIV_MISSION_DEMAND_SURRENDER"; break; - case 1263: std::get<1>(result) = "CIV_NEWS"; break; - case 1264: std::get<1>(result) = "CIV_PEOPLE"; break; - case 1265: std::get<1>(result) = "CIV_ARTIFACTS"; break; - case 1266: std::get<1>(result) = "CIV_CIVS"; break; - case 1267: std::get<1>(result) = "D_MILITARY_CREATE_SQUAD"; break; - case 1268: std::get<1>(result) = "D_MILITARY_DISBAND_SQUAD"; break; - case 1269: std::get<1>(result) = "D_MILITARY_CREATE_SUB_SQUAD"; break; - case 1270: std::get<1>(result) = "D_MILITARY_CANCEL_ORDERS"; break; - case 1271: std::get<1>(result) = "D_MILITARY_POSITIONS"; break; - case 1272: std::get<1>(result) = "D_MILITARY_ALERTS"; break; - case 1273: std::get<1>(result) = "D_MILITARY_ALERTS_ADD"; break; - case 1274: std::get<1>(result) = "D_MILITARY_ALERTS_DELETE"; break; - case 1275: std::get<1>(result) = "D_MILITARY_ALERTS_SET"; break; - case 1276: std::get<1>(result) = "D_MILITARY_ALERTS_NAME"; break; - case 1277: std::get<1>(result) = "D_MILITARY_ALERTS_SET_RETAIN"; break; - case 1278: std::get<1>(result) = "D_MILITARY_EQUIP"; break; - case 1279: std::get<1>(result) = "D_MILITARY_EQUIP_CUSTOMIZE"; break; - case 1280: std::get<1>(result) = "D_MILITARY_EQUIP_UNIFORM"; break; - case 1281: std::get<1>(result) = "D_MILITARY_EQUIP_PRIORITY"; break; - case 1282: std::get<1>(result) = "D_MILITARY_UNIFORMS"; break; - case 1283: std::get<1>(result) = "D_MILITARY_SUPPLIES"; break; - case 1284: std::get<1>(result) = "D_MILITARY_SUPPLIES_WATER_DOWN"; break; - case 1285: std::get<1>(result) = "D_MILITARY_SUPPLIES_WATER_UP"; break; - case 1286: std::get<1>(result) = "D_MILITARY_SUPPLIES_FOOD_DOWN"; break; - case 1287: std::get<1>(result) = "D_MILITARY_SUPPLIES_FOOD_UP"; break; - case 1288: std::get<1>(result) = "D_MILITARY_AMMUNITION"; break; - case 1289: std::get<1>(result) = "D_MILITARY_AMMUNITION_ADD_ITEM"; break; - case 1290: std::get<1>(result) = "D_MILITARY_AMMUNITION_REMOVE_ITEM"; break; - case 1291: std::get<1>(result) = "D_MILITARY_AMMUNITION_LOWER_AMOUNT"; break; - case 1292: std::get<1>(result) = "D_MILITARY_AMMUNITION_RAISE_AMOUNT"; break; - case 1293: std::get<1>(result) = "D_MILITARY_AMMUNITION_LOWER_AMOUNT_LOTS"; break; - case 1294: std::get<1>(result) = "D_MILITARY_AMMUNITION_RAISE_AMOUNT_LOTS"; break; - case 1295: std::get<1>(result) = "D_MILITARY_AMMUNITION_MATERIAL"; break; - case 1296: std::get<1>(result) = "D_MILITARY_AMMUNITION_COMBAT"; break; - case 1297: std::get<1>(result) = "D_MILITARY_AMMUNITION_TRAINING"; break; - case 1298: std::get<1>(result) = "D_MILITARY_TRAINING"; break; - case 1299: std::get<1>(result) = "D_MILITARY_SCHEDULE"; break; - case 1300: std::get<1>(result) = "D_MILITARY_ADD_UNIFORM"; break; - case 1301: std::get<1>(result) = "D_MILITARY_DELETE_UNIFORM"; break; - case 1302: std::get<1>(result) = "D_MILITARY_NAME_UNIFORM"; break; - case 1303: std::get<1>(result) = "D_MILITARY_NAME_SQUAD"; break; - case 1304: std::get<1>(result) = "D_MILITARY_ADD_ARMOR"; break; - case 1305: std::get<1>(result) = "D_MILITARY_ADD_PANTS"; break; - case 1306: std::get<1>(result) = "D_MILITARY_ADD_HELM"; break; - case 1307: std::get<1>(result) = "D_MILITARY_ADD_GLOVES"; break; - case 1308: std::get<1>(result) = "D_MILITARY_ADD_BOOTS"; break; - case 1309: std::get<1>(result) = "D_MILITARY_ADD_SHIELD"; break; - case 1310: std::get<1>(result) = "D_MILITARY_ADD_WEAPON"; break; - case 1311: std::get<1>(result) = "D_MILITARY_ADD_MATERIAL"; break; - case 1312: std::get<1>(result) = "D_MILITARY_ADD_COLOR"; break; - case 1313: std::get<1>(result) = "D_MILITARY_REPLACE_CLOTHING"; break; - case 1314: std::get<1>(result) = "D_MILITARY_EXACT_MATCH"; break; - case 1315: std::get<1>(result) = "D_SQUADS_MOVE"; break; - case 1316: std::get<1>(result) = "D_SQUADS_KILL"; break; - case 1317: std::get<1>(result) = "D_SQUADS_KILL_LIST"; break; - case 1318: std::get<1>(result) = "D_SQUADS_KILL_RECT"; break; - case 1319: std::get<1>(result) = "D_SQUADS_SCHEDULE"; break; - case 1320: std::get<1>(result) = "D_SQUADS_CANCEL_ORDER"; break; - case 1321: std::get<1>(result) = "D_SQUADS_ALERT"; break; - case 1322: std::get<1>(result) = "D_SQUADS_SELECT_INDIVIDUALS"; break; - case 1323: std::get<1>(result) = "D_SQUADS_CENTER"; break; - case 1324: std::get<1>(result) = "D_SQUAD_SCH_SLEEP"; break; - case 1325: std::get<1>(result) = "D_SQUAD_SCH_CIVILIAN_UNIFORM"; break; - case 1326: std::get<1>(result) = "D_SQUAD_SCH_GIVE_ORDER"; break; - case 1327: std::get<1>(result) = "D_SQUAD_SCH_EDIT_ORDER"; break; - case 1328: std::get<1>(result) = "D_SQUAD_SCH_CANCEL_ORDER"; break; - case 1329: std::get<1>(result) = "D_SQUAD_SCH_COPY_ORDERS"; break; - case 1330: std::get<1>(result) = "D_SQUAD_SCH_PASTE_ORDERS"; break; - case 1331: std::get<1>(result) = "D_SQUAD_SCH_MS_NAME"; break; - case 1332: std::get<1>(result) = "STRING_A000"; break; - case 1333: std::get<1>(result) = "STRING_A001"; break; - case 1334: std::get<1>(result) = "STRING_A002"; break; - case 1335: std::get<1>(result) = "STRING_A003"; break; - case 1336: std::get<1>(result) = "STRING_A004"; break; - case 1337: std::get<1>(result) = "STRING_A005"; break; - case 1338: std::get<1>(result) = "STRING_A006"; break; - case 1339: std::get<1>(result) = "STRING_A007"; break; - case 1340: std::get<1>(result) = "STRING_A008"; break; - case 1341: std::get<1>(result) = "STRING_A009"; break; - case 1342: std::get<1>(result) = "STRING_A010"; break; - case 1343: std::get<1>(result) = "STRING_A011"; break; - case 1344: std::get<1>(result) = "STRING_A012"; break; - case 1345: std::get<1>(result) = "STRING_A013"; break; - case 1346: std::get<1>(result) = "STRING_A014"; break; - case 1347: std::get<1>(result) = "STRING_A015"; break; - case 1348: std::get<1>(result) = "STRING_A016"; break; - case 1349: std::get<1>(result) = "STRING_A017"; break; - case 1350: std::get<1>(result) = "STRING_A018"; break; - case 1351: std::get<1>(result) = "STRING_A019"; break; - case 1352: std::get<1>(result) = "STRING_A020"; break; - case 1353: std::get<1>(result) = "STRING_A021"; break; - case 1354: std::get<1>(result) = "STRING_A022"; break; - case 1355: std::get<1>(result) = "STRING_A023"; break; - case 1356: std::get<1>(result) = "STRING_A024"; break; - case 1357: std::get<1>(result) = "STRING_A025"; break; - case 1358: std::get<1>(result) = "STRING_A026"; break; - case 1359: std::get<1>(result) = "STRING_A027"; break; - case 1360: std::get<1>(result) = "STRING_A028"; break; - case 1361: std::get<1>(result) = "STRING_A029"; break; - case 1362: std::get<1>(result) = "STRING_A030"; break; - case 1363: std::get<1>(result) = "STRING_A031"; break; - case 1364: std::get<1>(result) = "STRING_A032"; break; - case 1365: std::get<1>(result) = "STRING_A033"; break; - case 1366: std::get<1>(result) = "STRING_A034"; break; - case 1367: std::get<1>(result) = "STRING_A035"; break; - case 1368: std::get<1>(result) = "STRING_A036"; break; - case 1369: std::get<1>(result) = "STRING_A037"; break; - case 1370: std::get<1>(result) = "STRING_A038"; break; - case 1371: std::get<1>(result) = "STRING_A039"; break; - case 1372: std::get<1>(result) = "STRING_A040"; break; - case 1373: std::get<1>(result) = "STRING_A041"; break; - case 1374: std::get<1>(result) = "STRING_A042"; break; - case 1375: std::get<1>(result) = "STRING_A043"; break; - case 1376: std::get<1>(result) = "STRING_A044"; break; - case 1377: std::get<1>(result) = "STRING_A045"; break; - case 1378: std::get<1>(result) = "STRING_A046"; break; - case 1379: std::get<1>(result) = "STRING_A047"; break; - case 1380: std::get<1>(result) = "STRING_A048"; break; - case 1381: std::get<1>(result) = "STRING_A049"; break; - case 1382: std::get<1>(result) = "STRING_A050"; break; - case 1383: std::get<1>(result) = "STRING_A051"; break; - case 1384: std::get<1>(result) = "STRING_A052"; break; - case 1385: std::get<1>(result) = "STRING_A053"; break; - case 1386: std::get<1>(result) = "STRING_A054"; break; - case 1387: std::get<1>(result) = "STRING_A055"; break; - case 1388: std::get<1>(result) = "STRING_A056"; break; - case 1389: std::get<1>(result) = "STRING_A057"; break; - case 1390: std::get<1>(result) = "STRING_A058"; break; - case 1391: std::get<1>(result) = "STRING_A059"; break; - case 1392: std::get<1>(result) = "STRING_A060"; break; - case 1393: std::get<1>(result) = "STRING_A061"; break; - case 1394: std::get<1>(result) = "STRING_A062"; break; - case 1395: std::get<1>(result) = "STRING_A063"; break; - case 1396: std::get<1>(result) = "STRING_A064"; break; - case 1397: std::get<1>(result) = "STRING_A065"; break; - case 1398: std::get<1>(result) = "STRING_A066"; break; - case 1399: std::get<1>(result) = "STRING_A067"; break; - case 1400: std::get<1>(result) = "STRING_A068"; break; - case 1401: std::get<1>(result) = "STRING_A069"; break; - case 1402: std::get<1>(result) = "STRING_A070"; break; - case 1403: std::get<1>(result) = "STRING_A071"; break; - case 1404: std::get<1>(result) = "STRING_A072"; break; - case 1405: std::get<1>(result) = "STRING_A073"; break; - case 1406: std::get<1>(result) = "STRING_A074"; break; - case 1407: std::get<1>(result) = "STRING_A075"; break; - case 1408: std::get<1>(result) = "STRING_A076"; break; - case 1409: std::get<1>(result) = "STRING_A077"; break; - case 1410: std::get<1>(result) = "STRING_A078"; break; - case 1411: std::get<1>(result) = "STRING_A079"; break; - case 1412: std::get<1>(result) = "STRING_A080"; break; - case 1413: std::get<1>(result) = "STRING_A081"; break; - case 1414: std::get<1>(result) = "STRING_A082"; break; - case 1415: std::get<1>(result) = "STRING_A083"; break; - case 1416: std::get<1>(result) = "STRING_A084"; break; - case 1417: std::get<1>(result) = "STRING_A085"; break; - case 1418: std::get<1>(result) = "STRING_A086"; break; - case 1419: std::get<1>(result) = "STRING_A087"; break; - case 1420: std::get<1>(result) = "STRING_A088"; break; - case 1421: std::get<1>(result) = "STRING_A089"; break; - case 1422: std::get<1>(result) = "STRING_A090"; break; - case 1423: std::get<1>(result) = "STRING_A091"; break; - case 1424: std::get<1>(result) = "STRING_A092"; break; - case 1425: std::get<1>(result) = "STRING_A093"; break; - case 1426: std::get<1>(result) = "STRING_A094"; break; - case 1427: std::get<1>(result) = "STRING_A095"; break; - case 1428: std::get<1>(result) = "STRING_A096"; break; - case 1429: std::get<1>(result) = "STRING_A097"; break; - case 1430: std::get<1>(result) = "STRING_A098"; break; - case 1431: std::get<1>(result) = "STRING_A099"; break; - case 1432: std::get<1>(result) = "STRING_A100"; break; - case 1433: std::get<1>(result) = "STRING_A101"; break; - case 1434: std::get<1>(result) = "STRING_A102"; break; - case 1435: std::get<1>(result) = "STRING_A103"; break; - case 1436: std::get<1>(result) = "STRING_A104"; break; - case 1437: std::get<1>(result) = "STRING_A105"; break; - case 1438: std::get<1>(result) = "STRING_A106"; break; - case 1439: std::get<1>(result) = "STRING_A107"; break; - case 1440: std::get<1>(result) = "STRING_A108"; break; - case 1441: std::get<1>(result) = "STRING_A109"; break; - case 1442: std::get<1>(result) = "STRING_A110"; break; - case 1443: std::get<1>(result) = "STRING_A111"; break; - case 1444: std::get<1>(result) = "STRING_A112"; break; - case 1445: std::get<1>(result) = "STRING_A113"; break; - case 1446: std::get<1>(result) = "STRING_A114"; break; - case 1447: std::get<1>(result) = "STRING_A115"; break; - case 1448: std::get<1>(result) = "STRING_A116"; break; - case 1449: std::get<1>(result) = "STRING_A117"; break; - case 1450: std::get<1>(result) = "STRING_A118"; break; - case 1451: std::get<1>(result) = "STRING_A119"; break; - case 1452: std::get<1>(result) = "STRING_A120"; break; - case 1453: std::get<1>(result) = "STRING_A121"; break; - case 1454: std::get<1>(result) = "STRING_A122"; break; - case 1455: std::get<1>(result) = "STRING_A123"; break; - case 1456: std::get<1>(result) = "STRING_A124"; break; - case 1457: std::get<1>(result) = "STRING_A125"; break; - case 1458: std::get<1>(result) = "STRING_A126"; break; - case 1459: std::get<1>(result) = "STRING_A128"; break; - case 1460: std::get<1>(result) = "STRING_A129"; break; - case 1461: std::get<1>(result) = "STRING_A130"; break; - case 1462: std::get<1>(result) = "STRING_A131"; break; - case 1463: std::get<1>(result) = "STRING_A132"; break; - case 1464: std::get<1>(result) = "STRING_A133"; break; - case 1465: std::get<1>(result) = "STRING_A134"; break; - case 1466: std::get<1>(result) = "STRING_A135"; break; - case 1467: std::get<1>(result) = "STRING_A136"; break; - case 1468: std::get<1>(result) = "STRING_A137"; break; - case 1469: std::get<1>(result) = "STRING_A138"; break; - case 1470: std::get<1>(result) = "STRING_A139"; break; - case 1471: std::get<1>(result) = "STRING_A140"; break; - case 1472: std::get<1>(result) = "STRING_A141"; break; - case 1473: std::get<1>(result) = "STRING_A142"; break; - case 1474: std::get<1>(result) = "STRING_A143"; break; - case 1475: std::get<1>(result) = "STRING_A144"; break; - case 1476: std::get<1>(result) = "STRING_A145"; break; - case 1477: std::get<1>(result) = "STRING_A146"; break; - case 1478: std::get<1>(result) = "STRING_A147"; break; - case 1479: std::get<1>(result) = "STRING_A148"; break; - case 1480: std::get<1>(result) = "STRING_A149"; break; - case 1481: std::get<1>(result) = "STRING_A150"; break; - case 1482: std::get<1>(result) = "STRING_A151"; break; - case 1483: std::get<1>(result) = "STRING_A152"; break; - case 1484: std::get<1>(result) = "STRING_A153"; break; - case 1485: std::get<1>(result) = "STRING_A154"; break; - case 1486: std::get<1>(result) = "STRING_A155"; break; - case 1487: std::get<1>(result) = "STRING_A156"; break; - case 1488: std::get<1>(result) = "STRING_A157"; break; - case 1489: std::get<1>(result) = "STRING_A158"; break; - case 1490: std::get<1>(result) = "STRING_A159"; break; - case 1491: std::get<1>(result) = "STRING_A160"; break; - case 1492: std::get<1>(result) = "STRING_A161"; break; - case 1493: std::get<1>(result) = "STRING_A162"; break; - case 1494: std::get<1>(result) = "STRING_A163"; break; - case 1495: std::get<1>(result) = "STRING_A164"; break; - case 1496: std::get<1>(result) = "STRING_A165"; break; - case 1497: std::get<1>(result) = "STRING_A166"; break; - case 1498: std::get<1>(result) = "STRING_A167"; break; - case 1499: std::get<1>(result) = "STRING_A168"; break; - case 1500: std::get<1>(result) = "STRING_A169"; break; - case 1501: std::get<1>(result) = "STRING_A170"; break; - case 1502: std::get<1>(result) = "STRING_A171"; break; - case 1503: std::get<1>(result) = "STRING_A172"; break; - case 1504: std::get<1>(result) = "STRING_A173"; break; - case 1505: std::get<1>(result) = "STRING_A174"; break; - case 1506: std::get<1>(result) = "STRING_A175"; break; - case 1507: std::get<1>(result) = "STRING_A176"; break; - case 1508: std::get<1>(result) = "STRING_A177"; break; - case 1509: std::get<1>(result) = "STRING_A178"; break; - case 1510: std::get<1>(result) = "STRING_A179"; break; - case 1511: std::get<1>(result) = "STRING_A180"; break; - case 1512: std::get<1>(result) = "STRING_A181"; break; - case 1513: std::get<1>(result) = "STRING_A182"; break; - case 1514: std::get<1>(result) = "STRING_A183"; break; - case 1515: std::get<1>(result) = "STRING_A184"; break; - case 1516: std::get<1>(result) = "STRING_A185"; break; - case 1517: std::get<1>(result) = "STRING_A186"; break; - case 1518: std::get<1>(result) = "STRING_A187"; break; - case 1519: std::get<1>(result) = "STRING_A188"; break; - case 1520: std::get<1>(result) = "STRING_A189"; break; - case 1521: std::get<1>(result) = "STRING_A190"; break; - case 1522: std::get<1>(result) = "STRING_A191"; break; - case 1523: std::get<1>(result) = "STRING_A192"; break; - case 1524: std::get<1>(result) = "STRING_A193"; break; - case 1525: std::get<1>(result) = "STRING_A194"; break; - case 1526: std::get<1>(result) = "STRING_A195"; break; - case 1527: std::get<1>(result) = "STRING_A196"; break; - case 1528: std::get<1>(result) = "STRING_A197"; break; - case 1529: std::get<1>(result) = "STRING_A198"; break; - case 1530: std::get<1>(result) = "STRING_A199"; break; - case 1531: std::get<1>(result) = "STRING_A200"; break; - case 1532: std::get<1>(result) = "STRING_A201"; break; - case 1533: std::get<1>(result) = "STRING_A202"; break; - case 1534: std::get<1>(result) = "STRING_A203"; break; - case 1535: std::get<1>(result) = "STRING_A204"; break; - case 1536: std::get<1>(result) = "STRING_A205"; break; - case 1537: std::get<1>(result) = "STRING_A206"; break; - case 1538: std::get<1>(result) = "STRING_A207"; break; - case 1539: std::get<1>(result) = "STRING_A208"; break; - case 1540: std::get<1>(result) = "STRING_A209"; break; - case 1541: std::get<1>(result) = "STRING_A210"; break; - case 1542: std::get<1>(result) = "STRING_A211"; break; - case 1543: std::get<1>(result) = "STRING_A212"; break; - case 1544: std::get<1>(result) = "STRING_A213"; break; - case 1545: std::get<1>(result) = "STRING_A214"; break; - case 1546: std::get<1>(result) = "STRING_A215"; break; - case 1547: std::get<1>(result) = "STRING_A216"; break; - case 1548: std::get<1>(result) = "STRING_A217"; break; - case 1549: std::get<1>(result) = "STRING_A218"; break; - case 1550: std::get<1>(result) = "STRING_A219"; break; - case 1551: std::get<1>(result) = "STRING_A220"; break; - case 1552: std::get<1>(result) = "STRING_A221"; break; - case 1553: std::get<1>(result) = "STRING_A222"; break; - case 1554: std::get<1>(result) = "STRING_A223"; break; - case 1555: std::get<1>(result) = "STRING_A224"; break; - case 1556: std::get<1>(result) = "STRING_A225"; break; - case 1557: std::get<1>(result) = "STRING_A226"; break; - case 1558: std::get<1>(result) = "STRING_A227"; break; - case 1559: std::get<1>(result) = "STRING_A228"; break; - case 1560: std::get<1>(result) = "STRING_A229"; break; - case 1561: std::get<1>(result) = "STRING_A230"; break; - case 1562: std::get<1>(result) = "STRING_A231"; break; - case 1563: std::get<1>(result) = "STRING_A232"; break; - case 1564: std::get<1>(result) = "STRING_A233"; break; - case 1565: std::get<1>(result) = "STRING_A234"; break; - case 1566: std::get<1>(result) = "STRING_A235"; break; - case 1567: std::get<1>(result) = "STRING_A236"; break; - case 1568: std::get<1>(result) = "STRING_A237"; break; - case 1569: std::get<1>(result) = "STRING_A238"; break; - case 1570: std::get<1>(result) = "STRING_A239"; break; - case 1571: std::get<1>(result) = "STRING_A240"; break; - case 1572: std::get<1>(result) = "STRING_A241"; break; - case 1573: std::get<1>(result) = "STRING_A242"; break; - case 1574: std::get<1>(result) = "STRING_A243"; break; - case 1575: std::get<1>(result) = "STRING_A244"; break; - case 1576: std::get<1>(result) = "STRING_A245"; break; - case 1577: std::get<1>(result) = "STRING_A246"; break; - case 1578: std::get<1>(result) = "STRING_A247"; break; - case 1579: std::get<1>(result) = "STRING_A248"; break; - case 1580: std::get<1>(result) = "STRING_A249"; break; - case 1581: std::get<1>(result) = "STRING_A250"; break; - case 1582: std::get<1>(result) = "STRING_A251"; break; - case 1583: std::get<1>(result) = "STRING_A252"; break; - case 1584: std::get<1>(result) = "STRING_A253"; break; - case 1585: std::get<1>(result) = "STRING_A254"; break; - case 1586: std::get<1>(result) = "STRING_A255"; break; - case 1587: std::get<1>(result) = "KEYBINDING_COMPLETE"; break; - default: break; - } - return result; -} - -std::tuple get_dfhack_knowledge_scholar_flag_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "philosophy_logic_formal_reasoning"; break; - case 1: std::get<1>(result) = "philosophy_logic_deductive_reasoning"; break; - case 2: std::get<1>(result) = "philosophy_logic_syllogistic_logic"; break; - case 3: std::get<1>(result) = "philosophy_logic_hypothetical_syllogisms"; break; - case 4: std::get<1>(result) = "philosophy_logic_propositional_logic"; break; - case 5: std::get<1>(result) = "philosophy_logic_dialectic_reasoning"; break; - case 6: std::get<1>(result) = "philosophy_logic_analogical_inference"; break; - case 7: std::get<1>(result) = "philosophy_ethics_applied_medical"; break; - case 8: std::get<1>(result) = "philosophy_ethics_individual_value"; break; - case 9: std::get<1>(result) = "philosophy_ethics_state_consequentialism"; break; - case 10: std::get<1>(result) = "philosophy_epistemology_truth"; break; - case 11: std::get<1>(result) = "philosophy_epistemology_perception"; break; - case 12: std::get<1>(result) = "philosophy_epistemology_justification"; break; - case 13: std::get<1>(result) = "philosophy_epistemology_belief"; break; - case 14: std::get<1>(result) = "philosophy_metaphysics_existence"; break; - case 15: std::get<1>(result) = "philosophy_metaphysics_time"; break; - case 16: std::get<1>(result) = "philosophy_metaphysics_mind_body"; break; - case 17: std::get<1>(result) = "philosophy_metaphysics_objects_and_properties"; break; - case 18: std::get<1>(result) = "philosophy_metaphysics_wholes_and_parts"; break; - case 19: std::get<1>(result) = "philosophy_metaphysics_events"; break; - case 20: std::get<1>(result) = "philosophy_metaphysics_processes"; break; - case 21: std::get<1>(result) = "philosophy_metaphysics_causation"; break; - case 22: std::get<1>(result) = "philosophy_ethics_applied_military"; break; - case 23: std::get<1>(result) = "philosophy_ethics_applied_interpersonal_conduct"; break; - case 24: std::get<1>(result) = "philosophy_specialized_law"; break; - case 25: std::get<1>(result) = "philosophy_specialized_education"; break; - case 26: std::get<1>(result) = "philosophy_specialized_language_grammar"; break; - case 27: std::get<1>(result) = "philosophy_specialized_language_etymology"; break; - case 28: std::get<1>(result) = "philosophy_specialized_politics_diplomacy"; break; - case 29: std::get<1>(result) = "philosophy_specialized_politics_government_forms"; break; - case 30: std::get<1>(result) = "philosophy_specialized_politics_economic_policy"; break; - case 31: std::get<1>(result) = "philosophy_specialized_politics_social_welfare"; break; - case 32: std::get<1>(result) = "philosophy_logic_inductive_reasoning"; break; - case 33: std::get<1>(result) = "philosophy_logic_direct_inference"; break; - case 34: std::get<1>(result) = "philosophy_aesthetics_nature_of_beauty"; break; - case 35: std::get<1>(result) = "philosophy_aesthetics_value_of_art"; break; - case 36: std::get<1>(result) = "philosophy_specialized_language_dictionary"; break; - case 64: std::get<1>(result) = "mathematics_method_proof_by_contradiction"; break; - case 65: std::get<1>(result) = "mathematics_notation_zero"; break; - case 66: std::get<1>(result) = "mathematics_notation_negative_numbers"; break; - case 67: std::get<1>(result) = "mathematics_notation_large_numbers"; break; - case 68: std::get<1>(result) = "mathematics_notation_positional"; break; - case 69: std::get<1>(result) = "mathematics_geometry_basic_objects"; break; - case 70: std::get<1>(result) = "mathematics_method_exhaustion"; break; - case 71: std::get<1>(result) = "mathematics_geometry_similar_and_congruent_triangles"; break; - case 72: std::get<1>(result) = "mathematics_geometry_geometric_mean_theorem"; break; - case 73: std::get<1>(result) = "mathematics_geometry_isosceles_base_angles_equal"; break; - case 74: std::get<1>(result) = "mathematics_geometry_inscribed_triangle_on_diameter_is_right"; break; - case 75: std::get<1>(result) = "mathematics_geometry_pythagorean_theorem"; break; - case 76: std::get<1>(result) = "mathematics_geometry_pythagorean_triples_small"; break; - case 77: std::get<1>(result) = "mathematics_geometry_pythagorean_triples_3_digit"; break; - case 78: std::get<1>(result) = "mathematics_geometry_pythagorean_triples_4_digit"; break; - case 79: std::get<1>(result) = "mathematics_geometry_existence_of_incommensurable_ratios"; break; - case 80: std::get<1>(result) = "mathematics_method_axiomatic_reasoning"; break; - case 81: std::get<1>(result) = "mathematics_numbers_unique_prime_factorization"; break; - case 82: std::get<1>(result) = "mathematics_numbers_algorithm_for_computing_gcd"; break; - case 83: std::get<1>(result) = "mathematics_geometry_volume_of_pyramid"; break; - case 84: std::get<1>(result) = "mathematics_geometry_volume_of_cone"; break; - case 85: std::get<1>(result) = "mathematics_geometry_volume_of_sphere"; break; - case 86: std::get<1>(result) = "mathematics_geometry_pi_to_4_digits"; break; - case 87: std::get<1>(result) = "mathematics_numbers_division_algorithm"; break; - case 88: std::get<1>(result) = "mathematics_geometry_table_of_chord_values"; break; - case 89: std::get<1>(result) = "mathematics_geometry_area_of_triangle_from_side_lengths"; break; - case 90: std::get<1>(result) = "mathematics_geometry_area_of_circle"; break; - case 91: std::get<1>(result) = "mathematics_geometry_pi_to_6_digits"; break; - case 92: std::get<1>(result) = "mathematics_geometry_definitions_and_basic_properties_of_conic_sections"; break; - case 93: std::get<1>(result) = "mathematics_numbers_chinese_remainder_algorithm"; break; - case 94: std::get<1>(result) = "mathematics_geometry_area_enclosed_by_line_and_parabola"; break; - case 95: std::get<1>(result) = "mathematics_numbers_sieve_algorithm_for_primes"; break; - case 96: std::get<1>(result) = "mathematics_numbers_root_2_to_5_digits"; break; - case 97: std::get<1>(result) = "mathematics_numbers_infinite_primes"; break; - case 98: std::get<1>(result) = "mathematics_numbers_root_2_irrational"; break; - case 99: std::get<1>(result) = "mathematics_geometry_surface_area_of_sphere"; break; - case 100: std::get<1>(result) = "mathematics_algebra_finite_summation_formulas"; break; - case 101: std::get<1>(result) = "mathematics_algebra_solving_linear_systems"; break; - case 102: std::get<1>(result) = "mathematics_algebra_balancing_and_completion"; break; - case 103: std::get<1>(result) = "mathematics_algebra_quadratic_by_completing_square"; break; - case 104: std::get<1>(result) = "mathematics_algebra_quadratic_formula"; break; - case 105: std::get<1>(result) = "mathematics_notation_syncopated_algebra"; break; - case 106: std::get<1>(result) = "mathematics_geometry_law_of_sines"; break; - case 107: std::get<1>(result) = "mathematics_geometry_angle_sum_difference_trig_identities"; break; - case 108: std::get<1>(result) = "mathematics_algebra_pascals_triangle"; break; - case 109: std::get<1>(result) = "mathematics_algebra_solving_higher_order_polynomials"; break; - case 110: std::get<1>(result) = "mathematics_notation_early_symbols_for_operations"; break; - case 111: std::get<1>(result) = "mathematics_algebra_divergence_of_harmonic_series"; break; - case 112: std::get<1>(result) = "mathematics_geometry_properties_of_chords"; break; - case 128: std::get<1>(result) = "history_sourcing_basic_reliability"; break; - case 129: std::get<1>(result) = "history_sourcing_role_of_systemic_bias"; break; - case 130: std::get<1>(result) = "history_sourcing_role_of_state_bias_and_propaganda"; break; - case 131: std::get<1>(result) = "history_sourcing_personal_interviews"; break; - case 132: std::get<1>(result) = "history_theory_historical_causation"; break; - case 133: std::get<1>(result) = "history_theory_historical_cycles"; break; - case 134: std::get<1>(result) = "history_theory_social_cohesion"; break; - case 135: std::get<1>(result) = "history_theory_social_conflict"; break; - case 136: std::get<1>(result) = "history_form_biography"; break; - case 137: std::get<1>(result) = "history_form_comparative_biography"; break; - case 138: std::get<1>(result) = "history_form_biographical_dictionaries"; break; - case 139: std::get<1>(result) = "history_form_autobiographical_adventure"; break; - case 140: std::get<1>(result) = "history_form_genealogy"; break; - case 141: std::get<1>(result) = "history_form_encyclopedia"; break; - case 142: std::get<1>(result) = "history_form_cultural_history"; break; - case 143: std::get<1>(result) = "history_form_cultural_comparison"; break; - case 144: std::get<1>(result) = "history_sourcing_role_of_cultural_differences"; break; - case 145: std::get<1>(result) = "history_form_alternate_history"; break; - case 146: std::get<1>(result) = "history_sourcing_basic_archaeology"; break; - case 147: std::get<1>(result) = "history_form_treatise_on_tech_evolution"; break; - case 160: std::get<1>(result) = "astronomy_phases_of_the_moon"; break; - case 161: std::get<1>(result) = "astronomy_summer_winter_moon"; break; - case 162: std::get<1>(result) = "astronomy_path_of_the_moon"; break; - case 163: std::get<1>(result) = "astronomy_tides_and_the_moon"; break; - case 164: std::get<1>(result) = "astronomy_height_of_tides_vs_moon_and_sun"; break; - case 165: std::get<1>(result) = "astronomy_summer_winter_sun"; break; - case 166: std::get<1>(result) = "astronomy_relationship_between_lunar_solar_year"; break; - case 167: std::get<1>(result) = "astronomy_daylight_variation_with_solar_year"; break; - case 168: std::get<1>(result) = "astronomy_geocentric_model"; break; - case 169: std::get<1>(result) = "astronomy_heliocentric_model"; break; - case 170: std::get<1>(result) = "astronomy_dates_of_lunar_and_solar_eclipses"; break; - case 171: std::get<1>(result) = "astronomy_star_charts"; break; - case 172: std::get<1>(result) = "astronomy_star_catalogues_100"; break; - case 173: std::get<1>(result) = "astronomy_star_catalogues_1000"; break; - case 174: std::get<1>(result) = "astronomy_star_color_classification"; break; - case 175: std::get<1>(result) = "astronomy_star_magnitude_classification"; break; - case 176: std::get<1>(result) = "astronomy_shape_of_the_world"; break; - case 177: std::get<1>(result) = "astronomy_precession_of_equinoxes"; break; - case 178: std::get<1>(result) = "astronomy_method_empirical_observation"; break; - case 179: std::get<1>(result) = "astronomy_method_path_models"; break; - case 192: std::get<1>(result) = "naturalist_method_dissection"; break; - case 193: std::get<1>(result) = "naturalist_observation_anatomy"; break; - case 194: std::get<1>(result) = "naturalist_theory_comparative_anatomy"; break; - case 195: std::get<1>(result) = "naturalist_theory_classification_by_physical_features"; break; - case 196: std::get<1>(result) = "naturalist_observation_migration_patterns"; break; - case 197: std::get<1>(result) = "naturalist_observation_reproductive_behavior"; break; - case 198: std::get<1>(result) = "naturalist_observation_foraging_behavior_and_diet"; break; - case 199: std::get<1>(result) = "naturalist_theory_food_chain"; break; - case 200: std::get<1>(result) = "naturalist_observation_social_behavior"; break; - case 201: std::get<1>(result) = "naturalist_observation_diseases"; break; - case 202: std::get<1>(result) = "naturalist_theory_climactic_adaptation"; break; - case 203: std::get<1>(result) = "naturalist_observation_embriological_development"; break; - case 204: std::get<1>(result) = "naturalist_theory_struggle_for_existence"; break; - case 224: std::get<1>(result) = "chemistry_classification_combustibles"; break; - case 225: std::get<1>(result) = "chemistry_classification_ores"; break; - case 226: std::get<1>(result) = "chemistry_metallurgy_alloys"; break; - case 227: std::get<1>(result) = "chemistry_classification_scratch_test"; break; - case 228: std::get<1>(result) = "chemistry_classification_elemental_theory"; break; - case 229: std::get<1>(result) = "chemistry_chemicals_adhesives"; break; - case 230: std::get<1>(result) = "chemistry_laboratory_blast_furnace"; break; - case 231: std::get<1>(result) = "chemistry_laboratory_alembic"; break; - case 232: std::get<1>(result) = "chemistry_laboratory_theory_of_liquid_liquid_extraction"; break; - case 233: std::get<1>(result) = "chemistry_laboratory_theory_of_distillation"; break; - case 234: std::get<1>(result) = "chemistry_laboratory_theory_of_evaporation"; break; - case 235: std::get<1>(result) = "chemistry_classification_alkali_and_acids"; break; - case 236: std::get<1>(result) = "chemistry_laboratory_systematic_experiments"; break; - case 237: std::get<1>(result) = "chemistry_laboratory_glass_flask"; break; - case 238: std::get<1>(result) = "chemistry_laboratory_glass_beaker"; break; - case 239: std::get<1>(result) = "chemistry_laboratory_glass_vial"; break; - case 240: std::get<1>(result) = "chemistry_laboratory_glass_funnel"; break; - case 241: std::get<1>(result) = "chemistry_laboratory_crucible"; break; - case 242: std::get<1>(result) = "chemistry_chemicals_nitric_acid"; break; - case 243: std::get<1>(result) = "chemistry_chemicals_sulfuric_acid"; break; - case 244: std::get<1>(result) = "chemistry_chemicals_aqua_regia"; break; - case 245: std::get<1>(result) = "chemistry_laboratory_glass_ampoule"; break; - case 246: std::get<1>(result) = "chemistry_laboratory_glass_retort"; break; - case 247: std::get<1>(result) = "chemistry_laboratory_lab_ovens"; break; - case 256: std::get<1>(result) = "geography_surveying_basic"; break; - case 257: std::get<1>(result) = "geography_surveying_staff"; break; - case 258: std::get<1>(result) = "geography_cartography_basic"; break; - case 259: std::get<1>(result) = "geography_surveying_triangulation"; break; - case 260: std::get<1>(result) = "geography_surveying_cartographical"; break; - case 261: std::get<1>(result) = "geography_surveying_land"; break; - case 262: std::get<1>(result) = "geography_surveying_military"; break; - case 263: std::get<1>(result) = "geography_surveying_engineering"; break; - case 264: std::get<1>(result) = "geography_cartography_geological"; break; - case 265: std::get<1>(result) = "geography_cartography_grid_system"; break; - case 266: std::get<1>(result) = "geography_cartography_distance_scale"; break; - case 267: std::get<1>(result) = "geography_cartography_height_measurements"; break; - case 268: std::get<1>(result) = "geography_method_economic_data_collection"; break; - case 269: std::get<1>(result) = "geography_cartography_economic"; break; - case 270: std::get<1>(result) = "geography_form_atlas"; break; - case 271: std::get<1>(result) = "geography_theory_delta_formation"; break; - case 272: std::get<1>(result) = "geography_theory_wind_patterns"; break; - case 273: std::get<1>(result) = "geography_theory_origin_of_rainfall_from_evap_condense"; break; - case 274: std::get<1>(result) = "geography_theory_water_cycle"; break; - case 275: std::get<1>(result) = "geography_theory_latitude_climate_zones"; break; - case 276: std::get<1>(result) = "geography_cartography_accurate_maps"; break; - case 277: std::get<1>(result) = "geography_cartography_map_projections"; break; - case 288: std::get<1>(result) = "medicine_theory_disease_and_fouled_water"; break; - case 289: std::get<1>(result) = "medicine_method_physical_examination"; break; - case 290: std::get<1>(result) = "medicine_method_autopsy"; break; - case 291: std::get<1>(result) = "medicine_theory_prognosis"; break; - case 292: std::get<1>(result) = "medicine_tool_herbal_remedies"; break; - case 293: std::get<1>(result) = "medicine_tool_animal_remedies"; break; - case 294: std::get<1>(result) = "medicine_tool_mineral_remedies"; break; - case 295: std::get<1>(result) = "medicine_tool_bandages"; break; - case 296: std::get<1>(result) = "medicine_theory_disease_classification"; break; - case 297: std::get<1>(result) = "medicine_theory_toxicology"; break; - case 298: std::get<1>(result) = "medicine_theory_acute_and_chronic_conditions"; break; - case 299: std::get<1>(result) = "medicine_theory_endemic_disease"; break; - case 300: std::get<1>(result) = "medicine_theory_epidemic_disease"; break; - case 301: std::get<1>(result) = "medicine_theory_exacerbation"; break; - case 302: std::get<1>(result) = "medicine_theory_paroxysm"; break; - case 303: std::get<1>(result) = "medicine_theory_relapse"; break; - case 304: std::get<1>(result) = "medicine_theory_convalescence"; break; - case 305: std::get<1>(result) = "medicine_method_treatment_of_traumatic_injuries"; break; - case 306: std::get<1>(result) = "medicine_method_fracture_treatment"; break; - case 307: std::get<1>(result) = "medicine_theory_fracture_classification"; break; - case 308: std::get<1>(result) = "medicine_tool_traction_bench"; break; - case 309: std::get<1>(result) = "medicine_method_fracture_immobilization"; break; - case 310: std::get<1>(result) = "medicine_tool_orthopedic_cast"; break; - case 311: std::get<1>(result) = "medicine_method_surgery_excision"; break; - case 312: std::get<1>(result) = "medicine_method_surgery_incision"; break; - case 313: std::get<1>(result) = "medicine_method_hernia_surgery"; break; - case 314: std::get<1>(result) = "medicine_method_tracheotomy_surgery"; break; - case 315: std::get<1>(result) = "medicine_method_lithotomy_surgery"; break; - case 316: std::get<1>(result) = "medicine_method_surgery_scraping"; break; - case 317: std::get<1>(result) = "medicine_method_surgery_draining"; break; - case 318: std::get<1>(result) = "medicine_method_surgery_probing"; break; - case 319: std::get<1>(result) = "medicine_method_surgery_suturing"; break; - case 320: std::get<1>(result) = "medicine_method_surgery_ligature"; break; - case 321: std::get<1>(result) = "medicine_theory_surgical_models"; break; - case 322: std::get<1>(result) = "medicine_tool_mud_bags_as_surgical_models"; break; - case 323: std::get<1>(result) = "medicine_tool_plants_as_surgical_models"; break; - case 324: std::get<1>(result) = "medicine_tool_animals_as_surgical_models"; break; - case 325: std::get<1>(result) = "medicine_theory_specialized_surgical_instruments"; break; - case 326: std::get<1>(result) = "medicine_tool_forceps"; break; - case 327: std::get<1>(result) = "medicine_tool_scalpel"; break; - case 328: std::get<1>(result) = "medicine_tool_surgical_scissors"; break; - case 329: std::get<1>(result) = "medicine_tool_surgical_needles"; break; - case 330: std::get<1>(result) = "medicine_method_cataract_surgery"; break; - case 331: std::get<1>(result) = "medicine_method_cauterization"; break; - case 332: std::get<1>(result) = "medicine_method_anesthesia"; break; - case 333: std::get<1>(result) = "medicine_theory_pulmonary_medicine"; break; - case 334: std::get<1>(result) = "medicine_theory_anatomical_studies"; break; - case 335: std::get<1>(result) = "medicine_theory_classification_of_bodily_fluids"; break; - case 336: std::get<1>(result) = "medicine_theory_eye_anatomy"; break; - case 337: std::get<1>(result) = "medicine_theory_motor_vs_sensory_nerves"; break; - case 338: std::get<1>(result) = "medicine_theory_nervous_system_function"; break; - case 339: std::get<1>(result) = "medicine_theory_reaction_time"; break; - case 340: std::get<1>(result) = "medicine_theory_blood_vessels"; break; - case 341: std::get<1>(result) = "medicine_theory_pulmonary_circulation"; break; - case 342: std::get<1>(result) = "medicine_theory_comparative_anatomy"; break; - case 343: std::get<1>(result) = "medicine_theory_the_voice"; break; - case 344: std::get<1>(result) = "medicine_theory_classification_of_muscles"; break; - case 345: std::get<1>(result) = "medicine_theory_classification_of_mental_illnesses"; break; - case 346: std::get<1>(result) = "medicine_theory_treatment_of_mental_illnesses"; break; - case 347: std::get<1>(result) = "medicine_tool_dedicated_hospitals"; break; - case 348: std::get<1>(result) = "medicine_method_professional_hospital_staff"; break; - case 349: std::get<1>(result) = "medicine_method_specialized_wards"; break; - case 350: std::get<1>(result) = "medicine_method_hospital_lab"; break; - case 351: std::get<1>(result) = "medicine_method_medical_school"; break; - case 352: std::get<1>(result) = "medicine_method_asylum_for_mentally_ill"; break; - case 384: std::get<1>(result) = "engineering_horology_shadow_clock"; break; - case 385: std::get<1>(result) = "engineering_horology_water_clock"; break; - case 386: std::get<1>(result) = "engineering_horology_conical_water_clock"; break; - case 387: std::get<1>(result) = "engineering_horology_water_clock_reservoir"; break; - case 388: std::get<1>(result) = "engineering_horology_astrarium"; break; - case 389: std::get<1>(result) = "engineering_horology_hourglass"; break; - case 390: std::get<1>(result) = "engineering_horology_mechanical_clock"; break; - case 391: std::get<1>(result) = "engineering_machine_theory_of_pulley"; break; - case 392: std::get<1>(result) = "engineering_machine_pulley"; break; - case 393: std::get<1>(result) = "engineering_machine_theory_of_screw"; break; - case 394: std::get<1>(result) = "engineering_machine_screw"; break; - case 395: std::get<1>(result) = "engineering_machine_theory_of_wheel_and_axle"; break; - case 396: std::get<1>(result) = "engineering_machine_windlass"; break; - case 397: std::get<1>(result) = "engineering_machine_theory_of_wedge"; break; - case 398: std::get<1>(result) = "engineering_machine_theory_of_lever"; break; - case 399: std::get<1>(result) = "engineering_machine_lever"; break; - case 400: std::get<1>(result) = "engineering_machine_straight_beam_balance"; break; - case 401: std::get<1>(result) = "engineering_machine_theory_of_gears"; break; - case 402: std::get<1>(result) = "engineering_machine_warded_lock"; break; - case 403: std::get<1>(result) = "engineering_machine_tumbler_lock"; break; - case 404: std::get<1>(result) = "engineering_machine_padlock"; break; - case 405: std::get<1>(result) = "engineering_machine_camshaft"; break; - case 406: std::get<1>(result) = "engineering_machine_crankshaft"; break; - case 407: std::get<1>(result) = "engineering_machine_water_powered_sawmill"; break; - case 408: std::get<1>(result) = "engineering_machine_chariot_odometer"; break; - case 409: std::get<1>(result) = "engineering_machine_chain_drive"; break; - case 410: std::get<1>(result) = "engineering_machine_mechanical_compass"; break; - case 411: std::get<1>(result) = "engineering_machine_differential_gear"; break; - case 412: std::get<1>(result) = "engineering_machine_combination_lock"; break; - case 413: std::get<1>(result) = "engineering_machine_verge_escapement"; break; - case 414: std::get<1>(result) = "engineering_machine_balance_wheel"; break; - case 415: std::get<1>(result) = "engineering_fluid_theory_of_siphon"; break; - case 416: std::get<1>(result) = "engineering_fluid_valves"; break; - case 417: std::get<1>(result) = "engineering_fluid_force_pump"; break; - case 418: std::get<1>(result) = "engineering_optics_crystal_lens"; break; - case 419: std::get<1>(result) = "engineering_optics_water_filled_spheres"; break; - case 420: std::get<1>(result) = "engineering_optics_glass_lens"; break; - case 421: std::get<1>(result) = "engineering_optics_camera_obscura"; break; - case 422: std::get<1>(result) = "engineering_optics_parabolic_mirror"; break; - case 423: std::get<1>(result) = "engineering_optics_theory_of_color"; break; - case 424: std::get<1>(result) = "engineering_optics_theory_of_rainbows"; break; - case 425: std::get<1>(result) = "engineering_optics_law_of_refraction"; break; - case 426: std::get<1>(result) = "engineering_design_models_and_templates"; break; - case 427: std::get<1>(result) = "engineering_construction_wood_lamination"; break; - case 428: std::get<1>(result) = "engineering_astronomy_dioptra"; break; - case 429: std::get<1>(result) = "engineering_astronomy_astrolabe"; break; - case 430: std::get<1>(result) = "engineering_astronomy_armillary_sphere"; break; - case 431: std::get<1>(result) = "engineering_astronomy_spherical_astrolabe"; break; - case 432: std::get<1>(result) = "engineering_astronomy_mural_instrument"; break; - case 433: std::get<1>(result) = "engineering_astronomy_orrery"; break; - case 434: std::get<1>(result) = "engineering_machine_water_powered_trip_hammer"; break; - case 435: std::get<1>(result) = "engineering_machine_double_acting_piston_bellows"; break; - case 436: std::get<1>(result) = "engineering_fluid_archimedes_principle"; break; - case 437: std::get<1>(result) = "engineering_optics_atmospheric_refraction"; break; - case 438: std::get<1>(result) = "engineering_optics_cause_of_twilight"; break; - case 439: std::get<1>(result) = "engineering_optics_height_of_atmosphere"; break; - case 440: std::get<1>(result) = "engineering_machine_piston"; break; - case 441: std::get<1>(result) = "engineering_machine_crank"; break; - case 442: std::get<1>(result) = "engineering_machine_bellows"; break; - case 443: std::get<1>(result) = "engineering_machine_water_powered_piston_bellows"; break; - case 444: std::get<1>(result) = "engineering_machine_water_wheel"; break; - case 445: std::get<1>(result) = "engineering_machine_trip_hammer"; break; - default: break; - } - return result; -} - -std::tuple get_part_of_speech_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Noun"; break; - case 1: std::get<1>(result) = "NounPlural"; break; - case 2: std::get<1>(result) = "Adjective"; break; - case 3: std::get<1>(result) = "Prefix"; break; - case 4: std::get<1>(result) = "Verb"; break; - case 5: std::get<1>(result) = "Verb3rdPerson"; break; - case 6: std::get<1>(result) = "VerbPast"; break; - case 7: std::get<1>(result) = "VerbPassive"; break; - case 8: std::get<1>(result) = "VerbGerund"; break; - default: break; - } - return result; -} - -std::tuple get_sphere_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "AGRICULTURE"; break; - case 1: std::get<1>(result) = "ANIMALS"; break; - case 2: std::get<1>(result) = "ART"; break; - case 3: std::get<1>(result) = "BALANCE"; break; - case 4: std::get<1>(result) = "BEAUTY"; break; - case 5: std::get<1>(result) = "BIRTH"; break; - case 6: std::get<1>(result) = "BLIGHT"; break; - case 7: std::get<1>(result) = "BOUNDARIES"; break; - case 8: std::get<1>(result) = "CAVERNS"; break; - case 9: std::get<1>(result) = "CHAOS"; break; - case 10: std::get<1>(result) = "CHARITY"; break; - case 11: std::get<1>(result) = "CHILDREN"; break; - case 12: std::get<1>(result) = "COASTS"; break; - case 13: std::get<1>(result) = "CONSOLATION"; break; - case 14: std::get<1>(result) = "COURAGE"; break; - case 15: std::get<1>(result) = "CRAFTS"; break; - case 16: std::get<1>(result) = "CREATION"; break; - case 17: std::get<1>(result) = "DANCE"; break; - case 18: std::get<1>(result) = "DARKNESS"; break; - case 19: std::get<1>(result) = "DAWN"; break; - case 20: std::get<1>(result) = "DAY"; break; - case 21: std::get<1>(result) = "DEATH"; break; - case 22: std::get<1>(result) = "DEFORMITY"; break; - case 23: std::get<1>(result) = "DEPRAVITY"; break; - case 24: std::get<1>(result) = "DISCIPLINE"; break; - case 25: std::get<1>(result) = "DISEASE"; break; - case 26: std::get<1>(result) = "DREAMS"; break; - case 27: std::get<1>(result) = "DUSK"; break; - case 28: std::get<1>(result) = "DUTY"; break; - case 29: std::get<1>(result) = "EARTH"; break; - case 30: std::get<1>(result) = "FAMILY"; break; - case 31: std::get<1>(result) = "FAME"; break; - case 32: std::get<1>(result) = "FATE"; break; - case 33: std::get<1>(result) = "FERTILITY"; break; - case 34: std::get<1>(result) = "FESTIVALS"; break; - case 35: std::get<1>(result) = "FIRE"; break; - case 36: std::get<1>(result) = "FISH"; break; - case 37: std::get<1>(result) = "FISHING"; break; - case 38: std::get<1>(result) = "FOOD"; break; - case 39: std::get<1>(result) = "FORGIVENESS"; break; - case 40: std::get<1>(result) = "FORTRESSES"; break; - case 41: std::get<1>(result) = "FREEDOM"; break; - case 42: std::get<1>(result) = "GAMBLING"; break; - case 43: std::get<1>(result) = "GAMES"; break; - case 44: std::get<1>(result) = "GENEROSITY"; break; - case 45: std::get<1>(result) = "HAPPINESS"; break; - case 46: std::get<1>(result) = "HEALING"; break; - case 47: std::get<1>(result) = "HOSPITALITY"; break; - case 48: std::get<1>(result) = "HUNTING"; break; - case 49: std::get<1>(result) = "INSPIRATION"; break; - case 50: std::get<1>(result) = "JEALOUSY"; break; - case 51: std::get<1>(result) = "JEWELS"; break; - case 52: std::get<1>(result) = "JUSTICE"; break; - case 53: std::get<1>(result) = "LABOR"; break; - case 54: std::get<1>(result) = "LAKES"; break; - case 55: std::get<1>(result) = "LAWS"; break; - case 56: std::get<1>(result) = "LIES"; break; - case 57: std::get<1>(result) = "LIGHT"; break; - case 58: std::get<1>(result) = "LIGHTNING"; break; - case 59: std::get<1>(result) = "LONGEVITY"; break; - case 60: std::get<1>(result) = "LOVE"; break; - case 61: std::get<1>(result) = "LOYALTY"; break; - case 62: std::get<1>(result) = "LUCK"; break; - case 63: std::get<1>(result) = "LUST"; break; - case 64: std::get<1>(result) = "MARRIAGE"; break; - case 65: std::get<1>(result) = "MERCY"; break; - case 66: std::get<1>(result) = "METALS"; break; - case 67: std::get<1>(result) = "MINERALS"; break; - case 68: std::get<1>(result) = "MISERY"; break; - case 69: std::get<1>(result) = "MIST"; break; - case 70: std::get<1>(result) = "MOON"; break; - case 71: std::get<1>(result) = "MOUNTAINS"; break; - case 72: std::get<1>(result) = "MUCK"; break; - case 73: std::get<1>(result) = "MURDER"; break; - case 74: std::get<1>(result) = "MUSIC"; break; - case 75: std::get<1>(result) = "NATURE"; break; - case 76: std::get<1>(result) = "NIGHT"; break; - case 77: std::get<1>(result) = "NIGHTMARES"; break; - case 78: std::get<1>(result) = "OATHS"; break; - case 79: std::get<1>(result) = "OCEANS"; break; - case 80: std::get<1>(result) = "ORDER"; break; - case 81: std::get<1>(result) = "PAINTING"; break; - case 82: std::get<1>(result) = "PEACE"; break; - case 83: std::get<1>(result) = "PERSUASION"; break; - case 84: std::get<1>(result) = "PLANTS"; break; - case 85: std::get<1>(result) = "POETRY"; break; - case 86: std::get<1>(result) = "PREGNANCY"; break; - case 87: std::get<1>(result) = "RAIN"; break; - case 88: std::get<1>(result) = "RAINBOWS"; break; - case 89: std::get<1>(result) = "REBIRTH"; break; - case 90: std::get<1>(result) = "REVELRY"; break; - case 91: std::get<1>(result) = "REVENGE"; break; - case 92: std::get<1>(result) = "RIVERS"; break; - case 93: std::get<1>(result) = "RULERSHIP"; break; - case 94: std::get<1>(result) = "RUMORS"; break; - case 95: std::get<1>(result) = "SACRIFICE"; break; - case 96: std::get<1>(result) = "SALT"; break; - case 97: std::get<1>(result) = "SCHOLARSHIP"; break; - case 98: std::get<1>(result) = "SEASONS"; break; - case 99: std::get<1>(result) = "SILENCE"; break; - case 100: std::get<1>(result) = "SKY"; break; - case 101: std::get<1>(result) = "SONG"; break; - case 102: std::get<1>(result) = "SPEECH"; break; - case 103: std::get<1>(result) = "STARS"; break; - case 104: std::get<1>(result) = "STORMS"; break; - case 105: std::get<1>(result) = "STRENGTH"; break; - case 106: std::get<1>(result) = "SUICIDE"; break; - case 107: std::get<1>(result) = "SUN"; break; - case 108: std::get<1>(result) = "THEFT"; break; - case 109: std::get<1>(result) = "THRALLDOM"; break; - case 110: std::get<1>(result) = "THUNDER"; break; - case 111: std::get<1>(result) = "TORTURE"; break; - case 112: std::get<1>(result) = "TRADE"; break; - case 113: std::get<1>(result) = "TRAVELERS"; break; - case 114: std::get<1>(result) = "TREACHERY"; break; - case 115: std::get<1>(result) = "TREES"; break; - case 116: std::get<1>(result) = "TRICKERY"; break; - case 117: std::get<1>(result) = "TRUTH"; break; - case 118: std::get<1>(result) = "TWILIGHT"; break; - case 119: std::get<1>(result) = "VALOR"; break; - case 120: std::get<1>(result) = "VICTORY"; break; - case 121: std::get<1>(result) = "VOLCANOS"; break; - case 122: std::get<1>(result) = "WAR"; break; - case 123: std::get<1>(result) = "WATER"; break; - case 124: std::get<1>(result) = "WEALTH"; break; - case 125: std::get<1>(result) = "WEATHER"; break; - case 126: std::get<1>(result) = "WIND"; break; - case 127: std::get<1>(result) = "WISDOM"; break; - case 128: std::get<1>(result) = "WRITING"; break; - case 129: std::get<1>(result) = "YOUTH"; break; - default: break; - } - return result; -} - -std::tuple get_language_name_category_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Unit"; break; - case 1: std::get<1>(result) = "Artifact"; break; - case 2: std::get<1>(result) = "ArtifactEvil"; break; - case 3: std::get<1>(result) = "Swamp"; break; - case 4: std::get<1>(result) = "Desert"; break; - case 5: std::get<1>(result) = "Forest"; break; - case 6: std::get<1>(result) = "Mountains"; break; - case 7: std::get<1>(result) = "Lake"; break; - case 8: std::get<1>(result) = "Ocean"; break; - case 9: std::get<1>(result) = "Glacier"; break; - case 10: std::get<1>(result) = "Tundra"; break; - case 11: std::get<1>(result) = "Grassland"; break; - case 12: std::get<1>(result) = "Hills"; break; - case 13: std::get<1>(result) = "Region"; break; - case 14: std::get<1>(result) = "Cave"; break; - case 15: std::get<1>(result) = "SwampEvil"; break; - case 16: std::get<1>(result) = "DesertEvil"; break; - case 17: std::get<1>(result) = "ForestEvil"; break; - case 18: std::get<1>(result) = "MountainsEvil"; break; - case 19: std::get<1>(result) = "LakeEvil"; break; - case 20: std::get<1>(result) = "OceanEvil"; break; - case 21: std::get<1>(result) = "GlacierEvil"; break; - case 22: std::get<1>(result) = "TundraEvil"; break; - case 23: std::get<1>(result) = "GrasslandEvil"; break; - case 24: std::get<1>(result) = "HillsEvil"; break; - case 25: std::get<1>(result) = "SwampGood"; break; - case 26: std::get<1>(result) = "DesertGood"; break; - case 27: std::get<1>(result) = "ForestGood"; break; - case 28: std::get<1>(result) = "MountainsGood"; break; - case 29: std::get<1>(result) = "LakeGood"; break; - case 30: std::get<1>(result) = "OceanGood"; break; - case 31: std::get<1>(result) = "GlacierGood"; break; - case 32: std::get<1>(result) = "TundraGood"; break; - case 33: std::get<1>(result) = "GrasslandGood"; break; - case 34: std::get<1>(result) = "HillsGood"; break; - case 35: std::get<1>(result) = "ArtImage"; break; - case 36: std::get<1>(result) = "MountainPeak"; break; - case 37: std::get<1>(result) = "Unknown1"; break; - case 38: std::get<1>(result) = "Volcano"; break; - case 39: std::get<1>(result) = "SmallIsland"; break; - case 40: std::get<1>(result) = "Island"; break; - case 41: std::get<1>(result) = "Continent"; break; - case 42: std::get<1>(result) = "CommonReligion"; break; - case 43: std::get<1>(result) = "Temple"; break; - case 44: std::get<1>(result) = "Keep"; break; - case 45: std::get<1>(result) = "Unknown2"; break; - case 46: std::get<1>(result) = "SymbolArtifice"; break; - case 47: std::get<1>(result) = "SymbolViolent"; break; - case 48: std::get<1>(result) = "SymbolProtect"; break; - case 49: std::get<1>(result) = "SymbolDomestic"; break; - case 50: std::get<1>(result) = "SymbolFood"; break; - case 51: std::get<1>(result) = "War"; break; - case 52: std::get<1>(result) = "Battle"; break; - case 53: std::get<1>(result) = "Siege"; break; - case 54: std::get<1>(result) = "Road"; break; - case 55: std::get<1>(result) = "Wall"; break; - case 56: std::get<1>(result) = "Bridge"; break; - case 57: std::get<1>(result) = "Tunnel"; break; - case 58: std::get<1>(result) = "Tomb"; break; - case 59: std::get<1>(result) = "SymbolProtect2"; break; - case 60: std::get<1>(result) = "Library"; break; - case 61: std::get<1>(result) = "Festival"; break; - default: break; - } - return result; -} - -std::tuple get_nemesis_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "ACTIVE_ADVENTURER"; std::get<2>(result) = "used when loading save"; break; - case 1: std::get<1>(result) = "RETIRED_ADVENTURER"; std::get<2>(result) = "allows resuming play"; break; - case 2: std::get<1>(result) = "ADVENTURER"; std::get<2>(result) = "blue color in legends"; break; - default: break; - } - return result; -} - -std::tuple get_machine_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "standard"; break; - default: break; - } - return result; -} - -std::tuple get_screw_pump_direction_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "FromNorth"; break; - case 1: std::get<1>(result) = "FromEast"; break; - case 2: std::get<1>(result) = "FromSouth"; break; - case 3: std::get<1>(result) = "FromWest"; break; - default: break; - } - return result; -} - -std::tuple get_tile_traffic_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Normal"; break; - case 1: std::get<1>(result) = "Low"; break; - case 2: std::get<1>(result) = "High"; break; - case 3: std::get<1>(result) = "Restricted"; break; - default: break; - } - return result; -} - -std::tuple get_tile_dig_designation_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "No"; std::get<2>(result) = "no designation"; break; - case 1: std::get<1>(result) = "Default"; std::get<2>(result) = "dig walls, remove stairs and ramps, gather plants, fell trees"; break; - case 2: std::get<1>(result) = "UpDownStair"; break; - case 3: std::get<1>(result) = "Channel"; break; - case 4: std::get<1>(result) = "Ramp"; break; - case 5: std::get<1>(result) = "DownStair"; break; - case 6: std::get<1>(result) = "UpStair"; break; - default: break; - } - return result; -} - -std::tuple get_tile_liquid_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Water"; break; - case 1: std::get<1>(result) = "Magma"; break; - default: break; - } - return result; -} - -std::tuple get_tile_building_occ_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "None"; std::get<2>(result) = "no building"; break; - case 1: std::get<1>(result) = "Planned"; std::get<2>(result) = "nothing built yet"; break; - case 2: std::get<1>(result) = "Passable"; break; - case 3: std::get<1>(result) = "Obstacle"; std::get<2>(result) = "workshop tile; ~fortification"; break; - case 4: std::get<1>(result) = "Well"; break; - case 5: std::get<1>(result) = "Floored"; std::get<2>(result) = "depot; lowered bridge"; break; - case 6: std::get<1>(result) = "Impassable"; break; - case 7: std::get<1>(result) = "Dynamic"; std::get<2>(result) = "doors, grates, etc"; break; - default: break; - } - return result; -} - -std::tuple get_tile_liquid_flow_dir_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "none"; break; - case 1: std::get<1>(result) = "south"; break; - case 2: std::get<1>(result) = "east"; break; - case 3: std::get<1>(result) = "northeast"; break; - case 4: std::get<1>(result) = "west"; break; - case 5: std::get<1>(result) = "northwest"; break; - case 6: std::get<1>(result) = "southeast"; break; - case 7: std::get<1>(result) = "southwest"; break; - case 8: std::get<1>(result) = "inv_8"; break; - case 9: std::get<1>(result) = "inv_9"; break; - case 10: std::get<1>(result) = "north"; break; - case 11: std::get<1>(result) = "inv_b"; break; - case 12: std::get<1>(result) = "inv_c"; break; - case 13: std::get<1>(result) = "inv_d"; break; - case 14: std::get<1>(result) = "inv_e"; break; - case 15: std::get<1>(result) = "inv_f"; break; - default: break; - } - return result; -} - -std::tuple get_block_square_event_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "mineral"; break; - case 1: std::get<1>(result) = "frozen_liquid"; break; - case 2: std::get<1>(result) = "world_construction"; break; - case 3: std::get<1>(result) = "material_spatter"; break; - case 4: std::get<1>(result) = "grass"; break; - case 5: std::get<1>(result) = "spoor"; break; - case 6: std::get<1>(result) = "item_spatter"; break; - case 7: std::get<1>(result) = "designation_priority"; break; - default: break; - } - return result; -} - -std::tuple get_feature_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "outdoor_river"; break; - case 1: std::get<1>(result) = "cave"; break; - case 2: std::get<1>(result) = "pit"; break; - case 3: std::get<1>(result) = "magma_pool"; break; - case 4: std::get<1>(result) = "volcano"; break; - case 5: std::get<1>(result) = "deep_special_tube"; break; - case 6: std::get<1>(result) = "deep_surface_portal"; break; - case 7: std::get<1>(result) = "subterranean_from_layer"; break; - case 8: std::get<1>(result) = "magma_core_from_layer"; break; - case 9: std::get<1>(result) = "underworld_from_layer"; break; - default: break; - } - return result; -} - -std::tuple get_feature_init_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "anon_1"; break; - case 1: std::get<1>(result) = "anon_2"; break; - case 2: std::get<1>(result) = "anon_3"; break; - case 3: std::get<1>(result) = "Discovered"; break; - default: break; - } - return result; -} - -std::tuple get_feature_alteration_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "new_pop_max"; break; - case 1: std::get<1>(result) = "new_lava_fill_z"; break; - default: break; - } - return result; -} - -std::tuple get_world_construction_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "ROAD"; break; - case 1: std::get<1>(result) = "TUNNEL"; break; - case 2: std::get<1>(result) = "BRIDGE"; break; - case 3: std::get<1>(result) = "WALL"; break; - default: break; - } - return result; -} - -std::tuple get_biome_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "MOUNTAIN"; break; - case 1: std::get<1>(result) = "GLACIER"; break; - case 2: std::get<1>(result) = "TUNDRA"; break; - case 3: std::get<1>(result) = "SWAMP_TEMPERATE_FRESHWATER"; break; - case 4: std::get<1>(result) = "SWAMP_TEMPERATE_SALTWATER"; break; - case 5: std::get<1>(result) = "MARSH_TEMPERATE_FRESHWATER"; break; - case 6: std::get<1>(result) = "MARSH_TEMPERATE_SALTWATER"; break; - case 7: std::get<1>(result) = "SWAMP_TROPICAL_FRESHWATER"; break; - case 8: std::get<1>(result) = "SWAMP_TROPICAL_SALTWATER"; break; - case 9: std::get<1>(result) = "SWAMP_MANGROVE"; break; - case 10: std::get<1>(result) = "MARSH_TROPICAL_FRESHWATER"; break; - case 11: std::get<1>(result) = "MARSH_TROPICAL_SALTWATER"; break; - case 12: std::get<1>(result) = "FOREST_TAIGA"; break; - case 13: std::get<1>(result) = "FOREST_TEMPERATE_CONIFER"; break; - case 14: std::get<1>(result) = "FOREST_TEMPERATE_BROADLEAF"; break; - case 15: std::get<1>(result) = "FOREST_TROPICAL_CONIFER"; break; - case 16: std::get<1>(result) = "FOREST_TROPICAL_DRY_BROADLEAF"; break; - case 17: std::get<1>(result) = "FOREST_TROPICAL_MOIST_BROADLEAF"; break; - case 18: std::get<1>(result) = "GRASSLAND_TEMPERATE"; break; - case 19: std::get<1>(result) = "SAVANNA_TEMPERATE"; break; - case 20: std::get<1>(result) = "SHRUBLAND_TEMPERATE"; break; - case 21: std::get<1>(result) = "GRASSLAND_TROPICAL"; break; - case 22: std::get<1>(result) = "SAVANNA_TROPICAL"; break; - case 23: std::get<1>(result) = "SHRUBLAND_TROPICAL"; break; - case 24: std::get<1>(result) = "DESERT_BADLAND"; break; - case 25: std::get<1>(result) = "DESERT_ROCK"; break; - case 26: std::get<1>(result) = "DESERT_SAND"; break; - case 27: std::get<1>(result) = "OCEAN_TROPICAL"; break; - case 28: std::get<1>(result) = "OCEAN_TEMPERATE"; break; - case 29: std::get<1>(result) = "OCEAN_ARCTIC"; break; - case 30: std::get<1>(result) = "POOL_TEMPERATE_FRESHWATER"; break; - case 31: std::get<1>(result) = "POOL_TEMPERATE_BRACKISHWATER"; break; - case 32: std::get<1>(result) = "POOL_TEMPERATE_SALTWATER"; break; - case 33: std::get<1>(result) = "POOL_TROPICAL_FRESHWATER"; break; - case 34: std::get<1>(result) = "POOL_TROPICAL_BRACKISHWATER"; break; - case 35: std::get<1>(result) = "POOL_TROPICAL_SALTWATER"; break; - case 36: std::get<1>(result) = "LAKE_TEMPERATE_FRESHWATER"; break; - case 37: std::get<1>(result) = "LAKE_TEMPERATE_BRACKISHWATER"; break; - case 38: std::get<1>(result) = "LAKE_TEMPERATE_SALTWATER"; break; - case 39: std::get<1>(result) = "LAKE_TROPICAL_FRESHWATER"; break; - case 40: std::get<1>(result) = "LAKE_TROPICAL_BRACKISHWATER"; break; - case 41: std::get<1>(result) = "LAKE_TROPICAL_SALTWATER"; break; - case 42: std::get<1>(result) = "RIVER_TEMPERATE_FRESHWATER"; break; - case 43: std::get<1>(result) = "RIVER_TEMPERATE_BRACKISHWATER"; break; - case 44: std::get<1>(result) = "RIVER_TEMPERATE_SALTWATER"; break; - case 45: std::get<1>(result) = "RIVER_TROPICAL_FRESHWATER"; break; - case 46: std::get<1>(result) = "RIVER_TROPICAL_BRACKISHWATER"; break; - case 47: std::get<1>(result) = "RIVER_TROPICAL_SALTWATER"; break; - case 48: std::get<1>(result) = "SUBTERRANEAN_WATER"; break; - case 49: std::get<1>(result) = "SUBTERRANEAN_CHASM"; break; - case 50: std::get<1>(result) = "SUBTERRANEAN_LAVA"; break; - default: break; - } - return result; -} - -std::tuple get_flow_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Miasma"; break; - case 1: std::get<1>(result) = "Steam"; std::get<2>(result) = "only if mat_type=1"; break; - case 2: std::get<1>(result) = "Mist"; break; - case 3: std::get<1>(result) = "MaterialDust"; break; - case 4: std::get<1>(result) = "MagmaMist"; break; - case 5: std::get<1>(result) = "Smoke"; break; - case 6: std::get<1>(result) = "Dragonfire"; break; - case 7: std::get<1>(result) = "Fire"; break; - case 8: std::get<1>(result) = "Web"; break; - case 9: std::get<1>(result) = "MaterialGas"; break; - case 10: std::get<1>(result) = "MaterialVapor"; break; - case 11: std::get<1>(result) = "OceanWave"; break; - case 12: std::get<1>(result) = "SeaFoam"; break; - case 13: std::get<1>(result) = "ItemCloud"; break; - default: break; - } - return result; -} - -std::tuple get_flow_guide_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "TrailingFlow"; break; - case 1: std::get<1>(result) = "ItemCloud"; break; - default: break; - } - return result; -} - -std::tuple get_region_block_event_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "SphereField"; break; - default: break; - } - return result; -} - -std::tuple get_craft_material_class_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case -1: std::get<1>(result) = "None"; break; - case 0: std::get<1>(result) = "Metal"; break; - case 1: std::get<1>(result) = "Wood"; break; - case 2: std::get<1>(result) = "Gem"; break; - case 3: std::get<1>(result) = "Glass"; break; - case 4: std::get<1>(result) = "Stone"; break; - case 5: std::get<1>(result) = "Bone"; break; - case 6: std::get<1>(result) = "Ivory"; break; - case 7: std::get<1>(result) = "Horn"; break; - case 8: std::get<1>(result) = "Pearl"; break; - case 9: std::get<1>(result) = "Shell"; break; - case 10: std::get<1>(result) = "Leather"; break; - case 11: std::get<1>(result) = "Cloth"; break; - default: break; - } - return result; -} - -std::tuple get_builtin_mats_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "INORGANIC"; break; - case 1: std::get<1>(result) = "AMBER"; break; - case 2: std::get<1>(result) = "CORAL"; break; - case 3: std::get<1>(result) = "GLASS_GREEN"; break; - case 4: std::get<1>(result) = "GLASS_CLEAR"; break; - case 5: std::get<1>(result) = "GLASS_CRYSTAL"; break; - case 6: std::get<1>(result) = "WATER"; break; - case 7: std::get<1>(result) = "COAL"; break; - case 8: std::get<1>(result) = "POTASH"; break; - case 9: std::get<1>(result) = "ASH"; break; - case 10: std::get<1>(result) = "PEARLASH"; break; - case 11: std::get<1>(result) = "LYE"; break; - case 12: std::get<1>(result) = "MUD"; break; - case 13: std::get<1>(result) = "VOMIT"; break; - case 14: std::get<1>(result) = "SALT"; break; - case 15: std::get<1>(result) = "FILTH_B"; break; - case 16: std::get<1>(result) = "FILTH_Y"; break; - case 17: std::get<1>(result) = "UNKNOWN_SUBSTANCE"; break; - case 18: std::get<1>(result) = "GRIME"; break; - default: break; - } - return result; -} - -std::tuple get_material_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "BONE"; break; - case 1: std::get<1>(result) = "MEAT"; break; - case 2: std::get<1>(result) = "EDIBLE_VERMIN"; break; - case 3: std::get<1>(result) = "EDIBLE_RAW"; break; - case 4: std::get<1>(result) = "EDIBLE_COOKED"; break; - case 5: std::get<1>(result) = "ALCOHOL"; break; - case 6: std::get<1>(result) = "ITEMS_METAL"; break; - case 7: std::get<1>(result) = "ITEMS_BARRED"; break; - case 8: std::get<1>(result) = "ITEMS_SCALED"; break; - case 9: std::get<1>(result) = "ITEMS_LEATHER"; break; - case 10: std::get<1>(result) = "ITEMS_SOFT"; break; - case 11: std::get<1>(result) = "ITEMS_HARD"; break; - case 12: std::get<1>(result) = "IMPLIES_ANIMAL_KILL"; break; - case 13: std::get<1>(result) = "ALCOHOL_PLANT"; break; - case 14: std::get<1>(result) = "ALCOHOL_CREATURE"; break; - case 15: std::get<1>(result) = "CHEESE_PLANT"; break; - case 16: std::get<1>(result) = "CHEESE_CREATURE"; break; - case 17: std::get<1>(result) = "POWDER_MISC_PLANT"; break; - case 18: std::get<1>(result) = "POWDER_MISC_CREATURE"; break; - case 19: std::get<1>(result) = "STOCKPILE_GLOB"; break; - case 20: std::get<1>(result) = "LIQUID_MISC_PLANT"; break; - case 21: std::get<1>(result) = "LIQUID_MISC_CREATURE"; break; - case 22: std::get<1>(result) = "LIQUID_MISC_OTHER"; break; - case 23: std::get<1>(result) = "WOOD"; break; - case 24: std::get<1>(result) = "THREAD_PLANT"; break; - case 25: std::get<1>(result) = "TOOTH"; break; - case 26: std::get<1>(result) = "HORN"; break; - case 27: std::get<1>(result) = "PEARL"; break; - case 28: std::get<1>(result) = "SHELL"; break; - case 29: std::get<1>(result) = "LEATHER"; break; - case 30: std::get<1>(result) = "SILK"; break; - case 31: std::get<1>(result) = "SOAP"; break; - case 32: std::get<1>(result) = "ROTS"; break; - case 33: std::get<1>(result) = "IS_DYE"; break; - case 34: std::get<1>(result) = "POWDER_MISC"; break; - case 35: std::get<1>(result) = "LIQUID_MISC"; break; - case 36: std::get<1>(result) = "STRUCTURAL_PLANT_MAT"; break; - case 37: std::get<1>(result) = "SEED_MAT"; break; - case 38: std::get<1>(result) = "LEAF_MAT"; break; - case 39: std::get<1>(result) = "CHEESE"; break; - case 40: std::get<1>(result) = "ENTERS_BLOOD"; break; - case 41: std::get<1>(result) = "BLOOD_MAP_DESCRIPTOR"; break; - case 42: std::get<1>(result) = "ICHOR_MAP_DESCRIPTOR"; break; - case 43: std::get<1>(result) = "GOO_MAP_DESCRIPTOR"; break; - case 44: std::get<1>(result) = "SLIME_MAP_DESCRIPTOR"; break; - case 45: std::get<1>(result) = "PUS_MAP_DESCRIPTOR"; break; - case 46: std::get<1>(result) = "GENERATES_MIASMA"; break; - case 47: std::get<1>(result) = "IS_METAL"; break; - case 48: std::get<1>(result) = "IS_GEM"; break; - case 49: std::get<1>(result) = "IS_GLASS"; break; - case 50: std::get<1>(result) = "CRYSTAL_GLASSABLE"; break; - case 51: std::get<1>(result) = "ITEMS_WEAPON"; break; - case 52: std::get<1>(result) = "ITEMS_WEAPON_RANGED"; break; - case 53: std::get<1>(result) = "ITEMS_ANVIL"; break; - case 54: std::get<1>(result) = "ITEMS_AMMO"; break; - case 55: std::get<1>(result) = "ITEMS_DIGGER"; break; - case 56: std::get<1>(result) = "ITEMS_ARMOR"; break; - case 57: std::get<1>(result) = "ITEMS_DELICATE"; break; - case 58: std::get<1>(result) = "ITEMS_SIEGE_ENGINE"; break; - case 59: std::get<1>(result) = "ITEMS_QUERN"; break; - case 60: std::get<1>(result) = "IS_STONE"; break; - case 61: std::get<1>(result) = "UNDIGGABLE"; break; - case 62: std::get<1>(result) = "YARN"; break; - case 63: std::get<1>(result) = "STOCKPILE_GLOB_PASTE"; break; - case 64: std::get<1>(result) = "STOCKPILE_GLOB_PRESSED"; break; - case 65: std::get<1>(result) = "DISPLAY_UNGLAZED"; break; - case 66: std::get<1>(result) = "DO_NOT_CLEAN_GLOB"; break; - case 67: std::get<1>(result) = "NO_STONE_STOCKPILE"; break; - case 68: std::get<1>(result) = "STOCKPILE_THREAD_METAL"; break; - case 69: std::get<1>(result) = "SWEAT_MAP_DESCRIPTOR"; break; - case 70: std::get<1>(result) = "TEARS_MAP_DESCRIPTOR"; break; - case 71: std::get<1>(result) = "SPIT_MAP_DESCRIPTOR"; break; - case 72: std::get<1>(result) = "EVAPORATES"; break; - case 73: std::get<1>(result) = "anon_1"; break; - case 74: std::get<1>(result) = "IS_CERAMIC"; break; - default: break; - } - return result; -} - -std::tuple get_matter_state_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case -1: std::get<1>(result) = "None"; break; - case 0: std::get<1>(result) = "Solid"; break; - case 1: std::get<1>(result) = "Liquid"; break; - case 2: std::get<1>(result) = "Gas"; break; - case 3: std::get<1>(result) = "Powder"; break; - case 4: std::get<1>(result) = "Paste"; break; - case 5: std::get<1>(result) = "Pressed"; break; - default: break; - } - return result; -} - -std::tuple get_strain_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "BENDING"; break; - case 1: std::get<1>(result) = "SHEAR"; break; - case 2: std::get<1>(result) = "TORSION"; break; - case 3: std::get<1>(result) = "IMPACT"; break; - case 4: std::get<1>(result) = "TENSILE"; break; - case 5: std::get<1>(result) = "COMPRESSIVE"; break; - default: break; - } - return result; -} - -std::tuple get_inorganic_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "LAVA"; break; - case 1: std::get<1>(result) = "GENERATED"; break; - case 2: std::get<1>(result) = "ENVIRONMENT_NON_SOIL_OCEAN"; std::get<2>(result) = "is METAMORPHIC, or has ENVIRONMENT with anything but SOIL_OCEAN"; break; - case 3: std::get<1>(result) = "SEDIMENTARY"; break; - case 4: std::get<1>(result) = "SEDIMENTARY_OCEAN_SHALLOW"; break; - case 5: std::get<1>(result) = "IGNEOUS_INTRUSIVE"; break; - case 6: std::get<1>(result) = "IGNEOUS_EXTRUSIVE"; break; - case 7: std::get<1>(result) = "METAMORPHIC"; break; - case 8: std::get<1>(result) = "DEEP_SURFACE"; break; - case 9: std::get<1>(result) = "METAL_ORE"; break; - case 10: std::get<1>(result) = "AQUIFER"; break; - case 11: std::get<1>(result) = "SOIL_ANY"; break; - case 12: std::get<1>(result) = "SOIL_OCEAN"; break; - case 13: std::get<1>(result) = "SOIL_SAND"; break; - case 14: std::get<1>(result) = "SEDIMENTARY_OCEAN_DEEP"; break; - case 15: std::get<1>(result) = "THREAD_METAL"; break; - case 16: std::get<1>(result) = "SPECIAL"; std::get<2>(result) = "or any DEEP_*"; break; - case 17: std::get<1>(result) = "SOIL"; break; - case 18: std::get<1>(result) = "DEEP_SPECIAL"; break; - case 19: std::get<1>(result) = "DIVINE"; break; - case 20: std::get<1>(result) = "anon_1"; break; - case 21: std::get<1>(result) = "anon_2"; break; - case 22: std::get<1>(result) = "anon_3"; break; - case 23: std::get<1>(result) = "anon_4"; break; - case 24: std::get<1>(result) = "anon_5"; break; - case 25: std::get<1>(result) = "WAFERS"; break; - case 26: std::get<1>(result) = "anon_6"; break; - case 27: std::get<1>(result) = "anon_7"; break; - case 28: std::get<1>(result) = "anon_8"; break; - case 29: std::get<1>(result) = "anon_9"; break; - case 30: std::get<1>(result) = "anon_10"; break; - case 31: std::get<1>(result) = "anon_11"; break; - default: break; - } - return result; -} - -std::tuple get_environment_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "SOIL"; break; - case 1: std::get<1>(result) = "SOIL_OCEAN"; break; - case 2: std::get<1>(result) = "SOIL_SAND"; break; - case 3: std::get<1>(result) = "METAMORPHIC"; break; - case 4: std::get<1>(result) = "SEDIMENTARY"; break; - case 5: std::get<1>(result) = "IGNEOUS_INTRUSIVE"; break; - case 6: std::get<1>(result) = "IGNEOUS_EXTRUSIVE"; break; - case 7: std::get<1>(result) = "ALLUVIAL"; break; - default: break; - } - return result; -} - -std::tuple get_inclusion_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "anon_1"; std::get<2>(result) = "unused"; break; - case 1: std::get<1>(result) = "VEIN"; break; - case 2: std::get<1>(result) = "CLUSTER"; break; - case 3: std::get<1>(result) = "CLUSTER_SMALL"; break; - case 4: std::get<1>(result) = "CLUSTER_ONE"; break; - default: break; - } - return result; -} - -std::tuple get_organic_mat_category_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Meat"; break; - case 1: std::get<1>(result) = "Fish"; break; - case 2: std::get<1>(result) = "UnpreparedFish"; break; - case 3: std::get<1>(result) = "Eggs"; break; - case 4: std::get<1>(result) = "Plants"; break; - case 5: std::get<1>(result) = "PlantDrink"; break; - case 6: std::get<1>(result) = "CreatureDrink"; break; - case 7: std::get<1>(result) = "PlantCheese"; break; - case 8: std::get<1>(result) = "CreatureCheese"; break; - case 9: std::get<1>(result) = "Seed"; break; - case 10: std::get<1>(result) = "Leaf"; break; - case 11: std::get<1>(result) = "PlantPowder"; break; - case 12: std::get<1>(result) = "CreaturePowder"; break; - case 13: std::get<1>(result) = "Glob"; break; - case 14: std::get<1>(result) = "PlantLiquid"; break; - case 15: std::get<1>(result) = "CreatureLiquid"; break; - case 16: std::get<1>(result) = "MiscLiquid"; break; - case 17: std::get<1>(result) = "Leather"; break; - case 18: std::get<1>(result) = "Silk"; break; - case 19: std::get<1>(result) = "PlantFiber"; break; - case 20: std::get<1>(result) = "Bone"; break; - case 21: std::get<1>(result) = "Shell"; break; - case 22: std::get<1>(result) = "Wood"; break; - case 23: std::get<1>(result) = "Horn"; break; - case 24: std::get<1>(result) = "Pearl"; break; - case 25: std::get<1>(result) = "Tooth"; break; - case 26: std::get<1>(result) = "EdibleCheese"; break; - case 27: std::get<1>(result) = "AnyDrink"; break; - case 28: std::get<1>(result) = "EdiblePlant"; break; - case 29: std::get<1>(result) = "CookableLiquid"; break; - case 30: std::get<1>(result) = "CookablePowder"; break; - case 31: std::get<1>(result) = "CookableSeed"; break; - case 32: std::get<1>(result) = "CookableLeaf"; break; - case 33: std::get<1>(result) = "Paste"; break; - case 34: std::get<1>(result) = "Pressed"; break; - case 35: std::get<1>(result) = "Yarn"; break; - case 36: std::get<1>(result) = "MetalThread"; break; - default: break; - } - return result; -} - -std::tuple get_meeting_topic_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "DiscussCurrent"; break; - case 1: std::get<1>(result) = "RequestPeace"; break; - case 2: std::get<1>(result) = "TreeQuota"; break; - case 3: std::get<1>(result) = "BecomeLandHolder"; break; - case 4: std::get<1>(result) = "PromoteLandHolder"; break; - case 5: std::get<1>(result) = "ExportAgreement"; break; - case 6: std::get<1>(result) = "ImportAgreement"; break; - case 7: std::get<1>(result) = "PleasantPlace"; break; - case 8: std::get<1>(result) = "WorldStatus"; break; - case 9: std::get<1>(result) = "TributeAgreement"; break; - default: break; - } - return result; -} - -std::tuple get_meeting_event_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "AcceptAgreement"; break; - case 1: std::get<1>(result) = "RejectAgreement"; break; - case 2: std::get<1>(result) = "AcceptPeace"; break; - case 3: std::get<1>(result) = "RejectPeace"; break; - case 4: std::get<1>(result) = "ExportAgreement"; break; - case 5: std::get<1>(result) = "ImportAgreement"; break; - default: break; - } - return result; -} - -std::tuple get_activity_event_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "TrainingSession"; break; - case 1: std::get<1>(result) = "CombatTraining"; break; - case 2: std::get<1>(result) = "SkillDemonstration"; break; - case 3: std::get<1>(result) = "IndividualSkillDrill"; break; - case 4: std::get<1>(result) = "Sparring"; break; - case 5: std::get<1>(result) = "RangedPractice"; break; - case 6: std::get<1>(result) = "Harassment"; break; - case 7: std::get<1>(result) = "Conversation"; break; - case 8: std::get<1>(result) = "Conflict"; break; - case 9: std::get<1>(result) = "Guard"; break; - case 10: std::get<1>(result) = "Reunion"; break; - case 11: std::get<1>(result) = "Prayer"; break; - case 12: std::get<1>(result) = "Socialize"; break; - case 13: std::get<1>(result) = "Worship"; break; - case 14: std::get<1>(result) = "Performance"; break; - case 15: std::get<1>(result) = "Research"; break; - case 16: std::get<1>(result) = "PonderTopic"; break; - case 17: std::get<1>(result) = "DiscussTopic"; break; - case 18: std::get<1>(result) = "Read"; break; - case 19: std::get<1>(result) = "FillServiceOrder"; break; - case 20: std::get<1>(result) = "Write"; break; - case 21: std::get<1>(result) = "CopyWrittenContent"; break; - case 22: std::get<1>(result) = "TeachTopic"; break; - case 23: std::get<1>(result) = "Play"; break; - case 24: std::get<1>(result) = "MakeBelieve"; break; - case 25: std::get<1>(result) = "PlayWithToy"; break; - case 26: std::get<1>(result) = "Encounter"; break; - case 27: std::get<1>(result) = "StoreObject"; break; - default: break; - } - return result; -} - -std::tuple get_conversation_menu_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case -1: std::get<1>(result) = "None"; break; - case 0: std::get<1>(result) = "RespondGreeting"; break; - case 1: std::get<1>(result) = "MainMenu"; break; - case 2: std::get<1>(result) = "anon_1"; break; - case 3: std::get<1>(result) = "anon_2"; break; - case 4: std::get<1>(result) = "anon_3"; break; - case 5: std::get<1>(result) = "anon_4"; break; - case 6: std::get<1>(result) = "anon_5"; break; - case 7: std::get<1>(result) = "RespondGoodbye"; break; - case 8: std::get<1>(result) = "anon_6"; break; - case 9: std::get<1>(result) = "DenyPermissionSleep"; break; - case 10: std::get<1>(result) = "AskJoin"; break; - case 11: std::get<1>(result) = "RespondJoin"; break; - case 12: std::get<1>(result) = "DiscussRescue"; break; - case 13: std::get<1>(result) = "DiscussAgreement"; break; - case 14: std::get<1>(result) = "DiscussTrade"; break; - case 15: std::get<1>(result) = "DiscussSurroundingArea"; break; - case 16: std::get<1>(result) = "RespondAccusation"; break; - case 17: std::get<1>(result) = "DiscussFamily"; break; - case 18: std::get<1>(result) = "RespondArmistice"; break; - case 19: std::get<1>(result) = "RespondDemandYield"; break; - case 20: std::get<1>(result) = "anon_7"; break; - case 21: std::get<1>(result) = "anon_8"; break; - case 22: std::get<1>(result) = "anon_9"; break; - case 23: std::get<1>(result) = "AskDirections"; break; - case 24: std::get<1>(result) = "anon_10"; break; - case 25: std::get<1>(result) = "anon_11"; break; - case 26: std::get<1>(result) = "anon_12"; break; - case 27: std::get<1>(result) = "anon_13"; break; - case 28: std::get<1>(result) = "anon_14"; break; - case 29: std::get<1>(result) = "anon_15"; break; - case 30: std::get<1>(result) = "Demand"; break; - case 31: std::get<1>(result) = "anon_16"; break; - case 32: std::get<1>(result) = "anon_17"; break; - case 33: std::get<1>(result) = "anon_18"; break; - case 34: std::get<1>(result) = "Barter"; break; - case 35: std::get<1>(result) = "DiscussHearthpersonDuties"; break; - case 36: std::get<1>(result) = "anon_19"; break; - case 37: std::get<1>(result) = "DiscussJourney"; break; - case 38: std::get<1>(result) = "DiscussGroup"; break; - case 39: std::get<1>(result) = "DiscussConflict"; break; - case 40: std::get<1>(result) = "DiscussSite"; break; - case 41: std::get<1>(result) = "RespondDemand"; break; - case 42: std::get<1>(result) = "anon_20"; break; - case 43: std::get<1>(result) = "RespondTributeDemand"; break; - case 44: std::get<1>(result) = "RespondTributeOffer"; break; - case 45: std::get<1>(result) = "DiscussTradeCancellation"; break; - case 46: std::get<1>(result) = "RespondPeaceOffer"; break; - case 47: std::get<1>(result) = "DiscussAgreementConclusion"; break; - case 48: std::get<1>(result) = "RespondAdoptionRequest"; break; - case 49: std::get<1>(result) = "anon_21"; break; - case 50: std::get<1>(result) = "anon_22"; break; - case 51: std::get<1>(result) = "RespondPositionOffer"; break; - case 52: std::get<1>(result) = "RespondInvocation"; break; - case 53: std::get<1>(result) = "anon_23"; break; - case 54: std::get<1>(result) = "AskAboutPerson"; break; - case 55: std::get<1>(result) = "anon_24"; break; - case 56: std::get<1>(result) = "DiscussFeelings"; break; - case 57: std::get<1>(result) = "anon_25"; break; - case 58: std::get<1>(result) = "anon_26"; break; - case 59: std::get<1>(result) = "anon_27"; break; - case 60: std::get<1>(result) = "anon_28"; break; - case 61: std::get<1>(result) = "anon_29"; break; - case 62: std::get<1>(result) = "anon_30"; break; - case 63: std::get<1>(result) = "anon_31"; break; - case 64: std::get<1>(result) = "anon_32"; break; - case 65: std::get<1>(result) = "StateGeneralThoughts"; break; - case 66: std::get<1>(result) = "DiscussValues"; break; - case 67: std::get<1>(result) = "RespondValues"; break; - case 68: std::get<1>(result) = "RespondPassiveReply"; break; - case 69: std::get<1>(result) = "RespondFlattery"; break; - case 70: std::get<1>(result) = "RespondDismissal"; break; - default: break; - } - return result; -} - -std::tuple get_performance_event_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "STORY"; break; - case 1: std::get<1>(result) = "POETRY"; break; - case 2: std::get<1>(result) = "MUSIC"; break; - case 3: std::get<1>(result) = "DANCE"; break; - default: break; - } - return result; -} - -std::tuple get_performance_participant_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "TELL_STORY"; break; - case 1: std::get<1>(result) = "RECITE_POETRY"; break; - case 2: std::get<1>(result) = "MAKE_MUSIC"; break; - case 3: std::get<1>(result) = "PERFORM_DANCE"; break; - case 4: std::get<1>(result) = "LISTEN"; break; - case 5: std::get<1>(result) = "HEAR"; break; - default: break; - } - return result; -} - -std::tuple get_uniform_category_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "body"; break; - case 1: std::get<1>(result) = "head"; break; - case 2: std::get<1>(result) = "pants"; break; - case 3: std::get<1>(result) = "gloves"; break; - case 4: std::get<1>(result) = "shoes"; break; - case 5: std::get<1>(result) = "shield"; break; - case 6: std::get<1>(result) = "weapon"; break; - default: break; - } - return result; -} - -std::tuple get_barrack_preference_category_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Bed"; break; - case 1: std::get<1>(result) = "Armorstand"; break; - case 2: std::get<1>(result) = "Box"; break; - case 3: std::get<1>(result) = "Cabinet"; break; - default: break; - } - return result; -} - -std::tuple get_squad_event_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case -1: std::get<1>(result) = "None"; break; - case 0: std::get<1>(result) = "Unk0"; break; - case 1: std::get<1>(result) = "Unk1"; break; - case 2: std::get<1>(result) = "Unk2"; break; - default: break; - } - return result; -} - -std::tuple get_squad_order_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "MOVE"; break; - case 1: std::get<1>(result) = "KILL_LIST"; break; - case 2: std::get<1>(result) = "DEFEND_BURROWS"; break; - case 3: std::get<1>(result) = "PATROL_ROUTE"; break; - case 4: std::get<1>(result) = "TRAIN"; break; - case 5: std::get<1>(result) = "DRIVE_ENTITY_OFF_SITE"; break; - case 6: std::get<1>(result) = "CAUSE_TROUBLE_FOR_ENTITY"; break; - case 7: std::get<1>(result) = "KILL_HF"; break; - case 8: std::get<1>(result) = "DRIVE_ARMIES_FROM_SITE"; break; - case 9: std::get<1>(result) = "RETRIEVE_ARTIFACT"; break; - case 10: std::get<1>(result) = "RAID_SITE"; break; - case 11: std::get<1>(result) = "RESCUE_HF"; break; - default: break; - } - return result; -} - -std::tuple get_squad_order_cannot_reason_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "not_following_order"; break; - case 1: std::get<1>(result) = "activity_cancelled"; break; - case 2: std::get<1>(result) = "no_barracks"; break; - case 3: std::get<1>(result) = "improper_barracks"; break; - case 4: std::get<1>(result) = "no_activity"; break; - case 5: std::get<1>(result) = "cannot_individually_drill"; break; - case 6: std::get<1>(result) = "does_not_exist"; break; - case 7: std::get<1>(result) = "no_archery_target"; break; - case 8: std::get<1>(result) = "improper_building"; break; - case 9: std::get<1>(result) = "unreachable_location"; break; - case 10: std::get<1>(result) = "invalid_location"; break; - case 11: std::get<1>(result) = "no_reachable_valid_target"; break; - case 12: std::get<1>(result) = "no_burrow"; break; - case 13: std::get<1>(result) = "not_in_squad"; break; - case 14: std::get<1>(result) = "no_patrol_route"; break; - case 15: std::get<1>(result) = "no_reachable_point_on_route"; break; - case 16: std::get<1>(result) = "invalid_order"; break; - default: break; - } - return result; -} - -std::tuple get_army_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "player"; break; - default: break; - } - return result; -} - -std::tuple get_unit_path_goal_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case -1: std::get<1>(result) = "None"; break; - case 0: std::get<1>(result) = "ComeToJobBuilding"; break; - case 1: std::get<1>(result) = "ValidPondDumpUnit"; break; - case 2: std::get<1>(result) = "ValidPondDump"; break; - case 3: std::get<1>(result) = "ConflictDefense"; break; - case 4: std::get<1>(result) = "AdventureMove"; break; - case 5: std::get<1>(result) = "MarauderMill"; break; - case 6: std::get<1>(result) = "WildernessCuriousStealTarget"; break; - case 7: std::get<1>(result) = "WildernessRoamer"; break; - case 8: std::get<1>(result) = "ThiefTarget"; break; - case 9: std::get<1>(result) = "Owner"; break; - case 10: std::get<1>(result) = "CheckChest"; break; - case 11: std::get<1>(result) = "SleepBed"; break; - case 12: std::get<1>(result) = "SleepBarracks"; break; - case 13: std::get<1>(result) = "SleepGround"; break; - case 14: std::get<1>(result) = "LeaveWall"; break; - case 15: std::get<1>(result) = "FleeTerrain"; break; - case 16: std::get<1>(result) = "TaxRoom"; break; - case 17: std::get<1>(result) = "GuardTaxes"; break; - case 18: std::get<1>(result) = "RansackTaxes"; break; - case 19: std::get<1>(result) = "GetEmptySandBag"; break; - case 20: std::get<1>(result) = "SandZone"; break; - case 21: std::get<1>(result) = "GrabCage"; break; - case 22: std::get<1>(result) = "UncageAnimal"; break; - case 23: std::get<1>(result) = "CaptureSmallPet"; break; - case 24: std::get<1>(result) = "GrabCageUnit"; break; - case 25: std::get<1>(result) = "GoToCage"; break; - case 26: std::get<1>(result) = "GrabAnimalTrap"; break; - case 27: std::get<1>(result) = "CageVermin"; break; - case 28: std::get<1>(result) = "GrabUnfillBucket"; break; - case 29: std::get<1>(result) = "SeekFillBucket"; break; - case 30: std::get<1>(result) = "SeekPatientForCarry"; break; - case 31: std::get<1>(result) = "SeekPatientForDiagnosis"; break; - case 32: std::get<1>(result) = "SeekPatientForImmobilizeBreak"; break; - case 33: std::get<1>(result) = "SeekPatientForCrutch"; break; - case 34: std::get<1>(result) = "SeekPatientForSuturing"; break; - case 35: std::get<1>(result) = "SeekSurgerySite"; break; - case 36: std::get<1>(result) = "CarryPatientToBed"; break; - case 37: std::get<1>(result) = "SeekGiveWaterBucket"; break; - case 38: std::get<1>(result) = "SeekJobItem"; break; - case 39: std::get<1>(result) = "SeekUnitForItemDrop"; break; - case 40: std::get<1>(result) = "SeekUnitForJob"; break; - case 41: std::get<1>(result) = "SeekSplint"; break; - case 42: std::get<1>(result) = "SeekCrutch"; break; - case 43: std::get<1>(result) = "SeekSutureThread"; break; - case 44: std::get<1>(result) = "SeekDressingCloth"; break; - case 45: std::get<1>(result) = "GoToGiveWaterTarget"; break; - case 46: std::get<1>(result) = "SeekFoodForTarget"; break; - case 47: std::get<1>(result) = "SeekTargetForFood"; break; - case 48: std::get<1>(result) = "SeekAnimalForSlaughter"; break; - case 49: std::get<1>(result) = "SeekSlaughterBuilding"; break; - case 50: std::get<1>(result) = "SeekAnimalForChain"; break; - case 51: std::get<1>(result) = "SeekChainForAnimal"; break; - case 52: std::get<1>(result) = "SeekCageForUnchain"; break; - case 53: std::get<1>(result) = "SeekAnimalForUnchain"; break; - case 54: std::get<1>(result) = "GrabFoodForTaming"; break; - case 55: std::get<1>(result) = "SeekAnimalForTaming"; break; - case 56: std::get<1>(result) = "SeekDrinkItem"; break; - case 57: std::get<1>(result) = "SeekFoodItem"; break; - case 58: std::get<1>(result) = "SeekEatingChair"; break; - case 59: std::get<1>(result) = "SeekEatingChair2"; break; - case 60: std::get<1>(result) = "SeekBadMoodBuilding"; break; - case 61: std::get<1>(result) = "SetGlassMoodBuilding"; break; - case 62: std::get<1>(result) = "SetMoodBuilding"; break; - case 63: std::get<1>(result) = "SeekFellVictim"; break; - case 64: std::get<1>(result) = "CleanBuildingSite"; break; - case 65: std::get<1>(result) = "ResetPriorityGoal"; break; - case 66: std::get<1>(result) = "MainJobBuilding"; break; - case 67: std::get<1>(result) = "DropOffJobItems"; break; - case 68: std::get<1>(result) = "GrabJobResources"; break; - case 69: std::get<1>(result) = "WorkAtBuilding"; break; - case 70: std::get<1>(result) = "GrabUniform"; break; - case 71: std::get<1>(result) = "GrabClothing"; break; - case 72: std::get<1>(result) = "GrabWeapon"; break; - case 73: std::get<1>(result) = "GrabAmmunition"; break; - case 74: std::get<1>(result) = "GrabShield"; break; - case 75: std::get<1>(result) = "GrabArmor"; break; - case 76: std::get<1>(result) = "GrabHelm"; break; - case 77: std::get<1>(result) = "GrabBoots"; break; - case 78: std::get<1>(result) = "GrabGloves"; break; - case 79: std::get<1>(result) = "GrabPants"; break; - case 80: std::get<1>(result) = "GrabQuiver"; break; - case 81: std::get<1>(result) = "GrabBackpack"; break; - case 82: std::get<1>(result) = "GrabWaterskin"; break; - case 83: std::get<1>(result) = "StartHunt"; break; - case 84: std::get<1>(result) = "StartFish"; break; - case 85: std::get<1>(result) = "Clean"; break; - case 86: std::get<1>(result) = "HuntVermin"; break; - case 87: std::get<1>(result) = "Patrol"; break; - case 88: std::get<1>(result) = "SquadStation"; break; - case 89: std::get<1>(result) = "SeekInfant"; break; - case 90: std::get<1>(result) = "ShopSpecific"; break; - case 91: std::get<1>(result) = "MillInShop"; break; - case 92: std::get<1>(result) = "GoToShop"; break; - case 93: std::get<1>(result) = "SeekTrainingAmmunition"; break; - case 94: std::get<1>(result) = "ArcheryTrainingSite"; break; - case 95: std::get<1>(result) = "SparringPartner"; break; - case 96: std::get<1>(result) = "SparringSite"; break; - case 97: std::get<1>(result) = "AttendParty"; break; - case 98: std::get<1>(result) = "SeekArtifact"; break; - case 99: std::get<1>(result) = "GrabAmmunitionForBuilding"; break; - case 100: std::get<1>(result) = "SeekBuildingForAmmunition"; break; - case 101: std::get<1>(result) = "SeekItemForStorage"; break; - case 102: std::get<1>(result) = "StoreItem"; break; - case 103: std::get<1>(result) = "GrabKill"; break; - case 104: std::get<1>(result) = "DropKillAtButcher"; break; - case 105: std::get<1>(result) = "DropKillOutFront"; break; - case 106: std::get<1>(result) = "GoToBeatingTarget"; break; - case 107: std::get<1>(result) = "SeekKidnapVictim"; break; - case 108: std::get<1>(result) = "SeekHuntingTarget"; break; - case 109: std::get<1>(result) = "SeekTargetMechanism"; break; - case 110: std::get<1>(result) = "SeekTargetForMechanism"; break; - case 111: std::get<1>(result) = "SeekMechanismForTrigger"; break; - case 112: std::get<1>(result) = "SeekTriggerForMechanism"; break; - case 113: std::get<1>(result) = "SeekTrapForVerminCatch"; break; - case 114: std::get<1>(result) = "SeekVerminForCatching"; break; - case 115: std::get<1>(result) = "SeekVerminCatchLocation"; break; - case 116: std::get<1>(result) = "WanderVerminCatchLocation"; break; - case 117: std::get<1>(result) = "SeekVerminForHunting"; break; - case 118: std::get<1>(result) = "SeekVerminHuntingSpot"; break; - case 119: std::get<1>(result) = "WanderVerminHuntingSpot"; break; - case 120: std::get<1>(result) = "SeekFishTrap"; break; - case 121: std::get<1>(result) = "SeekFishCatchLocation"; break; - case 122: std::get<1>(result) = "SeekWellForWater"; break; - case 123: std::get<1>(result) = "SeekDrinkAreaForWater"; break; - case 124: std::get<1>(result) = "UpgradeSquadEquipment"; break; - case 125: std::get<1>(result) = "PrepareEquipmentManifests"; break; - case 126: std::get<1>(result) = "WanderDepot"; break; - case 127: std::get<1>(result) = "SeekUpdateOffice"; break; - case 128: std::get<1>(result) = "SeekManageOffice"; break; - case 129: std::get<1>(result) = "AssignedBuildingJob"; break; - case 130: std::get<1>(result) = "ChaseOpponent"; break; - case 131: std::get<1>(result) = "FleeFromOpponent"; break; - case 132: std::get<1>(result) = "AttackBuilding"; break; - case 133: std::get<1>(result) = "StartBedCarry"; break; - case 134: std::get<1>(result) = "StartGiveFoodWater"; break; - case 135: std::get<1>(result) = "StartMedicalAid"; break; - case 136: std::get<1>(result) = "SeekStationFlood"; break; - case 137: std::get<1>(result) = "SeekStation"; break; - case 138: std::get<1>(result) = "StartWaterJobWell"; break; - case 139: std::get<1>(result) = "StartWaterJobDrinkArea"; break; - case 140: std::get<1>(result) = "StartEatJob"; break; - case 141: std::get<1>(result) = "ScheduledMeal"; break; - case 142: std::get<1>(result) = "ScheduledSleepBed"; break; - case 143: std::get<1>(result) = "ScheduledSleepGround"; break; - case 144: std::get<1>(result) = "Rest"; break; - case 145: std::get<1>(result) = "RemoveConstruction"; break; - case 146: std::get<1>(result) = "Chop"; break; - case 147: std::get<1>(result) = "Detail"; break; - case 148: std::get<1>(result) = "GatherPlant"; break; - case 149: std::get<1>(result) = "Dig"; break; - case 150: std::get<1>(result) = "Mischief"; break; - case 151: std::get<1>(result) = "ChaseOpponentSameSquare"; break; - case 152: std::get<1>(result) = "RestRecovered"; break; - case 153: std::get<1>(result) = "RestReset"; break; - case 154: std::get<1>(result) = "CombatTraining"; break; - case 155: std::get<1>(result) = "SkillDemonstration"; break; - case 156: std::get<1>(result) = "IndividualSkillDrill"; break; - case 157: std::get<1>(result) = "SeekBuildingForItemDrop"; break; - case 158: std::get<1>(result) = "SeekBuildingForJob"; break; - case 159: std::get<1>(result) = "GrabMilkUnit"; break; - case 160: std::get<1>(result) = "GoToMilkStation"; break; - case 161: std::get<1>(result) = "SeekPatientForDressWound"; break; - case 162: std::get<1>(result) = "UndeadHunt"; break; - case 163: std::get<1>(result) = "GrabShearUnit"; break; - case 164: std::get<1>(result) = "GoToShearStation"; break; - case 165: std::get<1>(result) = "LayEggNestBox"; break; - case 166: std::get<1>(result) = "ClayZone"; break; - case 167: std::get<1>(result) = "ColonyToInstall"; break; - case 168: std::get<1>(result) = "ReturnColonyToInstall"; break; - case 169: std::get<1>(result) = "Nonsense"; break; - case 170: std::get<1>(result) = "SeekBloodSuckVictim"; break; - case 171: std::get<1>(result) = "SeekSheriff"; break; - case 172: std::get<1>(result) = "GrabExecutionWeapon"; break; - case 173: std::get<1>(result) = "TrainAnimal"; break; - case 174: std::get<1>(result) = "GuardPath"; break; - case 175: std::get<1>(result) = "Harass"; break; - case 176: std::get<1>(result) = "SiteWalk"; break; - case 177: std::get<1>(result) = "SiteWalkToBuilding"; break; - case 178: std::get<1>(result) = "Reunion"; break; - case 179: std::get<1>(result) = "ArmyWalk"; break; - case 180: std::get<1>(result) = "ChaseOpponentFlood"; break; - case 181: std::get<1>(result) = "ChargeAttack"; break; - case 182: std::get<1>(result) = "FleeFromOpponentClimb"; break; - case 183: std::get<1>(result) = "SeekLadderToClimb"; break; - case 184: std::get<1>(result) = "SeekLadderToMove"; break; - case 185: std::get<1>(result) = "PlaceLadder"; break; - case 186: std::get<1>(result) = "SeekAnimalForGelding"; break; - case 187: std::get<1>(result) = "SeekGeldingBuilding"; break; - case 188: std::get<1>(result) = "Prayer"; break; - case 189: std::get<1>(result) = "Socialize"; break; - case 190: std::get<1>(result) = "Performance"; break; - case 191: std::get<1>(result) = "Research"; break; - case 192: std::get<1>(result) = "PonderTopic"; break; - case 193: std::get<1>(result) = "FillServiceOrder"; break; - case 194: std::get<1>(result) = "GetWrittenContent"; break; - case 195: std::get<1>(result) = "GoToReadingPlace"; break; - case 196: std::get<1>(result) = "GetWritingMaterials"; break; - case 197: std::get<1>(result) = "GoToWritingPlace"; break; - case 198: std::get<1>(result) = "Worship"; break; - case 199: std::get<1>(result) = "GrabInstrument"; break; - case 200: std::get<1>(result) = "Play"; break; - case 201: std::get<1>(result) = "MakeBelieve"; break; - case 202: std::get<1>(result) = "PlayWithToy"; break; - case 203: std::get<1>(result) = "GrabToy"; break; - default: break; - } - return result; -} - -std::tuple get_unit_station_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case -1: std::get<1>(result) = "None"; break; - case 0: std::get<1>(result) = "Nonsense"; break; - case 1: std::get<1>(result) = "DungeonCommander"; break; - case 2: std::get<1>(result) = "InsaneMood"; break; - case 3: std::get<1>(result) = "UndeadHunt"; break; - case 4: std::get<1>(result) = "SiegerPatrol"; break; - case 5: std::get<1>(result) = "MaraudeTarget"; break; - case 6: std::get<1>(result) = "SiegerBasepoint"; break; - case 7: std::get<1>(result) = "SiegerMill"; break; - case 8: std::get<1>(result) = "AmbushPatrol"; break; - case 9: std::get<1>(result) = "MarauderMill"; break; - case 10: std::get<1>(result) = "WildernessCuriousWander"; break; - case 11: std::get<1>(result) = "WildernessCuriousStealTarget"; break; - case 12: std::get<1>(result) = "WildernessRoamer"; break; - case 13: std::get<1>(result) = "PatternPatrol"; break; - case 14: std::get<1>(result) = "InactiveMarauder"; break; - case 15: std::get<1>(result) = "Owner"; break; - case 16: std::get<1>(result) = "Commander"; break; - case 17: std::get<1>(result) = "ChainedAnimal"; break; - case 18: std::get<1>(result) = "MeetingLocation"; break; - case 19: std::get<1>(result) = "MeetingLocationBuilding"; break; - case 20: std::get<1>(result) = "Depot"; break; - case 21: std::get<1>(result) = "VerminHunting"; break; - case 22: std::get<1>(result) = "SeekCommander"; break; - case 23: std::get<1>(result) = "ReturnToBase"; break; - case 24: std::get<1>(result) = "MillAnywhere"; break; - case 25: std::get<1>(result) = "Wagon"; break; - case 26: std::get<1>(result) = "MillBuilding"; break; - case 27: std::get<1>(result) = "HeadForEdge"; break; - case 28: std::get<1>(result) = "MillingFlood"; break; - case 29: std::get<1>(result) = "MillingBurrow"; break; - case 30: std::get<1>(result) = "SquadMove"; break; - case 31: std::get<1>(result) = "SquadKillList"; break; - case 32: std::get<1>(result) = "SquadPatrol"; break; - case 33: std::get<1>(result) = "SquadDefendBurrow"; break; - case 34: std::get<1>(result) = "SquadDefendBurrowFromTarget"; break; - case 35: std::get<1>(result) = "LairHunter"; break; - case 36: std::get<1>(result) = "Graze"; break; - case 37: std::get<1>(result) = "Guard"; break; - case 38: std::get<1>(result) = "Alarm"; break; - case 39: std::get<1>(result) = "MoveToSite"; break; - case 40: std::get<1>(result) = "ClaimSite"; break; - case 41: std::get<1>(result) = "WaitOrder"; break; - default: break; - } - return result; -} - -std::tuple get_plant_raw_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "SPRING"; break; - case 1: std::get<1>(result) = "SUMMER"; break; - case 2: std::get<1>(result) = "AUTUMN"; break; - case 3: std::get<1>(result) = "WINTER"; break; - case 4: std::get<1>(result) = "anon_1"; break; - case 5: std::get<1>(result) = "SEED"; break; - case 6: std::get<1>(result) = "TREE_HAS_MUSHROOM_CAP"; break; - case 7: std::get<1>(result) = "DRINK"; break; - case 8: std::get<1>(result) = "EXTRACT_BARREL"; break; - case 9: std::get<1>(result) = "EXTRACT_VIAL"; break; - case 10: std::get<1>(result) = "EXTRACT_STILL_VIAL"; break; - case 11: std::get<1>(result) = "GENERATED"; break; - case 12: std::get<1>(result) = "THREAD"; break; - case 13: std::get<1>(result) = "MILL"; break; - case 14: std::get<1>(result) = "anon_2"; break; - case 15: std::get<1>(result) = "anon_3"; break; - case 16: std::get<1>(result) = "anon_4"; break; - case 17: std::get<1>(result) = "anon_5"; break; - case 18: std::get<1>(result) = "anon_6"; break; - case 19: std::get<1>(result) = "anon_7"; break; - case 20: std::get<1>(result) = "WET"; break; - case 21: std::get<1>(result) = "DRY"; break; - case 22: std::get<1>(result) = "BIOME_MOUNTAIN"; break; - case 23: std::get<1>(result) = "BIOME_GLACIER"; break; - case 24: std::get<1>(result) = "BIOME_TUNDRA"; break; - case 25: std::get<1>(result) = "BIOME_SWAMP_TEMPERATE_FRESHWATER"; break; - case 26: std::get<1>(result) = "BIOME_SWAMP_TEMPERATE_SALTWATER"; break; - case 27: std::get<1>(result) = "BIOME_MARSH_TEMPERATE_FRESHWATER"; break; - case 28: std::get<1>(result) = "BIOME_MARSH_TEMPERATE_SALTWATER"; break; - case 29: std::get<1>(result) = "BIOME_SWAMP_TROPICAL_FRESHWATER"; break; - case 30: std::get<1>(result) = "BIOME_SWAMP_TROPICAL_SALTWATER"; break; - case 31: std::get<1>(result) = "BIOME_SWAMP_MANGROVE"; break; - case 32: std::get<1>(result) = "BIOME_MARSH_TROPICAL_FRESHWATER"; break; - case 33: std::get<1>(result) = "BIOME_MARSH_TROPICAL_SALTWATER"; break; - case 34: std::get<1>(result) = "BIOME_FOREST_TAIGA"; break; - case 35: std::get<1>(result) = "BIOME_FOREST_TEMPERATE_CONIFER"; break; - case 36: std::get<1>(result) = "BIOME_FOREST_TEMPERATE_BROADLEAF"; break; - case 37: std::get<1>(result) = "BIOME_FOREST_TROPICAL_CONIFER"; break; - case 38: std::get<1>(result) = "BIOME_FOREST_TROPICAL_DRY_BROADLEAF"; break; - case 39: std::get<1>(result) = "BIOME_FOREST_TROPICAL_MOIST_BROADLEAF"; break; - case 40: std::get<1>(result) = "BIOME_GRASSLAND_TEMPERATE"; break; - case 41: std::get<1>(result) = "BIOME_SAVANNA_TEMPERATE"; break; - case 42: std::get<1>(result) = "BIOME_SHRUBLAND_TEMPERATE"; break; - case 43: std::get<1>(result) = "BIOME_GRASSLAND_TROPICAL"; break; - case 44: std::get<1>(result) = "BIOME_SAVANNA_TROPICAL"; break; - case 45: std::get<1>(result) = "BIOME_SHRUBLAND_TROPICAL"; break; - case 46: std::get<1>(result) = "BIOME_DESERT_BADLAND"; break; - case 47: std::get<1>(result) = "BIOME_DESERT_ROCK"; break; - case 48: std::get<1>(result) = "BIOME_DESERT_SAND"; break; - case 49: std::get<1>(result) = "BIOME_OCEAN_TROPICAL"; break; - case 50: std::get<1>(result) = "BIOME_OCEAN_TEMPERATE"; break; - case 51: std::get<1>(result) = "BIOME_OCEAN_ARCTIC"; break; - case 52: std::get<1>(result) = "BIOME_POOL_TEMPERATE_FRESHWATER"; break; - case 53: std::get<1>(result) = "BIOME_SUBTERRANEAN_WATER"; break; - case 54: std::get<1>(result) = "BIOME_SUBTERRANEAN_CHASM"; break; - case 55: std::get<1>(result) = "BIOME_SUBTERRANEAN_LAVA"; break; - case 56: std::get<1>(result) = "GOOD"; break; - case 57: std::get<1>(result) = "EVIL"; break; - case 58: std::get<1>(result) = "SAVAGE"; break; - case 59: std::get<1>(result) = "BIOME_POOL_TEMPERATE_BRACKISHWATER"; break; - case 60: std::get<1>(result) = "BIOME_POOL_TEMPERATE_SALTWATER"; break; - case 61: std::get<1>(result) = "BIOME_POOL_TROPICAL_FRESHWATER"; break; - case 62: std::get<1>(result) = "BIOME_POOL_TROPICAL_BRACKISHWATER"; break; - case 63: std::get<1>(result) = "BIOME_POOL_TROPICAL_SALTWATER"; break; - case 64: std::get<1>(result) = "BIOME_LAKE_TEMPERATE_FRESHWATER"; break; - case 65: std::get<1>(result) = "BIOME_LAKE_TEMPERATE_BRACKISHWATER"; break; - case 66: std::get<1>(result) = "BIOME_LAKE_TEMPERATE_SALTWATER"; break; - case 67: std::get<1>(result) = "BIOME_LAKE_TROPICAL_FRESHWATER"; break; - case 68: std::get<1>(result) = "BIOME_LAKE_TROPICAL_BRACKISHWATER"; break; - case 69: std::get<1>(result) = "BIOME_LAKE_TROPICAL_SALTWATER"; break; - case 70: std::get<1>(result) = "BIOME_RIVER_TEMPERATE_FRESHWATER"; break; - case 71: std::get<1>(result) = "BIOME_RIVER_TEMPERATE_BRACKISHWATER"; break; - case 72: std::get<1>(result) = "BIOME_RIVER_TEMPERATE_SALTWATER"; break; - case 73: std::get<1>(result) = "BIOME_RIVER_TROPICAL_FRESHWATER"; break; - case 74: std::get<1>(result) = "BIOME_RIVER_TROPICAL_BRACKISHWATER"; break; - case 75: std::get<1>(result) = "BIOME_RIVER_TROPICAL_SALTWATER"; break; - case 76: std::get<1>(result) = "TWIGS_SIDE_BRANCHES"; break; - case 77: std::get<1>(result) = "SAPLING"; break; - case 78: std::get<1>(result) = "TREE"; break; - case 79: std::get<1>(result) = "GRASS"; break; - case 80: std::get<1>(result) = "TWIGS_ABOVE_BRANCHES"; break; - case 81: std::get<1>(result) = "TWIGS_BELOW_BRANCHES"; break; - case 82: std::get<1>(result) = "TWIGS_SIDE_HEAVY_BRANCHES"; break; - case 83: std::get<1>(result) = "TWIGS_ABOVE_HEAVY_BRANCHES"; break; - case 84: std::get<1>(result) = "TWIGS_BELOW_HEAVY_BRANCHES"; break; - case 85: std::get<1>(result) = "TWIGS_SIDE_TRUNK"; break; - case 86: std::get<1>(result) = "TWIGS_ABOVE_TRUNK"; break; - case 87: std::get<1>(result) = "TWIGS_BELOW_TRUNK"; break; - default: break; - } - return result; -} - -std::tuple get_projectile_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Item"; break; - case 1: std::get<1>(result) = "Unit"; break; - case 2: std::get<1>(result) = "Magic"; break; - default: break; - } - return result; -} - -std::tuple get_reaction_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "FUEL"; break; - case 1: std::get<1>(result) = "AUTOMATIC"; break; - case 2: std::get<1>(result) = "ADVENTURE_MODE_ENABLED"; break; - default: break; - } - return result; -} - -std::tuple get_reaction_reagent_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "item"; break; - default: break; - } - return result; -} - -std::tuple get_reaction_product_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "item"; break; - case 1: std::get<1>(result) = "improvement"; break; - default: break; - } - return result; -} - -std::tuple get_reaction_product_item_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "GET_MATERIAL_SAME"; break; - case 1: std::get<1>(result) = "GET_MATERIAL_PRODUCT"; break; - case 2: std::get<1>(result) = "FORCE_EDGE"; break; - case 3: std::get<1>(result) = "PASTE"; break; - case 4: std::get<1>(result) = "PRESSED"; break; - case 5: std::get<1>(result) = "CRAFTS"; break; - default: break; - } - return result; -} - -std::tuple get_reaction_product_improvement_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "GET_MATERIAL_SAME"; break; - case 1: std::get<1>(result) = "GET_MATERIAL_PRODUCT"; break; - case 2: std::get<1>(result) = "GLAZED"; break; - default: break; - } - return result; -} - -std::tuple get_general_ref_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "ARTIFACT"; break; - case 1: std::get<1>(result) = "IS_ARTIFACT"; break; - case 2: std::get<1>(result) = "NEMESIS"; break; - case 3: std::get<1>(result) = "IS_NEMESIS"; break; - case 4: std::get<1>(result) = "ITEM"; break; - case 5: std::get<1>(result) = "ITEM_TYPE"; break; - case 6: std::get<1>(result) = "COINBATCH"; break; - case 7: std::get<1>(result) = "MAPSQUARE"; break; - case 8: std::get<1>(result) = "ENTITY_ART_IMAGE"; break; - case 9: std::get<1>(result) = "CONTAINS_UNIT"; break; - case 10: std::get<1>(result) = "CONTAINS_ITEM"; break; - case 11: std::get<1>(result) = "CONTAINED_IN_ITEM"; break; - case 12: std::get<1>(result) = "PROJECTILE"; break; - case 13: std::get<1>(result) = "UNIT"; break; - case 14: std::get<1>(result) = "UNIT_MILKEE"; break; - case 15: std::get<1>(result) = "UNIT_TRAINEE"; break; - case 16: std::get<1>(result) = "UNIT_ITEMOWNER"; break; - case 17: std::get<1>(result) = "UNIT_TRADEBRINGER"; break; - case 18: std::get<1>(result) = "UNIT_HOLDER"; break; - case 19: std::get<1>(result) = "UNIT_WORKER"; break; - case 20: std::get<1>(result) = "UNIT_CAGEE"; break; - case 21: std::get<1>(result) = "UNIT_BEATEE"; break; - case 22: std::get<1>(result) = "UNIT_FOODRECEIVER"; break; - case 23: std::get<1>(result) = "UNIT_KIDNAPEE"; break; - case 24: std::get<1>(result) = "UNIT_PATIENT"; break; - case 25: std::get<1>(result) = "UNIT_INFANT"; break; - case 26: std::get<1>(result) = "UNIT_SLAUGHTEREE"; break; - case 27: std::get<1>(result) = "UNIT_SHEAREE"; break; - case 28: std::get<1>(result) = "UNIT_SUCKEE"; break; - case 29: std::get<1>(result) = "UNIT_REPORTEE"; break; - case 30: std::get<1>(result) = "BUILDING"; break; - case 31: std::get<1>(result) = "BUILDING_CIVZONE_ASSIGNED"; break; - case 32: std::get<1>(result) = "BUILDING_TRIGGER"; break; - case 33: std::get<1>(result) = "BUILDING_TRIGGERTARGET"; break; - case 34: std::get<1>(result) = "BUILDING_CHAIN"; break; - case 35: std::get<1>(result) = "BUILDING_CAGED"; break; - case 36: std::get<1>(result) = "BUILDING_HOLDER"; break; - case 37: std::get<1>(result) = "BUILDING_WELL_TAG"; break; - case 38: std::get<1>(result) = "BUILDING_USE_TARGET_1"; break; - case 39: std::get<1>(result) = "BUILDING_USE_TARGET_2"; break; - case 40: std::get<1>(result) = "BUILDING_DESTINATION"; break; - case 41: std::get<1>(result) = "BUILDING_NEST_BOX"; break; - case 42: std::get<1>(result) = "ENTITY"; break; - case 43: std::get<1>(result) = "ENTITY_STOLEN"; break; - case 44: std::get<1>(result) = "ENTITY_OFFERED"; break; - case 45: std::get<1>(result) = "ENTITY_ITEMOWNER"; break; - case 46: std::get<1>(result) = "LOCATION"; break; - case 47: std::get<1>(result) = "INTERACTION"; break; - case 48: std::get<1>(result) = "ABSTRACT_BUILDING"; break; - case 49: std::get<1>(result) = "HISTORICAL_EVENT"; break; - case 50: std::get<1>(result) = "SPHERE"; break; - case 51: std::get<1>(result) = "SITE"; break; - case 52: std::get<1>(result) = "SUBREGION"; break; - case 53: std::get<1>(result) = "FEATURE_LAYER"; break; - case 54: std::get<1>(result) = "HISTORICAL_FIGURE"; break; - case 55: std::get<1>(result) = "ENTITY_POP"; break; - case 56: std::get<1>(result) = "CREATURE"; break; - case 57: std::get<1>(result) = "UNIT_RIDER"; break; - case 58: std::get<1>(result) = "UNIT_CLIMBER"; break; - case 59: std::get<1>(result) = "UNIT_GELDEE"; break; - case 60: std::get<1>(result) = "KNOWLEDGE_SCHOLAR_FLAG"; break; - case 61: std::get<1>(result) = "ACTIVITY_EVENT"; break; - case 62: std::get<1>(result) = "VALUE_LEVEL"; break; - case 63: std::get<1>(result) = "LANGUAGE"; break; - case 64: std::get<1>(result) = "WRITTEN_CONTENT"; break; - case 65: std::get<1>(result) = "POETIC_FORM"; break; - case 66: std::get<1>(result) = "MUSICAL_FORM"; break; - case 67: std::get<1>(result) = "DANCE_FORM"; break; - case 68: std::get<1>(result) = "BUILDING_DISPLAY_FURNITURE"; break; - default: break; - } - return result; -} - -std::tuple get_specific_ref_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "anon_1"; break; - case 1: std::get<1>(result) = "UNIT_INVENTORY"; break; - case 2: std::get<1>(result) = "JOB"; break; - case 3: std::get<1>(result) = "BUILDING_PARTY"; break; - case 4: std::get<1>(result) = "ACTIVITY"; break; - case 5: std::get<1>(result) = "ITEM_GENERAL"; break; - case 6: std::get<1>(result) = "EFFECT"; break; - case 7: std::get<1>(result) = "PETINFO_PET"; std::get<2>(result) = "unused"; break; - case 8: std::get<1>(result) = "PETINFO_OWNER"; std::get<2>(result) = "unused"; break; - case 9: std::get<1>(result) = "VERMIN_EVENT"; break; - case 10: std::get<1>(result) = "VERMIN_ESCAPED_PET"; break; - case 11: std::get<1>(result) = "ENTITY"; break; - case 12: std::get<1>(result) = "PLOT_INFO"; break; - case 13: std::get<1>(result) = "VIEWSCREEN"; break; - case 14: std::get<1>(result) = "UNIT_ITEM_WRESTLE"; break; - case 15: std::get<1>(result) = "NULL_REF"; break; - case 16: std::get<1>(result) = "HIST_FIG"; break; - case 17: std::get<1>(result) = "SITE"; break; - case 18: std::get<1>(result) = "ARTIFACT"; break; - case 19: std::get<1>(result) = "ITEM_IMPROVEMENT"; break; - case 20: std::get<1>(result) = "COIN_FRONT"; break; - case 21: std::get<1>(result) = "COIN_BACK"; break; - case 22: std::get<1>(result) = "DETAIL_EVENT"; break; - case 23: std::get<1>(result) = "SUBREGION"; break; - case 24: std::get<1>(result) = "FEATURE_LAYER"; break; - case 25: std::get<1>(result) = "ART_IMAGE"; break; - case 26: std::get<1>(result) = "CREATURE_DEF"; break; - case 27: std::get<1>(result) = "anon_2"; break; - case 28: std::get<1>(result) = "anon_3"; break; - case 29: std::get<1>(result) = "ENTITY_POPULATION"; break; - case 30: std::get<1>(result) = "BREED"; break; - default: break; - } - return result; -} - -std::tuple get_histfig_entity_link_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "MEMBER"; break; - case 1: std::get<1>(result) = "FORMER_MEMBER"; break; - case 2: std::get<1>(result) = "MERCENARY"; break; - case 3: std::get<1>(result) = "FORMER_MERCENARY"; break; - case 4: std::get<1>(result) = "SLAVE"; break; - case 5: std::get<1>(result) = "FORMER_SLAVE"; break; - case 6: std::get<1>(result) = "PRISONER"; break; - case 7: std::get<1>(result) = "FORMER_PRISONER"; break; - case 8: std::get<1>(result) = "ENEMY"; break; - case 9: std::get<1>(result) = "CRIMINAL"; break; - case 10: std::get<1>(result) = "POSITION"; break; - case 11: std::get<1>(result) = "FORMER_POSITION"; break; - case 12: std::get<1>(result) = "POSITION_CLAIM"; break; - case 13: std::get<1>(result) = "SQUAD"; break; - case 14: std::get<1>(result) = "FORMER_SQUAD"; break; - case 15: std::get<1>(result) = "OCCUPATION"; break; - case 16: std::get<1>(result) = "FORMER_OCCUPATION"; break; - default: break; - } - return result; -} - -std::tuple get_histfig_site_link_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "OCCUPATION"; break; - case 1: std::get<1>(result) = "SEAT_OF_POWER"; break; - case 2: std::get<1>(result) = "HANGOUT"; break; - case 3: std::get<1>(result) = "HOME_SITE_ABSTRACT_BUILDING"; break; - case 4: std::get<1>(result) = "HOME_SITE_REALIZATION_BUILDING"; break; - case 5: std::get<1>(result) = "LAIR"; break; - case 6: std::get<1>(result) = "HOME_SITE_REALIZATION_SUL"; break; - case 7: std::get<1>(result) = "HOME_SITE_SAVED_CIVZONE"; break; - default: break; - } - return result; -} - -std::tuple get_histfig_hf_link_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "MOTHER"; break; - case 1: std::get<1>(result) = "FATHER"; break; - case 2: std::get<1>(result) = "SPOUSE"; break; - case 3: std::get<1>(result) = "CHILD"; break; - case 4: std::get<1>(result) = "DEITY"; break; - case 5: std::get<1>(result) = "LOVER"; break; - case 6: std::get<1>(result) = "PRISONER"; break; - case 7: std::get<1>(result) = "IMPRISONER"; break; - case 8: std::get<1>(result) = "MASTER"; break; - case 9: std::get<1>(result) = "APPRENTICE"; break; - case 10: std::get<1>(result) = "COMPANION"; break; - case 11: std::get<1>(result) = "FORMER_MASTER"; break; - case 12: std::get<1>(result) = "FORMER_APPRENTICE"; break; - case 13: std::get<1>(result) = "PET_OWNER"; break; - default: break; - } - return result; -} - -std::tuple get_entity_entity_link_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "PARENT"; break; - case 1: std::get<1>(result) = "CHILD"; break; - default: break; - } - return result; -} - -std::tuple get_resource_allotment_specifier_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "CROP"; break; - case 1: std::get<1>(result) = "STONE"; break; - case 2: std::get<1>(result) = "METAL"; break; - case 3: std::get<1>(result) = "WOOD"; break; - case 4: std::get<1>(result) = "ARMOR_BODY"; break; - case 5: std::get<1>(result) = "ARMOR_PANTS"; break; - case 6: std::get<1>(result) = "ARMOR_GLOVES"; break; - case 7: std::get<1>(result) = "ARMOR_BOOTS"; break; - case 8: std::get<1>(result) = "ARMOR_HELM"; break; - case 9: std::get<1>(result) = "CLOTHING_BODY"; break; - case 10: std::get<1>(result) = "CLOTHING_PANTS"; break; - case 11: std::get<1>(result) = "CLOTHING_GLOVES"; break; - case 12: std::get<1>(result) = "CLOTHING_BOOTS"; break; - case 13: std::get<1>(result) = "CLOTHING_HELM"; break; - case 14: std::get<1>(result) = "WEAPON_MELEE"; break; - case 15: std::get<1>(result) = "WEAPON_RANGED"; break; - case 16: std::get<1>(result) = "ANVIL"; break; - case 17: std::get<1>(result) = "GEMS"; break; - case 18: std::get<1>(result) = "THREAD"; break; - case 19: std::get<1>(result) = "CLOTH"; break; - case 20: std::get<1>(result) = "LEATHER"; break; - case 21: std::get<1>(result) = "QUIVER"; break; - case 22: std::get<1>(result) = "BACKPACK"; break; - case 23: std::get<1>(result) = "FLASK"; break; - case 24: std::get<1>(result) = "BAG"; break; - case 25: std::get<1>(result) = "TABLE"; break; - case 26: std::get<1>(result) = "CABINET"; break; - case 27: std::get<1>(result) = "CHAIR"; break; - case 28: std::get<1>(result) = "BOX"; break; - case 29: std::get<1>(result) = "BED"; break; - case 30: std::get<1>(result) = "CRAFTS"; break; - case 31: std::get<1>(result) = "MEAT"; break; - case 32: std::get<1>(result) = "BONE"; break; - case 33: std::get<1>(result) = "HORN"; break; - case 34: std::get<1>(result) = "SHELL"; break; - case 35: std::get<1>(result) = "TALLOW"; break; - case 36: std::get<1>(result) = "TOOTH"; break; - case 37: std::get<1>(result) = "PEARL"; break; - case 38: std::get<1>(result) = "SOAP"; break; - case 39: std::get<1>(result) = "EXTRACT"; break; - case 40: std::get<1>(result) = "CHEESE"; break; - case 41: std::get<1>(result) = "SKIN"; break; - case 42: std::get<1>(result) = "POWDER"; break; - case 43: std::get<1>(result) = "AMMO"; break; - default: break; - } - return result; -} - -std::tuple get_profession_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case -1: std::get<1>(result) = "NONE"; break; - case 0: std::get<1>(result) = "MINER"; break; - case 1: std::get<1>(result) = "WOODWORKER"; break; - case 2: std::get<1>(result) = "CARPENTER"; break; - case 3: std::get<1>(result) = "BOWYER"; break; - case 4: std::get<1>(result) = "WOODCUTTER"; break; - case 5: std::get<1>(result) = "STONEWORKER"; break; - case 6: std::get<1>(result) = "ENGRAVER"; break; - case 7: std::get<1>(result) = "MASON"; break; - case 8: std::get<1>(result) = "RANGER"; break; - case 9: std::get<1>(result) = "ANIMAL_CARETAKER"; break; - case 10: std::get<1>(result) = "ANIMAL_TRAINER"; break; - case 11: std::get<1>(result) = "HUNTER"; break; - case 12: std::get<1>(result) = "TRAPPER"; break; - case 13: std::get<1>(result) = "ANIMAL_DISSECTOR"; break; - case 14: std::get<1>(result) = "METALSMITH"; break; - case 15: std::get<1>(result) = "FURNACE_OPERATOR"; break; - case 16: std::get<1>(result) = "WEAPONSMITH"; break; - case 17: std::get<1>(result) = "ARMORER"; break; - case 18: std::get<1>(result) = "BLACKSMITH"; break; - case 19: std::get<1>(result) = "METALCRAFTER"; break; - case 20: std::get<1>(result) = "JEWELER"; break; - case 21: std::get<1>(result) = "GEM_CUTTER"; break; - case 22: std::get<1>(result) = "GEM_SETTER"; break; - case 23: std::get<1>(result) = "CRAFTSMAN"; break; - case 24: std::get<1>(result) = "WOODCRAFTER"; break; - case 25: std::get<1>(result) = "STONECRAFTER"; break; - case 26: std::get<1>(result) = "LEATHERWORKER"; break; - case 27: std::get<1>(result) = "BONE_CARVER"; break; - case 28: std::get<1>(result) = "WEAVER"; break; - case 29: std::get<1>(result) = "CLOTHIER"; break; - case 30: std::get<1>(result) = "GLASSMAKER"; break; - case 31: std::get<1>(result) = "POTTER"; break; - case 32: std::get<1>(result) = "GLAZER"; break; - case 33: std::get<1>(result) = "WAX_WORKER"; break; - case 34: std::get<1>(result) = "STRAND_EXTRACTOR"; break; - case 35: std::get<1>(result) = "FISHERY_WORKER"; break; - case 36: std::get<1>(result) = "FISHERMAN"; break; - case 37: std::get<1>(result) = "FISH_DISSECTOR"; break; - case 38: std::get<1>(result) = "FISH_CLEANER"; break; - case 39: std::get<1>(result) = "FARMER"; break; - case 40: std::get<1>(result) = "CHEESE_MAKER"; break; - case 41: std::get<1>(result) = "MILKER"; break; - case 42: std::get<1>(result) = "COOK"; break; - case 43: std::get<1>(result) = "THRESHER"; break; - case 44: std::get<1>(result) = "MILLER"; break; - case 45: std::get<1>(result) = "BUTCHER"; break; - case 46: std::get<1>(result) = "TANNER"; break; - case 47: std::get<1>(result) = "DYER"; break; - case 48: std::get<1>(result) = "PLANTER"; break; - case 49: std::get<1>(result) = "HERBALIST"; break; - case 50: std::get<1>(result) = "BREWER"; break; - case 51: std::get<1>(result) = "SOAP_MAKER"; break; - case 52: std::get<1>(result) = "POTASH_MAKER"; break; - case 53: std::get<1>(result) = "LYE_MAKER"; break; - case 54: std::get<1>(result) = "WOOD_BURNER"; break; - case 55: std::get<1>(result) = "SHEARER"; break; - case 56: std::get<1>(result) = "SPINNER"; break; - case 57: std::get<1>(result) = "PRESSER"; break; - case 58: std::get<1>(result) = "BEEKEEPER"; break; - case 59: std::get<1>(result) = "ENGINEER"; break; - case 60: std::get<1>(result) = "MECHANIC"; break; - case 61: std::get<1>(result) = "SIEGE_ENGINEER"; break; - case 62: std::get<1>(result) = "SIEGE_OPERATOR"; break; - case 63: std::get<1>(result) = "PUMP_OPERATOR"; break; - case 64: std::get<1>(result) = "CLERK"; break; - case 65: std::get<1>(result) = "ADMINISTRATOR"; break; - case 66: std::get<1>(result) = "TRADER"; break; - case 67: std::get<1>(result) = "ARCHITECT"; break; - case 68: std::get<1>(result) = "ALCHEMIST"; break; - case 69: std::get<1>(result) = "DOCTOR"; break; - case 70: std::get<1>(result) = "DIAGNOSER"; break; - case 71: std::get<1>(result) = "BONE_SETTER"; break; - case 72: std::get<1>(result) = "SUTURER"; break; - case 73: std::get<1>(result) = "SURGEON"; break; - case 74: std::get<1>(result) = "MERCHANT"; break; - case 75: std::get<1>(result) = "HAMMERMAN"; break; - case 76: std::get<1>(result) = "MASTER_HAMMERMAN"; break; - case 77: std::get<1>(result) = "SPEARMAN"; break; - case 78: std::get<1>(result) = "MASTER_SPEARMAN"; break; - case 79: std::get<1>(result) = "CROSSBOWMAN"; break; - case 80: std::get<1>(result) = "MASTER_CROSSBOWMAN"; break; - case 81: std::get<1>(result) = "WRESTLER"; break; - case 82: std::get<1>(result) = "MASTER_WRESTLER"; break; - case 83: std::get<1>(result) = "AXEMAN"; break; - case 84: std::get<1>(result) = "MASTER_AXEMAN"; break; - case 85: std::get<1>(result) = "SWORDSMAN"; break; - case 86: std::get<1>(result) = "MASTER_SWORDSMAN"; break; - case 87: std::get<1>(result) = "MACEMAN"; break; - case 88: std::get<1>(result) = "MASTER_MACEMAN"; break; - case 89: std::get<1>(result) = "PIKEMAN"; break; - case 90: std::get<1>(result) = "MASTER_PIKEMAN"; break; - case 91: std::get<1>(result) = "BOWMAN"; break; - case 92: std::get<1>(result) = "MASTER_BOWMAN"; break; - case 93: std::get<1>(result) = "BLOWGUNMAN"; break; - case 94: std::get<1>(result) = "MASTER_BLOWGUNMAN"; break; - case 95: std::get<1>(result) = "LASHER"; break; - case 96: std::get<1>(result) = "MASTER_LASHER"; break; - case 97: std::get<1>(result) = "RECRUIT"; break; - case 98: std::get<1>(result) = "TRAINED_HUNTER"; break; - case 99: std::get<1>(result) = "TRAINED_WAR"; break; - case 100: std::get<1>(result) = "MASTER_THIEF"; break; - case 101: std::get<1>(result) = "THIEF"; break; - case 102: std::get<1>(result) = "STANDARD"; break; - case 103: std::get<1>(result) = "CHILD"; break; - case 104: std::get<1>(result) = "BABY"; break; - case 105: std::get<1>(result) = "DRUNK"; break; - case 106: std::get<1>(result) = "MONSTER_SLAYER"; break; - case 107: std::get<1>(result) = "SCOUT"; break; - case 108: std::get<1>(result) = "BEAST_HUNTER"; break; - case 109: std::get<1>(result) = "SNATCHER"; break; - case 110: std::get<1>(result) = "MERCENARY"; break; - case 111: std::get<1>(result) = "GELDER"; break; - case 112: std::get<1>(result) = "PERFORMER"; break; - case 113: std::get<1>(result) = "POET"; break; - case 114: std::get<1>(result) = "BARD"; break; - case 115: std::get<1>(result) = "DANCER"; break; - case 116: std::get<1>(result) = "SAGE"; break; - case 117: std::get<1>(result) = "SCHOLAR"; break; - case 118: std::get<1>(result) = "PHILOSOPHER"; break; - case 119: std::get<1>(result) = "MATHEMATICIAN"; break; - case 120: std::get<1>(result) = "HISTORIAN"; break; - case 121: std::get<1>(result) = "ASTRONOMER"; break; - case 122: std::get<1>(result) = "NATURALIST"; break; - case 123: std::get<1>(result) = "CHEMIST"; break; - case 124: std::get<1>(result) = "GEOGRAPHER"; break; - case 125: std::get<1>(result) = "SCRIBE"; break; - case 126: std::get<1>(result) = "PAPERMAKER"; break; - case 127: std::get<1>(result) = "BOOKBINDER"; break; - case 128: std::get<1>(result) = "TAVERN_KEEPER"; break; - case 129: std::get<1>(result) = "CRIMINAL"; break; - case 130: std::get<1>(result) = "PEDDLER"; break; - case 131: std::get<1>(result) = "PROPHET"; break; - case 132: std::get<1>(result) = "PILGRIM"; break; - case 133: std::get<1>(result) = "MONK"; break; - case 134: std::get<1>(result) = "MESSENGER"; break; - default: break; - } - return result; -} - -std::tuple get_unit_labor_category_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case -13: std::get<1>(result) = "Other"; break; - case -12: std::get<1>(result) = "Hauling"; break; - case -11: std::get<1>(result) = "Engineering"; break; - case -10: std::get<1>(result) = "Crafts"; break; - case -9: std::get<1>(result) = "Jewelry"; break; - case -8: std::get<1>(result) = "Metalsmithing"; break; - case -7: std::get<1>(result) = "Fishing"; break; - case -6: std::get<1>(result) = "Farming"; break; - case -5: std::get<1>(result) = "Healthcare"; break; - case -4: std::get<1>(result) = "Hunting"; break; - case -3: std::get<1>(result) = "Stoneworking"; break; - case -2: std::get<1>(result) = "Woodworking"; break; - case -1: std::get<1>(result) = "None"; break; - default: break; - } - return result; -} - -std::tuple get_unit_labor_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case -1: std::get<1>(result) = "NONE"; break; - case 0: std::get<1>(result) = "MINE"; break; - case 1: std::get<1>(result) = "HAUL_STONE"; break; - case 2: std::get<1>(result) = "HAUL_WOOD"; break; - case 3: std::get<1>(result) = "HAUL_BODY"; break; - case 4: std::get<1>(result) = "HAUL_FOOD"; break; - case 5: std::get<1>(result) = "HAUL_REFUSE"; break; - case 6: std::get<1>(result) = "HAUL_ITEM"; break; - case 7: std::get<1>(result) = "HAUL_FURNITURE"; break; - case 8: std::get<1>(result) = "HAUL_ANIMALS"; break; - case 9: std::get<1>(result) = "CLEAN"; break; - case 10: std::get<1>(result) = "CUTWOOD"; break; - case 11: std::get<1>(result) = "CARPENTER"; break; - case 12: std::get<1>(result) = "DETAIL"; break; - case 13: std::get<1>(result) = "MASON"; break; - case 14: std::get<1>(result) = "ARCHITECT"; break; - case 15: std::get<1>(result) = "ANIMALTRAIN"; break; - case 16: std::get<1>(result) = "ANIMALCARE"; break; - case 17: std::get<1>(result) = "DIAGNOSE"; break; - case 18: std::get<1>(result) = "SURGERY"; break; - case 19: std::get<1>(result) = "BONE_SETTING"; break; - case 20: std::get<1>(result) = "SUTURING"; break; - case 21: std::get<1>(result) = "DRESSING_WOUNDS"; break; - case 22: std::get<1>(result) = "FEED_WATER_CIVILIANS"; break; - case 23: std::get<1>(result) = "RECOVER_WOUNDED"; break; - case 24: std::get<1>(result) = "BUTCHER"; break; - case 25: std::get<1>(result) = "TRAPPER"; break; - case 26: std::get<1>(result) = "DISSECT_VERMIN"; break; - case 27: std::get<1>(result) = "LEATHER"; break; - case 28: std::get<1>(result) = "TANNER"; break; - case 29: std::get<1>(result) = "BREWER"; break; - case 30: std::get<1>(result) = "ALCHEMIST"; break; - case 31: std::get<1>(result) = "SOAP_MAKER"; break; - case 32: std::get<1>(result) = "WEAVER"; break; - case 33: std::get<1>(result) = "CLOTHESMAKER"; break; - case 34: std::get<1>(result) = "MILLER"; break; - case 35: std::get<1>(result) = "PROCESS_PLANT"; break; - case 36: std::get<1>(result) = "MAKE_CHEESE"; break; - case 37: std::get<1>(result) = "MILK"; break; - case 38: std::get<1>(result) = "COOK"; break; - case 39: std::get<1>(result) = "PLANT"; break; - case 40: std::get<1>(result) = "HERBALIST"; break; - case 41: std::get<1>(result) = "FISH"; break; - case 42: std::get<1>(result) = "CLEAN_FISH"; break; - case 43: std::get<1>(result) = "DISSECT_FISH"; break; - case 44: std::get<1>(result) = "HUNT"; break; - case 45: std::get<1>(result) = "SMELT"; break; - case 46: std::get<1>(result) = "FORGE_WEAPON"; break; - case 47: std::get<1>(result) = "FORGE_ARMOR"; break; - case 48: std::get<1>(result) = "FORGE_FURNITURE"; break; - case 49: std::get<1>(result) = "METAL_CRAFT"; break; - case 50: std::get<1>(result) = "CUT_GEM"; break; - case 51: std::get<1>(result) = "ENCRUST_GEM"; break; - case 52: std::get<1>(result) = "WOOD_CRAFT"; break; - case 53: std::get<1>(result) = "STONE_CRAFT"; break; - case 54: std::get<1>(result) = "BONE_CARVE"; break; - case 55: std::get<1>(result) = "GLASSMAKER"; break; - case 56: std::get<1>(result) = "EXTRACT_STRAND"; break; - case 57: std::get<1>(result) = "SIEGECRAFT"; break; - case 58: std::get<1>(result) = "SIEGEOPERATE"; break; - case 59: std::get<1>(result) = "BOWYER"; break; - case 60: std::get<1>(result) = "MECHANIC"; break; - case 61: std::get<1>(result) = "POTASH_MAKING"; break; - case 62: std::get<1>(result) = "LYE_MAKING"; break; - case 63: std::get<1>(result) = "DYER"; break; - case 64: std::get<1>(result) = "BURN_WOOD"; break; - case 65: std::get<1>(result) = "OPERATE_PUMP"; break; - case 66: std::get<1>(result) = "SHEARER"; break; - case 67: std::get<1>(result) = "SPINNER"; break; - case 68: std::get<1>(result) = "POTTERY"; break; - case 69: std::get<1>(result) = "GLAZING"; break; - case 70: std::get<1>(result) = "PRESSING"; break; - case 71: std::get<1>(result) = "BEEKEEPING"; break; - case 72: std::get<1>(result) = "WAX_WORKING"; break; - case 73: std::get<1>(result) = "HANDLE_VEHICLES"; break; - case 74: std::get<1>(result) = "HAUL_TRADE"; break; - case 75: std::get<1>(result) = "PULL_LEVER"; break; - case 76: std::get<1>(result) = "REMOVE_CONSTRUCTION"; break; - case 77: std::get<1>(result) = "HAUL_WATER"; break; - case 78: std::get<1>(result) = "GELD"; break; - case 79: std::get<1>(result) = "BUILD_ROAD"; break; - case 80: std::get<1>(result) = "BUILD_CONSTRUCTION"; break; - case 81: std::get<1>(result) = "PAPERMAKING"; break; - case 82: std::get<1>(result) = "BOOKBINDING"; break; - default: break; - } - return result; -} - -std::tuple get_job_skill_class_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Normal"; break; - case 1: std::get<1>(result) = "Medical"; break; - case 2: std::get<1>(result) = "Personal"; break; - case 3: std::get<1>(result) = "Social"; break; - case 4: std::get<1>(result) = "Cultural"; break; - case 5: std::get<1>(result) = "MilitaryWeapon"; break; - case 6: std::get<1>(result) = "MilitaryUnarmed"; break; - case 7: std::get<1>(result) = "MilitaryAttack"; break; - case 8: std::get<1>(result) = "MilitaryDefense"; break; - case 9: std::get<1>(result) = "MilitaryMisc"; break; - default: break; - } - return result; -} - -std::tuple get_job_skill_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case -1: std::get<1>(result) = "NONE"; break; - case 0: std::get<1>(result) = "MINING"; break; - case 1: std::get<1>(result) = "WOODCUTTING"; break; - case 2: std::get<1>(result) = "CARPENTRY"; break; - case 3: std::get<1>(result) = "DETAILSTONE"; break; - case 4: std::get<1>(result) = "MASONRY"; break; - case 5: std::get<1>(result) = "ANIMALTRAIN"; break; - case 6: std::get<1>(result) = "ANIMALCARE"; break; - case 7: std::get<1>(result) = "DISSECT_FISH"; break; - case 8: std::get<1>(result) = "DISSECT_VERMIN"; break; - case 9: std::get<1>(result) = "PROCESSFISH"; break; - case 10: std::get<1>(result) = "BUTCHER"; break; - case 11: std::get<1>(result) = "TRAPPING"; break; - case 12: std::get<1>(result) = "TANNER"; break; - case 13: std::get<1>(result) = "WEAVING"; break; - case 14: std::get<1>(result) = "BREWING"; break; - case 15: std::get<1>(result) = "ALCHEMY"; break; - case 16: std::get<1>(result) = "CLOTHESMAKING"; break; - case 17: std::get<1>(result) = "MILLING"; break; - case 18: std::get<1>(result) = "PROCESSPLANTS"; break; - case 19: std::get<1>(result) = "CHEESEMAKING"; break; - case 20: std::get<1>(result) = "MILK"; break; - case 21: std::get<1>(result) = "COOK"; break; - case 22: std::get<1>(result) = "PLANT"; break; - case 23: std::get<1>(result) = "HERBALISM"; break; - case 24: std::get<1>(result) = "FISH"; break; - case 25: std::get<1>(result) = "SMELT"; break; - case 26: std::get<1>(result) = "EXTRACT_STRAND"; break; - case 27: std::get<1>(result) = "FORGE_WEAPON"; break; - case 28: std::get<1>(result) = "FORGE_ARMOR"; break; - case 29: std::get<1>(result) = "FORGE_FURNITURE"; break; - case 30: std::get<1>(result) = "CUTGEM"; break; - case 31: std::get<1>(result) = "ENCRUSTGEM"; break; - case 32: std::get<1>(result) = "WOODCRAFT"; break; - case 33: std::get<1>(result) = "STONECRAFT"; break; - case 34: std::get<1>(result) = "METALCRAFT"; break; - case 35: std::get<1>(result) = "GLASSMAKER"; break; - case 36: std::get<1>(result) = "LEATHERWORK"; break; - case 37: std::get<1>(result) = "BONECARVE"; break; - case 38: std::get<1>(result) = "AXE"; break; - case 39: std::get<1>(result) = "SWORD"; break; - case 40: std::get<1>(result) = "DAGGER"; break; - case 41: std::get<1>(result) = "MACE"; break; - case 42: std::get<1>(result) = "HAMMER"; break; - case 43: std::get<1>(result) = "SPEAR"; break; - case 44: std::get<1>(result) = "CROSSBOW"; break; - case 45: std::get<1>(result) = "SHIELD"; break; - case 46: std::get<1>(result) = "ARMOR"; break; - case 47: std::get<1>(result) = "SIEGECRAFT"; break; - case 48: std::get<1>(result) = "SIEGEOPERATE"; break; - case 49: std::get<1>(result) = "BOWYER"; break; - case 50: std::get<1>(result) = "PIKE"; break; - case 51: std::get<1>(result) = "WHIP"; break; - case 52: std::get<1>(result) = "BOW"; break; - case 53: std::get<1>(result) = "BLOWGUN"; break; - case 54: std::get<1>(result) = "THROW"; break; - case 55: std::get<1>(result) = "MECHANICS"; break; - case 56: std::get<1>(result) = "MAGIC_NATURE"; break; - case 57: std::get<1>(result) = "SNEAK"; break; - case 58: std::get<1>(result) = "DESIGNBUILDING"; break; - case 59: std::get<1>(result) = "DRESS_WOUNDS"; break; - case 60: std::get<1>(result) = "DIAGNOSE"; break; - case 61: std::get<1>(result) = "SURGERY"; break; - case 62: std::get<1>(result) = "SET_BONE"; break; - case 63: std::get<1>(result) = "SUTURE"; break; - case 64: std::get<1>(result) = "CRUTCH_WALK"; break; - case 65: std::get<1>(result) = "WOOD_BURNING"; break; - case 66: std::get<1>(result) = "LYE_MAKING"; break; - case 67: std::get<1>(result) = "SOAP_MAKING"; break; - case 68: std::get<1>(result) = "POTASH_MAKING"; break; - case 69: std::get<1>(result) = "DYER"; break; - case 70: std::get<1>(result) = "OPERATE_PUMP"; break; - case 71: std::get<1>(result) = "SWIMMING"; break; - case 72: std::get<1>(result) = "PERSUASION"; break; - case 73: std::get<1>(result) = "NEGOTIATION"; break; - case 74: std::get<1>(result) = "JUDGING_INTENT"; break; - case 75: std::get<1>(result) = "APPRAISAL"; break; - case 76: std::get<1>(result) = "ORGANIZATION"; break; - case 77: std::get<1>(result) = "RECORD_KEEPING"; break; - case 78: std::get<1>(result) = "LYING"; break; - case 79: std::get<1>(result) = "INTIMIDATION"; break; - case 80: std::get<1>(result) = "CONVERSATION"; break; - case 81: std::get<1>(result) = "COMEDY"; break; - case 82: std::get<1>(result) = "FLATTERY"; break; - case 83: std::get<1>(result) = "CONSOLE"; break; - case 84: std::get<1>(result) = "PACIFY"; break; - case 85: std::get<1>(result) = "TRACKING"; break; - case 86: std::get<1>(result) = "KNOWLEDGE_ACQUISITION"; break; - case 87: std::get<1>(result) = "CONCENTRATION"; break; - case 88: std::get<1>(result) = "DISCIPLINE"; break; - case 89: std::get<1>(result) = "SITUATIONAL_AWARENESS"; break; - case 90: std::get<1>(result) = "WRITING"; break; - case 91: std::get<1>(result) = "PROSE"; break; - case 92: std::get<1>(result) = "POETRY"; break; - case 93: std::get<1>(result) = "READING"; break; - case 94: std::get<1>(result) = "SPEAKING"; break; - case 95: std::get<1>(result) = "COORDINATION"; break; - case 96: std::get<1>(result) = "BALANCE"; break; - case 97: std::get<1>(result) = "LEADERSHIP"; break; - case 98: std::get<1>(result) = "TEACHING"; break; - case 99: std::get<1>(result) = "MELEE_COMBAT"; break; - case 100: std::get<1>(result) = "RANGED_COMBAT"; break; - case 101: std::get<1>(result) = "WRESTLING"; break; - case 102: std::get<1>(result) = "BITE"; break; - case 103: std::get<1>(result) = "GRASP_STRIKE"; break; - case 104: std::get<1>(result) = "STANCE_STRIKE"; break; - case 105: std::get<1>(result) = "DODGING"; break; - case 106: std::get<1>(result) = "MISC_WEAPON"; break; - case 107: std::get<1>(result) = "KNAPPING"; break; - case 108: std::get<1>(result) = "MILITARY_TACTICS"; break; - case 109: std::get<1>(result) = "SHEARING"; break; - case 110: std::get<1>(result) = "SPINNING"; break; - case 111: std::get<1>(result) = "POTTERY"; break; - case 112: std::get<1>(result) = "GLAZING"; break; - case 113: std::get<1>(result) = "PRESSING"; break; - case 114: std::get<1>(result) = "BEEKEEPING"; break; - case 115: std::get<1>(result) = "WAX_WORKING"; break; - case 116: std::get<1>(result) = "CLIMBING"; break; - case 117: std::get<1>(result) = "GELD"; break; - case 118: std::get<1>(result) = "DANCE"; break; - case 119: std::get<1>(result) = "MAKE_MUSIC"; break; - case 120: std::get<1>(result) = "SING_MUSIC"; break; - case 121: std::get<1>(result) = "PLAY_KEYBOARD_INSTRUMENT"; break; - case 122: std::get<1>(result) = "PLAY_STRINGED_INSTRUMENT"; break; - case 123: std::get<1>(result) = "PLAY_WIND_INSTRUMENT"; break; - case 124: std::get<1>(result) = "PLAY_PERCUSSION_INSTRUMENT"; break; - case 125: std::get<1>(result) = "CRITICAL_THINKING"; break; - case 126: std::get<1>(result) = "LOGIC"; break; - case 127: std::get<1>(result) = "MATHEMATICS"; break; - case 128: std::get<1>(result) = "ASTRONOMY"; break; - case 129: std::get<1>(result) = "CHEMISTRY"; break; - case 130: std::get<1>(result) = "GEOGRAPHY"; break; - case 131: std::get<1>(result) = "OPTICS_ENGINEER"; break; - case 132: std::get<1>(result) = "FLUID_ENGINEER"; break; - case 133: std::get<1>(result) = "PAPERMAKING"; break; - case 134: std::get<1>(result) = "BOOKBINDING"; break; - default: break; - } - return result; -} - -std::tuple get_hauler_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Any"; break; - case 1: std::get<1>(result) = "Stone"; break; - case 2: std::get<1>(result) = "Wood"; break; - case 3: std::get<1>(result) = "Item"; break; - case 4: std::get<1>(result) = "Bin"; break; - case 5: std::get<1>(result) = "Body"; break; - case 6: std::get<1>(result) = "Food"; break; - case 7: std::get<1>(result) = "Refuse"; break; - case 8: std::get<1>(result) = "Furniture"; break; - case 9: std::get<1>(result) = "Animal"; break; - default: break; - } - return result; -} - -std::tuple get_furniture_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "FLOODGATE"; break; - case 1: std::get<1>(result) = "HATCH_COVER"; break; - case 2: std::get<1>(result) = "GRATE"; break; - case 3: std::get<1>(result) = "DOOR"; break; - case 4: std::get<1>(result) = "CATAPULTPARTS"; break; - case 5: std::get<1>(result) = "BALLISTAPARTS"; break; - case 6: std::get<1>(result) = "TRAPPARTS"; break; - case 7: std::get<1>(result) = "BED"; break; - case 8: std::get<1>(result) = "TRACTION_BENCH"; break; - case 9: std::get<1>(result) = "WINDOW"; break; - case 10: std::get<1>(result) = "CHAIR"; break; - case 11: std::get<1>(result) = "TABLE"; break; - case 12: std::get<1>(result) = "COFFIN"; break; - case 13: std::get<1>(result) = "STATUE"; break; - case 14: std::get<1>(result) = "SLAB"; break; - case 15: std::get<1>(result) = "QUERN"; break; - case 16: std::get<1>(result) = "MILLSTONE"; break; - case 17: std::get<1>(result) = "ARMORSTAND"; break; - case 18: std::get<1>(result) = "WEAPONRACK"; break; - case 19: std::get<1>(result) = "CABINET"; break; - case 20: std::get<1>(result) = "ANVIL"; break; - case 21: std::get<1>(result) = "BUCKET"; break; - case 22: std::get<1>(result) = "BIN"; break; - case 23: std::get<1>(result) = "BOX"; break; - case 24: std::get<1>(result) = "SIEGEAMMO"; break; - case 25: std::get<1>(result) = "BARREL"; break; - case 26: std::get<1>(result) = "BALLISTAARROWHEAD"; break; - case 27: std::get<1>(result) = "PIPE_SECTION"; break; - case 28: std::get<1>(result) = "FOOD_STORAGE"; break; - case 29: std::get<1>(result) = "MINECART"; break; - case 30: std::get<1>(result) = "WHEELBARROW"; break; - case 31: std::get<1>(result) = "OTHER_LARGE_TOOLS"; break; - case 32: std::get<1>(result) = "SAND_BAG"; break; - default: break; - } - return result; -} - -std::tuple get_stockpile_category_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case -1: std::get<1>(result) = "Remove"; break; - case 0: std::get<1>(result) = "Animals"; break; - case 1: std::get<1>(result) = "Food"; break; - case 2: std::get<1>(result) = "Furniture"; break; - case 3: std::get<1>(result) = "Corpses"; break; - case 4: std::get<1>(result) = "Refuse"; break; - case 5: std::get<1>(result) = "Stone"; break; - case 6: std::get<1>(result) = "Ore"; break; - case 7: std::get<1>(result) = "Ammo"; break; - case 8: std::get<1>(result) = "Coins"; break; - case 9: std::get<1>(result) = "Bars"; break; - case 10: std::get<1>(result) = "Gems"; break; - case 11: std::get<1>(result) = "Goods"; break; - case 12: std::get<1>(result) = "Leather"; break; - case 13: std::get<1>(result) = "Cloth"; break; - case 14: std::get<1>(result) = "Wood"; break; - case 15: std::get<1>(result) = "Weapons"; break; - case 16: std::get<1>(result) = "Armor"; break; - case 17: std::get<1>(result) = "Sheets"; break; - case 18: std::get<1>(result) = "Custom"; break; - default: break; - } - return result; -} - -std::tuple get_stockpile_list_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Animals"; break; - case 1: std::get<1>(result) = "Food"; break; - case 2: std::get<1>(result) = "FoodMeat"; break; - case 3: std::get<1>(result) = "FoodFish"; break; - case 4: std::get<1>(result) = "FoodUnpreparedFish"; break; - case 5: std::get<1>(result) = "FoodEgg"; break; - case 6: std::get<1>(result) = "FoodPlants"; break; - case 7: std::get<1>(result) = "FoodDrinkPlant"; break; - case 8: std::get<1>(result) = "FoodDrinkAnimal"; break; - case 9: std::get<1>(result) = "FoodCheesePlant"; break; - case 10: std::get<1>(result) = "FoodCheeseAnimal"; break; - case 11: std::get<1>(result) = "FoodSeeds"; break; - case 12: std::get<1>(result) = "FoodLeaves"; break; - case 13: std::get<1>(result) = "FoodMilledPlant"; break; - case 14: std::get<1>(result) = "FoodBoneMeal"; break; - case 15: std::get<1>(result) = "FoodFat"; break; - case 16: std::get<1>(result) = "FoodPaste"; break; - case 17: std::get<1>(result) = "FoodPressedMaterial"; break; - case 18: std::get<1>(result) = "FoodExtractPlant"; break; - case 19: std::get<1>(result) = "FoodExtractAnimal"; break; - case 20: std::get<1>(result) = "FoodMiscLiquid"; break; - case 21: std::get<1>(result) = "Furniture"; break; - case 22: std::get<1>(result) = "FurnitureType"; break; - case 23: std::get<1>(result) = "FurnitureStoneClay"; break; - case 24: std::get<1>(result) = "FurnitureMetal"; break; - case 25: std::get<1>(result) = "FurnitureOtherMaterials"; break; - case 26: std::get<1>(result) = "FurnitureCoreQuality"; break; - case 27: std::get<1>(result) = "FurnitureTotalQuality"; break; - case 28: std::get<1>(result) = "Corpses"; break; - case 29: std::get<1>(result) = "Refuse"; break; - case 30: std::get<1>(result) = "RefuseItems"; break; - case 31: std::get<1>(result) = "RefuseCorpses"; break; - case 32: std::get<1>(result) = "RefuseParts"; break; - case 33: std::get<1>(result) = "RefuseSkulls"; break; - case 34: std::get<1>(result) = "RefuseBones"; break; - case 35: std::get<1>(result) = "RefuseShells"; break; - case 36: std::get<1>(result) = "RefuseTeeth"; break; - case 37: std::get<1>(result) = "RefuseHorns"; break; - case 38: std::get<1>(result) = "RefuseHair"; break; - case 39: std::get<1>(result) = "Stone"; break; - case 40: std::get<1>(result) = "StoneOres"; break; - case 41: std::get<1>(result) = "StoneEconomic"; break; - case 42: std::get<1>(result) = "StoneOther"; break; - case 43: std::get<1>(result) = "StoneClay"; break; - case 44: std::get<1>(result) = "Ammo"; break; - case 45: std::get<1>(result) = "AmmoType"; break; - case 46: std::get<1>(result) = "AmmoMetal"; break; - case 47: std::get<1>(result) = "AmmoOther"; break; - case 48: std::get<1>(result) = "AmmoCoreQuality"; break; - case 49: std::get<1>(result) = "AmmoTotalQuality"; break; - case 50: std::get<1>(result) = "Coins"; break; - case 51: std::get<1>(result) = "BarsBlocks"; break; - case 52: std::get<1>(result) = "BarsMetal"; break; - case 53: std::get<1>(result) = "BarsOther"; break; - case 54: std::get<1>(result) = "BlocksStone"; break; - case 55: std::get<1>(result) = "BlocksMetal"; break; - case 56: std::get<1>(result) = "BlocksOther"; break; - case 57: std::get<1>(result) = "Gems"; break; - case 58: std::get<1>(result) = "RoughGem"; break; - case 59: std::get<1>(result) = "RoughGlass"; break; - case 60: std::get<1>(result) = "CutGem"; break; - case 61: std::get<1>(result) = "CutGlass"; break; - case 62: std::get<1>(result) = "CutStone"; break; - case 63: std::get<1>(result) = "Goods"; break; - case 64: std::get<1>(result) = "GoodsType"; break; - case 65: std::get<1>(result) = "GoodsStone"; break; - case 66: std::get<1>(result) = "GoodsMetal"; break; - case 67: std::get<1>(result) = "GoodsGem"; break; - case 68: std::get<1>(result) = "GoodsOther"; break; - case 69: std::get<1>(result) = "GoodsCoreQuality"; break; - case 70: std::get<1>(result) = "GoodsTotalQuality"; break; - case 71: std::get<1>(result) = "Leather"; break; - case 72: std::get<1>(result) = "Cloth"; break; - case 73: std::get<1>(result) = "ThreadSilk"; break; - case 74: std::get<1>(result) = "ThreadPlant"; break; - case 75: std::get<1>(result) = "ThreadYarn"; break; - case 76: std::get<1>(result) = "ThreadMetal"; break; - case 77: std::get<1>(result) = "ClothSilk"; break; - case 78: std::get<1>(result) = "ClothPlant"; break; - case 79: std::get<1>(result) = "ClothYarn"; break; - case 80: std::get<1>(result) = "ClothMetal"; break; - case 81: std::get<1>(result) = "Wood"; break; - case 82: std::get<1>(result) = "Weapons"; break; - case 83: std::get<1>(result) = "WeaponsType"; break; - case 84: std::get<1>(result) = "WeaponsTrapcomp"; break; - case 85: std::get<1>(result) = "WeaponsMetal"; break; - case 86: std::get<1>(result) = "WeaponsStone"; break; - case 87: std::get<1>(result) = "WeaponsOther"; break; - case 88: std::get<1>(result) = "WeaponsCoreQuality"; break; - case 89: std::get<1>(result) = "WeaponsTotalQuality"; break; - case 90: std::get<1>(result) = "Armor"; break; - case 91: std::get<1>(result) = "ArmorBody"; break; - case 92: std::get<1>(result) = "ArmorHead"; break; - case 93: std::get<1>(result) = "ArmorFeet"; break; - case 94: std::get<1>(result) = "ArmorHands"; break; - case 95: std::get<1>(result) = "ArmorLegs"; break; - case 96: std::get<1>(result) = "ArmorShield"; break; - case 97: std::get<1>(result) = "ArmorMetal"; break; - case 98: std::get<1>(result) = "ArmorOther"; break; - case 99: std::get<1>(result) = "ArmorCoreQuality"; break; - case 100: std::get<1>(result) = "ArmorTotalQuality"; break; - case 101: std::get<1>(result) = "Sheet"; break; - case 102: std::get<1>(result) = "SheetPaper"; break; - case 103: std::get<1>(result) = "SheetParchment"; break; - case 104: std::get<1>(result) = "AdditionalOptions"; break; - default: break; - } - return result; -} - -std::tuple get_creature_interaction_effect_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "PAIN"; break; - case 1: std::get<1>(result) = "SWELLING"; break; - case 2: std::get<1>(result) = "OOZING"; break; - case 3: std::get<1>(result) = "BRUISING"; break; - case 4: std::get<1>(result) = "BLISTERS"; break; - case 5: std::get<1>(result) = "NUMBNESS"; break; - case 6: std::get<1>(result) = "PARALYSIS"; break; - case 7: std::get<1>(result) = "FEVER"; break; - case 8: std::get<1>(result) = "BLEEDING"; break; - case 9: std::get<1>(result) = "COUGH_BLOOD"; break; - case 10: std::get<1>(result) = "VOMIT_BLOOD"; break; - case 11: std::get<1>(result) = "NAUSEA"; break; - case 12: std::get<1>(result) = "UNCONSCIOUSNESS"; break; - case 13: std::get<1>(result) = "NECROSIS"; break; - case 14: std::get<1>(result) = "IMPAIR_FUNCTION"; break; - case 15: std::get<1>(result) = "DROWSINESS"; break; - case 16: std::get<1>(result) = "DIZZINESS"; break; - case 17: std::get<1>(result) = "ADD_TAG"; break; - case 18: std::get<1>(result) = "REMOVE_TAG"; break; - case 19: std::get<1>(result) = "DISPLAY_TILE"; break; - case 20: std::get<1>(result) = "FLASH_TILE"; break; - case 21: std::get<1>(result) = "SPEED_CHANGE"; break; - case 22: std::get<1>(result) = "CAN_DO_INTERACTION"; break; - case 23: std::get<1>(result) = "SKILL_ROLL_ADJUST"; break; - case 24: std::get<1>(result) = "BODY_TRANSFORMATION"; break; - case 25: std::get<1>(result) = "PHYS_ATT_CHANGE"; break; - case 26: std::get<1>(result) = "MENT_ATT_CHANGE"; break; - case 27: std::get<1>(result) = "MATERIAL_FORCE_MULTIPLIER"; break; - case 28: std::get<1>(result) = "BODY_MAT_INTERACTION"; break; - case 29: std::get<1>(result) = "BODY_APPEARANCE_MODIFIER"; break; - case 30: std::get<1>(result) = "BP_APPEARANCE_MODIFIER"; break; - case 31: std::get<1>(result) = "DISPLAY_NAME"; break; - case 32: std::get<1>(result) = "SENSE_CREATURE_CLASS"; break; - case 33: std::get<1>(result) = "FEEL_EMOTION"; break; - case 34: std::get<1>(result) = "CHANGE_PERSONALITY"; break; - case 35: std::get<1>(result) = "ERRATIC_BEHAVIOR"; break; - default: break; - } - return result; -} - -std::tuple get_creature_interaction_effect_target_mode_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "BY_TYPE"; break; - case 1: std::get<1>(result) = "BY_TOKEN"; break; - case 2: std::get<1>(result) = "BY_CATEGORY"; break; - default: break; - } - return result; -} - -std::tuple get_tiletype_shape_basic_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case -1: std::get<1>(result) = "None"; break; - case 0: std::get<1>(result) = "Open"; break; - case 1: std::get<1>(result) = "Floor"; break; - case 2: std::get<1>(result) = "Ramp"; break; - case 3: std::get<1>(result) = "Wall"; break; - case 4: std::get<1>(result) = "Stair"; break; - default: break; - } - return result; -} - -std::tuple get_tiletype_shape_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case -1: std::get<1>(result) = "NONE"; break; - case 0: std::get<1>(result) = "EMPTY"; break; - case 1: std::get<1>(result) = "FLOOR"; break; - case 2: std::get<1>(result) = "BOULDER"; break; - case 3: std::get<1>(result) = "PEBBLES"; break; - case 4: std::get<1>(result) = "WALL"; break; - case 5: std::get<1>(result) = "FORTIFICATION"; break; - case 6: std::get<1>(result) = "STAIR_UP"; break; - case 7: std::get<1>(result) = "STAIR_DOWN"; break; - case 8: std::get<1>(result) = "STAIR_UPDOWN"; break; - case 9: std::get<1>(result) = "RAMP"; break; - case 10: std::get<1>(result) = "RAMP_TOP"; break; - case 11: std::get<1>(result) = "BROOK_BED"; break; - case 12: std::get<1>(result) = "BROOK_TOP"; break; - case 13: std::get<1>(result) = "BRANCH"; break; - case 14: std::get<1>(result) = "TRUNK_BRANCH"; break; - case 15: std::get<1>(result) = "TWIG"; break; - case 16: std::get<1>(result) = "SAPLING"; break; - case 17: std::get<1>(result) = "SHRUB"; break; - case 18: std::get<1>(result) = "ENDLESS_PIT"; break; - default: break; - } - return result; -} - -std::tuple get_tiletype_material_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case -1: std::get<1>(result) = "NONE"; break; - case 0: std::get<1>(result) = "AIR"; break; - case 1: std::get<1>(result) = "SOIL"; break; - case 2: std::get<1>(result) = "STONE"; break; - case 3: std::get<1>(result) = "FEATURE"; break; - case 4: std::get<1>(result) = "LAVA_STONE"; break; - case 5: std::get<1>(result) = "MINERAL"; break; - case 6: std::get<1>(result) = "FROZEN_LIQUID"; break; - case 7: std::get<1>(result) = "CONSTRUCTION"; break; - case 8: std::get<1>(result) = "GRASS_LIGHT"; break; - case 9: std::get<1>(result) = "GRASS_DARK"; break; - case 10: std::get<1>(result) = "GRASS_DRY"; break; - case 11: std::get<1>(result) = "GRASS_DEAD"; break; - case 12: std::get<1>(result) = "PLANT"; break; - case 13: std::get<1>(result) = "HFS"; break; - case 14: std::get<1>(result) = "CAMPFIRE"; break; - case 15: std::get<1>(result) = "FIRE"; break; - case 16: std::get<1>(result) = "ASHES"; break; - case 17: std::get<1>(result) = "MAGMA"; break; - case 18: std::get<1>(result) = "DRIFTWOOD"; break; - case 19: std::get<1>(result) = "POOL"; break; - case 20: std::get<1>(result) = "BROOK"; break; - case 21: std::get<1>(result) = "RIVER"; break; - case 22: std::get<1>(result) = "ROOT"; break; - case 23: std::get<1>(result) = "TREE"; break; - case 24: std::get<1>(result) = "MUSHROOM"; break; - case 25: std::get<1>(result) = "UNDERWORLD_GATE"; break; - default: break; - } - return result; -} - -std::tuple get_tiletype_variant_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case -1: std::get<1>(result) = "NONE"; break; - case 0: std::get<1>(result) = "VAR_1"; break; - case 1: std::get<1>(result) = "VAR_2"; break; - case 2: std::get<1>(result) = "VAR_3"; break; - case 3: std::get<1>(result) = "VAR_4"; break; - default: break; - } - return result; -} - -std::tuple get_tiletype_special_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case -1: std::get<1>(result) = "NONE"; break; - case 0: std::get<1>(result) = "NORMAL"; break; - case 1: std::get<1>(result) = "RIVER_SOURCE"; break; - case 2: std::get<1>(result) = "WATERFALL"; break; - case 3: std::get<1>(result) = "SMOOTH"; break; - case 4: std::get<1>(result) = "FURROWED"; break; - case 5: std::get<1>(result) = "WET"; break; - case 6: std::get<1>(result) = "DEAD"; break; - case 7: std::get<1>(result) = "WORN_1"; break; - case 8: std::get<1>(result) = "WORN_2"; break; - case 9: std::get<1>(result) = "WORN_3"; break; - case 10: std::get<1>(result) = "TRACK"; break; - case 11: std::get<1>(result) = "SMOOTH_DEAD"; break; - default: break; - } - return result; -} - -std::tuple get_tiletype_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Void"; break; - case 1: std::get<1>(result) = "RampTop"; break; - case 2: std::get<1>(result) = "MurkyPool"; break; - case 3: std::get<1>(result) = "MurkyPoolRamp"; break; - case 4: std::get<1>(result) = "UnderworldGateStairU"; break; - case 5: std::get<1>(result) = "UnderworldGateStairD"; break; - case 6: std::get<1>(result) = "UnderworldGateStairUD"; break; - case 7: std::get<1>(result) = "anon_1"; break; - case 8: std::get<1>(result) = "anon_2"; break; - case 9: std::get<1>(result) = "anon_3"; break; - case 10: std::get<1>(result) = "anon_4"; break; - case 11: std::get<1>(result) = "anon_5"; break; - case 12: std::get<1>(result) = "anon_6"; break; - case 13: std::get<1>(result) = "anon_7"; break; - case 14: std::get<1>(result) = "anon_8"; break; - case 15: std::get<1>(result) = "anon_9"; break; - case 16: std::get<1>(result) = "anon_10"; break; - case 17: std::get<1>(result) = "anon_11"; break; - case 18: std::get<1>(result) = "anon_12"; break; - case 19: std::get<1>(result) = "Driftwood"; break; - case 20: std::get<1>(result) = "anon_13"; break; - case 21: std::get<1>(result) = "anon_14"; break; - case 22: std::get<1>(result) = "anon_15"; break; - case 23: std::get<1>(result) = "anon_16"; break; - case 24: std::get<1>(result) = "anon_17"; break; - case 25: std::get<1>(result) = "FrozenStairUD"; break; - case 26: std::get<1>(result) = "FrozenStairD"; break; - case 27: std::get<1>(result) = "FrozenStairU"; break; - case 28: std::get<1>(result) = "anon_18"; break; - case 29: std::get<1>(result) = "anon_19"; break; - case 30: std::get<1>(result) = "anon_20"; break; - case 31: std::get<1>(result) = "anon_21"; break; - case 32: std::get<1>(result) = "OpenSpace"; break; - case 33: std::get<1>(result) = "anon_22"; break; - case 34: std::get<1>(result) = "Shrub"; break; - case 35: std::get<1>(result) = "Chasm"; break; - case 36: std::get<1>(result) = "LavaStairUD"; break; - case 37: std::get<1>(result) = "LavaStairD"; break; - case 38: std::get<1>(result) = "LavaStairU"; break; - case 39: std::get<1>(result) = "SoilStairUD"; break; - case 40: std::get<1>(result) = "SoilStairD"; break; - case 41: std::get<1>(result) = "SoilStairU"; break; - case 42: std::get<1>(result) = "EeriePit"; break; - case 43: std::get<1>(result) = "StoneFloorSmooth"; break; - case 44: std::get<1>(result) = "LavaFloorSmooth"; break; - case 45: std::get<1>(result) = "FeatureFloorSmooth"; break; - case 46: std::get<1>(result) = "MineralFloorSmooth"; break; - case 47: std::get<1>(result) = "FrozenFloorSmooth"; break; - case 48: std::get<1>(result) = "anon_23"; break; - case 49: std::get<1>(result) = "Grass1StairUD"; break; - case 50: std::get<1>(result) = "Grass1StairD"; break; - case 51: std::get<1>(result) = "Grass1StairU"; break; - case 52: std::get<1>(result) = "Grass2StairUD"; break; - case 53: std::get<1>(result) = "Grass2StairD"; break; - case 54: std::get<1>(result) = "Grass2StairU"; break; - case 55: std::get<1>(result) = "StoneStairUD"; break; - case 56: std::get<1>(result) = "StoneStairD"; break; - case 57: std::get<1>(result) = "StoneStairU"; break; - case 58: std::get<1>(result) = "MineralStairUD"; break; - case 59: std::get<1>(result) = "MineralStairD"; break; - case 60: std::get<1>(result) = "MineralStairU"; break; - case 61: std::get<1>(result) = "FeatureStairUD"; break; - case 62: std::get<1>(result) = "FeatureStairD"; break; - case 63: std::get<1>(result) = "FeatureStairU"; break; - case 64: std::get<1>(result) = "anon_24"; break; - case 65: std::get<1>(result) = "StoneFortification"; break; - case 66: std::get<1>(result) = "anon_25"; break; - case 67: std::get<1>(result) = "Campfire"; break; - case 68: std::get<1>(result) = "anon_26"; break; - case 69: std::get<1>(result) = "anon_27"; break; - case 70: std::get<1>(result) = "Fire"; break; - case 71: std::get<1>(result) = "BurningTreeTrunk"; break; - case 72: std::get<1>(result) = "BurningTreeBranches"; break; - case 73: std::get<1>(result) = "BurningTreeTwigs"; break; - case 74: std::get<1>(result) = "BurningTreeCapWall"; break; - case 75: std::get<1>(result) = "BurningTreeCapRamp"; break; - case 76: std::get<1>(result) = "BurningTreeCapFloor"; break; - case 77: std::get<1>(result) = "anon_28"; break; - case 78: std::get<1>(result) = "anon_29"; break; - case 79: std::get<1>(result) = "StonePillar"; break; - case 80: std::get<1>(result) = "LavaPillar"; break; - case 81: std::get<1>(result) = "FeaturePillar"; break; - case 82: std::get<1>(result) = "MineralPillar"; break; - case 83: std::get<1>(result) = "FrozenPillar"; break; - case 84: std::get<1>(result) = "anon_30"; break; - case 85: std::get<1>(result) = "anon_31"; break; - case 86: std::get<1>(result) = "anon_32"; break; - case 87: std::get<1>(result) = "anon_33"; break; - case 88: std::get<1>(result) = "anon_34"; break; - case 89: std::get<1>(result) = "Waterfall"; break; - case 90: std::get<1>(result) = "RiverSource"; break; - case 91: std::get<1>(result) = "TreeRootSloping"; break; - case 92: std::get<1>(result) = "TreeRoots"; break; - case 93: std::get<1>(result) = "TreeTrunkPillar"; break; - case 94: std::get<1>(result) = "TreeTrunkSloping"; break; - case 95: std::get<1>(result) = "TreeTrunkN"; break; - case 96: std::get<1>(result) = "TreeTrunkS"; break; - case 97: std::get<1>(result) = "TreeTrunkE"; break; - case 98: std::get<1>(result) = "TreeTrunkW"; break; - case 99: std::get<1>(result) = "TreeTrunkNW"; break; - case 100: std::get<1>(result) = "TreeTrunkNE"; break; - case 101: std::get<1>(result) = "TreeTrunkSW"; break; - case 102: std::get<1>(result) = "TreeTrunkSE"; break; - case 103: std::get<1>(result) = "TreeTrunkBranchN"; break; - case 104: std::get<1>(result) = "TreeTrunkBranchS"; break; - case 105: std::get<1>(result) = "TreeTrunkBranchE"; break; - case 106: std::get<1>(result) = "TreeTrunkBranchW"; break; - case 107: std::get<1>(result) = "TreeBranchNS"; break; - case 108: std::get<1>(result) = "TreeBranchEW"; break; - case 109: std::get<1>(result) = "TreeBranchesSmooth"; break; - case 110: std::get<1>(result) = "TreeDeadBranchesSmooth"; break; - case 111: std::get<1>(result) = "TreeBranchNW"; break; - case 112: std::get<1>(result) = "TreeBranchNE"; break; - case 113: std::get<1>(result) = "TreeBranchSW"; break; - case 114: std::get<1>(result) = "TreeBranchSE"; break; - case 115: std::get<1>(result) = "TreeBranches"; break; - case 116: std::get<1>(result) = "TreeTwigs"; break; - case 117: std::get<1>(result) = "TreeCapRamp"; break; - case 118: std::get<1>(result) = "TreeCapPillar"; break; - case 119: std::get<1>(result) = "TreeCapWallN"; break; - case 120: std::get<1>(result) = "TreeCapWallS"; break; - case 121: std::get<1>(result) = "TreeCapWallE"; break; - case 122: std::get<1>(result) = "TreeCapWallW"; break; - case 123: std::get<1>(result) = "TreeCapWallNW"; break; - case 124: std::get<1>(result) = "TreeCapWallNE"; break; - case 125: std::get<1>(result) = "TreeCapWallSW"; break; - case 126: std::get<1>(result) = "TreeCapWallSE"; break; - case 127: std::get<1>(result) = "TreeCapFloor1"; break; - case 128: std::get<1>(result) = "TreeCapFloor2"; break; - case 129: std::get<1>(result) = "TreeCapFloor3"; break; - case 130: std::get<1>(result) = "TreeCapFloor4"; break; - case 131: std::get<1>(result) = "TreeDeadRootSloping"; break; - case 132: std::get<1>(result) = "TreeDeadRoots"; break; - case 133: std::get<1>(result) = "TreeDeadTrunkPillar"; break; - case 134: std::get<1>(result) = "TreeDeadTrunkSloping"; break; - case 135: std::get<1>(result) = "TreeDeadTrunkN"; break; - case 136: std::get<1>(result) = "TreeDeadTrunkS"; break; - case 137: std::get<1>(result) = "TreeDeadTrunkE"; break; - case 138: std::get<1>(result) = "TreeDeadTrunkW"; break; - case 139: std::get<1>(result) = "TreeDeadTrunkNW"; break; - case 140: std::get<1>(result) = "TreeDeadTrunkNE"; break; - case 141: std::get<1>(result) = "TreeDeadTrunkSW"; break; - case 142: std::get<1>(result) = "TreeDeadTrunkSE"; break; - case 143: std::get<1>(result) = "TreeDeadTrunkBranchN"; break; - case 144: std::get<1>(result) = "TreeDeadTrunkBranchS"; break; - case 145: std::get<1>(result) = "TreeDeadTrunkBranchE"; break; - case 146: std::get<1>(result) = "TreeDeadTrunkBranchW"; break; - case 147: std::get<1>(result) = "TreeDeadBranchNS"; break; - case 148: std::get<1>(result) = "TreeDeadBranchEW"; break; - case 149: std::get<1>(result) = "anon_35"; break; - case 150: std::get<1>(result) = "anon_36"; break; - case 151: std::get<1>(result) = "TreeDeadBranchNW"; break; - case 152: std::get<1>(result) = "TreeDeadBranchNE"; break; - case 153: std::get<1>(result) = "TreeDeadBranchSW"; break; - case 154: std::get<1>(result) = "TreeDeadBranchSE"; break; - case 155: std::get<1>(result) = "TreeDeadBranches"; break; - case 156: std::get<1>(result) = "TreeDeadTwigs"; break; - case 157: std::get<1>(result) = "TreeDeadCapRamp"; break; - case 158: std::get<1>(result) = "TreeDeadCapPillar"; break; - case 159: std::get<1>(result) = "TreeDeadCapWallN"; break; - case 160: std::get<1>(result) = "TreeDeadCapWallS"; break; - case 161: std::get<1>(result) = "TreeDeadCapWallE"; break; - case 162: std::get<1>(result) = "TreeDeadCapWallW"; break; - case 163: std::get<1>(result) = "TreeDeadCapWallNW"; break; - case 164: std::get<1>(result) = "TreeDeadCapWallNE"; break; - case 165: std::get<1>(result) = "TreeDeadCapWallSW"; break; - case 166: std::get<1>(result) = "TreeDeadCapWallSE"; break; - case 167: std::get<1>(result) = "TreeDeadCapFloor1"; break; - case 168: std::get<1>(result) = "TreeDeadCapFloor2"; break; - case 169: std::get<1>(result) = "TreeDeadCapFloor3"; break; - case 170: std::get<1>(result) = "TreeDeadCapFloor4"; break; - case 171: std::get<1>(result) = "anon_37"; break; - case 172: std::get<1>(result) = "StoneWallWorn1"; break; - case 173: std::get<1>(result) = "StoneWallWorn2"; break; - case 174: std::get<1>(result) = "StoneWallWorn3"; break; - case 175: std::get<1>(result) = "TreeBranchNSE"; break; - case 176: std::get<1>(result) = "TreeBranchNSW"; break; - case 177: std::get<1>(result) = "TreeBranchNEW"; break; - case 178: std::get<1>(result) = "TreeBranchSEW"; break; - case 179: std::get<1>(result) = "TreeBranchNSEW"; break; - case 180: std::get<1>(result) = "TreeDeadBranchNSE"; break; - case 181: std::get<1>(result) = "TreeDeadBranchNSW"; break; - case 182: std::get<1>(result) = "TreeDeadBranchNEW"; break; - case 183: std::get<1>(result) = "TreeDeadBranchSEW"; break; - case 184: std::get<1>(result) = "TreeDeadBranchNSEW"; break; - case 185: std::get<1>(result) = "TreeTrunkNSE"; break; - case 186: std::get<1>(result) = "TreeTrunkNSW"; break; - case 187: std::get<1>(result) = "TreeTrunkNEW"; break; - case 188: std::get<1>(result) = "TreeTrunkSEW"; break; - case 189: std::get<1>(result) = "TreeTrunkNS"; break; - case 190: std::get<1>(result) = "TreeTrunkEW"; break; - case 191: std::get<1>(result) = "TreeTrunkNSEW"; break; - case 192: std::get<1>(result) = "TreeTrunkInterior"; break; - case 193: std::get<1>(result) = "TreeDeadTrunkNSE"; break; - case 194: std::get<1>(result) = "TreeDeadTrunkNSW"; break; - case 195: std::get<1>(result) = "TreeDeadTrunkNEW"; break; - case 196: std::get<1>(result) = "TreeDeadTrunkSEW"; break; - case 197: std::get<1>(result) = "TreeDeadTrunkNS"; break; - case 198: std::get<1>(result) = "TreeDeadTrunkEW"; break; - case 199: std::get<1>(result) = "TreeDeadTrunkNSEW"; break; - case 200: std::get<1>(result) = "TreeDeadTrunkInterior"; break; - case 201: std::get<1>(result) = "anon_38"; break; - case 202: std::get<1>(result) = "anon_39"; break; - case 203: std::get<1>(result) = "anon_40"; break; - case 204: std::get<1>(result) = "anon_41"; break; - case 205: std::get<1>(result) = "anon_42"; break; - case 206: std::get<1>(result) = "anon_43"; break; - case 207: std::get<1>(result) = "anon_44"; break; - case 208: std::get<1>(result) = "anon_45"; break; - case 209: std::get<1>(result) = "anon_46"; break; - case 210: std::get<1>(result) = "anon_47"; break; - case 211: std::get<1>(result) = "anon_48"; break; - case 212: std::get<1>(result) = "anon_49"; break; - case 213: std::get<1>(result) = "anon_50"; break; - case 214: std::get<1>(result) = "anon_51"; break; - case 215: std::get<1>(result) = "StoneWall"; break; - case 216: std::get<1>(result) = "anon_52"; break; - case 217: std::get<1>(result) = "anon_53"; break; - case 218: std::get<1>(result) = "anon_54"; break; - case 219: std::get<1>(result) = "anon_55"; break; - case 220: std::get<1>(result) = "anon_56"; break; - case 221: std::get<1>(result) = "anon_57"; break; - case 222: std::get<1>(result) = "anon_58"; break; - case 223: std::get<1>(result) = "anon_59"; break; - case 224: std::get<1>(result) = "anon_60"; break; - case 225: std::get<1>(result) = "anon_61"; break; - case 226: std::get<1>(result) = "anon_62"; break; - case 227: std::get<1>(result) = "Sapling"; break; - case 228: std::get<1>(result) = "anon_63"; break; - case 229: std::get<1>(result) = "GrassDryRamp"; break; - case 230: std::get<1>(result) = "GrassDeadRamp"; break; - case 231: std::get<1>(result) = "GrassLightRamp"; break; - case 232: std::get<1>(result) = "GrassDarkRamp"; break; - case 233: std::get<1>(result) = "StoneRamp"; break; - case 234: std::get<1>(result) = "LavaRamp"; break; - case 235: std::get<1>(result) = "FeatureRamp"; break; - case 236: std::get<1>(result) = "MineralRamp"; break; - case 237: std::get<1>(result) = "SoilRamp"; break; - case 238: std::get<1>(result) = "Ashes1"; break; - case 239: std::get<1>(result) = "Ashes2"; break; - case 240: std::get<1>(result) = "Ashes3"; break; - case 241: std::get<1>(result) = "FrozenRamp"; break; - case 242: std::get<1>(result) = "anon_64"; break; - case 243: std::get<1>(result) = "anon_65"; break; - case 244: std::get<1>(result) = "anon_66"; break; - case 245: std::get<1>(result) = "anon_67"; break; - case 246: std::get<1>(result) = "anon_68"; break; - case 247: std::get<1>(result) = "anon_69"; break; - case 248: std::get<1>(result) = "anon_70"; break; - case 249: std::get<1>(result) = "anon_71"; break; - case 250: std::get<1>(result) = "anon_72"; break; - case 251: std::get<1>(result) = "anon_73"; break; - case 252: std::get<1>(result) = "anon_74"; break; - case 253: std::get<1>(result) = "anon_75"; break; - case 254: std::get<1>(result) = "FrozenFloor2"; break; - case 255: std::get<1>(result) = "FrozenFloor3"; break; - case 256: std::get<1>(result) = "FrozenFloor4"; break; - case 257: std::get<1>(result) = "FurrowedSoil"; break; - case 258: std::get<1>(result) = "FrozenFloor1"; break; - case 259: std::get<1>(result) = "SemiMoltenRock"; break; - case 260: std::get<1>(result) = "MagmaFlow"; break; - case 261: std::get<1>(result) = "SoilWall"; break; - case 262: std::get<1>(result) = "GlowingBarrier"; break; - case 263: std::get<1>(result) = "GlowingFloor"; break; - case 264: std::get<1>(result) = "anon_76"; break; - case 265: std::get<1>(result) = "LavaWallSmoothRD2"; break; - case 266: std::get<1>(result) = "LavaWallSmoothR2D"; break; - case 267: std::get<1>(result) = "LavaWallSmoothR2U"; break; - case 268: std::get<1>(result) = "LavaWallSmoothRU2"; break; - case 269: std::get<1>(result) = "LavaWallSmoothL2U"; break; - case 270: std::get<1>(result) = "LavaWallSmoothLU2"; break; - case 271: std::get<1>(result) = "LavaWallSmoothL2D"; break; - case 272: std::get<1>(result) = "LavaWallSmoothLD2"; break; - case 273: std::get<1>(result) = "LavaWallSmoothLRUD"; break; - case 274: std::get<1>(result) = "LavaWallSmoothRUD"; break; - case 275: std::get<1>(result) = "LavaWallSmoothLRD"; break; - case 276: std::get<1>(result) = "LavaWallSmoothLRU"; break; - case 277: std::get<1>(result) = "LavaWallSmoothLUD"; break; - case 278: std::get<1>(result) = "LavaWallSmoothRD"; break; - case 279: std::get<1>(result) = "LavaWallSmoothRU"; break; - case 280: std::get<1>(result) = "LavaWallSmoothLU"; break; - case 281: std::get<1>(result) = "LavaWallSmoothLD"; break; - case 282: std::get<1>(result) = "LavaWallSmoothUD"; break; - case 283: std::get<1>(result) = "LavaWallSmoothLR"; break; - case 284: std::get<1>(result) = "FeatureWallSmoothRD2"; break; - case 285: std::get<1>(result) = "FeatureWallSmoothR2D"; break; - case 286: std::get<1>(result) = "FeatureWallSmoothR2U"; break; - case 287: std::get<1>(result) = "FeatureWallSmoothRU2"; break; - case 288: std::get<1>(result) = "FeatureWallSmoothL2U"; break; - case 289: std::get<1>(result) = "FeatureWallSmoothLU2"; break; - case 290: std::get<1>(result) = "FeatureWallSmoothL2D"; break; - case 291: std::get<1>(result) = "FeatureWallSmoothLD2"; break; - case 292: std::get<1>(result) = "FeatureWallSmoothLRUD"; break; - case 293: std::get<1>(result) = "FeatureWallSmoothRUD"; break; - case 294: std::get<1>(result) = "FeatureWallSmoothLRD"; break; - case 295: std::get<1>(result) = "FeatureWallSmoothLRU"; break; - case 296: std::get<1>(result) = "FeatureWallSmoothLUD"; break; - case 297: std::get<1>(result) = "FeatureWallSmoothRD"; break; - case 298: std::get<1>(result) = "FeatureWallSmoothRU"; break; - case 299: std::get<1>(result) = "FeatureWallSmoothLU"; break; - case 300: std::get<1>(result) = "FeatureWallSmoothLD"; break; - case 301: std::get<1>(result) = "FeatureWallSmoothUD"; break; - case 302: std::get<1>(result) = "FeatureWallSmoothLR"; break; - case 303: std::get<1>(result) = "StoneWallSmoothRD2"; break; - case 304: std::get<1>(result) = "StoneWallSmoothR2D"; break; - case 305: std::get<1>(result) = "StoneWallSmoothR2U"; break; - case 306: std::get<1>(result) = "StoneWallSmoothRU2"; break; - case 307: std::get<1>(result) = "StoneWallSmoothL2U"; break; - case 308: std::get<1>(result) = "StoneWallSmoothLU2"; break; - case 309: std::get<1>(result) = "StoneWallSmoothL2D"; break; - case 310: std::get<1>(result) = "StoneWallSmoothLD2"; break; - case 311: std::get<1>(result) = "StoneWallSmoothLRUD"; break; - case 312: std::get<1>(result) = "StoneWallSmoothRUD"; break; - case 313: std::get<1>(result) = "StoneWallSmoothLRD"; break; - case 314: std::get<1>(result) = "StoneWallSmoothLRU"; break; - case 315: std::get<1>(result) = "StoneWallSmoothLUD"; break; - case 316: std::get<1>(result) = "StoneWallSmoothRD"; break; - case 317: std::get<1>(result) = "StoneWallSmoothRU"; break; - case 318: std::get<1>(result) = "StoneWallSmoothLU"; break; - case 319: std::get<1>(result) = "StoneWallSmoothLD"; break; - case 320: std::get<1>(result) = "StoneWallSmoothUD"; break; - case 321: std::get<1>(result) = "StoneWallSmoothLR"; break; - case 322: std::get<1>(result) = "LavaFortification"; break; - case 323: std::get<1>(result) = "FeatureFortification"; break; - case 324: std::get<1>(result) = "LavaWallWorn1"; break; - case 325: std::get<1>(result) = "LavaWallWorn2"; break; - case 326: std::get<1>(result) = "LavaWallWorn3"; break; - case 327: std::get<1>(result) = "LavaWall"; break; - case 328: std::get<1>(result) = "FeatureWallWorn1"; break; - case 329: std::get<1>(result) = "FeatureWallWorn2"; break; - case 330: std::get<1>(result) = "FeatureWallWorn3"; break; - case 331: std::get<1>(result) = "FeatureWall"; break; - case 332: std::get<1>(result) = "StoneFloor1"; break; - case 333: std::get<1>(result) = "StoneFloor2"; break; - case 334: std::get<1>(result) = "StoneFloor3"; break; - case 335: std::get<1>(result) = "StoneFloor4"; break; - case 336: std::get<1>(result) = "LavaFloor1"; break; - case 337: std::get<1>(result) = "LavaFloor2"; break; - case 338: std::get<1>(result) = "LavaFloor3"; break; - case 339: std::get<1>(result) = "LavaFloor4"; break; - case 340: std::get<1>(result) = "FeatureFloor1"; break; - case 341: std::get<1>(result) = "FeatureFloor2"; break; - case 342: std::get<1>(result) = "FeatureFloor3"; break; - case 343: std::get<1>(result) = "FeatureFloor4"; break; - case 344: std::get<1>(result) = "GrassDarkFloor1"; break; - case 345: std::get<1>(result) = "GrassDarkFloor2"; break; - case 346: std::get<1>(result) = "GrassDarkFloor3"; break; - case 347: std::get<1>(result) = "GrassDarkFloor4"; break; - case 348: std::get<1>(result) = "SoilFloor1"; break; - case 349: std::get<1>(result) = "SoilFloor2"; break; - case 350: std::get<1>(result) = "SoilFloor3"; break; - case 351: std::get<1>(result) = "SoilFloor4"; break; - case 352: std::get<1>(result) = "SoilWetFloor1"; break; - case 353: std::get<1>(result) = "SoilWetFloor2"; break; - case 354: std::get<1>(result) = "SoilWetFloor3"; break; - case 355: std::get<1>(result) = "SoilWetFloor4"; break; - case 356: std::get<1>(result) = "FrozenFortification"; break; - case 357: std::get<1>(result) = "FrozenWallWorn1"; break; - case 358: std::get<1>(result) = "FrozenWallWorn2"; break; - case 359: std::get<1>(result) = "FrozenWallWorn3"; break; - case 360: std::get<1>(result) = "FrozenWall"; break; - case 361: std::get<1>(result) = "RiverN"; break; - case 362: std::get<1>(result) = "RiverS"; break; - case 363: std::get<1>(result) = "RiverE"; break; - case 364: std::get<1>(result) = "RiverW"; break; - case 365: std::get<1>(result) = "RiverNW"; break; - case 366: std::get<1>(result) = "RiverNE"; break; - case 367: std::get<1>(result) = "RiverSW"; break; - case 368: std::get<1>(result) = "RiverSE"; break; - case 369: std::get<1>(result) = "BrookN"; break; - case 370: std::get<1>(result) = "BrookS"; break; - case 371: std::get<1>(result) = "BrookE"; break; - case 372: std::get<1>(result) = "BrookW"; break; - case 373: std::get<1>(result) = "BrookNW"; break; - case 374: std::get<1>(result) = "BrookNE"; break; - case 375: std::get<1>(result) = "BrookSW"; break; - case 376: std::get<1>(result) = "BrookSE"; break; - case 377: std::get<1>(result) = "BrookTop"; break; - case 378: std::get<1>(result) = "anon_77"; break; - case 379: std::get<1>(result) = "anon_78"; break; - case 380: std::get<1>(result) = "anon_79"; break; - case 381: std::get<1>(result) = "anon_80"; break; - case 382: std::get<1>(result) = "anon_81"; break; - case 383: std::get<1>(result) = "GrassDryFloor1"; break; - case 384: std::get<1>(result) = "GrassDryFloor2"; break; - case 385: std::get<1>(result) = "GrassDryFloor3"; break; - case 386: std::get<1>(result) = "GrassDryFloor4"; break; - case 387: std::get<1>(result) = "anon_82"; break; - case 388: std::get<1>(result) = "SaplingDead"; break; - case 389: std::get<1>(result) = "ShrubDead"; break; - case 390: std::get<1>(result) = "GrassDeadFloor1"; break; - case 391: std::get<1>(result) = "GrassDeadFloor2"; break; - case 392: std::get<1>(result) = "GrassDeadFloor3"; break; - case 393: std::get<1>(result) = "GrassDeadFloor4"; break; - case 394: std::get<1>(result) = "GrassLightFloor1"; break; - case 395: std::get<1>(result) = "GrassLightFloor2"; break; - case 396: std::get<1>(result) = "GrassLightFloor3"; break; - case 397: std::get<1>(result) = "GrassLightFloor4"; break; - case 398: std::get<1>(result) = "StoneBoulder"; break; - case 399: std::get<1>(result) = "LavaBoulder"; break; - case 400: std::get<1>(result) = "FeatureBoulder"; break; - case 401: std::get<1>(result) = "StonePebbles1"; break; - case 402: std::get<1>(result) = "StonePebbles2"; break; - case 403: std::get<1>(result) = "StonePebbles3"; break; - case 404: std::get<1>(result) = "StonePebbles4"; break; - case 405: std::get<1>(result) = "LavaPebbles1"; break; - case 406: std::get<1>(result) = "LavaPebbles2"; break; - case 407: std::get<1>(result) = "LavaPebbles3"; break; - case 408: std::get<1>(result) = "LavaPebbles4"; break; - case 409: std::get<1>(result) = "FeaturePebbles1"; break; - case 410: std::get<1>(result) = "FeaturePebbles2"; break; - case 411: std::get<1>(result) = "FeaturePebbles3"; break; - case 412: std::get<1>(result) = "FeaturePebbles4"; break; - case 413: std::get<1>(result) = "MineralWallSmoothRD2"; break; - case 414: std::get<1>(result) = "MineralWallSmoothR2D"; break; - case 415: std::get<1>(result) = "MineralWallSmoothR2U"; break; - case 416: std::get<1>(result) = "MineralWallSmoothRU2"; break; - case 417: std::get<1>(result) = "MineralWallSmoothL2U"; break; - case 418: std::get<1>(result) = "MineralWallSmoothLU2"; break; - case 419: std::get<1>(result) = "MineralWallSmoothL2D"; break; - case 420: std::get<1>(result) = "MineralWallSmoothLD2"; break; - case 421: std::get<1>(result) = "MineralWallSmoothLRUD"; break; - case 422: std::get<1>(result) = "MineralWallSmoothRUD"; break; - case 423: std::get<1>(result) = "MineralWallSmoothLRD"; break; - case 424: std::get<1>(result) = "MineralWallSmoothLRU"; break; - case 425: std::get<1>(result) = "MineralWallSmoothLUD"; break; - case 426: std::get<1>(result) = "MineralWallSmoothRD"; break; - case 427: std::get<1>(result) = "MineralWallSmoothRU"; break; - case 428: std::get<1>(result) = "MineralWallSmoothLU"; break; - case 429: std::get<1>(result) = "MineralWallSmoothLD"; break; - case 430: std::get<1>(result) = "MineralWallSmoothUD"; break; - case 431: std::get<1>(result) = "MineralWallSmoothLR"; break; - case 432: std::get<1>(result) = "MineralFortification"; break; - case 433: std::get<1>(result) = "MineralWallWorn1"; break; - case 434: std::get<1>(result) = "MineralWallWorn2"; break; - case 435: std::get<1>(result) = "MineralWallWorn3"; break; - case 436: std::get<1>(result) = "MineralWall"; break; - case 437: std::get<1>(result) = "MineralFloor1"; break; - case 438: std::get<1>(result) = "MineralFloor2"; break; - case 439: std::get<1>(result) = "MineralFloor3"; break; - case 440: std::get<1>(result) = "MineralFloor4"; break; - case 441: std::get<1>(result) = "MineralBoulder"; break; - case 442: std::get<1>(result) = "MineralPebbles1"; break; - case 443: std::get<1>(result) = "MineralPebbles2"; break; - case 444: std::get<1>(result) = "MineralPebbles3"; break; - case 445: std::get<1>(result) = "MineralPebbles4"; break; - case 446: std::get<1>(result) = "FrozenWallSmoothRD2"; break; - case 447: std::get<1>(result) = "FrozenWallSmoothR2D"; break; - case 448: std::get<1>(result) = "FrozenWallSmoothR2U"; break; - case 449: std::get<1>(result) = "FrozenWallSmoothRU2"; break; - case 450: std::get<1>(result) = "FrozenWallSmoothL2U"; break; - case 451: std::get<1>(result) = "FrozenWallSmoothLU2"; break; - case 452: std::get<1>(result) = "FrozenWallSmoothL2D"; break; - case 453: std::get<1>(result) = "FrozenWallSmoothLD2"; break; - case 454: std::get<1>(result) = "FrozenWallSmoothLRUD"; break; - case 455: std::get<1>(result) = "FrozenWallSmoothRUD"; break; - case 456: std::get<1>(result) = "FrozenWallSmoothLRD"; break; - case 457: std::get<1>(result) = "FrozenWallSmoothLRU"; break; - case 458: std::get<1>(result) = "FrozenWallSmoothLUD"; break; - case 459: std::get<1>(result) = "FrozenWallSmoothRD"; break; - case 460: std::get<1>(result) = "FrozenWallSmoothRU"; break; - case 461: std::get<1>(result) = "FrozenWallSmoothLU"; break; - case 462: std::get<1>(result) = "FrozenWallSmoothLD"; break; - case 463: std::get<1>(result) = "FrozenWallSmoothUD"; break; - case 464: std::get<1>(result) = "FrozenWallSmoothLR"; break; - case 465: std::get<1>(result) = "RiverRampN"; break; - case 466: std::get<1>(result) = "RiverRampS"; break; - case 467: std::get<1>(result) = "RiverRampE"; break; - case 468: std::get<1>(result) = "RiverRampW"; break; - case 469: std::get<1>(result) = "RiverRampNW"; break; - case 470: std::get<1>(result) = "RiverRampNE"; break; - case 471: std::get<1>(result) = "RiverRampSW"; break; - case 472: std::get<1>(result) = "RiverRampSE"; break; - case 473: std::get<1>(result) = "anon_83"; break; - case 474: std::get<1>(result) = "anon_84"; break; - case 475: std::get<1>(result) = "anon_85"; break; - case 476: std::get<1>(result) = "anon_86"; break; - case 477: std::get<1>(result) = "anon_87"; break; - case 478: std::get<1>(result) = "anon_88"; break; - case 479: std::get<1>(result) = "anon_89"; break; - case 480: std::get<1>(result) = "anon_90"; break; - case 481: std::get<1>(result) = "anon_91"; break; - case 482: std::get<1>(result) = "anon_92"; break; - case 483: std::get<1>(result) = "anon_93"; break; - case 484: std::get<1>(result) = "anon_94"; break; - case 485: std::get<1>(result) = "anon_95"; break; - case 486: std::get<1>(result) = "anon_96"; break; - case 487: std::get<1>(result) = "anon_97"; break; - case 488: std::get<1>(result) = "anon_98"; break; - case 489: std::get<1>(result) = "ConstructedFloor"; break; - case 490: std::get<1>(result) = "ConstructedFortification"; break; - case 491: std::get<1>(result) = "ConstructedPillar"; break; - case 492: std::get<1>(result) = "ConstructedWallRD2"; break; - case 493: std::get<1>(result) = "ConstructedWallR2D"; break; - case 494: std::get<1>(result) = "ConstructedWallR2U"; break; - case 495: std::get<1>(result) = "ConstructedWallRU2"; break; - case 496: std::get<1>(result) = "ConstructedWallL2U"; break; - case 497: std::get<1>(result) = "ConstructedWallLU2"; break; - case 498: std::get<1>(result) = "ConstructedWallL2D"; break; - case 499: std::get<1>(result) = "ConstructedWallLD2"; break; - case 500: std::get<1>(result) = "ConstructedWallLRUD"; break; - case 501: std::get<1>(result) = "ConstructedWallRUD"; break; - case 502: std::get<1>(result) = "ConstructedWallLRD"; break; - case 503: std::get<1>(result) = "ConstructedWallLRU"; break; - case 504: std::get<1>(result) = "ConstructedWallLUD"; break; - case 505: std::get<1>(result) = "ConstructedWallRD"; break; - case 506: std::get<1>(result) = "ConstructedWallRU"; break; - case 507: std::get<1>(result) = "ConstructedWallLU"; break; - case 508: std::get<1>(result) = "ConstructedWallLD"; break; - case 509: std::get<1>(result) = "ConstructedWallUD"; break; - case 510: std::get<1>(result) = "ConstructedWallLR"; break; - case 511: std::get<1>(result) = "ConstructedStairUD"; break; - case 512: std::get<1>(result) = "ConstructedStairD"; break; - case 513: std::get<1>(result) = "ConstructedStairU"; break; - case 514: std::get<1>(result) = "ConstructedRamp"; break; - case 515: std::get<1>(result) = "StoneFloorTrackN"; break; - case 516: std::get<1>(result) = "StoneFloorTrackS"; break; - case 517: std::get<1>(result) = "StoneFloorTrackE"; break; - case 518: std::get<1>(result) = "StoneFloorTrackW"; break; - case 519: std::get<1>(result) = "StoneFloorTrackNS"; break; - case 520: std::get<1>(result) = "StoneFloorTrackNE"; break; - case 521: std::get<1>(result) = "StoneFloorTrackNW"; break; - case 522: std::get<1>(result) = "StoneFloorTrackSE"; break; - case 523: std::get<1>(result) = "StoneFloorTrackSW"; break; - case 524: std::get<1>(result) = "StoneFloorTrackEW"; break; - case 525: std::get<1>(result) = "StoneFloorTrackNSE"; break; - case 526: std::get<1>(result) = "StoneFloorTrackNSW"; break; - case 527: std::get<1>(result) = "StoneFloorTrackNEW"; break; - case 528: std::get<1>(result) = "StoneFloorTrackSEW"; break; - case 529: std::get<1>(result) = "StoneFloorTrackNSEW"; break; - case 530: std::get<1>(result) = "LavaFloorTrackN"; break; - case 531: std::get<1>(result) = "LavaFloorTrackS"; break; - case 532: std::get<1>(result) = "LavaFloorTrackE"; break; - case 533: std::get<1>(result) = "LavaFloorTrackW"; break; - case 534: std::get<1>(result) = "LavaFloorTrackNS"; break; - case 535: std::get<1>(result) = "LavaFloorTrackNE"; break; - case 536: std::get<1>(result) = "LavaFloorTrackNW"; break; - case 537: std::get<1>(result) = "LavaFloorTrackSE"; break; - case 538: std::get<1>(result) = "LavaFloorTrackSW"; break; - case 539: std::get<1>(result) = "LavaFloorTrackEW"; break; - case 540: std::get<1>(result) = "LavaFloorTrackNSE"; break; - case 541: std::get<1>(result) = "LavaFloorTrackNSW"; break; - case 542: std::get<1>(result) = "LavaFloorTrackNEW"; break; - case 543: std::get<1>(result) = "LavaFloorTrackSEW"; break; - case 544: std::get<1>(result) = "LavaFloorTrackNSEW"; break; - case 545: std::get<1>(result) = "FeatureFloorTrackN"; break; - case 546: std::get<1>(result) = "FeatureFloorTrackS"; break; - case 547: std::get<1>(result) = "FeatureFloorTrackE"; break; - case 548: std::get<1>(result) = "FeatureFloorTrackW"; break; - case 549: std::get<1>(result) = "FeatureFloorTrackNS"; break; - case 550: std::get<1>(result) = "FeatureFloorTrackNE"; break; - case 551: std::get<1>(result) = "FeatureFloorTrackNW"; break; - case 552: std::get<1>(result) = "FeatureFloorTrackSE"; break; - case 553: std::get<1>(result) = "FeatureFloorTrackSW"; break; - case 554: std::get<1>(result) = "FeatureFloorTrackEW"; break; - case 555: std::get<1>(result) = "FeatureFloorTrackNSE"; break; - case 556: std::get<1>(result) = "FeatureFloorTrackNSW"; break; - case 557: std::get<1>(result) = "FeatureFloorTrackNEW"; break; - case 558: std::get<1>(result) = "FeatureFloorTrackSEW"; break; - case 559: std::get<1>(result) = "FeatureFloorTrackNSEW"; break; - case 560: std::get<1>(result) = "MineralFloorTrackN"; break; - case 561: std::get<1>(result) = "MineralFloorTrackS"; break; - case 562: std::get<1>(result) = "MineralFloorTrackE"; break; - case 563: std::get<1>(result) = "MineralFloorTrackW"; break; - case 564: std::get<1>(result) = "MineralFloorTrackNS"; break; - case 565: std::get<1>(result) = "MineralFloorTrackNE"; break; - case 566: std::get<1>(result) = "MineralFloorTrackNW"; break; - case 567: std::get<1>(result) = "MineralFloorTrackSE"; break; - case 568: std::get<1>(result) = "MineralFloorTrackSW"; break; - case 569: std::get<1>(result) = "MineralFloorTrackEW"; break; - case 570: std::get<1>(result) = "MineralFloorTrackNSE"; break; - case 571: std::get<1>(result) = "MineralFloorTrackNSW"; break; - case 572: std::get<1>(result) = "MineralFloorTrackNEW"; break; - case 573: std::get<1>(result) = "MineralFloorTrackSEW"; break; - case 574: std::get<1>(result) = "MineralFloorTrackNSEW"; break; - case 575: std::get<1>(result) = "FrozenFloorTrackN"; break; - case 576: std::get<1>(result) = "FrozenFloorTrackS"; break; - case 577: std::get<1>(result) = "FrozenFloorTrackE"; break; - case 578: std::get<1>(result) = "FrozenFloorTrackW"; break; - case 579: std::get<1>(result) = "FrozenFloorTrackNS"; break; - case 580: std::get<1>(result) = "FrozenFloorTrackNE"; break; - case 581: std::get<1>(result) = "FrozenFloorTrackNW"; break; - case 582: std::get<1>(result) = "FrozenFloorTrackSE"; break; - case 583: std::get<1>(result) = "FrozenFloorTrackSW"; break; - case 584: std::get<1>(result) = "FrozenFloorTrackEW"; break; - case 585: std::get<1>(result) = "FrozenFloorTrackNSE"; break; - case 586: std::get<1>(result) = "FrozenFloorTrackNSW"; break; - case 587: std::get<1>(result) = "FrozenFloorTrackNEW"; break; - case 588: std::get<1>(result) = "FrozenFloorTrackSEW"; break; - case 589: std::get<1>(result) = "FrozenFloorTrackNSEW"; break; - case 590: std::get<1>(result) = "ConstructedFloorTrackN"; break; - case 591: std::get<1>(result) = "ConstructedFloorTrackS"; break; - case 592: std::get<1>(result) = "ConstructedFloorTrackE"; break; - case 593: std::get<1>(result) = "ConstructedFloorTrackW"; break; - case 594: std::get<1>(result) = "ConstructedFloorTrackNS"; break; - case 595: std::get<1>(result) = "ConstructedFloorTrackNE"; break; - case 596: std::get<1>(result) = "ConstructedFloorTrackNW"; break; - case 597: std::get<1>(result) = "ConstructedFloorTrackSE"; break; - case 598: std::get<1>(result) = "ConstructedFloorTrackSW"; break; - case 599: std::get<1>(result) = "ConstructedFloorTrackEW"; break; - case 600: std::get<1>(result) = "ConstructedFloorTrackNSE"; break; - case 601: std::get<1>(result) = "ConstructedFloorTrackNSW"; break; - case 602: std::get<1>(result) = "ConstructedFloorTrackNEW"; break; - case 603: std::get<1>(result) = "ConstructedFloorTrackSEW"; break; - case 604: std::get<1>(result) = "ConstructedFloorTrackNSEW"; break; - case 605: std::get<1>(result) = "StoneRampTrackN"; break; - case 606: std::get<1>(result) = "StoneRampTrackS"; break; - case 607: std::get<1>(result) = "StoneRampTrackE"; break; - case 608: std::get<1>(result) = "StoneRampTrackW"; break; - case 609: std::get<1>(result) = "StoneRampTrackNS"; break; - case 610: std::get<1>(result) = "StoneRampTrackNE"; break; - case 611: std::get<1>(result) = "StoneRampTrackNW"; break; - case 612: std::get<1>(result) = "StoneRampTrackSE"; break; - case 613: std::get<1>(result) = "StoneRampTrackSW"; break; - case 614: std::get<1>(result) = "StoneRampTrackEW"; break; - case 615: std::get<1>(result) = "StoneRampTrackNSE"; break; - case 616: std::get<1>(result) = "StoneRampTrackNSW"; break; - case 617: std::get<1>(result) = "StoneRampTrackNEW"; break; - case 618: std::get<1>(result) = "StoneRampTrackSEW"; break; - case 619: std::get<1>(result) = "StoneRampTrackNSEW"; break; - case 620: std::get<1>(result) = "LavaRampTrackN"; break; - case 621: std::get<1>(result) = "LavaRampTrackS"; break; - case 622: std::get<1>(result) = "LavaRampTrackE"; break; - case 623: std::get<1>(result) = "LavaRampTrackW"; break; - case 624: std::get<1>(result) = "LavaRampTrackNS"; break; - case 625: std::get<1>(result) = "LavaRampTrackNE"; break; - case 626: std::get<1>(result) = "LavaRampTrackNW"; break; - case 627: std::get<1>(result) = "LavaRampTrackSE"; break; - case 628: std::get<1>(result) = "LavaRampTrackSW"; break; - case 629: std::get<1>(result) = "LavaRampTrackEW"; break; - case 630: std::get<1>(result) = "LavaRampTrackNSE"; break; - case 631: std::get<1>(result) = "LavaRampTrackNSW"; break; - case 632: std::get<1>(result) = "LavaRampTrackNEW"; break; - case 633: std::get<1>(result) = "LavaRampTrackSEW"; break; - case 634: std::get<1>(result) = "LavaRampTrackNSEW"; break; - case 635: std::get<1>(result) = "FeatureRampTrackN"; break; - case 636: std::get<1>(result) = "FeatureRampTrackS"; break; - case 637: std::get<1>(result) = "FeatureRampTrackE"; break; - case 638: std::get<1>(result) = "FeatureRampTrackW"; break; - case 639: std::get<1>(result) = "FeatureRampTrackNS"; break; - case 640: std::get<1>(result) = "FeatureRampTrackNE"; break; - case 641: std::get<1>(result) = "FeatureRampTrackNW"; break; - case 642: std::get<1>(result) = "FeatureRampTrackSE"; break; - case 643: std::get<1>(result) = "FeatureRampTrackSW"; break; - case 644: std::get<1>(result) = "FeatureRampTrackEW"; break; - case 645: std::get<1>(result) = "FeatureRampTrackNSE"; break; - case 646: std::get<1>(result) = "FeatureRampTrackNSW"; break; - case 647: std::get<1>(result) = "FeatureRampTrackNEW"; break; - case 648: std::get<1>(result) = "FeatureRampTrackSEW"; break; - case 649: std::get<1>(result) = "FeatureRampTrackNSEW"; break; - case 650: std::get<1>(result) = "MineralRampTrackN"; break; - case 651: std::get<1>(result) = "MineralRampTrackS"; break; - case 652: std::get<1>(result) = "MineralRampTrackE"; break; - case 653: std::get<1>(result) = "MineralRampTrackW"; break; - case 654: std::get<1>(result) = "MineralRampTrackNS"; break; - case 655: std::get<1>(result) = "MineralRampTrackNE"; break; - case 656: std::get<1>(result) = "MineralRampTrackNW"; break; - case 657: std::get<1>(result) = "MineralRampTrackSE"; break; - case 658: std::get<1>(result) = "MineralRampTrackSW"; break; - case 659: std::get<1>(result) = "MineralRampTrackEW"; break; - case 660: std::get<1>(result) = "MineralRampTrackNSE"; break; - case 661: std::get<1>(result) = "MineralRampTrackNSW"; break; - case 662: std::get<1>(result) = "MineralRampTrackNEW"; break; - case 663: std::get<1>(result) = "MineralRampTrackSEW"; break; - case 664: std::get<1>(result) = "MineralRampTrackNSEW"; break; - case 665: std::get<1>(result) = "FrozenRampTrackN"; break; - case 666: std::get<1>(result) = "FrozenRampTrackS"; break; - case 667: std::get<1>(result) = "FrozenRampTrackE"; break; - case 668: std::get<1>(result) = "FrozenRampTrackW"; break; - case 669: std::get<1>(result) = "FrozenRampTrackNS"; break; - case 670: std::get<1>(result) = "FrozenRampTrackNE"; break; - case 671: std::get<1>(result) = "FrozenRampTrackNW"; break; - case 672: std::get<1>(result) = "FrozenRampTrackSE"; break; - case 673: std::get<1>(result) = "FrozenRampTrackSW"; break; - case 674: std::get<1>(result) = "FrozenRampTrackEW"; break; - case 675: std::get<1>(result) = "FrozenRampTrackNSE"; break; - case 676: std::get<1>(result) = "FrozenRampTrackNSW"; break; - case 677: std::get<1>(result) = "FrozenRampTrackNEW"; break; - case 678: std::get<1>(result) = "FrozenRampTrackSEW"; break; - case 679: std::get<1>(result) = "FrozenRampTrackNSEW"; break; - case 680: std::get<1>(result) = "ConstructedRampTrackN"; break; - case 681: std::get<1>(result) = "ConstructedRampTrackS"; break; - case 682: std::get<1>(result) = "ConstructedRampTrackE"; break; - case 683: std::get<1>(result) = "ConstructedRampTrackW"; break; - case 684: std::get<1>(result) = "ConstructedRampTrackNS"; break; - case 685: std::get<1>(result) = "ConstructedRampTrackNE"; break; - case 686: std::get<1>(result) = "ConstructedRampTrackNW"; break; - case 687: std::get<1>(result) = "ConstructedRampTrackSE"; break; - case 688: std::get<1>(result) = "ConstructedRampTrackSW"; break; - case 689: std::get<1>(result) = "ConstructedRampTrackEW"; break; - case 690: std::get<1>(result) = "ConstructedRampTrackNSE"; break; - case 691: std::get<1>(result) = "ConstructedRampTrackNSW"; break; - case 692: std::get<1>(result) = "ConstructedRampTrackNEW"; break; - case 693: std::get<1>(result) = "ConstructedRampTrackSEW"; break; - case 694: std::get<1>(result) = "ConstructedRampTrackNSEW"; break; - default: break; - } - return result; -} - -std::tuple get_build_req_choice_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "General"; break; - case 1: std::get<1>(result) = "Specific"; break; - default: break; - } - return result; -} - -std::tuple get_ui_hotkey__T_cmd_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case -1: std::get<1>(result) = "None"; break; - case 0: std::get<1>(result) = "Zoom"; break; - case 1: std::get<1>(result) = "FollowUnit"; break; - case 2: std::get<1>(result) = "FollowItem"; break; - default: break; - } - return result; -} - -std::tuple get_ui_sidebar_mode_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Default"; break; - case 1: std::get<1>(result) = "Squads"; break; - case 2: std::get<1>(result) = "DesignateMine"; break; - case 3: std::get<1>(result) = "DesignateRemoveRamps"; break; - case 4: std::get<1>(result) = "DesignateUpStair"; break; - case 5: std::get<1>(result) = "DesignateDownStair"; break; - case 6: std::get<1>(result) = "DesignateUpDownStair"; break; - case 7: std::get<1>(result) = "DesignateUpRamp"; break; - case 8: std::get<1>(result) = "DesignateChannel"; break; - case 9: std::get<1>(result) = "DesignateGatherPlants"; break; - case 10: std::get<1>(result) = "DesignateRemoveDesignation"; break; - case 11: std::get<1>(result) = "DesignateSmooth"; break; - case 12: std::get<1>(result) = "DesignateCarveTrack"; break; - case 13: std::get<1>(result) = "DesignateEngrave"; break; - case 14: std::get<1>(result) = "DesignateCarveFortification"; break; - case 15: std::get<1>(result) = "Stockpiles"; break; - case 16: std::get<1>(result) = "Build"; break; - case 17: std::get<1>(result) = "QueryBuilding"; break; - case 18: std::get<1>(result) = "Orders"; break; - case 19: std::get<1>(result) = "OrdersForbid"; break; - case 20: std::get<1>(result) = "OrdersRefuse"; break; - case 21: std::get<1>(result) = "OrdersWorkshop"; break; - case 22: std::get<1>(result) = "OrdersZone"; break; - case 23: std::get<1>(result) = "BuildingItems"; break; - case 24: std::get<1>(result) = "ViewUnits"; break; - case 25: std::get<1>(result) = "LookAround"; break; - case 26: std::get<1>(result) = "DesignateItemsClaim"; break; - case 27: std::get<1>(result) = "DesignateItemsForbid"; break; - case 28: std::get<1>(result) = "DesignateItemsMelt"; break; - case 29: std::get<1>(result) = "DesignateItemsUnmelt"; break; - case 30: std::get<1>(result) = "DesignateItemsDump"; break; - case 31: std::get<1>(result) = "DesignateItemsUndump"; break; - case 32: std::get<1>(result) = "DesignateItemsHide"; break; - case 33: std::get<1>(result) = "DesignateItemsUnhide"; break; - case 34: std::get<1>(result) = "DesignateChopTrees"; break; - case 35: std::get<1>(result) = "DesignateToggleEngravings"; break; - case 36: std::get<1>(result) = "DesignateToggleMarker"; break; - case 37: std::get<1>(result) = "Hotkeys"; break; - case 38: std::get<1>(result) = "DesignateTrafficHigh"; break; - case 39: std::get<1>(result) = "DesignateTrafficNormal"; break; - case 40: std::get<1>(result) = "DesignateTrafficLow"; break; - case 41: std::get<1>(result) = "DesignateTrafficRestricted"; break; - case 42: std::get<1>(result) = "Zones"; break; - case 43: std::get<1>(result) = "ZonesPenInfo"; break; - case 44: std::get<1>(result) = "ZonesPitInfo"; break; - case 45: std::get<1>(result) = "ZonesHospitalInfo"; break; - case 46: std::get<1>(result) = "ZonesGatherInfo"; break; - case 47: std::get<1>(result) = "DesignateRemoveConstruction"; break; - case 48: std::get<1>(result) = "DepotAccess"; break; - case 49: std::get<1>(result) = "NotesPoints"; break; - case 50: std::get<1>(result) = "NotesRoutes"; break; - case 51: std::get<1>(result) = "Burrows"; break; - case 52: std::get<1>(result) = "Hauling"; break; - case 53: std::get<1>(result) = "ArenaWeather"; break; - case 54: std::get<1>(result) = "ArenaTrees"; break; - default: break; - } - return result; -} - -std::tuple get_kitchen_exc_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 1: std::get<1>(result) = "Cook"; break; - case 2: std::get<1>(result) = "Brew"; break; - default: break; - } - return result; -} - -std::tuple get_timed_event_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Caravan"; break; - case 1: std::get<1>(result) = "Migrants"; break; - case 2: std::get<1>(result) = "Diplomat"; break; - case 3: std::get<1>(result) = "FeatureAttack"; std::get<2>(result) = "unused, does nothing"; break; - case 4: std::get<1>(result) = "Megabeast"; break; - case 5: std::get<1>(result) = "WildlifeCurious"; break; - case 6: std::get<1>(result) = "WildlifeMischievous"; break; - case 7: std::get<1>(result) = "WildlifeFlier"; break; - case 8: std::get<1>(result) = "NightCreature"; break; - default: break; - } - return result; -} - -std::tuple get_emotion_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case -1: std::get<1>(result) = "ANYTHING"; break; - case 0: std::get<1>(result) = "ACCEPTANCE"; break; - case 1: std::get<1>(result) = "ADORATION"; break; - case 2: std::get<1>(result) = "AFFECTION"; break; - case 3: std::get<1>(result) = "AGITATION"; break; - case 4: std::get<1>(result) = "AGGRAVATION"; break; - case 5: std::get<1>(result) = "AGONY"; break; - case 6: std::get<1>(result) = "ALARM"; break; - case 7: std::get<1>(result) = "ALIENATION"; break; - case 8: std::get<1>(result) = "AMAZEMENT"; break; - case 9: std::get<1>(result) = "AMBIVALENCE"; break; - case 10: std::get<1>(result) = "AMUSEMENT"; break; - case 11: std::get<1>(result) = "ANGER"; break; - case 12: std::get<1>(result) = "ANGST"; break; - case 13: std::get<1>(result) = "ANGUISH"; break; - case 14: std::get<1>(result) = "ANNOYANCE"; break; - case 15: std::get<1>(result) = "anon_1"; break; - case 16: std::get<1>(result) = "ANXIETY"; break; - case 17: std::get<1>(result) = "APATHY"; break; - case 18: std::get<1>(result) = "anon_2"; break; - case 19: std::get<1>(result) = "AROUSAL"; break; - case 20: std::get<1>(result) = "ASTONISHMENT"; break; - case 21: std::get<1>(result) = "anon_3"; break; - case 22: std::get<1>(result) = "AVERSION"; break; - case 23: std::get<1>(result) = "AWE"; break; - case 24: std::get<1>(result) = "BITTERNESS"; break; - case 25: std::get<1>(result) = "BLISS"; break; - case 26: std::get<1>(result) = "BOREDOM"; break; - case 27: std::get<1>(result) = "CARING"; break; - case 28: std::get<1>(result) = "anon_4"; break; - case 29: std::get<1>(result) = "CONFUSION"; break; - case 30: std::get<1>(result) = "CONTEMPT"; break; - case 31: std::get<1>(result) = "CONTENTMENT"; break; - case 32: std::get<1>(result) = "anon_5"; break; - case 33: std::get<1>(result) = "anon_6"; break; - case 34: std::get<1>(result) = "DEFEAT"; break; - case 35: std::get<1>(result) = "DEJECTION"; break; - case 36: std::get<1>(result) = "DELIGHT"; break; - case 37: std::get<1>(result) = "anon_7"; break; - case 38: std::get<1>(result) = "anon_8"; break; - case 39: std::get<1>(result) = "DESPAIR"; break; - case 40: std::get<1>(result) = "DISAPPOINTMENT"; break; - case 41: std::get<1>(result) = "DISGUST"; break; - case 42: std::get<1>(result) = "DISILLUSIONMENT"; break; - case 43: std::get<1>(result) = "DISLIKE"; break; - case 44: std::get<1>(result) = "DISMAY"; break; - case 45: std::get<1>(result) = "DISPLEASURE"; break; - case 46: std::get<1>(result) = "DISTRESS"; break; - case 47: std::get<1>(result) = "DOUBT"; break; - case 48: std::get<1>(result) = "anon_9"; break; - case 49: std::get<1>(result) = "EAGERNESS"; break; - case 50: std::get<1>(result) = "anon_10"; break; - case 51: std::get<1>(result) = "ELATION"; break; - case 52: std::get<1>(result) = "EMBARRASSMENT"; break; - case 53: std::get<1>(result) = "EMPATHY"; break; - case 54: std::get<1>(result) = "EMPTINESS"; break; - case 55: std::get<1>(result) = "ENJOYMENT"; break; - case 56: std::get<1>(result) = "anon_11"; break; - case 57: std::get<1>(result) = "ENTHUSIASM"; break; - case 58: std::get<1>(result) = "anon_12"; break; - case 59: std::get<1>(result) = "EUPHORIA"; break; - case 60: std::get<1>(result) = "EXASPERATION"; break; - case 61: std::get<1>(result) = "EXCITEMENT"; break; - case 62: std::get<1>(result) = "EXHILARATION"; break; - case 63: std::get<1>(result) = "EXPECTANCY"; break; - case 64: std::get<1>(result) = "FEAR"; break; - case 65: std::get<1>(result) = "FEROCITY"; break; - case 66: std::get<1>(result) = "FONDNESS"; break; - case 67: std::get<1>(result) = "FREEDOM"; break; - case 68: std::get<1>(result) = "FRIGHT"; break; - case 69: std::get<1>(result) = "FRUSTRATION"; break; - case 70: std::get<1>(result) = "anon_13"; break; - case 71: std::get<1>(result) = "GAIETY"; break; - case 72: std::get<1>(result) = "anon_14"; break; - case 73: std::get<1>(result) = "GLEE"; break; - case 74: std::get<1>(result) = "GLOOM"; break; - case 75: std::get<1>(result) = "GLUMNESS"; break; - case 76: std::get<1>(result) = "GRATITUDE"; break; - case 77: std::get<1>(result) = "anon_15"; break; - case 78: std::get<1>(result) = "GRIEF"; break; - case 79: std::get<1>(result) = "GRIM_SATISFACTION"; break; - case 80: std::get<1>(result) = "GROUCHINESS"; break; - case 81: std::get<1>(result) = "GRUMPINESS"; break; - case 82: std::get<1>(result) = "GUILT"; break; - case 83: std::get<1>(result) = "HAPPINESS"; break; - case 84: std::get<1>(result) = "HATRED"; break; - case 85: std::get<1>(result) = "anon_16"; break; - case 86: std::get<1>(result) = "HOPE"; break; - case 87: std::get<1>(result) = "HOPELESSNESS"; break; - case 88: std::get<1>(result) = "HORROR"; break; - case 89: std::get<1>(result) = "anon_17"; break; - case 90: std::get<1>(result) = "HUMILIATION"; break; - case 91: std::get<1>(result) = "anon_18"; break; - case 92: std::get<1>(result) = "anon_19"; break; - case 93: std::get<1>(result) = "anon_20"; break; - case 94: std::get<1>(result) = "anon_21"; break; - case 95: std::get<1>(result) = "INSULT"; break; - case 96: std::get<1>(result) = "INTEREST"; break; - case 97: std::get<1>(result) = "IRRITATION"; break; - case 98: std::get<1>(result) = "ISOLATION"; break; - case 99: std::get<1>(result) = "anon_22"; break; - case 100: std::get<1>(result) = "JOLLINESS"; break; - case 101: std::get<1>(result) = "JOVIALITY"; break; - case 102: std::get<1>(result) = "JOY"; break; - case 103: std::get<1>(result) = "JUBILATION"; break; - case 104: std::get<1>(result) = "anon_23"; break; - case 105: std::get<1>(result) = "LOATHING"; break; - case 106: std::get<1>(result) = "LONELINESS"; break; - case 107: std::get<1>(result) = "anon_24"; break; - case 108: std::get<1>(result) = "LOVE"; break; - case 109: std::get<1>(result) = "anon_25"; break; - case 110: std::get<1>(result) = "LUST"; break; - case 111: std::get<1>(result) = "anon_26"; break; - case 112: std::get<1>(result) = "MISERY"; break; - case 113: std::get<1>(result) = "MORTIFICATION"; break; - case 114: std::get<1>(result) = "anon_27"; break; - case 115: std::get<1>(result) = "NERVOUSNESS"; break; - case 116: std::get<1>(result) = "NOSTALGIA"; break; - case 117: std::get<1>(result) = "OPTIMISM"; break; - case 118: std::get<1>(result) = "OUTRAGE"; break; - case 119: std::get<1>(result) = "PANIC"; break; - case 120: std::get<1>(result) = "PATIENCE"; break; - case 121: std::get<1>(result) = "PASSION"; break; - case 122: std::get<1>(result) = "PESSIMISM"; break; - case 123: std::get<1>(result) = "anon_28"; break; - case 124: std::get<1>(result) = "PLEASURE"; break; - case 125: std::get<1>(result) = "PRIDE"; break; - case 126: std::get<1>(result) = "RAGE"; break; - case 127: std::get<1>(result) = "RAPTURE"; break; - case 128: std::get<1>(result) = "REJECTION"; break; - case 129: std::get<1>(result) = "RELIEF"; break; - case 130: std::get<1>(result) = "REGRET"; break; - case 131: std::get<1>(result) = "REMORSE"; break; - case 132: std::get<1>(result) = "REPENTANCE"; break; - case 133: std::get<1>(result) = "RESENTMENT"; break; - case 134: std::get<1>(result) = "anon_29"; break; - case 135: std::get<1>(result) = "RIGHTEOUS_INDIGNATION"; break; - case 136: std::get<1>(result) = "SADNESS"; break; - case 137: std::get<1>(result) = "SATISFACTION"; break; - case 138: std::get<1>(result) = "anon_30"; break; - case 139: std::get<1>(result) = "SELF_PITY"; break; - case 140: std::get<1>(result) = "anon_31"; break; - case 141: std::get<1>(result) = "SERVILE"; break; - case 142: std::get<1>(result) = "SHAKEN"; break; - case 143: std::get<1>(result) = "SHAME"; break; - case 144: std::get<1>(result) = "SHOCK"; break; - case 145: std::get<1>(result) = "anon_32"; break; - case 146: std::get<1>(result) = "anon_33"; break; - case 147: std::get<1>(result) = "anon_34"; break; - case 148: std::get<1>(result) = "anon_35"; break; - case 149: std::get<1>(result) = "SUSPICION"; break; - case 150: std::get<1>(result) = "SYMPATHY"; break; - case 151: std::get<1>(result) = "TENDERNESS"; break; - case 152: std::get<1>(result) = "anon_36"; break; - case 153: std::get<1>(result) = "TERROR"; break; - case 154: std::get<1>(result) = "THRILL"; break; - case 155: std::get<1>(result) = "anon_37"; break; - case 156: std::get<1>(result) = "TRIUMPH"; break; - case 157: std::get<1>(result) = "UNEASINESS"; break; - case 158: std::get<1>(result) = "UNHAPPINESS"; break; - case 159: std::get<1>(result) = "VENGEFULNESS"; break; - case 160: std::get<1>(result) = "anon_38"; break; - case 161: std::get<1>(result) = "WONDER"; break; - case 162: std::get<1>(result) = "WORRY"; break; - case 163: std::get<1>(result) = "WRATH"; break; - case 164: std::get<1>(result) = "ZEAL"; break; - case 165: std::get<1>(result) = "anon_39"; break; - case 166: std::get<1>(result) = "anon_40"; break; - case 167: std::get<1>(result) = "anon_41"; break; - case 168: std::get<1>(result) = "RESTLESS"; break; - case 169: std::get<1>(result) = "ADMIRATION"; break; - default: break; - } - return result; -} - -std::tuple get_unit_thought_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case -1: std::get<1>(result) = "None"; break; - case 0: std::get<1>(result) = "Conflict"; break; - case 1: std::get<1>(result) = "Trauma"; break; - case 2: std::get<1>(result) = "WitnessDeath"; break; - case 3: std::get<1>(result) = "UnexpectedDeath"; break; - case 4: std::get<1>(result) = "Death"; break; - case 5: std::get<1>(result) = "Kill"; break; - case 6: std::get<1>(result) = "LoveSeparated"; break; - case 7: std::get<1>(result) = "LoveReunited"; break; - case 8: std::get<1>(result) = "JoinConflict"; break; - case 9: std::get<1>(result) = "MakeMasterwork"; break; - case 10: std::get<1>(result) = "MadeArtifact"; break; - case 11: std::get<1>(result) = "MasterSkill"; break; - case 12: std::get<1>(result) = "NewRomance"; break; - case 13: std::get<1>(result) = "BecomeParent"; break; - case 14: std::get<1>(result) = "NearConflict"; break; - case 15: std::get<1>(result) = "CancelAgreement"; break; - case 16: std::get<1>(result) = "JoinTravel"; break; - case 17: std::get<1>(result) = "SiteControlled"; break; - case 18: std::get<1>(result) = "TributeCancel"; break; - case 19: std::get<1>(result) = "Incident"; break; - case 20: std::get<1>(result) = "HearRumor"; break; - case 21: std::get<1>(result) = "MilitaryRemoved"; break; - case 22: std::get<1>(result) = "StrangerWeapon"; break; - case 23: std::get<1>(result) = "StrangerSneaking"; break; - case 24: std::get<1>(result) = "SawDrinkBlood"; break; - case 25: std::get<1>(result) = "Complained"; break; - case 26: std::get<1>(result) = "ReceivedComplaint"; break; - case 27: std::get<1>(result) = "AdmireBuilding"; break; - case 28: std::get<1>(result) = "AdmireOwnBuilding"; break; - case 29: std::get<1>(result) = "AdmireArrangedBuilding"; break; - case 30: std::get<1>(result) = "AdmireOwnArrangedBuilding"; break; - case 31: std::get<1>(result) = "LostPet"; break; - case 32: std::get<1>(result) = "ThrownStuff"; break; - case 33: std::get<1>(result) = "JailReleased"; break; - case 34: std::get<1>(result) = "Miscarriage"; break; - case 35: std::get<1>(result) = "SpouseMiscarriage"; break; - case 36: std::get<1>(result) = "OldClothing"; break; - case 37: std::get<1>(result) = "TatteredClothing"; break; - case 38: std::get<1>(result) = "RottedClothing"; break; - case 39: std::get<1>(result) = "GhostNightmare"; break; - case 40: std::get<1>(result) = "GhostHaunt"; break; - case 41: std::get<1>(result) = "Spar"; break; - case 42: std::get<1>(result) = "UnableComplain"; break; - case 43: std::get<1>(result) = "LongPatrol"; break; - case 44: std::get<1>(result) = "SunNausea"; break; - case 45: std::get<1>(result) = "SunIrritated"; break; - case 46: std::get<1>(result) = "Drowsy"; break; - case 47: std::get<1>(result) = "VeryDrowsy"; break; - case 48: std::get<1>(result) = "Thirsty"; break; - case 49: std::get<1>(result) = "Dehydrated"; break; - case 50: std::get<1>(result) = "Hungry"; break; - case 51: std::get<1>(result) = "Starving"; break; - case 52: std::get<1>(result) = "MajorInjuries"; break; - case 53: std::get<1>(result) = "MinorInjuries"; break; - case 54: std::get<1>(result) = "SleepNoise"; break; - case 55: std::get<1>(result) = "Rest"; break; - case 56: std::get<1>(result) = "FreakishWeather"; break; - case 57: std::get<1>(result) = "Rain"; break; - case 58: std::get<1>(result) = "SnowStorm"; break; - case 59: std::get<1>(result) = "Miasma"; break; - case 60: std::get<1>(result) = "Smoke"; break; - case 61: std::get<1>(result) = "Waterfall"; break; - case 62: std::get<1>(result) = "Dust"; break; - case 63: std::get<1>(result) = "Demands"; break; - case 64: std::get<1>(result) = "ImproperPunishment"; break; - case 65: std::get<1>(result) = "PunishmentReduced"; break; - case 66: std::get<1>(result) = "Elected"; break; - case 67: std::get<1>(result) = "Reelected"; break; - case 68: std::get<1>(result) = "RequestApproved"; break; - case 69: std::get<1>(result) = "RequestIgnored"; break; - case 70: std::get<1>(result) = "NoPunishment"; break; - case 71: std::get<1>(result) = "PunishmentDelayed"; break; - case 72: std::get<1>(result) = "DelayedPunishment"; break; - case 73: std::get<1>(result) = "ScarceCageChain"; break; - case 74: std::get<1>(result) = "MandateIgnored"; break; - case 75: std::get<1>(result) = "MandateDeadlineMissed"; break; - case 76: std::get<1>(result) = "LackWork"; break; - case 77: std::get<1>(result) = "SmashedBuilding"; break; - case 78: std::get<1>(result) = "ToppledStuff"; break; - case 79: std::get<1>(result) = "NoblePromotion"; break; - case 80: std::get<1>(result) = "BecomeNoble"; break; - case 81: std::get<1>(result) = "Cavein"; break; - case 82: std::get<1>(result) = "MandateDeadlineMet"; break; - case 83: std::get<1>(result) = "Uncovered"; break; - case 84: std::get<1>(result) = "NoShirt"; break; - case 85: std::get<1>(result) = "NoShoes"; break; - case 86: std::get<1>(result) = "EatPet"; break; - case 87: std::get<1>(result) = "EatLikedCreature"; break; - case 88: std::get<1>(result) = "EatVermin"; break; - case 89: std::get<1>(result) = "FistFight"; break; - case 90: std::get<1>(result) = "GaveBeating"; break; - case 91: std::get<1>(result) = "GotBeaten"; break; - case 92: std::get<1>(result) = "GaveHammering"; break; - case 93: std::get<1>(result) = "GotHammered"; break; - case 94: std::get<1>(result) = "NoHammer"; break; - case 95: std::get<1>(result) = "SameFood"; break; - case 96: std::get<1>(result) = "AteRotten"; break; - case 97: std::get<1>(result) = "GoodMeal"; break; - case 98: std::get<1>(result) = "GoodDrink"; break; - case 99: std::get<1>(result) = "MoreChests"; break; - case 100: std::get<1>(result) = "MoreCabinets"; break; - case 101: std::get<1>(result) = "MoreWeaponRacks"; break; - case 102: std::get<1>(result) = "MoreArmorStands"; break; - case 103: std::get<1>(result) = "RoomPretension"; break; - case 104: std::get<1>(result) = "LackTables"; break; - case 105: std::get<1>(result) = "CrowdedTables"; break; - case 106: std::get<1>(result) = "DiningQuality"; break; - case 107: std::get<1>(result) = "NoDining"; break; - case 108: std::get<1>(result) = "LackChairs"; break; - case 109: std::get<1>(result) = "TrainingBond"; break; - case 110: std::get<1>(result) = "Rescued"; break; - case 111: std::get<1>(result) = "RescuedOther"; break; - case 112: std::get<1>(result) = "SatisfiedAtWork"; break; - case 113: std::get<1>(result) = "TaxedLostProperty"; break; - case 114: std::get<1>(result) = "Taxed"; break; - case 115: std::get<1>(result) = "LackProtection"; break; - case 116: std::get<1>(result) = "TaxRoomUnreachable"; break; - case 117: std::get<1>(result) = "TaxRoomMisinformed"; break; - case 118: std::get<1>(result) = "PleasedNoble"; break; - case 119: std::get<1>(result) = "TaxCollectionSmooth"; break; - case 120: std::get<1>(result) = "DisappointedNoble"; break; - case 121: std::get<1>(result) = "TaxCollectionRough"; break; - case 122: std::get<1>(result) = "MadeFriend"; break; - case 123: std::get<1>(result) = "FormedGrudge"; break; - case 124: std::get<1>(result) = "AnnoyedVermin"; break; - case 125: std::get<1>(result) = "NearVermin"; break; - case 126: std::get<1>(result) = "PesteredVermin"; break; - case 127: std::get<1>(result) = "AcquiredItem"; break; - case 128: std::get<1>(result) = "AdoptedPet"; break; - case 129: std::get<1>(result) = "Jailed"; break; - case 130: std::get<1>(result) = "Bath"; break; - case 131: std::get<1>(result) = "SoapyBath"; break; - case 132: std::get<1>(result) = "SparringAccident"; break; - case 133: std::get<1>(result) = "Attacked"; break; - case 134: std::get<1>(result) = "AttackedByDead"; break; - case 135: std::get<1>(result) = "SameBooze"; break; - case 136: std::get<1>(result) = "DrinkBlood"; break; - case 137: std::get<1>(result) = "DrinkSlime"; break; - case 138: std::get<1>(result) = "DrinkVomit"; break; - case 139: std::get<1>(result) = "DrinkGoo"; break; - case 140: std::get<1>(result) = "DrinkIchor"; break; - case 141: std::get<1>(result) = "DrinkPus"; break; - case 142: std::get<1>(result) = "NastyWater"; break; - case 143: std::get<1>(result) = "DrankSpoiled"; break; - case 144: std::get<1>(result) = "LackWell"; break; - case 145: std::get<1>(result) = "NearCaged"; break; - case 146: std::get<1>(result) = "NearCagedHated"; break; - case 147: std::get<1>(result) = "LackBedroom"; break; - case 148: std::get<1>(result) = "BedroomQuality"; break; - case 149: std::get<1>(result) = "SleptFloor"; break; - case 150: std::get<1>(result) = "SleptMud"; break; - case 151: std::get<1>(result) = "SleptGrass"; break; - case 152: std::get<1>(result) = "SleptRoughFloor"; break; - case 153: std::get<1>(result) = "SleptRocks"; break; - case 154: std::get<1>(result) = "SleptIce"; break; - case 155: std::get<1>(result) = "SleptDirt"; break; - case 156: std::get<1>(result) = "SleptDriftwood"; break; - case 157: std::get<1>(result) = "ArtDefacement"; break; - case 158: std::get<1>(result) = "Evicted"; break; - case 159: std::get<1>(result) = "GaveBirth"; break; - case 160: std::get<1>(result) = "SpouseGaveBirth"; break; - case 161: std::get<1>(result) = "ReceivedWater"; break; - case 162: std::get<1>(result) = "GaveWater"; break; - case 163: std::get<1>(result) = "ReceivedFood"; break; - case 164: std::get<1>(result) = "GaveFood"; break; - case 165: std::get<1>(result) = "Talked"; break; - case 166: std::get<1>(result) = "OfficeQuality"; break; - case 167: std::get<1>(result) = "MeetingInBedroom"; break; - case 168: std::get<1>(result) = "MeetingInDiningRoom"; break; - case 169: std::get<1>(result) = "NoRooms"; break; - case 170: std::get<1>(result) = "TombQuality"; break; - case 171: std::get<1>(result) = "TombLack"; break; - case 172: std::get<1>(result) = "TalkToNoble"; break; - case 173: std::get<1>(result) = "InteractPet"; break; - case 174: std::get<1>(result) = "ConvictionCorpse"; break; - case 175: std::get<1>(result) = "ConvictionAnimal"; break; - case 176: std::get<1>(result) = "ConvictionVictim"; break; - case 177: std::get<1>(result) = "ConvictionJusticeSelf"; break; - case 178: std::get<1>(result) = "ConvictionJusticeFamily"; break; - case 179: std::get<1>(result) = "Decay"; break; - case 180: std::get<1>(result) = "NeedsUnfulfilled"; break; - case 181: std::get<1>(result) = "Prayer"; break; - case 182: std::get<1>(result) = "DrinkWithoutCup"; break; - case 183: std::get<1>(result) = "ResearchBreakthrough"; break; - case 184: std::get<1>(result) = "ResearchStalled"; break; - case 185: std::get<1>(result) = "PonderTopic"; break; - case 186: std::get<1>(result) = "DiscussTopic"; break; - case 187: std::get<1>(result) = "Syndrome"; break; - case 188: std::get<1>(result) = "Perform"; break; - case 189: std::get<1>(result) = "WatchPerform"; break; - case 190: std::get<1>(result) = "RemoveTroupe"; break; - case 191: std::get<1>(result) = "LearnTopic"; break; - case 192: std::get<1>(result) = "LearnSkill"; break; - case 193: std::get<1>(result) = "LearnBook"; break; - case 194: std::get<1>(result) = "LearnInteraction"; break; - case 195: std::get<1>(result) = "LearnPoetry"; break; - case 196: std::get<1>(result) = "LearnMusic"; break; - case 197: std::get<1>(result) = "LearnDance"; break; - case 198: std::get<1>(result) = "TeachTopic"; break; - case 199: std::get<1>(result) = "TeachSkill"; break; - case 200: std::get<1>(result) = "ReadBook"; break; - case 201: std::get<1>(result) = "WriteBook"; break; - case 202: std::get<1>(result) = "BecomeResident"; break; - case 203: std::get<1>(result) = "BecomeCitizen"; break; - case 204: std::get<1>(result) = "DenyResident"; break; - case 205: std::get<1>(result) = "DenyCitizen"; break; - case 206: std::get<1>(result) = "LeaveTroupe"; break; - case 207: std::get<1>(result) = "MakeBelieve"; break; - case 208: std::get<1>(result) = "PlayToy"; break; - case 209: std::get<1>(result) = "DreamAbout"; break; - case 210: std::get<1>(result) = "Dream"; break; - case 211: std::get<1>(result) = "Nightmare"; break; - case 212: std::get<1>(result) = "Argument"; break; - case 213: std::get<1>(result) = "CombatDrills"; break; - case 214: std::get<1>(result) = "ArcheryPractice"; break; - case 215: std::get<1>(result) = "ImproveSkill"; break; - case 216: std::get<1>(result) = "WearItem"; break; - case 217: std::get<1>(result) = "RealizeValue"; break; - case 218: std::get<1>(result) = "OpinionStoryteller"; break; - case 219: std::get<1>(result) = "OpinionRecitation"; break; - case 220: std::get<1>(result) = "OpinionInstrumentSimulation"; break; - case 221: std::get<1>(result) = "OpinionInstrumentPlayer"; break; - case 222: std::get<1>(result) = "OpinionSinger"; break; - case 223: std::get<1>(result) = "OpinionChanter"; break; - case 224: std::get<1>(result) = "OpinionDancer"; break; - case 225: std::get<1>(result) = "OpinionStory"; break; - case 226: std::get<1>(result) = "OpinionPoetry"; break; - case 227: std::get<1>(result) = "OpinionMusic"; break; - case 228: std::get<1>(result) = "OpinionDance"; break; - case 229: std::get<1>(result) = "Defeated"; break; - case 230: std::get<1>(result) = "FavoritePossession"; break; - case 231: std::get<1>(result) = "PreserveBody"; break; - case 232: std::get<1>(result) = "Murdered"; break; - case 233: std::get<1>(result) = "HistEventCollection"; break; - case 234: std::get<1>(result) = "ViewOwnDisplay"; break; - case 235: std::get<1>(result) = "ViewDisplay"; break; - case 236: std::get<1>(result) = "AcquireArtifact"; break; - case 237: std::get<1>(result) = "DenySanctuary"; break; - case 238: std::get<1>(result) = "CaughtSneaking"; break; - case 239: std::get<1>(result) = "GaveArtifact"; break; - case 240: std::get<1>(result) = "SawDeadBody"; break; - case 241: std::get<1>(result) = "Expelled"; break; - case 242: std::get<1>(result) = "RelativeExpelled"; break; - default: break; - } - return result; -} - -std::tuple get_value_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "LAW"; break; - case 1: std::get<1>(result) = "LOYALTY"; break; - case 2: std::get<1>(result) = "FAMILY"; break; - case 3: std::get<1>(result) = "FRIENDSHIP"; break; - case 4: std::get<1>(result) = "POWER"; break; - case 5: std::get<1>(result) = "TRUTH"; break; - case 6: std::get<1>(result) = "CUNNING"; break; - case 7: std::get<1>(result) = "ELOQUENCE"; break; - case 8: std::get<1>(result) = "FAIRNESS"; break; - case 9: std::get<1>(result) = "DECORUM"; break; - case 10: std::get<1>(result) = "TRADITION"; break; - case 11: std::get<1>(result) = "ARTWORK"; break; - case 12: std::get<1>(result) = "COOPERATION"; break; - case 13: std::get<1>(result) = "INDEPENDENCE"; break; - case 14: std::get<1>(result) = "STOICISM"; break; - case 15: std::get<1>(result) = "INTROSPECTION"; break; - case 16: std::get<1>(result) = "SELF_CONTROL"; break; - case 17: std::get<1>(result) = "TRANQUILITY"; break; - case 18: std::get<1>(result) = "HARMONY"; break; - case 19: std::get<1>(result) = "MERRIMENT"; break; - case 20: std::get<1>(result) = "CRAFTSMANSHIP"; break; - case 21: std::get<1>(result) = "MARTIAL_PROWESS"; break; - case 22: std::get<1>(result) = "SKILL"; break; - case 23: std::get<1>(result) = "HARD_WORK"; break; - case 24: std::get<1>(result) = "SACRIFICE"; break; - case 25: std::get<1>(result) = "COMPETITION"; break; - case 26: std::get<1>(result) = "PERSEVERENCE"; break; - case 27: std::get<1>(result) = "LEISURE_TIME"; break; - case 28: std::get<1>(result) = "COMMERCE"; break; - case 29: std::get<1>(result) = "ROMANCE"; break; - case 30: std::get<1>(result) = "NATURE"; break; - case 31: std::get<1>(result) = "PEACE"; break; - case 32: std::get<1>(result) = "KNOWLEDGE"; break; - default: break; - } - return result; -} - -std::tuple get_goal_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "STAY_ALIVE"; break; - case 1: std::get<1>(result) = "MAINTAIN_ENTITY_STATUS"; break; - case 2: std::get<1>(result) = "START_A_FAMILY"; break; - case 3: std::get<1>(result) = "RULE_THE_WORLD"; break; - case 4: std::get<1>(result) = "CREATE_A_GREAT_WORK_OF_ART"; break; - case 5: std::get<1>(result) = "CRAFT_A_MASTERWORK"; break; - case 6: std::get<1>(result) = "BRING_PEACE_TO_THE_WORLD"; break; - case 7: std::get<1>(result) = "BECOME_A_LEGENDARY_WARRIOR"; break; - case 8: std::get<1>(result) = "MASTER_A_SKILL"; break; - case 9: std::get<1>(result) = "FALL_IN_LOVE"; break; - case 10: std::get<1>(result) = "SEE_THE_GREAT_NATURAL_SITES"; break; - case 11: std::get<1>(result) = "IMMORTALITY"; break; - case 12: std::get<1>(result) = "MAKE_A_GREAT_DISCOVERY"; break; - default: break; - } - return result; -} - -std::tuple get_personality_facet_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "LOVE_PROPENSITY"; break; - case 1: std::get<1>(result) = "HATE_PROPENSITY"; break; - case 2: std::get<1>(result) = "ENVY_PROPENSITY"; break; - case 3: std::get<1>(result) = "CHEER_PROPENSITY"; break; - case 4: std::get<1>(result) = "DEPRESSION_PROPENSITY"; break; - case 5: std::get<1>(result) = "ANGER_PROPENSITY"; break; - case 6: std::get<1>(result) = "ANXIETY_PROPENSITY"; break; - case 7: std::get<1>(result) = "LUST_PROPENSITY"; break; - case 8: std::get<1>(result) = "STRESS_VULNERABILITY"; break; - case 9: std::get<1>(result) = "GREED"; break; - case 10: std::get<1>(result) = "IMMODERATION"; break; - case 11: std::get<1>(result) = "VIOLENT"; break; - case 12: std::get<1>(result) = "PERSEVERENCE"; break; - case 13: std::get<1>(result) = "WASTEFULNESS"; break; - case 14: std::get<1>(result) = "DISCORD"; break; - case 15: std::get<1>(result) = "FRIENDLINESS"; break; - case 16: std::get<1>(result) = "POLITENESS"; break; - case 17: std::get<1>(result) = "DISDAIN_ADVICE"; break; - case 18: std::get<1>(result) = "BRAVERY"; break; - case 19: std::get<1>(result) = "CONFIDENCE"; break; - case 20: std::get<1>(result) = "VANITY"; break; - case 21: std::get<1>(result) = "AMBITION"; break; - case 22: std::get<1>(result) = "GRATITUDE"; break; - case 23: std::get<1>(result) = "IMMODESTY"; break; - case 24: std::get<1>(result) = "HUMOR"; break; - case 25: std::get<1>(result) = "VENGEFUL"; break; - case 26: std::get<1>(result) = "PRIDE"; break; - case 27: std::get<1>(result) = "CRUELTY"; break; - case 28: std::get<1>(result) = "SINGLEMINDED"; break; - case 29: std::get<1>(result) = "HOPEFUL"; break; - case 30: std::get<1>(result) = "CURIOUS"; break; - case 31: std::get<1>(result) = "BASHFUL"; break; - case 32: std::get<1>(result) = "PRIVACY"; break; - case 33: std::get<1>(result) = "PERFECTIONIST"; break; - case 34: std::get<1>(result) = "CLOSEMINDED"; break; - case 35: std::get<1>(result) = "TOLERANT"; break; - case 36: std::get<1>(result) = "EMOTIONALLY_OBSESSIVE"; break; - case 37: std::get<1>(result) = "SWAYED_BY_EMOTIONS"; break; - case 38: std::get<1>(result) = "ALTRUISM"; break; - case 39: std::get<1>(result) = "DUTIFULNESS"; break; - case 40: std::get<1>(result) = "THOUGHTLESSNESS"; break; - case 41: std::get<1>(result) = "ORDERLINESS"; break; - case 42: std::get<1>(result) = "TRUST"; break; - case 43: std::get<1>(result) = "GREGARIOUSNESS"; break; - case 44: std::get<1>(result) = "ASSERTIVENESS"; break; - case 45: std::get<1>(result) = "ACTIVITY_LEVEL"; break; - case 46: std::get<1>(result) = "EXCITEMENT_SEEKING"; break; - case 47: std::get<1>(result) = "IMAGINATION"; break; - case 48: std::get<1>(result) = "ABSTRACT_INCLINED"; break; - case 49: std::get<1>(result) = "ART_INCLINED"; break; - default: break; - } - return result; -} - -std::tuple get_physical_attribute_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "STRENGTH"; break; - case 1: std::get<1>(result) = "AGILITY"; break; - case 2: std::get<1>(result) = "TOUGHNESS"; break; - case 3: std::get<1>(result) = "ENDURANCE"; break; - case 4: std::get<1>(result) = "RECUPERATION"; break; - case 5: std::get<1>(result) = "DISEASE_RESISTANCE"; break; - default: break; - } - return result; -} - -std::tuple get_mental_attribute_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "ANALYTICAL_ABILITY"; break; - case 1: std::get<1>(result) = "FOCUS"; break; - case 2: std::get<1>(result) = "WILLPOWER"; break; - case 3: std::get<1>(result) = "CREATIVITY"; break; - case 4: std::get<1>(result) = "INTUITION"; break; - case 5: std::get<1>(result) = "PATIENCE"; break; - case 6: std::get<1>(result) = "MEMORY"; break; - case 7: std::get<1>(result) = "LINGUISTIC_ABILITY"; break; - case 8: std::get<1>(result) = "SPATIAL_SENSE"; break; - case 9: std::get<1>(result) = "MUSICALITY"; break; - case 10: std::get<1>(result) = "KINESTHETIC_SENSE"; break; - case 11: std::get<1>(result) = "EMPATHY"; break; - case 12: std::get<1>(result) = "SOCIAL_AWARENESS"; break; - default: break; - } - return result; -} - -std::tuple get_mood_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case -1: std::get<1>(result) = "None"; break; - case 0: std::get<1>(result) = "Fey"; break; - case 1: std::get<1>(result) = "Secretive"; break; - case 2: std::get<1>(result) = "Possessed"; break; - case 3: std::get<1>(result) = "Macabre"; break; - case 4: std::get<1>(result) = "Fell"; break; - case 5: std::get<1>(result) = "Melancholy"; break; - case 6: std::get<1>(result) = "Raving"; break; - case 7: std::get<1>(result) = "Berserk"; break; - case 8: std::get<1>(result) = "Baby"; break; - case 9: std::get<1>(result) = "Traumatized"; break; - default: break; - } - return result; -} - -std::tuple get_ghost_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "MurderousGhost"; break; - case 1: std::get<1>(result) = "SadisticGhost"; break; - case 2: std::get<1>(result) = "SecretivePoltergeist"; break; - case 3: std::get<1>(result) = "EnergeticPoltergeist"; break; - case 4: std::get<1>(result) = "AngryGhost"; break; - case 5: std::get<1>(result) = "ViolentGhost"; break; - case 6: std::get<1>(result) = "MoaningSpirit"; break; - case 7: std::get<1>(result) = "HowlingSpirit"; break; - case 8: std::get<1>(result) = "TroublesomePoltergeist"; break; - case 9: std::get<1>(result) = "RestlessHaunt"; break; - case 10: std::get<1>(result) = "ForlornHaunt"; break; - default: break; - } - return result; -} - -std::tuple get_animal_training_level_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "SemiWild"; break; - case 1: std::get<1>(result) = "Trained"; break; - case 2: std::get<1>(result) = "WellTrained"; break; - case 3: std::get<1>(result) = "SkilfullyTrained"; break; - case 4: std::get<1>(result) = "ExpertlyTrained"; break; - case 5: std::get<1>(result) = "ExceptionallyTrained"; break; - case 6: std::get<1>(result) = "MasterfullyTrained"; break; - case 7: std::get<1>(result) = "Domesticated"; break; - case 8: std::get<1>(result) = "Unk8"; break; - case 9: std::get<1>(result) = "WildUntamed"; std::get<2>(result) = "Seems to be used as default when not flags1.tame"; break; - default: break; - } - return result; -} - -std::tuple get_unit_report_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Combat"; break; - case 1: std::get<1>(result) = "Sparring"; break; - case 2: std::get<1>(result) = "Hunting"; break; - default: break; - } - return result; -} - -std::tuple get_skill_rating_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Dabbling"; break; - case 1: std::get<1>(result) = "Novice"; break; - case 2: std::get<1>(result) = "Adequate"; break; - case 3: std::get<1>(result) = "Competent"; break; - case 4: std::get<1>(result) = "Skilled"; break; - case 5: std::get<1>(result) = "Proficient"; break; - case 6: std::get<1>(result) = "Talented"; break; - case 7: std::get<1>(result) = "Adept"; break; - case 8: std::get<1>(result) = "Expert"; break; - case 9: std::get<1>(result) = "Professional"; break; - case 10: std::get<1>(result) = "Accomplished"; break; - case 11: std::get<1>(result) = "Great"; break; - case 12: std::get<1>(result) = "Master"; break; - case 13: std::get<1>(result) = "HighMaster"; break; - case 14: std::get<1>(result) = "GrandMaster"; break; - case 15: std::get<1>(result) = "Legendary"; break; - case 16: std::get<1>(result) = "Legendary1"; break; - case 17: std::get<1>(result) = "Legendary2"; break; - case 18: std::get<1>(result) = "Legendary3"; break; - case 19: std::get<1>(result) = "Legendary4"; break; - case 20: std::get<1>(result) = "Legendary5"; break; - default: break; - } - return result; -} - -std::tuple get_unit_relationship_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case -1: std::get<1>(result) = "None"; break; - case 0: std::get<1>(result) = "Pet"; break; - case 1: std::get<1>(result) = "Spouse"; break; - case 2: std::get<1>(result) = "Mother"; break; - case 3: std::get<1>(result) = "Father"; break; - case 4: std::get<1>(result) = "LastAttacker"; break; - case 5: std::get<1>(result) = "GroupLeader"; break; - case 6: std::get<1>(result) = "Draggee"; break; - case 7: std::get<1>(result) = "Dragger"; break; - case 8: std::get<1>(result) = "RiderMount"; break; - case 9: std::get<1>(result) = "Lover"; break; - case 10: std::get<1>(result) = "unk10"; break; - case 11: std::get<1>(result) = "Sibling"; break; - case 12: std::get<1>(result) = "Child"; break; - case 13: std::get<1>(result) = "Friend"; break; - case 14: std::get<1>(result) = "Grudge"; break; - case 15: std::get<1>(result) = "Worship"; break; - case 16: std::get<1>(result) = "AcquaintanceLong"; break; - case 17: std::get<1>(result) = "AcquaintancePassing"; break; - case 18: std::get<1>(result) = "Bonded"; break; - case 19: std::get<1>(result) = "Hero"; break; - case 20: std::get<1>(result) = "ConsidersViolent"; break; - case 21: std::get<1>(result) = "ConsidersPsychotic"; break; - case 22: std::get<1>(result) = "GoodForBusiness"; break; - case 23: std::get<1>(result) = "FriendlyTerms"; break; - case 24: std::get<1>(result) = "ConsidersKiller"; break; - case 25: std::get<1>(result) = "ConsidersMurderer"; break; - case 26: std::get<1>(result) = "Comrade"; break; - case 27: std::get<1>(result) = "MemberOfRespectedGroup"; break; - case 28: std::get<1>(result) = "MemberOfHatedGroup"; break; - case 29: std::get<1>(result) = "EnemyFighter"; break; - case 30: std::get<1>(result) = "FriendlyFighter"; break; - case 31: std::get<1>(result) = "ConsidersBully"; break; - case 32: std::get<1>(result) = "ConsidersBrigand"; break; - case 33: std::get<1>(result) = "LoyalSoldier"; break; - case 34: std::get<1>(result) = "ConsidersMonster"; break; - case 35: std::get<1>(result) = "ConsidersStoryteller"; break; - case 36: std::get<1>(result) = "ConsidersPoet"; break; - case 37: std::get<1>(result) = "ConsidersBard"; break; - case 38: std::get<1>(result) = "ConsidersDancer"; break; - case 39: std::get<1>(result) = "Master"; break; - case 40: std::get<1>(result) = "Apprentice"; break; - case 41: std::get<1>(result) = "Companion"; break; - case 42: std::get<1>(result) = "FormerMaster"; break; - case 43: std::get<1>(result) = "FormerApprentice"; break; - case 44: std::get<1>(result) = "ConsidersQuarreler"; break; - case 45: std::get<1>(result) = "ConsidersFlatterer"; break; - case 46: std::get<1>(result) = "Hunter"; break; - case 47: std::get<1>(result) = "ProtectorOfTheWeak"; break; - default: break; - } - return result; -} - -std::tuple get_need_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Socialize"; break; - case 1: std::get<1>(result) = "DrinkAlcohol"; break; - case 2: std::get<1>(result) = "PrayOrMeditate"; break; - case 3: std::get<1>(result) = "StayOccupied"; break; - case 4: std::get<1>(result) = "BeCreative"; break; - case 5: std::get<1>(result) = "Excitement"; break; - case 6: std::get<1>(result) = "LearnSomething"; break; - case 7: std::get<1>(result) = "BeWithFamily"; break; - case 8: std::get<1>(result) = "BeWithFriends"; break; - case 9: std::get<1>(result) = "HearEloquence"; break; - case 10: std::get<1>(result) = "UpholdTradition"; break; - case 11: std::get<1>(result) = "SelfExamination"; break; - case 12: std::get<1>(result) = "MakeMerry"; break; - case 13: std::get<1>(result) = "CraftObject"; break; - case 14: std::get<1>(result) = "MartialTraining"; break; - case 15: std::get<1>(result) = "PracticeSkill"; break; - case 16: std::get<1>(result) = "TakeItEasy"; break; - case 17: std::get<1>(result) = "MakeRomance"; break; - case 18: std::get<1>(result) = "SeeAnimal"; break; - case 19: std::get<1>(result) = "SeeGreatBeast"; break; - case 20: std::get<1>(result) = "AcquireObject"; break; - case 21: std::get<1>(result) = "EatGoodMeal"; break; - case 22: std::get<1>(result) = "Fight"; break; - case 23: std::get<1>(result) = "CauseTrouble"; break; - case 24: std::get<1>(result) = "Argue"; break; - case 25: std::get<1>(result) = "BeExtravagant"; break; - case 26: std::get<1>(result) = "Wander"; break; - case 27: std::get<1>(result) = "HelpSomebody"; break; - case 28: std::get<1>(result) = "ThinkAbstractly"; break; - case 29: std::get<1>(result) = "AdmireArt"; break; - default: break; - } - return result; -} - -std::tuple get_ghost_goal_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case -1: std::get<1>(result) = "None"; break; - case 0: std::get<1>(result) = "ScareToDeath"; break; - case 1: std::get<1>(result) = "Stun"; break; - case 2: std::get<1>(result) = "Batter"; break; - case 3: std::get<1>(result) = "Possess"; break; - case 4: std::get<1>(result) = "MisplaceItem"; break; - case 5: std::get<1>(result) = "Haunt"; break; - case 6: std::get<1>(result) = "Torment"; break; - case 7: std::get<1>(result) = "ToppleBuilding"; break; - default: break; - } - return result; -} - -std::tuple get_wound_effect_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Bruise"; break; - case 1: std::get<1>(result) = "Burn"; break; - case 2: std::get<1>(result) = "Frostbite"; break; - case 3: std::get<1>(result) = "Burn2"; break; - case 4: std::get<1>(result) = "Melting"; break; - case 5: std::get<1>(result) = "Boiling"; break; - case 6: std::get<1>(result) = "Freezing"; break; - case 7: std::get<1>(result) = "Condensation"; break; - case 8: std::get<1>(result) = "Necrosis"; break; - case 9: std::get<1>(result) = "Blister"; break; - default: break; - } - return result; -} - -std::tuple get_misc_trait_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "RequestWaterCooldown"; break; - case 1: std::get<1>(result) = "RequestFoodCooldown"; break; - case 2: std::get<1>(result) = "RequestRescueCooldown"; break; - case 3: std::get<1>(result) = "RequestHealthcareCooldown"; break; - case 4: std::get<1>(result) = "GetDrinkCooldown"; std::get<2>(result) = "auto-decrement"; break; - case 5: std::get<1>(result) = "GetFoodCooldown"; std::get<2>(result) = "auto-decrement"; break; - case 6: std::get<1>(result) = "CleanSelfCooldown"; std::get<2>(result) = "auto-decrement"; break; - case 7: std::get<1>(result) = "Migrant"; std::get<2>(result) = "auto-decrement"; break; - case 8: std::get<1>(result) = "RoomComplaint"; std::get<2>(result) = "auto-decrement"; break; - case 9: std::get<1>(result) = "UnnamedResident"; std::get<2>(result) = "upon reaching zero, resident creature gets named"; break; - case 10: std::get<1>(result) = "RentBedroomCooldown"; std::get<2>(result) = "auto-decrement"; break; - case 11: std::get<1>(result) = "ClaimTrinketCooldown"; std::get<2>(result) = "auto-decrement"; break; - case 12: std::get<1>(result) = "ClaimClothingCooldown"; std::get<2>(result) = "auto-decrement"; break; - case 13: std::get<1>(result) = "WantsDrink"; std::get<2>(result) = "auto-increment to 403200"; break; - case 14: std::get<1>(result) = "anon_1"; std::get<2>(result) = "formerly LikesOutdoors"; break; - case 15: std::get<1>(result) = "anon_2"; std::get<2>(result) = "formerly Hardened"; break; - case 16: std::get<1>(result) = "anon_3"; std::get<2>(result) = "formerly TimeSinceBreak"; break; - case 17: std::get<1>(result) = "anon_4"; std::get<2>(result) = "formerly OnBreak"; break; - case 18: std::get<1>(result) = "PrepareToDie"; std::get<2>(result) = "auto-decrement"; break; - case 19: std::get<1>(result) = "CaveAdapt"; break; - case 20: std::get<1>(result) = "anon_5"; std::get<2>(result) = "auto-decrement"; break; - case 21: std::get<1>(result) = "anon_6"; std::get<2>(result) = "auto-decrement"; break; - case 22: std::get<1>(result) = "anon_7"; break; - case 23: std::get<1>(result) = "anon_8"; std::get<2>(result) = "auto-decrement"; break; - case 24: std::get<1>(result) = "FollowUnitCooldown"; std::get<2>(result) = "0-20, 200 on failed path, auto-decrement"; break; - case 25: std::get<1>(result) = "anon_9"; std::get<2>(result) = "auto-decrement"; break; - case 26: std::get<1>(result) = "anon_10"; std::get<2>(result) = "auto-decrement"; break; - case 27: std::get<1>(result) = "anon_11"; break; - case 28: std::get<1>(result) = "DangerousTerrainCooldown"; std::get<2>(result) = "created at 200, blocks repath?, auto-decrement"; break; - case 29: std::get<1>(result) = "Beaching"; std::get<2>(result) = "triggered by BEACH_FREQUENCY, auto-decrement"; break; - case 30: std::get<1>(result) = "IdleAreaCooldown"; std::get<2>(result) = "auto-decrement"; break; - case 31: std::get<1>(result) = "anon_12"; std::get<2>(result) = "auto-decrement"; break; - case 32: std::get<1>(result) = "PartiedOut"; std::get<2>(result) = "auto-decrement"; break; - case 33: std::get<1>(result) = "DiagnosePatientCooldown"; std::get<2>(result) = "0-2000, auto-decrement"; break; - case 34: std::get<1>(result) = "DressWoundCooldown"; std::get<2>(result) = "auto-decrement"; break; - case 35: std::get<1>(result) = "CleanPatientCooldown"; std::get<2>(result) = "auto-decrement"; break; - case 36: std::get<1>(result) = "SurgeryCooldown"; std::get<2>(result) = "auto-decrement"; break; - case 37: std::get<1>(result) = "SutureCooldown"; std::get<2>(result) = "auto-decrement"; break; - case 38: std::get<1>(result) = "SetBoneCooldown"; std::get<2>(result) = "auto-decrement"; break; - case 39: std::get<1>(result) = "PlaceInTractionCooldown"; std::get<2>(result) = "auto-decrement"; break; - case 40: std::get<1>(result) = "ApplyCastCooldown"; std::get<2>(result) = "auto-decrement"; break; - case 41: std::get<1>(result) = "ImmobilizeBreakCooldown"; std::get<2>(result) = "auto-decrement"; break; - case 42: std::get<1>(result) = "BringCrutchCooldown"; std::get<2>(result) = "auto-decrement"; break; - case 43: std::get<1>(result) = "anon_13"; std::get<2>(result) = "auto-decrement, set military pickup flag upon reaching zero"; break; - case 44: std::get<1>(result) = "MilkCounter"; std::get<2>(result) = "auto-decrement"; break; - case 45: std::get<1>(result) = "HadDrill"; std::get<2>(result) = "auto-decrement"; break; - case 46: std::get<1>(result) = "CompletedDrill"; std::get<2>(result) = "auto-decrement"; break; - case 47: std::get<1>(result) = "EggSpent"; std::get<2>(result) = "auto-decrement"; break; - case 48: std::get<1>(result) = "GroundedAnimalAnger"; std::get<2>(result) = "auto-decrement"; break; - case 49: std::get<1>(result) = "anon_14"; std::get<2>(result) = "auto-decrement"; break; - case 50: std::get<1>(result) = "TimeSinceSuckedBlood"; break; - case 51: std::get<1>(result) = "DrinkingBlood"; std::get<2>(result) = "auto-decrement"; break; - case 52: std::get<1>(result) = "anon_15"; std::get<2>(result) = "auto-decrement"; break; - case 53: std::get<1>(result) = "anon_16"; std::get<2>(result) = "auto-decrement"; break; - case 54: std::get<1>(result) = "RevertWildTimer"; std::get<2>(result) = "one trigger => --training_level, auto-decrement"; break; - case 55: std::get<1>(result) = "anon_17"; std::get<2>(result) = "auto-decrement"; break; - case 56: std::get<1>(result) = "NoPantsAnger"; std::get<2>(result) = "auto-decrement"; break; - case 57: std::get<1>(result) = "NoShirtAnger"; std::get<2>(result) = "auto-decrement"; break; - case 58: std::get<1>(result) = "NoShoesAnger"; std::get<2>(result) = "auto-decrement"; break; - default: break; - } - return result; -} - -std::tuple get_unit_action_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case -1: std::get<1>(result) = "None"; break; - case 0: std::get<1>(result) = "Move"; break; - case 1: std::get<1>(result) = "Attack"; break; - case 2: std::get<1>(result) = "Jump"; break; - case 3: std::get<1>(result) = "HoldTerrain"; break; - case 4: std::get<1>(result) = "ReleaseTerrain"; break; - case 5: std::get<1>(result) = "Climb"; break; - case 6: std::get<1>(result) = "Job"; break; - case 7: std::get<1>(result) = "Talk"; break; - case 8: std::get<1>(result) = "Unsteady"; break; - case 9: std::get<1>(result) = "Parry"; break; - case 10: std::get<1>(result) = "Block"; break; - case 11: std::get<1>(result) = "Dodge"; break; - case 12: std::get<1>(result) = "Recover"; break; - case 13: std::get<1>(result) = "StandUp"; break; - case 14: std::get<1>(result) = "LieDown"; break; - case 15: std::get<1>(result) = "Job2"; break; - case 16: std::get<1>(result) = "PushObject"; break; - case 17: std::get<1>(result) = "SuckBlood"; break; - case 18: std::get<1>(result) = "HoldItem"; break; - case 19: std::get<1>(result) = "ReleaseItem"; break; - default: break; - } - return result; -} - -std::tuple get_interface_breakdown_types_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "NONE"; break; - case 1: std::get<1>(result) = "QUIT"; break; - case 2: std::get<1>(result) = "STOPSCREEN"; break; - case 3: std::get<1>(result) = "TOFIRST"; break; - default: break; - } - return result; -} - -std::tuple get_embark_finder_option_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "DimensionX"; break; - case 1: std::get<1>(result) = "DimensionY"; break; - case 2: std::get<1>(result) = "Savagery"; break; - case 3: std::get<1>(result) = "Evil"; break; - case 4: std::get<1>(result) = "Elevation"; break; - case 5: std::get<1>(result) = "Temperature"; break; - case 6: std::get<1>(result) = "Rain"; break; - case 7: std::get<1>(result) = "Drainage"; break; - case 8: std::get<1>(result) = "FluxStone"; break; - case 9: std::get<1>(result) = "Aquifer"; break; - case 10: std::get<1>(result) = "River"; break; - case 11: std::get<1>(result) = "UndergroundRiver"; break; - case 12: std::get<1>(result) = "UndergroundPool"; break; - case 13: std::get<1>(result) = "MagmaPool"; break; - case 14: std::get<1>(result) = "MagmaPipe"; break; - case 15: std::get<1>(result) = "Chasm"; break; - case 16: std::get<1>(result) = "BottomlessPit"; break; - case 17: std::get<1>(result) = "OtherFeatures"; break; - case 18: std::get<1>(result) = "ShallowMetal"; break; - case 19: std::get<1>(result) = "DeepMetal"; break; - case 20: std::get<1>(result) = "Soil"; break; - case 21: std::get<1>(result) = "Clay"; break; - default: break; - } - return result; -} - -std::tuple get_viewscreen_image_creator_mode_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case -1: std::get<1>(result) = "None"; break; - case 0: std::get<1>(result) = "ArtistToChoose"; break; - case 1: std::get<1>(result) = "Histfig"; break; - case 2: std::get<1>(result) = "Site"; break; - case 3: std::get<1>(result) = "Entity"; break; - case 4: std::get<1>(result) = "HistoryEvent"; break; - case 5: std::get<1>(result) = "ExistingImage"; break; - case 6: std::get<1>(result) = "NewImage"; break; - case 7: std::get<1>(result) = "AddCreature"; break; - case 8: std::get<1>(result) = "AddHistfig"; break; - case 9: std::get<1>(result) = "AddPlant"; break; - case 10: std::get<1>(result) = "AddTree"; break; - case 11: std::get<1>(result) = "AddShape"; break; - case 12: std::get<1>(result) = "AddObject"; break; - case 13: std::get<1>(result) = "AddArtifact"; break; - case 14: std::get<1>(result) = "AddRelationship"; break; - case 15: std::get<1>(result) = "ChooseRelationshipX"; break; - case 16: std::get<1>(result) = "ChooseRelationshipY"; break; - case 17: std::get<1>(result) = "EnterNumber"; break; - case 18: std::get<1>(result) = "DeleteElement"; break; - default: break; - } - return result; -} - -std::tuple get_viewscreen_kitchenpref_page_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "VegetablesFruitLeaves"; break; - case 1: std::get<1>(result) = "Seeds"; break; - case 2: std::get<1>(result) = "Drinks"; break; - case 3: std::get<1>(result) = "MeatFishOther"; break; - default: break; - } - return result; -} - -std::tuple get_adventurer_attribute_level_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "VeryLow"; break; - case 1: std::get<1>(result) = "Low"; break; - case 2: std::get<1>(result) = "BelowAverage"; break; - case 3: std::get<1>(result) = "Average"; break; - case 4: std::get<1>(result) = "AboveAverage"; break; - case 5: std::get<1>(result) = "High"; break; - case 6: std::get<1>(result) = "Superior"; break; - default: break; - } - return result; -} - -std::tuple get_viewscreen_unitlist_page_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Citizens"; break; - case 1: std::get<1>(result) = "Livestock"; break; - case 2: std::get<1>(result) = "Others"; break; - case 3: std::get<1>(result) = "Dead"; break; - default: break; - } - return result; -} - -std::tuple get_world_population_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Animal"; break; - case 1: std::get<1>(result) = "Vermin"; break; - case 2: std::get<1>(result) = "Unk2"; break; - case 3: std::get<1>(result) = "VerminInnumerable"; break; - case 4: std::get<1>(result) = "ColonyInsect"; break; - case 5: std::get<1>(result) = "Tree"; break; - case 6: std::get<1>(result) = "Grass"; break; - case 7: std::get<1>(result) = "Bush"; break; - default: break; - } - return result; -} - -std::tuple get_world_region_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Swamp"; break; - case 1: std::get<1>(result) = "Desert"; break; - case 2: std::get<1>(result) = "Jungle"; break; - case 3: std::get<1>(result) = "Mountains"; break; - case 4: std::get<1>(result) = "Ocean"; break; - case 5: std::get<1>(result) = "Lake"; break; - case 6: std::get<1>(result) = "Glacier"; break; - case 7: std::get<1>(result) = "Tundra"; break; - case 8: std::get<1>(result) = "Steppe"; break; - case 9: std::get<1>(result) = "Hills"; std::get<2>(result) = "Steppe and Hills share the same set of biomes, differing only in Drainage"; break; - default: break; - } - return result; -} - -std::tuple get_geo_layer_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "SOIL"; break; - case 1: std::get<1>(result) = "SEDIMENTARY"; break; - case 2: std::get<1>(result) = "METAMORPHIC"; break; - case 3: std::get<1>(result) = "IGNEOUS_EXTRUSIVE"; break; - case 4: std::get<1>(result) = "IGNEOUS_INTRUSIVE"; break; - case 5: std::get<1>(result) = "SOIL_OCEAN"; break; - case 6: std::get<1>(result) = "SOIL_SAND"; break; - case 7: std::get<1>(result) = "SEDIMENTARY_OCEAN_SHALLOW"; break; - case 8: std::get<1>(result) = "SEDIMENTARY_OCEAN_DEEP"; break; - default: break; - } - return result; -} - -std::tuple get_region_map_entry_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "has_river"; break; - case 1: std::get<1>(result) = "tile_variant"; break; - case 2: std::get<1>(result) = "anon_1"; break; - case 3: std::get<1>(result) = "has_site"; break; - case 4: std::get<1>(result) = "anon_2"; break; - case 5: std::get<1>(result) = "river_up"; break; - case 6: std::get<1>(result) = "river_down"; break; - case 7: std::get<1>(result) = "river_right"; break; - case 8: std::get<1>(result) = "river_left"; break; - case 9: std::get<1>(result) = "discovered"; break; - case 10: std::get<1>(result) = "anon_3"; break; - case 11: std::get<1>(result) = "anon_4"; break; - case 12: std::get<1>(result) = "anon_5"; break; - case 13: std::get<1>(result) = "is_peak"; break; - case 14: std::get<1>(result) = "is_lake"; break; - case 15: std::get<1>(result) = "is_brook"; break; - case 16: std::get<1>(result) = "has_road"; break; - case 17: std::get<1>(result) = "anon_6"; break; - case 18: std::get<1>(result) = "anon_7"; break; - case 19: std::get<1>(result) = "anon_8"; break; - case 20: std::get<1>(result) = "anon_9"; break; - case 21: std::get<1>(result) = "anon_10"; break; - case 22: std::get<1>(result) = "anon_11"; break; - case 23: std::get<1>(result) = "anon_12"; break; - default: break; - } - return result; -} - -std::tuple get_front_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "front_none"; break; - case 1: std::get<1>(result) = "front_warm"; break; - case 2: std::get<1>(result) = "front_cold"; break; - case 3: std::get<1>(result) = "front_occluded"; break; - default: break; - } - return result; -} - -std::tuple get_cumulus_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "cumulus_none"; break; - case 1: std::get<1>(result) = "cumulus_medium"; break; - case 2: std::get<1>(result) = "cumulus_multi"; break; - case 3: std::get<1>(result) = "cumulus_nimbus"; break; - default: break; - } - return result; -} - -std::tuple get_stratus_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "stratus_none"; break; - case 1: std::get<1>(result) = "stratus_alto"; break; - case 2: std::get<1>(result) = "stratus_proper"; break; - case 3: std::get<1>(result) = "stratus_nimbus"; break; - default: break; - } - return result; -} - -std::tuple get_fog_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "fog_none"; break; - case 1: std::get<1>(result) = "fog_mist"; break; - case 2: std::get<1>(result) = "fog_normal"; break; - case 3: std::get<1>(result) = "fog_thick"; break; - default: break; - } - return result; -} - -std::tuple get_mountain_peak_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "is_volcano"; break; - default: break; - } - return result; -} - -std::tuple get_abstract_building_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "MEAD_HALL"; break; - case 1: std::get<1>(result) = "KEEP"; break; - case 2: std::get<1>(result) = "TEMPLE"; break; - case 3: std::get<1>(result) = "DARK_TOWER"; break; - case 4: std::get<1>(result) = "MARKET"; break; - case 5: std::get<1>(result) = "TOMB"; break; - case 6: std::get<1>(result) = "DUNGEON"; break; - case 7: std::get<1>(result) = "UNDERWORLD_SPIRE"; break; - case 8: std::get<1>(result) = "INN_TAVERN"; break; - case 9: std::get<1>(result) = "LIBRARY"; break; - default: break; - } - return result; -} - -std::tuple get_abstract_building_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Unk0"; break; - case 1: std::get<1>(result) = "Unk1"; break; - case 2: std::get<1>(result) = "Unk2"; break; - case 3: std::get<1>(result) = "Unk3"; break; - case 4: std::get<1>(result) = "AllowVisitors"; break; - case 5: std::get<1>(result) = "AllowResidents"; break; - case 6: std::get<1>(result) = "Unk6"; break; - case 7: std::get<1>(result) = "Unk7"; break; - default: break; - } - return result; -} - -std::tuple get_world_site_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "PlayerFortress"; break; - case 1: std::get<1>(result) = "DarkFortress"; break; - case 2: std::get<1>(result) = "Cave"; break; - case 3: std::get<1>(result) = "MountainHalls"; break; - case 4: std::get<1>(result) = "ForestRetreat"; break; - case 5: std::get<1>(result) = "Town"; break; - case 6: std::get<1>(result) = "ImportantLocation"; break; - case 7: std::get<1>(result) = "LairShrine"; break; - case 8: std::get<1>(result) = "Fortress"; break; - case 9: std::get<1>(result) = "Camp"; break; - case 10: std::get<1>(result) = "Monument"; break; - default: break; - } - return result; -} - -std::tuple get_world_site_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Undiscovered"; break; - case 1: std::get<1>(result) = "anon_1"; break; - case 2: std::get<1>(result) = "anon_2"; break; - case 3: std::get<1>(result) = "Town"; std::get<2>(result) = "not hamlet"; break; - default: break; - } - return result; -} - -std::tuple get_site_realization_building_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "cottage_plot"; break; - case 1: std::get<1>(result) = "castle_wall"; break; - case 2: std::get<1>(result) = "castle_tower"; break; - case 3: std::get<1>(result) = "castle_courtyard"; break; - case 4: std::get<1>(result) = "house"; break; - case 5: std::get<1>(result) = "temple"; break; - case 6: std::get<1>(result) = "tomb"; break; - case 7: std::get<1>(result) = "shop_house"; break; - case 8: std::get<1>(result) = "warehouse"; break; - case 9: std::get<1>(result) = "market_square"; break; - case 10: std::get<1>(result) = "pasture"; break; - case 11: std::get<1>(result) = "waste"; break; - case 12: std::get<1>(result) = "courtyard"; break; - case 13: std::get<1>(result) = "well"; break; - case 14: std::get<1>(result) = "vault"; break; - case 15: std::get<1>(result) = "great_tower"; break; - case 16: std::get<1>(result) = "trenches"; break; - case 17: std::get<1>(result) = "tree_house"; break; - case 18: std::get<1>(result) = "hillock_house"; break; - case 19: std::get<1>(result) = "mead_hall"; break; - case 20: std::get<1>(result) = "fortress_entrance"; break; - case 21: std::get<1>(result) = "library"; break; - case 22: std::get<1>(result) = "tavern"; break; - default: break; - } - return result; -} - -std::tuple get_site_shop_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "GeneralImports"; break; - case 1: std::get<1>(result) = "FoodImports"; break; - case 2: std::get<1>(result) = "ClothingImports"; break; - case 3: std::get<1>(result) = "Cloth"; break; - case 4: std::get<1>(result) = "Leather"; break; - case 5: std::get<1>(result) = "WovenClothing"; break; - case 6: std::get<1>(result) = "LeatherClothing"; break; - case 7: std::get<1>(result) = "BoneCarver"; break; - case 8: std::get<1>(result) = "GemCutter"; break; - case 9: std::get<1>(result) = "Weaponsmith"; break; - case 10: std::get<1>(result) = "Bowyer"; break; - case 11: std::get<1>(result) = "Blacksmith"; break; - case 12: std::get<1>(result) = "Armorsmith"; break; - case 13: std::get<1>(result) = "MetalCraft"; break; - case 14: std::get<1>(result) = "LeatherGoods"; break; - case 15: std::get<1>(result) = "Carpenter"; break; - case 16: std::get<1>(result) = "StoneFurniture"; break; - case 17: std::get<1>(result) = "MetalFurniture"; break; - case 18: std::get<1>(result) = "ImportedGoodsMarket"; break; - case 19: std::get<1>(result) = "ImportedFoodMarket"; break; - case 20: std::get<1>(result) = "ImportedClothingMarket"; break; - case 21: std::get<1>(result) = "MeatMarket"; break; - case 22: std::get<1>(result) = "FruitAndVegetableMarket"; break; - case 23: std::get<1>(result) = "CheeseMarket"; break; - case 24: std::get<1>(result) = "ProcessedGoodsMarket"; break; - case 25: std::get<1>(result) = "Tavern"; break; - default: break; - } - return result; -} - -std::tuple get_tree_house_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "TreeHouse"; break; - case 1: std::get<1>(result) = "HomeTree"; break; - case 2: std::get<1>(result) = "ShapingTree"; break; - case 3: std::get<1>(result) = "MarketTree"; break; - case 4: std::get<1>(result) = "Unknown1"; break; - case 5: std::get<1>(result) = "Unknown2"; break; - default: break; - } - return result; -} - -std::tuple get_hillock_house_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "anon_1"; break; - case 1: std::get<1>(result) = "CivicMound"; break; - case 2: std::get<1>(result) = "CastleMound"; break; - case 3: std::get<1>(result) = "DrinkingMound"; break; - default: break; - } - return result; -} - -std::tuple get_creation_zone_pwg_alteration_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "location_death"; break; - case 1: std::get<1>(result) = "camp"; break; - case 2: std::get<1>(result) = "srb_ruined"; break; - case 3: std::get<1>(result) = "srp_ruined"; break; - default: break; - } - return result; -} - -std::tuple get_worldgen_region_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "SWAMP"; break; - case 1: std::get<1>(result) = "DESERT"; break; - case 2: std::get<1>(result) = "FOREST"; break; - case 3: std::get<1>(result) = "MOUNTAINS"; break; - case 4: std::get<1>(result) = "OCEAN"; break; - case 5: std::get<1>(result) = "LAKE"; break; - case 6: std::get<1>(result) = "GLACIER"; break; - case 7: std::get<1>(result) = "TUNDRA"; break; - case 8: std::get<1>(result) = "GRASSLAND"; break; - case 9: std::get<1>(result) = "HILLS"; break; - default: break; - } - return result; -} - -std::tuple get_worldgen_range_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "ELEVATION"; break; - case 1: std::get<1>(result) = "RAINFALL"; break; - case 2: std::get<1>(result) = "anon_1"; break; - case 3: std::get<1>(result) = "TEMPERATURE"; break; - case 4: std::get<1>(result) = "anon_2"; break; - case 5: std::get<1>(result) = "DRAINAGE"; break; - case 6: std::get<1>(result) = "VOLCANISM"; break; - case 7: std::get<1>(result) = "SAVAGERY"; break; - case 8: std::get<1>(result) = "anon_3"; break; - case 9: std::get<1>(result) = "anon_4"; break; - case 10: std::get<1>(result) = "anon_5"; break; - case 11: std::get<1>(result) = "anon_6"; break; - case 12: std::get<1>(result) = "anon_7"; break; - case 13: std::get<1>(result) = "anon_8"; break; - case 14: std::get<1>(result) = "anon_9"; break; - case 15: std::get<1>(result) = "anon_10"; break; - case 16: std::get<1>(result) = "anon_11"; break; - case 17: std::get<1>(result) = "anon_12"; break; - case 18: std::get<1>(result) = "anon_13"; break; - case 19: std::get<1>(result) = "anon_14"; break; - case 20: std::get<1>(result) = "anon_15"; break; - case 21: std::get<1>(result) = "anon_16"; break; - case 22: std::get<1>(result) = "anon_17"; break; - case 23: std::get<1>(result) = "anon_18"; break; - default: break; - } - return result; -} - -std::tuple get_units_other_id_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "ANY_RIDER"; break; - case 1: std::get<1>(result) = "ANY_BABY2"; break; - default: break; - } - return result; -} - -std::tuple get_conflict_level_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case -1: std::get<1>(result) = "None"; break; - case 0: std::get<1>(result) = "Encounter"; break; - case 1: std::get<1>(result) = "Horseplay"; break; - case 2: std::get<1>(result) = "Training"; break; - case 3: std::get<1>(result) = "Brawl"; break; - case 4: std::get<1>(result) = "Nonlethal"; break; - case 5: std::get<1>(result) = "Lethal"; break; - case 6: std::get<1>(result) = "NoQuarter"; break; - default: break; - } - return result; -} - -std::tuple get_combat_report_event_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "anon_1"; break; - case 1: std::get<1>(result) = "Deflected"; break; - case 2: std::get<1>(result) = "anon_2"; break; - case 3: std::get<1>(result) = "anon_3"; break; - case 4: std::get<1>(result) = "anon_4"; break; - case 5: std::get<1>(result) = "anon_5"; break; - case 6: std::get<1>(result) = "Unconscious"; break; - case 7: std::get<1>(result) = "Stunned"; break; - case 8: std::get<1>(result) = "MoreStunned"; break; - case 9: std::get<1>(result) = "Winded"; break; - case 10: std::get<1>(result) = "MoreWinded"; break; - case 11: std::get<1>(result) = "Nausea"; break; - case 12: std::get<1>(result) = "MoreNausea"; break; - case 13: std::get<1>(result) = "anon_6"; break; - case 14: std::get<1>(result) = "anon_7"; break; - case 15: std::get<1>(result) = "ExtractInjected"; break; - case 16: std::get<1>(result) = "ExtractSprayed"; break; - case 17: std::get<1>(result) = "BloodSucked"; break; - case 18: std::get<1>(result) = "SeveredPart"; break; - case 19: std::get<1>(result) = "anon_8"; break; - case 20: std::get<1>(result) = "KnockedBack"; break; - case 21: std::get<1>(result) = "StuckIn"; break; - case 22: std::get<1>(result) = "LatchOnPart"; break; - case 23: std::get<1>(result) = "LatchOn"; break; - case 24: std::get<1>(result) = "Enraged"; break; - case 25: std::get<1>(result) = "PassThrough"; break; - case 26: std::get<1>(result) = "GlancesAway"; break; - case 27: std::get<1>(result) = "anon_9"; break; - case 28: std::get<1>(result) = "anon_10"; break; - case 29: std::get<1>(result) = "MajorArtery"; break; - case 30: std::get<1>(result) = "Artery"; break; - case 31: std::get<1>(result) = "MotorNerve"; break; - case 32: std::get<1>(result) = "SensoryNerve"; break; - case 33: std::get<1>(result) = "NoForce"; break; - case 34: std::get<1>(result) = "Interrupted"; break; - default: break; - } - return result; -} - -std::tuple get_conversation__T_state_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "started"; break; - case 1: std::get<1>(result) = "active"; break; - case 2: std::get<1>(result) = "finished"; break; - case 3: std::get<1>(result) = "quit"; break; - default: break; - } - return result; -} - -std::tuple get_building_archerytargetst__T_archery_direction_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "TopToBottom"; break; - case 1: std::get<1>(result) = "BottomToTop"; break; - case 2: std::get<1>(result) = "LeftToRight"; break; - case 3: std::get<1>(result) = "RightToLeft"; break; - default: break; - } - return result; -} - -std::tuple get_building_bridgest__T_direction_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case -1: std::get<1>(result) = "Retracting"; break; - case 0: std::get<1>(result) = "Left"; break; - case 1: std::get<1>(result) = "Right"; break; - case 2: std::get<1>(result) = "Up"; break; - case 3: std::get<1>(result) = "Down"; break; - default: break; - } - return result; -} - -std::tuple get_building_siegeenginest__T_facing_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Left"; break; - case 1: std::get<1>(result) = "Up"; break; - case 2: std::get<1>(result) = "Right"; break; - case 3: std::get<1>(result) = "Down"; break; - default: break; - } - return result; -} - -std::tuple get_building_siegeenginest__T_action_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "NotInUse"; break; - case 1: std::get<1>(result) = "PrepareToFire"; break; - case 2: std::get<1>(result) = "FireAtWill"; break; - default: break; - } - return result; -} - -std::tuple get_caste_body_info__T_interactions__T_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "RETRACT_INTO_BP"; break; - case 1: std::get<1>(result) = "CAN_DO_INTERACTION"; break; - case 2: std::get<1>(result) = "ROOT_AROUND"; break; - default: break; - } - return result; -} - -std::tuple get_caravan_state__T_trade_state_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "None"; break; - case 1: std::get<1>(result) = "Approaching"; break; - case 2: std::get<1>(result) = "AtDepot"; break; - case 3: std::get<1>(result) = "Leaving"; break; - case 4: std::get<1>(result) = "Stuck"; break; - default: break; - } - return result; -} - -std::tuple get_entity_event__T_data__T_insurrection_end__T_result_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Overthrow"; break; - case 1: std::get<1>(result) = "Failure"; break; - case 2: std::get<1>(result) = "Crushing"; break; - default: break; - } - return result; -} - -std::tuple get_history_event_change_hf_statest__T_state_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Wandering"; break; - case 1: std::get<1>(result) = "Settled"; break; - case 2: std::get<1>(result) = "Refugee"; break; - case 3: std::get<1>(result) = "anon_1"; break; - case 4: std::get<1>(result) = "anon_2"; break; - case 5: std::get<1>(result) = "Visiting"; break; - default: break; - } - return result; -} - -std::tuple get_history_event_body_abusedst__T_props__T_pile_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "GrislyMound"; break; - case 1: std::get<1>(result) = "GrotesquePillar"; break; - case 2: std::get<1>(result) = "GruesomeSculpture"; break; - default: break; - } - return result; -} - -std::tuple get_history_event_body_abusedst__T_abuse_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Impaled"; std::get<2>(result) = "props.item"; break; - case 1: std::get<1>(result) = "Piled"; std::get<2>(result) = "props.pile_type"; break; - case 2: std::get<1>(result) = "Flayed"; std::get<2>(result) = "props.structure"; break; - case 3: std::get<1>(result) = "Hung"; std::get<2>(result) = "props.hung"; break; - case 4: std::get<1>(result) = "Mutilated"; std::get<2>(result) = "no props"; break; - case 5: std::get<1>(result) = "Animated"; std::get<2>(result) = "no props"; break; - default: break; - } - return result; -} - -std::tuple get_history_event_hist_figure_travelst__T_reason_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Journey"; std::get<2>(result) = "made a journey to"; break; - case 1: std::get<1>(result) = "Return"; std::get<2>(result) = "returned to"; break; - case 2: std::get<1>(result) = "Escape"; std::get<2>(result) = "escaped from"; break; - default: break; - } - return result; -} - -std::tuple get_history_event_artifact_claim_formedst__T_claim_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Symbol"; break; - case 1: std::get<1>(result) = "Heirloom"; break; - case 2: std::get<1>(result) = "Treasure"; break; - case 3: std::get<1>(result) = "HolyRelic"; break; - default: break; - } - return result; -} - -std::tuple get_init_display__T_windowed_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "True"; break; - case 1: std::get<1>(result) = "False"; break; - case 2: std::get<1>(result) = "Prompt"; break; - default: break; - } - return result; -} - -std::tuple get_init_font__T_use_ttf_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "TTF_OFF"; break; - case 1: std::get<1>(result) = "TTF_ON"; break; - case 2: std::get<1>(result) = "TTF_AUTO"; break; - default: break; - } - return result; -} - -std::tuple get_job_item_ref__T_role_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "anon_1"; break; - case 1: std::get<1>(result) = "Reagent"; break; - case 2: std::get<1>(result) = "Hauled"; break; - case 3: std::get<1>(result) = "LinkToTarget"; break; - case 4: std::get<1>(result) = "LinkToTrigger"; break; - case 5: std::get<1>(result) = "anon_2"; break; - case 6: std::get<1>(result) = "TargetContainer"; break; - case 7: std::get<1>(result) = "QueuedContainer"; break; - case 8: std::get<1>(result) = "PushHaulVehicle"; break; - default: break; - } - return result; -} - -std::tuple get_manager_order__T_frequency_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "OneTime"; break; - case 1: std::get<1>(result) = "Daily"; break; - case 2: std::get<1>(result) = "Monthly"; break; - case 3: std::get<1>(result) = "Seasonally"; break; - case 4: std::get<1>(result) = "Yearly"; break; - default: break; - } - return result; -} - -std::tuple get_manager_order_condition_item__T_compare_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "AtLeast"; break; - case 1: std::get<1>(result) = "AtMost"; break; - case 2: std::get<1>(result) = "GreaterThan"; break; - case 3: std::get<1>(result) = "LessThan"; break; - case 4: std::get<1>(result) = "Exactly"; break; - case 5: std::get<1>(result) = "Not"; break; - default: break; - } - return result; -} - -std::tuple get_mandate__T_mode_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Export"; break; - case 1: std::get<1>(result) = "Make"; break; - case 2: std::get<1>(result) = "Guild"; break; - default: break; - } - return result; -} - -std::tuple get_unit_demand__T_place_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Office"; break; - case 1: std::get<1>(result) = "Bedroom"; break; - case 2: std::get<1>(result) = "DiningRoom"; break; - case 3: std::get<1>(result) = "Tomb"; break; - default: break; - } - return result; -} - -std::tuple get_ui_advmode__T_conversation__T_targets__T_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Talk"; break; - case 1: std::get<1>(result) = "anon_1"; break; - case 2: std::get<1>(result) = "anon_2"; break; - case 3: std::get<1>(result) = "Shout"; break; - case 4: std::get<1>(result) = "Perform"; break; - default: break; - } - return result; -} - -std::tuple get_ui_advmode__T_travel_right_map_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "MapNone"; break; - case 1: std::get<1>(result) = "MapSite"; break; - case 2: std::get<1>(result) = "MapWorld"; break; - default: break; - } - return result; -} - -std::tuple get_ui_advmode__T_show_menu_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case -1: std::get<1>(result) = "TwoBlankRows"; break; - case 0: std::get<1>(result) = "Hidden"; break; - case 1: std::get<1>(result) = "TwoRowsWithKeybindingHints"; break; - case 2: std::get<1>(result) = "TwoRows"; break; - case 3: std::get<1>(result) = "OneRow"; break; - default: break; - } - return result; -} - -std::tuple get_stop_depart_condition__T_direction_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "North"; break; - case 1: std::get<1>(result) = "South"; break; - case 2: std::get<1>(result) = "East"; break; - case 3: std::get<1>(result) = "West"; break; - default: break; - } - return result; -} - -std::tuple get_stop_depart_condition__T_mode_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Push"; break; - case 1: std::get<1>(result) = "Ride"; break; - case 2: std::get<1>(result) = "Guide"; break; - default: break; - } - return result; -} - -std::tuple get_interface_button_construction_category_selectorst__T_category_id_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 1: std::get<1>(result) = "SiegeEngines"; break; - case 2: std::get<1>(result) = "Traps"; break; - case 3: std::get<1>(result) = "Workshops"; break; - case 4: std::get<1>(result) = "Furnaces"; break; - case 5: std::get<1>(result) = "Constructions"; break; - case 6: std::get<1>(result) = "MachineComponents"; break; - case 7: std::get<1>(result) = "Track"; break; - default: break; - } - return result; -} - -std::tuple get_ui_sidebar_menus__T_designation__T_mine_mode_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "All"; break; - case 1: std::get<1>(result) = "AutoMine"; break; - case 2: std::get<1>(result) = "Economic"; break; - case 3: std::get<1>(result) = "Gems"; break; - default: break; - } - return result; -} - -std::tuple get_ui_sidebar_menus__T_zone__T_mode_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Rectangle"; break; - case 1: std::get<1>(result) = "Flow"; break; - case 2: std::get<1>(result) = "FloorFlow"; break; - default: break; - } - return result; -} - -std::tuple get_ui_sidebar_menus__T_unit__T_expel_error_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case -1: std::get<1>(result) = "NONE"; break; - case 0: std::get<1>(result) = "NOBILITY"; break; - case 1: std::get<1>(result) = "HOLDS_OFFICE"; break; - case 2: std::get<1>(result) = "DOES_EXPELLING"; break; - case 3: std::get<1>(result) = "SPOUSE_IS_NOT_PRESENT"; break; - case 4: std::get<1>(result) = "SPOUSE_IS_NOBILITY"; break; - case 5: std::get<1>(result) = "SPOUSE_IS_ELECTED"; break; - case 6: std::get<1>(result) = "SPOUSE_DOES_EXPELLING"; break; - case 7: std::get<1>(result) = "CHILD_IS_NOT_PRESENT"; break; - case 8: std::get<1>(result) = "CHILD_IS_NOBILITY"; break; - case 9: std::get<1>(result) = "CHILD_IS_ELECTED"; break; - case 10: std::get<1>(result) = "CHILD_DOES_EXPELLING"; break; - default: break; - } - return result; -} - -std::tuple get_ui_look_list__T_items__T_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Item"; break; - case 1: std::get<1>(result) = "Floor"; break; - case 2: std::get<1>(result) = "Unit"; break; - case 3: std::get<1>(result) = "Building"; break; - case 4: std::get<1>(result) = "Vermin"; break; - case 5: std::get<1>(result) = "Flow"; break; - case 6: std::get<1>(result) = "Campfire"; break; - case 7: std::get<1>(result) = "Spatter"; break; - case 8: std::get<1>(result) = "BuildingItem"; break; - case 9: std::get<1>(result) = "Fire"; break; - case 10: std::get<1>(result) = "Water"; break; - case 11: std::get<1>(result) = "Magma"; break; - case 12: std::get<1>(result) = "Spoor"; break; - default: break; - } - return result; -} - -std::tuple get_ui_unit_view_mode__T_value_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "General"; break; - case 1: std::get<1>(result) = "Inventory"; break; - case 2: std::get<1>(result) = "Preferences"; break; - case 3: std::get<1>(result) = "Wounds"; break; - case 4: std::get<1>(result) = "PrefLabor"; break; - case 5: std::get<1>(result) = "PrefDogs"; break; - case 6: std::get<1>(result) = "PrefOccupation"; break; - default: break; - } - return result; -} - -std::tuple get_unit__T_meeting__T_state_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "SelectNoble"; break; - case 1: std::get<1>(result) = "FollowNoble"; break; - case 2: std::get<1>(result) = "DoMeeting"; break; - case 3: std::get<1>(result) = "LeaveMap"; break; - default: break; - } - return result; -} - -std::tuple get_unit__T_counters__T_soldier_mood_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case -1: std::get<1>(result) = "None"; break; - case 0: std::get<1>(result) = "MartialTrance"; break; - case 1: std::get<1>(result) = "Enraged"; break; - case 2: std::get<1>(result) = "Tantrum"; break; - case 3: std::get<1>(result) = "Depressed"; break; - case 4: std::get<1>(result) = "Oblivious"; break; - default: break; - } - return result; -} - -std::tuple get_unit_inventory_item__T_mode_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Hauled"; break; - case 1: std::get<1>(result) = "Weapon"; std::get<2>(result) = "also shield, crutch"; break; - case 2: std::get<1>(result) = "Worn"; std::get<2>(result) = "quiver"; break; - case 3: std::get<1>(result) = "Piercing"; break; - case 4: std::get<1>(result) = "Flask"; std::get<2>(result) = "attached to clothing"; break; - case 5: std::get<1>(result) = "WrappedAround"; std::get<2>(result) = "e.g. bandage"; break; - case 6: std::get<1>(result) = "StuckIn"; break; - case 7: std::get<1>(result) = "InMouth"; std::get<2>(result) = "string descr like Worn"; break; - case 8: std::get<1>(result) = "Pet"; std::get<2>(result) = "Left shoulder, right shoulder, or head, selected randomly using pet_seed"; break; - case 9: std::get<1>(result) = "SewnInto"; break; - case 10: std::get<1>(result) = "Strapped"; break; - default: break; - } - return result; -} - -std::tuple get_unit_preference__T_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "LikeMaterial"; break; - case 1: std::get<1>(result) = "LikeCreature"; break; - case 2: std::get<1>(result) = "LikeFood"; break; - case 3: std::get<1>(result) = "HateCreature"; break; - case 4: std::get<1>(result) = "LikeItem"; break; - case 5: std::get<1>(result) = "LikePlant"; break; - case 6: std::get<1>(result) = "LikeTree"; std::get<2>(result) = "holdover from 40d and earlier"; break; - case 7: std::get<1>(result) = "LikeColor"; break; - case 8: std::get<1>(result) = "LikeShape"; break; - case 9: std::get<1>(result) = "LikePoeticForm"; break; - case 10: std::get<1>(result) = "LikeMusicalForm"; break; - case 11: std::get<1>(result) = "LikeDanceForm"; break; - default: break; - } - return result; -} - -std::tuple get_unit_complaint__T_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 25: std::get<1>(result) = "SelfUnemployed"; break; - case 26: std::get<1>(result) = "GuildUnemployed"; break; - case 27: std::get<1>(result) = "NeedWeapons"; std::get<2>(result) = "no longer used"; break; - case 28: std::get<1>(result) = "IsAngry"; break; - case 29: std::get<1>(result) = "IsSad"; break; - case 30: std::get<1>(result) = "anon_1"; break; - case 31: std::get<1>(result) = "anon_2"; break; - case 32: std::get<1>(result) = "anon_3"; break; - case 33: std::get<1>(result) = "anon_4"; break; - case 34: std::get<1>(result) = "anon_5"; break; - case 35: std::get<1>(result) = "anon_6"; break; - case 36: std::get<1>(result) = "anon_7"; break; - case 37: std::get<1>(result) = "anon_8"; break; - case 38: std::get<1>(result) = "anon_9"; break; - case 39: std::get<1>(result) = "anon_10"; break; - case 40: std::get<1>(result) = "anon_11"; break; - case 41: std::get<1>(result) = "anon_12"; break; - case 42: std::get<1>(result) = "anon_13"; break; - case 43: std::get<1>(result) = "anon_14"; break; - case 44: std::get<1>(result) = "anon_15"; break; - case 45: std::get<1>(result) = "anon_16"; break; - case 46: std::get<1>(result) = "anon_17"; break; - case 47: std::get<1>(result) = "anon_18"; break; - case 48: std::get<1>(result) = "Petition"; break; - default: break; - } - return result; -} - -std::tuple get_unit_request__T_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "DoGuildJobs"; break; - default: break; - } - return result; -} - -std::tuple get_KeybindingScreen__T_mode_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Main"; break; - case 1: std::get<1>(result) = "KeyL"; break; - case 2: std::get<1>(result) = "KeyR"; break; - case 3: std::get<1>(result) = "Macro"; break; - case 4: std::get<1>(result) = "Register"; break; - default: break; - } - return result; -} - -std::tuple get_viewscreen_adventure_logst__T_mode_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Info"; break; - case 1: std::get<1>(result) = "Map"; break; - default: break; - } - return result; -} - -std::tuple get_viewscreen_adventure_logst__T_info_mode_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Events"; break; - case 1: std::get<1>(result) = "Agreements"; break; - case 2: std::get<1>(result) = "People"; break; - case 3: std::get<1>(result) = "Sites"; break; - case 4: std::get<1>(result) = "Groups"; break; - case 5: std::get<1>(result) = "Regions"; break; - case 6: std::get<1>(result) = "Bestiary"; break; - default: break; - } - return result; -} - -std::tuple get_viewscreen_assign_display_itemst__T_sel_column_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "ItemTypes"; break; - case 1: std::get<1>(result) = "Items"; break; - default: break; - } - return result; -} - -std::tuple get_viewscreen_choose_start_sitest__T_page_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Biome"; break; - case 1: std::get<1>(result) = "Neighbors"; break; - case 2: std::get<1>(result) = "Civilization"; break; - case 3: std::get<1>(result) = "Elevation"; break; - case 4: std::get<1>(result) = "Cliffs"; break; - case 5: std::get<1>(result) = "Reclaim"; break; - case 6: std::get<1>(result) = "Reclaim2"; break; - case 7: std::get<1>(result) = "Find"; break; - case 8: std::get<1>(result) = "Notes"; break; - default: break; - } - return result; -} - -std::tuple get_mission__T_details__T_raid__T_raid_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Raze"; break; - case 1: std::get<1>(result) = "TakeOver"; break; - case 2: std::get<1>(result) = "Occupy"; break; - case 3: std::get<1>(result) = "DemandTribute"; break; - case 4: std::get<1>(result) = "Raid"; break; - case 5: std::get<1>(result) = "Explore"; break; - case 6: std::get<1>(result) = "Pillage"; break; - default: break; - } - return result; -} - -std::tuple get_mission__T_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 2: std::get<1>(result) = "Raid"; break; - case 17: std::get<1>(result) = "RecoverArtifact"; break; - case 18: std::get<1>(result) = "RescuePerson"; break; - case 19: std::get<1>(result) = "RequestWorkers"; break; - default: break; - } - return result; -} - -std::tuple get_viewscreen_civlistst__T_rumors__T_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "ArmyMarched"; break; - case 1: std::get<1>(result) = "Kidnapped"; break; - case 3: std::get<1>(result) = "Unknown3"; break; - case 7: std::get<1>(result) = "RefugeesFled"; break; - case 8: std::get<1>(result) = "MovedOn"; break; - case 9: std::get<1>(result) = "Reclaimed"; break; - case 10: std::get<1>(result) = "Founded"; break; - case 13: std::get<1>(result) = "GaveUpOccupation"; break; - case 16: std::get<1>(result) = "BecameRuler"; break; - case 17: std::get<1>(result) = "Claimed"; break; - case 25: std::get<1>(result) = "ArtifactLocation"; break; - case 28: std::get<1>(result) = "Unknown28"; break; - default: break; - } - return result; -} - -std::tuple get_viewscreen_civlistst__T_page_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Civilizations"; break; - case 1: std::get<1>(result) = "News"; break; - case 2: std::get<1>(result) = "World"; break; - case 3: std::get<1>(result) = "Missions"; break; - case 4: std::get<1>(result) = "MissionSquads"; break; - case 5: std::get<1>(result) = "MissionMessengers"; break; - case 6: std::get<1>(result) = "MissionDetails"; break; - case 7: std::get<1>(result) = "People"; break; - case 8: std::get<1>(result) = "Artifacts"; break; - default: break; - } - return result; -} - -std::tuple get_viewscreen_game_cleanerst__T_state_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "CleaningGameObjects"; break; - case 1: std::get<1>(result) = "CleaningStrandedObjects"; break; - case 2: std::get<1>(result) = "CleaningPlayObjects"; break; - default: break; - } - return result; -} - -std::tuple get_viewscreen_justicest__T_cur_column_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Crimes"; break; - case 1: std::get<1>(result) = "Suspects"; break; - case 2: std::get<1>(result) = "ConvictChoices"; break; - default: break; - } - return result; -} - -std::tuple get_assign_trade_status__T_status_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case -2: std::get<1>(result) = "RemoveTrading"; break; - case -1: std::get<1>(result) = "RemovePending"; break; - case 0: std::get<1>(result) = "None"; break; - case 1: std::get<1>(result) = "AddPending"; break; - case 2: std::get<1>(result) = "Pending"; break; - case 3: std::get<1>(result) = "Trading"; break; - default: break; - } - return result; -} - -std::tuple get_viewscreen_layer_choose_language_namest__T_current_component_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "FrontCompound"; break; - case 1: std::get<1>(result) = "RearCompound"; break; - case 2: std::get<1>(result) = "FirstAdjective"; break; - case 3: std::get<1>(result) = "SecondAdjective"; break; - case 4: std::get<1>(result) = "HyphenCompound"; break; - case 5: std::get<1>(result) = "TheX"; break; - case 6: std::get<1>(result) = "OfX"; break; - default: break; - } - return result; -} - -std::tuple get_viewscreen_layer_militaryst__T_equip__T_mode_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Customize"; break; - case 1: std::get<1>(result) = "Uniform"; break; - case 2: std::get<1>(result) = "Priority"; break; - default: break; - } - return result; -} - -std::tuple get_viewscreen_layer_militaryst__T_equip__T_edit_mode_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Armor"; break; - case 1: std::get<1>(result) = "Helm"; break; - case 2: std::get<1>(result) = "Legs"; break; - case 3: std::get<1>(result) = "Gloves"; break; - case 4: std::get<1>(result) = "Boots"; break; - case 5: std::get<1>(result) = "Shield"; break; - case 6: std::get<1>(result) = "Weapon"; break; - case 7: std::get<1>(result) = "Material"; break; - case 8: std::get<1>(result) = "Color"; break; - case 9: std::get<1>(result) = "SpecificArmor"; break; - case 10: std::get<1>(result) = "SpecificHelm"; break; - case 11: std::get<1>(result) = "SpecificLegs"; break; - case 12: std::get<1>(result) = "SpecificGloves"; break; - case 13: std::get<1>(result) = "SpecificBoots"; break; - case 14: std::get<1>(result) = "SpecificShield"; break; - case 15: std::get<1>(result) = "SpecificWeapon"; break; - default: break; - } - return result; -} - -std::tuple get_viewscreen_layer_militaryst__T_page_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Positions"; break; - case 1: std::get<1>(result) = "Alerts"; break; - case 2: std::get<1>(result) = "Equip"; break; - case 3: std::get<1>(result) = "Uniforms"; break; - case 4: std::get<1>(result) = "Supplies"; break; - case 5: std::get<1>(result) = "Ammunition"; break; - default: break; - } - return result; -} - -std::tuple get_viewscreen_layer_noblelistst__T_mode_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "List"; break; - case 1: std::get<1>(result) = "Appoint"; break; - case 2: std::get<1>(result) = "Settings"; break; - default: break; - } - return result; -} - -std::tuple get_viewscreen_legendsst__T_cur_page_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Main"; break; - case 1: std::get<1>(result) = "HistoricalFigures"; break; - case 2: std::get<1>(result) = "Sites"; break; - case 3: std::get<1>(result) = "Artifacts"; break; - case 4: std::get<1>(result) = "Regions"; break; - case 5: std::get<1>(result) = "Civilizations"; break; - case 6: std::get<1>(result) = "Art"; break; - case 7: std::get<1>(result) = "Structures"; break; - case 8: std::get<1>(result) = "Age"; break; - case 9: std::get<1>(result) = "HistoricalMaps"; break; - case 10: std::get<1>(result) = "UndergroundRegions"; break; - case 11: std::get<1>(result) = "Populations"; break; - default: break; - } - return result; -} - -std::tuple get_viewscreen_locationsst__T_in_edit_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "None"; break; - case 1: std::get<1>(result) = "Goblets"; break; - case 2: std::get<1>(result) = "Instruments"; break; - case 3: std::get<1>(result) = "WritingCopies"; break; - case 4: std::get<1>(result) = "WritingMaterial"; break; - default: break; - } - return result; -} - -std::tuple get_viewscreen_locationsst__T_menu_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Locations"; break; - case 1: std::get<1>(result) = "Occupations"; break; - case 2: std::get<1>(result) = "AssignOccupation"; break; - default: break; - } - return result; -} - -std::tuple get_viewscreen_loadgamest__T_cur_step_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "OPENING_FILE"; break; - case 1: std::get<1>(result) = "PROCESSING_RAW_DATA"; break; - case 2: std::get<1>(result) = "ALLOCATING_SPACE"; break; - case 3: std::get<1>(result) = "LOADING_ITEMS"; break; - case 4: std::get<1>(result) = "LOADING_UNITS"; break; - case 5: std::get<1>(result) = "LOADING_JOBS"; break; - case 6: std::get<1>(result) = "LOADING_SCHEDULES"; break; - case 7: std::get<1>(result) = "LOADING_PROJECTILES"; break; - case 8: std::get<1>(result) = "LOADING_BUILDINGS"; break; - case 9: std::get<1>(result) = "LOADING_MACHINES"; break; - case 10: std::get<1>(result) = "LOADING_FLOW_GUIDES"; break; - case 11: std::get<1>(result) = "LOADING_EFFECTS"; break; - case 12: std::get<1>(result) = "LOADING_ENTITIES"; break; - case 13: std::get<1>(result) = "LOADING_LOCAL_ANIMAL_POPULATIONS"; break; - case 14: std::get<1>(result) = "LOADING_EVENTS"; break; - case 15: std::get<1>(result) = "LOADING_MANDATES"; break; - case 16: std::get<1>(result) = "LOADING_WORK_QUOTAS"; break; - case 17: std::get<1>(result) = "LOADING_WORLD_EVENTS"; break; - case 18: std::get<1>(result) = "LOADING_COIN_INFORMATION"; break; - case 19: std::get<1>(result) = "LOADING_SQUADS"; break; - case 20: std::get<1>(result) = "LOADING_FORMATIONS"; break; - case 21: std::get<1>(result) = "LOADING_ACTIVITIES"; break; - case 22: std::get<1>(result) = "LOADING_INTERACTIONS"; break; - case 23: std::get<1>(result) = "LOADING_WRITTEN_CONTENT"; break; - case 24: std::get<1>(result) = "LOADING_IDENTITIES"; break; - case 25: std::get<1>(result) = "LOADING_INCIDENTS"; break; - case 26: std::get<1>(result) = "LOADING_CRIMES"; break; - case 27: std::get<1>(result) = "LOADING_VEHICLES"; break; - case 28: std::get<1>(result) = "LOADING_ARMIES"; break; - case 29: std::get<1>(result) = "LOADING_ARMY_CONTROLLERS"; break; - case 30: std::get<1>(result) = "LOADING_TRACKING_INFORMATION"; break; - case 31: std::get<1>(result) = "LOADING_CULTURAL_IDENTITIES"; break; - case 32: std::get<1>(result) = "LOADING_AGREEMENTS"; break; - case 33: std::get<1>(result) = "LOADING_ART_FORMS"; break; - case 34: std::get<1>(result) = "LOADING_OCCUPATIONS"; break; - case 35: std::get<1>(result) = "LOADING_BELIEF_SYSTEMS"; break; - case 36: std::get<1>(result) = "LOADING_ANNOUNCEMENTS"; break; - case 37: std::get<1>(result) = "LOADING_FORTRESS_INFORMATION"; break; - case 38: std::get<1>(result) = "LOADING_WORLD_INFORMATION"; break; - case 39: std::get<1>(result) = "LOADING_ARTIFACTS"; break; - case 40: std::get<1>(result) = "LOADING_ACTIVE_HISTORICAL_FIGURES"; break; - case 41: std::get<1>(result) = "LOADING_ADVENTURE"; break; - case 42: std::get<1>(result) = "LOADING_GENERAL_INFORMATION"; break; - case 43: std::get<1>(result) = "CLOSING_FILE"; break; - case 44: std::get<1>(result) = "REBUILDING_TEMPORARY_INFORMATION"; break; - case 45: std::get<1>(result) = "REBUILDING_MORE_TEMPORARY_INFORMATION"; break; - case 46: std::get<1>(result) = "PREPARING_GAME_SCREEN"; break; - case 47: std::get<1>(result) = "HANDLING_COMPATIBILITY_ISSUES"; break; - case 48: std::get<1>(result) = "FINISHING"; break; - default: break; - } - return result; -} - -std::tuple get_viewscreen_petst__T_mode_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "List"; break; - case 1: std::get<1>(result) = "TrainingKnowledge"; break; - case 2: std::get<1>(result) = "SelectTrainer"; break; - default: break; - } - return result; -} - -std::tuple get_setup_character_info__T_status_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Peasant"; break; - case 1: std::get<1>(result) = "Hero"; break; - case 2: std::get<1>(result) = "Demigod"; break; - default: break; - } - return result; -} - -std::tuple get_viewscreen_setupadventurest__T_page_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "ChooseRace"; break; - case 1: std::get<1>(result) = "ChooseAnimalRace"; break; - case 2: std::get<1>(result) = "ChooseHistfig"; break; - case 3: std::get<1>(result) = "ChooseCiv"; break; - case 4: std::get<1>(result) = "Skills"; break; - case 5: std::get<1>(result) = "PhysicalTraits"; break; - case 6: std::get<1>(result) = "MentalTraits"; break; - case 7: std::get<1>(result) = "Background"; break; - default: break; - } - return result; -} - -std::tuple get_viewscreen_setupadventurest__T_sel_trait_column_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "SkillsColumn"; break; - case 1: std::get<1>(result) = "AttributesColumn"; break; - default: break; - } - return result; -} - -std::tuple get_viewscreen_setupdwarfgamest__T_mode_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Dwarves"; break; - case 1: std::get<1>(result) = "Items"; break; - default: break; - } - return result; -} - -std::tuple get_viewscreen_titlest__T_sel_subpage_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "None"; break; - case 1: std::get<1>(result) = "StartSelectWorld"; break; - case 2: std::get<1>(result) = "StartSelectMode"; break; - case 3: std::get<1>(result) = "Arena"; break; - case 4: std::get<1>(result) = "About"; break; - default: break; - } - return result; -} - -std::tuple get_viewscreen_workquota_conditionst__T_mode_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case -1: std::get<1>(result) = "List"; break; - case 0: std::get<1>(result) = "ItemType"; break; - case 1: std::get<1>(result) = "Material"; break; - case 2: std::get<1>(result) = "Traits"; break; - default: break; - } - return result; -} - -std::tuple get_viewscreen_workshop_profilest__T_tab_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Workers"; break; - case 1: std::get<1>(result) = "Orders"; break; - case 2: std::get<1>(result) = "Restrictions"; break; - default: break; - } - return result; -} - -std::tuple get_world_underground_region__T_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Cavern"; break; - case 1: std::get<1>(result) = "MagmaSea"; break; - case 2: std::get<1>(result) = "Underworld"; break; - default: break; - } - return result; -} - -std::tuple get_world_data__T_flip_latitude_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case -1: std::get<1>(result) = "None"; break; - case 0: std::get<1>(result) = "North"; break; - case 1: std::get<1>(result) = "South"; break; - case 2: std::get<1>(result) = "Both"; break; - default: break; - } - return result; -} - -std::tuple get_abstract_building_dungeonst__T_dungeon_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "DUNGEON"; break; - case 1: std::get<1>(result) = "SEWERS"; break; - case 2: std::get<1>(result) = "CATACOMBS"; break; - default: break; - } - return result; -} - -std::tuple get_cultural_identity__T_group_log__T_join_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Peaceful"; break; - case 1: std::get<1>(result) = "CompleteTakeOver"; std::get<2>(result) = "The previous group left the culture."; break; - case 2: std::get<1>(result) = "TakeOver"; std::get<2>(result) = "The previous group's end_year is still -1."; break; - default: break; - } - return result; -} - -std::tuple get_world_site_realization__T_areas__T_type_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "Crops1"; break; - case 1: std::get<1>(result) = "Crops2"; break; - case 2: std::get<1>(result) = "Crops3"; break; - case 3: std::get<1>(result) = "Meadow"; break; - case 4: std::get<1>(result) = "Pasture"; break; - case 5: std::get<1>(result) = "Orchard"; break; - case 6: std::get<1>(result) = "Woodland"; break; - case 7: std::get<1>(result) = "Waste"; break; - case 8: std::get<1>(result) = "Unknown1"; break; - default: break; - } - return result; -} - -std::tuple get_crime__T_mode_value_decoded(DF_Type p_base_type, uint64_t p_address) -{ - std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); - switch (std::get<0>(result)) - { - case 0: std::get<1>(result) = "ProductionOrderViolation"; break; - case 1: std::get<1>(result) = "ExportViolation"; break; - case 2: std::get<1>(result) = "JobOrderViolation"; break; - case 3: std::get<1>(result) = "ConspiracyToSlowLabor"; break; - case 4: std::get<1>(result) = "Murder"; break; - case 5: std::get<1>(result) = "DisorderlyBehavior"; break; - case 6: std::get<1>(result) = "BuildingDestruction"; break; - case 7: std::get<1>(result) = "Vandalism"; break; - case 8: std::get<1>(result) = "Theft"; break; - case 9: std::get<1>(result) = "Robbery"; break; - case 10: std::get<1>(result) = "BloodDrinking"; break; - default: break; - } - return result; -} - -std::tuple get_enum_decoded(const NodeEnum* p_node) -{ - switch(p_node->m_df_type) - { - case DF_Type::ui_advmode_menu: return get_ui_advmode_menu_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::talk_choice_type: return get_talk_choice_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::assume_identity_mode: return get_assume_identity_mode_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::announcement_type: return get_announcement_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::art_image_element_type: return get_art_image_element_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::art_image_property_type: return get_art_image_property_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::art_image_property_verb: return get_art_image_property_verb_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::art_facet_type: return get_art_facet_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::poetic_form_action: return get_poetic_form_action_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::poetic_form_pattern: return get_poetic_form_pattern_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::poetic_form_caesura_position: return get_poetic_form_caesura_position_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::poetic_form_mood: return get_poetic_form_mood_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::poetic_form_subject: return get_poetic_form_subject_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::poetic_form_additional_feature: return get_poetic_form_additional_feature_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::poetic_form_perspective__T_type: return get_poetic_form_perspective__T_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::musical_form_purpose: return get_musical_form_purpose_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::musical_form_style: return get_musical_form_style_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::musical_form_pitch_style: return get_musical_form_pitch_style_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::occupation_type: return get_occupation_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::buildings_other_id: return get_buildings_other_id_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::building_type: return get_building_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::civzone_type: return get_civzone_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::furnace_type: return get_furnace_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::workshop_type: return get_workshop_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::construction_type: return get_construction_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::shop_type: return get_shop_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::siegeengine_type: return get_siegeengine_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::trap_type: return get_trap_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::dfhack_room_quality_level: return get_dfhack_room_quality_level_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::creature_raw_flags: return get_creature_raw_flags_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::caste_raw_flags: return get_caste_raw_flags_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::body_part_raw_flags: return get_body_part_raw_flags_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::appearance_modifier_type: return get_appearance_modifier_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::body_part_layer_flags: return get_body_part_layer_flags_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::appearance_modifier_growth_interval: return get_appearance_modifier_growth_interval_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::gait_type: return get_gait_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::creature_graphics_role: return get_creature_graphics_role_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::tissue_style_type: return get_tissue_style_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::body_part_template_flags: return get_body_part_template_flags_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::body_part_template_contype: return get_body_part_template_contype_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::tissue_flags: return get_tissue_flags_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::d_init_nickname: return get_d_init_nickname_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::d_init_z_view: return get_d_init_z_view_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::d_init_embark_confirm: return get_d_init_embark_confirm_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::d_init_idlers: return get_d_init_idlers_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::d_init_tunnel: return get_d_init_tunnel_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::d_init_flags1: return get_d_init_flags1_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::d_init_flags2: return get_d_init_flags2_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::d_init_flags3: return get_d_init_flags3_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::d_init_flags4: return get_d_init_flags4_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::pattern_type: return get_pattern_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::occasion_schedule_type: return get_occasion_schedule_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::occasion_schedule_feature: return get_occasion_schedule_feature_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::entity_sell_category: return get_entity_sell_category_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::historical_entity_type: return get_historical_entity_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::training_knowledge_level: return get_training_knowledge_level_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::entity_position_flags: return get_entity_position_flags_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::entity_material_category: return get_entity_material_category_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::entity_event_type: return get_entity_event_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::entity_raw_flags: return get_entity_raw_flags_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::site_type: return get_site_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::ethic_type: return get_ethic_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::ethic_response: return get_ethic_response_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::entity_name_type: return get_entity_name_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::entity_position_raw_flags: return get_entity_position_raw_flags_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::entity_position_responsibility: return get_entity_position_responsibility_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::weather_type: return get_weather_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::game_mode: return get_game_mode_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::game_type: return get_game_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::lever_target_type: return get_lever_target_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::zoom_commands: return get_zoom_commands_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::reputation_type: return get_reputation_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::histfig_flags: return get_histfig_flags_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::histfig_relationship_type: return get_histfig_relationship_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::mental_picture_property_type: return get_mental_picture_property_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::mental_picture_element_type: return get_mental_picture_element_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::history_event_type: return get_history_event_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::history_event_reason: return get_history_event_reason_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::death_type: return get_death_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::entity_action_type: return get_entity_action_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::masterpiece_loss_type: return get_masterpiece_loss_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::history_event_hist_figure_woundedst__T_injury_type: return get_history_event_hist_figure_woundedst__T_injury_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::history_event_simple_battle_subtype: return get_history_event_simple_battle_subtype_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::histfig_body_state: return get_histfig_body_state_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::history_event_hf_act_on_buildingst__T_action: return get_history_event_hf_act_on_buildingst__T_action_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::site_dispute_type: return get_site_dispute_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::insurrection_outcome: return get_insurrection_outcome_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::history_event_hf_act_on_artifactst__T_action: return get_history_event_hf_act_on_artifactst__T_action_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::tactical_situation: return get_tactical_situation_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::history_event_collection_type: return get_history_event_collection_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::era_type: return get_era_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::init_display_flags: return get_init_display_flags_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::init_media_flags: return get_init_media_flags_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::init_input_flags: return get_init_input_flags_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::init_window_flags: return get_init_window_flags_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::interaction_effect_type: return get_interaction_effect_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::interaction_effect_location_hint: return get_interaction_effect_location_hint_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::interaction_source_type: return get_interaction_source_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::interaction_source_usage_hint: return get_interaction_source_usage_hint_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::interaction_target_type: return get_interaction_target_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::interaction_target_location_type: return get_interaction_target_location_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::breath_attack_type: return get_breath_attack_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::item_type: return get_item_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::ammo_flags: return get_ammo_flags_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::armor_general_flags: return get_armor_general_flags_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::armor_flags: return get_armor_flags_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::gloves_flags: return get_gloves_flags_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::helm_flags: return get_helm_flags_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::instrument_flags: return get_instrument_flags_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::sound_production_type: return get_sound_production_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::pitch_choice_type: return get_pitch_choice_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::tuning_type: return get_tuning_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::timbre_type: return get_timbre_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::pants_flags: return get_pants_flags_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::shoes_flags: return get_shoes_flags_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::tool_flags: return get_tool_flags_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::tool_uses: return get_tool_uses_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::toy_flags: return get_toy_flags_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::trapcomp_flags: return get_trapcomp_flags_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::weapon_flags: return get_weapon_flags_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::items_other_id: return get_items_other_id_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::job_item_vector_id: return get_job_item_vector_id_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::improvement_type: return get_improvement_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::itemimprovement_specific_type: return get_itemimprovement_specific_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::written_content_type: return get_written_content_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::written_content_style: return get_written_content_style_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::item_magicness_type: return get_item_magicness_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::item_quality: return get_item_quality_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::slab_engraving_type: return get_slab_engraving_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::corpse_material_type: return get_corpse_material_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::job_type_class: return get_job_type_class_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::job_type: return get_job_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::job_subtype_surgery: return get_job_subtype_surgery_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::job_art_specification__T_type: return get_job_art_specification__T_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::manager_order_condition_order__T_condition: return get_manager_order_condition_order__T_condition_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::guild_id: return get_guild_id_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::interface_key: return get_interface_key_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::dfhack_knowledge_scholar_flag: return get_dfhack_knowledge_scholar_flag_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::part_of_speech: return get_part_of_speech_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::sphere_type: return get_sphere_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::language_name_category: return get_language_name_category_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::nemesis_flags: return get_nemesis_flags_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::machine_type: return get_machine_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::screw_pump_direction: return get_screw_pump_direction_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::tile_traffic: return get_tile_traffic_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::tile_dig_designation: return get_tile_dig_designation_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::tile_liquid: return get_tile_liquid_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::tile_building_occ: return get_tile_building_occ_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::tile_liquid_flow_dir: return get_tile_liquid_flow_dir_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::block_square_event_type: return get_block_square_event_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::feature_type: return get_feature_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::feature_init_flags: return get_feature_init_flags_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::feature_alteration_type: return get_feature_alteration_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::world_construction_type: return get_world_construction_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::biome_type: return get_biome_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::flow_type: return get_flow_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::flow_guide_type: return get_flow_guide_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::region_block_event_type: return get_region_block_event_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::craft_material_class: return get_craft_material_class_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::builtin_mats: return get_builtin_mats_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::material_flags: return get_material_flags_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::matter_state: return get_matter_state_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::strain_type: return get_strain_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::inorganic_flags: return get_inorganic_flags_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::environment_type: return get_environment_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::inclusion_type: return get_inclusion_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::organic_mat_category: return get_organic_mat_category_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::meeting_topic: return get_meeting_topic_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::meeting_event_type: return get_meeting_event_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::activity_event_type: return get_activity_event_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::conversation_menu: return get_conversation_menu_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::performance_event_type: return get_performance_event_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::performance_participant_type: return get_performance_participant_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::uniform_category: return get_uniform_category_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::barrack_preference_category: return get_barrack_preference_category_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::squad_event_type: return get_squad_event_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::squad_order_type: return get_squad_order_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::squad_order_cannot_reason: return get_squad_order_cannot_reason_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::army_flags: return get_army_flags_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::unit_path_goal: return get_unit_path_goal_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::unit_station_type: return get_unit_station_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::plant_raw_flags: return get_plant_raw_flags_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::projectile_type: return get_projectile_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::reaction_flags: return get_reaction_flags_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::reaction_reagent_type: return get_reaction_reagent_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::reaction_product_type: return get_reaction_product_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::reaction_product_item_flags: return get_reaction_product_item_flags_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::reaction_product_improvement_flags: return get_reaction_product_improvement_flags_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::general_ref_type: return get_general_ref_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::specific_ref_type: return get_specific_ref_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::histfig_entity_link_type: return get_histfig_entity_link_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::histfig_site_link_type: return get_histfig_site_link_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::histfig_hf_link_type: return get_histfig_hf_link_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::entity_entity_link_type: return get_entity_entity_link_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::resource_allotment_specifier_type: return get_resource_allotment_specifier_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::profession: return get_profession_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::unit_labor_category: return get_unit_labor_category_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::unit_labor: return get_unit_labor_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::job_skill_class: return get_job_skill_class_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::job_skill: return get_job_skill_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::hauler_type: return get_hauler_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::furniture_type: return get_furniture_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::stockpile_category: return get_stockpile_category_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::stockpile_list: return get_stockpile_list_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::creature_interaction_effect_type: return get_creature_interaction_effect_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::creature_interaction_effect_target_mode: return get_creature_interaction_effect_target_mode_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::tiletype_shape_basic: return get_tiletype_shape_basic_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::tiletype_shape: return get_tiletype_shape_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::tiletype_material: return get_tiletype_material_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::tiletype_variant: return get_tiletype_variant_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::tiletype_special: return get_tiletype_special_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::tiletype: return get_tiletype_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::build_req_choice_type: return get_build_req_choice_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::ui_hotkey__T_cmd: return get_ui_hotkey__T_cmd_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::ui_sidebar_mode: return get_ui_sidebar_mode_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::kitchen_exc_type: return get_kitchen_exc_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::timed_event_type: return get_timed_event_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::emotion_type: return get_emotion_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::unit_thought_type: return get_unit_thought_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::value_type: return get_value_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::goal_type: return get_goal_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::personality_facet_type: return get_personality_facet_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::physical_attribute_type: return get_physical_attribute_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::mental_attribute_type: return get_mental_attribute_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::mood_type: return get_mood_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::ghost_type: return get_ghost_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::animal_training_level: return get_animal_training_level_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::unit_report_type: return get_unit_report_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::skill_rating: return get_skill_rating_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::unit_relationship_type: return get_unit_relationship_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::need_type: return get_need_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::ghost_goal: return get_ghost_goal_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::wound_effect_type: return get_wound_effect_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::misc_trait_type: return get_misc_trait_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::unit_action_type: return get_unit_action_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::interface_breakdown_types: return get_interface_breakdown_types_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::embark_finder_option: return get_embark_finder_option_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::viewscreen_image_creator_mode: return get_viewscreen_image_creator_mode_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::viewscreen_kitchenpref_page: return get_viewscreen_kitchenpref_page_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::adventurer_attribute_level: return get_adventurer_attribute_level_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::viewscreen_unitlist_page: return get_viewscreen_unitlist_page_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::world_population_type: return get_world_population_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::world_region_type: return get_world_region_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::geo_layer_type: return get_geo_layer_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::region_map_entry_flags: return get_region_map_entry_flags_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::front_type: return get_front_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::cumulus_type: return get_cumulus_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::stratus_type: return get_stratus_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::fog_type: return get_fog_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::mountain_peak_flags: return get_mountain_peak_flags_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::abstract_building_type: return get_abstract_building_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::abstract_building_flags: return get_abstract_building_flags_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::world_site_type: return get_world_site_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::world_site_flags: return get_world_site_flags_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::site_realization_building_type: return get_site_realization_building_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::site_shop_type: return get_site_shop_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::tree_house_type: return get_tree_house_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::hillock_house_type: return get_hillock_house_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::creation_zone_pwg_alteration_type: return get_creation_zone_pwg_alteration_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::worldgen_region_type: return get_worldgen_region_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::worldgen_range_type: return get_worldgen_range_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::units_other_id: return get_units_other_id_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::conflict_level: return get_conflict_level_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::combat_report_event_type: return get_combat_report_event_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::conversation__T_state: return get_conversation__T_state_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::building_archerytargetst__T_archery_direction: return get_building_archerytargetst__T_archery_direction_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::building_bridgest__T_direction: return get_building_bridgest__T_direction_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::building_siegeenginest__T_facing: return get_building_siegeenginest__T_facing_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::building_siegeenginest__T_action: return get_building_siegeenginest__T_action_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::caste_body_info__T_interactions__T_type: return get_caste_body_info__T_interactions__T_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::caravan_state__T_trade_state: return get_caravan_state__T_trade_state_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::entity_event__T_data__T_insurrection_end__T_result: return get_entity_event__T_data__T_insurrection_end__T_result_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::history_event_change_hf_statest__T_state: return get_history_event_change_hf_statest__T_state_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::history_event_body_abusedst__T_props__T_pile_type: return get_history_event_body_abusedst__T_props__T_pile_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::history_event_body_abusedst__T_abuse_type: return get_history_event_body_abusedst__T_abuse_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::history_event_hist_figure_travelst__T_reason: return get_history_event_hist_figure_travelst__T_reason_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::history_event_artifact_claim_formedst__T_claim_type: return get_history_event_artifact_claim_formedst__T_claim_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::init_display__T_windowed: return get_init_display__T_windowed_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::init_font__T_use_ttf: return get_init_font__T_use_ttf_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::job_item_ref__T_role: return get_job_item_ref__T_role_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::manager_order__T_frequency: return get_manager_order__T_frequency_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::manager_order_condition_item__T_compare_type: return get_manager_order_condition_item__T_compare_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::mandate__T_mode: return get_mandate__T_mode_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::unit_demand__T_place: return get_unit_demand__T_place_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::ui_advmode__T_conversation__T_targets__T_type: return get_ui_advmode__T_conversation__T_targets__T_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::ui_advmode__T_travel_right_map: return get_ui_advmode__T_travel_right_map_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::ui_advmode__T_show_menu: return get_ui_advmode__T_show_menu_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::stop_depart_condition__T_direction: return get_stop_depart_condition__T_direction_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::stop_depart_condition__T_mode: return get_stop_depart_condition__T_mode_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::interface_button_construction_category_selectorst__T_category_id: return get_interface_button_construction_category_selectorst__T_category_id_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::ui_sidebar_menus__T_designation__T_mine_mode: return get_ui_sidebar_menus__T_designation__T_mine_mode_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::ui_sidebar_menus__T_zone__T_mode: return get_ui_sidebar_menus__T_zone__T_mode_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::ui_sidebar_menus__T_unit__T_expel_error: return get_ui_sidebar_menus__T_unit__T_expel_error_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::ui_look_list__T_items__T_type: return get_ui_look_list__T_items__T_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::ui_unit_view_mode__T_value: return get_ui_unit_view_mode__T_value_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::unit__T_meeting__T_state: return get_unit__T_meeting__T_state_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::unit__T_counters__T_soldier_mood: return get_unit__T_counters__T_soldier_mood_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::unit_inventory_item__T_mode: return get_unit_inventory_item__T_mode_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::unit_preference__T_type: return get_unit_preference__T_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::unit_complaint__T_type: return get_unit_complaint__T_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::unit_request__T_type: return get_unit_request__T_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::KeybindingScreen__T_mode: return get_KeybindingScreen__T_mode_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::viewscreen_adventure_logst__T_mode: return get_viewscreen_adventure_logst__T_mode_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::viewscreen_adventure_logst__T_info_mode: return get_viewscreen_adventure_logst__T_info_mode_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::viewscreen_assign_display_itemst__T_sel_column: return get_viewscreen_assign_display_itemst__T_sel_column_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::viewscreen_choose_start_sitest__T_page: return get_viewscreen_choose_start_sitest__T_page_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::mission__T_details__T_raid__T_raid_type: return get_mission__T_details__T_raid__T_raid_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::mission__T_type: return get_mission__T_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::viewscreen_civlistst__T_rumors__T_type: return get_viewscreen_civlistst__T_rumors__T_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::viewscreen_civlistst__T_page: return get_viewscreen_civlistst__T_page_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::viewscreen_game_cleanerst__T_state: return get_viewscreen_game_cleanerst__T_state_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::viewscreen_justicest__T_cur_column: return get_viewscreen_justicest__T_cur_column_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::assign_trade_status__T_status: return get_assign_trade_status__T_status_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::viewscreen_layer_choose_language_namest__T_current_component: return get_viewscreen_layer_choose_language_namest__T_current_component_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::viewscreen_layer_militaryst__T_equip__T_mode: return get_viewscreen_layer_militaryst__T_equip__T_mode_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::viewscreen_layer_militaryst__T_equip__T_edit_mode: return get_viewscreen_layer_militaryst__T_equip__T_edit_mode_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::viewscreen_layer_militaryst__T_page: return get_viewscreen_layer_militaryst__T_page_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::viewscreen_layer_noblelistst__T_mode: return get_viewscreen_layer_noblelistst__T_mode_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::viewscreen_legendsst__T_cur_page: return get_viewscreen_legendsst__T_cur_page_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::viewscreen_locationsst__T_in_edit: return get_viewscreen_locationsst__T_in_edit_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::viewscreen_locationsst__T_menu: return get_viewscreen_locationsst__T_menu_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::viewscreen_loadgamest__T_cur_step: return get_viewscreen_loadgamest__T_cur_step_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::viewscreen_petst__T_mode: return get_viewscreen_petst__T_mode_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::setup_character_info__T_status: return get_setup_character_info__T_status_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::viewscreen_setupadventurest__T_page: return get_viewscreen_setupadventurest__T_page_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::viewscreen_setupadventurest__T_sel_trait_column: return get_viewscreen_setupadventurest__T_sel_trait_column_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::viewscreen_setupdwarfgamest__T_mode: return get_viewscreen_setupdwarfgamest__T_mode_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::viewscreen_titlest__T_sel_subpage: return get_viewscreen_titlest__T_sel_subpage_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::viewscreen_workquota_conditionst__T_mode: return get_viewscreen_workquota_conditionst__T_mode_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::viewscreen_workshop_profilest__T_tab: return get_viewscreen_workshop_profilest__T_tab_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::world_underground_region__T_type: return get_world_underground_region__T_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::world_data__T_flip_latitude: return get_world_data__T_flip_latitude_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::abstract_building_dungeonst__T_dungeon_type: return get_abstract_building_dungeonst__T_dungeon_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::cultural_identity__T_group_log__T_join_type: return get_cultural_identity__T_group_log__T_join_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::world_site_realization__T_areas__T_type: return get_world_site_realization__T_areas__T_type_value_decoded(p_node->m_base_type, p_node->m_address); - case DF_Type::crime__T_mode: return get_crime__T_mode_value_decoded(p_node->m_base_type, p_node->m_address); - default: break; - } - return std::tuple(-1111,"UNKNOWN DF_TYPE", ""); -} +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "df_all.h" +#include "DF_Types.h" +#include "node.h" + + +using namespace rdf; + + +int64_t cast(DF_Type p_base_type, uint64_t p_address) +{ + switch (p_base_type) + { + case DF_Type::int8_t: return *(reinterpret_cast(p_address)); + case DF_Type::int16_t: return *(reinterpret_cast(p_address)); + case DF_Type::int32_t: return *(reinterpret_cast(p_address)); + case DF_Type::int64_t: return *(reinterpret_cast(p_address)); + case DF_Type::uint8_t: return *(reinterpret_cast(p_address)); + case DF_Type::uint16_t: return *(reinterpret_cast(p_address)); + case DF_Type::uint32_t: return *(reinterpret_cast(p_address)); + default: break; + } + return -1111; +} + +std::tuple get_ui_advmode_menu_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Default"; break; + case 1: std::get<1>(result) = "Look"; break; + case 2: std::get<1>(result) = "ConversationAddress"; break; + case 3: std::get<1>(result) = "ConversationSelect"; break; + case 4: std::get<1>(result) = "ConversationSpeak"; break; + case 5: std::get<1>(result) = "Inventory"; break; + case 6: std::get<1>(result) = "Drop"; break; + case 7: std::get<1>(result) = "ThrowItem"; break; + case 8: std::get<1>(result) = "Wear"; break; + case 9: std::get<1>(result) = "Remove"; break; + case 10: std::get<1>(result) = "Interact"; break; + case 11: std::get<1>(result) = "Put"; break; + case 12: std::get<1>(result) = "PutContainer"; break; + case 13: std::get<1>(result) = "Eat"; break; + case 14: std::get<1>(result) = "ThrowAim"; break; + case 15: std::get<1>(result) = "Fire"; break; + case 16: std::get<1>(result) = "Get"; break; + case 17: std::get<1>(result) = "Unk17"; break; + case 18: std::get<1>(result) = "CombatPrefs"; break; + case 19: std::get<1>(result) = "Companions"; break; + case 20: std::get<1>(result) = "MovementPrefs"; break; + case 21: std::get<1>(result) = "SpeedPrefs"; break; + case 22: std::get<1>(result) = "InteractAction"; break; + case 23: std::get<1>(result) = "MoveCarefully"; break; + case 24: std::get<1>(result) = "Announcements"; break; + case 25: std::get<1>(result) = "UseBuilding"; break; + case 26: std::get<1>(result) = "Travel"; break; + case 27: std::get<1>(result) = "Unk27"; break; + case 28: std::get<1>(result) = "Unk28"; break; + case 29: std::get<1>(result) = "SleepConfirm"; break; + case 30: std::get<1>(result) = "SelectInteractionTarget"; break; + case 31: std::get<1>(result) = "Unk31"; break; + case 32: std::get<1>(result) = "Unk32"; break; + case 33: std::get<1>(result) = "FallAction"; break; + case 34: std::get<1>(result) = "ViewTracks"; break; + case 35: std::get<1>(result) = "Jump"; break; + case 36: std::get<1>(result) = "Unk36"; break; + case 37: std::get<1>(result) = "AttackConfirm"; break; + case 38: std::get<1>(result) = "AttackType"; break; + case 39: std::get<1>(result) = "AttackBodypart"; break; + case 40: std::get<1>(result) = "AttackStrike"; break; + case 41: std::get<1>(result) = "Unk41"; break; + case 42: std::get<1>(result) = "Unk42"; break; + case 43: std::get<1>(result) = "DodgeDirection"; break; + case 44: std::get<1>(result) = "Unk44"; break; + case 45: std::get<1>(result) = "Unk45"; break; + case 46: std::get<1>(result) = "Build"; break; + case 47: std::get<1>(result) = "AssumeIdentity"; break; + case 48: std::get<1>(result) = "NameItem"; break; + default: break; + } + return result; +} + +std::tuple get_talk_choice_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Greet"; break; + case 1: std::get<1>(result) = "Nevermind"; break; + case 2: std::get<1>(result) = "Trade"; break; + case 3: std::get<1>(result) = "AskJoin"; break; + case 4: std::get<1>(result) = "AskSurroundings"; break; + case 5: std::get<1>(result) = "SayGoodbye"; break; + case 6: std::get<1>(result) = "AskStructure"; break; + case 7: std::get<1>(result) = "AskFamily"; break; + case 8: std::get<1>(result) = "AskProfession"; break; + case 9: std::get<1>(result) = "AskPermissionSleep"; break; + case 10: std::get<1>(result) = "AccuseNightCreature"; break; + case 11: std::get<1>(result) = "AskTroubles"; break; + case 12: std::get<1>(result) = "BringUpEvent"; break; + case 13: std::get<1>(result) = "SpreadRumor"; break; + case 14: std::get<1>(result) = "ReplyGreeting"; break; + case 15: std::get<1>(result) = "RefuseConversation"; break; + case 16: std::get<1>(result) = "ReplyImpersonate"; break; + case 17: std::get<1>(result) = "BringUpIncident"; break; + case 18: std::get<1>(result) = "TellNothingChanged"; break; + case 19: std::get<1>(result) = "Goodbye2"; break; + case 20: std::get<1>(result) = "ReturnTopic"; break; + case 21: std::get<1>(result) = "ChangeSubject"; break; + case 22: std::get<1>(result) = "AskTargetAction"; break; + case 23: std::get<1>(result) = "RequestSuggestAction"; break; + case 24: std::get<1>(result) = "AskJoinInsurrection"; break; + case 25: std::get<1>(result) = "AskJoinRescue"; break; + case 26: std::get<1>(result) = "StateOpinion"; break; + case 27: std::get<1>(result) = "RespondJoinInsurrection"; break; + case 28: std::get<1>(result) = "anon_1"; break; + case 29: std::get<1>(result) = "AllowPermissionSleep"; break; + case 30: std::get<1>(result) = "DenyPermissionSleep"; break; + case 31: std::get<1>(result) = "anon_2"; break; + case 32: std::get<1>(result) = "AskJoinAdventure"; break; + case 33: std::get<1>(result) = "AskGuideLocation"; break; + case 34: std::get<1>(result) = "RespondJoin"; break; + case 35: std::get<1>(result) = "RespondJoin2"; break; + case 36: std::get<1>(result) = "OfferCondolences"; break; + case 37: std::get<1>(result) = "StateNotAcquainted"; break; + case 38: std::get<1>(result) = "SuggestTravel"; break; + case 39: std::get<1>(result) = "SuggestTalk"; break; + case 40: std::get<1>(result) = "RequestSelfRescue"; break; + case 41: std::get<1>(result) = "AskWhatHappened"; break; + case 42: std::get<1>(result) = "AskBeRescued"; break; + case 43: std::get<1>(result) = "SayNotRemember"; break; + case 44: std::get<1>(result) = "anon_3"; break; + case 45: std::get<1>(result) = "SayNoFamily"; break; + case 46: std::get<1>(result) = "StateUnitLocation"; break; + case 47: std::get<1>(result) = "ReferToElder"; break; + case 48: std::get<1>(result) = "AskComeCloser"; break; + case 49: std::get<1>(result) = "DoBusiness"; break; + case 50: std::get<1>(result) = "AskComeStoreLater"; break; + case 51: std::get<1>(result) = "AskComeMarketLater"; break; + case 52: std::get<1>(result) = "TellTryShopkeeper"; break; + case 53: std::get<1>(result) = "DescribeSurroundings"; break; + case 54: std::get<1>(result) = "AskWaitUntilHome"; break; + case 55: std::get<1>(result) = "DescribeFamily"; break; + case 56: std::get<1>(result) = "StateAge"; break; + case 57: std::get<1>(result) = "DescribeProfession"; break; + case 58: std::get<1>(result) = "AnnounceNightCreature"; break; + case 59: std::get<1>(result) = "StateIncredulity"; break; + case 60: std::get<1>(result) = "BypassGreeting"; break; + case 61: std::get<1>(result) = "AskCeaseHostilities"; break; + case 62: std::get<1>(result) = "DemandYield"; break; + case 63: std::get<1>(result) = "HawkWares"; break; + case 64: std::get<1>(result) = "YieldTerror"; break; + case 65: std::get<1>(result) = "Yield"; break; + case 66: std::get<1>(result) = "ExpressOverwhelmingEmotion"; break; + case 67: std::get<1>(result) = "ExpressGreatEmotion"; break; + case 68: std::get<1>(result) = "ExpressEmotion"; break; + case 69: std::get<1>(result) = "ExpressMinorEmotion"; break; + case 70: std::get<1>(result) = "ExpressLackEmotion"; break; + case 71: std::get<1>(result) = "OutburstFleeConflict"; break; + case 72: std::get<1>(result) = "StateFleeConflict"; break; + case 73: std::get<1>(result) = "MentionJourney"; break; + case 74: std::get<1>(result) = "SummarizeTroubles"; break; + case 75: std::get<1>(result) = "AskAboutIncident"; break; + case 76: std::get<1>(result) = "AskDirectionsPerson"; break; + case 77: std::get<1>(result) = "AskDirectionsPlace"; break; + case 78: std::get<1>(result) = "AskWhereabouts"; break; + case 79: std::get<1>(result) = "RequestGuide"; break; + case 80: std::get<1>(result) = "RequestGuide2"; break; + case 81: std::get<1>(result) = "ProvideDirections"; break; + case 82: std::get<1>(result) = "ProvideWhereabouts"; break; + case 83: std::get<1>(result) = "TellTargetSelf"; break; + case 84: std::get<1>(result) = "TellTargetDead"; break; + case 85: std::get<1>(result) = "RecommendGuide"; break; + case 86: std::get<1>(result) = "ProfessIgnorance"; break; + case 87: std::get<1>(result) = "TellAboutPlace"; break; + case 88: std::get<1>(result) = "AskFavorMenu"; break; + case 89: std::get<1>(result) = "AskWait"; break; + case 90: std::get<1>(result) = "AskFollow"; break; + case 91: std::get<1>(result) = "ApologizeBusy"; break; + case 92: std::get<1>(result) = "ComplyOrder"; break; + case 93: std::get<1>(result) = "AgreeFollow"; break; + case 94: std::get<1>(result) = "ExchangeItems"; break; + case 95: std::get<1>(result) = "AskComeCloser2"; break; + case 96: std::get<1>(result) = "InitiateBarter"; break; + case 97: std::get<1>(result) = "AgreeCeaseHostile"; break; + case 98: std::get<1>(result) = "RefuseCeaseHostile"; break; + case 99: std::get<1>(result) = "RefuseCeaseHostile2"; break; + case 100: std::get<1>(result) = "RefuseYield"; break; + case 101: std::get<1>(result) = "RefuseYield2"; break; + case 102: std::get<1>(result) = "Brag"; break; + case 103: std::get<1>(result) = "DescribeRelation"; break; + case 104: std::get<1>(result) = "ClaimSite"; break; + case 105: std::get<1>(result) = "AnnounceLairHunt"; break; + case 106: std::get<1>(result) = "RequestDuty"; break; + case 107: std::get<1>(result) = "AskJoinService"; break; + case 108: std::get<1>(result) = "AcceptService"; break; + case 109: std::get<1>(result) = "TellRemainVigilant"; break; + case 110: std::get<1>(result) = "GiveServiceOrder"; break; + case 111: std::get<1>(result) = "WelcomeSelfHome"; break; + case 112: std::get<1>(result) = "anon_4"; break; + case 113: std::get<1>(result) = "AskTravelReason"; break; + case 114: std::get<1>(result) = "TellTravelReason"; break; + case 115: std::get<1>(result) = "AskLocalRuler"; break; + case 116: std::get<1>(result) = "ComplainAgreement"; break; + case 117: std::get<1>(result) = "CancelAgreement"; break; + case 118: std::get<1>(result) = "SummarizeConflict"; break; + case 119: std::get<1>(result) = "SummarizeViews"; break; + case 120: std::get<1>(result) = "AskClaimStrength"; break; + case 121: std::get<1>(result) = "AskArmyPosition"; break; + case 122: std::get<1>(result) = "AskOtherClaims"; break; + case 123: std::get<1>(result) = "AskDeserters"; break; + case 124: std::get<1>(result) = "AskSiteNeighbors"; break; + case 125: std::get<1>(result) = "DescribeSiteNeighbors"; break; + case 126: std::get<1>(result) = "RaiseAlarm"; break; + case 127: std::get<1>(result) = "DemandDropWeapon"; break; + case 128: std::get<1>(result) = "AgreeComplyDemand"; break; + case 129: std::get<1>(result) = "RefuseComplyDemand"; break; + case 130: std::get<1>(result) = "AskLocationObject"; break; + case 131: std::get<1>(result) = "DemandTribute"; break; + case 132: std::get<1>(result) = "AgreeGiveTribute"; break; + case 133: std::get<1>(result) = "RefuseGiveTribute"; break; + case 134: std::get<1>(result) = "OfferGiveTribute"; break; + case 135: std::get<1>(result) = "AgreeAcceptTribute"; break; + case 136: std::get<1>(result) = "RefuseAcceptTribute"; break; + case 137: std::get<1>(result) = "CancelTribute"; break; + case 138: std::get<1>(result) = "OfferPeace"; break; + case 139: std::get<1>(result) = "AgreePeace"; break; + case 140: std::get<1>(result) = "RefusePeace"; break; + case 141: std::get<1>(result) = "AskTradeDepotLater"; break; + case 142: std::get<1>(result) = "ExpressAstonishment"; break; + case 143: std::get<1>(result) = "CommentWeather"; break; + case 144: std::get<1>(result) = "CommentNature"; break; + case 145: std::get<1>(result) = "SummarizeTerritory"; break; + case 146: std::get<1>(result) = "SummarizePatrols"; break; + case 147: std::get<1>(result) = "SummarizeOpposition"; break; + case 148: std::get<1>(result) = "DescribeRefugees"; break; + case 149: std::get<1>(result) = "AccuseTroublemaker"; break; + case 150: std::get<1>(result) = "AskAdopt"; break; + case 151: std::get<1>(result) = "AgreeAdopt"; break; + case 152: std::get<1>(result) = "RefuseAdopt"; break; + case 153: std::get<1>(result) = "RevokeService"; break; + case 154: std::get<1>(result) = "InviteService"; break; + case 155: std::get<1>(result) = "AcceptInviteService"; break; + case 156: std::get<1>(result) = "RefuseShareInformation"; break; + case 157: std::get<1>(result) = "RefuseInviteService"; break; + case 158: std::get<1>(result) = "RefuseRequestService"; break; + case 159: std::get<1>(result) = "OfferService"; break; + case 160: std::get<1>(result) = "AcceptPositionService"; break; + case 161: std::get<1>(result) = "RefusePositionService"; break; + case 162: std::get<1>(result) = "InvokeNameBanish"; break; + case 163: std::get<1>(result) = "InvokeNameService"; break; + case 164: std::get<1>(result) = "GrovelMaster"; break; + case 165: std::get<1>(result) = "DemandItem"; break; + case 166: std::get<1>(result) = "GiveServiceReport"; break; + case 167: std::get<1>(result) = "OfferEncouragement"; break; + case 168: std::get<1>(result) = "PraiseTaskCompleter"; break; + case 169: std::get<1>(result) = "AskAboutPersonMenu"; break; + case 170: std::get<1>(result) = "AskAboutPerson"; break; + case 171: std::get<1>(result) = "TellAboutPerson"; break; + case 172: std::get<1>(result) = "AskFeelings"; break; + case 173: std::get<1>(result) = "TellThoughts"; break; + case 174: std::get<1>(result) = "AskServices"; break; + case 175: std::get<1>(result) = "TellServices"; break; + case 176: std::get<1>(result) = "OrderDrink"; break; + case 177: std::get<1>(result) = "RentRoom"; break; + case 178: std::get<1>(result) = "ExtendRoomRental"; break; + case 179: std::get<1>(result) = "ConfirmServiceOrder"; break; + case 180: std::get<1>(result) = "AskJoinEntertain"; break; + case 181: std::get<1>(result) = "RespondJoinEntertain"; break; + case 182: std::get<1>(result) = "AskJoinTroupe"; break; + case 183: std::get<1>(result) = "anon_5"; break; + case 184: std::get<1>(result) = "RefuseTroupeApplication"; break; + case 185: std::get<1>(result) = "InviteJoinTroupe"; break; + case 186: std::get<1>(result) = "AcceptTroupeInvitation"; break; + case 187: std::get<1>(result) = "RefuseTroupeInvitation"; break; + case 188: std::get<1>(result) = "KickOutOfTroupe"; break; + case 189: std::get<1>(result) = "CreateTroupe"; break; + case 190: std::get<1>(result) = "LeaveTroupe"; break; + case 191: std::get<1>(result) = "YellServiceOrder"; break; + case 192: std::get<1>(result) = "TellBePatientForService"; break; + case 193: std::get<1>(result) = "TellNoServices"; break; + case 194: std::get<1>(result) = "AskWaitUntilThere"; break; + case 195: std::get<1>(result) = "DenyWorkingHere"; break; + case 196: std::get<1>(result) = "ExpressEmotionMenu"; break; + case 197: std::get<1>(result) = "StateValueMenu"; break; + case 198: std::get<1>(result) = "StateValue"; break; + case 199: std::get<1>(result) = "SayNoOrderYet"; break; + case 200: std::get<1>(result) = "ProvideDirectionsBuilding"; break; + case 201: std::get<1>(result) = "Argue"; break; + case 202: std::get<1>(result) = "Flatter"; break; + case 203: std::get<1>(result) = "DismissArgument"; break; + case 204: std::get<1>(result) = "RespondPassively"; break; + case 205: std::get<1>(result) = "Acquiesce"; break; + case 206: std::get<1>(result) = "DerideFlattery"; break; + case 207: std::get<1>(result) = "ExpressOutrageAtDismissal"; break; + case 208: std::get<1>(result) = "PressArgument"; break; + case 209: std::get<1>(result) = "DropArgument"; break; + case 210: std::get<1>(result) = "AskWork"; break; + case 211: std::get<1>(result) = "AskWorkGroup"; break; + case 212: std::get<1>(result) = "GrantWork"; break; + case 213: std::get<1>(result) = "RefuseWork"; break; + case 214: std::get<1>(result) = "GrantWorkGroup"; break; + case 215: std::get<1>(result) = "RefuseWorkGroup"; break; + case 216: std::get<1>(result) = "GiveSquadOrder"; break; + case 217: std::get<1>(result) = "Artifact"; break; + case 218: std::get<1>(result) = "PraiseReturn"; break; + case 219: std::get<1>(result) = "ProvideLocation"; break; + case 220: std::get<1>(result) = "Prophesize"; break; + case 221: std::get<1>(result) = "TalkAboutAncestor"; break; + case 222: std::get<1>(result) = "SuggestTrade"; break; + case 223: std::get<1>(result) = "AcceptNotTrade"; break; + case 224: std::get<1>(result) = "DemandIdentity"; break; + default: break; + } + return result; +} + +std::tuple get_assume_identity_mode_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "SelectIdentity"; break; + case 1: std::get<1>(result) = "CreateIdentity"; break; + case 2: std::get<1>(result) = "SelectProfession"; break; + case 3: std::get<1>(result) = "SelectWorship"; break; + case 4: std::get<1>(result) = "SelectOrigin"; break; + default: break; + } + return result; +} + +std::tuple get_announcement_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "REACHED_PEAK"; break; + case 1: std::get<1>(result) = "ERA_CHANGE"; break; + case 2: std::get<1>(result) = "FEATURE_DISCOVERY"; break; + case 3: std::get<1>(result) = "STRUCK_DEEP_METAL"; break; + case 4: std::get<1>(result) = "STRUCK_MINERAL"; break; + case 5: std::get<1>(result) = "STRUCK_ECONOMIC_MINERAL"; break; + case 6: std::get<1>(result) = "COMBAT_TWIST_WEAPON"; break; + case 7: std::get<1>(result) = "COMBAT_LET_ITEM_DROP"; break; + case 8: std::get<1>(result) = "COMBAT_START_CHARGE"; break; + case 9: std::get<1>(result) = "COMBAT_SURPRISE_CHARGE"; break; + case 10: std::get<1>(result) = "COMBAT_JUMP_DODGE_PROJ"; break; + case 11: std::get<1>(result) = "COMBAT_JUMP_DODGE_STRIKE"; break; + case 12: std::get<1>(result) = "COMBAT_DODGE"; break; + case 13: std::get<1>(result) = "COMBAT_COUNTERSTRIKE"; break; + case 14: std::get<1>(result) = "COMBAT_BLOCK"; break; + case 15: std::get<1>(result) = "COMBAT_PARRY"; break; + case 16: std::get<1>(result) = "COMBAT_CHARGE_COLLISION"; break; + case 17: std::get<1>(result) = "COMBAT_CHARGE_DEFENDER_TUMBLES"; break; + case 18: std::get<1>(result) = "COMBAT_CHARGE_DEFENDER_KNOCKED_OVER"; break; + case 19: std::get<1>(result) = "COMBAT_CHARGE_ATTACKER_TUMBLES"; break; + case 20: std::get<1>(result) = "COMBAT_CHARGE_ATTACKER_BOUNCE_BACK"; break; + case 21: std::get<1>(result) = "COMBAT_CHARGE_TANGLE_TOGETHER"; break; + case 22: std::get<1>(result) = "COMBAT_CHARGE_TANGLE_TUMBLE"; break; + case 23: std::get<1>(result) = "COMBAT_CHARGE_RUSH_BY"; break; + case 24: std::get<1>(result) = "COMBAT_CHARGE_MANAGE_STOP"; break; + case 25: std::get<1>(result) = "COMBAT_CHARGE_OBSTACLE_SLAM"; break; + case 26: std::get<1>(result) = "COMBAT_WRESTLE_LOCK"; break; + case 27: std::get<1>(result) = "COMBAT_WRESTLE_CHOKEHOLD"; break; + case 28: std::get<1>(result) = "COMBAT_WRESTLE_TAKEDOWN"; break; + case 29: std::get<1>(result) = "COMBAT_WRESTLE_THROW"; break; + case 30: std::get<1>(result) = "COMBAT_WRESTLE_RELEASE_LOCK"; break; + case 31: std::get<1>(result) = "COMBAT_WRESTLE_RELEASE_CHOKE"; break; + case 32: std::get<1>(result) = "COMBAT_WRESTLE_RELEASE_GRIP"; break; + case 33: std::get<1>(result) = "COMBAT_WRESTLE_STRUGGLE"; break; + case 34: std::get<1>(result) = "COMBAT_WRESTLE_RELEASE_LATCH"; break; + case 35: std::get<1>(result) = "COMBAT_WRESTLE_STRANGLE_KO"; break; + case 36: std::get<1>(result) = "COMBAT_WRESTLE_ADJUST_GRIP"; break; + case 37: std::get<1>(result) = "COMBAT_GRAB_TEAR"; break; + case 38: std::get<1>(result) = "COMBAT_STRIKE_DETAILS"; break; + case 39: std::get<1>(result) = "COMBAT_STRIKE_DETAILS_2"; break; + case 40: std::get<1>(result) = "COMBAT_EVENT_ENRAGED"; break; + case 41: std::get<1>(result) = "COMBAT_EVENT_STUCKIN"; break; + case 42: std::get<1>(result) = "COMBAT_EVENT_LATCH_BP"; break; + case 43: std::get<1>(result) = "COMBAT_EVENT_LATCH_GENERAL"; break; + case 44: std::get<1>(result) = "COMBAT_EVENT_PROPELLED_AWAY"; break; + case 45: std::get<1>(result) = "COMBAT_EVENT_KNOCKED_OUT"; break; + case 46: std::get<1>(result) = "COMBAT_EVENT_STUNNED"; break; + case 47: std::get<1>(result) = "COMBAT_EVENT_WINDED"; break; + case 48: std::get<1>(result) = "COMBAT_EVENT_NAUSEATED"; break; + case 49: std::get<1>(result) = "MIGRANT_ARRIVAL_NAMED"; break; + case 50: std::get<1>(result) = "MIGRANT_ARRIVAL"; break; + case 51: std::get<1>(result) = "DIG_CANCEL_WARM"; break; + case 52: std::get<1>(result) = "DIG_CANCEL_DAMP"; break; + case 53: std::get<1>(result) = "AMBUSH_DEFENDER"; break; + case 54: std::get<1>(result) = "AMBUSH_RESIDENT"; break; + case 55: std::get<1>(result) = "AMBUSH_THIEF"; break; + case 56: std::get<1>(result) = "AMBUSH_THIEF_SUPPORT_SKULKING"; break; + case 57: std::get<1>(result) = "AMBUSH_THIEF_SUPPORT_NATURE"; break; + case 58: std::get<1>(result) = "AMBUSH_THIEF_SUPPORT"; break; + case 59: std::get<1>(result) = "AMBUSH_MISCHIEVOUS"; break; + case 60: std::get<1>(result) = "AMBUSH_SNATCHER"; break; + case 61: std::get<1>(result) = "AMBUSH_SNATCHER_SUPPORT"; break; + case 62: std::get<1>(result) = "AMBUSH_AMBUSHER_NATURE"; break; + case 63: std::get<1>(result) = "AMBUSH_AMBUSHER"; break; + case 64: std::get<1>(result) = "AMBUSH_INJURED"; break; + case 65: std::get<1>(result) = "AMBUSH_OTHER"; break; + case 66: std::get<1>(result) = "AMBUSH_INCAPACITATED"; break; + case 67: std::get<1>(result) = "CARAVAN_ARRIVAL"; break; + case 68: std::get<1>(result) = "NOBLE_ARRIVAL"; break; + case 69: std::get<1>(result) = "D_MIGRANTS_ARRIVAL"; break; + case 70: std::get<1>(result) = "D_MIGRANT_ARRIVAL"; break; + case 71: std::get<1>(result) = "D_MIGRANT_ARRIVAL_DISCOURAGED"; break; + case 72: std::get<1>(result) = "D_NO_MIGRANT_ARRIVAL"; break; + case 73: std::get<1>(result) = "ANIMAL_TRAP_CATCH"; break; + case 74: std::get<1>(result) = "ANIMAL_TRAP_ROBBED"; break; + case 75: std::get<1>(result) = "MISCHIEF_LEVER"; break; + case 76: std::get<1>(result) = "MISCHIEF_PLATE"; break; + case 77: std::get<1>(result) = "MISCHIEF_CAGE"; break; + case 78: std::get<1>(result) = "MISCHIEF_CHAIN"; break; + case 79: std::get<1>(result) = "DIPLOMAT_ARRIVAL"; break; + case 80: std::get<1>(result) = "LIAISON_ARRIVAL"; break; + case 81: std::get<1>(result) = "TRADE_DIPLOMAT_ARRIVAL"; break; + case 82: std::get<1>(result) = "CAVE_COLLAPSE"; break; + case 83: std::get<1>(result) = "BIRTH_CITIZEN"; break; + case 84: std::get<1>(result) = "BIRTH_ANIMAL"; break; + case 85: std::get<1>(result) = "STRANGE_MOOD"; break; + case 86: std::get<1>(result) = "MADE_ARTIFACT"; break; + case 87: std::get<1>(result) = "NAMED_ARTIFACT"; break; + case 88: std::get<1>(result) = "ITEM_ATTACHMENT"; break; + case 89: std::get<1>(result) = "VERMIN_CAGE_ESCAPE"; break; + case 90: std::get<1>(result) = "TRIGGER_WEB"; break; + case 91: std::get<1>(result) = "MOOD_BUILDING_CLAIMED"; break; + case 92: std::get<1>(result) = "ARTIFACT_BEGUN"; break; + case 93: std::get<1>(result) = "MEGABEAST_ARRIVAL"; break; + case 94: std::get<1>(result) = "BERSERK_CITIZEN"; break; + case 95: std::get<1>(result) = "MAGMA_DEFACES_ENGRAVING"; break; + case 96: std::get<1>(result) = "ENGRAVING_MELTS"; break; + case 97: std::get<1>(result) = "MASTERPIECE_ARCHITECTURE"; break; + case 98: std::get<1>(result) = "MASTERPIECE_CONSTRUCTION"; break; + case 99: std::get<1>(result) = "MASTER_ARCHITECTURE_LOST"; break; + case 100: std::get<1>(result) = "MASTER_CONSTRUCTION_LOST"; break; + case 101: std::get<1>(result) = "ADV_AWAKEN"; break; + case 102: std::get<1>(result) = "ADV_SLEEP_INTERRUPTED"; break; + case 103: std::get<1>(result) = "CANCEL_JOB"; break; + case 104: std::get<1>(result) = "ADV_CREATURE_DEATH"; break; + case 105: std::get<1>(result) = "CITIZEN_DEATH"; break; + case 106: std::get<1>(result) = "PET_DEATH"; break; + case 107: std::get<1>(result) = "ENDGAME_EVENT_1"; break; + case 108: std::get<1>(result) = "ENDGAME_EVENT_2"; break; + case 109: std::get<1>(result) = "FALL_OVER"; break; + case 110: std::get<1>(result) = "CAUGHT_IN_FLAMES"; break; + case 111: std::get<1>(result) = "CAUGHT_IN_WEB"; break; + case 112: std::get<1>(result) = "UNIT_PROJECTILE_SLAM_BLOW_APART"; break; + case 113: std::get<1>(result) = "UNIT_PROJECTILE_SLAM"; break; + case 114: std::get<1>(result) = "UNIT_PROJECTILE_SLAM_INTO_UNIT"; break; + case 115: std::get<1>(result) = "VOMIT"; break; + case 116: std::get<1>(result) = "LOSE_HOLD_OF_ITEM"; break; + case 117: std::get<1>(result) = "REGAIN_CONSCIOUSNESS"; break; + case 118: std::get<1>(result) = "FREE_FROM_WEB"; break; + case 119: std::get<1>(result) = "PARALYZED"; break; + case 120: std::get<1>(result) = "OVERCOME_PARALYSIS"; break; + case 121: std::get<1>(result) = "NOT_STUNNED"; break; + case 122: std::get<1>(result) = "EXHAUSTION"; break; + case 123: std::get<1>(result) = "PAIN_KO"; break; + case 124: std::get<1>(result) = "BREAK_GRIP"; break; + case 125: std::get<1>(result) = "NO_BREAK_GRIP"; break; + case 126: std::get<1>(result) = "BLOCK_FIRE"; break; + case 127: std::get<1>(result) = "BREATHE_FIRE"; break; + case 128: std::get<1>(result) = "SHOOT_WEB"; break; + case 129: std::get<1>(result) = "PULL_OUT_DROP"; break; + case 130: std::get<1>(result) = "STAND_UP"; break; + case 131: std::get<1>(result) = "MARTIAL_TRANCE"; break; + case 132: std::get<1>(result) = "MAT_BREATH"; break; + case 133: std::get<1>(result) = "ADV_REACTION_PRODUCTS"; break; + case 134: std::get<1>(result) = "NIGHT_ATTACK_STARTS"; break; + case 135: std::get<1>(result) = "NIGHT_ATTACK_ENDS"; break; + case 136: std::get<1>(result) = "NIGHT_ATTACK_TRAVEL"; break; + case 137: std::get<1>(result) = "GHOST_ATTACK"; break; + case 138: std::get<1>(result) = "FLAME_HIT"; break; + case 139: std::get<1>(result) = "TRAVEL_SITE_DISCOVERY"; break; + case 140: std::get<1>(result) = "TRAVEL_SITE_BUMP"; break; + case 141: std::get<1>(result) = "ADVENTURE_INTRO"; break; + case 142: std::get<1>(result) = "CREATURE_SOUND"; break; + case 143: std::get<1>(result) = "CREATURE_STEALS_OBJECT"; break; + case 144: std::get<1>(result) = "FOUND_TRAP"; break; + case 145: std::get<1>(result) = "BODY_TRANSFORMATION"; break; + case 146: std::get<1>(result) = "INTERACTION_ACTOR"; break; + case 147: std::get<1>(result) = "INTERACTION_TARGET"; break; + case 148: std::get<1>(result) = "UNDEAD_ATTACK"; break; + case 149: std::get<1>(result) = "CITIZEN_MISSING"; break; + case 150: std::get<1>(result) = "PET_MISSING"; break; + case 151: std::get<1>(result) = "EMBRACE"; break; + case 152: std::get<1>(result) = "STRANGE_RAIN_SNOW"; break; + case 153: std::get<1>(result) = "STRANGE_CLOUD"; break; + case 154: std::get<1>(result) = "SIMPLE_ANIMAL_ACTION"; break; + case 155: std::get<1>(result) = "FLOUNDER_IN_LIQUID"; break; + case 156: std::get<1>(result) = "TRAINING_DOWN_TO_SEMI_WILD"; break; + case 157: std::get<1>(result) = "TRAINING_FULL_REVERSION"; break; + case 158: std::get<1>(result) = "ANIMAL_TRAINING_KNOWLEDGE"; break; + case 159: std::get<1>(result) = "SKIP_ON_LIQUID"; break; + case 160: std::get<1>(result) = "DODGE_FLYING_OBJECT"; break; + case 161: std::get<1>(result) = "REGULAR_CONVERSATION"; break; + case 162: std::get<1>(result) = "BANDIT_EMPTY_CONTAINER"; break; + case 163: std::get<1>(result) = "BANDIT_GRAB_ITEM"; break; + case 164: std::get<1>(result) = "COMBAT_EVENT_ATTACK_INTERRUPTED"; break; + case 165: std::get<1>(result) = "COMBAT_WRESTLE_CATCH_ATTACK"; break; + case 166: std::get<1>(result) = "FAIL_TO_GRAB_SURFACE"; break; + case 167: std::get<1>(result) = "LOSE_HOLD_OF_SURFACE"; break; + case 168: std::get<1>(result) = "TRAVEL_COMPLAINT"; break; + case 169: std::get<1>(result) = "LOSE_EMOTION"; break; + case 170: std::get<1>(result) = "REORGANIZE_POSSESSIONS"; break; + case 171: std::get<1>(result) = "PUSH_ITEM"; break; + case 172: std::get<1>(result) = "DRAW_ITEM"; break; + case 173: std::get<1>(result) = "STRAP_ITEM"; break; + case 174: std::get<1>(result) = "GAIN_SITE_CONTROL"; break; + case 175: std::get<1>(result) = "CONFLICT_CONVERSATION"; break; + case 176: std::get<1>(result) = "FORT_POSITION_SUCCESSION"; break; + case 177: std::get<1>(result) = "MECHANISM_SOUND"; break; + case 178: std::get<1>(result) = "BIRTH_WILD_ANIMAL"; break; + case 179: std::get<1>(result) = "STRESSED_CITIZEN"; break; + case 180: std::get<1>(result) = "CITIZEN_LOST_TO_STRESS"; break; + case 181: std::get<1>(result) = "CITIZEN_TANTRUM"; break; + case 182: std::get<1>(result) = "MOVED_OUT_OF_RANGE"; break; + case 183: std::get<1>(result) = "CANNOT_JUMP"; break; + case 184: std::get<1>(result) = "NO_TRACKS"; break; + case 185: std::get<1>(result) = "ALREADY_SEARCHED_AREA"; break; + case 186: std::get<1>(result) = "SEARCH_FOUND_SOMETHING"; break; + case 187: std::get<1>(result) = "SEARCH_FOUND_NOTHING"; break; + case 188: std::get<1>(result) = "NOTHING_TO_INTERACT"; break; + case 189: std::get<1>(result) = "NOTHING_TO_EXAMINE"; break; + case 190: std::get<1>(result) = "YOU_YIELDED"; break; + case 191: std::get<1>(result) = "YOU_UNYIELDED"; break; + case 192: std::get<1>(result) = "YOU_STRAP_ITEM"; break; + case 193: std::get<1>(result) = "YOU_DRAW_ITEM"; break; + case 194: std::get<1>(result) = "NO_GRASP_TO_DRAW_ITEM"; break; + case 195: std::get<1>(result) = "NO_ITEM_TO_STRAP"; break; + case 196: std::get<1>(result) = "NO_INV_TO_REMOVE"; break; + case 197: std::get<1>(result) = "NO_INV_TO_WEAR"; break; + case 198: std::get<1>(result) = "NO_INV_TO_EAT"; break; + case 199: std::get<1>(result) = "NO_INV_TO_CONTAIN"; break; + case 200: std::get<1>(result) = "NO_INV_TO_DROP"; break; + case 201: std::get<1>(result) = "NOTHING_TO_PICK_UP"; break; + case 202: std::get<1>(result) = "NO_INV_TO_THROW"; break; + case 203: std::get<1>(result) = "NO_INV_TO_FIRE"; break; + case 204: std::get<1>(result) = "CURRENT_SMELL"; break; + case 205: std::get<1>(result) = "CURRENT_WEATHER"; break; + case 206: std::get<1>(result) = "CURRENT_TEMPERATURE"; break; + case 207: std::get<1>(result) = "CURRENT_DATE"; break; + case 208: std::get<1>(result) = "NO_GRASP_FOR_PICKUP"; break; + case 209: std::get<1>(result) = "TRAVEL_ADVISORY"; break; + case 210: std::get<1>(result) = "CANNOT_CLIMB"; break; + case 211: std::get<1>(result) = "CANNOT_STAND"; break; + case 212: std::get<1>(result) = "MUST_UNRETRACT_FIRST"; break; + case 213: std::get<1>(result) = "CANNOT_REST"; break; + case 214: std::get<1>(result) = "CANNOT_MAKE_CAMPFIRE"; break; + case 215: std::get<1>(result) = "MADE_CAMPFIRE"; break; + case 216: std::get<1>(result) = "CANNOT_SET_FIRE"; break; + case 217: std::get<1>(result) = "SET_FIRE"; break; + case 218: std::get<1>(result) = "DAWN_BREAKS"; break; + case 219: std::get<1>(result) = "NOON"; break; + case 220: std::get<1>(result) = "NIGHTFALL"; break; + case 221: std::get<1>(result) = "NO_INV_INTERACTION"; break; + case 222: std::get<1>(result) = "EMPTY_CONTAINER"; break; + case 223: std::get<1>(result) = "TAKE_OUT_OF_CONTAINER"; break; + case 224: std::get<1>(result) = "NO_CONTAINER_FOR_ITEM"; break; + case 225: std::get<1>(result) = "PUT_INTO_CONTAINER"; break; + case 226: std::get<1>(result) = "EAT_ITEM"; break; + case 227: std::get<1>(result) = "DRINK_ITEM"; break; + case 228: std::get<1>(result) = "CONSUME_FAILURE"; break; + case 229: std::get<1>(result) = "DROP_ITEM"; break; + case 230: std::get<1>(result) = "PICK_UP_ITEM"; break; + case 231: std::get<1>(result) = "YOU_BUILDING_INTERACTION"; break; + case 232: std::get<1>(result) = "YOU_ITEM_INTERACTION"; break; + case 233: std::get<1>(result) = "YOU_TEMPERATURE_EFFECTS"; break; + case 234: std::get<1>(result) = "PROFESSION_CHANGES"; break; + case 235: std::get<1>(result) = "RECRUIT_PROMOTED"; break; + case 236: std::get<1>(result) = "SOLDIER_BECOMES_MASTER"; break; + case 237: std::get<1>(result) = "RESOLVE_SHARED_ITEMS"; break; + case 238: std::get<1>(result) = "COUGH_BLOOD"; break; + case 239: std::get<1>(result) = "VOMIT_BLOOD"; break; + case 240: std::get<1>(result) = "MERCHANTS_UNLOADING"; break; + case 241: std::get<1>(result) = "MERCHANTS_NEED_DEPOT"; break; + case 242: std::get<1>(result) = "MERCHANT_WAGONS_BYPASSED"; break; + case 243: std::get<1>(result) = "MERCHANTS_LEAVING_SOON"; break; + case 244: std::get<1>(result) = "MERCHANTS_EMBARKED"; break; + case 245: std::get<1>(result) = "PET_LOSES_DEAD_OWNER"; break; + case 246: std::get<1>(result) = "PET_ADOPTS_OWNER"; break; + case 247: std::get<1>(result) = "VERMIN_BITE"; break; + case 248: std::get<1>(result) = "UNABLE_TO_COMPLETE_BUILDING"; break; + case 249: std::get<1>(result) = "JOBS_REMOVED_FROM_UNPOWERED_BUILDING"; break; + case 250: std::get<1>(result) = "CITIZEN_SNATCHED"; break; + case 251: std::get<1>(result) = "VERMIN_DISTURBED"; break; + case 252: std::get<1>(result) = "LAND_GAINS_STATUS"; break; + case 253: std::get<1>(result) = "LAND_ELEVATED_STATUS"; break; + case 254: std::get<1>(result) = "MASTERPIECE_CRAFTED"; break; + case 255: std::get<1>(result) = "ARTWORK_DEFACED"; break; + case 256: std::get<1>(result) = "POWER_LEARNED"; break; + case 257: std::get<1>(result) = "YOU_FEED_ON_SUCKEE"; break; + case 258: std::get<1>(result) = "ANIMAL_TRAINED"; break; + case 259: std::get<1>(result) = "DYED_MASTERPIECE"; break; + case 260: std::get<1>(result) = "COOKED_MASTERPIECE"; break; + case 261: std::get<1>(result) = "MANDATE_ENDS"; break; + case 262: std::get<1>(result) = "SLOWDOWN_ENDS"; break; + case 263: std::get<1>(result) = "FAREWELL_HELPER"; break; + case 264: std::get<1>(result) = "ELECTION_RESULTS"; break; + case 265: std::get<1>(result) = "SITE_PRESENT"; break; + case 266: std::get<1>(result) = "CONSTRUCTION_SUSPENDED"; break; + case 267: std::get<1>(result) = "LINKAGE_SUSPENDED"; break; + case 268: std::get<1>(result) = "QUOTA_FILLED"; break; + case 269: std::get<1>(result) = "JOB_OVERWRITTEN"; break; + case 270: std::get<1>(result) = "NOTHING_TO_CATCH_IN_WATER"; break; + case 271: std::get<1>(result) = "DEMAND_FORGOTTEN"; break; + case 272: std::get<1>(result) = "NEW_DEMAND"; break; + case 273: std::get<1>(result) = "NEW_MANDATE"; break; + case 274: std::get<1>(result) = "PRICES_ALTERED"; break; + case 275: std::get<1>(result) = "NAMED_RESIDENT_CREATURE"; break; + case 276: std::get<1>(result) = "SOMEBODY_GROWS_UP"; break; + case 277: std::get<1>(result) = "GUILD_REQUEST_TAKEN"; break; + case 278: std::get<1>(result) = "GUILD_WAGES_CHANGED"; break; + case 279: std::get<1>(result) = "NEW_WORK_MANDATE"; break; + case 280: std::get<1>(result) = "CITIZEN_BECOMES_SOLDIER"; break; + case 281: std::get<1>(result) = "CITIZEN_BECOMES_NONSOLDIER"; break; + case 282: std::get<1>(result) = "PARTY_ORGANIZED"; break; + case 283: std::get<1>(result) = "POSSESSED_TANTRUM"; break; + case 284: std::get<1>(result) = "BUILDING_TOPPLED_BY_GHOST"; break; + case 285: std::get<1>(result) = "MASTERFUL_IMPROVEMENT"; break; + case 286: std::get<1>(result) = "MASTERPIECE_ENGRAVING"; break; + case 287: std::get<1>(result) = "MARRIAGE"; break; + case 288: std::get<1>(result) = "NO_MARRIAGE_CELEBRATION"; break; + case 289: std::get<1>(result) = "CURIOUS_GUZZLER"; break; + case 290: std::get<1>(result) = "WEATHER_BECOMES_CLEAR"; break; + case 291: std::get<1>(result) = "WEATHER_BECOMES_SNOW"; break; + case 292: std::get<1>(result) = "WEATHER_BECOMES_RAIN"; break; + case 293: std::get<1>(result) = "SEASON_WET"; break; + case 294: std::get<1>(result) = "SEASON_DRY"; break; + case 295: std::get<1>(result) = "SEASON_SPRING"; break; + case 296: std::get<1>(result) = "SEASON_SUMMER"; break; + case 297: std::get<1>(result) = "SEASON_AUTUMN"; break; + case 298: std::get<1>(result) = "SEASON_WINTER"; break; + case 299: std::get<1>(result) = "GUEST_ARRIVAL"; break; + case 300: std::get<1>(result) = "CANNOT_SPEAK"; break; + case 301: std::get<1>(result) = "RESEARCH_BREAKTHROUGH"; break; + case 302: std::get<1>(result) = "SERVICE_ORDER_DELIVERY"; break; + case 303: std::get<1>(result) = "PERFORMANCE_START_FAILURE"; break; + case 304: std::get<1>(result) = "BEGIN_ACTIVITY"; break; + case 305: std::get<1>(result) = "MIDDLE_OF_ACTIVITY"; break; + case 306: std::get<1>(result) = "ACTIVITY_SECTION_CHANGE"; break; + case 307: std::get<1>(result) = "CONCLUDE_ACTIVITY"; break; + case 308: std::get<1>(result) = "LEARNED_WRITTEN_CONTENT"; break; + case 309: std::get<1>(result) = "LEARNED_ART_FORM"; break; + case 310: std::get<1>(result) = "PERFORMER_UPDATE"; break; + case 311: std::get<1>(result) = "BUILDING_DESTROYED_OR_TOPPLED"; break; + case 312: std::get<1>(result) = "DEITY_CURSE"; break; + case 313: std::get<1>(result) = "COMPOSITION_COMPLETE"; break; + case 314: std::get<1>(result) = "COMPOSITION_FAILED"; break; + case 315: std::get<1>(result) = "NEW_APPRENTICESHIP"; break; + case 316: std::get<1>(result) = "PETITION_IGNORED"; break; + case 317: std::get<1>(result) = "CHOP_TREE"; break; + case 318: std::get<1>(result) = "CANNOT_CONSTRUCT"; break; + case 319: std::get<1>(result) = "RUMOR_SPREAD"; break; + case 320: std::get<1>(result) = "AMBUSH_HERO"; break; + case 321: std::get<1>(result) = "SERVICE_ORDER_RUMOR_RECEIVED"; break; + case 322: std::get<1>(result) = "RETURNING_RUMOR_RECEIVED"; break; + case 323: std::get<1>(result) = "NEW_HOLDING"; break; + case 324: std::get<1>(result) = "NEW_MARKET_LINK"; break; + default: break; + } + return result; +} + +std::tuple get_art_image_element_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "CREATURE"; break; + case 1: std::get<1>(result) = "PLANT"; break; + case 2: std::get<1>(result) = "TREE"; break; + case 3: std::get<1>(result) = "SHAPE"; break; + case 4: std::get<1>(result) = "ITEM"; break; + default: break; + } + return result; +} + +std::tuple get_art_image_property_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "transitive_verb"; break; + case 1: std::get<1>(result) = "intransitive_verb"; break; + default: break; + } + return result; +} + +std::tuple get_art_image_property_verb_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Withering"; break; + case 1: std::get<1>(result) = "SurroundedBy"; break; + case 2: std::get<1>(result) = "Massacring"; break; + case 3: std::get<1>(result) = "Fighting"; break; + case 4: std::get<1>(result) = "Laboring"; break; + case 5: std::get<1>(result) = "Greeting"; break; + case 6: std::get<1>(result) = "Refusing"; break; + case 7: std::get<1>(result) = "Speaking"; break; + case 8: std::get<1>(result) = "Embracing"; break; + case 9: std::get<1>(result) = "StrikingDown"; break; + case 10: std::get<1>(result) = "MenacingPose"; break; + case 11: std::get<1>(result) = "Traveling"; break; + case 12: std::get<1>(result) = "Raising"; break; + case 13: std::get<1>(result) = "Hiding"; break; + case 14: std::get<1>(result) = "LookingConfused"; break; + case 15: std::get<1>(result) = "LookingTerrified"; break; + case 16: std::get<1>(result) = "Devouring"; break; + case 17: std::get<1>(result) = "Admiring"; break; + case 18: std::get<1>(result) = "Burning"; break; + case 19: std::get<1>(result) = "Weeping"; break; + case 20: std::get<1>(result) = "LookingDejected"; break; + case 21: std::get<1>(result) = "Cringing"; break; + case 22: std::get<1>(result) = "Screaming"; break; + case 23: std::get<1>(result) = "SubmissiveGesture"; break; + case 24: std::get<1>(result) = "FetalPosition"; break; + case 25: std::get<1>(result) = "SmearedIntoSpiral"; break; + case 26: std::get<1>(result) = "Falling"; break; + case 27: std::get<1>(result) = "Dead"; break; + case 28: std::get<1>(result) = "Laughing"; break; + case 29: std::get<1>(result) = "LookingOffended"; break; + case 30: std::get<1>(result) = "BeingShot"; break; + case 31: std::get<1>(result) = "PlaintiveGesture"; break; + case 32: std::get<1>(result) = "Melting"; break; + case 33: std::get<1>(result) = "Shooting"; break; + case 34: std::get<1>(result) = "Torturing"; break; + case 35: std::get<1>(result) = "CommittingDepravedAct"; break; + case 36: std::get<1>(result) = "Praying"; break; + case 37: std::get<1>(result) = "Contemplating"; break; + case 38: std::get<1>(result) = "Cooking"; break; + case 39: std::get<1>(result) = "Engraving"; break; + case 40: std::get<1>(result) = "Prostrating"; break; + case 41: std::get<1>(result) = "Suffering"; break; + case 42: std::get<1>(result) = "BeingImpaled"; break; + case 43: std::get<1>(result) = "BeingContorted"; break; + case 44: std::get<1>(result) = "BeingFlayed"; break; + case 45: std::get<1>(result) = "HangingFrom"; break; + case 46: std::get<1>(result) = "BeingMutilated"; break; + case 47: std::get<1>(result) = "TriumphantPose"; break; + default: break; + } + return result; +} + +std::tuple get_art_facet_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "OWN_RACE"; break; + case 1: std::get<1>(result) = "FANCIFUL"; break; + case 2: std::get<1>(result) = "GOOD"; break; + case 3: std::get<1>(result) = "EVIL"; break; + default: break; + } + return result; +} + +std::tuple get_poetic_form_action_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Describe"; break; + case 1: std::get<1>(result) = "Satirize"; break; + case 2: std::get<1>(result) = "AmuseAudience"; break; + case 3: std::get<1>(result) = "Complain"; break; + case 4: std::get<1>(result) = "Renounce"; break; + case 5: std::get<1>(result) = "MakeApology"; break; + case 6: std::get<1>(result) = "ExpressPleasure"; break; + case 7: std::get<1>(result) = "ExpressGrief"; break; + case 8: std::get<1>(result) = "Praise"; break; + case 9: std::get<1>(result) = "TeachMoralLesson"; break; + case 10: std::get<1>(result) = "MakeAssertion"; break; + case 11: std::get<1>(result) = "MakeCounterAssertion"; break; + case 12: std::get<1>(result) = "MakeConsession"; break; + case 13: std::get<1>(result) = "SynthesizePreviousIdeas"; break; + case 14: std::get<1>(result) = "DevelopPreviousIdea"; break; + case 15: std::get<1>(result) = "InvertTheAssertion"; break; + case 16: std::get<1>(result) = "UndercutAssertion"; break; + case 17: std::get<1>(result) = "MoveAwayFromPreviousIdeas"; break; + case 18: std::get<1>(result) = "ReflectPreviousIdeas"; break; + case 19: std::get<1>(result) = "ConsoleAudience"; break; + case 20: std::get<1>(result) = "RefuseConsolation"; break; + case 21: std::get<1>(result) = "OfferDifferentPerspective"; break; + default: break; + } + return result; +} + +std::tuple get_poetic_form_pattern_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "AA"; break; + case 1: std::get<1>(result) = "AB"; break; + case 2: std::get<1>(result) = "BA"; break; + case 3: std::get<1>(result) = "BB"; break; + case 4: std::get<1>(result) = "AAA"; break; + case 5: std::get<1>(result) = "BAA"; break; + case 6: std::get<1>(result) = "ABA"; break; + case 7: std::get<1>(result) = "AAB"; break; + case 8: std::get<1>(result) = "ABB"; break; + case 9: std::get<1>(result) = "BBA"; break; + case 10: std::get<1>(result) = "BAB"; break; + case 11: std::get<1>(result) = "BBB"; break; + default: break; + } + return result; +} + +std::tuple get_poetic_form_caesura_position_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Initial"; break; + case 1: std::get<1>(result) = "Medial"; break; + case 2: std::get<1>(result) = "Terminal"; break; + default: break; + } + return result; +} + +std::tuple get_poetic_form_mood_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Narrative"; break; + case 1: std::get<1>(result) = "Dramatic"; break; + case 2: std::get<1>(result) = "Reflective"; break; + case 3: std::get<1>(result) = "Riddle"; break; + case 4: std::get<1>(result) = "Ribald"; break; + case 5: std::get<1>(result) = "Light"; break; + case 6: std::get<1>(result) = "Solemn"; break; + default: break; + } + return result; +} + +std::tuple get_poetic_form_subject_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case -1: std::get<1>(result) = "None"; break; + case 0: std::get<1>(result) = "Past"; break; + case 1: std::get<1>(result) = "CurrentEvents"; break; + case 2: std::get<1>(result) = "Future"; break; + case 3: std::get<1>(result) = "SomeoneRecentlyDeceased"; break; + case 4: std::get<1>(result) = "SomeoneRecentlyRetired"; break; + case 5: std::get<1>(result) = "Religion"; break; + case 6: std::get<1>(result) = "SpecificPlace"; break; + case 7: std::get<1>(result) = "SpecificWildernessRegion"; break; + case 8: std::get<1>(result) = "Nature"; break; + case 9: std::get<1>(result) = "Lover"; break; + case 10: std::get<1>(result) = "Family"; break; + case 11: std::get<1>(result) = "AlcoholicBeverages"; break; + case 12: std::get<1>(result) = "Journey"; break; + case 13: std::get<1>(result) = "War"; break; + case 14: std::get<1>(result) = "Hunt"; break; + case 15: std::get<1>(result) = "Mining"; break; + case 16: std::get<1>(result) = "Death"; break; + case 17: std::get<1>(result) = "Immortality"; break; + case 18: std::get<1>(result) = "SomeonesCharacter"; break; + case 19: std::get<1>(result) = "Histfig"; break; + case 20: std::get<1>(result) = "Concept"; break; + default: break; + } + return result; +} + +std::tuple get_poetic_form_additional_feature_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "SharesUnderlyingMeaning"; break; + case 1: std::get<1>(result) = "ContrastsUnderlyingMeaning"; break; + case 2: std::get<1>(result) = "RequiredToMaintainPhrasing"; break; + case 3: std::get<1>(result) = "SameGrammaticalStructure"; break; + case 4: std::get<1>(result) = "SamePlacementOfAllusions"; break; + case 5: std::get<1>(result) = "ReverseWordOrder"; break; + case 6: std::get<1>(result) = "ReverseGrammaticalStructure"; break; + case 7: std::get<1>(result) = "PresentsDifferentView"; break; + case 8: std::get<1>(result) = "MustExpandIdea"; break; + default: break; + } + return result; +} + +std::tuple get_poetic_form_perspective__T_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Author"; break; + case 1: std::get<1>(result) = "Soldier"; break; + case 2: std::get<1>(result) = "Traveller"; break; + case 3: std::get<1>(result) = "RelativeOfAuthor"; break; + case 4: std::get<1>(result) = "PartyOfDebate"; break; + case 5: std::get<1>(result) = "FictionalPoet"; break; + case 6: std::get<1>(result) = "Histfig"; break; + case 7: std::get<1>(result) = "Animal"; break; + default: break; + } + return result; +} + +std::tuple get_musical_form_purpose_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Entertainment"; break; + case 1: std::get<1>(result) = "Commemoration"; break; + case 2: std::get<1>(result) = "Devotion"; break; + case 3: std::get<1>(result) = "Military"; break; + default: break; + } + return result; +} + +std::tuple get_musical_form_style_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case -1: std::get<1>(result) = "None"; break; + case 0: std::get<1>(result) = "FreeTempo"; break; + case 1: std::get<1>(result) = "VerySlow"; break; + case 2: std::get<1>(result) = "Slow"; break; + case 3: std::get<1>(result) = "WalkingPace"; break; + case 4: std::get<1>(result) = "ModeratelyPaced"; break; + case 5: std::get<1>(result) = "ModeratelyFast"; break; + case 6: std::get<1>(result) = "Fast"; break; + case 7: std::get<1>(result) = "VeryFast"; break; + case 8: std::get<1>(result) = "ExtremelyFast"; break; + case 9: std::get<1>(result) = "anon_1"; break; + case 10: std::get<1>(result) = "anon_2"; break; + case 11: std::get<1>(result) = "anon_3"; break; + case 12: std::get<1>(result) = "anon_4"; break; + case 13: std::get<1>(result) = "anon_5"; break; + case 14: std::get<1>(result) = "anon_6"; break; + case 15: std::get<1>(result) = "Accelerates"; break; + case 16: std::get<1>(result) = "SlowsAndBroadens"; break; + case 17: std::get<1>(result) = "ConsistentlySlowing"; break; + case 18: std::get<1>(result) = "HurriedPace"; break; + case 19: std::get<1>(result) = "GraduallySlowsAtEnd"; break; + case 20: std::get<1>(result) = "WhisperedUndertones"; break; + case 21: std::get<1>(result) = "VerySoft"; break; + case 22: std::get<1>(result) = "Soft"; break; + case 23: std::get<1>(result) = "ModeratelySoft"; break; + case 24: std::get<1>(result) = "ModeratelyLoud"; break; + case 25: std::get<1>(result) = "Loud"; break; + case 26: std::get<1>(result) = "VeryLoud"; break; + case 27: std::get<1>(result) = "BecomeLouderAndLouder"; break; + case 28: std::get<1>(result) = "BecomeSofterAndSofter"; break; + case 29: std::get<1>(result) = "FadeIntoSilence"; break; + case 30: std::get<1>(result) = "StartLoudThenImmediatelySoft"; break; + case 31: std::get<1>(result) = "SlowsAndDiesAwayAtEnd"; break; + case 32: std::get<1>(result) = "BecomesCalmerAtEnd"; break; + case 33: std::get<1>(result) = "BecomesFrenzied"; break; + case 34: std::get<1>(result) = "StressRhythm"; break; + case 35: std::get<1>(result) = "BeStately"; break; + case 36: std::get<1>(result) = "BeBright"; break; + case 37: std::get<1>(result) = "BeLively"; break; + case 38: std::get<1>(result) = "BeSkilled"; break; + case 39: std::get<1>(result) = "BeVigorous"; break; + case 40: std::get<1>(result) = "BeSpirited"; break; + case 41: std::get<1>(result) = "BeDelicate"; break; + case 42: std::get<1>(result) = "BeFiery"; break; + case 43: std::get<1>(result) = "BringSenseOfMotion"; break; + case 44: std::get<1>(result) = "BeFiery2"; break; + case 45: std::get<1>(result) = "FeelAgitated"; break; + case 46: std::get<1>(result) = "BePassionate"; break; + case 47: std::get<1>(result) = "Sparkle"; break; + case 48: std::get<1>(result) = "BeBroad"; break; + case 49: std::get<1>(result) = "BeMadeSweetly"; break; + case 50: std::get<1>(result) = "BeStrong"; break; + case 51: std::get<1>(result) = "BeEnergetic"; break; + case 52: std::get<1>(result) = "BeForceful"; break; + case 53: std::get<1>(result) = "FeelHeroic"; break; + case 54: std::get<1>(result) = "BeMadeExpressively"; break; + case 55: std::get<1>(result) = "FeelFurious"; break; + case 56: std::get<1>(result) = "BeJoyful"; break; + case 57: std::get<1>(result) = "BeGrand"; break; + case 58: std::get<1>(result) = "BeMerry"; break; + case 59: std::get<1>(result) = "BeGraceful"; break; + case 60: std::get<1>(result) = "BuildAsItProceeds"; break; + case 61: std::get<1>(result) = "EvokeTears"; break; + case 62: std::get<1>(result) = "BeMelancholic"; break; + case 63: std::get<1>(result) = "FeelMournful"; break; + case 64: std::get<1>(result) = "BeMadeWithLightTouch"; break; + case 65: std::get<1>(result) = "FeelHeavy"; break; + case 66: std::get<1>(result) = "FeelMysterious"; break; + case 67: std::get<1>(result) = "BeJumpy"; break; + case 68: std::get<1>(result) = "FeelPlayful"; break; + case 69: std::get<1>(result) = "FeelTender"; break; + case 70: std::get<1>(result) = "FeelCalm"; break; + case 71: std::get<1>(result) = "BeTriumphant"; break; + default: break; + } + return result; +} + +std::tuple get_musical_form_pitch_style_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "SinglePitchesOnly"; break; + case 1: std::get<1>(result) = "IntervalsOnly"; break; + case 2: std::get<1>(result) = "SparseChords"; break; + case 3: std::get<1>(result) = "PitchClusters"; break; + case 4: std::get<1>(result) = "ChordLayers"; break; + default: break; + } + return result; +} + +std::tuple get_occupation_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "TAVERN_KEEPER"; break; + case 1: std::get<1>(result) = "PERFORMER"; break; + case 2: std::get<1>(result) = "SCHOLAR"; break; + case 3: std::get<1>(result) = "MERCENARY"; break; + case 4: std::get<1>(result) = "MONSTER_SLAYER"; break; + case 5: std::get<1>(result) = "SCRIBE"; break; + case 6: std::get<1>(result) = "MESSENGER"; break; + default: break; + } + return result; +} + +std::tuple get_buildings_other_id_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case -1: std::get<1>(result) = "ANY"; break; + case 0: std::get<1>(result) = "IN_PLAY"; std::get<2>(result) = "actually on the map, as opposed to in an offloaded fortress elsewhere"; break; + case 1: std::get<1>(result) = "LOCATION_ASSIGNED"; break; + case 2: std::get<1>(result) = "STOCKPILE"; break; + case 3: std::get<1>(result) = "ANY_ZONE"; break; + case 4: std::get<1>(result) = "ACTIVITY_ZONE"; break; + case 5: std::get<1>(result) = "ANY_ACTUAL"; break; + case 6: std::get<1>(result) = "ANY_MACHINE"; break; + case 7: std::get<1>(result) = "ANY_HOSPITAL_STORAGE"; break; + case 8: std::get<1>(result) = "ANY_STORAGE"; break; + case 9: std::get<1>(result) = "ANY_BARRACKS"; break; + case 10: std::get<1>(result) = "ANY_NOBLE_ROOM"; break; + case 11: std::get<1>(result) = "ANY_HOSPITAL"; break; + case 12: std::get<1>(result) = "BOX"; break; + case 13: std::get<1>(result) = "CABINET"; break; + case 14: std::get<1>(result) = "TRAP"; break; + case 15: std::get<1>(result) = "DOOR"; break; + case 16: std::get<1>(result) = "FLOODGATE"; break; + case 17: std::get<1>(result) = "HATCH"; break; + case 18: std::get<1>(result) = "GRATE_WALL"; break; + case 19: std::get<1>(result) = "GRATE_FLOOR"; break; + case 20: std::get<1>(result) = "BARS_VERTICAL"; break; + case 21: std::get<1>(result) = "BARS_FLOOR"; break; + case 22: std::get<1>(result) = "WINDOW_ANY"; break; + case 23: std::get<1>(result) = "WELL"; break; + case 24: std::get<1>(result) = "TABLE"; break; + case 25: std::get<1>(result) = "BRIDGE"; break; + case 26: std::get<1>(result) = "CHAIR"; break; + case 27: std::get<1>(result) = "TRADE_DEPOT"; break; + case 28: std::get<1>(result) = "NEST"; break; + case 29: std::get<1>(result) = "NEST_BOX"; break; + case 30: std::get<1>(result) = "BOOKCASE"; break; + case 31: std::get<1>(result) = "DISPLAY_CASE"; break; + case 32: std::get<1>(result) = "HIVE"; break; + case 33: std::get<1>(result) = "WAGON"; break; + case 34: std::get<1>(result) = "SHOP"; break; + case 35: std::get<1>(result) = "BED"; break; + case 36: std::get<1>(result) = "TRACTION_BENCH"; break; + case 37: std::get<1>(result) = "ANY_ROAD"; break; + case 38: std::get<1>(result) = "FARM_PLOT"; break; + case 39: std::get<1>(result) = "GEAR_ASSEMBLY"; break; + case 40: std::get<1>(result) = "ROLLERS"; break; + case 41: std::get<1>(result) = "AXLE_HORIZONTAL"; break; + case 42: std::get<1>(result) = "AXLE_VERTICAL"; break; + case 43: std::get<1>(result) = "SUPPORT"; break; + case 44: std::get<1>(result) = "ARCHERY_TARGET"; break; + case 45: std::get<1>(result) = "SCREW_PUMP"; break; + case 46: std::get<1>(result) = "WATER_WHEEL"; break; + case 47: std::get<1>(result) = "WINDMILL"; break; + case 48: std::get<1>(result) = "CHAIN"; break; + case 49: std::get<1>(result) = "CAGE"; break; + case 50: std::get<1>(result) = "STATUE"; break; + case 51: std::get<1>(result) = "SLAB"; break; + case 52: std::get<1>(result) = "COFFIN"; break; + case 53: std::get<1>(result) = "WEAPON_RACK"; break; + case 54: std::get<1>(result) = "ARMOR_STAND"; break; + case 55: std::get<1>(result) = "FURNACE_ANY"; break; + case 56: std::get<1>(result) = "FURNACE_WOOD"; break; + case 57: std::get<1>(result) = "FURNACE_SMELTER_ANY"; break; + case 58: std::get<1>(result) = "FURNACE_SMELTER_MAGMA"; break; + case 59: std::get<1>(result) = "FURNACE_KILN_ANY"; break; + case 60: std::get<1>(result) = "FURNACE_GLASS_ANY"; break; + case 61: std::get<1>(result) = "FURNACE_CUSTOM"; break; + case 62: std::get<1>(result) = "WORKSHOP_ANY"; break; + case 63: std::get<1>(result) = "WORKSHOP_BUTCHER"; break; + case 64: std::get<1>(result) = "WORKSHOP_MASON"; break; + case 65: std::get<1>(result) = "WORKSHOP_KENNEL"; break; + case 66: std::get<1>(result) = "WORKSHOP_FISHERY"; break; + case 67: std::get<1>(result) = "WORKSHOP_JEWELER"; break; + case 68: std::get<1>(result) = "WORKSHOP_LOOM"; break; + case 69: std::get<1>(result) = "WORKSHOP_TANNER"; break; + case 70: std::get<1>(result) = "WORKSHOP_DYER"; break; + case 71: std::get<1>(result) = "WORKSHOP_MILL_ANY"; break; + case 72: std::get<1>(result) = "WORKSHOP_QUERN"; break; + case 73: std::get<1>(result) = "WORKSHOP_TOOL"; break; + case 74: std::get<1>(result) = "WORKSHOP_MILLSTONE"; break; + case 75: std::get<1>(result) = "WORKSHOP_KITCHEN"; break; + case 76: std::get<1>(result) = "WORKSHOP_STILL"; break; + case 77: std::get<1>(result) = "WORKSHOP_FARMER"; break; + case 78: std::get<1>(result) = "WORKSHOP_ASHERY"; break; + case 79: std::get<1>(result) = "WORKSHOP_CARPENTER"; break; + case 80: std::get<1>(result) = "WORKSHOP_CRAFTSDWARF"; break; + case 81: std::get<1>(result) = "WORKSHOP_MECHANIC"; break; + case 82: std::get<1>(result) = "WORKSHOP_SIEGE"; break; + case 83: std::get<1>(result) = "WORKSHOP_CLOTHIER"; break; + case 84: std::get<1>(result) = "WORKSHOP_LEATHER"; break; + case 85: std::get<1>(result) = "WORKSHOP_BOWYER"; break; + case 86: std::get<1>(result) = "WORKSHOP_MAGMA_FORGE"; break; + case 87: std::get<1>(result) = "WORKSHOP_FORGE_ANY"; break; + case 88: std::get<1>(result) = "WORKSHOP_CUSTOM"; break; + case 89: std::get<1>(result) = "WEAPON_UPRIGHT"; break; + case 90: std::get<1>(result) = "INSTRUMENT_STATIONARY"; break; + default: break; + } + return result; +} + +std::tuple get_building_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case -1: std::get<1>(result) = "NONE"; break; + case 0: std::get<1>(result) = "Chair"; break; + case 1: std::get<1>(result) = "Bed"; break; + case 2: std::get<1>(result) = "Table"; break; + case 3: std::get<1>(result) = "Coffin"; break; + case 4: std::get<1>(result) = "FarmPlot"; break; + case 5: std::get<1>(result) = "Furnace"; break; + case 6: std::get<1>(result) = "TradeDepot"; break; + case 7: std::get<1>(result) = "Shop"; break; + case 8: std::get<1>(result) = "Door"; break; + case 9: std::get<1>(result) = "Floodgate"; break; + case 10: std::get<1>(result) = "Box"; break; + case 11: std::get<1>(result) = "Weaponrack"; break; + case 12: std::get<1>(result) = "Armorstand"; break; + case 13: std::get<1>(result) = "Workshop"; break; + case 14: std::get<1>(result) = "Cabinet"; break; + case 15: std::get<1>(result) = "Statue"; break; + case 16: std::get<1>(result) = "WindowGlass"; break; + case 17: std::get<1>(result) = "WindowGem"; break; + case 18: std::get<1>(result) = "Well"; break; + case 19: std::get<1>(result) = "Bridge"; break; + case 20: std::get<1>(result) = "RoadDirt"; break; + case 21: std::get<1>(result) = "RoadPaved"; break; + case 22: std::get<1>(result) = "SiegeEngine"; break; + case 23: std::get<1>(result) = "Trap"; break; + case 24: std::get<1>(result) = "AnimalTrap"; break; + case 25: std::get<1>(result) = "Support"; break; + case 26: std::get<1>(result) = "ArcheryTarget"; break; + case 27: std::get<1>(result) = "Chain"; break; + case 28: std::get<1>(result) = "Cage"; break; + case 29: std::get<1>(result) = "Stockpile"; break; + case 30: std::get<1>(result) = "Civzone"; break; + case 31: std::get<1>(result) = "Weapon"; break; + case 32: std::get<1>(result) = "Wagon"; break; + case 33: std::get<1>(result) = "ScrewPump"; break; + case 34: std::get<1>(result) = "Construction"; break; + case 35: std::get<1>(result) = "Hatch"; break; + case 36: std::get<1>(result) = "GrateWall"; break; + case 37: std::get<1>(result) = "GrateFloor"; break; + case 38: std::get<1>(result) = "BarsVertical"; break; + case 39: std::get<1>(result) = "BarsFloor"; break; + case 40: std::get<1>(result) = "GearAssembly"; break; + case 41: std::get<1>(result) = "AxleHorizontal"; break; + case 42: std::get<1>(result) = "AxleVertical"; break; + case 43: std::get<1>(result) = "WaterWheel"; break; + case 44: std::get<1>(result) = "Windmill"; break; + case 45: std::get<1>(result) = "TractionBench"; break; + case 46: std::get<1>(result) = "Slab"; break; + case 47: std::get<1>(result) = "Nest"; break; + case 48: std::get<1>(result) = "NestBox"; break; + case 49: std::get<1>(result) = "Hive"; break; + case 50: std::get<1>(result) = "Rollers"; break; + case 51: std::get<1>(result) = "Instrument"; break; + case 52: std::get<1>(result) = "Bookcase"; break; + case 53: std::get<1>(result) = "DisplayFurniture"; break; + default: break; + } + return result; +} + +std::tuple get_civzone_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Home"; break; + case 1: std::get<1>(result) = "Depot"; break; + case 2: std::get<1>(result) = "Stockpile"; break; + case 3: std::get<1>(result) = "NobleQuarters"; break; + case 4: std::get<1>(result) = "anon_1"; break; + case 5: std::get<1>(result) = "anon_2"; break; + case 6: std::get<1>(result) = "anon_3"; break; + case 7: std::get<1>(result) = "MeadHall"; break; + case 8: std::get<1>(result) = "ThroneRoom"; break; + case 9: std::get<1>(result) = "ActivityZone"; break; + case 10: std::get<1>(result) = "Temple"; break; + case 11: std::get<1>(result) = "Kitchen"; break; + case 12: std::get<1>(result) = "CaptiveRoom"; break; + case 13: std::get<1>(result) = "TowerTop"; break; + case 14: std::get<1>(result) = "Courtyard"; break; + case 15: std::get<1>(result) = "Treasury"; break; + case 16: std::get<1>(result) = "GuardPost"; break; + case 17: std::get<1>(result) = "Entrance"; break; + case 18: std::get<1>(result) = "SecretLibrary"; break; + case 19: std::get<1>(result) = "Library"; break; + case 20: std::get<1>(result) = "Plot"; break; + case 21: std::get<1>(result) = "MarketStall"; break; + case 22: std::get<1>(result) = "anon_4"; break; + case 23: std::get<1>(result) = "Campground"; break; + case 24: std::get<1>(result) = "CommandTent"; break; + case 25: std::get<1>(result) = "Tent"; break; + case 26: std::get<1>(result) = "CommandTentBld"; break; + case 27: std::get<1>(result) = "TentBld"; break; + case 28: std::get<1>(result) = "MechanismRoom"; break; + case 29: std::get<1>(result) = "DungeonCell"; break; + case 30: std::get<1>(result) = "AnimalPit"; break; + case 31: std::get<1>(result) = "ClothPit"; break; + case 32: std::get<1>(result) = "TanningPit"; break; + case 33: std::get<1>(result) = "ClothClothingPit"; break; + case 34: std::get<1>(result) = "LeatherClothingPit"; break; + case 35: std::get<1>(result) = "BoneCarvingPit"; break; + case 36: std::get<1>(result) = "GemCuttingPit"; break; + case 37: std::get<1>(result) = "WeaponsmithingPit"; break; + case 38: std::get<1>(result) = "BowmakingPit"; break; + case 39: std::get<1>(result) = "BlacksmithingPit"; break; + case 40: std::get<1>(result) = "ArmorsmithingPit"; break; + case 41: std::get<1>(result) = "MetalCraftingPit"; break; + case 42: std::get<1>(result) = "LeatherworkingPit"; break; + case 43: std::get<1>(result) = "CarpentryPit"; break; + case 44: std::get<1>(result) = "StoneworkingPit"; break; + case 45: std::get<1>(result) = "ForgingPit"; break; + case 46: std::get<1>(result) = "FightingPit"; break; + case 47: std::get<1>(result) = "anon_5"; break; + case 48: std::get<1>(result) = "anon_6"; break; + case 49: std::get<1>(result) = "anon_7"; break; + case 50: std::get<1>(result) = "anon_8"; break; + case 51: std::get<1>(result) = "anon_9"; break; + case 52: std::get<1>(result) = "anon_10"; break; + case 53: std::get<1>(result) = "AnimalWorkshop"; break; + case 54: std::get<1>(result) = "ClothWorkshop"; break; + case 55: std::get<1>(result) = "TanningWorkshop"; break; + case 56: std::get<1>(result) = "ClothClothingWorkshop"; break; + case 57: std::get<1>(result) = "LeatherClothingWorkshop"; break; + case 58: std::get<1>(result) = "BoneCarvingWorkshop"; break; + case 59: std::get<1>(result) = "GemCuttingWorkshop"; break; + case 60: std::get<1>(result) = "WeaponsmithingWorkshop"; break; + case 61: std::get<1>(result) = "BowmakingWorkshop"; break; + case 62: std::get<1>(result) = "BlacksmithingWorkshop"; break; + case 63: std::get<1>(result) = "ArmorsmithingWorkshop"; break; + case 64: std::get<1>(result) = "MetalCraftingWorkshop"; break; + case 65: std::get<1>(result) = "LeatherworkingShop"; break; + case 66: std::get<1>(result) = "CarpentryWorkshop"; break; + case 67: std::get<1>(result) = "StoneworkingWorkshop"; break; + case 68: std::get<1>(result) = "ForgingWorkshop"; break; + default: break; + } + return result; +} + +std::tuple get_furnace_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "WoodFurnace"; break; + case 1: std::get<1>(result) = "Smelter"; break; + case 2: std::get<1>(result) = "GlassFurnace"; break; + case 3: std::get<1>(result) = "Kiln"; break; + case 4: std::get<1>(result) = "MagmaSmelter"; break; + case 5: std::get<1>(result) = "MagmaGlassFurnace"; break; + case 6: std::get<1>(result) = "MagmaKiln"; break; + case 7: std::get<1>(result) = "Custom"; break; + default: break; + } + return result; +} + +std::tuple get_workshop_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Carpenters"; break; + case 1: std::get<1>(result) = "Farmers"; break; + case 2: std::get<1>(result) = "Masons"; break; + case 3: std::get<1>(result) = "Craftsdwarfs"; break; + case 4: std::get<1>(result) = "Jewelers"; break; + case 5: std::get<1>(result) = "MetalsmithsForge"; break; + case 6: std::get<1>(result) = "MagmaForge"; break; + case 7: std::get<1>(result) = "Bowyers"; break; + case 8: std::get<1>(result) = "Mechanics"; break; + case 9: std::get<1>(result) = "Siege"; break; + case 10: std::get<1>(result) = "Butchers"; break; + case 11: std::get<1>(result) = "Leatherworks"; break; + case 12: std::get<1>(result) = "Tanners"; break; + case 13: std::get<1>(result) = "Clothiers"; break; + case 14: std::get<1>(result) = "Fishery"; break; + case 15: std::get<1>(result) = "Still"; break; + case 16: std::get<1>(result) = "Loom"; break; + case 17: std::get<1>(result) = "Quern"; break; + case 18: std::get<1>(result) = "Kennels"; break; + case 19: std::get<1>(result) = "Kitchen"; break; + case 20: std::get<1>(result) = "Ashery"; break; + case 21: std::get<1>(result) = "Dyers"; break; + case 22: std::get<1>(result) = "Millstone"; break; + case 23: std::get<1>(result) = "Custom"; break; + case 24: std::get<1>(result) = "Tool"; break; + default: break; + } + return result; +} + +std::tuple get_construction_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case -1: std::get<1>(result) = "NONE"; std::get<2>(result) = "unused"; break; + case 0: std::get<1>(result) = "Fortification"; break; + case 1: std::get<1>(result) = "Wall"; break; + case 2: std::get<1>(result) = "Floor"; break; + case 3: std::get<1>(result) = "UpStair"; break; + case 4: std::get<1>(result) = "DownStair"; break; + case 5: std::get<1>(result) = "UpDownStair"; break; + case 6: std::get<1>(result) = "Ramp"; break; + case 7: std::get<1>(result) = "TrackN"; break; + case 8: std::get<1>(result) = "TrackS"; break; + case 9: std::get<1>(result) = "TrackE"; break; + case 10: std::get<1>(result) = "TrackW"; break; + case 11: std::get<1>(result) = "TrackNS"; break; + case 12: std::get<1>(result) = "TrackNE"; break; + case 13: std::get<1>(result) = "TrackNW"; break; + case 14: std::get<1>(result) = "TrackSE"; break; + case 15: std::get<1>(result) = "TrackSW"; break; + case 16: std::get<1>(result) = "TrackEW"; break; + case 17: std::get<1>(result) = "TrackNSE"; break; + case 18: std::get<1>(result) = "TrackNSW"; break; + case 19: std::get<1>(result) = "TrackNEW"; break; + case 20: std::get<1>(result) = "TrackSEW"; break; + case 21: std::get<1>(result) = "TrackNSEW"; break; + case 22: std::get<1>(result) = "TrackRampN"; break; + case 23: std::get<1>(result) = "TrackRampS"; break; + case 24: std::get<1>(result) = "TrackRampE"; break; + case 25: std::get<1>(result) = "TrackRampW"; break; + case 26: std::get<1>(result) = "TrackRampNS"; break; + case 27: std::get<1>(result) = "TrackRampNE"; break; + case 28: std::get<1>(result) = "TrackRampNW"; break; + case 29: std::get<1>(result) = "TrackRampSE"; break; + case 30: std::get<1>(result) = "TrackRampSW"; break; + case 31: std::get<1>(result) = "TrackRampEW"; break; + case 32: std::get<1>(result) = "TrackRampNSE"; break; + case 33: std::get<1>(result) = "TrackRampNSW"; break; + case 34: std::get<1>(result) = "TrackRampNEW"; break; + case 35: std::get<1>(result) = "TrackRampSEW"; break; + case 36: std::get<1>(result) = "TrackRampNSEW"; break; + default: break; + } + return result; +} + +std::tuple get_shop_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "GeneralStore"; break; + case 1: std::get<1>(result) = "CraftsMarket"; break; + case 2: std::get<1>(result) = "ClothingShop"; break; + case 3: std::get<1>(result) = "ExoticClothingShop"; break; + default: break; + } + return result; +} + +std::tuple get_siegeengine_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Catapult"; break; + case 1: std::get<1>(result) = "Ballista"; break; + default: break; + } + return result; +} + +std::tuple get_trap_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Lever"; break; + case 1: std::get<1>(result) = "PressurePlate"; break; + case 2: std::get<1>(result) = "CageTrap"; break; + case 3: std::get<1>(result) = "StoneFallTrap"; break; + case 4: std::get<1>(result) = "WeaponTrap"; break; + case 5: std::get<1>(result) = "TrackStop"; break; + default: break; + } + return result; +} + +std::tuple get_dfhack_room_quality_level_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Meager"; break; + case 1: std::get<1>(result) = "Modest"; break; + case 2: std::get<1>(result) = "Normal"; break; + case 3: std::get<1>(result) = "Decent"; break; + case 4: std::get<1>(result) = "Fine"; break; + case 5: std::get<1>(result) = "Great"; break; + case 6: std::get<1>(result) = "Grand"; break; + case 7: std::get<1>(result) = "Royal"; break; + default: break; + } + return result; +} + +std::tuple get_creature_raw_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "unk_wagon"; break; + case 1: std::get<1>(result) = "EQUIPMENT_WAGON"; break; + case 2: std::get<1>(result) = "MUNDANE"; break; + case 3: std::get<1>(result) = "VERMIN_EATER"; break; + case 4: std::get<1>(result) = "VERMIN_GROUNDER"; break; + case 5: std::get<1>(result) = "VERMIN_ROTTER"; break; + case 6: std::get<1>(result) = "VERMIN_SOIL"; break; + case 7: std::get<1>(result) = "VERMIN_SOIL_COLONY"; break; + case 8: std::get<1>(result) = "LARGE_ROAMING"; break; + case 9: std::get<1>(result) = "VERMIN_FISH"; break; + case 10: std::get<1>(result) = "LOOSE_CLUSTERS"; break; + case 11: std::get<1>(result) = "FANCIFUL"; break; + case 12: std::get<1>(result) = "BIOME_MOUNTAIN"; break; + case 13: std::get<1>(result) = "BIOME_GLACIER"; break; + case 14: std::get<1>(result) = "BIOME_TUNDRA"; break; + case 15: std::get<1>(result) = "BIOME_SWAMP_TEMPERATE_FRESHWATER"; break; + case 16: std::get<1>(result) = "BIOME_SWAMP_TEMPERATE_SALTWATER"; break; + case 17: std::get<1>(result) = "BIOME_MARSH_TEMPERATE_FRESHWATER"; break; + case 18: std::get<1>(result) = "BIOME_MARSH_TEMPERATE_SALTWATER"; break; + case 19: std::get<1>(result) = "BIOME_SWAMP_TROPICAL_FRESHWATER"; break; + case 20: std::get<1>(result) = "BIOME_SWAMP_TROPICAL_SALTWATER"; break; + case 21: std::get<1>(result) = "BIOME_SWAMP_MANGROVE"; break; + case 22: std::get<1>(result) = "BIOME_MARSH_TROPICAL_FRESHWATER"; break; + case 23: std::get<1>(result) = "BIOME_MARSH_TROPICAL_SALTWATER"; break; + case 24: std::get<1>(result) = "BIOME_FOREST_TAIGA"; break; + case 25: std::get<1>(result) = "BIOME_FOREST_TEMPERATE_CONIFER"; break; + case 26: std::get<1>(result) = "BIOME_FOREST_TEMPERATE_BROADLEAF"; break; + case 27: std::get<1>(result) = "BIOME_FOREST_TROPICAL_CONIFER"; break; + case 28: std::get<1>(result) = "BIOME_FOREST_TROPICAL_DRY_BROADLEAF"; break; + case 29: std::get<1>(result) = "BIOME_FOREST_TROPICAL_MOIST_BROADLEAF"; break; + case 30: std::get<1>(result) = "BIOME_GRASSLAND_TEMPERATE"; break; + case 31: std::get<1>(result) = "BIOME_SAVANNA_TEMPERATE"; break; + case 32: std::get<1>(result) = "BIOME_SHRUBLAND_TEMPERATE"; break; + case 33: std::get<1>(result) = "BIOME_GRASSLAND_TROPICAL"; break; + case 34: std::get<1>(result) = "BIOME_SAVANNA_TROPICAL"; break; + case 35: std::get<1>(result) = "BIOME_SHRUBLAND_TROPICAL"; break; + case 36: std::get<1>(result) = "BIOME_DESERT_BADLAND"; break; + case 37: std::get<1>(result) = "BIOME_DESERT_ROCK"; break; + case 38: std::get<1>(result) = "BIOME_DESERT_SAND"; break; + case 39: std::get<1>(result) = "BIOME_OCEAN_TROPICAL"; break; + case 40: std::get<1>(result) = "BIOME_OCEAN_TEMPERATE"; break; + case 41: std::get<1>(result) = "BIOME_OCEAN_ARCTIC"; break; + case 42: std::get<1>(result) = "BIOME_SUBTERRANEAN_WATER"; break; + case 43: std::get<1>(result) = "BIOME_SUBTERRANEAN_CHASM"; break; + case 44: std::get<1>(result) = "BIOME_SUBTERRANEAN_LAVA"; break; + case 45: std::get<1>(result) = "BIOME_POOL_TEMPERATE_FRESHWATER"; break; + case 46: std::get<1>(result) = "BIOME_POOL_TEMPERATE_BRACKISHWATER"; break; + case 47: std::get<1>(result) = "BIOME_POOL_TEMPERATE_SALTWATER"; break; + case 48: std::get<1>(result) = "BIOME_POOL_TROPICAL_FRESHWATER"; break; + case 49: std::get<1>(result) = "BIOME_POOL_TROPICAL_BRACKISHWATER"; break; + case 50: std::get<1>(result) = "BIOME_POOL_TROPICAL_SALTWATER"; break; + case 51: std::get<1>(result) = "BIOME_LAKE_TEMPERATE_FRESHWATER"; break; + case 52: std::get<1>(result) = "BIOME_LAKE_TEMPERATE_BRACKISHWATER"; break; + case 53: std::get<1>(result) = "BIOME_LAKE_TEMPERATE_SALTWATER"; break; + case 54: std::get<1>(result) = "BIOME_LAKE_TROPICAL_FRESHWATER"; break; + case 55: std::get<1>(result) = "BIOME_LAKE_TROPICAL_BRACKISHWATER"; break; + case 56: std::get<1>(result) = "BIOME_LAKE_TROPICAL_SALTWATER"; break; + case 57: std::get<1>(result) = "BIOME_RIVER_TEMPERATE_FRESHWATER"; break; + case 58: std::get<1>(result) = "BIOME_RIVER_TEMPERATE_BRACKISHWATER"; break; + case 59: std::get<1>(result) = "BIOME_RIVER_TEMPERATE_SALTWATER"; break; + case 60: std::get<1>(result) = "BIOME_RIVER_TROPICAL_FRESHWATER"; break; + case 61: std::get<1>(result) = "BIOME_RIVER_TROPICAL_BRACKISHWATER"; break; + case 62: std::get<1>(result) = "BIOME_RIVER_TROPICAL_SALTWATER"; break; + case 63: std::get<1>(result) = "GOOD"; break; + case 64: std::get<1>(result) = "EVIL"; break; + case 65: std::get<1>(result) = "SAVAGE"; break; + case 66: std::get<1>(result) = "NOT_ASEXUAL"; break; + case 67: std::get<1>(result) = "unk_43"; std::get<2>(result) = "capable of breeding"; break; + case 68: std::get<1>(result) = "unk_44"; break; + case 69: std::get<1>(result) = "unk_45"; break; + case 70: std::get<1>(result) = "any_vermin"; break; + case 71: std::get<1>(result) = "CASTE_CAN_LEARN"; break; + case 72: std::get<1>(result) = "CASTE_VERMIN_HATEABLE"; break; + case 73: std::get<1>(result) = "unk_49"; break; + case 74: std::get<1>(result) = "CASTE_LARGE_PREDATOR"; break; + case 75: std::get<1>(result) = "CASTE_CURIOUSBEAST"; break; + case 76: std::get<1>(result) = "CASTE_BENIGN"; break; + case 77: std::get<1>(result) = "CASTE_NATURAL"; break; + case 78: std::get<1>(result) = "CASTE_MEGABEAST"; break; + case 79: std::get<1>(result) = "CASTE_SEMIMEGABEAST"; break; + case 80: std::get<1>(result) = "CASTE_POWER"; break; + case 81: std::get<1>(result) = "CASTE_VERMIN_MICRO"; break; + case 82: std::get<1>(result) = "CASTE_NOT_FIREIMMUNE"; break; + case 83: std::get<1>(result) = "CASTE_MUST_BREATHE_AIR"; break; + case 84: std::get<1>(result) = "CASTE_MUST_BREATHE_WATER"; break; + case 85: std::get<1>(result) = "unk_55"; break; + case 86: std::get<1>(result) = "CASTE_SWIMS_LEARNED"; break; + case 87: std::get<1>(result) = "CASTE_COMMON_DOMESTIC"; break; + case 88: std::get<1>(result) = "CASTE_UTTERANCES"; break; + case 89: std::get<1>(result) = "CASTE_CAN_SPEAK"; break; + case 90: std::get<1>(result) = "CASTE_FEATURE_BEAST"; break; + case 91: std::get<1>(result) = "GENERATED"; break; + case 92: std::get<1>(result) = "CASTE_TITAN"; break; + case 93: std::get<1>(result) = "CASTE_UNIQUE_DEMON"; break; + case 94: std::get<1>(result) = "DOES_NOT_EXIST"; break; + case 95: std::get<1>(result) = "CASTE_NOT_LIVING"; break; + case 96: std::get<1>(result) = "CASTE_MISCHIEVOUS"; break; + case 97: std::get<1>(result) = "CASTE_FLIER"; break; + case 98: std::get<1>(result) = "CASTE_DEMON"; break; + case 99: std::get<1>(result) = "CASTE_NIGHT_CREATURE_ANY"; break; + case 100: std::get<1>(result) = "CASTE_NIGHT_CREATURE_HUNTER"; break; + case 101: std::get<1>(result) = "CASTE_NIGHT_CREATURE_BOGEYMAN"; break; + case 102: std::get<1>(result) = "CASTE_CARNIVORE"; break; + case 103: std::get<1>(result) = "ARTIFICIAL_HIVEABLE"; break; + case 104: std::get<1>(result) = "UBIQUITOUS"; break; + case 105: std::get<1>(result) = "unk_69"; break; + case 106: std::get<1>(result) = "CASTE_SUPERNATURAL"; break; + case 107: std::get<1>(result) = "CASTE_BLOOD"; break; + case 108: std::get<1>(result) = "CASTE_GRAZER"; break; + case 109: std::get<1>(result) = "CASTE_unk_31"; break; + case 110: std::get<1>(result) = "unk_6e"; break; + case 111: std::get<1>(result) = "unk_6f"; break; + default: break; + } + return result; +} + +std::tuple get_caste_raw_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "AMPHIBIOUS"; break; + case 1: std::get<1>(result) = "AQUATIC"; break; + case 2: std::get<1>(result) = "LOCKPICKER"; break; + case 3: std::get<1>(result) = "MISCHIEVOUS"; break; + case 4: std::get<1>(result) = "PATTERNFLIER"; break; + case 5: std::get<1>(result) = "CURIOUSBEAST_ANY"; break; + case 6: std::get<1>(result) = "CURIOUSBEAST_ITEM"; break; + case 7: std::get<1>(result) = "CURIOUSBEAST_GUZZLER"; break; + case 8: std::get<1>(result) = "FLEEQUICK"; break; + case 9: std::get<1>(result) = "AT_PEACE_WITH_WILDLIFE"; break; + case 10: std::get<1>(result) = "SWIMS_LEARNED"; break; + case 11: std::get<1>(result) = "OPPOSED_TO_LIFE"; break; + case 12: std::get<1>(result) = "CURIOUSBEAST_EATER"; break; + case 13: std::get<1>(result) = "NO_EAT"; break; + case 14: std::get<1>(result) = "NO_DRINK"; break; + case 15: std::get<1>(result) = "NO_SLEEP"; break; + case 16: std::get<1>(result) = "COMMON_DOMESTIC"; break; + case 17: std::get<1>(result) = "WAGON_PULLER"; break; + case 18: std::get<1>(result) = "PACK_ANIMAL"; break; + case 19: std::get<1>(result) = "FLIER"; break; + case 20: std::get<1>(result) = "LARGE_PREDATOR"; break; + case 21: std::get<1>(result) = "MAGMA_VISION"; break; + case 22: std::get<1>(result) = "FIREIMMUNE"; break; + case 23: std::get<1>(result) = "FIREIMMUNE_SUPER"; break; + case 24: std::get<1>(result) = "WEBBER"; break; + case 25: std::get<1>(result) = "WEBIMMUNE"; break; + case 26: std::get<1>(result) = "FISHITEM"; break; + case 27: std::get<1>(result) = "IMMOBILE_LAND"; break; + case 28: std::get<1>(result) = "IMMOLATE"; break; + case 29: std::get<1>(result) = "MILKABLE"; break; + case 30: std::get<1>(result) = "NO_SPRING"; break; + case 31: std::get<1>(result) = "NO_SUMMER"; break; + case 32: std::get<1>(result) = "NO_AUTUMN"; break; + case 33: std::get<1>(result) = "NO_WINTER"; break; + case 34: std::get<1>(result) = "BENIGN"; break; + case 35: std::get<1>(result) = "VERMIN_NOROAM"; break; + case 36: std::get<1>(result) = "VERMIN_NOTRAP"; break; + case 37: std::get<1>(result) = "VERMIN_NOFISH"; break; + case 38: std::get<1>(result) = "HAS_NERVES"; break; + case 39: std::get<1>(result) = "NO_DIZZINESS"; break; + case 40: std::get<1>(result) = "NO_FEVERS"; break; + case 41: std::get<1>(result) = "NO_UNIT_TYPE_COLOR"; break; + case 42: std::get<1>(result) = "NO_CONNECTIONS_FOR_MOVEMENT"; break; + case 43: std::get<1>(result) = "SUPERNATURAL"; break; + case 44: std::get<1>(result) = "AMBUSHPREDATOR"; break; + case 45: std::get<1>(result) = "GNAWER"; break; + case 46: std::get<1>(result) = "NOT_BUTCHERABLE"; break; + case 47: std::get<1>(result) = "COOKABLE_LIVE"; break; + case 48: std::get<1>(result) = "SECRETION"; break; + case 49: std::get<1>(result) = "IMMOBILE"; break; + case 50: std::get<1>(result) = "MULTIPART_FULL_VISION"; break; + case 51: std::get<1>(result) = "MEANDERER"; break; + case 52: std::get<1>(result) = "THICKWEB"; break; + case 53: std::get<1>(result) = "TRAINABLE_HUNTING"; break; + case 54: std::get<1>(result) = "PET"; break; + case 55: std::get<1>(result) = "PET_EXOTIC"; break; + case 56: std::get<1>(result) = "unk_38"; break; + case 57: std::get<1>(result) = "CAN_SPEAK"; break; + case 58: std::get<1>(result) = "CAN_LEARN"; break; + case 59: std::get<1>(result) = "UTTERANCES"; break; + case 60: std::get<1>(result) = "BONECARN"; break; + case 61: std::get<1>(result) = "CARNIVORE"; break; + case 62: std::get<1>(result) = "UNDERSWIM"; break; + case 63: std::get<1>(result) = "NOEXERT"; break; + case 64: std::get<1>(result) = "NOPAIN"; break; + case 65: std::get<1>(result) = "EXTRAVISION"; break; + case 66: std::get<1>(result) = "NOBREATHE"; break; + case 67: std::get<1>(result) = "NOSTUN"; break; + case 68: std::get<1>(result) = "NONAUSEA"; break; + case 69: std::get<1>(result) = "BLOOD"; break; + case 70: std::get<1>(result) = "TRANCES"; break; + case 71: std::get<1>(result) = "NOEMOTION"; break; + case 72: std::get<1>(result) = "SLOW_LEARNER"; break; + case 73: std::get<1>(result) = "NOSTUCKINS"; break; + case 74: std::get<1>(result) = "PUS"; break; + case 75: std::get<1>(result) = "NOSKULL"; break; + case 76: std::get<1>(result) = "NOSKIN"; break; + case 77: std::get<1>(result) = "NOBONES"; break; + case 78: std::get<1>(result) = "NOMEAT"; break; + case 79: std::get<1>(result) = "PARALYZEIMMUNE"; break; + case 80: std::get<1>(result) = "NOFEAR"; break; + case 81: std::get<1>(result) = "CANOPENDOORS"; break; + case 82: std::get<1>(result) = "ITEMCORPSE"; std::get<2>(result) = "set if the tag is present; corpse parts go to map_renderer.cursor_other"; break; + case 83: std::get<1>(result) = "GETS_WOUND_INFECTIONS"; break; + case 84: std::get<1>(result) = "NOSMELLYROT"; break; + case 85: std::get<1>(result) = "REMAINS_UNDETERMINED"; break; + case 86: std::get<1>(result) = "HASSHELL"; break; + case 87: std::get<1>(result) = "PEARL"; break; + case 88: std::get<1>(result) = "TRAINABLE_WAR"; break; + case 89: std::get<1>(result) = "NO_THOUGHT_CENTER_FOR_MOVEMENT"; break; + case 90: std::get<1>(result) = "ARENA_RESTRICTED"; break; + case 91: std::get<1>(result) = "LAIR_HUNTER"; break; + case 92: std::get<1>(result) = "LIKES_FIGHTING"; break; + case 93: std::get<1>(result) = "VERMIN_HATEABLE"; break; + case 94: std::get<1>(result) = "VEGETATION"; break; + case 95: std::get<1>(result) = "MAGICAL"; break; + case 96: std::get<1>(result) = "NATURAL"; break; + case 97: std::get<1>(result) = "BABY"; break; + case 98: std::get<1>(result) = "CHILD"; break; + case 99: std::get<1>(result) = "MULTIPLE_LITTER_RARE"; break; + case 100: std::get<1>(result) = "MOUNT"; break; + case 101: std::get<1>(result) = "MOUNT_EXOTIC"; break; + case 102: std::get<1>(result) = "FEATURE_ATTACK_GROUP"; break; + case 103: std::get<1>(result) = "VERMIN_MICRO"; break; + case 104: std::get<1>(result) = "EQUIPS"; break; + case 105: std::get<1>(result) = "LAYS_EGGS"; break; + case 106: std::get<1>(result) = "GRAZER"; break; + case 107: std::get<1>(result) = "NOTHOUGHT"; break; + case 108: std::get<1>(result) = "TRAPAVOID"; break; + case 109: std::get<1>(result) = "CAVE_ADAPT"; break; + case 110: std::get<1>(result) = "MEGABEAST"; break; + case 111: std::get<1>(result) = "SEMIMEGABEAST"; break; + case 112: std::get<1>(result) = "ALL_ACTIVE"; break; + case 113: std::get<1>(result) = "DIURNAL"; break; + case 114: std::get<1>(result) = "NOCTURNAL"; break; + case 115: std::get<1>(result) = "CREPUSCULAR"; break; + case 116: std::get<1>(result) = "MATUTINAL"; break; + case 117: std::get<1>(result) = "VESPERTINE"; break; + case 118: std::get<1>(result) = "LIGHT_GEN"; break; + case 119: std::get<1>(result) = "LISP"; break; + case 120: std::get<1>(result) = "GETS_INFECTIONS_FROM_ROT"; break; + case 121: std::get<1>(result) = "CASTE_SOLDIER_TILE"; break; + case 122: std::get<1>(result) = "ALCOHOL_DEPENDENT"; break; + case 123: std::get<1>(result) = "SWIMS_INNATE"; break; + case 124: std::get<1>(result) = "POWER"; break; + case 125: std::get<1>(result) = "TENDONS"; break; + case 126: std::get<1>(result) = "LIGAMENTS"; break; + case 127: std::get<1>(result) = "CASTE_TILE"; break; + case 128: std::get<1>(result) = "CASTE_COLOR"; break; + case 129: std::get<1>(result) = "CASTE_GLOWTILE"; break; + case 130: std::get<1>(result) = "CASTE_GLOWCOLOR"; break; + case 131: std::get<1>(result) = "FEATURE_BEAST"; break; + case 132: std::get<1>(result) = "TITAN"; break; + case 133: std::get<1>(result) = "UNIQUE_DEMON"; break; + case 134: std::get<1>(result) = "DEMON"; break; + case 135: std::get<1>(result) = "MANNERISM_LAUGH"; break; + case 136: std::get<1>(result) = "MANNERISM_SMILE"; break; + case 137: std::get<1>(result) = "MANNERISM_WALK"; break; + case 138: std::get<1>(result) = "MANNERISM_SIT"; break; + case 139: std::get<1>(result) = "MANNERISM_BREATH"; break; + case 140: std::get<1>(result) = "MANNERISM_POSTURE"; break; + case 141: std::get<1>(result) = "MANNERISM_STRETCH"; break; + case 142: std::get<1>(result) = "MANNERISM_EYELIDS"; break; + case 143: std::get<1>(result) = "NIGHT_CREATURE_ANY"; break; + case 144: std::get<1>(result) = "NIGHT_CREATURE_HUNTER"; break; + case 145: std::get<1>(result) = "NIGHT_CREATURE_BOGEYMAN"; break; + case 146: std::get<1>(result) = "CONVERTED_SPOUSE"; break; + case 147: std::get<1>(result) = "SPOUSE_CONVERTER"; break; + case 148: std::get<1>(result) = "SPOUSE_CONVERSION_TARGET"; break; + case 149: std::get<1>(result) = "DIE_WHEN_VERMIN_BITE"; break; + case 150: std::get<1>(result) = "REMAINS_ON_VERMIN_BITE_DEATH"; break; + case 151: std::get<1>(result) = "COLONY_EXTERNAL"; break; + case 152: std::get<1>(result) = "LAYS_UNUSUAL_EGGS"; break; + case 153: std::get<1>(result) = "RETURNS_VERMIN_KILLS_TO_OWNER"; break; + case 154: std::get<1>(result) = "HUNTS_VERMIN"; break; + case 155: std::get<1>(result) = "ADOPTS_OWNER"; break; + case 156: std::get<1>(result) = "SOUND_ALERT"; break; + case 157: std::get<1>(result) = "SOUND_PEACEFUL_INTERMITTENT"; break; + case 158: std::get<1>(result) = "NOT_LIVING"; break; + case 159: std::get<1>(result) = "NO_PHYS_ATT_GAIN"; break; + case 160: std::get<1>(result) = "NO_PHYS_ATT_RUST"; break; + case 161: std::get<1>(result) = "CRAZED"; break; + case 162: std::get<1>(result) = "BLOODSUCKER"; break; + case 163: std::get<1>(result) = "NO_VEGETATION_PERTURB"; break; + case 164: std::get<1>(result) = "DIVE_HUNTS_VERMIN"; break; + case 165: std::get<1>(result) = "GOBBLE_VERMIN"; break; + case 166: std::get<1>(result) = "CANNOT_JUMP"; break; + case 167: std::get<1>(result) = "STANCE_CLIMBER"; break; + case 168: std::get<1>(result) = "CANNOT_CLIMB"; break; + case 169: std::get<1>(result) = "LOCAL_POPS_CONTROLLABLE"; break; + case 170: std::get<1>(result) = "OUTSIDER_CONTROLLABLE"; break; + case 171: std::get<1>(result) = "LOCAL_POPS_PRODUCE_HEROES"; break; + case 172: std::get<1>(result) = "STRANGE_MOODS"; break; + default: break; + } + return result; +} + +std::tuple get_body_part_raw_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "HEAD"; break; + case 1: std::get<1>(result) = "UPPERBODY"; break; + case 2: std::get<1>(result) = "LOWERBODY"; break; + case 3: std::get<1>(result) = "SIGHT"; break; + case 4: std::get<1>(result) = "EMBEDDED"; break; + case 5: std::get<1>(result) = "INTERNAL"; break; + case 6: std::get<1>(result) = "CIRCULATION"; break; + case 7: std::get<1>(result) = "SKELETON"; break; + case 8: std::get<1>(result) = "LIMB"; break; + case 9: std::get<1>(result) = "GRASP"; break; + case 10: std::get<1>(result) = "STANCE"; break; + case 11: std::get<1>(result) = "GUTS"; break; + case 12: std::get<1>(result) = "BREATHE"; break; + case 13: std::get<1>(result) = "SMALL"; break; + case 14: std::get<1>(result) = "THROAT"; break; + case 15: std::get<1>(result) = "JOINT"; break; + case 16: std::get<1>(result) = "THOUGHT"; break; + case 17: std::get<1>(result) = "NERVOUS"; break; + case 18: std::get<1>(result) = "RIGHT"; break; + case 19: std::get<1>(result) = "LEFT"; break; + case 20: std::get<1>(result) = "HEAR"; break; + case 21: std::get<1>(result) = "SMELL"; break; + case 22: std::get<1>(result) = "FLIER"; break; + case 23: std::get<1>(result) = "DIGIT"; break; + case 24: std::get<1>(result) = "MOUTH"; break; + case 25: std::get<1>(result) = "APERTURE"; break; + case 26: std::get<1>(result) = "SOCKET"; break; + case 27: std::get<1>(result) = "TOTEMABLE"; break; + case 28: std::get<1>(result) = "anon_1"; break; + case 29: std::get<1>(result) = "anon_2"; break; + case 30: std::get<1>(result) = "UNDER_PRESSURE"; break; + case 31: std::get<1>(result) = "anon_3"; break; + case 32: std::get<1>(result) = "VERMIN_BUTCHER_ITEM"; break; + case 33: std::get<1>(result) = "CONNECTOR"; break; + case 34: std::get<1>(result) = "anon_4"; break; + case 35: std::get<1>(result) = "anon_5"; break; + case 36: std::get<1>(result) = "anon_6"; break; + case 37: std::get<1>(result) = "anon_7"; break; + case 38: std::get<1>(result) = "GELDABLE"; break; + default: break; + } + return result; +} + +std::tuple get_appearance_modifier_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "HEIGHT"; break; + case 1: std::get<1>(result) = "BROADNESS"; break; + case 2: std::get<1>(result) = "LENGTH"; break; + case 3: std::get<1>(result) = "CLOSE_SET"; break; + case 4: std::get<1>(result) = "DEEP_SET"; break; + case 5: std::get<1>(result) = "HIGH_POSITION"; break; + case 6: std::get<1>(result) = "LARGE_IRIS"; break; + case 7: std::get<1>(result) = "WRINKLY"; break; + case 8: std::get<1>(result) = "CURLY"; break; + case 9: std::get<1>(result) = "CONVEX"; break; + case 10: std::get<1>(result) = "DENSE"; break; + case 11: std::get<1>(result) = "THICKNESS"; break; + case 12: std::get<1>(result) = "UPTURNED"; break; + case 13: std::get<1>(result) = "SPLAYED_OUT"; break; + case 14: std::get<1>(result) = "HANGING_LOBES"; break; + case 15: std::get<1>(result) = "GAPS"; break; + case 16: std::get<1>(result) = "HIGH_CHEEKBONES"; break; + case 17: std::get<1>(result) = "BROAD_CHIN"; break; + case 18: std::get<1>(result) = "JUTTING_CHIN"; break; + case 19: std::get<1>(result) = "SQUARE_CHIN"; break; + case 20: std::get<1>(result) = "ROUND_VS_NARROW"; break; + case 21: std::get<1>(result) = "GREASY"; break; + case 22: std::get<1>(result) = "DEEP_VOICE"; break; + case 23: std::get<1>(result) = "RASPY_VOICE"; break; + default: break; + } + return result; +} + +std::tuple get_body_part_layer_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "CONNECTS"; break; + default: break; + } + return result; +} + +std::tuple get_appearance_modifier_growth_interval_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "DAILY"; break; + case 1: std::get<1>(result) = "WEEKLY"; break; + case 2: std::get<1>(result) = "MONTHLY"; break; + case 3: std::get<1>(result) = "YEARLY"; break; + default: break; + } + return result; +} + +std::tuple get_gait_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "WALK"; break; + case 1: std::get<1>(result) = "FLY"; break; + case 2: std::get<1>(result) = "SWIM"; break; + case 3: std::get<1>(result) = "CRAWL"; break; + case 4: std::get<1>(result) = "CLIMB"; break; + default: break; + } + return result; +} + +std::tuple get_creature_graphics_role_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "DEFAULT"; break; + case 1: std::get<1>(result) = "ADVENTURER"; break; + case 2: std::get<1>(result) = "GUARD"; break; + case 3: std::get<1>(result) = "ROYALGUARD"; break; + case 4: std::get<1>(result) = "ANIMATED"; break; + case 5: std::get<1>(result) = "GHOST"; break; + default: break; + } + return result; +} + +std::tuple get_tissue_style_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "NEATLY_COMBED"; break; + case 1: std::get<1>(result) = "BRAIDED"; break; + case 2: std::get<1>(result) = "DOUBLE_BRAIDS"; break; + case 3: std::get<1>(result) = "PONY_TAILS"; break; + case 4: std::get<1>(result) = "CLEAN_SHAVEN"; break; + default: break; + } + return result; +} + +std::tuple get_body_part_template_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "HEAD"; break; + case 1: std::get<1>(result) = "UPPERBODY"; break; + case 2: std::get<1>(result) = "LOWERBODY"; break; + case 3: std::get<1>(result) = "SIGHT"; break; + case 4: std::get<1>(result) = "EMBEDDED"; break; + case 5: std::get<1>(result) = "INTERNAL"; break; + case 6: std::get<1>(result) = "CIRCULATION"; break; + case 7: std::get<1>(result) = "SKELETON"; break; + case 8: std::get<1>(result) = "LIMB"; break; + case 9: std::get<1>(result) = "GRASP"; break; + case 10: std::get<1>(result) = "STANCE"; break; + case 11: std::get<1>(result) = "GUTS"; break; + case 12: std::get<1>(result) = "BREATHE"; break; + case 13: std::get<1>(result) = "SMALL"; break; + case 14: std::get<1>(result) = "THROAT"; break; + case 15: std::get<1>(result) = "JOINT"; break; + case 16: std::get<1>(result) = "THOUGHT"; break; + case 17: std::get<1>(result) = "NERVOUS"; break; + case 18: std::get<1>(result) = "RIGHT"; break; + case 19: std::get<1>(result) = "LEFT"; break; + case 20: std::get<1>(result) = "HEAR"; break; + case 21: std::get<1>(result) = "SMELL"; break; + case 22: std::get<1>(result) = "FLIER"; break; + case 23: std::get<1>(result) = "DIGIT"; break; + case 24: std::get<1>(result) = "MOUTH"; break; + case 25: std::get<1>(result) = "APERTURE"; break; + case 26: std::get<1>(result) = "SOCKET"; break; + case 27: std::get<1>(result) = "TOTEMABLE"; break; + case 28: std::get<1>(result) = "UNDER_PRESSURE"; break; + case 29: std::get<1>(result) = "VERMIN_BUTCHER_ITEM"; break; + case 30: std::get<1>(result) = "CONNECTOR"; break; + default: break; + } + return result; +} + +std::tuple get_body_part_template_contype_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case -1: std::get<1>(result) = "NONE"; break; + case 0: std::get<1>(result) = "UPPERBODY"; break; + case 1: std::get<1>(result) = "LOWERBODY"; break; + case 2: std::get<1>(result) = "HEAD"; break; + case 3: std::get<1>(result) = "GRASP"; break; + case 4: std::get<1>(result) = "STANCE"; break; + default: break; + } + return result; +} + +std::tuple get_tissue_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "THICKENS_ON_STRENGTH"; break; + case 1: std::get<1>(result) = "THICKENS_ON_ENERGY_STORAGE"; break; + case 2: std::get<1>(result) = "ARTERIES"; break; + case 3: std::get<1>(result) = "SCARS"; break; + case 4: std::get<1>(result) = "STRUCTURAL"; break; + case 5: std::get<1>(result) = "NERVOUS"; break; + case 6: std::get<1>(result) = "THOUGHT"; break; + case 7: std::get<1>(result) = "MUSCULAR"; break; + case 8: std::get<1>(result) = "SMELL"; break; + case 9: std::get<1>(result) = "HEAR"; break; + case 10: std::get<1>(result) = "FLIGHT"; break; + case 11: std::get<1>(result) = "BREATHE"; break; + case 12: std::get<1>(result) = "SIGHT"; break; + case 13: std::get<1>(result) = "COSMETIC"; break; + case 14: std::get<1>(result) = "CONNECTS"; break; + case 15: std::get<1>(result) = "FUNCTIONAL"; break; + case 16: std::get<1>(result) = "MAJOR_ARTERIES"; break; + case 17: std::get<1>(result) = "TISSUE_LEAKS"; break; + case 18: std::get<1>(result) = "STYLEABLE"; break; + case 19: std::get<1>(result) = "CONNECTIVE_TISSUE_ANCHOR"; break; + case 20: std::get<1>(result) = "SETTABLE"; break; + case 21: std::get<1>(result) = "SPLINTABLE"; break; + default: break; + } + return result; +} + +std::tuple get_d_init_nickname_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "REPLACE_FIRST"; break; + case 1: std::get<1>(result) = "CENTRALIZE"; break; + case 2: std::get<1>(result) = "REPLACE_ALL"; break; + default: break; + } + return result; +} + +std::tuple get_d_init_z_view_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "OFF"; break; + case 1: std::get<1>(result) = "UNHIDDEN"; break; + case 2: std::get<1>(result) = "CREATURE"; break; + case 3: std::get<1>(result) = "ON"; break; + default: break; + } + return result; +} + +std::tuple get_d_init_embark_confirm_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "ALWAYS"; break; + case 1: std::get<1>(result) = "IF_POINTS_REMAIN"; break; + case 2: std::get<1>(result) = "NO"; break; + default: break; + } + return result; +} + +std::tuple get_d_init_idlers_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case -1: std::get<1>(result) = "OFF"; break; + case 0: std::get<1>(result) = "TOP"; break; + case 1: std::get<1>(result) = "BOTTOM"; break; + default: break; + } + return result; +} + +std::tuple get_d_init_tunnel_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "NO"; break; + case 1: std::get<1>(result) = "FINDER"; break; + case 2: std::get<1>(result) = "ALWAYS"; break; + default: break; + } + return result; +} + +std::tuple get_d_init_flags1_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "VARIED_GROUND_TILES"; break; + case 1: std::get<1>(result) = "ENGRAVINGS_START_OBSCURED"; break; + case 2: std::get<1>(result) = "SHOW_IMP_QUALITY"; break; + case 3: std::get<1>(result) = "SHOW_FLOW_AMOUNTS"; break; + default: break; + } + return result; +} + +std::tuple get_d_init_flags2_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "MORE"; break; + case 1: std::get<1>(result) = "ADVENTURER_TRAPS"; break; + case 2: std::get<1>(result) = "ADVENTURER_ALWAYS_CENTER"; break; + default: break; + } + return result; +} + +std::tuple get_d_init_flags3_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "COFFIN_NO_PETS_DEFAULT"; break; + default: break; + } + return result; +} + +std::tuple get_d_init_flags4_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "TEMPERATURE"; break; + case 1: std::get<1>(result) = "WEATHER"; break; + case 2: std::get<1>(result) = "ECONOMY"; break; + case 3: std::get<1>(result) = "ZERO_RENT"; break; + case 4: std::get<1>(result) = "AUTOSAVE_SEASONAL"; break; + case 5: std::get<1>(result) = "AUTOSAVE_YEARLY"; break; + case 6: std::get<1>(result) = "AUTOSAVE_PAUSE"; break; + case 7: std::get<1>(result) = "AUTOBACKUP"; break; + case 8: std::get<1>(result) = "INITIAL_SAVE"; break; + case 9: std::get<1>(result) = "INVADERS"; break; + case 10: std::get<1>(result) = "CAVEINS"; break; + case 11: std::get<1>(result) = "ARTIFACTS"; break; + case 12: std::get<1>(result) = "LOG_MAP_REJECTS"; break; + case 13: std::get<1>(result) = "PAUSE_ON_LOAD"; break; + case 14: std::get<1>(result) = "EMBARK_WARNING_ALWAYS"; break; + case 15: std::get<1>(result) = "SHOW_ALL_HISTORY_IN_DWARF_MODE"; break; + case 16: std::get<1>(result) = "TESTING_ARENA"; break; + case 17: std::get<1>(result) = "WALKING_SPREADS_SPATTER_DWF"; break; + case 18: std::get<1>(result) = "WALKING_SPREADS_SPATTER_ADV"; break; + default: break; + } + return result; +} + +std::tuple get_pattern_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "MONOTONE"; break; + case 1: std::get<1>(result) = "STRIPES"; break; + case 2: std::get<1>(result) = "IRIS_EYE"; break; + case 3: std::get<1>(result) = "SPOTS"; break; + case 4: std::get<1>(result) = "PUPIL_EYE"; break; + case 5: std::get<1>(result) = "MOTTLED"; break; + default: break; + } + return result; +} + +std::tuple get_occasion_schedule_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "DANCE_PERFORMANCE"; break; + case 1: std::get<1>(result) = "MUSICAL_PERFORMANCE"; break; + case 2: std::get<1>(result) = "POETRY_RECITAL"; break; + case 3: std::get<1>(result) = "STORYTELLING"; break; + case 4: std::get<1>(result) = "DANCE_COMPETITION"; break; + case 5: std::get<1>(result) = "MUSICAL_COMPETITION"; break; + case 6: std::get<1>(result) = "POETRY_COMPETITION"; break; + case 7: std::get<1>(result) = "FOOT_RACE"; break; + case 8: std::get<1>(result) = "anon_1"; break; + case 9: std::get<1>(result) = "anon_2"; break; + case 10: std::get<1>(result) = "WRESTLING_COMPETITION"; break; + case 11: std::get<1>(result) = "THROWING_COMPETITION"; break; + case 12: std::get<1>(result) = "GLADIATORY_COMPETITION"; break; + case 13: std::get<1>(result) = "PROCESSION"; break; + case 14: std::get<1>(result) = "CEREMONY"; break; + default: break; + } + return result; +} + +std::tuple get_occasion_schedule_feature_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "anon_1"; break; + case 1: std::get<1>(result) = "anon_2"; break; + case 2: std::get<1>(result) = "STORYTELLING"; break; + case 3: std::get<1>(result) = "POETRY_RECITAL"; break; + case 4: std::get<1>(result) = "MUSICAL_PERFORMANCE"; break; + case 5: std::get<1>(result) = "DANCE_PERFORMANCE"; break; + case 6: std::get<1>(result) = "anon_3"; break; + case 7: std::get<1>(result) = "CRIERS_IN_FRONT"; break; + case 8: std::get<1>(result) = "ORDER_OF_PRECEDENCE"; break; + case 9: std::get<1>(result) = "BANNERS"; break; + case 10: std::get<1>(result) = "IMAGES"; break; + case 11: std::get<1>(result) = "anon_4"; break; + case 12: std::get<1>(result) = "anon_5"; break; + case 13: std::get<1>(result) = "ACROBATS"; break; + case 14: std::get<1>(result) = "INCENSE_BURNING"; break; + case 15: std::get<1>(result) = "COSTUMES"; break; + case 16: std::get<1>(result) = "CANDLES"; break; + case 17: std::get<1>(result) = "THE_GIVING_OF_ITEMS"; break; + case 18: std::get<1>(result) = "THE_SACRIFICE_OF_ITEMS"; break; + default: break; + } + return result; +} + +std::tuple get_entity_sell_category_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Leather"; break; + case 1: std::get<1>(result) = "ClothPlant"; break; + case 2: std::get<1>(result) = "ClothSilk"; break; + case 3: std::get<1>(result) = "Crafts"; break; + case 4: std::get<1>(result) = "Wood"; break; + case 5: std::get<1>(result) = "MetalBars"; break; + case 6: std::get<1>(result) = "SmallCutGems"; break; + case 7: std::get<1>(result) = "LargeCutGems"; break; + case 8: std::get<1>(result) = "StoneBlocks"; break; + case 9: std::get<1>(result) = "Seeds"; break; + case 10: std::get<1>(result) = "Anvils"; break; + case 11: std::get<1>(result) = "Weapons"; break; + case 12: std::get<1>(result) = "TrainingWeapons"; break; + case 13: std::get<1>(result) = "Ammo"; break; + case 14: std::get<1>(result) = "TrapComponents"; break; + case 15: std::get<1>(result) = "DiggingImplements"; break; + case 16: std::get<1>(result) = "Bodywear"; break; + case 17: std::get<1>(result) = "Headwear"; break; + case 18: std::get<1>(result) = "Handwear"; break; + case 19: std::get<1>(result) = "Footwear"; break; + case 20: std::get<1>(result) = "Legwear"; break; + case 21: std::get<1>(result) = "Shields"; break; + case 22: std::get<1>(result) = "Toys"; break; + case 23: std::get<1>(result) = "Instruments"; break; + case 24: std::get<1>(result) = "Pets"; break; + case 25: std::get<1>(result) = "Drinks"; break; + case 26: std::get<1>(result) = "Cheese"; break; + case 27: std::get<1>(result) = "Powders"; break; + case 28: std::get<1>(result) = "Extracts"; break; + case 29: std::get<1>(result) = "Meat"; break; + case 30: std::get<1>(result) = "Fish"; break; + case 31: std::get<1>(result) = "Plants"; break; + case 32: std::get<1>(result) = "FruitsNuts"; break; + case 33: std::get<1>(result) = "GardenVegetables"; break; + case 34: std::get<1>(result) = "MeatFishRecipes"; break; + case 35: std::get<1>(result) = "OtherRecipes"; break; + case 36: std::get<1>(result) = "Stone"; break; + case 37: std::get<1>(result) = "Cages"; break; + case 38: std::get<1>(result) = "BagsLeather"; break; + case 39: std::get<1>(result) = "BagsPlant"; break; + case 40: std::get<1>(result) = "BagsSilk"; break; + case 41: std::get<1>(result) = "ThreadPlant"; break; + case 42: std::get<1>(result) = "ThreadSilk"; break; + case 43: std::get<1>(result) = "RopesPlant"; break; + case 44: std::get<1>(result) = "RopesSilk"; break; + case 45: std::get<1>(result) = "Barrels"; break; + case 46: std::get<1>(result) = "FlasksWaterskins"; break; + case 47: std::get<1>(result) = "Quivers"; break; + case 48: std::get<1>(result) = "Backpacks"; break; + case 49: std::get<1>(result) = "Sand"; break; + case 50: std::get<1>(result) = "Glass"; break; + case 51: std::get<1>(result) = "Miscellaneous"; break; + case 52: std::get<1>(result) = "Buckets"; break; + case 53: std::get<1>(result) = "Splints"; break; + case 54: std::get<1>(result) = "Crutches"; break; + case 55: std::get<1>(result) = "Eggs"; break; + case 56: std::get<1>(result) = "BagsYarn"; break; + case 57: std::get<1>(result) = "RopesYarn"; break; + case 58: std::get<1>(result) = "ClothYarn"; break; + case 59: std::get<1>(result) = "ThreadYarn"; break; + case 60: std::get<1>(result) = "Tools"; break; + case 61: std::get<1>(result) = "Clay"; break; + case 62: std::get<1>(result) = "Parchment"; break; + case 63: std::get<1>(result) = "CupsMugsGoblets"; break; + default: break; + } + return result; +} + +std::tuple get_historical_entity_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Civilization"; break; + case 1: std::get<1>(result) = "SiteGovernment"; break; + case 2: std::get<1>(result) = "VesselCrew"; break; + case 3: std::get<1>(result) = "MigratingGroup"; break; + case 4: std::get<1>(result) = "NomadicGroup"; break; + case 5: std::get<1>(result) = "Religion"; break; + case 6: std::get<1>(result) = "MilitaryUnit"; break; + case 7: std::get<1>(result) = "Outcast"; break; + case 8: std::get<1>(result) = "PerformanceTroupe"; break; + default: break; + } + return result; +} + +std::tuple get_training_knowledge_level_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "None"; break; + case 1: std::get<1>(result) = "FewFacts"; break; + case 2: std::get<1>(result) = "GeneralFamiliarity"; break; + case 3: std::get<1>(result) = "Knowledgeable"; break; + case 4: std::get<1>(result) = "Expert"; break; + case 5: std::get<1>(result) = "Domesticated"; break; + default: break; + } + return result; +} + +std::tuple get_entity_position_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "IS_LAW_MAKER"; break; + case 1: std::get<1>(result) = "ELECTED"; break; + case 2: std::get<1>(result) = "DUTY_BOUND"; break; + case 3: std::get<1>(result) = "MILITARY_SCREEN_ONLY"; break; + case 4: std::get<1>(result) = "GENDER_MALE"; break; + case 5: std::get<1>(result) = "GENDER_FEMALE"; break; + case 6: std::get<1>(result) = "SUCCESSION_BY_HEIR"; break; + case 7: std::get<1>(result) = "HAS_RESPONSIBILITIES"; break; + case 8: std::get<1>(result) = "FLASHES"; break; + case 9: std::get<1>(result) = "BRAG_ON_KILL"; break; + case 10: std::get<1>(result) = "CHAT_WORTHY"; break; + case 11: std::get<1>(result) = "DO_NOT_CULL"; break; + case 12: std::get<1>(result) = "KILL_QUEST"; break; + case 13: std::get<1>(result) = "IS_LEADER"; break; + case 14: std::get<1>(result) = "IS_DIPLOMAT"; break; + case 15: std::get<1>(result) = "EXPORTED_IN_LEGENDS"; break; + case 16: std::get<1>(result) = "DETERMINES_COIN_DESIGN"; break; + case 17: std::get<1>(result) = "ACCOUNT_EXEMPT"; break; + case 18: std::get<1>(result) = "unk_12"; break; + case 19: std::get<1>(result) = "unk_13"; break; + case 20: std::get<1>(result) = "COLOR"; break; + case 21: std::get<1>(result) = "RULES_FROM_LOCATION"; break; + case 22: std::get<1>(result) = "MENIAL_WORK_EXEMPTION"; break; + case 23: std::get<1>(result) = "MENIAL_WORK_EXEMPTION_SPOUSE"; break; + case 24: std::get<1>(result) = "SLEEP_PRETENSION"; break; + case 25: std::get<1>(result) = "PUNISHMENT_EXEMPTION"; break; + case 26: std::get<1>(result) = "unk_1a"; break; + case 27: std::get<1>(result) = "unk_1b"; break; + case 28: std::get<1>(result) = "QUEST_GIVER"; break; + case 29: std::get<1>(result) = "SPECIAL_BURIAL"; break; + case 30: std::get<1>(result) = "REQUIRES_MARKET"; break; + case 31: std::get<1>(result) = "unk_1f"; break; + default: break; + } + return result; +} + +std::tuple get_entity_material_category_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case -1: std::get<1>(result) = "None"; break; + case 0: std::get<1>(result) = "Clothing"; std::get<2>(result) = "cloth or leather"; break; + case 1: std::get<1>(result) = "Leather"; std::get<2>(result) = "organic.leather"; break; + case 2: std::get<1>(result) = "Cloth"; std::get<2>(result) = "any cloth"; break; + case 3: std::get<1>(result) = "Wood"; std::get<2>(result) = "organic.wood, used for training weapons"; break; + case 4: std::get<1>(result) = "Crafts"; std::get<2>(result) = "misc_mat.crafts"; break; + case 5: std::get<1>(result) = "Stone"; std::get<2>(result) = "stones"; break; + case 6: std::get<1>(result) = "Improvement"; std::get<2>(result) = "misc_mat.crafts"; break; + case 7: std::get<1>(result) = "Glass"; std::get<2>(result) = "misc_mat.glass_unused, used for extract vials"; break; + case 8: std::get<1>(result) = "Wood2"; std::get<2>(result) = "misc_mat.barrels, also used for buckets"; break; + case 9: std::get<1>(result) = "Bag"; std::get<2>(result) = "cloth/leather"; break; + case 10: std::get<1>(result) = "Cage"; std::get<2>(result) = "misc_mat.cages"; break; + case 11: std::get<1>(result) = "WeaponMelee"; std::get<2>(result) = "metal.weapon"; break; + case 12: std::get<1>(result) = "WeaponRanged"; std::get<2>(result) = "metal.ranged"; break; + case 13: std::get<1>(result) = "Ammo"; std::get<2>(result) = "metal.ammo"; break; + case 14: std::get<1>(result) = "Ammo2"; std::get<2>(result) = "metal.ammo2"; break; + case 15: std::get<1>(result) = "Pick"; std::get<2>(result) = "metal.pick"; break; + case 16: std::get<1>(result) = "Armor"; std::get<2>(result) = "metal.armor, also used for shields, tools, instruments, and toys"; break; + case 17: std::get<1>(result) = "Gem"; std::get<2>(result) = "gems"; break; + case 18: std::get<1>(result) = "Bone"; std::get<2>(result) = "refuse.bone"; break; + case 19: std::get<1>(result) = "Shell"; std::get<2>(result) = "refuse.shell"; break; + case 20: std::get<1>(result) = "Pearl"; std::get<2>(result) = "refuse.pearl"; break; + case 21: std::get<1>(result) = "Ivory"; std::get<2>(result) = "refuse.ivory"; break; + case 22: std::get<1>(result) = "Horn"; std::get<2>(result) = "refuse.horn"; break; + case 23: std::get<1>(result) = "Other"; std::get<2>(result) = "misc_mat.others"; break; + case 24: std::get<1>(result) = "Anvil"; std::get<2>(result) = "metal.anvil"; break; + case 25: std::get<1>(result) = "Booze"; std::get<2>(result) = "misc_mat.booze"; break; + case 26: std::get<1>(result) = "Metal"; std::get<2>(result) = "metals with ITEMS_HARD, used for chains"; break; + case 27: std::get<1>(result) = "PlantFiber"; std::get<2>(result) = "organic.fiber"; break; + case 28: std::get<1>(result) = "Silk"; std::get<2>(result) = "organic.silk"; break; + case 29: std::get<1>(result) = "Wool"; std::get<2>(result) = "organic.wool"; break; + case 30: std::get<1>(result) = "Furniture"; std::get<2>(result) = "misc_mat.rock_metal"; break; + case 31: std::get<1>(result) = "MiscWood2"; std::get<2>(result) = "misc_mat.wood2"; break; + default: break; + } + return result; +} + +std::tuple get_entity_event_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "invasion"; break; + case 1: std::get<1>(result) = "abduction"; break; + case 2: std::get<1>(result) = "incident"; break; + case 3: std::get<1>(result) = "occupation"; break; + case 4: std::get<1>(result) = "beast"; break; + case 5: std::get<1>(result) = "group"; break; + case 6: std::get<1>(result) = "harass"; break; + case 7: std::get<1>(result) = "flee"; break; + case 8: std::get<1>(result) = "abandon"; break; + case 9: std::get<1>(result) = "reclaimed"; break; + case 10: std::get<1>(result) = "founded"; break; + case 11: std::get<1>(result) = "reclaiming"; break; + case 12: std::get<1>(result) = "founding"; break; + case 13: std::get<1>(result) = "leave"; break; + case 14: std::get<1>(result) = "insurrection"; break; + case 15: std::get<1>(result) = "insurrection_end"; break; + case 16: std::get<1>(result) = "succession"; break; + case 17: std::get<1>(result) = "claim"; break; + case 18: std::get<1>(result) = "accept_tribute_offer"; break; + case 19: std::get<1>(result) = "refuse_tribute_offer"; break; + case 20: std::get<1>(result) = "accept_tribute_demand"; break; + case 21: std::get<1>(result) = "refuse_tribute_demand"; break; + case 22: std::get<1>(result) = "accept_peace_offer"; break; + case 23: std::get<1>(result) = "refuse_peace_offer"; break; + case 24: std::get<1>(result) = "cease_tribute_offer"; break; + case 25: std::get<1>(result) = "artifact_in_site"; break; + case 26: std::get<1>(result) = "artifact_in_subregion"; break; + case 27: std::get<1>(result) = "artifact_in_feature_layer"; break; + case 28: std::get<1>(result) = "artifact_in_inventory"; break; + case 29: std::get<1>(result) = "artifact_not_in_site"; break; + case 30: std::get<1>(result) = "artifact_not_in_subregion"; break; + case 31: std::get<1>(result) = "artifact_not_in_feature_layer"; break; + case 32: std::get<1>(result) = "artifact_not_in_inventory"; break; + case 33: std::get<1>(result) = "artifact_was_destroyed"; break; + default: break; + } + return result; +} + +std::tuple get_entity_raw_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "CIV_CONTROLLABLE"; break; + case 1: std::get<1>(result) = "INDIV_CONTROLLABLE"; break; + case 2: std::get<1>(result) = "LAYER_LINKED"; break; + case 3: std::get<1>(result) = "INDOOR_WOOD"; break; + case 4: std::get<1>(result) = "WOOD_ARMOR"; break; + case 5: std::get<1>(result) = "SIEGER"; break; + case 6: std::get<1>(result) = "AMBUSHER"; break; + case 7: std::get<1>(result) = "BABYSNATCHER"; break; + case 8: std::get<1>(result) = "ITEM_THIEF"; break; + case 9: std::get<1>(result) = "CLOTHING"; break; + case 10: std::get<1>(result) = "CURRENCY_BY_YEAR"; break; + case 11: std::get<1>(result) = "METAL_PREF"; break; + case 12: std::get<1>(result) = "GEM_PREF"; break; + case 13: std::get<1>(result) = "STONE_PREF"; break; + case 14: std::get<1>(result) = "WOOD_WEAPONS"; break; + case 15: std::get<1>(result) = "BUILDS_OUTDOOR_FORTIFICATIONS"; break; + case 16: std::get<1>(result) = "RIVER_PRODUCTS"; break; + case 17: std::get<1>(result) = "OCEAN_PRODUCTS"; break; + case 18: std::get<1>(result) = "INDOOR_FARMING"; break; + case 19: std::get<1>(result) = "OUTDOOR_FARMING"; break; + case 20: std::get<1>(result) = "USE_CAVE_ANIMALS"; break; + case 21: std::get<1>(result) = "USE_EVIL_ANIMALS"; break; + case 22: std::get<1>(result) = "USE_ANIMAL_PRODUCTS"; break; + case 23: std::get<1>(result) = "COMMON_DOMESTIC_PACK"; break; + case 24: std::get<1>(result) = "COMMON_DOMESTIC_PULL"; break; + case 25: std::get<1>(result) = "COMMON_DOMESTIC_MOUNT"; break; + case 26: std::get<1>(result) = "COMMON_DOMESTIC_PET"; break; + case 27: std::get<1>(result) = "SUBTERRANEAN_CLOTHING"; break; + case 28: std::get<1>(result) = "USE_EVIL_WOOD"; break; + case 29: std::get<1>(result) = "USE_GOOD_WOOD"; break; + case 30: std::get<1>(result) = "USE_EVIL_PLANTS"; break; + case 31: std::get<1>(result) = "USE_GOOD_PLANTS"; break; + case 32: std::get<1>(result) = "USE_GOOD_ANIMALS"; break; + case 33: std::get<1>(result) = "USE_ANY_PET_RACE"; break; + case 34: std::get<1>(result) = "USE_MISC_PROCESSED_WOOD_PRODUCTS"; break; + case 35: std::get<1>(result) = "IMPROVED_BOWS"; break; + case 36: std::get<1>(result) = "OUTDOOR_WOOD"; break; + case 37: std::get<1>(result) = "LOCAL_BANDITRY"; break; + case 38: std::get<1>(result) = "BUILDS_OUTDOOR_TOMBS"; break; + case 39: std::get<1>(result) = "INVADERS_IGNORE_NEUTRALS"; break; + case 40: std::get<1>(result) = "AT_PEACE_WITH_WILDLIFE"; break; + case 41: std::get<1>(result) = "EQUIPMENT_IMPROVEMENTS"; break; + case 42: std::get<1>(result) = "ABUSE_BODIES"; break; + case 43: std::get<1>(result) = "UNDEAD_CANDIDATE"; break; + case 44: std::get<1>(result) = "GENERATED"; break; + case 45: std::get<1>(result) = "SKULKING"; break; + case 46: std::get<1>(result) = "anon_1"; break; + case 47: std::get<1>(result) = "MERCHANT_NOBILITY"; break; + case 48: std::get<1>(result) = "TREE_CAP_DIPLOMACY"; break; + case 49: std::get<1>(result) = "DIPLOMAT_BODYGUARDS"; break; + case 50: std::get<1>(result) = "MERCHANT_BODYGUARDS"; break; + case 51: std::get<1>(result) = "INDOOR_ORCHARDS"; break; + case 52: std::get<1>(result) = "OUTDOOR_ORCHARDS"; break; + case 53: std::get<1>(result) = "WANDERER"; break; + case 54: std::get<1>(result) = "BEAST_HUNTER"; break; + case 55: std::get<1>(result) = "SCOUT"; break; + case 56: std::get<1>(result) = "WILL_ACCEPT_TRIBUTE"; break; + case 57: std::get<1>(result) = "INDOOR_GARDENS"; break; + case 58: std::get<1>(result) = "OUTDOOR_GARDENS"; break; + case 59: std::get<1>(result) = "MERCENARY"; break; + case 60: std::get<1>(result) = "SITE_GUARDIAN"; break; + case 61: std::get<1>(result) = "DIVINE_MAT_WEAPONS"; break; + case 62: std::get<1>(result) = "DIVINE_MAT_ARMOR"; break; + case 63: std::get<1>(result) = "DIVINE_MAT_CRAFTS"; break; + case 64: std::get<1>(result) = "DIVINE_MAT_CLOTHING"; break; + case 65: std::get<1>(result) = "GENERATE_KEYBOARD_INSTRUMENTS"; break; + case 66: std::get<1>(result) = "GENERATE_STRINGED_INSTRUMENTS"; break; + case 67: std::get<1>(result) = "GENERATE_WIND_INSTRUMENTS"; break; + case 68: std::get<1>(result) = "GENERATE_PERCUSSION_INSTRUMENTS"; break; + case 69: std::get<1>(result) = "GENERATE_POETIC_FORMS"; break; + case 70: std::get<1>(result) = "GENERATE_MUSICAL_FORMS"; break; + case 71: std::get<1>(result) = "GENERATE_DANCE_FORMS"; break; + case 72: std::get<1>(result) = "SET_SCHOLARS_ON_VALUES_AND_JOBS"; break; + case 73: std::get<1>(result) = "NO_ARTIFACT_CLAIMS"; break; + default: break; + } + return result; +} + +std::tuple get_site_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "PLAYER_FORTRESS"; break; + case 1: std::get<1>(result) = "DARK_FORTRESS"; break; + case 2: std::get<1>(result) = "CAVE"; break; + case 3: std::get<1>(result) = "CAVE_DETAILED"; break; + case 4: std::get<1>(result) = "TREE_CITY"; break; + case 5: std::get<1>(result) = "CITY"; break; + case 6: std::get<1>(result) = "anon_1"; break; + case 7: std::get<1>(result) = "anon_2"; break; + case 8: std::get<1>(result) = "FORTRESS"; break; + case 9: std::get<1>(result) = "anon_3"; break; + case 10: std::get<1>(result) = "MONUMENT"; break; + default: break; + } + return result; +} + +std::tuple get_ethic_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "KILL_ENTITY_MEMBER"; break; + case 1: std::get<1>(result) = "KILL_NEUTRAL"; break; + case 2: std::get<1>(result) = "KILL_ENEMY"; break; + case 3: std::get<1>(result) = "KILL_ANIMAL"; break; + case 4: std::get<1>(result) = "KILL_PLANT"; break; + case 5: std::get<1>(result) = "TORTURE_AS_EXAMPLE"; break; + case 6: std::get<1>(result) = "TORTURE_FOR_INFORMATION"; break; + case 7: std::get<1>(result) = "TORTURE_FOR_FUN"; break; + case 8: std::get<1>(result) = "TORTURE_ANIMALS"; break; + case 9: std::get<1>(result) = "TREASON"; break; + case 10: std::get<1>(result) = "OATH_BREAKING"; break; + case 11: std::get<1>(result) = "LYING"; break; + case 12: std::get<1>(result) = "VANDALISM"; break; + case 13: std::get<1>(result) = "TRESPASSING"; break; + case 14: std::get<1>(result) = "THEFT"; break; + case 15: std::get<1>(result) = "ASSAULT"; break; + case 16: std::get<1>(result) = "SLAVERY"; break; + case 17: std::get<1>(result) = "EAT_SAPIENT_OTHER"; break; + case 18: std::get<1>(result) = "EAT_SAPIENT_KILL"; break; + case 19: std::get<1>(result) = "MAKE_TROPHY_SAME_RACE"; break; + case 20: std::get<1>(result) = "MAKE_TROPHY_SAPIENT"; break; + case 21: std::get<1>(result) = "MAKE_TROPHY_ANIMAL"; break; + default: break; + } + return result; +} + +std::tuple get_ethic_response_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "NOT_APPLICABLE"; break; + case 1: std::get<1>(result) = "ACCEPTABLE"; break; + case 2: std::get<1>(result) = "PERSONAL_MATTER"; break; + case 3: std::get<1>(result) = "JUSTIFIED_IF_NO_REPERCUSSIONS"; break; + case 4: std::get<1>(result) = "JUSTIFIED_IF_GOOD_REASON"; break; + case 5: std::get<1>(result) = "JUSTIFIED_IF_EXTREME_REASON"; break; + case 6: std::get<1>(result) = "JUSTIFIED_IF_SELF_DEFENSE"; break; + case 7: std::get<1>(result) = "ONLY_IF_SANCTIONED"; break; + case 8: std::get<1>(result) = "MISGUIDED"; break; + case 9: std::get<1>(result) = "SHUN"; break; + case 10: std::get<1>(result) = "APPALLING"; break; + case 11: std::get<1>(result) = "PUNISH_REPRIMAND"; break; + case 12: std::get<1>(result) = "PUNISH_SERIOUS"; break; + case 13: std::get<1>(result) = "PUNISH_EXILE"; break; + case 14: std::get<1>(result) = "PUNISH_CAPITAL"; break; + case 15: std::get<1>(result) = "UNTHINKABLE"; break; + case 16: std::get<1>(result) = "REQUIRED"; break; + default: break; + } + return result; +} + +std::tuple get_entity_name_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "OTHER"; break; + case 1: std::get<1>(result) = "CIV"; break; + case 2: std::get<1>(result) = "SITE"; break; + case 3: std::get<1>(result) = "VESSEL"; break; + case 4: std::get<1>(result) = "MILITARY_UNIT"; break; + case 5: std::get<1>(result) = "RELIGION"; break; + case 6: std::get<1>(result) = "TEMPLE"; break; + case 7: std::get<1>(result) = "WAR"; break; + case 8: std::get<1>(result) = "BATTLE"; break; + case 9: std::get<1>(result) = "SIEGE"; break; + case 10: std::get<1>(result) = "ROAD"; break; + case 11: std::get<1>(result) = "BRIDGE"; break; + case 12: std::get<1>(result) = "TUNNEL"; break; + case 13: std::get<1>(result) = "WALL"; break; + case 14: std::get<1>(result) = "LIBRARY"; break; + case 15: std::get<1>(result) = "FESTIVAL"; break; + default: break; + } + return result; +} + +std::tuple get_entity_position_raw_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "SITE"; break; + case 1: std::get<1>(result) = "ELECTED"; break; + case 2: std::get<1>(result) = "CONQUERED_SITE"; break; + case 3: std::get<1>(result) = "MILITARY_SCREEN_ONLY"; break; + case 4: std::get<1>(result) = "GENDER_MALE"; break; + case 5: std::get<1>(result) = "GENDER_FEMALE"; break; + case 6: std::get<1>(result) = "SUCCESSION_BY_HEIR"; break; + case 7: std::get<1>(result) = "EXPORTED_IN_LEGENDS"; break; + case 8: std::get<1>(result) = "FLASHES"; break; + case 9: std::get<1>(result) = "BRAG_ON_KILL"; break; + case 10: std::get<1>(result) = "CHAT_WORTHY"; break; + case 11: std::get<1>(result) = "DO_NOT_CULL"; break; + case 12: std::get<1>(result) = "KILL_QUEST"; break; + case 13: std::get<1>(result) = "DETERMINES_COIN_DESIGN"; break; + case 14: std::get<1>(result) = "ACCOUNT_EXEMPT"; break; + case 15: std::get<1>(result) = "DUTY_BOUND"; break; + case 16: std::get<1>(result) = "COLOR"; break; + case 17: std::get<1>(result) = "RULES_FROM_LOCATION"; break; + case 18: std::get<1>(result) = "MENIAL_WORK_EXEMPTION"; break; + case 19: std::get<1>(result) = "MENIAL_WORK_EXEMPTION_SPOUSE"; break; + case 20: std::get<1>(result) = "SLEEP_PRETENSION"; break; + case 21: std::get<1>(result) = "PUNISHMENT_EXEMPTION"; break; + case 22: std::get<1>(result) = "QUEST_GIVER"; break; + case 23: std::get<1>(result) = "SPECIAL_BURIAL"; break; + case 24: std::get<1>(result) = "REQUIRES_MARKET"; break; + default: break; + } + return result; +} + +std::tuple get_entity_position_responsibility_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case -1: std::get<1>(result) = "NONE"; break; + case 0: std::get<1>(result) = "LAW_MAKING"; break; + case 1: std::get<1>(result) = "LAW_ENFORCEMENT"; break; + case 2: std::get<1>(result) = "RECEIVE_DIPLOMATS"; break; + case 3: std::get<1>(result) = "MEET_WORKERS"; break; + case 4: std::get<1>(result) = "MANAGE_PRODUCTION"; break; + case 5: std::get<1>(result) = "TRADE"; break; + case 6: std::get<1>(result) = "ACCOUNTING"; break; + case 7: std::get<1>(result) = "ESTABLISH_COLONY_TRADE_AGREEMENTS"; break; + case 8: std::get<1>(result) = "MAKE_INTRODUCTIONS"; break; + case 9: std::get<1>(result) = "MAKE_PEACE_AGREEMENTS"; break; + case 10: std::get<1>(result) = "MAKE_TOPIC_AGREEMENTS"; break; + case 11: std::get<1>(result) = "COLLECT_TAXES"; break; + case 12: std::get<1>(result) = "ESCORT_TAX_COLLECTOR"; break; + case 13: std::get<1>(result) = "EXECUTIONS"; break; + case 14: std::get<1>(result) = "TAME_EXOTICS"; break; + case 15: std::get<1>(result) = "RELIGION"; break; + case 16: std::get<1>(result) = "ATTACK_ENEMIES"; break; + case 17: std::get<1>(result) = "PATROL_TERRITORY"; break; + case 18: std::get<1>(result) = "MILITARY_GOALS"; break; + case 19: std::get<1>(result) = "MILITARY_STRATEGY"; break; + case 20: std::get<1>(result) = "UPGRADE_SQUAD_EQUIPMENT"; break; + case 21: std::get<1>(result) = "EQUIPMENT_MANIFESTS"; break; + case 22: std::get<1>(result) = "SORT_AMMUNITION"; break; + case 23: std::get<1>(result) = "BUILD_MORALE"; break; + case 24: std::get<1>(result) = "HEALTH_MANAGEMENT"; break; + default: break; + } + return result; +} + +std::tuple get_weather_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "None"; break; + case 1: std::get<1>(result) = "Rain"; break; + case 2: std::get<1>(result) = "Snow"; break; + default: break; + } + return result; +} + +std::tuple get_game_mode_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "DWARF"; break; + case 1: std::get<1>(result) = "ADVENTURE"; break; + case 2: std::get<1>(result) = "num"; break; + case 3: std::get<1>(result) = "NONE"; break; + default: break; + } + return result; +} + +std::tuple get_game_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "DWARF_MAIN"; break; + case 1: std::get<1>(result) = "ADVENTURE_MAIN"; break; + case 2: std::get<1>(result) = "VIEW_LEGENDS"; break; + case 3: std::get<1>(result) = "DWARF_RECLAIM"; break; + case 4: std::get<1>(result) = "DWARF_ARENA"; break; + case 5: std::get<1>(result) = "ADVENTURE_ARENA"; break; + case 6: std::get<1>(result) = "ADVENTURE_DUNGEON"; break; + case 7: std::get<1>(result) = "DWARF_TUTORIAL"; break; + case 8: std::get<1>(result) = "DWARF_UNRETIRE"; break; + case 9: std::get<1>(result) = "ADVENTURE_WORLD_DEBUG"; break; + case 10: std::get<1>(result) = "num"; break; + case 11: std::get<1>(result) = "NONE"; break; + default: break; + } + return result; +} + +std::tuple get_lever_target_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case -1: std::get<1>(result) = "NONE"; break; + case 66: std::get<1>(result) = "BarsVertical"; break; + case 70: std::get<1>(result) = "BarsFloor"; break; + case 83: std::get<1>(result) = "SpearsSpikes"; break; + case 84: std::get<1>(result) = "TrackStop"; break; + case 97: std::get<1>(result) = "GearAssembly"; break; + case 98: std::get<1>(result) = "Bridge"; break; + case 99: std::get<1>(result) = "Chain"; break; + case 100: std::get<1>(result) = "Door"; break; + case 101: std::get<1>(result) = "EncrustGems"; break; + case 102: std::get<1>(result) = "Floodgate"; break; + case 103: std::get<1>(result) = "GrateFloor"; break; + case 104: std::get<1>(result) = "Hatch"; break; + case 106: std::get<1>(result) = "Cage"; break; + case 115: std::get<1>(result) = "Support"; break; + case 119: std::get<1>(result) = "GrateWall"; break; + default: break; + } + return result; +} + +std::tuple get_zoom_commands_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "zoom_in"; break; + case 1: std::get<1>(result) = "zoom_out"; break; + case 2: std::get<1>(result) = "zoom_reset"; break; + case 3: std::get<1>(result) = "zoom_fullscreen"; break; + case 4: std::get<1>(result) = "zoom_resetgrid"; break; + default: break; + } + return result; +} + +std::tuple get_reputation_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Hero"; break; + case 1: std::get<1>(result) = "Buddy"; break; + case 2: std::get<1>(result) = "Grudge"; break; + case 3: std::get<1>(result) = "AnimalPartner"; break; + case 4: std::get<1>(result) = "Brawler"; break; + case 5: std::get<1>(result) = "Psycho"; break; + case 6: std::get<1>(result) = "TradePartner"; break; + case 7: std::get<1>(result) = "Friendly"; break; + case 8: std::get<1>(result) = "Killer"; break; + case 9: std::get<1>(result) = "Murderer"; break; + case 10: std::get<1>(result) = "Comrade"; break; + case 11: std::get<1>(result) = "RespectedGroup"; break; + case 12: std::get<1>(result) = "HatedGroup"; break; + case 13: std::get<1>(result) = "EnemyFighter"; break; + case 14: std::get<1>(result) = "FriendlyFighter"; break; + case 15: std::get<1>(result) = "Bully"; break; + case 16: std::get<1>(result) = "Brigand"; break; + case 17: std::get<1>(result) = "LoyalSoldier"; break; + case 18: std::get<1>(result) = "Monster"; break; + case 19: std::get<1>(result) = "Storyteller"; break; + case 20: std::get<1>(result) = "Poet"; break; + case 21: std::get<1>(result) = "Bard"; break; + case 22: std::get<1>(result) = "Dancer"; break; + case 23: std::get<1>(result) = "Quarreler"; break; + case 24: std::get<1>(result) = "Flatterer"; break; + case 25: std::get<1>(result) = "Hunter"; break; + case 26: std::get<1>(result) = "ProtectorOfWeak"; break; + case 27: std::get<1>(result) = "TreasureHunter"; break; + case 28: std::get<1>(result) = "Thief"; break; + case 29: std::get<1>(result) = "InformationSource"; break; + case 30: std::get<1>(result) = "PreserverOfKnowledge"; break; + case 31: std::get<1>(result) = "Intruder"; break; + default: break; + } + return result; +} + +std::tuple get_histfig_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "reveal_artwork"; break; + case 1: std::get<1>(result) = "equipment_created"; break; + case 2: std::get<1>(result) = "deity"; break; + case 3: std::get<1>(result) = "force"; break; + case 4: std::get<1>(result) = "skeletal_deity"; break; + case 5: std::get<1>(result) = "rotting_deity"; break; + case 6: std::get<1>(result) = "worldgen_acted"; break; + case 7: std::get<1>(result) = "ghost"; break; + case 8: std::get<1>(result) = "skin_destroyed"; break; + case 9: std::get<1>(result) = "meat_destroyed"; break; + case 10: std::get<1>(result) = "bones_destroyed"; break; + case 11: std::get<1>(result) = "brag_on_kill"; break; + case 12: std::get<1>(result) = "kill_quest"; break; + case 13: std::get<1>(result) = "chatworthy"; break; + case 14: std::get<1>(result) = "flashes"; break; + case 15: std::get<1>(result) = "never_cull"; break; + default: break; + } + return result; +} + +std::tuple get_histfig_relationship_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case -1: std::get<1>(result) = "None"; break; + case 0: std::get<1>(result) = "Mother"; break; + case 1: std::get<1>(result) = "Father"; break; + case 2: std::get<1>(result) = "Parent"; break; + case 3: std::get<1>(result) = "Husband"; break; + case 4: std::get<1>(result) = "Wife"; break; + case 5: std::get<1>(result) = "Spouse"; break; + case 6: std::get<1>(result) = "SonEldest"; break; + case 7: std::get<1>(result) = "SonEldest2"; break; + case 8: std::get<1>(result) = "SonEldest3"; break; + case 9: std::get<1>(result) = "SonEldest4"; break; + case 10: std::get<1>(result) = "SonEldest5"; break; + case 11: std::get<1>(result) = "SonEldest6"; break; + case 12: std::get<1>(result) = "SonEldest7"; break; + case 13: std::get<1>(result) = "SonEldest8"; break; + case 14: std::get<1>(result) = "SonEldest9"; break; + case 15: std::get<1>(result) = "SonEldest10"; break; + case 16: std::get<1>(result) = "Son"; break; + case 17: std::get<1>(result) = "SonYoungest"; break; + case 18: std::get<1>(result) = "SonOnly"; break; + case 19: std::get<1>(result) = "DaughterEldest"; break; + case 20: std::get<1>(result) = "DaughterEldest2"; break; + case 21: std::get<1>(result) = "DaughterEldest3"; break; + case 22: std::get<1>(result) = "DaughterEldest4"; break; + case 23: std::get<1>(result) = "DaughterEldest5"; break; + case 24: std::get<1>(result) = "DaughterEldest6"; break; + case 25: std::get<1>(result) = "DaughterEldest7"; break; + case 26: std::get<1>(result) = "DaughterEldest8"; break; + case 27: std::get<1>(result) = "DaughterEldest9"; break; + case 28: std::get<1>(result) = "DaughterEldest10"; break; + case 29: std::get<1>(result) = "Daughter"; break; + case 30: std::get<1>(result) = "DaughterOnly"; break; + case 31: std::get<1>(result) = "DaughterYoungest"; break; + case 32: std::get<1>(result) = "ChildEldest"; break; + case 33: std::get<1>(result) = "ChildEldest2"; break; + case 34: std::get<1>(result) = "ChildEldest3"; break; + case 35: std::get<1>(result) = "ChildEldest4"; break; + case 36: std::get<1>(result) = "ChildEldest5"; break; + case 37: std::get<1>(result) = "ChildEldest6"; break; + case 38: std::get<1>(result) = "ChildEldest7"; break; + case 39: std::get<1>(result) = "ChildEldest8"; break; + case 40: std::get<1>(result) = "ChildEldest9"; break; + case 41: std::get<1>(result) = "ChildEldest10"; break; + case 42: std::get<1>(result) = "Child"; break; + case 43: std::get<1>(result) = "ChildYoungest"; break; + case 44: std::get<1>(result) = "ChildOnly"; break; + case 45: std::get<1>(result) = "PaternalGrandmother"; break; + case 46: std::get<1>(result) = "PaternalGrandfather"; break; + case 47: std::get<1>(result) = "MaternalGrandmother"; break; + case 48: std::get<1>(result) = "MaternalGrandfather"; break; + case 49: std::get<1>(result) = "Grandmother"; break; + case 50: std::get<1>(result) = "Grandfather"; break; + case 51: std::get<1>(result) = "Grandparent"; break; + case 52: std::get<1>(result) = "OlderBrother"; break; + case 53: std::get<1>(result) = "OlderSister"; break; + case 54: std::get<1>(result) = "OlderSibling"; break; + case 55: std::get<1>(result) = "YoungerBrother"; break; + case 56: std::get<1>(result) = "YoungerSister"; break; + case 57: std::get<1>(result) = "YoungerSibling"; break; + case 58: std::get<1>(result) = "Cousin"; break; + case 59: std::get<1>(result) = "Aunt"; break; + case 60: std::get<1>(result) = "Uncle"; break; + case 61: std::get<1>(result) = "Niece"; break; + case 62: std::get<1>(result) = "Nephew"; break; + case 63: std::get<1>(result) = "Sibling"; break; + case 64: std::get<1>(result) = "Grandchild"; break; + default: break; + } + return result; +} + +std::tuple get_mental_picture_property_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "DATE"; break; + case 1: std::get<1>(result) = "ACTION"; break; + case 2: std::get<1>(result) = "TOOL"; break; + case 3: std::get<1>(result) = "EMOTION"; break; + case 4: std::get<1>(result) = "COLOR_PATTERN"; break; + case 5: std::get<1>(result) = "SHAPE"; break; + case 6: std::get<1>(result) = "ADJECTIVE"; break; + case 7: std::get<1>(result) = "POSITION"; break; + case 8: std::get<1>(result) = "TIME"; break; + default: break; + } + return result; +} + +std::tuple get_mental_picture_element_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "HF"; break; + case 1: std::get<1>(result) = "SITE"; break; + case 2: std::get<1>(result) = "REGION"; break; + default: break; + } + return result; +} + +std::tuple get_history_event_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "WAR_ATTACKED_SITE"; break; + case 1: std::get<1>(result) = "WAR_DESTROYED_SITE"; break; + case 2: std::get<1>(result) = "CREATED_SITE"; break; + case 3: std::get<1>(result) = "HIST_FIGURE_DIED"; break; + case 4: std::get<1>(result) = "ADD_HF_ENTITY_LINK"; break; + case 5: std::get<1>(result) = "REMOVE_HF_ENTITY_LINK"; break; + case 6: std::get<1>(result) = "FIRST_CONTACT"; break; + case 7: std::get<1>(result) = "FIRST_CONTACT_FAILED"; break; + case 8: std::get<1>(result) = "TOPICAGREEMENT_CONCLUDED"; break; + case 9: std::get<1>(result) = "TOPICAGREEMENT_REJECTED"; break; + case 10: std::get<1>(result) = "TOPICAGREEMENT_MADE"; break; + case 11: std::get<1>(result) = "WAR_PEACE_ACCEPTED"; break; + case 12: std::get<1>(result) = "WAR_PEACE_REJECTED"; break; + case 13: std::get<1>(result) = "DIPLOMAT_LOST"; break; + case 14: std::get<1>(result) = "AGREEMENTS_VOIDED"; break; + case 15: std::get<1>(result) = "MERCHANT"; break; + case 16: std::get<1>(result) = "ARTIFACT_HIDDEN"; break; + case 17: std::get<1>(result) = "ARTIFACT_POSSESSED"; break; + case 18: std::get<1>(result) = "ARTIFACT_CREATED"; break; + case 19: std::get<1>(result) = "ARTIFACT_LOST"; break; + case 20: std::get<1>(result) = "ARTIFACT_FOUND"; break; + case 21: std::get<1>(result) = "ARTIFACT_RECOVERED"; break; + case 22: std::get<1>(result) = "ARTIFACT_DROPPED"; break; + case 23: std::get<1>(result) = "RECLAIM_SITE"; break; + case 24: std::get<1>(result) = "HF_DESTROYED_SITE"; break; + case 25: std::get<1>(result) = "SITE_DIED"; break; + case 26: std::get<1>(result) = "SITE_RETIRED"; break; + case 27: std::get<1>(result) = "ENTITY_CREATED"; break; + case 28: std::get<1>(result) = "ENTITY_ACTION"; break; + case 29: std::get<1>(result) = "ENTITY_INCORPORATED"; break; + case 30: std::get<1>(result) = "CREATED_BUILDING"; break; + case 31: std::get<1>(result) = "REPLACED_BUILDING"; break; + case 32: std::get<1>(result) = "ADD_HF_SITE_LINK"; break; + case 33: std::get<1>(result) = "REMOVE_HF_SITE_LINK"; break; + case 34: std::get<1>(result) = "ADD_HF_HF_LINK"; break; + case 35: std::get<1>(result) = "REMOVE_HF_HF_LINK"; break; + case 36: std::get<1>(result) = "ENTITY_RAZED_BUILDING"; break; + case 37: std::get<1>(result) = "MASTERPIECE_CREATED_ARCH_DESIGN"; break; + case 38: std::get<1>(result) = "MASTERPIECE_CREATED_ARCH_CONSTRUCT"; break; + case 39: std::get<1>(result) = "MASTERPIECE_CREATED_ITEM"; break; + case 40: std::get<1>(result) = "MASTERPIECE_CREATED_DYE_ITEM"; break; + case 41: std::get<1>(result) = "MASTERPIECE_CREATED_ITEM_IMPROVEMENT"; break; + case 42: std::get<1>(result) = "MASTERPIECE_CREATED_FOOD"; break; + case 43: std::get<1>(result) = "MASTERPIECE_CREATED_ENGRAVING"; break; + case 44: std::get<1>(result) = "MASTERPIECE_LOST"; break; + case 45: std::get<1>(result) = "CHANGE_HF_STATE"; break; + case 46: std::get<1>(result) = "CHANGE_HF_JOB"; break; + case 47: std::get<1>(result) = "WAR_FIELD_BATTLE"; break; + case 48: std::get<1>(result) = "WAR_PLUNDERED_SITE"; break; + case 49: std::get<1>(result) = "WAR_SITE_NEW_LEADER"; break; + case 50: std::get<1>(result) = "WAR_SITE_TRIBUTE_FORCED"; break; + case 51: std::get<1>(result) = "WAR_SITE_TAKEN_OVER"; break; + case 52: std::get<1>(result) = "BODY_ABUSED"; break; + case 53: std::get<1>(result) = "HIST_FIGURE_ABDUCTED"; break; + case 54: std::get<1>(result) = "ITEM_STOLEN"; break; + case 55: std::get<1>(result) = "HF_RAZED_BUILDING"; break; + case 56: std::get<1>(result) = "CREATURE_DEVOURED"; break; + case 57: std::get<1>(result) = "HIST_FIGURE_WOUNDED"; break; + case 58: std::get<1>(result) = "HIST_FIGURE_SIMPLE_BATTLE_EVENT"; break; + case 59: std::get<1>(result) = "CREATED_WORLD_CONSTRUCTION"; break; + case 60: std::get<1>(result) = "HIST_FIGURE_REUNION"; break; + case 61: std::get<1>(result) = "HIST_FIGURE_REACH_SUMMIT"; break; + case 62: std::get<1>(result) = "HIST_FIGURE_TRAVEL"; break; + case 63: std::get<1>(result) = "HIST_FIGURE_NEW_PET"; break; + case 64: std::get<1>(result) = "ASSUME_IDENTITY"; break; + case 65: std::get<1>(result) = "CREATE_ENTITY_POSITION"; break; + case 66: std::get<1>(result) = "CHANGE_CREATURE_TYPE"; break; + case 67: std::get<1>(result) = "HIST_FIGURE_REVIVED"; break; + case 68: std::get<1>(result) = "HF_LEARNS_SECRET"; break; + case 69: std::get<1>(result) = "CHANGE_HF_BODY_STATE"; break; + case 70: std::get<1>(result) = "HF_ACT_ON_BUILDING"; break; + case 71: std::get<1>(result) = "HF_DOES_INTERACTION"; break; + case 72: std::get<1>(result) = "HF_CONFRONTED"; break; + case 73: std::get<1>(result) = "ENTITY_LAW"; break; + case 74: std::get<1>(result) = "HF_GAINS_SECRET_GOAL"; break; + case 75: std::get<1>(result) = "ARTIFACT_STORED"; break; + case 76: std::get<1>(result) = "AGREEMENT_FORMED"; break; + case 77: std::get<1>(result) = "SITE_DISPUTE"; break; + case 78: std::get<1>(result) = "AGREEMENT_CONCLUDED"; break; + case 79: std::get<1>(result) = "INSURRECTION_STARTED"; break; + case 80: std::get<1>(result) = "INSURRECTION_ENDED"; break; + case 81: std::get<1>(result) = "HF_ATTACKED_SITE"; break; + case 82: std::get<1>(result) = "PERFORMANCE"; break; + case 83: std::get<1>(result) = "COMPETITION"; break; + case 84: std::get<1>(result) = "PROCESSION"; break; + case 85: std::get<1>(result) = "CEREMONY"; break; + case 86: std::get<1>(result) = "KNOWLEDGE_DISCOVERED"; break; + case 87: std::get<1>(result) = "ARTIFACT_TRANSFORMED"; break; + case 88: std::get<1>(result) = "ARTIFACT_DESTROYED"; break; + case 89: std::get<1>(result) = "HF_RELATIONSHIP_DENIED"; break; + case 90: std::get<1>(result) = "REGIONPOP_INCORPORATED_INTO_ENTITY"; break; + case 91: std::get<1>(result) = "POETIC_FORM_CREATED"; break; + case 92: std::get<1>(result) = "MUSICAL_FORM_CREATED"; break; + case 93: std::get<1>(result) = "DANCE_FORM_CREATED"; break; + case 94: std::get<1>(result) = "WRITTEN_CONTENT_COMPOSED"; break; + case 95: std::get<1>(result) = "CHANGE_HF_MOOD"; break; + case 96: std::get<1>(result) = "ARTIFACT_CLAIM_FORMED"; break; + case 97: std::get<1>(result) = "ARTIFACT_GIVEN"; break; + case 98: std::get<1>(result) = "HF_ACT_ON_ARTIFACT"; break; + case 99: std::get<1>(result) = "HF_RECRUITED_UNIT_TYPE_FOR_ENTITY"; break; + case 100: std::get<1>(result) = "HFS_FORMED_REPUTATION_RELATIONSHIP"; break; + case 101: std::get<1>(result) = "ARTIFACT_COPIED"; break; + case 102: std::get<1>(result) = "SNEAK_INTO_SITE"; break; + case 103: std::get<1>(result) = "SPOTTED_LEAVING_SITE"; break; + case 104: std::get<1>(result) = "ENTITY_SEARCHED_SITE"; break; + case 105: std::get<1>(result) = "HF_FREED"; break; + case 106: std::get<1>(result) = "HIST_FIGURE_SIMPLE_ACTION"; break; + case 107: std::get<1>(result) = "ENTITY_RAMPAGED_IN_SITE"; break; + case 108: std::get<1>(result) = "ENTITY_FLED_SITE"; break; + case 109: std::get<1>(result) = "TACTICAL_SITUATION"; break; + case 110: std::get<1>(result) = "SQUAD_VS_SQUAD"; break; + case 111: std::get<1>(result) = "SITE_SURRENDERED"; break; + case 112: std::get<1>(result) = "ENTITY_EXPELS_HF"; break; + default: break; + } + return result; +} + +std::tuple get_history_event_reason_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case -1: std::get<1>(result) = "none"; break; + case 0: std::get<1>(result) = "insurrection"; break; + case 1: std::get<1>(result) = "adventure"; break; + case 2: std::get<1>(result) = "guide"; break; + case 3: std::get<1>(result) = "rescued"; break; + case 4: std::get<1>(result) = "sphere_alignment"; break; + case 5: std::get<1>(result) = "maintain_balance_in_universe"; break; + case 6: std::get<1>(result) = "highlight_boundaries_between_worlds"; break; + case 7: std::get<1>(result) = "sow_the_seeds_of_chaos_in_the_world"; break; + case 8: std::get<1>(result) = "provide_opportunities_for_courage"; break; + case 9: std::get<1>(result) = "bring_death_to_the_world"; break; + case 10: std::get<1>(result) = "liked_appearance"; break; + case 11: std::get<1>(result) = "because_it_was_destined"; break; + case 12: std::get<1>(result) = "great_fortresses_built_and_tested"; break; + case 13: std::get<1>(result) = "whim"; break; + case 14: std::get<1>(result) = "bring_misery_to_the_world"; break; + case 15: std::get<1>(result) = "bring_murder_to_the_world"; break; + case 16: std::get<1>(result) = "bring_nightmares_into_reality"; break; + case 17: std::get<1>(result) = "bring_thralldom_to_the_world"; break; + case 18: std::get<1>(result) = "bring_torture_to_the_world"; break; + case 19: std::get<1>(result) = "provide_opportunities_for_acts_of_valor"; break; + case 20: std::get<1>(result) = "bring_war_to_the_world"; break; + case 21: std::get<1>(result) = "find_relative"; break; + case 22: std::get<1>(result) = "offer_condolences"; break; + case 23: std::get<1>(result) = "be_brought_to_safety"; break; + case 24: std::get<1>(result) = "help_with_rescue"; break; + case 25: std::get<1>(result) = "insufficient_work"; break; + case 26: std::get<1>(result) = "work_request"; break; + case 27: std::get<1>(result) = "make_weapon"; break; + case 28: std::get<1>(result) = "vent_at_boss"; break; + case 29: std::get<1>(result) = "cry_on_boss"; break; + case 30: std::get<1>(result) = "should_have_reached_goal"; break; + case 31: std::get<1>(result) = "insufficient_progress_toward_goal"; break; + case 32: std::get<1>(result) = "going_wrong_direction"; break; + case 33: std::get<1>(result) = "arrived_at_location"; break; + case 34: std::get<1>(result) = "entity_no_longer_rules"; break; + case 35: std::get<1>(result) = "left_site"; break; + case 36: std::get<1>(result) = "reunited_with_loved_one"; break; + case 37: std::get<1>(result) = "violent_disagreement"; break; + case 38: std::get<1>(result) = "adopted"; break; + case 39: std::get<1>(result) = "true_name_invocation"; break; + case 40: std::get<1>(result) = "arrived_at_person"; break; + case 41: std::get<1>(result) = "eradicate_beasts"; break; + case 42: std::get<1>(result) = "entertain_people"; break; + case 43: std::get<1>(result) = "make_a_living_as_a_warrior"; break; + case 44: std::get<1>(result) = "study"; break; + case 45: std::get<1>(result) = "flight"; break; + case 46: std::get<1>(result) = "scholarship"; break; + case 47: std::get<1>(result) = "be_with_master"; break; + case 48: std::get<1>(result) = "become_citizen"; break; + case 49: std::get<1>(result) = "prefers_working_alone"; break; + case 50: std::get<1>(result) = "jealousy"; break; + case 51: std::get<1>(result) = "glorify_hf"; break; + case 52: std::get<1>(result) = "have_not_performed"; break; + case 53: std::get<1>(result) = "prevented_from_leaving"; break; + case 54: std::get<1>(result) = "curiosity"; break; + case 55: std::get<1>(result) = "hire_on_as_mercenary"; break; + case 56: std::get<1>(result) = "hire_on_as_performer"; break; + case 57: std::get<1>(result) = "hire_on_as_scholar"; break; + case 58: std::get<1>(result) = "drink"; break; + case 59: std::get<1>(result) = "admire_architecture"; break; + case 60: std::get<1>(result) = "pray"; break; + case 61: std::get<1>(result) = "relax"; break; + case 62: std::get<1>(result) = "danger"; break; + case 63: std::get<1>(result) = "cannot_find_artifact"; break; + case 64: std::get<1>(result) = "failed_mood"; break; + case 65: std::get<1>(result) = "lack_of_sleep"; break; + case 66: std::get<1>(result) = "trapped_in_cage"; break; + case 67: std::get<1>(result) = "great_deal_of_stress"; break; + case 68: std::get<1>(result) = "unable_to_leave_location"; break; + case 69: std::get<1>(result) = "sanctify_hf"; break; + case 70: std::get<1>(result) = "artifact_is_heirloom_of_family_hfid"; break; + case 71: std::get<1>(result) = "cement_bonds_of_friendship"; break; + case 72: std::get<1>(result) = "as_a_symbol_of_everlasting_peace"; break; + case 73: std::get<1>(result) = "on_a_pilgrimage"; break; + case 74: std::get<1>(result) = "gather_information"; break; + case 75: std::get<1>(result) = "seek_sanctuary"; break; + case 76: std::get<1>(result) = "part_of_trade_negotiation"; break; + case 77: std::get<1>(result) = "artifact_is_symbol_of_entity_position"; break; + default: break; + } + return result; +} + +std::tuple get_death_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case -1: std::get<1>(result) = "NONE"; break; + case 0: std::get<1>(result) = "OLD_AGE"; break; + case 1: std::get<1>(result) = "HUNGER"; break; + case 2: std::get<1>(result) = "THIRST"; break; + case 3: std::get<1>(result) = "SHOT"; break; + case 4: std::get<1>(result) = "BLEED"; break; + case 5: std::get<1>(result) = "DROWN"; break; + case 6: std::get<1>(result) = "SUFFOCATE"; break; + case 7: std::get<1>(result) = "STRUCK_DOWN"; break; + case 8: std::get<1>(result) = "SCUTTLE"; std::get<2>(result) = "stuck wagons"; break; + case 9: std::get<1>(result) = "COLLISION"; break; + case 10: std::get<1>(result) = "MAGMA"; std::get<2>(result) = "does not happen anymore?"; break; + case 11: std::get<1>(result) = "MAGMA_MIST"; std::get<2>(result) = "does not happen anymore?"; break; + case 12: std::get<1>(result) = "DRAGONFIRE"; break; + case 13: std::get<1>(result) = "FIRE"; break; + case 14: std::get<1>(result) = "SCALD"; std::get<2>(result) = "does not happen anymore?"; break; + case 15: std::get<1>(result) = "CAVEIN"; break; + case 16: std::get<1>(result) = "DRAWBRIDGE"; break; + case 17: std::get<1>(result) = "FALLING_ROCKS"; std::get<2>(result) = "does not happen anymore?"; break; + case 18: std::get<1>(result) = "CHASM"; break; + case 19: std::get<1>(result) = "CAGE"; break; + case 20: std::get<1>(result) = "MURDER"; break; + case 21: std::get<1>(result) = "TRAP"; break; + case 22: std::get<1>(result) = "VANISH"; std::get<2>(result) = "bogeyman"; break; + case 23: std::get<1>(result) = "QUIT"; std::get<2>(result) = "Give in to starvation as adventurer"; break; + case 24: std::get<1>(result) = "ABANDON"; break; + case 25: std::get<1>(result) = "HEAT"; break; + case 26: std::get<1>(result) = "COLD"; break; + case 27: std::get<1>(result) = "SPIKE"; break; + case 28: std::get<1>(result) = "ENCASE_LAVA"; break; + case 29: std::get<1>(result) = "ENCASE_MAGMA"; break; + case 30: std::get<1>(result) = "ENCASE_ICE"; break; + case 31: std::get<1>(result) = "BEHEAD"; std::get<2>(result) = "execution during worldgen"; break; + case 32: std::get<1>(result) = "CRUCIFY"; std::get<2>(result) = "execution during worldgen"; break; + case 33: std::get<1>(result) = "BURY_ALIVE"; std::get<2>(result) = "execution during worldgen"; break; + case 34: std::get<1>(result) = "DROWN_ALT"; std::get<2>(result) = "execution during worldgen"; break; + case 35: std::get<1>(result) = "BURN_ALIVE"; std::get<2>(result) = "execution during worldgen"; break; + case 36: std::get<1>(result) = "FEED_TO_BEASTS"; std::get<2>(result) = "execution during worldgen"; break; + case 37: std::get<1>(result) = "HACK_TO_PIECES"; std::get<2>(result) = "execution during worldgen"; break; + case 38: std::get<1>(result) = "LEAVE_OUT_IN_AIR"; std::get<2>(result) = "execution during worldgen"; break; + case 39: std::get<1>(result) = "BOIL"; std::get<2>(result) = "material state change"; break; + case 40: std::get<1>(result) = "MELT"; std::get<2>(result) = "material state change"; break; + case 41: std::get<1>(result) = "CONDENSE"; std::get<2>(result) = "material state change"; break; + case 42: std::get<1>(result) = "SOLIDIFY"; std::get<2>(result) = "material state change"; break; + case 43: std::get<1>(result) = "INFECTION"; break; + case 44: std::get<1>(result) = "MEMORIALIZE"; std::get<2>(result) = "put to rest"; break; + case 45: std::get<1>(result) = "SCARE"; break; + case 46: std::get<1>(result) = "DARKNESS"; std::get<2>(result) = "died in the dark"; break; + case 47: std::get<1>(result) = "COLLAPSE"; std::get<2>(result) = "used in 0.31 for undead"; break; + case 48: std::get<1>(result) = "DRAIN_BLOOD"; break; + case 49: std::get<1>(result) = "SLAUGHTER"; break; + case 50: std::get<1>(result) = "VEHICLE"; break; + case 51: std::get<1>(result) = "FALLING_OBJECT"; break; + case 52: std::get<1>(result) = "LEAPT_FROM_HEIGHT"; break; + case 53: std::get<1>(result) = "DROWN_ALT2"; break; + default: break; + } + return result; +} + +std::tuple get_entity_action_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "entity_primary_criminals"; break; + case 1: std::get<1>(result) = "entity_relocate"; break; + default: break; + } + return result; +} + +std::tuple get_masterpiece_loss_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "MELT"; break; + case 1: std::get<1>(result) = "MAGMA"; break; + case 2: std::get<1>(result) = "FORTIFICATION"; break; + case 3: std::get<1>(result) = "MINING"; break; + case 4: std::get<1>(result) = "CAVEIN"; break; + case 5: std::get<1>(result) = "VEGETATION"; break; + default: break; + } + return result; +} + +std::tuple get_history_event_hist_figure_woundedst__T_injury_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Smash"; break; + case 1: std::get<1>(result) = "Slash"; break; + case 2: std::get<1>(result) = "Stab"; break; + case 3: std::get<1>(result) = "Rip"; break; + default: break; + } + return result; +} + +std::tuple get_history_event_simple_battle_subtype_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "SCUFFLE"; break; + case 1: std::get<1>(result) = "ATTACK"; break; + case 2: std::get<1>(result) = "SURPRISE"; break; + case 3: std::get<1>(result) = "AMBUSH"; break; + case 4: std::get<1>(result) = "HAPPEN_UPON"; break; + case 5: std::get<1>(result) = "CORNER"; break; + case 6: std::get<1>(result) = "CONFRONT"; break; + case 7: std::get<1>(result) = "LOSE_AFTER_RECEIVE_WOUND"; break; + case 8: std::get<1>(result) = "LOSE_AFTER_INFLICT_WOUND"; break; + case 9: std::get<1>(result) = "LOSE_AFTER_EXCHANGE_WOUND"; break; + default: break; + } + return result; +} + +std::tuple get_histfig_body_state_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Active"; break; + case 1: std::get<1>(result) = "BuriedAtSite"; break; + case 2: std::get<1>(result) = "UnburiedAtBattlefield"; break; + case 3: std::get<1>(result) = "UnburiedAtSubregion"; break; + case 4: std::get<1>(result) = "UnburiedAtFeatureLayer"; break; + case 5: std::get<1>(result) = "EntombedAtSite"; break; + case 6: std::get<1>(result) = "UnburiedAtSite"; break; + default: break; + } + return result; +} + +std::tuple get_history_event_hf_act_on_buildingst__T_action_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Profane"; break; + case 1: std::get<1>(result) = "Disturb"; break; + case 2: std::get<1>(result) = "PrayedInside"; break; + default: break; + } + return result; +} + +std::tuple get_site_dispute_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Territory"; break; + case 1: std::get<1>(result) = "WaterRights"; break; + case 2: std::get<1>(result) = "GrazingRights"; break; + case 3: std::get<1>(result) = "FishingRights"; break; + case 4: std::get<1>(result) = "RightsOfWay"; break; + case 5: std::get<1>(result) = "LivestockOwnership"; break; + default: break; + } + return result; +} + +std::tuple get_insurrection_outcome_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "LeadershipOverthrown"; break; + case 1: std::get<1>(result) = "PopulationGone"; break; + case 2: std::get<1>(result) = "Crushed"; break; + default: break; + } + return result; +} + +std::tuple get_history_event_hf_act_on_artifactst__T_action_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "View"; break; + case 1: std::get<1>(result) = "AskAbout"; break; + default: break; + } + return result; +} + +std::tuple get_tactical_situation_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "attacker_strongly_favored"; break; + case 1: std::get<1>(result) = "attacker_favored"; break; + case 2: std::get<1>(result) = "attacker_slightly_favored"; break; + case 3: std::get<1>(result) = "defender_strongly_favored"; break; + case 4: std::get<1>(result) = "defender_favored"; break; + case 5: std::get<1>(result) = "defender_slightly_favored"; break; + case 6: std::get<1>(result) = "neither_favored"; break; + default: break; + } + return result; +} + +std::tuple get_history_event_collection_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "WAR"; break; + case 1: std::get<1>(result) = "BATTLE"; break; + case 2: std::get<1>(result) = "DUEL"; break; + case 3: std::get<1>(result) = "SITE_CONQUERED"; break; + case 4: std::get<1>(result) = "ABDUCTION"; break; + case 5: std::get<1>(result) = "THEFT"; break; + case 6: std::get<1>(result) = "BEAST_ATTACK"; break; + case 7: std::get<1>(result) = "JOURNEY"; break; + case 8: std::get<1>(result) = "INSURRECTION"; break; + case 9: std::get<1>(result) = "OCCASION"; break; + case 10: std::get<1>(result) = "PERFORMANCE"; break; + case 11: std::get<1>(result) = "COMPETITION"; break; + case 12: std::get<1>(result) = "PROCESSION"; break; + case 13: std::get<1>(result) = "CEREMONY"; break; + case 14: std::get<1>(result) = "PURGE"; break; + case 15: std::get<1>(result) = "RAID"; break; + default: break; + } + return result; +} + +std::tuple get_era_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "ThreePowers"; break; + case 1: std::get<1>(result) = "TwoPowers"; break; + case 2: std::get<1>(result) = "OnePower"; break; + case 3: std::get<1>(result) = "Myth"; break; + case 4: std::get<1>(result) = "Legends"; break; + case 5: std::get<1>(result) = "Twilight"; break; + case 6: std::get<1>(result) = "FairyTales"; break; + case 7: std::get<1>(result) = "Race"; break; + case 8: std::get<1>(result) = "Heroes"; break; + case 9: std::get<1>(result) = "Golden"; break; + case 10: std::get<1>(result) = "Death"; break; + case 11: std::get<1>(result) = "Civilization"; break; + case 12: std::get<1>(result) = "Emptiness"; break; + default: break; + } + return result; +} + +std::tuple get_init_display_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "USE_GRAPHICS"; break; + case 1: std::get<1>(result) = "BLACK_SPACE"; break; + case 2: std::get<1>(result) = "PARTIAL_PRINT"; break; + case 3: std::get<1>(result) = "FRAME_BUFFER"; break; + case 4: std::get<1>(result) = "SINGLE_BUFFER"; break; + case 5: std::get<1>(result) = "ACCUM_BUFFER"; break; + case 6: std::get<1>(result) = "VBO"; break; + case 7: std::get<1>(result) = "RENDER_2D"; break; + case 8: std::get<1>(result) = "RENDER_2DHW"; break; + case 9: std::get<1>(result) = "RENDER_2DASYNC"; break; + case 10: std::get<1>(result) = "UNUSED_01_08"; break; + case 11: std::get<1>(result) = "TEXT"; break; + case 12: std::get<1>(result) = "SHADER"; break; + case 13: std::get<1>(result) = "NOT_RESIZABLE"; break; + case 14: std::get<1>(result) = "ARB_SYNC"; break; + default: break; + } + return result; +} + +std::tuple get_init_media_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "SOUND_OFF"; break; + case 1: std::get<1>(result) = "INTRO_OFF"; break; + case 2: std::get<1>(result) = "COMPRESS_SAVES"; break; + default: break; + } + return result; +} + +std::tuple get_init_input_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "MOUSE_OFF"; break; + case 1: std::get<1>(result) = "MOUSE_PICTURE"; break; + default: break; + } + return result; +} + +std::tuple get_init_window_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "TOPMOST"; break; + case 1: std::get<1>(result) = "VSYNC_ON"; break; + case 2: std::get<1>(result) = "VSYNC_OFF"; break; + case 3: std::get<1>(result) = "TEXTURE_LINEAR"; break; + default: break; + } + return result; +} + +std::tuple get_interaction_effect_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "ANIMATE"; break; + case 1: std::get<1>(result) = "ADD_SYNDROME"; break; + case 2: std::get<1>(result) = "RESURRECT"; break; + case 3: std::get<1>(result) = "CLEAN"; break; + case 4: std::get<1>(result) = "CONTACT"; break; + case 5: std::get<1>(result) = "MATERIAL_EMISSION"; break; + case 6: std::get<1>(result) = "HIDE"; break; + default: break; + } + return result; +} + +std::tuple get_interaction_effect_location_hint_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "IN_WATER"; break; + case 1: std::get<1>(result) = "IN_MAGMA"; break; + case 2: std::get<1>(result) = "NO_WATER"; break; + case 3: std::get<1>(result) = "NO_MAGMA"; break; + default: break; + } + return result; +} + +std::tuple get_interaction_source_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "REGION"; break; + case 1: std::get<1>(result) = "SECRET"; break; + case 2: std::get<1>(result) = "DISTURBANCE"; break; + case 3: std::get<1>(result) = "DEITY"; break; + case 4: std::get<1>(result) = "ATTACK"; break; + case 5: std::get<1>(result) = "INGESTION"; break; + case 6: std::get<1>(result) = "CREATURE_ACTION"; break; + case 7: std::get<1>(result) = "UNDERGROUND_SPECIAL"; break; + default: break; + } + return result; +} + +std::tuple get_interaction_source_usage_hint_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "MAJOR_CURSE"; break; + case 1: std::get<1>(result) = "GREETING"; break; + case 2: std::get<1>(result) = "CLEAN_SELF"; break; + case 3: std::get<1>(result) = "CLEAN_FRIEND"; break; + case 4: std::get<1>(result) = "ATTACK"; break; + case 5: std::get<1>(result) = "FLEEING"; break; + case 6: std::get<1>(result) = "NEGATIVE_SOCIAL_RESPONSE"; break; + case 7: std::get<1>(result) = "TORMENT"; break; + default: break; + } + return result; +} + +std::tuple get_interaction_target_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "CORPSE"; break; + case 1: std::get<1>(result) = "CREATURE"; break; + case 2: std::get<1>(result) = "MATERIAL"; break; + case 3: std::get<1>(result) = "LOCATION"; break; + default: break; + } + return result; +} + +std::tuple get_interaction_target_location_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case -1: std::get<1>(result) = "CONTEXT_NONE"; break; + case 0: std::get<1>(result) = "CONTEXT_REGION"; break; + case 1: std::get<1>(result) = "CONTEXT_CREATURE"; break; + case 2: std::get<1>(result) = "CONTEXT_ITEM"; break; + case 3: std::get<1>(result) = "CONTEXT_BP"; break; + case 4: std::get<1>(result) = "CONTEXT_LOCATION"; break; + case 5: std::get<1>(result) = "CONTEXT_CREATURE_OR_LOCATION"; break; + default: break; + } + return result; +} + +std::tuple get_breath_attack_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "TRAILING_DUST_FLOW"; break; + case 1: std::get<1>(result) = "TRAILING_VAPOR_FLOW"; break; + case 2: std::get<1>(result) = "TRAILING_GAS_FLOW"; break; + case 3: std::get<1>(result) = "SOLID_GLOB"; break; + case 4: std::get<1>(result) = "LIQUID_GLOB"; break; + case 5: std::get<1>(result) = "UNDIRECTED_GAS"; break; + case 6: std::get<1>(result) = "UNDIRECTED_VAPOR"; break; + case 7: std::get<1>(result) = "UNDIRECTED_DUST"; break; + case 8: std::get<1>(result) = "WEB_SPRAY"; break; + case 9: std::get<1>(result) = "DRAGONFIRE"; break; + case 10: std::get<1>(result) = "FIREJET"; break; + case 11: std::get<1>(result) = "FIREBALL"; break; + case 12: std::get<1>(result) = "WEATHER_CREEPING_GAS"; break; + case 13: std::get<1>(result) = "WEATHER_CREEPING_VAPOR"; break; + case 14: std::get<1>(result) = "WEATHER_CREEPING_DUST"; break; + case 15: std::get<1>(result) = "WEATHER_FALLING_MATERIAL"; break; + case 16: std::get<1>(result) = "SPATTER_POWDER"; break; + case 17: std::get<1>(result) = "SPATTER_LIQUID"; break; + case 18: std::get<1>(result) = "UNDIRECTED_ITEM_CLOUD"; break; + case 19: std::get<1>(result) = "TRAILING_ITEM_FLOW"; break; + case 20: std::get<1>(result) = "OTHER"; break; + default: break; + } + return result; +} + +std::tuple get_item_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case -1: std::get<1>(result) = "NONE"; break; + case 0: std::get<1>(result) = "BAR"; std::get<2>(result) = "Bars, such as metal, fuel, or soap."; break; + case 1: std::get<1>(result) = "SMALLGEM"; std::get<2>(result) = "Cut gemstones usable in jewelers workshop"; break; + case 2: std::get<1>(result) = "BLOCKS"; std::get<2>(result) = "Blocks of any kind."; break; + case 3: std::get<1>(result) = "ROUGH"; std::get<2>(result) = "Rough gemstones."; break; + case 4: std::get<1>(result) = "BOULDER"; std::get<2>(result) = "Raw mined stone."; break; + case 5: std::get<1>(result) = "WOOD"; std::get<2>(result) = "Wooden logs."; break; + case 6: std::get<1>(result) = "DOOR"; std::get<2>(result) = "Doors."; break; + case 7: std::get<1>(result) = "FLOODGATE"; std::get<2>(result) = "Floodgates."; break; + case 8: std::get<1>(result) = "BED"; std::get<2>(result) = "Beds."; break; + case 9: std::get<1>(result) = "CHAIR"; std::get<2>(result) = "Chairs and thrones."; break; + case 10: std::get<1>(result) = "CHAIN"; std::get<2>(result) = "Restraints."; break; + case 11: std::get<1>(result) = "FLASK"; std::get<2>(result) = "Flasks."; break; + case 12: std::get<1>(result) = "GOBLET"; std::get<2>(result) = "Goblets."; break; + case 13: std::get<1>(result) = "INSTRUMENT"; std::get<2>(result) = "Musical instruments."; break; + case 14: std::get<1>(result) = "TOY"; std::get<2>(result) = "Toys."; break; + case 15: std::get<1>(result) = "WINDOW"; std::get<2>(result) = "Glass windows."; break; + case 16: std::get<1>(result) = "CAGE"; std::get<2>(result) = "Cages."; break; + case 17: std::get<1>(result) = "BARREL"; std::get<2>(result) = "Barrels."; break; + case 18: std::get<1>(result) = "BUCKET"; std::get<2>(result) = "Buckets."; break; + case 19: std::get<1>(result) = "ANIMALTRAP"; std::get<2>(result) = "Animal traps."; break; + case 20: std::get<1>(result) = "TABLE"; std::get<2>(result) = "Tables."; break; + case 21: std::get<1>(result) = "COFFIN"; std::get<2>(result) = "Coffins."; break; + case 22: std::get<1>(result) = "STATUE"; std::get<2>(result) = "Statues."; break; + case 23: std::get<1>(result) = "CORPSE"; std::get<2>(result) = "Corpses. Does not have a material."; break; + case 24: std::get<1>(result) = "WEAPON"; std::get<2>(result) = "Weapons."; break; + case 25: std::get<1>(result) = "ARMOR"; std::get<2>(result) = "Armor and clothing worn on the upper body."; break; + case 26: std::get<1>(result) = "SHOES"; std::get<2>(result) = "Armor and clothing worn on the feet."; break; + case 27: std::get<1>(result) = "SHIELD"; std::get<2>(result) = "Shields and bucklers."; break; + case 28: std::get<1>(result) = "HELM"; std::get<2>(result) = "Armor and clothing worn on the head."; break; + case 29: std::get<1>(result) = "GLOVES"; std::get<2>(result) = "Armor and clothing worn on the hands."; break; + case 30: std::get<1>(result) = "BOX"; std::get<2>(result) = "Chests (wood), coffers (stone), boxes (glass), and bags (cloth or leather)."; break; + case 31: std::get<1>(result) = "BIN"; std::get<2>(result) = "Bins."; break; + case 32: std::get<1>(result) = "ARMORSTAND"; std::get<2>(result) = "Armor stands."; break; + case 33: std::get<1>(result) = "WEAPONRACK"; std::get<2>(result) = "Weapon racks."; break; + case 34: std::get<1>(result) = "CABINET"; std::get<2>(result) = "Cabinets."; break; + case 35: std::get<1>(result) = "FIGURINE"; std::get<2>(result) = "Figurines."; break; + case 36: std::get<1>(result) = "AMULET"; std::get<2>(result) = "Amulets."; break; + case 37: std::get<1>(result) = "SCEPTER"; std::get<2>(result) = "Scepters."; break; + case 38: std::get<1>(result) = "AMMO"; std::get<2>(result) = "Ammunition for hand-held weapons."; break; + case 39: std::get<1>(result) = "CROWN"; std::get<2>(result) = "Crowns."; break; + case 40: std::get<1>(result) = "RING"; std::get<2>(result) = "Rings."; break; + case 41: std::get<1>(result) = "EARRING"; std::get<2>(result) = "Earrings."; break; + case 42: std::get<1>(result) = "BRACELET"; std::get<2>(result) = "Bracelets."; break; + case 43: std::get<1>(result) = "GEM"; std::get<2>(result) = "Large gems."; break; + case 44: std::get<1>(result) = "ANVIL"; std::get<2>(result) = "Anvils."; break; + case 45: std::get<1>(result) = "CORPSEPIECE"; std::get<2>(result) = "Body parts. Does not have a material."; break; + case 46: std::get<1>(result) = "REMAINS"; std::get<2>(result) = "Dead vermin bodies. Material is CREATURE_ID:CASTE."; break; + case 47: std::get<1>(result) = "MEAT"; std::get<2>(result) = "Butchered meat."; break; + case 48: std::get<1>(result) = "FISH"; std::get<2>(result) = "Prepared fish. Material is CREATURE_ID:CASTE."; break; + case 49: std::get<1>(result) = "FISH_RAW"; std::get<2>(result) = "Unprepared fish. Material is CREATURE_ID:CASTE."; break; + case 50: std::get<1>(result) = "VERMIN"; std::get<2>(result) = "Live vermin. Material is CREATURE_ID:CASTE."; break; + case 51: std::get<1>(result) = "PET"; std::get<2>(result) = "Tame vermin. Material is CREATURE_ID:CASTE."; break; + case 52: std::get<1>(result) = "SEEDS"; std::get<2>(result) = "Seeds from plants."; break; + case 53: std::get<1>(result) = "PLANT"; std::get<2>(result) = "Plants."; break; + case 54: std::get<1>(result) = "SKIN_TANNED"; std::get<2>(result) = "Tanned skins."; break; + case 55: std::get<1>(result) = "PLANT_GROWTH"; std::get<2>(result) = "Assorted plant growths, including leaves and berries"; break; + case 56: std::get<1>(result) = "THREAD"; std::get<2>(result) = "Thread gathered from webs or made at the farmers workshop."; break; + case 57: std::get<1>(result) = "CLOTH"; std::get<2>(result) = "Cloth made at the loom."; break; + case 58: std::get<1>(result) = "TOTEM"; std::get<2>(result) = "Skull totems."; break; + case 59: std::get<1>(result) = "PANTS"; std::get<2>(result) = "Armor and clothing worn on the legs."; break; + case 60: std::get<1>(result) = "BACKPACK"; std::get<2>(result) = "Backpacks."; break; + case 61: std::get<1>(result) = "QUIVER"; std::get<2>(result) = "Quivers."; break; + case 62: std::get<1>(result) = "CATAPULTPARTS"; std::get<2>(result) = "Catapult parts."; break; + case 63: std::get<1>(result) = "BALLISTAPARTS"; std::get<2>(result) = "Ballista parts."; break; + case 64: std::get<1>(result) = "SIEGEAMMO"; std::get<2>(result) = "Siege engine ammunition."; break; + case 65: std::get<1>(result) = "BALLISTAARROWHEAD"; std::get<2>(result) = "Ballista arrow heads."; break; + case 66: std::get<1>(result) = "TRAPPARTS"; std::get<2>(result) = "Mechanisms."; break; + case 67: std::get<1>(result) = "TRAPCOMP"; std::get<2>(result) = "Trap components."; break; + case 68: std::get<1>(result) = "DRINK"; std::get<2>(result) = "Alcoholic drinks."; break; + case 69: std::get<1>(result) = "POWDER_MISC"; std::get<2>(result) = "Powders such as flour, gypsum plaster, dye, or sand."; break; + case 70: std::get<1>(result) = "CHEESE"; std::get<2>(result) = "Pieces of cheese."; break; + case 71: std::get<1>(result) = "FOOD"; std::get<2>(result) = "Prepared meals. Subtypes come from item_food.txt"; break; + case 72: std::get<1>(result) = "LIQUID_MISC"; std::get<2>(result) = "Liquids such as water, lye, and extracts."; break; + case 73: std::get<1>(result) = "COIN"; std::get<2>(result) = "Coins."; break; + case 74: std::get<1>(result) = "GLOB"; std::get<2>(result) = "Fat, tallow, pastes/pressed objects, and small bits of molten rock/metal."; break; + case 75: std::get<1>(result) = "ROCK"; std::get<2>(result) = "Small rocks (usually sharpened and/or thrown in adventurer mode)"; break; + case 76: std::get<1>(result) = "PIPE_SECTION"; std::get<2>(result) = "Pipe sections."; break; + case 77: std::get<1>(result) = "HATCH_COVER"; std::get<2>(result) = "Hatch covers."; break; + case 78: std::get<1>(result) = "GRATE"; std::get<2>(result) = "Grates."; break; + case 79: std::get<1>(result) = "QUERN"; std::get<2>(result) = "Querns."; break; + case 80: std::get<1>(result) = "MILLSTONE"; std::get<2>(result) = "Millstones."; break; + case 81: std::get<1>(result) = "SPLINT"; std::get<2>(result) = "Splints."; break; + case 82: std::get<1>(result) = "CRUTCH"; std::get<2>(result) = "Crutches."; break; + case 83: std::get<1>(result) = "TRACTION_BENCH"; std::get<2>(result) = "Traction benches."; break; + case 84: std::get<1>(result) = "ORTHOPEDIC_CAST"; std::get<2>(result) = "Casts"; break; + case 85: std::get<1>(result) = "TOOL"; std::get<2>(result) = "Tools."; break; + case 86: std::get<1>(result) = "SLAB"; std::get<2>(result) = "Slabs."; break; + case 87: std::get<1>(result) = "EGG"; std::get<2>(result) = "Eggs. Material is CREATURE_ID:CASTE."; break; + case 88: std::get<1>(result) = "BOOK"; std::get<2>(result) = "Books."; break; + case 89: std::get<1>(result) = "SHEET"; std::get<2>(result) = "Sheets of paper"; break; + case 90: std::get<1>(result) = "BRANCH"; std::get<2>(result) = "Tree branches"; break; + default: break; + } + return result; +} + +std::tuple get_ammo_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "HAS_EDGE_ATTACK"; break; + default: break; + } + return result; +} + +std::tuple get_armor_general_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "SOFT"; break; + case 1: std::get<1>(result) = "HARD"; break; + case 2: std::get<1>(result) = "METAL"; break; + case 3: std::get<1>(result) = "BARRED"; break; + case 4: std::get<1>(result) = "SCALED"; break; + case 5: std::get<1>(result) = "LEATHER"; break; + case 6: std::get<1>(result) = "SHAPED"; break; + case 7: std::get<1>(result) = "CHAIN_METAL_TEXT"; break; + case 8: std::get<1>(result) = "STRUCTURAL_ELASTICITY_WOVEN_THREAD"; break; + case 9: std::get<1>(result) = "STRUCTURAL_ELASTICITY_CHAIN_METAL"; break; + case 10: std::get<1>(result) = "STRUCTURAL_ELASTICITY_CHAIN_ALL"; break; + default: break; + } + return result; +} + +std::tuple get_armor_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "METAL_ARMOR_LEVELS"; break; + default: break; + } + return result; +} + +std::tuple get_gloves_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "METAL_ARMOR_LEVELS"; break; + default: break; + } + return result; +} + +std::tuple get_helm_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "METAL_ARMOR_LEVELS"; break; + default: break; + } + return result; +} + +std::tuple get_instrument_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "INDEFINITE_PITCH"; break; + case 1: std::get<1>(result) = "PLACED_AS_BUILDING"; break; + case 2: std::get<1>(result) = "METAL_MAT"; break; + case 3: std::get<1>(result) = "STONE_MAT"; break; + case 4: std::get<1>(result) = "WOOD_MAT"; break; + case 5: std::get<1>(result) = "GLASS_MAT"; break; + case 6: std::get<1>(result) = "CERAMIC_MAT"; break; + case 7: std::get<1>(result) = "SHELL_MAT"; break; + case 8: std::get<1>(result) = "BONE_MAT"; break; + default: break; + } + return result; +} + +std::tuple get_sound_production_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "PLUCKED_BY_BP"; break; + case 1: std::get<1>(result) = "PLUCKED"; break; + case 2: std::get<1>(result) = "BOWED"; break; + case 3: std::get<1>(result) = "STRUCK_BY_BP"; break; + case 4: std::get<1>(result) = "STRUCK"; break; + case 5: std::get<1>(result) = "VIBRATE_BP_AGAINST_OPENING"; break; + case 6: std::get<1>(result) = "BLOW_AGAINST_FIPPLE"; break; + case 7: std::get<1>(result) = "BLOW_OVER_OPENING_SIDE"; break; + case 8: std::get<1>(result) = "BLOW_OVER_OPENING_END"; break; + case 9: std::get<1>(result) = "BLOW_OVER_SINGLE_REED"; break; + case 10: std::get<1>(result) = "BLOW_OVER_DOUBLE_REED"; break; + case 11: std::get<1>(result) = "BLOW_OVER_FREE_REED"; break; + case 12: std::get<1>(result) = "STRUCK_TOGETHER"; break; + case 13: std::get<1>(result) = "SHAKEN"; break; + case 14: std::get<1>(result) = "SCRAPED"; break; + case 15: std::get<1>(result) = "FRICTION"; break; + case 16: std::get<1>(result) = "RESONATOR"; break; + case 17: std::get<1>(result) = "BAG_OVER_REED"; break; + case 18: std::get<1>(result) = "AIR_OVER_REED"; break; + case 19: std::get<1>(result) = "AIR_OVER_FREE_REED"; break; + case 20: std::get<1>(result) = "AIR_AGAINST_FIPPLE"; break; + default: break; + } + return result; +} + +std::tuple get_pitch_choice_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "MEMBRANE_POSITION"; break; + case 1: std::get<1>(result) = "SUBPART_CHOICE"; break; + case 2: std::get<1>(result) = "KEYBOARD"; break; + case 3: std::get<1>(result) = "STOPPING_FRET"; break; + case 4: std::get<1>(result) = "STOPPING_AGAINST_BODY"; break; + case 5: std::get<1>(result) = "STOPPING_HOLE"; break; + case 6: std::get<1>(result) = "STOPPING_HOLE_KEY"; break; + case 7: std::get<1>(result) = "SLIDE"; break; + case 8: std::get<1>(result) = "HARMONIC_SERIES"; break; + case 9: std::get<1>(result) = "VALVE_ROUTES_AIR"; break; + case 10: std::get<1>(result) = "BP_IN_BELL"; break; + case 11: std::get<1>(result) = "FOOT_PEDALS"; break; + default: break; + } + return result; +} + +std::tuple get_tuning_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "PEGS"; break; + case 1: std::get<1>(result) = "ADJUSTABLE_BRIDGES"; break; + case 2: std::get<1>(result) = "CROOKS"; break; + case 3: std::get<1>(result) = "TIGHTENING"; break; + case 4: std::get<1>(result) = "LEVERS"; break; + default: break; + } + return result; +} + +std::tuple get_timbre_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "CLEAR"; break; + case 1: std::get<1>(result) = "NOISY"; break; + case 2: std::get<1>(result) = "FULL"; break; + case 3: std::get<1>(result) = "THIN"; break; + case 4: std::get<1>(result) = "ROUND"; break; + case 5: std::get<1>(result) = "SHARP"; break; + case 6: std::get<1>(result) = "SMOOTH"; break; + case 7: std::get<1>(result) = "CHOPPY"; break; + case 8: std::get<1>(result) = "STEADY"; break; + case 9: std::get<1>(result) = "EVOLVING"; break; + case 10: std::get<1>(result) = "STRONG"; break; + case 11: std::get<1>(result) = "DELICATE"; break; + case 12: std::get<1>(result) = "BRIGHT"; break; + case 13: std::get<1>(result) = "GRACEFUL"; break; + case 14: std::get<1>(result) = "SPARSE"; break; + case 15: std::get<1>(result) = "BREATHY"; break; + case 16: std::get<1>(result) = "STRAINED"; break; + case 17: std::get<1>(result) = "BROAD"; break; + case 18: std::get<1>(result) = "LIGHT"; break; + case 19: std::get<1>(result) = "MELLOW"; break; + case 20: std::get<1>(result) = "WOBBLING"; break; + case 21: std::get<1>(result) = "FOCUSED"; break; + case 22: std::get<1>(result) = "EVEN"; break; + case 23: std::get<1>(result) = "FLUID"; break; + case 24: std::get<1>(result) = "VIBRATING"; break; + case 25: std::get<1>(result) = "QUAVERING"; break; + case 26: std::get<1>(result) = "EERIE"; break; + case 27: std::get<1>(result) = "FRAGILE"; break; + case 28: std::get<1>(result) = "BRITTLE"; break; + case 29: std::get<1>(result) = "PURE_"; break; + case 30: std::get<1>(result) = "PIERCING"; break; + case 31: std::get<1>(result) = "STRIDENT"; break; + case 32: std::get<1>(result) = "WAVERING"; break; + case 33: std::get<1>(result) = "HARSH"; break; + case 34: std::get<1>(result) = "REEDY"; break; + case 35: std::get<1>(result) = "NASAL"; break; + case 36: std::get<1>(result) = "BUZZY"; break; + case 37: std::get<1>(result) = "ROUGH"; break; + case 38: std::get<1>(result) = "WARM"; break; + case 39: std::get<1>(result) = "RUGGED"; break; + case 40: std::get<1>(result) = "HEAVY"; break; + case 41: std::get<1>(result) = "FLAT"; break; + case 42: std::get<1>(result) = "DARK"; break; + case 43: std::get<1>(result) = "CRISP"; break; + case 44: std::get<1>(result) = "SONOROUS"; break; + case 45: std::get<1>(result) = "WATERY"; break; + case 46: std::get<1>(result) = "GENTLE"; break; + case 47: std::get<1>(result) = "SLICING"; break; + case 48: std::get<1>(result) = "LIQUID"; break; + case 49: std::get<1>(result) = "RAUCOUS"; break; + case 50: std::get<1>(result) = "BREEZY"; break; + case 51: std::get<1>(result) = "RASPY"; break; + case 52: std::get<1>(result) = "WISPY"; break; + case 53: std::get<1>(result) = "SHRILL"; break; + case 54: std::get<1>(result) = "MUDDY"; break; + case 55: std::get<1>(result) = "RICH"; break; + case 56: std::get<1>(result) = "DULL"; break; + case 57: std::get<1>(result) = "FLOATING"; break; + case 58: std::get<1>(result) = "RINGING"; break; + case 59: std::get<1>(result) = "RESONANT"; break; + case 60: std::get<1>(result) = "SWEET"; break; + case 61: std::get<1>(result) = "RIPPLING"; break; + case 62: std::get<1>(result) = "SPARKLING"; break; + default: break; + } + return result; +} + +std::tuple get_pants_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "METAL_ARMOR_LEVELS"; break; + default: break; + } + return result; +} + +std::tuple get_shoes_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "METAL_ARMOR_LEVELS"; break; + default: break; + } + return result; +} + +std::tuple get_tool_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "HARD_MAT"; break; + case 1: std::get<1>(result) = "METAL_MAT"; break; + case 2: std::get<1>(result) = "HAS_EDGE_ATTACK"; break; + case 3: std::get<1>(result) = "METAL_WEAPON_MAT"; break; + case 4: std::get<1>(result) = "UNIMPROVABLE"; break; + case 5: std::get<1>(result) = "SOFT_MAT"; break; + case 6: std::get<1>(result) = "WOOD_MAT"; break; + case 7: std::get<1>(result) = "INVERTED_TILE"; break; + case 8: std::get<1>(result) = "FURNITURE"; break; + case 9: std::get<1>(result) = "LEATHER_MAT"; break; + case 10: std::get<1>(result) = "SILK_MAT"; break; + case 11: std::get<1>(result) = "THREAD_PLANT_MAT"; break; + case 12: std::get<1>(result) = "GLASS_MAT"; break; + case 13: std::get<1>(result) = "CERAMIC_MAT"; break; + case 14: std::get<1>(result) = "STONE_MAT"; break; + case 15: std::get<1>(result) = "SHELL_MAT"; break; + case 16: std::get<1>(result) = "BONE_MAT"; break; + case 17: std::get<1>(result) = "NO_DEFAULT_JOB"; break; + case 18: std::get<1>(result) = "INCOMPLETE_ITEM"; break; + case 19: std::get<1>(result) = "SHEET_MAT"; break; + default: break; + } + return result; +} + +std::tuple get_tool_uses_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case -1: std::get<1>(result) = "NONE"; break; + case 0: std::get<1>(result) = "LIQUID_COOKING"; break; + case 1: std::get<1>(result) = "LIQUID_SCOOP"; break; + case 2: std::get<1>(result) = "GRIND_POWDER_RECEPTACLE"; break; + case 3: std::get<1>(result) = "GRIND_POWDER_GRINDER"; break; + case 4: std::get<1>(result) = "MEAT_CARVING"; break; + case 5: std::get<1>(result) = "MEAT_BONING"; break; + case 6: std::get<1>(result) = "MEAT_SLICING"; break; + case 7: std::get<1>(result) = "MEAT_CLEAVING"; break; + case 8: std::get<1>(result) = "HOLD_MEAT_FOR_CARVING"; break; + case 9: std::get<1>(result) = "MEAL_CONTAINER"; break; + case 10: std::get<1>(result) = "LIQUID_CONTAINER"; break; + case 11: std::get<1>(result) = "FOOD_STORAGE"; break; + case 12: std::get<1>(result) = "HIVE"; break; + case 13: std::get<1>(result) = "NEST_BOX"; break; + case 14: std::get<1>(result) = "SMALL_OBJECT_STORAGE"; break; + case 15: std::get<1>(result) = "TRACK_CART"; break; + case 16: std::get<1>(result) = "HEAVY_OBJECT_HAULING"; break; + case 17: std::get<1>(result) = "STAND_AND_WORK_ABOVE"; break; + case 18: std::get<1>(result) = "ROLL_UP_SHEET"; break; + case 19: std::get<1>(result) = "PROTECT_FOLDED_SHEETS"; break; + case 20: std::get<1>(result) = "CONTAIN_WRITING"; break; + case 21: std::get<1>(result) = "BOOKCASE"; break; + case 22: std::get<1>(result) = "DISPLAY_OBJECT"; break; + default: break; + } + return result; +} + +std::tuple get_toy_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "HARD_MAT"; break; + default: break; + } + return result; +} + +std::tuple get_trapcomp_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "IS_SCREW"; break; + case 1: std::get<1>(result) = "IS_SPIKE"; break; + case 2: std::get<1>(result) = "WOOD"; break; + case 3: std::get<1>(result) = "METAL"; break; + case 4: std::get<1>(result) = "HAS_EDGE_ATTACK"; break; + default: break; + } + return result; +} + +std::tuple get_weapon_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "CAN_STONE"; break; + case 1: std::get<1>(result) = "HAS_EDGE_ATTACK"; break; + case 2: std::get<1>(result) = "TRAINING"; break; + default: break; + } + return result; +} + +std::tuple get_items_other_id_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case -1: std::get<1>(result) = "ANY"; break; + case 0: std::get<1>(result) = "IN_PLAY"; std::get<2>(result) = "actually on the map, as opposed to in an offloaded fortress elsewhere"; break; + case 1: std::get<1>(result) = "ANY_ARTIFACT"; break; + case 2: std::get<1>(result) = "WEAPON"; break; + case 3: std::get<1>(result) = "ANY_WEAPON"; break; + case 4: std::get<1>(result) = "ANY_SPIKE"; break; + case 5: std::get<1>(result) = "ANY_TRUE_ARMOR"; break; + case 6: std::get<1>(result) = "ANY_ARMOR_HELM"; break; + case 7: std::get<1>(result) = "ANY_ARMOR_SHOES"; break; + case 8: std::get<1>(result) = "SHIELD"; break; + case 9: std::get<1>(result) = "ANY_ARMOR_GLOVES"; break; + case 10: std::get<1>(result) = "ANY_ARMOR_PANTS"; break; + case 11: std::get<1>(result) = "QUIVER"; break; + case 12: std::get<1>(result) = "SPLINT"; break; + case 13: std::get<1>(result) = "ORTHOPEDIC_CAST"; break; + case 14: std::get<1>(result) = "CRUTCH"; break; + case 15: std::get<1>(result) = "BACKPACK"; break; + case 16: std::get<1>(result) = "AMMO"; break; + case 17: std::get<1>(result) = "WOOD"; break; + case 18: std::get<1>(result) = "BRANCH"; break; + case 19: std::get<1>(result) = "BOULDER"; break; + case 20: std::get<1>(result) = "ROCK"; break; + case 21: std::get<1>(result) = "ANY_REFUSE"; break; + case 22: std::get<1>(result) = "ANY_GOOD_FOOD"; break; + case 23: std::get<1>(result) = "ANY_AUTO_CLEAN"; break; + case 24: std::get<1>(result) = "ANY_GENERIC24"; break; + case 25: std::get<1>(result) = "ANY_GENERIC25"; break; + case 26: std::get<1>(result) = "ANY_FURNITURE"; break; + case 27: std::get<1>(result) = "ANY_CAGE_OR_TRAP"; break; + case 28: std::get<1>(result) = "ANY_EDIBLE_RAW"; break; + case 29: std::get<1>(result) = "ANY_EDIBLE_CARNIVORE"; break; + case 30: std::get<1>(result) = "ANY_EDIBLE_BONECARN"; break; + case 31: std::get<1>(result) = "ANY_EDIBLE_VERMIN"; break; + case 32: std::get<1>(result) = "ANY_EDIBLE_VERMIN_BOX"; break; + case 33: std::get<1>(result) = "ANY_CAN_ROT"; break; + case 34: std::get<1>(result) = "ANY_MURDERED"; break; + case 35: std::get<1>(result) = "ANY_DEAD_DWARF"; break; + case 36: std::get<1>(result) = "ANY_GENERIC36"; break; + case 37: std::get<1>(result) = "ANY_GENERIC37"; break; + case 38: std::get<1>(result) = "ANY_GENERIC38"; break; + case 39: std::get<1>(result) = "ANY_GENERIC39"; break; + case 40: std::get<1>(result) = "DOOR"; break; + case 41: std::get<1>(result) = "FLOODGATE"; break; + case 42: std::get<1>(result) = "HATCH_COVER"; break; + case 43: std::get<1>(result) = "GRATE"; break; + case 44: std::get<1>(result) = "CAGE"; break; + case 45: std::get<1>(result) = "FLASK"; break; + case 46: std::get<1>(result) = "WINDOW"; break; + case 47: std::get<1>(result) = "GOBLET"; break; + case 48: std::get<1>(result) = "INSTRUMENT"; break; + case 49: std::get<1>(result) = "INSTRUMENT_STATIONARY"; break; + case 50: std::get<1>(result) = "TOY"; break; + case 51: std::get<1>(result) = "TOOL"; break; + case 52: std::get<1>(result) = "BUCKET"; break; + case 53: std::get<1>(result) = "BARREL"; break; + case 54: std::get<1>(result) = "CHAIN"; break; + case 55: std::get<1>(result) = "ANIMALTRAP"; break; + case 56: std::get<1>(result) = "BED"; break; + case 57: std::get<1>(result) = "TRACTION_BENCH"; break; + case 58: std::get<1>(result) = "CHAIR"; break; + case 59: std::get<1>(result) = "COFFIN"; break; + case 60: std::get<1>(result) = "TABLE"; break; + case 61: std::get<1>(result) = "STATUE"; break; + case 62: std::get<1>(result) = "SLAB"; break; + case 63: std::get<1>(result) = "QUERN"; break; + case 64: std::get<1>(result) = "MILLSTONE"; break; + case 65: std::get<1>(result) = "BOX"; break; + case 66: std::get<1>(result) = "BIN"; break; + case 67: std::get<1>(result) = "ARMORSTAND"; break; + case 68: std::get<1>(result) = "WEAPONRACK"; break; + case 69: std::get<1>(result) = "CABINET"; break; + case 70: std::get<1>(result) = "ANVIL"; break; + case 71: std::get<1>(result) = "CATAPULTPARTS"; break; + case 72: std::get<1>(result) = "BALLISTAPARTS"; break; + case 73: std::get<1>(result) = "SIEGEAMMO"; break; + case 74: std::get<1>(result) = "TRAPPARTS"; break; + case 75: std::get<1>(result) = "ANY_WEBS"; break; + case 76: std::get<1>(result) = "PIPE_SECTION"; break; + case 77: std::get<1>(result) = "ANY_ENCASED"; break; + case 78: std::get<1>(result) = "ANY_IN_CONSTRUCTION"; break; + case 79: std::get<1>(result) = "DRINK"; break; + case 80: std::get<1>(result) = "ANY_DRINK"; break; + case 81: std::get<1>(result) = "LIQUID_MISC"; break; + case 82: std::get<1>(result) = "POWDER_MISC"; break; + case 83: std::get<1>(result) = "ANY_COOKABLE"; break; + case 84: std::get<1>(result) = "ANY_GENERIC84"; break; + case 85: std::get<1>(result) = "VERMIN"; break; + case 86: std::get<1>(result) = "PET"; break; + case 87: std::get<1>(result) = "ANY_CRITTER"; break; + case 88: std::get<1>(result) = "COIN"; break; + case 89: std::get<1>(result) = "GLOB"; break; + case 90: std::get<1>(result) = "TRAPCOMP"; break; + case 91: std::get<1>(result) = "BAR"; break; + case 92: std::get<1>(result) = "SMALLGEM"; break; + case 93: std::get<1>(result) = "BLOCKS"; break; + case 94: std::get<1>(result) = "ROUGH"; break; + case 95: std::get<1>(result) = "ANY_CORPSE"; break; + case 96: std::get<1>(result) = "CORPSE"; break; + case 97: std::get<1>(result) = "BOOK"; break; + case 98: std::get<1>(result) = "FIGURINE"; break; + case 99: std::get<1>(result) = "AMULET"; break; + case 100: std::get<1>(result) = "SCEPTER"; break; + case 101: std::get<1>(result) = "CROWN"; break; + case 102: std::get<1>(result) = "RING"; break; + case 103: std::get<1>(result) = "EARRING"; break; + case 104: std::get<1>(result) = "BRACELET"; break; + case 105: std::get<1>(result) = "GEM"; break; + case 106: std::get<1>(result) = "CORPSEPIECE"; break; + case 107: std::get<1>(result) = "REMAINS"; break; + case 108: std::get<1>(result) = "MEAT"; break; + case 109: std::get<1>(result) = "FISH"; break; + case 110: std::get<1>(result) = "FISH_RAW"; break; + case 111: std::get<1>(result) = "EGG"; break; + case 112: std::get<1>(result) = "SEEDS"; break; + case 113: std::get<1>(result) = "PLANT"; break; + case 114: std::get<1>(result) = "SKIN_TANNED"; break; + case 115: std::get<1>(result) = "PLANT_GROWTH"; break; + case 116: std::get<1>(result) = "THREAD"; break; + case 117: std::get<1>(result) = "CLOTH"; break; + case 118: std::get<1>(result) = "SHEET"; break; + case 119: std::get<1>(result) = "TOTEM"; break; + case 120: std::get<1>(result) = "PANTS"; break; + case 121: std::get<1>(result) = "CHEESE"; break; + case 122: std::get<1>(result) = "FOOD"; break; + case 123: std::get<1>(result) = "BALLISTAARROWHEAD"; break; + case 124: std::get<1>(result) = "ARMOR"; break; + case 125: std::get<1>(result) = "SHOES"; break; + case 126: std::get<1>(result) = "HELM"; break; + case 127: std::get<1>(result) = "GLOVES"; break; + case 128: std::get<1>(result) = "ANY_GENERIC128"; break; + case 129: std::get<1>(result) = "FOOD_STORAGE"; break; + case 130: std::get<1>(result) = "ANY_RECENTLY_DROPPED"; break; + case 131: std::get<1>(result) = "ANY_MELT_DESIGNATED"; break; + case 132: std::get<1>(result) = "BAD"; break; + default: break; + } + return result; +} + +std::tuple get_job_item_vector_id_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "ANY"; break; + case 1: std::get<1>(result) = "IN_PLAY"; break; + case 2: std::get<1>(result) = "ANY_ARTIFACT"; break; + case 3: std::get<1>(result) = "WEAPON"; break; + case 4: std::get<1>(result) = "ANY_WEAPON"; break; + case 5: std::get<1>(result) = "ANY_SPIKE"; break; + case 6: std::get<1>(result) = "ANY_TRUE_ARMOR"; break; + case 7: std::get<1>(result) = "ANY_ARMOR_HELM"; break; + case 8: std::get<1>(result) = "ANY_ARMOR_SHOES"; break; + case 9: std::get<1>(result) = "SHIELD"; break; + case 10: std::get<1>(result) = "ANY_ARMOR_GLOVES"; break; + case 11: std::get<1>(result) = "ANY_ARMOR_PANTS"; break; + case 12: std::get<1>(result) = "QUIVER"; break; + case 13: std::get<1>(result) = "SPLINT"; break; + case 14: std::get<1>(result) = "ANY_14"; std::get<2>(result) = "supposed to be ORTHOPEDIC_CAST"; break; + case 15: std::get<1>(result) = "CRUTCH"; break; + case 16: std::get<1>(result) = "BACKPACK"; break; + case 17: std::get<1>(result) = "AMMO"; break; + case 18: std::get<1>(result) = "WOOD"; break; + case 19: std::get<1>(result) = "BOULDER"; break; + case 20: std::get<1>(result) = "ROCK"; break; + case 21: std::get<1>(result) = "ANY_REFUSE"; break; + case 22: std::get<1>(result) = "ANY_GOOD_FOOD"; break; + case 23: std::get<1>(result) = "ANY_AUTO_CLEAN"; break; + case 24: std::get<1>(result) = "ANY_GENERIC24"; break; + case 25: std::get<1>(result) = "ANY_GENERIC25"; break; + case 26: std::get<1>(result) = "ANY_FURNITURE"; break; + case 27: std::get<1>(result) = "ANY_CAGE_OR_TRAP"; break; + case 28: std::get<1>(result) = "ANY_EDIBLE_RAW"; break; + case 29: std::get<1>(result) = "ANY_EDIBLE_CARNIVORE"; break; + case 30: std::get<1>(result) = "ANY_EDIBLE_BONECARN"; break; + case 31: std::get<1>(result) = "ANY_EDIBLE_VERMIN"; break; + case 32: std::get<1>(result) = "ANY_EDIBLE_VERMIN_BOX"; break; + case 33: std::get<1>(result) = "ANY_CAN_ROT"; break; + case 34: std::get<1>(result) = "ANY_MURDERED"; break; + case 35: std::get<1>(result) = "ANY_DEAD_DWARF"; break; + case 36: std::get<1>(result) = "ANY_GENERIC36"; break; + case 37: std::get<1>(result) = "ANY_GENERIC37"; break; + case 38: std::get<1>(result) = "ANY_GENERIC38"; break; + case 39: std::get<1>(result) = "ANY_GENERIC39"; break; + case 40: std::get<1>(result) = "DOOR"; break; + case 41: std::get<1>(result) = "FLOODGATE"; break; + case 42: std::get<1>(result) = "HATCH_COVER"; break; + case 43: std::get<1>(result) = "GRATE"; break; + case 44: std::get<1>(result) = "CAGE"; break; + case 45: std::get<1>(result) = "FLASK"; break; + case 46: std::get<1>(result) = "WINDOW"; break; + case 47: std::get<1>(result) = "GOBLET"; break; + case 48: std::get<1>(result) = "INSTRUMENT"; break; + case 49: std::get<1>(result) = "TOY"; break; + case 50: std::get<1>(result) = "BUCKET"; break; + case 51: std::get<1>(result) = "BARREL"; break; + case 52: std::get<1>(result) = "CHAIN"; break; + case 53: std::get<1>(result) = "ANIMALTRAP"; break; + case 54: std::get<1>(result) = "BED"; break; + case 55: std::get<1>(result) = "TRACTION_BENCH"; break; + case 56: std::get<1>(result) = "CHAIR"; break; + case 57: std::get<1>(result) = "COFFIN"; break; + case 58: std::get<1>(result) = "TABLE"; break; + case 59: std::get<1>(result) = "STATUE"; break; + case 60: std::get<1>(result) = "QUERN"; break; + case 61: std::get<1>(result) = "MILLSTONE"; break; + case 62: std::get<1>(result) = "BOX"; break; + case 63: std::get<1>(result) = "BIN"; break; + case 64: std::get<1>(result) = "ARMORSTAND"; break; + case 65: std::get<1>(result) = "WEAPONRACK"; break; + case 66: std::get<1>(result) = "CABINET"; break; + case 67: std::get<1>(result) = "ANVIL"; break; + case 68: std::get<1>(result) = "CATAPULTPARTS"; break; + case 69: std::get<1>(result) = "BALLISTAPARTS"; break; + case 70: std::get<1>(result) = "SIEGEAMMO"; break; + case 71: std::get<1>(result) = "TRAPPARTS"; break; + case 72: std::get<1>(result) = "ANY_WEBS"; break; + case 73: std::get<1>(result) = "PIPE_SECTION"; break; + case 74: std::get<1>(result) = "ANY_ENCASED"; break; + case 75: std::get<1>(result) = "ANY_IN_CONSTRUCTION"; break; + case 76: std::get<1>(result) = "DRINK"; break; + case 77: std::get<1>(result) = "ANY_DRINK"; break; + case 78: std::get<1>(result) = "LIQUID_MISC"; break; + case 79: std::get<1>(result) = "POWDER_MISC"; break; + case 80: std::get<1>(result) = "ANY_COOKABLE"; break; + case 81: std::get<1>(result) = "ANY_GENERIC84"; break; + case 82: std::get<1>(result) = "VERMIN"; break; + case 83: std::get<1>(result) = "PET"; break; + case 84: std::get<1>(result) = "ANY_CRITTER"; break; + case 85: std::get<1>(result) = "COIN"; break; + case 86: std::get<1>(result) = "GLOB"; break; + case 87: std::get<1>(result) = "ANY_RECENTLY_DROPPED"; break; + case 88: std::get<1>(result) = "ANY_MELT_DESIGNATED"; break; + case 89: std::get<1>(result) = "BAD"; break; + case 90: std::get<1>(result) = "TRAPCOMP"; break; + case 91: std::get<1>(result) = "BAR"; break; + case 92: std::get<1>(result) = "SMALLGEM"; break; + case 93: std::get<1>(result) = "BLOCKS"; break; + case 94: std::get<1>(result) = "ROUGH"; break; + case 95: std::get<1>(result) = "CORPSE"; break; + case 96: std::get<1>(result) = "FIGURINE"; break; + case 97: std::get<1>(result) = "AMULET"; break; + case 98: std::get<1>(result) = "SCEPTER"; break; + case 99: std::get<1>(result) = "CROWN"; break; + case 100: std::get<1>(result) = "RING"; break; + case 101: std::get<1>(result) = "EARRING"; break; + case 102: std::get<1>(result) = "BRACELET"; break; + case 103: std::get<1>(result) = "GEM"; break; + case 104: std::get<1>(result) = "CORPSEPIECE"; break; + case 105: std::get<1>(result) = "REMAINS"; break; + case 106: std::get<1>(result) = "MEAT"; break; + case 107: std::get<1>(result) = "FISH"; break; + case 108: std::get<1>(result) = "FISH_RAW"; break; + case 109: std::get<1>(result) = "SEEDS"; break; + case 110: std::get<1>(result) = "PLANT"; break; + case 111: std::get<1>(result) = "SKIN_TANNED"; break; + case 112: std::get<1>(result) = "PLANT_GROWTH"; break; + case 113: std::get<1>(result) = "THREAD"; break; + case 114: std::get<1>(result) = "CLOTH"; break; + case 115: std::get<1>(result) = "TOTEM"; break; + case 116: std::get<1>(result) = "PANTS"; break; + case 117: std::get<1>(result) = "CHEESE"; break; + case 118: std::get<1>(result) = "FOOD"; break; + case 119: std::get<1>(result) = "BALLISTAARROWHEAD"; break; + case 120: std::get<1>(result) = "ARMOR"; break; + case 121: std::get<1>(result) = "SHOES"; break; + case 122: std::get<1>(result) = "HELM"; break; + case 123: std::get<1>(result) = "GLOVES"; break; + case 124: std::get<1>(result) = "ANY_124"; std::get<2>(result) = "supposed to be TOOL"; break; + case 125: std::get<1>(result) = "ANY_125"; std::get<2>(result) = "supposed to be SLAB"; break; + case 126: std::get<1>(result) = "EGG"; break; + case 127: std::get<1>(result) = "ANY_127"; std::get<2>(result) = "supposed to be FOOD_STORAGE"; break; + case 128: std::get<1>(result) = "ANY_CORPSE"; break; + case 129: std::get<1>(result) = "BOOK"; break; + default: break; + } + return result; +} + +std::tuple get_improvement_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "ART_IMAGE"; break; + case 1: std::get<1>(result) = "COVERED"; break; + case 2: std::get<1>(result) = "RINGS_HANGING"; break; + case 3: std::get<1>(result) = "BANDS"; break; + case 4: std::get<1>(result) = "SPIKES"; break; + case 5: std::get<1>(result) = "ITEMSPECIFIC"; break; + case 6: std::get<1>(result) = "THREAD"; break; + case 7: std::get<1>(result) = "CLOTH"; break; + case 8: std::get<1>(result) = "SEWN_IMAGE"; break; + case 9: std::get<1>(result) = "PAGES"; break; + case 10: std::get<1>(result) = "ILLUSTRATION"; break; + case 11: std::get<1>(result) = "INSTRUMENT_PIECE"; break; + case 12: std::get<1>(result) = "WRITING"; break; + default: break; + } + return result; +} + +std::tuple get_itemimprovement_specific_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "HANDLE"; break; + case 1: std::get<1>(result) = "ROLLERS"; break; + default: break; + } + return result; +} + +std::tuple get_written_content_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Manual"; break; + case 1: std::get<1>(result) = "Guide"; break; + case 2: std::get<1>(result) = "Chronicle"; break; + case 3: std::get<1>(result) = "ShortStory"; break; + case 4: std::get<1>(result) = "Novel"; break; + case 5: std::get<1>(result) = "Biography"; break; + case 6: std::get<1>(result) = "Autobiography"; break; + case 7: std::get<1>(result) = "Poem"; break; + case 8: std::get<1>(result) = "Play"; break; + case 9: std::get<1>(result) = "Letter"; break; + case 10: std::get<1>(result) = "Essay"; break; + case 11: std::get<1>(result) = "Dialog"; break; + case 12: std::get<1>(result) = "MusicalComposition"; break; + case 13: std::get<1>(result) = "Choreography"; break; + case 14: std::get<1>(result) = "ComparativeBiography"; break; + case 15: std::get<1>(result) = "BiographicalDictionary"; break; + case 16: std::get<1>(result) = "Genealogy"; break; + case 17: std::get<1>(result) = "Encyclopedia"; break; + case 18: std::get<1>(result) = "CulturalHistory"; break; + case 19: std::get<1>(result) = "CulturalComparison"; break; + case 20: std::get<1>(result) = "AlternateHistory"; break; + case 21: std::get<1>(result) = "TreatiseOnTechnologicalEvolution"; break; + case 22: std::get<1>(result) = "Dictionary"; break; + case 23: std::get<1>(result) = "StarChart"; break; + case 24: std::get<1>(result) = "StarCatalogue"; break; + case 25: std::get<1>(result) = "Atlas"; break; + default: break; + } + return result; +} + +std::tuple get_written_content_style_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Meandering"; break; + case 1: std::get<1>(result) = "Cheerful"; break; + case 2: std::get<1>(result) = "Depressing"; break; + case 3: std::get<1>(result) = "Rigid"; break; + case 4: std::get<1>(result) = "Serious"; break; + case 5: std::get<1>(result) = "Disjointed"; break; + case 6: std::get<1>(result) = "Ornate"; break; + case 7: std::get<1>(result) = "Forceful"; break; + case 8: std::get<1>(result) = "Humorous"; break; + case 9: std::get<1>(result) = "Immature"; break; + case 10: std::get<1>(result) = "SelfIndulgent"; break; + case 11: std::get<1>(result) = "Touching"; break; + case 12: std::get<1>(result) = "Compassionate"; break; + case 13: std::get<1>(result) = "Vicious"; break; + case 14: std::get<1>(result) = "Concise"; break; + case 15: std::get<1>(result) = "Scornful"; break; + case 16: std::get<1>(result) = "Witty"; break; + case 17: std::get<1>(result) = "Ranting"; break; + default: break; + } + return result; +} + +std::tuple get_item_magicness_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Sparkle"; break; + case 1: std::get<1>(result) = "AirWarped"; break; + case 2: std::get<1>(result) = "Whistle"; break; + case 3: std::get<1>(result) = "OddlySquare"; break; + case 4: std::get<1>(result) = "SmallBumps"; break; + case 5: std::get<1>(result) = "EarthSmell"; break; + case 6: std::get<1>(result) = "Lightning"; break; + case 7: std::get<1>(result) = "GrayHairs"; std::get<2>(result) = "with value of 10 or higher, creatures that look at the item cannot think negative thoughts"; break; + case 8: std::get<1>(result) = "RustlingLeaves"; break; + default: break; + } + return result; +} + +std::tuple get_item_quality_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Ordinary"; break; + case 1: std::get<1>(result) = "WellCrafted"; break; + case 2: std::get<1>(result) = "FinelyCrafted"; break; + case 3: std::get<1>(result) = "Superior"; break; + case 4: std::get<1>(result) = "Exceptional"; break; + case 5: std::get<1>(result) = "Masterful"; break; + case 6: std::get<1>(result) = "Artifact"; break; + default: break; + } + return result; +} + +std::tuple get_slab_engraving_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case -1: std::get<1>(result) = "Slab"; break; + case 0: std::get<1>(result) = "Memorial"; break; + case 1: std::get<1>(result) = "CraftShopSign"; break; + case 2: std::get<1>(result) = "WeaponsmithShopSign"; break; + case 3: std::get<1>(result) = "ArmorsmithShopSign"; break; + case 4: std::get<1>(result) = "GeneralStoreSign"; break; + case 5: std::get<1>(result) = "FoodShopSign"; break; + case 6: std::get<1>(result) = "Secrets"; std::get<2>(result) = "from the gods?"; break; + case 7: std::get<1>(result) = "FoodImportsSign"; break; + case 8: std::get<1>(result) = "ClothingImportsSign"; break; + case 9: std::get<1>(result) = "GeneralImportsSign"; break; + case 10: std::get<1>(result) = "ClothShopSign"; break; + case 11: std::get<1>(result) = "LeatherShopSign"; break; + case 12: std::get<1>(result) = "WovenClothingShopSign"; break; + case 13: std::get<1>(result) = "LeatherClothingShopSign"; break; + case 14: std::get<1>(result) = "BoneCarverShopSign"; break; + case 15: std::get<1>(result) = "GemCutterShopSign"; break; + case 16: std::get<1>(result) = "WeaponsmithShopSign2"; break; + case 17: std::get<1>(result) = "BowyerShopSign"; break; + case 18: std::get<1>(result) = "BlacksmithShopSign"; break; + case 19: std::get<1>(result) = "ArmorsmithShopSign2"; break; + case 20: std::get<1>(result) = "MetalCraftShopSign"; break; + case 21: std::get<1>(result) = "LeatherGoodsShopSign"; break; + case 22: std::get<1>(result) = "CarpenterShopSign"; break; + case 23: std::get<1>(result) = "StoneFurnitureShopSign"; break; + case 24: std::get<1>(result) = "MetalFurnitureShopSign"; break; + case 25: std::get<1>(result) = "DemonIdentity"; std::get<2>(result) = "when a demon assumes identity?"; break; + case 26: std::get<1>(result) = "TavernSign"; break; + default: break; + } + return result; +} + +std::tuple get_corpse_material_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Plant"; break; + case 1: std::get<1>(result) = "Silk"; break; + case 2: std::get<1>(result) = "Leather"; break; + case 3: std::get<1>(result) = "Bone"; break; + case 4: std::get<1>(result) = "Shell"; break; + case 5: std::get<1>(result) = "anon_1"; break; + case 6: std::get<1>(result) = "Soap"; break; + case 7: std::get<1>(result) = "Tooth"; break; + case 8: std::get<1>(result) = "Horn"; break; + case 9: std::get<1>(result) = "Pearl"; break; + case 10: std::get<1>(result) = "HairWool"; break; + case 11: std::get<1>(result) = "Yarn"; break; + default: break; + } + return result; +} + +std::tuple get_job_type_class_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Misc"; break; + case 1: std::get<1>(result) = "Digging"; break; + case 2: std::get<1>(result) = "Building"; break; + case 3: std::get<1>(result) = "Hauling"; break; + case 4: std::get<1>(result) = "LifeSupport"; break; + case 5: std::get<1>(result) = "TidyUp"; break; + case 6: std::get<1>(result) = "Leisure"; break; + case 7: std::get<1>(result) = "Gathering"; break; + case 8: std::get<1>(result) = "Manufacture"; break; + case 9: std::get<1>(result) = "Improvement"; break; + case 10: std::get<1>(result) = "Crime"; break; + case 11: std::get<1>(result) = "LawEnforcement"; break; + case 12: std::get<1>(result) = "StrangeMood"; break; + case 13: std::get<1>(result) = "UnitHandling"; break; + case 14: std::get<1>(result) = "SiegeWeapon"; break; + case 15: std::get<1>(result) = "Medicine"; break; + default: break; + } + return result; +} + +std::tuple get_job_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case -1: std::get<1>(result) = "NONE"; std::get<2>(result) = "unused"; break; + case 0: std::get<1>(result) = "CarveFortification"; break; + case 1: std::get<1>(result) = "DetailWall"; break; + case 2: std::get<1>(result) = "DetailFloor"; break; + case 3: std::get<1>(result) = "Dig"; break; + case 4: std::get<1>(result) = "CarveUpwardStaircase"; break; + case 5: std::get<1>(result) = "CarveDownwardStaircase"; break; + case 6: std::get<1>(result) = "CarveUpDownStaircase"; break; + case 7: std::get<1>(result) = "CarveRamp"; break; + case 8: std::get<1>(result) = "DigChannel"; break; + case 9: std::get<1>(result) = "FellTree"; break; + case 10: std::get<1>(result) = "GatherPlants"; break; + case 11: std::get<1>(result) = "RemoveConstruction"; break; + case 12: std::get<1>(result) = "CollectWebs"; break; + case 13: std::get<1>(result) = "BringItemToDepot"; break; + case 14: std::get<1>(result) = "BringItemToShop"; break; + case 15: std::get<1>(result) = "Eat"; break; + case 16: std::get<1>(result) = "GetProvisions"; break; + case 17: std::get<1>(result) = "Drink"; break; + case 18: std::get<1>(result) = "Drink2"; break; + case 19: std::get<1>(result) = "FillWaterskin"; break; + case 20: std::get<1>(result) = "FillWaterskin2"; break; + case 21: std::get<1>(result) = "Sleep"; break; + case 22: std::get<1>(result) = "CollectSand"; break; + case 23: std::get<1>(result) = "Fish"; break; + case 24: std::get<1>(result) = "Hunt"; break; + case 25: std::get<1>(result) = "HuntVermin"; break; + case 26: std::get<1>(result) = "Kidnap"; break; + case 27: std::get<1>(result) = "BeatCriminal"; break; + case 28: std::get<1>(result) = "StartingFistFight"; break; + case 29: std::get<1>(result) = "CollectTaxes"; break; + case 30: std::get<1>(result) = "GuardTaxCollector"; break; + case 31: std::get<1>(result) = "CatchLiveLandAnimal"; break; + case 32: std::get<1>(result) = "CatchLiveFish"; break; + case 33: std::get<1>(result) = "ReturnKill"; break; + case 34: std::get<1>(result) = "CheckChest"; break; + case 35: std::get<1>(result) = "StoreOwnedItem"; break; + case 36: std::get<1>(result) = "PlaceItemInTomb"; break; + case 37: std::get<1>(result) = "StoreItemInStockpile"; break; + case 38: std::get<1>(result) = "StoreItemInBag"; break; + case 39: std::get<1>(result) = "StoreItemInHospital"; break; + case 40: std::get<1>(result) = "StoreItemInLocation"; break; + case 41: std::get<1>(result) = "anon_1"; break; + case 42: std::get<1>(result) = "StoreWeapon"; break; + case 43: std::get<1>(result) = "StoreArmor"; break; + case 44: std::get<1>(result) = "StoreItemInBarrel"; break; + case 45: std::get<1>(result) = "StoreItemInBin"; break; + case 46: std::get<1>(result) = "SeekArtifact"; break; + case 47: std::get<1>(result) = "SeekInfant"; break; + case 48: std::get<1>(result) = "AttendParty"; break; + case 49: std::get<1>(result) = "GoShopping"; break; + case 50: std::get<1>(result) = "GoShopping2"; break; + case 51: std::get<1>(result) = "Clean"; break; + case 52: std::get<1>(result) = "Rest"; break; + case 53: std::get<1>(result) = "PickupEquipment"; break; + case 54: std::get<1>(result) = "DumpItem"; break; + case 55: std::get<1>(result) = "StrangeMoodCrafter"; break; + case 56: std::get<1>(result) = "StrangeMoodJeweller"; break; + case 57: std::get<1>(result) = "StrangeMoodForge"; break; + case 58: std::get<1>(result) = "StrangeMoodMagmaForge"; break; + case 59: std::get<1>(result) = "StrangeMoodBrooding"; break; + case 60: std::get<1>(result) = "StrangeMoodFell"; break; + case 61: std::get<1>(result) = "StrangeMoodCarpenter"; break; + case 62: std::get<1>(result) = "StrangeMoodMason"; break; + case 63: std::get<1>(result) = "StrangeMoodBowyer"; break; + case 64: std::get<1>(result) = "StrangeMoodTanner"; break; + case 65: std::get<1>(result) = "StrangeMoodWeaver"; break; + case 66: std::get<1>(result) = "StrangeMoodGlassmaker"; break; + case 67: std::get<1>(result) = "StrangeMoodMechanics"; break; + case 68: std::get<1>(result) = "ConstructBuilding"; break; + case 69: std::get<1>(result) = "ConstructDoor"; break; + case 70: std::get<1>(result) = "ConstructFloodgate"; break; + case 71: std::get<1>(result) = "ConstructBed"; break; + case 72: std::get<1>(result) = "ConstructThrone"; break; + case 73: std::get<1>(result) = "ConstructCoffin"; break; + case 74: std::get<1>(result) = "ConstructTable"; break; + case 75: std::get<1>(result) = "ConstructChest"; break; + case 76: std::get<1>(result) = "ConstructBin"; break; + case 77: std::get<1>(result) = "ConstructArmorStand"; break; + case 78: std::get<1>(result) = "ConstructWeaponRack"; break; + case 79: std::get<1>(result) = "ConstructCabinet"; break; + case 80: std::get<1>(result) = "ConstructStatue"; break; + case 81: std::get<1>(result) = "ConstructBlocks"; break; + case 82: std::get<1>(result) = "MakeRawGlass"; break; + case 83: std::get<1>(result) = "MakeCrafts"; break; + case 84: std::get<1>(result) = "MintCoins"; break; + case 85: std::get<1>(result) = "CutGems"; break; + case 86: std::get<1>(result) = "CutGlass"; break; + case 87: std::get<1>(result) = "EncrustWithGems"; break; + case 88: std::get<1>(result) = "EncrustWithGlass"; break; + case 89: std::get<1>(result) = "DestroyBuilding"; break; + case 90: std::get<1>(result) = "SmeltOre"; break; + case 91: std::get<1>(result) = "MeltMetalObject"; break; + case 92: std::get<1>(result) = "ExtractMetalStrands"; break; + case 93: std::get<1>(result) = "PlantSeeds"; break; + case 94: std::get<1>(result) = "HarvestPlants"; break; + case 95: std::get<1>(result) = "TrainHuntingAnimal"; break; + case 96: std::get<1>(result) = "TrainWarAnimal"; break; + case 97: std::get<1>(result) = "MakeWeapon"; break; + case 98: std::get<1>(result) = "ForgeAnvil"; break; + case 99: std::get<1>(result) = "ConstructCatapultParts"; break; + case 100: std::get<1>(result) = "ConstructBallistaParts"; break; + case 101: std::get<1>(result) = "MakeArmor"; break; + case 102: std::get<1>(result) = "MakeHelm"; break; + case 103: std::get<1>(result) = "MakePants"; break; + case 104: std::get<1>(result) = "StudWith"; break; + case 105: std::get<1>(result) = "ButcherAnimal"; break; + case 106: std::get<1>(result) = "PrepareRawFish"; break; + case 107: std::get<1>(result) = "MillPlants"; break; + case 108: std::get<1>(result) = "BaitTrap"; break; + case 109: std::get<1>(result) = "MilkCreature"; break; + case 110: std::get<1>(result) = "MakeCheese"; break; + case 111: std::get<1>(result) = "ProcessPlants"; break; + case 112: std::get<1>(result) = "anon_2"; break; + case 113: std::get<1>(result) = "ProcessPlantsVial"; break; + case 114: std::get<1>(result) = "ProcessPlantsBarrel"; break; + case 115: std::get<1>(result) = "PrepareMeal"; break; + case 116: std::get<1>(result) = "WeaveCloth"; break; + case 117: std::get<1>(result) = "MakeGloves"; break; + case 118: std::get<1>(result) = "MakeShoes"; break; + case 119: std::get<1>(result) = "MakeShield"; break; + case 120: std::get<1>(result) = "MakeCage"; break; + case 121: std::get<1>(result) = "MakeChain"; break; + case 122: std::get<1>(result) = "MakeFlask"; break; + case 123: std::get<1>(result) = "MakeGoblet"; break; + case 124: std::get<1>(result) = "anon_3"; break; + case 125: std::get<1>(result) = "MakeToy"; break; + case 126: std::get<1>(result) = "MakeAnimalTrap"; break; + case 127: std::get<1>(result) = "MakeBarrel"; break; + case 128: std::get<1>(result) = "MakeBucket"; break; + case 129: std::get<1>(result) = "MakeWindow"; break; + case 130: std::get<1>(result) = "MakeTotem"; break; + case 131: std::get<1>(result) = "MakeAmmo"; break; + case 132: std::get<1>(result) = "DecorateWith"; break; + case 133: std::get<1>(result) = "MakeBackpack"; break; + case 134: std::get<1>(result) = "MakeQuiver"; break; + case 135: std::get<1>(result) = "MakeBallistaArrowHead"; break; + case 136: std::get<1>(result) = "AssembleSiegeAmmo"; break; + case 137: std::get<1>(result) = "LoadCatapult"; break; + case 138: std::get<1>(result) = "LoadBallista"; break; + case 139: std::get<1>(result) = "FireCatapult"; break; + case 140: std::get<1>(result) = "FireBallista"; break; + case 141: std::get<1>(result) = "ConstructMechanisms"; break; + case 142: std::get<1>(result) = "MakeTrapComponent"; break; + case 143: std::get<1>(result) = "LoadCageTrap"; break; + case 144: std::get<1>(result) = "LoadStoneTrap"; break; + case 145: std::get<1>(result) = "LoadWeaponTrap"; break; + case 146: std::get<1>(result) = "CleanTrap"; break; + case 147: std::get<1>(result) = "CastSpell"; break; + case 148: std::get<1>(result) = "LinkBuildingToTrigger"; break; + case 149: std::get<1>(result) = "PullLever"; break; + case 150: std::get<1>(result) = "anon_4"; break; + case 151: std::get<1>(result) = "ExtractFromPlants"; break; + case 152: std::get<1>(result) = "ExtractFromRawFish"; break; + case 153: std::get<1>(result) = "ExtractFromLandAnimal"; break; + case 154: std::get<1>(result) = "TameVermin"; break; + case 155: std::get<1>(result) = "TameAnimal"; break; + case 156: std::get<1>(result) = "ChainAnimal"; break; + case 157: std::get<1>(result) = "UnchainAnimal"; break; + case 158: std::get<1>(result) = "UnchainPet"; break; + case 159: std::get<1>(result) = "ReleaseLargeCreature"; break; + case 160: std::get<1>(result) = "ReleasePet"; break; + case 161: std::get<1>(result) = "ReleaseSmallCreature"; break; + case 162: std::get<1>(result) = "HandleSmallCreature"; break; + case 163: std::get<1>(result) = "HandleLargeCreature"; break; + case 164: std::get<1>(result) = "CageLargeCreature"; break; + case 165: std::get<1>(result) = "CageSmallCreature"; break; + case 166: std::get<1>(result) = "RecoverWounded"; break; + case 167: std::get<1>(result) = "DiagnosePatient"; break; + case 168: std::get<1>(result) = "ImmobilizeBreak"; break; + case 169: std::get<1>(result) = "DressWound"; break; + case 170: std::get<1>(result) = "CleanPatient"; break; + case 171: std::get<1>(result) = "Surgery"; break; + case 172: std::get<1>(result) = "Suture"; break; + case 173: std::get<1>(result) = "SetBone"; break; + case 174: std::get<1>(result) = "PlaceInTraction"; break; + case 175: std::get<1>(result) = "DrainAquarium"; break; + case 176: std::get<1>(result) = "FillAquarium"; break; + case 177: std::get<1>(result) = "FillPond"; break; + case 178: std::get<1>(result) = "GiveWater"; break; + case 179: std::get<1>(result) = "GiveFood"; break; + case 180: std::get<1>(result) = "GiveWater2"; std::get<2>(result) = "for pets"; break; + case 181: std::get<1>(result) = "GiveFood2"; std::get<2>(result) = "for pets"; break; + case 182: std::get<1>(result) = "RecoverPet"; break; + case 183: std::get<1>(result) = "PitLargeAnimal"; break; + case 184: std::get<1>(result) = "PitSmallAnimal"; break; + case 185: std::get<1>(result) = "SlaughterAnimal"; break; + case 186: std::get<1>(result) = "MakeCharcoal"; break; + case 187: std::get<1>(result) = "MakeAsh"; break; + case 188: std::get<1>(result) = "MakeLye"; break; + case 189: std::get<1>(result) = "MakePotashFromLye"; break; + case 190: std::get<1>(result) = "FertilizeField"; break; + case 191: std::get<1>(result) = "MakePotashFromAsh"; break; + case 192: std::get<1>(result) = "DyeThread"; break; + case 193: std::get<1>(result) = "DyeCloth"; break; + case 194: std::get<1>(result) = "SewImage"; break; + case 195: std::get<1>(result) = "MakePipeSection"; break; + case 196: std::get<1>(result) = "OperatePump"; break; + case 197: std::get<1>(result) = "ManageWorkOrders"; break; + case 198: std::get<1>(result) = "UpdateStockpileRecords"; break; + case 199: std::get<1>(result) = "TradeAtDepot"; break; + case 200: std::get<1>(result) = "ConstructHatchCover"; break; + case 201: std::get<1>(result) = "ConstructGrate"; break; + case 202: std::get<1>(result) = "RemoveStairs"; break; + case 203: std::get<1>(result) = "ConstructQuern"; break; + case 204: std::get<1>(result) = "ConstructMillstone"; break; + case 205: std::get<1>(result) = "ConstructSplint"; break; + case 206: std::get<1>(result) = "ConstructCrutch"; break; + case 207: std::get<1>(result) = "ConstructTractionBench"; break; + case 208: std::get<1>(result) = "CleanSelf"; break; + case 209: std::get<1>(result) = "BringCrutch"; break; + case 210: std::get<1>(result) = "ApplyCast"; break; + case 211: std::get<1>(result) = "CustomReaction"; break; + case 212: std::get<1>(result) = "ConstructSlab"; break; + case 213: std::get<1>(result) = "EngraveSlab"; break; + case 214: std::get<1>(result) = "ShearCreature"; break; + case 215: std::get<1>(result) = "SpinThread"; break; + case 216: std::get<1>(result) = "PenLargeAnimal"; break; + case 217: std::get<1>(result) = "PenSmallAnimal"; break; + case 218: std::get<1>(result) = "MakeTool"; break; + case 219: std::get<1>(result) = "CollectClay"; break; + case 220: std::get<1>(result) = "InstallColonyInHive"; break; + case 221: std::get<1>(result) = "CollectHiveProducts"; break; + case 222: std::get<1>(result) = "CauseTrouble"; break; + case 223: std::get<1>(result) = "DrinkBlood"; std::get<2>(result) = "??"; break; + case 224: std::get<1>(result) = "ReportCrime"; break; + case 225: std::get<1>(result) = "ExecuteCriminal"; break; + case 226: std::get<1>(result) = "TrainAnimal"; break; + case 227: std::get<1>(result) = "CarveTrack"; break; + case 228: std::get<1>(result) = "PushTrackVehicle"; break; + case 229: std::get<1>(result) = "PlaceTrackVehicle"; break; + case 230: std::get<1>(result) = "StoreItemInVehicle"; break; + case 231: std::get<1>(result) = "GeldAnimal"; break; + case 232: std::get<1>(result) = "MakeFigurine"; break; + case 233: std::get<1>(result) = "MakeAmulet"; break; + case 234: std::get<1>(result) = "MakeScepter"; break; + case 235: std::get<1>(result) = "MakeCrown"; break; + case 236: std::get<1>(result) = "MakeRing"; break; + case 237: std::get<1>(result) = "MakeEarring"; break; + case 238: std::get<1>(result) = "MakeBracelet"; break; + case 239: std::get<1>(result) = "MakeGem"; break; + case 240: std::get<1>(result) = "PutItemOnDisplay"; break; + default: break; + } + return result; +} + +std::tuple get_job_subtype_surgery_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Surgery"; break; + case 1: std::get<1>(result) = "StopBleeding"; break; + case 2: std::get<1>(result) = "RepairCompoundFracture"; break; + case 3: std::get<1>(result) = "RemoveRottenTissue"; break; + default: break; + } + return result; +} + +std::tuple get_job_art_specification__T_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case -1: std::get<1>(result) = "None"; break; + case 0: std::get<1>(result) = "HistoricalFigure"; break; + case 1: std::get<1>(result) = "Site"; break; + case 2: std::get<1>(result) = "Entity"; break; + case 3: std::get<1>(result) = "ArtImage"; break; + default: break; + } + return result; +} + +std::tuple get_manager_order_condition_order__T_condition_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Activated"; break; + case 1: std::get<1>(result) = "Completed"; break; + default: break; + } + return result; +} + +std::tuple get_guild_id_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case -1: std::get<1>(result) = "None"; break; + case 0: std::get<1>(result) = "Miners"; break; + case 1: std::get<1>(result) = "Carpenters"; break; + case 2: std::get<1>(result) = "Masons"; break; + case 3: std::get<1>(result) = "Metalsmiths"; break; + case 4: std::get<1>(result) = "Jewelers"; break; + case 5: std::get<1>(result) = "Craftsmen"; break; + default: break; + } + return result; +} + +std::tuple get_interface_key_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "NONE"; break; + case 1: std::get<1>(result) = "SELECT"; break; + case 2: std::get<1>(result) = "SEC_SELECT"; break; + case 3: std::get<1>(result) = "DESELECT"; break; + case 4: std::get<1>(result) = "SELECT_ALL"; break; + case 5: std::get<1>(result) = "DESELECT_ALL"; break; + case 6: std::get<1>(result) = "LEAVESCREEN"; break; + case 7: std::get<1>(result) = "LEAVESCREEN_ALL"; break; + case 8: std::get<1>(result) = "CLOSE_MEGA_ANNOUNCEMENT"; break; + case 9: std::get<1>(result) = "OPTIONS"; break; + case 10: std::get<1>(result) = "OPTION_EXPORT"; break; + case 11: std::get<1>(result) = "HELP"; break; + case 12: std::get<1>(result) = "TOGGLE_FULLSCREEN"; break; + case 13: std::get<1>(result) = "MOVIES"; break; + case 14: std::get<1>(result) = "ZOOM_IN"; break; + case 15: std::get<1>(result) = "ZOOM_OUT"; break; + case 16: std::get<1>(result) = "ZOOM_TOGGLE"; break; + case 17: std::get<1>(result) = "ZOOM_RESET"; break; + case 18: std::get<1>(result) = "MOVIE_RECORD"; break; + case 19: std::get<1>(result) = "MOVIE_PLAY"; break; + case 20: std::get<1>(result) = "MOVIE_SAVE"; break; + case 21: std::get<1>(result) = "MOVIE_LOAD"; break; + case 22: std::get<1>(result) = "TOGGLE_TTF"; break; + case 23: std::get<1>(result) = "FPS_UP"; break; + case 24: std::get<1>(result) = "FPS_DOWN"; break; + case 25: std::get<1>(result) = "CHANGETAB"; break; + case 26: std::get<1>(result) = "SEC_CHANGETAB"; break; + case 27: std::get<1>(result) = "STANDARDSCROLL_UP"; break; + case 28: std::get<1>(result) = "STANDARDSCROLL_DOWN"; break; + case 29: std::get<1>(result) = "STANDARDSCROLL_LEFT"; break; + case 30: std::get<1>(result) = "STANDARDSCROLL_RIGHT"; break; + case 31: std::get<1>(result) = "STANDARDSCROLL_PAGEUP"; break; + case 32: std::get<1>(result) = "STANDARDSCROLL_PAGEDOWN"; break; + case 33: std::get<1>(result) = "SECONDSCROLL_UP"; break; + case 34: std::get<1>(result) = "SECONDSCROLL_DOWN"; break; + case 35: std::get<1>(result) = "SECONDSCROLL_PAGEUP"; break; + case 36: std::get<1>(result) = "SECONDSCROLL_PAGEDOWN"; break; + case 37: std::get<1>(result) = "CURSOR_UP"; break; + case 38: std::get<1>(result) = "CURSOR_DOWN"; break; + case 39: std::get<1>(result) = "CURSOR_LEFT"; break; + case 40: std::get<1>(result) = "CURSOR_RIGHT"; break; + case 41: std::get<1>(result) = "CURSOR_UPLEFT"; break; + case 42: std::get<1>(result) = "CURSOR_UPRIGHT"; break; + case 43: std::get<1>(result) = "CURSOR_DOWNLEFT"; break; + case 44: std::get<1>(result) = "CURSOR_DOWNRIGHT"; break; + case 45: std::get<1>(result) = "CURSOR_UP_FAST"; break; + case 46: std::get<1>(result) = "CURSOR_DOWN_FAST"; break; + case 47: std::get<1>(result) = "CURSOR_LEFT_FAST"; break; + case 48: std::get<1>(result) = "CURSOR_RIGHT_FAST"; break; + case 49: std::get<1>(result) = "CURSOR_UPLEFT_FAST"; break; + case 50: std::get<1>(result) = "CURSOR_UPRIGHT_FAST"; break; + case 51: std::get<1>(result) = "CURSOR_DOWNLEFT_FAST"; break; + case 52: std::get<1>(result) = "CURSOR_DOWNRIGHT_FAST"; break; + case 53: std::get<1>(result) = "CURSOR_UP_Z"; break; + case 54: std::get<1>(result) = "CURSOR_DOWN_Z"; break; + case 55: std::get<1>(result) = "CURSOR_UP_Z_AUX"; break; + case 56: std::get<1>(result) = "CURSOR_DOWN_Z_AUX"; break; + case 57: std::get<1>(result) = "MENU_CONFIRM"; break; + case 58: std::get<1>(result) = "SAVE_BINDINGS"; break; + case 59: std::get<1>(result) = "LOAD_BINDINGS"; break; + case 60: std::get<1>(result) = "MACRO_BREAK"; break; + case 61: std::get<1>(result) = "RECORD_MACRO"; break; + case 62: std::get<1>(result) = "PLAY_MACRO"; break; + case 63: std::get<1>(result) = "SAVE_MACRO"; break; + case 64: std::get<1>(result) = "LOAD_MACRO"; break; + case 65: std::get<1>(result) = "PREFIX"; break; + case 66: std::get<1>(result) = "OPTION1"; break; + case 67: std::get<1>(result) = "OPTION2"; break; + case 68: std::get<1>(result) = "OPTION3"; break; + case 69: std::get<1>(result) = "OPTION4"; break; + case 70: std::get<1>(result) = "OPTION5"; break; + case 71: std::get<1>(result) = "OPTION6"; break; + case 72: std::get<1>(result) = "OPTION7"; break; + case 73: std::get<1>(result) = "OPTION8"; break; + case 74: std::get<1>(result) = "OPTION9"; break; + case 75: std::get<1>(result) = "OPTION10"; break; + case 76: std::get<1>(result) = "OPTION11"; break; + case 77: std::get<1>(result) = "OPTION12"; break; + case 78: std::get<1>(result) = "OPTION13"; break; + case 79: std::get<1>(result) = "OPTION14"; break; + case 80: std::get<1>(result) = "OPTION15"; break; + case 81: std::get<1>(result) = "OPTION16"; break; + case 82: std::get<1>(result) = "OPTION17"; break; + case 83: std::get<1>(result) = "OPTION18"; break; + case 84: std::get<1>(result) = "OPTION19"; break; + case 85: std::get<1>(result) = "OPTION20"; break; + case 86: std::get<1>(result) = "SEC_OPTION1"; break; + case 87: std::get<1>(result) = "SEC_OPTION2"; break; + case 88: std::get<1>(result) = "SEC_OPTION3"; break; + case 89: std::get<1>(result) = "SEC_OPTION4"; break; + case 90: std::get<1>(result) = "SEC_OPTION5"; break; + case 91: std::get<1>(result) = "SEC_OPTION6"; break; + case 92: std::get<1>(result) = "SEC_OPTION7"; break; + case 93: std::get<1>(result) = "SEC_OPTION8"; break; + case 94: std::get<1>(result) = "SEC_OPTION9"; break; + case 95: std::get<1>(result) = "SEC_OPTION10"; break; + case 96: std::get<1>(result) = "SEC_OPTION11"; break; + case 97: std::get<1>(result) = "SEC_OPTION12"; break; + case 98: std::get<1>(result) = "SEC_OPTION13"; break; + case 99: std::get<1>(result) = "SEC_OPTION14"; break; + case 100: std::get<1>(result) = "SEC_OPTION15"; break; + case 101: std::get<1>(result) = "SEC_OPTION16"; break; + case 102: std::get<1>(result) = "SEC_OPTION17"; break; + case 103: std::get<1>(result) = "SEC_OPTION18"; break; + case 104: std::get<1>(result) = "SEC_OPTION19"; break; + case 105: std::get<1>(result) = "SEC_OPTION20"; break; + case 106: std::get<1>(result) = "CUSTOM_A"; break; + case 107: std::get<1>(result) = "CUSTOM_B"; break; + case 108: std::get<1>(result) = "CUSTOM_C"; break; + case 109: std::get<1>(result) = "CUSTOM_D"; break; + case 110: std::get<1>(result) = "CUSTOM_E"; break; + case 111: std::get<1>(result) = "CUSTOM_F"; break; + case 112: std::get<1>(result) = "CUSTOM_G"; break; + case 113: std::get<1>(result) = "CUSTOM_H"; break; + case 114: std::get<1>(result) = "CUSTOM_I"; break; + case 115: std::get<1>(result) = "CUSTOM_J"; break; + case 116: std::get<1>(result) = "CUSTOM_K"; break; + case 117: std::get<1>(result) = "CUSTOM_L"; break; + case 118: std::get<1>(result) = "CUSTOM_M"; break; + case 119: std::get<1>(result) = "CUSTOM_N"; break; + case 120: std::get<1>(result) = "CUSTOM_O"; break; + case 121: std::get<1>(result) = "CUSTOM_P"; break; + case 122: std::get<1>(result) = "CUSTOM_Q"; break; + case 123: std::get<1>(result) = "CUSTOM_R"; break; + case 124: std::get<1>(result) = "CUSTOM_S"; break; + case 125: std::get<1>(result) = "CUSTOM_T"; break; + case 126: std::get<1>(result) = "CUSTOM_U"; break; + case 127: std::get<1>(result) = "CUSTOM_V"; break; + case 128: std::get<1>(result) = "CUSTOM_W"; break; + case 129: std::get<1>(result) = "CUSTOM_X"; break; + case 130: std::get<1>(result) = "CUSTOM_Y"; break; + case 131: std::get<1>(result) = "CUSTOM_Z"; break; + case 132: std::get<1>(result) = "CUSTOM_SHIFT_A"; break; + case 133: std::get<1>(result) = "CUSTOM_SHIFT_B"; break; + case 134: std::get<1>(result) = "CUSTOM_SHIFT_C"; break; + case 135: std::get<1>(result) = "CUSTOM_SHIFT_D"; break; + case 136: std::get<1>(result) = "CUSTOM_SHIFT_E"; break; + case 137: std::get<1>(result) = "CUSTOM_SHIFT_F"; break; + case 138: std::get<1>(result) = "CUSTOM_SHIFT_G"; break; + case 139: std::get<1>(result) = "CUSTOM_SHIFT_H"; break; + case 140: std::get<1>(result) = "CUSTOM_SHIFT_I"; break; + case 141: std::get<1>(result) = "CUSTOM_SHIFT_J"; break; + case 142: std::get<1>(result) = "CUSTOM_SHIFT_K"; break; + case 143: std::get<1>(result) = "CUSTOM_SHIFT_L"; break; + case 144: std::get<1>(result) = "CUSTOM_SHIFT_M"; break; + case 145: std::get<1>(result) = "CUSTOM_SHIFT_N"; break; + case 146: std::get<1>(result) = "CUSTOM_SHIFT_O"; break; + case 147: std::get<1>(result) = "CUSTOM_SHIFT_P"; break; + case 148: std::get<1>(result) = "CUSTOM_SHIFT_Q"; break; + case 149: std::get<1>(result) = "CUSTOM_SHIFT_R"; break; + case 150: std::get<1>(result) = "CUSTOM_SHIFT_S"; break; + case 151: std::get<1>(result) = "CUSTOM_SHIFT_T"; break; + case 152: std::get<1>(result) = "CUSTOM_SHIFT_U"; break; + case 153: std::get<1>(result) = "CUSTOM_SHIFT_V"; break; + case 154: std::get<1>(result) = "CUSTOM_SHIFT_W"; break; + case 155: std::get<1>(result) = "CUSTOM_SHIFT_X"; break; + case 156: std::get<1>(result) = "CUSTOM_SHIFT_Y"; break; + case 157: std::get<1>(result) = "CUSTOM_SHIFT_Z"; break; + case 158: std::get<1>(result) = "CUSTOM_CTRL_A"; break; + case 159: std::get<1>(result) = "CUSTOM_CTRL_B"; break; + case 160: std::get<1>(result) = "CUSTOM_CTRL_C"; break; + case 161: std::get<1>(result) = "CUSTOM_CTRL_D"; break; + case 162: std::get<1>(result) = "CUSTOM_CTRL_E"; break; + case 163: std::get<1>(result) = "CUSTOM_CTRL_F"; break; + case 164: std::get<1>(result) = "CUSTOM_CTRL_G"; break; + case 165: std::get<1>(result) = "CUSTOM_CTRL_H"; break; + case 166: std::get<1>(result) = "CUSTOM_CTRL_I"; break; + case 167: std::get<1>(result) = "CUSTOM_CTRL_J"; break; + case 168: std::get<1>(result) = "CUSTOM_CTRL_K"; break; + case 169: std::get<1>(result) = "CUSTOM_CTRL_L"; break; + case 170: std::get<1>(result) = "CUSTOM_CTRL_M"; break; + case 171: std::get<1>(result) = "CUSTOM_CTRL_N"; break; + case 172: std::get<1>(result) = "CUSTOM_CTRL_O"; break; + case 173: std::get<1>(result) = "CUSTOM_CTRL_P"; break; + case 174: std::get<1>(result) = "CUSTOM_CTRL_Q"; break; + case 175: std::get<1>(result) = "CUSTOM_CTRL_R"; break; + case 176: std::get<1>(result) = "CUSTOM_CTRL_S"; break; + case 177: std::get<1>(result) = "CUSTOM_CTRL_T"; break; + case 178: std::get<1>(result) = "CUSTOM_CTRL_U"; break; + case 179: std::get<1>(result) = "CUSTOM_CTRL_V"; break; + case 180: std::get<1>(result) = "CUSTOM_CTRL_W"; break; + case 181: std::get<1>(result) = "CUSTOM_CTRL_X"; break; + case 182: std::get<1>(result) = "CUSTOM_CTRL_Y"; break; + case 183: std::get<1>(result) = "CUSTOM_CTRL_Z"; break; + case 184: std::get<1>(result) = "CUSTOM_ALT_A"; break; + case 185: std::get<1>(result) = "CUSTOM_ALT_B"; break; + case 186: std::get<1>(result) = "CUSTOM_ALT_C"; break; + case 187: std::get<1>(result) = "CUSTOM_ALT_D"; break; + case 188: std::get<1>(result) = "CUSTOM_ALT_E"; break; + case 189: std::get<1>(result) = "CUSTOM_ALT_F"; break; + case 190: std::get<1>(result) = "CUSTOM_ALT_G"; break; + case 191: std::get<1>(result) = "CUSTOM_ALT_H"; break; + case 192: std::get<1>(result) = "CUSTOM_ALT_I"; break; + case 193: std::get<1>(result) = "CUSTOM_ALT_J"; break; + case 194: std::get<1>(result) = "CUSTOM_ALT_K"; break; + case 195: std::get<1>(result) = "CUSTOM_ALT_L"; break; + case 196: std::get<1>(result) = "CUSTOM_ALT_M"; break; + case 197: std::get<1>(result) = "CUSTOM_ALT_N"; break; + case 198: std::get<1>(result) = "CUSTOM_ALT_O"; break; + case 199: std::get<1>(result) = "CUSTOM_ALT_P"; break; + case 200: std::get<1>(result) = "CUSTOM_ALT_Q"; break; + case 201: std::get<1>(result) = "CUSTOM_ALT_R"; break; + case 202: std::get<1>(result) = "CUSTOM_ALT_S"; break; + case 203: std::get<1>(result) = "CUSTOM_ALT_T"; break; + case 204: std::get<1>(result) = "CUSTOM_ALT_U"; break; + case 205: std::get<1>(result) = "CUSTOM_ALT_V"; break; + case 206: std::get<1>(result) = "CUSTOM_ALT_W"; break; + case 207: std::get<1>(result) = "CUSTOM_ALT_X"; break; + case 208: std::get<1>(result) = "CUSTOM_ALT_Y"; break; + case 209: std::get<1>(result) = "CUSTOM_ALT_Z"; break; + case 210: std::get<1>(result) = "WORLD_PARAM_TITLE"; break; + case 211: std::get<1>(result) = "WORLD_PARAM_ADD"; break; + case 212: std::get<1>(result) = "WORLD_PARAM_COPY"; break; + case 213: std::get<1>(result) = "WORLD_PARAM_DELETE"; break; + case 214: std::get<1>(result) = "WORLD_PARAM_NAME_RANDOM"; break; + case 215: std::get<1>(result) = "WORLD_PARAM_NAME_ENTER"; break; + case 216: std::get<1>(result) = "WORLD_PARAM_SEED_RANDOM"; break; + case 217: std::get<1>(result) = "WORLD_PARAM_SEED_ENTER"; break; + case 218: std::get<1>(result) = "WORLD_PARAM_LOAD"; break; + case 219: std::get<1>(result) = "WORLD_PARAM_SAVE"; break; + case 220: std::get<1>(result) = "WORLD_PARAM_DIM_X_UP"; break; + case 221: std::get<1>(result) = "WORLD_PARAM_DIM_X_DOWN"; break; + case 222: std::get<1>(result) = "WORLD_PARAM_DIM_Y_UP"; break; + case 223: std::get<1>(result) = "WORLD_PARAM_DIM_Y_DOWN"; break; + case 224: std::get<1>(result) = "WORLD_PARAM_SET"; break; + case 225: std::get<1>(result) = "WORLD_PARAM_INCREASE"; break; + case 226: std::get<1>(result) = "WORLD_PARAM_DECREASE"; break; + case 227: std::get<1>(result) = "WORLD_PARAM_ENTER_VALUE"; break; + case 228: std::get<1>(result) = "WORLD_PARAM_NULLIFY"; break; + case 229: std::get<1>(result) = "WORLD_PARAM_PRESET"; break; + case 230: std::get<1>(result) = "WORLD_PARAM_REJECT_CONTINUE"; break; + case 231: std::get<1>(result) = "WORLD_PARAM_REJECT_ABORT"; break; + case 232: std::get<1>(result) = "WORLD_PARAM_REJECT_ALLOW_THIS"; break; + case 233: std::get<1>(result) = "WORLD_PARAM_REJECT_ALLOW_ALL"; break; + case 234: std::get<1>(result) = "WORLD_GEN_CONTINUE"; break; + case 235: std::get<1>(result) = "WORLD_GEN_USE"; break; + case 236: std::get<1>(result) = "WORLD_GEN_ABORT"; break; + case 237: std::get<1>(result) = "WORLDGEN_EXPORT_MAP"; break; + case 238: std::get<1>(result) = "LEGENDS_EXPORT_MAP"; break; + case 239: std::get<1>(result) = "LEGENDS_EXPORT_XML"; break; + case 240: std::get<1>(result) = "LEGENDS_EXPORT_DETAILED_MAP"; break; + case 241: std::get<1>(result) = "LEGENDS_TOGGLE_CIVSITE"; break; + case 242: std::get<1>(result) = "LEGENDS_STRING_FILTER"; break; + case 243: std::get<1>(result) = "A_RETURN_TO_ARENA"; break; + case 244: std::get<1>(result) = "A_MOVE_N"; break; + case 245: std::get<1>(result) = "A_MOVE_S"; break; + case 246: std::get<1>(result) = "A_MOVE_E"; break; + case 247: std::get<1>(result) = "A_MOVE_W"; break; + case 248: std::get<1>(result) = "A_MOVE_NW"; break; + case 249: std::get<1>(result) = "A_MOVE_NE"; break; + case 250: std::get<1>(result) = "A_MOVE_SW"; break; + case 251: std::get<1>(result) = "A_MOVE_SE"; break; + case 252: std::get<1>(result) = "A_MOVE_SAME_SQUARE"; break; + case 253: std::get<1>(result) = "A_CARE_MOVE_N"; break; + case 254: std::get<1>(result) = "A_CARE_MOVE_S"; break; + case 255: std::get<1>(result) = "A_CARE_MOVE_E"; break; + case 256: std::get<1>(result) = "A_CARE_MOVE_W"; break; + case 257: std::get<1>(result) = "A_CARE_MOVE_NW"; break; + case 258: std::get<1>(result) = "A_CARE_MOVE_NE"; break; + case 259: std::get<1>(result) = "A_CARE_MOVE_SW"; break; + case 260: std::get<1>(result) = "A_CARE_MOVE_SE"; break; + case 261: std::get<1>(result) = "A_CARE_MOVE_UPDOWN"; break; + case 262: std::get<1>(result) = "A_MOVE_N_UP"; break; + case 263: std::get<1>(result) = "A_MOVE_S_UP"; break; + case 264: std::get<1>(result) = "A_MOVE_E_UP"; break; + case 265: std::get<1>(result) = "A_MOVE_W_UP"; break; + case 266: std::get<1>(result) = "A_MOVE_NW_UP"; break; + case 267: std::get<1>(result) = "A_MOVE_NE_UP"; break; + case 268: std::get<1>(result) = "A_MOVE_SW_UP"; break; + case 269: std::get<1>(result) = "A_MOVE_SE_UP"; break; + case 270: std::get<1>(result) = "A_MOVE_UP"; break; + case 271: std::get<1>(result) = "A_MOVE_N_DOWN"; break; + case 272: std::get<1>(result) = "A_MOVE_S_DOWN"; break; + case 273: std::get<1>(result) = "A_MOVE_E_DOWN"; break; + case 274: std::get<1>(result) = "A_MOVE_W_DOWN"; break; + case 275: std::get<1>(result) = "A_MOVE_NW_DOWN"; break; + case 276: std::get<1>(result) = "A_MOVE_NE_DOWN"; break; + case 277: std::get<1>(result) = "A_MOVE_SW_DOWN"; break; + case 278: std::get<1>(result) = "A_MOVE_SE_DOWN"; break; + case 279: std::get<1>(result) = "A_MOVE_DOWN"; break; + case 280: std::get<1>(result) = "A_MOVE_UP_AUX"; break; + case 281: std::get<1>(result) = "A_MOVE_DOWN_AUX"; break; + case 282: std::get<1>(result) = "A_COMBAT_ATTACK"; break; + case 283: std::get<1>(result) = "A_COMBAT_DODGE"; break; + case 284: std::get<1>(result) = "A_COMBAT_CHARGEDEF"; break; + case 285: std::get<1>(result) = "A_STATUS"; break; + case 286: std::get<1>(result) = "A_STATUS_WRESTLE"; break; + case 287: std::get<1>(result) = "A_STATUS_CUSTOMIZE"; break; + case 288: std::get<1>(result) = "A_STATUS_KILLS"; break; + case 289: std::get<1>(result) = "A_STATUS_HEALTH"; break; + case 290: std::get<1>(result) = "A_STATUS_ATT_SKILL"; break; + case 291: std::get<1>(result) = "A_STATUS_DESC"; break; + case 292: std::get<1>(result) = "A_CLEAR_ANNOUNCEMENTS"; break; + case 293: std::get<1>(result) = "A_SLEEP"; break; + case 294: std::get<1>(result) = "A_SLEEP_SLEEP"; break; + case 295: std::get<1>(result) = "A_SLEEP_WAIT"; break; + case 296: std::get<1>(result) = "A_SLEEP_DAWN"; break; + case 297: std::get<1>(result) = "A_WAIT"; break; + case 298: std::get<1>(result) = "A_SHORT_WAIT"; break; + case 299: std::get<1>(result) = "A_ATTACK"; break; + case 300: std::get<1>(result) = "A_ATTACK_CONFIRM"; break; + case 301: std::get<1>(result) = "QUICK_ATTACK"; break; + case 302: std::get<1>(result) = "HEAVY_ATTACK"; break; + case 303: std::get<1>(result) = "WILD_ATTACK"; break; + case 304: std::get<1>(result) = "PRECISE_ATTACK"; break; + case 305: std::get<1>(result) = "CHARGE_ATTACK"; break; + case 306: std::get<1>(result) = "MULTI_ATTACK"; break; + case 307: std::get<1>(result) = "A_LOOK"; break; + case 308: std::get<1>(result) = "A_SEARCH"; break; + case 309: std::get<1>(result) = "A_ODOR"; break; + case 310: std::get<1>(result) = "A_DISPLAY_ODOR"; break; + case 311: std::get<1>(result) = "A_YIELD"; break; + case 312: std::get<1>(result) = "A_DISPLAY_TRACKS"; break; + case 313: std::get<1>(result) = "A_FRESHEST_TRACK"; break; + case 314: std::get<1>(result) = "A_INV_DRAW_WEAPON"; break; + case 315: std::get<1>(result) = "A_JUMP"; break; + case 316: std::get<1>(result) = "A_HOLD"; break; + case 317: std::get<1>(result) = "A_TALK"; break; + case 318: std::get<1>(result) = "A_ASSUME_IDENTITY_NEW"; break; + case 319: std::get<1>(result) = "A_ASSUME_IDENTITY_NONE"; break; + case 320: std::get<1>(result) = "A_ASSUME_IDENTITY_NAME"; break; + case 321: std::get<1>(result) = "A_ASSUME_IDENTITY_ORIGIN"; break; + case 322: std::get<1>(result) = "A_ASSUME_IDENTITY_PROFESSION"; break; + case 323: std::get<1>(result) = "A_ASSUME_IDENTITY_WORSHIP"; break; + case 324: std::get<1>(result) = "A_INTERACT"; break; + case 325: std::get<1>(result) = "A_ACTION"; break; + case 326: std::get<1>(result) = "A_ACTION_CREATE"; break; + case 327: std::get<1>(result) = "A_ACTION_BUTCHER"; break; + case 328: std::get<1>(result) = "A_ACTION_ABILITY"; break; + case 329: std::get<1>(result) = "A_ACTION_POWER"; break; + case 330: std::get<1>(result) = "A_ACTION_COMPOSE"; break; + case 331: std::get<1>(result) = "A_ACTION_WRITE"; break; + case 332: std::get<1>(result) = "A_CONSTRUCTION"; break; + case 333: std::get<1>(result) = "ADV_CONSTRUCTION_ZONE_NEW"; break; + case 334: std::get<1>(result) = "ADV_CONSTRUCTION_ZONE_EDIT"; break; + case 335: std::get<1>(result) = "ADV_CONSTRUCTION_ZONE_ASSIGN"; break; + case 336: std::get<1>(result) = "ADV_CONSTRUCTION_ZONE_DELETE"; break; + case 337: std::get<1>(result) = "ADV_CONSTRUCTION_ZONE_RECT"; break; + case 338: std::get<1>(result) = "ADV_CONSTRUCTION_ZONE_FLOW"; break; + case 339: std::get<1>(result) = "ADV_CONSTRUCTION_ZONE_REMOVE_RECT"; break; + case 340: std::get<1>(result) = "ADV_CONSTRUCTION_STAIR_UPDOWN"; break; + case 341: std::get<1>(result) = "ADV_CONSTRUCTION_REMOVE_PLANS"; break; + case 342: std::get<1>(result) = "ADV_CONSTRUCTION_REMOVE_EXISTING"; break; + case 343: std::get<1>(result) = "ADV_CONSTRUCTION_MATERIAL"; break; + case 344: std::get<1>(result) = "ADV_CONSTRUCTION_CONSTRUCTION"; break; + case 345: std::get<1>(result) = "ADV_CONSTRUCTION_BUILDING"; break; + case 346: std::get<1>(result) = "ADV_CONSTRUCTION_ZONE"; break; + case 347: std::get<1>(result) = "ADV_CONSTRUCTION_WORK_MENU"; break; + case 348: std::get<1>(result) = "ADV_CONSTRUCTION_NAME_SITE"; break; + case 349: std::get<1>(result) = "ADV_CONSTRUCTION_YOU_WORK"; break; + case 350: std::get<1>(result) = "ADV_CONSTRUCTION_START"; break; + case 351: std::get<1>(result) = "A_COMPOSE_FILTER"; break; + case 352: std::get<1>(result) = "A_INV_LOOK"; break; + case 353: std::get<1>(result) = "A_INV_REMOVE"; break; + case 354: std::get<1>(result) = "A_INV_WEAR"; break; + case 355: std::get<1>(result) = "A_INV_EATDRINK"; break; + case 356: std::get<1>(result) = "A_INV_PUTIN"; break; + case 357: std::get<1>(result) = "A_INV_DROP"; break; + case 358: std::get<1>(result) = "A_GROUND"; break; + case 359: std::get<1>(result) = "A_THROW"; break; + case 360: std::get<1>(result) = "A_SHOOT"; break; + case 361: std::get<1>(result) = "A_ANNOUNCEMENTS"; break; + case 362: std::get<1>(result) = "A_COMBAT"; break; + case 363: std::get<1>(result) = "A_MOVEMENT"; break; + case 364: std::get<1>(result) = "A_MOVEMENT_SWIM"; break; + case 365: std::get<1>(result) = "A_SNEAK"; break; + case 366: std::get<1>(result) = "A_SPEED_SNEAK"; break; + case 367: std::get<1>(result) = "A_CENTER"; break; + case 368: std::get<1>(result) = "A_COMPANIONS"; break; + case 369: std::get<1>(result) = "A_BUILDING"; break; + case 370: std::get<1>(result) = "A_TRAVEL"; break; + case 371: std::get<1>(result) = "A_TRAVEL_SLEEP"; break; + case 372: std::get<1>(result) = "A_TRAVEL_MAP"; break; + case 373: std::get<1>(result) = "A_TRAVEL_HIDE_INSTRUCTIONS"; break; + case 374: std::get<1>(result) = "A_DATE"; break; + case 375: std::get<1>(result) = "A_WEATHER"; break; + case 376: std::get<1>(result) = "A_TEMPERATURE"; break; + case 377: std::get<1>(result) = "A_STANCE"; break; + case 378: std::get<1>(result) = "A_ENTER_NAME"; break; + case 379: std::get<1>(result) = "A_CUST_NAME"; break; + case 380: std::get<1>(result) = "A_RANDOM_NAME"; break; + case 381: std::get<1>(result) = "A_RANDOM_APPEARANCE"; break; + case 382: std::get<1>(result) = "A_RANDOM_APPEARANCE_FULL"; break; + case 383: std::get<1>(result) = "A_RANDOM_PERSONALITY"; break; + case 384: std::get<1>(result) = "A_CUSTOM_PERSONALITY"; break; + case 385: std::get<1>(result) = "A_CHANGE_DREAM"; break; + case 386: std::get<1>(result) = "A_CHANGE_GENDER"; break; + case 387: std::get<1>(result) = "A_END_TRAVEL"; break; + case 388: std::get<1>(result) = "A_TRAVEL_CLOUDS"; break; + case 389: std::get<1>(result) = "A_LOG"; break; + case 390: std::get<1>(result) = "A_TRAVEL_LOG"; break; + case 391: std::get<1>(result) = "A_LOG_SORT"; break; + case 392: std::get<1>(result) = "A_LOG_PIN"; break; + case 393: std::get<1>(result) = "A_LOG_ENTITIES"; break; + case 394: std::get<1>(result) = "A_LOG_SITES"; break; + case 395: std::get<1>(result) = "A_LOG_SUBREGIONS"; break; + case 396: std::get<1>(result) = "A_LOG_FEATURE_LAYERS"; break; + case 397: std::get<1>(result) = "A_LOG_PEOPLE"; break; + case 398: std::get<1>(result) = "A_LOG_AGREEMENTS"; break; + case 399: std::get<1>(result) = "A_LOG_EVENTS"; break; + case 400: std::get<1>(result) = "A_LOG_BESTIARY"; break; + case 401: std::get<1>(result) = "A_LOG_ARTIFACTS"; break; + case 402: std::get<1>(result) = "A_LOG_FILTER"; break; + case 403: std::get<1>(result) = "A_LOG_ZOOM_CURRENT_LOCATION"; break; + case 404: std::get<1>(result) = "A_LOG_ZOOM_SELECTED"; break; + case 405: std::get<1>(result) = "A_LOG_LINE"; break; + case 406: std::get<1>(result) = "A_LOG_MAP"; break; + case 407: std::get<1>(result) = "A_BARTER_VIEW"; break; + case 408: std::get<1>(result) = "A_BARTER_CURRENCY_1"; break; + case 409: std::get<1>(result) = "A_BARTER_CURRENCY_2"; break; + case 410: std::get<1>(result) = "A_BARTER_TRADE"; break; + case 411: std::get<1>(result) = "A_BARTER_SHOW"; break; + case 412: std::get<1>(result) = "SETUP_EMBARK"; break; + case 413: std::get<1>(result) = "SETUP_NAME_FORT"; break; + case 414: std::get<1>(result) = "SETUP_NAME_GROUP"; break; + case 415: std::get<1>(result) = "SETUP_SYMBOL"; break; + case 416: std::get<1>(result) = "SETUP_RECLAIM"; break; + case 417: std::get<1>(result) = "SETUP_FIND"; break; + case 418: std::get<1>(result) = "SETUP_NOTES"; break; + case 419: std::get<1>(result) = "SETUP_NOTES_TAKE_NOTES"; break; + case 420: std::get<1>(result) = "SETUP_NOTES_DELETE_NOTE"; break; + case 421: std::get<1>(result) = "SETUP_NOTES_CHANGE_SYMBOL_SELECTION"; break; + case 422: std::get<1>(result) = "SETUP_NOTES_ADOPT_SYMBOL"; break; + case 423: std::get<1>(result) = "SETUP_LOCAL_Y_UP"; break; + case 424: std::get<1>(result) = "SETUP_LOCAL_Y_DOWN"; break; + case 425: std::get<1>(result) = "SETUP_LOCAL_X_UP"; break; + case 426: std::get<1>(result) = "SETUP_LOCAL_X_DOWN"; break; + case 427: std::get<1>(result) = "SETUP_LOCAL_Y_MUP"; break; + case 428: std::get<1>(result) = "SETUP_LOCAL_Y_MDOWN"; break; + case 429: std::get<1>(result) = "SETUP_LOCAL_X_MUP"; break; + case 430: std::get<1>(result) = "SETUP_LOCAL_X_MDOWN"; break; + case 431: std::get<1>(result) = "SETUP_BIOME_1"; break; + case 432: std::get<1>(result) = "SETUP_BIOME_2"; break; + case 433: std::get<1>(result) = "SETUP_BIOME_3"; break; + case 434: std::get<1>(result) = "SETUP_BIOME_4"; break; + case 435: std::get<1>(result) = "SETUP_BIOME_5"; break; + case 436: std::get<1>(result) = "SETUP_BIOME_6"; break; + case 437: std::get<1>(result) = "SETUP_BIOME_7"; break; + case 438: std::get<1>(result) = "SETUP_BIOME_8"; break; + case 439: std::get<1>(result) = "SETUP_BIOME_9"; break; + case 440: std::get<1>(result) = "CHOOSE_NAME_RANDOM"; break; + case 441: std::get<1>(result) = "CHOOSE_NAME_CLEAR"; break; + case 442: std::get<1>(result) = "CHOOSE_NAME_TYPE"; break; + case 443: std::get<1>(result) = "CHOOSE_NAME_FIRST"; break; + case 444: std::get<1>(result) = "SETUPGAME_NEW"; break; + case 445: std::get<1>(result) = "SETUPGAME_VIEW"; break; + case 446: std::get<1>(result) = "SETUPGAME_CUSTOMIZE_UNIT"; break; + case 447: std::get<1>(result) = "SETUPGAME_SAVE_PROFILE"; break; + case 448: std::get<1>(result) = "SETUPGAME_SAVE_PROFILE_ABORT"; break; + case 449: std::get<1>(result) = "SETUPGAME_SAVE_PROFILE_GO"; break; + case 450: std::get<1>(result) = "SETUPGAME_VIEW_PROFILE_PROBLEMS"; break; + case 451: std::get<1>(result) = "BUILDJOB_ADD"; break; + case 452: std::get<1>(result) = "BUILDJOB_CANCEL"; break; + case 453: std::get<1>(result) = "BUILDJOB_NAME"; break; + case 454: std::get<1>(result) = "BUILDJOB_PROMOTE"; break; + case 455: std::get<1>(result) = "BUILDJOB_NOW"; break; + case 456: std::get<1>(result) = "BUILDJOB_REPEAT"; break; + case 457: std::get<1>(result) = "BUILDJOB_SUSPEND"; break; + case 458: std::get<1>(result) = "BUILDJOB_WORKSHOP_PROFILE"; break; + case 459: std::get<1>(result) = "BUILDJOB_DETAILS"; break; + case 460: std::get<1>(result) = "BUILDJOB_DETAILS_FILTER"; break; + case 461: std::get<1>(result) = "BUILDJOB_WELL_FREE"; break; + case 462: std::get<1>(result) = "BUILDJOB_WELL_SIZE"; break; + case 463: std::get<1>(result) = "BUILDJOB_TARGET_FREE"; break; + case 464: std::get<1>(result) = "BUILDJOB_TARGET_SIZE"; break; + case 465: std::get<1>(result) = "BUILDJOB_TARGET_DOWN"; break; + case 466: std::get<1>(result) = "BUILDJOB_TARGET_UP"; break; + case 467: std::get<1>(result) = "BUILDJOB_TARGET_RIGHT"; break; + case 468: std::get<1>(result) = "BUILDJOB_TARGET_LEFT"; break; + case 469: std::get<1>(result) = "BUILDJOB_STATUE_ASSIGN"; break; + case 470: std::get<1>(result) = "BUILDJOB_STATUE_FREE"; break; + case 471: std::get<1>(result) = "BUILDJOB_STATUE_SIZE"; break; + case 472: std::get<1>(result) = "BUILDJOB_CAGE_JUSTICE"; break; + case 473: std::get<1>(result) = "BUILDJOB_CAGE_FREE"; break; + case 474: std::get<1>(result) = "BUILDJOB_CAGE_SIZE"; break; + case 475: std::get<1>(result) = "BUILDJOB_CAGE_ASSIGN_OCC"; break; + case 476: std::get<1>(result) = "BUILDJOB_CAGE_WATER"; break; + case 477: std::get<1>(result) = "BUILDJOB_CAGE_ASSIGN"; break; + case 478: std::get<1>(result) = "BUILDJOB_CHAIN_ASSIGN_OCC"; break; + case 479: std::get<1>(result) = "BUILDJOB_CHAIN_JUSTICE"; break; + case 480: std::get<1>(result) = "BUILDJOB_CHAIN_ASSIGN"; break; + case 481: std::get<1>(result) = "BUILDJOB_CHAIN_FREE"; break; + case 482: std::get<1>(result) = "BUILDJOB_CHAIN_SIZE"; break; + case 483: std::get<1>(result) = "BUILDJOB_SIEGE_FIRING"; break; + case 484: std::get<1>(result) = "BUILDJOB_SIEGE_ORIENT"; break; + case 485: std::get<1>(result) = "BUILDJOB_DOOR_INTERNAL"; break; + case 486: std::get<1>(result) = "BUILDJOB_DOOR_LOCK"; break; + case 487: std::get<1>(result) = "BUILDJOB_DOOR_AJAR"; break; + case 488: std::get<1>(result) = "BUILDJOB_COFFIN_ASSIGN"; break; + case 489: std::get<1>(result) = "BUILDJOB_COFFIN_FREE"; break; + case 490: std::get<1>(result) = "BUILDJOB_COFFIN_SIZE"; break; + case 491: std::get<1>(result) = "BUILDJOB_COFFIN_BURIAL"; break; + case 492: std::get<1>(result) = "BUILDJOB_COFFIN_CIV"; break; + case 493: std::get<1>(result) = "BUILDJOB_COFFIN_PET"; break; + case 494: std::get<1>(result) = "BUILDJOB_CHAIR_ASSIGN"; break; + case 495: std::get<1>(result) = "BUILDJOB_CHAIR_FREE"; break; + case 496: std::get<1>(result) = "BUILDJOB_CHAIR_SIZE"; break; + case 497: std::get<1>(result) = "BUILDJOB_TABLE_ASSIGN"; break; + case 498: std::get<1>(result) = "BUILDJOB_TABLE_HALL"; break; + case 499: std::get<1>(result) = "BUILDJOB_TABLE_FREE"; break; + case 500: std::get<1>(result) = "BUILDJOB_TABLE_SIZE"; break; + case 501: std::get<1>(result) = "BUILDJOB_BED_ASSIGN"; break; + case 502: std::get<1>(result) = "BUILDJOB_BED_FREE"; break; + case 503: std::get<1>(result) = "BUILDJOB_BED_BARRACKS"; break; + case 504: std::get<1>(result) = "BUILDJOB_BED_DORMITORY"; break; + case 505: std::get<1>(result) = "BUILDJOB_BED_RENT"; break; + case 506: std::get<1>(result) = "BUILDJOB_BED_SIZE"; break; + case 507: std::get<1>(result) = "BUILDJOB_BED_SLEEP"; break; + case 508: std::get<1>(result) = "BUILDJOB_BED_TRAIN"; break; + case 509: std::get<1>(result) = "BUILDJOB_BED_INDIV_EQ"; break; + case 510: std::get<1>(result) = "BUILDJOB_BED_SQUAD_EQ"; break; + case 511: std::get<1>(result) = "BUILDJOB_BED_POSITION"; break; + case 512: std::get<1>(result) = "BUILDJOB_DEPOT_BRING"; break; + case 513: std::get<1>(result) = "BUILDJOB_DEPOT_TRADE"; break; + case 514: std::get<1>(result) = "BUILDJOB_DEPOT_REQUEST_TRADER"; break; + case 515: std::get<1>(result) = "BUILDJOB_DEPOT_BROKER_ONLY"; break; + case 516: std::get<1>(result) = "BUILDJOB_ANIMALTRAP_BAIT_NONE"; break; + case 517: std::get<1>(result) = "BUILDJOB_ANIMALTRAP_BAIT_MEAT"; break; + case 518: std::get<1>(result) = "BUILDJOB_ANIMALTRAP_BAIT_FISH"; break; + case 519: std::get<1>(result) = "BUILDJOB_ANIMALTRAP_BAIT_GEM"; break; + case 520: std::get<1>(result) = "BUILDJOB_FARM_FALLOW"; break; + case 521: std::get<1>(result) = "BUILDJOB_FARM_FERTILIZE"; break; + case 522: std::get<1>(result) = "BUILDJOB_FARM_SEASFERT"; break; + case 523: std::get<1>(result) = "BUILDJOB_FARM_SPRING"; break; + case 524: std::get<1>(result) = "BUILDJOB_FARM_SUMMER"; break; + case 525: std::get<1>(result) = "BUILDJOB_FARM_AUTUMN"; break; + case 526: std::get<1>(result) = "BUILDJOB_FARM_WINTER"; break; + case 527: std::get<1>(result) = "BUILDJOB_RACK_MAT_BONE"; break; + case 528: std::get<1>(result) = "BUILDJOB_RACK_MAT_BRONZE"; break; + case 529: std::get<1>(result) = "BUILDJOB_RACK_MAT_COPPER"; break; + case 530: std::get<1>(result) = "BUILDJOB_RACK_MAT_IRON"; break; + case 531: std::get<1>(result) = "BUILDJOB_RACK_MAT_STEEL"; break; + case 532: std::get<1>(result) = "BUILDJOB_RACK_MAT_WOOD"; break; + case 533: std::get<1>(result) = "BUILDJOB_RACK_MAT_METAL"; break; + case 534: std::get<1>(result) = "BUILDJOB_STAND_MAT_BONE"; break; + case 535: std::get<1>(result) = "BUILDJOB_STAND_MAT_LEATHER"; break; + case 536: std::get<1>(result) = "BUILDJOB_STAND_MAT_COPPER"; break; + case 537: std::get<1>(result) = "BUILDJOB_STAND_MAT_BRONZE"; break; + case 538: std::get<1>(result) = "BUILDJOB_STAND_MAT_STEEL"; break; + case 539: std::get<1>(result) = "BUILDJOB_STAND_MAT_IRON"; break; + case 540: std::get<1>(result) = "BUILDJOB_STAND_MAT_WOOD"; break; + case 541: std::get<1>(result) = "BUILDJOB_STAND_MAT_METAL"; break; + case 542: std::get<1>(result) = "BUILDJOB_RACKSTAND_ASSIGN"; break; + case 543: std::get<1>(result) = "BUILDJOB_RACKSTAND_FREE"; break; + case 544: std::get<1>(result) = "BUILDJOB_RACKSTAND_SIZE"; break; + case 545: std::get<1>(result) = "BUILDJOB_RACKSTAND_ITEM"; break; + case 546: std::get<1>(result) = "BUILDJOB_RACKSTAND_MAT"; break; + case 547: std::get<1>(result) = "BUILDJOB_RACKSTAND_DEFAULTS1"; break; + case 548: std::get<1>(result) = "BUILDJOB_RACKSTAND_KILL1"; break; + case 549: std::get<1>(result) = "BUILDJOB_RACKSTAND_DEFAULTS2"; break; + case 550: std::get<1>(result) = "BUILDJOB_RACKSTAND_KILL2"; break; + case 551: std::get<1>(result) = "BUILDJOB_DISPLAY_FURNITURE_SET"; break; + case 552: std::get<1>(result) = "BUILDJOB_DISPLAY_FURNITURE_CANCEL"; break; + case 553: std::get<1>(result) = "HOTKEY_BUILDING_ARMORSTAND"; break; + case 554: std::get<1>(result) = "HOTKEY_BUILDING_BED"; break; + case 555: std::get<1>(result) = "HOTKEY_BUILDING_CHAIR"; break; + case 556: std::get<1>(result) = "HOTKEY_BUILDING_COFFIN"; break; + case 557: std::get<1>(result) = "HOTKEY_BUILDING_DOOR"; break; + case 558: std::get<1>(result) = "HOTKEY_BUILDING_FLOODGATE"; break; + case 559: std::get<1>(result) = "HOTKEY_BUILDING_HATCH"; break; + case 560: std::get<1>(result) = "HOTKEY_BUILDING_GRATE_WALL"; break; + case 561: std::get<1>(result) = "HOTKEY_BUILDING_GRATE_FLOOR"; break; + case 562: std::get<1>(result) = "HOTKEY_BUILDING_BARS_VERTICAL"; break; + case 563: std::get<1>(result) = "HOTKEY_BUILDING_BARS_FLOOR"; break; + case 564: std::get<1>(result) = "HOTKEY_BUILDING_CABINET"; break; + case 565: std::get<1>(result) = "HOTKEY_BUILDING_BOX"; break; + case 566: std::get<1>(result) = "HOTKEY_BUILDING_KENNEL"; break; + case 567: std::get<1>(result) = "HOTKEY_BUILDING_FARMPLOT"; break; + case 568: std::get<1>(result) = "HOTKEY_BUILDING_WEAPONRACK"; break; + case 569: std::get<1>(result) = "HOTKEY_BUILDING_STATUE"; break; + case 570: std::get<1>(result) = "HOTKEY_BUILDING_TABLE"; break; + case 571: std::get<1>(result) = "HOTKEY_BUILDING_ROAD_DIRT"; break; + case 572: std::get<1>(result) = "HOTKEY_BUILDING_ROAD_PAVED"; break; + case 573: std::get<1>(result) = "HOTKEY_BUILDING_BRIDGE"; break; + case 574: std::get<1>(result) = "HOTKEY_BUILDING_WELL"; break; + case 575: std::get<1>(result) = "HOTKEY_BUILDING_SIEGEENGINE"; break; + case 576: std::get<1>(result) = "HOTKEY_BUILDING_WORKSHOP"; break; + case 577: std::get<1>(result) = "HOTKEY_BUILDING_FURNACE"; break; + case 578: std::get<1>(result) = "HOTKEY_BUILDING_WINDOW_GLASS"; break; + case 579: std::get<1>(result) = "HOTKEY_BUILDING_WINDOW_GEM"; break; + case 580: std::get<1>(result) = "HOTKEY_BUILDING_SHOP"; break; + case 581: std::get<1>(result) = "HOTKEY_BUILDING_ANIMALTRAP"; break; + case 582: std::get<1>(result) = "HOTKEY_BUILDING_CHAIN"; break; + case 583: std::get<1>(result) = "HOTKEY_BUILDING_CAGE"; break; + case 584: std::get<1>(result) = "HOTKEY_BUILDING_TRADEDEPOT"; break; + case 585: std::get<1>(result) = "HOTKEY_BUILDING_TRAP"; break; + case 586: std::get<1>(result) = "HOTKEY_BUILDING_MACHINE"; break; + case 587: std::get<1>(result) = "HOTKEY_BUILDING_INSTRUMENT"; break; + case 588: std::get<1>(result) = "HOTKEY_BUILDING_SUPPORT"; break; + case 589: std::get<1>(result) = "HOTKEY_BUILDING_ARCHERYTARGET"; break; + case 590: std::get<1>(result) = "HOTKEY_BUILDING_TRACTION_BENCH"; break; + case 591: std::get<1>(result) = "HOTKEY_BUILDING_SLAB"; break; + case 592: std::get<1>(result) = "HOTKEY_BUILDING_NEST_BOX"; break; + case 593: std::get<1>(result) = "HOTKEY_BUILDING_BOOKCASE"; break; + case 594: std::get<1>(result) = "HOTKEY_BUILDING_HIVE"; break; + case 595: std::get<1>(result) = "HOTKEY_BUILDING_DISPLAY_FURNITURE"; break; + case 596: std::get<1>(result) = "HOTKEY_BUILDING_MACHINE_SCREW_PUMP"; break; + case 597: std::get<1>(result) = "HOTKEY_BUILDING_MACHINE_WATER_WHEEL"; break; + case 598: std::get<1>(result) = "HOTKEY_BUILDING_MACHINE_WINDMILL"; break; + case 599: std::get<1>(result) = "HOTKEY_BUILDING_MACHINE_GEAR_ASSEMBLY"; break; + case 600: std::get<1>(result) = "HOTKEY_BUILDING_MACHINE_AXLE_VERTICAL"; break; + case 601: std::get<1>(result) = "HOTKEY_BUILDING_MACHINE_AXLE_HORIZONTAL"; break; + case 602: std::get<1>(result) = "HOTKEY_BUILDING_MACHINE_ROLLERS"; break; + case 603: std::get<1>(result) = "HOTKEY_BUILDING_SIEGEENGINE_BALLISTA"; break; + case 604: std::get<1>(result) = "HOTKEY_BUILDING_SIEGEENGINE_CATAPULT"; break; + case 605: std::get<1>(result) = "HOTKEY_BUILDING_TRAP_STONE"; break; + case 606: std::get<1>(result) = "HOTKEY_BUILDING_TRAP_WEAPON"; break; + case 607: std::get<1>(result) = "HOTKEY_BUILDING_TRAP_LEVER"; break; + case 608: std::get<1>(result) = "HOTKEY_BUILDING_TRAP_TRIGGER"; break; + case 609: std::get<1>(result) = "HOTKEY_BUILDING_TRAP_CAGE"; break; + case 610: std::get<1>(result) = "HOTKEY_BUILDING_TRAP_SPIKE"; break; + case 611: std::get<1>(result) = "HOTKEY_BUILDING_CONSTRUCTION"; break; + case 612: std::get<1>(result) = "HOTKEY_BUILDING_CONSTRUCTION_WALL"; break; + case 613: std::get<1>(result) = "HOTKEY_BUILDING_CONSTRUCTION_FLOOR"; break; + case 614: std::get<1>(result) = "HOTKEY_BUILDING_CONSTRUCTION_RAMP"; break; + case 615: std::get<1>(result) = "HOTKEY_BUILDING_CONSTRUCTION_STAIR_UP"; break; + case 616: std::get<1>(result) = "HOTKEY_BUILDING_CONSTRUCTION_STAIR_DOWN"; break; + case 617: std::get<1>(result) = "HOTKEY_BUILDING_CONSTRUCTION_STAIR_UPDOWN"; break; + case 618: std::get<1>(result) = "HOTKEY_BUILDING_CONSTRUCTION_FORTIFICATION"; break; + case 619: std::get<1>(result) = "HOTKEY_BUILDING_CONSTRUCTION_TRACK"; break; + case 620: std::get<1>(result) = "HOTKEY_BUILDING_CONSTRUCTION_TRACK_STOP"; break; + case 621: std::get<1>(result) = "HOTKEY_BUILDING_WORKSHOP_LEATHER"; break; + case 622: std::get<1>(result) = "HOTKEY_BUILDING_WORKSHOP_QUERN"; break; + case 623: std::get<1>(result) = "HOTKEY_BUILDING_WORKSHOP_MILLSTONE"; break; + case 624: std::get<1>(result) = "HOTKEY_BUILDING_WORKSHOP_LOOM"; break; + case 625: std::get<1>(result) = "HOTKEY_BUILDING_WORKSHOP_CLOTHES"; break; + case 626: std::get<1>(result) = "HOTKEY_BUILDING_WORKSHOP_BOWYER"; break; + case 627: std::get<1>(result) = "HOTKEY_BUILDING_WORKSHOP_CARPENTER"; break; + case 628: std::get<1>(result) = "HOTKEY_BUILDING_WORKSHOP_METALSMITH"; break; + case 629: std::get<1>(result) = "HOTKEY_BUILDING_WORKSHOP_LAVAMILL"; break; + case 630: std::get<1>(result) = "HOTKEY_BUILDING_WORKSHOP_JEWELER"; break; + case 631: std::get<1>(result) = "HOTKEY_BUILDING_WORKSHOP_MASON"; break; + case 632: std::get<1>(result) = "HOTKEY_BUILDING_WORKSHOP_BUTCHER"; break; + case 633: std::get<1>(result) = "HOTKEY_BUILDING_WORKSHOP_TANNER"; break; + case 634: std::get<1>(result) = "HOTKEY_BUILDING_WORKSHOP_DYER"; break; + case 635: std::get<1>(result) = "HOTKEY_BUILDING_WORKSHOP_CRAFTSMAN"; break; + case 636: std::get<1>(result) = "HOTKEY_BUILDING_WORKSHOP_SIEGE"; break; + case 637: std::get<1>(result) = "HOTKEY_BUILDING_WORKSHOP_MECHANIC"; break; + case 638: std::get<1>(result) = "HOTKEY_BUILDING_WORKSHOP_STILL"; break; + case 639: std::get<1>(result) = "HOTKEY_BUILDING_WORKSHOP_FARMER"; break; + case 640: std::get<1>(result) = "HOTKEY_BUILDING_WORKSHOP_KITCHEN"; break; + case 641: std::get<1>(result) = "HOTKEY_BUILDING_WORKSHOP_FISHERY"; break; + case 642: std::get<1>(result) = "HOTKEY_BUILDING_WORKSHOP_ASHERY"; break; + case 643: std::get<1>(result) = "HOTKEY_BUILDING_FURNACE_WOOD"; break; + case 644: std::get<1>(result) = "HOTKEY_BUILDING_FURNACE_SMELTER"; break; + case 645: std::get<1>(result) = "HOTKEY_BUILDING_FURNACE_GLASS"; break; + case 646: std::get<1>(result) = "HOTKEY_BUILDING_FURNACE_KILN"; break; + case 647: std::get<1>(result) = "HOTKEY_BUILDING_FURNACE_SMELTER_LAVA"; break; + case 648: std::get<1>(result) = "HOTKEY_BUILDING_FURNACE_GLASS_LAVA"; break; + case 649: std::get<1>(result) = "HOTKEY_BUILDING_FURNACE_KILN_LAVA"; break; + case 650: std::get<1>(result) = "HIVE_INSTALL_COLONY"; break; + case 651: std::get<1>(result) = "HIVE_GATHER_PRODUCTS"; break; + case 652: std::get<1>(result) = "BUILDING_DIM_Y_UP"; break; + case 653: std::get<1>(result) = "BUILDING_DIM_Y_DOWN"; break; + case 654: std::get<1>(result) = "BUILDING_DIM_X_UP"; break; + case 655: std::get<1>(result) = "BUILDING_DIM_X_DOWN"; break; + case 656: std::get<1>(result) = "BUILDING_ORIENT_UP"; break; + case 657: std::get<1>(result) = "BUILDING_ORIENT_LEFT"; break; + case 658: std::get<1>(result) = "BUILDING_ORIENT_RIGHT"; break; + case 659: std::get<1>(result) = "BUILDING_ORIENT_DOWN"; break; + case 660: std::get<1>(result) = "BUILDING_ORIENT_NONE"; break; + case 661: std::get<1>(result) = "BUILDING_VIEW_ITEM"; break; + case 662: std::get<1>(result) = "BUILDING_ADVANCE_STAGE"; break; + case 663: std::get<1>(result) = "BUILDING_EXPAND_CONTRACT"; break; + case 664: std::get<1>(result) = "BUILDING_TRIGGER_ENABLE_WATER"; break; + case 665: std::get<1>(result) = "BUILDING_TRIGGER_MIN_WATER_UP"; break; + case 666: std::get<1>(result) = "BUILDING_TRIGGER_MIN_WATER_DOWN"; break; + case 667: std::get<1>(result) = "BUILDING_TRIGGER_MAX_WATER_UP"; break; + case 668: std::get<1>(result) = "BUILDING_TRIGGER_MAX_WATER_DOWN"; break; + case 669: std::get<1>(result) = "BUILDING_TRIGGER_ENABLE_MAGMA"; break; + case 670: std::get<1>(result) = "BUILDING_TRIGGER_MIN_MAGMA_UP"; break; + case 671: std::get<1>(result) = "BUILDING_TRIGGER_MIN_MAGMA_DOWN"; break; + case 672: std::get<1>(result) = "BUILDING_TRIGGER_MAX_MAGMA_UP"; break; + case 673: std::get<1>(result) = "BUILDING_TRIGGER_MAX_MAGMA_DOWN"; break; + case 674: std::get<1>(result) = "BUILDING_TRIGGER_ENABLE_TRACK_CART"; break; + case 675: std::get<1>(result) = "BUILDING_TRIGGER_MIN_TRACK_CART_DOWN"; break; + case 676: std::get<1>(result) = "BUILDING_TRIGGER_MIN_TRACK_CART_UP"; break; + case 677: std::get<1>(result) = "BUILDING_TRIGGER_MAX_TRACK_CART_DOWN"; break; + case 678: std::get<1>(result) = "BUILDING_TRIGGER_MAX_TRACK_CART_UP"; break; + case 679: std::get<1>(result) = "BUILDING_TRIGGER_ENABLE_CREATURE"; break; + case 680: std::get<1>(result) = "BUILDING_TRIGGER_ENABLE_LOCALS"; break; + case 681: std::get<1>(result) = "BUILDING_TRIGGER_RESETS"; break; + case 682: std::get<1>(result) = "BUILDING_TRIGGER_MIN_SIZE_UP"; break; + case 683: std::get<1>(result) = "BUILDING_TRIGGER_MIN_SIZE_DOWN"; break; + case 684: std::get<1>(result) = "BUILDING_TRIGGER_MAX_SIZE_UP"; break; + case 685: std::get<1>(result) = "BUILDING_TRIGGER_MAX_SIZE_DOWN"; break; + case 686: std::get<1>(result) = "BUILDING_TRIGGER_MIN_SIZE_UP_PLUS"; break; + case 687: std::get<1>(result) = "BUILDING_TRIGGER_MIN_SIZE_DOWN_PLUS"; break; + case 688: std::get<1>(result) = "BUILDING_TRIGGER_MAX_SIZE_UP_PLUS"; break; + case 689: std::get<1>(result) = "BUILDING_TRIGGER_MAX_SIZE_DOWN_PLUS"; break; + case 690: std::get<1>(result) = "BUILDING_ROLLERS_SPEED_UP"; break; + case 691: std::get<1>(result) = "BUILDING_ROLLERS_SPEED_DOWN"; break; + case 692: std::get<1>(result) = "BUILDING_TRACK_STOP_FRICTION_UP"; break; + case 693: std::get<1>(result) = "BUILDING_TRACK_STOP_FRICTION_DOWN"; break; + case 694: std::get<1>(result) = "BUILDING_TRACK_STOP_DUMP"; break; + case 695: std::get<1>(result) = "DESTROYBUILDING"; break; + case 696: std::get<1>(result) = "SUSPENDBUILDING"; break; + case 697: std::get<1>(result) = "BUILDINGLIST_ZOOM_T"; break; + case 698: std::get<1>(result) = "BUILDINGLIST_ZOOM_Q"; break; + case 699: std::get<1>(result) = "RECENTER_ON_LEVER"; break; + case 700: std::get<1>(result) = "ASSIGN_LOCATION"; break; + case 701: std::get<1>(result) = "LOCATION_NEW"; break; + case 702: std::get<1>(result) = "LOCATION_RETIRE"; break; + case 703: std::get<1>(result) = "LOCATION_INN_TAVERN"; break; + case 704: std::get<1>(result) = "LOCATION_TEMPLE"; break; + case 705: std::get<1>(result) = "LOCATION_LIBRARY"; break; + case 706: std::get<1>(result) = "LOCATION_MAIN_HALL"; break; + case 707: std::get<1>(result) = "LOCATION_RENAME"; break; + case 708: std::get<1>(result) = "LOCATION_DETAILS"; break; + case 709: std::get<1>(result) = "LOCATION_RESTRICTION"; break; + case 710: std::get<1>(result) = "LOCATION_SET_NUMBER_1"; break; + case 711: std::get<1>(result) = "LOCATION_SET_NUMBER_2"; break; + case 712: std::get<1>(result) = "HOTKEY_MAKE_ASH"; break; + case 713: std::get<1>(result) = "HOTKEY_MAKE_CHARCOAL"; break; + case 714: std::get<1>(result) = "HOTKEY_MELT_OBJECT"; break; + case 715: std::get<1>(result) = "HOTKEY_GLASS_GREEN"; break; + case 716: std::get<1>(result) = "HOTKEY_GLASS_CLEAR"; break; + case 717: std::get<1>(result) = "HOTKEY_GLASS_CRYSTAL"; break; + case 718: std::get<1>(result) = "HOTKEY_COLLECT_SAND"; break; + case 719: std::get<1>(result) = "HOTKEY_COLLECT_CLAY"; break; + case 720: std::get<1>(result) = "HOTKEY_GLASS_ROUGH"; break; + case 721: std::get<1>(result) = "HOTKEY_GLASS_ARMORSTAND"; break; + case 722: std::get<1>(result) = "HOTKEY_GLASS_BOX"; break; + case 723: std::get<1>(result) = "HOTKEY_GLASS_CABINET"; break; + case 724: std::get<1>(result) = "HOTKEY_GLASS_COFFIN"; break; + case 725: std::get<1>(result) = "HOTKEY_GLASS_FLOODGATE"; break; + case 726: std::get<1>(result) = "HOTKEY_GLASS_HATCH_COVER"; break; + case 727: std::get<1>(result) = "HOTKEY_GLASS_GRATE"; break; + case 728: std::get<1>(result) = "HOTKEY_GLASS_GOBLET"; break; + case 729: std::get<1>(result) = "HOTKEY_GLASS_TOY"; break; + case 730: std::get<1>(result) = "HOTKEY_GLASS_DOOR"; break; + case 731: std::get<1>(result) = "HOTKEY_GLASS_STATUE"; break; + case 732: std::get<1>(result) = "HOTKEY_GLASS_TABLE"; break; + case 733: std::get<1>(result) = "HOTKEY_GLASS_CAGE"; break; + case 734: std::get<1>(result) = "HOTKEY_GLASS_CHAIR"; break; + case 735: std::get<1>(result) = "HOTKEY_GLASS_BLOCKS"; break; + case 736: std::get<1>(result) = "HOTKEY_GLASS_FLASK"; break; + case 737: std::get<1>(result) = "HOTKEY_GLASS_WEAPONRACK"; break; + case 738: std::get<1>(result) = "HOTKEY_GLASS_WINDOW"; break; + case 739: std::get<1>(result) = "HOTKEY_ASHERY_LYE"; break; + case 740: std::get<1>(result) = "HOTKEY_ASHERY_POTASH"; break; + case 741: std::get<1>(result) = "HOTKEY_ASHERY_POTASH_DIRECT"; break; + case 742: std::get<1>(result) = "HOTKEY_CARPENTER_BARREL"; break; + case 743: std::get<1>(result) = "HOTKEY_CARPENTER_BLOCKS"; break; + case 744: std::get<1>(result) = "HOTKEY_CARPENTER_BUCKET"; break; + case 745: std::get<1>(result) = "HOTKEY_CARPENTER_TRAP_ANIMAL"; break; + case 746: std::get<1>(result) = "HOTKEY_CARPENTER_CAGE"; break; + case 747: std::get<1>(result) = "HOTKEY_CARPENTER_ARMORSTAND"; break; + case 748: std::get<1>(result) = "HOTKEY_CARPENTER_BED"; break; + case 749: std::get<1>(result) = "HOTKEY_CARPENTER_CHAIR"; break; + case 750: std::get<1>(result) = "HOTKEY_CARPENTER_COFFIN"; break; + case 751: std::get<1>(result) = "HOTKEY_CARPENTER_DOOR"; break; + case 752: std::get<1>(result) = "HOTKEY_CARPENTER_FLOODGATE"; break; + case 753: std::get<1>(result) = "HOTKEY_CARPENTER_HATCH_COVER"; break; + case 754: std::get<1>(result) = "HOTKEY_CARPENTER_GRATE"; break; + case 755: std::get<1>(result) = "HOTKEY_CARPENTER_CABINET"; break; + case 756: std::get<1>(result) = "HOTKEY_CARPENTER_BIN"; break; + case 757: std::get<1>(result) = "HOTKEY_CARPENTER_BOX"; break; + case 758: std::get<1>(result) = "HOTKEY_CARPENTER_WEAPONRACK"; break; + case 759: std::get<1>(result) = "HOTKEY_CARPENTER_TABLE"; break; + case 760: std::get<1>(result) = "HOTKEY_SIEGE_BALLISTA"; break; + case 761: std::get<1>(result) = "HOTKEY_SIEGE_CATAPULT"; break; + case 762: std::get<1>(result) = "HOTKEY_LEATHER_BOX"; break; + case 763: std::get<1>(result) = "HOTKEY_LEATHER_FLASK"; break; + case 764: std::get<1>(result) = "HOTKEY_LEATHER_SHIRT"; break; + case 765: std::get<1>(result) = "HOTKEY_LEATHER_CLOAK"; break; + case 766: std::get<1>(result) = "HOTKEY_LEATHER_BACKPACK"; break; + case 767: std::get<1>(result) = "HOTKEY_LEATHER_QUIVER"; break; + case 768: std::get<1>(result) = "HOTKEY_LEATHER_IMAGE"; break; + case 769: std::get<1>(result) = "HOTKEY_CLOTHES_MAT_PLANT"; break; + case 770: std::get<1>(result) = "HOTKEY_CLOTHES_MAT_SILK"; break; + case 771: std::get<1>(result) = "HOTKEY_CLOTHES_MAT_YARN"; break; + case 772: std::get<1>(result) = "HOTKEY_CLOTHES_SHIRT"; break; + case 773: std::get<1>(result) = "HOTKEY_CLOTHES_CLOAK"; break; + case 774: std::get<1>(result) = "HOTKEY_CLOTHES_BOX"; break; + case 775: std::get<1>(result) = "HOTKEY_CLOTHES_CHAIN"; break; + case 776: std::get<1>(result) = "HOTKEY_CLOTHES_IMAGE"; break; + case 777: std::get<1>(result) = "HOTKEY_CRAFTS_MAT_STONE"; break; + case 778: std::get<1>(result) = "HOTKEY_CRAFTS_MAT_WOOD"; break; + case 779: std::get<1>(result) = "HOTKEY_CRAFTS_DEC_BONE"; break; + case 780: std::get<1>(result) = "HOTKEY_CRAFTS_DEC_SHELL"; break; + case 781: std::get<1>(result) = "HOTKEY_CRAFTS_DEC_TOOTH"; break; + case 782: std::get<1>(result) = "HOTKEY_CRAFTS_DEC_HORN"; break; + case 783: std::get<1>(result) = "HOTKEY_CRAFTS_DEC_PEARL"; break; + case 784: std::get<1>(result) = "HOTKEY_CRAFTS_TOTEM"; break; + case 785: std::get<1>(result) = "HOTKEY_CRAFTS_CLOTH"; break; + case 786: std::get<1>(result) = "HOTKEY_CRAFTS_SILK"; break; + case 787: std::get<1>(result) = "HOTKEY_CRAFTS_YARN"; break; + case 788: std::get<1>(result) = "HOTKEY_CRAFTS_SEL_WOOD"; break; + case 789: std::get<1>(result) = "HOTKEY_CRAFTS_SEL_BONE"; break; + case 790: std::get<1>(result) = "HOTKEY_CRAFTS_SEL_SHELL"; break; + case 791: std::get<1>(result) = "HOTKEY_CRAFTS_SHELL"; break; + case 792: std::get<1>(result) = "HOTKEY_CRAFTS_TOOTH"; break; + case 793: std::get<1>(result) = "HOTKEY_CRAFTS_HORN"; break; + case 794: std::get<1>(result) = "HOTKEY_CRAFTS_PEARL"; break; + case 795: std::get<1>(result) = "HOTKEY_CRAFTS_BONE"; break; + case 796: std::get<1>(result) = "HOTKEY_CRAFTS_LEATHER"; break; + case 797: std::get<1>(result) = "HOTKEY_CRAFTS_SLAB"; break; + case 798: std::get<1>(result) = "HOTKEY_CRAFTS_MAT_CRAFTS"; break; + case 799: std::get<1>(result) = "HOTKEY_CRAFTS_MAT_GOBLET"; break; + case 800: std::get<1>(result) = "HOTKEY_CRAFTS_MAT_TOY"; break; + case 801: std::get<1>(result) = "HOTKEY_SMITH_WEAPON"; break; + case 802: std::get<1>(result) = "HOTKEY_SMITH_ARMOR"; break; + case 803: std::get<1>(result) = "HOTKEY_SMITH_FURNITURE"; break; + case 804: std::get<1>(result) = "HOTKEY_SMITH_SIEGE"; break; + case 805: std::get<1>(result) = "HOTKEY_SMITH_TRAP"; break; + case 806: std::get<1>(result) = "HOTKEY_SMITH_OTHER"; break; + case 807: std::get<1>(result) = "HOTKEY_SMITH_METAL"; break; + case 808: std::get<1>(result) = "HOTKEY_ALCHEMIST_SOAP"; break; + case 809: std::get<1>(result) = "HOTKEY_STILL_BREW"; break; + case 810: std::get<1>(result) = "HOTKEY_STILL_EXTRACT"; break; + case 811: std::get<1>(result) = "HOTKEY_LOOM_COLLECT_SILK"; break; + case 812: std::get<1>(result) = "HOTKEY_LOOM_WEAVE_CLOTH"; break; + case 813: std::get<1>(result) = "HOTKEY_LOOM_WEAVE_SILK"; break; + case 814: std::get<1>(result) = "HOTKEY_LOOM_WEAVE_YARN"; break; + case 815: std::get<1>(result) = "HOTKEY_LOOM_WEAVE_METAL"; break; + case 816: std::get<1>(result) = "HOTKEY_KITCHEN_COOK_2"; break; + case 817: std::get<1>(result) = "HOTKEY_KITCHEN_COOK_3"; break; + case 818: std::get<1>(result) = "HOTKEY_KITCHEN_COOK_4"; break; + case 819: std::get<1>(result) = "HOTKEY_KITCHEN_RENDER_FAT"; break; + case 820: std::get<1>(result) = "HOTKEY_FARMER_PROCESS"; break; + case 821: std::get<1>(result) = "HOTKEY_FARMER_PROCESS_VIAL"; break; + case 822: std::get<1>(result) = "HOTKEY_FARMER_PROCESS_BAG"; break; + case 823: std::get<1>(result) = "HOTKEY_FARMER_PROCESS_BARREL"; break; + case 824: std::get<1>(result) = "HOTKEY_FARMER_CHEESE"; break; + case 825: std::get<1>(result) = "HOTKEY_FARMER_MILK"; break; + case 826: std::get<1>(result) = "HOTKEY_FARMER_SHEAR_CREATURE"; break; + case 827: std::get<1>(result) = "HOTKEY_FARMER_SPIN_THREAD"; break; + case 828: std::get<1>(result) = "HOTKEY_MILL_MILL"; break; + case 829: std::get<1>(result) = "HOTKEY_KENNEL_CATCH_VERMIN"; break; + case 830: std::get<1>(result) = "HOTKEY_KENNEL_TAME_VERMIN"; break; + case 831: std::get<1>(result) = "HOTKEY_FISHERY_PROCESS"; break; + case 832: std::get<1>(result) = "HOTKEY_FISHERY_EXTRACT"; break; + case 833: std::get<1>(result) = "HOTKEY_FISHERY_CATCH"; break; + case 834: std::get<1>(result) = "HOTKEY_BUTCHER_BUTCHER"; break; + case 835: std::get<1>(result) = "HOTKEY_BUTCHER_EXTRACT"; break; + case 836: std::get<1>(result) = "HOTKEY_BUTCHER_CATCH"; break; + case 837: std::get<1>(result) = "HOTKEY_TANNER_TAN"; break; + case 838: std::get<1>(result) = "HOTKEY_DYER_THREAD"; break; + case 839: std::get<1>(result) = "HOTKEY_DYER_CLOTH"; break; + case 840: std::get<1>(result) = "HOTKEY_JEWELER_FURNITURE"; break; + case 841: std::get<1>(result) = "HOTKEY_JEWELER_FINISHED"; break; + case 842: std::get<1>(result) = "HOTKEY_JEWELER_AMMO"; break; + case 843: std::get<1>(result) = "HOTKEY_JEWELER_CUT"; break; + case 844: std::get<1>(result) = "HOTKEY_JEWELER_ENCRUST"; break; + case 845: std::get<1>(result) = "HOTKEY_MECHANIC_PARTS"; break; + case 846: std::get<1>(result) = "HOTKEY_MECHANIC_TRACTION_BENCH"; break; + case 847: std::get<1>(result) = "HOTKEY_MASON_ARMORSTAND"; break; + case 848: std::get<1>(result) = "HOTKEY_MASON_BLOCKS"; break; + case 849: std::get<1>(result) = "HOTKEY_MASON_CHAIR"; break; + case 850: std::get<1>(result) = "HOTKEY_MASON_COFFIN"; break; + case 851: std::get<1>(result) = "HOTKEY_MASON_DOOR"; break; + case 852: std::get<1>(result) = "HOTKEY_MASON_FLOODGATE"; break; + case 853: std::get<1>(result) = "HOTKEY_MASON_HATCH_COVER"; break; + case 854: std::get<1>(result) = "HOTKEY_MASON_GRATE"; break; + case 855: std::get<1>(result) = "HOTKEY_MASON_CABINET"; break; + case 856: std::get<1>(result) = "HOTKEY_MASON_BOX"; break; + case 857: std::get<1>(result) = "HOTKEY_MASON_STATUE"; break; + case 858: std::get<1>(result) = "HOTKEY_MASON_TABLE"; break; + case 859: std::get<1>(result) = "HOTKEY_MASON_WEAPONRACK"; break; + case 860: std::get<1>(result) = "HOTKEY_MASON_QUERN"; break; + case 861: std::get<1>(result) = "HOTKEY_MASON_MILLSTONE"; break; + case 862: std::get<1>(result) = "HOTKEY_MASON_SLAB"; break; + case 863: std::get<1>(result) = "HOTKEY_TRAP_BRIDGE"; break; + case 864: std::get<1>(result) = "HOTKEY_TRAP_DOOR"; break; + case 865: std::get<1>(result) = "HOTKEY_TRAP_FLOODGATE"; break; + case 866: std::get<1>(result) = "HOTKEY_TRAP_SPIKE"; break; + case 867: std::get<1>(result) = "HOTKEY_TRAP_HATCH"; break; + case 868: std::get<1>(result) = "HOTKEY_TRAP_GRATE_WALL"; break; + case 869: std::get<1>(result) = "HOTKEY_TRAP_GRATE_FLOOR"; break; + case 870: std::get<1>(result) = "HOTKEY_TRAP_BARS_VERTICAL"; break; + case 871: std::get<1>(result) = "HOTKEY_TRAP_BARS_FLOOR"; break; + case 872: std::get<1>(result) = "HOTKEY_TRAP_SUPPORT"; break; + case 873: std::get<1>(result) = "HOTKEY_TRAP_CHAIN"; break; + case 874: std::get<1>(result) = "HOTKEY_TRAP_CAGE"; break; + case 875: std::get<1>(result) = "HOTKEY_TRAP_GEAR_ASSEMBLY"; break; + case 876: std::get<1>(result) = "HOTKEY_TRAP_TRACK_STOP"; break; + case 877: std::get<1>(result) = "HOTKEY_TRAP_PULL_LEVER"; break; + case 878: std::get<1>(result) = "BUILDJOB_STOCKPILE_MASTER"; break; + case 879: std::get<1>(result) = "BUILDJOB_STOCKPILE_LINK_ANYWHERE"; break; + case 880: std::get<1>(result) = "BUILDJOB_STOCKPILE_GIVE_TO"; break; + case 881: std::get<1>(result) = "BUILDJOB_STOCKPILE_DELETE_CHILD"; break; + case 882: std::get<1>(result) = "BUILDJOB_STOCKPILE_SETTINGS"; break; + case 883: std::get<1>(result) = "BUILDJOB_STOCKPILE_BARREL_UP"; break; + case 884: std::get<1>(result) = "BUILDJOB_STOCKPILE_BARREL_DOWN"; break; + case 885: std::get<1>(result) = "BUILDJOB_STOCKPILE_BARREL_ZERO"; break; + case 886: std::get<1>(result) = "BUILDJOB_STOCKPILE_BARREL_MAX"; break; + case 887: std::get<1>(result) = "BUILDJOB_STOCKPILE_BIN_UP"; break; + case 888: std::get<1>(result) = "BUILDJOB_STOCKPILE_BIN_DOWN"; break; + case 889: std::get<1>(result) = "BUILDJOB_STOCKPILE_BIN_ZERO"; break; + case 890: std::get<1>(result) = "BUILDJOB_STOCKPILE_BIN_MAX"; break; + case 891: std::get<1>(result) = "BUILDJOB_STOCKPILE_WHEELBARROW"; break; + case 892: std::get<1>(result) = "STOCKPILE_ANIMAL"; break; + case 893: std::get<1>(result) = "STOCKPILE_FOOD"; break; + case 894: std::get<1>(result) = "STOCKPILE_WEAPON"; break; + case 895: std::get<1>(result) = "STOCKPILE_ARMOR"; break; + case 896: std::get<1>(result) = "STOCKPILE_CUSTOM"; break; + case 897: std::get<1>(result) = "STOCKPILE_CUSTOM_SETTINGS"; break; + case 898: std::get<1>(result) = "STOCKPILE_FURNITURE"; break; + case 899: std::get<1>(result) = "STOCKPILE_GRAVEYARD"; break; + case 900: std::get<1>(result) = "STOCKPILE_REFUSE"; break; + case 901: std::get<1>(result) = "STOCKPILE_WOOD"; break; + case 902: std::get<1>(result) = "STOCKPILE_STONE"; break; + case 903: std::get<1>(result) = "STOCKPILE_GEM"; break; + case 904: std::get<1>(result) = "STOCKPILE_BARBLOCK"; break; + case 905: std::get<1>(result) = "STOCKPILE_CLOTH"; break; + case 906: std::get<1>(result) = "STOCKPILE_LEATHER"; break; + case 907: std::get<1>(result) = "STOCKPILE_AMMO"; break; + case 908: std::get<1>(result) = "STOCKPILE_COINS"; break; + case 909: std::get<1>(result) = "STOCKPILE_FINISHED"; break; + case 910: std::get<1>(result) = "STOCKPILE_SHEET"; break; + case 911: std::get<1>(result) = "STOCKPILE_NONE"; break; + case 912: std::get<1>(result) = "STOCKPILE_SETTINGS_ENABLE"; break; + case 913: std::get<1>(result) = "STOCKPILE_SETTINGS_DISABLE"; break; + case 914: std::get<1>(result) = "STOCKPILE_SETTINGS_PERMIT_ALL"; break; + case 915: std::get<1>(result) = "STOCKPILE_SETTINGS_FORBID_ALL"; break; + case 916: std::get<1>(result) = "STOCKPILE_SETTINGS_PERMIT_SUB"; break; + case 917: std::get<1>(result) = "STOCKPILE_SETTINGS_FORBID_SUB"; break; + case 918: std::get<1>(result) = "STOCKPILE_SETTINGS_SPECIFIC1"; break; + case 919: std::get<1>(result) = "STOCKPILE_SETTINGS_SPECIFIC2"; break; + case 920: std::get<1>(result) = "CIVZONE_NAME"; break; + case 921: std::get<1>(result) = "CIVZONE_REMOVE"; break; + case 922: std::get<1>(result) = "CIVZONE_REMOVE_ZONE"; break; + case 923: std::get<1>(result) = "CIVZONE_SHAPE"; break; + case 924: std::get<1>(result) = "CIVZONE_NEXT"; break; + case 925: std::get<1>(result) = "CIVZONE_WATER_SOURCE"; break; + case 926: std::get<1>(result) = "CIVZONE_FISH"; break; + case 927: std::get<1>(result) = "CIVZONE_GATHER"; break; + case 928: std::get<1>(result) = "CIVZONE_DUMP"; break; + case 929: std::get<1>(result) = "CIVZONE_POND"; break; + case 930: std::get<1>(result) = "CIVZONE_HOSPITAL"; break; + case 931: std::get<1>(result) = "CIVZONE_SAND_COLLECT"; break; + case 932: std::get<1>(result) = "CIVZONE_CLAY_COLLECT"; break; + case 933: std::get<1>(result) = "CIVZONE_ACTIVE"; break; + case 934: std::get<1>(result) = "CIVZONE_MEETING"; break; + case 935: std::get<1>(result) = "CIVZONE_ANIMAL_TRAINING"; break; + case 936: std::get<1>(result) = "CIVZONE_PEN"; break; + case 937: std::get<1>(result) = "CIVZONE_PEN_OPTIONS"; break; + case 938: std::get<1>(result) = "CIVZONE_POND_OPTIONS"; break; + case 939: std::get<1>(result) = "CIVZONE_POND_WATER"; break; + case 940: std::get<1>(result) = "CIVZONE_HOSPITAL_OPTIONS"; break; + case 941: std::get<1>(result) = "CIVZONE_GATHER_OPTIONS"; break; + case 942: std::get<1>(result) = "CIVZONE_GATHER_OPTIONS_PICK_TREES"; break; + case 943: std::get<1>(result) = "CIVZONE_GATHER_OPTIONS_PICK_SHRUBS"; break; + case 944: std::get<1>(result) = "CIVZONE_GATHER_OPTIONS_GATHER_FALLEN"; break; + case 945: std::get<1>(result) = "STORES_VIEW"; break; + case 946: std::get<1>(result) = "STORES_ZOOM"; break; + case 947: std::get<1>(result) = "STORES_FORBID"; break; + case 948: std::get<1>(result) = "STORES_MELT"; break; + case 949: std::get<1>(result) = "STORES_DUMP"; break; + case 950: std::get<1>(result) = "STORES_HIDE"; break; + case 951: std::get<1>(result) = "PET_BUTCHER"; break; + case 952: std::get<1>(result) = "PET_GELD"; break; + case 953: std::get<1>(result) = "ANIMAL_SELECT_TRAINER"; break; + case 954: std::get<1>(result) = "ANIMAL_WAR_TRAINING"; break; + case 955: std::get<1>(result) = "ANIMAL_HUNTING_TRAINING"; break; + case 956: std::get<1>(result) = "KITCHEN_COOK"; break; + case 957: std::get<1>(result) = "KITCHEN_BREW"; break; + case 958: std::get<1>(result) = "ORDERS_AUTOFORBID"; break; + case 959: std::get<1>(result) = "ORDERS_FORBID_PROJECTILE"; break; + case 960: std::get<1>(result) = "ORDERS_FORBID_YOUR_CORPSE"; break; + case 961: std::get<1>(result) = "ORDERS_FORBID_YOUR_ITEMS"; break; + case 962: std::get<1>(result) = "ORDERS_FORBID_OTHER_CORPSE"; break; + case 963: std::get<1>(result) = "ORDERS_FORBID_OTHER_ITEMS"; break; + case 964: std::get<1>(result) = "ORDERS_REFUSE_GATHER"; break; + case 965: std::get<1>(result) = "ORDERS_REFUSE_OUTSIDE"; break; + case 966: std::get<1>(result) = "ORDERS_REFUSE_OUTSIDE_VERMIN"; break; + case 967: std::get<1>(result) = "ORDERS_REFUSE_DUMP_CORPSE"; break; + case 968: std::get<1>(result) = "ORDERS_REFUSE_DUMP_SKULL"; break; + case 969: std::get<1>(result) = "ORDERS_REFUSE_DUMP_BONE"; break; + case 970: std::get<1>(result) = "ORDERS_REFUSE_DUMP_SHELL"; break; + case 971: std::get<1>(result) = "ORDERS_REFUSE_DUMP_SKIN"; break; + case 972: std::get<1>(result) = "ORDERS_REFUSE_DUMP_OTHER"; break; + case 973: std::get<1>(result) = "ORDERS_REFUSE_DUMP_STRAND_TISSUE"; break; + case 974: std::get<1>(result) = "ORDERS_GATHER_FURNITURE"; break; + case 975: std::get<1>(result) = "ORDERS_GATHER_ANIMALS"; break; + case 976: std::get<1>(result) = "ORDERS_GATHER_FOOD"; break; + case 977: std::get<1>(result) = "ORDERS_GATHER_BODIES"; break; + case 978: std::get<1>(result) = "ORDERS_REFUSE"; break; + case 979: std::get<1>(result) = "ORDERS_GATHER_STONE"; break; + case 980: std::get<1>(result) = "ORDERS_GATHER_WOOD"; break; + case 981: std::get<1>(result) = "ORDERS_ALL_HARVEST"; break; + case 982: std::get<1>(result) = "ORDERS_SAMEPILE"; break; + case 983: std::get<1>(result) = "ORDERS_MIXFOODS"; break; + case 984: std::get<1>(result) = "ORDERS_LOOM"; break; + case 985: std::get<1>(result) = "ORDERS_DYED_CLOTH"; break; + case 986: std::get<1>(result) = "ORDERS_EXCEPTIONS"; break; + case 987: std::get<1>(result) = "ORDERS_WORKSHOP"; break; + case 988: std::get<1>(result) = "ORDERS_COLLECT_WEB"; break; + case 989: std::get<1>(result) = "ORDERS_SLAUGHTER"; break; + case 990: std::get<1>(result) = "ORDERS_BUTCHER"; break; + case 991: std::get<1>(result) = "ORDERS_TAN"; break; + case 992: std::get<1>(result) = "ORDERS_AUTO_FISHERY"; break; + case 993: std::get<1>(result) = "ORDERS_AUTO_KITCHEN"; break; + case 994: std::get<1>(result) = "ORDERS_AUTO_KILN"; break; + case 995: std::get<1>(result) = "ORDERS_AUTO_SMELTER"; break; + case 996: std::get<1>(result) = "ORDERS_AUTO_OTHER"; break; + case 997: std::get<1>(result) = "ORDERS_ZONE"; break; + case 998: std::get<1>(result) = "ORDERS_ZONE_DRINKING"; break; + case 999: std::get<1>(result) = "ORDERS_ZONE_FISHING"; break; + case 1000: std::get<1>(result) = "D_ONESTEP"; break; + case 1001: std::get<1>(result) = "D_PAUSE"; break; + case 1002: std::get<1>(result) = "D_DEPOT"; break; + case 1003: std::get<1>(result) = "D_HOT_KEYS"; break; + case 1004: std::get<1>(result) = "D_HOTKEY1"; break; + case 1005: std::get<1>(result) = "D_HOTKEY2"; break; + case 1006: std::get<1>(result) = "D_HOTKEY3"; break; + case 1007: std::get<1>(result) = "D_HOTKEY4"; break; + case 1008: std::get<1>(result) = "D_HOTKEY5"; break; + case 1009: std::get<1>(result) = "D_HOTKEY6"; break; + case 1010: std::get<1>(result) = "D_HOTKEY7"; break; + case 1011: std::get<1>(result) = "D_HOTKEY8"; break; + case 1012: std::get<1>(result) = "D_HOTKEY9"; break; + case 1013: std::get<1>(result) = "D_HOTKEY10"; break; + case 1014: std::get<1>(result) = "D_HOTKEY11"; break; + case 1015: std::get<1>(result) = "D_HOTKEY12"; break; + case 1016: std::get<1>(result) = "D_HOTKEY13"; break; + case 1017: std::get<1>(result) = "D_HOTKEY14"; break; + case 1018: std::get<1>(result) = "D_HOTKEY15"; break; + case 1019: std::get<1>(result) = "D_HOTKEY16"; break; + case 1020: std::get<1>(result) = "D_HOTKEY_CHANGE_NAME"; break; + case 1021: std::get<1>(result) = "D_HOTKEY_ZOOM"; break; + case 1022: std::get<1>(result) = "D_ANNOUNCE"; break; + case 1023: std::get<1>(result) = "D_REPORTS"; break; + case 1024: std::get<1>(result) = "D_BUILDING"; break; + case 1025: std::get<1>(result) = "D_CIVLIST"; break; + case 1026: std::get<1>(result) = "D_DESIGNATE"; break; + case 1027: std::get<1>(result) = "D_ARTLIST"; break; + case 1028: std::get<1>(result) = "D_NOBLES"; break; + case 1029: std::get<1>(result) = "D_ORDERS"; break; + case 1030: std::get<1>(result) = "D_PETITIONS"; break; + case 1031: std::get<1>(result) = "D_LOCATIONS"; break; + case 1032: std::get<1>(result) = "D_MILITARY"; break; + case 1033: std::get<1>(result) = "D_ROOMS"; break; + case 1034: std::get<1>(result) = "D_SQUADS"; break; + case 1035: std::get<1>(result) = "D_STOCKPILES"; break; + case 1036: std::get<1>(result) = "D_CIVZONE"; break; + case 1037: std::get<1>(result) = "D_VIEWUNIT"; break; + case 1038: std::get<1>(result) = "D_JOBLIST"; break; + case 1039: std::get<1>(result) = "D_UNITLIST"; break; + case 1040: std::get<1>(result) = "D_LOOK"; break; + case 1041: std::get<1>(result) = "D_HAULING"; break; + case 1042: std::get<1>(result) = "D_HAULING_NEW_ROUTE"; break; + case 1043: std::get<1>(result) = "D_HAULING_NEW_STOP"; break; + case 1044: std::get<1>(result) = "D_HAULING_REMOVE"; break; + case 1045: std::get<1>(result) = "D_HAULING_PROMOTE"; break; + case 1046: std::get<1>(result) = "D_HAULING_VEHICLE"; break; + case 1047: std::get<1>(result) = "D_HAULING_NICKNAME"; break; + case 1048: std::get<1>(result) = "D_HAULING_STOP_NEW_DEPART"; break; + case 1049: std::get<1>(result) = "D_HAULING_STOP_NEW_LINK"; break; + case 1050: std::get<1>(result) = "D_HAULING_STOP_REMOVE"; break; + case 1051: std::get<1>(result) = "D_HAULING_STOP_SL_SELECT_PILE"; break; + case 1052: std::get<1>(result) = "D_HAULING_STOP_SL_TAKE_GIVE"; break; + case 1053: std::get<1>(result) = "D_HAULING_STOP_LC_DIR"; break; + case 1054: std::get<1>(result) = "D_HAULING_STOP_LC_MODE"; break; + case 1055: std::get<1>(result) = "D_HAULING_STOP_LC_TIMER_UP"; break; + case 1056: std::get<1>(result) = "D_HAULING_STOP_LC_TIMER_DOWN"; break; + case 1057: std::get<1>(result) = "D_HAULING_STOP_LC_FULLNESS_UP"; break; + case 1058: std::get<1>(result) = "D_HAULING_STOP_LC_FULLNESS_DOWN"; break; + case 1059: std::get<1>(result) = "D_HAULING_STOP_LC_MORE_LESS"; break; + case 1060: std::get<1>(result) = "D_HAULING_STOP_LC_DESIRED_TOTAL"; break; + case 1061: std::get<1>(result) = "D_HAULING_STOP_LC_CHANGE"; break; + case 1062: std::get<1>(result) = "D_HAULING_STOP_LC_ADVANCED"; break; + case 1063: std::get<1>(result) = "D_BURROWS"; break; + case 1064: std::get<1>(result) = "D_BURROWS_ADD"; break; + case 1065: std::get<1>(result) = "D_BURROWS_DELETE"; break; + case 1066: std::get<1>(result) = "D_BURROWS_DEFINE"; break; + case 1067: std::get<1>(result) = "D_BURROWS_ADD_UNIT"; break; + case 1068: std::get<1>(result) = "D_BURROWS_WORKSHOP_LIMIT"; break; + case 1069: std::get<1>(result) = "D_BURROWS_CENTER"; break; + case 1070: std::get<1>(result) = "D_BURROWS_NAME"; break; + case 1071: std::get<1>(result) = "D_BURROWS_CHANGE_SELECTION"; break; + case 1072: std::get<1>(result) = "D_BURROWS_BRUSH"; break; + case 1073: std::get<1>(result) = "D_BURROWS_REMOVE"; break; + case 1074: std::get<1>(result) = "D_NOTE"; break; + case 1075: std::get<1>(result) = "D_NOTE_PLACE"; break; + case 1076: std::get<1>(result) = "D_NOTE_DELETE"; break; + case 1077: std::get<1>(result) = "D_NOTE_NAME"; break; + case 1078: std::get<1>(result) = "D_NOTE_ENTER"; break; + case 1079: std::get<1>(result) = "D_NOTE_ADOPT_SYMBOL"; break; + case 1080: std::get<1>(result) = "D_NOTE_CHANGE_SELECTION"; break; + case 1081: std::get<1>(result) = "D_NOTE_POINTS"; break; + case 1082: std::get<1>(result) = "D_NOTE_ROUTE"; break; + case 1083: std::get<1>(result) = "D_NOTE_ROUTE_ADD"; break; + case 1084: std::get<1>(result) = "D_NOTE_ROUTE_EDIT"; break; + case 1085: std::get<1>(result) = "D_NOTE_ROUTE_DELETE"; break; + case 1086: std::get<1>(result) = "D_NOTE_ROUTE_CENTER"; break; + case 1087: std::get<1>(result) = "D_NOTE_ROUTE_NAME"; break; + case 1088: std::get<1>(result) = "D_BUILDJOB"; break; + case 1089: std::get<1>(result) = "D_STATUS"; break; + case 1090: std::get<1>(result) = "D_STATUS_OVERALL_HEALTH_RECENTER"; break; + case 1091: std::get<1>(result) = "D_BUILDITEM"; break; + case 1092: std::get<1>(result) = "D_BITEM_FORBID"; break; + case 1093: std::get<1>(result) = "D_BITEM_DUMP"; break; + case 1094: std::get<1>(result) = "D_BITEM_MELT"; break; + case 1095: std::get<1>(result) = "D_BITEM_HIDE"; break; + case 1096: std::get<1>(result) = "D_BITEM_NAME"; break; + case 1097: std::get<1>(result) = "D_LOOK_FORBID"; break; + case 1098: std::get<1>(result) = "D_LOOK_DUMP"; break; + case 1099: std::get<1>(result) = "D_LOOK_MELT"; break; + case 1100: std::get<1>(result) = "D_LOOK_HIDE"; break; + case 1101: std::get<1>(result) = "D_LOOK_FOLLOW"; break; + case 1102: std::get<1>(result) = "D_LOOK_ARENA_CREATURE"; break; + case 1103: std::get<1>(result) = "D_LOOK_ARENA_ADV_MODE"; break; + case 1104: std::get<1>(result) = "D_LOOK_ARENA_WATER"; break; + case 1105: std::get<1>(result) = "D_LOOK_ARENA_MAGMA"; break; + case 1106: std::get<1>(result) = "ARENA_CREATURE_SIDE_DOWN"; break; + case 1107: std::get<1>(result) = "ARENA_CREATURE_SIDE_UP"; break; + case 1108: std::get<1>(result) = "ARENA_CREATURE_NEW_ITEM"; break; + case 1109: std::get<1>(result) = "ARENA_CREATURE_BLANK_LIST"; break; + case 1110: std::get<1>(result) = "ARENA_CREATURE_REMOVE_ITEM"; break; + case 1111: std::get<1>(result) = "ARENA_CREATURE_UNDEAD"; break; + case 1112: std::get<1>(result) = "ARENA_CREATURE_STRING"; break; + case 1113: std::get<1>(result) = "ARENA_CONFLICT_STATE_1"; break; + case 1114: std::get<1>(result) = "ARENA_CONFLICT_STATE_2"; break; + case 1115: std::get<1>(result) = "ARENA_MORALE"; break; + case 1116: std::get<1>(result) = "ARENA_WEATHER"; break; + case 1117: std::get<1>(result) = "ARENA_WEATHER_SNOW"; break; + case 1118: std::get<1>(result) = "ARENA_WEATHER_MUD"; break; + case 1119: std::get<1>(result) = "ARENA_WEATHER_CLEAR_SPATTER"; break; + case 1120: std::get<1>(result) = "D_LOOK_ARENA_TREE"; break; + case 1121: std::get<1>(result) = "ARENA_TREE_FILTER"; break; + case 1122: std::get<1>(result) = "ARENA_TREE_AGE"; break; + case 1123: std::get<1>(result) = "D_LOOK_ARENA_MOUNT"; break; + case 1124: std::get<1>(result) = "ASSIGNTRADE_VIEW"; break; + case 1125: std::get<1>(result) = "ASSIGNTRADE_STRING"; break; + case 1126: std::get<1>(result) = "ASSIGNTRADE_EXCLUDE_PROHIBITED"; break; + case 1127: std::get<1>(result) = "ASSIGNTRADE_PENDING"; break; + case 1128: std::get<1>(result) = "ASSIGNTRADE_SORT"; break; + case 1129: std::get<1>(result) = "NOBLELIST_REPLACE"; break; + case 1130: std::get<1>(result) = "NOBLELIST_SETTINGS"; break; + case 1131: std::get<1>(result) = "NOBLELIST_CAPITAL"; break; + case 1132: std::get<1>(result) = "NOBLELIST_VIEW_CANDIDATE"; break; + case 1133: std::get<1>(result) = "TRADE_VIEW"; break; + case 1134: std::get<1>(result) = "TRADE_TRADE"; break; + case 1135: std::get<1>(result) = "TRADE_OFFER"; break; + case 1136: std::get<1>(result) = "TRADE_SEIZE"; break; + case 1137: std::get<1>(result) = "MILITARY_ACTIVATE"; break; + case 1138: std::get<1>(result) = "MILITARY_VIEW"; break; + case 1139: std::get<1>(result) = "MILITARY_WEAPON"; break; + case 1140: std::get<1>(result) = "MILITARY_ZOOM"; break; + case 1141: std::get<1>(result) = "ANNOUNCE_ZOOM"; break; + case 1142: std::get<1>(result) = "ANNOUNCE_ZOOM_2"; break; + case 1143: std::get<1>(result) = "UNITJOB_REMOVE_CRE"; break; + case 1144: std::get<1>(result) = "UNITJOB_ZOOM_CRE"; break; + case 1145: std::get<1>(result) = "UNITJOB_ZOOM_BUILD"; break; + case 1146: std::get<1>(result) = "UNITJOB_VIEW_UNIT"; break; + case 1147: std::get<1>(result) = "UNITJOB_VIEW_JOB"; break; + case 1148: std::get<1>(result) = "UNITJOB_MANAGER"; break; + case 1149: std::get<1>(result) = "MANAGER_NEW_ORDER"; break; + case 1150: std::get<1>(result) = "MANAGER_REMOVE"; break; + case 1151: std::get<1>(result) = "MANAGER_PROMOTE"; break; + case 1152: std::get<1>(result) = "MANAGER_MAX"; break; + case 1153: std::get<1>(result) = "MANAGER_WAGES"; break; + case 1154: std::get<1>(result) = "MANAGER_CONDITIONS"; break; + case 1155: std::get<1>(result) = "MANAGER_DETAILS"; break; + case 1156: std::get<1>(result) = "WORK_ORDER_CONDITION_ADD_ITEM"; break; + case 1157: std::get<1>(result) = "WORK_ORDER_CONDITION_ADD_ORDER"; break; + case 1158: std::get<1>(result) = "WORK_ORDER_CONDITION_ITEM_TYPE"; break; + case 1159: std::get<1>(result) = "WORK_ORDER_CONDITION_ITEM_MATERIAL"; break; + case 1160: std::get<1>(result) = "WORK_ORDER_CONDITION_ITEM_TRAITS"; break; + case 1161: std::get<1>(result) = "WORK_ORDER_CONDITION_ITEM_INEQUALITY"; break; + case 1162: std::get<1>(result) = "WORK_ORDER_CONDITION_ITEM_NUMBER"; break; + case 1163: std::get<1>(result) = "WORK_ORDER_CONDITION_DELETE"; break; + case 1164: std::get<1>(result) = "WORK_ORDER_CONDITION_ORDER_ACTIVATION"; break; + case 1165: std::get<1>(result) = "WORK_ORDER_CONDITION_REAGENTS"; break; + case 1166: std::get<1>(result) = "WORK_ORDER_CONDITION_PRODUCTS"; break; + case 1167: std::get<1>(result) = "DESIGNATE_BITEM"; break; + case 1168: std::get<1>(result) = "DESIGNATE_CLAIM"; break; + case 1169: std::get<1>(result) = "DESIGNATE_UNCLAIM"; break; + case 1170: std::get<1>(result) = "DESIGNATE_MELT"; break; + case 1171: std::get<1>(result) = "DESIGNATE_NO_MELT"; break; + case 1172: std::get<1>(result) = "DESIGNATE_DUMP"; break; + case 1173: std::get<1>(result) = "DESIGNATE_NO_DUMP"; break; + case 1174: std::get<1>(result) = "DESIGNATE_HIDE"; break; + case 1175: std::get<1>(result) = "DESIGNATE_NO_HIDE"; break; + case 1176: std::get<1>(result) = "DESIGNATE_DIG"; break; + case 1177: std::get<1>(result) = "DESIGNATE_DIG_REMOVE_STAIRS_RAMPS"; break; + case 1178: std::get<1>(result) = "DESIGNATE_TRAFFIC"; break; + case 1179: std::get<1>(result) = "DESIGNATE_TRAFFIC_HIGH"; break; + case 1180: std::get<1>(result) = "DESIGNATE_TRAFFIC_NORMAL"; break; + case 1181: std::get<1>(result) = "DESIGNATE_TRAFFIC_LOW"; break; + case 1182: std::get<1>(result) = "DESIGNATE_TRAFFIC_RESTRICTED"; break; + case 1183: std::get<1>(result) = "DESIGNATE_TRAFFIC_INCREASE_WEIGHT"; break; + case 1184: std::get<1>(result) = "DESIGNATE_TRAFFIC_DECREASE_WEIGHT"; break; + case 1185: std::get<1>(result) = "DESIGNATE_TRAFFIC_INCREASE_WEIGHT_MORE"; break; + case 1186: std::get<1>(result) = "DESIGNATE_TRAFFIC_DECREASE_WEIGHT_MORE"; break; + case 1187: std::get<1>(result) = "DESIGNATE_STAIR_UP"; break; + case 1188: std::get<1>(result) = "DESIGNATE_STAIR_DOWN"; break; + case 1189: std::get<1>(result) = "DESIGNATE_STAIR_UPDOWN"; break; + case 1190: std::get<1>(result) = "DESIGNATE_RAMP"; break; + case 1191: std::get<1>(result) = "DESIGNATE_CHANNEL"; break; + case 1192: std::get<1>(result) = "DESIGNATE_CHOP"; break; + case 1193: std::get<1>(result) = "DESIGNATE_PLANTS"; break; + case 1194: std::get<1>(result) = "DESIGNATE_SMOOTH"; break; + case 1195: std::get<1>(result) = "DESIGNATE_ENGRAVE"; break; + case 1196: std::get<1>(result) = "DESIGNATE_DETAILS"; break; + case 1197: std::get<1>(result) = "DESIGNATE_FORTIFY"; break; + case 1198: std::get<1>(result) = "DESIGNATE_TRACK"; break; + case 1199: std::get<1>(result) = "DESIGNATE_TOGGLE_ENGRAVING"; break; + case 1200: std::get<1>(result) = "DESIGNATE_STANDARD_MARKER"; break; + case 1201: std::get<1>(result) = "DESIGNATE_MINE_MODE"; break; + case 1202: std::get<1>(result) = "DESIGNATE_TOGGLE_MARKER"; break; + case 1203: std::get<1>(result) = "DESIGNATE_UNDO"; break; + case 1204: std::get<1>(result) = "DESIGNATE_REMOVE_CONSTRUCTION"; break; + case 1205: std::get<1>(result) = "ITEM_DESCRIPTION"; break; + case 1206: std::get<1>(result) = "ITEM_FORBID"; break; + case 1207: std::get<1>(result) = "ITEM_MELT"; break; + case 1208: std::get<1>(result) = "ITEM_DUMP"; break; + case 1209: std::get<1>(result) = "ITEM_HIDE"; break; + case 1210: std::get<1>(result) = "UNITVIEW_CUSTOMIZE"; break; + case 1211: std::get<1>(result) = "UNITVIEW_HEALTH"; break; + case 1212: std::get<1>(result) = "UNITVIEW_RELATIONSHIPS"; break; + case 1213: std::get<1>(result) = "UNITVIEW_RELATIONSHIPS_ZOOM"; break; + case 1214: std::get<1>(result) = "UNITVIEW_RELATIONSHIPS_VIEW"; break; + case 1215: std::get<1>(result) = "UNITVIEW_KILLS"; break; + case 1216: std::get<1>(result) = "UNITVIEW_GEN"; break; + case 1217: std::get<1>(result) = "UNITVIEW_INV"; break; + case 1218: std::get<1>(result) = "UNITVIEW_PRF"; break; + case 1219: std::get<1>(result) = "UNITVIEW_WND"; break; + case 1220: std::get<1>(result) = "UNITVIEW_FOLLOW"; break; + case 1221: std::get<1>(result) = "UNITVIEW_NEXT"; break; + case 1222: std::get<1>(result) = "UNITVIEW_SLAUGHTER"; break; + case 1223: std::get<1>(result) = "UNITVIEW_GELD"; break; + case 1224: std::get<1>(result) = "UNITVIEW_GEN_COMBAT"; break; + case 1225: std::get<1>(result) = "UNITVIEW_GEN_LABOR"; break; + case 1226: std::get<1>(result) = "UNITVIEW_GEN_MISC"; break; + case 1227: std::get<1>(result) = "UNITVIEW_PRF_PROF"; break; + case 1228: std::get<1>(result) = "UNITVIEW_PRF_PET"; break; + case 1229: std::get<1>(result) = "UNITVIEW_PRF_EXPEL"; break; + case 1230: std::get<1>(result) = "UNITVIEW_PRF_VIEW"; break; + case 1231: std::get<1>(result) = "UNITVIEW_PRF_NEW_SQUAD"; break; + case 1232: std::get<1>(result) = "UNITVIEW_PRF_REMOVE_FROM_SQUAD"; break; + case 1233: std::get<1>(result) = "UNITVIEW_PRF_NAME_CURRENT_SQUAD"; break; + case 1234: std::get<1>(result) = "UNITVIEW_PRF_NAME_SELECTED_SQUAD"; break; + case 1235: std::get<1>(result) = "UNITVIEW_PRF_OCCUPATION"; break; + case 1236: std::get<1>(result) = "CUSTOMIZE_UNIT_NICKNAME"; break; + case 1237: std::get<1>(result) = "CUSTOMIZE_UNIT_PROFNAME"; break; + case 1238: std::get<1>(result) = "IMAGE_CREATOR_FILTER"; break; + case 1239: std::get<1>(result) = "IMAGE_CREATOR_NAME"; break; + case 1240: std::get<1>(result) = "IMAGE_CREATOR_DONE"; break; + case 1241: std::get<1>(result) = "CIV_RAID"; break; + case 1242: std::get<1>(result) = "CIV_CENTER_ON_FORT"; break; + case 1243: std::get<1>(result) = "CIV_HOLDINGS"; break; + case 1244: std::get<1>(result) = "CIV_MAP_LEGEND"; break; + case 1245: std::get<1>(result) = "CIV_REMOVE_MISSION"; break; + case 1246: std::get<1>(result) = "CIV_RESCUE"; break; + case 1247: std::get<1>(result) = "CIV_RECOVER"; break; + case 1248: std::get<1>(result) = "CIV_WORLD"; break; + case 1249: std::get<1>(result) = "CIV_MISSIONS"; break; + case 1250: std::get<1>(result) = "CIV_MISSION_DETAILS"; break; + case 1251: std::get<1>(result) = "CIV_MISSION_FREE_CAPTIVES"; break; + case 1252: std::get<1>(result) = "CIV_MISSION_RELEASE_OTHERS"; break; + case 1253: std::get<1>(result) = "CIV_MISSION_TAKE_ARTIFACTS"; break; + case 1254: std::get<1>(result) = "CIV_MISSION_TAKE_ITEMS"; break; + case 1255: std::get<1>(result) = "CIV_MISSION_TAKE_LIVESTOCK"; break; + case 1256: std::get<1>(result) = "CIV_MISSION_RAID"; break; + case 1257: std::get<1>(result) = "CIV_MISSION_PILLAGE"; break; + case 1258: std::get<1>(result) = "CIV_MISSION_RAZE"; break; + case 1259: std::get<1>(result) = "CIV_MISSION_TRIBUTE_ONE_TIME"; break; + case 1260: std::get<1>(result) = "CIV_MISSION_TRIBUTE_ONGOING"; break; + case 1261: std::get<1>(result) = "CIV_MISSION_CONQUER"; break; + case 1262: std::get<1>(result) = "CIV_MISSION_DEMAND_SURRENDER"; break; + case 1263: std::get<1>(result) = "CIV_NEWS"; break; + case 1264: std::get<1>(result) = "CIV_PEOPLE"; break; + case 1265: std::get<1>(result) = "CIV_ARTIFACTS"; break; + case 1266: std::get<1>(result) = "CIV_CIVS"; break; + case 1267: std::get<1>(result) = "D_MILITARY_CREATE_SQUAD"; break; + case 1268: std::get<1>(result) = "D_MILITARY_DISBAND_SQUAD"; break; + case 1269: std::get<1>(result) = "D_MILITARY_CREATE_SUB_SQUAD"; break; + case 1270: std::get<1>(result) = "D_MILITARY_CANCEL_ORDERS"; break; + case 1271: std::get<1>(result) = "D_MILITARY_POSITIONS"; break; + case 1272: std::get<1>(result) = "D_MILITARY_ALERTS"; break; + case 1273: std::get<1>(result) = "D_MILITARY_ALERTS_ADD"; break; + case 1274: std::get<1>(result) = "D_MILITARY_ALERTS_DELETE"; break; + case 1275: std::get<1>(result) = "D_MILITARY_ALERTS_SET"; break; + case 1276: std::get<1>(result) = "D_MILITARY_ALERTS_NAME"; break; + case 1277: std::get<1>(result) = "D_MILITARY_ALERTS_SET_RETAIN"; break; + case 1278: std::get<1>(result) = "D_MILITARY_EQUIP"; break; + case 1279: std::get<1>(result) = "D_MILITARY_EQUIP_CUSTOMIZE"; break; + case 1280: std::get<1>(result) = "D_MILITARY_EQUIP_UNIFORM"; break; + case 1281: std::get<1>(result) = "D_MILITARY_EQUIP_PRIORITY"; break; + case 1282: std::get<1>(result) = "D_MILITARY_UNIFORMS"; break; + case 1283: std::get<1>(result) = "D_MILITARY_SUPPLIES"; break; + case 1284: std::get<1>(result) = "D_MILITARY_SUPPLIES_WATER_DOWN"; break; + case 1285: std::get<1>(result) = "D_MILITARY_SUPPLIES_WATER_UP"; break; + case 1286: std::get<1>(result) = "D_MILITARY_SUPPLIES_FOOD_DOWN"; break; + case 1287: std::get<1>(result) = "D_MILITARY_SUPPLIES_FOOD_UP"; break; + case 1288: std::get<1>(result) = "D_MILITARY_AMMUNITION"; break; + case 1289: std::get<1>(result) = "D_MILITARY_AMMUNITION_ADD_ITEM"; break; + case 1290: std::get<1>(result) = "D_MILITARY_AMMUNITION_REMOVE_ITEM"; break; + case 1291: std::get<1>(result) = "D_MILITARY_AMMUNITION_LOWER_AMOUNT"; break; + case 1292: std::get<1>(result) = "D_MILITARY_AMMUNITION_RAISE_AMOUNT"; break; + case 1293: std::get<1>(result) = "D_MILITARY_AMMUNITION_LOWER_AMOUNT_LOTS"; break; + case 1294: std::get<1>(result) = "D_MILITARY_AMMUNITION_RAISE_AMOUNT_LOTS"; break; + case 1295: std::get<1>(result) = "D_MILITARY_AMMUNITION_MATERIAL"; break; + case 1296: std::get<1>(result) = "D_MILITARY_AMMUNITION_COMBAT"; break; + case 1297: std::get<1>(result) = "D_MILITARY_AMMUNITION_TRAINING"; break; + case 1298: std::get<1>(result) = "D_MILITARY_TRAINING"; break; + case 1299: std::get<1>(result) = "D_MILITARY_SCHEDULE"; break; + case 1300: std::get<1>(result) = "D_MILITARY_ADD_UNIFORM"; break; + case 1301: std::get<1>(result) = "D_MILITARY_DELETE_UNIFORM"; break; + case 1302: std::get<1>(result) = "D_MILITARY_NAME_UNIFORM"; break; + case 1303: std::get<1>(result) = "D_MILITARY_NAME_SQUAD"; break; + case 1304: std::get<1>(result) = "D_MILITARY_ADD_ARMOR"; break; + case 1305: std::get<1>(result) = "D_MILITARY_ADD_PANTS"; break; + case 1306: std::get<1>(result) = "D_MILITARY_ADD_HELM"; break; + case 1307: std::get<1>(result) = "D_MILITARY_ADD_GLOVES"; break; + case 1308: std::get<1>(result) = "D_MILITARY_ADD_BOOTS"; break; + case 1309: std::get<1>(result) = "D_MILITARY_ADD_SHIELD"; break; + case 1310: std::get<1>(result) = "D_MILITARY_ADD_WEAPON"; break; + case 1311: std::get<1>(result) = "D_MILITARY_ADD_MATERIAL"; break; + case 1312: std::get<1>(result) = "D_MILITARY_ADD_COLOR"; break; + case 1313: std::get<1>(result) = "D_MILITARY_REPLACE_CLOTHING"; break; + case 1314: std::get<1>(result) = "D_MILITARY_EXACT_MATCH"; break; + case 1315: std::get<1>(result) = "D_SQUADS_MOVE"; break; + case 1316: std::get<1>(result) = "D_SQUADS_KILL"; break; + case 1317: std::get<1>(result) = "D_SQUADS_KILL_LIST"; break; + case 1318: std::get<1>(result) = "D_SQUADS_KILL_RECT"; break; + case 1319: std::get<1>(result) = "D_SQUADS_SCHEDULE"; break; + case 1320: std::get<1>(result) = "D_SQUADS_CANCEL_ORDER"; break; + case 1321: std::get<1>(result) = "D_SQUADS_ALERT"; break; + case 1322: std::get<1>(result) = "D_SQUADS_SELECT_INDIVIDUALS"; break; + case 1323: std::get<1>(result) = "D_SQUADS_CENTER"; break; + case 1324: std::get<1>(result) = "D_SQUAD_SCH_SLEEP"; break; + case 1325: std::get<1>(result) = "D_SQUAD_SCH_CIVILIAN_UNIFORM"; break; + case 1326: std::get<1>(result) = "D_SQUAD_SCH_GIVE_ORDER"; break; + case 1327: std::get<1>(result) = "D_SQUAD_SCH_EDIT_ORDER"; break; + case 1328: std::get<1>(result) = "D_SQUAD_SCH_CANCEL_ORDER"; break; + case 1329: std::get<1>(result) = "D_SQUAD_SCH_COPY_ORDERS"; break; + case 1330: std::get<1>(result) = "D_SQUAD_SCH_PASTE_ORDERS"; break; + case 1331: std::get<1>(result) = "D_SQUAD_SCH_MS_NAME"; break; + case 1332: std::get<1>(result) = "STRING_A000"; break; + case 1333: std::get<1>(result) = "STRING_A001"; break; + case 1334: std::get<1>(result) = "STRING_A002"; break; + case 1335: std::get<1>(result) = "STRING_A003"; break; + case 1336: std::get<1>(result) = "STRING_A004"; break; + case 1337: std::get<1>(result) = "STRING_A005"; break; + case 1338: std::get<1>(result) = "STRING_A006"; break; + case 1339: std::get<1>(result) = "STRING_A007"; break; + case 1340: std::get<1>(result) = "STRING_A008"; break; + case 1341: std::get<1>(result) = "STRING_A009"; break; + case 1342: std::get<1>(result) = "STRING_A010"; break; + case 1343: std::get<1>(result) = "STRING_A011"; break; + case 1344: std::get<1>(result) = "STRING_A012"; break; + case 1345: std::get<1>(result) = "STRING_A013"; break; + case 1346: std::get<1>(result) = "STRING_A014"; break; + case 1347: std::get<1>(result) = "STRING_A015"; break; + case 1348: std::get<1>(result) = "STRING_A016"; break; + case 1349: std::get<1>(result) = "STRING_A017"; break; + case 1350: std::get<1>(result) = "STRING_A018"; break; + case 1351: std::get<1>(result) = "STRING_A019"; break; + case 1352: std::get<1>(result) = "STRING_A020"; break; + case 1353: std::get<1>(result) = "STRING_A021"; break; + case 1354: std::get<1>(result) = "STRING_A022"; break; + case 1355: std::get<1>(result) = "STRING_A023"; break; + case 1356: std::get<1>(result) = "STRING_A024"; break; + case 1357: std::get<1>(result) = "STRING_A025"; break; + case 1358: std::get<1>(result) = "STRING_A026"; break; + case 1359: std::get<1>(result) = "STRING_A027"; break; + case 1360: std::get<1>(result) = "STRING_A028"; break; + case 1361: std::get<1>(result) = "STRING_A029"; break; + case 1362: std::get<1>(result) = "STRING_A030"; break; + case 1363: std::get<1>(result) = "STRING_A031"; break; + case 1364: std::get<1>(result) = "STRING_A032"; break; + case 1365: std::get<1>(result) = "STRING_A033"; break; + case 1366: std::get<1>(result) = "STRING_A034"; break; + case 1367: std::get<1>(result) = "STRING_A035"; break; + case 1368: std::get<1>(result) = "STRING_A036"; break; + case 1369: std::get<1>(result) = "STRING_A037"; break; + case 1370: std::get<1>(result) = "STRING_A038"; break; + case 1371: std::get<1>(result) = "STRING_A039"; break; + case 1372: std::get<1>(result) = "STRING_A040"; break; + case 1373: std::get<1>(result) = "STRING_A041"; break; + case 1374: std::get<1>(result) = "STRING_A042"; break; + case 1375: std::get<1>(result) = "STRING_A043"; break; + case 1376: std::get<1>(result) = "STRING_A044"; break; + case 1377: std::get<1>(result) = "STRING_A045"; break; + case 1378: std::get<1>(result) = "STRING_A046"; break; + case 1379: std::get<1>(result) = "STRING_A047"; break; + case 1380: std::get<1>(result) = "STRING_A048"; break; + case 1381: std::get<1>(result) = "STRING_A049"; break; + case 1382: std::get<1>(result) = "STRING_A050"; break; + case 1383: std::get<1>(result) = "STRING_A051"; break; + case 1384: std::get<1>(result) = "STRING_A052"; break; + case 1385: std::get<1>(result) = "STRING_A053"; break; + case 1386: std::get<1>(result) = "STRING_A054"; break; + case 1387: std::get<1>(result) = "STRING_A055"; break; + case 1388: std::get<1>(result) = "STRING_A056"; break; + case 1389: std::get<1>(result) = "STRING_A057"; break; + case 1390: std::get<1>(result) = "STRING_A058"; break; + case 1391: std::get<1>(result) = "STRING_A059"; break; + case 1392: std::get<1>(result) = "STRING_A060"; break; + case 1393: std::get<1>(result) = "STRING_A061"; break; + case 1394: std::get<1>(result) = "STRING_A062"; break; + case 1395: std::get<1>(result) = "STRING_A063"; break; + case 1396: std::get<1>(result) = "STRING_A064"; break; + case 1397: std::get<1>(result) = "STRING_A065"; break; + case 1398: std::get<1>(result) = "STRING_A066"; break; + case 1399: std::get<1>(result) = "STRING_A067"; break; + case 1400: std::get<1>(result) = "STRING_A068"; break; + case 1401: std::get<1>(result) = "STRING_A069"; break; + case 1402: std::get<1>(result) = "STRING_A070"; break; + case 1403: std::get<1>(result) = "STRING_A071"; break; + case 1404: std::get<1>(result) = "STRING_A072"; break; + case 1405: std::get<1>(result) = "STRING_A073"; break; + case 1406: std::get<1>(result) = "STRING_A074"; break; + case 1407: std::get<1>(result) = "STRING_A075"; break; + case 1408: std::get<1>(result) = "STRING_A076"; break; + case 1409: std::get<1>(result) = "STRING_A077"; break; + case 1410: std::get<1>(result) = "STRING_A078"; break; + case 1411: std::get<1>(result) = "STRING_A079"; break; + case 1412: std::get<1>(result) = "STRING_A080"; break; + case 1413: std::get<1>(result) = "STRING_A081"; break; + case 1414: std::get<1>(result) = "STRING_A082"; break; + case 1415: std::get<1>(result) = "STRING_A083"; break; + case 1416: std::get<1>(result) = "STRING_A084"; break; + case 1417: std::get<1>(result) = "STRING_A085"; break; + case 1418: std::get<1>(result) = "STRING_A086"; break; + case 1419: std::get<1>(result) = "STRING_A087"; break; + case 1420: std::get<1>(result) = "STRING_A088"; break; + case 1421: std::get<1>(result) = "STRING_A089"; break; + case 1422: std::get<1>(result) = "STRING_A090"; break; + case 1423: std::get<1>(result) = "STRING_A091"; break; + case 1424: std::get<1>(result) = "STRING_A092"; break; + case 1425: std::get<1>(result) = "STRING_A093"; break; + case 1426: std::get<1>(result) = "STRING_A094"; break; + case 1427: std::get<1>(result) = "STRING_A095"; break; + case 1428: std::get<1>(result) = "STRING_A096"; break; + case 1429: std::get<1>(result) = "STRING_A097"; break; + case 1430: std::get<1>(result) = "STRING_A098"; break; + case 1431: std::get<1>(result) = "STRING_A099"; break; + case 1432: std::get<1>(result) = "STRING_A100"; break; + case 1433: std::get<1>(result) = "STRING_A101"; break; + case 1434: std::get<1>(result) = "STRING_A102"; break; + case 1435: std::get<1>(result) = "STRING_A103"; break; + case 1436: std::get<1>(result) = "STRING_A104"; break; + case 1437: std::get<1>(result) = "STRING_A105"; break; + case 1438: std::get<1>(result) = "STRING_A106"; break; + case 1439: std::get<1>(result) = "STRING_A107"; break; + case 1440: std::get<1>(result) = "STRING_A108"; break; + case 1441: std::get<1>(result) = "STRING_A109"; break; + case 1442: std::get<1>(result) = "STRING_A110"; break; + case 1443: std::get<1>(result) = "STRING_A111"; break; + case 1444: std::get<1>(result) = "STRING_A112"; break; + case 1445: std::get<1>(result) = "STRING_A113"; break; + case 1446: std::get<1>(result) = "STRING_A114"; break; + case 1447: std::get<1>(result) = "STRING_A115"; break; + case 1448: std::get<1>(result) = "STRING_A116"; break; + case 1449: std::get<1>(result) = "STRING_A117"; break; + case 1450: std::get<1>(result) = "STRING_A118"; break; + case 1451: std::get<1>(result) = "STRING_A119"; break; + case 1452: std::get<1>(result) = "STRING_A120"; break; + case 1453: std::get<1>(result) = "STRING_A121"; break; + case 1454: std::get<1>(result) = "STRING_A122"; break; + case 1455: std::get<1>(result) = "STRING_A123"; break; + case 1456: std::get<1>(result) = "STRING_A124"; break; + case 1457: std::get<1>(result) = "STRING_A125"; break; + case 1458: std::get<1>(result) = "STRING_A126"; break; + case 1459: std::get<1>(result) = "STRING_A128"; break; + case 1460: std::get<1>(result) = "STRING_A129"; break; + case 1461: std::get<1>(result) = "STRING_A130"; break; + case 1462: std::get<1>(result) = "STRING_A131"; break; + case 1463: std::get<1>(result) = "STRING_A132"; break; + case 1464: std::get<1>(result) = "STRING_A133"; break; + case 1465: std::get<1>(result) = "STRING_A134"; break; + case 1466: std::get<1>(result) = "STRING_A135"; break; + case 1467: std::get<1>(result) = "STRING_A136"; break; + case 1468: std::get<1>(result) = "STRING_A137"; break; + case 1469: std::get<1>(result) = "STRING_A138"; break; + case 1470: std::get<1>(result) = "STRING_A139"; break; + case 1471: std::get<1>(result) = "STRING_A140"; break; + case 1472: std::get<1>(result) = "STRING_A141"; break; + case 1473: std::get<1>(result) = "STRING_A142"; break; + case 1474: std::get<1>(result) = "STRING_A143"; break; + case 1475: std::get<1>(result) = "STRING_A144"; break; + case 1476: std::get<1>(result) = "STRING_A145"; break; + case 1477: std::get<1>(result) = "STRING_A146"; break; + case 1478: std::get<1>(result) = "STRING_A147"; break; + case 1479: std::get<1>(result) = "STRING_A148"; break; + case 1480: std::get<1>(result) = "STRING_A149"; break; + case 1481: std::get<1>(result) = "STRING_A150"; break; + case 1482: std::get<1>(result) = "STRING_A151"; break; + case 1483: std::get<1>(result) = "STRING_A152"; break; + case 1484: std::get<1>(result) = "STRING_A153"; break; + case 1485: std::get<1>(result) = "STRING_A154"; break; + case 1486: std::get<1>(result) = "STRING_A155"; break; + case 1487: std::get<1>(result) = "STRING_A156"; break; + case 1488: std::get<1>(result) = "STRING_A157"; break; + case 1489: std::get<1>(result) = "STRING_A158"; break; + case 1490: std::get<1>(result) = "STRING_A159"; break; + case 1491: std::get<1>(result) = "STRING_A160"; break; + case 1492: std::get<1>(result) = "STRING_A161"; break; + case 1493: std::get<1>(result) = "STRING_A162"; break; + case 1494: std::get<1>(result) = "STRING_A163"; break; + case 1495: std::get<1>(result) = "STRING_A164"; break; + case 1496: std::get<1>(result) = "STRING_A165"; break; + case 1497: std::get<1>(result) = "STRING_A166"; break; + case 1498: std::get<1>(result) = "STRING_A167"; break; + case 1499: std::get<1>(result) = "STRING_A168"; break; + case 1500: std::get<1>(result) = "STRING_A169"; break; + case 1501: std::get<1>(result) = "STRING_A170"; break; + case 1502: std::get<1>(result) = "STRING_A171"; break; + case 1503: std::get<1>(result) = "STRING_A172"; break; + case 1504: std::get<1>(result) = "STRING_A173"; break; + case 1505: std::get<1>(result) = "STRING_A174"; break; + case 1506: std::get<1>(result) = "STRING_A175"; break; + case 1507: std::get<1>(result) = "STRING_A176"; break; + case 1508: std::get<1>(result) = "STRING_A177"; break; + case 1509: std::get<1>(result) = "STRING_A178"; break; + case 1510: std::get<1>(result) = "STRING_A179"; break; + case 1511: std::get<1>(result) = "STRING_A180"; break; + case 1512: std::get<1>(result) = "STRING_A181"; break; + case 1513: std::get<1>(result) = "STRING_A182"; break; + case 1514: std::get<1>(result) = "STRING_A183"; break; + case 1515: std::get<1>(result) = "STRING_A184"; break; + case 1516: std::get<1>(result) = "STRING_A185"; break; + case 1517: std::get<1>(result) = "STRING_A186"; break; + case 1518: std::get<1>(result) = "STRING_A187"; break; + case 1519: std::get<1>(result) = "STRING_A188"; break; + case 1520: std::get<1>(result) = "STRING_A189"; break; + case 1521: std::get<1>(result) = "STRING_A190"; break; + case 1522: std::get<1>(result) = "STRING_A191"; break; + case 1523: std::get<1>(result) = "STRING_A192"; break; + case 1524: std::get<1>(result) = "STRING_A193"; break; + case 1525: std::get<1>(result) = "STRING_A194"; break; + case 1526: std::get<1>(result) = "STRING_A195"; break; + case 1527: std::get<1>(result) = "STRING_A196"; break; + case 1528: std::get<1>(result) = "STRING_A197"; break; + case 1529: std::get<1>(result) = "STRING_A198"; break; + case 1530: std::get<1>(result) = "STRING_A199"; break; + case 1531: std::get<1>(result) = "STRING_A200"; break; + case 1532: std::get<1>(result) = "STRING_A201"; break; + case 1533: std::get<1>(result) = "STRING_A202"; break; + case 1534: std::get<1>(result) = "STRING_A203"; break; + case 1535: std::get<1>(result) = "STRING_A204"; break; + case 1536: std::get<1>(result) = "STRING_A205"; break; + case 1537: std::get<1>(result) = "STRING_A206"; break; + case 1538: std::get<1>(result) = "STRING_A207"; break; + case 1539: std::get<1>(result) = "STRING_A208"; break; + case 1540: std::get<1>(result) = "STRING_A209"; break; + case 1541: std::get<1>(result) = "STRING_A210"; break; + case 1542: std::get<1>(result) = "STRING_A211"; break; + case 1543: std::get<1>(result) = "STRING_A212"; break; + case 1544: std::get<1>(result) = "STRING_A213"; break; + case 1545: std::get<1>(result) = "STRING_A214"; break; + case 1546: std::get<1>(result) = "STRING_A215"; break; + case 1547: std::get<1>(result) = "STRING_A216"; break; + case 1548: std::get<1>(result) = "STRING_A217"; break; + case 1549: std::get<1>(result) = "STRING_A218"; break; + case 1550: std::get<1>(result) = "STRING_A219"; break; + case 1551: std::get<1>(result) = "STRING_A220"; break; + case 1552: std::get<1>(result) = "STRING_A221"; break; + case 1553: std::get<1>(result) = "STRING_A222"; break; + case 1554: std::get<1>(result) = "STRING_A223"; break; + case 1555: std::get<1>(result) = "STRING_A224"; break; + case 1556: std::get<1>(result) = "STRING_A225"; break; + case 1557: std::get<1>(result) = "STRING_A226"; break; + case 1558: std::get<1>(result) = "STRING_A227"; break; + case 1559: std::get<1>(result) = "STRING_A228"; break; + case 1560: std::get<1>(result) = "STRING_A229"; break; + case 1561: std::get<1>(result) = "STRING_A230"; break; + case 1562: std::get<1>(result) = "STRING_A231"; break; + case 1563: std::get<1>(result) = "STRING_A232"; break; + case 1564: std::get<1>(result) = "STRING_A233"; break; + case 1565: std::get<1>(result) = "STRING_A234"; break; + case 1566: std::get<1>(result) = "STRING_A235"; break; + case 1567: std::get<1>(result) = "STRING_A236"; break; + case 1568: std::get<1>(result) = "STRING_A237"; break; + case 1569: std::get<1>(result) = "STRING_A238"; break; + case 1570: std::get<1>(result) = "STRING_A239"; break; + case 1571: std::get<1>(result) = "STRING_A240"; break; + case 1572: std::get<1>(result) = "STRING_A241"; break; + case 1573: std::get<1>(result) = "STRING_A242"; break; + case 1574: std::get<1>(result) = "STRING_A243"; break; + case 1575: std::get<1>(result) = "STRING_A244"; break; + case 1576: std::get<1>(result) = "STRING_A245"; break; + case 1577: std::get<1>(result) = "STRING_A246"; break; + case 1578: std::get<1>(result) = "STRING_A247"; break; + case 1579: std::get<1>(result) = "STRING_A248"; break; + case 1580: std::get<1>(result) = "STRING_A249"; break; + case 1581: std::get<1>(result) = "STRING_A250"; break; + case 1582: std::get<1>(result) = "STRING_A251"; break; + case 1583: std::get<1>(result) = "STRING_A252"; break; + case 1584: std::get<1>(result) = "STRING_A253"; break; + case 1585: std::get<1>(result) = "STRING_A254"; break; + case 1586: std::get<1>(result) = "STRING_A255"; break; + case 1587: std::get<1>(result) = "KEYBINDING_COMPLETE"; break; + default: break; + } + return result; +} + +std::tuple get_dfhack_knowledge_scholar_flag_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "philosophy_logic_formal_reasoning"; break; + case 1: std::get<1>(result) = "philosophy_logic_deductive_reasoning"; break; + case 2: std::get<1>(result) = "philosophy_logic_syllogistic_logic"; break; + case 3: std::get<1>(result) = "philosophy_logic_hypothetical_syllogisms"; break; + case 4: std::get<1>(result) = "philosophy_logic_propositional_logic"; break; + case 5: std::get<1>(result) = "philosophy_logic_dialectic_reasoning"; break; + case 6: std::get<1>(result) = "philosophy_logic_analogical_inference"; break; + case 7: std::get<1>(result) = "philosophy_ethics_applied_medical"; break; + case 8: std::get<1>(result) = "philosophy_ethics_individual_value"; break; + case 9: std::get<1>(result) = "philosophy_ethics_state_consequentialism"; break; + case 10: std::get<1>(result) = "philosophy_epistemology_truth"; break; + case 11: std::get<1>(result) = "philosophy_epistemology_perception"; break; + case 12: std::get<1>(result) = "philosophy_epistemology_justification"; break; + case 13: std::get<1>(result) = "philosophy_epistemology_belief"; break; + case 14: std::get<1>(result) = "philosophy_metaphysics_existence"; break; + case 15: std::get<1>(result) = "philosophy_metaphysics_time"; break; + case 16: std::get<1>(result) = "philosophy_metaphysics_mind_body"; break; + case 17: std::get<1>(result) = "philosophy_metaphysics_objects_and_properties"; break; + case 18: std::get<1>(result) = "philosophy_metaphysics_wholes_and_parts"; break; + case 19: std::get<1>(result) = "philosophy_metaphysics_events"; break; + case 20: std::get<1>(result) = "philosophy_metaphysics_processes"; break; + case 21: std::get<1>(result) = "philosophy_metaphysics_causation"; break; + case 22: std::get<1>(result) = "philosophy_ethics_applied_military"; break; + case 23: std::get<1>(result) = "philosophy_ethics_applied_interpersonal_conduct"; break; + case 24: std::get<1>(result) = "philosophy_specialized_law"; break; + case 25: std::get<1>(result) = "philosophy_specialized_education"; break; + case 26: std::get<1>(result) = "philosophy_specialized_language_grammar"; break; + case 27: std::get<1>(result) = "philosophy_specialized_language_etymology"; break; + case 28: std::get<1>(result) = "philosophy_specialized_politics_diplomacy"; break; + case 29: std::get<1>(result) = "philosophy_specialized_politics_government_forms"; break; + case 30: std::get<1>(result) = "philosophy_specialized_politics_economic_policy"; break; + case 31: std::get<1>(result) = "philosophy_specialized_politics_social_welfare"; break; + case 32: std::get<1>(result) = "philosophy_logic_inductive_reasoning"; break; + case 33: std::get<1>(result) = "philosophy_logic_direct_inference"; break; + case 34: std::get<1>(result) = "philosophy_aesthetics_nature_of_beauty"; break; + case 35: std::get<1>(result) = "philosophy_aesthetics_value_of_art"; break; + case 36: std::get<1>(result) = "philosophy_specialized_language_dictionary"; break; + case 64: std::get<1>(result) = "mathematics_method_proof_by_contradiction"; break; + case 65: std::get<1>(result) = "mathematics_notation_zero"; break; + case 66: std::get<1>(result) = "mathematics_notation_negative_numbers"; break; + case 67: std::get<1>(result) = "mathematics_notation_large_numbers"; break; + case 68: std::get<1>(result) = "mathematics_notation_positional"; break; + case 69: std::get<1>(result) = "mathematics_geometry_basic_objects"; break; + case 70: std::get<1>(result) = "mathematics_method_exhaustion"; break; + case 71: std::get<1>(result) = "mathematics_geometry_similar_and_congruent_triangles"; break; + case 72: std::get<1>(result) = "mathematics_geometry_geometric_mean_theorem"; break; + case 73: std::get<1>(result) = "mathematics_geometry_isosceles_base_angles_equal"; break; + case 74: std::get<1>(result) = "mathematics_geometry_inscribed_triangle_on_diameter_is_right"; break; + case 75: std::get<1>(result) = "mathematics_geometry_pythagorean_theorem"; break; + case 76: std::get<1>(result) = "mathematics_geometry_pythagorean_triples_small"; break; + case 77: std::get<1>(result) = "mathematics_geometry_pythagorean_triples_3_digit"; break; + case 78: std::get<1>(result) = "mathematics_geometry_pythagorean_triples_4_digit"; break; + case 79: std::get<1>(result) = "mathematics_geometry_existence_of_incommensurable_ratios"; break; + case 80: std::get<1>(result) = "mathematics_method_axiomatic_reasoning"; break; + case 81: std::get<1>(result) = "mathematics_numbers_unique_prime_factorization"; break; + case 82: std::get<1>(result) = "mathematics_numbers_algorithm_for_computing_gcd"; break; + case 83: std::get<1>(result) = "mathematics_geometry_volume_of_pyramid"; break; + case 84: std::get<1>(result) = "mathematics_geometry_volume_of_cone"; break; + case 85: std::get<1>(result) = "mathematics_geometry_volume_of_sphere"; break; + case 86: std::get<1>(result) = "mathematics_geometry_pi_to_4_digits"; break; + case 87: std::get<1>(result) = "mathematics_numbers_division_algorithm"; break; + case 88: std::get<1>(result) = "mathematics_geometry_table_of_chord_values"; break; + case 89: std::get<1>(result) = "mathematics_geometry_area_of_triangle_from_side_lengths"; break; + case 90: std::get<1>(result) = "mathematics_geometry_area_of_circle"; break; + case 91: std::get<1>(result) = "mathematics_geometry_pi_to_6_digits"; break; + case 92: std::get<1>(result) = "mathematics_geometry_definitions_and_basic_properties_of_conic_sections"; break; + case 93: std::get<1>(result) = "mathematics_numbers_chinese_remainder_algorithm"; break; + case 94: std::get<1>(result) = "mathematics_geometry_area_enclosed_by_line_and_parabola"; break; + case 95: std::get<1>(result) = "mathematics_numbers_sieve_algorithm_for_primes"; break; + case 96: std::get<1>(result) = "mathematics_numbers_root_2_to_5_digits"; break; + case 97: std::get<1>(result) = "mathematics_numbers_infinite_primes"; break; + case 98: std::get<1>(result) = "mathematics_numbers_root_2_irrational"; break; + case 99: std::get<1>(result) = "mathematics_geometry_surface_area_of_sphere"; break; + case 100: std::get<1>(result) = "mathematics_algebra_finite_summation_formulas"; break; + case 101: std::get<1>(result) = "mathematics_algebra_solving_linear_systems"; break; + case 102: std::get<1>(result) = "mathematics_algebra_balancing_and_completion"; break; + case 103: std::get<1>(result) = "mathematics_algebra_quadratic_by_completing_square"; break; + case 104: std::get<1>(result) = "mathematics_algebra_quadratic_formula"; break; + case 105: std::get<1>(result) = "mathematics_notation_syncopated_algebra"; break; + case 106: std::get<1>(result) = "mathematics_geometry_law_of_sines"; break; + case 107: std::get<1>(result) = "mathematics_geometry_angle_sum_difference_trig_identities"; break; + case 108: std::get<1>(result) = "mathematics_algebra_pascals_triangle"; break; + case 109: std::get<1>(result) = "mathematics_algebra_solving_higher_order_polynomials"; break; + case 110: std::get<1>(result) = "mathematics_notation_early_symbols_for_operations"; break; + case 111: std::get<1>(result) = "mathematics_algebra_divergence_of_harmonic_series"; break; + case 112: std::get<1>(result) = "mathematics_geometry_properties_of_chords"; break; + case 128: std::get<1>(result) = "history_sourcing_basic_reliability"; break; + case 129: std::get<1>(result) = "history_sourcing_role_of_systemic_bias"; break; + case 130: std::get<1>(result) = "history_sourcing_role_of_state_bias_and_propaganda"; break; + case 131: std::get<1>(result) = "history_sourcing_personal_interviews"; break; + case 132: std::get<1>(result) = "history_theory_historical_causation"; break; + case 133: std::get<1>(result) = "history_theory_historical_cycles"; break; + case 134: std::get<1>(result) = "history_theory_social_cohesion"; break; + case 135: std::get<1>(result) = "history_theory_social_conflict"; break; + case 136: std::get<1>(result) = "history_form_biography"; break; + case 137: std::get<1>(result) = "history_form_comparative_biography"; break; + case 138: std::get<1>(result) = "history_form_biographical_dictionaries"; break; + case 139: std::get<1>(result) = "history_form_autobiographical_adventure"; break; + case 140: std::get<1>(result) = "history_form_genealogy"; break; + case 141: std::get<1>(result) = "history_form_encyclopedia"; break; + case 142: std::get<1>(result) = "history_form_cultural_history"; break; + case 143: std::get<1>(result) = "history_form_cultural_comparison"; break; + case 144: std::get<1>(result) = "history_sourcing_role_of_cultural_differences"; break; + case 145: std::get<1>(result) = "history_form_alternate_history"; break; + case 146: std::get<1>(result) = "history_sourcing_basic_archaeology"; break; + case 147: std::get<1>(result) = "history_form_treatise_on_tech_evolution"; break; + case 160: std::get<1>(result) = "astronomy_phases_of_the_moon"; break; + case 161: std::get<1>(result) = "astronomy_summer_winter_moon"; break; + case 162: std::get<1>(result) = "astronomy_path_of_the_moon"; break; + case 163: std::get<1>(result) = "astronomy_tides_and_the_moon"; break; + case 164: std::get<1>(result) = "astronomy_height_of_tides_vs_moon_and_sun"; break; + case 165: std::get<1>(result) = "astronomy_summer_winter_sun"; break; + case 166: std::get<1>(result) = "astronomy_relationship_between_lunar_solar_year"; break; + case 167: std::get<1>(result) = "astronomy_daylight_variation_with_solar_year"; break; + case 168: std::get<1>(result) = "astronomy_geocentric_model"; break; + case 169: std::get<1>(result) = "astronomy_heliocentric_model"; break; + case 170: std::get<1>(result) = "astronomy_dates_of_lunar_and_solar_eclipses"; break; + case 171: std::get<1>(result) = "astronomy_star_charts"; break; + case 172: std::get<1>(result) = "astronomy_star_catalogues_100"; break; + case 173: std::get<1>(result) = "astronomy_star_catalogues_1000"; break; + case 174: std::get<1>(result) = "astronomy_star_color_classification"; break; + case 175: std::get<1>(result) = "astronomy_star_magnitude_classification"; break; + case 176: std::get<1>(result) = "astronomy_shape_of_the_world"; break; + case 177: std::get<1>(result) = "astronomy_precession_of_equinoxes"; break; + case 178: std::get<1>(result) = "astronomy_method_empirical_observation"; break; + case 179: std::get<1>(result) = "astronomy_method_path_models"; break; + case 192: std::get<1>(result) = "naturalist_method_dissection"; break; + case 193: std::get<1>(result) = "naturalist_observation_anatomy"; break; + case 194: std::get<1>(result) = "naturalist_theory_comparative_anatomy"; break; + case 195: std::get<1>(result) = "naturalist_theory_classification_by_physical_features"; break; + case 196: std::get<1>(result) = "naturalist_observation_migration_patterns"; break; + case 197: std::get<1>(result) = "naturalist_observation_reproductive_behavior"; break; + case 198: std::get<1>(result) = "naturalist_observation_foraging_behavior_and_diet"; break; + case 199: std::get<1>(result) = "naturalist_theory_food_chain"; break; + case 200: std::get<1>(result) = "naturalist_observation_social_behavior"; break; + case 201: std::get<1>(result) = "naturalist_observation_diseases"; break; + case 202: std::get<1>(result) = "naturalist_theory_climactic_adaptation"; break; + case 203: std::get<1>(result) = "naturalist_observation_embriological_development"; break; + case 204: std::get<1>(result) = "naturalist_theory_struggle_for_existence"; break; + case 224: std::get<1>(result) = "chemistry_classification_combustibles"; break; + case 225: std::get<1>(result) = "chemistry_classification_ores"; break; + case 226: std::get<1>(result) = "chemistry_metallurgy_alloys"; break; + case 227: std::get<1>(result) = "chemistry_classification_scratch_test"; break; + case 228: std::get<1>(result) = "chemistry_classification_elemental_theory"; break; + case 229: std::get<1>(result) = "chemistry_chemicals_adhesives"; break; + case 230: std::get<1>(result) = "chemistry_laboratory_blast_furnace"; break; + case 231: std::get<1>(result) = "chemistry_laboratory_alembic"; break; + case 232: std::get<1>(result) = "chemistry_laboratory_theory_of_liquid_liquid_extraction"; break; + case 233: std::get<1>(result) = "chemistry_laboratory_theory_of_distillation"; break; + case 234: std::get<1>(result) = "chemistry_laboratory_theory_of_evaporation"; break; + case 235: std::get<1>(result) = "chemistry_classification_alkali_and_acids"; break; + case 236: std::get<1>(result) = "chemistry_laboratory_systematic_experiments"; break; + case 237: std::get<1>(result) = "chemistry_laboratory_glass_flask"; break; + case 238: std::get<1>(result) = "chemistry_laboratory_glass_beaker"; break; + case 239: std::get<1>(result) = "chemistry_laboratory_glass_vial"; break; + case 240: std::get<1>(result) = "chemistry_laboratory_glass_funnel"; break; + case 241: std::get<1>(result) = "chemistry_laboratory_crucible"; break; + case 242: std::get<1>(result) = "chemistry_chemicals_nitric_acid"; break; + case 243: std::get<1>(result) = "chemistry_chemicals_sulfuric_acid"; break; + case 244: std::get<1>(result) = "chemistry_chemicals_aqua_regia"; break; + case 245: std::get<1>(result) = "chemistry_laboratory_glass_ampoule"; break; + case 246: std::get<1>(result) = "chemistry_laboratory_glass_retort"; break; + case 247: std::get<1>(result) = "chemistry_laboratory_lab_ovens"; break; + case 256: std::get<1>(result) = "geography_surveying_basic"; break; + case 257: std::get<1>(result) = "geography_surveying_staff"; break; + case 258: std::get<1>(result) = "geography_cartography_basic"; break; + case 259: std::get<1>(result) = "geography_surveying_triangulation"; break; + case 260: std::get<1>(result) = "geography_surveying_cartographical"; break; + case 261: std::get<1>(result) = "geography_surveying_land"; break; + case 262: std::get<1>(result) = "geography_surveying_military"; break; + case 263: std::get<1>(result) = "geography_surveying_engineering"; break; + case 264: std::get<1>(result) = "geography_cartography_geological"; break; + case 265: std::get<1>(result) = "geography_cartography_grid_system"; break; + case 266: std::get<1>(result) = "geography_cartography_distance_scale"; break; + case 267: std::get<1>(result) = "geography_cartography_height_measurements"; break; + case 268: std::get<1>(result) = "geography_method_economic_data_collection"; break; + case 269: std::get<1>(result) = "geography_cartography_economic"; break; + case 270: std::get<1>(result) = "geography_form_atlas"; break; + case 271: std::get<1>(result) = "geography_theory_delta_formation"; break; + case 272: std::get<1>(result) = "geography_theory_wind_patterns"; break; + case 273: std::get<1>(result) = "geography_theory_origin_of_rainfall_from_evap_condense"; break; + case 274: std::get<1>(result) = "geography_theory_water_cycle"; break; + case 275: std::get<1>(result) = "geography_theory_latitude_climate_zones"; break; + case 276: std::get<1>(result) = "geography_cartography_accurate_maps"; break; + case 277: std::get<1>(result) = "geography_cartography_map_projections"; break; + case 288: std::get<1>(result) = "medicine_theory_disease_and_fouled_water"; break; + case 289: std::get<1>(result) = "medicine_method_physical_examination"; break; + case 290: std::get<1>(result) = "medicine_method_autopsy"; break; + case 291: std::get<1>(result) = "medicine_theory_prognosis"; break; + case 292: std::get<1>(result) = "medicine_tool_herbal_remedies"; break; + case 293: std::get<1>(result) = "medicine_tool_animal_remedies"; break; + case 294: std::get<1>(result) = "medicine_tool_mineral_remedies"; break; + case 295: std::get<1>(result) = "medicine_tool_bandages"; break; + case 296: std::get<1>(result) = "medicine_theory_disease_classification"; break; + case 297: std::get<1>(result) = "medicine_theory_toxicology"; break; + case 298: std::get<1>(result) = "medicine_theory_acute_and_chronic_conditions"; break; + case 299: std::get<1>(result) = "medicine_theory_endemic_disease"; break; + case 300: std::get<1>(result) = "medicine_theory_epidemic_disease"; break; + case 301: std::get<1>(result) = "medicine_theory_exacerbation"; break; + case 302: std::get<1>(result) = "medicine_theory_paroxysm"; break; + case 303: std::get<1>(result) = "medicine_theory_relapse"; break; + case 304: std::get<1>(result) = "medicine_theory_convalescence"; break; + case 305: std::get<1>(result) = "medicine_method_treatment_of_traumatic_injuries"; break; + case 306: std::get<1>(result) = "medicine_method_fracture_treatment"; break; + case 307: std::get<1>(result) = "medicine_theory_fracture_classification"; break; + case 308: std::get<1>(result) = "medicine_tool_traction_bench"; break; + case 309: std::get<1>(result) = "medicine_method_fracture_immobilization"; break; + case 310: std::get<1>(result) = "medicine_tool_orthopedic_cast"; break; + case 311: std::get<1>(result) = "medicine_method_surgery_excision"; break; + case 312: std::get<1>(result) = "medicine_method_surgery_incision"; break; + case 313: std::get<1>(result) = "medicine_method_hernia_surgery"; break; + case 314: std::get<1>(result) = "medicine_method_tracheotomy_surgery"; break; + case 315: std::get<1>(result) = "medicine_method_lithotomy_surgery"; break; + case 316: std::get<1>(result) = "medicine_method_surgery_scraping"; break; + case 317: std::get<1>(result) = "medicine_method_surgery_draining"; break; + case 318: std::get<1>(result) = "medicine_method_surgery_probing"; break; + case 319: std::get<1>(result) = "medicine_method_surgery_suturing"; break; + case 320: std::get<1>(result) = "medicine_method_surgery_ligature"; break; + case 321: std::get<1>(result) = "medicine_theory_surgical_models"; break; + case 322: std::get<1>(result) = "medicine_tool_mud_bags_as_surgical_models"; break; + case 323: std::get<1>(result) = "medicine_tool_plants_as_surgical_models"; break; + case 324: std::get<1>(result) = "medicine_tool_animals_as_surgical_models"; break; + case 325: std::get<1>(result) = "medicine_theory_specialized_surgical_instruments"; break; + case 326: std::get<1>(result) = "medicine_tool_forceps"; break; + case 327: std::get<1>(result) = "medicine_tool_scalpel"; break; + case 328: std::get<1>(result) = "medicine_tool_surgical_scissors"; break; + case 329: std::get<1>(result) = "medicine_tool_surgical_needles"; break; + case 330: std::get<1>(result) = "medicine_method_cataract_surgery"; break; + case 331: std::get<1>(result) = "medicine_method_cauterization"; break; + case 332: std::get<1>(result) = "medicine_method_anesthesia"; break; + case 333: std::get<1>(result) = "medicine_theory_pulmonary_medicine"; break; + case 334: std::get<1>(result) = "medicine_theory_anatomical_studies"; break; + case 335: std::get<1>(result) = "medicine_theory_classification_of_bodily_fluids"; break; + case 336: std::get<1>(result) = "medicine_theory_eye_anatomy"; break; + case 337: std::get<1>(result) = "medicine_theory_motor_vs_sensory_nerves"; break; + case 338: std::get<1>(result) = "medicine_theory_nervous_system_function"; break; + case 339: std::get<1>(result) = "medicine_theory_reaction_time"; break; + case 340: std::get<1>(result) = "medicine_theory_blood_vessels"; break; + case 341: std::get<1>(result) = "medicine_theory_pulmonary_circulation"; break; + case 342: std::get<1>(result) = "medicine_theory_comparative_anatomy"; break; + case 343: std::get<1>(result) = "medicine_theory_the_voice"; break; + case 344: std::get<1>(result) = "medicine_theory_classification_of_muscles"; break; + case 345: std::get<1>(result) = "medicine_theory_classification_of_mental_illnesses"; break; + case 346: std::get<1>(result) = "medicine_theory_treatment_of_mental_illnesses"; break; + case 347: std::get<1>(result) = "medicine_tool_dedicated_hospitals"; break; + case 348: std::get<1>(result) = "medicine_method_professional_hospital_staff"; break; + case 349: std::get<1>(result) = "medicine_method_specialized_wards"; break; + case 350: std::get<1>(result) = "medicine_method_hospital_lab"; break; + case 351: std::get<1>(result) = "medicine_method_medical_school"; break; + case 352: std::get<1>(result) = "medicine_method_asylum_for_mentally_ill"; break; + case 384: std::get<1>(result) = "engineering_horology_shadow_clock"; break; + case 385: std::get<1>(result) = "engineering_horology_water_clock"; break; + case 386: std::get<1>(result) = "engineering_horology_conical_water_clock"; break; + case 387: std::get<1>(result) = "engineering_horology_water_clock_reservoir"; break; + case 388: std::get<1>(result) = "engineering_horology_astrarium"; break; + case 389: std::get<1>(result) = "engineering_horology_hourglass"; break; + case 390: std::get<1>(result) = "engineering_horology_mechanical_clock"; break; + case 391: std::get<1>(result) = "engineering_machine_theory_of_pulley"; break; + case 392: std::get<1>(result) = "engineering_machine_pulley"; break; + case 393: std::get<1>(result) = "engineering_machine_theory_of_screw"; break; + case 394: std::get<1>(result) = "engineering_machine_screw"; break; + case 395: std::get<1>(result) = "engineering_machine_theory_of_wheel_and_axle"; break; + case 396: std::get<1>(result) = "engineering_machine_windlass"; break; + case 397: std::get<1>(result) = "engineering_machine_theory_of_wedge"; break; + case 398: std::get<1>(result) = "engineering_machine_theory_of_lever"; break; + case 399: std::get<1>(result) = "engineering_machine_lever"; break; + case 400: std::get<1>(result) = "engineering_machine_straight_beam_balance"; break; + case 401: std::get<1>(result) = "engineering_machine_theory_of_gears"; break; + case 402: std::get<1>(result) = "engineering_machine_warded_lock"; break; + case 403: std::get<1>(result) = "engineering_machine_tumbler_lock"; break; + case 404: std::get<1>(result) = "engineering_machine_padlock"; break; + case 405: std::get<1>(result) = "engineering_machine_camshaft"; break; + case 406: std::get<1>(result) = "engineering_machine_crankshaft"; break; + case 407: std::get<1>(result) = "engineering_machine_water_powered_sawmill"; break; + case 408: std::get<1>(result) = "engineering_machine_chariot_odometer"; break; + case 409: std::get<1>(result) = "engineering_machine_chain_drive"; break; + case 410: std::get<1>(result) = "engineering_machine_mechanical_compass"; break; + case 411: std::get<1>(result) = "engineering_machine_differential_gear"; break; + case 412: std::get<1>(result) = "engineering_machine_combination_lock"; break; + case 413: std::get<1>(result) = "engineering_machine_verge_escapement"; break; + case 414: std::get<1>(result) = "engineering_machine_balance_wheel"; break; + case 415: std::get<1>(result) = "engineering_fluid_theory_of_siphon"; break; + case 416: std::get<1>(result) = "engineering_fluid_valves"; break; + case 417: std::get<1>(result) = "engineering_fluid_force_pump"; break; + case 418: std::get<1>(result) = "engineering_optics_crystal_lens"; break; + case 419: std::get<1>(result) = "engineering_optics_water_filled_spheres"; break; + case 420: std::get<1>(result) = "engineering_optics_glass_lens"; break; + case 421: std::get<1>(result) = "engineering_optics_camera_obscura"; break; + case 422: std::get<1>(result) = "engineering_optics_parabolic_mirror"; break; + case 423: std::get<1>(result) = "engineering_optics_theory_of_color"; break; + case 424: std::get<1>(result) = "engineering_optics_theory_of_rainbows"; break; + case 425: std::get<1>(result) = "engineering_optics_law_of_refraction"; break; + case 426: std::get<1>(result) = "engineering_design_models_and_templates"; break; + case 427: std::get<1>(result) = "engineering_construction_wood_lamination"; break; + case 428: std::get<1>(result) = "engineering_astronomy_dioptra"; break; + case 429: std::get<1>(result) = "engineering_astronomy_astrolabe"; break; + case 430: std::get<1>(result) = "engineering_astronomy_armillary_sphere"; break; + case 431: std::get<1>(result) = "engineering_astronomy_spherical_astrolabe"; break; + case 432: std::get<1>(result) = "engineering_astronomy_mural_instrument"; break; + case 433: std::get<1>(result) = "engineering_astronomy_orrery"; break; + case 434: std::get<1>(result) = "engineering_machine_water_powered_trip_hammer"; break; + case 435: std::get<1>(result) = "engineering_machine_double_acting_piston_bellows"; break; + case 436: std::get<1>(result) = "engineering_fluid_archimedes_principle"; break; + case 437: std::get<1>(result) = "engineering_optics_atmospheric_refraction"; break; + case 438: std::get<1>(result) = "engineering_optics_cause_of_twilight"; break; + case 439: std::get<1>(result) = "engineering_optics_height_of_atmosphere"; break; + case 440: std::get<1>(result) = "engineering_machine_piston"; break; + case 441: std::get<1>(result) = "engineering_machine_crank"; break; + case 442: std::get<1>(result) = "engineering_machine_bellows"; break; + case 443: std::get<1>(result) = "engineering_machine_water_powered_piston_bellows"; break; + case 444: std::get<1>(result) = "engineering_machine_water_wheel"; break; + case 445: std::get<1>(result) = "engineering_machine_trip_hammer"; break; + default: break; + } + return result; +} + +std::tuple get_part_of_speech_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Noun"; break; + case 1: std::get<1>(result) = "NounPlural"; break; + case 2: std::get<1>(result) = "Adjective"; break; + case 3: std::get<1>(result) = "Prefix"; break; + case 4: std::get<1>(result) = "Verb"; break; + case 5: std::get<1>(result) = "Verb3rdPerson"; break; + case 6: std::get<1>(result) = "VerbPast"; break; + case 7: std::get<1>(result) = "VerbPassive"; break; + case 8: std::get<1>(result) = "VerbGerund"; break; + default: break; + } + return result; +} + +std::tuple get_sphere_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "AGRICULTURE"; break; + case 1: std::get<1>(result) = "ANIMALS"; break; + case 2: std::get<1>(result) = "ART"; break; + case 3: std::get<1>(result) = "BALANCE"; break; + case 4: std::get<1>(result) = "BEAUTY"; break; + case 5: std::get<1>(result) = "BIRTH"; break; + case 6: std::get<1>(result) = "BLIGHT"; break; + case 7: std::get<1>(result) = "BOUNDARIES"; break; + case 8: std::get<1>(result) = "CAVERNS"; break; + case 9: std::get<1>(result) = "CHAOS"; break; + case 10: std::get<1>(result) = "CHARITY"; break; + case 11: std::get<1>(result) = "CHILDREN"; break; + case 12: std::get<1>(result) = "COASTS"; break; + case 13: std::get<1>(result) = "CONSOLATION"; break; + case 14: std::get<1>(result) = "COURAGE"; break; + case 15: std::get<1>(result) = "CRAFTS"; break; + case 16: std::get<1>(result) = "CREATION"; break; + case 17: std::get<1>(result) = "DANCE"; break; + case 18: std::get<1>(result) = "DARKNESS"; break; + case 19: std::get<1>(result) = "DAWN"; break; + case 20: std::get<1>(result) = "DAY"; break; + case 21: std::get<1>(result) = "DEATH"; break; + case 22: std::get<1>(result) = "DEFORMITY"; break; + case 23: std::get<1>(result) = "DEPRAVITY"; break; + case 24: std::get<1>(result) = "DISCIPLINE"; break; + case 25: std::get<1>(result) = "DISEASE"; break; + case 26: std::get<1>(result) = "DREAMS"; break; + case 27: std::get<1>(result) = "DUSK"; break; + case 28: std::get<1>(result) = "DUTY"; break; + case 29: std::get<1>(result) = "EARTH"; break; + case 30: std::get<1>(result) = "FAMILY"; break; + case 31: std::get<1>(result) = "FAME"; break; + case 32: std::get<1>(result) = "FATE"; break; + case 33: std::get<1>(result) = "FERTILITY"; break; + case 34: std::get<1>(result) = "FESTIVALS"; break; + case 35: std::get<1>(result) = "FIRE"; break; + case 36: std::get<1>(result) = "FISH"; break; + case 37: std::get<1>(result) = "FISHING"; break; + case 38: std::get<1>(result) = "FOOD"; break; + case 39: std::get<1>(result) = "FORGIVENESS"; break; + case 40: std::get<1>(result) = "FORTRESSES"; break; + case 41: std::get<1>(result) = "FREEDOM"; break; + case 42: std::get<1>(result) = "GAMBLING"; break; + case 43: std::get<1>(result) = "GAMES"; break; + case 44: std::get<1>(result) = "GENEROSITY"; break; + case 45: std::get<1>(result) = "HAPPINESS"; break; + case 46: std::get<1>(result) = "HEALING"; break; + case 47: std::get<1>(result) = "HOSPITALITY"; break; + case 48: std::get<1>(result) = "HUNTING"; break; + case 49: std::get<1>(result) = "INSPIRATION"; break; + case 50: std::get<1>(result) = "JEALOUSY"; break; + case 51: std::get<1>(result) = "JEWELS"; break; + case 52: std::get<1>(result) = "JUSTICE"; break; + case 53: std::get<1>(result) = "LABOR"; break; + case 54: std::get<1>(result) = "LAKES"; break; + case 55: std::get<1>(result) = "LAWS"; break; + case 56: std::get<1>(result) = "LIES"; break; + case 57: std::get<1>(result) = "LIGHT"; break; + case 58: std::get<1>(result) = "LIGHTNING"; break; + case 59: std::get<1>(result) = "LONGEVITY"; break; + case 60: std::get<1>(result) = "LOVE"; break; + case 61: std::get<1>(result) = "LOYALTY"; break; + case 62: std::get<1>(result) = "LUCK"; break; + case 63: std::get<1>(result) = "LUST"; break; + case 64: std::get<1>(result) = "MARRIAGE"; break; + case 65: std::get<1>(result) = "MERCY"; break; + case 66: std::get<1>(result) = "METALS"; break; + case 67: std::get<1>(result) = "MINERALS"; break; + case 68: std::get<1>(result) = "MISERY"; break; + case 69: std::get<1>(result) = "MIST"; break; + case 70: std::get<1>(result) = "MOON"; break; + case 71: std::get<1>(result) = "MOUNTAINS"; break; + case 72: std::get<1>(result) = "MUCK"; break; + case 73: std::get<1>(result) = "MURDER"; break; + case 74: std::get<1>(result) = "MUSIC"; break; + case 75: std::get<1>(result) = "NATURE"; break; + case 76: std::get<1>(result) = "NIGHT"; break; + case 77: std::get<1>(result) = "NIGHTMARES"; break; + case 78: std::get<1>(result) = "OATHS"; break; + case 79: std::get<1>(result) = "OCEANS"; break; + case 80: std::get<1>(result) = "ORDER"; break; + case 81: std::get<1>(result) = "PAINTING"; break; + case 82: std::get<1>(result) = "PEACE"; break; + case 83: std::get<1>(result) = "PERSUASION"; break; + case 84: std::get<1>(result) = "PLANTS"; break; + case 85: std::get<1>(result) = "POETRY"; break; + case 86: std::get<1>(result) = "PREGNANCY"; break; + case 87: std::get<1>(result) = "RAIN"; break; + case 88: std::get<1>(result) = "RAINBOWS"; break; + case 89: std::get<1>(result) = "REBIRTH"; break; + case 90: std::get<1>(result) = "REVELRY"; break; + case 91: std::get<1>(result) = "REVENGE"; break; + case 92: std::get<1>(result) = "RIVERS"; break; + case 93: std::get<1>(result) = "RULERSHIP"; break; + case 94: std::get<1>(result) = "RUMORS"; break; + case 95: std::get<1>(result) = "SACRIFICE"; break; + case 96: std::get<1>(result) = "SALT"; break; + case 97: std::get<1>(result) = "SCHOLARSHIP"; break; + case 98: std::get<1>(result) = "SEASONS"; break; + case 99: std::get<1>(result) = "SILENCE"; break; + case 100: std::get<1>(result) = "SKY"; break; + case 101: std::get<1>(result) = "SONG"; break; + case 102: std::get<1>(result) = "SPEECH"; break; + case 103: std::get<1>(result) = "STARS"; break; + case 104: std::get<1>(result) = "STORMS"; break; + case 105: std::get<1>(result) = "STRENGTH"; break; + case 106: std::get<1>(result) = "SUICIDE"; break; + case 107: std::get<1>(result) = "SUN"; break; + case 108: std::get<1>(result) = "THEFT"; break; + case 109: std::get<1>(result) = "THRALLDOM"; break; + case 110: std::get<1>(result) = "THUNDER"; break; + case 111: std::get<1>(result) = "TORTURE"; break; + case 112: std::get<1>(result) = "TRADE"; break; + case 113: std::get<1>(result) = "TRAVELERS"; break; + case 114: std::get<1>(result) = "TREACHERY"; break; + case 115: std::get<1>(result) = "TREES"; break; + case 116: std::get<1>(result) = "TRICKERY"; break; + case 117: std::get<1>(result) = "TRUTH"; break; + case 118: std::get<1>(result) = "TWILIGHT"; break; + case 119: std::get<1>(result) = "VALOR"; break; + case 120: std::get<1>(result) = "VICTORY"; break; + case 121: std::get<1>(result) = "VOLCANOS"; break; + case 122: std::get<1>(result) = "WAR"; break; + case 123: std::get<1>(result) = "WATER"; break; + case 124: std::get<1>(result) = "WEALTH"; break; + case 125: std::get<1>(result) = "WEATHER"; break; + case 126: std::get<1>(result) = "WIND"; break; + case 127: std::get<1>(result) = "WISDOM"; break; + case 128: std::get<1>(result) = "WRITING"; break; + case 129: std::get<1>(result) = "YOUTH"; break; + default: break; + } + return result; +} + +std::tuple get_language_name_category_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Unit"; break; + case 1: std::get<1>(result) = "Artifact"; break; + case 2: std::get<1>(result) = "ArtifactEvil"; break; + case 3: std::get<1>(result) = "Swamp"; break; + case 4: std::get<1>(result) = "Desert"; break; + case 5: std::get<1>(result) = "Forest"; break; + case 6: std::get<1>(result) = "Mountains"; break; + case 7: std::get<1>(result) = "Lake"; break; + case 8: std::get<1>(result) = "Ocean"; break; + case 9: std::get<1>(result) = "Glacier"; break; + case 10: std::get<1>(result) = "Tundra"; break; + case 11: std::get<1>(result) = "Grassland"; break; + case 12: std::get<1>(result) = "Hills"; break; + case 13: std::get<1>(result) = "Region"; break; + case 14: std::get<1>(result) = "Cave"; break; + case 15: std::get<1>(result) = "SwampEvil"; break; + case 16: std::get<1>(result) = "DesertEvil"; break; + case 17: std::get<1>(result) = "ForestEvil"; break; + case 18: std::get<1>(result) = "MountainsEvil"; break; + case 19: std::get<1>(result) = "LakeEvil"; break; + case 20: std::get<1>(result) = "OceanEvil"; break; + case 21: std::get<1>(result) = "GlacierEvil"; break; + case 22: std::get<1>(result) = "TundraEvil"; break; + case 23: std::get<1>(result) = "GrasslandEvil"; break; + case 24: std::get<1>(result) = "HillsEvil"; break; + case 25: std::get<1>(result) = "SwampGood"; break; + case 26: std::get<1>(result) = "DesertGood"; break; + case 27: std::get<1>(result) = "ForestGood"; break; + case 28: std::get<1>(result) = "MountainsGood"; break; + case 29: std::get<1>(result) = "LakeGood"; break; + case 30: std::get<1>(result) = "OceanGood"; break; + case 31: std::get<1>(result) = "GlacierGood"; break; + case 32: std::get<1>(result) = "TundraGood"; break; + case 33: std::get<1>(result) = "GrasslandGood"; break; + case 34: std::get<1>(result) = "HillsGood"; break; + case 35: std::get<1>(result) = "ArtImage"; break; + case 36: std::get<1>(result) = "MountainPeak"; break; + case 37: std::get<1>(result) = "Unknown1"; break; + case 38: std::get<1>(result) = "Volcano"; break; + case 39: std::get<1>(result) = "SmallIsland"; break; + case 40: std::get<1>(result) = "Island"; break; + case 41: std::get<1>(result) = "Continent"; break; + case 42: std::get<1>(result) = "CommonReligion"; break; + case 43: std::get<1>(result) = "Temple"; break; + case 44: std::get<1>(result) = "Keep"; break; + case 45: std::get<1>(result) = "Unknown2"; break; + case 46: std::get<1>(result) = "SymbolArtifice"; break; + case 47: std::get<1>(result) = "SymbolViolent"; break; + case 48: std::get<1>(result) = "SymbolProtect"; break; + case 49: std::get<1>(result) = "SymbolDomestic"; break; + case 50: std::get<1>(result) = "SymbolFood"; break; + case 51: std::get<1>(result) = "War"; break; + case 52: std::get<1>(result) = "Battle"; break; + case 53: std::get<1>(result) = "Siege"; break; + case 54: std::get<1>(result) = "Road"; break; + case 55: std::get<1>(result) = "Wall"; break; + case 56: std::get<1>(result) = "Bridge"; break; + case 57: std::get<1>(result) = "Tunnel"; break; + case 58: std::get<1>(result) = "Tomb"; break; + case 59: std::get<1>(result) = "SymbolProtect2"; break; + case 60: std::get<1>(result) = "Library"; break; + case 61: std::get<1>(result) = "Festival"; break; + default: break; + } + return result; +} + +std::tuple get_nemesis_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "ACTIVE_ADVENTURER"; std::get<2>(result) = "used when loading save"; break; + case 1: std::get<1>(result) = "RETIRED_ADVENTURER"; std::get<2>(result) = "allows resuming play"; break; + case 2: std::get<1>(result) = "ADVENTURER"; std::get<2>(result) = "blue color in legends"; break; + default: break; + } + return result; +} + +std::tuple get_machine_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "standard"; break; + default: break; + } + return result; +} + +std::tuple get_screw_pump_direction_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "FromNorth"; break; + case 1: std::get<1>(result) = "FromEast"; break; + case 2: std::get<1>(result) = "FromSouth"; break; + case 3: std::get<1>(result) = "FromWest"; break; + default: break; + } + return result; +} + +std::tuple get_tile_traffic_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Normal"; break; + case 1: std::get<1>(result) = "Low"; break; + case 2: std::get<1>(result) = "High"; break; + case 3: std::get<1>(result) = "Restricted"; break; + default: break; + } + return result; +} + +std::tuple get_tile_dig_designation_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "No"; std::get<2>(result) = "no designation"; break; + case 1: std::get<1>(result) = "Default"; std::get<2>(result) = "dig walls, remove stairs and ramps, gather plants, fell trees"; break; + case 2: std::get<1>(result) = "UpDownStair"; break; + case 3: std::get<1>(result) = "Channel"; break; + case 4: std::get<1>(result) = "Ramp"; break; + case 5: std::get<1>(result) = "DownStair"; break; + case 6: std::get<1>(result) = "UpStair"; break; + default: break; + } + return result; +} + +std::tuple get_tile_liquid_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Water"; break; + case 1: std::get<1>(result) = "Magma"; break; + default: break; + } + return result; +} + +std::tuple get_tile_building_occ_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "None"; std::get<2>(result) = "no building"; break; + case 1: std::get<1>(result) = "Planned"; std::get<2>(result) = "nothing built yet"; break; + case 2: std::get<1>(result) = "Passable"; break; + case 3: std::get<1>(result) = "Obstacle"; std::get<2>(result) = "workshop tile; ~fortification"; break; + case 4: std::get<1>(result) = "Well"; break; + case 5: std::get<1>(result) = "Floored"; std::get<2>(result) = "depot; lowered bridge"; break; + case 6: std::get<1>(result) = "Impassable"; break; + case 7: std::get<1>(result) = "Dynamic"; std::get<2>(result) = "doors, grates, etc"; break; + default: break; + } + return result; +} + +std::tuple get_tile_liquid_flow_dir_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "none"; break; + case 1: std::get<1>(result) = "south"; break; + case 2: std::get<1>(result) = "east"; break; + case 3: std::get<1>(result) = "northeast"; break; + case 4: std::get<1>(result) = "west"; break; + case 5: std::get<1>(result) = "northwest"; break; + case 6: std::get<1>(result) = "southeast"; break; + case 7: std::get<1>(result) = "southwest"; break; + case 8: std::get<1>(result) = "inv_8"; break; + case 9: std::get<1>(result) = "inv_9"; break; + case 10: std::get<1>(result) = "north"; break; + case 11: std::get<1>(result) = "inv_b"; break; + case 12: std::get<1>(result) = "inv_c"; break; + case 13: std::get<1>(result) = "inv_d"; break; + case 14: std::get<1>(result) = "inv_e"; break; + case 15: std::get<1>(result) = "inv_f"; break; + default: break; + } + return result; +} + +std::tuple get_block_square_event_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "mineral"; break; + case 1: std::get<1>(result) = "frozen_liquid"; break; + case 2: std::get<1>(result) = "world_construction"; break; + case 3: std::get<1>(result) = "material_spatter"; break; + case 4: std::get<1>(result) = "grass"; break; + case 5: std::get<1>(result) = "spoor"; break; + case 6: std::get<1>(result) = "item_spatter"; break; + case 7: std::get<1>(result) = "designation_priority"; break; + default: break; + } + return result; +} + +std::tuple get_feature_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "outdoor_river"; break; + case 1: std::get<1>(result) = "cave"; break; + case 2: std::get<1>(result) = "pit"; break; + case 3: std::get<1>(result) = "magma_pool"; break; + case 4: std::get<1>(result) = "volcano"; break; + case 5: std::get<1>(result) = "deep_special_tube"; break; + case 6: std::get<1>(result) = "deep_surface_portal"; break; + case 7: std::get<1>(result) = "subterranean_from_layer"; break; + case 8: std::get<1>(result) = "magma_core_from_layer"; break; + case 9: std::get<1>(result) = "underworld_from_layer"; break; + default: break; + } + return result; +} + +std::tuple get_feature_init_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "anon_1"; break; + case 1: std::get<1>(result) = "anon_2"; break; + case 2: std::get<1>(result) = "anon_3"; break; + case 3: std::get<1>(result) = "Discovered"; break; + default: break; + } + return result; +} + +std::tuple get_feature_alteration_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "new_pop_max"; break; + case 1: std::get<1>(result) = "new_lava_fill_z"; break; + default: break; + } + return result; +} + +std::tuple get_world_construction_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "ROAD"; break; + case 1: std::get<1>(result) = "TUNNEL"; break; + case 2: std::get<1>(result) = "BRIDGE"; break; + case 3: std::get<1>(result) = "WALL"; break; + default: break; + } + return result; +} + +std::tuple get_biome_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "MOUNTAIN"; break; + case 1: std::get<1>(result) = "GLACIER"; break; + case 2: std::get<1>(result) = "TUNDRA"; break; + case 3: std::get<1>(result) = "SWAMP_TEMPERATE_FRESHWATER"; break; + case 4: std::get<1>(result) = "SWAMP_TEMPERATE_SALTWATER"; break; + case 5: std::get<1>(result) = "MARSH_TEMPERATE_FRESHWATER"; break; + case 6: std::get<1>(result) = "MARSH_TEMPERATE_SALTWATER"; break; + case 7: std::get<1>(result) = "SWAMP_TROPICAL_FRESHWATER"; break; + case 8: std::get<1>(result) = "SWAMP_TROPICAL_SALTWATER"; break; + case 9: std::get<1>(result) = "SWAMP_MANGROVE"; break; + case 10: std::get<1>(result) = "MARSH_TROPICAL_FRESHWATER"; break; + case 11: std::get<1>(result) = "MARSH_TROPICAL_SALTWATER"; break; + case 12: std::get<1>(result) = "FOREST_TAIGA"; break; + case 13: std::get<1>(result) = "FOREST_TEMPERATE_CONIFER"; break; + case 14: std::get<1>(result) = "FOREST_TEMPERATE_BROADLEAF"; break; + case 15: std::get<1>(result) = "FOREST_TROPICAL_CONIFER"; break; + case 16: std::get<1>(result) = "FOREST_TROPICAL_DRY_BROADLEAF"; break; + case 17: std::get<1>(result) = "FOREST_TROPICAL_MOIST_BROADLEAF"; break; + case 18: std::get<1>(result) = "GRASSLAND_TEMPERATE"; break; + case 19: std::get<1>(result) = "SAVANNA_TEMPERATE"; break; + case 20: std::get<1>(result) = "SHRUBLAND_TEMPERATE"; break; + case 21: std::get<1>(result) = "GRASSLAND_TROPICAL"; break; + case 22: std::get<1>(result) = "SAVANNA_TROPICAL"; break; + case 23: std::get<1>(result) = "SHRUBLAND_TROPICAL"; break; + case 24: std::get<1>(result) = "DESERT_BADLAND"; break; + case 25: std::get<1>(result) = "DESERT_ROCK"; break; + case 26: std::get<1>(result) = "DESERT_SAND"; break; + case 27: std::get<1>(result) = "OCEAN_TROPICAL"; break; + case 28: std::get<1>(result) = "OCEAN_TEMPERATE"; break; + case 29: std::get<1>(result) = "OCEAN_ARCTIC"; break; + case 30: std::get<1>(result) = "POOL_TEMPERATE_FRESHWATER"; break; + case 31: std::get<1>(result) = "POOL_TEMPERATE_BRACKISHWATER"; break; + case 32: std::get<1>(result) = "POOL_TEMPERATE_SALTWATER"; break; + case 33: std::get<1>(result) = "POOL_TROPICAL_FRESHWATER"; break; + case 34: std::get<1>(result) = "POOL_TROPICAL_BRACKISHWATER"; break; + case 35: std::get<1>(result) = "POOL_TROPICAL_SALTWATER"; break; + case 36: std::get<1>(result) = "LAKE_TEMPERATE_FRESHWATER"; break; + case 37: std::get<1>(result) = "LAKE_TEMPERATE_BRACKISHWATER"; break; + case 38: std::get<1>(result) = "LAKE_TEMPERATE_SALTWATER"; break; + case 39: std::get<1>(result) = "LAKE_TROPICAL_FRESHWATER"; break; + case 40: std::get<1>(result) = "LAKE_TROPICAL_BRACKISHWATER"; break; + case 41: std::get<1>(result) = "LAKE_TROPICAL_SALTWATER"; break; + case 42: std::get<1>(result) = "RIVER_TEMPERATE_FRESHWATER"; break; + case 43: std::get<1>(result) = "RIVER_TEMPERATE_BRACKISHWATER"; break; + case 44: std::get<1>(result) = "RIVER_TEMPERATE_SALTWATER"; break; + case 45: std::get<1>(result) = "RIVER_TROPICAL_FRESHWATER"; break; + case 46: std::get<1>(result) = "RIVER_TROPICAL_BRACKISHWATER"; break; + case 47: std::get<1>(result) = "RIVER_TROPICAL_SALTWATER"; break; + case 48: std::get<1>(result) = "SUBTERRANEAN_WATER"; break; + case 49: std::get<1>(result) = "SUBTERRANEAN_CHASM"; break; + case 50: std::get<1>(result) = "SUBTERRANEAN_LAVA"; break; + default: break; + } + return result; +} + +std::tuple get_flow_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Miasma"; break; + case 1: std::get<1>(result) = "Steam"; std::get<2>(result) = "only if mat_type=1"; break; + case 2: std::get<1>(result) = "Mist"; break; + case 3: std::get<1>(result) = "MaterialDust"; break; + case 4: std::get<1>(result) = "MagmaMist"; break; + case 5: std::get<1>(result) = "Smoke"; break; + case 6: std::get<1>(result) = "Dragonfire"; break; + case 7: std::get<1>(result) = "Fire"; break; + case 8: std::get<1>(result) = "Web"; break; + case 9: std::get<1>(result) = "MaterialGas"; break; + case 10: std::get<1>(result) = "MaterialVapor"; break; + case 11: std::get<1>(result) = "OceanWave"; break; + case 12: std::get<1>(result) = "SeaFoam"; break; + case 13: std::get<1>(result) = "ItemCloud"; break; + default: break; + } + return result; +} + +std::tuple get_flow_guide_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "TrailingFlow"; break; + case 1: std::get<1>(result) = "ItemCloud"; break; + default: break; + } + return result; +} + +std::tuple get_region_block_event_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "SphereField"; break; + default: break; + } + return result; +} + +std::tuple get_craft_material_class_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case -1: std::get<1>(result) = "None"; break; + case 0: std::get<1>(result) = "Metal"; break; + case 1: std::get<1>(result) = "Wood"; break; + case 2: std::get<1>(result) = "Gem"; break; + case 3: std::get<1>(result) = "Glass"; break; + case 4: std::get<1>(result) = "Stone"; break; + case 5: std::get<1>(result) = "Bone"; break; + case 6: std::get<1>(result) = "Ivory"; break; + case 7: std::get<1>(result) = "Horn"; break; + case 8: std::get<1>(result) = "Pearl"; break; + case 9: std::get<1>(result) = "Shell"; break; + case 10: std::get<1>(result) = "Leather"; break; + case 11: std::get<1>(result) = "Cloth"; break; + default: break; + } + return result; +} + +std::tuple get_builtin_mats_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "INORGANIC"; break; + case 1: std::get<1>(result) = "AMBER"; break; + case 2: std::get<1>(result) = "CORAL"; break; + case 3: std::get<1>(result) = "GLASS_GREEN"; break; + case 4: std::get<1>(result) = "GLASS_CLEAR"; break; + case 5: std::get<1>(result) = "GLASS_CRYSTAL"; break; + case 6: std::get<1>(result) = "WATER"; break; + case 7: std::get<1>(result) = "COAL"; break; + case 8: std::get<1>(result) = "POTASH"; break; + case 9: std::get<1>(result) = "ASH"; break; + case 10: std::get<1>(result) = "PEARLASH"; break; + case 11: std::get<1>(result) = "LYE"; break; + case 12: std::get<1>(result) = "MUD"; break; + case 13: std::get<1>(result) = "VOMIT"; break; + case 14: std::get<1>(result) = "SALT"; break; + case 15: std::get<1>(result) = "FILTH_B"; break; + case 16: std::get<1>(result) = "FILTH_Y"; break; + case 17: std::get<1>(result) = "UNKNOWN_SUBSTANCE"; break; + case 18: std::get<1>(result) = "GRIME"; break; + default: break; + } + return result; +} + +std::tuple get_material_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "BONE"; break; + case 1: std::get<1>(result) = "MEAT"; break; + case 2: std::get<1>(result) = "EDIBLE_VERMIN"; break; + case 3: std::get<1>(result) = "EDIBLE_RAW"; break; + case 4: std::get<1>(result) = "EDIBLE_COOKED"; break; + case 5: std::get<1>(result) = "ALCOHOL"; break; + case 6: std::get<1>(result) = "ITEMS_METAL"; break; + case 7: std::get<1>(result) = "ITEMS_BARRED"; break; + case 8: std::get<1>(result) = "ITEMS_SCALED"; break; + case 9: std::get<1>(result) = "ITEMS_LEATHER"; break; + case 10: std::get<1>(result) = "ITEMS_SOFT"; break; + case 11: std::get<1>(result) = "ITEMS_HARD"; break; + case 12: std::get<1>(result) = "IMPLIES_ANIMAL_KILL"; break; + case 13: std::get<1>(result) = "ALCOHOL_PLANT"; break; + case 14: std::get<1>(result) = "ALCOHOL_CREATURE"; break; + case 15: std::get<1>(result) = "CHEESE_PLANT"; break; + case 16: std::get<1>(result) = "CHEESE_CREATURE"; break; + case 17: std::get<1>(result) = "POWDER_MISC_PLANT"; break; + case 18: std::get<1>(result) = "POWDER_MISC_CREATURE"; break; + case 19: std::get<1>(result) = "STOCKPILE_GLOB"; break; + case 20: std::get<1>(result) = "LIQUID_MISC_PLANT"; break; + case 21: std::get<1>(result) = "LIQUID_MISC_CREATURE"; break; + case 22: std::get<1>(result) = "LIQUID_MISC_OTHER"; break; + case 23: std::get<1>(result) = "WOOD"; break; + case 24: std::get<1>(result) = "THREAD_PLANT"; break; + case 25: std::get<1>(result) = "TOOTH"; break; + case 26: std::get<1>(result) = "HORN"; break; + case 27: std::get<1>(result) = "PEARL"; break; + case 28: std::get<1>(result) = "SHELL"; break; + case 29: std::get<1>(result) = "LEATHER"; break; + case 30: std::get<1>(result) = "SILK"; break; + case 31: std::get<1>(result) = "SOAP"; break; + case 32: std::get<1>(result) = "ROTS"; break; + case 33: std::get<1>(result) = "IS_DYE"; break; + case 34: std::get<1>(result) = "POWDER_MISC"; break; + case 35: std::get<1>(result) = "LIQUID_MISC"; break; + case 36: std::get<1>(result) = "STRUCTURAL_PLANT_MAT"; break; + case 37: std::get<1>(result) = "SEED_MAT"; break; + case 38: std::get<1>(result) = "LEAF_MAT"; break; + case 39: std::get<1>(result) = "CHEESE"; break; + case 40: std::get<1>(result) = "ENTERS_BLOOD"; break; + case 41: std::get<1>(result) = "BLOOD_MAP_DESCRIPTOR"; break; + case 42: std::get<1>(result) = "ICHOR_MAP_DESCRIPTOR"; break; + case 43: std::get<1>(result) = "GOO_MAP_DESCRIPTOR"; break; + case 44: std::get<1>(result) = "SLIME_MAP_DESCRIPTOR"; break; + case 45: std::get<1>(result) = "PUS_MAP_DESCRIPTOR"; break; + case 46: std::get<1>(result) = "GENERATES_MIASMA"; break; + case 47: std::get<1>(result) = "IS_METAL"; break; + case 48: std::get<1>(result) = "IS_GEM"; break; + case 49: std::get<1>(result) = "IS_GLASS"; break; + case 50: std::get<1>(result) = "CRYSTAL_GLASSABLE"; break; + case 51: std::get<1>(result) = "ITEMS_WEAPON"; break; + case 52: std::get<1>(result) = "ITEMS_WEAPON_RANGED"; break; + case 53: std::get<1>(result) = "ITEMS_ANVIL"; break; + case 54: std::get<1>(result) = "ITEMS_AMMO"; break; + case 55: std::get<1>(result) = "ITEMS_DIGGER"; break; + case 56: std::get<1>(result) = "ITEMS_ARMOR"; break; + case 57: std::get<1>(result) = "ITEMS_DELICATE"; break; + case 58: std::get<1>(result) = "ITEMS_SIEGE_ENGINE"; break; + case 59: std::get<1>(result) = "ITEMS_QUERN"; break; + case 60: std::get<1>(result) = "IS_STONE"; break; + case 61: std::get<1>(result) = "UNDIGGABLE"; break; + case 62: std::get<1>(result) = "YARN"; break; + case 63: std::get<1>(result) = "STOCKPILE_GLOB_PASTE"; break; + case 64: std::get<1>(result) = "STOCKPILE_GLOB_PRESSED"; break; + case 65: std::get<1>(result) = "DISPLAY_UNGLAZED"; break; + case 66: std::get<1>(result) = "DO_NOT_CLEAN_GLOB"; break; + case 67: std::get<1>(result) = "NO_STONE_STOCKPILE"; break; + case 68: std::get<1>(result) = "STOCKPILE_THREAD_METAL"; break; + case 69: std::get<1>(result) = "SWEAT_MAP_DESCRIPTOR"; break; + case 70: std::get<1>(result) = "TEARS_MAP_DESCRIPTOR"; break; + case 71: std::get<1>(result) = "SPIT_MAP_DESCRIPTOR"; break; + case 72: std::get<1>(result) = "EVAPORATES"; break; + case 73: std::get<1>(result) = "anon_1"; break; + case 74: std::get<1>(result) = "IS_CERAMIC"; break; + default: break; + } + return result; +} + +std::tuple get_matter_state_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case -1: std::get<1>(result) = "None"; break; + case 0: std::get<1>(result) = "Solid"; break; + case 1: std::get<1>(result) = "Liquid"; break; + case 2: std::get<1>(result) = "Gas"; break; + case 3: std::get<1>(result) = "Powder"; break; + case 4: std::get<1>(result) = "Paste"; break; + case 5: std::get<1>(result) = "Pressed"; break; + default: break; + } + return result; +} + +std::tuple get_strain_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "BENDING"; break; + case 1: std::get<1>(result) = "SHEAR"; break; + case 2: std::get<1>(result) = "TORSION"; break; + case 3: std::get<1>(result) = "IMPACT"; break; + case 4: std::get<1>(result) = "TENSILE"; break; + case 5: std::get<1>(result) = "COMPRESSIVE"; break; + default: break; + } + return result; +} + +std::tuple get_inorganic_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "LAVA"; break; + case 1: std::get<1>(result) = "GENERATED"; break; + case 2: std::get<1>(result) = "ENVIRONMENT_NON_SOIL_OCEAN"; std::get<2>(result) = "is METAMORPHIC, or has ENVIRONMENT with anything but SOIL_OCEAN"; break; + case 3: std::get<1>(result) = "SEDIMENTARY"; break; + case 4: std::get<1>(result) = "SEDIMENTARY_OCEAN_SHALLOW"; break; + case 5: std::get<1>(result) = "IGNEOUS_INTRUSIVE"; break; + case 6: std::get<1>(result) = "IGNEOUS_EXTRUSIVE"; break; + case 7: std::get<1>(result) = "METAMORPHIC"; break; + case 8: std::get<1>(result) = "DEEP_SURFACE"; break; + case 9: std::get<1>(result) = "METAL_ORE"; break; + case 10: std::get<1>(result) = "AQUIFER"; break; + case 11: std::get<1>(result) = "SOIL_ANY"; break; + case 12: std::get<1>(result) = "SOIL_OCEAN"; break; + case 13: std::get<1>(result) = "SOIL_SAND"; break; + case 14: std::get<1>(result) = "SEDIMENTARY_OCEAN_DEEP"; break; + case 15: std::get<1>(result) = "THREAD_METAL"; break; + case 16: std::get<1>(result) = "SPECIAL"; std::get<2>(result) = "or any DEEP_*"; break; + case 17: std::get<1>(result) = "SOIL"; break; + case 18: std::get<1>(result) = "DEEP_SPECIAL"; break; + case 19: std::get<1>(result) = "DIVINE"; break; + case 20: std::get<1>(result) = "anon_1"; break; + case 21: std::get<1>(result) = "anon_2"; break; + case 22: std::get<1>(result) = "anon_3"; break; + case 23: std::get<1>(result) = "anon_4"; break; + case 24: std::get<1>(result) = "anon_5"; break; + case 25: std::get<1>(result) = "WAFERS"; break; + case 26: std::get<1>(result) = "anon_6"; break; + case 27: std::get<1>(result) = "anon_7"; break; + case 28: std::get<1>(result) = "anon_8"; break; + case 29: std::get<1>(result) = "anon_9"; break; + case 30: std::get<1>(result) = "anon_10"; break; + case 31: std::get<1>(result) = "anon_11"; break; + default: break; + } + return result; +} + +std::tuple get_environment_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "SOIL"; break; + case 1: std::get<1>(result) = "SOIL_OCEAN"; break; + case 2: std::get<1>(result) = "SOIL_SAND"; break; + case 3: std::get<1>(result) = "METAMORPHIC"; break; + case 4: std::get<1>(result) = "SEDIMENTARY"; break; + case 5: std::get<1>(result) = "IGNEOUS_INTRUSIVE"; break; + case 6: std::get<1>(result) = "IGNEOUS_EXTRUSIVE"; break; + case 7: std::get<1>(result) = "ALLUVIAL"; break; + default: break; + } + return result; +} + +std::tuple get_inclusion_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "anon_1"; std::get<2>(result) = "unused"; break; + case 1: std::get<1>(result) = "VEIN"; break; + case 2: std::get<1>(result) = "CLUSTER"; break; + case 3: std::get<1>(result) = "CLUSTER_SMALL"; break; + case 4: std::get<1>(result) = "CLUSTER_ONE"; break; + default: break; + } + return result; +} + +std::tuple get_organic_mat_category_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Meat"; break; + case 1: std::get<1>(result) = "Fish"; break; + case 2: std::get<1>(result) = "UnpreparedFish"; break; + case 3: std::get<1>(result) = "Eggs"; break; + case 4: std::get<1>(result) = "Plants"; break; + case 5: std::get<1>(result) = "PlantDrink"; break; + case 6: std::get<1>(result) = "CreatureDrink"; break; + case 7: std::get<1>(result) = "PlantCheese"; break; + case 8: std::get<1>(result) = "CreatureCheese"; break; + case 9: std::get<1>(result) = "Seed"; break; + case 10: std::get<1>(result) = "Leaf"; break; + case 11: std::get<1>(result) = "PlantPowder"; break; + case 12: std::get<1>(result) = "CreaturePowder"; break; + case 13: std::get<1>(result) = "Glob"; break; + case 14: std::get<1>(result) = "PlantLiquid"; break; + case 15: std::get<1>(result) = "CreatureLiquid"; break; + case 16: std::get<1>(result) = "MiscLiquid"; break; + case 17: std::get<1>(result) = "Leather"; break; + case 18: std::get<1>(result) = "Silk"; break; + case 19: std::get<1>(result) = "PlantFiber"; break; + case 20: std::get<1>(result) = "Bone"; break; + case 21: std::get<1>(result) = "Shell"; break; + case 22: std::get<1>(result) = "Wood"; break; + case 23: std::get<1>(result) = "Horn"; break; + case 24: std::get<1>(result) = "Pearl"; break; + case 25: std::get<1>(result) = "Tooth"; break; + case 26: std::get<1>(result) = "EdibleCheese"; break; + case 27: std::get<1>(result) = "AnyDrink"; break; + case 28: std::get<1>(result) = "EdiblePlant"; break; + case 29: std::get<1>(result) = "CookableLiquid"; break; + case 30: std::get<1>(result) = "CookablePowder"; break; + case 31: std::get<1>(result) = "CookableSeed"; break; + case 32: std::get<1>(result) = "CookableLeaf"; break; + case 33: std::get<1>(result) = "Paste"; break; + case 34: std::get<1>(result) = "Pressed"; break; + case 35: std::get<1>(result) = "Yarn"; break; + case 36: std::get<1>(result) = "MetalThread"; break; + default: break; + } + return result; +} + +std::tuple get_meeting_topic_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "DiscussCurrent"; break; + case 1: std::get<1>(result) = "RequestPeace"; break; + case 2: std::get<1>(result) = "TreeQuota"; break; + case 3: std::get<1>(result) = "BecomeLandHolder"; break; + case 4: std::get<1>(result) = "PromoteLandHolder"; break; + case 5: std::get<1>(result) = "ExportAgreement"; break; + case 6: std::get<1>(result) = "ImportAgreement"; break; + case 7: std::get<1>(result) = "PleasantPlace"; break; + case 8: std::get<1>(result) = "WorldStatus"; break; + case 9: std::get<1>(result) = "TributeAgreement"; break; + default: break; + } + return result; +} + +std::tuple get_meeting_event_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "AcceptAgreement"; break; + case 1: std::get<1>(result) = "RejectAgreement"; break; + case 2: std::get<1>(result) = "AcceptPeace"; break; + case 3: std::get<1>(result) = "RejectPeace"; break; + case 4: std::get<1>(result) = "ExportAgreement"; break; + case 5: std::get<1>(result) = "ImportAgreement"; break; + default: break; + } + return result; +} + +std::tuple get_activity_event_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "TrainingSession"; break; + case 1: std::get<1>(result) = "CombatTraining"; break; + case 2: std::get<1>(result) = "SkillDemonstration"; break; + case 3: std::get<1>(result) = "IndividualSkillDrill"; break; + case 4: std::get<1>(result) = "Sparring"; break; + case 5: std::get<1>(result) = "RangedPractice"; break; + case 6: std::get<1>(result) = "Harassment"; break; + case 7: std::get<1>(result) = "Conversation"; break; + case 8: std::get<1>(result) = "Conflict"; break; + case 9: std::get<1>(result) = "Guard"; break; + case 10: std::get<1>(result) = "Reunion"; break; + case 11: std::get<1>(result) = "Prayer"; break; + case 12: std::get<1>(result) = "Socialize"; break; + case 13: std::get<1>(result) = "Worship"; break; + case 14: std::get<1>(result) = "Performance"; break; + case 15: std::get<1>(result) = "Research"; break; + case 16: std::get<1>(result) = "PonderTopic"; break; + case 17: std::get<1>(result) = "DiscussTopic"; break; + case 18: std::get<1>(result) = "Read"; break; + case 19: std::get<1>(result) = "FillServiceOrder"; break; + case 20: std::get<1>(result) = "Write"; break; + case 21: std::get<1>(result) = "CopyWrittenContent"; break; + case 22: std::get<1>(result) = "TeachTopic"; break; + case 23: std::get<1>(result) = "Play"; break; + case 24: std::get<1>(result) = "MakeBelieve"; break; + case 25: std::get<1>(result) = "PlayWithToy"; break; + case 26: std::get<1>(result) = "Encounter"; break; + case 27: std::get<1>(result) = "StoreObject"; break; + default: break; + } + return result; +} + +std::tuple get_conversation_menu_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case -1: std::get<1>(result) = "None"; break; + case 0: std::get<1>(result) = "RespondGreeting"; break; + case 1: std::get<1>(result) = "MainMenu"; break; + case 2: std::get<1>(result) = "anon_1"; break; + case 3: std::get<1>(result) = "anon_2"; break; + case 4: std::get<1>(result) = "anon_3"; break; + case 5: std::get<1>(result) = "anon_4"; break; + case 6: std::get<1>(result) = "anon_5"; break; + case 7: std::get<1>(result) = "RespondGoodbye"; break; + case 8: std::get<1>(result) = "anon_6"; break; + case 9: std::get<1>(result) = "DenyPermissionSleep"; break; + case 10: std::get<1>(result) = "AskJoin"; break; + case 11: std::get<1>(result) = "RespondJoin"; break; + case 12: std::get<1>(result) = "DiscussRescue"; break; + case 13: std::get<1>(result) = "DiscussAgreement"; break; + case 14: std::get<1>(result) = "DiscussTrade"; break; + case 15: std::get<1>(result) = "DiscussSurroundingArea"; break; + case 16: std::get<1>(result) = "RespondAccusation"; break; + case 17: std::get<1>(result) = "DiscussFamily"; break; + case 18: std::get<1>(result) = "RespondArmistice"; break; + case 19: std::get<1>(result) = "RespondDemandYield"; break; + case 20: std::get<1>(result) = "anon_7"; break; + case 21: std::get<1>(result) = "anon_8"; break; + case 22: std::get<1>(result) = "anon_9"; break; + case 23: std::get<1>(result) = "AskDirections"; break; + case 24: std::get<1>(result) = "anon_10"; break; + case 25: std::get<1>(result) = "anon_11"; break; + case 26: std::get<1>(result) = "anon_12"; break; + case 27: std::get<1>(result) = "anon_13"; break; + case 28: std::get<1>(result) = "anon_14"; break; + case 29: std::get<1>(result) = "anon_15"; break; + case 30: std::get<1>(result) = "Demand"; break; + case 31: std::get<1>(result) = "anon_16"; break; + case 32: std::get<1>(result) = "anon_17"; break; + case 33: std::get<1>(result) = "anon_18"; break; + case 34: std::get<1>(result) = "Barter"; break; + case 35: std::get<1>(result) = "DiscussHearthpersonDuties"; break; + case 36: std::get<1>(result) = "anon_19"; break; + case 37: std::get<1>(result) = "DiscussJourney"; break; + case 38: std::get<1>(result) = "DiscussGroup"; break; + case 39: std::get<1>(result) = "DiscussConflict"; break; + case 40: std::get<1>(result) = "DiscussSite"; break; + case 41: std::get<1>(result) = "RespondDemand"; break; + case 42: std::get<1>(result) = "anon_20"; break; + case 43: std::get<1>(result) = "RespondTributeDemand"; break; + case 44: std::get<1>(result) = "RespondTributeOffer"; break; + case 45: std::get<1>(result) = "DiscussTradeCancellation"; break; + case 46: std::get<1>(result) = "RespondPeaceOffer"; break; + case 47: std::get<1>(result) = "DiscussAgreementConclusion"; break; + case 48: std::get<1>(result) = "RespondAdoptionRequest"; break; + case 49: std::get<1>(result) = "anon_21"; break; + case 50: std::get<1>(result) = "anon_22"; break; + case 51: std::get<1>(result) = "RespondPositionOffer"; break; + case 52: std::get<1>(result) = "RespondInvocation"; break; + case 53: std::get<1>(result) = "anon_23"; break; + case 54: std::get<1>(result) = "AskAboutPerson"; break; + case 55: std::get<1>(result) = "anon_24"; break; + case 56: std::get<1>(result) = "DiscussFeelings"; break; + case 57: std::get<1>(result) = "anon_25"; break; + case 58: std::get<1>(result) = "anon_26"; break; + case 59: std::get<1>(result) = "anon_27"; break; + case 60: std::get<1>(result) = "anon_28"; break; + case 61: std::get<1>(result) = "anon_29"; break; + case 62: std::get<1>(result) = "anon_30"; break; + case 63: std::get<1>(result) = "anon_31"; break; + case 64: std::get<1>(result) = "anon_32"; break; + case 65: std::get<1>(result) = "StateGeneralThoughts"; break; + case 66: std::get<1>(result) = "DiscussValues"; break; + case 67: std::get<1>(result) = "RespondValues"; break; + case 68: std::get<1>(result) = "RespondPassiveReply"; break; + case 69: std::get<1>(result) = "RespondFlattery"; break; + case 70: std::get<1>(result) = "RespondDismissal"; break; + default: break; + } + return result; +} + +std::tuple get_performance_event_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "STORY"; break; + case 1: std::get<1>(result) = "POETRY"; break; + case 2: std::get<1>(result) = "MUSIC"; break; + case 3: std::get<1>(result) = "DANCE"; break; + default: break; + } + return result; +} + +std::tuple get_performance_participant_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "TELL_STORY"; break; + case 1: std::get<1>(result) = "RECITE_POETRY"; break; + case 2: std::get<1>(result) = "MAKE_MUSIC"; break; + case 3: std::get<1>(result) = "PERFORM_DANCE"; break; + case 4: std::get<1>(result) = "LISTEN"; break; + case 5: std::get<1>(result) = "HEAR"; break; + default: break; + } + return result; +} + +std::tuple get_uniform_category_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "body"; break; + case 1: std::get<1>(result) = "head"; break; + case 2: std::get<1>(result) = "pants"; break; + case 3: std::get<1>(result) = "gloves"; break; + case 4: std::get<1>(result) = "shoes"; break; + case 5: std::get<1>(result) = "shield"; break; + case 6: std::get<1>(result) = "weapon"; break; + default: break; + } + return result; +} + +std::tuple get_barrack_preference_category_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Bed"; break; + case 1: std::get<1>(result) = "Armorstand"; break; + case 2: std::get<1>(result) = "Box"; break; + case 3: std::get<1>(result) = "Cabinet"; break; + default: break; + } + return result; +} + +std::tuple get_squad_event_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case -1: std::get<1>(result) = "None"; break; + case 0: std::get<1>(result) = "Unk0"; break; + case 1: std::get<1>(result) = "Unk1"; break; + case 2: std::get<1>(result) = "Unk2"; break; + default: break; + } + return result; +} + +std::tuple get_squad_order_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "MOVE"; break; + case 1: std::get<1>(result) = "KILL_LIST"; break; + case 2: std::get<1>(result) = "DEFEND_BURROWS"; break; + case 3: std::get<1>(result) = "PATROL_ROUTE"; break; + case 4: std::get<1>(result) = "TRAIN"; break; + case 5: std::get<1>(result) = "DRIVE_ENTITY_OFF_SITE"; break; + case 6: std::get<1>(result) = "CAUSE_TROUBLE_FOR_ENTITY"; break; + case 7: std::get<1>(result) = "KILL_HF"; break; + case 8: std::get<1>(result) = "DRIVE_ARMIES_FROM_SITE"; break; + case 9: std::get<1>(result) = "RETRIEVE_ARTIFACT"; break; + case 10: std::get<1>(result) = "RAID_SITE"; break; + case 11: std::get<1>(result) = "RESCUE_HF"; break; + default: break; + } + return result; +} + +std::tuple get_squad_order_cannot_reason_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "not_following_order"; break; + case 1: std::get<1>(result) = "activity_cancelled"; break; + case 2: std::get<1>(result) = "no_barracks"; break; + case 3: std::get<1>(result) = "improper_barracks"; break; + case 4: std::get<1>(result) = "no_activity"; break; + case 5: std::get<1>(result) = "cannot_individually_drill"; break; + case 6: std::get<1>(result) = "does_not_exist"; break; + case 7: std::get<1>(result) = "no_archery_target"; break; + case 8: std::get<1>(result) = "improper_building"; break; + case 9: std::get<1>(result) = "unreachable_location"; break; + case 10: std::get<1>(result) = "invalid_location"; break; + case 11: std::get<1>(result) = "no_reachable_valid_target"; break; + case 12: std::get<1>(result) = "no_burrow"; break; + case 13: std::get<1>(result) = "not_in_squad"; break; + case 14: std::get<1>(result) = "no_patrol_route"; break; + case 15: std::get<1>(result) = "no_reachable_point_on_route"; break; + case 16: std::get<1>(result) = "invalid_order"; break; + default: break; + } + return result; +} + +std::tuple get_army_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "player"; break; + default: break; + } + return result; +} + +std::tuple get_unit_path_goal_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case -1: std::get<1>(result) = "None"; break; + case 0: std::get<1>(result) = "ComeToJobBuilding"; break; + case 1: std::get<1>(result) = "ValidPondDumpUnit"; break; + case 2: std::get<1>(result) = "ValidPondDump"; break; + case 3: std::get<1>(result) = "ConflictDefense"; break; + case 4: std::get<1>(result) = "AdventureMove"; break; + case 5: std::get<1>(result) = "MarauderMill"; break; + case 6: std::get<1>(result) = "WildernessCuriousStealTarget"; break; + case 7: std::get<1>(result) = "WildernessRoamer"; break; + case 8: std::get<1>(result) = "ThiefTarget"; break; + case 9: std::get<1>(result) = "Owner"; break; + case 10: std::get<1>(result) = "CheckChest"; break; + case 11: std::get<1>(result) = "SleepBed"; break; + case 12: std::get<1>(result) = "SleepBarracks"; break; + case 13: std::get<1>(result) = "SleepGround"; break; + case 14: std::get<1>(result) = "LeaveWall"; break; + case 15: std::get<1>(result) = "FleeTerrain"; break; + case 16: std::get<1>(result) = "TaxRoom"; break; + case 17: std::get<1>(result) = "GuardTaxes"; break; + case 18: std::get<1>(result) = "RansackTaxes"; break; + case 19: std::get<1>(result) = "GetEmptySandBag"; break; + case 20: std::get<1>(result) = "SandZone"; break; + case 21: std::get<1>(result) = "GrabCage"; break; + case 22: std::get<1>(result) = "UncageAnimal"; break; + case 23: std::get<1>(result) = "CaptureSmallPet"; break; + case 24: std::get<1>(result) = "GrabCageUnit"; break; + case 25: std::get<1>(result) = "GoToCage"; break; + case 26: std::get<1>(result) = "GrabAnimalTrap"; break; + case 27: std::get<1>(result) = "CageVermin"; break; + case 28: std::get<1>(result) = "GrabUnfillBucket"; break; + case 29: std::get<1>(result) = "SeekFillBucket"; break; + case 30: std::get<1>(result) = "SeekPatientForCarry"; break; + case 31: std::get<1>(result) = "SeekPatientForDiagnosis"; break; + case 32: std::get<1>(result) = "SeekPatientForImmobilizeBreak"; break; + case 33: std::get<1>(result) = "SeekPatientForCrutch"; break; + case 34: std::get<1>(result) = "SeekPatientForSuturing"; break; + case 35: std::get<1>(result) = "SeekSurgerySite"; break; + case 36: std::get<1>(result) = "CarryPatientToBed"; break; + case 37: std::get<1>(result) = "SeekGiveWaterBucket"; break; + case 38: std::get<1>(result) = "SeekJobItem"; break; + case 39: std::get<1>(result) = "SeekUnitForItemDrop"; break; + case 40: std::get<1>(result) = "SeekUnitForJob"; break; + case 41: std::get<1>(result) = "SeekSplint"; break; + case 42: std::get<1>(result) = "SeekCrutch"; break; + case 43: std::get<1>(result) = "SeekSutureThread"; break; + case 44: std::get<1>(result) = "SeekDressingCloth"; break; + case 45: std::get<1>(result) = "GoToGiveWaterTarget"; break; + case 46: std::get<1>(result) = "SeekFoodForTarget"; break; + case 47: std::get<1>(result) = "SeekTargetForFood"; break; + case 48: std::get<1>(result) = "SeekAnimalForSlaughter"; break; + case 49: std::get<1>(result) = "SeekSlaughterBuilding"; break; + case 50: std::get<1>(result) = "SeekAnimalForChain"; break; + case 51: std::get<1>(result) = "SeekChainForAnimal"; break; + case 52: std::get<1>(result) = "SeekCageForUnchain"; break; + case 53: std::get<1>(result) = "SeekAnimalForUnchain"; break; + case 54: std::get<1>(result) = "GrabFoodForTaming"; break; + case 55: std::get<1>(result) = "SeekAnimalForTaming"; break; + case 56: std::get<1>(result) = "SeekDrinkItem"; break; + case 57: std::get<1>(result) = "SeekFoodItem"; break; + case 58: std::get<1>(result) = "SeekEatingChair"; break; + case 59: std::get<1>(result) = "SeekEatingChair2"; break; + case 60: std::get<1>(result) = "SeekBadMoodBuilding"; break; + case 61: std::get<1>(result) = "SetGlassMoodBuilding"; break; + case 62: std::get<1>(result) = "SetMoodBuilding"; break; + case 63: std::get<1>(result) = "SeekFellVictim"; break; + case 64: std::get<1>(result) = "CleanBuildingSite"; break; + case 65: std::get<1>(result) = "ResetPriorityGoal"; break; + case 66: std::get<1>(result) = "MainJobBuilding"; break; + case 67: std::get<1>(result) = "DropOffJobItems"; break; + case 68: std::get<1>(result) = "GrabJobResources"; break; + case 69: std::get<1>(result) = "WorkAtBuilding"; break; + case 70: std::get<1>(result) = "GrabUniform"; break; + case 71: std::get<1>(result) = "GrabClothing"; break; + case 72: std::get<1>(result) = "GrabWeapon"; break; + case 73: std::get<1>(result) = "GrabAmmunition"; break; + case 74: std::get<1>(result) = "GrabShield"; break; + case 75: std::get<1>(result) = "GrabArmor"; break; + case 76: std::get<1>(result) = "GrabHelm"; break; + case 77: std::get<1>(result) = "GrabBoots"; break; + case 78: std::get<1>(result) = "GrabGloves"; break; + case 79: std::get<1>(result) = "GrabPants"; break; + case 80: std::get<1>(result) = "GrabQuiver"; break; + case 81: std::get<1>(result) = "GrabBackpack"; break; + case 82: std::get<1>(result) = "GrabWaterskin"; break; + case 83: std::get<1>(result) = "StartHunt"; break; + case 84: std::get<1>(result) = "StartFish"; break; + case 85: std::get<1>(result) = "Clean"; break; + case 86: std::get<1>(result) = "HuntVermin"; break; + case 87: std::get<1>(result) = "Patrol"; break; + case 88: std::get<1>(result) = "SquadStation"; break; + case 89: std::get<1>(result) = "SeekInfant"; break; + case 90: std::get<1>(result) = "ShopSpecific"; break; + case 91: std::get<1>(result) = "MillInShop"; break; + case 92: std::get<1>(result) = "GoToShop"; break; + case 93: std::get<1>(result) = "SeekTrainingAmmunition"; break; + case 94: std::get<1>(result) = "ArcheryTrainingSite"; break; + case 95: std::get<1>(result) = "SparringPartner"; break; + case 96: std::get<1>(result) = "SparringSite"; break; + case 97: std::get<1>(result) = "AttendParty"; break; + case 98: std::get<1>(result) = "SeekArtifact"; break; + case 99: std::get<1>(result) = "GrabAmmunitionForBuilding"; break; + case 100: std::get<1>(result) = "SeekBuildingForAmmunition"; break; + case 101: std::get<1>(result) = "SeekItemForStorage"; break; + case 102: std::get<1>(result) = "StoreItem"; break; + case 103: std::get<1>(result) = "GrabKill"; break; + case 104: std::get<1>(result) = "DropKillAtButcher"; break; + case 105: std::get<1>(result) = "DropKillOutFront"; break; + case 106: std::get<1>(result) = "GoToBeatingTarget"; break; + case 107: std::get<1>(result) = "SeekKidnapVictim"; break; + case 108: std::get<1>(result) = "SeekHuntingTarget"; break; + case 109: std::get<1>(result) = "SeekTargetMechanism"; break; + case 110: std::get<1>(result) = "SeekTargetForMechanism"; break; + case 111: std::get<1>(result) = "SeekMechanismForTrigger"; break; + case 112: std::get<1>(result) = "SeekTriggerForMechanism"; break; + case 113: std::get<1>(result) = "SeekTrapForVerminCatch"; break; + case 114: std::get<1>(result) = "SeekVerminForCatching"; break; + case 115: std::get<1>(result) = "SeekVerminCatchLocation"; break; + case 116: std::get<1>(result) = "WanderVerminCatchLocation"; break; + case 117: std::get<1>(result) = "SeekVerminForHunting"; break; + case 118: std::get<1>(result) = "SeekVerminHuntingSpot"; break; + case 119: std::get<1>(result) = "WanderVerminHuntingSpot"; break; + case 120: std::get<1>(result) = "SeekFishTrap"; break; + case 121: std::get<1>(result) = "SeekFishCatchLocation"; break; + case 122: std::get<1>(result) = "SeekWellForWater"; break; + case 123: std::get<1>(result) = "SeekDrinkAreaForWater"; break; + case 124: std::get<1>(result) = "UpgradeSquadEquipment"; break; + case 125: std::get<1>(result) = "PrepareEquipmentManifests"; break; + case 126: std::get<1>(result) = "WanderDepot"; break; + case 127: std::get<1>(result) = "SeekUpdateOffice"; break; + case 128: std::get<1>(result) = "SeekManageOffice"; break; + case 129: std::get<1>(result) = "AssignedBuildingJob"; break; + case 130: std::get<1>(result) = "ChaseOpponent"; break; + case 131: std::get<1>(result) = "FleeFromOpponent"; break; + case 132: std::get<1>(result) = "AttackBuilding"; break; + case 133: std::get<1>(result) = "StartBedCarry"; break; + case 134: std::get<1>(result) = "StartGiveFoodWater"; break; + case 135: std::get<1>(result) = "StartMedicalAid"; break; + case 136: std::get<1>(result) = "SeekStationFlood"; break; + case 137: std::get<1>(result) = "SeekStation"; break; + case 138: std::get<1>(result) = "StartWaterJobWell"; break; + case 139: std::get<1>(result) = "StartWaterJobDrinkArea"; break; + case 140: std::get<1>(result) = "StartEatJob"; break; + case 141: std::get<1>(result) = "ScheduledMeal"; break; + case 142: std::get<1>(result) = "ScheduledSleepBed"; break; + case 143: std::get<1>(result) = "ScheduledSleepGround"; break; + case 144: std::get<1>(result) = "Rest"; break; + case 145: std::get<1>(result) = "RemoveConstruction"; break; + case 146: std::get<1>(result) = "Chop"; break; + case 147: std::get<1>(result) = "Detail"; break; + case 148: std::get<1>(result) = "GatherPlant"; break; + case 149: std::get<1>(result) = "Dig"; break; + case 150: std::get<1>(result) = "Mischief"; break; + case 151: std::get<1>(result) = "ChaseOpponentSameSquare"; break; + case 152: std::get<1>(result) = "RestRecovered"; break; + case 153: std::get<1>(result) = "RestReset"; break; + case 154: std::get<1>(result) = "CombatTraining"; break; + case 155: std::get<1>(result) = "SkillDemonstration"; break; + case 156: std::get<1>(result) = "IndividualSkillDrill"; break; + case 157: std::get<1>(result) = "SeekBuildingForItemDrop"; break; + case 158: std::get<1>(result) = "SeekBuildingForJob"; break; + case 159: std::get<1>(result) = "GrabMilkUnit"; break; + case 160: std::get<1>(result) = "GoToMilkStation"; break; + case 161: std::get<1>(result) = "SeekPatientForDressWound"; break; + case 162: std::get<1>(result) = "UndeadHunt"; break; + case 163: std::get<1>(result) = "GrabShearUnit"; break; + case 164: std::get<1>(result) = "GoToShearStation"; break; + case 165: std::get<1>(result) = "LayEggNestBox"; break; + case 166: std::get<1>(result) = "ClayZone"; break; + case 167: std::get<1>(result) = "ColonyToInstall"; break; + case 168: std::get<1>(result) = "ReturnColonyToInstall"; break; + case 169: std::get<1>(result) = "Nonsense"; break; + case 170: std::get<1>(result) = "SeekBloodSuckVictim"; break; + case 171: std::get<1>(result) = "SeekSheriff"; break; + case 172: std::get<1>(result) = "GrabExecutionWeapon"; break; + case 173: std::get<1>(result) = "TrainAnimal"; break; + case 174: std::get<1>(result) = "GuardPath"; break; + case 175: std::get<1>(result) = "Harass"; break; + case 176: std::get<1>(result) = "SiteWalk"; break; + case 177: std::get<1>(result) = "SiteWalkToBuilding"; break; + case 178: std::get<1>(result) = "Reunion"; break; + case 179: std::get<1>(result) = "ArmyWalk"; break; + case 180: std::get<1>(result) = "ChaseOpponentFlood"; break; + case 181: std::get<1>(result) = "ChargeAttack"; break; + case 182: std::get<1>(result) = "FleeFromOpponentClimb"; break; + case 183: std::get<1>(result) = "SeekLadderToClimb"; break; + case 184: std::get<1>(result) = "SeekLadderToMove"; break; + case 185: std::get<1>(result) = "PlaceLadder"; break; + case 186: std::get<1>(result) = "SeekAnimalForGelding"; break; + case 187: std::get<1>(result) = "SeekGeldingBuilding"; break; + case 188: std::get<1>(result) = "Prayer"; break; + case 189: std::get<1>(result) = "Socialize"; break; + case 190: std::get<1>(result) = "Performance"; break; + case 191: std::get<1>(result) = "Research"; break; + case 192: std::get<1>(result) = "PonderTopic"; break; + case 193: std::get<1>(result) = "FillServiceOrder"; break; + case 194: std::get<1>(result) = "GetWrittenContent"; break; + case 195: std::get<1>(result) = "GoToReadingPlace"; break; + case 196: std::get<1>(result) = "GetWritingMaterials"; break; + case 197: std::get<1>(result) = "GoToWritingPlace"; break; + case 198: std::get<1>(result) = "Worship"; break; + case 199: std::get<1>(result) = "GrabInstrument"; break; + case 200: std::get<1>(result) = "Play"; break; + case 201: std::get<1>(result) = "MakeBelieve"; break; + case 202: std::get<1>(result) = "PlayWithToy"; break; + case 203: std::get<1>(result) = "GrabToy"; break; + default: break; + } + return result; +} + +std::tuple get_unit_station_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case -1: std::get<1>(result) = "None"; break; + case 0: std::get<1>(result) = "Nonsense"; break; + case 1: std::get<1>(result) = "DungeonCommander"; break; + case 2: std::get<1>(result) = "InsaneMood"; break; + case 3: std::get<1>(result) = "UndeadHunt"; break; + case 4: std::get<1>(result) = "SiegerPatrol"; break; + case 5: std::get<1>(result) = "MaraudeTarget"; break; + case 6: std::get<1>(result) = "SiegerBasepoint"; break; + case 7: std::get<1>(result) = "SiegerMill"; break; + case 8: std::get<1>(result) = "AmbushPatrol"; break; + case 9: std::get<1>(result) = "MarauderMill"; break; + case 10: std::get<1>(result) = "WildernessCuriousWander"; break; + case 11: std::get<1>(result) = "WildernessCuriousStealTarget"; break; + case 12: std::get<1>(result) = "WildernessRoamer"; break; + case 13: std::get<1>(result) = "PatternPatrol"; break; + case 14: std::get<1>(result) = "InactiveMarauder"; break; + case 15: std::get<1>(result) = "Owner"; break; + case 16: std::get<1>(result) = "Commander"; break; + case 17: std::get<1>(result) = "ChainedAnimal"; break; + case 18: std::get<1>(result) = "MeetingLocation"; break; + case 19: std::get<1>(result) = "MeetingLocationBuilding"; break; + case 20: std::get<1>(result) = "Depot"; break; + case 21: std::get<1>(result) = "VerminHunting"; break; + case 22: std::get<1>(result) = "SeekCommander"; break; + case 23: std::get<1>(result) = "ReturnToBase"; break; + case 24: std::get<1>(result) = "MillAnywhere"; break; + case 25: std::get<1>(result) = "Wagon"; break; + case 26: std::get<1>(result) = "MillBuilding"; break; + case 27: std::get<1>(result) = "HeadForEdge"; break; + case 28: std::get<1>(result) = "MillingFlood"; break; + case 29: std::get<1>(result) = "MillingBurrow"; break; + case 30: std::get<1>(result) = "SquadMove"; break; + case 31: std::get<1>(result) = "SquadKillList"; break; + case 32: std::get<1>(result) = "SquadPatrol"; break; + case 33: std::get<1>(result) = "SquadDefendBurrow"; break; + case 34: std::get<1>(result) = "SquadDefendBurrowFromTarget"; break; + case 35: std::get<1>(result) = "LairHunter"; break; + case 36: std::get<1>(result) = "Graze"; break; + case 37: std::get<1>(result) = "Guard"; break; + case 38: std::get<1>(result) = "Alarm"; break; + case 39: std::get<1>(result) = "MoveToSite"; break; + case 40: std::get<1>(result) = "ClaimSite"; break; + case 41: std::get<1>(result) = "WaitOrder"; break; + default: break; + } + return result; +} + +std::tuple get_plant_raw_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "SPRING"; break; + case 1: std::get<1>(result) = "SUMMER"; break; + case 2: std::get<1>(result) = "AUTUMN"; break; + case 3: std::get<1>(result) = "WINTER"; break; + case 4: std::get<1>(result) = "anon_1"; break; + case 5: std::get<1>(result) = "SEED"; break; + case 6: std::get<1>(result) = "TREE_HAS_MUSHROOM_CAP"; break; + case 7: std::get<1>(result) = "DRINK"; break; + case 8: std::get<1>(result) = "EXTRACT_BARREL"; break; + case 9: std::get<1>(result) = "EXTRACT_VIAL"; break; + case 10: std::get<1>(result) = "EXTRACT_STILL_VIAL"; break; + case 11: std::get<1>(result) = "GENERATED"; break; + case 12: std::get<1>(result) = "THREAD"; break; + case 13: std::get<1>(result) = "MILL"; break; + case 14: std::get<1>(result) = "anon_2"; break; + case 15: std::get<1>(result) = "anon_3"; break; + case 16: std::get<1>(result) = "anon_4"; break; + case 17: std::get<1>(result) = "anon_5"; break; + case 18: std::get<1>(result) = "anon_6"; break; + case 19: std::get<1>(result) = "anon_7"; break; + case 20: std::get<1>(result) = "WET"; break; + case 21: std::get<1>(result) = "DRY"; break; + case 22: std::get<1>(result) = "BIOME_MOUNTAIN"; break; + case 23: std::get<1>(result) = "BIOME_GLACIER"; break; + case 24: std::get<1>(result) = "BIOME_TUNDRA"; break; + case 25: std::get<1>(result) = "BIOME_SWAMP_TEMPERATE_FRESHWATER"; break; + case 26: std::get<1>(result) = "BIOME_SWAMP_TEMPERATE_SALTWATER"; break; + case 27: std::get<1>(result) = "BIOME_MARSH_TEMPERATE_FRESHWATER"; break; + case 28: std::get<1>(result) = "BIOME_MARSH_TEMPERATE_SALTWATER"; break; + case 29: std::get<1>(result) = "BIOME_SWAMP_TROPICAL_FRESHWATER"; break; + case 30: std::get<1>(result) = "BIOME_SWAMP_TROPICAL_SALTWATER"; break; + case 31: std::get<1>(result) = "BIOME_SWAMP_MANGROVE"; break; + case 32: std::get<1>(result) = "BIOME_MARSH_TROPICAL_FRESHWATER"; break; + case 33: std::get<1>(result) = "BIOME_MARSH_TROPICAL_SALTWATER"; break; + case 34: std::get<1>(result) = "BIOME_FOREST_TAIGA"; break; + case 35: std::get<1>(result) = "BIOME_FOREST_TEMPERATE_CONIFER"; break; + case 36: std::get<1>(result) = "BIOME_FOREST_TEMPERATE_BROADLEAF"; break; + case 37: std::get<1>(result) = "BIOME_FOREST_TROPICAL_CONIFER"; break; + case 38: std::get<1>(result) = "BIOME_FOREST_TROPICAL_DRY_BROADLEAF"; break; + case 39: std::get<1>(result) = "BIOME_FOREST_TROPICAL_MOIST_BROADLEAF"; break; + case 40: std::get<1>(result) = "BIOME_GRASSLAND_TEMPERATE"; break; + case 41: std::get<1>(result) = "BIOME_SAVANNA_TEMPERATE"; break; + case 42: std::get<1>(result) = "BIOME_SHRUBLAND_TEMPERATE"; break; + case 43: std::get<1>(result) = "BIOME_GRASSLAND_TROPICAL"; break; + case 44: std::get<1>(result) = "BIOME_SAVANNA_TROPICAL"; break; + case 45: std::get<1>(result) = "BIOME_SHRUBLAND_TROPICAL"; break; + case 46: std::get<1>(result) = "BIOME_DESERT_BADLAND"; break; + case 47: std::get<1>(result) = "BIOME_DESERT_ROCK"; break; + case 48: std::get<1>(result) = "BIOME_DESERT_SAND"; break; + case 49: std::get<1>(result) = "BIOME_OCEAN_TROPICAL"; break; + case 50: std::get<1>(result) = "BIOME_OCEAN_TEMPERATE"; break; + case 51: std::get<1>(result) = "BIOME_OCEAN_ARCTIC"; break; + case 52: std::get<1>(result) = "BIOME_POOL_TEMPERATE_FRESHWATER"; break; + case 53: std::get<1>(result) = "BIOME_SUBTERRANEAN_WATER"; break; + case 54: std::get<1>(result) = "BIOME_SUBTERRANEAN_CHASM"; break; + case 55: std::get<1>(result) = "BIOME_SUBTERRANEAN_LAVA"; break; + case 56: std::get<1>(result) = "GOOD"; break; + case 57: std::get<1>(result) = "EVIL"; break; + case 58: std::get<1>(result) = "SAVAGE"; break; + case 59: std::get<1>(result) = "BIOME_POOL_TEMPERATE_BRACKISHWATER"; break; + case 60: std::get<1>(result) = "BIOME_POOL_TEMPERATE_SALTWATER"; break; + case 61: std::get<1>(result) = "BIOME_POOL_TROPICAL_FRESHWATER"; break; + case 62: std::get<1>(result) = "BIOME_POOL_TROPICAL_BRACKISHWATER"; break; + case 63: std::get<1>(result) = "BIOME_POOL_TROPICAL_SALTWATER"; break; + case 64: std::get<1>(result) = "BIOME_LAKE_TEMPERATE_FRESHWATER"; break; + case 65: std::get<1>(result) = "BIOME_LAKE_TEMPERATE_BRACKISHWATER"; break; + case 66: std::get<1>(result) = "BIOME_LAKE_TEMPERATE_SALTWATER"; break; + case 67: std::get<1>(result) = "BIOME_LAKE_TROPICAL_FRESHWATER"; break; + case 68: std::get<1>(result) = "BIOME_LAKE_TROPICAL_BRACKISHWATER"; break; + case 69: std::get<1>(result) = "BIOME_LAKE_TROPICAL_SALTWATER"; break; + case 70: std::get<1>(result) = "BIOME_RIVER_TEMPERATE_FRESHWATER"; break; + case 71: std::get<1>(result) = "BIOME_RIVER_TEMPERATE_BRACKISHWATER"; break; + case 72: std::get<1>(result) = "BIOME_RIVER_TEMPERATE_SALTWATER"; break; + case 73: std::get<1>(result) = "BIOME_RIVER_TROPICAL_FRESHWATER"; break; + case 74: std::get<1>(result) = "BIOME_RIVER_TROPICAL_BRACKISHWATER"; break; + case 75: std::get<1>(result) = "BIOME_RIVER_TROPICAL_SALTWATER"; break; + case 76: std::get<1>(result) = "TWIGS_SIDE_BRANCHES"; break; + case 77: std::get<1>(result) = "SAPLING"; break; + case 78: std::get<1>(result) = "TREE"; break; + case 79: std::get<1>(result) = "GRASS"; break; + case 80: std::get<1>(result) = "TWIGS_ABOVE_BRANCHES"; break; + case 81: std::get<1>(result) = "TWIGS_BELOW_BRANCHES"; break; + case 82: std::get<1>(result) = "TWIGS_SIDE_HEAVY_BRANCHES"; break; + case 83: std::get<1>(result) = "TWIGS_ABOVE_HEAVY_BRANCHES"; break; + case 84: std::get<1>(result) = "TWIGS_BELOW_HEAVY_BRANCHES"; break; + case 85: std::get<1>(result) = "TWIGS_SIDE_TRUNK"; break; + case 86: std::get<1>(result) = "TWIGS_ABOVE_TRUNK"; break; + case 87: std::get<1>(result) = "TWIGS_BELOW_TRUNK"; break; + default: break; + } + return result; +} + +std::tuple get_projectile_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Item"; break; + case 1: std::get<1>(result) = "Unit"; break; + case 2: std::get<1>(result) = "Magic"; break; + default: break; + } + return result; +} + +std::tuple get_reaction_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "FUEL"; break; + case 1: std::get<1>(result) = "AUTOMATIC"; break; + case 2: std::get<1>(result) = "ADVENTURE_MODE_ENABLED"; break; + default: break; + } + return result; +} + +std::tuple get_reaction_reagent_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "item"; break; + default: break; + } + return result; +} + +std::tuple get_reaction_product_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "item"; break; + case 1: std::get<1>(result) = "improvement"; break; + default: break; + } + return result; +} + +std::tuple get_reaction_product_item_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "GET_MATERIAL_SAME"; break; + case 1: std::get<1>(result) = "GET_MATERIAL_PRODUCT"; break; + case 2: std::get<1>(result) = "FORCE_EDGE"; break; + case 3: std::get<1>(result) = "PASTE"; break; + case 4: std::get<1>(result) = "PRESSED"; break; + case 5: std::get<1>(result) = "CRAFTS"; break; + default: break; + } + return result; +} + +std::tuple get_reaction_product_improvement_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "GET_MATERIAL_SAME"; break; + case 1: std::get<1>(result) = "GET_MATERIAL_PRODUCT"; break; + case 2: std::get<1>(result) = "GLAZED"; break; + default: break; + } + return result; +} + +std::tuple get_general_ref_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "ARTIFACT"; break; + case 1: std::get<1>(result) = "IS_ARTIFACT"; break; + case 2: std::get<1>(result) = "NEMESIS"; break; + case 3: std::get<1>(result) = "IS_NEMESIS"; break; + case 4: std::get<1>(result) = "ITEM"; break; + case 5: std::get<1>(result) = "ITEM_TYPE"; break; + case 6: std::get<1>(result) = "COINBATCH"; break; + case 7: std::get<1>(result) = "MAPSQUARE"; break; + case 8: std::get<1>(result) = "ENTITY_ART_IMAGE"; break; + case 9: std::get<1>(result) = "CONTAINS_UNIT"; break; + case 10: std::get<1>(result) = "CONTAINS_ITEM"; break; + case 11: std::get<1>(result) = "CONTAINED_IN_ITEM"; break; + case 12: std::get<1>(result) = "PROJECTILE"; break; + case 13: std::get<1>(result) = "UNIT"; break; + case 14: std::get<1>(result) = "UNIT_MILKEE"; break; + case 15: std::get<1>(result) = "UNIT_TRAINEE"; break; + case 16: std::get<1>(result) = "UNIT_ITEMOWNER"; break; + case 17: std::get<1>(result) = "UNIT_TRADEBRINGER"; break; + case 18: std::get<1>(result) = "UNIT_HOLDER"; break; + case 19: std::get<1>(result) = "UNIT_WORKER"; break; + case 20: std::get<1>(result) = "UNIT_CAGEE"; break; + case 21: std::get<1>(result) = "UNIT_BEATEE"; break; + case 22: std::get<1>(result) = "UNIT_FOODRECEIVER"; break; + case 23: std::get<1>(result) = "UNIT_KIDNAPEE"; break; + case 24: std::get<1>(result) = "UNIT_PATIENT"; break; + case 25: std::get<1>(result) = "UNIT_INFANT"; break; + case 26: std::get<1>(result) = "UNIT_SLAUGHTEREE"; break; + case 27: std::get<1>(result) = "UNIT_SHEAREE"; break; + case 28: std::get<1>(result) = "UNIT_SUCKEE"; break; + case 29: std::get<1>(result) = "UNIT_REPORTEE"; break; + case 30: std::get<1>(result) = "BUILDING"; break; + case 31: std::get<1>(result) = "BUILDING_CIVZONE_ASSIGNED"; break; + case 32: std::get<1>(result) = "BUILDING_TRIGGER"; break; + case 33: std::get<1>(result) = "BUILDING_TRIGGERTARGET"; break; + case 34: std::get<1>(result) = "BUILDING_CHAIN"; break; + case 35: std::get<1>(result) = "BUILDING_CAGED"; break; + case 36: std::get<1>(result) = "BUILDING_HOLDER"; break; + case 37: std::get<1>(result) = "BUILDING_WELL_TAG"; break; + case 38: std::get<1>(result) = "BUILDING_USE_TARGET_1"; break; + case 39: std::get<1>(result) = "BUILDING_USE_TARGET_2"; break; + case 40: std::get<1>(result) = "BUILDING_DESTINATION"; break; + case 41: std::get<1>(result) = "BUILDING_NEST_BOX"; break; + case 42: std::get<1>(result) = "ENTITY"; break; + case 43: std::get<1>(result) = "ENTITY_STOLEN"; break; + case 44: std::get<1>(result) = "ENTITY_OFFERED"; break; + case 45: std::get<1>(result) = "ENTITY_ITEMOWNER"; break; + case 46: std::get<1>(result) = "LOCATION"; break; + case 47: std::get<1>(result) = "INTERACTION"; break; + case 48: std::get<1>(result) = "ABSTRACT_BUILDING"; break; + case 49: std::get<1>(result) = "HISTORICAL_EVENT"; break; + case 50: std::get<1>(result) = "SPHERE"; break; + case 51: std::get<1>(result) = "SITE"; break; + case 52: std::get<1>(result) = "SUBREGION"; break; + case 53: std::get<1>(result) = "FEATURE_LAYER"; break; + case 54: std::get<1>(result) = "HISTORICAL_FIGURE"; break; + case 55: std::get<1>(result) = "ENTITY_POP"; break; + case 56: std::get<1>(result) = "CREATURE"; break; + case 57: std::get<1>(result) = "UNIT_RIDER"; break; + case 58: std::get<1>(result) = "UNIT_CLIMBER"; break; + case 59: std::get<1>(result) = "UNIT_GELDEE"; break; + case 60: std::get<1>(result) = "KNOWLEDGE_SCHOLAR_FLAG"; break; + case 61: std::get<1>(result) = "ACTIVITY_EVENT"; break; + case 62: std::get<1>(result) = "VALUE_LEVEL"; break; + case 63: std::get<1>(result) = "LANGUAGE"; break; + case 64: std::get<1>(result) = "WRITTEN_CONTENT"; break; + case 65: std::get<1>(result) = "POETIC_FORM"; break; + case 66: std::get<1>(result) = "MUSICAL_FORM"; break; + case 67: std::get<1>(result) = "DANCE_FORM"; break; + case 68: std::get<1>(result) = "BUILDING_DISPLAY_FURNITURE"; break; + default: break; + } + return result; +} + +std::tuple get_specific_ref_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "anon_1"; break; + case 1: std::get<1>(result) = "UNIT_INVENTORY"; break; + case 2: std::get<1>(result) = "JOB"; break; + case 3: std::get<1>(result) = "BUILDING_PARTY"; break; + case 4: std::get<1>(result) = "ACTIVITY"; break; + case 5: std::get<1>(result) = "ITEM_GENERAL"; break; + case 6: std::get<1>(result) = "EFFECT"; break; + case 7: std::get<1>(result) = "PETINFO_PET"; std::get<2>(result) = "unused"; break; + case 8: std::get<1>(result) = "PETINFO_OWNER"; std::get<2>(result) = "unused"; break; + case 9: std::get<1>(result) = "VERMIN_EVENT"; break; + case 10: std::get<1>(result) = "VERMIN_ESCAPED_PET"; break; + case 11: std::get<1>(result) = "ENTITY"; break; + case 12: std::get<1>(result) = "PLOT_INFO"; break; + case 13: std::get<1>(result) = "VIEWSCREEN"; break; + case 14: std::get<1>(result) = "UNIT_ITEM_WRESTLE"; break; + case 15: std::get<1>(result) = "NULL_REF"; break; + case 16: std::get<1>(result) = "HIST_FIG"; break; + case 17: std::get<1>(result) = "SITE"; break; + case 18: std::get<1>(result) = "ARTIFACT"; break; + case 19: std::get<1>(result) = "ITEM_IMPROVEMENT"; break; + case 20: std::get<1>(result) = "COIN_FRONT"; break; + case 21: std::get<1>(result) = "COIN_BACK"; break; + case 22: std::get<1>(result) = "DETAIL_EVENT"; break; + case 23: std::get<1>(result) = "SUBREGION"; break; + case 24: std::get<1>(result) = "FEATURE_LAYER"; break; + case 25: std::get<1>(result) = "ART_IMAGE"; break; + case 26: std::get<1>(result) = "CREATURE_DEF"; break; + case 27: std::get<1>(result) = "anon_2"; break; + case 28: std::get<1>(result) = "anon_3"; break; + case 29: std::get<1>(result) = "ENTITY_POPULATION"; break; + case 30: std::get<1>(result) = "BREED"; break; + default: break; + } + return result; +} + +std::tuple get_histfig_entity_link_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "MEMBER"; break; + case 1: std::get<1>(result) = "FORMER_MEMBER"; break; + case 2: std::get<1>(result) = "MERCENARY"; break; + case 3: std::get<1>(result) = "FORMER_MERCENARY"; break; + case 4: std::get<1>(result) = "SLAVE"; break; + case 5: std::get<1>(result) = "FORMER_SLAVE"; break; + case 6: std::get<1>(result) = "PRISONER"; break; + case 7: std::get<1>(result) = "FORMER_PRISONER"; break; + case 8: std::get<1>(result) = "ENEMY"; break; + case 9: std::get<1>(result) = "CRIMINAL"; break; + case 10: std::get<1>(result) = "POSITION"; break; + case 11: std::get<1>(result) = "FORMER_POSITION"; break; + case 12: std::get<1>(result) = "POSITION_CLAIM"; break; + case 13: std::get<1>(result) = "SQUAD"; break; + case 14: std::get<1>(result) = "FORMER_SQUAD"; break; + case 15: std::get<1>(result) = "OCCUPATION"; break; + case 16: std::get<1>(result) = "FORMER_OCCUPATION"; break; + default: break; + } + return result; +} + +std::tuple get_histfig_site_link_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "OCCUPATION"; break; + case 1: std::get<1>(result) = "SEAT_OF_POWER"; break; + case 2: std::get<1>(result) = "HANGOUT"; break; + case 3: std::get<1>(result) = "HOME_SITE_ABSTRACT_BUILDING"; break; + case 4: std::get<1>(result) = "HOME_SITE_REALIZATION_BUILDING"; break; + case 5: std::get<1>(result) = "LAIR"; break; + case 6: std::get<1>(result) = "HOME_SITE_REALIZATION_SUL"; break; + case 7: std::get<1>(result) = "HOME_SITE_SAVED_CIVZONE"; break; + default: break; + } + return result; +} + +std::tuple get_histfig_hf_link_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "MOTHER"; break; + case 1: std::get<1>(result) = "FATHER"; break; + case 2: std::get<1>(result) = "SPOUSE"; break; + case 3: std::get<1>(result) = "CHILD"; break; + case 4: std::get<1>(result) = "DEITY"; break; + case 5: std::get<1>(result) = "LOVER"; break; + case 6: std::get<1>(result) = "PRISONER"; break; + case 7: std::get<1>(result) = "IMPRISONER"; break; + case 8: std::get<1>(result) = "MASTER"; break; + case 9: std::get<1>(result) = "APPRENTICE"; break; + case 10: std::get<1>(result) = "COMPANION"; break; + case 11: std::get<1>(result) = "FORMER_MASTER"; break; + case 12: std::get<1>(result) = "FORMER_APPRENTICE"; break; + case 13: std::get<1>(result) = "PET_OWNER"; break; + default: break; + } + return result; +} + +std::tuple get_entity_entity_link_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "PARENT"; break; + case 1: std::get<1>(result) = "CHILD"; break; + default: break; + } + return result; +} + +std::tuple get_resource_allotment_specifier_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "CROP"; break; + case 1: std::get<1>(result) = "STONE"; break; + case 2: std::get<1>(result) = "METAL"; break; + case 3: std::get<1>(result) = "WOOD"; break; + case 4: std::get<1>(result) = "ARMOR_BODY"; break; + case 5: std::get<1>(result) = "ARMOR_PANTS"; break; + case 6: std::get<1>(result) = "ARMOR_GLOVES"; break; + case 7: std::get<1>(result) = "ARMOR_BOOTS"; break; + case 8: std::get<1>(result) = "ARMOR_HELM"; break; + case 9: std::get<1>(result) = "CLOTHING_BODY"; break; + case 10: std::get<1>(result) = "CLOTHING_PANTS"; break; + case 11: std::get<1>(result) = "CLOTHING_GLOVES"; break; + case 12: std::get<1>(result) = "CLOTHING_BOOTS"; break; + case 13: std::get<1>(result) = "CLOTHING_HELM"; break; + case 14: std::get<1>(result) = "WEAPON_MELEE"; break; + case 15: std::get<1>(result) = "WEAPON_RANGED"; break; + case 16: std::get<1>(result) = "ANVIL"; break; + case 17: std::get<1>(result) = "GEMS"; break; + case 18: std::get<1>(result) = "THREAD"; break; + case 19: std::get<1>(result) = "CLOTH"; break; + case 20: std::get<1>(result) = "LEATHER"; break; + case 21: std::get<1>(result) = "QUIVER"; break; + case 22: std::get<1>(result) = "BACKPACK"; break; + case 23: std::get<1>(result) = "FLASK"; break; + case 24: std::get<1>(result) = "BAG"; break; + case 25: std::get<1>(result) = "TABLE"; break; + case 26: std::get<1>(result) = "CABINET"; break; + case 27: std::get<1>(result) = "CHAIR"; break; + case 28: std::get<1>(result) = "BOX"; break; + case 29: std::get<1>(result) = "BED"; break; + case 30: std::get<1>(result) = "CRAFTS"; break; + case 31: std::get<1>(result) = "MEAT"; break; + case 32: std::get<1>(result) = "BONE"; break; + case 33: std::get<1>(result) = "HORN"; break; + case 34: std::get<1>(result) = "SHELL"; break; + case 35: std::get<1>(result) = "TALLOW"; break; + case 36: std::get<1>(result) = "TOOTH"; break; + case 37: std::get<1>(result) = "PEARL"; break; + case 38: std::get<1>(result) = "SOAP"; break; + case 39: std::get<1>(result) = "EXTRACT"; break; + case 40: std::get<1>(result) = "CHEESE"; break; + case 41: std::get<1>(result) = "SKIN"; break; + case 42: std::get<1>(result) = "POWDER"; break; + case 43: std::get<1>(result) = "AMMO"; break; + default: break; + } + return result; +} + +std::tuple get_profession_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case -1: std::get<1>(result) = "NONE"; break; + case 0: std::get<1>(result) = "MINER"; break; + case 1: std::get<1>(result) = "WOODWORKER"; break; + case 2: std::get<1>(result) = "CARPENTER"; break; + case 3: std::get<1>(result) = "BOWYER"; break; + case 4: std::get<1>(result) = "WOODCUTTER"; break; + case 5: std::get<1>(result) = "STONEWORKER"; break; + case 6: std::get<1>(result) = "ENGRAVER"; break; + case 7: std::get<1>(result) = "MASON"; break; + case 8: std::get<1>(result) = "RANGER"; break; + case 9: std::get<1>(result) = "ANIMAL_CARETAKER"; break; + case 10: std::get<1>(result) = "ANIMAL_TRAINER"; break; + case 11: std::get<1>(result) = "HUNTER"; break; + case 12: std::get<1>(result) = "TRAPPER"; break; + case 13: std::get<1>(result) = "ANIMAL_DISSECTOR"; break; + case 14: std::get<1>(result) = "METALSMITH"; break; + case 15: std::get<1>(result) = "FURNACE_OPERATOR"; break; + case 16: std::get<1>(result) = "WEAPONSMITH"; break; + case 17: std::get<1>(result) = "ARMORER"; break; + case 18: std::get<1>(result) = "BLACKSMITH"; break; + case 19: std::get<1>(result) = "METALCRAFTER"; break; + case 20: std::get<1>(result) = "JEWELER"; break; + case 21: std::get<1>(result) = "GEM_CUTTER"; break; + case 22: std::get<1>(result) = "GEM_SETTER"; break; + case 23: std::get<1>(result) = "CRAFTSMAN"; break; + case 24: std::get<1>(result) = "WOODCRAFTER"; break; + case 25: std::get<1>(result) = "STONECRAFTER"; break; + case 26: std::get<1>(result) = "LEATHERWORKER"; break; + case 27: std::get<1>(result) = "BONE_CARVER"; break; + case 28: std::get<1>(result) = "WEAVER"; break; + case 29: std::get<1>(result) = "CLOTHIER"; break; + case 30: std::get<1>(result) = "GLASSMAKER"; break; + case 31: std::get<1>(result) = "POTTER"; break; + case 32: std::get<1>(result) = "GLAZER"; break; + case 33: std::get<1>(result) = "WAX_WORKER"; break; + case 34: std::get<1>(result) = "STRAND_EXTRACTOR"; break; + case 35: std::get<1>(result) = "FISHERY_WORKER"; break; + case 36: std::get<1>(result) = "FISHERMAN"; break; + case 37: std::get<1>(result) = "FISH_DISSECTOR"; break; + case 38: std::get<1>(result) = "FISH_CLEANER"; break; + case 39: std::get<1>(result) = "FARMER"; break; + case 40: std::get<1>(result) = "CHEESE_MAKER"; break; + case 41: std::get<1>(result) = "MILKER"; break; + case 42: std::get<1>(result) = "COOK"; break; + case 43: std::get<1>(result) = "THRESHER"; break; + case 44: std::get<1>(result) = "MILLER"; break; + case 45: std::get<1>(result) = "BUTCHER"; break; + case 46: std::get<1>(result) = "TANNER"; break; + case 47: std::get<1>(result) = "DYER"; break; + case 48: std::get<1>(result) = "PLANTER"; break; + case 49: std::get<1>(result) = "HERBALIST"; break; + case 50: std::get<1>(result) = "BREWER"; break; + case 51: std::get<1>(result) = "SOAP_MAKER"; break; + case 52: std::get<1>(result) = "POTASH_MAKER"; break; + case 53: std::get<1>(result) = "LYE_MAKER"; break; + case 54: std::get<1>(result) = "WOOD_BURNER"; break; + case 55: std::get<1>(result) = "SHEARER"; break; + case 56: std::get<1>(result) = "SPINNER"; break; + case 57: std::get<1>(result) = "PRESSER"; break; + case 58: std::get<1>(result) = "BEEKEEPER"; break; + case 59: std::get<1>(result) = "ENGINEER"; break; + case 60: std::get<1>(result) = "MECHANIC"; break; + case 61: std::get<1>(result) = "SIEGE_ENGINEER"; break; + case 62: std::get<1>(result) = "SIEGE_OPERATOR"; break; + case 63: std::get<1>(result) = "PUMP_OPERATOR"; break; + case 64: std::get<1>(result) = "CLERK"; break; + case 65: std::get<1>(result) = "ADMINISTRATOR"; break; + case 66: std::get<1>(result) = "TRADER"; break; + case 67: std::get<1>(result) = "ARCHITECT"; break; + case 68: std::get<1>(result) = "ALCHEMIST"; break; + case 69: std::get<1>(result) = "DOCTOR"; break; + case 70: std::get<1>(result) = "DIAGNOSER"; break; + case 71: std::get<1>(result) = "BONE_SETTER"; break; + case 72: std::get<1>(result) = "SUTURER"; break; + case 73: std::get<1>(result) = "SURGEON"; break; + case 74: std::get<1>(result) = "MERCHANT"; break; + case 75: std::get<1>(result) = "HAMMERMAN"; break; + case 76: std::get<1>(result) = "MASTER_HAMMERMAN"; break; + case 77: std::get<1>(result) = "SPEARMAN"; break; + case 78: std::get<1>(result) = "MASTER_SPEARMAN"; break; + case 79: std::get<1>(result) = "CROSSBOWMAN"; break; + case 80: std::get<1>(result) = "MASTER_CROSSBOWMAN"; break; + case 81: std::get<1>(result) = "WRESTLER"; break; + case 82: std::get<1>(result) = "MASTER_WRESTLER"; break; + case 83: std::get<1>(result) = "AXEMAN"; break; + case 84: std::get<1>(result) = "MASTER_AXEMAN"; break; + case 85: std::get<1>(result) = "SWORDSMAN"; break; + case 86: std::get<1>(result) = "MASTER_SWORDSMAN"; break; + case 87: std::get<1>(result) = "MACEMAN"; break; + case 88: std::get<1>(result) = "MASTER_MACEMAN"; break; + case 89: std::get<1>(result) = "PIKEMAN"; break; + case 90: std::get<1>(result) = "MASTER_PIKEMAN"; break; + case 91: std::get<1>(result) = "BOWMAN"; break; + case 92: std::get<1>(result) = "MASTER_BOWMAN"; break; + case 93: std::get<1>(result) = "BLOWGUNMAN"; break; + case 94: std::get<1>(result) = "MASTER_BLOWGUNMAN"; break; + case 95: std::get<1>(result) = "LASHER"; break; + case 96: std::get<1>(result) = "MASTER_LASHER"; break; + case 97: std::get<1>(result) = "RECRUIT"; break; + case 98: std::get<1>(result) = "TRAINED_HUNTER"; break; + case 99: std::get<1>(result) = "TRAINED_WAR"; break; + case 100: std::get<1>(result) = "MASTER_THIEF"; break; + case 101: std::get<1>(result) = "THIEF"; break; + case 102: std::get<1>(result) = "STANDARD"; break; + case 103: std::get<1>(result) = "CHILD"; break; + case 104: std::get<1>(result) = "BABY"; break; + case 105: std::get<1>(result) = "DRUNK"; break; + case 106: std::get<1>(result) = "MONSTER_SLAYER"; break; + case 107: std::get<1>(result) = "SCOUT"; break; + case 108: std::get<1>(result) = "BEAST_HUNTER"; break; + case 109: std::get<1>(result) = "SNATCHER"; break; + case 110: std::get<1>(result) = "MERCENARY"; break; + case 111: std::get<1>(result) = "GELDER"; break; + case 112: std::get<1>(result) = "PERFORMER"; break; + case 113: std::get<1>(result) = "POET"; break; + case 114: std::get<1>(result) = "BARD"; break; + case 115: std::get<1>(result) = "DANCER"; break; + case 116: std::get<1>(result) = "SAGE"; break; + case 117: std::get<1>(result) = "SCHOLAR"; break; + case 118: std::get<1>(result) = "PHILOSOPHER"; break; + case 119: std::get<1>(result) = "MATHEMATICIAN"; break; + case 120: std::get<1>(result) = "HISTORIAN"; break; + case 121: std::get<1>(result) = "ASTRONOMER"; break; + case 122: std::get<1>(result) = "NATURALIST"; break; + case 123: std::get<1>(result) = "CHEMIST"; break; + case 124: std::get<1>(result) = "GEOGRAPHER"; break; + case 125: std::get<1>(result) = "SCRIBE"; break; + case 126: std::get<1>(result) = "PAPERMAKER"; break; + case 127: std::get<1>(result) = "BOOKBINDER"; break; + case 128: std::get<1>(result) = "TAVERN_KEEPER"; break; + case 129: std::get<1>(result) = "CRIMINAL"; break; + case 130: std::get<1>(result) = "PEDDLER"; break; + case 131: std::get<1>(result) = "PROPHET"; break; + case 132: std::get<1>(result) = "PILGRIM"; break; + case 133: std::get<1>(result) = "MONK"; break; + case 134: std::get<1>(result) = "MESSENGER"; break; + default: break; + } + return result; +} + +std::tuple get_unit_labor_category_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case -13: std::get<1>(result) = "Other"; break; + case -12: std::get<1>(result) = "Hauling"; break; + case -11: std::get<1>(result) = "Engineering"; break; + case -10: std::get<1>(result) = "Crafts"; break; + case -9: std::get<1>(result) = "Jewelry"; break; + case -8: std::get<1>(result) = "Metalsmithing"; break; + case -7: std::get<1>(result) = "Fishing"; break; + case -6: std::get<1>(result) = "Farming"; break; + case -5: std::get<1>(result) = "Healthcare"; break; + case -4: std::get<1>(result) = "Hunting"; break; + case -3: std::get<1>(result) = "Stoneworking"; break; + case -2: std::get<1>(result) = "Woodworking"; break; + case -1: std::get<1>(result) = "None"; break; + default: break; + } + return result; +} + +std::tuple get_unit_labor_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case -1: std::get<1>(result) = "NONE"; break; + case 0: std::get<1>(result) = "MINE"; break; + case 1: std::get<1>(result) = "HAUL_STONE"; break; + case 2: std::get<1>(result) = "HAUL_WOOD"; break; + case 3: std::get<1>(result) = "HAUL_BODY"; break; + case 4: std::get<1>(result) = "HAUL_FOOD"; break; + case 5: std::get<1>(result) = "HAUL_REFUSE"; break; + case 6: std::get<1>(result) = "HAUL_ITEM"; break; + case 7: std::get<1>(result) = "HAUL_FURNITURE"; break; + case 8: std::get<1>(result) = "HAUL_ANIMALS"; break; + case 9: std::get<1>(result) = "CLEAN"; break; + case 10: std::get<1>(result) = "CUTWOOD"; break; + case 11: std::get<1>(result) = "CARPENTER"; break; + case 12: std::get<1>(result) = "DETAIL"; break; + case 13: std::get<1>(result) = "MASON"; break; + case 14: std::get<1>(result) = "ARCHITECT"; break; + case 15: std::get<1>(result) = "ANIMALTRAIN"; break; + case 16: std::get<1>(result) = "ANIMALCARE"; break; + case 17: std::get<1>(result) = "DIAGNOSE"; break; + case 18: std::get<1>(result) = "SURGERY"; break; + case 19: std::get<1>(result) = "BONE_SETTING"; break; + case 20: std::get<1>(result) = "SUTURING"; break; + case 21: std::get<1>(result) = "DRESSING_WOUNDS"; break; + case 22: std::get<1>(result) = "FEED_WATER_CIVILIANS"; break; + case 23: std::get<1>(result) = "RECOVER_WOUNDED"; break; + case 24: std::get<1>(result) = "BUTCHER"; break; + case 25: std::get<1>(result) = "TRAPPER"; break; + case 26: std::get<1>(result) = "DISSECT_VERMIN"; break; + case 27: std::get<1>(result) = "LEATHER"; break; + case 28: std::get<1>(result) = "TANNER"; break; + case 29: std::get<1>(result) = "BREWER"; break; + case 30: std::get<1>(result) = "ALCHEMIST"; break; + case 31: std::get<1>(result) = "SOAP_MAKER"; break; + case 32: std::get<1>(result) = "WEAVER"; break; + case 33: std::get<1>(result) = "CLOTHESMAKER"; break; + case 34: std::get<1>(result) = "MILLER"; break; + case 35: std::get<1>(result) = "PROCESS_PLANT"; break; + case 36: std::get<1>(result) = "MAKE_CHEESE"; break; + case 37: std::get<1>(result) = "MILK"; break; + case 38: std::get<1>(result) = "COOK"; break; + case 39: std::get<1>(result) = "PLANT"; break; + case 40: std::get<1>(result) = "HERBALIST"; break; + case 41: std::get<1>(result) = "FISH"; break; + case 42: std::get<1>(result) = "CLEAN_FISH"; break; + case 43: std::get<1>(result) = "DISSECT_FISH"; break; + case 44: std::get<1>(result) = "HUNT"; break; + case 45: std::get<1>(result) = "SMELT"; break; + case 46: std::get<1>(result) = "FORGE_WEAPON"; break; + case 47: std::get<1>(result) = "FORGE_ARMOR"; break; + case 48: std::get<1>(result) = "FORGE_FURNITURE"; break; + case 49: std::get<1>(result) = "METAL_CRAFT"; break; + case 50: std::get<1>(result) = "CUT_GEM"; break; + case 51: std::get<1>(result) = "ENCRUST_GEM"; break; + case 52: std::get<1>(result) = "WOOD_CRAFT"; break; + case 53: std::get<1>(result) = "STONE_CRAFT"; break; + case 54: std::get<1>(result) = "BONE_CARVE"; break; + case 55: std::get<1>(result) = "GLASSMAKER"; break; + case 56: std::get<1>(result) = "EXTRACT_STRAND"; break; + case 57: std::get<1>(result) = "SIEGECRAFT"; break; + case 58: std::get<1>(result) = "SIEGEOPERATE"; break; + case 59: std::get<1>(result) = "BOWYER"; break; + case 60: std::get<1>(result) = "MECHANIC"; break; + case 61: std::get<1>(result) = "POTASH_MAKING"; break; + case 62: std::get<1>(result) = "LYE_MAKING"; break; + case 63: std::get<1>(result) = "DYER"; break; + case 64: std::get<1>(result) = "BURN_WOOD"; break; + case 65: std::get<1>(result) = "OPERATE_PUMP"; break; + case 66: std::get<1>(result) = "SHEARER"; break; + case 67: std::get<1>(result) = "SPINNER"; break; + case 68: std::get<1>(result) = "POTTERY"; break; + case 69: std::get<1>(result) = "GLAZING"; break; + case 70: std::get<1>(result) = "PRESSING"; break; + case 71: std::get<1>(result) = "BEEKEEPING"; break; + case 72: std::get<1>(result) = "WAX_WORKING"; break; + case 73: std::get<1>(result) = "HANDLE_VEHICLES"; break; + case 74: std::get<1>(result) = "HAUL_TRADE"; break; + case 75: std::get<1>(result) = "PULL_LEVER"; break; + case 76: std::get<1>(result) = "REMOVE_CONSTRUCTION"; break; + case 77: std::get<1>(result) = "HAUL_WATER"; break; + case 78: std::get<1>(result) = "GELD"; break; + case 79: std::get<1>(result) = "BUILD_ROAD"; break; + case 80: std::get<1>(result) = "BUILD_CONSTRUCTION"; break; + case 81: std::get<1>(result) = "PAPERMAKING"; break; + case 82: std::get<1>(result) = "BOOKBINDING"; break; + default: break; + } + return result; +} + +std::tuple get_job_skill_class_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Normal"; break; + case 1: std::get<1>(result) = "Medical"; break; + case 2: std::get<1>(result) = "Personal"; break; + case 3: std::get<1>(result) = "Social"; break; + case 4: std::get<1>(result) = "Cultural"; break; + case 5: std::get<1>(result) = "MilitaryWeapon"; break; + case 6: std::get<1>(result) = "MilitaryUnarmed"; break; + case 7: std::get<1>(result) = "MilitaryAttack"; break; + case 8: std::get<1>(result) = "MilitaryDefense"; break; + case 9: std::get<1>(result) = "MilitaryMisc"; break; + default: break; + } + return result; +} + +std::tuple get_job_skill_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case -1: std::get<1>(result) = "NONE"; break; + case 0: std::get<1>(result) = "MINING"; break; + case 1: std::get<1>(result) = "WOODCUTTING"; break; + case 2: std::get<1>(result) = "CARPENTRY"; break; + case 3: std::get<1>(result) = "DETAILSTONE"; break; + case 4: std::get<1>(result) = "MASONRY"; break; + case 5: std::get<1>(result) = "ANIMALTRAIN"; break; + case 6: std::get<1>(result) = "ANIMALCARE"; break; + case 7: std::get<1>(result) = "DISSECT_FISH"; break; + case 8: std::get<1>(result) = "DISSECT_VERMIN"; break; + case 9: std::get<1>(result) = "PROCESSFISH"; break; + case 10: std::get<1>(result) = "BUTCHER"; break; + case 11: std::get<1>(result) = "TRAPPING"; break; + case 12: std::get<1>(result) = "TANNER"; break; + case 13: std::get<1>(result) = "WEAVING"; break; + case 14: std::get<1>(result) = "BREWING"; break; + case 15: std::get<1>(result) = "ALCHEMY"; break; + case 16: std::get<1>(result) = "CLOTHESMAKING"; break; + case 17: std::get<1>(result) = "MILLING"; break; + case 18: std::get<1>(result) = "PROCESSPLANTS"; break; + case 19: std::get<1>(result) = "CHEESEMAKING"; break; + case 20: std::get<1>(result) = "MILK"; break; + case 21: std::get<1>(result) = "COOK"; break; + case 22: std::get<1>(result) = "PLANT"; break; + case 23: std::get<1>(result) = "HERBALISM"; break; + case 24: std::get<1>(result) = "FISH"; break; + case 25: std::get<1>(result) = "SMELT"; break; + case 26: std::get<1>(result) = "EXTRACT_STRAND"; break; + case 27: std::get<1>(result) = "FORGE_WEAPON"; break; + case 28: std::get<1>(result) = "FORGE_ARMOR"; break; + case 29: std::get<1>(result) = "FORGE_FURNITURE"; break; + case 30: std::get<1>(result) = "CUTGEM"; break; + case 31: std::get<1>(result) = "ENCRUSTGEM"; break; + case 32: std::get<1>(result) = "WOODCRAFT"; break; + case 33: std::get<1>(result) = "STONECRAFT"; break; + case 34: std::get<1>(result) = "METALCRAFT"; break; + case 35: std::get<1>(result) = "GLASSMAKER"; break; + case 36: std::get<1>(result) = "LEATHERWORK"; break; + case 37: std::get<1>(result) = "BONECARVE"; break; + case 38: std::get<1>(result) = "AXE"; break; + case 39: std::get<1>(result) = "SWORD"; break; + case 40: std::get<1>(result) = "DAGGER"; break; + case 41: std::get<1>(result) = "MACE"; break; + case 42: std::get<1>(result) = "HAMMER"; break; + case 43: std::get<1>(result) = "SPEAR"; break; + case 44: std::get<1>(result) = "CROSSBOW"; break; + case 45: std::get<1>(result) = "SHIELD"; break; + case 46: std::get<1>(result) = "ARMOR"; break; + case 47: std::get<1>(result) = "SIEGECRAFT"; break; + case 48: std::get<1>(result) = "SIEGEOPERATE"; break; + case 49: std::get<1>(result) = "BOWYER"; break; + case 50: std::get<1>(result) = "PIKE"; break; + case 51: std::get<1>(result) = "WHIP"; break; + case 52: std::get<1>(result) = "BOW"; break; + case 53: std::get<1>(result) = "BLOWGUN"; break; + case 54: std::get<1>(result) = "THROW"; break; + case 55: std::get<1>(result) = "MECHANICS"; break; + case 56: std::get<1>(result) = "MAGIC_NATURE"; break; + case 57: std::get<1>(result) = "SNEAK"; break; + case 58: std::get<1>(result) = "DESIGNBUILDING"; break; + case 59: std::get<1>(result) = "DRESS_WOUNDS"; break; + case 60: std::get<1>(result) = "DIAGNOSE"; break; + case 61: std::get<1>(result) = "SURGERY"; break; + case 62: std::get<1>(result) = "SET_BONE"; break; + case 63: std::get<1>(result) = "SUTURE"; break; + case 64: std::get<1>(result) = "CRUTCH_WALK"; break; + case 65: std::get<1>(result) = "WOOD_BURNING"; break; + case 66: std::get<1>(result) = "LYE_MAKING"; break; + case 67: std::get<1>(result) = "SOAP_MAKING"; break; + case 68: std::get<1>(result) = "POTASH_MAKING"; break; + case 69: std::get<1>(result) = "DYER"; break; + case 70: std::get<1>(result) = "OPERATE_PUMP"; break; + case 71: std::get<1>(result) = "SWIMMING"; break; + case 72: std::get<1>(result) = "PERSUASION"; break; + case 73: std::get<1>(result) = "NEGOTIATION"; break; + case 74: std::get<1>(result) = "JUDGING_INTENT"; break; + case 75: std::get<1>(result) = "APPRAISAL"; break; + case 76: std::get<1>(result) = "ORGANIZATION"; break; + case 77: std::get<1>(result) = "RECORD_KEEPING"; break; + case 78: std::get<1>(result) = "LYING"; break; + case 79: std::get<1>(result) = "INTIMIDATION"; break; + case 80: std::get<1>(result) = "CONVERSATION"; break; + case 81: std::get<1>(result) = "COMEDY"; break; + case 82: std::get<1>(result) = "FLATTERY"; break; + case 83: std::get<1>(result) = "CONSOLE"; break; + case 84: std::get<1>(result) = "PACIFY"; break; + case 85: std::get<1>(result) = "TRACKING"; break; + case 86: std::get<1>(result) = "KNOWLEDGE_ACQUISITION"; break; + case 87: std::get<1>(result) = "CONCENTRATION"; break; + case 88: std::get<1>(result) = "DISCIPLINE"; break; + case 89: std::get<1>(result) = "SITUATIONAL_AWARENESS"; break; + case 90: std::get<1>(result) = "WRITING"; break; + case 91: std::get<1>(result) = "PROSE"; break; + case 92: std::get<1>(result) = "POETRY"; break; + case 93: std::get<1>(result) = "READING"; break; + case 94: std::get<1>(result) = "SPEAKING"; break; + case 95: std::get<1>(result) = "COORDINATION"; break; + case 96: std::get<1>(result) = "BALANCE"; break; + case 97: std::get<1>(result) = "LEADERSHIP"; break; + case 98: std::get<1>(result) = "TEACHING"; break; + case 99: std::get<1>(result) = "MELEE_COMBAT"; break; + case 100: std::get<1>(result) = "RANGED_COMBAT"; break; + case 101: std::get<1>(result) = "WRESTLING"; break; + case 102: std::get<1>(result) = "BITE"; break; + case 103: std::get<1>(result) = "GRASP_STRIKE"; break; + case 104: std::get<1>(result) = "STANCE_STRIKE"; break; + case 105: std::get<1>(result) = "DODGING"; break; + case 106: std::get<1>(result) = "MISC_WEAPON"; break; + case 107: std::get<1>(result) = "KNAPPING"; break; + case 108: std::get<1>(result) = "MILITARY_TACTICS"; break; + case 109: std::get<1>(result) = "SHEARING"; break; + case 110: std::get<1>(result) = "SPINNING"; break; + case 111: std::get<1>(result) = "POTTERY"; break; + case 112: std::get<1>(result) = "GLAZING"; break; + case 113: std::get<1>(result) = "PRESSING"; break; + case 114: std::get<1>(result) = "BEEKEEPING"; break; + case 115: std::get<1>(result) = "WAX_WORKING"; break; + case 116: std::get<1>(result) = "CLIMBING"; break; + case 117: std::get<1>(result) = "GELD"; break; + case 118: std::get<1>(result) = "DANCE"; break; + case 119: std::get<1>(result) = "MAKE_MUSIC"; break; + case 120: std::get<1>(result) = "SING_MUSIC"; break; + case 121: std::get<1>(result) = "PLAY_KEYBOARD_INSTRUMENT"; break; + case 122: std::get<1>(result) = "PLAY_STRINGED_INSTRUMENT"; break; + case 123: std::get<1>(result) = "PLAY_WIND_INSTRUMENT"; break; + case 124: std::get<1>(result) = "PLAY_PERCUSSION_INSTRUMENT"; break; + case 125: std::get<1>(result) = "CRITICAL_THINKING"; break; + case 126: std::get<1>(result) = "LOGIC"; break; + case 127: std::get<1>(result) = "MATHEMATICS"; break; + case 128: std::get<1>(result) = "ASTRONOMY"; break; + case 129: std::get<1>(result) = "CHEMISTRY"; break; + case 130: std::get<1>(result) = "GEOGRAPHY"; break; + case 131: std::get<1>(result) = "OPTICS_ENGINEER"; break; + case 132: std::get<1>(result) = "FLUID_ENGINEER"; break; + case 133: std::get<1>(result) = "PAPERMAKING"; break; + case 134: std::get<1>(result) = "BOOKBINDING"; break; + default: break; + } + return result; +} + +std::tuple get_hauler_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Any"; break; + case 1: std::get<1>(result) = "Stone"; break; + case 2: std::get<1>(result) = "Wood"; break; + case 3: std::get<1>(result) = "Item"; break; + case 4: std::get<1>(result) = "Bin"; break; + case 5: std::get<1>(result) = "Body"; break; + case 6: std::get<1>(result) = "Food"; break; + case 7: std::get<1>(result) = "Refuse"; break; + case 8: std::get<1>(result) = "Furniture"; break; + case 9: std::get<1>(result) = "Animal"; break; + default: break; + } + return result; +} + +std::tuple get_furniture_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "FLOODGATE"; break; + case 1: std::get<1>(result) = "HATCH_COVER"; break; + case 2: std::get<1>(result) = "GRATE"; break; + case 3: std::get<1>(result) = "DOOR"; break; + case 4: std::get<1>(result) = "CATAPULTPARTS"; break; + case 5: std::get<1>(result) = "BALLISTAPARTS"; break; + case 6: std::get<1>(result) = "TRAPPARTS"; break; + case 7: std::get<1>(result) = "BED"; break; + case 8: std::get<1>(result) = "TRACTION_BENCH"; break; + case 9: std::get<1>(result) = "WINDOW"; break; + case 10: std::get<1>(result) = "CHAIR"; break; + case 11: std::get<1>(result) = "TABLE"; break; + case 12: std::get<1>(result) = "COFFIN"; break; + case 13: std::get<1>(result) = "STATUE"; break; + case 14: std::get<1>(result) = "SLAB"; break; + case 15: std::get<1>(result) = "QUERN"; break; + case 16: std::get<1>(result) = "MILLSTONE"; break; + case 17: std::get<1>(result) = "ARMORSTAND"; break; + case 18: std::get<1>(result) = "WEAPONRACK"; break; + case 19: std::get<1>(result) = "CABINET"; break; + case 20: std::get<1>(result) = "ANVIL"; break; + case 21: std::get<1>(result) = "BUCKET"; break; + case 22: std::get<1>(result) = "BIN"; break; + case 23: std::get<1>(result) = "BOX"; break; + case 24: std::get<1>(result) = "SIEGEAMMO"; break; + case 25: std::get<1>(result) = "BARREL"; break; + case 26: std::get<1>(result) = "BALLISTAARROWHEAD"; break; + case 27: std::get<1>(result) = "PIPE_SECTION"; break; + case 28: std::get<1>(result) = "FOOD_STORAGE"; break; + case 29: std::get<1>(result) = "MINECART"; break; + case 30: std::get<1>(result) = "WHEELBARROW"; break; + case 31: std::get<1>(result) = "OTHER_LARGE_TOOLS"; break; + case 32: std::get<1>(result) = "SAND_BAG"; break; + default: break; + } + return result; +} + +std::tuple get_stockpile_category_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case -1: std::get<1>(result) = "Remove"; break; + case 0: std::get<1>(result) = "Animals"; break; + case 1: std::get<1>(result) = "Food"; break; + case 2: std::get<1>(result) = "Furniture"; break; + case 3: std::get<1>(result) = "Corpses"; break; + case 4: std::get<1>(result) = "Refuse"; break; + case 5: std::get<1>(result) = "Stone"; break; + case 6: std::get<1>(result) = "Ore"; break; + case 7: std::get<1>(result) = "Ammo"; break; + case 8: std::get<1>(result) = "Coins"; break; + case 9: std::get<1>(result) = "Bars"; break; + case 10: std::get<1>(result) = "Gems"; break; + case 11: std::get<1>(result) = "Goods"; break; + case 12: std::get<1>(result) = "Leather"; break; + case 13: std::get<1>(result) = "Cloth"; break; + case 14: std::get<1>(result) = "Wood"; break; + case 15: std::get<1>(result) = "Weapons"; break; + case 16: std::get<1>(result) = "Armor"; break; + case 17: std::get<1>(result) = "Sheets"; break; + case 18: std::get<1>(result) = "Custom"; break; + default: break; + } + return result; +} + +std::tuple get_stockpile_list_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Animals"; break; + case 1: std::get<1>(result) = "Food"; break; + case 2: std::get<1>(result) = "FoodMeat"; break; + case 3: std::get<1>(result) = "FoodFish"; break; + case 4: std::get<1>(result) = "FoodUnpreparedFish"; break; + case 5: std::get<1>(result) = "FoodEgg"; break; + case 6: std::get<1>(result) = "FoodPlants"; break; + case 7: std::get<1>(result) = "FoodDrinkPlant"; break; + case 8: std::get<1>(result) = "FoodDrinkAnimal"; break; + case 9: std::get<1>(result) = "FoodCheesePlant"; break; + case 10: std::get<1>(result) = "FoodCheeseAnimal"; break; + case 11: std::get<1>(result) = "FoodSeeds"; break; + case 12: std::get<1>(result) = "FoodLeaves"; break; + case 13: std::get<1>(result) = "FoodMilledPlant"; break; + case 14: std::get<1>(result) = "FoodBoneMeal"; break; + case 15: std::get<1>(result) = "FoodFat"; break; + case 16: std::get<1>(result) = "FoodPaste"; break; + case 17: std::get<1>(result) = "FoodPressedMaterial"; break; + case 18: std::get<1>(result) = "FoodExtractPlant"; break; + case 19: std::get<1>(result) = "FoodExtractAnimal"; break; + case 20: std::get<1>(result) = "FoodMiscLiquid"; break; + case 21: std::get<1>(result) = "Furniture"; break; + case 22: std::get<1>(result) = "FurnitureType"; break; + case 23: std::get<1>(result) = "FurnitureStoneClay"; break; + case 24: std::get<1>(result) = "FurnitureMetal"; break; + case 25: std::get<1>(result) = "FurnitureOtherMaterials"; break; + case 26: std::get<1>(result) = "FurnitureCoreQuality"; break; + case 27: std::get<1>(result) = "FurnitureTotalQuality"; break; + case 28: std::get<1>(result) = "Corpses"; break; + case 29: std::get<1>(result) = "Refuse"; break; + case 30: std::get<1>(result) = "RefuseItems"; break; + case 31: std::get<1>(result) = "RefuseCorpses"; break; + case 32: std::get<1>(result) = "RefuseParts"; break; + case 33: std::get<1>(result) = "RefuseSkulls"; break; + case 34: std::get<1>(result) = "RefuseBones"; break; + case 35: std::get<1>(result) = "RefuseShells"; break; + case 36: std::get<1>(result) = "RefuseTeeth"; break; + case 37: std::get<1>(result) = "RefuseHorns"; break; + case 38: std::get<1>(result) = "RefuseHair"; break; + case 39: std::get<1>(result) = "Stone"; break; + case 40: std::get<1>(result) = "StoneOres"; break; + case 41: std::get<1>(result) = "StoneEconomic"; break; + case 42: std::get<1>(result) = "StoneOther"; break; + case 43: std::get<1>(result) = "StoneClay"; break; + case 44: std::get<1>(result) = "Ammo"; break; + case 45: std::get<1>(result) = "AmmoType"; break; + case 46: std::get<1>(result) = "AmmoMetal"; break; + case 47: std::get<1>(result) = "AmmoOther"; break; + case 48: std::get<1>(result) = "AmmoCoreQuality"; break; + case 49: std::get<1>(result) = "AmmoTotalQuality"; break; + case 50: std::get<1>(result) = "Coins"; break; + case 51: std::get<1>(result) = "BarsBlocks"; break; + case 52: std::get<1>(result) = "BarsMetal"; break; + case 53: std::get<1>(result) = "BarsOther"; break; + case 54: std::get<1>(result) = "BlocksStone"; break; + case 55: std::get<1>(result) = "BlocksMetal"; break; + case 56: std::get<1>(result) = "BlocksOther"; break; + case 57: std::get<1>(result) = "Gems"; break; + case 58: std::get<1>(result) = "RoughGem"; break; + case 59: std::get<1>(result) = "RoughGlass"; break; + case 60: std::get<1>(result) = "CutGem"; break; + case 61: std::get<1>(result) = "CutGlass"; break; + case 62: std::get<1>(result) = "CutStone"; break; + case 63: std::get<1>(result) = "Goods"; break; + case 64: std::get<1>(result) = "GoodsType"; break; + case 65: std::get<1>(result) = "GoodsStone"; break; + case 66: std::get<1>(result) = "GoodsMetal"; break; + case 67: std::get<1>(result) = "GoodsGem"; break; + case 68: std::get<1>(result) = "GoodsOther"; break; + case 69: std::get<1>(result) = "GoodsCoreQuality"; break; + case 70: std::get<1>(result) = "GoodsTotalQuality"; break; + case 71: std::get<1>(result) = "Leather"; break; + case 72: std::get<1>(result) = "Cloth"; break; + case 73: std::get<1>(result) = "ThreadSilk"; break; + case 74: std::get<1>(result) = "ThreadPlant"; break; + case 75: std::get<1>(result) = "ThreadYarn"; break; + case 76: std::get<1>(result) = "ThreadMetal"; break; + case 77: std::get<1>(result) = "ClothSilk"; break; + case 78: std::get<1>(result) = "ClothPlant"; break; + case 79: std::get<1>(result) = "ClothYarn"; break; + case 80: std::get<1>(result) = "ClothMetal"; break; + case 81: std::get<1>(result) = "Wood"; break; + case 82: std::get<1>(result) = "Weapons"; break; + case 83: std::get<1>(result) = "WeaponsType"; break; + case 84: std::get<1>(result) = "WeaponsTrapcomp"; break; + case 85: std::get<1>(result) = "WeaponsMetal"; break; + case 86: std::get<1>(result) = "WeaponsStone"; break; + case 87: std::get<1>(result) = "WeaponsOther"; break; + case 88: std::get<1>(result) = "WeaponsCoreQuality"; break; + case 89: std::get<1>(result) = "WeaponsTotalQuality"; break; + case 90: std::get<1>(result) = "Armor"; break; + case 91: std::get<1>(result) = "ArmorBody"; break; + case 92: std::get<1>(result) = "ArmorHead"; break; + case 93: std::get<1>(result) = "ArmorFeet"; break; + case 94: std::get<1>(result) = "ArmorHands"; break; + case 95: std::get<1>(result) = "ArmorLegs"; break; + case 96: std::get<1>(result) = "ArmorShield"; break; + case 97: std::get<1>(result) = "ArmorMetal"; break; + case 98: std::get<1>(result) = "ArmorOther"; break; + case 99: std::get<1>(result) = "ArmorCoreQuality"; break; + case 100: std::get<1>(result) = "ArmorTotalQuality"; break; + case 101: std::get<1>(result) = "Sheet"; break; + case 102: std::get<1>(result) = "SheetPaper"; break; + case 103: std::get<1>(result) = "SheetParchment"; break; + case 104: std::get<1>(result) = "AdditionalOptions"; break; + default: break; + } + return result; +} + +std::tuple get_creature_interaction_effect_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "PAIN"; break; + case 1: std::get<1>(result) = "SWELLING"; break; + case 2: std::get<1>(result) = "OOZING"; break; + case 3: std::get<1>(result) = "BRUISING"; break; + case 4: std::get<1>(result) = "BLISTERS"; break; + case 5: std::get<1>(result) = "NUMBNESS"; break; + case 6: std::get<1>(result) = "PARALYSIS"; break; + case 7: std::get<1>(result) = "FEVER"; break; + case 8: std::get<1>(result) = "BLEEDING"; break; + case 9: std::get<1>(result) = "COUGH_BLOOD"; break; + case 10: std::get<1>(result) = "VOMIT_BLOOD"; break; + case 11: std::get<1>(result) = "NAUSEA"; break; + case 12: std::get<1>(result) = "UNCONSCIOUSNESS"; break; + case 13: std::get<1>(result) = "NECROSIS"; break; + case 14: std::get<1>(result) = "IMPAIR_FUNCTION"; break; + case 15: std::get<1>(result) = "DROWSINESS"; break; + case 16: std::get<1>(result) = "DIZZINESS"; break; + case 17: std::get<1>(result) = "ADD_TAG"; break; + case 18: std::get<1>(result) = "REMOVE_TAG"; break; + case 19: std::get<1>(result) = "DISPLAY_TILE"; break; + case 20: std::get<1>(result) = "FLASH_TILE"; break; + case 21: std::get<1>(result) = "SPEED_CHANGE"; break; + case 22: std::get<1>(result) = "CAN_DO_INTERACTION"; break; + case 23: std::get<1>(result) = "SKILL_ROLL_ADJUST"; break; + case 24: std::get<1>(result) = "BODY_TRANSFORMATION"; break; + case 25: std::get<1>(result) = "PHYS_ATT_CHANGE"; break; + case 26: std::get<1>(result) = "MENT_ATT_CHANGE"; break; + case 27: std::get<1>(result) = "MATERIAL_FORCE_MULTIPLIER"; break; + case 28: std::get<1>(result) = "BODY_MAT_INTERACTION"; break; + case 29: std::get<1>(result) = "BODY_APPEARANCE_MODIFIER"; break; + case 30: std::get<1>(result) = "BP_APPEARANCE_MODIFIER"; break; + case 31: std::get<1>(result) = "DISPLAY_NAME"; break; + case 32: std::get<1>(result) = "SENSE_CREATURE_CLASS"; break; + case 33: std::get<1>(result) = "FEEL_EMOTION"; break; + case 34: std::get<1>(result) = "CHANGE_PERSONALITY"; break; + case 35: std::get<1>(result) = "ERRATIC_BEHAVIOR"; break; + default: break; + } + return result; +} + +std::tuple get_creature_interaction_effect_target_mode_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "BY_TYPE"; break; + case 1: std::get<1>(result) = "BY_TOKEN"; break; + case 2: std::get<1>(result) = "BY_CATEGORY"; break; + default: break; + } + return result; +} + +std::tuple get_tiletype_shape_basic_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case -1: std::get<1>(result) = "None"; break; + case 0: std::get<1>(result) = "Open"; break; + case 1: std::get<1>(result) = "Floor"; break; + case 2: std::get<1>(result) = "Ramp"; break; + case 3: std::get<1>(result) = "Wall"; break; + case 4: std::get<1>(result) = "Stair"; break; + default: break; + } + return result; +} + +std::tuple get_tiletype_shape_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case -1: std::get<1>(result) = "NONE"; break; + case 0: std::get<1>(result) = "EMPTY"; break; + case 1: std::get<1>(result) = "FLOOR"; break; + case 2: std::get<1>(result) = "BOULDER"; break; + case 3: std::get<1>(result) = "PEBBLES"; break; + case 4: std::get<1>(result) = "WALL"; break; + case 5: std::get<1>(result) = "FORTIFICATION"; break; + case 6: std::get<1>(result) = "STAIR_UP"; break; + case 7: std::get<1>(result) = "STAIR_DOWN"; break; + case 8: std::get<1>(result) = "STAIR_UPDOWN"; break; + case 9: std::get<1>(result) = "RAMP"; break; + case 10: std::get<1>(result) = "RAMP_TOP"; break; + case 11: std::get<1>(result) = "BROOK_BED"; break; + case 12: std::get<1>(result) = "BROOK_TOP"; break; + case 13: std::get<1>(result) = "BRANCH"; break; + case 14: std::get<1>(result) = "TRUNK_BRANCH"; break; + case 15: std::get<1>(result) = "TWIG"; break; + case 16: std::get<1>(result) = "SAPLING"; break; + case 17: std::get<1>(result) = "SHRUB"; break; + case 18: std::get<1>(result) = "ENDLESS_PIT"; break; + default: break; + } + return result; +} + +std::tuple get_tiletype_material_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case -1: std::get<1>(result) = "NONE"; break; + case 0: std::get<1>(result) = "AIR"; break; + case 1: std::get<1>(result) = "SOIL"; break; + case 2: std::get<1>(result) = "STONE"; break; + case 3: std::get<1>(result) = "FEATURE"; break; + case 4: std::get<1>(result) = "LAVA_STONE"; break; + case 5: std::get<1>(result) = "MINERAL"; break; + case 6: std::get<1>(result) = "FROZEN_LIQUID"; break; + case 7: std::get<1>(result) = "CONSTRUCTION"; break; + case 8: std::get<1>(result) = "GRASS_LIGHT"; break; + case 9: std::get<1>(result) = "GRASS_DARK"; break; + case 10: std::get<1>(result) = "GRASS_DRY"; break; + case 11: std::get<1>(result) = "GRASS_DEAD"; break; + case 12: std::get<1>(result) = "PLANT"; break; + case 13: std::get<1>(result) = "HFS"; break; + case 14: std::get<1>(result) = "CAMPFIRE"; break; + case 15: std::get<1>(result) = "FIRE"; break; + case 16: std::get<1>(result) = "ASHES"; break; + case 17: std::get<1>(result) = "MAGMA"; break; + case 18: std::get<1>(result) = "DRIFTWOOD"; break; + case 19: std::get<1>(result) = "POOL"; break; + case 20: std::get<1>(result) = "BROOK"; break; + case 21: std::get<1>(result) = "RIVER"; break; + case 22: std::get<1>(result) = "ROOT"; break; + case 23: std::get<1>(result) = "TREE"; break; + case 24: std::get<1>(result) = "MUSHROOM"; break; + case 25: std::get<1>(result) = "UNDERWORLD_GATE"; break; + default: break; + } + return result; +} + +std::tuple get_tiletype_variant_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case -1: std::get<1>(result) = "NONE"; break; + case 0: std::get<1>(result) = "VAR_1"; break; + case 1: std::get<1>(result) = "VAR_2"; break; + case 2: std::get<1>(result) = "VAR_3"; break; + case 3: std::get<1>(result) = "VAR_4"; break; + default: break; + } + return result; +} + +std::tuple get_tiletype_special_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case -1: std::get<1>(result) = "NONE"; break; + case 0: std::get<1>(result) = "NORMAL"; break; + case 1: std::get<1>(result) = "RIVER_SOURCE"; break; + case 2: std::get<1>(result) = "WATERFALL"; break; + case 3: std::get<1>(result) = "SMOOTH"; break; + case 4: std::get<1>(result) = "FURROWED"; break; + case 5: std::get<1>(result) = "WET"; break; + case 6: std::get<1>(result) = "DEAD"; break; + case 7: std::get<1>(result) = "WORN_1"; break; + case 8: std::get<1>(result) = "WORN_2"; break; + case 9: std::get<1>(result) = "WORN_3"; break; + case 10: std::get<1>(result) = "TRACK"; break; + case 11: std::get<1>(result) = "SMOOTH_DEAD"; break; + default: break; + } + return result; +} + +std::tuple get_tiletype_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Void"; break; + case 1: std::get<1>(result) = "RampTop"; break; + case 2: std::get<1>(result) = "MurkyPool"; break; + case 3: std::get<1>(result) = "MurkyPoolRamp"; break; + case 4: std::get<1>(result) = "UnderworldGateStairU"; break; + case 5: std::get<1>(result) = "UnderworldGateStairD"; break; + case 6: std::get<1>(result) = "UnderworldGateStairUD"; break; + case 7: std::get<1>(result) = "anon_1"; break; + case 8: std::get<1>(result) = "anon_2"; break; + case 9: std::get<1>(result) = "anon_3"; break; + case 10: std::get<1>(result) = "anon_4"; break; + case 11: std::get<1>(result) = "anon_5"; break; + case 12: std::get<1>(result) = "anon_6"; break; + case 13: std::get<1>(result) = "anon_7"; break; + case 14: std::get<1>(result) = "anon_8"; break; + case 15: std::get<1>(result) = "anon_9"; break; + case 16: std::get<1>(result) = "anon_10"; break; + case 17: std::get<1>(result) = "anon_11"; break; + case 18: std::get<1>(result) = "anon_12"; break; + case 19: std::get<1>(result) = "Driftwood"; break; + case 20: std::get<1>(result) = "anon_13"; break; + case 21: std::get<1>(result) = "anon_14"; break; + case 22: std::get<1>(result) = "anon_15"; break; + case 23: std::get<1>(result) = "anon_16"; break; + case 24: std::get<1>(result) = "anon_17"; break; + case 25: std::get<1>(result) = "FrozenStairUD"; break; + case 26: std::get<1>(result) = "FrozenStairD"; break; + case 27: std::get<1>(result) = "FrozenStairU"; break; + case 28: std::get<1>(result) = "anon_18"; break; + case 29: std::get<1>(result) = "anon_19"; break; + case 30: std::get<1>(result) = "anon_20"; break; + case 31: std::get<1>(result) = "anon_21"; break; + case 32: std::get<1>(result) = "OpenSpace"; break; + case 33: std::get<1>(result) = "anon_22"; break; + case 34: std::get<1>(result) = "Shrub"; break; + case 35: std::get<1>(result) = "Chasm"; break; + case 36: std::get<1>(result) = "LavaStairUD"; break; + case 37: std::get<1>(result) = "LavaStairD"; break; + case 38: std::get<1>(result) = "LavaStairU"; break; + case 39: std::get<1>(result) = "SoilStairUD"; break; + case 40: std::get<1>(result) = "SoilStairD"; break; + case 41: std::get<1>(result) = "SoilStairU"; break; + case 42: std::get<1>(result) = "EeriePit"; break; + case 43: std::get<1>(result) = "StoneFloorSmooth"; break; + case 44: std::get<1>(result) = "LavaFloorSmooth"; break; + case 45: std::get<1>(result) = "FeatureFloorSmooth"; break; + case 46: std::get<1>(result) = "MineralFloorSmooth"; break; + case 47: std::get<1>(result) = "FrozenFloorSmooth"; break; + case 48: std::get<1>(result) = "anon_23"; break; + case 49: std::get<1>(result) = "Grass1StairUD"; break; + case 50: std::get<1>(result) = "Grass1StairD"; break; + case 51: std::get<1>(result) = "Grass1StairU"; break; + case 52: std::get<1>(result) = "Grass2StairUD"; break; + case 53: std::get<1>(result) = "Grass2StairD"; break; + case 54: std::get<1>(result) = "Grass2StairU"; break; + case 55: std::get<1>(result) = "StoneStairUD"; break; + case 56: std::get<1>(result) = "StoneStairD"; break; + case 57: std::get<1>(result) = "StoneStairU"; break; + case 58: std::get<1>(result) = "MineralStairUD"; break; + case 59: std::get<1>(result) = "MineralStairD"; break; + case 60: std::get<1>(result) = "MineralStairU"; break; + case 61: std::get<1>(result) = "FeatureStairUD"; break; + case 62: std::get<1>(result) = "FeatureStairD"; break; + case 63: std::get<1>(result) = "FeatureStairU"; break; + case 64: std::get<1>(result) = "anon_24"; break; + case 65: std::get<1>(result) = "StoneFortification"; break; + case 66: std::get<1>(result) = "anon_25"; break; + case 67: std::get<1>(result) = "Campfire"; break; + case 68: std::get<1>(result) = "anon_26"; break; + case 69: std::get<1>(result) = "anon_27"; break; + case 70: std::get<1>(result) = "Fire"; break; + case 71: std::get<1>(result) = "BurningTreeTrunk"; break; + case 72: std::get<1>(result) = "BurningTreeBranches"; break; + case 73: std::get<1>(result) = "BurningTreeTwigs"; break; + case 74: std::get<1>(result) = "BurningTreeCapWall"; break; + case 75: std::get<1>(result) = "BurningTreeCapRamp"; break; + case 76: std::get<1>(result) = "BurningTreeCapFloor"; break; + case 77: std::get<1>(result) = "anon_28"; break; + case 78: std::get<1>(result) = "anon_29"; break; + case 79: std::get<1>(result) = "StonePillar"; break; + case 80: std::get<1>(result) = "LavaPillar"; break; + case 81: std::get<1>(result) = "FeaturePillar"; break; + case 82: std::get<1>(result) = "MineralPillar"; break; + case 83: std::get<1>(result) = "FrozenPillar"; break; + case 84: std::get<1>(result) = "anon_30"; break; + case 85: std::get<1>(result) = "anon_31"; break; + case 86: std::get<1>(result) = "anon_32"; break; + case 87: std::get<1>(result) = "anon_33"; break; + case 88: std::get<1>(result) = "anon_34"; break; + case 89: std::get<1>(result) = "Waterfall"; break; + case 90: std::get<1>(result) = "RiverSource"; break; + case 91: std::get<1>(result) = "TreeRootSloping"; break; + case 92: std::get<1>(result) = "TreeRoots"; break; + case 93: std::get<1>(result) = "TreeTrunkPillar"; break; + case 94: std::get<1>(result) = "TreeTrunkSloping"; break; + case 95: std::get<1>(result) = "TreeTrunkN"; break; + case 96: std::get<1>(result) = "TreeTrunkS"; break; + case 97: std::get<1>(result) = "TreeTrunkE"; break; + case 98: std::get<1>(result) = "TreeTrunkW"; break; + case 99: std::get<1>(result) = "TreeTrunkNW"; break; + case 100: std::get<1>(result) = "TreeTrunkNE"; break; + case 101: std::get<1>(result) = "TreeTrunkSW"; break; + case 102: std::get<1>(result) = "TreeTrunkSE"; break; + case 103: std::get<1>(result) = "TreeTrunkBranchN"; break; + case 104: std::get<1>(result) = "TreeTrunkBranchS"; break; + case 105: std::get<1>(result) = "TreeTrunkBranchE"; break; + case 106: std::get<1>(result) = "TreeTrunkBranchW"; break; + case 107: std::get<1>(result) = "TreeBranchNS"; break; + case 108: std::get<1>(result) = "TreeBranchEW"; break; + case 109: std::get<1>(result) = "TreeBranchesSmooth"; break; + case 110: std::get<1>(result) = "TreeDeadBranchesSmooth"; break; + case 111: std::get<1>(result) = "TreeBranchNW"; break; + case 112: std::get<1>(result) = "TreeBranchNE"; break; + case 113: std::get<1>(result) = "TreeBranchSW"; break; + case 114: std::get<1>(result) = "TreeBranchSE"; break; + case 115: std::get<1>(result) = "TreeBranches"; break; + case 116: std::get<1>(result) = "TreeTwigs"; break; + case 117: std::get<1>(result) = "TreeCapRamp"; break; + case 118: std::get<1>(result) = "TreeCapPillar"; break; + case 119: std::get<1>(result) = "TreeCapWallN"; break; + case 120: std::get<1>(result) = "TreeCapWallS"; break; + case 121: std::get<1>(result) = "TreeCapWallE"; break; + case 122: std::get<1>(result) = "TreeCapWallW"; break; + case 123: std::get<1>(result) = "TreeCapWallNW"; break; + case 124: std::get<1>(result) = "TreeCapWallNE"; break; + case 125: std::get<1>(result) = "TreeCapWallSW"; break; + case 126: std::get<1>(result) = "TreeCapWallSE"; break; + case 127: std::get<1>(result) = "TreeCapFloor1"; break; + case 128: std::get<1>(result) = "TreeCapFloor2"; break; + case 129: std::get<1>(result) = "TreeCapFloor3"; break; + case 130: std::get<1>(result) = "TreeCapFloor4"; break; + case 131: std::get<1>(result) = "TreeDeadRootSloping"; break; + case 132: std::get<1>(result) = "TreeDeadRoots"; break; + case 133: std::get<1>(result) = "TreeDeadTrunkPillar"; break; + case 134: std::get<1>(result) = "TreeDeadTrunkSloping"; break; + case 135: std::get<1>(result) = "TreeDeadTrunkN"; break; + case 136: std::get<1>(result) = "TreeDeadTrunkS"; break; + case 137: std::get<1>(result) = "TreeDeadTrunkE"; break; + case 138: std::get<1>(result) = "TreeDeadTrunkW"; break; + case 139: std::get<1>(result) = "TreeDeadTrunkNW"; break; + case 140: std::get<1>(result) = "TreeDeadTrunkNE"; break; + case 141: std::get<1>(result) = "TreeDeadTrunkSW"; break; + case 142: std::get<1>(result) = "TreeDeadTrunkSE"; break; + case 143: std::get<1>(result) = "TreeDeadTrunkBranchN"; break; + case 144: std::get<1>(result) = "TreeDeadTrunkBranchS"; break; + case 145: std::get<1>(result) = "TreeDeadTrunkBranchE"; break; + case 146: std::get<1>(result) = "TreeDeadTrunkBranchW"; break; + case 147: std::get<1>(result) = "TreeDeadBranchNS"; break; + case 148: std::get<1>(result) = "TreeDeadBranchEW"; break; + case 149: std::get<1>(result) = "anon_35"; break; + case 150: std::get<1>(result) = "anon_36"; break; + case 151: std::get<1>(result) = "TreeDeadBranchNW"; break; + case 152: std::get<1>(result) = "TreeDeadBranchNE"; break; + case 153: std::get<1>(result) = "TreeDeadBranchSW"; break; + case 154: std::get<1>(result) = "TreeDeadBranchSE"; break; + case 155: std::get<1>(result) = "TreeDeadBranches"; break; + case 156: std::get<1>(result) = "TreeDeadTwigs"; break; + case 157: std::get<1>(result) = "TreeDeadCapRamp"; break; + case 158: std::get<1>(result) = "TreeDeadCapPillar"; break; + case 159: std::get<1>(result) = "TreeDeadCapWallN"; break; + case 160: std::get<1>(result) = "TreeDeadCapWallS"; break; + case 161: std::get<1>(result) = "TreeDeadCapWallE"; break; + case 162: std::get<1>(result) = "TreeDeadCapWallW"; break; + case 163: std::get<1>(result) = "TreeDeadCapWallNW"; break; + case 164: std::get<1>(result) = "TreeDeadCapWallNE"; break; + case 165: std::get<1>(result) = "TreeDeadCapWallSW"; break; + case 166: std::get<1>(result) = "TreeDeadCapWallSE"; break; + case 167: std::get<1>(result) = "TreeDeadCapFloor1"; break; + case 168: std::get<1>(result) = "TreeDeadCapFloor2"; break; + case 169: std::get<1>(result) = "TreeDeadCapFloor3"; break; + case 170: std::get<1>(result) = "TreeDeadCapFloor4"; break; + case 171: std::get<1>(result) = "anon_37"; break; + case 172: std::get<1>(result) = "StoneWallWorn1"; break; + case 173: std::get<1>(result) = "StoneWallWorn2"; break; + case 174: std::get<1>(result) = "StoneWallWorn3"; break; + case 175: std::get<1>(result) = "TreeBranchNSE"; break; + case 176: std::get<1>(result) = "TreeBranchNSW"; break; + case 177: std::get<1>(result) = "TreeBranchNEW"; break; + case 178: std::get<1>(result) = "TreeBranchSEW"; break; + case 179: std::get<1>(result) = "TreeBranchNSEW"; break; + case 180: std::get<1>(result) = "TreeDeadBranchNSE"; break; + case 181: std::get<1>(result) = "TreeDeadBranchNSW"; break; + case 182: std::get<1>(result) = "TreeDeadBranchNEW"; break; + case 183: std::get<1>(result) = "TreeDeadBranchSEW"; break; + case 184: std::get<1>(result) = "TreeDeadBranchNSEW"; break; + case 185: std::get<1>(result) = "TreeTrunkNSE"; break; + case 186: std::get<1>(result) = "TreeTrunkNSW"; break; + case 187: std::get<1>(result) = "TreeTrunkNEW"; break; + case 188: std::get<1>(result) = "TreeTrunkSEW"; break; + case 189: std::get<1>(result) = "TreeTrunkNS"; break; + case 190: std::get<1>(result) = "TreeTrunkEW"; break; + case 191: std::get<1>(result) = "TreeTrunkNSEW"; break; + case 192: std::get<1>(result) = "TreeTrunkInterior"; break; + case 193: std::get<1>(result) = "TreeDeadTrunkNSE"; break; + case 194: std::get<1>(result) = "TreeDeadTrunkNSW"; break; + case 195: std::get<1>(result) = "TreeDeadTrunkNEW"; break; + case 196: std::get<1>(result) = "TreeDeadTrunkSEW"; break; + case 197: std::get<1>(result) = "TreeDeadTrunkNS"; break; + case 198: std::get<1>(result) = "TreeDeadTrunkEW"; break; + case 199: std::get<1>(result) = "TreeDeadTrunkNSEW"; break; + case 200: std::get<1>(result) = "TreeDeadTrunkInterior"; break; + case 201: std::get<1>(result) = "anon_38"; break; + case 202: std::get<1>(result) = "anon_39"; break; + case 203: std::get<1>(result) = "anon_40"; break; + case 204: std::get<1>(result) = "anon_41"; break; + case 205: std::get<1>(result) = "anon_42"; break; + case 206: std::get<1>(result) = "anon_43"; break; + case 207: std::get<1>(result) = "anon_44"; break; + case 208: std::get<1>(result) = "anon_45"; break; + case 209: std::get<1>(result) = "anon_46"; break; + case 210: std::get<1>(result) = "anon_47"; break; + case 211: std::get<1>(result) = "anon_48"; break; + case 212: std::get<1>(result) = "anon_49"; break; + case 213: std::get<1>(result) = "anon_50"; break; + case 214: std::get<1>(result) = "anon_51"; break; + case 215: std::get<1>(result) = "StoneWall"; break; + case 216: std::get<1>(result) = "anon_52"; break; + case 217: std::get<1>(result) = "anon_53"; break; + case 218: std::get<1>(result) = "anon_54"; break; + case 219: std::get<1>(result) = "anon_55"; break; + case 220: std::get<1>(result) = "anon_56"; break; + case 221: std::get<1>(result) = "anon_57"; break; + case 222: std::get<1>(result) = "anon_58"; break; + case 223: std::get<1>(result) = "anon_59"; break; + case 224: std::get<1>(result) = "anon_60"; break; + case 225: std::get<1>(result) = "anon_61"; break; + case 226: std::get<1>(result) = "anon_62"; break; + case 227: std::get<1>(result) = "Sapling"; break; + case 228: std::get<1>(result) = "anon_63"; break; + case 229: std::get<1>(result) = "GrassDryRamp"; break; + case 230: std::get<1>(result) = "GrassDeadRamp"; break; + case 231: std::get<1>(result) = "GrassLightRamp"; break; + case 232: std::get<1>(result) = "GrassDarkRamp"; break; + case 233: std::get<1>(result) = "StoneRamp"; break; + case 234: std::get<1>(result) = "LavaRamp"; break; + case 235: std::get<1>(result) = "FeatureRamp"; break; + case 236: std::get<1>(result) = "MineralRamp"; break; + case 237: std::get<1>(result) = "SoilRamp"; break; + case 238: std::get<1>(result) = "Ashes1"; break; + case 239: std::get<1>(result) = "Ashes2"; break; + case 240: std::get<1>(result) = "Ashes3"; break; + case 241: std::get<1>(result) = "FrozenRamp"; break; + case 242: std::get<1>(result) = "anon_64"; break; + case 243: std::get<1>(result) = "anon_65"; break; + case 244: std::get<1>(result) = "anon_66"; break; + case 245: std::get<1>(result) = "anon_67"; break; + case 246: std::get<1>(result) = "anon_68"; break; + case 247: std::get<1>(result) = "anon_69"; break; + case 248: std::get<1>(result) = "anon_70"; break; + case 249: std::get<1>(result) = "anon_71"; break; + case 250: std::get<1>(result) = "anon_72"; break; + case 251: std::get<1>(result) = "anon_73"; break; + case 252: std::get<1>(result) = "anon_74"; break; + case 253: std::get<1>(result) = "anon_75"; break; + case 254: std::get<1>(result) = "FrozenFloor2"; break; + case 255: std::get<1>(result) = "FrozenFloor3"; break; + case 256: std::get<1>(result) = "FrozenFloor4"; break; + case 257: std::get<1>(result) = "FurrowedSoil"; break; + case 258: std::get<1>(result) = "FrozenFloor1"; break; + case 259: std::get<1>(result) = "SemiMoltenRock"; break; + case 260: std::get<1>(result) = "MagmaFlow"; break; + case 261: std::get<1>(result) = "SoilWall"; break; + case 262: std::get<1>(result) = "GlowingBarrier"; break; + case 263: std::get<1>(result) = "GlowingFloor"; break; + case 264: std::get<1>(result) = "anon_76"; break; + case 265: std::get<1>(result) = "LavaWallSmoothRD2"; break; + case 266: std::get<1>(result) = "LavaWallSmoothR2D"; break; + case 267: std::get<1>(result) = "LavaWallSmoothR2U"; break; + case 268: std::get<1>(result) = "LavaWallSmoothRU2"; break; + case 269: std::get<1>(result) = "LavaWallSmoothL2U"; break; + case 270: std::get<1>(result) = "LavaWallSmoothLU2"; break; + case 271: std::get<1>(result) = "LavaWallSmoothL2D"; break; + case 272: std::get<1>(result) = "LavaWallSmoothLD2"; break; + case 273: std::get<1>(result) = "LavaWallSmoothLRUD"; break; + case 274: std::get<1>(result) = "LavaWallSmoothRUD"; break; + case 275: std::get<1>(result) = "LavaWallSmoothLRD"; break; + case 276: std::get<1>(result) = "LavaWallSmoothLRU"; break; + case 277: std::get<1>(result) = "LavaWallSmoothLUD"; break; + case 278: std::get<1>(result) = "LavaWallSmoothRD"; break; + case 279: std::get<1>(result) = "LavaWallSmoothRU"; break; + case 280: std::get<1>(result) = "LavaWallSmoothLU"; break; + case 281: std::get<1>(result) = "LavaWallSmoothLD"; break; + case 282: std::get<1>(result) = "LavaWallSmoothUD"; break; + case 283: std::get<1>(result) = "LavaWallSmoothLR"; break; + case 284: std::get<1>(result) = "FeatureWallSmoothRD2"; break; + case 285: std::get<1>(result) = "FeatureWallSmoothR2D"; break; + case 286: std::get<1>(result) = "FeatureWallSmoothR2U"; break; + case 287: std::get<1>(result) = "FeatureWallSmoothRU2"; break; + case 288: std::get<1>(result) = "FeatureWallSmoothL2U"; break; + case 289: std::get<1>(result) = "FeatureWallSmoothLU2"; break; + case 290: std::get<1>(result) = "FeatureWallSmoothL2D"; break; + case 291: std::get<1>(result) = "FeatureWallSmoothLD2"; break; + case 292: std::get<1>(result) = "FeatureWallSmoothLRUD"; break; + case 293: std::get<1>(result) = "FeatureWallSmoothRUD"; break; + case 294: std::get<1>(result) = "FeatureWallSmoothLRD"; break; + case 295: std::get<1>(result) = "FeatureWallSmoothLRU"; break; + case 296: std::get<1>(result) = "FeatureWallSmoothLUD"; break; + case 297: std::get<1>(result) = "FeatureWallSmoothRD"; break; + case 298: std::get<1>(result) = "FeatureWallSmoothRU"; break; + case 299: std::get<1>(result) = "FeatureWallSmoothLU"; break; + case 300: std::get<1>(result) = "FeatureWallSmoothLD"; break; + case 301: std::get<1>(result) = "FeatureWallSmoothUD"; break; + case 302: std::get<1>(result) = "FeatureWallSmoothLR"; break; + case 303: std::get<1>(result) = "StoneWallSmoothRD2"; break; + case 304: std::get<1>(result) = "StoneWallSmoothR2D"; break; + case 305: std::get<1>(result) = "StoneWallSmoothR2U"; break; + case 306: std::get<1>(result) = "StoneWallSmoothRU2"; break; + case 307: std::get<1>(result) = "StoneWallSmoothL2U"; break; + case 308: std::get<1>(result) = "StoneWallSmoothLU2"; break; + case 309: std::get<1>(result) = "StoneWallSmoothL2D"; break; + case 310: std::get<1>(result) = "StoneWallSmoothLD2"; break; + case 311: std::get<1>(result) = "StoneWallSmoothLRUD"; break; + case 312: std::get<1>(result) = "StoneWallSmoothRUD"; break; + case 313: std::get<1>(result) = "StoneWallSmoothLRD"; break; + case 314: std::get<1>(result) = "StoneWallSmoothLRU"; break; + case 315: std::get<1>(result) = "StoneWallSmoothLUD"; break; + case 316: std::get<1>(result) = "StoneWallSmoothRD"; break; + case 317: std::get<1>(result) = "StoneWallSmoothRU"; break; + case 318: std::get<1>(result) = "StoneWallSmoothLU"; break; + case 319: std::get<1>(result) = "StoneWallSmoothLD"; break; + case 320: std::get<1>(result) = "StoneWallSmoothUD"; break; + case 321: std::get<1>(result) = "StoneWallSmoothLR"; break; + case 322: std::get<1>(result) = "LavaFortification"; break; + case 323: std::get<1>(result) = "FeatureFortification"; break; + case 324: std::get<1>(result) = "LavaWallWorn1"; break; + case 325: std::get<1>(result) = "LavaWallWorn2"; break; + case 326: std::get<1>(result) = "LavaWallWorn3"; break; + case 327: std::get<1>(result) = "LavaWall"; break; + case 328: std::get<1>(result) = "FeatureWallWorn1"; break; + case 329: std::get<1>(result) = "FeatureWallWorn2"; break; + case 330: std::get<1>(result) = "FeatureWallWorn3"; break; + case 331: std::get<1>(result) = "FeatureWall"; break; + case 332: std::get<1>(result) = "StoneFloor1"; break; + case 333: std::get<1>(result) = "StoneFloor2"; break; + case 334: std::get<1>(result) = "StoneFloor3"; break; + case 335: std::get<1>(result) = "StoneFloor4"; break; + case 336: std::get<1>(result) = "LavaFloor1"; break; + case 337: std::get<1>(result) = "LavaFloor2"; break; + case 338: std::get<1>(result) = "LavaFloor3"; break; + case 339: std::get<1>(result) = "LavaFloor4"; break; + case 340: std::get<1>(result) = "FeatureFloor1"; break; + case 341: std::get<1>(result) = "FeatureFloor2"; break; + case 342: std::get<1>(result) = "FeatureFloor3"; break; + case 343: std::get<1>(result) = "FeatureFloor4"; break; + case 344: std::get<1>(result) = "GrassDarkFloor1"; break; + case 345: std::get<1>(result) = "GrassDarkFloor2"; break; + case 346: std::get<1>(result) = "GrassDarkFloor3"; break; + case 347: std::get<1>(result) = "GrassDarkFloor4"; break; + case 348: std::get<1>(result) = "SoilFloor1"; break; + case 349: std::get<1>(result) = "SoilFloor2"; break; + case 350: std::get<1>(result) = "SoilFloor3"; break; + case 351: std::get<1>(result) = "SoilFloor4"; break; + case 352: std::get<1>(result) = "SoilWetFloor1"; break; + case 353: std::get<1>(result) = "SoilWetFloor2"; break; + case 354: std::get<1>(result) = "SoilWetFloor3"; break; + case 355: std::get<1>(result) = "SoilWetFloor4"; break; + case 356: std::get<1>(result) = "FrozenFortification"; break; + case 357: std::get<1>(result) = "FrozenWallWorn1"; break; + case 358: std::get<1>(result) = "FrozenWallWorn2"; break; + case 359: std::get<1>(result) = "FrozenWallWorn3"; break; + case 360: std::get<1>(result) = "FrozenWall"; break; + case 361: std::get<1>(result) = "RiverN"; break; + case 362: std::get<1>(result) = "RiverS"; break; + case 363: std::get<1>(result) = "RiverE"; break; + case 364: std::get<1>(result) = "RiverW"; break; + case 365: std::get<1>(result) = "RiverNW"; break; + case 366: std::get<1>(result) = "RiverNE"; break; + case 367: std::get<1>(result) = "RiverSW"; break; + case 368: std::get<1>(result) = "RiverSE"; break; + case 369: std::get<1>(result) = "BrookN"; break; + case 370: std::get<1>(result) = "BrookS"; break; + case 371: std::get<1>(result) = "BrookE"; break; + case 372: std::get<1>(result) = "BrookW"; break; + case 373: std::get<1>(result) = "BrookNW"; break; + case 374: std::get<1>(result) = "BrookNE"; break; + case 375: std::get<1>(result) = "BrookSW"; break; + case 376: std::get<1>(result) = "BrookSE"; break; + case 377: std::get<1>(result) = "BrookTop"; break; + case 378: std::get<1>(result) = "anon_77"; break; + case 379: std::get<1>(result) = "anon_78"; break; + case 380: std::get<1>(result) = "anon_79"; break; + case 381: std::get<1>(result) = "anon_80"; break; + case 382: std::get<1>(result) = "anon_81"; break; + case 383: std::get<1>(result) = "GrassDryFloor1"; break; + case 384: std::get<1>(result) = "GrassDryFloor2"; break; + case 385: std::get<1>(result) = "GrassDryFloor3"; break; + case 386: std::get<1>(result) = "GrassDryFloor4"; break; + case 387: std::get<1>(result) = "anon_82"; break; + case 388: std::get<1>(result) = "SaplingDead"; break; + case 389: std::get<1>(result) = "ShrubDead"; break; + case 390: std::get<1>(result) = "GrassDeadFloor1"; break; + case 391: std::get<1>(result) = "GrassDeadFloor2"; break; + case 392: std::get<1>(result) = "GrassDeadFloor3"; break; + case 393: std::get<1>(result) = "GrassDeadFloor4"; break; + case 394: std::get<1>(result) = "GrassLightFloor1"; break; + case 395: std::get<1>(result) = "GrassLightFloor2"; break; + case 396: std::get<1>(result) = "GrassLightFloor3"; break; + case 397: std::get<1>(result) = "GrassLightFloor4"; break; + case 398: std::get<1>(result) = "StoneBoulder"; break; + case 399: std::get<1>(result) = "LavaBoulder"; break; + case 400: std::get<1>(result) = "FeatureBoulder"; break; + case 401: std::get<1>(result) = "StonePebbles1"; break; + case 402: std::get<1>(result) = "StonePebbles2"; break; + case 403: std::get<1>(result) = "StonePebbles3"; break; + case 404: std::get<1>(result) = "StonePebbles4"; break; + case 405: std::get<1>(result) = "LavaPebbles1"; break; + case 406: std::get<1>(result) = "LavaPebbles2"; break; + case 407: std::get<1>(result) = "LavaPebbles3"; break; + case 408: std::get<1>(result) = "LavaPebbles4"; break; + case 409: std::get<1>(result) = "FeaturePebbles1"; break; + case 410: std::get<1>(result) = "FeaturePebbles2"; break; + case 411: std::get<1>(result) = "FeaturePebbles3"; break; + case 412: std::get<1>(result) = "FeaturePebbles4"; break; + case 413: std::get<1>(result) = "MineralWallSmoothRD2"; break; + case 414: std::get<1>(result) = "MineralWallSmoothR2D"; break; + case 415: std::get<1>(result) = "MineralWallSmoothR2U"; break; + case 416: std::get<1>(result) = "MineralWallSmoothRU2"; break; + case 417: std::get<1>(result) = "MineralWallSmoothL2U"; break; + case 418: std::get<1>(result) = "MineralWallSmoothLU2"; break; + case 419: std::get<1>(result) = "MineralWallSmoothL2D"; break; + case 420: std::get<1>(result) = "MineralWallSmoothLD2"; break; + case 421: std::get<1>(result) = "MineralWallSmoothLRUD"; break; + case 422: std::get<1>(result) = "MineralWallSmoothRUD"; break; + case 423: std::get<1>(result) = "MineralWallSmoothLRD"; break; + case 424: std::get<1>(result) = "MineralWallSmoothLRU"; break; + case 425: std::get<1>(result) = "MineralWallSmoothLUD"; break; + case 426: std::get<1>(result) = "MineralWallSmoothRD"; break; + case 427: std::get<1>(result) = "MineralWallSmoothRU"; break; + case 428: std::get<1>(result) = "MineralWallSmoothLU"; break; + case 429: std::get<1>(result) = "MineralWallSmoothLD"; break; + case 430: std::get<1>(result) = "MineralWallSmoothUD"; break; + case 431: std::get<1>(result) = "MineralWallSmoothLR"; break; + case 432: std::get<1>(result) = "MineralFortification"; break; + case 433: std::get<1>(result) = "MineralWallWorn1"; break; + case 434: std::get<1>(result) = "MineralWallWorn2"; break; + case 435: std::get<1>(result) = "MineralWallWorn3"; break; + case 436: std::get<1>(result) = "MineralWall"; break; + case 437: std::get<1>(result) = "MineralFloor1"; break; + case 438: std::get<1>(result) = "MineralFloor2"; break; + case 439: std::get<1>(result) = "MineralFloor3"; break; + case 440: std::get<1>(result) = "MineralFloor4"; break; + case 441: std::get<1>(result) = "MineralBoulder"; break; + case 442: std::get<1>(result) = "MineralPebbles1"; break; + case 443: std::get<1>(result) = "MineralPebbles2"; break; + case 444: std::get<1>(result) = "MineralPebbles3"; break; + case 445: std::get<1>(result) = "MineralPebbles4"; break; + case 446: std::get<1>(result) = "FrozenWallSmoothRD2"; break; + case 447: std::get<1>(result) = "FrozenWallSmoothR2D"; break; + case 448: std::get<1>(result) = "FrozenWallSmoothR2U"; break; + case 449: std::get<1>(result) = "FrozenWallSmoothRU2"; break; + case 450: std::get<1>(result) = "FrozenWallSmoothL2U"; break; + case 451: std::get<1>(result) = "FrozenWallSmoothLU2"; break; + case 452: std::get<1>(result) = "FrozenWallSmoothL2D"; break; + case 453: std::get<1>(result) = "FrozenWallSmoothLD2"; break; + case 454: std::get<1>(result) = "FrozenWallSmoothLRUD"; break; + case 455: std::get<1>(result) = "FrozenWallSmoothRUD"; break; + case 456: std::get<1>(result) = "FrozenWallSmoothLRD"; break; + case 457: std::get<1>(result) = "FrozenWallSmoothLRU"; break; + case 458: std::get<1>(result) = "FrozenWallSmoothLUD"; break; + case 459: std::get<1>(result) = "FrozenWallSmoothRD"; break; + case 460: std::get<1>(result) = "FrozenWallSmoothRU"; break; + case 461: std::get<1>(result) = "FrozenWallSmoothLU"; break; + case 462: std::get<1>(result) = "FrozenWallSmoothLD"; break; + case 463: std::get<1>(result) = "FrozenWallSmoothUD"; break; + case 464: std::get<1>(result) = "FrozenWallSmoothLR"; break; + case 465: std::get<1>(result) = "RiverRampN"; break; + case 466: std::get<1>(result) = "RiverRampS"; break; + case 467: std::get<1>(result) = "RiverRampE"; break; + case 468: std::get<1>(result) = "RiverRampW"; break; + case 469: std::get<1>(result) = "RiverRampNW"; break; + case 470: std::get<1>(result) = "RiverRampNE"; break; + case 471: std::get<1>(result) = "RiverRampSW"; break; + case 472: std::get<1>(result) = "RiverRampSE"; break; + case 473: std::get<1>(result) = "anon_83"; break; + case 474: std::get<1>(result) = "anon_84"; break; + case 475: std::get<1>(result) = "anon_85"; break; + case 476: std::get<1>(result) = "anon_86"; break; + case 477: std::get<1>(result) = "anon_87"; break; + case 478: std::get<1>(result) = "anon_88"; break; + case 479: std::get<1>(result) = "anon_89"; break; + case 480: std::get<1>(result) = "anon_90"; break; + case 481: std::get<1>(result) = "anon_91"; break; + case 482: std::get<1>(result) = "anon_92"; break; + case 483: std::get<1>(result) = "anon_93"; break; + case 484: std::get<1>(result) = "anon_94"; break; + case 485: std::get<1>(result) = "anon_95"; break; + case 486: std::get<1>(result) = "anon_96"; break; + case 487: std::get<1>(result) = "anon_97"; break; + case 488: std::get<1>(result) = "anon_98"; break; + case 489: std::get<1>(result) = "ConstructedFloor"; break; + case 490: std::get<1>(result) = "ConstructedFortification"; break; + case 491: std::get<1>(result) = "ConstructedPillar"; break; + case 492: std::get<1>(result) = "ConstructedWallRD2"; break; + case 493: std::get<1>(result) = "ConstructedWallR2D"; break; + case 494: std::get<1>(result) = "ConstructedWallR2U"; break; + case 495: std::get<1>(result) = "ConstructedWallRU2"; break; + case 496: std::get<1>(result) = "ConstructedWallL2U"; break; + case 497: std::get<1>(result) = "ConstructedWallLU2"; break; + case 498: std::get<1>(result) = "ConstructedWallL2D"; break; + case 499: std::get<1>(result) = "ConstructedWallLD2"; break; + case 500: std::get<1>(result) = "ConstructedWallLRUD"; break; + case 501: std::get<1>(result) = "ConstructedWallRUD"; break; + case 502: std::get<1>(result) = "ConstructedWallLRD"; break; + case 503: std::get<1>(result) = "ConstructedWallLRU"; break; + case 504: std::get<1>(result) = "ConstructedWallLUD"; break; + case 505: std::get<1>(result) = "ConstructedWallRD"; break; + case 506: std::get<1>(result) = "ConstructedWallRU"; break; + case 507: std::get<1>(result) = "ConstructedWallLU"; break; + case 508: std::get<1>(result) = "ConstructedWallLD"; break; + case 509: std::get<1>(result) = "ConstructedWallUD"; break; + case 510: std::get<1>(result) = "ConstructedWallLR"; break; + case 511: std::get<1>(result) = "ConstructedStairUD"; break; + case 512: std::get<1>(result) = "ConstructedStairD"; break; + case 513: std::get<1>(result) = "ConstructedStairU"; break; + case 514: std::get<1>(result) = "ConstructedRamp"; break; + case 515: std::get<1>(result) = "StoneFloorTrackN"; break; + case 516: std::get<1>(result) = "StoneFloorTrackS"; break; + case 517: std::get<1>(result) = "StoneFloorTrackE"; break; + case 518: std::get<1>(result) = "StoneFloorTrackW"; break; + case 519: std::get<1>(result) = "StoneFloorTrackNS"; break; + case 520: std::get<1>(result) = "StoneFloorTrackNE"; break; + case 521: std::get<1>(result) = "StoneFloorTrackNW"; break; + case 522: std::get<1>(result) = "StoneFloorTrackSE"; break; + case 523: std::get<1>(result) = "StoneFloorTrackSW"; break; + case 524: std::get<1>(result) = "StoneFloorTrackEW"; break; + case 525: std::get<1>(result) = "StoneFloorTrackNSE"; break; + case 526: std::get<1>(result) = "StoneFloorTrackNSW"; break; + case 527: std::get<1>(result) = "StoneFloorTrackNEW"; break; + case 528: std::get<1>(result) = "StoneFloorTrackSEW"; break; + case 529: std::get<1>(result) = "StoneFloorTrackNSEW"; break; + case 530: std::get<1>(result) = "LavaFloorTrackN"; break; + case 531: std::get<1>(result) = "LavaFloorTrackS"; break; + case 532: std::get<1>(result) = "LavaFloorTrackE"; break; + case 533: std::get<1>(result) = "LavaFloorTrackW"; break; + case 534: std::get<1>(result) = "LavaFloorTrackNS"; break; + case 535: std::get<1>(result) = "LavaFloorTrackNE"; break; + case 536: std::get<1>(result) = "LavaFloorTrackNW"; break; + case 537: std::get<1>(result) = "LavaFloorTrackSE"; break; + case 538: std::get<1>(result) = "LavaFloorTrackSW"; break; + case 539: std::get<1>(result) = "LavaFloorTrackEW"; break; + case 540: std::get<1>(result) = "LavaFloorTrackNSE"; break; + case 541: std::get<1>(result) = "LavaFloorTrackNSW"; break; + case 542: std::get<1>(result) = "LavaFloorTrackNEW"; break; + case 543: std::get<1>(result) = "LavaFloorTrackSEW"; break; + case 544: std::get<1>(result) = "LavaFloorTrackNSEW"; break; + case 545: std::get<1>(result) = "FeatureFloorTrackN"; break; + case 546: std::get<1>(result) = "FeatureFloorTrackS"; break; + case 547: std::get<1>(result) = "FeatureFloorTrackE"; break; + case 548: std::get<1>(result) = "FeatureFloorTrackW"; break; + case 549: std::get<1>(result) = "FeatureFloorTrackNS"; break; + case 550: std::get<1>(result) = "FeatureFloorTrackNE"; break; + case 551: std::get<1>(result) = "FeatureFloorTrackNW"; break; + case 552: std::get<1>(result) = "FeatureFloorTrackSE"; break; + case 553: std::get<1>(result) = "FeatureFloorTrackSW"; break; + case 554: std::get<1>(result) = "FeatureFloorTrackEW"; break; + case 555: std::get<1>(result) = "FeatureFloorTrackNSE"; break; + case 556: std::get<1>(result) = "FeatureFloorTrackNSW"; break; + case 557: std::get<1>(result) = "FeatureFloorTrackNEW"; break; + case 558: std::get<1>(result) = "FeatureFloorTrackSEW"; break; + case 559: std::get<1>(result) = "FeatureFloorTrackNSEW"; break; + case 560: std::get<1>(result) = "MineralFloorTrackN"; break; + case 561: std::get<1>(result) = "MineralFloorTrackS"; break; + case 562: std::get<1>(result) = "MineralFloorTrackE"; break; + case 563: std::get<1>(result) = "MineralFloorTrackW"; break; + case 564: std::get<1>(result) = "MineralFloorTrackNS"; break; + case 565: std::get<1>(result) = "MineralFloorTrackNE"; break; + case 566: std::get<1>(result) = "MineralFloorTrackNW"; break; + case 567: std::get<1>(result) = "MineralFloorTrackSE"; break; + case 568: std::get<1>(result) = "MineralFloorTrackSW"; break; + case 569: std::get<1>(result) = "MineralFloorTrackEW"; break; + case 570: std::get<1>(result) = "MineralFloorTrackNSE"; break; + case 571: std::get<1>(result) = "MineralFloorTrackNSW"; break; + case 572: std::get<1>(result) = "MineralFloorTrackNEW"; break; + case 573: std::get<1>(result) = "MineralFloorTrackSEW"; break; + case 574: std::get<1>(result) = "MineralFloorTrackNSEW"; break; + case 575: std::get<1>(result) = "FrozenFloorTrackN"; break; + case 576: std::get<1>(result) = "FrozenFloorTrackS"; break; + case 577: std::get<1>(result) = "FrozenFloorTrackE"; break; + case 578: std::get<1>(result) = "FrozenFloorTrackW"; break; + case 579: std::get<1>(result) = "FrozenFloorTrackNS"; break; + case 580: std::get<1>(result) = "FrozenFloorTrackNE"; break; + case 581: std::get<1>(result) = "FrozenFloorTrackNW"; break; + case 582: std::get<1>(result) = "FrozenFloorTrackSE"; break; + case 583: std::get<1>(result) = "FrozenFloorTrackSW"; break; + case 584: std::get<1>(result) = "FrozenFloorTrackEW"; break; + case 585: std::get<1>(result) = "FrozenFloorTrackNSE"; break; + case 586: std::get<1>(result) = "FrozenFloorTrackNSW"; break; + case 587: std::get<1>(result) = "FrozenFloorTrackNEW"; break; + case 588: std::get<1>(result) = "FrozenFloorTrackSEW"; break; + case 589: std::get<1>(result) = "FrozenFloorTrackNSEW"; break; + case 590: std::get<1>(result) = "ConstructedFloorTrackN"; break; + case 591: std::get<1>(result) = "ConstructedFloorTrackS"; break; + case 592: std::get<1>(result) = "ConstructedFloorTrackE"; break; + case 593: std::get<1>(result) = "ConstructedFloorTrackW"; break; + case 594: std::get<1>(result) = "ConstructedFloorTrackNS"; break; + case 595: std::get<1>(result) = "ConstructedFloorTrackNE"; break; + case 596: std::get<1>(result) = "ConstructedFloorTrackNW"; break; + case 597: std::get<1>(result) = "ConstructedFloorTrackSE"; break; + case 598: std::get<1>(result) = "ConstructedFloorTrackSW"; break; + case 599: std::get<1>(result) = "ConstructedFloorTrackEW"; break; + case 600: std::get<1>(result) = "ConstructedFloorTrackNSE"; break; + case 601: std::get<1>(result) = "ConstructedFloorTrackNSW"; break; + case 602: std::get<1>(result) = "ConstructedFloorTrackNEW"; break; + case 603: std::get<1>(result) = "ConstructedFloorTrackSEW"; break; + case 604: std::get<1>(result) = "ConstructedFloorTrackNSEW"; break; + case 605: std::get<1>(result) = "StoneRampTrackN"; break; + case 606: std::get<1>(result) = "StoneRampTrackS"; break; + case 607: std::get<1>(result) = "StoneRampTrackE"; break; + case 608: std::get<1>(result) = "StoneRampTrackW"; break; + case 609: std::get<1>(result) = "StoneRampTrackNS"; break; + case 610: std::get<1>(result) = "StoneRampTrackNE"; break; + case 611: std::get<1>(result) = "StoneRampTrackNW"; break; + case 612: std::get<1>(result) = "StoneRampTrackSE"; break; + case 613: std::get<1>(result) = "StoneRampTrackSW"; break; + case 614: std::get<1>(result) = "StoneRampTrackEW"; break; + case 615: std::get<1>(result) = "StoneRampTrackNSE"; break; + case 616: std::get<1>(result) = "StoneRampTrackNSW"; break; + case 617: std::get<1>(result) = "StoneRampTrackNEW"; break; + case 618: std::get<1>(result) = "StoneRampTrackSEW"; break; + case 619: std::get<1>(result) = "StoneRampTrackNSEW"; break; + case 620: std::get<1>(result) = "LavaRampTrackN"; break; + case 621: std::get<1>(result) = "LavaRampTrackS"; break; + case 622: std::get<1>(result) = "LavaRampTrackE"; break; + case 623: std::get<1>(result) = "LavaRampTrackW"; break; + case 624: std::get<1>(result) = "LavaRampTrackNS"; break; + case 625: std::get<1>(result) = "LavaRampTrackNE"; break; + case 626: std::get<1>(result) = "LavaRampTrackNW"; break; + case 627: std::get<1>(result) = "LavaRampTrackSE"; break; + case 628: std::get<1>(result) = "LavaRampTrackSW"; break; + case 629: std::get<1>(result) = "LavaRampTrackEW"; break; + case 630: std::get<1>(result) = "LavaRampTrackNSE"; break; + case 631: std::get<1>(result) = "LavaRampTrackNSW"; break; + case 632: std::get<1>(result) = "LavaRampTrackNEW"; break; + case 633: std::get<1>(result) = "LavaRampTrackSEW"; break; + case 634: std::get<1>(result) = "LavaRampTrackNSEW"; break; + case 635: std::get<1>(result) = "FeatureRampTrackN"; break; + case 636: std::get<1>(result) = "FeatureRampTrackS"; break; + case 637: std::get<1>(result) = "FeatureRampTrackE"; break; + case 638: std::get<1>(result) = "FeatureRampTrackW"; break; + case 639: std::get<1>(result) = "FeatureRampTrackNS"; break; + case 640: std::get<1>(result) = "FeatureRampTrackNE"; break; + case 641: std::get<1>(result) = "FeatureRampTrackNW"; break; + case 642: std::get<1>(result) = "FeatureRampTrackSE"; break; + case 643: std::get<1>(result) = "FeatureRampTrackSW"; break; + case 644: std::get<1>(result) = "FeatureRampTrackEW"; break; + case 645: std::get<1>(result) = "FeatureRampTrackNSE"; break; + case 646: std::get<1>(result) = "FeatureRampTrackNSW"; break; + case 647: std::get<1>(result) = "FeatureRampTrackNEW"; break; + case 648: std::get<1>(result) = "FeatureRampTrackSEW"; break; + case 649: std::get<1>(result) = "FeatureRampTrackNSEW"; break; + case 650: std::get<1>(result) = "MineralRampTrackN"; break; + case 651: std::get<1>(result) = "MineralRampTrackS"; break; + case 652: std::get<1>(result) = "MineralRampTrackE"; break; + case 653: std::get<1>(result) = "MineralRampTrackW"; break; + case 654: std::get<1>(result) = "MineralRampTrackNS"; break; + case 655: std::get<1>(result) = "MineralRampTrackNE"; break; + case 656: std::get<1>(result) = "MineralRampTrackNW"; break; + case 657: std::get<1>(result) = "MineralRampTrackSE"; break; + case 658: std::get<1>(result) = "MineralRampTrackSW"; break; + case 659: std::get<1>(result) = "MineralRampTrackEW"; break; + case 660: std::get<1>(result) = "MineralRampTrackNSE"; break; + case 661: std::get<1>(result) = "MineralRampTrackNSW"; break; + case 662: std::get<1>(result) = "MineralRampTrackNEW"; break; + case 663: std::get<1>(result) = "MineralRampTrackSEW"; break; + case 664: std::get<1>(result) = "MineralRampTrackNSEW"; break; + case 665: std::get<1>(result) = "FrozenRampTrackN"; break; + case 666: std::get<1>(result) = "FrozenRampTrackS"; break; + case 667: std::get<1>(result) = "FrozenRampTrackE"; break; + case 668: std::get<1>(result) = "FrozenRampTrackW"; break; + case 669: std::get<1>(result) = "FrozenRampTrackNS"; break; + case 670: std::get<1>(result) = "FrozenRampTrackNE"; break; + case 671: std::get<1>(result) = "FrozenRampTrackNW"; break; + case 672: std::get<1>(result) = "FrozenRampTrackSE"; break; + case 673: std::get<1>(result) = "FrozenRampTrackSW"; break; + case 674: std::get<1>(result) = "FrozenRampTrackEW"; break; + case 675: std::get<1>(result) = "FrozenRampTrackNSE"; break; + case 676: std::get<1>(result) = "FrozenRampTrackNSW"; break; + case 677: std::get<1>(result) = "FrozenRampTrackNEW"; break; + case 678: std::get<1>(result) = "FrozenRampTrackSEW"; break; + case 679: std::get<1>(result) = "FrozenRampTrackNSEW"; break; + case 680: std::get<1>(result) = "ConstructedRampTrackN"; break; + case 681: std::get<1>(result) = "ConstructedRampTrackS"; break; + case 682: std::get<1>(result) = "ConstructedRampTrackE"; break; + case 683: std::get<1>(result) = "ConstructedRampTrackW"; break; + case 684: std::get<1>(result) = "ConstructedRampTrackNS"; break; + case 685: std::get<1>(result) = "ConstructedRampTrackNE"; break; + case 686: std::get<1>(result) = "ConstructedRampTrackNW"; break; + case 687: std::get<1>(result) = "ConstructedRampTrackSE"; break; + case 688: std::get<1>(result) = "ConstructedRampTrackSW"; break; + case 689: std::get<1>(result) = "ConstructedRampTrackEW"; break; + case 690: std::get<1>(result) = "ConstructedRampTrackNSE"; break; + case 691: std::get<1>(result) = "ConstructedRampTrackNSW"; break; + case 692: std::get<1>(result) = "ConstructedRampTrackNEW"; break; + case 693: std::get<1>(result) = "ConstructedRampTrackSEW"; break; + case 694: std::get<1>(result) = "ConstructedRampTrackNSEW"; break; + default: break; + } + return result; +} + +std::tuple get_build_req_choice_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "General"; break; + case 1: std::get<1>(result) = "Specific"; break; + default: break; + } + return result; +} + +std::tuple get_ui_hotkey__T_cmd_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case -1: std::get<1>(result) = "None"; break; + case 0: std::get<1>(result) = "Zoom"; break; + case 1: std::get<1>(result) = "FollowUnit"; break; + case 2: std::get<1>(result) = "FollowItem"; break; + default: break; + } + return result; +} + +std::tuple get_ui_sidebar_mode_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Default"; break; + case 1: std::get<1>(result) = "Squads"; break; + case 2: std::get<1>(result) = "DesignateMine"; break; + case 3: std::get<1>(result) = "DesignateRemoveRamps"; break; + case 4: std::get<1>(result) = "DesignateUpStair"; break; + case 5: std::get<1>(result) = "DesignateDownStair"; break; + case 6: std::get<1>(result) = "DesignateUpDownStair"; break; + case 7: std::get<1>(result) = "DesignateUpRamp"; break; + case 8: std::get<1>(result) = "DesignateChannel"; break; + case 9: std::get<1>(result) = "DesignateGatherPlants"; break; + case 10: std::get<1>(result) = "DesignateRemoveDesignation"; break; + case 11: std::get<1>(result) = "DesignateSmooth"; break; + case 12: std::get<1>(result) = "DesignateCarveTrack"; break; + case 13: std::get<1>(result) = "DesignateEngrave"; break; + case 14: std::get<1>(result) = "DesignateCarveFortification"; break; + case 15: std::get<1>(result) = "Stockpiles"; break; + case 16: std::get<1>(result) = "Build"; break; + case 17: std::get<1>(result) = "QueryBuilding"; break; + case 18: std::get<1>(result) = "Orders"; break; + case 19: std::get<1>(result) = "OrdersForbid"; break; + case 20: std::get<1>(result) = "OrdersRefuse"; break; + case 21: std::get<1>(result) = "OrdersWorkshop"; break; + case 22: std::get<1>(result) = "OrdersZone"; break; + case 23: std::get<1>(result) = "BuildingItems"; break; + case 24: std::get<1>(result) = "ViewUnits"; break; + case 25: std::get<1>(result) = "LookAround"; break; + case 26: std::get<1>(result) = "DesignateItemsClaim"; break; + case 27: std::get<1>(result) = "DesignateItemsForbid"; break; + case 28: std::get<1>(result) = "DesignateItemsMelt"; break; + case 29: std::get<1>(result) = "DesignateItemsUnmelt"; break; + case 30: std::get<1>(result) = "DesignateItemsDump"; break; + case 31: std::get<1>(result) = "DesignateItemsUndump"; break; + case 32: std::get<1>(result) = "DesignateItemsHide"; break; + case 33: std::get<1>(result) = "DesignateItemsUnhide"; break; + case 34: std::get<1>(result) = "DesignateChopTrees"; break; + case 35: std::get<1>(result) = "DesignateToggleEngravings"; break; + case 36: std::get<1>(result) = "DesignateToggleMarker"; break; + case 37: std::get<1>(result) = "Hotkeys"; break; + case 38: std::get<1>(result) = "DesignateTrafficHigh"; break; + case 39: std::get<1>(result) = "DesignateTrafficNormal"; break; + case 40: std::get<1>(result) = "DesignateTrafficLow"; break; + case 41: std::get<1>(result) = "DesignateTrafficRestricted"; break; + case 42: std::get<1>(result) = "Zones"; break; + case 43: std::get<1>(result) = "ZonesPenInfo"; break; + case 44: std::get<1>(result) = "ZonesPitInfo"; break; + case 45: std::get<1>(result) = "ZonesHospitalInfo"; break; + case 46: std::get<1>(result) = "ZonesGatherInfo"; break; + case 47: std::get<1>(result) = "DesignateRemoveConstruction"; break; + case 48: std::get<1>(result) = "DepotAccess"; break; + case 49: std::get<1>(result) = "NotesPoints"; break; + case 50: std::get<1>(result) = "NotesRoutes"; break; + case 51: std::get<1>(result) = "Burrows"; break; + case 52: std::get<1>(result) = "Hauling"; break; + case 53: std::get<1>(result) = "ArenaWeather"; break; + case 54: std::get<1>(result) = "ArenaTrees"; break; + default: break; + } + return result; +} + +std::tuple get_kitchen_exc_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 1: std::get<1>(result) = "Cook"; break; + case 2: std::get<1>(result) = "Brew"; break; + default: break; + } + return result; +} + +std::tuple get_timed_event_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Caravan"; break; + case 1: std::get<1>(result) = "Migrants"; break; + case 2: std::get<1>(result) = "Diplomat"; break; + case 3: std::get<1>(result) = "FeatureAttack"; std::get<2>(result) = "unused, does nothing"; break; + case 4: std::get<1>(result) = "Megabeast"; break; + case 5: std::get<1>(result) = "WildlifeCurious"; break; + case 6: std::get<1>(result) = "WildlifeMischievous"; break; + case 7: std::get<1>(result) = "WildlifeFlier"; break; + case 8: std::get<1>(result) = "NightCreature"; break; + default: break; + } + return result; +} + +std::tuple get_emotion_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case -1: std::get<1>(result) = "ANYTHING"; break; + case 0: std::get<1>(result) = "ACCEPTANCE"; break; + case 1: std::get<1>(result) = "ADORATION"; break; + case 2: std::get<1>(result) = "AFFECTION"; break; + case 3: std::get<1>(result) = "AGITATION"; break; + case 4: std::get<1>(result) = "AGGRAVATION"; break; + case 5: std::get<1>(result) = "AGONY"; break; + case 6: std::get<1>(result) = "ALARM"; break; + case 7: std::get<1>(result) = "ALIENATION"; break; + case 8: std::get<1>(result) = "AMAZEMENT"; break; + case 9: std::get<1>(result) = "AMBIVALENCE"; break; + case 10: std::get<1>(result) = "AMUSEMENT"; break; + case 11: std::get<1>(result) = "ANGER"; break; + case 12: std::get<1>(result) = "ANGST"; break; + case 13: std::get<1>(result) = "ANGUISH"; break; + case 14: std::get<1>(result) = "ANNOYANCE"; break; + case 15: std::get<1>(result) = "anon_1"; break; + case 16: std::get<1>(result) = "ANXIETY"; break; + case 17: std::get<1>(result) = "APATHY"; break; + case 18: std::get<1>(result) = "anon_2"; break; + case 19: std::get<1>(result) = "AROUSAL"; break; + case 20: std::get<1>(result) = "ASTONISHMENT"; break; + case 21: std::get<1>(result) = "anon_3"; break; + case 22: std::get<1>(result) = "AVERSION"; break; + case 23: std::get<1>(result) = "AWE"; break; + case 24: std::get<1>(result) = "BITTERNESS"; break; + case 25: std::get<1>(result) = "BLISS"; break; + case 26: std::get<1>(result) = "BOREDOM"; break; + case 27: std::get<1>(result) = "CARING"; break; + case 28: std::get<1>(result) = "anon_4"; break; + case 29: std::get<1>(result) = "CONFUSION"; break; + case 30: std::get<1>(result) = "CONTEMPT"; break; + case 31: std::get<1>(result) = "CONTENTMENT"; break; + case 32: std::get<1>(result) = "anon_5"; break; + case 33: std::get<1>(result) = "anon_6"; break; + case 34: std::get<1>(result) = "DEFEAT"; break; + case 35: std::get<1>(result) = "DEJECTION"; break; + case 36: std::get<1>(result) = "DELIGHT"; break; + case 37: std::get<1>(result) = "anon_7"; break; + case 38: std::get<1>(result) = "anon_8"; break; + case 39: std::get<1>(result) = "DESPAIR"; break; + case 40: std::get<1>(result) = "DISAPPOINTMENT"; break; + case 41: std::get<1>(result) = "DISGUST"; break; + case 42: std::get<1>(result) = "DISILLUSIONMENT"; break; + case 43: std::get<1>(result) = "DISLIKE"; break; + case 44: std::get<1>(result) = "DISMAY"; break; + case 45: std::get<1>(result) = "DISPLEASURE"; break; + case 46: std::get<1>(result) = "DISTRESS"; break; + case 47: std::get<1>(result) = "DOUBT"; break; + case 48: std::get<1>(result) = "anon_9"; break; + case 49: std::get<1>(result) = "EAGERNESS"; break; + case 50: std::get<1>(result) = "anon_10"; break; + case 51: std::get<1>(result) = "ELATION"; break; + case 52: std::get<1>(result) = "EMBARRASSMENT"; break; + case 53: std::get<1>(result) = "EMPATHY"; break; + case 54: std::get<1>(result) = "EMPTINESS"; break; + case 55: std::get<1>(result) = "ENJOYMENT"; break; + case 56: std::get<1>(result) = "anon_11"; break; + case 57: std::get<1>(result) = "ENTHUSIASM"; break; + case 58: std::get<1>(result) = "anon_12"; break; + case 59: std::get<1>(result) = "EUPHORIA"; break; + case 60: std::get<1>(result) = "EXASPERATION"; break; + case 61: std::get<1>(result) = "EXCITEMENT"; break; + case 62: std::get<1>(result) = "EXHILARATION"; break; + case 63: std::get<1>(result) = "EXPECTANCY"; break; + case 64: std::get<1>(result) = "FEAR"; break; + case 65: std::get<1>(result) = "FEROCITY"; break; + case 66: std::get<1>(result) = "FONDNESS"; break; + case 67: std::get<1>(result) = "FREEDOM"; break; + case 68: std::get<1>(result) = "FRIGHT"; break; + case 69: std::get<1>(result) = "FRUSTRATION"; break; + case 70: std::get<1>(result) = "anon_13"; break; + case 71: std::get<1>(result) = "GAIETY"; break; + case 72: std::get<1>(result) = "anon_14"; break; + case 73: std::get<1>(result) = "GLEE"; break; + case 74: std::get<1>(result) = "GLOOM"; break; + case 75: std::get<1>(result) = "GLUMNESS"; break; + case 76: std::get<1>(result) = "GRATITUDE"; break; + case 77: std::get<1>(result) = "anon_15"; break; + case 78: std::get<1>(result) = "GRIEF"; break; + case 79: std::get<1>(result) = "GRIM_SATISFACTION"; break; + case 80: std::get<1>(result) = "GROUCHINESS"; break; + case 81: std::get<1>(result) = "GRUMPINESS"; break; + case 82: std::get<1>(result) = "GUILT"; break; + case 83: std::get<1>(result) = "HAPPINESS"; break; + case 84: std::get<1>(result) = "HATRED"; break; + case 85: std::get<1>(result) = "anon_16"; break; + case 86: std::get<1>(result) = "HOPE"; break; + case 87: std::get<1>(result) = "HOPELESSNESS"; break; + case 88: std::get<1>(result) = "HORROR"; break; + case 89: std::get<1>(result) = "anon_17"; break; + case 90: std::get<1>(result) = "HUMILIATION"; break; + case 91: std::get<1>(result) = "anon_18"; break; + case 92: std::get<1>(result) = "anon_19"; break; + case 93: std::get<1>(result) = "anon_20"; break; + case 94: std::get<1>(result) = "anon_21"; break; + case 95: std::get<1>(result) = "INSULT"; break; + case 96: std::get<1>(result) = "INTEREST"; break; + case 97: std::get<1>(result) = "IRRITATION"; break; + case 98: std::get<1>(result) = "ISOLATION"; break; + case 99: std::get<1>(result) = "anon_22"; break; + case 100: std::get<1>(result) = "JOLLINESS"; break; + case 101: std::get<1>(result) = "JOVIALITY"; break; + case 102: std::get<1>(result) = "JOY"; break; + case 103: std::get<1>(result) = "JUBILATION"; break; + case 104: std::get<1>(result) = "anon_23"; break; + case 105: std::get<1>(result) = "LOATHING"; break; + case 106: std::get<1>(result) = "LONELINESS"; break; + case 107: std::get<1>(result) = "anon_24"; break; + case 108: std::get<1>(result) = "LOVE"; break; + case 109: std::get<1>(result) = "anon_25"; break; + case 110: std::get<1>(result) = "LUST"; break; + case 111: std::get<1>(result) = "anon_26"; break; + case 112: std::get<1>(result) = "MISERY"; break; + case 113: std::get<1>(result) = "MORTIFICATION"; break; + case 114: std::get<1>(result) = "anon_27"; break; + case 115: std::get<1>(result) = "NERVOUSNESS"; break; + case 116: std::get<1>(result) = "NOSTALGIA"; break; + case 117: std::get<1>(result) = "OPTIMISM"; break; + case 118: std::get<1>(result) = "OUTRAGE"; break; + case 119: std::get<1>(result) = "PANIC"; break; + case 120: std::get<1>(result) = "PATIENCE"; break; + case 121: std::get<1>(result) = "PASSION"; break; + case 122: std::get<1>(result) = "PESSIMISM"; break; + case 123: std::get<1>(result) = "anon_28"; break; + case 124: std::get<1>(result) = "PLEASURE"; break; + case 125: std::get<1>(result) = "PRIDE"; break; + case 126: std::get<1>(result) = "RAGE"; break; + case 127: std::get<1>(result) = "RAPTURE"; break; + case 128: std::get<1>(result) = "REJECTION"; break; + case 129: std::get<1>(result) = "RELIEF"; break; + case 130: std::get<1>(result) = "REGRET"; break; + case 131: std::get<1>(result) = "REMORSE"; break; + case 132: std::get<1>(result) = "REPENTANCE"; break; + case 133: std::get<1>(result) = "RESENTMENT"; break; + case 134: std::get<1>(result) = "anon_29"; break; + case 135: std::get<1>(result) = "RIGHTEOUS_INDIGNATION"; break; + case 136: std::get<1>(result) = "SADNESS"; break; + case 137: std::get<1>(result) = "SATISFACTION"; break; + case 138: std::get<1>(result) = "anon_30"; break; + case 139: std::get<1>(result) = "SELF_PITY"; break; + case 140: std::get<1>(result) = "anon_31"; break; + case 141: std::get<1>(result) = "SERVILE"; break; + case 142: std::get<1>(result) = "SHAKEN"; break; + case 143: std::get<1>(result) = "SHAME"; break; + case 144: std::get<1>(result) = "SHOCK"; break; + case 145: std::get<1>(result) = "anon_32"; break; + case 146: std::get<1>(result) = "anon_33"; break; + case 147: std::get<1>(result) = "anon_34"; break; + case 148: std::get<1>(result) = "anon_35"; break; + case 149: std::get<1>(result) = "SUSPICION"; break; + case 150: std::get<1>(result) = "SYMPATHY"; break; + case 151: std::get<1>(result) = "TENDERNESS"; break; + case 152: std::get<1>(result) = "anon_36"; break; + case 153: std::get<1>(result) = "TERROR"; break; + case 154: std::get<1>(result) = "THRILL"; break; + case 155: std::get<1>(result) = "anon_37"; break; + case 156: std::get<1>(result) = "TRIUMPH"; break; + case 157: std::get<1>(result) = "UNEASINESS"; break; + case 158: std::get<1>(result) = "UNHAPPINESS"; break; + case 159: std::get<1>(result) = "VENGEFULNESS"; break; + case 160: std::get<1>(result) = "anon_38"; break; + case 161: std::get<1>(result) = "WONDER"; break; + case 162: std::get<1>(result) = "WORRY"; break; + case 163: std::get<1>(result) = "WRATH"; break; + case 164: std::get<1>(result) = "ZEAL"; break; + case 165: std::get<1>(result) = "anon_39"; break; + case 166: std::get<1>(result) = "anon_40"; break; + case 167: std::get<1>(result) = "anon_41"; break; + case 168: std::get<1>(result) = "RESTLESS"; break; + case 169: std::get<1>(result) = "ADMIRATION"; break; + default: break; + } + return result; +} + +std::tuple get_unit_thought_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case -1: std::get<1>(result) = "None"; break; + case 0: std::get<1>(result) = "Conflict"; break; + case 1: std::get<1>(result) = "Trauma"; break; + case 2: std::get<1>(result) = "WitnessDeath"; break; + case 3: std::get<1>(result) = "UnexpectedDeath"; break; + case 4: std::get<1>(result) = "Death"; break; + case 5: std::get<1>(result) = "Kill"; break; + case 6: std::get<1>(result) = "LoveSeparated"; break; + case 7: std::get<1>(result) = "LoveReunited"; break; + case 8: std::get<1>(result) = "JoinConflict"; break; + case 9: std::get<1>(result) = "MakeMasterwork"; break; + case 10: std::get<1>(result) = "MadeArtifact"; break; + case 11: std::get<1>(result) = "MasterSkill"; break; + case 12: std::get<1>(result) = "NewRomance"; break; + case 13: std::get<1>(result) = "BecomeParent"; break; + case 14: std::get<1>(result) = "NearConflict"; break; + case 15: std::get<1>(result) = "CancelAgreement"; break; + case 16: std::get<1>(result) = "JoinTravel"; break; + case 17: std::get<1>(result) = "SiteControlled"; break; + case 18: std::get<1>(result) = "TributeCancel"; break; + case 19: std::get<1>(result) = "Incident"; break; + case 20: std::get<1>(result) = "HearRumor"; break; + case 21: std::get<1>(result) = "MilitaryRemoved"; break; + case 22: std::get<1>(result) = "StrangerWeapon"; break; + case 23: std::get<1>(result) = "StrangerSneaking"; break; + case 24: std::get<1>(result) = "SawDrinkBlood"; break; + case 25: std::get<1>(result) = "Complained"; break; + case 26: std::get<1>(result) = "ReceivedComplaint"; break; + case 27: std::get<1>(result) = "AdmireBuilding"; break; + case 28: std::get<1>(result) = "AdmireOwnBuilding"; break; + case 29: std::get<1>(result) = "AdmireArrangedBuilding"; break; + case 30: std::get<1>(result) = "AdmireOwnArrangedBuilding"; break; + case 31: std::get<1>(result) = "LostPet"; break; + case 32: std::get<1>(result) = "ThrownStuff"; break; + case 33: std::get<1>(result) = "JailReleased"; break; + case 34: std::get<1>(result) = "Miscarriage"; break; + case 35: std::get<1>(result) = "SpouseMiscarriage"; break; + case 36: std::get<1>(result) = "OldClothing"; break; + case 37: std::get<1>(result) = "TatteredClothing"; break; + case 38: std::get<1>(result) = "RottedClothing"; break; + case 39: std::get<1>(result) = "GhostNightmare"; break; + case 40: std::get<1>(result) = "GhostHaunt"; break; + case 41: std::get<1>(result) = "Spar"; break; + case 42: std::get<1>(result) = "UnableComplain"; break; + case 43: std::get<1>(result) = "LongPatrol"; break; + case 44: std::get<1>(result) = "SunNausea"; break; + case 45: std::get<1>(result) = "SunIrritated"; break; + case 46: std::get<1>(result) = "Drowsy"; break; + case 47: std::get<1>(result) = "VeryDrowsy"; break; + case 48: std::get<1>(result) = "Thirsty"; break; + case 49: std::get<1>(result) = "Dehydrated"; break; + case 50: std::get<1>(result) = "Hungry"; break; + case 51: std::get<1>(result) = "Starving"; break; + case 52: std::get<1>(result) = "MajorInjuries"; break; + case 53: std::get<1>(result) = "MinorInjuries"; break; + case 54: std::get<1>(result) = "SleepNoise"; break; + case 55: std::get<1>(result) = "Rest"; break; + case 56: std::get<1>(result) = "FreakishWeather"; break; + case 57: std::get<1>(result) = "Rain"; break; + case 58: std::get<1>(result) = "SnowStorm"; break; + case 59: std::get<1>(result) = "Miasma"; break; + case 60: std::get<1>(result) = "Smoke"; break; + case 61: std::get<1>(result) = "Waterfall"; break; + case 62: std::get<1>(result) = "Dust"; break; + case 63: std::get<1>(result) = "Demands"; break; + case 64: std::get<1>(result) = "ImproperPunishment"; break; + case 65: std::get<1>(result) = "PunishmentReduced"; break; + case 66: std::get<1>(result) = "Elected"; break; + case 67: std::get<1>(result) = "Reelected"; break; + case 68: std::get<1>(result) = "RequestApproved"; break; + case 69: std::get<1>(result) = "RequestIgnored"; break; + case 70: std::get<1>(result) = "NoPunishment"; break; + case 71: std::get<1>(result) = "PunishmentDelayed"; break; + case 72: std::get<1>(result) = "DelayedPunishment"; break; + case 73: std::get<1>(result) = "ScarceCageChain"; break; + case 74: std::get<1>(result) = "MandateIgnored"; break; + case 75: std::get<1>(result) = "MandateDeadlineMissed"; break; + case 76: std::get<1>(result) = "LackWork"; break; + case 77: std::get<1>(result) = "SmashedBuilding"; break; + case 78: std::get<1>(result) = "ToppledStuff"; break; + case 79: std::get<1>(result) = "NoblePromotion"; break; + case 80: std::get<1>(result) = "BecomeNoble"; break; + case 81: std::get<1>(result) = "Cavein"; break; + case 82: std::get<1>(result) = "MandateDeadlineMet"; break; + case 83: std::get<1>(result) = "Uncovered"; break; + case 84: std::get<1>(result) = "NoShirt"; break; + case 85: std::get<1>(result) = "NoShoes"; break; + case 86: std::get<1>(result) = "EatPet"; break; + case 87: std::get<1>(result) = "EatLikedCreature"; break; + case 88: std::get<1>(result) = "EatVermin"; break; + case 89: std::get<1>(result) = "FistFight"; break; + case 90: std::get<1>(result) = "GaveBeating"; break; + case 91: std::get<1>(result) = "GotBeaten"; break; + case 92: std::get<1>(result) = "GaveHammering"; break; + case 93: std::get<1>(result) = "GotHammered"; break; + case 94: std::get<1>(result) = "NoHammer"; break; + case 95: std::get<1>(result) = "SameFood"; break; + case 96: std::get<1>(result) = "AteRotten"; break; + case 97: std::get<1>(result) = "GoodMeal"; break; + case 98: std::get<1>(result) = "GoodDrink"; break; + case 99: std::get<1>(result) = "MoreChests"; break; + case 100: std::get<1>(result) = "MoreCabinets"; break; + case 101: std::get<1>(result) = "MoreWeaponRacks"; break; + case 102: std::get<1>(result) = "MoreArmorStands"; break; + case 103: std::get<1>(result) = "RoomPretension"; break; + case 104: std::get<1>(result) = "LackTables"; break; + case 105: std::get<1>(result) = "CrowdedTables"; break; + case 106: std::get<1>(result) = "DiningQuality"; break; + case 107: std::get<1>(result) = "NoDining"; break; + case 108: std::get<1>(result) = "LackChairs"; break; + case 109: std::get<1>(result) = "TrainingBond"; break; + case 110: std::get<1>(result) = "Rescued"; break; + case 111: std::get<1>(result) = "RescuedOther"; break; + case 112: std::get<1>(result) = "SatisfiedAtWork"; break; + case 113: std::get<1>(result) = "TaxedLostProperty"; break; + case 114: std::get<1>(result) = "Taxed"; break; + case 115: std::get<1>(result) = "LackProtection"; break; + case 116: std::get<1>(result) = "TaxRoomUnreachable"; break; + case 117: std::get<1>(result) = "TaxRoomMisinformed"; break; + case 118: std::get<1>(result) = "PleasedNoble"; break; + case 119: std::get<1>(result) = "TaxCollectionSmooth"; break; + case 120: std::get<1>(result) = "DisappointedNoble"; break; + case 121: std::get<1>(result) = "TaxCollectionRough"; break; + case 122: std::get<1>(result) = "MadeFriend"; break; + case 123: std::get<1>(result) = "FormedGrudge"; break; + case 124: std::get<1>(result) = "AnnoyedVermin"; break; + case 125: std::get<1>(result) = "NearVermin"; break; + case 126: std::get<1>(result) = "PesteredVermin"; break; + case 127: std::get<1>(result) = "AcquiredItem"; break; + case 128: std::get<1>(result) = "AdoptedPet"; break; + case 129: std::get<1>(result) = "Jailed"; break; + case 130: std::get<1>(result) = "Bath"; break; + case 131: std::get<1>(result) = "SoapyBath"; break; + case 132: std::get<1>(result) = "SparringAccident"; break; + case 133: std::get<1>(result) = "Attacked"; break; + case 134: std::get<1>(result) = "AttackedByDead"; break; + case 135: std::get<1>(result) = "SameBooze"; break; + case 136: std::get<1>(result) = "DrinkBlood"; break; + case 137: std::get<1>(result) = "DrinkSlime"; break; + case 138: std::get<1>(result) = "DrinkVomit"; break; + case 139: std::get<1>(result) = "DrinkGoo"; break; + case 140: std::get<1>(result) = "DrinkIchor"; break; + case 141: std::get<1>(result) = "DrinkPus"; break; + case 142: std::get<1>(result) = "NastyWater"; break; + case 143: std::get<1>(result) = "DrankSpoiled"; break; + case 144: std::get<1>(result) = "LackWell"; break; + case 145: std::get<1>(result) = "NearCaged"; break; + case 146: std::get<1>(result) = "NearCagedHated"; break; + case 147: std::get<1>(result) = "LackBedroom"; break; + case 148: std::get<1>(result) = "BedroomQuality"; break; + case 149: std::get<1>(result) = "SleptFloor"; break; + case 150: std::get<1>(result) = "SleptMud"; break; + case 151: std::get<1>(result) = "SleptGrass"; break; + case 152: std::get<1>(result) = "SleptRoughFloor"; break; + case 153: std::get<1>(result) = "SleptRocks"; break; + case 154: std::get<1>(result) = "SleptIce"; break; + case 155: std::get<1>(result) = "SleptDirt"; break; + case 156: std::get<1>(result) = "SleptDriftwood"; break; + case 157: std::get<1>(result) = "ArtDefacement"; break; + case 158: std::get<1>(result) = "Evicted"; break; + case 159: std::get<1>(result) = "GaveBirth"; break; + case 160: std::get<1>(result) = "SpouseGaveBirth"; break; + case 161: std::get<1>(result) = "ReceivedWater"; break; + case 162: std::get<1>(result) = "GaveWater"; break; + case 163: std::get<1>(result) = "ReceivedFood"; break; + case 164: std::get<1>(result) = "GaveFood"; break; + case 165: std::get<1>(result) = "Talked"; break; + case 166: std::get<1>(result) = "OfficeQuality"; break; + case 167: std::get<1>(result) = "MeetingInBedroom"; break; + case 168: std::get<1>(result) = "MeetingInDiningRoom"; break; + case 169: std::get<1>(result) = "NoRooms"; break; + case 170: std::get<1>(result) = "TombQuality"; break; + case 171: std::get<1>(result) = "TombLack"; break; + case 172: std::get<1>(result) = "TalkToNoble"; break; + case 173: std::get<1>(result) = "InteractPet"; break; + case 174: std::get<1>(result) = "ConvictionCorpse"; break; + case 175: std::get<1>(result) = "ConvictionAnimal"; break; + case 176: std::get<1>(result) = "ConvictionVictim"; break; + case 177: std::get<1>(result) = "ConvictionJusticeSelf"; break; + case 178: std::get<1>(result) = "ConvictionJusticeFamily"; break; + case 179: std::get<1>(result) = "Decay"; break; + case 180: std::get<1>(result) = "NeedsUnfulfilled"; break; + case 181: std::get<1>(result) = "Prayer"; break; + case 182: std::get<1>(result) = "DrinkWithoutCup"; break; + case 183: std::get<1>(result) = "ResearchBreakthrough"; break; + case 184: std::get<1>(result) = "ResearchStalled"; break; + case 185: std::get<1>(result) = "PonderTopic"; break; + case 186: std::get<1>(result) = "DiscussTopic"; break; + case 187: std::get<1>(result) = "Syndrome"; break; + case 188: std::get<1>(result) = "Perform"; break; + case 189: std::get<1>(result) = "WatchPerform"; break; + case 190: std::get<1>(result) = "RemoveTroupe"; break; + case 191: std::get<1>(result) = "LearnTopic"; break; + case 192: std::get<1>(result) = "LearnSkill"; break; + case 193: std::get<1>(result) = "LearnBook"; break; + case 194: std::get<1>(result) = "LearnInteraction"; break; + case 195: std::get<1>(result) = "LearnPoetry"; break; + case 196: std::get<1>(result) = "LearnMusic"; break; + case 197: std::get<1>(result) = "LearnDance"; break; + case 198: std::get<1>(result) = "TeachTopic"; break; + case 199: std::get<1>(result) = "TeachSkill"; break; + case 200: std::get<1>(result) = "ReadBook"; break; + case 201: std::get<1>(result) = "WriteBook"; break; + case 202: std::get<1>(result) = "BecomeResident"; break; + case 203: std::get<1>(result) = "BecomeCitizen"; break; + case 204: std::get<1>(result) = "DenyResident"; break; + case 205: std::get<1>(result) = "DenyCitizen"; break; + case 206: std::get<1>(result) = "LeaveTroupe"; break; + case 207: std::get<1>(result) = "MakeBelieve"; break; + case 208: std::get<1>(result) = "PlayToy"; break; + case 209: std::get<1>(result) = "DreamAbout"; break; + case 210: std::get<1>(result) = "Dream"; break; + case 211: std::get<1>(result) = "Nightmare"; break; + case 212: std::get<1>(result) = "Argument"; break; + case 213: std::get<1>(result) = "CombatDrills"; break; + case 214: std::get<1>(result) = "ArcheryPractice"; break; + case 215: std::get<1>(result) = "ImproveSkill"; break; + case 216: std::get<1>(result) = "WearItem"; break; + case 217: std::get<1>(result) = "RealizeValue"; break; + case 218: std::get<1>(result) = "OpinionStoryteller"; break; + case 219: std::get<1>(result) = "OpinionRecitation"; break; + case 220: std::get<1>(result) = "OpinionInstrumentSimulation"; break; + case 221: std::get<1>(result) = "OpinionInstrumentPlayer"; break; + case 222: std::get<1>(result) = "OpinionSinger"; break; + case 223: std::get<1>(result) = "OpinionChanter"; break; + case 224: std::get<1>(result) = "OpinionDancer"; break; + case 225: std::get<1>(result) = "OpinionStory"; break; + case 226: std::get<1>(result) = "OpinionPoetry"; break; + case 227: std::get<1>(result) = "OpinionMusic"; break; + case 228: std::get<1>(result) = "OpinionDance"; break; + case 229: std::get<1>(result) = "Defeated"; break; + case 230: std::get<1>(result) = "FavoritePossession"; break; + case 231: std::get<1>(result) = "PreserveBody"; break; + case 232: std::get<1>(result) = "Murdered"; break; + case 233: std::get<1>(result) = "HistEventCollection"; break; + case 234: std::get<1>(result) = "ViewOwnDisplay"; break; + case 235: std::get<1>(result) = "ViewDisplay"; break; + case 236: std::get<1>(result) = "AcquireArtifact"; break; + case 237: std::get<1>(result) = "DenySanctuary"; break; + case 238: std::get<1>(result) = "CaughtSneaking"; break; + case 239: std::get<1>(result) = "GaveArtifact"; break; + case 240: std::get<1>(result) = "SawDeadBody"; break; + case 241: std::get<1>(result) = "Expelled"; break; + case 242: std::get<1>(result) = "RelativeExpelled"; break; + default: break; + } + return result; +} + +std::tuple get_value_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case -1: std::get<1>(result) = "NONE"; break; + case 0: std::get<1>(result) = "LAW"; break; + case 1: std::get<1>(result) = "LOYALTY"; break; + case 2: std::get<1>(result) = "FAMILY"; break; + case 3: std::get<1>(result) = "FRIENDSHIP"; break; + case 4: std::get<1>(result) = "POWER"; break; + case 5: std::get<1>(result) = "TRUTH"; break; + case 6: std::get<1>(result) = "CUNNING"; break; + case 7: std::get<1>(result) = "ELOQUENCE"; break; + case 8: std::get<1>(result) = "FAIRNESS"; break; + case 9: std::get<1>(result) = "DECORUM"; break; + case 10: std::get<1>(result) = "TRADITION"; break; + case 11: std::get<1>(result) = "ARTWORK"; break; + case 12: std::get<1>(result) = "COOPERATION"; break; + case 13: std::get<1>(result) = "INDEPENDENCE"; break; + case 14: std::get<1>(result) = "STOICISM"; break; + case 15: std::get<1>(result) = "INTROSPECTION"; break; + case 16: std::get<1>(result) = "SELF_CONTROL"; break; + case 17: std::get<1>(result) = "TRANQUILITY"; break; + case 18: std::get<1>(result) = "HARMONY"; break; + case 19: std::get<1>(result) = "MERRIMENT"; break; + case 20: std::get<1>(result) = "CRAFTSMANSHIP"; break; + case 21: std::get<1>(result) = "MARTIAL_PROWESS"; break; + case 22: std::get<1>(result) = "SKILL"; break; + case 23: std::get<1>(result) = "HARD_WORK"; break; + case 24: std::get<1>(result) = "SACRIFICE"; break; + case 25: std::get<1>(result) = "COMPETITION"; break; + case 26: std::get<1>(result) = "PERSEVERENCE"; break; + case 27: std::get<1>(result) = "LEISURE_TIME"; break; + case 28: std::get<1>(result) = "COMMERCE"; break; + case 29: std::get<1>(result) = "ROMANCE"; break; + case 30: std::get<1>(result) = "NATURE"; break; + case 31: std::get<1>(result) = "PEACE"; break; + case 32: std::get<1>(result) = "KNOWLEDGE"; break; + default: break; + } + return result; +} + +std::tuple get_goal_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "STAY_ALIVE"; break; + case 1: std::get<1>(result) = "MAINTAIN_ENTITY_STATUS"; break; + case 2: std::get<1>(result) = "START_A_FAMILY"; break; + case 3: std::get<1>(result) = "RULE_THE_WORLD"; break; + case 4: std::get<1>(result) = "CREATE_A_GREAT_WORK_OF_ART"; break; + case 5: std::get<1>(result) = "CRAFT_A_MASTERWORK"; break; + case 6: std::get<1>(result) = "BRING_PEACE_TO_THE_WORLD"; break; + case 7: std::get<1>(result) = "BECOME_A_LEGENDARY_WARRIOR"; break; + case 8: std::get<1>(result) = "MASTER_A_SKILL"; break; + case 9: std::get<1>(result) = "FALL_IN_LOVE"; break; + case 10: std::get<1>(result) = "SEE_THE_GREAT_NATURAL_SITES"; break; + case 11: std::get<1>(result) = "IMMORTALITY"; break; + case 12: std::get<1>(result) = "MAKE_A_GREAT_DISCOVERY"; break; + default: break; + } + return result; +} + +std::tuple get_personality_facet_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case -1: std::get<1>(result) = "NONE"; break; + case 0: std::get<1>(result) = "LOVE_PROPENSITY"; break; + case 1: std::get<1>(result) = "HATE_PROPENSITY"; break; + case 2: std::get<1>(result) = "ENVY_PROPENSITY"; break; + case 3: std::get<1>(result) = "CHEER_PROPENSITY"; break; + case 4: std::get<1>(result) = "DEPRESSION_PROPENSITY"; break; + case 5: std::get<1>(result) = "ANGER_PROPENSITY"; break; + case 6: std::get<1>(result) = "ANXIETY_PROPENSITY"; break; + case 7: std::get<1>(result) = "LUST_PROPENSITY"; break; + case 8: std::get<1>(result) = "STRESS_VULNERABILITY"; break; + case 9: std::get<1>(result) = "GREED"; break; + case 10: std::get<1>(result) = "IMMODERATION"; break; + case 11: std::get<1>(result) = "VIOLENT"; break; + case 12: std::get<1>(result) = "PERSEVERENCE"; break; + case 13: std::get<1>(result) = "WASTEFULNESS"; break; + case 14: std::get<1>(result) = "DISCORD"; break; + case 15: std::get<1>(result) = "FRIENDLINESS"; break; + case 16: std::get<1>(result) = "POLITENESS"; break; + case 17: std::get<1>(result) = "DISDAIN_ADVICE"; break; + case 18: std::get<1>(result) = "BRAVERY"; break; + case 19: std::get<1>(result) = "CONFIDENCE"; break; + case 20: std::get<1>(result) = "VANITY"; break; + case 21: std::get<1>(result) = "AMBITION"; break; + case 22: std::get<1>(result) = "GRATITUDE"; break; + case 23: std::get<1>(result) = "IMMODESTY"; break; + case 24: std::get<1>(result) = "HUMOR"; break; + case 25: std::get<1>(result) = "VENGEFUL"; break; + case 26: std::get<1>(result) = "PRIDE"; break; + case 27: std::get<1>(result) = "CRUELTY"; break; + case 28: std::get<1>(result) = "SINGLEMINDED"; break; + case 29: std::get<1>(result) = "HOPEFUL"; break; + case 30: std::get<1>(result) = "CURIOUS"; break; + case 31: std::get<1>(result) = "BASHFUL"; break; + case 32: std::get<1>(result) = "PRIVACY"; break; + case 33: std::get<1>(result) = "PERFECTIONIST"; break; + case 34: std::get<1>(result) = "CLOSEMINDED"; break; + case 35: std::get<1>(result) = "TOLERANT"; break; + case 36: std::get<1>(result) = "EMOTIONALLY_OBSESSIVE"; break; + case 37: std::get<1>(result) = "SWAYED_BY_EMOTIONS"; break; + case 38: std::get<1>(result) = "ALTRUISM"; break; + case 39: std::get<1>(result) = "DUTIFULNESS"; break; + case 40: std::get<1>(result) = "THOUGHTLESSNESS"; break; + case 41: std::get<1>(result) = "ORDERLINESS"; break; + case 42: std::get<1>(result) = "TRUST"; break; + case 43: std::get<1>(result) = "GREGARIOUSNESS"; break; + case 44: std::get<1>(result) = "ASSERTIVENESS"; break; + case 45: std::get<1>(result) = "ACTIVITY_LEVEL"; break; + case 46: std::get<1>(result) = "EXCITEMENT_SEEKING"; break; + case 47: std::get<1>(result) = "IMAGINATION"; break; + case 48: std::get<1>(result) = "ABSTRACT_INCLINED"; break; + case 49: std::get<1>(result) = "ART_INCLINED"; break; + default: break; + } + return result; +} + +std::tuple get_physical_attribute_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "STRENGTH"; break; + case 1: std::get<1>(result) = "AGILITY"; break; + case 2: std::get<1>(result) = "TOUGHNESS"; break; + case 3: std::get<1>(result) = "ENDURANCE"; break; + case 4: std::get<1>(result) = "RECUPERATION"; break; + case 5: std::get<1>(result) = "DISEASE_RESISTANCE"; break; + default: break; + } + return result; +} + +std::tuple get_mental_attribute_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "ANALYTICAL_ABILITY"; break; + case 1: std::get<1>(result) = "FOCUS"; break; + case 2: std::get<1>(result) = "WILLPOWER"; break; + case 3: std::get<1>(result) = "CREATIVITY"; break; + case 4: std::get<1>(result) = "INTUITION"; break; + case 5: std::get<1>(result) = "PATIENCE"; break; + case 6: std::get<1>(result) = "MEMORY"; break; + case 7: std::get<1>(result) = "LINGUISTIC_ABILITY"; break; + case 8: std::get<1>(result) = "SPATIAL_SENSE"; break; + case 9: std::get<1>(result) = "MUSICALITY"; break; + case 10: std::get<1>(result) = "KINESTHETIC_SENSE"; break; + case 11: std::get<1>(result) = "EMPATHY"; break; + case 12: std::get<1>(result) = "SOCIAL_AWARENESS"; break; + default: break; + } + return result; +} + +std::tuple get_mood_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case -1: std::get<1>(result) = "None"; break; + case 0: std::get<1>(result) = "Fey"; break; + case 1: std::get<1>(result) = "Secretive"; break; + case 2: std::get<1>(result) = "Possessed"; break; + case 3: std::get<1>(result) = "Macabre"; break; + case 4: std::get<1>(result) = "Fell"; break; + case 5: std::get<1>(result) = "Melancholy"; break; + case 6: std::get<1>(result) = "Raving"; break; + case 7: std::get<1>(result) = "Berserk"; break; + case 8: std::get<1>(result) = "Baby"; break; + case 9: std::get<1>(result) = "Traumatized"; break; + default: break; + } + return result; +} + +std::tuple get_ghost_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "MurderousGhost"; break; + case 1: std::get<1>(result) = "SadisticGhost"; break; + case 2: std::get<1>(result) = "SecretivePoltergeist"; break; + case 3: std::get<1>(result) = "EnergeticPoltergeist"; break; + case 4: std::get<1>(result) = "AngryGhost"; break; + case 5: std::get<1>(result) = "ViolentGhost"; break; + case 6: std::get<1>(result) = "MoaningSpirit"; break; + case 7: std::get<1>(result) = "HowlingSpirit"; break; + case 8: std::get<1>(result) = "TroublesomePoltergeist"; break; + case 9: std::get<1>(result) = "RestlessHaunt"; break; + case 10: std::get<1>(result) = "ForlornHaunt"; break; + default: break; + } + return result; +} + +std::tuple get_animal_training_level_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "SemiWild"; break; + case 1: std::get<1>(result) = "Trained"; break; + case 2: std::get<1>(result) = "WellTrained"; break; + case 3: std::get<1>(result) = "SkilfullyTrained"; break; + case 4: std::get<1>(result) = "ExpertlyTrained"; break; + case 5: std::get<1>(result) = "ExceptionallyTrained"; break; + case 6: std::get<1>(result) = "MasterfullyTrained"; break; + case 7: std::get<1>(result) = "Domesticated"; break; + case 8: std::get<1>(result) = "Unk8"; break; + case 9: std::get<1>(result) = "WildUntamed"; std::get<2>(result) = "Seems to be used as default when not flags1.tame"; break; + default: break; + } + return result; +} + +std::tuple get_unit_report_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Combat"; break; + case 1: std::get<1>(result) = "Sparring"; break; + case 2: std::get<1>(result) = "Hunting"; break; + default: break; + } + return result; +} + +std::tuple get_skill_rating_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Dabbling"; break; + case 1: std::get<1>(result) = "Novice"; break; + case 2: std::get<1>(result) = "Adequate"; break; + case 3: std::get<1>(result) = "Competent"; break; + case 4: std::get<1>(result) = "Skilled"; break; + case 5: std::get<1>(result) = "Proficient"; break; + case 6: std::get<1>(result) = "Talented"; break; + case 7: std::get<1>(result) = "Adept"; break; + case 8: std::get<1>(result) = "Expert"; break; + case 9: std::get<1>(result) = "Professional"; break; + case 10: std::get<1>(result) = "Accomplished"; break; + case 11: std::get<1>(result) = "Great"; break; + case 12: std::get<1>(result) = "Master"; break; + case 13: std::get<1>(result) = "HighMaster"; break; + case 14: std::get<1>(result) = "GrandMaster"; break; + case 15: std::get<1>(result) = "Legendary"; break; + case 16: std::get<1>(result) = "Legendary1"; break; + case 17: std::get<1>(result) = "Legendary2"; break; + case 18: std::get<1>(result) = "Legendary3"; break; + case 19: std::get<1>(result) = "Legendary4"; break; + case 20: std::get<1>(result) = "Legendary5"; break; + default: break; + } + return result; +} + +std::tuple get_unit_relationship_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case -1: std::get<1>(result) = "None"; break; + case 0: std::get<1>(result) = "Pet"; break; + case 1: std::get<1>(result) = "Spouse"; break; + case 2: std::get<1>(result) = "Mother"; break; + case 3: std::get<1>(result) = "Father"; break; + case 4: std::get<1>(result) = "LastAttacker"; break; + case 5: std::get<1>(result) = "GroupLeader"; break; + case 6: std::get<1>(result) = "Draggee"; break; + case 7: std::get<1>(result) = "Dragger"; break; + case 8: std::get<1>(result) = "RiderMount"; break; + case 9: std::get<1>(result) = "Lover"; break; + case 10: std::get<1>(result) = "unk10"; break; + case 11: std::get<1>(result) = "Sibling"; break; + case 12: std::get<1>(result) = "Child"; break; + case 13: std::get<1>(result) = "Friend"; break; + case 14: std::get<1>(result) = "Grudge"; break; + case 15: std::get<1>(result) = "Worship"; break; + case 16: std::get<1>(result) = "AcquaintanceLong"; break; + case 17: std::get<1>(result) = "AcquaintancePassing"; break; + case 18: std::get<1>(result) = "Bonded"; break; + case 19: std::get<1>(result) = "Hero"; break; + case 20: std::get<1>(result) = "ConsidersViolent"; break; + case 21: std::get<1>(result) = "ConsidersPsychotic"; break; + case 22: std::get<1>(result) = "GoodForBusiness"; break; + case 23: std::get<1>(result) = "FriendlyTerms"; break; + case 24: std::get<1>(result) = "ConsidersKiller"; break; + case 25: std::get<1>(result) = "ConsidersMurderer"; break; + case 26: std::get<1>(result) = "Comrade"; break; + case 27: std::get<1>(result) = "MemberOfRespectedGroup"; break; + case 28: std::get<1>(result) = "MemberOfHatedGroup"; break; + case 29: std::get<1>(result) = "EnemyFighter"; break; + case 30: std::get<1>(result) = "FriendlyFighter"; break; + case 31: std::get<1>(result) = "ConsidersBully"; break; + case 32: std::get<1>(result) = "ConsidersBrigand"; break; + case 33: std::get<1>(result) = "LoyalSoldier"; break; + case 34: std::get<1>(result) = "ConsidersMonster"; break; + case 35: std::get<1>(result) = "ConsidersStoryteller"; break; + case 36: std::get<1>(result) = "ConsidersPoet"; break; + case 37: std::get<1>(result) = "ConsidersBard"; break; + case 38: std::get<1>(result) = "ConsidersDancer"; break; + case 39: std::get<1>(result) = "Master"; break; + case 40: std::get<1>(result) = "Apprentice"; break; + case 41: std::get<1>(result) = "Companion"; break; + case 42: std::get<1>(result) = "FormerMaster"; break; + case 43: std::get<1>(result) = "FormerApprentice"; break; + case 44: std::get<1>(result) = "ConsidersQuarreler"; break; + case 45: std::get<1>(result) = "ConsidersFlatterer"; break; + case 46: std::get<1>(result) = "Hunter"; break; + case 47: std::get<1>(result) = "ProtectorOfTheWeak"; break; + default: break; + } + return result; +} + +std::tuple get_need_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Socialize"; break; + case 1: std::get<1>(result) = "DrinkAlcohol"; break; + case 2: std::get<1>(result) = "PrayOrMeditate"; break; + case 3: std::get<1>(result) = "StayOccupied"; break; + case 4: std::get<1>(result) = "BeCreative"; break; + case 5: std::get<1>(result) = "Excitement"; break; + case 6: std::get<1>(result) = "LearnSomething"; break; + case 7: std::get<1>(result) = "BeWithFamily"; break; + case 8: std::get<1>(result) = "BeWithFriends"; break; + case 9: std::get<1>(result) = "HearEloquence"; break; + case 10: std::get<1>(result) = "UpholdTradition"; break; + case 11: std::get<1>(result) = "SelfExamination"; break; + case 12: std::get<1>(result) = "MakeMerry"; break; + case 13: std::get<1>(result) = "CraftObject"; break; + case 14: std::get<1>(result) = "MartialTraining"; break; + case 15: std::get<1>(result) = "PracticeSkill"; break; + case 16: std::get<1>(result) = "TakeItEasy"; break; + case 17: std::get<1>(result) = "MakeRomance"; break; + case 18: std::get<1>(result) = "SeeAnimal"; break; + case 19: std::get<1>(result) = "SeeGreatBeast"; break; + case 20: std::get<1>(result) = "AcquireObject"; break; + case 21: std::get<1>(result) = "EatGoodMeal"; break; + case 22: std::get<1>(result) = "Fight"; break; + case 23: std::get<1>(result) = "CauseTrouble"; break; + case 24: std::get<1>(result) = "Argue"; break; + case 25: std::get<1>(result) = "BeExtravagant"; break; + case 26: std::get<1>(result) = "Wander"; break; + case 27: std::get<1>(result) = "HelpSomebody"; break; + case 28: std::get<1>(result) = "ThinkAbstractly"; break; + case 29: std::get<1>(result) = "AdmireArt"; break; + default: break; + } + return result; +} + +std::tuple get_ghost_goal_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case -1: std::get<1>(result) = "None"; break; + case 0: std::get<1>(result) = "ScareToDeath"; break; + case 1: std::get<1>(result) = "Stun"; break; + case 2: std::get<1>(result) = "Batter"; break; + case 3: std::get<1>(result) = "Possess"; break; + case 4: std::get<1>(result) = "MisplaceItem"; break; + case 5: std::get<1>(result) = "Haunt"; break; + case 6: std::get<1>(result) = "Torment"; break; + case 7: std::get<1>(result) = "ToppleBuilding"; break; + default: break; + } + return result; +} + +std::tuple get_wound_effect_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Bruise"; break; + case 1: std::get<1>(result) = "Burn"; break; + case 2: std::get<1>(result) = "Frostbite"; break; + case 3: std::get<1>(result) = "Burn2"; break; + case 4: std::get<1>(result) = "Melting"; break; + case 5: std::get<1>(result) = "Boiling"; break; + case 6: std::get<1>(result) = "Freezing"; break; + case 7: std::get<1>(result) = "Condensation"; break; + case 8: std::get<1>(result) = "Necrosis"; break; + case 9: std::get<1>(result) = "Blister"; break; + default: break; + } + return result; +} + +std::tuple get_misc_trait_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "RequestWaterCooldown"; break; + case 1: std::get<1>(result) = "RequestFoodCooldown"; break; + case 2: std::get<1>(result) = "RequestRescueCooldown"; break; + case 3: std::get<1>(result) = "RequestHealthcareCooldown"; break; + case 4: std::get<1>(result) = "GetDrinkCooldown"; std::get<2>(result) = "auto-decrement"; break; + case 5: std::get<1>(result) = "GetFoodCooldown"; std::get<2>(result) = "auto-decrement"; break; + case 6: std::get<1>(result) = "CleanSelfCooldown"; std::get<2>(result) = "auto-decrement"; break; + case 7: std::get<1>(result) = "Migrant"; std::get<2>(result) = "auto-decrement"; break; + case 8: std::get<1>(result) = "RoomComplaint"; std::get<2>(result) = "auto-decrement"; break; + case 9: std::get<1>(result) = "UnnamedResident"; std::get<2>(result) = "upon reaching zero, resident creature gets named"; break; + case 10: std::get<1>(result) = "RentBedroomCooldown"; std::get<2>(result) = "auto-decrement"; break; + case 11: std::get<1>(result) = "ClaimTrinketCooldown"; std::get<2>(result) = "auto-decrement"; break; + case 12: std::get<1>(result) = "ClaimClothingCooldown"; std::get<2>(result) = "auto-decrement"; break; + case 13: std::get<1>(result) = "WantsDrink"; std::get<2>(result) = "auto-increment to 403200"; break; + case 14: std::get<1>(result) = "anon_1"; std::get<2>(result) = "formerly LikesOutdoors"; break; + case 15: std::get<1>(result) = "anon_2"; std::get<2>(result) = "formerly Hardened"; break; + case 16: std::get<1>(result) = "anon_3"; std::get<2>(result) = "formerly TimeSinceBreak"; break; + case 17: std::get<1>(result) = "anon_4"; std::get<2>(result) = "formerly OnBreak"; break; + case 18: std::get<1>(result) = "PrepareToDie"; std::get<2>(result) = "auto-decrement"; break; + case 19: std::get<1>(result) = "CaveAdapt"; break; + case 20: std::get<1>(result) = "anon_5"; std::get<2>(result) = "auto-decrement"; break; + case 21: std::get<1>(result) = "anon_6"; std::get<2>(result) = "auto-decrement"; break; + case 22: std::get<1>(result) = "anon_7"; break; + case 23: std::get<1>(result) = "anon_8"; std::get<2>(result) = "auto-decrement"; break; + case 24: std::get<1>(result) = "FollowUnitCooldown"; std::get<2>(result) = "0-20, 200 on failed path, auto-decrement"; break; + case 25: std::get<1>(result) = "anon_9"; std::get<2>(result) = "auto-decrement"; break; + case 26: std::get<1>(result) = "anon_10"; std::get<2>(result) = "auto-decrement"; break; + case 27: std::get<1>(result) = "anon_11"; break; + case 28: std::get<1>(result) = "DangerousTerrainCooldown"; std::get<2>(result) = "created at 200, blocks repath?, auto-decrement"; break; + case 29: std::get<1>(result) = "Beaching"; std::get<2>(result) = "triggered by BEACH_FREQUENCY, auto-decrement"; break; + case 30: std::get<1>(result) = "IdleAreaCooldown"; std::get<2>(result) = "auto-decrement"; break; + case 31: std::get<1>(result) = "anon_12"; std::get<2>(result) = "auto-decrement"; break; + case 32: std::get<1>(result) = "PartiedOut"; std::get<2>(result) = "auto-decrement"; break; + case 33: std::get<1>(result) = "DiagnosePatientCooldown"; std::get<2>(result) = "0-2000, auto-decrement"; break; + case 34: std::get<1>(result) = "DressWoundCooldown"; std::get<2>(result) = "auto-decrement"; break; + case 35: std::get<1>(result) = "CleanPatientCooldown"; std::get<2>(result) = "auto-decrement"; break; + case 36: std::get<1>(result) = "SurgeryCooldown"; std::get<2>(result) = "auto-decrement"; break; + case 37: std::get<1>(result) = "SutureCooldown"; std::get<2>(result) = "auto-decrement"; break; + case 38: std::get<1>(result) = "SetBoneCooldown"; std::get<2>(result) = "auto-decrement"; break; + case 39: std::get<1>(result) = "PlaceInTractionCooldown"; std::get<2>(result) = "auto-decrement"; break; + case 40: std::get<1>(result) = "ApplyCastCooldown"; std::get<2>(result) = "auto-decrement"; break; + case 41: std::get<1>(result) = "ImmobilizeBreakCooldown"; std::get<2>(result) = "auto-decrement"; break; + case 42: std::get<1>(result) = "BringCrutchCooldown"; std::get<2>(result) = "auto-decrement"; break; + case 43: std::get<1>(result) = "anon_13"; std::get<2>(result) = "auto-decrement, set military pickup flag upon reaching zero"; break; + case 44: std::get<1>(result) = "MilkCounter"; std::get<2>(result) = "auto-decrement"; break; + case 45: std::get<1>(result) = "HadDrill"; std::get<2>(result) = "auto-decrement"; break; + case 46: std::get<1>(result) = "CompletedDrill"; std::get<2>(result) = "auto-decrement"; break; + case 47: std::get<1>(result) = "EggSpent"; std::get<2>(result) = "auto-decrement"; break; + case 48: std::get<1>(result) = "GroundedAnimalAnger"; std::get<2>(result) = "auto-decrement"; break; + case 49: std::get<1>(result) = "anon_14"; std::get<2>(result) = "auto-decrement"; break; + case 50: std::get<1>(result) = "TimeSinceSuckedBlood"; break; + case 51: std::get<1>(result) = "DrinkingBlood"; std::get<2>(result) = "auto-decrement"; break; + case 52: std::get<1>(result) = "anon_15"; std::get<2>(result) = "auto-decrement"; break; + case 53: std::get<1>(result) = "anon_16"; std::get<2>(result) = "auto-decrement"; break; + case 54: std::get<1>(result) = "RevertWildTimer"; std::get<2>(result) = "one trigger => --training_level, auto-decrement"; break; + case 55: std::get<1>(result) = "anon_17"; std::get<2>(result) = "auto-decrement"; break; + case 56: std::get<1>(result) = "NoPantsAnger"; std::get<2>(result) = "auto-decrement"; break; + case 57: std::get<1>(result) = "NoShirtAnger"; std::get<2>(result) = "auto-decrement"; break; + case 58: std::get<1>(result) = "NoShoesAnger"; std::get<2>(result) = "auto-decrement"; break; + default: break; + } + return result; +} + +std::tuple get_unit_action_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case -1: std::get<1>(result) = "None"; break; + case 0: std::get<1>(result) = "Move"; break; + case 1: std::get<1>(result) = "Attack"; break; + case 2: std::get<1>(result) = "Jump"; break; + case 3: std::get<1>(result) = "HoldTerrain"; break; + case 4: std::get<1>(result) = "ReleaseTerrain"; break; + case 5: std::get<1>(result) = "Climb"; break; + case 6: std::get<1>(result) = "Job"; break; + case 7: std::get<1>(result) = "Talk"; break; + case 8: std::get<1>(result) = "Unsteady"; break; + case 9: std::get<1>(result) = "Parry"; break; + case 10: std::get<1>(result) = "Block"; break; + case 11: std::get<1>(result) = "Dodge"; break; + case 12: std::get<1>(result) = "Recover"; break; + case 13: std::get<1>(result) = "StandUp"; break; + case 14: std::get<1>(result) = "LieDown"; break; + case 15: std::get<1>(result) = "Job2"; break; + case 16: std::get<1>(result) = "PushObject"; break; + case 17: std::get<1>(result) = "SuckBlood"; break; + case 18: std::get<1>(result) = "HoldItem"; break; + case 19: std::get<1>(result) = "ReleaseItem"; break; + default: break; + } + return result; +} + +std::tuple get_interface_breakdown_types_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "NONE"; break; + case 1: std::get<1>(result) = "QUIT"; break; + case 2: std::get<1>(result) = "STOPSCREEN"; break; + case 3: std::get<1>(result) = "TOFIRST"; break; + default: break; + } + return result; +} + +std::tuple get_embark_finder_option_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "DimensionX"; break; + case 1: std::get<1>(result) = "DimensionY"; break; + case 2: std::get<1>(result) = "Savagery"; break; + case 3: std::get<1>(result) = "Evil"; break; + case 4: std::get<1>(result) = "Elevation"; break; + case 5: std::get<1>(result) = "Temperature"; break; + case 6: std::get<1>(result) = "Rain"; break; + case 7: std::get<1>(result) = "Drainage"; break; + case 8: std::get<1>(result) = "FluxStone"; break; + case 9: std::get<1>(result) = "Aquifer"; break; + case 10: std::get<1>(result) = "River"; break; + case 11: std::get<1>(result) = "UndergroundRiver"; break; + case 12: std::get<1>(result) = "UndergroundPool"; break; + case 13: std::get<1>(result) = "MagmaPool"; break; + case 14: std::get<1>(result) = "MagmaPipe"; break; + case 15: std::get<1>(result) = "Chasm"; break; + case 16: std::get<1>(result) = "BottomlessPit"; break; + case 17: std::get<1>(result) = "OtherFeatures"; break; + case 18: std::get<1>(result) = "ShallowMetal"; break; + case 19: std::get<1>(result) = "DeepMetal"; break; + case 20: std::get<1>(result) = "Soil"; break; + case 21: std::get<1>(result) = "Clay"; break; + default: break; + } + return result; +} + +std::tuple get_viewscreen_image_creator_mode_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case -1: std::get<1>(result) = "None"; break; + case 0: std::get<1>(result) = "ArtistToChoose"; break; + case 1: std::get<1>(result) = "Histfig"; break; + case 2: std::get<1>(result) = "Site"; break; + case 3: std::get<1>(result) = "Entity"; break; + case 4: std::get<1>(result) = "HistoryEvent"; break; + case 5: std::get<1>(result) = "ExistingImage"; break; + case 6: std::get<1>(result) = "NewImage"; break; + case 7: std::get<1>(result) = "AddCreature"; break; + case 8: std::get<1>(result) = "AddHistfig"; break; + case 9: std::get<1>(result) = "AddPlant"; break; + case 10: std::get<1>(result) = "AddTree"; break; + case 11: std::get<1>(result) = "AddShape"; break; + case 12: std::get<1>(result) = "AddObject"; break; + case 13: std::get<1>(result) = "AddArtifact"; break; + case 14: std::get<1>(result) = "AddRelationship"; break; + case 15: std::get<1>(result) = "ChooseRelationshipX"; break; + case 16: std::get<1>(result) = "ChooseRelationshipY"; break; + case 17: std::get<1>(result) = "EnterNumber"; break; + case 18: std::get<1>(result) = "DeleteElement"; break; + default: break; + } + return result; +} + +std::tuple get_viewscreen_kitchenpref_page_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "VegetablesFruitLeaves"; break; + case 1: std::get<1>(result) = "Seeds"; break; + case 2: std::get<1>(result) = "Drinks"; break; + case 3: std::get<1>(result) = "MeatFishOther"; break; + default: break; + } + return result; +} + +std::tuple get_adventurer_attribute_level_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "VeryLow"; break; + case 1: std::get<1>(result) = "Low"; break; + case 2: std::get<1>(result) = "BelowAverage"; break; + case 3: std::get<1>(result) = "Average"; break; + case 4: std::get<1>(result) = "AboveAverage"; break; + case 5: std::get<1>(result) = "High"; break; + case 6: std::get<1>(result) = "Superior"; break; + default: break; + } + return result; +} + +std::tuple get_viewscreen_unitlist_page_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Citizens"; break; + case 1: std::get<1>(result) = "Livestock"; break; + case 2: std::get<1>(result) = "Others"; break; + case 3: std::get<1>(result) = "Dead"; break; + default: break; + } + return result; +} + +std::tuple get_world_population_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Animal"; break; + case 1: std::get<1>(result) = "Vermin"; break; + case 2: std::get<1>(result) = "Unk2"; break; + case 3: std::get<1>(result) = "VerminInnumerable"; break; + case 4: std::get<1>(result) = "ColonyInsect"; break; + case 5: std::get<1>(result) = "Tree"; break; + case 6: std::get<1>(result) = "Grass"; break; + case 7: std::get<1>(result) = "Bush"; break; + default: break; + } + return result; +} + +std::tuple get_world_region_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Swamp"; break; + case 1: std::get<1>(result) = "Desert"; break; + case 2: std::get<1>(result) = "Jungle"; break; + case 3: std::get<1>(result) = "Mountains"; break; + case 4: std::get<1>(result) = "Ocean"; break; + case 5: std::get<1>(result) = "Lake"; break; + case 6: std::get<1>(result) = "Glacier"; break; + case 7: std::get<1>(result) = "Tundra"; break; + case 8: std::get<1>(result) = "Steppe"; break; + case 9: std::get<1>(result) = "Hills"; std::get<2>(result) = "Steppe and Hills share the same set of biomes, differing only in Drainage"; break; + default: break; + } + return result; +} + +std::tuple get_geo_layer_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "SOIL"; break; + case 1: std::get<1>(result) = "SEDIMENTARY"; break; + case 2: std::get<1>(result) = "METAMORPHIC"; break; + case 3: std::get<1>(result) = "IGNEOUS_EXTRUSIVE"; break; + case 4: std::get<1>(result) = "IGNEOUS_INTRUSIVE"; break; + case 5: std::get<1>(result) = "SOIL_OCEAN"; break; + case 6: std::get<1>(result) = "SOIL_SAND"; break; + case 7: std::get<1>(result) = "SEDIMENTARY_OCEAN_SHALLOW"; break; + case 8: std::get<1>(result) = "SEDIMENTARY_OCEAN_DEEP"; break; + default: break; + } + return result; +} + +std::tuple get_region_map_entry_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "has_river"; break; + case 1: std::get<1>(result) = "tile_variant"; break; + case 2: std::get<1>(result) = "anon_1"; break; + case 3: std::get<1>(result) = "has_site"; break; + case 4: std::get<1>(result) = "anon_2"; break; + case 5: std::get<1>(result) = "river_up"; break; + case 6: std::get<1>(result) = "river_down"; break; + case 7: std::get<1>(result) = "river_right"; break; + case 8: std::get<1>(result) = "river_left"; break; + case 9: std::get<1>(result) = "discovered"; break; + case 10: std::get<1>(result) = "anon_3"; break; + case 11: std::get<1>(result) = "anon_4"; break; + case 12: std::get<1>(result) = "anon_5"; break; + case 13: std::get<1>(result) = "is_peak"; break; + case 14: std::get<1>(result) = "is_lake"; break; + case 15: std::get<1>(result) = "is_brook"; break; + case 16: std::get<1>(result) = "has_road"; break; + case 17: std::get<1>(result) = "anon_6"; break; + case 18: std::get<1>(result) = "anon_7"; break; + case 19: std::get<1>(result) = "anon_8"; break; + case 20: std::get<1>(result) = "anon_9"; break; + case 21: std::get<1>(result) = "anon_10"; break; + case 22: std::get<1>(result) = "anon_11"; break; + case 23: std::get<1>(result) = "anon_12"; break; + default: break; + } + return result; +} + +std::tuple get_front_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "front_none"; break; + case 1: std::get<1>(result) = "front_warm"; break; + case 2: std::get<1>(result) = "front_cold"; break; + case 3: std::get<1>(result) = "front_occluded"; break; + default: break; + } + return result; +} + +std::tuple get_cumulus_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "cumulus_none"; break; + case 1: std::get<1>(result) = "cumulus_medium"; break; + case 2: std::get<1>(result) = "cumulus_multi"; break; + case 3: std::get<1>(result) = "cumulus_nimbus"; break; + default: break; + } + return result; +} + +std::tuple get_stratus_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "stratus_none"; break; + case 1: std::get<1>(result) = "stratus_alto"; break; + case 2: std::get<1>(result) = "stratus_proper"; break; + case 3: std::get<1>(result) = "stratus_nimbus"; break; + default: break; + } + return result; +} + +std::tuple get_fog_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "fog_none"; break; + case 1: std::get<1>(result) = "fog_mist"; break; + case 2: std::get<1>(result) = "fog_normal"; break; + case 3: std::get<1>(result) = "fog_thick"; break; + default: break; + } + return result; +} + +std::tuple get_mountain_peak_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "is_volcano"; break; + default: break; + } + return result; +} + +std::tuple get_abstract_building_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "MEAD_HALL"; break; + case 1: std::get<1>(result) = "KEEP"; break; + case 2: std::get<1>(result) = "TEMPLE"; break; + case 3: std::get<1>(result) = "DARK_TOWER"; break; + case 4: std::get<1>(result) = "MARKET"; break; + case 5: std::get<1>(result) = "TOMB"; break; + case 6: std::get<1>(result) = "DUNGEON"; break; + case 7: std::get<1>(result) = "UNDERWORLD_SPIRE"; break; + case 8: std::get<1>(result) = "INN_TAVERN"; break; + case 9: std::get<1>(result) = "LIBRARY"; break; + default: break; + } + return result; +} + +std::tuple get_abstract_building_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Unk0"; break; + case 1: std::get<1>(result) = "Unk1"; break; + case 2: std::get<1>(result) = "Unk2"; break; + case 3: std::get<1>(result) = "Unk3"; break; + case 4: std::get<1>(result) = "AllowVisitors"; break; + case 5: std::get<1>(result) = "AllowResidents"; break; + case 6: std::get<1>(result) = "Unk6"; break; + case 7: std::get<1>(result) = "Unk7"; break; + default: break; + } + return result; +} + +std::tuple get_world_site_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "PlayerFortress"; break; + case 1: std::get<1>(result) = "DarkFortress"; break; + case 2: std::get<1>(result) = "Cave"; break; + case 3: std::get<1>(result) = "MountainHalls"; break; + case 4: std::get<1>(result) = "ForestRetreat"; break; + case 5: std::get<1>(result) = "Town"; break; + case 6: std::get<1>(result) = "ImportantLocation"; break; + case 7: std::get<1>(result) = "LairShrine"; break; + case 8: std::get<1>(result) = "Fortress"; break; + case 9: std::get<1>(result) = "Camp"; break; + case 10: std::get<1>(result) = "Monument"; break; + default: break; + } + return result; +} + +std::tuple get_world_site_flags_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Undiscovered"; break; + case 1: std::get<1>(result) = "anon_1"; break; + case 2: std::get<1>(result) = "anon_2"; break; + case 3: std::get<1>(result) = "Town"; std::get<2>(result) = "not hamlet"; break; + default: break; + } + return result; +} + +std::tuple get_site_realization_building_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "cottage_plot"; break; + case 1: std::get<1>(result) = "castle_wall"; break; + case 2: std::get<1>(result) = "castle_tower"; break; + case 3: std::get<1>(result) = "castle_courtyard"; break; + case 4: std::get<1>(result) = "house"; break; + case 5: std::get<1>(result) = "temple"; break; + case 6: std::get<1>(result) = "tomb"; break; + case 7: std::get<1>(result) = "shop_house"; break; + case 8: std::get<1>(result) = "warehouse"; break; + case 9: std::get<1>(result) = "market_square"; break; + case 10: std::get<1>(result) = "pasture"; break; + case 11: std::get<1>(result) = "waste"; break; + case 12: std::get<1>(result) = "courtyard"; break; + case 13: std::get<1>(result) = "well"; break; + case 14: std::get<1>(result) = "vault"; break; + case 15: std::get<1>(result) = "great_tower"; break; + case 16: std::get<1>(result) = "trenches"; break; + case 17: std::get<1>(result) = "tree_house"; break; + case 18: std::get<1>(result) = "hillock_house"; break; + case 19: std::get<1>(result) = "mead_hall"; break; + case 20: std::get<1>(result) = "fortress_entrance"; break; + case 21: std::get<1>(result) = "library"; break; + case 22: std::get<1>(result) = "tavern"; break; + default: break; + } + return result; +} + +std::tuple get_site_shop_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "GeneralImports"; break; + case 1: std::get<1>(result) = "FoodImports"; break; + case 2: std::get<1>(result) = "ClothingImports"; break; + case 3: std::get<1>(result) = "Cloth"; break; + case 4: std::get<1>(result) = "Leather"; break; + case 5: std::get<1>(result) = "WovenClothing"; break; + case 6: std::get<1>(result) = "LeatherClothing"; break; + case 7: std::get<1>(result) = "BoneCarver"; break; + case 8: std::get<1>(result) = "GemCutter"; break; + case 9: std::get<1>(result) = "Weaponsmith"; break; + case 10: std::get<1>(result) = "Bowyer"; break; + case 11: std::get<1>(result) = "Blacksmith"; break; + case 12: std::get<1>(result) = "Armorsmith"; break; + case 13: std::get<1>(result) = "MetalCraft"; break; + case 14: std::get<1>(result) = "LeatherGoods"; break; + case 15: std::get<1>(result) = "Carpenter"; break; + case 16: std::get<1>(result) = "StoneFurniture"; break; + case 17: std::get<1>(result) = "MetalFurniture"; break; + case 18: std::get<1>(result) = "ImportedGoodsMarket"; break; + case 19: std::get<1>(result) = "ImportedFoodMarket"; break; + case 20: std::get<1>(result) = "ImportedClothingMarket"; break; + case 21: std::get<1>(result) = "MeatMarket"; break; + case 22: std::get<1>(result) = "FruitAndVegetableMarket"; break; + case 23: std::get<1>(result) = "CheeseMarket"; break; + case 24: std::get<1>(result) = "ProcessedGoodsMarket"; break; + case 25: std::get<1>(result) = "Tavern"; break; + default: break; + } + return result; +} + +std::tuple get_tree_house_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "TreeHouse"; break; + case 1: std::get<1>(result) = "HomeTree"; break; + case 2: std::get<1>(result) = "ShapingTree"; break; + case 3: std::get<1>(result) = "MarketTree"; break; + case 4: std::get<1>(result) = "Unknown1"; break; + case 5: std::get<1>(result) = "Unknown2"; break; + default: break; + } + return result; +} + +std::tuple get_hillock_house_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "anon_1"; break; + case 1: std::get<1>(result) = "CivicMound"; break; + case 2: std::get<1>(result) = "CastleMound"; break; + case 3: std::get<1>(result) = "DrinkingMound"; break; + default: break; + } + return result; +} + +std::tuple get_creation_zone_pwg_alteration_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "location_death"; break; + case 1: std::get<1>(result) = "camp"; break; + case 2: std::get<1>(result) = "srb_ruined"; break; + case 3: std::get<1>(result) = "srp_ruined"; break; + default: break; + } + return result; +} + +std::tuple get_worldgen_region_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "SWAMP"; break; + case 1: std::get<1>(result) = "DESERT"; break; + case 2: std::get<1>(result) = "FOREST"; break; + case 3: std::get<1>(result) = "MOUNTAINS"; break; + case 4: std::get<1>(result) = "OCEAN"; break; + case 5: std::get<1>(result) = "LAKE"; break; + case 6: std::get<1>(result) = "GLACIER"; break; + case 7: std::get<1>(result) = "TUNDRA"; break; + case 8: std::get<1>(result) = "GRASSLAND"; break; + case 9: std::get<1>(result) = "HILLS"; break; + default: break; + } + return result; +} + +std::tuple get_worldgen_range_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "ELEVATION"; break; + case 1: std::get<1>(result) = "RAINFALL"; break; + case 2: std::get<1>(result) = "anon_1"; break; + case 3: std::get<1>(result) = "TEMPERATURE"; break; + case 4: std::get<1>(result) = "anon_2"; break; + case 5: std::get<1>(result) = "DRAINAGE"; break; + case 6: std::get<1>(result) = "VOLCANISM"; break; + case 7: std::get<1>(result) = "SAVAGERY"; break; + case 8: std::get<1>(result) = "anon_3"; break; + case 9: std::get<1>(result) = "anon_4"; break; + case 10: std::get<1>(result) = "anon_5"; break; + case 11: std::get<1>(result) = "anon_6"; break; + case 12: std::get<1>(result) = "anon_7"; break; + case 13: std::get<1>(result) = "anon_8"; break; + case 14: std::get<1>(result) = "anon_9"; break; + case 15: std::get<1>(result) = "anon_10"; break; + case 16: std::get<1>(result) = "anon_11"; break; + case 17: std::get<1>(result) = "anon_12"; break; + case 18: std::get<1>(result) = "anon_13"; break; + case 19: std::get<1>(result) = "anon_14"; break; + case 20: std::get<1>(result) = "anon_15"; break; + case 21: std::get<1>(result) = "anon_16"; break; + case 22: std::get<1>(result) = "anon_17"; break; + case 23: std::get<1>(result) = "anon_18"; break; + default: break; + } + return result; +} + +std::tuple get_units_other_id_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "ANY_RIDER"; break; + case 1: std::get<1>(result) = "ANY_BABY2"; break; + default: break; + } + return result; +} + +std::tuple get_conflict_level_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case -1: std::get<1>(result) = "None"; break; + case 0: std::get<1>(result) = "Encounter"; break; + case 1: std::get<1>(result) = "Horseplay"; break; + case 2: std::get<1>(result) = "Training"; break; + case 3: std::get<1>(result) = "Brawl"; break; + case 4: std::get<1>(result) = "Nonlethal"; break; + case 5: std::get<1>(result) = "Lethal"; break; + case 6: std::get<1>(result) = "NoQuarter"; break; + default: break; + } + return result; +} + +std::tuple get_combat_report_event_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "anon_1"; break; + case 1: std::get<1>(result) = "Deflected"; break; + case 2: std::get<1>(result) = "anon_2"; break; + case 3: std::get<1>(result) = "anon_3"; break; + case 4: std::get<1>(result) = "anon_4"; break; + case 5: std::get<1>(result) = "anon_5"; break; + case 6: std::get<1>(result) = "Unconscious"; break; + case 7: std::get<1>(result) = "Stunned"; break; + case 8: std::get<1>(result) = "MoreStunned"; break; + case 9: std::get<1>(result) = "Winded"; break; + case 10: std::get<1>(result) = "MoreWinded"; break; + case 11: std::get<1>(result) = "Nausea"; break; + case 12: std::get<1>(result) = "MoreNausea"; break; + case 13: std::get<1>(result) = "anon_6"; break; + case 14: std::get<1>(result) = "anon_7"; break; + case 15: std::get<1>(result) = "ExtractInjected"; break; + case 16: std::get<1>(result) = "ExtractSprayed"; break; + case 17: std::get<1>(result) = "BloodSucked"; break; + case 18: std::get<1>(result) = "SeveredPart"; break; + case 19: std::get<1>(result) = "anon_8"; break; + case 20: std::get<1>(result) = "KnockedBack"; break; + case 21: std::get<1>(result) = "StuckIn"; break; + case 22: std::get<1>(result) = "LatchOnPart"; break; + case 23: std::get<1>(result) = "LatchOn"; break; + case 24: std::get<1>(result) = "Enraged"; break; + case 25: std::get<1>(result) = "PassThrough"; break; + case 26: std::get<1>(result) = "GlancesAway"; break; + case 27: std::get<1>(result) = "anon_9"; break; + case 28: std::get<1>(result) = "anon_10"; break; + case 29: std::get<1>(result) = "MajorArtery"; break; + case 30: std::get<1>(result) = "Artery"; break; + case 31: std::get<1>(result) = "MotorNerve"; break; + case 32: std::get<1>(result) = "SensoryNerve"; break; + case 33: std::get<1>(result) = "NoForce"; break; + case 34: std::get<1>(result) = "Interrupted"; break; + default: break; + } + return result; +} + +std::tuple get_conversation__T_state_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "started"; break; + case 1: std::get<1>(result) = "active"; break; + case 2: std::get<1>(result) = "finished"; break; + case 3: std::get<1>(result) = "quit"; break; + default: break; + } + return result; +} + +std::tuple get_building_archerytargetst__T_archery_direction_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "TopToBottom"; break; + case 1: std::get<1>(result) = "BottomToTop"; break; + case 2: std::get<1>(result) = "LeftToRight"; break; + case 3: std::get<1>(result) = "RightToLeft"; break; + default: break; + } + return result; +} + +std::tuple get_building_bridgest__T_direction_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case -1: std::get<1>(result) = "Retracting"; break; + case 0: std::get<1>(result) = "Left"; break; + case 1: std::get<1>(result) = "Right"; break; + case 2: std::get<1>(result) = "Up"; break; + case 3: std::get<1>(result) = "Down"; break; + default: break; + } + return result; +} + +std::tuple get_building_siegeenginest__T_facing_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Left"; break; + case 1: std::get<1>(result) = "Up"; break; + case 2: std::get<1>(result) = "Right"; break; + case 3: std::get<1>(result) = "Down"; break; + default: break; + } + return result; +} + +std::tuple get_building_siegeenginest__T_action_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "NotInUse"; break; + case 1: std::get<1>(result) = "PrepareToFire"; break; + case 2: std::get<1>(result) = "FireAtWill"; break; + default: break; + } + return result; +} + +std::tuple get_caste_body_info__T_interactions__T_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "RETRACT_INTO_BP"; break; + case 1: std::get<1>(result) = "CAN_DO_INTERACTION"; break; + case 2: std::get<1>(result) = "ROOT_AROUND"; break; + default: break; + } + return result; +} + +std::tuple get_caravan_state__T_trade_state_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "None"; break; + case 1: std::get<1>(result) = "Approaching"; break; + case 2: std::get<1>(result) = "AtDepot"; break; + case 3: std::get<1>(result) = "Leaving"; break; + case 4: std::get<1>(result) = "Stuck"; break; + default: break; + } + return result; +} + +std::tuple get_entity_event__T_data__T_insurrection_end__T_result_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Overthrow"; break; + case 1: std::get<1>(result) = "Failure"; break; + case 2: std::get<1>(result) = "Crushing"; break; + default: break; + } + return result; +} + +std::tuple get_history_event_change_hf_statest__T_state_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Wandering"; break; + case 1: std::get<1>(result) = "Settled"; break; + case 2: std::get<1>(result) = "Refugee"; break; + case 3: std::get<1>(result) = "anon_1"; break; + case 4: std::get<1>(result) = "anon_2"; break; + case 5: std::get<1>(result) = "Visiting"; break; + default: break; + } + return result; +} + +std::tuple get_history_event_body_abusedst__T_props__T_pile_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "GrislyMound"; break; + case 1: std::get<1>(result) = "GrotesquePillar"; break; + case 2: std::get<1>(result) = "GruesomeSculpture"; break; + default: break; + } + return result; +} + +std::tuple get_history_event_body_abusedst__T_abuse_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Impaled"; std::get<2>(result) = "props.item"; break; + case 1: std::get<1>(result) = "Piled"; std::get<2>(result) = "props.pile_type"; break; + case 2: std::get<1>(result) = "Flayed"; std::get<2>(result) = "props.structure"; break; + case 3: std::get<1>(result) = "Hung"; std::get<2>(result) = "props.hung"; break; + case 4: std::get<1>(result) = "Mutilated"; std::get<2>(result) = "no props"; break; + case 5: std::get<1>(result) = "Animated"; std::get<2>(result) = "no props"; break; + default: break; + } + return result; +} + +std::tuple get_history_event_hist_figure_travelst__T_reason_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Journey"; std::get<2>(result) = "made a journey to"; break; + case 1: std::get<1>(result) = "Return"; std::get<2>(result) = "returned to"; break; + case 2: std::get<1>(result) = "Escape"; std::get<2>(result) = "escaped from"; break; + default: break; + } + return result; +} + +std::tuple get_history_event_artifact_claim_formedst__T_claim_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Symbol"; break; + case 1: std::get<1>(result) = "Heirloom"; break; + case 2: std::get<1>(result) = "Treasure"; break; + case 3: std::get<1>(result) = "HolyRelic"; break; + default: break; + } + return result; +} + +std::tuple get_init_display__T_windowed_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "True"; break; + case 1: std::get<1>(result) = "False"; break; + case 2: std::get<1>(result) = "Prompt"; break; + default: break; + } + return result; +} + +std::tuple get_init_font__T_use_ttf_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "TTF_OFF"; break; + case 1: std::get<1>(result) = "TTF_ON"; break; + case 2: std::get<1>(result) = "TTF_AUTO"; break; + default: break; + } + return result; +} + +std::tuple get_job_item_ref__T_role_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "anon_1"; break; + case 1: std::get<1>(result) = "Reagent"; break; + case 2: std::get<1>(result) = "Hauled"; break; + case 3: std::get<1>(result) = "LinkToTarget"; break; + case 4: std::get<1>(result) = "LinkToTrigger"; break; + case 5: std::get<1>(result) = "anon_2"; break; + case 6: std::get<1>(result) = "TargetContainer"; break; + case 7: std::get<1>(result) = "QueuedContainer"; break; + case 8: std::get<1>(result) = "PushHaulVehicle"; break; + default: break; + } + return result; +} + +std::tuple get_manager_order__T_frequency_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "OneTime"; break; + case 1: std::get<1>(result) = "Daily"; break; + case 2: std::get<1>(result) = "Monthly"; break; + case 3: std::get<1>(result) = "Seasonally"; break; + case 4: std::get<1>(result) = "Yearly"; break; + default: break; + } + return result; +} + +std::tuple get_manager_order_condition_item__T_compare_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "AtLeast"; break; + case 1: std::get<1>(result) = "AtMost"; break; + case 2: std::get<1>(result) = "GreaterThan"; break; + case 3: std::get<1>(result) = "LessThan"; break; + case 4: std::get<1>(result) = "Exactly"; break; + case 5: std::get<1>(result) = "Not"; break; + default: break; + } + return result; +} + +std::tuple get_mandate__T_mode_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Export"; break; + case 1: std::get<1>(result) = "Make"; break; + case 2: std::get<1>(result) = "Guild"; break; + default: break; + } + return result; +} + +std::tuple get_unit_demand__T_place_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Office"; break; + case 1: std::get<1>(result) = "Bedroom"; break; + case 2: std::get<1>(result) = "DiningRoom"; break; + case 3: std::get<1>(result) = "Tomb"; break; + default: break; + } + return result; +} + +std::tuple get_ui_advmode__T_conversation__T_targets__T_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Talk"; break; + case 1: std::get<1>(result) = "anon_1"; break; + case 2: std::get<1>(result) = "anon_2"; break; + case 3: std::get<1>(result) = "Shout"; break; + case 4: std::get<1>(result) = "Perform"; break; + default: break; + } + return result; +} + +std::tuple get_ui_advmode__T_travel_right_map_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "MapNone"; break; + case 1: std::get<1>(result) = "MapSite"; break; + case 2: std::get<1>(result) = "MapWorld"; break; + default: break; + } + return result; +} + +std::tuple get_ui_advmode__T_show_menu_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case -1: std::get<1>(result) = "TwoBlankRows"; break; + case 0: std::get<1>(result) = "Hidden"; break; + case 1: std::get<1>(result) = "TwoRowsWithKeybindingHints"; break; + case 2: std::get<1>(result) = "TwoRows"; break; + case 3: std::get<1>(result) = "OneRow"; break; + default: break; + } + return result; +} + +std::tuple get_stop_depart_condition__T_direction_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "North"; break; + case 1: std::get<1>(result) = "South"; break; + case 2: std::get<1>(result) = "East"; break; + case 3: std::get<1>(result) = "West"; break; + default: break; + } + return result; +} + +std::tuple get_stop_depart_condition__T_mode_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Push"; break; + case 1: std::get<1>(result) = "Ride"; break; + case 2: std::get<1>(result) = "Guide"; break; + default: break; + } + return result; +} + +std::tuple get_interface_button_construction_category_selectorst__T_category_id_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 1: std::get<1>(result) = "SiegeEngines"; break; + case 2: std::get<1>(result) = "Traps"; break; + case 3: std::get<1>(result) = "Workshops"; break; + case 4: std::get<1>(result) = "Furnaces"; break; + case 5: std::get<1>(result) = "Constructions"; break; + case 6: std::get<1>(result) = "MachineComponents"; break; + case 7: std::get<1>(result) = "Track"; break; + default: break; + } + return result; +} + +std::tuple get_ui_sidebar_menus__T_designation__T_mine_mode_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "All"; break; + case 1: std::get<1>(result) = "AutoMine"; break; + case 2: std::get<1>(result) = "Economic"; break; + case 3: std::get<1>(result) = "Gems"; break; + default: break; + } + return result; +} + +std::tuple get_ui_sidebar_menus__T_zone__T_mode_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Rectangle"; break; + case 1: std::get<1>(result) = "Flow"; break; + case 2: std::get<1>(result) = "FloorFlow"; break; + default: break; + } + return result; +} + +std::tuple get_ui_sidebar_menus__T_unit__T_expel_error_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case -1: std::get<1>(result) = "NONE"; break; + case 0: std::get<1>(result) = "NOBILITY"; break; + case 1: std::get<1>(result) = "HOLDS_OFFICE"; break; + case 2: std::get<1>(result) = "DOES_EXPELLING"; break; + case 3: std::get<1>(result) = "SPOUSE_IS_NOT_PRESENT"; break; + case 4: std::get<1>(result) = "SPOUSE_IS_NOBILITY"; break; + case 5: std::get<1>(result) = "SPOUSE_IS_ELECTED"; break; + case 6: std::get<1>(result) = "SPOUSE_DOES_EXPELLING"; break; + case 7: std::get<1>(result) = "CHILD_IS_NOT_PRESENT"; break; + case 8: std::get<1>(result) = "CHILD_IS_NOBILITY"; break; + case 9: std::get<1>(result) = "CHILD_IS_ELECTED"; break; + case 10: std::get<1>(result) = "CHILD_DOES_EXPELLING"; break; + default: break; + } + return result; +} + +std::tuple get_ui_look_list__T_items__T_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Item"; break; + case 1: std::get<1>(result) = "Floor"; break; + case 2: std::get<1>(result) = "Unit"; break; + case 3: std::get<1>(result) = "Building"; break; + case 4: std::get<1>(result) = "Vermin"; break; + case 5: std::get<1>(result) = "Flow"; break; + case 6: std::get<1>(result) = "Campfire"; break; + case 7: std::get<1>(result) = "Spatter"; break; + case 8: std::get<1>(result) = "BuildingItem"; break; + case 9: std::get<1>(result) = "Fire"; break; + case 10: std::get<1>(result) = "Water"; break; + case 11: std::get<1>(result) = "Magma"; break; + case 12: std::get<1>(result) = "Spoor"; break; + default: break; + } + return result; +} + +std::tuple get_ui_unit_view_mode__T_value_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "General"; break; + case 1: std::get<1>(result) = "Inventory"; break; + case 2: std::get<1>(result) = "Preferences"; break; + case 3: std::get<1>(result) = "Wounds"; break; + case 4: std::get<1>(result) = "PrefLabor"; break; + case 5: std::get<1>(result) = "PrefDogs"; break; + case 6: std::get<1>(result) = "PrefOccupation"; break; + default: break; + } + return result; +} + +std::tuple get_unit__T_meeting__T_state_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "SelectNoble"; break; + case 1: std::get<1>(result) = "FollowNoble"; break; + case 2: std::get<1>(result) = "DoMeeting"; break; + case 3: std::get<1>(result) = "LeaveMap"; break; + default: break; + } + return result; +} + +std::tuple get_unit__T_counters__T_soldier_mood_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case -1: std::get<1>(result) = "None"; break; + case 0: std::get<1>(result) = "MartialTrance"; break; + case 1: std::get<1>(result) = "Enraged"; break; + case 2: std::get<1>(result) = "Tantrum"; break; + case 3: std::get<1>(result) = "Depressed"; break; + case 4: std::get<1>(result) = "Oblivious"; break; + default: break; + } + return result; +} + +std::tuple get_unit_inventory_item__T_mode_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Hauled"; break; + case 1: std::get<1>(result) = "Weapon"; std::get<2>(result) = "also shield, crutch"; break; + case 2: std::get<1>(result) = "Worn"; std::get<2>(result) = "quiver"; break; + case 3: std::get<1>(result) = "Piercing"; break; + case 4: std::get<1>(result) = "Flask"; std::get<2>(result) = "attached to clothing"; break; + case 5: std::get<1>(result) = "WrappedAround"; std::get<2>(result) = "e.g. bandage"; break; + case 6: std::get<1>(result) = "StuckIn"; break; + case 7: std::get<1>(result) = "InMouth"; std::get<2>(result) = "string descr like Worn"; break; + case 8: std::get<1>(result) = "Pet"; std::get<2>(result) = "Left shoulder, right shoulder, or head, selected randomly using pet_seed"; break; + case 9: std::get<1>(result) = "SewnInto"; break; + case 10: std::get<1>(result) = "Strapped"; break; + default: break; + } + return result; +} + +std::tuple get_unit_preference__T_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "LikeMaterial"; break; + case 1: std::get<1>(result) = "LikeCreature"; break; + case 2: std::get<1>(result) = "LikeFood"; break; + case 3: std::get<1>(result) = "HateCreature"; break; + case 4: std::get<1>(result) = "LikeItem"; break; + case 5: std::get<1>(result) = "LikePlant"; break; + case 6: std::get<1>(result) = "LikeTree"; std::get<2>(result) = "holdover from 40d and earlier"; break; + case 7: std::get<1>(result) = "LikeColor"; break; + case 8: std::get<1>(result) = "LikeShape"; break; + case 9: std::get<1>(result) = "LikePoeticForm"; break; + case 10: std::get<1>(result) = "LikeMusicalForm"; break; + case 11: std::get<1>(result) = "LikeDanceForm"; break; + default: break; + } + return result; +} + +std::tuple get_unit_complaint__T_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 25: std::get<1>(result) = "SelfUnemployed"; break; + case 26: std::get<1>(result) = "GuildUnemployed"; break; + case 27: std::get<1>(result) = "NeedWeapons"; std::get<2>(result) = "no longer used"; break; + case 28: std::get<1>(result) = "IsAngry"; break; + case 29: std::get<1>(result) = "IsSad"; break; + case 30: std::get<1>(result) = "anon_1"; break; + case 31: std::get<1>(result) = "anon_2"; break; + case 32: std::get<1>(result) = "anon_3"; break; + case 33: std::get<1>(result) = "anon_4"; break; + case 34: std::get<1>(result) = "anon_5"; break; + case 35: std::get<1>(result) = "anon_6"; break; + case 36: std::get<1>(result) = "anon_7"; break; + case 37: std::get<1>(result) = "anon_8"; break; + case 38: std::get<1>(result) = "anon_9"; break; + case 39: std::get<1>(result) = "anon_10"; break; + case 40: std::get<1>(result) = "anon_11"; break; + case 41: std::get<1>(result) = "anon_12"; break; + case 42: std::get<1>(result) = "anon_13"; break; + case 43: std::get<1>(result) = "anon_14"; break; + case 44: std::get<1>(result) = "anon_15"; break; + case 45: std::get<1>(result) = "anon_16"; break; + case 46: std::get<1>(result) = "anon_17"; break; + case 47: std::get<1>(result) = "anon_18"; break; + case 48: std::get<1>(result) = "Petition"; break; + default: break; + } + return result; +} + +std::tuple get_unit_request__T_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "DoGuildJobs"; break; + default: break; + } + return result; +} + +std::tuple get_KeybindingScreen__T_mode_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Main"; break; + case 1: std::get<1>(result) = "KeyL"; break; + case 2: std::get<1>(result) = "KeyR"; break; + case 3: std::get<1>(result) = "Macro"; break; + case 4: std::get<1>(result) = "Register"; break; + default: break; + } + return result; +} + +std::tuple get_viewscreen_adventure_logst__T_mode_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Info"; break; + case 1: std::get<1>(result) = "Map"; break; + default: break; + } + return result; +} + +std::tuple get_viewscreen_adventure_logst__T_info_mode_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Events"; break; + case 1: std::get<1>(result) = "Agreements"; break; + case 2: std::get<1>(result) = "People"; break; + case 3: std::get<1>(result) = "Sites"; break; + case 4: std::get<1>(result) = "Groups"; break; + case 5: std::get<1>(result) = "Regions"; break; + case 6: std::get<1>(result) = "Bestiary"; break; + default: break; + } + return result; +} + +std::tuple get_viewscreen_assign_display_itemst__T_sel_column_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "ItemTypes"; break; + case 1: std::get<1>(result) = "Items"; break; + default: break; + } + return result; +} + +std::tuple get_viewscreen_choose_start_sitest__T_page_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Biome"; break; + case 1: std::get<1>(result) = "Neighbors"; break; + case 2: std::get<1>(result) = "Civilization"; break; + case 3: std::get<1>(result) = "Elevation"; break; + case 4: std::get<1>(result) = "Cliffs"; break; + case 5: std::get<1>(result) = "Reclaim"; break; + case 6: std::get<1>(result) = "Reclaim2"; break; + case 7: std::get<1>(result) = "Find"; break; + case 8: std::get<1>(result) = "Notes"; break; + default: break; + } + return result; +} + +std::tuple get_mission__T_details__T_raid__T_raid_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Raze"; break; + case 1: std::get<1>(result) = "TakeOver"; break; + case 2: std::get<1>(result) = "Occupy"; break; + case 3: std::get<1>(result) = "DemandTribute"; break; + case 4: std::get<1>(result) = "Raid"; break; + case 5: std::get<1>(result) = "Explore"; break; + case 6: std::get<1>(result) = "Pillage"; break; + default: break; + } + return result; +} + +std::tuple get_mission__T_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 2: std::get<1>(result) = "Raid"; break; + case 17: std::get<1>(result) = "RecoverArtifact"; break; + case 18: std::get<1>(result) = "RescuePerson"; break; + case 19: std::get<1>(result) = "RequestWorkers"; break; + default: break; + } + return result; +} + +std::tuple get_viewscreen_civlistst__T_rumors__T_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "ArmyMarched"; break; + case 1: std::get<1>(result) = "Kidnapped"; break; + case 3: std::get<1>(result) = "Unknown3"; break; + case 7: std::get<1>(result) = "RefugeesFled"; break; + case 8: std::get<1>(result) = "MovedOn"; break; + case 9: std::get<1>(result) = "Reclaimed"; break; + case 10: std::get<1>(result) = "Founded"; break; + case 13: std::get<1>(result) = "GaveUpOccupation"; break; + case 16: std::get<1>(result) = "BecameRuler"; break; + case 17: std::get<1>(result) = "Claimed"; break; + case 25: std::get<1>(result) = "ArtifactLocation"; break; + case 28: std::get<1>(result) = "Unknown28"; break; + default: break; + } + return result; +} + +std::tuple get_viewscreen_civlistst__T_page_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Civilizations"; break; + case 1: std::get<1>(result) = "News"; break; + case 2: std::get<1>(result) = "World"; break; + case 3: std::get<1>(result) = "Missions"; break; + case 4: std::get<1>(result) = "MissionSquads"; break; + case 5: std::get<1>(result) = "MissionMessengers"; break; + case 6: std::get<1>(result) = "MissionDetails"; break; + case 7: std::get<1>(result) = "People"; break; + case 8: std::get<1>(result) = "Artifacts"; break; + default: break; + } + return result; +} + +std::tuple get_viewscreen_game_cleanerst__T_state_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "CleaningGameObjects"; break; + case 1: std::get<1>(result) = "CleaningStrandedObjects"; break; + case 2: std::get<1>(result) = "CleaningPlayObjects"; break; + default: break; + } + return result; +} + +std::tuple get_viewscreen_justicest__T_cur_column_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Crimes"; break; + case 1: std::get<1>(result) = "Suspects"; break; + case 2: std::get<1>(result) = "ConvictChoices"; break; + default: break; + } + return result; +} + +std::tuple get_assign_trade_status__T_status_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case -2: std::get<1>(result) = "RemoveTrading"; break; + case -1: std::get<1>(result) = "RemovePending"; break; + case 0: std::get<1>(result) = "None"; break; + case 1: std::get<1>(result) = "AddPending"; break; + case 2: std::get<1>(result) = "Pending"; break; + case 3: std::get<1>(result) = "Trading"; break; + default: break; + } + return result; +} + +std::tuple get_viewscreen_layer_choose_language_namest__T_current_component_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "FrontCompound"; break; + case 1: std::get<1>(result) = "RearCompound"; break; + case 2: std::get<1>(result) = "FirstAdjective"; break; + case 3: std::get<1>(result) = "SecondAdjective"; break; + case 4: std::get<1>(result) = "HyphenCompound"; break; + case 5: std::get<1>(result) = "TheX"; break; + case 6: std::get<1>(result) = "OfX"; break; + default: break; + } + return result; +} + +std::tuple get_viewscreen_layer_militaryst__T_equip__T_mode_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Customize"; break; + case 1: std::get<1>(result) = "Uniform"; break; + case 2: std::get<1>(result) = "Priority"; break; + default: break; + } + return result; +} + +std::tuple get_viewscreen_layer_militaryst__T_equip__T_edit_mode_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Armor"; break; + case 1: std::get<1>(result) = "Helm"; break; + case 2: std::get<1>(result) = "Legs"; break; + case 3: std::get<1>(result) = "Gloves"; break; + case 4: std::get<1>(result) = "Boots"; break; + case 5: std::get<1>(result) = "Shield"; break; + case 6: std::get<1>(result) = "Weapon"; break; + case 7: std::get<1>(result) = "Material"; break; + case 8: std::get<1>(result) = "Color"; break; + case 9: std::get<1>(result) = "SpecificArmor"; break; + case 10: std::get<1>(result) = "SpecificHelm"; break; + case 11: std::get<1>(result) = "SpecificLegs"; break; + case 12: std::get<1>(result) = "SpecificGloves"; break; + case 13: std::get<1>(result) = "SpecificBoots"; break; + case 14: std::get<1>(result) = "SpecificShield"; break; + case 15: std::get<1>(result) = "SpecificWeapon"; break; + default: break; + } + return result; +} + +std::tuple get_viewscreen_layer_militaryst__T_page_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Positions"; break; + case 1: std::get<1>(result) = "Alerts"; break; + case 2: std::get<1>(result) = "Equip"; break; + case 3: std::get<1>(result) = "Uniforms"; break; + case 4: std::get<1>(result) = "Supplies"; break; + case 5: std::get<1>(result) = "Ammunition"; break; + default: break; + } + return result; +} + +std::tuple get_viewscreen_layer_noblelistst__T_mode_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "List"; break; + case 1: std::get<1>(result) = "Appoint"; break; + case 2: std::get<1>(result) = "Settings"; break; + default: break; + } + return result; +} + +std::tuple get_viewscreen_legendsst__T_cur_page_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Main"; break; + case 1: std::get<1>(result) = "HistoricalFigures"; break; + case 2: std::get<1>(result) = "Sites"; break; + case 3: std::get<1>(result) = "Artifacts"; break; + case 4: std::get<1>(result) = "Regions"; break; + case 5: std::get<1>(result) = "Civilizations"; break; + case 6: std::get<1>(result) = "Art"; break; + case 7: std::get<1>(result) = "Structures"; break; + case 8: std::get<1>(result) = "Age"; break; + case 9: std::get<1>(result) = "HistoricalMaps"; break; + case 10: std::get<1>(result) = "UndergroundRegions"; break; + case 11: std::get<1>(result) = "Populations"; break; + default: break; + } + return result; +} + +std::tuple get_viewscreen_locationsst__T_in_edit_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "None"; break; + case 1: std::get<1>(result) = "Goblets"; break; + case 2: std::get<1>(result) = "Instruments"; break; + case 3: std::get<1>(result) = "WritingCopies"; break; + case 4: std::get<1>(result) = "WritingMaterial"; break; + default: break; + } + return result; +} + +std::tuple get_viewscreen_locationsst__T_menu_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Locations"; break; + case 1: std::get<1>(result) = "Occupations"; break; + case 2: std::get<1>(result) = "AssignOccupation"; break; + default: break; + } + return result; +} + +std::tuple get_viewscreen_loadgamest__T_cur_step_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "OPENING_FILE"; break; + case 1: std::get<1>(result) = "PROCESSING_RAW_DATA"; break; + case 2: std::get<1>(result) = "ALLOCATING_SPACE"; break; + case 3: std::get<1>(result) = "LOADING_ITEMS"; break; + case 4: std::get<1>(result) = "LOADING_UNITS"; break; + case 5: std::get<1>(result) = "LOADING_JOBS"; break; + case 6: std::get<1>(result) = "LOADING_SCHEDULES"; break; + case 7: std::get<1>(result) = "LOADING_PROJECTILES"; break; + case 8: std::get<1>(result) = "LOADING_BUILDINGS"; break; + case 9: std::get<1>(result) = "LOADING_MACHINES"; break; + case 10: std::get<1>(result) = "LOADING_FLOW_GUIDES"; break; + case 11: std::get<1>(result) = "LOADING_EFFECTS"; break; + case 12: std::get<1>(result) = "LOADING_ENTITIES"; break; + case 13: std::get<1>(result) = "LOADING_LOCAL_ANIMAL_POPULATIONS"; break; + case 14: std::get<1>(result) = "LOADING_EVENTS"; break; + case 15: std::get<1>(result) = "LOADING_MANDATES"; break; + case 16: std::get<1>(result) = "LOADING_WORK_QUOTAS"; break; + case 17: std::get<1>(result) = "LOADING_WORLD_EVENTS"; break; + case 18: std::get<1>(result) = "LOADING_COIN_INFORMATION"; break; + case 19: std::get<1>(result) = "LOADING_SQUADS"; break; + case 20: std::get<1>(result) = "LOADING_FORMATIONS"; break; + case 21: std::get<1>(result) = "LOADING_ACTIVITIES"; break; + case 22: std::get<1>(result) = "LOADING_INTERACTIONS"; break; + case 23: std::get<1>(result) = "LOADING_WRITTEN_CONTENT"; break; + case 24: std::get<1>(result) = "LOADING_IDENTITIES"; break; + case 25: std::get<1>(result) = "LOADING_INCIDENTS"; break; + case 26: std::get<1>(result) = "LOADING_CRIMES"; break; + case 27: std::get<1>(result) = "LOADING_VEHICLES"; break; + case 28: std::get<1>(result) = "LOADING_ARMIES"; break; + case 29: std::get<1>(result) = "LOADING_ARMY_CONTROLLERS"; break; + case 30: std::get<1>(result) = "LOADING_TRACKING_INFORMATION"; break; + case 31: std::get<1>(result) = "LOADING_CULTURAL_IDENTITIES"; break; + case 32: std::get<1>(result) = "LOADING_AGREEMENTS"; break; + case 33: std::get<1>(result) = "LOADING_ART_FORMS"; break; + case 34: std::get<1>(result) = "LOADING_OCCUPATIONS"; break; + case 35: std::get<1>(result) = "LOADING_BELIEF_SYSTEMS"; break; + case 36: std::get<1>(result) = "LOADING_ANNOUNCEMENTS"; break; + case 37: std::get<1>(result) = "LOADING_FORTRESS_INFORMATION"; break; + case 38: std::get<1>(result) = "LOADING_WORLD_INFORMATION"; break; + case 39: std::get<1>(result) = "LOADING_ARTIFACTS"; break; + case 40: std::get<1>(result) = "LOADING_ACTIVE_HISTORICAL_FIGURES"; break; + case 41: std::get<1>(result) = "LOADING_ADVENTURE"; break; + case 42: std::get<1>(result) = "LOADING_GENERAL_INFORMATION"; break; + case 43: std::get<1>(result) = "CLOSING_FILE"; break; + case 44: std::get<1>(result) = "REBUILDING_TEMPORARY_INFORMATION"; break; + case 45: std::get<1>(result) = "REBUILDING_MORE_TEMPORARY_INFORMATION"; break; + case 46: std::get<1>(result) = "PREPARING_GAME_SCREEN"; break; + case 47: std::get<1>(result) = "HANDLING_COMPATIBILITY_ISSUES"; break; + case 48: std::get<1>(result) = "FINISHING"; break; + default: break; + } + return result; +} + +std::tuple get_viewscreen_petst__T_mode_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "List"; break; + case 1: std::get<1>(result) = "TrainingKnowledge"; break; + case 2: std::get<1>(result) = "SelectTrainer"; break; + default: break; + } + return result; +} + +std::tuple get_setup_character_info__T_status_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Peasant"; break; + case 1: std::get<1>(result) = "Hero"; break; + case 2: std::get<1>(result) = "Demigod"; break; + default: break; + } + return result; +} + +std::tuple get_viewscreen_setupadventurest__T_page_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "ChooseRace"; break; + case 1: std::get<1>(result) = "ChooseAnimalRace"; break; + case 2: std::get<1>(result) = "ChooseHistfig"; break; + case 3: std::get<1>(result) = "ChooseCiv"; break; + case 4: std::get<1>(result) = "Skills"; break; + case 5: std::get<1>(result) = "PhysicalTraits"; break; + case 6: std::get<1>(result) = "MentalTraits"; break; + case 7: std::get<1>(result) = "Background"; break; + default: break; + } + return result; +} + +std::tuple get_viewscreen_setupadventurest__T_sel_trait_column_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "SkillsColumn"; break; + case 1: std::get<1>(result) = "AttributesColumn"; break; + default: break; + } + return result; +} + +std::tuple get_viewscreen_setupdwarfgamest__T_mode_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Dwarves"; break; + case 1: std::get<1>(result) = "Items"; break; + default: break; + } + return result; +} + +std::tuple get_viewscreen_titlest__T_sel_subpage_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "None"; break; + case 1: std::get<1>(result) = "StartSelectWorld"; break; + case 2: std::get<1>(result) = "StartSelectMode"; break; + case 3: std::get<1>(result) = "Arena"; break; + case 4: std::get<1>(result) = "About"; break; + default: break; + } + return result; +} + +std::tuple get_viewscreen_workquota_conditionst__T_mode_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case -1: std::get<1>(result) = "List"; break; + case 0: std::get<1>(result) = "ItemType"; break; + case 1: std::get<1>(result) = "Material"; break; + case 2: std::get<1>(result) = "Traits"; break; + default: break; + } + return result; +} + +std::tuple get_viewscreen_workshop_profilest__T_tab_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Workers"; break; + case 1: std::get<1>(result) = "Orders"; break; + case 2: std::get<1>(result) = "Restrictions"; break; + default: break; + } + return result; +} + +std::tuple get_world_underground_region__T_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Cavern"; break; + case 1: std::get<1>(result) = "MagmaSea"; break; + case 2: std::get<1>(result) = "Underworld"; break; + default: break; + } + return result; +} + +std::tuple get_world_data__T_flip_latitude_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case -1: std::get<1>(result) = "None"; break; + case 0: std::get<1>(result) = "North"; break; + case 1: std::get<1>(result) = "South"; break; + case 2: std::get<1>(result) = "Both"; break; + default: break; + } + return result; +} + +std::tuple get_abstract_building_dungeonst__T_dungeon_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "DUNGEON"; break; + case 1: std::get<1>(result) = "SEWERS"; break; + case 2: std::get<1>(result) = "CATACOMBS"; break; + default: break; + } + return result; +} + +std::tuple get_cultural_identity__T_group_log__T_join_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Peaceful"; break; + case 1: std::get<1>(result) = "CompleteTakeOver"; std::get<2>(result) = "The previous group left the culture."; break; + case 2: std::get<1>(result) = "TakeOver"; std::get<2>(result) = "The previous group's end_year is still -1."; break; + default: break; + } + return result; +} + +std::tuple get_world_site_realization__T_areas__T_type_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "Crops1"; break; + case 1: std::get<1>(result) = "Crops2"; break; + case 2: std::get<1>(result) = "Crops3"; break; + case 3: std::get<1>(result) = "Meadow"; break; + case 4: std::get<1>(result) = "Pasture"; break; + case 5: std::get<1>(result) = "Orchard"; break; + case 6: std::get<1>(result) = "Woodland"; break; + case 7: std::get<1>(result) = "Waste"; break; + case 8: std::get<1>(result) = "Unknown1"; break; + default: break; + } + return result; +} + +std::tuple get_crime__T_mode_value_decoded(DF_Type p_base_type, uint64_t p_address) +{ + std::tuple result = std::make_tuple(cast(p_base_type, p_address), "UNKNOWN-VALUE", ""); + switch (std::get<0>(result)) + { + case 0: std::get<1>(result) = "ProductionOrderViolation"; break; + case 1: std::get<1>(result) = "ExportViolation"; break; + case 2: std::get<1>(result) = "JobOrderViolation"; break; + case 3: std::get<1>(result) = "ConspiracyToSlowLabor"; break; + case 4: std::get<1>(result) = "Murder"; break; + case 5: std::get<1>(result) = "DisorderlyBehavior"; break; + case 6: std::get<1>(result) = "BuildingDestruction"; break; + case 7: std::get<1>(result) = "Vandalism"; break; + case 8: std::get<1>(result) = "Theft"; break; + case 9: std::get<1>(result) = "Robbery"; break; + case 10: std::get<1>(result) = "BloodDrinking"; break; + default: break; + } + return result; +} + +std::tuple get_enum_decoded(const NodeEnum* p_node) +{ + switch(p_node->m_df_type) + { + case DF_Type::ui_advmode_menu: return get_ui_advmode_menu_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::talk_choice_type: return get_talk_choice_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::assume_identity_mode: return get_assume_identity_mode_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::announcement_type: return get_announcement_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::art_image_element_type: return get_art_image_element_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::art_image_property_type: return get_art_image_property_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::art_image_property_verb: return get_art_image_property_verb_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::art_facet_type: return get_art_facet_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::poetic_form_action: return get_poetic_form_action_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::poetic_form_pattern: return get_poetic_form_pattern_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::poetic_form_caesura_position: return get_poetic_form_caesura_position_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::poetic_form_mood: return get_poetic_form_mood_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::poetic_form_subject: return get_poetic_form_subject_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::poetic_form_additional_feature: return get_poetic_form_additional_feature_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::poetic_form_perspective__T_type: return get_poetic_form_perspective__T_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::musical_form_purpose: return get_musical_form_purpose_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::musical_form_style: return get_musical_form_style_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::musical_form_pitch_style: return get_musical_form_pitch_style_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::occupation_type: return get_occupation_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::buildings_other_id: return get_buildings_other_id_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::building_type: return get_building_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::civzone_type: return get_civzone_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::furnace_type: return get_furnace_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::workshop_type: return get_workshop_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::construction_type: return get_construction_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::shop_type: return get_shop_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::siegeengine_type: return get_siegeengine_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::trap_type: return get_trap_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::dfhack_room_quality_level: return get_dfhack_room_quality_level_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::creature_raw_flags: return get_creature_raw_flags_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::caste_raw_flags: return get_caste_raw_flags_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::body_part_raw_flags: return get_body_part_raw_flags_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::appearance_modifier_type: return get_appearance_modifier_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::body_part_layer_flags: return get_body_part_layer_flags_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::appearance_modifier_growth_interval: return get_appearance_modifier_growth_interval_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::gait_type: return get_gait_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::creature_graphics_role: return get_creature_graphics_role_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::tissue_style_type: return get_tissue_style_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::body_part_template_flags: return get_body_part_template_flags_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::body_part_template_contype: return get_body_part_template_contype_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::tissue_flags: return get_tissue_flags_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::d_init_nickname: return get_d_init_nickname_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::d_init_z_view: return get_d_init_z_view_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::d_init_embark_confirm: return get_d_init_embark_confirm_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::d_init_idlers: return get_d_init_idlers_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::d_init_tunnel: return get_d_init_tunnel_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::d_init_flags1: return get_d_init_flags1_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::d_init_flags2: return get_d_init_flags2_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::d_init_flags3: return get_d_init_flags3_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::d_init_flags4: return get_d_init_flags4_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::pattern_type: return get_pattern_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::occasion_schedule_type: return get_occasion_schedule_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::occasion_schedule_feature: return get_occasion_schedule_feature_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::entity_sell_category: return get_entity_sell_category_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::historical_entity_type: return get_historical_entity_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::training_knowledge_level: return get_training_knowledge_level_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::entity_position_flags: return get_entity_position_flags_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::entity_material_category: return get_entity_material_category_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::entity_event_type: return get_entity_event_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::entity_raw_flags: return get_entity_raw_flags_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::site_type: return get_site_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::ethic_type: return get_ethic_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::ethic_response: return get_ethic_response_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::entity_name_type: return get_entity_name_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::entity_position_raw_flags: return get_entity_position_raw_flags_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::entity_position_responsibility: return get_entity_position_responsibility_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::weather_type: return get_weather_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::game_mode: return get_game_mode_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::game_type: return get_game_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::lever_target_type: return get_lever_target_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::zoom_commands: return get_zoom_commands_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::reputation_type: return get_reputation_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::histfig_flags: return get_histfig_flags_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::histfig_relationship_type: return get_histfig_relationship_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::mental_picture_property_type: return get_mental_picture_property_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::mental_picture_element_type: return get_mental_picture_element_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::history_event_type: return get_history_event_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::history_event_reason: return get_history_event_reason_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::death_type: return get_death_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::entity_action_type: return get_entity_action_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::masterpiece_loss_type: return get_masterpiece_loss_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::history_event_hist_figure_woundedst__T_injury_type: return get_history_event_hist_figure_woundedst__T_injury_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::history_event_simple_battle_subtype: return get_history_event_simple_battle_subtype_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::histfig_body_state: return get_histfig_body_state_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::history_event_hf_act_on_buildingst__T_action: return get_history_event_hf_act_on_buildingst__T_action_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::site_dispute_type: return get_site_dispute_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::insurrection_outcome: return get_insurrection_outcome_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::history_event_hf_act_on_artifactst__T_action: return get_history_event_hf_act_on_artifactst__T_action_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::tactical_situation: return get_tactical_situation_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::history_event_collection_type: return get_history_event_collection_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::era_type: return get_era_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::init_display_flags: return get_init_display_flags_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::init_media_flags: return get_init_media_flags_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::init_input_flags: return get_init_input_flags_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::init_window_flags: return get_init_window_flags_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::interaction_effect_type: return get_interaction_effect_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::interaction_effect_location_hint: return get_interaction_effect_location_hint_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::interaction_source_type: return get_interaction_source_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::interaction_source_usage_hint: return get_interaction_source_usage_hint_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::interaction_target_type: return get_interaction_target_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::interaction_target_location_type: return get_interaction_target_location_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::breath_attack_type: return get_breath_attack_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::item_type: return get_item_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::ammo_flags: return get_ammo_flags_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::armor_general_flags: return get_armor_general_flags_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::armor_flags: return get_armor_flags_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::gloves_flags: return get_gloves_flags_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::helm_flags: return get_helm_flags_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::instrument_flags: return get_instrument_flags_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::sound_production_type: return get_sound_production_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::pitch_choice_type: return get_pitch_choice_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::tuning_type: return get_tuning_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::timbre_type: return get_timbre_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::pants_flags: return get_pants_flags_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::shoes_flags: return get_shoes_flags_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::tool_flags: return get_tool_flags_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::tool_uses: return get_tool_uses_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::toy_flags: return get_toy_flags_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::trapcomp_flags: return get_trapcomp_flags_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::weapon_flags: return get_weapon_flags_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::items_other_id: return get_items_other_id_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::job_item_vector_id: return get_job_item_vector_id_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::improvement_type: return get_improvement_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::itemimprovement_specific_type: return get_itemimprovement_specific_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::written_content_type: return get_written_content_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::written_content_style: return get_written_content_style_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::item_magicness_type: return get_item_magicness_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::item_quality: return get_item_quality_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::slab_engraving_type: return get_slab_engraving_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::corpse_material_type: return get_corpse_material_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::job_type_class: return get_job_type_class_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::job_type: return get_job_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::job_subtype_surgery: return get_job_subtype_surgery_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::job_art_specification__T_type: return get_job_art_specification__T_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::manager_order_condition_order__T_condition: return get_manager_order_condition_order__T_condition_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::guild_id: return get_guild_id_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::interface_key: return get_interface_key_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::dfhack_knowledge_scholar_flag: return get_dfhack_knowledge_scholar_flag_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::part_of_speech: return get_part_of_speech_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::sphere_type: return get_sphere_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::language_name_category: return get_language_name_category_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::nemesis_flags: return get_nemesis_flags_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::machine_type: return get_machine_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::screw_pump_direction: return get_screw_pump_direction_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::tile_traffic: return get_tile_traffic_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::tile_dig_designation: return get_tile_dig_designation_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::tile_liquid: return get_tile_liquid_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::tile_building_occ: return get_tile_building_occ_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::tile_liquid_flow_dir: return get_tile_liquid_flow_dir_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::block_square_event_type: return get_block_square_event_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::feature_type: return get_feature_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::feature_init_flags: return get_feature_init_flags_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::feature_alteration_type: return get_feature_alteration_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::world_construction_type: return get_world_construction_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::biome_type: return get_biome_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::flow_type: return get_flow_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::flow_guide_type: return get_flow_guide_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::region_block_event_type: return get_region_block_event_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::craft_material_class: return get_craft_material_class_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::builtin_mats: return get_builtin_mats_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::material_flags: return get_material_flags_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::matter_state: return get_matter_state_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::strain_type: return get_strain_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::inorganic_flags: return get_inorganic_flags_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::environment_type: return get_environment_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::inclusion_type: return get_inclusion_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::organic_mat_category: return get_organic_mat_category_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::meeting_topic: return get_meeting_topic_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::meeting_event_type: return get_meeting_event_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::activity_event_type: return get_activity_event_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::conversation_menu: return get_conversation_menu_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::performance_event_type: return get_performance_event_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::performance_participant_type: return get_performance_participant_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::uniform_category: return get_uniform_category_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::barrack_preference_category: return get_barrack_preference_category_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::squad_event_type: return get_squad_event_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::squad_order_type: return get_squad_order_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::squad_order_cannot_reason: return get_squad_order_cannot_reason_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::army_flags: return get_army_flags_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::unit_path_goal: return get_unit_path_goal_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::unit_station_type: return get_unit_station_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::plant_raw_flags: return get_plant_raw_flags_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::projectile_type: return get_projectile_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::reaction_flags: return get_reaction_flags_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::reaction_reagent_type: return get_reaction_reagent_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::reaction_product_type: return get_reaction_product_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::reaction_product_item_flags: return get_reaction_product_item_flags_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::reaction_product_improvement_flags: return get_reaction_product_improvement_flags_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::general_ref_type: return get_general_ref_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::specific_ref_type: return get_specific_ref_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::histfig_entity_link_type: return get_histfig_entity_link_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::histfig_site_link_type: return get_histfig_site_link_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::histfig_hf_link_type: return get_histfig_hf_link_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::entity_entity_link_type: return get_entity_entity_link_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::resource_allotment_specifier_type: return get_resource_allotment_specifier_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::profession: return get_profession_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::unit_labor_category: return get_unit_labor_category_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::unit_labor: return get_unit_labor_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::job_skill_class: return get_job_skill_class_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::job_skill: return get_job_skill_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::hauler_type: return get_hauler_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::furniture_type: return get_furniture_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::stockpile_category: return get_stockpile_category_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::stockpile_list: return get_stockpile_list_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::creature_interaction_effect_type: return get_creature_interaction_effect_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::creature_interaction_effect_target_mode: return get_creature_interaction_effect_target_mode_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::tiletype_shape_basic: return get_tiletype_shape_basic_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::tiletype_shape: return get_tiletype_shape_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::tiletype_material: return get_tiletype_material_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::tiletype_variant: return get_tiletype_variant_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::tiletype_special: return get_tiletype_special_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::tiletype: return get_tiletype_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::build_req_choice_type: return get_build_req_choice_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::ui_hotkey__T_cmd: return get_ui_hotkey__T_cmd_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::ui_sidebar_mode: return get_ui_sidebar_mode_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::kitchen_exc_type: return get_kitchen_exc_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::timed_event_type: return get_timed_event_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::emotion_type: return get_emotion_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::unit_thought_type: return get_unit_thought_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::value_type: return get_value_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::goal_type: return get_goal_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::personality_facet_type: return get_personality_facet_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::physical_attribute_type: return get_physical_attribute_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::mental_attribute_type: return get_mental_attribute_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::mood_type: return get_mood_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::ghost_type: return get_ghost_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::animal_training_level: return get_animal_training_level_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::unit_report_type: return get_unit_report_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::skill_rating: return get_skill_rating_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::unit_relationship_type: return get_unit_relationship_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::need_type: return get_need_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::ghost_goal: return get_ghost_goal_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::wound_effect_type: return get_wound_effect_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::misc_trait_type: return get_misc_trait_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::unit_action_type: return get_unit_action_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::interface_breakdown_types: return get_interface_breakdown_types_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::embark_finder_option: return get_embark_finder_option_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::viewscreen_image_creator_mode: return get_viewscreen_image_creator_mode_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::viewscreen_kitchenpref_page: return get_viewscreen_kitchenpref_page_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::adventurer_attribute_level: return get_adventurer_attribute_level_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::viewscreen_unitlist_page: return get_viewscreen_unitlist_page_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::world_population_type: return get_world_population_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::world_region_type: return get_world_region_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::geo_layer_type: return get_geo_layer_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::region_map_entry_flags: return get_region_map_entry_flags_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::front_type: return get_front_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::cumulus_type: return get_cumulus_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::stratus_type: return get_stratus_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::fog_type: return get_fog_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::mountain_peak_flags: return get_mountain_peak_flags_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::abstract_building_type: return get_abstract_building_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::abstract_building_flags: return get_abstract_building_flags_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::world_site_type: return get_world_site_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::world_site_flags: return get_world_site_flags_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::site_realization_building_type: return get_site_realization_building_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::site_shop_type: return get_site_shop_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::tree_house_type: return get_tree_house_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::hillock_house_type: return get_hillock_house_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::creation_zone_pwg_alteration_type: return get_creation_zone_pwg_alteration_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::worldgen_region_type: return get_worldgen_region_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::worldgen_range_type: return get_worldgen_range_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::units_other_id: return get_units_other_id_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::conflict_level: return get_conflict_level_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::combat_report_event_type: return get_combat_report_event_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::conversation__T_state: return get_conversation__T_state_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::building_archerytargetst__T_archery_direction: return get_building_archerytargetst__T_archery_direction_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::building_bridgest__T_direction: return get_building_bridgest__T_direction_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::building_siegeenginest__T_facing: return get_building_siegeenginest__T_facing_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::building_siegeenginest__T_action: return get_building_siegeenginest__T_action_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::caste_body_info__T_interactions__T_type: return get_caste_body_info__T_interactions__T_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::caravan_state__T_trade_state: return get_caravan_state__T_trade_state_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::entity_event__T_data__T_insurrection_end__T_result: return get_entity_event__T_data__T_insurrection_end__T_result_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::history_event_change_hf_statest__T_state: return get_history_event_change_hf_statest__T_state_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::history_event_body_abusedst__T_props__T_pile_type: return get_history_event_body_abusedst__T_props__T_pile_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::history_event_body_abusedst__T_abuse_type: return get_history_event_body_abusedst__T_abuse_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::history_event_hist_figure_travelst__T_reason: return get_history_event_hist_figure_travelst__T_reason_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::history_event_artifact_claim_formedst__T_claim_type: return get_history_event_artifact_claim_formedst__T_claim_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::init_display__T_windowed: return get_init_display__T_windowed_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::init_font__T_use_ttf: return get_init_font__T_use_ttf_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::job_item_ref__T_role: return get_job_item_ref__T_role_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::manager_order__T_frequency: return get_manager_order__T_frequency_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::manager_order_condition_item__T_compare_type: return get_manager_order_condition_item__T_compare_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::mandate__T_mode: return get_mandate__T_mode_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::unit_demand__T_place: return get_unit_demand__T_place_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::ui_advmode__T_conversation__T_targets__T_type: return get_ui_advmode__T_conversation__T_targets__T_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::ui_advmode__T_travel_right_map: return get_ui_advmode__T_travel_right_map_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::ui_advmode__T_show_menu: return get_ui_advmode__T_show_menu_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::stop_depart_condition__T_direction: return get_stop_depart_condition__T_direction_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::stop_depart_condition__T_mode: return get_stop_depart_condition__T_mode_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::interface_button_construction_category_selectorst__T_category_id: return get_interface_button_construction_category_selectorst__T_category_id_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::ui_sidebar_menus__T_designation__T_mine_mode: return get_ui_sidebar_menus__T_designation__T_mine_mode_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::ui_sidebar_menus__T_zone__T_mode: return get_ui_sidebar_menus__T_zone__T_mode_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::ui_sidebar_menus__T_unit__T_expel_error: return get_ui_sidebar_menus__T_unit__T_expel_error_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::ui_look_list__T_items__T_type: return get_ui_look_list__T_items__T_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::ui_unit_view_mode__T_value: return get_ui_unit_view_mode__T_value_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::unit__T_meeting__T_state: return get_unit__T_meeting__T_state_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::unit__T_counters__T_soldier_mood: return get_unit__T_counters__T_soldier_mood_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::unit_inventory_item__T_mode: return get_unit_inventory_item__T_mode_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::unit_preference__T_type: return get_unit_preference__T_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::unit_complaint__T_type: return get_unit_complaint__T_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::unit_request__T_type: return get_unit_request__T_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::KeybindingScreen__T_mode: return get_KeybindingScreen__T_mode_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::viewscreen_adventure_logst__T_mode: return get_viewscreen_adventure_logst__T_mode_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::viewscreen_adventure_logst__T_info_mode: return get_viewscreen_adventure_logst__T_info_mode_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::viewscreen_assign_display_itemst__T_sel_column: return get_viewscreen_assign_display_itemst__T_sel_column_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::viewscreen_choose_start_sitest__T_page: return get_viewscreen_choose_start_sitest__T_page_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::mission__T_details__T_raid__T_raid_type: return get_mission__T_details__T_raid__T_raid_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::mission__T_type: return get_mission__T_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::viewscreen_civlistst__T_rumors__T_type: return get_viewscreen_civlistst__T_rumors__T_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::viewscreen_civlistst__T_page: return get_viewscreen_civlistst__T_page_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::viewscreen_game_cleanerst__T_state: return get_viewscreen_game_cleanerst__T_state_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::viewscreen_justicest__T_cur_column: return get_viewscreen_justicest__T_cur_column_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::assign_trade_status__T_status: return get_assign_trade_status__T_status_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::viewscreen_layer_choose_language_namest__T_current_component: return get_viewscreen_layer_choose_language_namest__T_current_component_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::viewscreen_layer_militaryst__T_equip__T_mode: return get_viewscreen_layer_militaryst__T_equip__T_mode_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::viewscreen_layer_militaryst__T_equip__T_edit_mode: return get_viewscreen_layer_militaryst__T_equip__T_edit_mode_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::viewscreen_layer_militaryst__T_page: return get_viewscreen_layer_militaryst__T_page_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::viewscreen_layer_noblelistst__T_mode: return get_viewscreen_layer_noblelistst__T_mode_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::viewscreen_legendsst__T_cur_page: return get_viewscreen_legendsst__T_cur_page_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::viewscreen_locationsst__T_in_edit: return get_viewscreen_locationsst__T_in_edit_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::viewscreen_locationsst__T_menu: return get_viewscreen_locationsst__T_menu_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::viewscreen_loadgamest__T_cur_step: return get_viewscreen_loadgamest__T_cur_step_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::viewscreen_petst__T_mode: return get_viewscreen_petst__T_mode_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::setup_character_info__T_status: return get_setup_character_info__T_status_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::viewscreen_setupadventurest__T_page: return get_viewscreen_setupadventurest__T_page_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::viewscreen_setupadventurest__T_sel_trait_column: return get_viewscreen_setupadventurest__T_sel_trait_column_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::viewscreen_setupdwarfgamest__T_mode: return get_viewscreen_setupdwarfgamest__T_mode_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::viewscreen_titlest__T_sel_subpage: return get_viewscreen_titlest__T_sel_subpage_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::viewscreen_workquota_conditionst__T_mode: return get_viewscreen_workquota_conditionst__T_mode_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::viewscreen_workshop_profilest__T_tab: return get_viewscreen_workshop_profilest__T_tab_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::world_underground_region__T_type: return get_world_underground_region__T_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::world_data__T_flip_latitude: return get_world_data__T_flip_latitude_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::abstract_building_dungeonst__T_dungeon_type: return get_abstract_building_dungeonst__T_dungeon_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::cultural_identity__T_group_log__T_join_type: return get_cultural_identity__T_group_log__T_join_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::world_site_realization__T_areas__T_type: return get_world_site_realization__T_areas__T_type_value_decoded(p_node->m_base_type, p_node->m_address); + case DF_Type::crime__T_mode: return get_crime__T_mode_value_decoded(p_node->m_base_type, p_node->m_address); + default: break; + } + return std::tuple(-1111,"UNKNOWN DF_TYPE", ""); +} diff --git a/dwarfexplorer/generated/fill_globals.cpp b/dwarfexplorer/generated/fill_globals.cpp index dce8133..aab991e 100644 --- a/dwarfexplorer/generated/fill_globals.cpp +++ b/dwarfexplorer/generated/fill_globals.cpp @@ -1,1551 +1,1531 @@ -/* - * Copyright 2019 Rafael Agundo - * - * This file is part of dwarfexplorer plugin for DFHack - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - * - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "df_all.h" -#include "node.h" -#include "offsets_cache.h" -#include "DF_Types.h" - - -using namespace rdf; - - -extern DF_Type get_df_subtype(DF_Type, uint64_t); -extern DF_Type get_real_subtype(uint64_t p_address, DF_Type p_df_type); -extern DF_Type enum_base_type(DF_Type p_enum); -extern DF_Type enum_size(DF_Type p_enum); - - -extern rdf::NodeDummy* dummy(); - - -void fill_globals(Node* p_node_parent) -{ - std::string field_name; - - field_name = "activity_next_id"; - auto n_activity_next_id = new NodeSimple; - n_activity_next_id->m_field_name = field_name; - n_activity_next_id->m_df_type = DF_Type::int32_t; - n_activity_next_id->m_rdf_type = RDF_Type::int32_t; - n_activity_next_id->m_node_type = NodeType::Simple; - n_activity_next_id->m_address = reinterpret_cast(df::global::activity_next_id); - n_activity_next_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_activity_next_id); - - field_name = "agreement_next_id"; - auto n_agreement_next_id = new NodeSimple; - n_agreement_next_id->m_field_name = field_name; - n_agreement_next_id->m_df_type = DF_Type::int32_t; - n_agreement_next_id->m_rdf_type = RDF_Type::int32_t; - n_agreement_next_id->m_node_type = NodeType::Simple; - n_agreement_next_id->m_address = reinterpret_cast(df::global::agreement_next_id); - n_agreement_next_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_agreement_next_id); - - field_name = "army_controller_next_id"; - auto n_army_controller_next_id = new NodeSimple; - n_army_controller_next_id->m_field_name = field_name; - n_army_controller_next_id->m_df_type = DF_Type::int32_t; - n_army_controller_next_id->m_rdf_type = RDF_Type::int32_t; - n_army_controller_next_id->m_node_type = NodeType::Simple; - n_army_controller_next_id->m_address = reinterpret_cast(df::global::army_controller_next_id); - n_army_controller_next_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_army_controller_next_id); - - field_name = "army_next_id"; - auto n_army_next_id = new NodeSimple; - n_army_next_id->m_field_name = field_name; - n_army_next_id->m_df_type = DF_Type::int32_t; - n_army_next_id->m_rdf_type = RDF_Type::int32_t; - n_army_next_id->m_node_type = NodeType::Simple; - n_army_next_id->m_address = reinterpret_cast(df::global::army_next_id); - n_army_next_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_army_next_id); - - field_name = "army_tracking_info_next_id"; - auto n_army_tracking_info_next_id = new NodeSimple; - n_army_tracking_info_next_id->m_field_name = field_name; - n_army_tracking_info_next_id->m_df_type = DF_Type::int32_t; - n_army_tracking_info_next_id->m_rdf_type = RDF_Type::int32_t; - n_army_tracking_info_next_id->m_node_type = NodeType::Simple; - n_army_tracking_info_next_id->m_address = reinterpret_cast(df::global::army_tracking_info_next_id); - n_army_tracking_info_next_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_army_tracking_info_next_id); - - field_name = "art_image_chunk_next_id"; - auto n_art_image_chunk_next_id = new NodeSimple; - n_art_image_chunk_next_id->m_field_name = field_name; - n_art_image_chunk_next_id->m_df_type = DF_Type::int32_t; - n_art_image_chunk_next_id->m_rdf_type = RDF_Type::int32_t; - n_art_image_chunk_next_id->m_node_type = NodeType::Simple; - n_art_image_chunk_next_id->m_address = reinterpret_cast(df::global::art_image_chunk_next_id); - n_art_image_chunk_next_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_art_image_chunk_next_id); - - field_name = "artifact_next_id"; - auto n_artifact_next_id = new NodeSimple; - n_artifact_next_id->m_field_name = field_name; - n_artifact_next_id->m_df_type = DF_Type::int32_t; - n_artifact_next_id->m_rdf_type = RDF_Type::int32_t; - n_artifact_next_id->m_node_type = NodeType::Simple; - n_artifact_next_id->m_address = reinterpret_cast(df::global::artifact_next_id); - n_artifact_next_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_artifact_next_id); - - field_name = "basic_seed"; - auto n_basic_seed = new NodeSimple; - n_basic_seed->m_field_name = field_name; - n_basic_seed->m_df_type = DF_Type::int32_t; - n_basic_seed->m_rdf_type = RDF_Type::int32_t; - n_basic_seed->m_node_type = NodeType::Simple; - n_basic_seed->m_address = reinterpret_cast(df::global::basic_seed); - n_basic_seed->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_basic_seed); - - field_name = "belief_system_next_id"; - auto n_belief_system_next_id = new NodeSimple; - n_belief_system_next_id->m_field_name = field_name; - n_belief_system_next_id->m_df_type = DF_Type::int32_t; - n_belief_system_next_id->m_rdf_type = RDF_Type::int32_t; - n_belief_system_next_id->m_node_type = NodeType::Simple; - n_belief_system_next_id->m_address = reinterpret_cast(df::global::belief_system_next_id); - n_belief_system_next_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_belief_system_next_id); - - field_name = "building_next_id"; - auto n_building_next_id = new NodeSimple; - n_building_next_id->m_field_name = field_name; - n_building_next_id->m_df_type = DF_Type::int32_t; - n_building_next_id->m_rdf_type = RDF_Type::int32_t; - n_building_next_id->m_node_type = NodeType::Simple; - n_building_next_id->m_address = reinterpret_cast(df::global::building_next_id); - n_building_next_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_building_next_id); - - field_name = "created_item_count"; - auto n_created_item_count = new NodeVector; - n_created_item_count->m_field_name = field_name; - n_created_item_count->m_df_type = DF_Type::int32_t; - n_created_item_count->m_rdf_type = RDF_Type::Vector; - n_created_item_count->m_node_type = NodeType::Vector; - n_created_item_count->m_addornements = "v"; - n_created_item_count->m_address = reinterpret_cast(df::global::created_item_count); - n_created_item_count->m_parent = p_node_parent; - n_created_item_count->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_created_item_count); - - field_name = "created_item_matindex"; - auto n_created_item_matindex = new NodeVector; - n_created_item_matindex->m_field_name = field_name; - n_created_item_matindex->m_df_type = DF_Type::int16_t; - n_created_item_matindex->m_rdf_type = RDF_Type::Vector; - n_created_item_matindex->m_node_type = NodeType::Vector; - n_created_item_matindex->m_addornements = "v"; - n_created_item_matindex->m_address = reinterpret_cast(df::global::created_item_matindex); - n_created_item_matindex->m_parent = p_node_parent; - n_created_item_matindex->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_created_item_matindex); - - field_name = "created_item_mattype"; - auto n_created_item_mattype = new NodeVector; - n_created_item_mattype->m_field_name = field_name; - n_created_item_mattype->m_df_type = DF_Type::int16_t; - n_created_item_mattype->m_rdf_type = RDF_Type::Vector; - n_created_item_mattype->m_node_type = NodeType::Vector; - n_created_item_mattype->m_addornements = "v"; - n_created_item_mattype->m_address = reinterpret_cast(df::global::created_item_mattype); - n_created_item_mattype->m_parent = p_node_parent; - n_created_item_mattype->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_created_item_mattype); - - field_name = "created_item_subtype"; - auto n_created_item_subtype = new NodeVector; - n_created_item_subtype->m_field_name = field_name; - n_created_item_subtype->m_df_type = DF_Type::int16_t; - n_created_item_subtype->m_rdf_type = RDF_Type::Vector; - n_created_item_subtype->m_node_type = NodeType::Vector; - n_created_item_subtype->m_addornements = "v"; - n_created_item_subtype->m_address = reinterpret_cast(df::global::created_item_subtype); - n_created_item_subtype->m_parent = p_node_parent; - n_created_item_subtype->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_created_item_subtype); - - field_name = "created_item_type"; - auto n_created_item_type = new NodeVector; - n_created_item_type->m_field_name = field_name; - n_created_item_type->m_df_type = DF_Type::item_type; - n_created_item_type->m_rdf_type = RDF_Type::Vector; - n_created_item_type->m_node_type = NodeType::Vector; - n_created_item_type->m_enum_base = DF_Type::int16_t; - n_created_item_type->m_defined_in = "df.item-raws.xml"; - n_created_item_type->m_addornements = "v"; - n_created_item_type->m_address = reinterpret_cast(df::global::created_item_type); - n_created_item_type->m_parent = p_node_parent; - n_created_item_type->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_created_item_type); - - field_name = "crime_next_id"; - auto n_crime_next_id = new NodeSimple; - n_crime_next_id->m_field_name = field_name; - n_crime_next_id->m_df_type = DF_Type::int32_t; - n_crime_next_id->m_rdf_type = RDF_Type::int32_t; - n_crime_next_id->m_node_type = NodeType::Simple; - n_crime_next_id->m_address = reinterpret_cast(df::global::crime_next_id); - n_crime_next_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_crime_next_id); - - field_name = "cultural_identity_next_id"; - auto n_cultural_identity_next_id = new NodeSimple; - n_cultural_identity_next_id->m_field_name = field_name; - n_cultural_identity_next_id->m_df_type = DF_Type::int32_t; - n_cultural_identity_next_id->m_rdf_type = RDF_Type::int32_t; - n_cultural_identity_next_id->m_node_type = NodeType::Simple; - n_cultural_identity_next_id->m_address = reinterpret_cast(df::global::cultural_identity_next_id); - n_cultural_identity_next_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cultural_identity_next_id); - - field_name = "cur_season"; - auto n_cur_season = new NodeSimple; - n_cur_season->m_field_name = field_name; - n_cur_season->m_df_type = DF_Type::int8_t; - n_cur_season->m_rdf_type = RDF_Type::int8_t; - n_cur_season->m_node_type = NodeType::Simple; - n_cur_season->m_address = reinterpret_cast(df::global::cur_season); - n_cur_season->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cur_season); - - field_name = "cur_season_tick"; - auto n_cur_season_tick = new NodeSimple; - n_cur_season_tick->m_field_name = field_name; - n_cur_season_tick->m_df_type = DF_Type::int32_t; - n_cur_season_tick->m_rdf_type = RDF_Type::int32_t; - n_cur_season_tick->m_node_type = NodeType::Simple; - n_cur_season_tick->m_address = reinterpret_cast(df::global::cur_season_tick); - n_cur_season_tick->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cur_season_tick); - - field_name = "cur_year"; - auto n_cur_year = new NodeSimple; - n_cur_year->m_field_name = field_name; - n_cur_year->m_df_type = DF_Type::int32_t; - n_cur_year->m_rdf_type = RDF_Type::int32_t; - n_cur_year->m_node_type = NodeType::Simple; - n_cur_year->m_address = reinterpret_cast(df::global::cur_year); - n_cur_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cur_year); - - field_name = "cur_year_tick"; - auto n_cur_year_tick = new NodeSimple; - n_cur_year_tick->m_field_name = field_name; - n_cur_year_tick->m_df_type = DF_Type::int32_t; - n_cur_year_tick->m_rdf_type = RDF_Type::int32_t; - n_cur_year_tick->m_node_type = NodeType::Simple; - n_cur_year_tick->m_address = reinterpret_cast(df::global::cur_year_tick); - n_cur_year_tick->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cur_year_tick); - - field_name = "cur_year_tick_advmode"; - auto n_cur_year_tick_advmode = new NodeSimple; - n_cur_year_tick_advmode->m_field_name = field_name; - n_cur_year_tick_advmode->m_df_type = DF_Type::int32_t; - n_cur_year_tick_advmode->m_rdf_type = RDF_Type::int32_t; - n_cur_year_tick_advmode->m_node_type = NodeType::Simple; - n_cur_year_tick_advmode->m_address = reinterpret_cast(df::global::cur_year_tick_advmode); - n_cur_year_tick_advmode->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cur_year_tick_advmode); - - field_name = "current_weather"; - auto n_current_weather = new NodeArray; - n_current_weather->m_address = reinterpret_cast(df::global::current_weather); - n_current_weather->m_field_name = field_name; - n_current_weather->m_df_type = DF_Type::weather_type; - n_current_weather->m_rdf_type = RDF_Type::Array; - n_current_weather->m_node_type = NodeType::Array; - n_current_weather->m_enum_base = DF_Type::int8_t; - n_current_weather->m_defined_in = "df.globals.xml"; - n_current_weather->m_addornements = "[5[5"; - n_current_weather->m_array_size = 5; - n_current_weather->m_address = reinterpret_cast(df::global::current_weather); - n_current_weather->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_current_weather); - - field_name = "cursor"; - auto n_cursor = new NodeCompound; - n_cursor->m_field_name = field_name; - n_cursor->m_df_type = DF_Type::T_cursor; - n_cursor->m_rdf_type = RDF_Type::Compound; - n_cursor->m_node_type = NodeType::Compound; - n_cursor->m_address = reinterpret_cast(df::global::cursor); - n_cursor->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cursor); - - field_name = "d_init"; - auto n_d_init = new NodeCompound; - n_d_init->m_field_name = field_name; - n_d_init->m_df_type = DF_Type::d_init; - n_d_init->m_rdf_type = RDF_Type::Compound; - n_d_init->m_node_type = NodeType::Compound; - n_d_init->m_address = reinterpret_cast(df::global::d_init); - n_d_init->m_defined_in = "df.globals.xml"; - n_d_init->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_d_init); - - field_name = "dance_form_next_id"; - auto n_dance_form_next_id = new NodeSimple; - n_dance_form_next_id->m_field_name = field_name; - n_dance_form_next_id->m_df_type = DF_Type::int32_t; - n_dance_form_next_id->m_rdf_type = RDF_Type::int32_t; - n_dance_form_next_id->m_node_type = NodeType::Simple; - n_dance_form_next_id->m_address = reinterpret_cast(df::global::dance_form_next_id); - n_dance_form_next_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dance_form_next_id); - - field_name = "debug_combat"; - auto n_debug_combat = new NodeSimple; - n_debug_combat->m_field_name = field_name; - n_debug_combat->m_df_type = DF_Type::Bool; - n_debug_combat->m_rdf_type = RDF_Type::Bool; - n_debug_combat->m_node_type = NodeType::Simple; - n_debug_combat->m_address = reinterpret_cast(df::global::debug_combat); - n_debug_combat->m_comment = "Functionality unknown, combat-related"; - n_debug_combat->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_debug_combat); - - field_name = "debug_fastmining"; - auto n_debug_fastmining = new NodeSimple; - n_debug_fastmining->m_field_name = field_name; - n_debug_fastmining->m_df_type = DF_Type::Bool; - n_debug_fastmining->m_rdf_type = RDF_Type::Bool; - n_debug_fastmining->m_node_type = NodeType::Simple; - n_debug_fastmining->m_address = reinterpret_cast(df::global::debug_fastmining); - n_debug_fastmining->m_comment = "All dwarves mine as fast as a Legendary Miner"; - n_debug_fastmining->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_debug_fastmining); - - field_name = "debug_noberserk"; - auto n_debug_noberserk = new NodeSimple; - n_debug_noberserk->m_field_name = field_name; - n_debug_noberserk->m_df_type = DF_Type::Bool; - n_debug_noberserk->m_rdf_type = RDF_Type::Bool; - n_debug_noberserk->m_node_type = NodeType::Simple; - n_debug_noberserk->m_address = reinterpret_cast(df::global::debug_noberserk); - n_debug_noberserk->m_comment = "Insanity can only result in Crazed or Melancholy, never Berserk"; - n_debug_noberserk->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_debug_noberserk); - - field_name = "debug_nodrink"; - auto n_debug_nodrink = new NodeSimple; - n_debug_nodrink->m_field_name = field_name; - n_debug_nodrink->m_df_type = DF_Type::Bool; - n_debug_nodrink->m_rdf_type = RDF_Type::Bool; - n_debug_nodrink->m_node_type = NodeType::Simple; - n_debug_nodrink->m_address = reinterpret_cast(df::global::debug_nodrink); - n_debug_nodrink->m_comment = "Disables thirst on everything"; - n_debug_nodrink->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_debug_nodrink); - - field_name = "debug_noeat"; - auto n_debug_noeat = new NodeSimple; - n_debug_noeat->m_field_name = field_name; - n_debug_noeat->m_df_type = DF_Type::Bool; - n_debug_noeat->m_rdf_type = RDF_Type::Bool; - n_debug_noeat->m_node_type = NodeType::Simple; - n_debug_noeat->m_address = reinterpret_cast(df::global::debug_noeat); - n_debug_noeat->m_comment = "Disables hunger on everything"; - n_debug_noeat->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_debug_noeat); - - field_name = "debug_nomoods"; - auto n_debug_nomoods = new NodeSimple; - n_debug_nomoods->m_field_name = field_name; - n_debug_nomoods->m_df_type = DF_Type::Bool; - n_debug_nomoods->m_rdf_type = RDF_Type::Bool; - n_debug_nomoods->m_node_type = NodeType::Simple; - n_debug_nomoods->m_address = reinterpret_cast(df::global::debug_nomoods); - n_debug_nomoods->m_comment = "Same as ARTIFACTS:NO"; - n_debug_nomoods->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_debug_nomoods); - - field_name = "debug_nopause"; - auto n_debug_nopause = new NodeSimple; - n_debug_nopause->m_field_name = field_name; - n_debug_nopause->m_df_type = DF_Type::Bool; - n_debug_nopause->m_rdf_type = RDF_Type::Bool; - n_debug_nopause->m_node_type = NodeType::Simple; - n_debug_nopause->m_address = reinterpret_cast(df::global::debug_nopause); - n_debug_nopause->m_comment = "Prevents the game from being paused"; - n_debug_nopause->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_debug_nopause); - - field_name = "debug_nosleep"; - auto n_debug_nosleep = new NodeSimple; - n_debug_nosleep->m_field_name = field_name; - n_debug_nosleep->m_df_type = DF_Type::Bool; - n_debug_nosleep->m_rdf_type = RDF_Type::Bool; - n_debug_nosleep->m_node_type = NodeType::Simple; - n_debug_nosleep->m_address = reinterpret_cast(df::global::debug_nosleep); - n_debug_nosleep->m_comment = "Disables drowsiness on everything"; - n_debug_nosleep->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_debug_nosleep); - - field_name = "debug_showambush"; - auto n_debug_showambush = new NodeSimple; - n_debug_showambush->m_field_name = field_name; - n_debug_showambush->m_df_type = DF_Type::Bool; - n_debug_showambush->m_rdf_type = RDF_Type::Bool; - n_debug_showambush->m_node_type = NodeType::Simple; - n_debug_showambush->m_address = reinterpret_cast(df::global::debug_showambush); - n_debug_showambush->m_comment = "Makes hidden ambushers visible on-screen and in the units list (but not to your citizens)"; - n_debug_showambush->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_debug_showambush); - - field_name = "debug_turbospeed"; - auto n_debug_turbospeed = new NodeSimple; - n_debug_turbospeed->m_field_name = field_name; - n_debug_turbospeed->m_df_type = DF_Type::Bool; - n_debug_turbospeed->m_rdf_type = RDF_Type::Bool; - n_debug_turbospeed->m_node_type = NodeType::Simple; - n_debug_turbospeed->m_address = reinterpret_cast(df::global::debug_turbospeed); - n_debug_turbospeed->m_comment = "All units move and work at maximum speed"; - n_debug_turbospeed->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_debug_turbospeed); - - field_name = "debug_wildlife"; - auto n_debug_wildlife = new NodeSimple; - n_debug_wildlife->m_field_name = field_name; - n_debug_wildlife->m_df_type = DF_Type::Bool; - n_debug_wildlife->m_rdf_type = RDF_Type::Bool; - n_debug_wildlife->m_node_type = NodeType::Simple; - n_debug_wildlife->m_address = reinterpret_cast(df::global::debug_wildlife); - n_debug_wildlife->m_comment = "Functionality unknown, wildlife-related"; - n_debug_wildlife->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_debug_wildlife); - - field_name = "entity_next_id"; - auto n_entity_next_id = new NodeSimple; - n_entity_next_id->m_field_name = field_name; - n_entity_next_id->m_df_type = DF_Type::int32_t; - n_entity_next_id->m_rdf_type = RDF_Type::int32_t; - n_entity_next_id->m_node_type = NodeType::Simple; - n_entity_next_id->m_address = reinterpret_cast(df::global::entity_next_id); - n_entity_next_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity_next_id); - - field_name = "flow_guide_next_id"; - auto n_flow_guide_next_id = new NodeSimple; - n_flow_guide_next_id->m_field_name = field_name; - n_flow_guide_next_id->m_df_type = DF_Type::int32_t; - n_flow_guide_next_id->m_rdf_type = RDF_Type::int32_t; - n_flow_guide_next_id->m_node_type = NodeType::Simple; - n_flow_guide_next_id->m_address = reinterpret_cast(df::global::flow_guide_next_id); - n_flow_guide_next_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flow_guide_next_id); - - field_name = "flows"; - auto n_flows = new NodeVector; - n_flows->m_field_name = field_name; - n_flows->m_df_type = DF_Type::flow_info; - n_flows->m_rdf_type = RDF_Type::Vector; - n_flows->m_node_type = NodeType::Vector; - n_flows->m_defined_in = "df.map.xml"; - n_flows->m_addornements = "v*"; - n_flows->m_address = reinterpret_cast(df::global::flows); - n_flows->m_parent = p_node_parent; - n_flows->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_flows); - - field_name = "formation_next_id"; - auto n_formation_next_id = new NodeSimple; - n_formation_next_id->m_field_name = field_name; - n_formation_next_id->m_df_type = DF_Type::int32_t; - n_formation_next_id->m_rdf_type = RDF_Type::int32_t; - n_formation_next_id->m_node_type = NodeType::Simple; - n_formation_next_id->m_address = reinterpret_cast(df::global::formation_next_id); - n_formation_next_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_formation_next_id); - - field_name = "gamemode"; - auto n_gamemode = new NodeEnum; - n_gamemode->m_field_name = field_name; - n_gamemode->m_df_type = DF_Type::game_mode; - n_gamemode->m_rdf_type = RDF_Type::Enum; - n_gamemode->m_node_type = NodeType::Enum; - n_gamemode->m_base_type = DF_Type::int32_t; - n_gamemode->m_enum_type = "game_mode"; - n_gamemode->m_address = reinterpret_cast(df::global::gamemode); - n_gamemode->m_defined_in = "df.globals.xml"; - n_gamemode->m_first_value = 0; - n_gamemode->m_last_value = 3; - n_gamemode->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_gamemode); - - field_name = "gametype"; - auto n_gametype = new NodeEnum; - n_gametype->m_field_name = field_name; - n_gametype->m_df_type = DF_Type::game_type; - n_gametype->m_rdf_type = RDF_Type::Enum; - n_gametype->m_node_type = NodeType::Enum; - n_gametype->m_base_type = DF_Type::int32_t; - n_gametype->m_enum_type = "game_type"; - n_gametype->m_address = reinterpret_cast(df::global::gametype); - n_gametype->m_defined_in = "df.globals.xml"; - n_gametype->m_first_value = 0; - n_gametype->m_last_value = 11; - n_gametype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_gametype); - - field_name = "gps"; - auto n_gps = new NodeCompound; - n_gps->m_field_name = field_name; - n_gps->m_df_type = DF_Type::graphic; - n_gps->m_rdf_type = RDF_Type::Compound; - n_gps->m_node_type = NodeType::Compound; - n_gps->m_address = reinterpret_cast(df::global::gps); - n_gps->m_defined_in = "df.graphics.xml"; - n_gps->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_gps); - - field_name = "gview"; - auto n_gview = new NodeCompound; - n_gview->m_field_name = field_name; - n_gview->m_df_type = DF_Type::interfacest; - n_gview->m_rdf_type = RDF_Type::Compound; - n_gview->m_node_type = NodeType::Compound; - n_gview->m_address = reinterpret_cast(df::global::gview); - n_gview->m_defined_in = "df.viewscreen.xml"; - n_gview->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_gview); - - field_name = "hist_event_collection_next_id"; - auto n_hist_event_collection_next_id = new NodeSimple; - n_hist_event_collection_next_id->m_field_name = field_name; - n_hist_event_collection_next_id->m_df_type = DF_Type::int32_t; - n_hist_event_collection_next_id->m_rdf_type = RDF_Type::int32_t; - n_hist_event_collection_next_id->m_node_type = NodeType::Simple; - n_hist_event_collection_next_id->m_address = reinterpret_cast(df::global::hist_event_collection_next_id); - n_hist_event_collection_next_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_hist_event_collection_next_id); - - field_name = "hist_event_next_id"; - auto n_hist_event_next_id = new NodeSimple; - n_hist_event_next_id->m_field_name = field_name; - n_hist_event_next_id->m_df_type = DF_Type::int32_t; - n_hist_event_next_id->m_rdf_type = RDF_Type::int32_t; - n_hist_event_next_id->m_node_type = NodeType::Simple; - n_hist_event_next_id->m_address = reinterpret_cast(df::global::hist_event_next_id); - n_hist_event_next_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_hist_event_next_id); - - field_name = "hist_figure_next_id"; - auto n_hist_figure_next_id = new NodeSimple; - n_hist_figure_next_id->m_field_name = field_name; - n_hist_figure_next_id->m_df_type = DF_Type::int32_t; - n_hist_figure_next_id->m_rdf_type = RDF_Type::int32_t; - n_hist_figure_next_id->m_node_type = NodeType::Simple; - n_hist_figure_next_id->m_address = reinterpret_cast(df::global::hist_figure_next_id); - n_hist_figure_next_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_hist_figure_next_id); - - field_name = "identity_next_id"; - auto n_identity_next_id = new NodeSimple; - n_identity_next_id->m_field_name = field_name; - n_identity_next_id->m_df_type = DF_Type::int32_t; - n_identity_next_id->m_rdf_type = RDF_Type::int32_t; - n_identity_next_id->m_node_type = NodeType::Simple; - n_identity_next_id->m_address = reinterpret_cast(df::global::identity_next_id); - n_identity_next_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_identity_next_id); - - field_name = "incident_next_id"; - auto n_incident_next_id = new NodeSimple; - n_incident_next_id->m_field_name = field_name; - n_incident_next_id->m_df_type = DF_Type::int32_t; - n_incident_next_id->m_rdf_type = RDF_Type::int32_t; - n_incident_next_id->m_node_type = NodeType::Simple; - n_incident_next_id->m_address = reinterpret_cast(df::global::incident_next_id); - n_incident_next_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_incident_next_id); - - field_name = "init"; - auto n_init = new NodeCompound; - n_init->m_field_name = field_name; - n_init->m_df_type = DF_Type::init; - n_init->m_rdf_type = RDF_Type::Compound; - n_init->m_node_type = NodeType::Compound; - n_init->m_address = reinterpret_cast(df::global::init); - n_init->m_defined_in = "df.init.xml"; - n_init->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_init); - - field_name = "interaction_instance_next_id"; - auto n_interaction_instance_next_id = new NodeSimple; - n_interaction_instance_next_id->m_field_name = field_name; - n_interaction_instance_next_id->m_df_type = DF_Type::int32_t; - n_interaction_instance_next_id->m_rdf_type = RDF_Type::int32_t; - n_interaction_instance_next_id->m_node_type = NodeType::Simple; - n_interaction_instance_next_id->m_address = reinterpret_cast(df::global::interaction_instance_next_id); - n_interaction_instance_next_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_interaction_instance_next_id); - - field_name = "item_next_id"; - auto n_item_next_id = new NodeSimple; - n_item_next_id->m_field_name = field_name; - n_item_next_id->m_df_type = DF_Type::int32_t; - n_item_next_id->m_rdf_type = RDF_Type::int32_t; - n_item_next_id->m_node_type = NodeType::Simple; - n_item_next_id->m_address = reinterpret_cast(df::global::item_next_id); - n_item_next_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_next_id); - - field_name = "job_next_id"; - auto n_job_next_id = new NodeSimple; - n_job_next_id->m_field_name = field_name; - n_job_next_id->m_df_type = DF_Type::int32_t; - n_job_next_id->m_rdf_type = RDF_Type::int32_t; - n_job_next_id->m_node_type = NodeType::Simple; - n_job_next_id->m_address = reinterpret_cast(df::global::job_next_id); - n_job_next_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_job_next_id); - - field_name = "machine_next_id"; - auto n_machine_next_id = new NodeSimple; - n_machine_next_id->m_field_name = field_name; - n_machine_next_id->m_df_type = DF_Type::int32_t; - n_machine_next_id->m_rdf_type = RDF_Type::int32_t; - n_machine_next_id->m_node_type = NodeType::Simple; - n_machine_next_id->m_address = reinterpret_cast(df::global::machine_next_id); - n_machine_next_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_machine_next_id); - - field_name = "map_renderer"; - auto n_map_renderer = new NodeCompound; - n_map_renderer->m_field_name = field_name; - n_map_renderer->m_df_type = DF_Type::map_renderer; - n_map_renderer->m_rdf_type = RDF_Type::Compound; - n_map_renderer->m_node_type = NodeType::Compound; - n_map_renderer->m_address = reinterpret_cast(df::global::map_renderer); - n_map_renderer->m_defined_in = "df.ui.xml"; - n_map_renderer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_map_renderer); - - field_name = "min_load_version"; - auto n_min_load_version = new NodeSimple; - n_min_load_version->m_field_name = field_name; - n_min_load_version->m_df_type = DF_Type::int32_t; - n_min_load_version->m_rdf_type = RDF_Type::int32_t; - n_min_load_version->m_node_type = NodeType::Simple; - n_min_load_version->m_address = reinterpret_cast(df::global::min_load_version); - n_min_load_version->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_min_load_version); - - field_name = "movie_version"; - auto n_movie_version = new NodeSimple; - n_movie_version->m_field_name = field_name; - n_movie_version->m_df_type = DF_Type::int32_t; - n_movie_version->m_rdf_type = RDF_Type::int32_t; - n_movie_version->m_node_type = NodeType::Simple; - n_movie_version->m_address = reinterpret_cast(df::global::movie_version); - n_movie_version->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_movie_version); - - field_name = "musical_form_next_id"; - auto n_musical_form_next_id = new NodeSimple; - n_musical_form_next_id->m_field_name = field_name; - n_musical_form_next_id->m_df_type = DF_Type::int32_t; - n_musical_form_next_id->m_rdf_type = RDF_Type::int32_t; - n_musical_form_next_id->m_node_type = NodeType::Simple; - n_musical_form_next_id->m_address = reinterpret_cast(df::global::musical_form_next_id); - n_musical_form_next_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_musical_form_next_id); - - field_name = "nemesis_next_id"; - auto n_nemesis_next_id = new NodeSimple; - n_nemesis_next_id->m_field_name = field_name; - n_nemesis_next_id->m_df_type = DF_Type::int32_t; - n_nemesis_next_id->m_rdf_type = RDF_Type::int32_t; - n_nemesis_next_id->m_node_type = NodeType::Simple; - n_nemesis_next_id->m_address = reinterpret_cast(df::global::nemesis_next_id); - n_nemesis_next_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_nemesis_next_id); - - field_name = "occupation_next_id"; - auto n_occupation_next_id = new NodeSimple; - n_occupation_next_id->m_field_name = field_name; - n_occupation_next_id->m_df_type = DF_Type::int32_t; - n_occupation_next_id->m_rdf_type = RDF_Type::int32_t; - n_occupation_next_id->m_node_type = NodeType::Simple; - n_occupation_next_id->m_address = reinterpret_cast(df::global::occupation_next_id); - n_occupation_next_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_occupation_next_id); - - field_name = "pause_state"; - auto n_pause_state = new NodeSimple; - n_pause_state->m_field_name = field_name; - n_pause_state->m_df_type = DF_Type::Bool; - n_pause_state->m_rdf_type = RDF_Type::Bool; - n_pause_state->m_node_type = NodeType::Simple; - n_pause_state->m_address = reinterpret_cast(df::global::pause_state); - n_pause_state->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pause_state); - - field_name = "poetic_form_next_id"; - auto n_poetic_form_next_id = new NodeSimple; - n_poetic_form_next_id->m_field_name = field_name; - n_poetic_form_next_id->m_df_type = DF_Type::int32_t; - n_poetic_form_next_id->m_rdf_type = RDF_Type::int32_t; - n_poetic_form_next_id->m_node_type = NodeType::Simple; - n_poetic_form_next_id->m_address = reinterpret_cast(df::global::poetic_form_next_id); - n_poetic_form_next_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_poetic_form_next_id); - - field_name = "process_dig"; - auto n_process_dig = new NodeSimple; - n_process_dig->m_field_name = field_name; - n_process_dig->m_df_type = DF_Type::Bool; - n_process_dig->m_rdf_type = RDF_Type::Bool; - n_process_dig->m_node_type = NodeType::Simple; - n_process_dig->m_address = reinterpret_cast(df::global::process_dig); - n_process_dig->m_comment = "Requests dig designations to be processed next frame."; - n_process_dig->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_process_dig); - - field_name = "process_jobs"; - auto n_process_jobs = new NodeSimple; - n_process_jobs->m_field_name = field_name; - n_process_jobs->m_df_type = DF_Type::Bool; - n_process_jobs->m_rdf_type = RDF_Type::Bool; - n_process_jobs->m_node_type = NodeType::Simple; - n_process_jobs->m_address = reinterpret_cast(df::global::process_jobs); - n_process_jobs->m_comment = "Requests building jobs to be processed next frame."; - n_process_jobs->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_process_jobs); - - field_name = "proj_next_id"; - auto n_proj_next_id = new NodeSimple; - n_proj_next_id->m_field_name = field_name; - n_proj_next_id->m_df_type = DF_Type::int32_t; - n_proj_next_id->m_rdf_type = RDF_Type::int32_t; - n_proj_next_id->m_node_type = NodeType::Simple; - n_proj_next_id->m_address = reinterpret_cast(df::global::proj_next_id); - n_proj_next_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_proj_next_id); - - field_name = "rhythm_next_id"; - auto n_rhythm_next_id = new NodeSimple; - n_rhythm_next_id->m_field_name = field_name; - n_rhythm_next_id->m_df_type = DF_Type::int32_t; - n_rhythm_next_id->m_rdf_type = RDF_Type::int32_t; - n_rhythm_next_id->m_node_type = NodeType::Simple; - n_rhythm_next_id->m_address = reinterpret_cast(df::global::rhythm_next_id); - n_rhythm_next_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rhythm_next_id); - - field_name = "save_on_exit"; - auto n_save_on_exit = new NodeSimple; - n_save_on_exit->m_field_name = field_name; - n_save_on_exit->m_df_type = DF_Type::Bool; - n_save_on_exit->m_rdf_type = RDF_Type::Bool; - n_save_on_exit->m_node_type = NodeType::Simple; - n_save_on_exit->m_address = reinterpret_cast(df::global::save_on_exit); - n_save_on_exit->m_comment = "Ending the game saves its state back to world.dat or world.sav"; - n_save_on_exit->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_save_on_exit); - - field_name = "scale_next_id"; - auto n_scale_next_id = new NodeSimple; - n_scale_next_id->m_field_name = field_name; - n_scale_next_id->m_df_type = DF_Type::int32_t; - n_scale_next_id->m_rdf_type = RDF_Type::int32_t; - n_scale_next_id->m_node_type = NodeType::Simple; - n_scale_next_id->m_address = reinterpret_cast(df::global::scale_next_id); - n_scale_next_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_scale_next_id); - - field_name = "schedule_next_id"; - auto n_schedule_next_id = new NodeSimple; - n_schedule_next_id->m_field_name = field_name; - n_schedule_next_id->m_df_type = DF_Type::int32_t; - n_schedule_next_id->m_rdf_type = RDF_Type::int32_t; - n_schedule_next_id->m_node_type = NodeType::Simple; - n_schedule_next_id->m_address = reinterpret_cast(df::global::schedule_next_id); - n_schedule_next_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_schedule_next_id); - - field_name = "selection_rect"; - auto n_selection_rect = new NodeCompound; - n_selection_rect->m_field_name = field_name; - n_selection_rect->m_df_type = DF_Type::T_selection_rect; - n_selection_rect->m_rdf_type = RDF_Type::Compound; - n_selection_rect->m_node_type = NodeType::Compound; - n_selection_rect->m_address = reinterpret_cast(df::global::selection_rect); - n_selection_rect->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_selection_rect); - - field_name = "soul_next_id"; - auto n_soul_next_id = new NodeSimple; - n_soul_next_id->m_field_name = field_name; - n_soul_next_id->m_df_type = DF_Type::int32_t; - n_soul_next_id->m_rdf_type = RDF_Type::int32_t; - n_soul_next_id->m_node_type = NodeType::Simple; - n_soul_next_id->m_address = reinterpret_cast(df::global::soul_next_id); - n_soul_next_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_soul_next_id); - - field_name = "squad_next_id"; - auto n_squad_next_id = new NodeSimple; - n_squad_next_id->m_field_name = field_name; - n_squad_next_id->m_df_type = DF_Type::int32_t; - n_squad_next_id->m_rdf_type = RDF_Type::int32_t; - n_squad_next_id->m_node_type = NodeType::Simple; - n_squad_next_id->m_address = reinterpret_cast(df::global::squad_next_id); - n_squad_next_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_squad_next_id); - - field_name = "standing_orders_auto_butcher"; - auto n_standing_orders_auto_butcher = new NodeSimple; - n_standing_orders_auto_butcher->m_field_name = field_name; - n_standing_orders_auto_butcher->m_df_type = DF_Type::uint8_t; - n_standing_orders_auto_butcher->m_rdf_type = RDF_Type::uint8_t; - n_standing_orders_auto_butcher->m_node_type = NodeType::Simple; - n_standing_orders_auto_butcher->m_address = reinterpret_cast(df::global::standing_orders_auto_butcher); - n_standing_orders_auto_butcher->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_standing_orders_auto_butcher); - - field_name = "standing_orders_auto_collect_webs"; - auto n_standing_orders_auto_collect_webs = new NodeSimple; - n_standing_orders_auto_collect_webs->m_field_name = field_name; - n_standing_orders_auto_collect_webs->m_df_type = DF_Type::uint8_t; - n_standing_orders_auto_collect_webs->m_rdf_type = RDF_Type::uint8_t; - n_standing_orders_auto_collect_webs->m_node_type = NodeType::Simple; - n_standing_orders_auto_collect_webs->m_address = reinterpret_cast(df::global::standing_orders_auto_collect_webs); - n_standing_orders_auto_collect_webs->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_standing_orders_auto_collect_webs); - - field_name = "standing_orders_auto_fishery"; - auto n_standing_orders_auto_fishery = new NodeSimple; - n_standing_orders_auto_fishery->m_field_name = field_name; - n_standing_orders_auto_fishery->m_df_type = DF_Type::uint8_t; - n_standing_orders_auto_fishery->m_rdf_type = RDF_Type::uint8_t; - n_standing_orders_auto_fishery->m_node_type = NodeType::Simple; - n_standing_orders_auto_fishery->m_address = reinterpret_cast(df::global::standing_orders_auto_fishery); - n_standing_orders_auto_fishery->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_standing_orders_auto_fishery); - - field_name = "standing_orders_auto_kiln"; - auto n_standing_orders_auto_kiln = new NodeSimple; - n_standing_orders_auto_kiln->m_field_name = field_name; - n_standing_orders_auto_kiln->m_df_type = DF_Type::uint8_t; - n_standing_orders_auto_kiln->m_rdf_type = RDF_Type::uint8_t; - n_standing_orders_auto_kiln->m_node_type = NodeType::Simple; - n_standing_orders_auto_kiln->m_address = reinterpret_cast(df::global::standing_orders_auto_kiln); - n_standing_orders_auto_kiln->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_standing_orders_auto_kiln); - - field_name = "standing_orders_auto_kitchen"; - auto n_standing_orders_auto_kitchen = new NodeSimple; - n_standing_orders_auto_kitchen->m_field_name = field_name; - n_standing_orders_auto_kitchen->m_df_type = DF_Type::uint8_t; - n_standing_orders_auto_kitchen->m_rdf_type = RDF_Type::uint8_t; - n_standing_orders_auto_kitchen->m_node_type = NodeType::Simple; - n_standing_orders_auto_kitchen->m_address = reinterpret_cast(df::global::standing_orders_auto_kitchen); - n_standing_orders_auto_kitchen->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_standing_orders_auto_kitchen); - - field_name = "standing_orders_auto_loom"; - auto n_standing_orders_auto_loom = new NodeSimple; - n_standing_orders_auto_loom->m_field_name = field_name; - n_standing_orders_auto_loom->m_df_type = DF_Type::uint8_t; - n_standing_orders_auto_loom->m_rdf_type = RDF_Type::uint8_t; - n_standing_orders_auto_loom->m_node_type = NodeType::Simple; - n_standing_orders_auto_loom->m_address = reinterpret_cast(df::global::standing_orders_auto_loom); - n_standing_orders_auto_loom->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_standing_orders_auto_loom); - - field_name = "standing_orders_auto_other"; - auto n_standing_orders_auto_other = new NodeSimple; - n_standing_orders_auto_other->m_field_name = field_name; - n_standing_orders_auto_other->m_df_type = DF_Type::uint8_t; - n_standing_orders_auto_other->m_rdf_type = RDF_Type::uint8_t; - n_standing_orders_auto_other->m_node_type = NodeType::Simple; - n_standing_orders_auto_other->m_address = reinterpret_cast(df::global::standing_orders_auto_other); - n_standing_orders_auto_other->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_standing_orders_auto_other); - - field_name = "standing_orders_auto_slaughter"; - auto n_standing_orders_auto_slaughter = new NodeSimple; - n_standing_orders_auto_slaughter->m_field_name = field_name; - n_standing_orders_auto_slaughter->m_df_type = DF_Type::uint8_t; - n_standing_orders_auto_slaughter->m_rdf_type = RDF_Type::uint8_t; - n_standing_orders_auto_slaughter->m_node_type = NodeType::Simple; - n_standing_orders_auto_slaughter->m_address = reinterpret_cast(df::global::standing_orders_auto_slaughter); - n_standing_orders_auto_slaughter->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_standing_orders_auto_slaughter); - - field_name = "standing_orders_auto_smelter"; - auto n_standing_orders_auto_smelter = new NodeSimple; - n_standing_orders_auto_smelter->m_field_name = field_name; - n_standing_orders_auto_smelter->m_df_type = DF_Type::uint8_t; - n_standing_orders_auto_smelter->m_rdf_type = RDF_Type::uint8_t; - n_standing_orders_auto_smelter->m_node_type = NodeType::Simple; - n_standing_orders_auto_smelter->m_address = reinterpret_cast(df::global::standing_orders_auto_smelter); - n_standing_orders_auto_smelter->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_standing_orders_auto_smelter); - - field_name = "standing_orders_auto_tan"; - auto n_standing_orders_auto_tan = new NodeSimple; - n_standing_orders_auto_tan->m_field_name = field_name; - n_standing_orders_auto_tan->m_df_type = DF_Type::uint8_t; - n_standing_orders_auto_tan->m_rdf_type = RDF_Type::uint8_t; - n_standing_orders_auto_tan->m_node_type = NodeType::Simple; - n_standing_orders_auto_tan->m_address = reinterpret_cast(df::global::standing_orders_auto_tan); - n_standing_orders_auto_tan->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_standing_orders_auto_tan); - - field_name = "standing_orders_dump_bones"; - auto n_standing_orders_dump_bones = new NodeSimple; - n_standing_orders_dump_bones->m_field_name = field_name; - n_standing_orders_dump_bones->m_df_type = DF_Type::uint8_t; - n_standing_orders_dump_bones->m_rdf_type = RDF_Type::uint8_t; - n_standing_orders_dump_bones->m_node_type = NodeType::Simple; - n_standing_orders_dump_bones->m_address = reinterpret_cast(df::global::standing_orders_dump_bones); - n_standing_orders_dump_bones->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_standing_orders_dump_bones); - - field_name = "standing_orders_dump_corpses"; - auto n_standing_orders_dump_corpses = new NodeSimple; - n_standing_orders_dump_corpses->m_field_name = field_name; - n_standing_orders_dump_corpses->m_df_type = DF_Type::uint8_t; - n_standing_orders_dump_corpses->m_rdf_type = RDF_Type::uint8_t; - n_standing_orders_dump_corpses->m_node_type = NodeType::Simple; - n_standing_orders_dump_corpses->m_address = reinterpret_cast(df::global::standing_orders_dump_corpses); - n_standing_orders_dump_corpses->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_standing_orders_dump_corpses); - - field_name = "standing_orders_dump_hair"; - auto n_standing_orders_dump_hair = new NodeSimple; - n_standing_orders_dump_hair->m_field_name = field_name; - n_standing_orders_dump_hair->m_df_type = DF_Type::uint8_t; - n_standing_orders_dump_hair->m_rdf_type = RDF_Type::uint8_t; - n_standing_orders_dump_hair->m_node_type = NodeType::Simple; - n_standing_orders_dump_hair->m_address = reinterpret_cast(df::global::standing_orders_dump_hair); - n_standing_orders_dump_hair->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_standing_orders_dump_hair); - - field_name = "standing_orders_dump_other"; - auto n_standing_orders_dump_other = new NodeSimple; - n_standing_orders_dump_other->m_field_name = field_name; - n_standing_orders_dump_other->m_df_type = DF_Type::uint8_t; - n_standing_orders_dump_other->m_rdf_type = RDF_Type::uint8_t; - n_standing_orders_dump_other->m_node_type = NodeType::Simple; - n_standing_orders_dump_other->m_address = reinterpret_cast(df::global::standing_orders_dump_other); - n_standing_orders_dump_other->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_standing_orders_dump_other); - - field_name = "standing_orders_dump_shells"; - auto n_standing_orders_dump_shells = new NodeSimple; - n_standing_orders_dump_shells->m_field_name = field_name; - n_standing_orders_dump_shells->m_df_type = DF_Type::uint8_t; - n_standing_orders_dump_shells->m_rdf_type = RDF_Type::uint8_t; - n_standing_orders_dump_shells->m_node_type = NodeType::Simple; - n_standing_orders_dump_shells->m_address = reinterpret_cast(df::global::standing_orders_dump_shells); - n_standing_orders_dump_shells->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_standing_orders_dump_shells); - - field_name = "standing_orders_dump_skins"; - auto n_standing_orders_dump_skins = new NodeSimple; - n_standing_orders_dump_skins->m_field_name = field_name; - n_standing_orders_dump_skins->m_df_type = DF_Type::uint8_t; - n_standing_orders_dump_skins->m_rdf_type = RDF_Type::uint8_t; - n_standing_orders_dump_skins->m_node_type = NodeType::Simple; - n_standing_orders_dump_skins->m_address = reinterpret_cast(df::global::standing_orders_dump_skins); - n_standing_orders_dump_skins->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_standing_orders_dump_skins); - - field_name = "standing_orders_dump_skulls"; - auto n_standing_orders_dump_skulls = new NodeSimple; - n_standing_orders_dump_skulls->m_field_name = field_name; - n_standing_orders_dump_skulls->m_df_type = DF_Type::uint8_t; - n_standing_orders_dump_skulls->m_rdf_type = RDF_Type::uint8_t; - n_standing_orders_dump_skulls->m_node_type = NodeType::Simple; - n_standing_orders_dump_skulls->m_address = reinterpret_cast(df::global::standing_orders_dump_skulls); - n_standing_orders_dump_skulls->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_standing_orders_dump_skulls); - - field_name = "standing_orders_farmer_harvest"; - auto n_standing_orders_farmer_harvest = new NodeSimple; - n_standing_orders_farmer_harvest->m_field_name = field_name; - n_standing_orders_farmer_harvest->m_df_type = DF_Type::uint8_t; - n_standing_orders_farmer_harvest->m_rdf_type = RDF_Type::uint8_t; - n_standing_orders_farmer_harvest->m_node_type = NodeType::Simple; - n_standing_orders_farmer_harvest->m_address = reinterpret_cast(df::global::standing_orders_farmer_harvest); - n_standing_orders_farmer_harvest->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_standing_orders_farmer_harvest); - - field_name = "standing_orders_forbid_other_dead_items"; - auto n_standing_orders_forbid_other_dead_items = new NodeSimple; - n_standing_orders_forbid_other_dead_items->m_field_name = field_name; - n_standing_orders_forbid_other_dead_items->m_df_type = DF_Type::uint8_t; - n_standing_orders_forbid_other_dead_items->m_rdf_type = RDF_Type::uint8_t; - n_standing_orders_forbid_other_dead_items->m_node_type = NodeType::Simple; - n_standing_orders_forbid_other_dead_items->m_address = reinterpret_cast(df::global::standing_orders_forbid_other_dead_items); - n_standing_orders_forbid_other_dead_items->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_standing_orders_forbid_other_dead_items); - - field_name = "standing_orders_forbid_other_nohunt"; - auto n_standing_orders_forbid_other_nohunt = new NodeSimple; - n_standing_orders_forbid_other_nohunt->m_field_name = field_name; - n_standing_orders_forbid_other_nohunt->m_df_type = DF_Type::uint8_t; - n_standing_orders_forbid_other_nohunt->m_rdf_type = RDF_Type::uint8_t; - n_standing_orders_forbid_other_nohunt->m_node_type = NodeType::Simple; - n_standing_orders_forbid_other_nohunt->m_address = reinterpret_cast(df::global::standing_orders_forbid_other_nohunt); - n_standing_orders_forbid_other_nohunt->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_standing_orders_forbid_other_nohunt); - - field_name = "standing_orders_forbid_own_dead"; - auto n_standing_orders_forbid_own_dead = new NodeSimple; - n_standing_orders_forbid_own_dead->m_field_name = field_name; - n_standing_orders_forbid_own_dead->m_df_type = DF_Type::uint8_t; - n_standing_orders_forbid_own_dead->m_rdf_type = RDF_Type::uint8_t; - n_standing_orders_forbid_own_dead->m_node_type = NodeType::Simple; - n_standing_orders_forbid_own_dead->m_address = reinterpret_cast(df::global::standing_orders_forbid_own_dead); - n_standing_orders_forbid_own_dead->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_standing_orders_forbid_own_dead); - - field_name = "standing_orders_forbid_own_dead_items"; - auto n_standing_orders_forbid_own_dead_items = new NodeSimple; - n_standing_orders_forbid_own_dead_items->m_field_name = field_name; - n_standing_orders_forbid_own_dead_items->m_df_type = DF_Type::uint8_t; - n_standing_orders_forbid_own_dead_items->m_rdf_type = RDF_Type::uint8_t; - n_standing_orders_forbid_own_dead_items->m_node_type = NodeType::Simple; - n_standing_orders_forbid_own_dead_items->m_address = reinterpret_cast(df::global::standing_orders_forbid_own_dead_items); - n_standing_orders_forbid_own_dead_items->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_standing_orders_forbid_own_dead_items); - - field_name = "standing_orders_forbid_used_ammo"; - auto n_standing_orders_forbid_used_ammo = new NodeSimple; - n_standing_orders_forbid_used_ammo->m_field_name = field_name; - n_standing_orders_forbid_used_ammo->m_df_type = DF_Type::uint8_t; - n_standing_orders_forbid_used_ammo->m_rdf_type = RDF_Type::uint8_t; - n_standing_orders_forbid_used_ammo->m_node_type = NodeType::Simple; - n_standing_orders_forbid_used_ammo->m_address = reinterpret_cast(df::global::standing_orders_forbid_used_ammo); - n_standing_orders_forbid_used_ammo->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_standing_orders_forbid_used_ammo); - - field_name = "standing_orders_gather_animals"; - auto n_standing_orders_gather_animals = new NodeSimple; - n_standing_orders_gather_animals->m_field_name = field_name; - n_standing_orders_gather_animals->m_df_type = DF_Type::uint8_t; - n_standing_orders_gather_animals->m_rdf_type = RDF_Type::uint8_t; - n_standing_orders_gather_animals->m_node_type = NodeType::Simple; - n_standing_orders_gather_animals->m_address = reinterpret_cast(df::global::standing_orders_gather_animals); - n_standing_orders_gather_animals->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_standing_orders_gather_animals); - - field_name = "standing_orders_gather_bodies"; - auto n_standing_orders_gather_bodies = new NodeSimple; - n_standing_orders_gather_bodies->m_field_name = field_name; - n_standing_orders_gather_bodies->m_df_type = DF_Type::uint8_t; - n_standing_orders_gather_bodies->m_rdf_type = RDF_Type::uint8_t; - n_standing_orders_gather_bodies->m_node_type = NodeType::Simple; - n_standing_orders_gather_bodies->m_address = reinterpret_cast(df::global::standing_orders_gather_bodies); - n_standing_orders_gather_bodies->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_standing_orders_gather_bodies); - - field_name = "standing_orders_gather_food"; - auto n_standing_orders_gather_food = new NodeSimple; - n_standing_orders_gather_food->m_field_name = field_name; - n_standing_orders_gather_food->m_df_type = DF_Type::uint8_t; - n_standing_orders_gather_food->m_rdf_type = RDF_Type::uint8_t; - n_standing_orders_gather_food->m_node_type = NodeType::Simple; - n_standing_orders_gather_food->m_address = reinterpret_cast(df::global::standing_orders_gather_food); - n_standing_orders_gather_food->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_standing_orders_gather_food); - - field_name = "standing_orders_gather_furniture"; - auto n_standing_orders_gather_furniture = new NodeSimple; - n_standing_orders_gather_furniture->m_field_name = field_name; - n_standing_orders_gather_furniture->m_df_type = DF_Type::uint8_t; - n_standing_orders_gather_furniture->m_rdf_type = RDF_Type::uint8_t; - n_standing_orders_gather_furniture->m_node_type = NodeType::Simple; - n_standing_orders_gather_furniture->m_address = reinterpret_cast(df::global::standing_orders_gather_furniture); - n_standing_orders_gather_furniture->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_standing_orders_gather_furniture); - - field_name = "standing_orders_gather_minerals"; - auto n_standing_orders_gather_minerals = new NodeSimple; - n_standing_orders_gather_minerals->m_field_name = field_name; - n_standing_orders_gather_minerals->m_df_type = DF_Type::uint8_t; - n_standing_orders_gather_minerals->m_rdf_type = RDF_Type::uint8_t; - n_standing_orders_gather_minerals->m_node_type = NodeType::Simple; - n_standing_orders_gather_minerals->m_address = reinterpret_cast(df::global::standing_orders_gather_minerals); - n_standing_orders_gather_minerals->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_standing_orders_gather_minerals); - - field_name = "standing_orders_gather_refuse"; - auto n_standing_orders_gather_refuse = new NodeSimple; - n_standing_orders_gather_refuse->m_field_name = field_name; - n_standing_orders_gather_refuse->m_df_type = DF_Type::uint8_t; - n_standing_orders_gather_refuse->m_rdf_type = RDF_Type::uint8_t; - n_standing_orders_gather_refuse->m_node_type = NodeType::Simple; - n_standing_orders_gather_refuse->m_address = reinterpret_cast(df::global::standing_orders_gather_refuse); - n_standing_orders_gather_refuse->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_standing_orders_gather_refuse); - - field_name = "standing_orders_gather_refuse_outside"; - auto n_standing_orders_gather_refuse_outside = new NodeSimple; - n_standing_orders_gather_refuse_outside->m_field_name = field_name; - n_standing_orders_gather_refuse_outside->m_df_type = DF_Type::uint8_t; - n_standing_orders_gather_refuse_outside->m_rdf_type = RDF_Type::uint8_t; - n_standing_orders_gather_refuse_outside->m_node_type = NodeType::Simple; - n_standing_orders_gather_refuse_outside->m_address = reinterpret_cast(df::global::standing_orders_gather_refuse_outside); - n_standing_orders_gather_refuse_outside->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_standing_orders_gather_refuse_outside); - - field_name = "standing_orders_gather_vermin_remains"; - auto n_standing_orders_gather_vermin_remains = new NodeSimple; - n_standing_orders_gather_vermin_remains->m_field_name = field_name; - n_standing_orders_gather_vermin_remains->m_df_type = DF_Type::uint8_t; - n_standing_orders_gather_vermin_remains->m_rdf_type = RDF_Type::uint8_t; - n_standing_orders_gather_vermin_remains->m_node_type = NodeType::Simple; - n_standing_orders_gather_vermin_remains->m_address = reinterpret_cast(df::global::standing_orders_gather_vermin_remains); - n_standing_orders_gather_vermin_remains->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_standing_orders_gather_vermin_remains); - - field_name = "standing_orders_gather_wood"; - auto n_standing_orders_gather_wood = new NodeSimple; - n_standing_orders_gather_wood->m_field_name = field_name; - n_standing_orders_gather_wood->m_df_type = DF_Type::uint8_t; - n_standing_orders_gather_wood->m_rdf_type = RDF_Type::uint8_t; - n_standing_orders_gather_wood->m_node_type = NodeType::Simple; - n_standing_orders_gather_wood->m_address = reinterpret_cast(df::global::standing_orders_gather_wood); - n_standing_orders_gather_wood->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_standing_orders_gather_wood); - - field_name = "standing_orders_job_cancel_announce"; - auto n_standing_orders_job_cancel_announce = new NodeSimple; - n_standing_orders_job_cancel_announce->m_field_name = field_name; - n_standing_orders_job_cancel_announce->m_df_type = DF_Type::uint8_t; - n_standing_orders_job_cancel_announce->m_rdf_type = RDF_Type::uint8_t; - n_standing_orders_job_cancel_announce->m_node_type = NodeType::Simple; - n_standing_orders_job_cancel_announce->m_address = reinterpret_cast(df::global::standing_orders_job_cancel_announce); - n_standing_orders_job_cancel_announce->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_standing_orders_job_cancel_announce); - - field_name = "standing_orders_mix_food"; - auto n_standing_orders_mix_food = new NodeSimple; - n_standing_orders_mix_food->m_field_name = field_name; - n_standing_orders_mix_food->m_df_type = DF_Type::uint8_t; - n_standing_orders_mix_food->m_rdf_type = RDF_Type::uint8_t; - n_standing_orders_mix_food->m_node_type = NodeType::Simple; - n_standing_orders_mix_food->m_address = reinterpret_cast(df::global::standing_orders_mix_food); - n_standing_orders_mix_food->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_standing_orders_mix_food); - - field_name = "standing_orders_use_dyed_cloth"; - auto n_standing_orders_use_dyed_cloth = new NodeSimple; - n_standing_orders_use_dyed_cloth->m_field_name = field_name; - n_standing_orders_use_dyed_cloth->m_df_type = DF_Type::uint8_t; - n_standing_orders_use_dyed_cloth->m_rdf_type = RDF_Type::uint8_t; - n_standing_orders_use_dyed_cloth->m_node_type = NodeType::Simple; - n_standing_orders_use_dyed_cloth->m_address = reinterpret_cast(df::global::standing_orders_use_dyed_cloth); - n_standing_orders_use_dyed_cloth->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_standing_orders_use_dyed_cloth); - - field_name = "standing_orders_zoneonly_drink"; - auto n_standing_orders_zoneonly_drink = new NodeSimple; - n_standing_orders_zoneonly_drink->m_field_name = field_name; - n_standing_orders_zoneonly_drink->m_df_type = DF_Type::uint8_t; - n_standing_orders_zoneonly_drink->m_rdf_type = RDF_Type::uint8_t; - n_standing_orders_zoneonly_drink->m_node_type = NodeType::Simple; - n_standing_orders_zoneonly_drink->m_address = reinterpret_cast(df::global::standing_orders_zoneonly_drink); - n_standing_orders_zoneonly_drink->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_standing_orders_zoneonly_drink); - - field_name = "standing_orders_zoneonly_fish"; - auto n_standing_orders_zoneonly_fish = new NodeSimple; - n_standing_orders_zoneonly_fish->m_field_name = field_name; - n_standing_orders_zoneonly_fish->m_df_type = DF_Type::uint8_t; - n_standing_orders_zoneonly_fish->m_rdf_type = RDF_Type::uint8_t; - n_standing_orders_zoneonly_fish->m_node_type = NodeType::Simple; - n_standing_orders_zoneonly_fish->m_address = reinterpret_cast(df::global::standing_orders_zoneonly_fish); - n_standing_orders_zoneonly_fish->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_standing_orders_zoneonly_fish); - - field_name = "task_next_id"; - auto n_task_next_id = new NodeSimple; - n_task_next_id->m_field_name = field_name; - n_task_next_id->m_df_type = DF_Type::int32_t; - n_task_next_id->m_rdf_type = RDF_Type::int32_t; - n_task_next_id->m_node_type = NodeType::Simple; - n_task_next_id->m_address = reinterpret_cast(df::global::task_next_id); - n_task_next_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_task_next_id); - - field_name = "texture"; - auto n_texture = new NodeCompound; - n_texture->m_field_name = field_name; - n_texture->m_df_type = DF_Type::texture_handler; - n_texture->m_rdf_type = RDF_Type::Compound; - n_texture->m_node_type = NodeType::Compound; - n_texture->m_address = reinterpret_cast(df::global::texture); - n_texture->m_defined_in = "df.init.xml"; - n_texture->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_texture); - - field_name = "timed_events"; - auto n_timed_events = new NodeVector; - n_timed_events->m_field_name = field_name; - n_timed_events->m_df_type = DF_Type::timed_event; - n_timed_events->m_rdf_type = RDF_Type::Vector; - n_timed_events->m_node_type = NodeType::Vector; - n_timed_events->m_defined_in = "df.ui.xml"; - n_timed_events->m_addornements = "v*"; - n_timed_events->m_address = reinterpret_cast(df::global::timed_events); - n_timed_events->m_parent = p_node_parent; - n_timed_events->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_timed_events); - - field_name = "ui"; - auto n_ui = new NodeCompound; - n_ui->m_field_name = field_name; - n_ui->m_df_type = DF_Type::ui; - n_ui->m_rdf_type = RDF_Type::Compound; - n_ui->m_node_type = NodeType::Compound; - n_ui->m_address = reinterpret_cast(df::global::ui); - n_ui->m_defined_in = "df.ui.xml"; - n_ui->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ui); - - field_name = "ui_advmode"; - auto n_ui_advmode = new NodeCompound; - n_ui_advmode->m_field_name = field_name; - n_ui_advmode->m_df_type = DF_Type::ui_advmode; - n_ui_advmode->m_rdf_type = RDF_Type::Compound; - n_ui_advmode->m_node_type = NodeType::Compound; - n_ui_advmode->m_address = reinterpret_cast(df::global::ui_advmode); - n_ui_advmode->m_defined_in = "df.globals.xml"; - n_ui_advmode->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ui_advmode); - - field_name = "ui_build_selector"; - auto n_ui_build_selector = new NodeCompound; - n_ui_build_selector->m_field_name = field_name; - n_ui_build_selector->m_df_type = DF_Type::ui_build_selector; - n_ui_build_selector->m_rdf_type = RDF_Type::Compound; - n_ui_build_selector->m_node_type = NodeType::Compound; - n_ui_build_selector->m_address = reinterpret_cast(df::global::ui_build_selector); - n_ui_build_selector->m_defined_in = "df.ui-menus.xml"; - n_ui_build_selector->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ui_build_selector); - - field_name = "ui_building_assign_is_marked"; - auto n_ui_building_assign_is_marked = new NodeVector; - n_ui_building_assign_is_marked->m_field_name = field_name; - n_ui_building_assign_is_marked->m_df_type = DF_Type::Bool; - n_ui_building_assign_is_marked->m_rdf_type = RDF_Type::Vector; - n_ui_building_assign_is_marked->m_node_type = NodeType::Vector; - n_ui_building_assign_is_marked->m_addornements = "v"; - n_ui_building_assign_is_marked->m_address = reinterpret_cast(df::global::ui_building_assign_is_marked); - n_ui_building_assign_is_marked->m_parent = p_node_parent; - n_ui_building_assign_is_marked->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_ui_building_assign_is_marked); - - field_name = "ui_building_assign_items"; - auto n_ui_building_assign_items = new NodeVector; - n_ui_building_assign_items->m_field_name = field_name; - n_ui_building_assign_items->m_df_type = DF_Type::item; - n_ui_building_assign_items->m_rdf_type = RDF_Type::Vector; - n_ui_building_assign_items->m_node_type = NodeType::Vector; - n_ui_building_assign_items->m_defined_in = "df.items.xml"; - n_ui_building_assign_items->m_addornements = "v*"; - n_ui_building_assign_items->m_address = reinterpret_cast(df::global::ui_building_assign_items); - n_ui_building_assign_items->m_parent = p_node_parent; - n_ui_building_assign_items->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_ui_building_assign_items); - - field_name = "ui_building_assign_type"; - auto n_ui_building_assign_type = new NodeVector; - n_ui_building_assign_type->m_field_name = field_name; - n_ui_building_assign_type->m_df_type = DF_Type::int8_t; - n_ui_building_assign_type->m_rdf_type = RDF_Type::Vector; - n_ui_building_assign_type->m_node_type = NodeType::Vector; - n_ui_building_assign_type->m_addornements = "v"; - n_ui_building_assign_type->m_address = reinterpret_cast(df::global::ui_building_assign_type); - n_ui_building_assign_type->m_parent = p_node_parent; - n_ui_building_assign_type->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_ui_building_assign_type); - - field_name = "ui_building_assign_units"; - auto n_ui_building_assign_units = new NodeVector; - n_ui_building_assign_units->m_field_name = field_name; - n_ui_building_assign_units->m_df_type = DF_Type::unit; - n_ui_building_assign_units->m_rdf_type = RDF_Type::Vector; - n_ui_building_assign_units->m_node_type = NodeType::Vector; - n_ui_building_assign_units->m_defined_in = "df.units.xml"; - n_ui_building_assign_units->m_addornements = "v*"; - n_ui_building_assign_units->m_address = reinterpret_cast(df::global::ui_building_assign_units); - n_ui_building_assign_units->m_parent = p_node_parent; - n_ui_building_assign_units->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_ui_building_assign_units); - - field_name = "ui_building_in_assign"; - auto n_ui_building_in_assign = new NodeSimple; - n_ui_building_in_assign->m_field_name = field_name; - n_ui_building_in_assign->m_df_type = DF_Type::Bool; - n_ui_building_in_assign->m_rdf_type = RDF_Type::Bool; - n_ui_building_in_assign->m_node_type = NodeType::Simple; - n_ui_building_in_assign->m_address = reinterpret_cast(df::global::ui_building_in_assign); - n_ui_building_in_assign->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ui_building_in_assign); - - field_name = "ui_building_in_resize"; - auto n_ui_building_in_resize = new NodeSimple; - n_ui_building_in_resize->m_field_name = field_name; - n_ui_building_in_resize->m_df_type = DF_Type::Bool; - n_ui_building_in_resize->m_rdf_type = RDF_Type::Bool; - n_ui_building_in_resize->m_node_type = NodeType::Simple; - n_ui_building_in_resize->m_address = reinterpret_cast(df::global::ui_building_in_resize); - n_ui_building_in_resize->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ui_building_in_resize); - - field_name = "ui_building_item_cursor"; - auto n_ui_building_item_cursor = new NodeSimple; - n_ui_building_item_cursor->m_field_name = field_name; - n_ui_building_item_cursor->m_df_type = DF_Type::int32_t; - n_ui_building_item_cursor->m_rdf_type = RDF_Type::int32_t; - n_ui_building_item_cursor->m_node_type = NodeType::Simple; - n_ui_building_item_cursor->m_address = reinterpret_cast(df::global::ui_building_item_cursor); - n_ui_building_item_cursor->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ui_building_item_cursor); - - field_name = "ui_building_resize_radius"; - auto n_ui_building_resize_radius = new NodeSimple; - n_ui_building_resize_radius->m_field_name = field_name; - n_ui_building_resize_radius->m_df_type = DF_Type::int16_t; - n_ui_building_resize_radius->m_rdf_type = RDF_Type::int16_t; - n_ui_building_resize_radius->m_node_type = NodeType::Simple; - n_ui_building_resize_radius->m_address = reinterpret_cast(df::global::ui_building_resize_radius); - n_ui_building_resize_radius->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ui_building_resize_radius); - - field_name = "ui_lever_target_type"; - auto n_ui_lever_target_type = new NodeEnum; - n_ui_lever_target_type->m_field_name = field_name; - n_ui_lever_target_type->m_df_type = DF_Type::lever_target_type; - n_ui_lever_target_type->m_rdf_type = RDF_Type::Enum; - n_ui_lever_target_type->m_node_type = NodeType::Enum; - n_ui_lever_target_type->m_base_type = DF_Type::int8_t; - n_ui_lever_target_type->m_enum_type = "lever_target_type"; - n_ui_lever_target_type->m_address = reinterpret_cast(df::global::ui_lever_target_type); - n_ui_lever_target_type->m_defined_in = "df.globals.xml"; - n_ui_lever_target_type->m_first_value = -1; - n_ui_lever_target_type->m_last_value = 119; - n_ui_lever_target_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ui_lever_target_type); - - field_name = "ui_look_cursor"; - auto n_ui_look_cursor = new NodeSimple; - n_ui_look_cursor->m_field_name = field_name; - n_ui_look_cursor->m_df_type = DF_Type::int32_t; - n_ui_look_cursor->m_rdf_type = RDF_Type::int32_t; - n_ui_look_cursor->m_node_type = NodeType::Simple; - n_ui_look_cursor->m_address = reinterpret_cast(df::global::ui_look_cursor); - n_ui_look_cursor->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ui_look_cursor); - - field_name = "ui_look_list"; - auto n_ui_look_list = new NodeCompound; - n_ui_look_list->m_field_name = field_name; - n_ui_look_list->m_df_type = DF_Type::ui_look_list; - n_ui_look_list->m_rdf_type = RDF_Type::Compound; - n_ui_look_list->m_node_type = NodeType::Compound; - n_ui_look_list->m_address = reinterpret_cast(df::global::ui_look_list); - n_ui_look_list->m_defined_in = "df.ui-menus.xml"; - n_ui_look_list->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ui_look_list); - - field_name = "ui_menu_width"; - auto n_ui_menu_width = new NodeArray; - n_ui_menu_width->m_address = reinterpret_cast(df::global::ui_menu_width); - n_ui_menu_width->m_field_name = field_name; - n_ui_menu_width->m_df_type = DF_Type::int8_t; - n_ui_menu_width->m_rdf_type = RDF_Type::Array; - n_ui_menu_width->m_node_type = NodeType::Array; - n_ui_menu_width->m_addornements = "[2"; - n_ui_menu_width->m_array_size = 2; - n_ui_menu_width->m_address = reinterpret_cast(df::global::ui_menu_width); - n_ui_menu_width->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ui_menu_width); - - field_name = "ui_selected_unit"; - auto n_ui_selected_unit = new NodeSimple; - n_ui_selected_unit->m_field_name = field_name; - n_ui_selected_unit->m_df_type = DF_Type::int32_t; - n_ui_selected_unit->m_rdf_type = RDF_Type::int32_t; - n_ui_selected_unit->m_node_type = NodeType::Simple; - n_ui_selected_unit->m_address = reinterpret_cast(df::global::ui_selected_unit); - n_ui_selected_unit->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ui_selected_unit); - - field_name = "ui_sidebar_menus"; - auto n_ui_sidebar_menus = new NodeCompound; - n_ui_sidebar_menus->m_field_name = field_name; - n_ui_sidebar_menus->m_df_type = DF_Type::ui_sidebar_menus; - n_ui_sidebar_menus->m_rdf_type = RDF_Type::Compound; - n_ui_sidebar_menus->m_node_type = NodeType::Compound; - n_ui_sidebar_menus->m_address = reinterpret_cast(df::global::ui_sidebar_menus); - n_ui_sidebar_menus->m_defined_in = "df.ui-menus.xml"; - n_ui_sidebar_menus->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ui_sidebar_menus); - - field_name = "ui_unit_view_mode"; - auto n_ui_unit_view_mode = new NodeCompound; - n_ui_unit_view_mode->m_field_name = field_name; - n_ui_unit_view_mode->m_df_type = DF_Type::ui_unit_view_mode; - n_ui_unit_view_mode->m_rdf_type = RDF_Type::Compound; - n_ui_unit_view_mode->m_node_type = NodeType::Compound; - n_ui_unit_view_mode->m_address = reinterpret_cast(df::global::ui_unit_view_mode); - n_ui_unit_view_mode->m_defined_in = "df.ui-menus.xml"; - n_ui_unit_view_mode->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ui_unit_view_mode); - - field_name = "ui_workshop_in_add"; - auto n_ui_workshop_in_add = new NodeSimple; - n_ui_workshop_in_add->m_field_name = field_name; - n_ui_workshop_in_add->m_df_type = DF_Type::Bool; - n_ui_workshop_in_add->m_rdf_type = RDF_Type::Bool; - n_ui_workshop_in_add->m_node_type = NodeType::Simple; - n_ui_workshop_in_add->m_address = reinterpret_cast(df::global::ui_workshop_in_add); - n_ui_workshop_in_add->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ui_workshop_in_add); - - field_name = "ui_workshop_job_cursor"; - auto n_ui_workshop_job_cursor = new NodeSimple; - n_ui_workshop_job_cursor->m_field_name = field_name; - n_ui_workshop_job_cursor->m_df_type = DF_Type::int32_t; - n_ui_workshop_job_cursor->m_rdf_type = RDF_Type::int32_t; - n_ui_workshop_job_cursor->m_node_type = NodeType::Simple; - n_ui_workshop_job_cursor->m_address = reinterpret_cast(df::global::ui_workshop_job_cursor); - n_ui_workshop_job_cursor->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ui_workshop_job_cursor); - - field_name = "unit_chunk_next_id"; - auto n_unit_chunk_next_id = new NodeSimple; - n_unit_chunk_next_id->m_field_name = field_name; - n_unit_chunk_next_id->m_df_type = DF_Type::int32_t; - n_unit_chunk_next_id->m_rdf_type = RDF_Type::int32_t; - n_unit_chunk_next_id->m_node_type = NodeType::Simple; - n_unit_chunk_next_id->m_address = reinterpret_cast(df::global::unit_chunk_next_id); - n_unit_chunk_next_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unit_chunk_next_id); - - field_name = "unit_next_id"; - auto n_unit_next_id = new NodeSimple; - n_unit_next_id->m_field_name = field_name; - n_unit_next_id->m_df_type = DF_Type::int32_t; - n_unit_next_id->m_rdf_type = RDF_Type::int32_t; - n_unit_next_id->m_node_type = NodeType::Simple; - n_unit_next_id->m_address = reinterpret_cast(df::global::unit_next_id); - n_unit_next_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unit_next_id); - - field_name = "vehicle_next_id"; - auto n_vehicle_next_id = new NodeSimple; - n_vehicle_next_id->m_field_name = field_name; - n_vehicle_next_id->m_df_type = DF_Type::int32_t; - n_vehicle_next_id->m_rdf_type = RDF_Type::int32_t; - n_vehicle_next_id->m_node_type = NodeType::Simple; - n_vehicle_next_id->m_address = reinterpret_cast(df::global::vehicle_next_id); - n_vehicle_next_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_vehicle_next_id); - - field_name = "version"; - auto n_version = new NodeSimple; - n_version->m_field_name = field_name; - n_version->m_df_type = DF_Type::int32_t; - n_version->m_rdf_type = RDF_Type::int32_t; - n_version->m_node_type = NodeType::Simple; - n_version->m_address = reinterpret_cast(df::global::version); - n_version->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_version); - - field_name = "window_x"; - auto n_window_x = new NodeSimple; - n_window_x->m_field_name = field_name; - n_window_x->m_df_type = DF_Type::int32_t; - n_window_x->m_rdf_type = RDF_Type::int32_t; - n_window_x->m_node_type = NodeType::Simple; - n_window_x->m_address = reinterpret_cast(df::global::window_x); - n_window_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_window_x); - - field_name = "window_y"; - auto n_window_y = new NodeSimple; - n_window_y->m_field_name = field_name; - n_window_y->m_df_type = DF_Type::int32_t; - n_window_y->m_rdf_type = RDF_Type::int32_t; - n_window_y->m_node_type = NodeType::Simple; - n_window_y->m_address = reinterpret_cast(df::global::window_y); - n_window_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_window_y); - - field_name = "window_z"; - auto n_window_z = new NodeSimple; - n_window_z->m_field_name = field_name; - n_window_z->m_df_type = DF_Type::int32_t; - n_window_z->m_rdf_type = RDF_Type::int32_t; - n_window_z->m_node_type = NodeType::Simple; - n_window_z->m_address = reinterpret_cast(df::global::window_z); - n_window_z->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_window_z); - - field_name = "world"; - auto n_world = new NodeCompound; - n_world->m_field_name = field_name; - n_world->m_df_type = DF_Type::world; - n_world->m_rdf_type = RDF_Type::Compound; - n_world->m_node_type = NodeType::Compound; - n_world->m_address = reinterpret_cast(df::global::world); - n_world->m_defined_in = "df.world.xml"; - n_world->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_world); - - field_name = "written_content_next_id"; - auto n_written_content_next_id = new NodeSimple; - n_written_content_next_id->m_field_name = field_name; - n_written_content_next_id->m_df_type = DF_Type::int32_t; - n_written_content_next_id->m_rdf_type = RDF_Type::int32_t; - n_written_content_next_id->m_node_type = NodeType::Simple; - n_written_content_next_id->m_address = reinterpret_cast(df::global::written_content_next_id); - n_written_content_next_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_written_content_next_id); - -} +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "df_all.h" +#include "node.h" +#include "offsets_cache.h" +#include "DF_Types.h" + + +using namespace rdf; + + +extern DF_Type get_df_subtype(DF_Type, uint64_t); +extern DF_Type get_real_subtype(uint64_t p_address, DF_Type p_df_type); +extern DF_Type enum_base_type(DF_Type p_enum); +extern DF_Type enum_size(DF_Type p_enum); + + +extern rdf::NodeDummy* dummy(); + + +void fill_globals(Node* p_node_parent) +{ + std::string field_name; + + field_name = "activity_next_id"; + auto n_activity_next_id = new NodeSimple; + n_activity_next_id->m_field_name = field_name; + n_activity_next_id->m_df_type = DF_Type::int32_t; + n_activity_next_id->m_rdf_type = RDF_Type::int32_t; + n_activity_next_id->m_node_type = NodeType::Simple; + n_activity_next_id->m_address = reinterpret_cast(df::global::activity_next_id); + n_activity_next_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_activity_next_id); + + field_name = "agreement_next_id"; + auto n_agreement_next_id = new NodeSimple; + n_agreement_next_id->m_field_name = field_name; + n_agreement_next_id->m_df_type = DF_Type::int32_t; + n_agreement_next_id->m_rdf_type = RDF_Type::int32_t; + n_agreement_next_id->m_node_type = NodeType::Simple; + n_agreement_next_id->m_address = reinterpret_cast(df::global::agreement_next_id); + n_agreement_next_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_agreement_next_id); + + field_name = "army_controller_next_id"; + auto n_army_controller_next_id = new NodeSimple; + n_army_controller_next_id->m_field_name = field_name; + n_army_controller_next_id->m_df_type = DF_Type::int32_t; + n_army_controller_next_id->m_rdf_type = RDF_Type::int32_t; + n_army_controller_next_id->m_node_type = NodeType::Simple; + n_army_controller_next_id->m_address = reinterpret_cast(df::global::army_controller_next_id); + n_army_controller_next_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_army_controller_next_id); + + field_name = "army_next_id"; + auto n_army_next_id = new NodeSimple; + n_army_next_id->m_field_name = field_name; + n_army_next_id->m_df_type = DF_Type::int32_t; + n_army_next_id->m_rdf_type = RDF_Type::int32_t; + n_army_next_id->m_node_type = NodeType::Simple; + n_army_next_id->m_address = reinterpret_cast(df::global::army_next_id); + n_army_next_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_army_next_id); + + field_name = "army_tracking_info_next_id"; + auto n_army_tracking_info_next_id = new NodeSimple; + n_army_tracking_info_next_id->m_field_name = field_name; + n_army_tracking_info_next_id->m_df_type = DF_Type::int32_t; + n_army_tracking_info_next_id->m_rdf_type = RDF_Type::int32_t; + n_army_tracking_info_next_id->m_node_type = NodeType::Simple; + n_army_tracking_info_next_id->m_address = reinterpret_cast(df::global::army_tracking_info_next_id); + n_army_tracking_info_next_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_army_tracking_info_next_id); + + field_name = "art_image_chunk_next_id"; + auto n_art_image_chunk_next_id = new NodeSimple; + n_art_image_chunk_next_id->m_field_name = field_name; + n_art_image_chunk_next_id->m_df_type = DF_Type::int32_t; + n_art_image_chunk_next_id->m_rdf_type = RDF_Type::int32_t; + n_art_image_chunk_next_id->m_node_type = NodeType::Simple; + n_art_image_chunk_next_id->m_address = reinterpret_cast(df::global::art_image_chunk_next_id); + n_art_image_chunk_next_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_art_image_chunk_next_id); + + field_name = "artifact_next_id"; + auto n_artifact_next_id = new NodeSimple; + n_artifact_next_id->m_field_name = field_name; + n_artifact_next_id->m_df_type = DF_Type::int32_t; + n_artifact_next_id->m_rdf_type = RDF_Type::int32_t; + n_artifact_next_id->m_node_type = NodeType::Simple; + n_artifact_next_id->m_address = reinterpret_cast(df::global::artifact_next_id); + n_artifact_next_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_artifact_next_id); + + field_name = "basic_seed"; + auto n_basic_seed = new NodeSimple; + n_basic_seed->m_field_name = field_name; + n_basic_seed->m_df_type = DF_Type::int32_t; + n_basic_seed->m_rdf_type = RDF_Type::int32_t; + n_basic_seed->m_node_type = NodeType::Simple; + n_basic_seed->m_address = reinterpret_cast(df::global::basic_seed); + n_basic_seed->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_basic_seed); + + field_name = "belief_system_next_id"; + auto n_belief_system_next_id = new NodeSimple; + n_belief_system_next_id->m_field_name = field_name; + n_belief_system_next_id->m_df_type = DF_Type::int32_t; + n_belief_system_next_id->m_rdf_type = RDF_Type::int32_t; + n_belief_system_next_id->m_node_type = NodeType::Simple; + n_belief_system_next_id->m_address = reinterpret_cast(df::global::belief_system_next_id); + n_belief_system_next_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_belief_system_next_id); + + field_name = "building_next_id"; + auto n_building_next_id = new NodeSimple; + n_building_next_id->m_field_name = field_name; + n_building_next_id->m_df_type = DF_Type::int32_t; + n_building_next_id->m_rdf_type = RDF_Type::int32_t; + n_building_next_id->m_node_type = NodeType::Simple; + n_building_next_id->m_address = reinterpret_cast(df::global::building_next_id); + n_building_next_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_building_next_id); + + field_name = "created_item_count"; + auto n_created_item_count = new NodeVector; + n_created_item_count->m_field_name = field_name; + n_created_item_count->m_df_type = DF_Type::int32_t; + n_created_item_count->m_rdf_type = RDF_Type::Vector; + n_created_item_count->m_node_type = NodeType::Vector; + n_created_item_count->m_addornements = "v"; + n_created_item_count->m_address = reinterpret_cast(df::global::created_item_count); + n_created_item_count->m_parent = p_node_parent; + n_created_item_count->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_created_item_count); + + field_name = "created_item_matindex"; + auto n_created_item_matindex = new NodeVector; + n_created_item_matindex->m_field_name = field_name; + n_created_item_matindex->m_df_type = DF_Type::int16_t; + n_created_item_matindex->m_rdf_type = RDF_Type::Vector; + n_created_item_matindex->m_node_type = NodeType::Vector; + n_created_item_matindex->m_addornements = "v"; + n_created_item_matindex->m_address = reinterpret_cast(df::global::created_item_matindex); + n_created_item_matindex->m_parent = p_node_parent; + n_created_item_matindex->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_created_item_matindex); + + field_name = "created_item_mattype"; + auto n_created_item_mattype = new NodeVector; + n_created_item_mattype->m_field_name = field_name; + n_created_item_mattype->m_df_type = DF_Type::int16_t; + n_created_item_mattype->m_rdf_type = RDF_Type::Vector; + n_created_item_mattype->m_node_type = NodeType::Vector; + n_created_item_mattype->m_addornements = "v"; + n_created_item_mattype->m_address = reinterpret_cast(df::global::created_item_mattype); + n_created_item_mattype->m_parent = p_node_parent; + n_created_item_mattype->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_created_item_mattype); + + field_name = "created_item_subtype"; + auto n_created_item_subtype = new NodeVector; + n_created_item_subtype->m_field_name = field_name; + n_created_item_subtype->m_df_type = DF_Type::int16_t; + n_created_item_subtype->m_rdf_type = RDF_Type::Vector; + n_created_item_subtype->m_node_type = NodeType::Vector; + n_created_item_subtype->m_addornements = "v"; + n_created_item_subtype->m_address = reinterpret_cast(df::global::created_item_subtype); + n_created_item_subtype->m_parent = p_node_parent; + n_created_item_subtype->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_created_item_subtype); + + field_name = "created_item_type"; + auto n_created_item_type = new NodeVector; + n_created_item_type->m_field_name = field_name; + n_created_item_type->m_df_type = DF_Type::item_type; + n_created_item_type->m_rdf_type = RDF_Type::Vector; + n_created_item_type->m_node_type = NodeType::Vector; + n_created_item_type->m_enum_base = DF_Type::int16_t; + n_created_item_type->m_defined_in = "df.item-raws.xml"; + n_created_item_type->m_addornements = "v"; + n_created_item_type->m_address = reinterpret_cast(df::global::created_item_type); + n_created_item_type->m_parent = p_node_parent; + n_created_item_type->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_created_item_type); + + field_name = "crime_next_id"; + auto n_crime_next_id = new NodeSimple; + n_crime_next_id->m_field_name = field_name; + n_crime_next_id->m_df_type = DF_Type::int32_t; + n_crime_next_id->m_rdf_type = RDF_Type::int32_t; + n_crime_next_id->m_node_type = NodeType::Simple; + n_crime_next_id->m_address = reinterpret_cast(df::global::crime_next_id); + n_crime_next_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_crime_next_id); + + field_name = "cultural_identity_next_id"; + auto n_cultural_identity_next_id = new NodeSimple; + n_cultural_identity_next_id->m_field_name = field_name; + n_cultural_identity_next_id->m_df_type = DF_Type::int32_t; + n_cultural_identity_next_id->m_rdf_type = RDF_Type::int32_t; + n_cultural_identity_next_id->m_node_type = NodeType::Simple; + n_cultural_identity_next_id->m_address = reinterpret_cast(df::global::cultural_identity_next_id); + n_cultural_identity_next_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cultural_identity_next_id); + + field_name = "cur_season"; + auto n_cur_season = new NodeSimple; + n_cur_season->m_field_name = field_name; + n_cur_season->m_df_type = DF_Type::int8_t; + n_cur_season->m_rdf_type = RDF_Type::int8_t; + n_cur_season->m_node_type = NodeType::Simple; + n_cur_season->m_address = reinterpret_cast(df::global::cur_season); + n_cur_season->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cur_season); + + field_name = "cur_season_tick"; + auto n_cur_season_tick = new NodeSimple; + n_cur_season_tick->m_field_name = field_name; + n_cur_season_tick->m_df_type = DF_Type::int32_t; + n_cur_season_tick->m_rdf_type = RDF_Type::int32_t; + n_cur_season_tick->m_node_type = NodeType::Simple; + n_cur_season_tick->m_address = reinterpret_cast(df::global::cur_season_tick); + n_cur_season_tick->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cur_season_tick); + + field_name = "cur_year"; + auto n_cur_year = new NodeSimple; + n_cur_year->m_field_name = field_name; + n_cur_year->m_df_type = DF_Type::int32_t; + n_cur_year->m_rdf_type = RDF_Type::int32_t; + n_cur_year->m_node_type = NodeType::Simple; + n_cur_year->m_address = reinterpret_cast(df::global::cur_year); + n_cur_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cur_year); + + field_name = "cur_year_tick"; + auto n_cur_year_tick = new NodeSimple; + n_cur_year_tick->m_field_name = field_name; + n_cur_year_tick->m_df_type = DF_Type::int32_t; + n_cur_year_tick->m_rdf_type = RDF_Type::int32_t; + n_cur_year_tick->m_node_type = NodeType::Simple; + n_cur_year_tick->m_address = reinterpret_cast(df::global::cur_year_tick); + n_cur_year_tick->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cur_year_tick); + + field_name = "cur_year_tick_advmode"; + auto n_cur_year_tick_advmode = new NodeSimple; + n_cur_year_tick_advmode->m_field_name = field_name; + n_cur_year_tick_advmode->m_df_type = DF_Type::int32_t; + n_cur_year_tick_advmode->m_rdf_type = RDF_Type::int32_t; + n_cur_year_tick_advmode->m_node_type = NodeType::Simple; + n_cur_year_tick_advmode->m_address = reinterpret_cast(df::global::cur_year_tick_advmode); + n_cur_year_tick_advmode->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cur_year_tick_advmode); + + field_name = "current_weather"; + auto n_current_weather = new NodeArray; + n_current_weather->m_address = reinterpret_cast(df::global::current_weather); + n_current_weather->m_field_name = field_name; + n_current_weather->m_df_type = DF_Type::weather_type; + n_current_weather->m_rdf_type = RDF_Type::Array; + n_current_weather->m_node_type = NodeType::Array; + n_current_weather->m_enum_base = DF_Type::int8_t; + n_current_weather->m_defined_in = "df.globals.xml"; + n_current_weather->m_addornements = "[5[5"; + n_current_weather->m_array_size = 5; + n_current_weather->m_address = reinterpret_cast(df::global::current_weather); + n_current_weather->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_current_weather); + + field_name = "cursor"; + auto n_cursor = new NodeCompound; + n_cursor->m_field_name = field_name; + n_cursor->m_df_type = DF_Type::T_cursor; + n_cursor->m_rdf_type = RDF_Type::Compound; + n_cursor->m_node_type = NodeType::Compound; + n_cursor->m_address = reinterpret_cast(df::global::cursor); + n_cursor->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cursor); + + field_name = "d_init"; + auto n_d_init = new NodeCompound; + n_d_init->m_field_name = field_name; + n_d_init->m_df_type = DF_Type::d_init; + n_d_init->m_rdf_type = RDF_Type::Compound; + n_d_init->m_node_type = NodeType::Compound; + n_d_init->m_address = reinterpret_cast(df::global::d_init); + n_d_init->m_defined_in = "df.globals.xml"; + n_d_init->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_d_init); + + field_name = "dance_form_next_id"; + auto n_dance_form_next_id = new NodeSimple; + n_dance_form_next_id->m_field_name = field_name; + n_dance_form_next_id->m_df_type = DF_Type::int32_t; + n_dance_form_next_id->m_rdf_type = RDF_Type::int32_t; + n_dance_form_next_id->m_node_type = NodeType::Simple; + n_dance_form_next_id->m_address = reinterpret_cast(df::global::dance_form_next_id); + n_dance_form_next_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dance_form_next_id); + + field_name = "debug_combat"; + auto n_debug_combat = new NodeSimple; + n_debug_combat->m_field_name = field_name; + n_debug_combat->m_df_type = DF_Type::Bool; + n_debug_combat->m_rdf_type = RDF_Type::Bool; + n_debug_combat->m_node_type = NodeType::Simple; + n_debug_combat->m_address = reinterpret_cast(df::global::debug_combat); + n_debug_combat->m_comment = "Functionality unknown, combat-related"; + n_debug_combat->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_debug_combat); + + field_name = "debug_fastmining"; + auto n_debug_fastmining = new NodeSimple; + n_debug_fastmining->m_field_name = field_name; + n_debug_fastmining->m_df_type = DF_Type::Bool; + n_debug_fastmining->m_rdf_type = RDF_Type::Bool; + n_debug_fastmining->m_node_type = NodeType::Simple; + n_debug_fastmining->m_address = reinterpret_cast(df::global::debug_fastmining); + n_debug_fastmining->m_comment = "All dwarves mine as fast as a Legendary Miner"; + n_debug_fastmining->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_debug_fastmining); + + field_name = "debug_noberserk"; + auto n_debug_noberserk = new NodeSimple; + n_debug_noberserk->m_field_name = field_name; + n_debug_noberserk->m_df_type = DF_Type::Bool; + n_debug_noberserk->m_rdf_type = RDF_Type::Bool; + n_debug_noberserk->m_node_type = NodeType::Simple; + n_debug_noberserk->m_address = reinterpret_cast(df::global::debug_noberserk); + n_debug_noberserk->m_comment = "Insanity can only result in Crazed or Melancholy, never Berserk"; + n_debug_noberserk->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_debug_noberserk); + + field_name = "debug_nodrink"; + auto n_debug_nodrink = new NodeSimple; + n_debug_nodrink->m_field_name = field_name; + n_debug_nodrink->m_df_type = DF_Type::Bool; + n_debug_nodrink->m_rdf_type = RDF_Type::Bool; + n_debug_nodrink->m_node_type = NodeType::Simple; + n_debug_nodrink->m_address = reinterpret_cast(df::global::debug_nodrink); + n_debug_nodrink->m_comment = "Disables thirst on everything"; + n_debug_nodrink->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_debug_nodrink); + + field_name = "debug_noeat"; + auto n_debug_noeat = new NodeSimple; + n_debug_noeat->m_field_name = field_name; + n_debug_noeat->m_df_type = DF_Type::Bool; + n_debug_noeat->m_rdf_type = RDF_Type::Bool; + n_debug_noeat->m_node_type = NodeType::Simple; + n_debug_noeat->m_address = reinterpret_cast(df::global::debug_noeat); + n_debug_noeat->m_comment = "Disables hunger on everything"; + n_debug_noeat->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_debug_noeat); + + field_name = "debug_nomoods"; + auto n_debug_nomoods = new NodeSimple; + n_debug_nomoods->m_field_name = field_name; + n_debug_nomoods->m_df_type = DF_Type::Bool; + n_debug_nomoods->m_rdf_type = RDF_Type::Bool; + n_debug_nomoods->m_node_type = NodeType::Simple; + n_debug_nomoods->m_address = reinterpret_cast(df::global::debug_nomoods); + n_debug_nomoods->m_comment = "Same as ARTIFACTS:NO"; + n_debug_nomoods->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_debug_nomoods); + + field_name = "debug_nopause"; + auto n_debug_nopause = new NodeSimple; + n_debug_nopause->m_field_name = field_name; + n_debug_nopause->m_df_type = DF_Type::Bool; + n_debug_nopause->m_rdf_type = RDF_Type::Bool; + n_debug_nopause->m_node_type = NodeType::Simple; + n_debug_nopause->m_address = reinterpret_cast(df::global::debug_nopause); + n_debug_nopause->m_comment = "Prevents the game from being paused"; + n_debug_nopause->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_debug_nopause); + + field_name = "debug_nosleep"; + auto n_debug_nosleep = new NodeSimple; + n_debug_nosleep->m_field_name = field_name; + n_debug_nosleep->m_df_type = DF_Type::Bool; + n_debug_nosleep->m_rdf_type = RDF_Type::Bool; + n_debug_nosleep->m_node_type = NodeType::Simple; + n_debug_nosleep->m_address = reinterpret_cast(df::global::debug_nosleep); + n_debug_nosleep->m_comment = "Disables drowsiness on everything"; + n_debug_nosleep->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_debug_nosleep); + + field_name = "debug_showambush"; + auto n_debug_showambush = new NodeSimple; + n_debug_showambush->m_field_name = field_name; + n_debug_showambush->m_df_type = DF_Type::Bool; + n_debug_showambush->m_rdf_type = RDF_Type::Bool; + n_debug_showambush->m_node_type = NodeType::Simple; + n_debug_showambush->m_address = reinterpret_cast(df::global::debug_showambush); + n_debug_showambush->m_comment = "Makes hidden ambushers visible on-screen and in the units list (but not to your citizens)"; + n_debug_showambush->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_debug_showambush); + + field_name = "debug_turbospeed"; + auto n_debug_turbospeed = new NodeSimple; + n_debug_turbospeed->m_field_name = field_name; + n_debug_turbospeed->m_df_type = DF_Type::Bool; + n_debug_turbospeed->m_rdf_type = RDF_Type::Bool; + n_debug_turbospeed->m_node_type = NodeType::Simple; + n_debug_turbospeed->m_address = reinterpret_cast(df::global::debug_turbospeed); + n_debug_turbospeed->m_comment = "All units move and work at maximum speed"; + n_debug_turbospeed->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_debug_turbospeed); + + field_name = "debug_wildlife"; + auto n_debug_wildlife = new NodeSimple; + n_debug_wildlife->m_field_name = field_name; + n_debug_wildlife->m_df_type = DF_Type::Bool; + n_debug_wildlife->m_rdf_type = RDF_Type::Bool; + n_debug_wildlife->m_node_type = NodeType::Simple; + n_debug_wildlife->m_address = reinterpret_cast(df::global::debug_wildlife); + n_debug_wildlife->m_comment = "Functionality unknown, wildlife-related"; + n_debug_wildlife->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_debug_wildlife); + + field_name = "entity_next_id"; + auto n_entity_next_id = new NodeSimple; + n_entity_next_id->m_field_name = field_name; + n_entity_next_id->m_df_type = DF_Type::int32_t; + n_entity_next_id->m_rdf_type = RDF_Type::int32_t; + n_entity_next_id->m_node_type = NodeType::Simple; + n_entity_next_id->m_address = reinterpret_cast(df::global::entity_next_id); + n_entity_next_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity_next_id); + + field_name = "flow_guide_next_id"; + auto n_flow_guide_next_id = new NodeSimple; + n_flow_guide_next_id->m_field_name = field_name; + n_flow_guide_next_id->m_df_type = DF_Type::int32_t; + n_flow_guide_next_id->m_rdf_type = RDF_Type::int32_t; + n_flow_guide_next_id->m_node_type = NodeType::Simple; + n_flow_guide_next_id->m_address = reinterpret_cast(df::global::flow_guide_next_id); + n_flow_guide_next_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flow_guide_next_id); + + field_name = "flows"; + auto n_flows = new NodeVector; + n_flows->m_field_name = field_name; + n_flows->m_df_type = DF_Type::flow_info; + n_flows->m_rdf_type = RDF_Type::Vector; + n_flows->m_node_type = NodeType::Vector; + n_flows->m_defined_in = "df.map.xml"; + n_flows->m_addornements = "v*"; + n_flows->m_address = reinterpret_cast(df::global::flows); + n_flows->m_parent = p_node_parent; + n_flows->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_flows); + + field_name = "formation_next_id"; + auto n_formation_next_id = new NodeSimple; + n_formation_next_id->m_field_name = field_name; + n_formation_next_id->m_df_type = DF_Type::int32_t; + n_formation_next_id->m_rdf_type = RDF_Type::int32_t; + n_formation_next_id->m_node_type = NodeType::Simple; + n_formation_next_id->m_address = reinterpret_cast(df::global::formation_next_id); + n_formation_next_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_formation_next_id); + + field_name = "gamemode"; + auto n_gamemode = new NodeEnum; + n_gamemode->m_field_name = field_name; + n_gamemode->m_df_type = DF_Type::game_mode; + n_gamemode->m_rdf_type = RDF_Type::Enum; + n_gamemode->m_node_type = NodeType::Enum; + n_gamemode->m_base_type = DF_Type::int32_t; + n_gamemode->m_enum_type = "game_mode"; + n_gamemode->m_address = reinterpret_cast(df::global::gamemode); + n_gamemode->m_defined_in = "df.globals.xml"; + n_gamemode->m_first_value = 0; + n_gamemode->m_last_value = 3; + n_gamemode->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_gamemode); + + field_name = "gametype"; + auto n_gametype = new NodeEnum; + n_gametype->m_field_name = field_name; + n_gametype->m_df_type = DF_Type::game_type; + n_gametype->m_rdf_type = RDF_Type::Enum; + n_gametype->m_node_type = NodeType::Enum; + n_gametype->m_base_type = DF_Type::int32_t; + n_gametype->m_enum_type = "game_type"; + n_gametype->m_address = reinterpret_cast(df::global::gametype); + n_gametype->m_defined_in = "df.globals.xml"; + n_gametype->m_first_value = 0; + n_gametype->m_last_value = 11; + n_gametype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_gametype); + + field_name = "gps"; + auto n_gps = new NodeCompound; + n_gps->m_field_name = field_name; + n_gps->m_df_type = DF_Type::graphic; + n_gps->m_rdf_type = RDF_Type::Compound; + n_gps->m_node_type = NodeType::Compound; + n_gps->m_address = reinterpret_cast(df::global::gps); + n_gps->m_defined_in = "df.graphics.xml"; + n_gps->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_gps); + + field_name = "gview"; + auto n_gview = new NodeCompound; + n_gview->m_field_name = field_name; + n_gview->m_df_type = DF_Type::interfacest; + n_gview->m_rdf_type = RDF_Type::Compound; + n_gview->m_node_type = NodeType::Compound; + n_gview->m_address = reinterpret_cast(df::global::gview); + n_gview->m_defined_in = "df.viewscreen.xml"; + n_gview->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_gview); + + field_name = "hist_event_collection_next_id"; + auto n_hist_event_collection_next_id = new NodeSimple; + n_hist_event_collection_next_id->m_field_name = field_name; + n_hist_event_collection_next_id->m_df_type = DF_Type::int32_t; + n_hist_event_collection_next_id->m_rdf_type = RDF_Type::int32_t; + n_hist_event_collection_next_id->m_node_type = NodeType::Simple; + n_hist_event_collection_next_id->m_address = reinterpret_cast(df::global::hist_event_collection_next_id); + n_hist_event_collection_next_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_hist_event_collection_next_id); + + field_name = "hist_event_next_id"; + auto n_hist_event_next_id = new NodeSimple; + n_hist_event_next_id->m_field_name = field_name; + n_hist_event_next_id->m_df_type = DF_Type::int32_t; + n_hist_event_next_id->m_rdf_type = RDF_Type::int32_t; + n_hist_event_next_id->m_node_type = NodeType::Simple; + n_hist_event_next_id->m_address = reinterpret_cast(df::global::hist_event_next_id); + n_hist_event_next_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_hist_event_next_id); + + field_name = "hist_figure_next_id"; + auto n_hist_figure_next_id = new NodeSimple; + n_hist_figure_next_id->m_field_name = field_name; + n_hist_figure_next_id->m_df_type = DF_Type::int32_t; + n_hist_figure_next_id->m_rdf_type = RDF_Type::int32_t; + n_hist_figure_next_id->m_node_type = NodeType::Simple; + n_hist_figure_next_id->m_address = reinterpret_cast(df::global::hist_figure_next_id); + n_hist_figure_next_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_hist_figure_next_id); + + field_name = "identity_next_id"; + auto n_identity_next_id = new NodeSimple; + n_identity_next_id->m_field_name = field_name; + n_identity_next_id->m_df_type = DF_Type::int32_t; + n_identity_next_id->m_rdf_type = RDF_Type::int32_t; + n_identity_next_id->m_node_type = NodeType::Simple; + n_identity_next_id->m_address = reinterpret_cast(df::global::identity_next_id); + n_identity_next_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_identity_next_id); + + field_name = "incident_next_id"; + auto n_incident_next_id = new NodeSimple; + n_incident_next_id->m_field_name = field_name; + n_incident_next_id->m_df_type = DF_Type::int32_t; + n_incident_next_id->m_rdf_type = RDF_Type::int32_t; + n_incident_next_id->m_node_type = NodeType::Simple; + n_incident_next_id->m_address = reinterpret_cast(df::global::incident_next_id); + n_incident_next_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_incident_next_id); + + field_name = "init"; + auto n_init = new NodeCompound; + n_init->m_field_name = field_name; + n_init->m_df_type = DF_Type::init; + n_init->m_rdf_type = RDF_Type::Compound; + n_init->m_node_type = NodeType::Compound; + n_init->m_address = reinterpret_cast(df::global::init); + n_init->m_defined_in = "df.init.xml"; + n_init->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_init); + + field_name = "interaction_instance_next_id"; + auto n_interaction_instance_next_id = new NodeSimple; + n_interaction_instance_next_id->m_field_name = field_name; + n_interaction_instance_next_id->m_df_type = DF_Type::int32_t; + n_interaction_instance_next_id->m_rdf_type = RDF_Type::int32_t; + n_interaction_instance_next_id->m_node_type = NodeType::Simple; + n_interaction_instance_next_id->m_address = reinterpret_cast(df::global::interaction_instance_next_id); + n_interaction_instance_next_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_interaction_instance_next_id); + + field_name = "item_next_id"; + auto n_item_next_id = new NodeSimple; + n_item_next_id->m_field_name = field_name; + n_item_next_id->m_df_type = DF_Type::int32_t; + n_item_next_id->m_rdf_type = RDF_Type::int32_t; + n_item_next_id->m_node_type = NodeType::Simple; + n_item_next_id->m_address = reinterpret_cast(df::global::item_next_id); + n_item_next_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_next_id); + + field_name = "job_next_id"; + auto n_job_next_id = new NodeSimple; + n_job_next_id->m_field_name = field_name; + n_job_next_id->m_df_type = DF_Type::int32_t; + n_job_next_id->m_rdf_type = RDF_Type::int32_t; + n_job_next_id->m_node_type = NodeType::Simple; + n_job_next_id->m_address = reinterpret_cast(df::global::job_next_id); + n_job_next_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_job_next_id); + + field_name = "machine_next_id"; + auto n_machine_next_id = new NodeSimple; + n_machine_next_id->m_field_name = field_name; + n_machine_next_id->m_df_type = DF_Type::int32_t; + n_machine_next_id->m_rdf_type = RDF_Type::int32_t; + n_machine_next_id->m_node_type = NodeType::Simple; + n_machine_next_id->m_address = reinterpret_cast(df::global::machine_next_id); + n_machine_next_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_machine_next_id); + + field_name = "map_renderer"; + auto n_map_renderer = new NodeCompound; + n_map_renderer->m_field_name = field_name; + n_map_renderer->m_df_type = DF_Type::map_renderer; + n_map_renderer->m_rdf_type = RDF_Type::Compound; + n_map_renderer->m_node_type = NodeType::Compound; + n_map_renderer->m_address = reinterpret_cast(df::global::map_renderer); + n_map_renderer->m_defined_in = "df.ui.xml"; + n_map_renderer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_map_renderer); + + field_name = "min_load_version"; + auto n_min_load_version = new NodeSimple; + n_min_load_version->m_field_name = field_name; + n_min_load_version->m_df_type = DF_Type::int32_t; + n_min_load_version->m_rdf_type = RDF_Type::int32_t; + n_min_load_version->m_node_type = NodeType::Simple; + n_min_load_version->m_address = reinterpret_cast(df::global::min_load_version); + n_min_load_version->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_min_load_version); + + field_name = "movie_version"; + auto n_movie_version = new NodeSimple; + n_movie_version->m_field_name = field_name; + n_movie_version->m_df_type = DF_Type::int32_t; + n_movie_version->m_rdf_type = RDF_Type::int32_t; + n_movie_version->m_node_type = NodeType::Simple; + n_movie_version->m_address = reinterpret_cast(df::global::movie_version); + n_movie_version->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_movie_version); + + field_name = "musical_form_next_id"; + auto n_musical_form_next_id = new NodeSimple; + n_musical_form_next_id->m_field_name = field_name; + n_musical_form_next_id->m_df_type = DF_Type::int32_t; + n_musical_form_next_id->m_rdf_type = RDF_Type::int32_t; + n_musical_form_next_id->m_node_type = NodeType::Simple; + n_musical_form_next_id->m_address = reinterpret_cast(df::global::musical_form_next_id); + n_musical_form_next_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_musical_form_next_id); + + field_name = "nemesis_next_id"; + auto n_nemesis_next_id = new NodeSimple; + n_nemesis_next_id->m_field_name = field_name; + n_nemesis_next_id->m_df_type = DF_Type::int32_t; + n_nemesis_next_id->m_rdf_type = RDF_Type::int32_t; + n_nemesis_next_id->m_node_type = NodeType::Simple; + n_nemesis_next_id->m_address = reinterpret_cast(df::global::nemesis_next_id); + n_nemesis_next_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_nemesis_next_id); + + field_name = "occupation_next_id"; + auto n_occupation_next_id = new NodeSimple; + n_occupation_next_id->m_field_name = field_name; + n_occupation_next_id->m_df_type = DF_Type::int32_t; + n_occupation_next_id->m_rdf_type = RDF_Type::int32_t; + n_occupation_next_id->m_node_type = NodeType::Simple; + n_occupation_next_id->m_address = reinterpret_cast(df::global::occupation_next_id); + n_occupation_next_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_occupation_next_id); + + field_name = "pause_state"; + auto n_pause_state = new NodeSimple; + n_pause_state->m_field_name = field_name; + n_pause_state->m_df_type = DF_Type::Bool; + n_pause_state->m_rdf_type = RDF_Type::Bool; + n_pause_state->m_node_type = NodeType::Simple; + n_pause_state->m_address = reinterpret_cast(df::global::pause_state); + n_pause_state->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pause_state); + + field_name = "poetic_form_next_id"; + auto n_poetic_form_next_id = new NodeSimple; + n_poetic_form_next_id->m_field_name = field_name; + n_poetic_form_next_id->m_df_type = DF_Type::int32_t; + n_poetic_form_next_id->m_rdf_type = RDF_Type::int32_t; + n_poetic_form_next_id->m_node_type = NodeType::Simple; + n_poetic_form_next_id->m_address = reinterpret_cast(df::global::poetic_form_next_id); + n_poetic_form_next_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_poetic_form_next_id); + + field_name = "process_dig"; + auto n_process_dig = new NodeSimple; + n_process_dig->m_field_name = field_name; + n_process_dig->m_df_type = DF_Type::Bool; + n_process_dig->m_rdf_type = RDF_Type::Bool; + n_process_dig->m_node_type = NodeType::Simple; + n_process_dig->m_address = reinterpret_cast(df::global::process_dig); + n_process_dig->m_comment = "Requests dig designations to be processed next frame."; + n_process_dig->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_process_dig); + + field_name = "process_jobs"; + auto n_process_jobs = new NodeSimple; + n_process_jobs->m_field_name = field_name; + n_process_jobs->m_df_type = DF_Type::Bool; + n_process_jobs->m_rdf_type = RDF_Type::Bool; + n_process_jobs->m_node_type = NodeType::Simple; + n_process_jobs->m_address = reinterpret_cast(df::global::process_jobs); + n_process_jobs->m_comment = "Requests building jobs to be processed next frame."; + n_process_jobs->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_process_jobs); + + field_name = "proj_next_id"; + auto n_proj_next_id = new NodeSimple; + n_proj_next_id->m_field_name = field_name; + n_proj_next_id->m_df_type = DF_Type::int32_t; + n_proj_next_id->m_rdf_type = RDF_Type::int32_t; + n_proj_next_id->m_node_type = NodeType::Simple; + n_proj_next_id->m_address = reinterpret_cast(df::global::proj_next_id); + n_proj_next_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_proj_next_id); + + field_name = "rhythm_next_id"; + auto n_rhythm_next_id = new NodeSimple; + n_rhythm_next_id->m_field_name = field_name; + n_rhythm_next_id->m_df_type = DF_Type::int32_t; + n_rhythm_next_id->m_rdf_type = RDF_Type::int32_t; + n_rhythm_next_id->m_node_type = NodeType::Simple; + n_rhythm_next_id->m_address = reinterpret_cast(df::global::rhythm_next_id); + n_rhythm_next_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rhythm_next_id); + + field_name = "save_on_exit"; + auto n_save_on_exit = new NodeSimple; + n_save_on_exit->m_field_name = field_name; + n_save_on_exit->m_df_type = DF_Type::Bool; + n_save_on_exit->m_rdf_type = RDF_Type::Bool; + n_save_on_exit->m_node_type = NodeType::Simple; + n_save_on_exit->m_address = reinterpret_cast(df::global::save_on_exit); + n_save_on_exit->m_comment = "Ending the game saves its state back to world.dat or world.sav"; + n_save_on_exit->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_save_on_exit); + + field_name = "scale_next_id"; + auto n_scale_next_id = new NodeSimple; + n_scale_next_id->m_field_name = field_name; + n_scale_next_id->m_df_type = DF_Type::int32_t; + n_scale_next_id->m_rdf_type = RDF_Type::int32_t; + n_scale_next_id->m_node_type = NodeType::Simple; + n_scale_next_id->m_address = reinterpret_cast(df::global::scale_next_id); + n_scale_next_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_scale_next_id); + + field_name = "schedule_next_id"; + auto n_schedule_next_id = new NodeSimple; + n_schedule_next_id->m_field_name = field_name; + n_schedule_next_id->m_df_type = DF_Type::int32_t; + n_schedule_next_id->m_rdf_type = RDF_Type::int32_t; + n_schedule_next_id->m_node_type = NodeType::Simple; + n_schedule_next_id->m_address = reinterpret_cast(df::global::schedule_next_id); + n_schedule_next_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_schedule_next_id); + + field_name = "selection_rect"; + auto n_selection_rect = new NodeCompound; + n_selection_rect->m_field_name = field_name; + n_selection_rect->m_df_type = DF_Type::T_selection_rect; + n_selection_rect->m_rdf_type = RDF_Type::Compound; + n_selection_rect->m_node_type = NodeType::Compound; + n_selection_rect->m_address = reinterpret_cast(df::global::selection_rect); + n_selection_rect->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_selection_rect); + + field_name = "soul_next_id"; + auto n_soul_next_id = new NodeSimple; + n_soul_next_id->m_field_name = field_name; + n_soul_next_id->m_df_type = DF_Type::int32_t; + n_soul_next_id->m_rdf_type = RDF_Type::int32_t; + n_soul_next_id->m_node_type = NodeType::Simple; + n_soul_next_id->m_address = reinterpret_cast(df::global::soul_next_id); + n_soul_next_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_soul_next_id); + + field_name = "squad_next_id"; + auto n_squad_next_id = new NodeSimple; + n_squad_next_id->m_field_name = field_name; + n_squad_next_id->m_df_type = DF_Type::int32_t; + n_squad_next_id->m_rdf_type = RDF_Type::int32_t; + n_squad_next_id->m_node_type = NodeType::Simple; + n_squad_next_id->m_address = reinterpret_cast(df::global::squad_next_id); + n_squad_next_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_squad_next_id); + + field_name = "standing_orders_auto_butcher"; + auto n_standing_orders_auto_butcher = new NodeSimple; + n_standing_orders_auto_butcher->m_field_name = field_name; + n_standing_orders_auto_butcher->m_df_type = DF_Type::uint8_t; + n_standing_orders_auto_butcher->m_rdf_type = RDF_Type::uint8_t; + n_standing_orders_auto_butcher->m_node_type = NodeType::Simple; + n_standing_orders_auto_butcher->m_address = reinterpret_cast(df::global::standing_orders_auto_butcher); + n_standing_orders_auto_butcher->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_standing_orders_auto_butcher); + + field_name = "standing_orders_auto_collect_webs"; + auto n_standing_orders_auto_collect_webs = new NodeSimple; + n_standing_orders_auto_collect_webs->m_field_name = field_name; + n_standing_orders_auto_collect_webs->m_df_type = DF_Type::uint8_t; + n_standing_orders_auto_collect_webs->m_rdf_type = RDF_Type::uint8_t; + n_standing_orders_auto_collect_webs->m_node_type = NodeType::Simple; + n_standing_orders_auto_collect_webs->m_address = reinterpret_cast(df::global::standing_orders_auto_collect_webs); + n_standing_orders_auto_collect_webs->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_standing_orders_auto_collect_webs); + + field_name = "standing_orders_auto_fishery"; + auto n_standing_orders_auto_fishery = new NodeSimple; + n_standing_orders_auto_fishery->m_field_name = field_name; + n_standing_orders_auto_fishery->m_df_type = DF_Type::uint8_t; + n_standing_orders_auto_fishery->m_rdf_type = RDF_Type::uint8_t; + n_standing_orders_auto_fishery->m_node_type = NodeType::Simple; + n_standing_orders_auto_fishery->m_address = reinterpret_cast(df::global::standing_orders_auto_fishery); + n_standing_orders_auto_fishery->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_standing_orders_auto_fishery); + + field_name = "standing_orders_auto_kiln"; + auto n_standing_orders_auto_kiln = new NodeSimple; + n_standing_orders_auto_kiln->m_field_name = field_name; + n_standing_orders_auto_kiln->m_df_type = DF_Type::uint8_t; + n_standing_orders_auto_kiln->m_rdf_type = RDF_Type::uint8_t; + n_standing_orders_auto_kiln->m_node_type = NodeType::Simple; + n_standing_orders_auto_kiln->m_address = reinterpret_cast(df::global::standing_orders_auto_kiln); + n_standing_orders_auto_kiln->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_standing_orders_auto_kiln); + + field_name = "standing_orders_auto_kitchen"; + auto n_standing_orders_auto_kitchen = new NodeSimple; + n_standing_orders_auto_kitchen->m_field_name = field_name; + n_standing_orders_auto_kitchen->m_df_type = DF_Type::uint8_t; + n_standing_orders_auto_kitchen->m_rdf_type = RDF_Type::uint8_t; + n_standing_orders_auto_kitchen->m_node_type = NodeType::Simple; + n_standing_orders_auto_kitchen->m_address = reinterpret_cast(df::global::standing_orders_auto_kitchen); + n_standing_orders_auto_kitchen->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_standing_orders_auto_kitchen); + + field_name = "standing_orders_auto_loom"; + auto n_standing_orders_auto_loom = new NodeSimple; + n_standing_orders_auto_loom->m_field_name = field_name; + n_standing_orders_auto_loom->m_df_type = DF_Type::uint8_t; + n_standing_orders_auto_loom->m_rdf_type = RDF_Type::uint8_t; + n_standing_orders_auto_loom->m_node_type = NodeType::Simple; + n_standing_orders_auto_loom->m_address = reinterpret_cast(df::global::standing_orders_auto_loom); + n_standing_orders_auto_loom->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_standing_orders_auto_loom); + + field_name = "standing_orders_auto_other"; + auto n_standing_orders_auto_other = new NodeSimple; + n_standing_orders_auto_other->m_field_name = field_name; + n_standing_orders_auto_other->m_df_type = DF_Type::uint8_t; + n_standing_orders_auto_other->m_rdf_type = RDF_Type::uint8_t; + n_standing_orders_auto_other->m_node_type = NodeType::Simple; + n_standing_orders_auto_other->m_address = reinterpret_cast(df::global::standing_orders_auto_other); + n_standing_orders_auto_other->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_standing_orders_auto_other); + + field_name = "standing_orders_auto_slaughter"; + auto n_standing_orders_auto_slaughter = new NodeSimple; + n_standing_orders_auto_slaughter->m_field_name = field_name; + n_standing_orders_auto_slaughter->m_df_type = DF_Type::uint8_t; + n_standing_orders_auto_slaughter->m_rdf_type = RDF_Type::uint8_t; + n_standing_orders_auto_slaughter->m_node_type = NodeType::Simple; + n_standing_orders_auto_slaughter->m_address = reinterpret_cast(df::global::standing_orders_auto_slaughter); + n_standing_orders_auto_slaughter->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_standing_orders_auto_slaughter); + + field_name = "standing_orders_auto_smelter"; + auto n_standing_orders_auto_smelter = new NodeSimple; + n_standing_orders_auto_smelter->m_field_name = field_name; + n_standing_orders_auto_smelter->m_df_type = DF_Type::uint8_t; + n_standing_orders_auto_smelter->m_rdf_type = RDF_Type::uint8_t; + n_standing_orders_auto_smelter->m_node_type = NodeType::Simple; + n_standing_orders_auto_smelter->m_address = reinterpret_cast(df::global::standing_orders_auto_smelter); + n_standing_orders_auto_smelter->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_standing_orders_auto_smelter); + + field_name = "standing_orders_auto_tan"; + auto n_standing_orders_auto_tan = new NodeSimple; + n_standing_orders_auto_tan->m_field_name = field_name; + n_standing_orders_auto_tan->m_df_type = DF_Type::uint8_t; + n_standing_orders_auto_tan->m_rdf_type = RDF_Type::uint8_t; + n_standing_orders_auto_tan->m_node_type = NodeType::Simple; + n_standing_orders_auto_tan->m_address = reinterpret_cast(df::global::standing_orders_auto_tan); + n_standing_orders_auto_tan->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_standing_orders_auto_tan); + + field_name = "standing_orders_dump_bones"; + auto n_standing_orders_dump_bones = new NodeSimple; + n_standing_orders_dump_bones->m_field_name = field_name; + n_standing_orders_dump_bones->m_df_type = DF_Type::uint8_t; + n_standing_orders_dump_bones->m_rdf_type = RDF_Type::uint8_t; + n_standing_orders_dump_bones->m_node_type = NodeType::Simple; + n_standing_orders_dump_bones->m_address = reinterpret_cast(df::global::standing_orders_dump_bones); + n_standing_orders_dump_bones->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_standing_orders_dump_bones); + + field_name = "standing_orders_dump_corpses"; + auto n_standing_orders_dump_corpses = new NodeSimple; + n_standing_orders_dump_corpses->m_field_name = field_name; + n_standing_orders_dump_corpses->m_df_type = DF_Type::uint8_t; + n_standing_orders_dump_corpses->m_rdf_type = RDF_Type::uint8_t; + n_standing_orders_dump_corpses->m_node_type = NodeType::Simple; + n_standing_orders_dump_corpses->m_address = reinterpret_cast(df::global::standing_orders_dump_corpses); + n_standing_orders_dump_corpses->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_standing_orders_dump_corpses); + + field_name = "standing_orders_dump_hair"; + auto n_standing_orders_dump_hair = new NodeSimple; + n_standing_orders_dump_hair->m_field_name = field_name; + n_standing_orders_dump_hair->m_df_type = DF_Type::uint8_t; + n_standing_orders_dump_hair->m_rdf_type = RDF_Type::uint8_t; + n_standing_orders_dump_hair->m_node_type = NodeType::Simple; + n_standing_orders_dump_hair->m_address = reinterpret_cast(df::global::standing_orders_dump_hair); + n_standing_orders_dump_hair->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_standing_orders_dump_hair); + + field_name = "standing_orders_dump_other"; + auto n_standing_orders_dump_other = new NodeSimple; + n_standing_orders_dump_other->m_field_name = field_name; + n_standing_orders_dump_other->m_df_type = DF_Type::uint8_t; + n_standing_orders_dump_other->m_rdf_type = RDF_Type::uint8_t; + n_standing_orders_dump_other->m_node_type = NodeType::Simple; + n_standing_orders_dump_other->m_address = reinterpret_cast(df::global::standing_orders_dump_other); + n_standing_orders_dump_other->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_standing_orders_dump_other); + + field_name = "standing_orders_dump_shells"; + auto n_standing_orders_dump_shells = new NodeSimple; + n_standing_orders_dump_shells->m_field_name = field_name; + n_standing_orders_dump_shells->m_df_type = DF_Type::uint8_t; + n_standing_orders_dump_shells->m_rdf_type = RDF_Type::uint8_t; + n_standing_orders_dump_shells->m_node_type = NodeType::Simple; + n_standing_orders_dump_shells->m_address = reinterpret_cast(df::global::standing_orders_dump_shells); + n_standing_orders_dump_shells->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_standing_orders_dump_shells); + + field_name = "standing_orders_dump_skins"; + auto n_standing_orders_dump_skins = new NodeSimple; + n_standing_orders_dump_skins->m_field_name = field_name; + n_standing_orders_dump_skins->m_df_type = DF_Type::uint8_t; + n_standing_orders_dump_skins->m_rdf_type = RDF_Type::uint8_t; + n_standing_orders_dump_skins->m_node_type = NodeType::Simple; + n_standing_orders_dump_skins->m_address = reinterpret_cast(df::global::standing_orders_dump_skins); + n_standing_orders_dump_skins->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_standing_orders_dump_skins); + + field_name = "standing_orders_dump_skulls"; + auto n_standing_orders_dump_skulls = new NodeSimple; + n_standing_orders_dump_skulls->m_field_name = field_name; + n_standing_orders_dump_skulls->m_df_type = DF_Type::uint8_t; + n_standing_orders_dump_skulls->m_rdf_type = RDF_Type::uint8_t; + n_standing_orders_dump_skulls->m_node_type = NodeType::Simple; + n_standing_orders_dump_skulls->m_address = reinterpret_cast(df::global::standing_orders_dump_skulls); + n_standing_orders_dump_skulls->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_standing_orders_dump_skulls); + + field_name = "standing_orders_farmer_harvest"; + auto n_standing_orders_farmer_harvest = new NodeSimple; + n_standing_orders_farmer_harvest->m_field_name = field_name; + n_standing_orders_farmer_harvest->m_df_type = DF_Type::uint8_t; + n_standing_orders_farmer_harvest->m_rdf_type = RDF_Type::uint8_t; + n_standing_orders_farmer_harvest->m_node_type = NodeType::Simple; + n_standing_orders_farmer_harvest->m_address = reinterpret_cast(df::global::standing_orders_farmer_harvest); + n_standing_orders_farmer_harvest->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_standing_orders_farmer_harvest); + + field_name = "standing_orders_forbid_other_dead_items"; + auto n_standing_orders_forbid_other_dead_items = new NodeSimple; + n_standing_orders_forbid_other_dead_items->m_field_name = field_name; + n_standing_orders_forbid_other_dead_items->m_df_type = DF_Type::uint8_t; + n_standing_orders_forbid_other_dead_items->m_rdf_type = RDF_Type::uint8_t; + n_standing_orders_forbid_other_dead_items->m_node_type = NodeType::Simple; + n_standing_orders_forbid_other_dead_items->m_address = reinterpret_cast(df::global::standing_orders_forbid_other_dead_items); + n_standing_orders_forbid_other_dead_items->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_standing_orders_forbid_other_dead_items); + + field_name = "standing_orders_forbid_other_nohunt"; + auto n_standing_orders_forbid_other_nohunt = new NodeSimple; + n_standing_orders_forbid_other_nohunt->m_field_name = field_name; + n_standing_orders_forbid_other_nohunt->m_df_type = DF_Type::uint8_t; + n_standing_orders_forbid_other_nohunt->m_rdf_type = RDF_Type::uint8_t; + n_standing_orders_forbid_other_nohunt->m_node_type = NodeType::Simple; + n_standing_orders_forbid_other_nohunt->m_address = reinterpret_cast(df::global::standing_orders_forbid_other_nohunt); + n_standing_orders_forbid_other_nohunt->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_standing_orders_forbid_other_nohunt); + + field_name = "standing_orders_forbid_own_dead"; + auto n_standing_orders_forbid_own_dead = new NodeSimple; + n_standing_orders_forbid_own_dead->m_field_name = field_name; + n_standing_orders_forbid_own_dead->m_df_type = DF_Type::uint8_t; + n_standing_orders_forbid_own_dead->m_rdf_type = RDF_Type::uint8_t; + n_standing_orders_forbid_own_dead->m_node_type = NodeType::Simple; + n_standing_orders_forbid_own_dead->m_address = reinterpret_cast(df::global::standing_orders_forbid_own_dead); + n_standing_orders_forbid_own_dead->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_standing_orders_forbid_own_dead); + + field_name = "standing_orders_forbid_own_dead_items"; + auto n_standing_orders_forbid_own_dead_items = new NodeSimple; + n_standing_orders_forbid_own_dead_items->m_field_name = field_name; + n_standing_orders_forbid_own_dead_items->m_df_type = DF_Type::uint8_t; + n_standing_orders_forbid_own_dead_items->m_rdf_type = RDF_Type::uint8_t; + n_standing_orders_forbid_own_dead_items->m_node_type = NodeType::Simple; + n_standing_orders_forbid_own_dead_items->m_address = reinterpret_cast(df::global::standing_orders_forbid_own_dead_items); + n_standing_orders_forbid_own_dead_items->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_standing_orders_forbid_own_dead_items); + + field_name = "standing_orders_forbid_used_ammo"; + auto n_standing_orders_forbid_used_ammo = new NodeSimple; + n_standing_orders_forbid_used_ammo->m_field_name = field_name; + n_standing_orders_forbid_used_ammo->m_df_type = DF_Type::uint8_t; + n_standing_orders_forbid_used_ammo->m_rdf_type = RDF_Type::uint8_t; + n_standing_orders_forbid_used_ammo->m_node_type = NodeType::Simple; + n_standing_orders_forbid_used_ammo->m_address = reinterpret_cast(df::global::standing_orders_forbid_used_ammo); + n_standing_orders_forbid_used_ammo->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_standing_orders_forbid_used_ammo); + + field_name = "standing_orders_gather_animals"; + auto n_standing_orders_gather_animals = new NodeSimple; + n_standing_orders_gather_animals->m_field_name = field_name; + n_standing_orders_gather_animals->m_df_type = DF_Type::uint8_t; + n_standing_orders_gather_animals->m_rdf_type = RDF_Type::uint8_t; + n_standing_orders_gather_animals->m_node_type = NodeType::Simple; + n_standing_orders_gather_animals->m_address = reinterpret_cast(df::global::standing_orders_gather_animals); + n_standing_orders_gather_animals->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_standing_orders_gather_animals); + + field_name = "standing_orders_gather_bodies"; + auto n_standing_orders_gather_bodies = new NodeSimple; + n_standing_orders_gather_bodies->m_field_name = field_name; + n_standing_orders_gather_bodies->m_df_type = DF_Type::uint8_t; + n_standing_orders_gather_bodies->m_rdf_type = RDF_Type::uint8_t; + n_standing_orders_gather_bodies->m_node_type = NodeType::Simple; + n_standing_orders_gather_bodies->m_address = reinterpret_cast(df::global::standing_orders_gather_bodies); + n_standing_orders_gather_bodies->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_standing_orders_gather_bodies); + + field_name = "standing_orders_gather_food"; + auto n_standing_orders_gather_food = new NodeSimple; + n_standing_orders_gather_food->m_field_name = field_name; + n_standing_orders_gather_food->m_df_type = DF_Type::uint8_t; + n_standing_orders_gather_food->m_rdf_type = RDF_Type::uint8_t; + n_standing_orders_gather_food->m_node_type = NodeType::Simple; + n_standing_orders_gather_food->m_address = reinterpret_cast(df::global::standing_orders_gather_food); + n_standing_orders_gather_food->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_standing_orders_gather_food); + + field_name = "standing_orders_gather_furniture"; + auto n_standing_orders_gather_furniture = new NodeSimple; + n_standing_orders_gather_furniture->m_field_name = field_name; + n_standing_orders_gather_furniture->m_df_type = DF_Type::uint8_t; + n_standing_orders_gather_furniture->m_rdf_type = RDF_Type::uint8_t; + n_standing_orders_gather_furniture->m_node_type = NodeType::Simple; + n_standing_orders_gather_furniture->m_address = reinterpret_cast(df::global::standing_orders_gather_furniture); + n_standing_orders_gather_furniture->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_standing_orders_gather_furniture); + + field_name = "standing_orders_gather_minerals"; + auto n_standing_orders_gather_minerals = new NodeSimple; + n_standing_orders_gather_minerals->m_field_name = field_name; + n_standing_orders_gather_minerals->m_df_type = DF_Type::uint8_t; + n_standing_orders_gather_minerals->m_rdf_type = RDF_Type::uint8_t; + n_standing_orders_gather_minerals->m_node_type = NodeType::Simple; + n_standing_orders_gather_minerals->m_address = reinterpret_cast(df::global::standing_orders_gather_minerals); + n_standing_orders_gather_minerals->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_standing_orders_gather_minerals); + + field_name = "standing_orders_gather_refuse"; + auto n_standing_orders_gather_refuse = new NodeSimple; + n_standing_orders_gather_refuse->m_field_name = field_name; + n_standing_orders_gather_refuse->m_df_type = DF_Type::uint8_t; + n_standing_orders_gather_refuse->m_rdf_type = RDF_Type::uint8_t; + n_standing_orders_gather_refuse->m_node_type = NodeType::Simple; + n_standing_orders_gather_refuse->m_address = reinterpret_cast(df::global::standing_orders_gather_refuse); + n_standing_orders_gather_refuse->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_standing_orders_gather_refuse); + + field_name = "standing_orders_gather_refuse_outside"; + auto n_standing_orders_gather_refuse_outside = new NodeSimple; + n_standing_orders_gather_refuse_outside->m_field_name = field_name; + n_standing_orders_gather_refuse_outside->m_df_type = DF_Type::uint8_t; + n_standing_orders_gather_refuse_outside->m_rdf_type = RDF_Type::uint8_t; + n_standing_orders_gather_refuse_outside->m_node_type = NodeType::Simple; + n_standing_orders_gather_refuse_outside->m_address = reinterpret_cast(df::global::standing_orders_gather_refuse_outside); + n_standing_orders_gather_refuse_outside->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_standing_orders_gather_refuse_outside); + + field_name = "standing_orders_gather_vermin_remains"; + auto n_standing_orders_gather_vermin_remains = new NodeSimple; + n_standing_orders_gather_vermin_remains->m_field_name = field_name; + n_standing_orders_gather_vermin_remains->m_df_type = DF_Type::uint8_t; + n_standing_orders_gather_vermin_remains->m_rdf_type = RDF_Type::uint8_t; + n_standing_orders_gather_vermin_remains->m_node_type = NodeType::Simple; + n_standing_orders_gather_vermin_remains->m_address = reinterpret_cast(df::global::standing_orders_gather_vermin_remains); + n_standing_orders_gather_vermin_remains->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_standing_orders_gather_vermin_remains); + + field_name = "standing_orders_gather_wood"; + auto n_standing_orders_gather_wood = new NodeSimple; + n_standing_orders_gather_wood->m_field_name = field_name; + n_standing_orders_gather_wood->m_df_type = DF_Type::uint8_t; + n_standing_orders_gather_wood->m_rdf_type = RDF_Type::uint8_t; + n_standing_orders_gather_wood->m_node_type = NodeType::Simple; + n_standing_orders_gather_wood->m_address = reinterpret_cast(df::global::standing_orders_gather_wood); + n_standing_orders_gather_wood->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_standing_orders_gather_wood); + + field_name = "standing_orders_job_cancel_announce"; + auto n_standing_orders_job_cancel_announce = new NodeSimple; + n_standing_orders_job_cancel_announce->m_field_name = field_name; + n_standing_orders_job_cancel_announce->m_df_type = DF_Type::uint8_t; + n_standing_orders_job_cancel_announce->m_rdf_type = RDF_Type::uint8_t; + n_standing_orders_job_cancel_announce->m_node_type = NodeType::Simple; + n_standing_orders_job_cancel_announce->m_address = reinterpret_cast(df::global::standing_orders_job_cancel_announce); + n_standing_orders_job_cancel_announce->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_standing_orders_job_cancel_announce); + + field_name = "standing_orders_mix_food"; + auto n_standing_orders_mix_food = new NodeSimple; + n_standing_orders_mix_food->m_field_name = field_name; + n_standing_orders_mix_food->m_df_type = DF_Type::uint8_t; + n_standing_orders_mix_food->m_rdf_type = RDF_Type::uint8_t; + n_standing_orders_mix_food->m_node_type = NodeType::Simple; + n_standing_orders_mix_food->m_address = reinterpret_cast(df::global::standing_orders_mix_food); + n_standing_orders_mix_food->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_standing_orders_mix_food); + + field_name = "standing_orders_use_dyed_cloth"; + auto n_standing_orders_use_dyed_cloth = new NodeSimple; + n_standing_orders_use_dyed_cloth->m_field_name = field_name; + n_standing_orders_use_dyed_cloth->m_df_type = DF_Type::uint8_t; + n_standing_orders_use_dyed_cloth->m_rdf_type = RDF_Type::uint8_t; + n_standing_orders_use_dyed_cloth->m_node_type = NodeType::Simple; + n_standing_orders_use_dyed_cloth->m_address = reinterpret_cast(df::global::standing_orders_use_dyed_cloth); + n_standing_orders_use_dyed_cloth->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_standing_orders_use_dyed_cloth); + + field_name = "standing_orders_zoneonly_drink"; + auto n_standing_orders_zoneonly_drink = new NodeSimple; + n_standing_orders_zoneonly_drink->m_field_name = field_name; + n_standing_orders_zoneonly_drink->m_df_type = DF_Type::uint8_t; + n_standing_orders_zoneonly_drink->m_rdf_type = RDF_Type::uint8_t; + n_standing_orders_zoneonly_drink->m_node_type = NodeType::Simple; + n_standing_orders_zoneonly_drink->m_address = reinterpret_cast(df::global::standing_orders_zoneonly_drink); + n_standing_orders_zoneonly_drink->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_standing_orders_zoneonly_drink); + + field_name = "standing_orders_zoneonly_fish"; + auto n_standing_orders_zoneonly_fish = new NodeSimple; + n_standing_orders_zoneonly_fish->m_field_name = field_name; + n_standing_orders_zoneonly_fish->m_df_type = DF_Type::uint8_t; + n_standing_orders_zoneonly_fish->m_rdf_type = RDF_Type::uint8_t; + n_standing_orders_zoneonly_fish->m_node_type = NodeType::Simple; + n_standing_orders_zoneonly_fish->m_address = reinterpret_cast(df::global::standing_orders_zoneonly_fish); + n_standing_orders_zoneonly_fish->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_standing_orders_zoneonly_fish); + + field_name = "task_next_id"; + auto n_task_next_id = new NodeSimple; + n_task_next_id->m_field_name = field_name; + n_task_next_id->m_df_type = DF_Type::int32_t; + n_task_next_id->m_rdf_type = RDF_Type::int32_t; + n_task_next_id->m_node_type = NodeType::Simple; + n_task_next_id->m_address = reinterpret_cast(df::global::task_next_id); + n_task_next_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_task_next_id); + + field_name = "texture"; + auto n_texture = new NodeCompound; + n_texture->m_field_name = field_name; + n_texture->m_df_type = DF_Type::texture_handler; + n_texture->m_rdf_type = RDF_Type::Compound; + n_texture->m_node_type = NodeType::Compound; + n_texture->m_address = reinterpret_cast(df::global::texture); + n_texture->m_defined_in = "df.init.xml"; + n_texture->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_texture); + + field_name = "timed_events"; + auto n_timed_events = new NodeVector; + n_timed_events->m_field_name = field_name; + n_timed_events->m_df_type = DF_Type::timed_event; + n_timed_events->m_rdf_type = RDF_Type::Vector; + n_timed_events->m_node_type = NodeType::Vector; + n_timed_events->m_defined_in = "df.ui.xml"; + n_timed_events->m_addornements = "v*"; + n_timed_events->m_address = reinterpret_cast(df::global::timed_events); + n_timed_events->m_parent = p_node_parent; + n_timed_events->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_timed_events); + + field_name = "ui"; + auto n_ui = new NodeCompound; + n_ui->m_field_name = field_name; + n_ui->m_df_type = DF_Type::ui; + n_ui->m_rdf_type = RDF_Type::Compound; + n_ui->m_node_type = NodeType::Compound; + n_ui->m_address = reinterpret_cast(df::global::ui); + n_ui->m_defined_in = "df.ui.xml"; + n_ui->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ui); + + field_name = "ui_advmode"; + auto n_ui_advmode = new NodeCompound; + n_ui_advmode->m_field_name = field_name; + n_ui_advmode->m_df_type = DF_Type::ui_advmode; + n_ui_advmode->m_rdf_type = RDF_Type::Compound; + n_ui_advmode->m_node_type = NodeType::Compound; + n_ui_advmode->m_address = reinterpret_cast(df::global::ui_advmode); + n_ui_advmode->m_defined_in = "df.globals.xml"; + n_ui_advmode->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ui_advmode); + + field_name = "ui_build_selector"; + auto n_ui_build_selector = new NodeCompound; + n_ui_build_selector->m_field_name = field_name; + n_ui_build_selector->m_df_type = DF_Type::ui_build_selector; + n_ui_build_selector->m_rdf_type = RDF_Type::Compound; + n_ui_build_selector->m_node_type = NodeType::Compound; + n_ui_build_selector->m_address = reinterpret_cast(df::global::ui_build_selector); + n_ui_build_selector->m_defined_in = "df.ui-menus.xml"; + n_ui_build_selector->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ui_build_selector); + + field_name = "ui_building_assign_is_marked"; + auto n_ui_building_assign_is_marked = new NodeVector; + n_ui_building_assign_is_marked->m_field_name = field_name; + n_ui_building_assign_is_marked->m_df_type = DF_Type::Bool; + n_ui_building_assign_is_marked->m_rdf_type = RDF_Type::Vector; + n_ui_building_assign_is_marked->m_node_type = NodeType::Vector; + n_ui_building_assign_is_marked->m_addornements = "v"; + n_ui_building_assign_is_marked->m_address = reinterpret_cast(df::global::ui_building_assign_is_marked); + n_ui_building_assign_is_marked->m_parent = p_node_parent; + n_ui_building_assign_is_marked->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_ui_building_assign_is_marked); + + field_name = "ui_building_assign_items"; + auto n_ui_building_assign_items = new NodeVector; + n_ui_building_assign_items->m_field_name = field_name; + n_ui_building_assign_items->m_df_type = DF_Type::item; + n_ui_building_assign_items->m_rdf_type = RDF_Type::Vector; + n_ui_building_assign_items->m_node_type = NodeType::Vector; + n_ui_building_assign_items->m_defined_in = "df.items.xml"; + n_ui_building_assign_items->m_addornements = "v*"; + n_ui_building_assign_items->m_address = reinterpret_cast(df::global::ui_building_assign_items); + n_ui_building_assign_items->m_parent = p_node_parent; + n_ui_building_assign_items->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_ui_building_assign_items); + + field_name = "ui_building_assign_type"; + auto n_ui_building_assign_type = new NodeVector; + n_ui_building_assign_type->m_field_name = field_name; + n_ui_building_assign_type->m_df_type = DF_Type::int8_t; + n_ui_building_assign_type->m_rdf_type = RDF_Type::Vector; + n_ui_building_assign_type->m_node_type = NodeType::Vector; + n_ui_building_assign_type->m_addornements = "v"; + n_ui_building_assign_type->m_address = reinterpret_cast(df::global::ui_building_assign_type); + n_ui_building_assign_type->m_parent = p_node_parent; + n_ui_building_assign_type->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_ui_building_assign_type); + + field_name = "ui_building_assign_units"; + auto n_ui_building_assign_units = new NodeVector; + n_ui_building_assign_units->m_field_name = field_name; + n_ui_building_assign_units->m_df_type = DF_Type::unit; + n_ui_building_assign_units->m_rdf_type = RDF_Type::Vector; + n_ui_building_assign_units->m_node_type = NodeType::Vector; + n_ui_building_assign_units->m_defined_in = "df.units.xml"; + n_ui_building_assign_units->m_addornements = "v*"; + n_ui_building_assign_units->m_address = reinterpret_cast(df::global::ui_building_assign_units); + n_ui_building_assign_units->m_parent = p_node_parent; + n_ui_building_assign_units->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_ui_building_assign_units); + + field_name = "ui_building_in_assign"; + auto n_ui_building_in_assign = new NodeSimple; + n_ui_building_in_assign->m_field_name = field_name; + n_ui_building_in_assign->m_df_type = DF_Type::Bool; + n_ui_building_in_assign->m_rdf_type = RDF_Type::Bool; + n_ui_building_in_assign->m_node_type = NodeType::Simple; + n_ui_building_in_assign->m_address = reinterpret_cast(df::global::ui_building_in_assign); + n_ui_building_in_assign->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ui_building_in_assign); + + field_name = "ui_building_in_resize"; + auto n_ui_building_in_resize = new NodeSimple; + n_ui_building_in_resize->m_field_name = field_name; + n_ui_building_in_resize->m_df_type = DF_Type::Bool; + n_ui_building_in_resize->m_rdf_type = RDF_Type::Bool; + n_ui_building_in_resize->m_node_type = NodeType::Simple; + n_ui_building_in_resize->m_address = reinterpret_cast(df::global::ui_building_in_resize); + n_ui_building_in_resize->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ui_building_in_resize); + + field_name = "ui_building_item_cursor"; + auto n_ui_building_item_cursor = new NodeSimple; + n_ui_building_item_cursor->m_field_name = field_name; + n_ui_building_item_cursor->m_df_type = DF_Type::int32_t; + n_ui_building_item_cursor->m_rdf_type = RDF_Type::int32_t; + n_ui_building_item_cursor->m_node_type = NodeType::Simple; + n_ui_building_item_cursor->m_address = reinterpret_cast(df::global::ui_building_item_cursor); + n_ui_building_item_cursor->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ui_building_item_cursor); + + field_name = "ui_building_resize_radius"; + auto n_ui_building_resize_radius = new NodeSimple; + n_ui_building_resize_radius->m_field_name = field_name; + n_ui_building_resize_radius->m_df_type = DF_Type::int16_t; + n_ui_building_resize_radius->m_rdf_type = RDF_Type::int16_t; + n_ui_building_resize_radius->m_node_type = NodeType::Simple; + n_ui_building_resize_radius->m_address = reinterpret_cast(df::global::ui_building_resize_radius); + n_ui_building_resize_radius->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ui_building_resize_radius); + + field_name = "ui_lever_target_type"; + auto n_ui_lever_target_type = new NodeEnum; + n_ui_lever_target_type->m_field_name = field_name; + n_ui_lever_target_type->m_df_type = DF_Type::lever_target_type; + n_ui_lever_target_type->m_rdf_type = RDF_Type::Enum; + n_ui_lever_target_type->m_node_type = NodeType::Enum; + n_ui_lever_target_type->m_base_type = DF_Type::int8_t; + n_ui_lever_target_type->m_enum_type = "lever_target_type"; + n_ui_lever_target_type->m_address = reinterpret_cast(df::global::ui_lever_target_type); + n_ui_lever_target_type->m_defined_in = "df.globals.xml"; + n_ui_lever_target_type->m_first_value = -1; + n_ui_lever_target_type->m_last_value = 119; + n_ui_lever_target_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ui_lever_target_type); + + field_name = "ui_look_cursor"; + auto n_ui_look_cursor = new NodeSimple; + n_ui_look_cursor->m_field_name = field_name; + n_ui_look_cursor->m_df_type = DF_Type::int32_t; + n_ui_look_cursor->m_rdf_type = RDF_Type::int32_t; + n_ui_look_cursor->m_node_type = NodeType::Simple; + n_ui_look_cursor->m_address = reinterpret_cast(df::global::ui_look_cursor); + n_ui_look_cursor->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ui_look_cursor); + + field_name = "ui_look_list"; + auto n_ui_look_list = new NodeCompound; + n_ui_look_list->m_field_name = field_name; + n_ui_look_list->m_df_type = DF_Type::ui_look_list; + n_ui_look_list->m_rdf_type = RDF_Type::Compound; + n_ui_look_list->m_node_type = NodeType::Compound; + n_ui_look_list->m_address = reinterpret_cast(df::global::ui_look_list); + n_ui_look_list->m_defined_in = "df.ui-menus.xml"; + n_ui_look_list->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ui_look_list); + + field_name = "ui_menu_width"; + auto n_ui_menu_width = new NodeArray; + n_ui_menu_width->m_address = reinterpret_cast(df::global::ui_menu_width); + n_ui_menu_width->m_field_name = field_name; + n_ui_menu_width->m_df_type = DF_Type::int8_t; + n_ui_menu_width->m_rdf_type = RDF_Type::Array; + n_ui_menu_width->m_node_type = NodeType::Array; + n_ui_menu_width->m_addornements = "[2"; + n_ui_menu_width->m_array_size = 2; + n_ui_menu_width->m_address = reinterpret_cast(df::global::ui_menu_width); + n_ui_menu_width->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ui_menu_width); + + field_name = "ui_selected_unit"; + auto n_ui_selected_unit = new NodeSimple; + n_ui_selected_unit->m_field_name = field_name; + n_ui_selected_unit->m_df_type = DF_Type::int32_t; + n_ui_selected_unit->m_rdf_type = RDF_Type::int32_t; + n_ui_selected_unit->m_node_type = NodeType::Simple; + n_ui_selected_unit->m_address = reinterpret_cast(df::global::ui_selected_unit); + n_ui_selected_unit->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ui_selected_unit); + + field_name = "ui_sidebar_menus"; + auto n_ui_sidebar_menus = new NodeCompound; + n_ui_sidebar_menus->m_field_name = field_name; + n_ui_sidebar_menus->m_df_type = DF_Type::ui_sidebar_menus; + n_ui_sidebar_menus->m_rdf_type = RDF_Type::Compound; + n_ui_sidebar_menus->m_node_type = NodeType::Compound; + n_ui_sidebar_menus->m_address = reinterpret_cast(df::global::ui_sidebar_menus); + n_ui_sidebar_menus->m_defined_in = "df.ui-menus.xml"; + n_ui_sidebar_menus->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ui_sidebar_menus); + + field_name = "ui_unit_view_mode"; + auto n_ui_unit_view_mode = new NodeCompound; + n_ui_unit_view_mode->m_field_name = field_name; + n_ui_unit_view_mode->m_df_type = DF_Type::ui_unit_view_mode; + n_ui_unit_view_mode->m_rdf_type = RDF_Type::Compound; + n_ui_unit_view_mode->m_node_type = NodeType::Compound; + n_ui_unit_view_mode->m_address = reinterpret_cast(df::global::ui_unit_view_mode); + n_ui_unit_view_mode->m_defined_in = "df.ui-menus.xml"; + n_ui_unit_view_mode->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ui_unit_view_mode); + + field_name = "ui_workshop_in_add"; + auto n_ui_workshop_in_add = new NodeSimple; + n_ui_workshop_in_add->m_field_name = field_name; + n_ui_workshop_in_add->m_df_type = DF_Type::Bool; + n_ui_workshop_in_add->m_rdf_type = RDF_Type::Bool; + n_ui_workshop_in_add->m_node_type = NodeType::Simple; + n_ui_workshop_in_add->m_address = reinterpret_cast(df::global::ui_workshop_in_add); + n_ui_workshop_in_add->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ui_workshop_in_add); + + field_name = "ui_workshop_job_cursor"; + auto n_ui_workshop_job_cursor = new NodeSimple; + n_ui_workshop_job_cursor->m_field_name = field_name; + n_ui_workshop_job_cursor->m_df_type = DF_Type::int32_t; + n_ui_workshop_job_cursor->m_rdf_type = RDF_Type::int32_t; + n_ui_workshop_job_cursor->m_node_type = NodeType::Simple; + n_ui_workshop_job_cursor->m_address = reinterpret_cast(df::global::ui_workshop_job_cursor); + n_ui_workshop_job_cursor->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ui_workshop_job_cursor); + + field_name = "unit_chunk_next_id"; + auto n_unit_chunk_next_id = new NodeSimple; + n_unit_chunk_next_id->m_field_name = field_name; + n_unit_chunk_next_id->m_df_type = DF_Type::int32_t; + n_unit_chunk_next_id->m_rdf_type = RDF_Type::int32_t; + n_unit_chunk_next_id->m_node_type = NodeType::Simple; + n_unit_chunk_next_id->m_address = reinterpret_cast(df::global::unit_chunk_next_id); + n_unit_chunk_next_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unit_chunk_next_id); + + field_name = "unit_next_id"; + auto n_unit_next_id = new NodeSimple; + n_unit_next_id->m_field_name = field_name; + n_unit_next_id->m_df_type = DF_Type::int32_t; + n_unit_next_id->m_rdf_type = RDF_Type::int32_t; + n_unit_next_id->m_node_type = NodeType::Simple; + n_unit_next_id->m_address = reinterpret_cast(df::global::unit_next_id); + n_unit_next_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unit_next_id); + + field_name = "vehicle_next_id"; + auto n_vehicle_next_id = new NodeSimple; + n_vehicle_next_id->m_field_name = field_name; + n_vehicle_next_id->m_df_type = DF_Type::int32_t; + n_vehicle_next_id->m_rdf_type = RDF_Type::int32_t; + n_vehicle_next_id->m_node_type = NodeType::Simple; + n_vehicle_next_id->m_address = reinterpret_cast(df::global::vehicle_next_id); + n_vehicle_next_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_vehicle_next_id); + + field_name = "version"; + auto n_version = new NodeSimple; + n_version->m_field_name = field_name; + n_version->m_df_type = DF_Type::int32_t; + n_version->m_rdf_type = RDF_Type::int32_t; + n_version->m_node_type = NodeType::Simple; + n_version->m_address = reinterpret_cast(df::global::version); + n_version->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_version); + + field_name = "window_x"; + auto n_window_x = new NodeSimple; + n_window_x->m_field_name = field_name; + n_window_x->m_df_type = DF_Type::int32_t; + n_window_x->m_rdf_type = RDF_Type::int32_t; + n_window_x->m_node_type = NodeType::Simple; + n_window_x->m_address = reinterpret_cast(df::global::window_x); + n_window_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_window_x); + + field_name = "window_y"; + auto n_window_y = new NodeSimple; + n_window_y->m_field_name = field_name; + n_window_y->m_df_type = DF_Type::int32_t; + n_window_y->m_rdf_type = RDF_Type::int32_t; + n_window_y->m_node_type = NodeType::Simple; + n_window_y->m_address = reinterpret_cast(df::global::window_y); + n_window_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_window_y); + + field_name = "window_z"; + auto n_window_z = new NodeSimple; + n_window_z->m_field_name = field_name; + n_window_z->m_df_type = DF_Type::int32_t; + n_window_z->m_rdf_type = RDF_Type::int32_t; + n_window_z->m_node_type = NodeType::Simple; + n_window_z->m_address = reinterpret_cast(df::global::window_z); + n_window_z->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_window_z); + + field_name = "world"; + auto n_world = new NodeCompound; + n_world->m_field_name = field_name; + n_world->m_df_type = DF_Type::world; + n_world->m_rdf_type = RDF_Type::Compound; + n_world->m_node_type = NodeType::Compound; + n_world->m_address = reinterpret_cast(df::global::world); + n_world->m_defined_in = "df.world.xml"; + n_world->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_world); + + field_name = "written_content_next_id"; + auto n_written_content_next_id = new NodeSimple; + n_written_content_next_id->m_field_name = field_name; + n_written_content_next_id->m_df_type = DF_Type::int32_t; + n_written_content_next_id->m_rdf_type = RDF_Type::int32_t; + n_written_content_next_id->m_node_type = NodeType::Simple; + n_written_content_next_id->m_address = reinterpret_cast(df::global::written_content_next_id); + n_written_content_next_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_written_content_next_id); + +} diff --git a/dwarfexplorer/generated/fill_nodes.cpp b/dwarfexplorer/generated/fill_nodes.cpp index 79b0fe9..5b677d0 100644 --- a/dwarfexplorer/generated/fill_nodes.cpp +++ b/dwarfexplorer/generated/fill_nodes.cpp @@ -1,161224 +1,161381 @@ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "df_all.h" -#include "node.h" -#include "offsets_cache.h" - - -using namespace rdf; - - -extern DF_Type get_df_subtype(DF_Type, uint64_t); -extern DF_Type enum_base_type(DF_Type p_enum); - -DF_Type get_real_subtype(uint64_t p_address, DF_Type p_df_type) -{ - uint64_t pointee = *(reinterpret_cast(p_address)); - if (pointee != 0) - { - DF_Type real_type = get_df_subtype(p_df_type, pointee); - if (real_type != DF_Type::None) - return real_type; - } - return p_df_type; -} - - -namespace rdf -{ - NodeDummy the_dummy; - NodeDummy* dummy() { return &the_dummy; } -} - - -void node_from_ui_advmode_menu(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_talk_choice_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_assume_identity_mode(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_text_info_elementst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_text_info_element_longst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::text_info_elementst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_text_info_elementst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "val"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::text_info_element_longst, field_name)); - auto n_val = new NodeSimple; - n_val->m_field_name = field_name; - n_val->m_df_type = DF_Type::int32_t; - n_val->m_rdf_type = RDF_Type::int32_t; - n_val->m_node_type = NodeType::Simple; - n_val->m_address = base + offset; - n_val->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_val); - -} -void node_from_text_info_element_stringst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::text_info_elementst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_text_info_elementst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "val"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::text_info_element_stringst, field_name)); - auto n_val = new NodeSimple; - n_val->m_field_name = field_name; - n_val->m_df_type = DF_Type::Stl_string; - n_val->m_rdf_type = RDF_Type::Stl_string; - n_val->m_node_type = NodeType::Simple; - n_val->m_address = base + offset; - n_val->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_val); - -} -void node_from_adventure_optionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_adventure_item_interact_choicest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_adventure_item_interact_pull_outst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::adventure_item_interact_choicest; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_adventure_item_interact_choicest(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_adventure_item_interact_readst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::adventure_item_interact_choicest; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_adventure_item_interact_choicest(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_adventure_item_interact_strugglest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::adventure_item_interact_choicest; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_adventure_item_interact_choicest(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_announcement_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_announcement_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_popup_message(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "text"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::popup_message, field_name)); - auto n_text = new NodeSimple; - n_text->m_field_name = field_name; - n_text->m_df_type = DF_Type::Stl_string; - n_text->m_rdf_type = RDF_Type::Stl_string; - n_text->m_node_type = NodeType::Simple; - n_text->m_address = base + offset; - n_text->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_text); - - field_name = "color"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::popup_message, field_name)); - auto n_color = new NodeSimple; - n_color->m_field_name = field_name; - n_color->m_df_type = DF_Type::int16_t; - n_color->m_rdf_type = RDF_Type::int16_t; - n_color->m_node_type = NodeType::Simple; - n_color->m_address = base + offset; - n_color->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_color); - - field_name = "bright"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::popup_message, field_name)); - auto n_bright = new NodeSimple; - n_bright->m_field_name = field_name; - n_bright->m_df_type = DF_Type::Bool; - n_bright->m_rdf_type = RDF_Type::Bool; - n_bright->m_node_type = NodeType::Simple; - n_bright->m_address = base + offset; - n_bright->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_bright); - -} -void node_from_art_image_element_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_art_image_element(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "count"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image_element, field_name)); - auto n_count = new NodeSimple; - n_count->m_field_name = field_name; - n_count->m_df_type = DF_Type::int32_t; - n_count->m_rdf_type = RDF_Type::int32_t; - n_count->m_node_type = NodeType::Simple; - n_count->m_address = base + offset; - n_count->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_count); - -} -void node_from_art_image_element_creaturest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::art_image_element; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_art_image_element(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "race"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image_element_creaturest, field_name)); - auto n_race = new NodeSimple; - n_race->m_field_name = field_name; - n_race->m_df_type = DF_Type::int32_t; - n_race->m_rdf_type = RDF_Type::int32_t; - n_race->m_node_type = NodeType::Simple; - n_race->m_address = base + offset; - n_race->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_race); - - field_name = "caste"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image_element_creaturest, field_name)); - auto n_caste = new NodeSimple; - n_caste->m_field_name = field_name; - n_caste->m_df_type = DF_Type::int16_t; - n_caste->m_rdf_type = RDF_Type::int16_t; - n_caste->m_node_type = NodeType::Simple; - n_caste->m_address = base + offset; - n_caste->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_caste); - - field_name = "histfig"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image_element_creaturest, field_name)); - auto n_histfig = new NodeSimple; - n_histfig->m_field_name = field_name; - n_histfig->m_df_type = DF_Type::int32_t; - n_histfig->m_rdf_type = RDF_Type::int32_t; - n_histfig->m_node_type = NodeType::Simple; - n_histfig->m_address = base + offset; - n_histfig->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig); - -} -void node_from_art_image_element_plantst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::art_image_element; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_art_image_element(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "plant_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image_element_plantst, field_name)); - auto n_plant_id = new NodeSimple; - n_plant_id->m_field_name = field_name; - n_plant_id->m_df_type = DF_Type::int32_t; - n_plant_id->m_rdf_type = RDF_Type::int32_t; - n_plant_id->m_node_type = NodeType::Simple; - n_plant_id->m_address = base + offset; - n_plant_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_plant_id); - -} -void node_from_art_image_element_treest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::art_image_element; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_art_image_element(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "plant_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image_element_treest, field_name)); - auto n_plant_id = new NodeSimple; - n_plant_id->m_field_name = field_name; - n_plant_id->m_df_type = DF_Type::int32_t; - n_plant_id->m_rdf_type = RDF_Type::int32_t; - n_plant_id->m_node_type = NodeType::Simple; - n_plant_id->m_address = base + offset; - n_plant_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_plant_id); - -} -void node_from_art_image_element_shapest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::art_image_element; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_art_image_element(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "shape_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image_element_shapest, field_name)); - auto n_shape_id = new NodeSimple; - n_shape_id->m_field_name = field_name; - n_shape_id->m_df_type = DF_Type::int32_t; - n_shape_id->m_rdf_type = RDF_Type::int32_t; - n_shape_id->m_node_type = NodeType::Simple; - n_shape_id->m_address = base + offset; - n_shape_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_shape_id); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image_element_shapest, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int16_t; - n_anon_1->m_rdf_type = RDF_Type::int16_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_art_image_property_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_art_image_property(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image_property, field_name)); - auto n_flags = new NodeDFFlagArray; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::int32_t; - n_flags->m_size = 32; - n_flags->m_rdf_type = RDF_Type::DFFlagArray; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - -} -void node_from_art_image_property_verb(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_art_facet_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_art_image_ref(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image_ref, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "subid"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image_ref, field_name)); - auto n_subid = new NodeSimple; - n_subid->m_field_name = field_name; - n_subid->m_df_type = DF_Type::int16_t; - n_subid->m_rdf_type = RDF_Type::int16_t; - n_subid->m_node_type = NodeType::Simple; - n_subid->m_address = base + offset; - n_subid->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_subid); - - field_name = "civ_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image_ref, field_name)); - auto n_civ_id = new NodeSimple; - n_civ_id->m_field_name = field_name; - n_civ_id->m_df_type = DF_Type::int32_t; - n_civ_id->m_rdf_type = RDF_Type::int32_t; - n_civ_id->m_node_type = NodeType::Simple; - n_civ_id->m_address = base + offset; - n_civ_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_civ_id); - - field_name = "site_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image_ref, field_name)); - auto n_site_id = new NodeSimple; - n_site_id->m_field_name = field_name; - n_site_id->m_df_type = DF_Type::int32_t; - n_site_id->m_rdf_type = RDF_Type::int32_t; - n_site_id->m_node_type = NodeType::Simple; - n_site_id->m_address = base + offset; - n_site_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_id); - -} -void node_from_poetic_form_action(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_poetic_form_pattern(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_poetic_form_caesura_position(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_poetic_form_mood(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_poetic_form_subject(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_poetic_form_feature(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_poetic_form_additional_feature(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_poetic_form_perspective(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "type"; - auto n_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_perspective, field_name)); - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::poetic_form_perspective__T_type; - n_type->m_rdf_type = RDF_Type::Enum; - n_type->m_node_type = NodeType::Enum; - n_type->m_base_type = DF_Type::int32_t; - n_type->m_enum_type = "poetic_form_perspective::T_type"; - n_type->m_address = base + offset; - n_type->m_first_value = 0; - n_type->m_last_value = 7; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - - field_name = "histfig"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_perspective, field_name)); - auto n_histfig = new NodeSimple; - n_histfig->m_field_name = field_name; - n_histfig->m_df_type = DF_Type::int32_t; - n_histfig->m_rdf_type = RDF_Type::int32_t; - n_histfig->m_node_type = NodeType::Simple; - n_histfig->m_address = base + offset; - n_histfig->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_perspective, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_musical_form_purpose(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_musical_form_style(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_musical_form_pitch_style(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_musical_form_feature(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_musical_form_sub4(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_sub4, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_sub4, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_sub4, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_sub4, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_sub4, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_sub4, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - -} -void node_from_musical_form_interval(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "degree"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_interval, field_name)); - auto n_degree = new NodeSimple; - n_degree->m_field_name = field_name; - n_degree->m_df_type = DF_Type::int32_t; - n_degree->m_rdf_type = RDF_Type::int32_t; - n_degree->m_node_type = NodeType::Simple; - n_degree->m_address = base + offset; - n_degree->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_degree); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_interval, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::musical_form_interval__T_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - -} -void node_from_dance_form_sub1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form_sub1, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form_sub1, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form_sub1, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form_sub1, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form_sub1, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form_sub1, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form_sub1, field_name)); - auto n_anon_7 = new NodeSimple; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::int32_t; - n_anon_7->m_rdf_type = RDF_Type::int32_t; - n_anon_7->m_node_type = NodeType::Simple; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_7); - - field_name = "anon_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form_sub1, field_name)); - auto n_anon_8 = new NodeSimple; - n_anon_8->m_field_name = field_name; - n_anon_8->m_df_type = DF_Type::int32_t; - n_anon_8->m_rdf_type = RDF_Type::int32_t; - n_anon_8->m_node_type = NodeType::Simple; - n_anon_8->m_address = base + offset; - n_anon_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_8); - - field_name = "anon_9"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form_sub1, field_name)); - auto n_anon_9 = new NodeSimple; - n_anon_9->m_field_name = field_name; - n_anon_9->m_df_type = DF_Type::int32_t; - n_anon_9->m_rdf_type = RDF_Type::int32_t; - n_anon_9->m_node_type = NodeType::Simple; - n_anon_9->m_address = base + offset; - n_anon_9->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_9); - - field_name = "anon_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form_sub1, field_name)); - auto n_anon_10 = new NodeVector; - n_anon_10->m_field_name = field_name; - n_anon_10->m_df_type = DF_Type::int32_t; - n_anon_10->m_rdf_type = RDF_Type::Vector; - n_anon_10->m_node_type = NodeType::Vector; - n_anon_10->m_addornements = "v"; - n_anon_10->m_address = base + offset; - n_anon_10->m_parent = p_node_parent; - n_anon_10->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_10); - - field_name = "anon_11"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form_sub1, field_name)); - auto n_anon_11 = new NodeSimple; - n_anon_11->m_field_name = field_name; - n_anon_11->m_df_type = DF_Type::int32_t; - n_anon_11->m_rdf_type = RDF_Type::int32_t; - n_anon_11->m_node_type = NodeType::Simple; - n_anon_11->m_address = base + offset; - n_anon_11->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_11); - - field_name = "anon_12"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form_sub1, field_name)); - auto n_anon_12 = new NodeSimple; - n_anon_12->m_field_name = field_name; - n_anon_12->m_df_type = DF_Type::int32_t; - n_anon_12->m_rdf_type = RDF_Type::int32_t; - n_anon_12->m_node_type = NodeType::Simple; - n_anon_12->m_address = base + offset; - n_anon_12->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_12); - - field_name = "anon_13"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form_sub1, field_name)); - auto n_anon_13 = new NodeSimple; - n_anon_13->m_field_name = field_name; - n_anon_13->m_df_type = DF_Type::int32_t; - n_anon_13->m_rdf_type = RDF_Type::int32_t; - n_anon_13->m_node_type = NodeType::Simple; - n_anon_13->m_address = base + offset; - n_anon_13->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_13); - - field_name = "anon_14"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form_sub1, field_name)); - auto n_anon_14 = new NodeSimple; - n_anon_14->m_field_name = field_name; - n_anon_14->m_df_type = DF_Type::int32_t; - n_anon_14->m_rdf_type = RDF_Type::int32_t; - n_anon_14->m_node_type = NodeType::Simple; - n_anon_14->m_address = base + offset; - n_anon_14->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_14); - - field_name = "anon_15"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form_sub1, field_name)); - auto n_anon_15 = new NodeVector; - n_anon_15->m_field_name = field_name; - n_anon_15->m_df_type = DF_Type::int32_t; - n_anon_15->m_rdf_type = RDF_Type::Vector; - n_anon_15->m_node_type = NodeType::Vector; - n_anon_15->m_addornements = "v"; - n_anon_15->m_address = base + offset; - n_anon_15->m_parent = p_node_parent; - n_anon_15->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_15); - - field_name = "anon_16"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form_sub1, field_name)); - auto n_anon_16 = new NodeVector; - n_anon_16->m_field_name = field_name; - n_anon_16->m_df_type = DF_Type::int32_t; - n_anon_16->m_rdf_type = RDF_Type::Vector; - n_anon_16->m_node_type = NodeType::Vector; - n_anon_16->m_addornements = "v"; - n_anon_16->m_address = base + offset; - n_anon_16->m_parent = p_node_parent; - n_anon_16->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_16); - - field_name = "anon_17"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form_sub1, field_name)); - auto n_anon_17 = new NodeVector; - n_anon_17->m_field_name = field_name; - n_anon_17->m_df_type = DF_Type::int32_t; - n_anon_17->m_rdf_type = RDF_Type::Vector; - n_anon_17->m_node_type = NodeType::Vector; - n_anon_17->m_addornements = "v"; - n_anon_17->m_address = base + offset; - n_anon_17->m_parent = p_node_parent; - n_anon_17->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_17); - - field_name = "anon_18"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form_sub1, field_name)); - auto n_anon_18 = new NodeVector; - n_anon_18->m_field_name = field_name; - n_anon_18->m_df_type = DF_Type::int32_t; - n_anon_18->m_rdf_type = RDF_Type::Vector; - n_anon_18->m_node_type = NodeType::Vector; - n_anon_18->m_addornements = "v"; - n_anon_18->m_address = base + offset; - n_anon_18->m_parent = p_node_parent; - n_anon_18->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_18); - - field_name = "anon_19"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form_sub1, field_name)); - auto n_anon_19 = new NodeSimple; - n_anon_19->m_field_name = field_name; - n_anon_19->m_df_type = DF_Type::int32_t; - n_anon_19->m_rdf_type = RDF_Type::int32_t; - n_anon_19->m_node_type = NodeType::Simple; - n_anon_19->m_address = base + offset; - n_anon_19->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_19); - -} -void node_from_dance_form_sub2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form_sub2, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::Stl_string; - n_anon_1->m_rdf_type = RDF_Type::Stl_string; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form_sub2, field_name)); - auto n_anon_2 = new NodeVector; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::Vector; - n_anon_2->m_node_type = NodeType::Vector; - n_anon_2->m_addornements = "v"; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - n_anon_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form_sub2, field_name)); - auto n_anon_3 = new NodeVector; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::Vector; - n_anon_3->m_node_type = NodeType::Vector; - n_anon_3->m_addornements = "v"; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - n_anon_3->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form_sub2, field_name)); - auto n_anon_4 = new NodeVector; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::Vector; - n_anon_4->m_node_type = NodeType::Vector; - n_anon_4->m_addornements = "v"; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - n_anon_4->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form_sub2, field_name)); - auto n_anon_5 = new NodeVector; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::Vector; - n_anon_5->m_node_type = NodeType::Vector; - n_anon_5->m_addornements = "v"; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - n_anon_5->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form_sub2, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - -} -void node_from_scale_sub1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scale_sub1, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::Stl_string; - n_anon_1->m_rdf_type = RDF_Type::Stl_string; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - auto n_anon_2 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scale_sub1, field_name)); - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::Array; - n_anon_2->m_node_type = NodeType::Array; - n_anon_2->m_addornements = "[5"; - n_anon_2->m_array_size = 5; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scale_sub1, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scale_sub1, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - -} -void node_from_scale_sub2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scale_sub2, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scale_sub2, field_name)); - auto n_name = new NodeSimple; - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Stl_string; - n_name->m_node_type = NodeType::Simple; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "anon_2"; - auto n_anon_2 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scale_sub2, field_name)); - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::Array; - n_anon_2->m_node_type = NodeType::Array; - n_anon_2->m_addornements = "[7"; - n_anon_2->m_array_size = 7; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scale_sub2, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scale_sub2, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scale_sub2, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - -} -void node_from_rhythm_sub2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::rhythm_sub2, field_name)); - auto n_name = new NodeSimple; - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Stl_string; - n_name->m_node_type = NodeType::Simple; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::rhythm_sub2, field_name)); - auto n_anon_1 = new NodeVector; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::Vector; - n_anon_1->m_node_type = NodeType::Vector; - n_anon_1->m_addornements = "v"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::rhythm_sub2, field_name)); - auto n_anon_2 = new NodeVector; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::Vector; - n_anon_2->m_node_type = NodeType::Vector; - n_anon_2->m_addornements = "v"; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - n_anon_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::rhythm_sub2, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - -} -void node_from_occupation_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_occupation_sub1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::occupation_sub1, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::occupation_sub1, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::occupation_sub1, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int16_t; - n_anon_3->m_rdf_type = RDF_Type::int16_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::occupation_sub1, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int16_t; - n_anon_4->m_rdf_type = RDF_Type::int16_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::occupation_sub1, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int16_t; - n_anon_5->m_rdf_type = RDF_Type::int16_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::occupation_sub1, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::occupation_sub1, field_name)); - auto n_anon_7 = new NodeSimple; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::int32_t; - n_anon_7->m_rdf_type = RDF_Type::int32_t; - n_anon_7->m_node_type = NodeType::Simple; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_7); - - field_name = "anon_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::occupation_sub1, field_name)); - auto n_anon_8 = new NodeSimple; - n_anon_8->m_field_name = field_name; - n_anon_8->m_df_type = DF_Type::int32_t; - n_anon_8->m_rdf_type = RDF_Type::int32_t; - n_anon_8->m_node_type = NodeType::Simple; - n_anon_8->m_address = base + offset; - n_anon_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_8); - - field_name = "anon_9"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::occupation_sub1, field_name)); - auto n_anon_9 = new NodeSimple; - n_anon_9->m_field_name = field_name; - n_anon_9->m_df_type = DF_Type::int32_t; - n_anon_9->m_rdf_type = RDF_Type::int32_t; - n_anon_9->m_node_type = NodeType::Simple; - n_anon_9->m_address = base + offset; - n_anon_9->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_9); - - field_name = "anon_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::occupation_sub1, field_name)); - auto n_anon_10 = new NodeSimple; - n_anon_10->m_field_name = field_name; - n_anon_10->m_df_type = DF_Type::int32_t; - n_anon_10->m_rdf_type = RDF_Type::int32_t; - n_anon_10->m_node_type = NodeType::Simple; - n_anon_10->m_address = base + offset; - n_anon_10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_10); - - field_name = "anon_11"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::occupation_sub1, field_name)); - auto n_anon_11 = new NodeSimple; - n_anon_11->m_field_name = field_name; - n_anon_11->m_df_type = DF_Type::int32_t; - n_anon_11->m_rdf_type = RDF_Type::int32_t; - n_anon_11->m_node_type = NodeType::Simple; - n_anon_11->m_address = base + offset; - n_anon_11->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_11); - - field_name = "anon_12"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::occupation_sub1, field_name)); - auto n_anon_12 = new NodeSimple; - n_anon_12->m_field_name = field_name; - n_anon_12->m_df_type = DF_Type::int32_t; - n_anon_12->m_rdf_type = RDF_Type::int32_t; - n_anon_12->m_node_type = NodeType::Simple; - n_anon_12->m_address = base + offset; - n_anon_12->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_12); - - field_name = "anon_13"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::occupation_sub1, field_name)); - auto n_anon_13 = new NodeSimple; - n_anon_13->m_field_name = field_name; - n_anon_13->m_df_type = DF_Type::int32_t; - n_anon_13->m_rdf_type = RDF_Type::int32_t; - n_anon_13->m_node_type = NodeType::Simple; - n_anon_13->m_address = base + offset; - n_anon_13->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_13); - - field_name = "anon_14"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::occupation_sub1, field_name)); - auto n_anon_14 = new NodeSimple; - n_anon_14->m_field_name = field_name; - n_anon_14->m_df_type = DF_Type::int32_t; - n_anon_14->m_rdf_type = RDF_Type::int32_t; - n_anon_14->m_node_type = NodeType::Simple; - n_anon_14->m_address = base + offset; - n_anon_14->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_14); - - field_name = "anon_15"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::occupation_sub1, field_name)); - auto n_anon_15 = new NodeSimple; - n_anon_15->m_field_name = field_name; - n_anon_15->m_df_type = DF_Type::int32_t; - n_anon_15->m_rdf_type = RDF_Type::int32_t; - n_anon_15->m_node_type = NodeType::Simple; - n_anon_15->m_address = base + offset; - n_anon_15->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_15); - - field_name = "anon_16"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::occupation_sub1, field_name)); - auto n_anon_16 = new NodeSimple; - n_anon_16->m_field_name = field_name; - n_anon_16->m_df_type = DF_Type::int32_t; - n_anon_16->m_rdf_type = RDF_Type::int32_t; - n_anon_16->m_node_type = NodeType::Simple; - n_anon_16->m_address = base + offset; - n_anon_16->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_16); - - field_name = "anon_17"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::occupation_sub1, field_name)); - auto n_anon_17 = new NodeSimple; - n_anon_17->m_field_name = field_name; - n_anon_17->m_df_type = DF_Type::int32_t; - n_anon_17->m_rdf_type = RDF_Type::int32_t; - n_anon_17->m_node_type = NodeType::Simple; - n_anon_17->m_address = base + offset; - n_anon_17->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_17); - - field_name = "anon_18"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::occupation_sub1, field_name)); - auto n_anon_18 = new NodeSimple; - n_anon_18->m_field_name = field_name; - n_anon_18->m_df_type = DF_Type::int32_t; - n_anon_18->m_rdf_type = RDF_Type::int32_t; - n_anon_18->m_node_type = NodeType::Simple; - n_anon_18->m_address = base + offset; - n_anon_18->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_18); - - field_name = "anon_19"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::occupation_sub1, field_name)); - auto n_anon_19 = new NodeSimple; - n_anon_19->m_field_name = field_name; - n_anon_19->m_df_type = DF_Type::int32_t; - n_anon_19->m_rdf_type = RDF_Type::int32_t; - n_anon_19->m_node_type = NodeType::Simple; - n_anon_19->m_address = base + offset; - n_anon_19->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_19); - -} -void node_from_buildings_other_id(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_building_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_building_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_door_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_gate_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_building_extents(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "extents"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_extents, field_name)); - auto n_extents = new NodePointer; - n_extents->m_field_name = field_name; - n_extents->m_df_type = get_real_subtype(base+offset, DF_Type::uint8_t); - n_extents->m_rdf_type = RDF_Type::Pointer; - n_extents->m_node_type = NodeType::Pointer; - n_extents->m_addornements = "*"; - n_extents->m_address = base + offset; - n_extents->m_parent = p_node_parent; - n_extents->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_extents); - - field_name = "x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_extents, field_name)); - auto n_x = new NodeSimple; - n_x->m_field_name = field_name; - n_x->m_df_type = DF_Type::int32_t; - n_x->m_rdf_type = RDF_Type::int32_t; - n_x->m_node_type = NodeType::Simple; - n_x->m_address = base + offset; - n_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_x); - - field_name = "y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_extents, field_name)); - auto n_y = new NodeSimple; - n_y->m_field_name = field_name; - n_y->m_df_type = DF_Type::int32_t; - n_y->m_rdf_type = RDF_Type::int32_t; - n_y->m_node_type = NodeType::Simple; - n_y->m_address = base + offset; - n_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_y); - - field_name = "width"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_extents, field_name)); - auto n_width = new NodeSimple; - n_width->m_field_name = field_name; - n_width->m_df_type = DF_Type::int32_t; - n_width->m_rdf_type = RDF_Type::int32_t; - n_width->m_node_type = NodeType::Simple; - n_width->m_address = base + offset; - n_width->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_width); - - field_name = "height"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_extents, field_name)); - auto n_height = new NodeSimple; - n_height->m_field_name = field_name; - n_height->m_df_type = DF_Type::int32_t; - n_height->m_rdf_type = RDF_Type::int32_t; - n_height->m_node_type = NodeType::Simple; - n_height->m_address = base + offset; - n_height->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_height); - -} -void node_from_building_drawbuffer(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "tile"; - auto n_tile = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_drawbuffer, field_name)); - n_tile->m_field_name = field_name; - n_tile->m_df_type = DF_Type::uint8_t; - n_tile->m_rdf_type = RDF_Type::Array; - n_tile->m_node_type = NodeType::Array; - n_tile->m_addornements = "[31[31"; - n_tile->m_array_size = 31; - n_tile->m_address = base + offset; - n_tile->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tile); - - field_name = "fore"; - auto n_fore = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_drawbuffer, field_name)); - n_fore->m_field_name = field_name; - n_fore->m_df_type = DF_Type::int8_t; - n_fore->m_rdf_type = RDF_Type::Array; - n_fore->m_node_type = NodeType::Array; - n_fore->m_addornements = "[31[31"; - n_fore->m_array_size = 31; - n_fore->m_address = base + offset; - n_fore->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_fore); - - field_name = "back"; - auto n_back = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_drawbuffer, field_name)); - n_back->m_field_name = field_name; - n_back->m_df_type = DF_Type::int8_t; - n_back->m_rdf_type = RDF_Type::Array; - n_back->m_node_type = NodeType::Array; - n_back->m_addornements = "[31[31"; - n_back->m_array_size = 31; - n_back->m_address = base + offset; - n_back->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_back); - - field_name = "bright"; - auto n_bright = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_drawbuffer, field_name)); - n_bright->m_field_name = field_name; - n_bright->m_df_type = DF_Type::int8_t; - n_bright->m_rdf_type = RDF_Type::Array; - n_bright->m_node_type = NodeType::Array; - n_bright->m_addornements = "[31[31"; - n_bright->m_array_size = 31; - n_bright->m_address = base + offset; - n_bright->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_bright); - - field_name = "x1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_drawbuffer, field_name)); - auto n_x1 = new NodeSimple; - n_x1->m_field_name = field_name; - n_x1->m_df_type = DF_Type::int16_t; - n_x1->m_rdf_type = RDF_Type::int16_t; - n_x1->m_node_type = NodeType::Simple; - n_x1->m_address = base + offset; - n_x1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_x1); - - field_name = "x2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_drawbuffer, field_name)); - auto n_x2 = new NodeSimple; - n_x2->m_field_name = field_name; - n_x2->m_df_type = DF_Type::int16_t; - n_x2->m_rdf_type = RDF_Type::int16_t; - n_x2->m_node_type = NodeType::Simple; - n_x2->m_address = base + offset; - n_x2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_x2); - - field_name = "y1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_drawbuffer, field_name)); - auto n_y1 = new NodeSimple; - n_y1->m_field_name = field_name; - n_y1->m_df_type = DF_Type::int16_t; - n_y1->m_rdf_type = RDF_Type::int16_t; - n_y1->m_node_type = NodeType::Simple; - n_y1->m_address = base + offset; - n_y1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_y1); - - field_name = "y2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_drawbuffer, field_name)); - auto n_y2 = new NodeSimple; - n_y2->m_field_name = field_name; - n_y2->m_df_type = DF_Type::int16_t; - n_y2->m_rdf_type = RDF_Type::int16_t; - n_y2->m_node_type = NodeType::Simple; - n_y2->m_address = base + offset; - n_y2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_y2); - -} -void node_from_hospital_supplies(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "supplies_needed"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::hospital_supplies, field_name)); - auto n_supplies_needed = new NodeBitfield; - n_supplies_needed->m_field_name = field_name; - n_supplies_needed->m_df_type = DF_Type::hospital_supplies__T_supplies_needed; - n_supplies_needed->m_rdf_type = RDF_Type::Bitfield; - n_supplies_needed->m_node_type = NodeType::Bitfield; - n_supplies_needed->m_address = base + offset; - n_supplies_needed->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_supplies_needed); - - field_name = "max_splints"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::hospital_supplies, field_name)); - auto n_max_splints = new NodeSimple; - n_max_splints->m_field_name = field_name; - n_max_splints->m_df_type = DF_Type::int32_t; - n_max_splints->m_rdf_type = RDF_Type::int32_t; - n_max_splints->m_node_type = NodeType::Simple; - n_max_splints->m_address = base + offset; - n_max_splints->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_max_splints); - - field_name = "max_thread"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::hospital_supplies, field_name)); - auto n_max_thread = new NodeSimple; - n_max_thread->m_field_name = field_name; - n_max_thread->m_df_type = DF_Type::int32_t; - n_max_thread->m_rdf_type = RDF_Type::int32_t; - n_max_thread->m_node_type = NodeType::Simple; - n_max_thread->m_address = base + offset; - n_max_thread->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_max_thread); - - field_name = "max_cloth"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::hospital_supplies, field_name)); - auto n_max_cloth = new NodeSimple; - n_max_cloth->m_field_name = field_name; - n_max_cloth->m_df_type = DF_Type::int32_t; - n_max_cloth->m_rdf_type = RDF_Type::int32_t; - n_max_cloth->m_node_type = NodeType::Simple; - n_max_cloth->m_address = base + offset; - n_max_cloth->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_max_cloth); - - field_name = "max_crutches"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::hospital_supplies, field_name)); - auto n_max_crutches = new NodeSimple; - n_max_crutches->m_field_name = field_name; - n_max_crutches->m_df_type = DF_Type::int32_t; - n_max_crutches->m_rdf_type = RDF_Type::int32_t; - n_max_crutches->m_node_type = NodeType::Simple; - n_max_crutches->m_address = base + offset; - n_max_crutches->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_max_crutches); - - field_name = "max_plaster"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::hospital_supplies, field_name)); - auto n_max_plaster = new NodeSimple; - n_max_plaster->m_field_name = field_name; - n_max_plaster->m_df_type = DF_Type::int32_t; - n_max_plaster->m_rdf_type = RDF_Type::int32_t; - n_max_plaster->m_node_type = NodeType::Simple; - n_max_plaster->m_address = base + offset; - n_max_plaster->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_max_plaster); - - field_name = "max_buckets"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::hospital_supplies, field_name)); - auto n_max_buckets = new NodeSimple; - n_max_buckets->m_field_name = field_name; - n_max_buckets->m_df_type = DF_Type::int32_t; - n_max_buckets->m_rdf_type = RDF_Type::int32_t; - n_max_buckets->m_node_type = NodeType::Simple; - n_max_buckets->m_address = base + offset; - n_max_buckets->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_max_buckets); - - field_name = "max_soap"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::hospital_supplies, field_name)); - auto n_max_soap = new NodeSimple; - n_max_soap->m_field_name = field_name; - n_max_soap->m_df_type = DF_Type::int32_t; - n_max_soap->m_rdf_type = RDF_Type::int32_t; - n_max_soap->m_node_type = NodeType::Simple; - n_max_soap->m_address = base + offset; - n_max_soap->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_max_soap); - - field_name = "cur_splints"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::hospital_supplies, field_name)); - auto n_cur_splints = new NodeSimple; - n_cur_splints->m_field_name = field_name; - n_cur_splints->m_df_type = DF_Type::int32_t; - n_cur_splints->m_rdf_type = RDF_Type::int32_t; - n_cur_splints->m_node_type = NodeType::Simple; - n_cur_splints->m_address = base + offset; - n_cur_splints->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cur_splints); - - field_name = "cur_thread"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::hospital_supplies, field_name)); - auto n_cur_thread = new NodeSimple; - n_cur_thread->m_field_name = field_name; - n_cur_thread->m_df_type = DF_Type::int32_t; - n_cur_thread->m_rdf_type = RDF_Type::int32_t; - n_cur_thread->m_node_type = NodeType::Simple; - n_cur_thread->m_address = base + offset; - n_cur_thread->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cur_thread); - - field_name = "cur_cloth"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::hospital_supplies, field_name)); - auto n_cur_cloth = new NodeSimple; - n_cur_cloth->m_field_name = field_name; - n_cur_cloth->m_df_type = DF_Type::int32_t; - n_cur_cloth->m_rdf_type = RDF_Type::int32_t; - n_cur_cloth->m_node_type = NodeType::Simple; - n_cur_cloth->m_address = base + offset; - n_cur_cloth->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cur_cloth); - - field_name = "cur_crutches"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::hospital_supplies, field_name)); - auto n_cur_crutches = new NodeSimple; - n_cur_crutches->m_field_name = field_name; - n_cur_crutches->m_df_type = DF_Type::int32_t; - n_cur_crutches->m_rdf_type = RDF_Type::int32_t; - n_cur_crutches->m_node_type = NodeType::Simple; - n_cur_crutches->m_address = base + offset; - n_cur_crutches->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cur_crutches); - - field_name = "cur_plaster"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::hospital_supplies, field_name)); - auto n_cur_plaster = new NodeSimple; - n_cur_plaster->m_field_name = field_name; - n_cur_plaster->m_df_type = DF_Type::int32_t; - n_cur_plaster->m_rdf_type = RDF_Type::int32_t; - n_cur_plaster->m_node_type = NodeType::Simple; - n_cur_plaster->m_address = base + offset; - n_cur_plaster->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cur_plaster); - - field_name = "cur_buckets"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::hospital_supplies, field_name)); - auto n_cur_buckets = new NodeSimple; - n_cur_buckets->m_field_name = field_name; - n_cur_buckets->m_df_type = DF_Type::int32_t; - n_cur_buckets->m_rdf_type = RDF_Type::int32_t; - n_cur_buckets->m_node_type = NodeType::Simple; - n_cur_buckets->m_address = base + offset; - n_cur_buckets->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cur_buckets); - - field_name = "cur_soap"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::hospital_supplies, field_name)); - auto n_cur_soap = new NodeSimple; - n_cur_soap->m_field_name = field_name; - n_cur_soap->m_df_type = DF_Type::int32_t; - n_cur_soap->m_rdf_type = RDF_Type::int32_t; - n_cur_soap->m_node_type = NodeType::Simple; - n_cur_soap->m_address = base + offset; - n_cur_soap->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cur_soap); - - field_name = "supply_recheck_timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::hospital_supplies, field_name)); - auto n_supply_recheck_timer = new NodeSimple; - n_supply_recheck_timer->m_field_name = field_name; - n_supply_recheck_timer->m_df_type = DF_Type::int32_t; - n_supply_recheck_timer->m_rdf_type = RDF_Type::int32_t; - n_supply_recheck_timer->m_node_type = NodeType::Simple; - n_supply_recheck_timer->m_address = base + offset; - n_supply_recheck_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_supply_recheck_timer); - -} -void node_from_civzone_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_furnace_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_workshop_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_building_users(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unit"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_users, field_name)); - auto n_unit = new NodeVector; - n_unit->m_field_name = field_name; - n_unit->m_df_type = DF_Type::int32_t; - n_unit->m_rdf_type = RDF_Type::Vector; - n_unit->m_node_type = NodeType::Vector; - n_unit->m_addornements = "v"; - n_unit->m_address = base + offset; - n_unit->m_parent = p_node_parent; - n_unit->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unit); - - field_name = "mode"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_users, field_name)); - auto n_mode = new NodeVector; - n_mode->m_field_name = field_name; - n_mode->m_df_type = DF_Type::int16_t; - n_mode->m_rdf_type = RDF_Type::Vector; - n_mode->m_node_type = NodeType::Vector; - n_mode->m_addornements = "v"; - n_mode->m_address = base + offset; - n_mode->m_parent = p_node_parent; - n_mode->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_mode); - -} -void node_from_construction_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_hive_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_shop_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_siegeengine_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_trap_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_pressure_plate_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unit_min"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::pressure_plate_info, field_name)); - auto n_unit_min = new NodeSimple; - n_unit_min->m_field_name = field_name; - n_unit_min->m_df_type = DF_Type::int32_t; - n_unit_min->m_rdf_type = RDF_Type::int32_t; - n_unit_min->m_node_type = NodeType::Simple; - n_unit_min->m_address = base + offset; - n_unit_min->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unit_min); - - field_name = "unit_max"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::pressure_plate_info, field_name)); - auto n_unit_max = new NodeSimple; - n_unit_max->m_field_name = field_name; - n_unit_max->m_df_type = DF_Type::int32_t; - n_unit_max->m_rdf_type = RDF_Type::int32_t; - n_unit_max->m_node_type = NodeType::Simple; - n_unit_max->m_address = base + offset; - n_unit_max->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unit_max); - - field_name = "water_min"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::pressure_plate_info, field_name)); - auto n_water_min = new NodeSimple; - n_water_min->m_field_name = field_name; - n_water_min->m_df_type = DF_Type::int8_t; - n_water_min->m_rdf_type = RDF_Type::int8_t; - n_water_min->m_node_type = NodeType::Simple; - n_water_min->m_address = base + offset; - n_water_min->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_water_min); - - field_name = "water_max"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::pressure_plate_info, field_name)); - auto n_water_max = new NodeSimple; - n_water_max->m_field_name = field_name; - n_water_max->m_df_type = DF_Type::int8_t; - n_water_max->m_rdf_type = RDF_Type::int8_t; - n_water_max->m_node_type = NodeType::Simple; - n_water_max->m_address = base + offset; - n_water_max->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_water_max); - - field_name = "magma_min"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::pressure_plate_info, field_name)); - auto n_magma_min = new NodeSimple; - n_magma_min->m_field_name = field_name; - n_magma_min->m_df_type = DF_Type::int8_t; - n_magma_min->m_rdf_type = RDF_Type::int8_t; - n_magma_min->m_node_type = NodeType::Simple; - n_magma_min->m_address = base + offset; - n_magma_min->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_magma_min); - - field_name = "magma_max"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::pressure_plate_info, field_name)); - auto n_magma_max = new NodeSimple; - n_magma_max->m_field_name = field_name; - n_magma_max->m_df_type = DF_Type::int8_t; - n_magma_max->m_rdf_type = RDF_Type::int8_t; - n_magma_max->m_node_type = NodeType::Simple; - n_magma_max->m_address = base + offset; - n_magma_max->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_magma_max); - - field_name = "track_min"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::pressure_plate_info, field_name)); - auto n_track_min = new NodeSimple; - n_track_min->m_field_name = field_name; - n_track_min->m_df_type = DF_Type::int32_t; - n_track_min->m_rdf_type = RDF_Type::int32_t; - n_track_min->m_node_type = NodeType::Simple; - n_track_min->m_address = base + offset; - n_track_min->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_track_min); - - field_name = "track_max"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::pressure_plate_info, field_name)); - auto n_track_max = new NodeSimple; - n_track_max->m_field_name = field_name; - n_track_max->m_df_type = DF_Type::int32_t; - n_track_max->m_rdf_type = RDF_Type::int32_t; - n_track_max->m_node_type = NodeType::Simple; - n_track_max->m_address = base + offset; - n_track_max->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_track_max); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::pressure_plate_info, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::pressure_plate_info__T_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - -} -void node_from_dfhack_room_quality_level(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_creature_raw_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_caste_raw_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_body_part_raw_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_appearance_modifier_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_body_part_layer_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_appearance_modifier_growth_interval(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_body_part_layer_raw(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "layer_name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_layer_raw, field_name)); - auto n_layer_name = new NodeSimple; - n_layer_name->m_field_name = field_name; - n_layer_name->m_df_type = DF_Type::Stl_string; - n_layer_name->m_rdf_type = RDF_Type::Stl_string; - n_layer_name->m_node_type = NodeType::Simple; - n_layer_name->m_address = base + offset; - n_layer_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_layer_name); - - field_name = "tissue_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_layer_raw, field_name)); - auto n_tissue_id = new NodeSimple; - n_tissue_id->m_field_name = field_name; - n_tissue_id->m_df_type = DF_Type::int32_t; - n_tissue_id->m_rdf_type = RDF_Type::int32_t; - n_tissue_id->m_node_type = NodeType::Simple; - n_tissue_id->m_address = base + offset; - n_tissue_id->m_refers_to = "$$._upglobal._upglobal._upglobal._upglobal._upglobal.tissue[$]"; - n_tissue_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tissue_id); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_layer_raw, field_name)); - auto n_flags = new NodeDFFlagArray; - n_flags->m_field_name = field_name; - n_flags->m_index_enum = DF_Type::body_part_layer_flags; - n_flags->m_df_type = DF_Type::body_part_layer_flags; - n_flags->m_size = 1; - n_flags->m_rdf_type = RDF_Type::DFFlagArray; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_defined_in = "df.creature-raws.xml"; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "part_fraction"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_layer_raw, field_name)); - auto n_part_fraction = new NodeSimple; - n_part_fraction->m_field_name = field_name; - n_part_fraction->m_df_type = DF_Type::int32_t; - n_part_fraction->m_rdf_type = RDF_Type::int32_t; - n_part_fraction->m_node_type = NodeType::Simple; - n_part_fraction->m_address = base + offset; - n_part_fraction->m_comment = "total 1000"; - n_part_fraction->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_part_fraction); - - field_name = "healing_rate"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_layer_raw, field_name)); - auto n_healing_rate = new NodeSimple; - n_healing_rate->m_field_name = field_name; - n_healing_rate->m_df_type = DF_Type::int32_t; - n_healing_rate->m_rdf_type = RDF_Type::int32_t; - n_healing_rate->m_node_type = NodeType::Simple; - n_healing_rate->m_address = base + offset; - n_healing_rate->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_healing_rate); - - field_name = "vascular"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_layer_raw, field_name)); - auto n_vascular = new NodeSimple; - n_vascular->m_field_name = field_name; - n_vascular->m_df_type = DF_Type::int32_t; - n_vascular->m_rdf_type = RDF_Type::int32_t; - n_vascular->m_node_type = NodeType::Simple; - n_vascular->m_address = base + offset; - n_vascular->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_vascular); - - field_name = "pain_receptors"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_layer_raw, field_name)); - auto n_pain_receptors = new NodeSimple; - n_pain_receptors->m_field_name = field_name; - n_pain_receptors->m_df_type = DF_Type::int32_t; - n_pain_receptors->m_rdf_type = RDF_Type::int32_t; - n_pain_receptors->m_node_type = NodeType::Simple; - n_pain_receptors->m_address = base + offset; - n_pain_receptors->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pain_receptors); - - field_name = "unk6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_layer_raw, field_name)); - auto n_unk6 = new NodeSimple; - n_unk6->m_field_name = field_name; - n_unk6->m_df_type = DF_Type::int32_t; - n_unk6->m_rdf_type = RDF_Type::int32_t; - n_unk6->m_node_type = NodeType::Simple; - n_unk6->m_address = base + offset; - n_unk6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk6); - - field_name = "unk7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_layer_raw, field_name)); - auto n_unk7 = new NodeSimple; - n_unk7->m_field_name = field_name; - n_unk7->m_df_type = DF_Type::int16_t; - n_unk7->m_rdf_type = RDF_Type::int16_t; - n_unk7->m_node_type = NodeType::Simple; - n_unk7->m_address = base + offset; - n_unk7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk7); - - field_name = "bp_modifiers"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_layer_raw, field_name)); - auto n_bp_modifiers = new NodeVector; - n_bp_modifiers->m_field_name = field_name; - n_bp_modifiers->m_df_type = DF_Type::int32_t; - n_bp_modifiers->m_rdf_type = RDF_Type::Vector; - n_bp_modifiers->m_node_type = NodeType::Vector; - n_bp_modifiers->m_addornements = "v"; - n_bp_modifiers->m_address = base + offset; - n_bp_modifiers->m_refers_to = "$$._global._upglobal._upglobal._upglobal.bp_appearance.modifier_idx[$].refers-to"; - n_bp_modifiers->m_parent = p_node_parent; - n_bp_modifiers->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bp_modifiers); - - field_name = "layer_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_layer_raw, field_name)); - auto n_layer_id = new NodeSimple; - n_layer_id->m_field_name = field_name; - n_layer_id->m_df_type = DF_Type::int32_t; - n_layer_id->m_rdf_type = RDF_Type::int32_t; - n_layer_id->m_node_type = NodeType::Simple; - n_layer_id->m_address = base + offset; - n_layer_id->m_comment = "across all body parts"; - n_layer_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_layer_id); - - field_name = "parent_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_layer_raw, field_name)); - auto n_parent_idx = new NodeSimple; - n_parent_idx->m_field_name = field_name; - n_parent_idx->m_df_type = DF_Type::int32_t; - n_parent_idx->m_rdf_type = RDF_Type::int32_t; - n_parent_idx->m_node_type = NodeType::Simple; - n_parent_idx->m_address = base + offset; - n_parent_idx->m_refers_to = "$$._global._upglobal.layers[$]"; - n_parent_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_parent_idx); - - field_name = "parent_layer_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_layer_raw, field_name)); - auto n_parent_layer_id = new NodeSimple; - n_parent_layer_id->m_field_name = field_name; - n_parent_layer_id->m_df_type = DF_Type::int32_t; - n_parent_layer_id->m_rdf_type = RDF_Type::int32_t; - n_parent_layer_id->m_node_type = NodeType::Simple; - n_parent_layer_id->m_address = base + offset; - n_parent_layer_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_parent_layer_id); - - field_name = "layer_depth"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_layer_raw, field_name)); - auto n_layer_depth = new NodeSimple; - n_layer_depth->m_field_name = field_name; - n_layer_depth->m_df_type = DF_Type::int32_t; - n_layer_depth->m_rdf_type = RDF_Type::int32_t; - n_layer_depth->m_node_type = NodeType::Simple; - n_layer_depth->m_address = base + offset; - n_layer_depth->m_comment = "-1 for skin and internal organs"; - n_layer_depth->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_layer_depth); - - field_name = "leak_barrier_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_layer_raw, field_name)); - auto n_leak_barrier_id = new NodeSimple; - n_leak_barrier_id->m_field_name = field_name; - n_leak_barrier_id->m_df_type = DF_Type::int32_t; - n_leak_barrier_id->m_rdf_type = RDF_Type::int32_t; - n_leak_barrier_id->m_node_type = NodeType::Simple; - n_leak_barrier_id->m_address = base + offset; - n_leak_barrier_id->m_comment = "layer that stops TISSUE_LEAKS, but unused and broken"; - n_leak_barrier_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_leak_barrier_id); - - field_name = "nonsolid_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_layer_raw, field_name)); - auto n_nonsolid_id = new NodeSimple; - n_nonsolid_id->m_field_name = field_name; - n_nonsolid_id->m_df_type = DF_Type::int32_t; - n_nonsolid_id->m_rdf_type = RDF_Type::int32_t; - n_nonsolid_id->m_node_type = NodeType::Simple; - n_nonsolid_id->m_address = base + offset; - n_nonsolid_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_nonsolid_id); - - field_name = "styleable_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_layer_raw, field_name)); - auto n_styleable_id = new NodeSimple; - n_styleable_id->m_field_name = field_name; - n_styleable_id->m_df_type = DF_Type::int32_t; - n_styleable_id->m_rdf_type = RDF_Type::int32_t; - n_styleable_id->m_node_type = NodeType::Simple; - n_styleable_id->m_address = base + offset; - n_styleable_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_styleable_id); - -} -void node_from_color_modifier_raw(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "pattern_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::color_modifier_raw, field_name)); - auto n_pattern_index = new NodeVector; - n_pattern_index->m_field_name = field_name; - n_pattern_index->m_df_type = DF_Type::int32_t; - n_pattern_index->m_rdf_type = RDF_Type::Vector; - n_pattern_index->m_node_type = NodeType::Vector; - n_pattern_index->m_addornements = "v"; - n_pattern_index->m_address = base + offset; - n_pattern_index->m_parent = p_node_parent; - n_pattern_index->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_pattern_index); - - field_name = "pattern_frequency"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::color_modifier_raw, field_name)); - auto n_pattern_frequency = new NodeVector; - n_pattern_frequency->m_field_name = field_name; - n_pattern_frequency->m_df_type = DF_Type::int32_t; - n_pattern_frequency->m_rdf_type = RDF_Type::Vector; - n_pattern_frequency->m_node_type = NodeType::Vector; - n_pattern_frequency->m_addornements = "v"; - n_pattern_frequency->m_address = base + offset; - n_pattern_frequency->m_parent = p_node_parent; - n_pattern_frequency->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_pattern_frequency); - - field_name = "body_part_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::color_modifier_raw, field_name)); - auto n_body_part_id = new NodeVector; - n_body_part_id->m_field_name = field_name; - n_body_part_id->m_df_type = DF_Type::int16_t; - n_body_part_id->m_rdf_type = RDF_Type::Vector; - n_body_part_id->m_node_type = NodeType::Vector; - n_body_part_id->m_addornements = "v"; - n_body_part_id->m_address = base + offset; - n_body_part_id->m_refers_to = "$$._global._upglobal.body_info.body_parts[$]"; - n_body_part_id->m_parent = p_node_parent; - n_body_part_id->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_body_part_id); - - field_name = "tissue_layer_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::color_modifier_raw, field_name)); - auto n_tissue_layer_id = new NodeVector; - n_tissue_layer_id->m_field_name = field_name; - n_tissue_layer_id->m_df_type = DF_Type::int16_t; - n_tissue_layer_id->m_rdf_type = RDF_Type::Vector; - n_tissue_layer_id->m_node_type = NodeType::Vector; - n_tissue_layer_id->m_addornements = "v"; - n_tissue_layer_id->m_address = base + offset; - n_tissue_layer_id->m_refers_to = "$$._global.body_part_id[$$._key].refers-to.layers[$]"; - n_tissue_layer_id->m_refers_to = "$$._global.body_part_id[$].refers-to"; - n_tissue_layer_id->m_parent = p_node_parent; - n_tissue_layer_id->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_tissue_layer_id); - - field_name = "unk5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::color_modifier_raw, field_name)); - auto n_unk5 = new NodeSimple; - n_unk5->m_field_name = field_name; - n_unk5->m_df_type = DF_Type::int16_t; - n_unk5->m_rdf_type = RDF_Type::int16_t; - n_unk5->m_node_type = NodeType::Simple; - n_unk5->m_address = base + offset; - n_unk5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk5); - - field_name = "start_date"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::color_modifier_raw, field_name)); - auto n_start_date = new NodeSimple; - n_start_date->m_field_name = field_name; - n_start_date->m_df_type = DF_Type::int32_t; - n_start_date->m_rdf_type = RDF_Type::int32_t; - n_start_date->m_node_type = NodeType::Simple; - n_start_date->m_address = base + offset; - n_start_date->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_start_date); - - field_name = "end_date"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::color_modifier_raw, field_name)); - auto n_end_date = new NodeSimple; - n_end_date->m_field_name = field_name; - n_end_date->m_df_type = DF_Type::int32_t; - n_end_date->m_rdf_type = RDF_Type::int32_t; - n_end_date->m_node_type = NodeType::Simple; - n_end_date->m_address = base + offset; - n_end_date->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_end_date); - - field_name = "unk6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::color_modifier_raw, field_name)); - auto n_unk6 = new NodeSimple; - n_unk6->m_field_name = field_name; - n_unk6->m_df_type = DF_Type::int32_t; - n_unk6->m_rdf_type = RDF_Type::int32_t; - n_unk6->m_node_type = NodeType::Simple; - n_unk6->m_address = base + offset; - n_unk6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk6); - - field_name = "part"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::color_modifier_raw, field_name)); - auto n_part = new NodeSimple; - n_part->m_field_name = field_name; - n_part->m_df_type = DF_Type::Stl_string; - n_part->m_rdf_type = RDF_Type::Stl_string; - n_part->m_node_type = NodeType::Simple; - n_part->m_address = base + offset; - n_part->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_part); - - field_name = "unk_6c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::color_modifier_raw, field_name)); - auto n_unk_6c = new NodeSimple; - n_unk_6c->m_field_name = field_name; - n_unk_6c->m_df_type = DF_Type::int16_t; - n_unk_6c->m_rdf_type = RDF_Type::int16_t; - n_unk_6c->m_node_type = NodeType::Simple; - n_unk_6c->m_address = base + offset; - n_unk_6c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_6c); - - field_name = "unk_6e"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::color_modifier_raw, field_name)); - auto n_unk_6e = new NodeSimple; - n_unk_6e->m_field_name = field_name; - n_unk_6e->m_df_type = DF_Type::int16_t; - n_unk_6e->m_rdf_type = RDF_Type::int16_t; - n_unk_6e->m_node_type = NodeType::Simple; - n_unk_6e->m_address = base + offset; - n_unk_6e->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_6e); - - field_name = "unk_70"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::color_modifier_raw, field_name)); - auto n_unk_70 = new NodeSimple; - n_unk_70->m_field_name = field_name; - n_unk_70->m_df_type = DF_Type::int32_t; - n_unk_70->m_rdf_type = RDF_Type::int32_t; - n_unk_70->m_node_type = NodeType::Simple; - n_unk_70->m_address = base + offset; - n_unk_70->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_70); - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::color_modifier_raw, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "unk_78"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::color_modifier_raw, field_name)); - auto n_unk_78 = new NodeVector; - n_unk_78->m_field_name = field_name; - n_unk_78->m_df_type = DF_Type::Void; - n_unk_78->m_rdf_type = RDF_Type::Vector; - n_unk_78->m_node_type = NodeType::Vector; - n_unk_78->m_addornements = "v*"; - n_unk_78->m_address = base + offset; - n_unk_78->m_parent = p_node_parent; - n_unk_78->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_78); - - field_name = "unk_88"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::color_modifier_raw, field_name)); - auto n_unk_88 = new NodeVector; - n_unk_88->m_field_name = field_name; - n_unk_88->m_df_type = DF_Type::Void; - n_unk_88->m_rdf_type = RDF_Type::Vector; - n_unk_88->m_node_type = NodeType::Vector; - n_unk_88->m_addornements = "v*"; - n_unk_88->m_address = base + offset; - n_unk_88->m_parent = p_node_parent; - n_unk_88->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_88); - -} -void node_from_gait_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_gait_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "action_string_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::gait_info, field_name)); - auto n_action_string_idx = new NodeSimple; - n_action_string_idx->m_field_name = field_name; - n_action_string_idx->m_df_type = DF_Type::int32_t; - n_action_string_idx->m_rdf_type = RDF_Type::int32_t; - n_action_string_idx->m_node_type = NodeType::Simple; - n_action_string_idx->m_address = base + offset; - n_action_string_idx->m_refers_to = "$global.world.raws.creatures.action_strings[$].value"; - n_action_string_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_action_string_idx); - - field_name = "full_speed"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::gait_info, field_name)); - auto n_full_speed = new NodeSimple; - n_full_speed->m_field_name = field_name; - n_full_speed->m_df_type = DF_Type::int32_t; - n_full_speed->m_rdf_type = RDF_Type::int32_t; - n_full_speed->m_node_type = NodeType::Simple; - n_full_speed->m_address = base + offset; - n_full_speed->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_full_speed); - - field_name = "buildup_time"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::gait_info, field_name)); - auto n_buildup_time = new NodeSimple; - n_buildup_time->m_field_name = field_name; - n_buildup_time->m_df_type = DF_Type::int32_t; - n_buildup_time->m_rdf_type = RDF_Type::int32_t; - n_buildup_time->m_node_type = NodeType::Simple; - n_buildup_time->m_address = base + offset; - n_buildup_time->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_buildup_time); - - field_name = "turn_max"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::gait_info, field_name)); - auto n_turn_max = new NodeSimple; - n_turn_max->m_field_name = field_name; - n_turn_max->m_df_type = DF_Type::int32_t; - n_turn_max->m_rdf_type = RDF_Type::int32_t; - n_turn_max->m_node_type = NodeType::Simple; - n_turn_max->m_address = base + offset; - n_turn_max->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_turn_max); - - field_name = "start_speed"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::gait_info, field_name)); - auto n_start_speed = new NodeSimple; - n_start_speed->m_field_name = field_name; - n_start_speed->m_df_type = DF_Type::int32_t; - n_start_speed->m_rdf_type = RDF_Type::int32_t; - n_start_speed->m_node_type = NodeType::Simple; - n_start_speed->m_address = base + offset; - n_start_speed->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_start_speed); - - field_name = "energy_use"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::gait_info, field_name)); - auto n_energy_use = new NodeSimple; - n_energy_use->m_field_name = field_name; - n_energy_use->m_df_type = DF_Type::int32_t; - n_energy_use->m_rdf_type = RDF_Type::int32_t; - n_energy_use->m_node_type = NodeType::Simple; - n_energy_use->m_address = base + offset; - n_energy_use->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_energy_use); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::gait_info, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::gait_info__T_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "stealth_slows"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::gait_info, field_name)); - auto n_stealth_slows = new NodeSimple; - n_stealth_slows->m_field_name = field_name; - n_stealth_slows->m_df_type = DF_Type::int32_t; - n_stealth_slows->m_rdf_type = RDF_Type::int32_t; - n_stealth_slows->m_node_type = NodeType::Simple; - n_stealth_slows->m_address = base + offset; - n_stealth_slows->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_stealth_slows); - -} -void node_from_creature_interaction_target_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_creature_graphics_role(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_tissue_style_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_creature_graphics_appointment(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "token"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_graphics_appointment, field_name)); - auto n_token = new NodeSimple; - n_token->m_field_name = field_name; - n_token->m_df_type = DF_Type::Stl_string; - n_token->m_rdf_type = RDF_Type::Stl_string; - n_token->m_node_type = NodeType::Simple; - n_token->m_address = base + offset; - n_token->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_token); - - field_name = "texpos"; - auto n_texpos = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_graphics_appointment, field_name)); - n_texpos->m_field_name = field_name; - n_texpos->m_df_type = DF_Type::int32_t; - n_texpos->m_rdf_type = RDF_Type::Array; - n_texpos->m_node_type = NodeType::Array; - n_texpos->m_index_enum = DF_Type::creature_graphics_role; - n_texpos->m_addornements = "[6"; - n_texpos->m_array_size = 6; - n_texpos->m_address = base + offset; - n_texpos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_texpos); - - field_name = "texpos_gs"; - auto n_texpos_gs = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_graphics_appointment, field_name)); - n_texpos_gs->m_field_name = field_name; - n_texpos_gs->m_df_type = DF_Type::int32_t; - n_texpos_gs->m_rdf_type = RDF_Type::Array; - n_texpos_gs->m_node_type = NodeType::Array; - n_texpos_gs->m_index_enum = DF_Type::creature_graphics_role; - n_texpos_gs->m_addornements = "[6"; - n_texpos_gs->m_array_size = 6; - n_texpos_gs->m_address = base + offset; - n_texpos_gs->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_texpos_gs); - - field_name = "add_color"; - auto n_add_color = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_graphics_appointment, field_name)); - n_add_color->m_field_name = field_name; - n_add_color->m_df_type = DF_Type::Bool; - n_add_color->m_rdf_type = RDF_Type::Array; - n_add_color->m_node_type = NodeType::Array; - n_add_color->m_index_enum = DF_Type::creature_graphics_role; - n_add_color->m_addornements = "[6"; - n_add_color->m_array_size = 6; - n_add_color->m_address = base + offset; - n_add_color->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_add_color); - -} -void node_from_creature_variation_convert_tag(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "cvct_master"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_variation_convert_tag, field_name)); - auto n_cvct_master = new NodeSimple; - n_cvct_master->m_field_name = field_name; - n_cvct_master->m_df_type = DF_Type::Stl_string; - n_cvct_master->m_rdf_type = RDF_Type::Stl_string; - n_cvct_master->m_node_type = NodeType::Simple; - n_cvct_master->m_address = base + offset; - n_cvct_master->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cvct_master); - - field_name = "cvct_target"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_variation_convert_tag, field_name)); - auto n_cvct_target = new NodeSimple; - n_cvct_target->m_field_name = field_name; - n_cvct_target->m_df_type = DF_Type::Stl_string; - n_cvct_target->m_rdf_type = RDF_Type::Stl_string; - n_cvct_target->m_node_type = NodeType::Simple; - n_cvct_target->m_address = base + offset; - n_cvct_target->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cvct_target); - - field_name = "cvct_replacement"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_variation_convert_tag, field_name)); - auto n_cvct_replacement = new NodeSimple; - n_cvct_replacement->m_field_name = field_name; - n_cvct_replacement->m_df_type = DF_Type::Stl_string; - n_cvct_replacement->m_rdf_type = RDF_Type::Stl_string; - n_cvct_replacement->m_node_type = NodeType::Simple; - n_cvct_replacement->m_address = base + offset; - n_cvct_replacement->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cvct_replacement); - - field_name = "unk_v40_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_variation_convert_tag, field_name)); - auto n_unk_v40_1 = new NodeSimple; - n_unk_v40_1->m_field_name = field_name; - n_unk_v40_1->m_df_type = DF_Type::int32_t; - n_unk_v40_1->m_rdf_type = RDF_Type::int32_t; - n_unk_v40_1->m_node_type = NodeType::Simple; - n_unk_v40_1->m_address = base + offset; - n_unk_v40_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_1); - - field_name = "unk_v40_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_variation_convert_tag, field_name)); - auto n_unk_v40_2 = new NodeSimple; - n_unk_v40_2->m_field_name = field_name; - n_unk_v40_2->m_df_type = DF_Type::Stl_string; - n_unk_v40_2->m_rdf_type = RDF_Type::Stl_string; - n_unk_v40_2->m_node_type = NodeType::Simple; - n_unk_v40_2->m_address = base + offset; - n_unk_v40_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_2); - -} -void node_from_body_part_template_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_body_part_template_contype(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_tissue_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_body_detail_plan(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_detail_plan, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::Stl_string; - n_id->m_rdf_type = RDF_Type::Stl_string; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "add_material_name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_detail_plan, field_name)); - auto n_add_material_name = new NodeVector; - n_add_material_name->m_field_name = field_name; - n_add_material_name->m_df_type = DF_Type::Stl_string; - n_add_material_name->m_rdf_type = RDF_Type::Vector; - n_add_material_name->m_node_type = NodeType::Vector; - n_add_material_name->m_addornements = "v*"; - n_add_material_name->m_address = base + offset; - n_add_material_name->m_parent = p_node_parent; - n_add_material_name->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_add_material_name); - - field_name = "add_material_template"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_detail_plan, field_name)); - auto n_add_material_template = new NodeVector; - n_add_material_template->m_field_name = field_name; - n_add_material_template->m_df_type = DF_Type::Stl_string; - n_add_material_template->m_rdf_type = RDF_Type::Vector; - n_add_material_template->m_node_type = NodeType::Vector; - n_add_material_template->m_addornements = "v*"; - n_add_material_template->m_address = base + offset; - n_add_material_template->m_parent = p_node_parent; - n_add_material_template->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_add_material_template); - - field_name = "add_tissue_name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_detail_plan, field_name)); - auto n_add_tissue_name = new NodeVector; - n_add_tissue_name->m_field_name = field_name; - n_add_tissue_name->m_df_type = DF_Type::Stl_string; - n_add_tissue_name->m_rdf_type = RDF_Type::Vector; - n_add_tissue_name->m_node_type = NodeType::Vector; - n_add_tissue_name->m_addornements = "v*"; - n_add_tissue_name->m_address = base + offset; - n_add_tissue_name->m_parent = p_node_parent; - n_add_tissue_name->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_add_tissue_name); - - field_name = "add_tissue_template"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_detail_plan, field_name)); - auto n_add_tissue_template = new NodeVector; - n_add_tissue_template->m_field_name = field_name; - n_add_tissue_template->m_df_type = DF_Type::Stl_string; - n_add_tissue_template->m_rdf_type = RDF_Type::Vector; - n_add_tissue_template->m_node_type = NodeType::Vector; - n_add_tissue_template->m_addornements = "v*"; - n_add_tissue_template->m_address = base + offset; - n_add_tissue_template->m_parent = p_node_parent; - n_add_tissue_template->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_add_tissue_template); - - field_name = "unk5c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_detail_plan, field_name)); - auto n_unk5c = new NodeVector; - n_unk5c->m_field_name = field_name; - n_unk5c->m_df_type = DF_Type::int16_t; - n_unk5c->m_rdf_type = RDF_Type::Vector; - n_unk5c->m_node_type = NodeType::Vector; - n_unk5c->m_addornements = "v"; - n_unk5c->m_address = base + offset; - n_unk5c->m_parent = p_node_parent; - n_unk5c->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk5c); - - field_name = "unk6c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_detail_plan, field_name)); - auto n_unk6c = new NodeVector; - n_unk6c->m_field_name = field_name; - n_unk6c->m_df_type = DF_Type::Stl_string; - n_unk6c->m_rdf_type = RDF_Type::Vector; - n_unk6c->m_node_type = NodeType::Vector; - n_unk6c->m_addornements = "v*"; - n_unk6c->m_address = base + offset; - n_unk6c->m_parent = p_node_parent; - n_unk6c->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk6c); - - field_name = "unk7c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_detail_plan, field_name)); - auto n_unk7c = new NodeVector; - n_unk7c->m_field_name = field_name; - n_unk7c->m_df_type = DF_Type::Stl_string; - n_unk7c->m_rdf_type = RDF_Type::Vector; - n_unk7c->m_node_type = NodeType::Vector; - n_unk7c->m_addornements = "v*"; - n_unk7c->m_address = base + offset; - n_unk7c->m_parent = p_node_parent; - n_unk7c->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk7c); - - field_name = "bp_layers_selection"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_detail_plan, field_name)); - auto n_bp_layers_selection = new NodeVector; - n_bp_layers_selection->m_field_name = field_name; - n_bp_layers_selection->m_df_type = DF_Type::int32_t; - n_bp_layers_selection->m_rdf_type = RDF_Type::Vector; - n_bp_layers_selection->m_node_type = NodeType::Vector; - n_bp_layers_selection->m_addornements = "v"; - n_bp_layers_selection->m_address = base + offset; - n_bp_layers_selection->m_parent = p_node_parent; - n_bp_layers_selection->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bp_layers_selection); - - field_name = "bp_layers_criteria"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_detail_plan, field_name)); - auto n_bp_layers_criteria = new NodeVector; - n_bp_layers_criteria->m_field_name = field_name; - n_bp_layers_criteria->m_df_type = DF_Type::int16_t; - n_bp_layers_criteria->m_rdf_type = RDF_Type::Vector; - n_bp_layers_criteria->m_node_type = NodeType::Vector; - n_bp_layers_criteria->m_addornements = "v"; - n_bp_layers_criteria->m_address = base + offset; - n_bp_layers_criteria->m_parent = p_node_parent; - n_bp_layers_criteria->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bp_layers_criteria); - - field_name = "bp_layers_tissue"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_detail_plan, field_name)); - auto n_bp_layers_tissue = new NodeVector; - n_bp_layers_tissue->m_field_name = field_name; - n_bp_layers_tissue->m_df_type = DF_Type::int16_t; - n_bp_layers_tissue->m_rdf_type = RDF_Type::Vector; - n_bp_layers_tissue->m_node_type = NodeType::Vector; - n_bp_layers_tissue->m_addornements = "v"; - n_bp_layers_tissue->m_address = base + offset; - n_bp_layers_tissue->m_parent = p_node_parent; - n_bp_layers_tissue->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bp_layers_tissue); - - field_name = "bp_layers_thickness"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_detail_plan, field_name)); - auto n_bp_layers_thickness = new NodeVector; - n_bp_layers_thickness->m_field_name = field_name; - n_bp_layers_thickness->m_df_type = DF_Type::Stl_string; - n_bp_layers_thickness->m_rdf_type = RDF_Type::Vector; - n_bp_layers_thickness->m_node_type = NodeType::Vector; - n_bp_layers_thickness->m_addornements = "v*"; - n_bp_layers_thickness->m_address = base + offset; - n_bp_layers_thickness->m_parent = p_node_parent; - n_bp_layers_thickness->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bp_layers_thickness); - - field_name = "bp_layers_position"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_detail_plan, field_name)); - auto n_bp_layers_position = new NodeVector; - n_bp_layers_position->m_field_name = field_name; - n_bp_layers_position->m_df_type = DF_Type::int16_t; - n_bp_layers_position->m_rdf_type = RDF_Type::Vector; - n_bp_layers_position->m_node_type = NodeType::Vector; - n_bp_layers_position->m_addornements = "v"; - n_bp_layers_position->m_address = base + offset; - n_bp_layers_position->m_parent = p_node_parent; - n_bp_layers_position->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bp_layers_position); - - field_name = "bp_layers_over_under"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_detail_plan, field_name)); - auto n_bp_layers_over_under = new NodeVector; - n_bp_layers_over_under->m_field_name = field_name; - n_bp_layers_over_under->m_df_type = DF_Type::int8_t; - n_bp_layers_over_under->m_rdf_type = RDF_Type::Vector; - n_bp_layers_over_under->m_node_type = NodeType::Vector; - n_bp_layers_over_under->m_addornements = "v"; - n_bp_layers_over_under->m_address = base + offset; - n_bp_layers_over_under->m_parent = p_node_parent; - n_bp_layers_over_under->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bp_layers_over_under); - - field_name = "bp_relsize_selection"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_detail_plan, field_name)); - auto n_bp_relsize_selection = new NodeVector; - n_bp_relsize_selection->m_field_name = field_name; - n_bp_relsize_selection->m_df_type = DF_Type::int16_t; - n_bp_relsize_selection->m_rdf_type = RDF_Type::Vector; - n_bp_relsize_selection->m_node_type = NodeType::Vector; - n_bp_relsize_selection->m_addornements = "v"; - n_bp_relsize_selection->m_address = base + offset; - n_bp_relsize_selection->m_parent = p_node_parent; - n_bp_relsize_selection->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bp_relsize_selection); - - field_name = "bp_relsize_criteria"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_detail_plan, field_name)); - auto n_bp_relsize_criteria = new NodeVector; - n_bp_relsize_criteria->m_field_name = field_name; - n_bp_relsize_criteria->m_df_type = DF_Type::Stl_string; - n_bp_relsize_criteria->m_rdf_type = RDF_Type::Vector; - n_bp_relsize_criteria->m_node_type = NodeType::Vector; - n_bp_relsize_criteria->m_addornements = "v*"; - n_bp_relsize_criteria->m_address = base + offset; - n_bp_relsize_criteria->m_parent = p_node_parent; - n_bp_relsize_criteria->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bp_relsize_criteria); - - field_name = "bp_relsize_value"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_detail_plan, field_name)); - auto n_bp_relsize_value = new NodeVector; - n_bp_relsize_value->m_field_name = field_name; - n_bp_relsize_value->m_df_type = DF_Type::int32_t; - n_bp_relsize_value->m_rdf_type = RDF_Type::Vector; - n_bp_relsize_value->m_node_type = NodeType::Vector; - n_bp_relsize_value->m_addornements = "v"; - n_bp_relsize_value->m_address = base + offset; - n_bp_relsize_value->m_parent = p_node_parent; - n_bp_relsize_value->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bp_relsize_value); - - field_name = "bp_position_selection"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_detail_plan, field_name)); - auto n_bp_position_selection = new NodeVector; - n_bp_position_selection->m_field_name = field_name; - n_bp_position_selection->m_df_type = DF_Type::int16_t; - n_bp_position_selection->m_rdf_type = RDF_Type::Vector; - n_bp_position_selection->m_node_type = NodeType::Vector; - n_bp_position_selection->m_addornements = "v"; - n_bp_position_selection->m_address = base + offset; - n_bp_position_selection->m_parent = p_node_parent; - n_bp_position_selection->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bp_position_selection); - - field_name = "bp_position_criteria"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_detail_plan, field_name)); - auto n_bp_position_criteria = new NodeVector; - n_bp_position_criteria->m_field_name = field_name; - n_bp_position_criteria->m_df_type = DF_Type::Stl_string; - n_bp_position_criteria->m_rdf_type = RDF_Type::Vector; - n_bp_position_criteria->m_node_type = NodeType::Vector; - n_bp_position_criteria->m_addornements = "v*"; - n_bp_position_criteria->m_address = base + offset; - n_bp_position_criteria->m_parent = p_node_parent; - n_bp_position_criteria->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bp_position_criteria); - - field_name = "bp_position_value"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_detail_plan, field_name)); - auto n_bp_position_value = new NodeVector; - n_bp_position_value->m_field_name = field_name; - n_bp_position_value->m_df_type = DF_Type::int16_t; - n_bp_position_value->m_rdf_type = RDF_Type::Vector; - n_bp_position_value->m_node_type = NodeType::Vector; - n_bp_position_value->m_addornements = "v"; - n_bp_position_value->m_address = base + offset; - n_bp_position_value->m_parent = p_node_parent; - n_bp_position_value->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bp_position_value); - - field_name = "bp_relation_selection_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_detail_plan, field_name)); - auto n_bp_relation_selection_1 = new NodeVector; - n_bp_relation_selection_1->m_field_name = field_name; - n_bp_relation_selection_1->m_df_type = DF_Type::int16_t; - n_bp_relation_selection_1->m_rdf_type = RDF_Type::Vector; - n_bp_relation_selection_1->m_node_type = NodeType::Vector; - n_bp_relation_selection_1->m_addornements = "v"; - n_bp_relation_selection_1->m_address = base + offset; - n_bp_relation_selection_1->m_parent = p_node_parent; - n_bp_relation_selection_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bp_relation_selection_1); - - field_name = "bp_relation_criteria_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_detail_plan, field_name)); - auto n_bp_relation_criteria_1 = new NodeVector; - n_bp_relation_criteria_1->m_field_name = field_name; - n_bp_relation_criteria_1->m_df_type = DF_Type::Stl_string; - n_bp_relation_criteria_1->m_rdf_type = RDF_Type::Vector; - n_bp_relation_criteria_1->m_node_type = NodeType::Vector; - n_bp_relation_criteria_1->m_addornements = "v*"; - n_bp_relation_criteria_1->m_address = base + offset; - n_bp_relation_criteria_1->m_parent = p_node_parent; - n_bp_relation_criteria_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bp_relation_criteria_1); - - field_name = "bp_relation_value_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_detail_plan, field_name)); - auto n_bp_relation_value_1 = new NodeVector; - n_bp_relation_value_1->m_field_name = field_name; - n_bp_relation_value_1->m_df_type = DF_Type::int16_t; - n_bp_relation_value_1->m_rdf_type = RDF_Type::Vector; - n_bp_relation_value_1->m_node_type = NodeType::Vector; - n_bp_relation_value_1->m_addornements = "v"; - n_bp_relation_value_1->m_address = base + offset; - n_bp_relation_value_1->m_parent = p_node_parent; - n_bp_relation_value_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bp_relation_value_1); - - field_name = "bp_relation_selection_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_detail_plan, field_name)); - auto n_bp_relation_selection_2 = new NodeVector; - n_bp_relation_selection_2->m_field_name = field_name; - n_bp_relation_selection_2->m_df_type = DF_Type::int16_t; - n_bp_relation_selection_2->m_rdf_type = RDF_Type::Vector; - n_bp_relation_selection_2->m_node_type = NodeType::Vector; - n_bp_relation_selection_2->m_addornements = "v"; - n_bp_relation_selection_2->m_address = base + offset; - n_bp_relation_selection_2->m_parent = p_node_parent; - n_bp_relation_selection_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bp_relation_selection_2); - - field_name = "bp_relation_criteria_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_detail_plan, field_name)); - auto n_bp_relation_criteria_2 = new NodeVector; - n_bp_relation_criteria_2->m_field_name = field_name; - n_bp_relation_criteria_2->m_df_type = DF_Type::Stl_string; - n_bp_relation_criteria_2->m_rdf_type = RDF_Type::Vector; - n_bp_relation_criteria_2->m_node_type = NodeType::Vector; - n_bp_relation_criteria_2->m_addornements = "v*"; - n_bp_relation_criteria_2->m_address = base + offset; - n_bp_relation_criteria_2->m_parent = p_node_parent; - n_bp_relation_criteria_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bp_relation_criteria_2); - - field_name = "bp_relation_extent"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_detail_plan, field_name)); - auto n_bp_relation_extent = new NodeVector; - n_bp_relation_extent->m_field_name = field_name; - n_bp_relation_extent->m_df_type = DF_Type::int16_t; - n_bp_relation_extent->m_rdf_type = RDF_Type::Vector; - n_bp_relation_extent->m_node_type = NodeType::Vector; - n_bp_relation_extent->m_addornements = "v"; - n_bp_relation_extent->m_address = base + offset; - n_bp_relation_extent->m_parent = p_node_parent; - n_bp_relation_extent->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bp_relation_extent); - -} -void node_from_d_init_nickname(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_d_init_z_view(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_d_init_embark_confirm(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_d_init_idlers(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_d_init_tunnel(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_d_init_flags1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_d_init_flags2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_d_init_flags3(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_d_init_flags4(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_pattern_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_descriptor_color(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::descriptor_color, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::Stl_string; - n_id->m_rdf_type = RDF_Type::Stl_string; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "word_unk"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::descriptor_color, field_name)); - auto n_word_unk = new NodeVector; - n_word_unk->m_field_name = field_name; - n_word_unk->m_df_type = DF_Type::Void; - n_word_unk->m_rdf_type = RDF_Type::Vector; - n_word_unk->m_node_type = NodeType::Vector; - n_word_unk->m_addornements = "v"; - n_word_unk->m_address = base + offset; - n_word_unk->m_parent = p_node_parent; - n_word_unk->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_word_unk); - - field_name = "words"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::descriptor_color, field_name)); - auto n_words = new NodeVector; - n_words->m_field_name = field_name; - n_words->m_df_type = DF_Type::int32_t; - n_words->m_rdf_type = RDF_Type::Vector; - n_words->m_node_type = NodeType::Vector; - n_words->m_addornements = "v"; - n_words->m_address = base + offset; - n_words->m_parent = p_node_parent; - n_words->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_words); - - field_name = "name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::descriptor_color, field_name)); - auto n_name = new NodeSimple; - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Stl_string; - n_name->m_node_type = NodeType::Simple; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "color"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::descriptor_color, field_name)); - auto n_color = new NodeSimple; - n_color->m_field_name = field_name; - n_color->m_df_type = DF_Type::int8_t; - n_color->m_rdf_type = RDF_Type::int8_t; - n_color->m_node_type = NodeType::Simple; - n_color->m_address = base + offset; - n_color->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_color); - - field_name = "bold"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::descriptor_color, field_name)); - auto n_bold = new NodeSimple; - n_bold->m_field_name = field_name; - n_bold->m_df_type = DF_Type::int8_t; - n_bold->m_rdf_type = RDF_Type::int8_t; - n_bold->m_node_type = NodeType::Simple; - n_bold->m_address = base + offset; - n_bold->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_bold); - - field_name = "red"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::descriptor_color, field_name)); - auto n_red = new NodeSimple; - n_red->m_field_name = field_name; - n_red->m_df_type = DF_Type::S_float; - n_red->m_rdf_type = RDF_Type::S_float; - n_red->m_node_type = NodeType::Simple; - n_red->m_address = base + offset; - n_red->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_red); - - field_name = "green"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::descriptor_color, field_name)); - auto n_green = new NodeSimple; - n_green->m_field_name = field_name; - n_green->m_df_type = DF_Type::S_float; - n_green->m_rdf_type = RDF_Type::S_float; - n_green->m_node_type = NodeType::Simple; - n_green->m_address = base + offset; - n_green->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_green); - - field_name = "blue"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::descriptor_color, field_name)); - auto n_blue = new NodeSimple; - n_blue->m_field_name = field_name; - n_blue->m_df_type = DF_Type::S_float; - n_blue->m_rdf_type = RDF_Type::S_float; - n_blue->m_node_type = NodeType::Simple; - n_blue->m_address = base + offset; - n_blue->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_blue); - -} -void node_from_descriptor_shape(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::descriptor_shape, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::Stl_string; - n_id->m_rdf_type = RDF_Type::Stl_string; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "word_unk"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::descriptor_shape, field_name)); - auto n_word_unk = new NodeVector; - n_word_unk->m_field_name = field_name; - n_word_unk->m_df_type = DF_Type::Void; - n_word_unk->m_rdf_type = RDF_Type::Vector; - n_word_unk->m_node_type = NodeType::Vector; - n_word_unk->m_addornements = "v"; - n_word_unk->m_address = base + offset; - n_word_unk->m_parent = p_node_parent; - n_word_unk->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_word_unk); - - field_name = "words"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::descriptor_shape, field_name)); - auto n_words = new NodeVector; - n_words->m_field_name = field_name; - n_words->m_df_type = DF_Type::int32_t; - n_words->m_rdf_type = RDF_Type::Vector; - n_words->m_node_type = NodeType::Vector; - n_words->m_addornements = "v"; - n_words->m_address = base + offset; - n_words->m_parent = p_node_parent; - n_words->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_words); - - field_name = "name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::descriptor_shape, field_name)); - auto n_name = new NodeSimple; - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Stl_string; - n_name->m_node_type = NodeType::Simple; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "name_plural"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::descriptor_shape, field_name)); - auto n_name_plural = new NodeSimple; - n_name_plural->m_field_name = field_name; - n_name_plural->m_df_type = DF_Type::Stl_string; - n_name_plural->m_rdf_type = RDF_Type::Stl_string; - n_name_plural->m_node_type = NodeType::Simple; - n_name_plural->m_address = base + offset; - n_name_plural->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name_plural); - - field_name = "adj"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::descriptor_shape, field_name)); - auto n_adj = new NodeVector; - n_adj->m_field_name = field_name; - n_adj->m_df_type = DF_Type::Stl_string; - n_adj->m_rdf_type = RDF_Type::Vector; - n_adj->m_node_type = NodeType::Vector; - n_adj->m_addornements = "v*"; - n_adj->m_address = base + offset; - n_adj->m_parent = p_node_parent; - n_adj->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_adj); - - field_name = "gems_use"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::descriptor_shape, field_name)); - auto n_gems_use = new NodeBitfield; - n_gems_use->m_field_name = field_name; - n_gems_use->m_df_type = DF_Type::descriptor_shape__T_gems_use; - n_gems_use->m_rdf_type = RDF_Type::Bitfield; - n_gems_use->m_node_type = NodeType::Bitfield; - n_gems_use->m_address = base + offset; - n_gems_use->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_gems_use); - - field_name = "tile"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::descriptor_shape, field_name)); - auto n_tile = new NodeSimple; - n_tile->m_field_name = field_name; - n_tile->m_df_type = DF_Type::uint8_t; - n_tile->m_rdf_type = RDF_Type::uint8_t; - n_tile->m_node_type = NodeType::Simple; - n_tile->m_address = base + offset; - n_tile->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tile); - -} -void node_from_occasion_schedule_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_occasion_schedule_feature(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_entity_activity_statistics__T_food(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "total"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics__T_food, field_name)); - auto n_total = new NodeSimple; - n_total->m_field_name = field_name; - n_total->m_df_type = DF_Type::int32_t; - n_total->m_rdf_type = RDF_Type::int32_t; - n_total->m_node_type = NodeType::Simple; - n_total->m_address = base + offset; - n_total->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_total); - - field_name = "meat"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics__T_food, field_name)); - auto n_meat = new NodeSimple; - n_meat->m_field_name = field_name; - n_meat->m_df_type = DF_Type::int32_t; - n_meat->m_rdf_type = RDF_Type::int32_t; - n_meat->m_node_type = NodeType::Simple; - n_meat->m_address = base + offset; - n_meat->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_meat); - - field_name = "fish"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics__T_food, field_name)); - auto n_fish = new NodeSimple; - n_fish->m_field_name = field_name; - n_fish->m_df_type = DF_Type::int32_t; - n_fish->m_rdf_type = RDF_Type::int32_t; - n_fish->m_node_type = NodeType::Simple; - n_fish->m_address = base + offset; - n_fish->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_fish); - - field_name = "other"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics__T_food, field_name)); - auto n_other = new NodeSimple; - n_other->m_field_name = field_name; - n_other->m_df_type = DF_Type::int32_t; - n_other->m_rdf_type = RDF_Type::int32_t; - n_other->m_node_type = NodeType::Simple; - n_other->m_address = base + offset; - n_other->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_other); - - field_name = "seeds"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics__T_food, field_name)); - auto n_seeds = new NodeSimple; - n_seeds->m_field_name = field_name; - n_seeds->m_df_type = DF_Type::int32_t; - n_seeds->m_rdf_type = RDF_Type::int32_t; - n_seeds->m_node_type = NodeType::Simple; - n_seeds->m_address = base + offset; - n_seeds->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_seeds); - - field_name = "plant"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics__T_food, field_name)); - auto n_plant = new NodeSimple; - n_plant->m_field_name = field_name; - n_plant->m_df_type = DF_Type::int32_t; - n_plant->m_rdf_type = RDF_Type::int32_t; - n_plant->m_node_type = NodeType::Simple; - n_plant->m_address = base + offset; - n_plant->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_plant); - - field_name = "drink"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics__T_food, field_name)); - auto n_drink = new NodeSimple; - n_drink->m_field_name = field_name; - n_drink->m_df_type = DF_Type::int32_t; - n_drink->m_rdf_type = RDF_Type::int32_t; - n_drink->m_node_type = NodeType::Simple; - n_drink->m_address = base + offset; - n_drink->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_drink); - -} -void node_from_entity_activity_statistics__T_wealth(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "total"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics__T_wealth, field_name)); - auto n_total = new NodeSimple; - n_total->m_field_name = field_name; - n_total->m_df_type = DF_Type::int32_t; - n_total->m_rdf_type = RDF_Type::int32_t; - n_total->m_node_type = NodeType::Simple; - n_total->m_address = base + offset; - n_total->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_total); - - field_name = "weapons"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics__T_wealth, field_name)); - auto n_weapons = new NodeSimple; - n_weapons->m_field_name = field_name; - n_weapons->m_df_type = DF_Type::int32_t; - n_weapons->m_rdf_type = RDF_Type::int32_t; - n_weapons->m_node_type = NodeType::Simple; - n_weapons->m_address = base + offset; - n_weapons->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_weapons); - - field_name = "armor"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics__T_wealth, field_name)); - auto n_armor = new NodeSimple; - n_armor->m_field_name = field_name; - n_armor->m_df_type = DF_Type::int32_t; - n_armor->m_rdf_type = RDF_Type::int32_t; - n_armor->m_node_type = NodeType::Simple; - n_armor->m_address = base + offset; - n_armor->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_armor); - - field_name = "furniture"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics__T_wealth, field_name)); - auto n_furniture = new NodeSimple; - n_furniture->m_field_name = field_name; - n_furniture->m_df_type = DF_Type::int32_t; - n_furniture->m_rdf_type = RDF_Type::int32_t; - n_furniture->m_node_type = NodeType::Simple; - n_furniture->m_address = base + offset; - n_furniture->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_furniture); - - field_name = "other"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics__T_wealth, field_name)); - auto n_other = new NodeSimple; - n_other->m_field_name = field_name; - n_other->m_df_type = DF_Type::int32_t; - n_other->m_rdf_type = RDF_Type::int32_t; - n_other->m_node_type = NodeType::Simple; - n_other->m_address = base + offset; - n_other->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_other); - - field_name = "architecture"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics__T_wealth, field_name)); - auto n_architecture = new NodeSimple; - n_architecture->m_field_name = field_name; - n_architecture->m_df_type = DF_Type::int32_t; - n_architecture->m_rdf_type = RDF_Type::int32_t; - n_architecture->m_node_type = NodeType::Simple; - n_architecture->m_address = base + offset; - n_architecture->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_architecture); - - field_name = "displayed"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics__T_wealth, field_name)); - auto n_displayed = new NodeSimple; - n_displayed->m_field_name = field_name; - n_displayed->m_df_type = DF_Type::int32_t; - n_displayed->m_rdf_type = RDF_Type::int32_t; - n_displayed->m_node_type = NodeType::Simple; - n_displayed->m_address = base + offset; - n_displayed->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_displayed); - - field_name = "held"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics__T_wealth, field_name)); - auto n_held = new NodeSimple; - n_held->m_field_name = field_name; - n_held->m_df_type = DF_Type::int32_t; - n_held->m_rdf_type = RDF_Type::int32_t; - n_held->m_node_type = NodeType::Simple; - n_held->m_address = base + offset; - n_held->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_held); - - field_name = "imported"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics__T_wealth, field_name)); - auto n_imported = new NodeSimple; - n_imported->m_field_name = field_name; - n_imported->m_df_type = DF_Type::int32_t; - n_imported->m_rdf_type = RDF_Type::int32_t; - n_imported->m_node_type = NodeType::Simple; - n_imported->m_address = base + offset; - n_imported->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_imported); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics__T_wealth, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "exported"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics__T_wealth, field_name)); - auto n_exported = new NodeSimple; - n_exported->m_field_name = field_name; - n_exported->m_df_type = DF_Type::int32_t; - n_exported->m_rdf_type = RDF_Type::int32_t; - n_exported->m_node_type = NodeType::Simple; - n_exported->m_address = base + offset; - n_exported->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_exported); - -} -void node_from_entity_activity_statistics(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "food"; - auto n_food = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); - n_food->m_field_name = field_name; - n_food->m_df_type = DF_Type::entity_activity_statistics__T_food; - n_food->m_rdf_type = RDF_Type::Compound; - n_food->m_node_type = NodeType::Compound; - n_food->m_address = base + offset; - n_food->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_food); - - field_name = "unit_counts"; - auto n_unit_counts = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); - n_unit_counts->m_field_name = field_name; - n_unit_counts->m_df_type = DF_Type::int16_t; - n_unit_counts->m_rdf_type = RDF_Type::Array; - n_unit_counts->m_node_type = NodeType::Array; - n_unit_counts->m_index_enum = DF_Type::profession; - n_unit_counts->m_addornements = "[152"; - n_unit_counts->m_array_size = 152; - n_unit_counts->m_address = base + offset; - n_unit_counts->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unit_counts); - - field_name = "population"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); - auto n_population = new NodeSimple; - n_population->m_field_name = field_name; - n_population->m_df_type = DF_Type::int16_t; - n_population->m_rdf_type = RDF_Type::int16_t; - n_population->m_node_type = NodeType::Simple; - n_population->m_address = base + offset; - n_population->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_population); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int16_t; - n_anon_1->m_rdf_type = RDF_Type::int16_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int16_t; - n_anon_2->m_rdf_type = RDF_Type::int16_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_comment = "in 0.23, omnivores"; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int16_t; - n_anon_3->m_rdf_type = RDF_Type::int16_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_comment = "in 0.23, carnivores"; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "trained_animals"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); - auto n_trained_animals = new NodeSimple; - n_trained_animals->m_field_name = field_name; - n_trained_animals->m_df_type = DF_Type::int16_t; - n_trained_animals->m_rdf_type = RDF_Type::int16_t; - n_trained_animals->m_node_type = NodeType::Simple; - n_trained_animals->m_address = base + offset; - n_trained_animals->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_trained_animals); - - field_name = "other_animals"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); - auto n_other_animals = new NodeSimple; - n_other_animals->m_field_name = field_name; - n_other_animals->m_df_type = DF_Type::int16_t; - n_other_animals->m_rdf_type = RDF_Type::int16_t; - n_other_animals->m_node_type = NodeType::Simple; - n_other_animals->m_address = base + offset; - n_other_animals->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_other_animals); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int16_t; - n_anon_4->m_rdf_type = RDF_Type::int16_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_comment = "in 0.23, potential soldiers"; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_comment = "in 0.23, combat aptitude"; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "item_counts"; - auto n_item_counts = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); - n_item_counts->m_field_name = field_name; - n_item_counts->m_df_type = DF_Type::int32_t; - n_item_counts->m_rdf_type = RDF_Type::Array; - n_item_counts->m_node_type = NodeType::Array; - n_item_counts->m_index_enum = DF_Type::item_type; - n_item_counts->m_addornements = "[112"; - n_item_counts->m_array_size = 112; - n_item_counts->m_address = base + offset; - n_item_counts->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_counts); - - field_name = "created_weapons"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); - auto n_created_weapons = new NodeVector; - n_created_weapons->m_field_name = field_name; - n_created_weapons->m_df_type = DF_Type::int32_t; - n_created_weapons->m_rdf_type = RDF_Type::Vector; - n_created_weapons->m_node_type = NodeType::Vector; - n_created_weapons->m_addornements = "v"; - n_created_weapons->m_address = base + offset; - n_created_weapons->m_refers_to = "$global.world.raws.itemdefs.weapons[$]"; - n_created_weapons->m_parent = p_node_parent; - n_created_weapons->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_created_weapons); - - field_name = "wealth"; - auto n_wealth = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); - n_wealth->m_field_name = field_name; - n_wealth->m_df_type = DF_Type::entity_activity_statistics__T_wealth; - n_wealth->m_rdf_type = RDF_Type::Compound; - n_wealth->m_node_type = NodeType::Compound; - n_wealth->m_address = base + offset; - n_wealth->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_wealth); - - field_name = "recent_jobs"; - auto n_recent_jobs = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); - n_recent_jobs->m_field_name = field_name; - n_recent_jobs->m_df_type = DF_Type::int32_t; - n_recent_jobs->m_rdf_type = RDF_Type::Array; - n_recent_jobs->m_node_type = NodeType::Array; - n_recent_jobs->m_addornements = "[7[260"; - n_recent_jobs->m_array_size = 7; - n_recent_jobs->m_address = base + offset; - n_recent_jobs->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_recent_jobs); - - field_name = "excavated_tiles"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); - auto n_excavated_tiles = new NodeSimple; - n_excavated_tiles->m_field_name = field_name; - n_excavated_tiles->m_df_type = DF_Type::int32_t; - n_excavated_tiles->m_rdf_type = RDF_Type::int32_t; - n_excavated_tiles->m_node_type = NodeType::Simple; - n_excavated_tiles->m_address = base + offset; - n_excavated_tiles->m_comment = "unhidden, subterranean, and excluding map features"; - n_excavated_tiles->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_excavated_tiles); - - field_name = "death_history"; - auto n_death_history = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); - n_death_history->m_field_name = field_name; - n_death_history->m_df_type = DF_Type::int32_t; - n_death_history->m_rdf_type = RDF_Type::Array; - n_death_history->m_node_type = NodeType::Array; - n_death_history->m_addornements = "[5"; - n_death_history->m_array_size = 5; - n_death_history->m_address = base + offset; - n_death_history->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_death_history); - - field_name = "insanity_history"; - auto n_insanity_history = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); - n_insanity_history->m_field_name = field_name; - n_insanity_history->m_df_type = DF_Type::int32_t; - n_insanity_history->m_rdf_type = RDF_Type::Array; - n_insanity_history->m_node_type = NodeType::Array; - n_insanity_history->m_addornements = "[5"; - n_insanity_history->m_array_size = 5; - n_insanity_history->m_address = base + offset; - n_insanity_history->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_insanity_history); - - field_name = "execution_history"; - auto n_execution_history = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); - n_execution_history->m_field_name = field_name; - n_execution_history->m_df_type = DF_Type::int32_t; - n_execution_history->m_rdf_type = RDF_Type::Array; - n_execution_history->m_node_type = NodeType::Array; - n_execution_history->m_addornements = "[5"; - n_execution_history->m_array_size = 5; - n_execution_history->m_address = base + offset; - n_execution_history->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_execution_history); - - field_name = "noble_death_history"; - auto n_noble_death_history = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); - n_noble_death_history->m_field_name = field_name; - n_noble_death_history->m_df_type = DF_Type::int32_t; - n_noble_death_history->m_rdf_type = RDF_Type::Array; - n_noble_death_history->m_node_type = NodeType::Array; - n_noble_death_history->m_addornements = "[5"; - n_noble_death_history->m_array_size = 5; - n_noble_death_history->m_address = base + offset; - n_noble_death_history->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_noble_death_history); - - field_name = "total_deaths"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); - auto n_total_deaths = new NodeSimple; - n_total_deaths->m_field_name = field_name; - n_total_deaths->m_df_type = DF_Type::int32_t; - n_total_deaths->m_rdf_type = RDF_Type::int32_t; - n_total_deaths->m_node_type = NodeType::Simple; - n_total_deaths->m_address = base + offset; - n_total_deaths->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_total_deaths); - - field_name = "total_insanities"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); - auto n_total_insanities = new NodeSimple; - n_total_insanities->m_field_name = field_name; - n_total_insanities->m_df_type = DF_Type::int32_t; - n_total_insanities->m_rdf_type = RDF_Type::int32_t; - n_total_insanities->m_node_type = NodeType::Simple; - n_total_insanities->m_address = base + offset; - n_total_insanities->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_total_insanities); - - field_name = "total_executions"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); - auto n_total_executions = new NodeSimple; - n_total_executions->m_field_name = field_name; - n_total_executions->m_df_type = DF_Type::int32_t; - n_total_executions->m_rdf_type = RDF_Type::int32_t; - n_total_executions->m_node_type = NodeType::Simple; - n_total_executions->m_address = base + offset; - n_total_executions->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_total_executions); - - field_name = "num_artifacts"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); - auto n_num_artifacts = new NodeSimple; - n_num_artifacts->m_field_name = field_name; - n_num_artifacts->m_df_type = DF_Type::int32_t; - n_num_artifacts->m_rdf_type = RDF_Type::int32_t; - n_num_artifacts->m_node_type = NodeType::Simple; - n_num_artifacts->m_address = base + offset; - n_num_artifacts->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_num_artifacts); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_comment = "in 0.23, total siegers"; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "discovered_creature_foods"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); - auto n_discovered_creature_foods = new NodeVector; - n_discovered_creature_foods->m_field_name = field_name; - n_discovered_creature_foods->m_df_type = DF_Type::Bool; - n_discovered_creature_foods->m_rdf_type = RDF_Type::Vector; - n_discovered_creature_foods->m_node_type = NodeType::Vector; - n_discovered_creature_foods->m_addornements = "v"; - n_discovered_creature_foods->m_address = base + offset; - n_discovered_creature_foods->m_refers_to = "(find-creature $)"; - n_discovered_creature_foods->m_parent = p_node_parent; - n_discovered_creature_foods->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_discovered_creature_foods); - - field_name = "discovered_creatures"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); - auto n_discovered_creatures = new NodeVector; - n_discovered_creatures->m_field_name = field_name; - n_discovered_creatures->m_df_type = DF_Type::Bool; - n_discovered_creatures->m_rdf_type = RDF_Type::Vector; - n_discovered_creatures->m_node_type = NodeType::Vector; - n_discovered_creatures->m_addornements = "v"; - n_discovered_creatures->m_address = base + offset; - n_discovered_creatures->m_refers_to = "(find-creature $)"; - n_discovered_creatures->m_parent = p_node_parent; - n_discovered_creatures->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_discovered_creatures); - - field_name = "discovered_plant_foods"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); - auto n_discovered_plant_foods = new NodeVector; - n_discovered_plant_foods->m_field_name = field_name; - n_discovered_plant_foods->m_df_type = DF_Type::Bool; - n_discovered_plant_foods->m_rdf_type = RDF_Type::Vector; - n_discovered_plant_foods->m_node_type = NodeType::Vector; - n_discovered_plant_foods->m_addornements = "v"; - n_discovered_plant_foods->m_address = base + offset; - n_discovered_plant_foods->m_refers_to = "(find-plant-raw $)"; - n_discovered_plant_foods->m_parent = p_node_parent; - n_discovered_plant_foods->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_discovered_plant_foods); - - field_name = "discovered_plants"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); - auto n_discovered_plants = new NodeVector; - n_discovered_plants->m_field_name = field_name; - n_discovered_plants->m_df_type = DF_Type::Bool; - n_discovered_plants->m_rdf_type = RDF_Type::Vector; - n_discovered_plants->m_node_type = NodeType::Vector; - n_discovered_plants->m_addornements = "v"; - n_discovered_plants->m_address = base + offset; - n_discovered_plants->m_comment = "allows planting of seeds"; - n_discovered_plants->m_refers_to = "(find-plant-raw $)"; - n_discovered_plants->m_parent = p_node_parent; - n_discovered_plants->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_discovered_plants); - - field_name = "discovered_water_features"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); - auto n_discovered_water_features = new NodeSimple; - n_discovered_water_features->m_field_name = field_name; - n_discovered_water_features->m_df_type = DF_Type::int16_t; - n_discovered_water_features->m_rdf_type = RDF_Type::int16_t; - n_discovered_water_features->m_node_type = NodeType::Simple; - n_discovered_water_features->m_address = base + offset; - n_discovered_water_features->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_discovered_water_features); - - field_name = "discovered_subterranean_features"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); - auto n_discovered_subterranean_features = new NodeSimple; - n_discovered_subterranean_features->m_field_name = field_name; - n_discovered_subterranean_features->m_df_type = DF_Type::int16_t; - n_discovered_subterranean_features->m_rdf_type = RDF_Type::int16_t; - n_discovered_subterranean_features->m_node_type = NodeType::Simple; - n_discovered_subterranean_features->m_address = base + offset; - n_discovered_subterranean_features->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_discovered_subterranean_features); - - field_name = "discovered_chasm_features"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); - auto n_discovered_chasm_features = new NodeSimple; - n_discovered_chasm_features->m_field_name = field_name; - n_discovered_chasm_features->m_df_type = DF_Type::int16_t; - n_discovered_chasm_features->m_rdf_type = RDF_Type::int16_t; - n_discovered_chasm_features->m_node_type = NodeType::Simple; - n_discovered_chasm_features->m_address = base + offset; - n_discovered_chasm_features->m_comment = "unused since 40d"; - n_discovered_chasm_features->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_discovered_chasm_features); - - field_name = "discovered_magma_features"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); - auto n_discovered_magma_features = new NodeSimple; - n_discovered_magma_features->m_field_name = field_name; - n_discovered_magma_features->m_df_type = DF_Type::int16_t; - n_discovered_magma_features->m_rdf_type = RDF_Type::int16_t; - n_discovered_magma_features->m_node_type = NodeType::Simple; - n_discovered_magma_features->m_address = base + offset; - n_discovered_magma_features->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_discovered_magma_features); - - field_name = "discovered_feature_layers"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); - auto n_discovered_feature_layers = new NodeSimple; - n_discovered_feature_layers->m_field_name = field_name; - n_discovered_feature_layers->m_df_type = DF_Type::int16_t; - n_discovered_feature_layers->m_rdf_type = RDF_Type::int16_t; - n_discovered_feature_layers->m_node_type = NodeType::Simple; - n_discovered_feature_layers->m_address = base + offset; - n_discovered_feature_layers->m_comment = "back in 40d, this counted HFS"; - n_discovered_feature_layers->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_discovered_feature_layers); - - field_name = "migrant_wave_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); - auto n_migrant_wave_idx = new NodeSimple; - n_migrant_wave_idx->m_field_name = field_name; - n_migrant_wave_idx->m_df_type = DF_Type::int32_t; - n_migrant_wave_idx->m_rdf_type = RDF_Type::int32_t; - n_migrant_wave_idx->m_node_type = NodeType::Simple; - n_migrant_wave_idx->m_address = base + offset; - n_migrant_wave_idx->m_comment = "when >= 2, no migrants"; - n_migrant_wave_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_migrant_wave_idx); - - field_name = "found_minerals"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); - auto n_found_minerals = new NodeVector; - n_found_minerals->m_field_name = field_name; - n_found_minerals->m_df_type = DF_Type::int32_t; - n_found_minerals->m_rdf_type = RDF_Type::Vector; - n_found_minerals->m_node_type = NodeType::Vector; - n_found_minerals->m_addornements = "v"; - n_found_minerals->m_address = base + offset; - n_found_minerals->m_comment = "Added after 'you have struck' announcement"; - n_found_minerals->m_parent = p_node_parent; - n_found_minerals->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_found_minerals); - - field_name = "found_misc"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); - auto n_found_misc = new NodeBitfield; - n_found_misc->m_field_name = field_name; - n_found_misc->m_df_type = DF_Type::entity_activity_statistics__T_found_misc; - n_found_misc->m_rdf_type = RDF_Type::Bitfield; - n_found_misc->m_node_type = NodeType::Bitfield; - n_found_misc->m_address = base + offset; - n_found_misc->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_found_misc); - -} -void node_from_entity_sell_category(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_entity_sell_requests(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "priority"; - auto n_priority = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_sell_requests, field_name)); - n_priority->m_field_name = field_name; - n_priority->m_df_type = DF_Type::int8_t; - n_priority->m_rdf_type = RDF_Type::Array; - n_priority->m_node_type = NodeType::Array; - n_priority->m_index_enum = DF_Type::entity_sell_category; - n_priority->m_addornements = "[107v"; - n_priority->m_array_size = 107; - n_priority->m_address = base + offset; - n_priority->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_priority); - -} -void node_from_historical_entity_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_entity_tissue_style(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_tissue_style, field_name)); - auto n_name = new NodeSimple; - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Stl_string; - n_name->m_node_type = NodeType::Simple; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "preferred_shapings"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_tissue_style, field_name)); - auto n_preferred_shapings = new NodeVector; - n_preferred_shapings->m_field_name = field_name; - n_preferred_shapings->m_df_type = DF_Type::int16_t; - n_preferred_shapings->m_rdf_type = RDF_Type::Vector; - n_preferred_shapings->m_node_type = NodeType::Vector; - n_preferred_shapings->m_addornements = "v"; - n_preferred_shapings->m_address = base + offset; - n_preferred_shapings->m_parent = p_node_parent; - n_preferred_shapings->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_preferred_shapings); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_tissue_style, field_name)); - auto n_anon_1 = new NodeVector; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::Vector; - n_anon_1->m_node_type = NodeType::Vector; - n_anon_1->m_addornements = "v"; - n_anon_1->m_address = base + offset; - n_anon_1->m_comment = "maybe probability?"; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "maintain_length_min"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_tissue_style, field_name)); - auto n_maintain_length_min = new NodeSimple; - n_maintain_length_min->m_field_name = field_name; - n_maintain_length_min->m_df_type = DF_Type::int32_t; - n_maintain_length_min->m_rdf_type = RDF_Type::int32_t; - n_maintain_length_min->m_node_type = NodeType::Simple; - n_maintain_length_min->m_address = base + offset; - n_maintain_length_min->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_maintain_length_min); - - field_name = "maintain_length_max"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_tissue_style, field_name)); - auto n_maintain_length_max = new NodeSimple; - n_maintain_length_max->m_field_name = field_name; - n_maintain_length_max->m_df_type = DF_Type::int32_t; - n_maintain_length_max->m_rdf_type = RDF_Type::int32_t; - n_maintain_length_max->m_node_type = NodeType::Simple; - n_maintain_length_max->m_address = base + offset; - n_maintain_length_max->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_maintain_length_max); - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_tissue_style, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - -} -void node_from_training_knowledge_level(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_entity_position_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_entity_position(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "code"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); - auto n_code = new NodeSimple; - n_code->m_field_name = field_name; - n_code->m_df_type = DF_Type::Stl_string; - n_code->m_rdf_type = RDF_Type::Stl_string; - n_code->m_node_type = NodeType::Simple; - n_code->m_address = base + offset; - n_code->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_code); - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); - auto n_flags = new NodeDFFlagArray; - n_flags->m_field_name = field_name; - n_flags->m_index_enum = DF_Type::entity_position_flags; - n_flags->m_df_type = DF_Type::entity_position_flags; - n_flags->m_size = 32; - n_flags->m_rdf_type = RDF_Type::DFFlagArray; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_defined_in = "df.entities.xml"; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "allowed_creature"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); - auto n_allowed_creature = new NodeVector; - n_allowed_creature->m_field_name = field_name; - n_allowed_creature->m_df_type = DF_Type::int32_t; - n_allowed_creature->m_rdf_type = RDF_Type::Vector; - n_allowed_creature->m_node_type = NodeType::Vector; - n_allowed_creature->m_addornements = "v"; - n_allowed_creature->m_address = base + offset; - n_allowed_creature->m_parent = p_node_parent; - n_allowed_creature->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_allowed_creature); - - field_name = "allowed_class"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); - auto n_allowed_class = new NodeVector; - n_allowed_class->m_field_name = field_name; - n_allowed_class->m_df_type = DF_Type::Stl_string; - n_allowed_class->m_rdf_type = RDF_Type::Vector; - n_allowed_class->m_node_type = NodeType::Vector; - n_allowed_class->m_addornements = "v*"; - n_allowed_class->m_address = base + offset; - n_allowed_class->m_parent = p_node_parent; - n_allowed_class->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_allowed_class); - - field_name = "rejected_creature"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); - auto n_rejected_creature = new NodeVector; - n_rejected_creature->m_field_name = field_name; - n_rejected_creature->m_df_type = DF_Type::int32_t; - n_rejected_creature->m_rdf_type = RDF_Type::Vector; - n_rejected_creature->m_node_type = NodeType::Vector; - n_rejected_creature->m_addornements = "v"; - n_rejected_creature->m_address = base + offset; - n_rejected_creature->m_parent = p_node_parent; - n_rejected_creature->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_rejected_creature); - - field_name = "rejected_class"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); - auto n_rejected_class = new NodeVector; - n_rejected_class->m_field_name = field_name; - n_rejected_class->m_df_type = DF_Type::Stl_string; - n_rejected_class->m_rdf_type = RDF_Type::Vector; - n_rejected_class->m_node_type = NodeType::Vector; - n_rejected_class->m_addornements = "v*"; - n_rejected_class->m_address = base + offset; - n_rejected_class->m_parent = p_node_parent; - n_rejected_class->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_rejected_class); - - field_name = "name"; - auto n_name = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Array; - n_name->m_node_type = NodeType::Array; - n_name->m_addornements = "[2"; - n_name->m_array_size = 2; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "name_female"; - auto n_name_female = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); - n_name_female->m_field_name = field_name; - n_name_female->m_df_type = DF_Type::Stl_string; - n_name_female->m_rdf_type = RDF_Type::Array; - n_name_female->m_node_type = NodeType::Array; - n_name_female->m_addornements = "[2"; - n_name_female->m_array_size = 2; - n_name_female->m_address = base + offset; - n_name_female->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name_female); - - field_name = "name_male"; - auto n_name_male = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); - n_name_male->m_field_name = field_name; - n_name_male->m_df_type = DF_Type::Stl_string; - n_name_male->m_rdf_type = RDF_Type::Array; - n_name_male->m_node_type = NodeType::Array; - n_name_male->m_addornements = "[2"; - n_name_male->m_array_size = 2; - n_name_male->m_address = base + offset; - n_name_male->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name_male); - - field_name = "spouse"; - auto n_spouse = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); - n_spouse->m_field_name = field_name; - n_spouse->m_df_type = DF_Type::Stl_string; - n_spouse->m_rdf_type = RDF_Type::Array; - n_spouse->m_node_type = NodeType::Array; - n_spouse->m_addornements = "[2"; - n_spouse->m_array_size = 2; - n_spouse->m_address = base + offset; - n_spouse->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_spouse); - - field_name = "spouse_female"; - auto n_spouse_female = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); - n_spouse_female->m_field_name = field_name; - n_spouse_female->m_df_type = DF_Type::Stl_string; - n_spouse_female->m_rdf_type = RDF_Type::Array; - n_spouse_female->m_node_type = NodeType::Array; - n_spouse_female->m_addornements = "[2"; - n_spouse_female->m_array_size = 2; - n_spouse_female->m_address = base + offset; - n_spouse_female->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_spouse_female); - - field_name = "spouse_male"; - auto n_spouse_male = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); - n_spouse_male->m_field_name = field_name; - n_spouse_male->m_df_type = DF_Type::Stl_string; - n_spouse_male->m_rdf_type = RDF_Type::Array; - n_spouse_male->m_node_type = NodeType::Array; - n_spouse_male->m_addornements = "[2"; - n_spouse_male->m_array_size = 2; - n_spouse_male->m_address = base + offset; - n_spouse_male->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_spouse_male); - - field_name = "squad"; - auto n_squad = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); - n_squad->m_field_name = field_name; - n_squad->m_df_type = DF_Type::Stl_string; - n_squad->m_rdf_type = RDF_Type::Array; - n_squad->m_node_type = NodeType::Array; - n_squad->m_addornements = "[2"; - n_squad->m_array_size = 2; - n_squad->m_address = base + offset; - n_squad->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_squad); - - field_name = "land_name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); - auto n_land_name = new NodeSimple; - n_land_name->m_field_name = field_name; - n_land_name->m_df_type = DF_Type::Stl_string; - n_land_name->m_rdf_type = RDF_Type::Stl_string; - n_land_name->m_node_type = NodeType::Simple; - n_land_name->m_address = base + offset; - n_land_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_land_name); - - field_name = "squad_size"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); - auto n_squad_size = new NodeSimple; - n_squad_size->m_field_name = field_name; - n_squad_size->m_df_type = DF_Type::int16_t; - n_squad_size->m_rdf_type = RDF_Type::int16_t; - n_squad_size->m_node_type = NodeType::Simple; - n_squad_size->m_address = base + offset; - n_squad_size->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_squad_size); - - field_name = "commander_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); - auto n_commander_id = new NodeVector; - n_commander_id->m_field_name = field_name; - n_commander_id->m_df_type = DF_Type::int32_t; - n_commander_id->m_rdf_type = RDF_Type::Vector; - n_commander_id->m_node_type = NodeType::Vector; - n_commander_id->m_addornements = "v"; - n_commander_id->m_address = base + offset; - n_commander_id->m_parent = p_node_parent; - n_commander_id->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_commander_id); - - field_name = "commander_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); - auto n_commander_civ = new NodeVector; - n_commander_civ->m_field_name = field_name; - n_commander_civ->m_df_type = DF_Type::int32_t; - n_commander_civ->m_rdf_type = RDF_Type::Vector; - n_commander_civ->m_node_type = NodeType::Vector; - n_commander_civ->m_addornements = "v"; - n_commander_civ->m_address = base + offset; - n_commander_civ->m_parent = p_node_parent; - n_commander_civ->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_commander_civ); - - field_name = "commander_types"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); - auto n_commander_types = new NodeVector; - n_commander_types->m_field_name = field_name; - n_commander_types->m_df_type = DF_Type::int16_t; - n_commander_types->m_rdf_type = RDF_Type::Vector; - n_commander_types->m_node_type = NodeType::Vector; - n_commander_types->m_addornements = "v"; - n_commander_types->m_address = base + offset; - n_commander_types->m_parent = p_node_parent; - n_commander_types->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_commander_types); - - field_name = "land_holder"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); - auto n_land_holder = new NodeSimple; - n_land_holder->m_field_name = field_name; - n_land_holder->m_df_type = DF_Type::int16_t; - n_land_holder->m_rdf_type = RDF_Type::int16_t; - n_land_holder->m_node_type = NodeType::Simple; - n_land_holder->m_address = base + offset; - n_land_holder->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_land_holder); - - field_name = "requires_population"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); - auto n_requires_population = new NodeSimple; - n_requires_population->m_field_name = field_name; - n_requires_population->m_df_type = DF_Type::int16_t; - n_requires_population->m_rdf_type = RDF_Type::int16_t; - n_requires_population->m_node_type = NodeType::Simple; - n_requires_population->m_address = base + offset; - n_requires_population->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_requires_population); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int16_t; - n_anon_1->m_rdf_type = RDF_Type::int16_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "precedence"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); - auto n_precedence = new NodeSimple; - n_precedence->m_field_name = field_name; - n_precedence->m_df_type = DF_Type::int32_t; - n_precedence->m_rdf_type = RDF_Type::int32_t; - n_precedence->m_node_type = NodeType::Simple; - n_precedence->m_address = base + offset; - n_precedence->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_precedence); - - field_name = "replaced_by"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); - auto n_replaced_by = new NodeSimple; - n_replaced_by->m_field_name = field_name; - n_replaced_by->m_df_type = DF_Type::int32_t; - n_replaced_by->m_rdf_type = RDF_Type::int32_t; - n_replaced_by->m_node_type = NodeType::Simple; - n_replaced_by->m_address = base + offset; - n_replaced_by->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_replaced_by); - - field_name = "number"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); - auto n_number = new NodeSimple; - n_number->m_field_name = field_name; - n_number->m_df_type = DF_Type::int16_t; - n_number->m_rdf_type = RDF_Type::int16_t; - n_number->m_node_type = NodeType::Simple; - n_number->m_address = base + offset; - n_number->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_number); - - field_name = "appointed_by"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); - auto n_appointed_by = new NodeVector; - n_appointed_by->m_field_name = field_name; - n_appointed_by->m_df_type = DF_Type::int32_t; - n_appointed_by->m_rdf_type = RDF_Type::Vector; - n_appointed_by->m_node_type = NodeType::Vector; - n_appointed_by->m_addornements = "v"; - n_appointed_by->m_address = base + offset; - n_appointed_by->m_parent = p_node_parent; - n_appointed_by->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_appointed_by); - - field_name = "appointed_by_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); - auto n_appointed_by_civ = new NodeVector; - n_appointed_by_civ->m_field_name = field_name; - n_appointed_by_civ->m_df_type = DF_Type::int32_t; - n_appointed_by_civ->m_rdf_type = RDF_Type::Vector; - n_appointed_by_civ->m_node_type = NodeType::Vector; - n_appointed_by_civ->m_addornements = "v"; - n_appointed_by_civ->m_address = base + offset; - n_appointed_by_civ->m_parent = p_node_parent; - n_appointed_by_civ->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_appointed_by_civ); - - field_name = "succession_by_position"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); - auto n_succession_by_position = new NodeVector; - n_succession_by_position->m_field_name = field_name; - n_succession_by_position->m_df_type = DF_Type::int32_t; - n_succession_by_position->m_rdf_type = RDF_Type::Vector; - n_succession_by_position->m_node_type = NodeType::Vector; - n_succession_by_position->m_addornements = "v"; - n_succession_by_position->m_address = base + offset; - n_succession_by_position->m_parent = p_node_parent; - n_succession_by_position->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_succession_by_position); - - field_name = "responsibilities"; - auto n_responsibilities = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); - n_responsibilities->m_field_name = field_name; - n_responsibilities->m_df_type = DF_Type::Bool; - n_responsibilities->m_rdf_type = RDF_Type::Array; - n_responsibilities->m_node_type = NodeType::Array; - n_responsibilities->m_index_enum = DF_Type::entity_position_responsibility; - n_responsibilities->m_addornements = "[25"; - n_responsibilities->m_array_size = 25; - n_responsibilities->m_address = base + offset; - n_responsibilities->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_responsibilities); - - field_name = "color"; - auto n_color = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); - n_color->m_field_name = field_name; - n_color->m_df_type = DF_Type::int16_t; - n_color->m_rdf_type = RDF_Type::Array; - n_color->m_node_type = NodeType::Array; - n_color->m_addornements = "[3"; - n_color->m_array_size = 3; - n_color->m_address = base + offset; - n_color->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_color); - - field_name = "required_boxes"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); - auto n_required_boxes = new NodeSimple; - n_required_boxes->m_field_name = field_name; - n_required_boxes->m_df_type = DF_Type::int32_t; - n_required_boxes->m_rdf_type = RDF_Type::int32_t; - n_required_boxes->m_node_type = NodeType::Simple; - n_required_boxes->m_address = base + offset; - n_required_boxes->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_required_boxes); - - field_name = "required_cabinets"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); - auto n_required_cabinets = new NodeSimple; - n_required_cabinets->m_field_name = field_name; - n_required_cabinets->m_df_type = DF_Type::int32_t; - n_required_cabinets->m_rdf_type = RDF_Type::int32_t; - n_required_cabinets->m_node_type = NodeType::Simple; - n_required_cabinets->m_address = base + offset; - n_required_cabinets->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_required_cabinets); - - field_name = "required_racks"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); - auto n_required_racks = new NodeSimple; - n_required_racks->m_field_name = field_name; - n_required_racks->m_df_type = DF_Type::int32_t; - n_required_racks->m_rdf_type = RDF_Type::int32_t; - n_required_racks->m_node_type = NodeType::Simple; - n_required_racks->m_address = base + offset; - n_required_racks->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_required_racks); - - field_name = "required_stands"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); - auto n_required_stands = new NodeSimple; - n_required_stands->m_field_name = field_name; - n_required_stands->m_df_type = DF_Type::int32_t; - n_required_stands->m_rdf_type = RDF_Type::int32_t; - n_required_stands->m_node_type = NodeType::Simple; - n_required_stands->m_address = base + offset; - n_required_stands->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_required_stands); - - field_name = "required_office"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); - auto n_required_office = new NodeSimple; - n_required_office->m_field_name = field_name; - n_required_office->m_df_type = DF_Type::int32_t; - n_required_office->m_rdf_type = RDF_Type::int32_t; - n_required_office->m_node_type = NodeType::Simple; - n_required_office->m_address = base + offset; - n_required_office->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_required_office); - - field_name = "required_bedroom"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); - auto n_required_bedroom = new NodeSimple; - n_required_bedroom->m_field_name = field_name; - n_required_bedroom->m_df_type = DF_Type::int32_t; - n_required_bedroom->m_rdf_type = RDF_Type::int32_t; - n_required_bedroom->m_node_type = NodeType::Simple; - n_required_bedroom->m_address = base + offset; - n_required_bedroom->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_required_bedroom); - - field_name = "required_dining"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); - auto n_required_dining = new NodeSimple; - n_required_dining->m_field_name = field_name; - n_required_dining->m_df_type = DF_Type::int32_t; - n_required_dining->m_rdf_type = RDF_Type::int32_t; - n_required_dining->m_node_type = NodeType::Simple; - n_required_dining->m_address = base + offset; - n_required_dining->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_required_dining); - - field_name = "required_tomb"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); - auto n_required_tomb = new NodeSimple; - n_required_tomb->m_field_name = field_name; - n_required_tomb->m_df_type = DF_Type::int32_t; - n_required_tomb->m_rdf_type = RDF_Type::int32_t; - n_required_tomb->m_node_type = NodeType::Simple; - n_required_tomb->m_address = base + offset; - n_required_tomb->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_required_tomb); - - field_name = "mandate_max"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); - auto n_mandate_max = new NodeSimple; - n_mandate_max->m_field_name = field_name; - n_mandate_max->m_df_type = DF_Type::int32_t; - n_mandate_max->m_rdf_type = RDF_Type::int32_t; - n_mandate_max->m_node_type = NodeType::Simple; - n_mandate_max->m_address = base + offset; - n_mandate_max->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mandate_max); - - field_name = "demand_max"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); - auto n_demand_max = new NodeSimple; - n_demand_max->m_field_name = field_name; - n_demand_max->m_df_type = DF_Type::int32_t; - n_demand_max->m_rdf_type = RDF_Type::int32_t; - n_demand_max->m_node_type = NodeType::Simple; - n_demand_max->m_address = base + offset; - n_demand_max->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_demand_max); - -} -void node_from_entity_position_assignment(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_assignment, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "histfig"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_assignment, field_name)); - auto n_histfig = new NodeSimple; - n_histfig->m_field_name = field_name; - n_histfig->m_df_type = DF_Type::int32_t; - n_histfig->m_rdf_type = RDF_Type::int32_t; - n_histfig->m_node_type = NodeType::Simple; - n_histfig->m_address = base + offset; - n_histfig->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig); - - field_name = "histfig2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_assignment, field_name)); - auto n_histfig2 = new NodeSimple; - n_histfig2->m_field_name = field_name; - n_histfig2->m_df_type = DF_Type::int32_t; - n_histfig2->m_rdf_type = RDF_Type::int32_t; - n_histfig2->m_node_type = NodeType::Simple; - n_histfig2->m_address = base + offset; - n_histfig2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig2); - - field_name = "position_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_assignment, field_name)); - auto n_position_id = new NodeSimple; - n_position_id->m_field_name = field_name; - n_position_id->m_df_type = DF_Type::int32_t; - n_position_id->m_rdf_type = RDF_Type::int32_t; - n_position_id->m_node_type = NodeType::Simple; - n_position_id->m_address = base + offset; - n_position_id->m_comment = "position within relevant entity"; - n_position_id->m_refers_to = "(find-by-id $$._global._parent._global.positions.own $id $)"; - n_position_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_position_id); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_assignment, field_name)); - auto n_flags = new NodeDFFlagArray; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::int32_t; - n_flags->m_size = 32; - n_flags->m_rdf_type = RDF_Type::DFFlagArray; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "squad_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_assignment, field_name)); - auto n_squad_id = new NodeSimple; - n_squad_id->m_field_name = field_name; - n_squad_id->m_df_type = DF_Type::int32_t; - n_squad_id->m_rdf_type = RDF_Type::int32_t; - n_squad_id->m_node_type = NodeType::Simple; - n_squad_id->m_address = base + offset; - n_squad_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_squad_id); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_assignment, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_assignment, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_assignment, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_assignment, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_assignment, field_name)); - auto n_anon_5 = new NodeVector; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::Void; - n_anon_5->m_rdf_type = RDF_Type::Vector; - n_anon_5->m_node_type = NodeType::Vector; - n_anon_5->m_addornements = "v"; - n_anon_5->m_address = base + offset; - n_anon_5->m_comment = "not saved"; - n_anon_5->m_parent = p_node_parent; - n_anon_5->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_5); - -} -void node_from_entity_material_category(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_entity_event_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_entity_raw_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_site_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_ethic_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_ethic_response(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_entity_name_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_entity_animal_raw(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "token"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_animal_raw, field_name)); - auto n_token = new NodeSimple; - n_token->m_field_name = field_name; - n_token->m_df_type = DF_Type::Stl_string; - n_token->m_rdf_type = RDF_Type::Stl_string; - n_token->m_node_type = NodeType::Simple; - n_token->m_address = base + offset; - n_token->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_token); - - field_name = "caste_token"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_animal_raw, field_name)); - auto n_caste_token = new NodeVector; - n_caste_token->m_field_name = field_name; - n_caste_token->m_df_type = DF_Type::Stl_string; - n_caste_token->m_rdf_type = RDF_Type::Vector; - n_caste_token->m_node_type = NodeType::Vector; - n_caste_token->m_addornements = "v*"; - n_caste_token->m_address = base + offset; - n_caste_token->m_parent = p_node_parent; - n_caste_token->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_caste_token); - - field_name = "animal_class"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_animal_raw, field_name)); - auto n_animal_class = new NodeVector; - n_animal_class->m_field_name = field_name; - n_animal_class->m_df_type = DF_Type::Stl_string; - n_animal_class->m_rdf_type = RDF_Type::Vector; - n_animal_class->m_node_type = NodeType::Vector; - n_animal_class->m_addornements = "v*"; - n_animal_class->m_address = base + offset; - n_animal_class->m_parent = p_node_parent; - n_animal_class->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_animal_class); - - field_name = "forbidden_class"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_animal_raw, field_name)); - auto n_forbidden_class = new NodeVector; - n_forbidden_class->m_field_name = field_name; - n_forbidden_class->m_df_type = DF_Type::Stl_string; - n_forbidden_class->m_rdf_type = RDF_Type::Vector; - n_forbidden_class->m_node_type = NodeType::Vector; - n_forbidden_class->m_addornements = "v*"; - n_forbidden_class->m_address = base + offset; - n_forbidden_class->m_parent = p_node_parent; - n_forbidden_class->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_forbidden_class); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_animal_raw, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::entity_animal_raw__T_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - -} -void node_from_entity_position_raw_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_entity_position_responsibility(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_weather_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_game_mode(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_game_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_lever_target_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_large_integer___struct0(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "low_part"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::large_integer, field_name)); - auto n_low_part = new NodeSimple; - n_low_part->m_field_name = field_name; - n_low_part->m_df_type = DF_Type::Long; - n_low_part->m_rdf_type = RDF_Type::Long; - n_low_part->m_node_type = NodeType::Simple; - n_low_part->m_address = base + offset; - n_low_part->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_low_part); - - field_name = "high_part"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::large_integer, field_name)); - auto n_high_part = new NodeSimple; - n_high_part->m_field_name = field_name; - n_high_part->m_df_type = DF_Type::Long; - n_high_part->m_rdf_type = RDF_Type::Long; - n_high_part->m_node_type = NodeType::Simple; - n_high_part->m_address = base + offset; - n_high_part->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_high_part); - -} -void node_from_large_integer__T_u(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "low_part"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::large_integer__T_u, field_name)); - auto n_low_part = new NodeSimple; - n_low_part->m_field_name = field_name; - n_low_part->m_df_type = DF_Type::Long; - n_low_part->m_rdf_type = RDF_Type::Long; - n_low_part->m_node_type = NodeType::Simple; - n_low_part->m_address = base + offset; - n_low_part->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_low_part); - - field_name = "high_part"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::large_integer__T_u, field_name)); - auto n_high_part = new NodeSimple; - n_high_part->m_field_name = field_name; - n_high_part->m_df_type = DF_Type::Long; - n_high_part->m_rdf_type = RDF_Type::Long; - n_high_part->m_node_type = NodeType::Simple; - n_high_part->m_address = base + offset; - n_high_part->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_high_part); - -} -void node_from_large_integer(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = true) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - auto n_$struct0 = new NodeAnonymous; - field_name = "low_part"; // first child of the anonymous struct - auto parent = reinterpret_cast(p_node_parent->m_address); - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::large_integer, field_name)); - n_$struct0->m_field_name = ""; - n_$struct0->m_df_type = DF_Type::large_integer___struct0; - n_$struct0->m_rdf_type = RDF_Type::AnonymousCompound; - n_$struct0->m_node_type = NodeType::AnonymousCompound; - n_$struct0->m_address = base + offset; - n_$struct0->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_$struct0); - - field_name = "u"; - auto n_u = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::large_integer, field_name)); - n_u->m_field_name = field_name; - n_u->m_df_type = DF_Type::large_integer__T_u; - n_u->m_rdf_type = RDF_Type::Compound; - n_u->m_node_type = NodeType::Compound; - n_u->m_address = base + offset; - n_u->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_u); - - field_name = "quad_part"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::large_integer, field_name)); - auto n_quad_part = new NodeSimple; - n_quad_part->m_field_name = field_name; - n_quad_part->m_df_type = DF_Type::int64_t; - n_quad_part->m_rdf_type = RDF_Type::int64_t; - n_quad_part->m_node_type = NodeType::Simple; - n_quad_part->m_address = base + offset; - n_quad_part->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_quad_part); - -} -void node_from_renderer(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "screen"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::renderer, field_name)); - auto n_screen = new NodePointer; - n_screen->m_field_name = field_name; - n_screen->m_df_type = get_real_subtype(base+offset, DF_Type::uint8_t); - n_screen->m_rdf_type = RDF_Type::Pointer; - n_screen->m_node_type = NodeType::Pointer; - n_screen->m_addornements = "*"; - n_screen->m_address = base + offset; - n_screen->m_parent = p_node_parent; - n_screen->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_screen); - - field_name = "screentexpos"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::renderer, field_name)); - auto n_screentexpos = new NodePointer; - n_screentexpos->m_field_name = field_name; - n_screentexpos->m_df_type = get_real_subtype(base+offset, DF_Type::Long); - n_screentexpos->m_rdf_type = RDF_Type::Pointer; - n_screentexpos->m_node_type = NodeType::Pointer; - n_screentexpos->m_addornements = "*"; - n_screentexpos->m_address = base + offset; - n_screentexpos->m_parent = p_node_parent; - n_screentexpos->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_screentexpos); - - field_name = "screentexpos_addcolor"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::renderer, field_name)); - auto n_screentexpos_addcolor = new NodePointer; - n_screentexpos_addcolor->m_field_name = field_name; - n_screentexpos_addcolor->m_df_type = get_real_subtype(base+offset, DF_Type::int8_t); - n_screentexpos_addcolor->m_rdf_type = RDF_Type::Pointer; - n_screentexpos_addcolor->m_node_type = NodeType::Pointer; - n_screentexpos_addcolor->m_addornements = "*"; - n_screentexpos_addcolor->m_address = base + offset; - n_screentexpos_addcolor->m_parent = p_node_parent; - n_screentexpos_addcolor->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_screentexpos_addcolor); - - field_name = "screentexpos_grayscale"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::renderer, field_name)); - auto n_screentexpos_grayscale = new NodePointer; - n_screentexpos_grayscale->m_field_name = field_name; - n_screentexpos_grayscale->m_df_type = get_real_subtype(base+offset, DF_Type::uint8_t); - n_screentexpos_grayscale->m_rdf_type = RDF_Type::Pointer; - n_screentexpos_grayscale->m_node_type = NodeType::Pointer; - n_screentexpos_grayscale->m_addornements = "*"; - n_screentexpos_grayscale->m_address = base + offset; - n_screentexpos_grayscale->m_parent = p_node_parent; - n_screentexpos_grayscale->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_screentexpos_grayscale); - - field_name = "screentexpos_cf"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::renderer, field_name)); - auto n_screentexpos_cf = new NodePointer; - n_screentexpos_cf->m_field_name = field_name; - n_screentexpos_cf->m_df_type = get_real_subtype(base+offset, DF_Type::uint8_t); - n_screentexpos_cf->m_rdf_type = RDF_Type::Pointer; - n_screentexpos_cf->m_node_type = NodeType::Pointer; - n_screentexpos_cf->m_addornements = "*"; - n_screentexpos_cf->m_address = base + offset; - n_screentexpos_cf->m_parent = p_node_parent; - n_screentexpos_cf->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_screentexpos_cf); - - field_name = "screentexpos_cbr"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::renderer, field_name)); - auto n_screentexpos_cbr = new NodePointer; - n_screentexpos_cbr->m_field_name = field_name; - n_screentexpos_cbr->m_df_type = get_real_subtype(base+offset, DF_Type::uint8_t); - n_screentexpos_cbr->m_rdf_type = RDF_Type::Pointer; - n_screentexpos_cbr->m_node_type = NodeType::Pointer; - n_screentexpos_cbr->m_addornements = "*"; - n_screentexpos_cbr->m_address = base + offset; - n_screentexpos_cbr->m_parent = p_node_parent; - n_screentexpos_cbr->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_screentexpos_cbr); - - field_name = "screen_old"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::renderer, field_name)); - auto n_screen_old = new NodePointer; - n_screen_old->m_field_name = field_name; - n_screen_old->m_df_type = get_real_subtype(base+offset, DF_Type::uint8_t); - n_screen_old->m_rdf_type = RDF_Type::Pointer; - n_screen_old->m_node_type = NodeType::Pointer; - n_screen_old->m_addornements = "*"; - n_screen_old->m_address = base + offset; - n_screen_old->m_parent = p_node_parent; - n_screen_old->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_screen_old); - - field_name = "screentexpos_old"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::renderer, field_name)); - auto n_screentexpos_old = new NodePointer; - n_screentexpos_old->m_field_name = field_name; - n_screentexpos_old->m_df_type = get_real_subtype(base+offset, DF_Type::Long); - n_screentexpos_old->m_rdf_type = RDF_Type::Pointer; - n_screentexpos_old->m_node_type = NodeType::Pointer; - n_screentexpos_old->m_addornements = "*"; - n_screentexpos_old->m_address = base + offset; - n_screentexpos_old->m_parent = p_node_parent; - n_screentexpos_old->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_screentexpos_old); - - field_name = "screentexpos_addcolor_old"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::renderer, field_name)); - auto n_screentexpos_addcolor_old = new NodePointer; - n_screentexpos_addcolor_old->m_field_name = field_name; - n_screentexpos_addcolor_old->m_df_type = get_real_subtype(base+offset, DF_Type::int8_t); - n_screentexpos_addcolor_old->m_rdf_type = RDF_Type::Pointer; - n_screentexpos_addcolor_old->m_node_type = NodeType::Pointer; - n_screentexpos_addcolor_old->m_addornements = "*"; - n_screentexpos_addcolor_old->m_address = base + offset; - n_screentexpos_addcolor_old->m_parent = p_node_parent; - n_screentexpos_addcolor_old->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_screentexpos_addcolor_old); - - field_name = "screentexpos_grayscale_old"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::renderer, field_name)); - auto n_screentexpos_grayscale_old = new NodePointer; - n_screentexpos_grayscale_old->m_field_name = field_name; - n_screentexpos_grayscale_old->m_df_type = get_real_subtype(base+offset, DF_Type::uint8_t); - n_screentexpos_grayscale_old->m_rdf_type = RDF_Type::Pointer; - n_screentexpos_grayscale_old->m_node_type = NodeType::Pointer; - n_screentexpos_grayscale_old->m_addornements = "*"; - n_screentexpos_grayscale_old->m_address = base + offset; - n_screentexpos_grayscale_old->m_parent = p_node_parent; - n_screentexpos_grayscale_old->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_screentexpos_grayscale_old); - - field_name = "screentexpos_cf_old"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::renderer, field_name)); - auto n_screentexpos_cf_old = new NodePointer; - n_screentexpos_cf_old->m_field_name = field_name; - n_screentexpos_cf_old->m_df_type = get_real_subtype(base+offset, DF_Type::uint8_t); - n_screentexpos_cf_old->m_rdf_type = RDF_Type::Pointer; - n_screentexpos_cf_old->m_node_type = NodeType::Pointer; - n_screentexpos_cf_old->m_addornements = "*"; - n_screentexpos_cf_old->m_address = base + offset; - n_screentexpos_cf_old->m_parent = p_node_parent; - n_screentexpos_cf_old->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_screentexpos_cf_old); - - field_name = "screentexpos_cbr_old"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::renderer, field_name)); - auto n_screentexpos_cbr_old = new NodePointer; - n_screentexpos_cbr_old->m_field_name = field_name; - n_screentexpos_cbr_old->m_df_type = get_real_subtype(base+offset, DF_Type::uint8_t); - n_screentexpos_cbr_old->m_rdf_type = RDF_Type::Pointer; - n_screentexpos_cbr_old->m_node_type = NodeType::Pointer; - n_screentexpos_cbr_old->m_addornements = "*"; - n_screentexpos_cbr_old->m_address = base + offset; - n_screentexpos_cbr_old->m_parent = p_node_parent; - n_screentexpos_cbr_old->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_screentexpos_cbr_old); - -} -void node_from_zoom_commands(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_reputation_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_histfig_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_histfig_relationship_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_identity_unk_94(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::identity_unk_94, field_name)); - auto n_anon_1 = new NodeVector; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::Vector; - n_anon_1->m_node_type = NodeType::Vector; - n_anon_1->m_addornements = "v"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::identity_unk_94, field_name)); - auto n_anon_2 = new NodeVector; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::Vector; - n_anon_2->m_node_type = NodeType::Vector; - n_anon_2->m_addornements = "v"; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - n_anon_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::identity_unk_94, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::identity_unk_94, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::identity_unk_94, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::identity_unk_94, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_comment = "uninitialized"; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - -} -void node_from_mental_picture_property_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_mental_picture_propertyst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk_0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture_propertyst, field_name)); - auto n_unk_0 = new NodeSimple; - n_unk_0->m_field_name = field_name; - n_unk_0->m_df_type = DF_Type::int32_t; - n_unk_0->m_rdf_type = RDF_Type::int32_t; - n_unk_0->m_node_type = NodeType::Simple; - n_unk_0->m_address = base + offset; - n_unk_0->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_0); - -} -void node_from_mental_picture_property_datest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::mental_picture_propertyst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_mental_picture_propertyst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture_property_datest, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture_property_datest, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - -} -void node_from_mental_picture_property_actionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::mental_picture_propertyst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_mental_picture_propertyst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture_property_actionst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture_property_actionst, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture_property_actionst, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture_property_actionst, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - -} -void node_from_mental_picture_property_toolst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::mental_picture_propertyst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_mental_picture_propertyst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture_property_toolst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture_property_toolst, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture_property_toolst, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - -} -void node_from_mental_picture_property_emotionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::mental_picture_propertyst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_mental_picture_propertyst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture_property_emotionst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture_property_emotionst, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - -} -void node_from_mental_picture_property_color_patternst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::mental_picture_propertyst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_mental_picture_propertyst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture_property_color_patternst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture_property_color_patternst, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - -} -void node_from_mental_picture_property_shapest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::mental_picture_propertyst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_mental_picture_propertyst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture_property_shapest, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture_property_shapest, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - -} -void node_from_mental_picture_property_adjectivest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::mental_picture_propertyst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_mental_picture_propertyst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture_property_adjectivest, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture_property_adjectivest, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - -} -void node_from_mental_picture_property_positionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::mental_picture_propertyst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_mental_picture_propertyst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture_property_positionst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture_property_positionst, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture_property_positionst, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - -} -void node_from_mental_picture_property_timest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::mental_picture_propertyst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_mental_picture_propertyst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture_property_timest, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture_property_timest, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture_property_timest, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - -} -void node_from_mental_picture_element_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_mental_picture_elementst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture_elementst, field_name)); - auto n_unk_1 = new NodeSimple; - n_unk_1->m_field_name = field_name; - n_unk_1->m_df_type = DF_Type::int32_t; - n_unk_1->m_rdf_type = RDF_Type::int32_t; - n_unk_1->m_node_type = NodeType::Simple; - n_unk_1->m_address = base + offset; - n_unk_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_1); - -} -void node_from_mental_picture_element_hfst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::mental_picture_elementst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_mental_picture_elementst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture_element_hfst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_mental_picture_element_sitest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::mental_picture_elementst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_mental_picture_elementst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture_element_sitest, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_mental_picture_element_regionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::mental_picture_elementst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_mental_picture_elementst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture_element_regionst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_history_event_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_history_event_reason(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_history_event_context(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_context, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_context, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "histfig_id_talker"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_context, field_name)); - auto n_histfig_id_talker = new NodeSimple; - n_histfig_id_talker->m_field_name = field_name; - n_histfig_id_talker->m_df_type = DF_Type::int32_t; - n_histfig_id_talker->m_rdf_type = RDF_Type::int32_t; - n_histfig_id_talker->m_node_type = NodeType::Simple; - n_histfig_id_talker->m_address = base + offset; - n_histfig_id_talker->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig_id_talker); - - field_name = "histfig_id_listener"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_context, field_name)); - auto n_histfig_id_listener = new NodeSimple; - n_histfig_id_listener->m_field_name = field_name; - n_histfig_id_listener->m_df_type = DF_Type::int32_t; - n_histfig_id_listener->m_rdf_type = RDF_Type::int32_t; - n_histfig_id_listener->m_node_type = NodeType::Simple; - n_histfig_id_listener->m_address = base + offset; - n_histfig_id_listener->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig_id_listener); - -} -void node_from_history_event(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event, field_name)); - auto n_year = new NodeSimple; - n_year->m_field_name = field_name; - n_year->m_df_type = DF_Type::int32_t; - n_year->m_rdf_type = RDF_Type::int32_t; - n_year->m_node_type = NodeType::Simple; - n_year->m_address = base + offset; - n_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_year); - - field_name = "seconds"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event, field_name)); - auto n_seconds = new NodeSimple; - n_seconds->m_field_name = field_name; - n_seconds->m_df_type = DF_Type::int32_t; - n_seconds->m_rdf_type = RDF_Type::int32_t; - n_seconds->m_node_type = NodeType::Simple; - n_seconds->m_address = base + offset; - n_seconds->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_seconds); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event, field_name)); - auto n_flags = new NodeDFFlagArray; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::int32_t; - n_flags->m_size = 32; - n_flags->m_rdf_type = RDF_Type::DFFlagArray; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - -} -void node_from_history_event_war_attacked_sitest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "attacker_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_attacked_sitest, field_name)); - auto n_attacker_civ = new NodeSimple; - n_attacker_civ->m_field_name = field_name; - n_attacker_civ->m_df_type = DF_Type::int32_t; - n_attacker_civ->m_rdf_type = RDF_Type::int32_t; - n_attacker_civ->m_node_type = NodeType::Simple; - n_attacker_civ->m_address = base + offset; - n_attacker_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_attacker_civ); - - field_name = "defender_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_attacked_sitest, field_name)); - auto n_defender_civ = new NodeSimple; - n_defender_civ->m_field_name = field_name; - n_defender_civ->m_df_type = DF_Type::int32_t; - n_defender_civ->m_rdf_type = RDF_Type::int32_t; - n_defender_civ->m_node_type = NodeType::Simple; - n_defender_civ->m_address = base + offset; - n_defender_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_defender_civ); - - field_name = "site_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_attacked_sitest, field_name)); - auto n_site_civ = new NodeSimple; - n_site_civ->m_field_name = field_name; - n_site_civ->m_df_type = DF_Type::int32_t; - n_site_civ->m_rdf_type = RDF_Type::int32_t; - n_site_civ->m_node_type = NodeType::Simple; - n_site_civ->m_address = base + offset; - n_site_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_civ); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_attacked_sitest, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "attacker_general_hf"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_attacked_sitest, field_name)); - auto n_attacker_general_hf = new NodeSimple; - n_attacker_general_hf->m_field_name = field_name; - n_attacker_general_hf->m_df_type = DF_Type::int32_t; - n_attacker_general_hf->m_rdf_type = RDF_Type::int32_t; - n_attacker_general_hf->m_node_type = NodeType::Simple; - n_attacker_general_hf->m_address = base + offset; - n_attacker_general_hf->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_attacker_general_hf); - - field_name = "defender_general_hf"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_attacked_sitest, field_name)); - auto n_defender_general_hf = new NodeSimple; - n_defender_general_hf->m_field_name = field_name; - n_defender_general_hf->m_df_type = DF_Type::int32_t; - n_defender_general_hf->m_rdf_type = RDF_Type::int32_t; - n_defender_general_hf->m_node_type = NodeType::Simple; - n_defender_general_hf->m_address = base + offset; - n_defender_general_hf->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_defender_general_hf); - -} -void node_from_history_event_war_destroyed_sitest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "attacker_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_destroyed_sitest, field_name)); - auto n_attacker_civ = new NodeSimple; - n_attacker_civ->m_field_name = field_name; - n_attacker_civ->m_df_type = DF_Type::int32_t; - n_attacker_civ->m_rdf_type = RDF_Type::int32_t; - n_attacker_civ->m_node_type = NodeType::Simple; - n_attacker_civ->m_address = base + offset; - n_attacker_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_attacker_civ); - - field_name = "defender_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_destroyed_sitest, field_name)); - auto n_defender_civ = new NodeSimple; - n_defender_civ->m_field_name = field_name; - n_defender_civ->m_df_type = DF_Type::int32_t; - n_defender_civ->m_rdf_type = RDF_Type::int32_t; - n_defender_civ->m_node_type = NodeType::Simple; - n_defender_civ->m_address = base + offset; - n_defender_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_defender_civ); - - field_name = "site_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_destroyed_sitest, field_name)); - auto n_site_civ = new NodeSimple; - n_site_civ->m_field_name = field_name; - n_site_civ->m_df_type = DF_Type::int32_t; - n_site_civ->m_rdf_type = RDF_Type::int32_t; - n_site_civ->m_node_type = NodeType::Simple; - n_site_civ->m_address = base + offset; - n_site_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_civ); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_destroyed_sitest, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - -} -void node_from_history_event_created_sitest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_created_sitest, field_name)); - auto n_civ = new NodeSimple; - n_civ->m_field_name = field_name; - n_civ->m_df_type = DF_Type::int32_t; - n_civ->m_rdf_type = RDF_Type::int32_t; - n_civ->m_node_type = NodeType::Simple; - n_civ->m_address = base + offset; - n_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_civ); - - field_name = "site_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_created_sitest, field_name)); - auto n_site_civ = new NodeSimple; - n_site_civ->m_field_name = field_name; - n_site_civ->m_df_type = DF_Type::int32_t; - n_site_civ->m_rdf_type = RDF_Type::int32_t; - n_site_civ->m_node_type = NodeType::Simple; - n_site_civ->m_address = base + offset; - n_site_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_civ); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_created_sitest, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "builder_hf"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_created_sitest, field_name)); - auto n_builder_hf = new NodeSimple; - n_builder_hf->m_field_name = field_name; - n_builder_hf->m_df_type = DF_Type::int32_t; - n_builder_hf->m_rdf_type = RDF_Type::int32_t; - n_builder_hf->m_node_type = NodeType::Simple; - n_builder_hf->m_address = base + offset; - n_builder_hf->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_builder_hf); - -} -void node_from_death_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_history_event_entity_expels_hfst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_entity_expels_hfst, field_name)); - auto n_civ = new NodeSimple; - n_civ->m_field_name = field_name; - n_civ->m_df_type = DF_Type::int32_t; - n_civ->m_rdf_type = RDF_Type::int32_t; - n_civ->m_node_type = NodeType::Simple; - n_civ->m_address = base + offset; - n_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_civ); - - field_name = "expelled"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_entity_expels_hfst, field_name)); - auto n_expelled = new NodeSimple; - n_expelled->m_field_name = field_name; - n_expelled->m_df_type = DF_Type::int32_t; - n_expelled->m_rdf_type = RDF_Type::int32_t; - n_expelled->m_node_type = NodeType::Simple; - n_expelled->m_address = base + offset; - n_expelled->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_expelled); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_entity_expels_hfst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - -} -void node_from_history_event_first_contactst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "contactor"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_first_contactst, field_name)); - auto n_contactor = new NodeSimple; - n_contactor->m_field_name = field_name; - n_contactor->m_df_type = DF_Type::int32_t; - n_contactor->m_rdf_type = RDF_Type::int32_t; - n_contactor->m_node_type = NodeType::Simple; - n_contactor->m_address = base + offset; - n_contactor->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_contactor); - - field_name = "contacted"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_first_contactst, field_name)); - auto n_contacted = new NodeSimple; - n_contacted->m_field_name = field_name; - n_contacted->m_df_type = DF_Type::int32_t; - n_contacted->m_rdf_type = RDF_Type::int32_t; - n_contacted->m_node_type = NodeType::Simple; - n_contacted->m_address = base + offset; - n_contacted->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_contacted); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_first_contactst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - -} -void node_from_history_event_first_contact_failedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "contactor"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_first_contact_failedst, field_name)); - auto n_contactor = new NodeSimple; - n_contactor->m_field_name = field_name; - n_contactor->m_df_type = DF_Type::int32_t; - n_contactor->m_rdf_type = RDF_Type::int32_t; - n_contactor->m_node_type = NodeType::Simple; - n_contactor->m_address = base + offset; - n_contactor->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_contactor); - - field_name = "rejector"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_first_contact_failedst, field_name)); - auto n_rejector = new NodeSimple; - n_rejector->m_field_name = field_name; - n_rejector->m_df_type = DF_Type::int32_t; - n_rejector->m_rdf_type = RDF_Type::int32_t; - n_rejector->m_node_type = NodeType::Simple; - n_rejector->m_address = base + offset; - n_rejector->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rejector); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_first_contact_failedst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - -} -void node_from_history_event_diplomat_lostst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "entity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_diplomat_lostst, field_name)); - auto n_entity = new NodeSimple; - n_entity->m_field_name = field_name; - n_entity->m_df_type = DF_Type::int32_t; - n_entity->m_rdf_type = RDF_Type::int32_t; - n_entity->m_node_type = NodeType::Simple; - n_entity->m_address = base + offset; - n_entity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity); - - field_name = "involved"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_diplomat_lostst, field_name)); - auto n_involved = new NodeSimple; - n_involved->m_field_name = field_name; - n_involved->m_df_type = DF_Type::int32_t; - n_involved->m_rdf_type = RDF_Type::int32_t; - n_involved->m_node_type = NodeType::Simple; - n_involved->m_address = base + offset; - n_involved->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_involved); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_diplomat_lostst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - -} -void node_from_history_event_agreements_voidedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "source"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_agreements_voidedst, field_name)); - auto n_source = new NodeSimple; - n_source->m_field_name = field_name; - n_source->m_df_type = DF_Type::int32_t; - n_source->m_rdf_type = RDF_Type::int32_t; - n_source->m_node_type = NodeType::Simple; - n_source->m_address = base + offset; - n_source->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_source); - - field_name = "destination"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_agreements_voidedst, field_name)); - auto n_destination = new NodeSimple; - n_destination->m_field_name = field_name; - n_destination->m_df_type = DF_Type::int32_t; - n_destination->m_rdf_type = RDF_Type::int32_t; - n_destination->m_node_type = NodeType::Simple; - n_destination->m_address = base + offset; - n_destination->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_destination); - -} -void node_from_history_event_merchantst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "source"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_merchantst, field_name)); - auto n_source = new NodeSimple; - n_source->m_field_name = field_name; - n_source->m_df_type = DF_Type::int32_t; - n_source->m_rdf_type = RDF_Type::int32_t; - n_source->m_node_type = NodeType::Simple; - n_source->m_address = base + offset; - n_source->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_source); - - field_name = "destination"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_merchantst, field_name)); - auto n_destination = new NodeSimple; - n_destination->m_field_name = field_name; - n_destination->m_df_type = DF_Type::int32_t; - n_destination->m_rdf_type = RDF_Type::int32_t; - n_destination->m_node_type = NodeType::Simple; - n_destination->m_address = base + offset; - n_destination->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_destination); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_merchantst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "flags2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_merchantst, field_name)); - auto n_flags2 = new NodeDFFlagArray; - n_flags2->m_field_name = field_name; - n_flags2->m_df_type = DF_Type::int32_t; - n_flags2->m_size = 32; - n_flags2->m_rdf_type = RDF_Type::DFFlagArray; - n_flags2->m_node_type = NodeType::Bitfield; - n_flags2->m_address = base + offset; - n_flags2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags2); - -} -void node_from_history_event_artifact_hiddenst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "artifact"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_hiddenst, field_name)); - auto n_artifact = new NodeSimple; - n_artifact->m_field_name = field_name; - n_artifact->m_df_type = DF_Type::int32_t; - n_artifact->m_rdf_type = RDF_Type::int32_t; - n_artifact->m_node_type = NodeType::Simple; - n_artifact->m_address = base + offset; - n_artifact->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_artifact); - - field_name = "unit"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_hiddenst, field_name)); - auto n_unit = new NodeSimple; - n_unit->m_field_name = field_name; - n_unit->m_df_type = DF_Type::int32_t; - n_unit->m_rdf_type = RDF_Type::int32_t; - n_unit->m_node_type = NodeType::Simple; - n_unit->m_address = base + offset; - n_unit->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unit); - - field_name = "histfig"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_hiddenst, field_name)); - auto n_histfig = new NodeSimple; - n_histfig->m_field_name = field_name; - n_histfig->m_df_type = DF_Type::int32_t; - n_histfig->m_rdf_type = RDF_Type::int32_t; - n_histfig->m_node_type = NodeType::Simple; - n_histfig->m_address = base + offset; - n_histfig->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_hiddenst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - -} -void node_from_history_event_artifact_createdst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "artifact_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_createdst, field_name)); - auto n_artifact_id = new NodeSimple; - n_artifact_id->m_field_name = field_name; - n_artifact_id->m_df_type = DF_Type::int32_t; - n_artifact_id->m_rdf_type = RDF_Type::int32_t; - n_artifact_id->m_node_type = NodeType::Simple; - n_artifact_id->m_address = base + offset; - n_artifact_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_artifact_id); - - field_name = "unit_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_createdst, field_name)); - auto n_unit_id = new NodeSimple; - n_unit_id->m_field_name = field_name; - n_unit_id->m_df_type = DF_Type::int32_t; - n_unit_id->m_rdf_type = RDF_Type::int32_t; - n_unit_id->m_node_type = NodeType::Simple; - n_unit_id->m_address = base + offset; - n_unit_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unit_id); - - field_name = "hfid"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_createdst, field_name)); - auto n_hfid = new NodeSimple; - n_hfid->m_field_name = field_name; - n_hfid->m_df_type = DF_Type::int32_t; - n_hfid->m_rdf_type = RDF_Type::int32_t; - n_hfid->m_node_type = NodeType::Simple; - n_hfid->m_address = base + offset; - n_hfid->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_hfid); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_createdst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "flags2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_createdst, field_name)); - auto n_flags2 = new NodeSimple; - n_flags2->m_field_name = field_name; - n_flags2->m_df_type = DF_Type::uint32_t; - n_flags2->m_rdf_type = RDF_Type::uint32_t; - n_flags2->m_node_type = NodeType::Simple; - n_flags2->m_address = base + offset; - n_flags2->m_comment = "1 = name_only"; - n_flags2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags2); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_createdst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_createdst, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_createdst, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_createdst, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - -} -void node_from_history_event_artifact_lostst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "artifact"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_lostst, field_name)); - auto n_artifact = new NodeSimple; - n_artifact->m_field_name = field_name; - n_artifact->m_df_type = DF_Type::int32_t; - n_artifact->m_rdf_type = RDF_Type::int32_t; - n_artifact->m_node_type = NodeType::Simple; - n_artifact->m_address = base + offset; - n_artifact->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_artifact); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_lostst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_lostst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_lostst, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - -} -void node_from_history_event_artifact_foundst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "artifact"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_foundst, field_name)); - auto n_artifact = new NodeSimple; - n_artifact->m_field_name = field_name; - n_artifact->m_df_type = DF_Type::int32_t; - n_artifact->m_rdf_type = RDF_Type::int32_t; - n_artifact->m_node_type = NodeType::Simple; - n_artifact->m_address = base + offset; - n_artifact->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_artifact); - - field_name = "unit"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_foundst, field_name)); - auto n_unit = new NodeSimple; - n_unit->m_field_name = field_name; - n_unit->m_df_type = DF_Type::int32_t; - n_unit->m_rdf_type = RDF_Type::int32_t; - n_unit->m_node_type = NodeType::Simple; - n_unit->m_address = base + offset; - n_unit->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unit); - - field_name = "histfig"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_foundst, field_name)); - auto n_histfig = new NodeSimple; - n_histfig->m_field_name = field_name; - n_histfig->m_df_type = DF_Type::int32_t; - n_histfig->m_rdf_type = RDF_Type::int32_t; - n_histfig->m_node_type = NodeType::Simple; - n_histfig->m_address = base + offset; - n_histfig->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_foundst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - -} -void node_from_history_event_artifact_recoveredst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "artifact"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_recoveredst, field_name)); - auto n_artifact = new NodeSimple; - n_artifact->m_field_name = field_name; - n_artifact->m_df_type = DF_Type::int32_t; - n_artifact->m_rdf_type = RDF_Type::int32_t; - n_artifact->m_node_type = NodeType::Simple; - n_artifact->m_address = base + offset; - n_artifact->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_artifact); - - field_name = "unit"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_recoveredst, field_name)); - auto n_unit = new NodeSimple; - n_unit->m_field_name = field_name; - n_unit->m_df_type = DF_Type::int32_t; - n_unit->m_rdf_type = RDF_Type::int32_t; - n_unit->m_node_type = NodeType::Simple; - n_unit->m_address = base + offset; - n_unit->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unit); - - field_name = "histfig"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_recoveredst, field_name)); - auto n_histfig = new NodeSimple; - n_histfig->m_field_name = field_name; - n_histfig->m_df_type = DF_Type::int32_t; - n_histfig->m_rdf_type = RDF_Type::int32_t; - n_histfig->m_node_type = NodeType::Simple; - n_histfig->m_address = base + offset; - n_histfig->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_recoveredst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "structure"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_recoveredst, field_name)); - auto n_structure = new NodeSimple; - n_structure->m_field_name = field_name; - n_structure->m_df_type = DF_Type::int32_t; - n_structure->m_rdf_type = RDF_Type::int32_t; - n_structure->m_node_type = NodeType::Simple; - n_structure->m_address = base + offset; - n_structure->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_structure); - - field_name = "region"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_recoveredst, field_name)); - auto n_region = new NodeSimple; - n_region->m_field_name = field_name; - n_region->m_df_type = DF_Type::int32_t; - n_region->m_rdf_type = RDF_Type::int32_t; - n_region->m_node_type = NodeType::Simple; - n_region->m_address = base + offset; - n_region->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region); - - field_name = "layer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_recoveredst, field_name)); - auto n_layer = new NodeSimple; - n_layer->m_field_name = field_name; - n_layer->m_df_type = DF_Type::int32_t; - n_layer->m_rdf_type = RDF_Type::int32_t; - n_layer->m_node_type = NodeType::Simple; - n_layer->m_address = base + offset; - n_layer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_layer); - -} -void node_from_history_event_artifact_droppedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "artifact"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_droppedst, field_name)); - auto n_artifact = new NodeSimple; - n_artifact->m_field_name = field_name; - n_artifact->m_df_type = DF_Type::int32_t; - n_artifact->m_rdf_type = RDF_Type::int32_t; - n_artifact->m_node_type = NodeType::Simple; - n_artifact->m_address = base + offset; - n_artifact->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_artifact); - - field_name = "unit"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_droppedst, field_name)); - auto n_unit = new NodeSimple; - n_unit->m_field_name = field_name; - n_unit->m_df_type = DF_Type::int32_t; - n_unit->m_rdf_type = RDF_Type::int32_t; - n_unit->m_node_type = NodeType::Simple; - n_unit->m_address = base + offset; - n_unit->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unit); - - field_name = "histfig"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_droppedst, field_name)); - auto n_histfig = new NodeSimple; - n_histfig->m_field_name = field_name; - n_histfig->m_df_type = DF_Type::int32_t; - n_histfig->m_rdf_type = RDF_Type::int32_t; - n_histfig->m_node_type = NodeType::Simple; - n_histfig->m_address = base + offset; - n_histfig->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_droppedst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "flags2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_droppedst, field_name)); - auto n_flags2 = new NodeDFFlagArray; - n_flags2->m_field_name = field_name; - n_flags2->m_df_type = DF_Type::int32_t; - n_flags2->m_size = 32; - n_flags2->m_rdf_type = RDF_Type::DFFlagArray; - n_flags2->m_node_type = NodeType::Bitfield; - n_flags2->m_address = base + offset; - n_flags2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags2); - -} -void node_from_history_event_reclaim_sitest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_reclaim_sitest, field_name)); - auto n_civ = new NodeSimple; - n_civ->m_field_name = field_name; - n_civ->m_df_type = DF_Type::int32_t; - n_civ->m_rdf_type = RDF_Type::int32_t; - n_civ->m_node_type = NodeType::Simple; - n_civ->m_address = base + offset; - n_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_civ); - - field_name = "site_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_reclaim_sitest, field_name)); - auto n_site_civ = new NodeSimple; - n_site_civ->m_field_name = field_name; - n_site_civ->m_df_type = DF_Type::int32_t; - n_site_civ->m_rdf_type = RDF_Type::int32_t; - n_site_civ->m_node_type = NodeType::Simple; - n_site_civ->m_address = base + offset; - n_site_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_civ); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_reclaim_sitest, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "flags2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_reclaim_sitest, field_name)); - auto n_flags2 = new NodeSimple; - n_flags2->m_field_name = field_name; - n_flags2->m_df_type = DF_Type::int32_t; - n_flags2->m_rdf_type = RDF_Type::int32_t; - n_flags2->m_node_type = NodeType::Simple; - n_flags2->m_address = base + offset; - n_flags2->m_comment = "1 = unretire"; - n_flags2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags2); - -} -void node_from_history_event_hf_destroyed_sitest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "attacker_hf"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_destroyed_sitest, field_name)); - auto n_attacker_hf = new NodeSimple; - n_attacker_hf->m_field_name = field_name; - n_attacker_hf->m_df_type = DF_Type::int32_t; - n_attacker_hf->m_rdf_type = RDF_Type::int32_t; - n_attacker_hf->m_node_type = NodeType::Simple; - n_attacker_hf->m_address = base + offset; - n_attacker_hf->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_attacker_hf); - - field_name = "defender_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_destroyed_sitest, field_name)); - auto n_defender_civ = new NodeSimple; - n_defender_civ->m_field_name = field_name; - n_defender_civ->m_df_type = DF_Type::int32_t; - n_defender_civ->m_rdf_type = RDF_Type::int32_t; - n_defender_civ->m_node_type = NodeType::Simple; - n_defender_civ->m_address = base + offset; - n_defender_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_defender_civ); - - field_name = "site_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_destroyed_sitest, field_name)); - auto n_site_civ = new NodeSimple; - n_site_civ->m_field_name = field_name; - n_site_civ->m_df_type = DF_Type::int32_t; - n_site_civ->m_rdf_type = RDF_Type::int32_t; - n_site_civ->m_node_type = NodeType::Simple; - n_site_civ->m_address = base + offset; - n_site_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_civ); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_destroyed_sitest, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - -} -void node_from_history_event_site_diedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_site_diedst, field_name)); - auto n_civ = new NodeSimple; - n_civ->m_field_name = field_name; - n_civ->m_df_type = DF_Type::int32_t; - n_civ->m_rdf_type = RDF_Type::int32_t; - n_civ->m_node_type = NodeType::Simple; - n_civ->m_address = base + offset; - n_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_civ); - - field_name = "site_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_site_diedst, field_name)); - auto n_site_civ = new NodeSimple; - n_site_civ->m_field_name = field_name; - n_site_civ->m_df_type = DF_Type::int32_t; - n_site_civ->m_rdf_type = RDF_Type::int32_t; - n_site_civ->m_node_type = NodeType::Simple; - n_site_civ->m_address = base + offset; - n_site_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_civ); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_site_diedst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "flags2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_site_diedst, field_name)); - auto n_flags2 = new NodeSimple; - n_flags2->m_field_name = field_name; - n_flags2->m_df_type = DF_Type::int32_t; - n_flags2->m_rdf_type = RDF_Type::int32_t; - n_flags2->m_node_type = NodeType::Simple; - n_flags2->m_address = base + offset; - n_flags2->m_comment = "1: abandoned"; - n_flags2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags2); - -} -void node_from_history_event_site_retiredst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_site_retiredst, field_name)); - auto n_civ = new NodeSimple; - n_civ->m_field_name = field_name; - n_civ->m_df_type = DF_Type::int32_t; - n_civ->m_rdf_type = RDF_Type::int32_t; - n_civ->m_node_type = NodeType::Simple; - n_civ->m_address = base + offset; - n_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_civ); - - field_name = "site_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_site_retiredst, field_name)); - auto n_site_civ = new NodeSimple; - n_site_civ->m_field_name = field_name; - n_site_civ->m_df_type = DF_Type::int32_t; - n_site_civ->m_rdf_type = RDF_Type::int32_t; - n_site_civ->m_node_type = NodeType::Simple; - n_site_civ->m_address = base + offset; - n_site_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_civ); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_site_retiredst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "flags2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_site_retiredst, field_name)); - auto n_flags2 = new NodeSimple; - n_flags2->m_field_name = field_name; - n_flags2->m_df_type = DF_Type::int32_t; - n_flags2->m_rdf_type = RDF_Type::int32_t; - n_flags2->m_node_type = NodeType::Simple; - n_flags2->m_address = base + offset; - n_flags2->m_comment = "1: first time"; - n_flags2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags2); - -} -void node_from_history_event_entity_createdst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "entity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_entity_createdst, field_name)); - auto n_entity = new NodeSimple; - n_entity->m_field_name = field_name; - n_entity->m_df_type = DF_Type::int32_t; - n_entity->m_rdf_type = RDF_Type::int32_t; - n_entity->m_node_type = NodeType::Simple; - n_entity->m_address = base + offset; - n_entity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_entity_createdst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "structure"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_entity_createdst, field_name)); - auto n_structure = new NodeSimple; - n_structure->m_field_name = field_name; - n_structure->m_df_type = DF_Type::int32_t; - n_structure->m_rdf_type = RDF_Type::int32_t; - n_structure->m_node_type = NodeType::Simple; - n_structure->m_address = base + offset; - n_structure->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_structure); - -} -void node_from_entity_action_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_history_event_entity_incorporatedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "migrant_entity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_entity_incorporatedst, field_name)); - auto n_migrant_entity = new NodeSimple; - n_migrant_entity->m_field_name = field_name; - n_migrant_entity->m_df_type = DF_Type::int32_t; - n_migrant_entity->m_rdf_type = RDF_Type::int32_t; - n_migrant_entity->m_node_type = NodeType::Simple; - n_migrant_entity->m_address = base + offset; - n_migrant_entity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_migrant_entity); - - field_name = "join_entity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_entity_incorporatedst, field_name)); - auto n_join_entity = new NodeSimple; - n_join_entity->m_field_name = field_name; - n_join_entity->m_df_type = DF_Type::int32_t; - n_join_entity->m_rdf_type = RDF_Type::int32_t; - n_join_entity->m_node_type = NodeType::Simple; - n_join_entity->m_address = base + offset; - n_join_entity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_join_entity); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_entity_incorporatedst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - -} -void node_from_history_event_created_buildingst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_created_buildingst, field_name)); - auto n_civ = new NodeSimple; - n_civ->m_field_name = field_name; - n_civ->m_df_type = DF_Type::int32_t; - n_civ->m_rdf_type = RDF_Type::int32_t; - n_civ->m_node_type = NodeType::Simple; - n_civ->m_address = base + offset; - n_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_civ); - - field_name = "site_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_created_buildingst, field_name)); - auto n_site_civ = new NodeSimple; - n_site_civ->m_field_name = field_name; - n_site_civ->m_df_type = DF_Type::int32_t; - n_site_civ->m_rdf_type = RDF_Type::int32_t; - n_site_civ->m_node_type = NodeType::Simple; - n_site_civ->m_address = base + offset; - n_site_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_civ); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_created_buildingst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "structure"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_created_buildingst, field_name)); - auto n_structure = new NodeSimple; - n_structure->m_field_name = field_name; - n_structure->m_df_type = DF_Type::int32_t; - n_structure->m_rdf_type = RDF_Type::int32_t; - n_structure->m_node_type = NodeType::Simple; - n_structure->m_address = base + offset; - n_structure->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_structure); - - field_name = "builder_hf"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_created_buildingst, field_name)); - auto n_builder_hf = new NodeSimple; - n_builder_hf->m_field_name = field_name; - n_builder_hf->m_df_type = DF_Type::int32_t; - n_builder_hf->m_rdf_type = RDF_Type::int32_t; - n_builder_hf->m_node_type = NodeType::Simple; - n_builder_hf->m_address = base + offset; - n_builder_hf->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_builder_hf); - -} -void node_from_history_event_replaced_buildingst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_replaced_buildingst, field_name)); - auto n_civ = new NodeSimple; - n_civ->m_field_name = field_name; - n_civ->m_df_type = DF_Type::int32_t; - n_civ->m_rdf_type = RDF_Type::int32_t; - n_civ->m_node_type = NodeType::Simple; - n_civ->m_address = base + offset; - n_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_civ); - - field_name = "site_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_replaced_buildingst, field_name)); - auto n_site_civ = new NodeSimple; - n_site_civ->m_field_name = field_name; - n_site_civ->m_df_type = DF_Type::int32_t; - n_site_civ->m_rdf_type = RDF_Type::int32_t; - n_site_civ->m_node_type = NodeType::Simple; - n_site_civ->m_address = base + offset; - n_site_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_civ); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_replaced_buildingst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "old_structure"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_replaced_buildingst, field_name)); - auto n_old_structure = new NodeSimple; - n_old_structure->m_field_name = field_name; - n_old_structure->m_df_type = DF_Type::int32_t; - n_old_structure->m_rdf_type = RDF_Type::int32_t; - n_old_structure->m_node_type = NodeType::Simple; - n_old_structure->m_address = base + offset; - n_old_structure->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_old_structure); - - field_name = "new_structure"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_replaced_buildingst, field_name)); - auto n_new_structure = new NodeSimple; - n_new_structure->m_field_name = field_name; - n_new_structure->m_df_type = DF_Type::int32_t; - n_new_structure->m_rdf_type = RDF_Type::int32_t; - n_new_structure->m_node_type = NodeType::Simple; - n_new_structure->m_address = base + offset; - n_new_structure->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_new_structure); - -} -void node_from_history_event_entity_razed_buildingst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_entity_razed_buildingst, field_name)); - auto n_civ = new NodeSimple; - n_civ->m_field_name = field_name; - n_civ->m_df_type = DF_Type::int32_t; - n_civ->m_rdf_type = RDF_Type::int32_t; - n_civ->m_node_type = NodeType::Simple; - n_civ->m_address = base + offset; - n_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_civ); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_entity_razed_buildingst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "structure"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_entity_razed_buildingst, field_name)); - auto n_structure = new NodeSimple; - n_structure->m_field_name = field_name; - n_structure->m_df_type = DF_Type::int32_t; - n_structure->m_rdf_type = RDF_Type::int32_t; - n_structure->m_node_type = NodeType::Simple; - n_structure->m_address = base + offset; - n_structure->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_structure); - -} -void node_from_history_event_masterpiece_createdst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "maker"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_createdst, field_name)); - auto n_maker = new NodeSimple; - n_maker->m_field_name = field_name; - n_maker->m_df_type = DF_Type::int32_t; - n_maker->m_rdf_type = RDF_Type::int32_t; - n_maker->m_node_type = NodeType::Simple; - n_maker->m_address = base + offset; - n_maker->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_maker); - - field_name = "maker_entity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_createdst, field_name)); - auto n_maker_entity = new NodeSimple; - n_maker_entity->m_field_name = field_name; - n_maker_entity->m_df_type = DF_Type::int32_t; - n_maker_entity->m_rdf_type = RDF_Type::int32_t; - n_maker_entity->m_node_type = NodeType::Simple; - n_maker_entity->m_address = base + offset; - n_maker_entity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_maker_entity); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_createdst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - -} -void node_from_history_event_masterpiece_created_arch_designst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event_masterpiece_createdst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event_masterpiece_createdst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_arch_designst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "building_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_arch_designst, field_name)); - auto n_building_type = new NodeSimple; - n_building_type->m_field_name = field_name; - n_building_type->m_df_type = DF_Type::int16_t; - n_building_type->m_rdf_type = RDF_Type::int16_t; - n_building_type->m_node_type = NodeType::Simple; - n_building_type->m_address = base + offset; - n_building_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_building_type); - - field_name = "building_subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_arch_designst, field_name)); - auto n_building_subtype = new NodeSimple; - n_building_subtype->m_field_name = field_name; - n_building_subtype->m_df_type = DF_Type::int16_t; - n_building_subtype->m_rdf_type = RDF_Type::int16_t; - n_building_subtype->m_node_type = NodeType::Simple; - n_building_subtype->m_address = base + offset; - n_building_subtype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_building_subtype); - - field_name = "building_custom"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_arch_designst, field_name)); - auto n_building_custom = new NodeSimple; - n_building_custom->m_field_name = field_name; - n_building_custom->m_df_type = DF_Type::int32_t; - n_building_custom->m_rdf_type = RDF_Type::int32_t; - n_building_custom->m_node_type = NodeType::Simple; - n_building_custom->m_address = base + offset; - n_building_custom->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_building_custom); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_arch_designst, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - -} -void node_from_history_event_masterpiece_created_arch_constructst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event_masterpiece_createdst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event_masterpiece_createdst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_arch_constructst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "building_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_arch_constructst, field_name)); - auto n_building_type = new NodeSimple; - n_building_type->m_field_name = field_name; - n_building_type->m_df_type = DF_Type::int16_t; - n_building_type->m_rdf_type = RDF_Type::int16_t; - n_building_type->m_node_type = NodeType::Simple; - n_building_type->m_address = base + offset; - n_building_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_building_type); - - field_name = "building_subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_arch_constructst, field_name)); - auto n_building_subtype = new NodeSimple; - n_building_subtype->m_field_name = field_name; - n_building_subtype->m_df_type = DF_Type::int16_t; - n_building_subtype->m_rdf_type = RDF_Type::int16_t; - n_building_subtype->m_node_type = NodeType::Simple; - n_building_subtype->m_address = base + offset; - n_building_subtype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_building_subtype); - - field_name = "building_custom"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_arch_constructst, field_name)); - auto n_building_custom = new NodeSimple; - n_building_custom->m_field_name = field_name; - n_building_custom->m_df_type = DF_Type::int32_t; - n_building_custom->m_rdf_type = RDF_Type::int32_t; - n_building_custom->m_node_type = NodeType::Simple; - n_building_custom->m_address = base + offset; - n_building_custom->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_building_custom); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_arch_constructst, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - -} -void node_from_history_event_masterpiece_created_foodst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event_masterpiece_createdst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event_masterpiece_createdst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "item_subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_foodst, field_name)); - auto n_item_subtype = new NodeSimple; - n_item_subtype->m_field_name = field_name; - n_item_subtype->m_df_type = DF_Type::int16_t; - n_item_subtype->m_rdf_type = RDF_Type::int16_t; - n_item_subtype->m_node_type = NodeType::Simple; - n_item_subtype->m_address = base + offset; - n_item_subtype->m_refers_to = "$global.world.raws.itemdefs.food[$]"; - n_item_subtype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_subtype); - - field_name = "item_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_foodst, field_name)); - auto n_item_id = new NodeSimple; - n_item_id->m_field_name = field_name; - n_item_id->m_df_type = DF_Type::int32_t; - n_item_id->m_rdf_type = RDF_Type::int32_t; - n_item_id->m_node_type = NodeType::Simple; - n_item_id->m_address = base + offset; - n_item_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_id); - -} -void node_from_masterpiece_loss_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_history_event_war_plundered_sitest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "attacker_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_plundered_sitest, field_name)); - auto n_attacker_civ = new NodeSimple; - n_attacker_civ->m_field_name = field_name; - n_attacker_civ->m_df_type = DF_Type::int32_t; - n_attacker_civ->m_rdf_type = RDF_Type::int32_t; - n_attacker_civ->m_node_type = NodeType::Simple; - n_attacker_civ->m_address = base + offset; - n_attacker_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_attacker_civ); - - field_name = "defender_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_plundered_sitest, field_name)); - auto n_defender_civ = new NodeSimple; - n_defender_civ->m_field_name = field_name; - n_defender_civ->m_df_type = DF_Type::int32_t; - n_defender_civ->m_rdf_type = RDF_Type::int32_t; - n_defender_civ->m_node_type = NodeType::Simple; - n_defender_civ->m_address = base + offset; - n_defender_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_defender_civ); - - field_name = "site_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_plundered_sitest, field_name)); - auto n_site_civ = new NodeSimple; - n_site_civ->m_field_name = field_name; - n_site_civ->m_df_type = DF_Type::int32_t; - n_site_civ->m_rdf_type = RDF_Type::int32_t; - n_site_civ->m_node_type = NodeType::Simple; - n_site_civ->m_address = base + offset; - n_site_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_civ); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_plundered_sitest, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - -} -void node_from_history_event_war_site_new_leaderst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "attacker_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_site_new_leaderst, field_name)); - auto n_attacker_civ = new NodeSimple; - n_attacker_civ->m_field_name = field_name; - n_attacker_civ->m_df_type = DF_Type::int32_t; - n_attacker_civ->m_rdf_type = RDF_Type::int32_t; - n_attacker_civ->m_node_type = NodeType::Simple; - n_attacker_civ->m_address = base + offset; - n_attacker_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_attacker_civ); - - field_name = "new_site_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_site_new_leaderst, field_name)); - auto n_new_site_civ = new NodeSimple; - n_new_site_civ->m_field_name = field_name; - n_new_site_civ->m_df_type = DF_Type::int32_t; - n_new_site_civ->m_rdf_type = RDF_Type::int32_t; - n_new_site_civ->m_node_type = NodeType::Simple; - n_new_site_civ->m_address = base + offset; - n_new_site_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_new_site_civ); - - field_name = "defender_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_site_new_leaderst, field_name)); - auto n_defender_civ = new NodeSimple; - n_defender_civ->m_field_name = field_name; - n_defender_civ->m_df_type = DF_Type::int32_t; - n_defender_civ->m_rdf_type = RDF_Type::int32_t; - n_defender_civ->m_node_type = NodeType::Simple; - n_defender_civ->m_address = base + offset; - n_defender_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_defender_civ); - - field_name = "site_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_site_new_leaderst, field_name)); - auto n_site_civ = new NodeSimple; - n_site_civ->m_field_name = field_name; - n_site_civ->m_df_type = DF_Type::int32_t; - n_site_civ->m_rdf_type = RDF_Type::int32_t; - n_site_civ->m_node_type = NodeType::Simple; - n_site_civ->m_address = base + offset; - n_site_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_civ); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_site_new_leaderst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "new_leaders"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_site_new_leaderst, field_name)); - auto n_new_leaders = new NodeVector; - n_new_leaders->m_field_name = field_name; - n_new_leaders->m_df_type = DF_Type::int32_t; - n_new_leaders->m_rdf_type = RDF_Type::Vector; - n_new_leaders->m_node_type = NodeType::Vector; - n_new_leaders->m_addornements = "v"; - n_new_leaders->m_address = base + offset; - n_new_leaders->m_parent = p_node_parent; - n_new_leaders->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_new_leaders); - -} -void node_from_history_event_war_site_tribute_forcedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "attacker_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_site_tribute_forcedst, field_name)); - auto n_attacker_civ = new NodeSimple; - n_attacker_civ->m_field_name = field_name; - n_attacker_civ->m_df_type = DF_Type::int32_t; - n_attacker_civ->m_rdf_type = RDF_Type::int32_t; - n_attacker_civ->m_node_type = NodeType::Simple; - n_attacker_civ->m_address = base + offset; - n_attacker_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_attacker_civ); - - field_name = "defender_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_site_tribute_forcedst, field_name)); - auto n_defender_civ = new NodeSimple; - n_defender_civ->m_field_name = field_name; - n_defender_civ->m_df_type = DF_Type::int32_t; - n_defender_civ->m_rdf_type = RDF_Type::int32_t; - n_defender_civ->m_node_type = NodeType::Simple; - n_defender_civ->m_address = base + offset; - n_defender_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_defender_civ); - - field_name = "site_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_site_tribute_forcedst, field_name)); - auto n_site_civ = new NodeSimple; - n_site_civ->m_field_name = field_name; - n_site_civ->m_df_type = DF_Type::int32_t; - n_site_civ->m_rdf_type = RDF_Type::int32_t; - n_site_civ->m_node_type = NodeType::Simple; - n_site_civ->m_address = base + offset; - n_site_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_civ); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_site_tribute_forcedst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "season"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_site_tribute_forcedst, field_name)); - auto n_season = new NodeSimple; - n_season->m_field_name = field_name; - n_season->m_df_type = DF_Type::int32_t; - n_season->m_rdf_type = RDF_Type::int32_t; - n_season->m_node_type = NodeType::Simple; - n_season->m_address = base + offset; - n_season->m_comment = "0 = spring, 1 = summer, 2 = autumn, 3 = winter"; - n_season->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_season); - - field_name = "tribute_flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_site_tribute_forcedst, field_name)); - auto n_tribute_flags = new NodeBitfield; - n_tribute_flags->m_field_name = field_name; - n_tribute_flags->m_df_type = DF_Type::history_event_war_site_tribute_forcedst__T_tribute_flags; - n_tribute_flags->m_rdf_type = RDF_Type::Bitfield; - n_tribute_flags->m_node_type = NodeType::Bitfield; - n_tribute_flags->m_address = base + offset; - n_tribute_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tribute_flags); - -} -void node_from_history_event_war_site_taken_overst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "attacker_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_site_taken_overst, field_name)); - auto n_attacker_civ = new NodeSimple; - n_attacker_civ->m_field_name = field_name; - n_attacker_civ->m_df_type = DF_Type::int32_t; - n_attacker_civ->m_rdf_type = RDF_Type::int32_t; - n_attacker_civ->m_node_type = NodeType::Simple; - n_attacker_civ->m_address = base + offset; - n_attacker_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_attacker_civ); - - field_name = "new_site_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_site_taken_overst, field_name)); - auto n_new_site_civ = new NodeSimple; - n_new_site_civ->m_field_name = field_name; - n_new_site_civ->m_df_type = DF_Type::int32_t; - n_new_site_civ->m_rdf_type = RDF_Type::int32_t; - n_new_site_civ->m_node_type = NodeType::Simple; - n_new_site_civ->m_address = base + offset; - n_new_site_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_new_site_civ); - - field_name = "defender_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_site_taken_overst, field_name)); - auto n_defender_civ = new NodeSimple; - n_defender_civ->m_field_name = field_name; - n_defender_civ->m_df_type = DF_Type::int32_t; - n_defender_civ->m_rdf_type = RDF_Type::int32_t; - n_defender_civ->m_node_type = NodeType::Simple; - n_defender_civ->m_address = base + offset; - n_defender_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_defender_civ); - - field_name = "site_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_site_taken_overst, field_name)); - auto n_site_civ = new NodeSimple; - n_site_civ->m_field_name = field_name; - n_site_civ->m_df_type = DF_Type::int32_t; - n_site_civ->m_rdf_type = RDF_Type::int32_t; - n_site_civ->m_node_type = NodeType::Simple; - n_site_civ->m_address = base + offset; - n_site_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_civ); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_site_taken_overst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - -} -void node_from_history_event_site_surrenderedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "attacker_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_site_surrenderedst, field_name)); - auto n_attacker_civ = new NodeSimple; - n_attacker_civ->m_field_name = field_name; - n_attacker_civ->m_df_type = DF_Type::int32_t; - n_attacker_civ->m_rdf_type = RDF_Type::int32_t; - n_attacker_civ->m_node_type = NodeType::Simple; - n_attacker_civ->m_address = base + offset; - n_attacker_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_attacker_civ); - - field_name = "defender_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_site_surrenderedst, field_name)); - auto n_defender_civ = new NodeSimple; - n_defender_civ->m_field_name = field_name; - n_defender_civ->m_df_type = DF_Type::int32_t; - n_defender_civ->m_rdf_type = RDF_Type::int32_t; - n_defender_civ->m_node_type = NodeType::Simple; - n_defender_civ->m_address = base + offset; - n_defender_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_defender_civ); - - field_name = "site_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_site_surrenderedst, field_name)); - auto n_site_civ = new NodeSimple; - n_site_civ->m_field_name = field_name; - n_site_civ->m_df_type = DF_Type::int32_t; - n_site_civ->m_rdf_type = RDF_Type::int32_t; - n_site_civ->m_node_type = NodeType::Simple; - n_site_civ->m_address = base + offset; - n_site_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_civ); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_site_surrenderedst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - -} -void node_from_history_event_hist_figure_abductedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "target"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_abductedst, field_name)); - auto n_target = new NodeSimple; - n_target->m_field_name = field_name; - n_target->m_df_type = DF_Type::int32_t; - n_target->m_rdf_type = RDF_Type::int32_t; - n_target->m_node_type = NodeType::Simple; - n_target->m_address = base + offset; - n_target->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_target); - - field_name = "snatcher"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_abductedst, field_name)); - auto n_snatcher = new NodeSimple; - n_snatcher->m_field_name = field_name; - n_snatcher->m_df_type = DF_Type::int32_t; - n_snatcher->m_rdf_type = RDF_Type::int32_t; - n_snatcher->m_node_type = NodeType::Simple; - n_snatcher->m_address = base + offset; - n_snatcher->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_snatcher); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_abductedst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "region"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_abductedst, field_name)); - auto n_region = new NodeSimple; - n_region->m_field_name = field_name; - n_region->m_df_type = DF_Type::int32_t; - n_region->m_rdf_type = RDF_Type::int32_t; - n_region->m_node_type = NodeType::Simple; - n_region->m_address = base + offset; - n_region->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region); - - field_name = "layer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_abductedst, field_name)); - auto n_layer = new NodeSimple; - n_layer->m_field_name = field_name; - n_layer->m_df_type = DF_Type::int32_t; - n_layer->m_rdf_type = RDF_Type::int32_t; - n_layer->m_node_type = NodeType::Simple; - n_layer->m_address = base + offset; - n_layer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_layer); - -} -void node_from_history_event_hf_razed_buildingst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "histfig"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_razed_buildingst, field_name)); - auto n_histfig = new NodeSimple; - n_histfig->m_field_name = field_name; - n_histfig->m_df_type = DF_Type::int32_t; - n_histfig->m_rdf_type = RDF_Type::int32_t; - n_histfig->m_node_type = NodeType::Simple; - n_histfig->m_address = base + offset; - n_histfig->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_razed_buildingst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "structure"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_razed_buildingst, field_name)); - auto n_structure = new NodeSimple; - n_structure->m_field_name = field_name; - n_structure->m_df_type = DF_Type::int32_t; - n_structure->m_rdf_type = RDF_Type::int32_t; - n_structure->m_node_type = NodeType::Simple; - n_structure->m_address = base + offset; - n_structure->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_structure); - -} -void node_from_history_event_creature_devouredst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "victim"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_creature_devouredst, field_name)); - auto n_victim = new NodeSimple; - n_victim->m_field_name = field_name; - n_victim->m_df_type = DF_Type::int32_t; - n_victim->m_rdf_type = RDF_Type::int32_t; - n_victim->m_node_type = NodeType::Simple; - n_victim->m_address = base + offset; - n_victim->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_victim); - - field_name = "race"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_creature_devouredst, field_name)); - auto n_race = new NodeSimple; - n_race->m_field_name = field_name; - n_race->m_df_type = DF_Type::int32_t; - n_race->m_rdf_type = RDF_Type::int32_t; - n_race->m_node_type = NodeType::Simple; - n_race->m_address = base + offset; - n_race->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_race); - - field_name = "caste"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_creature_devouredst, field_name)); - auto n_caste = new NodeSimple; - n_caste->m_field_name = field_name; - n_caste->m_df_type = DF_Type::int16_t; - n_caste->m_rdf_type = RDF_Type::int16_t; - n_caste->m_node_type = NodeType::Simple; - n_caste->m_address = base + offset; - n_caste->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_caste); - - field_name = "eater"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_creature_devouredst, field_name)); - auto n_eater = new NodeSimple; - n_eater->m_field_name = field_name; - n_eater->m_df_type = DF_Type::int32_t; - n_eater->m_rdf_type = RDF_Type::int32_t; - n_eater->m_node_type = NodeType::Simple; - n_eater->m_address = base + offset; - n_eater->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_eater); - - field_name = "entity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_creature_devouredst, field_name)); - auto n_entity = new NodeSimple; - n_entity->m_field_name = field_name; - n_entity->m_df_type = DF_Type::int32_t; - n_entity->m_rdf_type = RDF_Type::int32_t; - n_entity->m_node_type = NodeType::Simple; - n_entity->m_address = base + offset; - n_entity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_creature_devouredst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "region"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_creature_devouredst, field_name)); - auto n_region = new NodeSimple; - n_region->m_field_name = field_name; - n_region->m_df_type = DF_Type::int32_t; - n_region->m_rdf_type = RDF_Type::int32_t; - n_region->m_node_type = NodeType::Simple; - n_region->m_address = base + offset; - n_region->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region); - - field_name = "layer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_creature_devouredst, field_name)); - auto n_layer = new NodeSimple; - n_layer->m_field_name = field_name; - n_layer->m_df_type = DF_Type::int32_t; - n_layer->m_rdf_type = RDF_Type::int32_t; - n_layer->m_node_type = NodeType::Simple; - n_layer->m_address = base + offset; - n_layer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_layer); - -} -void node_from_history_event_hist_figure_woundedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "woundee"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_woundedst, field_name)); - auto n_woundee = new NodeSimple; - n_woundee->m_field_name = field_name; - n_woundee->m_df_type = DF_Type::int32_t; - n_woundee->m_rdf_type = RDF_Type::int32_t; - n_woundee->m_node_type = NodeType::Simple; - n_woundee->m_address = base + offset; - n_woundee->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_woundee); - - field_name = "wounder"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_woundedst, field_name)); - auto n_wounder = new NodeSimple; - n_wounder->m_field_name = field_name; - n_wounder->m_df_type = DF_Type::int32_t; - n_wounder->m_rdf_type = RDF_Type::int32_t; - n_wounder->m_node_type = NodeType::Simple; - n_wounder->m_address = base + offset; - n_wounder->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_wounder); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_woundedst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "region"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_woundedst, field_name)); - auto n_region = new NodeSimple; - n_region->m_field_name = field_name; - n_region->m_df_type = DF_Type::int32_t; - n_region->m_rdf_type = RDF_Type::int32_t; - n_region->m_node_type = NodeType::Simple; - n_region->m_address = base + offset; - n_region->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region); - - field_name = "layer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_woundedst, field_name)); - auto n_layer = new NodeSimple; - n_layer->m_field_name = field_name; - n_layer->m_df_type = DF_Type::int32_t; - n_layer->m_rdf_type = RDF_Type::int32_t; - n_layer->m_node_type = NodeType::Simple; - n_layer->m_address = base + offset; - n_layer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_layer); - - field_name = "woundee_race"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_woundedst, field_name)); - auto n_woundee_race = new NodeSimple; - n_woundee_race->m_field_name = field_name; - n_woundee_race->m_df_type = DF_Type::int32_t; - n_woundee_race->m_rdf_type = RDF_Type::int32_t; - n_woundee_race->m_node_type = NodeType::Simple; - n_woundee_race->m_address = base + offset; - n_woundee_race->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_woundee_race); - - field_name = "woundee_caste"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_woundedst, field_name)); - auto n_woundee_caste = new NodeSimple; - n_woundee_caste->m_field_name = field_name; - n_woundee_caste->m_df_type = DF_Type::int16_t; - n_woundee_caste->m_rdf_type = RDF_Type::int16_t; - n_woundee_caste->m_node_type = NodeType::Simple; - n_woundee_caste->m_address = base + offset; - n_woundee_caste->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_woundee_caste); - - field_name = "body_part"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_woundedst, field_name)); - auto n_body_part = new NodeSimple; - n_body_part->m_field_name = field_name; - n_body_part->m_df_type = DF_Type::int16_t; - n_body_part->m_rdf_type = RDF_Type::int16_t; - n_body_part->m_node_type = NodeType::Simple; - n_body_part->m_address = base + offset; - n_body_part->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_body_part); - - field_name = "injury_type"; - auto n_injury_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_woundedst, field_name)); - n_injury_type->m_field_name = field_name; - n_injury_type->m_df_type = DF_Type::history_event_hist_figure_woundedst__T_injury_type; - n_injury_type->m_rdf_type = RDF_Type::Enum; - n_injury_type->m_node_type = NodeType::Enum; - n_injury_type->m_base_type = DF_Type::int16_t; - n_injury_type->m_enum_type = "history_event_hist_figure_woundedst::T_injury_type"; - n_injury_type->m_address = base + offset; - n_injury_type->m_first_value = 0; - n_injury_type->m_last_value = 3; - n_injury_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_injury_type); - - field_name = "part_lost"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_woundedst, field_name)); - auto n_part_lost = new NodeSimple; - n_part_lost->m_field_name = field_name; - n_part_lost->m_df_type = DF_Type::int8_t; - n_part_lost->m_rdf_type = RDF_Type::int8_t; - n_part_lost->m_node_type = NodeType::Simple; - n_part_lost->m_address = base + offset; - n_part_lost->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_part_lost); - -} -void node_from_history_event_simple_battle_subtype(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_history_event_created_world_constructionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_created_world_constructionst, field_name)); - auto n_civ = new NodeSimple; - n_civ->m_field_name = field_name; - n_civ->m_df_type = DF_Type::int32_t; - n_civ->m_rdf_type = RDF_Type::int32_t; - n_civ->m_node_type = NodeType::Simple; - n_civ->m_address = base + offset; - n_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_civ); - - field_name = "site_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_created_world_constructionst, field_name)); - auto n_site_civ = new NodeSimple; - n_site_civ->m_field_name = field_name; - n_site_civ->m_df_type = DF_Type::int32_t; - n_site_civ->m_rdf_type = RDF_Type::int32_t; - n_site_civ->m_node_type = NodeType::Simple; - n_site_civ->m_address = base + offset; - n_site_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_civ); - - field_name = "construction"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_created_world_constructionst, field_name)); - auto n_construction = new NodeSimple; - n_construction->m_field_name = field_name; - n_construction->m_df_type = DF_Type::int32_t; - n_construction->m_rdf_type = RDF_Type::int32_t; - n_construction->m_node_type = NodeType::Simple; - n_construction->m_address = base + offset; - n_construction->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_construction); - - field_name = "master_construction"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_created_world_constructionst, field_name)); - auto n_master_construction = new NodeSimple; - n_master_construction->m_field_name = field_name; - n_master_construction->m_df_type = DF_Type::int32_t; - n_master_construction->m_rdf_type = RDF_Type::int32_t; - n_master_construction->m_node_type = NodeType::Simple; - n_master_construction->m_address = base + offset; - n_master_construction->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_master_construction); - - field_name = "site1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_created_world_constructionst, field_name)); - auto n_site1 = new NodeSimple; - n_site1->m_field_name = field_name; - n_site1->m_df_type = DF_Type::int32_t; - n_site1->m_rdf_type = RDF_Type::int32_t; - n_site1->m_node_type = NodeType::Simple; - n_site1->m_address = base + offset; - n_site1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site1); - - field_name = "site2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_created_world_constructionst, field_name)); - auto n_site2 = new NodeSimple; - n_site2->m_field_name = field_name; - n_site2->m_df_type = DF_Type::int32_t; - n_site2->m_rdf_type = RDF_Type::int32_t; - n_site2->m_node_type = NodeType::Simple; - n_site2->m_address = base + offset; - n_site2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site2); - -} -void node_from_history_event_hist_figure_reunionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "missing"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_reunionst, field_name)); - auto n_missing = new NodeVector; - n_missing->m_field_name = field_name; - n_missing->m_df_type = DF_Type::int32_t; - n_missing->m_rdf_type = RDF_Type::Vector; - n_missing->m_node_type = NodeType::Vector; - n_missing->m_addornements = "v"; - n_missing->m_address = base + offset; - n_missing->m_parent = p_node_parent; - n_missing->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_missing); - - field_name = "reunited_with"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_reunionst, field_name)); - auto n_reunited_with = new NodeVector; - n_reunited_with->m_field_name = field_name; - n_reunited_with->m_df_type = DF_Type::int32_t; - n_reunited_with->m_rdf_type = RDF_Type::Vector; - n_reunited_with->m_node_type = NodeType::Vector; - n_reunited_with->m_addornements = "v"; - n_reunited_with->m_address = base + offset; - n_reunited_with->m_parent = p_node_parent; - n_reunited_with->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_reunited_with); - - field_name = "assistant"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_reunionst, field_name)); - auto n_assistant = new NodeSimple; - n_assistant->m_field_name = field_name; - n_assistant->m_df_type = DF_Type::int32_t; - n_assistant->m_rdf_type = RDF_Type::int32_t; - n_assistant->m_node_type = NodeType::Simple; - n_assistant->m_address = base + offset; - n_assistant->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_assistant); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_reunionst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "region"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_reunionst, field_name)); - auto n_region = new NodeSimple; - n_region->m_field_name = field_name; - n_region->m_df_type = DF_Type::int32_t; - n_region->m_rdf_type = RDF_Type::int32_t; - n_region->m_node_type = NodeType::Simple; - n_region->m_address = base + offset; - n_region->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region); - - field_name = "layer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_reunionst, field_name)); - auto n_layer = new NodeSimple; - n_layer->m_field_name = field_name; - n_layer->m_df_type = DF_Type::int32_t; - n_layer->m_rdf_type = RDF_Type::int32_t; - n_layer->m_node_type = NodeType::Simple; - n_layer->m_address = base + offset; - n_layer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_layer); - -} -void node_from_history_event_assume_identityst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "trickster"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_assume_identityst, field_name)); - auto n_trickster = new NodeSimple; - n_trickster->m_field_name = field_name; - n_trickster->m_df_type = DF_Type::int32_t; - n_trickster->m_rdf_type = RDF_Type::int32_t; - n_trickster->m_node_type = NodeType::Simple; - n_trickster->m_address = base + offset; - n_trickster->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_trickster); - - field_name = "identity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_assume_identityst, field_name)); - auto n_identity = new NodeSimple; - n_identity->m_field_name = field_name; - n_identity->m_df_type = DF_Type::int32_t; - n_identity->m_rdf_type = RDF_Type::int32_t; - n_identity->m_node_type = NodeType::Simple; - n_identity->m_address = base + offset; - n_identity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_identity); - - field_name = "target"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_assume_identityst, field_name)); - auto n_target = new NodeSimple; - n_target->m_field_name = field_name; - n_target->m_df_type = DF_Type::int32_t; - n_target->m_rdf_type = RDF_Type::int32_t; - n_target->m_node_type = NodeType::Simple; - n_target->m_address = base + offset; - n_target->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_target); - -} -void node_from_history_event_create_entity_positionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "histfig"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_create_entity_positionst, field_name)); - auto n_histfig = new NodeSimple; - n_histfig->m_field_name = field_name; - n_histfig->m_df_type = DF_Type::int32_t; - n_histfig->m_rdf_type = RDF_Type::int32_t; - n_histfig->m_node_type = NodeType::Simple; - n_histfig->m_address = base + offset; - n_histfig->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig); - - field_name = "civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_create_entity_positionst, field_name)); - auto n_civ = new NodeSimple; - n_civ->m_field_name = field_name; - n_civ->m_df_type = DF_Type::int32_t; - n_civ->m_rdf_type = RDF_Type::int32_t; - n_civ->m_node_type = NodeType::Simple; - n_civ->m_address = base + offset; - n_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_civ); - - field_name = "site_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_create_entity_positionst, field_name)); - auto n_site_civ = new NodeSimple; - n_site_civ->m_field_name = field_name; - n_site_civ->m_df_type = DF_Type::int32_t; - n_site_civ->m_rdf_type = RDF_Type::int32_t; - n_site_civ->m_node_type = NodeType::Simple; - n_site_civ->m_address = base + offset; - n_site_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_civ); - - field_name = "position"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_create_entity_positionst, field_name)); - auto n_position = new NodeSimple; - n_position->m_field_name = field_name; - n_position->m_df_type = DF_Type::int32_t; - n_position->m_rdf_type = RDF_Type::int32_t; - n_position->m_node_type = NodeType::Simple; - n_position->m_address = base + offset; - n_position->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_position); - - field_name = "reason"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_create_entity_positionst, field_name)); - auto n_reason = new NodeSimple; - n_reason->m_field_name = field_name; - n_reason->m_df_type = DF_Type::int16_t; - n_reason->m_rdf_type = RDF_Type::int16_t; - n_reason->m_node_type = NodeType::Simple; - n_reason->m_address = base + offset; - n_reason->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_reason); - -} -void node_from_history_event_change_creature_typest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "changee"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_creature_typest, field_name)); - auto n_changee = new NodeSimple; - n_changee->m_field_name = field_name; - n_changee->m_df_type = DF_Type::int32_t; - n_changee->m_rdf_type = RDF_Type::int32_t; - n_changee->m_node_type = NodeType::Simple; - n_changee->m_address = base + offset; - n_changee->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_changee); - - field_name = "changer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_creature_typest, field_name)); - auto n_changer = new NodeSimple; - n_changer->m_field_name = field_name; - n_changer->m_df_type = DF_Type::int32_t; - n_changer->m_rdf_type = RDF_Type::int32_t; - n_changer->m_node_type = NodeType::Simple; - n_changer->m_address = base + offset; - n_changer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_changer); - - field_name = "old_race"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_creature_typest, field_name)); - auto n_old_race = new NodeSimple; - n_old_race->m_field_name = field_name; - n_old_race->m_df_type = DF_Type::int32_t; - n_old_race->m_rdf_type = RDF_Type::int32_t; - n_old_race->m_node_type = NodeType::Simple; - n_old_race->m_address = base + offset; - n_old_race->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_old_race); - - field_name = "old_caste"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_creature_typest, field_name)); - auto n_old_caste = new NodeSimple; - n_old_caste->m_field_name = field_name; - n_old_caste->m_df_type = DF_Type::int32_t; - n_old_caste->m_rdf_type = RDF_Type::int32_t; - n_old_caste->m_node_type = NodeType::Simple; - n_old_caste->m_address = base + offset; - n_old_caste->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_old_caste); - - field_name = "new_race"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_creature_typest, field_name)); - auto n_new_race = new NodeSimple; - n_new_race->m_field_name = field_name; - n_new_race->m_df_type = DF_Type::int32_t; - n_new_race->m_rdf_type = RDF_Type::int32_t; - n_new_race->m_node_type = NodeType::Simple; - n_new_race->m_address = base + offset; - n_new_race->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_new_race); - - field_name = "new_caste"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_creature_typest, field_name)); - auto n_new_caste = new NodeSimple; - n_new_caste->m_field_name = field_name; - n_new_caste->m_df_type = DF_Type::int32_t; - n_new_caste->m_rdf_type = RDF_Type::int32_t; - n_new_caste->m_node_type = NodeType::Simple; - n_new_caste->m_address = base + offset; - n_new_caste->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_new_caste); - -} -void node_from_history_event_hf_learns_secretst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "student"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_learns_secretst, field_name)); - auto n_student = new NodeSimple; - n_student->m_field_name = field_name; - n_student->m_df_type = DF_Type::int32_t; - n_student->m_rdf_type = RDF_Type::int32_t; - n_student->m_node_type = NodeType::Simple; - n_student->m_address = base + offset; - n_student->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_student); - - field_name = "teacher"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_learns_secretst, field_name)); - auto n_teacher = new NodeSimple; - n_teacher->m_field_name = field_name; - n_teacher->m_df_type = DF_Type::int32_t; - n_teacher->m_rdf_type = RDF_Type::int32_t; - n_teacher->m_node_type = NodeType::Simple; - n_teacher->m_address = base + offset; - n_teacher->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_teacher); - - field_name = "artifact"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_learns_secretst, field_name)); - auto n_artifact = new NodeSimple; - n_artifact->m_field_name = field_name; - n_artifact->m_df_type = DF_Type::int32_t; - n_artifact->m_rdf_type = RDF_Type::int32_t; - n_artifact->m_node_type = NodeType::Simple; - n_artifact->m_address = base + offset; - n_artifact->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_artifact); - - field_name = "interaction"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_learns_secretst, field_name)); - auto n_interaction = new NodeSimple; - n_interaction->m_field_name = field_name; - n_interaction->m_df_type = DF_Type::int32_t; - n_interaction->m_rdf_type = RDF_Type::int32_t; - n_interaction->m_node_type = NodeType::Simple; - n_interaction->m_address = base + offset; - n_interaction->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_interaction); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_learns_secretst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_histfig_body_state(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_history_event_hf_act_on_buildingst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "action"; - auto n_action = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_act_on_buildingst, field_name)); - n_action->m_field_name = field_name; - n_action->m_df_type = DF_Type::history_event_hf_act_on_buildingst__T_action; - n_action->m_rdf_type = RDF_Type::Enum; - n_action->m_node_type = NodeType::Enum; - n_action->m_base_type = DF_Type::int32_t; - n_action->m_enum_type = "history_event_hf_act_on_buildingst::T_action"; - n_action->m_address = base + offset; - n_action->m_first_value = 0; - n_action->m_last_value = 2; - n_action->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_action); - - field_name = "histfig"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_act_on_buildingst, field_name)); - auto n_histfig = new NodeSimple; - n_histfig->m_field_name = field_name; - n_histfig->m_df_type = DF_Type::int32_t; - n_histfig->m_rdf_type = RDF_Type::int32_t; - n_histfig->m_node_type = NodeType::Simple; - n_histfig->m_address = base + offset; - n_histfig->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_act_on_buildingst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "structure"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_act_on_buildingst, field_name)); - auto n_structure = new NodeSimple; - n_structure->m_field_name = field_name; - n_structure->m_df_type = DF_Type::int32_t; - n_structure->m_rdf_type = RDF_Type::int32_t; - n_structure->m_node_type = NodeType::Simple; - n_structure->m_address = base + offset; - n_structure->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_structure); - -} -void node_from_history_event_hf_does_interactionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "doer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_does_interactionst, field_name)); - auto n_doer = new NodeSimple; - n_doer->m_field_name = field_name; - n_doer->m_df_type = DF_Type::int32_t; - n_doer->m_rdf_type = RDF_Type::int32_t; - n_doer->m_node_type = NodeType::Simple; - n_doer->m_address = base + offset; - n_doer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_doer); - - field_name = "target"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_does_interactionst, field_name)); - auto n_target = new NodeSimple; - n_target->m_field_name = field_name; - n_target->m_df_type = DF_Type::int32_t; - n_target->m_rdf_type = RDF_Type::int32_t; - n_target->m_node_type = NodeType::Simple; - n_target->m_address = base + offset; - n_target->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_target); - - field_name = "interaction"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_does_interactionst, field_name)); - auto n_interaction = new NodeSimple; - n_interaction->m_field_name = field_name; - n_interaction->m_df_type = DF_Type::int32_t; - n_interaction->m_rdf_type = RDF_Type::int32_t; - n_interaction->m_node_type = NodeType::Simple; - n_interaction->m_address = base + offset; - n_interaction->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_interaction); - - field_name = "source"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_does_interactionst, field_name)); - auto n_source = new NodeSimple; - n_source->m_field_name = field_name; - n_source->m_df_type = DF_Type::int32_t; - n_source->m_rdf_type = RDF_Type::int32_t; - n_source->m_node_type = NodeType::Simple; - n_source->m_address = base + offset; - n_source->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_source); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_does_interactionst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "region"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_does_interactionst, field_name)); - auto n_region = new NodeSimple; - n_region->m_field_name = field_name; - n_region->m_df_type = DF_Type::int32_t; - n_region->m_rdf_type = RDF_Type::int32_t; - n_region->m_node_type = NodeType::Simple; - n_region->m_address = base + offset; - n_region->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region); - - field_name = "layer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_does_interactionst, field_name)); - auto n_layer = new NodeSimple; - n_layer->m_field_name = field_name; - n_layer->m_df_type = DF_Type::int32_t; - n_layer->m_rdf_type = RDF_Type::int32_t; - n_layer->m_node_type = NodeType::Simple; - n_layer->m_address = base + offset; - n_layer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_layer); - -} -void node_from_history_event_entity_lawst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "entity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_entity_lawst, field_name)); - auto n_entity = new NodeSimple; - n_entity->m_field_name = field_name; - n_entity->m_df_type = DF_Type::int32_t; - n_entity->m_rdf_type = RDF_Type::int32_t; - n_entity->m_node_type = NodeType::Simple; - n_entity->m_address = base + offset; - n_entity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity); - - field_name = "histfig"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_entity_lawst, field_name)); - auto n_histfig = new NodeSimple; - n_histfig->m_field_name = field_name; - n_histfig->m_df_type = DF_Type::int32_t; - n_histfig->m_rdf_type = RDF_Type::int32_t; - n_histfig->m_node_type = NodeType::Simple; - n_histfig->m_address = base + offset; - n_histfig->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig); - - field_name = "add_flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_entity_lawst, field_name)); - auto n_add_flags = new NodeSimple; - n_add_flags->m_field_name = field_name; - n_add_flags->m_df_type = DF_Type::int32_t; - n_add_flags->m_rdf_type = RDF_Type::int32_t; - n_add_flags->m_node_type = NodeType::Simple; - n_add_flags->m_address = base + offset; - n_add_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_add_flags); - - field_name = "remove_flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_entity_lawst, field_name)); - auto n_remove_flags = new NodeSimple; - n_remove_flags->m_field_name = field_name; - n_remove_flags->m_df_type = DF_Type::int32_t; - n_remove_flags->m_rdf_type = RDF_Type::int32_t; - n_remove_flags->m_node_type = NodeType::Simple; - n_remove_flags->m_address = base + offset; - n_remove_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_remove_flags); - -} -void node_from_history_event_artifact_storedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "artifact"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_storedst, field_name)); - auto n_artifact = new NodeSimple; - n_artifact->m_field_name = field_name; - n_artifact->m_df_type = DF_Type::int32_t; - n_artifact->m_rdf_type = RDF_Type::int32_t; - n_artifact->m_node_type = NodeType::Simple; - n_artifact->m_address = base + offset; - n_artifact->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_artifact); - - field_name = "unit"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_storedst, field_name)); - auto n_unit = new NodeSimple; - n_unit->m_field_name = field_name; - n_unit->m_df_type = DF_Type::int32_t; - n_unit->m_rdf_type = RDF_Type::int32_t; - n_unit->m_node_type = NodeType::Simple; - n_unit->m_address = base + offset; - n_unit->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unit); - - field_name = "histfig"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_storedst, field_name)); - auto n_histfig = new NodeSimple; - n_histfig->m_field_name = field_name; - n_histfig->m_df_type = DF_Type::int32_t; - n_histfig->m_rdf_type = RDF_Type::int32_t; - n_histfig->m_node_type = NodeType::Simple; - n_histfig->m_address = base + offset; - n_histfig->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_storedst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_storedst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_history_event_agreement_formedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "agreement_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_agreement_formedst, field_name)); - auto n_agreement_id = new NodeSimple; - n_agreement_id->m_field_name = field_name; - n_agreement_id->m_df_type = DF_Type::int32_t; - n_agreement_id->m_rdf_type = RDF_Type::int32_t; - n_agreement_id->m_node_type = NodeType::Simple; - n_agreement_id->m_address = base + offset; - n_agreement_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_agreement_id); - -} -void node_from_site_dispute_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_history_event_insurrection_startedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "target_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_insurrection_startedst, field_name)); - auto n_target_civ = new NodeSimple; - n_target_civ->m_field_name = field_name; - n_target_civ->m_df_type = DF_Type::int32_t; - n_target_civ->m_rdf_type = RDF_Type::int32_t; - n_target_civ->m_node_type = NodeType::Simple; - n_target_civ->m_address = base + offset; - n_target_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_target_civ); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_insurrection_startedst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - -} -void node_from_insurrection_outcome(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_history_event_hf_attacked_sitest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "attacker_hf"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_attacked_sitest, field_name)); - auto n_attacker_hf = new NodeSimple; - n_attacker_hf->m_field_name = field_name; - n_attacker_hf->m_df_type = DF_Type::int32_t; - n_attacker_hf->m_rdf_type = RDF_Type::int32_t; - n_attacker_hf->m_node_type = NodeType::Simple; - n_attacker_hf->m_address = base + offset; - n_attacker_hf->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_attacker_hf); - - field_name = "defender_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_attacked_sitest, field_name)); - auto n_defender_civ = new NodeSimple; - n_defender_civ->m_field_name = field_name; - n_defender_civ->m_df_type = DF_Type::int32_t; - n_defender_civ->m_rdf_type = RDF_Type::int32_t; - n_defender_civ->m_node_type = NodeType::Simple; - n_defender_civ->m_address = base + offset; - n_defender_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_defender_civ); - - field_name = "site_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_attacked_sitest, field_name)); - auto n_site_civ = new NodeSimple; - n_site_civ->m_field_name = field_name; - n_site_civ->m_df_type = DF_Type::int32_t; - n_site_civ->m_rdf_type = RDF_Type::int32_t; - n_site_civ->m_node_type = NodeType::Simple; - n_site_civ->m_address = base + offset; - n_site_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_civ); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_attacked_sitest, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - -} -void node_from_history_event_performancest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "entity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_performancest, field_name)); - auto n_entity = new NodeSimple; - n_entity->m_field_name = field_name; - n_entity->m_df_type = DF_Type::int32_t; - n_entity->m_rdf_type = RDF_Type::int32_t; - n_entity->m_node_type = NodeType::Simple; - n_entity->m_address = base + offset; - n_entity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity); - - field_name = "occasion"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_performancest, field_name)); - auto n_occasion = new NodeSimple; - n_occasion->m_field_name = field_name; - n_occasion->m_df_type = DF_Type::int32_t; - n_occasion->m_rdf_type = RDF_Type::int32_t; - n_occasion->m_node_type = NodeType::Simple; - n_occasion->m_address = base + offset; - n_occasion->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_occasion); - - field_name = "schedule"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_performancest, field_name)); - auto n_schedule = new NodeSimple; - n_schedule->m_field_name = field_name; - n_schedule->m_df_type = DF_Type::int32_t; - n_schedule->m_rdf_type = RDF_Type::int32_t; - n_schedule->m_node_type = NodeType::Simple; - n_schedule->m_address = base + offset; - n_schedule->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_schedule); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_performancest, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "region"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_performancest, field_name)); - auto n_region = new NodeSimple; - n_region->m_field_name = field_name; - n_region->m_df_type = DF_Type::int32_t; - n_region->m_rdf_type = RDF_Type::int32_t; - n_region->m_node_type = NodeType::Simple; - n_region->m_address = base + offset; - n_region->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region); - - field_name = "layer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_performancest, field_name)); - auto n_layer = new NodeSimple; - n_layer->m_field_name = field_name; - n_layer->m_df_type = DF_Type::int32_t; - n_layer->m_rdf_type = RDF_Type::int32_t; - n_layer->m_node_type = NodeType::Simple; - n_layer->m_address = base + offset; - n_layer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_layer); - -} -void node_from_history_event_competitionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "entity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_competitionst, field_name)); - auto n_entity = new NodeSimple; - n_entity->m_field_name = field_name; - n_entity->m_df_type = DF_Type::int32_t; - n_entity->m_rdf_type = RDF_Type::int32_t; - n_entity->m_node_type = NodeType::Simple; - n_entity->m_address = base + offset; - n_entity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity); - - field_name = "occasion"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_competitionst, field_name)); - auto n_occasion = new NodeSimple; - n_occasion->m_field_name = field_name; - n_occasion->m_df_type = DF_Type::int32_t; - n_occasion->m_rdf_type = RDF_Type::int32_t; - n_occasion->m_node_type = NodeType::Simple; - n_occasion->m_address = base + offset; - n_occasion->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_occasion); - - field_name = "schedule"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_competitionst, field_name)); - auto n_schedule = new NodeSimple; - n_schedule->m_field_name = field_name; - n_schedule->m_df_type = DF_Type::int32_t; - n_schedule->m_rdf_type = RDF_Type::int32_t; - n_schedule->m_node_type = NodeType::Simple; - n_schedule->m_address = base + offset; - n_schedule->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_schedule); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_competitionst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "region"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_competitionst, field_name)); - auto n_region = new NodeSimple; - n_region->m_field_name = field_name; - n_region->m_df_type = DF_Type::int32_t; - n_region->m_rdf_type = RDF_Type::int32_t; - n_region->m_node_type = NodeType::Simple; - n_region->m_address = base + offset; - n_region->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region); - - field_name = "layer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_competitionst, field_name)); - auto n_layer = new NodeSimple; - n_layer->m_field_name = field_name; - n_layer->m_df_type = DF_Type::int32_t; - n_layer->m_rdf_type = RDF_Type::int32_t; - n_layer->m_node_type = NodeType::Simple; - n_layer->m_address = base + offset; - n_layer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_layer); - - field_name = "competitor_hf"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_competitionst, field_name)); - auto n_competitor_hf = new NodeVector; - n_competitor_hf->m_field_name = field_name; - n_competitor_hf->m_df_type = DF_Type::int32_t; - n_competitor_hf->m_rdf_type = RDF_Type::Vector; - n_competitor_hf->m_node_type = NodeType::Vector; - n_competitor_hf->m_addornements = "v"; - n_competitor_hf->m_address = base + offset; - n_competitor_hf->m_parent = p_node_parent; - n_competitor_hf->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_competitor_hf); - - field_name = "winner_hf"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_competitionst, field_name)); - auto n_winner_hf = new NodeVector; - n_winner_hf->m_field_name = field_name; - n_winner_hf->m_df_type = DF_Type::int32_t; - n_winner_hf->m_rdf_type = RDF_Type::Vector; - n_winner_hf->m_node_type = NodeType::Vector; - n_winner_hf->m_addornements = "v"; - n_winner_hf->m_address = base + offset; - n_winner_hf->m_parent = p_node_parent; - n_winner_hf->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_winner_hf); - -} -void node_from_history_event_processionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "entity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_processionst, field_name)); - auto n_entity = new NodeSimple; - n_entity->m_field_name = field_name; - n_entity->m_df_type = DF_Type::int32_t; - n_entity->m_rdf_type = RDF_Type::int32_t; - n_entity->m_node_type = NodeType::Simple; - n_entity->m_address = base + offset; - n_entity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity); - - field_name = "occasion"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_processionst, field_name)); - auto n_occasion = new NodeSimple; - n_occasion->m_field_name = field_name; - n_occasion->m_df_type = DF_Type::int32_t; - n_occasion->m_rdf_type = RDF_Type::int32_t; - n_occasion->m_node_type = NodeType::Simple; - n_occasion->m_address = base + offset; - n_occasion->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_occasion); - - field_name = "schedule"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_processionst, field_name)); - auto n_schedule = new NodeSimple; - n_schedule->m_field_name = field_name; - n_schedule->m_df_type = DF_Type::int32_t; - n_schedule->m_rdf_type = RDF_Type::int32_t; - n_schedule->m_node_type = NodeType::Simple; - n_schedule->m_address = base + offset; - n_schedule->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_schedule); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_processionst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "region"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_processionst, field_name)); - auto n_region = new NodeSimple; - n_region->m_field_name = field_name; - n_region->m_df_type = DF_Type::int32_t; - n_region->m_rdf_type = RDF_Type::int32_t; - n_region->m_node_type = NodeType::Simple; - n_region->m_address = base + offset; - n_region->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region); - - field_name = "layer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_processionst, field_name)); - auto n_layer = new NodeSimple; - n_layer->m_field_name = field_name; - n_layer->m_df_type = DF_Type::int32_t; - n_layer->m_rdf_type = RDF_Type::int32_t; - n_layer->m_node_type = NodeType::Simple; - n_layer->m_address = base + offset; - n_layer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_layer); - -} -void node_from_history_event_ceremonyst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "entity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_ceremonyst, field_name)); - auto n_entity = new NodeSimple; - n_entity->m_field_name = field_name; - n_entity->m_df_type = DF_Type::int32_t; - n_entity->m_rdf_type = RDF_Type::int32_t; - n_entity->m_node_type = NodeType::Simple; - n_entity->m_address = base + offset; - n_entity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity); - - field_name = "occasion"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_ceremonyst, field_name)); - auto n_occasion = new NodeSimple; - n_occasion->m_field_name = field_name; - n_occasion->m_df_type = DF_Type::int32_t; - n_occasion->m_rdf_type = RDF_Type::int32_t; - n_occasion->m_node_type = NodeType::Simple; - n_occasion->m_address = base + offset; - n_occasion->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_occasion); - - field_name = "schedule"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_ceremonyst, field_name)); - auto n_schedule = new NodeSimple; - n_schedule->m_field_name = field_name; - n_schedule->m_df_type = DF_Type::int32_t; - n_schedule->m_rdf_type = RDF_Type::int32_t; - n_schedule->m_node_type = NodeType::Simple; - n_schedule->m_address = base + offset; - n_schedule->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_schedule); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_ceremonyst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "region"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_ceremonyst, field_name)); - auto n_region = new NodeSimple; - n_region->m_field_name = field_name; - n_region->m_df_type = DF_Type::int32_t; - n_region->m_rdf_type = RDF_Type::int32_t; - n_region->m_node_type = NodeType::Simple; - n_region->m_address = base + offset; - n_region->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region); - - field_name = "layer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_ceremonyst, field_name)); - auto n_layer = new NodeSimple; - n_layer->m_field_name = field_name; - n_layer->m_df_type = DF_Type::int32_t; - n_layer->m_rdf_type = RDF_Type::int32_t; - n_layer->m_node_type = NodeType::Simple; - n_layer->m_address = base + offset; - n_layer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_layer); - -} -void node_from_history_event_artifact_transformedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "new_artifact"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_transformedst, field_name)); - auto n_new_artifact = new NodeSimple; - n_new_artifact->m_field_name = field_name; - n_new_artifact->m_df_type = DF_Type::int32_t; - n_new_artifact->m_rdf_type = RDF_Type::int32_t; - n_new_artifact->m_node_type = NodeType::Simple; - n_new_artifact->m_address = base + offset; - n_new_artifact->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_new_artifact); - - field_name = "old_artifact"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_transformedst, field_name)); - auto n_old_artifact = new NodeVector; - n_old_artifact->m_field_name = field_name; - n_old_artifact->m_df_type = DF_Type::int32_t; - n_old_artifact->m_rdf_type = RDF_Type::Vector; - n_old_artifact->m_node_type = NodeType::Vector; - n_old_artifact->m_addornements = "v"; - n_old_artifact->m_address = base + offset; - n_old_artifact->m_parent = p_node_parent; - n_old_artifact->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_old_artifact); - - field_name = "unit"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_transformedst, field_name)); - auto n_unit = new NodeSimple; - n_unit->m_field_name = field_name; - n_unit->m_df_type = DF_Type::int32_t; - n_unit->m_rdf_type = RDF_Type::int32_t; - n_unit->m_node_type = NodeType::Simple; - n_unit->m_address = base + offset; - n_unit->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unit); - - field_name = "histfig"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_transformedst, field_name)); - auto n_histfig = new NodeSimple; - n_histfig->m_field_name = field_name; - n_histfig->m_df_type = DF_Type::int32_t; - n_histfig->m_rdf_type = RDF_Type::int32_t; - n_histfig->m_node_type = NodeType::Simple; - n_histfig->m_address = base + offset; - n_histfig->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_transformedst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - -} -void node_from_history_event_artifact_destroyedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "artifact"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_destroyedst, field_name)); - auto n_artifact = new NodeSimple; - n_artifact->m_field_name = field_name; - n_artifact->m_df_type = DF_Type::int32_t; - n_artifact->m_rdf_type = RDF_Type::int32_t; - n_artifact->m_node_type = NodeType::Simple; - n_artifact->m_address = base + offset; - n_artifact->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_artifact); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_destroyedst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "destroyer_hf"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_destroyedst, field_name)); - auto n_destroyer_hf = new NodeSimple; - n_destroyer_hf->m_field_name = field_name; - n_destroyer_hf->m_df_type = DF_Type::int32_t; - n_destroyer_hf->m_rdf_type = RDF_Type::int32_t; - n_destroyer_hf->m_node_type = NodeType::Simple; - n_destroyer_hf->m_address = base + offset; - n_destroyer_hf->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_destroyer_hf); - - field_name = "destroyer_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_destroyedst, field_name)); - auto n_destroyer_civ = new NodeSimple; - n_destroyer_civ->m_field_name = field_name; - n_destroyer_civ->m_df_type = DF_Type::int32_t; - n_destroyer_civ->m_rdf_type = RDF_Type::int32_t; - n_destroyer_civ->m_node_type = NodeType::Simple; - n_destroyer_civ->m_address = base + offset; - n_destroyer_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_destroyer_civ); - -} -void node_from_history_event_regionpop_incorporated_into_entityst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "pop_race"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_regionpop_incorporated_into_entityst, field_name)); - auto n_pop_race = new NodeSimple; - n_pop_race->m_field_name = field_name; - n_pop_race->m_df_type = DF_Type::int32_t; - n_pop_race->m_rdf_type = RDF_Type::int32_t; - n_pop_race->m_node_type = NodeType::Simple; - n_pop_race->m_address = base + offset; - n_pop_race->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pop_race); - - field_name = "number_moved"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_regionpop_incorporated_into_entityst, field_name)); - auto n_number_moved = new NodeSimple; - n_number_moved->m_field_name = field_name; - n_number_moved->m_df_type = DF_Type::int32_t; - n_number_moved->m_rdf_type = RDF_Type::int32_t; - n_number_moved->m_node_type = NodeType::Simple; - n_number_moved->m_address = base + offset; - n_number_moved->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_number_moved); - - field_name = "pop_region"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_regionpop_incorporated_into_entityst, field_name)); - auto n_pop_region = new NodeSimple; - n_pop_region->m_field_name = field_name; - n_pop_region->m_df_type = DF_Type::int32_t; - n_pop_region->m_rdf_type = RDF_Type::int32_t; - n_pop_region->m_node_type = NodeType::Simple; - n_pop_region->m_address = base + offset; - n_pop_region->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pop_region); - - field_name = "pop_layer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_regionpop_incorporated_into_entityst, field_name)); - auto n_pop_layer = new NodeSimple; - n_pop_layer->m_field_name = field_name; - n_pop_layer->m_df_type = DF_Type::int32_t; - n_pop_layer->m_rdf_type = RDF_Type::int32_t; - n_pop_layer->m_node_type = NodeType::Simple; - n_pop_layer->m_address = base + offset; - n_pop_layer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pop_layer); - - field_name = "join_entity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_regionpop_incorporated_into_entityst, field_name)); - auto n_join_entity = new NodeSimple; - n_join_entity->m_field_name = field_name; - n_join_entity->m_df_type = DF_Type::int32_t; - n_join_entity->m_rdf_type = RDF_Type::int32_t; - n_join_entity->m_node_type = NodeType::Simple; - n_join_entity->m_address = base + offset; - n_join_entity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_join_entity); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_regionpop_incorporated_into_entityst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - -} -void node_from_history_event_hf_act_on_artifactst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "action"; - auto n_action = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_act_on_artifactst, field_name)); - n_action->m_field_name = field_name; - n_action->m_df_type = DF_Type::history_event_hf_act_on_artifactst__T_action; - n_action->m_rdf_type = RDF_Type::Enum; - n_action->m_node_type = NodeType::Enum; - n_action->m_base_type = DF_Type::int32_t; - n_action->m_enum_type = "history_event_hf_act_on_artifactst::T_action"; - n_action->m_address = base + offset; - n_action->m_first_value = 0; - n_action->m_last_value = 1; - n_action->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_action); - - field_name = "artifact"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_act_on_artifactst, field_name)); - auto n_artifact = new NodeSimple; - n_artifact->m_field_name = field_name; - n_artifact->m_df_type = DF_Type::int32_t; - n_artifact->m_rdf_type = RDF_Type::int32_t; - n_artifact->m_node_type = NodeType::Simple; - n_artifact->m_address = base + offset; - n_artifact->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_artifact); - - field_name = "histfig"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_act_on_artifactst, field_name)); - auto n_histfig = new NodeSimple; - n_histfig->m_field_name = field_name; - n_histfig->m_df_type = DF_Type::int32_t; - n_histfig->m_rdf_type = RDF_Type::int32_t; - n_histfig->m_node_type = NodeType::Simple; - n_histfig->m_address = base + offset; - n_histfig->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_act_on_artifactst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "structure"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_act_on_artifactst, field_name)); - auto n_structure = new NodeSimple; - n_structure->m_field_name = field_name; - n_structure->m_df_type = DF_Type::int32_t; - n_structure->m_rdf_type = RDF_Type::int32_t; - n_structure->m_node_type = NodeType::Simple; - n_structure->m_address = base + offset; - n_structure->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_structure); - -} -void node_from_history_event_artifact_copiedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "artifact"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_copiedst, field_name)); - auto n_artifact = new NodeSimple; - n_artifact->m_field_name = field_name; - n_artifact->m_df_type = DF_Type::int32_t; - n_artifact->m_rdf_type = RDF_Type::int32_t; - n_artifact->m_node_type = NodeType::Simple; - n_artifact->m_address = base + offset; - n_artifact->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_artifact); - - field_name = "entity_dest"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_copiedst, field_name)); - auto n_entity_dest = new NodeSimple; - n_entity_dest->m_field_name = field_name; - n_entity_dest->m_df_type = DF_Type::int32_t; - n_entity_dest->m_rdf_type = RDF_Type::int32_t; - n_entity_dest->m_node_type = NodeType::Simple; - n_entity_dest->m_address = base + offset; - n_entity_dest->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity_dest); - - field_name = "entity_src"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_copiedst, field_name)); - auto n_entity_src = new NodeSimple; - n_entity_src->m_field_name = field_name; - n_entity_src->m_df_type = DF_Type::int32_t; - n_entity_src->m_rdf_type = RDF_Type::int32_t; - n_entity_src->m_node_type = NodeType::Simple; - n_entity_src->m_address = base + offset; - n_entity_src->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity_src); - - field_name = "site_dest"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_copiedst, field_name)); - auto n_site_dest = new NodeSimple; - n_site_dest->m_field_name = field_name; - n_site_dest->m_df_type = DF_Type::int32_t; - n_site_dest->m_rdf_type = RDF_Type::int32_t; - n_site_dest->m_node_type = NodeType::Simple; - n_site_dest->m_address = base + offset; - n_site_dest->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_dest); - - field_name = "site_src"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_copiedst, field_name)); - auto n_site_src = new NodeSimple; - n_site_src->m_field_name = field_name; - n_site_src->m_df_type = DF_Type::int32_t; - n_site_src->m_rdf_type = RDF_Type::int32_t; - n_site_src->m_node_type = NodeType::Simple; - n_site_src->m_address = base + offset; - n_site_src->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_src); - - field_name = "structure_dest"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_copiedst, field_name)); - auto n_structure_dest = new NodeSimple; - n_structure_dest->m_field_name = field_name; - n_structure_dest->m_df_type = DF_Type::int32_t; - n_structure_dest->m_rdf_type = RDF_Type::int32_t; - n_structure_dest->m_node_type = NodeType::Simple; - n_structure_dest->m_address = base + offset; - n_structure_dest->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_structure_dest); - - field_name = "structure_src"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_copiedst, field_name)); - auto n_structure_src = new NodeSimple; - n_structure_src->m_field_name = field_name; - n_structure_src->m_df_type = DF_Type::int32_t; - n_structure_src->m_rdf_type = RDF_Type::int32_t; - n_structure_src->m_node_type = NodeType::Simple; - n_structure_src->m_address = base + offset; - n_structure_src->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_structure_src); - - field_name = "flags2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_copiedst, field_name)); - auto n_flags2 = new NodeBitfield; - n_flags2->m_field_name = field_name; - n_flags2->m_df_type = DF_Type::history_event_artifact_copiedst__T_flags2; - n_flags2->m_rdf_type = RDF_Type::Bitfield; - n_flags2->m_node_type = NodeType::Bitfield; - n_flags2->m_address = base + offset; - n_flags2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags2); - -} -void node_from_history_event_sneak_into_sitest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "attacker_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_sneak_into_sitest, field_name)); - auto n_attacker_civ = new NodeSimple; - n_attacker_civ->m_field_name = field_name; - n_attacker_civ->m_df_type = DF_Type::int32_t; - n_attacker_civ->m_rdf_type = RDF_Type::int32_t; - n_attacker_civ->m_node_type = NodeType::Simple; - n_attacker_civ->m_address = base + offset; - n_attacker_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_attacker_civ); - - field_name = "defender_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_sneak_into_sitest, field_name)); - auto n_defender_civ = new NodeSimple; - n_defender_civ->m_field_name = field_name; - n_defender_civ->m_df_type = DF_Type::int32_t; - n_defender_civ->m_rdf_type = RDF_Type::int32_t; - n_defender_civ->m_node_type = NodeType::Simple; - n_defender_civ->m_address = base + offset; - n_defender_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_defender_civ); - - field_name = "site_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_sneak_into_sitest, field_name)); - auto n_site_civ = new NodeSimple; - n_site_civ->m_field_name = field_name; - n_site_civ->m_df_type = DF_Type::int32_t; - n_site_civ->m_rdf_type = RDF_Type::int32_t; - n_site_civ->m_node_type = NodeType::Simple; - n_site_civ->m_address = base + offset; - n_site_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_civ); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_sneak_into_sitest, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - -} -void node_from_history_event_spotted_leaving_sitest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "spotter_hf"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_spotted_leaving_sitest, field_name)); - auto n_spotter_hf = new NodeSimple; - n_spotter_hf->m_field_name = field_name; - n_spotter_hf->m_df_type = DF_Type::int32_t; - n_spotter_hf->m_rdf_type = RDF_Type::int32_t; - n_spotter_hf->m_node_type = NodeType::Simple; - n_spotter_hf->m_address = base + offset; - n_spotter_hf->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_spotter_hf); - - field_name = "leaver_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_spotted_leaving_sitest, field_name)); - auto n_leaver_civ = new NodeSimple; - n_leaver_civ->m_field_name = field_name; - n_leaver_civ->m_df_type = DF_Type::int32_t; - n_leaver_civ->m_rdf_type = RDF_Type::int32_t; - n_leaver_civ->m_node_type = NodeType::Simple; - n_leaver_civ->m_address = base + offset; - n_leaver_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_leaver_civ); - - field_name = "site_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_spotted_leaving_sitest, field_name)); - auto n_site_civ = new NodeSimple; - n_site_civ->m_field_name = field_name; - n_site_civ->m_df_type = DF_Type::int32_t; - n_site_civ->m_rdf_type = RDF_Type::int32_t; - n_site_civ->m_node_type = NodeType::Simple; - n_site_civ->m_address = base + offset; - n_site_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_civ); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_spotted_leaving_sitest, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - -} -void node_from_history_event_entity_searched_sitest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "searcher_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_entity_searched_sitest, field_name)); - auto n_searcher_civ = new NodeSimple; - n_searcher_civ->m_field_name = field_name; - n_searcher_civ->m_df_type = DF_Type::int32_t; - n_searcher_civ->m_rdf_type = RDF_Type::int32_t; - n_searcher_civ->m_node_type = NodeType::Simple; - n_searcher_civ->m_address = base + offset; - n_searcher_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_searcher_civ); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_entity_searched_sitest, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "result"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_entity_searched_sitest, field_name)); - auto n_result = new NodeSimple; - n_result->m_field_name = field_name; - n_result->m_df_type = DF_Type::int32_t; - n_result->m_rdf_type = RDF_Type::int32_t; - n_result->m_node_type = NodeType::Simple; - n_result->m_address = base + offset; - n_result->m_comment = "0 = found nothing"; - n_result->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_result); - -} -void node_from_history_event_hf_freedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "freeing_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_freedst, field_name)); - auto n_freeing_civ = new NodeSimple; - n_freeing_civ->m_field_name = field_name; - n_freeing_civ->m_df_type = DF_Type::int32_t; - n_freeing_civ->m_rdf_type = RDF_Type::int32_t; - n_freeing_civ->m_node_type = NodeType::Simple; - n_freeing_civ->m_address = base + offset; - n_freeing_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_freeing_civ); - - field_name = "freeing_hf"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_freedst, field_name)); - auto n_freeing_hf = new NodeSimple; - n_freeing_hf->m_field_name = field_name; - n_freeing_hf->m_df_type = DF_Type::int32_t; - n_freeing_hf->m_rdf_type = RDF_Type::int32_t; - n_freeing_hf->m_node_type = NodeType::Simple; - n_freeing_hf->m_address = base + offset; - n_freeing_hf->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_freeing_hf); - - field_name = "holding_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_freedst, field_name)); - auto n_holding_civ = new NodeSimple; - n_holding_civ->m_field_name = field_name; - n_holding_civ->m_df_type = DF_Type::int32_t; - n_holding_civ->m_rdf_type = RDF_Type::int32_t; - n_holding_civ->m_node_type = NodeType::Simple; - n_holding_civ->m_address = base + offset; - n_holding_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_holding_civ); - - field_name = "site_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_freedst, field_name)); - auto n_site_civ = new NodeSimple; - n_site_civ->m_field_name = field_name; - n_site_civ->m_df_type = DF_Type::int32_t; - n_site_civ->m_rdf_type = RDF_Type::int32_t; - n_site_civ->m_node_type = NodeType::Simple; - n_site_civ->m_address = base + offset; - n_site_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_civ); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_freedst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "rescued_hfs"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_freedst, field_name)); - auto n_rescued_hfs = new NodeVector; - n_rescued_hfs->m_field_name = field_name; - n_rescued_hfs->m_df_type = DF_Type::int32_t; - n_rescued_hfs->m_rdf_type = RDF_Type::Vector; - n_rescued_hfs->m_node_type = NodeType::Vector; - n_rescued_hfs->m_addornements = "v"; - n_rescued_hfs->m_address = base + offset; - n_rescued_hfs->m_parent = p_node_parent; - n_rescued_hfs->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_rescued_hfs); - -} -void node_from_history_event_hist_figure_simple_actionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "group_hfs"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_simple_actionst, field_name)); - auto n_group_hfs = new NodeVector; - n_group_hfs->m_field_name = field_name; - n_group_hfs->m_df_type = DF_Type::int32_t; - n_group_hfs->m_rdf_type = RDF_Type::Vector; - n_group_hfs->m_node_type = NodeType::Vector; - n_group_hfs->m_addornements = "v"; - n_group_hfs->m_address = base + offset; - n_group_hfs->m_parent = p_node_parent; - n_group_hfs->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_group_hfs); - - field_name = "type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_simple_actionst, field_name)); - auto n_type = new NodeSimple; - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::int32_t; - n_type->m_rdf_type = RDF_Type::int32_t; - n_type->m_node_type = NodeType::Simple; - n_type->m_address = base + offset; - n_type->m_comment = "0 = hf carouse"; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_simple_actionst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "structure"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_simple_actionst, field_name)); - auto n_structure = new NodeSimple; - n_structure->m_field_name = field_name; - n_structure->m_df_type = DF_Type::int32_t; - n_structure->m_rdf_type = RDF_Type::int32_t; - n_structure->m_node_type = NodeType::Simple; - n_structure->m_address = base + offset; - n_structure->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_structure); - - field_name = "region"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_simple_actionst, field_name)); - auto n_region = new NodeSimple; - n_region->m_field_name = field_name; - n_region->m_df_type = DF_Type::int32_t; - n_region->m_rdf_type = RDF_Type::int32_t; - n_region->m_node_type = NodeType::Simple; - n_region->m_address = base + offset; - n_region->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region); - - field_name = "layer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_simple_actionst, field_name)); - auto n_layer = new NodeSimple; - n_layer->m_field_name = field_name; - n_layer->m_df_type = DF_Type::int32_t; - n_layer->m_rdf_type = RDF_Type::int32_t; - n_layer->m_node_type = NodeType::Simple; - n_layer->m_address = base + offset; - n_layer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_layer); - -} -void node_from_history_event_entity_rampaged_in_sitest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "rampage_civ_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_entity_rampaged_in_sitest, field_name)); - auto n_rampage_civ_id = new NodeSimple; - n_rampage_civ_id->m_field_name = field_name; - n_rampage_civ_id->m_df_type = DF_Type::int32_t; - n_rampage_civ_id->m_rdf_type = RDF_Type::int32_t; - n_rampage_civ_id->m_node_type = NodeType::Simple; - n_rampage_civ_id->m_address = base + offset; - n_rampage_civ_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rampage_civ_id); - - field_name = "site_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_entity_rampaged_in_sitest, field_name)); - auto n_site_id = new NodeSimple; - n_site_id->m_field_name = field_name; - n_site_id->m_df_type = DF_Type::int32_t; - n_site_id->m_rdf_type = RDF_Type::int32_t; - n_site_id->m_node_type = NodeType::Simple; - n_site_id->m_address = base + offset; - n_site_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_id); - -} -void node_from_history_event_entity_fled_sitest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "fled_civ_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_entity_fled_sitest, field_name)); - auto n_fled_civ_id = new NodeSimple; - n_fled_civ_id->m_field_name = field_name; - n_fled_civ_id->m_df_type = DF_Type::int32_t; - n_fled_civ_id->m_rdf_type = RDF_Type::int32_t; - n_fled_civ_id->m_node_type = NodeType::Simple; - n_fled_civ_id->m_address = base + offset; - n_fled_civ_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_fled_civ_id); - - field_name = "site_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_entity_fled_sitest, field_name)); - auto n_site_id = new NodeSimple; - n_site_id->m_field_name = field_name; - n_site_id->m_df_type = DF_Type::int32_t; - n_site_id->m_rdf_type = RDF_Type::int32_t; - n_site_id->m_node_type = NodeType::Simple; - n_site_id->m_address = base + offset; - n_site_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_id); - -} -void node_from_tactical_situation(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_history_event_squad_vs_squadst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "a_leader_hfid"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_squad_vs_squadst, field_name)); - auto n_a_leader_hfid = new NodeSimple; - n_a_leader_hfid->m_field_name = field_name; - n_a_leader_hfid->m_df_type = DF_Type::int32_t; - n_a_leader_hfid->m_rdf_type = RDF_Type::int32_t; - n_a_leader_hfid->m_node_type = NodeType::Simple; - n_a_leader_hfid->m_address = base + offset; - n_a_leader_hfid->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_a_leader_hfid); - - field_name = "a_leadership_roll"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_squad_vs_squadst, field_name)); - auto n_a_leadership_roll = new NodeSimple; - n_a_leadership_roll->m_field_name = field_name; - n_a_leadership_roll->m_df_type = DF_Type::int32_t; - n_a_leadership_roll->m_rdf_type = RDF_Type::int32_t; - n_a_leadership_roll->m_node_type = NodeType::Simple; - n_a_leadership_roll->m_address = base + offset; - n_a_leadership_roll->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_a_leadership_roll); - - field_name = "a_hfid"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_squad_vs_squadst, field_name)); - auto n_a_hfid = new NodeVector; - n_a_hfid->m_field_name = field_name; - n_a_hfid->m_df_type = DF_Type::int32_t; - n_a_hfid->m_rdf_type = RDF_Type::Vector; - n_a_hfid->m_node_type = NodeType::Vector; - n_a_hfid->m_addornements = "v"; - n_a_hfid->m_address = base + offset; - n_a_hfid->m_parent = p_node_parent; - n_a_hfid->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_a_hfid); - - field_name = "a_squad_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_squad_vs_squadst, field_name)); - auto n_a_squad_id = new NodeSimple; - n_a_squad_id->m_field_name = field_name; - n_a_squad_id->m_df_type = DF_Type::int32_t; - n_a_squad_id->m_rdf_type = RDF_Type::int32_t; - n_a_squad_id->m_node_type = NodeType::Simple; - n_a_squad_id->m_address = base + offset; - n_a_squad_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_a_squad_id); - - field_name = "a_race"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_squad_vs_squadst, field_name)); - auto n_a_race = new NodeSimple; - n_a_race->m_field_name = field_name; - n_a_race->m_df_type = DF_Type::int32_t; - n_a_race->m_rdf_type = RDF_Type::int32_t; - n_a_race->m_node_type = NodeType::Simple; - n_a_race->m_address = base + offset; - n_a_race->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_a_race); - - field_name = "a_interaction"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_squad_vs_squadst, field_name)); - auto n_a_interaction = new NodeSimple; - n_a_interaction->m_field_name = field_name; - n_a_interaction->m_df_type = DF_Type::int32_t; - n_a_interaction->m_rdf_type = RDF_Type::int32_t; - n_a_interaction->m_node_type = NodeType::Simple; - n_a_interaction->m_address = base + offset; - n_a_interaction->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_a_interaction); - - field_name = "a_effect"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_squad_vs_squadst, field_name)); - auto n_a_effect = new NodeSimple; - n_a_effect->m_field_name = field_name; - n_a_effect->m_df_type = DF_Type::int32_t; - n_a_effect->m_rdf_type = RDF_Type::int32_t; - n_a_effect->m_node_type = NodeType::Simple; - n_a_effect->m_address = base + offset; - n_a_effect->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_a_effect); - - field_name = "a_number"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_squad_vs_squadst, field_name)); - auto n_a_number = new NodeSimple; - n_a_number->m_field_name = field_name; - n_a_number->m_df_type = DF_Type::int32_t; - n_a_number->m_rdf_type = RDF_Type::int32_t; - n_a_number->m_node_type = NodeType::Simple; - n_a_number->m_address = base + offset; - n_a_number->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_a_number); - - field_name = "a_slain"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_squad_vs_squadst, field_name)); - auto n_a_slain = new NodeSimple; - n_a_slain->m_field_name = field_name; - n_a_slain->m_df_type = DF_Type::int32_t; - n_a_slain->m_rdf_type = RDF_Type::int32_t; - n_a_slain->m_node_type = NodeType::Simple; - n_a_slain->m_address = base + offset; - n_a_slain->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_a_slain); - - field_name = "d_leader_hfid"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_squad_vs_squadst, field_name)); - auto n_d_leader_hfid = new NodeSimple; - n_d_leader_hfid->m_field_name = field_name; - n_d_leader_hfid->m_df_type = DF_Type::int32_t; - n_d_leader_hfid->m_rdf_type = RDF_Type::int32_t; - n_d_leader_hfid->m_node_type = NodeType::Simple; - n_d_leader_hfid->m_address = base + offset; - n_d_leader_hfid->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_d_leader_hfid); - - field_name = "d_leadership_roll"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_squad_vs_squadst, field_name)); - auto n_d_leadership_roll = new NodeSimple; - n_d_leadership_roll->m_field_name = field_name; - n_d_leadership_roll->m_df_type = DF_Type::int32_t; - n_d_leadership_roll->m_rdf_type = RDF_Type::int32_t; - n_d_leadership_roll->m_node_type = NodeType::Simple; - n_d_leadership_roll->m_address = base + offset; - n_d_leadership_roll->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_d_leadership_roll); - - field_name = "d_hfid"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_squad_vs_squadst, field_name)); - auto n_d_hfid = new NodeVector; - n_d_hfid->m_field_name = field_name; - n_d_hfid->m_df_type = DF_Type::int32_t; - n_d_hfid->m_rdf_type = RDF_Type::Vector; - n_d_hfid->m_node_type = NodeType::Vector; - n_d_hfid->m_addornements = "v"; - n_d_hfid->m_address = base + offset; - n_d_hfid->m_parent = p_node_parent; - n_d_hfid->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_d_hfid); - - field_name = "d_squad_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_squad_vs_squadst, field_name)); - auto n_d_squad_id = new NodeSimple; - n_d_squad_id->m_field_name = field_name; - n_d_squad_id->m_df_type = DF_Type::int32_t; - n_d_squad_id->m_rdf_type = RDF_Type::int32_t; - n_d_squad_id->m_node_type = NodeType::Simple; - n_d_squad_id->m_address = base + offset; - n_d_squad_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_d_squad_id); - - field_name = "d_race"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_squad_vs_squadst, field_name)); - auto n_d_race = new NodeSimple; - n_d_race->m_field_name = field_name; - n_d_race->m_df_type = DF_Type::int32_t; - n_d_race->m_rdf_type = RDF_Type::int32_t; - n_d_race->m_node_type = NodeType::Simple; - n_d_race->m_address = base + offset; - n_d_race->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_d_race); - - field_name = "d_interaction"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_squad_vs_squadst, field_name)); - auto n_d_interaction = new NodeSimple; - n_d_interaction->m_field_name = field_name; - n_d_interaction->m_df_type = DF_Type::int32_t; - n_d_interaction->m_rdf_type = RDF_Type::int32_t; - n_d_interaction->m_node_type = NodeType::Simple; - n_d_interaction->m_address = base + offset; - n_d_interaction->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_d_interaction); - - field_name = "d_effect"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_squad_vs_squadst, field_name)); - auto n_d_effect = new NodeSimple; - n_d_effect->m_field_name = field_name; - n_d_effect->m_df_type = DF_Type::int32_t; - n_d_effect->m_rdf_type = RDF_Type::int32_t; - n_d_effect->m_node_type = NodeType::Simple; - n_d_effect->m_address = base + offset; - n_d_effect->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_d_effect); - - field_name = "d_number"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_squad_vs_squadst, field_name)); - auto n_d_number = new NodeSimple; - n_d_number->m_field_name = field_name; - n_d_number->m_df_type = DF_Type::int32_t; - n_d_number->m_rdf_type = RDF_Type::int32_t; - n_d_number->m_node_type = NodeType::Simple; - n_d_number->m_address = base + offset; - n_d_number->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_d_number); - - field_name = "d_slain"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_squad_vs_squadst, field_name)); - auto n_d_slain = new NodeSimple; - n_d_slain->m_field_name = field_name; - n_d_slain->m_df_type = DF_Type::int32_t; - n_d_slain->m_rdf_type = RDF_Type::int32_t; - n_d_slain->m_node_type = NodeType::Simple; - n_d_slain->m_address = base + offset; - n_d_slain->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_d_slain); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_squad_vs_squadst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "structure"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_squad_vs_squadst, field_name)); - auto n_structure = new NodeSimple; - n_structure->m_field_name = field_name; - n_structure->m_df_type = DF_Type::int32_t; - n_structure->m_rdf_type = RDF_Type::int32_t; - n_structure->m_node_type = NodeType::Simple; - n_structure->m_address = base + offset; - n_structure->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_structure); - - field_name = "subregion"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_squad_vs_squadst, field_name)); - auto n_subregion = new NodeSimple; - n_subregion->m_field_name = field_name; - n_subregion->m_df_type = DF_Type::int32_t; - n_subregion->m_rdf_type = RDF_Type::int32_t; - n_subregion->m_node_type = NodeType::Simple; - n_subregion->m_address = base + offset; - n_subregion->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_subregion); - - field_name = "feature_layer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_squad_vs_squadst, field_name)); - auto n_feature_layer = new NodeSimple; - n_feature_layer->m_field_name = field_name; - n_feature_layer->m_df_type = DF_Type::int32_t; - n_feature_layer->m_rdf_type = RDF_Type::int32_t; - n_feature_layer->m_node_type = NodeType::Simple; - n_feature_layer->m_address = base + offset; - n_feature_layer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_feature_layer); - -} -void node_from_history_event_collection_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_history_event_collection(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "events"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection, field_name)); - auto n_events = new NodeVector; - n_events->m_field_name = field_name; - n_events->m_df_type = DF_Type::int32_t; - n_events->m_rdf_type = RDF_Type::Vector; - n_events->m_node_type = NodeType::Vector; - n_events->m_addornements = "v"; - n_events->m_address = base + offset; - n_events->m_parent = p_node_parent; - n_events->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_events); - - field_name = "collections"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection, field_name)); - auto n_collections = new NodeVector; - n_collections->m_field_name = field_name; - n_collections->m_df_type = DF_Type::int32_t; - n_collections->m_rdf_type = RDF_Type::Vector; - n_collections->m_node_type = NodeType::Vector; - n_collections->m_addornements = "v"; - n_collections->m_address = base + offset; - n_collections->m_parent = p_node_parent; - n_collections->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_collections); - - field_name = "start_year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection, field_name)); - auto n_start_year = new NodeSimple; - n_start_year->m_field_name = field_name; - n_start_year->m_df_type = DF_Type::int32_t; - n_start_year->m_rdf_type = RDF_Type::int32_t; - n_start_year->m_node_type = NodeType::Simple; - n_start_year->m_address = base + offset; - n_start_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_start_year); - - field_name = "end_year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection, field_name)); - auto n_end_year = new NodeSimple; - n_end_year->m_field_name = field_name; - n_end_year->m_df_type = DF_Type::int32_t; - n_end_year->m_rdf_type = RDF_Type::int32_t; - n_end_year->m_node_type = NodeType::Simple; - n_end_year->m_address = base + offset; - n_end_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_end_year); - - field_name = "start_seconds"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection, field_name)); - auto n_start_seconds = new NodeSimple; - n_start_seconds->m_field_name = field_name; - n_start_seconds->m_df_type = DF_Type::int32_t; - n_start_seconds->m_rdf_type = RDF_Type::int32_t; - n_start_seconds->m_node_type = NodeType::Simple; - n_start_seconds->m_address = base + offset; - n_start_seconds->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_start_seconds); - - field_name = "end_seconds"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection, field_name)); - auto n_end_seconds = new NodeSimple; - n_end_seconds->m_field_name = field_name; - n_end_seconds->m_df_type = DF_Type::int32_t; - n_end_seconds->m_rdf_type = RDF_Type::int32_t; - n_end_seconds->m_node_type = NodeType::Simple; - n_end_seconds->m_address = base + offset; - n_end_seconds->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_end_seconds); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection, field_name)); - auto n_flags = new NodeDFFlagArray; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::int32_t; - n_flags->m_size = 32; - n_flags->m_rdf_type = RDF_Type::DFFlagArray; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - -} -void node_from_history_event_collection_site_conqueredst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event_collection; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event_collection(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "parent_collection"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_site_conqueredst, field_name)); - auto n_parent_collection = new NodeSimple; - n_parent_collection->m_field_name = field_name; - n_parent_collection->m_df_type = DF_Type::int32_t; - n_parent_collection->m_rdf_type = RDF_Type::int32_t; - n_parent_collection->m_node_type = NodeType::Simple; - n_parent_collection->m_address = base + offset; - n_parent_collection->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_parent_collection); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_site_conqueredst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "attacker_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_site_conqueredst, field_name)); - auto n_attacker_civ = new NodeVector; - n_attacker_civ->m_field_name = field_name; - n_attacker_civ->m_df_type = DF_Type::int32_t; - n_attacker_civ->m_rdf_type = RDF_Type::Vector; - n_attacker_civ->m_node_type = NodeType::Vector; - n_attacker_civ->m_addornements = "v"; - n_attacker_civ->m_address = base + offset; - n_attacker_civ->m_parent = p_node_parent; - n_attacker_civ->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_attacker_civ); - - field_name = "defender_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_site_conqueredst, field_name)); - auto n_defender_civ = new NodeVector; - n_defender_civ->m_field_name = field_name; - n_defender_civ->m_df_type = DF_Type::int32_t; - n_defender_civ->m_rdf_type = RDF_Type::Vector; - n_defender_civ->m_node_type = NodeType::Vector; - n_defender_civ->m_addornements = "v"; - n_defender_civ->m_address = base + offset; - n_defender_civ->m_parent = p_node_parent; - n_defender_civ->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_defender_civ); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_site_conqueredst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int16_t; - n_anon_1->m_rdf_type = RDF_Type::int16_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_comment = "uninitialized"; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "ordinal"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_site_conqueredst, field_name)); - auto n_ordinal = new NodeSimple; - n_ordinal->m_field_name = field_name; - n_ordinal->m_df_type = DF_Type::int32_t; - n_ordinal->m_rdf_type = RDF_Type::int32_t; - n_ordinal->m_node_type = NodeType::Simple; - n_ordinal->m_address = base + offset; - n_ordinal->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ordinal); - -} -void node_from_history_event_collection_journeyst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event_collection; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event_collection(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "traveler_hf"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_journeyst, field_name)); - auto n_traveler_hf = new NodeVector; - n_traveler_hf->m_field_name = field_name; - n_traveler_hf->m_df_type = DF_Type::int32_t; - n_traveler_hf->m_rdf_type = RDF_Type::Vector; - n_traveler_hf->m_node_type = NodeType::Vector; - n_traveler_hf->m_addornements = "v"; - n_traveler_hf->m_address = base + offset; - n_traveler_hf->m_parent = p_node_parent; - n_traveler_hf->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_traveler_hf); - - field_name = "ordinal"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_journeyst, field_name)); - auto n_ordinal = new NodeSimple; - n_ordinal->m_field_name = field_name; - n_ordinal->m_df_type = DF_Type::int32_t; - n_ordinal->m_rdf_type = RDF_Type::int32_t; - n_ordinal->m_node_type = NodeType::Simple; - n_ordinal->m_address = base + offset; - n_ordinal->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ordinal); - -} -void node_from_history_event_collection_insurrectionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event_collection; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event_collection(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_insurrectionst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "target_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_insurrectionst, field_name)); - auto n_target_civ = new NodeSimple; - n_target_civ->m_field_name = field_name; - n_target_civ->m_df_type = DF_Type::int32_t; - n_target_civ->m_rdf_type = RDF_Type::int32_t; - n_target_civ->m_node_type = NodeType::Simple; - n_target_civ->m_address = base + offset; - n_target_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_target_civ); - - field_name = "ordinal"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_insurrectionst, field_name)); - auto n_ordinal = new NodeSimple; - n_ordinal->m_field_name = field_name; - n_ordinal->m_df_type = DF_Type::int32_t; - n_ordinal->m_rdf_type = RDF_Type::int32_t; - n_ordinal->m_node_type = NodeType::Simple; - n_ordinal->m_address = base + offset; - n_ordinal->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ordinal); - -} -void node_from_history_event_collection_occasionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event_collection; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event_collection(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_occasionst, field_name)); - auto n_civ = new NodeSimple; - n_civ->m_field_name = field_name; - n_civ->m_df_type = DF_Type::int32_t; - n_civ->m_rdf_type = RDF_Type::int32_t; - n_civ->m_node_type = NodeType::Simple; - n_civ->m_address = base + offset; - n_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_civ); - - field_name = "occasion"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_occasionst, field_name)); - auto n_occasion = new NodeSimple; - n_occasion->m_field_name = field_name; - n_occasion->m_df_type = DF_Type::int32_t; - n_occasion->m_rdf_type = RDF_Type::int32_t; - n_occasion->m_node_type = NodeType::Simple; - n_occasion->m_address = base + offset; - n_occasion->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_occasion); - - field_name = "ordinal"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_occasionst, field_name)); - auto n_ordinal = new NodeSimple; - n_ordinal->m_field_name = field_name; - n_ordinal->m_df_type = DF_Type::int32_t; - n_ordinal->m_rdf_type = RDF_Type::int32_t; - n_ordinal->m_node_type = NodeType::Simple; - n_ordinal->m_address = base + offset; - n_ordinal->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ordinal); - -} -void node_from_history_event_collection_performancest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event_collection; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event_collection(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_performancest, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_performancest, field_name)); - auto n_civ = new NodeSimple; - n_civ->m_field_name = field_name; - n_civ->m_df_type = DF_Type::int32_t; - n_civ->m_rdf_type = RDF_Type::int32_t; - n_civ->m_node_type = NodeType::Simple; - n_civ->m_address = base + offset; - n_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_civ); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_performancest, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_performancest, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "ordinal"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_performancest, field_name)); - auto n_ordinal = new NodeSimple; - n_ordinal->m_field_name = field_name; - n_ordinal->m_df_type = DF_Type::int32_t; - n_ordinal->m_rdf_type = RDF_Type::int32_t; - n_ordinal->m_node_type = NodeType::Simple; - n_ordinal->m_address = base + offset; - n_ordinal->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ordinal); - -} -void node_from_history_event_collection_competitionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event_collection; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event_collection(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_competitionst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_competitionst, field_name)); - auto n_civ = new NodeSimple; - n_civ->m_field_name = field_name; - n_civ->m_df_type = DF_Type::int32_t; - n_civ->m_rdf_type = RDF_Type::int32_t; - n_civ->m_node_type = NodeType::Simple; - n_civ->m_address = base + offset; - n_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_civ); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_competitionst, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_competitionst, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "ordinal"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_competitionst, field_name)); - auto n_ordinal = new NodeSimple; - n_ordinal->m_field_name = field_name; - n_ordinal->m_df_type = DF_Type::int32_t; - n_ordinal->m_rdf_type = RDF_Type::int32_t; - n_ordinal->m_node_type = NodeType::Simple; - n_ordinal->m_address = base + offset; - n_ordinal->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ordinal); - -} -void node_from_history_event_collection_processionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event_collection; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event_collection(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_processionst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_processionst, field_name)); - auto n_civ = new NodeSimple; - n_civ->m_field_name = field_name; - n_civ->m_df_type = DF_Type::int32_t; - n_civ->m_rdf_type = RDF_Type::int32_t; - n_civ->m_node_type = NodeType::Simple; - n_civ->m_address = base + offset; - n_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_civ); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_processionst, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_processionst, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "ordinal"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_processionst, field_name)); - auto n_ordinal = new NodeSimple; - n_ordinal->m_field_name = field_name; - n_ordinal->m_df_type = DF_Type::int32_t; - n_ordinal->m_rdf_type = RDF_Type::int32_t; - n_ordinal->m_node_type = NodeType::Simple; - n_ordinal->m_address = base + offset; - n_ordinal->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ordinal); - -} -void node_from_history_event_collection_ceremonyst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event_collection; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event_collection(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_ceremonyst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_ceremonyst, field_name)); - auto n_civ = new NodeSimple; - n_civ->m_field_name = field_name; - n_civ->m_df_type = DF_Type::int32_t; - n_civ->m_rdf_type = RDF_Type::int32_t; - n_civ->m_node_type = NodeType::Simple; - n_civ->m_address = base + offset; - n_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_civ); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_ceremonyst, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_ceremonyst, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "ordinal"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_ceremonyst, field_name)); - auto n_ordinal = new NodeSimple; - n_ordinal->m_field_name = field_name; - n_ordinal->m_df_type = DF_Type::int32_t; - n_ordinal->m_rdf_type = RDF_Type::int32_t; - n_ordinal->m_node_type = NodeType::Simple; - n_ordinal->m_address = base + offset; - n_ordinal->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ordinal); - -} -void node_from_history_event_collection_purgest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event_collection; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event_collection(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_purgest, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "adjective"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_purgest, field_name)); - auto n_adjective = new NodeSimple; - n_adjective->m_field_name = field_name; - n_adjective->m_df_type = DF_Type::Stl_string; - n_adjective->m_rdf_type = RDF_Type::Stl_string; - n_adjective->m_node_type = NodeType::Simple; - n_adjective->m_address = base + offset; - n_adjective->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_adjective); - - field_name = "ordinal"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_purgest, field_name)); - auto n_ordinal = new NodeSimple; - n_ordinal->m_field_name = field_name; - n_ordinal->m_df_type = DF_Type::int32_t; - n_ordinal->m_rdf_type = RDF_Type::int32_t; - n_ordinal->m_node_type = NodeType::Simple; - n_ordinal->m_address = base + offset; - n_ordinal->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ordinal); - -} -void node_from_era_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_init_display_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_init_media_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_init_media(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "flag"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_media, field_name)); - auto n_flag = new NodeDFFlagArray; - n_flag->m_field_name = field_name; - n_flag->m_index_enum = DF_Type::init_media_flags; - n_flag->m_df_type = DF_Type::init_media_flags; - n_flag->m_size = 3; - n_flag->m_rdf_type = RDF_Type::DFFlagArray; - n_flag->m_node_type = NodeType::Bitfield; - n_flag->m_address = base + offset; - n_flag->m_defined_in = "df.init.xml"; - n_flag->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flag); - - field_name = "volume"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_media, field_name)); - auto n_volume = new NodeSimple; - n_volume->m_field_name = field_name; - n_volume->m_df_type = DF_Type::int32_t; - n_volume->m_rdf_type = RDF_Type::int32_t; - n_volume->m_node_type = NodeType::Simple; - n_volume->m_address = base + offset; - n_volume->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_volume); - -} -void node_from_init_input_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_init_input(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "hold_time"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_input, field_name)); - auto n_hold_time = new NodeSimple; - n_hold_time->m_field_name = field_name; - n_hold_time->m_df_type = DF_Type::Long; - n_hold_time->m_rdf_type = RDF_Type::Long; - n_hold_time->m_node_type = NodeType::Simple; - n_hold_time->m_address = base + offset; - n_hold_time->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_hold_time); - - field_name = "repeat_time"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_input, field_name)); - auto n_repeat_time = new NodeSimple; - n_repeat_time->m_field_name = field_name; - n_repeat_time->m_df_type = DF_Type::Long; - n_repeat_time->m_rdf_type = RDF_Type::Long; - n_repeat_time->m_node_type = NodeType::Simple; - n_repeat_time->m_address = base + offset; - n_repeat_time->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_repeat_time); - - field_name = "macro_time"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_input, field_name)); - auto n_macro_time = new NodeSimple; - n_macro_time->m_field_name = field_name; - n_macro_time->m_df_type = DF_Type::Long; - n_macro_time->m_rdf_type = RDF_Type::Long; - n_macro_time->m_node_type = NodeType::Simple; - n_macro_time->m_address = base + offset; - n_macro_time->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_macro_time); - - field_name = "pause_zoom_no_interface_ms"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_input, field_name)); - auto n_pause_zoom_no_interface_ms = new NodeSimple; - n_pause_zoom_no_interface_ms->m_field_name = field_name; - n_pause_zoom_no_interface_ms->m_df_type = DF_Type::Long; - n_pause_zoom_no_interface_ms->m_rdf_type = RDF_Type::Long; - n_pause_zoom_no_interface_ms->m_node_type = NodeType::Simple; - n_pause_zoom_no_interface_ms->m_address = base + offset; - n_pause_zoom_no_interface_ms->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pause_zoom_no_interface_ms); - - field_name = "flag"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_input, field_name)); - auto n_flag = new NodeDFFlagArray; - n_flag->m_field_name = field_name; - n_flag->m_index_enum = DF_Type::init_input_flags; - n_flag->m_df_type = DF_Type::init_input_flags; - n_flag->m_size = 2; - n_flag->m_rdf_type = RDF_Type::DFFlagArray; - n_flag->m_node_type = NodeType::Bitfield; - n_flag->m_address = base + offset; - n_flag->m_defined_in = "df.init.xml"; - n_flag->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flag); - - field_name = "zoom_speed"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_input, field_name)); - auto n_zoom_speed = new NodeSimple; - n_zoom_speed->m_field_name = field_name; - n_zoom_speed->m_df_type = DF_Type::Long; - n_zoom_speed->m_rdf_type = RDF_Type::Long; - n_zoom_speed->m_node_type = NodeType::Simple; - n_zoom_speed->m_address = base + offset; - n_zoom_speed->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_zoom_speed); - - field_name = "repeat_accel_start"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_input, field_name)); - auto n_repeat_accel_start = new NodeSimple; - n_repeat_accel_start->m_field_name = field_name; - n_repeat_accel_start->m_df_type = DF_Type::int32_t; - n_repeat_accel_start->m_rdf_type = RDF_Type::int32_t; - n_repeat_accel_start->m_node_type = NodeType::Simple; - n_repeat_accel_start->m_address = base + offset; - n_repeat_accel_start->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_repeat_accel_start); - - field_name = "repeat_accel_limit"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_input, field_name)); - auto n_repeat_accel_limit = new NodeSimple; - n_repeat_accel_limit->m_field_name = field_name; - n_repeat_accel_limit->m_df_type = DF_Type::int32_t; - n_repeat_accel_limit->m_rdf_type = RDF_Type::int32_t; - n_repeat_accel_limit->m_node_type = NodeType::Simple; - n_repeat_accel_limit->m_address = base + offset; - n_repeat_accel_limit->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_repeat_accel_limit); - -} -void node_from_init_window_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_init_window(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "flag"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_window, field_name)); - auto n_flag = new NodeDFFlagArray; - n_flag->m_field_name = field_name; - n_flag->m_index_enum = DF_Type::init_window_flags; - n_flag->m_df_type = DF_Type::init_window_flags; - n_flag->m_size = 4; - n_flag->m_rdf_type = RDF_Type::DFFlagArray; - n_flag->m_node_type = NodeType::Bitfield; - n_flag->m_address = base + offset; - n_flag->m_defined_in = "df.init.xml"; - n_flag->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flag); - -} -void node_from_tile_page(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "token"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tile_page, field_name)); - auto n_token = new NodeSimple; - n_token->m_field_name = field_name; - n_token->m_df_type = DF_Type::Stl_string; - n_token->m_rdf_type = RDF_Type::Stl_string; - n_token->m_node_type = NodeType::Simple; - n_token->m_address = base + offset; - n_token->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_token); - - field_name = "filename"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tile_page, field_name)); - auto n_filename = new NodeSimple; - n_filename->m_field_name = field_name; - n_filename->m_df_type = DF_Type::Stl_string; - n_filename->m_rdf_type = RDF_Type::Stl_string; - n_filename->m_node_type = NodeType::Simple; - n_filename->m_address = base + offset; - n_filename->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_filename); - - field_name = "tile_dim_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tile_page, field_name)); - auto n_tile_dim_x = new NodeSimple; - n_tile_dim_x->m_field_name = field_name; - n_tile_dim_x->m_df_type = DF_Type::int16_t; - n_tile_dim_x->m_rdf_type = RDF_Type::int16_t; - n_tile_dim_x->m_node_type = NodeType::Simple; - n_tile_dim_x->m_address = base + offset; - n_tile_dim_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tile_dim_x); - - field_name = "tile_dim_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tile_page, field_name)); - auto n_tile_dim_y = new NodeSimple; - n_tile_dim_y->m_field_name = field_name; - n_tile_dim_y->m_df_type = DF_Type::int16_t; - n_tile_dim_y->m_rdf_type = RDF_Type::int16_t; - n_tile_dim_y->m_node_type = NodeType::Simple; - n_tile_dim_y->m_address = base + offset; - n_tile_dim_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tile_dim_y); - - field_name = "page_dim_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tile_page, field_name)); - auto n_page_dim_x = new NodeSimple; - n_page_dim_x->m_field_name = field_name; - n_page_dim_x->m_df_type = DF_Type::int16_t; - n_page_dim_x->m_rdf_type = RDF_Type::int16_t; - n_page_dim_x->m_node_type = NodeType::Simple; - n_page_dim_x->m_address = base + offset; - n_page_dim_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_page_dim_x); - - field_name = "page_dim_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tile_page, field_name)); - auto n_page_dim_y = new NodeSimple; - n_page_dim_y->m_field_name = field_name; - n_page_dim_y->m_df_type = DF_Type::int16_t; - n_page_dim_y->m_rdf_type = RDF_Type::int16_t; - n_page_dim_y->m_node_type = NodeType::Simple; - n_page_dim_y->m_address = base + offset; - n_page_dim_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_page_dim_y); - - field_name = "texpos"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tile_page, field_name)); - auto n_texpos = new NodeVector; - n_texpos->m_field_name = field_name; - n_texpos->m_df_type = DF_Type::int32_t; - n_texpos->m_rdf_type = RDF_Type::Vector; - n_texpos->m_node_type = NodeType::Vector; - n_texpos->m_addornements = "v"; - n_texpos->m_address = base + offset; - n_texpos->m_parent = p_node_parent; - n_texpos->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_texpos); - - field_name = "datapos"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tile_page, field_name)); - auto n_datapos = new NodeVector; - n_datapos->m_field_name = field_name; - n_datapos->m_df_type = DF_Type::int32_t; - n_datapos->m_rdf_type = RDF_Type::Vector; - n_datapos->m_node_type = NodeType::Vector; - n_datapos->m_addornements = "v"; - n_datapos->m_address = base + offset; - n_datapos->m_parent = p_node_parent; - n_datapos->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_datapos); - - field_name = "texpos_gs"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tile_page, field_name)); - auto n_texpos_gs = new NodeVector; - n_texpos_gs->m_field_name = field_name; - n_texpos_gs->m_df_type = DF_Type::int32_t; - n_texpos_gs->m_rdf_type = RDF_Type::Vector; - n_texpos_gs->m_node_type = NodeType::Vector; - n_texpos_gs->m_addornements = "v"; - n_texpos_gs->m_address = base + offset; - n_texpos_gs->m_parent = p_node_parent; - n_texpos_gs->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_texpos_gs); - - field_name = "datapos_gs"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tile_page, field_name)); - auto n_datapos_gs = new NodeVector; - n_datapos_gs->m_field_name = field_name; - n_datapos_gs->m_df_type = DF_Type::int32_t; - n_datapos_gs->m_rdf_type = RDF_Type::Vector; - n_datapos_gs->m_node_type = NodeType::Vector; - n_datapos_gs->m_addornements = "v"; - n_datapos_gs->m_address = base + offset; - n_datapos_gs->m_parent = p_node_parent; - n_datapos_gs->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_datapos_gs); - - field_name = "loaded"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tile_page, field_name)); - auto n_loaded = new NodeSimple; - n_loaded->m_field_name = field_name; - n_loaded->m_df_type = DF_Type::Bool; - n_loaded->m_rdf_type = RDF_Type::Bool; - n_loaded->m_node_type = NodeType::Simple; - n_loaded->m_address = base + offset; - n_loaded->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_loaded); - -} -void node_from_interaction_effect_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_interaction_effect_location_hint(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_interaction_source_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_interaction_source(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_source, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "frequency"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_source, field_name)); - auto n_frequency = new NodeSimple; - n_frequency->m_field_name = field_name; - n_frequency->m_df_type = DF_Type::int32_t; - n_frequency->m_rdf_type = RDF_Type::int32_t; - n_frequency->m_node_type = NodeType::Simple; - n_frequency->m_address = base + offset; - n_frequency->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_frequency); - - field_name = "name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_source, field_name)); - auto n_name = new NodeSimple; - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Stl_string; - n_name->m_node_type = NodeType::Simple; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "hist_string_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_source, field_name)); - auto n_hist_string_1 = new NodeSimple; - n_hist_string_1->m_field_name = field_name; - n_hist_string_1->m_df_type = DF_Type::Stl_string; - n_hist_string_1->m_rdf_type = RDF_Type::Stl_string; - n_hist_string_1->m_node_type = NodeType::Simple; - n_hist_string_1->m_address = base + offset; - n_hist_string_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_hist_string_1); - - field_name = "hist_string_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_source, field_name)); - auto n_hist_string_2 = new NodeSimple; - n_hist_string_2->m_field_name = field_name; - n_hist_string_2->m_df_type = DF_Type::Stl_string; - n_hist_string_2->m_rdf_type = RDF_Type::Stl_string; - n_hist_string_2->m_node_type = NodeType::Simple; - n_hist_string_2->m_address = base + offset; - n_hist_string_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_hist_string_2); - -} -void node_from_interaction_source_regionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::interaction_source; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_interaction_source(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "region_flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_source_regionst, field_name)); - auto n_region_flags = new NodeBitfield; - n_region_flags->m_field_name = field_name; - n_region_flags->m_df_type = DF_Type::interaction_source_regionst__T_region_flags; - n_region_flags->m_rdf_type = RDF_Type::Bitfield; - n_region_flags->m_node_type = NodeType::Bitfield; - n_region_flags->m_address = base + offset; - n_region_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region_flags); - - field_name = "regions"; - auto n_regions = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_source_regionst, field_name)); - n_regions->m_field_name = field_name; - n_regions->m_df_type = DF_Type::int8_t; - n_regions->m_rdf_type = RDF_Type::Array; - n_regions->m_node_type = NodeType::Array; - n_regions->m_index_enum = DF_Type::worldgen_region_type; - n_regions->m_addornements = "[10"; - n_regions->m_array_size = 10; - n_regions->m_address = base + offset; - n_regions->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_regions); - -} -void node_from_interaction_source_disturbancest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::interaction_source; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_interaction_source(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_source_disturbancest, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_interaction_source_usage_hint(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_interaction_source_attackst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::interaction_source; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_interaction_source(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_source_attackst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_interaction_source_ingestionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::interaction_source; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_interaction_source(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_source_ingestionst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_interaction_source_creature_actionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::interaction_source; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_interaction_source(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_source_creature_actionst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_interaction_source_underground_specialst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::interaction_source; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_interaction_source(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_interaction_target_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_interaction_target_location_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_interaction_target_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "affected_creature_str"; - auto n_affected_creature_str = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_target_info, field_name)); - n_affected_creature_str->m_field_name = field_name; - n_affected_creature_str->m_df_type = DF_Type::Stl_string; - n_affected_creature_str->m_rdf_type = RDF_Type::Array; - n_affected_creature_str->m_node_type = NodeType::Array; - n_affected_creature_str->m_addornements = "[2v*"; - n_affected_creature_str->m_array_size = 2; - n_affected_creature_str->m_address = base + offset; - n_affected_creature_str->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_affected_creature_str); - - field_name = "affected_creature"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_target_info, field_name)); - auto n_affected_creature = new NodeVector; - n_affected_creature->m_field_name = field_name; - n_affected_creature->m_df_type = DF_Type::int32_t; - n_affected_creature->m_rdf_type = RDF_Type::Vector; - n_affected_creature->m_node_type = NodeType::Vector; - n_affected_creature->m_addornements = "v"; - n_affected_creature->m_address = base + offset; - n_affected_creature->m_parent = p_node_parent; - n_affected_creature->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_affected_creature); - - field_name = "affected_class"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_target_info, field_name)); - auto n_affected_class = new NodeVector; - n_affected_class->m_field_name = field_name; - n_affected_class->m_df_type = DF_Type::Stl_string; - n_affected_class->m_rdf_type = RDF_Type::Vector; - n_affected_class->m_node_type = NodeType::Vector; - n_affected_class->m_addornements = "v*"; - n_affected_class->m_address = base + offset; - n_affected_class->m_parent = p_node_parent; - n_affected_class->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_affected_class); - - field_name = "immune_creature_str"; - auto n_immune_creature_str = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_target_info, field_name)); - n_immune_creature_str->m_field_name = field_name; - n_immune_creature_str->m_df_type = DF_Type::Stl_string; - n_immune_creature_str->m_rdf_type = RDF_Type::Array; - n_immune_creature_str->m_node_type = NodeType::Array; - n_immune_creature_str->m_addornements = "[2v*"; - n_immune_creature_str->m_array_size = 2; - n_immune_creature_str->m_address = base + offset; - n_immune_creature_str->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_immune_creature_str); - - field_name = "immune_creature"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_target_info, field_name)); - auto n_immune_creature = new NodeVector; - n_immune_creature->m_field_name = field_name; - n_immune_creature->m_df_type = DF_Type::int32_t; - n_immune_creature->m_rdf_type = RDF_Type::Vector; - n_immune_creature->m_node_type = NodeType::Vector; - n_immune_creature->m_addornements = "v"; - n_immune_creature->m_address = base + offset; - n_immune_creature->m_parent = p_node_parent; - n_immune_creature->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_immune_creature); - - field_name = "immune_class"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_target_info, field_name)); - auto n_immune_class = new NodeVector; - n_immune_class->m_field_name = field_name; - n_immune_class->m_df_type = DF_Type::Stl_string; - n_immune_class->m_rdf_type = RDF_Type::Vector; - n_immune_class->m_node_type = NodeType::Vector; - n_immune_class->m_addornements = "v*"; - n_immune_class->m_address = base + offset; - n_immune_class->m_parent = p_node_parent; - n_immune_class->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_immune_class); - - field_name = "forbidden_syndrome_class"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_target_info, field_name)); - auto n_forbidden_syndrome_class = new NodeVector; - n_forbidden_syndrome_class->m_field_name = field_name; - n_forbidden_syndrome_class->m_df_type = DF_Type::Stl_string; - n_forbidden_syndrome_class->m_rdf_type = RDF_Type::Vector; - n_forbidden_syndrome_class->m_node_type = NodeType::Vector; - n_forbidden_syndrome_class->m_addornements = "v*"; - n_forbidden_syndrome_class->m_address = base + offset; - n_forbidden_syndrome_class->m_parent = p_node_parent; - n_forbidden_syndrome_class->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_forbidden_syndrome_class); - - field_name = "requires_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_target_info, field_name)); - auto n_requires_1 = new NodeSimple; - n_requires_1->m_field_name = field_name; - n_requires_1->m_df_type = DF_Type::int32_t; - n_requires_1->m_rdf_type = RDF_Type::int32_t; - n_requires_1->m_node_type = NodeType::Simple; - n_requires_1->m_address = base + offset; - n_requires_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_requires_1); - - field_name = "requires_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_target_info, field_name)); - auto n_requires_2 = new NodeSimple; - n_requires_2->m_field_name = field_name; - n_requires_2->m_df_type = DF_Type::int32_t; - n_requires_2->m_rdf_type = RDF_Type::int32_t; - n_requires_2->m_node_type = NodeType::Simple; - n_requires_2->m_address = base + offset; - n_requires_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_requires_2); - - field_name = "forbidden_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_target_info, field_name)); - auto n_forbidden_1 = new NodeSimple; - n_forbidden_1->m_field_name = field_name; - n_forbidden_1->m_df_type = DF_Type::int32_t; - n_forbidden_1->m_rdf_type = RDF_Type::int32_t; - n_forbidden_1->m_node_type = NodeType::Simple; - n_forbidden_1->m_address = base + offset; - n_forbidden_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_forbidden_1); - - field_name = "forbidden_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_target_info, field_name)); - auto n_forbidden_2 = new NodeSimple; - n_forbidden_2->m_field_name = field_name; - n_forbidden_2->m_df_type = DF_Type::int32_t; - n_forbidden_2->m_rdf_type = RDF_Type::int32_t; - n_forbidden_2->m_node_type = NodeType::Simple; - n_forbidden_2->m_address = base + offset; - n_forbidden_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_forbidden_2); - - field_name = "restrictions"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_target_info, field_name)); - auto n_restrictions = new NodeBitfield; - n_restrictions->m_field_name = field_name; - n_restrictions->m_df_type = DF_Type::interaction_target_info__T_restrictions; - n_restrictions->m_rdf_type = RDF_Type::Bitfield; - n_restrictions->m_node_type = NodeType::Bitfield; - n_restrictions->m_address = base + offset; - n_restrictions->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_restrictions); - -} -void node_from_breath_attack_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_interaction_instance(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_instance, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "interaction_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_instance, field_name)); - auto n_interaction_id = new NodeSimple; - n_interaction_id->m_field_name = field_name; - n_interaction_id->m_df_type = DF_Type::int32_t; - n_interaction_id->m_rdf_type = RDF_Type::int32_t; - n_interaction_id->m_node_type = NodeType::Simple; - n_interaction_id->m_address = base + offset; - n_interaction_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_interaction_id); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_instance, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "region_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_instance, field_name)); - auto n_region_index = new NodeSimple; - n_region_index->m_field_name = field_name; - n_region_index->m_df_type = DF_Type::int32_t; - n_region_index->m_rdf_type = RDF_Type::int32_t; - n_region_index->m_node_type = NodeType::Simple; - n_region_index->m_address = base + offset; - n_region_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region_index); - - field_name = "affected_units"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_instance, field_name)); - auto n_affected_units = new NodeVector; - n_affected_units->m_field_name = field_name; - n_affected_units->m_df_type = DF_Type::int32_t; - n_affected_units->m_rdf_type = RDF_Type::Vector; - n_affected_units->m_node_type = NodeType::Vector; - n_affected_units->m_addornements = "v"; - n_affected_units->m_address = base + offset; - n_affected_units->m_comment = "IDs of units affected by the regional interaction"; - n_affected_units->m_parent = p_node_parent; - n_affected_units->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_affected_units); - -} -void node_from_item_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_weapon_attack(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "edged"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::weapon_attack, field_name)); - auto n_edged = new NodeSimple; - n_edged->m_field_name = field_name; - n_edged->m_df_type = DF_Type::Bool; - n_edged->m_rdf_type = RDF_Type::Bool; - n_edged->m_node_type = NodeType::Simple; - n_edged->m_address = base + offset; - n_edged->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_edged); - - field_name = "contact"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::weapon_attack, field_name)); - auto n_contact = new NodeSimple; - n_contact->m_field_name = field_name; - n_contact->m_df_type = DF_Type::int32_t; - n_contact->m_rdf_type = RDF_Type::int32_t; - n_contact->m_node_type = NodeType::Simple; - n_contact->m_address = base + offset; - n_contact->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_contact); - - field_name = "penetration"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::weapon_attack, field_name)); - auto n_penetration = new NodeSimple; - n_penetration->m_field_name = field_name; - n_penetration->m_df_type = DF_Type::int32_t; - n_penetration->m_rdf_type = RDF_Type::int32_t; - n_penetration->m_node_type = NodeType::Simple; - n_penetration->m_address = base + offset; - n_penetration->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_penetration); - - field_name = "velocity_mult"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::weapon_attack, field_name)); - auto n_velocity_mult = new NodeSimple; - n_velocity_mult->m_field_name = field_name; - n_velocity_mult->m_df_type = DF_Type::int32_t; - n_velocity_mult->m_rdf_type = RDF_Type::int32_t; - n_velocity_mult->m_node_type = NodeType::Simple; - n_velocity_mult->m_address = base + offset; - n_velocity_mult->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_velocity_mult); - - field_name = "verb_2nd"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::weapon_attack, field_name)); - auto n_verb_2nd = new NodeSimple; - n_verb_2nd->m_field_name = field_name; - n_verb_2nd->m_df_type = DF_Type::Stl_string; - n_verb_2nd->m_rdf_type = RDF_Type::Stl_string; - n_verb_2nd->m_node_type = NodeType::Simple; - n_verb_2nd->m_address = base + offset; - n_verb_2nd->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_verb_2nd); - - field_name = "verb_3rd"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::weapon_attack, field_name)); - auto n_verb_3rd = new NodeSimple; - n_verb_3rd->m_field_name = field_name; - n_verb_3rd->m_df_type = DF_Type::Stl_string; - n_verb_3rd->m_rdf_type = RDF_Type::Stl_string; - n_verb_3rd->m_node_type = NodeType::Simple; - n_verb_3rd->m_address = base + offset; - n_verb_3rd->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_verb_3rd); - - field_name = "noun"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::weapon_attack, field_name)); - auto n_noun = new NodeSimple; - n_noun->m_field_name = field_name; - n_noun->m_df_type = DF_Type::Stl_string; - n_noun->m_rdf_type = RDF_Type::Stl_string; - n_noun->m_node_type = NodeType::Simple; - n_noun->m_address = base + offset; - n_noun->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_noun); - - field_name = "prepare"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::weapon_attack, field_name)); - auto n_prepare = new NodeSimple; - n_prepare->m_field_name = field_name; - n_prepare->m_df_type = DF_Type::int32_t; - n_prepare->m_rdf_type = RDF_Type::int32_t; - n_prepare->m_node_type = NodeType::Simple; - n_prepare->m_address = base + offset; - n_prepare->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_prepare); - - field_name = "recover"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::weapon_attack, field_name)); - auto n_recover = new NodeSimple; - n_recover->m_field_name = field_name; - n_recover->m_df_type = DF_Type::int32_t; - n_recover->m_rdf_type = RDF_Type::int32_t; - n_recover->m_node_type = NodeType::Simple; - n_recover->m_address = base + offset; - n_recover->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_recover); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::weapon_attack, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::weapon_attack__T_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - -} -void node_from_itemdef(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::Stl_string; - n_id->m_rdf_type = RDF_Type::Stl_string; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef, field_name)); - auto n_subtype = new NodeSimple; - n_subtype->m_field_name = field_name; - n_subtype->m_df_type = DF_Type::int16_t; - n_subtype->m_rdf_type = RDF_Type::int16_t; - n_subtype->m_node_type = NodeType::Simple; - n_subtype->m_address = base + offset; - n_subtype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_subtype); - - field_name = "base_flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef, field_name)); - auto n_base_flags = new NodeDFFlagArray; - n_base_flags->m_field_name = field_name; - n_base_flags->m_df_type = DF_Type::int32_t; - n_base_flags->m_size = 32; - n_base_flags->m_rdf_type = RDF_Type::DFFlagArray; - n_base_flags->m_node_type = NodeType::Bitfield; - n_base_flags->m_address = base + offset; - n_base_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_base_flags); - - field_name = "source_hfid"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef, field_name)); - auto n_source_hfid = new NodeSimple; - n_source_hfid->m_field_name = field_name; - n_source_hfid->m_df_type = DF_Type::int32_t; - n_source_hfid->m_rdf_type = RDF_Type::int32_t; - n_source_hfid->m_node_type = NodeType::Simple; - n_source_hfid->m_address = base + offset; - n_source_hfid->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_source_hfid); - - field_name = "source_enid"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef, field_name)); - auto n_source_enid = new NodeSimple; - n_source_enid->m_field_name = field_name; - n_source_enid->m_df_type = DF_Type::int32_t; - n_source_enid->m_rdf_type = RDF_Type::int32_t; - n_source_enid->m_node_type = NodeType::Simple; - n_source_enid->m_address = base + offset; - n_source_enid->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_source_enid); - - field_name = "raw_strings"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef, field_name)); - auto n_raw_strings = new NodeVector; - n_raw_strings->m_field_name = field_name; - n_raw_strings->m_df_type = DF_Type::Stl_string; - n_raw_strings->m_rdf_type = RDF_Type::Vector; - n_raw_strings->m_node_type = NodeType::Vector; - n_raw_strings->m_addornements = "v*"; - n_raw_strings->m_address = base + offset; - n_raw_strings->m_parent = p_node_parent; - n_raw_strings->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_raw_strings); - -} -void node_from_ammo_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_armor_general_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_armor_properties(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::armor_properties, field_name)); - auto n_flags = new NodeDFFlagArray; - n_flags->m_field_name = field_name; - n_flags->m_index_enum = DF_Type::armor_general_flags; - n_flags->m_df_type = DF_Type::armor_general_flags; - n_flags->m_size = 11; - n_flags->m_rdf_type = RDF_Type::DFFlagArray; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_defined_in = "df.item-raws.xml"; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "layer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::armor_properties, field_name)); - auto n_layer = new NodeSimple; - n_layer->m_field_name = field_name; - n_layer->m_df_type = DF_Type::int32_t; - n_layer->m_rdf_type = RDF_Type::int32_t; - n_layer->m_node_type = NodeType::Simple; - n_layer->m_address = base + offset; - n_layer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_layer); - - field_name = "layer_size"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::armor_properties, field_name)); - auto n_layer_size = new NodeSimple; - n_layer_size->m_field_name = field_name; - n_layer_size->m_df_type = DF_Type::int16_t; - n_layer_size->m_rdf_type = RDF_Type::int16_t; - n_layer_size->m_node_type = NodeType::Simple; - n_layer_size->m_address = base + offset; - n_layer_size->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_layer_size); - - field_name = "layer_permit"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::armor_properties, field_name)); - auto n_layer_permit = new NodeSimple; - n_layer_permit->m_field_name = field_name; - n_layer_permit->m_df_type = DF_Type::int16_t; - n_layer_permit->m_rdf_type = RDF_Type::int16_t; - n_layer_permit->m_node_type = NodeType::Simple; - n_layer_permit->m_address = base + offset; - n_layer_permit->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_layer_permit); - - field_name = "coverage"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::armor_properties, field_name)); - auto n_coverage = new NodeSimple; - n_coverage->m_field_name = field_name; - n_coverage->m_df_type = DF_Type::int16_t; - n_coverage->m_rdf_type = RDF_Type::int16_t; - n_coverage->m_node_type = NodeType::Simple; - n_coverage->m_address = base + offset; - n_coverage->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_coverage); - -} -void node_from_armor_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_itemdef_foodst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::itemdef; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_itemdef(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_foodst, field_name)); - auto n_name = new NodeSimple; - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Stl_string; - n_name->m_node_type = NodeType::Simple; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "level"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_foodst, field_name)); - auto n_level = new NodeSimple; - n_level->m_field_name = field_name; - n_level->m_df_type = DF_Type::int16_t; - n_level->m_rdf_type = RDF_Type::int16_t; - n_level->m_node_type = NodeType::Simple; - n_level->m_address = base + offset; - n_level->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_level); - -} -void node_from_gloves_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_helm_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_instrument_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_sound_production_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_pitch_choice_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_tuning_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_timbre_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_instrument_piece(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::instrument_piece, field_name)); - auto n_type = new NodeSimple; - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::Stl_string; - n_type->m_rdf_type = RDF_Type::Stl_string; - n_type->m_node_type = NodeType::Simple; - n_type->m_address = base + offset; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::instrument_piece, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::Stl_string; - n_id->m_rdf_type = RDF_Type::Stl_string; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::instrument_piece, field_name)); - auto n_index = new NodeSimple; - n_index->m_field_name = field_name; - n_index->m_df_type = DF_Type::int32_t; - n_index->m_rdf_type = RDF_Type::int32_t; - n_index->m_node_type = NodeType::Simple; - n_index->m_address = base + offset; - n_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_index); - - field_name = "name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::instrument_piece, field_name)); - auto n_name = new NodeSimple; - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Stl_string; - n_name->m_node_type = NodeType::Simple; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "name_plural"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::instrument_piece, field_name)); - auto n_name_plural = new NodeSimple; - n_name_plural->m_field_name = field_name; - n_name_plural->m_df_type = DF_Type::Stl_string; - n_name_plural->m_rdf_type = RDF_Type::Stl_string; - n_name_plural->m_node_type = NodeType::Simple; - n_name_plural->m_address = base + offset; - n_name_plural->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name_plural); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::instrument_piece, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::instrument_piece__T_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - -} -void node_from_pants_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_itemdef_shieldst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::itemdef; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_itemdef(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_shieldst, field_name)); - auto n_name = new NodeSimple; - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Stl_string; - n_name->m_node_type = NodeType::Simple; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "name_plural"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_shieldst, field_name)); - auto n_name_plural = new NodeSimple; - n_name_plural->m_field_name = field_name; - n_name_plural->m_df_type = DF_Type::Stl_string; - n_name_plural->m_rdf_type = RDF_Type::Stl_string; - n_name_plural->m_node_type = NodeType::Simple; - n_name_plural->m_address = base + offset; - n_name_plural->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name_plural); - - field_name = "adjective"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_shieldst, field_name)); - auto n_adjective = new NodeSimple; - n_adjective->m_field_name = field_name; - n_adjective->m_df_type = DF_Type::Stl_string; - n_adjective->m_rdf_type = RDF_Type::Stl_string; - n_adjective->m_node_type = NodeType::Simple; - n_adjective->m_address = base + offset; - n_adjective->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_adjective); - - field_name = "value"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_shieldst, field_name)); - auto n_value = new NodeSimple; - n_value->m_field_name = field_name; - n_value->m_df_type = DF_Type::int32_t; - n_value->m_rdf_type = RDF_Type::int32_t; - n_value->m_node_type = NodeType::Simple; - n_value->m_address = base + offset; - n_value->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_value); - - field_name = "blockchance"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_shieldst, field_name)); - auto n_blockchance = new NodeSimple; - n_blockchance->m_field_name = field_name; - n_blockchance->m_df_type = DF_Type::int32_t; - n_blockchance->m_rdf_type = RDF_Type::int32_t; - n_blockchance->m_node_type = NodeType::Simple; - n_blockchance->m_address = base + offset; - n_blockchance->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_blockchance); - - field_name = "armorlevel"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_shieldst, field_name)); - auto n_armorlevel = new NodeSimple; - n_armorlevel->m_field_name = field_name; - n_armorlevel->m_df_type = DF_Type::int8_t; - n_armorlevel->m_rdf_type = RDF_Type::int8_t; - n_armorlevel->m_node_type = NodeType::Simple; - n_armorlevel->m_address = base + offset; - n_armorlevel->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_armorlevel); - - field_name = "upstep"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_shieldst, field_name)); - auto n_upstep = new NodeSimple; - n_upstep->m_field_name = field_name; - n_upstep->m_df_type = DF_Type::int16_t; - n_upstep->m_rdf_type = RDF_Type::int16_t; - n_upstep->m_node_type = NodeType::Simple; - n_upstep->m_address = base + offset; - n_upstep->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_upstep); - - field_name = "material_size"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_shieldst, field_name)); - auto n_material_size = new NodeSimple; - n_material_size->m_field_name = field_name; - n_material_size->m_df_type = DF_Type::int32_t; - n_material_size->m_rdf_type = RDF_Type::int32_t; - n_material_size->m_node_type = NodeType::Simple; - n_material_size->m_address = base + offset; - n_material_size->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_material_size); - -} -void node_from_shoes_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_itemdef_siegeammost(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::itemdef; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_itemdef(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_siegeammost, field_name)); - auto n_name = new NodeSimple; - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Stl_string; - n_name->m_node_type = NodeType::Simple; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "name_plural"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_siegeammost, field_name)); - auto n_name_plural = new NodeSimple; - n_name_plural->m_field_name = field_name; - n_name_plural->m_df_type = DF_Type::Stl_string; - n_name_plural->m_rdf_type = RDF_Type::Stl_string; - n_name_plural->m_node_type = NodeType::Simple; - n_name_plural->m_address = base + offset; - n_name_plural->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name_plural); - - field_name = "ammo_class"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_siegeammost, field_name)); - auto n_ammo_class = new NodeSimple; - n_ammo_class->m_field_name = field_name; - n_ammo_class->m_df_type = DF_Type::Stl_string; - n_ammo_class->m_rdf_type = RDF_Type::Stl_string; - n_ammo_class->m_node_type = NodeType::Simple; - n_ammo_class->m_address = base + offset; - n_ammo_class->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ammo_class); - -} -void node_from_tool_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_tool_uses(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_toy_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_itemdef_toyst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::itemdef; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_itemdef(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_toyst, field_name)); - auto n_name = new NodeSimple; - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Stl_string; - n_name->m_node_type = NodeType::Simple; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "name_plural"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_toyst, field_name)); - auto n_name_plural = new NodeSimple; - n_name_plural->m_field_name = field_name; - n_name_plural->m_df_type = DF_Type::Stl_string; - n_name_plural->m_rdf_type = RDF_Type::Stl_string; - n_name_plural->m_node_type = NodeType::Simple; - n_name_plural->m_address = base + offset; - n_name_plural->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name_plural); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_toyst, field_name)); - auto n_flags = new NodeDFFlagArray; - n_flags->m_field_name = field_name; - n_flags->m_index_enum = DF_Type::toy_flags; - n_flags->m_df_type = DF_Type::toy_flags; - n_flags->m_size = 1; - n_flags->m_rdf_type = RDF_Type::DFFlagArray; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_defined_in = "df.item-raws.xml"; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - -} -void node_from_trapcomp_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_weapon_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_items_other_id(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_job_item_vector_id(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_improvement_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_itemimprovement_specific_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_written_content_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_written_content_style(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_engraving_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_item_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_item_flags2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_item_magicness_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_temperaturest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "whole"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::temperaturest, field_name)); - auto n_whole = new NodeSimple; - n_whole->m_field_name = field_name; - n_whole->m_df_type = DF_Type::uint16_t; - n_whole->m_rdf_type = RDF_Type::uint16_t; - n_whole->m_node_type = NodeType::Simple; - n_whole->m_address = base + offset; - n_whole->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_whole); - - field_name = "fraction"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::temperaturest, field_name)); - auto n_fraction = new NodeSimple; - n_fraction->m_field_name = field_name; - n_fraction->m_df_type = DF_Type::int16_t; - n_fraction->m_rdf_type = RDF_Type::int16_t; - n_fraction->m_node_type = NodeType::Simple; - n_fraction->m_address = base + offset; - n_fraction->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_fraction); - -} -void node_from_item_quality(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_slab_engraving_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_body_part_status(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_body_layer_status(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_body_size_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "size_cur"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_size_info, field_name)); - auto n_size_cur = new NodeSimple; - n_size_cur->m_field_name = field_name; - n_size_cur->m_df_type = DF_Type::int32_t; - n_size_cur->m_rdf_type = RDF_Type::int32_t; - n_size_cur->m_node_type = NodeType::Simple; - n_size_cur->m_address = base + offset; - n_size_cur->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_size_cur); - - field_name = "size_base"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_size_info, field_name)); - auto n_size_base = new NodeSimple; - n_size_base->m_field_name = field_name; - n_size_base->m_df_type = DF_Type::int32_t; - n_size_base->m_rdf_type = RDF_Type::int32_t; - n_size_base->m_node_type = NodeType::Simple; - n_size_base->m_address = base + offset; - n_size_base->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_size_base); - - field_name = "area_cur"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_size_info, field_name)); - auto n_area_cur = new NodeSimple; - n_area_cur->m_field_name = field_name; - n_area_cur->m_df_type = DF_Type::int32_t; - n_area_cur->m_rdf_type = RDF_Type::int32_t; - n_area_cur->m_node_type = NodeType::Simple; - n_area_cur->m_address = base + offset; - n_area_cur->m_comment = "size_cur^0.666"; - n_area_cur->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_area_cur); - - field_name = "area_base"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_size_info, field_name)); - auto n_area_base = new NodeSimple; - n_area_base->m_field_name = field_name; - n_area_base->m_df_type = DF_Type::int32_t; - n_area_base->m_rdf_type = RDF_Type::int32_t; - n_area_base->m_node_type = NodeType::Simple; - n_area_base->m_address = base + offset; - n_area_base->m_comment = "size_base^0.666"; - n_area_base->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_area_base); - - field_name = "length_cur"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_size_info, field_name)); - auto n_length_cur = new NodeSimple; - n_length_cur->m_field_name = field_name; - n_length_cur->m_df_type = DF_Type::int32_t; - n_length_cur->m_rdf_type = RDF_Type::int32_t; - n_length_cur->m_node_type = NodeType::Simple; - n_length_cur->m_address = base + offset; - n_length_cur->m_comment = "(size_cur*10000)^0.333"; - n_length_cur->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_length_cur); - - field_name = "length_base"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_size_info, field_name)); - auto n_length_base = new NodeSimple; - n_length_base->m_field_name = field_name; - n_length_base->m_df_type = DF_Type::int32_t; - n_length_base->m_rdf_type = RDF_Type::int32_t; - n_length_base->m_node_type = NodeType::Simple; - n_length_base->m_address = base + offset; - n_length_base->m_comment = "(size_base*10000)^0.333"; - n_length_base->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_length_base); - -} -void node_from_corpse_material_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_item_matstate(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_item_stockpile_ref(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_stockpile_ref, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_stockpile_ref, field_name)); - auto n_x = new NodeSimple; - n_x->m_field_name = field_name; - n_x->m_df_type = DF_Type::int16_t; - n_x->m_rdf_type = RDF_Type::int16_t; - n_x->m_node_type = NodeType::Simple; - n_x->m_address = base + offset; - n_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_x); - - field_name = "y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_stockpile_ref, field_name)); - auto n_y = new NodeSimple; - n_y->m_field_name = field_name; - n_y->m_df_type = DF_Type::int16_t; - n_y->m_rdf_type = RDF_Type::int16_t; - n_y->m_node_type = NodeType::Simple; - n_y->m_address = base + offset; - n_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_y); - -} -void node_from_job_type_class(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_job_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_job_material_category(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_dfhack_material_category(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_job_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_job_subtype_surgery(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_job_item_flags1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_job_item_flags2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_job_item_flags3(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_manager_order_status(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_job_art_specification(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "type"; - auto n_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_art_specification, field_name)); - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::job_art_specification__T_type; - n_type->m_rdf_type = RDF_Type::Enum; - n_type->m_node_type = NodeType::Enum; - n_type->m_base_type = DF_Type::int32_t; - n_type->m_enum_type = "job_art_specification::T_type"; - n_type->m_address = base + offset; - n_type->m_first_value = -1; - n_type->m_last_value = 3; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_art_specification, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "subid"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_art_specification, field_name)); - auto n_subid = new NodeSimple; - n_subid->m_field_name = field_name; - n_subid->m_df_type = DF_Type::int32_t; - n_subid->m_rdf_type = RDF_Type::int32_t; - n_subid->m_node_type = NodeType::Simple; - n_subid->m_address = base + offset; - n_subid->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_subid); - -} -void node_from_manager_order_condition_order(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "order_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order_condition_order, field_name)); - auto n_order_id = new NodeSimple; - n_order_id->m_field_name = field_name; - n_order_id->m_df_type = DF_Type::int32_t; - n_order_id->m_rdf_type = RDF_Type::int32_t; - n_order_id->m_node_type = NodeType::Simple; - n_order_id->m_address = base + offset; - n_order_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_order_id); - - field_name = "condition"; - auto n_condition = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order_condition_order, field_name)); - n_condition->m_field_name = field_name; - n_condition->m_df_type = DF_Type::manager_order_condition_order__T_condition; - n_condition->m_rdf_type = RDF_Type::Enum; - n_condition->m_node_type = NodeType::Enum; - n_condition->m_base_type = DF_Type::int32_t; - n_condition->m_enum_type = "manager_order_condition_order::T_condition"; - n_condition->m_address = base + offset; - n_condition->m_first_value = 0; - n_condition->m_last_value = 1; - n_condition->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_condition); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order_condition_order, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_guild_id(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_training_assignment(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "animal_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::training_assignment, field_name)); - auto n_animal_id = new NodeSimple; - n_animal_id->m_field_name = field_name; - n_animal_id->m_df_type = DF_Type::int32_t; - n_animal_id->m_rdf_type = RDF_Type::int32_t; - n_animal_id->m_node_type = NodeType::Simple; - n_animal_id->m_address = base + offset; - n_animal_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_animal_id); - - field_name = "trainer_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::training_assignment, field_name)); - auto n_trainer_id = new NodeSimple; - n_trainer_id->m_field_name = field_name; - n_trainer_id->m_df_type = DF_Type::int32_t; - n_trainer_id->m_rdf_type = RDF_Type::int32_t; - n_trainer_id->m_node_type = NodeType::Simple; - n_trainer_id->m_address = base + offset; - n_trainer_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_trainer_id); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::training_assignment, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::training_assignment__T_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - -} -void node_from_interface_key(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_knowledge_scholar_flags_0(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_knowledge_scholar_flags_1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_knowledge_scholar_flags_2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_knowledge_scholar_flags_3(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_knowledge_scholar_flags_4(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_knowledge_scholar_flags_5(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_knowledge_scholar_flags_6(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_knowledge_scholar_flags_7(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_knowledge_scholar_flags_8(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_knowledge_scholar_flags_9(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_knowledge_scholar_flags_10(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_knowledge_scholar_flags_11(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_knowledge_scholar_flags_12(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_knowledge_scholar_flags_13(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_dfhack_knowledge_scholar_flag(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_language_word_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_part_of_speech(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_sphere_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_language_translation(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::language_translation, field_name)); - auto n_name = new NodeSimple; - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Stl_string; - n_name->m_node_type = NodeType::Simple; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "unknown1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::language_translation, field_name)); - auto n_unknown1 = new NodeVector; - n_unknown1->m_field_name = field_name; - n_unknown1->m_df_type = DF_Type::Void; - n_unknown1->m_rdf_type = RDF_Type::Vector; - n_unknown1->m_node_type = NodeType::Vector; - n_unknown1->m_addornements = "v"; - n_unknown1->m_address = base + offset; - n_unknown1->m_comment = "empty"; - n_unknown1->m_parent = p_node_parent; - n_unknown1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unknown1); - - field_name = "unknown2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::language_translation, field_name)); - auto n_unknown2 = new NodeVector; - n_unknown2->m_field_name = field_name; - n_unknown2->m_df_type = DF_Type::Void; - n_unknown2->m_rdf_type = RDF_Type::Vector; - n_unknown2->m_node_type = NodeType::Vector; - n_unknown2->m_addornements = "v"; - n_unknown2->m_address = base + offset; - n_unknown2->m_comment = "empty"; - n_unknown2->m_parent = p_node_parent; - n_unknown2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unknown2); - - field_name = "words"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::language_translation, field_name)); - auto n_words = new NodeVector; - n_words->m_field_name = field_name; - n_words->m_df_type = DF_Type::Stl_string; - n_words->m_rdf_type = RDF_Type::Vector; - n_words->m_node_type = NodeType::Vector; - n_words->m_addornements = "v*"; - n_words->m_address = base + offset; - n_words->m_refers_to = "$global.world.raws.language.words[$]"; - n_words->m_parent = p_node_parent; - n_words->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_words); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::language_translation, field_name)); - auto n_flags = new NodeSimple; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::int32_t; - n_flags->m_rdf_type = RDF_Type::int32_t; - n_flags->m_node_type = NodeType::Simple; - n_flags->m_address = base + offset; - n_flags->m_comment = "1 = generated"; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "str"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::language_translation, field_name)); - auto n_str = new NodeVector; - n_str->m_field_name = field_name; - n_str->m_df_type = DF_Type::Stl_string; - n_str->m_rdf_type = RDF_Type::Vector; - n_str->m_node_type = NodeType::Vector; - n_str->m_addornements = "v*"; - n_str->m_address = base + offset; - n_str->m_parent = p_node_parent; - n_str->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_str); - -} -void node_from_language_symbol(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::language_symbol, field_name)); - auto n_name = new NodeSimple; - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Stl_string; - n_name->m_node_type = NodeType::Simple; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "unknown"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::language_symbol, field_name)); - auto n_unknown = new NodeVector; - n_unknown->m_field_name = field_name; - n_unknown->m_df_type = DF_Type::Void; - n_unknown->m_rdf_type = RDF_Type::Vector; - n_unknown->m_node_type = NodeType::Vector; - n_unknown->m_addornements = "v"; - n_unknown->m_address = base + offset; - n_unknown->m_comment = "empty"; - n_unknown->m_parent = p_node_parent; - n_unknown->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unknown); - - field_name = "words"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::language_symbol, field_name)); - auto n_words = new NodeVector; - n_words->m_field_name = field_name; - n_words->m_df_type = DF_Type::int32_t; - n_words->m_rdf_type = RDF_Type::Vector; - n_words->m_node_type = NodeType::Vector; - n_words->m_addornements = "v"; - n_words->m_address = base + offset; - n_words->m_parent = p_node_parent; - n_words->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_words); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::language_symbol, field_name)); - auto n_flags = new NodeSimple; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::int32_t; - n_flags->m_rdf_type = RDF_Type::int32_t; - n_flags->m_node_type = NodeType::Simple; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "str"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::language_symbol, field_name)); - auto n_str = new NodeVector; - n_str->m_field_name = field_name; - n_str->m_df_type = DF_Type::Stl_string; - n_str->m_rdf_type = RDF_Type::Vector; - n_str->m_node_type = NodeType::Vector; - n_str->m_addornements = "v*"; - n_str->m_address = base + offset; - n_str->m_parent = p_node_parent; - n_str->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_str); - -} -void node_from_language_name_category(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_invasion_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::invasion_info, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "civ_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::invasion_info, field_name)); - auto n_civ_id = new NodeSimple; - n_civ_id->m_field_name = field_name; - n_civ_id->m_df_type = DF_Type::int32_t; - n_civ_id->m_rdf_type = RDF_Type::int32_t; - n_civ_id->m_node_type = NodeType::Simple; - n_civ_id->m_address = base + offset; - n_civ_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_civ_id); - - field_name = "active_size1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::invasion_info, field_name)); - auto n_active_size1 = new NodeSimple; - n_active_size1->m_field_name = field_name; - n_active_size1->m_df_type = DF_Type::int32_t; - n_active_size1->m_rdf_type = RDF_Type::int32_t; - n_active_size1->m_node_type = NodeType::Simple; - n_active_size1->m_address = base + offset; - n_active_size1->m_comment = "0 unless active"; - n_active_size1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_active_size1); - - field_name = "active_size2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::invasion_info, field_name)); - auto n_active_size2 = new NodeSimple; - n_active_size2->m_field_name = field_name; - n_active_size2->m_df_type = DF_Type::int32_t; - n_active_size2->m_rdf_type = RDF_Type::int32_t; - n_active_size2->m_node_type = NodeType::Simple; - n_active_size2->m_address = base + offset; - n_active_size2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_active_size2); - - field_name = "size"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::invasion_info, field_name)); - auto n_size = new NodeSimple; - n_size->m_field_name = field_name; - n_size->m_df_type = DF_Type::int32_t; - n_size->m_rdf_type = RDF_Type::int32_t; - n_size->m_node_type = NodeType::Simple; - n_size->m_address = base + offset; - n_size->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_size); - - field_name = "duration_counter"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::invasion_info, field_name)); - auto n_duration_counter = new NodeSimple; - n_duration_counter->m_field_name = field_name; - n_duration_counter->m_df_type = DF_Type::int32_t; - n_duration_counter->m_rdf_type = RDF_Type::int32_t; - n_duration_counter->m_node_type = NodeType::Simple; - n_duration_counter->m_address = base + offset; - n_duration_counter->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_duration_counter); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::invasion_info, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::invasion_info__T_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "unk4b"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::invasion_info, field_name)); - auto n_unk4b = new NodeSimple; - n_unk4b->m_field_name = field_name; - n_unk4b->m_df_type = DF_Type::int16_t; - n_unk4b->m_rdf_type = RDF_Type::int16_t; - n_unk4b->m_node_type = NodeType::Simple; - n_unk4b->m_address = base + offset; - n_unk4b->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk4b); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::invasion_info, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::invasion_info, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::invasion_info, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::invasion_info, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::invasion_info, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - -} -void node_from_nemesis_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_machine_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_machine_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "machine_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::machine_info, field_name)); - auto n_machine_id = new NodeSimple; - n_machine_id->m_field_name = field_name; - n_machine_id->m_df_type = DF_Type::int32_t; - n_machine_id->m_rdf_type = RDF_Type::int32_t; - n_machine_id->m_node_type = NodeType::Simple; - n_machine_id->m_address = base + offset; - n_machine_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_machine_id); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::machine_info, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::machine_info__T_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - -} -void node_from_power_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "produced"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::power_info, field_name)); - auto n_produced = new NodeSimple; - n_produced->m_field_name = field_name; - n_produced->m_df_type = DF_Type::int32_t; - n_produced->m_rdf_type = RDF_Type::int32_t; - n_produced->m_node_type = NodeType::Simple; - n_produced->m_address = base + offset; - n_produced->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_produced); - - field_name = "consumed"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::power_info, field_name)); - auto n_consumed = new NodeSimple; - n_consumed->m_field_name = field_name; - n_consumed->m_df_type = DF_Type::int32_t; - n_consumed->m_rdf_type = RDF_Type::int32_t; - n_consumed->m_node_type = NodeType::Simple; - n_consumed->m_address = base + offset; - n_consumed->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_consumed); - -} -void node_from_machine_conn_modes(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_screw_pump_direction(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_coord2d(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::coord2d, field_name)); - auto n_x = new NodeSimple; - n_x->m_field_name = field_name; - n_x->m_df_type = DF_Type::int16_t; - n_x->m_rdf_type = RDF_Type::int16_t; - n_x->m_node_type = NodeType::Simple; - n_x->m_address = base + offset; - n_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_x); - - field_name = "y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::coord2d, field_name)); - auto n_y = new NodeSimple; - n_y->m_field_name = field_name; - n_y->m_df_type = DF_Type::int16_t; - n_y->m_rdf_type = RDF_Type::int16_t; - n_y->m_node_type = NodeType::Simple; - n_y->m_address = base + offset; - n_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_y); - -} -void node_from_coord2d_path(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::coord2d_path, field_name)); - auto n_x = new NodeVector; - n_x->m_field_name = field_name; - n_x->m_df_type = DF_Type::int16_t; - n_x->m_rdf_type = RDF_Type::Vector; - n_x->m_node_type = NodeType::Vector; - n_x->m_addornements = "v"; - n_x->m_address = base + offset; - n_x->m_parent = p_node_parent; - n_x->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_x); - - field_name = "y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::coord2d_path, field_name)); - auto n_y = new NodeVector; - n_y->m_field_name = field_name; - n_y->m_df_type = DF_Type::int16_t; - n_y->m_rdf_type = RDF_Type::Vector; - n_y->m_node_type = NodeType::Vector; - n_y->m_addornements = "v"; - n_y->m_address = base + offset; - n_y->m_parent = p_node_parent; - n_y->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_y); - -} -void node_from_coord(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::coord, field_name)); - auto n_x = new NodeSimple; - n_x->m_field_name = field_name; - n_x->m_df_type = DF_Type::int16_t; - n_x->m_rdf_type = RDF_Type::int16_t; - n_x->m_node_type = NodeType::Simple; - n_x->m_address = base + offset; - n_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_x); - - field_name = "y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::coord, field_name)); - auto n_y = new NodeSimple; - n_y->m_field_name = field_name; - n_y->m_df_type = DF_Type::int16_t; - n_y->m_rdf_type = RDF_Type::int16_t; - n_y->m_node_type = NodeType::Simple; - n_y->m_address = base + offset; - n_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_y); - - field_name = "z"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::coord, field_name)); - auto n_z = new NodeSimple; - n_z->m_field_name = field_name; - n_z->m_df_type = DF_Type::int16_t; - n_z->m_rdf_type = RDF_Type::int16_t; - n_z->m_node_type = NodeType::Simple; - n_z->m_address = base + offset; - n_z->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_z); - -} -void node_from_coord_path(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::coord_path, field_name)); - auto n_x = new NodeVector; - n_x->m_field_name = field_name; - n_x->m_df_type = DF_Type::int16_t; - n_x->m_rdf_type = RDF_Type::Vector; - n_x->m_node_type = NodeType::Vector; - n_x->m_addornements = "v"; - n_x->m_address = base + offset; - n_x->m_parent = p_node_parent; - n_x->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_x); - - field_name = "y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::coord_path, field_name)); - auto n_y = new NodeVector; - n_y->m_field_name = field_name; - n_y->m_df_type = DF_Type::int16_t; - n_y->m_rdf_type = RDF_Type::Vector; - n_y->m_node_type = NodeType::Vector; - n_y->m_addornements = "v"; - n_y->m_address = base + offset; - n_y->m_parent = p_node_parent; - n_y->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_y); - - field_name = "z"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::coord_path, field_name)); - auto n_z = new NodeVector; - n_z->m_field_name = field_name; - n_z->m_df_type = DF_Type::int16_t; - n_z->m_rdf_type = RDF_Type::Vector; - n_z->m_node_type = NodeType::Vector; - n_z->m_addornements = "v"; - n_z->m_address = base + offset; - n_z->m_parent = p_node_parent; - n_z->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_z); - -} -void node_from_tile_traffic(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_tile_dig_designation(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_tile_liquid(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_tile_designation(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_tile_building_occ(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_tile_occupancy(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_block_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_z_level_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_tile_liquid_flow_dir(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_tile_liquid_flow(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_tile_bitmask(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "bits"; - auto n_bits = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tile_bitmask, field_name)); - n_bits->m_field_name = field_name; - n_bits->m_df_type = DF_Type::uint16_t; - n_bits->m_rdf_type = RDF_Type::Array; - n_bits->m_node_type = NodeType::Array; - n_bits->m_addornements = "[16"; - n_bits->m_array_size = 16; - n_bits->m_address = base + offset; - n_bits->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_bits); - -} -void node_from_cave_column(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cave_column, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int16_t; - n_anon_1->m_rdf_type = RDF_Type::int16_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cave_column, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int16_t; - n_anon_2->m_rdf_type = RDF_Type::int16_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cave_column, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int16_t; - n_anon_3->m_rdf_type = RDF_Type::int16_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cave_column, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int8_t; - n_anon_4->m_rdf_type = RDF_Type::int8_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - -} -void node_from_cave_column_rectangle(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cave_column_rectangle, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cave_column_rectangle, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int16_t; - n_anon_2->m_rdf_type = RDF_Type::int16_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cave_column_rectangle, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int16_t; - n_anon_3->m_rdf_type = RDF_Type::int16_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cave_column_rectangle, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int16_t; - n_anon_4->m_rdf_type = RDF_Type::int16_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cave_column_rectangle, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int16_t; - n_anon_5->m_rdf_type = RDF_Type::int16_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cave_column_rectangle, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int16_t; - n_anon_6->m_rdf_type = RDF_Type::int16_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cave_column_rectangle, field_name)); - auto n_anon_7 = new NodeVector; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::int16_t; - n_anon_7->m_rdf_type = RDF_Type::Vector; - n_anon_7->m_node_type = NodeType::Vector; - n_anon_7->m_addornements = "v"; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - n_anon_7->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_7); - - field_name = "anon_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cave_column_rectangle, field_name)); - auto n_anon_8 = new NodeVector; - n_anon_8->m_field_name = field_name; - n_anon_8->m_df_type = DF_Type::int16_t; - n_anon_8->m_rdf_type = RDF_Type::Vector; - n_anon_8->m_node_type = NodeType::Vector; - n_anon_8->m_addornements = "v"; - n_anon_8->m_address = base + offset; - n_anon_8->m_parent = p_node_parent; - n_anon_8->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_8); - - field_name = "anon_9"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cave_column_rectangle, field_name)); - auto n_anon_9 = new NodeVector; - n_anon_9->m_field_name = field_name; - n_anon_9->m_df_type = DF_Type::int16_t; - n_anon_9->m_rdf_type = RDF_Type::Vector; - n_anon_9->m_node_type = NodeType::Vector; - n_anon_9->m_addornements = "v"; - n_anon_9->m_address = base + offset; - n_anon_9->m_parent = p_node_parent; - n_anon_9->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_9); - - field_name = "anon_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cave_column_rectangle, field_name)); - auto n_anon_10 = new NodeSimple; - n_anon_10->m_field_name = field_name; - n_anon_10->m_df_type = DF_Type::int32_t; - n_anon_10->m_rdf_type = RDF_Type::int32_t; - n_anon_10->m_node_type = NodeType::Simple; - n_anon_10->m_address = base + offset; - n_anon_10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_10); - -} -void node_from_block_square_event_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_block_square_event(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_block_square_event_material_spatterst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::block_square_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_block_square_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_material_spatterst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_material_spatterst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "mat_state"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_material_spatterst, field_name)); - auto n_mat_state = new NodeSimple; - n_mat_state->m_field_name = field_name; - n_mat_state->m_df_type = DF_Type::int16_t; - n_mat_state->m_rdf_type = RDF_Type::int16_t; - n_mat_state->m_node_type = NodeType::Simple; - n_mat_state->m_address = base + offset; - n_mat_state->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_state); - - field_name = "amount"; - auto n_amount = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_material_spatterst, field_name)); - n_amount->m_field_name = field_name; - n_amount->m_df_type = DF_Type::uint8_t; - n_amount->m_rdf_type = RDF_Type::Array; - n_amount->m_node_type = NodeType::Array; - n_amount->m_addornements = "[16[16"; - n_amount->m_array_size = 16; - n_amount->m_address = base + offset; - n_amount->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_amount); - - field_name = "min_temperature"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_material_spatterst, field_name)); - auto n_min_temperature = new NodeSimple; - n_min_temperature->m_field_name = field_name; - n_min_temperature->m_df_type = DF_Type::uint16_t; - n_min_temperature->m_rdf_type = RDF_Type::uint16_t; - n_min_temperature->m_node_type = NodeType::Simple; - n_min_temperature->m_address = base + offset; - n_min_temperature->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_min_temperature); - - field_name = "max_temperature"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_material_spatterst, field_name)); - auto n_max_temperature = new NodeSimple; - n_max_temperature->m_field_name = field_name; - n_max_temperature->m_df_type = DF_Type::uint16_t; - n_max_temperature->m_rdf_type = RDF_Type::uint16_t; - n_max_temperature->m_node_type = NodeType::Simple; - n_max_temperature->m_address = base + offset; - n_max_temperature->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_max_temperature); - -} -void node_from_block_square_event_grassst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::block_square_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_block_square_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "plant_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_grassst, field_name)); - auto n_plant_index = new NodeSimple; - n_plant_index->m_field_name = field_name; - n_plant_index->m_df_type = DF_Type::int32_t; - n_plant_index->m_rdf_type = RDF_Type::int32_t; - n_plant_index->m_node_type = NodeType::Simple; - n_plant_index->m_address = base + offset; - n_plant_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_plant_index); - - field_name = "amount"; - auto n_amount = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_grassst, field_name)); - n_amount->m_field_name = field_name; - n_amount->m_df_type = DF_Type::int8_t; - n_amount->m_rdf_type = RDF_Type::Array; - n_amount->m_node_type = NodeType::Array; - n_amount->m_addornements = "[16[16"; - n_amount->m_array_size = 16; - n_amount->m_address = base + offset; - n_amount->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_amount); - -} -void node_from_block_square_event_spoorst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::block_square_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_block_square_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - auto n_anon_1 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_spoorst, field_name)); - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int16_t; - n_anon_1->m_rdf_type = RDF_Type::Array; - n_anon_1->m_node_type = NodeType::Array; - n_anon_1->m_addornements = "[16[16"; - n_anon_1->m_array_size = 16; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - auto n_anon_2 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_spoorst, field_name)); - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int8_t; - n_anon_2->m_rdf_type = RDF_Type::Array; - n_anon_2->m_node_type = NodeType::Array; - n_anon_2->m_addornements = "[16[16"; - n_anon_2->m_array_size = 16; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - auto n_anon_3 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_spoorst, field_name)); - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::Array; - n_anon_3->m_node_type = NodeType::Array; - n_anon_3->m_addornements = "[16[16"; - n_anon_3->m_array_size = 16; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - auto n_anon_4 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_spoorst, field_name)); - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::Array; - n_anon_4->m_node_type = NodeType::Array; - n_anon_4->m_addornements = "[16[16"; - n_anon_4->m_array_size = 16; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - auto n_anon_5 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_spoorst, field_name)); - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::Array; - n_anon_5->m_node_type = NodeType::Array; - n_anon_5->m_addornements = "[16[16"; - n_anon_5->m_array_size = 16; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - auto n_anon_6 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_spoorst, field_name)); - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::Array; - n_anon_6->m_node_type = NodeType::Array; - n_anon_6->m_addornements = "[16[16"; - n_anon_6->m_array_size = 16; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_spoorst, field_name)); - auto n_anon_7 = new NodeSimple; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::int32_t; - n_anon_7->m_rdf_type = RDF_Type::int32_t; - n_anon_7->m_node_type = NodeType::Simple; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_7); - - field_name = "anon_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_spoorst, field_name)); - auto n_anon_8 = new NodeSimple; - n_anon_8->m_field_name = field_name; - n_anon_8->m_df_type = DF_Type::int32_t; - n_anon_8->m_rdf_type = RDF_Type::int32_t; - n_anon_8->m_node_type = NodeType::Simple; - n_anon_8->m_address = base + offset; - n_anon_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_8); - -} -void node_from_block_square_event_designation_priorityst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::block_square_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_block_square_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "priority"; - auto n_priority = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_designation_priorityst, field_name)); - n_priority->m_field_name = field_name; - n_priority->m_df_type = DF_Type::int32_t; - n_priority->m_rdf_type = RDF_Type::Array; - n_priority->m_node_type = NodeType::Array; - n_priority->m_addornements = "[16[16"; - n_priority->m_array_size = 16; - n_priority->m_address = base + offset; - n_priority->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_priority); - -} -void node_from_feature_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_feature_init_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_feature_alteration_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_feature_alteration(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_feature_alteration_new_pop_maxst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::feature_alteration; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_feature_alteration(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_alteration_new_pop_maxst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_alteration_new_pop_maxst, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - -} -void node_from_feature_alteration_new_lava_fill_zst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::feature_alteration; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_feature_alteration(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "magma_fill_z"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_alteration_new_lava_fill_zst, field_name)); - auto n_magma_fill_z = new NodeSimple; - n_magma_fill_z->m_field_name = field_name; - n_magma_fill_z->m_df_type = DF_Type::int32_t; - n_magma_fill_z->m_rdf_type = RDF_Type::int32_t; - n_magma_fill_z->m_node_type = NodeType::Simple; - n_magma_fill_z->m_address = base + offset; - n_magma_fill_z->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_magma_fill_z); - -} -void node_from_world_construction_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_biome_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_construction_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_flow_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_flow_reuse_pool(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "reuse_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::flow_reuse_pool, field_name)); - auto n_reuse_idx = new NodeSimple; - n_reuse_idx->m_field_name = field_name; - n_reuse_idx->m_df_type = DF_Type::int32_t; - n_reuse_idx->m_rdf_type = RDF_Type::int32_t; - n_reuse_idx->m_node_type = NodeType::Simple; - n_reuse_idx->m_address = base + offset; - n_reuse_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_reuse_idx); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::flow_reuse_pool, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::flow_reuse_pool__T_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - -} -void node_from_flow_guide_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_flow_guide(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::flow_guide, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "unk_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::flow_guide, field_name)); - auto n_unk_8 = new NodeSimple; - n_unk_8->m_field_name = field_name; - n_unk_8->m_df_type = DF_Type::int8_t; - n_unk_8->m_rdf_type = RDF_Type::int8_t; - n_unk_8->m_node_type = NodeType::Simple; - n_unk_8->m_address = base + offset; - n_unk_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_8); - -} -void node_from_region_block_event_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_region_block_eventst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_region_block_event_sphere_fieldst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::region_block_eventst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_region_block_eventst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - auto n_anon_1 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::region_block_event_sphere_fieldst, field_name)); - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int16_t; - n_anon_1->m_rdf_type = RDF_Type::Array; - n_anon_1->m_node_type = NodeType::Array; - n_anon_1->m_addornements = "[16"; - n_anon_1->m_array_size = 16; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_craft_material_class(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_builtin_mats(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_material_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_matter_state(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_strain_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_material_vec_ref(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_vec_ref, field_name)); - auto n_mat_type = new NodeVector; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::Vector; - n_mat_type->m_node_type = NodeType::Vector; - n_mat_type->m_addornements = "v"; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - n_mat_type->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_vec_ref, field_name)); - auto n_mat_index = new NodeVector; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::Vector; - n_mat_index->m_node_type = NodeType::Vector; - n_mat_index->m_addornements = "v"; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - n_mat_index->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_mat_index); - -} -void node_from_inorganic_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_environment_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_inclusion_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_organic_mat_category(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_script_stepst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "next_step_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::script_stepst, field_name)); - auto n_next_step_idx = new NodeSimple; - n_next_step_idx->m_field_name = field_name; - n_next_step_idx->m_df_type = DF_Type::int32_t; - n_next_step_idx->m_rdf_type = RDF_Type::int32_t; - n_next_step_idx->m_node_type = NodeType::Simple; - n_next_step_idx->m_address = base + offset; - n_next_step_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_next_step_idx); - -} -void node_from_script_step_setvarst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::script_stepst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_script_stepst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "dest_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::script_step_setvarst, field_name)); - auto n_dest_type = new NodeSimple; - n_dest_type->m_field_name = field_name; - n_dest_type->m_df_type = DF_Type::Stl_string; - n_dest_type->m_rdf_type = RDF_Type::Stl_string; - n_dest_type->m_node_type = NodeType::Simple; - n_dest_type->m_address = base + offset; - n_dest_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dest_type); - - field_name = "dest_name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::script_step_setvarst, field_name)); - auto n_dest_name = new NodeSimple; - n_dest_name->m_field_name = field_name; - n_dest_name->m_df_type = DF_Type::Stl_string; - n_dest_name->m_rdf_type = RDF_Type::Stl_string; - n_dest_name->m_node_type = NodeType::Simple; - n_dest_name->m_address = base + offset; - n_dest_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dest_name); - - field_name = "src_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::script_step_setvarst, field_name)); - auto n_src_type = new NodeSimple; - n_src_type->m_field_name = field_name; - n_src_type->m_df_type = DF_Type::Stl_string; - n_src_type->m_rdf_type = RDF_Type::Stl_string; - n_src_type->m_node_type = NodeType::Simple; - n_src_type->m_address = base + offset; - n_src_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_src_type); - - field_name = "src_name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::script_step_setvarst, field_name)); - auto n_src_name = new NodeSimple; - n_src_name->m_field_name = field_name; - n_src_name->m_df_type = DF_Type::Stl_string; - n_src_name->m_rdf_type = RDF_Type::Stl_string; - n_src_name->m_node_type = NodeType::Simple; - n_src_name->m_address = base + offset; - n_src_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_src_name); - -} -void node_from_script_step_simpleactionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::script_stepst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_script_stepst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::script_step_simpleactionst, field_name)); - auto n_type = new NodeSimple; - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::Stl_string; - n_type->m_rdf_type = RDF_Type::Stl_string; - n_type->m_node_type = NodeType::Simple; - n_type->m_address = base + offset; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - - field_name = "subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::script_step_simpleactionst, field_name)); - auto n_subtype = new NodeSimple; - n_subtype->m_field_name = field_name; - n_subtype->m_df_type = DF_Type::Stl_string; - n_subtype->m_rdf_type = RDF_Type::Stl_string; - n_subtype->m_node_type = NodeType::Simple; - n_subtype->m_address = base + offset; - n_subtype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_subtype); - -} -void node_from_script_step_conditionalst__T_condition(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "var1_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::script_step_conditionalst__T_condition, field_name)); - auto n_var1_type = new NodeSimple; - n_var1_type->m_field_name = field_name; - n_var1_type->m_df_type = DF_Type::Stl_string; - n_var1_type->m_rdf_type = RDF_Type::Stl_string; - n_var1_type->m_node_type = NodeType::Simple; - n_var1_type->m_address = base + offset; - n_var1_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_var1_type); - - field_name = "var1_name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::script_step_conditionalst__T_condition, field_name)); - auto n_var1_name = new NodeSimple; - n_var1_name->m_field_name = field_name; - n_var1_name->m_df_type = DF_Type::Stl_string; - n_var1_name->m_rdf_type = RDF_Type::Stl_string; - n_var1_name->m_node_type = NodeType::Simple; - n_var1_name->m_address = base + offset; - n_var1_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_var1_name); - - field_name = "comparison"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::script_step_conditionalst__T_condition, field_name)); - auto n_comparison = new NodeSimple; - n_comparison->m_field_name = field_name; - n_comparison->m_df_type = DF_Type::Stl_string; - n_comparison->m_rdf_type = RDF_Type::Stl_string; - n_comparison->m_node_type = NodeType::Simple; - n_comparison->m_address = base + offset; - n_comparison->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_comparison); - - field_name = "var2_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::script_step_conditionalst__T_condition, field_name)); - auto n_var2_type = new NodeSimple; - n_var2_type->m_field_name = field_name; - n_var2_type->m_df_type = DF_Type::Stl_string; - n_var2_type->m_rdf_type = RDF_Type::Stl_string; - n_var2_type->m_node_type = NodeType::Simple; - n_var2_type->m_address = base + offset; - n_var2_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_var2_type); - - field_name = "var2_name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::script_step_conditionalst__T_condition, field_name)); - auto n_var2_name = new NodeSimple; - n_var2_name->m_field_name = field_name; - n_var2_name->m_df_type = DF_Type::Stl_string; - n_var2_name->m_rdf_type = RDF_Type::Stl_string; - n_var2_name->m_node_type = NodeType::Simple; - n_var2_name->m_address = base + offset; - n_var2_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_var2_name); - -} -void node_from_script_step_conditionalst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::script_stepst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_script_stepst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "condition"; - auto n_condition = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::script_step_conditionalst, field_name)); - n_condition->m_field_name = field_name; - n_condition->m_df_type = DF_Type::script_step_conditionalst__T_condition; - n_condition->m_rdf_type = RDF_Type::Compound; - n_condition->m_node_type = NodeType::Compound; - n_condition->m_address = base + offset; - n_condition->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_condition); - - field_name = "conditional_next_step_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::script_step_conditionalst, field_name)); - auto n_conditional_next_step_idx = new NodeSimple; - n_conditional_next_step_idx->m_field_name = field_name; - n_conditional_next_step_idx->m_df_type = DF_Type::int32_t; - n_conditional_next_step_idx->m_rdf_type = RDF_Type::int32_t; - n_conditional_next_step_idx->m_node_type = NodeType::Simple; - n_conditional_next_step_idx->m_address = base + offset; - n_conditional_next_step_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_conditional_next_step_idx); - -} -void node_from_script_step_textviewerst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::script_stepst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_script_stepst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "filename"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::script_step_textviewerst, field_name)); - auto n_filename = new NodeSimple; - n_filename->m_field_name = field_name; - n_filename->m_df_type = DF_Type::Stl_string; - n_filename->m_rdf_type = RDF_Type::Stl_string; - n_filename->m_node_type = NodeType::Simple; - n_filename->m_address = base + offset; - n_filename->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_filename); - - field_name = "outvar_name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::script_step_textviewerst, field_name)); - auto n_outvar_name = new NodeSimple; - n_outvar_name->m_field_name = field_name; - n_outvar_name->m_df_type = DF_Type::Stl_string; - n_outvar_name->m_rdf_type = RDF_Type::Stl_string; - n_outvar_name->m_node_type = NodeType::Simple; - n_outvar_name->m_address = base + offset; - n_outvar_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_outvar_name); - -} -void node_from_script_step_diphistoryst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::script_stepst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_script_stepst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "event"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::script_step_diphistoryst, field_name)); - auto n_event = new NodeSimple; - n_event->m_field_name = field_name; - n_event->m_df_type = DF_Type::Stl_string; - n_event->m_rdf_type = RDF_Type::Stl_string; - n_event->m_node_type = NodeType::Simple; - n_event->m_address = base + offset; - n_event->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_event); - -} -void node_from_script_step_discussst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::script_stepst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_script_stepst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "event"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::script_step_discussst, field_name)); - auto n_event = new NodeSimple; - n_event->m_field_name = field_name; - n_event->m_df_type = DF_Type::Stl_string; - n_event->m_rdf_type = RDF_Type::Stl_string; - n_event->m_node_type = NodeType::Simple; - n_event->m_address = base + offset; - n_event->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_event); - -} -void node_from_script_step_topicdiscussionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::script_stepst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_script_stepst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_script_step_constructtopiclistst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::script_stepst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_script_stepst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_script_step_eventst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::script_stepst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_script_stepst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_script_step_dipeventst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::script_step_eventst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_script_step_eventst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "parm1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::script_step_dipeventst, field_name)); - auto n_parm1 = new NodeSimple; - n_parm1->m_field_name = field_name; - n_parm1->m_df_type = DF_Type::Stl_string; - n_parm1->m_rdf_type = RDF_Type::Stl_string; - n_parm1->m_node_type = NodeType::Simple; - n_parm1->m_address = base + offset; - n_parm1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_parm1); - - field_name = "parm2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::script_step_dipeventst, field_name)); - auto n_parm2 = new NodeSimple; - n_parm2->m_field_name = field_name; - n_parm2->m_df_type = DF_Type::Stl_string; - n_parm2->m_rdf_type = RDF_Type::Stl_string; - n_parm2->m_node_type = NodeType::Simple; - n_parm2->m_address = base + offset; - n_parm2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_parm2); - - field_name = "parm3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::script_step_dipeventst, field_name)); - auto n_parm3 = new NodeSimple; - n_parm3->m_field_name = field_name; - n_parm3->m_df_type = DF_Type::Stl_string; - n_parm3->m_rdf_type = RDF_Type::Stl_string; - n_parm3->m_node_type = NodeType::Simple; - n_parm3->m_address = base + offset; - n_parm3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_parm3); - - field_name = "parm4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::script_step_dipeventst, field_name)); - auto n_parm4 = new NodeSimple; - n_parm4->m_field_name = field_name; - n_parm4->m_df_type = DF_Type::Stl_string; - n_parm4->m_rdf_type = RDF_Type::Stl_string; - n_parm4->m_node_type = NodeType::Simple; - n_parm4->m_address = base + offset; - n_parm4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_parm4); - - field_name = "parm5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::script_step_dipeventst, field_name)); - auto n_parm5 = new NodeSimple; - n_parm5->m_field_name = field_name; - n_parm5->m_df_type = DF_Type::Stl_string; - n_parm5->m_rdf_type = RDF_Type::Stl_string; - n_parm5->m_node_type = NodeType::Simple; - n_parm5->m_address = base + offset; - n_parm5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_parm5); - -} -void node_from_script_step_invasionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::script_step_eventst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_script_step_eventst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "parm"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::script_step_invasionst, field_name)); - auto n_parm = new NodeSimple; - n_parm->m_field_name = field_name; - n_parm->m_df_type = DF_Type::Stl_string; - n_parm->m_rdf_type = RDF_Type::Stl_string; - n_parm->m_node_type = NodeType::Simple; - n_parm->m_address = base + offset; - n_parm->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_parm); - -} -void node_from_script_varst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::script_varst, field_name)); - auto n_name = new NodeSimple; - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Stl_string; - n_name->m_node_type = NodeType::Simple; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - -} -void node_from_script_var_unitst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::script_varst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_script_varst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_script_var_longst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::script_varst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_script_varst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_active_script_varst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::active_script_varst, field_name)); - auto n_name = new NodeSimple; - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Stl_string; - n_name->m_node_type = NodeType::Simple; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - -} -void node_from_active_script_var_longst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::active_script_varst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_active_script_varst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "value"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::active_script_var_longst, field_name)); - auto n_value = new NodeSimple; - n_value->m_field_name = field_name; - n_value->m_df_type = DF_Type::int32_t; - n_value->m_rdf_type = RDF_Type::int32_t; - n_value->m_node_type = NodeType::Simple; - n_value->m_address = base + offset; - n_value->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_value); - -} -void node_from_meeting_topic(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_meeting_event_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_activity_event_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_activity_event_participants(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "histfigs"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_participants, field_name)); - auto n_histfigs = new NodeVector; - n_histfigs->m_field_name = field_name; - n_histfigs->m_df_type = DF_Type::int32_t; - n_histfigs->m_rdf_type = RDF_Type::Vector; - n_histfigs->m_node_type = NodeType::Vector; - n_histfigs->m_addornements = "v"; - n_histfigs->m_address = base + offset; - n_histfigs->m_parent = p_node_parent; - n_histfigs->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_histfigs); - - field_name = "units"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_participants, field_name)); - auto n_units = new NodeVector; - n_units->m_field_name = field_name; - n_units->m_df_type = DF_Type::int32_t; - n_units->m_rdf_type = RDF_Type::Vector; - n_units->m_node_type = NodeType::Vector; - n_units->m_addornements = "v"; - n_units->m_address = base + offset; - n_units->m_parent = p_node_parent; - n_units->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_units); - - field_name = "free_histfigs"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_participants, field_name)); - auto n_free_histfigs = new NodeVector; - n_free_histfigs->m_field_name = field_name; - n_free_histfigs->m_df_type = DF_Type::int32_t; - n_free_histfigs->m_rdf_type = RDF_Type::Vector; - n_free_histfigs->m_node_type = NodeType::Vector; - n_free_histfigs->m_addornements = "v"; - n_free_histfigs->m_address = base + offset; - n_free_histfigs->m_parent = p_node_parent; - n_free_histfigs->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_free_histfigs); - - field_name = "free_units"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_participants, field_name)); - auto n_free_units = new NodeVector; - n_free_units->m_field_name = field_name; - n_free_units->m_df_type = DF_Type::int32_t; - n_free_units->m_rdf_type = RDF_Type::Vector; - n_free_units->m_node_type = NodeType::Vector; - n_free_units->m_addornements = "v"; - n_free_units->m_address = base + offset; - n_free_units->m_parent = p_node_parent; - n_free_units->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_free_units); - - field_name = "activity_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_participants, field_name)); - auto n_activity_id = new NodeSimple; - n_activity_id->m_field_name = field_name; - n_activity_id->m_df_type = DF_Type::int32_t; - n_activity_id->m_rdf_type = RDF_Type::int32_t; - n_activity_id->m_node_type = NodeType::Simple; - n_activity_id->m_address = base + offset; - n_activity_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_activity_id); - - field_name = "event_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_participants, field_name)); - auto n_event_id = new NodeSimple; - n_event_id->m_field_name = field_name; - n_event_id->m_df_type = DF_Type::int32_t; - n_event_id->m_rdf_type = RDF_Type::int32_t; - n_event_id->m_node_type = NodeType::Simple; - n_event_id->m_address = base + offset; - n_event_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_event_id); - -} -void node_from_conversation_menu(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_performance_event_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_performance_participant_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_schedule_slot(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::schedule_slot, field_name)); - auto n_type = new NodeSimple; - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::int16_t; - n_type->m_rdf_type = RDF_Type::int16_t; - n_type->m_node_type = NodeType::Simple; - n_type->m_address = base + offset; - n_type->m_comment = "0:Eat, 1:Sleep, 2-4:???"; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - - field_name = "start_time"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::schedule_slot, field_name)); - auto n_start_time = new NodeSimple; - n_start_time->m_field_name = field_name; - n_start_time->m_df_type = DF_Type::int16_t; - n_start_time->m_rdf_type = RDF_Type::int16_t; - n_start_time->m_node_type = NodeType::Simple; - n_start_time->m_address = base + offset; - n_start_time->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_start_time); - - field_name = "end_time"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::schedule_slot, field_name)); - auto n_end_time = new NodeSimple; - n_end_time->m_field_name = field_name; - n_end_time->m_df_type = DF_Type::int16_t; - n_end_time->m_rdf_type = RDF_Type::int16_t; - n_end_time->m_node_type = NodeType::Simple; - n_end_time->m_address = base + offset; - n_end_time->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_end_time); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::schedule_slot, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int16_t; - n_anon_1->m_rdf_type = RDF_Type::int16_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "processed"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::schedule_slot, field_name)); - auto n_processed = new NodeSimple; - n_processed->m_field_name = field_name; - n_processed->m_df_type = DF_Type::int8_t; - n_processed->m_rdf_type = RDF_Type::int8_t; - n_processed->m_node_type = NodeType::Simple; - n_processed->m_address = base + offset; - n_processed->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_processed); - -} -void node_from_uniform_indiv_choice(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_squad_use_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_uniform_category(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_uniform_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_barrack_preference_category(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_squad_event_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_squad_order_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_squad_order_cannot_reason(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_squad_order(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk_v40_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_order, field_name)); - auto n_unk_v40_1 = new NodeSimple; - n_unk_v40_1->m_field_name = field_name; - n_unk_v40_1->m_df_type = DF_Type::int32_t; - n_unk_v40_1->m_rdf_type = RDF_Type::int32_t; - n_unk_v40_1->m_node_type = NodeType::Simple; - n_unk_v40_1->m_address = base + offset; - n_unk_v40_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_1); - - field_name = "unk_v40_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_order, field_name)); - auto n_unk_v40_2 = new NodeSimple; - n_unk_v40_2->m_field_name = field_name; - n_unk_v40_2->m_df_type = DF_Type::int32_t; - n_unk_v40_2->m_rdf_type = RDF_Type::int32_t; - n_unk_v40_2->m_node_type = NodeType::Simple; - n_unk_v40_2->m_address = base + offset; - n_unk_v40_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_2); - - field_name = "year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_order, field_name)); - auto n_year = new NodeSimple; - n_year->m_field_name = field_name; - n_year->m_df_type = DF_Type::int32_t; - n_year->m_rdf_type = RDF_Type::int32_t; - n_year->m_node_type = NodeType::Simple; - n_year->m_address = base + offset; - n_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_year); - - field_name = "year_tick"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_order, field_name)); - auto n_year_tick = new NodeSimple; - n_year_tick->m_field_name = field_name; - n_year_tick->m_df_type = DF_Type::int32_t; - n_year_tick->m_rdf_type = RDF_Type::int32_t; - n_year_tick->m_node_type = NodeType::Simple; - n_year_tick->m_address = base + offset; - n_year_tick->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_year_tick); - - field_name = "unk_v40_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_order, field_name)); - auto n_unk_v40_3 = new NodeSimple; - n_unk_v40_3->m_field_name = field_name; - n_unk_v40_3->m_df_type = DF_Type::int32_t; - n_unk_v40_3->m_rdf_type = RDF_Type::int32_t; - n_unk_v40_3->m_node_type = NodeType::Simple; - n_unk_v40_3->m_address = base + offset; - n_unk_v40_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_3); - - field_name = "unk_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_order, field_name)); - auto n_unk_1 = new NodeSimple; - n_unk_1->m_field_name = field_name; - n_unk_1->m_df_type = DF_Type::int32_t; - n_unk_1->m_rdf_type = RDF_Type::int32_t; - n_unk_1->m_node_type = NodeType::Simple; - n_unk_1->m_address = base + offset; - n_unk_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_1); - -} -void node_from_squad_order_kill_listst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::squad_order; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_squad_order(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "units"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_order_kill_listst, field_name)); - auto n_units = new NodeVector; - n_units->m_field_name = field_name; - n_units->m_df_type = DF_Type::int32_t; - n_units->m_rdf_type = RDF_Type::Vector; - n_units->m_node_type = NodeType::Vector; - n_units->m_addornements = "v"; - n_units->m_address = base + offset; - n_units->m_parent = p_node_parent; - n_units->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_units); - - field_name = "histfigs"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_order_kill_listst, field_name)); - auto n_histfigs = new NodeVector; - n_histfigs->m_field_name = field_name; - n_histfigs->m_df_type = DF_Type::int32_t; - n_histfigs->m_rdf_type = RDF_Type::Vector; - n_histfigs->m_node_type = NodeType::Vector; - n_histfigs->m_addornements = "v"; - n_histfigs->m_address = base + offset; - n_histfigs->m_parent = p_node_parent; - n_histfigs->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_histfigs); - - field_name = "title"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_order_kill_listst, field_name)); - auto n_title = new NodeSimple; - n_title->m_field_name = field_name; - n_title->m_df_type = DF_Type::Stl_string; - n_title->m_rdf_type = RDF_Type::Stl_string; - n_title->m_node_type = NodeType::Simple; - n_title->m_address = base + offset; - n_title->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_title); - -} -void node_from_squad_order_defend_burrowsst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::squad_order; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_squad_order(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "burrows"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_order_defend_burrowsst, field_name)); - auto n_burrows = new NodeVector; - n_burrows->m_field_name = field_name; - n_burrows->m_df_type = DF_Type::int32_t; - n_burrows->m_rdf_type = RDF_Type::Vector; - n_burrows->m_node_type = NodeType::Vector; - n_burrows->m_addornements = "v"; - n_burrows->m_address = base + offset; - n_burrows->m_parent = p_node_parent; - n_burrows->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_burrows); - -} -void node_from_squad_order_patrol_routest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::squad_order; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_squad_order(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "route_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_order_patrol_routest, field_name)); - auto n_route_id = new NodeSimple; - n_route_id->m_field_name = field_name; - n_route_id->m_df_type = DF_Type::int32_t; - n_route_id->m_rdf_type = RDF_Type::int32_t; - n_route_id->m_node_type = NodeType::Simple; - n_route_id->m_address = base + offset; - n_route_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_route_id); - -} -void node_from_squad_order_trainst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::squad_order; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_squad_order(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_squad_order_drive_entity_off_sitest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::squad_order; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_squad_order(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_order_drive_entity_off_sitest, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_order_drive_entity_off_sitest, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_order_drive_entity_off_sitest, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::Stl_string; - n_anon_3->m_rdf_type = RDF_Type::Stl_string; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - -} -void node_from_squad_order_cause_trouble_for_entityst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::squad_order; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_squad_order(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_order_cause_trouble_for_entityst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_order_cause_trouble_for_entityst, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::Stl_string; - n_anon_2->m_rdf_type = RDF_Type::Stl_string; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - -} -void node_from_squad_order_kill_hfst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::squad_order; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_squad_order(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "histfig_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_order_kill_hfst, field_name)); - auto n_histfig_id = new NodeSimple; - n_histfig_id->m_field_name = field_name; - n_histfig_id->m_df_type = DF_Type::int32_t; - n_histfig_id->m_rdf_type = RDF_Type::int32_t; - n_histfig_id->m_node_type = NodeType::Simple; - n_histfig_id->m_address = base + offset; - n_histfig_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig_id); - - field_name = "title"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_order_kill_hfst, field_name)); - auto n_title = new NodeSimple; - n_title->m_field_name = field_name; - n_title->m_df_type = DF_Type::Stl_string; - n_title->m_rdf_type = RDF_Type::Stl_string; - n_title->m_node_type = NodeType::Simple; - n_title->m_address = base + offset; - n_title->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_title); - -} -void node_from_squad_order_drive_armies_from_sitest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::squad_order; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_squad_order(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_order_drive_armies_from_sitest, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_order_drive_armies_from_sitest, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_order_drive_armies_from_sitest, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::Stl_string; - n_anon_3->m_rdf_type = RDF_Type::Stl_string; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - -} -void node_from_army_controller_sub1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub1, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub1, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub1, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - -} -void node_from_army_controller_sub4(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub4, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "unk_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub4, field_name)); - auto n_unk_2 = new NodeBitfield; - n_unk_2->m_field_name = field_name; - n_unk_2->m_df_type = DF_Type::army_controller_sub4__T_unk_2; - n_unk_2->m_rdf_type = RDF_Type::Bitfield; - n_unk_2->m_node_type = NodeType::Bitfield; - n_unk_2->m_address = base + offset; - n_unk_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_2); - -} -void node_from_army_controller_sub5(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub5, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub5, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub5, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub5, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub5, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - -} -void node_from_army_controller_sub6(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub6, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub6, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub6, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub6, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub6, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub6, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub6, field_name)); - auto n_anon_7 = new NodeSimple; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::int32_t; - n_anon_7->m_rdf_type = RDF_Type::int32_t; - n_anon_7->m_node_type = NodeType::Simple; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_7); - - field_name = "anon_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub6, field_name)); - auto n_anon_8 = new NodeSimple; - n_anon_8->m_field_name = field_name; - n_anon_8->m_df_type = DF_Type::int32_t; - n_anon_8->m_rdf_type = RDF_Type::int32_t; - n_anon_8->m_node_type = NodeType::Simple; - n_anon_8->m_address = base + offset; - n_anon_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_8); - - field_name = "anon_9"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub6, field_name)); - auto n_anon_9 = new NodeSimple; - n_anon_9->m_field_name = field_name; - n_anon_9->m_df_type = DF_Type::int32_t; - n_anon_9->m_rdf_type = RDF_Type::int32_t; - n_anon_9->m_node_type = NodeType::Simple; - n_anon_9->m_address = base + offset; - n_anon_9->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_9); - -} -void node_from_army_controller_sub16(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub16, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_army_controller_sub17(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub17, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub17, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - -} -void node_from_army_controller_sub18(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub18, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub18, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - -} -void node_from_army_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_unit_path_goal(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_unit_station_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_plant_raw_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_plant_growth_print(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "priority"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_growth_print, field_name)); - auto n_priority = new NodeSimple; - n_priority->m_field_name = field_name; - n_priority->m_df_type = DF_Type::int32_t; - n_priority->m_rdf_type = RDF_Type::int32_t; - n_priority->m_node_type = NodeType::Simple; - n_priority->m_address = base + offset; - n_priority->m_comment = "final token in list"; - n_priority->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_priority); - - field_name = "tile_growth"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_growth_print, field_name)); - auto n_tile_growth = new NodeSimple; - n_tile_growth->m_field_name = field_name; - n_tile_growth->m_df_type = DF_Type::uint8_t; - n_tile_growth->m_rdf_type = RDF_Type::uint8_t; - n_tile_growth->m_node_type = NodeType::Simple; - n_tile_growth->m_address = base + offset; - n_tile_growth->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tile_growth); - - field_name = "tile_item"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_growth_print, field_name)); - auto n_tile_item = new NodeSimple; - n_tile_item->m_field_name = field_name; - n_tile_item->m_df_type = DF_Type::uint8_t; - n_tile_item->m_rdf_type = RDF_Type::uint8_t; - n_tile_item->m_node_type = NodeType::Simple; - n_tile_item->m_address = base + offset; - n_tile_item->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tile_item); - - field_name = "color"; - auto n_color = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_growth_print, field_name)); - n_color->m_field_name = field_name; - n_color->m_df_type = DF_Type::int16_t; - n_color->m_rdf_type = RDF_Type::Array; - n_color->m_node_type = NodeType::Array; - n_color->m_addornements = "[3"; - n_color->m_array_size = 3; - n_color->m_address = base + offset; - n_color->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_color); - - field_name = "timing_start"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_growth_print, field_name)); - auto n_timing_start = new NodeSimple; - n_timing_start->m_field_name = field_name; - n_timing_start->m_df_type = DF_Type::int32_t; - n_timing_start->m_rdf_type = RDF_Type::int32_t; - n_timing_start->m_node_type = NodeType::Simple; - n_timing_start->m_address = base + offset; - n_timing_start->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_timing_start); - - field_name = "timing_end"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_growth_print, field_name)); - auto n_timing_end = new NodeSimple; - n_timing_end->m_field_name = field_name; - n_timing_end->m_df_type = DF_Type::int32_t; - n_timing_end->m_rdf_type = RDF_Type::int32_t; - n_timing_end->m_node_type = NodeType::Simple; - n_timing_end->m_address = base + offset; - n_timing_end->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_timing_end); - -} -void node_from_plant_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_plant_tree_tile(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_projectile_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_projectile_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_reaction_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_reaction_category(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_category, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::Stl_string; - n_id->m_rdf_type = RDF_Type::Stl_string; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "parent"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_category, field_name)); - auto n_parent = new NodeSimple; - n_parent->m_field_name = field_name; - n_parent->m_df_type = DF_Type::Stl_string; - n_parent->m_rdf_type = RDF_Type::Stl_string; - n_parent->m_node_type = NodeType::Simple; - n_parent->m_address = base + offset; - n_parent->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_parent); - - field_name = "name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_category, field_name)); - auto n_name = new NodeSimple; - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Stl_string; - n_name->m_node_type = NodeType::Simple; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "key"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_category, field_name)); - auto n_key = new NodeSimple; - n_key->m_field_name = field_name; - n_key->m_df_type = DF_Type::int32_t; - n_key->m_rdf_type = RDF_Type::int32_t; - n_key->m_node_type = NodeType::Simple; - n_key->m_address = base + offset; - n_key->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_key); - - field_name = "description"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_category, field_name)); - auto n_description = new NodeSimple; - n_description->m_field_name = field_name; - n_description->m_df_type = DF_Type::Stl_string; - n_description->m_rdf_type = RDF_Type::Stl_string; - n_description->m_node_type = NodeType::Simple; - n_description->m_address = base + offset; - n_description->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_description); - -} -void node_from_reaction_reagent_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_reaction_reagent_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_reaction_product_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_reaction_product(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk_v4201_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_product, field_name)); - auto n_unk_v4201_1 = new NodeSimple; - n_unk_v4201_1->m_field_name = field_name; - n_unk_v4201_1->m_df_type = DF_Type::Stl_string; - n_unk_v4201_1->m_rdf_type = RDF_Type::Stl_string; - n_unk_v4201_1->m_node_type = NodeType::Simple; - n_unk_v4201_1->m_address = base + offset; - n_unk_v4201_1->m_comment = "unknown if really here"; - n_unk_v4201_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v4201_1); - - field_name = "product_to_container"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_product, field_name)); - auto n_product_to_container = new NodeSimple; - n_product_to_container->m_field_name = field_name; - n_product_to_container->m_df_type = DF_Type::Stl_string; - n_product_to_container->m_rdf_type = RDF_Type::Stl_string; - n_product_to_container->m_node_type = NodeType::Simple; - n_product_to_container->m_address = base + offset; - n_product_to_container->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_product_to_container); - -} -void node_from_reaction_product_item_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_reaction_product_improvement_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_general_ref_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_general_ref(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_general_ref_artifact(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "artifact_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_artifact, field_name)); - auto n_artifact_id = new NodeSimple; - n_artifact_id->m_field_name = field_name; - n_artifact_id->m_df_type = DF_Type::int32_t; - n_artifact_id->m_rdf_type = RDF_Type::int32_t; - n_artifact_id->m_node_type = NodeType::Simple; - n_artifact_id->m_address = base + offset; - n_artifact_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_artifact_id); - -} -void node_from_general_ref_nemesis(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "nemesis_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_nemesis, field_name)); - auto n_nemesis_id = new NodeSimple; - n_nemesis_id->m_field_name = field_name; - n_nemesis_id->m_df_type = DF_Type::int32_t; - n_nemesis_id->m_rdf_type = RDF_Type::int32_t; - n_nemesis_id->m_node_type = NodeType::Simple; - n_nemesis_id->m_address = base + offset; - n_nemesis_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_nemesis_id); - -} -void node_from_general_ref_item(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "item_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_item, field_name)); - auto n_item_id = new NodeSimple; - n_item_id->m_field_name = field_name; - n_item_id->m_df_type = DF_Type::int32_t; - n_item_id->m_rdf_type = RDF_Type::int32_t; - n_item_id->m_node_type = NodeType::Simple; - n_item_id->m_address = base + offset; - n_item_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_id); - - field_name = "cached_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_item, field_name)); - auto n_cached_index = new NodeSimple; - n_cached_index->m_field_name = field_name; - n_cached_index->m_df_type = DF_Type::int32_t; - n_cached_index->m_rdf_type = RDF_Type::int32_t; - n_cached_index->m_node_type = NodeType::Simple; - n_cached_index->m_address = base + offset; - n_cached_index->m_comment = "lookup optimization, tries before binary search"; - n_cached_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cached_index); - -} -void node_from_general_ref_coinbatch(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "batch"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_coinbatch, field_name)); - auto n_batch = new NodeSimple; - n_batch->m_field_name = field_name; - n_batch->m_df_type = DF_Type::int32_t; - n_batch->m_rdf_type = RDF_Type::int32_t; - n_batch->m_node_type = NodeType::Simple; - n_batch->m_address = base + offset; - n_batch->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_batch); - -} -void node_from_general_ref_entity_art_image(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "entity_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_entity_art_image, field_name)); - auto n_entity_id = new NodeSimple; - n_entity_id->m_field_name = field_name; - n_entity_id->m_df_type = DF_Type::int32_t; - n_entity_id->m_rdf_type = RDF_Type::int32_t; - n_entity_id->m_node_type = NodeType::Simple; - n_entity_id->m_address = base + offset; - n_entity_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity_id); - - field_name = "index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_entity_art_image, field_name)); - auto n_index = new NodeSimple; - n_index->m_field_name = field_name; - n_index->m_df_type = DF_Type::int32_t; - n_index->m_rdf_type = RDF_Type::int32_t; - n_index->m_node_type = NodeType::Simple; - n_index->m_address = base + offset; - n_index->m_comment = "lookup in entity.resources.art_image_*"; - n_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_index); - -} -void node_from_general_ref_projectile(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "projectile_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_projectile, field_name)); - auto n_projectile_id = new NodeSimple; - n_projectile_id->m_field_name = field_name; - n_projectile_id->m_df_type = DF_Type::int32_t; - n_projectile_id->m_rdf_type = RDF_Type::int32_t; - n_projectile_id->m_node_type = NodeType::Simple; - n_projectile_id->m_address = base + offset; - n_projectile_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_projectile_id); - -} -void node_from_general_ref_unit(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unit_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_unit, field_name)); - auto n_unit_id = new NodeSimple; - n_unit_id->m_field_name = field_name; - n_unit_id->m_df_type = DF_Type::int32_t; - n_unit_id->m_rdf_type = RDF_Type::int32_t; - n_unit_id->m_node_type = NodeType::Simple; - n_unit_id->m_address = base + offset; - n_unit_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unit_id); - - field_name = "cached_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_unit, field_name)); - auto n_cached_index = new NodeSimple; - n_cached_index->m_field_name = field_name; - n_cached_index->m_df_type = DF_Type::int32_t; - n_cached_index->m_rdf_type = RDF_Type::int32_t; - n_cached_index->m_node_type = NodeType::Simple; - n_cached_index->m_address = base + offset; - n_cached_index->m_comment = "lookup optimization, tries before binary search"; - n_cached_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cached_index); - -} -void node_from_general_ref_building(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "building_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_building, field_name)); - auto n_building_id = new NodeSimple; - n_building_id->m_field_name = field_name; - n_building_id->m_df_type = DF_Type::int32_t; - n_building_id->m_rdf_type = RDF_Type::int32_t; - n_building_id->m_node_type = NodeType::Simple; - n_building_id->m_address = base + offset; - n_building_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_building_id); - -} -void node_from_general_ref_entity(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "entity_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_entity, field_name)); - auto n_entity_id = new NodeSimple; - n_entity_id->m_field_name = field_name; - n_entity_id->m_df_type = DF_Type::int32_t; - n_entity_id->m_rdf_type = RDF_Type::int32_t; - n_entity_id->m_node_type = NodeType::Simple; - n_entity_id->m_address = base + offset; - n_entity_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity_id); - -} -void node_from_general_ref_locationst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_locationst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_locationst, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_locationst, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - -} -void node_from_general_ref_interactionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "interaction_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_interactionst, field_name)); - auto n_interaction_id = new NodeSimple; - n_interaction_id->m_field_name = field_name; - n_interaction_id->m_df_type = DF_Type::int32_t; - n_interaction_id->m_rdf_type = RDF_Type::int32_t; - n_interaction_id->m_node_type = NodeType::Simple; - n_interaction_id->m_address = base + offset; - n_interaction_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_interaction_id); - - field_name = "source_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_interactionst, field_name)); - auto n_source_id = new NodeSimple; - n_source_id->m_field_name = field_name; - n_source_id->m_df_type = DF_Type::int32_t; - n_source_id->m_rdf_type = RDF_Type::int32_t; - n_source_id->m_node_type = NodeType::Simple; - n_source_id->m_address = base + offset; - n_source_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_source_id); - - field_name = "unk_08"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_interactionst, field_name)); - auto n_unk_08 = new NodeSimple; - n_unk_08->m_field_name = field_name; - n_unk_08->m_df_type = DF_Type::int32_t; - n_unk_08->m_rdf_type = RDF_Type::int32_t; - n_unk_08->m_node_type = NodeType::Simple; - n_unk_08->m_address = base + offset; - n_unk_08->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_08); - - field_name = "unk_0c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_interactionst, field_name)); - auto n_unk_0c = new NodeSimple; - n_unk_0c->m_field_name = field_name; - n_unk_0c->m_df_type = DF_Type::int32_t; - n_unk_0c->m_rdf_type = RDF_Type::int32_t; - n_unk_0c->m_node_type = NodeType::Simple; - n_unk_0c->m_address = base + offset; - n_unk_0c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_0c); - -} -void node_from_general_ref_abstract_buildingst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "site_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_abstract_buildingst, field_name)); - auto n_site_id = new NodeSimple; - n_site_id->m_field_name = field_name; - n_site_id->m_df_type = DF_Type::int32_t; - n_site_id->m_rdf_type = RDF_Type::int32_t; - n_site_id->m_node_type = NodeType::Simple; - n_site_id->m_address = base + offset; - n_site_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_id); - - field_name = "building_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_abstract_buildingst, field_name)); - auto n_building_id = new NodeSimple; - n_building_id->m_field_name = field_name; - n_building_id->m_df_type = DF_Type::int32_t; - n_building_id->m_rdf_type = RDF_Type::int32_t; - n_building_id->m_node_type = NodeType::Simple; - n_building_id->m_address = base + offset; - n_building_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_building_id); - -} -void node_from_general_ref_historical_eventst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "event_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_historical_eventst, field_name)); - auto n_event_id = new NodeSimple; - n_event_id->m_field_name = field_name; - n_event_id->m_df_type = DF_Type::int32_t; - n_event_id->m_rdf_type = RDF_Type::int32_t; - n_event_id->m_node_type = NodeType::Simple; - n_event_id->m_address = base + offset; - n_event_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_event_id); - -} -void node_from_general_ref_sitest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "site_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_sitest, field_name)); - auto n_site_id = new NodeSimple; - n_site_id->m_field_name = field_name; - n_site_id->m_df_type = DF_Type::int32_t; - n_site_id->m_rdf_type = RDF_Type::int32_t; - n_site_id->m_node_type = NodeType::Simple; - n_site_id->m_address = base + offset; - n_site_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_id); - -} -void node_from_general_ref_subregionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "region_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_subregionst, field_name)); - auto n_region_id = new NodeSimple; - n_region_id->m_field_name = field_name; - n_region_id->m_df_type = DF_Type::int32_t; - n_region_id->m_rdf_type = RDF_Type::int32_t; - n_region_id->m_node_type = NodeType::Simple; - n_region_id->m_address = base + offset; - n_region_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region_id); - -} -void node_from_general_ref_feature_layerst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "underground_region_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_feature_layerst, field_name)); - auto n_underground_region_id = new NodeSimple; - n_underground_region_id->m_field_name = field_name; - n_underground_region_id->m_df_type = DF_Type::int32_t; - n_underground_region_id->m_rdf_type = RDF_Type::int32_t; - n_underground_region_id->m_node_type = NodeType::Simple; - n_underground_region_id->m_address = base + offset; - n_underground_region_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_underground_region_id); - -} -void node_from_general_ref_historical_figurest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "hist_figure_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_historical_figurest, field_name)); - auto n_hist_figure_id = new NodeSimple; - n_hist_figure_id->m_field_name = field_name; - n_hist_figure_id->m_df_type = DF_Type::int32_t; - n_hist_figure_id->m_rdf_type = RDF_Type::int32_t; - n_hist_figure_id->m_node_type = NodeType::Simple; - n_hist_figure_id->m_address = base + offset; - n_hist_figure_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_hist_figure_id); - -} -void node_from_general_ref_entity_popst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_entity_popst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "race"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_entity_popst, field_name)); - auto n_race = new NodeSimple; - n_race->m_field_name = field_name; - n_race->m_df_type = DF_Type::int32_t; - n_race->m_rdf_type = RDF_Type::int32_t; - n_race->m_node_type = NodeType::Simple; - n_race->m_address = base + offset; - n_race->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_race); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_entity_popst, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_entity_popst, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::general_ref_entity_popst__T_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - -} -void node_from_general_ref_creaturest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "race"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_creaturest, field_name)); - auto n_race = new NodeSimple; - n_race->m_field_name = field_name; - n_race->m_df_type = DF_Type::int32_t; - n_race->m_rdf_type = RDF_Type::int32_t; - n_race->m_node_type = NodeType::Simple; - n_race->m_address = base + offset; - n_race->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_race); - - field_name = "caste"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_creaturest, field_name)); - auto n_caste = new NodeSimple; - n_caste->m_field_name = field_name; - n_caste->m_df_type = DF_Type::int32_t; - n_caste->m_rdf_type = RDF_Type::int32_t; - n_caste->m_node_type = NodeType::Simple; - n_caste->m_address = base + offset; - n_caste->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_caste); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_creaturest, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_creaturest, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_creaturest, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::general_ref_creaturest__T_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - -} -void node_from_general_ref_activity_eventst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "activity_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_activity_eventst, field_name)); - auto n_activity_id = new NodeSimple; - n_activity_id->m_field_name = field_name; - n_activity_id->m_df_type = DF_Type::int32_t; - n_activity_id->m_rdf_type = RDF_Type::int32_t; - n_activity_id->m_node_type = NodeType::Simple; - n_activity_id->m_address = base + offset; - n_activity_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_activity_id); - - field_name = "event_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_activity_eventst, field_name)); - auto n_event_id = new NodeSimple; - n_event_id->m_field_name = field_name; - n_event_id->m_df_type = DF_Type::int32_t; - n_event_id->m_rdf_type = RDF_Type::int32_t; - n_event_id->m_node_type = NodeType::Simple; - n_event_id->m_address = base + offset; - n_event_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_event_id); - -} -void node_from_general_ref_languagest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_languagest, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_general_ref_written_contentst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "written_content_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_written_contentst, field_name)); - auto n_written_content_id = new NodeSimple; - n_written_content_id->m_field_name = field_name; - n_written_content_id->m_df_type = DF_Type::int32_t; - n_written_content_id->m_rdf_type = RDF_Type::int32_t; - n_written_content_id->m_node_type = NodeType::Simple; - n_written_content_id->m_address = base + offset; - n_written_content_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_written_content_id); - -} -void node_from_general_ref_poetic_formst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "poetic_form_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_poetic_formst, field_name)); - auto n_poetic_form_id = new NodeSimple; - n_poetic_form_id->m_field_name = field_name; - n_poetic_form_id->m_df_type = DF_Type::int32_t; - n_poetic_form_id->m_rdf_type = RDF_Type::int32_t; - n_poetic_form_id->m_node_type = NodeType::Simple; - n_poetic_form_id->m_address = base + offset; - n_poetic_form_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_poetic_form_id); - -} -void node_from_general_ref_musical_formst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "musical_form_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_musical_formst, field_name)); - auto n_musical_form_id = new NodeSimple; - n_musical_form_id->m_field_name = field_name; - n_musical_form_id->m_df_type = DF_Type::int32_t; - n_musical_form_id->m_rdf_type = RDF_Type::int32_t; - n_musical_form_id->m_node_type = NodeType::Simple; - n_musical_form_id->m_address = base + offset; - n_musical_form_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_musical_form_id); - -} -void node_from_general_ref_dance_formst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "dance_form_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_dance_formst, field_name)); - auto n_dance_form_id = new NodeSimple; - n_dance_form_id->m_field_name = field_name; - n_dance_form_id->m_df_type = DF_Type::int32_t; - n_dance_form_id->m_rdf_type = RDF_Type::int32_t; - n_dance_form_id->m_node_type = NodeType::Simple; - n_dance_form_id->m_address = base + offset; - n_dance_form_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dance_form_id); - -} -void node_from_general_ref_is_artifactst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref_artifact; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref_artifact(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_general_ref_is_nemesisst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref_nemesis; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref_nemesis(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_general_ref_contains_unitst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref_unit; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref_unit(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_general_ref_contains_itemst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref_item; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref_item(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_general_ref_contained_in_itemst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref_item; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref_item(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_general_ref_unit_milkeest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref_unit; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref_unit(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_general_ref_unit_traineest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref_unit; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref_unit(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_general_ref_unit_itemownerst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref_unit; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref_unit(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_unit_itemownerst, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::general_ref_unit_itemownerst__T_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - -} -void node_from_general_ref_unit_tradebringerst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref_unit; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref_unit(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_general_ref_unit_holderst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref_unit; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref_unit(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_general_ref_unit_workerst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref_unit; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref_unit(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_general_ref_unit_cageest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref_unit; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref_unit(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_general_ref_unit_beateest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref_unit; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref_unit(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_general_ref_unit_foodreceiverst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref_unit; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref_unit(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_general_ref_unit_kidnapeest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref_unit; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref_unit(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_general_ref_unit_patientst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref_unit; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref_unit(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_general_ref_unit_infantst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref_unit; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref_unit(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_general_ref_unit_slaughtereest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref_unit; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref_unit(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_general_ref_unit_sheareest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref_unit; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref_unit(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_general_ref_unit_suckeest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref_unit; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref_unit(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_general_ref_unit_reporteest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref_unit; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref_unit(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_general_ref_unit_riderst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref_unit; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref_unit(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_general_ref_unit_climberst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref_unit; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref_unit(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_general_ref_unit_geldeest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref_unit; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref_unit(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_general_ref_building_civzone_assignedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref_building; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref_building(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_general_ref_building_triggerst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref_building; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref_building(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_general_ref_building_triggertargetst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref_building; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref_building(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_general_ref_building_chainst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref_building; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref_building(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_general_ref_building_cagedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref_building; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref_building(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_general_ref_building_holderst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref_building; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref_building(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_general_ref_building_well_tag(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref_building; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref_building(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "direction"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_building_well_tag, field_name)); - auto n_direction = new NodeSimple; - n_direction->m_field_name = field_name; - n_direction->m_df_type = DF_Type::int8_t; - n_direction->m_rdf_type = RDF_Type::int8_t; - n_direction->m_node_type = NodeType::Simple; - n_direction->m_address = base + offset; - n_direction->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_direction); - -} -void node_from_general_ref_building_use_target_1st(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref_building; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref_building(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_general_ref_building_use_target_2st(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref_building; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref_building(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_general_ref_building_destinationst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref_building; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref_building(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_general_ref_building_nest_boxst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref_building; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref_building(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_general_ref_building_display_furniturest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref_building; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref_building(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_general_ref_entity_stolenst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref_entity; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref_entity(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_general_ref_entity_offeredst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref_entity; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref_entity(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_general_ref_entity_itemownerst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref_entity; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref_entity(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_specific_ref_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_histfig_entity_link_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_histfig_entity_link(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "entity_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::histfig_entity_link, field_name)); - auto n_entity_id = new NodeSimple; - n_entity_id->m_field_name = field_name; - n_entity_id->m_df_type = DF_Type::int32_t; - n_entity_id->m_rdf_type = RDF_Type::int32_t; - n_entity_id->m_node_type = NodeType::Simple; - n_entity_id->m_address = base + offset; - n_entity_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity_id); - - field_name = "link_strength"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::histfig_entity_link, field_name)); - auto n_link_strength = new NodeSimple; - n_link_strength->m_field_name = field_name; - n_link_strength->m_df_type = DF_Type::int16_t; - n_link_strength->m_rdf_type = RDF_Type::int16_t; - n_link_strength->m_node_type = NodeType::Simple; - n_link_strength->m_address = base + offset; - n_link_strength->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_link_strength); - -} -void node_from_histfig_entity_link_memberst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::histfig_entity_link; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_histfig_entity_link(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_histfig_entity_link_former_memberst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::histfig_entity_link; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_histfig_entity_link(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_histfig_entity_link_mercenaryst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::histfig_entity_link; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_histfig_entity_link(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_histfig_entity_link_former_mercenaryst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::histfig_entity_link; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_histfig_entity_link(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_histfig_entity_link_slavest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::histfig_entity_link; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_histfig_entity_link(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_histfig_entity_link_former_slavest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::histfig_entity_link; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_histfig_entity_link(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_histfig_entity_link_prisonerst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::histfig_entity_link; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_histfig_entity_link(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_histfig_entity_link_former_prisonerst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::histfig_entity_link; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_histfig_entity_link(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_histfig_entity_link_enemyst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::histfig_entity_link; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_histfig_entity_link(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_histfig_entity_link_criminalst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::histfig_entity_link; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_histfig_entity_link(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_histfig_entity_link_positionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::histfig_entity_link; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_histfig_entity_link(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "assignment_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::histfig_entity_link_positionst, field_name)); - auto n_assignment_id = new NodeSimple; - n_assignment_id->m_field_name = field_name; - n_assignment_id->m_df_type = DF_Type::int32_t; - n_assignment_id->m_rdf_type = RDF_Type::int32_t; - n_assignment_id->m_node_type = NodeType::Simple; - n_assignment_id->m_address = base + offset; - n_assignment_id->m_refers_to = "(find-by-id $$._global.entity_id.ref-target.positions.assignments $id $)"; - n_assignment_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_assignment_id); - - field_name = "start_year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::histfig_entity_link_positionst, field_name)); - auto n_start_year = new NodeSimple; - n_start_year->m_field_name = field_name; - n_start_year->m_df_type = DF_Type::int32_t; - n_start_year->m_rdf_type = RDF_Type::int32_t; - n_start_year->m_node_type = NodeType::Simple; - n_start_year->m_address = base + offset; - n_start_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_start_year); - -} -void node_from_histfig_entity_link_former_positionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::histfig_entity_link; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_histfig_entity_link(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "assignment_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::histfig_entity_link_former_positionst, field_name)); - auto n_assignment_id = new NodeSimple; - n_assignment_id->m_field_name = field_name; - n_assignment_id->m_df_type = DF_Type::int32_t; - n_assignment_id->m_rdf_type = RDF_Type::int32_t; - n_assignment_id->m_node_type = NodeType::Simple; - n_assignment_id->m_address = base + offset; - n_assignment_id->m_refers_to = "(find-by-id $$._global.entity_id.ref-target.positions.assignments $id $)"; - n_assignment_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_assignment_id); - - field_name = "start_year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::histfig_entity_link_former_positionst, field_name)); - auto n_start_year = new NodeSimple; - n_start_year->m_field_name = field_name; - n_start_year->m_df_type = DF_Type::int32_t; - n_start_year->m_rdf_type = RDF_Type::int32_t; - n_start_year->m_node_type = NodeType::Simple; - n_start_year->m_address = base + offset; - n_start_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_start_year); - - field_name = "end_year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::histfig_entity_link_former_positionst, field_name)); - auto n_end_year = new NodeSimple; - n_end_year->m_field_name = field_name; - n_end_year->m_df_type = DF_Type::int32_t; - n_end_year->m_rdf_type = RDF_Type::int32_t; - n_end_year->m_node_type = NodeType::Simple; - n_end_year->m_address = base + offset; - n_end_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_end_year); - -} -void node_from_histfig_entity_link_position_claimst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::histfig_entity_link; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_histfig_entity_link(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "assignment_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::histfig_entity_link_position_claimst, field_name)); - auto n_assignment_id = new NodeSimple; - n_assignment_id->m_field_name = field_name; - n_assignment_id->m_df_type = DF_Type::int32_t; - n_assignment_id->m_rdf_type = RDF_Type::int32_t; - n_assignment_id->m_node_type = NodeType::Simple; - n_assignment_id->m_address = base + offset; - n_assignment_id->m_refers_to = "(find-by-id $$._global.entity_id.ref-target.positions.assignments $id $)"; - n_assignment_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_assignment_id); - - field_name = "start_year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::histfig_entity_link_position_claimst, field_name)); - auto n_start_year = new NodeSimple; - n_start_year->m_field_name = field_name; - n_start_year->m_df_type = DF_Type::int32_t; - n_start_year->m_rdf_type = RDF_Type::int32_t; - n_start_year->m_node_type = NodeType::Simple; - n_start_year->m_address = base + offset; - n_start_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_start_year); - -} -void node_from_histfig_entity_link_squadst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::histfig_entity_link; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_histfig_entity_link(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "squad_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::histfig_entity_link_squadst, field_name)); - auto n_squad_id = new NodeSimple; - n_squad_id->m_field_name = field_name; - n_squad_id->m_df_type = DF_Type::int32_t; - n_squad_id->m_rdf_type = RDF_Type::int32_t; - n_squad_id->m_node_type = NodeType::Simple; - n_squad_id->m_address = base + offset; - n_squad_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_squad_id); - - field_name = "squad_position"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::histfig_entity_link_squadst, field_name)); - auto n_squad_position = new NodeSimple; - n_squad_position->m_field_name = field_name; - n_squad_position->m_df_type = DF_Type::int32_t; - n_squad_position->m_rdf_type = RDF_Type::int32_t; - n_squad_position->m_node_type = NodeType::Simple; - n_squad_position->m_address = base + offset; - n_squad_position->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_squad_position); - - field_name = "start_year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::histfig_entity_link_squadst, field_name)); - auto n_start_year = new NodeSimple; - n_start_year->m_field_name = field_name; - n_start_year->m_df_type = DF_Type::int32_t; - n_start_year->m_rdf_type = RDF_Type::int32_t; - n_start_year->m_node_type = NodeType::Simple; - n_start_year->m_address = base + offset; - n_start_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_start_year); - -} -void node_from_histfig_entity_link_former_squadst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::histfig_entity_link; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_histfig_entity_link(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "squad_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::histfig_entity_link_former_squadst, field_name)); - auto n_squad_id = new NodeSimple; - n_squad_id->m_field_name = field_name; - n_squad_id->m_df_type = DF_Type::int32_t; - n_squad_id->m_rdf_type = RDF_Type::int32_t; - n_squad_id->m_node_type = NodeType::Simple; - n_squad_id->m_address = base + offset; - n_squad_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_squad_id); - - field_name = "start_year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::histfig_entity_link_former_squadst, field_name)); - auto n_start_year = new NodeSimple; - n_start_year->m_field_name = field_name; - n_start_year->m_df_type = DF_Type::int32_t; - n_start_year->m_rdf_type = RDF_Type::int32_t; - n_start_year->m_node_type = NodeType::Simple; - n_start_year->m_address = base + offset; - n_start_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_start_year); - - field_name = "end_year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::histfig_entity_link_former_squadst, field_name)); - auto n_end_year = new NodeSimple; - n_end_year->m_field_name = field_name; - n_end_year->m_df_type = DF_Type::int32_t; - n_end_year->m_rdf_type = RDF_Type::int32_t; - n_end_year->m_node_type = NodeType::Simple; - n_end_year->m_address = base + offset; - n_end_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_end_year); - -} -void node_from_histfig_entity_link_occupationst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::histfig_entity_link; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_histfig_entity_link(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "occupation_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::histfig_entity_link_occupationst, field_name)); - auto n_occupation_id = new NodeSimple; - n_occupation_id->m_field_name = field_name; - n_occupation_id->m_df_type = DF_Type::int32_t; - n_occupation_id->m_rdf_type = RDF_Type::int32_t; - n_occupation_id->m_node_type = NodeType::Simple; - n_occupation_id->m_address = base + offset; - n_occupation_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_occupation_id); - - field_name = "start_year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::histfig_entity_link_occupationst, field_name)); - auto n_start_year = new NodeSimple; - n_start_year->m_field_name = field_name; - n_start_year->m_df_type = DF_Type::int32_t; - n_start_year->m_rdf_type = RDF_Type::int32_t; - n_start_year->m_node_type = NodeType::Simple; - n_start_year->m_address = base + offset; - n_start_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_start_year); - -} -void node_from_histfig_entity_link_former_occupationst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::histfig_entity_link; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_histfig_entity_link(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "occupation_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::histfig_entity_link_former_occupationst, field_name)); - auto n_occupation_id = new NodeSimple; - n_occupation_id->m_field_name = field_name; - n_occupation_id->m_df_type = DF_Type::int32_t; - n_occupation_id->m_rdf_type = RDF_Type::int32_t; - n_occupation_id->m_node_type = NodeType::Simple; - n_occupation_id->m_address = base + offset; - n_occupation_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_occupation_id); - - field_name = "start_year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::histfig_entity_link_former_occupationst, field_name)); - auto n_start_year = new NodeSimple; - n_start_year->m_field_name = field_name; - n_start_year->m_df_type = DF_Type::int32_t; - n_start_year->m_rdf_type = RDF_Type::int32_t; - n_start_year->m_node_type = NodeType::Simple; - n_start_year->m_address = base + offset; - n_start_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_start_year); - - field_name = "end_year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::histfig_entity_link_former_occupationst, field_name)); - auto n_end_year = new NodeSimple; - n_end_year->m_field_name = field_name; - n_end_year->m_df_type = DF_Type::int32_t; - n_end_year->m_rdf_type = RDF_Type::int32_t; - n_end_year->m_node_type = NodeType::Simple; - n_end_year->m_address = base + offset; - n_end_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_end_year); - -} -void node_from_histfig_site_link_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_histfig_site_link(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::histfig_site_link, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "sub_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::histfig_site_link, field_name)); - auto n_sub_id = new NodeSimple; - n_sub_id->m_field_name = field_name; - n_sub_id->m_df_type = DF_Type::int32_t; - n_sub_id->m_rdf_type = RDF_Type::int32_t; - n_sub_id->m_node_type = NodeType::Simple; - n_sub_id->m_address = base + offset; - n_sub_id->m_comment = "from XML"; - n_sub_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sub_id); - - field_name = "entity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::histfig_site_link, field_name)); - auto n_entity = new NodeSimple; - n_entity->m_field_name = field_name; - n_entity->m_df_type = DF_Type::int32_t; - n_entity->m_rdf_type = RDF_Type::int32_t; - n_entity->m_node_type = NodeType::Simple; - n_entity->m_address = base + offset; - n_entity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity); - -} -void node_from_histfig_site_link_seat_of_powerst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::histfig_site_link; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_histfig_site_link(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_histfig_site_link_hangoutst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::histfig_site_link; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_histfig_site_link(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_histfig_site_link_home_site_abstract_buildingst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::histfig_site_link; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_histfig_site_link(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_histfig_site_link_home_site_realization_buildingst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::histfig_site_link; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_histfig_site_link(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_histfig_site_link_lairst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::histfig_site_link; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_histfig_site_link(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_histfig_site_link_home_site_realization_sulst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::histfig_site_link; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_histfig_site_link(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_histfig_site_link_home_site_saved_civzonest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::histfig_site_link; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_histfig_site_link(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_histfig_site_link_occupationst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::histfig_site_link; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_histfig_site_link(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::histfig_site_link_occupationst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_histfig_hf_link_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_histfig_hf_link(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "target_hf"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::histfig_hf_link, field_name)); - auto n_target_hf = new NodeSimple; - n_target_hf->m_field_name = field_name; - n_target_hf->m_df_type = DF_Type::int32_t; - n_target_hf->m_rdf_type = RDF_Type::int32_t; - n_target_hf->m_node_type = NodeType::Simple; - n_target_hf->m_address = base + offset; - n_target_hf->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_target_hf); - - field_name = "link_strength"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::histfig_hf_link, field_name)); - auto n_link_strength = new NodeSimple; - n_link_strength->m_field_name = field_name; - n_link_strength->m_df_type = DF_Type::int16_t; - n_link_strength->m_rdf_type = RDF_Type::int16_t; - n_link_strength->m_node_type = NodeType::Simple; - n_link_strength->m_address = base + offset; - n_link_strength->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_link_strength); - -} -void node_from_histfig_hf_link_motherst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::histfig_hf_link; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_histfig_hf_link(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_histfig_hf_link_fatherst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::histfig_hf_link; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_histfig_hf_link(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_histfig_hf_link_spousest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::histfig_hf_link; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_histfig_hf_link(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_histfig_hf_link_childst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::histfig_hf_link; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_histfig_hf_link(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_histfig_hf_link_deityst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::histfig_hf_link; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_histfig_hf_link(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_histfig_hf_link_loverst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::histfig_hf_link; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_histfig_hf_link(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_histfig_hf_link_prisonerst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::histfig_hf_link; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_histfig_hf_link(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_histfig_hf_link_imprisonerst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::histfig_hf_link; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_histfig_hf_link(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_histfig_hf_link_masterst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::histfig_hf_link; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_histfig_hf_link(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_histfig_hf_link_apprenticest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::histfig_hf_link; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_histfig_hf_link(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_histfig_hf_link_companionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::histfig_hf_link; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_histfig_hf_link(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::histfig_hf_link_companionst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::histfig_hf_link_companionst, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - -} -void node_from_histfig_hf_link_former_apprenticest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::histfig_hf_link; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_histfig_hf_link(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_histfig_hf_link_former_masterst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::histfig_hf_link; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_histfig_hf_link(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_histfig_hf_link_pet_ownerst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::histfig_hf_link; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_histfig_hf_link(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_entity_entity_link_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_resource_allotment_specifier_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_resource_allotment_specifier(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier, field_name)); - auto n_unk_1 = new NodeSimple; - n_unk_1->m_field_name = field_name; - n_unk_1->m_df_type = DF_Type::int32_t; - n_unk_1->m_rdf_type = RDF_Type::int32_t; - n_unk_1->m_node_type = NodeType::Simple; - n_unk_1->m_address = base + offset; - n_unk_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_1); - - field_name = "unk_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier, field_name)); - auto n_unk_2 = new NodeSimple; - n_unk_2->m_field_name = field_name; - n_unk_2->m_df_type = DF_Type::int32_t; - n_unk_2->m_rdf_type = RDF_Type::int32_t; - n_unk_2->m_node_type = NodeType::Simple; - n_unk_2->m_address = base + offset; - n_unk_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_2); - - field_name = "unk_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier, field_name)); - auto n_unk_3 = new NodeSimple; - n_unk_3->m_field_name = field_name; - n_unk_3->m_df_type = DF_Type::int32_t; - n_unk_3->m_rdf_type = RDF_Type::int32_t; - n_unk_3->m_node_type = NodeType::Simple; - n_unk_3->m_address = base + offset; - n_unk_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_3); - -} -void node_from_resource_allotment_specifier_cropst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::resource_allotment_specifier; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_resource_allotment_specifier(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_cropst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int32_t; - n_mat_type->m_rdf_type = RDF_Type::int32_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_comment = "index to world.raws.plant.all"; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_cropst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "unk_v40_01"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_cropst, field_name)); - auto n_unk_v40_01 = new NodeSimple; - n_unk_v40_01->m_field_name = field_name; - n_unk_v40_01->m_df_type = DF_Type::int32_t; - n_unk_v40_01->m_rdf_type = RDF_Type::int32_t; - n_unk_v40_01->m_node_type = NodeType::Simple; - n_unk_v40_01->m_address = base + offset; - n_unk_v40_01->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_01); - - field_name = "anon_2"; - auto n_anon_2 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_cropst, field_name)); - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::Array; - n_anon_2->m_node_type = NodeType::Array; - n_anon_2->m_addornements = "[5"; - n_anon_2->m_array_size = 5; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - -} -void node_from_resource_allotment_specifier_stonest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::resource_allotment_specifier; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_resource_allotment_specifier(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_stonest, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_stonest, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_stonest, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_stonest, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - auto n_anon_3 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_stonest, field_name)); - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::Array; - n_anon_3->m_node_type = NodeType::Array; - n_anon_3->m_addornements = "[5"; - n_anon_3->m_array_size = 5; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - -} -void node_from_resource_allotment_specifier_metalst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::resource_allotment_specifier; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_resource_allotment_specifier(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_metalst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_metalst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_metalst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - auto n_anon_2 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_metalst, field_name)); - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::Array; - n_anon_2->m_node_type = NodeType::Array; - n_anon_2->m_addornements = "[12"; - n_anon_2->m_array_size = 12; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - -} -void node_from_resource_allotment_specifier_woodst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::resource_allotment_specifier; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_resource_allotment_specifier(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_woodst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_woodst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_woodst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_woodst, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_woodst, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_woodst, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_woodst, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_woodst, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - -} -void node_from_resource_allotment_specifier_armor_bodyst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::resource_allotment_specifier; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_resource_allotment_specifier(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_armor_bodyst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_armor_bodyst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - -} -void node_from_resource_allotment_specifier_armor_pantsst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::resource_allotment_specifier; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_resource_allotment_specifier(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_armor_pantsst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_armor_pantsst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - -} -void node_from_resource_allotment_specifier_armor_glovesst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::resource_allotment_specifier; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_resource_allotment_specifier(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_armor_glovesst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_armor_glovesst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - -} -void node_from_resource_allotment_specifier_armor_bootsst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::resource_allotment_specifier; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_resource_allotment_specifier(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_armor_bootsst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_armor_bootsst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - -} -void node_from_resource_allotment_specifier_armor_helmst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::resource_allotment_specifier; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_resource_allotment_specifier(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_armor_helmst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_armor_helmst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - -} -void node_from_resource_allotment_specifier_clothing_bodyst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::resource_allotment_specifier; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_resource_allotment_specifier(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_clothing_bodyst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_clothing_bodyst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - -} -void node_from_resource_allotment_specifier_clothing_pantsst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::resource_allotment_specifier; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_resource_allotment_specifier(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_clothing_pantsst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_clothing_pantsst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - -} -void node_from_resource_allotment_specifier_clothing_glovesst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::resource_allotment_specifier; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_resource_allotment_specifier(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_clothing_glovesst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_clothing_glovesst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - -} -void node_from_resource_allotment_specifier_clothing_bootsst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::resource_allotment_specifier; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_resource_allotment_specifier(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_clothing_bootsst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_clothing_bootsst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - -} -void node_from_resource_allotment_specifier_clothing_helmst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::resource_allotment_specifier; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_resource_allotment_specifier(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_clothing_helmst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_clothing_helmst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - -} -void node_from_resource_allotment_specifier_weapon_meleest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::resource_allotment_specifier; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_resource_allotment_specifier(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_weapon_meleest, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_weapon_meleest, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - -} -void node_from_resource_allotment_specifier_weapon_rangedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::resource_allotment_specifier; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_resource_allotment_specifier(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_weapon_rangedst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_weapon_rangedst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - -} -void node_from_resource_allotment_specifier_ammost(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::resource_allotment_specifier; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_resource_allotment_specifier(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_ammost, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_ammost, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - -} -void node_from_resource_allotment_specifier_anvilst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::resource_allotment_specifier; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_resource_allotment_specifier(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_anvilst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_anvilst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - -} -void node_from_resource_allotment_specifier_gemsst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::resource_allotment_specifier; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_resource_allotment_specifier(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_gemsst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_gemsst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - -} -void node_from_resource_allotment_specifier_threadst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::resource_allotment_specifier; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_resource_allotment_specifier(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_threadst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_threadst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_threadst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_resource_allotment_specifier_clothst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::resource_allotment_specifier; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_resource_allotment_specifier(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_clothst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_clothst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_clothst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_clothst, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_clothst, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_clothst, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_clothst, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - -} -void node_from_resource_allotment_specifier_leatherst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::resource_allotment_specifier; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_resource_allotment_specifier(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_leatherst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_leatherst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_leatherst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_leatherst, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_leatherst, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_leatherst, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_leatherst, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_leatherst, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_leatherst, field_name)); - auto n_anon_7 = new NodeSimple; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::int32_t; - n_anon_7->m_rdf_type = RDF_Type::int32_t; - n_anon_7->m_node_type = NodeType::Simple; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_7); - - field_name = "anon_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_leatherst, field_name)); - auto n_anon_8 = new NodeSimple; - n_anon_8->m_field_name = field_name; - n_anon_8->m_df_type = DF_Type::int32_t; - n_anon_8->m_rdf_type = RDF_Type::int32_t; - n_anon_8->m_node_type = NodeType::Simple; - n_anon_8->m_address = base + offset; - n_anon_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_8); - - field_name = "anon_9"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_leatherst, field_name)); - auto n_anon_9 = new NodeSimple; - n_anon_9->m_field_name = field_name; - n_anon_9->m_df_type = DF_Type::int32_t; - n_anon_9->m_rdf_type = RDF_Type::int32_t; - n_anon_9->m_node_type = NodeType::Simple; - n_anon_9->m_address = base + offset; - n_anon_9->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_9); - - field_name = "anon_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_leatherst, field_name)); - auto n_anon_10 = new NodeSimple; - n_anon_10->m_field_name = field_name; - n_anon_10->m_df_type = DF_Type::int32_t; - n_anon_10->m_rdf_type = RDF_Type::int32_t; - n_anon_10->m_node_type = NodeType::Simple; - n_anon_10->m_address = base + offset; - n_anon_10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_10); - -} -void node_from_resource_allotment_specifier_quiverst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::resource_allotment_specifier; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_resource_allotment_specifier(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_quiverst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_quiverst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - -} -void node_from_resource_allotment_specifier_backpackst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::resource_allotment_specifier; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_resource_allotment_specifier(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_backpackst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_backpackst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - -} -void node_from_resource_allotment_specifier_flaskst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::resource_allotment_specifier; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_resource_allotment_specifier(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_flaskst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_flaskst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - -} -void node_from_resource_allotment_specifier_bagst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::resource_allotment_specifier; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_resource_allotment_specifier(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_bagst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_bagst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - -} -void node_from_resource_allotment_specifier_tablest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::resource_allotment_specifier; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_resource_allotment_specifier(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_tablest, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_tablest, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - -} -void node_from_resource_allotment_specifier_cabinetst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::resource_allotment_specifier; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_resource_allotment_specifier(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_cabinetst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_cabinetst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - -} -void node_from_resource_allotment_specifier_chairst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::resource_allotment_specifier; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_resource_allotment_specifier(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_chairst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_chairst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - -} -void node_from_resource_allotment_specifier_boxst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::resource_allotment_specifier; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_resource_allotment_specifier(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_boxst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_boxst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - -} -void node_from_resource_allotment_specifier_bedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::resource_allotment_specifier; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_resource_allotment_specifier(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_bedst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_bedst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - -} -void node_from_resource_allotment_specifier_craftsst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::resource_allotment_specifier; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_resource_allotment_specifier(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_craftsst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_craftsst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - -} -void node_from_resource_allotment_specifier_meatst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::resource_allotment_specifier; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_resource_allotment_specifier(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_meatst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_meatst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - -} -void node_from_resource_allotment_specifier_bonest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::resource_allotment_specifier; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_resource_allotment_specifier(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_bonest, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_bonest, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_bonest, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_resource_allotment_specifier_hornst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::resource_allotment_specifier; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_resource_allotment_specifier(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_hornst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_hornst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_hornst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_resource_allotment_specifier_shellst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::resource_allotment_specifier; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_resource_allotment_specifier(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_shellst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_shellst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_shellst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_resource_allotment_specifier_tallowst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::resource_allotment_specifier; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_resource_allotment_specifier(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_tallowst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_tallowst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - -} -void node_from_resource_allotment_specifier_toothst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::resource_allotment_specifier; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_resource_allotment_specifier(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_toothst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_toothst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_toothst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_resource_allotment_specifier_pearlst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::resource_allotment_specifier; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_resource_allotment_specifier(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_pearlst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_pearlst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - -} -void node_from_resource_allotment_specifier_soapst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::resource_allotment_specifier; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_resource_allotment_specifier(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_soapst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_soapst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - -} -void node_from_resource_allotment_specifier_extractst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::resource_allotment_specifier; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_resource_allotment_specifier(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_extractst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_extractst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_extractst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "mat_type2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_extractst, field_name)); - auto n_mat_type2 = new NodeSimple; - n_mat_type2->m_field_name = field_name; - n_mat_type2->m_df_type = DF_Type::int16_t; - n_mat_type2->m_rdf_type = RDF_Type::int16_t; - n_mat_type2->m_node_type = NodeType::Simple; - n_mat_type2->m_address = base + offset; - n_mat_type2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type2); - - field_name = "mat_index2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_extractst, field_name)); - auto n_mat_index2 = new NodeSimple; - n_mat_index2->m_field_name = field_name; - n_mat_index2->m_df_type = DF_Type::int32_t; - n_mat_index2->m_rdf_type = RDF_Type::int32_t; - n_mat_index2->m_node_type = NodeType::Simple; - n_mat_index2->m_address = base + offset; - n_mat_index2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index2); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_extractst, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_comment = "uninitialized"; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - -} -void node_from_resource_allotment_specifier_cheesest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::resource_allotment_specifier; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_resource_allotment_specifier(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_cheesest, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_cheesest, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - -} -void node_from_resource_allotment_specifier_skinst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::resource_allotment_specifier; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_resource_allotment_specifier(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_skinst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_skinst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "mat_type2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_skinst, field_name)); - auto n_mat_type2 = new NodeSimple; - n_mat_type2->m_field_name = field_name; - n_mat_type2->m_df_type = DF_Type::int16_t; - n_mat_type2->m_rdf_type = RDF_Type::int16_t; - n_mat_type2->m_node_type = NodeType::Simple; - n_mat_type2->m_address = base + offset; - n_mat_type2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type2); - - field_name = "mat_index2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_skinst, field_name)); - auto n_mat_index2 = new NodeSimple; - n_mat_index2->m_field_name = field_name; - n_mat_index2->m_df_type = DF_Type::int32_t; - n_mat_index2->m_rdf_type = RDF_Type::int32_t; - n_mat_index2->m_node_type = NodeType::Simple; - n_mat_index2->m_address = base + offset; - n_mat_index2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index2); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_skinst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_resource_allotment_specifier_powderst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::resource_allotment_specifier; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_resource_allotment_specifier(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_powderst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_powderst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_powderst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_profession(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_unit_labor_category(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_unit_labor(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_job_skill_class(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_job_skill(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_hauler_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_furniture_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_stockpile_category(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_stockpile_group_set(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_stockpile_list(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_route_stockpile_link(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "building_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::route_stockpile_link, field_name)); - auto n_building_id = new NodeSimple; - n_building_id->m_field_name = field_name; - n_building_id->m_df_type = DF_Type::int32_t; - n_building_id->m_rdf_type = RDF_Type::int32_t; - n_building_id->m_node_type = NodeType::Simple; - n_building_id->m_address = base + offset; - n_building_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_building_id); - - field_name = "mode"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::route_stockpile_link, field_name)); - auto n_mode = new NodeBitfield; - n_mode->m_field_name = field_name; - n_mode->m_df_type = DF_Type::route_stockpile_link__T_mode; - n_mode->m_rdf_type = RDF_Type::Bitfield; - n_mode->m_node_type = NodeType::Bitfield; - n_mode->m_address = base + offset; - n_mode->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mode); - -} -void node_from_creature_interaction_effect_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_creature_interaction_effect_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_cie_add_tag_mask1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_cie_add_tag_mask2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_creature_interaction_effect_target_mode(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_syndrome_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_tiletype_shape_basic(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_tiletype_shape(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_tiletype_material(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_tiletype_variant(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_tiletype_special(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_tiletype(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_build_req_choice_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_build_req_choicest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "distance"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::build_req_choicest, field_name)); - auto n_distance = new NodeSimple; - n_distance->m_field_name = field_name; - n_distance->m_df_type = DF_Type::int32_t; - n_distance->m_rdf_type = RDF_Type::int32_t; - n_distance->m_node_type = NodeType::Simple; - n_distance->m_address = base + offset; - n_distance->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_distance); - -} -void node_from_burrow(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::burrow, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::burrow, field_name)); - auto n_name = new NodeSimple; - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Stl_string; - n_name->m_node_type = NodeType::Simple; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "tile"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::burrow, field_name)); - auto n_tile = new NodeSimple; - n_tile->m_field_name = field_name; - n_tile->m_df_type = DF_Type::uint8_t; - n_tile->m_rdf_type = RDF_Type::uint8_t; - n_tile->m_node_type = NodeType::Simple; - n_tile->m_address = base + offset; - n_tile->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tile); - - field_name = "fg_color"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::burrow, field_name)); - auto n_fg_color = new NodeSimple; - n_fg_color->m_field_name = field_name; - n_fg_color->m_df_type = DF_Type::int16_t; - n_fg_color->m_rdf_type = RDF_Type::int16_t; - n_fg_color->m_node_type = NodeType::Simple; - n_fg_color->m_address = base + offset; - n_fg_color->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_fg_color); - - field_name = "bg_color"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::burrow, field_name)); - auto n_bg_color = new NodeSimple; - n_bg_color->m_field_name = field_name; - n_bg_color->m_df_type = DF_Type::int16_t; - n_bg_color->m_rdf_type = RDF_Type::int16_t; - n_bg_color->m_node_type = NodeType::Simple; - n_bg_color->m_address = base + offset; - n_bg_color->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_bg_color); - - field_name = "block_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::burrow, field_name)); - auto n_block_x = new NodeVector; - n_block_x->m_field_name = field_name; - n_block_x->m_df_type = DF_Type::int32_t; - n_block_x->m_rdf_type = RDF_Type::Vector; - n_block_x->m_node_type = NodeType::Vector; - n_block_x->m_addornements = "v"; - n_block_x->m_address = base + offset; - n_block_x->m_parent = p_node_parent; - n_block_x->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_block_x); - - field_name = "block_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::burrow, field_name)); - auto n_block_y = new NodeVector; - n_block_y->m_field_name = field_name; - n_block_y->m_df_type = DF_Type::int32_t; - n_block_y->m_rdf_type = RDF_Type::Vector; - n_block_y->m_node_type = NodeType::Vector; - n_block_y->m_addornements = "v"; - n_block_y->m_address = base + offset; - n_block_y->m_parent = p_node_parent; - n_block_y->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_block_y); - - field_name = "block_z"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::burrow, field_name)); - auto n_block_z = new NodeVector; - n_block_z->m_field_name = field_name; - n_block_z->m_df_type = DF_Type::int32_t; - n_block_z->m_rdf_type = RDF_Type::Vector; - n_block_z->m_node_type = NodeType::Vector; - n_block_z->m_addornements = "v"; - n_block_z->m_address = base + offset; - n_block_z->m_parent = p_node_parent; - n_block_z->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_block_z); - - field_name = "units"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::burrow, field_name)); - auto n_units = new NodeVector; - n_units->m_field_name = field_name; - n_units->m_df_type = DF_Type::int32_t; - n_units->m_rdf_type = RDF_Type::Vector; - n_units->m_node_type = NodeType::Vector; - n_units->m_addornements = "v"; - n_units->m_address = base + offset; - n_units->m_parent = p_node_parent; - n_units->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_units); - - field_name = "limit_workshops"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::burrow, field_name)); - auto n_limit_workshops = new NodeSimple; - n_limit_workshops->m_field_name = field_name; - n_limit_workshops->m_df_type = DF_Type::int32_t; - n_limit_workshops->m_rdf_type = RDF_Type::int32_t; - n_limit_workshops->m_node_type = NodeType::Simple; - n_limit_workshops->m_address = base + offset; - n_limit_workshops->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_limit_workshops); - -} -void node_from_ui_hotkey___union4(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = true) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unit_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_hotkey, field_name)); - auto n_unit_id = new NodeSimple; - n_unit_id->m_field_name = field_name; - n_unit_id->m_df_type = DF_Type::int32_t; - n_unit_id->m_rdf_type = RDF_Type::int32_t; - n_unit_id->m_node_type = NodeType::Simple; - n_unit_id->m_address = base + offset; - n_unit_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unit_id); - - field_name = "item_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_hotkey, field_name)); - auto n_item_id = new NodeSimple; - n_item_id->m_field_name = field_name; - n_item_id->m_df_type = DF_Type::int32_t; - n_item_id->m_rdf_type = RDF_Type::int32_t; - n_item_id->m_node_type = NodeType::Simple; - n_item_id->m_address = base + offset; - n_item_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_id); - -} -void node_from_ui_hotkey(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_hotkey, field_name)); - auto n_name = new NodeSimple; - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Stl_string; - n_name->m_node_type = NodeType::Simple; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "cmd"; - auto n_cmd = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_hotkey, field_name)); - n_cmd->m_field_name = field_name; - n_cmd->m_df_type = DF_Type::ui_hotkey__T_cmd; - n_cmd->m_rdf_type = RDF_Type::Enum; - n_cmd->m_node_type = NodeType::Enum; - n_cmd->m_base_type = DF_Type::int16_t; - n_cmd->m_enum_type = "ui_hotkey::T_cmd"; - n_cmd->m_address = base + offset; - n_cmd->m_first_value = -1; - n_cmd->m_last_value = 2; - n_cmd->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cmd); - - field_name = "x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_hotkey, field_name)); - auto n_x = new NodeSimple; - n_x->m_field_name = field_name; - n_x->m_df_type = DF_Type::int32_t; - n_x->m_rdf_type = RDF_Type::int32_t; - n_x->m_node_type = NodeType::Simple; - n_x->m_address = base + offset; - n_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_x); - - field_name = "y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_hotkey, field_name)); - auto n_y = new NodeSimple; - n_y->m_field_name = field_name; - n_y->m_df_type = DF_Type::int32_t; - n_y->m_rdf_type = RDF_Type::int32_t; - n_y->m_node_type = NodeType::Simple; - n_y->m_address = base + offset; - n_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_y); - - field_name = "z"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_hotkey, field_name)); - auto n_z = new NodeSimple; - n_z->m_field_name = field_name; - n_z->m_df_type = DF_Type::int32_t; - n_z->m_rdf_type = RDF_Type::int32_t; - n_z->m_node_type = NodeType::Simple; - n_z->m_address = base + offset; - n_z->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_z); - - auto n_$union4 = new NodeAnonymous; - field_name = "unit_id"; // One child of the anonymous union - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_hotkey, field_name)); - n_$union4->m_field_name = "N/A"; - n_$union4->m_df_type = DF_Type::ui_hotkey___union4; - n_$union4->m_rdf_type = RDF_Type::AnonymousUnion; - n_$union4->m_node_type = NodeType::AnonymousUnion; - n_$union4->m_address = base + offset; - n_$union4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_$union4); - -} -void node_from_ui_sidebar_mode(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_kitchen_exc_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_timed_event_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_map_viewport(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "adv_mode"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_viewport, field_name)); - auto n_adv_mode = new NodeSimple; - n_adv_mode->m_field_name = field_name; - n_adv_mode->m_df_type = DF_Type::Bool; - n_adv_mode->m_rdf_type = RDF_Type::Bool; - n_adv_mode->m_node_type = NodeType::Simple; - n_adv_mode->m_address = base + offset; - n_adv_mode->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_adv_mode); - - field_name = "unk1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_viewport, field_name)); - auto n_unk1 = new NodeSimple; - n_unk1->m_field_name = field_name; - n_unk1->m_df_type = DF_Type::Bool; - n_unk1->m_rdf_type = RDF_Type::Bool; - n_unk1->m_node_type = NodeType::Simple; - n_unk1->m_address = base + offset; - n_unk1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk1); - - field_name = "map_rotation"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_viewport, field_name)); - auto n_map_rotation = new NodeSimple; - n_map_rotation->m_field_name = field_name; - n_map_rotation->m_df_type = DF_Type::uint8_t; - n_map_rotation->m_rdf_type = RDF_Type::uint8_t; - n_map_rotation->m_node_type = NodeType::Simple; - n_map_rotation->m_address = base + offset; - n_map_rotation->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_map_rotation); - - field_name = "min_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_viewport, field_name)); - auto n_min_x = new NodeSimple; - n_min_x->m_field_name = field_name; - n_min_x->m_df_type = DF_Type::int16_t; - n_min_x->m_rdf_type = RDF_Type::int16_t; - n_min_x->m_node_type = NodeType::Simple; - n_min_x->m_address = base + offset; - n_min_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_min_x); - - field_name = "min_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_viewport, field_name)); - auto n_min_y = new NodeSimple; - n_min_y->m_field_name = field_name; - n_min_y->m_df_type = DF_Type::int16_t; - n_min_y->m_rdf_type = RDF_Type::int16_t; - n_min_y->m_node_type = NodeType::Simple; - n_min_y->m_address = base + offset; - n_min_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_min_y); - - field_name = "max_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_viewport, field_name)); - auto n_max_x = new NodeSimple; - n_max_x->m_field_name = field_name; - n_max_x->m_df_type = DF_Type::int16_t; - n_max_x->m_rdf_type = RDF_Type::int16_t; - n_max_x->m_node_type = NodeType::Simple; - n_max_x->m_address = base + offset; - n_max_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_max_x); - - field_name = "max_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_viewport, field_name)); - auto n_max_y = new NodeSimple; - n_max_y->m_field_name = field_name; - n_max_y->m_df_type = DF_Type::int16_t; - n_max_y->m_rdf_type = RDF_Type::int16_t; - n_max_y->m_node_type = NodeType::Simple; - n_max_y->m_address = base + offset; - n_max_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_max_y); - - field_name = "window_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_viewport, field_name)); - auto n_window_x = new NodeSimple; - n_window_x->m_field_name = field_name; - n_window_x->m_df_type = DF_Type::int16_t; - n_window_x->m_rdf_type = RDF_Type::int16_t; - n_window_x->m_node_type = NodeType::Simple; - n_window_x->m_address = base + offset; - n_window_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_window_x); - - field_name = "window_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_viewport, field_name)); - auto n_window_y = new NodeSimple; - n_window_y->m_field_name = field_name; - n_window_y->m_df_type = DF_Type::int16_t; - n_window_y->m_rdf_type = RDF_Type::int16_t; - n_window_y->m_node_type = NodeType::Simple; - n_window_y->m_address = base + offset; - n_window_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_window_y); - - field_name = "window_z"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_viewport, field_name)); - auto n_window_z = new NodeSimple; - n_window_z->m_field_name = field_name; - n_window_z->m_df_type = DF_Type::int16_t; - n_window_z->m_rdf_type = RDF_Type::int16_t; - n_window_z->m_node_type = NodeType::Simple; - n_window_z->m_address = base + offset; - n_window_z->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_window_z); - -} -void node_from_emotion_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_unit_thought_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_unit_flags1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_unit_flags2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_unit_flags3(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_unit_flags4(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_value_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_goal_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_personality_facet_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_physical_attribute_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_mental_attribute_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_mood_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_ghost_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_animal_training_level(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_unit_report_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_skill_rating(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_unit_relationship_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_need_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_ghost_goal(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_unit_genes(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "appearance"; - auto n_appearance = new NodeDFArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_genes, field_name)); - n_appearance->m_field_name = field_name; - n_appearance->m_df_type = DF_Type::uint8_t; - n_appearance->m_rdf_type = RDF_Type::DFArray; - n_appearance->m_node_type = NodeType::Array; - n_appearance->m_addornements = ""; - n_appearance->m_address = base + offset; - n_appearance->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_appearance); - - field_name = "colors"; - auto n_colors = new NodeDFArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_genes, field_name)); - n_colors->m_field_name = field_name; - n_colors->m_df_type = DF_Type::int16_t; - n_colors->m_rdf_type = RDF_Type::DFArray; - n_colors->m_node_type = NodeType::Array; - n_colors->m_addornements = ""; - n_colors->m_address = base + offset; - n_colors->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_colors); - -} -void node_from_unit_attribute(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "value"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_attribute, field_name)); - auto n_value = new NodeSimple; - n_value->m_field_name = field_name; - n_value->m_df_type = DF_Type::int32_t; - n_value->m_rdf_type = RDF_Type::int32_t; - n_value->m_node_type = NodeType::Simple; - n_value->m_address = base + offset; - n_value->m_comment = "effective = value - soft_demotion"; - n_value->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_value); - - field_name = "max_value"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_attribute, field_name)); - auto n_max_value = new NodeSimple; - n_max_value->m_field_name = field_name; - n_max_value->m_df_type = DF_Type::int32_t; - n_max_value->m_rdf_type = RDF_Type::int32_t; - n_max_value->m_node_type = NodeType::Simple; - n_max_value->m_address = base + offset; - n_max_value->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_max_value); - - field_name = "improve_counter"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_attribute, field_name)); - auto n_improve_counter = new NodeSimple; - n_improve_counter->m_field_name = field_name; - n_improve_counter->m_df_type = DF_Type::int32_t; - n_improve_counter->m_rdf_type = RDF_Type::int32_t; - n_improve_counter->m_node_type = NodeType::Simple; - n_improve_counter->m_address = base + offset; - n_improve_counter->m_comment = "counts to PHYS_ATT_RATES improve cost; then value++"; - n_improve_counter->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_improve_counter); - - field_name = "unused_counter"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_attribute, field_name)); - auto n_unused_counter = new NodeSimple; - n_unused_counter->m_field_name = field_name; - n_unused_counter->m_df_type = DF_Type::int32_t; - n_unused_counter->m_rdf_type = RDF_Type::int32_t; - n_unused_counter->m_node_type = NodeType::Simple; - n_unused_counter->m_address = base + offset; - n_unused_counter->m_comment = "counts to PHYS_ATT_RATES unused rate; then rust_counter++"; - n_unused_counter->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unused_counter); - - field_name = "soft_demotion"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_attribute, field_name)); - auto n_soft_demotion = new NodeSimple; - n_soft_demotion->m_field_name = field_name; - n_soft_demotion->m_df_type = DF_Type::int32_t; - n_soft_demotion->m_rdf_type = RDF_Type::int32_t; - n_soft_demotion->m_node_type = NodeType::Simple; - n_soft_demotion->m_address = base + offset; - n_soft_demotion->m_comment = "0-100; when not 0 blocks improve_counter"; - n_soft_demotion->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_soft_demotion); - - field_name = "rust_counter"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_attribute, field_name)); - auto n_rust_counter = new NodeSimple; - n_rust_counter->m_field_name = field_name; - n_rust_counter->m_df_type = DF_Type::int32_t; - n_rust_counter->m_rdf_type = RDF_Type::int32_t; - n_rust_counter->m_node_type = NodeType::Simple; - n_rust_counter->m_address = base + offset; - n_rust_counter->m_comment = "counts to PHYS_ATT_RATES rust; then demotion_counter++"; - n_rust_counter->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rust_counter); - - field_name = "demotion_counter"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_attribute, field_name)); - auto n_demotion_counter = new NodeSimple; - n_demotion_counter->m_field_name = field_name; - n_demotion_counter->m_df_type = DF_Type::int32_t; - n_demotion_counter->m_rdf_type = RDF_Type::int32_t; - n_demotion_counter->m_node_type = NodeType::Simple; - n_demotion_counter->m_address = base + offset; - n_demotion_counter->m_comment = "counts to PHYS_ATT_RATES demotion; then value--; soft_demotion++"; - n_demotion_counter->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_demotion_counter); - -} -void node_from_wound_effect_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_wound_damage_flags1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_wound_damage_flags2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_curse_attr_change(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "phys_att_perc"; - auto n_phys_att_perc = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::curse_attr_change, field_name)); - n_phys_att_perc->m_field_name = field_name; - n_phys_att_perc->m_df_type = DF_Type::int32_t; - n_phys_att_perc->m_rdf_type = RDF_Type::Array; - n_phys_att_perc->m_node_type = NodeType::Array; - n_phys_att_perc->m_index_enum = DF_Type::physical_attribute_type; - n_phys_att_perc->m_addornements = "[6"; - n_phys_att_perc->m_array_size = 6; - n_phys_att_perc->m_address = base + offset; - n_phys_att_perc->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_phys_att_perc); - - field_name = "phys_att_add"; - auto n_phys_att_add = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::curse_attr_change, field_name)); - n_phys_att_add->m_field_name = field_name; - n_phys_att_add->m_df_type = DF_Type::int32_t; - n_phys_att_add->m_rdf_type = RDF_Type::Array; - n_phys_att_add->m_node_type = NodeType::Array; - n_phys_att_add->m_index_enum = DF_Type::physical_attribute_type; - n_phys_att_add->m_addornements = "[6"; - n_phys_att_add->m_array_size = 6; - n_phys_att_add->m_address = base + offset; - n_phys_att_add->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_phys_att_add); - - field_name = "ment_att_perc"; - auto n_ment_att_perc = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::curse_attr_change, field_name)); - n_ment_att_perc->m_field_name = field_name; - n_ment_att_perc->m_df_type = DF_Type::int32_t; - n_ment_att_perc->m_rdf_type = RDF_Type::Array; - n_ment_att_perc->m_node_type = NodeType::Array; - n_ment_att_perc->m_index_enum = DF_Type::mental_attribute_type; - n_ment_att_perc->m_addornements = "[13"; - n_ment_att_perc->m_array_size = 13; - n_ment_att_perc->m_address = base + offset; - n_ment_att_perc->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ment_att_perc); - - field_name = "ment_att_add"; - auto n_ment_att_add = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::curse_attr_change, field_name)); - n_ment_att_add->m_field_name = field_name; - n_ment_att_add->m_df_type = DF_Type::int32_t; - n_ment_att_add->m_rdf_type = RDF_Type::Array; - n_ment_att_add->m_node_type = NodeType::Array; - n_ment_att_add->m_index_enum = DF_Type::mental_attribute_type; - n_ment_att_add->m_addornements = "[13"; - n_ment_att_add->m_array_size = 13; - n_ment_att_add->m_address = base + offset; - n_ment_att_add->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ment_att_add); - -} -void node_from_misc_trait_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_unit_item_wrestle(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unit"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_item_wrestle, field_name)); - auto n_unit = new NodeSimple; - n_unit->m_field_name = field_name; - n_unit->m_df_type = DF_Type::int32_t; - n_unit->m_rdf_type = RDF_Type::int32_t; - n_unit->m_node_type = NodeType::Simple; - n_unit->m_address = base + offset; - n_unit->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unit); - - field_name = "self_bp"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_item_wrestle, field_name)); - auto n_self_bp = new NodeSimple; - n_self_bp->m_field_name = field_name; - n_self_bp->m_df_type = DF_Type::int32_t; - n_self_bp->m_rdf_type = RDF_Type::int32_t; - n_self_bp->m_node_type = NodeType::Simple; - n_self_bp->m_address = base + offset; - n_self_bp->m_refers_to = "$$._parent._upglobal.body.body_plan.body_parts[$]"; - n_self_bp->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_self_bp); - - field_name = "other_bp"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_item_wrestle, field_name)); - auto n_other_bp = new NodeSimple; - n_other_bp->m_field_name = field_name; - n_other_bp->m_df_type = DF_Type::int32_t; - n_other_bp->m_rdf_type = RDF_Type::int32_t; - n_other_bp->m_node_type = NodeType::Simple; - n_other_bp->m_address = base + offset; - n_other_bp->m_refers_to = "$$._parent.unit.ref-target.body.body_plan.body_parts[$]"; - n_other_bp->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_other_bp); - - field_name = "unk_c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_item_wrestle, field_name)); - auto n_unk_c = new NodeSimple; - n_unk_c->m_field_name = field_name; - n_unk_c->m_df_type = DF_Type::int32_t; - n_unk_c->m_rdf_type = RDF_Type::int32_t; - n_unk_c->m_node_type = NodeType::Simple; - n_unk_c->m_address = base + offset; - n_unk_c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_c); - - field_name = "unk_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_item_wrestle, field_name)); - auto n_unk_10 = new NodeSimple; - n_unk_10->m_field_name = field_name; - n_unk_10->m_df_type = DF_Type::int32_t; - n_unk_10->m_rdf_type = RDF_Type::int32_t; - n_unk_10->m_node_type = NodeType::Simple; - n_unk_10->m_address = base + offset; - n_unk_10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_10); - - field_name = "item1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_item_wrestle, field_name)); - auto n_item1 = new NodeSimple; - n_item1->m_field_name = field_name; - n_item1->m_df_type = DF_Type::int32_t; - n_item1->m_rdf_type = RDF_Type::int32_t; - n_item1->m_node_type = NodeType::Simple; - n_item1->m_address = base + offset; - n_item1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item1); - - field_name = "item2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_item_wrestle, field_name)); - auto n_item2 = new NodeSimple; - n_item2->m_field_name = field_name; - n_item2->m_df_type = DF_Type::int32_t; - n_item2->m_rdf_type = RDF_Type::int32_t; - n_item2->m_node_type = NodeType::Simple; - n_item2->m_address = base + offset; - n_item2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item2); - - field_name = "unk_1c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_item_wrestle, field_name)); - auto n_unk_1c = new NodeSimple; - n_unk_1c->m_field_name = field_name; - n_unk_1c->m_df_type = DF_Type::int16_t; - n_unk_1c->m_rdf_type = RDF_Type::int16_t; - n_unk_1c->m_node_type = NodeType::Simple; - n_unk_1c->m_address = base + offset; - n_unk_1c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_1c); - - field_name = "unk_1e"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_item_wrestle, field_name)); - auto n_unk_1e = new NodeSimple; - n_unk_1e->m_field_name = field_name; - n_unk_1e->m_df_type = DF_Type::int8_t; - n_unk_1e->m_rdf_type = RDF_Type::int8_t; - n_unk_1e->m_node_type = NodeType::Simple; - n_unk_1e->m_address = base + offset; - n_unk_1e->m_comment = "1 grabs, -1 grabbed"; - n_unk_1e->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_1e); - - field_name = "unk_20"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_item_wrestle, field_name)); - auto n_unk_20 = new NodeSimple; - n_unk_20->m_field_name = field_name; - n_unk_20->m_df_type = DF_Type::int32_t; - n_unk_20->m_rdf_type = RDF_Type::int32_t; - n_unk_20->m_node_type = NodeType::Simple; - n_unk_20->m_address = base + offset; - n_unk_20->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_20); - -} -void node_from_unit_item_use(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_item_use, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "time_in_use"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_item_use, field_name)); - auto n_time_in_use = new NodeSimple; - n_time_in_use->m_field_name = field_name; - n_time_in_use->m_df_type = DF_Type::int32_t; - n_time_in_use->m_rdf_type = RDF_Type::int32_t; - n_time_in_use->m_node_type = NodeType::Simple; - n_time_in_use->m_address = base + offset; - n_time_in_use->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_time_in_use); - - field_name = "has_grown_attached"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_item_use, field_name)); - auto n_has_grown_attached = new NodeSimple; - n_has_grown_attached->m_field_name = field_name; - n_has_grown_attached->m_df_type = DF_Type::int32_t; - n_has_grown_attached->m_rdf_type = RDF_Type::int32_t; - n_has_grown_attached->m_node_type = NodeType::Simple; - n_has_grown_attached->m_address = base + offset; - n_has_grown_attached->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_has_grown_attached); - - field_name = "affection_level"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_item_use, field_name)); - auto n_affection_level = new NodeSimple; - n_affection_level->m_field_name = field_name; - n_affection_level->m_df_type = DF_Type::int32_t; - n_affection_level->m_rdf_type = RDF_Type::int32_t; - n_affection_level->m_node_type = NodeType::Simple; - n_affection_level->m_address = base + offset; - n_affection_level->m_comment = "min 50 for attached, 1000 for name"; - n_affection_level->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_affection_level); - -} -void node_from_unit_health_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_unit_bp_health_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_orientation_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_unit_action_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_unit_unk_138(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_unk_138, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_unk_138, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_unk_138, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_unk_138, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - -} -void node_from_unit_coin_debt(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "recipient"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_coin_debt, field_name)); - auto n_recipient = new NodeSimple; - n_recipient->m_field_name = field_name; - n_recipient->m_df_type = DF_Type::int32_t; - n_recipient->m_rdf_type = RDF_Type::int32_t; - n_recipient->m_node_type = NodeType::Simple; - n_recipient->m_address = base + offset; - n_recipient->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_recipient); - - field_name = "amount"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_coin_debt, field_name)); - auto n_amount = new NodeSimple; - n_amount->m_field_name = field_name; - n_amount->m_df_type = DF_Type::int32_t; - n_amount->m_rdf_type = RDF_Type::int32_t; - n_amount->m_node_type = NodeType::Simple; - n_amount->m_address = base + offset; - n_amount->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_amount); - -} -void node_from_vermin_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_file_compressorst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "compressed"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::file_compressorst, field_name)); - auto n_compressed = new NodeSimple; - n_compressed->m_field_name = field_name; - n_compressed->m_df_type = DF_Type::Bool; - n_compressed->m_rdf_type = RDF_Type::Bool; - n_compressed->m_node_type = NodeType::Simple; - n_compressed->m_address = base + offset; - n_compressed->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_compressed); - - field_name = "in_buffer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::file_compressorst, field_name)); - auto n_in_buffer = new NodePointer; - n_in_buffer->m_field_name = field_name; - n_in_buffer->m_df_type = get_real_subtype(base+offset, DF_Type::uint8_t); - n_in_buffer->m_rdf_type = RDF_Type::Pointer; - n_in_buffer->m_node_type = NodeType::Pointer; - n_in_buffer->m_addornements = "*"; - n_in_buffer->m_address = base + offset; - n_in_buffer->m_parent = p_node_parent; - n_in_buffer->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_in_buffer); - - field_name = "in_buffersize"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::file_compressorst, field_name)); - auto n_in_buffersize = new NodeSimple; - n_in_buffersize->m_field_name = field_name; - n_in_buffersize->m_df_type = DF_Type::Long; - n_in_buffersize->m_rdf_type = RDF_Type::Long; - n_in_buffersize->m_node_type = NodeType::Simple; - n_in_buffersize->m_address = base + offset; - n_in_buffersize->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_in_buffersize); - - field_name = "in_buffer_amount_loaded"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::file_compressorst, field_name)); - auto n_in_buffer_amount_loaded = new NodeSimple; - n_in_buffer_amount_loaded->m_field_name = field_name; - n_in_buffer_amount_loaded->m_df_type = DF_Type::Long; - n_in_buffer_amount_loaded->m_rdf_type = RDF_Type::Long; - n_in_buffer_amount_loaded->m_node_type = NodeType::Simple; - n_in_buffer_amount_loaded->m_address = base + offset; - n_in_buffer_amount_loaded->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_in_buffer_amount_loaded); - - field_name = "in_buffer_position"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::file_compressorst, field_name)); - auto n_in_buffer_position = new NodeSimple; - n_in_buffer_position->m_field_name = field_name; - n_in_buffer_position->m_df_type = DF_Type::Long; - n_in_buffer_position->m_rdf_type = RDF_Type::Long; - n_in_buffer_position->m_node_type = NodeType::Simple; - n_in_buffer_position->m_address = base + offset; - n_in_buffer_position->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_in_buffer_position); - - field_name = "out_buffer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::file_compressorst, field_name)); - auto n_out_buffer = new NodePointer; - n_out_buffer->m_field_name = field_name; - n_out_buffer->m_df_type = get_real_subtype(base+offset, DF_Type::uint8_t); - n_out_buffer->m_rdf_type = RDF_Type::Pointer; - n_out_buffer->m_node_type = NodeType::Pointer; - n_out_buffer->m_addornements = "*"; - n_out_buffer->m_address = base + offset; - n_out_buffer->m_parent = p_node_parent; - n_out_buffer->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_out_buffer); - - field_name = "out_buffersize"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::file_compressorst, field_name)); - auto n_out_buffersize = new NodeSimple; - n_out_buffersize->m_field_name = field_name; - n_out_buffersize->m_df_type = DF_Type::Long; - n_out_buffersize->m_rdf_type = RDF_Type::Long; - n_out_buffersize->m_node_type = NodeType::Simple; - n_out_buffersize->m_address = base + offset; - n_out_buffersize->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_out_buffersize); - - field_name = "out_buffer_amount_written"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::file_compressorst, field_name)); - auto n_out_buffer_amount_written = new NodeSimple; - n_out_buffer_amount_written->m_field_name = field_name; - n_out_buffer_amount_written->m_df_type = DF_Type::int32_t; - n_out_buffer_amount_written->m_rdf_type = RDF_Type::int32_t; - n_out_buffer_amount_written->m_node_type = NodeType::Simple; - n_out_buffer_amount_written->m_address = base + offset; - n_out_buffer_amount_written->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_out_buffer_amount_written); - -} -void node_from_interface_breakdown_types(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_layer_object(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "enabled"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::layer_object, field_name)); - auto n_enabled = new NodeSimple; - n_enabled->m_field_name = field_name; - n_enabled->m_df_type = DF_Type::Bool; - n_enabled->m_rdf_type = RDF_Type::Bool; - n_enabled->m_node_type = NodeType::Simple; - n_enabled->m_address = base + offset; - n_enabled->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_enabled); - - field_name = "active"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::layer_object, field_name)); - auto n_active = new NodeSimple; - n_active->m_field_name = field_name; - n_active->m_df_type = DF_Type::Bool; - n_active->m_rdf_type = RDF_Type::Bool; - n_active->m_node_type = NodeType::Simple; - n_active->m_address = base + offset; - n_active->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_active); - -} -void node_from_layer_object_buttonst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::layer_object; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_layer_object(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "x1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::layer_object_buttonst, field_name)); - auto n_x1 = new NodeSimple; - n_x1->m_field_name = field_name; - n_x1->m_df_type = DF_Type::int32_t; - n_x1->m_rdf_type = RDF_Type::int32_t; - n_x1->m_node_type = NodeType::Simple; - n_x1->m_address = base + offset; - n_x1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_x1); - - field_name = "y1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::layer_object_buttonst, field_name)); - auto n_y1 = new NodeSimple; - n_y1->m_field_name = field_name; - n_y1->m_df_type = DF_Type::int32_t; - n_y1->m_rdf_type = RDF_Type::int32_t; - n_y1->m_node_type = NodeType::Simple; - n_y1->m_address = base + offset; - n_y1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_y1); - - field_name = "x2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::layer_object_buttonst, field_name)); - auto n_x2 = new NodeSimple; - n_x2->m_field_name = field_name; - n_x2->m_df_type = DF_Type::int32_t; - n_x2->m_rdf_type = RDF_Type::int32_t; - n_x2->m_node_type = NodeType::Simple; - n_x2->m_address = base + offset; - n_x2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_x2); - - field_name = "y2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::layer_object_buttonst, field_name)); - auto n_y2 = new NodeSimple; - n_y2->m_field_name = field_name; - n_y2->m_df_type = DF_Type::int32_t; - n_y2->m_rdf_type = RDF_Type::int32_t; - n_y2->m_node_type = NodeType::Simple; - n_y2->m_address = base + offset; - n_y2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_y2); - - field_name = "has_mouse_lclick"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::layer_object_buttonst, field_name)); - auto n_has_mouse_lclick = new NodeSimple; - n_has_mouse_lclick->m_field_name = field_name; - n_has_mouse_lclick->m_df_type = DF_Type::int32_t; - n_has_mouse_lclick->m_rdf_type = RDF_Type::int32_t; - n_has_mouse_lclick->m_node_type = NodeType::Simple; - n_has_mouse_lclick->m_address = base + offset; - n_has_mouse_lclick->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_has_mouse_lclick); - - field_name = "has_mouse_rclick"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::layer_object_buttonst, field_name)); - auto n_has_mouse_rclick = new NodeSimple; - n_has_mouse_rclick->m_field_name = field_name; - n_has_mouse_rclick->m_df_type = DF_Type::int32_t; - n_has_mouse_rclick->m_rdf_type = RDF_Type::int32_t; - n_has_mouse_rclick->m_node_type = NodeType::Simple; - n_has_mouse_rclick->m_address = base + offset; - n_has_mouse_rclick->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_has_mouse_rclick); - - field_name = "mouse_lclick_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::layer_object_buttonst, field_name)); - auto n_mouse_lclick_x = new NodeSimple; - n_mouse_lclick_x->m_field_name = field_name; - n_mouse_lclick_x->m_df_type = DF_Type::int32_t; - n_mouse_lclick_x->m_rdf_type = RDF_Type::int32_t; - n_mouse_lclick_x->m_node_type = NodeType::Simple; - n_mouse_lclick_x->m_address = base + offset; - n_mouse_lclick_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mouse_lclick_x); - - field_name = "mouse_lclick_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::layer_object_buttonst, field_name)); - auto n_mouse_lclick_y = new NodeSimple; - n_mouse_lclick_y->m_field_name = field_name; - n_mouse_lclick_y->m_df_type = DF_Type::int32_t; - n_mouse_lclick_y->m_rdf_type = RDF_Type::int32_t; - n_mouse_lclick_y->m_node_type = NodeType::Simple; - n_mouse_lclick_y->m_address = base + offset; - n_mouse_lclick_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mouse_lclick_y); - - field_name = "mouse_rclick_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::layer_object_buttonst, field_name)); - auto n_mouse_rclick_x = new NodeSimple; - n_mouse_rclick_x->m_field_name = field_name; - n_mouse_rclick_x->m_df_type = DF_Type::int32_t; - n_mouse_rclick_x->m_rdf_type = RDF_Type::int32_t; - n_mouse_rclick_x->m_node_type = NodeType::Simple; - n_mouse_rclick_x->m_address = base + offset; - n_mouse_rclick_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mouse_rclick_x); - - field_name = "mouse_rclick_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::layer_object_buttonst, field_name)); - auto n_mouse_rclick_y = new NodeSimple; - n_mouse_rclick_y->m_field_name = field_name; - n_mouse_rclick_y->m_df_type = DF_Type::int32_t; - n_mouse_rclick_y->m_rdf_type = RDF_Type::int32_t; - n_mouse_rclick_y->m_node_type = NodeType::Simple; - n_mouse_rclick_y->m_address = base + offset; - n_mouse_rclick_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mouse_rclick_y); - - field_name = "mouse_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::layer_object_buttonst, field_name)); - auto n_mouse_x = new NodeSimple; - n_mouse_x->m_field_name = field_name; - n_mouse_x->m_df_type = DF_Type::int32_t; - n_mouse_x->m_rdf_type = RDF_Type::int32_t; - n_mouse_x->m_node_type = NodeType::Simple; - n_mouse_x->m_address = base + offset; - n_mouse_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mouse_x); - - field_name = "mouse_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::layer_object_buttonst, field_name)); - auto n_mouse_y = new NodeSimple; - n_mouse_y->m_field_name = field_name; - n_mouse_y->m_df_type = DF_Type::int32_t; - n_mouse_y->m_rdf_type = RDF_Type::int32_t; - n_mouse_y->m_node_type = NodeType::Simple; - n_mouse_y->m_address = base + offset; - n_mouse_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mouse_y); - - field_name = "mouse_x_old"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::layer_object_buttonst, field_name)); - auto n_mouse_x_old = new NodeSimple; - n_mouse_x_old->m_field_name = field_name; - n_mouse_x_old->m_df_type = DF_Type::int32_t; - n_mouse_x_old->m_rdf_type = RDF_Type::int32_t; - n_mouse_x_old->m_node_type = NodeType::Simple; - n_mouse_x_old->m_address = base + offset; - n_mouse_x_old->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mouse_x_old); - - field_name = "mouse_y_old"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::layer_object_buttonst, field_name)); - auto n_mouse_y_old = new NodeSimple; - n_mouse_y_old->m_field_name = field_name; - n_mouse_y_old->m_df_type = DF_Type::int32_t; - n_mouse_y_old->m_rdf_type = RDF_Type::int32_t; - n_mouse_y_old->m_node_type = NodeType::Simple; - n_mouse_y_old->m_address = base + offset; - n_mouse_y_old->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mouse_y_old); - - field_name = "handle_mouselbtndown"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::layer_object_buttonst, field_name)); - auto n_handle_mouselbtndown = new NodeSimple; - n_handle_mouselbtndown->m_field_name = field_name; - n_handle_mouselbtndown->m_df_type = DF_Type::int8_t; - n_handle_mouselbtndown->m_rdf_type = RDF_Type::int8_t; - n_handle_mouselbtndown->m_node_type = NodeType::Simple; - n_handle_mouselbtndown->m_address = base + offset; - n_handle_mouselbtndown->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_handle_mouselbtndown); - - field_name = "handle_mouserbtndown"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::layer_object_buttonst, field_name)); - auto n_handle_mouserbtndown = new NodeSimple; - n_handle_mouserbtndown->m_field_name = field_name; - n_handle_mouserbtndown->m_df_type = DF_Type::int8_t; - n_handle_mouserbtndown->m_rdf_type = RDF_Type::int8_t; - n_handle_mouserbtndown->m_node_type = NodeType::Simple; - n_handle_mouserbtndown->m_address = base + offset; - n_handle_mouserbtndown->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_handle_mouserbtndown); - -} -void node_from_widget_menu(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::widget_menu, field_name)); - auto n_anon_1= new NodePadding; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::Padding; - n_anon_1->m_rdf_type = RDF_Type::Padding; - n_anon_1->m_node_type = NodeType::Padding; - n_anon_1->m_address = base + offset; - n_anon_1->m_comment = "lines, std::map"; - n_anon_1->m_size = 24; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "selection"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::widget_menu, field_name)); - auto n_selection = new NodeSimple; - n_selection->m_field_name = field_name; - n_selection->m_df_type = DF_Type::int32_t; - n_selection->m_rdf_type = RDF_Type::int32_t; - n_selection->m_node_type = NodeType::Simple; - n_selection->m_address = base + offset; - n_selection->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_selection); - - field_name = "last_displayheight"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::widget_menu, field_name)); - auto n_last_displayheight = new NodeSimple; - n_last_displayheight->m_field_name = field_name; - n_last_displayheight->m_df_type = DF_Type::int32_t; - n_last_displayheight->m_rdf_type = RDF_Type::int32_t; - n_last_displayheight->m_node_type = NodeType::Simple; - n_last_displayheight->m_address = base + offset; - n_last_displayheight->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_last_displayheight); - - field_name = "bleached"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::widget_menu, field_name)); - auto n_bleached = new NodeSimple; - n_bleached->m_field_name = field_name; - n_bleached->m_df_type = DF_Type::Bool; - n_bleached->m_rdf_type = RDF_Type::Bool; - n_bleached->m_node_type = NodeType::Simple; - n_bleached->m_address = base + offset; - n_bleached->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_bleached); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::widget_menu, field_name)); - auto n_anon_2= new NodePadding; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::Padding; - n_anon_2->m_rdf_type = RDF_Type::Padding; - n_anon_2->m_node_type = NodeType::Padding; - n_anon_2->m_address = base + offset; - n_anon_2->m_comment = "colors, std::map"; - n_anon_2->m_size = 24; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - -} -void node_from_widget_textbox(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "text"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::widget_textbox, field_name)); - auto n_text = new NodeSimple; - n_text->m_field_name = field_name; - n_text->m_df_type = DF_Type::Stl_string; - n_text->m_rdf_type = RDF_Type::Stl_string; - n_text->m_node_type = NodeType::Simple; - n_text->m_address = base + offset; - n_text->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_text); - - field_name = "keep"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::widget_textbox, field_name)); - auto n_keep = new NodeSimple; - n_keep->m_field_name = field_name; - n_keep->m_df_type = DF_Type::Bool; - n_keep->m_rdf_type = RDF_Type::Bool; - n_keep->m_node_type = NodeType::Simple; - n_keep->m_address = base + offset; - n_keep->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_keep); - -} -void node_from_adventure_log_item(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "object"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_log_item, field_name)); - auto n_object = new NodePointer; - n_object->m_field_name = field_name; - n_object->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_object->m_rdf_type = RDF_Type::Pointer; - n_object->m_node_type = NodeType::Pointer; - n_object->m_addornements = "*"; - n_object->m_address = base + offset; - n_object->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_object); - - field_name = "str1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_log_item, field_name)); - auto n_str1 = new NodeSimple; - n_str1->m_field_name = field_name; - n_str1->m_df_type = DF_Type::Stl_string; - n_str1->m_rdf_type = RDF_Type::Stl_string; - n_str1->m_node_type = NodeType::Simple; - n_str1->m_address = base + offset; - n_str1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_str1); - - field_name = "str2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_log_item, field_name)); - auto n_str2 = new NodeSimple; - n_str2->m_field_name = field_name; - n_str2->m_df_type = DF_Type::Stl_string; - n_str2->m_rdf_type = RDF_Type::Stl_string; - n_str2->m_node_type = NodeType::Simple; - n_str2->m_address = base + offset; - n_str2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_str2); - - field_name = "str3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_log_item, field_name)); - auto n_str3 = new NodeSimple; - n_str3->m_field_name = field_name; - n_str3->m_df_type = DF_Type::Stl_string; - n_str3->m_rdf_type = RDF_Type::Stl_string; - n_str3->m_node_type = NodeType::Simple; - n_str3->m_address = base + offset; - n_str3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_str3); - - field_name = "info"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_log_item, field_name)); - auto n_info = new NodeVector; - n_info->m_field_name = field_name; - n_info->m_df_type = DF_Type::Stl_string; - n_info->m_rdf_type = RDF_Type::Vector; - n_info->m_node_type = NodeType::Vector; - n_info->m_addornements = "v*"; - n_info->m_address = base + offset; - n_info->m_parent = p_node_parent; - n_info->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_info); - -} -void node_from_embark_finder_option(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_viewscreen_image_creator_mode(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_viewscreen_kitchenpref_page(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_kitchen_pref_flag(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_health_view_bits1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_health_view_bits2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_health_view_bits3(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_world_gen_param_basest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_gen_param_basest, field_name)); - auto n_name = new NodeSimple; - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Stl_string; - n_name->m_node_type = NodeType::Simple; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - -} -void node_from_world_gen_param_seedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::world_gen_param_basest; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_world_gen_param_basest(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_gen_param_seedst, field_name)); - auto n_anon_1 = new NodePointer; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = get_real_subtype(base+offset, DF_Type::Stl_string); - n_anon_1->m_rdf_type = RDF_Type::Pointer; - n_anon_1->m_node_type = NodeType::Pointer; - n_anon_1->m_addornements = "*"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_world_gen_param_valuest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::world_gen_param_basest; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_world_gen_param_basest(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_gen_param_valuest, field_name)); - auto n_unk_1 = new NodeSimple; - n_unk_1->m_field_name = field_name; - n_unk_1->m_df_type = DF_Type::Stl_string; - n_unk_1->m_rdf_type = RDF_Type::Stl_string; - n_unk_1->m_node_type = NodeType::Simple; - n_unk_1->m_address = base + offset; - n_unk_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_1); - - field_name = "unk_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_gen_param_valuest, field_name)); - auto n_unk_2 = new NodeSimple; - n_unk_2->m_field_name = field_name; - n_unk_2->m_df_type = DF_Type::int32_t; - n_unk_2->m_rdf_type = RDF_Type::int32_t; - n_unk_2->m_node_type = NodeType::Simple; - n_unk_2->m_address = base + offset; - n_unk_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_2); - - field_name = "unk_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_gen_param_valuest, field_name)); - auto n_unk_3 = new NodeVector; - n_unk_3->m_field_name = field_name; - n_unk_3->m_df_type = DF_Type::Void; - n_unk_3->m_rdf_type = RDF_Type::Vector; - n_unk_3->m_node_type = NodeType::Vector; - n_unk_3->m_addornements = "v"; - n_unk_3->m_address = base + offset; - n_unk_3->m_parent = p_node_parent; - n_unk_3->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_3); - -} -void node_from_world_gen_param_charst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::world_gen_param_valuest; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_world_gen_param_valuest(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_gen_param_charst, field_name)); - auto n_anon_1 = new NodePointer; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = get_real_subtype(base+offset, DF_Type::int8_t); - n_anon_1->m_rdf_type = RDF_Type::Pointer; - n_anon_1->m_node_type = NodeType::Pointer; - n_anon_1->m_addornements = "*"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "min_val"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_gen_param_charst, field_name)); - auto n_min_val = new NodeSimple; - n_min_val->m_field_name = field_name; - n_min_val->m_df_type = DF_Type::int8_t; - n_min_val->m_rdf_type = RDF_Type::int8_t; - n_min_val->m_node_type = NodeType::Simple; - n_min_val->m_address = base + offset; - n_min_val->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_min_val); - - field_name = "max_val"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_gen_param_charst, field_name)); - auto n_max_val = new NodeSimple; - n_max_val->m_field_name = field_name; - n_max_val->m_df_type = DF_Type::int8_t; - n_max_val->m_rdf_type = RDF_Type::int8_t; - n_max_val->m_node_type = NodeType::Simple; - n_max_val->m_address = base + offset; - n_max_val->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_max_val); - - field_name = "initial_val"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_gen_param_charst, field_name)); - auto n_initial_val = new NodeSimple; - n_initial_val->m_field_name = field_name; - n_initial_val->m_df_type = DF_Type::int8_t; - n_initial_val->m_rdf_type = RDF_Type::int8_t; - n_initial_val->m_node_type = NodeType::Simple; - n_initial_val->m_address = base + offset; - n_initial_val->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_initial_val); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_gen_param_charst, field_name)); - auto n_anon_2 = new NodeVector; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int8_t; - n_anon_2->m_rdf_type = RDF_Type::Vector; - n_anon_2->m_node_type = NodeType::Vector; - n_anon_2->m_addornements = "v"; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - n_anon_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_2); - -} -void node_from_world_gen_param_memberst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::world_gen_param_valuest; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_world_gen_param_valuest(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_gen_param_memberst, field_name)); - auto n_anon_1 = new NodePointer; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = get_real_subtype(base+offset, DF_Type::int32_t); - n_anon_1->m_rdf_type = RDF_Type::Pointer; - n_anon_1->m_node_type = NodeType::Pointer; - n_anon_1->m_addornements = "*"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "min_val"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_gen_param_memberst, field_name)); - auto n_min_val = new NodeSimple; - n_min_val->m_field_name = field_name; - n_min_val->m_df_type = DF_Type::int32_t; - n_min_val->m_rdf_type = RDF_Type::int32_t; - n_min_val->m_node_type = NodeType::Simple; - n_min_val->m_address = base + offset; - n_min_val->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_min_val); - - field_name = "max_val"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_gen_param_memberst, field_name)); - auto n_max_val = new NodeSimple; - n_max_val->m_field_name = field_name; - n_max_val->m_df_type = DF_Type::int32_t; - n_max_val->m_rdf_type = RDF_Type::int32_t; - n_max_val->m_node_type = NodeType::Simple; - n_max_val->m_address = base + offset; - n_max_val->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_max_val); - - field_name = "initial_val"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_gen_param_memberst, field_name)); - auto n_initial_val = new NodeSimple; - n_initial_val->m_field_name = field_name; - n_initial_val->m_df_type = DF_Type::int32_t; - n_initial_val->m_rdf_type = RDF_Type::int32_t; - n_initial_val->m_node_type = NodeType::Simple; - n_initial_val->m_address = base + offset; - n_initial_val->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_initial_val); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_gen_param_memberst, field_name)); - auto n_anon_2 = new NodeVector; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::Vector; - n_anon_2->m_node_type = NodeType::Vector; - n_anon_2->m_addornements = "v"; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - n_anon_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_2); - -} -void node_from_matgloss_list(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::matgloss_list, field_name)); - auto n_anon_1 = new NodeVector; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::Void; - n_anon_1->m_rdf_type = RDF_Type::Vector; - n_anon_1->m_node_type = NodeType::Vector; - n_anon_1->m_addornements = "v"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "generated_inorganics"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::matgloss_list, field_name)); - auto n_generated_inorganics = new NodeVector; - n_generated_inorganics->m_field_name = field_name; - n_generated_inorganics->m_df_type = DF_Type::Void; - n_generated_inorganics->m_rdf_type = RDF_Type::Vector; - n_generated_inorganics->m_node_type = NodeType::Vector; - n_generated_inorganics->m_addornements = "v"; - n_generated_inorganics->m_address = base + offset; - n_generated_inorganics->m_parent = p_node_parent; - n_generated_inorganics->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_generated_inorganics); - - field_name = "generated_plants"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::matgloss_list, field_name)); - auto n_generated_plants = new NodeVector; - n_generated_plants->m_field_name = field_name; - n_generated_plants->m_df_type = DF_Type::Void; - n_generated_plants->m_rdf_type = RDF_Type::Vector; - n_generated_plants->m_node_type = NodeType::Vector; - n_generated_plants->m_addornements = "v"; - n_generated_plants->m_address = base + offset; - n_generated_plants->m_parent = p_node_parent; - n_generated_plants->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_generated_plants); - - field_name = "generated_items"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::matgloss_list, field_name)); - auto n_generated_items = new NodeVector; - n_generated_items->m_field_name = field_name; - n_generated_items->m_df_type = DF_Type::Void; - n_generated_items->m_rdf_type = RDF_Type::Vector; - n_generated_items->m_node_type = NodeType::Vector; - n_generated_items->m_addornements = "v"; - n_generated_items->m_address = base + offset; - n_generated_items->m_parent = p_node_parent; - n_generated_items->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_generated_items); - - field_name = "generated_creatures"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::matgloss_list, field_name)); - auto n_generated_creatures = new NodeVector; - n_generated_creatures->m_field_name = field_name; - n_generated_creatures->m_df_type = DF_Type::Void; - n_generated_creatures->m_rdf_type = RDF_Type::Vector; - n_generated_creatures->m_node_type = NodeType::Vector; - n_generated_creatures->m_addornements = "v"; - n_generated_creatures->m_address = base + offset; - n_generated_creatures->m_parent = p_node_parent; - n_generated_creatures->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_generated_creatures); - - field_name = "generated_entities"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::matgloss_list, field_name)); - auto n_generated_entities = new NodeVector; - n_generated_entities->m_field_name = field_name; - n_generated_entities->m_df_type = DF_Type::Void; - n_generated_entities->m_rdf_type = RDF_Type::Vector; - n_generated_entities->m_node_type = NodeType::Vector; - n_generated_entities->m_addornements = "v"; - n_generated_entities->m_address = base + offset; - n_generated_entities->m_parent = p_node_parent; - n_generated_entities->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_generated_entities); - - field_name = "generated_interactions"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::matgloss_list, field_name)); - auto n_generated_interactions = new NodeVector; - n_generated_interactions->m_field_name = field_name; - n_generated_interactions->m_df_type = DF_Type::Void; - n_generated_interactions->m_rdf_type = RDF_Type::Vector; - n_generated_interactions->m_node_type = NodeType::Vector; - n_generated_interactions->m_addornements = "v"; - n_generated_interactions->m_address = base + offset; - n_generated_interactions->m_parent = p_node_parent; - n_generated_interactions->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_generated_interactions); - - field_name = "generated_languages"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::matgloss_list, field_name)); - auto n_generated_languages = new NodeVector; - n_generated_languages->m_field_name = field_name; - n_generated_languages->m_df_type = DF_Type::Void; - n_generated_languages->m_rdf_type = RDF_Type::Vector; - n_generated_languages->m_node_type = NodeType::Vector; - n_generated_languages->m_addornements = "v"; - n_generated_languages->m_address = base + offset; - n_generated_languages->m_parent = p_node_parent; - n_generated_languages->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_generated_languages); - - field_name = "inorganics"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::matgloss_list, field_name)); - auto n_inorganics = new NodeVector; - n_inorganics->m_field_name = field_name; - n_inorganics->m_df_type = DF_Type::Stl_string; - n_inorganics->m_rdf_type = RDF_Type::Vector; - n_inorganics->m_node_type = NodeType::Vector; - n_inorganics->m_addornements = "v*"; - n_inorganics->m_address = base + offset; - n_inorganics->m_parent = p_node_parent; - n_inorganics->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_inorganics); - - field_name = "plants"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::matgloss_list, field_name)); - auto n_plants = new NodeVector; - n_plants->m_field_name = field_name; - n_plants->m_df_type = DF_Type::Stl_string; - n_plants->m_rdf_type = RDF_Type::Vector; - n_plants->m_node_type = NodeType::Vector; - n_plants->m_addornements = "v*"; - n_plants->m_address = base + offset; - n_plants->m_parent = p_node_parent; - n_plants->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_plants); - - field_name = "bodies"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::matgloss_list, field_name)); - auto n_bodies = new NodeVector; - n_bodies->m_field_name = field_name; - n_bodies->m_df_type = DF_Type::Stl_string; - n_bodies->m_rdf_type = RDF_Type::Vector; - n_bodies->m_node_type = NodeType::Vector; - n_bodies->m_addornements = "v*"; - n_bodies->m_address = base + offset; - n_bodies->m_parent = p_node_parent; - n_bodies->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bodies); - - field_name = "bodyglosses"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::matgloss_list, field_name)); - auto n_bodyglosses = new NodeVector; - n_bodyglosses->m_field_name = field_name; - n_bodyglosses->m_df_type = DF_Type::Stl_string; - n_bodyglosses->m_rdf_type = RDF_Type::Vector; - n_bodyglosses->m_node_type = NodeType::Vector; - n_bodyglosses->m_addornements = "v*"; - n_bodyglosses->m_address = base + offset; - n_bodyglosses->m_parent = p_node_parent; - n_bodyglosses->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bodyglosses); - - field_name = "creatures"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::matgloss_list, field_name)); - auto n_creatures = new NodeVector; - n_creatures->m_field_name = field_name; - n_creatures->m_df_type = DF_Type::Stl_string; - n_creatures->m_rdf_type = RDF_Type::Vector; - n_creatures->m_node_type = NodeType::Vector; - n_creatures->m_addornements = "v*"; - n_creatures->m_address = base + offset; - n_creatures->m_parent = p_node_parent; - n_creatures->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_creatures); - - field_name = "items"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::matgloss_list, field_name)); - auto n_items = new NodeVector; - n_items->m_field_name = field_name; - n_items->m_df_type = DF_Type::Stl_string; - n_items->m_rdf_type = RDF_Type::Vector; - n_items->m_node_type = NodeType::Vector; - n_items->m_addornements = "v*"; - n_items->m_address = base + offset; - n_items->m_parent = p_node_parent; - n_items->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_items); - - field_name = "buildings"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::matgloss_list, field_name)); - auto n_buildings = new NodeVector; - n_buildings->m_field_name = field_name; - n_buildings->m_df_type = DF_Type::Stl_string; - n_buildings->m_rdf_type = RDF_Type::Vector; - n_buildings->m_node_type = NodeType::Vector; - n_buildings->m_addornements = "v*"; - n_buildings->m_address = base + offset; - n_buildings->m_parent = p_node_parent; - n_buildings->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_buildings); - - field_name = "entities"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::matgloss_list, field_name)); - auto n_entities = new NodeVector; - n_entities->m_field_name = field_name; - n_entities->m_df_type = DF_Type::Stl_string; - n_entities->m_rdf_type = RDF_Type::Vector; - n_entities->m_node_type = NodeType::Vector; - n_entities->m_addornements = "v*"; - n_entities->m_address = base + offset; - n_entities->m_parent = p_node_parent; - n_entities->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_entities); - - field_name = "words"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::matgloss_list, field_name)); - auto n_words = new NodeVector; - n_words->m_field_name = field_name; - n_words->m_df_type = DF_Type::Stl_string; - n_words->m_rdf_type = RDF_Type::Vector; - n_words->m_node_type = NodeType::Vector; - n_words->m_addornements = "v*"; - n_words->m_address = base + offset; - n_words->m_parent = p_node_parent; - n_words->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_words); - - field_name = "symbols"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::matgloss_list, field_name)); - auto n_symbols = new NodeVector; - n_symbols->m_field_name = field_name; - n_symbols->m_df_type = DF_Type::Stl_string; - n_symbols->m_rdf_type = RDF_Type::Vector; - n_symbols->m_node_type = NodeType::Vector; - n_symbols->m_addornements = "v*"; - n_symbols->m_address = base + offset; - n_symbols->m_parent = p_node_parent; - n_symbols->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_symbols); - - field_name = "translations"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::matgloss_list, field_name)); - auto n_translations = new NodeVector; - n_translations->m_field_name = field_name; - n_translations->m_df_type = DF_Type::Stl_string; - n_translations->m_rdf_type = RDF_Type::Vector; - n_translations->m_node_type = NodeType::Vector; - n_translations->m_addornements = "v*"; - n_translations->m_address = base + offset; - n_translations->m_parent = p_node_parent; - n_translations->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_translations); - - field_name = "colors"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::matgloss_list, field_name)); - auto n_colors = new NodeVector; - n_colors->m_field_name = field_name; - n_colors->m_df_type = DF_Type::Stl_string; - n_colors->m_rdf_type = RDF_Type::Vector; - n_colors->m_node_type = NodeType::Vector; - n_colors->m_addornements = "v*"; - n_colors->m_address = base + offset; - n_colors->m_parent = p_node_parent; - n_colors->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_colors); - - field_name = "shapes"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::matgloss_list, field_name)); - auto n_shapes = new NodeVector; - n_shapes->m_field_name = field_name; - n_shapes->m_df_type = DF_Type::Stl_string; - n_shapes->m_rdf_type = RDF_Type::Vector; - n_shapes->m_node_type = NodeType::Vector; - n_shapes->m_addornements = "v*"; - n_shapes->m_address = base + offset; - n_shapes->m_parent = p_node_parent; - n_shapes->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_shapes); - - field_name = "patterns"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::matgloss_list, field_name)); - auto n_patterns = new NodeVector; - n_patterns->m_field_name = field_name; - n_patterns->m_df_type = DF_Type::Stl_string; - n_patterns->m_rdf_type = RDF_Type::Vector; - n_patterns->m_node_type = NodeType::Vector; - n_patterns->m_addornements = "v*"; - n_patterns->m_address = base + offset; - n_patterns->m_parent = p_node_parent; - n_patterns->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_patterns); - - field_name = "reactions"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::matgloss_list, field_name)); - auto n_reactions = new NodeVector; - n_reactions->m_field_name = field_name; - n_reactions->m_df_type = DF_Type::Stl_string; - n_reactions->m_rdf_type = RDF_Type::Vector; - n_reactions->m_node_type = NodeType::Vector; - n_reactions->m_addornements = "v*"; - n_reactions->m_address = base + offset; - n_reactions->m_parent = p_node_parent; - n_reactions->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_reactions); - - field_name = "material_templates"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::matgloss_list, field_name)); - auto n_material_templates = new NodeVector; - n_material_templates->m_field_name = field_name; - n_material_templates->m_df_type = DF_Type::Stl_string; - n_material_templates->m_rdf_type = RDF_Type::Vector; - n_material_templates->m_node_type = NodeType::Vector; - n_material_templates->m_addornements = "v*"; - n_material_templates->m_address = base + offset; - n_material_templates->m_parent = p_node_parent; - n_material_templates->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_material_templates); - - field_name = "tissue_templates"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::matgloss_list, field_name)); - auto n_tissue_templates = new NodeVector; - n_tissue_templates->m_field_name = field_name; - n_tissue_templates->m_df_type = DF_Type::Stl_string; - n_tissue_templates->m_rdf_type = RDF_Type::Vector; - n_tissue_templates->m_node_type = NodeType::Vector; - n_tissue_templates->m_addornements = "v*"; - n_tissue_templates->m_address = base + offset; - n_tissue_templates->m_parent = p_node_parent; - n_tissue_templates->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_tissue_templates); - - field_name = "body_detail_plans"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::matgloss_list, field_name)); - auto n_body_detail_plans = new NodeVector; - n_body_detail_plans->m_field_name = field_name; - n_body_detail_plans->m_df_type = DF_Type::Stl_string; - n_body_detail_plans->m_rdf_type = RDF_Type::Vector; - n_body_detail_plans->m_node_type = NodeType::Vector; - n_body_detail_plans->m_addornements = "v*"; - n_body_detail_plans->m_address = base + offset; - n_body_detail_plans->m_parent = p_node_parent; - n_body_detail_plans->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_body_detail_plans); - - field_name = "creature_variations"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::matgloss_list, field_name)); - auto n_creature_variations = new NodeVector; - n_creature_variations->m_field_name = field_name; - n_creature_variations->m_df_type = DF_Type::Stl_string; - n_creature_variations->m_rdf_type = RDF_Type::Vector; - n_creature_variations->m_node_type = NodeType::Vector; - n_creature_variations->m_addornements = "v*"; - n_creature_variations->m_address = base + offset; - n_creature_variations->m_parent = p_node_parent; - n_creature_variations->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_creature_variations); - - field_name = "interactions"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::matgloss_list, field_name)); - auto n_interactions = new NodeVector; - n_interactions->m_field_name = field_name; - n_interactions->m_df_type = DF_Type::Stl_string; - n_interactions->m_rdf_type = RDF_Type::Vector; - n_interactions->m_node_type = NodeType::Vector; - n_interactions->m_addornements = "v*"; - n_interactions->m_address = base + offset; - n_interactions->m_parent = p_node_parent; - n_interactions->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_interactions); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::matgloss_list, field_name)); - auto n_anon_2 = new NodeVector; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::Void; - n_anon_2->m_rdf_type = RDF_Type::Vector; - n_anon_2->m_node_type = NodeType::Vector; - n_anon_2->m_addornements = "v"; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - n_anon_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_2); - -} -void node_from_adventurer_attribute_level(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_viewscreen_unitlist_page(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_world_population_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_world_population_ref(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "region_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_population_ref, field_name)); - auto n_region_x = new NodeSimple; - n_region_x->m_field_name = field_name; - n_region_x->m_df_type = DF_Type::int16_t; - n_region_x->m_rdf_type = RDF_Type::int16_t; - n_region_x->m_node_type = NodeType::Simple; - n_region_x->m_address = base + offset; - n_region_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region_x); - - field_name = "region_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_population_ref, field_name)); - auto n_region_y = new NodeSimple; - n_region_y->m_field_name = field_name; - n_region_y->m_df_type = DF_Type::int16_t; - n_region_y->m_rdf_type = RDF_Type::int16_t; - n_region_y->m_node_type = NodeType::Simple; - n_region_y->m_address = base + offset; - n_region_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region_y); - - field_name = "feature_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_population_ref, field_name)); - auto n_feature_idx = new NodeSimple; - n_feature_idx->m_field_name = field_name; - n_feature_idx->m_df_type = DF_Type::int16_t; - n_feature_idx->m_rdf_type = RDF_Type::int16_t; - n_feature_idx->m_node_type = NodeType::Simple; - n_feature_idx->m_address = base + offset; - n_feature_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_feature_idx); - - field_name = "cave_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_population_ref, field_name)); - auto n_cave_id = new NodeSimple; - n_cave_id->m_field_name = field_name; - n_cave_id->m_df_type = DF_Type::int32_t; - n_cave_id->m_rdf_type = RDF_Type::int32_t; - n_cave_id->m_node_type = NodeType::Simple; - n_cave_id->m_address = base + offset; - n_cave_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cave_id); - - field_name = "unk_28"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_population_ref, field_name)); - auto n_unk_28 = new NodeSimple; - n_unk_28->m_field_name = field_name; - n_unk_28->m_df_type = DF_Type::int32_t; - n_unk_28->m_rdf_type = RDF_Type::int32_t; - n_unk_28->m_node_type = NodeType::Simple; - n_unk_28->m_address = base + offset; - n_unk_28->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_28); - - field_name = "population_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_population_ref, field_name)); - auto n_population_idx = new NodeSimple; - n_population_idx->m_field_name = field_name; - n_population_idx->m_df_type = DF_Type::int32_t; - n_population_idx->m_rdf_type = RDF_Type::int32_t; - n_population_idx->m_node_type = NodeType::Simple; - n_population_idx->m_address = base + offset; - n_population_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_population_idx); - - field_name = "depth"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_population_ref, field_name)); - auto n_depth = new NodeSimple; - n_depth->m_field_name = field_name; - n_depth->m_df_type = DF_Type::int16_t; - n_depth->m_rdf_type = RDF_Type::int16_t; - n_depth->m_node_type = NodeType::Simple; - n_depth->m_address = base + offset; - n_depth->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_depth); - -} -void node_from_world_region_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_geo_layer_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_region_map_entry_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_front_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_cumulus_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_stratus_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_fog_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_mountain_peak_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_scribejob(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "idmaybe"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scribejob, field_name)); - auto n_idmaybe = new NodeSimple; - n_idmaybe->m_field_name = field_name; - n_idmaybe->m_df_type = DF_Type::int32_t; - n_idmaybe->m_rdf_type = RDF_Type::int32_t; - n_idmaybe->m_node_type = NodeType::Simple; - n_idmaybe->m_address = base + offset; - n_idmaybe->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_idmaybe); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scribejob, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_comment = "not locationid"; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "item_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scribejob, field_name)); - auto n_item_id = new NodeSimple; - n_item_id->m_field_name = field_name; - n_item_id->m_df_type = DF_Type::int32_t; - n_item_id->m_rdf_type = RDF_Type::int32_t; - n_item_id->m_node_type = NodeType::Simple; - n_item_id->m_address = base + offset; - n_item_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_id); - - field_name = "written_content_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scribejob, field_name)); - auto n_written_content_id = new NodeSimple; - n_written_content_id->m_field_name = field_name; - n_written_content_id->m_df_type = DF_Type::int32_t; - n_written_content_id->m_rdf_type = RDF_Type::int32_t; - n_written_content_id->m_node_type = NodeType::Simple; - n_written_content_id->m_address = base + offset; - n_written_content_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_written_content_id); - - field_name = "unit_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scribejob, field_name)); - auto n_unit_id = new NodeSimple; - n_unit_id->m_field_name = field_name; - n_unit_id->m_df_type = DF_Type::int32_t; - n_unit_id->m_rdf_type = RDF_Type::int32_t; - n_unit_id->m_node_type = NodeType::Simple; - n_unit_id->m_address = base + offset; - n_unit_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unit_id); - - field_name = "activity_entry_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scribejob, field_name)); - auto n_activity_entry_id = new NodeSimple; - n_activity_entry_id->m_field_name = field_name; - n_activity_entry_id->m_df_type = DF_Type::int32_t; - n_activity_entry_id->m_rdf_type = RDF_Type::int32_t; - n_activity_entry_id->m_node_type = NodeType::Simple; - n_activity_entry_id->m_address = base + offset; - n_activity_entry_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_activity_entry_id); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scribejob, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scribejob, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int16_t; - n_anon_3->m_rdf_type = RDF_Type::int16_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "locationmaybe"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scribejob, field_name)); - auto n_locationmaybe = new NodeSimple; - n_locationmaybe->m_field_name = field_name; - n_locationmaybe->m_df_type = DF_Type::int16_t; - n_locationmaybe->m_rdf_type = RDF_Type::int16_t; - n_locationmaybe->m_node_type = NodeType::Simple; - n_locationmaybe->m_address = base + offset; - n_locationmaybe->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_locationmaybe); - -} -void node_from_site_reputation_report(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "site_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_reputation_report, field_name)); - auto n_site_id = new NodeSimple; - n_site_id->m_field_name = field_name; - n_site_id->m_df_type = DF_Type::int32_t; - n_site_id->m_rdf_type = RDF_Type::int32_t; - n_site_id->m_node_type = NodeType::Simple; - n_site_id->m_address = base + offset; - n_site_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_id); - - field_name = "location_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_reputation_report, field_name)); - auto n_location_id = new NodeSimple; - n_location_id->m_field_name = field_name; - n_location_id->m_df_type = DF_Type::int32_t; - n_location_id->m_rdf_type = RDF_Type::int32_t; - n_location_id->m_node_type = NodeType::Simple; - n_location_id->m_address = base + offset; - n_location_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_location_id); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_reputation_report, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_reputation_report, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_reputation_report, field_name)); - auto n_year = new NodeSimple; - n_year->m_field_name = field_name; - n_year->m_df_type = DF_Type::int32_t; - n_year->m_rdf_type = RDF_Type::int32_t; - n_year->m_node_type = NodeType::Simple; - n_year->m_address = base + offset; - n_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_year); - - field_name = "tickmaybe"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_reputation_report, field_name)); - auto n_tickmaybe = new NodeSimple; - n_tickmaybe->m_field_name = field_name; - n_tickmaybe->m_df_type = DF_Type::int32_t; - n_tickmaybe->m_rdf_type = RDF_Type::int32_t; - n_tickmaybe->m_node_type = NodeType::Simple; - n_tickmaybe->m_address = base + offset; - n_tickmaybe->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tickmaybe); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_reputation_report, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_reputation_report, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_reputation_report, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_reputation_report, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_reputation_report, field_name)); - auto n_anon_7 = new NodeSimple; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::int32_t; - n_anon_7->m_rdf_type = RDF_Type::int32_t; - n_anon_7->m_node_type = NodeType::Simple; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_7); - - field_name = "anon_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_reputation_report, field_name)); - auto n_anon_8 = new NodeSimple; - n_anon_8->m_field_name = field_name; - n_anon_8->m_df_type = DF_Type::int32_t; - n_anon_8->m_rdf_type = RDF_Type::int32_t; - n_anon_8->m_node_type = NodeType::Simple; - n_anon_8->m_address = base + offset; - n_anon_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_8); - - field_name = "anon_9"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_reputation_report, field_name)); - auto n_anon_9 = new NodeSimple; - n_anon_9->m_field_name = field_name; - n_anon_9->m_df_type = DF_Type::int32_t; - n_anon_9->m_rdf_type = RDF_Type::int32_t; - n_anon_9->m_node_type = NodeType::Simple; - n_anon_9->m_address = base + offset; - n_anon_9->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_9); - - field_name = "anon_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_reputation_report, field_name)); - auto n_anon_10 = new NodeSimple; - n_anon_10->m_field_name = field_name; - n_anon_10->m_df_type = DF_Type::int32_t; - n_anon_10->m_rdf_type = RDF_Type::int32_t; - n_anon_10->m_node_type = NodeType::Simple; - n_anon_10->m_address = base + offset; - n_anon_10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_10); - -} -void node_from_abstract_building_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_abstract_building_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_abstract_building_contents(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk_e4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_contents, field_name)); - auto n_unk_e4 = new NodeSimple; - n_unk_e4->m_field_name = field_name; - n_unk_e4->m_df_type = DF_Type::int32_t; - n_unk_e4->m_rdf_type = RDF_Type::int32_t; - n_unk_e4->m_node_type = NodeType::Simple; - n_unk_e4->m_address = base + offset; - n_unk_e4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_e4); - - field_name = "desired_goblets"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_contents, field_name)); - auto n_desired_goblets = new NodeSimple; - n_desired_goblets->m_field_name = field_name; - n_desired_goblets->m_df_type = DF_Type::int32_t; - n_desired_goblets->m_rdf_type = RDF_Type::int32_t; - n_desired_goblets->m_node_type = NodeType::Simple; - n_desired_goblets->m_address = base + offset; - n_desired_goblets->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_desired_goblets); - - field_name = "desired_instruments"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_contents, field_name)); - auto n_desired_instruments = new NodeSimple; - n_desired_instruments->m_field_name = field_name; - n_desired_instruments->m_df_type = DF_Type::int32_t; - n_desired_instruments->m_rdf_type = RDF_Type::int32_t; - n_desired_instruments->m_node_type = NodeType::Simple; - n_desired_instruments->m_address = base + offset; - n_desired_instruments->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_desired_instruments); - - field_name = "desired_paper"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_contents, field_name)); - auto n_desired_paper = new NodeSimple; - n_desired_paper->m_field_name = field_name; - n_desired_paper->m_df_type = DF_Type::int32_t; - n_desired_paper->m_rdf_type = RDF_Type::int32_t; - n_desired_paper->m_node_type = NodeType::Simple; - n_desired_paper->m_address = base + offset; - n_desired_paper->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_desired_paper); - - field_name = "desired_copies"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_contents, field_name)); - auto n_desired_copies = new NodeSimple; - n_desired_copies->m_field_name = field_name; - n_desired_copies->m_df_type = DF_Type::int32_t; - n_desired_copies->m_rdf_type = RDF_Type::int32_t; - n_desired_copies->m_node_type = NodeType::Simple; - n_desired_copies->m_address = base + offset; - n_desired_copies->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_desired_copies); - - field_name = "count_goblets"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_contents, field_name)); - auto n_count_goblets = new NodeSimple; - n_count_goblets->m_field_name = field_name; - n_count_goblets->m_df_type = DF_Type::int32_t; - n_count_goblets->m_rdf_type = RDF_Type::int32_t; - n_count_goblets->m_node_type = NodeType::Simple; - n_count_goblets->m_address = base + offset; - n_count_goblets->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_count_goblets); - - field_name = "count_instruments"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_contents, field_name)); - auto n_count_instruments = new NodeSimple; - n_count_instruments->m_field_name = field_name; - n_count_instruments->m_df_type = DF_Type::int32_t; - n_count_instruments->m_rdf_type = RDF_Type::int32_t; - n_count_instruments->m_node_type = NodeType::Simple; - n_count_instruments->m_address = base + offset; - n_count_instruments->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_count_instruments); - - field_name = "count_paper"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_contents, field_name)); - auto n_count_paper = new NodeSimple; - n_count_paper->m_field_name = field_name; - n_count_paper->m_df_type = DF_Type::int32_t; - n_count_paper->m_rdf_type = RDF_Type::int32_t; - n_count_paper->m_node_type = NodeType::Simple; - n_count_paper->m_address = base + offset; - n_count_paper->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_count_paper); - - field_name = "unk_104"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_contents, field_name)); - auto n_unk_104 = new NodeSimple; - n_unk_104->m_field_name = field_name; - n_unk_104->m_df_type = DF_Type::int32_t; - n_unk_104->m_rdf_type = RDF_Type::int32_t; - n_unk_104->m_node_type = NodeType::Simple; - n_unk_104->m_address = base + offset; - n_unk_104->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_104); - - field_name = "building_ids"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_contents, field_name)); - auto n_building_ids = new NodeVector; - n_building_ids->m_field_name = field_name; - n_building_ids->m_df_type = DF_Type::int32_t; - n_building_ids->m_rdf_type = RDF_Type::Vector; - n_building_ids->m_node_type = NodeType::Vector; - n_building_ids->m_addornements = "v"; - n_building_ids->m_address = base + offset; - n_building_ids->m_parent = p_node_parent; - n_building_ids->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_building_ids); - -} -void node_from_world_site_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_world_site_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_world_site_inhabitant(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "count"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_inhabitant, field_name)); - auto n_count = new NodeSimple; - n_count->m_field_name = field_name; - n_count->m_df_type = DF_Type::int32_t; - n_count->m_rdf_type = RDF_Type::int32_t; - n_count->m_node_type = NodeType::Simple; - n_count->m_address = base + offset; - n_count->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_count); - - field_name = "race"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_inhabitant, field_name)); - auto n_race = new NodeSimple; - n_race->m_field_name = field_name; - n_race->m_df_type = DF_Type::int32_t; - n_race->m_rdf_type = RDF_Type::int32_t; - n_race->m_node_type = NodeType::Simple; - n_race->m_address = base + offset; - n_race->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_race); - - field_name = "unk_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_inhabitant, field_name)); - auto n_unk_8 = new NodeSimple; - n_unk_8->m_field_name = field_name; - n_unk_8->m_df_type = DF_Type::int32_t; - n_unk_8->m_rdf_type = RDF_Type::int32_t; - n_unk_8->m_node_type = NodeType::Simple; - n_unk_8->m_address = base + offset; - n_unk_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_8); - - field_name = "outcast_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_inhabitant, field_name)); - auto n_outcast_id = new NodeSimple; - n_outcast_id->m_field_name = field_name; - n_outcast_id->m_df_type = DF_Type::int32_t; - n_outcast_id->m_rdf_type = RDF_Type::int32_t; - n_outcast_id->m_node_type = NodeType::Simple; - n_outcast_id->m_address = base + offset; - n_outcast_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_outcast_id); - - field_name = "unk_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_inhabitant, field_name)); - auto n_unk_10 = new NodeSimple; - n_unk_10->m_field_name = field_name; - n_unk_10->m_df_type = DF_Type::int32_t; - n_unk_10->m_rdf_type = RDF_Type::int32_t; - n_unk_10->m_node_type = NodeType::Simple; - n_unk_10->m_address = base + offset; - n_unk_10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_10); - - field_name = "unk_14"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_inhabitant, field_name)); - auto n_unk_14 = new NodeSimple; - n_unk_14->m_field_name = field_name; - n_unk_14->m_df_type = DF_Type::int32_t; - n_unk_14->m_rdf_type = RDF_Type::int32_t; - n_unk_14->m_node_type = NodeType::Simple; - n_unk_14->m_address = base + offset; - n_unk_14->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_14); - - field_name = "unk_18"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_inhabitant, field_name)); - auto n_unk_18 = new NodeSimple; - n_unk_18->m_field_name = field_name; - n_unk_18->m_df_type = DF_Type::int32_t; - n_unk_18->m_rdf_type = RDF_Type::int32_t; - n_unk_18->m_node_type = NodeType::Simple; - n_unk_18->m_address = base + offset; - n_unk_18->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_18); - - field_name = "unk_1c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_inhabitant, field_name)); - auto n_unk_1c = new NodeSimple; - n_unk_1c->m_field_name = field_name; - n_unk_1c->m_df_type = DF_Type::int32_t; - n_unk_1c->m_rdf_type = RDF_Type::int32_t; - n_unk_1c->m_node_type = NodeType::Simple; - n_unk_1c->m_address = base + offset; - n_unk_1c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_1c); - - field_name = "unk_20"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_inhabitant, field_name)); - auto n_unk_20 = new NodeSimple; - n_unk_20->m_field_name = field_name; - n_unk_20->m_df_type = DF_Type::int32_t; - n_unk_20->m_rdf_type = RDF_Type::int32_t; - n_unk_20->m_node_type = NodeType::Simple; - n_unk_20->m_address = base + offset; - n_unk_20->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_20); - - field_name = "unk_24"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_inhabitant, field_name)); - auto n_unk_24 = new NodeSimple; - n_unk_24->m_field_name = field_name; - n_unk_24->m_df_type = DF_Type::int32_t; - n_unk_24->m_rdf_type = RDF_Type::int32_t; - n_unk_24->m_node_type = NodeType::Simple; - n_unk_24->m_address = base + offset; - n_unk_24->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_24); - - field_name = "unk_28"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_inhabitant, field_name)); - auto n_unk_28 = new NodeSimple; - n_unk_28->m_field_name = field_name; - n_unk_28->m_df_type = DF_Type::int32_t; - n_unk_28->m_rdf_type = RDF_Type::int32_t; - n_unk_28->m_node_type = NodeType::Simple; - n_unk_28->m_address = base + offset; - n_unk_28->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_28); - -} -void node_from_site_realization_building_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_site_realization_building_infost(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_tower_shape(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_site_realization_building_info_castle_courtyardst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::site_realization_building_infost; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_site_realization_building_infost(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_site_shop_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_tree_house_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_hillock_house_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_creation_zone_pwg_alteration_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_creation_zone_pwg_alterationst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk_0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creation_zone_pwg_alterationst, field_name)); - auto n_unk_0 = new NodeSimple; - n_unk_0->m_field_name = field_name; - n_unk_0->m_df_type = DF_Type::int32_t; - n_unk_0->m_rdf_type = RDF_Type::int32_t; - n_unk_0->m_node_type = NodeType::Simple; - n_unk_0->m_address = base + offset; - n_unk_0->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_0); - -} -void node_from_creation_zone_pwg_alteration_campst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::creation_zone_pwg_alterationst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_creation_zone_pwg_alterationst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creation_zone_pwg_alteration_campst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creation_zone_pwg_alteration_campst, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creation_zone_pwg_alteration_campst, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creation_zone_pwg_alteration_campst, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creation_zone_pwg_alteration_campst, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creation_zone_pwg_alteration_campst, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creation_zone_pwg_alteration_campst, field_name)); - auto n_anon_7 = new NodeSimple; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::int16_t; - n_anon_7->m_rdf_type = RDF_Type::int16_t; - n_anon_7->m_node_type = NodeType::Simple; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_7); - - field_name = "anon_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creation_zone_pwg_alteration_campst, field_name)); - auto n_anon_8 = new NodeSimple; - n_anon_8->m_field_name = field_name; - n_anon_8->m_df_type = DF_Type::int16_t; - n_anon_8->m_rdf_type = RDF_Type::int16_t; - n_anon_8->m_node_type = NodeType::Simple; - n_anon_8->m_address = base + offset; - n_anon_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_8); - - field_name = "anon_9"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creation_zone_pwg_alteration_campst, field_name)); - auto n_anon_9 = new NodeSimple; - n_anon_9->m_field_name = field_name; - n_anon_9->m_df_type = DF_Type::int16_t; - n_anon_9->m_rdf_type = RDF_Type::int16_t; - n_anon_9->m_node_type = NodeType::Simple; - n_anon_9->m_address = base + offset; - n_anon_9->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_9); - - field_name = "anon_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creation_zone_pwg_alteration_campst, field_name)); - auto n_anon_10 = new NodeSimple; - n_anon_10->m_field_name = field_name; - n_anon_10->m_df_type = DF_Type::int32_t; - n_anon_10->m_rdf_type = RDF_Type::int32_t; - n_anon_10->m_node_type = NodeType::Simple; - n_anon_10->m_address = base + offset; - n_anon_10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_10); - -} -void node_from_creation_zone_pwg_alteration_srb_ruinedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::creation_zone_pwg_alterationst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_creation_zone_pwg_alterationst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creation_zone_pwg_alteration_srb_ruinedst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creation_zone_pwg_alteration_srb_ruinedst, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - -} -void node_from_creation_zone_pwg_alteration_srp_ruinedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::creation_zone_pwg_alterationst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_creation_zone_pwg_alterationst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creation_zone_pwg_alteration_srp_ruinedst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creation_zone_pwg_alteration_srp_ruinedst, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - -} -void node_from_worldgen_region_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_worldgen_range_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_units_other_id(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_conflict_level(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_incident_hfid(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "hfid"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_hfid, field_name)); - auto n_hfid = new NodeSimple; - n_hfid->m_field_name = field_name; - n_hfid->m_df_type = DF_Type::int32_t; - n_hfid->m_rdf_type = RDF_Type::int32_t; - n_hfid->m_node_type = NodeType::Simple; - n_hfid->m_address = base + offset; - n_hfid->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_hfid); - - field_name = "unk_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_hfid, field_name)); - auto n_unk_1 = new NodeSimple; - n_unk_1->m_field_name = field_name; - n_unk_1->m_df_type = DF_Type::int32_t; - n_unk_1->m_rdf_type = RDF_Type::int32_t; - n_unk_1->m_node_type = NodeType::Simple; - n_unk_1->m_address = base + offset; - n_unk_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_1); - - field_name = "unk_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_hfid, field_name)); - auto n_unk_2 = new NodeSimple; - n_unk_2->m_field_name = field_name; - n_unk_2->m_df_type = DF_Type::int32_t; - n_unk_2->m_rdf_type = RDF_Type::int32_t; - n_unk_2->m_node_type = NodeType::Simple; - n_unk_2->m_address = base + offset; - n_unk_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_2); - - field_name = "unk_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_hfid, field_name)); - auto n_unk_3 = new NodeVector; - n_unk_3->m_field_name = field_name; - n_unk_3->m_df_type = DF_Type::int32_t; - n_unk_3->m_rdf_type = RDF_Type::Vector; - n_unk_3->m_node_type = NodeType::Vector; - n_unk_3->m_addornements = "v"; - n_unk_3->m_address = base + offset; - n_unk_3->m_parent = p_node_parent; - n_unk_3->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_3); - -} -void node_from_mission_campaign_report(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "travel_x"; - auto n_travel_x = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission_campaign_report, field_name)); - n_travel_x->m_field_name = field_name; - n_travel_x->m_df_type = DF_Type::int32_t; - n_travel_x->m_rdf_type = RDF_Type::Array; - n_travel_x->m_node_type = NodeType::Array; - n_travel_x->m_addornements = "[64"; - n_travel_x->m_array_size = 64; - n_travel_x->m_address = base + offset; - n_travel_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_travel_x); - - field_name = "travel_y"; - auto n_travel_y = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission_campaign_report, field_name)); - n_travel_y->m_field_name = field_name; - n_travel_y->m_df_type = DF_Type::int32_t; - n_travel_y->m_rdf_type = RDF_Type::Array; - n_travel_y->m_node_type = NodeType::Array; - n_travel_y->m_addornements = "[64"; - n_travel_y->m_array_size = 64; - n_travel_y->m_address = base + offset; - n_travel_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_travel_y); - - field_name = "travel_year"; - auto n_travel_year = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission_campaign_report, field_name)); - n_travel_year->m_field_name = field_name; - n_travel_year->m_df_type = DF_Type::int32_t; - n_travel_year->m_rdf_type = RDF_Type::Array; - n_travel_year->m_node_type = NodeType::Array; - n_travel_year->m_addornements = "[64"; - n_travel_year->m_array_size = 64; - n_travel_year->m_address = base + offset; - n_travel_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_travel_year); - - field_name = "travel_year_tick"; - auto n_travel_year_tick = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission_campaign_report, field_name)); - n_travel_year_tick->m_field_name = field_name; - n_travel_year_tick->m_df_type = DF_Type::int32_t; - n_travel_year_tick->m_rdf_type = RDF_Type::Array; - n_travel_year_tick->m_node_type = NodeType::Array; - n_travel_year_tick->m_addornements = "[64"; - n_travel_year_tick->m_array_size = 64; - n_travel_year_tick->m_address = base + offset; - n_travel_year_tick->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_travel_year_tick); - - field_name = "travel_count"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission_campaign_report, field_name)); - auto n_travel_count = new NodeSimple; - n_travel_count->m_field_name = field_name; - n_travel_count->m_df_type = DF_Type::int32_t; - n_travel_count->m_rdf_type = RDF_Type::int32_t; - n_travel_count->m_node_type = NodeType::Simple; - n_travel_count->m_address = base + offset; - n_travel_count->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_travel_count); - - field_name = "event_id"; - auto n_event_id = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission_campaign_report, field_name)); - n_event_id->m_field_name = field_name; - n_event_id->m_df_type = DF_Type::int32_t; - n_event_id->m_rdf_type = RDF_Type::Array; - n_event_id->m_node_type = NodeType::Array; - n_event_id->m_addornements = "[64"; - n_event_id->m_array_size = 64; - n_event_id->m_address = base + offset; - n_event_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_event_id); - - field_name = "event_year"; - auto n_event_year = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission_campaign_report, field_name)); - n_event_year->m_field_name = field_name; - n_event_year->m_df_type = DF_Type::int32_t; - n_event_year->m_rdf_type = RDF_Type::Array; - n_event_year->m_node_type = NodeType::Array; - n_event_year->m_addornements = "[64"; - n_event_year->m_array_size = 64; - n_event_year->m_address = base + offset; - n_event_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_event_year); - - field_name = "event_year_tick"; - auto n_event_year_tick = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission_campaign_report, field_name)); - n_event_year_tick->m_field_name = field_name; - n_event_year_tick->m_df_type = DF_Type::int32_t; - n_event_year_tick->m_rdf_type = RDF_Type::Array; - n_event_year_tick->m_node_type = NodeType::Array; - n_event_year_tick->m_addornements = "[64"; - n_event_year_tick->m_array_size = 64; - n_event_year_tick->m_address = base + offset; - n_event_year_tick->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_event_year_tick); - - field_name = "events_count"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission_campaign_report, field_name)); - auto n_events_count = new NodeSimple; - n_events_count->m_field_name = field_name; - n_events_count->m_df_type = DF_Type::int32_t; - n_events_count->m_rdf_type = RDF_Type::int32_t; - n_events_count->m_node_type = NodeType::Simple; - n_events_count->m_address = base + offset; - n_events_count->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_events_count); - -} -void node_from_coord_rect(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "x1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::coord_rect, field_name)); - auto n_x1 = new NodeSimple; - n_x1->m_field_name = field_name; - n_x1->m_df_type = DF_Type::int16_t; - n_x1->m_rdf_type = RDF_Type::int16_t; - n_x1->m_node_type = NodeType::Simple; - n_x1->m_address = base + offset; - n_x1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_x1); - - field_name = "y1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::coord_rect, field_name)); - auto n_y1 = new NodeSimple; - n_y1->m_field_name = field_name; - n_y1->m_df_type = DF_Type::int16_t; - n_y1->m_rdf_type = RDF_Type::int16_t; - n_y1->m_node_type = NodeType::Simple; - n_y1->m_address = base + offset; - n_y1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_y1); - - field_name = "x2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::coord_rect, field_name)); - auto n_x2 = new NodeSimple; - n_x2->m_field_name = field_name; - n_x2->m_df_type = DF_Type::int16_t; - n_x2->m_rdf_type = RDF_Type::int16_t; - n_x2->m_node_type = NodeType::Simple; - n_x2->m_address = base + offset; - n_x2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_x2); - - field_name = "y2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::coord_rect, field_name)); - auto n_y2 = new NodeSimple; - n_y2->m_field_name = field_name; - n_y2->m_df_type = DF_Type::int16_t; - n_y2->m_rdf_type = RDF_Type::int16_t; - n_y2->m_node_type = NodeType::Simple; - n_y2->m_address = base + offset; - n_y2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_y2); - - field_name = "z"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::coord_rect, field_name)); - auto n_z = new NodeSimple; - n_z->m_field_name = field_name; - n_z->m_df_type = DF_Type::int16_t; - n_z->m_rdf_type = RDF_Type::int16_t; - n_z->m_node_type = NodeType::Simple; - n_z->m_address = base + offset; - n_z->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_z); - -} -void node_from_world_unk_a8(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_a8, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int8_t; - n_anon_1->m_rdf_type = RDF_Type::int8_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_a8, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_a8, field_name)); - auto n_anon_3 = new NodeVector; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::Vector; - n_anon_3->m_node_type = NodeType::Vector; - n_anon_3->m_addornements = "v"; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - n_anon_3->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_a8, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int16_t; - n_anon_4->m_rdf_type = RDF_Type::int16_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_a8, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int16_t; - n_anon_5->m_rdf_type = RDF_Type::int16_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_a8, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int16_t; - n_anon_6->m_rdf_type = RDF_Type::int16_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - -} -void node_from_world_unk_b4(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_b4, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int8_t; - n_anon_1->m_rdf_type = RDF_Type::int8_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_b4, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_b4, field_name)); - auto n_anon_3 = new NodeVector; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int16_t; - n_anon_3->m_rdf_type = RDF_Type::Vector; - n_anon_3->m_node_type = NodeType::Vector; - n_anon_3->m_addornements = "v"; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - n_anon_3->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_b4, field_name)); - auto n_anon_4 = new NodeVector; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int16_t; - n_anon_4->m_rdf_type = RDF_Type::Vector; - n_anon_4->m_node_type = NodeType::Vector; - n_anon_4->m_addornements = "v"; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - n_anon_4->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_b4, field_name)); - auto n_anon_5 = new NodeVector; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int16_t; - n_anon_5->m_rdf_type = RDF_Type::Vector; - n_anon_5->m_node_type = NodeType::Vector; - n_anon_5->m_addornements = "v"; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - n_anon_5->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_b4, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int16_t; - n_anon_6->m_rdf_type = RDF_Type::int16_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_b4, field_name)); - auto n_anon_7 = new NodeSimple; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::int16_t; - n_anon_7->m_rdf_type = RDF_Type::int16_t; - n_anon_7->m_node_type = NodeType::Simple; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_7); - - field_name = "anon_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_b4, field_name)); - auto n_anon_8 = new NodeSimple; - n_anon_8->m_field_name = field_name; - n_anon_8->m_df_type = DF_Type::int16_t; - n_anon_8->m_rdf_type = RDF_Type::int16_t; - n_anon_8->m_node_type = NodeType::Simple; - n_anon_8->m_address = base + offset; - n_anon_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_8); - -} -void node_from_combat_report_event_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_ocean_wave(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "x1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ocean_wave, field_name)); - auto n_x1 = new NodeSimple; - n_x1->m_field_name = field_name; - n_x1->m_df_type = DF_Type::int16_t; - n_x1->m_rdf_type = RDF_Type::int16_t; - n_x1->m_node_type = NodeType::Simple; - n_x1->m_address = base + offset; - n_x1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_x1); - - field_name = "y1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ocean_wave, field_name)); - auto n_y1 = new NodeSimple; - n_y1->m_field_name = field_name; - n_y1->m_df_type = DF_Type::int16_t; - n_y1->m_rdf_type = RDF_Type::int16_t; - n_y1->m_node_type = NodeType::Simple; - n_y1->m_address = base + offset; - n_y1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_y1); - - field_name = "x2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ocean_wave, field_name)); - auto n_x2 = new NodeSimple; - n_x2->m_field_name = field_name; - n_x2->m_df_type = DF_Type::int16_t; - n_x2->m_rdf_type = RDF_Type::int16_t; - n_x2->m_node_type = NodeType::Simple; - n_x2->m_address = base + offset; - n_x2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_x2); - - field_name = "y2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ocean_wave, field_name)); - auto n_y2 = new NodeSimple; - n_y2->m_field_name = field_name; - n_y2->m_df_type = DF_Type::int16_t; - n_y2->m_rdf_type = RDF_Type::int16_t; - n_y2->m_node_type = NodeType::Simple; - n_y2->m_address = base + offset; - n_y2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_y2); - - field_name = "z"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ocean_wave, field_name)); - auto n_z = new NodeSimple; - n_z->m_field_name = field_name; - n_z->m_df_type = DF_Type::int16_t; - n_z->m_rdf_type = RDF_Type::int16_t; - n_z->m_node_type = NodeType::Simple; - n_z->m_address = base + offset; - n_z->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_z); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ocean_wave, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int8_t; - n_anon_1->m_rdf_type = RDF_Type::int8_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ocean_wave, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int8_t; - n_anon_2->m_rdf_type = RDF_Type::int8_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ocean_wave, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int8_t; - n_anon_3->m_rdf_type = RDF_Type::int8_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - -} -void node_from_coin_batch__T_image_front(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::coin_batch__T_image_front, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "subid"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::coin_batch__T_image_front, field_name)); - auto n_subid = new NodeSimple; - n_subid->m_field_name = field_name; - n_subid->m_df_type = DF_Type::int16_t; - n_subid->m_rdf_type = RDF_Type::int16_t; - n_subid->m_node_type = NodeType::Simple; - n_subid->m_address = base + offset; - n_subid->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_subid); - -} -void node_from_coin_batch__T_image_back(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::coin_batch__T_image_back, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "subid"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::coin_batch__T_image_back, field_name)); - auto n_subid = new NodeSimple; - n_subid->m_field_name = field_name; - n_subid->m_df_type = DF_Type::int16_t; - n_subid->m_rdf_type = RDF_Type::int16_t; - n_subid->m_node_type = NodeType::Simple; - n_subid->m_address = base + offset; - n_subid->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_subid); - -} -void node_from_coin_batch(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::coin_batch, field_name)); - auto n_year = new NodeSimple; - n_year->m_field_name = field_name; - n_year->m_df_type = DF_Type::int32_t; - n_year->m_rdf_type = RDF_Type::int32_t; - n_year->m_node_type = NodeType::Simple; - n_year->m_address = base + offset; - n_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_year); - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::coin_batch, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::coin_batch, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "entity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::coin_batch, field_name)); - auto n_entity = new NodeSimple; - n_entity->m_field_name = field_name; - n_entity->m_df_type = DF_Type::int32_t; - n_entity->m_rdf_type = RDF_Type::int32_t; - n_entity->m_node_type = NodeType::Simple; - n_entity->m_address = base + offset; - n_entity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity); - - field_name = "ruler"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::coin_batch, field_name)); - auto n_ruler = new NodeSimple; - n_ruler->m_field_name = field_name; - n_ruler->m_df_type = DF_Type::int32_t; - n_ruler->m_rdf_type = RDF_Type::int32_t; - n_ruler->m_node_type = NodeType::Simple; - n_ruler->m_address = base + offset; - n_ruler->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ruler); - - field_name = "image_front"; - auto n_image_front = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::coin_batch, field_name)); - n_image_front->m_field_name = field_name; - n_image_front->m_df_type = DF_Type::coin_batch__T_image_front; - n_image_front->m_rdf_type = RDF_Type::Compound; - n_image_front->m_node_type = NodeType::Compound; - n_image_front->m_address = base + offset; - n_image_front->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_image_front); - - field_name = "image_back"; - auto n_image_back = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::coin_batch, field_name)); - n_image_back->m_field_name = field_name; - n_image_back->m_df_type = DF_Type::coin_batch__T_image_back; - n_image_back->m_rdf_type = RDF_Type::Compound; - n_image_back->m_node_type = NodeType::Compound; - n_image_back->m_address = base + offset; - n_image_back->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_image_back); - -} -void node_from_conversation__T_speech(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "text"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation__T_speech, field_name)); - auto n_text = new NodeVector; - n_text->m_field_name = field_name; - n_text->m_df_type = DF_Type::Stl_string; - n_text->m_rdf_type = RDF_Type::Vector; - n_text->m_node_type = NodeType::Vector; - n_text->m_addornements = "v*"; - n_text->m_address = base + offset; - n_text->m_comment = "wordwrap"; - n_text->m_parent = p_node_parent; - n_text->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_text); - - field_name = "speaker"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation__T_speech, field_name)); - auto n_speaker = new NodeSimple; - n_speaker->m_field_name = field_name; - n_speaker->m_df_type = DF_Type::int32_t; - n_speaker->m_rdf_type = RDF_Type::int32_t; - n_speaker->m_node_type = NodeType::Simple; - n_speaker->m_address = base + offset; - n_speaker->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_speaker); - - field_name = "unk_14"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation__T_speech, field_name)); - auto n_unk_14 = new NodeSimple; - n_unk_14->m_field_name = field_name; - n_unk_14->m_df_type = DF_Type::int32_t; - n_unk_14->m_rdf_type = RDF_Type::int32_t; - n_unk_14->m_node_type = NodeType::Simple; - n_unk_14->m_address = base + offset; - n_unk_14->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_14); - - field_name = "unk_18"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation__T_speech, field_name)); - auto n_unk_18 = new NodeSimple; - n_unk_18->m_field_name = field_name; - n_unk_18->m_df_type = DF_Type::int32_t; - n_unk_18->m_rdf_type = RDF_Type::int32_t; - n_unk_18->m_node_type = NodeType::Simple; - n_unk_18->m_address = base + offset; - n_unk_18->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_18); - - field_name = "fg"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation__T_speech, field_name)); - auto n_fg = new NodeSimple; - n_fg->m_field_name = field_name; - n_fg->m_df_type = DF_Type::int16_t; - n_fg->m_rdf_type = RDF_Type::int16_t; - n_fg->m_node_type = NodeType::Simple; - n_fg->m_address = base + offset; - n_fg->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_fg); - - field_name = "bg"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation__T_speech, field_name)); - auto n_bg = new NodeSimple; - n_bg->m_field_name = field_name; - n_bg->m_df_type = DF_Type::int16_t; - n_bg->m_rdf_type = RDF_Type::int16_t; - n_bg->m_node_type = NodeType::Simple; - n_bg->m_address = base + offset; - n_bg->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_bg); - - field_name = "bright"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation__T_speech, field_name)); - auto n_bright = new NodeSimple; - n_bright->m_field_name = field_name; - n_bright->m_df_type = DF_Type::int16_t; - n_bright->m_rdf_type = RDF_Type::int16_t; - n_bright->m_node_type = NodeType::Simple; - n_bright->m_address = base + offset; - n_bright->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_bright); - -} -void node_from_conversation(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "conv_title"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation, field_name)); - auto n_conv_title = new NodeSimple; - n_conv_title->m_field_name = field_name; - n_conv_title->m_df_type = DF_Type::Stl_string; - n_conv_title->m_rdf_type = RDF_Type::Stl_string; - n_conv_title->m_node_type = NodeType::Simple; - n_conv_title->m_address = base + offset; - n_conv_title->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_conv_title); - - field_name = "state"; - auto n_state = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation, field_name)); - n_state->m_field_name = field_name; - n_state->m_df_type = DF_Type::conversation__T_state; - n_state->m_rdf_type = RDF_Type::Enum; - n_state->m_node_type = NodeType::Enum; - n_state->m_base_type = DF_Type::int32_t; - n_state->m_enum_type = "conversation::T_state"; - n_state->m_address = base + offset; - n_state->m_first_value = 0; - n_state->m_last_value = 3; - n_state->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_state); - - field_name = "talk_choices"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation, field_name)); - auto n_talk_choices = new NodeVector; - n_talk_choices->m_field_name = field_name; - n_talk_choices->m_df_type = DF_Type::int16_t; - n_talk_choices->m_rdf_type = RDF_Type::Vector; - n_talk_choices->m_node_type = NodeType::Vector; - n_talk_choices->m_addornements = "v"; - n_talk_choices->m_address = base + offset; - n_talk_choices->m_parent = p_node_parent; - n_talk_choices->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_talk_choices); - - field_name = "unk_30"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation, field_name)); - auto n_unk_30 = new NodeSimple; - n_unk_30->m_field_name = field_name; - n_unk_30->m_df_type = DF_Type::int32_t; - n_unk_30->m_rdf_type = RDF_Type::int32_t; - n_unk_30->m_node_type = NodeType::Simple; - n_unk_30->m_address = base + offset; - n_unk_30->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_30); - - field_name = "unk_34"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation, field_name)); - auto n_unk_34 = new NodeSimple; - n_unk_34->m_field_name = field_name; - n_unk_34->m_df_type = DF_Type::int32_t; - n_unk_34->m_rdf_type = RDF_Type::int32_t; - n_unk_34->m_node_type = NodeType::Simple; - n_unk_34->m_address = base + offset; - n_unk_34->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_34); - - field_name = "unk_38"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation, field_name)); - auto n_unk_38 = new NodeSimple; - n_unk_38->m_field_name = field_name; - n_unk_38->m_df_type = DF_Type::int32_t; - n_unk_38->m_rdf_type = RDF_Type::int32_t; - n_unk_38->m_node_type = NodeType::Simple; - n_unk_38->m_address = base + offset; - n_unk_38->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_38); - - field_name = "unk_3c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation, field_name)); - auto n_unk_3c = new NodeSimple; - n_unk_3c->m_field_name = field_name; - n_unk_3c->m_df_type = DF_Type::int32_t; - n_unk_3c->m_rdf_type = RDF_Type::int32_t; - n_unk_3c->m_node_type = NodeType::Simple; - n_unk_3c->m_address = base + offset; - n_unk_3c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_3c); - - field_name = "unk_40"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation, field_name)); - auto n_unk_40 = new NodeSimple; - n_unk_40->m_field_name = field_name; - n_unk_40->m_df_type = DF_Type::int32_t; - n_unk_40->m_rdf_type = RDF_Type::int32_t; - n_unk_40->m_node_type = NodeType::Simple; - n_unk_40->m_address = base + offset; - n_unk_40->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_40); - - field_name = "unk_44"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation, field_name)); - auto n_unk_44 = new NodeSimple; - n_unk_44->m_field_name = field_name; - n_unk_44->m_df_type = DF_Type::int32_t; - n_unk_44->m_rdf_type = RDF_Type::int32_t; - n_unk_44->m_node_type = NodeType::Simple; - n_unk_44->m_address = base + offset; - n_unk_44->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_44); - - field_name = "unk_48"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation, field_name)); - auto n_unk_48 = new NodeSimple; - n_unk_48->m_field_name = field_name; - n_unk_48->m_df_type = DF_Type::int32_t; - n_unk_48->m_rdf_type = RDF_Type::int32_t; - n_unk_48->m_node_type = NodeType::Simple; - n_unk_48->m_address = base + offset; - n_unk_48->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_48); - - field_name = "unk_4c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation, field_name)); - auto n_unk_4c = new NodeSimple; - n_unk_4c->m_field_name = field_name; - n_unk_4c->m_df_type = DF_Type::int32_t; - n_unk_4c->m_rdf_type = RDF_Type::int32_t; - n_unk_4c->m_node_type = NodeType::Simple; - n_unk_4c->m_address = base + offset; - n_unk_4c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_4c); - - field_name = "unk_50"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation, field_name)); - auto n_unk_50 = new NodeSimple; - n_unk_50->m_field_name = field_name; - n_unk_50->m_df_type = DF_Type::int32_t; - n_unk_50->m_rdf_type = RDF_Type::int32_t; - n_unk_50->m_node_type = NodeType::Simple; - n_unk_50->m_address = base + offset; - n_unk_50->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_50); - - field_name = "unk_54"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation, field_name)); - auto n_unk_54 = new NodeVector; - n_unk_54->m_field_name = field_name; - n_unk_54->m_df_type = DF_Type::nemesis_record; - n_unk_54->m_rdf_type = RDF_Type::Vector; - n_unk_54->m_node_type = NodeType::Vector; - n_unk_54->m_defined_in = "df.legends.xml"; - n_unk_54->m_addornements = "v*"; - n_unk_54->m_address = base + offset; - n_unk_54->m_parent = p_node_parent; - n_unk_54->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_54); - - field_name = "unk_64"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation, field_name)); - auto n_unk_64 = new NodeVector; - n_unk_64->m_field_name = field_name; - n_unk_64->m_df_type = DF_Type::historical_entity; - n_unk_64->m_rdf_type = RDF_Type::Vector; - n_unk_64->m_node_type = NodeType::Vector; - n_unk_64->m_defined_in = "df.entities.xml"; - n_unk_64->m_addornements = "v*"; - n_unk_64->m_address = base + offset; - n_unk_64->m_parent = p_node_parent; - n_unk_64->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_64); - - field_name = "unk_74"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation, field_name)); - auto n_unk_74 = new NodeSimple; - n_unk_74->m_field_name = field_name; - n_unk_74->m_df_type = DF_Type::int8_t; - n_unk_74->m_rdf_type = RDF_Type::int8_t; - n_unk_74->m_node_type = NodeType::Simple; - n_unk_74->m_address = base + offset; - n_unk_74->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_74); - - field_name = "unk_78"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation, field_name)); - auto n_unk_78 = new NodeSimple; - n_unk_78->m_field_name = field_name; - n_unk_78->m_df_type = DF_Type::int32_t; - n_unk_78->m_rdf_type = RDF_Type::int32_t; - n_unk_78->m_node_type = NodeType::Simple; - n_unk_78->m_address = base + offset; - n_unk_78->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_78); - - field_name = "unk_7c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation, field_name)); - auto n_unk_7c = new NodeSimple; - n_unk_7c->m_field_name = field_name; - n_unk_7c->m_df_type = DF_Type::int32_t; - n_unk_7c->m_rdf_type = RDF_Type::int32_t; - n_unk_7c->m_node_type = NodeType::Simple; - n_unk_7c->m_address = base + offset; - n_unk_7c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_7c); - - field_name = "unk_80"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation, field_name)); - auto n_unk_80 = new NodeSimple; - n_unk_80->m_field_name = field_name; - n_unk_80->m_df_type = DF_Type::int16_t; - n_unk_80->m_rdf_type = RDF_Type::int16_t; - n_unk_80->m_node_type = NodeType::Simple; - n_unk_80->m_address = base + offset; - n_unk_80->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_80); - - field_name = "unk_84"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation, field_name)); - auto n_unk_84 = new NodeVector; - n_unk_84->m_field_name = field_name; - n_unk_84->m_df_type = DF_Type::Void; - n_unk_84->m_rdf_type = RDF_Type::Vector; - n_unk_84->m_node_type = NodeType::Vector; - n_unk_84->m_addornements = "v"; - n_unk_84->m_address = base + offset; - n_unk_84->m_parent = p_node_parent; - n_unk_84->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_84); - - field_name = "unk_94"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation, field_name)); - auto n_unk_94 = new NodeVector; - n_unk_94->m_field_name = field_name; - n_unk_94->m_df_type = DF_Type::Void; - n_unk_94->m_rdf_type = RDF_Type::Vector; - n_unk_94->m_node_type = NodeType::Vector; - n_unk_94->m_addornements = "v"; - n_unk_94->m_address = base + offset; - n_unk_94->m_parent = p_node_parent; - n_unk_94->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_94); - - field_name = "unk_a4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation, field_name)); - auto n_unk_a4 = new NodeVector; - n_unk_a4->m_field_name = field_name; - n_unk_a4->m_df_type = DF_Type::Void; - n_unk_a4->m_rdf_type = RDF_Type::Vector; - n_unk_a4->m_node_type = NodeType::Vector; - n_unk_a4->m_addornements = "v"; - n_unk_a4->m_address = base + offset; - n_unk_a4->m_parent = p_node_parent; - n_unk_a4->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_a4); - - field_name = "location"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation, field_name)); - auto n_location = new NodePointer; - n_location->m_field_name = field_name; - n_location->m_df_type = get_real_subtype(base+offset, DF_Type::building); - n_location->m_rdf_type = RDF_Type::Pointer; - n_location->m_node_type = NodeType::Pointer; - n_location->m_addornements = "*"; - n_location->m_address = base + offset; - n_location->m_comment = "civzone"; - n_location->m_parent = p_node_parent; - n_location->m_defined_in = "df.buildings.xml"; - n_location->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_location); - - field_name = "unk_b8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation, field_name)); - auto n_unk_b8 = new NodeSimple; - n_unk_b8->m_field_name = field_name; - n_unk_b8->m_df_type = DF_Type::int8_t; - n_unk_b8->m_rdf_type = RDF_Type::int8_t; - n_unk_b8->m_node_type = NodeType::Simple; - n_unk_b8->m_address = base + offset; - n_unk_b8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_b8); - - field_name = "unk_bc"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation, field_name)); - auto n_unk_bc = new NodeSimple; - n_unk_bc->m_field_name = field_name; - n_unk_bc->m_df_type = DF_Type::int32_t; - n_unk_bc->m_rdf_type = RDF_Type::int32_t; - n_unk_bc->m_node_type = NodeType::Simple; - n_unk_bc->m_address = base + offset; - n_unk_bc->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_bc); - - field_name = "speech"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation, field_name)); - auto n_speech = new NodeVector; - n_speech->m_field_name = field_name; - n_speech->m_df_type = DF_Type::conversation__T_speech; - n_speech->m_rdf_type = RDF_Type::Vector; - n_speech->m_node_type = NodeType::Vector; - n_speech->m_addornements = "v*"; - n_speech->m_address = base + offset; - n_speech->m_parent = p_node_parent; - n_speech->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_speech); - -} -void node_from_talk_choice__T_unk(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "event"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::talk_choice__T_unk, field_name)); - auto n_event = new NodePointer; - n_event->m_field_name = field_name; - n_event->m_df_type = get_real_subtype(base+offset, DF_Type::entity_event); - n_event->m_rdf_type = RDF_Type::Pointer; - n_event->m_node_type = NodeType::Pointer; - n_event->m_addornements = "*"; - n_event->m_address = base + offset; - n_event->m_parent = p_node_parent; - n_event->m_defined_in = "df.entities.xml"; - n_event->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_event); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::talk_choice__T_unk, field_name)); - auto n_anon_1 = new NodePointer; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_anon_1->m_rdf_type = RDF_Type::Pointer; - n_anon_1->m_node_type = NodeType::Pointer; - n_anon_1->m_addornements = "*"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::talk_choice__T_unk, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - -} -void node_from_talk_choice(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "type"; - auto n_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::talk_choice, field_name)); - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::talk_choice_type; - n_type->m_rdf_type = RDF_Type::Enum; - n_type->m_node_type = NodeType::Enum; - n_type->m_base_type = DF_Type::int32_t; - n_type->m_enum_type = "talk_choice_type"; - n_type->m_address = base + offset; - n_type->m_defined_in = "df.advmode.xml"; - n_type->m_first_value = 0; - n_type->m_last_value = 224; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - - field_name = "unk"; - auto n_unk = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::talk_choice, field_name)); - n_unk->m_field_name = field_name; - n_unk->m_df_type = DF_Type::talk_choice__T_unk; - n_unk->m_rdf_type = RDF_Type::Compound; - n_unk->m_node_type = NodeType::Compound; - n_unk->m_address = base + offset; - n_unk->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::talk_choice, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::talk_choice, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::talk_choice, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::talk_choice, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - -} -void node_from_adventure_option_eat_item_contaminantst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::adventure_optionst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_adventure_optionst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unit"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_option_eat_item_contaminantst, field_name)); - auto n_unit = new NodePointer; - n_unit->m_field_name = field_name; - n_unit->m_df_type = get_real_subtype(base+offset, DF_Type::unit); - n_unit->m_rdf_type = RDF_Type::Pointer; - n_unit->m_node_type = NodeType::Pointer; - n_unit->m_addornements = "*"; - n_unit->m_address = base + offset; - n_unit->m_parent = p_node_parent; - n_unit->m_defined_in = "df.units.xml"; - n_unit->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unit); - - field_name = "inv_item"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_option_eat_item_contaminantst, field_name)); - auto n_inv_item = new NodePointer; - n_inv_item->m_field_name = field_name; - n_inv_item->m_df_type = get_real_subtype(base+offset, DF_Type::unit_inventory_item); - n_inv_item->m_rdf_type = RDF_Type::Pointer; - n_inv_item->m_node_type = NodeType::Pointer; - n_inv_item->m_addornements = "*"; - n_inv_item->m_address = base + offset; - n_inv_item->m_parent = p_node_parent; - n_inv_item->m_defined_in = "df.units.xml"; - n_inv_item->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_inv_item); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_option_eat_item_contaminantst, field_name)); - auto n_anon_1 = new NodePointer; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_anon_1->m_rdf_type = RDF_Type::Pointer; - n_anon_1->m_node_type = NodeType::Pointer; - n_anon_1->m_addornements = "*"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_adventure_environment_optionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::adventure_optionst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_adventure_optionst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk1"; - auto n_unk1 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_environment_optionst, field_name)); - n_unk1->m_field_name = field_name; - n_unk1->m_df_type = DF_Type::coord; - n_unk1->m_rdf_type = RDF_Type::Struct; - n_unk1->m_node_type = NodeType::Compound; - n_unk1->m_address = base + offset; - n_unk1->m_defined_in = "df.map.xml"; - n_unk1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk1); - - field_name = "unk2"; - auto n_unk2 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_environment_optionst, field_name)); - n_unk2->m_field_name = field_name; - n_unk2->m_df_type = DF_Type::coord; - n_unk2->m_rdf_type = RDF_Type::Struct; - n_unk2->m_node_type = NodeType::Compound; - n_unk2->m_address = base + offset; - n_unk2->m_defined_in = "df.map.xml"; - n_unk2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk2); - -} -void node_from_adventure_environment_place_in_it_containerst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::adventure_environment_optionst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_adventure_environment_optionst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_environment_place_in_it_containerst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_adventure_environment_ingest_from_containerst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::adventure_environment_optionst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_adventure_environment_optionst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_environment_ingest_from_containerst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_environment_ingest_from_containerst, field_name)); - auto n_anon_2 = new NodePointer; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = get_real_subtype(base+offset, DF_Type::item); - n_anon_2->m_rdf_type = RDF_Type::Pointer; - n_anon_2->m_node_type = NodeType::Pointer; - n_anon_2->m_addornements = "*"; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - n_anon_2->m_defined_in = "df.items.xml"; - n_anon_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_2); - -} -void node_from_adventure_environment_pickup_ignite_vegst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::adventure_environment_optionst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_adventure_environment_optionst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_environment_pickup_ignite_vegst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_adventure_environment_ingest_materialst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::adventure_environment_optionst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_adventure_environment_optionst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_environment_ingest_materialst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int16_t; - n_anon_1->m_rdf_type = RDF_Type::int16_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_environment_ingest_materialst, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_environment_ingest_materialst, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int16_t; - n_anon_3->m_rdf_type = RDF_Type::int16_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - -} -void node_from_adventure_environment_pickup_make_campfirest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::adventure_environment_optionst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_adventure_environment_optionst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_adventure_environment_place_in_bld_containerst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::adventure_environment_optionst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_adventure_environment_optionst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_environment_place_in_bld_containerst, field_name)); - auto n_anon_1 = new NodePointer; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = get_real_subtype(base+offset, DF_Type::building); - n_anon_1->m_rdf_type = RDF_Type::Pointer; - n_anon_1->m_node_type = NodeType::Pointer; - n_anon_1->m_addornements = "*"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_defined_in = "df.buildings.xml"; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_adventure_environment_pickup_vermin_eventst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::adventure_environment_optionst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_adventure_environment_optionst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "vermin_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_environment_pickup_vermin_eventst, field_name)); - auto n_vermin_idx = new NodeSimple; - n_vermin_idx->m_field_name = field_name; - n_vermin_idx->m_df_type = DF_Type::int32_t; - n_vermin_idx->m_rdf_type = RDF_Type::int32_t; - n_vermin_idx->m_node_type = NodeType::Simple; - n_vermin_idx->m_address = base + offset; - n_vermin_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_vermin_idx); - -} -void node_from_adventure_environment_pickup_chop_treest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::adventure_environment_optionst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_adventure_environment_optionst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_adventure_environment_unit_suck_bloodst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::adventure_environment_optionst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_adventure_environment_optionst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unit_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_environment_unit_suck_bloodst, field_name)); - auto n_unit_id = new NodeSimple; - n_unit_id->m_field_name = field_name; - n_unit_id->m_df_type = DF_Type::int32_t; - n_unit_id->m_rdf_type = RDF_Type::int32_t; - n_unit_id->m_node_type = NodeType::Simple; - n_unit_id->m_address = base + offset; - n_unit_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unit_id); - -} -void node_from_adventure_movement_optionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "dest"; - auto n_dest = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_movement_optionst, field_name)); - n_dest->m_field_name = field_name; - n_dest->m_df_type = DF_Type::coord; - n_dest->m_rdf_type = RDF_Type::Struct; - n_dest->m_node_type = NodeType::Compound; - n_dest->m_address = base + offset; - n_dest->m_defined_in = "df.map.xml"; - n_dest->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dest); - - field_name = "source"; - auto n_source = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_movement_optionst, field_name)); - n_source->m_field_name = field_name; - n_source->m_df_type = DF_Type::coord; - n_source->m_rdf_type = RDF_Type::Struct; - n_source->m_node_type = NodeType::Compound; - n_source->m_address = base + offset; - n_source->m_defined_in = "df.map.xml"; - n_source->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_source); - -} -void node_from_adventure_movement_release_hold_itemst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::adventure_movement_optionst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_adventure_movement_optionst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_adventure_movement_release_hold_tilest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::adventure_movement_optionst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_adventure_movement_optionst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_adventure_movement_attack_creaturest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::adventure_movement_optionst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_adventure_movement_optionst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_movement_attack_creaturest, field_name)); - auto n_anon_1 = new NodeVector; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::Vector; - n_anon_1->m_node_type = NodeType::Vector; - n_anon_1->m_addornements = "v"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_adventure_movement_hold_tilest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::adventure_movement_optionst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_adventure_movement_optionst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "grab"; - auto n_grab = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_movement_hold_tilest, field_name)); - n_grab->m_field_name = field_name; - n_grab->m_df_type = DF_Type::coord; - n_grab->m_rdf_type = RDF_Type::Struct; - n_grab->m_node_type = NodeType::Compound; - n_grab->m_address = base + offset; - n_grab->m_defined_in = "df.map.xml"; - n_grab->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_grab); - -} -void node_from_adventure_movement_movest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::adventure_movement_optionst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_adventure_movement_optionst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unit_path_flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_movement_movest, field_name)); - auto n_unit_path_flags = new NodeSimple; - n_unit_path_flags->m_field_name = field_name; - n_unit_path_flags->m_df_type = DF_Type::int32_t; - n_unit_path_flags->m_rdf_type = RDF_Type::int32_t; - n_unit_path_flags->m_node_type = NodeType::Simple; - n_unit_path_flags->m_address = base + offset; - n_unit_path_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unit_path_flags); - - field_name = "unk_bitfield"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_movement_movest, field_name)); - auto n_unk_bitfield = new NodeSimple; - n_unk_bitfield->m_field_name = field_name; - n_unk_bitfield->m_df_type = DF_Type::int32_t; - n_unk_bitfield->m_rdf_type = RDF_Type::int32_t; - n_unk_bitfield->m_node_type = NodeType::Simple; - n_unk_bitfield->m_address = base + offset; - n_unk_bitfield->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_bitfield); - -} -void node_from_adventure_movement_climbst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::adventure_movement_optionst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_adventure_movement_optionst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "grab"; - auto n_grab = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_movement_climbst, field_name)); - n_grab->m_field_name = field_name; - n_grab->m_df_type = DF_Type::coord; - n_grab->m_rdf_type = RDF_Type::Struct; - n_grab->m_node_type = NodeType::Compound; - n_grab->m_address = base + offset; - n_grab->m_defined_in = "df.map.xml"; - n_grab->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_grab); - -} -void node_from_adventure_movement_hold_itemst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::adventure_movement_optionst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_adventure_movement_optionst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "item_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_movement_hold_itemst, field_name)); - auto n_item_id = new NodeSimple; - n_item_id->m_field_name = field_name; - n_item_id->m_df_type = DF_Type::int32_t; - n_item_id->m_rdf_type = RDF_Type::int32_t; - n_item_id->m_node_type = NodeType::Simple; - n_item_id->m_address = base + offset; - n_item_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_id); - -} -void node_from_adventure_movement_building_interactst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::adventure_movement_optionst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_adventure_movement_optionst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "building_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_movement_building_interactst, field_name)); - auto n_building_id = new NodeSimple; - n_building_id->m_field_name = field_name; - n_building_id->m_df_type = DF_Type::int32_t; - n_building_id->m_rdf_type = RDF_Type::int32_t; - n_building_id->m_node_type = NodeType::Simple; - n_building_id->m_address = base + offset; - n_building_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_building_id); - -} -void node_from_adventure_movement_item_interactst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::adventure_movement_optionst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_adventure_movement_optionst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "item_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_movement_item_interactst, field_name)); - auto n_item_id = new NodeSimple; - n_item_id->m_field_name = field_name; - n_item_id->m_df_type = DF_Type::int32_t; - n_item_id->m_rdf_type = RDF_Type::int32_t; - n_item_id->m_node_type = NodeType::Simple; - n_item_id->m_address = base + offset; - n_item_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_id); - -} -void node_from_adventure_movement_item_interact_guidest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::adventure_movement_item_interactst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_adventure_movement_item_interactst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_adventure_movement_item_interact_ridest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::adventure_movement_item_interactst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_adventure_movement_item_interactst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_adventure_movement_item_interact_pushst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::adventure_movement_item_interactst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_adventure_movement_item_interactst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_adventure_item_interact_heat_from_tilest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::adventure_item_interact_choicest; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_adventure_item_interact_choicest(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_item_interact_heat_from_tilest, field_name)); - auto n_anon_1 = new NodePointer; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = get_real_subtype(base+offset, DF_Type::item); - n_anon_1->m_rdf_type = RDF_Type::Pointer; - n_anon_1->m_node_type = NodeType::Pointer; - n_anon_1->m_addornements = "*"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_defined_in = "df.items.xml"; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - auto n_anon_2 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_item_interact_heat_from_tilest, field_name)); - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::coord; - n_anon_2->m_rdf_type = RDF_Type::Struct; - n_anon_2->m_node_type = NodeType::Compound; - n_anon_2->m_address = base + offset; - n_anon_2->m_defined_in = "df.map.xml"; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - auto n_anon_3 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_item_interact_heat_from_tilest, field_name)); - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::coord; - n_anon_3->m_rdf_type = RDF_Type::Struct; - n_anon_3->m_node_type = NodeType::Compound; - n_anon_3->m_address = base + offset; - n_anon_3->m_defined_in = "df.map.xml"; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - -} -void node_from_adventure_item_interact_fill_from_containerst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::adventure_item_interact_choicest; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_adventure_item_interact_choicest(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_item_interact_fill_from_containerst, field_name)); - auto n_anon_1 = new NodePointer; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = get_real_subtype(base+offset, DF_Type::item); - n_anon_1->m_rdf_type = RDF_Type::Pointer; - n_anon_1->m_node_type = NodeType::Pointer; - n_anon_1->m_addornements = "*"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_defined_in = "df.items.xml"; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_item_interact_fill_from_containerst, field_name)); - auto n_anon_2 = new NodePointer; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = get_real_subtype(base+offset, DF_Type::item); - n_anon_2->m_rdf_type = RDF_Type::Pointer; - n_anon_2->m_node_type = NodeType::Pointer; - n_anon_2->m_addornements = "*"; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - n_anon_2->m_defined_in = "df.items.xml"; - n_anon_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - auto n_anon_3 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_item_interact_fill_from_containerst, field_name)); - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::coord; - n_anon_3->m_rdf_type = RDF_Type::Struct; - n_anon_3->m_node_type = NodeType::Compound; - n_anon_3->m_address = base + offset; - n_anon_3->m_defined_in = "df.map.xml"; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - auto n_anon_4 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_item_interact_fill_from_containerst, field_name)); - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::coord; - n_anon_4->m_rdf_type = RDF_Type::Struct; - n_anon_4->m_node_type = NodeType::Compound; - n_anon_4->m_address = base + offset; - n_anon_4->m_defined_in = "df.map.xml"; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - -} -void node_from_adventure_item_interact_fill_with_materialst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::adventure_item_interact_choicest; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_adventure_item_interact_choicest(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_item_interact_fill_with_materialst, field_name)); - auto n_anon_1 = new NodePointer; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = get_real_subtype(base+offset, DF_Type::item); - n_anon_1->m_rdf_type = RDF_Type::Pointer; - n_anon_1->m_node_type = NodeType::Pointer; - n_anon_1->m_addornements = "*"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_defined_in = "df.items.xml"; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - auto n_anon_2 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_item_interact_fill_with_materialst, field_name)); - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::coord; - n_anon_2->m_rdf_type = RDF_Type::Struct; - n_anon_2->m_node_type = NodeType::Compound; - n_anon_2->m_address = base + offset; - n_anon_2->m_defined_in = "df.map.xml"; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - auto n_anon_3 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_item_interact_fill_with_materialst, field_name)); - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::coord; - n_anon_3->m_rdf_type = RDF_Type::Struct; - n_anon_3->m_node_type = NodeType::Compound; - n_anon_3->m_address = base + offset; - n_anon_3->m_defined_in = "df.map.xml"; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_item_interact_fill_with_materialst, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int16_t; - n_anon_4->m_rdf_type = RDF_Type::int16_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_item_interact_fill_with_materialst, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_item_interact_fill_with_materialst, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int16_t; - n_anon_6->m_rdf_type = RDF_Type::int16_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - -} -void node_from_adventure_item_interact_give_namest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::adventure_item_interact_choicest; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_adventure_item_interact_choicest(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_item_interact_give_namest, field_name)); - auto n_anon_1 = new NodePointer; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = get_real_subtype(base+offset, DF_Type::item); - n_anon_1->m_rdf_type = RDF_Type::Pointer; - n_anon_1->m_node_type = NodeType::Pointer; - n_anon_1->m_addornements = "*"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_defined_in = "df.items.xml"; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_announcements(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "flags"; - auto n_flags = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::announcements, field_name)); - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::announcement_flags; - n_flags->m_rdf_type = RDF_Type::Array; - n_flags->m_node_type = NodeType::Array; - n_flags->m_index_enum = DF_Type::announcement_type; - n_flags->m_defined_in = "df.announcements.xml"; - n_flags->m_addornements = "[325"; - n_flags->m_array_size = 325; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "unused"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::announcements, field_name)); - auto n_unused = new NodePointer; - n_unused->m_field_name = field_name; - n_unused->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_unused->m_rdf_type = RDF_Type::Pointer; - n_unused->m_node_type = NodeType::Pointer; - n_unused->m_addornements = "*"; - n_unused->m_address = base + offset; - n_unused->m_comment = "needed to fix alignment on 64-bit platforms"; - n_unused->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unused); - -} -void node_from_report(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "type"; - auto n_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::report, field_name)); - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::announcement_type; - n_type->m_rdf_type = RDF_Type::Enum; - n_type->m_node_type = NodeType::Enum; - n_type->m_base_type = DF_Type::int16_t; - n_type->m_enum_type = "announcement_type"; - n_type->m_address = base + offset; - n_type->m_comment = "valid only if coordinates are"; - n_type->m_defined_in = "df.announcements.xml"; - n_type->m_first_value = 0; - n_type->m_last_value = 324; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - - field_name = "text"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::report, field_name)); - auto n_text = new NodeSimple; - n_text->m_field_name = field_name; - n_text->m_df_type = DF_Type::Stl_string; - n_text->m_rdf_type = RDF_Type::Stl_string; - n_text->m_node_type = NodeType::Simple; - n_text->m_address = base + offset; - n_text->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_text); - - field_name = "color"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::report, field_name)); - auto n_color = new NodeSimple; - n_color->m_field_name = field_name; - n_color->m_df_type = DF_Type::int16_t; - n_color->m_rdf_type = RDF_Type::int16_t; - n_color->m_node_type = NodeType::Simple; - n_color->m_address = base + offset; - n_color->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_color); - - field_name = "bright"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::report, field_name)); - auto n_bright = new NodeSimple; - n_bright->m_field_name = field_name; - n_bright->m_df_type = DF_Type::Bool; - n_bright->m_rdf_type = RDF_Type::Bool; - n_bright->m_node_type = NodeType::Simple; - n_bright->m_address = base + offset; - n_bright->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_bright); - - field_name = "duration"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::report, field_name)); - auto n_duration = new NodeSimple; - n_duration->m_field_name = field_name; - n_duration->m_df_type = DF_Type::int32_t; - n_duration->m_rdf_type = RDF_Type::int32_t; - n_duration->m_node_type = NodeType::Simple; - n_duration->m_address = base + offset; - n_duration->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_duration); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::report, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::report__T_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "repeat_count"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::report, field_name)); - auto n_repeat_count = new NodeSimple; - n_repeat_count->m_field_name = field_name; - n_repeat_count->m_df_type = DF_Type::int32_t; - n_repeat_count->m_rdf_type = RDF_Type::int32_t; - n_repeat_count->m_node_type = NodeType::Simple; - n_repeat_count->m_address = base + offset; - n_repeat_count->m_comment = "100 => displays: x101"; - n_repeat_count->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_repeat_count); - - field_name = "unk_4410_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::report, field_name)); - auto n_unk_4410_1 = new NodeSimple; - n_unk_4410_1->m_field_name = field_name; - n_unk_4410_1->m_df_type = DF_Type::int32_t; - n_unk_4410_1->m_rdf_type = RDF_Type::int32_t; - n_unk_4410_1->m_node_type = NodeType::Simple; - n_unk_4410_1->m_address = base + offset; - n_unk_4410_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_4410_1); - - field_name = "pos"; - auto n_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::report, field_name)); - n_pos->m_field_name = field_name; - n_pos->m_df_type = DF_Type::coord; - n_pos->m_rdf_type = RDF_Type::Struct; - n_pos->m_node_type = NodeType::Compound; - n_pos->m_address = base + offset; - n_pos->m_defined_in = "df.map.xml"; - n_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pos); - - field_name = "unk_4410_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::report, field_name)); - auto n_unk_4410_2 = new NodeSimple; - n_unk_4410_2->m_field_name = field_name; - n_unk_4410_2->m_df_type = DF_Type::int32_t; - n_unk_4410_2->m_rdf_type = RDF_Type::int32_t; - n_unk_4410_2->m_node_type = NodeType::Simple; - n_unk_4410_2->m_address = base + offset; - n_unk_4410_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_4410_2); - - field_name = "unit_pos"; - auto n_unit_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::report, field_name)); - n_unit_pos->m_field_name = field_name; - n_unit_pos->m_df_type = DF_Type::coord; - n_unit_pos->m_rdf_type = RDF_Type::Struct; - n_unit_pos->m_node_type = NodeType::Compound; - n_unit_pos->m_address = base + offset; - n_unit_pos->m_defined_in = "df.map.xml"; - n_unit_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unit_pos); - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::report, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::report, field_name)); - auto n_year = new NodeSimple; - n_year->m_field_name = field_name; - n_year->m_df_type = DF_Type::int32_t; - n_year->m_rdf_type = RDF_Type::int32_t; - n_year->m_node_type = NodeType::Simple; - n_year->m_address = base + offset; - n_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_year); - - field_name = "time"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::report, field_name)); - auto n_time = new NodeSimple; - n_time->m_field_name = field_name; - n_time->m_df_type = DF_Type::int32_t; - n_time->m_rdf_type = RDF_Type::int32_t; - n_time->m_node_type = NodeType::Simple; - n_time->m_address = base + offset; - n_time->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_time); - - field_name = "unk_v40_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::report, field_name)); - auto n_unk_v40_1 = new NodeSimple; - n_unk_v40_1->m_field_name = field_name; - n_unk_v40_1->m_df_type = DF_Type::int32_t; - n_unk_v40_1->m_rdf_type = RDF_Type::int32_t; - n_unk_v40_1->m_node_type = NodeType::Simple; - n_unk_v40_1->m_address = base + offset; - n_unk_v40_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_1); - - field_name = "unk_v40_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::report, field_name)); - auto n_unk_v40_2 = new NodeSimple; - n_unk_v40_2->m_field_name = field_name; - n_unk_v40_2->m_df_type = DF_Type::int32_t; - n_unk_v40_2->m_rdf_type = RDF_Type::int32_t; - n_unk_v40_2->m_node_type = NodeType::Simple; - n_unk_v40_2->m_address = base + offset; - n_unk_v40_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_2); - - field_name = "speaker_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::report, field_name)); - auto n_speaker_id = new NodeSimple; - n_speaker_id->m_field_name = field_name; - n_speaker_id->m_df_type = DF_Type::int32_t; - n_speaker_id->m_rdf_type = RDF_Type::int32_t; - n_speaker_id->m_node_type = NodeType::Simple; - n_speaker_id->m_address = base + offset; - n_speaker_id->m_comment = "unit speaking the conversation"; - n_speaker_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_speaker_id); - -} -void node_from_art_image_element_itemst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::art_image_element; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_art_image_element(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "item_type"; - auto n_item_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image_element_itemst, field_name)); - n_item_type->m_field_name = field_name; - n_item_type->m_df_type = DF_Type::item_type; - n_item_type->m_rdf_type = RDF_Type::Enum; - n_item_type->m_node_type = NodeType::Enum; - n_item_type->m_base_type = DF_Type::int16_t; - n_item_type->m_enum_type = "item_type"; - n_item_type->m_address = base + offset; - n_item_type->m_defined_in = "df.item-raws.xml"; - n_item_type->m_first_value = -1; - n_item_type->m_last_value = 90; - n_item_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_type); - - field_name = "item_subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image_element_itemst, field_name)); - auto n_item_subtype = new NodeSimple; - n_item_subtype->m_field_name = field_name; - n_item_subtype->m_df_type = DF_Type::int16_t; - n_item_subtype->m_rdf_type = RDF_Type::int16_t; - n_item_subtype->m_node_type = NodeType::Simple; - n_item_subtype->m_address = base + offset; - n_item_subtype->m_refers_to = "(item-subtype-target $$._parent.item_type $)"; - n_item_subtype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_subtype); - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image_element_itemst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image_element_itemst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int16_t; - n_mat_index->m_rdf_type = RDF_Type::int16_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image_element_itemst, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::item_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_defined_in = "df.items.xml"; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "item_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image_element_itemst, field_name)); - auto n_item_id = new NodeSimple; - n_item_id->m_field_name = field_name; - n_item_id->m_df_type = DF_Type::int32_t; - n_item_id->m_rdf_type = RDF_Type::int32_t; - n_item_id->m_node_type = NodeType::Simple; - n_item_id->m_address = base + offset; - n_item_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_id); - -} -void node_from_art_image_property_transitive_verbst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::art_image_property; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_art_image_property(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "subject"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image_property_transitive_verbst, field_name)); - auto n_subject = new NodeSimple; - n_subject->m_field_name = field_name; - n_subject->m_df_type = DF_Type::int32_t; - n_subject->m_rdf_type = RDF_Type::int32_t; - n_subject->m_node_type = NodeType::Simple; - n_subject->m_address = base + offset; - n_subject->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_subject); - - field_name = "object"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image_property_transitive_verbst, field_name)); - auto n_object = new NodeSimple; - n_object->m_field_name = field_name; - n_object->m_df_type = DF_Type::int32_t; - n_object->m_rdf_type = RDF_Type::int32_t; - n_object->m_node_type = NodeType::Simple; - n_object->m_address = base + offset; - n_object->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_object); - - field_name = "verb"; - auto n_verb = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image_property_transitive_verbst, field_name)); - n_verb->m_field_name = field_name; - n_verb->m_df_type = DF_Type::art_image_property_verb; - n_verb->m_rdf_type = RDF_Type::Enum; - n_verb->m_node_type = NodeType::Enum; - n_verb->m_base_type = DF_Type::int16_t; - n_verb->m_enum_type = "art_image_property_verb"; - n_verb->m_address = base + offset; - n_verb->m_defined_in = "df.art.xml"; - n_verb->m_first_value = 0; - n_verb->m_last_value = 47; - n_verb->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_verb); - -} -void node_from_art_image_property_intransitive_verbst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::art_image_property; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_art_image_property(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "subject"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image_property_intransitive_verbst, field_name)); - auto n_subject = new NodeSimple; - n_subject->m_field_name = field_name; - n_subject->m_df_type = DF_Type::int32_t; - n_subject->m_rdf_type = RDF_Type::int32_t; - n_subject->m_node_type = NodeType::Simple; - n_subject->m_address = base + offset; - n_subject->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_subject); - - field_name = "verb"; - auto n_verb = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image_property_intransitive_verbst, field_name)); - n_verb->m_field_name = field_name; - n_verb->m_df_type = DF_Type::art_image_property_verb; - n_verb->m_rdf_type = RDF_Type::Enum; - n_verb->m_node_type = NodeType::Enum; - n_verb->m_base_type = DF_Type::int16_t; - n_verb->m_enum_type = "art_image_property_verb"; - n_verb->m_address = base + offset; - n_verb->m_defined_in = "df.art.xml"; - n_verb->m_first_value = 0; - n_verb->m_last_value = 47; - n_verb->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_verb); - -} -void node_from_art_image_chunk(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image_chunk, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_comment = "art_image_*.dat"; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "images"; - auto n_images = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image_chunk, field_name)); - n_images->m_field_name = field_name; - n_images->m_df_type = DF_Type::art_image; - n_images->m_rdf_type = RDF_Type::Array; - n_images->m_node_type = NodeType::Array; - n_images->m_defined_in = "df.art.xml"; - n_images->m_addornements = "[500*"; - n_images->m_array_size = 500; - n_images->m_address = base + offset; - n_images->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_images); - -} -void node_from_poetic_form_part__T_line_subject_targets(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = true) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "subject_histfig"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part__T_line_subject_targets, field_name)); - auto n_subject_histfig = new NodeSimple; - n_subject_histfig->m_field_name = field_name; - n_subject_histfig->m_df_type = DF_Type::int32_t; - n_subject_histfig->m_rdf_type = RDF_Type::int32_t; - n_subject_histfig->m_node_type = NodeType::Simple; - n_subject_histfig->m_address = base + offset; - n_subject_histfig->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_subject_histfig); - - field_name = "subject_topic"; - auto n_subject_topic = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part__T_line_subject_targets, field_name)); - n_subject_topic->m_field_name = field_name; - n_subject_topic->m_df_type = DF_Type::sphere_type; - n_subject_topic->m_rdf_type = RDF_Type::Enum; - n_subject_topic->m_node_type = NodeType::Enum; - n_subject_topic->m_base_type = DF_Type::int32_t; - n_subject_topic->m_enum_type = "sphere_type"; - n_subject_topic->m_address = base + offset; - n_subject_topic->m_defined_in = "df.language.xml"; - n_subject_topic->m_first_value = 0; - n_subject_topic->m_last_value = 129; - n_subject_topic->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_subject_topic); - -} -void node_from_poetic_form_part(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::poetic_form_part__T_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "count_min"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part, field_name)); - auto n_count_min = new NodeSimple; - n_count_min->m_field_name = field_name; - n_count_min->m_df_type = DF_Type::int32_t; - n_count_min->m_rdf_type = RDF_Type::int32_t; - n_count_min->m_node_type = NodeType::Simple; - n_count_min->m_address = base + offset; - n_count_min->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_count_min); - - field_name = "count_max"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part, field_name)); - auto n_count_max = new NodeSimple; - n_count_max->m_field_name = field_name; - n_count_max->m_df_type = DF_Type::int32_t; - n_count_max->m_rdf_type = RDF_Type::int32_t; - n_count_max->m_node_type = NodeType::Simple; - n_count_max->m_address = base + offset; - n_count_max->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_count_max); - - field_name = "size"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part, field_name)); - auto n_size = new NodeSimple; - n_size->m_field_name = field_name; - n_size->m_df_type = DF_Type::int32_t; - n_size->m_rdf_type = RDF_Type::int32_t; - n_size->m_node_type = NodeType::Simple; - n_size->m_address = base + offset; - n_size->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_size); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "line_endings"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part, field_name)); - auto n_line_endings = new NodeVector; - n_line_endings->m_field_name = field_name; - n_line_endings->m_df_type = DF_Type::int32_t; - n_line_endings->m_rdf_type = RDF_Type::Vector; - n_line_endings->m_node_type = NodeType::Vector; - n_line_endings->m_addornements = "v"; - n_line_endings->m_address = base + offset; - n_line_endings->m_parent = p_node_parent; - n_line_endings->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_line_endings); - - field_name = "line_feet"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part, field_name)); - auto n_line_feet = new NodeVector; - n_line_feet->m_field_name = field_name; - n_line_feet->m_df_type = DF_Type::int32_t; - n_line_feet->m_rdf_type = RDF_Type::Vector; - n_line_feet->m_node_type = NodeType::Vector; - n_line_feet->m_addornements = "v"; - n_line_feet->m_address = base + offset; - n_line_feet->m_parent = p_node_parent; - n_line_feet->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_line_feet); - - field_name = "line_patterns"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part, field_name)); - auto n_line_patterns = new NodeVector; - n_line_patterns->m_field_name = field_name; - n_line_patterns->m_df_type = DF_Type::poetic_form_pattern; - n_line_patterns->m_rdf_type = RDF_Type::Vector; - n_line_patterns->m_node_type = NodeType::Vector; - n_line_patterns->m_enum_base = DF_Type::int32_t; - n_line_patterns->m_defined_in = "df.art.xml"; - n_line_patterns->m_addornements = "v"; - n_line_patterns->m_address = base + offset; - n_line_patterns->m_parent = p_node_parent; - n_line_patterns->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_line_patterns); - - field_name = "line_caesura_positions"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part, field_name)); - auto n_line_caesura_positions = new NodeVector; - n_line_caesura_positions->m_field_name = field_name; - n_line_caesura_positions->m_df_type = DF_Type::poetic_form_caesura_position; - n_line_caesura_positions->m_rdf_type = RDF_Type::Vector; - n_line_caesura_positions->m_node_type = NodeType::Vector; - n_line_caesura_positions->m_enum_base = DF_Type::int32_t; - n_line_caesura_positions->m_defined_in = "df.art.xml"; - n_line_caesura_positions->m_addornements = "v"; - n_line_caesura_positions->m_address = base + offset; - n_line_caesura_positions->m_parent = p_node_parent; - n_line_caesura_positions->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_line_caesura_positions); - - field_name = "line_features"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part, field_name)); - auto n_line_features = new NodeVector; - n_line_features->m_field_name = field_name; - n_line_features->m_df_type = DF_Type::poetic_form_feature; - n_line_features->m_rdf_type = RDF_Type::Vector; - n_line_features->m_node_type = NodeType::Vector; - n_line_features->m_defined_in = "df.art.xml"; - n_line_features->m_addornements = "v"; - n_line_features->m_address = base + offset; - n_line_features->m_parent = p_node_parent; - n_line_features->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_line_features); - - field_name = "additional_features"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part, field_name)); - auto n_additional_features = new NodeVector; - n_additional_features->m_field_name = field_name; - n_additional_features->m_df_type = DF_Type::poetic_form_additional_feature; - n_additional_features->m_rdf_type = RDF_Type::Vector; - n_additional_features->m_node_type = NodeType::Vector; - n_additional_features->m_enum_base = DF_Type::int32_t; - n_additional_features->m_defined_in = "df.art.xml"; - n_additional_features->m_addornements = "v"; - n_additional_features->m_address = base + offset; - n_additional_features->m_parent = p_node_parent; - n_additional_features->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_additional_features); - - field_name = "additional_targets"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part, field_name)); - auto n_additional_targets = new NodeVector; - n_additional_targets->m_field_name = field_name; - n_additional_targets->m_df_type = DF_Type::int32_t; - n_additional_targets->m_rdf_type = RDF_Type::Vector; - n_additional_targets->m_node_type = NodeType::Vector; - n_additional_targets->m_addornements = "v"; - n_additional_targets->m_address = base + offset; - n_additional_targets->m_parent = p_node_parent; - n_additional_targets->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_additional_targets); - - field_name = "additional_lines"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part, field_name)); - auto n_additional_lines = new NodeVector; - n_additional_lines->m_field_name = field_name; - n_additional_lines->m_df_type = DF_Type::int32_t; - n_additional_lines->m_rdf_type = RDF_Type::Vector; - n_additional_lines->m_node_type = NodeType::Vector; - n_additional_lines->m_addornements = "v"; - n_additional_lines->m_address = base + offset; - n_additional_lines->m_parent = p_node_parent; - n_additional_lines->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_additional_lines); - - field_name = "line_moods"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part, field_name)); - auto n_line_moods = new NodeVector; - n_line_moods->m_field_name = field_name; - n_line_moods->m_df_type = DF_Type::poetic_form_mood; - n_line_moods->m_rdf_type = RDF_Type::Vector; - n_line_moods->m_node_type = NodeType::Vector; - n_line_moods->m_enum_base = DF_Type::int32_t; - n_line_moods->m_defined_in = "df.art.xml"; - n_line_moods->m_addornements = "v"; - n_line_moods->m_address = base + offset; - n_line_moods->m_parent = p_node_parent; - n_line_moods->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_line_moods); - - field_name = "line_subjects"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part, field_name)); - auto n_line_subjects = new NodeVector; - n_line_subjects->m_field_name = field_name; - n_line_subjects->m_df_type = DF_Type::poetic_form_subject; - n_line_subjects->m_rdf_type = RDF_Type::Vector; - n_line_subjects->m_node_type = NodeType::Vector; - n_line_subjects->m_enum_base = DF_Type::int32_t; - n_line_subjects->m_defined_in = "df.art.xml"; - n_line_subjects->m_addornements = "v"; - n_line_subjects->m_address = base + offset; - n_line_subjects->m_parent = p_node_parent; - n_line_subjects->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_line_subjects); - - field_name = "line_subject_targets"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part, field_name)); - auto n_line_subject_targets = new NodeVector; - n_line_subject_targets->m_field_name = field_name; - n_line_subject_targets->m_df_type = DF_Type::poetic_form_part__T_line_subject_targets; - n_line_subject_targets->m_rdf_type = RDF_Type::Vector; - n_line_subject_targets->m_node_type = NodeType::Vector; - n_line_subject_targets->m_addornements = "v"; - n_line_subject_targets->m_address = base + offset; - n_line_subject_targets->m_parent = p_node_parent; - n_line_subject_targets->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_line_subject_targets); - - field_name = "line_actions"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part, field_name)); - auto n_line_actions = new NodeVector; - n_line_actions->m_field_name = field_name; - n_line_actions->m_df_type = DF_Type::poetic_form_action; - n_line_actions->m_rdf_type = RDF_Type::Vector; - n_line_actions->m_node_type = NodeType::Vector; - n_line_actions->m_enum_base = DF_Type::int32_t; - n_line_actions->m_defined_in = "df.art.xml"; - n_line_actions->m_addornements = "v"; - n_line_actions->m_address = base + offset; - n_line_actions->m_parent = p_node_parent; - n_line_actions->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_line_actions); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part, field_name)); - auto n_anon_5 = new NodeVector; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::Vector; - n_anon_5->m_node_type = NodeType::Vector; - n_anon_5->m_addornements = "v"; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - n_anon_5->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "some_lines_syllables"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part, field_name)); - auto n_some_lines_syllables = new NodeSimple; - n_some_lines_syllables->m_field_name = field_name; - n_some_lines_syllables->m_df_type = DF_Type::int32_t; - n_some_lines_syllables->m_rdf_type = RDF_Type::int32_t; - n_some_lines_syllables->m_node_type = NodeType::Simple; - n_some_lines_syllables->m_address = base + offset; - n_some_lines_syllables->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_some_lines_syllables); - - field_name = "some_lines_pattern"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part, field_name)); - auto n_some_lines_pattern = new NodeSimple; - n_some_lines_pattern->m_field_name = field_name; - n_some_lines_pattern->m_df_type = DF_Type::int32_t; - n_some_lines_pattern->m_rdf_type = RDF_Type::int32_t; - n_some_lines_pattern->m_node_type = NodeType::Simple; - n_some_lines_pattern->m_address = base + offset; - n_some_lines_pattern->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_some_lines_pattern); - - field_name = "each_line_caesura_position"; - auto n_each_line_caesura_position = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part, field_name)); - n_each_line_caesura_position->m_field_name = field_name; - n_each_line_caesura_position->m_df_type = DF_Type::poetic_form_caesura_position; - n_each_line_caesura_position->m_rdf_type = RDF_Type::Enum; - n_each_line_caesura_position->m_node_type = NodeType::Enum; - n_each_line_caesura_position->m_base_type = DF_Type::int32_t; - n_each_line_caesura_position->m_enum_type = "poetic_form_caesura_position"; - n_each_line_caesura_position->m_address = base + offset; - n_each_line_caesura_position->m_defined_in = "df.art.xml"; - n_each_line_caesura_position->m_first_value = 0; - n_each_line_caesura_position->m_last_value = 2; - n_each_line_caesura_position->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_each_line_caesura_position); - - field_name = "certain_lines_additional_features"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part, field_name)); - auto n_certain_lines_additional_features = new NodeVector; - n_certain_lines_additional_features->m_field_name = field_name; - n_certain_lines_additional_features->m_df_type = DF_Type::poetic_form_additional_feature; - n_certain_lines_additional_features->m_rdf_type = RDF_Type::Vector; - n_certain_lines_additional_features->m_node_type = NodeType::Vector; - n_certain_lines_additional_features->m_enum_base = DF_Type::int32_t; - n_certain_lines_additional_features->m_defined_in = "df.art.xml"; - n_certain_lines_additional_features->m_addornements = "v"; - n_certain_lines_additional_features->m_address = base + offset; - n_certain_lines_additional_features->m_parent = p_node_parent; - n_certain_lines_additional_features->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_certain_lines_additional_features); - - field_name = "mood"; - auto n_mood = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part, field_name)); - n_mood->m_field_name = field_name; - n_mood->m_df_type = DF_Type::poetic_form_mood; - n_mood->m_rdf_type = RDF_Type::Enum; - n_mood->m_node_type = NodeType::Enum; - n_mood->m_base_type = DF_Type::int32_t; - n_mood->m_enum_type = "poetic_form_mood"; - n_mood->m_address = base + offset; - n_mood->m_defined_in = "df.art.xml"; - n_mood->m_first_value = 0; - n_mood->m_last_value = 6; - n_mood->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mood); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part, field_name)); - auto n_anon_7 = new NodeSimple; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::int32_t; - n_anon_7->m_rdf_type = RDF_Type::int32_t; - n_anon_7->m_node_type = NodeType::Simple; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_7); - - field_name = "action"; - auto n_action = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part, field_name)); - n_action->m_field_name = field_name; - n_action->m_df_type = DF_Type::poetic_form_action; - n_action->m_rdf_type = RDF_Type::Enum; - n_action->m_node_type = NodeType::Enum; - n_action->m_base_type = DF_Type::int32_t; - n_action->m_enum_type = "poetic_form_action"; - n_action->m_address = base + offset; - n_action->m_defined_in = "df.art.xml"; - n_action->m_first_value = 0; - n_action->m_last_value = 21; - n_action->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_action); - - field_name = "anon_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part, field_name)); - auto n_anon_8 = new NodeSimple; - n_anon_8->m_field_name = field_name; - n_anon_8->m_df_type = DF_Type::int32_t; - n_anon_8->m_rdf_type = RDF_Type::int32_t; - n_anon_8->m_node_type = NodeType::Simple; - n_anon_8->m_address = base + offset; - n_anon_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_8); - - field_name = "anon_9"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part, field_name)); - auto n_anon_9 = new NodeSimple; - n_anon_9->m_field_name = field_name; - n_anon_9->m_df_type = DF_Type::int32_t; - n_anon_9->m_rdf_type = RDF_Type::int32_t; - n_anon_9->m_node_type = NodeType::Simple; - n_anon_9->m_address = base + offset; - n_anon_9->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_9); - -} -void node_from_musical_form_vocals(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_vocals, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_vocals, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_vocals, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_vocals, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_vocals, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_vocals, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_vocals, field_name)); - auto n_anon_7 = new NodeSimple; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::int32_t; - n_anon_7->m_rdf_type = RDF_Type::int32_t; - n_anon_7->m_node_type = NodeType::Simple; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_7); - - field_name = "anon_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_vocals, field_name)); - auto n_anon_8 = new NodeSimple; - n_anon_8->m_field_name = field_name; - n_anon_8->m_df_type = DF_Type::int32_t; - n_anon_8->m_rdf_type = RDF_Type::int32_t; - n_anon_8->m_node_type = NodeType::Simple; - n_anon_8->m_address = base + offset; - n_anon_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_8); - - field_name = "anon_9"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_vocals, field_name)); - auto n_anon_9 = new NodeSimple; - n_anon_9->m_field_name = field_name; - n_anon_9->m_df_type = DF_Type::int32_t; - n_anon_9->m_rdf_type = RDF_Type::int32_t; - n_anon_9->m_node_type = NodeType::Simple; - n_anon_9->m_address = base + offset; - n_anon_9->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_9); - - field_name = "anon_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_vocals, field_name)); - auto n_anon_10 = new NodeSimple; - n_anon_10->m_field_name = field_name; - n_anon_10->m_df_type = DF_Type::int32_t; - n_anon_10->m_rdf_type = RDF_Type::int32_t; - n_anon_10->m_node_type = NodeType::Simple; - n_anon_10->m_address = base + offset; - n_anon_10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_10); - - field_name = "anon_11"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_vocals, field_name)); - auto n_anon_11 = new NodeSimple; - n_anon_11->m_field_name = field_name; - n_anon_11->m_df_type = DF_Type::int32_t; - n_anon_11->m_rdf_type = RDF_Type::int32_t; - n_anon_11->m_node_type = NodeType::Simple; - n_anon_11->m_address = base + offset; - n_anon_11->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_11); - - field_name = "anon_12"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_vocals, field_name)); - auto n_anon_12 = new NodeSimple; - n_anon_12->m_field_name = field_name; - n_anon_12->m_df_type = DF_Type::int32_t; - n_anon_12->m_rdf_type = RDF_Type::int32_t; - n_anon_12->m_node_type = NodeType::Simple; - n_anon_12->m_address = base + offset; - n_anon_12->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_12); - - field_name = "anon_13"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_vocals, field_name)); - auto n_anon_13 = new NodeVector; - n_anon_13->m_field_name = field_name; - n_anon_13->m_df_type = DF_Type::int32_t; - n_anon_13->m_rdf_type = RDF_Type::Vector; - n_anon_13->m_node_type = NodeType::Vector; - n_anon_13->m_addornements = "v"; - n_anon_13->m_address = base + offset; - n_anon_13->m_parent = p_node_parent; - n_anon_13->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_13); - - field_name = "vocal_components"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_vocals, field_name)); - auto n_vocal_components = new NodeVector; - n_vocal_components->m_field_name = field_name; - n_vocal_components->m_df_type = DF_Type::int32_t; - n_vocal_components->m_rdf_type = RDF_Type::Vector; - n_vocal_components->m_node_type = NodeType::Vector; - n_vocal_components->m_addornements = "v"; - n_vocal_components->m_address = base + offset; - n_vocal_components->m_parent = p_node_parent; - n_vocal_components->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_vocal_components); - - field_name = "phrase_lengths"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_vocals, field_name)); - auto n_phrase_lengths = new NodeVector; - n_phrase_lengths->m_field_name = field_name; - n_phrase_lengths->m_df_type = DF_Type::int32_t; - n_phrase_lengths->m_rdf_type = RDF_Type::Vector; - n_phrase_lengths->m_node_type = NodeType::Vector; - n_phrase_lengths->m_addornements = "v"; - n_phrase_lengths->m_address = base + offset; - n_phrase_lengths->m_parent = p_node_parent; - n_phrase_lengths->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_phrase_lengths); - - field_name = "anon_14"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_vocals, field_name)); - auto n_anon_14 = new NodeVector; - n_anon_14->m_field_name = field_name; - n_anon_14->m_df_type = DF_Type::int32_t; - n_anon_14->m_rdf_type = RDF_Type::Vector; - n_anon_14->m_node_type = NodeType::Vector; - n_anon_14->m_addornements = "v"; - n_anon_14->m_address = base + offset; - n_anon_14->m_parent = p_node_parent; - n_anon_14->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_14); - - field_name = "anon_15"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_vocals, field_name)); - auto n_anon_15 = new NodeVector; - n_anon_15->m_field_name = field_name; - n_anon_15->m_df_type = DF_Type::int32_t; - n_anon_15->m_rdf_type = RDF_Type::Vector; - n_anon_15->m_node_type = NodeType::Vector; - n_anon_15->m_addornements = "v"; - n_anon_15->m_address = base + offset; - n_anon_15->m_parent = p_node_parent; - n_anon_15->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_15); - - field_name = "anon_16"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_vocals, field_name)); - auto n_anon_16 = new NodeSimple; - n_anon_16->m_field_name = field_name; - n_anon_16->m_df_type = DF_Type::int32_t; - n_anon_16->m_rdf_type = RDF_Type::int32_t; - n_anon_16->m_node_type = NodeType::Simple; - n_anon_16->m_address = base + offset; - n_anon_16->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_16); - - field_name = "anon_17"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_vocals, field_name)); - auto n_anon_17 = new NodeSimple; - n_anon_17->m_field_name = field_name; - n_anon_17->m_df_type = DF_Type::int32_t; - n_anon_17->m_rdf_type = RDF_Type::int32_t; - n_anon_17->m_node_type = NodeType::Simple; - n_anon_17->m_address = base + offset; - n_anon_17->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_17); - - field_name = "anon_18"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_vocals, field_name)); - auto n_anon_18 = new NodeSimple; - n_anon_18->m_field_name = field_name; - n_anon_18->m_df_type = DF_Type::int32_t; - n_anon_18->m_rdf_type = RDF_Type::int32_t; - n_anon_18->m_node_type = NodeType::Simple; - n_anon_18->m_address = base + offset; - n_anon_18->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_18); - - field_name = "anon_19"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_vocals, field_name)); - auto n_anon_19 = new NodeSimple; - n_anon_19->m_field_name = field_name; - n_anon_19->m_df_type = DF_Type::int32_t; - n_anon_19->m_rdf_type = RDF_Type::int32_t; - n_anon_19->m_node_type = NodeType::Simple; - n_anon_19->m_address = base + offset; - n_anon_19->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_19); - - field_name = "anon_20"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_vocals, field_name)); - auto n_anon_20 = new NodeSimple; - n_anon_20->m_field_name = field_name; - n_anon_20->m_df_type = DF_Type::int32_t; - n_anon_20->m_rdf_type = RDF_Type::int32_t; - n_anon_20->m_node_type = NodeType::Simple; - n_anon_20->m_address = base + offset; - n_anon_20->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_20); - - field_name = "anon_21"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_vocals, field_name)); - auto n_anon_21 = new NodeVector; - n_anon_21->m_field_name = field_name; - n_anon_21->m_df_type = DF_Type::musical_form_melodies; - n_anon_21->m_rdf_type = RDF_Type::Vector; - n_anon_21->m_node_type = NodeType::Vector; - n_anon_21->m_defined_in = "df.art.xml"; - n_anon_21->m_addornements = "v*"; - n_anon_21->m_address = base + offset; - n_anon_21->m_parent = p_node_parent; - n_anon_21->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_21); - - field_name = "anon_22"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_vocals, field_name)); - auto n_anon_22 = new NodeSimple; - n_anon_22->m_field_name = field_name; - n_anon_22->m_df_type = DF_Type::int32_t; - n_anon_22->m_rdf_type = RDF_Type::int32_t; - n_anon_22->m_node_type = NodeType::Simple; - n_anon_22->m_address = base + offset; - n_anon_22->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_22); - - field_name = "anon_23"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_vocals, field_name)); - auto n_anon_23 = new NodeSimple; - n_anon_23->m_field_name = field_name; - n_anon_23->m_df_type = DF_Type::int32_t; - n_anon_23->m_rdf_type = RDF_Type::int32_t; - n_anon_23->m_node_type = NodeType::Simple; - n_anon_23->m_address = base + offset; - n_anon_23->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_23); - -} -void node_from_musical_form_instruments(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "instrument_subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_instruments, field_name)); - auto n_instrument_subtype = new NodeSimple; - n_instrument_subtype->m_field_name = field_name; - n_instrument_subtype->m_df_type = DF_Type::int32_t; - n_instrument_subtype->m_rdf_type = RDF_Type::int32_t; - n_instrument_subtype->m_node_type = NodeType::Simple; - n_instrument_subtype->m_address = base + offset; - n_instrument_subtype->m_comment = "-1 = vocal"; - n_instrument_subtype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_instrument_subtype); - - field_name = "substitutions"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_instruments, field_name)); - auto n_substitutions = new NodeBitfield; - n_substitutions->m_field_name = field_name; - n_substitutions->m_df_type = DF_Type::musical_form_instruments__T_substitutions; - n_substitutions->m_rdf_type = RDF_Type::Bitfield; - n_substitutions->m_node_type = NodeType::Bitfield; - n_substitutions->m_address = base + offset; - n_substitutions->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_substitutions); - - field_name = "features"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_instruments, field_name)); - auto n_features = new NodeBitfield; - n_features->m_field_name = field_name; - n_features->m_df_type = DF_Type::musical_form_feature; - n_features->m_rdf_type = RDF_Type::Bitfield; - n_features->m_node_type = NodeType::Bitfield; - n_features->m_address = base + offset; - n_features->m_defined_in = "df.art.xml"; - n_features->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_features); - - field_name = "minimum_required"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_instruments, field_name)); - auto n_minimum_required = new NodeSimple; - n_minimum_required->m_field_name = field_name; - n_minimum_required->m_df_type = DF_Type::int32_t; - n_minimum_required->m_rdf_type = RDF_Type::int32_t; - n_minimum_required->m_node_type = NodeType::Simple; - n_minimum_required->m_address = base + offset; - n_minimum_required->m_comment = "tentative"; - n_minimum_required->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_minimum_required); - - field_name = "maximum_permitted"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_instruments, field_name)); - auto n_maximum_permitted = new NodeSimple; - n_maximum_permitted->m_field_name = field_name; - n_maximum_permitted->m_df_type = DF_Type::int32_t; - n_maximum_permitted->m_rdf_type = RDF_Type::int32_t; - n_maximum_permitted->m_node_type = NodeType::Simple; - n_maximum_permitted->m_address = base + offset; - n_maximum_permitted->m_comment = "tentative"; - n_maximum_permitted->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_maximum_permitted); - - field_name = "dynamic_style"; - auto n_dynamic_style = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_instruments, field_name)); - n_dynamic_style->m_field_name = field_name; - n_dynamic_style->m_df_type = DF_Type::musical_form_style; - n_dynamic_style->m_rdf_type = RDF_Type::Enum; - n_dynamic_style->m_node_type = NodeType::Enum; - n_dynamic_style->m_base_type = DF_Type::int32_t; - n_dynamic_style->m_enum_type = "musical_form_style"; - n_dynamic_style->m_address = base + offset; - n_dynamic_style->m_defined_in = "df.art.xml"; - n_dynamic_style->m_first_value = -1; - n_dynamic_style->m_last_value = 71; - n_dynamic_style->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dynamic_style); - - field_name = "overall_style"; - auto n_overall_style = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_instruments, field_name)); - n_overall_style->m_field_name = field_name; - n_overall_style->m_df_type = DF_Type::musical_form_style; - n_overall_style->m_rdf_type = RDF_Type::Enum; - n_overall_style->m_node_type = NodeType::Enum; - n_overall_style->m_base_type = DF_Type::int32_t; - n_overall_style->m_enum_type = "musical_form_style"; - n_overall_style->m_address = base + offset; - n_overall_style->m_defined_in = "df.art.xml"; - n_overall_style->m_first_value = -1; - n_overall_style->m_last_value = 71; - n_overall_style->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_overall_style); - -} -void node_from_musical_form_melodies(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "style"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_melodies, field_name)); - auto n_style = new NodeSimple; - n_style->m_field_name = field_name; - n_style->m_df_type = DF_Type::int32_t; - n_style->m_rdf_type = RDF_Type::int32_t; - n_style->m_node_type = NodeType::Simple; - n_style->m_address = base + offset; - n_style->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_style); - - field_name = "frequency"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_melodies, field_name)); - auto n_frequency = new NodeSimple; - n_frequency->m_field_name = field_name; - n_frequency->m_df_type = DF_Type::int32_t; - n_frequency->m_rdf_type = RDF_Type::int32_t; - n_frequency->m_node_type = NodeType::Simple; - n_frequency->m_address = base + offset; - n_frequency->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_frequency); - - field_name = "intervals"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_melodies, field_name)); - auto n_intervals = new NodeVector; - n_intervals->m_field_name = field_name; - n_intervals->m_df_type = DF_Type::musical_form_interval; - n_intervals->m_rdf_type = RDF_Type::Vector; - n_intervals->m_node_type = NodeType::Vector; - n_intervals->m_defined_in = "df.art.xml"; - n_intervals->m_addornements = "v*"; - n_intervals->m_address = base + offset; - n_intervals->m_parent = p_node_parent; - n_intervals->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_intervals); - - field_name = "features"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_melodies, field_name)); - auto n_features = new NodeBitfield; - n_features->m_field_name = field_name; - n_features->m_df_type = DF_Type::musical_form_feature; - n_features->m_rdf_type = RDF_Type::Bitfield; - n_features->m_node_type = NodeType::Bitfield; - n_features->m_address = base + offset; - n_features->m_defined_in = "df.art.xml"; - n_features->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_features); - -} -void node_from_scale__T_unk1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scale__T_unk1, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - auto n_anon_2 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scale__T_unk1, field_name)); - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::Stl_string; - n_anon_2->m_rdf_type = RDF_Type::Array; - n_anon_2->m_node_type = NodeType::Array; - n_anon_2->m_addornements = "[25"; - n_anon_2->m_array_size = 25; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - auto n_anon_3 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scale__T_unk1, field_name)); - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::Stl_string; - n_anon_3->m_rdf_type = RDF_Type::Array; - n_anon_3->m_node_type = NodeType::Array; - n_anon_3->m_addornements = "[25"; - n_anon_3->m_array_size = 25; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - auto n_anon_4 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scale__T_unk1, field_name)); - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::Array; - n_anon_4->m_node_type = NodeType::Array; - n_anon_4->m_addornements = "[25"; - n_anon_4->m_array_size = 25; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scale__T_unk1, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - -} -void node_from_scale(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scale, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scale, field_name)); - auto n_flags = new NodeSimple; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::int32_t; - n_flags->m_rdf_type = RDF_Type::int32_t; - n_flags->m_node_type = NodeType::Simple; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scale, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - auto n_anon_2 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scale, field_name)); - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::Array; - n_anon_2->m_node_type = NodeType::Array; - n_anon_2->m_addornements = "[25"; - n_anon_2->m_array_size = 25; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scale, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scale, field_name)); - auto n_anon_4 = new NodeVector; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::scale_sub1; - n_anon_4->m_rdf_type = RDF_Type::Vector; - n_anon_4->m_node_type = NodeType::Vector; - n_anon_4->m_defined_in = "df.art.xml"; - n_anon_4->m_addornements = "v*"; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - n_anon_4->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scale, field_name)); - auto n_anon_5 = new NodeVector; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::scale_sub2; - n_anon_5->m_rdf_type = RDF_Type::Vector; - n_anon_5->m_node_type = NodeType::Vector; - n_anon_5->m_defined_in = "df.art.xml"; - n_anon_5->m_addornements = "v*"; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - n_anon_5->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "unk1"; - auto n_unk1 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scale, field_name)); - n_unk1->m_field_name = field_name; - n_unk1->m_df_type = DF_Type::scale__T_unk1; - n_unk1->m_rdf_type = RDF_Type::Compound; - n_unk1->m_node_type = NodeType::Compound; - n_unk1->m_address = base + offset; - n_unk1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk1); - -} -void node_from_rhythm(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::rhythm, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::rhythm, field_name)); - auto n_anon_1 = new NodeVector; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::rhythm_sub1; - n_anon_1->m_rdf_type = RDF_Type::Vector; - n_anon_1->m_node_type = NodeType::Vector; - n_anon_1->m_defined_in = "df.art.xml"; - n_anon_1->m_addornements = "v*"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::rhythm, field_name)); - auto n_anon_2 = new NodeVector; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::rhythm_sub2; - n_anon_2->m_rdf_type = RDF_Type::Vector; - n_anon_2->m_node_type = NodeType::Vector; - n_anon_2->m_defined_in = "df.art.xml"; - n_anon_2->m_addornements = "v*"; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - n_anon_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::rhythm, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - -} -void node_from_rhythm_sub1__T_anon_1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::rhythm_sub1__T_anon_1, field_name)); - auto n_anon_1 = new NodePointer; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = get_real_subtype(base+offset, DF_Type::int32_t); - n_anon_1->m_rdf_type = RDF_Type::Pointer; - n_anon_1->m_node_type = NodeType::Pointer; - n_anon_1->m_addornements = "*"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "length"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::rhythm_sub1__T_anon_1, field_name)); - auto n_length = new NodeSimple; - n_length->m_field_name = field_name; - n_length->m_df_type = DF_Type::int32_t; - n_length->m_rdf_type = RDF_Type::int32_t; - n_length->m_node_type = NodeType::Simple; - n_length->m_address = base + offset; - n_length->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_length); - -} -void node_from_rhythm_sub1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::rhythm_sub1, field_name)); - auto n_name = new NodeSimple; - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Stl_string; - n_name->m_node_type = NodeType::Simple; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::rhythm_sub1, field_name)); - auto n_anon_1 = new NodeVector; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::rhythm_sub1__T_anon_1; - n_anon_1->m_rdf_type = RDF_Type::Vector; - n_anon_1->m_node_type = NodeType::Vector; - n_anon_1->m_addornements = "v*"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::rhythm_sub1, field_name)); - auto n_anon_2 = new NodePointer; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = get_real_subtype(base+offset, DF_Type::Stl_string); - n_anon_2->m_rdf_type = RDF_Type::Pointer; - n_anon_2->m_node_type = NodeType::Pointer; - n_anon_2->m_addornements = "*"; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - n_anon_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::rhythm_sub1, field_name)); - auto n_anon_3 = new NodePointer; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = get_real_subtype(base+offset, DF_Type::Stl_string); - n_anon_3->m_rdf_type = RDF_Type::Pointer; - n_anon_3->m_node_type = NodeType::Pointer; - n_anon_3->m_addornements = "*"; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - n_anon_3->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::rhythm_sub1, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - -} -void node_from_occupation(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::occupation, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "type"; - auto n_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::occupation, field_name)); - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::occupation_type; - n_type->m_rdf_type = RDF_Type::Enum; - n_type->m_node_type = NodeType::Enum; - n_type->m_base_type = DF_Type::int32_t; - n_type->m_enum_type = "occupation_type"; - n_type->m_address = base + offset; - n_type->m_defined_in = "df.art.xml"; - n_type->m_first_value = 0; - n_type->m_last_value = 6; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - - field_name = "histfig_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::occupation, field_name)); - auto n_histfig_id = new NodeSimple; - n_histfig_id->m_field_name = field_name; - n_histfig_id->m_df_type = DF_Type::int32_t; - n_histfig_id->m_rdf_type = RDF_Type::int32_t; - n_histfig_id->m_node_type = NodeType::Simple; - n_histfig_id->m_address = base + offset; - n_histfig_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig_id); - - field_name = "unit_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::occupation, field_name)); - auto n_unit_id = new NodeSimple; - n_unit_id->m_field_name = field_name; - n_unit_id->m_df_type = DF_Type::int32_t; - n_unit_id->m_rdf_type = RDF_Type::int32_t; - n_unit_id->m_node_type = NodeType::Simple; - n_unit_id->m_address = base + offset; - n_unit_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unit_id); - - field_name = "location_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::occupation, field_name)); - auto n_location_id = new NodeSimple; - n_location_id->m_field_name = field_name; - n_location_id->m_df_type = DF_Type::int32_t; - n_location_id->m_rdf_type = RDF_Type::int32_t; - n_location_id->m_node_type = NodeType::Simple; - n_location_id->m_address = base + offset; - n_location_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_location_id); - - field_name = "site_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::occupation, field_name)); - auto n_site_id = new NodeSimple; - n_site_id->m_field_name = field_name; - n_site_id->m_df_type = DF_Type::int32_t; - n_site_id->m_rdf_type = RDF_Type::int32_t; - n_site_id->m_node_type = NodeType::Simple; - n_site_id->m_address = base + offset; - n_site_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_id); - - field_name = "group_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::occupation, field_name)); - auto n_group_id = new NodeSimple; - n_group_id->m_field_name = field_name; - n_group_id->m_df_type = DF_Type::int32_t; - n_group_id->m_rdf_type = RDF_Type::int32_t; - n_group_id->m_node_type = NodeType::Simple; - n_group_id->m_address = base + offset; - n_group_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_group_id); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::occupation, field_name)); - auto n_anon_1 = new NodeVector; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::occupation_sub1; - n_anon_1->m_rdf_type = RDF_Type::Vector; - n_anon_1->m_node_type = NodeType::Vector; - n_anon_1->m_defined_in = "df.art.xml"; - n_anon_1->m_addornements = "v*"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::occupation, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::occupation, field_name)); - auto n_anon_3 = new NodePointer; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_anon_3->m_rdf_type = RDF_Type::Pointer; - n_anon_3->m_node_type = NodeType::Pointer; - n_anon_3->m_addornements = "*"; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::occupation, field_name)); - auto n_anon_4 = new NodePointer; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_anon_4->m_rdf_type = RDF_Type::Pointer; - n_anon_4->m_node_type = NodeType::Pointer; - n_anon_4->m_addornements = "*"; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - -} -void node_from_building_def(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "code"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def, field_name)); - auto n_code = new NodeSimple; - n_code->m_field_name = field_name; - n_code->m_df_type = DF_Type::Stl_string; - n_code->m_rdf_type = RDF_Type::Stl_string; - n_code->m_node_type = NodeType::Simple; - n_code->m_address = base + offset; - n_code->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_code); - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def, field_name)); - auto n_name = new NodeSimple; - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Stl_string; - n_name->m_node_type = NodeType::Simple; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "building_type"; - auto n_building_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def, field_name)); - n_building_type->m_field_name = field_name; - n_building_type->m_df_type = DF_Type::building_type; - n_building_type->m_rdf_type = RDF_Type::Enum; - n_building_type->m_node_type = NodeType::Enum; - n_building_type->m_base_type = DF_Type::int32_t; - n_building_type->m_enum_type = "building_type"; - n_building_type->m_address = base + offset; - n_building_type->m_defined_in = "df.buildings.xml"; - n_building_type->m_first_value = -1; - n_building_type->m_last_value = 53; - n_building_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_building_type); - - field_name = "building_subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def, field_name)); - auto n_building_subtype = new NodeSimple; - n_building_subtype->m_field_name = field_name; - n_building_subtype->m_df_type = DF_Type::int32_t; - n_building_subtype->m_rdf_type = RDF_Type::int32_t; - n_building_subtype->m_node_type = NodeType::Simple; - n_building_subtype->m_address = base + offset; - n_building_subtype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_building_subtype); - - field_name = "name_color"; - auto n_name_color = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def, field_name)); - n_name_color->m_field_name = field_name; - n_name_color->m_df_type = DF_Type::int16_t; - n_name_color->m_rdf_type = RDF_Type::Array; - n_name_color->m_node_type = NodeType::Array; - n_name_color->m_addornements = "[3"; - n_name_color->m_array_size = 3; - n_name_color->m_address = base + offset; - n_name_color->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name_color); - - field_name = "tile"; - auto n_tile = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def, field_name)); - n_tile->m_field_name = field_name; - n_tile->m_df_type = DF_Type::uint8_t; - n_tile->m_rdf_type = RDF_Type::Array; - n_tile->m_node_type = NodeType::Array; - n_tile->m_addornements = "[4[31[31"; - n_tile->m_array_size = 4; - n_tile->m_address = base + offset; - n_tile->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tile); - - field_name = "tile_color"; - auto n_tile_color = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def, field_name)); - n_tile_color->m_field_name = field_name; - n_tile_color->m_df_type = DF_Type::uint8_t; - n_tile_color->m_rdf_type = RDF_Type::Array; - n_tile_color->m_node_type = NodeType::Array; - n_tile_color->m_addornements = "[3[4[31[31"; - n_tile_color->m_array_size = 3; - n_tile_color->m_address = base + offset; - n_tile_color->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tile_color); - - field_name = "tile_block"; - auto n_tile_block = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def, field_name)); - n_tile_block->m_field_name = field_name; - n_tile_block->m_df_type = DF_Type::uint8_t; - n_tile_block->m_rdf_type = RDF_Type::Array; - n_tile_block->m_node_type = NodeType::Array; - n_tile_block->m_addornements = "[31[31"; - n_tile_block->m_array_size = 31; - n_tile_block->m_address = base + offset; - n_tile_block->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tile_block); - - field_name = "build_key"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def, field_name)); - auto n_build_key = new NodeSimple; - n_build_key->m_field_name = field_name; - n_build_key->m_df_type = DF_Type::Long; - n_build_key->m_rdf_type = RDF_Type::Long; - n_build_key->m_node_type = NodeType::Simple; - n_build_key->m_address = base + offset; - n_build_key->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_build_key); - - field_name = "needs_magma"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def, field_name)); - auto n_needs_magma = new NodeSimple; - n_needs_magma->m_field_name = field_name; - n_needs_magma->m_df_type = DF_Type::Bool; - n_needs_magma->m_rdf_type = RDF_Type::Bool; - n_needs_magma->m_node_type = NodeType::Simple; - n_needs_magma->m_address = base + offset; - n_needs_magma->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_needs_magma); - - field_name = "build_items"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def, field_name)); - auto n_build_items = new NodeVector; - n_build_items->m_field_name = field_name; - n_build_items->m_df_type = DF_Type::building_def_item; - n_build_items->m_rdf_type = RDF_Type::Vector; - n_build_items->m_node_type = NodeType::Vector; - n_build_items->m_defined_in = "df.building-raws.xml"; - n_build_items->m_addornements = "v*"; - n_build_items->m_address = base + offset; - n_build_items->m_parent = p_node_parent; - n_build_items->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_build_items); - - field_name = "dim_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def, field_name)); - auto n_dim_x = new NodeSimple; - n_dim_x->m_field_name = field_name; - n_dim_x->m_df_type = DF_Type::int32_t; - n_dim_x->m_rdf_type = RDF_Type::int32_t; - n_dim_x->m_node_type = NodeType::Simple; - n_dim_x->m_address = base + offset; - n_dim_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dim_x); - - field_name = "dim_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def, field_name)); - auto n_dim_y = new NodeSimple; - n_dim_y->m_field_name = field_name; - n_dim_y->m_df_type = DF_Type::int32_t; - n_dim_y->m_rdf_type = RDF_Type::int32_t; - n_dim_y->m_node_type = NodeType::Simple; - n_dim_y->m_address = base + offset; - n_dim_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dim_y); - - field_name = "workloc_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def, field_name)); - auto n_workloc_x = new NodeSimple; - n_workloc_x->m_field_name = field_name; - n_workloc_x->m_df_type = DF_Type::int32_t; - n_workloc_x->m_rdf_type = RDF_Type::int32_t; - n_workloc_x->m_node_type = NodeType::Simple; - n_workloc_x->m_address = base + offset; - n_workloc_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_workloc_x); - - field_name = "workloc_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def, field_name)); - auto n_workloc_y = new NodeSimple; - n_workloc_y->m_field_name = field_name; - n_workloc_y->m_df_type = DF_Type::int32_t; - n_workloc_y->m_rdf_type = RDF_Type::int32_t; - n_workloc_y->m_node_type = NodeType::Simple; - n_workloc_y->m_address = base + offset; - n_workloc_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_workloc_y); - - field_name = "build_labors"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def, field_name)); - auto n_build_labors = new NodeVector; - n_build_labors->m_field_name = field_name; - n_build_labors->m_df_type = DF_Type::unit_labor; - n_build_labors->m_rdf_type = RDF_Type::Vector; - n_build_labors->m_node_type = NodeType::Vector; - n_build_labors->m_enum_base = DF_Type::int32_t; - n_build_labors->m_defined_in = "df.skills.xml"; - n_build_labors->m_addornements = "v"; - n_build_labors->m_address = base + offset; - n_build_labors->m_parent = p_node_parent; - n_build_labors->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_build_labors); - - field_name = "labor_description"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def, field_name)); - auto n_labor_description = new NodeSimple; - n_labor_description->m_field_name = field_name; - n_labor_description->m_df_type = DF_Type::Stl_string; - n_labor_description->m_rdf_type = RDF_Type::Stl_string; - n_labor_description->m_node_type = NodeType::Simple; - n_labor_description->m_address = base + offset; - n_labor_description->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_labor_description); - - field_name = "build_stages"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def, field_name)); - auto n_build_stages = new NodeSimple; - n_build_stages->m_field_name = field_name; - n_build_stages->m_df_type = DF_Type::int32_t; - n_build_stages->m_rdf_type = RDF_Type::int32_t; - n_build_stages->m_node_type = NodeType::Simple; - n_build_stages->m_address = base + offset; - n_build_stages->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_build_stages); - -} -void node_from_building_def_item(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "item_type"; - auto n_item_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def_item, field_name)); - n_item_type->m_field_name = field_name; - n_item_type->m_df_type = DF_Type::item_type; - n_item_type->m_rdf_type = RDF_Type::Enum; - n_item_type->m_node_type = NodeType::Enum; - n_item_type->m_base_type = DF_Type::int16_t; - n_item_type->m_enum_type = "item_type"; - n_item_type->m_address = base + offset; - n_item_type->m_defined_in = "df.item-raws.xml"; - n_item_type->m_first_value = -1; - n_item_type->m_last_value = 90; - n_item_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_type); - - field_name = "item_subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def_item, field_name)); - auto n_item_subtype = new NodeSimple; - n_item_subtype->m_field_name = field_name; - n_item_subtype->m_df_type = DF_Type::int16_t; - n_item_subtype->m_rdf_type = RDF_Type::int16_t; - n_item_subtype->m_node_type = NodeType::Simple; - n_item_subtype->m_address = base + offset; - n_item_subtype->m_refers_to = "(item-subtype-target $$._parent.item_type $)"; - n_item_subtype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_subtype); - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def_item, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def_item, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int16_t; - n_mat_index->m_rdf_type = RDF_Type::int16_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "reaction_class"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def_item, field_name)); - auto n_reaction_class = new NodeSimple; - n_reaction_class->m_field_name = field_name; - n_reaction_class->m_df_type = DF_Type::Stl_string; - n_reaction_class->m_rdf_type = RDF_Type::Stl_string; - n_reaction_class->m_node_type = NodeType::Simple; - n_reaction_class->m_address = base + offset; - n_reaction_class->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_reaction_class); - - field_name = "has_material_reaction_product"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def_item, field_name)); - auto n_has_material_reaction_product = new NodeSimple; - n_has_material_reaction_product->m_field_name = field_name; - n_has_material_reaction_product->m_df_type = DF_Type::Stl_string; - n_has_material_reaction_product->m_rdf_type = RDF_Type::Stl_string; - n_has_material_reaction_product->m_node_type = NodeType::Simple; - n_has_material_reaction_product->m_address = base + offset; - n_has_material_reaction_product->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_has_material_reaction_product); - - field_name = "flags1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def_item, field_name)); - auto n_flags1 = new NodeBitfield; - n_flags1->m_field_name = field_name; - n_flags1->m_df_type = DF_Type::job_item_flags1; - n_flags1->m_rdf_type = RDF_Type::Bitfield; - n_flags1->m_node_type = NodeType::Bitfield; - n_flags1->m_address = base + offset; - n_flags1->m_defined_in = "df.jobs.xml"; - n_flags1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags1); - - field_name = "flags2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def_item, field_name)); - auto n_flags2 = new NodeBitfield; - n_flags2->m_field_name = field_name; - n_flags2->m_df_type = DF_Type::job_item_flags2; - n_flags2->m_rdf_type = RDF_Type::Bitfield; - n_flags2->m_node_type = NodeType::Bitfield; - n_flags2->m_address = base + offset; - n_flags2->m_defined_in = "df.jobs.xml"; - n_flags2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags2); - - field_name = "flags3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def_item, field_name)); - auto n_flags3 = new NodeBitfield; - n_flags3->m_field_name = field_name; - n_flags3->m_df_type = DF_Type::job_item_flags3; - n_flags3->m_rdf_type = RDF_Type::Bitfield; - n_flags3->m_node_type = NodeType::Bitfield; - n_flags3->m_address = base + offset; - n_flags3->m_defined_in = "df.jobs.xml"; - n_flags3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags3); - - field_name = "flags4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def_item, field_name)); - auto n_flags4 = new NodeSimple; - n_flags4->m_field_name = field_name; - n_flags4->m_df_type = DF_Type::uint32_t; - n_flags4->m_rdf_type = RDF_Type::uint32_t; - n_flags4->m_node_type = NodeType::Simple; - n_flags4->m_address = base + offset; - n_flags4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags4); - - field_name = "flags5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def_item, field_name)); - auto n_flags5 = new NodeSimple; - n_flags5->m_field_name = field_name; - n_flags5->m_df_type = DF_Type::uint32_t; - n_flags5->m_rdf_type = RDF_Type::uint32_t; - n_flags5->m_node_type = NodeType::Simple; - n_flags5->m_address = base + offset; - n_flags5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags5); - - field_name = "metal_ore"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def_item, field_name)); - auto n_metal_ore = new NodeSimple; - n_metal_ore->m_field_name = field_name; - n_metal_ore->m_df_type = DF_Type::int32_t; - n_metal_ore->m_rdf_type = RDF_Type::int32_t; - n_metal_ore->m_node_type = NodeType::Simple; - n_metal_ore->m_address = base + offset; - n_metal_ore->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_metal_ore); - - field_name = "min_dimension"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def_item, field_name)); - auto n_min_dimension = new NodeSimple; - n_min_dimension->m_field_name = field_name; - n_min_dimension->m_df_type = DF_Type::int32_t; - n_min_dimension->m_rdf_type = RDF_Type::int32_t; - n_min_dimension->m_node_type = NodeType::Simple; - n_min_dimension->m_address = base + offset; - n_min_dimension->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_min_dimension); - - field_name = "quantity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def_item, field_name)); - auto n_quantity = new NodeSimple; - n_quantity->m_field_name = field_name; - n_quantity->m_df_type = DF_Type::int32_t; - n_quantity->m_rdf_type = RDF_Type::int32_t; - n_quantity->m_node_type = NodeType::Simple; - n_quantity->m_address = base + offset; - n_quantity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_quantity); - - field_name = "has_tool_use"; - auto n_has_tool_use = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def_item, field_name)); - n_has_tool_use->m_field_name = field_name; - n_has_tool_use->m_df_type = DF_Type::tool_uses; - n_has_tool_use->m_rdf_type = RDF_Type::Enum; - n_has_tool_use->m_node_type = NodeType::Enum; - n_has_tool_use->m_base_type = DF_Type::int16_t; - n_has_tool_use->m_enum_type = "tool_uses"; - n_has_tool_use->m_address = base + offset; - n_has_tool_use->m_defined_in = "df.item-raws.xml"; - n_has_tool_use->m_first_value = -1; - n_has_tool_use->m_last_value = 22; - n_has_tool_use->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_has_tool_use); - - field_name = "item_str"; - auto n_item_str = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def_item, field_name)); - n_item_str->m_field_name = field_name; - n_item_str->m_df_type = DF_Type::Stl_string; - n_item_str->m_rdf_type = RDF_Type::Array; - n_item_str->m_node_type = NodeType::Array; - n_item_str->m_addornements = "[2"; - n_item_str->m_array_size = 2; - n_item_str->m_address = base + offset; - n_item_str->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_str); - - field_name = "material_str"; - auto n_material_str = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def_item, field_name)); - n_material_str->m_field_name = field_name; - n_material_str->m_df_type = DF_Type::Stl_string; - n_material_str->m_rdf_type = RDF_Type::Array; - n_material_str->m_node_type = NodeType::Array; - n_material_str->m_addornements = "[3"; - n_material_str->m_array_size = 3; - n_material_str->m_address = base + offset; - n_material_str->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_material_str); - - field_name = "metal_ore_str"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def_item, field_name)); - auto n_metal_ore_str = new NodeSimple; - n_metal_ore_str->m_field_name = field_name; - n_metal_ore_str->m_df_type = DF_Type::Stl_string; - n_metal_ore_str->m_rdf_type = RDF_Type::Stl_string; - n_metal_ore_str->m_node_type = NodeType::Simple; - n_metal_ore_str->m_address = base + offset; - n_metal_ore_str->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_metal_ore_str); - -} -void node_from_building_def_workshopst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::building_def; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_building_def(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_building_def_furnacest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::building_def; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_building_def(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_building__T_job_claim_suppress(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unit"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building__T_job_claim_suppress, field_name)); - auto n_unit = new NodePointer; - n_unit->m_field_name = field_name; - n_unit->m_df_type = get_real_subtype(base+offset, DF_Type::unit); - n_unit->m_rdf_type = RDF_Type::Pointer; - n_unit->m_node_type = NodeType::Pointer; - n_unit->m_addornements = "*"; - n_unit->m_address = base + offset; - n_unit->m_parent = p_node_parent; - n_unit->m_defined_in = "df.units.xml"; - n_unit->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unit); - - field_name = "timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building__T_job_claim_suppress, field_name)); - auto n_timer = new NodeSimple; - n_timer->m_field_name = field_name; - n_timer->m_df_type = DF_Type::int32_t; - n_timer->m_rdf_type = RDF_Type::int32_t; - n_timer->m_node_type = NodeType::Simple; - n_timer->m_address = base + offset; - n_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_timer); - -} -void node_from_building__T_activities(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "activity_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building__T_activities, field_name)); - auto n_activity_id = new NodeSimple; - n_activity_id->m_field_name = field_name; - n_activity_id->m_df_type = DF_Type::int32_t; - n_activity_id->m_rdf_type = RDF_Type::int32_t; - n_activity_id->m_node_type = NodeType::Simple; - n_activity_id->m_address = base + offset; - n_activity_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_activity_id); - - field_name = "event_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building__T_activities, field_name)); - auto n_event_id = new NodeSimple; - n_event_id->m_field_name = field_name; - n_event_id->m_df_type = DF_Type::int32_t; - n_event_id->m_rdf_type = RDF_Type::int32_t; - n_event_id->m_node_type = NodeType::Simple; - n_event_id->m_address = base + offset; - n_event_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_event_id); - -} -void node_from_building(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "x1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building, field_name)); - auto n_x1 = new NodeSimple; - n_x1->m_field_name = field_name; - n_x1->m_df_type = DF_Type::int32_t; - n_x1->m_rdf_type = RDF_Type::int32_t; - n_x1->m_node_type = NodeType::Simple; - n_x1->m_address = base + offset; - n_x1->m_comment = "top left"; - n_x1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_x1); - - field_name = "y1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building, field_name)); - auto n_y1 = new NodeSimple; - n_y1->m_field_name = field_name; - n_y1->m_df_type = DF_Type::int32_t; - n_y1->m_rdf_type = RDF_Type::int32_t; - n_y1->m_node_type = NodeType::Simple; - n_y1->m_address = base + offset; - n_y1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_y1); - - field_name = "centerx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building, field_name)); - auto n_centerx = new NodeSimple; - n_centerx->m_field_name = field_name; - n_centerx->m_df_type = DF_Type::int32_t; - n_centerx->m_rdf_type = RDF_Type::int32_t; - n_centerx->m_node_type = NodeType::Simple; - n_centerx->m_address = base + offset; - n_centerx->m_comment = "work location"; - n_centerx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_centerx); - - field_name = "x2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building, field_name)); - auto n_x2 = new NodeSimple; - n_x2->m_field_name = field_name; - n_x2->m_df_type = DF_Type::int32_t; - n_x2->m_rdf_type = RDF_Type::int32_t; - n_x2->m_node_type = NodeType::Simple; - n_x2->m_address = base + offset; - n_x2->m_comment = "bottom right"; - n_x2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_x2); - - field_name = "y2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building, field_name)); - auto n_y2 = new NodeSimple; - n_y2->m_field_name = field_name; - n_y2->m_df_type = DF_Type::int32_t; - n_y2->m_rdf_type = RDF_Type::int32_t; - n_y2->m_node_type = NodeType::Simple; - n_y2->m_address = base + offset; - n_y2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_y2); - - field_name = "centery"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building, field_name)); - auto n_centery = new NodeSimple; - n_centery->m_field_name = field_name; - n_centery->m_df_type = DF_Type::int32_t; - n_centery->m_rdf_type = RDF_Type::int32_t; - n_centery->m_node_type = NodeType::Simple; - n_centery->m_address = base + offset; - n_centery->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_centery); - - field_name = "z"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building, field_name)); - auto n_z = new NodeSimple; - n_z->m_field_name = field_name; - n_z->m_df_type = DF_Type::int32_t; - n_z->m_rdf_type = RDF_Type::int32_t; - n_z->m_node_type = NodeType::Simple; - n_z->m_address = base + offset; - n_z->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_z); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::building_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_defined_in = "df.buildings.xml"; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "room"; - auto n_room = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building, field_name)); - n_room->m_field_name = field_name; - n_room->m_df_type = DF_Type::building_extents; - n_room->m_rdf_type = RDF_Type::Struct; - n_room->m_node_type = NodeType::Compound; - n_room->m_address = base + offset; - n_room->m_defined_in = "df.buildings.xml"; - n_room->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_room); - - field_name = "age"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building, field_name)); - auto n_age = new NodeSimple; - n_age->m_field_name = field_name; - n_age->m_df_type = DF_Type::int32_t; - n_age->m_rdf_type = RDF_Type::int32_t; - n_age->m_node_type = NodeType::Simple; - n_age->m_address = base + offset; - n_age->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_age); - - field_name = "race"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building, field_name)); - auto n_race = new NodeSimple; - n_race->m_field_name = field_name; - n_race->m_df_type = DF_Type::int16_t; - n_race->m_rdf_type = RDF_Type::int16_t; - n_race->m_node_type = NodeType::Simple; - n_race->m_address = base + offset; - n_race->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_race); - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "jobs"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building, field_name)); - auto n_jobs = new NodeVector; - n_jobs->m_field_name = field_name; - n_jobs->m_df_type = DF_Type::job; - n_jobs->m_rdf_type = RDF_Type::Vector; - n_jobs->m_node_type = NodeType::Vector; - n_jobs->m_defined_in = "df.jobs.xml"; - n_jobs->m_addornements = "v*"; - n_jobs->m_address = base + offset; - n_jobs->m_parent = p_node_parent; - n_jobs->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_jobs); - - field_name = "specific_refs"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building, field_name)); - auto n_specific_refs = new NodeVector; - n_specific_refs->m_field_name = field_name; - n_specific_refs->m_df_type = DF_Type::specific_ref; - n_specific_refs->m_rdf_type = RDF_Type::Vector; - n_specific_refs->m_node_type = NodeType::Vector; - n_specific_refs->m_defined_in = "df.refs.xml"; - n_specific_refs->m_addornements = "v*"; - n_specific_refs->m_address = base + offset; - n_specific_refs->m_parent = p_node_parent; - n_specific_refs->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_specific_refs); - - field_name = "general_refs"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building, field_name)); - auto n_general_refs = new NodeVector; - n_general_refs->m_field_name = field_name; - n_general_refs->m_df_type = DF_Type::general_ref; - n_general_refs->m_rdf_type = RDF_Type::Vector; - n_general_refs->m_node_type = NodeType::Vector; - n_general_refs->m_defined_in = "df.refs.xml"; - n_general_refs->m_addornements = "v*"; - n_general_refs->m_address = base + offset; - n_general_refs->m_parent = p_node_parent; - n_general_refs->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_general_refs); - - field_name = "is_room"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building, field_name)); - auto n_is_room = new NodeSimple; - n_is_room->m_field_name = field_name; - n_is_room->m_df_type = DF_Type::Bool; - n_is_room->m_rdf_type = RDF_Type::Bool; - n_is_room->m_node_type = NodeType::Simple; - n_is_room->m_address = base + offset; - n_is_room->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_is_room); - - field_name = "children"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building, field_name)); - auto n_children = new NodeVector; - n_children->m_field_name = field_name; - n_children->m_df_type = DF_Type::building; - n_children->m_rdf_type = RDF_Type::Vector; - n_children->m_node_type = NodeType::Vector; - n_children->m_defined_in = "df.buildings.xml"; - n_children->m_addornements = "v*"; - n_children->m_address = base + offset; - n_children->m_comment = "other buildings within this room"; - n_children->m_parent = p_node_parent; - n_children->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_children); - - field_name = "parents"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building, field_name)); - auto n_parents = new NodeVector; - n_parents->m_field_name = field_name; - n_parents->m_df_type = DF_Type::building; - n_parents->m_rdf_type = RDF_Type::Vector; - n_parents->m_node_type = NodeType::Vector; - n_parents->m_defined_in = "df.buildings.xml"; - n_parents->m_addornements = "v*"; - n_parents->m_address = base + offset; - n_parents->m_comment = "rooms this building belongs to"; - n_parents->m_parent = p_node_parent; - n_parents->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_parents); - - field_name = "owner_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building, field_name)); - auto n_owner_id = new NodeSimple; - n_owner_id->m_field_name = field_name; - n_owner_id->m_df_type = DF_Type::int32_t; - n_owner_id->m_rdf_type = RDF_Type::int32_t; - n_owner_id->m_node_type = NodeType::Simple; - n_owner_id->m_address = base + offset; - n_owner_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_owner_id); - - field_name = "owner"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building, field_name)); - auto n_owner = new NodePointer; - n_owner->m_field_name = field_name; - n_owner->m_df_type = get_real_subtype(base+offset, DF_Type::unit); - n_owner->m_rdf_type = RDF_Type::Pointer; - n_owner->m_node_type = NodeType::Pointer; - n_owner->m_addornements = "*"; - n_owner->m_address = base + offset; - n_owner->m_parent = p_node_parent; - n_owner->m_defined_in = "df.units.xml"; - n_owner->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_owner); - - field_name = "job_claim_suppress"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building, field_name)); - auto n_job_claim_suppress = new NodeVector; - n_job_claim_suppress->m_field_name = field_name; - n_job_claim_suppress->m_df_type = DF_Type::building__T_job_claim_suppress; - n_job_claim_suppress->m_rdf_type = RDF_Type::Vector; - n_job_claim_suppress->m_node_type = NodeType::Vector; - n_job_claim_suppress->m_addornements = "v*"; - n_job_claim_suppress->m_address = base + offset; - n_job_claim_suppress->m_comment = "after Remv Cre, prevents unit from taking jobs at building"; - n_job_claim_suppress->m_parent = p_node_parent; - n_job_claim_suppress->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_job_claim_suppress); - - field_name = "name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building, field_name)); - auto n_name = new NodeSimple; - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Stl_string; - n_name->m_node_type = NodeType::Simple; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "activities"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building, field_name)); - auto n_activities = new NodeVector; - n_activities->m_field_name = field_name; - n_activities->m_df_type = DF_Type::building__T_activities; - n_activities->m_rdf_type = RDF_Type::Vector; - n_activities->m_node_type = NodeType::Vector; - n_activities->m_addornements = "v*"; - n_activities->m_address = base + offset; - n_activities->m_parent = p_node_parent; - n_activities->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_activities); - - field_name = "world_data_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building, field_name)); - auto n_world_data_id = new NodeSimple; - n_world_data_id->m_field_name = field_name; - n_world_data_id->m_df_type = DF_Type::int32_t; - n_world_data_id->m_rdf_type = RDF_Type::int32_t; - n_world_data_id->m_node_type = NodeType::Simple; - n_world_data_id->m_address = base + offset; - n_world_data_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_world_data_id); - - field_name = "world_data_subid"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building, field_name)); - auto n_world_data_subid = new NodeSimple; - n_world_data_subid->m_field_name = field_name; - n_world_data_subid->m_df_type = DF_Type::int32_t; - n_world_data_subid->m_rdf_type = RDF_Type::int32_t; - n_world_data_subid->m_node_type = NodeType::Simple; - n_world_data_subid->m_address = base + offset; - n_world_data_subid->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_world_data_subid); - - field_name = "unk_v40_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building, field_name)); - auto n_unk_v40_2 = new NodeSimple; - n_unk_v40_2->m_field_name = field_name; - n_unk_v40_2->m_df_type = DF_Type::int32_t; - n_unk_v40_2->m_rdf_type = RDF_Type::int32_t; - n_unk_v40_2->m_node_type = NodeType::Simple; - n_unk_v40_2->m_address = base + offset; - n_unk_v40_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_2); - - field_name = "site_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building, field_name)); - auto n_site_id = new NodeSimple; - n_site_id->m_field_name = field_name; - n_site_id->m_df_type = DF_Type::int32_t; - n_site_id->m_rdf_type = RDF_Type::int32_t; - n_site_id->m_node_type = NodeType::Simple; - n_site_id->m_address = base + offset; - n_site_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_id); - - field_name = "location_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building, field_name)); - auto n_location_id = new NodeSimple; - n_location_id->m_field_name = field_name; - n_location_id->m_df_type = DF_Type::int32_t; - n_location_id->m_rdf_type = RDF_Type::int32_t; - n_location_id->m_node_type = NodeType::Simple; - n_location_id->m_address = base + offset; - n_location_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_location_id); - - field_name = "unk_v40_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building, field_name)); - auto n_unk_v40_3 = new NodeSimple; - n_unk_v40_3->m_field_name = field_name; - n_unk_v40_3->m_df_type = DF_Type::int32_t; - n_unk_v40_3->m_rdf_type = RDF_Type::int32_t; - n_unk_v40_3->m_node_type = NodeType::Simple; - n_unk_v40_3->m_address = base + offset; - n_unk_v40_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_3); - -} -void node_from_stockpile_links(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "give_to_pile"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_links, field_name)); - auto n_give_to_pile = new NodeVector; - n_give_to_pile->m_field_name = field_name; - n_give_to_pile->m_df_type = DF_Type::building; - n_give_to_pile->m_rdf_type = RDF_Type::Vector; - n_give_to_pile->m_node_type = NodeType::Vector; - n_give_to_pile->m_defined_in = "df.buildings.xml"; - n_give_to_pile->m_addornements = "v*"; - n_give_to_pile->m_address = base + offset; - n_give_to_pile->m_parent = p_node_parent; - n_give_to_pile->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_give_to_pile); - - field_name = "take_from_pile"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_links, field_name)); - auto n_take_from_pile = new NodeVector; - n_take_from_pile->m_field_name = field_name; - n_take_from_pile->m_df_type = DF_Type::building; - n_take_from_pile->m_rdf_type = RDF_Type::Vector; - n_take_from_pile->m_node_type = NodeType::Vector; - n_take_from_pile->m_defined_in = "df.buildings.xml"; - n_take_from_pile->m_addornements = "v*"; - n_take_from_pile->m_address = base + offset; - n_take_from_pile->m_parent = p_node_parent; - n_take_from_pile->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_take_from_pile); - - field_name = "give_to_workshop"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_links, field_name)); - auto n_give_to_workshop = new NodeVector; - n_give_to_workshop->m_field_name = field_name; - n_give_to_workshop->m_df_type = DF_Type::building; - n_give_to_workshop->m_rdf_type = RDF_Type::Vector; - n_give_to_workshop->m_node_type = NodeType::Vector; - n_give_to_workshop->m_defined_in = "df.buildings.xml"; - n_give_to_workshop->m_addornements = "v*"; - n_give_to_workshop->m_address = base + offset; - n_give_to_workshop->m_parent = p_node_parent; - n_give_to_workshop->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_give_to_workshop); - - field_name = "take_from_workshop"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_links, field_name)); - auto n_take_from_workshop = new NodeVector; - n_take_from_workshop->m_field_name = field_name; - n_take_from_workshop->m_df_type = DF_Type::building; - n_take_from_workshop->m_rdf_type = RDF_Type::Vector; - n_take_from_workshop->m_node_type = NodeType::Vector; - n_take_from_workshop->m_defined_in = "df.buildings.xml"; - n_take_from_workshop->m_addornements = "v*"; - n_take_from_workshop->m_address = base + offset; - n_take_from_workshop->m_parent = p_node_parent; - n_take_from_workshop->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_take_from_workshop); - -} -void node_from_building_civzonest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::building; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_building(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "assigned_units"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_civzonest, field_name)); - auto n_assigned_units = new NodeVector; - n_assigned_units->m_field_name = field_name; - n_assigned_units->m_df_type = DF_Type::int32_t; - n_assigned_units->m_rdf_type = RDF_Type::Vector; - n_assigned_units->m_node_type = NodeType::Vector; - n_assigned_units->m_addornements = "v"; - n_assigned_units->m_address = base + offset; - n_assigned_units->m_parent = p_node_parent; - n_assigned_units->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_assigned_units); - - field_name = "assigned_items"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_civzonest, field_name)); - auto n_assigned_items = new NodeVector; - n_assigned_items->m_field_name = field_name; - n_assigned_items->m_df_type = DF_Type::int32_t; - n_assigned_items->m_rdf_type = RDF_Type::Vector; - n_assigned_items->m_node_type = NodeType::Vector; - n_assigned_items->m_addornements = "v"; - n_assigned_items->m_address = base + offset; - n_assigned_items->m_parent = p_node_parent; - n_assigned_items->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_assigned_items); - - field_name = "type"; - auto n_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_civzonest, field_name)); - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::civzone_type; - n_type->m_rdf_type = RDF_Type::Enum; - n_type->m_node_type = NodeType::Enum; - n_type->m_base_type = DF_Type::int32_t; - n_type->m_enum_type = "civzone_type"; - n_type->m_address = base + offset; - n_type->m_comment = "only saved as int16"; - n_type->m_defined_in = "df.buildings.xml"; - n_type->m_first_value = 0; - n_type->m_last_value = 68; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - - field_name = "zone_flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_civzonest, field_name)); - auto n_zone_flags = new NodeBitfield; - n_zone_flags->m_field_name = field_name; - n_zone_flags->m_df_type = DF_Type::building_civzonest__T_zone_flags; - n_zone_flags->m_rdf_type = RDF_Type::Bitfield; - n_zone_flags->m_node_type = NodeType::Bitfield; - n_zone_flags->m_address = base + offset; - n_zone_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_zone_flags); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_civzonest, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_civzonest, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "zone_num"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_civzonest, field_name)); - auto n_zone_num = new NodeSimple; - n_zone_num->m_field_name = field_name; - n_zone_num->m_df_type = DF_Type::int32_t; - n_zone_num->m_rdf_type = RDF_Type::int32_t; - n_zone_num->m_node_type = NodeType::Simple; - n_zone_num->m_address = base + offset; - n_zone_num->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_zone_num); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_civzonest, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "pit_flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_civzonest, field_name)); - auto n_pit_flags = new NodeBitfield; - n_pit_flags->m_field_name = field_name; - n_pit_flags->m_df_type = DF_Type::building_civzonest__T_pit_flags; - n_pit_flags->m_rdf_type = RDF_Type::Bitfield; - n_pit_flags->m_node_type = NodeType::Bitfield; - n_pit_flags->m_address = base + offset; - n_pit_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pit_flags); - - field_name = "fill_timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_civzonest, field_name)); - auto n_fill_timer = new NodeSimple; - n_fill_timer->m_field_name = field_name; - n_fill_timer->m_df_type = DF_Type::int16_t; - n_fill_timer->m_rdf_type = RDF_Type::int16_t; - n_fill_timer->m_node_type = NodeType::Simple; - n_fill_timer->m_address = base + offset; - n_fill_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_fill_timer); - - field_name = "hospital"; - auto n_hospital = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_civzonest, field_name)); - n_hospital->m_field_name = field_name; - n_hospital->m_df_type = DF_Type::hospital_supplies; - n_hospital->m_rdf_type = RDF_Type::Struct; - n_hospital->m_node_type = NodeType::Compound; - n_hospital->m_address = base + offset; - n_hospital->m_defined_in = "df.buildings.xml"; - n_hospital->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_hospital); - - field_name = "gather_flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_civzonest, field_name)); - auto n_gather_flags = new NodeBitfield; - n_gather_flags->m_field_name = field_name; - n_gather_flags->m_df_type = DF_Type::building_civzonest__T_gather_flags; - n_gather_flags->m_rdf_type = RDF_Type::Bitfield; - n_gather_flags->m_node_type = NodeType::Bitfield; - n_gather_flags->m_address = base + offset; - n_gather_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_gather_flags); - - field_name = "unk_v4014_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_civzonest, field_name)); - auto n_unk_v4014_1 = new NodeSimple; - n_unk_v4014_1->m_field_name = field_name; - n_unk_v4014_1->m_df_type = DF_Type::int32_t; - n_unk_v4014_1->m_rdf_type = RDF_Type::int32_t; - n_unk_v4014_1->m_node_type = NodeType::Simple; - n_unk_v4014_1->m_address = base + offset; - n_unk_v4014_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v4014_1); - - field_name = "unk_v43_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_civzonest, field_name)); - auto n_unk_v43_1 = new NodeVector; - n_unk_v43_1->m_field_name = field_name; - n_unk_v43_1->m_df_type = DF_Type::Void; - n_unk_v43_1->m_rdf_type = RDF_Type::Vector; - n_unk_v43_1->m_node_type = NodeType::Vector; - n_unk_v43_1->m_addornements = "v"; - n_unk_v43_1->m_address = base + offset; - n_unk_v43_1->m_parent = p_node_parent; - n_unk_v43_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_v43_1); - -} -void node_from_building_actual__T_contained_items(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "item"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_actual__T_contained_items, field_name)); - auto n_item = new NodePointer; - n_item->m_field_name = field_name; - n_item->m_df_type = get_real_subtype(base+offset, DF_Type::item); - n_item->m_rdf_type = RDF_Type::Pointer; - n_item->m_node_type = NodeType::Pointer; - n_item->m_addornements = "*"; - n_item->m_address = base + offset; - n_item->m_parent = p_node_parent; - n_item->m_defined_in = "df.items.xml"; - n_item->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_item); - - field_name = "use_mode"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_actual__T_contained_items, field_name)); - auto n_use_mode = new NodeSimple; - n_use_mode->m_field_name = field_name; - n_use_mode->m_df_type = DF_Type::int16_t; - n_use_mode->m_rdf_type = RDF_Type::int16_t; - n_use_mode->m_node_type = NodeType::Simple; - n_use_mode->m_address = base + offset; - n_use_mode->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_use_mode); - -} -void node_from_building_actual(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::building; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_building(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "construction_stage"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_actual, field_name)); - auto n_construction_stage = new NodeSimple; - n_construction_stage->m_field_name = field_name; - n_construction_stage->m_df_type = DF_Type::int16_t; - n_construction_stage->m_rdf_type = RDF_Type::int16_t; - n_construction_stage->m_node_type = NodeType::Simple; - n_construction_stage->m_address = base + offset; - n_construction_stage->m_comment = "0 not started, then 1 or 3 max depending on type"; - n_construction_stage->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_construction_stage); - - field_name = "contained_items"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_actual, field_name)); - auto n_contained_items = new NodeVector; - n_contained_items->m_field_name = field_name; - n_contained_items->m_df_type = DF_Type::building_actual__T_contained_items; - n_contained_items->m_rdf_type = RDF_Type::Vector; - n_contained_items->m_node_type = NodeType::Vector; - n_contained_items->m_addornements = "v*"; - n_contained_items->m_address = base + offset; - n_contained_items->m_parent = p_node_parent; - n_contained_items->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_contained_items); - - field_name = "design"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_actual, field_name)); - auto n_design = new NodePointer; - n_design->m_field_name = field_name; - n_design->m_df_type = get_real_subtype(base+offset, DF_Type::building_design); - n_design->m_rdf_type = RDF_Type::Pointer; - n_design->m_node_type = NodeType::Pointer; - n_design->m_addornements = "*"; - n_design->m_address = base + offset; - n_design->m_parent = p_node_parent; - n_design->m_defined_in = "df.buildings.xml"; - n_design->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_design); - -} -void node_from_building_design(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "architect"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_design, field_name)); - auto n_architect = new NodeSimple; - n_architect->m_field_name = field_name; - n_architect->m_df_type = DF_Type::int32_t; - n_architect->m_rdf_type = RDF_Type::int32_t; - n_architect->m_node_type = NodeType::Simple; - n_architect->m_address = base + offset; - n_architect->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_architect); - - field_name = "unk2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_design, field_name)); - auto n_unk2 = new NodeSimple; - n_unk2->m_field_name = field_name; - n_unk2->m_df_type = DF_Type::int32_t; - n_unk2->m_rdf_type = RDF_Type::int32_t; - n_unk2->m_node_type = NodeType::Simple; - n_unk2->m_address = base + offset; - n_unk2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk2); - - field_name = "design_skill"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_design, field_name)); - auto n_design_skill = new NodeSimple; - n_design_skill->m_field_name = field_name; - n_design_skill->m_df_type = DF_Type::int16_t; - n_design_skill->m_rdf_type = RDF_Type::int16_t; - n_design_skill->m_node_type = NodeType::Simple; - n_design_skill->m_address = base + offset; - n_design_skill->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_design_skill); - - field_name = "builder1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_design, field_name)); - auto n_builder1 = new NodeSimple; - n_builder1->m_field_name = field_name; - n_builder1->m_df_type = DF_Type::int32_t; - n_builder1->m_rdf_type = RDF_Type::int32_t; - n_builder1->m_node_type = NodeType::Simple; - n_builder1->m_address = base + offset; - n_builder1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_builder1); - - field_name = "unk5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_design, field_name)); - auto n_unk5 = new NodeSimple; - n_unk5->m_field_name = field_name; - n_unk5->m_df_type = DF_Type::int32_t; - n_unk5->m_rdf_type = RDF_Type::int32_t; - n_unk5->m_node_type = NodeType::Simple; - n_unk5->m_address = base + offset; - n_unk5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk5); - - field_name = "build_skill"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_design, field_name)); - auto n_build_skill = new NodeSimple; - n_build_skill->m_field_name = field_name; - n_build_skill->m_df_type = DF_Type::int16_t; - n_build_skill->m_rdf_type = RDF_Type::int16_t; - n_build_skill->m_node_type = NodeType::Simple; - n_build_skill->m_address = base + offset; - n_build_skill->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_build_skill); - - field_name = "build_timer1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_design, field_name)); - auto n_build_timer1 = new NodeSimple; - n_build_timer1->m_field_name = field_name; - n_build_timer1->m_df_type = DF_Type::int16_t; - n_build_timer1->m_rdf_type = RDF_Type::int16_t; - n_build_timer1->m_node_type = NodeType::Simple; - n_build_timer1->m_address = base + offset; - n_build_timer1->m_comment = "+1 per 10 frames while building"; - n_build_timer1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_build_timer1); - - field_name = "builder2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_design, field_name)); - auto n_builder2 = new NodeSimple; - n_builder2->m_field_name = field_name; - n_builder2->m_df_type = DF_Type::int32_t; - n_builder2->m_rdf_type = RDF_Type::int32_t; - n_builder2->m_node_type = NodeType::Simple; - n_builder2->m_address = base + offset; - n_builder2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_builder2); - - field_name = "build_timer2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_design, field_name)); - auto n_build_timer2 = new NodeSimple; - n_build_timer2->m_field_name = field_name; - n_build_timer2->m_df_type = DF_Type::int16_t; - n_build_timer2->m_rdf_type = RDF_Type::int16_t; - n_build_timer2->m_node_type = NodeType::Simple; - n_build_timer2->m_address = base + offset; - n_build_timer2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_build_timer2); - - field_name = "quality1"; - auto n_quality1 = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_design, field_name)); - n_quality1->m_field_name = field_name; - n_quality1->m_df_type = DF_Type::item_quality; - n_quality1->m_rdf_type = RDF_Type::Enum; - n_quality1->m_node_type = NodeType::Enum; - n_quality1->m_base_type = DF_Type::int16_t; - n_quality1->m_enum_type = "item_quality"; - n_quality1->m_address = base + offset; - n_quality1->m_defined_in = "df.items.xml"; - n_quality1->m_first_value = 0; - n_quality1->m_last_value = 6; - n_quality1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_quality1); - - field_name = "quality2"; - auto n_quality2 = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_design, field_name)); - n_quality2->m_field_name = field_name; - n_quality2->m_df_type = DF_Type::item_quality; - n_quality2->m_rdf_type = RDF_Type::Enum; - n_quality2->m_node_type = NodeType::Enum; - n_quality2->m_base_type = DF_Type::int16_t; - n_quality2->m_enum_type = "item_quality"; - n_quality2->m_address = base + offset; - n_quality2->m_defined_in = "df.items.xml"; - n_quality2->m_first_value = 0; - n_quality2->m_last_value = 6; - n_quality2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_quality2); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_design, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::building_design__T_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "hitpoints"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_design, field_name)); - auto n_hitpoints = new NodeSimple; - n_hitpoints->m_field_name = field_name; - n_hitpoints->m_df_type = DF_Type::int32_t; - n_hitpoints->m_rdf_type = RDF_Type::int32_t; - n_hitpoints->m_node_type = NodeType::Simple; - n_hitpoints->m_address = base + offset; - n_hitpoints->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_hitpoints); - - field_name = "max_hitpoints"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_design, field_name)); - auto n_max_hitpoints = new NodeSimple; - n_max_hitpoints->m_field_name = field_name; - n_max_hitpoints->m_df_type = DF_Type::int32_t; - n_max_hitpoints->m_rdf_type = RDF_Type::int32_t; - n_max_hitpoints->m_node_type = NodeType::Simple; - n_max_hitpoints->m_address = base + offset; - n_max_hitpoints->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_max_hitpoints); - -} -void node_from_workshop_profile(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "permitted_workers"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::workshop_profile, field_name)); - auto n_permitted_workers = new NodeVector; - n_permitted_workers->m_field_name = field_name; - n_permitted_workers->m_df_type = DF_Type::int32_t; - n_permitted_workers->m_rdf_type = RDF_Type::Vector; - n_permitted_workers->m_node_type = NodeType::Vector; - n_permitted_workers->m_addornements = "v"; - n_permitted_workers->m_address = base + offset; - n_permitted_workers->m_parent = p_node_parent; - n_permitted_workers->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_permitted_workers); - - field_name = "min_level"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::workshop_profile, field_name)); - auto n_min_level = new NodeSimple; - n_min_level->m_field_name = field_name; - n_min_level->m_df_type = DF_Type::int32_t; - n_min_level->m_rdf_type = RDF_Type::int32_t; - n_min_level->m_node_type = NodeType::Simple; - n_min_level->m_address = base + offset; - n_min_level->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_min_level); - - field_name = "max_level"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::workshop_profile, field_name)); - auto n_max_level = new NodeSimple; - n_max_level->m_field_name = field_name; - n_max_level->m_df_type = DF_Type::int32_t; - n_max_level->m_rdf_type = RDF_Type::int32_t; - n_max_level->m_node_type = NodeType::Simple; - n_max_level->m_address = base + offset; - n_max_level->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_max_level); - - field_name = "links"; - auto n_links = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::workshop_profile, field_name)); - n_links->m_field_name = field_name; - n_links->m_df_type = DF_Type::stockpile_links; - n_links->m_rdf_type = RDF_Type::Struct; - n_links->m_node_type = NodeType::Compound; - n_links->m_address = base + offset; - n_links->m_defined_in = "df.buildings.xml"; - n_links->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_links); - - field_name = "max_general_orders"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::workshop_profile, field_name)); - auto n_max_general_orders = new NodeSimple; - n_max_general_orders->m_field_name = field_name; - n_max_general_orders->m_df_type = DF_Type::int32_t; - n_max_general_orders->m_rdf_type = RDF_Type::int32_t; - n_max_general_orders->m_node_type = NodeType::Simple; - n_max_general_orders->m_address = base + offset; - n_max_general_orders->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_max_general_orders); - - field_name = "block_general_orders"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::workshop_profile, field_name)); - auto n_block_general_orders = new NodeSimple; - n_block_general_orders->m_field_name = field_name; - n_block_general_orders->m_df_type = DF_Type::Bool; - n_block_general_orders->m_rdf_type = RDF_Type::Bool; - n_block_general_orders->m_node_type = NodeType::Simple; - n_block_general_orders->m_address = base + offset; - n_block_general_orders->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_block_general_orders); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::workshop_profile, field_name)); - auto n_anon_1= new NodePadding; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::Padding; - n_anon_1->m_rdf_type = RDF_Type::Padding; - n_anon_1->m_node_type = NodeType::Padding; - n_anon_1->m_address = base + offset; - n_anon_1->m_size = 3; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "blocked_labors"; - auto n_blocked_labors = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::workshop_profile, field_name)); - n_blocked_labors->m_field_name = field_name; - n_blocked_labors->m_df_type = DF_Type::Bool; - n_blocked_labors->m_rdf_type = RDF_Type::Array; - n_blocked_labors->m_node_type = NodeType::Array; - n_blocked_labors->m_index_enum = DF_Type::unit_labor; - n_blocked_labors->m_addornements = "[94"; - n_blocked_labors->m_array_size = 94; - n_blocked_labors->m_address = base + offset; - n_blocked_labors->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_blocked_labors); - -} -void node_from_building_furnacest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::building_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_building_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "melt_remainder"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_furnacest, field_name)); - auto n_melt_remainder = new NodeVector; - n_melt_remainder->m_field_name = field_name; - n_melt_remainder->m_df_type = DF_Type::int32_t; - n_melt_remainder->m_rdf_type = RDF_Type::Vector; - n_melt_remainder->m_node_type = NodeType::Vector; - n_melt_remainder->m_addornements = "v"; - n_melt_remainder->m_address = base + offset; - n_melt_remainder->m_refers_to = "(material-by-id 0 $)"; - n_melt_remainder->m_parent = p_node_parent; - n_melt_remainder->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_melt_remainder); - - field_name = "unk_108"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_furnacest, field_name)); - auto n_unk_108 = new NodeSimple; - n_unk_108->m_field_name = field_name; - n_unk_108->m_df_type = DF_Type::int16_t; - n_unk_108->m_rdf_type = RDF_Type::int16_t; - n_unk_108->m_node_type = NodeType::Simple; - n_unk_108->m_address = base + offset; - n_unk_108->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_108); - - field_name = "type"; - auto n_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_furnacest, field_name)); - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::furnace_type; - n_type->m_rdf_type = RDF_Type::Enum; - n_type->m_node_type = NodeType::Enum; - n_type->m_base_type = DF_Type::int16_t; - n_type->m_enum_type = "furnace_type"; - n_type->m_address = base + offset; - n_type->m_defined_in = "df.buildings.xml"; - n_type->m_first_value = 0; - n_type->m_last_value = 7; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - - field_name = "profile"; - auto n_profile = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_furnacest, field_name)); - n_profile->m_field_name = field_name; - n_profile->m_df_type = DF_Type::workshop_profile; - n_profile->m_rdf_type = RDF_Type::Struct; - n_profile->m_node_type = NodeType::Compound; - n_profile->m_address = base + offset; - n_profile->m_defined_in = "df.buildings.xml"; - n_profile->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_profile); - - field_name = "custom_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_furnacest, field_name)); - auto n_custom_type = new NodeSimple; - n_custom_type->m_field_name = field_name; - n_custom_type->m_df_type = DF_Type::int32_t; - n_custom_type->m_rdf_type = RDF_Type::int32_t; - n_custom_type->m_node_type = NodeType::Simple; - n_custom_type->m_address = base + offset; - n_custom_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_custom_type); - -} -void node_from_building_workshopst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::building_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_building_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "type"; - auto n_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_workshopst, field_name)); - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::workshop_type; - n_type->m_rdf_type = RDF_Type::Enum; - n_type->m_node_type = NodeType::Enum; - n_type->m_base_type = DF_Type::int16_t; - n_type->m_enum_type = "workshop_type"; - n_type->m_address = base + offset; - n_type->m_defined_in = "df.buildings.xml"; - n_type->m_first_value = 0; - n_type->m_last_value = 24; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - - field_name = "profile"; - auto n_profile = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_workshopst, field_name)); - n_profile->m_field_name = field_name; - n_profile->m_df_type = DF_Type::workshop_profile; - n_profile->m_rdf_type = RDF_Type::Struct; - n_profile->m_node_type = NodeType::Compound; - n_profile->m_address = base + offset; - n_profile->m_defined_in = "df.buildings.xml"; - n_profile->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_profile); - - field_name = "machine"; - auto n_machine = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_workshopst, field_name)); - n_machine->m_field_name = field_name; - n_machine->m_df_type = DF_Type::machine_info; - n_machine->m_rdf_type = RDF_Type::Struct; - n_machine->m_node_type = NodeType::Compound; - n_machine->m_address = base + offset; - n_machine->m_defined_in = "df.machines.xml"; - n_machine->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_machine); - - field_name = "custom_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_workshopst, field_name)); - auto n_custom_type = new NodeSimple; - n_custom_type->m_field_name = field_name; - n_custom_type->m_df_type = DF_Type::int32_t; - n_custom_type->m_rdf_type = RDF_Type::int32_t; - n_custom_type->m_node_type = NodeType::Simple; - n_custom_type->m_address = base + offset; - n_custom_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_custom_type); - -} -void node_from_building_animaltrapst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::building_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_building_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "bait_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_animaltrapst, field_name)); - auto n_bait_type = new NodeSimple; - n_bait_type->m_field_name = field_name; - n_bait_type->m_df_type = DF_Type::int16_t; - n_bait_type->m_rdf_type = RDF_Type::int16_t; - n_bait_type->m_node_type = NodeType::Simple; - n_bait_type->m_address = base + offset; - n_bait_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_bait_type); - - field_name = "fill_timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_animaltrapst, field_name)); - auto n_fill_timer = new NodeSimple; - n_fill_timer->m_field_name = field_name; - n_fill_timer->m_df_type = DF_Type::int16_t; - n_fill_timer->m_rdf_type = RDF_Type::int16_t; - n_fill_timer->m_node_type = NodeType::Simple; - n_fill_timer->m_address = base + offset; - n_fill_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_fill_timer); - -} -void node_from_building_archerytargetst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::building_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_building_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "archery_direction"; - auto n_archery_direction = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_archerytargetst, field_name)); - n_archery_direction->m_field_name = field_name; - n_archery_direction->m_df_type = DF_Type::building_archerytargetst__T_archery_direction; - n_archery_direction->m_rdf_type = RDF_Type::Enum; - n_archery_direction->m_node_type = NodeType::Enum; - n_archery_direction->m_base_type = DF_Type::int8_t; - n_archery_direction->m_enum_type = "building_archerytargetst::T_archery_direction"; - n_archery_direction->m_address = base + offset; - n_archery_direction->m_first_value = 0; - n_archery_direction->m_last_value = 3; - n_archery_direction->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_archery_direction); - -} -void node_from_building_armorstandst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::building_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_building_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk_c0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_armorstandst, field_name)); - auto n_unk_c0 = new NodeSimple; - n_unk_c0->m_field_name = field_name; - n_unk_c0->m_df_type = DF_Type::int16_t; - n_unk_c0->m_rdf_type = RDF_Type::int16_t; - n_unk_c0->m_node_type = NodeType::Simple; - n_unk_c0->m_address = base + offset; - n_unk_c0->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_c0); - - field_name = "squads"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_armorstandst, field_name)); - auto n_squads = new NodeVector; - n_squads->m_field_name = field_name; - n_squads->m_df_type = DF_Type::building_squad_use; - n_squads->m_rdf_type = RDF_Type::Vector; - n_squads->m_node_type = NodeType::Vector; - n_squads->m_defined_in = "df.buildings.xml"; - n_squads->m_addornements = "v*"; - n_squads->m_address = base + offset; - n_squads->m_parent = p_node_parent; - n_squads->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_squads); - - field_name = "specific_squad"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_armorstandst, field_name)); - auto n_specific_squad = new NodeSimple; - n_specific_squad->m_field_name = field_name; - n_specific_squad->m_df_type = DF_Type::int32_t; - n_specific_squad->m_rdf_type = RDF_Type::int32_t; - n_specific_squad->m_node_type = NodeType::Simple; - n_specific_squad->m_address = base + offset; - n_specific_squad->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_specific_squad); - - field_name = "specific_position"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_armorstandst, field_name)); - auto n_specific_position = new NodeSimple; - n_specific_position->m_field_name = field_name; - n_specific_position->m_df_type = DF_Type::int32_t; - n_specific_position->m_rdf_type = RDF_Type::int32_t; - n_specific_position->m_node_type = NodeType::Simple; - n_specific_position->m_address = base + offset; - n_specific_position->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_specific_position); - -} -void node_from_building_bars_verticalst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::building_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_building_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "gate_flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_bars_verticalst, field_name)); - auto n_gate_flags = new NodeBitfield; - n_gate_flags->m_field_name = field_name; - n_gate_flags->m_df_type = DF_Type::gate_flags; - n_gate_flags->m_rdf_type = RDF_Type::Bitfield; - n_gate_flags->m_node_type = NodeType::Bitfield; - n_gate_flags->m_address = base + offset; - n_gate_flags->m_defined_in = "df.buildings.xml"; - n_gate_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_gate_flags); - - field_name = "timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_bars_verticalst, field_name)); - auto n_timer = new NodeSimple; - n_timer->m_field_name = field_name; - n_timer->m_df_type = DF_Type::int8_t; - n_timer->m_rdf_type = RDF_Type::int8_t; - n_timer->m_node_type = NodeType::Simple; - n_timer->m_address = base + offset; - n_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_timer); - -} -void node_from_building_bars_floorst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::building_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_building_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "gate_flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_bars_floorst, field_name)); - auto n_gate_flags = new NodeBitfield; - n_gate_flags->m_field_name = field_name; - n_gate_flags->m_df_type = DF_Type::gate_flags; - n_gate_flags->m_rdf_type = RDF_Type::Bitfield; - n_gate_flags->m_node_type = NodeType::Bitfield; - n_gate_flags->m_address = base + offset; - n_gate_flags->m_defined_in = "df.buildings.xml"; - n_gate_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_gate_flags); - - field_name = "timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_bars_floorst, field_name)); - auto n_timer = new NodeSimple; - n_timer->m_field_name = field_name; - n_timer->m_df_type = DF_Type::int8_t; - n_timer->m_rdf_type = RDF_Type::int8_t; - n_timer->m_node_type = NodeType::Simple; - n_timer->m_address = base + offset; - n_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_timer); - -} -void node_from_building_bedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::building_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_building_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "bed_flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_bedst, field_name)); - auto n_bed_flags = new NodeBitfield; - n_bed_flags->m_field_name = field_name; - n_bed_flags->m_df_type = DF_Type::building_bedst__T_bed_flags; - n_bed_flags->m_rdf_type = RDF_Type::Bitfield; - n_bed_flags->m_node_type = NodeType::Bitfield; - n_bed_flags->m_address = base + offset; - n_bed_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_bed_flags); - - field_name = "squads"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_bedst, field_name)); - auto n_squads = new NodeVector; - n_squads->m_field_name = field_name; - n_squads->m_df_type = DF_Type::building_squad_use; - n_squads->m_rdf_type = RDF_Type::Vector; - n_squads->m_node_type = NodeType::Vector; - n_squads->m_defined_in = "df.buildings.xml"; - n_squads->m_addornements = "v*"; - n_squads->m_address = base + offset; - n_squads->m_parent = p_node_parent; - n_squads->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_squads); - - field_name = "specific_squad"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_bedst, field_name)); - auto n_specific_squad = new NodeSimple; - n_specific_squad->m_field_name = field_name; - n_specific_squad->m_df_type = DF_Type::int32_t; - n_specific_squad->m_rdf_type = RDF_Type::int32_t; - n_specific_squad->m_node_type = NodeType::Simple; - n_specific_squad->m_address = base + offset; - n_specific_squad->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_specific_squad); - - field_name = "specific_position"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_bedst, field_name)); - auto n_specific_position = new NodeSimple; - n_specific_position->m_field_name = field_name; - n_specific_position->m_df_type = DF_Type::int32_t; - n_specific_position->m_rdf_type = RDF_Type::int32_t; - n_specific_position->m_node_type = NodeType::Simple; - n_specific_position->m_address = base + offset; - n_specific_position->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_specific_position); - - field_name = "users"; - auto n_users = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_bedst, field_name)); - n_users->m_field_name = field_name; - n_users->m_df_type = DF_Type::building_users; - n_users->m_rdf_type = RDF_Type::Struct; - n_users->m_node_type = NodeType::Compound; - n_users->m_address = base + offset; - n_users->m_defined_in = "df.buildings.xml"; - n_users->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_users); - -} -void node_from_building_bookcasest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::building_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_building_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_building_boxst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::building_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_building_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_boxst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int16_t; - n_anon_1->m_rdf_type = RDF_Type::int16_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "squads"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_boxst, field_name)); - auto n_squads = new NodeVector; - n_squads->m_field_name = field_name; - n_squads->m_df_type = DF_Type::building_squad_use; - n_squads->m_rdf_type = RDF_Type::Vector; - n_squads->m_node_type = NodeType::Vector; - n_squads->m_defined_in = "df.buildings.xml"; - n_squads->m_addornements = "v*"; - n_squads->m_address = base + offset; - n_squads->m_parent = p_node_parent; - n_squads->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_squads); - - field_name = "specific_squad"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_boxst, field_name)); - auto n_specific_squad = new NodeSimple; - n_specific_squad->m_field_name = field_name; - n_specific_squad->m_df_type = DF_Type::int32_t; - n_specific_squad->m_rdf_type = RDF_Type::int32_t; - n_specific_squad->m_node_type = NodeType::Simple; - n_specific_squad->m_address = base + offset; - n_specific_squad->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_specific_squad); - - field_name = "specific_position"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_boxst, field_name)); - auto n_specific_position = new NodeSimple; - n_specific_position->m_field_name = field_name; - n_specific_position->m_df_type = DF_Type::int32_t; - n_specific_position->m_rdf_type = RDF_Type::int32_t; - n_specific_position->m_node_type = NodeType::Simple; - n_specific_position->m_address = base + offset; - n_specific_position->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_specific_position); - -} -void node_from_building_bridgest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::building_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_building_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "gate_flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_bridgest, field_name)); - auto n_gate_flags = new NodeBitfield; - n_gate_flags->m_field_name = field_name; - n_gate_flags->m_df_type = DF_Type::gate_flags; - n_gate_flags->m_rdf_type = RDF_Type::Bitfield; - n_gate_flags->m_node_type = NodeType::Bitfield; - n_gate_flags->m_address = base + offset; - n_gate_flags->m_defined_in = "df.buildings.xml"; - n_gate_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_gate_flags); - - field_name = "timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_bridgest, field_name)); - auto n_timer = new NodeSimple; - n_timer->m_field_name = field_name; - n_timer->m_df_type = DF_Type::int8_t; - n_timer->m_rdf_type = RDF_Type::int8_t; - n_timer->m_node_type = NodeType::Simple; - n_timer->m_address = base + offset; - n_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_timer); - - field_name = "direction"; - auto n_direction = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_bridgest, field_name)); - n_direction->m_field_name = field_name; - n_direction->m_df_type = DF_Type::building_bridgest__T_direction; - n_direction->m_rdf_type = RDF_Type::Enum; - n_direction->m_node_type = NodeType::Enum; - n_direction->m_base_type = DF_Type::int8_t; - n_direction->m_enum_type = "building_bridgest::T_direction"; - n_direction->m_address = base + offset; - n_direction->m_first_value = -1; - n_direction->m_last_value = 3; - n_direction->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_direction); - - field_name = "material_amount"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_bridgest, field_name)); - auto n_material_amount = new NodeSimple; - n_material_amount->m_field_name = field_name; - n_material_amount->m_df_type = DF_Type::int32_t; - n_material_amount->m_rdf_type = RDF_Type::int32_t; - n_material_amount->m_node_type = NodeType::Simple; - n_material_amount->m_address = base + offset; - n_material_amount->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_material_amount); - -} -void node_from_building_cabinetst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::building_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_building_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_cabinetst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int16_t; - n_anon_1->m_rdf_type = RDF_Type::int16_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "squads"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_cabinetst, field_name)); - auto n_squads = new NodeVector; - n_squads->m_field_name = field_name; - n_squads->m_df_type = DF_Type::building_squad_use; - n_squads->m_rdf_type = RDF_Type::Vector; - n_squads->m_node_type = NodeType::Vector; - n_squads->m_defined_in = "df.buildings.xml"; - n_squads->m_addornements = "v*"; - n_squads->m_address = base + offset; - n_squads->m_parent = p_node_parent; - n_squads->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_squads); - - field_name = "specific_squad"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_cabinetst, field_name)); - auto n_specific_squad = new NodeSimple; - n_specific_squad->m_field_name = field_name; - n_specific_squad->m_df_type = DF_Type::int32_t; - n_specific_squad->m_rdf_type = RDF_Type::int32_t; - n_specific_squad->m_node_type = NodeType::Simple; - n_specific_squad->m_address = base + offset; - n_specific_squad->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_specific_squad); - - field_name = "specific_position"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_cabinetst, field_name)); - auto n_specific_position = new NodeSimple; - n_specific_position->m_field_name = field_name; - n_specific_position->m_df_type = DF_Type::int32_t; - n_specific_position->m_rdf_type = RDF_Type::int32_t; - n_specific_position->m_node_type = NodeType::Simple; - n_specific_position->m_address = base + offset; - n_specific_position->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_specific_position); - -} -void node_from_building_cagest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::building_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_building_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "assigned_units"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_cagest, field_name)); - auto n_assigned_units = new NodeVector; - n_assigned_units->m_field_name = field_name; - n_assigned_units->m_df_type = DF_Type::int32_t; - n_assigned_units->m_rdf_type = RDF_Type::Vector; - n_assigned_units->m_node_type = NodeType::Vector; - n_assigned_units->m_addornements = "v"; - n_assigned_units->m_address = base + offset; - n_assigned_units->m_parent = p_node_parent; - n_assigned_units->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_assigned_units); - - field_name = "assigned_items"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_cagest, field_name)); - auto n_assigned_items = new NodeVector; - n_assigned_items->m_field_name = field_name; - n_assigned_items->m_df_type = DF_Type::int32_t; - n_assigned_items->m_rdf_type = RDF_Type::Vector; - n_assigned_items->m_node_type = NodeType::Vector; - n_assigned_items->m_addornements = "v"; - n_assigned_items->m_address = base + offset; - n_assigned_items->m_parent = p_node_parent; - n_assigned_items->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_assigned_items); - - field_name = "cage_flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_cagest, field_name)); - auto n_cage_flags = new NodeBitfield; - n_cage_flags->m_field_name = field_name; - n_cage_flags->m_df_type = DF_Type::building_cagest__T_cage_flags; - n_cage_flags->m_rdf_type = RDF_Type::Bitfield; - n_cage_flags->m_node_type = NodeType::Bitfield; - n_cage_flags->m_address = base + offset; - n_cage_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cage_flags); - - field_name = "fill_timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_cagest, field_name)); - auto n_fill_timer = new NodeSimple; - n_fill_timer->m_field_name = field_name; - n_fill_timer->m_df_type = DF_Type::int16_t; - n_fill_timer->m_rdf_type = RDF_Type::int16_t; - n_fill_timer->m_node_type = NodeType::Simple; - n_fill_timer->m_address = base + offset; - n_fill_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_fill_timer); - -} -void node_from_building_chainst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::building_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_building_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "assigned"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_chainst, field_name)); - auto n_assigned = new NodePointer; - n_assigned->m_field_name = field_name; - n_assigned->m_df_type = get_real_subtype(base+offset, DF_Type::unit); - n_assigned->m_rdf_type = RDF_Type::Pointer; - n_assigned->m_node_type = NodeType::Pointer; - n_assigned->m_addornements = "*"; - n_assigned->m_address = base + offset; - n_assigned->m_parent = p_node_parent; - n_assigned->m_defined_in = "df.units.xml"; - n_assigned->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_assigned); - - field_name = "chained"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_chainst, field_name)); - auto n_chained = new NodePointer; - n_chained->m_field_name = field_name; - n_chained->m_df_type = get_real_subtype(base+offset, DF_Type::unit); - n_chained->m_rdf_type = RDF_Type::Pointer; - n_chained->m_node_type = NodeType::Pointer; - n_chained->m_addornements = "*"; - n_chained->m_address = base + offset; - n_chained->m_parent = p_node_parent; - n_chained->m_defined_in = "df.units.xml"; - n_chained->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_chained); - - field_name = "chain_flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_chainst, field_name)); - auto n_chain_flags = new NodeBitfield; - n_chain_flags->m_field_name = field_name; - n_chain_flags->m_df_type = DF_Type::building_chainst__T_chain_flags; - n_chain_flags->m_rdf_type = RDF_Type::Bitfield; - n_chain_flags->m_node_type = NodeType::Bitfield; - n_chain_flags->m_address = base + offset; - n_chain_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_chain_flags); - -} -void node_from_building_chairst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::building_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_building_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_chairst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int16_t; - n_anon_1->m_rdf_type = RDF_Type::int16_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "users"; - auto n_users = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_chairst, field_name)); - n_users->m_field_name = field_name; - n_users->m_df_type = DF_Type::building_users; - n_users->m_rdf_type = RDF_Type::Struct; - n_users->m_node_type = NodeType::Compound; - n_users->m_address = base + offset; - n_users->m_defined_in = "df.buildings.xml"; - n_users->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_users); - -} -void node_from_building_coffinst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::building_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_building_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "burial_mode"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_coffinst, field_name)); - auto n_burial_mode = new NodeBitfield; - n_burial_mode->m_field_name = field_name; - n_burial_mode->m_df_type = DF_Type::building_coffinst__T_burial_mode; - n_burial_mode->m_rdf_type = RDF_Type::Bitfield; - n_burial_mode->m_node_type = NodeType::Bitfield; - n_burial_mode->m_address = base + offset; - n_burial_mode->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_burial_mode); - -} -void node_from_building_constructionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::building_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_building_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "type"; - auto n_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_constructionst, field_name)); - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::construction_type; - n_type->m_rdf_type = RDF_Type::Enum; - n_type->m_node_type = NodeType::Enum; - n_type->m_base_type = DF_Type::int16_t; - n_type->m_enum_type = "construction_type"; - n_type->m_address = base + offset; - n_type->m_defined_in = "df.buildings.xml"; - n_type->m_first_value = -1; - n_type->m_last_value = 36; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - -} -void node_from_building_display_furniturest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::building_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_building_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "displayed_items"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_display_furniturest, field_name)); - auto n_displayed_items = new NodeVector; - n_displayed_items->m_field_name = field_name; - n_displayed_items->m_df_type = DF_Type::int32_t; - n_displayed_items->m_rdf_type = RDF_Type::Vector; - n_displayed_items->m_node_type = NodeType::Vector; - n_displayed_items->m_addornements = "v"; - n_displayed_items->m_address = base + offset; - n_displayed_items->m_parent = p_node_parent; - n_displayed_items->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_displayed_items); - -} -void node_from_building_doorst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::building_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_building_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "door_flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_doorst, field_name)); - auto n_door_flags = new NodeBitfield; - n_door_flags->m_field_name = field_name; - n_door_flags->m_df_type = DF_Type::door_flags; - n_door_flags->m_rdf_type = RDF_Type::Bitfield; - n_door_flags->m_node_type = NodeType::Bitfield; - n_door_flags->m_address = base + offset; - n_door_flags->m_defined_in = "df.buildings.xml"; - n_door_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_door_flags); - - field_name = "close_timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_doorst, field_name)); - auto n_close_timer = new NodeSimple; - n_close_timer->m_field_name = field_name; - n_close_timer->m_df_type = DF_Type::int16_t; - n_close_timer->m_rdf_type = RDF_Type::int16_t; - n_close_timer->m_node_type = NodeType::Simple; - n_close_timer->m_address = base + offset; - n_close_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_close_timer); - -} -void node_from_building_farmplotst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::building_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_building_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "plant_id"; - auto n_plant_id = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_farmplotst, field_name)); - n_plant_id->m_field_name = field_name; - n_plant_id->m_df_type = DF_Type::int16_t; - n_plant_id->m_rdf_type = RDF_Type::Array; - n_plant_id->m_node_type = NodeType::Array; - n_plant_id->m_addornements = "[4"; - n_plant_id->m_array_size = 4; - n_plant_id->m_address = base + offset; - n_plant_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_plant_id); - - field_name = "material_amount"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_farmplotst, field_name)); - auto n_material_amount = new NodeSimple; - n_material_amount->m_field_name = field_name; - n_material_amount->m_df_type = DF_Type::int32_t; - n_material_amount->m_rdf_type = RDF_Type::int32_t; - n_material_amount->m_node_type = NodeType::Simple; - n_material_amount->m_address = base + offset; - n_material_amount->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_material_amount); - - field_name = "seasonal_fertilize"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_farmplotst, field_name)); - auto n_seasonal_fertilize = new NodeSimple; - n_seasonal_fertilize->m_field_name = field_name; - n_seasonal_fertilize->m_df_type = DF_Type::int32_t; - n_seasonal_fertilize->m_rdf_type = RDF_Type::int32_t; - n_seasonal_fertilize->m_node_type = NodeType::Simple; - n_seasonal_fertilize->m_address = base + offset; - n_seasonal_fertilize->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_seasonal_fertilize); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_farmplotst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int8_t; - n_anon_1->m_rdf_type = RDF_Type::int8_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "current_fertilization"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_farmplotst, field_name)); - auto n_current_fertilization = new NodeSimple; - n_current_fertilization->m_field_name = field_name; - n_current_fertilization->m_df_type = DF_Type::int32_t; - n_current_fertilization->m_rdf_type = RDF_Type::int32_t; - n_current_fertilization->m_node_type = NodeType::Simple; - n_current_fertilization->m_address = base + offset; - n_current_fertilization->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_current_fertilization); - - field_name = "max_fertilization"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_farmplotst, field_name)); - auto n_max_fertilization = new NodeSimple; - n_max_fertilization->m_field_name = field_name; - n_max_fertilization->m_df_type = DF_Type::int32_t; - n_max_fertilization->m_rdf_type = RDF_Type::int32_t; - n_max_fertilization->m_node_type = NodeType::Simple; - n_max_fertilization->m_address = base + offset; - n_max_fertilization->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_max_fertilization); - - field_name = "terrain_purge_timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_farmplotst, field_name)); - auto n_terrain_purge_timer = new NodeSimple; - n_terrain_purge_timer->m_field_name = field_name; - n_terrain_purge_timer->m_df_type = DF_Type::int16_t; - n_terrain_purge_timer->m_rdf_type = RDF_Type::int16_t; - n_terrain_purge_timer->m_node_type = NodeType::Simple; - n_terrain_purge_timer->m_address = base + offset; - n_terrain_purge_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_terrain_purge_timer); - -} -void node_from_building_floodgatest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::building_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_building_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "gate_flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_floodgatest, field_name)); - auto n_gate_flags = new NodeBitfield; - n_gate_flags->m_field_name = field_name; - n_gate_flags->m_df_type = DF_Type::gate_flags; - n_gate_flags->m_rdf_type = RDF_Type::Bitfield; - n_gate_flags->m_node_type = NodeType::Bitfield; - n_gate_flags->m_address = base + offset; - n_gate_flags->m_defined_in = "df.buildings.xml"; - n_gate_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_gate_flags); - - field_name = "timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_floodgatest, field_name)); - auto n_timer = new NodeSimple; - n_timer->m_field_name = field_name; - n_timer->m_df_type = DF_Type::int8_t; - n_timer->m_rdf_type = RDF_Type::int8_t; - n_timer->m_node_type = NodeType::Simple; - n_timer->m_address = base + offset; - n_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_timer); - -} -void node_from_building_grate_floorst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::building_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_building_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "gate_flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_grate_floorst, field_name)); - auto n_gate_flags = new NodeBitfield; - n_gate_flags->m_field_name = field_name; - n_gate_flags->m_df_type = DF_Type::gate_flags; - n_gate_flags->m_rdf_type = RDF_Type::Bitfield; - n_gate_flags->m_node_type = NodeType::Bitfield; - n_gate_flags->m_address = base + offset; - n_gate_flags->m_defined_in = "df.buildings.xml"; - n_gate_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_gate_flags); - - field_name = "timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_grate_floorst, field_name)); - auto n_timer = new NodeSimple; - n_timer->m_field_name = field_name; - n_timer->m_df_type = DF_Type::int8_t; - n_timer->m_rdf_type = RDF_Type::int8_t; - n_timer->m_node_type = NodeType::Simple; - n_timer->m_address = base + offset; - n_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_timer); - -} -void node_from_building_grate_wallst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::building_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_building_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "gate_flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_grate_wallst, field_name)); - auto n_gate_flags = new NodeBitfield; - n_gate_flags->m_field_name = field_name; - n_gate_flags->m_df_type = DF_Type::gate_flags; - n_gate_flags->m_rdf_type = RDF_Type::Bitfield; - n_gate_flags->m_node_type = NodeType::Bitfield; - n_gate_flags->m_address = base + offset; - n_gate_flags->m_defined_in = "df.buildings.xml"; - n_gate_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_gate_flags); - - field_name = "timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_grate_wallst, field_name)); - auto n_timer = new NodeSimple; - n_timer->m_field_name = field_name; - n_timer->m_df_type = DF_Type::int8_t; - n_timer->m_rdf_type = RDF_Type::int8_t; - n_timer->m_node_type = NodeType::Simple; - n_timer->m_address = base + offset; - n_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_timer); - -} -void node_from_building_hatchst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::building_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_building_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "door_flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_hatchst, field_name)); - auto n_door_flags = new NodeBitfield; - n_door_flags->m_field_name = field_name; - n_door_flags->m_df_type = DF_Type::door_flags; - n_door_flags->m_rdf_type = RDF_Type::Bitfield; - n_door_flags->m_node_type = NodeType::Bitfield; - n_door_flags->m_address = base + offset; - n_door_flags->m_defined_in = "df.buildings.xml"; - n_door_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_door_flags); - - field_name = "close_timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_hatchst, field_name)); - auto n_close_timer = new NodeSimple; - n_close_timer->m_field_name = field_name; - n_close_timer->m_df_type = DF_Type::int16_t; - n_close_timer->m_rdf_type = RDF_Type::int16_t; - n_close_timer->m_node_type = NodeType::Simple; - n_close_timer->m_address = base + offset; - n_close_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_close_timer); - -} -void node_from_building_hivest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::building_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_building_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "hive_flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_hivest, field_name)); - auto n_hive_flags = new NodeBitfield; - n_hive_flags->m_field_name = field_name; - n_hive_flags->m_df_type = DF_Type::hive_flags; - n_hive_flags->m_rdf_type = RDF_Type::Bitfield; - n_hive_flags->m_node_type = NodeType::Bitfield; - n_hive_flags->m_address = base + offset; - n_hive_flags->m_defined_in = "df.buildings.xml"; - n_hive_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_hive_flags); - - field_name = "split_timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_hivest, field_name)); - auto n_split_timer = new NodeSimple; - n_split_timer->m_field_name = field_name; - n_split_timer->m_df_type = DF_Type::int32_t; - n_split_timer->m_rdf_type = RDF_Type::int32_t; - n_split_timer->m_node_type = NodeType::Simple; - n_split_timer->m_address = base + offset; - n_split_timer->m_comment = "up to 100800"; - n_split_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_split_timer); - - field_name = "activity_timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_hivest, field_name)); - auto n_activity_timer = new NodeSimple; - n_activity_timer->m_field_name = field_name; - n_activity_timer->m_df_type = DF_Type::int32_t; - n_activity_timer->m_rdf_type = RDF_Type::int32_t; - n_activity_timer->m_node_type = NodeType::Simple; - n_activity_timer->m_address = base + offset; - n_activity_timer->m_comment = "up to 100800000; checks timer%hive_product.time[i]==0"; - n_activity_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_activity_timer); - - field_name = "install_timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_hivest, field_name)); - auto n_install_timer = new NodeSimple; - n_install_timer->m_field_name = field_name; - n_install_timer->m_df_type = DF_Type::int32_t; - n_install_timer->m_rdf_type = RDF_Type::int32_t; - n_install_timer->m_node_type = NodeType::Simple; - n_install_timer->m_address = base + offset; - n_install_timer->m_comment = "down from 1200"; - n_install_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_install_timer); - - field_name = "gather_timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_hivest, field_name)); - auto n_gather_timer = new NodeSimple; - n_gather_timer->m_field_name = field_name; - n_gather_timer->m_df_type = DF_Type::int32_t; - n_gather_timer->m_rdf_type = RDF_Type::int32_t; - n_gather_timer->m_node_type = NodeType::Simple; - n_gather_timer->m_address = base + offset; - n_gather_timer->m_comment = "down from 1200"; - n_gather_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_gather_timer); - -} -void node_from_building_instrumentst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::building_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_building_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_instrumentst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_building_nestst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::building_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_building_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_building_nest_boxst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::building_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_building_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "claimed_by"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_nest_boxst, field_name)); - auto n_claimed_by = new NodeSimple; - n_claimed_by->m_field_name = field_name; - n_claimed_by->m_df_type = DF_Type::int32_t; - n_claimed_by->m_rdf_type = RDF_Type::int32_t; - n_claimed_by->m_node_type = NodeType::Simple; - n_claimed_by->m_address = base + offset; - n_claimed_by->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_claimed_by); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_nest_boxst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_building_roadst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::building_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_building_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_building_road_dirtst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::building_roadst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_building_roadst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "material_amount"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_road_dirtst, field_name)); - auto n_material_amount = new NodeSimple; - n_material_amount->m_field_name = field_name; - n_material_amount->m_df_type = DF_Type::int32_t; - n_material_amount->m_rdf_type = RDF_Type::int32_t; - n_material_amount->m_node_type = NodeType::Simple; - n_material_amount->m_address = base + offset; - n_material_amount->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_material_amount); - -} -void node_from_building_road_pavedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::building_roadst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_building_roadst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "material_amount"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_road_pavedst, field_name)); - auto n_material_amount = new NodeSimple; - n_material_amount->m_field_name = field_name; - n_material_amount->m_df_type = DF_Type::int32_t; - n_material_amount->m_rdf_type = RDF_Type::int32_t; - n_material_amount->m_node_type = NodeType::Simple; - n_material_amount->m_address = base + offset; - n_material_amount->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_material_amount); - - field_name = "terrain_purge_timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_road_pavedst, field_name)); - auto n_terrain_purge_timer = new NodeSimple; - n_terrain_purge_timer->m_field_name = field_name; - n_terrain_purge_timer->m_df_type = DF_Type::int16_t; - n_terrain_purge_timer->m_rdf_type = RDF_Type::int16_t; - n_terrain_purge_timer->m_node_type = NodeType::Simple; - n_terrain_purge_timer->m_address = base + offset; - n_terrain_purge_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_terrain_purge_timer); - -} -void node_from_building_shopst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::building_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_building_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "owner"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_shopst, field_name)); - auto n_owner = new NodePointer; - n_owner->m_field_name = field_name; - n_owner->m_df_type = get_real_subtype(base+offset, DF_Type::unit); - n_owner->m_rdf_type = RDF_Type::Pointer; - n_owner->m_node_type = NodeType::Pointer; - n_owner->m_addornements = "*"; - n_owner->m_address = base + offset; - n_owner->m_parent = p_node_parent; - n_owner->m_defined_in = "df.units.xml"; - n_owner->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_owner); - - field_name = "timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_shopst, field_name)); - auto n_timer = new NodeSimple; - n_timer->m_field_name = field_name; - n_timer->m_df_type = DF_Type::int32_t; - n_timer->m_rdf_type = RDF_Type::int32_t; - n_timer->m_node_type = NodeType::Simple; - n_timer->m_address = base + offset; - n_timer->m_comment = "increments until reaching 200,000,000"; - n_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_timer); - - field_name = "shop_flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_shopst, field_name)); - auto n_shop_flags = new NodeBitfield; - n_shop_flags->m_field_name = field_name; - n_shop_flags->m_df_type = DF_Type::building_shopst__T_shop_flags; - n_shop_flags->m_rdf_type = RDF_Type::Bitfield; - n_shop_flags->m_node_type = NodeType::Bitfield; - n_shop_flags->m_address = base + offset; - n_shop_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_shop_flags); - - field_name = "type"; - auto n_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_shopst, field_name)); - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::shop_type; - n_type->m_rdf_type = RDF_Type::Enum; - n_type->m_node_type = NodeType::Enum; - n_type->m_base_type = DF_Type::int16_t; - n_type->m_enum_type = "shop_type"; - n_type->m_address = base + offset; - n_type->m_defined_in = "df.buildings.xml"; - n_type->m_first_value = 0; - n_type->m_last_value = 3; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - -} -void node_from_building_siegeenginest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::building_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_building_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "type"; - auto n_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_siegeenginest, field_name)); - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::siegeengine_type; - n_type->m_rdf_type = RDF_Type::Enum; - n_type->m_node_type = NodeType::Enum; - n_type->m_base_type = DF_Type::int16_t; - n_type->m_enum_type = "siegeengine_type"; - n_type->m_address = base + offset; - n_type->m_defined_in = "df.buildings.xml"; - n_type->m_first_value = 0; - n_type->m_last_value = 1; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - - field_name = "facing"; - auto n_facing = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_siegeenginest, field_name)); - n_facing->m_field_name = field_name; - n_facing->m_df_type = DF_Type::building_siegeenginest__T_facing; - n_facing->m_rdf_type = RDF_Type::Enum; - n_facing->m_node_type = NodeType::Enum; - n_facing->m_base_type = DF_Type::int8_t; - n_facing->m_enum_type = "building_siegeenginest::T_facing"; - n_facing->m_address = base + offset; - n_facing->m_first_value = 0; - n_facing->m_last_value = 3; - n_facing->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_facing); - - field_name = "action"; - auto n_action = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_siegeenginest, field_name)); - n_action->m_field_name = field_name; - n_action->m_df_type = DF_Type::building_siegeenginest__T_action; - n_action->m_rdf_type = RDF_Type::Enum; - n_action->m_node_type = NodeType::Enum; - n_action->m_base_type = DF_Type::int8_t; - n_action->m_enum_type = "building_siegeenginest::T_action"; - n_action->m_address = base + offset; - n_action->m_first_value = 0; - n_action->m_last_value = 2; - n_action->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_action); - - field_name = "fire_timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_siegeenginest, field_name)); - auto n_fire_timer = new NodeSimple; - n_fire_timer->m_field_name = field_name; - n_fire_timer->m_df_type = DF_Type::int8_t; - n_fire_timer->m_rdf_type = RDF_Type::int8_t; - n_fire_timer->m_node_type = NodeType::Simple; - n_fire_timer->m_address = base + offset; - n_fire_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_fire_timer); - - field_name = "fill_timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_siegeenginest, field_name)); - auto n_fill_timer = new NodeSimple; - n_fill_timer->m_field_name = field_name; - n_fill_timer->m_df_type = DF_Type::int16_t; - n_fill_timer->m_rdf_type = RDF_Type::int16_t; - n_fill_timer->m_node_type = NodeType::Simple; - n_fill_timer->m_address = base + offset; - n_fill_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_fill_timer); - -} -void node_from_building_slabst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::building_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_building_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_slabst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int16_t; - n_anon_1->m_rdf_type = RDF_Type::int16_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_building_statuest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::building_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_building_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_statuest, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int16_t; - n_anon_1->m_rdf_type = RDF_Type::int16_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_building_supportst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::building_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_building_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "support_flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_supportst, field_name)); - auto n_support_flags = new NodeBitfield; - n_support_flags->m_field_name = field_name; - n_support_flags->m_df_type = DF_Type::building_supportst__T_support_flags; - n_support_flags->m_rdf_type = RDF_Type::Bitfield; - n_support_flags->m_node_type = NodeType::Bitfield; - n_support_flags->m_address = base + offset; - n_support_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_support_flags); - -} -void node_from_building_tablest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::building_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_building_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "table_flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_tablest, field_name)); - auto n_table_flags = new NodeBitfield; - n_table_flags->m_field_name = field_name; - n_table_flags->m_df_type = DF_Type::building_tablest__T_table_flags; - n_table_flags->m_rdf_type = RDF_Type::Bitfield; - n_table_flags->m_node_type = NodeType::Bitfield; - n_table_flags->m_address = base + offset; - n_table_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_table_flags); - - field_name = "users"; - auto n_users = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_tablest, field_name)); - n_users->m_field_name = field_name; - n_users->m_df_type = DF_Type::building_users; - n_users->m_rdf_type = RDF_Type::Struct; - n_users->m_node_type = NodeType::Compound; - n_users->m_address = base + offset; - n_users->m_defined_in = "df.buildings.xml"; - n_users->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_users); - -} -void node_from_building_traction_benchst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::building_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_building_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_traction_benchst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int16_t; - n_anon_1->m_rdf_type = RDF_Type::int16_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "users"; - auto n_users = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_traction_benchst, field_name)); - n_users->m_field_name = field_name; - n_users->m_df_type = DF_Type::building_users; - n_users->m_rdf_type = RDF_Type::Struct; - n_users->m_node_type = NodeType::Compound; - n_users->m_address = base + offset; - n_users->m_defined_in = "df.buildings.xml"; - n_users->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_users); - -} -void node_from_building_tradedepotst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::building_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_building_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "trade_flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_tradedepotst, field_name)); - auto n_trade_flags = new NodeBitfield; - n_trade_flags->m_field_name = field_name; - n_trade_flags->m_df_type = DF_Type::building_tradedepotst__T_trade_flags; - n_trade_flags->m_rdf_type = RDF_Type::Bitfield; - n_trade_flags->m_node_type = NodeType::Bitfield; - n_trade_flags->m_address = base + offset; - n_trade_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_trade_flags); - - field_name = "accessible"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_tradedepotst, field_name)); - auto n_accessible = new NodeSimple; - n_accessible->m_field_name = field_name; - n_accessible->m_df_type = DF_Type::int8_t; - n_accessible->m_rdf_type = RDF_Type::int8_t; - n_accessible->m_node_type = NodeType::Simple; - n_accessible->m_address = base + offset; - n_accessible->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_accessible); - -} -void node_from_building_trapst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::building_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_building_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "trap_type"; - auto n_trap_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_trapst, field_name)); - n_trap_type->m_field_name = field_name; - n_trap_type->m_df_type = DF_Type::trap_type; - n_trap_type->m_rdf_type = RDF_Type::Enum; - n_trap_type->m_node_type = NodeType::Enum; - n_trap_type->m_base_type = DF_Type::int16_t; - n_trap_type->m_enum_type = "trap_type"; - n_trap_type->m_address = base + offset; - n_trap_type->m_defined_in = "df.buildings.xml"; - n_trap_type->m_first_value = 0; - n_trap_type->m_last_value = 5; - n_trap_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_trap_type); - - field_name = "state"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_trapst, field_name)); - auto n_state = new NodeSimple; - n_state->m_field_name = field_name; - n_state->m_df_type = DF_Type::uint8_t; - n_state->m_rdf_type = RDF_Type::uint8_t; - n_state->m_node_type = NodeType::Simple; - n_state->m_address = base + offset; - n_state->m_comment = "!=0 = pulled, tripped/needs reloading"; - n_state->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_state); - - field_name = "ready_timeout"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_trapst, field_name)); - auto n_ready_timeout = new NodeSimple; - n_ready_timeout->m_field_name = field_name; - n_ready_timeout->m_df_type = DF_Type::int16_t; - n_ready_timeout->m_rdf_type = RDF_Type::int16_t; - n_ready_timeout->m_node_type = NodeType::Simple; - n_ready_timeout->m_address = base + offset; - n_ready_timeout->m_comment = "plate not active if > 0"; - n_ready_timeout->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ready_timeout); - - field_name = "fill_timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_trapst, field_name)); - auto n_fill_timer = new NodeSimple; - n_fill_timer->m_field_name = field_name; - n_fill_timer->m_df_type = DF_Type::int16_t; - n_fill_timer->m_rdf_type = RDF_Type::int16_t; - n_fill_timer->m_node_type = NodeType::Simple; - n_fill_timer->m_address = base + offset; - n_fill_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_fill_timer); - - field_name = "stop_flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_trapst, field_name)); - auto n_stop_flags = new NodeBitfield; - n_stop_flags->m_field_name = field_name; - n_stop_flags->m_df_type = DF_Type::building_trapst__T_stop_flags; - n_stop_flags->m_rdf_type = RDF_Type::Bitfield; - n_stop_flags->m_node_type = NodeType::Bitfield; - n_stop_flags->m_address = base + offset; - n_stop_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_stop_flags); - - field_name = "linked_mechanisms"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_trapst, field_name)); - auto n_linked_mechanisms = new NodeVector; - n_linked_mechanisms->m_field_name = field_name; - n_linked_mechanisms->m_df_type = DF_Type::item; - n_linked_mechanisms->m_rdf_type = RDF_Type::Vector; - n_linked_mechanisms->m_node_type = NodeType::Vector; - n_linked_mechanisms->m_defined_in = "df.items.xml"; - n_linked_mechanisms->m_addornements = "v*"; - n_linked_mechanisms->m_address = base + offset; - n_linked_mechanisms->m_parent = p_node_parent; - n_linked_mechanisms->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_linked_mechanisms); - - field_name = "observed_by_civs"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_trapst, field_name)); - auto n_observed_by_civs = new NodeVector; - n_observed_by_civs->m_field_name = field_name; - n_observed_by_civs->m_df_type = DF_Type::int32_t; - n_observed_by_civs->m_rdf_type = RDF_Type::Vector; - n_observed_by_civs->m_node_type = NodeType::Vector; - n_observed_by_civs->m_addornements = "v"; - n_observed_by_civs->m_address = base + offset; - n_observed_by_civs->m_parent = p_node_parent; - n_observed_by_civs->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_observed_by_civs); - - field_name = "profile"; - auto n_profile = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_trapst, field_name)); - n_profile->m_field_name = field_name; - n_profile->m_df_type = DF_Type::workshop_profile; - n_profile->m_rdf_type = RDF_Type::Struct; - n_profile->m_node_type = NodeType::Compound; - n_profile->m_address = base + offset; - n_profile->m_defined_in = "df.buildings.xml"; - n_profile->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_profile); - - field_name = "plate_info"; - auto n_plate_info = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_trapst, field_name)); - n_plate_info->m_field_name = field_name; - n_plate_info->m_df_type = DF_Type::pressure_plate_info; - n_plate_info->m_rdf_type = RDF_Type::Struct; - n_plate_info->m_node_type = NodeType::Compound; - n_plate_info->m_address = base + offset; - n_plate_info->m_defined_in = "df.buildings.xml"; - n_plate_info->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_plate_info); - - field_name = "friction"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_trapst, field_name)); - auto n_friction = new NodeSimple; - n_friction->m_field_name = field_name; - n_friction->m_df_type = DF_Type::int32_t; - n_friction->m_rdf_type = RDF_Type::int32_t; - n_friction->m_node_type = NodeType::Simple; - n_friction->m_address = base + offset; - n_friction->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_friction); - - field_name = "use_dump"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_trapst, field_name)); - auto n_use_dump = new NodeSimple; - n_use_dump->m_field_name = field_name; - n_use_dump->m_df_type = DF_Type::int32_t; - n_use_dump->m_rdf_type = RDF_Type::int32_t; - n_use_dump->m_node_type = NodeType::Simple; - n_use_dump->m_address = base + offset; - n_use_dump->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_use_dump); - - field_name = "dump_x_shift"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_trapst, field_name)); - auto n_dump_x_shift = new NodeSimple; - n_dump_x_shift->m_field_name = field_name; - n_dump_x_shift->m_df_type = DF_Type::int32_t; - n_dump_x_shift->m_rdf_type = RDF_Type::int32_t; - n_dump_x_shift->m_node_type = NodeType::Simple; - n_dump_x_shift->m_address = base + offset; - n_dump_x_shift->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dump_x_shift); - - field_name = "dump_y_shift"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_trapst, field_name)); - auto n_dump_y_shift = new NodeSimple; - n_dump_y_shift->m_field_name = field_name; - n_dump_y_shift->m_df_type = DF_Type::int32_t; - n_dump_y_shift->m_rdf_type = RDF_Type::int32_t; - n_dump_y_shift->m_node_type = NodeType::Simple; - n_dump_y_shift->m_address = base + offset; - n_dump_y_shift->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dump_y_shift); - - field_name = "stop_trigger_timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_trapst, field_name)); - auto n_stop_trigger_timer = new NodeSimple; - n_stop_trigger_timer->m_field_name = field_name; - n_stop_trigger_timer->m_df_type = DF_Type::int8_t; - n_stop_trigger_timer->m_rdf_type = RDF_Type::int8_t; - n_stop_trigger_timer->m_node_type = NodeType::Simple; - n_stop_trigger_timer->m_address = base + offset; - n_stop_trigger_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_stop_trigger_timer); - -} -void node_from_building_wagonst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::building_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_building_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_building_weaponst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::building_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_building_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "gate_flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_weaponst, field_name)); - auto n_gate_flags = new NodeBitfield; - n_gate_flags->m_field_name = field_name; - n_gate_flags->m_df_type = DF_Type::gate_flags; - n_gate_flags->m_rdf_type = RDF_Type::Bitfield; - n_gate_flags->m_node_type = NodeType::Bitfield; - n_gate_flags->m_address = base + offset; - n_gate_flags->m_defined_in = "df.buildings.xml"; - n_gate_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_gate_flags); - - field_name = "timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_weaponst, field_name)); - auto n_timer = new NodeSimple; - n_timer->m_field_name = field_name; - n_timer->m_df_type = DF_Type::int8_t; - n_timer->m_rdf_type = RDF_Type::int8_t; - n_timer->m_node_type = NodeType::Simple; - n_timer->m_address = base + offset; - n_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_timer); - -} -void node_from_building_squad_use(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "squad_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_squad_use, field_name)); - auto n_squad_id = new NodeSimple; - n_squad_id->m_field_name = field_name; - n_squad_id->m_df_type = DF_Type::int32_t; - n_squad_id->m_rdf_type = RDF_Type::int32_t; - n_squad_id->m_node_type = NodeType::Simple; - n_squad_id->m_address = base + offset; - n_squad_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_squad_id); - - field_name = "mode"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_squad_use, field_name)); - auto n_mode = new NodeBitfield; - n_mode->m_field_name = field_name; - n_mode->m_df_type = DF_Type::squad_use_flags; - n_mode->m_rdf_type = RDF_Type::Bitfield; - n_mode->m_node_type = NodeType::Bitfield; - n_mode->m_address = base + offset; - n_mode->m_defined_in = "df.military.xml"; - n_mode->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mode); - -} -void node_from_building_weaponrackst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::building_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_building_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk_c0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_weaponrackst, field_name)); - auto n_unk_c0 = new NodeSimple; - n_unk_c0->m_field_name = field_name; - n_unk_c0->m_df_type = DF_Type::int16_t; - n_unk_c0->m_rdf_type = RDF_Type::int16_t; - n_unk_c0->m_node_type = NodeType::Simple; - n_unk_c0->m_address = base + offset; - n_unk_c0->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_c0); - - field_name = "squads"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_weaponrackst, field_name)); - auto n_squads = new NodeVector; - n_squads->m_field_name = field_name; - n_squads->m_df_type = DF_Type::building_squad_use; - n_squads->m_rdf_type = RDF_Type::Vector; - n_squads->m_node_type = NodeType::Vector; - n_squads->m_defined_in = "df.buildings.xml"; - n_squads->m_addornements = "v*"; - n_squads->m_address = base + offset; - n_squads->m_parent = p_node_parent; - n_squads->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_squads); - - field_name = "specific_squad"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_weaponrackst, field_name)); - auto n_specific_squad = new NodeSimple; - n_specific_squad->m_field_name = field_name; - n_specific_squad->m_df_type = DF_Type::int32_t; - n_specific_squad->m_rdf_type = RDF_Type::int32_t; - n_specific_squad->m_node_type = NodeType::Simple; - n_specific_squad->m_address = base + offset; - n_specific_squad->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_specific_squad); - -} -void node_from_building_wellst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::building_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_building_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "well_flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_wellst, field_name)); - auto n_well_flags = new NodeBitfield; - n_well_flags->m_field_name = field_name; - n_well_flags->m_df_type = DF_Type::building_wellst__T_well_flags; - n_well_flags->m_rdf_type = RDF_Type::Bitfield; - n_well_flags->m_node_type = NodeType::Bitfield; - n_well_flags->m_address = base + offset; - n_well_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_well_flags); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_wellst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int8_t; - n_anon_1->m_rdf_type = RDF_Type::int8_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "bucket_z"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_wellst, field_name)); - auto n_bucket_z = new NodeSimple; - n_bucket_z->m_field_name = field_name; - n_bucket_z->m_df_type = DF_Type::int16_t; - n_bucket_z->m_rdf_type = RDF_Type::int16_t; - n_bucket_z->m_node_type = NodeType::Simple; - n_bucket_z->m_address = base + offset; - n_bucket_z->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_bucket_z); - - field_name = "bucket_timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_wellst, field_name)); - auto n_bucket_timer = new NodeSimple; - n_bucket_timer->m_field_name = field_name; - n_bucket_timer->m_df_type = DF_Type::int8_t; - n_bucket_timer->m_rdf_type = RDF_Type::int8_t; - n_bucket_timer->m_node_type = NodeType::Simple; - n_bucket_timer->m_address = base + offset; - n_bucket_timer->m_comment = "0-9; counts up when raising, down when lowering"; - n_bucket_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_bucket_timer); - - field_name = "check_water_timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_wellst, field_name)); - auto n_check_water_timer = new NodeSimple; - n_check_water_timer->m_field_name = field_name; - n_check_water_timer->m_df_type = DF_Type::int16_t; - n_check_water_timer->m_rdf_type = RDF_Type::int16_t; - n_check_water_timer->m_node_type = NodeType::Simple; - n_check_water_timer->m_address = base + offset; - n_check_water_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_check_water_timer); - -} -void node_from_building_windowst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::building_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_building_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_windowst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int16_t; - n_anon_1->m_rdf_type = RDF_Type::int16_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_building_window_glassst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::building_windowst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_building_windowst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_building_window_gemst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::building_windowst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_building_windowst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_body_part_raw(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "token"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_raw, field_name)); - auto n_token = new NodeSimple; - n_token->m_field_name = field_name; - n_token->m_df_type = DF_Type::Stl_string; - n_token->m_rdf_type = RDF_Type::Stl_string; - n_token->m_node_type = NodeType::Simple; - n_token->m_address = base + offset; - n_token->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_token); - - field_name = "category"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_raw, field_name)); - auto n_category = new NodeSimple; - n_category->m_field_name = field_name; - n_category->m_df_type = DF_Type::Stl_string; - n_category->m_rdf_type = RDF_Type::Stl_string; - n_category->m_node_type = NodeType::Simple; - n_category->m_address = base + offset; - n_category->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_category); - - field_name = "con_part_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_raw, field_name)); - auto n_con_part_id = new NodeSimple; - n_con_part_id->m_field_name = field_name; - n_con_part_id->m_df_type = DF_Type::int16_t; - n_con_part_id->m_rdf_type = RDF_Type::int16_t; - n_con_part_id->m_node_type = NodeType::Simple; - n_con_part_id->m_address = base + offset; - n_con_part_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_con_part_id); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_raw, field_name)); - auto n_flags = new NodeDFFlagArray; - n_flags->m_field_name = field_name; - n_flags->m_index_enum = DF_Type::body_part_raw_flags; - n_flags->m_df_type = DF_Type::body_part_raw_flags; - n_flags->m_size = 39; - n_flags->m_rdf_type = RDF_Type::DFFlagArray; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_defined_in = "df.creature-raws.xml"; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "layers"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_raw, field_name)); - auto n_layers = new NodeVector; - n_layers->m_field_name = field_name; - n_layers->m_df_type = DF_Type::body_part_layer_raw; - n_layers->m_rdf_type = RDF_Type::Vector; - n_layers->m_node_type = NodeType::Vector; - n_layers->m_defined_in = "df.creature-raws.xml"; - n_layers->m_addornements = "v*"; - n_layers->m_address = base + offset; - n_layers->m_parent = p_node_parent; - n_layers->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_layers); - - field_name = "fraction_total"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_raw, field_name)); - auto n_fraction_total = new NodeSimple; - n_fraction_total->m_field_name = field_name; - n_fraction_total->m_df_type = DF_Type::int32_t; - n_fraction_total->m_rdf_type = RDF_Type::int32_t; - n_fraction_total->m_node_type = NodeType::Simple; - n_fraction_total->m_address = base + offset; - n_fraction_total->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_fraction_total); - - field_name = "fraction_base"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_raw, field_name)); - auto n_fraction_base = new NodeSimple; - n_fraction_base->m_field_name = field_name; - n_fraction_base->m_df_type = DF_Type::int32_t; - n_fraction_base->m_rdf_type = RDF_Type::int32_t; - n_fraction_base->m_node_type = NodeType::Simple; - n_fraction_base->m_address = base + offset; - n_fraction_base->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_fraction_base); - - field_name = "fraction_fat"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_raw, field_name)); - auto n_fraction_fat = new NodeSimple; - n_fraction_fat->m_field_name = field_name; - n_fraction_fat->m_df_type = DF_Type::int32_t; - n_fraction_fat->m_rdf_type = RDF_Type::int32_t; - n_fraction_fat->m_node_type = NodeType::Simple; - n_fraction_fat->m_address = base + offset; - n_fraction_fat->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_fraction_fat); - - field_name = "fraction_muscle"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_raw, field_name)); - auto n_fraction_muscle = new NodeSimple; - n_fraction_muscle->m_field_name = field_name; - n_fraction_muscle->m_df_type = DF_Type::int32_t; - n_fraction_muscle->m_rdf_type = RDF_Type::int32_t; - n_fraction_muscle->m_node_type = NodeType::Simple; - n_fraction_muscle->m_address = base + offset; - n_fraction_muscle->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_fraction_muscle); - - field_name = "relsize"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_raw, field_name)); - auto n_relsize = new NodeSimple; - n_relsize->m_field_name = field_name; - n_relsize->m_df_type = DF_Type::int32_t; - n_relsize->m_rdf_type = RDF_Type::int32_t; - n_relsize->m_node_type = NodeType::Simple; - n_relsize->m_address = base + offset; - n_relsize->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_relsize); - - field_name = "number"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_raw, field_name)); - auto n_number = new NodeSimple; - n_number->m_field_name = field_name; - n_number->m_df_type = DF_Type::int32_t; - n_number->m_rdf_type = RDF_Type::int32_t; - n_number->m_node_type = NodeType::Simple; - n_number->m_address = base + offset; - n_number->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_number); - - field_name = "unk7b"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_raw, field_name)); - auto n_unk7b = new NodeSimple; - n_unk7b->m_field_name = field_name; - n_unk7b->m_df_type = DF_Type::int16_t; - n_unk7b->m_rdf_type = RDF_Type::int16_t; - n_unk7b->m_node_type = NodeType::Simple; - n_unk7b->m_address = base + offset; - n_unk7b->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk7b); - - field_name = "name_singular"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_raw, field_name)); - auto n_name_singular = new NodeVector; - n_name_singular->m_field_name = field_name; - n_name_singular->m_df_type = DF_Type::Stl_string; - n_name_singular->m_rdf_type = RDF_Type::Vector; - n_name_singular->m_node_type = NodeType::Vector; - n_name_singular->m_addornements = "v*"; - n_name_singular->m_address = base + offset; - n_name_singular->m_parent = p_node_parent; - n_name_singular->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_name_singular); - - field_name = "name_plural"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_raw, field_name)); - auto n_name_plural = new NodeVector; - n_name_plural->m_field_name = field_name; - n_name_plural->m_df_type = DF_Type::Stl_string; - n_name_plural->m_rdf_type = RDF_Type::Vector; - n_name_plural->m_node_type = NodeType::Vector; - n_name_plural->m_addornements = "v*"; - n_name_plural->m_address = base + offset; - n_name_plural->m_parent = p_node_parent; - n_name_plural->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_name_plural); - - field_name = "bp_relation_part_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_raw, field_name)); - auto n_bp_relation_part_id = new NodePointer; - n_bp_relation_part_id->m_field_name = field_name; - n_bp_relation_part_id->m_df_type = get_real_subtype(base+offset, DF_Type::int16_t); - n_bp_relation_part_id->m_rdf_type = RDF_Type::Pointer; - n_bp_relation_part_id->m_node_type = NodeType::Pointer; - n_bp_relation_part_id->m_addornements = "*v"; - n_bp_relation_part_id->m_address = base + offset; - n_bp_relation_part_id->m_parent = p_node_parent; - n_bp_relation_part_id->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bp_relation_part_id); - - field_name = "bp_relation_code"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_raw, field_name)); - auto n_bp_relation_code = new NodePointer; - n_bp_relation_code->m_field_name = field_name; - n_bp_relation_code->m_df_type = get_real_subtype(base+offset, DF_Type::int16_t); - n_bp_relation_code->m_rdf_type = RDF_Type::Pointer; - n_bp_relation_code->m_node_type = NodeType::Pointer; - n_bp_relation_code->m_addornements = "*v"; - n_bp_relation_code->m_address = base + offset; - n_bp_relation_code->m_parent = p_node_parent; - n_bp_relation_code->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bp_relation_code); - - field_name = "bp_relation_coverage"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_raw, field_name)); - auto n_bp_relation_coverage = new NodePointer; - n_bp_relation_coverage->m_field_name = field_name; - n_bp_relation_coverage->m_df_type = get_real_subtype(base+offset, DF_Type::int16_t); - n_bp_relation_coverage->m_rdf_type = RDF_Type::Pointer; - n_bp_relation_coverage->m_node_type = NodeType::Pointer; - n_bp_relation_coverage->m_addornements = "*v"; - n_bp_relation_coverage->m_address = base + offset; - n_bp_relation_coverage->m_parent = p_node_parent; - n_bp_relation_coverage->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bp_relation_coverage); - - field_name = "min_temp"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_raw, field_name)); - auto n_min_temp = new NodeSimple; - n_min_temp->m_field_name = field_name; - n_min_temp->m_df_type = DF_Type::uint16_t; - n_min_temp->m_rdf_type = RDF_Type::uint16_t; - n_min_temp->m_node_type = NodeType::Simple; - n_min_temp->m_address = base + offset; - n_min_temp->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_min_temp); - - field_name = "max_temp"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_raw, field_name)); - auto n_max_temp = new NodeSimple; - n_max_temp->m_field_name = field_name; - n_max_temp->m_df_type = DF_Type::uint16_t; - n_max_temp->m_rdf_type = RDF_Type::uint16_t; - n_max_temp->m_node_type = NodeType::Simple; - n_max_temp->m_address = base + offset; - n_max_temp->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_max_temp); - - field_name = "temp_factor"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_raw, field_name)); - auto n_temp_factor = new NodeSimple; - n_temp_factor->m_field_name = field_name; - n_temp_factor->m_df_type = DF_Type::uint16_t; - n_temp_factor->m_rdf_type = RDF_Type::uint16_t; - n_temp_factor->m_node_type = NodeType::Simple; - n_temp_factor->m_address = base + offset; - n_temp_factor->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_temp_factor); - - field_name = "numbered_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_raw, field_name)); - auto n_numbered_idx = new NodeSimple; - n_numbered_idx->m_field_name = field_name; - n_numbered_idx->m_df_type = DF_Type::int32_t; - n_numbered_idx->m_rdf_type = RDF_Type::int32_t; - n_numbered_idx->m_node_type = NodeType::Simple; - n_numbered_idx->m_address = base + offset; - n_numbered_idx->m_comment = "defined only if number field nonzero"; - n_numbered_idx->m_refers_to = "$$._global._upglobal.numbered_masks[$]"; - n_numbered_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_numbered_idx); - - field_name = "insulation_fat"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_raw, field_name)); - auto n_insulation_fat = new NodeSimple; - n_insulation_fat->m_field_name = field_name; - n_insulation_fat->m_df_type = DF_Type::int16_t; - n_insulation_fat->m_rdf_type = RDF_Type::int16_t; - n_insulation_fat->m_node_type = NodeType::Simple; - n_insulation_fat->m_address = base + offset; - n_insulation_fat->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_insulation_fat); - - field_name = "insulation_muscle"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_raw, field_name)); - auto n_insulation_muscle = new NodeSimple; - n_insulation_muscle->m_field_name = field_name; - n_insulation_muscle->m_df_type = DF_Type::int16_t; - n_insulation_muscle->m_rdf_type = RDF_Type::int16_t; - n_insulation_muscle->m_node_type = NodeType::Simple; - n_insulation_muscle->m_address = base + offset; - n_insulation_muscle->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_insulation_muscle); - - field_name = "insulation_base"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_raw, field_name)); - auto n_insulation_base = new NodeSimple; - n_insulation_base->m_field_name = field_name; - n_insulation_base->m_df_type = DF_Type::int16_t; - n_insulation_base->m_rdf_type = RDF_Type::int16_t; - n_insulation_base->m_node_type = NodeType::Simple; - n_insulation_base->m_address = base + offset; - n_insulation_base->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_insulation_base); - - field_name = "clothing_item_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_raw, field_name)); - auto n_clothing_item_id = new NodeSimple; - n_clothing_item_id->m_field_name = field_name; - n_clothing_item_id->m_df_type = DF_Type::int32_t; - n_clothing_item_id->m_rdf_type = RDF_Type::int32_t; - n_clothing_item_id->m_node_type = NodeType::Simple; - n_clothing_item_id->m_address = base + offset; - n_clothing_item_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_clothing_item_id); - -} -void node_from_body_appearance_modifier(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "type"; - auto n_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_appearance_modifier, field_name)); - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::appearance_modifier_type; - n_type->m_rdf_type = RDF_Type::Enum; - n_type->m_node_type = NodeType::Enum; - n_type->m_base_type = DF_Type::int16_t; - n_type->m_enum_type = "appearance_modifier_type"; - n_type->m_address = base + offset; - n_type->m_defined_in = "df.creature-raws.xml"; - n_type->m_first_value = 0; - n_type->m_last_value = 23; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - - field_name = "ranges"; - auto n_ranges = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_appearance_modifier, field_name)); - n_ranges->m_field_name = field_name; - n_ranges->m_df_type = DF_Type::int32_t; - n_ranges->m_rdf_type = RDF_Type::Array; - n_ranges->m_node_type = NodeType::Array; - n_ranges->m_addornements = "[7"; - n_ranges->m_array_size = 7; - n_ranges->m_address = base + offset; - n_ranges->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ranges); - - field_name = "desc_range"; - auto n_desc_range = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_appearance_modifier, field_name)); - n_desc_range->m_field_name = field_name; - n_desc_range->m_df_type = DF_Type::int32_t; - n_desc_range->m_rdf_type = RDF_Type::Array; - n_desc_range->m_node_type = NodeType::Array; - n_desc_range->m_addornements = "[6"; - n_desc_range->m_array_size = 6; - n_desc_range->m_address = base + offset; - n_desc_range->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_desc_range); - - field_name = "growth_rate"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_appearance_modifier, field_name)); - auto n_growth_rate = new NodeSimple; - n_growth_rate->m_field_name = field_name; - n_growth_rate->m_df_type = DF_Type::int32_t; - n_growth_rate->m_rdf_type = RDF_Type::int32_t; - n_growth_rate->m_node_type = NodeType::Simple; - n_growth_rate->m_address = base + offset; - n_growth_rate->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_growth_rate); - - field_name = "growth_interval"; - auto n_growth_interval = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_appearance_modifier, field_name)); - n_growth_interval->m_field_name = field_name; - n_growth_interval->m_df_type = DF_Type::appearance_modifier_growth_interval; - n_growth_interval->m_rdf_type = RDF_Type::Enum; - n_growth_interval->m_node_type = NodeType::Enum; - n_growth_interval->m_base_type = DF_Type::int16_t; - n_growth_interval->m_enum_type = "appearance_modifier_growth_interval"; - n_growth_interval->m_address = base + offset; - n_growth_interval->m_defined_in = "df.creature-raws.xml"; - n_growth_interval->m_first_value = 0; - n_growth_interval->m_last_value = 3; - n_growth_interval->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_growth_interval); - - field_name = "growth_min"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_appearance_modifier, field_name)); - auto n_growth_min = new NodeSimple; - n_growth_min->m_field_name = field_name; - n_growth_min->m_df_type = DF_Type::int32_t; - n_growth_min->m_rdf_type = RDF_Type::int32_t; - n_growth_min->m_node_type = NodeType::Simple; - n_growth_min->m_address = base + offset; - n_growth_min->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_growth_min); - - field_name = "growth_max"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_appearance_modifier, field_name)); - auto n_growth_max = new NodeSimple; - n_growth_max->m_field_name = field_name; - n_growth_max->m_df_type = DF_Type::int32_t; - n_growth_max->m_rdf_type = RDF_Type::int32_t; - n_growth_max->m_node_type = NodeType::Simple; - n_growth_max->m_address = base + offset; - n_growth_max->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_growth_max); - - field_name = "growth_start"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_appearance_modifier, field_name)); - auto n_growth_start = new NodeSimple; - n_growth_start->m_field_name = field_name; - n_growth_start->m_df_type = DF_Type::int32_t; - n_growth_start->m_rdf_type = RDF_Type::int32_t; - n_growth_start->m_node_type = NodeType::Simple; - n_growth_start->m_address = base + offset; - n_growth_start->m_comment = "in days"; - n_growth_start->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_growth_start); - - field_name = "growth_end"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_appearance_modifier, field_name)); - auto n_growth_end = new NodeSimple; - n_growth_end->m_field_name = field_name; - n_growth_end->m_df_type = DF_Type::int32_t; - n_growth_end->m_rdf_type = RDF_Type::int32_t; - n_growth_end->m_node_type = NodeType::Simple; - n_growth_end->m_address = base + offset; - n_growth_end->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_growth_end); - - field_name = "importance"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_appearance_modifier, field_name)); - auto n_importance = new NodeSimple; - n_importance->m_field_name = field_name; - n_importance->m_df_type = DF_Type::int32_t; - n_importance->m_rdf_type = RDF_Type::int32_t; - n_importance->m_node_type = NodeType::Simple; - n_importance->m_address = base + offset; - n_importance->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_importance); - - field_name = "noun"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_appearance_modifier, field_name)); - auto n_noun = new NodeSimple; - n_noun->m_field_name = field_name; - n_noun->m_df_type = DF_Type::Stl_string; - n_noun->m_rdf_type = RDF_Type::Stl_string; - n_noun->m_node_type = NodeType::Simple; - n_noun->m_address = base + offset; - n_noun->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_noun); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_appearance_modifier, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int16_t; - n_anon_1->m_rdf_type = RDF_Type::int16_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_appearance_modifier, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int16_t; - n_anon_2->m_rdf_type = RDF_Type::int16_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_appearance_modifier, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "id2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_appearance_modifier, field_name)); - auto n_id2 = new NodeSimple; - n_id2->m_field_name = field_name; - n_id2->m_df_type = DF_Type::int32_t; - n_id2->m_rdf_type = RDF_Type::int32_t; - n_id2->m_node_type = NodeType::Simple; - n_id2->m_address = base + offset; - n_id2->m_comment = "same as id"; - n_id2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id2); - -} -void node_from_bp_appearance_modifier(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "type"; - auto n_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::bp_appearance_modifier, field_name)); - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::appearance_modifier_type; - n_type->m_rdf_type = RDF_Type::Enum; - n_type->m_node_type = NodeType::Enum; - n_type->m_base_type = DF_Type::int16_t; - n_type->m_enum_type = "appearance_modifier_type"; - n_type->m_address = base + offset; - n_type->m_defined_in = "df.creature-raws.xml"; - n_type->m_first_value = 0; - n_type->m_last_value = 23; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - - field_name = "ranges"; - auto n_ranges = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::bp_appearance_modifier, field_name)); - n_ranges->m_field_name = field_name; - n_ranges->m_df_type = DF_Type::int32_t; - n_ranges->m_rdf_type = RDF_Type::Array; - n_ranges->m_node_type = NodeType::Array; - n_ranges->m_addornements = "[7"; - n_ranges->m_array_size = 7; - n_ranges->m_address = base + offset; - n_ranges->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ranges); - - field_name = "desc_range"; - auto n_desc_range = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::bp_appearance_modifier, field_name)); - n_desc_range->m_field_name = field_name; - n_desc_range->m_df_type = DF_Type::int32_t; - n_desc_range->m_rdf_type = RDF_Type::Array; - n_desc_range->m_node_type = NodeType::Array; - n_desc_range->m_addornements = "[6"; - n_desc_range->m_array_size = 6; - n_desc_range->m_address = base + offset; - n_desc_range->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_desc_range); - - field_name = "growth_rate"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::bp_appearance_modifier, field_name)); - auto n_growth_rate = new NodeSimple; - n_growth_rate->m_field_name = field_name; - n_growth_rate->m_df_type = DF_Type::int32_t; - n_growth_rate->m_rdf_type = RDF_Type::int32_t; - n_growth_rate->m_node_type = NodeType::Simple; - n_growth_rate->m_address = base + offset; - n_growth_rate->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_growth_rate); - - field_name = "growth_interval"; - auto n_growth_interval = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::bp_appearance_modifier, field_name)); - n_growth_interval->m_field_name = field_name; - n_growth_interval->m_df_type = DF_Type::appearance_modifier_growth_interval; - n_growth_interval->m_rdf_type = RDF_Type::Enum; - n_growth_interval->m_node_type = NodeType::Enum; - n_growth_interval->m_base_type = DF_Type::int16_t; - n_growth_interval->m_enum_type = "appearance_modifier_growth_interval"; - n_growth_interval->m_address = base + offset; - n_growth_interval->m_defined_in = "df.creature-raws.xml"; - n_growth_interval->m_first_value = 0; - n_growth_interval->m_last_value = 3; - n_growth_interval->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_growth_interval); - - field_name = "growth_min"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::bp_appearance_modifier, field_name)); - auto n_growth_min = new NodeSimple; - n_growth_min->m_field_name = field_name; - n_growth_min->m_df_type = DF_Type::int32_t; - n_growth_min->m_rdf_type = RDF_Type::int32_t; - n_growth_min->m_node_type = NodeType::Simple; - n_growth_min->m_address = base + offset; - n_growth_min->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_growth_min); - - field_name = "growth_max"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::bp_appearance_modifier, field_name)); - auto n_growth_max = new NodeSimple; - n_growth_max->m_field_name = field_name; - n_growth_max->m_df_type = DF_Type::int32_t; - n_growth_max->m_rdf_type = RDF_Type::int32_t; - n_growth_max->m_node_type = NodeType::Simple; - n_growth_max->m_address = base + offset; - n_growth_max->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_growth_max); - - field_name = "growth_start"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::bp_appearance_modifier, field_name)); - auto n_growth_start = new NodeSimple; - n_growth_start->m_field_name = field_name; - n_growth_start->m_df_type = DF_Type::int32_t; - n_growth_start->m_rdf_type = RDF_Type::int32_t; - n_growth_start->m_node_type = NodeType::Simple; - n_growth_start->m_address = base + offset; - n_growth_start->m_comment = "in days"; - n_growth_start->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_growth_start); - - field_name = "growth_end"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::bp_appearance_modifier, field_name)); - auto n_growth_end = new NodeSimple; - n_growth_end->m_field_name = field_name; - n_growth_end->m_df_type = DF_Type::int32_t; - n_growth_end->m_rdf_type = RDF_Type::int32_t; - n_growth_end->m_node_type = NodeType::Simple; - n_growth_end->m_address = base + offset; - n_growth_end->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_growth_end); - - field_name = "importance"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::bp_appearance_modifier, field_name)); - auto n_importance = new NodeSimple; - n_importance->m_field_name = field_name; - n_importance->m_df_type = DF_Type::int32_t; - n_importance->m_rdf_type = RDF_Type::int32_t; - n_importance->m_node_type = NodeType::Simple; - n_importance->m_address = base + offset; - n_importance->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_importance); - - field_name = "noun"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::bp_appearance_modifier, field_name)); - auto n_noun = new NodeSimple; - n_noun->m_field_name = field_name; - n_noun->m_df_type = DF_Type::Stl_string; - n_noun->m_rdf_type = RDF_Type::Stl_string; - n_noun->m_node_type = NodeType::Simple; - n_noun->m_address = base + offset; - n_noun->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_noun); - - field_name = "single_plural"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::bp_appearance_modifier, field_name)); - auto n_single_plural = new NodeSimple; - n_single_plural->m_field_name = field_name; - n_single_plural->m_df_type = DF_Type::int16_t; - n_single_plural->m_rdf_type = RDF_Type::int16_t; - n_single_plural->m_node_type = NodeType::Simple; - n_single_plural->m_address = base + offset; - n_single_plural->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_single_plural); - - field_name = "unk1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::bp_appearance_modifier, field_name)); - auto n_unk1 = new NodeSimple; - n_unk1->m_field_name = field_name; - n_unk1->m_df_type = DF_Type::int16_t; - n_unk1->m_rdf_type = RDF_Type::int16_t; - n_unk1->m_node_type = NodeType::Simple; - n_unk1->m_address = base + offset; - n_unk1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk1); - - field_name = "id1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::bp_appearance_modifier, field_name)); - auto n_id1 = new NodeSimple; - n_id1->m_field_name = field_name; - n_id1->m_df_type = DF_Type::int32_t; - n_id1->m_rdf_type = RDF_Type::int32_t; - n_id1->m_node_type = NodeType::Simple; - n_id1->m_address = base + offset; - n_id1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id1); - - field_name = "body_parts"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::bp_appearance_modifier, field_name)); - auto n_body_parts = new NodeVector; - n_body_parts->m_field_name = field_name; - n_body_parts->m_df_type = DF_Type::int16_t; - n_body_parts->m_rdf_type = RDF_Type::Vector; - n_body_parts->m_node_type = NodeType::Vector; - n_body_parts->m_addornements = "v"; - n_body_parts->m_address = base + offset; - n_body_parts->m_parent = p_node_parent; - n_body_parts->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_body_parts); - - field_name = "tissue_layer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::bp_appearance_modifier, field_name)); - auto n_tissue_layer = new NodeVector; - n_tissue_layer->m_field_name = field_name; - n_tissue_layer->m_df_type = DF_Type::int16_t; - n_tissue_layer->m_rdf_type = RDF_Type::Vector; - n_tissue_layer->m_node_type = NodeType::Vector; - n_tissue_layer->m_addornements = "v"; - n_tissue_layer->m_address = base + offset; - n_tissue_layer->m_parent = p_node_parent; - n_tissue_layer->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_tissue_layer); - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::bp_appearance_modifier, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - -} -void node_from_caste_clothing_item(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "body_part_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_clothing_item, field_name)); - auto n_body_part_id = new NodeSimple; - n_body_part_id->m_field_name = field_name; - n_body_part_id->m_df_type = DF_Type::int16_t; - n_body_part_id->m_rdf_type = RDF_Type::int16_t; - n_body_part_id->m_node_type = NodeType::Simple; - n_body_part_id->m_address = base + offset; - n_body_part_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_body_part_id); - - field_name = "unk_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_clothing_item, field_name)); - auto n_unk_4 = new NodeSimple; - n_unk_4->m_field_name = field_name; - n_unk_4->m_df_type = DF_Type::int32_t; - n_unk_4->m_rdf_type = RDF_Type::int32_t; - n_unk_4->m_node_type = NodeType::Simple; - n_unk_4->m_address = base + offset; - n_unk_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_4); - - field_name = "item"; - auto n_item = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_clothing_item, field_name)); - n_item->m_field_name = field_name; - n_item->m_df_type = DF_Type::item; - n_item->m_rdf_type = RDF_Type::Array; - n_item->m_comment = "under, over, cover"; - n_item->m_node_type = NodeType::Array; - n_item->m_defined_in = "df.items.xml"; - n_item->m_addornements = "[3*"; - n_item->m_array_size = 3; - n_item->m_address = base + offset; - n_item->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item); - - field_name = "unk_14"; - auto n_unk_14 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_clothing_item, field_name)); - n_unk_14->m_field_name = field_name; - n_unk_14->m_df_type = DF_Type::int32_t; - n_unk_14->m_rdf_type = RDF_Type::Array; - n_unk_14->m_node_type = NodeType::Array; - n_unk_14->m_addornements = "[3"; - n_unk_14->m_array_size = 3; - n_unk_14->m_address = base + offset; - n_unk_14->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_14); - - field_name = "size"; - auto n_size = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_clothing_item, field_name)); - n_size->m_field_name = field_name; - n_size->m_df_type = DF_Type::int32_t; - n_size->m_rdf_type = RDF_Type::Array; - n_size->m_node_type = NodeType::Array; - n_size->m_addornements = "[3"; - n_size->m_array_size = 3; - n_size->m_address = base + offset; - n_size->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_size); - - field_name = "permit"; - auto n_permit = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_clothing_item, field_name)); - n_permit->m_field_name = field_name; - n_permit->m_df_type = DF_Type::int32_t; - n_permit->m_rdf_type = RDF_Type::Array; - n_permit->m_node_type = NodeType::Array; - n_permit->m_addornements = "[3"; - n_permit->m_array_size = 3; - n_permit->m_address = base + offset; - n_permit->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_permit); - - field_name = "unk_38"; - auto n_unk_38 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_clothing_item, field_name)); - n_unk_38->m_field_name = field_name; - n_unk_38->m_df_type = DF_Type::int32_t; - n_unk_38->m_rdf_type = RDF_Type::Array; - n_unk_38->m_node_type = NodeType::Array; - n_unk_38->m_addornements = "[3"; - n_unk_38->m_array_size = 3; - n_unk_38->m_address = base + offset; - n_unk_38->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_38); - -} -void node_from_caste_attack(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_attack, field_name)); - auto n_name = new NodeSimple; - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Stl_string; - n_name->m_node_type = NodeType::Simple; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "verb_3rd"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_attack, field_name)); - auto n_verb_3rd = new NodeSimple; - n_verb_3rd->m_field_name = field_name; - n_verb_3rd->m_df_type = DF_Type::Stl_string; - n_verb_3rd->m_rdf_type = RDF_Type::Stl_string; - n_verb_3rd->m_node_type = NodeType::Simple; - n_verb_3rd->m_address = base + offset; - n_verb_3rd->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_verb_3rd); - - field_name = "verb_2nd"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_attack, field_name)); - auto n_verb_2nd = new NodeSimple; - n_verb_2nd->m_field_name = field_name; - n_verb_2nd->m_df_type = DF_Type::Stl_string; - n_verb_2nd->m_rdf_type = RDF_Type::Stl_string; - n_verb_2nd->m_node_type = NodeType::Simple; - n_verb_2nd->m_address = base + offset; - n_verb_2nd->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_verb_2nd); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_attack, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::caste_attack__T_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "specialattack_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_attack, field_name)); - auto n_specialattack_type = new NodeVector; - n_specialattack_type->m_field_name = field_name; - n_specialattack_type->m_df_type = DF_Type::int32_t; - n_specialattack_type->m_rdf_type = RDF_Type::Vector; - n_specialattack_type->m_node_type = NodeType::Vector; - n_specialattack_type->m_addornements = "v"; - n_specialattack_type->m_address = base + offset; - n_specialattack_type->m_comment = "0 = inject extract, 1 = suck blood, 2 = perform interaction"; - n_specialattack_type->m_parent = p_node_parent; - n_specialattack_type->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_specialattack_type); - - field_name = "specialattack_mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_attack, field_name)); - auto n_specialattack_mat_type = new NodeVector; - n_specialattack_mat_type->m_field_name = field_name; - n_specialattack_mat_type->m_df_type = DF_Type::int16_t; - n_specialattack_mat_type->m_rdf_type = RDF_Type::Vector; - n_specialattack_mat_type->m_node_type = NodeType::Vector; - n_specialattack_mat_type->m_addornements = "v"; - n_specialattack_mat_type->m_address = base + offset; - n_specialattack_mat_type->m_comment = "extract injected"; - n_specialattack_mat_type->m_parent = p_node_parent; - n_specialattack_mat_type->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_specialattack_mat_type); - - field_name = "specialattack_mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_attack, field_name)); - auto n_specialattack_mat_index = new NodeVector; - n_specialattack_mat_index->m_field_name = field_name; - n_specialattack_mat_index->m_df_type = DF_Type::int32_t; - n_specialattack_mat_index->m_rdf_type = RDF_Type::Vector; - n_specialattack_mat_index->m_node_type = NodeType::Vector; - n_specialattack_mat_index->m_addornements = "v"; - n_specialattack_mat_index->m_address = base + offset; - n_specialattack_mat_index->m_parent = p_node_parent; - n_specialattack_mat_index->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_specialattack_mat_index); - - field_name = "specialattack_mat_state"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_attack, field_name)); - auto n_specialattack_mat_state = new NodeVector; - n_specialattack_mat_state->m_field_name = field_name; - n_specialattack_mat_state->m_df_type = DF_Type::matter_state; - n_specialattack_mat_state->m_rdf_type = RDF_Type::Vector; - n_specialattack_mat_state->m_node_type = NodeType::Vector; - n_specialattack_mat_state->m_enum_base = DF_Type::int16_t; - n_specialattack_mat_state->m_defined_in = "df.materials.xml"; - n_specialattack_mat_state->m_addornements = "v"; - n_specialattack_mat_state->m_address = base + offset; - n_specialattack_mat_state->m_parent = p_node_parent; - n_specialattack_mat_state->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_specialattack_mat_state); - - field_name = "specialattack_temp_mat"; - auto n_specialattack_temp_mat = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_attack, field_name)); - n_specialattack_temp_mat->m_field_name = field_name; - n_specialattack_temp_mat->m_df_type = DF_Type::Stl_string; - n_specialattack_temp_mat->m_rdf_type = RDF_Type::Array; - n_specialattack_temp_mat->m_comment = "parsed during second pass"; - n_specialattack_temp_mat->m_node_type = NodeType::Array; - n_specialattack_temp_mat->m_addornements = "[3v*"; - n_specialattack_temp_mat->m_array_size = 3; - n_specialattack_temp_mat->m_address = base + offset; - n_specialattack_temp_mat->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_specialattack_temp_mat); - - field_name = "specialattack_min"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_attack, field_name)); - auto n_specialattack_min = new NodeVector; - n_specialattack_min->m_field_name = field_name; - n_specialattack_min->m_df_type = DF_Type::int32_t; - n_specialattack_min->m_rdf_type = RDF_Type::Vector; - n_specialattack_min->m_node_type = NodeType::Vector; - n_specialattack_min->m_addornements = "v"; - n_specialattack_min->m_address = base + offset; - n_specialattack_min->m_comment = "amount of extract injected or blood sucked"; - n_specialattack_min->m_parent = p_node_parent; - n_specialattack_min->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_specialattack_min); - - field_name = "specialattack_max"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_attack, field_name)); - auto n_specialattack_max = new NodeVector; - n_specialattack_max->m_field_name = field_name; - n_specialattack_max->m_df_type = DF_Type::int32_t; - n_specialattack_max->m_rdf_type = RDF_Type::Vector; - n_specialattack_max->m_node_type = NodeType::Vector; - n_specialattack_max->m_addornements = "v"; - n_specialattack_max->m_address = base + offset; - n_specialattack_max->m_parent = p_node_parent; - n_specialattack_max->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_specialattack_max); - - field_name = "contact_perc"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_attack, field_name)); - auto n_contact_perc = new NodeSimple; - n_contact_perc->m_field_name = field_name; - n_contact_perc->m_df_type = DF_Type::int32_t; - n_contact_perc->m_rdf_type = RDF_Type::int32_t; - n_contact_perc->m_node_type = NodeType::Simple; - n_contact_perc->m_address = base + offset; - n_contact_perc->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_contact_perc); - - field_name = "penetration_perc"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_attack, field_name)); - auto n_penetration_perc = new NodeSimple; - n_penetration_perc->m_field_name = field_name; - n_penetration_perc->m_df_type = DF_Type::int32_t; - n_penetration_perc->m_rdf_type = RDF_Type::int32_t; - n_penetration_perc->m_node_type = NodeType::Simple; - n_penetration_perc->m_address = base + offset; - n_penetration_perc->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_penetration_perc); - - field_name = "unk_v40_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_attack, field_name)); - auto n_unk_v40_1 = new NodeSimple; - n_unk_v40_1->m_field_name = field_name; - n_unk_v40_1->m_df_type = DF_Type::int16_t; - n_unk_v40_1->m_rdf_type = RDF_Type::int16_t; - n_unk_v40_1->m_node_type = NodeType::Simple; - n_unk_v40_1->m_address = base + offset; - n_unk_v40_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_1); - - field_name = "unk_v40_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_attack, field_name)); - auto n_unk_v40_2 = new NodeSimple; - n_unk_v40_2->m_field_name = field_name; - n_unk_v40_2->m_df_type = DF_Type::int16_t; - n_unk_v40_2->m_rdf_type = RDF_Type::int16_t; - n_unk_v40_2->m_node_type = NodeType::Simple; - n_unk_v40_2->m_address = base + offset; - n_unk_v40_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_2); - - field_name = "body_part_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_attack, field_name)); - auto n_body_part_idx = new NodeVector; - n_body_part_idx->m_field_name = field_name; - n_body_part_idx->m_df_type = DF_Type::int16_t; - n_body_part_idx->m_rdf_type = RDF_Type::Vector; - n_body_part_idx->m_node_type = NodeType::Vector; - n_body_part_idx->m_addornements = "v"; - n_body_part_idx->m_address = base + offset; - n_body_part_idx->m_parent = p_node_parent; - n_body_part_idx->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_body_part_idx); - - field_name = "tissue_layer_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_attack, field_name)); - auto n_tissue_layer_idx = new NodeVector; - n_tissue_layer_idx->m_field_name = field_name; - n_tissue_layer_idx->m_df_type = DF_Type::int16_t; - n_tissue_layer_idx->m_rdf_type = RDF_Type::Vector; - n_tissue_layer_idx->m_node_type = NodeType::Vector; - n_tissue_layer_idx->m_addornements = "v"; - n_tissue_layer_idx->m_address = base + offset; - n_tissue_layer_idx->m_parent = p_node_parent; - n_tissue_layer_idx->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_tissue_layer_idx); - - field_name = "skill"; - auto n_skill = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_attack, field_name)); - n_skill->m_field_name = field_name; - n_skill->m_df_type = DF_Type::job_skill; - n_skill->m_rdf_type = RDF_Type::Enum; - n_skill->m_node_type = NodeType::Enum; - n_skill->m_base_type = DF_Type::int16_t; - n_skill->m_enum_type = "job_skill"; - n_skill->m_address = base + offset; - n_skill->m_defined_in = "df.skills.xml"; - n_skill->m_first_value = -1; - n_skill->m_last_value = 134; - n_skill->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_skill); - - field_name = "velocity_modifier"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_attack, field_name)); - auto n_velocity_modifier = new NodeSimple; - n_velocity_modifier->m_field_name = field_name; - n_velocity_modifier->m_df_type = DF_Type::int32_t; - n_velocity_modifier->m_rdf_type = RDF_Type::int32_t; - n_velocity_modifier->m_node_type = NodeType::Simple; - n_velocity_modifier->m_address = base + offset; - n_velocity_modifier->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_velocity_modifier); - - field_name = "specialattack_interaction_tmp_name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_attack, field_name)); - auto n_specialattack_interaction_tmp_name = new NodeVector; - n_specialattack_interaction_tmp_name->m_field_name = field_name; - n_specialattack_interaction_tmp_name->m_df_type = DF_Type::Stl_string; - n_specialattack_interaction_tmp_name->m_rdf_type = RDF_Type::Vector; - n_specialattack_interaction_tmp_name->m_node_type = NodeType::Vector; - n_specialattack_interaction_tmp_name->m_addornements = "v*"; - n_specialattack_interaction_tmp_name->m_address = base + offset; - n_specialattack_interaction_tmp_name->m_comment = "parsed during second pass"; - n_specialattack_interaction_tmp_name->m_parent = p_node_parent; - n_specialattack_interaction_tmp_name->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_specialattack_interaction_tmp_name); - - field_name = "specialattack_interaction_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_attack, field_name)); - auto n_specialattack_interaction_id = new NodeVector; - n_specialattack_interaction_id->m_field_name = field_name; - n_specialattack_interaction_id->m_df_type = DF_Type::int32_t; - n_specialattack_interaction_id->m_rdf_type = RDF_Type::Vector; - n_specialattack_interaction_id->m_node_type = NodeType::Vector; - n_specialattack_interaction_id->m_addornements = "v"; - n_specialattack_interaction_id->m_address = base + offset; - n_specialattack_interaction_id->m_parent = p_node_parent; - n_specialattack_interaction_id->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_specialattack_interaction_id); - - field_name = "unk_v40_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_attack, field_name)); - auto n_unk_v40_3 = new NodeSimple; - n_unk_v40_3->m_field_name = field_name; - n_unk_v40_3->m_df_type = DF_Type::int32_t; - n_unk_v40_3->m_rdf_type = RDF_Type::int32_t; - n_unk_v40_3->m_node_type = NodeType::Simple; - n_unk_v40_3->m_address = base + offset; - n_unk_v40_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_3); - - field_name = "unk_v40_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_attack, field_name)); - auto n_unk_v40_4 = new NodeSimple; - n_unk_v40_4->m_field_name = field_name; - n_unk_v40_4->m_df_type = DF_Type::int32_t; - n_unk_v40_4->m_rdf_type = RDF_Type::int32_t; - n_unk_v40_4->m_node_type = NodeType::Simple; - n_unk_v40_4->m_address = base + offset; - n_unk_v40_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_4); - -} -void node_from_creature_interaction(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "bp_required_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction, field_name)); - auto n_bp_required_type = new NodeVector; - n_bp_required_type->m_field_name = field_name; - n_bp_required_type->m_df_type = DF_Type::Stl_string; - n_bp_required_type->m_rdf_type = RDF_Type::Vector; - n_bp_required_type->m_node_type = NodeType::Vector; - n_bp_required_type->m_addornements = "v*"; - n_bp_required_type->m_address = base + offset; - n_bp_required_type->m_parent = p_node_parent; - n_bp_required_type->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bp_required_type); - - field_name = "bp_required_name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction, field_name)); - auto n_bp_required_name = new NodeVector; - n_bp_required_name->m_field_name = field_name; - n_bp_required_name->m_df_type = DF_Type::Stl_string; - n_bp_required_name->m_rdf_type = RDF_Type::Vector; - n_bp_required_name->m_node_type = NodeType::Vector; - n_bp_required_name->m_addornements = "v*"; - n_bp_required_name->m_address = base + offset; - n_bp_required_name->m_parent = p_node_parent; - n_bp_required_name->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bp_required_name); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::Stl_string; - n_anon_1->m_rdf_type = RDF_Type::Stl_string; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::Stl_string; - n_anon_2->m_rdf_type = RDF_Type::Stl_string; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "material_str0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction, field_name)); - auto n_material_str0 = new NodeSimple; - n_material_str0->m_field_name = field_name; - n_material_str0->m_df_type = DF_Type::Stl_string; - n_material_str0->m_rdf_type = RDF_Type::Stl_string; - n_material_str0->m_node_type = NodeType::Simple; - n_material_str0->m_address = base + offset; - n_material_str0->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_material_str0); - - field_name = "material_str1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction, field_name)); - auto n_material_str1 = new NodeSimple; - n_material_str1->m_field_name = field_name; - n_material_str1->m_df_type = DF_Type::Stl_string; - n_material_str1->m_rdf_type = RDF_Type::Stl_string; - n_material_str1->m_node_type = NodeType::Simple; - n_material_str1->m_address = base + offset; - n_material_str1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_material_str1); - - field_name = "material_str2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction, field_name)); - auto n_material_str2 = new NodeSimple; - n_material_str2->m_field_name = field_name; - n_material_str2->m_df_type = DF_Type::Stl_string; - n_material_str2->m_rdf_type = RDF_Type::Stl_string; - n_material_str2->m_node_type = NodeType::Simple; - n_material_str2->m_address = base + offset; - n_material_str2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_material_str2); - - field_name = "material_breath"; - auto n_material_breath = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction, field_name)); - n_material_breath->m_field_name = field_name; - n_material_breath->m_df_type = DF_Type::breath_attack_type; - n_material_breath->m_rdf_type = RDF_Type::Enum; - n_material_breath->m_node_type = NodeType::Enum; - n_material_breath->m_base_type = enum_base_type(n_material_breath->m_df_type); - n_material_breath->m_enum_type = "breath_attack_type"; - n_material_breath->m_address = base + offset; - n_material_breath->m_defined_in = "df.interaction.xml"; - n_material_breath->m_first_value = 0; - n_material_breath->m_last_value = 20; - n_material_breath->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_material_breath); - - field_name = "verb_2nd"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction, field_name)); - auto n_verb_2nd = new NodeSimple; - n_verb_2nd->m_field_name = field_name; - n_verb_2nd->m_df_type = DF_Type::Stl_string; - n_verb_2nd->m_rdf_type = RDF_Type::Stl_string; - n_verb_2nd->m_node_type = NodeType::Simple; - n_verb_2nd->m_address = base + offset; - n_verb_2nd->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_verb_2nd); - - field_name = "verb_3rd"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction, field_name)); - auto n_verb_3rd = new NodeSimple; - n_verb_3rd->m_field_name = field_name; - n_verb_3rd->m_df_type = DF_Type::Stl_string; - n_verb_3rd->m_rdf_type = RDF_Type::Stl_string; - n_verb_3rd->m_node_type = NodeType::Simple; - n_verb_3rd->m_address = base + offset; - n_verb_3rd->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_verb_3rd); - - field_name = "verb_mutual"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction, field_name)); - auto n_verb_mutual = new NodeSimple; - n_verb_mutual->m_field_name = field_name; - n_verb_mutual->m_df_type = DF_Type::Stl_string; - n_verb_mutual->m_rdf_type = RDF_Type::Stl_string; - n_verb_mutual->m_node_type = NodeType::Simple; - n_verb_mutual->m_address = base + offset; - n_verb_mutual->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_verb_mutual); - - field_name = "verb_reverse_2nd"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction, field_name)); - auto n_verb_reverse_2nd = new NodeSimple; - n_verb_reverse_2nd->m_field_name = field_name; - n_verb_reverse_2nd->m_df_type = DF_Type::Stl_string; - n_verb_reverse_2nd->m_rdf_type = RDF_Type::Stl_string; - n_verb_reverse_2nd->m_node_type = NodeType::Simple; - n_verb_reverse_2nd->m_address = base + offset; - n_verb_reverse_2nd->m_comment = "for RETRACT_INTO_BP, e.g. 'unroll'"; - n_verb_reverse_2nd->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_verb_reverse_2nd); - - field_name = "verb_reverse_3rd"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction, field_name)); - auto n_verb_reverse_3rd = new NodeSimple; - n_verb_reverse_3rd->m_field_name = field_name; - n_verb_reverse_3rd->m_df_type = DF_Type::Stl_string; - n_verb_reverse_3rd->m_rdf_type = RDF_Type::Stl_string; - n_verb_reverse_3rd->m_node_type = NodeType::Simple; - n_verb_reverse_3rd->m_address = base + offset; - n_verb_reverse_3rd->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_verb_reverse_3rd); - - field_name = "target_verb_2nd"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction, field_name)); - auto n_target_verb_2nd = new NodeSimple; - n_target_verb_2nd->m_field_name = field_name; - n_target_verb_2nd->m_df_type = DF_Type::Stl_string; - n_target_verb_2nd->m_rdf_type = RDF_Type::Stl_string; - n_target_verb_2nd->m_node_type = NodeType::Simple; - n_target_verb_2nd->m_address = base + offset; - n_target_verb_2nd->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_target_verb_2nd); - - field_name = "target_verb_3rd"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction, field_name)); - auto n_target_verb_3rd = new NodeSimple; - n_target_verb_3rd->m_field_name = field_name; - n_target_verb_3rd->m_df_type = DF_Type::Stl_string; - n_target_verb_3rd->m_rdf_type = RDF_Type::Stl_string; - n_target_verb_3rd->m_node_type = NodeType::Simple; - n_target_verb_3rd->m_address = base + offset; - n_target_verb_3rd->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_target_verb_3rd); - - field_name = "interaction_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction, field_name)); - auto n_interaction_type = new NodeSimple; - n_interaction_type->m_field_name = field_name; - n_interaction_type->m_df_type = DF_Type::Stl_string; - n_interaction_type->m_rdf_type = RDF_Type::Stl_string; - n_interaction_type->m_node_type = NodeType::Simple; - n_interaction_type->m_address = base + offset; - n_interaction_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_interaction_type); - - field_name = "type_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction, field_name)); - auto n_type_id = new NodeSimple; - n_type_id->m_field_name = field_name; - n_type_id->m_df_type = DF_Type::int32_t; - n_type_id->m_rdf_type = RDF_Type::int32_t; - n_type_id->m_node_type = NodeType::Simple; - n_type_id->m_address = base + offset; - n_type_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type_id); - - field_name = "usage_hint"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction, field_name)); - auto n_usage_hint = new NodeVector; - n_usage_hint->m_field_name = field_name; - n_usage_hint->m_df_type = DF_Type::interaction_source_usage_hint; - n_usage_hint->m_rdf_type = RDF_Type::Vector; - n_usage_hint->m_node_type = NodeType::Vector; - n_usage_hint->m_enum_base = DF_Type::int32_t; - n_usage_hint->m_defined_in = "df.interaction.xml"; - n_usage_hint->m_addornements = "v"; - n_usage_hint->m_address = base + offset; - n_usage_hint->m_parent = p_node_parent; - n_usage_hint->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_usage_hint); - - field_name = "location_hint"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction, field_name)); - auto n_location_hint = new NodeVector; - n_location_hint->m_field_name = field_name; - n_location_hint->m_df_type = DF_Type::interaction_effect_location_hint; - n_location_hint->m_rdf_type = RDF_Type::Vector; - n_location_hint->m_node_type = NodeType::Vector; - n_location_hint->m_enum_base = DF_Type::int32_t; - n_location_hint->m_defined_in = "df.interaction.xml"; - n_location_hint->m_addornements = "v"; - n_location_hint->m_address = base + offset; - n_location_hint->m_parent = p_node_parent; - n_location_hint->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_location_hint); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::creature_interaction__T_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction, field_name)); - auto n_anon_3 = new NodeVector; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::Void; - n_anon_3->m_rdf_type = RDF_Type::Vector; - n_anon_3->m_node_type = NodeType::Vector; - n_anon_3->m_addornements = "v"; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - n_anon_3->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "target_flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction, field_name)); - auto n_target_flags = new NodeVector; - n_target_flags->m_field_name = field_name; - n_target_flags->m_df_type = DF_Type::creature_interaction_target_flags; - n_target_flags->m_rdf_type = RDF_Type::Vector; - n_target_flags->m_node_type = NodeType::Vector; - n_target_flags->m_defined_in = "df.creature-raws.xml"; - n_target_flags->m_addornements = "v"; - n_target_flags->m_address = base + offset; - n_target_flags->m_parent = p_node_parent; - n_target_flags->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_target_flags); - - field_name = "target_ranges"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction, field_name)); - auto n_target_ranges = new NodeVector; - n_target_ranges->m_field_name = field_name; - n_target_ranges->m_df_type = DF_Type::int32_t; - n_target_ranges->m_rdf_type = RDF_Type::Vector; - n_target_ranges->m_node_type = NodeType::Vector; - n_target_ranges->m_addornements = "v"; - n_target_ranges->m_address = base + offset; - n_target_ranges->m_parent = p_node_parent; - n_target_ranges->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_target_ranges); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction, field_name)); - auto n_anon_4 = new NodeVector; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::Void; - n_anon_4->m_rdf_type = RDF_Type::Vector; - n_anon_4->m_node_type = NodeType::Vector; - n_anon_4->m_addornements = "v"; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - n_anon_4->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "max_target_numbers"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction, field_name)); - auto n_max_target_numbers = new NodeVector; - n_max_target_numbers->m_field_name = field_name; - n_max_target_numbers->m_df_type = DF_Type::int32_t; - n_max_target_numbers->m_rdf_type = RDF_Type::Vector; - n_max_target_numbers->m_node_type = NodeType::Vector; - n_max_target_numbers->m_addornements = "v"; - n_max_target_numbers->m_address = base + offset; - n_max_target_numbers->m_parent = p_node_parent; - n_max_target_numbers->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_max_target_numbers); - - field_name = "verbal_speeches"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction, field_name)); - auto n_verbal_speeches = new NodeVector; - n_verbal_speeches->m_field_name = field_name; - n_verbal_speeches->m_df_type = DF_Type::int32_t; - n_verbal_speeches->m_rdf_type = RDF_Type::Vector; - n_verbal_speeches->m_node_type = NodeType::Vector; - n_verbal_speeches->m_addornements = "v"; - n_verbal_speeches->m_address = base + offset; - n_verbal_speeches->m_parent = p_node_parent; - n_verbal_speeches->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_verbal_speeches); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction, field_name)); - auto n_anon_5 = new NodeVector; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::Void; - n_anon_5->m_rdf_type = RDF_Type::Vector; - n_anon_5->m_node_type = NodeType::Vector; - n_anon_5->m_addornements = "v"; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - n_anon_5->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "adv_name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction, field_name)); - auto n_adv_name = new NodeSimple; - n_adv_name->m_field_name = field_name; - n_adv_name->m_df_type = DF_Type::Stl_string; - n_adv_name->m_rdf_type = RDF_Type::Stl_string; - n_adv_name->m_node_type = NodeType::Simple; - n_adv_name->m_address = base + offset; - n_adv_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_adv_name); - - field_name = "wait_period"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction, field_name)); - auto n_wait_period = new NodeSimple; - n_wait_period->m_field_name = field_name; - n_wait_period->m_df_type = DF_Type::int32_t; - n_wait_period->m_rdf_type = RDF_Type::int32_t; - n_wait_period->m_node_type = NodeType::Simple; - n_wait_period->m_address = base + offset; - n_wait_period->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_wait_period); - -} -void node_from_caste_body_info__T_interactions(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "type"; - auto n_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info__T_interactions, field_name)); - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::caste_body_info__T_interactions__T_type; - n_type->m_rdf_type = RDF_Type::Enum; - n_type->m_node_type = NodeType::Enum; - n_type->m_base_type = DF_Type::int32_t; - n_type->m_enum_type = "caste_body_info::T_interactions::T_type"; - n_type->m_address = base + offset; - n_type->m_first_value = 0; - n_type->m_last_value = 2; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - - field_name = "interaction"; - auto n_interaction = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info__T_interactions, field_name)); - n_interaction->m_field_name = field_name; - n_interaction->m_df_type = DF_Type::creature_interaction; - n_interaction->m_rdf_type = RDF_Type::Struct; - n_interaction->m_node_type = NodeType::Compound; - n_interaction->m_address = base + offset; - n_interaction->m_defined_in = "df.creature-raws.xml"; - n_interaction->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_interaction); - -} -void node_from_caste_body_info__T_extra_butcher_objects(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info__T_extra_butcher_objects, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int16_t; - n_anon_1->m_rdf_type = RDF_Type::int16_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info__T_extra_butcher_objects, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::Stl_string; - n_anon_2->m_rdf_type = RDF_Type::Stl_string; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info__T_extra_butcher_objects, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info__T_extra_butcher_objects, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::Stl_string; - n_anon_4->m_rdf_type = RDF_Type::Stl_string; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info__T_extra_butcher_objects, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::Stl_string; - n_anon_5->m_rdf_type = RDF_Type::Stl_string; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info__T_extra_butcher_objects, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::Stl_string; - n_anon_6->m_rdf_type = RDF_Type::Stl_string; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info__T_extra_butcher_objects, field_name)); - auto n_anon_7 = new NodeSimple; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::Stl_string; - n_anon_7->m_rdf_type = RDF_Type::Stl_string; - n_anon_7->m_node_type = NodeType::Simple; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_7); - - field_name = "anon_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info__T_extra_butcher_objects, field_name)); - auto n_anon_8 = new NodeSimple; - n_anon_8->m_field_name = field_name; - n_anon_8->m_df_type = DF_Type::Stl_string; - n_anon_8->m_rdf_type = RDF_Type::Stl_string; - n_anon_8->m_node_type = NodeType::Simple; - n_anon_8->m_address = base + offset; - n_anon_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_8); - - field_name = "anon_9"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info__T_extra_butcher_objects, field_name)); - auto n_anon_9 = new NodeSimple; - n_anon_9->m_field_name = field_name; - n_anon_9->m_df_type = DF_Type::int16_t; - n_anon_9->m_rdf_type = RDF_Type::int16_t; - n_anon_9->m_node_type = NodeType::Simple; - n_anon_9->m_address = base + offset; - n_anon_9->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_9); - - field_name = "anon_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info__T_extra_butcher_objects, field_name)); - auto n_anon_10 = new NodeSimple; - n_anon_10->m_field_name = field_name; - n_anon_10->m_df_type = DF_Type::int16_t; - n_anon_10->m_rdf_type = RDF_Type::int16_t; - n_anon_10->m_node_type = NodeType::Simple; - n_anon_10->m_address = base + offset; - n_anon_10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_10); - - field_name = "anon_11"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info__T_extra_butcher_objects, field_name)); - auto n_anon_11 = new NodeSimple; - n_anon_11->m_field_name = field_name; - n_anon_11->m_df_type = DF_Type::int16_t; - n_anon_11->m_rdf_type = RDF_Type::int16_t; - n_anon_11->m_node_type = NodeType::Simple; - n_anon_11->m_address = base + offset; - n_anon_11->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_11); - - field_name = "anon_12"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info__T_extra_butcher_objects, field_name)); - auto n_anon_12 = new NodeSimple; - n_anon_12->m_field_name = field_name; - n_anon_12->m_df_type = DF_Type::int32_t; - n_anon_12->m_rdf_type = RDF_Type::int32_t; - n_anon_12->m_node_type = NodeType::Simple; - n_anon_12->m_address = base + offset; - n_anon_12->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_12); - - field_name = "anon_13"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info__T_extra_butcher_objects, field_name)); - auto n_anon_13 = new NodeSimple; - n_anon_13->m_field_name = field_name; - n_anon_13->m_df_type = DF_Type::int32_t; - n_anon_13->m_rdf_type = RDF_Type::int32_t; - n_anon_13->m_node_type = NodeType::Simple; - n_anon_13->m_address = base + offset; - n_anon_13->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_13); - -} -void node_from_caste_body_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "body_parts"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info, field_name)); - auto n_body_parts = new NodeVector; - n_body_parts->m_field_name = field_name; - n_body_parts->m_df_type = DF_Type::body_part_raw; - n_body_parts->m_rdf_type = RDF_Type::Vector; - n_body_parts->m_node_type = NodeType::Vector; - n_body_parts->m_defined_in = "df.creature-raws.xml"; - n_body_parts->m_addornements = "v*"; - n_body_parts->m_address = base + offset; - n_body_parts->m_parent = p_node_parent; - n_body_parts->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_body_parts); - - field_name = "attacks"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info, field_name)); - auto n_attacks = new NodeVector; - n_attacks->m_field_name = field_name; - n_attacks->m_df_type = DF_Type::caste_attack; - n_attacks->m_rdf_type = RDF_Type::Vector; - n_attacks->m_node_type = NodeType::Vector; - n_attacks->m_defined_in = "df.creature-raws.xml"; - n_attacks->m_addornements = "v*"; - n_attacks->m_address = base + offset; - n_attacks->m_parent = p_node_parent; - n_attacks->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_attacks); - - field_name = "interactions"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info, field_name)); - auto n_interactions = new NodeVector; - n_interactions->m_field_name = field_name; - n_interactions->m_df_type = DF_Type::caste_body_info__T_interactions; - n_interactions->m_rdf_type = RDF_Type::Vector; - n_interactions->m_node_type = NodeType::Vector; - n_interactions->m_addornements = "v*"; - n_interactions->m_address = base + offset; - n_interactions->m_parent = p_node_parent; - n_interactions->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_interactions); - - field_name = "extra_butcher_objects"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info, field_name)); - auto n_extra_butcher_objects = new NodeVector; - n_extra_butcher_objects->m_field_name = field_name; - n_extra_butcher_objects->m_df_type = DF_Type::caste_body_info__T_extra_butcher_objects; - n_extra_butcher_objects->m_rdf_type = RDF_Type::Vector; - n_extra_butcher_objects->m_node_type = NodeType::Vector; - n_extra_butcher_objects->m_addornements = "v*"; - n_extra_butcher_objects->m_address = base + offset; - n_extra_butcher_objects->m_parent = p_node_parent; - n_extra_butcher_objects->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_extra_butcher_objects); - - field_name = "total_relsize"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info, field_name)); - auto n_total_relsize = new NodeSimple; - n_total_relsize->m_field_name = field_name; - n_total_relsize->m_df_type = DF_Type::int32_t; - n_total_relsize->m_rdf_type = RDF_Type::int32_t; - n_total_relsize->m_node_type = NodeType::Simple; - n_total_relsize->m_address = base + offset; - n_total_relsize->m_comment = "unless INTERNAL or EMBEDDED"; - n_total_relsize->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_total_relsize); - - field_name = "layer_part"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info, field_name)); - auto n_layer_part = new NodeVector; - n_layer_part->m_field_name = field_name; - n_layer_part->m_df_type = DF_Type::int16_t; - n_layer_part->m_rdf_type = RDF_Type::Vector; - n_layer_part->m_node_type = NodeType::Vector; - n_layer_part->m_addornements = "v"; - n_layer_part->m_address = base + offset; - n_layer_part->m_refers_to = "$$._global.layer_idx[$].refers-to"; - n_layer_part->m_parent = p_node_parent; - n_layer_part->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_layer_part); - - field_name = "layer_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info, field_name)); - auto n_layer_idx = new NodeVector; - n_layer_idx->m_field_name = field_name; - n_layer_idx->m_df_type = DF_Type::int16_t; - n_layer_idx->m_rdf_type = RDF_Type::Vector; - n_layer_idx->m_node_type = NodeType::Vector; - n_layer_idx->m_addornements = "v"; - n_layer_idx->m_address = base + offset; - n_layer_idx->m_parent = p_node_parent; - n_layer_idx->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_layer_idx); - - field_name = "numbered_masks"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info, field_name)); - auto n_numbered_masks = new NodeVector; - n_numbered_masks->m_field_name = field_name; - n_numbered_masks->m_df_type = DF_Type::uint32_t; - n_numbered_masks->m_rdf_type = RDF_Type::Vector; - n_numbered_masks->m_node_type = NodeType::Vector; - n_numbered_masks->m_addornements = "v"; - n_numbered_masks->m_address = base + offset; - n_numbered_masks->m_comment = "1 bit per instance of a numbered body part"; - n_numbered_masks->m_parent = p_node_parent; - n_numbered_masks->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_numbered_masks); - - field_name = "layer_nonsolid"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info, field_name)); - auto n_layer_nonsolid = new NodeVector; - n_layer_nonsolid->m_field_name = field_name; - n_layer_nonsolid->m_df_type = DF_Type::int32_t; - n_layer_nonsolid->m_rdf_type = RDF_Type::Vector; - n_layer_nonsolid->m_node_type = NodeType::Vector; - n_layer_nonsolid->m_addornements = "v"; - n_layer_nonsolid->m_address = base + offset; - n_layer_nonsolid->m_refers_to = "$$._global.layer_part[$].refers-to"; - n_layer_nonsolid->m_parent = p_node_parent; - n_layer_nonsolid->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_layer_nonsolid); - - field_name = "nonsolid_layers"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info, field_name)); - auto n_nonsolid_layers = new NodeVector; - n_nonsolid_layers->m_field_name = field_name; - n_nonsolid_layers->m_df_type = DF_Type::int32_t; - n_nonsolid_layers->m_rdf_type = RDF_Type::Vector; - n_nonsolid_layers->m_node_type = NodeType::Vector; - n_nonsolid_layers->m_addornements = "v"; - n_nonsolid_layers->m_address = base + offset; - n_nonsolid_layers->m_parent = p_node_parent; - n_nonsolid_layers->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_nonsolid_layers); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::caste_body_info__T_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "gait_info"; - auto n_gait_info = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info, field_name)); - n_gait_info->m_field_name = field_name; - n_gait_info->m_df_type = DF_Type::gait_info; - n_gait_info->m_rdf_type = RDF_Type::Array; - n_gait_info->m_node_type = NodeType::Array; - n_gait_info->m_index_enum = DF_Type::gait_type; - n_gait_info->m_defined_in = "df.creature-raws.xml"; - n_gait_info->m_addornements = "[5v*"; - n_gait_info->m_array_size = 5; - n_gait_info->m_address = base + offset; - n_gait_info->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_gait_info); - - field_name = "materials"; - auto n_materials = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info, field_name)); - n_materials->m_field_name = field_name; - n_materials->m_df_type = DF_Type::material_vec_ref; - n_materials->m_rdf_type = RDF_Type::Struct; - n_materials->m_node_type = NodeType::Compound; - n_materials->m_address = base + offset; - n_materials->m_defined_in = "df.materials.xml"; - n_materials->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_materials); - - field_name = "fraction_total"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info, field_name)); - auto n_fraction_total = new NodeSimple; - n_fraction_total->m_field_name = field_name; - n_fraction_total->m_df_type = DF_Type::int32_t; - n_fraction_total->m_rdf_type = RDF_Type::int32_t; - n_fraction_total->m_node_type = NodeType::Simple; - n_fraction_total->m_address = base + offset; - n_fraction_total->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_fraction_total); - - field_name = "fraction_base"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info, field_name)); - auto n_fraction_base = new NodeSimple; - n_fraction_base->m_field_name = field_name; - n_fraction_base->m_df_type = DF_Type::int32_t; - n_fraction_base->m_rdf_type = RDF_Type::int32_t; - n_fraction_base->m_node_type = NodeType::Simple; - n_fraction_base->m_address = base + offset; - n_fraction_base->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_fraction_base); - - field_name = "fraction_fat"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info, field_name)); - auto n_fraction_fat = new NodeSimple; - n_fraction_fat->m_field_name = field_name; - n_fraction_fat->m_df_type = DF_Type::int32_t; - n_fraction_fat->m_rdf_type = RDF_Type::int32_t; - n_fraction_fat->m_node_type = NodeType::Simple; - n_fraction_fat->m_address = base + offset; - n_fraction_fat->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_fraction_fat); - - field_name = "fraction_muscle"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info, field_name)); - auto n_fraction_muscle = new NodeSimple; - n_fraction_muscle->m_field_name = field_name; - n_fraction_muscle->m_df_type = DF_Type::int32_t; - n_fraction_muscle->m_rdf_type = RDF_Type::int32_t; - n_fraction_muscle->m_node_type = NodeType::Simple; - n_fraction_muscle->m_address = base + offset; - n_fraction_muscle->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_fraction_muscle); - - field_name = "unk_v40_2"; - auto n_unk_v40_2 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info, field_name)); - n_unk_v40_2->m_field_name = field_name; - n_unk_v40_2->m_df_type = DF_Type::int32_t; - n_unk_v40_2->m_rdf_type = RDF_Type::Array; - n_unk_v40_2->m_node_type = NodeType::Array; - n_unk_v40_2->m_addornements = "[11"; - n_unk_v40_2->m_array_size = 11; - n_unk_v40_2->m_address = base + offset; - n_unk_v40_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_2); - -} -void node_from_caste_raw__T_misc(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "litter_size_min"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); - auto n_litter_size_min = new NodeSimple; - n_litter_size_min->m_field_name = field_name; - n_litter_size_min->m_df_type = DF_Type::int16_t; - n_litter_size_min->m_rdf_type = RDF_Type::int16_t; - n_litter_size_min->m_node_type = NodeType::Simple; - n_litter_size_min->m_address = base + offset; - n_litter_size_min->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_litter_size_min); - - field_name = "litter_size_max"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); - auto n_litter_size_max = new NodeSimple; - n_litter_size_max->m_field_name = field_name; - n_litter_size_max->m_df_type = DF_Type::int16_t; - n_litter_size_max->m_rdf_type = RDF_Type::int16_t; - n_litter_size_max->m_node_type = NodeType::Simple; - n_litter_size_max->m_address = base + offset; - n_litter_size_max->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_litter_size_max); - - field_name = "penetratepower"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); - auto n_penetratepower = new NodeSimple; - n_penetratepower->m_field_name = field_name; - n_penetratepower->m_df_type = DF_Type::int16_t; - n_penetratepower->m_rdf_type = RDF_Type::int16_t; - n_penetratepower->m_node_type = NodeType::Simple; - n_penetratepower->m_address = base + offset; - n_penetratepower->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_penetratepower); - - field_name = "vermin_bite_chance"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); - auto n_vermin_bite_chance = new NodeSimple; - n_vermin_bite_chance->m_field_name = field_name; - n_vermin_bite_chance->m_df_type = DF_Type::int16_t; - n_vermin_bite_chance->m_rdf_type = RDF_Type::int16_t; - n_vermin_bite_chance->m_node_type = NodeType::Simple; - n_vermin_bite_chance->m_address = base + offset; - n_vermin_bite_chance->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_vermin_bite_chance); - - field_name = "grasstrample"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); - auto n_grasstrample = new NodeSimple; - n_grasstrample->m_field_name = field_name; - n_grasstrample->m_df_type = DF_Type::int16_t; - n_grasstrample->m_rdf_type = RDF_Type::int16_t; - n_grasstrample->m_node_type = NodeType::Simple; - n_grasstrample->m_address = base + offset; - n_grasstrample->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_grasstrample); - - field_name = "buildingdestroyer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); - auto n_buildingdestroyer = new NodeSimple; - n_buildingdestroyer->m_field_name = field_name; - n_buildingdestroyer->m_df_type = DF_Type::int16_t; - n_buildingdestroyer->m_rdf_type = RDF_Type::int16_t; - n_buildingdestroyer->m_node_type = NodeType::Simple; - n_buildingdestroyer->m_address = base + offset; - n_buildingdestroyer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_buildingdestroyer); - - field_name = "itemcorpse_itemtype"; - auto n_itemcorpse_itemtype = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); - n_itemcorpse_itemtype->m_field_name = field_name; - n_itemcorpse_itemtype->m_df_type = DF_Type::item_type; - n_itemcorpse_itemtype->m_rdf_type = RDF_Type::Enum; - n_itemcorpse_itemtype->m_node_type = NodeType::Enum; - n_itemcorpse_itemtype->m_base_type = DF_Type::int16_t; - n_itemcorpse_itemtype->m_enum_type = "item_type"; - n_itemcorpse_itemtype->m_address = base + offset; - n_itemcorpse_itemtype->m_defined_in = "df.item-raws.xml"; - n_itemcorpse_itemtype->m_first_value = -1; - n_itemcorpse_itemtype->m_last_value = 90; - n_itemcorpse_itemtype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_itemcorpse_itemtype); - - field_name = "itemcorpse_itemsubtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); - auto n_itemcorpse_itemsubtype = new NodeSimple; - n_itemcorpse_itemsubtype->m_field_name = field_name; - n_itemcorpse_itemsubtype->m_df_type = DF_Type::int16_t; - n_itemcorpse_itemsubtype->m_rdf_type = RDF_Type::int16_t; - n_itemcorpse_itemsubtype->m_node_type = NodeType::Simple; - n_itemcorpse_itemsubtype->m_address = base + offset; - n_itemcorpse_itemsubtype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_itemcorpse_itemsubtype); - - field_name = "itemcorpse_materialtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); - auto n_itemcorpse_materialtype = new NodeSimple; - n_itemcorpse_materialtype->m_field_name = field_name; - n_itemcorpse_materialtype->m_df_type = DF_Type::int16_t; - n_itemcorpse_materialtype->m_rdf_type = RDF_Type::int16_t; - n_itemcorpse_materialtype->m_node_type = NodeType::Simple; - n_itemcorpse_materialtype->m_address = base + offset; - n_itemcorpse_materialtype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_itemcorpse_materialtype); - - field_name = "itemcorpse_materialindex"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); - auto n_itemcorpse_materialindex = new NodeSimple; - n_itemcorpse_materialindex->m_field_name = field_name; - n_itemcorpse_materialindex->m_df_type = DF_Type::int16_t; - n_itemcorpse_materialindex->m_rdf_type = RDF_Type::int16_t; - n_itemcorpse_materialindex->m_node_type = NodeType::Simple; - n_itemcorpse_materialindex->m_address = base + offset; - n_itemcorpse_materialindex->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_itemcorpse_materialindex); - - field_name = "itemcorpse_quality"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); - auto n_itemcorpse_quality = new NodeSimple; - n_itemcorpse_quality->m_field_name = field_name; - n_itemcorpse_quality->m_df_type = DF_Type::int16_t; - n_itemcorpse_quality->m_rdf_type = RDF_Type::int16_t; - n_itemcorpse_quality->m_node_type = NodeType::Simple; - n_itemcorpse_quality->m_address = base + offset; - n_itemcorpse_quality->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_itemcorpse_quality); - - field_name = "remains_color"; - auto n_remains_color = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); - n_remains_color->m_field_name = field_name; - n_remains_color->m_df_type = DF_Type::int16_t; - n_remains_color->m_rdf_type = RDF_Type::Array; - n_remains_color->m_node_type = NodeType::Array; - n_remains_color->m_addornements = "[3"; - n_remains_color->m_array_size = 3; - n_remains_color->m_address = base + offset; - n_remains_color->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_remains_color); - - field_name = "difficulty"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); - auto n_difficulty = new NodeSimple; - n_difficulty->m_field_name = field_name; - n_difficulty->m_df_type = DF_Type::int16_t; - n_difficulty->m_rdf_type = RDF_Type::int16_t; - n_difficulty->m_node_type = NodeType::Simple; - n_difficulty->m_address = base + offset; - n_difficulty->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_difficulty); - - field_name = "caste_glowcolor"; - auto n_caste_glowcolor = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); - n_caste_glowcolor->m_field_name = field_name; - n_caste_glowcolor->m_df_type = DF_Type::int16_t; - n_caste_glowcolor->m_rdf_type = RDF_Type::Array; - n_caste_glowcolor->m_node_type = NodeType::Array; - n_caste_glowcolor->m_addornements = "[3"; - n_caste_glowcolor->m_array_size = 3; - n_caste_glowcolor->m_address = base + offset; - n_caste_glowcolor->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_caste_glowcolor); - - field_name = "beach_frequency"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); - auto n_beach_frequency = new NodeSimple; - n_beach_frequency->m_field_name = field_name; - n_beach_frequency->m_df_type = DF_Type::int16_t; - n_beach_frequency->m_rdf_type = RDF_Type::int16_t; - n_beach_frequency->m_node_type = NodeType::Simple; - n_beach_frequency->m_address = base + offset; - n_beach_frequency->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_beach_frequency); - - field_name = "clutch_size_min"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); - auto n_clutch_size_min = new NodeSimple; - n_clutch_size_min->m_field_name = field_name; - n_clutch_size_min->m_df_type = DF_Type::int16_t; - n_clutch_size_min->m_rdf_type = RDF_Type::int16_t; - n_clutch_size_min->m_node_type = NodeType::Simple; - n_clutch_size_min->m_address = base + offset; - n_clutch_size_min->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_clutch_size_min); - - field_name = "clutch_size_max"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); - auto n_clutch_size_max = new NodeSimple; - n_clutch_size_max->m_field_name = field_name; - n_clutch_size_max->m_df_type = DF_Type::int16_t; - n_clutch_size_max->m_rdf_type = RDF_Type::int16_t; - n_clutch_size_max->m_node_type = NodeType::Simple; - n_clutch_size_max->m_address = base + offset; - n_clutch_size_max->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_clutch_size_max); - - field_name = "vision_arc_min"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); - auto n_vision_arc_min = new NodeSimple; - n_vision_arc_min->m_field_name = field_name; - n_vision_arc_min->m_df_type = DF_Type::int16_t; - n_vision_arc_min->m_rdf_type = RDF_Type::int16_t; - n_vision_arc_min->m_node_type = NodeType::Simple; - n_vision_arc_min->m_address = base + offset; - n_vision_arc_min->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_vision_arc_min); - - field_name = "vision_arc_max"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); - auto n_vision_arc_max = new NodeSimple; - n_vision_arc_max->m_field_name = field_name; - n_vision_arc_max->m_df_type = DF_Type::int16_t; - n_vision_arc_max->m_rdf_type = RDF_Type::int16_t; - n_vision_arc_max->m_node_type = NodeType::Simple; - n_vision_arc_max->m_address = base + offset; - n_vision_arc_max->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_vision_arc_max); - - field_name = "speed"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); - auto n_speed = new NodeSimple; - n_speed->m_field_name = field_name; - n_speed->m_df_type = DF_Type::int32_t; - n_speed->m_rdf_type = RDF_Type::int32_t; - n_speed->m_node_type = NodeType::Simple; - n_speed->m_address = base + offset; - n_speed->m_comment = "no longer used"; - n_speed->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_speed); - - field_name = "modvalue"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); - auto n_modvalue = new NodeSimple; - n_modvalue->m_field_name = field_name; - n_modvalue->m_df_type = DF_Type::int32_t; - n_modvalue->m_rdf_type = RDF_Type::int32_t; - n_modvalue->m_node_type = NodeType::Simple; - n_modvalue->m_address = base + offset; - n_modvalue->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_modvalue); - - field_name = "petvalue"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); - auto n_petvalue = new NodeSimple; - n_petvalue->m_field_name = field_name; - n_petvalue->m_df_type = DF_Type::int32_t; - n_petvalue->m_rdf_type = RDF_Type::int32_t; - n_petvalue->m_node_type = NodeType::Simple; - n_petvalue->m_address = base + offset; - n_petvalue->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_petvalue); - - field_name = "milkable"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); - auto n_milkable = new NodeSimple; - n_milkable->m_field_name = field_name; - n_milkable->m_df_type = DF_Type::int32_t; - n_milkable->m_rdf_type = RDF_Type::int32_t; - n_milkable->m_node_type = NodeType::Simple; - n_milkable->m_address = base + offset; - n_milkable->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_milkable); - - field_name = "viewrange"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); - auto n_viewrange = new NodeSimple; - n_viewrange->m_field_name = field_name; - n_viewrange->m_df_type = DF_Type::int32_t; - n_viewrange->m_rdf_type = RDF_Type::int32_t; - n_viewrange->m_node_type = NodeType::Simple; - n_viewrange->m_address = base + offset; - n_viewrange->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_viewrange); - - field_name = "maxage_min"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); - auto n_maxage_min = new NodeSimple; - n_maxage_min->m_field_name = field_name; - n_maxage_min->m_df_type = DF_Type::int32_t; - n_maxage_min->m_rdf_type = RDF_Type::int32_t; - n_maxage_min->m_node_type = NodeType::Simple; - n_maxage_min->m_address = base + offset; - n_maxage_min->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_maxage_min); - - field_name = "maxage_max"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); - auto n_maxage_max = new NodeSimple; - n_maxage_max->m_field_name = field_name; - n_maxage_max->m_df_type = DF_Type::int32_t; - n_maxage_max->m_rdf_type = RDF_Type::int32_t; - n_maxage_max->m_node_type = NodeType::Simple; - n_maxage_max->m_address = base + offset; - n_maxage_max->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_maxage_max); - - field_name = "baby_age"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); - auto n_baby_age = new NodeSimple; - n_baby_age->m_field_name = field_name; - n_baby_age->m_df_type = DF_Type::int32_t; - n_baby_age->m_rdf_type = RDF_Type::int32_t; - n_baby_age->m_node_type = NodeType::Simple; - n_baby_age->m_address = base + offset; - n_baby_age->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_baby_age); - - field_name = "child_age"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); - auto n_child_age = new NodeSimple; - n_child_age->m_field_name = field_name; - n_child_age->m_df_type = DF_Type::int32_t; - n_child_age->m_rdf_type = RDF_Type::int32_t; - n_child_age->m_node_type = NodeType::Simple; - n_child_age->m_address = base + offset; - n_child_age->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_child_age); - - field_name = "swim_speed"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); - auto n_swim_speed = new NodeSimple; - n_swim_speed->m_field_name = field_name; - n_swim_speed->m_df_type = DF_Type::int32_t; - n_swim_speed->m_rdf_type = RDF_Type::int32_t; - n_swim_speed->m_node_type = NodeType::Simple; - n_swim_speed->m_address = base + offset; - n_swim_speed->m_comment = "no longer used"; - n_swim_speed->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_swim_speed); - - field_name = "trade_capacity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); - auto n_trade_capacity = new NodeSimple; - n_trade_capacity->m_field_name = field_name; - n_trade_capacity->m_df_type = DF_Type::int32_t; - n_trade_capacity->m_rdf_type = RDF_Type::int32_t; - n_trade_capacity->m_node_type = NodeType::Simple; - n_trade_capacity->m_address = base + offset; - n_trade_capacity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_trade_capacity); - - field_name = "unk4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); - auto n_unk4 = new NodeSimple; - n_unk4->m_field_name = field_name; - n_unk4->m_df_type = DF_Type::int32_t; - n_unk4->m_rdf_type = RDF_Type::int32_t; - n_unk4->m_node_type = NodeType::Simple; - n_unk4->m_address = base + offset; - n_unk4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk4); - - field_name = "pop_ratio"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); - auto n_pop_ratio = new NodeSimple; - n_pop_ratio->m_field_name = field_name; - n_pop_ratio->m_df_type = DF_Type::int32_t; - n_pop_ratio->m_rdf_type = RDF_Type::int32_t; - n_pop_ratio->m_node_type = NodeType::Simple; - n_pop_ratio->m_address = base + offset; - n_pop_ratio->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pop_ratio); - - field_name = "adult_size"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); - auto n_adult_size = new NodeSimple; - n_adult_size->m_field_name = field_name; - n_adult_size->m_df_type = DF_Type::int32_t; - n_adult_size->m_rdf_type = RDF_Type::int32_t; - n_adult_size->m_node_type = NodeType::Simple; - n_adult_size->m_address = base + offset; - n_adult_size->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_adult_size); - - field_name = "bone_mat"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); - auto n_bone_mat = new NodeSimple; - n_bone_mat->m_field_name = field_name; - n_bone_mat->m_df_type = DF_Type::int32_t; - n_bone_mat->m_rdf_type = RDF_Type::int32_t; - n_bone_mat->m_node_type = NodeType::Simple; - n_bone_mat->m_address = base + offset; - n_bone_mat->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_bone_mat); - - field_name = "bone_matidx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); - auto n_bone_matidx = new NodeSimple; - n_bone_matidx->m_field_name = field_name; - n_bone_matidx->m_df_type = DF_Type::int32_t; - n_bone_matidx->m_rdf_type = RDF_Type::int32_t; - n_bone_matidx->m_node_type = NodeType::Simple; - n_bone_matidx->m_address = base + offset; - n_bone_matidx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_bone_matidx); - - field_name = "fish_mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); - auto n_fish_mat_index = new NodeSimple; - n_fish_mat_index->m_field_name = field_name; - n_fish_mat_index->m_df_type = DF_Type::int32_t; - n_fish_mat_index->m_rdf_type = RDF_Type::int32_t; - n_fish_mat_index->m_node_type = NodeType::Simple; - n_fish_mat_index->m_address = base + offset; - n_fish_mat_index->m_refers_to = "(food-mat-by-idx $Fish $)"; - n_fish_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_fish_mat_index); - - field_name = "egg_mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); - auto n_egg_mat_index = new NodeSimple; - n_egg_mat_index->m_field_name = field_name; - n_egg_mat_index->m_df_type = DF_Type::int32_t; - n_egg_mat_index->m_rdf_type = RDF_Type::int32_t; - n_egg_mat_index->m_node_type = NodeType::Simple; - n_egg_mat_index->m_address = base + offset; - n_egg_mat_index->m_refers_to = "(food-mat-by-idx $Eggs $)"; - n_egg_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_egg_mat_index); - - field_name = "attack_trigger"; - auto n_attack_trigger = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); - n_attack_trigger->m_field_name = field_name; - n_attack_trigger->m_df_type = DF_Type::int32_t; - n_attack_trigger->m_rdf_type = RDF_Type::Array; - n_attack_trigger->m_node_type = NodeType::Array; - n_attack_trigger->m_addornements = "[3"; - n_attack_trigger->m_array_size = 3; - n_attack_trigger->m_address = base + offset; - n_attack_trigger->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_attack_trigger); - - field_name = "egg_size"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); - auto n_egg_size = new NodeSimple; - n_egg_size->m_field_name = field_name; - n_egg_size->m_df_type = DF_Type::int32_t; - n_egg_size->m_rdf_type = RDF_Type::int32_t; - n_egg_size->m_node_type = NodeType::Simple; - n_egg_size->m_address = base + offset; - n_egg_size->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_egg_size); - - field_name = "grazer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); - auto n_grazer = new NodeSimple; - n_grazer->m_field_name = field_name; - n_grazer->m_df_type = DF_Type::int32_t; - n_grazer->m_rdf_type = RDF_Type::int32_t; - n_grazer->m_node_type = NodeType::Simple; - n_grazer->m_address = base + offset; - n_grazer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_grazer); - - field_name = "petvalue_divisor"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); - auto n_petvalue_divisor = new NodeSimple; - n_petvalue_divisor->m_field_name = field_name; - n_petvalue_divisor->m_df_type = DF_Type::int32_t; - n_petvalue_divisor->m_rdf_type = RDF_Type::int32_t; - n_petvalue_divisor->m_node_type = NodeType::Simple; - n_petvalue_divisor->m_address = base + offset; - n_petvalue_divisor->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_petvalue_divisor); - - field_name = "prone_to_rage"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); - auto n_prone_to_rage = new NodeSimple; - n_prone_to_rage->m_field_name = field_name; - n_prone_to_rage->m_df_type = DF_Type::int32_t; - n_prone_to_rage->m_rdf_type = RDF_Type::int32_t; - n_prone_to_rage->m_node_type = NodeType::Simple; - n_prone_to_rage->m_address = base + offset; - n_prone_to_rage->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_prone_to_rage); - - field_name = "unk6"; - auto n_unk6 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); - n_unk6->m_field_name = field_name; - n_unk6->m_df_type = DF_Type::int32_t; - n_unk6->m_rdf_type = RDF_Type::Array; - n_unk6->m_node_type = NodeType::Array; - n_unk6->m_addornements = "[29"; - n_unk6->m_array_size = 29; - n_unk6->m_address = base + offset; - n_unk6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk6); - -} -void node_from_caste_raw__T_personality(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "a"; - auto n_a = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_personality, field_name)); - n_a->m_field_name = field_name; - n_a->m_df_type = DF_Type::int16_t; - n_a->m_rdf_type = RDF_Type::Array; - n_a->m_node_type = NodeType::Array; - n_a->m_index_enum = DF_Type::personality_facet_type; - n_a->m_addornements = "[50"; - n_a->m_array_size = 50; - n_a->m_address = base + offset; - n_a->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_a); - - field_name = "b"; - auto n_b = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_personality, field_name)); - n_b->m_field_name = field_name; - n_b->m_df_type = DF_Type::int16_t; - n_b->m_rdf_type = RDF_Type::Array; - n_b->m_node_type = NodeType::Array; - n_b->m_index_enum = DF_Type::personality_facet_type; - n_b->m_addornements = "[50"; - n_b->m_array_size = 50; - n_b->m_address = base + offset; - n_b->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_b); - - field_name = "c"; - auto n_c = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_personality, field_name)); - n_c->m_field_name = field_name; - n_c->m_df_type = DF_Type::int16_t; - n_c->m_rdf_type = RDF_Type::Array; - n_c->m_node_type = NodeType::Array; - n_c->m_index_enum = DF_Type::personality_facet_type; - n_c->m_addornements = "[50"; - n_c->m_array_size = 50; - n_c->m_address = base + offset; - n_c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_c); - -} -void node_from_caste_raw__T_attributes(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "phys_att_range"; - auto n_phys_att_range = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_attributes, field_name)); - n_phys_att_range->m_field_name = field_name; - n_phys_att_range->m_df_type = DF_Type::int32_t; - n_phys_att_range->m_rdf_type = RDF_Type::Array; - n_phys_att_range->m_node_type = NodeType::Array; - n_phys_att_range->m_index_enum = DF_Type::physical_attribute_type; - n_phys_att_range->m_addornements = "[6[7"; - n_phys_att_range->m_array_size = 6; - n_phys_att_range->m_address = base + offset; - n_phys_att_range->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_phys_att_range); - - field_name = "ment_att_range"; - auto n_ment_att_range = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_attributes, field_name)); - n_ment_att_range->m_field_name = field_name; - n_ment_att_range->m_df_type = DF_Type::int32_t; - n_ment_att_range->m_rdf_type = RDF_Type::Array; - n_ment_att_range->m_node_type = NodeType::Array; - n_ment_att_range->m_index_enum = DF_Type::mental_attribute_type; - n_ment_att_range->m_addornements = "[13[7"; - n_ment_att_range->m_array_size = 13; - n_ment_att_range->m_address = base + offset; - n_ment_att_range->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ment_att_range); - - field_name = "phys_att_rates"; - auto n_phys_att_rates = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_attributes, field_name)); - n_phys_att_rates->m_field_name = field_name; - n_phys_att_rates->m_df_type = DF_Type::int32_t; - n_phys_att_rates->m_rdf_type = RDF_Type::Array; - n_phys_att_rates->m_node_type = NodeType::Array; - n_phys_att_rates->m_index_enum = DF_Type::physical_attribute_type; - n_phys_att_rates->m_addornements = "[6[4"; - n_phys_att_rates->m_array_size = 6; - n_phys_att_rates->m_address = base + offset; - n_phys_att_rates->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_phys_att_rates); - - field_name = "ment_att_rates"; - auto n_ment_att_rates = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_attributes, field_name)); - n_ment_att_rates->m_field_name = field_name; - n_ment_att_rates->m_df_type = DF_Type::int32_t; - n_ment_att_rates->m_rdf_type = RDF_Type::Array; - n_ment_att_rates->m_node_type = NodeType::Array; - n_ment_att_rates->m_index_enum = DF_Type::mental_attribute_type; - n_ment_att_rates->m_addornements = "[13[4"; - n_ment_att_rates->m_array_size = 13; - n_ment_att_rates->m_address = base + offset; - n_ment_att_rates->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ment_att_rates); - - field_name = "phys_att_cap_perc"; - auto n_phys_att_cap_perc = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_attributes, field_name)); - n_phys_att_cap_perc->m_field_name = field_name; - n_phys_att_cap_perc->m_df_type = DF_Type::int32_t; - n_phys_att_cap_perc->m_rdf_type = RDF_Type::Array; - n_phys_att_cap_perc->m_node_type = NodeType::Array; - n_phys_att_cap_perc->m_index_enum = DF_Type::physical_attribute_type; - n_phys_att_cap_perc->m_addornements = "[6"; - n_phys_att_cap_perc->m_array_size = 6; - n_phys_att_cap_perc->m_address = base + offset; - n_phys_att_cap_perc->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_phys_att_cap_perc); - - field_name = "ment_att_cap_perc"; - auto n_ment_att_cap_perc = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_attributes, field_name)); - n_ment_att_cap_perc->m_field_name = field_name; - n_ment_att_cap_perc->m_df_type = DF_Type::int32_t; - n_ment_att_cap_perc->m_rdf_type = RDF_Type::Array; - n_ment_att_cap_perc->m_node_type = NodeType::Array; - n_ment_att_cap_perc->m_index_enum = DF_Type::mental_attribute_type; - n_ment_att_cap_perc->m_addornements = "[13"; - n_ment_att_cap_perc->m_array_size = 13; - n_ment_att_cap_perc->m_address = base + offset; - n_ment_att_cap_perc->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ment_att_cap_perc); - -} -void node_from_caste_raw__T_bp_appearance(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "modifiers"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_bp_appearance, field_name)); - auto n_modifiers = new NodeVector; - n_modifiers->m_field_name = field_name; - n_modifiers->m_df_type = DF_Type::bp_appearance_modifier; - n_modifiers->m_rdf_type = RDF_Type::Vector; - n_modifiers->m_node_type = NodeType::Vector; - n_modifiers->m_defined_in = "df.creature-raws.xml"; - n_modifiers->m_addornements = "v*"; - n_modifiers->m_address = base + offset; - n_modifiers->m_parent = p_node_parent; - n_modifiers->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_modifiers); - - field_name = "modifier_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_bp_appearance, field_name)); - auto n_modifier_idx = new NodeVector; - n_modifier_idx->m_field_name = field_name; - n_modifier_idx->m_df_type = DF_Type::int32_t; - n_modifier_idx->m_rdf_type = RDF_Type::Vector; - n_modifier_idx->m_node_type = NodeType::Vector; - n_modifier_idx->m_addornements = "v"; - n_modifier_idx->m_address = base + offset; - n_modifier_idx->m_refers_to = "$$._parent._parent.modifiers[$]"; - n_modifier_idx->m_refers_to = "$$._parent.part_idx[$].refers-to"; - n_modifier_idx->m_parent = p_node_parent; - n_modifier_idx->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_modifier_idx); - - field_name = "part_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_bp_appearance, field_name)); - auto n_part_idx = new NodeVector; - n_part_idx->m_field_name = field_name; - n_part_idx->m_df_type = DF_Type::int16_t; - n_part_idx->m_rdf_type = RDF_Type::Vector; - n_part_idx->m_node_type = NodeType::Vector; - n_part_idx->m_addornements = "v"; - n_part_idx->m_address = base + offset; - n_part_idx->m_refers_to = "$$._global.body_info.body_parts[$]"; - n_part_idx->m_parent = p_node_parent; - n_part_idx->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_part_idx); - - field_name = "layer_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_bp_appearance, field_name)); - auto n_layer_idx = new NodeVector; - n_layer_idx->m_field_name = field_name; - n_layer_idx->m_df_type = DF_Type::int16_t; - n_layer_idx->m_rdf_type = RDF_Type::Vector; - n_layer_idx->m_node_type = NodeType::Vector; - n_layer_idx->m_addornements = "v"; - n_layer_idx->m_address = base + offset; - n_layer_idx->m_refers_to = "$$._parent._parent.part_idx[$$._key].refers-to.layers[$]"; - n_layer_idx->m_refers_to = "$$._parent.part_idx[$].refers-to"; - n_layer_idx->m_parent = p_node_parent; - n_layer_idx->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_layer_idx); - - field_name = "style_part_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_bp_appearance, field_name)); - auto n_style_part_idx = new NodeVector; - n_style_part_idx->m_field_name = field_name; - n_style_part_idx->m_df_type = DF_Type::int16_t; - n_style_part_idx->m_rdf_type = RDF_Type::Vector; - n_style_part_idx->m_node_type = NodeType::Vector; - n_style_part_idx->m_addornements = "v"; - n_style_part_idx->m_address = base + offset; - n_style_part_idx->m_refers_to = "$$._global.body_info.body_parts[$]"; - n_style_part_idx->m_parent = p_node_parent; - n_style_part_idx->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_style_part_idx); - - field_name = "style_layer_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_bp_appearance, field_name)); - auto n_style_layer_idx = new NodeVector; - n_style_layer_idx->m_field_name = field_name; - n_style_layer_idx->m_df_type = DF_Type::int16_t; - n_style_layer_idx->m_rdf_type = RDF_Type::Vector; - n_style_layer_idx->m_node_type = NodeType::Vector; - n_style_layer_idx->m_addornements = "v"; - n_style_layer_idx->m_address = base + offset; - n_style_layer_idx->m_refers_to = "$$._parent._parent.style_part_idx[$$._key].refers-to.layers[$]"; - n_style_layer_idx->m_refers_to = "$$._parent.style_part_idx[$].refers-to"; - n_style_layer_idx->m_parent = p_node_parent; - n_style_layer_idx->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_style_layer_idx); - - field_name = "style_list_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_bp_appearance, field_name)); - auto n_style_list_idx = new NodeVector; - n_style_list_idx->m_field_name = field_name; - n_style_list_idx->m_df_type = DF_Type::int32_t; - n_style_list_idx->m_rdf_type = RDF_Type::Vector; - n_style_list_idx->m_node_type = NodeType::Vector; - n_style_list_idx->m_addornements = "v"; - n_style_list_idx->m_address = base + offset; - n_style_list_idx->m_refers_to = "$$._parent._parent.modifier_idx[$].refers-to"; - n_style_list_idx->m_refers_to = "$$._parent.style_layer_idx[$].refers-to"; - n_style_list_idx->m_parent = p_node_parent; - n_style_list_idx->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_style_list_idx); - -} -void node_from_caste_raw__T_shearable_tissue_layer(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk_0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_shearable_tissue_layer, field_name)); - auto n_unk_0 = new NodeSimple; - n_unk_0->m_field_name = field_name; - n_unk_0->m_df_type = DF_Type::int8_t; - n_unk_0->m_rdf_type = RDF_Type::int8_t; - n_unk_0->m_node_type = NodeType::Simple; - n_unk_0->m_address = base + offset; - n_unk_0->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_0); - - field_name = "unk_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_shearable_tissue_layer, field_name)); - auto n_unk_1 = new NodeSimple; - n_unk_1->m_field_name = field_name; - n_unk_1->m_df_type = DF_Type::int8_t; - n_unk_1->m_rdf_type = RDF_Type::int8_t; - n_unk_1->m_node_type = NodeType::Simple; - n_unk_1->m_address = base + offset; - n_unk_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_1); - - field_name = "length"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_shearable_tissue_layer, field_name)); - auto n_length = new NodeSimple; - n_length->m_field_name = field_name; - n_length->m_df_type = DF_Type::int32_t; - n_length->m_rdf_type = RDF_Type::int32_t; - n_length->m_node_type = NodeType::Simple; - n_length->m_address = base + offset; - n_length->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_length); - - field_name = "part_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_shearable_tissue_layer, field_name)); - auto n_part_idx = new NodeVector; - n_part_idx->m_field_name = field_name; - n_part_idx->m_df_type = DF_Type::int16_t; - n_part_idx->m_rdf_type = RDF_Type::Vector; - n_part_idx->m_node_type = NodeType::Vector; - n_part_idx->m_addornements = "v"; - n_part_idx->m_address = base + offset; - n_part_idx->m_parent = p_node_parent; - n_part_idx->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_part_idx); - - field_name = "layer_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_shearable_tissue_layer, field_name)); - auto n_layer_idx = new NodeVector; - n_layer_idx->m_field_name = field_name; - n_layer_idx->m_df_type = DF_Type::int16_t; - n_layer_idx->m_rdf_type = RDF_Type::Vector; - n_layer_idx->m_node_type = NodeType::Vector; - n_layer_idx->m_addornements = "v"; - n_layer_idx->m_address = base + offset; - n_layer_idx->m_parent = p_node_parent; - n_layer_idx->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_layer_idx); - - field_name = "bp_modifiers_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_shearable_tissue_layer, field_name)); - auto n_bp_modifiers_idx = new NodeVector; - n_bp_modifiers_idx->m_field_name = field_name; - n_bp_modifiers_idx->m_df_type = DF_Type::int32_t; - n_bp_modifiers_idx->m_rdf_type = RDF_Type::Vector; - n_bp_modifiers_idx->m_node_type = NodeType::Vector; - n_bp_modifiers_idx->m_addornements = "v"; - n_bp_modifiers_idx->m_address = base + offset; - n_bp_modifiers_idx->m_parent = p_node_parent; - n_bp_modifiers_idx->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bp_modifiers_idx); - -} -void node_from_caste_raw__T_caste_profession_name(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "singular"; - auto n_singular = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_caste_profession_name, field_name)); - n_singular->m_field_name = field_name; - n_singular->m_df_type = DF_Type::Stl_string; - n_singular->m_rdf_type = RDF_Type::Array; - n_singular->m_node_type = NodeType::Array; - n_singular->m_index_enum = DF_Type::profession; - n_singular->m_addornements = "[135"; - n_singular->m_array_size = 135; - n_singular->m_address = base + offset; - n_singular->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_singular); - - field_name = "plural"; - auto n_plural = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_caste_profession_name, field_name)); - n_plural->m_field_name = field_name; - n_plural->m_df_type = DF_Type::Stl_string; - n_plural->m_rdf_type = RDF_Type::Array; - n_plural->m_node_type = NodeType::Array; - n_plural->m_index_enum = DF_Type::profession; - n_plural->m_addornements = "[135"; - n_plural->m_array_size = 135; - n_plural->m_address = base + offset; - n_plural->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_plural); - -} -void node_from_caste_raw__T_extracts(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "extract_mat"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); - auto n_extract_mat = new NodeVector; - n_extract_mat->m_field_name = field_name; - n_extract_mat->m_df_type = DF_Type::int16_t; - n_extract_mat->m_rdf_type = RDF_Type::Vector; - n_extract_mat->m_node_type = NodeType::Vector; - n_extract_mat->m_addornements = "v"; - n_extract_mat->m_address = base + offset; - n_extract_mat->m_parent = p_node_parent; - n_extract_mat->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_extract_mat); - - field_name = "extract_matidx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); - auto n_extract_matidx = new NodeVector; - n_extract_matidx->m_field_name = field_name; - n_extract_matidx->m_df_type = DF_Type::int32_t; - n_extract_matidx->m_rdf_type = RDF_Type::Vector; - n_extract_matidx->m_node_type = NodeType::Vector; - n_extract_matidx->m_addornements = "v"; - n_extract_matidx->m_address = base + offset; - n_extract_matidx->m_parent = p_node_parent; - n_extract_matidx->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_extract_matidx); - - field_name = "extract_str"; - auto n_extract_str = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); - n_extract_str->m_field_name = field_name; - n_extract_str->m_df_type = DF_Type::Stl_string; - n_extract_str->m_rdf_type = RDF_Type::Array; - n_extract_str->m_node_type = NodeType::Array; - n_extract_str->m_addornements = "[3v*"; - n_extract_str->m_array_size = 3; - n_extract_str->m_address = base + offset; - n_extract_str->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_extract_str); - - field_name = "milkable_mat"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); - auto n_milkable_mat = new NodeSimple; - n_milkable_mat->m_field_name = field_name; - n_milkable_mat->m_df_type = DF_Type::int16_t; - n_milkable_mat->m_rdf_type = RDF_Type::int16_t; - n_milkable_mat->m_node_type = NodeType::Simple; - n_milkable_mat->m_address = base + offset; - n_milkable_mat->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_milkable_mat); - - field_name = "milkable_matidx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); - auto n_milkable_matidx = new NodeSimple; - n_milkable_matidx->m_field_name = field_name; - n_milkable_matidx->m_df_type = DF_Type::int32_t; - n_milkable_matidx->m_rdf_type = RDF_Type::int32_t; - n_milkable_matidx->m_node_type = NodeType::Simple; - n_milkable_matidx->m_address = base + offset; - n_milkable_matidx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_milkable_matidx); - - field_name = "milkable_str"; - auto n_milkable_str = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); - n_milkable_str->m_field_name = field_name; - n_milkable_str->m_df_type = DF_Type::Stl_string; - n_milkable_str->m_rdf_type = RDF_Type::Array; - n_milkable_str->m_node_type = NodeType::Array; - n_milkable_str->m_addornements = "[3"; - n_milkable_str->m_array_size = 3; - n_milkable_str->m_address = base + offset; - n_milkable_str->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_milkable_str); - - field_name = "webber_mat"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); - auto n_webber_mat = new NodeSimple; - n_webber_mat->m_field_name = field_name; - n_webber_mat->m_df_type = DF_Type::int16_t; - n_webber_mat->m_rdf_type = RDF_Type::int16_t; - n_webber_mat->m_node_type = NodeType::Simple; - n_webber_mat->m_address = base + offset; - n_webber_mat->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_webber_mat); - - field_name = "webber_matidx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); - auto n_webber_matidx = new NodeSimple; - n_webber_matidx->m_field_name = field_name; - n_webber_matidx->m_df_type = DF_Type::int32_t; - n_webber_matidx->m_rdf_type = RDF_Type::int32_t; - n_webber_matidx->m_node_type = NodeType::Simple; - n_webber_matidx->m_address = base + offset; - n_webber_matidx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_webber_matidx); - - field_name = "webber_str"; - auto n_webber_str = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); - n_webber_str->m_field_name = field_name; - n_webber_str->m_df_type = DF_Type::Stl_string; - n_webber_str->m_rdf_type = RDF_Type::Array; - n_webber_str->m_node_type = NodeType::Array; - n_webber_str->m_addornements = "[3"; - n_webber_str->m_array_size = 3; - n_webber_str->m_address = base + offset; - n_webber_str->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_webber_str); - - field_name = "vermin_bite_mat"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); - auto n_vermin_bite_mat = new NodeSimple; - n_vermin_bite_mat->m_field_name = field_name; - n_vermin_bite_mat->m_df_type = DF_Type::int16_t; - n_vermin_bite_mat->m_rdf_type = RDF_Type::int16_t; - n_vermin_bite_mat->m_node_type = NodeType::Simple; - n_vermin_bite_mat->m_address = base + offset; - n_vermin_bite_mat->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_vermin_bite_mat); - - field_name = "vermin_bite_matidx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); - auto n_vermin_bite_matidx = new NodeSimple; - n_vermin_bite_matidx->m_field_name = field_name; - n_vermin_bite_matidx->m_df_type = DF_Type::int32_t; - n_vermin_bite_matidx->m_rdf_type = RDF_Type::int32_t; - n_vermin_bite_matidx->m_node_type = NodeType::Simple; - n_vermin_bite_matidx->m_address = base + offset; - n_vermin_bite_matidx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_vermin_bite_matidx); - - field_name = "vermin_bite_chance"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); - auto n_vermin_bite_chance = new NodeSimple; - n_vermin_bite_chance->m_field_name = field_name; - n_vermin_bite_chance->m_df_type = DF_Type::int16_t; - n_vermin_bite_chance->m_rdf_type = RDF_Type::int16_t; - n_vermin_bite_chance->m_node_type = NodeType::Simple; - n_vermin_bite_chance->m_address = base + offset; - n_vermin_bite_chance->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_vermin_bite_chance); - - field_name = "vermin_bite_str"; - auto n_vermin_bite_str = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); - n_vermin_bite_str->m_field_name = field_name; - n_vermin_bite_str->m_df_type = DF_Type::Stl_string; - n_vermin_bite_str->m_rdf_type = RDF_Type::Array; - n_vermin_bite_str->m_node_type = NodeType::Array; - n_vermin_bite_str->m_addornements = "[3"; - n_vermin_bite_str->m_array_size = 3; - n_vermin_bite_str->m_address = base + offset; - n_vermin_bite_str->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_vermin_bite_str); - - field_name = "tendons_mat"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); - auto n_tendons_mat = new NodeSimple; - n_tendons_mat->m_field_name = field_name; - n_tendons_mat->m_df_type = DF_Type::int16_t; - n_tendons_mat->m_rdf_type = RDF_Type::int16_t; - n_tendons_mat->m_node_type = NodeType::Simple; - n_tendons_mat->m_address = base + offset; - n_tendons_mat->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tendons_mat); - - field_name = "tendons_matidx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); - auto n_tendons_matidx = new NodeSimple; - n_tendons_matidx->m_field_name = field_name; - n_tendons_matidx->m_df_type = DF_Type::int32_t; - n_tendons_matidx->m_rdf_type = RDF_Type::int32_t; - n_tendons_matidx->m_node_type = NodeType::Simple; - n_tendons_matidx->m_address = base + offset; - n_tendons_matidx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tendons_matidx); - - field_name = "tendons_str"; - auto n_tendons_str = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); - n_tendons_str->m_field_name = field_name; - n_tendons_str->m_df_type = DF_Type::Stl_string; - n_tendons_str->m_rdf_type = RDF_Type::Array; - n_tendons_str->m_node_type = NodeType::Array; - n_tendons_str->m_addornements = "[3"; - n_tendons_str->m_array_size = 3; - n_tendons_str->m_address = base + offset; - n_tendons_str->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tendons_str); - - field_name = "tendons_heal"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); - auto n_tendons_heal = new NodeSimple; - n_tendons_heal->m_field_name = field_name; - n_tendons_heal->m_df_type = DF_Type::int32_t; - n_tendons_heal->m_rdf_type = RDF_Type::int32_t; - n_tendons_heal->m_node_type = NodeType::Simple; - n_tendons_heal->m_address = base + offset; - n_tendons_heal->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tendons_heal); - - field_name = "ligaments_mat"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); - auto n_ligaments_mat = new NodeSimple; - n_ligaments_mat->m_field_name = field_name; - n_ligaments_mat->m_df_type = DF_Type::int16_t; - n_ligaments_mat->m_rdf_type = RDF_Type::int16_t; - n_ligaments_mat->m_node_type = NodeType::Simple; - n_ligaments_mat->m_address = base + offset; - n_ligaments_mat->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ligaments_mat); - - field_name = "ligaments_matidx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); - auto n_ligaments_matidx = new NodeSimple; - n_ligaments_matidx->m_field_name = field_name; - n_ligaments_matidx->m_df_type = DF_Type::int32_t; - n_ligaments_matidx->m_rdf_type = RDF_Type::int32_t; - n_ligaments_matidx->m_node_type = NodeType::Simple; - n_ligaments_matidx->m_address = base + offset; - n_ligaments_matidx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ligaments_matidx); - - field_name = "ligaments_str"; - auto n_ligaments_str = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); - n_ligaments_str->m_field_name = field_name; - n_ligaments_str->m_df_type = DF_Type::Stl_string; - n_ligaments_str->m_rdf_type = RDF_Type::Array; - n_ligaments_str->m_node_type = NodeType::Array; - n_ligaments_str->m_addornements = "[3"; - n_ligaments_str->m_array_size = 3; - n_ligaments_str->m_address = base + offset; - n_ligaments_str->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ligaments_str); - - field_name = "ligaments_heal"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); - auto n_ligaments_heal = new NodeSimple; - n_ligaments_heal->m_field_name = field_name; - n_ligaments_heal->m_df_type = DF_Type::int32_t; - n_ligaments_heal->m_rdf_type = RDF_Type::int32_t; - n_ligaments_heal->m_node_type = NodeType::Simple; - n_ligaments_heal->m_address = base + offset; - n_ligaments_heal->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ligaments_heal); - - field_name = "blood_state"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); - auto n_blood_state = new NodeSimple; - n_blood_state->m_field_name = field_name; - n_blood_state->m_df_type = DF_Type::int16_t; - n_blood_state->m_rdf_type = RDF_Type::int16_t; - n_blood_state->m_node_type = NodeType::Simple; - n_blood_state->m_address = base + offset; - n_blood_state->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_blood_state); - - field_name = "blood_mat"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); - auto n_blood_mat = new NodeSimple; - n_blood_mat->m_field_name = field_name; - n_blood_mat->m_df_type = DF_Type::int16_t; - n_blood_mat->m_rdf_type = RDF_Type::int16_t; - n_blood_mat->m_node_type = NodeType::Simple; - n_blood_mat->m_address = base + offset; - n_blood_mat->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_blood_mat); - - field_name = "blood_matidx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); - auto n_blood_matidx = new NodeSimple; - n_blood_matidx->m_field_name = field_name; - n_blood_matidx->m_df_type = DF_Type::int32_t; - n_blood_matidx->m_rdf_type = RDF_Type::int32_t; - n_blood_matidx->m_node_type = NodeType::Simple; - n_blood_matidx->m_address = base + offset; - n_blood_matidx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_blood_matidx); - - field_name = "blood_str"; - auto n_blood_str = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); - n_blood_str->m_field_name = field_name; - n_blood_str->m_df_type = DF_Type::Stl_string; - n_blood_str->m_rdf_type = RDF_Type::Array; - n_blood_str->m_node_type = NodeType::Array; - n_blood_str->m_addornements = "[3"; - n_blood_str->m_array_size = 3; - n_blood_str->m_address = base + offset; - n_blood_str->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_blood_str); - - field_name = "pus_state"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); - auto n_pus_state = new NodeSimple; - n_pus_state->m_field_name = field_name; - n_pus_state->m_df_type = DF_Type::int16_t; - n_pus_state->m_rdf_type = RDF_Type::int16_t; - n_pus_state->m_node_type = NodeType::Simple; - n_pus_state->m_address = base + offset; - n_pus_state->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pus_state); - - field_name = "pus_mat"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); - auto n_pus_mat = new NodeSimple; - n_pus_mat->m_field_name = field_name; - n_pus_mat->m_df_type = DF_Type::int16_t; - n_pus_mat->m_rdf_type = RDF_Type::int16_t; - n_pus_mat->m_node_type = NodeType::Simple; - n_pus_mat->m_address = base + offset; - n_pus_mat->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pus_mat); - - field_name = "pus_matidx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); - auto n_pus_matidx = new NodeSimple; - n_pus_matidx->m_field_name = field_name; - n_pus_matidx->m_df_type = DF_Type::int32_t; - n_pus_matidx->m_rdf_type = RDF_Type::int32_t; - n_pus_matidx->m_node_type = NodeType::Simple; - n_pus_matidx->m_address = base + offset; - n_pus_matidx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pus_matidx); - - field_name = "pus_str"; - auto n_pus_str = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); - n_pus_str->m_field_name = field_name; - n_pus_str->m_df_type = DF_Type::Stl_string; - n_pus_str->m_rdf_type = RDF_Type::Array; - n_pus_str->m_node_type = NodeType::Array; - n_pus_str->m_addornements = "[3"; - n_pus_str->m_array_size = 3; - n_pus_str->m_address = base + offset; - n_pus_str->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pus_str); - - field_name = "egg_material_mattype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); - auto n_egg_material_mattype = new NodeVector; - n_egg_material_mattype->m_field_name = field_name; - n_egg_material_mattype->m_df_type = DF_Type::int16_t; - n_egg_material_mattype->m_rdf_type = RDF_Type::Vector; - n_egg_material_mattype->m_node_type = NodeType::Vector; - n_egg_material_mattype->m_addornements = "v"; - n_egg_material_mattype->m_address = base + offset; - n_egg_material_mattype->m_parent = p_node_parent; - n_egg_material_mattype->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_egg_material_mattype); - - field_name = "egg_material_matindex"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); - auto n_egg_material_matindex = new NodeVector; - n_egg_material_matindex->m_field_name = field_name; - n_egg_material_matindex->m_df_type = DF_Type::int32_t; - n_egg_material_matindex->m_rdf_type = RDF_Type::Vector; - n_egg_material_matindex->m_node_type = NodeType::Vector; - n_egg_material_matindex->m_addornements = "v"; - n_egg_material_matindex->m_address = base + offset; - n_egg_material_matindex->m_parent = p_node_parent; - n_egg_material_matindex->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_egg_material_matindex); - - field_name = "egg_material_str"; - auto n_egg_material_str = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); - n_egg_material_str->m_field_name = field_name; - n_egg_material_str->m_df_type = DF_Type::Stl_string; - n_egg_material_str->m_rdf_type = RDF_Type::Array; - n_egg_material_str->m_node_type = NodeType::Array; - n_egg_material_str->m_addornements = "[3v*"; - n_egg_material_str->m_array_size = 3; - n_egg_material_str->m_address = base + offset; - n_egg_material_str->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_egg_material_str); - - field_name = "lays_unusual_eggs_itemtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); - auto n_lays_unusual_eggs_itemtype = new NodeVector; - n_lays_unusual_eggs_itemtype->m_field_name = field_name; - n_lays_unusual_eggs_itemtype->m_df_type = DF_Type::item_type; - n_lays_unusual_eggs_itemtype->m_rdf_type = RDF_Type::Vector; - n_lays_unusual_eggs_itemtype->m_node_type = NodeType::Vector; - n_lays_unusual_eggs_itemtype->m_enum_base = DF_Type::int16_t; - n_lays_unusual_eggs_itemtype->m_defined_in = "df.item-raws.xml"; - n_lays_unusual_eggs_itemtype->m_addornements = "v"; - n_lays_unusual_eggs_itemtype->m_address = base + offset; - n_lays_unusual_eggs_itemtype->m_parent = p_node_parent; - n_lays_unusual_eggs_itemtype->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_lays_unusual_eggs_itemtype); - - field_name = "lays_unusual_eggs_itemsubtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); - auto n_lays_unusual_eggs_itemsubtype = new NodeVector; - n_lays_unusual_eggs_itemsubtype->m_field_name = field_name; - n_lays_unusual_eggs_itemsubtype->m_df_type = DF_Type::Void; - n_lays_unusual_eggs_itemsubtype->m_rdf_type = RDF_Type::Vector; - n_lays_unusual_eggs_itemsubtype->m_node_type = NodeType::Vector; - n_lays_unusual_eggs_itemsubtype->m_addornements = "v"; - n_lays_unusual_eggs_itemsubtype->m_address = base + offset; - n_lays_unusual_eggs_itemsubtype->m_parent = p_node_parent; - n_lays_unusual_eggs_itemsubtype->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_lays_unusual_eggs_itemsubtype); - - field_name = "lays_unusual_eggs_mattype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); - auto n_lays_unusual_eggs_mattype = new NodeVector; - n_lays_unusual_eggs_mattype->m_field_name = field_name; - n_lays_unusual_eggs_mattype->m_df_type = DF_Type::int16_t; - n_lays_unusual_eggs_mattype->m_rdf_type = RDF_Type::Vector; - n_lays_unusual_eggs_mattype->m_node_type = NodeType::Vector; - n_lays_unusual_eggs_mattype->m_addornements = "v"; - n_lays_unusual_eggs_mattype->m_address = base + offset; - n_lays_unusual_eggs_mattype->m_parent = p_node_parent; - n_lays_unusual_eggs_mattype->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_lays_unusual_eggs_mattype); - - field_name = "lays_unusual_eggs_matindex"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); - auto n_lays_unusual_eggs_matindex = new NodeVector; - n_lays_unusual_eggs_matindex->m_field_name = field_name; - n_lays_unusual_eggs_matindex->m_df_type = DF_Type::int32_t; - n_lays_unusual_eggs_matindex->m_rdf_type = RDF_Type::Vector; - n_lays_unusual_eggs_matindex->m_node_type = NodeType::Vector; - n_lays_unusual_eggs_matindex->m_addornements = "v"; - n_lays_unusual_eggs_matindex->m_address = base + offset; - n_lays_unusual_eggs_matindex->m_parent = p_node_parent; - n_lays_unusual_eggs_matindex->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_lays_unusual_eggs_matindex); - - field_name = "lays_unusual_eggs_str"; - auto n_lays_unusual_eggs_str = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); - n_lays_unusual_eggs_str->m_field_name = field_name; - n_lays_unusual_eggs_str->m_df_type = DF_Type::Stl_string; - n_lays_unusual_eggs_str->m_rdf_type = RDF_Type::Array; - n_lays_unusual_eggs_str->m_node_type = NodeType::Array; - n_lays_unusual_eggs_str->m_addornements = "[5v*"; - n_lays_unusual_eggs_str->m_array_size = 5; - n_lays_unusual_eggs_str->m_address = base + offset; - n_lays_unusual_eggs_str->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_lays_unusual_eggs_str); - -} -void node_from_caste_raw__T_secretion(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_secretion, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_secretion, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "mat_state"; - auto n_mat_state = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_secretion, field_name)); - n_mat_state->m_field_name = field_name; - n_mat_state->m_df_type = DF_Type::matter_state; - n_mat_state->m_rdf_type = RDF_Type::Enum; - n_mat_state->m_node_type = NodeType::Enum; - n_mat_state->m_base_type = DF_Type::int16_t; - n_mat_state->m_enum_type = "matter_state"; - n_mat_state->m_address = base + offset; - n_mat_state->m_defined_in = "df.materials.xml"; - n_mat_state->m_first_value = -1; - n_mat_state->m_last_value = 5; - n_mat_state->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_state); - - field_name = "mat_type_str"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_secretion, field_name)); - auto n_mat_type_str = new NodeSimple; - n_mat_type_str->m_field_name = field_name; - n_mat_type_str->m_df_type = DF_Type::Stl_string; - n_mat_type_str->m_rdf_type = RDF_Type::Stl_string; - n_mat_type_str->m_node_type = NodeType::Simple; - n_mat_type_str->m_address = base + offset; - n_mat_type_str->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type_str); - - field_name = "mat_index_str"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_secretion, field_name)); - auto n_mat_index_str = new NodeSimple; - n_mat_index_str->m_field_name = field_name; - n_mat_index_str->m_df_type = DF_Type::Stl_string; - n_mat_index_str->m_rdf_type = RDF_Type::Stl_string; - n_mat_index_str->m_node_type = NodeType::Simple; - n_mat_index_str->m_address = base + offset; - n_mat_index_str->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index_str); - - field_name = "unk_44"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_secretion, field_name)); - auto n_unk_44 = new NodeSimple; - n_unk_44->m_field_name = field_name; - n_unk_44->m_df_type = DF_Type::Stl_string; - n_unk_44->m_rdf_type = RDF_Type::Stl_string; - n_unk_44->m_node_type = NodeType::Simple; - n_unk_44->m_address = base + offset; - n_unk_44->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_44); - - field_name = "body_part_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_secretion, field_name)); - auto n_body_part_id = new NodeVector; - n_body_part_id->m_field_name = field_name; - n_body_part_id->m_df_type = DF_Type::int16_t; - n_body_part_id->m_rdf_type = RDF_Type::Vector; - n_body_part_id->m_node_type = NodeType::Vector; - n_body_part_id->m_addornements = "v"; - n_body_part_id->m_address = base + offset; - n_body_part_id->m_refers_to = "$$._upglobal.body_info.body_parts[$]"; - n_body_part_id->m_parent = p_node_parent; - n_body_part_id->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_body_part_id); - - field_name = "layer_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_secretion, field_name)); - auto n_layer_id = new NodeVector; - n_layer_id->m_field_name = field_name; - n_layer_id->m_df_type = DF_Type::int16_t; - n_layer_id->m_rdf_type = RDF_Type::Vector; - n_layer_id->m_node_type = NodeType::Vector; - n_layer_id->m_addornements = "v"; - n_layer_id->m_address = base + offset; - n_layer_id->m_refers_to = "$$._parent._parent.body_part_id[$$._key].refers-to.layers[$]"; - n_layer_id->m_parent = p_node_parent; - n_layer_id->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_layer_id); - - field_name = "cause"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_secretion, field_name)); - auto n_cause = new NodeSimple; - n_cause->m_field_name = field_name; - n_cause->m_df_type = DF_Type::int32_t; - n_cause->m_rdf_type = RDF_Type::int32_t; - n_cause->m_node_type = NodeType::Simple; - n_cause->m_address = base + offset; - n_cause->m_comment = "2 EXERTION, 1 EXTREME_EMOTION, 0 always?"; - n_cause->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cause); - -} -void node_from_caste_raw__T_unknown2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk_v4201_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_unknown2, field_name)); - auto n_unk_v4201_1 = new NodeVector; - n_unk_v4201_1->m_field_name = field_name; - n_unk_v4201_1->m_df_type = DF_Type::Void; - n_unk_v4201_1->m_rdf_type = RDF_Type::Vector; - n_unk_v4201_1->m_node_type = NodeType::Vector; - n_unk_v4201_1->m_addornements = "v"; - n_unk_v4201_1->m_address = base + offset; - n_unk_v4201_1->m_parent = p_node_parent; - n_unk_v4201_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_v4201_1); - - field_name = "unk_v4201_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_unknown2, field_name)); - auto n_unk_v4201_2 = new NodeVector; - n_unk_v4201_2->m_field_name = field_name; - n_unk_v4201_2->m_df_type = DF_Type::Void; - n_unk_v4201_2->m_rdf_type = RDF_Type::Vector; - n_unk_v4201_2->m_node_type = NodeType::Vector; - n_unk_v4201_2->m_addornements = "v"; - n_unk_v4201_2->m_address = base + offset; - n_unk_v4201_2->m_parent = p_node_parent; - n_unk_v4201_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_v4201_2); - - field_name = "gobble_vermin_class"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_unknown2, field_name)); - auto n_gobble_vermin_class = new NodeVector; - n_gobble_vermin_class->m_field_name = field_name; - n_gobble_vermin_class->m_df_type = DF_Type::Stl_string; - n_gobble_vermin_class->m_rdf_type = RDF_Type::Vector; - n_gobble_vermin_class->m_node_type = NodeType::Vector; - n_gobble_vermin_class->m_addornements = "v*"; - n_gobble_vermin_class->m_address = base + offset; - n_gobble_vermin_class->m_parent = p_node_parent; - n_gobble_vermin_class->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_gobble_vermin_class); - - field_name = "gobble_vermin_creature_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_unknown2, field_name)); - auto n_gobble_vermin_creature_1 = new NodeVector; - n_gobble_vermin_creature_1->m_field_name = field_name; - n_gobble_vermin_creature_1->m_df_type = DF_Type::Stl_string; - n_gobble_vermin_creature_1->m_rdf_type = RDF_Type::Vector; - n_gobble_vermin_creature_1->m_node_type = NodeType::Vector; - n_gobble_vermin_creature_1->m_addornements = "v*"; - n_gobble_vermin_creature_1->m_address = base + offset; - n_gobble_vermin_creature_1->m_parent = p_node_parent; - n_gobble_vermin_creature_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_gobble_vermin_creature_1); - - field_name = "gobble_vermin_creature_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_unknown2, field_name)); - auto n_gobble_vermin_creature_2 = new NodeVector; - n_gobble_vermin_creature_2->m_field_name = field_name; - n_gobble_vermin_creature_2->m_df_type = DF_Type::Stl_string; - n_gobble_vermin_creature_2->m_rdf_type = RDF_Type::Vector; - n_gobble_vermin_creature_2->m_node_type = NodeType::Vector; - n_gobble_vermin_creature_2->m_addornements = "v*"; - n_gobble_vermin_creature_2->m_address = base + offset; - n_gobble_vermin_creature_2->m_parent = p_node_parent; - n_gobble_vermin_creature_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_gobble_vermin_creature_2); - - field_name = "infect_all"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_unknown2, field_name)); - auto n_infect_all = new NodeVector; - n_infect_all->m_field_name = field_name; - n_infect_all->m_df_type = DF_Type::int32_t; - n_infect_all->m_rdf_type = RDF_Type::Vector; - n_infect_all->m_node_type = NodeType::Vector; - n_infect_all->m_addornements = "v"; - n_infect_all->m_address = base + offset; - n_infect_all->m_comment = "for spatter applied to all bp"; - n_infect_all->m_parent = p_node_parent; - n_infect_all->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_infect_all); - - field_name = "infect_local"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_unknown2, field_name)); - auto n_infect_local = new NodeVector; - n_infect_local->m_field_name = field_name; - n_infect_local->m_df_type = DF_Type::int32_t; - n_infect_local->m_rdf_type = RDF_Type::Vector; - n_infect_local->m_node_type = NodeType::Vector; - n_infect_local->m_addornements = "v"; - n_infect_local->m_address = base + offset; - n_infect_local->m_comment = "for spatter applied to one bp"; - n_infect_local->m_parent = p_node_parent; - n_infect_local->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_infect_local); - - field_name = "unk23f"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_unknown2, field_name)); - auto n_unk23f = new NodeVector; - n_unk23f->m_field_name = field_name; - n_unk23f->m_df_type = DF_Type::int32_t; - n_unk23f->m_rdf_type = RDF_Type::Vector; - n_unk23f->m_node_type = NodeType::Vector; - n_unk23f->m_addornements = "v"; - n_unk23f->m_address = base + offset; - n_unk23f->m_parent = p_node_parent; - n_unk23f->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk23f); - - field_name = "unk23g"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_unknown2, field_name)); - auto n_unk23g = new NodeVector; - n_unk23g->m_field_name = field_name; - n_unk23g->m_df_type = DF_Type::int32_t; - n_unk23g->m_rdf_type = RDF_Type::Vector; - n_unk23g->m_node_type = NodeType::Vector; - n_unk23g->m_addornements = "v"; - n_unk23g->m_address = base + offset; - n_unk23g->m_parent = p_node_parent; - n_unk23g->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk23g); - - field_name = "unk24_flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_unknown2, field_name)); - auto n_unk24_flags = new NodeDFFlagArray; - n_unk24_flags->m_field_name = field_name; - n_unk24_flags->m_df_type = DF_Type::int32_t; - n_unk24_flags->m_size = 32; - n_unk24_flags->m_rdf_type = RDF_Type::DFFlagArray; - n_unk24_flags->m_node_type = NodeType::Bitfield; - n_unk24_flags->m_address = base + offset; - n_unk24_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk24_flags); - - field_name = "unk25_flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_unknown2, field_name)); - auto n_unk25_flags = new NodeDFFlagArray; - n_unk25_flags->m_field_name = field_name; - n_unk25_flags->m_df_type = DF_Type::int32_t; - n_unk25_flags->m_size = 32; - n_unk25_flags->m_rdf_type = RDF_Type::DFFlagArray; - n_unk25_flags->m_node_type = NodeType::Bitfield; - n_unk25_flags->m_address = base + offset; - n_unk25_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk25_flags); - - field_name = "armor_sizes"; - auto n_armor_sizes = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_unknown2, field_name)); - n_armor_sizes->m_field_name = field_name; - n_armor_sizes->m_df_type = DF_Type::int32_t; - n_armor_sizes->m_rdf_type = RDF_Type::Array; - n_armor_sizes->m_comment = "index by UBSTEP"; - n_armor_sizes->m_node_type = NodeType::Array; - n_armor_sizes->m_addornements = "[4[4"; - n_armor_sizes->m_array_size = 4; - n_armor_sizes->m_address = base + offset; - n_armor_sizes->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_armor_sizes); - - field_name = "pants_sizes"; - auto n_pants_sizes = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_unknown2, field_name)); - n_pants_sizes->m_field_name = field_name; - n_pants_sizes->m_df_type = DF_Type::int32_t; - n_pants_sizes->m_rdf_type = RDF_Type::Array; - n_pants_sizes->m_comment = "index by LBSTEP"; - n_pants_sizes->m_node_type = NodeType::Array; - n_pants_sizes->m_addornements = "[4"; - n_pants_sizes->m_array_size = 4; - n_pants_sizes->m_address = base + offset; - n_pants_sizes->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pants_sizes); - - field_name = "helm_size"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_unknown2, field_name)); - auto n_helm_size = new NodeSimple; - n_helm_size->m_field_name = field_name; - n_helm_size->m_df_type = DF_Type::int32_t; - n_helm_size->m_rdf_type = RDF_Type::int32_t; - n_helm_size->m_node_type = NodeType::Simple; - n_helm_size->m_address = base + offset; - n_helm_size->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_helm_size); - - field_name = "shield_sizes"; - auto n_shield_sizes = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_unknown2, field_name)); - n_shield_sizes->m_field_name = field_name; - n_shield_sizes->m_df_type = DF_Type::int32_t; - n_shield_sizes->m_rdf_type = RDF_Type::Array; - n_shield_sizes->m_comment = "index by UPSTEP"; - n_shield_sizes->m_node_type = NodeType::Array; - n_shield_sizes->m_addornements = "[4"; - n_shield_sizes->m_array_size = 4; - n_shield_sizes->m_address = base + offset; - n_shield_sizes->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_shield_sizes); - - field_name = "shoes_sizes"; - auto n_shoes_sizes = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_unknown2, field_name)); - n_shoes_sizes->m_field_name = field_name; - n_shoes_sizes->m_df_type = DF_Type::int32_t; - n_shoes_sizes->m_rdf_type = RDF_Type::Array; - n_shoes_sizes->m_comment = "index by UPSTEP"; - n_shoes_sizes->m_node_type = NodeType::Array; - n_shoes_sizes->m_addornements = "[4"; - n_shoes_sizes->m_array_size = 4; - n_shoes_sizes->m_address = base + offset; - n_shoes_sizes->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_shoes_sizes); - - field_name = "gloves_sizes"; - auto n_gloves_sizes = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_unknown2, field_name)); - n_gloves_sizes->m_field_name = field_name; - n_gloves_sizes->m_df_type = DF_Type::int32_t; - n_gloves_sizes->m_rdf_type = RDF_Type::Array; - n_gloves_sizes->m_comment = "index by UPSTEP"; - n_gloves_sizes->m_node_type = NodeType::Array; - n_gloves_sizes->m_addornements = "[4"; - n_gloves_sizes->m_array_size = 4; - n_gloves_sizes->m_address = base + offset; - n_gloves_sizes->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_gloves_sizes); - - field_name = "materials"; - auto n_materials = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_unknown2, field_name)); - n_materials->m_field_name = field_name; - n_materials->m_df_type = DF_Type::material_vec_ref; - n_materials->m_rdf_type = RDF_Type::Struct; - n_materials->m_node_type = NodeType::Compound; - n_materials->m_address = base + offset; - n_materials->m_defined_in = "df.materials.xml"; - n_materials->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_materials); - - field_name = "unk_2f20"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_unknown2, field_name)); - auto n_unk_2f20 = new NodeVector; - n_unk_2f20->m_field_name = field_name; - n_unk_2f20->m_df_type = DF_Type::int16_t; - n_unk_2f20->m_rdf_type = RDF_Type::Vector; - n_unk_2f20->m_node_type = NodeType::Vector; - n_unk_2f20->m_addornements = "v"; - n_unk_2f20->m_address = base + offset; - n_unk_2f20->m_parent = p_node_parent; - n_unk_2f20->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_2f20); - - field_name = "unk_2f30"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_unknown2, field_name)); - auto n_unk_2f30 = new NodeVector; - n_unk_2f30->m_field_name = field_name; - n_unk_2f30->m_df_type = DF_Type::int8_t; - n_unk_2f30->m_rdf_type = RDF_Type::Vector; - n_unk_2f30->m_node_type = NodeType::Vector; - n_unk_2f30->m_addornements = "v"; - n_unk_2f30->m_address = base + offset; - n_unk_2f30->m_parent = p_node_parent; - n_unk_2f30->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_2f30); - - field_name = "unk_2f40"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_unknown2, field_name)); - auto n_unk_2f40 = new NodeVector; - n_unk_2f40->m_field_name = field_name; - n_unk_2f40->m_df_type = DF_Type::int32_t; - n_unk_2f40->m_rdf_type = RDF_Type::Vector; - n_unk_2f40->m_node_type = NodeType::Vector; - n_unk_2f40->m_addornements = "v"; - n_unk_2f40->m_address = base + offset; - n_unk_2f40->m_parent = p_node_parent; - n_unk_2f40->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_2f40); - - field_name = "unk_2f50"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_unknown2, field_name)); - auto n_unk_2f50 = new NodeVector; - n_unk_2f50->m_field_name = field_name; - n_unk_2f50->m_df_type = DF_Type::int16_t; - n_unk_2f50->m_rdf_type = RDF_Type::Vector; - n_unk_2f50->m_node_type = NodeType::Vector; - n_unk_2f50->m_addornements = "v"; - n_unk_2f50->m_address = base + offset; - n_unk_2f50->m_parent = p_node_parent; - n_unk_2f50->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_2f50); - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_unknown2, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_unknown2, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - -} -void node_from_caste_raw(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "caste_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - auto n_caste_id = new NodeSimple; - n_caste_id->m_field_name = field_name; - n_caste_id->m_df_type = DF_Type::Stl_string; - n_caste_id->m_rdf_type = RDF_Type::Stl_string; - n_caste_id->m_node_type = NodeType::Simple; - n_caste_id->m_address = base + offset; - n_caste_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_caste_id); - - field_name = "caste_name"; - auto n_caste_name = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - n_caste_name->m_field_name = field_name; - n_caste_name->m_df_type = DF_Type::Stl_string; - n_caste_name->m_rdf_type = RDF_Type::Array; - n_caste_name->m_node_type = NodeType::Array; - n_caste_name->m_addornements = "[3"; - n_caste_name->m_array_size = 3; - n_caste_name->m_address = base + offset; - n_caste_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_caste_name); - - field_name = "vermin_bite_txt"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - auto n_vermin_bite_txt = new NodeSimple; - n_vermin_bite_txt->m_field_name = field_name; - n_vermin_bite_txt->m_df_type = DF_Type::Stl_string; - n_vermin_bite_txt->m_rdf_type = RDF_Type::Stl_string; - n_vermin_bite_txt->m_node_type = NodeType::Simple; - n_vermin_bite_txt->m_address = base + offset; - n_vermin_bite_txt->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_vermin_bite_txt); - - field_name = "gnawer_txt"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - auto n_gnawer_txt = new NodeSimple; - n_gnawer_txt->m_field_name = field_name; - n_gnawer_txt->m_df_type = DF_Type::Stl_string; - n_gnawer_txt->m_rdf_type = RDF_Type::Stl_string; - n_gnawer_txt->m_node_type = NodeType::Simple; - n_gnawer_txt->m_address = base + offset; - n_gnawer_txt->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_gnawer_txt); - - field_name = "baby_name"; - auto n_baby_name = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - n_baby_name->m_field_name = field_name; - n_baby_name->m_df_type = DF_Type::Stl_string; - n_baby_name->m_rdf_type = RDF_Type::Array; - n_baby_name->m_node_type = NodeType::Array; - n_baby_name->m_addornements = "[2"; - n_baby_name->m_array_size = 2; - n_baby_name->m_address = base + offset; - n_baby_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_baby_name); - - field_name = "child_name"; - auto n_child_name = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - n_child_name->m_field_name = field_name; - n_child_name->m_df_type = DF_Type::Stl_string; - n_child_name->m_rdf_type = RDF_Type::Array; - n_child_name->m_node_type = NodeType::Array; - n_child_name->m_addornements = "[2"; - n_child_name->m_array_size = 2; - n_child_name->m_address = base + offset; - n_child_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_child_name); - - field_name = "itemcorpse_str"; - auto n_itemcorpse_str = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - n_itemcorpse_str->m_field_name = field_name; - n_itemcorpse_str->m_df_type = DF_Type::Stl_string; - n_itemcorpse_str->m_rdf_type = RDF_Type::Array; - n_itemcorpse_str->m_node_type = NodeType::Array; - n_itemcorpse_str->m_addornements = "[5"; - n_itemcorpse_str->m_array_size = 5; - n_itemcorpse_str->m_address = base + offset; - n_itemcorpse_str->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_itemcorpse_str); - - field_name = "remains"; - auto n_remains = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - n_remains->m_field_name = field_name; - n_remains->m_df_type = DF_Type::Stl_string; - n_remains->m_rdf_type = RDF_Type::Array; - n_remains->m_node_type = NodeType::Array; - n_remains->m_addornements = "[2"; - n_remains->m_array_size = 2; - n_remains->m_address = base + offset; - n_remains->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_remains); - - field_name = "description"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - auto n_description = new NodeSimple; - n_description->m_field_name = field_name; - n_description->m_df_type = DF_Type::Stl_string; - n_description->m_rdf_type = RDF_Type::Stl_string; - n_description->m_node_type = NodeType::Simple; - n_description->m_address = base + offset; - n_description->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_description); - - field_name = "mannerisms"; - auto n_mannerisms = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - n_mannerisms->m_field_name = field_name; - n_mannerisms->m_df_type = DF_Type::Stl_string; - n_mannerisms->m_rdf_type = RDF_Type::Array; - n_mannerisms->m_node_type = NodeType::Array; - n_mannerisms->m_addornements = "[17"; - n_mannerisms->m_array_size = 17; - n_mannerisms->m_address = base + offset; - n_mannerisms->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mannerisms); - - field_name = "caste_tile"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - auto n_caste_tile = new NodeSimple; - n_caste_tile->m_field_name = field_name; - n_caste_tile->m_df_type = DF_Type::uint8_t; - n_caste_tile->m_rdf_type = RDF_Type::uint8_t; - n_caste_tile->m_node_type = NodeType::Simple; - n_caste_tile->m_address = base + offset; - n_caste_tile->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_caste_tile); - - field_name = "caste_soldier_tile"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - auto n_caste_soldier_tile = new NodeSimple; - n_caste_soldier_tile->m_field_name = field_name; - n_caste_soldier_tile->m_df_type = DF_Type::uint8_t; - n_caste_soldier_tile->m_rdf_type = RDF_Type::uint8_t; - n_caste_soldier_tile->m_node_type = NodeType::Simple; - n_caste_soldier_tile->m_address = base + offset; - n_caste_soldier_tile->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_caste_soldier_tile); - - field_name = "caste_alttile"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - auto n_caste_alttile = new NodeSimple; - n_caste_alttile->m_field_name = field_name; - n_caste_alttile->m_df_type = DF_Type::uint8_t; - n_caste_alttile->m_rdf_type = RDF_Type::uint8_t; - n_caste_alttile->m_node_type = NodeType::Simple; - n_caste_alttile->m_address = base + offset; - n_caste_alttile->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_caste_alttile); - - field_name = "caste_soldier_alttile"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - auto n_caste_soldier_alttile = new NodeSimple; - n_caste_soldier_alttile->m_field_name = field_name; - n_caste_soldier_alttile->m_df_type = DF_Type::uint8_t; - n_caste_soldier_alttile->m_rdf_type = RDF_Type::uint8_t; - n_caste_soldier_alttile->m_node_type = NodeType::Simple; - n_caste_soldier_alttile->m_address = base + offset; - n_caste_soldier_alttile->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_caste_soldier_alttile); - - field_name = "caste_glowtile"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - auto n_caste_glowtile = new NodeSimple; - n_caste_glowtile->m_field_name = field_name; - n_caste_glowtile->m_df_type = DF_Type::uint8_t; - n_caste_glowtile->m_rdf_type = RDF_Type::uint8_t; - n_caste_glowtile->m_node_type = NodeType::Simple; - n_caste_glowtile->m_address = base + offset; - n_caste_glowtile->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_caste_glowtile); - - field_name = "homeotherm"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - auto n_homeotherm = new NodeSimple; - n_homeotherm->m_field_name = field_name; - n_homeotherm->m_df_type = DF_Type::uint16_t; - n_homeotherm->m_rdf_type = RDF_Type::uint16_t; - n_homeotherm->m_node_type = NodeType::Simple; - n_homeotherm->m_address = base + offset; - n_homeotherm->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_homeotherm); - - field_name = "min_temp"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - auto n_min_temp = new NodeSimple; - n_min_temp->m_field_name = field_name; - n_min_temp->m_df_type = DF_Type::uint16_t; - n_min_temp->m_rdf_type = RDF_Type::uint16_t; - n_min_temp->m_node_type = NodeType::Simple; - n_min_temp->m_address = base + offset; - n_min_temp->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_min_temp); - - field_name = "max_temp"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - auto n_max_temp = new NodeSimple; - n_max_temp->m_field_name = field_name; - n_max_temp->m_df_type = DF_Type::uint16_t; - n_max_temp->m_rdf_type = RDF_Type::uint16_t; - n_max_temp->m_node_type = NodeType::Simple; - n_max_temp->m_address = base + offset; - n_max_temp->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_max_temp); - - field_name = "fixed_temp"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - auto n_fixed_temp = new NodeSimple; - n_fixed_temp->m_field_name = field_name; - n_fixed_temp->m_df_type = DF_Type::uint16_t; - n_fixed_temp->m_rdf_type = RDF_Type::uint16_t; - n_fixed_temp->m_node_type = NodeType::Simple; - n_fixed_temp->m_address = base + offset; - n_fixed_temp->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_fixed_temp); - - field_name = "caste_color"; - auto n_caste_color = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - n_caste_color->m_field_name = field_name; - n_caste_color->m_df_type = DF_Type::int16_t; - n_caste_color->m_rdf_type = RDF_Type::Array; - n_caste_color->m_node_type = NodeType::Array; - n_caste_color->m_addornements = "[3"; - n_caste_color->m_array_size = 3; - n_caste_color->m_address = base + offset; - n_caste_color->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_caste_color); - - field_name = "misc"; - auto n_misc = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - n_misc->m_field_name = field_name; - n_misc->m_df_type = DF_Type::caste_raw__T_misc; - n_misc->m_rdf_type = RDF_Type::Compound; - n_misc->m_node_type = NodeType::Compound; - n_misc->m_address = base + offset; - n_misc->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_misc); - - field_name = "personality"; - auto n_personality = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - n_personality->m_field_name = field_name; - n_personality->m_df_type = DF_Type::caste_raw__T_personality; - n_personality->m_rdf_type = RDF_Type::Compound; - n_personality->m_node_type = NodeType::Compound; - n_personality->m_address = base + offset; - n_personality->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_personality); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - auto n_flags = new NodeDFFlagArray; - n_flags->m_field_name = field_name; - n_flags->m_index_enum = DF_Type::caste_raw_flags; - n_flags->m_df_type = DF_Type::caste_raw_flags; - n_flags->m_size = 173; - n_flags->m_rdf_type = RDF_Type::DFFlagArray; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_defined_in = "df.creature-raws.xml"; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - auto n_index = new NodeSimple; - n_index->m_field_name = field_name; - n_index->m_df_type = DF_Type::int32_t; - n_index->m_rdf_type = RDF_Type::int32_t; - n_index->m_node_type = NodeType::Simple; - n_index->m_address = base + offset; - n_index->m_comment = "global across creatures"; - n_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_index); - - field_name = "body_info"; - auto n_body_info = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - n_body_info->m_field_name = field_name; - n_body_info->m_df_type = DF_Type::caste_body_info; - n_body_info->m_rdf_type = RDF_Type::Struct; - n_body_info->m_node_type = NodeType::Compound; - n_body_info->m_address = base + offset; - n_body_info->m_defined_in = "df.creature-raws.xml"; - n_body_info->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_body_info); - - field_name = "caste_speech_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - auto n_caste_speech_1 = new NodeVector; - n_caste_speech_1->m_field_name = field_name; - n_caste_speech_1->m_df_type = DF_Type::Void; - n_caste_speech_1->m_rdf_type = RDF_Type::Vector; - n_caste_speech_1->m_node_type = NodeType::Vector; - n_caste_speech_1->m_addornements = "v"; - n_caste_speech_1->m_address = base + offset; - n_caste_speech_1->m_parent = p_node_parent; - n_caste_speech_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_caste_speech_1); - - field_name = "caste_speech_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - auto n_caste_speech_2 = new NodeVector; - n_caste_speech_2->m_field_name = field_name; - n_caste_speech_2->m_df_type = DF_Type::Void; - n_caste_speech_2->m_rdf_type = RDF_Type::Vector; - n_caste_speech_2->m_node_type = NodeType::Vector; - n_caste_speech_2->m_addornements = "v"; - n_caste_speech_2->m_address = base + offset; - n_caste_speech_2->m_parent = p_node_parent; - n_caste_speech_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_caste_speech_2); - - field_name = "skill_rates"; - auto n_skill_rates = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - n_skill_rates->m_field_name = field_name; - n_skill_rates->m_df_type = DF_Type::int32_t; - n_skill_rates->m_rdf_type = RDF_Type::Array; - n_skill_rates->m_node_type = NodeType::Array; - n_skill_rates->m_addornements = "[4[135"; - n_skill_rates->m_array_size = 4; - n_skill_rates->m_address = base + offset; - n_skill_rates->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_skill_rates); - - field_name = "attributes"; - auto n_attributes = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - n_attributes->m_field_name = field_name; - n_attributes->m_df_type = DF_Type::caste_raw__T_attributes; - n_attributes->m_rdf_type = RDF_Type::Compound; - n_attributes->m_node_type = NodeType::Compound; - n_attributes->m_address = base + offset; - n_attributes->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_attributes); - - field_name = "gender"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - auto n_gender = new NodeSimple; - n_gender->m_field_name = field_name; - n_gender->m_df_type = DF_Type::int8_t; - n_gender->m_rdf_type = RDF_Type::int8_t; - n_gender->m_node_type = NodeType::Simple; - n_gender->m_address = base + offset; - n_gender->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_gender); - - field_name = "orientation_male"; - auto n_orientation_male = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - n_orientation_male->m_field_name = field_name; - n_orientation_male->m_df_type = DF_Type::int32_t; - n_orientation_male->m_rdf_type = RDF_Type::Array; - n_orientation_male->m_node_type = NodeType::Array; - n_orientation_male->m_addornements = "[3"; - n_orientation_male->m_array_size = 3; - n_orientation_male->m_address = base + offset; - n_orientation_male->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_orientation_male); - - field_name = "orientation_female"; - auto n_orientation_female = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - n_orientation_female->m_field_name = field_name; - n_orientation_female->m_df_type = DF_Type::int32_t; - n_orientation_female->m_rdf_type = RDF_Type::Array; - n_orientation_female->m_node_type = NodeType::Array; - n_orientation_female->m_addornements = "[3"; - n_orientation_female->m_array_size = 3; - n_orientation_female->m_address = base + offset; - n_orientation_female->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_orientation_female); - - field_name = "body_size_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - auto n_body_size_1 = new NodeVector; - n_body_size_1->m_field_name = field_name; - n_body_size_1->m_df_type = DF_Type::int32_t; - n_body_size_1->m_rdf_type = RDF_Type::Vector; - n_body_size_1->m_node_type = NodeType::Vector; - n_body_size_1->m_addornements = "v"; - n_body_size_1->m_address = base + offset; - n_body_size_1->m_comment = "age in ticks"; - n_body_size_1->m_parent = p_node_parent; - n_body_size_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_body_size_1); - - field_name = "body_size_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - auto n_body_size_2 = new NodeVector; - n_body_size_2->m_field_name = field_name; - n_body_size_2->m_df_type = DF_Type::int32_t; - n_body_size_2->m_rdf_type = RDF_Type::Vector; - n_body_size_2->m_node_type = NodeType::Vector; - n_body_size_2->m_addornements = "v"; - n_body_size_2->m_address = base + offset; - n_body_size_2->m_comment = "size at the age at the same index in body_size_1"; - n_body_size_2->m_parent = p_node_parent; - n_body_size_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_body_size_2); - - field_name = "body_appearance_modifiers"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - auto n_body_appearance_modifiers = new NodeVector; - n_body_appearance_modifiers->m_field_name = field_name; - n_body_appearance_modifiers->m_df_type = DF_Type::body_appearance_modifier; - n_body_appearance_modifiers->m_rdf_type = RDF_Type::Vector; - n_body_appearance_modifiers->m_node_type = NodeType::Vector; - n_body_appearance_modifiers->m_defined_in = "df.creature-raws.xml"; - n_body_appearance_modifiers->m_addornements = "v*"; - n_body_appearance_modifiers->m_address = base + offset; - n_body_appearance_modifiers->m_parent = p_node_parent; - n_body_appearance_modifiers->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_body_appearance_modifiers); - - field_name = "bp_appearance"; - auto n_bp_appearance = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - n_bp_appearance->m_field_name = field_name; - n_bp_appearance->m_df_type = DF_Type::caste_raw__T_bp_appearance; - n_bp_appearance->m_rdf_type = RDF_Type::Compound; - n_bp_appearance->m_node_type = NodeType::Compound; - n_bp_appearance->m_address = base + offset; - n_bp_appearance->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_bp_appearance); - - field_name = "color_modifiers"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - auto n_color_modifiers = new NodeVector; - n_color_modifiers->m_field_name = field_name; - n_color_modifiers->m_df_type = DF_Type::color_modifier_raw; - n_color_modifiers->m_rdf_type = RDF_Type::Vector; - n_color_modifiers->m_node_type = NodeType::Vector; - n_color_modifiers->m_defined_in = "df.creature-raws.xml"; - n_color_modifiers->m_addornements = "v*"; - n_color_modifiers->m_address = base + offset; - n_color_modifiers->m_parent = p_node_parent; - n_color_modifiers->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_color_modifiers); - - field_name = "tissue_styles"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - auto n_tissue_styles = new NodeVector; - n_tissue_styles->m_field_name = field_name; - n_tissue_styles->m_df_type = DF_Type::tissue_style_raw; - n_tissue_styles->m_rdf_type = RDF_Type::Vector; - n_tissue_styles->m_node_type = NodeType::Vector; - n_tissue_styles->m_defined_in = "df.creature-raws.xml"; - n_tissue_styles->m_addornements = "v*"; - n_tissue_styles->m_address = base + offset; - n_tissue_styles->m_parent = p_node_parent; - n_tissue_styles->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_tissue_styles); - - field_name = "shearable_tissue_layer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - auto n_shearable_tissue_layer = new NodeVector; - n_shearable_tissue_layer->m_field_name = field_name; - n_shearable_tissue_layer->m_df_type = DF_Type::caste_raw__T_shearable_tissue_layer; - n_shearable_tissue_layer->m_rdf_type = RDF_Type::Vector; - n_shearable_tissue_layer->m_node_type = NodeType::Vector; - n_shearable_tissue_layer->m_addornements = "v*"; - n_shearable_tissue_layer->m_address = base + offset; - n_shearable_tissue_layer->m_parent = p_node_parent; - n_shearable_tissue_layer->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_shearable_tissue_layer); - - field_name = "unk16a"; - auto n_unk16a = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - n_unk16a->m_field_name = field_name; - n_unk16a->m_df_type = DF_Type::Void; - n_unk16a->m_rdf_type = RDF_Type::Array; - n_unk16a->m_node_type = NodeType::Array; - n_unk16a->m_addornements = "[4v"; - n_unk16a->m_array_size = 4; - n_unk16a->m_address = base + offset; - n_unk16a->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk16a); - - field_name = "unk16b"; - auto n_unk16b = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - n_unk16b->m_field_name = field_name; - n_unk16b->m_df_type = DF_Type::Void; - n_unk16b->m_rdf_type = RDF_Type::Array; - n_unk16b->m_node_type = NodeType::Array; - n_unk16b->m_addornements = "[4v"; - n_unk16b->m_array_size = 4; - n_unk16b->m_address = base + offset; - n_unk16b->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk16b); - - field_name = "appearance_gene_count"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - auto n_appearance_gene_count = new NodeSimple; - n_appearance_gene_count->m_field_name = field_name; - n_appearance_gene_count->m_df_type = DF_Type::int32_t; - n_appearance_gene_count->m_rdf_type = RDF_Type::int32_t; - n_appearance_gene_count->m_node_type = NodeType::Simple; - n_appearance_gene_count->m_address = base + offset; - n_appearance_gene_count->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_appearance_gene_count); - - field_name = "color_gene_count"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - auto n_color_gene_count = new NodeSimple; - n_color_gene_count->m_field_name = field_name; - n_color_gene_count->m_df_type = DF_Type::int32_t; - n_color_gene_count->m_rdf_type = RDF_Type::int32_t; - n_color_gene_count->m_node_type = NodeType::Simple; - n_color_gene_count->m_address = base + offset; - n_color_gene_count->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_color_gene_count); - - field_name = "natural_skill_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - auto n_natural_skill_id = new NodeVector; - n_natural_skill_id->m_field_name = field_name; - n_natural_skill_id->m_df_type = DF_Type::job_skill; - n_natural_skill_id->m_rdf_type = RDF_Type::Vector; - n_natural_skill_id->m_node_type = NodeType::Vector; - n_natural_skill_id->m_enum_base = DF_Type::int16_t; - n_natural_skill_id->m_defined_in = "df.skills.xml"; - n_natural_skill_id->m_addornements = "v"; - n_natural_skill_id->m_address = base + offset; - n_natural_skill_id->m_parent = p_node_parent; - n_natural_skill_id->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_natural_skill_id); - - field_name = "natural_skill_exp"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - auto n_natural_skill_exp = new NodeVector; - n_natural_skill_exp->m_field_name = field_name; - n_natural_skill_exp->m_df_type = DF_Type::int32_t; - n_natural_skill_exp->m_rdf_type = RDF_Type::Vector; - n_natural_skill_exp->m_node_type = NodeType::Vector; - n_natural_skill_exp->m_addornements = "v"; - n_natural_skill_exp->m_address = base + offset; - n_natural_skill_exp->m_parent = p_node_parent; - n_natural_skill_exp->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_natural_skill_exp); - - field_name = "natural_skill_lvl"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - auto n_natural_skill_lvl = new NodeVector; - n_natural_skill_lvl->m_field_name = field_name; - n_natural_skill_lvl->m_df_type = DF_Type::skill_rating; - n_natural_skill_lvl->m_rdf_type = RDF_Type::Vector; - n_natural_skill_lvl->m_node_type = NodeType::Vector; - n_natural_skill_lvl->m_enum_base = DF_Type::int32_t; - n_natural_skill_lvl->m_defined_in = "df.units.xml"; - n_natural_skill_lvl->m_addornements = "v"; - n_natural_skill_lvl->m_address = base + offset; - n_natural_skill_lvl->m_parent = p_node_parent; - n_natural_skill_lvl->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_natural_skill_lvl); - - field_name = "caste_profession_name"; - auto n_caste_profession_name = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - n_caste_profession_name->m_field_name = field_name; - n_caste_profession_name->m_df_type = DF_Type::caste_raw__T_caste_profession_name; - n_caste_profession_name->m_rdf_type = RDF_Type::Compound; - n_caste_profession_name->m_node_type = NodeType::Compound; - n_caste_profession_name->m_address = base + offset; - n_caste_profession_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_caste_profession_name); - - field_name = "extracts"; - auto n_extracts = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - n_extracts->m_field_name = field_name; - n_extracts->m_df_type = DF_Type::caste_raw__T_extracts; - n_extracts->m_rdf_type = RDF_Type::Compound; - n_extracts->m_node_type = NodeType::Compound; - n_extracts->m_address = base + offset; - n_extracts->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_extracts); - - field_name = "secretion"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - auto n_secretion = new NodeVector; - n_secretion->m_field_name = field_name; - n_secretion->m_df_type = DF_Type::caste_raw__T_secretion; - n_secretion->m_rdf_type = RDF_Type::Vector; - n_secretion->m_node_type = NodeType::Vector; - n_secretion->m_addornements = "v*"; - n_secretion->m_address = base + offset; - n_secretion->m_parent = p_node_parent; - n_secretion->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_secretion); - - field_name = "creature_class"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - auto n_creature_class = new NodeVector; - n_creature_class->m_field_name = field_name; - n_creature_class->m_df_type = DF_Type::Stl_string; - n_creature_class->m_rdf_type = RDF_Type::Vector; - n_creature_class->m_node_type = NodeType::Vector; - n_creature_class->m_addornements = "v*"; - n_creature_class->m_address = base + offset; - n_creature_class->m_parent = p_node_parent; - n_creature_class->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_creature_class); - - field_name = "unknown2"; - auto n_unknown2 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - n_unknown2->m_field_name = field_name; - n_unknown2->m_df_type = DF_Type::caste_raw__T_unknown2; - n_unknown2->m_rdf_type = RDF_Type::Compound; - n_unknown2->m_node_type = NodeType::Compound; - n_unknown2->m_address = base + offset; - n_unknown2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unknown2); - - field_name = "habit_num"; - auto n_habit_num = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - n_habit_num->m_field_name = field_name; - n_habit_num->m_df_type = DF_Type::int32_t; - n_habit_num->m_rdf_type = RDF_Type::Array; - n_habit_num->m_node_type = NodeType::Array; - n_habit_num->m_addornements = "[2"; - n_habit_num->m_array_size = 2; - n_habit_num->m_address = base + offset; - n_habit_num->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_habit_num); - - field_name = "habit_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - auto n_habit_1 = new NodeVector; - n_habit_1->m_field_name = field_name; - n_habit_1->m_df_type = DF_Type::int16_t; - n_habit_1->m_rdf_type = RDF_Type::Vector; - n_habit_1->m_node_type = NodeType::Vector; - n_habit_1->m_addornements = "v"; - n_habit_1->m_address = base + offset; - n_habit_1->m_parent = p_node_parent; - n_habit_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_habit_1); - - field_name = "habit_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - auto n_habit_2 = new NodeVector; - n_habit_2->m_field_name = field_name; - n_habit_2->m_df_type = DF_Type::int32_t; - n_habit_2->m_rdf_type = RDF_Type::Vector; - n_habit_2->m_node_type = NodeType::Vector; - n_habit_2->m_addornements = "v"; - n_habit_2->m_address = base + offset; - n_habit_2->m_parent = p_node_parent; - n_habit_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_habit_2); - - field_name = "lair_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - auto n_lair_1 = new NodeVector; - n_lair_1->m_field_name = field_name; - n_lair_1->m_df_type = DF_Type::int16_t; - n_lair_1->m_rdf_type = RDF_Type::Vector; - n_lair_1->m_node_type = NodeType::Vector; - n_lair_1->m_addornements = "v"; - n_lair_1->m_address = base + offset; - n_lair_1->m_parent = p_node_parent; - n_lair_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_lair_1); - - field_name = "lair_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - auto n_lair_2 = new NodeVector; - n_lair_2->m_field_name = field_name; - n_lair_2->m_df_type = DF_Type::int32_t; - n_lair_2->m_rdf_type = RDF_Type::Vector; - n_lair_2->m_node_type = NodeType::Vector; - n_lair_2->m_addornements = "v"; - n_lair_2->m_address = base + offset; - n_lair_2->m_parent = p_node_parent; - n_lair_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_lair_2); - - field_name = "lair_characteristic_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - auto n_lair_characteristic_1 = new NodeVector; - n_lair_characteristic_1->m_field_name = field_name; - n_lair_characteristic_1->m_df_type = DF_Type::int16_t; - n_lair_characteristic_1->m_rdf_type = RDF_Type::Vector; - n_lair_characteristic_1->m_node_type = NodeType::Vector; - n_lair_characteristic_1->m_addornements = "v"; - n_lair_characteristic_1->m_address = base + offset; - n_lair_characteristic_1->m_parent = p_node_parent; - n_lair_characteristic_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_lair_characteristic_1); - - field_name = "lair_characteristic_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - auto n_lair_characteristic_2 = new NodeVector; - n_lair_characteristic_2->m_field_name = field_name; - n_lair_characteristic_2->m_df_type = DF_Type::int32_t; - n_lair_characteristic_2->m_rdf_type = RDF_Type::Vector; - n_lair_characteristic_2->m_node_type = NodeType::Vector; - n_lair_characteristic_2->m_addornements = "v"; - n_lair_characteristic_2->m_address = base + offset; - n_lair_characteristic_2->m_parent = p_node_parent; - n_lair_characteristic_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_lair_characteristic_2); - - field_name = "lair_hunter_speech"; - auto n_lair_hunter_speech = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - n_lair_hunter_speech->m_field_name = field_name; - n_lair_hunter_speech->m_df_type = DF_Type::Void; - n_lair_hunter_speech->m_rdf_type = RDF_Type::Array; - n_lair_hunter_speech->m_node_type = NodeType::Array; - n_lair_hunter_speech->m_addornements = "[2v"; - n_lair_hunter_speech->m_array_size = 2; - n_lair_hunter_speech->m_address = base + offset; - n_lair_hunter_speech->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_lair_hunter_speech); - - field_name = "unk29"; - auto n_unk29 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - n_unk29->m_field_name = field_name; - n_unk29->m_df_type = DF_Type::Void; - n_unk29->m_rdf_type = RDF_Type::Array; - n_unk29->m_node_type = NodeType::Array; - n_unk29->m_addornements = "[2v"; - n_unk29->m_array_size = 2; - n_unk29->m_address = base + offset; - n_unk29->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk29); - - field_name = "specific_food"; - auto n_specific_food = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - n_specific_food->m_field_name = field_name; - n_specific_food->m_df_type = DF_Type::Void; - n_specific_food->m_rdf_type = RDF_Type::Array; - n_specific_food->m_node_type = NodeType::Array; - n_specific_food->m_addornements = "[2v"; - n_specific_food->m_array_size = 2; - n_specific_food->m_address = base + offset; - n_specific_food->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_specific_food); - - field_name = "sound"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - auto n_sound = new NodeVector; - n_sound->m_field_name = field_name; - n_sound->m_df_type = DF_Type::Void; - n_sound->m_rdf_type = RDF_Type::Vector; - n_sound->m_node_type = NodeType::Vector; - n_sound->m_addornements = "v*"; - n_sound->m_address = base + offset; - n_sound->m_parent = p_node_parent; - n_sound->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_sound); - - field_name = "sound_alert"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - auto n_sound_alert = new NodeVector; - n_sound_alert->m_field_name = field_name; - n_sound_alert->m_df_type = DF_Type::int32_t; - n_sound_alert->m_rdf_type = RDF_Type::Vector; - n_sound_alert->m_node_type = NodeType::Vector; - n_sound_alert->m_addornements = "v"; - n_sound_alert->m_address = base + offset; - n_sound_alert->m_parent = p_node_parent; - n_sound_alert->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_sound_alert); - - field_name = "sound_peaceful_intermittent"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - auto n_sound_peaceful_intermittent = new NodeVector; - n_sound_peaceful_intermittent->m_field_name = field_name; - n_sound_peaceful_intermittent->m_df_type = DF_Type::int32_t; - n_sound_peaceful_intermittent->m_rdf_type = RDF_Type::Vector; - n_sound_peaceful_intermittent->m_node_type = NodeType::Vector; - n_sound_peaceful_intermittent->m_addornements = "v"; - n_sound_peaceful_intermittent->m_address = base + offset; - n_sound_peaceful_intermittent->m_refers_to = "$$._global.sound[$]"; - n_sound_peaceful_intermittent->m_parent = p_node_parent; - n_sound_peaceful_intermittent->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_sound_peaceful_intermittent); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - auto n_anon_1 = new NodeVector; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::Void; - n_anon_1->m_rdf_type = RDF_Type::Vector; - n_anon_1->m_node_type = NodeType::Vector; - n_anon_1->m_addornements = "v"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "smell_trigger"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - auto n_smell_trigger = new NodeSimple; - n_smell_trigger->m_field_name = field_name; - n_smell_trigger->m_df_type = DF_Type::int32_t; - n_smell_trigger->m_rdf_type = RDF_Type::int32_t; - n_smell_trigger->m_node_type = NodeType::Simple; - n_smell_trigger->m_address = base + offset; - n_smell_trigger->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_smell_trigger); - - field_name = "odor_level"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - auto n_odor_level = new NodeSimple; - n_odor_level->m_field_name = field_name; - n_odor_level->m_df_type = DF_Type::int32_t; - n_odor_level->m_rdf_type = RDF_Type::int32_t; - n_odor_level->m_node_type = NodeType::Simple; - n_odor_level->m_address = base + offset; - n_odor_level->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_odor_level); - - field_name = "odor_string"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - auto n_odor_string = new NodeSimple; - n_odor_string->m_field_name = field_name; - n_odor_string->m_df_type = DF_Type::Stl_string; - n_odor_string->m_rdf_type = RDF_Type::Stl_string; - n_odor_string->m_node_type = NodeType::Simple; - n_odor_string->m_address = base + offset; - n_odor_string->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_odor_string); - - field_name = "low_light_vision"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - auto n_low_light_vision = new NodeSimple; - n_low_light_vision->m_field_name = field_name; - n_low_light_vision->m_df_type = DF_Type::int32_t; - n_low_light_vision->m_rdf_type = RDF_Type::int32_t; - n_low_light_vision->m_node_type = NodeType::Simple; - n_low_light_vision->m_address = base + offset; - n_low_light_vision->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_low_light_vision); - - field_name = "sense_creature_class_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - auto n_sense_creature_class_1 = new NodeVector; - n_sense_creature_class_1->m_field_name = field_name; - n_sense_creature_class_1->m_df_type = DF_Type::Stl_string; - n_sense_creature_class_1->m_rdf_type = RDF_Type::Vector; - n_sense_creature_class_1->m_node_type = NodeType::Vector; - n_sense_creature_class_1->m_addornements = "v*"; - n_sense_creature_class_1->m_address = base + offset; - n_sense_creature_class_1->m_parent = p_node_parent; - n_sense_creature_class_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_sense_creature_class_1); - - field_name = "sense_creature_class_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - auto n_sense_creature_class_2 = new NodeVector; - n_sense_creature_class_2->m_field_name = field_name; - n_sense_creature_class_2->m_df_type = DF_Type::int8_t; - n_sense_creature_class_2->m_rdf_type = RDF_Type::Vector; - n_sense_creature_class_2->m_node_type = NodeType::Vector; - n_sense_creature_class_2->m_addornements = "v"; - n_sense_creature_class_2->m_address = base + offset; - n_sense_creature_class_2->m_parent = p_node_parent; - n_sense_creature_class_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_sense_creature_class_2); - - field_name = "sense_creature_class_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - auto n_sense_creature_class_3 = new NodeVector; - n_sense_creature_class_3->m_field_name = field_name; - n_sense_creature_class_3->m_df_type = DF_Type::int16_t; - n_sense_creature_class_3->m_rdf_type = RDF_Type::Vector; - n_sense_creature_class_3->m_node_type = NodeType::Vector; - n_sense_creature_class_3->m_addornements = "v"; - n_sense_creature_class_3->m_address = base + offset; - n_sense_creature_class_3->m_parent = p_node_parent; - n_sense_creature_class_3->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_sense_creature_class_3); - - field_name = "sense_creature_class_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - auto n_sense_creature_class_4 = new NodeVector; - n_sense_creature_class_4->m_field_name = field_name; - n_sense_creature_class_4->m_df_type = DF_Type::int16_t; - n_sense_creature_class_4->m_rdf_type = RDF_Type::Vector; - n_sense_creature_class_4->m_node_type = NodeType::Vector; - n_sense_creature_class_4->m_addornements = "v"; - n_sense_creature_class_4->m_address = base + offset; - n_sense_creature_class_4->m_parent = p_node_parent; - n_sense_creature_class_4->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_sense_creature_class_4); - - field_name = "sense_creature_class_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); - auto n_sense_creature_class_5 = new NodeVector; - n_sense_creature_class_5->m_field_name = field_name; - n_sense_creature_class_5->m_df_type = DF_Type::int16_t; - n_sense_creature_class_5->m_rdf_type = RDF_Type::Vector; - n_sense_creature_class_5->m_node_type = NodeType::Vector; - n_sense_creature_class_5->m_addornements = "v"; - n_sense_creature_class_5->m_address = base + offset; - n_sense_creature_class_5->m_parent = p_node_parent; - n_sense_creature_class_5->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_sense_creature_class_5); - -} -void node_from_tissue_style_raw(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "token"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue_style_raw, field_name)); - auto n_token = new NodeSimple; - n_token->m_field_name = field_name; - n_token->m_df_type = DF_Type::Stl_string; - n_token->m_rdf_type = RDF_Type::Stl_string; - n_token->m_node_type = NodeType::Simple; - n_token->m_address = base + offset; - n_token->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_token); - - field_name = "part_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue_style_raw, field_name)); - auto n_part_idx = new NodeVector; - n_part_idx->m_field_name = field_name; - n_part_idx->m_df_type = DF_Type::int16_t; - n_part_idx->m_rdf_type = RDF_Type::Vector; - n_part_idx->m_node_type = NodeType::Vector; - n_part_idx->m_addornements = "v"; - n_part_idx->m_address = base + offset; - n_part_idx->m_refers_to = "$$._global._upglobal.body_info.body_parts[$]"; - n_part_idx->m_parent = p_node_parent; - n_part_idx->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_part_idx); - - field_name = "layer_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue_style_raw, field_name)); - auto n_layer_idx = new NodeVector; - n_layer_idx->m_field_name = field_name; - n_layer_idx->m_df_type = DF_Type::int16_t; - n_layer_idx->m_rdf_type = RDF_Type::Vector; - n_layer_idx->m_node_type = NodeType::Vector; - n_layer_idx->m_addornements = "v"; - n_layer_idx->m_address = base + offset; - n_layer_idx->m_refers_to = "$$._parent._parent.part_idx[$$._key].refers-to.layers[$]"; - n_layer_idx->m_refers_to = "$$._parent.part_idx[$].refers-to"; - n_layer_idx->m_parent = p_node_parent; - n_layer_idx->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_layer_idx); - - field_name = "styles"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue_style_raw, field_name)); - auto n_styles = new NodeVector; - n_styles->m_field_name = field_name; - n_styles->m_df_type = DF_Type::tissue_style_type; - n_styles->m_rdf_type = RDF_Type::Vector; - n_styles->m_node_type = NodeType::Vector; - n_styles->m_enum_base = DF_Type::int16_t; - n_styles->m_defined_in = "df.creature-raws.xml"; - n_styles->m_addornements = "v"; - n_styles->m_address = base + offset; - n_styles->m_parent = p_node_parent; - n_styles->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_styles); - - field_name = "list_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue_style_raw, field_name)); - auto n_list_idx = new NodeVector; - n_list_idx->m_field_name = field_name; - n_list_idx->m_df_type = DF_Type::int32_t; - n_list_idx->m_rdf_type = RDF_Type::Vector; - n_list_idx->m_node_type = NodeType::Vector; - n_list_idx->m_addornements = "v"; - n_list_idx->m_address = base + offset; - n_list_idx->m_refers_to = "$$._global._upglobal.bp_appearance.style_layer_idx[$].refers-to"; - n_list_idx->m_parent = p_node_parent; - n_list_idx->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_list_idx); - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue_style_raw, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "noun"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue_style_raw, field_name)); - auto n_noun = new NodeSimple; - n_noun->m_field_name = field_name; - n_noun->m_df_type = DF_Type::Stl_string; - n_noun->m_rdf_type = RDF_Type::Stl_string; - n_noun->m_node_type = NodeType::Simple; - n_noun->m_address = base + offset; - n_noun->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_noun); - - field_name = "word_type"; - auto n_word_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue_style_raw, field_name)); - n_word_type->m_field_name = field_name; - n_word_type->m_df_type = DF_Type::part_of_speech; - n_word_type->m_rdf_type = RDF_Type::Enum; - n_word_type->m_node_type = NodeType::Enum; - n_word_type->m_base_type = DF_Type::int16_t; - n_word_type->m_enum_type = "part_of_speech"; - n_word_type->m_address = base + offset; - n_word_type->m_comment = "0 singular, 1 plural"; - n_word_type->m_defined_in = "df.language.xml"; - n_word_type->m_first_value = 0; - n_word_type->m_last_value = 8; - n_word_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_word_type); - -} -void node_from_creature_raw__T_graphics(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "texpos"; - auto n_texpos = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw__T_graphics, field_name)); - n_texpos->m_field_name = field_name; - n_texpos->m_df_type = DF_Type::int32_t; - n_texpos->m_rdf_type = RDF_Type::Array; - n_texpos->m_node_type = NodeType::Array; - n_texpos->m_index_enum = DF_Type::creature_graphics_role; - n_texpos->m_addornements = "[6"; - n_texpos->m_array_size = 6; - n_texpos->m_address = base + offset; - n_texpos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_texpos); - - field_name = "texpos_gs"; - auto n_texpos_gs = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw__T_graphics, field_name)); - n_texpos_gs->m_field_name = field_name; - n_texpos_gs->m_df_type = DF_Type::int32_t; - n_texpos_gs->m_rdf_type = RDF_Type::Array; - n_texpos_gs->m_node_type = NodeType::Array; - n_texpos_gs->m_index_enum = DF_Type::creature_graphics_role; - n_texpos_gs->m_addornements = "[6"; - n_texpos_gs->m_array_size = 6; - n_texpos_gs->m_address = base + offset; - n_texpos_gs->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_texpos_gs); - - field_name = "entity_link_texpos"; - auto n_entity_link_texpos = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw__T_graphics, field_name)); - n_entity_link_texpos->m_field_name = field_name; - n_entity_link_texpos->m_df_type = DF_Type::int32_t; - n_entity_link_texpos->m_rdf_type = RDF_Type::Array; - n_entity_link_texpos->m_node_type = NodeType::Array; - n_entity_link_texpos->m_index_enum = DF_Type::creature_graphics_role; - n_entity_link_texpos->m_addornements = "[6[18"; - n_entity_link_texpos->m_array_size = 6; - n_entity_link_texpos->m_address = base + offset; - n_entity_link_texpos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity_link_texpos); - - field_name = "entity_link_texpos_gs"; - auto n_entity_link_texpos_gs = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw__T_graphics, field_name)); - n_entity_link_texpos_gs->m_field_name = field_name; - n_entity_link_texpos_gs->m_df_type = DF_Type::int32_t; - n_entity_link_texpos_gs->m_rdf_type = RDF_Type::Array; - n_entity_link_texpos_gs->m_node_type = NodeType::Array; - n_entity_link_texpos_gs->m_index_enum = DF_Type::creature_graphics_role; - n_entity_link_texpos_gs->m_addornements = "[6[18"; - n_entity_link_texpos_gs->m_array_size = 6; - n_entity_link_texpos_gs->m_address = base + offset; - n_entity_link_texpos_gs->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity_link_texpos_gs); - - field_name = "site_link_texpos"; - auto n_site_link_texpos = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw__T_graphics, field_name)); - n_site_link_texpos->m_field_name = field_name; - n_site_link_texpos->m_df_type = DF_Type::int32_t; - n_site_link_texpos->m_rdf_type = RDF_Type::Array; - n_site_link_texpos->m_node_type = NodeType::Array; - n_site_link_texpos->m_index_enum = DF_Type::creature_graphics_role; - n_site_link_texpos->m_addornements = "[6[8"; - n_site_link_texpos->m_array_size = 6; - n_site_link_texpos->m_address = base + offset; - n_site_link_texpos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_link_texpos); - - field_name = "site_link_texpos_gs"; - auto n_site_link_texpos_gs = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw__T_graphics, field_name)); - n_site_link_texpos_gs->m_field_name = field_name; - n_site_link_texpos_gs->m_df_type = DF_Type::int32_t; - n_site_link_texpos_gs->m_rdf_type = RDF_Type::Array; - n_site_link_texpos_gs->m_node_type = NodeType::Array; - n_site_link_texpos_gs->m_index_enum = DF_Type::creature_graphics_role; - n_site_link_texpos_gs->m_addornements = "[6[8"; - n_site_link_texpos_gs->m_array_size = 6; - n_site_link_texpos_gs->m_address = base + offset; - n_site_link_texpos_gs->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_link_texpos_gs); - - field_name = "profession_texpos"; - auto n_profession_texpos = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw__T_graphics, field_name)); - n_profession_texpos->m_field_name = field_name; - n_profession_texpos->m_df_type = DF_Type::int32_t; - n_profession_texpos->m_rdf_type = RDF_Type::Array; - n_profession_texpos->m_node_type = NodeType::Array; - n_profession_texpos->m_index_enum = DF_Type::creature_graphics_role; - n_profession_texpos->m_addornements = "[6[135"; - n_profession_texpos->m_array_size = 6; - n_profession_texpos->m_address = base + offset; - n_profession_texpos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_profession_texpos); - - field_name = "profession_texpos_gs"; - auto n_profession_texpos_gs = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw__T_graphics, field_name)); - n_profession_texpos_gs->m_field_name = field_name; - n_profession_texpos_gs->m_df_type = DF_Type::int32_t; - n_profession_texpos_gs->m_rdf_type = RDF_Type::Array; - n_profession_texpos_gs->m_node_type = NodeType::Array; - n_profession_texpos_gs->m_index_enum = DF_Type::creature_graphics_role; - n_profession_texpos_gs->m_addornements = "[6[135"; - n_profession_texpos_gs->m_array_size = 6; - n_profession_texpos_gs->m_address = base + offset; - n_profession_texpos_gs->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_profession_texpos_gs); - - field_name = "add_color"; - auto n_add_color = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw__T_graphics, field_name)); - n_add_color->m_field_name = field_name; - n_add_color->m_df_type = DF_Type::Bool; - n_add_color->m_rdf_type = RDF_Type::Array; - n_add_color->m_node_type = NodeType::Array; - n_add_color->m_index_enum = DF_Type::creature_graphics_role; - n_add_color->m_addornements = "[6"; - n_add_color->m_array_size = 6; - n_add_color->m_address = base + offset; - n_add_color->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_add_color); - - field_name = "entity_link_add_color"; - auto n_entity_link_add_color = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw__T_graphics, field_name)); - n_entity_link_add_color->m_field_name = field_name; - n_entity_link_add_color->m_df_type = DF_Type::Bool; - n_entity_link_add_color->m_rdf_type = RDF_Type::Array; - n_entity_link_add_color->m_node_type = NodeType::Array; - n_entity_link_add_color->m_index_enum = DF_Type::creature_graphics_role; - n_entity_link_add_color->m_addornements = "[6[18"; - n_entity_link_add_color->m_array_size = 6; - n_entity_link_add_color->m_address = base + offset; - n_entity_link_add_color->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity_link_add_color); - - field_name = "site_link_add_color"; - auto n_site_link_add_color = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw__T_graphics, field_name)); - n_site_link_add_color->m_field_name = field_name; - n_site_link_add_color->m_df_type = DF_Type::Bool; - n_site_link_add_color->m_rdf_type = RDF_Type::Array; - n_site_link_add_color->m_node_type = NodeType::Array; - n_site_link_add_color->m_index_enum = DF_Type::creature_graphics_role; - n_site_link_add_color->m_addornements = "[6[8"; - n_site_link_add_color->m_array_size = 6; - n_site_link_add_color->m_address = base + offset; - n_site_link_add_color->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_link_add_color); - - field_name = "profession_add_color"; - auto n_profession_add_color = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw__T_graphics, field_name)); - n_profession_add_color->m_field_name = field_name; - n_profession_add_color->m_df_type = DF_Type::Bool; - n_profession_add_color->m_rdf_type = RDF_Type::Array; - n_profession_add_color->m_node_type = NodeType::Array; - n_profession_add_color->m_index_enum = DF_Type::creature_graphics_role; - n_profession_add_color->m_addornements = "[6[135"; - n_profession_add_color->m_array_size = 6; - n_profession_add_color->m_address = base + offset; - n_profession_add_color->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_profession_add_color); - - field_name = "appointments"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw__T_graphics, field_name)); - auto n_appointments = new NodeVector; - n_appointments->m_field_name = field_name; - n_appointments->m_df_type = DF_Type::creature_graphics_appointment; - n_appointments->m_rdf_type = RDF_Type::Vector; - n_appointments->m_node_type = NodeType::Vector; - n_appointments->m_defined_in = "df.creature-raws.xml"; - n_appointments->m_addornements = "v*"; - n_appointments->m_address = base + offset; - n_appointments->m_parent = p_node_parent; - n_appointments->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_appointments); - -} -void node_from_creature_raw__T_profession_name(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "singular"; - auto n_singular = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw__T_profession_name, field_name)); - n_singular->m_field_name = field_name; - n_singular->m_df_type = DF_Type::Stl_string; - n_singular->m_rdf_type = RDF_Type::Array; - n_singular->m_node_type = NodeType::Array; - n_singular->m_index_enum = DF_Type::profession; - n_singular->m_addornements = "[135"; - n_singular->m_array_size = 135; - n_singular->m_address = base + offset; - n_singular->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_singular); - - field_name = "plural"; - auto n_plural = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw__T_profession_name, field_name)); - n_plural->m_field_name = field_name; - n_plural->m_df_type = DF_Type::Stl_string; - n_plural->m_rdf_type = RDF_Type::Array; - n_plural->m_node_type = NodeType::Array; - n_plural->m_index_enum = DF_Type::profession; - n_plural->m_addornements = "[135"; - n_plural->m_array_size = 135; - n_plural->m_address = base + offset; - n_plural->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_plural); - -} -void node_from_creature_raw__T_hive_product(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "number"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw__T_hive_product, field_name)); - auto n_number = new NodeVector; - n_number->m_field_name = field_name; - n_number->m_df_type = DF_Type::int32_t; - n_number->m_rdf_type = RDF_Type::Vector; - n_number->m_node_type = NodeType::Vector; - n_number->m_addornements = "v"; - n_number->m_address = base + offset; - n_number->m_parent = p_node_parent; - n_number->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_number); - - field_name = "time"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw__T_hive_product, field_name)); - auto n_time = new NodeVector; - n_time->m_field_name = field_name; - n_time->m_df_type = DF_Type::int32_t; - n_time->m_rdf_type = RDF_Type::Vector; - n_time->m_node_type = NodeType::Vector; - n_time->m_addornements = "v"; - n_time->m_address = base + offset; - n_time->m_parent = p_node_parent; - n_time->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_time); - - field_name = "item_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw__T_hive_product, field_name)); - auto n_item_type = new NodeVector; - n_item_type->m_field_name = field_name; - n_item_type->m_df_type = DF_Type::item_type; - n_item_type->m_rdf_type = RDF_Type::Vector; - n_item_type->m_node_type = NodeType::Vector; - n_item_type->m_enum_base = DF_Type::int16_t; - n_item_type->m_defined_in = "df.item-raws.xml"; - n_item_type->m_addornements = "v"; - n_item_type->m_address = base + offset; - n_item_type->m_parent = p_node_parent; - n_item_type->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_item_type); - - field_name = "item_subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw__T_hive_product, field_name)); - auto n_item_subtype = new NodeVector; - n_item_subtype->m_field_name = field_name; - n_item_subtype->m_df_type = DF_Type::int16_t; - n_item_subtype->m_rdf_type = RDF_Type::Vector; - n_item_subtype->m_node_type = NodeType::Vector; - n_item_subtype->m_addornements = "v"; - n_item_subtype->m_address = base + offset; - n_item_subtype->m_parent = p_node_parent; - n_item_subtype->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_item_subtype); - - field_name = "material"; - auto n_material = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw__T_hive_product, field_name)); - n_material->m_field_name = field_name; - n_material->m_df_type = DF_Type::material_vec_ref; - n_material->m_rdf_type = RDF_Type::Struct; - n_material->m_node_type = NodeType::Compound; - n_material->m_address = base + offset; - n_material->m_defined_in = "df.materials.xml"; - n_material->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_material); - - field_name = "tmpstr"; - auto n_tmpstr = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw__T_hive_product, field_name)); - n_tmpstr->m_field_name = field_name; - n_tmpstr->m_df_type = DF_Type::Stl_string; - n_tmpstr->m_rdf_type = RDF_Type::Array; - n_tmpstr->m_node_type = NodeType::Array; - n_tmpstr->m_addornements = "[5v*"; - n_tmpstr->m_array_size = 5; - n_tmpstr->m_address = base + offset; - n_tmpstr->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tmpstr); - -} -void node_from_creature_raw(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "creature_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); - auto n_creature_id = new NodeSimple; - n_creature_id->m_field_name = field_name; - n_creature_id->m_df_type = DF_Type::Stl_string; - n_creature_id->m_rdf_type = RDF_Type::Stl_string; - n_creature_id->m_node_type = NodeType::Simple; - n_creature_id->m_address = base + offset; - n_creature_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_creature_id); - - field_name = "name"; - auto n_name = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Array; - n_name->m_node_type = NodeType::Array; - n_name->m_addornements = "[3"; - n_name->m_array_size = 3; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "general_baby_name"; - auto n_general_baby_name = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); - n_general_baby_name->m_field_name = field_name; - n_general_baby_name->m_df_type = DF_Type::Stl_string; - n_general_baby_name->m_rdf_type = RDF_Type::Array; - n_general_baby_name->m_node_type = NodeType::Array; - n_general_baby_name->m_addornements = "[2"; - n_general_baby_name->m_array_size = 2; - n_general_baby_name->m_address = base + offset; - n_general_baby_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_general_baby_name); - - field_name = "general_child_name"; - auto n_general_child_name = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); - n_general_child_name->m_field_name = field_name; - n_general_child_name->m_df_type = DF_Type::Stl_string; - n_general_child_name->m_rdf_type = RDF_Type::Array; - n_general_child_name->m_node_type = NodeType::Array; - n_general_child_name->m_addornements = "[2"; - n_general_child_name->m_array_size = 2; - n_general_child_name->m_address = base + offset; - n_general_child_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_general_child_name); - - field_name = "unk_v43_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); - auto n_unk_v43_1 = new NodeSimple; - n_unk_v43_1->m_field_name = field_name; - n_unk_v43_1->m_df_type = DF_Type::Stl_string; - n_unk_v43_1->m_rdf_type = RDF_Type::Stl_string; - n_unk_v43_1->m_node_type = NodeType::Simple; - n_unk_v43_1->m_address = base + offset; - n_unk_v43_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v43_1); - - field_name = "creature_tile"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); - auto n_creature_tile = new NodeSimple; - n_creature_tile->m_field_name = field_name; - n_creature_tile->m_df_type = DF_Type::uint8_t; - n_creature_tile->m_rdf_type = RDF_Type::uint8_t; - n_creature_tile->m_node_type = NodeType::Simple; - n_creature_tile->m_address = base + offset; - n_creature_tile->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_creature_tile); - - field_name = "creature_soldier_tile"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); - auto n_creature_soldier_tile = new NodeSimple; - n_creature_soldier_tile->m_field_name = field_name; - n_creature_soldier_tile->m_df_type = DF_Type::uint8_t; - n_creature_soldier_tile->m_rdf_type = RDF_Type::uint8_t; - n_creature_soldier_tile->m_node_type = NodeType::Simple; - n_creature_soldier_tile->m_address = base + offset; - n_creature_soldier_tile->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_creature_soldier_tile); - - field_name = "alttile"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); - auto n_alttile = new NodeSimple; - n_alttile->m_field_name = field_name; - n_alttile->m_df_type = DF_Type::uint8_t; - n_alttile->m_rdf_type = RDF_Type::uint8_t; - n_alttile->m_node_type = NodeType::Simple; - n_alttile->m_address = base + offset; - n_alttile->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_alttile); - - field_name = "soldier_alttile"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); - auto n_soldier_alttile = new NodeSimple; - n_soldier_alttile->m_field_name = field_name; - n_soldier_alttile->m_df_type = DF_Type::uint8_t; - n_soldier_alttile->m_rdf_type = RDF_Type::uint8_t; - n_soldier_alttile->m_node_type = NodeType::Simple; - n_soldier_alttile->m_address = base + offset; - n_soldier_alttile->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_soldier_alttile); - - field_name = "glowtile"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); - auto n_glowtile = new NodeSimple; - n_glowtile->m_field_name = field_name; - n_glowtile->m_df_type = DF_Type::uint8_t; - n_glowtile->m_rdf_type = RDF_Type::uint8_t; - n_glowtile->m_node_type = NodeType::Simple; - n_glowtile->m_address = base + offset; - n_glowtile->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_glowtile); - - field_name = "temperature1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); - auto n_temperature1 = new NodeSimple; - n_temperature1->m_field_name = field_name; - n_temperature1->m_df_type = DF_Type::uint16_t; - n_temperature1->m_rdf_type = RDF_Type::uint16_t; - n_temperature1->m_node_type = NodeType::Simple; - n_temperature1->m_address = base + offset; - n_temperature1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_temperature1); - - field_name = "temperature2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); - auto n_temperature2 = new NodeSimple; - n_temperature2->m_field_name = field_name; - n_temperature2->m_df_type = DF_Type::uint16_t; - n_temperature2->m_rdf_type = RDF_Type::uint16_t; - n_temperature2->m_node_type = NodeType::Simple; - n_temperature2->m_address = base + offset; - n_temperature2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_temperature2); - - field_name = "frequency"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); - auto n_frequency = new NodeSimple; - n_frequency->m_field_name = field_name; - n_frequency->m_df_type = DF_Type::int16_t; - n_frequency->m_rdf_type = RDF_Type::int16_t; - n_frequency->m_node_type = NodeType::Simple; - n_frequency->m_address = base + offset; - n_frequency->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_frequency); - - field_name = "population_number"; - auto n_population_number = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); - n_population_number->m_field_name = field_name; - n_population_number->m_df_type = DF_Type::int16_t; - n_population_number->m_rdf_type = RDF_Type::Array; - n_population_number->m_node_type = NodeType::Array; - n_population_number->m_addornements = "[2"; - n_population_number->m_array_size = 2; - n_population_number->m_address = base + offset; - n_population_number->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_population_number); - - field_name = "cluster_number"; - auto n_cluster_number = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); - n_cluster_number->m_field_name = field_name; - n_cluster_number->m_df_type = DF_Type::int16_t; - n_cluster_number->m_rdf_type = RDF_Type::Array; - n_cluster_number->m_node_type = NodeType::Array; - n_cluster_number->m_addornements = "[2"; - n_cluster_number->m_array_size = 2; - n_cluster_number->m_address = base + offset; - n_cluster_number->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cluster_number); - - field_name = "triggerable_group"; - auto n_triggerable_group = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); - n_triggerable_group->m_field_name = field_name; - n_triggerable_group->m_df_type = DF_Type::int16_t; - n_triggerable_group->m_rdf_type = RDF_Type::Array; - n_triggerable_group->m_node_type = NodeType::Array; - n_triggerable_group->m_addornements = "[2"; - n_triggerable_group->m_array_size = 2; - n_triggerable_group->m_address = base + offset; - n_triggerable_group->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_triggerable_group); - - field_name = "color"; - auto n_color = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); - n_color->m_field_name = field_name; - n_color->m_df_type = DF_Type::int16_t; - n_color->m_rdf_type = RDF_Type::Array; - n_color->m_node_type = NodeType::Array; - n_color->m_addornements = "[3"; - n_color->m_array_size = 3; - n_color->m_address = base + offset; - n_color->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_color); - - field_name = "glowcolor"; - auto n_glowcolor = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); - n_glowcolor->m_field_name = field_name; - n_glowcolor->m_df_type = DF_Type::int16_t; - n_glowcolor->m_rdf_type = RDF_Type::Array; - n_glowcolor->m_node_type = NodeType::Array; - n_glowcolor->m_addornements = "[3"; - n_glowcolor->m_array_size = 3; - n_glowcolor->m_address = base + offset; - n_glowcolor->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_glowcolor); - - field_name = "adultsize"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); - auto n_adultsize = new NodeSimple; - n_adultsize->m_field_name = field_name; - n_adultsize->m_df_type = DF_Type::int32_t; - n_adultsize->m_rdf_type = RDF_Type::int32_t; - n_adultsize->m_node_type = NodeType::Simple; - n_adultsize->m_address = base + offset; - n_adultsize->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_adultsize); - - field_name = "prefstring"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); - auto n_prefstring = new NodeVector; - n_prefstring->m_field_name = field_name; - n_prefstring->m_df_type = DF_Type::Stl_string; - n_prefstring->m_rdf_type = RDF_Type::Vector; - n_prefstring->m_node_type = NodeType::Vector; - n_prefstring->m_addornements = "v*"; - n_prefstring->m_address = base + offset; - n_prefstring->m_parent = p_node_parent; - n_prefstring->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_prefstring); - - field_name = "sphere"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); - auto n_sphere = new NodeVector; - n_sphere->m_field_name = field_name; - n_sphere->m_df_type = DF_Type::int16_t; - n_sphere->m_rdf_type = RDF_Type::Vector; - n_sphere->m_node_type = NodeType::Vector; - n_sphere->m_addornements = "v"; - n_sphere->m_address = base + offset; - n_sphere->m_parent = p_node_parent; - n_sphere->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_sphere); - - field_name = "caste"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); - auto n_caste = new NodeVector; - n_caste->m_field_name = field_name; - n_caste->m_df_type = DF_Type::caste_raw; - n_caste->m_rdf_type = RDF_Type::Vector; - n_caste->m_node_type = NodeType::Vector; - n_caste->m_defined_in = "df.creature-raws.xml"; - n_caste->m_addornements = "v*"; - n_caste->m_address = base + offset; - n_caste->m_parent = p_node_parent; - n_caste->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_caste); - - field_name = "pop_ratio"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); - auto n_pop_ratio = new NodeVector; - n_pop_ratio->m_field_name = field_name; - n_pop_ratio->m_df_type = DF_Type::int32_t; - n_pop_ratio->m_rdf_type = RDF_Type::Vector; - n_pop_ratio->m_node_type = NodeType::Vector; - n_pop_ratio->m_addornements = "v"; - n_pop_ratio->m_address = base + offset; - n_pop_ratio->m_parent = p_node_parent; - n_pop_ratio->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_pop_ratio); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); - auto n_flags = new NodeDFFlagArray; - n_flags->m_field_name = field_name; - n_flags->m_index_enum = DF_Type::creature_raw_flags; - n_flags->m_df_type = DF_Type::creature_raw_flags; - n_flags->m_size = 112; - n_flags->m_rdf_type = RDF_Type::DFFlagArray; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_defined_in = "df.creature-raws.xml"; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "graphics"; - auto n_graphics = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); - n_graphics->m_field_name = field_name; - n_graphics->m_df_type = DF_Type::creature_raw__T_graphics; - n_graphics->m_rdf_type = RDF_Type::Compound; - n_graphics->m_node_type = NodeType::Compound; - n_graphics->m_address = base + offset; - n_graphics->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_graphics); - - field_name = "speech1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); - auto n_speech1 = new NodeVector; - n_speech1->m_field_name = field_name; - n_speech1->m_df_type = DF_Type::int8_t; - n_speech1->m_rdf_type = RDF_Type::Vector; - n_speech1->m_node_type = NodeType::Vector; - n_speech1->m_addornements = "v"; - n_speech1->m_address = base + offset; - n_speech1->m_parent = p_node_parent; - n_speech1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_speech1); - - field_name = "speech2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); - auto n_speech2 = new NodeVector; - n_speech2->m_field_name = field_name; - n_speech2->m_df_type = DF_Type::int32_t; - n_speech2->m_rdf_type = RDF_Type::Vector; - n_speech2->m_node_type = NodeType::Vector; - n_speech2->m_addornements = "v"; - n_speech2->m_address = base + offset; - n_speech2->m_parent = p_node_parent; - n_speech2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_speech2); - - field_name = "speech3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); - auto n_speech3 = new NodeVector; - n_speech3->m_field_name = field_name; - n_speech3->m_df_type = DF_Type::Void; - n_speech3->m_rdf_type = RDF_Type::Vector; - n_speech3->m_node_type = NodeType::Vector; - n_speech3->m_addornements = "v"; - n_speech3->m_address = base + offset; - n_speech3->m_parent = p_node_parent; - n_speech3->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_speech3); - - field_name = "material"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); - auto n_material = new NodeVector; - n_material->m_field_name = field_name; - n_material->m_df_type = DF_Type::material; - n_material->m_rdf_type = RDF_Type::Vector; - n_material->m_node_type = NodeType::Vector; - n_material->m_defined_in = "df.materials.xml"; - n_material->m_addornements = "v*"; - n_material->m_address = base + offset; - n_material->m_parent = p_node_parent; - n_material->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_material); - - field_name = "tissue"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); - auto n_tissue = new NodeVector; - n_tissue->m_field_name = field_name; - n_tissue->m_df_type = DF_Type::tissue; - n_tissue->m_rdf_type = RDF_Type::Vector; - n_tissue->m_node_type = NodeType::Vector; - n_tissue->m_defined_in = "df.creature-raws.xml"; - n_tissue->m_addornements = "v*"; - n_tissue->m_address = base + offset; - n_tissue->m_parent = p_node_parent; - n_tissue->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_tissue); - - field_name = "profession_name"; - auto n_profession_name = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); - n_profession_name->m_field_name = field_name; - n_profession_name->m_df_type = DF_Type::creature_raw__T_profession_name; - n_profession_name->m_rdf_type = RDF_Type::Compound; - n_profession_name->m_node_type = NodeType::Compound; - n_profession_name->m_address = base + offset; - n_profession_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_profession_name); - - field_name = "underground_layer_min"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); - auto n_underground_layer_min = new NodeSimple; - n_underground_layer_min->m_field_name = field_name; - n_underground_layer_min->m_df_type = DF_Type::int32_t; - n_underground_layer_min->m_rdf_type = RDF_Type::int32_t; - n_underground_layer_min->m_node_type = NodeType::Simple; - n_underground_layer_min->m_address = base + offset; - n_underground_layer_min->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_underground_layer_min); - - field_name = "underground_layer_max"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); - auto n_underground_layer_max = new NodeSimple; - n_underground_layer_max->m_field_name = field_name; - n_underground_layer_max->m_df_type = DF_Type::int32_t; - n_underground_layer_max->m_rdf_type = RDF_Type::int32_t; - n_underground_layer_max->m_node_type = NodeType::Simple; - n_underground_layer_max->m_address = base + offset; - n_underground_layer_max->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_underground_layer_max); - - field_name = "modifier_class"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); - auto n_modifier_class = new NodeVector; - n_modifier_class->m_field_name = field_name; - n_modifier_class->m_df_type = DF_Type::int32_t; - n_modifier_class->m_rdf_type = RDF_Type::Vector; - n_modifier_class->m_node_type = NodeType::Vector; - n_modifier_class->m_addornements = "v"; - n_modifier_class->m_address = base + offset; - n_modifier_class->m_parent = p_node_parent; - n_modifier_class->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_modifier_class); - - field_name = "modifier_num_patterns"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); - auto n_modifier_num_patterns = new NodeVector; - n_modifier_num_patterns->m_field_name = field_name; - n_modifier_num_patterns->m_df_type = DF_Type::int32_t; - n_modifier_num_patterns->m_rdf_type = RDF_Type::Vector; - n_modifier_num_patterns->m_node_type = NodeType::Vector; - n_modifier_num_patterns->m_addornements = "v"; - n_modifier_num_patterns->m_address = base + offset; - n_modifier_num_patterns->m_comment = "for color modifiers, == number of items in their pattern_* vectors"; - n_modifier_num_patterns->m_refers_to = "$$._parent.modifier_class[$].refers-to"; - n_modifier_num_patterns->m_parent = p_node_parent; - n_modifier_num_patterns->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_modifier_num_patterns); - - field_name = "hive_product"; - auto n_hive_product = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); - n_hive_product->m_field_name = field_name; - n_hive_product->m_df_type = DF_Type::creature_raw__T_hive_product; - n_hive_product->m_rdf_type = RDF_Type::Compound; - n_hive_product->m_node_type = NodeType::Compound; - n_hive_product->m_address = base + offset; - n_hive_product->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_hive_product); - - field_name = "source_hfid"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); - auto n_source_hfid = new NodeSimple; - n_source_hfid->m_field_name = field_name; - n_source_hfid->m_df_type = DF_Type::int32_t; - n_source_hfid->m_rdf_type = RDF_Type::int32_t; - n_source_hfid->m_node_type = NodeType::Simple; - n_source_hfid->m_address = base + offset; - n_source_hfid->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_source_hfid); - - field_name = "unk_v4201_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); - auto n_unk_v4201_1 = new NodeSimple; - n_unk_v4201_1->m_field_name = field_name; - n_unk_v4201_1->m_df_type = DF_Type::int32_t; - n_unk_v4201_1->m_rdf_type = RDF_Type::int32_t; - n_unk_v4201_1->m_node_type = NodeType::Simple; - n_unk_v4201_1->m_address = base + offset; - n_unk_v4201_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v4201_1); - - field_name = "next_modifier_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); - auto n_next_modifier_id = new NodeSimple; - n_next_modifier_id->m_field_name = field_name; - n_next_modifier_id->m_df_type = DF_Type::int32_t; - n_next_modifier_id->m_rdf_type = RDF_Type::int32_t; - n_next_modifier_id->m_node_type = NodeType::Simple; - n_next_modifier_id->m_address = base + offset; - n_next_modifier_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_next_modifier_id); - - field_name = "raws"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); - auto n_raws = new NodeVector; - n_raws->m_field_name = field_name; - n_raws->m_df_type = DF_Type::Stl_string; - n_raws->m_rdf_type = RDF_Type::Vector; - n_raws->m_node_type = NodeType::Vector; - n_raws->m_addornements = "v*"; - n_raws->m_address = base + offset; - n_raws->m_parent = p_node_parent; - n_raws->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_raws); - -} -void node_from_creature_variation(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_variation, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::Stl_string; - n_id->m_rdf_type = RDF_Type::Stl_string; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "cv_convert_tag"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_variation, field_name)); - auto n_cv_convert_tag = new NodeVector; - n_cv_convert_tag->m_field_name = field_name; - n_cv_convert_tag->m_df_type = DF_Type::creature_variation_convert_tag; - n_cv_convert_tag->m_rdf_type = RDF_Type::Vector; - n_cv_convert_tag->m_node_type = NodeType::Vector; - n_cv_convert_tag->m_defined_in = "df.creature-raws.xml"; - n_cv_convert_tag->m_addornements = "v*"; - n_cv_convert_tag->m_address = base + offset; - n_cv_convert_tag->m_parent = p_node_parent; - n_cv_convert_tag->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_cv_convert_tag); - - field_name = "cv_new_tag"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_variation, field_name)); - auto n_cv_new_tag = new NodeVector; - n_cv_new_tag->m_field_name = field_name; - n_cv_new_tag->m_df_type = DF_Type::Stl_string; - n_cv_new_tag->m_rdf_type = RDF_Type::Vector; - n_cv_new_tag->m_node_type = NodeType::Vector; - n_cv_new_tag->m_addornements = "v*"; - n_cv_new_tag->m_address = base + offset; - n_cv_new_tag->m_parent = p_node_parent; - n_cv_new_tag->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_cv_new_tag); - - field_name = "cv_new_unk_v40_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_variation, field_name)); - auto n_cv_new_unk_v40_1 = new NodeVector; - n_cv_new_unk_v40_1->m_field_name = field_name; - n_cv_new_unk_v40_1->m_df_type = DF_Type::int32_t; - n_cv_new_unk_v40_1->m_rdf_type = RDF_Type::Vector; - n_cv_new_unk_v40_1->m_node_type = NodeType::Vector; - n_cv_new_unk_v40_1->m_addornements = "v"; - n_cv_new_unk_v40_1->m_address = base + offset; - n_cv_new_unk_v40_1->m_parent = p_node_parent; - n_cv_new_unk_v40_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_cv_new_unk_v40_1); - - field_name = "cv_new_unk_v40_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_variation, field_name)); - auto n_cv_new_unk_v40_2 = new NodeVector; - n_cv_new_unk_v40_2->m_field_name = field_name; - n_cv_new_unk_v40_2->m_df_type = DF_Type::Stl_string; - n_cv_new_unk_v40_2->m_rdf_type = RDF_Type::Vector; - n_cv_new_unk_v40_2->m_node_type = NodeType::Vector; - n_cv_new_unk_v40_2->m_addornements = "v*"; - n_cv_new_unk_v40_2->m_address = base + offset; - n_cv_new_unk_v40_2->m_parent = p_node_parent; - n_cv_new_unk_v40_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_cv_new_unk_v40_2); - - field_name = "cv_remove_tag"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_variation, field_name)); - auto n_cv_remove_tag = new NodeVector; - n_cv_remove_tag->m_field_name = field_name; - n_cv_remove_tag->m_df_type = DF_Type::Stl_string; - n_cv_remove_tag->m_rdf_type = RDF_Type::Vector; - n_cv_remove_tag->m_node_type = NodeType::Vector; - n_cv_remove_tag->m_addornements = "v*"; - n_cv_remove_tag->m_address = base + offset; - n_cv_remove_tag->m_parent = p_node_parent; - n_cv_remove_tag->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_cv_remove_tag); - - field_name = "cv_remove_unk_v40_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_variation, field_name)); - auto n_cv_remove_unk_v40_1 = new NodeVector; - n_cv_remove_unk_v40_1->m_field_name = field_name; - n_cv_remove_unk_v40_1->m_df_type = DF_Type::int32_t; - n_cv_remove_unk_v40_1->m_rdf_type = RDF_Type::Vector; - n_cv_remove_unk_v40_1->m_node_type = NodeType::Vector; - n_cv_remove_unk_v40_1->m_addornements = "v"; - n_cv_remove_unk_v40_1->m_address = base + offset; - n_cv_remove_unk_v40_1->m_parent = p_node_parent; - n_cv_remove_unk_v40_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_cv_remove_unk_v40_1); - - field_name = "cv_remove_unk_v40_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_variation, field_name)); - auto n_cv_remove_unk_v40_2 = new NodeVector; - n_cv_remove_unk_v40_2->m_field_name = field_name; - n_cv_remove_unk_v40_2->m_df_type = DF_Type::Stl_string; - n_cv_remove_unk_v40_2->m_rdf_type = RDF_Type::Vector; - n_cv_remove_unk_v40_2->m_node_type = NodeType::Vector; - n_cv_remove_unk_v40_2->m_addornements = "v*"; - n_cv_remove_unk_v40_2->m_address = base + offset; - n_cv_remove_unk_v40_2->m_parent = p_node_parent; - n_cv_remove_unk_v40_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_cv_remove_unk_v40_2); - -} -void node_from_body_part_template(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_template, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::Stl_string; - n_id->m_rdf_type = RDF_Type::Stl_string; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "con"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_template, field_name)); - auto n_con = new NodeSimple; - n_con->m_field_name = field_name; - n_con->m_df_type = DF_Type::Stl_string; - n_con->m_rdf_type = RDF_Type::Stl_string; - n_con->m_node_type = NodeType::Simple; - n_con->m_address = base + offset; - n_con->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_con); - - field_name = "category"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_template, field_name)); - auto n_category = new NodeSimple; - n_category->m_field_name = field_name; - n_category->m_df_type = DF_Type::Stl_string; - n_category->m_rdf_type = RDF_Type::Stl_string; - n_category->m_node_type = NodeType::Simple; - n_category->m_address = base + offset; - n_category->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_category); - - field_name = "con_cat"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_template, field_name)); - auto n_con_cat = new NodeSimple; - n_con_cat->m_field_name = field_name; - n_con_cat->m_df_type = DF_Type::Stl_string; - n_con_cat->m_rdf_type = RDF_Type::Stl_string; - n_con_cat->m_node_type = NodeType::Simple; - n_con_cat->m_address = base + offset; - n_con_cat->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_con_cat); - - field_name = "contype"; - auto n_contype = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_template, field_name)); - n_contype->m_field_name = field_name; - n_contype->m_df_type = DF_Type::body_part_template_contype; - n_contype->m_rdf_type = RDF_Type::Enum; - n_contype->m_node_type = NodeType::Enum; - n_contype->m_base_type = DF_Type::int16_t; - n_contype->m_enum_type = "body_part_template_contype"; - n_contype->m_address = base + offset; - n_contype->m_defined_in = "df.creature-raws.xml"; - n_contype->m_first_value = -1; - n_contype->m_last_value = 4; - n_contype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_contype); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_template, field_name)); - auto n_flags = new NodeDFFlagArray; - n_flags->m_field_name = field_name; - n_flags->m_index_enum = DF_Type::body_part_template_flags; - n_flags->m_df_type = DF_Type::body_part_template_flags; - n_flags->m_size = 31; - n_flags->m_rdf_type = RDF_Type::DFFlagArray; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_defined_in = "df.creature-raws.xml"; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "default_relsize"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_template, field_name)); - auto n_default_relsize = new NodeSimple; - n_default_relsize->m_field_name = field_name; - n_default_relsize->m_df_type = DF_Type::int32_t; - n_default_relsize->m_rdf_type = RDF_Type::int32_t; - n_default_relsize->m_node_type = NodeType::Simple; - n_default_relsize->m_address = base + offset; - n_default_relsize->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_default_relsize); - - field_name = "number"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_template, field_name)); - auto n_number = new NodeSimple; - n_number->m_field_name = field_name; - n_number->m_df_type = DF_Type::int32_t; - n_number->m_rdf_type = RDF_Type::int32_t; - n_number->m_node_type = NodeType::Simple; - n_number->m_address = base + offset; - n_number->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_number); - - field_name = "name_singular"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_template, field_name)); - auto n_name_singular = new NodeVector; - n_name_singular->m_field_name = field_name; - n_name_singular->m_df_type = DF_Type::Stl_string; - n_name_singular->m_rdf_type = RDF_Type::Vector; - n_name_singular->m_node_type = NodeType::Vector; - n_name_singular->m_addornements = "v*"; - n_name_singular->m_address = base + offset; - n_name_singular->m_comment = "first comes from BP, rest come from INDIVIDUAL_NAME"; - n_name_singular->m_parent = p_node_parent; - n_name_singular->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_name_singular); - - field_name = "name_plural"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_template, field_name)); - auto n_name_plural = new NodeVector; - n_name_plural->m_field_name = field_name; - n_name_plural->m_df_type = DF_Type::Stl_string; - n_name_plural->m_rdf_type = RDF_Type::Vector; - n_name_plural->m_node_type = NodeType::Vector; - n_name_plural->m_addornements = "v*"; - n_name_plural->m_address = base + offset; - n_name_plural->m_parent = p_node_parent; - n_name_plural->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_name_plural); - -} -void node_from_body_template(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_template, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::Stl_string; - n_id->m_rdf_type = RDF_Type::Stl_string; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "parts"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_template, field_name)); - auto n_parts = new NodeVector; - n_parts->m_field_name = field_name; - n_parts->m_df_type = DF_Type::body_part_template; - n_parts->m_rdf_type = RDF_Type::Vector; - n_parts->m_node_type = NodeType::Vector; - n_parts->m_defined_in = "df.creature-raws.xml"; - n_parts->m_addornements = "v*"; - n_parts->m_address = base + offset; - n_parts->m_parent = p_node_parent; - n_parts->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_parts); - -} -void node_from_tissue_template(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue_template, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::Stl_string; - n_id->m_rdf_type = RDF_Type::Stl_string; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue_template, field_name)); - auto n_flags = new NodeDFFlagArray; - n_flags->m_field_name = field_name; - n_flags->m_index_enum = DF_Type::tissue_flags; - n_flags->m_df_type = DF_Type::tissue_flags; - n_flags->m_size = 22; - n_flags->m_rdf_type = RDF_Type::DFFlagArray; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_defined_in = "df.creature-raws.xml"; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "tissue_name_singular"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue_template, field_name)); - auto n_tissue_name_singular = new NodeSimple; - n_tissue_name_singular->m_field_name = field_name; - n_tissue_name_singular->m_df_type = DF_Type::Stl_string; - n_tissue_name_singular->m_rdf_type = RDF_Type::Stl_string; - n_tissue_name_singular->m_node_type = NodeType::Simple; - n_tissue_name_singular->m_address = base + offset; - n_tissue_name_singular->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tissue_name_singular); - - field_name = "tissue_name_plural"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue_template, field_name)); - auto n_tissue_name_plural = new NodeSimple; - n_tissue_name_plural->m_field_name = field_name; - n_tissue_name_plural->m_df_type = DF_Type::Stl_string; - n_tissue_name_plural->m_rdf_type = RDF_Type::Stl_string; - n_tissue_name_plural->m_node_type = NodeType::Simple; - n_tissue_name_plural->m_address = base + offset; - n_tissue_name_plural->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tissue_name_plural); - - field_name = "tissue_material_str"; - auto n_tissue_material_str = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue_template, field_name)); - n_tissue_material_str->m_field_name = field_name; - n_tissue_material_str->m_df_type = DF_Type::Stl_string; - n_tissue_material_str->m_rdf_type = RDF_Type::Array; - n_tissue_material_str->m_node_type = NodeType::Array; - n_tissue_material_str->m_addornements = "[3"; - n_tissue_material_str->m_array_size = 3; - n_tissue_material_str->m_address = base + offset; - n_tissue_material_str->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tissue_material_str); - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue_template, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue_template, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "relative_thickness"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue_template, field_name)); - auto n_relative_thickness = new NodeSimple; - n_relative_thickness->m_field_name = field_name; - n_relative_thickness->m_df_type = DF_Type::int32_t; - n_relative_thickness->m_rdf_type = RDF_Type::int32_t; - n_relative_thickness->m_node_type = NodeType::Simple; - n_relative_thickness->m_address = base + offset; - n_relative_thickness->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_relative_thickness); - - field_name = "healing_rate"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue_template, field_name)); - auto n_healing_rate = new NodeSimple; - n_healing_rate->m_field_name = field_name; - n_healing_rate->m_df_type = DF_Type::int32_t; - n_healing_rate->m_rdf_type = RDF_Type::int32_t; - n_healing_rate->m_node_type = NodeType::Simple; - n_healing_rate->m_address = base + offset; - n_healing_rate->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_healing_rate); - - field_name = "vascular"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue_template, field_name)); - auto n_vascular = new NodeSimple; - n_vascular->m_field_name = field_name; - n_vascular->m_df_type = DF_Type::int32_t; - n_vascular->m_rdf_type = RDF_Type::int32_t; - n_vascular->m_node_type = NodeType::Simple; - n_vascular->m_address = base + offset; - n_vascular->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_vascular); - - field_name = "pain_receptors"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue_template, field_name)); - auto n_pain_receptors = new NodeSimple; - n_pain_receptors->m_field_name = field_name; - n_pain_receptors->m_df_type = DF_Type::int32_t; - n_pain_receptors->m_rdf_type = RDF_Type::int32_t; - n_pain_receptors->m_node_type = NodeType::Simple; - n_pain_receptors->m_address = base + offset; - n_pain_receptors->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pain_receptors); - - field_name = "tissue_shape"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue_template, field_name)); - auto n_tissue_shape = new NodeSimple; - n_tissue_shape->m_field_name = field_name; - n_tissue_shape->m_df_type = DF_Type::int16_t; - n_tissue_shape->m_rdf_type = RDF_Type::int16_t; - n_tissue_shape->m_node_type = NodeType::Simple; - n_tissue_shape->m_address = base + offset; - n_tissue_shape->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tissue_shape); - - field_name = "unk1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue_template, field_name)); - auto n_unk1 = new NodeSimple; - n_unk1->m_field_name = field_name; - n_unk1->m_df_type = DF_Type::int32_t; - n_unk1->m_rdf_type = RDF_Type::int32_t; - n_unk1->m_node_type = NodeType::Simple; - n_unk1->m_address = base + offset; - n_unk1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk1); - - field_name = "insulation"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue_template, field_name)); - auto n_insulation = new NodeSimple; - n_insulation->m_field_name = field_name; - n_insulation->m_df_type = DF_Type::int16_t; - n_insulation->m_rdf_type = RDF_Type::int16_t; - n_insulation->m_node_type = NodeType::Simple; - n_insulation->m_address = base + offset; - n_insulation->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_insulation); - - field_name = "subordinate_to_tissue"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue_template, field_name)); - auto n_subordinate_to_tissue = new NodeSimple; - n_subordinate_to_tissue->m_field_name = field_name; - n_subordinate_to_tissue->m_df_type = DF_Type::Stl_string; - n_subordinate_to_tissue->m_rdf_type = RDF_Type::Stl_string; - n_subordinate_to_tissue->m_node_type = NodeType::Simple; - n_subordinate_to_tissue->m_address = base + offset; - n_subordinate_to_tissue->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_subordinate_to_tissue); - - field_name = "tissue_mat_state"; - auto n_tissue_mat_state = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue_template, field_name)); - n_tissue_mat_state->m_field_name = field_name; - n_tissue_mat_state->m_df_type = DF_Type::matter_state; - n_tissue_mat_state->m_rdf_type = RDF_Type::Enum; - n_tissue_mat_state->m_node_type = NodeType::Enum; - n_tissue_mat_state->m_base_type = DF_Type::int16_t; - n_tissue_mat_state->m_enum_type = "matter_state"; - n_tissue_mat_state->m_address = base + offset; - n_tissue_mat_state->m_defined_in = "df.materials.xml"; - n_tissue_mat_state->m_first_value = -1; - n_tissue_mat_state->m_last_value = 5; - n_tissue_mat_state->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tissue_mat_state); - - field_name = "tissue_shape_str"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue_template, field_name)); - auto n_tissue_shape_str = new NodeSimple; - n_tissue_shape_str->m_field_name = field_name; - n_tissue_shape_str->m_df_type = DF_Type::Stl_string; - n_tissue_shape_str->m_rdf_type = RDF_Type::Stl_string; - n_tissue_shape_str->m_node_type = NodeType::Simple; - n_tissue_shape_str->m_address = base + offset; - n_tissue_shape_str->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tissue_shape_str); - -} -void node_from_tissue(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::Stl_string; - n_id->m_rdf_type = RDF_Type::Stl_string; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue, field_name)); - auto n_flags = new NodeDFFlagArray; - n_flags->m_field_name = field_name; - n_flags->m_index_enum = DF_Type::tissue_flags; - n_flags->m_df_type = DF_Type::tissue_flags; - n_flags->m_size = 22; - n_flags->m_rdf_type = RDF_Type::DFFlagArray; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_defined_in = "df.creature-raws.xml"; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "tissue_name_singular"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue, field_name)); - auto n_tissue_name_singular = new NodeSimple; - n_tissue_name_singular->m_field_name = field_name; - n_tissue_name_singular->m_df_type = DF_Type::Stl_string; - n_tissue_name_singular->m_rdf_type = RDF_Type::Stl_string; - n_tissue_name_singular->m_node_type = NodeType::Simple; - n_tissue_name_singular->m_address = base + offset; - n_tissue_name_singular->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tissue_name_singular); - - field_name = "tissue_name_plural"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue, field_name)); - auto n_tissue_name_plural = new NodeSimple; - n_tissue_name_plural->m_field_name = field_name; - n_tissue_name_plural->m_df_type = DF_Type::Stl_string; - n_tissue_name_plural->m_rdf_type = RDF_Type::Stl_string; - n_tissue_name_plural->m_node_type = NodeType::Simple; - n_tissue_name_plural->m_address = base + offset; - n_tissue_name_plural->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tissue_name_plural); - - field_name = "tissue_material_str"; - auto n_tissue_material_str = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue, field_name)); - n_tissue_material_str->m_field_name = field_name; - n_tissue_material_str->m_df_type = DF_Type::Stl_string; - n_tissue_material_str->m_rdf_type = RDF_Type::Array; - n_tissue_material_str->m_node_type = NodeType::Array; - n_tissue_material_str->m_addornements = "[3"; - n_tissue_material_str->m_array_size = 3; - n_tissue_material_str->m_address = base + offset; - n_tissue_material_str->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tissue_material_str); - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "relative_thickness"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue, field_name)); - auto n_relative_thickness = new NodeSimple; - n_relative_thickness->m_field_name = field_name; - n_relative_thickness->m_df_type = DF_Type::int32_t; - n_relative_thickness->m_rdf_type = RDF_Type::int32_t; - n_relative_thickness->m_node_type = NodeType::Simple; - n_relative_thickness->m_address = base + offset; - n_relative_thickness->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_relative_thickness); - - field_name = "healing_rate"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue, field_name)); - auto n_healing_rate = new NodeSimple; - n_healing_rate->m_field_name = field_name; - n_healing_rate->m_df_type = DF_Type::int32_t; - n_healing_rate->m_rdf_type = RDF_Type::int32_t; - n_healing_rate->m_node_type = NodeType::Simple; - n_healing_rate->m_address = base + offset; - n_healing_rate->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_healing_rate); - - field_name = "vascular"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue, field_name)); - auto n_vascular = new NodeSimple; - n_vascular->m_field_name = field_name; - n_vascular->m_df_type = DF_Type::int32_t; - n_vascular->m_rdf_type = RDF_Type::int32_t; - n_vascular->m_node_type = NodeType::Simple; - n_vascular->m_address = base + offset; - n_vascular->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_vascular); - - field_name = "pain_receptors"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue, field_name)); - auto n_pain_receptors = new NodeSimple; - n_pain_receptors->m_field_name = field_name; - n_pain_receptors->m_df_type = DF_Type::int32_t; - n_pain_receptors->m_rdf_type = RDF_Type::int32_t; - n_pain_receptors->m_node_type = NodeType::Simple; - n_pain_receptors->m_address = base + offset; - n_pain_receptors->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pain_receptors); - - field_name = "tissue_shape"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue, field_name)); - auto n_tissue_shape = new NodeSimple; - n_tissue_shape->m_field_name = field_name; - n_tissue_shape->m_df_type = DF_Type::int16_t; - n_tissue_shape->m_rdf_type = RDF_Type::int16_t; - n_tissue_shape->m_node_type = NodeType::Simple; - n_tissue_shape->m_address = base + offset; - n_tissue_shape->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tissue_shape); - - field_name = "unk1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue, field_name)); - auto n_unk1 = new NodeSimple; - n_unk1->m_field_name = field_name; - n_unk1->m_df_type = DF_Type::int32_t; - n_unk1->m_rdf_type = RDF_Type::int32_t; - n_unk1->m_node_type = NodeType::Simple; - n_unk1->m_address = base + offset; - n_unk1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk1); - - field_name = "insulation"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue, field_name)); - auto n_insulation = new NodeSimple; - n_insulation->m_field_name = field_name; - n_insulation->m_df_type = DF_Type::int16_t; - n_insulation->m_rdf_type = RDF_Type::int16_t; - n_insulation->m_node_type = NodeType::Simple; - n_insulation->m_address = base + offset; - n_insulation->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_insulation); - - field_name = "subordinate_to_tissue"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue, field_name)); - auto n_subordinate_to_tissue = new NodeSimple; - n_subordinate_to_tissue->m_field_name = field_name; - n_subordinate_to_tissue->m_df_type = DF_Type::Stl_string; - n_subordinate_to_tissue->m_rdf_type = RDF_Type::Stl_string; - n_subordinate_to_tissue->m_node_type = NodeType::Simple; - n_subordinate_to_tissue->m_address = base + offset; - n_subordinate_to_tissue->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_subordinate_to_tissue); - - field_name = "parent_tissue"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue, field_name)); - auto n_parent_tissue = new NodeSimple; - n_parent_tissue->m_field_name = field_name; - n_parent_tissue->m_df_type = DF_Type::int32_t; - n_parent_tissue->m_rdf_type = RDF_Type::int32_t; - n_parent_tissue->m_node_type = NodeType::Simple; - n_parent_tissue->m_address = base + offset; - n_parent_tissue->m_refers_to = "$$._global._upglobal.tissue[$]"; - n_parent_tissue->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_parent_tissue); - - field_name = "tissue_mat_state"; - auto n_tissue_mat_state = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue, field_name)); - n_tissue_mat_state->m_field_name = field_name; - n_tissue_mat_state->m_df_type = DF_Type::matter_state; - n_tissue_mat_state->m_rdf_type = RDF_Type::Enum; - n_tissue_mat_state->m_node_type = NodeType::Enum; - n_tissue_mat_state->m_base_type = DF_Type::int16_t; - n_tissue_mat_state->m_enum_type = "matter_state"; - n_tissue_mat_state->m_address = base + offset; - n_tissue_mat_state->m_defined_in = "df.materials.xml"; - n_tissue_mat_state->m_first_value = -1; - n_tissue_mat_state->m_last_value = 5; - n_tissue_mat_state->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tissue_mat_state); - - field_name = "heatdam_point"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue, field_name)); - auto n_heatdam_point = new NodeSimple; - n_heatdam_point->m_field_name = field_name; - n_heatdam_point->m_df_type = DF_Type::uint16_t; - n_heatdam_point->m_rdf_type = RDF_Type::uint16_t; - n_heatdam_point->m_node_type = NodeType::Simple; - n_heatdam_point->m_address = base + offset; - n_heatdam_point->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_heatdam_point); - - field_name = "colddam_point"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue, field_name)); - auto n_colddam_point = new NodeSimple; - n_colddam_point->m_field_name = field_name; - n_colddam_point->m_df_type = DF_Type::uint16_t; - n_colddam_point->m_rdf_type = RDF_Type::uint16_t; - n_colddam_point->m_node_type = NodeType::Simple; - n_colddam_point->m_address = base + offset; - n_colddam_point->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_colddam_point); - - field_name = "ignite_point"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue, field_name)); - auto n_ignite_point = new NodeSimple; - n_ignite_point->m_field_name = field_name; - n_ignite_point->m_df_type = DF_Type::uint16_t; - n_ignite_point->m_rdf_type = RDF_Type::uint16_t; - n_ignite_point->m_node_type = NodeType::Simple; - n_ignite_point->m_address = base + offset; - n_ignite_point->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ignite_point); - - field_name = "melting_point"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue, field_name)); - auto n_melting_point = new NodeSimple; - n_melting_point->m_field_name = field_name; - n_melting_point->m_df_type = DF_Type::uint16_t; - n_melting_point->m_rdf_type = RDF_Type::uint16_t; - n_melting_point->m_node_type = NodeType::Simple; - n_melting_point->m_address = base + offset; - n_melting_point->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_melting_point); - - field_name = "boiling_point"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue, field_name)); - auto n_boiling_point = new NodeSimple; - n_boiling_point->m_field_name = field_name; - n_boiling_point->m_df_type = DF_Type::uint16_t; - n_boiling_point->m_rdf_type = RDF_Type::uint16_t; - n_boiling_point->m_node_type = NodeType::Simple; - n_boiling_point->m_address = base + offset; - n_boiling_point->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_boiling_point); - - field_name = "spec_heat"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue, field_name)); - auto n_spec_heat = new NodeSimple; - n_spec_heat->m_field_name = field_name; - n_spec_heat->m_df_type = DF_Type::uint16_t; - n_spec_heat->m_rdf_type = RDF_Type::uint16_t; - n_spec_heat->m_node_type = NodeType::Simple; - n_spec_heat->m_address = base + offset; - n_spec_heat->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_spec_heat); - - field_name = "tissue_shape_str"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue, field_name)); - auto n_tissue_shape_str = new NodeSimple; - n_tissue_shape_str->m_field_name = field_name; - n_tissue_shape_str->m_df_type = DF_Type::Stl_string; - n_tissue_shape_str->m_rdf_type = RDF_Type::Stl_string; - n_tissue_shape_str->m_node_type = NodeType::Simple; - n_tissue_shape_str->m_address = base + offset; - n_tissue_shape_str->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tissue_shape_str); - -} -void node_from_d_init__T_wound_color(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "none"; - auto n_none = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init__T_wound_color, field_name)); - n_none->m_field_name = field_name; - n_none->m_df_type = DF_Type::int16_t; - n_none->m_rdf_type = RDF_Type::Array; - n_none->m_node_type = NodeType::Array; - n_none->m_addornements = "[3"; - n_none->m_array_size = 3; - n_none->m_address = base + offset; - n_none->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_none); - - field_name = "minor"; - auto n_minor = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init__T_wound_color, field_name)); - n_minor->m_field_name = field_name; - n_minor->m_df_type = DF_Type::int16_t; - n_minor->m_rdf_type = RDF_Type::Array; - n_minor->m_node_type = NodeType::Array; - n_minor->m_addornements = "[3"; - n_minor->m_array_size = 3; - n_minor->m_address = base + offset; - n_minor->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_minor); - - field_name = "inhibited"; - auto n_inhibited = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init__T_wound_color, field_name)); - n_inhibited->m_field_name = field_name; - n_inhibited->m_df_type = DF_Type::int16_t; - n_inhibited->m_rdf_type = RDF_Type::Array; - n_inhibited->m_node_type = NodeType::Array; - n_inhibited->m_addornements = "[3"; - n_inhibited->m_array_size = 3; - n_inhibited->m_address = base + offset; - n_inhibited->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_inhibited); - - field_name = "function_loss"; - auto n_function_loss = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init__T_wound_color, field_name)); - n_function_loss->m_field_name = field_name; - n_function_loss->m_df_type = DF_Type::int16_t; - n_function_loss->m_rdf_type = RDF_Type::Array; - n_function_loss->m_node_type = NodeType::Array; - n_function_loss->m_addornements = "[3"; - n_function_loss->m_array_size = 3; - n_function_loss->m_address = base + offset; - n_function_loss->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_function_loss); - - field_name = "broken"; - auto n_broken = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init__T_wound_color, field_name)); - n_broken->m_field_name = field_name; - n_broken->m_df_type = DF_Type::int16_t; - n_broken->m_rdf_type = RDF_Type::Array; - n_broken->m_node_type = NodeType::Array; - n_broken->m_addornements = "[3"; - n_broken->m_array_size = 3; - n_broken->m_address = base + offset; - n_broken->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_broken); - - field_name = "missing"; - auto n_missing = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init__T_wound_color, field_name)); - n_missing->m_field_name = field_name; - n_missing->m_df_type = DF_Type::int16_t; - n_missing->m_rdf_type = RDF_Type::Array; - n_missing->m_node_type = NodeType::Array; - n_missing->m_addornements = "[3"; - n_missing->m_array_size = 3; - n_missing->m_address = base + offset; - n_missing->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_missing); - -} -void node_from_d_init__T_store_dist(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "item_decrease"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init__T_store_dist, field_name)); - auto n_item_decrease = new NodeSimple; - n_item_decrease->m_field_name = field_name; - n_item_decrease->m_df_type = DF_Type::int16_t; - n_item_decrease->m_rdf_type = RDF_Type::int16_t; - n_item_decrease->m_node_type = NodeType::Simple; - n_item_decrease->m_address = base + offset; - n_item_decrease->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_decrease); - - field_name = "seed_combine"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init__T_store_dist, field_name)); - auto n_seed_combine = new NodeSimple; - n_seed_combine->m_field_name = field_name; - n_seed_combine->m_df_type = DF_Type::int16_t; - n_seed_combine->m_rdf_type = RDF_Type::int16_t; - n_seed_combine->m_node_type = NodeType::Simple; - n_seed_combine->m_address = base + offset; - n_seed_combine->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_seed_combine); - - field_name = "bucket_combine"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init__T_store_dist, field_name)); - auto n_bucket_combine = new NodeSimple; - n_bucket_combine->m_field_name = field_name; - n_bucket_combine->m_df_type = DF_Type::int16_t; - n_bucket_combine->m_rdf_type = RDF_Type::int16_t; - n_bucket_combine->m_node_type = NodeType::Simple; - n_bucket_combine->m_address = base + offset; - n_bucket_combine->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_bucket_combine); - - field_name = "barrel_combine"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init__T_store_dist, field_name)); - auto n_barrel_combine = new NodeSimple; - n_barrel_combine->m_field_name = field_name; - n_barrel_combine->m_df_type = DF_Type::int16_t; - n_barrel_combine->m_rdf_type = RDF_Type::int16_t; - n_barrel_combine->m_node_type = NodeType::Simple; - n_barrel_combine->m_address = base + offset; - n_barrel_combine->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_barrel_combine); - - field_name = "bin_combine"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init__T_store_dist, field_name)); - auto n_bin_combine = new NodeSimple; - n_bin_combine->m_field_name = field_name; - n_bin_combine->m_df_type = DF_Type::int16_t; - n_bin_combine->m_rdf_type = RDF_Type::int16_t; - n_bin_combine->m_node_type = NodeType::Simple; - n_bin_combine->m_address = base + offset; - n_bin_combine->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_bin_combine); - -} -void node_from_d_init(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "flags1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); - auto n_flags1 = new NodeDFFlagArray; - n_flags1->m_field_name = field_name; - n_flags1->m_index_enum = DF_Type::d_init_flags1; - n_flags1->m_df_type = DF_Type::d_init_flags1; - n_flags1->m_size = 4; - n_flags1->m_rdf_type = RDF_Type::DFFlagArray; - n_flags1->m_node_type = NodeType::Bitfield; - n_flags1->m_address = base + offset; - n_flags1->m_defined_in = "df.d_init.xml"; - n_flags1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags1); - - field_name = "nickname"; - auto n_nickname = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); - n_nickname->m_field_name = field_name; - n_nickname->m_df_type = DF_Type::d_init_nickname; - n_nickname->m_rdf_type = RDF_Type::Array; - n_nickname->m_node_type = NodeType::Array; - n_nickname->m_index_enum = DF_Type::game_type; - n_nickname->m_enum_base = enum_base_type(n_nickname->m_df_type); - n_nickname->m_defined_in = "df.d_init.xml"; - n_nickname->m_addornements = "[10"; - n_nickname->m_array_size = 10; - n_nickname->m_address = base + offset; - n_nickname->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_nickname); - - field_name = "sky_tile"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); - auto n_sky_tile = new NodeSimple; - n_sky_tile->m_field_name = field_name; - n_sky_tile->m_df_type = DF_Type::uint8_t; - n_sky_tile->m_rdf_type = RDF_Type::uint8_t; - n_sky_tile->m_node_type = NodeType::Simple; - n_sky_tile->m_address = base + offset; - n_sky_tile->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sky_tile); - - field_name = "sky_color"; - auto n_sky_color = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); - n_sky_color->m_field_name = field_name; - n_sky_color->m_df_type = DF_Type::int16_t; - n_sky_color->m_rdf_type = RDF_Type::Array; - n_sky_color->m_node_type = NodeType::Array; - n_sky_color->m_addornements = "[3"; - n_sky_color->m_array_size = 3; - n_sky_color->m_address = base + offset; - n_sky_color->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sky_color); - - field_name = "chasm_tile"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); - auto n_chasm_tile = new NodeSimple; - n_chasm_tile->m_field_name = field_name; - n_chasm_tile->m_df_type = DF_Type::uint8_t; - n_chasm_tile->m_rdf_type = RDF_Type::uint8_t; - n_chasm_tile->m_node_type = NodeType::Simple; - n_chasm_tile->m_address = base + offset; - n_chasm_tile->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_chasm_tile); - - field_name = "pillar_tile"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); - auto n_pillar_tile = new NodeSimple; - n_pillar_tile->m_field_name = field_name; - n_pillar_tile->m_df_type = DF_Type::uint8_t; - n_pillar_tile->m_rdf_type = RDF_Type::uint8_t; - n_pillar_tile->m_node_type = NodeType::Simple; - n_pillar_tile->m_address = base + offset; - n_pillar_tile->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pillar_tile); - - field_name = "track_tiles"; - auto n_track_tiles = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); - n_track_tiles->m_field_name = field_name; - n_track_tiles->m_df_type = DF_Type::uint8_t; - n_track_tiles->m_rdf_type = RDF_Type::Array; - n_track_tiles->m_node_type = NodeType::Array; - n_track_tiles->m_addornements = "[15"; - n_track_tiles->m_array_size = 15; - n_track_tiles->m_address = base + offset; - n_track_tiles->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_track_tiles); - - field_name = "track_tile_invert"; - auto n_track_tile_invert = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); - n_track_tile_invert->m_field_name = field_name; - n_track_tile_invert->m_df_type = DF_Type::uint8_t; - n_track_tile_invert->m_rdf_type = RDF_Type::Array; - n_track_tile_invert->m_node_type = NodeType::Array; - n_track_tile_invert->m_addornements = "[15"; - n_track_tile_invert->m_array_size = 15; - n_track_tile_invert->m_address = base + offset; - n_track_tile_invert->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_track_tile_invert); - - field_name = "track_ramp_tiles"; - auto n_track_ramp_tiles = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); - n_track_ramp_tiles->m_field_name = field_name; - n_track_ramp_tiles->m_df_type = DF_Type::uint8_t; - n_track_ramp_tiles->m_rdf_type = RDF_Type::Array; - n_track_ramp_tiles->m_node_type = NodeType::Array; - n_track_ramp_tiles->m_addornements = "[15"; - n_track_ramp_tiles->m_array_size = 15; - n_track_ramp_tiles->m_address = base + offset; - n_track_ramp_tiles->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_track_ramp_tiles); - - field_name = "track_ramp_invert"; - auto n_track_ramp_invert = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); - n_track_ramp_invert->m_field_name = field_name; - n_track_ramp_invert->m_df_type = DF_Type::uint8_t; - n_track_ramp_invert->m_rdf_type = RDF_Type::Array; - n_track_ramp_invert->m_node_type = NodeType::Array; - n_track_ramp_invert->m_addornements = "[15"; - n_track_ramp_invert->m_array_size = 15; - n_track_ramp_invert->m_address = base + offset; - n_track_ramp_invert->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_track_ramp_invert); - - field_name = "tree_tiles"; - auto n_tree_tiles = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); - n_tree_tiles->m_field_name = field_name; - n_tree_tiles->m_df_type = DF_Type::uint8_t; - n_tree_tiles->m_rdf_type = RDF_Type::Array; - n_tree_tiles->m_node_type = NodeType::Array; - n_tree_tiles->m_addornements = "[104"; - n_tree_tiles->m_array_size = 104; - n_tree_tiles->m_address = base + offset; - n_tree_tiles->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tree_tiles); - - field_name = "chasm_color"; - auto n_chasm_color = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); - n_chasm_color->m_field_name = field_name; - n_chasm_color->m_df_type = DF_Type::int16_t; - n_chasm_color->m_rdf_type = RDF_Type::Array; - n_chasm_color->m_node_type = NodeType::Array; - n_chasm_color->m_addornements = "[3"; - n_chasm_color->m_array_size = 3; - n_chasm_color->m_address = base + offset; - n_chasm_color->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_chasm_color); - - field_name = "wound_color"; - auto n_wound_color = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); - n_wound_color->m_field_name = field_name; - n_wound_color->m_df_type = DF_Type::d_init__T_wound_color; - n_wound_color->m_rdf_type = RDF_Type::Compound; - n_wound_color->m_node_type = NodeType::Compound; - n_wound_color->m_address = base + offset; - n_wound_color->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_wound_color); - - field_name = "idlers"; - auto n_idlers = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); - n_idlers->m_field_name = field_name; - n_idlers->m_df_type = DF_Type::d_init_idlers; - n_idlers->m_rdf_type = RDF_Type::Enum; - n_idlers->m_node_type = NodeType::Enum; - n_idlers->m_base_type = DF_Type::int16_t; - n_idlers->m_enum_type = "d_init_idlers"; - n_idlers->m_address = base + offset; - n_idlers->m_defined_in = "df.d_init.xml"; - n_idlers->m_first_value = -1; - n_idlers->m_last_value = 1; - n_idlers->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_idlers); - - field_name = "show_embark_tunnel"; - auto n_show_embark_tunnel = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); - n_show_embark_tunnel->m_field_name = field_name; - n_show_embark_tunnel->m_df_type = DF_Type::d_init_tunnel; - n_show_embark_tunnel->m_rdf_type = RDF_Type::Enum; - n_show_embark_tunnel->m_node_type = NodeType::Enum; - n_show_embark_tunnel->m_base_type = DF_Type::int16_t; - n_show_embark_tunnel->m_enum_type = "d_init_tunnel"; - n_show_embark_tunnel->m_address = base + offset; - n_show_embark_tunnel->m_defined_in = "df.d_init.xml"; - n_show_embark_tunnel->m_first_value = 0; - n_show_embark_tunnel->m_last_value = 2; - n_show_embark_tunnel->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_show_embark_tunnel); - - field_name = "flags2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); - auto n_flags2 = new NodeDFFlagArray; - n_flags2->m_field_name = field_name; - n_flags2->m_index_enum = DF_Type::d_init_flags2; - n_flags2->m_df_type = DF_Type::d_init_flags2; - n_flags2->m_size = 3; - n_flags2->m_rdf_type = RDF_Type::DFFlagArray; - n_flags2->m_node_type = NodeType::Bitfield; - n_flags2->m_address = base + offset; - n_flags2->m_defined_in = "df.d_init.xml"; - n_flags2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags2); - - field_name = "display_length"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); - auto n_display_length = new NodeSimple; - n_display_length->m_field_name = field_name; - n_display_length->m_df_type = DF_Type::int32_t; - n_display_length->m_rdf_type = RDF_Type::int32_t; - n_display_length->m_node_type = NodeType::Simple; - n_display_length->m_address = base + offset; - n_display_length->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_display_length); - - field_name = "adventurer_z_view"; - auto n_adventurer_z_view = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); - n_adventurer_z_view->m_field_name = field_name; - n_adventurer_z_view->m_df_type = DF_Type::d_init_z_view; - n_adventurer_z_view->m_rdf_type = RDF_Type::Enum; - n_adventurer_z_view->m_node_type = NodeType::Enum; - n_adventurer_z_view->m_base_type = enum_base_type(n_adventurer_z_view->m_df_type); - n_adventurer_z_view->m_enum_type = "d_init_z_view"; - n_adventurer_z_view->m_address = base + offset; - n_adventurer_z_view->m_defined_in = "df.d_init.xml"; - n_adventurer_z_view->m_first_value = 0; - n_adventurer_z_view->m_last_value = 3; - n_adventurer_z_view->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_adventurer_z_view); - - field_name = "adventurer_z_view_size"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); - auto n_adventurer_z_view_size = new NodeSimple; - n_adventurer_z_view_size->m_field_name = field_name; - n_adventurer_z_view_size->m_df_type = DF_Type::int32_t; - n_adventurer_z_view_size->m_rdf_type = RDF_Type::int32_t; - n_adventurer_z_view_size->m_node_type = NodeType::Simple; - n_adventurer_z_view_size->m_address = base + offset; - n_adventurer_z_view_size->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_adventurer_z_view_size); - - field_name = "flags3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); - auto n_flags3 = new NodeDFFlagArray; - n_flags3->m_field_name = field_name; - n_flags3->m_index_enum = DF_Type::d_init_flags3; - n_flags3->m_df_type = DF_Type::d_init_flags3; - n_flags3->m_size = 1; - n_flags3->m_rdf_type = RDF_Type::DFFlagArray; - n_flags3->m_node_type = NodeType::Bitfield; - n_flags3->m_address = base + offset; - n_flags3->m_defined_in = "df.d_init.xml"; - n_flags3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags3); - - field_name = "population_cap"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); - auto n_population_cap = new NodeSimple; - n_population_cap->m_field_name = field_name; - n_population_cap->m_df_type = DF_Type::int32_t; - n_population_cap->m_rdf_type = RDF_Type::int32_t; - n_population_cap->m_node_type = NodeType::Simple; - n_population_cap->m_address = base + offset; - n_population_cap->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_population_cap); - - field_name = "strict_population_cap"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); - auto n_strict_population_cap = new NodeSimple; - n_strict_population_cap->m_field_name = field_name; - n_strict_population_cap->m_df_type = DF_Type::int32_t; - n_strict_population_cap->m_rdf_type = RDF_Type::int32_t; - n_strict_population_cap->m_node_type = NodeType::Simple; - n_strict_population_cap->m_address = base + offset; - n_strict_population_cap->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_strict_population_cap); - - field_name = "baby_cap_absolute"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); - auto n_baby_cap_absolute = new NodeSimple; - n_baby_cap_absolute->m_field_name = field_name; - n_baby_cap_absolute->m_df_type = DF_Type::int32_t; - n_baby_cap_absolute->m_rdf_type = RDF_Type::int32_t; - n_baby_cap_absolute->m_node_type = NodeType::Simple; - n_baby_cap_absolute->m_address = base + offset; - n_baby_cap_absolute->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_baby_cap_absolute); - - field_name = "baby_cap_percent"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); - auto n_baby_cap_percent = new NodeSimple; - n_baby_cap_percent->m_field_name = field_name; - n_baby_cap_percent->m_df_type = DF_Type::int32_t; - n_baby_cap_percent->m_rdf_type = RDF_Type::int32_t; - n_baby_cap_percent->m_node_type = NodeType::Simple; - n_baby_cap_percent->m_address = base + offset; - n_baby_cap_percent->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_baby_cap_percent); - - field_name = "visitor_cap"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); - auto n_visitor_cap = new NodeSimple; - n_visitor_cap->m_field_name = field_name; - n_visitor_cap->m_df_type = DF_Type::int32_t; - n_visitor_cap->m_rdf_type = RDF_Type::int32_t; - n_visitor_cap->m_node_type = NodeType::Simple; - n_visitor_cap->m_address = base + offset; - n_visitor_cap->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_visitor_cap); - - field_name = "specific_seed_cap"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); - auto n_specific_seed_cap = new NodeSimple; - n_specific_seed_cap->m_field_name = field_name; - n_specific_seed_cap->m_df_type = DF_Type::int32_t; - n_specific_seed_cap->m_rdf_type = RDF_Type::int32_t; - n_specific_seed_cap->m_node_type = NodeType::Simple; - n_specific_seed_cap->m_address = base + offset; - n_specific_seed_cap->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_specific_seed_cap); - - field_name = "fortress_seed_cap"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); - auto n_fortress_seed_cap = new NodeSimple; - n_fortress_seed_cap->m_field_name = field_name; - n_fortress_seed_cap->m_df_type = DF_Type::int32_t; - n_fortress_seed_cap->m_rdf_type = RDF_Type::int32_t; - n_fortress_seed_cap->m_node_type = NodeType::Simple; - n_fortress_seed_cap->m_address = base + offset; - n_fortress_seed_cap->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_fortress_seed_cap); - - field_name = "invasion_soldier_cap"; - auto n_invasion_soldier_cap = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); - n_invasion_soldier_cap->m_field_name = field_name; - n_invasion_soldier_cap->m_df_type = DF_Type::int32_t; - n_invasion_soldier_cap->m_rdf_type = RDF_Type::Array; - n_invasion_soldier_cap->m_node_type = NodeType::Array; - n_invasion_soldier_cap->m_addornements = "[3"; - n_invasion_soldier_cap->m_array_size = 3; - n_invasion_soldier_cap->m_address = base + offset; - n_invasion_soldier_cap->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_invasion_soldier_cap); - - field_name = "invasion_monster_cap"; - auto n_invasion_monster_cap = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); - n_invasion_monster_cap->m_field_name = field_name; - n_invasion_monster_cap->m_df_type = DF_Type::int32_t; - n_invasion_monster_cap->m_rdf_type = RDF_Type::Array; - n_invasion_monster_cap->m_node_type = NodeType::Array; - n_invasion_monster_cap->m_addornements = "[3"; - n_invasion_monster_cap->m_array_size = 3; - n_invasion_monster_cap->m_address = base + offset; - n_invasion_monster_cap->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_invasion_monster_cap); - - field_name = "path_cost"; - auto n_path_cost = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); - n_path_cost->m_field_name = field_name; - n_path_cost->m_df_type = DF_Type::int32_t; - n_path_cost->m_rdf_type = RDF_Type::Array; - n_path_cost->m_node_type = NodeType::Array; - n_path_cost->m_addornements = "[4"; - n_path_cost->m_array_size = 4; - n_path_cost->m_address = base + offset; - n_path_cost->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_path_cost); - - field_name = "embark_rect"; - auto n_embark_rect = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); - n_embark_rect->m_field_name = field_name; - n_embark_rect->m_df_type = DF_Type::int16_t; - n_embark_rect->m_rdf_type = RDF_Type::Array; - n_embark_rect->m_node_type = NodeType::Array; - n_embark_rect->m_addornements = "[2"; - n_embark_rect->m_array_size = 2; - n_embark_rect->m_address = base + offset; - n_embark_rect->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_embark_rect); - - field_name = "store_dist"; - auto n_store_dist = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); - n_store_dist->m_field_name = field_name; - n_store_dist->m_df_type = DF_Type::d_init__T_store_dist; - n_store_dist->m_rdf_type = RDF_Type::Compound; - n_store_dist->m_node_type = NodeType::Compound; - n_store_dist->m_address = base + offset; - n_store_dist->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_store_dist); - - field_name = "set_labor_lists"; - auto n_set_labor_lists = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); - n_set_labor_lists->m_field_name = field_name; - n_set_labor_lists->m_df_type = DF_Type::int16_t; - n_set_labor_lists->m_rdf_type = RDF_Type::Array; - n_set_labor_lists->m_node_type = NodeType::Array; - n_set_labor_lists->m_addornements = "[2"; - n_set_labor_lists->m_array_size = 2; - n_set_labor_lists->m_address = base + offset; - n_set_labor_lists->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_set_labor_lists); - - field_name = "graze_coefficient"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); - auto n_graze_coefficient = new NodeSimple; - n_graze_coefficient->m_field_name = field_name; - n_graze_coefficient->m_df_type = DF_Type::int32_t; - n_graze_coefficient->m_rdf_type = RDF_Type::int32_t; - n_graze_coefficient->m_node_type = NodeType::Simple; - n_graze_coefficient->m_address = base + offset; - n_graze_coefficient->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_graze_coefficient); - - field_name = "flags4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); - auto n_flags4 = new NodeDFFlagArray; - n_flags4->m_field_name = field_name; - n_flags4->m_index_enum = DF_Type::d_init_flags4; - n_flags4->m_df_type = DF_Type::d_init_flags4; - n_flags4->m_size = 19; - n_flags4->m_rdf_type = RDF_Type::DFFlagArray; - n_flags4->m_node_type = NodeType::Bitfield; - n_flags4->m_address = base + offset; - n_flags4->m_defined_in = "df.d_init.xml"; - n_flags4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags4); - - field_name = "post_prepare_embark_confirmation"; - auto n_post_prepare_embark_confirmation = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); - n_post_prepare_embark_confirmation->m_field_name = field_name; - n_post_prepare_embark_confirmation->m_df_type = DF_Type::d_init_embark_confirm; - n_post_prepare_embark_confirmation->m_rdf_type = RDF_Type::Enum; - n_post_prepare_embark_confirmation->m_node_type = NodeType::Enum; - n_post_prepare_embark_confirmation->m_base_type = enum_base_type(n_post_prepare_embark_confirmation->m_df_type); - n_post_prepare_embark_confirmation->m_enum_type = "d_init_embark_confirm"; - n_post_prepare_embark_confirmation->m_address = base + offset; - n_post_prepare_embark_confirmation->m_defined_in = "df.d_init.xml"; - n_post_prepare_embark_confirmation->m_first_value = 0; - n_post_prepare_embark_confirmation->m_last_value = 2; - n_post_prepare_embark_confirmation->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_post_prepare_embark_confirmation); - - field_name = "announcements"; - auto n_announcements = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); - n_announcements->m_field_name = field_name; - n_announcements->m_df_type = DF_Type::announcements; - n_announcements->m_rdf_type = RDF_Type::Struct; - n_announcements->m_node_type = NodeType::Compound; - n_announcements->m_address = base + offset; - n_announcements->m_defined_in = "df.announcements.xml"; - n_announcements->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_announcements); - -} -void node_from_descriptor_pattern(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::descriptor_pattern, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::Stl_string; - n_id->m_rdf_type = RDF_Type::Stl_string; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "colors"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::descriptor_pattern, field_name)); - auto n_colors = new NodeVector; - n_colors->m_field_name = field_name; - n_colors->m_df_type = DF_Type::int16_t; - n_colors->m_rdf_type = RDF_Type::Vector; - n_colors->m_node_type = NodeType::Vector; - n_colors->m_addornements = "v"; - n_colors->m_address = base + offset; - n_colors->m_parent = p_node_parent; - n_colors->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_colors); - - field_name = "pattern"; - auto n_pattern = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::descriptor_pattern, field_name)); - n_pattern->m_field_name = field_name; - n_pattern->m_df_type = DF_Type::pattern_type; - n_pattern->m_rdf_type = RDF_Type::Enum; - n_pattern->m_node_type = NodeType::Enum; - n_pattern->m_base_type = DF_Type::int16_t; - n_pattern->m_enum_type = "pattern_type"; - n_pattern->m_address = base + offset; - n_pattern->m_defined_in = "df.descriptors.xml"; - n_pattern->m_first_value = 0; - n_pattern->m_last_value = 5; - n_pattern->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pattern); - - field_name = "cp_color"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::descriptor_pattern, field_name)); - auto n_cp_color = new NodeVector; - n_cp_color->m_field_name = field_name; - n_cp_color->m_df_type = DF_Type::Void; - n_cp_color->m_rdf_type = RDF_Type::Vector; - n_cp_color->m_node_type = NodeType::Vector; - n_cp_color->m_addornements = "v"; - n_cp_color->m_address = base + offset; - n_cp_color->m_parent = p_node_parent; - n_cp_color->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_cp_color); - -} -void node_from_entity_occasion_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "occasions"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_occasion_info, field_name)); - auto n_occasions = new NodeVector; - n_occasions->m_field_name = field_name; - n_occasions->m_df_type = DF_Type::entity_occasion; - n_occasions->m_rdf_type = RDF_Type::Vector; - n_occasions->m_node_type = NodeType::Vector; - n_occasions->m_defined_in = "df.entities.xml"; - n_occasions->m_addornements = "v*"; - n_occasions->m_address = base + offset; - n_occasions->m_parent = p_node_parent; - n_occasions->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_occasions); - - field_name = "next_occasion_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_occasion_info, field_name)); - auto n_next_occasion_id = new NodeSimple; - n_next_occasion_id->m_field_name = field_name; - n_next_occasion_id->m_df_type = DF_Type::int32_t; - n_next_occasion_id->m_rdf_type = RDF_Type::int32_t; - n_next_occasion_id->m_node_type = NodeType::Simple; - n_next_occasion_id->m_address = base + offset; - n_next_occasion_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_next_occasion_id); - - field_name = "anon_1"; - auto n_anon_1 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_occasion_info, field_name)); - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::Array; - n_anon_1->m_node_type = NodeType::Array; - n_anon_1->m_addornements = "[10"; - n_anon_1->m_array_size = 10; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_occasion_info, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - -} -void node_from_entity_occasion_schedule(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "type"; - auto n_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_occasion_schedule, field_name)); - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::occasion_schedule_type; - n_type->m_rdf_type = RDF_Type::Enum; - n_type->m_node_type = NodeType::Enum; - n_type->m_base_type = DF_Type::int32_t; - n_type->m_enum_type = "occasion_schedule_type"; - n_type->m_address = base + offset; - n_type->m_defined_in = "df.entities.xml"; - n_type->m_first_value = 0; - n_type->m_last_value = 14; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - - field_name = "reference"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_occasion_schedule, field_name)); - auto n_reference = new NodeSimple; - n_reference->m_field_name = field_name; - n_reference->m_df_type = DF_Type::int32_t; - n_reference->m_rdf_type = RDF_Type::int32_t; - n_reference->m_node_type = NodeType::Simple; - n_reference->m_address = base + offset; - n_reference->m_comment = "art form / event / item_type"; - n_reference->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_reference); - - field_name = "reference2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_occasion_schedule, field_name)); - auto n_reference2 = new NodeSimple; - n_reference2->m_field_name = field_name; - n_reference2->m_df_type = DF_Type::int32_t; - n_reference2->m_rdf_type = RDF_Type::int32_t; - n_reference2->m_node_type = NodeType::Simple; - n_reference2->m_address = base + offset; - n_reference2->m_comment = "item_subtype"; - n_reference2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_reference2); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_occasion_schedule, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_occasion_schedule, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_occasion_schedule, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "features"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_occasion_schedule, field_name)); - auto n_features = new NodeVector; - n_features->m_field_name = field_name; - n_features->m_df_type = DF_Type::entity_occasion_schedule_feature; - n_features->m_rdf_type = RDF_Type::Vector; - n_features->m_node_type = NodeType::Vector; - n_features->m_defined_in = "df.entities.xml"; - n_features->m_addornements = "v*"; - n_features->m_address = base + offset; - n_features->m_parent = p_node_parent; - n_features->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_features); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_occasion_schedule, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_occasion_schedule, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - -} -void node_from_entity_occasion_schedule_feature(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "feature"; - auto n_feature = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_occasion_schedule_feature, field_name)); - n_feature->m_field_name = field_name; - n_feature->m_df_type = DF_Type::occasion_schedule_feature; - n_feature->m_rdf_type = RDF_Type::Enum; - n_feature->m_node_type = NodeType::Enum; - n_feature->m_base_type = DF_Type::int32_t; - n_feature->m_enum_type = "occasion_schedule_feature"; - n_feature->m_address = base + offset; - n_feature->m_defined_in = "df.entities.xml"; - n_feature->m_first_value = 0; - n_feature->m_last_value = 18; - n_feature->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_feature); - - field_name = "reference"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_occasion_schedule_feature, field_name)); - auto n_reference = new NodeSimple; - n_reference->m_field_name = field_name; - n_reference->m_df_type = DF_Type::int32_t; - n_reference->m_rdf_type = RDF_Type::int32_t; - n_reference->m_node_type = NodeType::Simple; - n_reference->m_address = base + offset; - n_reference->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_reference); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_occasion_schedule_feature, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_occasion_schedule_feature, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_occasion_schedule_feature, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - -} -void node_from_caravan_state(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "total_capacity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caravan_state, field_name)); - auto n_total_capacity = new NodeSimple; - n_total_capacity->m_field_name = field_name; - n_total_capacity->m_df_type = DF_Type::int32_t; - n_total_capacity->m_rdf_type = RDF_Type::int32_t; - n_total_capacity->m_node_type = NodeType::Simple; - n_total_capacity->m_address = base + offset; - n_total_capacity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_total_capacity); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caravan_state, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "trade_state"; - auto n_trade_state = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caravan_state, field_name)); - n_trade_state->m_field_name = field_name; - n_trade_state->m_df_type = DF_Type::caravan_state__T_trade_state; - n_trade_state->m_rdf_type = RDF_Type::Enum; - n_trade_state->m_node_type = NodeType::Enum; - n_trade_state->m_base_type = DF_Type::int8_t; - n_trade_state->m_enum_type = "caravan_state::T_trade_state"; - n_trade_state->m_address = base + offset; - n_trade_state->m_first_value = 0; - n_trade_state->m_last_value = 4; - n_trade_state->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_trade_state); - - field_name = "depot_notified"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caravan_state, field_name)); - auto n_depot_notified = new NodeSimple; - n_depot_notified->m_field_name = field_name; - n_depot_notified->m_df_type = DF_Type::int8_t; - n_depot_notified->m_rdf_type = RDF_Type::int8_t; - n_depot_notified->m_node_type = NodeType::Simple; - n_depot_notified->m_address = base + offset; - n_depot_notified->m_comment = "has it warned you that you need a depot"; - n_depot_notified->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_depot_notified); - - field_name = "time_remaining"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caravan_state, field_name)); - auto n_time_remaining = new NodeSimple; - n_time_remaining->m_field_name = field_name; - n_time_remaining->m_df_type = DF_Type::int16_t; - n_time_remaining->m_rdf_type = RDF_Type::int16_t; - n_time_remaining->m_node_type = NodeType::Simple; - n_time_remaining->m_address = base + offset; - n_time_remaining->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_time_remaining); - - field_name = "entity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caravan_state, field_name)); - auto n_entity = new NodeSimple; - n_entity->m_field_name = field_name; - n_entity->m_df_type = DF_Type::int32_t; - n_entity->m_rdf_type = RDF_Type::int32_t; - n_entity->m_node_type = NodeType::Simple; - n_entity->m_address = base + offset; - n_entity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity); - - field_name = "activity_stats"; - auto n_activity_stats = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caravan_state, field_name)); - n_activity_stats->m_field_name = field_name; - n_activity_stats->m_df_type = DF_Type::entity_activity_statistics; - n_activity_stats->m_rdf_type = RDF_Type::Struct; - n_activity_stats->m_node_type = NodeType::Compound; - n_activity_stats->m_address = base + offset; - n_activity_stats->m_defined_in = "df.entities.xml"; - n_activity_stats->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_activity_stats); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caravan_state, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::caravan_state__T_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "import_value"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caravan_state, field_name)); - auto n_import_value = new NodeSimple; - n_import_value->m_field_name = field_name; - n_import_value->m_df_type = DF_Type::int32_t; - n_import_value->m_rdf_type = RDF_Type::int32_t; - n_import_value->m_node_type = NodeType::Simple; - n_import_value->m_address = base + offset; - n_import_value->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_import_value); - - field_name = "export_value_total"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caravan_state, field_name)); - auto n_export_value_total = new NodeSimple; - n_export_value_total->m_field_name = field_name; - n_export_value_total->m_df_type = DF_Type::int32_t; - n_export_value_total->m_rdf_type = RDF_Type::int32_t; - n_export_value_total->m_node_type = NodeType::Simple; - n_export_value_total->m_address = base + offset; - n_export_value_total->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_export_value_total); - - field_name = "export_value_personal"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caravan_state, field_name)); - auto n_export_value_personal = new NodeSimple; - n_export_value_personal->m_field_name = field_name; - n_export_value_personal->m_df_type = DF_Type::int32_t; - n_export_value_personal->m_rdf_type = RDF_Type::int32_t; - n_export_value_personal->m_node_type = NodeType::Simple; - n_export_value_personal->m_address = base + offset; - n_export_value_personal->m_comment = "excluding foreign-produced items"; - n_export_value_personal->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_export_value_personal); - - field_name = "offer_value"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caravan_state, field_name)); - auto n_offer_value = new NodeSimple; - n_offer_value->m_field_name = field_name; - n_offer_value->m_df_type = DF_Type::int32_t; - n_offer_value->m_rdf_type = RDF_Type::int32_t; - n_offer_value->m_node_type = NodeType::Simple; - n_offer_value->m_address = base + offset; - n_offer_value->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_offer_value); - - field_name = "animals"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caravan_state, field_name)); - auto n_animals = new NodeVector; - n_animals->m_field_name = field_name; - n_animals->m_df_type = DF_Type::int32_t; - n_animals->m_rdf_type = RDF_Type::Vector; - n_animals->m_node_type = NodeType::Vector; - n_animals->m_addornements = "v"; - n_animals->m_address = base + offset; - n_animals->m_parent = p_node_parent; - n_animals->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_animals); - - field_name = "sell_prices"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caravan_state, field_name)); - auto n_sell_prices = new NodePointer; - n_sell_prices->m_field_name = field_name; - n_sell_prices->m_df_type = get_real_subtype(base+offset, DF_Type::entity_sell_prices); - n_sell_prices->m_rdf_type = RDF_Type::Pointer; - n_sell_prices->m_node_type = NodeType::Pointer; - n_sell_prices->m_addornements = "*"; - n_sell_prices->m_address = base + offset; - n_sell_prices->m_parent = p_node_parent; - n_sell_prices->m_defined_in = "df.entities.xml"; - n_sell_prices->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_sell_prices); - - field_name = "buy_prices"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caravan_state, field_name)); - auto n_buy_prices = new NodePointer; - n_buy_prices->m_field_name = field_name; - n_buy_prices->m_df_type = get_real_subtype(base+offset, DF_Type::entity_buy_prices); - n_buy_prices->m_rdf_type = RDF_Type::Pointer; - n_buy_prices->m_node_type = NodeType::Pointer; - n_buy_prices->m_addornements = "*"; - n_buy_prices->m_address = base + offset; - n_buy_prices->m_parent = p_node_parent; - n_buy_prices->m_defined_in = "df.entities.xml"; - n_buy_prices->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_buy_prices); - - field_name = "goods"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caravan_state, field_name)); - auto n_goods = new NodeVector; - n_goods->m_field_name = field_name; - n_goods->m_df_type = DF_Type::int32_t; - n_goods->m_rdf_type = RDF_Type::Vector; - n_goods->m_node_type = NodeType::Vector; - n_goods->m_addornements = "v"; - n_goods->m_address = base + offset; - n_goods->m_parent = p_node_parent; - n_goods->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_goods); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caravan_state, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caravan_state, field_name)); - auto n_anon_3 = new NodePointer; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_anon_3->m_rdf_type = RDF_Type::Pointer; - n_anon_3->m_node_type = NodeType::Pointer; - n_anon_3->m_addornements = "*"; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - -} -void node_from_entity_buy_prices(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "items"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_buy_prices, field_name)); - auto n_items = new NodePointer; - n_items->m_field_name = field_name; - n_items->m_df_type = get_real_subtype(base+offset, DF_Type::entity_buy_requests); - n_items->m_rdf_type = RDF_Type::Pointer; - n_items->m_node_type = NodeType::Pointer; - n_items->m_addornements = "*"; - n_items->m_address = base + offset; - n_items->m_parent = p_node_parent; - n_items->m_defined_in = "df.entities.xml"; - n_items->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_items); - - field_name = "price"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_buy_prices, field_name)); - auto n_price = new NodeVector; - n_price->m_field_name = field_name; - n_price->m_df_type = DF_Type::int32_t; - n_price->m_rdf_type = RDF_Type::Vector; - n_price->m_node_type = NodeType::Vector; - n_price->m_addornements = "v"; - n_price->m_address = base + offset; - n_price->m_parent = p_node_parent; - n_price->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_price); - -} -void node_from_entity_buy_requests(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "item_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_buy_requests, field_name)); - auto n_item_type = new NodeVector; - n_item_type->m_field_name = field_name; - n_item_type->m_df_type = DF_Type::item_type; - n_item_type->m_rdf_type = RDF_Type::Vector; - n_item_type->m_node_type = NodeType::Vector; - n_item_type->m_enum_base = DF_Type::int16_t; - n_item_type->m_defined_in = "df.item-raws.xml"; - n_item_type->m_addornements = "v"; - n_item_type->m_address = base + offset; - n_item_type->m_comment = "guess"; - n_item_type->m_parent = p_node_parent; - n_item_type->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_item_type); - - field_name = "item_subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_buy_requests, field_name)); - auto n_item_subtype = new NodeVector; - n_item_subtype->m_field_name = field_name; - n_item_subtype->m_df_type = DF_Type::int16_t; - n_item_subtype->m_rdf_type = RDF_Type::Vector; - n_item_subtype->m_node_type = NodeType::Vector; - n_item_subtype->m_addornements = "v"; - n_item_subtype->m_address = base + offset; - n_item_subtype->m_comment = "guess"; - n_item_subtype->m_parent = p_node_parent; - n_item_subtype->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_item_subtype); - - field_name = "mat_types"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_buy_requests, field_name)); - auto n_mat_types = new NodeVector; - n_mat_types->m_field_name = field_name; - n_mat_types->m_df_type = DF_Type::int16_t; - n_mat_types->m_rdf_type = RDF_Type::Vector; - n_mat_types->m_node_type = NodeType::Vector; - n_mat_types->m_addornements = "v"; - n_mat_types->m_address = base + offset; - n_mat_types->m_parent = p_node_parent; - n_mat_types->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_mat_types); - - field_name = "mat_indices"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_buy_requests, field_name)); - auto n_mat_indices = new NodeVector; - n_mat_indices->m_field_name = field_name; - n_mat_indices->m_df_type = DF_Type::int16_t; - n_mat_indices->m_rdf_type = RDF_Type::Vector; - n_mat_indices->m_node_type = NodeType::Vector; - n_mat_indices->m_addornements = "v"; - n_mat_indices->m_address = base + offset; - n_mat_indices->m_parent = p_node_parent; - n_mat_indices->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_mat_indices); - - field_name = "mat_cats"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_buy_requests, field_name)); - auto n_mat_cats = new NodeVector; - n_mat_cats->m_field_name = field_name; - n_mat_cats->m_df_type = DF_Type::job_material_category; - n_mat_cats->m_rdf_type = RDF_Type::Vector; - n_mat_cats->m_node_type = NodeType::Vector; - n_mat_cats->m_defined_in = "df.jobs.xml"; - n_mat_cats->m_addornements = "v"; - n_mat_cats->m_address = base + offset; - n_mat_cats->m_parent = p_node_parent; - n_mat_cats->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_mat_cats); - - field_name = "priority"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_buy_requests, field_name)); - auto n_priority = new NodeVector; - n_priority->m_field_name = field_name; - n_priority->m_df_type = DF_Type::int8_t; - n_priority->m_rdf_type = RDF_Type::Vector; - n_priority->m_node_type = NodeType::Vector; - n_priority->m_addornements = "v"; - n_priority->m_address = base + offset; - n_priority->m_parent = p_node_parent; - n_priority->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_priority); - -} -void node_from_entity_sell_prices(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "items"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_sell_prices, field_name)); - auto n_items = new NodePointer; - n_items->m_field_name = field_name; - n_items->m_df_type = get_real_subtype(base+offset, DF_Type::entity_sell_requests); - n_items->m_rdf_type = RDF_Type::Pointer; - n_items->m_node_type = NodeType::Pointer; - n_items->m_addornements = "*"; - n_items->m_address = base + offset; - n_items->m_parent = p_node_parent; - n_items->m_defined_in = "df.entities.xml"; - n_items->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_items); - - field_name = "price"; - auto n_price = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_sell_prices, field_name)); - n_price->m_field_name = field_name; - n_price->m_df_type = DF_Type::int32_t; - n_price->m_rdf_type = RDF_Type::Array; - n_price->m_node_type = NodeType::Array; - n_price->m_index_enum = DF_Type::entity_sell_category; - n_price->m_addornements = "[107v"; - n_price->m_array_size = 107; - n_price->m_address = base + offset; - n_price->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_price); - -} -void node_from_entity_recipe(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_recipe, field_name)); - auto n_subtype = new NodeSimple; - n_subtype->m_field_name = field_name; - n_subtype->m_df_type = DF_Type::int16_t; - n_subtype->m_rdf_type = RDF_Type::int16_t; - n_subtype->m_node_type = NodeType::Simple; - n_subtype->m_address = base + offset; - n_subtype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_subtype); - - field_name = "item_types"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_recipe, field_name)); - auto n_item_types = new NodeVector; - n_item_types->m_field_name = field_name; - n_item_types->m_df_type = DF_Type::item_type; - n_item_types->m_rdf_type = RDF_Type::Vector; - n_item_types->m_node_type = NodeType::Vector; - n_item_types->m_enum_base = DF_Type::int16_t; - n_item_types->m_defined_in = "df.item-raws.xml"; - n_item_types->m_addornements = "v"; - n_item_types->m_address = base + offset; - n_item_types->m_parent = p_node_parent; - n_item_types->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_item_types); - - field_name = "item_subtypes"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_recipe, field_name)); - auto n_item_subtypes = new NodeVector; - n_item_subtypes->m_field_name = field_name; - n_item_subtypes->m_df_type = DF_Type::int16_t; - n_item_subtypes->m_rdf_type = RDF_Type::Vector; - n_item_subtypes->m_node_type = NodeType::Vector; - n_item_subtypes->m_addornements = "v"; - n_item_subtypes->m_address = base + offset; - n_item_subtypes->m_parent = p_node_parent; - n_item_subtypes->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_item_subtypes); - - field_name = "mat_types"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_recipe, field_name)); - auto n_mat_types = new NodeVector; - n_mat_types->m_field_name = field_name; - n_mat_types->m_df_type = DF_Type::int16_t; - n_mat_types->m_rdf_type = RDF_Type::Vector; - n_mat_types->m_node_type = NodeType::Vector; - n_mat_types->m_addornements = "v"; - n_mat_types->m_address = base + offset; - n_mat_types->m_parent = p_node_parent; - n_mat_types->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_mat_types); - - field_name = "mat_indices"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_recipe, field_name)); - auto n_mat_indices = new NodeVector; - n_mat_indices->m_field_name = field_name; - n_mat_indices->m_df_type = DF_Type::int16_t; - n_mat_indices->m_rdf_type = RDF_Type::Vector; - n_mat_indices->m_node_type = NodeType::Vector; - n_mat_indices->m_addornements = "v"; - n_mat_indices->m_address = base + offset; - n_mat_indices->m_parent = p_node_parent; - n_mat_indices->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_mat_indices); - -} -void node_from_entity_uniform_item(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "random_dye"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_uniform_item, field_name)); - auto n_random_dye = new NodeSimple; - n_random_dye->m_field_name = field_name; - n_random_dye->m_df_type = DF_Type::int8_t; - n_random_dye->m_rdf_type = RDF_Type::int8_t; - n_random_dye->m_node_type = NodeType::Simple; - n_random_dye->m_address = base + offset; - n_random_dye->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_random_dye); - - field_name = "armorlevel"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_uniform_item, field_name)); - auto n_armorlevel = new NodeSimple; - n_armorlevel->m_field_name = field_name; - n_armorlevel->m_df_type = DF_Type::int8_t; - n_armorlevel->m_rdf_type = RDF_Type::int8_t; - n_armorlevel->m_node_type = NodeType::Simple; - n_armorlevel->m_address = base + offset; - n_armorlevel->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_armorlevel); - - field_name = "item_color"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_uniform_item, field_name)); - auto n_item_color = new NodeSimple; - n_item_color->m_field_name = field_name; - n_item_color->m_df_type = DF_Type::int16_t; - n_item_color->m_rdf_type = RDF_Type::int16_t; - n_item_color->m_node_type = NodeType::Simple; - n_item_color->m_address = base + offset; - n_item_color->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_color); - - field_name = "art_image_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_uniform_item, field_name)); - auto n_art_image_id = new NodeSimple; - n_art_image_id->m_field_name = field_name; - n_art_image_id->m_df_type = DF_Type::int32_t; - n_art_image_id->m_rdf_type = RDF_Type::int32_t; - n_art_image_id->m_node_type = NodeType::Simple; - n_art_image_id->m_address = base + offset; - n_art_image_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_art_image_id); - - field_name = "art_image_subid"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_uniform_item, field_name)); - auto n_art_image_subid = new NodeSimple; - n_art_image_subid->m_field_name = field_name; - n_art_image_subid->m_df_type = DF_Type::int16_t; - n_art_image_subid->m_rdf_type = RDF_Type::int16_t; - n_art_image_subid->m_node_type = NodeType::Simple; - n_art_image_subid->m_address = base + offset; - n_art_image_subid->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_art_image_subid); - - field_name = "image_thread_color"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_uniform_item, field_name)); - auto n_image_thread_color = new NodeSimple; - n_image_thread_color->m_field_name = field_name; - n_image_thread_color->m_df_type = DF_Type::int16_t; - n_image_thread_color->m_rdf_type = RDF_Type::int16_t; - n_image_thread_color->m_node_type = NodeType::Simple; - n_image_thread_color->m_address = base + offset; - n_image_thread_color->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_image_thread_color); - - field_name = "image_material_class"; - auto n_image_material_class = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_uniform_item, field_name)); - n_image_material_class->m_field_name = field_name; - n_image_material_class->m_df_type = DF_Type::entity_material_category; - n_image_material_class->m_rdf_type = RDF_Type::Enum; - n_image_material_class->m_node_type = NodeType::Enum; - n_image_material_class->m_base_type = DF_Type::int16_t; - n_image_material_class->m_enum_type = "entity_material_category"; - n_image_material_class->m_address = base + offset; - n_image_material_class->m_defined_in = "df.entities.xml"; - n_image_material_class->m_first_value = -1; - n_image_material_class->m_last_value = 31; - n_image_material_class->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_image_material_class); - - field_name = "maker_race"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_uniform_item, field_name)); - auto n_maker_race = new NodeSimple; - n_maker_race->m_field_name = field_name; - n_maker_race->m_df_type = DF_Type::int16_t; - n_maker_race->m_rdf_type = RDF_Type::int16_t; - n_maker_race->m_node_type = NodeType::Simple; - n_maker_race->m_address = base + offset; - n_maker_race->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_maker_race); - - field_name = "indiv_choice"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_uniform_item, field_name)); - auto n_indiv_choice = new NodeBitfield; - n_indiv_choice->m_field_name = field_name; - n_indiv_choice->m_df_type = DF_Type::uniform_indiv_choice; - n_indiv_choice->m_rdf_type = RDF_Type::Bitfield; - n_indiv_choice->m_node_type = NodeType::Bitfield; - n_indiv_choice->m_address = base + offset; - n_indiv_choice->m_defined_in = "df.military.xml"; - n_indiv_choice->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_indiv_choice); - - field_name = "mattype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_uniform_item, field_name)); - auto n_mattype = new NodeSimple; - n_mattype->m_field_name = field_name; - n_mattype->m_df_type = DF_Type::int16_t; - n_mattype->m_rdf_type = RDF_Type::int16_t; - n_mattype->m_node_type = NodeType::Simple; - n_mattype->m_address = base + offset; - n_mattype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mattype); - - field_name = "matindex"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_uniform_item, field_name)); - auto n_matindex = new NodeSimple; - n_matindex->m_field_name = field_name; - n_matindex->m_df_type = DF_Type::int32_t; - n_matindex->m_rdf_type = RDF_Type::int32_t; - n_matindex->m_node_type = NodeType::Simple; - n_matindex->m_address = base + offset; - n_matindex->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_matindex); - - field_name = "material_class"; - auto n_material_class = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_uniform_item, field_name)); - n_material_class->m_field_name = field_name; - n_material_class->m_df_type = DF_Type::entity_material_category; - n_material_class->m_rdf_type = RDF_Type::Enum; - n_material_class->m_node_type = NodeType::Enum; - n_material_class->m_base_type = DF_Type::int16_t; - n_material_class->m_enum_type = "entity_material_category"; - n_material_class->m_address = base + offset; - n_material_class->m_defined_in = "df.entities.xml"; - n_material_class->m_first_value = -1; - n_material_class->m_last_value = 31; - n_material_class->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_material_class); - -} -void node_from_entity_uniform(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_uniform, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "unk_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_uniform, field_name)); - auto n_unk_4 = new NodeSimple; - n_unk_4->m_field_name = field_name; - n_unk_4->m_df_type = DF_Type::int16_t; - n_unk_4->m_rdf_type = RDF_Type::int16_t; - n_unk_4->m_node_type = NodeType::Simple; - n_unk_4->m_address = base + offset; - n_unk_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_4); - - field_name = "uniform_item_types"; - auto n_uniform_item_types = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_uniform, field_name)); - n_uniform_item_types->m_field_name = field_name; - n_uniform_item_types->m_df_type = DF_Type::item_type; - n_uniform_item_types->m_rdf_type = RDF_Type::Array; - n_uniform_item_types->m_node_type = NodeType::Array; - n_uniform_item_types->m_index_enum = DF_Type::uniform_category; - n_uniform_item_types->m_enum_base = DF_Type::int16_t; - n_uniform_item_types->m_defined_in = "df.item-raws.xml"; - n_uniform_item_types->m_addornements = "[7v"; - n_uniform_item_types->m_array_size = 7; - n_uniform_item_types->m_address = base + offset; - n_uniform_item_types->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_uniform_item_types); - - field_name = "uniform_item_subtypes"; - auto n_uniform_item_subtypes = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_uniform, field_name)); - n_uniform_item_subtypes->m_field_name = field_name; - n_uniform_item_subtypes->m_df_type = DF_Type::int16_t; - n_uniform_item_subtypes->m_rdf_type = RDF_Type::Array; - n_uniform_item_subtypes->m_node_type = NodeType::Array; - n_uniform_item_subtypes->m_index_enum = DF_Type::uniform_category; - n_uniform_item_subtypes->m_addornements = "[7v"; - n_uniform_item_subtypes->m_array_size = 7; - n_uniform_item_subtypes->m_address = base + offset; - n_uniform_item_subtypes->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_uniform_item_subtypes); - - field_name = "uniform_item_info"; - auto n_uniform_item_info = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_uniform, field_name)); - n_uniform_item_info->m_field_name = field_name; - n_uniform_item_info->m_df_type = DF_Type::entity_uniform_item; - n_uniform_item_info->m_rdf_type = RDF_Type::Array; - n_uniform_item_info->m_node_type = NodeType::Array; - n_uniform_item_info->m_index_enum = DF_Type::uniform_category; - n_uniform_item_info->m_defined_in = "df.entities.xml"; - n_uniform_item_info->m_addornements = "[7v*"; - n_uniform_item_info->m_array_size = 7; - n_uniform_item_info->m_address = base + offset; - n_uniform_item_info->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_uniform_item_info); - - field_name = "name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_uniform, field_name)); - auto n_name = new NodeSimple; - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Stl_string; - n_name->m_node_type = NodeType::Simple; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_uniform, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::uniform_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_defined_in = "df.military.xml"; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - -} -void node_from_entity_event__T_data__T_invasion(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "entity_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_invasion, field_name)); - auto n_entity_id = new NodeSimple; - n_entity_id->m_field_name = field_name; - n_entity_id->m_df_type = DF_Type::int32_t; - n_entity_id->m_rdf_type = RDF_Type::int32_t; - n_entity_id->m_node_type = NodeType::Simple; - n_entity_id->m_address = base + offset; - n_entity_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity_id); - - field_name = "site_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_invasion, field_name)); - auto n_site_id = new NodeSimple; - n_site_id->m_field_name = field_name; - n_site_id->m_df_type = DF_Type::int32_t; - n_site_id->m_rdf_type = RDF_Type::int32_t; - n_site_id->m_node_type = NodeType::Simple; - n_site_id->m_address = base + offset; - n_site_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_id); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_invasion, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_invasion, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - -} -void node_from_entity_event__T_data__T_abduction(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "histfig_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_abduction, field_name)); - auto n_histfig_id = new NodeSimple; - n_histfig_id->m_field_name = field_name; - n_histfig_id->m_df_type = DF_Type::int32_t; - n_histfig_id->m_rdf_type = RDF_Type::int32_t; - n_histfig_id->m_node_type = NodeType::Simple; - n_histfig_id->m_address = base + offset; - n_histfig_id->m_comment = "abductee"; - n_histfig_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig_id); - - field_name = "site_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_abduction, field_name)); - auto n_site_id = new NodeSimple; - n_site_id->m_field_name = field_name; - n_site_id->m_df_type = DF_Type::int32_t; - n_site_id->m_rdf_type = RDF_Type::int32_t; - n_site_id->m_node_type = NodeType::Simple; - n_site_id->m_address = base + offset; - n_site_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_id); - - field_name = "abductor_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_abduction, field_name)); - auto n_abductor_id = new NodeSimple; - n_abductor_id->m_field_name = field_name; - n_abductor_id->m_df_type = DF_Type::int32_t; - n_abductor_id->m_rdf_type = RDF_Type::int32_t; - n_abductor_id->m_node_type = NodeType::Simple; - n_abductor_id->m_address = base + offset; - n_abductor_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_abductor_id); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_abduction, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_entity_event__T_data__T_incident(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_incident, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "incident_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_incident, field_name)); - auto n_incident_id = new NodeSimple; - n_incident_id->m_field_name = field_name; - n_incident_id->m_df_type = DF_Type::int32_t; - n_incident_id->m_rdf_type = RDF_Type::int32_t; - n_incident_id->m_node_type = NodeType::Simple; - n_incident_id->m_address = base + offset; - n_incident_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_incident_id); - -} -void node_from_entity_event__T_data__T_occupation(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "site_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_occupation, field_name)); - auto n_site_id = new NodeSimple; - n_site_id->m_field_name = field_name; - n_site_id->m_df_type = DF_Type::int32_t; - n_site_id->m_rdf_type = RDF_Type::int32_t; - n_site_id->m_node_type = NodeType::Simple; - n_site_id->m_address = base + offset; - n_site_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_id); - - field_name = "entity_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_occupation, field_name)); - auto n_entity_id = new NodeSimple; - n_entity_id->m_field_name = field_name; - n_entity_id->m_df_type = DF_Type::int32_t; - n_entity_id->m_rdf_type = RDF_Type::int32_t; - n_entity_id->m_node_type = NodeType::Simple; - n_entity_id->m_address = base + offset; - n_entity_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity_id); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_occupation, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_occupation, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - -} -void node_from_entity_event__T_data__T_beast(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "histfig_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_beast, field_name)); - auto n_histfig_id = new NodeSimple; - n_histfig_id->m_field_name = field_name; - n_histfig_id->m_df_type = DF_Type::int32_t; - n_histfig_id->m_rdf_type = RDF_Type::int32_t; - n_histfig_id->m_node_type = NodeType::Simple; - n_histfig_id->m_address = base + offset; - n_histfig_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig_id); - - field_name = "site_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_beast, field_name)); - auto n_site_id = new NodeSimple; - n_site_id->m_field_name = field_name; - n_site_id->m_df_type = DF_Type::int32_t; - n_site_id->m_rdf_type = RDF_Type::int32_t; - n_site_id->m_node_type = NodeType::Simple; - n_site_id->m_address = base + offset; - n_site_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_id); - - field_name = "region_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_beast, field_name)); - auto n_region_id = new NodeSimple; - n_region_id->m_field_name = field_name; - n_region_id->m_df_type = DF_Type::int32_t; - n_region_id->m_rdf_type = RDF_Type::int32_t; - n_region_id->m_node_type = NodeType::Simple; - n_region_id->m_address = base + offset; - n_region_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region_id); - -} -void node_from_entity_event__T_data__T_group(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "entity_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_group, field_name)); - auto n_entity_id = new NodeSimple; - n_entity_id->m_field_name = field_name; - n_entity_id->m_df_type = DF_Type::int32_t; - n_entity_id->m_rdf_type = RDF_Type::int32_t; - n_entity_id->m_node_type = NodeType::Simple; - n_entity_id->m_address = base + offset; - n_entity_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity_id); - - field_name = "site_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_group, field_name)); - auto n_site_id = new NodeSimple; - n_site_id->m_field_name = field_name; - n_site_id->m_df_type = DF_Type::int32_t; - n_site_id->m_rdf_type = RDF_Type::int32_t; - n_site_id->m_node_type = NodeType::Simple; - n_site_id->m_address = base + offset; - n_site_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_id); - -} -void node_from_entity_event__T_data__T_harass(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "entity_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_harass, field_name)); - auto n_entity_id = new NodeSimple; - n_entity_id->m_field_name = field_name; - n_entity_id->m_df_type = DF_Type::int32_t; - n_entity_id->m_rdf_type = RDF_Type::int32_t; - n_entity_id->m_node_type = NodeType::Simple; - n_entity_id->m_address = base + offset; - n_entity_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity_id); - - field_name = "site_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_harass, field_name)); - auto n_site_id = new NodeSimple; - n_site_id->m_field_name = field_name; - n_site_id->m_df_type = DF_Type::int32_t; - n_site_id->m_rdf_type = RDF_Type::int32_t; - n_site_id->m_node_type = NodeType::Simple; - n_site_id->m_address = base + offset; - n_site_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_id); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_harass, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_entity_event__T_data__T_flee(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "refugee_entity_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_flee, field_name)); - auto n_refugee_entity_id = new NodeSimple; - n_refugee_entity_id->m_field_name = field_name; - n_refugee_entity_id->m_df_type = DF_Type::int32_t; - n_refugee_entity_id->m_rdf_type = RDF_Type::int32_t; - n_refugee_entity_id->m_node_type = NodeType::Simple; - n_refugee_entity_id->m_address = base + offset; - n_refugee_entity_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_refugee_entity_id); - - field_name = "from_site_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_flee, field_name)); - auto n_from_site_id = new NodeSimple; - n_from_site_id->m_field_name = field_name; - n_from_site_id->m_df_type = DF_Type::int32_t; - n_from_site_id->m_rdf_type = RDF_Type::int32_t; - n_from_site_id->m_node_type = NodeType::Simple; - n_from_site_id->m_address = base + offset; - n_from_site_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_from_site_id); - - field_name = "army_entity_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_flee, field_name)); - auto n_army_entity_id = new NodeSimple; - n_army_entity_id->m_field_name = field_name; - n_army_entity_id->m_df_type = DF_Type::int32_t; - n_army_entity_id->m_rdf_type = RDF_Type::int32_t; - n_army_entity_id->m_node_type = NodeType::Simple; - n_army_entity_id->m_address = base + offset; - n_army_entity_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_army_entity_id); - - field_name = "army_leader_hf_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_flee, field_name)); - auto n_army_leader_hf_id = new NodeSimple; - n_army_leader_hf_id->m_field_name = field_name; - n_army_leader_hf_id->m_df_type = DF_Type::int32_t; - n_army_leader_hf_id->m_rdf_type = RDF_Type::int32_t; - n_army_leader_hf_id->m_node_type = NodeType::Simple; - n_army_leader_hf_id->m_address = base + offset; - n_army_leader_hf_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_army_leader_hf_id); - -} -void node_from_entity_event__T_data__T_abandon(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "entity_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_abandon, field_name)); - auto n_entity_id = new NodeSimple; - n_entity_id->m_field_name = field_name; - n_entity_id->m_df_type = DF_Type::int32_t; - n_entity_id->m_rdf_type = RDF_Type::int32_t; - n_entity_id->m_node_type = NodeType::Simple; - n_entity_id->m_address = base + offset; - n_entity_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity_id); - - field_name = "site_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_abandon, field_name)); - auto n_site_id = new NodeSimple; - n_site_id->m_field_name = field_name; - n_site_id->m_df_type = DF_Type::int32_t; - n_site_id->m_rdf_type = RDF_Type::int32_t; - n_site_id->m_node_type = NodeType::Simple; - n_site_id->m_address = base + offset; - n_site_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_id); - - field_name = "parent_entity_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_abandon, field_name)); - auto n_parent_entity_id = new NodeSimple; - n_parent_entity_id->m_field_name = field_name; - n_parent_entity_id->m_df_type = DF_Type::int32_t; - n_parent_entity_id->m_rdf_type = RDF_Type::int32_t; - n_parent_entity_id->m_node_type = NodeType::Simple; - n_parent_entity_id->m_address = base + offset; - n_parent_entity_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_parent_entity_id); - -} -void node_from_entity_event__T_data__T_reclaimed(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "behalf_entity_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_reclaimed, field_name)); - auto n_behalf_entity_id = new NodeSimple; - n_behalf_entity_id->m_field_name = field_name; - n_behalf_entity_id->m_df_type = DF_Type::int32_t; - n_behalf_entity_id->m_rdf_type = RDF_Type::int32_t; - n_behalf_entity_id->m_node_type = NodeType::Simple; - n_behalf_entity_id->m_address = base + offset; - n_behalf_entity_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_behalf_entity_id); - - field_name = "site_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_reclaimed, field_name)); - auto n_site_id = new NodeSimple; - n_site_id->m_field_name = field_name; - n_site_id->m_df_type = DF_Type::int32_t; - n_site_id->m_rdf_type = RDF_Type::int32_t; - n_site_id->m_node_type = NodeType::Simple; - n_site_id->m_address = base + offset; - n_site_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_id); - - field_name = "reclaimer_entity_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_reclaimed, field_name)); - auto n_reclaimer_entity_id = new NodeSimple; - n_reclaimer_entity_id->m_field_name = field_name; - n_reclaimer_entity_id->m_df_type = DF_Type::int32_t; - n_reclaimer_entity_id->m_rdf_type = RDF_Type::int32_t; - n_reclaimer_entity_id->m_node_type = NodeType::Simple; - n_reclaimer_entity_id->m_address = base + offset; - n_reclaimer_entity_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_reclaimer_entity_id); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_reclaimed, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_entity_event__T_data__T_founded(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "entity_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_founded, field_name)); - auto n_entity_id = new NodeSimple; - n_entity_id->m_field_name = field_name; - n_entity_id->m_df_type = DF_Type::int32_t; - n_entity_id->m_rdf_type = RDF_Type::int32_t; - n_entity_id->m_node_type = NodeType::Simple; - n_entity_id->m_address = base + offset; - n_entity_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity_id); - - field_name = "site_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_founded, field_name)); - auto n_site_id = new NodeSimple; - n_site_id->m_field_name = field_name; - n_site_id->m_df_type = DF_Type::int32_t; - n_site_id->m_rdf_type = RDF_Type::int32_t; - n_site_id->m_node_type = NodeType::Simple; - n_site_id->m_address = base + offset; - n_site_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_id); - - field_name = "parent_entity_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_founded, field_name)); - auto n_parent_entity_id = new NodeSimple; - n_parent_entity_id->m_field_name = field_name; - n_parent_entity_id->m_df_type = DF_Type::int32_t; - n_parent_entity_id->m_rdf_type = RDF_Type::int32_t; - n_parent_entity_id->m_node_type = NodeType::Simple; - n_parent_entity_id->m_address = base + offset; - n_parent_entity_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_parent_entity_id); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_founded, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_entity_event__T_data__T_reclaiming(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "entity_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_reclaiming, field_name)); - auto n_entity_id = new NodeSimple; - n_entity_id->m_field_name = field_name; - n_entity_id->m_df_type = DF_Type::int32_t; - n_entity_id->m_rdf_type = RDF_Type::int32_t; - n_entity_id->m_node_type = NodeType::Simple; - n_entity_id->m_address = base + offset; - n_entity_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity_id); - - field_name = "site_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_reclaiming, field_name)); - auto n_site_id = new NodeSimple; - n_site_id->m_field_name = field_name; - n_site_id->m_df_type = DF_Type::int32_t; - n_site_id->m_rdf_type = RDF_Type::int32_t; - n_site_id->m_node_type = NodeType::Simple; - n_site_id->m_address = base + offset; - n_site_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_id); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_reclaiming, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_reclaiming, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - -} -void node_from_entity_event__T_data__T_founding(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "entity_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_founding, field_name)); - auto n_entity_id = new NodeSimple; - n_entity_id->m_field_name = field_name; - n_entity_id->m_df_type = DF_Type::int32_t; - n_entity_id->m_rdf_type = RDF_Type::int32_t; - n_entity_id->m_node_type = NodeType::Simple; - n_entity_id->m_address = base + offset; - n_entity_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity_id); - - field_name = "region_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_founding, field_name)); - auto n_region_id = new NodeSimple; - n_region_id->m_field_name = field_name; - n_region_id->m_df_type = DF_Type::int32_t; - n_region_id->m_rdf_type = RDF_Type::int32_t; - n_region_id->m_node_type = NodeType::Simple; - n_region_id->m_address = base + offset; - n_region_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region_id); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_founding, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_founding, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - -} -void node_from_entity_event__T_data__T_leave(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "entity_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_leave, field_name)); - auto n_entity_id = new NodeSimple; - n_entity_id->m_field_name = field_name; - n_entity_id->m_df_type = DF_Type::int32_t; - n_entity_id->m_rdf_type = RDF_Type::int32_t; - n_entity_id->m_node_type = NodeType::Simple; - n_entity_id->m_address = base + offset; - n_entity_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity_id); - - field_name = "site_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_leave, field_name)); - auto n_site_id = new NodeSimple; - n_site_id->m_field_name = field_name; - n_site_id->m_df_type = DF_Type::int32_t; - n_site_id->m_rdf_type = RDF_Type::int32_t; - n_site_id->m_node_type = NodeType::Simple; - n_site_id->m_address = base + offset; - n_site_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_id); - -} -void node_from_entity_event__T_data__T_insurrection(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "site_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_insurrection, field_name)); - auto n_site_id = new NodeSimple; - n_site_id->m_field_name = field_name; - n_site_id->m_df_type = DF_Type::int32_t; - n_site_id->m_rdf_type = RDF_Type::int32_t; - n_site_id->m_node_type = NodeType::Simple; - n_site_id->m_address = base + offset; - n_site_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_id); - - field_name = "entity_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_insurrection, field_name)); - auto n_entity_id = new NodeSimple; - n_entity_id->m_field_name = field_name; - n_entity_id->m_df_type = DF_Type::int32_t; - n_entity_id->m_rdf_type = RDF_Type::int32_t; - n_entity_id->m_node_type = NodeType::Simple; - n_entity_id->m_address = base + offset; - n_entity_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity_id); - -} -void node_from_entity_event__T_data__T_insurrection_end(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "site_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_insurrection_end, field_name)); - auto n_site_id = new NodeSimple; - n_site_id->m_field_name = field_name; - n_site_id->m_df_type = DF_Type::int32_t; - n_site_id->m_rdf_type = RDF_Type::int32_t; - n_site_id->m_node_type = NodeType::Simple; - n_site_id->m_address = base + offset; - n_site_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_id); - - field_name = "entity_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_insurrection_end, field_name)); - auto n_entity_id = new NodeSimple; - n_entity_id->m_field_name = field_name; - n_entity_id->m_df_type = DF_Type::int32_t; - n_entity_id->m_rdf_type = RDF_Type::int32_t; - n_entity_id->m_node_type = NodeType::Simple; - n_entity_id->m_address = base + offset; - n_entity_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity_id); - - field_name = "result"; - auto n_result = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_insurrection_end, field_name)); - n_result->m_field_name = field_name; - n_result->m_df_type = DF_Type::entity_event__T_data__T_insurrection_end__T_result; - n_result->m_rdf_type = RDF_Type::Enum; - n_result->m_node_type = NodeType::Enum; - n_result->m_base_type = enum_base_type(n_result->m_df_type); - n_result->m_enum_type = "entity_event::T_data::T_insurrection_end::T_result"; - n_result->m_address = base + offset; - n_result->m_first_value = 0; - n_result->m_last_value = 2; - n_result->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_result); - -} -void node_from_entity_event__T_data__T_succession(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "histfig_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_succession, field_name)); - auto n_histfig_id = new NodeSimple; - n_histfig_id->m_field_name = field_name; - n_histfig_id->m_df_type = DF_Type::int32_t; - n_histfig_id->m_rdf_type = RDF_Type::int32_t; - n_histfig_id->m_node_type = NodeType::Simple; - n_histfig_id->m_address = base + offset; - n_histfig_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig_id); - - field_name = "former_histfig_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_succession, field_name)); - auto n_former_histfig_id = new NodeSimple; - n_former_histfig_id->m_field_name = field_name; - n_former_histfig_id->m_df_type = DF_Type::int32_t; - n_former_histfig_id->m_rdf_type = RDF_Type::int32_t; - n_former_histfig_id->m_node_type = NodeType::Simple; - n_former_histfig_id->m_address = base + offset; - n_former_histfig_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_former_histfig_id); - - field_name = "entity_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_succession, field_name)); - auto n_entity_id = new NodeSimple; - n_entity_id->m_field_name = field_name; - n_entity_id->m_df_type = DF_Type::int32_t; - n_entity_id->m_rdf_type = RDF_Type::int32_t; - n_entity_id->m_node_type = NodeType::Simple; - n_entity_id->m_address = base + offset; - n_entity_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity_id); - - field_name = "position_assignment_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_succession, field_name)); - auto n_position_assignment_id = new NodeSimple; - n_position_assignment_id->m_field_name = field_name; - n_position_assignment_id->m_df_type = DF_Type::int32_t; - n_position_assignment_id->m_rdf_type = RDF_Type::int32_t; - n_position_assignment_id->m_node_type = NodeType::Simple; - n_position_assignment_id->m_address = base + offset; - n_position_assignment_id->m_refers_to = "$(find-entity $$._parent.entity_id).positions.assignments[$]"; - n_position_assignment_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_position_assignment_id); - -} -void node_from_entity_event__T_data__T_claim(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "entity_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_claim, field_name)); - auto n_entity_id = new NodeSimple; - n_entity_id->m_field_name = field_name; - n_entity_id->m_df_type = DF_Type::int32_t; - n_entity_id->m_rdf_type = RDF_Type::int32_t; - n_entity_id->m_node_type = NodeType::Simple; - n_entity_id->m_address = base + offset; - n_entity_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity_id); - - field_name = "site_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_claim, field_name)); - auto n_site_id = new NodeSimple; - n_site_id->m_field_name = field_name; - n_site_id->m_df_type = DF_Type::int32_t; - n_site_id->m_rdf_type = RDF_Type::int32_t; - n_site_id->m_node_type = NodeType::Simple; - n_site_id->m_address = base + offset; - n_site_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_id); - - field_name = "histfig_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_claim, field_name)); - auto n_histfig_id = new NodeSimple; - n_histfig_id->m_field_name = field_name; - n_histfig_id->m_df_type = DF_Type::int32_t; - n_histfig_id->m_rdf_type = RDF_Type::int32_t; - n_histfig_id->m_node_type = NodeType::Simple; - n_histfig_id->m_address = base + offset; - n_histfig_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig_id); - -} -void node_from_entity_event__T_data__T_accept_tribute_offer(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "entity1_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_accept_tribute_offer, field_name)); - auto n_entity1_id = new NodeSimple; - n_entity1_id->m_field_name = field_name; - n_entity1_id->m_df_type = DF_Type::int32_t; - n_entity1_id->m_rdf_type = RDF_Type::int32_t; - n_entity1_id->m_node_type = NodeType::Simple; - n_entity1_id->m_address = base + offset; - n_entity1_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity1_id); - - field_name = "histfig1_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_accept_tribute_offer, field_name)); - auto n_histfig1_id = new NodeSimple; - n_histfig1_id->m_field_name = field_name; - n_histfig1_id->m_df_type = DF_Type::int32_t; - n_histfig1_id->m_rdf_type = RDF_Type::int32_t; - n_histfig1_id->m_node_type = NodeType::Simple; - n_histfig1_id->m_address = base + offset; - n_histfig1_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig1_id); - - field_name = "entity2_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_accept_tribute_offer, field_name)); - auto n_entity2_id = new NodeSimple; - n_entity2_id->m_field_name = field_name; - n_entity2_id->m_df_type = DF_Type::int32_t; - n_entity2_id->m_rdf_type = RDF_Type::int32_t; - n_entity2_id->m_node_type = NodeType::Simple; - n_entity2_id->m_address = base + offset; - n_entity2_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity2_id); - - field_name = "histfig2_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_accept_tribute_offer, field_name)); - auto n_histfig2_id = new NodeSimple; - n_histfig2_id->m_field_name = field_name; - n_histfig2_id->m_df_type = DF_Type::int32_t; - n_histfig2_id->m_rdf_type = RDF_Type::int32_t; - n_histfig2_id->m_node_type = NodeType::Simple; - n_histfig2_id->m_address = base + offset; - n_histfig2_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig2_id); - -} -void node_from_entity_event__T_data__T_refuse_tribute_offer(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "entity1_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_refuse_tribute_offer, field_name)); - auto n_entity1_id = new NodeSimple; - n_entity1_id->m_field_name = field_name; - n_entity1_id->m_df_type = DF_Type::int32_t; - n_entity1_id->m_rdf_type = RDF_Type::int32_t; - n_entity1_id->m_node_type = NodeType::Simple; - n_entity1_id->m_address = base + offset; - n_entity1_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity1_id); - - field_name = "histfig1_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_refuse_tribute_offer, field_name)); - auto n_histfig1_id = new NodeSimple; - n_histfig1_id->m_field_name = field_name; - n_histfig1_id->m_df_type = DF_Type::int32_t; - n_histfig1_id->m_rdf_type = RDF_Type::int32_t; - n_histfig1_id->m_node_type = NodeType::Simple; - n_histfig1_id->m_address = base + offset; - n_histfig1_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig1_id); - - field_name = "entity2_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_refuse_tribute_offer, field_name)); - auto n_entity2_id = new NodeSimple; - n_entity2_id->m_field_name = field_name; - n_entity2_id->m_df_type = DF_Type::int32_t; - n_entity2_id->m_rdf_type = RDF_Type::int32_t; - n_entity2_id->m_node_type = NodeType::Simple; - n_entity2_id->m_address = base + offset; - n_entity2_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity2_id); - - field_name = "histfig2_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_refuse_tribute_offer, field_name)); - auto n_histfig2_id = new NodeSimple; - n_histfig2_id->m_field_name = field_name; - n_histfig2_id->m_df_type = DF_Type::int32_t; - n_histfig2_id->m_rdf_type = RDF_Type::int32_t; - n_histfig2_id->m_node_type = NodeType::Simple; - n_histfig2_id->m_address = base + offset; - n_histfig2_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig2_id); - -} -void node_from_entity_event__T_data__T_accept_tribute_demand(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "entity1_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_accept_tribute_demand, field_name)); - auto n_entity1_id = new NodeSimple; - n_entity1_id->m_field_name = field_name; - n_entity1_id->m_df_type = DF_Type::int32_t; - n_entity1_id->m_rdf_type = RDF_Type::int32_t; - n_entity1_id->m_node_type = NodeType::Simple; - n_entity1_id->m_address = base + offset; - n_entity1_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity1_id); - - field_name = "histfig1_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_accept_tribute_demand, field_name)); - auto n_histfig1_id = new NodeSimple; - n_histfig1_id->m_field_name = field_name; - n_histfig1_id->m_df_type = DF_Type::int32_t; - n_histfig1_id->m_rdf_type = RDF_Type::int32_t; - n_histfig1_id->m_node_type = NodeType::Simple; - n_histfig1_id->m_address = base + offset; - n_histfig1_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig1_id); - - field_name = "entity2_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_accept_tribute_demand, field_name)); - auto n_entity2_id = new NodeSimple; - n_entity2_id->m_field_name = field_name; - n_entity2_id->m_df_type = DF_Type::int32_t; - n_entity2_id->m_rdf_type = RDF_Type::int32_t; - n_entity2_id->m_node_type = NodeType::Simple; - n_entity2_id->m_address = base + offset; - n_entity2_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity2_id); - - field_name = "histfig2_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_accept_tribute_demand, field_name)); - auto n_histfig2_id = new NodeSimple; - n_histfig2_id->m_field_name = field_name; - n_histfig2_id->m_df_type = DF_Type::int32_t; - n_histfig2_id->m_rdf_type = RDF_Type::int32_t; - n_histfig2_id->m_node_type = NodeType::Simple; - n_histfig2_id->m_address = base + offset; - n_histfig2_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig2_id); - -} -void node_from_entity_event__T_data__T_refuse_tribute_demand(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "entity1_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_refuse_tribute_demand, field_name)); - auto n_entity1_id = new NodeSimple; - n_entity1_id->m_field_name = field_name; - n_entity1_id->m_df_type = DF_Type::int32_t; - n_entity1_id->m_rdf_type = RDF_Type::int32_t; - n_entity1_id->m_node_type = NodeType::Simple; - n_entity1_id->m_address = base + offset; - n_entity1_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity1_id); - - field_name = "histfig1_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_refuse_tribute_demand, field_name)); - auto n_histfig1_id = new NodeSimple; - n_histfig1_id->m_field_name = field_name; - n_histfig1_id->m_df_type = DF_Type::int32_t; - n_histfig1_id->m_rdf_type = RDF_Type::int32_t; - n_histfig1_id->m_node_type = NodeType::Simple; - n_histfig1_id->m_address = base + offset; - n_histfig1_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig1_id); - - field_name = "entity2_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_refuse_tribute_demand, field_name)); - auto n_entity2_id = new NodeSimple; - n_entity2_id->m_field_name = field_name; - n_entity2_id->m_df_type = DF_Type::int32_t; - n_entity2_id->m_rdf_type = RDF_Type::int32_t; - n_entity2_id->m_node_type = NodeType::Simple; - n_entity2_id->m_address = base + offset; - n_entity2_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity2_id); - - field_name = "histfig2_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_refuse_tribute_demand, field_name)); - auto n_histfig2_id = new NodeSimple; - n_histfig2_id->m_field_name = field_name; - n_histfig2_id->m_df_type = DF_Type::int32_t; - n_histfig2_id->m_rdf_type = RDF_Type::int32_t; - n_histfig2_id->m_node_type = NodeType::Simple; - n_histfig2_id->m_address = base + offset; - n_histfig2_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig2_id); - -} -void node_from_entity_event__T_data__T_accept_peace_offer(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "entity1_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_accept_peace_offer, field_name)); - auto n_entity1_id = new NodeSimple; - n_entity1_id->m_field_name = field_name; - n_entity1_id->m_df_type = DF_Type::int32_t; - n_entity1_id->m_rdf_type = RDF_Type::int32_t; - n_entity1_id->m_node_type = NodeType::Simple; - n_entity1_id->m_address = base + offset; - n_entity1_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity1_id); - - field_name = "histfig1_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_accept_peace_offer, field_name)); - auto n_histfig1_id = new NodeSimple; - n_histfig1_id->m_field_name = field_name; - n_histfig1_id->m_df_type = DF_Type::int32_t; - n_histfig1_id->m_rdf_type = RDF_Type::int32_t; - n_histfig1_id->m_node_type = NodeType::Simple; - n_histfig1_id->m_address = base + offset; - n_histfig1_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig1_id); - - field_name = "entity2_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_accept_peace_offer, field_name)); - auto n_entity2_id = new NodeSimple; - n_entity2_id->m_field_name = field_name; - n_entity2_id->m_df_type = DF_Type::int32_t; - n_entity2_id->m_rdf_type = RDF_Type::int32_t; - n_entity2_id->m_node_type = NodeType::Simple; - n_entity2_id->m_address = base + offset; - n_entity2_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity2_id); - - field_name = "histfig2_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_accept_peace_offer, field_name)); - auto n_histfig2_id = new NodeSimple; - n_histfig2_id->m_field_name = field_name; - n_histfig2_id->m_df_type = DF_Type::int32_t; - n_histfig2_id->m_rdf_type = RDF_Type::int32_t; - n_histfig2_id->m_node_type = NodeType::Simple; - n_histfig2_id->m_address = base + offset; - n_histfig2_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig2_id); - -} -void node_from_entity_event__T_data__T_refuse_peace_offer(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "entity1_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_refuse_peace_offer, field_name)); - auto n_entity1_id = new NodeSimple; - n_entity1_id->m_field_name = field_name; - n_entity1_id->m_df_type = DF_Type::int32_t; - n_entity1_id->m_rdf_type = RDF_Type::int32_t; - n_entity1_id->m_node_type = NodeType::Simple; - n_entity1_id->m_address = base + offset; - n_entity1_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity1_id); - - field_name = "histfig1_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_refuse_peace_offer, field_name)); - auto n_histfig1_id = new NodeSimple; - n_histfig1_id->m_field_name = field_name; - n_histfig1_id->m_df_type = DF_Type::int32_t; - n_histfig1_id->m_rdf_type = RDF_Type::int32_t; - n_histfig1_id->m_node_type = NodeType::Simple; - n_histfig1_id->m_address = base + offset; - n_histfig1_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig1_id); - - field_name = "entity2_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_refuse_peace_offer, field_name)); - auto n_entity2_id = new NodeSimple; - n_entity2_id->m_field_name = field_name; - n_entity2_id->m_df_type = DF_Type::int32_t; - n_entity2_id->m_rdf_type = RDF_Type::int32_t; - n_entity2_id->m_node_type = NodeType::Simple; - n_entity2_id->m_address = base + offset; - n_entity2_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity2_id); - - field_name = "histfig2_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_refuse_peace_offer, field_name)); - auto n_histfig2_id = new NodeSimple; - n_histfig2_id->m_field_name = field_name; - n_histfig2_id->m_df_type = DF_Type::int32_t; - n_histfig2_id->m_rdf_type = RDF_Type::int32_t; - n_histfig2_id->m_node_type = NodeType::Simple; - n_histfig2_id->m_address = base + offset; - n_histfig2_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig2_id); - -} -void node_from_entity_event__T_data__T_cease_tribute_offer(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "entity1_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_cease_tribute_offer, field_name)); - auto n_entity1_id = new NodeSimple; - n_entity1_id->m_field_name = field_name; - n_entity1_id->m_df_type = DF_Type::int32_t; - n_entity1_id->m_rdf_type = RDF_Type::int32_t; - n_entity1_id->m_node_type = NodeType::Simple; - n_entity1_id->m_address = base + offset; - n_entity1_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity1_id); - - field_name = "histfig1_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_cease_tribute_offer, field_name)); - auto n_histfig1_id = new NodeSimple; - n_histfig1_id->m_field_name = field_name; - n_histfig1_id->m_df_type = DF_Type::int32_t; - n_histfig1_id->m_rdf_type = RDF_Type::int32_t; - n_histfig1_id->m_node_type = NodeType::Simple; - n_histfig1_id->m_address = base + offset; - n_histfig1_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig1_id); - - field_name = "entity2_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_cease_tribute_offer, field_name)); - auto n_entity2_id = new NodeSimple; - n_entity2_id->m_field_name = field_name; - n_entity2_id->m_df_type = DF_Type::int32_t; - n_entity2_id->m_rdf_type = RDF_Type::int32_t; - n_entity2_id->m_node_type = NodeType::Simple; - n_entity2_id->m_address = base + offset; - n_entity2_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity2_id); - - field_name = "histfig2_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_cease_tribute_offer, field_name)); - auto n_histfig2_id = new NodeSimple; - n_histfig2_id->m_field_name = field_name; - n_histfig2_id->m_df_type = DF_Type::int32_t; - n_histfig2_id->m_rdf_type = RDF_Type::int32_t; - n_histfig2_id->m_node_type = NodeType::Simple; - n_histfig2_id->m_address = base + offset; - n_histfig2_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig2_id); - -} -void node_from_entity_event__T_data__T_artifact_in_site(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "artifact_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_in_site, field_name)); - auto n_artifact_id = new NodeSimple; - n_artifact_id->m_field_name = field_name; - n_artifact_id->m_df_type = DF_Type::int32_t; - n_artifact_id->m_rdf_type = RDF_Type::int32_t; - n_artifact_id->m_node_type = NodeType::Simple; - n_artifact_id->m_address = base + offset; - n_artifact_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_artifact_id); - - field_name = "site_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_in_site, field_name)); - auto n_site_id = new NodeSimple; - n_site_id->m_field_name = field_name; - n_site_id->m_df_type = DF_Type::int32_t; - n_site_id->m_rdf_type = RDF_Type::int32_t; - n_site_id->m_node_type = NodeType::Simple; - n_site_id->m_address = base + offset; - n_site_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_id); - - field_name = "structure_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_in_site, field_name)); - auto n_structure_id = new NodeSimple; - n_structure_id->m_field_name = field_name; - n_structure_id->m_df_type = DF_Type::int32_t; - n_structure_id->m_rdf_type = RDF_Type::int32_t; - n_structure_id->m_node_type = NodeType::Simple; - n_structure_id->m_address = base + offset; - n_structure_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_structure_id); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_in_site, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_entity_event__T_data__T_artifact_in_subregion(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "artifact_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_in_subregion, field_name)); - auto n_artifact_id = new NodeSimple; - n_artifact_id->m_field_name = field_name; - n_artifact_id->m_df_type = DF_Type::int32_t; - n_artifact_id->m_rdf_type = RDF_Type::int32_t; - n_artifact_id->m_node_type = NodeType::Simple; - n_artifact_id->m_address = base + offset; - n_artifact_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_artifact_id); - - field_name = "subregion_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_in_subregion, field_name)); - auto n_subregion_id = new NodeSimple; - n_subregion_id->m_field_name = field_name; - n_subregion_id->m_df_type = DF_Type::int32_t; - n_subregion_id->m_rdf_type = RDF_Type::int32_t; - n_subregion_id->m_node_type = NodeType::Simple; - n_subregion_id->m_address = base + offset; - n_subregion_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_subregion_id); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_in_subregion, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_in_subregion, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - -} -void node_from_entity_event__T_data__T_artifact_in_feature_layer(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "artifact_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_in_feature_layer, field_name)); - auto n_artifact_id = new NodeSimple; - n_artifact_id->m_field_name = field_name; - n_artifact_id->m_df_type = DF_Type::int32_t; - n_artifact_id->m_rdf_type = RDF_Type::int32_t; - n_artifact_id->m_node_type = NodeType::Simple; - n_artifact_id->m_address = base + offset; - n_artifact_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_artifact_id); - - field_name = "feature_layer_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_in_feature_layer, field_name)); - auto n_feature_layer_id = new NodeSimple; - n_feature_layer_id->m_field_name = field_name; - n_feature_layer_id->m_df_type = DF_Type::int32_t; - n_feature_layer_id->m_rdf_type = RDF_Type::int32_t; - n_feature_layer_id->m_node_type = NodeType::Simple; - n_feature_layer_id->m_address = base + offset; - n_feature_layer_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_feature_layer_id); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_in_feature_layer, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_in_feature_layer, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - -} -void node_from_entity_event__T_data__T_artifact_in_inventory(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "artifact_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_in_inventory, field_name)); - auto n_artifact_id = new NodeSimple; - n_artifact_id->m_field_name = field_name; - n_artifact_id->m_df_type = DF_Type::int32_t; - n_artifact_id->m_rdf_type = RDF_Type::int32_t; - n_artifact_id->m_node_type = NodeType::Simple; - n_artifact_id->m_address = base + offset; - n_artifact_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_artifact_id); - - field_name = "hist_figure_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_in_inventory, field_name)); - auto n_hist_figure_id = new NodeSimple; - n_hist_figure_id->m_field_name = field_name; - n_hist_figure_id->m_df_type = DF_Type::int32_t; - n_hist_figure_id->m_rdf_type = RDF_Type::int32_t; - n_hist_figure_id->m_node_type = NodeType::Simple; - n_hist_figure_id->m_address = base + offset; - n_hist_figure_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_hist_figure_id); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_in_inventory, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_in_inventory, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - -} -void node_from_entity_event__T_data__T_artifact_not_in_site(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "artifact_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_not_in_site, field_name)); - auto n_artifact_id = new NodeSimple; - n_artifact_id->m_field_name = field_name; - n_artifact_id->m_df_type = DF_Type::int32_t; - n_artifact_id->m_rdf_type = RDF_Type::int32_t; - n_artifact_id->m_node_type = NodeType::Simple; - n_artifact_id->m_address = base + offset; - n_artifact_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_artifact_id); - - field_name = "site_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_not_in_site, field_name)); - auto n_site_id = new NodeSimple; - n_site_id->m_field_name = field_name; - n_site_id->m_df_type = DF_Type::int32_t; - n_site_id->m_rdf_type = RDF_Type::int32_t; - n_site_id->m_node_type = NodeType::Simple; - n_site_id->m_address = base + offset; - n_site_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_id); - - field_name = "structure_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_not_in_site, field_name)); - auto n_structure_id = new NodeSimple; - n_structure_id->m_field_name = field_name; - n_structure_id->m_df_type = DF_Type::int32_t; - n_structure_id->m_rdf_type = RDF_Type::int32_t; - n_structure_id->m_node_type = NodeType::Simple; - n_structure_id->m_address = base + offset; - n_structure_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_structure_id); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_not_in_site, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_entity_event__T_data__T_artifact_not_in_subregion(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "artifact_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_not_in_subregion, field_name)); - auto n_artifact_id = new NodeSimple; - n_artifact_id->m_field_name = field_name; - n_artifact_id->m_df_type = DF_Type::int32_t; - n_artifact_id->m_rdf_type = RDF_Type::int32_t; - n_artifact_id->m_node_type = NodeType::Simple; - n_artifact_id->m_address = base + offset; - n_artifact_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_artifact_id); - - field_name = "subregion_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_not_in_subregion, field_name)); - auto n_subregion_id = new NodeSimple; - n_subregion_id->m_field_name = field_name; - n_subregion_id->m_df_type = DF_Type::int32_t; - n_subregion_id->m_rdf_type = RDF_Type::int32_t; - n_subregion_id->m_node_type = NodeType::Simple; - n_subregion_id->m_address = base + offset; - n_subregion_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_subregion_id); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_not_in_subregion, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_not_in_subregion, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - -} -void node_from_entity_event__T_data__T_artifact_not_in_feature_layer(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "artifact_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_not_in_feature_layer, field_name)); - auto n_artifact_id = new NodeSimple; - n_artifact_id->m_field_name = field_name; - n_artifact_id->m_df_type = DF_Type::int32_t; - n_artifact_id->m_rdf_type = RDF_Type::int32_t; - n_artifact_id->m_node_type = NodeType::Simple; - n_artifact_id->m_address = base + offset; - n_artifact_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_artifact_id); - - field_name = "feature_layer_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_not_in_feature_layer, field_name)); - auto n_feature_layer_id = new NodeSimple; - n_feature_layer_id->m_field_name = field_name; - n_feature_layer_id->m_df_type = DF_Type::int32_t; - n_feature_layer_id->m_rdf_type = RDF_Type::int32_t; - n_feature_layer_id->m_node_type = NodeType::Simple; - n_feature_layer_id->m_address = base + offset; - n_feature_layer_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_feature_layer_id); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_not_in_feature_layer, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_not_in_feature_layer, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - -} -void node_from_entity_event__T_data__T_artifact_not_in_inventory(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "artifact_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_not_in_inventory, field_name)); - auto n_artifact_id = new NodeSimple; - n_artifact_id->m_field_name = field_name; - n_artifact_id->m_df_type = DF_Type::int32_t; - n_artifact_id->m_rdf_type = RDF_Type::int32_t; - n_artifact_id->m_node_type = NodeType::Simple; - n_artifact_id->m_address = base + offset; - n_artifact_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_artifact_id); - - field_name = "hist_figure_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_not_in_inventory, field_name)); - auto n_hist_figure_id = new NodeSimple; - n_hist_figure_id->m_field_name = field_name; - n_hist_figure_id->m_df_type = DF_Type::int32_t; - n_hist_figure_id->m_rdf_type = RDF_Type::int32_t; - n_hist_figure_id->m_node_type = NodeType::Simple; - n_hist_figure_id->m_address = base + offset; - n_hist_figure_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_hist_figure_id); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_not_in_inventory, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_not_in_inventory, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - -} -void node_from_entity_event__T_data__T_artifact_destroyed(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "artifact_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_destroyed, field_name)); - auto n_artifact_id = new NodeSimple; - n_artifact_id->m_field_name = field_name; - n_artifact_id->m_df_type = DF_Type::int32_t; - n_artifact_id->m_rdf_type = RDF_Type::int32_t; - n_artifact_id->m_node_type = NodeType::Simple; - n_artifact_id->m_address = base + offset; - n_artifact_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_artifact_id); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_destroyed, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_destroyed, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_destroyed, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - -} -void node_from_entity_event__T_data(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = true) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "invasion"; - auto n_invasion = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); - n_invasion->m_field_name = field_name; - n_invasion->m_df_type = DF_Type::entity_event__T_data__T_invasion; - n_invasion->m_rdf_type = RDF_Type::Compound; - n_invasion->m_node_type = NodeType::Compound; - n_invasion->m_address = base + offset; - n_invasion->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_invasion); - - field_name = "abduction"; - auto n_abduction = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); - n_abduction->m_field_name = field_name; - n_abduction->m_df_type = DF_Type::entity_event__T_data__T_abduction; - n_abduction->m_rdf_type = RDF_Type::Compound; - n_abduction->m_node_type = NodeType::Compound; - n_abduction->m_address = base + offset; - n_abduction->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_abduction); - - field_name = "incident"; - auto n_incident = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); - n_incident->m_field_name = field_name; - n_incident->m_df_type = DF_Type::entity_event__T_data__T_incident; - n_incident->m_rdf_type = RDF_Type::Compound; - n_incident->m_node_type = NodeType::Compound; - n_incident->m_address = base + offset; - n_incident->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_incident); - - field_name = "occupation"; - auto n_occupation = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); - n_occupation->m_field_name = field_name; - n_occupation->m_df_type = DF_Type::entity_event__T_data__T_occupation; - n_occupation->m_rdf_type = RDF_Type::Compound; - n_occupation->m_node_type = NodeType::Compound; - n_occupation->m_address = base + offset; - n_occupation->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_occupation); - - field_name = "beast"; - auto n_beast = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); - n_beast->m_field_name = field_name; - n_beast->m_df_type = DF_Type::entity_event__T_data__T_beast; - n_beast->m_rdf_type = RDF_Type::Compound; - n_beast->m_node_type = NodeType::Compound; - n_beast->m_address = base + offset; - n_beast->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_beast); - - field_name = "group"; - auto n_group = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); - n_group->m_field_name = field_name; - n_group->m_df_type = DF_Type::entity_event__T_data__T_group; - n_group->m_rdf_type = RDF_Type::Compound; - n_group->m_node_type = NodeType::Compound; - n_group->m_address = base + offset; - n_group->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_group); - - field_name = "harass"; - auto n_harass = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); - n_harass->m_field_name = field_name; - n_harass->m_df_type = DF_Type::entity_event__T_data__T_harass; - n_harass->m_rdf_type = RDF_Type::Compound; - n_harass->m_node_type = NodeType::Compound; - n_harass->m_address = base + offset; - n_harass->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_harass); - - field_name = "flee"; - auto n_flee = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); - n_flee->m_field_name = field_name; - n_flee->m_df_type = DF_Type::entity_event__T_data__T_flee; - n_flee->m_rdf_type = RDF_Type::Compound; - n_flee->m_node_type = NodeType::Compound; - n_flee->m_address = base + offset; - n_flee->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flee); - - field_name = "abandon"; - auto n_abandon = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); - n_abandon->m_field_name = field_name; - n_abandon->m_df_type = DF_Type::entity_event__T_data__T_abandon; - n_abandon->m_rdf_type = RDF_Type::Compound; - n_abandon->m_node_type = NodeType::Compound; - n_abandon->m_address = base + offset; - n_abandon->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_abandon); - - field_name = "reclaimed"; - auto n_reclaimed = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); - n_reclaimed->m_field_name = field_name; - n_reclaimed->m_df_type = DF_Type::entity_event__T_data__T_reclaimed; - n_reclaimed->m_rdf_type = RDF_Type::Compound; - n_reclaimed->m_node_type = NodeType::Compound; - n_reclaimed->m_address = base + offset; - n_reclaimed->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_reclaimed); - - field_name = "founded"; - auto n_founded = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); - n_founded->m_field_name = field_name; - n_founded->m_df_type = DF_Type::entity_event__T_data__T_founded; - n_founded->m_rdf_type = RDF_Type::Compound; - n_founded->m_node_type = NodeType::Compound; - n_founded->m_address = base + offset; - n_founded->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_founded); - - field_name = "reclaiming"; - auto n_reclaiming = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); - n_reclaiming->m_field_name = field_name; - n_reclaiming->m_df_type = DF_Type::entity_event__T_data__T_reclaiming; - n_reclaiming->m_rdf_type = RDF_Type::Compound; - n_reclaiming->m_node_type = NodeType::Compound; - n_reclaiming->m_address = base + offset; - n_reclaiming->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_reclaiming); - - field_name = "founding"; - auto n_founding = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); - n_founding->m_field_name = field_name; - n_founding->m_df_type = DF_Type::entity_event__T_data__T_founding; - n_founding->m_rdf_type = RDF_Type::Compound; - n_founding->m_node_type = NodeType::Compound; - n_founding->m_address = base + offset; - n_founding->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_founding); - - field_name = "leave"; - auto n_leave = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); - n_leave->m_field_name = field_name; - n_leave->m_df_type = DF_Type::entity_event__T_data__T_leave; - n_leave->m_rdf_type = RDF_Type::Compound; - n_leave->m_node_type = NodeType::Compound; - n_leave->m_address = base + offset; - n_leave->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_leave); - - field_name = "insurrection"; - auto n_insurrection = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); - n_insurrection->m_field_name = field_name; - n_insurrection->m_df_type = DF_Type::entity_event__T_data__T_insurrection; - n_insurrection->m_rdf_type = RDF_Type::Compound; - n_insurrection->m_node_type = NodeType::Compound; - n_insurrection->m_address = base + offset; - n_insurrection->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_insurrection); - - field_name = "insurrection_end"; - auto n_insurrection_end = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); - n_insurrection_end->m_field_name = field_name; - n_insurrection_end->m_df_type = DF_Type::entity_event__T_data__T_insurrection_end; - n_insurrection_end->m_rdf_type = RDF_Type::Compound; - n_insurrection_end->m_node_type = NodeType::Compound; - n_insurrection_end->m_address = base + offset; - n_insurrection_end->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_insurrection_end); - - field_name = "succession"; - auto n_succession = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); - n_succession->m_field_name = field_name; - n_succession->m_df_type = DF_Type::entity_event__T_data__T_succession; - n_succession->m_rdf_type = RDF_Type::Compound; - n_succession->m_node_type = NodeType::Compound; - n_succession->m_address = base + offset; - n_succession->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_succession); - - field_name = "claim"; - auto n_claim = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); - n_claim->m_field_name = field_name; - n_claim->m_df_type = DF_Type::entity_event__T_data__T_claim; - n_claim->m_rdf_type = RDF_Type::Compound; - n_claim->m_node_type = NodeType::Compound; - n_claim->m_address = base + offset; - n_claim->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_claim); - - field_name = "accept_tribute_offer"; - auto n_accept_tribute_offer = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); - n_accept_tribute_offer->m_field_name = field_name; - n_accept_tribute_offer->m_df_type = DF_Type::entity_event__T_data__T_accept_tribute_offer; - n_accept_tribute_offer->m_rdf_type = RDF_Type::Compound; - n_accept_tribute_offer->m_node_type = NodeType::Compound; - n_accept_tribute_offer->m_address = base + offset; - n_accept_tribute_offer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_accept_tribute_offer); - - field_name = "refuse_tribute_offer"; - auto n_refuse_tribute_offer = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); - n_refuse_tribute_offer->m_field_name = field_name; - n_refuse_tribute_offer->m_df_type = DF_Type::entity_event__T_data__T_refuse_tribute_offer; - n_refuse_tribute_offer->m_rdf_type = RDF_Type::Compound; - n_refuse_tribute_offer->m_node_type = NodeType::Compound; - n_refuse_tribute_offer->m_address = base + offset; - n_refuse_tribute_offer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_refuse_tribute_offer); - - field_name = "accept_tribute_demand"; - auto n_accept_tribute_demand = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); - n_accept_tribute_demand->m_field_name = field_name; - n_accept_tribute_demand->m_df_type = DF_Type::entity_event__T_data__T_accept_tribute_demand; - n_accept_tribute_demand->m_rdf_type = RDF_Type::Compound; - n_accept_tribute_demand->m_node_type = NodeType::Compound; - n_accept_tribute_demand->m_address = base + offset; - n_accept_tribute_demand->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_accept_tribute_demand); - - field_name = "refuse_tribute_demand"; - auto n_refuse_tribute_demand = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); - n_refuse_tribute_demand->m_field_name = field_name; - n_refuse_tribute_demand->m_df_type = DF_Type::entity_event__T_data__T_refuse_tribute_demand; - n_refuse_tribute_demand->m_rdf_type = RDF_Type::Compound; - n_refuse_tribute_demand->m_node_type = NodeType::Compound; - n_refuse_tribute_demand->m_address = base + offset; - n_refuse_tribute_demand->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_refuse_tribute_demand); - - field_name = "accept_peace_offer"; - auto n_accept_peace_offer = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); - n_accept_peace_offer->m_field_name = field_name; - n_accept_peace_offer->m_df_type = DF_Type::entity_event__T_data__T_accept_peace_offer; - n_accept_peace_offer->m_rdf_type = RDF_Type::Compound; - n_accept_peace_offer->m_node_type = NodeType::Compound; - n_accept_peace_offer->m_address = base + offset; - n_accept_peace_offer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_accept_peace_offer); - - field_name = "refuse_peace_offer"; - auto n_refuse_peace_offer = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); - n_refuse_peace_offer->m_field_name = field_name; - n_refuse_peace_offer->m_df_type = DF_Type::entity_event__T_data__T_refuse_peace_offer; - n_refuse_peace_offer->m_rdf_type = RDF_Type::Compound; - n_refuse_peace_offer->m_node_type = NodeType::Compound; - n_refuse_peace_offer->m_address = base + offset; - n_refuse_peace_offer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_refuse_peace_offer); - - field_name = "cease_tribute_offer"; - auto n_cease_tribute_offer = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); - n_cease_tribute_offer->m_field_name = field_name; - n_cease_tribute_offer->m_df_type = DF_Type::entity_event__T_data__T_cease_tribute_offer; - n_cease_tribute_offer->m_rdf_type = RDF_Type::Compound; - n_cease_tribute_offer->m_node_type = NodeType::Compound; - n_cease_tribute_offer->m_address = base + offset; - n_cease_tribute_offer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cease_tribute_offer); - - field_name = "artifact_in_site"; - auto n_artifact_in_site = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); - n_artifact_in_site->m_field_name = field_name; - n_artifact_in_site->m_df_type = DF_Type::entity_event__T_data__T_artifact_in_site; - n_artifact_in_site->m_rdf_type = RDF_Type::Compound; - n_artifact_in_site->m_node_type = NodeType::Compound; - n_artifact_in_site->m_address = base + offset; - n_artifact_in_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_artifact_in_site); - - field_name = "artifact_in_subregion"; - auto n_artifact_in_subregion = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); - n_artifact_in_subregion->m_field_name = field_name; - n_artifact_in_subregion->m_df_type = DF_Type::entity_event__T_data__T_artifact_in_subregion; - n_artifact_in_subregion->m_rdf_type = RDF_Type::Compound; - n_artifact_in_subregion->m_node_type = NodeType::Compound; - n_artifact_in_subregion->m_address = base + offset; - n_artifact_in_subregion->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_artifact_in_subregion); - - field_name = "artifact_in_feature_layer"; - auto n_artifact_in_feature_layer = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); - n_artifact_in_feature_layer->m_field_name = field_name; - n_artifact_in_feature_layer->m_df_type = DF_Type::entity_event__T_data__T_artifact_in_feature_layer; - n_artifact_in_feature_layer->m_rdf_type = RDF_Type::Compound; - n_artifact_in_feature_layer->m_node_type = NodeType::Compound; - n_artifact_in_feature_layer->m_address = base + offset; - n_artifact_in_feature_layer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_artifact_in_feature_layer); - - field_name = "artifact_in_inventory"; - auto n_artifact_in_inventory = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); - n_artifact_in_inventory->m_field_name = field_name; - n_artifact_in_inventory->m_df_type = DF_Type::entity_event__T_data__T_artifact_in_inventory; - n_artifact_in_inventory->m_rdf_type = RDF_Type::Compound; - n_artifact_in_inventory->m_node_type = NodeType::Compound; - n_artifact_in_inventory->m_address = base + offset; - n_artifact_in_inventory->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_artifact_in_inventory); - - field_name = "artifact_not_in_site"; - auto n_artifact_not_in_site = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); - n_artifact_not_in_site->m_field_name = field_name; - n_artifact_not_in_site->m_df_type = DF_Type::entity_event__T_data__T_artifact_not_in_site; - n_artifact_not_in_site->m_rdf_type = RDF_Type::Compound; - n_artifact_not_in_site->m_node_type = NodeType::Compound; - n_artifact_not_in_site->m_address = base + offset; - n_artifact_not_in_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_artifact_not_in_site); - - field_name = "artifact_not_in_subregion"; - auto n_artifact_not_in_subregion = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); - n_artifact_not_in_subregion->m_field_name = field_name; - n_artifact_not_in_subregion->m_df_type = DF_Type::entity_event__T_data__T_artifact_not_in_subregion; - n_artifact_not_in_subregion->m_rdf_type = RDF_Type::Compound; - n_artifact_not_in_subregion->m_node_type = NodeType::Compound; - n_artifact_not_in_subregion->m_address = base + offset; - n_artifact_not_in_subregion->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_artifact_not_in_subregion); - - field_name = "artifact_not_in_feature_layer"; - auto n_artifact_not_in_feature_layer = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); - n_artifact_not_in_feature_layer->m_field_name = field_name; - n_artifact_not_in_feature_layer->m_df_type = DF_Type::entity_event__T_data__T_artifact_not_in_feature_layer; - n_artifact_not_in_feature_layer->m_rdf_type = RDF_Type::Compound; - n_artifact_not_in_feature_layer->m_node_type = NodeType::Compound; - n_artifact_not_in_feature_layer->m_address = base + offset; - n_artifact_not_in_feature_layer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_artifact_not_in_feature_layer); - - field_name = "artifact_not_in_inventory"; - auto n_artifact_not_in_inventory = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); - n_artifact_not_in_inventory->m_field_name = field_name; - n_artifact_not_in_inventory->m_df_type = DF_Type::entity_event__T_data__T_artifact_not_in_inventory; - n_artifact_not_in_inventory->m_rdf_type = RDF_Type::Compound; - n_artifact_not_in_inventory->m_node_type = NodeType::Compound; - n_artifact_not_in_inventory->m_address = base + offset; - n_artifact_not_in_inventory->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_artifact_not_in_inventory); - - field_name = "artifact_destroyed"; - auto n_artifact_destroyed = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); - n_artifact_destroyed->m_field_name = field_name; - n_artifact_destroyed->m_df_type = DF_Type::entity_event__T_data__T_artifact_destroyed; - n_artifact_destroyed->m_rdf_type = RDF_Type::Compound; - n_artifact_destroyed->m_node_type = NodeType::Compound; - n_artifact_destroyed->m_address = base + offset; - n_artifact_destroyed->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_artifact_destroyed); - -} -void node_from_entity_event(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "data"; - auto n_data = new NodeUnion; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event, field_name)); - n_data->m_field_name = field_name; - n_data->m_df_type = DF_Type::entity_event__T_data; - n_data->m_rdf_type = RDF_Type::Union; - n_data->m_node_type = NodeType::Union; - n_data->m_address = base + offset; - n_data->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_data); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event, field_name)); - auto n_year = new NodeSimple; - n_year->m_field_name = field_name; - n_year->m_df_type = DF_Type::int32_t; - n_year->m_rdf_type = RDF_Type::int32_t; - n_year->m_node_type = NodeType::Simple; - n_year->m_address = base + offset; - n_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_year); - - field_name = "year_tick"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event, field_name)); - auto n_year_tick = new NodeSimple; - n_year_tick->m_field_name = field_name; - n_year_tick->m_df_type = DF_Type::int32_t; - n_year_tick->m_rdf_type = RDF_Type::int32_t; - n_year_tick->m_node_type = NodeType::Simple; - n_year_tick->m_address = base + offset; - n_year_tick->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_year_tick); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "type"; - auto n_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event, field_name)); - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::entity_event_type; - n_type->m_rdf_type = RDF_Type::Enum; - n_type->m_node_type = NodeType::Enum; - n_type->m_base_type = enum_base_type(n_type->m_df_type); - n_type->m_enum_type = "entity_event_type"; - n_type->m_address = base + offset; - n_type->m_defined_in = "df.entities.xml"; - n_type->m_first_value = 0; - n_type->m_last_value = 33; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - -} -void node_from_agreement__T_parties__T_anon_1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement__T_parties__T_anon_1, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement__T_parties__T_anon_1, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement__T_parties__T_anon_1, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement__T_parties__T_anon_1, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - -} -void node_from_agreement__T_parties(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement__T_parties, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "histfig_ids"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement__T_parties, field_name)); - auto n_histfig_ids = new NodeVector; - n_histfig_ids->m_field_name = field_name; - n_histfig_ids->m_df_type = DF_Type::int32_t; - n_histfig_ids->m_rdf_type = RDF_Type::Vector; - n_histfig_ids->m_node_type = NodeType::Vector; - n_histfig_ids->m_addornements = "v"; - n_histfig_ids->m_address = base + offset; - n_histfig_ids->m_parent = p_node_parent; - n_histfig_ids->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_histfig_ids); - - field_name = "entity_ids"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement__T_parties, field_name)); - auto n_entity_ids = new NodeVector; - n_entity_ids->m_field_name = field_name; - n_entity_ids->m_df_type = DF_Type::int32_t; - n_entity_ids->m_rdf_type = RDF_Type::Vector; - n_entity_ids->m_node_type = NodeType::Vector; - n_entity_ids->m_addornements = "v"; - n_entity_ids->m_address = base + offset; - n_entity_ids->m_parent = p_node_parent; - n_entity_ids->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_entity_ids); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement__T_parties, field_name)); - auto n_anon_1 = new NodeVector; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::agreement__T_parties__T_anon_1; - n_anon_1->m_rdf_type = RDF_Type::Vector; - n_anon_1->m_node_type = NodeType::Vector; - n_anon_1->m_addornements = "v*"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_agreement__T_details__T_data__T_data0(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement__T_details__T_data__T_data0, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement__T_details__T_data__T_data0, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement__T_details__T_data__T_data0, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement__T_details__T_data__T_data0, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement__T_details__T_data__T_data0, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement__T_details__T_data__T_data0, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - -} -void node_from_agreement__T_details__T_data__T_data1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "reason"; - auto n_reason = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement__T_details__T_data__T_data1, field_name)); - n_reason->m_field_name = field_name; - n_reason->m_df_type = DF_Type::history_event_reason; - n_reason->m_rdf_type = RDF_Type::Enum; - n_reason->m_node_type = NodeType::Enum; - n_reason->m_base_type = DF_Type::int32_t; - n_reason->m_enum_type = "history_event_reason"; - n_reason->m_address = base + offset; - n_reason->m_defined_in = "df.history.xml"; - n_reason->m_first_value = -1; - n_reason->m_last_value = 77; - n_reason->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_reason); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement__T_details__T_data__T_data1, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement__T_details__T_data__T_data1, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement__T_details__T_data__T_data1, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "artifact"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement__T_details__T_data__T_data1, field_name)); - auto n_artifact = new NodeSimple; - n_artifact->m_field_name = field_name; - n_artifact->m_df_type = DF_Type::int32_t; - n_artifact->m_rdf_type = RDF_Type::int32_t; - n_artifact->m_node_type = NodeType::Simple; - n_artifact->m_address = base + offset; - n_artifact->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_artifact); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement__T_details__T_data__T_data1, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - -} -void node_from_agreement__T_details__T_data(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = true) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "data0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement__T_details__T_data, field_name)); - auto n_data0 = new NodePointer; - n_data0->m_field_name = field_name; - n_data0->m_df_type = get_real_subtype(base+offset, DF_Type::agreement__T_details__T_data__T_data0); - n_data0->m_rdf_type = RDF_Type::Pointer; - n_data0->m_node_type = NodeType::Pointer; - n_data0->m_addornements = "*"; - n_data0->m_address = base + offset; - n_data0->m_parent = p_node_parent; - n_data0->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_data0); - - field_name = "data1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement__T_details__T_data, field_name)); - auto n_data1 = new NodePointer; - n_data1->m_field_name = field_name; - n_data1->m_df_type = get_real_subtype(base+offset, DF_Type::agreement__T_details__T_data__T_data1); - n_data1->m_rdf_type = RDF_Type::Pointer; - n_data1->m_node_type = NodeType::Pointer; - n_data1->m_addornements = "*"; - n_data1->m_address = base + offset; - n_data1->m_parent = p_node_parent; - n_data1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_data1); - -} -void node_from_agreement__T_details(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement__T_details, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement__T_details, field_name)); - auto n_year = new NodeSimple; - n_year->m_field_name = field_name; - n_year->m_df_type = DF_Type::int32_t; - n_year->m_rdf_type = RDF_Type::int32_t; - n_year->m_node_type = NodeType::Simple; - n_year->m_address = base + offset; - n_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_year); - - field_name = "year_tick"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement__T_details, field_name)); - auto n_year_tick = new NodeSimple; - n_year_tick->m_field_name = field_name; - n_year_tick->m_df_type = DF_Type::int32_t; - n_year_tick->m_rdf_type = RDF_Type::int32_t; - n_year_tick->m_node_type = NodeType::Simple; - n_year_tick->m_address = base + offset; - n_year_tick->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_year_tick); - - field_name = "data"; - auto n_data = new NodeUnion; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement__T_details, field_name)); - n_data->m_field_name = field_name; - n_data->m_df_type = DF_Type::agreement__T_details__T_data; - n_data->m_rdf_type = RDF_Type::Union; - n_data->m_node_type = NodeType::Union; - n_data->m_address = base + offset; - n_data->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_data); - - field_name = "type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement__T_details, field_name)); - auto n_type = new NodeSimple; - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::int32_t; - n_type->m_rdf_type = RDF_Type::int32_t; - n_type->m_node_type = NodeType::Simple; - n_type->m_address = base + offset; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - -} -void node_from_agreement(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "parties"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement, field_name)); - auto n_parties = new NodeVector; - n_parties->m_field_name = field_name; - n_parties->m_df_type = DF_Type::agreement__T_parties; - n_parties->m_rdf_type = RDF_Type::Vector; - n_parties->m_node_type = NodeType::Vector; - n_parties->m_addornements = "v*"; - n_parties->m_address = base + offset; - n_parties->m_parent = p_node_parent; - n_parties->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_parties); - - field_name = "next_party_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement, field_name)); - auto n_next_party_id = new NodeSimple; - n_next_party_id->m_field_name = field_name; - n_next_party_id->m_df_type = DF_Type::int32_t; - n_next_party_id->m_rdf_type = RDF_Type::int32_t; - n_next_party_id->m_node_type = NodeType::Simple; - n_next_party_id->m_address = base + offset; - n_next_party_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_next_party_id); - - field_name = "details"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement, field_name)); - auto n_details = new NodeVector; - n_details->m_field_name = field_name; - n_details->m_df_type = DF_Type::agreement__T_details; - n_details->m_rdf_type = RDF_Type::Vector; - n_details->m_node_type = NodeType::Vector; - n_details->m_addornements = "v*"; - n_details->m_address = base + offset; - n_details->m_parent = p_node_parent; - n_details->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_details); - - field_name = "next_details_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement, field_name)); - auto n_next_details_id = new NodeSimple; - n_next_details_id->m_field_name = field_name; - n_next_details_id->m_df_type = DF_Type::int32_t; - n_next_details_id->m_rdf_type = RDF_Type::int32_t; - n_next_details_id->m_node_type = NodeType::Simple; - n_next_details_id->m_address = base + offset; - n_next_details_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_next_details_id); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - -} -void node_from_entity_position_raw(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "code"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); - auto n_code = new NodeSimple; - n_code->m_field_name = field_name; - n_code->m_df_type = DF_Type::Stl_string; - n_code->m_rdf_type = RDF_Type::Stl_string; - n_code->m_node_type = NodeType::Simple; - n_code->m_address = base + offset; - n_code->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_code); - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); - auto n_flags = new NodeDFFlagArray; - n_flags->m_field_name = field_name; - n_flags->m_index_enum = DF_Type::entity_position_raw_flags; - n_flags->m_df_type = DF_Type::entity_position_raw_flags; - n_flags->m_size = 25; - n_flags->m_rdf_type = RDF_Type::DFFlagArray; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_defined_in = "df.entity-raws.xml"; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "allowed_creature_str"; - auto n_allowed_creature_str = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); - n_allowed_creature_str->m_field_name = field_name; - n_allowed_creature_str->m_df_type = DF_Type::Stl_string; - n_allowed_creature_str->m_rdf_type = RDF_Type::Array; - n_allowed_creature_str->m_node_type = NodeType::Array; - n_allowed_creature_str->m_addornements = "[2v*"; - n_allowed_creature_str->m_array_size = 2; - n_allowed_creature_str->m_address = base + offset; - n_allowed_creature_str->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_allowed_creature_str); - - field_name = "allowed_creature"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); - auto n_allowed_creature = new NodeVector; - n_allowed_creature->m_field_name = field_name; - n_allowed_creature->m_df_type = DF_Type::int32_t; - n_allowed_creature->m_rdf_type = RDF_Type::Vector; - n_allowed_creature->m_node_type = NodeType::Vector; - n_allowed_creature->m_addornements = "v"; - n_allowed_creature->m_address = base + offset; - n_allowed_creature->m_parent = p_node_parent; - n_allowed_creature->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_allowed_creature); - - field_name = "allowed_class"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); - auto n_allowed_class = new NodeVector; - n_allowed_class->m_field_name = field_name; - n_allowed_class->m_df_type = DF_Type::Stl_string; - n_allowed_class->m_rdf_type = RDF_Type::Vector; - n_allowed_class->m_node_type = NodeType::Vector; - n_allowed_class->m_addornements = "v*"; - n_allowed_class->m_address = base + offset; - n_allowed_class->m_parent = p_node_parent; - n_allowed_class->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_allowed_class); - - field_name = "rejected_creature_str"; - auto n_rejected_creature_str = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); - n_rejected_creature_str->m_field_name = field_name; - n_rejected_creature_str->m_df_type = DF_Type::Stl_string; - n_rejected_creature_str->m_rdf_type = RDF_Type::Array; - n_rejected_creature_str->m_node_type = NodeType::Array; - n_rejected_creature_str->m_addornements = "[2v*"; - n_rejected_creature_str->m_array_size = 2; - n_rejected_creature_str->m_address = base + offset; - n_rejected_creature_str->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rejected_creature_str); - - field_name = "rejected_creature"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); - auto n_rejected_creature = new NodeVector; - n_rejected_creature->m_field_name = field_name; - n_rejected_creature->m_df_type = DF_Type::int32_t; - n_rejected_creature->m_rdf_type = RDF_Type::Vector; - n_rejected_creature->m_node_type = NodeType::Vector; - n_rejected_creature->m_addornements = "v"; - n_rejected_creature->m_address = base + offset; - n_rejected_creature->m_parent = p_node_parent; - n_rejected_creature->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_rejected_creature); - - field_name = "rejected_class"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); - auto n_rejected_class = new NodeVector; - n_rejected_class->m_field_name = field_name; - n_rejected_class->m_df_type = DF_Type::Stl_string; - n_rejected_class->m_rdf_type = RDF_Type::Vector; - n_rejected_class->m_node_type = NodeType::Vector; - n_rejected_class->m_addornements = "v*"; - n_rejected_class->m_address = base + offset; - n_rejected_class->m_parent = p_node_parent; - n_rejected_class->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_rejected_class); - - field_name = "name"; - auto n_name = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Array; - n_name->m_node_type = NodeType::Array; - n_name->m_addornements = "[2"; - n_name->m_array_size = 2; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "name_female"; - auto n_name_female = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); - n_name_female->m_field_name = field_name; - n_name_female->m_df_type = DF_Type::Stl_string; - n_name_female->m_rdf_type = RDF_Type::Array; - n_name_female->m_node_type = NodeType::Array; - n_name_female->m_addornements = "[2"; - n_name_female->m_array_size = 2; - n_name_female->m_address = base + offset; - n_name_female->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name_female); - - field_name = "name_male"; - auto n_name_male = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); - n_name_male->m_field_name = field_name; - n_name_male->m_df_type = DF_Type::Stl_string; - n_name_male->m_rdf_type = RDF_Type::Array; - n_name_male->m_node_type = NodeType::Array; - n_name_male->m_addornements = "[2"; - n_name_male->m_array_size = 2; - n_name_male->m_address = base + offset; - n_name_male->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name_male); - - field_name = "spouse"; - auto n_spouse = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); - n_spouse->m_field_name = field_name; - n_spouse->m_df_type = DF_Type::Stl_string; - n_spouse->m_rdf_type = RDF_Type::Array; - n_spouse->m_node_type = NodeType::Array; - n_spouse->m_addornements = "[2"; - n_spouse->m_array_size = 2; - n_spouse->m_address = base + offset; - n_spouse->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_spouse); - - field_name = "spouse_female"; - auto n_spouse_female = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); - n_spouse_female->m_field_name = field_name; - n_spouse_female->m_df_type = DF_Type::Stl_string; - n_spouse_female->m_rdf_type = RDF_Type::Array; - n_spouse_female->m_node_type = NodeType::Array; - n_spouse_female->m_addornements = "[2"; - n_spouse_female->m_array_size = 2; - n_spouse_female->m_address = base + offset; - n_spouse_female->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_spouse_female); - - field_name = "spouse_male"; - auto n_spouse_male = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); - n_spouse_male->m_field_name = field_name; - n_spouse_male->m_df_type = DF_Type::Stl_string; - n_spouse_male->m_rdf_type = RDF_Type::Array; - n_spouse_male->m_node_type = NodeType::Array; - n_spouse_male->m_addornements = "[2"; - n_spouse_male->m_array_size = 2; - n_spouse_male->m_address = base + offset; - n_spouse_male->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_spouse_male); - - field_name = "squad"; - auto n_squad = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); - n_squad->m_field_name = field_name; - n_squad->m_df_type = DF_Type::Stl_string; - n_squad->m_rdf_type = RDF_Type::Array; - n_squad->m_node_type = NodeType::Array; - n_squad->m_addornements = "[2"; - n_squad->m_array_size = 2; - n_squad->m_address = base + offset; - n_squad->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_squad); - - field_name = "land_name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); - auto n_land_name = new NodeSimple; - n_land_name->m_field_name = field_name; - n_land_name->m_df_type = DF_Type::Stl_string; - n_land_name->m_rdf_type = RDF_Type::Stl_string; - n_land_name->m_node_type = NodeType::Simple; - n_land_name->m_address = base + offset; - n_land_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_land_name); - - field_name = "squad_size"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); - auto n_squad_size = new NodeSimple; - n_squad_size->m_field_name = field_name; - n_squad_size->m_df_type = DF_Type::int16_t; - n_squad_size->m_rdf_type = RDF_Type::int16_t; - n_squad_size->m_node_type = NodeType::Simple; - n_squad_size->m_address = base + offset; - n_squad_size->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_squad_size); - - field_name = "commander_str"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); - auto n_commander_str = new NodeVector; - n_commander_str->m_field_name = field_name; - n_commander_str->m_df_type = DF_Type::Stl_string; - n_commander_str->m_rdf_type = RDF_Type::Vector; - n_commander_str->m_node_type = NodeType::Vector; - n_commander_str->m_addornements = "v*"; - n_commander_str->m_address = base + offset; - n_commander_str->m_parent = p_node_parent; - n_commander_str->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_commander_str); - - field_name = "commander_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); - auto n_commander_id = new NodeVector; - n_commander_id->m_field_name = field_name; - n_commander_id->m_df_type = DF_Type::int32_t; - n_commander_id->m_rdf_type = RDF_Type::Vector; - n_commander_id->m_node_type = NodeType::Vector; - n_commander_id->m_addornements = "v"; - n_commander_id->m_address = base + offset; - n_commander_id->m_parent = p_node_parent; - n_commander_id->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_commander_id); - - field_name = "commander_types"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); - auto n_commander_types = new NodeVector; - n_commander_types->m_field_name = field_name; - n_commander_types->m_df_type = DF_Type::int16_t; - n_commander_types->m_rdf_type = RDF_Type::Vector; - n_commander_types->m_node_type = NodeType::Vector; - n_commander_types->m_addornements = "v"; - n_commander_types->m_address = base + offset; - n_commander_types->m_parent = p_node_parent; - n_commander_types->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_commander_types); - - field_name = "land_holder"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); - auto n_land_holder = new NodeSimple; - n_land_holder->m_field_name = field_name; - n_land_holder->m_df_type = DF_Type::int16_t; - n_land_holder->m_rdf_type = RDF_Type::int16_t; - n_land_holder->m_node_type = NodeType::Simple; - n_land_holder->m_address = base + offset; - n_land_holder->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_land_holder); - - field_name = "number"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); - auto n_number = new NodeSimple; - n_number->m_field_name = field_name; - n_number->m_df_type = DF_Type::int16_t; - n_number->m_rdf_type = RDF_Type::int16_t; - n_number->m_node_type = NodeType::Simple; - n_number->m_address = base + offset; - n_number->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_number); - - field_name = "requires_population"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); - auto n_requires_population = new NodeSimple; - n_requires_population->m_field_name = field_name; - n_requires_population->m_df_type = DF_Type::int16_t; - n_requires_population->m_rdf_type = RDF_Type::int16_t; - n_requires_population->m_node_type = NodeType::Simple; - n_requires_population->m_address = base + offset; - n_requires_population->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_requires_population); - - field_name = "execution_skill"; - auto n_execution_skill = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); - n_execution_skill->m_field_name = field_name; - n_execution_skill->m_df_type = DF_Type::job_skill; - n_execution_skill->m_rdf_type = RDF_Type::Enum; - n_execution_skill->m_node_type = NodeType::Enum; - n_execution_skill->m_base_type = DF_Type::int16_t; - n_execution_skill->m_enum_type = "job_skill"; - n_execution_skill->m_address = base + offset; - n_execution_skill->m_defined_in = "df.skills.xml"; - n_execution_skill->m_first_value = -1; - n_execution_skill->m_last_value = 134; - n_execution_skill->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_execution_skill); - - field_name = "precedence"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); - auto n_precedence = new NodeSimple; - n_precedence->m_field_name = field_name; - n_precedence->m_df_type = DF_Type::int32_t; - n_precedence->m_rdf_type = RDF_Type::int32_t; - n_precedence->m_node_type = NodeType::Simple; - n_precedence->m_address = base + offset; - n_precedence->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_precedence); - - field_name = "replaced_by_str"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); - auto n_replaced_by_str = new NodeSimple; - n_replaced_by_str->m_field_name = field_name; - n_replaced_by_str->m_df_type = DF_Type::Stl_string; - n_replaced_by_str->m_rdf_type = RDF_Type::Stl_string; - n_replaced_by_str->m_node_type = NodeType::Simple; - n_replaced_by_str->m_address = base + offset; - n_replaced_by_str->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_replaced_by_str); - - field_name = "replaced_by"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); - auto n_replaced_by = new NodeSimple; - n_replaced_by->m_field_name = field_name; - n_replaced_by->m_df_type = DF_Type::int32_t; - n_replaced_by->m_rdf_type = RDF_Type::int32_t; - n_replaced_by->m_node_type = NodeType::Simple; - n_replaced_by->m_address = base + offset; - n_replaced_by->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_replaced_by); - - field_name = "appointed_by_str"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); - auto n_appointed_by_str = new NodeVector; - n_appointed_by_str->m_field_name = field_name; - n_appointed_by_str->m_df_type = DF_Type::Stl_string; - n_appointed_by_str->m_rdf_type = RDF_Type::Vector; - n_appointed_by_str->m_node_type = NodeType::Vector; - n_appointed_by_str->m_addornements = "v*"; - n_appointed_by_str->m_address = base + offset; - n_appointed_by_str->m_parent = p_node_parent; - n_appointed_by_str->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_appointed_by_str); - - field_name = "appointed_by"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); - auto n_appointed_by = new NodeVector; - n_appointed_by->m_field_name = field_name; - n_appointed_by->m_df_type = DF_Type::int32_t; - n_appointed_by->m_rdf_type = RDF_Type::Vector; - n_appointed_by->m_node_type = NodeType::Vector; - n_appointed_by->m_addornements = "v"; - n_appointed_by->m_address = base + offset; - n_appointed_by->m_parent = p_node_parent; - n_appointed_by->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_appointed_by); - - field_name = "succession_by_position_str"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); - auto n_succession_by_position_str = new NodeVector; - n_succession_by_position_str->m_field_name = field_name; - n_succession_by_position_str->m_df_type = DF_Type::Stl_string; - n_succession_by_position_str->m_rdf_type = RDF_Type::Vector; - n_succession_by_position_str->m_node_type = NodeType::Vector; - n_succession_by_position_str->m_addornements = "v*"; - n_succession_by_position_str->m_address = base + offset; - n_succession_by_position_str->m_parent = p_node_parent; - n_succession_by_position_str->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_succession_by_position_str); - - field_name = "succession_by_position"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); - auto n_succession_by_position = new NodeVector; - n_succession_by_position->m_field_name = field_name; - n_succession_by_position->m_df_type = DF_Type::int32_t; - n_succession_by_position->m_rdf_type = RDF_Type::Vector; - n_succession_by_position->m_node_type = NodeType::Vector; - n_succession_by_position->m_addornements = "v"; - n_succession_by_position->m_address = base + offset; - n_succession_by_position->m_parent = p_node_parent; - n_succession_by_position->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_succession_by_position); - - field_name = "responsibilities"; - auto n_responsibilities = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); - n_responsibilities->m_field_name = field_name; - n_responsibilities->m_df_type = DF_Type::Bool; - n_responsibilities->m_rdf_type = RDF_Type::Array; - n_responsibilities->m_node_type = NodeType::Array; - n_responsibilities->m_index_enum = DF_Type::entity_position_responsibility; - n_responsibilities->m_addornements = "[25"; - n_responsibilities->m_array_size = 25; - n_responsibilities->m_address = base + offset; - n_responsibilities->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_responsibilities); - - field_name = "color"; - auto n_color = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); - n_color->m_field_name = field_name; - n_color->m_df_type = DF_Type::int16_t; - n_color->m_rdf_type = RDF_Type::Array; - n_color->m_node_type = NodeType::Array; - n_color->m_addornements = "[3"; - n_color->m_array_size = 3; - n_color->m_address = base + offset; - n_color->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_color); - - field_name = "required_boxes"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); - auto n_required_boxes = new NodeSimple; - n_required_boxes->m_field_name = field_name; - n_required_boxes->m_df_type = DF_Type::int32_t; - n_required_boxes->m_rdf_type = RDF_Type::int32_t; - n_required_boxes->m_node_type = NodeType::Simple; - n_required_boxes->m_address = base + offset; - n_required_boxes->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_required_boxes); - - field_name = "required_cabinets"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); - auto n_required_cabinets = new NodeSimple; - n_required_cabinets->m_field_name = field_name; - n_required_cabinets->m_df_type = DF_Type::int32_t; - n_required_cabinets->m_rdf_type = RDF_Type::int32_t; - n_required_cabinets->m_node_type = NodeType::Simple; - n_required_cabinets->m_address = base + offset; - n_required_cabinets->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_required_cabinets); - - field_name = "required_racks"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); - auto n_required_racks = new NodeSimple; - n_required_racks->m_field_name = field_name; - n_required_racks->m_df_type = DF_Type::int32_t; - n_required_racks->m_rdf_type = RDF_Type::int32_t; - n_required_racks->m_node_type = NodeType::Simple; - n_required_racks->m_address = base + offset; - n_required_racks->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_required_racks); - - field_name = "required_stands"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); - auto n_required_stands = new NodeSimple; - n_required_stands->m_field_name = field_name; - n_required_stands->m_df_type = DF_Type::int32_t; - n_required_stands->m_rdf_type = RDF_Type::int32_t; - n_required_stands->m_node_type = NodeType::Simple; - n_required_stands->m_address = base + offset; - n_required_stands->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_required_stands); - - field_name = "required_office"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); - auto n_required_office = new NodeSimple; - n_required_office->m_field_name = field_name; - n_required_office->m_df_type = DF_Type::int32_t; - n_required_office->m_rdf_type = RDF_Type::int32_t; - n_required_office->m_node_type = NodeType::Simple; - n_required_office->m_address = base + offset; - n_required_office->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_required_office); - - field_name = "required_bedroom"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); - auto n_required_bedroom = new NodeSimple; - n_required_bedroom->m_field_name = field_name; - n_required_bedroom->m_df_type = DF_Type::int32_t; - n_required_bedroom->m_rdf_type = RDF_Type::int32_t; - n_required_bedroom->m_node_type = NodeType::Simple; - n_required_bedroom->m_address = base + offset; - n_required_bedroom->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_required_bedroom); - - field_name = "required_dining"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); - auto n_required_dining = new NodeSimple; - n_required_dining->m_field_name = field_name; - n_required_dining->m_df_type = DF_Type::int32_t; - n_required_dining->m_rdf_type = RDF_Type::int32_t; - n_required_dining->m_node_type = NodeType::Simple; - n_required_dining->m_address = base + offset; - n_required_dining->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_required_dining); - - field_name = "required_tomb"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); - auto n_required_tomb = new NodeSimple; - n_required_tomb->m_field_name = field_name; - n_required_tomb->m_df_type = DF_Type::int32_t; - n_required_tomb->m_rdf_type = RDF_Type::int32_t; - n_required_tomb->m_node_type = NodeType::Simple; - n_required_tomb->m_address = base + offset; - n_required_tomb->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_required_tomb); - - field_name = "mandate_max"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); - auto n_mandate_max = new NodeSimple; - n_mandate_max->m_field_name = field_name; - n_mandate_max->m_df_type = DF_Type::int32_t; - n_mandate_max->m_rdf_type = RDF_Type::int32_t; - n_mandate_max->m_node_type = NodeType::Simple; - n_mandate_max->m_address = base + offset; - n_mandate_max->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mandate_max); - - field_name = "demand_max"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); - auto n_demand_max = new NodeSimple; - n_demand_max->m_field_name = field_name; - n_demand_max->m_df_type = DF_Type::int32_t; - n_demand_max->m_rdf_type = RDF_Type::int32_t; - n_demand_max->m_node_type = NodeType::Simple; - n_demand_max->m_address = base + offset; - n_demand_max->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_demand_max); - -} -void node_from_graphic(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "screenx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::graphic, field_name)); - auto n_screenx = new NodeSimple; - n_screenx->m_field_name = field_name; - n_screenx->m_df_type = DF_Type::Long; - n_screenx->m_rdf_type = RDF_Type::Long; - n_screenx->m_node_type = NodeType::Simple; - n_screenx->m_address = base + offset; - n_screenx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_screenx); - - field_name = "screeny"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::graphic, field_name)); - auto n_screeny = new NodeSimple; - n_screeny->m_field_name = field_name; - n_screeny->m_df_type = DF_Type::Long; - n_screeny->m_rdf_type = RDF_Type::Long; - n_screeny->m_node_type = NodeType::Simple; - n_screeny->m_address = base + offset; - n_screeny->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_screeny); - - field_name = "screenf"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::graphic, field_name)); - auto n_screenf = new NodeSimple; - n_screenf->m_field_name = field_name; - n_screenf->m_df_type = DF_Type::int8_t; - n_screenf->m_rdf_type = RDF_Type::int8_t; - n_screenf->m_node_type = NodeType::Simple; - n_screenf->m_address = base + offset; - n_screenf->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_screenf); - - field_name = "screenb"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::graphic, field_name)); - auto n_screenb = new NodeSimple; - n_screenb->m_field_name = field_name; - n_screenb->m_df_type = DF_Type::int8_t; - n_screenb->m_rdf_type = RDF_Type::int8_t; - n_screenb->m_node_type = NodeType::Simple; - n_screenb->m_address = base + offset; - n_screenb->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_screenb); - - field_name = "screenbright"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::graphic, field_name)); - auto n_screenbright = new NodeSimple; - n_screenbright->m_field_name = field_name; - n_screenbright->m_df_type = DF_Type::int8_t; - n_screenbright->m_rdf_type = RDF_Type::int8_t; - n_screenbright->m_node_type = NodeType::Simple; - n_screenbright->m_address = base + offset; - n_screenbright->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_screenbright); - - field_name = "screen"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::graphic, field_name)); - auto n_screen = new NodePointer; - n_screen->m_field_name = field_name; - n_screen->m_df_type = get_real_subtype(base+offset, DF_Type::uint8_t); - n_screen->m_rdf_type = RDF_Type::Pointer; - n_screen->m_node_type = NodeType::Pointer; - n_screen->m_addornements = "*"; - n_screen->m_address = base + offset; - n_screen->m_parent = p_node_parent; - n_screen->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_screen); - - field_name = "screentexpos"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::graphic, field_name)); - auto n_screentexpos = new NodePointer; - n_screentexpos->m_field_name = field_name; - n_screentexpos->m_df_type = get_real_subtype(base+offset, DF_Type::Long); - n_screentexpos->m_rdf_type = RDF_Type::Pointer; - n_screentexpos->m_node_type = NodeType::Pointer; - n_screentexpos->m_addornements = "*"; - n_screentexpos->m_address = base + offset; - n_screentexpos->m_parent = p_node_parent; - n_screentexpos->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_screentexpos); - - field_name = "screentexpos_addcolor"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::graphic, field_name)); - auto n_screentexpos_addcolor = new NodePointer; - n_screentexpos_addcolor->m_field_name = field_name; - n_screentexpos_addcolor->m_df_type = get_real_subtype(base+offset, DF_Type::int8_t); - n_screentexpos_addcolor->m_rdf_type = RDF_Type::Pointer; - n_screentexpos_addcolor->m_node_type = NodeType::Pointer; - n_screentexpos_addcolor->m_addornements = "*"; - n_screentexpos_addcolor->m_address = base + offset; - n_screentexpos_addcolor->m_parent = p_node_parent; - n_screentexpos_addcolor->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_screentexpos_addcolor); - - field_name = "screentexpos_grayscale"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::graphic, field_name)); - auto n_screentexpos_grayscale = new NodePointer; - n_screentexpos_grayscale->m_field_name = field_name; - n_screentexpos_grayscale->m_df_type = get_real_subtype(base+offset, DF_Type::uint8_t); - n_screentexpos_grayscale->m_rdf_type = RDF_Type::Pointer; - n_screentexpos_grayscale->m_node_type = NodeType::Pointer; - n_screentexpos_grayscale->m_addornements = "*"; - n_screentexpos_grayscale->m_address = base + offset; - n_screentexpos_grayscale->m_parent = p_node_parent; - n_screentexpos_grayscale->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_screentexpos_grayscale); - - field_name = "screentexpos_cf"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::graphic, field_name)); - auto n_screentexpos_cf = new NodePointer; - n_screentexpos_cf->m_field_name = field_name; - n_screentexpos_cf->m_df_type = get_real_subtype(base+offset, DF_Type::uint8_t); - n_screentexpos_cf->m_rdf_type = RDF_Type::Pointer; - n_screentexpos_cf->m_node_type = NodeType::Pointer; - n_screentexpos_cf->m_addornements = "*"; - n_screentexpos_cf->m_address = base + offset; - n_screentexpos_cf->m_parent = p_node_parent; - n_screentexpos_cf->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_screentexpos_cf); - - field_name = "screentexpos_cbr"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::graphic, field_name)); - auto n_screentexpos_cbr = new NodePointer; - n_screentexpos_cbr->m_field_name = field_name; - n_screentexpos_cbr->m_df_type = get_real_subtype(base+offset, DF_Type::uint8_t); - n_screentexpos_cbr->m_rdf_type = RDF_Type::Pointer; - n_screentexpos_cbr->m_node_type = NodeType::Pointer; - n_screentexpos_cbr->m_addornements = "*"; - n_screentexpos_cbr->m_address = base + offset; - n_screentexpos_cbr->m_parent = p_node_parent; - n_screentexpos_cbr->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_screentexpos_cbr); - - field_name = "clipx"; - auto n_clipx = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::graphic, field_name)); - n_clipx->m_field_name = field_name; - n_clipx->m_df_type = DF_Type::Long; - n_clipx->m_rdf_type = RDF_Type::Array; - n_clipx->m_node_type = NodeType::Array; - n_clipx->m_addornements = "[2"; - n_clipx->m_array_size = 2; - n_clipx->m_address = base + offset; - n_clipx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_clipx); - - field_name = "clipy"; - auto n_clipy = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::graphic, field_name)); - n_clipy->m_field_name = field_name; - n_clipy->m_df_type = DF_Type::Long; - n_clipy->m_rdf_type = RDF_Type::Array; - n_clipy->m_node_type = NodeType::Array; - n_clipy->m_addornements = "[2"; - n_clipy->m_array_size = 2; - n_clipy->m_address = base + offset; - n_clipy->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_clipy); - - field_name = "tex_pos"; - auto n_tex_pos = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::graphic, field_name)); - n_tex_pos->m_field_name = field_name; - n_tex_pos->m_df_type = DF_Type::Long; - n_tex_pos->m_rdf_type = RDF_Type::Array; - n_tex_pos->m_node_type = NodeType::Array; - n_tex_pos->m_addornements = "[1"; - n_tex_pos->m_array_size = 1; - n_tex_pos->m_address = base + offset; - n_tex_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tex_pos); - - field_name = "rect_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::graphic, field_name)); - auto n_rect_id = new NodeSimple; - n_rect_id->m_field_name = field_name; - n_rect_id->m_df_type = DF_Type::Long; - n_rect_id->m_rdf_type = RDF_Type::Long; - n_rect_id->m_node_type = NodeType::Simple; - n_rect_id->m_address = base + offset; - n_rect_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rect_id); - - field_name = "print_time"; - auto n_print_time = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::graphic, field_name)); - n_print_time->m_field_name = field_name; - n_print_time->m_df_type = DF_Type::large_integer; - n_print_time->m_rdf_type = RDF_Type::Array; - n_print_time->m_node_type = NodeType::Array; - n_print_time->m_defined_in = "df.graphics.xml"; - n_print_time->m_addornements = "[100"; - n_print_time->m_array_size = 100; - n_print_time->m_address = base + offset; - n_print_time->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_print_time); - - field_name = "print_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::graphic, field_name)); - auto n_print_index = new NodeSimple; - n_print_index->m_field_name = field_name; - n_print_index->m_df_type = DF_Type::Long; - n_print_index->m_rdf_type = RDF_Type::Long; - n_print_index->m_node_type = NodeType::Simple; - n_print_index->m_address = base + offset; - n_print_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_print_index); - - field_name = "display_frames"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::graphic, field_name)); - auto n_display_frames = new NodeSimple; - n_display_frames->m_field_name = field_name; - n_display_frames->m_df_type = DF_Type::int8_t; - n_display_frames->m_rdf_type = RDF_Type::int8_t; - n_display_frames->m_node_type = NodeType::Simple; - n_display_frames->m_address = base + offset; - n_display_frames->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_display_frames); - - field_name = "force_full_display_count"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::graphic, field_name)); - auto n_force_full_display_count = new NodeSimple; - n_force_full_display_count->m_field_name = field_name; - n_force_full_display_count->m_df_type = DF_Type::int16_t; - n_force_full_display_count->m_rdf_type = RDF_Type::int16_t; - n_force_full_display_count->m_node_type = NodeType::Simple; - n_force_full_display_count->m_address = base + offset; - n_force_full_display_count->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_force_full_display_count); - - field_name = "original_rect"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::graphic, field_name)); - auto n_original_rect = new NodeSimple; - n_original_rect->m_field_name = field_name; - n_original_rect->m_df_type = DF_Type::int8_t; - n_original_rect->m_rdf_type = RDF_Type::int8_t; - n_original_rect->m_node_type = NodeType::Simple; - n_original_rect->m_address = base + offset; - n_original_rect->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_original_rect); - - field_name = "dimx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::graphic, field_name)); - auto n_dimx = new NodeSimple; - n_dimx->m_field_name = field_name; - n_dimx->m_df_type = DF_Type::int32_t; - n_dimx->m_rdf_type = RDF_Type::int32_t; - n_dimx->m_node_type = NodeType::Simple; - n_dimx->m_address = base + offset; - n_dimx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dimx); - - field_name = "dimy"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::graphic, field_name)); - auto n_dimy = new NodeSimple; - n_dimy->m_field_name = field_name; - n_dimy->m_df_type = DF_Type::int32_t; - n_dimy->m_rdf_type = RDF_Type::int32_t; - n_dimy->m_node_type = NodeType::Simple; - n_dimy->m_address = base + offset; - n_dimy->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dimy); - - field_name = "mouse_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::graphic, field_name)); - auto n_mouse_x = new NodeSimple; - n_mouse_x->m_field_name = field_name; - n_mouse_x->m_df_type = DF_Type::int32_t; - n_mouse_x->m_rdf_type = RDF_Type::int32_t; - n_mouse_x->m_node_type = NodeType::Simple; - n_mouse_x->m_address = base + offset; - n_mouse_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mouse_x); - - field_name = "mouse_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::graphic, field_name)); - auto n_mouse_y = new NodeSimple; - n_mouse_y->m_field_name = field_name; - n_mouse_y->m_df_type = DF_Type::int32_t; - n_mouse_y->m_rdf_type = RDF_Type::int32_t; - n_mouse_y->m_node_type = NodeType::Simple; - n_mouse_y->m_address = base + offset; - n_mouse_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mouse_y); - - field_name = "screen_limit"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::graphic, field_name)); - auto n_screen_limit = new NodePointer; - n_screen_limit->m_field_name = field_name; - n_screen_limit->m_df_type = get_real_subtype(base+offset, DF_Type::uint8_t); - n_screen_limit->m_rdf_type = RDF_Type::Pointer; - n_screen_limit->m_node_type = NodeType::Pointer; - n_screen_limit->m_addornements = "*"; - n_screen_limit->m_address = base + offset; - n_screen_limit->m_parent = p_node_parent; - n_screen_limit->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_screen_limit); - -} -void node_from_historical_kills(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "events"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_kills, field_name)); - auto n_events = new NodeVector; - n_events->m_field_name = field_name; - n_events->m_df_type = DF_Type::int32_t; - n_events->m_rdf_type = RDF_Type::Vector; - n_events->m_node_type = NodeType::Vector; - n_events->m_addornements = "v"; - n_events->m_address = base + offset; - n_events->m_parent = p_node_parent; - n_events->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_events); - - field_name = "killed_race"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_kills, field_name)); - auto n_killed_race = new NodeVector; - n_killed_race->m_field_name = field_name; - n_killed_race->m_df_type = DF_Type::int16_t; - n_killed_race->m_rdf_type = RDF_Type::Vector; - n_killed_race->m_node_type = NodeType::Vector; - n_killed_race->m_addornements = "v"; - n_killed_race->m_address = base + offset; - n_killed_race->m_parent = p_node_parent; - n_killed_race->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_killed_race); - - field_name = "killed_caste"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_kills, field_name)); - auto n_killed_caste = new NodeVector; - n_killed_caste->m_field_name = field_name; - n_killed_caste->m_df_type = DF_Type::int16_t; - n_killed_caste->m_rdf_type = RDF_Type::Vector; - n_killed_caste->m_node_type = NodeType::Vector; - n_killed_caste->m_addornements = "v"; - n_killed_caste->m_address = base + offset; - n_killed_caste->m_parent = p_node_parent; - n_killed_caste->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_killed_caste); - - field_name = "killed_underground_region"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_kills, field_name)); - auto n_killed_underground_region = new NodeVector; - n_killed_underground_region->m_field_name = field_name; - n_killed_underground_region->m_df_type = DF_Type::int32_t; - n_killed_underground_region->m_rdf_type = RDF_Type::Vector; - n_killed_underground_region->m_node_type = NodeType::Vector; - n_killed_underground_region->m_addornements = "v"; - n_killed_underground_region->m_address = base + offset; - n_killed_underground_region->m_parent = p_node_parent; - n_killed_underground_region->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_killed_underground_region); - - field_name = "killed_region"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_kills, field_name)); - auto n_killed_region = new NodeVector; - n_killed_region->m_field_name = field_name; - n_killed_region->m_df_type = DF_Type::int32_t; - n_killed_region->m_rdf_type = RDF_Type::Vector; - n_killed_region->m_node_type = NodeType::Vector; - n_killed_region->m_addornements = "v"; - n_killed_region->m_address = base + offset; - n_killed_region->m_parent = p_node_parent; - n_killed_region->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_killed_region); - - field_name = "killed_site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_kills, field_name)); - auto n_killed_site = new NodeVector; - n_killed_site->m_field_name = field_name; - n_killed_site->m_df_type = DF_Type::int32_t; - n_killed_site->m_rdf_type = RDF_Type::Vector; - n_killed_site->m_node_type = NodeType::Vector; - n_killed_site->m_addornements = "v"; - n_killed_site->m_address = base + offset; - n_killed_site->m_parent = p_node_parent; - n_killed_site->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_killed_site); - - field_name = "killed_undead"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_kills, field_name)); - auto n_killed_undead = new NodeVector; - n_killed_undead->m_field_name = field_name; - n_killed_undead->m_df_type = DF_Type::historical_kills__T_killed_undead; - n_killed_undead->m_rdf_type = RDF_Type::Vector; - n_killed_undead->m_node_type = NodeType::Vector; - n_killed_undead->m_addornements = "v"; - n_killed_undead->m_address = base + offset; - n_killed_undead->m_parent = p_node_parent; - n_killed_undead->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_killed_undead); - - field_name = "killed_count"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_kills, field_name)); - auto n_killed_count = new NodeVector; - n_killed_count->m_field_name = field_name; - n_killed_count->m_df_type = DF_Type::int32_t; - n_killed_count->m_rdf_type = RDF_Type::Vector; - n_killed_count->m_node_type = NodeType::Vector; - n_killed_count->m_addornements = "v"; - n_killed_count->m_address = base + offset; - n_killed_count->m_parent = p_node_parent; - n_killed_count->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_killed_count); - -} -void node_from_history_hit_item(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "item"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_hit_item, field_name)); - auto n_item = new NodeSimple; - n_item->m_field_name = field_name; - n_item->m_df_type = DF_Type::int32_t; - n_item->m_rdf_type = RDF_Type::int32_t; - n_item->m_node_type = NodeType::Simple; - n_item->m_address = base + offset; - n_item->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item); - - field_name = "item_type"; - auto n_item_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_hit_item, field_name)); - n_item_type->m_field_name = field_name; - n_item_type->m_df_type = DF_Type::item_type; - n_item_type->m_rdf_type = RDF_Type::Enum; - n_item_type->m_node_type = NodeType::Enum; - n_item_type->m_base_type = DF_Type::int16_t; - n_item_type->m_enum_type = "item_type"; - n_item_type->m_address = base + offset; - n_item_type->m_defined_in = "df.item-raws.xml"; - n_item_type->m_first_value = -1; - n_item_type->m_last_value = 90; - n_item_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_type); - - field_name = "item_subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_hit_item, field_name)); - auto n_item_subtype = new NodeSimple; - n_item_subtype->m_field_name = field_name; - n_item_subtype->m_df_type = DF_Type::int16_t; - n_item_subtype->m_rdf_type = RDF_Type::int16_t; - n_item_subtype->m_node_type = NodeType::Simple; - n_item_subtype->m_address = base + offset; - n_item_subtype->m_refers_to = "(item-subtype-target $$._parent.item_type $)"; - n_item_subtype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_subtype); - - field_name = "mattype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_hit_item, field_name)); - auto n_mattype = new NodeSimple; - n_mattype->m_field_name = field_name; - n_mattype->m_df_type = DF_Type::int16_t; - n_mattype->m_rdf_type = RDF_Type::int16_t; - n_mattype->m_node_type = NodeType::Simple; - n_mattype->m_address = base + offset; - n_mattype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mattype); - - field_name = "matindex"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_hit_item, field_name)); - auto n_matindex = new NodeSimple; - n_matindex->m_field_name = field_name; - n_matindex->m_df_type = DF_Type::int32_t; - n_matindex->m_rdf_type = RDF_Type::int32_t; - n_matindex->m_node_type = NodeType::Simple; - n_matindex->m_address = base + offset; - n_matindex->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_matindex); - - field_name = "shooter_item"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_hit_item, field_name)); - auto n_shooter_item = new NodeSimple; - n_shooter_item->m_field_name = field_name; - n_shooter_item->m_df_type = DF_Type::int32_t; - n_shooter_item->m_rdf_type = RDF_Type::int32_t; - n_shooter_item->m_node_type = NodeType::Simple; - n_shooter_item->m_address = base + offset; - n_shooter_item->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_shooter_item); - - field_name = "shooter_item_type"; - auto n_shooter_item_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_hit_item, field_name)); - n_shooter_item_type->m_field_name = field_name; - n_shooter_item_type->m_df_type = DF_Type::item_type; - n_shooter_item_type->m_rdf_type = RDF_Type::Enum; - n_shooter_item_type->m_node_type = NodeType::Enum; - n_shooter_item_type->m_base_type = DF_Type::int16_t; - n_shooter_item_type->m_enum_type = "item_type"; - n_shooter_item_type->m_address = base + offset; - n_shooter_item_type->m_defined_in = "df.item-raws.xml"; - n_shooter_item_type->m_first_value = -1; - n_shooter_item_type->m_last_value = 90; - n_shooter_item_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_shooter_item_type); - - field_name = "shooter_item_subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_hit_item, field_name)); - auto n_shooter_item_subtype = new NodeSimple; - n_shooter_item_subtype->m_field_name = field_name; - n_shooter_item_subtype->m_df_type = DF_Type::int16_t; - n_shooter_item_subtype->m_rdf_type = RDF_Type::int16_t; - n_shooter_item_subtype->m_node_type = NodeType::Simple; - n_shooter_item_subtype->m_address = base + offset; - n_shooter_item_subtype->m_refers_to = "(item-subtype-target $$._parent.shooter_item_type $)"; - n_shooter_item_subtype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_shooter_item_subtype); - - field_name = "shooter_mattype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_hit_item, field_name)); - auto n_shooter_mattype = new NodeSimple; - n_shooter_mattype->m_field_name = field_name; - n_shooter_mattype->m_df_type = DF_Type::int16_t; - n_shooter_mattype->m_rdf_type = RDF_Type::int16_t; - n_shooter_mattype->m_node_type = NodeType::Simple; - n_shooter_mattype->m_address = base + offset; - n_shooter_mattype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_shooter_mattype); - - field_name = "shooter_matindex"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_hit_item, field_name)); - auto n_shooter_matindex = new NodeSimple; - n_shooter_matindex->m_field_name = field_name; - n_shooter_matindex->m_df_type = DF_Type::int32_t; - n_shooter_matindex->m_rdf_type = RDF_Type::int32_t; - n_shooter_matindex->m_node_type = NodeType::Simple; - n_shooter_matindex->m_address = base + offset; - n_shooter_matindex->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_shooter_matindex); - -} -void node_from_history_event_hist_figure_diedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "victim_hf"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_diedst, field_name)); - auto n_victim_hf = new NodeSimple; - n_victim_hf->m_field_name = field_name; - n_victim_hf->m_df_type = DF_Type::int32_t; - n_victim_hf->m_rdf_type = RDF_Type::int32_t; - n_victim_hf->m_node_type = NodeType::Simple; - n_victim_hf->m_address = base + offset; - n_victim_hf->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_victim_hf); - - field_name = "slayer_hf"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_diedst, field_name)); - auto n_slayer_hf = new NodeSimple; - n_slayer_hf->m_field_name = field_name; - n_slayer_hf->m_df_type = DF_Type::int32_t; - n_slayer_hf->m_rdf_type = RDF_Type::int32_t; - n_slayer_hf->m_node_type = NodeType::Simple; - n_slayer_hf->m_address = base + offset; - n_slayer_hf->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_slayer_hf); - - field_name = "slayer_race"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_diedst, field_name)); - auto n_slayer_race = new NodeSimple; - n_slayer_race->m_field_name = field_name; - n_slayer_race->m_df_type = DF_Type::int32_t; - n_slayer_race->m_rdf_type = RDF_Type::int32_t; - n_slayer_race->m_node_type = NodeType::Simple; - n_slayer_race->m_address = base + offset; - n_slayer_race->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_slayer_race); - - field_name = "slayer_caste"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_diedst, field_name)); - auto n_slayer_caste = new NodeSimple; - n_slayer_caste->m_field_name = field_name; - n_slayer_caste->m_df_type = DF_Type::int32_t; - n_slayer_caste->m_rdf_type = RDF_Type::int32_t; - n_slayer_caste->m_node_type = NodeType::Simple; - n_slayer_caste->m_address = base + offset; - n_slayer_caste->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_slayer_caste); - - field_name = "weapon"; - auto n_weapon = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_diedst, field_name)); - n_weapon->m_field_name = field_name; - n_weapon->m_df_type = DF_Type::history_hit_item; - n_weapon->m_rdf_type = RDF_Type::Struct; - n_weapon->m_node_type = NodeType::Compound; - n_weapon->m_address = base + offset; - n_weapon->m_defined_in = "df.history.xml"; - n_weapon->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_weapon); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_diedst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "subregion"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_diedst, field_name)); - auto n_subregion = new NodeSimple; - n_subregion->m_field_name = field_name; - n_subregion->m_df_type = DF_Type::int32_t; - n_subregion->m_rdf_type = RDF_Type::int32_t; - n_subregion->m_node_type = NodeType::Simple; - n_subregion->m_address = base + offset; - n_subregion->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_subregion); - - field_name = "feature_layer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_diedst, field_name)); - auto n_feature_layer = new NodeSimple; - n_feature_layer->m_field_name = field_name; - n_feature_layer->m_df_type = DF_Type::int32_t; - n_feature_layer->m_rdf_type = RDF_Type::int32_t; - n_feature_layer->m_node_type = NodeType::Simple; - n_feature_layer->m_address = base + offset; - n_feature_layer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_feature_layer); - - field_name = "death_cause"; - auto n_death_cause = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_diedst, field_name)); - n_death_cause->m_field_name = field_name; - n_death_cause->m_df_type = DF_Type::death_type; - n_death_cause->m_rdf_type = RDF_Type::Enum; - n_death_cause->m_node_type = NodeType::Enum; - n_death_cause->m_base_type = DF_Type::int16_t; - n_death_cause->m_enum_type = "death_type"; - n_death_cause->m_address = base + offset; - n_death_cause->m_defined_in = "df.history.xml"; - n_death_cause->m_first_value = -1; - n_death_cause->m_last_value = 53; - n_death_cause->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_death_cause); - -} -void node_from_history_event_add_hf_entity_linkst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_add_hf_entity_linkst, field_name)); - auto n_civ = new NodeSimple; - n_civ->m_field_name = field_name; - n_civ->m_df_type = DF_Type::int32_t; - n_civ->m_rdf_type = RDF_Type::int32_t; - n_civ->m_node_type = NodeType::Simple; - n_civ->m_address = base + offset; - n_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_civ); - - field_name = "histfig"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_add_hf_entity_linkst, field_name)); - auto n_histfig = new NodeSimple; - n_histfig->m_field_name = field_name; - n_histfig->m_df_type = DF_Type::int32_t; - n_histfig->m_rdf_type = RDF_Type::int32_t; - n_histfig->m_node_type = NodeType::Simple; - n_histfig->m_address = base + offset; - n_histfig->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig); - - field_name = "link_type"; - auto n_link_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_add_hf_entity_linkst, field_name)); - n_link_type->m_field_name = field_name; - n_link_type->m_df_type = DF_Type::histfig_entity_link_type; - n_link_type->m_rdf_type = RDF_Type::Enum; - n_link_type->m_node_type = NodeType::Enum; - n_link_type->m_base_type = DF_Type::int32_t; - n_link_type->m_enum_type = "histfig_entity_link_type"; - n_link_type->m_address = base + offset; - n_link_type->m_defined_in = "df.refs.xml"; - n_link_type->m_first_value = 0; - n_link_type->m_last_value = 16; - n_link_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_link_type); - - field_name = "position_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_add_hf_entity_linkst, field_name)); - auto n_position_id = new NodeSimple; - n_position_id->m_field_name = field_name; - n_position_id->m_df_type = DF_Type::int32_t; - n_position_id->m_rdf_type = RDF_Type::int32_t; - n_position_id->m_node_type = NodeType::Simple; - n_position_id->m_address = base + offset; - n_position_id->m_comment = "index into entity.positions.own"; - n_position_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_position_id); - -} -void node_from_history_event_remove_hf_entity_linkst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_remove_hf_entity_linkst, field_name)); - auto n_civ = new NodeSimple; - n_civ->m_field_name = field_name; - n_civ->m_df_type = DF_Type::int32_t; - n_civ->m_rdf_type = RDF_Type::int32_t; - n_civ->m_node_type = NodeType::Simple; - n_civ->m_address = base + offset; - n_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_civ); - - field_name = "histfig"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_remove_hf_entity_linkst, field_name)); - auto n_histfig = new NodeSimple; - n_histfig->m_field_name = field_name; - n_histfig->m_df_type = DF_Type::int32_t; - n_histfig->m_rdf_type = RDF_Type::int32_t; - n_histfig->m_node_type = NodeType::Simple; - n_histfig->m_address = base + offset; - n_histfig->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig); - - field_name = "link_type"; - auto n_link_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_remove_hf_entity_linkst, field_name)); - n_link_type->m_field_name = field_name; - n_link_type->m_df_type = DF_Type::histfig_entity_link_type; - n_link_type->m_rdf_type = RDF_Type::Enum; - n_link_type->m_node_type = NodeType::Enum; - n_link_type->m_base_type = DF_Type::int32_t; - n_link_type->m_enum_type = "histfig_entity_link_type"; - n_link_type->m_address = base + offset; - n_link_type->m_defined_in = "df.refs.xml"; - n_link_type->m_first_value = 0; - n_link_type->m_last_value = 16; - n_link_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_link_type); - - field_name = "position_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_remove_hf_entity_linkst, field_name)); - auto n_position_id = new NodeSimple; - n_position_id->m_field_name = field_name; - n_position_id->m_df_type = DF_Type::int32_t; - n_position_id->m_rdf_type = RDF_Type::int32_t; - n_position_id->m_node_type = NodeType::Simple; - n_position_id->m_address = base + offset; - n_position_id->m_comment = "index into entity.positions.own"; - n_position_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_position_id); - -} -void node_from_history_event_topicagreement_concludedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "source"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_topicagreement_concludedst, field_name)); - auto n_source = new NodeSimple; - n_source->m_field_name = field_name; - n_source->m_df_type = DF_Type::int32_t; - n_source->m_rdf_type = RDF_Type::int32_t; - n_source->m_node_type = NodeType::Simple; - n_source->m_address = base + offset; - n_source->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_source); - - field_name = "destination"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_topicagreement_concludedst, field_name)); - auto n_destination = new NodeSimple; - n_destination->m_field_name = field_name; - n_destination->m_df_type = DF_Type::int32_t; - n_destination->m_rdf_type = RDF_Type::int32_t; - n_destination->m_node_type = NodeType::Simple; - n_destination->m_address = base + offset; - n_destination->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_destination); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_topicagreement_concludedst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "topic"; - auto n_topic = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_topicagreement_concludedst, field_name)); - n_topic->m_field_name = field_name; - n_topic->m_df_type = DF_Type::meeting_topic; - n_topic->m_rdf_type = RDF_Type::Enum; - n_topic->m_node_type = NodeType::Enum; - n_topic->m_base_type = DF_Type::int16_t; - n_topic->m_enum_type = "meeting_topic"; - n_topic->m_address = base + offset; - n_topic->m_defined_in = "df.meeting.xml"; - n_topic->m_first_value = 0; - n_topic->m_last_value = 9; - n_topic->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_topic); - - field_name = "result"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_topicagreement_concludedst, field_name)); - auto n_result = new NodeSimple; - n_result->m_field_name = field_name; - n_result->m_df_type = DF_Type::int32_t; - n_result->m_rdf_type = RDF_Type::int32_t; - n_result->m_node_type = NodeType::Simple; - n_result->m_address = base + offset; - n_result->m_comment = "range from -3 to +2"; - n_result->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_result); - -} -void node_from_history_event_topicagreement_rejectedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "topic"; - auto n_topic = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_topicagreement_rejectedst, field_name)); - n_topic->m_field_name = field_name; - n_topic->m_df_type = DF_Type::meeting_topic; - n_topic->m_rdf_type = RDF_Type::Enum; - n_topic->m_node_type = NodeType::Enum; - n_topic->m_base_type = DF_Type::int16_t; - n_topic->m_enum_type = "meeting_topic"; - n_topic->m_address = base + offset; - n_topic->m_defined_in = "df.meeting.xml"; - n_topic->m_first_value = 0; - n_topic->m_last_value = 9; - n_topic->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_topic); - - field_name = "source"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_topicagreement_rejectedst, field_name)); - auto n_source = new NodeSimple; - n_source->m_field_name = field_name; - n_source->m_df_type = DF_Type::int32_t; - n_source->m_rdf_type = RDF_Type::int32_t; - n_source->m_node_type = NodeType::Simple; - n_source->m_address = base + offset; - n_source->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_source); - - field_name = "destination"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_topicagreement_rejectedst, field_name)); - auto n_destination = new NodeSimple; - n_destination->m_field_name = field_name; - n_destination->m_df_type = DF_Type::int32_t; - n_destination->m_rdf_type = RDF_Type::int32_t; - n_destination->m_node_type = NodeType::Simple; - n_destination->m_address = base + offset; - n_destination->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_destination); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_topicagreement_rejectedst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - -} -void node_from_history_event_topicagreement_madest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "topic"; - auto n_topic = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_topicagreement_madest, field_name)); - n_topic->m_field_name = field_name; - n_topic->m_df_type = DF_Type::meeting_topic; - n_topic->m_rdf_type = RDF_Type::Enum; - n_topic->m_node_type = NodeType::Enum; - n_topic->m_base_type = DF_Type::int16_t; - n_topic->m_enum_type = "meeting_topic"; - n_topic->m_address = base + offset; - n_topic->m_defined_in = "df.meeting.xml"; - n_topic->m_first_value = 0; - n_topic->m_last_value = 9; - n_topic->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_topic); - - field_name = "source"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_topicagreement_madest, field_name)); - auto n_source = new NodeSimple; - n_source->m_field_name = field_name; - n_source->m_df_type = DF_Type::int32_t; - n_source->m_rdf_type = RDF_Type::int32_t; - n_source->m_node_type = NodeType::Simple; - n_source->m_address = base + offset; - n_source->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_source); - - field_name = "destination"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_topicagreement_madest, field_name)); - auto n_destination = new NodeSimple; - n_destination->m_field_name = field_name; - n_destination->m_df_type = DF_Type::int32_t; - n_destination->m_rdf_type = RDF_Type::int32_t; - n_destination->m_node_type = NodeType::Simple; - n_destination->m_address = base + offset; - n_destination->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_destination); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_topicagreement_madest, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - -} -void node_from_history_event_war_peace_acceptedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "topic"; - auto n_topic = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_peace_acceptedst, field_name)); - n_topic->m_field_name = field_name; - n_topic->m_df_type = DF_Type::meeting_topic; - n_topic->m_rdf_type = RDF_Type::Enum; - n_topic->m_node_type = NodeType::Enum; - n_topic->m_base_type = DF_Type::int16_t; - n_topic->m_enum_type = "meeting_topic"; - n_topic->m_address = base + offset; - n_topic->m_defined_in = "df.meeting.xml"; - n_topic->m_first_value = 0; - n_topic->m_last_value = 9; - n_topic->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_topic); - - field_name = "source"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_peace_acceptedst, field_name)); - auto n_source = new NodeSimple; - n_source->m_field_name = field_name; - n_source->m_df_type = DF_Type::int32_t; - n_source->m_rdf_type = RDF_Type::int32_t; - n_source->m_node_type = NodeType::Simple; - n_source->m_address = base + offset; - n_source->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_source); - - field_name = "destination"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_peace_acceptedst, field_name)); - auto n_destination = new NodeSimple; - n_destination->m_field_name = field_name; - n_destination->m_df_type = DF_Type::int32_t; - n_destination->m_rdf_type = RDF_Type::int32_t; - n_destination->m_node_type = NodeType::Simple; - n_destination->m_address = base + offset; - n_destination->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_destination); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_peace_acceptedst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - -} -void node_from_history_event_war_peace_rejectedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "topic"; - auto n_topic = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_peace_rejectedst, field_name)); - n_topic->m_field_name = field_name; - n_topic->m_df_type = DF_Type::meeting_topic; - n_topic->m_rdf_type = RDF_Type::Enum; - n_topic->m_node_type = NodeType::Enum; - n_topic->m_base_type = DF_Type::int16_t; - n_topic->m_enum_type = "meeting_topic"; - n_topic->m_address = base + offset; - n_topic->m_defined_in = "df.meeting.xml"; - n_topic->m_first_value = 0; - n_topic->m_last_value = 9; - n_topic->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_topic); - - field_name = "source"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_peace_rejectedst, field_name)); - auto n_source = new NodeSimple; - n_source->m_field_name = field_name; - n_source->m_df_type = DF_Type::int32_t; - n_source->m_rdf_type = RDF_Type::int32_t; - n_source->m_node_type = NodeType::Simple; - n_source->m_address = base + offset; - n_source->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_source); - - field_name = "destination"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_peace_rejectedst, field_name)); - auto n_destination = new NodeSimple; - n_destination->m_field_name = field_name; - n_destination->m_df_type = DF_Type::int32_t; - n_destination->m_rdf_type = RDF_Type::int32_t; - n_destination->m_node_type = NodeType::Simple; - n_destination->m_address = base + offset; - n_destination->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_destination); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_peace_rejectedst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - -} -void node_from_history_event_artifact_possessedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "artifact"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_possessedst, field_name)); - auto n_artifact = new NodeSimple; - n_artifact->m_field_name = field_name; - n_artifact->m_df_type = DF_Type::int32_t; - n_artifact->m_rdf_type = RDF_Type::int32_t; - n_artifact->m_node_type = NodeType::Simple; - n_artifact->m_address = base + offset; - n_artifact->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_artifact); - - field_name = "unit"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_possessedst, field_name)); - auto n_unit = new NodeSimple; - n_unit->m_field_name = field_name; - n_unit->m_df_type = DF_Type::int32_t; - n_unit->m_rdf_type = RDF_Type::int32_t; - n_unit->m_node_type = NodeType::Simple; - n_unit->m_address = base + offset; - n_unit->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unit); - - field_name = "histfig"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_possessedst, field_name)); - auto n_histfig = new NodeSimple; - n_histfig->m_field_name = field_name; - n_histfig->m_df_type = DF_Type::int32_t; - n_histfig->m_rdf_type = RDF_Type::int32_t; - n_histfig->m_node_type = NodeType::Simple; - n_histfig->m_address = base + offset; - n_histfig->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_possessedst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_possessedst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_possessedst, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "circumstance"; - auto n_circumstance = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_possessedst, field_name)); - n_circumstance->m_field_name = field_name; - n_circumstance->m_df_type = DF_Type::unit_thought_type; - n_circumstance->m_rdf_type = RDF_Type::Enum; - n_circumstance->m_node_type = NodeType::Enum; - n_circumstance->m_base_type = DF_Type::int32_t; - n_circumstance->m_enum_type = "unit_thought_type"; - n_circumstance->m_address = base + offset; - n_circumstance->m_defined_in = "df.unit-thoughts.xml"; - n_circumstance->m_first_value = -1; - n_circumstance->m_last_value = 242; - n_circumstance->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_circumstance); - - field_name = "circumstance_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_possessedst, field_name)); - auto n_circumstance_id = new NodeSimple; - n_circumstance_id->m_field_name = field_name; - n_circumstance_id->m_df_type = DF_Type::int32_t; - n_circumstance_id->m_rdf_type = RDF_Type::int32_t; - n_circumstance_id->m_node_type = NodeType::Simple; - n_circumstance_id->m_address = base + offset; - n_circumstance_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_circumstance_id); - - field_name = "reason"; - auto n_reason = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_possessedst, field_name)); - n_reason->m_field_name = field_name; - n_reason->m_df_type = DF_Type::history_event_reason; - n_reason->m_rdf_type = RDF_Type::Enum; - n_reason->m_node_type = NodeType::Enum; - n_reason->m_base_type = DF_Type::int32_t; - n_reason->m_enum_type = "history_event_reason"; - n_reason->m_address = base + offset; - n_reason->m_defined_in = "df.history.xml"; - n_reason->m_first_value = -1; - n_reason->m_last_value = 77; - n_reason->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_reason); - - field_name = "reason_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_possessedst, field_name)); - auto n_reason_id = new NodeSimple; - n_reason_id->m_field_name = field_name; - n_reason_id->m_df_type = DF_Type::int32_t; - n_reason_id->m_rdf_type = RDF_Type::int32_t; - n_reason_id->m_node_type = NodeType::Simple; - n_reason_id->m_address = base + offset; - n_reason_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_reason_id); - -} -void node_from_history_event_entity_actionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "entity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_entity_actionst, field_name)); - auto n_entity = new NodeSimple; - n_entity->m_field_name = field_name; - n_entity->m_df_type = DF_Type::int32_t; - n_entity->m_rdf_type = RDF_Type::int32_t; - n_entity->m_node_type = NodeType::Simple; - n_entity->m_address = base + offset; - n_entity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_entity_actionst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "structure"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_entity_actionst, field_name)); - auto n_structure = new NodeSimple; - n_structure->m_field_name = field_name; - n_structure->m_df_type = DF_Type::int32_t; - n_structure->m_rdf_type = RDF_Type::int32_t; - n_structure->m_node_type = NodeType::Simple; - n_structure->m_address = base + offset; - n_structure->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_structure); - - field_name = "action"; - auto n_action = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_entity_actionst, field_name)); - n_action->m_field_name = field_name; - n_action->m_df_type = DF_Type::entity_action_type; - n_action->m_rdf_type = RDF_Type::Enum; - n_action->m_node_type = NodeType::Enum; - n_action->m_base_type = DF_Type::int32_t; - n_action->m_enum_type = "entity_action_type"; - n_action->m_address = base + offset; - n_action->m_defined_in = "df.history.xml"; - n_action->m_first_value = 0; - n_action->m_last_value = 1; - n_action->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_action); - -} -void node_from_history_event_add_hf_site_linkst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_add_hf_site_linkst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "structure"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_add_hf_site_linkst, field_name)); - auto n_structure = new NodeSimple; - n_structure->m_field_name = field_name; - n_structure->m_df_type = DF_Type::int32_t; - n_structure->m_rdf_type = RDF_Type::int32_t; - n_structure->m_node_type = NodeType::Simple; - n_structure->m_address = base + offset; - n_structure->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_structure); - - field_name = "histfig"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_add_hf_site_linkst, field_name)); - auto n_histfig = new NodeSimple; - n_histfig->m_field_name = field_name; - n_histfig->m_df_type = DF_Type::int32_t; - n_histfig->m_rdf_type = RDF_Type::int32_t; - n_histfig->m_node_type = NodeType::Simple; - n_histfig->m_address = base + offset; - n_histfig->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig); - - field_name = "civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_add_hf_site_linkst, field_name)); - auto n_civ = new NodeSimple; - n_civ->m_field_name = field_name; - n_civ->m_df_type = DF_Type::int32_t; - n_civ->m_rdf_type = RDF_Type::int32_t; - n_civ->m_node_type = NodeType::Simple; - n_civ->m_address = base + offset; - n_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_civ); - - field_name = "type"; - auto n_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_add_hf_site_linkst, field_name)); - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::histfig_site_link_type; - n_type->m_rdf_type = RDF_Type::Enum; - n_type->m_node_type = NodeType::Enum; - n_type->m_base_type = DF_Type::int32_t; - n_type->m_enum_type = "histfig_site_link_type"; - n_type->m_address = base + offset; - n_type->m_defined_in = "df.refs.xml"; - n_type->m_first_value = 0; - n_type->m_last_value = 7; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - -} -void node_from_history_event_remove_hf_site_linkst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_remove_hf_site_linkst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "structure"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_remove_hf_site_linkst, field_name)); - auto n_structure = new NodeSimple; - n_structure->m_field_name = field_name; - n_structure->m_df_type = DF_Type::int32_t; - n_structure->m_rdf_type = RDF_Type::int32_t; - n_structure->m_node_type = NodeType::Simple; - n_structure->m_address = base + offset; - n_structure->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_structure); - - field_name = "histfig"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_remove_hf_site_linkst, field_name)); - auto n_histfig = new NodeSimple; - n_histfig->m_field_name = field_name; - n_histfig->m_df_type = DF_Type::int32_t; - n_histfig->m_rdf_type = RDF_Type::int32_t; - n_histfig->m_node_type = NodeType::Simple; - n_histfig->m_address = base + offset; - n_histfig->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig); - - field_name = "civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_remove_hf_site_linkst, field_name)); - auto n_civ = new NodeSimple; - n_civ->m_field_name = field_name; - n_civ->m_df_type = DF_Type::int32_t; - n_civ->m_rdf_type = RDF_Type::int32_t; - n_civ->m_node_type = NodeType::Simple; - n_civ->m_address = base + offset; - n_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_civ); - - field_name = "type"; - auto n_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_remove_hf_site_linkst, field_name)); - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::histfig_site_link_type; - n_type->m_rdf_type = RDF_Type::Enum; - n_type->m_node_type = NodeType::Enum; - n_type->m_base_type = DF_Type::int32_t; - n_type->m_enum_type = "histfig_site_link_type"; - n_type->m_address = base + offset; - n_type->m_defined_in = "df.refs.xml"; - n_type->m_first_value = 0; - n_type->m_last_value = 7; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - -} -void node_from_history_event_add_hf_hf_linkst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "hf"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_add_hf_hf_linkst, field_name)); - auto n_hf = new NodeSimple; - n_hf->m_field_name = field_name; - n_hf->m_df_type = DF_Type::int32_t; - n_hf->m_rdf_type = RDF_Type::int32_t; - n_hf->m_node_type = NodeType::Simple; - n_hf->m_address = base + offset; - n_hf->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_hf); - - field_name = "hf_target"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_add_hf_hf_linkst, field_name)); - auto n_hf_target = new NodeSimple; - n_hf_target->m_field_name = field_name; - n_hf_target->m_df_type = DF_Type::int32_t; - n_hf_target->m_rdf_type = RDF_Type::int32_t; - n_hf_target->m_node_type = NodeType::Simple; - n_hf_target->m_address = base + offset; - n_hf_target->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_hf_target); - - field_name = "type"; - auto n_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_add_hf_hf_linkst, field_name)); - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::histfig_hf_link_type; - n_type->m_rdf_type = RDF_Type::Enum; - n_type->m_node_type = NodeType::Enum; - n_type->m_base_type = DF_Type::int32_t; - n_type->m_enum_type = "histfig_hf_link_type"; - n_type->m_address = base + offset; - n_type->m_defined_in = "df.refs.xml"; - n_type->m_first_value = 0; - n_type->m_last_value = 13; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - -} -void node_from_history_event_remove_hf_hf_linkst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "hf"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_remove_hf_hf_linkst, field_name)); - auto n_hf = new NodeSimple; - n_hf->m_field_name = field_name; - n_hf->m_df_type = DF_Type::int32_t; - n_hf->m_rdf_type = RDF_Type::int32_t; - n_hf->m_node_type = NodeType::Simple; - n_hf->m_address = base + offset; - n_hf->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_hf); - - field_name = "hf_target"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_remove_hf_hf_linkst, field_name)); - auto n_hf_target = new NodeSimple; - n_hf_target->m_field_name = field_name; - n_hf_target->m_df_type = DF_Type::int32_t; - n_hf_target->m_rdf_type = RDF_Type::int32_t; - n_hf_target->m_node_type = NodeType::Simple; - n_hf_target->m_address = base + offset; - n_hf_target->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_hf_target); - - field_name = "type"; - auto n_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_remove_hf_hf_linkst, field_name)); - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::histfig_hf_link_type; - n_type->m_rdf_type = RDF_Type::Enum; - n_type->m_node_type = NodeType::Enum; - n_type->m_base_type = DF_Type::int32_t; - n_type->m_enum_type = "histfig_hf_link_type"; - n_type->m_address = base + offset; - n_type->m_defined_in = "df.refs.xml"; - n_type->m_first_value = 0; - n_type->m_last_value = 13; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - -} -void node_from_history_event_masterpiece_created_itemst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event_masterpiece_createdst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event_masterpiece_createdst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "skill_used"; - auto n_skill_used = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_itemst, field_name)); - n_skill_used->m_field_name = field_name; - n_skill_used->m_df_type = DF_Type::job_skill; - n_skill_used->m_rdf_type = RDF_Type::Enum; - n_skill_used->m_node_type = NodeType::Enum; - n_skill_used->m_base_type = DF_Type::int32_t; - n_skill_used->m_enum_type = "job_skill"; - n_skill_used->m_address = base + offset; - n_skill_used->m_defined_in = "df.skills.xml"; - n_skill_used->m_first_value = -1; - n_skill_used->m_last_value = 134; - n_skill_used->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_skill_used); - - field_name = "item_type"; - auto n_item_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_itemst, field_name)); - n_item_type->m_field_name = field_name; - n_item_type->m_df_type = DF_Type::item_type; - n_item_type->m_rdf_type = RDF_Type::Enum; - n_item_type->m_node_type = NodeType::Enum; - n_item_type->m_base_type = DF_Type::int16_t; - n_item_type->m_enum_type = "item_type"; - n_item_type->m_address = base + offset; - n_item_type->m_defined_in = "df.item-raws.xml"; - n_item_type->m_first_value = -1; - n_item_type->m_last_value = 90; - n_item_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_type); - - field_name = "item_subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_itemst, field_name)); - auto n_item_subtype = new NodeSimple; - n_item_subtype->m_field_name = field_name; - n_item_subtype->m_df_type = DF_Type::int16_t; - n_item_subtype->m_rdf_type = RDF_Type::int16_t; - n_item_subtype->m_node_type = NodeType::Simple; - n_item_subtype->m_address = base + offset; - n_item_subtype->m_refers_to = "(item-subtype-target $$._parent.item_type $)"; - n_item_subtype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_subtype); - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_itemst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_itemst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int16_t; - n_mat_index->m_rdf_type = RDF_Type::int16_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "item_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_itemst, field_name)); - auto n_item_id = new NodeSimple; - n_item_id->m_field_name = field_name; - n_item_id->m_df_type = DF_Type::int32_t; - n_item_id->m_rdf_type = RDF_Type::int32_t; - n_item_id->m_node_type = NodeType::Simple; - n_item_id->m_address = base + offset; - n_item_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_id); - -} -void node_from_history_event_masterpiece_created_dye_itemst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event_masterpiece_createdst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event_masterpiece_createdst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_dye_itemst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "item_type"; - auto n_item_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_dye_itemst, field_name)); - n_item_type->m_field_name = field_name; - n_item_type->m_df_type = DF_Type::item_type; - n_item_type->m_rdf_type = RDF_Type::Enum; - n_item_type->m_node_type = NodeType::Enum; - n_item_type->m_base_type = DF_Type::int16_t; - n_item_type->m_enum_type = "item_type"; - n_item_type->m_address = base + offset; - n_item_type->m_defined_in = "df.item-raws.xml"; - n_item_type->m_first_value = -1; - n_item_type->m_last_value = 90; - n_item_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_type); - - field_name = "item_subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_dye_itemst, field_name)); - auto n_item_subtype = new NodeSimple; - n_item_subtype->m_field_name = field_name; - n_item_subtype->m_df_type = DF_Type::int16_t; - n_item_subtype->m_rdf_type = RDF_Type::int16_t; - n_item_subtype->m_node_type = NodeType::Simple; - n_item_subtype->m_address = base + offset; - n_item_subtype->m_refers_to = "(item-subtype-target $$._parent.item_type $)"; - n_item_subtype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_subtype); - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_dye_itemst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_dye_itemst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_dye_itemst, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "dye_mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_dye_itemst, field_name)); - auto n_dye_mat_type = new NodeSimple; - n_dye_mat_type->m_field_name = field_name; - n_dye_mat_type->m_df_type = DF_Type::int16_t; - n_dye_mat_type->m_rdf_type = RDF_Type::int16_t; - n_dye_mat_type->m_node_type = NodeType::Simple; - n_dye_mat_type->m_address = base + offset; - n_dye_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dye_mat_type); - - field_name = "dye_mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_dye_itemst, field_name)); - auto n_dye_mat_index = new NodeSimple; - n_dye_mat_index->m_field_name = field_name; - n_dye_mat_index->m_df_type = DF_Type::int32_t; - n_dye_mat_index->m_rdf_type = RDF_Type::int32_t; - n_dye_mat_index->m_node_type = NodeType::Simple; - n_dye_mat_index->m_address = base + offset; - n_dye_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dye_mat_index); - -} -void node_from_history_event_masterpiece_created_item_improvementst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event_masterpiece_createdst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event_masterpiece_createdst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_item_improvementst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "item_type"; - auto n_item_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_item_improvementst, field_name)); - n_item_type->m_field_name = field_name; - n_item_type->m_df_type = DF_Type::item_type; - n_item_type->m_rdf_type = RDF_Type::Enum; - n_item_type->m_node_type = NodeType::Enum; - n_item_type->m_base_type = DF_Type::int16_t; - n_item_type->m_enum_type = "item_type"; - n_item_type->m_address = base + offset; - n_item_type->m_defined_in = "df.item-raws.xml"; - n_item_type->m_first_value = -1; - n_item_type->m_last_value = 90; - n_item_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_type); - - field_name = "item_subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_item_improvementst, field_name)); - auto n_item_subtype = new NodeSimple; - n_item_subtype->m_field_name = field_name; - n_item_subtype->m_df_type = DF_Type::int16_t; - n_item_subtype->m_rdf_type = RDF_Type::int16_t; - n_item_subtype->m_node_type = NodeType::Simple; - n_item_subtype->m_address = base + offset; - n_item_subtype->m_refers_to = "(item-subtype-target $$._parent.item_type $)"; - n_item_subtype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_subtype); - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_item_improvementst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_item_improvementst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_item_improvementst, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "improvement_type"; - auto n_improvement_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_item_improvementst, field_name)); - n_improvement_type->m_field_name = field_name; - n_improvement_type->m_df_type = DF_Type::improvement_type; - n_improvement_type->m_rdf_type = RDF_Type::Enum; - n_improvement_type->m_node_type = NodeType::Enum; - n_improvement_type->m_base_type = DF_Type::int16_t; - n_improvement_type->m_enum_type = "improvement_type"; - n_improvement_type->m_address = base + offset; - n_improvement_type->m_defined_in = "df.itemimprovements.xml"; - n_improvement_type->m_first_value = 0; - n_improvement_type->m_last_value = 12; - n_improvement_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_improvement_type); - - field_name = "improvement_subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_item_improvementst, field_name)); - auto n_improvement_subtype = new NodeSimple; - n_improvement_subtype->m_field_name = field_name; - n_improvement_subtype->m_df_type = DF_Type::int32_t; - n_improvement_subtype->m_rdf_type = RDF_Type::int32_t; - n_improvement_subtype->m_node_type = NodeType::Simple; - n_improvement_subtype->m_address = base + offset; - n_improvement_subtype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_improvement_subtype); - - field_name = "imp_mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_item_improvementst, field_name)); - auto n_imp_mat_type = new NodeSimple; - n_imp_mat_type->m_field_name = field_name; - n_imp_mat_type->m_df_type = DF_Type::int16_t; - n_imp_mat_type->m_rdf_type = RDF_Type::int16_t; - n_imp_mat_type->m_node_type = NodeType::Simple; - n_imp_mat_type->m_address = base + offset; - n_imp_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_imp_mat_type); - - field_name = "imp_mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_item_improvementst, field_name)); - auto n_imp_mat_index = new NodeSimple; - n_imp_mat_index->m_field_name = field_name; - n_imp_mat_index->m_df_type = DF_Type::int32_t; - n_imp_mat_index->m_rdf_type = RDF_Type::int32_t; - n_imp_mat_index->m_node_type = NodeType::Simple; - n_imp_mat_index->m_address = base + offset; - n_imp_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_imp_mat_index); - - field_name = "art_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_item_improvementst, field_name)); - auto n_art_id = new NodeSimple; - n_art_id->m_field_name = field_name; - n_art_id->m_df_type = DF_Type::int32_t; - n_art_id->m_rdf_type = RDF_Type::int32_t; - n_art_id->m_node_type = NodeType::Simple; - n_art_id->m_address = base + offset; - n_art_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_art_id); - - field_name = "art_subid"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_item_improvementst, field_name)); - auto n_art_subid = new NodeSimple; - n_art_subid->m_field_name = field_name; - n_art_subid->m_df_type = DF_Type::int16_t; - n_art_subid->m_rdf_type = RDF_Type::int16_t; - n_art_subid->m_node_type = NodeType::Simple; - n_art_subid->m_address = base + offset; - n_art_subid->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_art_subid); - -} -void node_from_history_event_masterpiece_created_engravingst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event_masterpiece_createdst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event_masterpiece_createdst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "skill_rating"; - auto n_skill_rating = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_engravingst, field_name)); - n_skill_rating->m_field_name = field_name; - n_skill_rating->m_df_type = DF_Type::skill_rating; - n_skill_rating->m_rdf_type = RDF_Type::Enum; - n_skill_rating->m_node_type = NodeType::Enum; - n_skill_rating->m_base_type = DF_Type::int32_t; - n_skill_rating->m_enum_type = "skill_rating"; - n_skill_rating->m_address = base + offset; - n_skill_rating->m_comment = "at the moment of creation"; - n_skill_rating->m_defined_in = "df.units.xml"; - n_skill_rating->m_first_value = 0; - n_skill_rating->m_last_value = 20; - n_skill_rating->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_skill_rating); - - field_name = "art_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_engravingst, field_name)); - auto n_art_id = new NodeSimple; - n_art_id->m_field_name = field_name; - n_art_id->m_df_type = DF_Type::int32_t; - n_art_id->m_rdf_type = RDF_Type::int32_t; - n_art_id->m_node_type = NodeType::Simple; - n_art_id->m_address = base + offset; - n_art_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_art_id); - - field_name = "art_subid"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_engravingst, field_name)); - auto n_art_subid = new NodeSimple; - n_art_subid->m_field_name = field_name; - n_art_subid->m_df_type = DF_Type::int16_t; - n_art_subid->m_rdf_type = RDF_Type::int16_t; - n_art_subid->m_node_type = NodeType::Simple; - n_art_subid->m_address = base + offset; - n_art_subid->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_art_subid); - -} -void node_from_history_event_masterpiece_lostst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "creation_event"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_lostst, field_name)); - auto n_creation_event = new NodeSimple; - n_creation_event->m_field_name = field_name; - n_creation_event->m_df_type = DF_Type::int32_t; - n_creation_event->m_rdf_type = RDF_Type::int32_t; - n_creation_event->m_node_type = NodeType::Simple; - n_creation_event->m_address = base + offset; - n_creation_event->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_creation_event); - - field_name = "histfig"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_lostst, field_name)); - auto n_histfig = new NodeSimple; - n_histfig->m_field_name = field_name; - n_histfig->m_df_type = DF_Type::int32_t; - n_histfig->m_rdf_type = RDF_Type::int32_t; - n_histfig->m_node_type = NodeType::Simple; - n_histfig->m_address = base + offset; - n_histfig->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_lostst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "method"; - auto n_method = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_lostst, field_name)); - n_method->m_field_name = field_name; - n_method->m_df_type = DF_Type::masterpiece_loss_type; - n_method->m_rdf_type = RDF_Type::Enum; - n_method->m_node_type = NodeType::Enum; - n_method->m_base_type = DF_Type::int16_t; - n_method->m_enum_type = "masterpiece_loss_type"; - n_method->m_address = base + offset; - n_method->m_defined_in = "df.history.xml"; - n_method->m_first_value = 0; - n_method->m_last_value = 5; - n_method->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_method); - -} -void node_from_history_event_change_hf_statest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "hfid"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_hf_statest, field_name)); - auto n_hfid = new NodeSimple; - n_hfid->m_field_name = field_name; - n_hfid->m_df_type = DF_Type::int32_t; - n_hfid->m_rdf_type = RDF_Type::int32_t; - n_hfid->m_node_type = NodeType::Simple; - n_hfid->m_address = base + offset; - n_hfid->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_hfid); - - field_name = "state"; - auto n_state = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_hf_statest, field_name)); - n_state->m_field_name = field_name; - n_state->m_df_type = DF_Type::history_event_change_hf_statest__T_state; - n_state->m_rdf_type = RDF_Type::Enum; - n_state->m_node_type = NodeType::Enum; - n_state->m_base_type = DF_Type::int16_t; - n_state->m_enum_type = "history_event_change_hf_statest::T_state"; - n_state->m_address = base + offset; - n_state->m_first_value = 0; - n_state->m_last_value = 5; - n_state->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_state); - - field_name = "reason"; - auto n_reason = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_hf_statest, field_name)); - n_reason->m_field_name = field_name; - n_reason->m_df_type = DF_Type::history_event_reason; - n_reason->m_rdf_type = RDF_Type::Enum; - n_reason->m_node_type = NodeType::Enum; - n_reason->m_base_type = DF_Type::int32_t; - n_reason->m_enum_type = "history_event_reason"; - n_reason->m_address = base + offset; - n_reason->m_defined_in = "df.history.xml"; - n_reason->m_first_value = -1; - n_reason->m_last_value = 77; - n_reason->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_reason); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_hf_statest, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "region"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_hf_statest, field_name)); - auto n_region = new NodeSimple; - n_region->m_field_name = field_name; - n_region->m_df_type = DF_Type::int32_t; - n_region->m_rdf_type = RDF_Type::int32_t; - n_region->m_node_type = NodeType::Simple; - n_region->m_address = base + offset; - n_region->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region); - - field_name = "layer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_hf_statest, field_name)); - auto n_layer = new NodeSimple; - n_layer->m_field_name = field_name; - n_layer->m_df_type = DF_Type::int32_t; - n_layer->m_rdf_type = RDF_Type::int32_t; - n_layer->m_node_type = NodeType::Simple; - n_layer->m_address = base + offset; - n_layer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_layer); - - field_name = "region_pos"; - auto n_region_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_hf_statest, field_name)); - n_region_pos->m_field_name = field_name; - n_region_pos->m_df_type = DF_Type::coord2d; - n_region_pos->m_rdf_type = RDF_Type::Struct; - n_region_pos->m_node_type = NodeType::Compound; - n_region_pos->m_address = base + offset; - n_region_pos->m_defined_in = "df.map.xml"; - n_region_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region_pos); - -} -void node_from_history_event_change_hf_jobst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "hfid"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_hf_jobst, field_name)); - auto n_hfid = new NodeSimple; - n_hfid->m_field_name = field_name; - n_hfid->m_df_type = DF_Type::int32_t; - n_hfid->m_rdf_type = RDF_Type::int32_t; - n_hfid->m_node_type = NodeType::Simple; - n_hfid->m_address = base + offset; - n_hfid->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_hfid); - - field_name = "new_job"; - auto n_new_job = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_hf_jobst, field_name)); - n_new_job->m_field_name = field_name; - n_new_job->m_df_type = DF_Type::profession; - n_new_job->m_rdf_type = RDF_Type::Enum; - n_new_job->m_node_type = NodeType::Enum; - n_new_job->m_base_type = DF_Type::int16_t; - n_new_job->m_enum_type = "profession"; - n_new_job->m_address = base + offset; - n_new_job->m_defined_in = "df.skills.xml"; - n_new_job->m_first_value = -1; - n_new_job->m_last_value = 134; - n_new_job->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_new_job); - - field_name = "old_job"; - auto n_old_job = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_hf_jobst, field_name)); - n_old_job->m_field_name = field_name; - n_old_job->m_df_type = DF_Type::profession; - n_old_job->m_rdf_type = RDF_Type::Enum; - n_old_job->m_node_type = NodeType::Enum; - n_old_job->m_base_type = DF_Type::int16_t; - n_old_job->m_enum_type = "profession"; - n_old_job->m_address = base + offset; - n_old_job->m_defined_in = "df.skills.xml"; - n_old_job->m_first_value = -1; - n_old_job->m_last_value = 134; - n_old_job->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_old_job); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_hf_jobst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "region"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_hf_jobst, field_name)); - auto n_region = new NodeSimple; - n_region->m_field_name = field_name; - n_region->m_df_type = DF_Type::int32_t; - n_region->m_rdf_type = RDF_Type::int32_t; - n_region->m_node_type = NodeType::Simple; - n_region->m_address = base + offset; - n_region->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region); - - field_name = "layer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_hf_jobst, field_name)); - auto n_layer = new NodeSimple; - n_layer->m_field_name = field_name; - n_layer->m_df_type = DF_Type::int32_t; - n_layer->m_rdf_type = RDF_Type::int32_t; - n_layer->m_node_type = NodeType::Simple; - n_layer->m_address = base + offset; - n_layer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_layer); - -} -void node_from_history_event_war_field_battlest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "attacker_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_field_battlest, field_name)); - auto n_attacker_civ = new NodeSimple; - n_attacker_civ->m_field_name = field_name; - n_attacker_civ->m_df_type = DF_Type::int32_t; - n_attacker_civ->m_rdf_type = RDF_Type::int32_t; - n_attacker_civ->m_node_type = NodeType::Simple; - n_attacker_civ->m_address = base + offset; - n_attacker_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_attacker_civ); - - field_name = "defender_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_field_battlest, field_name)); - auto n_defender_civ = new NodeSimple; - n_defender_civ->m_field_name = field_name; - n_defender_civ->m_df_type = DF_Type::int32_t; - n_defender_civ->m_rdf_type = RDF_Type::int32_t; - n_defender_civ->m_node_type = NodeType::Simple; - n_defender_civ->m_address = base + offset; - n_defender_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_defender_civ); - - field_name = "region"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_field_battlest, field_name)); - auto n_region = new NodeSimple; - n_region->m_field_name = field_name; - n_region->m_df_type = DF_Type::int32_t; - n_region->m_rdf_type = RDF_Type::int32_t; - n_region->m_node_type = NodeType::Simple; - n_region->m_address = base + offset; - n_region->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region); - - field_name = "layer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_field_battlest, field_name)); - auto n_layer = new NodeSimple; - n_layer->m_field_name = field_name; - n_layer->m_df_type = DF_Type::int32_t; - n_layer->m_rdf_type = RDF_Type::int32_t; - n_layer->m_node_type = NodeType::Simple; - n_layer->m_address = base + offset; - n_layer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_layer); - - field_name = "region_pos"; - auto n_region_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_field_battlest, field_name)); - n_region_pos->m_field_name = field_name; - n_region_pos->m_df_type = DF_Type::coord2d; - n_region_pos->m_rdf_type = RDF_Type::Struct; - n_region_pos->m_node_type = NodeType::Compound; - n_region_pos->m_address = base + offset; - n_region_pos->m_defined_in = "df.map.xml"; - n_region_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region_pos); - - field_name = "attacker_general_hf"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_field_battlest, field_name)); - auto n_attacker_general_hf = new NodeSimple; - n_attacker_general_hf->m_field_name = field_name; - n_attacker_general_hf->m_df_type = DF_Type::int32_t; - n_attacker_general_hf->m_rdf_type = RDF_Type::int32_t; - n_attacker_general_hf->m_node_type = NodeType::Simple; - n_attacker_general_hf->m_address = base + offset; - n_attacker_general_hf->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_attacker_general_hf); - - field_name = "defender_general_hf"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_field_battlest, field_name)); - auto n_defender_general_hf = new NodeSimple; - n_defender_general_hf->m_field_name = field_name; - n_defender_general_hf->m_df_type = DF_Type::int32_t; - n_defender_general_hf->m_rdf_type = RDF_Type::int32_t; - n_defender_general_hf->m_node_type = NodeType::Simple; - n_defender_general_hf->m_address = base + offset; - n_defender_general_hf->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_defender_general_hf); - -} -void node_from_history_event_body_abusedst__T_props__T_item(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "item_type"; - auto n_item_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_body_abusedst__T_props__T_item, field_name)); - n_item_type->m_field_name = field_name; - n_item_type->m_df_type = DF_Type::item_type; - n_item_type->m_rdf_type = RDF_Type::Enum; - n_item_type->m_node_type = NodeType::Enum; - n_item_type->m_base_type = DF_Type::int16_t; - n_item_type->m_enum_type = "item_type"; - n_item_type->m_address = base + offset; - n_item_type->m_comment = "always WEAPON?"; - n_item_type->m_defined_in = "df.item-raws.xml"; - n_item_type->m_first_value = -1; - n_item_type->m_last_value = 90; - n_item_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_type); - - field_name = "item_subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_body_abusedst__T_props__T_item, field_name)); - auto n_item_subtype = new NodeSimple; - n_item_subtype->m_field_name = field_name; - n_item_subtype->m_df_type = DF_Type::int32_t; - n_item_subtype->m_rdf_type = RDF_Type::int32_t; - n_item_subtype->m_node_type = NodeType::Simple; - n_item_subtype->m_address = base + offset; - n_item_subtype->m_refers_to = "(item-subtype-target $$._parent.item_type $)"; - n_item_subtype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_subtype); - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_body_abusedst__T_props__T_item, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_body_abusedst__T_props__T_item, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - -} -void node_from_history_event_body_abusedst__T_props__T_hung(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "tree"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_body_abusedst__T_props__T_hung, field_name)); - auto n_tree = new NodeSimple; - n_tree->m_field_name = field_name; - n_tree->m_df_type = DF_Type::int32_t; - n_tree->m_rdf_type = RDF_Type::int32_t; - n_tree->m_node_type = NodeType::Simple; - n_tree->m_address = base + offset; - n_tree->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tree); - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_body_abusedst__T_props__T_hung, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_comment = "rope"; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_body_abusedst__T_props__T_hung, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_comment = "rope"; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - -} -void node_from_history_event_body_abusedst__T_props(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = true) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "item"; - auto n_item = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_body_abusedst__T_props, field_name)); - n_item->m_field_name = field_name; - n_item->m_df_type = DF_Type::history_event_body_abusedst__T_props__T_item; - n_item->m_rdf_type = RDF_Type::Compound; - n_item->m_node_type = NodeType::Compound; - n_item->m_address = base + offset; - n_item->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item); - - field_name = "structure"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_body_abusedst__T_props, field_name)); - auto n_structure = new NodeSimple; - n_structure->m_field_name = field_name; - n_structure->m_df_type = DF_Type::int32_t; - n_structure->m_rdf_type = RDF_Type::int32_t; - n_structure->m_node_type = NodeType::Simple; - n_structure->m_address = base + offset; - n_structure->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_structure); - - field_name = "pile_type"; - auto n_pile_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_body_abusedst__T_props, field_name)); - n_pile_type->m_field_name = field_name; - n_pile_type->m_df_type = DF_Type::history_event_body_abusedst__T_props__T_pile_type; - n_pile_type->m_rdf_type = RDF_Type::Enum; - n_pile_type->m_node_type = NodeType::Enum; - n_pile_type->m_base_type = DF_Type::int32_t; - n_pile_type->m_enum_type = "history_event_body_abusedst::T_props::T_pile_type"; - n_pile_type->m_address = base + offset; - n_pile_type->m_first_value = 0; - n_pile_type->m_last_value = 2; - n_pile_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pile_type); - - field_name = "hung"; - auto n_hung = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_body_abusedst__T_props, field_name)); - n_hung->m_field_name = field_name; - n_hung->m_df_type = DF_Type::history_event_body_abusedst__T_props__T_hung; - n_hung->m_rdf_type = RDF_Type::Compound; - n_hung->m_node_type = NodeType::Compound; - n_hung->m_address = base + offset; - n_hung->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_hung); - -} -void node_from_history_event_body_abusedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "bodies"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_body_abusedst, field_name)); - auto n_bodies = new NodeVector; - n_bodies->m_field_name = field_name; - n_bodies->m_df_type = DF_Type::int32_t; - n_bodies->m_rdf_type = RDF_Type::Vector; - n_bodies->m_node_type = NodeType::Vector; - n_bodies->m_addornements = "v"; - n_bodies->m_address = base + offset; - n_bodies->m_parent = p_node_parent; - n_bodies->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bodies); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_body_abusedst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_body_abusedst, field_name)); - auto n_civ = new NodeSimple; - n_civ->m_field_name = field_name; - n_civ->m_df_type = DF_Type::int32_t; - n_civ->m_rdf_type = RDF_Type::int32_t; - n_civ->m_node_type = NodeType::Simple; - n_civ->m_address = base + offset; - n_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_civ); - - field_name = "histfig"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_body_abusedst, field_name)); - auto n_histfig = new NodeSimple; - n_histfig->m_field_name = field_name; - n_histfig->m_df_type = DF_Type::int32_t; - n_histfig->m_rdf_type = RDF_Type::int32_t; - n_histfig->m_node_type = NodeType::Simple; - n_histfig->m_address = base + offset; - n_histfig->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_body_abusedst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "region"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_body_abusedst, field_name)); - auto n_region = new NodeSimple; - n_region->m_field_name = field_name; - n_region->m_df_type = DF_Type::int32_t; - n_region->m_rdf_type = RDF_Type::int32_t; - n_region->m_node_type = NodeType::Simple; - n_region->m_address = base + offset; - n_region->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region); - - field_name = "layer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_body_abusedst, field_name)); - auto n_layer = new NodeSimple; - n_layer->m_field_name = field_name; - n_layer->m_df_type = DF_Type::int32_t; - n_layer->m_rdf_type = RDF_Type::int32_t; - n_layer->m_node_type = NodeType::Simple; - n_layer->m_address = base + offset; - n_layer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_layer); - - field_name = "region_pos"; - auto n_region_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_body_abusedst, field_name)); - n_region_pos->m_field_name = field_name; - n_region_pos->m_df_type = DF_Type::coord2d; - n_region_pos->m_rdf_type = RDF_Type::Struct; - n_region_pos->m_node_type = NodeType::Compound; - n_region_pos->m_address = base + offset; - n_region_pos->m_defined_in = "df.map.xml"; - n_region_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region_pos); - - field_name = "abuse_type"; - auto n_abuse_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_body_abusedst, field_name)); - n_abuse_type->m_field_name = field_name; - n_abuse_type->m_df_type = DF_Type::history_event_body_abusedst__T_abuse_type; - n_abuse_type->m_rdf_type = RDF_Type::Enum; - n_abuse_type->m_node_type = NodeType::Enum; - n_abuse_type->m_base_type = DF_Type::int16_t; - n_abuse_type->m_enum_type = "history_event_body_abusedst::T_abuse_type"; - n_abuse_type->m_address = base + offset; - n_abuse_type->m_first_value = 0; - n_abuse_type->m_last_value = 5; - n_abuse_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_abuse_type); - - field_name = "props"; - auto n_props = new NodeUnion; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_body_abusedst, field_name)); - n_props->m_field_name = field_name; - n_props->m_df_type = DF_Type::history_event_body_abusedst__T_props; - n_props->m_rdf_type = RDF_Type::Union; - n_props->m_node_type = NodeType::Union; - n_props->m_address = base + offset; - n_props->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_props); - -} -void node_from_history_event_item_stolenst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "item_type"; - auto n_item_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_item_stolenst, field_name)); - n_item_type->m_field_name = field_name; - n_item_type->m_df_type = DF_Type::item_type; - n_item_type->m_rdf_type = RDF_Type::Enum; - n_item_type->m_node_type = NodeType::Enum; - n_item_type->m_base_type = DF_Type::int16_t; - n_item_type->m_enum_type = "item_type"; - n_item_type->m_address = base + offset; - n_item_type->m_defined_in = "df.item-raws.xml"; - n_item_type->m_first_value = -1; - n_item_type->m_last_value = 90; - n_item_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_type); - - field_name = "item_subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_item_stolenst, field_name)); - auto n_item_subtype = new NodeSimple; - n_item_subtype->m_field_name = field_name; - n_item_subtype->m_df_type = DF_Type::int16_t; - n_item_subtype->m_rdf_type = RDF_Type::int16_t; - n_item_subtype->m_node_type = NodeType::Simple; - n_item_subtype->m_address = base + offset; - n_item_subtype->m_refers_to = "(item-subtype-target $$._parent.item_type $)"; - n_item_subtype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_subtype); - - field_name = "mattype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_item_stolenst, field_name)); - auto n_mattype = new NodeSimple; - n_mattype->m_field_name = field_name; - n_mattype->m_df_type = DF_Type::int16_t; - n_mattype->m_rdf_type = RDF_Type::int16_t; - n_mattype->m_node_type = NodeType::Simple; - n_mattype->m_address = base + offset; - n_mattype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mattype); - - field_name = "matindex"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_item_stolenst, field_name)); - auto n_matindex = new NodeSimple; - n_matindex->m_field_name = field_name; - n_matindex->m_df_type = DF_Type::int32_t; - n_matindex->m_rdf_type = RDF_Type::int32_t; - n_matindex->m_node_type = NodeType::Simple; - n_matindex->m_address = base + offset; - n_matindex->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_matindex); - - field_name = "item"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_item_stolenst, field_name)); - auto n_item = new NodeSimple; - n_item->m_field_name = field_name; - n_item->m_df_type = DF_Type::int32_t; - n_item->m_rdf_type = RDF_Type::int32_t; - n_item->m_node_type = NodeType::Simple; - n_item->m_address = base + offset; - n_item->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item); - - field_name = "entity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_item_stolenst, field_name)); - auto n_entity = new NodeSimple; - n_entity->m_field_name = field_name; - n_entity->m_df_type = DF_Type::int32_t; - n_entity->m_rdf_type = RDF_Type::int32_t; - n_entity->m_node_type = NodeType::Simple; - n_entity->m_address = base + offset; - n_entity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity); - - field_name = "histfig"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_item_stolenst, field_name)); - auto n_histfig = new NodeSimple; - n_histfig->m_field_name = field_name; - n_histfig->m_df_type = DF_Type::int32_t; - n_histfig->m_rdf_type = RDF_Type::int32_t; - n_histfig->m_node_type = NodeType::Simple; - n_histfig->m_address = base + offset; - n_histfig->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_item_stolenst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "structure"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_item_stolenst, field_name)); - auto n_structure = new NodeSimple; - n_structure->m_field_name = field_name; - n_structure->m_df_type = DF_Type::int32_t; - n_structure->m_rdf_type = RDF_Type::int32_t; - n_structure->m_node_type = NodeType::Simple; - n_structure->m_address = base + offset; - n_structure->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_structure); - - field_name = "region"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_item_stolenst, field_name)); - auto n_region = new NodeSimple; - n_region->m_field_name = field_name; - n_region->m_df_type = DF_Type::int32_t; - n_region->m_rdf_type = RDF_Type::int32_t; - n_region->m_node_type = NodeType::Simple; - n_region->m_address = base + offset; - n_region->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region); - - field_name = "layer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_item_stolenst, field_name)); - auto n_layer = new NodeSimple; - n_layer->m_field_name = field_name; - n_layer->m_df_type = DF_Type::int32_t; - n_layer->m_rdf_type = RDF_Type::int32_t; - n_layer->m_node_type = NodeType::Simple; - n_layer->m_address = base + offset; - n_layer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_layer); - - field_name = "region_pos"; - auto n_region_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_item_stolenst, field_name)); - n_region_pos->m_field_name = field_name; - n_region_pos->m_df_type = DF_Type::coord2d; - n_region_pos->m_rdf_type = RDF_Type::Struct; - n_region_pos->m_node_type = NodeType::Compound; - n_region_pos->m_address = base + offset; - n_region_pos->m_defined_in = "df.map.xml"; - n_region_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region_pos); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_item_stolenst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "circumstance"; - auto n_circumstance = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_item_stolenst, field_name)); - n_circumstance->m_field_name = field_name; - n_circumstance->m_df_type = DF_Type::unit_thought_type; - n_circumstance->m_rdf_type = RDF_Type::Enum; - n_circumstance->m_node_type = NodeType::Enum; - n_circumstance->m_base_type = DF_Type::int32_t; - n_circumstance->m_enum_type = "unit_thought_type"; - n_circumstance->m_address = base + offset; - n_circumstance->m_defined_in = "df.unit-thoughts.xml"; - n_circumstance->m_first_value = -1; - n_circumstance->m_last_value = 242; - n_circumstance->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_circumstance); - - field_name = "circumstance_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_item_stolenst, field_name)); - auto n_circumstance_id = new NodeSimple; - n_circumstance_id->m_field_name = field_name; - n_circumstance_id->m_df_type = DF_Type::int32_t; - n_circumstance_id->m_rdf_type = RDF_Type::int32_t; - n_circumstance_id->m_node_type = NodeType::Simple; - n_circumstance_id->m_address = base + offset; - n_circumstance_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_circumstance_id); - - field_name = "reason"; - auto n_reason = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_item_stolenst, field_name)); - n_reason->m_field_name = field_name; - n_reason->m_df_type = DF_Type::history_event_reason; - n_reason->m_rdf_type = RDF_Type::Enum; - n_reason->m_node_type = NodeType::Enum; - n_reason->m_base_type = DF_Type::int32_t; - n_reason->m_enum_type = "history_event_reason"; - n_reason->m_address = base + offset; - n_reason->m_defined_in = "df.history.xml"; - n_reason->m_first_value = -1; - n_reason->m_last_value = 77; - n_reason->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_reason); - - field_name = "reason_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_item_stolenst, field_name)); - auto n_reason_id = new NodeSimple; - n_reason_id->m_field_name = field_name; - n_reason_id->m_df_type = DF_Type::int32_t; - n_reason_id->m_rdf_type = RDF_Type::int32_t; - n_reason_id->m_node_type = NodeType::Simple; - n_reason_id->m_address = base + offset; - n_reason_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_reason_id); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_item_stolenst, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - -} -void node_from_history_event_hist_figure_simple_battle_eventst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "group1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_simple_battle_eventst, field_name)); - auto n_group1 = new NodeVector; - n_group1->m_field_name = field_name; - n_group1->m_df_type = DF_Type::int32_t; - n_group1->m_rdf_type = RDF_Type::Vector; - n_group1->m_node_type = NodeType::Vector; - n_group1->m_addornements = "v"; - n_group1->m_address = base + offset; - n_group1->m_parent = p_node_parent; - n_group1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_group1); - - field_name = "group2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_simple_battle_eventst, field_name)); - auto n_group2 = new NodeVector; - n_group2->m_field_name = field_name; - n_group2->m_df_type = DF_Type::int32_t; - n_group2->m_rdf_type = RDF_Type::Vector; - n_group2->m_node_type = NodeType::Vector; - n_group2->m_addornements = "v"; - n_group2->m_address = base + offset; - n_group2->m_parent = p_node_parent; - n_group2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_group2); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_simple_battle_eventst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "region"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_simple_battle_eventst, field_name)); - auto n_region = new NodeSimple; - n_region->m_field_name = field_name; - n_region->m_df_type = DF_Type::int32_t; - n_region->m_rdf_type = RDF_Type::int32_t; - n_region->m_node_type = NodeType::Simple; - n_region->m_address = base + offset; - n_region->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region); - - field_name = "layer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_simple_battle_eventst, field_name)); - auto n_layer = new NodeSimple; - n_layer->m_field_name = field_name; - n_layer->m_df_type = DF_Type::int32_t; - n_layer->m_rdf_type = RDF_Type::int32_t; - n_layer->m_node_type = NodeType::Simple; - n_layer->m_address = base + offset; - n_layer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_layer); - - field_name = "subtype"; - auto n_subtype = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_simple_battle_eventst, field_name)); - n_subtype->m_field_name = field_name; - n_subtype->m_df_type = DF_Type::history_event_simple_battle_subtype; - n_subtype->m_rdf_type = RDF_Type::Enum; - n_subtype->m_node_type = NodeType::Enum; - n_subtype->m_base_type = DF_Type::int16_t; - n_subtype->m_enum_type = "history_event_simple_battle_subtype"; - n_subtype->m_address = base + offset; - n_subtype->m_defined_in = "df.history.xml"; - n_subtype->m_first_value = 0; - n_subtype->m_last_value = 9; - n_subtype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_subtype); - -} -void node_from_history_event_hist_figure_reach_summitst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "group"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_reach_summitst, field_name)); - auto n_group = new NodeVector; - n_group->m_field_name = field_name; - n_group->m_df_type = DF_Type::int32_t; - n_group->m_rdf_type = RDF_Type::Vector; - n_group->m_node_type = NodeType::Vector; - n_group->m_addornements = "v"; - n_group->m_address = base + offset; - n_group->m_parent = p_node_parent; - n_group->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_group); - - field_name = "region"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_reach_summitst, field_name)); - auto n_region = new NodeSimple; - n_region->m_field_name = field_name; - n_region->m_df_type = DF_Type::int32_t; - n_region->m_rdf_type = RDF_Type::int32_t; - n_region->m_node_type = NodeType::Simple; - n_region->m_address = base + offset; - n_region->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region); - - field_name = "layer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_reach_summitst, field_name)); - auto n_layer = new NodeSimple; - n_layer->m_field_name = field_name; - n_layer->m_df_type = DF_Type::int32_t; - n_layer->m_rdf_type = RDF_Type::int32_t; - n_layer->m_node_type = NodeType::Simple; - n_layer->m_address = base + offset; - n_layer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_layer); - - field_name = "region_pos"; - auto n_region_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_reach_summitst, field_name)); - n_region_pos->m_field_name = field_name; - n_region_pos->m_df_type = DF_Type::coord2d; - n_region_pos->m_rdf_type = RDF_Type::Struct; - n_region_pos->m_node_type = NodeType::Compound; - n_region_pos->m_address = base + offset; - n_region_pos->m_defined_in = "df.map.xml"; - n_region_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region_pos); - -} -void node_from_history_event_hist_figure_travelst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "group"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_travelst, field_name)); - auto n_group = new NodeVector; - n_group->m_field_name = field_name; - n_group->m_df_type = DF_Type::int32_t; - n_group->m_rdf_type = RDF_Type::Vector; - n_group->m_node_type = NodeType::Vector; - n_group->m_addornements = "v"; - n_group->m_address = base + offset; - n_group->m_parent = p_node_parent; - n_group->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_group); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_travelst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "region"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_travelst, field_name)); - auto n_region = new NodeSimple; - n_region->m_field_name = field_name; - n_region->m_df_type = DF_Type::int32_t; - n_region->m_rdf_type = RDF_Type::int32_t; - n_region->m_node_type = NodeType::Simple; - n_region->m_address = base + offset; - n_region->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region); - - field_name = "layer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_travelst, field_name)); - auto n_layer = new NodeSimple; - n_layer->m_field_name = field_name; - n_layer->m_df_type = DF_Type::int32_t; - n_layer->m_rdf_type = RDF_Type::int32_t; - n_layer->m_node_type = NodeType::Simple; - n_layer->m_address = base + offset; - n_layer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_layer); - - field_name = "reason"; - auto n_reason = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_travelst, field_name)); - n_reason->m_field_name = field_name; - n_reason->m_df_type = DF_Type::history_event_hist_figure_travelst__T_reason; - n_reason->m_rdf_type = RDF_Type::Enum; - n_reason->m_node_type = NodeType::Enum; - n_reason->m_base_type = DF_Type::int32_t; - n_reason->m_enum_type = "history_event_hist_figure_travelst::T_reason"; - n_reason->m_address = base + offset; - n_reason->m_first_value = 0; - n_reason->m_last_value = 2; - n_reason->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_reason); - - field_name = "region_pos"; - auto n_region_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_travelst, field_name)); - n_region_pos->m_field_name = field_name; - n_region_pos->m_df_type = DF_Type::coord2d; - n_region_pos->m_rdf_type = RDF_Type::Struct; - n_region_pos->m_node_type = NodeType::Compound; - n_region_pos->m_address = base + offset; - n_region_pos->m_defined_in = "df.map.xml"; - n_region_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region_pos); - -} -void node_from_history_event_hist_figure_new_petst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "group"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_new_petst, field_name)); - auto n_group = new NodeVector; - n_group->m_field_name = field_name; - n_group->m_df_type = DF_Type::int32_t; - n_group->m_rdf_type = RDF_Type::Vector; - n_group->m_node_type = NodeType::Vector; - n_group->m_addornements = "v"; - n_group->m_address = base + offset; - n_group->m_parent = p_node_parent; - n_group->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_group); - - field_name = "pets"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_new_petst, field_name)); - auto n_pets = new NodeVector; - n_pets->m_field_name = field_name; - n_pets->m_df_type = DF_Type::int16_t; - n_pets->m_rdf_type = RDF_Type::Vector; - n_pets->m_node_type = NodeType::Vector; - n_pets->m_addornements = "v"; - n_pets->m_address = base + offset; - n_pets->m_parent = p_node_parent; - n_pets->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_pets); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_new_petst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "region"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_new_petst, field_name)); - auto n_region = new NodeSimple; - n_region->m_field_name = field_name; - n_region->m_df_type = DF_Type::int32_t; - n_region->m_rdf_type = RDF_Type::int32_t; - n_region->m_node_type = NodeType::Simple; - n_region->m_address = base + offset; - n_region->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region); - - field_name = "layer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_new_petst, field_name)); - auto n_layer = new NodeSimple; - n_layer->m_field_name = field_name; - n_layer->m_df_type = DF_Type::int32_t; - n_layer->m_rdf_type = RDF_Type::int32_t; - n_layer->m_node_type = NodeType::Simple; - n_layer->m_address = base + offset; - n_layer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_layer); - - field_name = "region_pos"; - auto n_region_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_new_petst, field_name)); - n_region_pos->m_field_name = field_name; - n_region_pos->m_df_type = DF_Type::coord2d; - n_region_pos->m_rdf_type = RDF_Type::Struct; - n_region_pos->m_node_type = NodeType::Compound; - n_region_pos->m_address = base + offset; - n_region_pos->m_defined_in = "df.map.xml"; - n_region_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region_pos); - -} -void node_from_history_event_hist_figure_revivedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "histfig"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_revivedst, field_name)); - auto n_histfig = new NodeSimple; - n_histfig->m_field_name = field_name; - n_histfig->m_df_type = DF_Type::int32_t; - n_histfig->m_rdf_type = RDF_Type::int32_t; - n_histfig->m_node_type = NodeType::Simple; - n_histfig->m_address = base + offset; - n_histfig->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_revivedst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "region"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_revivedst, field_name)); - auto n_region = new NodeSimple; - n_region->m_field_name = field_name; - n_region->m_df_type = DF_Type::int32_t; - n_region->m_rdf_type = RDF_Type::int32_t; - n_region->m_node_type = NodeType::Simple; - n_region->m_address = base + offset; - n_region->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region); - - field_name = "layer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_revivedst, field_name)); - auto n_layer = new NodeSimple; - n_layer->m_field_name = field_name; - n_layer->m_df_type = DF_Type::int32_t; - n_layer->m_rdf_type = RDF_Type::int32_t; - n_layer->m_node_type = NodeType::Simple; - n_layer->m_address = base + offset; - n_layer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_layer); - - field_name = "ghost_type"; - auto n_ghost_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_revivedst, field_name)); - n_ghost_type->m_field_name = field_name; - n_ghost_type->m_df_type = DF_Type::ghost_type; - n_ghost_type->m_rdf_type = RDF_Type::Enum; - n_ghost_type->m_node_type = NodeType::Enum; - n_ghost_type->m_base_type = DF_Type::int16_t; - n_ghost_type->m_enum_type = "ghost_type"; - n_ghost_type->m_address = base + offset; - n_ghost_type->m_defined_in = "df.units.xml"; - n_ghost_type->m_first_value = 0; - n_ghost_type->m_last_value = 10; - n_ghost_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ghost_type); - - field_name = "flags2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_revivedst, field_name)); - auto n_flags2 = new NodeSimple; - n_flags2->m_field_name = field_name; - n_flags2->m_df_type = DF_Type::int32_t; - n_flags2->m_rdf_type = RDF_Type::int32_t; - n_flags2->m_node_type = NodeType::Simple; - n_flags2->m_address = base + offset; - n_flags2->m_comment = "1:again"; - n_flags2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags2); - -} -void node_from_history_event_change_hf_body_statest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "histfig"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_hf_body_statest, field_name)); - auto n_histfig = new NodeSimple; - n_histfig->m_field_name = field_name; - n_histfig->m_df_type = DF_Type::int32_t; - n_histfig->m_rdf_type = RDF_Type::int32_t; - n_histfig->m_node_type = NodeType::Simple; - n_histfig->m_address = base + offset; - n_histfig->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig); - - field_name = "body_state"; - auto n_body_state = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_hf_body_statest, field_name)); - n_body_state->m_field_name = field_name; - n_body_state->m_df_type = DF_Type::histfig_body_state; - n_body_state->m_rdf_type = RDF_Type::Enum; - n_body_state->m_node_type = NodeType::Enum; - n_body_state->m_base_type = DF_Type::int8_t; - n_body_state->m_enum_type = "histfig_body_state"; - n_body_state->m_address = base + offset; - n_body_state->m_defined_in = "df.history.xml"; - n_body_state->m_first_value = 0; - n_body_state->m_last_value = 6; - n_body_state->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_body_state); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_hf_body_statest, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "structure"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_hf_body_statest, field_name)); - auto n_structure = new NodeSimple; - n_structure->m_field_name = field_name; - n_structure->m_df_type = DF_Type::int32_t; - n_structure->m_rdf_type = RDF_Type::int32_t; - n_structure->m_node_type = NodeType::Simple; - n_structure->m_address = base + offset; - n_structure->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_structure); - - field_name = "region"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_hf_body_statest, field_name)); - auto n_region = new NodeSimple; - n_region->m_field_name = field_name; - n_region->m_df_type = DF_Type::int32_t; - n_region->m_rdf_type = RDF_Type::int32_t; - n_region->m_node_type = NodeType::Simple; - n_region->m_address = base + offset; - n_region->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region); - - field_name = "layer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_hf_body_statest, field_name)); - auto n_layer = new NodeSimple; - n_layer->m_field_name = field_name; - n_layer->m_df_type = DF_Type::int32_t; - n_layer->m_rdf_type = RDF_Type::int32_t; - n_layer->m_node_type = NodeType::Simple; - n_layer->m_address = base + offset; - n_layer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_layer); - - field_name = "region_pos"; - auto n_region_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_hf_body_statest, field_name)); - n_region_pos->m_field_name = field_name; - n_region_pos->m_df_type = DF_Type::coord2d; - n_region_pos->m_rdf_type = RDF_Type::Struct; - n_region_pos->m_node_type = NodeType::Compound; - n_region_pos->m_address = base + offset; - n_region_pos->m_defined_in = "df.map.xml"; - n_region_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region_pos); - -} -void node_from_history_event_hf_confrontedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "target"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_confrontedst, field_name)); - auto n_target = new NodeSimple; - n_target->m_field_name = field_name; - n_target->m_df_type = DF_Type::int32_t; - n_target->m_rdf_type = RDF_Type::int32_t; - n_target->m_node_type = NodeType::Simple; - n_target->m_address = base + offset; - n_target->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_target); - - field_name = "accuser"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_confrontedst, field_name)); - auto n_accuser = new NodeSimple; - n_accuser->m_field_name = field_name; - n_accuser->m_df_type = DF_Type::int32_t; - n_accuser->m_rdf_type = RDF_Type::int32_t; - n_accuser->m_node_type = NodeType::Simple; - n_accuser->m_address = base + offset; - n_accuser->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_accuser); - - field_name = "reasons"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_confrontedst, field_name)); - auto n_reasons = new NodeVector; - n_reasons->m_field_name = field_name; - n_reasons->m_df_type = DF_Type::int32_t; - n_reasons->m_rdf_type = RDF_Type::Vector; - n_reasons->m_node_type = NodeType::Vector; - n_reasons->m_addornements = "v"; - n_reasons->m_address = base + offset; - n_reasons->m_parent = p_node_parent; - n_reasons->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_reasons); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_confrontedst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "region"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_confrontedst, field_name)); - auto n_region = new NodeSimple; - n_region->m_field_name = field_name; - n_region->m_df_type = DF_Type::int32_t; - n_region->m_rdf_type = RDF_Type::int32_t; - n_region->m_node_type = NodeType::Simple; - n_region->m_address = base + offset; - n_region->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region); - - field_name = "layer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_confrontedst, field_name)); - auto n_layer = new NodeSimple; - n_layer->m_field_name = field_name; - n_layer->m_df_type = DF_Type::int32_t; - n_layer->m_rdf_type = RDF_Type::int32_t; - n_layer->m_node_type = NodeType::Simple; - n_layer->m_address = base + offset; - n_layer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_layer); - - field_name = "region_pos"; - auto n_region_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_confrontedst, field_name)); - n_region_pos->m_field_name = field_name; - n_region_pos->m_df_type = DF_Type::coord2d; - n_region_pos->m_rdf_type = RDF_Type::Struct; - n_region_pos->m_node_type = NodeType::Compound; - n_region_pos->m_address = base + offset; - n_region_pos->m_defined_in = "df.map.xml"; - n_region_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region_pos); - -} -void node_from_history_event_hf_gains_secret_goalst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "histfig"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_gains_secret_goalst, field_name)); - auto n_histfig = new NodeSimple; - n_histfig->m_field_name = field_name; - n_histfig->m_df_type = DF_Type::int32_t; - n_histfig->m_rdf_type = RDF_Type::int32_t; - n_histfig->m_node_type = NodeType::Simple; - n_histfig->m_address = base + offset; - n_histfig->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig); - - field_name = "goal"; - auto n_goal = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_gains_secret_goalst, field_name)); - n_goal->m_field_name = field_name; - n_goal->m_df_type = DF_Type::goal_type; - n_goal->m_rdf_type = RDF_Type::Enum; - n_goal->m_node_type = NodeType::Enum; - n_goal->m_base_type = DF_Type::int32_t; - n_goal->m_enum_type = "goal_type"; - n_goal->m_address = base + offset; - n_goal->m_defined_in = "df.units.xml"; - n_goal->m_first_value = 0; - n_goal->m_last_value = 12; - n_goal->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_goal); - -} -void node_from_history_event_site_disputest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "dispute_type"; - auto n_dispute_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_site_disputest, field_name)); - n_dispute_type->m_field_name = field_name; - n_dispute_type->m_df_type = DF_Type::site_dispute_type; - n_dispute_type->m_rdf_type = RDF_Type::Enum; - n_dispute_type->m_node_type = NodeType::Enum; - n_dispute_type->m_base_type = DF_Type::int32_t; - n_dispute_type->m_enum_type = "site_dispute_type"; - n_dispute_type->m_address = base + offset; - n_dispute_type->m_defined_in = "df.history.xml"; - n_dispute_type->m_first_value = 0; - n_dispute_type->m_last_value = 5; - n_dispute_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dispute_type); - - field_name = "entity_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_site_disputest, field_name)); - auto n_entity_1 = new NodeSimple; - n_entity_1->m_field_name = field_name; - n_entity_1->m_df_type = DF_Type::int32_t; - n_entity_1->m_rdf_type = RDF_Type::int32_t; - n_entity_1->m_node_type = NodeType::Simple; - n_entity_1->m_address = base + offset; - n_entity_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity_1); - - field_name = "entity_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_site_disputest, field_name)); - auto n_entity_2 = new NodeSimple; - n_entity_2->m_field_name = field_name; - n_entity_2->m_df_type = DF_Type::int32_t; - n_entity_2->m_rdf_type = RDF_Type::int32_t; - n_entity_2->m_node_type = NodeType::Simple; - n_entity_2->m_address = base + offset; - n_entity_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity_2); - - field_name = "site_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_site_disputest, field_name)); - auto n_site_1 = new NodeSimple; - n_site_1->m_field_name = field_name; - n_site_1->m_df_type = DF_Type::int32_t; - n_site_1->m_rdf_type = RDF_Type::int32_t; - n_site_1->m_node_type = NodeType::Simple; - n_site_1->m_address = base + offset; - n_site_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_1); - - field_name = "site_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_site_disputest, field_name)); - auto n_site_2 = new NodeSimple; - n_site_2->m_field_name = field_name; - n_site_2->m_df_type = DF_Type::int32_t; - n_site_2->m_rdf_type = RDF_Type::int32_t; - n_site_2->m_node_type = NodeType::Simple; - n_site_2->m_address = base + offset; - n_site_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_2); - -} -void node_from_history_event_agreement_concludedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "agreement_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_agreement_concludedst, field_name)); - auto n_agreement_id = new NodeSimple; - n_agreement_id->m_field_name = field_name; - n_agreement_id->m_df_type = DF_Type::int32_t; - n_agreement_id->m_rdf_type = RDF_Type::int32_t; - n_agreement_id->m_node_type = NodeType::Simple; - n_agreement_id->m_address = base + offset; - n_agreement_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_agreement_id); - - field_name = "subject_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_agreement_concludedst, field_name)); - auto n_subject_id = new NodeSimple; - n_subject_id->m_field_name = field_name; - n_subject_id->m_df_type = DF_Type::int32_t; - n_subject_id->m_rdf_type = RDF_Type::int32_t; - n_subject_id->m_node_type = NodeType::Simple; - n_subject_id->m_address = base + offset; - n_subject_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_subject_id); - - field_name = "reason"; - auto n_reason = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_agreement_concludedst, field_name)); - n_reason->m_field_name = field_name; - n_reason->m_df_type = DF_Type::history_event_reason; - n_reason->m_rdf_type = RDF_Type::Enum; - n_reason->m_node_type = NodeType::Enum; - n_reason->m_base_type = DF_Type::int32_t; - n_reason->m_enum_type = "history_event_reason"; - n_reason->m_address = base + offset; - n_reason->m_defined_in = "df.history.xml"; - n_reason->m_first_value = -1; - n_reason->m_last_value = 77; - n_reason->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_reason); - - field_name = "concluder_hf"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_agreement_concludedst, field_name)); - auto n_concluder_hf = new NodeSimple; - n_concluder_hf->m_field_name = field_name; - n_concluder_hf->m_df_type = DF_Type::int32_t; - n_concluder_hf->m_rdf_type = RDF_Type::int32_t; - n_concluder_hf->m_node_type = NodeType::Simple; - n_concluder_hf->m_address = base + offset; - n_concluder_hf->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_concluder_hf); - -} -void node_from_history_event_insurrection_endedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "target_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_insurrection_endedst, field_name)); - auto n_target_civ = new NodeSimple; - n_target_civ->m_field_name = field_name; - n_target_civ->m_df_type = DF_Type::int32_t; - n_target_civ->m_rdf_type = RDF_Type::int32_t; - n_target_civ->m_node_type = NodeType::Simple; - n_target_civ->m_address = base + offset; - n_target_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_target_civ); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_insurrection_endedst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "outcome"; - auto n_outcome = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_insurrection_endedst, field_name)); - n_outcome->m_field_name = field_name; - n_outcome->m_df_type = DF_Type::insurrection_outcome; - n_outcome->m_rdf_type = RDF_Type::Enum; - n_outcome->m_node_type = NodeType::Enum; - n_outcome->m_base_type = DF_Type::int32_t; - n_outcome->m_enum_type = "insurrection_outcome"; - n_outcome->m_address = base + offset; - n_outcome->m_defined_in = "df.history.xml"; - n_outcome->m_first_value = 0; - n_outcome->m_last_value = 2; - n_outcome->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_outcome); - -} -void node_from_history_event_hf_relationship_deniedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "seeker_hf"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_relationship_deniedst, field_name)); - auto n_seeker_hf = new NodeSimple; - n_seeker_hf->m_field_name = field_name; - n_seeker_hf->m_df_type = DF_Type::int32_t; - n_seeker_hf->m_rdf_type = RDF_Type::int32_t; - n_seeker_hf->m_node_type = NodeType::Simple; - n_seeker_hf->m_address = base + offset; - n_seeker_hf->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_seeker_hf); - - field_name = "target_hf"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_relationship_deniedst, field_name)); - auto n_target_hf = new NodeSimple; - n_target_hf->m_field_name = field_name; - n_target_hf->m_df_type = DF_Type::int32_t; - n_target_hf->m_rdf_type = RDF_Type::int32_t; - n_target_hf->m_node_type = NodeType::Simple; - n_target_hf->m_address = base + offset; - n_target_hf->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_target_hf); - - field_name = "type"; - auto n_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_relationship_deniedst, field_name)); - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::unit_relationship_type; - n_type->m_rdf_type = RDF_Type::Enum; - n_type->m_node_type = NodeType::Enum; - n_type->m_base_type = DF_Type::int32_t; - n_type->m_enum_type = "unit_relationship_type"; - n_type->m_address = base + offset; - n_type->m_defined_in = "df.units.xml"; - n_type->m_first_value = -1; - n_type->m_last_value = 47; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - - field_name = "reason"; - auto n_reason = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_relationship_deniedst, field_name)); - n_reason->m_field_name = field_name; - n_reason->m_df_type = DF_Type::history_event_reason; - n_reason->m_rdf_type = RDF_Type::Enum; - n_reason->m_node_type = NodeType::Enum; - n_reason->m_base_type = DF_Type::int32_t; - n_reason->m_enum_type = "history_event_reason"; - n_reason->m_address = base + offset; - n_reason->m_defined_in = "df.history.xml"; - n_reason->m_first_value = -1; - n_reason->m_last_value = 77; - n_reason->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_reason); - - field_name = "reason_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_relationship_deniedst, field_name)); - auto n_reason_id = new NodeSimple; - n_reason_id->m_field_name = field_name; - n_reason_id->m_df_type = DF_Type::int32_t; - n_reason_id->m_rdf_type = RDF_Type::int32_t; - n_reason_id->m_node_type = NodeType::Simple; - n_reason_id->m_address = base + offset; - n_reason_id->m_comment = "the historical figure that the reason describes"; - n_reason_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_reason_id); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_relationship_deniedst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "region"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_relationship_deniedst, field_name)); - auto n_region = new NodeSimple; - n_region->m_field_name = field_name; - n_region->m_df_type = DF_Type::int32_t; - n_region->m_rdf_type = RDF_Type::int32_t; - n_region->m_node_type = NodeType::Simple; - n_region->m_address = base + offset; - n_region->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region); - - field_name = "layer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_relationship_deniedst, field_name)); - auto n_layer = new NodeSimple; - n_layer->m_field_name = field_name; - n_layer->m_df_type = DF_Type::int32_t; - n_layer->m_rdf_type = RDF_Type::int32_t; - n_layer->m_node_type = NodeType::Simple; - n_layer->m_address = base + offset; - n_layer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_layer); - -} -void node_from_history_event_poetic_form_createdst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "histfig"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_poetic_form_createdst, field_name)); - auto n_histfig = new NodeSimple; - n_histfig->m_field_name = field_name; - n_histfig->m_df_type = DF_Type::int32_t; - n_histfig->m_rdf_type = RDF_Type::int32_t; - n_histfig->m_node_type = NodeType::Simple; - n_histfig->m_address = base + offset; - n_histfig->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig); - - field_name = "form"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_poetic_form_createdst, field_name)); - auto n_form = new NodeSimple; - n_form->m_field_name = field_name; - n_form->m_df_type = DF_Type::int32_t; - n_form->m_rdf_type = RDF_Type::int32_t; - n_form->m_node_type = NodeType::Simple; - n_form->m_address = base + offset; - n_form->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_form); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_poetic_form_createdst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "region"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_poetic_form_createdst, field_name)); - auto n_region = new NodeSimple; - n_region->m_field_name = field_name; - n_region->m_df_type = DF_Type::int32_t; - n_region->m_rdf_type = RDF_Type::int32_t; - n_region->m_node_type = NodeType::Simple; - n_region->m_address = base + offset; - n_region->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region); - - field_name = "layer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_poetic_form_createdst, field_name)); - auto n_layer = new NodeSimple; - n_layer->m_field_name = field_name; - n_layer->m_df_type = DF_Type::int32_t; - n_layer->m_rdf_type = RDF_Type::int32_t; - n_layer->m_node_type = NodeType::Simple; - n_layer->m_address = base + offset; - n_layer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_layer); - - field_name = "circumstance"; - auto n_circumstance = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_poetic_form_createdst, field_name)); - n_circumstance->m_field_name = field_name; - n_circumstance->m_df_type = DF_Type::unit_thought_type; - n_circumstance->m_rdf_type = RDF_Type::Enum; - n_circumstance->m_node_type = NodeType::Enum; - n_circumstance->m_base_type = DF_Type::int32_t; - n_circumstance->m_enum_type = "unit_thought_type"; - n_circumstance->m_address = base + offset; - n_circumstance->m_defined_in = "df.unit-thoughts.xml"; - n_circumstance->m_first_value = -1; - n_circumstance->m_last_value = 242; - n_circumstance->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_circumstance); - - field_name = "circumstance_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_poetic_form_createdst, field_name)); - auto n_circumstance_id = new NodeSimple; - n_circumstance_id->m_field_name = field_name; - n_circumstance_id->m_df_type = DF_Type::int32_t; - n_circumstance_id->m_rdf_type = RDF_Type::int32_t; - n_circumstance_id->m_node_type = NodeType::Simple; - n_circumstance_id->m_address = base + offset; - n_circumstance_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_circumstance_id); - - field_name = "reason"; - auto n_reason = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_poetic_form_createdst, field_name)); - n_reason->m_field_name = field_name; - n_reason->m_df_type = DF_Type::history_event_reason; - n_reason->m_rdf_type = RDF_Type::Enum; - n_reason->m_node_type = NodeType::Enum; - n_reason->m_base_type = DF_Type::int32_t; - n_reason->m_enum_type = "history_event_reason"; - n_reason->m_address = base + offset; - n_reason->m_defined_in = "df.history.xml"; - n_reason->m_first_value = -1; - n_reason->m_last_value = 77; - n_reason->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_reason); - - field_name = "reason_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_poetic_form_createdst, field_name)); - auto n_reason_id = new NodeSimple; - n_reason_id->m_field_name = field_name; - n_reason_id->m_df_type = DF_Type::int32_t; - n_reason_id->m_rdf_type = RDF_Type::int32_t; - n_reason_id->m_node_type = NodeType::Simple; - n_reason_id->m_address = base + offset; - n_reason_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_reason_id); - -} -void node_from_history_event_musical_form_createdst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "histfig"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_musical_form_createdst, field_name)); - auto n_histfig = new NodeSimple; - n_histfig->m_field_name = field_name; - n_histfig->m_df_type = DF_Type::int32_t; - n_histfig->m_rdf_type = RDF_Type::int32_t; - n_histfig->m_node_type = NodeType::Simple; - n_histfig->m_address = base + offset; - n_histfig->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig); - - field_name = "form"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_musical_form_createdst, field_name)); - auto n_form = new NodeSimple; - n_form->m_field_name = field_name; - n_form->m_df_type = DF_Type::int32_t; - n_form->m_rdf_type = RDF_Type::int32_t; - n_form->m_node_type = NodeType::Simple; - n_form->m_address = base + offset; - n_form->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_form); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_musical_form_createdst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "region"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_musical_form_createdst, field_name)); - auto n_region = new NodeSimple; - n_region->m_field_name = field_name; - n_region->m_df_type = DF_Type::int32_t; - n_region->m_rdf_type = RDF_Type::int32_t; - n_region->m_node_type = NodeType::Simple; - n_region->m_address = base + offset; - n_region->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region); - - field_name = "layer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_musical_form_createdst, field_name)); - auto n_layer = new NodeSimple; - n_layer->m_field_name = field_name; - n_layer->m_df_type = DF_Type::int32_t; - n_layer->m_rdf_type = RDF_Type::int32_t; - n_layer->m_node_type = NodeType::Simple; - n_layer->m_address = base + offset; - n_layer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_layer); - - field_name = "circumstance"; - auto n_circumstance = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_musical_form_createdst, field_name)); - n_circumstance->m_field_name = field_name; - n_circumstance->m_df_type = DF_Type::unit_thought_type; - n_circumstance->m_rdf_type = RDF_Type::Enum; - n_circumstance->m_node_type = NodeType::Enum; - n_circumstance->m_base_type = DF_Type::int32_t; - n_circumstance->m_enum_type = "unit_thought_type"; - n_circumstance->m_address = base + offset; - n_circumstance->m_defined_in = "df.unit-thoughts.xml"; - n_circumstance->m_first_value = -1; - n_circumstance->m_last_value = 242; - n_circumstance->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_circumstance); - - field_name = "circumstance_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_musical_form_createdst, field_name)); - auto n_circumstance_id = new NodeSimple; - n_circumstance_id->m_field_name = field_name; - n_circumstance_id->m_df_type = DF_Type::int32_t; - n_circumstance_id->m_rdf_type = RDF_Type::int32_t; - n_circumstance_id->m_node_type = NodeType::Simple; - n_circumstance_id->m_address = base + offset; - n_circumstance_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_circumstance_id); - - field_name = "reason"; - auto n_reason = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_musical_form_createdst, field_name)); - n_reason->m_field_name = field_name; - n_reason->m_df_type = DF_Type::history_event_reason; - n_reason->m_rdf_type = RDF_Type::Enum; - n_reason->m_node_type = NodeType::Enum; - n_reason->m_base_type = DF_Type::int32_t; - n_reason->m_enum_type = "history_event_reason"; - n_reason->m_address = base + offset; - n_reason->m_defined_in = "df.history.xml"; - n_reason->m_first_value = -1; - n_reason->m_last_value = 77; - n_reason->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_reason); - - field_name = "reason_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_musical_form_createdst, field_name)); - auto n_reason_id = new NodeSimple; - n_reason_id->m_field_name = field_name; - n_reason_id->m_df_type = DF_Type::int32_t; - n_reason_id->m_rdf_type = RDF_Type::int32_t; - n_reason_id->m_node_type = NodeType::Simple; - n_reason_id->m_address = base + offset; - n_reason_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_reason_id); - -} -void node_from_history_event_dance_form_createdst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "histfig"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_dance_form_createdst, field_name)); - auto n_histfig = new NodeSimple; - n_histfig->m_field_name = field_name; - n_histfig->m_df_type = DF_Type::int32_t; - n_histfig->m_rdf_type = RDF_Type::int32_t; - n_histfig->m_node_type = NodeType::Simple; - n_histfig->m_address = base + offset; - n_histfig->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig); - - field_name = "form"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_dance_form_createdst, field_name)); - auto n_form = new NodeSimple; - n_form->m_field_name = field_name; - n_form->m_df_type = DF_Type::int32_t; - n_form->m_rdf_type = RDF_Type::int32_t; - n_form->m_node_type = NodeType::Simple; - n_form->m_address = base + offset; - n_form->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_form); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_dance_form_createdst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "region"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_dance_form_createdst, field_name)); - auto n_region = new NodeSimple; - n_region->m_field_name = field_name; - n_region->m_df_type = DF_Type::int32_t; - n_region->m_rdf_type = RDF_Type::int32_t; - n_region->m_node_type = NodeType::Simple; - n_region->m_address = base + offset; - n_region->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region); - - field_name = "layer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_dance_form_createdst, field_name)); - auto n_layer = new NodeSimple; - n_layer->m_field_name = field_name; - n_layer->m_df_type = DF_Type::int32_t; - n_layer->m_rdf_type = RDF_Type::int32_t; - n_layer->m_node_type = NodeType::Simple; - n_layer->m_address = base + offset; - n_layer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_layer); - - field_name = "circumstance"; - auto n_circumstance = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_dance_form_createdst, field_name)); - n_circumstance->m_field_name = field_name; - n_circumstance->m_df_type = DF_Type::unit_thought_type; - n_circumstance->m_rdf_type = RDF_Type::Enum; - n_circumstance->m_node_type = NodeType::Enum; - n_circumstance->m_base_type = DF_Type::int32_t; - n_circumstance->m_enum_type = "unit_thought_type"; - n_circumstance->m_address = base + offset; - n_circumstance->m_defined_in = "df.unit-thoughts.xml"; - n_circumstance->m_first_value = -1; - n_circumstance->m_last_value = 242; - n_circumstance->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_circumstance); - - field_name = "circumstance_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_dance_form_createdst, field_name)); - auto n_circumstance_id = new NodeSimple; - n_circumstance_id->m_field_name = field_name; - n_circumstance_id->m_df_type = DF_Type::int32_t; - n_circumstance_id->m_rdf_type = RDF_Type::int32_t; - n_circumstance_id->m_node_type = NodeType::Simple; - n_circumstance_id->m_address = base + offset; - n_circumstance_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_circumstance_id); - - field_name = "reason"; - auto n_reason = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_dance_form_createdst, field_name)); - n_reason->m_field_name = field_name; - n_reason->m_df_type = DF_Type::history_event_reason; - n_reason->m_rdf_type = RDF_Type::Enum; - n_reason->m_node_type = NodeType::Enum; - n_reason->m_base_type = DF_Type::int32_t; - n_reason->m_enum_type = "history_event_reason"; - n_reason->m_address = base + offset; - n_reason->m_defined_in = "df.history.xml"; - n_reason->m_first_value = -1; - n_reason->m_last_value = 77; - n_reason->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_reason); - - field_name = "reason_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_dance_form_createdst, field_name)); - auto n_reason_id = new NodeSimple; - n_reason_id->m_field_name = field_name; - n_reason_id->m_df_type = DF_Type::int32_t; - n_reason_id->m_rdf_type = RDF_Type::int32_t; - n_reason_id->m_node_type = NodeType::Simple; - n_reason_id->m_address = base + offset; - n_reason_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_reason_id); - -} -void node_from_history_event_written_content_composedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "histfig"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_written_content_composedst, field_name)); - auto n_histfig = new NodeSimple; - n_histfig->m_field_name = field_name; - n_histfig->m_df_type = DF_Type::int32_t; - n_histfig->m_rdf_type = RDF_Type::int32_t; - n_histfig->m_node_type = NodeType::Simple; - n_histfig->m_address = base + offset; - n_histfig->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig); - - field_name = "content"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_written_content_composedst, field_name)); - auto n_content = new NodeSimple; - n_content->m_field_name = field_name; - n_content->m_df_type = DF_Type::int32_t; - n_content->m_rdf_type = RDF_Type::int32_t; - n_content->m_node_type = NodeType::Simple; - n_content->m_address = base + offset; - n_content->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_content); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_written_content_composedst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "region"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_written_content_composedst, field_name)); - auto n_region = new NodeSimple; - n_region->m_field_name = field_name; - n_region->m_df_type = DF_Type::int32_t; - n_region->m_rdf_type = RDF_Type::int32_t; - n_region->m_node_type = NodeType::Simple; - n_region->m_address = base + offset; - n_region->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region); - - field_name = "layer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_written_content_composedst, field_name)); - auto n_layer = new NodeSimple; - n_layer->m_field_name = field_name; - n_layer->m_df_type = DF_Type::int32_t; - n_layer->m_rdf_type = RDF_Type::int32_t; - n_layer->m_node_type = NodeType::Simple; - n_layer->m_address = base + offset; - n_layer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_layer); - - field_name = "circumstance"; - auto n_circumstance = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_written_content_composedst, field_name)); - n_circumstance->m_field_name = field_name; - n_circumstance->m_df_type = DF_Type::unit_thought_type; - n_circumstance->m_rdf_type = RDF_Type::Enum; - n_circumstance->m_node_type = NodeType::Enum; - n_circumstance->m_base_type = DF_Type::int32_t; - n_circumstance->m_enum_type = "unit_thought_type"; - n_circumstance->m_address = base + offset; - n_circumstance->m_defined_in = "df.unit-thoughts.xml"; - n_circumstance->m_first_value = -1; - n_circumstance->m_last_value = 242; - n_circumstance->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_circumstance); - - field_name = "circumstance_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_written_content_composedst, field_name)); - auto n_circumstance_id = new NodeSimple; - n_circumstance_id->m_field_name = field_name; - n_circumstance_id->m_df_type = DF_Type::int32_t; - n_circumstance_id->m_rdf_type = RDF_Type::int32_t; - n_circumstance_id->m_node_type = NodeType::Simple; - n_circumstance_id->m_address = base + offset; - n_circumstance_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_circumstance_id); - - field_name = "reason"; - auto n_reason = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_written_content_composedst, field_name)); - n_reason->m_field_name = field_name; - n_reason->m_df_type = DF_Type::history_event_reason; - n_reason->m_rdf_type = RDF_Type::Enum; - n_reason->m_node_type = NodeType::Enum; - n_reason->m_base_type = DF_Type::int32_t; - n_reason->m_enum_type = "history_event_reason"; - n_reason->m_address = base + offset; - n_reason->m_defined_in = "df.history.xml"; - n_reason->m_first_value = -1; - n_reason->m_last_value = 77; - n_reason->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_reason); - - field_name = "reason_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_written_content_composedst, field_name)); - auto n_reason_id = new NodeSimple; - n_reason_id->m_field_name = field_name; - n_reason_id->m_df_type = DF_Type::int32_t; - n_reason_id->m_rdf_type = RDF_Type::int32_t; - n_reason_id->m_node_type = NodeType::Simple; - n_reason_id->m_address = base + offset; - n_reason_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_reason_id); - -} -void node_from_history_event_change_hf_moodst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "histfig"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_hf_moodst, field_name)); - auto n_histfig = new NodeSimple; - n_histfig->m_field_name = field_name; - n_histfig->m_df_type = DF_Type::int32_t; - n_histfig->m_rdf_type = RDF_Type::int32_t; - n_histfig->m_node_type = NodeType::Simple; - n_histfig->m_address = base + offset; - n_histfig->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig); - - field_name = "mood"; - auto n_mood = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_hf_moodst, field_name)); - n_mood->m_field_name = field_name; - n_mood->m_df_type = DF_Type::mood_type; - n_mood->m_rdf_type = RDF_Type::Enum; - n_mood->m_node_type = NodeType::Enum; - n_mood->m_base_type = DF_Type::int16_t; - n_mood->m_enum_type = "mood_type"; - n_mood->m_address = base + offset; - n_mood->m_defined_in = "df.units.xml"; - n_mood->m_first_value = -1; - n_mood->m_last_value = 9; - n_mood->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mood); - - field_name = "reason"; - auto n_reason = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_hf_moodst, field_name)); - n_reason->m_field_name = field_name; - n_reason->m_df_type = DF_Type::history_event_reason; - n_reason->m_rdf_type = RDF_Type::Enum; - n_reason->m_node_type = NodeType::Enum; - n_reason->m_base_type = DF_Type::int32_t; - n_reason->m_enum_type = "history_event_reason"; - n_reason->m_address = base + offset; - n_reason->m_defined_in = "df.history.xml"; - n_reason->m_first_value = -1; - n_reason->m_last_value = 77; - n_reason->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_reason); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_hf_moodst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "region"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_hf_moodst, field_name)); - auto n_region = new NodeSimple; - n_region->m_field_name = field_name; - n_region->m_df_type = DF_Type::int32_t; - n_region->m_rdf_type = RDF_Type::int32_t; - n_region->m_node_type = NodeType::Simple; - n_region->m_address = base + offset; - n_region->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region); - - field_name = "layer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_hf_moodst, field_name)); - auto n_layer = new NodeSimple; - n_layer->m_field_name = field_name; - n_layer->m_df_type = DF_Type::int32_t; - n_layer->m_rdf_type = RDF_Type::int32_t; - n_layer->m_node_type = NodeType::Simple; - n_layer->m_address = base + offset; - n_layer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_layer); - - field_name = "region_pos"; - auto n_region_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_hf_moodst, field_name)); - n_region_pos->m_field_name = field_name; - n_region_pos->m_df_type = DF_Type::coord2d; - n_region_pos->m_rdf_type = RDF_Type::Struct; - n_region_pos->m_node_type = NodeType::Compound; - n_region_pos->m_address = base + offset; - n_region_pos->m_defined_in = "df.map.xml"; - n_region_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region_pos); - -} -void node_from_history_event_artifact_claim_formedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "artifact"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_claim_formedst, field_name)); - auto n_artifact = new NodeSimple; - n_artifact->m_field_name = field_name; - n_artifact->m_df_type = DF_Type::int32_t; - n_artifact->m_rdf_type = RDF_Type::int32_t; - n_artifact->m_node_type = NodeType::Simple; - n_artifact->m_address = base + offset; - n_artifact->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_artifact); - - field_name = "histfig"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_claim_formedst, field_name)); - auto n_histfig = new NodeSimple; - n_histfig->m_field_name = field_name; - n_histfig->m_df_type = DF_Type::int32_t; - n_histfig->m_rdf_type = RDF_Type::int32_t; - n_histfig->m_node_type = NodeType::Simple; - n_histfig->m_address = base + offset; - n_histfig->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig); - - field_name = "entity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_claim_formedst, field_name)); - auto n_entity = new NodeSimple; - n_entity->m_field_name = field_name; - n_entity->m_df_type = DF_Type::int32_t; - n_entity->m_rdf_type = RDF_Type::int32_t; - n_entity->m_node_type = NodeType::Simple; - n_entity->m_address = base + offset; - n_entity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity); - - field_name = "position_profile"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_claim_formedst, field_name)); - auto n_position_profile = new NodeSimple; - n_position_profile->m_field_name = field_name; - n_position_profile->m_df_type = DF_Type::int32_t; - n_position_profile->m_rdf_type = RDF_Type::int32_t; - n_position_profile->m_node_type = NodeType::Simple; - n_position_profile->m_address = base + offset; - n_position_profile->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_position_profile); - - field_name = "claim_type"; - auto n_claim_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_claim_formedst, field_name)); - n_claim_type->m_field_name = field_name; - n_claim_type->m_df_type = DF_Type::history_event_artifact_claim_formedst__T_claim_type; - n_claim_type->m_rdf_type = RDF_Type::Enum; - n_claim_type->m_node_type = NodeType::Enum; - n_claim_type->m_base_type = DF_Type::int32_t; - n_claim_type->m_enum_type = "history_event_artifact_claim_formedst::T_claim_type"; - n_claim_type->m_address = base + offset; - n_claim_type->m_first_value = 0; - n_claim_type->m_last_value = 3; - n_claim_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_claim_type); - - field_name = "circumstance"; - auto n_circumstance = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_claim_formedst, field_name)); - n_circumstance->m_field_name = field_name; - n_circumstance->m_df_type = DF_Type::unit_thought_type; - n_circumstance->m_rdf_type = RDF_Type::Enum; - n_circumstance->m_node_type = NodeType::Enum; - n_circumstance->m_base_type = DF_Type::int32_t; - n_circumstance->m_enum_type = "unit_thought_type"; - n_circumstance->m_address = base + offset; - n_circumstance->m_defined_in = "df.unit-thoughts.xml"; - n_circumstance->m_first_value = -1; - n_circumstance->m_last_value = 242; - n_circumstance->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_circumstance); - - field_name = "circumstance_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_claim_formedst, field_name)); - auto n_circumstance_id = new NodeSimple; - n_circumstance_id->m_field_name = field_name; - n_circumstance_id->m_df_type = DF_Type::int32_t; - n_circumstance_id->m_rdf_type = RDF_Type::int32_t; - n_circumstance_id->m_node_type = NodeType::Simple; - n_circumstance_id->m_address = base + offset; - n_circumstance_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_circumstance_id); - - field_name = "reason"; - auto n_reason = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_claim_formedst, field_name)); - n_reason->m_field_name = field_name; - n_reason->m_df_type = DF_Type::history_event_reason; - n_reason->m_rdf_type = RDF_Type::Enum; - n_reason->m_node_type = NodeType::Enum; - n_reason->m_base_type = DF_Type::int32_t; - n_reason->m_enum_type = "history_event_reason"; - n_reason->m_address = base + offset; - n_reason->m_defined_in = "df.history.xml"; - n_reason->m_first_value = -1; - n_reason->m_last_value = 77; - n_reason->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_reason); - - field_name = "reason_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_claim_formedst, field_name)); - auto n_reason_id = new NodeSimple; - n_reason_id->m_field_name = field_name; - n_reason_id->m_df_type = DF_Type::int32_t; - n_reason_id->m_rdf_type = RDF_Type::int32_t; - n_reason_id->m_node_type = NodeType::Simple; - n_reason_id->m_address = base + offset; - n_reason_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_reason_id); - -} -void node_from_history_event_artifact_givenst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "artifact"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_givenst, field_name)); - auto n_artifact = new NodeSimple; - n_artifact->m_field_name = field_name; - n_artifact->m_df_type = DF_Type::int32_t; - n_artifact->m_rdf_type = RDF_Type::int32_t; - n_artifact->m_node_type = NodeType::Simple; - n_artifact->m_address = base + offset; - n_artifact->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_artifact); - - field_name = "giver_hf"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_givenst, field_name)); - auto n_giver_hf = new NodeSimple; - n_giver_hf->m_field_name = field_name; - n_giver_hf->m_df_type = DF_Type::int32_t; - n_giver_hf->m_rdf_type = RDF_Type::int32_t; - n_giver_hf->m_node_type = NodeType::Simple; - n_giver_hf->m_address = base + offset; - n_giver_hf->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_giver_hf); - - field_name = "giver_entity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_givenst, field_name)); - auto n_giver_entity = new NodeSimple; - n_giver_entity->m_field_name = field_name; - n_giver_entity->m_df_type = DF_Type::int32_t; - n_giver_entity->m_rdf_type = RDF_Type::int32_t; - n_giver_entity->m_node_type = NodeType::Simple; - n_giver_entity->m_address = base + offset; - n_giver_entity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_giver_entity); - - field_name = "receiver_hf"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_givenst, field_name)); - auto n_receiver_hf = new NodeSimple; - n_receiver_hf->m_field_name = field_name; - n_receiver_hf->m_df_type = DF_Type::int32_t; - n_receiver_hf->m_rdf_type = RDF_Type::int32_t; - n_receiver_hf->m_node_type = NodeType::Simple; - n_receiver_hf->m_address = base + offset; - n_receiver_hf->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_receiver_hf); - - field_name = "receiver_entity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_givenst, field_name)); - auto n_receiver_entity = new NodeSimple; - n_receiver_entity->m_field_name = field_name; - n_receiver_entity->m_df_type = DF_Type::int32_t; - n_receiver_entity->m_rdf_type = RDF_Type::int32_t; - n_receiver_entity->m_node_type = NodeType::Simple; - n_receiver_entity->m_address = base + offset; - n_receiver_entity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_receiver_entity); - - field_name = "circumstance"; - auto n_circumstance = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_givenst, field_name)); - n_circumstance->m_field_name = field_name; - n_circumstance->m_df_type = DF_Type::unit_thought_type; - n_circumstance->m_rdf_type = RDF_Type::Enum; - n_circumstance->m_node_type = NodeType::Enum; - n_circumstance->m_base_type = DF_Type::int32_t; - n_circumstance->m_enum_type = "unit_thought_type"; - n_circumstance->m_address = base + offset; - n_circumstance->m_defined_in = "df.unit-thoughts.xml"; - n_circumstance->m_first_value = -1; - n_circumstance->m_last_value = 242; - n_circumstance->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_circumstance); - - field_name = "circumstance_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_givenst, field_name)); - auto n_circumstance_id = new NodeSimple; - n_circumstance_id->m_field_name = field_name; - n_circumstance_id->m_df_type = DF_Type::int32_t; - n_circumstance_id->m_rdf_type = RDF_Type::int32_t; - n_circumstance_id->m_node_type = NodeType::Simple; - n_circumstance_id->m_address = base + offset; - n_circumstance_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_circumstance_id); - - field_name = "reason"; - auto n_reason = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_givenst, field_name)); - n_reason->m_field_name = field_name; - n_reason->m_df_type = DF_Type::history_event_reason; - n_reason->m_rdf_type = RDF_Type::Enum; - n_reason->m_node_type = NodeType::Enum; - n_reason->m_base_type = DF_Type::int32_t; - n_reason->m_enum_type = "history_event_reason"; - n_reason->m_address = base + offset; - n_reason->m_defined_in = "df.history.xml"; - n_reason->m_first_value = -1; - n_reason->m_last_value = 77; - n_reason->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_reason); - - field_name = "reason_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_givenst, field_name)); - auto n_reason_id = new NodeSimple; - n_reason_id->m_field_name = field_name; - n_reason_id->m_df_type = DF_Type::int32_t; - n_reason_id->m_rdf_type = RDF_Type::int32_t; - n_reason_id->m_node_type = NodeType::Simple; - n_reason_id->m_address = base + offset; - n_reason_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_reason_id); - -} -void node_from_history_event_hf_recruited_unit_type_for_entityst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "entity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_recruited_unit_type_for_entityst, field_name)); - auto n_entity = new NodeSimple; - n_entity->m_field_name = field_name; - n_entity->m_df_type = DF_Type::int32_t; - n_entity->m_rdf_type = RDF_Type::int32_t; - n_entity->m_node_type = NodeType::Simple; - n_entity->m_address = base + offset; - n_entity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity); - - field_name = "histfig"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_recruited_unit_type_for_entityst, field_name)); - auto n_histfig = new NodeSimple; - n_histfig->m_field_name = field_name; - n_histfig->m_df_type = DF_Type::int32_t; - n_histfig->m_rdf_type = RDF_Type::int32_t; - n_histfig->m_node_type = NodeType::Simple; - n_histfig->m_address = base + offset; - n_histfig->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig); - - field_name = "profession"; - auto n_profession = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_recruited_unit_type_for_entityst, field_name)); - n_profession->m_field_name = field_name; - n_profession->m_df_type = DF_Type::profession; - n_profession->m_rdf_type = RDF_Type::Enum; - n_profession->m_node_type = NodeType::Enum; - n_profession->m_base_type = DF_Type::int16_t; - n_profession->m_enum_type = "profession"; - n_profession->m_address = base + offset; - n_profession->m_defined_in = "df.skills.xml"; - n_profession->m_first_value = -1; - n_profession->m_last_value = 134; - n_profession->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_profession); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_recruited_unit_type_for_entityst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "region"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_recruited_unit_type_for_entityst, field_name)); - auto n_region = new NodeSimple; - n_region->m_field_name = field_name; - n_region->m_df_type = DF_Type::int32_t; - n_region->m_rdf_type = RDF_Type::int32_t; - n_region->m_node_type = NodeType::Simple; - n_region->m_address = base + offset; - n_region->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region); - - field_name = "layer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_recruited_unit_type_for_entityst, field_name)); - auto n_layer = new NodeSimple; - n_layer->m_field_name = field_name; - n_layer->m_df_type = DF_Type::int32_t; - n_layer->m_rdf_type = RDF_Type::int32_t; - n_layer->m_node_type = NodeType::Simple; - n_layer->m_address = base + offset; - n_layer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_layer); - -} -void node_from_history_event_hfs_formed_reputation_relationshipst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "histfig1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hfs_formed_reputation_relationshipst, field_name)); - auto n_histfig1 = new NodeSimple; - n_histfig1->m_field_name = field_name; - n_histfig1->m_df_type = DF_Type::int32_t; - n_histfig1->m_rdf_type = RDF_Type::int32_t; - n_histfig1->m_node_type = NodeType::Simple; - n_histfig1->m_address = base + offset; - n_histfig1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig1); - - field_name = "identity1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hfs_formed_reputation_relationshipst, field_name)); - auto n_identity1 = new NodeSimple; - n_identity1->m_field_name = field_name; - n_identity1->m_df_type = DF_Type::int32_t; - n_identity1->m_rdf_type = RDF_Type::int32_t; - n_identity1->m_node_type = NodeType::Simple; - n_identity1->m_address = base + offset; - n_identity1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_identity1); - - field_name = "histfig2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hfs_formed_reputation_relationshipst, field_name)); - auto n_histfig2 = new NodeSimple; - n_histfig2->m_field_name = field_name; - n_histfig2->m_df_type = DF_Type::int32_t; - n_histfig2->m_rdf_type = RDF_Type::int32_t; - n_histfig2->m_node_type = NodeType::Simple; - n_histfig2->m_address = base + offset; - n_histfig2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig2); - - field_name = "identity2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hfs_formed_reputation_relationshipst, field_name)); - auto n_identity2 = new NodeSimple; - n_identity2->m_field_name = field_name; - n_identity2->m_df_type = DF_Type::int32_t; - n_identity2->m_rdf_type = RDF_Type::int32_t; - n_identity2->m_node_type = NodeType::Simple; - n_identity2->m_address = base + offset; - n_identity2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_identity2); - - field_name = "rep1"; - auto n_rep1 = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hfs_formed_reputation_relationshipst, field_name)); - n_rep1->m_field_name = field_name; - n_rep1->m_df_type = DF_Type::reputation_type; - n_rep1->m_rdf_type = RDF_Type::Enum; - n_rep1->m_node_type = NodeType::Enum; - n_rep1->m_base_type = DF_Type::int32_t; - n_rep1->m_enum_type = "reputation_type"; - n_rep1->m_address = base + offset; - n_rep1->m_defined_in = "df.history.xml"; - n_rep1->m_first_value = 0; - n_rep1->m_last_value = 31; - n_rep1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rep1); - - field_name = "rep2"; - auto n_rep2 = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hfs_formed_reputation_relationshipst, field_name)); - n_rep2->m_field_name = field_name; - n_rep2->m_df_type = DF_Type::reputation_type; - n_rep2->m_rdf_type = RDF_Type::Enum; - n_rep2->m_node_type = NodeType::Enum; - n_rep2->m_base_type = DF_Type::int32_t; - n_rep2->m_enum_type = "reputation_type"; - n_rep2->m_address = base + offset; - n_rep2->m_defined_in = "df.history.xml"; - n_rep2->m_first_value = 0; - n_rep2->m_last_value = 31; - n_rep2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rep2); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hfs_formed_reputation_relationshipst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "region"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hfs_formed_reputation_relationshipst, field_name)); - auto n_region = new NodeSimple; - n_region->m_field_name = field_name; - n_region->m_df_type = DF_Type::int32_t; - n_region->m_rdf_type = RDF_Type::int32_t; - n_region->m_node_type = NodeType::Simple; - n_region->m_address = base + offset; - n_region->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region); - - field_name = "layer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hfs_formed_reputation_relationshipst, field_name)); - auto n_layer = new NodeSimple; - n_layer->m_field_name = field_name; - n_layer->m_df_type = DF_Type::int32_t; - n_layer->m_rdf_type = RDF_Type::int32_t; - n_layer->m_node_type = NodeType::Simple; - n_layer->m_address = base + offset; - n_layer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_layer); - -} -void node_from_history_event_tactical_situationst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "a_tactician_hfid"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_tactical_situationst, field_name)); - auto n_a_tactician_hfid = new NodeSimple; - n_a_tactician_hfid->m_field_name = field_name; - n_a_tactician_hfid->m_df_type = DF_Type::int32_t; - n_a_tactician_hfid->m_rdf_type = RDF_Type::int32_t; - n_a_tactician_hfid->m_node_type = NodeType::Simple; - n_a_tactician_hfid->m_address = base + offset; - n_a_tactician_hfid->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_a_tactician_hfid); - - field_name = "d_tactician_hfid"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_tactical_situationst, field_name)); - auto n_d_tactician_hfid = new NodeSimple; - n_d_tactician_hfid->m_field_name = field_name; - n_d_tactician_hfid->m_df_type = DF_Type::int32_t; - n_d_tactician_hfid->m_rdf_type = RDF_Type::int32_t; - n_d_tactician_hfid->m_node_type = NodeType::Simple; - n_d_tactician_hfid->m_address = base + offset; - n_d_tactician_hfid->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_d_tactician_hfid); - - field_name = "a_tactics_roll"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_tactical_situationst, field_name)); - auto n_a_tactics_roll = new NodeSimple; - n_a_tactics_roll->m_field_name = field_name; - n_a_tactics_roll->m_df_type = DF_Type::int32_t; - n_a_tactics_roll->m_rdf_type = RDF_Type::int32_t; - n_a_tactics_roll->m_node_type = NodeType::Simple; - n_a_tactics_roll->m_address = base + offset; - n_a_tactics_roll->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_a_tactics_roll); - - field_name = "d_tactics_roll"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_tactical_situationst, field_name)); - auto n_d_tactics_roll = new NodeSimple; - n_d_tactics_roll->m_field_name = field_name; - n_d_tactics_roll->m_df_type = DF_Type::int32_t; - n_d_tactics_roll->m_rdf_type = RDF_Type::int32_t; - n_d_tactics_roll->m_node_type = NodeType::Simple; - n_d_tactics_roll->m_address = base + offset; - n_d_tactics_roll->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_d_tactics_roll); - - field_name = "situation"; - auto n_situation = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_tactical_situationst, field_name)); - n_situation->m_field_name = field_name; - n_situation->m_df_type = DF_Type::tactical_situation; - n_situation->m_rdf_type = RDF_Type::Enum; - n_situation->m_node_type = NodeType::Enum; - n_situation->m_base_type = DF_Type::int32_t; - n_situation->m_enum_type = "tactical_situation"; - n_situation->m_address = base + offset; - n_situation->m_defined_in = "df.history.xml"; - n_situation->m_first_value = 0; - n_situation->m_last_value = 6; - n_situation->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_situation); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_tactical_situationst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "structure"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_tactical_situationst, field_name)); - auto n_structure = new NodeSimple; - n_structure->m_field_name = field_name; - n_structure->m_df_type = DF_Type::int32_t; - n_structure->m_rdf_type = RDF_Type::int32_t; - n_structure->m_node_type = NodeType::Simple; - n_structure->m_address = base + offset; - n_structure->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_structure); - - field_name = "subregion"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_tactical_situationst, field_name)); - auto n_subregion = new NodeSimple; - n_subregion->m_field_name = field_name; - n_subregion->m_df_type = DF_Type::int32_t; - n_subregion->m_rdf_type = RDF_Type::int32_t; - n_subregion->m_node_type = NodeType::Simple; - n_subregion->m_address = base + offset; - n_subregion->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_subregion); - - field_name = "feature_layer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_tactical_situationst, field_name)); - auto n_feature_layer = new NodeSimple; - n_feature_layer->m_field_name = field_name; - n_feature_layer->m_df_type = DF_Type::int32_t; - n_feature_layer->m_rdf_type = RDF_Type::int32_t; - n_feature_layer->m_node_type = NodeType::Simple; - n_feature_layer->m_address = base + offset; - n_feature_layer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_feature_layer); - - field_name = "tactics_flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_tactical_situationst, field_name)); - auto n_tactics_flags = new NodeBitfield; - n_tactics_flags->m_field_name = field_name; - n_tactics_flags->m_df_type = DF_Type::history_event_tactical_situationst__T_tactics_flags; - n_tactics_flags->m_rdf_type = RDF_Type::Bitfield; - n_tactics_flags->m_node_type = NodeType::Bitfield; - n_tactics_flags->m_address = base + offset; - n_tactics_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tactics_flags); - -} -void node_from_history_event_collection_duelst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event_collection; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event_collection(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "parent_collection"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_duelst, field_name)); - auto n_parent_collection = new NodeSimple; - n_parent_collection->m_field_name = field_name; - n_parent_collection->m_df_type = DF_Type::int32_t; - n_parent_collection->m_rdf_type = RDF_Type::int32_t; - n_parent_collection->m_node_type = NodeType::Simple; - n_parent_collection->m_address = base + offset; - n_parent_collection->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_parent_collection); - - field_name = "region"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_duelst, field_name)); - auto n_region = new NodeSimple; - n_region->m_field_name = field_name; - n_region->m_df_type = DF_Type::int32_t; - n_region->m_rdf_type = RDF_Type::int32_t; - n_region->m_node_type = NodeType::Simple; - n_region->m_address = base + offset; - n_region->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region); - - field_name = "layer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_duelst, field_name)); - auto n_layer = new NodeSimple; - n_layer->m_field_name = field_name; - n_layer->m_df_type = DF_Type::int32_t; - n_layer->m_rdf_type = RDF_Type::int32_t; - n_layer->m_node_type = NodeType::Simple; - n_layer->m_address = base + offset; - n_layer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_layer); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_duelst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "region_pos"; - auto n_region_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_duelst, field_name)); - n_region_pos->m_field_name = field_name; - n_region_pos->m_df_type = DF_Type::coord2d; - n_region_pos->m_rdf_type = RDF_Type::Struct; - n_region_pos->m_node_type = NodeType::Compound; - n_region_pos->m_address = base + offset; - n_region_pos->m_defined_in = "df.map.xml"; - n_region_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region_pos); - - field_name = "attacker_hf"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_duelst, field_name)); - auto n_attacker_hf = new NodeSimple; - n_attacker_hf->m_field_name = field_name; - n_attacker_hf->m_df_type = DF_Type::int32_t; - n_attacker_hf->m_rdf_type = RDF_Type::int32_t; - n_attacker_hf->m_node_type = NodeType::Simple; - n_attacker_hf->m_address = base + offset; - n_attacker_hf->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_attacker_hf); - - field_name = "defender_hf"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_duelst, field_name)); - auto n_defender_hf = new NodeSimple; - n_defender_hf->m_field_name = field_name; - n_defender_hf->m_df_type = DF_Type::int32_t; - n_defender_hf->m_rdf_type = RDF_Type::int32_t; - n_defender_hf->m_node_type = NodeType::Simple; - n_defender_hf->m_address = base + offset; - n_defender_hf->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_defender_hf); - - field_name = "ordinal"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_duelst, field_name)); - auto n_ordinal = new NodeSimple; - n_ordinal->m_field_name = field_name; - n_ordinal->m_df_type = DF_Type::int32_t; - n_ordinal->m_rdf_type = RDF_Type::int32_t; - n_ordinal->m_node_type = NodeType::Simple; - n_ordinal->m_address = base + offset; - n_ordinal->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ordinal); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_duelst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int8_t; - n_anon_1->m_rdf_type = RDF_Type::int8_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_history_event_collection_abductionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event_collection; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event_collection(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "parent_collection"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_abductionst, field_name)); - auto n_parent_collection = new NodeSimple; - n_parent_collection->m_field_name = field_name; - n_parent_collection->m_df_type = DF_Type::int32_t; - n_parent_collection->m_rdf_type = RDF_Type::int32_t; - n_parent_collection->m_node_type = NodeType::Simple; - n_parent_collection->m_address = base + offset; - n_parent_collection->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_parent_collection); - - field_name = "region"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_abductionst, field_name)); - auto n_region = new NodeSimple; - n_region->m_field_name = field_name; - n_region->m_df_type = DF_Type::int32_t; - n_region->m_rdf_type = RDF_Type::int32_t; - n_region->m_node_type = NodeType::Simple; - n_region->m_address = base + offset; - n_region->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region); - - field_name = "layer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_abductionst, field_name)); - auto n_layer = new NodeSimple; - n_layer->m_field_name = field_name; - n_layer->m_df_type = DF_Type::int32_t; - n_layer->m_rdf_type = RDF_Type::int32_t; - n_layer->m_node_type = NodeType::Simple; - n_layer->m_address = base + offset; - n_layer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_layer); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_abductionst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "region_pos"; - auto n_region_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_abductionst, field_name)); - n_region_pos->m_field_name = field_name; - n_region_pos->m_df_type = DF_Type::coord2d; - n_region_pos->m_rdf_type = RDF_Type::Struct; - n_region_pos->m_node_type = NodeType::Compound; - n_region_pos->m_address = base + offset; - n_region_pos->m_defined_in = "df.map.xml"; - n_region_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region_pos); - - field_name = "attacker_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_abductionst, field_name)); - auto n_attacker_civ = new NodeSimple; - n_attacker_civ->m_field_name = field_name; - n_attacker_civ->m_df_type = DF_Type::int32_t; - n_attacker_civ->m_rdf_type = RDF_Type::int32_t; - n_attacker_civ->m_node_type = NodeType::Simple; - n_attacker_civ->m_address = base + offset; - n_attacker_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_attacker_civ); - - field_name = "defender_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_abductionst, field_name)); - auto n_defender_civ = new NodeSimple; - n_defender_civ->m_field_name = field_name; - n_defender_civ->m_df_type = DF_Type::int32_t; - n_defender_civ->m_rdf_type = RDF_Type::int32_t; - n_defender_civ->m_node_type = NodeType::Simple; - n_defender_civ->m_address = base + offset; - n_defender_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_defender_civ); - - field_name = "snatcher_hf"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_abductionst, field_name)); - auto n_snatcher_hf = new NodeVector; - n_snatcher_hf->m_field_name = field_name; - n_snatcher_hf->m_df_type = DF_Type::int32_t; - n_snatcher_hf->m_rdf_type = RDF_Type::Vector; - n_snatcher_hf->m_node_type = NodeType::Vector; - n_snatcher_hf->m_addornements = "v"; - n_snatcher_hf->m_address = base + offset; - n_snatcher_hf->m_parent = p_node_parent; - n_snatcher_hf->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_snatcher_hf); - - field_name = "victim_hf"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_abductionst, field_name)); - auto n_victim_hf = new NodeVector; - n_victim_hf->m_field_name = field_name; - n_victim_hf->m_df_type = DF_Type::int32_t; - n_victim_hf->m_rdf_type = RDF_Type::Vector; - n_victim_hf->m_node_type = NodeType::Vector; - n_victim_hf->m_addornements = "v"; - n_victim_hf->m_address = base + offset; - n_victim_hf->m_parent = p_node_parent; - n_victim_hf->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_victim_hf); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_abductionst, field_name)); - auto n_anon_1 = new NodeVector; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::Vector; - n_anon_1->m_node_type = NodeType::Vector; - n_anon_1->m_addornements = "v"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "ordinal"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_abductionst, field_name)); - auto n_ordinal = new NodeSimple; - n_ordinal->m_field_name = field_name; - n_ordinal->m_df_type = DF_Type::int32_t; - n_ordinal->m_rdf_type = RDF_Type::int32_t; - n_ordinal->m_node_type = NodeType::Simple; - n_ordinal->m_address = base + offset; - n_ordinal->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ordinal); - -} -void node_from_history_event_collection_theftst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event_collection; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event_collection(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "parent_collection"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_theftst, field_name)); - auto n_parent_collection = new NodeSimple; - n_parent_collection->m_field_name = field_name; - n_parent_collection->m_df_type = DF_Type::int32_t; - n_parent_collection->m_rdf_type = RDF_Type::int32_t; - n_parent_collection->m_node_type = NodeType::Simple; - n_parent_collection->m_address = base + offset; - n_parent_collection->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_parent_collection); - - field_name = "region"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_theftst, field_name)); - auto n_region = new NodeSimple; - n_region->m_field_name = field_name; - n_region->m_df_type = DF_Type::int32_t; - n_region->m_rdf_type = RDF_Type::int32_t; - n_region->m_node_type = NodeType::Simple; - n_region->m_address = base + offset; - n_region->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region); - - field_name = "layer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_theftst, field_name)); - auto n_layer = new NodeSimple; - n_layer->m_field_name = field_name; - n_layer->m_df_type = DF_Type::int32_t; - n_layer->m_rdf_type = RDF_Type::int32_t; - n_layer->m_node_type = NodeType::Simple; - n_layer->m_address = base + offset; - n_layer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_layer); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_theftst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "region_pos"; - auto n_region_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_theftst, field_name)); - n_region_pos->m_field_name = field_name; - n_region_pos->m_df_type = DF_Type::coord2d; - n_region_pos->m_rdf_type = RDF_Type::Struct; - n_region_pos->m_node_type = NodeType::Compound; - n_region_pos->m_address = base + offset; - n_region_pos->m_defined_in = "df.map.xml"; - n_region_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region_pos); - - field_name = "thief_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_theftst, field_name)); - auto n_thief_civ = new NodeSimple; - n_thief_civ->m_field_name = field_name; - n_thief_civ->m_df_type = DF_Type::int32_t; - n_thief_civ->m_rdf_type = RDF_Type::int32_t; - n_thief_civ->m_node_type = NodeType::Simple; - n_thief_civ->m_address = base + offset; - n_thief_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_thief_civ); - - field_name = "victim_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_theftst, field_name)); - auto n_victim_civ = new NodeSimple; - n_victim_civ->m_field_name = field_name; - n_victim_civ->m_df_type = DF_Type::int32_t; - n_victim_civ->m_rdf_type = RDF_Type::int32_t; - n_victim_civ->m_node_type = NodeType::Simple; - n_victim_civ->m_address = base + offset; - n_victim_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_victim_civ); - - field_name = "thief_hf"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_theftst, field_name)); - auto n_thief_hf = new NodeVector; - n_thief_hf->m_field_name = field_name; - n_thief_hf->m_df_type = DF_Type::int32_t; - n_thief_hf->m_rdf_type = RDF_Type::Vector; - n_thief_hf->m_node_type = NodeType::Vector; - n_thief_hf->m_addornements = "v"; - n_thief_hf->m_address = base + offset; - n_thief_hf->m_parent = p_node_parent; - n_thief_hf->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_thief_hf); - - field_name = "stolen_item_types"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_theftst, field_name)); - auto n_stolen_item_types = new NodeVector; - n_stolen_item_types->m_field_name = field_name; - n_stolen_item_types->m_df_type = DF_Type::item_type; - n_stolen_item_types->m_rdf_type = RDF_Type::Vector; - n_stolen_item_types->m_node_type = NodeType::Vector; - n_stolen_item_types->m_enum_base = DF_Type::int16_t; - n_stolen_item_types->m_defined_in = "df.item-raws.xml"; - n_stolen_item_types->m_addornements = "v"; - n_stolen_item_types->m_address = base + offset; - n_stolen_item_types->m_parent = p_node_parent; - n_stolen_item_types->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_stolen_item_types); - - field_name = "stolen_item_subtypes"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_theftst, field_name)); - auto n_stolen_item_subtypes = new NodeVector; - n_stolen_item_subtypes->m_field_name = field_name; - n_stolen_item_subtypes->m_df_type = DF_Type::int16_t; - n_stolen_item_subtypes->m_rdf_type = RDF_Type::Vector; - n_stolen_item_subtypes->m_node_type = NodeType::Vector; - n_stolen_item_subtypes->m_addornements = "v"; - n_stolen_item_subtypes->m_address = base + offset; - n_stolen_item_subtypes->m_parent = p_node_parent; - n_stolen_item_subtypes->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_stolen_item_subtypes); - - field_name = "stolen_mat_types"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_theftst, field_name)); - auto n_stolen_mat_types = new NodeVector; - n_stolen_mat_types->m_field_name = field_name; - n_stolen_mat_types->m_df_type = DF_Type::int16_t; - n_stolen_mat_types->m_rdf_type = RDF_Type::Vector; - n_stolen_mat_types->m_node_type = NodeType::Vector; - n_stolen_mat_types->m_addornements = "v"; - n_stolen_mat_types->m_address = base + offset; - n_stolen_mat_types->m_parent = p_node_parent; - n_stolen_mat_types->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_stolen_mat_types); - - field_name = "stolen_mat_indices"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_theftst, field_name)); - auto n_stolen_mat_indices = new NodeVector; - n_stolen_mat_indices->m_field_name = field_name; - n_stolen_mat_indices->m_df_type = DF_Type::int32_t; - n_stolen_mat_indices->m_rdf_type = RDF_Type::Vector; - n_stolen_mat_indices->m_node_type = NodeType::Vector; - n_stolen_mat_indices->m_addornements = "v"; - n_stolen_mat_indices->m_address = base + offset; - n_stolen_mat_indices->m_parent = p_node_parent; - n_stolen_mat_indices->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_stolen_mat_indices); - - field_name = "stolen_item_ids"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_theftst, field_name)); - auto n_stolen_item_ids = new NodeVector; - n_stolen_item_ids->m_field_name = field_name; - n_stolen_item_ids->m_df_type = DF_Type::int32_t; - n_stolen_item_ids->m_rdf_type = RDF_Type::Vector; - n_stolen_item_ids->m_node_type = NodeType::Vector; - n_stolen_item_ids->m_addornements = "v"; - n_stolen_item_ids->m_address = base + offset; - n_stolen_item_ids->m_parent = p_node_parent; - n_stolen_item_ids->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_stolen_item_ids); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_theftst, field_name)); - auto n_anon_1 = new NodeVector; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::Vector; - n_anon_1->m_node_type = NodeType::Vector; - n_anon_1->m_addornements = "v"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_theftst, field_name)); - auto n_anon_2 = new NodeVector; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int16_t; - n_anon_2->m_rdf_type = RDF_Type::Vector; - n_anon_2->m_node_type = NodeType::Vector; - n_anon_2->m_addornements = "v"; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - n_anon_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_theftst, field_name)); - auto n_anon_3 = new NodeVector; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int16_t; - n_anon_3->m_rdf_type = RDF_Type::Vector; - n_anon_3->m_node_type = NodeType::Vector; - n_anon_3->m_addornements = "v"; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - n_anon_3->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_theftst, field_name)); - auto n_anon_4 = new NodeVector; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int16_t; - n_anon_4->m_rdf_type = RDF_Type::Vector; - n_anon_4->m_node_type = NodeType::Vector; - n_anon_4->m_addornements = "v"; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - n_anon_4->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_theftst, field_name)); - auto n_anon_5 = new NodeVector; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::Vector; - n_anon_5->m_node_type = NodeType::Vector; - n_anon_5->m_addornements = "v"; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - n_anon_5->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_theftst, field_name)); - auto n_anon_6 = new NodeVector; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::Vector; - n_anon_6->m_node_type = NodeType::Vector; - n_anon_6->m_addornements = "v"; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - n_anon_6->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_theftst, field_name)); - auto n_anon_7 = new NodeVector; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::int32_t; - n_anon_7->m_rdf_type = RDF_Type::Vector; - n_anon_7->m_node_type = NodeType::Vector; - n_anon_7->m_addornements = "v"; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - n_anon_7->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_7); - - field_name = "ordinal"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_theftst, field_name)); - auto n_ordinal = new NodeSimple; - n_ordinal->m_field_name = field_name; - n_ordinal->m_df_type = DF_Type::int32_t; - n_ordinal->m_rdf_type = RDF_Type::int32_t; - n_ordinal->m_node_type = NodeType::Simple; - n_ordinal->m_address = base + offset; - n_ordinal->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ordinal); - -} -void node_from_history_event_collection_beast_attackst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event_collection; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event_collection(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "parent_collection"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_beast_attackst, field_name)); - auto n_parent_collection = new NodeSimple; - n_parent_collection->m_field_name = field_name; - n_parent_collection->m_df_type = DF_Type::int32_t; - n_parent_collection->m_rdf_type = RDF_Type::int32_t; - n_parent_collection->m_node_type = NodeType::Simple; - n_parent_collection->m_address = base + offset; - n_parent_collection->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_parent_collection); - - field_name = "region"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_beast_attackst, field_name)); - auto n_region = new NodeSimple; - n_region->m_field_name = field_name; - n_region->m_df_type = DF_Type::int32_t; - n_region->m_rdf_type = RDF_Type::int32_t; - n_region->m_node_type = NodeType::Simple; - n_region->m_address = base + offset; - n_region->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region); - - field_name = "layer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_beast_attackst, field_name)); - auto n_layer = new NodeSimple; - n_layer->m_field_name = field_name; - n_layer->m_df_type = DF_Type::int32_t; - n_layer->m_rdf_type = RDF_Type::int32_t; - n_layer->m_node_type = NodeType::Simple; - n_layer->m_address = base + offset; - n_layer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_layer); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_beast_attackst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "region_pos"; - auto n_region_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_beast_attackst, field_name)); - n_region_pos->m_field_name = field_name; - n_region_pos->m_df_type = DF_Type::coord2d; - n_region_pos->m_rdf_type = RDF_Type::Struct; - n_region_pos->m_node_type = NodeType::Compound; - n_region_pos->m_address = base + offset; - n_region_pos->m_defined_in = "df.map.xml"; - n_region_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region_pos); - - field_name = "defender_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_beast_attackst, field_name)); - auto n_defender_civ = new NodeSimple; - n_defender_civ->m_field_name = field_name; - n_defender_civ->m_df_type = DF_Type::int32_t; - n_defender_civ->m_rdf_type = RDF_Type::int32_t; - n_defender_civ->m_node_type = NodeType::Simple; - n_defender_civ->m_address = base + offset; - n_defender_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_defender_civ); - - field_name = "attacker_hf"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_beast_attackst, field_name)); - auto n_attacker_hf = new NodeVector; - n_attacker_hf->m_field_name = field_name; - n_attacker_hf->m_df_type = DF_Type::int32_t; - n_attacker_hf->m_rdf_type = RDF_Type::Vector; - n_attacker_hf->m_node_type = NodeType::Vector; - n_attacker_hf->m_addornements = "v"; - n_attacker_hf->m_address = base + offset; - n_attacker_hf->m_parent = p_node_parent; - n_attacker_hf->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_attacker_hf); - - field_name = "ordinal"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_beast_attackst, field_name)); - auto n_ordinal = new NodeSimple; - n_ordinal->m_field_name = field_name; - n_ordinal->m_df_type = DF_Type::int32_t; - n_ordinal->m_rdf_type = RDF_Type::int32_t; - n_ordinal->m_node_type = NodeType::Simple; - n_ordinal->m_address = base + offset; - n_ordinal->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ordinal); - -} -void node_from_history_event_collection_raidst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event_collection; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event_collection(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "parent_collection"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_raidst, field_name)); - auto n_parent_collection = new NodeSimple; - n_parent_collection->m_field_name = field_name; - n_parent_collection->m_df_type = DF_Type::int32_t; - n_parent_collection->m_rdf_type = RDF_Type::int32_t; - n_parent_collection->m_node_type = NodeType::Simple; - n_parent_collection->m_address = base + offset; - n_parent_collection->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_parent_collection); - - field_name = "region"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_raidst, field_name)); - auto n_region = new NodeSimple; - n_region->m_field_name = field_name; - n_region->m_df_type = DF_Type::int32_t; - n_region->m_rdf_type = RDF_Type::int32_t; - n_region->m_node_type = NodeType::Simple; - n_region->m_address = base + offset; - n_region->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region); - - field_name = "layer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_raidst, field_name)); - auto n_layer = new NodeSimple; - n_layer->m_field_name = field_name; - n_layer->m_df_type = DF_Type::int32_t; - n_layer->m_rdf_type = RDF_Type::int32_t; - n_layer->m_node_type = NodeType::Simple; - n_layer->m_address = base + offset; - n_layer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_layer); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_raidst, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "region_pos"; - auto n_region_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_raidst, field_name)); - n_region_pos->m_field_name = field_name; - n_region_pos->m_df_type = DF_Type::coord2d; - n_region_pos->m_rdf_type = RDF_Type::Struct; - n_region_pos->m_node_type = NodeType::Compound; - n_region_pos->m_address = base + offset; - n_region_pos->m_defined_in = "df.map.xml"; - n_region_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region_pos); - - field_name = "attacker_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_raidst, field_name)); - auto n_attacker_civ = new NodeSimple; - n_attacker_civ->m_field_name = field_name; - n_attacker_civ->m_df_type = DF_Type::int32_t; - n_attacker_civ->m_rdf_type = RDF_Type::int32_t; - n_attacker_civ->m_node_type = NodeType::Simple; - n_attacker_civ->m_address = base + offset; - n_attacker_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_attacker_civ); - - field_name = "defender_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_raidst, field_name)); - auto n_defender_civ = new NodeSimple; - n_defender_civ->m_field_name = field_name; - n_defender_civ->m_df_type = DF_Type::int32_t; - n_defender_civ->m_rdf_type = RDF_Type::int32_t; - n_defender_civ->m_node_type = NodeType::Simple; - n_defender_civ->m_address = base + offset; - n_defender_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_defender_civ); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_raidst, field_name)); - auto n_anon_1 = new NodeVector; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::Vector; - n_anon_1->m_node_type = NodeType::Vector; - n_anon_1->m_addornements = "v"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "ordinal"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_raidst, field_name)); - auto n_ordinal = new NodeSimple; - n_ordinal->m_field_name = field_name; - n_ordinal->m_df_type = DF_Type::int32_t; - n_ordinal->m_rdf_type = RDF_Type::int32_t; - n_ordinal->m_node_type = NodeType::Simple; - n_ordinal->m_address = base + offset; - n_ordinal->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ordinal); - -} -void node_from_history_era__T_title(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "type"; - auto n_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_era__T_title, field_name)); - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::era_type; - n_type->m_rdf_type = RDF_Type::Enum; - n_type->m_node_type = NodeType::Enum; - n_type->m_base_type = enum_base_type(n_type->m_df_type); - n_type->m_enum_type = "era_type"; - n_type->m_address = base + offset; - n_type->m_defined_in = "df.history.xml"; - n_type->m_first_value = 0; - n_type->m_last_value = 12; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - - field_name = "histfig_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_era__T_title, field_name)); - auto n_histfig_1 = new NodeSimple; - n_histfig_1->m_field_name = field_name; - n_histfig_1->m_df_type = DF_Type::int32_t; - n_histfig_1->m_rdf_type = RDF_Type::int32_t; - n_histfig_1->m_node_type = NodeType::Simple; - n_histfig_1->m_address = base + offset; - n_histfig_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig_1); - - field_name = "histfig_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_era__T_title, field_name)); - auto n_histfig_2 = new NodeSimple; - n_histfig_2->m_field_name = field_name; - n_histfig_2->m_df_type = DF_Type::int32_t; - n_histfig_2->m_rdf_type = RDF_Type::int32_t; - n_histfig_2->m_node_type = NodeType::Simple; - n_histfig_2->m_address = base + offset; - n_histfig_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig_2); - - field_name = "ordinal"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_era__T_title, field_name)); - auto n_ordinal = new NodeSimple; - n_ordinal->m_field_name = field_name; - n_ordinal->m_df_type = DF_Type::int32_t; - n_ordinal->m_rdf_type = RDF_Type::int32_t; - n_ordinal->m_node_type = NodeType::Simple; - n_ordinal->m_address = base + offset; - n_ordinal->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ordinal); - - field_name = "name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_era__T_title, field_name)); - auto n_name = new NodeSimple; - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Stl_string; - n_name->m_node_type = NodeType::Simple; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "percent"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_era__T_title, field_name)); - auto n_percent = new NodeSimple; - n_percent->m_field_name = field_name; - n_percent->m_df_type = DF_Type::int32_t; - n_percent->m_rdf_type = RDF_Type::int32_t; - n_percent->m_node_type = NodeType::Simple; - n_percent->m_address = base + offset; - n_percent->m_comment = "either percentage of single race or percentage of mundane"; - n_percent->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_percent); - -} -void node_from_history_era__T_details(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "living_powers"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_era__T_details, field_name)); - auto n_living_powers = new NodeSimple; - n_living_powers->m_field_name = field_name; - n_living_powers->m_df_type = DF_Type::int32_t; - n_living_powers->m_rdf_type = RDF_Type::int32_t; - n_living_powers->m_node_type = NodeType::Simple; - n_living_powers->m_address = base + offset; - n_living_powers->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_living_powers); - - field_name = "living_megabeasts"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_era__T_details, field_name)); - auto n_living_megabeasts = new NodeSimple; - n_living_megabeasts->m_field_name = field_name; - n_living_megabeasts->m_df_type = DF_Type::int32_t; - n_living_megabeasts->m_rdf_type = RDF_Type::int32_t; - n_living_megabeasts->m_node_type = NodeType::Simple; - n_living_megabeasts->m_address = base + offset; - n_living_megabeasts->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_living_megabeasts); - - field_name = "living_semimegabeasts"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_era__T_details, field_name)); - auto n_living_semimegabeasts = new NodeSimple; - n_living_semimegabeasts->m_field_name = field_name; - n_living_semimegabeasts->m_df_type = DF_Type::int32_t; - n_living_semimegabeasts->m_rdf_type = RDF_Type::int32_t; - n_living_semimegabeasts->m_node_type = NodeType::Simple; - n_living_semimegabeasts->m_address = base + offset; - n_living_semimegabeasts->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_living_semimegabeasts); - - field_name = "power_hf1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_era__T_details, field_name)); - auto n_power_hf1 = new NodeSimple; - n_power_hf1->m_field_name = field_name; - n_power_hf1->m_df_type = DF_Type::int32_t; - n_power_hf1->m_rdf_type = RDF_Type::int32_t; - n_power_hf1->m_node_type = NodeType::Simple; - n_power_hf1->m_address = base + offset; - n_power_hf1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_power_hf1); - - field_name = "power_hf2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_era__T_details, field_name)); - auto n_power_hf2 = new NodeSimple; - n_power_hf2->m_field_name = field_name; - n_power_hf2->m_df_type = DF_Type::int32_t; - n_power_hf2->m_rdf_type = RDF_Type::int32_t; - n_power_hf2->m_node_type = NodeType::Simple; - n_power_hf2->m_address = base + offset; - n_power_hf2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_power_hf2); - - field_name = "power_hf3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_era__T_details, field_name)); - auto n_power_hf3 = new NodeSimple; - n_power_hf3->m_field_name = field_name; - n_power_hf3->m_df_type = DF_Type::int32_t; - n_power_hf3->m_rdf_type = RDF_Type::int32_t; - n_power_hf3->m_node_type = NodeType::Simple; - n_power_hf3->m_address = base + offset; - n_power_hf3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_power_hf3); - - field_name = "civilized_races"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_era__T_details, field_name)); - auto n_civilized_races = new NodeVector; - n_civilized_races->m_field_name = field_name; - n_civilized_races->m_df_type = DF_Type::int32_t; - n_civilized_races->m_rdf_type = RDF_Type::Vector; - n_civilized_races->m_node_type = NodeType::Vector; - n_civilized_races->m_addornements = "v"; - n_civilized_races->m_address = base + offset; - n_civilized_races->m_refers_to = "(find-creature $)"; - n_civilized_races->m_parent = p_node_parent; - n_civilized_races->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_civilized_races); - - field_name = "civilized_total"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_era__T_details, field_name)); - auto n_civilized_total = new NodeSimple; - n_civilized_total->m_field_name = field_name; - n_civilized_total->m_df_type = DF_Type::int32_t; - n_civilized_total->m_rdf_type = RDF_Type::int32_t; - n_civilized_total->m_node_type = NodeType::Simple; - n_civilized_total->m_address = base + offset; - n_civilized_total->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_civilized_total); - - field_name = "civilized_mundane"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_era__T_details, field_name)); - auto n_civilized_mundane = new NodeSimple; - n_civilized_mundane->m_field_name = field_name; - n_civilized_mundane->m_df_type = DF_Type::int32_t; - n_civilized_mundane->m_rdf_type = RDF_Type::int32_t; - n_civilized_mundane->m_node_type = NodeType::Simple; - n_civilized_mundane->m_address = base + offset; - n_civilized_mundane->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_civilized_mundane); - -} -void node_from_history_era(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_era, field_name)); - auto n_year = new NodeSimple; - n_year->m_field_name = field_name; - n_year->m_df_type = DF_Type::int32_t; - n_year->m_rdf_type = RDF_Type::int32_t; - n_year->m_node_type = NodeType::Simple; - n_year->m_address = base + offset; - n_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_year); - - field_name = "title"; - auto n_title = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_era, field_name)); - n_title->m_field_name = field_name; - n_title->m_df_type = DF_Type::history_era__T_title; - n_title->m_rdf_type = RDF_Type::Compound; - n_title->m_node_type = NodeType::Compound; - n_title->m_address = base + offset; - n_title->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_title); - - field_name = "details"; - auto n_details = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_era, field_name)); - n_details->m_field_name = field_name; - n_details->m_df_type = DF_Type::history_era__T_details; - n_details->m_rdf_type = RDF_Type::Compound; - n_details->m_node_type = NodeType::Compound; - n_details->m_address = base + offset; - n_details->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_details); - -} -void node_from_init_display(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "flag"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_display, field_name)); - auto n_flag = new NodeDFFlagArray; - n_flag->m_field_name = field_name; - n_flag->m_index_enum = DF_Type::init_display_flags; - n_flag->m_df_type = DF_Type::init_display_flags; - n_flag->m_size = 15; - n_flag->m_rdf_type = RDF_Type::DFFlagArray; - n_flag->m_node_type = NodeType::Bitfield; - n_flag->m_address = base + offset; - n_flag->m_defined_in = "df.init.xml"; - n_flag->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flag); - - field_name = "windowed"; - auto n_windowed = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_display, field_name)); - n_windowed->m_field_name = field_name; - n_windowed->m_df_type = DF_Type::init_display__T_windowed; - n_windowed->m_rdf_type = RDF_Type::Enum; - n_windowed->m_node_type = NodeType::Enum; - n_windowed->m_base_type = enum_base_type(n_windowed->m_df_type); - n_windowed->m_enum_type = "init_display::T_windowed"; - n_windowed->m_address = base + offset; - n_windowed->m_first_value = 0; - n_windowed->m_last_value = 2; - n_windowed->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_windowed); - - field_name = "grid_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_display, field_name)); - auto n_grid_x = new NodeSimple; - n_grid_x->m_field_name = field_name; - n_grid_x->m_df_type = DF_Type::int32_t; - n_grid_x->m_rdf_type = RDF_Type::int32_t; - n_grid_x->m_node_type = NodeType::Simple; - n_grid_x->m_address = base + offset; - n_grid_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_grid_x); - - field_name = "grid_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_display, field_name)); - auto n_grid_y = new NodeSimple; - n_grid_y->m_field_name = field_name; - n_grid_y->m_df_type = DF_Type::int32_t; - n_grid_y->m_rdf_type = RDF_Type::int32_t; - n_grid_y->m_node_type = NodeType::Simple; - n_grid_y->m_address = base + offset; - n_grid_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_grid_y); - - field_name = "desired_fullscreen_width"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_display, field_name)); - auto n_desired_fullscreen_width = new NodeSimple; - n_desired_fullscreen_width->m_field_name = field_name; - n_desired_fullscreen_width->m_df_type = DF_Type::int32_t; - n_desired_fullscreen_width->m_rdf_type = RDF_Type::int32_t; - n_desired_fullscreen_width->m_node_type = NodeType::Simple; - n_desired_fullscreen_width->m_address = base + offset; - n_desired_fullscreen_width->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_desired_fullscreen_width); - - field_name = "desired_fullscreen_height"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_display, field_name)); - auto n_desired_fullscreen_height = new NodeSimple; - n_desired_fullscreen_height->m_field_name = field_name; - n_desired_fullscreen_height->m_df_type = DF_Type::int32_t; - n_desired_fullscreen_height->m_rdf_type = RDF_Type::int32_t; - n_desired_fullscreen_height->m_node_type = NodeType::Simple; - n_desired_fullscreen_height->m_address = base + offset; - n_desired_fullscreen_height->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_desired_fullscreen_height); - - field_name = "desired_windowed_width"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_display, field_name)); - auto n_desired_windowed_width = new NodeSimple; - n_desired_windowed_width->m_field_name = field_name; - n_desired_windowed_width->m_df_type = DF_Type::int32_t; - n_desired_windowed_width->m_rdf_type = RDF_Type::int32_t; - n_desired_windowed_width->m_node_type = NodeType::Simple; - n_desired_windowed_width->m_address = base + offset; - n_desired_windowed_width->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_desired_windowed_width); - - field_name = "desired_windowed_height"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_display, field_name)); - auto n_desired_windowed_height = new NodeSimple; - n_desired_windowed_height->m_field_name = field_name; - n_desired_windowed_height->m_df_type = DF_Type::int32_t; - n_desired_windowed_height->m_rdf_type = RDF_Type::int32_t; - n_desired_windowed_height->m_node_type = NodeType::Simple; - n_desired_windowed_height->m_address = base + offset; - n_desired_windowed_height->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_desired_windowed_height); - - field_name = "partial_print_count"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_display, field_name)); - auto n_partial_print_count = new NodeSimple; - n_partial_print_count->m_field_name = field_name; - n_partial_print_count->m_df_type = DF_Type::int8_t; - n_partial_print_count->m_rdf_type = RDF_Type::int8_t; - n_partial_print_count->m_node_type = NodeType::Simple; - n_partial_print_count->m_address = base + offset; - n_partial_print_count->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_partial_print_count); - -} -void node_from_init_font(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "small_font_texpos"; - auto n_small_font_texpos = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_font, field_name)); - n_small_font_texpos->m_field_name = field_name; - n_small_font_texpos->m_df_type = DF_Type::Long; - n_small_font_texpos->m_rdf_type = RDF_Type::Array; - n_small_font_texpos->m_node_type = NodeType::Array; - n_small_font_texpos->m_addornements = "[256"; - n_small_font_texpos->m_array_size = 256; - n_small_font_texpos->m_address = base + offset; - n_small_font_texpos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_small_font_texpos); - - field_name = "large_font_texpos"; - auto n_large_font_texpos = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_font, field_name)); - n_large_font_texpos->m_field_name = field_name; - n_large_font_texpos->m_df_type = DF_Type::Long; - n_large_font_texpos->m_rdf_type = RDF_Type::Array; - n_large_font_texpos->m_node_type = NodeType::Array; - n_large_font_texpos->m_addornements = "[256"; - n_large_font_texpos->m_array_size = 256; - n_large_font_texpos->m_address = base + offset; - n_large_font_texpos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_large_font_texpos); - - field_name = "small_font_datapos"; - auto n_small_font_datapos = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_font, field_name)); - n_small_font_datapos->m_field_name = field_name; - n_small_font_datapos->m_df_type = DF_Type::Long; - n_small_font_datapos->m_rdf_type = RDF_Type::Array; - n_small_font_datapos->m_node_type = NodeType::Array; - n_small_font_datapos->m_addornements = "[256"; - n_small_font_datapos->m_array_size = 256; - n_small_font_datapos->m_address = base + offset; - n_small_font_datapos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_small_font_datapos); - - field_name = "large_font_datapos"; - auto n_large_font_datapos = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_font, field_name)); - n_large_font_datapos->m_field_name = field_name; - n_large_font_datapos->m_df_type = DF_Type::Long; - n_large_font_datapos->m_rdf_type = RDF_Type::Array; - n_large_font_datapos->m_node_type = NodeType::Array; - n_large_font_datapos->m_addornements = "[256"; - n_large_font_datapos->m_array_size = 256; - n_large_font_datapos->m_address = base + offset; - n_large_font_datapos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_large_font_datapos); - - field_name = "small_font_adjx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_font, field_name)); - auto n_small_font_adjx = new NodeSimple; - n_small_font_adjx->m_field_name = field_name; - n_small_font_adjx->m_df_type = DF_Type::S_float; - n_small_font_adjx->m_rdf_type = RDF_Type::S_float; - n_small_font_adjx->m_node_type = NodeType::Simple; - n_small_font_adjx->m_address = base + offset; - n_small_font_adjx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_small_font_adjx); - - field_name = "small_font_adjy"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_font, field_name)); - auto n_small_font_adjy = new NodeSimple; - n_small_font_adjy->m_field_name = field_name; - n_small_font_adjy->m_df_type = DF_Type::S_float; - n_small_font_adjy->m_rdf_type = RDF_Type::S_float; - n_small_font_adjy->m_node_type = NodeType::Simple; - n_small_font_adjy->m_address = base + offset; - n_small_font_adjy->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_small_font_adjy); - - field_name = "large_font_adjx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_font, field_name)); - auto n_large_font_adjx = new NodeSimple; - n_large_font_adjx->m_field_name = field_name; - n_large_font_adjx->m_df_type = DF_Type::S_float; - n_large_font_adjx->m_rdf_type = RDF_Type::S_float; - n_large_font_adjx->m_node_type = NodeType::Simple; - n_large_font_adjx->m_address = base + offset; - n_large_font_adjx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_large_font_adjx); - - field_name = "large_font_adjy"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_font, field_name)); - auto n_large_font_adjy = new NodeSimple; - n_large_font_adjy->m_field_name = field_name; - n_large_font_adjy->m_df_type = DF_Type::S_float; - n_large_font_adjy->m_rdf_type = RDF_Type::S_float; - n_large_font_adjy->m_node_type = NodeType::Simple; - n_large_font_adjy->m_address = base + offset; - n_large_font_adjy->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_large_font_adjy); - - field_name = "small_font_dispx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_font, field_name)); - auto n_small_font_dispx = new NodeSimple; - n_small_font_dispx->m_field_name = field_name; - n_small_font_dispx->m_df_type = DF_Type::Long; - n_small_font_dispx->m_rdf_type = RDF_Type::Long; - n_small_font_dispx->m_node_type = NodeType::Simple; - n_small_font_dispx->m_address = base + offset; - n_small_font_dispx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_small_font_dispx); - - field_name = "small_font_dispy"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_font, field_name)); - auto n_small_font_dispy = new NodeSimple; - n_small_font_dispy->m_field_name = field_name; - n_small_font_dispy->m_df_type = DF_Type::Long; - n_small_font_dispy->m_rdf_type = RDF_Type::Long; - n_small_font_dispy->m_node_type = NodeType::Simple; - n_small_font_dispy->m_address = base + offset; - n_small_font_dispy->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_small_font_dispy); - - field_name = "large_font_dispx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_font, field_name)); - auto n_large_font_dispx = new NodeSimple; - n_large_font_dispx->m_field_name = field_name; - n_large_font_dispx->m_df_type = DF_Type::Long; - n_large_font_dispx->m_rdf_type = RDF_Type::Long; - n_large_font_dispx->m_node_type = NodeType::Simple; - n_large_font_dispx->m_address = base + offset; - n_large_font_dispx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_large_font_dispx); - - field_name = "large_font_dispy"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_font, field_name)); - auto n_large_font_dispy = new NodeSimple; - n_large_font_dispy->m_field_name = field_name; - n_large_font_dispy->m_df_type = DF_Type::Long; - n_large_font_dispy->m_rdf_type = RDF_Type::Long; - n_large_font_dispy->m_node_type = NodeType::Simple; - n_large_font_dispy->m_address = base + offset; - n_large_font_dispy->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_large_font_dispy); - - field_name = "use_ttf"; - auto n_use_ttf = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_font, field_name)); - n_use_ttf->m_field_name = field_name; - n_use_ttf->m_df_type = DF_Type::init_font__T_use_ttf; - n_use_ttf->m_rdf_type = RDF_Type::Enum; - n_use_ttf->m_node_type = NodeType::Enum; - n_use_ttf->m_base_type = enum_base_type(n_use_ttf->m_df_type); - n_use_ttf->m_enum_type = "init_font::T_use_ttf"; - n_use_ttf->m_address = base + offset; - n_use_ttf->m_first_value = 0; - n_use_ttf->m_last_value = 2; - n_use_ttf->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_use_ttf); - - field_name = "ttf_limit"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_font, field_name)); - auto n_ttf_limit = new NodeSimple; - n_ttf_limit->m_field_name = field_name; - n_ttf_limit->m_df_type = DF_Type::int32_t; - n_ttf_limit->m_rdf_type = RDF_Type::int32_t; - n_ttf_limit->m_node_type = NodeType::Simple; - n_ttf_limit->m_address = base + offset; - n_ttf_limit->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ttf_limit); - -} -void node_from_init(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "display"; - auto n_display = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init, field_name)); - n_display->m_field_name = field_name; - n_display->m_df_type = DF_Type::init_display; - n_display->m_rdf_type = RDF_Type::Struct; - n_display->m_node_type = NodeType::Compound; - n_display->m_address = base + offset; - n_display->m_defined_in = "df.init.xml"; - n_display->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_display); - - field_name = "media"; - auto n_media = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init, field_name)); - n_media->m_field_name = field_name; - n_media->m_df_type = DF_Type::init_media; - n_media->m_rdf_type = RDF_Type::Struct; - n_media->m_node_type = NodeType::Compound; - n_media->m_address = base + offset; - n_media->m_defined_in = "df.init.xml"; - n_media->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_media); - - field_name = "input"; - auto n_input = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init, field_name)); - n_input->m_field_name = field_name; - n_input->m_df_type = DF_Type::init_input; - n_input->m_rdf_type = RDF_Type::Struct; - n_input->m_node_type = NodeType::Compound; - n_input->m_address = base + offset; - n_input->m_defined_in = "df.init.xml"; - n_input->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_input); - - field_name = "font"; - auto n_font = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init, field_name)); - n_font->m_field_name = field_name; - n_font->m_df_type = DF_Type::init_font; - n_font->m_rdf_type = RDF_Type::Struct; - n_font->m_node_type = NodeType::Compound; - n_font->m_address = base + offset; - n_font->m_defined_in = "df.init.xml"; - n_font->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_font); - - field_name = "window"; - auto n_window = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init, field_name)); - n_window->m_field_name = field_name; - n_window->m_df_type = DF_Type::init_window; - n_window->m_rdf_type = RDF_Type::Struct; - n_window->m_node_type = NodeType::Compound; - n_window->m_address = base + offset; - n_window->m_defined_in = "df.init.xml"; - n_window->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_window); - -} -void node_from_texture_handler(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "page"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::texture_handler, field_name)); - auto n_page = new NodeVector; - n_page->m_field_name = field_name; - n_page->m_df_type = DF_Type::tile_page; - n_page->m_rdf_type = RDF_Type::Vector; - n_page->m_node_type = NodeType::Vector; - n_page->m_defined_in = "df.init.xml"; - n_page->m_addornements = "v*"; - n_page->m_address = base + offset; - n_page->m_parent = p_node_parent; - n_page->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_page); - - field_name = "texpos"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::texture_handler, field_name)); - auto n_texpos = new NodeVector; - n_texpos->m_field_name = field_name; - n_texpos->m_df_type = DF_Type::int32_t; - n_texpos->m_rdf_type = RDF_Type::Vector; - n_texpos->m_node_type = NodeType::Vector; - n_texpos->m_addornements = "v"; - n_texpos->m_address = base + offset; - n_texpos->m_parent = p_node_parent; - n_texpos->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_texpos); - - field_name = "datapos"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::texture_handler, field_name)); - auto n_datapos = new NodeVector; - n_datapos->m_field_name = field_name; - n_datapos->m_df_type = DF_Type::int32_t; - n_datapos->m_rdf_type = RDF_Type::Vector; - n_datapos->m_node_type = NodeType::Vector; - n_datapos->m_addornements = "v"; - n_datapos->m_address = base + offset; - n_datapos->m_parent = p_node_parent; - n_datapos->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_datapos); - -} -void node_from_interaction(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction, field_name)); - auto n_name = new NodeSimple; - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Stl_string; - n_name->m_node_type = NodeType::Simple; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "str"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction, field_name)); - auto n_str = new NodeVector; - n_str->m_field_name = field_name; - n_str->m_df_type = DF_Type::Stl_string; - n_str->m_rdf_type = RDF_Type::Vector; - n_str->m_node_type = NodeType::Vector; - n_str->m_addornements = "v*"; - n_str->m_address = base + offset; - n_str->m_parent = p_node_parent; - n_str->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_str); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction, field_name)); - auto n_flags = new NodeDFFlagArray; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::int32_t; - n_flags->m_size = 32; - n_flags->m_rdf_type = RDF_Type::DFFlagArray; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "sources"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction, field_name)); - auto n_sources = new NodeVector; - n_sources->m_field_name = field_name; - n_sources->m_df_type = DF_Type::interaction_source; - n_sources->m_rdf_type = RDF_Type::Vector; - n_sources->m_node_type = NodeType::Vector; - n_sources->m_defined_in = "df.interaction.xml"; - n_sources->m_addornements = "v*"; - n_sources->m_address = base + offset; - n_sources->m_parent = p_node_parent; - n_sources->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_sources); - - field_name = "targets"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction, field_name)); - auto n_targets = new NodeVector; - n_targets->m_field_name = field_name; - n_targets->m_df_type = DF_Type::interaction_target; - n_targets->m_rdf_type = RDF_Type::Vector; - n_targets->m_node_type = NodeType::Vector; - n_targets->m_defined_in = "df.interaction.xml"; - n_targets->m_addornements = "v*"; - n_targets->m_address = base + offset; - n_targets->m_parent = p_node_parent; - n_targets->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_targets); - - field_name = "effects"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction, field_name)); - auto n_effects = new NodeVector; - n_effects->m_field_name = field_name; - n_effects->m_df_type = DF_Type::interaction_effect; - n_effects->m_rdf_type = RDF_Type::Vector; - n_effects->m_node_type = NodeType::Vector; - n_effects->m_defined_in = "df.interaction.xml"; - n_effects->m_addornements = "v*"; - n_effects->m_address = base + offset; - n_effects->m_parent = p_node_parent; - n_effects->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_effects); - - field_name = "source_hfid"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction, field_name)); - auto n_source_hfid = new NodeSimple; - n_source_hfid->m_field_name = field_name; - n_source_hfid->m_df_type = DF_Type::int32_t; - n_source_hfid->m_rdf_type = RDF_Type::int32_t; - n_source_hfid->m_node_type = NodeType::Simple; - n_source_hfid->m_address = base + offset; - n_source_hfid->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_source_hfid); - - field_name = "unk_v4201_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction, field_name)); - auto n_unk_v4201_1 = new NodeSimple; - n_unk_v4201_1->m_field_name = field_name; - n_unk_v4201_1->m_df_type = DF_Type::int32_t; - n_unk_v4201_1->m_rdf_type = RDF_Type::int32_t; - n_unk_v4201_1->m_node_type = NodeType::Simple; - n_unk_v4201_1->m_address = base + offset; - n_unk_v4201_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v4201_1); - -} -void node_from_interaction_effect(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_effect, field_name)); - auto n_unk_1 = new NodeSimple; - n_unk_1->m_field_name = field_name; - n_unk_1->m_df_type = DF_Type::int32_t; - n_unk_1->m_rdf_type = RDF_Type::int32_t; - n_unk_1->m_node_type = NodeType::Simple; - n_unk_1->m_address = base + offset; - n_unk_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_1); - - field_name = "targets"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_effect, field_name)); - auto n_targets = new NodeVector; - n_targets->m_field_name = field_name; - n_targets->m_df_type = DF_Type::Stl_string; - n_targets->m_rdf_type = RDF_Type::Vector; - n_targets->m_node_type = NodeType::Vector; - n_targets->m_addornements = "v*"; - n_targets->m_address = base + offset; - n_targets->m_parent = p_node_parent; - n_targets->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_targets); - - field_name = "unk_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_effect, field_name)); - auto n_unk_2 = new NodeVector; - n_unk_2->m_field_name = field_name; - n_unk_2->m_df_type = DF_Type::int32_t; - n_unk_2->m_rdf_type = RDF_Type::Vector; - n_unk_2->m_node_type = NodeType::Vector; - n_unk_2->m_addornements = "v"; - n_unk_2->m_address = base + offset; - n_unk_2->m_parent = p_node_parent; - n_unk_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_2); - - field_name = "intermittent"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_effect, field_name)); - auto n_intermittent = new NodeSimple; - n_intermittent->m_field_name = field_name; - n_intermittent->m_df_type = DF_Type::int32_t; - n_intermittent->m_rdf_type = RDF_Type::int32_t; - n_intermittent->m_node_type = NodeType::Simple; - n_intermittent->m_address = base + offset; - n_intermittent->m_comment = "0 = weekly"; - n_intermittent->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_intermittent); - - field_name = "locations"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_effect, field_name)); - auto n_locations = new NodeVector; - n_locations->m_field_name = field_name; - n_locations->m_df_type = DF_Type::interaction_effect_location_hint; - n_locations->m_rdf_type = RDF_Type::Vector; - n_locations->m_node_type = NodeType::Vector; - n_locations->m_enum_base = DF_Type::int32_t; - n_locations->m_defined_in = "df.interaction.xml"; - n_locations->m_addornements = "v"; - n_locations->m_address = base + offset; - n_locations->m_parent = p_node_parent; - n_locations->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_locations); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_effect, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::interaction_effect__T_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "unk_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_effect, field_name)); - auto n_unk_3 = new NodeSimple; - n_unk_3->m_field_name = field_name; - n_unk_3->m_df_type = DF_Type::int32_t; - n_unk_3->m_rdf_type = RDF_Type::int32_t; - n_unk_3->m_node_type = NodeType::Simple; - n_unk_3->m_address = base + offset; - n_unk_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_3); - - field_name = "arena_name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_effect, field_name)); - auto n_arena_name = new NodeSimple; - n_arena_name->m_field_name = field_name; - n_arena_name->m_df_type = DF_Type::Stl_string; - n_arena_name->m_rdf_type = RDF_Type::Stl_string; - n_arena_name->m_node_type = NodeType::Simple; - n_arena_name->m_address = base + offset; - n_arena_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_arena_name); - -} -void node_from_interaction_effect_animatest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::interaction_effect; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_interaction_effect(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_effect_animatest, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "syndrome"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_effect_animatest, field_name)); - auto n_syndrome = new NodeVector; - n_syndrome->m_field_name = field_name; - n_syndrome->m_df_type = DF_Type::syndrome; - n_syndrome->m_rdf_type = RDF_Type::Vector; - n_syndrome->m_node_type = NodeType::Vector; - n_syndrome->m_defined_in = "df.syndrome.xml"; - n_syndrome->m_addornements = "v*"; - n_syndrome->m_address = base + offset; - n_syndrome->m_parent = p_node_parent; - n_syndrome->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_syndrome); - -} -void node_from_interaction_effect_add_syndromest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::interaction_effect; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_interaction_effect(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_effect_add_syndromest, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "syndrome"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_effect_add_syndromest, field_name)); - auto n_syndrome = new NodeVector; - n_syndrome->m_field_name = field_name; - n_syndrome->m_df_type = DF_Type::syndrome; - n_syndrome->m_rdf_type = RDF_Type::Vector; - n_syndrome->m_node_type = NodeType::Vector; - n_syndrome->m_defined_in = "df.syndrome.xml"; - n_syndrome->m_addornements = "v*"; - n_syndrome->m_address = base + offset; - n_syndrome->m_parent = p_node_parent; - n_syndrome->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_syndrome); - -} -void node_from_interaction_effect_resurrectst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::interaction_effect; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_interaction_effect(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_effect_resurrectst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "syndrome"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_effect_resurrectst, field_name)); - auto n_syndrome = new NodeVector; - n_syndrome->m_field_name = field_name; - n_syndrome->m_df_type = DF_Type::syndrome; - n_syndrome->m_rdf_type = RDF_Type::Vector; - n_syndrome->m_node_type = NodeType::Vector; - n_syndrome->m_defined_in = "df.syndrome.xml"; - n_syndrome->m_addornements = "v*"; - n_syndrome->m_address = base + offset; - n_syndrome->m_parent = p_node_parent; - n_syndrome->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_syndrome); - -} -void node_from_interaction_effect_cleanst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::interaction_effect; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_interaction_effect(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "grime_level"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_effect_cleanst, field_name)); - auto n_grime_level = new NodeSimple; - n_grime_level->m_field_name = field_name; - n_grime_level->m_df_type = DF_Type::int32_t; - n_grime_level->m_rdf_type = RDF_Type::int32_t; - n_grime_level->m_node_type = NodeType::Simple; - n_grime_level->m_address = base + offset; - n_grime_level->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_grime_level); - - field_name = "syndrome_tag"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_effect_cleanst, field_name)); - auto n_syndrome_tag = new NodeBitfield; - n_syndrome_tag->m_field_name = field_name; - n_syndrome_tag->m_df_type = DF_Type::syndrome_flags; - n_syndrome_tag->m_rdf_type = RDF_Type::Bitfield; - n_syndrome_tag->m_node_type = NodeType::Bitfield; - n_syndrome_tag->m_address = base + offset; - n_syndrome_tag->m_defined_in = "df.syndrome.xml"; - n_syndrome_tag->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_syndrome_tag); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_effect_cleanst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_interaction_effect_contactst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::interaction_effect; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_interaction_effect(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_effect_contactst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_interaction_effect_material_emissionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::interaction_effect; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_interaction_effect(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_effect_material_emissionst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_interaction_effect_hidest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::interaction_effect; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_interaction_effect(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_effect_hidest, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_interaction_source_secretst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::interaction_source; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_interaction_source(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "learn_flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_source_secretst, field_name)); - auto n_learn_flags = new NodeBitfield; - n_learn_flags->m_field_name = field_name; - n_learn_flags->m_df_type = DF_Type::interaction_source_secretst__T_learn_flags; - n_learn_flags->m_rdf_type = RDF_Type::Bitfield; - n_learn_flags->m_node_type = NodeType::Bitfield; - n_learn_flags->m_address = base + offset; - n_learn_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_learn_flags); - - field_name = "spheres"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_source_secretst, field_name)); - auto n_spheres = new NodeVector; - n_spheres->m_field_name = field_name; - n_spheres->m_df_type = DF_Type::sphere_type; - n_spheres->m_rdf_type = RDF_Type::Vector; - n_spheres->m_node_type = NodeType::Vector; - n_spheres->m_enum_base = DF_Type::int16_t; - n_spheres->m_defined_in = "df.language.xml"; - n_spheres->m_addornements = "v"; - n_spheres->m_address = base + offset; - n_spheres->m_parent = p_node_parent; - n_spheres->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_spheres); - - field_name = "goals"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_source_secretst, field_name)); - auto n_goals = new NodeVector; - n_goals->m_field_name = field_name; - n_goals->m_df_type = DF_Type::goal_type; - n_goals->m_rdf_type = RDF_Type::Vector; - n_goals->m_node_type = NodeType::Vector; - n_goals->m_enum_base = DF_Type::int32_t; - n_goals->m_defined_in = "df.units.xml"; - n_goals->m_addornements = "v"; - n_goals->m_address = base + offset; - n_goals->m_parent = p_node_parent; - n_goals->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_goals); - - field_name = "book_title_filename"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_source_secretst, field_name)); - auto n_book_title_filename = new NodeSimple; - n_book_title_filename->m_field_name = field_name; - n_book_title_filename->m_df_type = DF_Type::Stl_string; - n_book_title_filename->m_rdf_type = RDF_Type::Stl_string; - n_book_title_filename->m_node_type = NodeType::Simple; - n_book_title_filename->m_address = base + offset; - n_book_title_filename->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_book_title_filename); - - field_name = "book_name_filename"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_source_secretst, field_name)); - auto n_book_name_filename = new NodeSimple; - n_book_name_filename->m_field_name = field_name; - n_book_name_filename->m_df_type = DF_Type::Stl_string; - n_book_name_filename->m_rdf_type = RDF_Type::Stl_string; - n_book_name_filename->m_node_type = NodeType::Simple; - n_book_name_filename->m_address = base + offset; - n_book_name_filename->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_book_name_filename); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_source_secretst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_source_secretst, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - -} -void node_from_interaction_source_deityst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::interaction_source; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_interaction_source(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_source_deityst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "usage_hint"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_source_deityst, field_name)); - auto n_usage_hint = new NodeVector; - n_usage_hint->m_field_name = field_name; - n_usage_hint->m_df_type = DF_Type::interaction_source_usage_hint; - n_usage_hint->m_rdf_type = RDF_Type::Vector; - n_usage_hint->m_node_type = NodeType::Vector; - n_usage_hint->m_enum_base = DF_Type::int32_t; - n_usage_hint->m_defined_in = "df.interaction.xml"; - n_usage_hint->m_addornements = "v"; - n_usage_hint->m_address = base + offset; - n_usage_hint->m_parent = p_node_parent; - n_usage_hint->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_usage_hint); - -} -void node_from_interaction_target(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_target, field_name)); - auto n_index = new NodeSimple; - n_index->m_field_name = field_name; - n_index->m_df_type = DF_Type::int32_t; - n_index->m_rdf_type = RDF_Type::int32_t; - n_index->m_node_type = NodeType::Simple; - n_index->m_address = base + offset; - n_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_index); - - field_name = "unk_0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_target, field_name)); - auto n_unk_0 = new NodeSimple; - n_unk_0->m_field_name = field_name; - n_unk_0->m_df_type = DF_Type::Stl_string; - n_unk_0->m_rdf_type = RDF_Type::Stl_string; - n_unk_0->m_node_type = NodeType::Simple; - n_unk_0->m_address = base + offset; - n_unk_0->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_0); - - field_name = "manual_input"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_target, field_name)); - auto n_manual_input = new NodeSimple; - n_manual_input->m_field_name = field_name; - n_manual_input->m_df_type = DF_Type::Stl_string; - n_manual_input->m_rdf_type = RDF_Type::Stl_string; - n_manual_input->m_node_type = NodeType::Simple; - n_manual_input->m_address = base + offset; - n_manual_input->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_manual_input); - - field_name = "location"; - auto n_location = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_target, field_name)); - n_location->m_field_name = field_name; - n_location->m_df_type = DF_Type::interaction_target_location_type; - n_location->m_rdf_type = RDF_Type::Enum; - n_location->m_node_type = NodeType::Enum; - n_location->m_base_type = enum_base_type(n_location->m_df_type); - n_location->m_enum_type = "interaction_target_location_type"; - n_location->m_address = base + offset; - n_location->m_defined_in = "df.interaction.xml"; - n_location->m_first_value = -1; - n_location->m_last_value = 5; - n_location->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_location); - -} -void node_from_interaction_target_corpsest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::interaction_target; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_interaction_target(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - auto n_anon_1 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_target_corpsest, field_name)); - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::interaction_target_info; - n_anon_1->m_rdf_type = RDF_Type::Struct; - n_anon_1->m_node_type = NodeType::Compound; - n_anon_1->m_address = base + offset; - n_anon_1->m_defined_in = "df.interaction.xml"; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_interaction_target_creaturest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::interaction_target; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_interaction_target(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - auto n_anon_1 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_target_creaturest, field_name)); - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::interaction_target_info; - n_anon_1->m_rdf_type = RDF_Type::Struct; - n_anon_1->m_node_type = NodeType::Compound; - n_anon_1->m_address = base + offset; - n_anon_1->m_defined_in = "df.interaction.xml"; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_interaction_target_materialst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::interaction_target; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_interaction_target(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "material_str"; - auto n_material_str = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_target_materialst, field_name)); - n_material_str->m_field_name = field_name; - n_material_str->m_df_type = DF_Type::Stl_string; - n_material_str->m_rdf_type = RDF_Type::Array; - n_material_str->m_node_type = NodeType::Array; - n_material_str->m_addornements = "[3"; - n_material_str->m_array_size = 3; - n_material_str->m_address = base + offset; - n_material_str->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_material_str); - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_target_materialst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_target_materialst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "parent_interaction_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_target_materialst, field_name)); - auto n_parent_interaction_index = new NodeSimple; - n_parent_interaction_index->m_field_name = field_name; - n_parent_interaction_index->m_df_type = DF_Type::int16_t; - n_parent_interaction_index->m_rdf_type = RDF_Type::int16_t; - n_parent_interaction_index->m_node_type = NodeType::Simple; - n_parent_interaction_index->m_address = base + offset; - n_parent_interaction_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_parent_interaction_index); - - field_name = "breath_attack_type"; - auto n_breath_attack_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_target_materialst, field_name)); - n_breath_attack_type->m_field_name = field_name; - n_breath_attack_type->m_df_type = DF_Type::breath_attack_type; - n_breath_attack_type->m_rdf_type = RDF_Type::Enum; - n_breath_attack_type->m_node_type = NodeType::Enum; - n_breath_attack_type->m_base_type = enum_base_type(n_breath_attack_type->m_df_type); - n_breath_attack_type->m_enum_type = "breath_attack_type"; - n_breath_attack_type->m_address = base + offset; - n_breath_attack_type->m_defined_in = "df.interaction.xml"; - n_breath_attack_type->m_first_value = 0; - n_breath_attack_type->m_last_value = 20; - n_breath_attack_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_breath_attack_type); - - field_name = "restrictions"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_target_materialst, field_name)); - auto n_restrictions = new NodeBitfield; - n_restrictions->m_field_name = field_name; - n_restrictions->m_df_type = DF_Type::interaction_target_materialst__T_restrictions; - n_restrictions->m_rdf_type = RDF_Type::Bitfield; - n_restrictions->m_node_type = NodeType::Bitfield; - n_restrictions->m_address = base + offset; - n_restrictions->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_restrictions); - -} -void node_from_interaction_target_locationst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::interaction_target; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_interaction_target(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_itemdef_ammost(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::itemdef; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_itemdef(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_ammost, field_name)); - auto n_name = new NodeSimple; - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Stl_string; - n_name->m_node_type = NodeType::Simple; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "name_plural"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_ammost, field_name)); - auto n_name_plural = new NodeSimple; - n_name_plural->m_field_name = field_name; - n_name_plural->m_df_type = DF_Type::Stl_string; - n_name_plural->m_rdf_type = RDF_Type::Stl_string; - n_name_plural->m_node_type = NodeType::Simple; - n_name_plural->m_address = base + offset; - n_name_plural->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name_plural); - - field_name = "adjective"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_ammost, field_name)); - auto n_adjective = new NodeSimple; - n_adjective->m_field_name = field_name; - n_adjective->m_df_type = DF_Type::Stl_string; - n_adjective->m_rdf_type = RDF_Type::Stl_string; - n_adjective->m_node_type = NodeType::Simple; - n_adjective->m_address = base + offset; - n_adjective->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_adjective); - - field_name = "ammo_class"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_ammost, field_name)); - auto n_ammo_class = new NodeSimple; - n_ammo_class->m_field_name = field_name; - n_ammo_class->m_df_type = DF_Type::Stl_string; - n_ammo_class->m_rdf_type = RDF_Type::Stl_string; - n_ammo_class->m_node_type = NodeType::Simple; - n_ammo_class->m_address = base + offset; - n_ammo_class->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ammo_class); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_ammost, field_name)); - auto n_flags = new NodeDFFlagArray; - n_flags->m_field_name = field_name; - n_flags->m_index_enum = DF_Type::ammo_flags; - n_flags->m_df_type = DF_Type::ammo_flags; - n_flags->m_size = 1; - n_flags->m_rdf_type = RDF_Type::DFFlagArray; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_defined_in = "df.item-raws.xml"; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "size"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_ammost, field_name)); - auto n_size = new NodeSimple; - n_size->m_field_name = field_name; - n_size->m_df_type = DF_Type::int32_t; - n_size->m_rdf_type = RDF_Type::int32_t; - n_size->m_node_type = NodeType::Simple; - n_size->m_address = base + offset; - n_size->m_comment = "divided by 10"; - n_size->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_size); - - field_name = "value"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_ammost, field_name)); - auto n_value = new NodeSimple; - n_value->m_field_name = field_name; - n_value->m_df_type = DF_Type::int32_t; - n_value->m_rdf_type = RDF_Type::int32_t; - n_value->m_node_type = NodeType::Simple; - n_value->m_address = base + offset; - n_value->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_value); - - field_name = "attacks"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_ammost, field_name)); - auto n_attacks = new NodeVector; - n_attacks->m_field_name = field_name; - n_attacks->m_df_type = DF_Type::weapon_attack; - n_attacks->m_rdf_type = RDF_Type::Vector; - n_attacks->m_node_type = NodeType::Vector; - n_attacks->m_defined_in = "df.item-raws.xml"; - n_attacks->m_addornements = "v*"; - n_attacks->m_address = base + offset; - n_attacks->m_parent = p_node_parent; - n_attacks->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_attacks); - -} -void node_from_itemdef_armorst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::itemdef; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_itemdef(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_armorst, field_name)); - auto n_name = new NodeSimple; - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Stl_string; - n_name->m_node_type = NodeType::Simple; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "name_plural"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_armorst, field_name)); - auto n_name_plural = new NodeSimple; - n_name_plural->m_field_name = field_name; - n_name_plural->m_df_type = DF_Type::Stl_string; - n_name_plural->m_rdf_type = RDF_Type::Stl_string; - n_name_plural->m_node_type = NodeType::Simple; - n_name_plural->m_address = base + offset; - n_name_plural->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name_plural); - - field_name = "name_preplural"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_armorst, field_name)); - auto n_name_preplural = new NodeSimple; - n_name_preplural->m_field_name = field_name; - n_name_preplural->m_df_type = DF_Type::Stl_string; - n_name_preplural->m_rdf_type = RDF_Type::Stl_string; - n_name_preplural->m_node_type = NodeType::Simple; - n_name_preplural->m_address = base + offset; - n_name_preplural->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name_preplural); - - field_name = "material_placeholder"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_armorst, field_name)); - auto n_material_placeholder = new NodeSimple; - n_material_placeholder->m_field_name = field_name; - n_material_placeholder->m_df_type = DF_Type::Stl_string; - n_material_placeholder->m_rdf_type = RDF_Type::Stl_string; - n_material_placeholder->m_node_type = NodeType::Simple; - n_material_placeholder->m_address = base + offset; - n_material_placeholder->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_material_placeholder); - - field_name = "adjective"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_armorst, field_name)); - auto n_adjective = new NodeSimple; - n_adjective->m_field_name = field_name; - n_adjective->m_df_type = DF_Type::Stl_string; - n_adjective->m_rdf_type = RDF_Type::Stl_string; - n_adjective->m_node_type = NodeType::Simple; - n_adjective->m_address = base + offset; - n_adjective->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_adjective); - - field_name = "value"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_armorst, field_name)); - auto n_value = new NodeSimple; - n_value->m_field_name = field_name; - n_value->m_df_type = DF_Type::int32_t; - n_value->m_rdf_type = RDF_Type::int32_t; - n_value->m_node_type = NodeType::Simple; - n_value->m_address = base + offset; - n_value->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_value); - - field_name = "armorlevel"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_armorst, field_name)); - auto n_armorlevel = new NodeSimple; - n_armorlevel->m_field_name = field_name; - n_armorlevel->m_df_type = DF_Type::int8_t; - n_armorlevel->m_rdf_type = RDF_Type::int8_t; - n_armorlevel->m_node_type = NodeType::Simple; - n_armorlevel->m_address = base + offset; - n_armorlevel->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_armorlevel); - - field_name = "ubstep"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_armorst, field_name)); - auto n_ubstep = new NodeSimple; - n_ubstep->m_field_name = field_name; - n_ubstep->m_df_type = DF_Type::int16_t; - n_ubstep->m_rdf_type = RDF_Type::int16_t; - n_ubstep->m_node_type = NodeType::Simple; - n_ubstep->m_address = base + offset; - n_ubstep->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ubstep); - - field_name = "lbstep"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_armorst, field_name)); - auto n_lbstep = new NodeSimple; - n_lbstep->m_field_name = field_name; - n_lbstep->m_df_type = DF_Type::int16_t; - n_lbstep->m_rdf_type = RDF_Type::int16_t; - n_lbstep->m_node_type = NodeType::Simple; - n_lbstep->m_address = base + offset; - n_lbstep->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_lbstep); - - field_name = "material_size"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_armorst, field_name)); - auto n_material_size = new NodeSimple; - n_material_size->m_field_name = field_name; - n_material_size->m_df_type = DF_Type::int32_t; - n_material_size->m_rdf_type = RDF_Type::int32_t; - n_material_size->m_node_type = NodeType::Simple; - n_material_size->m_address = base + offset; - n_material_size->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_material_size); - - field_name = "props"; - auto n_props = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_armorst, field_name)); - n_props->m_field_name = field_name; - n_props->m_df_type = DF_Type::armor_properties; - n_props->m_rdf_type = RDF_Type::Struct; - n_props->m_node_type = NodeType::Compound; - n_props->m_address = base + offset; - n_props->m_defined_in = "df.item-raws.xml"; - n_props->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_props); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_armorst, field_name)); - auto n_flags = new NodeDFFlagArray; - n_flags->m_field_name = field_name; - n_flags->m_index_enum = DF_Type::armor_flags; - n_flags->m_df_type = DF_Type::armor_flags; - n_flags->m_size = 1; - n_flags->m_rdf_type = RDF_Type::DFFlagArray; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_defined_in = "df.item-raws.xml"; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - -} -void node_from_itemdef_glovesst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::itemdef; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_itemdef(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_glovesst, field_name)); - auto n_name = new NodeSimple; - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Stl_string; - n_name->m_node_type = NodeType::Simple; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "name_plural"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_glovesst, field_name)); - auto n_name_plural = new NodeSimple; - n_name_plural->m_field_name = field_name; - n_name_plural->m_df_type = DF_Type::Stl_string; - n_name_plural->m_rdf_type = RDF_Type::Stl_string; - n_name_plural->m_node_type = NodeType::Simple; - n_name_plural->m_address = base + offset; - n_name_plural->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name_plural); - - field_name = "adjective"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_glovesst, field_name)); - auto n_adjective = new NodeSimple; - n_adjective->m_field_name = field_name; - n_adjective->m_df_type = DF_Type::Stl_string; - n_adjective->m_rdf_type = RDF_Type::Stl_string; - n_adjective->m_node_type = NodeType::Simple; - n_adjective->m_address = base + offset; - n_adjective->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_adjective); - - field_name = "value"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_glovesst, field_name)); - auto n_value = new NodeSimple; - n_value->m_field_name = field_name; - n_value->m_df_type = DF_Type::int32_t; - n_value->m_rdf_type = RDF_Type::int32_t; - n_value->m_node_type = NodeType::Simple; - n_value->m_address = base + offset; - n_value->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_value); - - field_name = "armorlevel"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_glovesst, field_name)); - auto n_armorlevel = new NodeSimple; - n_armorlevel->m_field_name = field_name; - n_armorlevel->m_df_type = DF_Type::int8_t; - n_armorlevel->m_rdf_type = RDF_Type::int8_t; - n_armorlevel->m_node_type = NodeType::Simple; - n_armorlevel->m_address = base + offset; - n_armorlevel->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_armorlevel); - - field_name = "upstep"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_glovesst, field_name)); - auto n_upstep = new NodeSimple; - n_upstep->m_field_name = field_name; - n_upstep->m_df_type = DF_Type::int16_t; - n_upstep->m_rdf_type = RDF_Type::int16_t; - n_upstep->m_node_type = NodeType::Simple; - n_upstep->m_address = base + offset; - n_upstep->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_upstep); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_glovesst, field_name)); - auto n_flags = new NodeDFFlagArray; - n_flags->m_field_name = field_name; - n_flags->m_index_enum = DF_Type::gloves_flags; - n_flags->m_df_type = DF_Type::gloves_flags; - n_flags->m_size = 1; - n_flags->m_rdf_type = RDF_Type::DFFlagArray; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_defined_in = "df.item-raws.xml"; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "material_size"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_glovesst, field_name)); - auto n_material_size = new NodeSimple; - n_material_size->m_field_name = field_name; - n_material_size->m_df_type = DF_Type::int32_t; - n_material_size->m_rdf_type = RDF_Type::int32_t; - n_material_size->m_node_type = NodeType::Simple; - n_material_size->m_address = base + offset; - n_material_size->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_material_size); - - field_name = "props"; - auto n_props = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_glovesst, field_name)); - n_props->m_field_name = field_name; - n_props->m_df_type = DF_Type::armor_properties; - n_props->m_rdf_type = RDF_Type::Struct; - n_props->m_node_type = NodeType::Compound; - n_props->m_address = base + offset; - n_props->m_defined_in = "df.item-raws.xml"; - n_props->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_props); - -} -void node_from_itemdef_helmst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::itemdef; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_itemdef(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_helmst, field_name)); - auto n_name = new NodeSimple; - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Stl_string; - n_name->m_node_type = NodeType::Simple; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "name_plural"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_helmst, field_name)); - auto n_name_plural = new NodeSimple; - n_name_plural->m_field_name = field_name; - n_name_plural->m_df_type = DF_Type::Stl_string; - n_name_plural->m_rdf_type = RDF_Type::Stl_string; - n_name_plural->m_node_type = NodeType::Simple; - n_name_plural->m_address = base + offset; - n_name_plural->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name_plural); - - field_name = "adjective"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_helmst, field_name)); - auto n_adjective = new NodeSimple; - n_adjective->m_field_name = field_name; - n_adjective->m_df_type = DF_Type::Stl_string; - n_adjective->m_rdf_type = RDF_Type::Stl_string; - n_adjective->m_node_type = NodeType::Simple; - n_adjective->m_address = base + offset; - n_adjective->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_adjective); - - field_name = "value"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_helmst, field_name)); - auto n_value = new NodeSimple; - n_value->m_field_name = field_name; - n_value->m_df_type = DF_Type::int32_t; - n_value->m_rdf_type = RDF_Type::int32_t; - n_value->m_node_type = NodeType::Simple; - n_value->m_address = base + offset; - n_value->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_value); - - field_name = "armorlevel"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_helmst, field_name)); - auto n_armorlevel = new NodeSimple; - n_armorlevel->m_field_name = field_name; - n_armorlevel->m_df_type = DF_Type::int8_t; - n_armorlevel->m_rdf_type = RDF_Type::int8_t; - n_armorlevel->m_node_type = NodeType::Simple; - n_armorlevel->m_address = base + offset; - n_armorlevel->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_armorlevel); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_helmst, field_name)); - auto n_flags = new NodeDFFlagArray; - n_flags->m_field_name = field_name; - n_flags->m_index_enum = DF_Type::helm_flags; - n_flags->m_df_type = DF_Type::helm_flags; - n_flags->m_size = 1; - n_flags->m_rdf_type = RDF_Type::DFFlagArray; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_defined_in = "df.item-raws.xml"; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "material_size"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_helmst, field_name)); - auto n_material_size = new NodeSimple; - n_material_size->m_field_name = field_name; - n_material_size->m_df_type = DF_Type::int32_t; - n_material_size->m_rdf_type = RDF_Type::int32_t; - n_material_size->m_node_type = NodeType::Simple; - n_material_size->m_address = base + offset; - n_material_size->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_material_size); - - field_name = "props"; - auto n_props = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_helmst, field_name)); - n_props->m_field_name = field_name; - n_props->m_df_type = DF_Type::armor_properties; - n_props->m_rdf_type = RDF_Type::Struct; - n_props->m_node_type = NodeType::Compound; - n_props->m_address = base + offset; - n_props->m_defined_in = "df.item-raws.xml"; - n_props->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_props); - -} -void node_from_itemdef_instrumentst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::itemdef; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_itemdef(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_instrumentst, field_name)); - auto n_name = new NodeSimple; - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Stl_string; - n_name->m_node_type = NodeType::Simple; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "name_plural"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_instrumentst, field_name)); - auto n_name_plural = new NodeSimple; - n_name_plural->m_field_name = field_name; - n_name_plural->m_df_type = DF_Type::Stl_string; - n_name_plural->m_rdf_type = RDF_Type::Stl_string; - n_name_plural->m_node_type = NodeType::Simple; - n_name_plural->m_address = base + offset; - n_name_plural->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name_plural); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_instrumentst, field_name)); - auto n_flags = new NodeDFFlagArray; - n_flags->m_field_name = field_name; - n_flags->m_index_enum = DF_Type::instrument_flags; - n_flags->m_df_type = DF_Type::instrument_flags; - n_flags->m_size = 9; - n_flags->m_rdf_type = RDF_Type::DFFlagArray; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_defined_in = "df.item-raws.xml"; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "music_skill"; - auto n_music_skill = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_instrumentst, field_name)); - n_music_skill->m_field_name = field_name; - n_music_skill->m_df_type = DF_Type::job_skill; - n_music_skill->m_rdf_type = RDF_Type::Enum; - n_music_skill->m_node_type = NodeType::Enum; - n_music_skill->m_base_type = enum_base_type(n_music_skill->m_df_type); - n_music_skill->m_enum_type = "job_skill"; - n_music_skill->m_address = base + offset; - n_music_skill->m_defined_in = "df.skills.xml"; - n_music_skill->m_first_value = -1; - n_music_skill->m_last_value = 134; - n_music_skill->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_music_skill); - - field_name = "size"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_instrumentst, field_name)); - auto n_size = new NodeSimple; - n_size->m_field_name = field_name; - n_size->m_df_type = DF_Type::int32_t; - n_size->m_rdf_type = RDF_Type::int32_t; - n_size->m_node_type = NodeType::Simple; - n_size->m_address = base + offset; - n_size->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_size); - - field_name = "value"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_instrumentst, field_name)); - auto n_value = new NodeSimple; - n_value->m_field_name = field_name; - n_value->m_df_type = DF_Type::int32_t; - n_value->m_rdf_type = RDF_Type::int32_t; - n_value->m_node_type = NodeType::Simple; - n_value->m_address = base + offset; - n_value->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_value); - - field_name = "material_size"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_instrumentst, field_name)); - auto n_material_size = new NodeSimple; - n_material_size->m_field_name = field_name; - n_material_size->m_df_type = DF_Type::int32_t; - n_material_size->m_rdf_type = RDF_Type::int32_t; - n_material_size->m_node_type = NodeType::Simple; - n_material_size->m_address = base + offset; - n_material_size->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_material_size); - - field_name = "pieces"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_instrumentst, field_name)); - auto n_pieces = new NodeVector; - n_pieces->m_field_name = field_name; - n_pieces->m_df_type = DF_Type::instrument_piece; - n_pieces->m_rdf_type = RDF_Type::Vector; - n_pieces->m_node_type = NodeType::Vector; - n_pieces->m_defined_in = "df.item-raws.xml"; - n_pieces->m_addornements = "v*"; - n_pieces->m_address = base + offset; - n_pieces->m_parent = p_node_parent; - n_pieces->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_pieces); - - field_name = "dominant_instrument_piece"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_instrumentst, field_name)); - auto n_dominant_instrument_piece = new NodeSimple; - n_dominant_instrument_piece->m_field_name = field_name; - n_dominant_instrument_piece->m_df_type = DF_Type::Stl_string; - n_dominant_instrument_piece->m_rdf_type = RDF_Type::Stl_string; - n_dominant_instrument_piece->m_node_type = NodeType::Simple; - n_dominant_instrument_piece->m_address = base + offset; - n_dominant_instrument_piece->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dominant_instrument_piece); - - field_name = "pitch_range_min"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_instrumentst, field_name)); - auto n_pitch_range_min = new NodeSimple; - n_pitch_range_min->m_field_name = field_name; - n_pitch_range_min->m_df_type = DF_Type::int32_t; - n_pitch_range_min->m_rdf_type = RDF_Type::int32_t; - n_pitch_range_min->m_node_type = NodeType::Simple; - n_pitch_range_min->m_address = base + offset; - n_pitch_range_min->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pitch_range_min); - - field_name = "pitch_range_max"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_instrumentst, field_name)); - auto n_pitch_range_max = new NodeSimple; - n_pitch_range_max->m_field_name = field_name; - n_pitch_range_max->m_df_type = DF_Type::int32_t; - n_pitch_range_max->m_rdf_type = RDF_Type::int32_t; - n_pitch_range_max->m_node_type = NodeType::Simple; - n_pitch_range_max->m_address = base + offset; - n_pitch_range_max->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pitch_range_max); - - field_name = "volume_mb_min"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_instrumentst, field_name)); - auto n_volume_mb_min = new NodeSimple; - n_volume_mb_min->m_field_name = field_name; - n_volume_mb_min->m_df_type = DF_Type::int32_t; - n_volume_mb_min->m_rdf_type = RDF_Type::int32_t; - n_volume_mb_min->m_node_type = NodeType::Simple; - n_volume_mb_min->m_address = base + offset; - n_volume_mb_min->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_volume_mb_min); - - field_name = "volume_mb_max"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_instrumentst, field_name)); - auto n_volume_mb_max = new NodeSimple; - n_volume_mb_max->m_field_name = field_name; - n_volume_mb_max->m_df_type = DF_Type::int32_t; - n_volume_mb_max->m_rdf_type = RDF_Type::int32_t; - n_volume_mb_max->m_node_type = NodeType::Simple; - n_volume_mb_max->m_address = base + offset; - n_volume_mb_max->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_volume_mb_max); - - field_name = "sound_production"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_instrumentst, field_name)); - auto n_sound_production = new NodeVector; - n_sound_production->m_field_name = field_name; - n_sound_production->m_df_type = DF_Type::sound_production_type; - n_sound_production->m_rdf_type = RDF_Type::Vector; - n_sound_production->m_node_type = NodeType::Vector; - n_sound_production->m_enum_base = enum_base_type(n_sound_production->m_df_type); - n_sound_production->m_defined_in = "df.item-raws.xml"; - n_sound_production->m_addornements = "v"; - n_sound_production->m_address = base + offset; - n_sound_production->m_parent = p_node_parent; - n_sound_production->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_sound_production); - - field_name = "sound_production_parm1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_instrumentst, field_name)); - auto n_sound_production_parm1 = new NodeVector; - n_sound_production_parm1->m_field_name = field_name; - n_sound_production_parm1->m_df_type = DF_Type::Stl_string; - n_sound_production_parm1->m_rdf_type = RDF_Type::Vector; - n_sound_production_parm1->m_node_type = NodeType::Vector; - n_sound_production_parm1->m_addornements = "v*"; - n_sound_production_parm1->m_address = base + offset; - n_sound_production_parm1->m_parent = p_node_parent; - n_sound_production_parm1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_sound_production_parm1); - - field_name = "sound_production_parm2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_instrumentst, field_name)); - auto n_sound_production_parm2 = new NodeVector; - n_sound_production_parm2->m_field_name = field_name; - n_sound_production_parm2->m_df_type = DF_Type::Stl_string; - n_sound_production_parm2->m_rdf_type = RDF_Type::Vector; - n_sound_production_parm2->m_node_type = NodeType::Vector; - n_sound_production_parm2->m_addornements = "v*"; - n_sound_production_parm2->m_address = base + offset; - n_sound_production_parm2->m_parent = p_node_parent; - n_sound_production_parm2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_sound_production_parm2); - - field_name = "unk_100"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_instrumentst, field_name)); - auto n_unk_100 = new NodeVector; - n_unk_100->m_field_name = field_name; - n_unk_100->m_df_type = DF_Type::Void; - n_unk_100->m_rdf_type = RDF_Type::Vector; - n_unk_100->m_node_type = NodeType::Vector; - n_unk_100->m_addornements = "v"; - n_unk_100->m_address = base + offset; - n_unk_100->m_parent = p_node_parent; - n_unk_100->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_100); - - field_name = "unk_110"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_instrumentst, field_name)); - auto n_unk_110 = new NodeVector; - n_unk_110->m_field_name = field_name; - n_unk_110->m_df_type = DF_Type::Void; - n_unk_110->m_rdf_type = RDF_Type::Vector; - n_unk_110->m_node_type = NodeType::Vector; - n_unk_110->m_addornements = "v"; - n_unk_110->m_address = base + offset; - n_unk_110->m_parent = p_node_parent; - n_unk_110->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_110); - - field_name = "pitch_choice"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_instrumentst, field_name)); - auto n_pitch_choice = new NodeVector; - n_pitch_choice->m_field_name = field_name; - n_pitch_choice->m_df_type = DF_Type::pitch_choice_type; - n_pitch_choice->m_rdf_type = RDF_Type::Vector; - n_pitch_choice->m_node_type = NodeType::Vector; - n_pitch_choice->m_enum_base = enum_base_type(n_pitch_choice->m_df_type); - n_pitch_choice->m_defined_in = "df.item-raws.xml"; - n_pitch_choice->m_addornements = "v"; - n_pitch_choice->m_address = base + offset; - n_pitch_choice->m_parent = p_node_parent; - n_pitch_choice->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_pitch_choice); - - field_name = "pitch_choice_parm1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_instrumentst, field_name)); - auto n_pitch_choice_parm1 = new NodeVector; - n_pitch_choice_parm1->m_field_name = field_name; - n_pitch_choice_parm1->m_df_type = DF_Type::Stl_string; - n_pitch_choice_parm1->m_rdf_type = RDF_Type::Vector; - n_pitch_choice_parm1->m_node_type = NodeType::Vector; - n_pitch_choice_parm1->m_addornements = "v*"; - n_pitch_choice_parm1->m_address = base + offset; - n_pitch_choice_parm1->m_parent = p_node_parent; - n_pitch_choice_parm1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_pitch_choice_parm1); - - field_name = "pitch_choice_parm2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_instrumentst, field_name)); - auto n_pitch_choice_parm2 = new NodeVector; - n_pitch_choice_parm2->m_field_name = field_name; - n_pitch_choice_parm2->m_df_type = DF_Type::Stl_string; - n_pitch_choice_parm2->m_rdf_type = RDF_Type::Vector; - n_pitch_choice_parm2->m_node_type = NodeType::Vector; - n_pitch_choice_parm2->m_addornements = "v*"; - n_pitch_choice_parm2->m_address = base + offset; - n_pitch_choice_parm2->m_parent = p_node_parent; - n_pitch_choice_parm2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_pitch_choice_parm2); - - field_name = "unk_150"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_instrumentst, field_name)); - auto n_unk_150 = new NodeVector; - n_unk_150->m_field_name = field_name; - n_unk_150->m_df_type = DF_Type::Void; - n_unk_150->m_rdf_type = RDF_Type::Vector; - n_unk_150->m_node_type = NodeType::Vector; - n_unk_150->m_addornements = "v"; - n_unk_150->m_address = base + offset; - n_unk_150->m_parent = p_node_parent; - n_unk_150->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_150); - - field_name = "unk_160"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_instrumentst, field_name)); - auto n_unk_160 = new NodeVector; - n_unk_160->m_field_name = field_name; - n_unk_160->m_df_type = DF_Type::Void; - n_unk_160->m_rdf_type = RDF_Type::Vector; - n_unk_160->m_node_type = NodeType::Vector; - n_unk_160->m_addornements = "v"; - n_unk_160->m_address = base + offset; - n_unk_160->m_parent = p_node_parent; - n_unk_160->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_160); - - field_name = "tuning"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_instrumentst, field_name)); - auto n_tuning = new NodeVector; - n_tuning->m_field_name = field_name; - n_tuning->m_df_type = DF_Type::tuning_type; - n_tuning->m_rdf_type = RDF_Type::Vector; - n_tuning->m_node_type = NodeType::Vector; - n_tuning->m_enum_base = enum_base_type(n_tuning->m_df_type); - n_tuning->m_defined_in = "df.item-raws.xml"; - n_tuning->m_addornements = "v"; - n_tuning->m_address = base + offset; - n_tuning->m_parent = p_node_parent; - n_tuning->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_tuning); - - field_name = "tuning_parm"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_instrumentst, field_name)); - auto n_tuning_parm = new NodeVector; - n_tuning_parm->m_field_name = field_name; - n_tuning_parm->m_df_type = DF_Type::Stl_string; - n_tuning_parm->m_rdf_type = RDF_Type::Vector; - n_tuning_parm->m_node_type = NodeType::Vector; - n_tuning_parm->m_addornements = "v*"; - n_tuning_parm->m_address = base + offset; - n_tuning_parm->m_parent = p_node_parent; - n_tuning_parm->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_tuning_parm); - - field_name = "unk_190"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_instrumentst, field_name)); - auto n_unk_190 = new NodeVector; - n_unk_190->m_field_name = field_name; - n_unk_190->m_df_type = DF_Type::Void; - n_unk_190->m_rdf_type = RDF_Type::Vector; - n_unk_190->m_node_type = NodeType::Vector; - n_unk_190->m_addornements = "v"; - n_unk_190->m_address = base + offset; - n_unk_190->m_parent = p_node_parent; - n_unk_190->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_190); - - field_name = "registers"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_instrumentst, field_name)); - auto n_registers = new NodeVector; - n_registers->m_field_name = field_name; - n_registers->m_df_type = DF_Type::instrument_register; - n_registers->m_rdf_type = RDF_Type::Vector; - n_registers->m_node_type = NodeType::Vector; - n_registers->m_defined_in = "df.item-raws.xml"; - n_registers->m_addornements = "v*"; - n_registers->m_address = base + offset; - n_registers->m_parent = p_node_parent; - n_registers->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_registers); - - field_name = "timbre"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_instrumentst, field_name)); - auto n_timbre = new NodeVector; - n_timbre->m_field_name = field_name; - n_timbre->m_df_type = DF_Type::timbre_type; - n_timbre->m_rdf_type = RDF_Type::Vector; - n_timbre->m_node_type = NodeType::Vector; - n_timbre->m_enum_base = enum_base_type(n_timbre->m_df_type); - n_timbre->m_defined_in = "df.item-raws.xml"; - n_timbre->m_addornements = "v"; - n_timbre->m_address = base + offset; - n_timbre->m_parent = p_node_parent; - n_timbre->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_timbre); - - field_name = "description"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_instrumentst, field_name)); - auto n_description = new NodeSimple; - n_description->m_field_name = field_name; - n_description->m_df_type = DF_Type::Stl_string; - n_description->m_rdf_type = RDF_Type::Stl_string; - n_description->m_node_type = NodeType::Simple; - n_description->m_address = base + offset; - n_description->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_description); - -} -void node_from_instrument_register(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "pitch_range_min"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::instrument_register, field_name)); - auto n_pitch_range_min = new NodeSimple; - n_pitch_range_min->m_field_name = field_name; - n_pitch_range_min->m_df_type = DF_Type::int32_t; - n_pitch_range_min->m_rdf_type = RDF_Type::int32_t; - n_pitch_range_min->m_node_type = NodeType::Simple; - n_pitch_range_min->m_address = base + offset; - n_pitch_range_min->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pitch_range_min); - - field_name = "pitch_range_max"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::instrument_register, field_name)); - auto n_pitch_range_max = new NodeSimple; - n_pitch_range_max->m_field_name = field_name; - n_pitch_range_max->m_df_type = DF_Type::int32_t; - n_pitch_range_max->m_rdf_type = RDF_Type::int32_t; - n_pitch_range_max->m_node_type = NodeType::Simple; - n_pitch_range_max->m_address = base + offset; - n_pitch_range_max->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pitch_range_max); - - field_name = "timbres"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::instrument_register, field_name)); - auto n_timbres = new NodeVector; - n_timbres->m_field_name = field_name; - n_timbres->m_df_type = DF_Type::timbre_type; - n_timbres->m_rdf_type = RDF_Type::Vector; - n_timbres->m_node_type = NodeType::Vector; - n_timbres->m_enum_base = enum_base_type(n_timbres->m_df_type); - n_timbres->m_defined_in = "df.item-raws.xml"; - n_timbres->m_addornements = "v"; - n_timbres->m_address = base + offset; - n_timbres->m_parent = p_node_parent; - n_timbres->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_timbres); - -} -void node_from_itemdef_pantsst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::itemdef; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_itemdef(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_pantsst, field_name)); - auto n_name = new NodeSimple; - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Stl_string; - n_name->m_node_type = NodeType::Simple; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "name_plural"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_pantsst, field_name)); - auto n_name_plural = new NodeSimple; - n_name_plural->m_field_name = field_name; - n_name_plural->m_df_type = DF_Type::Stl_string; - n_name_plural->m_rdf_type = RDF_Type::Stl_string; - n_name_plural->m_node_type = NodeType::Simple; - n_name_plural->m_address = base + offset; - n_name_plural->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name_plural); - - field_name = "name_preplural"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_pantsst, field_name)); - auto n_name_preplural = new NodeSimple; - n_name_preplural->m_field_name = field_name; - n_name_preplural->m_df_type = DF_Type::Stl_string; - n_name_preplural->m_rdf_type = RDF_Type::Stl_string; - n_name_preplural->m_node_type = NodeType::Simple; - n_name_preplural->m_address = base + offset; - n_name_preplural->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name_preplural); - - field_name = "material_placeholder"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_pantsst, field_name)); - auto n_material_placeholder = new NodeSimple; - n_material_placeholder->m_field_name = field_name; - n_material_placeholder->m_df_type = DF_Type::Stl_string; - n_material_placeholder->m_rdf_type = RDF_Type::Stl_string; - n_material_placeholder->m_node_type = NodeType::Simple; - n_material_placeholder->m_address = base + offset; - n_material_placeholder->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_material_placeholder); - - field_name = "adjective"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_pantsst, field_name)); - auto n_adjective = new NodeSimple; - n_adjective->m_field_name = field_name; - n_adjective->m_df_type = DF_Type::Stl_string; - n_adjective->m_rdf_type = RDF_Type::Stl_string; - n_adjective->m_node_type = NodeType::Simple; - n_adjective->m_address = base + offset; - n_adjective->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_adjective); - - field_name = "value"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_pantsst, field_name)); - auto n_value = new NodeSimple; - n_value->m_field_name = field_name; - n_value->m_df_type = DF_Type::int32_t; - n_value->m_rdf_type = RDF_Type::int32_t; - n_value->m_node_type = NodeType::Simple; - n_value->m_address = base + offset; - n_value->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_value); - - field_name = "armorlevel"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_pantsst, field_name)); - auto n_armorlevel = new NodeSimple; - n_armorlevel->m_field_name = field_name; - n_armorlevel->m_df_type = DF_Type::int8_t; - n_armorlevel->m_rdf_type = RDF_Type::int8_t; - n_armorlevel->m_node_type = NodeType::Simple; - n_armorlevel->m_address = base + offset; - n_armorlevel->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_armorlevel); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_pantsst, field_name)); - auto n_flags = new NodeDFFlagArray; - n_flags->m_field_name = field_name; - n_flags->m_index_enum = DF_Type::pants_flags; - n_flags->m_df_type = DF_Type::pants_flags; - n_flags->m_size = 1; - n_flags->m_rdf_type = RDF_Type::DFFlagArray; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_defined_in = "df.item-raws.xml"; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "material_size"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_pantsst, field_name)); - auto n_material_size = new NodeSimple; - n_material_size->m_field_name = field_name; - n_material_size->m_df_type = DF_Type::int32_t; - n_material_size->m_rdf_type = RDF_Type::int32_t; - n_material_size->m_node_type = NodeType::Simple; - n_material_size->m_address = base + offset; - n_material_size->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_material_size); - - field_name = "lbstep"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_pantsst, field_name)); - auto n_lbstep = new NodeSimple; - n_lbstep->m_field_name = field_name; - n_lbstep->m_df_type = DF_Type::int16_t; - n_lbstep->m_rdf_type = RDF_Type::int16_t; - n_lbstep->m_node_type = NodeType::Simple; - n_lbstep->m_address = base + offset; - n_lbstep->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_lbstep); - - field_name = "props"; - auto n_props = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_pantsst, field_name)); - n_props->m_field_name = field_name; - n_props->m_df_type = DF_Type::armor_properties; - n_props->m_rdf_type = RDF_Type::Struct; - n_props->m_node_type = NodeType::Compound; - n_props->m_address = base + offset; - n_props->m_defined_in = "df.item-raws.xml"; - n_props->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_props); - -} -void node_from_itemdef_shoesst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::itemdef; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_itemdef(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_shoesst, field_name)); - auto n_name = new NodeSimple; - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Stl_string; - n_name->m_node_type = NodeType::Simple; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "name_plural"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_shoesst, field_name)); - auto n_name_plural = new NodeSimple; - n_name_plural->m_field_name = field_name; - n_name_plural->m_df_type = DF_Type::Stl_string; - n_name_plural->m_rdf_type = RDF_Type::Stl_string; - n_name_plural->m_node_type = NodeType::Simple; - n_name_plural->m_address = base + offset; - n_name_plural->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name_plural); - - field_name = "adjective"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_shoesst, field_name)); - auto n_adjective = new NodeSimple; - n_adjective->m_field_name = field_name; - n_adjective->m_df_type = DF_Type::Stl_string; - n_adjective->m_rdf_type = RDF_Type::Stl_string; - n_adjective->m_node_type = NodeType::Simple; - n_adjective->m_address = base + offset; - n_adjective->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_adjective); - - field_name = "value"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_shoesst, field_name)); - auto n_value = new NodeSimple; - n_value->m_field_name = field_name; - n_value->m_df_type = DF_Type::int32_t; - n_value->m_rdf_type = RDF_Type::int32_t; - n_value->m_node_type = NodeType::Simple; - n_value->m_address = base + offset; - n_value->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_value); - - field_name = "armorlevel"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_shoesst, field_name)); - auto n_armorlevel = new NodeSimple; - n_armorlevel->m_field_name = field_name; - n_armorlevel->m_df_type = DF_Type::int8_t; - n_armorlevel->m_rdf_type = RDF_Type::int8_t; - n_armorlevel->m_node_type = NodeType::Simple; - n_armorlevel->m_address = base + offset; - n_armorlevel->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_armorlevel); - - field_name = "upstep"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_shoesst, field_name)); - auto n_upstep = new NodeSimple; - n_upstep->m_field_name = field_name; - n_upstep->m_df_type = DF_Type::int16_t; - n_upstep->m_rdf_type = RDF_Type::int16_t; - n_upstep->m_node_type = NodeType::Simple; - n_upstep->m_address = base + offset; - n_upstep->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_upstep); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_shoesst, field_name)); - auto n_flags = new NodeDFFlagArray; - n_flags->m_field_name = field_name; - n_flags->m_index_enum = DF_Type::shoes_flags; - n_flags->m_df_type = DF_Type::shoes_flags; - n_flags->m_size = 1; - n_flags->m_rdf_type = RDF_Type::DFFlagArray; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_defined_in = "df.item-raws.xml"; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "material_size"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_shoesst, field_name)); - auto n_material_size = new NodeSimple; - n_material_size->m_field_name = field_name; - n_material_size->m_df_type = DF_Type::int32_t; - n_material_size->m_rdf_type = RDF_Type::int32_t; - n_material_size->m_node_type = NodeType::Simple; - n_material_size->m_address = base + offset; - n_material_size->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_material_size); - - field_name = "props"; - auto n_props = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_shoesst, field_name)); - n_props->m_field_name = field_name; - n_props->m_df_type = DF_Type::armor_properties; - n_props->m_rdf_type = RDF_Type::Struct; - n_props->m_node_type = NodeType::Compound; - n_props->m_address = base + offset; - n_props->m_defined_in = "df.item-raws.xml"; - n_props->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_props); - -} -void node_from_itemdef_toolst__T_default_improvements(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "type"; - auto n_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_toolst__T_default_improvements, field_name)); - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::improvement_type; - n_type->m_rdf_type = RDF_Type::Enum; - n_type->m_node_type = NodeType::Enum; - n_type->m_base_type = DF_Type::int32_t; - n_type->m_enum_type = "improvement_type"; - n_type->m_address = base + offset; - n_type->m_defined_in = "df.itemimprovements.xml"; - n_type->m_first_value = 0; - n_type->m_last_value = 12; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - - field_name = "specific_type"; - auto n_specific_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_toolst__T_default_improvements, field_name)); - n_specific_type->m_field_name = field_name; - n_specific_type->m_df_type = DF_Type::itemimprovement_specific_type; - n_specific_type->m_rdf_type = RDF_Type::Enum; - n_specific_type->m_node_type = NodeType::Enum; - n_specific_type->m_base_type = DF_Type::int32_t; - n_specific_type->m_enum_type = "itemimprovement_specific_type"; - n_specific_type->m_address = base + offset; - n_specific_type->m_defined_in = "df.itemimprovements.xml"; - n_specific_type->m_first_value = 0; - n_specific_type->m_last_value = 1; - n_specific_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_specific_type); - - field_name = "instrument_part"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_toolst__T_default_improvements, field_name)); - auto n_instrument_part = new NodeSimple; - n_instrument_part->m_field_name = field_name; - n_instrument_part->m_df_type = DF_Type::Stl_string; - n_instrument_part->m_rdf_type = RDF_Type::Stl_string; - n_instrument_part->m_node_type = NodeType::Simple; - n_instrument_part->m_address = base + offset; - n_instrument_part->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_instrument_part); - - field_name = "restriction"; - auto n_restriction = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_toolst__T_default_improvements, field_name)); - n_restriction->m_field_name = field_name; - n_restriction->m_df_type = DF_Type::tool_flags; - n_restriction->m_rdf_type = RDF_Type::Enum; - n_restriction->m_node_type = NodeType::Enum; - n_restriction->m_base_type = DF_Type::int32_t; - n_restriction->m_enum_type = "tool_flags"; - n_restriction->m_address = base + offset; - n_restriction->m_defined_in = "df.item-raws.xml"; - n_restriction->m_first_value = 0; - n_restriction->m_last_value = 19; - n_restriction->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_restriction); - -} -void node_from_itemdef_toolst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::itemdef; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_itemdef(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_toolst, field_name)); - auto n_name = new NodeSimple; - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Stl_string; - n_name->m_node_type = NodeType::Simple; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "name_plural"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_toolst, field_name)); - auto n_name_plural = new NodeSimple; - n_name_plural->m_field_name = field_name; - n_name_plural->m_df_type = DF_Type::Stl_string; - n_name_plural->m_rdf_type = RDF_Type::Stl_string; - n_name_plural->m_node_type = NodeType::Simple; - n_name_plural->m_address = base + offset; - n_name_plural->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name_plural); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_toolst, field_name)); - auto n_flags = new NodeDFFlagArray; - n_flags->m_field_name = field_name; - n_flags->m_index_enum = DF_Type::tool_flags; - n_flags->m_df_type = DF_Type::tool_flags; - n_flags->m_size = 20; - n_flags->m_rdf_type = RDF_Type::DFFlagArray; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_defined_in = "df.item-raws.xml"; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "value"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_toolst, field_name)); - auto n_value = new NodeSimple; - n_value->m_field_name = field_name; - n_value->m_df_type = DF_Type::int32_t; - n_value->m_rdf_type = RDF_Type::int32_t; - n_value->m_node_type = NodeType::Simple; - n_value->m_address = base + offset; - n_value->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_value); - - field_name = "tile"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_toolst, field_name)); - auto n_tile = new NodeSimple; - n_tile->m_field_name = field_name; - n_tile->m_df_type = DF_Type::uint8_t; - n_tile->m_rdf_type = RDF_Type::uint8_t; - n_tile->m_node_type = NodeType::Simple; - n_tile->m_address = base + offset; - n_tile->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tile); - - field_name = "tool_use"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_toolst, field_name)); - auto n_tool_use = new NodeVector; - n_tool_use->m_field_name = field_name; - n_tool_use->m_df_type = DF_Type::tool_uses; - n_tool_use->m_rdf_type = RDF_Type::Vector; - n_tool_use->m_node_type = NodeType::Vector; - n_tool_use->m_enum_base = DF_Type::int16_t; - n_tool_use->m_defined_in = "df.item-raws.xml"; - n_tool_use->m_addornements = "v"; - n_tool_use->m_address = base + offset; - n_tool_use->m_parent = p_node_parent; - n_tool_use->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_tool_use); - - field_name = "adjective"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_toolst, field_name)); - auto n_adjective = new NodeSimple; - n_adjective->m_field_name = field_name; - n_adjective->m_df_type = DF_Type::Stl_string; - n_adjective->m_rdf_type = RDF_Type::Stl_string; - n_adjective->m_node_type = NodeType::Simple; - n_adjective->m_address = base + offset; - n_adjective->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_adjective); - - field_name = "size"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_toolst, field_name)); - auto n_size = new NodeSimple; - n_size->m_field_name = field_name; - n_size->m_df_type = DF_Type::int32_t; - n_size->m_rdf_type = RDF_Type::int32_t; - n_size->m_node_type = NodeType::Simple; - n_size->m_address = base + offset; - n_size->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_size); - - field_name = "skill_melee"; - auto n_skill_melee = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_toolst, field_name)); - n_skill_melee->m_field_name = field_name; - n_skill_melee->m_df_type = DF_Type::job_skill; - n_skill_melee->m_rdf_type = RDF_Type::Enum; - n_skill_melee->m_node_type = NodeType::Enum; - n_skill_melee->m_base_type = DF_Type::int16_t; - n_skill_melee->m_enum_type = "job_skill"; - n_skill_melee->m_address = base + offset; - n_skill_melee->m_defined_in = "df.skills.xml"; - n_skill_melee->m_first_value = -1; - n_skill_melee->m_last_value = 134; - n_skill_melee->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_skill_melee); - - field_name = "skill_ranged"; - auto n_skill_ranged = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_toolst, field_name)); - n_skill_ranged->m_field_name = field_name; - n_skill_ranged->m_df_type = DF_Type::job_skill; - n_skill_ranged->m_rdf_type = RDF_Type::Enum; - n_skill_ranged->m_node_type = NodeType::Enum; - n_skill_ranged->m_base_type = DF_Type::int16_t; - n_skill_ranged->m_enum_type = "job_skill"; - n_skill_ranged->m_address = base + offset; - n_skill_ranged->m_defined_in = "df.skills.xml"; - n_skill_ranged->m_first_value = -1; - n_skill_ranged->m_last_value = 134; - n_skill_ranged->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_skill_ranged); - - field_name = "ranged_ammo"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_toolst, field_name)); - auto n_ranged_ammo = new NodeSimple; - n_ranged_ammo->m_field_name = field_name; - n_ranged_ammo->m_df_type = DF_Type::Stl_string; - n_ranged_ammo->m_rdf_type = RDF_Type::Stl_string; - n_ranged_ammo->m_node_type = NodeType::Simple; - n_ranged_ammo->m_address = base + offset; - n_ranged_ammo->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ranged_ammo); - - field_name = "two_handed"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_toolst, field_name)); - auto n_two_handed = new NodeSimple; - n_two_handed->m_field_name = field_name; - n_two_handed->m_df_type = DF_Type::int32_t; - n_two_handed->m_rdf_type = RDF_Type::int32_t; - n_two_handed->m_node_type = NodeType::Simple; - n_two_handed->m_address = base + offset; - n_two_handed->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_two_handed); - - field_name = "minimum_size"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_toolst, field_name)); - auto n_minimum_size = new NodeSimple; - n_minimum_size->m_field_name = field_name; - n_minimum_size->m_df_type = DF_Type::int32_t; - n_minimum_size->m_rdf_type = RDF_Type::int32_t; - n_minimum_size->m_node_type = NodeType::Simple; - n_minimum_size->m_address = base + offset; - n_minimum_size->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_minimum_size); - - field_name = "material_size"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_toolst, field_name)); - auto n_material_size = new NodeSimple; - n_material_size->m_field_name = field_name; - n_material_size->m_df_type = DF_Type::int32_t; - n_material_size->m_rdf_type = RDF_Type::int32_t; - n_material_size->m_node_type = NodeType::Simple; - n_material_size->m_address = base + offset; - n_material_size->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_material_size); - - field_name = "attacks"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_toolst, field_name)); - auto n_attacks = new NodeVector; - n_attacks->m_field_name = field_name; - n_attacks->m_df_type = DF_Type::weapon_attack; - n_attacks->m_rdf_type = RDF_Type::Vector; - n_attacks->m_node_type = NodeType::Vector; - n_attacks->m_defined_in = "df.item-raws.xml"; - n_attacks->m_addornements = "v*"; - n_attacks->m_address = base + offset; - n_attacks->m_parent = p_node_parent; - n_attacks->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_attacks); - - field_name = "shoot_force"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_toolst, field_name)); - auto n_shoot_force = new NodeSimple; - n_shoot_force->m_field_name = field_name; - n_shoot_force->m_df_type = DF_Type::int32_t; - n_shoot_force->m_rdf_type = RDF_Type::int32_t; - n_shoot_force->m_node_type = NodeType::Simple; - n_shoot_force->m_address = base + offset; - n_shoot_force->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_shoot_force); - - field_name = "shoot_maxvel"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_toolst, field_name)); - auto n_shoot_maxvel = new NodeSimple; - n_shoot_maxvel->m_field_name = field_name; - n_shoot_maxvel->m_df_type = DF_Type::int32_t; - n_shoot_maxvel->m_rdf_type = RDF_Type::int32_t; - n_shoot_maxvel->m_node_type = NodeType::Simple; - n_shoot_maxvel->m_address = base + offset; - n_shoot_maxvel->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_shoot_maxvel); - - field_name = "container_capacity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_toolst, field_name)); - auto n_container_capacity = new NodeSimple; - n_container_capacity->m_field_name = field_name; - n_container_capacity->m_df_type = DF_Type::int32_t; - n_container_capacity->m_rdf_type = RDF_Type::int32_t; - n_container_capacity->m_node_type = NodeType::Simple; - n_container_capacity->m_address = base + offset; - n_container_capacity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_container_capacity); - - field_name = "description"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_toolst, field_name)); - auto n_description = new NodeSimple; - n_description->m_field_name = field_name; - n_description->m_df_type = DF_Type::Stl_string; - n_description->m_rdf_type = RDF_Type::Stl_string; - n_description->m_node_type = NodeType::Simple; - n_description->m_address = base + offset; - n_description->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_description); - - field_name = "default_improvements"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_toolst, field_name)); - auto n_default_improvements = new NodeVector; - n_default_improvements->m_field_name = field_name; - n_default_improvements->m_df_type = DF_Type::itemdef_toolst__T_default_improvements; - n_default_improvements->m_rdf_type = RDF_Type::Vector; - n_default_improvements->m_node_type = NodeType::Vector; - n_default_improvements->m_addornements = "v*"; - n_default_improvements->m_address = base + offset; - n_default_improvements->m_parent = p_node_parent; - n_default_improvements->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_default_improvements); - -} -void node_from_itemdef_trapcompst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::itemdef; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_itemdef(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_trapcompst, field_name)); - auto n_name = new NodeSimple; - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Stl_string; - n_name->m_node_type = NodeType::Simple; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "name_plural"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_trapcompst, field_name)); - auto n_name_plural = new NodeSimple; - n_name_plural->m_field_name = field_name; - n_name_plural->m_df_type = DF_Type::Stl_string; - n_name_plural->m_rdf_type = RDF_Type::Stl_string; - n_name_plural->m_node_type = NodeType::Simple; - n_name_plural->m_address = base + offset; - n_name_plural->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name_plural); - - field_name = "adjective"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_trapcompst, field_name)); - auto n_adjective = new NodeSimple; - n_adjective->m_field_name = field_name; - n_adjective->m_df_type = DF_Type::Stl_string; - n_adjective->m_rdf_type = RDF_Type::Stl_string; - n_adjective->m_node_type = NodeType::Simple; - n_adjective->m_address = base + offset; - n_adjective->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_adjective); - - field_name = "size"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_trapcompst, field_name)); - auto n_size = new NodeSimple; - n_size->m_field_name = field_name; - n_size->m_df_type = DF_Type::int32_t; - n_size->m_rdf_type = RDF_Type::int32_t; - n_size->m_node_type = NodeType::Simple; - n_size->m_address = base + offset; - n_size->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_size); - - field_name = "value"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_trapcompst, field_name)); - auto n_value = new NodeSimple; - n_value->m_field_name = field_name; - n_value->m_df_type = DF_Type::int32_t; - n_value->m_rdf_type = RDF_Type::int32_t; - n_value->m_node_type = NodeType::Simple; - n_value->m_address = base + offset; - n_value->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_value); - - field_name = "hits"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_trapcompst, field_name)); - auto n_hits = new NodeSimple; - n_hits->m_field_name = field_name; - n_hits->m_df_type = DF_Type::int32_t; - n_hits->m_rdf_type = RDF_Type::int32_t; - n_hits->m_node_type = NodeType::Simple; - n_hits->m_address = base + offset; - n_hits->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_hits); - - field_name = "material_size"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_trapcompst, field_name)); - auto n_material_size = new NodeSimple; - n_material_size->m_field_name = field_name; - n_material_size->m_df_type = DF_Type::int32_t; - n_material_size->m_rdf_type = RDF_Type::int32_t; - n_material_size->m_node_type = NodeType::Simple; - n_material_size->m_address = base + offset; - n_material_size->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_material_size); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_trapcompst, field_name)); - auto n_flags = new NodeDFFlagArray; - n_flags->m_field_name = field_name; - n_flags->m_index_enum = DF_Type::trapcomp_flags; - n_flags->m_df_type = DF_Type::trapcomp_flags; - n_flags->m_size = 5; - n_flags->m_rdf_type = RDF_Type::DFFlagArray; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_defined_in = "df.item-raws.xml"; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "attacks"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_trapcompst, field_name)); - auto n_attacks = new NodeVector; - n_attacks->m_field_name = field_name; - n_attacks->m_df_type = DF_Type::weapon_attack; - n_attacks->m_rdf_type = RDF_Type::Vector; - n_attacks->m_node_type = NodeType::Vector; - n_attacks->m_defined_in = "df.item-raws.xml"; - n_attacks->m_addornements = "v*"; - n_attacks->m_address = base + offset; - n_attacks->m_parent = p_node_parent; - n_attacks->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_attacks); - -} -void node_from_itemdef_weaponst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::itemdef; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_itemdef(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_weaponst, field_name)); - auto n_name = new NodeSimple; - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Stl_string; - n_name->m_node_type = NodeType::Simple; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "name_plural"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_weaponst, field_name)); - auto n_name_plural = new NodeSimple; - n_name_plural->m_field_name = field_name; - n_name_plural->m_df_type = DF_Type::Stl_string; - n_name_plural->m_rdf_type = RDF_Type::Stl_string; - n_name_plural->m_node_type = NodeType::Simple; - n_name_plural->m_address = base + offset; - n_name_plural->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name_plural); - - field_name = "adjective"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_weaponst, field_name)); - auto n_adjective = new NodeSimple; - n_adjective->m_field_name = field_name; - n_adjective->m_df_type = DF_Type::Stl_string; - n_adjective->m_rdf_type = RDF_Type::Stl_string; - n_adjective->m_node_type = NodeType::Simple; - n_adjective->m_address = base + offset; - n_adjective->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_adjective); - - field_name = "size"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_weaponst, field_name)); - auto n_size = new NodeSimple; - n_size->m_field_name = field_name; - n_size->m_df_type = DF_Type::int32_t; - n_size->m_rdf_type = RDF_Type::int32_t; - n_size->m_node_type = NodeType::Simple; - n_size->m_address = base + offset; - n_size->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_size); - - field_name = "value"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_weaponst, field_name)); - auto n_value = new NodeSimple; - n_value->m_field_name = field_name; - n_value->m_df_type = DF_Type::int32_t; - n_value->m_rdf_type = RDF_Type::int32_t; - n_value->m_node_type = NodeType::Simple; - n_value->m_address = base + offset; - n_value->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_value); - - field_name = "skill_melee"; - auto n_skill_melee = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_weaponst, field_name)); - n_skill_melee->m_field_name = field_name; - n_skill_melee->m_df_type = DF_Type::job_skill; - n_skill_melee->m_rdf_type = RDF_Type::Enum; - n_skill_melee->m_node_type = NodeType::Enum; - n_skill_melee->m_base_type = DF_Type::int16_t; - n_skill_melee->m_enum_type = "job_skill"; - n_skill_melee->m_address = base + offset; - n_skill_melee->m_defined_in = "df.skills.xml"; - n_skill_melee->m_first_value = -1; - n_skill_melee->m_last_value = 134; - n_skill_melee->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_skill_melee); - - field_name = "skill_ranged"; - auto n_skill_ranged = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_weaponst, field_name)); - n_skill_ranged->m_field_name = field_name; - n_skill_ranged->m_df_type = DF_Type::job_skill; - n_skill_ranged->m_rdf_type = RDF_Type::Enum; - n_skill_ranged->m_node_type = NodeType::Enum; - n_skill_ranged->m_base_type = DF_Type::int16_t; - n_skill_ranged->m_enum_type = "job_skill"; - n_skill_ranged->m_address = base + offset; - n_skill_ranged->m_defined_in = "df.skills.xml"; - n_skill_ranged->m_first_value = -1; - n_skill_ranged->m_last_value = 134; - n_skill_ranged->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_skill_ranged); - - field_name = "ranged_ammo"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_weaponst, field_name)); - auto n_ranged_ammo = new NodeSimple; - n_ranged_ammo->m_field_name = field_name; - n_ranged_ammo->m_df_type = DF_Type::Stl_string; - n_ranged_ammo->m_rdf_type = RDF_Type::Stl_string; - n_ranged_ammo->m_node_type = NodeType::Simple; - n_ranged_ammo->m_address = base + offset; - n_ranged_ammo->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ranged_ammo); - - field_name = "two_handed"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_weaponst, field_name)); - auto n_two_handed = new NodeSimple; - n_two_handed->m_field_name = field_name; - n_two_handed->m_df_type = DF_Type::int32_t; - n_two_handed->m_rdf_type = RDF_Type::int32_t; - n_two_handed->m_node_type = NodeType::Simple; - n_two_handed->m_address = base + offset; - n_two_handed->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_two_handed); - - field_name = "minimum_size"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_weaponst, field_name)); - auto n_minimum_size = new NodeSimple; - n_minimum_size->m_field_name = field_name; - n_minimum_size->m_df_type = DF_Type::int32_t; - n_minimum_size->m_rdf_type = RDF_Type::int32_t; - n_minimum_size->m_node_type = NodeType::Simple; - n_minimum_size->m_address = base + offset; - n_minimum_size->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_minimum_size); - - field_name = "material_size"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_weaponst, field_name)); - auto n_material_size = new NodeSimple; - n_material_size->m_field_name = field_name; - n_material_size->m_df_type = DF_Type::int32_t; - n_material_size->m_rdf_type = RDF_Type::int32_t; - n_material_size->m_node_type = NodeType::Simple; - n_material_size->m_address = base + offset; - n_material_size->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_material_size); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_weaponst, field_name)); - auto n_flags = new NodeDFFlagArray; - n_flags->m_field_name = field_name; - n_flags->m_index_enum = DF_Type::weapon_flags; - n_flags->m_df_type = DF_Type::weapon_flags; - n_flags->m_size = 3; - n_flags->m_rdf_type = RDF_Type::DFFlagArray; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_defined_in = "df.item-raws.xml"; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "attacks"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_weaponst, field_name)); - auto n_attacks = new NodeVector; - n_attacks->m_field_name = field_name; - n_attacks->m_df_type = DF_Type::weapon_attack; - n_attacks->m_rdf_type = RDF_Type::Vector; - n_attacks->m_node_type = NodeType::Vector; - n_attacks->m_defined_in = "df.item-raws.xml"; - n_attacks->m_addornements = "v*"; - n_attacks->m_address = base + offset; - n_attacks->m_parent = p_node_parent; - n_attacks->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_attacks); - - field_name = "shoot_force"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_weaponst, field_name)); - auto n_shoot_force = new NodeSimple; - n_shoot_force->m_field_name = field_name; - n_shoot_force->m_df_type = DF_Type::int32_t; - n_shoot_force->m_rdf_type = RDF_Type::int32_t; - n_shoot_force->m_node_type = NodeType::Simple; - n_shoot_force->m_address = base + offset; - n_shoot_force->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_shoot_force); - - field_name = "shoot_maxvel"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_weaponst, field_name)); - auto n_shoot_maxvel = new NodeSimple; - n_shoot_maxvel->m_field_name = field_name; - n_shoot_maxvel->m_df_type = DF_Type::int32_t; - n_shoot_maxvel->m_rdf_type = RDF_Type::int32_t; - n_shoot_maxvel->m_node_type = NodeType::Simple; - n_shoot_maxvel->m_address = base + offset; - n_shoot_maxvel->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_shoot_maxvel); - -} -void node_from_dye_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dye_info, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dye_info, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "dyer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dye_info, field_name)); - auto n_dyer = new NodeSimple; - n_dyer->m_field_name = field_name; - n_dyer->m_df_type = DF_Type::int32_t; - n_dyer->m_rdf_type = RDF_Type::int32_t; - n_dyer->m_node_type = NodeType::Simple; - n_dyer->m_address = base + offset; - n_dyer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dyer); - - field_name = "quality"; - auto n_quality = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dye_info, field_name)); - n_quality->m_field_name = field_name; - n_quality->m_df_type = DF_Type::item_quality; - n_quality->m_rdf_type = RDF_Type::Enum; - n_quality->m_node_type = NodeType::Enum; - n_quality->m_base_type = DF_Type::int16_t; - n_quality->m_enum_type = "item_quality"; - n_quality->m_address = base + offset; - n_quality->m_defined_in = "df.items.xml"; - n_quality->m_first_value = 0; - n_quality->m_last_value = 6; - n_quality->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_quality); - - field_name = "skill_rating"; - auto n_skill_rating = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dye_info, field_name)); - n_skill_rating->m_field_name = field_name; - n_skill_rating->m_df_type = DF_Type::skill_rating; - n_skill_rating->m_rdf_type = RDF_Type::Enum; - n_skill_rating->m_node_type = NodeType::Enum; - n_skill_rating->m_base_type = DF_Type::int16_t; - n_skill_rating->m_enum_type = "skill_rating"; - n_skill_rating->m_address = base + offset; - n_skill_rating->m_comment = "at the moment of creation"; - n_skill_rating->m_defined_in = "df.units.xml"; - n_skill_rating->m_first_value = 0; - n_skill_rating->m_last_value = 20; - n_skill_rating->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_skill_rating); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dye_info, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_itemimprovement(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemimprovement, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemimprovement, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "maker"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemimprovement, field_name)); - auto n_maker = new NodeSimple; - n_maker->m_field_name = field_name; - n_maker->m_df_type = DF_Type::int32_t; - n_maker->m_rdf_type = RDF_Type::int32_t; - n_maker->m_node_type = NodeType::Simple; - n_maker->m_address = base + offset; - n_maker->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_maker); - - field_name = "masterpiece_event"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemimprovement, field_name)); - auto n_masterpiece_event = new NodeSimple; - n_masterpiece_event->m_field_name = field_name; - n_masterpiece_event->m_df_type = DF_Type::int32_t; - n_masterpiece_event->m_rdf_type = RDF_Type::int32_t; - n_masterpiece_event->m_node_type = NodeType::Simple; - n_masterpiece_event->m_address = base + offset; - n_masterpiece_event->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_masterpiece_event); - - field_name = "quality"; - auto n_quality = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemimprovement, field_name)); - n_quality->m_field_name = field_name; - n_quality->m_df_type = DF_Type::item_quality; - n_quality->m_rdf_type = RDF_Type::Enum; - n_quality->m_node_type = NodeType::Enum; - n_quality->m_base_type = DF_Type::int16_t; - n_quality->m_enum_type = "item_quality"; - n_quality->m_address = base + offset; - n_quality->m_defined_in = "df.items.xml"; - n_quality->m_first_value = 0; - n_quality->m_last_value = 6; - n_quality->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_quality); - - field_name = "skill_rating"; - auto n_skill_rating = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemimprovement, field_name)); - n_skill_rating->m_field_name = field_name; - n_skill_rating->m_df_type = DF_Type::skill_rating; - n_skill_rating->m_rdf_type = RDF_Type::Enum; - n_skill_rating->m_node_type = NodeType::Enum; - n_skill_rating->m_base_type = DF_Type::int32_t; - n_skill_rating->m_enum_type = "skill_rating"; - n_skill_rating->m_address = base + offset; - n_skill_rating->m_comment = "at the moment of creation"; - n_skill_rating->m_defined_in = "df.units.xml"; - n_skill_rating->m_first_value = 0; - n_skill_rating->m_last_value = 20; - n_skill_rating->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_skill_rating); - - field_name = "unk_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemimprovement, field_name)); - auto n_unk_1 = new NodeSimple; - n_unk_1->m_field_name = field_name; - n_unk_1->m_df_type = DF_Type::int32_t; - n_unk_1->m_rdf_type = RDF_Type::int32_t; - n_unk_1->m_node_type = NodeType::Simple; - n_unk_1->m_address = base + offset; - n_unk_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_1); - -} -void node_from_itemimprovement_art_imagest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::itemimprovement; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_itemimprovement(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "image"; - auto n_image = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemimprovement_art_imagest, field_name)); - n_image->m_field_name = field_name; - n_image->m_df_type = DF_Type::art_image_ref; - n_image->m_rdf_type = RDF_Type::Struct; - n_image->m_node_type = NodeType::Compound; - n_image->m_address = base + offset; - n_image->m_defined_in = "df.art.xml"; - n_image->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_image); - -} -void node_from_itemimprovement_coveredst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::itemimprovement; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_itemimprovement(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "cover_flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemimprovement_coveredst, field_name)); - auto n_cover_flags = new NodeBitfield; - n_cover_flags->m_field_name = field_name; - n_cover_flags->m_df_type = DF_Type::itemimprovement_coveredst__T_cover_flags; - n_cover_flags->m_rdf_type = RDF_Type::Bitfield; - n_cover_flags->m_node_type = NodeType::Bitfield; - n_cover_flags->m_address = base + offset; - n_cover_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cover_flags); - - field_name = "shape"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemimprovement_coveredst, field_name)); - auto n_shape = new NodeSimple; - n_shape->m_field_name = field_name; - n_shape->m_df_type = DF_Type::int32_t; - n_shape->m_rdf_type = RDF_Type::int32_t; - n_shape->m_node_type = NodeType::Simple; - n_shape->m_address = base + offset; - n_shape->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_shape); - -} -void node_from_itemimprovement_rings_hangingst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::itemimprovement; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_itemimprovement(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_itemimprovement_bandsst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::itemimprovement; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_itemimprovement(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "shape"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemimprovement_bandsst, field_name)); - auto n_shape = new NodeSimple; - n_shape->m_field_name = field_name; - n_shape->m_df_type = DF_Type::int32_t; - n_shape->m_rdf_type = RDF_Type::int32_t; - n_shape->m_node_type = NodeType::Simple; - n_shape->m_address = base + offset; - n_shape->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_shape); - -} -void node_from_itemimprovement_spikesst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::itemimprovement; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_itemimprovement(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_itemimprovement_itemspecificst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::itemimprovement; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_itemimprovement(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "type"; - auto n_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemimprovement_itemspecificst, field_name)); - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::itemimprovement_specific_type; - n_type->m_rdf_type = RDF_Type::Enum; - n_type->m_node_type = NodeType::Enum; - n_type->m_base_type = DF_Type::int32_t; - n_type->m_enum_type = "itemimprovement_specific_type"; - n_type->m_address = base + offset; - n_type->m_defined_in = "df.itemimprovements.xml"; - n_type->m_first_value = 0; - n_type->m_last_value = 1; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - -} -void node_from_itemimprovement_threadst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::itemimprovement; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_itemimprovement(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "dye"; - auto n_dye = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemimprovement_threadst, field_name)); - n_dye->m_field_name = field_name; - n_dye->m_df_type = DF_Type::dye_info; - n_dye->m_rdf_type = RDF_Type::Struct; - n_dye->m_node_type = NodeType::Compound; - n_dye->m_address = base + offset; - n_dye->m_defined_in = "df.itemimprovements.xml"; - n_dye->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dye); - -} -void node_from_itemimprovement_clothst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::itemimprovement; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_itemimprovement(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_itemimprovement_sewn_imagest__T_cloth(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unit_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemimprovement_sewn_imagest__T_cloth, field_name)); - auto n_unit_id = new NodeSimple; - n_unit_id->m_field_name = field_name; - n_unit_id->m_df_type = DF_Type::int32_t; - n_unit_id->m_rdf_type = RDF_Type::int32_t; - n_unit_id->m_node_type = NodeType::Simple; - n_unit_id->m_address = base + offset; - n_unit_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unit_id); - - field_name = "quality"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemimprovement_sewn_imagest__T_cloth, field_name)); - auto n_quality = new NodeSimple; - n_quality->m_field_name = field_name; - n_quality->m_df_type = DF_Type::int16_t; - n_quality->m_rdf_type = RDF_Type::int16_t; - n_quality->m_node_type = NodeType::Simple; - n_quality->m_address = base + offset; - n_quality->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_quality); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemimprovement_sewn_imagest__T_cloth, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int16_t; - n_anon_1->m_rdf_type = RDF_Type::int16_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_itemimprovement_sewn_imagest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::itemimprovement; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_itemimprovement(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "image"; - auto n_image = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemimprovement_sewn_imagest, field_name)); - n_image->m_field_name = field_name; - n_image->m_df_type = DF_Type::art_image_ref; - n_image->m_rdf_type = RDF_Type::Struct; - n_image->m_node_type = NodeType::Compound; - n_image->m_address = base + offset; - n_image->m_defined_in = "df.art.xml"; - n_image->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_image); - - field_name = "cloth"; - auto n_cloth = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemimprovement_sewn_imagest, field_name)); - n_cloth->m_field_name = field_name; - n_cloth->m_df_type = DF_Type::itemimprovement_sewn_imagest__T_cloth; - n_cloth->m_rdf_type = RDF_Type::Compound; - n_cloth->m_node_type = NodeType::Compound; - n_cloth->m_address = base + offset; - n_cloth->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cloth); - - field_name = "dye"; - auto n_dye = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemimprovement_sewn_imagest, field_name)); - n_dye->m_field_name = field_name; - n_dye->m_df_type = DF_Type::dye_info; - n_dye->m_rdf_type = RDF_Type::Struct; - n_dye->m_node_type = NodeType::Compound; - n_dye->m_address = base + offset; - n_dye->m_defined_in = "df.itemimprovements.xml"; - n_dye->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dye); - -} -void node_from_itemimprovement_pagesst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::itemimprovement; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_itemimprovement(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "count"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemimprovement_pagesst, field_name)); - auto n_count = new NodeSimple; - n_count->m_field_name = field_name; - n_count->m_df_type = DF_Type::int32_t; - n_count->m_rdf_type = RDF_Type::int32_t; - n_count->m_node_type = NodeType::Simple; - n_count->m_address = base + offset; - n_count->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_count); - - field_name = "contents"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemimprovement_pagesst, field_name)); - auto n_contents = new NodeVector; - n_contents->m_field_name = field_name; - n_contents->m_df_type = DF_Type::int32_t; - n_contents->m_rdf_type = RDF_Type::Vector; - n_contents->m_node_type = NodeType::Vector; - n_contents->m_addornements = "v"; - n_contents->m_address = base + offset; - n_contents->m_parent = p_node_parent; - n_contents->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_contents); - -} -void node_from_itemimprovement_illustrationst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::itemimprovement; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_itemimprovement(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "image"; - auto n_image = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemimprovement_illustrationst, field_name)); - n_image->m_field_name = field_name; - n_image->m_df_type = DF_Type::art_image_ref; - n_image->m_rdf_type = RDF_Type::Struct; - n_image->m_node_type = NodeType::Compound; - n_image->m_address = base + offset; - n_image->m_defined_in = "df.art.xml"; - n_image->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_image); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemimprovement_illustrationst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_itemimprovement_instrument_piecest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::itemimprovement; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_itemimprovement(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemimprovement_instrument_piecest, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::Stl_string; - n_anon_1->m_rdf_type = RDF_Type::Stl_string; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_itemimprovement_writingst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::itemimprovement; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_itemimprovement(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "contents"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemimprovement_writingst, field_name)); - auto n_contents = new NodeVector; - n_contents->m_field_name = field_name; - n_contents->m_df_type = DF_Type::int32_t; - n_contents->m_rdf_type = RDF_Type::Vector; - n_contents->m_node_type = NodeType::Vector; - n_contents->m_addornements = "v"; - n_contents->m_address = base + offset; - n_contents->m_parent = p_node_parent; - n_contents->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_contents); - -} -void node_from_written_content(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::written_content, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "title"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::written_content, field_name)); - auto n_title = new NodeSimple; - n_title->m_field_name = field_name; - n_title->m_df_type = DF_Type::Stl_string; - n_title->m_rdf_type = RDF_Type::Stl_string; - n_title->m_node_type = NodeType::Simple; - n_title->m_address = base + offset; - n_title->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_title); - - field_name = "page_start"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::written_content, field_name)); - auto n_page_start = new NodeSimple; - n_page_start->m_field_name = field_name; - n_page_start->m_df_type = DF_Type::int32_t; - n_page_start->m_rdf_type = RDF_Type::int32_t; - n_page_start->m_node_type = NodeType::Simple; - n_page_start->m_address = base + offset; - n_page_start->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_page_start); - - field_name = "page_end"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::written_content, field_name)); - auto n_page_end = new NodeSimple; - n_page_end->m_field_name = field_name; - n_page_end->m_df_type = DF_Type::int32_t; - n_page_end->m_rdf_type = RDF_Type::int32_t; - n_page_end->m_node_type = NodeType::Simple; - n_page_end->m_address = base + offset; - n_page_end->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_page_end); - - field_name = "refs"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::written_content, field_name)); - auto n_refs = new NodeVector; - n_refs->m_field_name = field_name; - n_refs->m_df_type = DF_Type::general_ref; - n_refs->m_rdf_type = RDF_Type::Vector; - n_refs->m_node_type = NodeType::Vector; - n_refs->m_defined_in = "df.refs.xml"; - n_refs->m_addornements = "v*"; - n_refs->m_address = base + offset; - n_refs->m_comment = "interactions learned"; - n_refs->m_parent = p_node_parent; - n_refs->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_refs); - - field_name = "ref_aux"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::written_content, field_name)); - auto n_ref_aux = new NodeVector; - n_ref_aux->m_field_name = field_name; - n_ref_aux->m_df_type = DF_Type::int32_t; - n_ref_aux->m_rdf_type = RDF_Type::Vector; - n_ref_aux->m_node_type = NodeType::Vector; - n_ref_aux->m_addornements = "v"; - n_ref_aux->m_address = base + offset; - n_ref_aux->m_comment = "if nonzero, corresponding ref is ignored"; - n_ref_aux->m_parent = p_node_parent; - n_ref_aux->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_ref_aux); - - field_name = "unk1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::written_content, field_name)); - auto n_unk1 = new NodeSimple; - n_unk1->m_field_name = field_name; - n_unk1->m_df_type = DF_Type::int32_t; - n_unk1->m_rdf_type = RDF_Type::int32_t; - n_unk1->m_node_type = NodeType::Simple; - n_unk1->m_address = base + offset; - n_unk1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk1); - - field_name = "unk2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::written_content, field_name)); - auto n_unk2 = new NodeSimple; - n_unk2->m_field_name = field_name; - n_unk2->m_df_type = DF_Type::int32_t; - n_unk2->m_rdf_type = RDF_Type::int32_t; - n_unk2->m_node_type = NodeType::Simple; - n_unk2->m_address = base + offset; - n_unk2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk2); - - field_name = "type"; - auto n_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::written_content, field_name)); - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::written_content_type; - n_type->m_rdf_type = RDF_Type::Enum; - n_type->m_node_type = NodeType::Enum; - n_type->m_base_type = enum_base_type(n_type->m_df_type); - n_type->m_enum_type = "written_content_type"; - n_type->m_address = base + offset; - n_type->m_defined_in = "df.itemimprovements.xml"; - n_type->m_first_value = 0; - n_type->m_last_value = 25; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - - field_name = "poetic_form"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::written_content, field_name)); - auto n_poetic_form = new NodeSimple; - n_poetic_form->m_field_name = field_name; - n_poetic_form->m_df_type = DF_Type::int32_t; - n_poetic_form->m_rdf_type = RDF_Type::int32_t; - n_poetic_form->m_node_type = NodeType::Simple; - n_poetic_form->m_address = base + offset; - n_poetic_form->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_poetic_form); - - field_name = "styles"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::written_content, field_name)); - auto n_styles = new NodeVector; - n_styles->m_field_name = field_name; - n_styles->m_df_type = DF_Type::written_content_style; - n_styles->m_rdf_type = RDF_Type::Vector; - n_styles->m_node_type = NodeType::Vector; - n_styles->m_enum_base = DF_Type::int32_t; - n_styles->m_defined_in = "df.itemimprovements.xml"; - n_styles->m_addornements = "v"; - n_styles->m_address = base + offset; - n_styles->m_parent = p_node_parent; - n_styles->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_styles); - - field_name = "style_strength"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::written_content, field_name)); - auto n_style_strength = new NodeVector; - n_style_strength->m_field_name = field_name; - n_style_strength->m_df_type = DF_Type::int32_t; - n_style_strength->m_rdf_type = RDF_Type::Vector; - n_style_strength->m_node_type = NodeType::Vector; - n_style_strength->m_addornements = "v"; - n_style_strength->m_address = base + offset; - n_style_strength->m_comment = "0 = maximum, 1 = significant, 2 = partial"; - n_style_strength->m_parent = p_node_parent; - n_style_strength->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_style_strength); - - field_name = "author"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::written_content, field_name)); - auto n_author = new NodeSimple; - n_author->m_field_name = field_name; - n_author->m_df_type = DF_Type::int32_t; - n_author->m_rdf_type = RDF_Type::int32_t; - n_author->m_node_type = NodeType::Simple; - n_author->m_address = base + offset; - n_author->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_author); - - field_name = "author_roll"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::written_content, field_name)); - auto n_author_roll = new NodeSimple; - n_author_roll->m_field_name = field_name; - n_author_roll->m_df_type = DF_Type::int32_t; - n_author_roll->m_rdf_type = RDF_Type::int32_t; - n_author_roll->m_node_type = NodeType::Simple; - n_author_roll->m_address = base + offset; - n_author_roll->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_author_roll); - -} -void node_from_engraving(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "artist"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::engraving, field_name)); - auto n_artist = new NodeSimple; - n_artist->m_field_name = field_name; - n_artist->m_df_type = DF_Type::int32_t; - n_artist->m_rdf_type = RDF_Type::int32_t; - n_artist->m_node_type = NodeType::Simple; - n_artist->m_address = base + offset; - n_artist->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_artist); - - field_name = "masterpiece_event"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::engraving, field_name)); - auto n_masterpiece_event = new NodeSimple; - n_masterpiece_event->m_field_name = field_name; - n_masterpiece_event->m_df_type = DF_Type::int32_t; - n_masterpiece_event->m_rdf_type = RDF_Type::int32_t; - n_masterpiece_event->m_node_type = NodeType::Simple; - n_masterpiece_event->m_address = base + offset; - n_masterpiece_event->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_masterpiece_event); - - field_name = "skill_rating"; - auto n_skill_rating = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::engraving, field_name)); - n_skill_rating->m_field_name = field_name; - n_skill_rating->m_df_type = DF_Type::skill_rating; - n_skill_rating->m_rdf_type = RDF_Type::Enum; - n_skill_rating->m_node_type = NodeType::Enum; - n_skill_rating->m_base_type = DF_Type::int32_t; - n_skill_rating->m_enum_type = "skill_rating"; - n_skill_rating->m_address = base + offset; - n_skill_rating->m_comment = "at the moment of creation"; - n_skill_rating->m_defined_in = "df.units.xml"; - n_skill_rating->m_first_value = 0; - n_skill_rating->m_last_value = 20; - n_skill_rating->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_skill_rating); - - field_name = "pos"; - auto n_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::engraving, field_name)); - n_pos->m_field_name = field_name; - n_pos->m_df_type = DF_Type::coord; - n_pos->m_rdf_type = RDF_Type::Struct; - n_pos->m_node_type = NodeType::Compound; - n_pos->m_address = base + offset; - n_pos->m_defined_in = "df.map.xml"; - n_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pos); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::engraving, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::engraving_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_defined_in = "df.itemimprovements.xml"; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "tile"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::engraving, field_name)); - auto n_tile = new NodeSimple; - n_tile->m_field_name = field_name; - n_tile->m_df_type = DF_Type::int8_t; - n_tile->m_rdf_type = RDF_Type::int8_t; - n_tile->m_node_type = NodeType::Simple; - n_tile->m_address = base + offset; - n_tile->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tile); - - field_name = "art_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::engraving, field_name)); - auto n_art_id = new NodeSimple; - n_art_id->m_field_name = field_name; - n_art_id->m_df_type = DF_Type::int32_t; - n_art_id->m_rdf_type = RDF_Type::int32_t; - n_art_id->m_node_type = NodeType::Simple; - n_art_id->m_address = base + offset; - n_art_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_art_id); - - field_name = "art_subid"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::engraving, field_name)); - auto n_art_subid = new NodeSimple; - n_art_subid->m_field_name = field_name; - n_art_subid->m_df_type = DF_Type::int16_t; - n_art_subid->m_rdf_type = RDF_Type::int16_t; - n_art_subid->m_node_type = NodeType::Simple; - n_art_subid->m_address = base + offset; - n_art_subid->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_art_subid); - - field_name = "quality"; - auto n_quality = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::engraving, field_name)); - n_quality->m_field_name = field_name; - n_quality->m_df_type = DF_Type::item_quality; - n_quality->m_rdf_type = RDF_Type::Enum; - n_quality->m_node_type = NodeType::Enum; - n_quality->m_base_type = DF_Type::int16_t; - n_quality->m_enum_type = "item_quality"; - n_quality->m_address = base + offset; - n_quality->m_defined_in = "df.items.xml"; - n_quality->m_first_value = 0; - n_quality->m_last_value = 6; - n_quality->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_quality); - - field_name = "unk1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::engraving, field_name)); - auto n_unk1 = new NodeSimple; - n_unk1->m_field_name = field_name; - n_unk1->m_df_type = DF_Type::int32_t; - n_unk1->m_rdf_type = RDF_Type::int32_t; - n_unk1->m_node_type = NodeType::Simple; - n_unk1->m_address = base + offset; - n_unk1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk1); - - field_name = "unk2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::engraving, field_name)); - auto n_unk2 = new NodeSimple; - n_unk2->m_field_name = field_name; - n_unk2->m_df_type = DF_Type::int32_t; - n_unk2->m_rdf_type = RDF_Type::int32_t; - n_unk2->m_node_type = NodeType::Simple; - n_unk2->m_address = base + offset; - n_unk2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk2); - -} -void node_from_item_magicness(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "type"; - auto n_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_magicness, field_name)); - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::item_magicness_type; - n_type->m_rdf_type = RDF_Type::Enum; - n_type->m_node_type = NodeType::Enum; - n_type->m_base_type = DF_Type::int16_t; - n_type->m_enum_type = "item_magicness_type"; - n_type->m_address = base + offset; - n_type->m_defined_in = "df.items.xml"; - n_type->m_first_value = 0; - n_type->m_last_value = 8; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - - field_name = "value"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_magicness, field_name)); - auto n_value = new NodeSimple; - n_value->m_field_name = field_name; - n_value->m_df_type = DF_Type::int16_t; - n_value->m_rdf_type = RDF_Type::int16_t; - n_value->m_node_type = NodeType::Simple; - n_value->m_address = base + offset; - n_value->m_comment = "boosts item value by 50*this"; - n_value->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_value); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_magicness, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int16_t; - n_anon_1->m_rdf_type = RDF_Type::int16_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_magicness, field_name)); - auto n_flags = new NodeSimple; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::int32_t; - n_flags->m_rdf_type = RDF_Type::int32_t; - n_flags->m_node_type = NodeType::Simple; - n_flags->m_address = base + offset; - n_flags->m_comment = "1=does not show up in item description or alter item value"; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - -} -void node_from_spatter_common(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::spatter_common, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::spatter_common, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "mat_state"; - auto n_mat_state = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::spatter_common, field_name)); - n_mat_state->m_field_name = field_name; - n_mat_state->m_df_type = DF_Type::matter_state; - n_mat_state->m_rdf_type = RDF_Type::Enum; - n_mat_state->m_node_type = NodeType::Enum; - n_mat_state->m_base_type = DF_Type::int16_t; - n_mat_state->m_enum_type = "matter_state"; - n_mat_state->m_address = base + offset; - n_mat_state->m_defined_in = "df.materials.xml"; - n_mat_state->m_first_value = -1; - n_mat_state->m_last_value = 5; - n_mat_state->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_state); - - field_name = "temperature"; - auto n_temperature = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::spatter_common, field_name)); - n_temperature->m_field_name = field_name; - n_temperature->m_df_type = DF_Type::temperaturest; - n_temperature->m_rdf_type = RDF_Type::Struct; - n_temperature->m_node_type = NodeType::Compound; - n_temperature->m_address = base + offset; - n_temperature->m_defined_in = "df.items.xml"; - n_temperature->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_temperature); - - field_name = "size"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::spatter_common, field_name)); - auto n_size = new NodeSimple; - n_size->m_field_name = field_name; - n_size->m_df_type = DF_Type::int32_t; - n_size->m_rdf_type = RDF_Type::int32_t; - n_size->m_node_type = NodeType::Simple; - n_size->m_address = base + offset; - n_size->m_comment = "1-24=spatter, 25-49=smear, 50-* = coating"; - n_size->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_size); - - field_name = "base_flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::spatter_common, field_name)); - auto n_base_flags = new NodeBitfield; - n_base_flags->m_field_name = field_name; - n_base_flags->m_df_type = DF_Type::spatter_common__T_base_flags; - n_base_flags->m_rdf_type = RDF_Type::Bitfield; - n_base_flags->m_node_type = NodeType::Bitfield; - n_base_flags->m_address = base + offset; - n_base_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_base_flags); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::spatter_common, field_name)); - auto n_anon_1= new NodePadding; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::Padding; - n_anon_1->m_rdf_type = RDF_Type::Padding; - n_anon_1->m_node_type = NodeType::Padding; - n_anon_1->m_address = base + offset; - n_anon_1->m_comment = "needed for proper alignment of spatter on gcc"; - n_anon_1->m_size = 2; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_adventure_option_eat_unit_contaminantst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::adventure_optionst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_adventure_optionst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unit"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_option_eat_unit_contaminantst, field_name)); - auto n_unit = new NodePointer; - n_unit->m_field_name = field_name; - n_unit->m_df_type = get_real_subtype(base+offset, DF_Type::unit); - n_unit->m_rdf_type = RDF_Type::Pointer; - n_unit->m_node_type = NodeType::Pointer; - n_unit->m_addornements = "*"; - n_unit->m_address = base + offset; - n_unit->m_parent = p_node_parent; - n_unit->m_defined_in = "df.units.xml"; - n_unit->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unit); - - field_name = "spatter"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_option_eat_unit_contaminantst, field_name)); - auto n_spatter = new NodePointer; - n_spatter->m_field_name = field_name; - n_spatter->m_df_type = get_real_subtype(base+offset, DF_Type::spatter); - n_spatter->m_rdf_type = RDF_Type::Pointer; - n_spatter->m_node_type = NodeType::Pointer; - n_spatter->m_addornements = "*"; - n_spatter->m_address = base + offset; - n_spatter->m_parent = p_node_parent; - n_spatter->m_defined_in = "df.items.xml"; - n_spatter->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_spatter); - -} -void node_from_adventure_option_view_contaminantst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::adventure_optionst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_adventure_optionst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unit"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_option_view_contaminantst, field_name)); - auto n_unit = new NodePointer; - n_unit->m_field_name = field_name; - n_unit->m_df_type = get_real_subtype(base+offset, DF_Type::unit); - n_unit->m_rdf_type = RDF_Type::Pointer; - n_unit->m_node_type = NodeType::Pointer; - n_unit->m_addornements = "*"; - n_unit->m_address = base + offset; - n_unit->m_parent = p_node_parent; - n_unit->m_defined_in = "df.units.xml"; - n_unit->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unit); - - field_name = "spatter"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_option_view_contaminantst, field_name)); - auto n_spatter = new NodePointer; - n_spatter->m_field_name = field_name; - n_spatter->m_df_type = get_real_subtype(base+offset, DF_Type::spatter); - n_spatter->m_rdf_type = RDF_Type::Pointer; - n_spatter->m_node_type = NodeType::Pointer; - n_spatter->m_addornements = "*"; - n_spatter->m_address = base + offset; - n_spatter->m_parent = p_node_parent; - n_spatter->m_defined_in = "df.items.xml"; - n_spatter->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_spatter); - -} -void node_from_spatter(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::spatter_common; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_spatter_common(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "body_part_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::spatter, field_name)); - auto n_body_part_id = new NodeSimple; - n_body_part_id->m_field_name = field_name; - n_body_part_id->m_df_type = DF_Type::int16_t; - n_body_part_id->m_rdf_type = RDF_Type::int16_t; - n_body_part_id->m_node_type = NodeType::Simple; - n_body_part_id->m_address = base + offset; - n_body_part_id->m_refers_to = "$$._global._parent._global.body.body_plan.body_parts[$]"; - n_body_part_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_body_part_id); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::spatter, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::spatter__T_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - -} -void node_from_item(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "pos"; - auto n_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item, field_name)); - n_pos->m_field_name = field_name; - n_pos->m_df_type = DF_Type::coord; - n_pos->m_rdf_type = RDF_Type::Struct; - n_pos->m_node_type = NodeType::Compound; - n_pos->m_address = base + offset; - n_pos->m_defined_in = "df.map.xml"; - n_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pos); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::item_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_defined_in = "df.items.xml"; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "flags2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item, field_name)); - auto n_flags2 = new NodeBitfield; - n_flags2->m_field_name = field_name; - n_flags2->m_df_type = DF_Type::item_flags2; - n_flags2->m_rdf_type = RDF_Type::Bitfield; - n_flags2->m_node_type = NodeType::Bitfield; - n_flags2->m_address = base + offset; - n_flags2->m_defined_in = "df.items.xml"; - n_flags2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags2); - - field_name = "age"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item, field_name)); - auto n_age = new NodeSimple; - n_age->m_field_name = field_name; - n_age->m_df_type = DF_Type::uint32_t; - n_age->m_rdf_type = RDF_Type::uint32_t; - n_age->m_node_type = NodeType::Simple; - n_age->m_address = base + offset; - n_age->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_age); - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "specific_refs"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item, field_name)); - auto n_specific_refs = new NodeVector; - n_specific_refs->m_field_name = field_name; - n_specific_refs->m_df_type = DF_Type::specific_ref; - n_specific_refs->m_rdf_type = RDF_Type::Vector; - n_specific_refs->m_node_type = NodeType::Vector; - n_specific_refs->m_defined_in = "df.refs.xml"; - n_specific_refs->m_addornements = "v*"; - n_specific_refs->m_address = base + offset; - n_specific_refs->m_parent = p_node_parent; - n_specific_refs->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_specific_refs); - - field_name = "general_refs"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item, field_name)); - auto n_general_refs = new NodeVector; - n_general_refs->m_field_name = field_name; - n_general_refs->m_df_type = DF_Type::general_ref; - n_general_refs->m_rdf_type = RDF_Type::Vector; - n_general_refs->m_node_type = NodeType::Vector; - n_general_refs->m_defined_in = "df.refs.xml"; - n_general_refs->m_addornements = "v*"; - n_general_refs->m_address = base + offset; - n_general_refs->m_parent = p_node_parent; - n_general_refs->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_general_refs); - - field_name = "world_data_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item, field_name)); - auto n_world_data_id = new NodeSimple; - n_world_data_id->m_field_name = field_name; - n_world_data_id->m_df_type = DF_Type::int32_t; - n_world_data_id->m_rdf_type = RDF_Type::int32_t; - n_world_data_id->m_node_type = NodeType::Simple; - n_world_data_id->m_address = base + offset; - n_world_data_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_world_data_id); - - field_name = "world_data_subid"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item, field_name)); - auto n_world_data_subid = new NodeSimple; - n_world_data_subid->m_field_name = field_name; - n_world_data_subid->m_df_type = DF_Type::int32_t; - n_world_data_subid->m_rdf_type = RDF_Type::int32_t; - n_world_data_subid->m_node_type = NodeType::Simple; - n_world_data_subid->m_address = base + offset; - n_world_data_subid->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_world_data_subid); - - field_name = "stockpile_countdown"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item, field_name)); - auto n_stockpile_countdown = new NodeSimple; - n_stockpile_countdown->m_field_name = field_name; - n_stockpile_countdown->m_df_type = DF_Type::uint8_t; - n_stockpile_countdown->m_rdf_type = RDF_Type::uint8_t; - n_stockpile_countdown->m_node_type = NodeType::Simple; - n_stockpile_countdown->m_address = base + offset; - n_stockpile_countdown->m_comment = "-1 per 50 frames; then check if needs moving"; - n_stockpile_countdown->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_stockpile_countdown); - - field_name = "stockpile_delay"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item, field_name)); - auto n_stockpile_delay = new NodeSimple; - n_stockpile_delay->m_field_name = field_name; - n_stockpile_delay->m_df_type = DF_Type::uint8_t; - n_stockpile_delay->m_rdf_type = RDF_Type::uint8_t; - n_stockpile_delay->m_node_type = NodeType::Simple; - n_stockpile_delay->m_address = base + offset; - n_stockpile_delay->m_comment = "used to reset countdown; randomly varies"; - n_stockpile_delay->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_stockpile_delay); - - field_name = "unk2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item, field_name)); - auto n_unk2 = new NodeSimple; - n_unk2->m_field_name = field_name; - n_unk2->m_df_type = DF_Type::int16_t; - n_unk2->m_rdf_type = RDF_Type::int16_t; - n_unk2->m_node_type = NodeType::Simple; - n_unk2->m_address = base + offset; - n_unk2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk2); - - field_name = "base_uniform_score"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item, field_name)); - auto n_base_uniform_score = new NodeSimple; - n_base_uniform_score->m_field_name = field_name; - n_base_uniform_score->m_df_type = DF_Type::int32_t; - n_base_uniform_score->m_rdf_type = RDF_Type::int32_t; - n_base_uniform_score->m_node_type = NodeType::Simple; - n_base_uniform_score->m_address = base + offset; - n_base_uniform_score->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_base_uniform_score); - - field_name = "walkable_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item, field_name)); - auto n_walkable_id = new NodeSimple; - n_walkable_id->m_field_name = field_name; - n_walkable_id->m_df_type = DF_Type::int16_t; - n_walkable_id->m_rdf_type = RDF_Type::int16_t; - n_walkable_id->m_node_type = NodeType::Simple; - n_walkable_id->m_address = base + offset; - n_walkable_id->m_comment = "from map_block.walkable"; - n_walkable_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_walkable_id); - - field_name = "spec_heat"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item, field_name)); - auto n_spec_heat = new NodeSimple; - n_spec_heat->m_field_name = field_name; - n_spec_heat->m_df_type = DF_Type::uint16_t; - n_spec_heat->m_rdf_type = RDF_Type::uint16_t; - n_spec_heat->m_node_type = NodeType::Simple; - n_spec_heat->m_address = base + offset; - n_spec_heat->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_spec_heat); - - field_name = "ignite_point"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item, field_name)); - auto n_ignite_point = new NodeSimple; - n_ignite_point->m_field_name = field_name; - n_ignite_point->m_df_type = DF_Type::uint16_t; - n_ignite_point->m_rdf_type = RDF_Type::uint16_t; - n_ignite_point->m_node_type = NodeType::Simple; - n_ignite_point->m_address = base + offset; - n_ignite_point->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ignite_point); - - field_name = "heatdam_point"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item, field_name)); - auto n_heatdam_point = new NodeSimple; - n_heatdam_point->m_field_name = field_name; - n_heatdam_point->m_df_type = DF_Type::uint16_t; - n_heatdam_point->m_rdf_type = RDF_Type::uint16_t; - n_heatdam_point->m_node_type = NodeType::Simple; - n_heatdam_point->m_address = base + offset; - n_heatdam_point->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_heatdam_point); - - field_name = "colddam_point"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item, field_name)); - auto n_colddam_point = new NodeSimple; - n_colddam_point->m_field_name = field_name; - n_colddam_point->m_df_type = DF_Type::uint16_t; - n_colddam_point->m_rdf_type = RDF_Type::uint16_t; - n_colddam_point->m_node_type = NodeType::Simple; - n_colddam_point->m_address = base + offset; - n_colddam_point->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_colddam_point); - - field_name = "boiling_point"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item, field_name)); - auto n_boiling_point = new NodeSimple; - n_boiling_point->m_field_name = field_name; - n_boiling_point->m_df_type = DF_Type::uint16_t; - n_boiling_point->m_rdf_type = RDF_Type::uint16_t; - n_boiling_point->m_node_type = NodeType::Simple; - n_boiling_point->m_address = base + offset; - n_boiling_point->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_boiling_point); - - field_name = "melting_point"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item, field_name)); - auto n_melting_point = new NodeSimple; - n_melting_point->m_field_name = field_name; - n_melting_point->m_df_type = DF_Type::uint16_t; - n_melting_point->m_rdf_type = RDF_Type::uint16_t; - n_melting_point->m_node_type = NodeType::Simple; - n_melting_point->m_address = base + offset; - n_melting_point->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_melting_point); - - field_name = "fixed_temp"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item, field_name)); - auto n_fixed_temp = new NodeSimple; - n_fixed_temp->m_field_name = field_name; - n_fixed_temp->m_df_type = DF_Type::uint16_t; - n_fixed_temp->m_rdf_type = RDF_Type::uint16_t; - n_fixed_temp->m_node_type = NodeType::Simple; - n_fixed_temp->m_address = base + offset; - n_fixed_temp->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_fixed_temp); - - field_name = "weight"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item, field_name)); - auto n_weight = new NodeSimple; - n_weight->m_field_name = field_name; - n_weight->m_df_type = DF_Type::int32_t; - n_weight->m_rdf_type = RDF_Type::int32_t; - n_weight->m_node_type = NodeType::Simple; - n_weight->m_address = base + offset; - n_weight->m_comment = "if flags.weight_computed"; - n_weight->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_weight); - - field_name = "weight_fraction"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item, field_name)); - auto n_weight_fraction = new NodeSimple; - n_weight_fraction->m_field_name = field_name; - n_weight_fraction->m_df_type = DF_Type::int32_t; - n_weight_fraction->m_rdf_type = RDF_Type::int32_t; - n_weight_fraction->m_node_type = NodeType::Simple; - n_weight_fraction->m_address = base + offset; - n_weight_fraction->m_comment = "1e-6"; - n_weight_fraction->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_weight_fraction); - -} -void node_from_item_kill_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "targets"; - auto n_targets = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_kill_info, field_name)); - n_targets->m_field_name = field_name; - n_targets->m_df_type = DF_Type::historical_kills; - n_targets->m_rdf_type = RDF_Type::Struct; - n_targets->m_node_type = NodeType::Compound; - n_targets->m_address = base + offset; - n_targets->m_defined_in = "df.history.xml"; - n_targets->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_targets); - - field_name = "slayers"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_kill_info, field_name)); - auto n_slayers = new NodeVector; - n_slayers->m_field_name = field_name; - n_slayers->m_df_type = DF_Type::int32_t; - n_slayers->m_rdf_type = RDF_Type::Vector; - n_slayers->m_node_type = NodeType::Vector; - n_slayers->m_addornements = "v"; - n_slayers->m_address = base + offset; - n_slayers->m_parent = p_node_parent; - n_slayers->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_slayers); - - field_name = "slayer_kill_counts"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_kill_info, field_name)); - auto n_slayer_kill_counts = new NodeVector; - n_slayer_kill_counts->m_field_name = field_name; - n_slayer_kill_counts->m_df_type = DF_Type::int32_t; - n_slayer_kill_counts->m_rdf_type = RDF_Type::Vector; - n_slayer_kill_counts->m_node_type = NodeType::Vector; - n_slayer_kill_counts->m_addornements = "v"; - n_slayer_kill_counts->m_address = base + offset; - n_slayer_kill_counts->m_parent = p_node_parent; - n_slayer_kill_counts->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_slayer_kill_counts); - -} -void node_from_item_history_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "kills"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_history_info, field_name)); - auto n_kills = new NodePointer; - n_kills->m_field_name = field_name; - n_kills->m_df_type = get_real_subtype(base+offset, DF_Type::item_kill_info); - n_kills->m_rdf_type = RDF_Type::Pointer; - n_kills->m_node_type = NodeType::Pointer; - n_kills->m_addornements = "*"; - n_kills->m_address = base + offset; - n_kills->m_parent = p_node_parent; - n_kills->m_defined_in = "df.items.xml"; - n_kills->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_kills); - - field_name = "attack_counter"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_history_info, field_name)); - auto n_attack_counter = new NodeSimple; - n_attack_counter->m_field_name = field_name; - n_attack_counter->m_df_type = DF_Type::int32_t; - n_attack_counter->m_rdf_type = RDF_Type::int32_t; - n_attack_counter->m_node_type = NodeType::Simple; - n_attack_counter->m_address = base + offset; - n_attack_counter->m_comment = "increments by 1 each time the item is fired, thrown or used in an attack"; - n_attack_counter->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_attack_counter); - - field_name = "defence_counter"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_history_info, field_name)); - auto n_defence_counter = new NodeSimple; - n_defence_counter->m_field_name = field_name; - n_defence_counter->m_df_type = DF_Type::int32_t; - n_defence_counter->m_rdf_type = RDF_Type::int32_t; - n_defence_counter->m_node_type = NodeType::Simple; - n_defence_counter->m_address = base + offset; - n_defence_counter->m_comment = "increments by 1 each time the item is used in an attempt to block or parry"; - n_defence_counter->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_defence_counter); - -} -void node_from_item_actual(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "stack_size"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_actual, field_name)); - auto n_stack_size = new NodeSimple; - n_stack_size->m_field_name = field_name; - n_stack_size->m_df_type = DF_Type::int32_t; - n_stack_size->m_rdf_type = RDF_Type::int32_t; - n_stack_size->m_node_type = NodeType::Simple; - n_stack_size->m_address = base + offset; - n_stack_size->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_stack_size); - - field_name = "history_info"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_actual, field_name)); - auto n_history_info = new NodePointer; - n_history_info->m_field_name = field_name; - n_history_info->m_df_type = DF_Type::item_history_info; - n_history_info->m_rdf_type = RDF_Type::Pointer; - n_history_info->m_node_type = NodeType::Pointer; - n_history_info->m_addornements = "**"; - n_history_info->m_address = base + offset; - n_history_info->m_parent = p_node_parent; - n_history_info->m_defined_in = "df.items.xml"; - n_history_info->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_history_info); - - field_name = "magic"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_actual, field_name)); - auto n_magic = new NodePointer; - n_magic->m_field_name = field_name; - n_magic->m_df_type = get_real_subtype(base+offset, DF_Type::item_magicness); - n_magic->m_rdf_type = RDF_Type::Pointer; - n_magic->m_node_type = NodeType::Pointer; - n_magic->m_addornements = "*v*"; - n_magic->m_address = base + offset; - n_magic->m_parent = p_node_parent; - n_magic->m_defined_in = "df.items.xml"; - n_magic->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_magic); - - field_name = "contaminants"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_actual, field_name)); - auto n_contaminants = new NodePointer; - n_contaminants->m_field_name = field_name; - n_contaminants->m_df_type = get_real_subtype(base+offset, DF_Type::spatter); - n_contaminants->m_rdf_type = RDF_Type::Pointer; - n_contaminants->m_node_type = NodeType::Pointer; - n_contaminants->m_addornements = "*v*"; - n_contaminants->m_address = base + offset; - n_contaminants->m_parent = p_node_parent; - n_contaminants->m_defined_in = "df.items.xml"; - n_contaminants->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_contaminants); - - field_name = "temperature"; - auto n_temperature = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_actual, field_name)); - n_temperature->m_field_name = field_name; - n_temperature->m_df_type = DF_Type::temperaturest; - n_temperature->m_rdf_type = RDF_Type::Struct; - n_temperature->m_node_type = NodeType::Compound; - n_temperature->m_address = base + offset; - n_temperature->m_defined_in = "df.items.xml"; - n_temperature->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_temperature); - - field_name = "wear"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_actual, field_name)); - auto n_wear = new NodeSimple; - n_wear->m_field_name = field_name; - n_wear->m_df_type = DF_Type::int16_t; - n_wear->m_rdf_type = RDF_Type::int16_t; - n_wear->m_node_type = NodeType::Simple; - n_wear->m_address = base + offset; - n_wear->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_wear); - - field_name = "wear_timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_actual, field_name)); - auto n_wear_timer = new NodeSimple; - n_wear_timer->m_field_name = field_name; - n_wear_timer->m_df_type = DF_Type::int32_t; - n_wear_timer->m_rdf_type = RDF_Type::int32_t; - n_wear_timer->m_node_type = NodeType::Simple; - n_wear_timer->m_address = base + offset; - n_wear_timer->m_comment = "counts up to 806400"; - n_wear_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_wear_timer); - - field_name = "unk_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_actual, field_name)); - auto n_unk_1 = new NodeSimple; - n_unk_1->m_field_name = field_name; - n_unk_1->m_df_type = DF_Type::int32_t; - n_unk_1->m_rdf_type = RDF_Type::int32_t; - n_unk_1->m_node_type = NodeType::Simple; - n_unk_1->m_address = base + offset; - n_unk_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_1); - - field_name = "temp_updated_frame"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_actual, field_name)); - auto n_temp_updated_frame = new NodeSimple; - n_temp_updated_frame->m_field_name = field_name; - n_temp_updated_frame->m_df_type = DF_Type::int32_t; - n_temp_updated_frame->m_rdf_type = RDF_Type::int32_t; - n_temp_updated_frame->m_node_type = NodeType::Simple; - n_temp_updated_frame->m_address = base + offset; - n_temp_updated_frame->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_temp_updated_frame); - -} -void node_from_item_crafted(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_crafted, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_crafted, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "maker_race"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_crafted, field_name)); - auto n_maker_race = new NodeSimple; - n_maker_race->m_field_name = field_name; - n_maker_race->m_df_type = DF_Type::int16_t; - n_maker_race->m_rdf_type = RDF_Type::int16_t; - n_maker_race->m_node_type = NodeType::Simple; - n_maker_race->m_address = base + offset; - n_maker_race->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_maker_race); - - field_name = "quality"; - auto n_quality = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_crafted, field_name)); - n_quality->m_field_name = field_name; - n_quality->m_df_type = DF_Type::item_quality; - n_quality->m_rdf_type = RDF_Type::Enum; - n_quality->m_node_type = NodeType::Enum; - n_quality->m_base_type = DF_Type::int16_t; - n_quality->m_enum_type = "item_quality"; - n_quality->m_address = base + offset; - n_quality->m_defined_in = "df.items.xml"; - n_quality->m_first_value = 0; - n_quality->m_last_value = 6; - n_quality->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_quality); - - field_name = "skill_used"; - auto n_skill_used = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_crafted, field_name)); - n_skill_used->m_field_name = field_name; - n_skill_used->m_df_type = DF_Type::job_skill; - n_skill_used->m_rdf_type = RDF_Type::Enum; - n_skill_used->m_node_type = NodeType::Enum; - n_skill_used->m_base_type = DF_Type::int32_t; - n_skill_used->m_enum_type = "job_skill"; - n_skill_used->m_address = base + offset; - n_skill_used->m_defined_in = "df.skills.xml"; - n_skill_used->m_first_value = -1; - n_skill_used->m_last_value = 134; - n_skill_used->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_skill_used); - - field_name = "maker"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_crafted, field_name)); - auto n_maker = new NodeSimple; - n_maker->m_field_name = field_name; - n_maker->m_df_type = DF_Type::int32_t; - n_maker->m_rdf_type = RDF_Type::int32_t; - n_maker->m_node_type = NodeType::Simple; - n_maker->m_address = base + offset; - n_maker->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_maker); - - field_name = "masterpiece_event"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_crafted, field_name)); - auto n_masterpiece_event = new NodeSimple; - n_masterpiece_event->m_field_name = field_name; - n_masterpiece_event->m_df_type = DF_Type::int32_t; - n_masterpiece_event->m_rdf_type = RDF_Type::int32_t; - n_masterpiece_event->m_node_type = NodeType::Simple; - n_masterpiece_event->m_address = base + offset; - n_masterpiece_event->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_masterpiece_event); - -} -void node_from_item_constructed(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_crafted; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_crafted(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "improvements"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_constructed, field_name)); - auto n_improvements = new NodeVector; - n_improvements->m_field_name = field_name; - n_improvements->m_df_type = DF_Type::itemimprovement; - n_improvements->m_rdf_type = RDF_Type::Vector; - n_improvements->m_node_type = NodeType::Vector; - n_improvements->m_defined_in = "df.itemimprovements.xml"; - n_improvements->m_addornements = "v*"; - n_improvements->m_address = base + offset; - n_improvements->m_parent = p_node_parent; - n_improvements->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_improvements); - -} -void node_from_body_component_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "body_part_status"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_component_info, field_name)); - auto n_body_part_status = new NodeVector; - n_body_part_status->m_field_name = field_name; - n_body_part_status->m_df_type = DF_Type::body_part_status; - n_body_part_status->m_rdf_type = RDF_Type::Vector; - n_body_part_status->m_node_type = NodeType::Vector; - n_body_part_status->m_defined_in = "df.items.xml"; - n_body_part_status->m_addornements = "v"; - n_body_part_status->m_address = base + offset; - n_body_part_status->m_refers_to = "$$._global._upglobal.caste.ref-target.body_info.body_parts[$]"; - n_body_part_status->m_parent = p_node_parent; - n_body_part_status->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_body_part_status); - - field_name = "numbered_masks"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_component_info, field_name)); - auto n_numbered_masks = new NodeVector; - n_numbered_masks->m_field_name = field_name; - n_numbered_masks->m_df_type = DF_Type::uint32_t; - n_numbered_masks->m_rdf_type = RDF_Type::Vector; - n_numbered_masks->m_node_type = NodeType::Vector; - n_numbered_masks->m_addornements = "v"; - n_numbered_masks->m_address = base + offset; - n_numbered_masks->m_comment = "1 bit per instance of a numbered body part"; - n_numbered_masks->m_parent = p_node_parent; - n_numbered_masks->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_numbered_masks); - - field_name = "nonsolid_remaining"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_component_info, field_name)); - auto n_nonsolid_remaining = new NodeVector; - n_nonsolid_remaining->m_field_name = field_name; - n_nonsolid_remaining->m_df_type = DF_Type::uint32_t; - n_nonsolid_remaining->m_rdf_type = RDF_Type::Vector; - n_nonsolid_remaining->m_node_type = NodeType::Vector; - n_nonsolid_remaining->m_addornements = "v"; - n_nonsolid_remaining->m_address = base + offset; - n_nonsolid_remaining->m_comment = "0-100%"; - n_nonsolid_remaining->m_refers_to = "$$._global._upglobal.caste.ref-target.body_info.nonsolid_layers[$].refers-to"; - n_nonsolid_remaining->m_parent = p_node_parent; - n_nonsolid_remaining->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_nonsolid_remaining); - - field_name = "layer_status"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_component_info, field_name)); - auto n_layer_status = new NodeVector; - n_layer_status->m_field_name = field_name; - n_layer_status->m_df_type = DF_Type::body_layer_status; - n_layer_status->m_rdf_type = RDF_Type::Vector; - n_layer_status->m_node_type = NodeType::Vector; - n_layer_status->m_defined_in = "df.items.xml"; - n_layer_status->m_addornements = "v"; - n_layer_status->m_address = base + offset; - n_layer_status->m_refers_to = "$$._global._upglobal.caste.ref-target.body_info.layer_idx[$].refers-to"; - n_layer_status->m_parent = p_node_parent; - n_layer_status->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_layer_status); - - field_name = "layer_wound_area"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_component_info, field_name)); - auto n_layer_wound_area = new NodeVector; - n_layer_wound_area->m_field_name = field_name; - n_layer_wound_area->m_df_type = DF_Type::uint32_t; - n_layer_wound_area->m_rdf_type = RDF_Type::Vector; - n_layer_wound_area->m_node_type = NodeType::Vector; - n_layer_wound_area->m_addornements = "v"; - n_layer_wound_area->m_address = base + offset; - n_layer_wound_area->m_refers_to = "$$._global._upglobal.caste.ref-target.body_info.layer_idx[$].refers-to"; - n_layer_wound_area->m_parent = p_node_parent; - n_layer_wound_area->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_layer_wound_area); - - field_name = "layer_cut_fraction"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_component_info, field_name)); - auto n_layer_cut_fraction = new NodeVector; - n_layer_cut_fraction->m_field_name = field_name; - n_layer_cut_fraction->m_df_type = DF_Type::uint32_t; - n_layer_cut_fraction->m_rdf_type = RDF_Type::Vector; - n_layer_cut_fraction->m_node_type = NodeType::Vector; - n_layer_cut_fraction->m_addornements = "v"; - n_layer_cut_fraction->m_address = base + offset; - n_layer_cut_fraction->m_comment = "0-10000"; - n_layer_cut_fraction->m_refers_to = "$$._global._upglobal.caste.ref-target.body_info.layer_idx[$].refers-to"; - n_layer_cut_fraction->m_parent = p_node_parent; - n_layer_cut_fraction->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_layer_cut_fraction); - - field_name = "layer_dent_fraction"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_component_info, field_name)); - auto n_layer_dent_fraction = new NodeVector; - n_layer_dent_fraction->m_field_name = field_name; - n_layer_dent_fraction->m_df_type = DF_Type::uint32_t; - n_layer_dent_fraction->m_rdf_type = RDF_Type::Vector; - n_layer_dent_fraction->m_node_type = NodeType::Vector; - n_layer_dent_fraction->m_addornements = "v"; - n_layer_dent_fraction->m_address = base + offset; - n_layer_dent_fraction->m_comment = "0-10000"; - n_layer_dent_fraction->m_refers_to = "$$._global._upglobal.caste.ref-target.body_info.layer_idx[$].refers-to"; - n_layer_dent_fraction->m_parent = p_node_parent; - n_layer_dent_fraction->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_layer_dent_fraction); - - field_name = "layer_effect_fraction"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_component_info, field_name)); - auto n_layer_effect_fraction = new NodeVector; - n_layer_effect_fraction->m_field_name = field_name; - n_layer_effect_fraction->m_df_type = DF_Type::uint32_t; - n_layer_effect_fraction->m_rdf_type = RDF_Type::Vector; - n_layer_effect_fraction->m_node_type = NodeType::Vector; - n_layer_effect_fraction->m_addornements = "v"; - n_layer_effect_fraction->m_address = base + offset; - n_layer_effect_fraction->m_comment = "0-1000000000"; - n_layer_effect_fraction->m_refers_to = "$$._global._upglobal.caste.ref-target.body_info.layer_idx[$].refers-to"; - n_layer_effect_fraction->m_parent = p_node_parent; - n_layer_effect_fraction->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_layer_effect_fraction); - -} -void node_from_item_body_component__T_body(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "wounds"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component__T_body, field_name)); - auto n_wounds = new NodeVector; - n_wounds->m_field_name = field_name; - n_wounds->m_df_type = DF_Type::unit_wound; - n_wounds->m_rdf_type = RDF_Type::Vector; - n_wounds->m_node_type = NodeType::Vector; - n_wounds->m_defined_in = "df.units.xml"; - n_wounds->m_addornements = "v*"; - n_wounds->m_address = base + offset; - n_wounds->m_parent = p_node_parent; - n_wounds->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_wounds); - - field_name = "unk_100"; - auto n_unk_100 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component__T_body, field_name)); - n_unk_100->m_field_name = field_name; - n_unk_100->m_df_type = DF_Type::int32_t; - n_unk_100->m_rdf_type = RDF_Type::Array; - n_unk_100->m_node_type = NodeType::Array; - n_unk_100->m_addornements = "[10"; - n_unk_100->m_array_size = 10; - n_unk_100->m_address = base + offset; - n_unk_100->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_100); - - field_name = "unk_c8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component__T_body, field_name)); - auto n_unk_c8 = new NodeSimple; - n_unk_c8->m_field_name = field_name; - n_unk_c8->m_df_type = DF_Type::int32_t; - n_unk_c8->m_rdf_type = RDF_Type::int32_t; - n_unk_c8->m_node_type = NodeType::Simple; - n_unk_c8->m_address = base + offset; - n_unk_c8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_c8); - - field_name = "components"; - auto n_components = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component__T_body, field_name)); - n_components->m_field_name = field_name; - n_components->m_df_type = DF_Type::body_component_info; - n_components->m_rdf_type = RDF_Type::Struct; - n_components->m_node_type = NodeType::Compound; - n_components->m_address = base + offset; - n_components->m_defined_in = "df.items.xml"; - n_components->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_components); - - field_name = "physical_attr_value"; - auto n_physical_attr_value = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component__T_body, field_name)); - n_physical_attr_value->m_field_name = field_name; - n_physical_attr_value->m_df_type = DF_Type::int32_t; - n_physical_attr_value->m_rdf_type = RDF_Type::Array; - n_physical_attr_value->m_node_type = NodeType::Array; - n_physical_attr_value->m_index_enum = DF_Type::physical_attribute_type; - n_physical_attr_value->m_addornements = "[6"; - n_physical_attr_value->m_array_size = 6; - n_physical_attr_value->m_address = base + offset; - n_physical_attr_value->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_physical_attr_value); - - field_name = "physical_attr_unk2"; - auto n_physical_attr_unk2 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component__T_body, field_name)); - n_physical_attr_unk2->m_field_name = field_name; - n_physical_attr_unk2->m_df_type = DF_Type::int32_t; - n_physical_attr_unk2->m_rdf_type = RDF_Type::Array; - n_physical_attr_unk2->m_node_type = NodeType::Array; - n_physical_attr_unk2->m_index_enum = DF_Type::physical_attribute_type; - n_physical_attr_unk2->m_addornements = "[6"; - n_physical_attr_unk2->m_array_size = 6; - n_physical_attr_unk2->m_address = base + offset; - n_physical_attr_unk2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_physical_attr_unk2); - - field_name = "size_info"; - auto n_size_info = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component__T_body, field_name)); - n_size_info->m_field_name = field_name; - n_size_info->m_df_type = DF_Type::body_size_info; - n_size_info->m_rdf_type = RDF_Type::Struct; - n_size_info->m_node_type = NodeType::Compound; - n_size_info->m_address = base + offset; - n_size_info->m_defined_in = "df.items.xml"; - n_size_info->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_size_info); - - field_name = "body_part_relsize"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component__T_body, field_name)); - auto n_body_part_relsize = new NodeVector; - n_body_part_relsize->m_field_name = field_name; - n_body_part_relsize->m_df_type = DF_Type::int32_t; - n_body_part_relsize->m_rdf_type = RDF_Type::Vector; - n_body_part_relsize->m_node_type = NodeType::Vector; - n_body_part_relsize->m_addornements = "v"; - n_body_part_relsize->m_address = base + offset; - n_body_part_relsize->m_comment = "=unit.enemy.body_part_relsize"; - n_body_part_relsize->m_parent = p_node_parent; - n_body_part_relsize->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_body_part_relsize); - - field_name = "body_modifiers"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component__T_body, field_name)); - auto n_body_modifiers = new NodeVector; - n_body_modifiers->m_field_name = field_name; - n_body_modifiers->m_df_type = DF_Type::int32_t; - n_body_modifiers->m_rdf_type = RDF_Type::Vector; - n_body_modifiers->m_node_type = NodeType::Vector; - n_body_modifiers->m_addornements = "v"; - n_body_modifiers->m_address = base + offset; - n_body_modifiers->m_refers_to = "$$._global.caste.ref-target.body_appearance_modifiers[$]"; - n_body_modifiers->m_parent = p_node_parent; - n_body_modifiers->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_body_modifiers); - - field_name = "bp_modifiers"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component__T_body, field_name)); - auto n_bp_modifiers = new NodeVector; - n_bp_modifiers->m_field_name = field_name; - n_bp_modifiers->m_df_type = DF_Type::int32_t; - n_bp_modifiers->m_rdf_type = RDF_Type::Vector; - n_bp_modifiers->m_node_type = NodeType::Vector; - n_bp_modifiers->m_addornements = "v"; - n_bp_modifiers->m_address = base + offset; - n_bp_modifiers->m_refers_to = "$$._global.caste.ref-target.bp_appearance.modifier_idx[$].refers-to"; - n_bp_modifiers->m_parent = p_node_parent; - n_bp_modifiers->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bp_modifiers); - - field_name = "size_modifier"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component__T_body, field_name)); - auto n_size_modifier = new NodeSimple; - n_size_modifier->m_field_name = field_name; - n_size_modifier->m_df_type = DF_Type::int32_t; - n_size_modifier->m_rdf_type = RDF_Type::int32_t; - n_size_modifier->m_node_type = NodeType::Simple; - n_size_modifier->m_address = base + offset; - n_size_modifier->m_comment = "=unit.appearance.size_modifier"; - n_size_modifier->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_size_modifier); - -} -void node_from_item_body_component__T_appearance(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "colors"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component__T_appearance, field_name)); - auto n_colors = new NodeVector; - n_colors->m_field_name = field_name; - n_colors->m_df_type = DF_Type::int32_t; - n_colors->m_rdf_type = RDF_Type::Vector; - n_colors->m_node_type = NodeType::Vector; - n_colors->m_addornements = "v"; - n_colors->m_address = base + offset; - n_colors->m_parent = p_node_parent; - n_colors->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_colors); - - field_name = "unk_1e8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component__T_appearance, field_name)); - auto n_unk_1e8 = new NodeVector; - n_unk_1e8->m_field_name = field_name; - n_unk_1e8->m_df_type = DF_Type::int16_t; - n_unk_1e8->m_rdf_type = RDF_Type::Vector; - n_unk_1e8->m_node_type = NodeType::Vector; - n_unk_1e8->m_addornements = "v"; - n_unk_1e8->m_address = base + offset; - n_unk_1e8->m_parent = p_node_parent; - n_unk_1e8->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_1e8); - - field_name = "unk_1f8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component__T_appearance, field_name)); - auto n_unk_1f8 = new NodeVector; - n_unk_1f8->m_field_name = field_name; - n_unk_1f8->m_df_type = DF_Type::int32_t; - n_unk_1f8->m_rdf_type = RDF_Type::Vector; - n_unk_1f8->m_node_type = NodeType::Vector; - n_unk_1f8->m_addornements = "v"; - n_unk_1f8->m_address = base + offset; - n_unk_1f8->m_parent = p_node_parent; - n_unk_1f8->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_1f8); - - field_name = "unk_208"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component__T_appearance, field_name)); - auto n_unk_208 = new NodeVector; - n_unk_208->m_field_name = field_name; - n_unk_208->m_df_type = DF_Type::int32_t; - n_unk_208->m_rdf_type = RDF_Type::Vector; - n_unk_208->m_node_type = NodeType::Vector; - n_unk_208->m_addornements = "v"; - n_unk_208->m_address = base + offset; - n_unk_208->m_parent = p_node_parent; - n_unk_208->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_208); - - field_name = "unk_218"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component__T_appearance, field_name)); - auto n_unk_218 = new NodeVector; - n_unk_218->m_field_name = field_name; - n_unk_218->m_df_type = DF_Type::int32_t; - n_unk_218->m_rdf_type = RDF_Type::Vector; - n_unk_218->m_node_type = NodeType::Vector; - n_unk_218->m_addornements = "v"; - n_unk_218->m_address = base + offset; - n_unk_218->m_parent = p_node_parent; - n_unk_218->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_218); - -} -void node_from_item_body_component__T_bone1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component__T_bone1, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component__T_bone1, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - -} -void node_from_item_body_component__T_bone2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component__T_bone2, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component__T_bone2, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - -} -void node_from_item_body_component(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "race"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component, field_name)); - auto n_race = new NodeSimple; - n_race->m_field_name = field_name; - n_race->m_df_type = DF_Type::int16_t; - n_race->m_rdf_type = RDF_Type::int16_t; - n_race->m_node_type = NodeType::Simple; - n_race->m_address = base + offset; - n_race->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_race); - - field_name = "hist_figure_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component, field_name)); - auto n_hist_figure_id = new NodeSimple; - n_hist_figure_id->m_field_name = field_name; - n_hist_figure_id->m_df_type = DF_Type::int32_t; - n_hist_figure_id->m_rdf_type = RDF_Type::int32_t; - n_hist_figure_id->m_node_type = NodeType::Simple; - n_hist_figure_id->m_address = base + offset; - n_hist_figure_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_hist_figure_id); - - field_name = "unit_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component, field_name)); - auto n_unit_id = new NodeSimple; - n_unit_id->m_field_name = field_name; - n_unit_id->m_df_type = DF_Type::int32_t; - n_unit_id->m_rdf_type = RDF_Type::int32_t; - n_unit_id->m_node_type = NodeType::Simple; - n_unit_id->m_address = base + offset; - n_unit_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unit_id); - - field_name = "caste"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component, field_name)); - auto n_caste = new NodeSimple; - n_caste->m_field_name = field_name; - n_caste->m_df_type = DF_Type::int16_t; - n_caste->m_rdf_type = RDF_Type::int16_t; - n_caste->m_node_type = NodeType::Simple; - n_caste->m_address = base + offset; - n_caste->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_caste); - - field_name = "sex"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component, field_name)); - auto n_sex = new NodeSimple; - n_sex->m_field_name = field_name; - n_sex->m_df_type = DF_Type::int8_t; - n_sex->m_rdf_type = RDF_Type::int8_t; - n_sex->m_node_type = NodeType::Simple; - n_sex->m_address = base + offset; - n_sex->m_comment = "-1 n/a, 0 female, 1 male"; - n_sex->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sex); - - field_name = "race2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component, field_name)); - auto n_race2 = new NodeSimple; - n_race2->m_field_name = field_name; - n_race2->m_df_type = DF_Type::int16_t; - n_race2->m_rdf_type = RDF_Type::int16_t; - n_race2->m_node_type = NodeType::Simple; - n_race2->m_address = base + offset; - n_race2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_race2); - - field_name = "caste2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component, field_name)); - auto n_caste2 = new NodeSimple; - n_caste2->m_field_name = field_name; - n_caste2->m_df_type = DF_Type::int16_t; - n_caste2->m_rdf_type = RDF_Type::int16_t; - n_caste2->m_node_type = NodeType::Simple; - n_caste2->m_address = base + offset; - n_caste2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_caste2); - - field_name = "rot_timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component, field_name)); - auto n_rot_timer = new NodeSimple; - n_rot_timer->m_field_name = field_name; - n_rot_timer->m_df_type = DF_Type::int32_t; - n_rot_timer->m_rdf_type = RDF_Type::int32_t; - n_rot_timer->m_node_type = NodeType::Simple; - n_rot_timer->m_address = base + offset; - n_rot_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rot_timer); - - field_name = "unk_8c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component, field_name)); - auto n_unk_8c = new NodeSimple; - n_unk_8c->m_field_name = field_name; - n_unk_8c->m_df_type = DF_Type::int8_t; - n_unk_8c->m_rdf_type = RDF_Type::int8_t; - n_unk_8c->m_node_type = NodeType::Simple; - n_unk_8c->m_address = base + offset; - n_unk_8c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_8c); - - field_name = "body"; - auto n_body = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component, field_name)); - n_body->m_field_name = field_name; - n_body->m_df_type = DF_Type::item_body_component__T_body; - n_body->m_rdf_type = RDF_Type::Compound; - n_body->m_node_type = NodeType::Compound; - n_body->m_address = base + offset; - n_body->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_body); - - field_name = "birth_year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component, field_name)); - auto n_birth_year = new NodeSimple; - n_birth_year->m_field_name = field_name; - n_birth_year->m_df_type = DF_Type::int32_t; - n_birth_year->m_rdf_type = RDF_Type::int32_t; - n_birth_year->m_node_type = NodeType::Simple; - n_birth_year->m_address = base + offset; - n_birth_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_birth_year); - - field_name = "birth_time"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component, field_name)); - auto n_birth_time = new NodeSimple; - n_birth_time->m_field_name = field_name; - n_birth_time->m_df_type = DF_Type::int32_t; - n_birth_time->m_rdf_type = RDF_Type::int32_t; - n_birth_time->m_node_type = NodeType::Simple; - n_birth_time->m_address = base + offset; - n_birth_time->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_birth_time); - - field_name = "curse_year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component, field_name)); - auto n_curse_year = new NodeSimple; - n_curse_year->m_field_name = field_name; - n_curse_year->m_df_type = DF_Type::int32_t; - n_curse_year->m_rdf_type = RDF_Type::int32_t; - n_curse_year->m_node_type = NodeType::Simple; - n_curse_year->m_address = base + offset; - n_curse_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_curse_year); - - field_name = "curse_time"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component, field_name)); - auto n_curse_time = new NodeSimple; - n_curse_time->m_field_name = field_name; - n_curse_time->m_df_type = DF_Type::int32_t; - n_curse_time->m_rdf_type = RDF_Type::int32_t; - n_curse_time->m_node_type = NodeType::Simple; - n_curse_time->m_address = base + offset; - n_curse_time->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_curse_time); - - field_name = "birth_year_bias"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component, field_name)); - auto n_birth_year_bias = new NodeSimple; - n_birth_year_bias->m_field_name = field_name; - n_birth_year_bias->m_df_type = DF_Type::int32_t; - n_birth_year_bias->m_rdf_type = RDF_Type::int32_t; - n_birth_year_bias->m_node_type = NodeType::Simple; - n_birth_year_bias->m_address = base + offset; - n_birth_year_bias->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_birth_year_bias); - - field_name = "birth_time_bias"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component, field_name)); - auto n_birth_time_bias = new NodeSimple; - n_birth_time_bias->m_field_name = field_name; - n_birth_time_bias->m_df_type = DF_Type::int32_t; - n_birth_time_bias->m_rdf_type = RDF_Type::int32_t; - n_birth_time_bias->m_node_type = NodeType::Simple; - n_birth_time_bias->m_address = base + offset; - n_birth_time_bias->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_birth_time_bias); - - field_name = "death_year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component, field_name)); - auto n_death_year = new NodeSimple; - n_death_year->m_field_name = field_name; - n_death_year->m_df_type = DF_Type::int32_t; - n_death_year->m_rdf_type = RDF_Type::int32_t; - n_death_year->m_node_type = NodeType::Simple; - n_death_year->m_address = base + offset; - n_death_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_death_year); - - field_name = "death_time"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component, field_name)); - auto n_death_time = new NodeSimple; - n_death_time->m_field_name = field_name; - n_death_time->m_df_type = DF_Type::int32_t; - n_death_time->m_rdf_type = RDF_Type::int32_t; - n_death_time->m_node_type = NodeType::Simple; - n_death_time->m_address = base + offset; - n_death_time->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_death_time); - - field_name = "appearance"; - auto n_appearance = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component, field_name)); - n_appearance->m_field_name = field_name; - n_appearance->m_df_type = DF_Type::item_body_component__T_appearance; - n_appearance->m_rdf_type = RDF_Type::Compound; - n_appearance->m_node_type = NodeType::Compound; - n_appearance->m_address = base + offset; - n_appearance->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_appearance); - - field_name = "blood_count"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component, field_name)); - auto n_blood_count = new NodeSimple; - n_blood_count->m_field_name = field_name; - n_blood_count->m_df_type = DF_Type::int32_t; - n_blood_count->m_rdf_type = RDF_Type::int32_t; - n_blood_count->m_node_type = NodeType::Simple; - n_blood_count->m_address = base + offset; - n_blood_count->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_blood_count); - - field_name = "stored_fat"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component, field_name)); - auto n_stored_fat = new NodeSimple; - n_stored_fat->m_field_name = field_name; - n_stored_fat->m_df_type = DF_Type::int32_t; - n_stored_fat->m_rdf_type = RDF_Type::int32_t; - n_stored_fat->m_node_type = NodeType::Simple; - n_stored_fat->m_address = base + offset; - n_stored_fat->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_stored_fat); - - field_name = "hist_figure_id2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component, field_name)); - auto n_hist_figure_id2 = new NodeSimple; - n_hist_figure_id2->m_field_name = field_name; - n_hist_figure_id2->m_df_type = DF_Type::int32_t; - n_hist_figure_id2->m_rdf_type = RDF_Type::int32_t; - n_hist_figure_id2->m_node_type = NodeType::Simple; - n_hist_figure_id2->m_address = base + offset; - n_hist_figure_id2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_hist_figure_id2); - - field_name = "corpse_flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component, field_name)); - auto n_corpse_flags = new NodeBitfield; - n_corpse_flags->m_field_name = field_name; - n_corpse_flags->m_df_type = DF_Type::item_body_component__T_corpse_flags; - n_corpse_flags->m_rdf_type = RDF_Type::Bitfield; - n_corpse_flags->m_node_type = NodeType::Bitfield; - n_corpse_flags->m_address = base + offset; - n_corpse_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_corpse_flags); - - field_name = "unit_id2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component, field_name)); - auto n_unit_id2 = new NodeSimple; - n_unit_id2->m_field_name = field_name; - n_unit_id2->m_df_type = DF_Type::int32_t; - n_unit_id2->m_rdf_type = RDF_Type::int32_t; - n_unit_id2->m_node_type = NodeType::Simple; - n_unit_id2->m_address = base + offset; - n_unit_id2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unit_id2); - - field_name = "unk_3401"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component, field_name)); - auto n_unk_3401 = new NodeSimple; - n_unk_3401->m_field_name = field_name; - n_unk_3401->m_df_type = DF_Type::int32_t; - n_unk_3401->m_rdf_type = RDF_Type::int32_t; - n_unk_3401->m_node_type = NodeType::Simple; - n_unk_3401->m_address = base + offset; - n_unk_3401->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_3401); - - field_name = "material_amount"; - auto n_material_amount = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component, field_name)); - n_material_amount->m_field_name = field_name; - n_material_amount->m_df_type = DF_Type::int32_t; - n_material_amount->m_rdf_type = RDF_Type::Array; - n_material_amount->m_node_type = NodeType::Array; - n_material_amount->m_index_enum = DF_Type::corpse_material_type; - n_material_amount->m_addornements = "[19"; - n_material_amount->m_array_size = 19; - n_material_amount->m_address = base + offset; - n_material_amount->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_material_amount); - - field_name = "bone1"; - auto n_bone1 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component, field_name)); - n_bone1->m_field_name = field_name; - n_bone1->m_df_type = DF_Type::item_body_component__T_bone1; - n_bone1->m_rdf_type = RDF_Type::Compound; - n_bone1->m_node_type = NodeType::Compound; - n_bone1->m_address = base + offset; - n_bone1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_bone1); - - field_name = "bone2"; - auto n_bone2 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component, field_name)); - n_bone2->m_field_name = field_name; - n_bone2->m_df_type = DF_Type::item_body_component__T_bone2; - n_bone2->m_rdf_type = RDF_Type::Compound; - n_bone2->m_node_type = NodeType::Compound; - n_bone2->m_address = base + offset; - n_bone2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_bone2); - -} -void node_from_item_corpsest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_body_component; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_body_component(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_item_corpsepiecest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_body_component; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_body_component(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_item_liquipowder(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_state"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_liquipowder, field_name)); - auto n_mat_state = new NodeBitfield; - n_mat_state->m_field_name = field_name; - n_mat_state->m_df_type = DF_Type::item_matstate; - n_mat_state->m_rdf_type = RDF_Type::Bitfield; - n_mat_state->m_node_type = NodeType::Bitfield; - n_mat_state->m_address = base + offset; - n_mat_state->m_defined_in = "df.items.xml"; - n_mat_state->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_state); - - field_name = "dimension"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_liquipowder, field_name)); - auto n_dimension = new NodeSimple; - n_dimension->m_field_name = field_name; - n_dimension->m_df_type = DF_Type::int32_t; - n_dimension->m_rdf_type = RDF_Type::int32_t; - n_dimension->m_node_type = NodeType::Simple; - n_dimension->m_address = base + offset; - n_dimension->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dimension); - -} -void node_from_item_liquid(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_liquipowder; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_liquipowder(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_liquid, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_liquid, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - -} -void node_from_item_powder(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_liquipowder; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_liquipowder(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_powder, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_powder, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - -} -void node_from_item_barst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_barst, field_name)); - auto n_subtype = new NodeSimple; - n_subtype->m_field_name = field_name; - n_subtype->m_df_type = DF_Type::int16_t; - n_subtype->m_rdf_type = RDF_Type::int16_t; - n_subtype->m_node_type = NodeType::Simple; - n_subtype->m_address = base + offset; - n_subtype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_subtype); - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_barst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_barst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "dimension"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_barst, field_name)); - auto n_dimension = new NodeSimple; - n_dimension->m_field_name = field_name; - n_dimension->m_df_type = DF_Type::int32_t; - n_dimension->m_rdf_type = RDF_Type::int32_t; - n_dimension->m_node_type = NodeType::Simple; - n_dimension->m_address = base + offset; - n_dimension->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dimension); - -} -void node_from_item_smallgemst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_smallgemst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_smallgemst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "shape"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_smallgemst, field_name)); - auto n_shape = new NodeSimple; - n_shape->m_field_name = field_name; - n_shape->m_df_type = DF_Type::int32_t; - n_shape->m_rdf_type = RDF_Type::int32_t; - n_shape->m_node_type = NodeType::Simple; - n_shape->m_address = base + offset; - n_shape->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_shape); - -} -void node_from_item_blocksst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_blocksst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_blocksst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - -} -void node_from_item_roughst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_roughst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_roughst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - -} -void node_from_item_boulderst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_boulderst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_boulderst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - -} -void node_from_item_woodst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_woodst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_woodst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - -} -void node_from_item_branchst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_branchst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_branchst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - -} -void node_from_item_rockst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_rockst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_rockst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "sharpness"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_rockst, field_name)); - auto n_sharpness = new NodeSimple; - n_sharpness->m_field_name = field_name; - n_sharpness->m_df_type = DF_Type::int32_t; - n_sharpness->m_rdf_type = RDF_Type::int32_t; - n_sharpness->m_node_type = NodeType::Simple; - n_sharpness->m_address = base + offset; - n_sharpness->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sharpness); - - field_name = "unk_84"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_rockst, field_name)); - auto n_unk_84 = new NodeSimple; - n_unk_84->m_field_name = field_name; - n_unk_84->m_df_type = DF_Type::int32_t; - n_unk_84->m_rdf_type = RDF_Type::int32_t; - n_unk_84->m_node_type = NodeType::Simple; - n_unk_84->m_address = base + offset; - n_unk_84->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_84); - -} -void node_from_item_seedsst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_seedsst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_seedsst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "grow_counter"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_seedsst, field_name)); - auto n_grow_counter = new NodeSimple; - n_grow_counter->m_field_name = field_name; - n_grow_counter->m_df_type = DF_Type::int32_t; - n_grow_counter->m_rdf_type = RDF_Type::int32_t; - n_grow_counter->m_node_type = NodeType::Simple; - n_grow_counter->m_address = base + offset; - n_grow_counter->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_grow_counter); - - field_name = "planting_skill"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_seedsst, field_name)); - auto n_planting_skill = new NodeSimple; - n_planting_skill->m_field_name = field_name; - n_planting_skill->m_df_type = DF_Type::int32_t; - n_planting_skill->m_rdf_type = RDF_Type::int32_t; - n_planting_skill->m_node_type = NodeType::Simple; - n_planting_skill->m_address = base + offset; - n_planting_skill->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_planting_skill); - -} -void node_from_item_skin_tannedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_skin_tannedst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_skin_tannedst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "unk_80"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_skin_tannedst, field_name)); - auto n_unk_80 = new NodeSimple; - n_unk_80->m_field_name = field_name; - n_unk_80->m_df_type = DF_Type::int32_t; - n_unk_80->m_rdf_type = RDF_Type::int32_t; - n_unk_80->m_node_type = NodeType::Simple; - n_unk_80->m_address = base + offset; - n_unk_80->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_80); - -} -void node_from_item_meatst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_meatst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_meatst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "rot_timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_meatst, field_name)); - auto n_rot_timer = new NodeSimple; - n_rot_timer->m_field_name = field_name; - n_rot_timer->m_df_type = DF_Type::int32_t; - n_rot_timer->m_rdf_type = RDF_Type::int32_t; - n_rot_timer->m_node_type = NodeType::Simple; - n_rot_timer->m_address = base + offset; - n_rot_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rot_timer); - -} -void node_from_item_plantst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_plantst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_plantst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "rot_timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_plantst, field_name)); - auto n_rot_timer = new NodeSimple; - n_rot_timer->m_field_name = field_name; - n_rot_timer->m_df_type = DF_Type::int32_t; - n_rot_timer->m_rdf_type = RDF_Type::int32_t; - n_rot_timer->m_node_type = NodeType::Simple; - n_rot_timer->m_address = base + offset; - n_rot_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rot_timer); - -} -void node_from_item_plant_growthst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_plant_growthst, field_name)); - auto n_subtype = new NodeSimple; - n_subtype->m_field_name = field_name; - n_subtype->m_df_type = DF_Type::int16_t; - n_subtype->m_rdf_type = RDF_Type::int16_t; - n_subtype->m_node_type = NodeType::Simple; - n_subtype->m_address = base + offset; - n_subtype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_subtype); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_plant_growthst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_plant_growthst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_plant_growthst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "rot_timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_plant_growthst, field_name)); - auto n_rot_timer = new NodeSimple; - n_rot_timer->m_field_name = field_name; - n_rot_timer->m_df_type = DF_Type::int32_t; - n_rot_timer->m_rdf_type = RDF_Type::int32_t; - n_rot_timer->m_node_type = NodeType::Simple; - n_rot_timer->m_address = base + offset; - n_rot_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rot_timer); - -} -void node_from_item_cheesest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_cheesest, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_cheesest, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "rot_timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_cheesest, field_name)); - auto n_rot_timer = new NodeSimple; - n_rot_timer->m_field_name = field_name; - n_rot_timer->m_df_type = DF_Type::int32_t; - n_rot_timer->m_rdf_type = RDF_Type::int32_t; - n_rot_timer->m_node_type = NodeType::Simple; - n_rot_timer->m_address = base + offset; - n_rot_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rot_timer); - -} -void node_from_item_globst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_globst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_globst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "rot_timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_globst, field_name)); - auto n_rot_timer = new NodeSimple; - n_rot_timer->m_field_name = field_name; - n_rot_timer->m_df_type = DF_Type::int32_t; - n_rot_timer->m_rdf_type = RDF_Type::int32_t; - n_rot_timer->m_node_type = NodeType::Simple; - n_rot_timer->m_address = base + offset; - n_rot_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rot_timer); - - field_name = "mat_state"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_globst, field_name)); - auto n_mat_state = new NodeBitfield; - n_mat_state->m_field_name = field_name; - n_mat_state->m_df_type = DF_Type::item_matstate; - n_mat_state->m_rdf_type = RDF_Type::Bitfield; - n_mat_state->m_node_type = NodeType::Bitfield; - n_mat_state->m_address = base + offset; - n_mat_state->m_defined_in = "df.items.xml"; - n_mat_state->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_state); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_globst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_item_remainsst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "race"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_remainsst, field_name)); - auto n_race = new NodeSimple; - n_race->m_field_name = field_name; - n_race->m_df_type = DF_Type::int16_t; - n_race->m_rdf_type = RDF_Type::int16_t; - n_race->m_node_type = NodeType::Simple; - n_race->m_address = base + offset; - n_race->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_race); - - field_name = "caste"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_remainsst, field_name)); - auto n_caste = new NodeSimple; - n_caste->m_field_name = field_name; - n_caste->m_df_type = DF_Type::int16_t; - n_caste->m_rdf_type = RDF_Type::int16_t; - n_caste->m_node_type = NodeType::Simple; - n_caste->m_address = base + offset; - n_caste->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_caste); - - field_name = "rot_timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_remainsst, field_name)); - auto n_rot_timer = new NodeSimple; - n_rot_timer->m_field_name = field_name; - n_rot_timer->m_df_type = DF_Type::int32_t; - n_rot_timer->m_rdf_type = RDF_Type::int32_t; - n_rot_timer->m_node_type = NodeType::Simple; - n_rot_timer->m_address = base + offset; - n_rot_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rot_timer); - -} -void node_from_item_fishst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "race"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_fishst, field_name)); - auto n_race = new NodeSimple; - n_race->m_field_name = field_name; - n_race->m_df_type = DF_Type::int16_t; - n_race->m_rdf_type = RDF_Type::int16_t; - n_race->m_node_type = NodeType::Simple; - n_race->m_address = base + offset; - n_race->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_race); - - field_name = "caste"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_fishst, field_name)); - auto n_caste = new NodeSimple; - n_caste->m_field_name = field_name; - n_caste->m_df_type = DF_Type::int16_t; - n_caste->m_rdf_type = RDF_Type::int16_t; - n_caste->m_node_type = NodeType::Simple; - n_caste->m_address = base + offset; - n_caste->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_caste); - - field_name = "rot_timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_fishst, field_name)); - auto n_rot_timer = new NodeSimple; - n_rot_timer->m_field_name = field_name; - n_rot_timer->m_df_type = DF_Type::int32_t; - n_rot_timer->m_rdf_type = RDF_Type::int32_t; - n_rot_timer->m_node_type = NodeType::Simple; - n_rot_timer->m_address = base + offset; - n_rot_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rot_timer); - -} -void node_from_item_fish_rawst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "race"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_fish_rawst, field_name)); - auto n_race = new NodeSimple; - n_race->m_field_name = field_name; - n_race->m_df_type = DF_Type::int16_t; - n_race->m_rdf_type = RDF_Type::int16_t; - n_race->m_node_type = NodeType::Simple; - n_race->m_address = base + offset; - n_race->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_race); - - field_name = "caste"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_fish_rawst, field_name)); - auto n_caste = new NodeSimple; - n_caste->m_field_name = field_name; - n_caste->m_df_type = DF_Type::int16_t; - n_caste->m_rdf_type = RDF_Type::int16_t; - n_caste->m_node_type = NodeType::Simple; - n_caste->m_address = base + offset; - n_caste->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_caste); - - field_name = "rot_timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_fish_rawst, field_name)); - auto n_rot_timer = new NodeSimple; - n_rot_timer->m_field_name = field_name; - n_rot_timer->m_df_type = DF_Type::int32_t; - n_rot_timer->m_rdf_type = RDF_Type::int32_t; - n_rot_timer->m_node_type = NodeType::Simple; - n_rot_timer->m_address = base + offset; - n_rot_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rot_timer); - -} -void node_from_item_foodst__T_ingredients(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_foodst__T_ingredients, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int16_t; - n_anon_1->m_rdf_type = RDF_Type::int16_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "item_type"; - auto n_item_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_foodst__T_ingredients, field_name)); - n_item_type->m_field_name = field_name; - n_item_type->m_df_type = DF_Type::item_type; - n_item_type->m_rdf_type = RDF_Type::Enum; - n_item_type->m_node_type = NodeType::Enum; - n_item_type->m_base_type = DF_Type::int16_t; - n_item_type->m_enum_type = "item_type"; - n_item_type->m_address = base + offset; - n_item_type->m_defined_in = "df.item-raws.xml"; - n_item_type->m_first_value = -1; - n_item_type->m_last_value = 90; - n_item_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_type); - - field_name = "unk_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_foodst__T_ingredients, field_name)); - auto n_unk_4 = new NodeSimple; - n_unk_4->m_field_name = field_name; - n_unk_4->m_df_type = DF_Type::int16_t; - n_unk_4->m_rdf_type = RDF_Type::int16_t; - n_unk_4->m_node_type = NodeType::Simple; - n_unk_4->m_address = base + offset; - n_unk_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_4); - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_foodst__T_ingredients, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_foodst__T_ingredients, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "maker"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_foodst__T_ingredients, field_name)); - auto n_maker = new NodeSimple; - n_maker->m_field_name = field_name; - n_maker->m_df_type = DF_Type::int32_t; - n_maker->m_rdf_type = RDF_Type::int32_t; - n_maker->m_node_type = NodeType::Simple; - n_maker->m_address = base + offset; - n_maker->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_maker); - - field_name = "quality"; - auto n_quality = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_foodst__T_ingredients, field_name)); - n_quality->m_field_name = field_name; - n_quality->m_df_type = DF_Type::item_quality; - n_quality->m_rdf_type = RDF_Type::Enum; - n_quality->m_node_type = NodeType::Enum; - n_quality->m_base_type = DF_Type::int16_t; - n_quality->m_enum_type = "item_quality"; - n_quality->m_address = base + offset; - n_quality->m_defined_in = "df.items.xml"; - n_quality->m_first_value = 0; - n_quality->m_last_value = 6; - n_quality->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_quality); - - field_name = "unk_14"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_foodst__T_ingredients, field_name)); - auto n_unk_14 = new NodeSimple; - n_unk_14->m_field_name = field_name; - n_unk_14->m_df_type = DF_Type::int32_t; - n_unk_14->m_rdf_type = RDF_Type::int32_t; - n_unk_14->m_node_type = NodeType::Simple; - n_unk_14->m_address = base + offset; - n_unk_14->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_14); - - field_name = "unk_18"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_foodst__T_ingredients, field_name)); - auto n_unk_18 = new NodeSimple; - n_unk_18->m_field_name = field_name; - n_unk_18->m_df_type = DF_Type::int32_t; - n_unk_18->m_rdf_type = RDF_Type::int32_t; - n_unk_18->m_node_type = NodeType::Simple; - n_unk_18->m_address = base + offset; - n_unk_18->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_18); - -} -void node_from_item_foodst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_crafted; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_crafted(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_foodst, field_name)); - auto n_subtype = new NodePointer; - n_subtype->m_field_name = field_name; - n_subtype->m_df_type = get_real_subtype(base+offset, DF_Type::itemdef_foodst); - n_subtype->m_rdf_type = RDF_Type::Pointer; - n_subtype->m_node_type = NodeType::Pointer; - n_subtype->m_addornements = "*"; - n_subtype->m_address = base + offset; - n_subtype->m_parent = p_node_parent; - n_subtype->m_defined_in = "df.item-raws.xml"; - n_subtype->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_subtype); - - field_name = "entity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_foodst, field_name)); - auto n_entity = new NodeSimple; - n_entity->m_field_name = field_name; - n_entity->m_df_type = DF_Type::int32_t; - n_entity->m_rdf_type = RDF_Type::int32_t; - n_entity->m_node_type = NodeType::Simple; - n_entity->m_address = base + offset; - n_entity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity); - - field_name = "recipe_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_foodst, field_name)); - auto n_recipe_id = new NodeSimple; - n_recipe_id->m_field_name = field_name; - n_recipe_id->m_df_type = DF_Type::int16_t; - n_recipe_id->m_rdf_type = RDF_Type::int16_t; - n_recipe_id->m_node_type = NodeType::Simple; - n_recipe_id->m_address = base + offset; - n_recipe_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_recipe_id); - - field_name = "ingredients"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_foodst, field_name)); - auto n_ingredients = new NodeVector; - n_ingredients->m_field_name = field_name; - n_ingredients->m_df_type = DF_Type::item_foodst__T_ingredients; - n_ingredients->m_rdf_type = RDF_Type::Vector; - n_ingredients->m_node_type = NodeType::Vector; - n_ingredients->m_addornements = "v*"; - n_ingredients->m_address = base + offset; - n_ingredients->m_parent = p_node_parent; - n_ingredients->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_ingredients); - - field_name = "rot_timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_foodst, field_name)); - auto n_rot_timer = new NodeSimple; - n_rot_timer->m_field_name = field_name; - n_rot_timer->m_df_type = DF_Type::int32_t; - n_rot_timer->m_rdf_type = RDF_Type::int32_t; - n_rot_timer->m_node_type = NodeType::Simple; - n_rot_timer->m_address = base + offset; - n_rot_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rot_timer); - -} -void node_from_item_drinkst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_liquid; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_liquid(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_item_powder_miscst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_powder; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_powder(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_item_liquid_miscst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_liquid; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_liquid(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk_88"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_liquid_miscst, field_name)); - auto n_unk_88 = new NodeSimple; - n_unk_88->m_field_name = field_name; - n_unk_88->m_df_type = DF_Type::int32_t; - n_unk_88->m_rdf_type = RDF_Type::int32_t; - n_unk_88->m_node_type = NodeType::Simple; - n_unk_88->m_address = base + offset; - n_unk_88->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_88); - -} -void node_from_item_threadst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_threadst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_threadst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "dye_mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_threadst, field_name)); - auto n_dye_mat_type = new NodeSimple; - n_dye_mat_type->m_field_name = field_name; - n_dye_mat_type->m_df_type = DF_Type::int16_t; - n_dye_mat_type->m_rdf_type = RDF_Type::int16_t; - n_dye_mat_type->m_node_type = NodeType::Simple; - n_dye_mat_type->m_address = base + offset; - n_dye_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dye_mat_type); - - field_name = "dye_mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_threadst, field_name)); - auto n_dye_mat_index = new NodeSimple; - n_dye_mat_index->m_field_name = field_name; - n_dye_mat_index->m_df_type = DF_Type::int32_t; - n_dye_mat_index->m_rdf_type = RDF_Type::int32_t; - n_dye_mat_index->m_node_type = NodeType::Simple; - n_dye_mat_index->m_address = base + offset; - n_dye_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dye_mat_index); - - field_name = "unk_88"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_threadst, field_name)); - auto n_unk_88 = new NodeSimple; - n_unk_88->m_field_name = field_name; - n_unk_88->m_df_type = DF_Type::int32_t; - n_unk_88->m_rdf_type = RDF_Type::int32_t; - n_unk_88->m_node_type = NodeType::Simple; - n_unk_88->m_address = base + offset; - n_unk_88->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_88); - - field_name = "unk_8c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_threadst, field_name)); - auto n_unk_8c = new NodeSimple; - n_unk_8c->m_field_name = field_name; - n_unk_8c->m_df_type = DF_Type::int32_t; - n_unk_8c->m_rdf_type = RDF_Type::int32_t; - n_unk_8c->m_node_type = NodeType::Simple; - n_unk_8c->m_address = base + offset; - n_unk_8c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_8c); - - field_name = "dye_quality"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_threadst, field_name)); - auto n_dye_quality = new NodeSimple; - n_dye_quality->m_field_name = field_name; - n_dye_quality->m_df_type = DF_Type::int16_t; - n_dye_quality->m_rdf_type = RDF_Type::int16_t; - n_dye_quality->m_node_type = NodeType::Simple; - n_dye_quality->m_address = base + offset; - n_dye_quality->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dye_quality); - - field_name = "unk_92"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_threadst, field_name)); - auto n_unk_92 = new NodeSimple; - n_unk_92->m_field_name = field_name; - n_unk_92->m_df_type = DF_Type::int16_t; - n_unk_92->m_rdf_type = RDF_Type::int16_t; - n_unk_92->m_node_type = NodeType::Simple; - n_unk_92->m_address = base + offset; - n_unk_92->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_92); - - field_name = "unk_94"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_threadst, field_name)); - auto n_unk_94 = new NodeSimple; - n_unk_94->m_field_name = field_name; - n_unk_94->m_df_type = DF_Type::int32_t; - n_unk_94->m_rdf_type = RDF_Type::int32_t; - n_unk_94->m_node_type = NodeType::Simple; - n_unk_94->m_address = base + offset; - n_unk_94->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_94); - - field_name = "unk_98"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_threadst, field_name)); - auto n_unk_98 = new NodeSimple; - n_unk_98->m_field_name = field_name; - n_unk_98->m_df_type = DF_Type::int8_t; - n_unk_98->m_rdf_type = RDF_Type::int8_t; - n_unk_98->m_node_type = NodeType::Simple; - n_unk_98->m_address = base + offset; - n_unk_98->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_98); - - field_name = "dimension"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_threadst, field_name)); - auto n_dimension = new NodeSimple; - n_dimension->m_field_name = field_name; - n_dimension->m_df_type = DF_Type::int32_t; - n_dimension->m_rdf_type = RDF_Type::int32_t; - n_dimension->m_node_type = NodeType::Simple; - n_dimension->m_address = base + offset; - n_dimension->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dimension); - -} -void node_from_item_eggst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "race"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_eggst, field_name)); - auto n_race = new NodeSimple; - n_race->m_field_name = field_name; - n_race->m_df_type = DF_Type::int16_t; - n_race->m_rdf_type = RDF_Type::int16_t; - n_race->m_node_type = NodeType::Simple; - n_race->m_address = base + offset; - n_race->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_race); - - field_name = "caste"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_eggst, field_name)); - auto n_caste = new NodeSimple; - n_caste->m_field_name = field_name; - n_caste->m_df_type = DF_Type::int16_t; - n_caste->m_rdf_type = RDF_Type::int16_t; - n_caste->m_node_type = NodeType::Simple; - n_caste->m_address = base + offset; - n_caste->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_caste); - - field_name = "unk_7c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_eggst, field_name)); - auto n_unk_7c = new NodeSimple; - n_unk_7c->m_field_name = field_name; - n_unk_7c->m_df_type = DF_Type::int32_t; - n_unk_7c->m_rdf_type = RDF_Type::int32_t; - n_unk_7c->m_node_type = NodeType::Simple; - n_unk_7c->m_address = base + offset; - n_unk_7c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_7c); - - field_name = "egg_materials"; - auto n_egg_materials = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_eggst, field_name)); - n_egg_materials->m_field_name = field_name; - n_egg_materials->m_df_type = DF_Type::material_vec_ref; - n_egg_materials->m_rdf_type = RDF_Type::Struct; - n_egg_materials->m_node_type = NodeType::Compound; - n_egg_materials->m_address = base + offset; - n_egg_materials->m_defined_in = "df.materials.xml"; - n_egg_materials->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_egg_materials); - - field_name = "egg_flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_eggst, field_name)); - auto n_egg_flags = new NodeBitfield; - n_egg_flags->m_field_name = field_name; - n_egg_flags->m_df_type = DF_Type::item_eggst__T_egg_flags; - n_egg_flags->m_rdf_type = RDF_Type::Bitfield; - n_egg_flags->m_node_type = NodeType::Bitfield; - n_egg_flags->m_address = base + offset; - n_egg_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_egg_flags); - - field_name = "incubation_counter"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_eggst, field_name)); - auto n_incubation_counter = new NodeSimple; - n_incubation_counter->m_field_name = field_name; - n_incubation_counter->m_df_type = DF_Type::int32_t; - n_incubation_counter->m_rdf_type = RDF_Type::int32_t; - n_incubation_counter->m_node_type = NodeType::Simple; - n_incubation_counter->m_address = base + offset; - n_incubation_counter->m_comment = "increments when fertile in unforbidden nestbox, hatch at >= 100800 (3 months)"; - n_incubation_counter->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_incubation_counter); - - field_name = "hatchling_civ_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_eggst, field_name)); - auto n_hatchling_civ_id = new NodeSimple; - n_hatchling_civ_id->m_field_name = field_name; - n_hatchling_civ_id->m_df_type = DF_Type::int32_t; - n_hatchling_civ_id->m_rdf_type = RDF_Type::int32_t; - n_hatchling_civ_id->m_node_type = NodeType::Simple; - n_hatchling_civ_id->m_address = base + offset; - n_hatchling_civ_id->m_comment = "hatchlings will have this civ_id"; - n_hatchling_civ_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_hatchling_civ_id); - - field_name = "hatchling_population_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_eggst, field_name)); - auto n_hatchling_population_id = new NodeSimple; - n_hatchling_population_id->m_field_name = field_name; - n_hatchling_population_id->m_df_type = DF_Type::int32_t; - n_hatchling_population_id->m_rdf_type = RDF_Type::int32_t; - n_hatchling_population_id->m_node_type = NodeType::Simple; - n_hatchling_population_id->m_address = base + offset; - n_hatchling_population_id->m_comment = "hatchlings will have this population_id"; - n_hatchling_population_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_hatchling_population_id); - - field_name = "hatchling_unit_unk_c0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_eggst, field_name)); - auto n_hatchling_unit_unk_c0 = new NodeSimple; - n_hatchling_unit_unk_c0->m_field_name = field_name; - n_hatchling_unit_unk_c0->m_df_type = DF_Type::int32_t; - n_hatchling_unit_unk_c0->m_rdf_type = RDF_Type::int32_t; - n_hatchling_unit_unk_c0->m_node_type = NodeType::Simple; - n_hatchling_unit_unk_c0->m_address = base + offset; - n_hatchling_unit_unk_c0->m_comment = "hatchlings will have this unit.unk_c0 value"; - n_hatchling_unit_unk_c0->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_hatchling_unit_unk_c0); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_eggst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "mothers_genes"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_eggst, field_name)); - auto n_mothers_genes = new NodePointer; - n_mothers_genes->m_field_name = field_name; - n_mothers_genes->m_df_type = get_real_subtype(base+offset, DF_Type::unit_genes); - n_mothers_genes->m_rdf_type = RDF_Type::Pointer; - n_mothers_genes->m_node_type = NodeType::Pointer; - n_mothers_genes->m_addornements = "*"; - n_mothers_genes->m_address = base + offset; - n_mothers_genes->m_comment = "object owned by egg item"; - n_mothers_genes->m_parent = p_node_parent; - n_mothers_genes->m_defined_in = "df.units.xml"; - n_mothers_genes->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_mothers_genes); - - field_name = "mothers_caste"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_eggst, field_name)); - auto n_mothers_caste = new NodeSimple; - n_mothers_caste->m_field_name = field_name; - n_mothers_caste->m_df_type = DF_Type::int16_t; - n_mothers_caste->m_rdf_type = RDF_Type::int16_t; - n_mothers_caste->m_node_type = NodeType::Simple; - n_mothers_caste->m_address = base + offset; - n_mothers_caste->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mothers_caste); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_eggst, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "fathers_genes"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_eggst, field_name)); - auto n_fathers_genes = new NodePointer; - n_fathers_genes->m_field_name = field_name; - n_fathers_genes->m_df_type = get_real_subtype(base+offset, DF_Type::unit_genes); - n_fathers_genes->m_rdf_type = RDF_Type::Pointer; - n_fathers_genes->m_node_type = NodeType::Pointer; - n_fathers_genes->m_addornements = "*"; - n_fathers_genes->m_address = base + offset; - n_fathers_genes->m_comment = "object owned by egg item"; - n_fathers_genes->m_parent = p_node_parent; - n_fathers_genes->m_defined_in = "df.units.xml"; - n_fathers_genes->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_fathers_genes); - - field_name = "fathers_caste"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_eggst, field_name)); - auto n_fathers_caste = new NodeSimple; - n_fathers_caste->m_field_name = field_name; - n_fathers_caste->m_df_type = DF_Type::int16_t; - n_fathers_caste->m_rdf_type = RDF_Type::int16_t; - n_fathers_caste->m_node_type = NodeType::Simple; - n_fathers_caste->m_address = base + offset; - n_fathers_caste->m_comment = "-1 if no father genes"; - n_fathers_caste->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_fathers_caste); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_eggst, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "hatchling_flags1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_eggst, field_name)); - auto n_hatchling_flags1 = new NodeBitfield; - n_hatchling_flags1->m_field_name = field_name; - n_hatchling_flags1->m_df_type = DF_Type::unit_flags1; - n_hatchling_flags1->m_rdf_type = RDF_Type::Bitfield; - n_hatchling_flags1->m_node_type = NodeType::Bitfield; - n_hatchling_flags1->m_address = base + offset; - n_hatchling_flags1->m_comment = "used primarily for bit_flag:tame"; - n_hatchling_flags1->m_defined_in = "df.units.xml"; - n_hatchling_flags1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_hatchling_flags1); - - field_name = "hatchling_flags2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_eggst, field_name)); - auto n_hatchling_flags2 = new NodeBitfield; - n_hatchling_flags2->m_field_name = field_name; - n_hatchling_flags2->m_df_type = DF_Type::unit_flags2; - n_hatchling_flags2->m_rdf_type = RDF_Type::Bitfield; - n_hatchling_flags2->m_node_type = NodeType::Bitfield; - n_hatchling_flags2->m_address = base + offset; - n_hatchling_flags2->m_comment = "used primarily for bit_flag:roaming_wilderness_population_source"; - n_hatchling_flags2->m_defined_in = "df.units.xml"; - n_hatchling_flags2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_hatchling_flags2); - - field_name = "hatchling_flags3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_eggst, field_name)); - auto n_hatchling_flags3 = new NodeBitfield; - n_hatchling_flags3->m_field_name = field_name; - n_hatchling_flags3->m_df_type = DF_Type::unit_flags3; - n_hatchling_flags3->m_rdf_type = RDF_Type::Bitfield; - n_hatchling_flags3->m_node_type = NodeType::Bitfield; - n_hatchling_flags3->m_address = base + offset; - n_hatchling_flags3->m_comment = "not normally used, most/all do not stick"; - n_hatchling_flags3->m_defined_in = "df.units.xml"; - n_hatchling_flags3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_hatchling_flags3); - - field_name = "unk_v42_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_eggst, field_name)); - auto n_unk_v42_1 = new NodeSimple; - n_unk_v42_1->m_field_name = field_name; - n_unk_v42_1->m_df_type = DF_Type::int32_t; - n_unk_v42_1->m_rdf_type = RDF_Type::int32_t; - n_unk_v42_1->m_node_type = NodeType::Simple; - n_unk_v42_1->m_address = base + offset; - n_unk_v42_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v42_1); - - field_name = "hatchling_training_level"; - auto n_hatchling_training_level = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_eggst, field_name)); - n_hatchling_training_level->m_field_name = field_name; - n_hatchling_training_level->m_df_type = DF_Type::animal_training_level; - n_hatchling_training_level->m_rdf_type = RDF_Type::Enum; - n_hatchling_training_level->m_node_type = NodeType::Enum; - n_hatchling_training_level->m_base_type = DF_Type::int32_t; - n_hatchling_training_level->m_enum_type = "animal_training_level"; - n_hatchling_training_level->m_address = base + offset; - n_hatchling_training_level->m_defined_in = "df.units.xml"; - n_hatchling_training_level->m_first_value = 0; - n_hatchling_training_level->m_last_value = 9; - n_hatchling_training_level->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_hatchling_training_level); - - field_name = "hatchling_animal_population"; - auto n_hatchling_animal_population = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_eggst, field_name)); - n_hatchling_animal_population->m_field_name = field_name; - n_hatchling_animal_population->m_df_type = DF_Type::world_population_ref; - n_hatchling_animal_population->m_rdf_type = RDF_Type::Struct; - n_hatchling_animal_population->m_node_type = NodeType::Compound; - n_hatchling_animal_population->m_address = base + offset; - n_hatchling_animal_population->m_defined_in = "df.world-data.xml"; - n_hatchling_animal_population->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_hatchling_animal_population); - - field_name = "hatchling_mother_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_eggst, field_name)); - auto n_hatchling_mother_id = new NodeSimple; - n_hatchling_mother_id->m_field_name = field_name; - n_hatchling_mother_id->m_df_type = DF_Type::int32_t; - n_hatchling_mother_id->m_rdf_type = RDF_Type::int32_t; - n_hatchling_mother_id->m_node_type = NodeType::Simple; - n_hatchling_mother_id->m_address = base + offset; - n_hatchling_mother_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_hatchling_mother_id); - - field_name = "size"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_eggst, field_name)); - auto n_size = new NodeSimple; - n_size->m_field_name = field_name; - n_size->m_df_type = DF_Type::int32_t; - n_size->m_rdf_type = RDF_Type::int32_t; - n_size->m_node_type = NodeType::Simple; - n_size->m_address = base + offset; - n_size->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_size); - -} -void node_from_item_doorst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_constructed; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_constructed(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_item_floodgatest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_constructed; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_constructed(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_item_bedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_constructed; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_constructed(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_item_chairst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_constructed; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_constructed(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_item_chainst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_constructed; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_constructed(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_item_flaskst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_constructed; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_constructed(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_item_gobletst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_constructed; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_constructed(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_item_windowst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_constructed; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_constructed(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_item_cagest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_constructed; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_constructed(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_item_bucketst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_constructed; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_constructed(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_item_animaltrapst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_constructed; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_constructed(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_item_tablest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_constructed; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_constructed(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_item_coffinst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_constructed; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_constructed(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_item_boxst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_constructed; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_constructed(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_item_armorstandst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_constructed; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_constructed(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_item_weaponrackst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_constructed; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_constructed(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_item_cabinetst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_constructed; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_constructed(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_item_amuletst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_constructed; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_constructed(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_item_scepterst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_constructed; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_constructed(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_item_crownst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_constructed; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_constructed(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_item_ringst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_constructed; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_constructed(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_item_earringst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_constructed; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_constructed(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_item_braceletst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_constructed; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_constructed(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_item_anvilst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_constructed; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_constructed(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_item_backpackst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_constructed; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_constructed(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_item_quiverst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_constructed; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_constructed(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_item_catapultpartsst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_constructed; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_constructed(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_item_ballistapartsst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_constructed; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_constructed(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_item_trappartsst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_constructed; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_constructed(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_item_pipe_sectionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_constructed; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_constructed(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_item_hatch_coverst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_constructed; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_constructed(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_item_gratest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_constructed; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_constructed(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_item_quernst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_constructed; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_constructed(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_item_millstonest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_constructed; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_constructed(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_item_splintst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_constructed; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_constructed(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_item_crutchst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_constructed; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_constructed(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_item_traction_benchst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_constructed; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_constructed(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_item_instrumentst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_constructed; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_constructed(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_instrumentst, field_name)); - auto n_subtype = new NodePointer; - n_subtype->m_field_name = field_name; - n_subtype->m_df_type = get_real_subtype(base+offset, DF_Type::itemdef_instrumentst); - n_subtype->m_rdf_type = RDF_Type::Pointer; - n_subtype->m_node_type = NodeType::Pointer; - n_subtype->m_addornements = "*"; - n_subtype->m_address = base + offset; - n_subtype->m_parent = p_node_parent; - n_subtype->m_defined_in = "df.item-raws.xml"; - n_subtype->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_subtype); - -} -void node_from_item_toyst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_constructed; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_constructed(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_toyst, field_name)); - auto n_subtype = new NodePointer; - n_subtype->m_field_name = field_name; - n_subtype->m_df_type = get_real_subtype(base+offset, DF_Type::itemdef_toyst); - n_subtype->m_rdf_type = RDF_Type::Pointer; - n_subtype->m_node_type = NodeType::Pointer; - n_subtype->m_addornements = "*"; - n_subtype->m_address = base + offset; - n_subtype->m_parent = p_node_parent; - n_subtype->m_defined_in = "df.item-raws.xml"; - n_subtype->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_subtype); - -} -void node_from_item_armorst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_constructed; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_constructed(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_armorst, field_name)); - auto n_subtype = new NodePointer; - n_subtype->m_field_name = field_name; - n_subtype->m_df_type = get_real_subtype(base+offset, DF_Type::itemdef_armorst); - n_subtype->m_rdf_type = RDF_Type::Pointer; - n_subtype->m_node_type = NodeType::Pointer; - n_subtype->m_addornements = "*"; - n_subtype->m_address = base + offset; - n_subtype->m_parent = p_node_parent; - n_subtype->m_defined_in = "df.item-raws.xml"; - n_subtype->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_subtype); - -} -void node_from_item_shoesst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_constructed; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_constructed(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_shoesst, field_name)); - auto n_subtype = new NodePointer; - n_subtype->m_field_name = field_name; - n_subtype->m_df_type = get_real_subtype(base+offset, DF_Type::itemdef_shoesst); - n_subtype->m_rdf_type = RDF_Type::Pointer; - n_subtype->m_node_type = NodeType::Pointer; - n_subtype->m_addornements = "*"; - n_subtype->m_address = base + offset; - n_subtype->m_parent = p_node_parent; - n_subtype->m_defined_in = "df.item-raws.xml"; - n_subtype->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_subtype); - -} -void node_from_item_shieldst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_constructed; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_constructed(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_shieldst, field_name)); - auto n_subtype = new NodePointer; - n_subtype->m_field_name = field_name; - n_subtype->m_df_type = get_real_subtype(base+offset, DF_Type::itemdef_shieldst); - n_subtype->m_rdf_type = RDF_Type::Pointer; - n_subtype->m_node_type = NodeType::Pointer; - n_subtype->m_addornements = "*"; - n_subtype->m_address = base + offset; - n_subtype->m_parent = p_node_parent; - n_subtype->m_defined_in = "df.item-raws.xml"; - n_subtype->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_subtype); - -} -void node_from_item_helmst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_constructed; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_constructed(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_helmst, field_name)); - auto n_subtype = new NodePointer; - n_subtype->m_field_name = field_name; - n_subtype->m_df_type = get_real_subtype(base+offset, DF_Type::itemdef_helmst); - n_subtype->m_rdf_type = RDF_Type::Pointer; - n_subtype->m_node_type = NodeType::Pointer; - n_subtype->m_addornements = "*"; - n_subtype->m_address = base + offset; - n_subtype->m_parent = p_node_parent; - n_subtype->m_defined_in = "df.item-raws.xml"; - n_subtype->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_subtype); - -} -void node_from_item_glovesst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_constructed; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_constructed(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_glovesst, field_name)); - auto n_subtype = new NodePointer; - n_subtype->m_field_name = field_name; - n_subtype->m_df_type = get_real_subtype(base+offset, DF_Type::itemdef_glovesst); - n_subtype->m_rdf_type = RDF_Type::Pointer; - n_subtype->m_node_type = NodeType::Pointer; - n_subtype->m_addornements = "*"; - n_subtype->m_address = base + offset; - n_subtype->m_parent = p_node_parent; - n_subtype->m_defined_in = "df.item-raws.xml"; - n_subtype->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_subtype); - - field_name = "handedness"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_glovesst, field_name)); - auto n_handedness = new NodeDFFlagArray; - n_handedness->m_field_name = field_name; - n_handedness->m_df_type = DF_Type::int32_t; - n_handedness->m_size = 32; - n_handedness->m_rdf_type = RDF_Type::DFFlagArray; - n_handedness->m_node_type = NodeType::Bitfield; - n_handedness->m_address = base + offset; - n_handedness->m_comment = "1 right, 2 left"; - n_handedness->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_handedness); - -} -void node_from_item_pantsst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_constructed; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_constructed(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_pantsst, field_name)); - auto n_subtype = new NodePointer; - n_subtype->m_field_name = field_name; - n_subtype->m_df_type = get_real_subtype(base+offset, DF_Type::itemdef_pantsst); - n_subtype->m_rdf_type = RDF_Type::Pointer; - n_subtype->m_node_type = NodeType::Pointer; - n_subtype->m_addornements = "*"; - n_subtype->m_address = base + offset; - n_subtype->m_parent = p_node_parent; - n_subtype->m_defined_in = "df.item-raws.xml"; - n_subtype->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_subtype); - -} -void node_from_item_siegeammost(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_constructed; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_constructed(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_siegeammost, field_name)); - auto n_subtype = new NodePointer; - n_subtype->m_field_name = field_name; - n_subtype->m_df_type = get_real_subtype(base+offset, DF_Type::itemdef_siegeammost); - n_subtype->m_rdf_type = RDF_Type::Pointer; - n_subtype->m_node_type = NodeType::Pointer; - n_subtype->m_addornements = "*"; - n_subtype->m_address = base + offset; - n_subtype->m_parent = p_node_parent; - n_subtype->m_defined_in = "df.item-raws.xml"; - n_subtype->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_subtype); - - field_name = "sharpness"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_siegeammost, field_name)); - auto n_sharpness = new NodeSimple; - n_sharpness->m_field_name = field_name; - n_sharpness->m_df_type = DF_Type::int32_t; - n_sharpness->m_rdf_type = RDF_Type::int32_t; - n_sharpness->m_node_type = NodeType::Simple; - n_sharpness->m_address = base + offset; - n_sharpness->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sharpness); - -} -void node_from_item_weaponst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_constructed; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_constructed(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_weaponst, field_name)); - auto n_subtype = new NodePointer; - n_subtype->m_field_name = field_name; - n_subtype->m_df_type = get_real_subtype(base+offset, DF_Type::itemdef_weaponst); - n_subtype->m_rdf_type = RDF_Type::Pointer; - n_subtype->m_node_type = NodeType::Pointer; - n_subtype->m_addornements = "*"; - n_subtype->m_address = base + offset; - n_subtype->m_parent = p_node_parent; - n_subtype->m_defined_in = "df.item-raws.xml"; - n_subtype->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_subtype); - - field_name = "sharpness"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_weaponst, field_name)); - auto n_sharpness = new NodeSimple; - n_sharpness->m_field_name = field_name; - n_sharpness->m_df_type = DF_Type::int32_t; - n_sharpness->m_rdf_type = RDF_Type::int32_t; - n_sharpness->m_node_type = NodeType::Simple; - n_sharpness->m_address = base + offset; - n_sharpness->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sharpness); - -} -void node_from_item_ammost(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_constructed; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_constructed(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_ammost, field_name)); - auto n_subtype = new NodePointer; - n_subtype->m_field_name = field_name; - n_subtype->m_df_type = get_real_subtype(base+offset, DF_Type::itemdef_ammost); - n_subtype->m_rdf_type = RDF_Type::Pointer; - n_subtype->m_node_type = NodeType::Pointer; - n_subtype->m_addornements = "*"; - n_subtype->m_address = base + offset; - n_subtype->m_parent = p_node_parent; - n_subtype->m_defined_in = "df.item-raws.xml"; - n_subtype->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_subtype); - - field_name = "sharpness"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_ammost, field_name)); - auto n_sharpness = new NodeSimple; - n_sharpness->m_field_name = field_name; - n_sharpness->m_df_type = DF_Type::int32_t; - n_sharpness->m_rdf_type = RDF_Type::int32_t; - n_sharpness->m_node_type = NodeType::Simple; - n_sharpness->m_address = base + offset; - n_sharpness->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sharpness); - -} -void node_from_item_trapcompst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_constructed; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_constructed(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_trapcompst, field_name)); - auto n_subtype = new NodePointer; - n_subtype->m_field_name = field_name; - n_subtype->m_df_type = get_real_subtype(base+offset, DF_Type::itemdef_trapcompst); - n_subtype->m_rdf_type = RDF_Type::Pointer; - n_subtype->m_node_type = NodeType::Pointer; - n_subtype->m_addornements = "*"; - n_subtype->m_address = base + offset; - n_subtype->m_parent = p_node_parent; - n_subtype->m_defined_in = "df.item-raws.xml"; - n_subtype->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_subtype); - - field_name = "sharpness"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_trapcompst, field_name)); - auto n_sharpness = new NodeSimple; - n_sharpness->m_field_name = field_name; - n_sharpness->m_df_type = DF_Type::int32_t; - n_sharpness->m_rdf_type = RDF_Type::int32_t; - n_sharpness->m_node_type = NodeType::Simple; - n_sharpness->m_address = base + offset; - n_sharpness->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sharpness); - -} -void node_from_item_toolst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_constructed; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_constructed(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_toolst, field_name)); - auto n_subtype = new NodePointer; - n_subtype->m_field_name = field_name; - n_subtype->m_df_type = get_real_subtype(base+offset, DF_Type::itemdef_toolst); - n_subtype->m_rdf_type = RDF_Type::Pointer; - n_subtype->m_node_type = NodeType::Pointer; - n_subtype->m_addornements = "*"; - n_subtype->m_address = base + offset; - n_subtype->m_parent = p_node_parent; - n_subtype->m_defined_in = "df.item-raws.xml"; - n_subtype->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_subtype); - - field_name = "sharpness"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_toolst, field_name)); - auto n_sharpness = new NodeSimple; - n_sharpness->m_field_name = field_name; - n_sharpness->m_df_type = DF_Type::int32_t; - n_sharpness->m_rdf_type = RDF_Type::int32_t; - n_sharpness->m_node_type = NodeType::Simple; - n_sharpness->m_address = base + offset; - n_sharpness->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sharpness); - - field_name = "stockpile"; - auto n_stockpile = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_toolst, field_name)); - n_stockpile->m_field_name = field_name; - n_stockpile->m_df_type = DF_Type::item_stockpile_ref; - n_stockpile->m_rdf_type = RDF_Type::Struct; - n_stockpile->m_node_type = NodeType::Compound; - n_stockpile->m_address = base + offset; - n_stockpile->m_defined_in = "df.items.xml"; - n_stockpile->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_stockpile); - - field_name = "vehicle_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_toolst, field_name)); - auto n_vehicle_id = new NodeSimple; - n_vehicle_id->m_field_name = field_name; - n_vehicle_id->m_df_type = DF_Type::int32_t; - n_vehicle_id->m_rdf_type = RDF_Type::int32_t; - n_vehicle_id->m_node_type = NodeType::Simple; - n_vehicle_id->m_address = base + offset; - n_vehicle_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_vehicle_id); - -} -void node_from_item_barrelst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_constructed; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_constructed(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "stockpile"; - auto n_stockpile = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_barrelst, field_name)); - n_stockpile->m_field_name = field_name; - n_stockpile->m_df_type = DF_Type::item_stockpile_ref; - n_stockpile->m_rdf_type = RDF_Type::Struct; - n_stockpile->m_node_type = NodeType::Compound; - n_stockpile->m_address = base + offset; - n_stockpile->m_defined_in = "df.items.xml"; - n_stockpile->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_stockpile); - -} -void node_from_item_binst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_constructed; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_constructed(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "stockpile"; - auto n_stockpile = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_binst, field_name)); - n_stockpile->m_field_name = field_name; - n_stockpile->m_df_type = DF_Type::item_stockpile_ref; - n_stockpile->m_rdf_type = RDF_Type::Struct; - n_stockpile->m_node_type = NodeType::Compound; - n_stockpile->m_address = base + offset; - n_stockpile->m_defined_in = "df.items.xml"; - n_stockpile->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_stockpile); - -} -void node_from_item_gemst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_constructed; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_constructed(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "shape"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_gemst, field_name)); - auto n_shape = new NodeSimple; - n_shape->m_field_name = field_name; - n_shape->m_df_type = DF_Type::int32_t; - n_shape->m_rdf_type = RDF_Type::int32_t; - n_shape->m_node_type = NodeType::Simple; - n_shape->m_address = base + offset; - n_shape->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_shape); - -} -void node_from_item_statuest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_constructed; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_constructed(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "image"; - auto n_image = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_statuest, field_name)); - n_image->m_field_name = field_name; - n_image->m_df_type = DF_Type::art_image_ref; - n_image->m_rdf_type = RDF_Type::Struct; - n_image->m_node_type = NodeType::Compound; - n_image->m_address = base + offset; - n_image->m_defined_in = "df.art.xml"; - n_image->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_image); - - field_name = "description"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_statuest, field_name)); - auto n_description = new NodeSimple; - n_description->m_field_name = field_name; - n_description->m_df_type = DF_Type::Stl_string; - n_description->m_rdf_type = RDF_Type::Stl_string; - n_description->m_node_type = NodeType::Simple; - n_description->m_address = base + offset; - n_description->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_description); - -} -void node_from_item_figurinest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_constructed; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_constructed(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "image"; - auto n_image = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_figurinest, field_name)); - n_image->m_field_name = field_name; - n_image->m_df_type = DF_Type::art_image_ref; - n_image->m_rdf_type = RDF_Type::Struct; - n_image->m_node_type = NodeType::Compound; - n_image->m_address = base + offset; - n_image->m_defined_in = "df.art.xml"; - n_image->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_image); - - field_name = "description"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_figurinest, field_name)); - auto n_description = new NodeSimple; - n_description->m_field_name = field_name; - n_description->m_df_type = DF_Type::Stl_string; - n_description->m_rdf_type = RDF_Type::Stl_string; - n_description->m_node_type = NodeType::Simple; - n_description->m_address = base + offset; - n_description->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_description); - -} -void node_from_item_slabst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_constructed; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_constructed(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "description"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_slabst, field_name)); - auto n_description = new NodeSimple; - n_description->m_field_name = field_name; - n_description->m_df_type = DF_Type::Stl_string; - n_description->m_rdf_type = RDF_Type::Stl_string; - n_description->m_node_type = NodeType::Simple; - n_description->m_address = base + offset; - n_description->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_description); - - field_name = "topic"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_slabst, field_name)); - auto n_topic = new NodeSimple; - n_topic->m_field_name = field_name; - n_topic->m_df_type = DF_Type::int32_t; - n_topic->m_rdf_type = RDF_Type::int32_t; - n_topic->m_node_type = NodeType::Simple; - n_topic->m_address = base + offset; - n_topic->m_comment = "or interaction id for secrets?"; - n_topic->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_topic); - - field_name = "engraving_type"; - auto n_engraving_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_slabst, field_name)); - n_engraving_type->m_field_name = field_name; - n_engraving_type->m_df_type = DF_Type::slab_engraving_type; - n_engraving_type->m_rdf_type = RDF_Type::Enum; - n_engraving_type->m_node_type = NodeType::Enum; - n_engraving_type->m_base_type = DF_Type::int16_t; - n_engraving_type->m_enum_type = "slab_engraving_type"; - n_engraving_type->m_address = base + offset; - n_engraving_type->m_defined_in = "df.items.xml"; - n_engraving_type->m_first_value = -1; - n_engraving_type->m_last_value = 26; - n_engraving_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_engraving_type); - -} -void node_from_item_orthopedic_castst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_constructed; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_constructed(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "body_part"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_orthopedic_castst, field_name)); - auto n_body_part = new NodeSimple; - n_body_part->m_field_name = field_name; - n_body_part->m_df_type = DF_Type::Stl_string; - n_body_part->m_rdf_type = RDF_Type::Stl_string; - n_body_part->m_node_type = NodeType::Simple; - n_body_part->m_address = base + offset; - n_body_part->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_body_part); - - field_name = "material"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_orthopedic_castst, field_name)); - auto n_material = new NodeSimple; - n_material->m_field_name = field_name; - n_material->m_df_type = DF_Type::Stl_string; - n_material->m_rdf_type = RDF_Type::Stl_string; - n_material->m_node_type = NodeType::Simple; - n_material->m_address = base + offset; - n_material->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_material); - -} -void node_from_item_coinst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_constructed; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_constructed(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "coin_batch"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_coinst, field_name)); - auto n_coin_batch = new NodeSimple; - n_coin_batch->m_field_name = field_name; - n_coin_batch->m_df_type = DF_Type::int16_t; - n_coin_batch->m_rdf_type = RDF_Type::int16_t; - n_coin_batch->m_node_type = NodeType::Simple; - n_coin_batch->m_address = base + offset; - n_coin_batch->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_coin_batch); - -} -void node_from_item_totemst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_constructed; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_constructed(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "race"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_totemst, field_name)); - auto n_race = new NodeSimple; - n_race->m_field_name = field_name; - n_race->m_df_type = DF_Type::int16_t; - n_race->m_rdf_type = RDF_Type::int16_t; - n_race->m_node_type = NodeType::Simple; - n_race->m_address = base + offset; - n_race->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_race); - - field_name = "caste"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_totemst, field_name)); - auto n_caste = new NodeSimple; - n_caste->m_field_name = field_name; - n_caste->m_df_type = DF_Type::int16_t; - n_caste->m_rdf_type = RDF_Type::int16_t; - n_caste->m_node_type = NodeType::Simple; - n_caste->m_address = base + offset; - n_caste->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_caste); - - field_name = "body_part_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_totemst, field_name)); - auto n_body_part_idx = new NodeSimple; - n_body_part_idx->m_field_name = field_name; - n_body_part_idx->m_df_type = DF_Type::int16_t; - n_body_part_idx->m_rdf_type = RDF_Type::int16_t; - n_body_part_idx->m_node_type = NodeType::Simple; - n_body_part_idx->m_address = base + offset; - n_body_part_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_body_part_idx); - -} -void node_from_item_clothst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_constructed; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_constructed(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "dimension"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_clothst, field_name)); - auto n_dimension = new NodeSimple; - n_dimension->m_field_name = field_name; - n_dimension->m_df_type = DF_Type::int32_t; - n_dimension->m_rdf_type = RDF_Type::int32_t; - n_dimension->m_node_type = NodeType::Simple; - n_dimension->m_address = base + offset; - n_dimension->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dimension); - -} -void node_from_item_bookst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_constructed; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_constructed(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "title"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_bookst, field_name)); - auto n_title = new NodeSimple; - n_title->m_field_name = field_name; - n_title->m_df_type = DF_Type::Stl_string; - n_title->m_rdf_type = RDF_Type::Stl_string; - n_title->m_node_type = NodeType::Simple; - n_title->m_address = base + offset; - n_title->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_title); - -} -void node_from_item_ballistaarrowheadst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_ballistaarrowheadst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_ballistaarrowheadst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "sharpness"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_ballistaarrowheadst, field_name)); - auto n_sharpness = new NodeSimple; - n_sharpness->m_field_name = field_name; - n_sharpness->m_df_type = DF_Type::int32_t; - n_sharpness->m_rdf_type = RDF_Type::int32_t; - n_sharpness->m_node_type = NodeType::Simple; - n_sharpness->m_address = base + offset; - n_sharpness->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sharpness); - -} -void node_from_item_sheetst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_constructed; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_constructed(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_sheetst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_sheetst, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - -} -void node_from_job_list_link(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "item"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_list_link, field_name)); - auto n_item = new NodePointer; - n_item->m_field_name = field_name; - n_item->m_df_type = get_real_subtype(base+offset, DF_Type::job); - n_item->m_rdf_type = RDF_Type::Pointer; - n_item->m_node_type = NodeType::Pointer; - n_item->m_addornements = "*"; - n_item->m_address = base + offset; - n_item->m_parent = p_node_parent; - n_item->m_defined_in = "df.jobs.xml"; - n_item->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_item); - - field_name = "prev"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_list_link, field_name)); - auto n_prev = new NodePointer; - n_prev->m_field_name = field_name; - n_prev->m_df_type = get_real_subtype(base+offset, DF_Type::job_list_link); - n_prev->m_rdf_type = RDF_Type::Pointer; - n_prev->m_node_type = NodeType::Pointer; - n_prev->m_addornements = "*"; - n_prev->m_address = base + offset; - n_prev->m_parent = p_node_parent; - n_prev->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_prev); - - field_name = "next"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_list_link, field_name)); - auto n_next = new NodePointer; - n_next->m_field_name = field_name; - n_next->m_df_type = get_real_subtype(base+offset, DF_Type::job_list_link); - n_next->m_rdf_type = RDF_Type::Pointer; - n_next->m_node_type = NodeType::Pointer; - n_next->m_addornements = "*"; - n_next->m_address = base + offset; - n_next->m_parent = p_node_parent; - n_next->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_next); - -} -void node_from_job(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "list_link"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job, field_name)); - auto n_list_link = new NodePointer; - n_list_link->m_field_name = field_name; - n_list_link->m_df_type = get_real_subtype(base+offset, DF_Type::job_list_link); - n_list_link->m_rdf_type = RDF_Type::Pointer; - n_list_link->m_node_type = NodeType::Pointer; - n_list_link->m_addornements = "*"; - n_list_link->m_address = base + offset; - n_list_link->m_parent = p_node_parent; - n_list_link->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_list_link); - - field_name = "posting_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job, field_name)); - auto n_posting_index = new NodeSimple; - n_posting_index->m_field_name = field_name; - n_posting_index->m_df_type = DF_Type::int32_t; - n_posting_index->m_rdf_type = RDF_Type::int32_t; - n_posting_index->m_node_type = NodeType::Simple; - n_posting_index->m_address = base + offset; - n_posting_index->m_comment = "index into world.job_postings"; - n_posting_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_posting_index); - - field_name = "job_type"; - auto n_job_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job, field_name)); - n_job_type->m_field_name = field_name; - n_job_type->m_df_type = DF_Type::job_type; - n_job_type->m_rdf_type = RDF_Type::Enum; - n_job_type->m_node_type = NodeType::Enum; - n_job_type->m_base_type = DF_Type::int16_t; - n_job_type->m_enum_type = "job_type"; - n_job_type->m_address = base + offset; - n_job_type->m_defined_in = "df.job-types.xml"; - n_job_type->m_first_value = -1; - n_job_type->m_last_value = 240; - n_job_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_job_type); - - field_name = "job_subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job, field_name)); - auto n_job_subtype = new NodeSimple; - n_job_subtype->m_field_name = field_name; - n_job_subtype->m_df_type = DF_Type::int32_t; - n_job_subtype->m_rdf_type = RDF_Type::int32_t; - n_job_subtype->m_node_type = NodeType::Simple; - n_job_subtype->m_address = base + offset; - n_job_subtype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_job_subtype); - - field_name = "pos"; - auto n_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job, field_name)); - n_pos->m_field_name = field_name; - n_pos->m_df_type = DF_Type::coord; - n_pos->m_rdf_type = RDF_Type::Struct; - n_pos->m_node_type = NodeType::Compound; - n_pos->m_address = base + offset; - n_pos->m_defined_in = "df.map.xml"; - n_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pos); - - field_name = "completion_timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job, field_name)); - auto n_completion_timer = new NodeSimple; - n_completion_timer->m_field_name = field_name; - n_completion_timer->m_df_type = DF_Type::int32_t; - n_completion_timer->m_rdf_type = RDF_Type::int32_t; - n_completion_timer->m_node_type = NodeType::Simple; - n_completion_timer->m_address = base + offset; - n_completion_timer->m_comment = "-1 every time unit.counters.job_counter is below 0"; - n_completion_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_completion_timer); - - field_name = "unk4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job, field_name)); - auto n_unk4 = new NodeSimple; - n_unk4->m_field_name = field_name; - n_unk4->m_df_type = DF_Type::uint32_t; - n_unk4->m_rdf_type = RDF_Type::uint32_t; - n_unk4->m_node_type = NodeType::Simple; - n_unk4->m_address = base + offset; - n_unk4->m_comment = "garbage, but serialized"; - n_unk4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk4); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::job_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_defined_in = "df.jobs.xml"; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "unk5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job, field_name)); - auto n_unk5 = new NodeSimple; - n_unk5->m_field_name = field_name; - n_unk5->m_df_type = DF_Type::int16_t; - n_unk5->m_rdf_type = RDF_Type::int16_t; - n_unk5->m_node_type = NodeType::Simple; - n_unk5->m_address = base + offset; - n_unk5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk5); - - field_name = "item_type"; - auto n_item_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job, field_name)); - n_item_type->m_field_name = field_name; - n_item_type->m_df_type = DF_Type::item_type; - n_item_type->m_rdf_type = RDF_Type::Enum; - n_item_type->m_node_type = NodeType::Enum; - n_item_type->m_base_type = DF_Type::int16_t; - n_item_type->m_enum_type = "item_type"; - n_item_type->m_address = base + offset; - n_item_type->m_comment = "for Bait Trap jobs"; - n_item_type->m_defined_in = "df.item-raws.xml"; - n_item_type->m_first_value = -1; - n_item_type->m_last_value = 90; - n_item_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_type); - - field_name = "item_subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job, field_name)); - auto n_item_subtype = new NodeSimple; - n_item_subtype->m_field_name = field_name; - n_item_subtype->m_df_type = DF_Type::int16_t; - n_item_subtype->m_rdf_type = RDF_Type::int16_t; - n_item_subtype->m_node_type = NodeType::Simple; - n_item_subtype->m_address = base + offset; - n_item_subtype->m_comment = "for StoreInStockpile: hauler_type"; - n_item_subtype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_subtype); - - field_name = "item_category"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job, field_name)); - auto n_item_category = new NodeBitfield; - n_item_category->m_field_name = field_name; - n_item_category->m_df_type = DF_Type::stockpile_group_set; - n_item_category->m_rdf_type = RDF_Type::Bitfield; - n_item_category->m_node_type = NodeType::Bitfield; - n_item_category->m_address = base + offset; - n_item_category->m_defined_in = "df.stockpile.xml"; - n_item_category->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_category); - - field_name = "hist_figure_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job, field_name)); - auto n_hist_figure_id = new NodeSimple; - n_hist_figure_id->m_field_name = field_name; - n_hist_figure_id->m_df_type = DF_Type::int32_t; - n_hist_figure_id->m_rdf_type = RDF_Type::int32_t; - n_hist_figure_id->m_node_type = NodeType::Simple; - n_hist_figure_id->m_address = base + offset; - n_hist_figure_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_hist_figure_id); - - field_name = "material_category"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job, field_name)); - auto n_material_category = new NodeBitfield; - n_material_category->m_field_name = field_name; - n_material_category->m_df_type = DF_Type::job_material_category; - n_material_category->m_rdf_type = RDF_Type::Bitfield; - n_material_category->m_node_type = NodeType::Bitfield; - n_material_category->m_address = base + offset; - n_material_category->m_defined_in = "df.jobs.xml"; - n_material_category->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_material_category); - - field_name = "reaction_name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job, field_name)); - auto n_reaction_name = new NodeSimple; - n_reaction_name->m_field_name = field_name; - n_reaction_name->m_df_type = DF_Type::Stl_string; - n_reaction_name->m_rdf_type = RDF_Type::Stl_string; - n_reaction_name->m_node_type = NodeType::Simple; - n_reaction_name->m_address = base + offset; - n_reaction_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_reaction_name); - - field_name = "expire_timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job, field_name)); - auto n_expire_timer = new NodeSimple; - n_expire_timer->m_field_name = field_name; - n_expire_timer->m_df_type = DF_Type::int32_t; - n_expire_timer->m_rdf_type = RDF_Type::int32_t; - n_expire_timer->m_node_type = NodeType::Simple; - n_expire_timer->m_address = base + offset; - n_expire_timer->m_comment = "for stockpiling, +1 per 50 ticks if no worker; del when 20"; - n_expire_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_expire_timer); - - field_name = "recheck_cntdn"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job, field_name)); - auto n_recheck_cntdn = new NodeSimple; - n_recheck_cntdn->m_field_name = field_name; - n_recheck_cntdn->m_df_type = DF_Type::int16_t; - n_recheck_cntdn->m_rdf_type = RDF_Type::int16_t; - n_recheck_cntdn->m_node_type = NodeType::Simple; - n_recheck_cntdn->m_address = base + offset; - n_recheck_cntdn->m_comment = "for process_jobs"; - n_recheck_cntdn->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_recheck_cntdn); - - field_name = "wait_timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job, field_name)); - auto n_wait_timer = new NodeSimple; - n_wait_timer->m_field_name = field_name; - n_wait_timer->m_df_type = DF_Type::int16_t; - n_wait_timer->m_rdf_type = RDF_Type::int16_t; - n_wait_timer->m_node_type = NodeType::Simple; - n_wait_timer->m_address = base + offset; - n_wait_timer->m_comment = "for units to leave build sites; to recheck stockpiles"; - n_wait_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_wait_timer); - - field_name = "unk11"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job, field_name)); - auto n_unk11 = new NodeSimple; - n_unk11->m_field_name = field_name; - n_unk11->m_df_type = DF_Type::int32_t; - n_unk11->m_rdf_type = RDF_Type::int32_t; - n_unk11->m_node_type = NodeType::Simple; - n_unk11->m_address = base + offset; - n_unk11->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk11); - - field_name = "items"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job, field_name)); - auto n_items = new NodeVector; - n_items->m_field_name = field_name; - n_items->m_df_type = DF_Type::job_item_ref; - n_items->m_rdf_type = RDF_Type::Vector; - n_items->m_node_type = NodeType::Vector; - n_items->m_defined_in = "df.jobs.xml"; - n_items->m_addornements = "v*"; - n_items->m_address = base + offset; - n_items->m_parent = p_node_parent; - n_items->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_items); - - field_name = "specific_refs"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job, field_name)); - auto n_specific_refs = new NodeVector; - n_specific_refs->m_field_name = field_name; - n_specific_refs->m_df_type = DF_Type::specific_ref; - n_specific_refs->m_rdf_type = RDF_Type::Vector; - n_specific_refs->m_node_type = NodeType::Vector; - n_specific_refs->m_defined_in = "df.refs.xml"; - n_specific_refs->m_addornements = "v*"; - n_specific_refs->m_address = base + offset; - n_specific_refs->m_parent = p_node_parent; - n_specific_refs->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_specific_refs); - - field_name = "general_refs"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job, field_name)); - auto n_general_refs = new NodeVector; - n_general_refs->m_field_name = field_name; - n_general_refs->m_df_type = DF_Type::general_ref; - n_general_refs->m_rdf_type = RDF_Type::Vector; - n_general_refs->m_node_type = NodeType::Vector; - n_general_refs->m_defined_in = "df.refs.xml"; - n_general_refs->m_addornements = "v*"; - n_general_refs->m_address = base + offset; - n_general_refs->m_parent = p_node_parent; - n_general_refs->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_general_refs); - - field_name = "job_items"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job, field_name)); - auto n_job_items = new NodeVector; - n_job_items->m_field_name = field_name; - n_job_items->m_df_type = DF_Type::job_item; - n_job_items->m_rdf_type = RDF_Type::Vector; - n_job_items->m_node_type = NodeType::Vector; - n_job_items->m_defined_in = "df.jobs.xml"; - n_job_items->m_addornements = "v*"; - n_job_items->m_address = base + offset; - n_job_items->m_parent = p_node_parent; - n_job_items->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_job_items); - - field_name = "guide_path"; - auto n_guide_path = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job, field_name)); - n_guide_path->m_field_name = field_name; - n_guide_path->m_df_type = DF_Type::coord_path; - n_guide_path->m_rdf_type = RDF_Type::Struct; - n_guide_path->m_node_type = NodeType::Compound; - n_guide_path->m_address = base + offset; - n_guide_path->m_defined_in = "df.map.xml"; - n_guide_path->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_guide_path); - - field_name = "cur_path_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job, field_name)); - auto n_cur_path_index = new NodeSimple; - n_cur_path_index->m_field_name = field_name; - n_cur_path_index->m_df_type = DF_Type::int32_t; - n_cur_path_index->m_rdf_type = RDF_Type::int32_t; - n_cur_path_index->m_node_type = NodeType::Simple; - n_cur_path_index->m_address = base + offset; - n_cur_path_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cur_path_index); - - field_name = "unk_v4020_2"; - auto n_unk_v4020_2 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job, field_name)); - n_unk_v4020_2->m_field_name = field_name; - n_unk_v4020_2->m_df_type = DF_Type::coord; - n_unk_v4020_2->m_rdf_type = RDF_Type::Struct; - n_unk_v4020_2->m_node_type = NodeType::Compound; - n_unk_v4020_2->m_address = base + offset; - n_unk_v4020_2->m_defined_in = "df.map.xml"; - n_unk_v4020_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v4020_2); - - field_name = "art_spec"; - auto n_art_spec = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job, field_name)); - n_art_spec->m_field_name = field_name; - n_art_spec->m_df_type = DF_Type::job_art_specification; - n_art_spec->m_rdf_type = RDF_Type::Struct; - n_art_spec->m_node_type = NodeType::Compound; - n_art_spec->m_address = base + offset; - n_art_spec->m_defined_in = "df.jobs.xml"; - n_art_spec->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_art_spec); - - field_name = "unk_v43_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job, field_name)); - auto n_unk_v43_4 = new NodeSimple; - n_unk_v43_4->m_field_name = field_name; - n_unk_v43_4->m_df_type = DF_Type::int32_t; - n_unk_v43_4->m_rdf_type = RDF_Type::int32_t; - n_unk_v43_4->m_node_type = NodeType::Simple; - n_unk_v43_4->m_address = base + offset; - n_unk_v43_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v43_4); - -} -void node_from_job_item_ref(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "item"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_ref, field_name)); - auto n_item = new NodePointer; - n_item->m_field_name = field_name; - n_item->m_df_type = get_real_subtype(base+offset, DF_Type::item); - n_item->m_rdf_type = RDF_Type::Pointer; - n_item->m_node_type = NodeType::Pointer; - n_item->m_addornements = "*"; - n_item->m_address = base + offset; - n_item->m_parent = p_node_parent; - n_item->m_defined_in = "df.items.xml"; - n_item->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_item); - - field_name = "role"; - auto n_role = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_ref, field_name)); - n_role->m_field_name = field_name; - n_role->m_df_type = DF_Type::job_item_ref__T_role; - n_role->m_rdf_type = RDF_Type::Enum; - n_role->m_node_type = NodeType::Enum; - n_role->m_base_type = DF_Type::int32_t; - n_role->m_enum_type = "job_item_ref::T_role"; - n_role->m_address = base + offset; - n_role->m_first_value = 0; - n_role->m_last_value = 8; - n_role->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_role); - - field_name = "is_fetching"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_ref, field_name)); - auto n_is_fetching = new NodeSimple; - n_is_fetching->m_field_name = field_name; - n_is_fetching->m_df_type = DF_Type::int32_t; - n_is_fetching->m_rdf_type = RDF_Type::int32_t; - n_is_fetching->m_node_type = NodeType::Simple; - n_is_fetching->m_address = base + offset; - n_is_fetching->m_comment = "0 immediately once taken to be brought"; - n_is_fetching->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_is_fetching); - - field_name = "job_item_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_ref, field_name)); - auto n_job_item_idx = new NodeSimple; - n_job_item_idx->m_field_name = field_name; - n_job_item_idx->m_df_type = DF_Type::int32_t; - n_job_item_idx->m_rdf_type = RDF_Type::int32_t; - n_job_item_idx->m_node_type = NodeType::Simple; - n_job_item_idx->m_address = base + offset; - n_job_item_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_job_item_idx); - -} -void node_from_job_item(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "item_type"; - auto n_item_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item, field_name)); - n_item_type->m_field_name = field_name; - n_item_type->m_df_type = DF_Type::item_type; - n_item_type->m_rdf_type = RDF_Type::Enum; - n_item_type->m_node_type = NodeType::Enum; - n_item_type->m_base_type = DF_Type::int16_t; - n_item_type->m_enum_type = "item_type"; - n_item_type->m_address = base + offset; - n_item_type->m_defined_in = "df.item-raws.xml"; - n_item_type->m_first_value = -1; - n_item_type->m_last_value = 90; - n_item_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_type); - - field_name = "item_subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item, field_name)); - auto n_item_subtype = new NodeSimple; - n_item_subtype->m_field_name = field_name; - n_item_subtype->m_df_type = DF_Type::int16_t; - n_item_subtype->m_rdf_type = RDF_Type::int16_t; - n_item_subtype->m_node_type = NodeType::Simple; - n_item_subtype->m_address = base + offset; - n_item_subtype->m_refers_to = "(item-subtype-target $$._parent.item_type $)"; - n_item_subtype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_subtype); - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "flags1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item, field_name)); - auto n_flags1 = new NodeBitfield; - n_flags1->m_field_name = field_name; - n_flags1->m_df_type = DF_Type::job_item_flags1; - n_flags1->m_rdf_type = RDF_Type::Bitfield; - n_flags1->m_node_type = NodeType::Bitfield; - n_flags1->m_address = base + offset; - n_flags1->m_defined_in = "df.jobs.xml"; - n_flags1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags1); - - field_name = "quantity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item, field_name)); - auto n_quantity = new NodeSimple; - n_quantity->m_field_name = field_name; - n_quantity->m_df_type = DF_Type::int32_t; - n_quantity->m_rdf_type = RDF_Type::int32_t; - n_quantity->m_node_type = NodeType::Simple; - n_quantity->m_address = base + offset; - n_quantity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_quantity); - - field_name = "vector_id"; - auto n_vector_id = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item, field_name)); - n_vector_id->m_field_name = field_name; - n_vector_id->m_df_type = DF_Type::job_item_vector_id; - n_vector_id->m_rdf_type = RDF_Type::Enum; - n_vector_id->m_node_type = NodeType::Enum; - n_vector_id->m_base_type = DF_Type::int16_t; - n_vector_id->m_enum_type = "job_item_vector_id"; - n_vector_id->m_address = base + offset; - n_vector_id->m_defined_in = "df.item-vectors.xml"; - n_vector_id->m_first_value = 0; - n_vector_id->m_last_value = 129; - n_vector_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_vector_id); - - field_name = "flags2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item, field_name)); - auto n_flags2 = new NodeBitfield; - n_flags2->m_field_name = field_name; - n_flags2->m_df_type = DF_Type::job_item_flags2; - n_flags2->m_rdf_type = RDF_Type::Bitfield; - n_flags2->m_node_type = NodeType::Bitfield; - n_flags2->m_address = base + offset; - n_flags2->m_defined_in = "df.jobs.xml"; - n_flags2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags2); - - field_name = "flags3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item, field_name)); - auto n_flags3 = new NodeBitfield; - n_flags3->m_field_name = field_name; - n_flags3->m_df_type = DF_Type::job_item_flags3; - n_flags3->m_rdf_type = RDF_Type::Bitfield; - n_flags3->m_node_type = NodeType::Bitfield; - n_flags3->m_address = base + offset; - n_flags3->m_defined_in = "df.jobs.xml"; - n_flags3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags3); - - field_name = "flags4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item, field_name)); - auto n_flags4 = new NodeSimple; - n_flags4->m_field_name = field_name; - n_flags4->m_df_type = DF_Type::uint32_t; - n_flags4->m_rdf_type = RDF_Type::uint32_t; - n_flags4->m_node_type = NodeType::Simple; - n_flags4->m_address = base + offset; - n_flags4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags4); - - field_name = "flags5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item, field_name)); - auto n_flags5 = new NodeSimple; - n_flags5->m_field_name = field_name; - n_flags5->m_df_type = DF_Type::uint32_t; - n_flags5->m_rdf_type = RDF_Type::uint32_t; - n_flags5->m_node_type = NodeType::Simple; - n_flags5->m_address = base + offset; - n_flags5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags5); - - field_name = "metal_ore"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item, field_name)); - auto n_metal_ore = new NodeSimple; - n_metal_ore->m_field_name = field_name; - n_metal_ore->m_df_type = DF_Type::int32_t; - n_metal_ore->m_rdf_type = RDF_Type::int32_t; - n_metal_ore->m_node_type = NodeType::Simple; - n_metal_ore->m_address = base + offset; - n_metal_ore->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_metal_ore); - - field_name = "reaction_class"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item, field_name)); - auto n_reaction_class = new NodeSimple; - n_reaction_class->m_field_name = field_name; - n_reaction_class->m_df_type = DF_Type::Stl_string; - n_reaction_class->m_rdf_type = RDF_Type::Stl_string; - n_reaction_class->m_node_type = NodeType::Simple; - n_reaction_class->m_address = base + offset; - n_reaction_class->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_reaction_class); - - field_name = "has_material_reaction_product"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item, field_name)); - auto n_has_material_reaction_product = new NodeSimple; - n_has_material_reaction_product->m_field_name = field_name; - n_has_material_reaction_product->m_df_type = DF_Type::Stl_string; - n_has_material_reaction_product->m_rdf_type = RDF_Type::Stl_string; - n_has_material_reaction_product->m_node_type = NodeType::Simple; - n_has_material_reaction_product->m_address = base + offset; - n_has_material_reaction_product->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_has_material_reaction_product); - - field_name = "min_dimension"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item, field_name)); - auto n_min_dimension = new NodeSimple; - n_min_dimension->m_field_name = field_name; - n_min_dimension->m_df_type = DF_Type::int32_t; - n_min_dimension->m_rdf_type = RDF_Type::int32_t; - n_min_dimension->m_node_type = NodeType::Simple; - n_min_dimension->m_address = base + offset; - n_min_dimension->m_comment = "pure guess by context"; - n_min_dimension->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_min_dimension); - - field_name = "reagent_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item, field_name)); - auto n_reagent_index = new NodeSimple; - n_reagent_index->m_field_name = field_name; - n_reagent_index->m_df_type = DF_Type::int32_t; - n_reagent_index->m_rdf_type = RDF_Type::int32_t; - n_reagent_index->m_node_type = NodeType::Simple; - n_reagent_index->m_address = base + offset; - n_reagent_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_reagent_index); - - field_name = "contains"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item, field_name)); - auto n_contains = new NodeVector; - n_contains->m_field_name = field_name; - n_contains->m_df_type = DF_Type::int32_t; - n_contains->m_rdf_type = RDF_Type::Vector; - n_contains->m_node_type = NodeType::Vector; - n_contains->m_addornements = "v"; - n_contains->m_address = base + offset; - n_contains->m_comment = "used with custom reactions"; - n_contains->m_parent = p_node_parent; - n_contains->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_contains); - - field_name = "reaction_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item, field_name)); - auto n_reaction_id = new NodeSimple; - n_reaction_id->m_field_name = field_name; - n_reaction_id->m_df_type = DF_Type::int32_t; - n_reaction_id->m_rdf_type = RDF_Type::int32_t; - n_reaction_id->m_node_type = NodeType::Simple; - n_reaction_id->m_address = base + offset; - n_reaction_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_reaction_id); - - field_name = "has_tool_use"; - auto n_has_tool_use = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item, field_name)); - n_has_tool_use->m_field_name = field_name; - n_has_tool_use->m_df_type = DF_Type::tool_uses; - n_has_tool_use->m_rdf_type = RDF_Type::Enum; - n_has_tool_use->m_node_type = NodeType::Enum; - n_has_tool_use->m_base_type = DF_Type::int16_t; - n_has_tool_use->m_enum_type = "tool_uses"; - n_has_tool_use->m_address = base + offset; - n_has_tool_use->m_defined_in = "df.item-raws.xml"; - n_has_tool_use->m_first_value = -1; - n_has_tool_use->m_last_value = 22; - n_has_tool_use->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_has_tool_use); - - field_name = "unk_v43_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item, field_name)); - auto n_unk_v43_1 = new NodeSimple; - n_unk_v43_1->m_field_name = field_name; - n_unk_v43_1->m_df_type = DF_Type::int32_t; - n_unk_v43_1->m_rdf_type = RDF_Type::int32_t; - n_unk_v43_1->m_node_type = NodeType::Simple; - n_unk_v43_1->m_address = base + offset; - n_unk_v43_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v43_1); - - field_name = "unk_v43_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item, field_name)); - auto n_unk_v43_2 = new NodeSimple; - n_unk_v43_2->m_field_name = field_name; - n_unk_v43_2->m_df_type = DF_Type::int16_t; - n_unk_v43_2->m_rdf_type = RDF_Type::int16_t; - n_unk_v43_2->m_node_type = NodeType::Simple; - n_unk_v43_2->m_address = base + offset; - n_unk_v43_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v43_2); - - field_name = "unk_v43_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item, field_name)); - auto n_unk_v43_3 = new NodeSimple; - n_unk_v43_3->m_field_name = field_name; - n_unk_v43_3->m_df_type = DF_Type::int32_t; - n_unk_v43_3->m_rdf_type = RDF_Type::int32_t; - n_unk_v43_3->m_node_type = NodeType::Simple; - n_unk_v43_3->m_address = base + offset; - n_unk_v43_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v43_3); - - field_name = "unk_v43_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item, field_name)); - auto n_unk_v43_4 = new NodeSimple; - n_unk_v43_4->m_field_name = field_name; - n_unk_v43_4->m_df_type = DF_Type::int32_t; - n_unk_v43_4->m_rdf_type = RDF_Type::int32_t; - n_unk_v43_4->m_node_type = NodeType::Simple; - n_unk_v43_4->m_address = base + offset; - n_unk_v43_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v43_4); - -} -void node_from_job_item_filter(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "item_type"; - auto n_item_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); - n_item_type->m_field_name = field_name; - n_item_type->m_df_type = DF_Type::item_type; - n_item_type->m_rdf_type = RDF_Type::Enum; - n_item_type->m_node_type = NodeType::Enum; - n_item_type->m_base_type = DF_Type::int16_t; - n_item_type->m_enum_type = "item_type"; - n_item_type->m_address = base + offset; - n_item_type->m_defined_in = "df.item-raws.xml"; - n_item_type->m_first_value = -1; - n_item_type->m_last_value = 90; - n_item_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_type); - - field_name = "item_subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); - auto n_item_subtype = new NodeSimple; - n_item_subtype->m_field_name = field_name; - n_item_subtype->m_df_type = DF_Type::int16_t; - n_item_subtype->m_rdf_type = RDF_Type::int16_t; - n_item_subtype->m_node_type = NodeType::Simple; - n_item_subtype->m_address = base + offset; - n_item_subtype->m_refers_to = "(item-subtype-target $$._parent.item_type $)"; - n_item_subtype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_subtype); - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "flags1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); - auto n_flags1 = new NodeBitfield; - n_flags1->m_field_name = field_name; - n_flags1->m_df_type = DF_Type::job_item_flags1; - n_flags1->m_rdf_type = RDF_Type::Bitfield; - n_flags1->m_node_type = NodeType::Bitfield; - n_flags1->m_address = base + offset; - n_flags1->m_defined_in = "df.jobs.xml"; - n_flags1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags1); - - field_name = "item_vector"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); - auto n_item_vector = new NodePointer; - n_item_vector->m_field_name = field_name; - n_item_vector->m_df_type = get_real_subtype(base+offset, DF_Type::item); - n_item_vector->m_rdf_type = RDF_Type::Pointer; - n_item_vector->m_node_type = NodeType::Pointer; - n_item_vector->m_addornements = "*v*"; - n_item_vector->m_address = base + offset; - n_item_vector->m_parent = p_node_parent; - n_item_vector->m_defined_in = "df.items.xml"; - n_item_vector->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_item_vector); - - field_name = "use_mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); - auto n_use_mat_index = new NodeSimple; - n_use_mat_index->m_field_name = field_name; - n_use_mat_index->m_df_type = DF_Type::Bool; - n_use_mat_index->m_rdf_type = RDF_Type::Bool; - n_use_mat_index->m_node_type = NodeType::Simple; - n_use_mat_index->m_address = base + offset; - n_use_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_use_mat_index); - - field_name = "flags2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); - auto n_flags2 = new NodeBitfield; - n_flags2->m_field_name = field_name; - n_flags2->m_df_type = DF_Type::job_item_flags2; - n_flags2->m_rdf_type = RDF_Type::Bitfield; - n_flags2->m_node_type = NodeType::Bitfield; - n_flags2->m_address = base + offset; - n_flags2->m_defined_in = "df.jobs.xml"; - n_flags2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags2); - - field_name = "use_flags2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); - auto n_use_flags2 = new NodeSimple; - n_use_flags2->m_field_name = field_name; - n_use_flags2->m_df_type = DF_Type::Bool; - n_use_flags2->m_rdf_type = RDF_Type::Bool; - n_use_flags2->m_node_type = NodeType::Simple; - n_use_flags2->m_address = base + offset; - n_use_flags2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_use_flags2); - - field_name = "flags3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); - auto n_flags3 = new NodeBitfield; - n_flags3->m_field_name = field_name; - n_flags3->m_df_type = DF_Type::job_item_flags3; - n_flags3->m_rdf_type = RDF_Type::Bitfield; - n_flags3->m_node_type = NodeType::Bitfield; - n_flags3->m_address = base + offset; - n_flags3->m_defined_in = "df.jobs.xml"; - n_flags3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags3); - - field_name = "use_flags3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); - auto n_use_flags3 = new NodeSimple; - n_use_flags3->m_field_name = field_name; - n_use_flags3->m_df_type = DF_Type::Bool; - n_use_flags3->m_rdf_type = RDF_Type::Bool; - n_use_flags3->m_node_type = NodeType::Simple; - n_use_flags3->m_address = base + offset; - n_use_flags3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_use_flags3); - - field_name = "flags4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); - auto n_flags4 = new NodeSimple; - n_flags4->m_field_name = field_name; - n_flags4->m_df_type = DF_Type::uint32_t; - n_flags4->m_rdf_type = RDF_Type::uint32_t; - n_flags4->m_node_type = NodeType::Simple; - n_flags4->m_address = base + offset; - n_flags4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags4); - - field_name = "use_flags4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); - auto n_use_flags4 = new NodeSimple; - n_use_flags4->m_field_name = field_name; - n_use_flags4->m_df_type = DF_Type::Bool; - n_use_flags4->m_rdf_type = RDF_Type::Bool; - n_use_flags4->m_node_type = NodeType::Simple; - n_use_flags4->m_address = base + offset; - n_use_flags4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_use_flags4); - - field_name = "flags5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); - auto n_flags5 = new NodeSimple; - n_flags5->m_field_name = field_name; - n_flags5->m_df_type = DF_Type::uint32_t; - n_flags5->m_rdf_type = RDF_Type::uint32_t; - n_flags5->m_node_type = NodeType::Simple; - n_flags5->m_address = base + offset; - n_flags5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags5); - - field_name = "use_flags5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); - auto n_use_flags5 = new NodeSimple; - n_use_flags5->m_field_name = field_name; - n_use_flags5->m_df_type = DF_Type::Bool; - n_use_flags5->m_rdf_type = RDF_Type::Bool; - n_use_flags5->m_node_type = NodeType::Simple; - n_use_flags5->m_address = base + offset; - n_use_flags5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_use_flags5); - - field_name = "reaction_class"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); - auto n_reaction_class = new NodeSimple; - n_reaction_class->m_field_name = field_name; - n_reaction_class->m_df_type = DF_Type::Stl_string; - n_reaction_class->m_rdf_type = RDF_Type::Stl_string; - n_reaction_class->m_node_type = NodeType::Simple; - n_reaction_class->m_address = base + offset; - n_reaction_class->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_reaction_class); - - field_name = "has_material_reaction_product"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); - auto n_has_material_reaction_product = new NodeSimple; - n_has_material_reaction_product->m_field_name = field_name; - n_has_material_reaction_product->m_df_type = DF_Type::Stl_string; - n_has_material_reaction_product->m_rdf_type = RDF_Type::Stl_string; - n_has_material_reaction_product->m_node_type = NodeType::Simple; - n_has_material_reaction_product->m_address = base + offset; - n_has_material_reaction_product->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_has_material_reaction_product); - - field_name = "metal_ore"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); - auto n_metal_ore = new NodeSimple; - n_metal_ore->m_field_name = field_name; - n_metal_ore->m_df_type = DF_Type::int32_t; - n_metal_ore->m_rdf_type = RDF_Type::int32_t; - n_metal_ore->m_node_type = NodeType::Simple; - n_metal_ore->m_address = base + offset; - n_metal_ore->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_metal_ore); - - field_name = "use_metal_ore"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); - auto n_use_metal_ore = new NodeSimple; - n_use_metal_ore->m_field_name = field_name; - n_use_metal_ore->m_df_type = DF_Type::Bool; - n_use_metal_ore->m_rdf_type = RDF_Type::Bool; - n_use_metal_ore->m_node_type = NodeType::Simple; - n_use_metal_ore->m_address = base + offset; - n_use_metal_ore->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_use_metal_ore); - - field_name = "use_reaction_class"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); - auto n_use_reaction_class = new NodeSimple; - n_use_reaction_class->m_field_name = field_name; - n_use_reaction_class->m_df_type = DF_Type::Bool; - n_use_reaction_class->m_rdf_type = RDF_Type::Bool; - n_use_reaction_class->m_node_type = NodeType::Simple; - n_use_reaction_class->m_address = base + offset; - n_use_reaction_class->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_use_reaction_class); - - field_name = "use_reaction_product"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); - auto n_use_reaction_product = new NodeSimple; - n_use_reaction_product->m_field_name = field_name; - n_use_reaction_product->m_df_type = DF_Type::Bool; - n_use_reaction_product->m_rdf_type = RDF_Type::Bool; - n_use_reaction_product->m_node_type = NodeType::Simple; - n_use_reaction_product->m_address = base + offset; - n_use_reaction_product->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_use_reaction_product); - - field_name = "min_dimension"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); - auto n_min_dimension = new NodeSimple; - n_min_dimension->m_field_name = field_name; - n_min_dimension->m_df_type = DF_Type::int32_t; - n_min_dimension->m_rdf_type = RDF_Type::int32_t; - n_min_dimension->m_node_type = NodeType::Simple; - n_min_dimension->m_address = base + offset; - n_min_dimension->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_min_dimension); - - field_name = "reaction_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); - auto n_reaction_id = new NodeSimple; - n_reaction_id->m_field_name = field_name; - n_reaction_id->m_df_type = DF_Type::int32_t; - n_reaction_id->m_rdf_type = RDF_Type::int32_t; - n_reaction_id->m_node_type = NodeType::Simple; - n_reaction_id->m_address = base + offset; - n_reaction_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_reaction_id); - - field_name = "contains"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); - auto n_contains = new NodeVector; - n_contains->m_field_name = field_name; - n_contains->m_df_type = DF_Type::int32_t; - n_contains->m_rdf_type = RDF_Type::Vector; - n_contains->m_node_type = NodeType::Vector; - n_contains->m_addornements = "v"; - n_contains->m_address = base + offset; - n_contains->m_parent = p_node_parent; - n_contains->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_contains); - - field_name = "use_contains"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); - auto n_use_contains = new NodeSimple; - n_use_contains->m_field_name = field_name; - n_use_contains->m_df_type = DF_Type::Bool; - n_use_contains->m_rdf_type = RDF_Type::Bool; - n_use_contains->m_node_type = NodeType::Simple; - n_use_contains->m_address = base + offset; - n_use_contains->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_use_contains); - - field_name = "has_tool_use"; - auto n_has_tool_use = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); - n_has_tool_use->m_field_name = field_name; - n_has_tool_use->m_df_type = DF_Type::tool_uses; - n_has_tool_use->m_rdf_type = RDF_Type::Enum; - n_has_tool_use->m_node_type = NodeType::Enum; - n_has_tool_use->m_base_type = DF_Type::int16_t; - n_has_tool_use->m_enum_type = "tool_uses"; - n_has_tool_use->m_address = base + offset; - n_has_tool_use->m_defined_in = "df.item-raws.xml"; - n_has_tool_use->m_first_value = -1; - n_has_tool_use->m_last_value = 22; - n_has_tool_use->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_has_tool_use); - - field_name = "has_melee_skill"; - auto n_has_melee_skill = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); - n_has_melee_skill->m_field_name = field_name; - n_has_melee_skill->m_df_type = DF_Type::job_skill; - n_has_melee_skill->m_rdf_type = RDF_Type::Enum; - n_has_melee_skill->m_node_type = NodeType::Enum; - n_has_melee_skill->m_base_type = DF_Type::int16_t; - n_has_melee_skill->m_enum_type = "job_skill"; - n_has_melee_skill->m_address = base + offset; - n_has_melee_skill->m_defined_in = "df.skills.xml"; - n_has_melee_skill->m_first_value = -1; - n_has_melee_skill->m_last_value = 134; - n_has_melee_skill->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_has_melee_skill); - - field_name = "unk_v40_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); - auto n_unk_v40_1 = new NodeSimple; - n_unk_v40_1->m_field_name = field_name; - n_unk_v40_1->m_df_type = DF_Type::int8_t; - n_unk_v40_1->m_rdf_type = RDF_Type::int8_t; - n_unk_v40_1->m_node_type = NodeType::Simple; - n_unk_v40_1->m_address = base + offset; - n_unk_v40_1->m_comment = "noticed in v0.40.24"; - n_unk_v40_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_1); - - field_name = "pos"; - auto n_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); - n_pos->m_field_name = field_name; - n_pos->m_df_type = DF_Type::coord; - n_pos->m_rdf_type = RDF_Type::Struct; - n_pos->m_node_type = NodeType::Compound; - n_pos->m_address = base + offset; - n_pos->m_defined_in = "df.map.xml"; - n_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pos); - - field_name = "unit"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); - auto n_unit = new NodePointer; - n_unit->m_field_name = field_name; - n_unit->m_df_type = get_real_subtype(base+offset, DF_Type::unit); - n_unit->m_rdf_type = RDF_Type::Pointer; - n_unit->m_node_type = NodeType::Pointer; - n_unit->m_addornements = "*"; - n_unit->m_address = base + offset; - n_unit->m_parent = p_node_parent; - n_unit->m_defined_in = "df.units.xml"; - n_unit->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unit); - - field_name = "job"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); - auto n_job = new NodePointer; - n_job->m_field_name = field_name; - n_job->m_df_type = get_real_subtype(base+offset, DF_Type::job); - n_job->m_rdf_type = RDF_Type::Pointer; - n_job->m_node_type = NodeType::Pointer; - n_job->m_addornements = "*"; - n_job->m_address = base + offset; - n_job->m_parent = p_node_parent; - n_job->m_defined_in = "df.jobs.xml"; - n_job->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_job); - - field_name = "building"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); - auto n_building = new NodePointer; - n_building->m_field_name = field_name; - n_building->m_df_type = get_real_subtype(base+offset, DF_Type::building); - n_building->m_rdf_type = RDF_Type::Pointer; - n_building->m_node_type = NodeType::Pointer; - n_building->m_addornements = "*"; - n_building->m_address = base + offset; - n_building->m_parent = p_node_parent; - n_building->m_defined_in = "df.buildings.xml"; - n_building->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_building); - - field_name = "unk_74"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); - auto n_unk_74 = new NodePointer; - n_unk_74->m_field_name = field_name; - n_unk_74->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_unk_74->m_rdf_type = RDF_Type::Pointer; - n_unk_74->m_node_type = NodeType::Pointer; - n_unk_74->m_addornements = "*"; - n_unk_74->m_address = base + offset; - n_unk_74->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_74); - - field_name = "unk_v4305_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); - auto n_unk_v4305_1 = new NodeSimple; - n_unk_v4305_1->m_field_name = field_name; - n_unk_v4305_1->m_df_type = DF_Type::int32_t; - n_unk_v4305_1->m_rdf_type = RDF_Type::int32_t; - n_unk_v4305_1->m_node_type = NodeType::Simple; - n_unk_v4305_1->m_address = base + offset; - n_unk_v4305_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v4305_1); - - field_name = "burrows"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); - auto n_burrows = new NodeVector; - n_burrows->m_field_name = field_name; - n_burrows->m_df_type = DF_Type::int32_t; - n_burrows->m_rdf_type = RDF_Type::Vector; - n_burrows->m_node_type = NodeType::Vector; - n_burrows->m_addornements = "v"; - n_burrows->m_address = base + offset; - n_burrows->m_parent = p_node_parent; - n_burrows->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_burrows); - - field_name = "use_burrows"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); - auto n_use_burrows = new NodeSimple; - n_use_burrows->m_field_name = field_name; - n_use_burrows->m_df_type = DF_Type::Bool; - n_use_burrows->m_rdf_type = RDF_Type::Bool; - n_use_burrows->m_node_type = NodeType::Simple; - n_use_burrows->m_address = base + offset; - n_use_burrows->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_use_burrows); - - field_name = "take_from"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); - auto n_take_from = new NodePointer; - n_take_from->m_field_name = field_name; - n_take_from->m_df_type = get_real_subtype(base+offset, DF_Type::building); - n_take_from->m_rdf_type = RDF_Type::Pointer; - n_take_from->m_node_type = NodeType::Pointer; - n_take_from->m_addornements = "*v*"; - n_take_from->m_address = base + offset; - n_take_from->m_parent = p_node_parent; - n_take_from->m_defined_in = "df.buildings.xml"; - n_take_from->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_take_from); - -} -void node_from_manager_order(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "job_type"; - auto n_job_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order, field_name)); - n_job_type->m_field_name = field_name; - n_job_type->m_df_type = DF_Type::job_type; - n_job_type->m_rdf_type = RDF_Type::Enum; - n_job_type->m_node_type = NodeType::Enum; - n_job_type->m_base_type = DF_Type::int16_t; - n_job_type->m_enum_type = "job_type"; - n_job_type->m_address = base + offset; - n_job_type->m_defined_in = "df.job-types.xml"; - n_job_type->m_first_value = -1; - n_job_type->m_last_value = 240; - n_job_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_job_type); - - field_name = "item_type"; - auto n_item_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order, field_name)); - n_item_type->m_field_name = field_name; - n_item_type->m_df_type = DF_Type::item_type; - n_item_type->m_rdf_type = RDF_Type::Enum; - n_item_type->m_node_type = NodeType::Enum; - n_item_type->m_base_type = DF_Type::int16_t; - n_item_type->m_enum_type = "item_type"; - n_item_type->m_address = base + offset; - n_item_type->m_defined_in = "df.item-raws.xml"; - n_item_type->m_first_value = -1; - n_item_type->m_last_value = 90; - n_item_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_type); - - field_name = "item_subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order, field_name)); - auto n_item_subtype = new NodeSimple; - n_item_subtype->m_field_name = field_name; - n_item_subtype->m_df_type = DF_Type::int16_t; - n_item_subtype->m_rdf_type = RDF_Type::int16_t; - n_item_subtype->m_node_type = NodeType::Simple; - n_item_subtype->m_address = base + offset; - n_item_subtype->m_refers_to = "(item-subtype-target $$._parent.item_type $)"; - n_item_subtype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_subtype); - - field_name = "reaction_name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order, field_name)); - auto n_reaction_name = new NodeSimple; - n_reaction_name->m_field_name = field_name; - n_reaction_name->m_df_type = DF_Type::Stl_string; - n_reaction_name->m_rdf_type = RDF_Type::Stl_string; - n_reaction_name->m_node_type = NodeType::Simple; - n_reaction_name->m_address = base + offset; - n_reaction_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_reaction_name); - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "item_category"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order, field_name)); - auto n_item_category = new NodeBitfield; - n_item_category->m_field_name = field_name; - n_item_category->m_df_type = DF_Type::stockpile_group_set; - n_item_category->m_rdf_type = RDF_Type::Bitfield; - n_item_category->m_node_type = NodeType::Bitfield; - n_item_category->m_address = base + offset; - n_item_category->m_defined_in = "df.stockpile.xml"; - n_item_category->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_category); - - field_name = "hist_figure_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order, field_name)); - auto n_hist_figure_id = new NodeSimple; - n_hist_figure_id->m_field_name = field_name; - n_hist_figure_id->m_df_type = DF_Type::int32_t; - n_hist_figure_id->m_rdf_type = RDF_Type::int32_t; - n_hist_figure_id->m_node_type = NodeType::Simple; - n_hist_figure_id->m_address = base + offset; - n_hist_figure_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_hist_figure_id); - - field_name = "material_category"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order, field_name)); - auto n_material_category = new NodeBitfield; - n_material_category->m_field_name = field_name; - n_material_category->m_df_type = DF_Type::job_material_category; - n_material_category->m_rdf_type = RDF_Type::Bitfield; - n_material_category->m_node_type = NodeType::Bitfield; - n_material_category->m_address = base + offset; - n_material_category->m_defined_in = "df.jobs.xml"; - n_material_category->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_material_category); - - field_name = "art_spec"; - auto n_art_spec = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order, field_name)); - n_art_spec->m_field_name = field_name; - n_art_spec->m_df_type = DF_Type::job_art_specification; - n_art_spec->m_rdf_type = RDF_Type::Struct; - n_art_spec->m_node_type = NodeType::Compound; - n_art_spec->m_address = base + offset; - n_art_spec->m_defined_in = "df.jobs.xml"; - n_art_spec->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_art_spec); - - field_name = "amount_left"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order, field_name)); - auto n_amount_left = new NodeSimple; - n_amount_left->m_field_name = field_name; - n_amount_left->m_df_type = DF_Type::int16_t; - n_amount_left->m_rdf_type = RDF_Type::int16_t; - n_amount_left->m_node_type = NodeType::Simple; - n_amount_left->m_address = base + offset; - n_amount_left->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_amount_left); - - field_name = "amount_total"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order, field_name)); - auto n_amount_total = new NodeSimple; - n_amount_total->m_field_name = field_name; - n_amount_total->m_df_type = DF_Type::int16_t; - n_amount_total->m_rdf_type = RDF_Type::int16_t; - n_amount_total->m_node_type = NodeType::Simple; - n_amount_total->m_address = base + offset; - n_amount_total->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_amount_total); - - field_name = "status"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order, field_name)); - auto n_status = new NodeBitfield; - n_status->m_field_name = field_name; - n_status->m_df_type = DF_Type::manager_order_status; - n_status->m_rdf_type = RDF_Type::Bitfield; - n_status->m_node_type = NodeType::Bitfield; - n_status->m_address = base + offset; - n_status->m_defined_in = "df.jobs.xml"; - n_status->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_status); - - field_name = "frequency"; - auto n_frequency = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order, field_name)); - n_frequency->m_field_name = field_name; - n_frequency->m_df_type = DF_Type::manager_order__T_frequency; - n_frequency->m_rdf_type = RDF_Type::Enum; - n_frequency->m_node_type = NodeType::Enum; - n_frequency->m_base_type = DF_Type::int32_t; - n_frequency->m_enum_type = "manager_order::T_frequency"; - n_frequency->m_address = base + offset; - n_frequency->m_first_value = 0; - n_frequency->m_last_value = 4; - n_frequency->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_frequency); - - field_name = "finished_year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order, field_name)); - auto n_finished_year = new NodeSimple; - n_finished_year->m_field_name = field_name; - n_finished_year->m_df_type = DF_Type::int32_t; - n_finished_year->m_rdf_type = RDF_Type::int32_t; - n_finished_year->m_node_type = NodeType::Simple; - n_finished_year->m_address = base + offset; - n_finished_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_finished_year); - - field_name = "finished_year_tick"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order, field_name)); - auto n_finished_year_tick = new NodeSimple; - n_finished_year_tick->m_field_name = field_name; - n_finished_year_tick->m_df_type = DF_Type::int32_t; - n_finished_year_tick->m_rdf_type = RDF_Type::int32_t; - n_finished_year_tick->m_node_type = NodeType::Simple; - n_finished_year_tick->m_address = base + offset; - n_finished_year_tick->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_finished_year_tick); - - field_name = "workshop_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order, field_name)); - auto n_workshop_id = new NodeSimple; - n_workshop_id->m_field_name = field_name; - n_workshop_id->m_df_type = DF_Type::int32_t; - n_workshop_id->m_rdf_type = RDF_Type::int32_t; - n_workshop_id->m_node_type = NodeType::Simple; - n_workshop_id->m_address = base + offset; - n_workshop_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_workshop_id); - - field_name = "max_workshops"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order, field_name)); - auto n_max_workshops = new NodeSimple; - n_max_workshops->m_field_name = field_name; - n_max_workshops->m_df_type = DF_Type::int32_t; - n_max_workshops->m_rdf_type = RDF_Type::int32_t; - n_max_workshops->m_node_type = NodeType::Simple; - n_max_workshops->m_address = base + offset; - n_max_workshops->m_comment = "0 is unlimited"; - n_max_workshops->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_max_workshops); - - field_name = "item_conditions"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order, field_name)); - auto n_item_conditions = new NodeVector; - n_item_conditions->m_field_name = field_name; - n_item_conditions->m_df_type = DF_Type::manager_order_condition_item; - n_item_conditions->m_rdf_type = RDF_Type::Vector; - n_item_conditions->m_node_type = NodeType::Vector; - n_item_conditions->m_defined_in = "df.jobs.xml"; - n_item_conditions->m_addornements = "v*"; - n_item_conditions->m_address = base + offset; - n_item_conditions->m_parent = p_node_parent; - n_item_conditions->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_item_conditions); - - field_name = "order_conditions"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order, field_name)); - auto n_order_conditions = new NodeVector; - n_order_conditions->m_field_name = field_name; - n_order_conditions->m_df_type = DF_Type::manager_order_condition_order; - n_order_conditions->m_rdf_type = RDF_Type::Vector; - n_order_conditions->m_node_type = NodeType::Vector; - n_order_conditions->m_defined_in = "df.jobs.xml"; - n_order_conditions->m_addornements = "v*"; - n_order_conditions->m_address = base + offset; - n_order_conditions->m_parent = p_node_parent; - n_order_conditions->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_order_conditions); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order, field_name)); - auto n_anon_1 = new NodePointer; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = get_real_subtype(base+offset, DF_Type::job_item); - n_anon_1->m_rdf_type = RDF_Type::Pointer; - n_anon_1->m_node_type = NodeType::Pointer; - n_anon_1->m_addornements = "*v*"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_defined_in = "df.jobs.xml"; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_manager_order_condition_item(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "compare_type"; - auto n_compare_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order_condition_item, field_name)); - n_compare_type->m_field_name = field_name; - n_compare_type->m_df_type = DF_Type::manager_order_condition_item__T_compare_type; - n_compare_type->m_rdf_type = RDF_Type::Enum; - n_compare_type->m_node_type = NodeType::Enum; - n_compare_type->m_base_type = DF_Type::int32_t; - n_compare_type->m_enum_type = "manager_order_condition_item::T_compare_type"; - n_compare_type->m_address = base + offset; - n_compare_type->m_first_value = 0; - n_compare_type->m_last_value = 5; - n_compare_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_compare_type); - - field_name = "compare_val"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order_condition_item, field_name)); - auto n_compare_val = new NodeSimple; - n_compare_val->m_field_name = field_name; - n_compare_val->m_df_type = DF_Type::int32_t; - n_compare_val->m_rdf_type = RDF_Type::int32_t; - n_compare_val->m_node_type = NodeType::Simple; - n_compare_val->m_address = base + offset; - n_compare_val->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_compare_val); - - field_name = "item_type"; - auto n_item_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order_condition_item, field_name)); - n_item_type->m_field_name = field_name; - n_item_type->m_df_type = DF_Type::item_type; - n_item_type->m_rdf_type = RDF_Type::Enum; - n_item_type->m_node_type = NodeType::Enum; - n_item_type->m_base_type = DF_Type::int16_t; - n_item_type->m_enum_type = "item_type"; - n_item_type->m_address = base + offset; - n_item_type->m_defined_in = "df.item-raws.xml"; - n_item_type->m_first_value = -1; - n_item_type->m_last_value = 90; - n_item_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_type); - - field_name = "item_subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order_condition_item, field_name)); - auto n_item_subtype = new NodeSimple; - n_item_subtype->m_field_name = field_name; - n_item_subtype->m_df_type = DF_Type::int16_t; - n_item_subtype->m_rdf_type = RDF_Type::int16_t; - n_item_subtype->m_node_type = NodeType::Simple; - n_item_subtype->m_address = base + offset; - n_item_subtype->m_refers_to = "(item-subtype-target $$._parent.item_type $)"; - n_item_subtype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_subtype); - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order_condition_item, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order_condition_item, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "flags1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order_condition_item, field_name)); - auto n_flags1 = new NodeBitfield; - n_flags1->m_field_name = field_name; - n_flags1->m_df_type = DF_Type::job_item_flags1; - n_flags1->m_rdf_type = RDF_Type::Bitfield; - n_flags1->m_node_type = NodeType::Bitfield; - n_flags1->m_address = base + offset; - n_flags1->m_defined_in = "df.jobs.xml"; - n_flags1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags1); - - field_name = "flags2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order_condition_item, field_name)); - auto n_flags2 = new NodeBitfield; - n_flags2->m_field_name = field_name; - n_flags2->m_df_type = DF_Type::job_item_flags2; - n_flags2->m_rdf_type = RDF_Type::Bitfield; - n_flags2->m_node_type = NodeType::Bitfield; - n_flags2->m_address = base + offset; - n_flags2->m_defined_in = "df.jobs.xml"; - n_flags2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags2); - - field_name = "flags3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order_condition_item, field_name)); - auto n_flags3 = new NodeBitfield; - n_flags3->m_field_name = field_name; - n_flags3->m_df_type = DF_Type::job_item_flags3; - n_flags3->m_rdf_type = RDF_Type::Bitfield; - n_flags3->m_node_type = NodeType::Bitfield; - n_flags3->m_address = base + offset; - n_flags3->m_defined_in = "df.jobs.xml"; - n_flags3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags3); - - field_name = "flags4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order_condition_item, field_name)); - auto n_flags4 = new NodeSimple; - n_flags4->m_field_name = field_name; - n_flags4->m_df_type = DF_Type::uint32_t; - n_flags4->m_rdf_type = RDF_Type::uint32_t; - n_flags4->m_node_type = NodeType::Simple; - n_flags4->m_address = base + offset; - n_flags4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags4); - - field_name = "flags5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order_condition_item, field_name)); - auto n_flags5 = new NodeSimple; - n_flags5->m_field_name = field_name; - n_flags5->m_df_type = DF_Type::uint32_t; - n_flags5->m_rdf_type = RDF_Type::uint32_t; - n_flags5->m_node_type = NodeType::Simple; - n_flags5->m_address = base + offset; - n_flags5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags5); - - field_name = "reaction_class"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order_condition_item, field_name)); - auto n_reaction_class = new NodeSimple; - n_reaction_class->m_field_name = field_name; - n_reaction_class->m_df_type = DF_Type::Stl_string; - n_reaction_class->m_rdf_type = RDF_Type::Stl_string; - n_reaction_class->m_node_type = NodeType::Simple; - n_reaction_class->m_address = base + offset; - n_reaction_class->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_reaction_class); - - field_name = "has_material_reaction_product"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order_condition_item, field_name)); - auto n_has_material_reaction_product = new NodeSimple; - n_has_material_reaction_product->m_field_name = field_name; - n_has_material_reaction_product->m_df_type = DF_Type::Stl_string; - n_has_material_reaction_product->m_rdf_type = RDF_Type::Stl_string; - n_has_material_reaction_product->m_node_type = NodeType::Simple; - n_has_material_reaction_product->m_address = base + offset; - n_has_material_reaction_product->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_has_material_reaction_product); - - field_name = "inorganic_bearing"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order_condition_item, field_name)); - auto n_inorganic_bearing = new NodeSimple; - n_inorganic_bearing->m_field_name = field_name; - n_inorganic_bearing->m_df_type = DF_Type::int32_t; - n_inorganic_bearing->m_rdf_type = RDF_Type::int32_t; - n_inorganic_bearing->m_node_type = NodeType::Simple; - n_inorganic_bearing->m_address = base + offset; - n_inorganic_bearing->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_inorganic_bearing); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order_condition_item, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order_condition_item, field_name)); - auto n_anon_2 = new NodeVector; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::Vector; - n_anon_2->m_node_type = NodeType::Vector; - n_anon_2->m_addornements = "v"; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - n_anon_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order_condition_item, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "has_tool_use"; - auto n_has_tool_use = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order_condition_item, field_name)); - n_has_tool_use->m_field_name = field_name; - n_has_tool_use->m_df_type = DF_Type::tool_uses; - n_has_tool_use->m_rdf_type = RDF_Type::Enum; - n_has_tool_use->m_node_type = NodeType::Enum; - n_has_tool_use->m_base_type = DF_Type::int16_t; - n_has_tool_use->m_enum_type = "tool_uses"; - n_has_tool_use->m_address = base + offset; - n_has_tool_use->m_defined_in = "df.item-raws.xml"; - n_has_tool_use->m_first_value = -1; - n_has_tool_use->m_last_value = 22; - n_has_tool_use->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_has_tool_use); - -} -void node_from_manager_order_template(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "job_type"; - auto n_job_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order_template, field_name)); - n_job_type->m_field_name = field_name; - n_job_type->m_df_type = DF_Type::job_type; - n_job_type->m_rdf_type = RDF_Type::Enum; - n_job_type->m_node_type = NodeType::Enum; - n_job_type->m_base_type = DF_Type::int16_t; - n_job_type->m_enum_type = "job_type"; - n_job_type->m_address = base + offset; - n_job_type->m_defined_in = "df.job-types.xml"; - n_job_type->m_first_value = -1; - n_job_type->m_last_value = 240; - n_job_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_job_type); - - field_name = "reaction_name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order_template, field_name)); - auto n_reaction_name = new NodeSimple; - n_reaction_name->m_field_name = field_name; - n_reaction_name->m_df_type = DF_Type::Stl_string; - n_reaction_name->m_rdf_type = RDF_Type::Stl_string; - n_reaction_name->m_node_type = NodeType::Simple; - n_reaction_name->m_address = base + offset; - n_reaction_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_reaction_name); - - field_name = "item_type"; - auto n_item_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order_template, field_name)); - n_item_type->m_field_name = field_name; - n_item_type->m_df_type = DF_Type::item_type; - n_item_type->m_rdf_type = RDF_Type::Enum; - n_item_type->m_node_type = NodeType::Enum; - n_item_type->m_base_type = DF_Type::int16_t; - n_item_type->m_enum_type = "item_type"; - n_item_type->m_address = base + offset; - n_item_type->m_defined_in = "df.item-raws.xml"; - n_item_type->m_first_value = -1; - n_item_type->m_last_value = 90; - n_item_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_type); - - field_name = "item_subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order_template, field_name)); - auto n_item_subtype = new NodeSimple; - n_item_subtype->m_field_name = field_name; - n_item_subtype->m_df_type = DF_Type::int16_t; - n_item_subtype->m_rdf_type = RDF_Type::int16_t; - n_item_subtype->m_node_type = NodeType::Simple; - n_item_subtype->m_address = base + offset; - n_item_subtype->m_refers_to = "(item-subtype-target $$._parent.item_type $)"; - n_item_subtype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_subtype); - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order_template, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order_template, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "item_category"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order_template, field_name)); - auto n_item_category = new NodeBitfield; - n_item_category->m_field_name = field_name; - n_item_category->m_df_type = DF_Type::stockpile_group_set; - n_item_category->m_rdf_type = RDF_Type::Bitfield; - n_item_category->m_node_type = NodeType::Bitfield; - n_item_category->m_address = base + offset; - n_item_category->m_defined_in = "df.stockpile.xml"; - n_item_category->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_category); - - field_name = "hist_figure_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order_template, field_name)); - auto n_hist_figure_id = new NodeSimple; - n_hist_figure_id->m_field_name = field_name; - n_hist_figure_id->m_df_type = DF_Type::int32_t; - n_hist_figure_id->m_rdf_type = RDF_Type::int32_t; - n_hist_figure_id->m_node_type = NodeType::Simple; - n_hist_figure_id->m_address = base + offset; - n_hist_figure_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_hist_figure_id); - - field_name = "material_category"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order_template, field_name)); - auto n_material_category = new NodeBitfield; - n_material_category->m_field_name = field_name; - n_material_category->m_df_type = DF_Type::job_material_category; - n_material_category->m_rdf_type = RDF_Type::Bitfield; - n_material_category->m_node_type = NodeType::Bitfield; - n_material_category->m_address = base + offset; - n_material_category->m_defined_in = "df.jobs.xml"; - n_material_category->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_material_category); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order_template, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_mandate__T_punishment(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "hammerstrikes"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mandate__T_punishment, field_name)); - auto n_hammerstrikes = new NodeSimple; - n_hammerstrikes->m_field_name = field_name; - n_hammerstrikes->m_df_type = DF_Type::int32_t; - n_hammerstrikes->m_rdf_type = RDF_Type::int32_t; - n_hammerstrikes->m_node_type = NodeType::Simple; - n_hammerstrikes->m_address = base + offset; - n_hammerstrikes->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_hammerstrikes); - - field_name = "prison_time"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mandate__T_punishment, field_name)); - auto n_prison_time = new NodeSimple; - n_prison_time->m_field_name = field_name; - n_prison_time->m_df_type = DF_Type::int32_t; - n_prison_time->m_rdf_type = RDF_Type::int32_t; - n_prison_time->m_node_type = NodeType::Simple; - n_prison_time->m_address = base + offset; - n_prison_time->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_prison_time); - - field_name = "give_beating"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mandate__T_punishment, field_name)); - auto n_give_beating = new NodeSimple; - n_give_beating->m_field_name = field_name; - n_give_beating->m_df_type = DF_Type::int32_t; - n_give_beating->m_rdf_type = RDF_Type::int32_t; - n_give_beating->m_node_type = NodeType::Simple; - n_give_beating->m_address = base + offset; - n_give_beating->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_give_beating); - -} -void node_from_mandate(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unit"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mandate, field_name)); - auto n_unit = new NodePointer; - n_unit->m_field_name = field_name; - n_unit->m_df_type = get_real_subtype(base+offset, DF_Type::unit); - n_unit->m_rdf_type = RDF_Type::Pointer; - n_unit->m_node_type = NodeType::Pointer; - n_unit->m_addornements = "*"; - n_unit->m_address = base + offset; - n_unit->m_parent = p_node_parent; - n_unit->m_defined_in = "df.units.xml"; - n_unit->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unit); - - field_name = "mode"; - auto n_mode = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mandate, field_name)); - n_mode->m_field_name = field_name; - n_mode->m_df_type = DF_Type::mandate__T_mode; - n_mode->m_rdf_type = RDF_Type::Enum; - n_mode->m_node_type = NodeType::Enum; - n_mode->m_base_type = DF_Type::int16_t; - n_mode->m_enum_type = "mandate::T_mode"; - n_mode->m_address = base + offset; - n_mode->m_first_value = 0; - n_mode->m_last_value = 2; - n_mode->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mode); - - field_name = "item_type"; - auto n_item_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mandate, field_name)); - n_item_type->m_field_name = field_name; - n_item_type->m_df_type = DF_Type::item_type; - n_item_type->m_rdf_type = RDF_Type::Enum; - n_item_type->m_node_type = NodeType::Enum; - n_item_type->m_base_type = DF_Type::int16_t; - n_item_type->m_enum_type = "item_type"; - n_item_type->m_address = base + offset; - n_item_type->m_defined_in = "df.item-raws.xml"; - n_item_type->m_first_value = -1; - n_item_type->m_last_value = 90; - n_item_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_type); - - field_name = "item_subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mandate, field_name)); - auto n_item_subtype = new NodeSimple; - n_item_subtype->m_field_name = field_name; - n_item_subtype->m_df_type = DF_Type::int16_t; - n_item_subtype->m_rdf_type = RDF_Type::int16_t; - n_item_subtype->m_node_type = NodeType::Simple; - n_item_subtype->m_address = base + offset; - n_item_subtype->m_refers_to = "(item-subtype-target $$._parent.item_type $)"; - n_item_subtype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_subtype); - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mandate, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mandate, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "amount_total"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mandate, field_name)); - auto n_amount_total = new NodeSimple; - n_amount_total->m_field_name = field_name; - n_amount_total->m_df_type = DF_Type::int16_t; - n_amount_total->m_rdf_type = RDF_Type::int16_t; - n_amount_total->m_node_type = NodeType::Simple; - n_amount_total->m_address = base + offset; - n_amount_total->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_amount_total); - - field_name = "amount_remaining"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mandate, field_name)); - auto n_amount_remaining = new NodeSimple; - n_amount_remaining->m_field_name = field_name; - n_amount_remaining->m_df_type = DF_Type::int16_t; - n_amount_remaining->m_rdf_type = RDF_Type::int16_t; - n_amount_remaining->m_node_type = NodeType::Simple; - n_amount_remaining->m_address = base + offset; - n_amount_remaining->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_amount_remaining); - - field_name = "timeout_counter"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mandate, field_name)); - auto n_timeout_counter = new NodeSimple; - n_timeout_counter->m_field_name = field_name; - n_timeout_counter->m_df_type = DF_Type::int32_t; - n_timeout_counter->m_rdf_type = RDF_Type::int32_t; - n_timeout_counter->m_node_type = NodeType::Simple; - n_timeout_counter->m_address = base + offset; - n_timeout_counter->m_comment = "counts once per 10 frames"; - n_timeout_counter->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_timeout_counter); - - field_name = "timeout_limit"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mandate, field_name)); - auto n_timeout_limit = new NodeSimple; - n_timeout_limit->m_field_name = field_name; - n_timeout_limit->m_df_type = DF_Type::int32_t; - n_timeout_limit->m_rdf_type = RDF_Type::int32_t; - n_timeout_limit->m_node_type = NodeType::Simple; - n_timeout_limit->m_address = base + offset; - n_timeout_limit->m_comment = "once counter passes limit, mandate ends"; - n_timeout_limit->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_timeout_limit); - - field_name = "punishment"; - auto n_punishment = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mandate, field_name)); - n_punishment->m_field_name = field_name; - n_punishment->m_df_type = DF_Type::mandate__T_punishment; - n_punishment->m_rdf_type = RDF_Type::Compound; - n_punishment->m_node_type = NodeType::Compound; - n_punishment->m_address = base + offset; - n_punishment->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_punishment); - - field_name = "punish_multiple"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mandate, field_name)); - auto n_punish_multiple = new NodeSimple; - n_punish_multiple->m_field_name = field_name; - n_punish_multiple->m_df_type = DF_Type::uint8_t; - n_punish_multiple->m_rdf_type = RDF_Type::uint8_t; - n_punish_multiple->m_node_type = NodeType::Simple; - n_punish_multiple->m_address = base + offset; - n_punish_multiple->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_punish_multiple); - - field_name = "unk4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mandate, field_name)); - auto n_unk4 = new NodeSimple; - n_unk4->m_field_name = field_name; - n_unk4->m_df_type = DF_Type::int32_t; - n_unk4->m_rdf_type = RDF_Type::int32_t; - n_unk4->m_node_type = NodeType::Simple; - n_unk4->m_address = base + offset; - n_unk4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk4); - -} -void node_from_unit_demand(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk_0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_demand, field_name)); - auto n_unk_0 = new NodeSimple; - n_unk_0->m_field_name = field_name; - n_unk_0->m_df_type = DF_Type::int16_t; - n_unk_0->m_rdf_type = RDF_Type::int16_t; - n_unk_0->m_node_type = NodeType::Simple; - n_unk_0->m_address = base + offset; - n_unk_0->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_0); - - field_name = "place"; - auto n_place = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_demand, field_name)); - n_place->m_field_name = field_name; - n_place->m_df_type = DF_Type::unit_demand__T_place; - n_place->m_rdf_type = RDF_Type::Enum; - n_place->m_node_type = NodeType::Enum; - n_place->m_base_type = DF_Type::int16_t; - n_place->m_enum_type = "unit_demand::T_place"; - n_place->m_address = base + offset; - n_place->m_first_value = 0; - n_place->m_last_value = 3; - n_place->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_place); - - field_name = "item_type"; - auto n_item_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_demand, field_name)); - n_item_type->m_field_name = field_name; - n_item_type->m_df_type = DF_Type::item_type; - n_item_type->m_rdf_type = RDF_Type::Enum; - n_item_type->m_node_type = NodeType::Enum; - n_item_type->m_base_type = DF_Type::int16_t; - n_item_type->m_enum_type = "item_type"; - n_item_type->m_address = base + offset; - n_item_type->m_defined_in = "df.item-raws.xml"; - n_item_type->m_first_value = -1; - n_item_type->m_last_value = 90; - n_item_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_type); - - field_name = "item_subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_demand, field_name)); - auto n_item_subtype = new NodeSimple; - n_item_subtype->m_field_name = field_name; - n_item_subtype->m_df_type = DF_Type::int16_t; - n_item_subtype->m_rdf_type = RDF_Type::int16_t; - n_item_subtype->m_node_type = NodeType::Simple; - n_item_subtype->m_address = base + offset; - n_item_subtype->m_refers_to = "(item-subtype-target $$._parent.item_type $)"; - n_item_subtype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_subtype); - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_demand, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_demand, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "timeout_counter"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_demand, field_name)); - auto n_timeout_counter = new NodeSimple; - n_timeout_counter->m_field_name = field_name; - n_timeout_counter->m_df_type = DF_Type::int32_t; - n_timeout_counter->m_rdf_type = RDF_Type::int32_t; - n_timeout_counter->m_node_type = NodeType::Simple; - n_timeout_counter->m_address = base + offset; - n_timeout_counter->m_comment = "counts once per 10 frames"; - n_timeout_counter->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_timeout_counter); - - field_name = "timeout_limit"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_demand, field_name)); - auto n_timeout_limit = new NodeSimple; - n_timeout_limit->m_field_name = field_name; - n_timeout_limit->m_df_type = DF_Type::int32_t; - n_timeout_limit->m_rdf_type = RDF_Type::int32_t; - n_timeout_limit->m_node_type = NodeType::Simple; - n_timeout_limit->m_address = base + offset; - n_timeout_limit->m_comment = "once counter passes limit, mandate ends"; - n_timeout_limit->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_timeout_limit); - -} -void node_from_knowledge_scholar_category_flag__T_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = true) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "flags_0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::knowledge_scholar_category_flag__T_flags, field_name)); - auto n_flags_0 = new NodeBitfield; - n_flags_0->m_field_name = field_name; - n_flags_0->m_df_type = DF_Type::knowledge_scholar_flags_0; - n_flags_0->m_rdf_type = RDF_Type::Bitfield; - n_flags_0->m_node_type = NodeType::Bitfield; - n_flags_0->m_address = base + offset; - n_flags_0->m_defined_in = "df.knowledge.xml"; - n_flags_0->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags_0); - - field_name = "flags_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::knowledge_scholar_category_flag__T_flags, field_name)); - auto n_flags_1 = new NodeBitfield; - n_flags_1->m_field_name = field_name; - n_flags_1->m_df_type = DF_Type::knowledge_scholar_flags_1; - n_flags_1->m_rdf_type = RDF_Type::Bitfield; - n_flags_1->m_node_type = NodeType::Bitfield; - n_flags_1->m_address = base + offset; - n_flags_1->m_defined_in = "df.knowledge.xml"; - n_flags_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags_1); - - field_name = "flags_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::knowledge_scholar_category_flag__T_flags, field_name)); - auto n_flags_2 = new NodeBitfield; - n_flags_2->m_field_name = field_name; - n_flags_2->m_df_type = DF_Type::knowledge_scholar_flags_2; - n_flags_2->m_rdf_type = RDF_Type::Bitfield; - n_flags_2->m_node_type = NodeType::Bitfield; - n_flags_2->m_address = base + offset; - n_flags_2->m_defined_in = "df.knowledge.xml"; - n_flags_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags_2); - - field_name = "flags_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::knowledge_scholar_category_flag__T_flags, field_name)); - auto n_flags_3 = new NodeBitfield; - n_flags_3->m_field_name = field_name; - n_flags_3->m_df_type = DF_Type::knowledge_scholar_flags_3; - n_flags_3->m_rdf_type = RDF_Type::Bitfield; - n_flags_3->m_node_type = NodeType::Bitfield; - n_flags_3->m_address = base + offset; - n_flags_3->m_defined_in = "df.knowledge.xml"; - n_flags_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags_3); - - field_name = "flags_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::knowledge_scholar_category_flag__T_flags, field_name)); - auto n_flags_4 = new NodeBitfield; - n_flags_4->m_field_name = field_name; - n_flags_4->m_df_type = DF_Type::knowledge_scholar_flags_4; - n_flags_4->m_rdf_type = RDF_Type::Bitfield; - n_flags_4->m_node_type = NodeType::Bitfield; - n_flags_4->m_address = base + offset; - n_flags_4->m_defined_in = "df.knowledge.xml"; - n_flags_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags_4); - - field_name = "flags_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::knowledge_scholar_category_flag__T_flags, field_name)); - auto n_flags_5 = new NodeBitfield; - n_flags_5->m_field_name = field_name; - n_flags_5->m_df_type = DF_Type::knowledge_scholar_flags_5; - n_flags_5->m_rdf_type = RDF_Type::Bitfield; - n_flags_5->m_node_type = NodeType::Bitfield; - n_flags_5->m_address = base + offset; - n_flags_5->m_defined_in = "df.knowledge.xml"; - n_flags_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags_5); - - field_name = "flags_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::knowledge_scholar_category_flag__T_flags, field_name)); - auto n_flags_6 = new NodeBitfield; - n_flags_6->m_field_name = field_name; - n_flags_6->m_df_type = DF_Type::knowledge_scholar_flags_6; - n_flags_6->m_rdf_type = RDF_Type::Bitfield; - n_flags_6->m_node_type = NodeType::Bitfield; - n_flags_6->m_address = base + offset; - n_flags_6->m_defined_in = "df.knowledge.xml"; - n_flags_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags_6); - - field_name = "flags_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::knowledge_scholar_category_flag__T_flags, field_name)); - auto n_flags_7 = new NodeBitfield; - n_flags_7->m_field_name = field_name; - n_flags_7->m_df_type = DF_Type::knowledge_scholar_flags_7; - n_flags_7->m_rdf_type = RDF_Type::Bitfield; - n_flags_7->m_node_type = NodeType::Bitfield; - n_flags_7->m_address = base + offset; - n_flags_7->m_defined_in = "df.knowledge.xml"; - n_flags_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags_7); - - field_name = "flags_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::knowledge_scholar_category_flag__T_flags, field_name)); - auto n_flags_8 = new NodeBitfield; - n_flags_8->m_field_name = field_name; - n_flags_8->m_df_type = DF_Type::knowledge_scholar_flags_8; - n_flags_8->m_rdf_type = RDF_Type::Bitfield; - n_flags_8->m_node_type = NodeType::Bitfield; - n_flags_8->m_address = base + offset; - n_flags_8->m_defined_in = "df.knowledge.xml"; - n_flags_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags_8); - - field_name = "flags_9"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::knowledge_scholar_category_flag__T_flags, field_name)); - auto n_flags_9 = new NodeBitfield; - n_flags_9->m_field_name = field_name; - n_flags_9->m_df_type = DF_Type::knowledge_scholar_flags_9; - n_flags_9->m_rdf_type = RDF_Type::Bitfield; - n_flags_9->m_node_type = NodeType::Bitfield; - n_flags_9->m_address = base + offset; - n_flags_9->m_defined_in = "df.knowledge.xml"; - n_flags_9->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags_9); - - field_name = "flags_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::knowledge_scholar_category_flag__T_flags, field_name)); - auto n_flags_10 = new NodeBitfield; - n_flags_10->m_field_name = field_name; - n_flags_10->m_df_type = DF_Type::knowledge_scholar_flags_10; - n_flags_10->m_rdf_type = RDF_Type::Bitfield; - n_flags_10->m_node_type = NodeType::Bitfield; - n_flags_10->m_address = base + offset; - n_flags_10->m_defined_in = "df.knowledge.xml"; - n_flags_10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags_10); - - field_name = "flags_11"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::knowledge_scholar_category_flag__T_flags, field_name)); - auto n_flags_11 = new NodeBitfield; - n_flags_11->m_field_name = field_name; - n_flags_11->m_df_type = DF_Type::knowledge_scholar_flags_11; - n_flags_11->m_rdf_type = RDF_Type::Bitfield; - n_flags_11->m_node_type = NodeType::Bitfield; - n_flags_11->m_address = base + offset; - n_flags_11->m_defined_in = "df.knowledge.xml"; - n_flags_11->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags_11); - - field_name = "flags_12"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::knowledge_scholar_category_flag__T_flags, field_name)); - auto n_flags_12 = new NodeBitfield; - n_flags_12->m_field_name = field_name; - n_flags_12->m_df_type = DF_Type::knowledge_scholar_flags_12; - n_flags_12->m_rdf_type = RDF_Type::Bitfield; - n_flags_12->m_node_type = NodeType::Bitfield; - n_flags_12->m_address = base + offset; - n_flags_12->m_defined_in = "df.knowledge.xml"; - n_flags_12->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags_12); - - field_name = "flags_13"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::knowledge_scholar_category_flag__T_flags, field_name)); - auto n_flags_13 = new NodeBitfield; - n_flags_13->m_field_name = field_name; - n_flags_13->m_df_type = DF_Type::knowledge_scholar_flags_13; - n_flags_13->m_rdf_type = RDF_Type::Bitfield; - n_flags_13->m_node_type = NodeType::Bitfield; - n_flags_13->m_address = base + offset; - n_flags_13->m_defined_in = "df.knowledge.xml"; - n_flags_13->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags_13); - - field_name = "whole"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::knowledge_scholar_category_flag__T_flags, field_name)); - auto n_whole = new NodeSimple; - n_whole->m_field_name = field_name; - n_whole->m_df_type = DF_Type::uint32_t; - n_whole->m_rdf_type = RDF_Type::uint32_t; - n_whole->m_node_type = NodeType::Simple; - n_whole->m_address = base + offset; - n_whole->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_whole); - -} -void node_from_knowledge_scholar_category_flag(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "category"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::knowledge_scholar_category_flag, field_name)); - auto n_category = new NodeSimple; - n_category->m_field_name = field_name; - n_category->m_df_type = DF_Type::int32_t; - n_category->m_rdf_type = RDF_Type::int32_t; - n_category->m_node_type = NodeType::Simple; - n_category->m_address = base + offset; - n_category->m_comment = "determines which bitflags to use"; - n_category->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_category); - - field_name = "flags"; - auto n_flags = new NodeUnion; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::knowledge_scholar_category_flag, field_name)); - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::knowledge_scholar_category_flag__T_flags; - n_flags->m_rdf_type = RDF_Type::Union; - n_flags->m_node_type = NodeType::Union; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - -} -void node_from_history_event_knowledge_discoveredst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "hf"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_knowledge_discoveredst, field_name)); - auto n_hf = new NodeSimple; - n_hf->m_field_name = field_name; - n_hf->m_df_type = DF_Type::int32_t; - n_hf->m_rdf_type = RDF_Type::int32_t; - n_hf->m_node_type = NodeType::Simple; - n_hf->m_address = base + offset; - n_hf->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_hf); - - field_name = "knowledge"; - auto n_knowledge = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_knowledge_discoveredst, field_name)); - n_knowledge->m_field_name = field_name; - n_knowledge->m_df_type = DF_Type::knowledge_scholar_category_flag; - n_knowledge->m_rdf_type = RDF_Type::Struct; - n_knowledge->m_node_type = NodeType::Compound; - n_knowledge->m_address = base + offset; - n_knowledge->m_defined_in = "df.knowledge.xml"; - n_knowledge->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_knowledge); - - field_name = "first"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_knowledge_discoveredst, field_name)); - auto n_first = new NodeSimple; - n_first->m_field_name = field_name; - n_first->m_df_type = DF_Type::int8_t; - n_first->m_rdf_type = RDF_Type::int8_t; - n_first->m_node_type = NodeType::Simple; - n_first->m_address = base + offset; - n_first->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_first); - -} -void node_from_language_word(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "word"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::language_word, field_name)); - auto n_word = new NodeSimple; - n_word->m_field_name = field_name; - n_word->m_df_type = DF_Type::Stl_string; - n_word->m_rdf_type = RDF_Type::Stl_string; - n_word->m_node_type = NodeType::Simple; - n_word->m_address = base + offset; - n_word->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_word); - - field_name = "forms"; - auto n_forms = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::language_word, field_name)); - n_forms->m_field_name = field_name; - n_forms->m_df_type = DF_Type::Stl_string; - n_forms->m_rdf_type = RDF_Type::Array; - n_forms->m_node_type = NodeType::Array; - n_forms->m_index_enum = DF_Type::part_of_speech; - n_forms->m_addornements = "[9"; - n_forms->m_array_size = 9; - n_forms->m_address = base + offset; - n_forms->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_forms); - - field_name = "adj_dist"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::language_word, field_name)); - auto n_adj_dist = new NodeSimple; - n_adj_dist->m_field_name = field_name; - n_adj_dist->m_df_type = DF_Type::uint8_t; - n_adj_dist->m_rdf_type = RDF_Type::uint8_t; - n_adj_dist->m_node_type = NodeType::Simple; - n_adj_dist->m_address = base + offset; - n_adj_dist->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_adj_dist); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::language_word, field_name)); - auto n_anon_1= new NodePadding; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::Padding; - n_anon_1->m_rdf_type = RDF_Type::Padding; - n_anon_1->m_node_type = NodeType::Padding; - n_anon_1->m_address = base + offset; - n_anon_1->m_comment = "looks like garbage"; - n_anon_1->m_size = 7; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::language_word, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::language_word_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_defined_in = "df.language.xml"; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "str"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::language_word, field_name)); - auto n_str = new NodeVector; - n_str->m_field_name = field_name; - n_str->m_df_type = DF_Type::Stl_string; - n_str->m_rdf_type = RDF_Type::Vector; - n_str->m_node_type = NodeType::Vector; - n_str->m_addornements = "v*"; - n_str->m_address = base + offset; - n_str->m_parent = p_node_parent; - n_str->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_str); - -} -void node_from_language_name(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "first_name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::language_name, field_name)); - auto n_first_name = new NodeSimple; - n_first_name->m_field_name = field_name; - n_first_name->m_df_type = DF_Type::Stl_string; - n_first_name->m_rdf_type = RDF_Type::Stl_string; - n_first_name->m_node_type = NodeType::Simple; - n_first_name->m_address = base + offset; - n_first_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_first_name); - - field_name = "nickname"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::language_name, field_name)); - auto n_nickname = new NodeSimple; - n_nickname->m_field_name = field_name; - n_nickname->m_df_type = DF_Type::Stl_string; - n_nickname->m_rdf_type = RDF_Type::Stl_string; - n_nickname->m_node_type = NodeType::Simple; - n_nickname->m_address = base + offset; - n_nickname->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_nickname); - - field_name = "words"; - auto n_words = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::language_name, field_name)); - n_words->m_field_name = field_name; - n_words->m_df_type = DF_Type::int32_t; - n_words->m_rdf_type = RDF_Type::Array; - n_words->m_node_type = NodeType::Array; - n_words->m_addornements = "[7"; - n_words->m_array_size = 7; - n_words->m_address = base + offset; - n_words->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_words); - - field_name = "parts_of_speech"; - auto n_parts_of_speech = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::language_name, field_name)); - n_parts_of_speech->m_field_name = field_name; - n_parts_of_speech->m_df_type = DF_Type::part_of_speech; - n_parts_of_speech->m_rdf_type = RDF_Type::Array; - n_parts_of_speech->m_node_type = NodeType::Array; - n_parts_of_speech->m_enum_base = DF_Type::int16_t; - n_parts_of_speech->m_defined_in = "df.language.xml"; - n_parts_of_speech->m_addornements = "[7"; - n_parts_of_speech->m_array_size = 7; - n_parts_of_speech->m_address = base + offset; - n_parts_of_speech->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_parts_of_speech); - - field_name = "language"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::language_name, field_name)); - auto n_language = new NodeSimple; - n_language->m_field_name = field_name; - n_language->m_df_type = DF_Type::int32_t; - n_language->m_rdf_type = RDF_Type::int32_t; - n_language->m_node_type = NodeType::Simple; - n_language->m_address = base + offset; - n_language->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_language); - - field_name = "unknown"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::language_name, field_name)); - auto n_unknown = new NodeSimple; - n_unknown->m_field_name = field_name; - n_unknown->m_df_type = DF_Type::int16_t; - n_unknown->m_rdf_type = RDF_Type::int16_t; - n_unknown->m_node_type = NodeType::Simple; - n_unknown->m_address = base + offset; - n_unknown->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unknown); - - field_name = "has_name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::language_name, field_name)); - auto n_has_name = new NodeSimple; - n_has_name->m_field_name = field_name; - n_has_name->m_df_type = DF_Type::Bool; - n_has_name->m_rdf_type = RDF_Type::Bool; - n_has_name->m_node_type = NodeType::Simple; - n_has_name->m_address = base + offset; - n_has_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_has_name); - -} -void node_from_ui_advmode__T_unk_v40_1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk_s1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_1, field_name)); - auto n_unk_s1 = new NodeSimple; - n_unk_s1->m_field_name = field_name; - n_unk_s1->m_df_type = DF_Type::int16_t; - n_unk_s1->m_rdf_type = RDF_Type::int16_t; - n_unk_s1->m_node_type = NodeType::Simple; - n_unk_s1->m_address = base + offset; - n_unk_s1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_s1); - - field_name = "unk_s2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_1, field_name)); - auto n_unk_s2 = new NodeSimple; - n_unk_s2->m_field_name = field_name; - n_unk_s2->m_df_type = DF_Type::int8_t; - n_unk_s2->m_rdf_type = RDF_Type::int8_t; - n_unk_s2->m_node_type = NodeType::Simple; - n_unk_s2->m_address = base + offset; - n_unk_s2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_s2); - - field_name = "unk_s3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_1, field_name)); - auto n_unk_s3 = new NodeSimple; - n_unk_s3->m_field_name = field_name; - n_unk_s3->m_df_type = DF_Type::int32_t; - n_unk_s3->m_rdf_type = RDF_Type::int32_t; - n_unk_s3->m_node_type = NodeType::Simple; - n_unk_s3->m_address = base + offset; - n_unk_s3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_s3); - - field_name = "unk_s4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_1, field_name)); - auto n_unk_s4 = new NodeSimple; - n_unk_s4->m_field_name = field_name; - n_unk_s4->m_df_type = DF_Type::int32_t; - n_unk_s4->m_rdf_type = RDF_Type::int32_t; - n_unk_s4->m_node_type = NodeType::Simple; - n_unk_s4->m_address = base + offset; - n_unk_s4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_s4); - - field_name = "unk_s5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_1, field_name)); - auto n_unk_s5 = new NodeSimple; - n_unk_s5->m_field_name = field_name; - n_unk_s5->m_df_type = DF_Type::int32_t; - n_unk_s5->m_rdf_type = RDF_Type::int32_t; - n_unk_s5->m_node_type = NodeType::Simple; - n_unk_s5->m_address = base + offset; - n_unk_s5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_s5); - -} -void node_from_ui_advmode__T_unk_3170__T_unk_2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3170__T_unk_2, field_name)); - auto n_unk_1 = new NodeVector; - n_unk_1->m_field_name = field_name; - n_unk_1->m_df_type = DF_Type::Void; - n_unk_1->m_rdf_type = RDF_Type::Vector; - n_unk_1->m_node_type = NodeType::Vector; - n_unk_1->m_addornements = "v"; - n_unk_1->m_address = base + offset; - n_unk_1->m_parent = p_node_parent; - n_unk_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_1); - - field_name = "unk_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3170__T_unk_2, field_name)); - auto n_unk_2 = new NodeVector; - n_unk_2->m_field_name = field_name; - n_unk_2->m_df_type = DF_Type::Void; - n_unk_2->m_rdf_type = RDF_Type::Vector; - n_unk_2->m_node_type = NodeType::Vector; - n_unk_2->m_addornements = "v"; - n_unk_2->m_address = base + offset; - n_unk_2->m_parent = p_node_parent; - n_unk_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_2); - -} -void node_from_ui_advmode__T_unk_3170(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3170, field_name)); - auto n_unk_1 = new NodeVector; - n_unk_1->m_field_name = field_name; - n_unk_1->m_df_type = DF_Type::Void; - n_unk_1->m_rdf_type = RDF_Type::Vector; - n_unk_1->m_node_type = NodeType::Vector; - n_unk_1->m_addornements = "v"; - n_unk_1->m_address = base + offset; - n_unk_1->m_parent = p_node_parent; - n_unk_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_1); - - field_name = "unk_2"; - auto n_unk_2 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3170, field_name)); - n_unk_2->m_field_name = field_name; - n_unk_2->m_df_type = DF_Type::ui_advmode__T_unk_3170__T_unk_2; - n_unk_2->m_rdf_type = RDF_Type::Array; - n_unk_2->m_node_type = NodeType::Array; - n_unk_2->m_addornements = "[17"; - n_unk_2->m_array_size = 17; - n_unk_2->m_address = base + offset; - n_unk_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_2); - -} -void node_from_ui_advmode__T_unk_3124(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); - auto n_unk_1 = new NodeSimple; - n_unk_1->m_field_name = field_name; - n_unk_1->m_df_type = DF_Type::int16_t; - n_unk_1->m_rdf_type = RDF_Type::int16_t; - n_unk_1->m_node_type = NodeType::Simple; - n_unk_1->m_address = base + offset; - n_unk_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_1); - - field_name = "unk_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); - auto n_unk_2 = new NodeSimple; - n_unk_2->m_field_name = field_name; - n_unk_2->m_df_type = DF_Type::int16_t; - n_unk_2->m_rdf_type = RDF_Type::int16_t; - n_unk_2->m_node_type = NodeType::Simple; - n_unk_2->m_address = base + offset; - n_unk_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_2); - - field_name = "unk_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); - auto n_unk_3 = new NodeSimple; - n_unk_3->m_field_name = field_name; - n_unk_3->m_df_type = DF_Type::int16_t; - n_unk_3->m_rdf_type = RDF_Type::int16_t; - n_unk_3->m_node_type = NodeType::Simple; - n_unk_3->m_address = base + offset; - n_unk_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_3); - - field_name = "unk_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); - auto n_unk_4 = new NodeSimple; - n_unk_4->m_field_name = field_name; - n_unk_4->m_df_type = DF_Type::int16_t; - n_unk_4->m_rdf_type = RDF_Type::int16_t; - n_unk_4->m_node_type = NodeType::Simple; - n_unk_4->m_address = base + offset; - n_unk_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_4); - - field_name = "unk_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); - auto n_unk_5 = new NodeSimple; - n_unk_5->m_field_name = field_name; - n_unk_5->m_df_type = DF_Type::int16_t; - n_unk_5->m_rdf_type = RDF_Type::int16_t; - n_unk_5->m_node_type = NodeType::Simple; - n_unk_5->m_address = base + offset; - n_unk_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_5); - - field_name = "unk_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); - auto n_unk_6 = new NodeSimple; - n_unk_6->m_field_name = field_name; - n_unk_6->m_df_type = DF_Type::int16_t; - n_unk_6->m_rdf_type = RDF_Type::int16_t; - n_unk_6->m_node_type = NodeType::Simple; - n_unk_6->m_address = base + offset; - n_unk_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_6); - - field_name = "unk_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); - auto n_unk_7 = new NodeSimple; - n_unk_7->m_field_name = field_name; - n_unk_7->m_df_type = DF_Type::int32_t; - n_unk_7->m_rdf_type = RDF_Type::int32_t; - n_unk_7->m_node_type = NodeType::Simple; - n_unk_7->m_address = base + offset; - n_unk_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_7); - - field_name = "unk_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); - auto n_unk_8 = new NodeSimple; - n_unk_8->m_field_name = field_name; - n_unk_8->m_df_type = DF_Type::int32_t; - n_unk_8->m_rdf_type = RDF_Type::int32_t; - n_unk_8->m_node_type = NodeType::Simple; - n_unk_8->m_address = base + offset; - n_unk_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_8); - - field_name = "unk_9"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); - auto n_unk_9 = new NodeSimple; - n_unk_9->m_field_name = field_name; - n_unk_9->m_df_type = DF_Type::int32_t; - n_unk_9->m_rdf_type = RDF_Type::int32_t; - n_unk_9->m_node_type = NodeType::Simple; - n_unk_9->m_address = base + offset; - n_unk_9->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_9); - - field_name = "unk_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); - auto n_unk_10 = new NodeSimple; - n_unk_10->m_field_name = field_name; - n_unk_10->m_df_type = DF_Type::int32_t; - n_unk_10->m_rdf_type = RDF_Type::int32_t; - n_unk_10->m_node_type = NodeType::Simple; - n_unk_10->m_address = base + offset; - n_unk_10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_10); - - field_name = "unk_11"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); - auto n_unk_11 = new NodeSimple; - n_unk_11->m_field_name = field_name; - n_unk_11->m_df_type = DF_Type::int32_t; - n_unk_11->m_rdf_type = RDF_Type::int32_t; - n_unk_11->m_node_type = NodeType::Simple; - n_unk_11->m_address = base + offset; - n_unk_11->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_11); - - field_name = "unk_12"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); - auto n_unk_12 = new NodeSimple; - n_unk_12->m_field_name = field_name; - n_unk_12->m_df_type = DF_Type::int32_t; - n_unk_12->m_rdf_type = RDF_Type::int32_t; - n_unk_12->m_node_type = NodeType::Simple; - n_unk_12->m_address = base + offset; - n_unk_12->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_12); - - field_name = "unk_13"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); - auto n_unk_13 = new NodeSimple; - n_unk_13->m_field_name = field_name; - n_unk_13->m_df_type = DF_Type::int32_t; - n_unk_13->m_rdf_type = RDF_Type::int32_t; - n_unk_13->m_node_type = NodeType::Simple; - n_unk_13->m_address = base + offset; - n_unk_13->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_13); - - field_name = "unk_14"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); - auto n_unk_14 = new NodeSimple; - n_unk_14->m_field_name = field_name; - n_unk_14->m_df_type = DF_Type::int32_t; - n_unk_14->m_rdf_type = RDF_Type::int32_t; - n_unk_14->m_node_type = NodeType::Simple; - n_unk_14->m_address = base + offset; - n_unk_14->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_14); - - field_name = "unk_15"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); - auto n_unk_15 = new NodeSimple; - n_unk_15->m_field_name = field_name; - n_unk_15->m_df_type = DF_Type::int32_t; - n_unk_15->m_rdf_type = RDF_Type::int32_t; - n_unk_15->m_node_type = NodeType::Simple; - n_unk_15->m_address = base + offset; - n_unk_15->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_15); - - field_name = "unk_16"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); - auto n_unk_16 = new NodeSimple; - n_unk_16->m_field_name = field_name; - n_unk_16->m_df_type = DF_Type::int32_t; - n_unk_16->m_rdf_type = RDF_Type::int32_t; - n_unk_16->m_node_type = NodeType::Simple; - n_unk_16->m_address = base + offset; - n_unk_16->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_16); - - field_name = "unk_17"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); - auto n_unk_17 = new NodeSimple; - n_unk_17->m_field_name = field_name; - n_unk_17->m_df_type = DF_Type::int8_t; - n_unk_17->m_rdf_type = RDF_Type::int8_t; - n_unk_17->m_node_type = NodeType::Simple; - n_unk_17->m_address = base + offset; - n_unk_17->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_17); - - field_name = "unk_18"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); - auto n_unk_18 = new NodeSimple; - n_unk_18->m_field_name = field_name; - n_unk_18->m_df_type = DF_Type::int8_t; - n_unk_18->m_rdf_type = RDF_Type::int8_t; - n_unk_18->m_node_type = NodeType::Simple; - n_unk_18->m_address = base + offset; - n_unk_18->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_18); - - field_name = "unk_19"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); - auto n_unk_19 = new NodeSimple; - n_unk_19->m_field_name = field_name; - n_unk_19->m_df_type = DF_Type::int8_t; - n_unk_19->m_rdf_type = RDF_Type::int8_t; - n_unk_19->m_node_type = NodeType::Simple; - n_unk_19->m_address = base + offset; - n_unk_19->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_19); - - field_name = "unk_20"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); - auto n_unk_20 = new NodeVector; - n_unk_20->m_field_name = field_name; - n_unk_20->m_df_type = DF_Type::Void; - n_unk_20->m_rdf_type = RDF_Type::Vector; - n_unk_20->m_node_type = NodeType::Vector; - n_unk_20->m_addornements = "v"; - n_unk_20->m_address = base + offset; - n_unk_20->m_parent = p_node_parent; - n_unk_20->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_20); - - field_name = "unk_21"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); - auto n_unk_21 = new NodeSimple; - n_unk_21->m_field_name = field_name; - n_unk_21->m_df_type = DF_Type::int32_t; - n_unk_21->m_rdf_type = RDF_Type::int32_t; - n_unk_21->m_node_type = NodeType::Simple; - n_unk_21->m_address = base + offset; - n_unk_21->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_21); - - field_name = "unk_22"; - auto n_unk_22 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); - n_unk_22->m_field_name = field_name; - n_unk_22->m_df_type = DF_Type::int8_t; - n_unk_22->m_rdf_type = RDF_Type::Array; - n_unk_22->m_node_type = NodeType::Array; - n_unk_22->m_addornements = "[20736"; - n_unk_22->m_array_size = 20736; - n_unk_22->m_address = base + offset; - n_unk_22->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_22); - - field_name = "unk_23"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); - auto n_unk_23 = new NodeSimple; - n_unk_23->m_field_name = field_name; - n_unk_23->m_df_type = DF_Type::int8_t; - n_unk_23->m_rdf_type = RDF_Type::int8_t; - n_unk_23->m_node_type = NodeType::Simple; - n_unk_23->m_address = base + offset; - n_unk_23->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_23); - - field_name = "unk_24"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); - auto n_unk_24 = new NodeSimple; - n_unk_24->m_field_name = field_name; - n_unk_24->m_df_type = DF_Type::int8_t; - n_unk_24->m_rdf_type = RDF_Type::int8_t; - n_unk_24->m_node_type = NodeType::Simple; - n_unk_24->m_address = base + offset; - n_unk_24->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_24); - - field_name = "unk_25"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); - auto n_unk_25 = new NodeSimple; - n_unk_25->m_field_name = field_name; - n_unk_25->m_df_type = DF_Type::int16_t; - n_unk_25->m_rdf_type = RDF_Type::int16_t; - n_unk_25->m_node_type = NodeType::Simple; - n_unk_25->m_address = base + offset; - n_unk_25->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_25); - - field_name = "unk_26"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); - auto n_unk_26 = new NodeSimple; - n_unk_26->m_field_name = field_name; - n_unk_26->m_df_type = DF_Type::int16_t; - n_unk_26->m_rdf_type = RDF_Type::int16_t; - n_unk_26->m_node_type = NodeType::Simple; - n_unk_26->m_address = base + offset; - n_unk_26->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_26); - - field_name = "unk_27"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); - auto n_unk_27 = new NodeSimple; - n_unk_27->m_field_name = field_name; - n_unk_27->m_df_type = DF_Type::int16_t; - n_unk_27->m_rdf_type = RDF_Type::int16_t; - n_unk_27->m_node_type = NodeType::Simple; - n_unk_27->m_address = base + offset; - n_unk_27->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_27); - - field_name = "unk_28"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); - auto n_unk_28 = new NodePointer; - n_unk_28->m_field_name = field_name; - n_unk_28->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_unk_28->m_rdf_type = RDF_Type::Pointer; - n_unk_28->m_node_type = NodeType::Pointer; - n_unk_28->m_addornements = "*"; - n_unk_28->m_address = base + offset; - n_unk_28->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_28); - - field_name = "unk_29"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); - auto n_unk_29 = new NodeVector; - n_unk_29->m_field_name = field_name; - n_unk_29->m_df_type = DF_Type::Void; - n_unk_29->m_rdf_type = RDF_Type::Vector; - n_unk_29->m_node_type = NodeType::Vector; - n_unk_29->m_addornements = "v"; - n_unk_29->m_address = base + offset; - n_unk_29->m_parent = p_node_parent; - n_unk_29->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_29); - - field_name = "unk_30"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); - auto n_unk_30 = new NodePointer; - n_unk_30->m_field_name = field_name; - n_unk_30->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_unk_30->m_rdf_type = RDF_Type::Pointer; - n_unk_30->m_node_type = NodeType::Pointer; - n_unk_30->m_addornements = "*"; - n_unk_30->m_address = base + offset; - n_unk_30->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_30); - - field_name = "unk_31"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); - auto n_unk_31 = new NodeVector; - n_unk_31->m_field_name = field_name; - n_unk_31->m_df_type = DF_Type::Void; - n_unk_31->m_rdf_type = RDF_Type::Vector; - n_unk_31->m_node_type = NodeType::Vector; - n_unk_31->m_addornements = "v"; - n_unk_31->m_address = base + offset; - n_unk_31->m_parent = p_node_parent; - n_unk_31->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_31); - - field_name = "unk_32"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); - auto n_unk_32 = new NodePointer; - n_unk_32->m_field_name = field_name; - n_unk_32->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_unk_32->m_rdf_type = RDF_Type::Pointer; - n_unk_32->m_node_type = NodeType::Pointer; - n_unk_32->m_addornements = "*"; - n_unk_32->m_address = base + offset; - n_unk_32->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_32); - - field_name = "unk_33"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); - auto n_unk_33 = new NodeVector; - n_unk_33->m_field_name = field_name; - n_unk_33->m_df_type = DF_Type::Void; - n_unk_33->m_rdf_type = RDF_Type::Vector; - n_unk_33->m_node_type = NodeType::Vector; - n_unk_33->m_addornements = "v"; - n_unk_33->m_address = base + offset; - n_unk_33->m_parent = p_node_parent; - n_unk_33->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_33); - - field_name = "unk_34"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); - auto n_unk_34 = new NodePointer; - n_unk_34->m_field_name = field_name; - n_unk_34->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_unk_34->m_rdf_type = RDF_Type::Pointer; - n_unk_34->m_node_type = NodeType::Pointer; - n_unk_34->m_addornements = "*"; - n_unk_34->m_address = base + offset; - n_unk_34->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_34); - - field_name = "unk_35"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); - auto n_unk_35 = new NodeSimple; - n_unk_35->m_field_name = field_name; - n_unk_35->m_df_type = DF_Type::int8_t; - n_unk_35->m_rdf_type = RDF_Type::int8_t; - n_unk_35->m_node_type = NodeType::Simple; - n_unk_35->m_address = base + offset; - n_unk_35->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_35); - - field_name = "unk_36"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); - auto n_unk_36 = new NodeSimple; - n_unk_36->m_field_name = field_name; - n_unk_36->m_df_type = DF_Type::int8_t; - n_unk_36->m_rdf_type = RDF_Type::int8_t; - n_unk_36->m_node_type = NodeType::Simple; - n_unk_36->m_address = base + offset; - n_unk_36->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_36); - - field_name = "unk_37"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); - auto n_unk_37 = new NodeVector; - n_unk_37->m_field_name = field_name; - n_unk_37->m_df_type = DF_Type::Void; - n_unk_37->m_rdf_type = RDF_Type::Vector; - n_unk_37->m_node_type = NodeType::Vector; - n_unk_37->m_addornements = "v"; - n_unk_37->m_address = base + offset; - n_unk_37->m_parent = p_node_parent; - n_unk_37->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_37); - - field_name = "unk_38"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); - auto n_unk_38 = new NodeVector; - n_unk_38->m_field_name = field_name; - n_unk_38->m_df_type = DF_Type::Void; - n_unk_38->m_rdf_type = RDF_Type::Vector; - n_unk_38->m_node_type = NodeType::Vector; - n_unk_38->m_addornements = "v"; - n_unk_38->m_address = base + offset; - n_unk_38->m_parent = p_node_parent; - n_unk_38->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_38); - - field_name = "unk_39"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); - auto n_unk_39 = new NodeVector; - n_unk_39->m_field_name = field_name; - n_unk_39->m_df_type = DF_Type::Void; - n_unk_39->m_rdf_type = RDF_Type::Vector; - n_unk_39->m_node_type = NodeType::Vector; - n_unk_39->m_addornements = "v"; - n_unk_39->m_address = base + offset; - n_unk_39->m_parent = p_node_parent; - n_unk_39->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_39); - - field_name = "unk_40"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); - auto n_unk_40 = new NodeVector; - n_unk_40->m_field_name = field_name; - n_unk_40->m_df_type = DF_Type::Void; - n_unk_40->m_rdf_type = RDF_Type::Vector; - n_unk_40->m_node_type = NodeType::Vector; - n_unk_40->m_addornements = "v"; - n_unk_40->m_address = base + offset; - n_unk_40->m_parent = p_node_parent; - n_unk_40->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_40); - - field_name = "unk_41"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); - auto n_unk_41 = new NodeVector; - n_unk_41->m_field_name = field_name; - n_unk_41->m_df_type = DF_Type::Void; - n_unk_41->m_rdf_type = RDF_Type::Vector; - n_unk_41->m_node_type = NodeType::Vector; - n_unk_41->m_addornements = "v"; - n_unk_41->m_address = base + offset; - n_unk_41->m_parent = p_node_parent; - n_unk_41->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_41); - - field_name = "unk_42"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); - auto n_unk_42 = new NodeVector; - n_unk_42->m_field_name = field_name; - n_unk_42->m_df_type = DF_Type::Void; - n_unk_42->m_rdf_type = RDF_Type::Vector; - n_unk_42->m_node_type = NodeType::Vector; - n_unk_42->m_addornements = "v"; - n_unk_42->m_address = base + offset; - n_unk_42->m_parent = p_node_parent; - n_unk_42->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_42); - - field_name = "unk_43"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); - auto n_unk_43 = new NodeVector; - n_unk_43->m_field_name = field_name; - n_unk_43->m_df_type = DF_Type::Void; - n_unk_43->m_rdf_type = RDF_Type::Vector; - n_unk_43->m_node_type = NodeType::Vector; - n_unk_43->m_addornements = "v"; - n_unk_43->m_address = base + offset; - n_unk_43->m_parent = p_node_parent; - n_unk_43->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_43); - - field_name = "unk_44"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); - auto n_unk_44 = new NodeVector; - n_unk_44->m_field_name = field_name; - n_unk_44->m_df_type = DF_Type::Void; - n_unk_44->m_rdf_type = RDF_Type::Vector; - n_unk_44->m_node_type = NodeType::Vector; - n_unk_44->m_addornements = "v"; - n_unk_44->m_address = base + offset; - n_unk_44->m_parent = p_node_parent; - n_unk_44->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_44); - - field_name = "unk_45"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); - auto n_unk_45 = new NodePointer; - n_unk_45->m_field_name = field_name; - n_unk_45->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_unk_45->m_rdf_type = RDF_Type::Pointer; - n_unk_45->m_node_type = NodeType::Pointer; - n_unk_45->m_addornements = "*"; - n_unk_45->m_address = base + offset; - n_unk_45->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_45); - - field_name = "unk_46"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); - auto n_unk_46 = new NodeSimple; - n_unk_46->m_field_name = field_name; - n_unk_46->m_df_type = DF_Type::Stl_string; - n_unk_46->m_rdf_type = RDF_Type::Stl_string; - n_unk_46->m_node_type = NodeType::Simple; - n_unk_46->m_address = base + offset; - n_unk_46->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_46); - - field_name = "unk_47"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); - auto n_unk_47 = new NodeSimple; - n_unk_47->m_field_name = field_name; - n_unk_47->m_df_type = DF_Type::int8_t; - n_unk_47->m_rdf_type = RDF_Type::int8_t; - n_unk_47->m_node_type = NodeType::Simple; - n_unk_47->m_address = base + offset; - n_unk_47->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_47); - - field_name = "unk_48"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); - auto n_unk_48 = new NodeSimple; - n_unk_48->m_field_name = field_name; - n_unk_48->m_df_type = DF_Type::int8_t; - n_unk_48->m_rdf_type = RDF_Type::int8_t; - n_unk_48->m_node_type = NodeType::Simple; - n_unk_48->m_address = base + offset; - n_unk_48->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_48); - - field_name = "unk_49"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); - auto n_unk_49 = new NodeSimple; - n_unk_49->m_field_name = field_name; - n_unk_49->m_df_type = DF_Type::int8_t; - n_unk_49->m_rdf_type = RDF_Type::int8_t; - n_unk_49->m_node_type = NodeType::Simple; - n_unk_49->m_address = base + offset; - n_unk_49->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_49); - - field_name = "unk_50"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); - auto n_unk_50 = new NodeVector; - n_unk_50->m_field_name = field_name; - n_unk_50->m_df_type = DF_Type::Void; - n_unk_50->m_rdf_type = RDF_Type::Vector; - n_unk_50->m_node_type = NodeType::Vector; - n_unk_50->m_addornements = "v"; - n_unk_50->m_address = base + offset; - n_unk_50->m_parent = p_node_parent; - n_unk_50->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_50); - - field_name = "unk_51"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); - auto n_unk_51 = new NodeVector; - n_unk_51->m_field_name = field_name; - n_unk_51->m_df_type = DF_Type::Bool; - n_unk_51->m_rdf_type = RDF_Type::Vector; - n_unk_51->m_node_type = NodeType::Vector; - n_unk_51->m_addornements = "v"; - n_unk_51->m_address = base + offset; - n_unk_51->m_parent = p_node_parent; - n_unk_51->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_51); - - field_name = "unk_52"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); - auto n_unk_52 = new NodeVector; - n_unk_52->m_field_name = field_name; - n_unk_52->m_df_type = DF_Type::Bool; - n_unk_52->m_rdf_type = RDF_Type::Vector; - n_unk_52->m_node_type = NodeType::Vector; - n_unk_52->m_addornements = "v"; - n_unk_52->m_address = base + offset; - n_unk_52->m_parent = p_node_parent; - n_unk_52->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_52); - - field_name = "unk_53"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); - auto n_unk_53 = new NodeSimple; - n_unk_53->m_field_name = field_name; - n_unk_53->m_df_type = DF_Type::int32_t; - n_unk_53->m_rdf_type = RDF_Type::int32_t; - n_unk_53->m_node_type = NodeType::Simple; - n_unk_53->m_address = base + offset; - n_unk_53->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_53); - - field_name = "unk_54"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); - auto n_unk_54 = new NodeVector; - n_unk_54->m_field_name = field_name; - n_unk_54->m_df_type = DF_Type::Void; - n_unk_54->m_rdf_type = RDF_Type::Vector; - n_unk_54->m_node_type = NodeType::Vector; - n_unk_54->m_addornements = "v"; - n_unk_54->m_address = base + offset; - n_unk_54->m_parent = p_node_parent; - n_unk_54->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_54); - - field_name = "unk_55"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); - auto n_unk_55 = new NodeVector; - n_unk_55->m_field_name = field_name; - n_unk_55->m_df_type = DF_Type::Void; - n_unk_55->m_rdf_type = RDF_Type::Vector; - n_unk_55->m_node_type = NodeType::Vector; - n_unk_55->m_addornements = "v"; - n_unk_55->m_address = base + offset; - n_unk_55->m_parent = p_node_parent; - n_unk_55->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_55); - - field_name = "unk_56"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); - auto n_unk_56 = new NodeVector; - n_unk_56->m_field_name = field_name; - n_unk_56->m_df_type = DF_Type::Void; - n_unk_56->m_rdf_type = RDF_Type::Vector; - n_unk_56->m_node_type = NodeType::Vector; - n_unk_56->m_addornements = "v"; - n_unk_56->m_address = base + offset; - n_unk_56->m_parent = p_node_parent; - n_unk_56->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_56); - - field_name = "unk_57"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); - auto n_unk_57 = new NodeVector; - n_unk_57->m_field_name = field_name; - n_unk_57->m_df_type = DF_Type::Void; - n_unk_57->m_rdf_type = RDF_Type::Vector; - n_unk_57->m_node_type = NodeType::Vector; - n_unk_57->m_addornements = "v"; - n_unk_57->m_address = base + offset; - n_unk_57->m_parent = p_node_parent; - n_unk_57->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_57); - - field_name = "unk_58"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); - auto n_unk_58 = new NodeVector; - n_unk_58->m_field_name = field_name; - n_unk_58->m_df_type = DF_Type::Void; - n_unk_58->m_rdf_type = RDF_Type::Vector; - n_unk_58->m_node_type = NodeType::Vector; - n_unk_58->m_addornements = "v"; - n_unk_58->m_address = base + offset; - n_unk_58->m_parent = p_node_parent; - n_unk_58->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_58); - - field_name = "unk_59"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); - auto n_unk_59 = new NodeVector; - n_unk_59->m_field_name = field_name; - n_unk_59->m_df_type = DF_Type::Void; - n_unk_59->m_rdf_type = RDF_Type::Vector; - n_unk_59->m_node_type = NodeType::Vector; - n_unk_59->m_addornements = "v"; - n_unk_59->m_address = base + offset; - n_unk_59->m_parent = p_node_parent; - n_unk_59->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_59); - - field_name = "unk_60"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); - auto n_unk_60 = new NodeVector; - n_unk_60->m_field_name = field_name; - n_unk_60->m_df_type = DF_Type::Void; - n_unk_60->m_rdf_type = RDF_Type::Vector; - n_unk_60->m_node_type = NodeType::Vector; - n_unk_60->m_addornements = "v"; - n_unk_60->m_address = base + offset; - n_unk_60->m_parent = p_node_parent; - n_unk_60->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_60); - - field_name = "unk_61"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); - auto n_unk_61 = new NodeVector; - n_unk_61->m_field_name = field_name; - n_unk_61->m_df_type = DF_Type::Void; - n_unk_61->m_rdf_type = RDF_Type::Vector; - n_unk_61->m_node_type = NodeType::Vector; - n_unk_61->m_addornements = "v"; - n_unk_61->m_address = base + offset; - n_unk_61->m_parent = p_node_parent; - n_unk_61->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_61); - - field_name = "unk_62"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); - auto n_unk_62 = new NodeVector; - n_unk_62->m_field_name = field_name; - n_unk_62->m_df_type = DF_Type::Void; - n_unk_62->m_rdf_type = RDF_Type::Vector; - n_unk_62->m_node_type = NodeType::Vector; - n_unk_62->m_addornements = "v"; - n_unk_62->m_address = base + offset; - n_unk_62->m_parent = p_node_parent; - n_unk_62->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_62); - -} -void node_from_ui_advmode__T_conversation__T_choices(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "choice"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_conversation__T_choices, field_name)); - auto n_choice = new NodePointer; - n_choice->m_field_name = field_name; - n_choice->m_df_type = get_real_subtype(base+offset, DF_Type::talk_choice); - n_choice->m_rdf_type = RDF_Type::Pointer; - n_choice->m_node_type = NodeType::Pointer; - n_choice->m_addornements = "*"; - n_choice->m_address = base + offset; - n_choice->m_parent = p_node_parent; - n_choice->m_defined_in = "df.advmode.xml"; - n_choice->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_choice); - - field_name = "keywords"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_conversation__T_choices, field_name)); - auto n_keywords = new NodeVector; - n_keywords->m_field_name = field_name; - n_keywords->m_df_type = DF_Type::Stl_string; - n_keywords->m_rdf_type = RDF_Type::Vector; - n_keywords->m_node_type = NodeType::Vector; - n_keywords->m_addornements = "v*"; - n_keywords->m_address = base + offset; - n_keywords->m_parent = p_node_parent; - n_keywords->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_keywords); - - field_name = "title"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_conversation__T_choices, field_name)); - auto n_title = new NodeVector; - n_title->m_field_name = field_name; - n_title->m_df_type = DF_Type::Stl_string; - n_title->m_rdf_type = RDF_Type::Vector; - n_title->m_node_type = NodeType::Vector; - n_title->m_addornements = "v*"; - n_title->m_address = base + offset; - n_title->m_parent = p_node_parent; - n_title->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_title); - - field_name = "orig_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_conversation__T_choices, field_name)); - auto n_orig_index = new NodeSimple; - n_orig_index->m_field_name = field_name; - n_orig_index->m_df_type = DF_Type::int32_t; - n_orig_index->m_rdf_type = RDF_Type::int32_t; - n_orig_index->m_node_type = NodeType::Simple; - n_orig_index->m_address = base + offset; - n_orig_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_orig_index); - - field_name = "ranking"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_conversation__T_choices, field_name)); - auto n_ranking = new NodeSimple; - n_ranking->m_field_name = field_name; - n_ranking->m_df_type = DF_Type::int32_t; - n_ranking->m_rdf_type = RDF_Type::int32_t; - n_ranking->m_node_type = NodeType::Simple; - n_ranking->m_address = base + offset; - n_ranking->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ranking); - -} -void node_from_ui_advmode__T_conversation__T_targets(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unit_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_conversation__T_targets, field_name)); - auto n_unit_id = new NodeSimple; - n_unit_id->m_field_name = field_name; - n_unit_id->m_df_type = DF_Type::int32_t; - n_unit_id->m_rdf_type = RDF_Type::int32_t; - n_unit_id->m_node_type = NodeType::Simple; - n_unit_id->m_address = base + offset; - n_unit_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unit_id); - - field_name = "histfig_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_conversation__T_targets, field_name)); - auto n_histfig_id = new NodeSimple; - n_histfig_id->m_field_name = field_name; - n_histfig_id->m_df_type = DF_Type::int32_t; - n_histfig_id->m_rdf_type = RDF_Type::int32_t; - n_histfig_id->m_node_type = NodeType::Simple; - n_histfig_id->m_address = base + offset; - n_histfig_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig_id); - - field_name = "type"; - auto n_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_conversation__T_targets, field_name)); - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::ui_advmode__T_conversation__T_targets__T_type; - n_type->m_rdf_type = RDF_Type::Enum; - n_type->m_node_type = NodeType::Enum; - n_type->m_base_type = DF_Type::int32_t; - n_type->m_enum_type = "ui_advmode::T_conversation::T_targets::T_type"; - n_type->m_address = base + offset; - n_type->m_first_value = 0; - n_type->m_last_value = 4; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - -} -void node_from_ui_advmode__T_conversation(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "activity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_conversation, field_name)); - auto n_activity = new NodeVector; - n_activity->m_field_name = field_name; - n_activity->m_df_type = DF_Type::activity_entry; - n_activity->m_rdf_type = RDF_Type::Vector; - n_activity->m_node_type = NodeType::Vector; - n_activity->m_defined_in = "df.meeting.xml"; - n_activity->m_addornements = "v*"; - n_activity->m_address = base + offset; - n_activity->m_parent = p_node_parent; - n_activity->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_activity); - - field_name = "activity_event"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_conversation, field_name)); - auto n_activity_event = new NodeVector; - n_activity_event->m_field_name = field_name; - n_activity_event->m_df_type = DF_Type::activity_event; - n_activity_event->m_rdf_type = RDF_Type::Vector; - n_activity_event->m_node_type = NodeType::Vector; - n_activity_event->m_defined_in = "df.meeting.xml"; - n_activity_event->m_addornements = "v*"; - n_activity_event->m_address = base + offset; - n_activity_event->m_parent = p_node_parent; - n_activity_event->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_activity_event); - - field_name = "cursor_activity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_conversation, field_name)); - auto n_cursor_activity = new NodeSimple; - n_cursor_activity->m_field_name = field_name; - n_cursor_activity->m_df_type = DF_Type::int32_t; - n_cursor_activity->m_rdf_type = RDF_Type::int32_t; - n_cursor_activity->m_node_type = NodeType::Simple; - n_cursor_activity->m_address = base + offset; - n_cursor_activity->m_refers_to = "$$._parent.activity[$]"; - n_cursor_activity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cursor_activity); - - field_name = "cursor_choice"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_conversation, field_name)); - auto n_cursor_choice = new NodeSimple; - n_cursor_choice->m_field_name = field_name; - n_cursor_choice->m_df_type = DF_Type::int32_t; - n_cursor_choice->m_rdf_type = RDF_Type::int32_t; - n_cursor_choice->m_node_type = NodeType::Simple; - n_cursor_choice->m_address = base + offset; - n_cursor_choice->m_refers_to = "$$._parent.choices[$]"; - n_cursor_choice->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cursor_choice); - - field_name = "current_page"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_conversation, field_name)); - auto n_current_page = new NodeSimple; - n_current_page->m_field_name = field_name; - n_current_page->m_df_type = DF_Type::int32_t; - n_current_page->m_rdf_type = RDF_Type::int32_t; - n_current_page->m_node_type = NodeType::Simple; - n_current_page->m_address = base + offset; - n_current_page->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_current_page); - - field_name = "page_top_choices"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_conversation, field_name)); - auto n_page_top_choices = new NodeVector; - n_page_top_choices->m_field_name = field_name; - n_page_top_choices->m_df_type = DF_Type::int32_t; - n_page_top_choices->m_rdf_type = RDF_Type::Vector; - n_page_top_choices->m_node_type = NodeType::Vector; - n_page_top_choices->m_addornements = "v"; - n_page_top_choices->m_address = base + offset; - n_page_top_choices->m_parent = p_node_parent; - n_page_top_choices->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_page_top_choices); - - field_name = "page_bottom_choices"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_conversation, field_name)); - auto n_page_bottom_choices = new NodeVector; - n_page_bottom_choices->m_field_name = field_name; - n_page_bottom_choices->m_df_type = DF_Type::int32_t; - n_page_bottom_choices->m_rdf_type = RDF_Type::Vector; - n_page_bottom_choices->m_node_type = NodeType::Vector; - n_page_bottom_choices->m_addornements = "v"; - n_page_bottom_choices->m_address = base + offset; - n_page_bottom_choices->m_parent = p_node_parent; - n_page_bottom_choices->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_page_bottom_choices); - - field_name = "choices"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_conversation, field_name)); - auto n_choices = new NodeVector; - n_choices->m_field_name = field_name; - n_choices->m_df_type = DF_Type::ui_advmode__T_conversation__T_choices; - n_choices->m_rdf_type = RDF_Type::Vector; - n_choices->m_node_type = NodeType::Vector; - n_choices->m_addornements = "v*"; - n_choices->m_address = base + offset; - n_choices->m_parent = p_node_parent; - n_choices->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_choices); - - field_name = "filter"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_conversation, field_name)); - auto n_filter = new NodeSimple; - n_filter->m_field_name = field_name; - n_filter->m_df_type = DF_Type::Stl_string; - n_filter->m_rdf_type = RDF_Type::Stl_string; - n_filter->m_node_type = NodeType::Simple; - n_filter->m_address = base + offset; - n_filter->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_filter); - - field_name = "targets"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_conversation, field_name)); - auto n_targets = new NodeVector; - n_targets->m_field_name = field_name; - n_targets->m_df_type = DF_Type::ui_advmode__T_conversation__T_targets; - n_targets->m_rdf_type = RDF_Type::Vector; - n_targets->m_node_type = NodeType::Vector; - n_targets->m_addornements = "v*"; - n_targets->m_address = base + offset; - n_targets->m_parent = p_node_parent; - n_targets->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_targets); - - field_name = "cursor_target"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_conversation, field_name)); - auto n_cursor_target = new NodeSimple; - n_cursor_target->m_field_name = field_name; - n_cursor_target->m_df_type = DF_Type::int32_t; - n_cursor_target->m_rdf_type = RDF_Type::int32_t; - n_cursor_target->m_node_type = NodeType::Simple; - n_cursor_target->m_address = base + offset; - n_cursor_target->m_refers_to = "$$._parent.targets[$]"; - n_cursor_target->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cursor_target); - -} -void node_from_ui_advmode__T_companions(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unit"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_companions, field_name)); - auto n_unit = new NodeVector; - n_unit->m_field_name = field_name; - n_unit->m_df_type = DF_Type::unit; - n_unit->m_rdf_type = RDF_Type::Vector; - n_unit->m_node_type = NodeType::Vector; - n_unit->m_defined_in = "df.units.xml"; - n_unit->m_addornements = "v*"; - n_unit->m_address = base + offset; - n_unit->m_parent = p_node_parent; - n_unit->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unit); - - field_name = "unit_visible"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_companions, field_name)); - auto n_unit_visible = new NodeVector; - n_unit_visible->m_field_name = field_name; - n_unit_visible->m_df_type = DF_Type::Bool; - n_unit_visible->m_rdf_type = RDF_Type::Vector; - n_unit_visible->m_node_type = NodeType::Vector; - n_unit_visible->m_addornements = "v"; - n_unit_visible->m_address = base + offset; - n_unit_visible->m_parent = p_node_parent; - n_unit_visible->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unit_visible); - - field_name = "unit_position"; - auto n_unit_position = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_companions, field_name)); - n_unit_position->m_field_name = field_name; - n_unit_position->m_df_type = DF_Type::coord_path; - n_unit_position->m_rdf_type = RDF_Type::Struct; - n_unit_position->m_node_type = NodeType::Compound; - n_unit_position->m_address = base + offset; - n_unit_position->m_defined_in = "df.map.xml"; - n_unit_position->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unit_position); - - field_name = "all_histfigs"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_companions, field_name)); - auto n_all_histfigs = new NodeVector; - n_all_histfigs->m_field_name = field_name; - n_all_histfigs->m_df_type = DF_Type::int32_t; - n_all_histfigs->m_rdf_type = RDF_Type::Vector; - n_all_histfigs->m_node_type = NodeType::Vector; - n_all_histfigs->m_addornements = "v"; - n_all_histfigs->m_address = base + offset; - n_all_histfigs->m_comment = "includes dead"; - n_all_histfigs->m_parent = p_node_parent; - n_all_histfigs->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_all_histfigs); - -} -void node_from_ui_advmode__T_interactions(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk_85"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_interactions, field_name)); - auto n_unk_85 = new NodeVector; - n_unk_85->m_field_name = field_name; - n_unk_85->m_df_type = DF_Type::Void; - n_unk_85->m_rdf_type = RDF_Type::Vector; - n_unk_85->m_node_type = NodeType::Vector; - n_unk_85->m_addornements = "v"; - n_unk_85->m_address = base + offset; - n_unk_85->m_parent = p_node_parent; - n_unk_85->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_85); - - field_name = "unk_86"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_interactions, field_name)); - auto n_unk_86 = new NodeVector; - n_unk_86->m_field_name = field_name; - n_unk_86->m_df_type = DF_Type::Void; - n_unk_86->m_rdf_type = RDF_Type::Vector; - n_unk_86->m_node_type = NodeType::Vector; - n_unk_86->m_addornements = "v"; - n_unk_86->m_address = base + offset; - n_unk_86->m_parent = p_node_parent; - n_unk_86->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_86); - - field_name = "unk_1e4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_interactions, field_name)); - auto n_unk_1e4 = new NodePointer; - n_unk_1e4->m_field_name = field_name; - n_unk_1e4->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_unk_1e4->m_rdf_type = RDF_Type::Pointer; - n_unk_1e4->m_node_type = NodeType::Pointer; - n_unk_1e4->m_addornements = "*"; - n_unk_1e4->m_address = base + offset; - n_unk_1e4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_1e4); - - field_name = "selected_ability"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_interactions, field_name)); - auto n_selected_ability = new NodeSimple; - n_selected_ability->m_field_name = field_name; - n_selected_ability->m_df_type = DF_Type::int32_t; - n_selected_ability->m_rdf_type = RDF_Type::int32_t; - n_selected_ability->m_node_type = NodeType::Simple; - n_selected_ability->m_address = base + offset; - n_selected_ability->m_comment = "natural ability"; - n_selected_ability->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_selected_ability); - - field_name = "selected_power"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_interactions, field_name)); - auto n_selected_power = new NodeSimple; - n_selected_power->m_field_name = field_name; - n_selected_power->m_df_type = DF_Type::int32_t; - n_selected_power->m_rdf_type = RDF_Type::int32_t; - n_selected_power->m_node_type = NodeType::Simple; - n_selected_power->m_address = base + offset; - n_selected_power->m_comment = "acquired power"; - n_selected_power->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_selected_power); - - field_name = "unk_1f0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_interactions, field_name)); - auto n_unk_1f0 = new NodePointer; - n_unk_1f0->m_field_name = field_name; - n_unk_1f0->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_unk_1f0->m_rdf_type = RDF_Type::Pointer; - n_unk_1f0->m_node_type = NodeType::Pointer; - n_unk_1f0->m_addornements = "*"; - n_unk_1f0->m_address = base + offset; - n_unk_1f0->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_1f0); - - field_name = "max_target_number"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_interactions, field_name)); - auto n_max_target_number = new NodeSimple; - n_max_target_number->m_field_name = field_name; - n_max_target_number->m_df_type = DF_Type::int32_t; - n_max_target_number->m_rdf_type = RDF_Type::int32_t; - n_max_target_number->m_node_type = NodeType::Simple; - n_max_target_number->m_address = base + offset; - n_max_target_number->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_max_target_number); - - field_name = "target_range"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_interactions, field_name)); - auto n_target_range = new NodeSimple; - n_target_range->m_field_name = field_name; - n_target_range->m_df_type = DF_Type::int32_t; - n_target_range->m_rdf_type = RDF_Type::int32_t; - n_target_range->m_node_type = NodeType::Simple; - n_target_range->m_address = base + offset; - n_target_range->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_target_range); - - field_name = "target_flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_interactions, field_name)); - auto n_target_flags = new NodeBitfield; - n_target_flags->m_field_name = field_name; - n_target_flags->m_df_type = DF_Type::creature_interaction_target_flags; - n_target_flags->m_rdf_type = RDF_Type::Bitfield; - n_target_flags->m_node_type = NodeType::Bitfield; - n_target_flags->m_address = base + offset; - n_target_flags->m_defined_in = "df.creature-raws.xml"; - n_target_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_target_flags); - - field_name = "unk_200"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_interactions, field_name)); - auto n_unk_200 = new NodePointer; - n_unk_200->m_field_name = field_name; - n_unk_200->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_unk_200->m_rdf_type = RDF_Type::Pointer; - n_unk_200->m_node_type = NodeType::Pointer; - n_unk_200->m_addornements = "*"; - n_unk_200->m_address = base + offset; - n_unk_200->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_200); - -} -void node_from_ui_advmode__T_unk_v40_2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk_s1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_2, field_name)); - auto n_unk_s1 = new NodeVector; - n_unk_s1->m_field_name = field_name; - n_unk_s1->m_df_type = DF_Type::Void; - n_unk_s1->m_rdf_type = RDF_Type::Vector; - n_unk_s1->m_node_type = NodeType::Vector; - n_unk_s1->m_addornements = "v"; - n_unk_s1->m_address = base + offset; - n_unk_s1->m_parent = p_node_parent; - n_unk_s1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_s1); - - field_name = "unk_s2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_2, field_name)); - auto n_unk_s2 = new NodeVector; - n_unk_s2->m_field_name = field_name; - n_unk_s2->m_df_type = DF_Type::Void; - n_unk_s2->m_rdf_type = RDF_Type::Vector; - n_unk_s2->m_node_type = NodeType::Vector; - n_unk_s2->m_addornements = "v"; - n_unk_s2->m_address = base + offset; - n_unk_s2->m_parent = p_node_parent; - n_unk_s2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_s2); - - field_name = "unk_s3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_2, field_name)); - auto n_unk_s3 = new NodeVector; - n_unk_s3->m_field_name = field_name; - n_unk_s3->m_df_type = DF_Type::Void; - n_unk_s3->m_rdf_type = RDF_Type::Vector; - n_unk_s3->m_node_type = NodeType::Vector; - n_unk_s3->m_addornements = "v"; - n_unk_s3->m_address = base + offset; - n_unk_s3->m_parent = p_node_parent; - n_unk_s3->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_s3); - - field_name = "unk_s4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_2, field_name)); - auto n_unk_s4 = new NodeVector; - n_unk_s4->m_field_name = field_name; - n_unk_s4->m_df_type = DF_Type::Void; - n_unk_s4->m_rdf_type = RDF_Type::Vector; - n_unk_s4->m_node_type = NodeType::Vector; - n_unk_s4->m_addornements = "v"; - n_unk_s4->m_address = base + offset; - n_unk_s4->m_parent = p_node_parent; - n_unk_s4->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_s4); - - field_name = "unk_s5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_2, field_name)); - auto n_unk_s5 = new NodeSimple; - n_unk_s5->m_field_name = field_name; - n_unk_s5->m_df_type = DF_Type::int8_t; - n_unk_s5->m_rdf_type = RDF_Type::int8_t; - n_unk_s5->m_node_type = NodeType::Simple; - n_unk_s5->m_address = base + offset; - n_unk_s5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_s5); - - field_name = "unk_s6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_2, field_name)); - auto n_unk_s6 = new NodeVector; - n_unk_s6->m_field_name = field_name; - n_unk_s6->m_df_type = DF_Type::Void; - n_unk_s6->m_rdf_type = RDF_Type::Vector; - n_unk_s6->m_node_type = NodeType::Vector; - n_unk_s6->m_addornements = "v"; - n_unk_s6->m_address = base + offset; - n_unk_s6->m_parent = p_node_parent; - n_unk_s6->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_s6); - - field_name = "unk_s7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_2, field_name)); - auto n_unk_s7 = new NodeVector; - n_unk_s7->m_field_name = field_name; - n_unk_s7->m_df_type = DF_Type::Void; - n_unk_s7->m_rdf_type = RDF_Type::Vector; - n_unk_s7->m_node_type = NodeType::Vector; - n_unk_s7->m_addornements = "v"; - n_unk_s7->m_address = base + offset; - n_unk_s7->m_parent = p_node_parent; - n_unk_s7->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_s7); - -} -void node_from_ui_advmode__T_unk_v40_3(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk_s1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_3, field_name)); - auto n_unk_s1 = new NodeSimple; - n_unk_s1->m_field_name = field_name; - n_unk_s1->m_df_type = DF_Type::int32_t; - n_unk_s1->m_rdf_type = RDF_Type::int32_t; - n_unk_s1->m_node_type = NodeType::Simple; - n_unk_s1->m_address = base + offset; - n_unk_s1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_s1); - - field_name = "unk_s2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_3, field_name)); - auto n_unk_s2 = new NodeVector; - n_unk_s2->m_field_name = field_name; - n_unk_s2->m_df_type = DF_Type::Void; - n_unk_s2->m_rdf_type = RDF_Type::Vector; - n_unk_s2->m_node_type = NodeType::Vector; - n_unk_s2->m_addornements = "v"; - n_unk_s2->m_address = base + offset; - n_unk_s2->m_parent = p_node_parent; - n_unk_s2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_s2); - -} -void node_from_ui_advmode__T_unk_v40_4__T_unk_v40_4a(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk_s1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_4__T_unk_v40_4a, field_name)); - auto n_unk_s1 = new NodeSimple; - n_unk_s1->m_field_name = field_name; - n_unk_s1->m_df_type = DF_Type::int32_t; - n_unk_s1->m_rdf_type = RDF_Type::int32_t; - n_unk_s1->m_node_type = NodeType::Simple; - n_unk_s1->m_address = base + offset; - n_unk_s1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_s1); - - field_name = "unk_s2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_4__T_unk_v40_4a, field_name)); - auto n_unk_s2 = new NodeSimple; - n_unk_s2->m_field_name = field_name; - n_unk_s2->m_df_type = DF_Type::int16_t; - n_unk_s2->m_rdf_type = RDF_Type::int16_t; - n_unk_s2->m_node_type = NodeType::Simple; - n_unk_s2->m_address = base + offset; - n_unk_s2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_s2); - - field_name = "unk_s3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_4__T_unk_v40_4a, field_name)); - auto n_unk_s3 = new NodeSimple; - n_unk_s3->m_field_name = field_name; - n_unk_s3->m_df_type = DF_Type::int16_t; - n_unk_s3->m_rdf_type = RDF_Type::int16_t; - n_unk_s3->m_node_type = NodeType::Simple; - n_unk_s3->m_address = base + offset; - n_unk_s3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_s3); - - field_name = "unk_s4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_4__T_unk_v40_4a, field_name)); - auto n_unk_s4 = new NodeSimple; - n_unk_s4->m_field_name = field_name; - n_unk_s4->m_df_type = DF_Type::int16_t; - n_unk_s4->m_rdf_type = RDF_Type::int16_t; - n_unk_s4->m_node_type = NodeType::Simple; - n_unk_s4->m_address = base + offset; - n_unk_s4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_s4); - - field_name = "unk_s5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_4__T_unk_v40_4a, field_name)); - auto n_unk_s5 = new NodeSimple; - n_unk_s5->m_field_name = field_name; - n_unk_s5->m_df_type = DF_Type::int16_t; - n_unk_s5->m_rdf_type = RDF_Type::int16_t; - n_unk_s5->m_node_type = NodeType::Simple; - n_unk_s5->m_address = base + offset; - n_unk_s5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_s5); - - field_name = "unk_s6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_4__T_unk_v40_4a, field_name)); - auto n_unk_s6 = new NodeSimple; - n_unk_s6->m_field_name = field_name; - n_unk_s6->m_df_type = DF_Type::int16_t; - n_unk_s6->m_rdf_type = RDF_Type::int16_t; - n_unk_s6->m_node_type = NodeType::Simple; - n_unk_s6->m_address = base + offset; - n_unk_s6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_s6); - - field_name = "unk_s7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_4__T_unk_v40_4a, field_name)); - auto n_unk_s7 = new NodeSimple; - n_unk_s7->m_field_name = field_name; - n_unk_s7->m_df_type = DF_Type::int16_t; - n_unk_s7->m_rdf_type = RDF_Type::int16_t; - n_unk_s7->m_node_type = NodeType::Simple; - n_unk_s7->m_address = base + offset; - n_unk_s7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_s7); - - field_name = "unk_s8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_4__T_unk_v40_4a, field_name)); - auto n_unk_s8 = new NodeSimple; - n_unk_s8->m_field_name = field_name; - n_unk_s8->m_df_type = DF_Type::int16_t; - n_unk_s8->m_rdf_type = RDF_Type::int16_t; - n_unk_s8->m_node_type = NodeType::Simple; - n_unk_s8->m_address = base + offset; - n_unk_s8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_s8); - - field_name = "unk_s9"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_4__T_unk_v40_4a, field_name)); - auto n_unk_s9 = new NodeSimple; - n_unk_s9->m_field_name = field_name; - n_unk_s9->m_df_type = DF_Type::int32_t; - n_unk_s9->m_rdf_type = RDF_Type::int32_t; - n_unk_s9->m_node_type = NodeType::Simple; - n_unk_s9->m_address = base + offset; - n_unk_s9->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_s9); - - field_name = "unk_s10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_4__T_unk_v40_4a, field_name)); - auto n_unk_s10 = new NodeSimple; - n_unk_s10->m_field_name = field_name; - n_unk_s10->m_df_type = DF_Type::int32_t; - n_unk_s10->m_rdf_type = RDF_Type::int32_t; - n_unk_s10->m_node_type = NodeType::Simple; - n_unk_s10->m_address = base + offset; - n_unk_s10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_s10); - -} -void node_from_ui_advmode__T_unk_v40_4(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk_v40_4a"; - auto n_unk_v40_4a = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_4, field_name)); - n_unk_v40_4a->m_field_name = field_name; - n_unk_v40_4a->m_df_type = DF_Type::ui_advmode__T_unk_v40_4__T_unk_v40_4a; - n_unk_v40_4a->m_rdf_type = RDF_Type::Array; - n_unk_v40_4a->m_node_type = NodeType::Array; - n_unk_v40_4a->m_addornements = "[100"; - n_unk_v40_4a->m_array_size = 100; - n_unk_v40_4a->m_address = base + offset; - n_unk_v40_4a->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_4a); - - field_name = "unk_v40_4b"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_4, field_name)); - auto n_unk_v40_4b = new NodeSimple; - n_unk_v40_4b->m_field_name = field_name; - n_unk_v40_4b->m_df_type = DF_Type::int32_t; - n_unk_v40_4b->m_rdf_type = RDF_Type::int32_t; - n_unk_v40_4b->m_node_type = NodeType::Simple; - n_unk_v40_4b->m_address = base + offset; - n_unk_v40_4b->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_4b); - -} -void node_from_ui_advmode__T_unk_v40_5(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk_s1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_5, field_name)); - auto n_unk_s1 = new NodeVector; - n_unk_s1->m_field_name = field_name; - n_unk_s1->m_df_type = DF_Type::Void; - n_unk_s1->m_rdf_type = RDF_Type::Vector; - n_unk_s1->m_node_type = NodeType::Vector; - n_unk_s1->m_addornements = "v"; - n_unk_s1->m_address = base + offset; - n_unk_s1->m_parent = p_node_parent; - n_unk_s1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_s1); - - field_name = "unk_s2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_5, field_name)); - auto n_unk_s2 = new NodeVector; - n_unk_s2->m_field_name = field_name; - n_unk_s2->m_df_type = DF_Type::Void; - n_unk_s2->m_rdf_type = RDF_Type::Vector; - n_unk_s2->m_node_type = NodeType::Vector; - n_unk_s2->m_addornements = "v"; - n_unk_s2->m_address = base + offset; - n_unk_s2->m_parent = p_node_parent; - n_unk_s2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_s2); - - field_name = "unk_s3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_5, field_name)); - auto n_unk_s3 = new NodeVector; - n_unk_s3->m_field_name = field_name; - n_unk_s3->m_df_type = DF_Type::Void; - n_unk_s3->m_rdf_type = RDF_Type::Vector; - n_unk_s3->m_node_type = NodeType::Vector; - n_unk_s3->m_addornements = "v"; - n_unk_s3->m_address = base + offset; - n_unk_s3->m_parent = p_node_parent; - n_unk_s3->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_s3); - - field_name = "unk_s4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_5, field_name)); - auto n_unk_s4 = new NodeSimple; - n_unk_s4->m_field_name = field_name; - n_unk_s4->m_df_type = DF_Type::int32_t; - n_unk_s4->m_rdf_type = RDF_Type::int32_t; - n_unk_s4->m_node_type = NodeType::Simple; - n_unk_s4->m_address = base + offset; - n_unk_s4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_s4); - - field_name = "unk_s5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_5, field_name)); - auto n_unk_s5 = new NodeVector; - n_unk_s5->m_field_name = field_name; - n_unk_s5->m_df_type = DF_Type::Void; - n_unk_s5->m_rdf_type = RDF_Type::Vector; - n_unk_s5->m_node_type = NodeType::Vector; - n_unk_s5->m_addornements = "v"; - n_unk_s5->m_address = base + offset; - n_unk_s5->m_parent = p_node_parent; - n_unk_s5->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_s5); - - field_name = "unk_s6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_5, field_name)); - auto n_unk_s6 = new NodeVector; - n_unk_s6->m_field_name = field_name; - n_unk_s6->m_df_type = DF_Type::Void; - n_unk_s6->m_rdf_type = RDF_Type::Vector; - n_unk_s6->m_node_type = NodeType::Vector; - n_unk_s6->m_addornements = "v"; - n_unk_s6->m_address = base + offset; - n_unk_s6->m_parent = p_node_parent; - n_unk_s6->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_s6); - -} -void node_from_ui_advmode__T_unk_v42_1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk_s1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v42_1, field_name)); - auto n_unk_s1 = new NodeSimple; - n_unk_s1->m_field_name = field_name; - n_unk_s1->m_df_type = DF_Type::int32_t; - n_unk_s1->m_rdf_type = RDF_Type::int32_t; - n_unk_s1->m_node_type = NodeType::Simple; - n_unk_s1->m_address = base + offset; - n_unk_s1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_s1); - - field_name = "unk_s2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v42_1, field_name)); - auto n_unk_s2 = new NodeVector; - n_unk_s2->m_field_name = field_name; - n_unk_s2->m_df_type = DF_Type::Void; - n_unk_s2->m_rdf_type = RDF_Type::Vector; - n_unk_s2->m_node_type = NodeType::Vector; - n_unk_s2->m_addornements = "v"; - n_unk_s2->m_address = base + offset; - n_unk_s2->m_parent = p_node_parent; - n_unk_s2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_s2); - - field_name = "unk_s3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v42_1, field_name)); - auto n_unk_s3 = new NodeVector; - n_unk_s3->m_field_name = field_name; - n_unk_s3->m_df_type = DF_Type::Void; - n_unk_s3->m_rdf_type = RDF_Type::Vector; - n_unk_s3->m_node_type = NodeType::Vector; - n_unk_s3->m_addornements = "v"; - n_unk_s3->m_address = base + offset; - n_unk_s3->m_parent = p_node_parent; - n_unk_s3->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_s3); - - field_name = "unk_s4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v42_1, field_name)); - auto n_unk_s4 = new NodeSimple; - n_unk_s4->m_field_name = field_name; - n_unk_s4->m_df_type = DF_Type::Stl_string; - n_unk_s4->m_rdf_type = RDF_Type::Stl_string; - n_unk_s4->m_node_type = NodeType::Simple; - n_unk_s4->m_address = base + offset; - n_unk_s4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_s4); - - field_name = "unk_s5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v42_1, field_name)); - auto n_unk_s5 = new NodeSimple; - n_unk_s5->m_field_name = field_name; - n_unk_s5->m_df_type = DF_Type::int8_t; - n_unk_s5->m_rdf_type = RDF_Type::int8_t; - n_unk_s5->m_node_type = NodeType::Simple; - n_unk_s5->m_address = base + offset; - n_unk_s5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_s5); - - field_name = "unk_s6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v42_1, field_name)); - auto n_unk_s6 = new NodeSimple; - n_unk_s6->m_field_name = field_name; - n_unk_s6->m_df_type = DF_Type::int32_t; - n_unk_s6->m_rdf_type = RDF_Type::int32_t; - n_unk_s6->m_node_type = NodeType::Simple; - n_unk_s6->m_address = base + offset; - n_unk_s6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_s6); - - field_name = "unk_s7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v42_1, field_name)); - auto n_unk_s7 = new NodeSimple; - n_unk_s7->m_field_name = field_name; - n_unk_s7->m_df_type = DF_Type::int32_t; - n_unk_s7->m_rdf_type = RDF_Type::int32_t; - n_unk_s7->m_node_type = NodeType::Simple; - n_unk_s7->m_address = base + offset; - n_unk_s7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_s7); - - field_name = "unk_s8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v42_1, field_name)); - auto n_unk_s8 = new NodeSimple; - n_unk_s8->m_field_name = field_name; - n_unk_s8->m_df_type = DF_Type::int32_t; - n_unk_s8->m_rdf_type = RDF_Type::int32_t; - n_unk_s8->m_node_type = NodeType::Simple; - n_unk_s8->m_address = base + offset; - n_unk_s8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_s8); - - field_name = "unk_s9"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v42_1, field_name)); - auto n_unk_s9 = new NodeVector; - n_unk_s9->m_field_name = field_name; - n_unk_s9->m_df_type = DF_Type::Void; - n_unk_s9->m_rdf_type = RDF_Type::Vector; - n_unk_s9->m_node_type = NodeType::Vector; - n_unk_s9->m_addornements = "v"; - n_unk_s9->m_address = base + offset; - n_unk_s9->m_parent = p_node_parent; - n_unk_s9->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_s9); - -} -void node_from_ui_advmode__T_assume_identity(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mode"; - auto n_mode = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_assume_identity, field_name)); - n_mode->m_field_name = field_name; - n_mode->m_df_type = DF_Type::assume_identity_mode; - n_mode->m_rdf_type = RDF_Type::Enum; - n_mode->m_node_type = NodeType::Enum; - n_mode->m_base_type = DF_Type::int32_t; - n_mode->m_enum_type = "assume_identity_mode"; - n_mode->m_address = base + offset; - n_mode->m_defined_in = "df.advmode.xml"; - n_mode->m_first_value = 0; - n_mode->m_last_value = 4; - n_mode->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mode); - - field_name = "name"; - auto n_name = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_assume_identity, field_name)); - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::language_name; - n_name->m_rdf_type = RDF_Type::Struct; - n_name->m_node_type = NodeType::Compound; - n_name->m_address = base + offset; - n_name->m_defined_in = "df.language.xml"; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "worship_object"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_assume_identity, field_name)); - auto n_worship_object = new NodeSimple; - n_worship_object->m_field_name = field_name; - n_worship_object->m_df_type = DF_Type::int32_t; - n_worship_object->m_rdf_type = RDF_Type::int32_t; - n_worship_object->m_node_type = NodeType::Simple; - n_worship_object->m_address = base + offset; - n_worship_object->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_worship_object); - - field_name = "profession"; - auto n_profession = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_assume_identity, field_name)); - n_profession->m_field_name = field_name; - n_profession->m_df_type = DF_Type::profession; - n_profession->m_rdf_type = RDF_Type::Enum; - n_profession->m_node_type = NodeType::Enum; - n_profession->m_base_type = DF_Type::int32_t; - n_profession->m_enum_type = "profession"; - n_profession->m_address = base + offset; - n_profession->m_defined_in = "df.skills.xml"; - n_profession->m_first_value = -1; - n_profession->m_last_value = 134; - n_profession->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_profession); - - field_name = "origin"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_assume_identity, field_name)); - auto n_origin = new NodeSimple; - n_origin->m_field_name = field_name; - n_origin->m_df_type = DF_Type::int32_t; - n_origin->m_rdf_type = RDF_Type::int32_t; - n_origin->m_node_type = NodeType::Simple; - n_origin->m_address = base + offset; - n_origin->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_origin); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_assume_identity, field_name)); - auto n_anon_1 = new NodeVector; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::Void; - n_anon_1->m_rdf_type = RDF_Type::Vector; - n_anon_1->m_node_type = NodeType::Vector; - n_anon_1->m_addornements = "v"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_assume_identity, field_name)); - auto n_anon_2 = new NodeVector; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::Void; - n_anon_2->m_rdf_type = RDF_Type::Vector; - n_anon_2->m_node_type = NodeType::Vector; - n_anon_2->m_addornements = "v"; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - n_anon_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "filter"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_assume_identity, field_name)); - auto n_filter = new NodeSimple; - n_filter->m_field_name = field_name; - n_filter->m_df_type = DF_Type::Stl_string; - n_filter->m_rdf_type = RDF_Type::Stl_string; - n_filter->m_node_type = NodeType::Simple; - n_filter->m_address = base + offset; - n_filter->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_filter); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_assume_identity, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int8_t; - n_anon_3->m_rdf_type = RDF_Type::int8_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_assume_identity, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - -} -void node_from_ui_advmode(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "menu"; - auto n_menu = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - n_menu->m_field_name = field_name; - n_menu->m_df_type = DF_Type::ui_advmode_menu; - n_menu->m_rdf_type = RDF_Type::Enum; - n_menu->m_node_type = NodeType::Enum; - n_menu->m_base_type = DF_Type::int16_t; - n_menu->m_enum_type = "ui_advmode_menu"; - n_menu->m_address = base + offset; - n_menu->m_defined_in = "df.advmode.xml"; - n_menu->m_first_value = 0; - n_menu->m_last_value = 48; - n_menu->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_menu); - - field_name = "site_level_zoom"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_site_level_zoom = new NodeSimple; - n_site_level_zoom->m_field_name = field_name; - n_site_level_zoom->m_df_type = DF_Type::int8_t; - n_site_level_zoom->m_rdf_type = RDF_Type::int8_t; - n_site_level_zoom->m_node_type = NodeType::Simple; - n_site_level_zoom->m_address = base + offset; - n_site_level_zoom->m_comment = "when set, the travel map is zoomed in to show site details"; - n_site_level_zoom->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_level_zoom); - - field_name = "travel_origin_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_travel_origin_x = new NodeSimple; - n_travel_origin_x->m_field_name = field_name; - n_travel_origin_x->m_df_type = DF_Type::int32_t; - n_travel_origin_x->m_rdf_type = RDF_Type::int32_t; - n_travel_origin_x->m_node_type = NodeType::Simple; - n_travel_origin_x->m_address = base + offset; - n_travel_origin_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_travel_origin_x); - - field_name = "travel_origin_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_travel_origin_y = new NodeSimple; - n_travel_origin_y->m_field_name = field_name; - n_travel_origin_y->m_df_type = DF_Type::int32_t; - n_travel_origin_y->m_rdf_type = RDF_Type::int32_t; - n_travel_origin_y->m_node_type = NodeType::Simple; - n_travel_origin_y->m_address = base + offset; - n_travel_origin_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_travel_origin_y); - - field_name = "travel_origin_z"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_travel_origin_z = new NodeSimple; - n_travel_origin_z->m_field_name = field_name; - n_travel_origin_z->m_df_type = DF_Type::int32_t; - n_travel_origin_z->m_rdf_type = RDF_Type::int32_t; - n_travel_origin_z->m_node_type = NodeType::Simple; - n_travel_origin_z->m_address = base + offset; - n_travel_origin_z->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_travel_origin_z); - - field_name = "travel_clouds"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_travel_clouds = new NodeSimple; - n_travel_clouds->m_field_name = field_name; - n_travel_clouds->m_df_type = DF_Type::Bool; - n_travel_clouds->m_rdf_type = RDF_Type::Bool; - n_travel_clouds->m_node_type = NodeType::Simple; - n_travel_clouds->m_address = base + offset; - n_travel_clouds->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_travel_clouds); - - field_name = "travel_right_map"; - auto n_travel_right_map = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - n_travel_right_map->m_field_name = field_name; - n_travel_right_map->m_df_type = DF_Type::ui_advmode__T_travel_right_map; - n_travel_right_map->m_rdf_type = RDF_Type::Enum; - n_travel_right_map->m_node_type = NodeType::Enum; - n_travel_right_map->m_base_type = DF_Type::int8_t; - n_travel_right_map->m_enum_type = "ui_advmode::T_travel_right_map"; - n_travel_right_map->m_address = base + offset; - n_travel_right_map->m_first_value = 0; - n_travel_right_map->m_last_value = 2; - n_travel_right_map->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_travel_right_map); - - field_name = "show_menu"; - auto n_show_menu = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - n_show_menu->m_field_name = field_name; - n_show_menu->m_df_type = DF_Type::ui_advmode__T_show_menu; - n_show_menu->m_rdf_type = RDF_Type::Enum; - n_show_menu->m_node_type = NodeType::Enum; - n_show_menu->m_base_type = DF_Type::int8_t; - n_show_menu->m_enum_type = "ui_advmode::T_show_menu"; - n_show_menu->m_address = base + offset; - n_show_menu->m_comment = "bottom menu in travel mode"; - n_show_menu->m_first_value = -1; - n_show_menu->m_last_value = 3; - n_show_menu->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_show_menu); - - field_name = "message"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_message = new NodeSimple; - n_message->m_field_name = field_name; - n_message->m_df_type = DF_Type::Stl_string; - n_message->m_rdf_type = RDF_Type::Stl_string; - n_message->m_node_type = NodeType::Simple; - n_message->m_address = base + offset; - n_message->m_comment = "you must move from surrounding obstacles"; - n_message->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_message); - - field_name = "message_color"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_message_color = new NodeSimple; - n_message_color->m_field_name = field_name; - n_message_color->m_df_type = DF_Type::int16_t; - n_message_color->m_rdf_type = RDF_Type::int16_t; - n_message_color->m_node_type = NodeType::Simple; - n_message_color->m_address = base + offset; - n_message_color->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_message_color); - - field_name = "message_brightness"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_message_brightness = new NodeSimple; - n_message_brightness->m_field_name = field_name; - n_message_brightness->m_df_type = DF_Type::int8_t; - n_message_brightness->m_rdf_type = RDF_Type::int8_t; - n_message_brightness->m_node_type = NodeType::Simple; - n_message_brightness->m_address = base + offset; - n_message_brightness->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_message_brightness); - - field_name = "travel_not_moved"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_travel_not_moved = new NodeSimple; - n_travel_not_moved->m_field_name = field_name; - n_travel_not_moved->m_df_type = DF_Type::Bool; - n_travel_not_moved->m_rdf_type = RDF_Type::Bool; - n_travel_not_moved->m_node_type = NodeType::Simple; - n_travel_not_moved->m_address = base + offset; - n_travel_not_moved->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_travel_not_moved); - - field_name = "unk4b"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk4b = new NodeSimple; - n_unk4b->m_field_name = field_name; - n_unk4b->m_df_type = DF_Type::int8_t; - n_unk4b->m_rdf_type = RDF_Type::int8_t; - n_unk4b->m_node_type = NodeType::Simple; - n_unk4b->m_address = base + offset; - n_unk4b->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk4b); - - field_name = "travel_move_countdown"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_travel_move_countdown = new NodeSimple; - n_travel_move_countdown->m_field_name = field_name; - n_travel_move_countdown->m_df_type = DF_Type::uint8_t; - n_travel_move_countdown->m_rdf_type = RDF_Type::uint8_t; - n_travel_move_countdown->m_node_type = NodeType::Simple; - n_travel_move_countdown->m_address = base + offset; - n_travel_move_countdown->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_travel_move_countdown); - - field_name = "unk_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_4 = new NodeSimple; - n_unk_4->m_field_name = field_name; - n_unk_4->m_df_type = DF_Type::int32_t; - n_unk_4->m_rdf_type = RDF_Type::int32_t; - n_unk_4->m_node_type = NodeType::Simple; - n_unk_4->m_address = base + offset; - n_unk_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_4); - - field_name = "unk_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_5 = new NodeSimple; - n_unk_5->m_field_name = field_name; - n_unk_5->m_df_type = DF_Type::int32_t; - n_unk_5->m_rdf_type = RDF_Type::int32_t; - n_unk_5->m_node_type = NodeType::Simple; - n_unk_5->m_address = base + offset; - n_unk_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_5); - - field_name = "unk_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_6 = new NodeSimple; - n_unk_6->m_field_name = field_name; - n_unk_6->m_df_type = DF_Type::int32_t; - n_unk_6->m_rdf_type = RDF_Type::int32_t; - n_unk_6->m_node_type = NodeType::Simple; - n_unk_6->m_address = base + offset; - n_unk_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_6); - - field_name = "unk_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_7 = new NodeSimple; - n_unk_7->m_field_name = field_name; - n_unk_7->m_df_type = DF_Type::int32_t; - n_unk_7->m_rdf_type = RDF_Type::int32_t; - n_unk_7->m_node_type = NodeType::Simple; - n_unk_7->m_address = base + offset; - n_unk_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_7); - - field_name = "unk_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_8 = new NodePointer; - n_unk_8->m_field_name = field_name; - n_unk_8->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_unk_8->m_rdf_type = RDF_Type::Pointer; - n_unk_8->m_node_type = NodeType::Pointer; - n_unk_8->m_addornements = "*"; - n_unk_8->m_address = base + offset; - n_unk_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_8); - - field_name = "unk_9"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_9 = new NodeSimple; - n_unk_9->m_field_name = field_name; - n_unk_9->m_df_type = DF_Type::int32_t; - n_unk_9->m_rdf_type = RDF_Type::int32_t; - n_unk_9->m_node_type = NodeType::Simple; - n_unk_9->m_address = base + offset; - n_unk_9->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_9); - - field_name = "unk_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_10 = new NodeSimple; - n_unk_10->m_field_name = field_name; - n_unk_10->m_df_type = DF_Type::int32_t; - n_unk_10->m_rdf_type = RDF_Type::int32_t; - n_unk_10->m_node_type = NodeType::Simple; - n_unk_10->m_address = base + offset; - n_unk_10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_10); - - field_name = "unk_11"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_11 = new NodeSimple; - n_unk_11->m_field_name = field_name; - n_unk_11->m_df_type = DF_Type::int32_t; - n_unk_11->m_rdf_type = RDF_Type::int32_t; - n_unk_11->m_node_type = NodeType::Simple; - n_unk_11->m_address = base + offset; - n_unk_11->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_11); - - field_name = "unk_12"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_12 = new NodeSimple; - n_unk_12->m_field_name = field_name; - n_unk_12->m_df_type = DF_Type::int32_t; - n_unk_12->m_rdf_type = RDF_Type::int32_t; - n_unk_12->m_node_type = NodeType::Simple; - n_unk_12->m_address = base + offset; - n_unk_12->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_12); - - field_name = "unk_13"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_13 = new NodeSimple; - n_unk_13->m_field_name = field_name; - n_unk_13->m_df_type = DF_Type::int32_t; - n_unk_13->m_rdf_type = RDF_Type::int32_t; - n_unk_13->m_node_type = NodeType::Simple; - n_unk_13->m_address = base + offset; - n_unk_13->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_13); - - field_name = "unk_14"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_14 = new NodeSimple; - n_unk_14->m_field_name = field_name; - n_unk_14->m_df_type = DF_Type::int8_t; - n_unk_14->m_rdf_type = RDF_Type::int8_t; - n_unk_14->m_node_type = NodeType::Simple; - n_unk_14->m_address = base + offset; - n_unk_14->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_14); - - field_name = "tick_counter"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_tick_counter = new NodeSimple; - n_tick_counter->m_field_name = field_name; - n_tick_counter->m_df_type = DF_Type::int32_t; - n_tick_counter->m_rdf_type = RDF_Type::int32_t; - n_tick_counter->m_node_type = NodeType::Simple; - n_tick_counter->m_address = base + offset; - n_tick_counter->m_comment = "goes up to XXX"; - n_tick_counter->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tick_counter); - - field_name = "frame_counter"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_frame_counter = new NodeSimple; - n_frame_counter->m_field_name = field_name; - n_frame_counter->m_df_type = DF_Type::int32_t; - n_frame_counter->m_rdf_type = RDF_Type::int32_t; - n_frame_counter->m_node_type = NodeType::Simple; - n_frame_counter->m_address = base + offset; - n_frame_counter->m_comment = "goes up to 10000 (ticks?)"; - n_frame_counter->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_frame_counter); - - field_name = "unk_15"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_15 = new NodeSimple; - n_unk_15->m_field_name = field_name; - n_unk_15->m_df_type = DF_Type::int16_t; - n_unk_15->m_rdf_type = RDF_Type::int16_t; - n_unk_15->m_node_type = NodeType::Simple; - n_unk_15->m_address = base + offset; - n_unk_15->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_15); - - field_name = "sleeping"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_sleeping = new NodeSimple; - n_sleeping->m_field_name = field_name; - n_sleeping->m_df_type = DF_Type::Bool; - n_sleeping->m_rdf_type = RDF_Type::Bool; - n_sleeping->m_node_type = NodeType::Simple; - n_sleeping->m_address = base + offset; - n_sleeping->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sleeping); - - field_name = "unk_16"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_16 = new NodeSimple; - n_unk_16->m_field_name = field_name; - n_unk_16->m_df_type = DF_Type::int8_t; - n_unk_16->m_rdf_type = RDF_Type::int8_t; - n_unk_16->m_node_type = NodeType::Simple; - n_unk_16->m_address = base + offset; - n_unk_16->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_16); - - field_name = "bogeymen_timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_bogeymen_timer = new NodeSimple; - n_bogeymen_timer->m_field_name = field_name; - n_bogeymen_timer->m_df_type = DF_Type::int32_t; - n_bogeymen_timer->m_rdf_type = RDF_Type::int32_t; - n_bogeymen_timer->m_node_type = NodeType::Simple; - n_bogeymen_timer->m_address = base + offset; - n_bogeymen_timer->m_comment = "initialized to 4-7 when the cackling starts"; - n_bogeymen_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_bogeymen_timer); - - field_name = "bogeymen_killed"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_bogeymen_killed = new NodeSimple; - n_bogeymen_killed->m_field_name = field_name; - n_bogeymen_killed->m_df_type = DF_Type::int32_t; - n_bogeymen_killed->m_rdf_type = RDF_Type::int32_t; - n_bogeymen_killed->m_node_type = NodeType::Simple; - n_bogeymen_killed->m_address = base + offset; - n_bogeymen_killed->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_bogeymen_killed); - - field_name = "bogeymen_ambush_delay"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_bogeymen_ambush_delay = new NodeSimple; - n_bogeymen_ambush_delay->m_field_name = field_name; - n_bogeymen_ambush_delay->m_df_type = DF_Type::int32_t; - n_bogeymen_ambush_delay->m_rdf_type = RDF_Type::int32_t; - n_bogeymen_ambush_delay->m_node_type = NodeType::Simple; - n_bogeymen_ambush_delay->m_address = base + offset; - n_bogeymen_ambush_delay->m_comment = "initialized to 60 when the cackling starts, prevents bogeyman ambushes until it decreases to 0"; - n_bogeymen_ambush_delay->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_bogeymen_ambush_delay); - - field_name = "unk_18"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_18 = new NodeSimple; - n_unk_18->m_field_name = field_name; - n_unk_18->m_df_type = DF_Type::int32_t; - n_unk_18->m_rdf_type = RDF_Type::int32_t; - n_unk_18->m_node_type = NodeType::Simple; - n_unk_18->m_address = base + offset; - n_unk_18->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_18); - - field_name = "searched_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_searched_x = new NodeVector; - n_searched_x->m_field_name = field_name; - n_searched_x->m_df_type = DF_Type::int32_t; - n_searched_x->m_rdf_type = RDF_Type::Vector; - n_searched_x->m_node_type = NodeType::Vector; - n_searched_x->m_addornements = "v"; - n_searched_x->m_address = base + offset; - n_searched_x->m_parent = p_node_parent; - n_searched_x->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_searched_x); - - field_name = "searched_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_searched_y = new NodeVector; - n_searched_y->m_field_name = field_name; - n_searched_y->m_df_type = DF_Type::int32_t; - n_searched_y->m_rdf_type = RDF_Type::Vector; - n_searched_y->m_node_type = NodeType::Vector; - n_searched_y->m_addornements = "v"; - n_searched_y->m_address = base + offset; - n_searched_y->m_parent = p_node_parent; - n_searched_y->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_searched_y); - - field_name = "searched_z"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_searched_z = new NodeVector; - n_searched_z->m_field_name = field_name; - n_searched_z->m_df_type = DF_Type::int32_t; - n_searched_z->m_rdf_type = RDF_Type::Vector; - n_searched_z->m_node_type = NodeType::Vector; - n_searched_z->m_addornements = "v"; - n_searched_z->m_address = base + offset; - n_searched_z->m_parent = p_node_parent; - n_searched_z->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_searched_z); - - field_name = "searched_timeout"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_searched_timeout = new NodeVector; - n_searched_timeout->m_field_name = field_name; - n_searched_timeout->m_df_type = DF_Type::int32_t; - n_searched_timeout->m_rdf_type = RDF_Type::Vector; - n_searched_timeout->m_node_type = NodeType::Vector; - n_searched_timeout->m_addornements = "v"; - n_searched_timeout->m_address = base + offset; - n_searched_timeout->m_parent = p_node_parent; - n_searched_timeout->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_searched_timeout); - - field_name = "unk_19"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_19 = new NodeSimple; - n_unk_19->m_field_name = field_name; - n_unk_19->m_df_type = DF_Type::int8_t; - n_unk_19->m_rdf_type = RDF_Type::int8_t; - n_unk_19->m_node_type = NodeType::Simple; - n_unk_19->m_address = base + offset; - n_unk_19->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_19); - - field_name = "unk_20"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_20 = new NodeSimple; - n_unk_20->m_field_name = field_name; - n_unk_20->m_df_type = DF_Type::int32_t; - n_unk_20->m_rdf_type = RDF_Type::int32_t; - n_unk_20->m_node_type = NodeType::Simple; - n_unk_20->m_address = base + offset; - n_unk_20->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_20); - - field_name = "unk_21"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_21 = new NodeSimple; - n_unk_21->m_field_name = field_name; - n_unk_21->m_df_type = DF_Type::int32_t; - n_unk_21->m_rdf_type = RDF_Type::int32_t; - n_unk_21->m_node_type = NodeType::Simple; - n_unk_21->m_address = base + offset; - n_unk_21->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_21); - - field_name = "unk_22"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_22 = new NodeSimple; - n_unk_22->m_field_name = field_name; - n_unk_22->m_df_type = DF_Type::int32_t; - n_unk_22->m_rdf_type = RDF_Type::int32_t; - n_unk_22->m_node_type = NodeType::Simple; - n_unk_22->m_address = base + offset; - n_unk_22->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_22); - - field_name = "unk_23"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_23 = new NodeSimple; - n_unk_23->m_field_name = field_name; - n_unk_23->m_df_type = DF_Type::int8_t; - n_unk_23->m_rdf_type = RDF_Type::int8_t; - n_unk_23->m_node_type = NodeType::Simple; - n_unk_23->m_address = base + offset; - n_unk_23->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_23); - - field_name = "unk_24"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_24 = new NodeVector; - n_unk_24->m_field_name = field_name; - n_unk_24->m_df_type = DF_Type::int32_t; - n_unk_24->m_rdf_type = RDF_Type::Vector; - n_unk_24->m_node_type = NodeType::Vector; - n_unk_24->m_addornements = "v"; - n_unk_24->m_address = base + offset; - n_unk_24->m_parent = p_node_parent; - n_unk_24->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_24); - - field_name = "unk_25"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_25 = new NodeVector; - n_unk_25->m_field_name = field_name; - n_unk_25->m_df_type = DF_Type::int32_t; - n_unk_25->m_rdf_type = RDF_Type::Vector; - n_unk_25->m_node_type = NodeType::Vector; - n_unk_25->m_addornements = "v"; - n_unk_25->m_address = base + offset; - n_unk_25->m_parent = p_node_parent; - n_unk_25->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_25); - - field_name = "unk_26"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_26 = new NodeVector; - n_unk_26->m_field_name = field_name; - n_unk_26->m_df_type = DF_Type::int32_t; - n_unk_26->m_rdf_type = RDF_Type::Vector; - n_unk_26->m_node_type = NodeType::Vector; - n_unk_26->m_addornements = "v"; - n_unk_26->m_address = base + offset; - n_unk_26->m_parent = p_node_parent; - n_unk_26->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_26); - - field_name = "unk_27"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_27 = new NodeSimple; - n_unk_27->m_field_name = field_name; - n_unk_27->m_df_type = DF_Type::int32_t; - n_unk_27->m_rdf_type = RDF_Type::int32_t; - n_unk_27->m_node_type = NodeType::Simple; - n_unk_27->m_address = base + offset; - n_unk_27->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_27); - - field_name = "unk_28"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_28 = new NodeSimple; - n_unk_28->m_field_name = field_name; - n_unk_28->m_df_type = DF_Type::int32_t; - n_unk_28->m_rdf_type = RDF_Type::int32_t; - n_unk_28->m_node_type = NodeType::Simple; - n_unk_28->m_address = base + offset; - n_unk_28->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_28); - - field_name = "unk_29"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_29 = new NodeSimple; - n_unk_29->m_field_name = field_name; - n_unk_29->m_df_type = DF_Type::int8_t; - n_unk_29->m_rdf_type = RDF_Type::int8_t; - n_unk_29->m_node_type = NodeType::Simple; - n_unk_29->m_address = base + offset; - n_unk_29->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_29); - - field_name = "unk_30"; - auto n_unk_30 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - n_unk_30->m_field_name = field_name; - n_unk_30->m_df_type = DF_Type::int32_t; - n_unk_30->m_rdf_type = RDF_Type::Array; - n_unk_30->m_node_type = NodeType::Array; - n_unk_30->m_addornements = "[1000"; - n_unk_30->m_array_size = 1000; - n_unk_30->m_address = base + offset; - n_unk_30->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_30); - - field_name = "unk_31"; - auto n_unk_31 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - n_unk_31->m_field_name = field_name; - n_unk_31->m_df_type = DF_Type::int32_t; - n_unk_31->m_rdf_type = RDF_Type::Array; - n_unk_31->m_node_type = NodeType::Array; - n_unk_31->m_addornements = "[1000"; - n_unk_31->m_array_size = 1000; - n_unk_31->m_address = base + offset; - n_unk_31->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_31); - - field_name = "unk_32"; - auto n_unk_32 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - n_unk_32->m_field_name = field_name; - n_unk_32->m_df_type = DF_Type::int32_t; - n_unk_32->m_rdf_type = RDF_Type::Array; - n_unk_32->m_node_type = NodeType::Array; - n_unk_32->m_addornements = "[1000"; - n_unk_32->m_array_size = 1000; - n_unk_32->m_address = base + offset; - n_unk_32->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_32); - - field_name = "unk_33"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_33 = new NodeSimple; - n_unk_33->m_field_name = field_name; - n_unk_33->m_df_type = DF_Type::int32_t; - n_unk_33->m_rdf_type = RDF_Type::int32_t; - n_unk_33->m_node_type = NodeType::Simple; - n_unk_33->m_address = base + offset; - n_unk_33->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_33); - - field_name = "view_tracks_odors"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_view_tracks_odors = new NodeSimple; - n_view_tracks_odors->m_field_name = field_name; - n_view_tracks_odors->m_df_type = DF_Type::int32_t; - n_view_tracks_odors->m_rdf_type = RDF_Type::int32_t; - n_view_tracks_odors->m_node_type = NodeType::Simple; - n_view_tracks_odors->m_address = base + offset; - n_view_tracks_odors->m_comment = "The value of view_tracks_odors determines the combination of local/travel mode track/odor screens currently displayed. Opening the local tracks screen increments this value by 1, opening travel mode tracks+odors increments by 2, opening local odors increments by 4. Closing the screens decrements respectively."; - n_view_tracks_odors->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_view_tracks_odors); - - field_name = "tracks_visible"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_tracks_visible = new NodeSimple; - n_tracks_visible->m_field_name = field_name; - n_tracks_visible->m_df_type = DF_Type::int32_t; - n_tracks_visible->m_rdf_type = RDF_Type::int32_t; - n_tracks_visible->m_node_type = NodeType::Simple; - n_tracks_visible->m_address = base + offset; - n_tracks_visible->m_comment = "The quantity of visible tracks."; - n_tracks_visible->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tracks_visible); - - field_name = "unk_36"; - auto n_unk_36 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - n_unk_36->m_field_name = field_name; - n_unk_36->m_df_type = DF_Type::int16_t; - n_unk_36->m_rdf_type = RDF_Type::Array; - n_unk_36->m_node_type = NodeType::Array; - n_unk_36->m_addornements = "[9"; - n_unk_36->m_array_size = 9; - n_unk_36->m_address = base + offset; - n_unk_36->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_36); - - field_name = "unk_37"; - auto n_unk_37 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - n_unk_37->m_field_name = field_name; - n_unk_37->m_df_type = DF_Type::int16_t; - n_unk_37->m_rdf_type = RDF_Type::Array; - n_unk_37->m_node_type = NodeType::Array; - n_unk_37->m_addornements = "[9"; - n_unk_37->m_array_size = 9; - n_unk_37->m_address = base + offset; - n_unk_37->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_37); - - field_name = "unk_38"; - auto n_unk_38 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - n_unk_38->m_field_name = field_name; - n_unk_38->m_df_type = DF_Type::int16_t; - n_unk_38->m_rdf_type = RDF_Type::Array; - n_unk_38->m_node_type = NodeType::Array; - n_unk_38->m_addornements = "[9"; - n_unk_38->m_array_size = 9; - n_unk_38->m_address = base + offset; - n_unk_38->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_38); - - field_name = "unk_v40_1"; - auto n_unk_v40_1 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - n_unk_v40_1->m_field_name = field_name; - n_unk_v40_1->m_df_type = DF_Type::ui_advmode__T_unk_v40_1; - n_unk_v40_1->m_rdf_type = RDF_Type::Array; - n_unk_v40_1->m_node_type = NodeType::Array; - n_unk_v40_1->m_addornements = "[9"; - n_unk_v40_1->m_array_size = 9; - n_unk_v40_1->m_address = base + offset; - n_unk_v40_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_1); - - field_name = "unk_39"; - auto n_unk_39 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - n_unk_39->m_field_name = field_name; - n_unk_39->m_df_type = DF_Type::int8_t; - n_unk_39->m_rdf_type = RDF_Type::Array; - n_unk_39->m_node_type = NodeType::Array; - n_unk_39->m_addornements = "[9"; - n_unk_39->m_array_size = 9; - n_unk_39->m_address = base + offset; - n_unk_39->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_39); - - field_name = "unk_40"; - auto n_unk_40 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - n_unk_40->m_field_name = field_name; - n_unk_40->m_df_type = DF_Type::int8_t; - n_unk_40->m_rdf_type = RDF_Type::Array; - n_unk_40->m_node_type = NodeType::Array; - n_unk_40->m_addornements = "[9"; - n_unk_40->m_array_size = 9; - n_unk_40->m_address = base + offset; - n_unk_40->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_40); - - field_name = "unk_41"; - auto n_unk_41 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - n_unk_41->m_field_name = field_name; - n_unk_41->m_df_type = DF_Type::int32_t; - n_unk_41->m_rdf_type = RDF_Type::Array; - n_unk_41->m_node_type = NodeType::Array; - n_unk_41->m_addornements = "[9"; - n_unk_41->m_array_size = 9; - n_unk_41->m_address = base + offset; - n_unk_41->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_41); - - field_name = "unk_42"; - auto n_unk_42 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - n_unk_42->m_field_name = field_name; - n_unk_42->m_df_type = DF_Type::int8_t; - n_unk_42->m_rdf_type = RDF_Type::Array; - n_unk_42->m_node_type = NodeType::Array; - n_unk_42->m_addornements = "[9"; - n_unk_42->m_array_size = 9; - n_unk_42->m_address = base + offset; - n_unk_42->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_42); - - field_name = "odor_race"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_odor_race = new NodeSimple; - n_odor_race->m_field_name = field_name; - n_odor_race->m_df_type = DF_Type::int32_t; - n_odor_race->m_rdf_type = RDF_Type::int32_t; - n_odor_race->m_node_type = NodeType::Simple; - n_odor_race->m_address = base + offset; - n_odor_race->m_comment = "race ID of strongest odor creature"; - n_odor_race->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_odor_race); - - field_name = "odor_caste"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_odor_caste = new NodeSimple; - n_odor_caste->m_field_name = field_name; - n_odor_caste->m_df_type = DF_Type::int32_t; - n_odor_caste->m_rdf_type = RDF_Type::int32_t; - n_odor_caste->m_node_type = NodeType::Simple; - n_odor_caste->m_address = base + offset; - n_odor_caste->m_comment = "caste ID of strongest odor creature"; - n_odor_caste->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_odor_caste); - - field_name = "odor_death"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_odor_death = new NodeSimple; - n_odor_death->m_field_name = field_name; - n_odor_death->m_df_type = DF_Type::int8_t; - n_odor_death->m_rdf_type = RDF_Type::int8_t; - n_odor_death->m_node_type = NodeType::Simple; - n_odor_death->m_address = base + offset; - n_odor_death->m_comment = "Overrides creature odor with odor of Death"; - n_odor_death->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_odor_death); - - field_name = "travel_odor_race"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_travel_odor_race = new NodeSimple; - n_travel_odor_race->m_field_name = field_name; - n_travel_odor_race->m_df_type = DF_Type::int32_t; - n_travel_odor_race->m_rdf_type = RDF_Type::int32_t; - n_travel_odor_race->m_node_type = NodeType::Simple; - n_travel_odor_race->m_address = base + offset; - n_travel_odor_race->m_comment = "race ID of strongest odor creature in fast travel mode"; - n_travel_odor_race->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_travel_odor_race); - - field_name = "travel_odor_caste"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_travel_odor_caste = new NodeSimple; - n_travel_odor_caste->m_field_name = field_name; - n_travel_odor_caste->m_df_type = DF_Type::int32_t; - n_travel_odor_caste->m_rdf_type = RDF_Type::int32_t; - n_travel_odor_caste->m_node_type = NodeType::Simple; - n_travel_odor_caste->m_address = base + offset; - n_travel_odor_caste->m_comment = "caste ID of strongest odor creature in fast travel mode"; - n_travel_odor_caste->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_travel_odor_caste); - - field_name = "unk_46"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_46 = new NodeSimple; - n_unk_46->m_field_name = field_name; - n_unk_46->m_df_type = DF_Type::int8_t; - n_unk_46->m_rdf_type = RDF_Type::int8_t; - n_unk_46->m_node_type = NodeType::Simple; - n_unk_46->m_address = base + offset; - n_unk_46->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_46); - - field_name = "unk_47"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_47 = new NodeSimple; - n_unk_47->m_field_name = field_name; - n_unk_47->m_df_type = DF_Type::int32_t; - n_unk_47->m_rdf_type = RDF_Type::int32_t; - n_unk_47->m_node_type = NodeType::Simple; - n_unk_47->m_address = base + offset; - n_unk_47->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_47); - - field_name = "unk_3170"; - auto n_unk_3170 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - n_unk_3170->m_field_name = field_name; - n_unk_3170->m_df_type = DF_Type::ui_advmode__T_unk_3170; - n_unk_3170->m_rdf_type = RDF_Type::Compound; - n_unk_3170->m_node_type = NodeType::Compound; - n_unk_3170->m_address = base + offset; - n_unk_3170->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_3170); - - field_name = "unk_3124"; - auto n_unk_3124 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - n_unk_3124->m_field_name = field_name; - n_unk_3124->m_df_type = DF_Type::ui_advmode__T_unk_3124; - n_unk_3124->m_rdf_type = RDF_Type::Compound; - n_unk_3124->m_node_type = NodeType::Compound; - n_unk_3124->m_address = base + offset; - n_unk_3124->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_3124); - - field_name = "unk_48"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_48 = new NodeSimple; - n_unk_48->m_field_name = field_name; - n_unk_48->m_df_type = DF_Type::int32_t; - n_unk_48->m_rdf_type = RDF_Type::int32_t; - n_unk_48->m_node_type = NodeType::Simple; - n_unk_48->m_address = base + offset; - n_unk_48->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_48); - - field_name = "unk_49"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_49 = new NodeSimple; - n_unk_49->m_field_name = field_name; - n_unk_49->m_df_type = DF_Type::int32_t; - n_unk_49->m_rdf_type = RDF_Type::int32_t; - n_unk_49->m_node_type = NodeType::Simple; - n_unk_49->m_address = base + offset; - n_unk_49->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_49); - - field_name = "unk_50"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_50 = new NodeSimple; - n_unk_50->m_field_name = field_name; - n_unk_50->m_df_type = DF_Type::int32_t; - n_unk_50->m_rdf_type = RDF_Type::int32_t; - n_unk_50->m_node_type = NodeType::Simple; - n_unk_50->m_address = base + offset; - n_unk_50->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_50); - - field_name = "unk_51"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_51 = new NodeSimple; - n_unk_51->m_field_name = field_name; - n_unk_51->m_df_type = DF_Type::int32_t; - n_unk_51->m_rdf_type = RDF_Type::int32_t; - n_unk_51->m_node_type = NodeType::Simple; - n_unk_51->m_address = base + offset; - n_unk_51->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_51); - - field_name = "unk_52"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_52 = new NodeSimple; - n_unk_52->m_field_name = field_name; - n_unk_52->m_df_type = DF_Type::int32_t; - n_unk_52->m_rdf_type = RDF_Type::int32_t; - n_unk_52->m_node_type = NodeType::Simple; - n_unk_52->m_address = base + offset; - n_unk_52->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_52); - - field_name = "unk_53"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_53 = new NodeSimple; - n_unk_53->m_field_name = field_name; - n_unk_53->m_df_type = DF_Type::int32_t; - n_unk_53->m_rdf_type = RDF_Type::int32_t; - n_unk_53->m_node_type = NodeType::Simple; - n_unk_53->m_address = base + offset; - n_unk_53->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_53); - - field_name = "unk_54"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_54 = new NodeSimple; - n_unk_54->m_field_name = field_name; - n_unk_54->m_df_type = DF_Type::int32_t; - n_unk_54->m_rdf_type = RDF_Type::int32_t; - n_unk_54->m_node_type = NodeType::Simple; - n_unk_54->m_address = base + offset; - n_unk_54->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_54); - - field_name = "unk_55"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_55 = new NodeSimple; - n_unk_55->m_field_name = field_name; - n_unk_55->m_df_type = DF_Type::int8_t; - n_unk_55->m_rdf_type = RDF_Type::int8_t; - n_unk_55->m_node_type = NodeType::Simple; - n_unk_55->m_address = base + offset; - n_unk_55->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_55); - - field_name = "unk_56"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_56 = new NodeSimple; - n_unk_56->m_field_name = field_name; - n_unk_56->m_df_type = DF_Type::int32_t; - n_unk_56->m_rdf_type = RDF_Type::int32_t; - n_unk_56->m_node_type = NodeType::Simple; - n_unk_56->m_address = base + offset; - n_unk_56->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_56); - - field_name = "unk_57"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_57 = new NodeSimple; - n_unk_57->m_field_name = field_name; - n_unk_57->m_df_type = DF_Type::int32_t; - n_unk_57->m_rdf_type = RDF_Type::int32_t; - n_unk_57->m_node_type = NodeType::Simple; - n_unk_57->m_address = base + offset; - n_unk_57->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_57); - - field_name = "unk_58"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_58 = new NodeSimple; - n_unk_58->m_field_name = field_name; - n_unk_58->m_df_type = DF_Type::int32_t; - n_unk_58->m_rdf_type = RDF_Type::int32_t; - n_unk_58->m_node_type = NodeType::Simple; - n_unk_58->m_address = base + offset; - n_unk_58->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_58); - - field_name = "unk_59"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_59 = new NodeVector; - n_unk_59->m_field_name = field_name; - n_unk_59->m_df_type = DF_Type::Void; - n_unk_59->m_rdf_type = RDF_Type::Vector; - n_unk_59->m_node_type = NodeType::Vector; - n_unk_59->m_addornements = "v"; - n_unk_59->m_address = base + offset; - n_unk_59->m_parent = p_node_parent; - n_unk_59->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_59); - - field_name = "unk_60"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_60 = new NodeSimple; - n_unk_60->m_field_name = field_name; - n_unk_60->m_df_type = DF_Type::int32_t; - n_unk_60->m_rdf_type = RDF_Type::int32_t; - n_unk_60->m_node_type = NodeType::Simple; - n_unk_60->m_address = base + offset; - n_unk_60->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_60); - - field_name = "unk_61"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_61 = new NodeSimple; - n_unk_61->m_field_name = field_name; - n_unk_61->m_df_type = DF_Type::int8_t; - n_unk_61->m_rdf_type = RDF_Type::int8_t; - n_unk_61->m_node_type = NodeType::Simple; - n_unk_61->m_address = base + offset; - n_unk_61->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_61); - - field_name = "unk_62"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_62 = new NodeSimple; - n_unk_62->m_field_name = field_name; - n_unk_62->m_df_type = DF_Type::int16_t; - n_unk_62->m_rdf_type = RDF_Type::int16_t; - n_unk_62->m_node_type = NodeType::Simple; - n_unk_62->m_address = base + offset; - n_unk_62->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_62); - - field_name = "travel_start_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_travel_start_x = new NodeSimple; - n_travel_start_x->m_field_name = field_name; - n_travel_start_x->m_df_type = DF_Type::int16_t; - n_travel_start_x->m_rdf_type = RDF_Type::int16_t; - n_travel_start_x->m_node_type = NodeType::Simple; - n_travel_start_x->m_address = base + offset; - n_travel_start_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_travel_start_x); - - field_name = "travel_start_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_travel_start_y = new NodeSimple; - n_travel_start_y->m_field_name = field_name; - n_travel_start_y->m_df_type = DF_Type::int16_t; - n_travel_start_y->m_rdf_type = RDF_Type::int16_t; - n_travel_start_y->m_node_type = NodeType::Simple; - n_travel_start_y->m_address = base + offset; - n_travel_start_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_travel_start_y); - - field_name = "travel_start_z"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_travel_start_z = new NodeSimple; - n_travel_start_z->m_field_name = field_name; - n_travel_start_z->m_df_type = DF_Type::int16_t; - n_travel_start_z->m_rdf_type = RDF_Type::int16_t; - n_travel_start_z->m_node_type = NodeType::Simple; - n_travel_start_z->m_address = base + offset; - n_travel_start_z->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_travel_start_z); - - field_name = "player_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_player_id = new NodeSimple; - n_player_id->m_field_name = field_name; - n_player_id->m_df_type = DF_Type::int32_t; - n_player_id->m_rdf_type = RDF_Type::int32_t; - n_player_id->m_node_type = NodeType::Simple; - n_player_id->m_address = base + offset; - n_player_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_player_id); - - field_name = "unk_66"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_66 = new NodeSimple; - n_unk_66->m_field_name = field_name; - n_unk_66->m_df_type = DF_Type::int16_t; - n_unk_66->m_rdf_type = RDF_Type::int16_t; - n_unk_66->m_node_type = NodeType::Simple; - n_unk_66->m_address = base + offset; - n_unk_66->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_66); - - field_name = "unk_67"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_67 = new NodeSimple; - n_unk_67->m_field_name = field_name; - n_unk_67->m_df_type = DF_Type::int16_t; - n_unk_67->m_rdf_type = RDF_Type::int16_t; - n_unk_67->m_node_type = NodeType::Simple; - n_unk_67->m_address = base + offset; - n_unk_67->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_67); - - field_name = "unk_68"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_68 = new NodePointer; - n_unk_68->m_field_name = field_name; - n_unk_68->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_unk_68->m_rdf_type = RDF_Type::Pointer; - n_unk_68->m_node_type = NodeType::Pointer; - n_unk_68->m_addornements = "*"; - n_unk_68->m_address = base + offset; - n_unk_68->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_68); - - field_name = "unk_69"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_69 = new NodePointer; - n_unk_69->m_field_name = field_name; - n_unk_69->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_unk_69->m_rdf_type = RDF_Type::Pointer; - n_unk_69->m_node_type = NodeType::Pointer; - n_unk_69->m_addornements = "*"; - n_unk_69->m_address = base + offset; - n_unk_69->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_69); - - field_name = "conversation"; - auto n_conversation = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - n_conversation->m_field_name = field_name; - n_conversation->m_df_type = DF_Type::ui_advmode__T_conversation; - n_conversation->m_rdf_type = RDF_Type::Compound; - n_conversation->m_node_type = NodeType::Compound; - n_conversation->m_address = base + offset; - n_conversation->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_conversation); - - field_name = "unk_70"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_70 = new NodeVector; - n_unk_70->m_field_name = field_name; - n_unk_70->m_df_type = DF_Type::Void; - n_unk_70->m_rdf_type = RDF_Type::Vector; - n_unk_70->m_node_type = NodeType::Vector; - n_unk_70->m_addornements = "v"; - n_unk_70->m_address = base + offset; - n_unk_70->m_parent = p_node_parent; - n_unk_70->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_70); - - field_name = "unk_71"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_71 = new NodeSimple; - n_unk_71->m_field_name = field_name; - n_unk_71->m_df_type = DF_Type::int32_t; - n_unk_71->m_rdf_type = RDF_Type::int32_t; - n_unk_71->m_node_type = NodeType::Simple; - n_unk_71->m_address = base + offset; - n_unk_71->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_71); - - field_name = "unk_72"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_72 = new NodeVector; - n_unk_72->m_field_name = field_name; - n_unk_72->m_df_type = DF_Type::Void; - n_unk_72->m_rdf_type = RDF_Type::Vector; - n_unk_72->m_node_type = NodeType::Vector; - n_unk_72->m_addornements = "v"; - n_unk_72->m_address = base + offset; - n_unk_72->m_parent = p_node_parent; - n_unk_72->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_72); - - field_name = "interacts"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_interacts = new NodeVector; - n_interacts->m_field_name = field_name; - n_interacts->m_df_type = DF_Type::adventure_item_interact_choicest; - n_interacts->m_rdf_type = RDF_Type::Vector; - n_interacts->m_node_type = NodeType::Vector; - n_interacts->m_defined_in = "df.advmode.xml"; - n_interacts->m_addornements = "v*"; - n_interacts->m_address = base + offset; - n_interacts->m_parent = p_node_parent; - n_interacts->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_interacts); - - field_name = "commands"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_commands = new NodeVector; - n_commands->m_field_name = field_name; - n_commands->m_df_type = DF_Type::adventure_optionst; - n_commands->m_rdf_type = RDF_Type::Vector; - n_commands->m_node_type = NodeType::Vector; - n_commands->m_defined_in = "df.advmode.xml"; - n_commands->m_addornements = "v*"; - n_commands->m_address = base + offset; - n_commands->m_parent = p_node_parent; - n_commands->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_commands); - - field_name = "movements"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_movements = new NodeVector; - n_movements->m_field_name = field_name; - n_movements->m_df_type = DF_Type::adventure_movement_optionst; - n_movements->m_rdf_type = RDF_Type::Vector; - n_movements->m_node_type = NodeType::Vector; - n_movements->m_defined_in = "df.advmode.xml"; - n_movements->m_addornements = "v*"; - n_movements->m_address = base + offset; - n_movements->m_parent = p_node_parent; - n_movements->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_movements); - - field_name = "unk_75"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_75 = new NodeVector; - n_unk_75->m_field_name = field_name; - n_unk_75->m_df_type = DF_Type::Void; - n_unk_75->m_rdf_type = RDF_Type::Vector; - n_unk_75->m_node_type = NodeType::Vector; - n_unk_75->m_addornements = "v"; - n_unk_75->m_address = base + offset; - n_unk_75->m_parent = p_node_parent; - n_unk_75->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_75); - - field_name = "sleep_hours"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_sleep_hours = new NodeSimple; - n_sleep_hours->m_field_name = field_name; - n_sleep_hours->m_df_type = DF_Type::int32_t; - n_sleep_hours->m_rdf_type = RDF_Type::int32_t; - n_sleep_hours->m_node_type = NodeType::Simple; - n_sleep_hours->m_address = base + offset; - n_sleep_hours->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sleep_hours); - - field_name = "sleep_until_dawn"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_sleep_until_dawn = new NodeSimple; - n_sleep_until_dawn->m_field_name = field_name; - n_sleep_until_dawn->m_df_type = DF_Type::Bool; - n_sleep_until_dawn->m_rdf_type = RDF_Type::Bool; - n_sleep_until_dawn->m_node_type = NodeType::Simple; - n_sleep_until_dawn->m_address = base + offset; - n_sleep_until_dawn->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sleep_until_dawn); - - field_name = "unk_78"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_78 = new NodeSimple; - n_unk_78->m_field_name = field_name; - n_unk_78->m_df_type = DF_Type::int8_t; - n_unk_78->m_rdf_type = RDF_Type::int8_t; - n_unk_78->m_node_type = NodeType::Simple; - n_unk_78->m_address = base + offset; - n_unk_78->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_78); - - field_name = "wait"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_wait = new NodeSimple; - n_wait->m_field_name = field_name; - n_wait->m_df_type = DF_Type::Bool; - n_wait->m_rdf_type = RDF_Type::Bool; - n_wait->m_node_type = NodeType::Simple; - n_wait->m_address = base + offset; - n_wait->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_wait); - - field_name = "unk_80"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_80 = new NodeSimple; - n_unk_80->m_field_name = field_name; - n_unk_80->m_df_type = DF_Type::int8_t; - n_unk_80->m_rdf_type = RDF_Type::int8_t; - n_unk_80->m_node_type = NodeType::Simple; - n_unk_80->m_address = base + offset; - n_unk_80->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_80); - - field_name = "unk_81"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_81 = new NodeSimple; - n_unk_81->m_field_name = field_name; - n_unk_81->m_df_type = DF_Type::int8_t; - n_unk_81->m_rdf_type = RDF_Type::int8_t; - n_unk_81->m_node_type = NodeType::Simple; - n_unk_81->m_address = base + offset; - n_unk_81->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_81); - - field_name = "player_control_state"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_player_control_state = new NodeSimple; - n_player_control_state->m_field_name = field_name; - n_player_control_state->m_df_type = DF_Type::int8_t; - n_player_control_state->m_rdf_type = RDF_Type::int8_t; - n_player_control_state->m_node_type = NodeType::Simple; - n_player_control_state->m_address = base + offset; - n_player_control_state->m_comment = "Set to 2 when adventurer is unconscious, etc to prevent player from controlling the unit"; - n_player_control_state->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_player_control_state); - - field_name = "unk_83"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_83 = new NodeSimple; - n_unk_83->m_field_name = field_name; - n_unk_83->m_df_type = DF_Type::int8_t; - n_unk_83->m_rdf_type = RDF_Type::int8_t; - n_unk_83->m_node_type = NodeType::Simple; - n_unk_83->m_address = base + offset; - n_unk_83->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_83); - - field_name = "unk_84"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_84 = new NodeSimple; - n_unk_84->m_field_name = field_name; - n_unk_84->m_df_type = DF_Type::int32_t; - n_unk_84->m_rdf_type = RDF_Type::int32_t; - n_unk_84->m_node_type = NodeType::Simple; - n_unk_84->m_address = base + offset; - n_unk_84->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_84); - - field_name = "companions"; - auto n_companions = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - n_companions->m_field_name = field_name; - n_companions->m_df_type = DF_Type::ui_advmode__T_companions; - n_companions->m_rdf_type = RDF_Type::Compound; - n_companions->m_node_type = NodeType::Compound; - n_companions->m_address = base + offset; - n_companions->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_companions); - - field_name = "interactions"; - auto n_interactions = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - n_interactions->m_field_name = field_name; - n_interactions->m_df_type = DF_Type::ui_advmode__T_interactions; - n_interactions->m_rdf_type = RDF_Type::Compound; - n_interactions->m_node_type = NodeType::Compound; - n_interactions->m_address = base + offset; - n_interactions->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_interactions); - - field_name = "unk_87"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_87 = new NodeSimple; - n_unk_87->m_field_name = field_name; - n_unk_87->m_df_type = DF_Type::Stl_string; - n_unk_87->m_rdf_type = RDF_Type::Stl_string; - n_unk_87->m_node_type = NodeType::Simple; - n_unk_87->m_address = base + offset; - n_unk_87->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_87); - - field_name = "unk_220"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_220 = new NodeSimple; - n_unk_220->m_field_name = field_name; - n_unk_220->m_df_type = DF_Type::int32_t; - n_unk_220->m_rdf_type = RDF_Type::int32_t; - n_unk_220->m_node_type = NodeType::Simple; - n_unk_220->m_address = base + offset; - n_unk_220->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_220); - - field_name = "unk_224"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_224 = new NodeSimple; - n_unk_224->m_field_name = field_name; - n_unk_224->m_df_type = DF_Type::int32_t; - n_unk_224->m_rdf_type = RDF_Type::int32_t; - n_unk_224->m_node_type = NodeType::Simple; - n_unk_224->m_address = base + offset; - n_unk_224->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_224); - - field_name = "unk_v40_2"; - auto n_unk_v40_2 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - n_unk_v40_2->m_field_name = field_name; - n_unk_v40_2->m_df_type = DF_Type::ui_advmode__T_unk_v40_2; - n_unk_v40_2->m_rdf_type = RDF_Type::Compound; - n_unk_v40_2->m_node_type = NodeType::Compound; - n_unk_v40_2->m_address = base + offset; - n_unk_v40_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_2); - - field_name = "unk_v40_3"; - auto n_unk_v40_3 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - n_unk_v40_3->m_field_name = field_name; - n_unk_v40_3->m_df_type = DF_Type::ui_advmode__T_unk_v40_3; - n_unk_v40_3->m_rdf_type = RDF_Type::Compound; - n_unk_v40_3->m_node_type = NodeType::Compound; - n_unk_v40_3->m_address = base + offset; - n_unk_v40_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_3); - - field_name = "unk_88"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_88 = new NodePointer; - n_unk_88->m_field_name = field_name; - n_unk_88->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_unk_88->m_rdf_type = RDF_Type::Pointer; - n_unk_88->m_node_type = NodeType::Pointer; - n_unk_88->m_addornements = "*"; - n_unk_88->m_address = base + offset; - n_unk_88->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_88); - - field_name = "unk_89"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_89 = new NodeSimple; - n_unk_89->m_field_name = field_name; - n_unk_89->m_df_type = DF_Type::int32_t; - n_unk_89->m_rdf_type = RDF_Type::int32_t; - n_unk_89->m_node_type = NodeType::Simple; - n_unk_89->m_address = base + offset; - n_unk_89->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_89); - - field_name = "unk_90"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_90 = new NodeSimple; - n_unk_90->m_field_name = field_name; - n_unk_90->m_df_type = DF_Type::int32_t; - n_unk_90->m_rdf_type = RDF_Type::int32_t; - n_unk_90->m_node_type = NodeType::Simple; - n_unk_90->m_address = base + offset; - n_unk_90->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_90); - - field_name = "unk_v40_4"; - auto n_unk_v40_4 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - n_unk_v40_4->m_field_name = field_name; - n_unk_v40_4->m_df_type = DF_Type::ui_advmode__T_unk_v40_4; - n_unk_v40_4->m_rdf_type = RDF_Type::Compound; - n_unk_v40_4->m_node_type = NodeType::Compound; - n_unk_v40_4->m_address = base + offset; - n_unk_v40_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_4); - - field_name = "unk_v40_5"; - auto n_unk_v40_5 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - n_unk_v40_5->m_field_name = field_name; - n_unk_v40_5->m_df_type = DF_Type::ui_advmode__T_unk_v40_5; - n_unk_v40_5->m_rdf_type = RDF_Type::Compound; - n_unk_v40_5->m_node_type = NodeType::Compound; - n_unk_v40_5->m_address = base + offset; - n_unk_v40_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_5); - - field_name = "unk_v42_1"; - auto n_unk_v42_1 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - n_unk_v42_1->m_field_name = field_name; - n_unk_v42_1->m_df_type = DF_Type::ui_advmode__T_unk_v42_1; - n_unk_v42_1->m_rdf_type = RDF_Type::Compound; - n_unk_v42_1->m_node_type = NodeType::Compound; - n_unk_v42_1->m_address = base + offset; - n_unk_v42_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v42_1); - - field_name = "unk_91"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_91 = new NodePointer; - n_unk_91->m_field_name = field_name; - n_unk_91->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_unk_91->m_rdf_type = RDF_Type::Pointer; - n_unk_91->m_node_type = NodeType::Pointer; - n_unk_91->m_addornements = "*"; - n_unk_91->m_address = base + offset; - n_unk_91->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_91); - - field_name = "assume_identity"; - auto n_assume_identity = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - n_assume_identity->m_field_name = field_name; - n_assume_identity->m_df_type = DF_Type::ui_advmode__T_assume_identity; - n_assume_identity->m_rdf_type = RDF_Type::Compound; - n_assume_identity->m_node_type = NodeType::Compound; - n_assume_identity->m_address = base + offset; - n_assume_identity->m_comment = "Manages the Assume Identity UI when the AssumeIdentity menu is open"; - n_assume_identity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_assume_identity); - - field_name = "unk_92"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_92 = new NodeSimple; - n_unk_92->m_field_name = field_name; - n_unk_92->m_df_type = DF_Type::int16_t; - n_unk_92->m_rdf_type = RDF_Type::int16_t; - n_unk_92->m_node_type = NodeType::Simple; - n_unk_92->m_address = base + offset; - n_unk_92->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_92); - - field_name = "unk_93"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_93 = new NodeSimple; - n_unk_93->m_field_name = field_name; - n_unk_93->m_df_type = DF_Type::int16_t; - n_unk_93->m_rdf_type = RDF_Type::int16_t; - n_unk_93->m_node_type = NodeType::Simple; - n_unk_93->m_address = base + offset; - n_unk_93->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_93); - - field_name = "unk_94"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_94 = new NodeSimple; - n_unk_94->m_field_name = field_name; - n_unk_94->m_df_type = DF_Type::int16_t; - n_unk_94->m_rdf_type = RDF_Type::int16_t; - n_unk_94->m_node_type = NodeType::Simple; - n_unk_94->m_address = base + offset; - n_unk_94->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_94); - - field_name = "unk_95"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_95 = new NodeSimple; - n_unk_95->m_field_name = field_name; - n_unk_95->m_df_type = DF_Type::int8_t; - n_unk_95->m_rdf_type = RDF_Type::int8_t; - n_unk_95->m_node_type = NodeType::Simple; - n_unk_95->m_address = base + offset; - n_unk_95->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_95); - - field_name = "unk_96"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_96 = new NodeSimple; - n_unk_96->m_field_name = field_name; - n_unk_96->m_df_type = DF_Type::int8_t; - n_unk_96->m_rdf_type = RDF_Type::int8_t; - n_unk_96->m_node_type = NodeType::Simple; - n_unk_96->m_address = base + offset; - n_unk_96->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_96); - - field_name = "unk_97"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_97 = new NodeSimple; - n_unk_97->m_field_name = field_name; - n_unk_97->m_df_type = DF_Type::int16_t; - n_unk_97->m_rdf_type = RDF_Type::int16_t; - n_unk_97->m_node_type = NodeType::Simple; - n_unk_97->m_address = base + offset; - n_unk_97->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_97); - - field_name = "unk_98"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_98 = new NodeSimple; - n_unk_98->m_field_name = field_name; - n_unk_98->m_df_type = DF_Type::int16_t; - n_unk_98->m_rdf_type = RDF_Type::int16_t; - n_unk_98->m_node_type = NodeType::Simple; - n_unk_98->m_address = base + offset; - n_unk_98->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_98); - - field_name = "unk_99"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_unk_99 = new NodeSimple; - n_unk_99->m_field_name = field_name; - n_unk_99->m_df_type = DF_Type::Stl_string; - n_unk_99->m_rdf_type = RDF_Type::Stl_string; - n_unk_99->m_node_type = NodeType::Simple; - n_unk_99->m_address = base + offset; - n_unk_99->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_99); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "name_item"; - auto n_name_item = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); - n_name_item->m_field_name = field_name; - n_name_item->m_df_type = DF_Type::language_name; - n_name_item->m_rdf_type = RDF_Type::Struct; - n_name_item->m_node_type = NodeType::Compound; - n_name_item->m_address = base + offset; - n_name_item->m_defined_in = "df.language.xml"; - n_name_item->m_comment = "used when naming items"; - n_name_item->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name_item); - -} -void node_from_art_image(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "elements"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image, field_name)); - auto n_elements = new NodeVector; - n_elements->m_field_name = field_name; - n_elements->m_df_type = DF_Type::art_image_element; - n_elements->m_rdf_type = RDF_Type::Vector; - n_elements->m_node_type = NodeType::Vector; - n_elements->m_defined_in = "df.art.xml"; - n_elements->m_addornements = "v*"; - n_elements->m_address = base + offset; - n_elements->m_parent = p_node_parent; - n_elements->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_elements); - - field_name = "properties"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image, field_name)); - auto n_properties = new NodeVector; - n_properties->m_field_name = field_name; - n_properties->m_df_type = DF_Type::art_image_property; - n_properties->m_rdf_type = RDF_Type::Vector; - n_properties->m_node_type = NodeType::Vector; - n_properties->m_defined_in = "df.art.xml"; - n_properties->m_addornements = "v*"; - n_properties->m_address = base + offset; - n_properties->m_parent = p_node_parent; - n_properties->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_properties); - - field_name = "event"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image, field_name)); - auto n_event = new NodeSimple; - n_event->m_field_name = field_name; - n_event->m_df_type = DF_Type::int32_t; - n_event->m_rdf_type = RDF_Type::int32_t; - n_event->m_node_type = NodeType::Simple; - n_event->m_address = base + offset; - n_event->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_event); - - field_name = "name"; - auto n_name = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image, field_name)); - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::language_name; - n_name->m_rdf_type = RDF_Type::Struct; - n_name->m_node_type = NodeType::Compound; - n_name->m_address = base + offset; - n_name->m_defined_in = "df.language.xml"; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "spec_ref_type"; - auto n_spec_ref_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image, field_name)); - n_spec_ref_type->m_field_name = field_name; - n_spec_ref_type->m_df_type = DF_Type::specific_ref_type; - n_spec_ref_type->m_rdf_type = RDF_Type::Enum; - n_spec_ref_type->m_node_type = NodeType::Enum; - n_spec_ref_type->m_base_type = DF_Type::int32_t; - n_spec_ref_type->m_enum_type = "specific_ref_type"; - n_spec_ref_type->m_address = base + offset; - n_spec_ref_type->m_defined_in = "df.refs.xml"; - n_spec_ref_type->m_first_value = 0; - n_spec_ref_type->m_last_value = 30; - n_spec_ref_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_spec_ref_type); - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "quality"; - auto n_quality = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image, field_name)); - n_quality->m_field_name = field_name; - n_quality->m_df_type = DF_Type::item_quality; - n_quality->m_rdf_type = RDF_Type::Enum; - n_quality->m_node_type = NodeType::Enum; - n_quality->m_base_type = DF_Type::int16_t; - n_quality->m_enum_type = "item_quality"; - n_quality->m_address = base + offset; - n_quality->m_defined_in = "df.items.xml"; - n_quality->m_first_value = 0; - n_quality->m_last_value = 6; - n_quality->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_quality); - - field_name = "artist"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image, field_name)); - auto n_artist = new NodeSimple; - n_artist->m_field_name = field_name; - n_artist->m_df_type = DF_Type::int32_t; - n_artist->m_rdf_type = RDF_Type::int32_t; - n_artist->m_node_type = NodeType::Simple; - n_artist->m_address = base + offset; - n_artist->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_artist); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image, field_name)); - auto n_anon_1 = new NodePointer; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = get_real_subtype(base+offset, DF_Type::general_ref); - n_anon_1->m_rdf_type = RDF_Type::Pointer; - n_anon_1->m_node_type = NodeType::Pointer; - n_anon_1->m_addornements = "*"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_defined_in = "df.refs.xml"; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image, field_name)); - auto n_year = new NodeSimple; - n_year->m_field_name = field_name; - n_year->m_df_type = DF_Type::int32_t; - n_year->m_rdf_type = RDF_Type::int32_t; - n_year->m_node_type = NodeType::Simple; - n_year->m_address = base + offset; - n_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_year); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "subid"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image, field_name)); - auto n_subid = new NodeSimple; - n_subid->m_field_name = field_name; - n_subid->m_df_type = DF_Type::int16_t; - n_subid->m_rdf_type = RDF_Type::int16_t; - n_subid->m_node_type = NodeType::Simple; - n_subid->m_address = base + offset; - n_subid->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_subid); - -} -void node_from_poetic_form___union0(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = true) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "subject_histfig"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form, field_name)); - auto n_subject_histfig = new NodeSimple; - n_subject_histfig->m_field_name = field_name; - n_subject_histfig->m_df_type = DF_Type::int32_t; - n_subject_histfig->m_rdf_type = RDF_Type::int32_t; - n_subject_histfig->m_node_type = NodeType::Simple; - n_subject_histfig->m_address = base + offset; - n_subject_histfig->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_subject_histfig); - - field_name = "subject_topic"; - auto n_subject_topic = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form, field_name)); - n_subject_topic->m_field_name = field_name; - n_subject_topic->m_df_type = DF_Type::sphere_type; - n_subject_topic->m_rdf_type = RDF_Type::Enum; - n_subject_topic->m_node_type = NodeType::Enum; - n_subject_topic->m_base_type = DF_Type::int32_t; - n_subject_topic->m_enum_type = "sphere_type"; - n_subject_topic->m_address = base + offset; - n_subject_topic->m_defined_in = "df.language.xml"; - n_subject_topic->m_first_value = 0; - n_subject_topic->m_last_value = 129; - n_subject_topic->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_subject_topic); - -} -void node_from_poetic_form(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "name"; - auto n_name = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form, field_name)); - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::language_name; - n_name->m_rdf_type = RDF_Type::Struct; - n_name->m_node_type = NodeType::Compound; - n_name->m_address = base + offset; - n_name->m_defined_in = "df.language.xml"; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "originating_entity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form, field_name)); - auto n_originating_entity = new NodeSimple; - n_originating_entity->m_field_name = field_name; - n_originating_entity->m_df_type = DF_Type::int32_t; - n_originating_entity->m_rdf_type = RDF_Type::int32_t; - n_originating_entity->m_node_type = NodeType::Simple; - n_originating_entity->m_address = base + offset; - n_originating_entity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_originating_entity); - - field_name = "original_author"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form, field_name)); - auto n_original_author = new NodeSimple; - n_original_author->m_field_name = field_name; - n_original_author->m_df_type = DF_Type::int32_t; - n_original_author->m_rdf_type = RDF_Type::int32_t; - n_original_author->m_node_type = NodeType::Simple; - n_original_author->m_address = base + offset; - n_original_author->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_original_author); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::poetic_form__T_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "parts"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form, field_name)); - auto n_parts = new NodeVector; - n_parts->m_field_name = field_name; - n_parts->m_df_type = DF_Type::poetic_form_part; - n_parts->m_rdf_type = RDF_Type::Vector; - n_parts->m_node_type = NodeType::Vector; - n_parts->m_defined_in = "df.art.xml"; - n_parts->m_addornements = "v*"; - n_parts->m_address = base + offset; - n_parts->m_parent = p_node_parent; - n_parts->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_parts); - - field_name = "each_line_feet"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form, field_name)); - auto n_each_line_feet = new NodeSimple; - n_each_line_feet->m_field_name = field_name; - n_each_line_feet->m_df_type = DF_Type::int32_t; - n_each_line_feet->m_rdf_type = RDF_Type::int32_t; - n_each_line_feet->m_node_type = NodeType::Simple; - n_each_line_feet->m_address = base + offset; - n_each_line_feet->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_each_line_feet); - - field_name = "each_line_pattern"; - auto n_each_line_pattern = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form, field_name)); - n_each_line_pattern->m_field_name = field_name; - n_each_line_pattern->m_df_type = DF_Type::poetic_form_pattern; - n_each_line_pattern->m_rdf_type = RDF_Type::Enum; - n_each_line_pattern->m_node_type = NodeType::Enum; - n_each_line_pattern->m_base_type = DF_Type::int32_t; - n_each_line_pattern->m_enum_type = "poetic_form_pattern"; - n_each_line_pattern->m_address = base + offset; - n_each_line_pattern->m_defined_in = "df.art.xml"; - n_each_line_pattern->m_first_value = 0; - n_each_line_pattern->m_last_value = 11; - n_each_line_pattern->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_each_line_pattern); - - field_name = "every_line_caesura_position"; - auto n_every_line_caesura_position = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form, field_name)); - n_every_line_caesura_position->m_field_name = field_name; - n_every_line_caesura_position->m_df_type = DF_Type::poetic_form_caesura_position; - n_every_line_caesura_position->m_rdf_type = RDF_Type::Enum; - n_every_line_caesura_position->m_node_type = NodeType::Enum; - n_every_line_caesura_position->m_base_type = DF_Type::int32_t; - n_every_line_caesura_position->m_enum_type = "poetic_form_caesura_position"; - n_every_line_caesura_position->m_address = base + offset; - n_every_line_caesura_position->m_defined_in = "df.art.xml"; - n_every_line_caesura_position->m_first_value = 0; - n_every_line_caesura_position->m_last_value = 2; - n_every_line_caesura_position->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_every_line_caesura_position); - - field_name = "common_features"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form, field_name)); - auto n_common_features = new NodeVector; - n_common_features->m_field_name = field_name; - n_common_features->m_df_type = DF_Type::poetic_form_additional_feature; - n_common_features->m_rdf_type = RDF_Type::Vector; - n_common_features->m_node_type = NodeType::Vector; - n_common_features->m_enum_base = DF_Type::int32_t; - n_common_features->m_defined_in = "df.art.xml"; - n_common_features->m_addornements = "v"; - n_common_features->m_address = base + offset; - n_common_features->m_parent = p_node_parent; - n_common_features->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_common_features); - - field_name = "mood"; - auto n_mood = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form, field_name)); - n_mood->m_field_name = field_name; - n_mood->m_df_type = DF_Type::poetic_form_mood; - n_mood->m_rdf_type = RDF_Type::Enum; - n_mood->m_node_type = NodeType::Enum; - n_mood->m_base_type = DF_Type::int32_t; - n_mood->m_enum_type = "poetic_form_mood"; - n_mood->m_address = base + offset; - n_mood->m_defined_in = "df.art.xml"; - n_mood->m_first_value = 0; - n_mood->m_last_value = 6; - n_mood->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mood); - - field_name = "subject"; - auto n_subject = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form, field_name)); - n_subject->m_field_name = field_name; - n_subject->m_df_type = DF_Type::poetic_form_subject; - n_subject->m_rdf_type = RDF_Type::Enum; - n_subject->m_node_type = NodeType::Enum; - n_subject->m_base_type = DF_Type::int32_t; - n_subject->m_enum_type = "poetic_form_subject"; - n_subject->m_address = base + offset; - n_subject->m_defined_in = "df.art.xml"; - n_subject->m_first_value = -1; - n_subject->m_last_value = 20; - n_subject->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_subject); - - auto n_$union0 = new NodeAnonymous; - field_name = "subject_histfig"; // One child of the anonymous union - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form, field_name)); - n_$union0->m_field_name = "N/A"; - n_$union0->m_df_type = DF_Type::poetic_form___union0; - n_$union0->m_rdf_type = RDF_Type::AnonymousUnion; - n_$union0->m_node_type = NodeType::AnonymousUnion; - n_$union0->m_address = base + offset; - n_$union0->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_$union0); - - field_name = "action"; - auto n_action = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form, field_name)); - n_action->m_field_name = field_name; - n_action->m_df_type = DF_Type::poetic_form_action; - n_action->m_rdf_type = RDF_Type::Enum; - n_action->m_node_type = NodeType::Enum; - n_action->m_base_type = DF_Type::int32_t; - n_action->m_enum_type = "poetic_form_action"; - n_action->m_address = base + offset; - n_action->m_defined_in = "df.art.xml"; - n_action->m_first_value = 0; - n_action->m_last_value = 21; - n_action->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_action); - - field_name = "preferred_perspective"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form, field_name)); - auto n_preferred_perspective = new NodeSimple; - n_preferred_perspective->m_field_name = field_name; - n_preferred_perspective->m_df_type = DF_Type::int32_t; - n_preferred_perspective->m_rdf_type = RDF_Type::int32_t; - n_preferred_perspective->m_node_type = NodeType::Simple; - n_preferred_perspective->m_address = base + offset; - n_preferred_perspective->m_comment = "if not -1, ALWAYS written from that perspective"; - n_preferred_perspective->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_preferred_perspective); - - field_name = "features"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form, field_name)); - auto n_features = new NodeBitfield; - n_features->m_field_name = field_name; - n_features->m_df_type = DF_Type::poetic_form_feature; - n_features->m_rdf_type = RDF_Type::Bitfield; - n_features->m_node_type = NodeType::Bitfield; - n_features->m_address = base + offset; - n_features->m_defined_in = "df.art.xml"; - n_features->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_features); - - field_name = "perspectives"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form, field_name)); - auto n_perspectives = new NodeVector; - n_perspectives->m_field_name = field_name; - n_perspectives->m_df_type = DF_Type::poetic_form_perspective; - n_perspectives->m_rdf_type = RDF_Type::Vector; - n_perspectives->m_node_type = NodeType::Vector; - n_perspectives->m_defined_in = "df.art.xml"; - n_perspectives->m_addornements = "v*"; - n_perspectives->m_address = base + offset; - n_perspectives->m_parent = p_node_parent; - n_perspectives->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_perspectives); - -} -void node_from_musical_form(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "name"; - auto n_name = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form, field_name)); - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::language_name; - n_name->m_rdf_type = RDF_Type::Struct; - n_name->m_node_type = NodeType::Compound; - n_name->m_address = base + offset; - n_name->m_defined_in = "df.language.xml"; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "originating_entity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form, field_name)); - auto n_originating_entity = new NodeSimple; - n_originating_entity->m_field_name = field_name; - n_originating_entity->m_df_type = DF_Type::int32_t; - n_originating_entity->m_rdf_type = RDF_Type::int32_t; - n_originating_entity->m_node_type = NodeType::Simple; - n_originating_entity->m_address = base + offset; - n_originating_entity->m_comment = "ID of the entity from which the musical form originated."; - n_originating_entity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_originating_entity); - - field_name = "original_author"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form, field_name)); - auto n_original_author = new NodeSimple; - n_original_author->m_field_name = field_name; - n_original_author->m_df_type = DF_Type::int32_t; - n_original_author->m_rdf_type = RDF_Type::int32_t; - n_original_author->m_node_type = NodeType::Simple; - n_original_author->m_address = base + offset; - n_original_author->m_comment = "historical figure ID of the composer"; - n_original_author->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_original_author); - - field_name = "scales"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form, field_name)); - auto n_scales = new NodeVector; - n_scales->m_field_name = field_name; - n_scales->m_df_type = DF_Type::musical_form_vocals; - n_scales->m_rdf_type = RDF_Type::Vector; - n_scales->m_node_type = NodeType::Vector; - n_scales->m_defined_in = "df.art.xml"; - n_scales->m_addornements = "v*"; - n_scales->m_address = base + offset; - n_scales->m_parent = p_node_parent; - n_scales->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_scales); - - field_name = "instruments"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form, field_name)); - auto n_instruments = new NodeVector; - n_instruments->m_field_name = field_name; - n_instruments->m_df_type = DF_Type::musical_form_instruments; - n_instruments->m_rdf_type = RDF_Type::Vector; - n_instruments->m_node_type = NodeType::Vector; - n_instruments->m_defined_in = "df.art.xml"; - n_instruments->m_addornements = "v*"; - n_instruments->m_address = base + offset; - n_instruments->m_parent = p_node_parent; - n_instruments->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_instruments); - - field_name = "melodies"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form, field_name)); - auto n_melodies = new NodeVector; - n_melodies->m_field_name = field_name; - n_melodies->m_df_type = DF_Type::musical_form_melodies; - n_melodies->m_rdf_type = RDF_Type::Vector; - n_melodies->m_node_type = NodeType::Vector; - n_melodies->m_defined_in = "df.art.xml"; - n_melodies->m_addornements = "v*"; - n_melodies->m_address = base + offset; - n_melodies->m_parent = p_node_parent; - n_melodies->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_melodies); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form, field_name)); - auto n_anon_1 = new NodeVector; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::musical_form_sub4; - n_anon_1->m_rdf_type = RDF_Type::Vector; - n_anon_1->m_node_type = NodeType::Vector; - n_anon_1->m_defined_in = "df.art.xml"; - n_anon_1->m_addornements = "v*"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "tempo_style"; - auto n_tempo_style = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form, field_name)); - n_tempo_style->m_field_name = field_name; - n_tempo_style->m_df_type = DF_Type::musical_form_style; - n_tempo_style->m_rdf_type = RDF_Type::Enum; - n_tempo_style->m_node_type = NodeType::Enum; - n_tempo_style->m_base_type = DF_Type::int32_t; - n_tempo_style->m_enum_type = "musical_form_style"; - n_tempo_style->m_address = base + offset; - n_tempo_style->m_defined_in = "df.art.xml"; - n_tempo_style->m_first_value = -1; - n_tempo_style->m_last_value = 71; - n_tempo_style->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tempo_style); - - field_name = "dynamic_style"; - auto n_dynamic_style = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form, field_name)); - n_dynamic_style->m_field_name = field_name; - n_dynamic_style->m_df_type = DF_Type::musical_form_style; - n_dynamic_style->m_rdf_type = RDF_Type::Enum; - n_dynamic_style->m_node_type = NodeType::Enum; - n_dynamic_style->m_base_type = DF_Type::int32_t; - n_dynamic_style->m_enum_type = "musical_form_style"; - n_dynamic_style->m_address = base + offset; - n_dynamic_style->m_defined_in = "df.art.xml"; - n_dynamic_style->m_first_value = -1; - n_dynamic_style->m_last_value = 71; - n_dynamic_style->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dynamic_style); - - field_name = "overall_style"; - auto n_overall_style = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form, field_name)); - n_overall_style->m_field_name = field_name; - n_overall_style->m_df_type = DF_Type::musical_form_style; - n_overall_style->m_rdf_type = RDF_Type::Enum; - n_overall_style->m_node_type = NodeType::Enum; - n_overall_style->m_base_type = DF_Type::int32_t; - n_overall_style->m_enum_type = "musical_form_style"; - n_overall_style->m_address = base + offset; - n_overall_style->m_defined_in = "df.art.xml"; - n_overall_style->m_first_value = -1; - n_overall_style->m_last_value = 71; - n_overall_style->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_overall_style); - - field_name = "poetic_form_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form, field_name)); - auto n_poetic_form_id = new NodeSimple; - n_poetic_form_id->m_field_name = field_name; - n_poetic_form_id->m_df_type = DF_Type::int32_t; - n_poetic_form_id->m_rdf_type = RDF_Type::int32_t; - n_poetic_form_id->m_node_type = NodeType::Simple; - n_poetic_form_id->m_address = base + offset; - n_poetic_form_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_poetic_form_id); - - field_name = "written_content_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form, field_name)); - auto n_written_content_id = new NodeSimple; - n_written_content_id->m_field_name = field_name; - n_written_content_id->m_df_type = DF_Type::int32_t; - n_written_content_id->m_rdf_type = RDF_Type::int32_t; - n_written_content_id->m_node_type = NodeType::Simple; - n_written_content_id->m_address = base + offset; - n_written_content_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_written_content_id); - - field_name = "scale_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form, field_name)); - auto n_scale_id = new NodeSimple; - n_scale_id->m_field_name = field_name; - n_scale_id->m_df_type = DF_Type::int32_t; - n_scale_id->m_rdf_type = RDF_Type::int32_t; - n_scale_id->m_node_type = NodeType::Simple; - n_scale_id->m_address = base + offset; - n_scale_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_scale_id); - - field_name = "scale_subid"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form, field_name)); - auto n_scale_subid = new NodeSimple; - n_scale_subid->m_field_name = field_name; - n_scale_subid->m_df_type = DF_Type::int32_t; - n_scale_subid->m_rdf_type = RDF_Type::int32_t; - n_scale_subid->m_node_type = NodeType::Simple; - n_scale_subid->m_address = base + offset; - n_scale_subid->m_comment = "reference to scale_sub2"; - n_scale_subid->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_scale_subid); - - field_name = "rhythm_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form, field_name)); - auto n_rhythm_id = new NodeSimple; - n_rhythm_id->m_field_name = field_name; - n_rhythm_id->m_df_type = DF_Type::int32_t; - n_rhythm_id->m_rdf_type = RDF_Type::int32_t; - n_rhythm_id->m_node_type = NodeType::Simple; - n_rhythm_id->m_address = base + offset; - n_rhythm_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rhythm_id); - - field_name = "rhythm_subid2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form, field_name)); - auto n_rhythm_subid2 = new NodeSimple; - n_rhythm_subid2->m_field_name = field_name; - n_rhythm_subid2->m_df_type = DF_Type::int32_t; - n_rhythm_subid2->m_rdf_type = RDF_Type::int32_t; - n_rhythm_subid2->m_node_type = NodeType::Simple; - n_rhythm_subid2->m_address = base + offset; - n_rhythm_subid2->m_comment = "reference to rhythm_sub2"; - n_rhythm_subid2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rhythm_subid2); - - field_name = "rhythm_subid1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form, field_name)); - auto n_rhythm_subid1 = new NodeSimple; - n_rhythm_subid1->m_field_name = field_name; - n_rhythm_subid1->m_df_type = DF_Type::int32_t; - n_rhythm_subid1->m_rdf_type = RDF_Type::int32_t; - n_rhythm_subid1->m_node_type = NodeType::Simple; - n_rhythm_subid1->m_address = base + offset; - n_rhythm_subid1->m_comment = "reference to rhythm_sub1"; - n_rhythm_subid1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rhythm_subid1); - - field_name = "features"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form, field_name)); - auto n_features = new NodeBitfield; - n_features->m_field_name = field_name; - n_features->m_df_type = DF_Type::musical_form_feature; - n_features->m_rdf_type = RDF_Type::Bitfield; - n_features->m_node_type = NodeType::Bitfield; - n_features->m_address = base + offset; - n_features->m_defined_in = "df.art.xml"; - n_features->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_features); - - field_name = "pitch_style"; - auto n_pitch_style = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form, field_name)); - n_pitch_style->m_field_name = field_name; - n_pitch_style->m_df_type = DF_Type::musical_form_pitch_style; - n_pitch_style->m_rdf_type = RDF_Type::Enum; - n_pitch_style->m_node_type = NodeType::Enum; - n_pitch_style->m_base_type = DF_Type::int32_t; - n_pitch_style->m_enum_type = "musical_form_pitch_style"; - n_pitch_style->m_address = base + offset; - n_pitch_style->m_defined_in = "df.art.xml"; - n_pitch_style->m_first_value = 0; - n_pitch_style->m_last_value = 4; - n_pitch_style->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pitch_style); - - field_name = "purpose"; - auto n_purpose = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form, field_name)); - n_purpose->m_field_name = field_name; - n_purpose->m_df_type = DF_Type::musical_form_purpose; - n_purpose->m_rdf_type = RDF_Type::Enum; - n_purpose->m_node_type = NodeType::Enum; - n_purpose->m_base_type = DF_Type::int32_t; - n_purpose->m_enum_type = "musical_form_purpose"; - n_purpose->m_address = base + offset; - n_purpose->m_defined_in = "df.art.xml"; - n_purpose->m_first_value = 0; - n_purpose->m_last_value = 3; - n_purpose->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_purpose); - - field_name = "devotion_target"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form, field_name)); - auto n_devotion_target = new NodeSimple; - n_devotion_target->m_field_name = field_name; - n_devotion_target->m_df_type = DF_Type::int32_t; - n_devotion_target->m_rdf_type = RDF_Type::int32_t; - n_devotion_target->m_node_type = NodeType::Simple; - n_devotion_target->m_address = base + offset; - n_devotion_target->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_devotion_target); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::musical_form__T_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - -} -void node_from_dance_form(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "name"; - auto n_name = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form, field_name)); - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::language_name; - n_name->m_rdf_type = RDF_Type::Struct; - n_name->m_node_type = NodeType::Compound; - n_name->m_address = base + offset; - n_name->m_defined_in = "df.language.xml"; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "musical_form_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form, field_name)); - auto n_musical_form_id = new NodeSimple; - n_musical_form_id->m_field_name = field_name; - n_musical_form_id->m_df_type = DF_Type::int32_t; - n_musical_form_id->m_rdf_type = RDF_Type::int32_t; - n_musical_form_id->m_node_type = NodeType::Simple; - n_musical_form_id->m_address = base + offset; - n_musical_form_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_musical_form_id); - - field_name = "music_written_content_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form, field_name)); - auto n_music_written_content_id = new NodeSimple; - n_music_written_content_id->m_field_name = field_name; - n_music_written_content_id->m_df_type = DF_Type::int32_t; - n_music_written_content_id->m_rdf_type = RDF_Type::int32_t; - n_music_written_content_id->m_node_type = NodeType::Simple; - n_music_written_content_id->m_address = base + offset; - n_music_written_content_id->m_comment = "at most one of this and musical_form_id is non null"; - n_music_written_content_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_music_written_content_id); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "originating_entity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form, field_name)); - auto n_originating_entity = new NodeSimple; - n_originating_entity->m_field_name = field_name; - n_originating_entity->m_df_type = DF_Type::int32_t; - n_originating_entity->m_rdf_type = RDF_Type::int32_t; - n_originating_entity->m_node_type = NodeType::Simple; - n_originating_entity->m_address = base + offset; - n_originating_entity->m_comment = "ID of the entity from which the dance form originated."; - n_originating_entity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_originating_entity); - - field_name = "original_author"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form, field_name)); - auto n_original_author = new NodeSimple; - n_original_author->m_field_name = field_name; - n_original_author->m_df_type = DF_Type::int32_t; - n_original_author->m_rdf_type = RDF_Type::int32_t; - n_original_author->m_node_type = NodeType::Simple; - n_original_author->m_address = base + offset; - n_original_author->m_comment = "ID of the historical figure who developed the dance form."; - n_original_author->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_original_author); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form, field_name)); - auto n_anon_7 = new NodeSimple; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::int32_t; - n_anon_7->m_rdf_type = RDF_Type::int32_t; - n_anon_7->m_node_type = NodeType::Simple; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_7); - - field_name = "anon_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form, field_name)); - auto n_anon_8 = new NodeSimple; - n_anon_8->m_field_name = field_name; - n_anon_8->m_df_type = DF_Type::int32_t; - n_anon_8->m_rdf_type = RDF_Type::int32_t; - n_anon_8->m_node_type = NodeType::Simple; - n_anon_8->m_address = base + offset; - n_anon_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_8); - - field_name = "anon_9"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form, field_name)); - auto n_anon_9 = new NodeSimple; - n_anon_9->m_field_name = field_name; - n_anon_9->m_df_type = DF_Type::int32_t; - n_anon_9->m_rdf_type = RDF_Type::int32_t; - n_anon_9->m_node_type = NodeType::Simple; - n_anon_9->m_address = base + offset; - n_anon_9->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_9); - - field_name = "anon_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form, field_name)); - auto n_anon_10 = new NodeSimple; - n_anon_10->m_field_name = field_name; - n_anon_10->m_df_type = DF_Type::int32_t; - n_anon_10->m_rdf_type = RDF_Type::int32_t; - n_anon_10->m_node_type = NodeType::Simple; - n_anon_10->m_address = base + offset; - n_anon_10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_10); - - field_name = "anon_11"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form, field_name)); - auto n_anon_11 = new NodeSimple; - n_anon_11->m_field_name = field_name; - n_anon_11->m_df_type = DF_Type::int32_t; - n_anon_11->m_rdf_type = RDF_Type::int32_t; - n_anon_11->m_node_type = NodeType::Simple; - n_anon_11->m_address = base + offset; - n_anon_11->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_11); - - field_name = "anon_12"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form, field_name)); - auto n_anon_12 = new NodeVector; - n_anon_12->m_field_name = field_name; - n_anon_12->m_df_type = DF_Type::int32_t; - n_anon_12->m_rdf_type = RDF_Type::Vector; - n_anon_12->m_node_type = NodeType::Vector; - n_anon_12->m_addornements = "v"; - n_anon_12->m_address = base + offset; - n_anon_12->m_parent = p_node_parent; - n_anon_12->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_12); - - field_name = "anon_13"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form, field_name)); - auto n_anon_13 = new NodeSimple; - n_anon_13->m_field_name = field_name; - n_anon_13->m_df_type = DF_Type::int32_t; - n_anon_13->m_rdf_type = RDF_Type::int32_t; - n_anon_13->m_node_type = NodeType::Simple; - n_anon_13->m_address = base + offset; - n_anon_13->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_13); - - field_name = "anon_14"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form, field_name)); - auto n_anon_14 = new NodeSimple; - n_anon_14->m_field_name = field_name; - n_anon_14->m_df_type = DF_Type::int32_t; - n_anon_14->m_rdf_type = RDF_Type::int32_t; - n_anon_14->m_node_type = NodeType::Simple; - n_anon_14->m_address = base + offset; - n_anon_14->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_14); - - field_name = "anon_15"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form, field_name)); - auto n_anon_15 = new NodeSimple; - n_anon_15->m_field_name = field_name; - n_anon_15->m_df_type = DF_Type::int32_t; - n_anon_15->m_rdf_type = RDF_Type::int32_t; - n_anon_15->m_node_type = NodeType::Simple; - n_anon_15->m_address = base + offset; - n_anon_15->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_15); - - field_name = "anon_16"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form, field_name)); - auto n_anon_16 = new NodeSimple; - n_anon_16->m_field_name = field_name; - n_anon_16->m_df_type = DF_Type::int32_t; - n_anon_16->m_rdf_type = RDF_Type::int32_t; - n_anon_16->m_node_type = NodeType::Simple; - n_anon_16->m_address = base + offset; - n_anon_16->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_16); - - field_name = "anon_17"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form, field_name)); - auto n_anon_17 = new NodeVector; - n_anon_17->m_field_name = field_name; - n_anon_17->m_df_type = DF_Type::int32_t; - n_anon_17->m_rdf_type = RDF_Type::Vector; - n_anon_17->m_node_type = NodeType::Vector; - n_anon_17->m_addornements = "v"; - n_anon_17->m_address = base + offset; - n_anon_17->m_parent = p_node_parent; - n_anon_17->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_17); - - field_name = "anon_18"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form, field_name)); - auto n_anon_18 = new NodeVector; - n_anon_18->m_field_name = field_name; - n_anon_18->m_df_type = DF_Type::int32_t; - n_anon_18->m_rdf_type = RDF_Type::Vector; - n_anon_18->m_node_type = NodeType::Vector; - n_anon_18->m_addornements = "v"; - n_anon_18->m_address = base + offset; - n_anon_18->m_parent = p_node_parent; - n_anon_18->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_18); - - field_name = "anon_19"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form, field_name)); - auto n_anon_19 = new NodeVector; - n_anon_19->m_field_name = field_name; - n_anon_19->m_df_type = DF_Type::int32_t; - n_anon_19->m_rdf_type = RDF_Type::Vector; - n_anon_19->m_node_type = NodeType::Vector; - n_anon_19->m_addornements = "v"; - n_anon_19->m_address = base + offset; - n_anon_19->m_parent = p_node_parent; - n_anon_19->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_19); - - field_name = "anon_20"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form, field_name)); - auto n_anon_20 = new NodeVector; - n_anon_20->m_field_name = field_name; - n_anon_20->m_df_type = DF_Type::int32_t; - n_anon_20->m_rdf_type = RDF_Type::Vector; - n_anon_20->m_node_type = NodeType::Vector; - n_anon_20->m_addornements = "v"; - n_anon_20->m_address = base + offset; - n_anon_20->m_parent = p_node_parent; - n_anon_20->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_20); - - field_name = "anon_21"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form, field_name)); - auto n_anon_21 = new NodeVector; - n_anon_21->m_field_name = field_name; - n_anon_21->m_df_type = DF_Type::dance_form_sub1; - n_anon_21->m_rdf_type = RDF_Type::Vector; - n_anon_21->m_node_type = NodeType::Vector; - n_anon_21->m_defined_in = "df.art.xml"; - n_anon_21->m_addornements = "v*"; - n_anon_21->m_address = base + offset; - n_anon_21->m_parent = p_node_parent; - n_anon_21->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_21); - - field_name = "anon_22"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form, field_name)); - auto n_anon_22 = new NodeVector; - n_anon_22->m_field_name = field_name; - n_anon_22->m_df_type = DF_Type::dance_form_sub2; - n_anon_22->m_rdf_type = RDF_Type::Vector; - n_anon_22->m_node_type = NodeType::Vector; - n_anon_22->m_defined_in = "df.art.xml"; - n_anon_22->m_addornements = "v*"; - n_anon_22->m_address = base + offset; - n_anon_22->m_parent = p_node_parent; - n_anon_22->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_22); - -} -void node_from_entity_occasion(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_occasion, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_occasion, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_occasion, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_occasion, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "name"; - auto n_name = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_occasion, field_name)); - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::language_name; - n_name->m_rdf_type = RDF_Type::Struct; - n_name->m_node_type = NodeType::Compound; - n_name->m_address = base + offset; - n_name->m_defined_in = "df.language.xml"; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_occasion, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_occasion, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_occasion, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "event"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_occasion, field_name)); - auto n_event = new NodeSimple; - n_event->m_field_name = field_name; - n_event->m_df_type = DF_Type::int32_t; - n_event->m_rdf_type = RDF_Type::int32_t; - n_event->m_node_type = NodeType::Simple; - n_event->m_address = base + offset; - n_event->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_event); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_occasion, field_name)); - auto n_anon_7 = new NodeSimple; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::int32_t; - n_anon_7->m_rdf_type = RDF_Type::int32_t; - n_anon_7->m_node_type = NodeType::Simple; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_7); - - field_name = "schedule"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_occasion, field_name)); - auto n_schedule = new NodeVector; - n_schedule->m_field_name = field_name; - n_schedule->m_df_type = DF_Type::entity_occasion_schedule; - n_schedule->m_rdf_type = RDF_Type::Vector; - n_schedule->m_node_type = NodeType::Vector; - n_schedule->m_defined_in = "df.entities.xml"; - n_schedule->m_addornements = "v*"; - n_schedule->m_address = base + offset; - n_schedule->m_parent = p_node_parent; - n_schedule->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_schedule); - - field_name = "anon_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_occasion, field_name)); - auto n_anon_8 = new NodeSimple; - n_anon_8->m_field_name = field_name; - n_anon_8->m_df_type = DF_Type::int32_t; - n_anon_8->m_rdf_type = RDF_Type::int32_t; - n_anon_8->m_node_type = NodeType::Simple; - n_anon_8->m_address = base + offset; - n_anon_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_8); - -} -void node_from_historical_entity__T_resources__T_metal(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "pick"; - auto n_pick = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_metal, field_name)); - n_pick->m_field_name = field_name; - n_pick->m_df_type = DF_Type::material_vec_ref; - n_pick->m_rdf_type = RDF_Type::Struct; - n_pick->m_node_type = NodeType::Compound; - n_pick->m_address = base + offset; - n_pick->m_defined_in = "df.materials.xml"; - n_pick->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pick); - - field_name = "weapon"; - auto n_weapon = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_metal, field_name)); - n_weapon->m_field_name = field_name; - n_weapon->m_df_type = DF_Type::material_vec_ref; - n_weapon->m_rdf_type = RDF_Type::Struct; - n_weapon->m_node_type = NodeType::Compound; - n_weapon->m_address = base + offset; - n_weapon->m_defined_in = "df.materials.xml"; - n_weapon->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_weapon); - - field_name = "ranged"; - auto n_ranged = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_metal, field_name)); - n_ranged->m_field_name = field_name; - n_ranged->m_df_type = DF_Type::material_vec_ref; - n_ranged->m_rdf_type = RDF_Type::Struct; - n_ranged->m_node_type = NodeType::Compound; - n_ranged->m_address = base + offset; - n_ranged->m_defined_in = "df.materials.xml"; - n_ranged->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ranged); - - field_name = "ammo"; - auto n_ammo = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_metal, field_name)); - n_ammo->m_field_name = field_name; - n_ammo->m_df_type = DF_Type::material_vec_ref; - n_ammo->m_rdf_type = RDF_Type::Struct; - n_ammo->m_node_type = NodeType::Compound; - n_ammo->m_address = base + offset; - n_ammo->m_defined_in = "df.materials.xml"; - n_ammo->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ammo); - - field_name = "ammo2"; - auto n_ammo2 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_metal, field_name)); - n_ammo2->m_field_name = field_name; - n_ammo2->m_df_type = DF_Type::material_vec_ref; - n_ammo2->m_rdf_type = RDF_Type::Struct; - n_ammo2->m_node_type = NodeType::Compound; - n_ammo2->m_address = base + offset; - n_ammo2->m_defined_in = "df.materials.xml"; - n_ammo2->m_comment = "maybe intended for siege ammo"; - n_ammo2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ammo2); - - field_name = "armor"; - auto n_armor = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_metal, field_name)); - n_armor->m_field_name = field_name; - n_armor->m_df_type = DF_Type::material_vec_ref; - n_armor->m_rdf_type = RDF_Type::Struct; - n_armor->m_node_type = NodeType::Compound; - n_armor->m_address = base + offset; - n_armor->m_defined_in = "df.materials.xml"; - n_armor->m_comment = "also instruments, toys, and tools"; - n_armor->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_armor); - - field_name = "anvil"; - auto n_anvil = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_metal, field_name)); - n_anvil->m_field_name = field_name; - n_anvil->m_df_type = DF_Type::material_vec_ref; - n_anvil->m_rdf_type = RDF_Type::Struct; - n_anvil->m_node_type = NodeType::Compound; - n_anvil->m_address = base + offset; - n_anvil->m_defined_in = "df.materials.xml"; - n_anvil->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anvil); - -} -void node_from_historical_entity__T_resources__T_organic(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "leather"; - auto n_leather = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_organic, field_name)); - n_leather->m_field_name = field_name; - n_leather->m_df_type = DF_Type::material_vec_ref; - n_leather->m_rdf_type = RDF_Type::Struct; - n_leather->m_node_type = NodeType::Compound; - n_leather->m_address = base + offset; - n_leather->m_defined_in = "df.materials.xml"; - n_leather->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_leather); - - field_name = "parchment"; - auto n_parchment = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_organic, field_name)); - n_parchment->m_field_name = field_name; - n_parchment->m_df_type = DF_Type::material_vec_ref; - n_parchment->m_rdf_type = RDF_Type::Struct; - n_parchment->m_node_type = NodeType::Compound; - n_parchment->m_address = base + offset; - n_parchment->m_defined_in = "df.materials.xml"; - n_parchment->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_parchment); - - field_name = "fiber"; - auto n_fiber = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_organic, field_name)); - n_fiber->m_field_name = field_name; - n_fiber->m_df_type = DF_Type::material_vec_ref; - n_fiber->m_rdf_type = RDF_Type::Struct; - n_fiber->m_node_type = NodeType::Compound; - n_fiber->m_address = base + offset; - n_fiber->m_defined_in = "df.materials.xml"; - n_fiber->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_fiber); - - field_name = "silk"; - auto n_silk = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_organic, field_name)); - n_silk->m_field_name = field_name; - n_silk->m_df_type = DF_Type::material_vec_ref; - n_silk->m_rdf_type = RDF_Type::Struct; - n_silk->m_node_type = NodeType::Compound; - n_silk->m_address = base + offset; - n_silk->m_defined_in = "df.materials.xml"; - n_silk->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_silk); - - field_name = "wool"; - auto n_wool = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_organic, field_name)); - n_wool->m_field_name = field_name; - n_wool->m_df_type = DF_Type::material_vec_ref; - n_wool->m_rdf_type = RDF_Type::Struct; - n_wool->m_node_type = NodeType::Compound; - n_wool->m_address = base + offset; - n_wool->m_defined_in = "df.materials.xml"; - n_wool->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_wool); - - field_name = "wood"; - auto n_wood = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_organic, field_name)); - n_wood->m_field_name = field_name; - n_wood->m_df_type = DF_Type::material_vec_ref; - n_wood->m_rdf_type = RDF_Type::Struct; - n_wood->m_node_type = NodeType::Compound; - n_wood->m_address = base + offset; - n_wood->m_defined_in = "df.materials.xml"; - n_wood->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_wood); - -} -void node_from_historical_entity__T_resources__T_refuse(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "bone"; - auto n_bone = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_refuse, field_name)); - n_bone->m_field_name = field_name; - n_bone->m_df_type = DF_Type::material_vec_ref; - n_bone->m_rdf_type = RDF_Type::Struct; - n_bone->m_node_type = NodeType::Compound; - n_bone->m_address = base + offset; - n_bone->m_defined_in = "df.materials.xml"; - n_bone->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_bone); - - field_name = "shell"; - auto n_shell = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_refuse, field_name)); - n_shell->m_field_name = field_name; - n_shell->m_df_type = DF_Type::material_vec_ref; - n_shell->m_rdf_type = RDF_Type::Struct; - n_shell->m_node_type = NodeType::Compound; - n_shell->m_address = base + offset; - n_shell->m_defined_in = "df.materials.xml"; - n_shell->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_shell); - - field_name = "pearl"; - auto n_pearl = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_refuse, field_name)); - n_pearl->m_field_name = field_name; - n_pearl->m_df_type = DF_Type::material_vec_ref; - n_pearl->m_rdf_type = RDF_Type::Struct; - n_pearl->m_node_type = NodeType::Compound; - n_pearl->m_address = base + offset; - n_pearl->m_defined_in = "df.materials.xml"; - n_pearl->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pearl); - - field_name = "ivory"; - auto n_ivory = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_refuse, field_name)); - n_ivory->m_field_name = field_name; - n_ivory->m_df_type = DF_Type::material_vec_ref; - n_ivory->m_rdf_type = RDF_Type::Struct; - n_ivory->m_node_type = NodeType::Compound; - n_ivory->m_address = base + offset; - n_ivory->m_defined_in = "df.materials.xml"; - n_ivory->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ivory); - - field_name = "horn"; - auto n_horn = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_refuse, field_name)); - n_horn->m_field_name = field_name; - n_horn->m_df_type = DF_Type::material_vec_ref; - n_horn->m_rdf_type = RDF_Type::Struct; - n_horn->m_node_type = NodeType::Compound; - n_horn->m_address = base + offset; - n_horn->m_defined_in = "df.materials.xml"; - n_horn->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_horn); - -} -void node_from_historical_entity__T_resources__T_misc_mat(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "others"; - auto n_others = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_misc_mat, field_name)); - n_others->m_field_name = field_name; - n_others->m_df_type = DF_Type::material_vec_ref; - n_others->m_rdf_type = RDF_Type::Struct; - n_others->m_node_type = NodeType::Compound; - n_others->m_address = base + offset; - n_others->m_defined_in = "df.materials.xml"; - n_others->m_comment = "amber and coral"; - n_others->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_others); - - field_name = "glass"; - auto n_glass = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_misc_mat, field_name)); - n_glass->m_field_name = field_name; - n_glass->m_df_type = DF_Type::material_vec_ref; - n_glass->m_rdf_type = RDF_Type::Struct; - n_glass->m_node_type = NodeType::Compound; - n_glass->m_address = base + offset; - n_glass->m_defined_in = "df.materials.xml"; - n_glass->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_glass); - - field_name = "sand"; - auto n_sand = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_misc_mat, field_name)); - n_sand->m_field_name = field_name; - n_sand->m_df_type = DF_Type::material_vec_ref; - n_sand->m_rdf_type = RDF_Type::Struct; - n_sand->m_node_type = NodeType::Compound; - n_sand->m_address = base + offset; - n_sand->m_defined_in = "df.materials.xml"; - n_sand->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sand); - - field_name = "clay"; - auto n_clay = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_misc_mat, field_name)); - n_clay->m_field_name = field_name; - n_clay->m_df_type = DF_Type::material_vec_ref; - n_clay->m_rdf_type = RDF_Type::Struct; - n_clay->m_node_type = NodeType::Compound; - n_clay->m_address = base + offset; - n_clay->m_defined_in = "df.materials.xml"; - n_clay->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_clay); - - field_name = "crafts"; - auto n_crafts = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_misc_mat, field_name)); - n_crafts->m_field_name = field_name; - n_crafts->m_df_type = DF_Type::material_vec_ref; - n_crafts->m_rdf_type = RDF_Type::Struct; - n_crafts->m_node_type = NodeType::Compound; - n_crafts->m_address = base + offset; - n_crafts->m_defined_in = "df.materials.xml"; - n_crafts->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_crafts); - - field_name = "glass_unused"; - auto n_glass_unused = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_misc_mat, field_name)); - n_glass_unused->m_field_name = field_name; - n_glass_unused->m_df_type = DF_Type::material_vec_ref; - n_glass_unused->m_rdf_type = RDF_Type::Struct; - n_glass_unused->m_node_type = NodeType::Compound; - n_glass_unused->m_address = base + offset; - n_glass_unused->m_defined_in = "df.materials.xml"; - n_glass_unused->m_comment = "used for vial extracts on embark"; - n_glass_unused->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_glass_unused); - - field_name = "barrels"; - auto n_barrels = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_misc_mat, field_name)); - n_barrels->m_field_name = field_name; - n_barrels->m_df_type = DF_Type::material_vec_ref; - n_barrels->m_rdf_type = RDF_Type::Struct; - n_barrels->m_node_type = NodeType::Compound; - n_barrels->m_address = base + offset; - n_barrels->m_defined_in = "df.materials.xml"; - n_barrels->m_comment = "also buckets, splints, and crutches"; - n_barrels->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_barrels); - - field_name = "flasks"; - auto n_flasks = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_misc_mat, field_name)); - n_flasks->m_field_name = field_name; - n_flasks->m_df_type = DF_Type::material_vec_ref; - n_flasks->m_rdf_type = RDF_Type::Struct; - n_flasks->m_node_type = NodeType::Compound; - n_flasks->m_address = base + offset; - n_flasks->m_defined_in = "df.materials.xml"; - n_flasks->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flasks); - - field_name = "quivers"; - auto n_quivers = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_misc_mat, field_name)); - n_quivers->m_field_name = field_name; - n_quivers->m_df_type = DF_Type::material_vec_ref; - n_quivers->m_rdf_type = RDF_Type::Struct; - n_quivers->m_node_type = NodeType::Compound; - n_quivers->m_address = base + offset; - n_quivers->m_defined_in = "df.materials.xml"; - n_quivers->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_quivers); - - field_name = "backpacks"; - auto n_backpacks = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_misc_mat, field_name)); - n_backpacks->m_field_name = field_name; - n_backpacks->m_df_type = DF_Type::material_vec_ref; - n_backpacks->m_rdf_type = RDF_Type::Struct; - n_backpacks->m_node_type = NodeType::Compound; - n_backpacks->m_address = base + offset; - n_backpacks->m_defined_in = "df.materials.xml"; - n_backpacks->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_backpacks); - - field_name = "cages"; - auto n_cages = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_misc_mat, field_name)); - n_cages->m_field_name = field_name; - n_cages->m_df_type = DF_Type::material_vec_ref; - n_cages->m_rdf_type = RDF_Type::Struct; - n_cages->m_node_type = NodeType::Compound; - n_cages->m_address = base + offset; - n_cages->m_defined_in = "df.materials.xml"; - n_cages->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cages); - - field_name = "wood2"; - auto n_wood2 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_misc_mat, field_name)); - n_wood2->m_field_name = field_name; - n_wood2->m_df_type = DF_Type::material_vec_ref; - n_wood2->m_rdf_type = RDF_Type::Struct; - n_wood2->m_node_type = NodeType::Compound; - n_wood2->m_address = base + offset; - n_wood2->m_defined_in = "df.materials.xml"; - n_wood2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_wood2); - - field_name = "rock_metal"; - auto n_rock_metal = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_misc_mat, field_name)); - n_rock_metal->m_field_name = field_name; - n_rock_metal->m_df_type = DF_Type::material_vec_ref; - n_rock_metal->m_rdf_type = RDF_Type::Struct; - n_rock_metal->m_node_type = NodeType::Compound; - n_rock_metal->m_address = base + offset; - n_rock_metal->m_defined_in = "df.materials.xml"; - n_rock_metal->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rock_metal); - - field_name = "booze"; - auto n_booze = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_misc_mat, field_name)); - n_booze->m_field_name = field_name; - n_booze->m_df_type = DF_Type::material_vec_ref; - n_booze->m_rdf_type = RDF_Type::Struct; - n_booze->m_node_type = NodeType::Compound; - n_booze->m_address = base + offset; - n_booze->m_defined_in = "df.materials.xml"; - n_booze->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_booze); - - field_name = "cheese"; - auto n_cheese = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_misc_mat, field_name)); - n_cheese->m_field_name = field_name; - n_cheese->m_df_type = DF_Type::material_vec_ref; - n_cheese->m_rdf_type = RDF_Type::Struct; - n_cheese->m_node_type = NodeType::Compound; - n_cheese->m_address = base + offset; - n_cheese->m_defined_in = "df.materials.xml"; - n_cheese->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cheese); - - field_name = "powders"; - auto n_powders = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_misc_mat, field_name)); - n_powders->m_field_name = field_name; - n_powders->m_df_type = DF_Type::material_vec_ref; - n_powders->m_rdf_type = RDF_Type::Struct; - n_powders->m_node_type = NodeType::Compound; - n_powders->m_address = base + offset; - n_powders->m_defined_in = "df.materials.xml"; - n_powders->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_powders); - - field_name = "extracts"; - auto n_extracts = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_misc_mat, field_name)); - n_extracts->m_field_name = field_name; - n_extracts->m_df_type = DF_Type::material_vec_ref; - n_extracts->m_rdf_type = RDF_Type::Struct; - n_extracts->m_node_type = NodeType::Compound; - n_extracts->m_address = base + offset; - n_extracts->m_defined_in = "df.materials.xml"; - n_extracts->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_extracts); - - field_name = "meat"; - auto n_meat = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_misc_mat, field_name)); - n_meat->m_field_name = field_name; - n_meat->m_df_type = DF_Type::material_vec_ref; - n_meat->m_rdf_type = RDF_Type::Struct; - n_meat->m_node_type = NodeType::Compound; - n_meat->m_address = base + offset; - n_meat->m_defined_in = "df.materials.xml"; - n_meat->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_meat); - -} -void node_from_historical_entity__T_resources__T_wood_products(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "item_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_wood_products, field_name)); - auto n_item_type = new NodeVector; - n_item_type->m_field_name = field_name; - n_item_type->m_df_type = DF_Type::item_type; - n_item_type->m_rdf_type = RDF_Type::Vector; - n_item_type->m_node_type = NodeType::Vector; - n_item_type->m_enum_base = DF_Type::int16_t; - n_item_type->m_defined_in = "df.item-raws.xml"; - n_item_type->m_addornements = "v"; - n_item_type->m_address = base + offset; - n_item_type->m_parent = p_node_parent; - n_item_type->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_item_type); - - field_name = "item_subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_wood_products, field_name)); - auto n_item_subtype = new NodeVector; - n_item_subtype->m_field_name = field_name; - n_item_subtype->m_df_type = DF_Type::int16_t; - n_item_subtype->m_rdf_type = RDF_Type::Vector; - n_item_subtype->m_node_type = NodeType::Vector; - n_item_subtype->m_addornements = "v"; - n_item_subtype->m_address = base + offset; - n_item_subtype->m_parent = p_node_parent; - n_item_subtype->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_item_subtype); - - field_name = "material"; - auto n_material = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_wood_products, field_name)); - n_material->m_field_name = field_name; - n_material->m_df_type = DF_Type::material_vec_ref; - n_material->m_rdf_type = RDF_Type::Struct; - n_material->m_node_type = NodeType::Compound; - n_material->m_address = base + offset; - n_material->m_defined_in = "df.materials.xml"; - n_material->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_material); - -} -void node_from_historical_entity__T_resources__T_animals(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "pet_races"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_animals, field_name)); - auto n_pet_races = new NodeVector; - n_pet_races->m_field_name = field_name; - n_pet_races->m_df_type = DF_Type::int32_t; - n_pet_races->m_rdf_type = RDF_Type::Vector; - n_pet_races->m_node_type = NodeType::Vector; - n_pet_races->m_addornements = "v"; - n_pet_races->m_address = base + offset; - n_pet_races->m_parent = p_node_parent; - n_pet_races->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_pet_races); - - field_name = "wagon_races"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_animals, field_name)); - auto n_wagon_races = new NodeVector; - n_wagon_races->m_field_name = field_name; - n_wagon_races->m_df_type = DF_Type::int32_t; - n_wagon_races->m_rdf_type = RDF_Type::Vector; - n_wagon_races->m_node_type = NodeType::Vector; - n_wagon_races->m_addornements = "v"; - n_wagon_races->m_address = base + offset; - n_wagon_races->m_parent = p_node_parent; - n_wagon_races->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_wagon_races); - - field_name = "pack_animal_races"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_animals, field_name)); - auto n_pack_animal_races = new NodeVector; - n_pack_animal_races->m_field_name = field_name; - n_pack_animal_races->m_df_type = DF_Type::int32_t; - n_pack_animal_races->m_rdf_type = RDF_Type::Vector; - n_pack_animal_races->m_node_type = NodeType::Vector; - n_pack_animal_races->m_addornements = "v"; - n_pack_animal_races->m_address = base + offset; - n_pack_animal_races->m_parent = p_node_parent; - n_pack_animal_races->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_pack_animal_races); - - field_name = "wagon_puller_races"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_animals, field_name)); - auto n_wagon_puller_races = new NodeVector; - n_wagon_puller_races->m_field_name = field_name; - n_wagon_puller_races->m_df_type = DF_Type::int32_t; - n_wagon_puller_races->m_rdf_type = RDF_Type::Vector; - n_wagon_puller_races->m_node_type = NodeType::Vector; - n_wagon_puller_races->m_addornements = "v"; - n_wagon_puller_races->m_address = base + offset; - n_wagon_puller_races->m_parent = p_node_parent; - n_wagon_puller_races->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_wagon_puller_races); - - field_name = "mount_races"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_animals, field_name)); - auto n_mount_races = new NodeVector; - n_mount_races->m_field_name = field_name; - n_mount_races->m_df_type = DF_Type::int32_t; - n_mount_races->m_rdf_type = RDF_Type::Vector; - n_mount_races->m_node_type = NodeType::Vector; - n_mount_races->m_addornements = "v"; - n_mount_races->m_address = base + offset; - n_mount_races->m_parent = p_node_parent; - n_mount_races->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_mount_races); - - field_name = "minion_races"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_animals, field_name)); - auto n_minion_races = new NodeVector; - n_minion_races->m_field_name = field_name; - n_minion_races->m_df_type = DF_Type::int32_t; - n_minion_races->m_rdf_type = RDF_Type::Vector; - n_minion_races->m_node_type = NodeType::Vector; - n_minion_races->m_addornements = "v"; - n_minion_races->m_address = base + offset; - n_minion_races->m_parent = p_node_parent; - n_minion_races->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_minion_races); - - field_name = "exotic_pet_races"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_animals, field_name)); - auto n_exotic_pet_races = new NodeVector; - n_exotic_pet_races->m_field_name = field_name; - n_exotic_pet_races->m_df_type = DF_Type::int32_t; - n_exotic_pet_races->m_rdf_type = RDF_Type::Vector; - n_exotic_pet_races->m_node_type = NodeType::Vector; - n_exotic_pet_races->m_addornements = "v"; - n_exotic_pet_races->m_address = base + offset; - n_exotic_pet_races->m_parent = p_node_parent; - n_exotic_pet_races->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_exotic_pet_races); - - field_name = "pet_castes"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_animals, field_name)); - auto n_pet_castes = new NodeVector; - n_pet_castes->m_field_name = field_name; - n_pet_castes->m_df_type = DF_Type::int16_t; - n_pet_castes->m_rdf_type = RDF_Type::Vector; - n_pet_castes->m_node_type = NodeType::Vector; - n_pet_castes->m_addornements = "v"; - n_pet_castes->m_address = base + offset; - n_pet_castes->m_parent = p_node_parent; - n_pet_castes->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_pet_castes); - - field_name = "wagon_castes"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_animals, field_name)); - auto n_wagon_castes = new NodeVector; - n_wagon_castes->m_field_name = field_name; - n_wagon_castes->m_df_type = DF_Type::int16_t; - n_wagon_castes->m_rdf_type = RDF_Type::Vector; - n_wagon_castes->m_node_type = NodeType::Vector; - n_wagon_castes->m_addornements = "v"; - n_wagon_castes->m_address = base + offset; - n_wagon_castes->m_parent = p_node_parent; - n_wagon_castes->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_wagon_castes); - - field_name = "pack_animal_castes"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_animals, field_name)); - auto n_pack_animal_castes = new NodeVector; - n_pack_animal_castes->m_field_name = field_name; - n_pack_animal_castes->m_df_type = DF_Type::int16_t; - n_pack_animal_castes->m_rdf_type = RDF_Type::Vector; - n_pack_animal_castes->m_node_type = NodeType::Vector; - n_pack_animal_castes->m_addornements = "v"; - n_pack_animal_castes->m_address = base + offset; - n_pack_animal_castes->m_parent = p_node_parent; - n_pack_animal_castes->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_pack_animal_castes); - - field_name = "wagon_puller_castes"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_animals, field_name)); - auto n_wagon_puller_castes = new NodeVector; - n_wagon_puller_castes->m_field_name = field_name; - n_wagon_puller_castes->m_df_type = DF_Type::int16_t; - n_wagon_puller_castes->m_rdf_type = RDF_Type::Vector; - n_wagon_puller_castes->m_node_type = NodeType::Vector; - n_wagon_puller_castes->m_addornements = "v"; - n_wagon_puller_castes->m_address = base + offset; - n_wagon_puller_castes->m_parent = p_node_parent; - n_wagon_puller_castes->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_wagon_puller_castes); - - field_name = "mount_castes"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_animals, field_name)); - auto n_mount_castes = new NodeVector; - n_mount_castes->m_field_name = field_name; - n_mount_castes->m_df_type = DF_Type::int16_t; - n_mount_castes->m_rdf_type = RDF_Type::Vector; - n_mount_castes->m_node_type = NodeType::Vector; - n_mount_castes->m_addornements = "v"; - n_mount_castes->m_address = base + offset; - n_mount_castes->m_parent = p_node_parent; - n_mount_castes->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_mount_castes); - - field_name = "minion_castes"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_animals, field_name)); - auto n_minion_castes = new NodeVector; - n_minion_castes->m_field_name = field_name; - n_minion_castes->m_df_type = DF_Type::int16_t; - n_minion_castes->m_rdf_type = RDF_Type::Vector; - n_minion_castes->m_node_type = NodeType::Vector; - n_minion_castes->m_addornements = "v"; - n_minion_castes->m_address = base + offset; - n_minion_castes->m_parent = p_node_parent; - n_minion_castes->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_minion_castes); - - field_name = "exotic_pet_castes"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_animals, field_name)); - auto n_exotic_pet_castes = new NodeVector; - n_exotic_pet_castes->m_field_name = field_name; - n_exotic_pet_castes->m_df_type = DF_Type::int16_t; - n_exotic_pet_castes->m_rdf_type = RDF_Type::Vector; - n_exotic_pet_castes->m_node_type = NodeType::Vector; - n_exotic_pet_castes->m_addornements = "v"; - n_exotic_pet_castes->m_address = base + offset; - n_exotic_pet_castes->m_parent = p_node_parent; - n_exotic_pet_castes->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_exotic_pet_castes); - -} -void node_from_historical_entity__T_resources__T_unk13(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_unk13, field_name)); - auto n_unk1 = new NodeSimple; - n_unk1->m_field_name = field_name; - n_unk1->m_df_type = DF_Type::int16_t; - n_unk1->m_rdf_type = RDF_Type::int16_t; - n_unk1->m_node_type = NodeType::Simple; - n_unk1->m_address = base + offset; - n_unk1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk1); - - field_name = "unk2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_unk13, field_name)); - auto n_unk2 = new NodeSimple; - n_unk2->m_field_name = field_name; - n_unk2->m_df_type = DF_Type::int32_t; - n_unk2->m_rdf_type = RDF_Type::int32_t; - n_unk2->m_node_type = NodeType::Simple; - n_unk2->m_address = base + offset; - n_unk2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk2); - -} -void node_from_historical_entity__T_resources(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "digger_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); - auto n_digger_type = new NodeVector; - n_digger_type->m_field_name = field_name; - n_digger_type->m_df_type = DF_Type::int16_t; - n_digger_type->m_rdf_type = RDF_Type::Vector; - n_digger_type->m_node_type = NodeType::Vector; - n_digger_type->m_addornements = "v"; - n_digger_type->m_address = base + offset; - n_digger_type->m_parent = p_node_parent; - n_digger_type->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_digger_type); - - field_name = "weapon_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); - auto n_weapon_type = new NodeVector; - n_weapon_type->m_field_name = field_name; - n_weapon_type->m_df_type = DF_Type::int16_t; - n_weapon_type->m_rdf_type = RDF_Type::Vector; - n_weapon_type->m_node_type = NodeType::Vector; - n_weapon_type->m_addornements = "v"; - n_weapon_type->m_address = base + offset; - n_weapon_type->m_parent = p_node_parent; - n_weapon_type->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_weapon_type); - - field_name = "training_weapon_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); - auto n_training_weapon_type = new NodeVector; - n_training_weapon_type->m_field_name = field_name; - n_training_weapon_type->m_df_type = DF_Type::int16_t; - n_training_weapon_type->m_rdf_type = RDF_Type::Vector; - n_training_weapon_type->m_node_type = NodeType::Vector; - n_training_weapon_type->m_addornements = "v"; - n_training_weapon_type->m_address = base + offset; - n_training_weapon_type->m_parent = p_node_parent; - n_training_weapon_type->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_training_weapon_type); - - field_name = "armor_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); - auto n_armor_type = new NodeVector; - n_armor_type->m_field_name = field_name; - n_armor_type->m_df_type = DF_Type::int16_t; - n_armor_type->m_rdf_type = RDF_Type::Vector; - n_armor_type->m_node_type = NodeType::Vector; - n_armor_type->m_addornements = "v"; - n_armor_type->m_address = base + offset; - n_armor_type->m_parent = p_node_parent; - n_armor_type->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_armor_type); - - field_name = "ammo_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); - auto n_ammo_type = new NodeVector; - n_ammo_type->m_field_name = field_name; - n_ammo_type->m_df_type = DF_Type::int16_t; - n_ammo_type->m_rdf_type = RDF_Type::Vector; - n_ammo_type->m_node_type = NodeType::Vector; - n_ammo_type->m_addornements = "v"; - n_ammo_type->m_address = base + offset; - n_ammo_type->m_parent = p_node_parent; - n_ammo_type->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_ammo_type); - - field_name = "helm_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); - auto n_helm_type = new NodeVector; - n_helm_type->m_field_name = field_name; - n_helm_type->m_df_type = DF_Type::int16_t; - n_helm_type->m_rdf_type = RDF_Type::Vector; - n_helm_type->m_node_type = NodeType::Vector; - n_helm_type->m_addornements = "v"; - n_helm_type->m_address = base + offset; - n_helm_type->m_parent = p_node_parent; - n_helm_type->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_helm_type); - - field_name = "gloves_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); - auto n_gloves_type = new NodeVector; - n_gloves_type->m_field_name = field_name; - n_gloves_type->m_df_type = DF_Type::int16_t; - n_gloves_type->m_rdf_type = RDF_Type::Vector; - n_gloves_type->m_node_type = NodeType::Vector; - n_gloves_type->m_addornements = "v"; - n_gloves_type->m_address = base + offset; - n_gloves_type->m_parent = p_node_parent; - n_gloves_type->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_gloves_type); - - field_name = "shoes_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); - auto n_shoes_type = new NodeVector; - n_shoes_type->m_field_name = field_name; - n_shoes_type->m_df_type = DF_Type::int16_t; - n_shoes_type->m_rdf_type = RDF_Type::Vector; - n_shoes_type->m_node_type = NodeType::Vector; - n_shoes_type->m_addornements = "v"; - n_shoes_type->m_address = base + offset; - n_shoes_type->m_parent = p_node_parent; - n_shoes_type->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_shoes_type); - - field_name = "pants_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); - auto n_pants_type = new NodeVector; - n_pants_type->m_field_name = field_name; - n_pants_type->m_df_type = DF_Type::int16_t; - n_pants_type->m_rdf_type = RDF_Type::Vector; - n_pants_type->m_node_type = NodeType::Vector; - n_pants_type->m_addornements = "v"; - n_pants_type->m_address = base + offset; - n_pants_type->m_parent = p_node_parent; - n_pants_type->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_pants_type); - - field_name = "shield_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); - auto n_shield_type = new NodeVector; - n_shield_type->m_field_name = field_name; - n_shield_type->m_df_type = DF_Type::int16_t; - n_shield_type->m_rdf_type = RDF_Type::Vector; - n_shield_type->m_node_type = NodeType::Vector; - n_shield_type->m_addornements = "v"; - n_shield_type->m_address = base + offset; - n_shield_type->m_parent = p_node_parent; - n_shield_type->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_shield_type); - - field_name = "trapcomp_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); - auto n_trapcomp_type = new NodeVector; - n_trapcomp_type->m_field_name = field_name; - n_trapcomp_type->m_df_type = DF_Type::int16_t; - n_trapcomp_type->m_rdf_type = RDF_Type::Vector; - n_trapcomp_type->m_node_type = NodeType::Vector; - n_trapcomp_type->m_addornements = "v"; - n_trapcomp_type->m_address = base + offset; - n_trapcomp_type->m_parent = p_node_parent; - n_trapcomp_type->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_trapcomp_type); - - field_name = "toy_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); - auto n_toy_type = new NodeVector; - n_toy_type->m_field_name = field_name; - n_toy_type->m_df_type = DF_Type::int16_t; - n_toy_type->m_rdf_type = RDF_Type::Vector; - n_toy_type->m_node_type = NodeType::Vector; - n_toy_type->m_addornements = "v"; - n_toy_type->m_address = base + offset; - n_toy_type->m_parent = p_node_parent; - n_toy_type->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_toy_type); - - field_name = "instrument_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); - auto n_instrument_type = new NodeVector; - n_instrument_type->m_field_name = field_name; - n_instrument_type->m_df_type = DF_Type::int16_t; - n_instrument_type->m_rdf_type = RDF_Type::Vector; - n_instrument_type->m_node_type = NodeType::Vector; - n_instrument_type->m_addornements = "v"; - n_instrument_type->m_address = base + offset; - n_instrument_type->m_parent = p_node_parent; - n_instrument_type->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_instrument_type); - - field_name = "siegeammo_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); - auto n_siegeammo_type = new NodeVector; - n_siegeammo_type->m_field_name = field_name; - n_siegeammo_type->m_df_type = DF_Type::int16_t; - n_siegeammo_type->m_rdf_type = RDF_Type::Vector; - n_siegeammo_type->m_node_type = NodeType::Vector; - n_siegeammo_type->m_addornements = "v"; - n_siegeammo_type->m_address = base + offset; - n_siegeammo_type->m_parent = p_node_parent; - n_siegeammo_type->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_siegeammo_type); - - field_name = "tool_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); - auto n_tool_type = new NodeVector; - n_tool_type->m_field_name = field_name; - n_tool_type->m_df_type = DF_Type::int16_t; - n_tool_type->m_rdf_type = RDF_Type::Vector; - n_tool_type->m_node_type = NodeType::Vector; - n_tool_type->m_addornements = "v"; - n_tool_type->m_address = base + offset; - n_tool_type->m_parent = p_node_parent; - n_tool_type->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_tool_type); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); - auto n_anon_1 = new NodeVector; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int16_t; - n_anon_1->m_rdf_type = RDF_Type::Vector; - n_anon_1->m_node_type = NodeType::Vector; - n_anon_1->m_addornements = "v"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "metal"; - auto n_metal = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); - n_metal->m_field_name = field_name; - n_metal->m_df_type = DF_Type::historical_entity__T_resources__T_metal; - n_metal->m_rdf_type = RDF_Type::Compound; - n_metal->m_node_type = NodeType::Compound; - n_metal->m_address = base + offset; - n_metal->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_metal); - - field_name = "organic"; - auto n_organic = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); - n_organic->m_field_name = field_name; - n_organic->m_df_type = DF_Type::historical_entity__T_resources__T_organic; - n_organic->m_rdf_type = RDF_Type::Compound; - n_organic->m_node_type = NodeType::Compound; - n_organic->m_address = base + offset; - n_organic->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_organic); - - field_name = "metals"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); - auto n_metals = new NodeVector; - n_metals->m_field_name = field_name; - n_metals->m_df_type = DF_Type::int32_t; - n_metals->m_rdf_type = RDF_Type::Vector; - n_metals->m_node_type = NodeType::Vector; - n_metals->m_addornements = "v"; - n_metals->m_address = base + offset; - n_metals->m_comment = "bars"; - n_metals->m_parent = p_node_parent; - n_metals->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_metals); - - field_name = "stones"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); - auto n_stones = new NodeVector; - n_stones->m_field_name = field_name; - n_stones->m_df_type = DF_Type::int32_t; - n_stones->m_rdf_type = RDF_Type::Vector; - n_stones->m_node_type = NodeType::Vector; - n_stones->m_addornements = "v"; - n_stones->m_address = base + offset; - n_stones->m_comment = "boulders and blocks"; - n_stones->m_parent = p_node_parent; - n_stones->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_stones); - - field_name = "gems"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); - auto n_gems = new NodeVector; - n_gems->m_field_name = field_name; - n_gems->m_df_type = DF_Type::int32_t; - n_gems->m_rdf_type = RDF_Type::Vector; - n_gems->m_node_type = NodeType::Vector; - n_gems->m_addornements = "v"; - n_gems->m_address = base + offset; - n_gems->m_comment = "small and large cut"; - n_gems->m_parent = p_node_parent; - n_gems->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_gems); - - field_name = "refuse"; - auto n_refuse = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); - n_refuse->m_field_name = field_name; - n_refuse->m_df_type = DF_Type::historical_entity__T_resources__T_refuse; - n_refuse->m_rdf_type = RDF_Type::Compound; - n_refuse->m_node_type = NodeType::Compound; - n_refuse->m_address = base + offset; - n_refuse->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_refuse); - - field_name = "misc_mat"; - auto n_misc_mat = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); - n_misc_mat->m_field_name = field_name; - n_misc_mat->m_df_type = DF_Type::historical_entity__T_resources__T_misc_mat; - n_misc_mat->m_rdf_type = RDF_Type::Compound; - n_misc_mat->m_node_type = NodeType::Compound; - n_misc_mat->m_address = base + offset; - n_misc_mat->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_misc_mat); - - field_name = "fish_races"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); - auto n_fish_races = new NodeVector; - n_fish_races->m_field_name = field_name; - n_fish_races->m_df_type = DF_Type::int32_t; - n_fish_races->m_rdf_type = RDF_Type::Vector; - n_fish_races->m_node_type = NodeType::Vector; - n_fish_races->m_addornements = "v"; - n_fish_races->m_address = base + offset; - n_fish_races->m_parent = p_node_parent; - n_fish_races->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_fish_races); - - field_name = "fish_castes"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); - auto n_fish_castes = new NodeVector; - n_fish_castes->m_field_name = field_name; - n_fish_castes->m_df_type = DF_Type::int16_t; - n_fish_castes->m_rdf_type = RDF_Type::Vector; - n_fish_castes->m_node_type = NodeType::Vector; - n_fish_castes->m_addornements = "v"; - n_fish_castes->m_address = base + offset; - n_fish_castes->m_parent = p_node_parent; - n_fish_castes->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_fish_castes); - - field_name = "egg_races"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); - auto n_egg_races = new NodeVector; - n_egg_races->m_field_name = field_name; - n_egg_races->m_df_type = DF_Type::int32_t; - n_egg_races->m_rdf_type = RDF_Type::Vector; - n_egg_races->m_node_type = NodeType::Vector; - n_egg_races->m_addornements = "v"; - n_egg_races->m_address = base + offset; - n_egg_races->m_parent = p_node_parent; - n_egg_races->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_egg_races); - - field_name = "egg_castes"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); - auto n_egg_castes = new NodeVector; - n_egg_castes->m_field_name = field_name; - n_egg_castes->m_df_type = DF_Type::int16_t; - n_egg_castes->m_rdf_type = RDF_Type::Vector; - n_egg_castes->m_node_type = NodeType::Vector; - n_egg_castes->m_addornements = "v"; - n_egg_castes->m_address = base + offset; - n_egg_castes->m_parent = p_node_parent; - n_egg_castes->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_egg_castes); - - field_name = "plants"; - auto n_plants = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); - n_plants->m_field_name = field_name; - n_plants->m_df_type = DF_Type::material_vec_ref; - n_plants->m_rdf_type = RDF_Type::Struct; - n_plants->m_node_type = NodeType::Compound; - n_plants->m_address = base + offset; - n_plants->m_defined_in = "df.materials.xml"; - n_plants->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_plants); - - field_name = "tree_fruit_plants"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); - auto n_tree_fruit_plants = new NodeVector; - n_tree_fruit_plants->m_field_name = field_name; - n_tree_fruit_plants->m_df_type = DF_Type::int32_t; - n_tree_fruit_plants->m_rdf_type = RDF_Type::Vector; - n_tree_fruit_plants->m_node_type = NodeType::Vector; - n_tree_fruit_plants->m_addornements = "v"; - n_tree_fruit_plants->m_address = base + offset; - n_tree_fruit_plants->m_parent = p_node_parent; - n_tree_fruit_plants->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_tree_fruit_plants); - - field_name = "tree_fruit_growths"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); - auto n_tree_fruit_growths = new NodeVector; - n_tree_fruit_growths->m_field_name = field_name; - n_tree_fruit_growths->m_df_type = DF_Type::int16_t; - n_tree_fruit_growths->m_rdf_type = RDF_Type::Vector; - n_tree_fruit_growths->m_node_type = NodeType::Vector; - n_tree_fruit_growths->m_addornements = "v"; - n_tree_fruit_growths->m_address = base + offset; - n_tree_fruit_growths->m_parent = p_node_parent; - n_tree_fruit_growths->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_tree_fruit_growths); - - field_name = "shrub_fruit_plants"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); - auto n_shrub_fruit_plants = new NodeVector; - n_shrub_fruit_plants->m_field_name = field_name; - n_shrub_fruit_plants->m_df_type = DF_Type::int32_t; - n_shrub_fruit_plants->m_rdf_type = RDF_Type::Vector; - n_shrub_fruit_plants->m_node_type = NodeType::Vector; - n_shrub_fruit_plants->m_addornements = "v"; - n_shrub_fruit_plants->m_address = base + offset; - n_shrub_fruit_plants->m_parent = p_node_parent; - n_shrub_fruit_plants->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_shrub_fruit_plants); - - field_name = "shrub_fruit_growths"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); - auto n_shrub_fruit_growths = new NodeVector; - n_shrub_fruit_growths->m_field_name = field_name; - n_shrub_fruit_growths->m_df_type = DF_Type::int16_t; - n_shrub_fruit_growths->m_rdf_type = RDF_Type::Vector; - n_shrub_fruit_growths->m_node_type = NodeType::Vector; - n_shrub_fruit_growths->m_addornements = "v"; - n_shrub_fruit_growths->m_address = base + offset; - n_shrub_fruit_growths->m_parent = p_node_parent; - n_shrub_fruit_growths->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_shrub_fruit_growths); - - field_name = "seeds"; - auto n_seeds = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); - n_seeds->m_field_name = field_name; - n_seeds->m_df_type = DF_Type::material_vec_ref; - n_seeds->m_rdf_type = RDF_Type::Struct; - n_seeds->m_node_type = NodeType::Compound; - n_seeds->m_address = base + offset; - n_seeds->m_defined_in = "df.materials.xml"; - n_seeds->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_seeds); - - field_name = "wood_products"; - auto n_wood_products = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); - n_wood_products->m_field_name = field_name; - n_wood_products->m_df_type = DF_Type::historical_entity__T_resources__T_wood_products; - n_wood_products->m_rdf_type = RDF_Type::Compound; - n_wood_products->m_node_type = NodeType::Compound; - n_wood_products->m_address = base + offset; - n_wood_products->m_comment = "lye, charcoal, potash, pearlash, and coke"; - n_wood_products->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_wood_products); - - field_name = "animals"; - auto n_animals = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); - n_animals->m_field_name = field_name; - n_animals->m_df_type = DF_Type::historical_entity__T_resources__T_animals; - n_animals->m_rdf_type = RDF_Type::Compound; - n_animals->m_node_type = NodeType::Compound; - n_animals->m_address = base + offset; - n_animals->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_animals); - - field_name = "meat_fish_recipes"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); - auto n_meat_fish_recipes = new NodeVector; - n_meat_fish_recipes->m_field_name = field_name; - n_meat_fish_recipes->m_df_type = DF_Type::entity_recipe; - n_meat_fish_recipes->m_rdf_type = RDF_Type::Vector; - n_meat_fish_recipes->m_node_type = NodeType::Vector; - n_meat_fish_recipes->m_defined_in = "df.entities.xml"; - n_meat_fish_recipes->m_addornements = "v*"; - n_meat_fish_recipes->m_address = base + offset; - n_meat_fish_recipes->m_parent = p_node_parent; - n_meat_fish_recipes->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_meat_fish_recipes); - - field_name = "other_recipes"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); - auto n_other_recipes = new NodeVector; - n_other_recipes->m_field_name = field_name; - n_other_recipes->m_df_type = DF_Type::entity_recipe; - n_other_recipes->m_rdf_type = RDF_Type::Vector; - n_other_recipes->m_node_type = NodeType::Vector; - n_other_recipes->m_defined_in = "df.entities.xml"; - n_other_recipes->m_addornements = "v*"; - n_other_recipes->m_address = base + offset; - n_other_recipes->m_parent = p_node_parent; - n_other_recipes->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_other_recipes); - - field_name = "unk13"; - auto n_unk13 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); - n_unk13->m_field_name = field_name; - n_unk13->m_df_type = DF_Type::historical_entity__T_resources__T_unk13; - n_unk13->m_rdf_type = RDF_Type::Array; - n_unk13->m_comment = "in 0.23, these were material/matgloss pairs, never used for anything"; - n_unk13->m_node_type = NodeType::Array; - n_unk13->m_addornements = "[3"; - n_unk13->m_array_size = 3; - n_unk13->m_address = base + offset; - n_unk13->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk13); - - field_name = "unk14"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); - auto n_unk14 = new NodeVector; - n_unk14->m_field_name = field_name; - n_unk14->m_df_type = DF_Type::item; - n_unk14->m_rdf_type = RDF_Type::Vector; - n_unk14->m_node_type = NodeType::Vector; - n_unk14->m_defined_in = "df.items.xml"; - n_unk14->m_addornements = "v*"; - n_unk14->m_address = base + offset; - n_unk14->m_comment = "in 0.23, items that would be equipped by the arriving King, never used"; - n_unk14->m_parent = p_node_parent; - n_unk14->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk14); - - field_name = "unk15a"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); - auto n_unk15a = new NodeSimple; - n_unk15a->m_field_name = field_name; - n_unk15a->m_df_type = DF_Type::int16_t; - n_unk15a->m_rdf_type = RDF_Type::int16_t; - n_unk15a->m_node_type = NodeType::Simple; - n_unk15a->m_address = base + offset; - n_unk15a->m_comment = "in 0.23, minimum temperature"; - n_unk15a->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk15a); - - field_name = "unk15b"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); - auto n_unk15b = new NodeSimple; - n_unk15b->m_field_name = field_name; - n_unk15b->m_df_type = DF_Type::int16_t; - n_unk15b->m_rdf_type = RDF_Type::int16_t; - n_unk15b->m_node_type = NodeType::Simple; - n_unk15b->m_address = base + offset; - n_unk15b->m_comment = "in 0.23, maximum temperature"; - n_unk15b->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk15b); - - field_name = "ethic"; - auto n_ethic = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); - n_ethic->m_field_name = field_name; - n_ethic->m_df_type = DF_Type::ethic_response; - n_ethic->m_rdf_type = RDF_Type::Array; - n_ethic->m_node_type = NodeType::Array; - n_ethic->m_index_enum = DF_Type::ethic_type; - n_ethic->m_enum_base = DF_Type::int16_t; - n_ethic->m_defined_in = "df.entity-raws.xml"; - n_ethic->m_addornements = "[22"; - n_ethic->m_array_size = 22; - n_ethic->m_address = base + offset; - n_ethic->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ethic); - - field_name = "values"; - auto n_values = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); - n_values->m_field_name = field_name; - n_values->m_df_type = DF_Type::int32_t; - n_values->m_rdf_type = RDF_Type::Array; - n_values->m_node_type = NodeType::Array; - n_values->m_index_enum = DF_Type::value_type; - n_values->m_addornements = "[64"; - n_values->m_array_size = 64; - n_values->m_address = base + offset; - n_values->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_values); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "permitted_skill"; - auto n_permitted_skill = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); - n_permitted_skill->m_field_name = field_name; - n_permitted_skill->m_df_type = DF_Type::Bool; - n_permitted_skill->m_rdf_type = RDF_Type::Array; - n_permitted_skill->m_node_type = NodeType::Array; - n_permitted_skill->m_index_enum = DF_Type::job_skill; - n_permitted_skill->m_addornements = "[135"; - n_permitted_skill->m_array_size = 135; - n_permitted_skill->m_address = base + offset; - n_permitted_skill->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_permitted_skill); - - field_name = "art_image_types"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); - auto n_art_image_types = new NodeVector; - n_art_image_types->m_field_name = field_name; - n_art_image_types->m_df_type = DF_Type::int16_t; - n_art_image_types->m_rdf_type = RDF_Type::Vector; - n_art_image_types->m_node_type = NodeType::Vector; - n_art_image_types->m_addornements = "v"; - n_art_image_types->m_address = base + offset; - n_art_image_types->m_comment = "0 = civilization symbol"; - n_art_image_types->m_parent = p_node_parent; - n_art_image_types->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_art_image_types); - - field_name = "art_image_ids"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); - auto n_art_image_ids = new NodeVector; - n_art_image_ids->m_field_name = field_name; - n_art_image_ids->m_df_type = DF_Type::int32_t; - n_art_image_ids->m_rdf_type = RDF_Type::Vector; - n_art_image_ids->m_node_type = NodeType::Vector; - n_art_image_ids->m_addornements = "v"; - n_art_image_ids->m_address = base + offset; - n_art_image_ids->m_parent = p_node_parent; - n_art_image_ids->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_art_image_ids); - - field_name = "art_image_subids"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); - auto n_art_image_subids = new NodeVector; - n_art_image_subids->m_field_name = field_name; - n_art_image_subids->m_df_type = DF_Type::int16_t; - n_art_image_subids->m_rdf_type = RDF_Type::Vector; - n_art_image_subids->m_node_type = NodeType::Vector; - n_art_image_subids->m_addornements = "v"; - n_art_image_subids->m_address = base + offset; - n_art_image_subids->m_parent = p_node_parent; - n_art_image_subids->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_art_image_subids); - - field_name = "discovered_creature_foods"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); - auto n_discovered_creature_foods = new NodeVector; - n_discovered_creature_foods->m_field_name = field_name; - n_discovered_creature_foods->m_df_type = DF_Type::Bool; - n_discovered_creature_foods->m_rdf_type = RDF_Type::Vector; - n_discovered_creature_foods->m_node_type = NodeType::Vector; - n_discovered_creature_foods->m_addornements = "v"; - n_discovered_creature_foods->m_address = base + offset; - n_discovered_creature_foods->m_refers_to = "(find-creature $)"; - n_discovered_creature_foods->m_parent = p_node_parent; - n_discovered_creature_foods->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_discovered_creature_foods); - - field_name = "discovered_creatures"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); - auto n_discovered_creatures = new NodeVector; - n_discovered_creatures->m_field_name = field_name; - n_discovered_creatures->m_df_type = DF_Type::Bool; - n_discovered_creatures->m_rdf_type = RDF_Type::Vector; - n_discovered_creatures->m_node_type = NodeType::Vector; - n_discovered_creatures->m_addornements = "v"; - n_discovered_creatures->m_address = base + offset; - n_discovered_creatures->m_refers_to = "(find-creature $)"; - n_discovered_creatures->m_parent = p_node_parent; - n_discovered_creatures->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_discovered_creatures); - - field_name = "discovered_plant_foods"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); - auto n_discovered_plant_foods = new NodeVector; - n_discovered_plant_foods->m_field_name = field_name; - n_discovered_plant_foods->m_df_type = DF_Type::Bool; - n_discovered_plant_foods->m_rdf_type = RDF_Type::Vector; - n_discovered_plant_foods->m_node_type = NodeType::Vector; - n_discovered_plant_foods->m_addornements = "v"; - n_discovered_plant_foods->m_address = base + offset; - n_discovered_plant_foods->m_refers_to = "(find-plant-raw $)"; - n_discovered_plant_foods->m_parent = p_node_parent; - n_discovered_plant_foods->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_discovered_plant_foods); - - field_name = "discovered_plants"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); - auto n_discovered_plants = new NodeVector; - n_discovered_plants->m_field_name = field_name; - n_discovered_plants->m_df_type = DF_Type::Bool; - n_discovered_plants->m_rdf_type = RDF_Type::Vector; - n_discovered_plants->m_node_type = NodeType::Vector; - n_discovered_plants->m_addornements = "v"; - n_discovered_plants->m_address = base + offset; - n_discovered_plants->m_refers_to = "(find-plant-raw $)"; - n_discovered_plants->m_parent = p_node_parent; - n_discovered_plants->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_discovered_plants); - - field_name = "foreground_color"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); - auto n_foreground_color = new NodeVector; - n_foreground_color->m_field_name = field_name; - n_foreground_color->m_df_type = DF_Type::int16_t; - n_foreground_color->m_rdf_type = RDF_Type::Vector; - n_foreground_color->m_node_type = NodeType::Vector; - n_foreground_color->m_addornements = "v"; - n_foreground_color->m_address = base + offset; - n_foreground_color->m_comment = "foreground color used for the entity symbol in legends mode and the historical maps."; - n_foreground_color->m_parent = p_node_parent; - n_foreground_color->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_foreground_color); - - field_name = "background_color"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); - auto n_background_color = new NodeVector; - n_background_color->m_field_name = field_name; - n_background_color->m_df_type = DF_Type::int16_t; - n_background_color->m_rdf_type = RDF_Type::Vector; - n_background_color->m_node_type = NodeType::Vector; - n_background_color->m_addornements = "v"; - n_background_color->m_address = base + offset; - n_background_color->m_comment = "background color used for the entity symbol in legends mode and the historical maps."; - n_background_color->m_parent = p_node_parent; - n_background_color->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_background_color); - -} -void node_from_historical_entity__T_unknown1b__T_unk32e(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1b__T_unk32e, field_name)); - auto n_anon_1 = new NodeVector; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int16_t; - n_anon_1->m_rdf_type = RDF_Type::Vector; - n_anon_1->m_node_type = NodeType::Vector; - n_anon_1->m_addornements = "v"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1b__T_unk32e, field_name)); - auto n_anon_2 = new NodeVector; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int16_t; - n_anon_2->m_rdf_type = RDF_Type::Vector; - n_anon_2->m_node_type = NodeType::Vector; - n_anon_2->m_addornements = "v"; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - n_anon_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1b__T_unk32e, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1b__T_unk32e, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1b__T_unk32e, field_name)); - auto n_anon_5 = new NodeVector; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::Vector; - n_anon_5->m_node_type = NodeType::Vector; - n_anon_5->m_addornements = "v"; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - n_anon_5->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1b__T_unk32e, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int16_t; - n_anon_6->m_rdf_type = RDF_Type::int16_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1b__T_unk32e, field_name)); - auto n_anon_7 = new NodeSimple; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::int16_t; - n_anon_7->m_rdf_type = RDF_Type::int16_t; - n_anon_7->m_node_type = NodeType::Simple; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_7); - -} -void node_from_historical_entity__T_unknown1b__T_diplomacy(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "group_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1b__T_diplomacy, field_name)); - auto n_group_id = new NodeSimple; - n_group_id->m_field_name = field_name; - n_group_id->m_df_type = DF_Type::int32_t; - n_group_id->m_rdf_type = RDF_Type::int32_t; - n_group_id->m_node_type = NodeType::Simple; - n_group_id->m_address = base + offset; - n_group_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_group_id); - - field_name = "relation"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1b__T_diplomacy, field_name)); - auto n_relation = new NodeSimple; - n_relation->m_field_name = field_name; - n_relation->m_df_type = DF_Type::int16_t; - n_relation->m_rdf_type = RDF_Type::int16_t; - n_relation->m_node_type = NodeType::Simple; - n_relation->m_address = base + offset; - n_relation->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_relation); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1b__T_diplomacy, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "historic_events"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1b__T_diplomacy, field_name)); - auto n_historic_events = new NodeVector; - n_historic_events->m_field_name = field_name; - n_historic_events->m_df_type = DF_Type::int32_t; - n_historic_events->m_rdf_type = RDF_Type::Vector; - n_historic_events->m_node_type = NodeType::Vector; - n_historic_events->m_addornements = "v"; - n_historic_events->m_address = base + offset; - n_historic_events->m_parent = p_node_parent; - n_historic_events->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_historic_events); - - field_name = "historic_events_collection"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1b__T_diplomacy, field_name)); - auto n_historic_events_collection = new NodeVector; - n_historic_events_collection->m_field_name = field_name; - n_historic_events_collection->m_df_type = DF_Type::int32_t; - n_historic_events_collection->m_rdf_type = RDF_Type::Vector; - n_historic_events_collection->m_node_type = NodeType::Vector; - n_historic_events_collection->m_addornements = "v"; - n_historic_events_collection->m_address = base + offset; - n_historic_events_collection->m_parent = p_node_parent; - n_historic_events_collection->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_historic_events_collection); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1b__T_diplomacy, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - -} -void node_from_historical_entity__T_unknown1b(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk32a"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1b, field_name)); - auto n_unk32a = new NodeVector; - n_unk32a->m_field_name = field_name; - n_unk32a->m_df_type = DF_Type::int32_t; - n_unk32a->m_rdf_type = RDF_Type::Vector; - n_unk32a->m_node_type = NodeType::Vector; - n_unk32a->m_addornements = "v"; - n_unk32a->m_address = base + offset; - n_unk32a->m_parent = p_node_parent; - n_unk32a->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk32a); - - field_name = "deities"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1b, field_name)); - auto n_deities = new NodeVector; - n_deities->m_field_name = field_name; - n_deities->m_df_type = DF_Type::int32_t; - n_deities->m_rdf_type = RDF_Type::Vector; - n_deities->m_node_type = NodeType::Vector; - n_deities->m_addornements = "v"; - n_deities->m_address = base + offset; - n_deities->m_parent = p_node_parent; - n_deities->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_deities); - - field_name = "worship"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1b, field_name)); - auto n_worship = new NodeVector; - n_worship->m_field_name = field_name; - n_worship->m_df_type = DF_Type::int32_t; - n_worship->m_rdf_type = RDF_Type::Vector; - n_worship->m_node_type = NodeType::Vector; - n_worship->m_addornements = "v"; - n_worship->m_address = base + offset; - n_worship->m_comment = "Same length as deities(?). Some kind of relationship strength?"; - n_worship->m_parent = p_node_parent; - n_worship->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_worship); - - field_name = "belief_systems"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1b, field_name)); - auto n_belief_systems = new NodeVector; - n_belief_systems->m_field_name = field_name; - n_belief_systems->m_df_type = DF_Type::int32_t; - n_belief_systems->m_rdf_type = RDF_Type::Vector; - n_belief_systems->m_node_type = NodeType::Vector; - n_belief_systems->m_addornements = "v"; - n_belief_systems->m_address = base + offset; - n_belief_systems->m_comment = "In Religion type entities established by prophets after having developed their own belief system, the ID of this belief system is contained here."; - n_belief_systems->m_parent = p_node_parent; - n_belief_systems->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_belief_systems); - - field_name = "unk32e"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1b, field_name)); - auto n_unk32e = new NodeVector; - n_unk32e->m_field_name = field_name; - n_unk32e->m_df_type = DF_Type::historical_entity__T_unknown1b__T_unk32e; - n_unk32e->m_rdf_type = RDF_Type::Vector; - n_unk32e->m_node_type = NodeType::Vector; - n_unk32e->m_addornements = "v*"; - n_unk32e->m_address = base + offset; - n_unk32e->m_parent = p_node_parent; - n_unk32e->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk32e); - - field_name = "diplomacy"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1b, field_name)); - auto n_diplomacy = new NodeVector; - n_diplomacy->m_field_name = field_name; - n_diplomacy->m_df_type = DF_Type::historical_entity__T_unknown1b__T_diplomacy; - n_diplomacy->m_rdf_type = RDF_Type::Vector; - n_diplomacy->m_node_type = NodeType::Vector; - n_diplomacy->m_addornements = "v*"; - n_diplomacy->m_address = base + offset; - n_diplomacy->m_parent = p_node_parent; - n_diplomacy->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_diplomacy); - - field_name = "unk33"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1b, field_name)); - auto n_unk33 = new NodeSimple; - n_unk33->m_field_name = field_name; - n_unk33->m_df_type = DF_Type::int16_t; - n_unk33->m_rdf_type = RDF_Type::int16_t; - n_unk33->m_node_type = NodeType::Simple; - n_unk33->m_address = base + offset; - n_unk33->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk33); - - field_name = "unk34a"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1b, field_name)); - auto n_unk34a = new NodeVector; - n_unk34a->m_field_name = field_name; - n_unk34a->m_df_type = DF_Type::int16_t; - n_unk34a->m_rdf_type = RDF_Type::Vector; - n_unk34a->m_node_type = NodeType::Vector; - n_unk34a->m_addornements = "v"; - n_unk34a->m_address = base + offset; - n_unk34a->m_parent = p_node_parent; - n_unk34a->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk34a); - - field_name = "unk34b"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1b, field_name)); - auto n_unk34b = new NodeVector; - n_unk34b->m_field_name = field_name; - n_unk34b->m_df_type = DF_Type::int16_t; - n_unk34b->m_rdf_type = RDF_Type::Vector; - n_unk34b->m_node_type = NodeType::Vector; - n_unk34b->m_addornements = "v"; - n_unk34b->m_address = base + offset; - n_unk34b->m_parent = p_node_parent; - n_unk34b->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk34b); - - field_name = "unk34c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1b, field_name)); - auto n_unk34c = new NodeVector; - n_unk34c->m_field_name = field_name; - n_unk34c->m_df_type = DF_Type::int32_t; - n_unk34c->m_rdf_type = RDF_Type::Vector; - n_unk34c->m_node_type = NodeType::Vector; - n_unk34c->m_addornements = "v"; - n_unk34c->m_address = base + offset; - n_unk34c->m_parent = p_node_parent; - n_unk34c->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk34c); - - field_name = "unk34d"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1b, field_name)); - auto n_unk34d = new NodeVector; - n_unk34d->m_field_name = field_name; - n_unk34d->m_df_type = DF_Type::int32_t; - n_unk34d->m_rdf_type = RDF_Type::Vector; - n_unk34d->m_node_type = NodeType::Vector; - n_unk34d->m_addornements = "v"; - n_unk34d->m_address = base + offset; - n_unk34d->m_comment = "empty"; - n_unk34d->m_parent = p_node_parent; - n_unk34d->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk34d); - - field_name = "unk34e"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1b, field_name)); - auto n_unk34e = new NodeVector; - n_unk34e->m_field_name = field_name; - n_unk34e->m_df_type = DF_Type::int32_t; - n_unk34e->m_rdf_type = RDF_Type::Vector; - n_unk34e->m_node_type = NodeType::Vector; - n_unk34e->m_addornements = "v"; - n_unk34e->m_address = base + offset; - n_unk34e->m_comment = "empty"; - n_unk34e->m_parent = p_node_parent; - n_unk34e->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk34e); - -} -void node_from_historical_entity__T_positions(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "own"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_positions, field_name)); - auto n_own = new NodeVector; - n_own->m_field_name = field_name; - n_own->m_df_type = DF_Type::entity_position; - n_own->m_rdf_type = RDF_Type::Vector; - n_own->m_node_type = NodeType::Vector; - n_own->m_defined_in = "df.entities.xml"; - n_own->m_addornements = "v*"; - n_own->m_address = base + offset; - n_own->m_parent = p_node_parent; - n_own->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_own); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_positions, field_name)); - auto n_site = new NodeVector; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::entity_position; - n_site->m_rdf_type = RDF_Type::Vector; - n_site->m_node_type = NodeType::Vector; - n_site->m_defined_in = "df.entities.xml"; - n_site->m_addornements = "v*"; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - n_site->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_site); - - field_name = "conquered_site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_positions, field_name)); - auto n_conquered_site = new NodeVector; - n_conquered_site->m_field_name = field_name; - n_conquered_site->m_df_type = DF_Type::entity_position; - n_conquered_site->m_rdf_type = RDF_Type::Vector; - n_conquered_site->m_node_type = NodeType::Vector; - n_conquered_site->m_defined_in = "df.entities.xml"; - n_conquered_site->m_addornements = "v*"; - n_conquered_site->m_address = base + offset; - n_conquered_site->m_parent = p_node_parent; - n_conquered_site->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_conquered_site); - - field_name = "next_position_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_positions, field_name)); - auto n_next_position_id = new NodeSimple; - n_next_position_id->m_field_name = field_name; - n_next_position_id->m_df_type = DF_Type::int32_t; - n_next_position_id->m_rdf_type = RDF_Type::int32_t; - n_next_position_id->m_node_type = NodeType::Simple; - n_next_position_id->m_address = base + offset; - n_next_position_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_next_position_id); - - field_name = "assignments"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_positions, field_name)); - auto n_assignments = new NodeVector; - n_assignments->m_field_name = field_name; - n_assignments->m_df_type = DF_Type::entity_position_assignment; - n_assignments->m_rdf_type = RDF_Type::Vector; - n_assignments->m_node_type = NodeType::Vector; - n_assignments->m_defined_in = "df.entities.xml"; - n_assignments->m_addornements = "v*"; - n_assignments->m_address = base + offset; - n_assignments->m_parent = p_node_parent; - n_assignments->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_assignments); - - field_name = "next_assignment_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_positions, field_name)); - auto n_next_assignment_id = new NodeSimple; - n_next_assignment_id->m_field_name = field_name; - n_next_assignment_id->m_df_type = DF_Type::int32_t; - n_next_assignment_id->m_rdf_type = RDF_Type::int32_t; - n_next_assignment_id->m_node_type = NodeType::Simple; - n_next_assignment_id->m_address = base + offset; - n_next_assignment_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_next_assignment_id); - - field_name = "unk_v40_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_positions, field_name)); - auto n_unk_v40_1 = new NodeVector; - n_unk_v40_1->m_field_name = field_name; - n_unk_v40_1->m_df_type = DF_Type::entity_position_assignment; - n_unk_v40_1->m_rdf_type = RDF_Type::Vector; - n_unk_v40_1->m_node_type = NodeType::Vector; - n_unk_v40_1->m_defined_in = "df.entities.xml"; - n_unk_v40_1->m_addornements = "v*"; - n_unk_v40_1->m_address = base + offset; - n_unk_v40_1->m_parent = p_node_parent; - n_unk_v40_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_v40_1); - - field_name = "unk_v40_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_positions, field_name)); - auto n_unk_v40_2 = new NodeVector; - n_unk_v40_2->m_field_name = field_name; - n_unk_v40_2->m_df_type = DF_Type::entity_position_assignment; - n_unk_v40_2->m_rdf_type = RDF_Type::Vector; - n_unk_v40_2->m_node_type = NodeType::Vector; - n_unk_v40_2->m_defined_in = "df.entities.xml"; - n_unk_v40_2->m_addornements = "v*"; - n_unk_v40_2->m_address = base + offset; - n_unk_v40_2->m_parent = p_node_parent; - n_unk_v40_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_v40_2); - - field_name = "unk_v40_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_positions, field_name)); - auto n_unk_v40_3 = new NodeVector; - n_unk_v40_3->m_field_name = field_name; - n_unk_v40_3->m_df_type = DF_Type::entity_position_assignment; - n_unk_v40_3->m_rdf_type = RDF_Type::Vector; - n_unk_v40_3->m_node_type = NodeType::Vector; - n_unk_v40_3->m_defined_in = "df.entities.xml"; - n_unk_v40_3->m_addornements = "v*"; - n_unk_v40_3->m_address = base + offset; - n_unk_v40_3->m_parent = p_node_parent; - n_unk_v40_3->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_v40_3); - - field_name = "unk_v40_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_positions, field_name)); - auto n_unk_v40_4 = new NodeVector; - n_unk_v40_4->m_field_name = field_name; - n_unk_v40_4->m_df_type = DF_Type::int32_t; - n_unk_v40_4->m_rdf_type = RDF_Type::Vector; - n_unk_v40_4->m_node_type = NodeType::Vector; - n_unk_v40_4->m_addornements = "v"; - n_unk_v40_4->m_address = base + offset; - n_unk_v40_4->m_parent = p_node_parent; - n_unk_v40_4->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_v40_4); - - field_name = "unk_v40_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_positions, field_name)); - auto n_unk_v40_5 = new NodeVector; - n_unk_v40_5->m_field_name = field_name; - n_unk_v40_5->m_df_type = DF_Type::int32_t; - n_unk_v40_5->m_rdf_type = RDF_Type::Vector; - n_unk_v40_5->m_node_type = NodeType::Vector; - n_unk_v40_5->m_addornements = "v"; - n_unk_v40_5->m_address = base + offset; - n_unk_v40_5->m_parent = p_node_parent; - n_unk_v40_5->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_v40_5); - -} -void node_from_historical_entity__T_tissue_styles(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "all"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_tissue_styles, field_name)); - auto n_all = new NodeVector; - n_all->m_field_name = field_name; - n_all->m_df_type = DF_Type::entity_tissue_style; - n_all->m_rdf_type = RDF_Type::Vector; - n_all->m_node_type = NodeType::Vector; - n_all->m_defined_in = "df.entities.xml"; - n_all->m_addornements = "v*"; - n_all->m_address = base + offset; - n_all->m_parent = p_node_parent; - n_all->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_all); - - field_name = "next_style_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_tissue_styles, field_name)); - auto n_next_style_id = new NodeSimple; - n_next_style_id->m_field_name = field_name; - n_next_style_id->m_df_type = DF_Type::int32_t; - n_next_style_id->m_rdf_type = RDF_Type::int32_t; - n_next_style_id->m_node_type = NodeType::Simple; - n_next_style_id->m_address = base + offset; - n_next_style_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_next_style_id); - -} -void node_from_historical_entity__T_unknown1d(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk42"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1d, field_name)); - auto n_unk42 = new NodeSimple; - n_unk42->m_field_name = field_name; - n_unk42->m_df_type = DF_Type::int32_t; - n_unk42->m_rdf_type = RDF_Type::int32_t; - n_unk42->m_node_type = NodeType::Simple; - n_unk42->m_address = base + offset; - n_unk42->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk42); - - field_name = "unk43"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1d, field_name)); - auto n_unk43 = new NodeVector; - n_unk43->m_field_name = field_name; - n_unk43->m_df_type = DF_Type::int32_t; - n_unk43->m_rdf_type = RDF_Type::Vector; - n_unk43->m_node_type = NodeType::Vector; - n_unk43->m_addornements = "v"; - n_unk43->m_address = base + offset; - n_unk43->m_comment = "empty"; - n_unk43->m_parent = p_node_parent; - n_unk43->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk43); - - field_name = "unk44"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1d, field_name)); - auto n_unk44 = new NodeSimple; - n_unk44->m_field_name = field_name; - n_unk44->m_df_type = DF_Type::int32_t; - n_unk44->m_rdf_type = RDF_Type::int32_t; - n_unk44->m_node_type = NodeType::Simple; - n_unk44->m_address = base + offset; - n_unk44->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk44); - - field_name = "unk44a"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1d, field_name)); - auto n_unk44a = new NodeSimple; - n_unk44a->m_field_name = field_name; - n_unk44a->m_df_type = DF_Type::int32_t; - n_unk44a->m_rdf_type = RDF_Type::int32_t; - n_unk44a->m_node_type = NodeType::Simple; - n_unk44a->m_address = base + offset; - n_unk44a->m_comment = "appears to be a class with a constructor?"; - n_unk44a->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk44a); - - field_name = "unk44b"; - auto n_unk44b = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1d, field_name)); - n_unk44b->m_field_name = field_name; - n_unk44b->m_df_type = DF_Type::int32_t; - n_unk44b->m_rdf_type = RDF_Type::Array; - n_unk44b->m_node_type = NodeType::Array; - n_unk44b->m_addornements = "[15"; - n_unk44b->m_array_size = 15; - n_unk44b->m_address = base + offset; - n_unk44b->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk44b); - -} -void node_from_historical_entity__T_training_knowledge(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "level"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_training_knowledge, field_name)); - auto n_level = new NodeVector; - n_level->m_field_name = field_name; - n_level->m_df_type = DF_Type::training_knowledge_level; - n_level->m_rdf_type = RDF_Type::Vector; - n_level->m_node_type = NodeType::Vector; - n_level->m_enum_base = DF_Type::int32_t; - n_level->m_defined_in = "df.entities.xml"; - n_level->m_addornements = "v"; - n_level->m_address = base + offset; - n_level->m_refers_to = "(find-instance $creature_raw $)"; - n_level->m_parent = p_node_parent; - n_level->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_level); - - field_name = "unk_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_training_knowledge, field_name)); - auto n_unk_10 = new NodeVector; - n_unk_10->m_field_name = field_name; - n_unk_10->m_df_type = DF_Type::int32_t; - n_unk_10->m_rdf_type = RDF_Type::Vector; - n_unk_10->m_node_type = NodeType::Vector; - n_unk_10->m_addornements = "v"; - n_unk_10->m_address = base + offset; - n_unk_10->m_refers_to = "(find-instance $creature_raw $)"; - n_unk_10->m_parent = p_node_parent; - n_unk_10->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_10); - -} -void node_from_historical_entity__T_unknown1e(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk47"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1e, field_name)); - auto n_unk47 = new NodeSimple; - n_unk47->m_field_name = field_name; - n_unk47->m_df_type = DF_Type::int16_t; - n_unk47->m_rdf_type = RDF_Type::int16_t; - n_unk47->m_node_type = NodeType::Simple; - n_unk47->m_address = base + offset; - n_unk47->m_comment = "in 0.23, last communicate season"; - n_unk47->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk47); - - field_name = "unk48"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1e, field_name)); - auto n_unk48 = new NodeSimple; - n_unk48->m_field_name = field_name; - n_unk48->m_df_type = DF_Type::int32_t; - n_unk48->m_rdf_type = RDF_Type::int32_t; - n_unk48->m_node_type = NodeType::Simple; - n_unk48->m_address = base + offset; - n_unk48->m_comment = "in 0.23, last communicate year"; - n_unk48->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk48); - - field_name = "unk49a"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1e, field_name)); - auto n_unk49a = new NodeSimple; - n_unk49a->m_field_name = field_name; - n_unk49a->m_df_type = DF_Type::int32_t; - n_unk49a->m_rdf_type = RDF_Type::int32_t; - n_unk49a->m_node_type = NodeType::Simple; - n_unk49a->m_address = base + offset; - n_unk49a->m_comment = "in 0.23, imports"; - n_unk49a->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk49a); - - field_name = "unk49b"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1e, field_name)); - auto n_unk49b = new NodeSimple; - n_unk49b->m_field_name = field_name; - n_unk49b->m_df_type = DF_Type::int32_t; - n_unk49b->m_rdf_type = RDF_Type::int32_t; - n_unk49b->m_node_type = NodeType::Simple; - n_unk49b->m_address = base + offset; - n_unk49b->m_comment = "in 0.23, exports"; - n_unk49b->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk49b); - - field_name = "unk49c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1e, field_name)); - auto n_unk49c = new NodeSimple; - n_unk49c->m_field_name = field_name; - n_unk49c->m_df_type = DF_Type::int32_t; - n_unk49c->m_rdf_type = RDF_Type::int32_t; - n_unk49c->m_node_type = NodeType::Simple; - n_unk49c->m_address = base + offset; - n_unk49c->m_comment = "in 0.23, recent offerings"; - n_unk49c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk49c); - - field_name = "unk49d"; - auto n_unk49d = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1e, field_name)); - n_unk49d->m_field_name = field_name; - n_unk49d->m_df_type = DF_Type::int32_t; - n_unk49d->m_rdf_type = RDF_Type::Array; - n_unk49d->m_comment = "in 0.23, offerings history"; - n_unk49d->m_node_type = NodeType::Array; - n_unk49d->m_addornements = "[10"; - n_unk49d->m_array_size = 10; - n_unk49d->m_address = base + offset; - n_unk49d->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk49d); - - field_name = "unk49e"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1e, field_name)); - auto n_unk49e = new NodeSimple; - n_unk49e->m_field_name = field_name; - n_unk49e->m_df_type = DF_Type::int32_t; - n_unk49e->m_rdf_type = RDF_Type::int32_t; - n_unk49e->m_node_type = NodeType::Simple; - n_unk49e->m_address = base + offset; - n_unk49e->m_comment = "in 0.23, hostility level - determined siege size, had a chance to reset to 1"; - n_unk49e->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk49e); - - field_name = "unk49f"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1e, field_name)); - auto n_unk49f = new NodeSimple; - n_unk49f->m_field_name = field_name; - n_unk49f->m_df_type = DF_Type::int32_t; - n_unk49f->m_rdf_type = RDF_Type::int32_t; - n_unk49f->m_node_type = NodeType::Simple; - n_unk49f->m_address = base + offset; - n_unk49f->m_comment = "in 0.23, determined siege size"; - n_unk49f->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk49f); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1e, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_historical_entity__T_derived_resources(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mill_cookable"; - auto n_mill_cookable = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); - n_mill_cookable->m_field_name = field_name; - n_mill_cookable->m_df_type = DF_Type::material_vec_ref; - n_mill_cookable->m_rdf_type = RDF_Type::Struct; - n_mill_cookable->m_node_type = NodeType::Compound; - n_mill_cookable->m_address = base + offset; - n_mill_cookable->m_defined_in = "df.materials.xml"; - n_mill_cookable->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mill_cookable); - - field_name = "mill_dye"; - auto n_mill_dye = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); - n_mill_dye->m_field_name = field_name; - n_mill_dye->m_df_type = DF_Type::material_vec_ref; - n_mill_dye->m_rdf_type = RDF_Type::Struct; - n_mill_dye->m_node_type = NodeType::Compound; - n_mill_dye->m_address = base + offset; - n_mill_dye->m_defined_in = "df.materials.xml"; - n_mill_dye->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mill_dye); - - field_name = "armor_leather"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); - auto n_armor_leather = new NodeVector; - n_armor_leather->m_field_name = field_name; - n_armor_leather->m_df_type = DF_Type::int16_t; - n_armor_leather->m_rdf_type = RDF_Type::Vector; - n_armor_leather->m_node_type = NodeType::Vector; - n_armor_leather->m_addornements = "v"; - n_armor_leather->m_address = base + offset; - n_armor_leather->m_parent = p_node_parent; - n_armor_leather->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_armor_leather); - - field_name = "armor_chain"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); - auto n_armor_chain = new NodeVector; - n_armor_chain->m_field_name = field_name; - n_armor_chain->m_df_type = DF_Type::int16_t; - n_armor_chain->m_rdf_type = RDF_Type::Vector; - n_armor_chain->m_node_type = NodeType::Vector; - n_armor_chain->m_addornements = "v"; - n_armor_chain->m_address = base + offset; - n_armor_chain->m_parent = p_node_parent; - n_armor_chain->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_armor_chain); - - field_name = "armor_plate"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); - auto n_armor_plate = new NodeVector; - n_armor_plate->m_field_name = field_name; - n_armor_plate->m_df_type = DF_Type::int16_t; - n_armor_plate->m_rdf_type = RDF_Type::Vector; - n_armor_plate->m_node_type = NodeType::Vector; - n_armor_plate->m_addornements = "v"; - n_armor_plate->m_address = base + offset; - n_armor_plate->m_parent = p_node_parent; - n_armor_plate->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_armor_plate); - - field_name = "armor_under"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); - auto n_armor_under = new NodeVector; - n_armor_under->m_field_name = field_name; - n_armor_under->m_df_type = DF_Type::int16_t; - n_armor_under->m_rdf_type = RDF_Type::Vector; - n_armor_under->m_node_type = NodeType::Vector; - n_armor_under->m_addornements = "v"; - n_armor_under->m_address = base + offset; - n_armor_under->m_parent = p_node_parent; - n_armor_under->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_armor_under); - - field_name = "armor_over"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); - auto n_armor_over = new NodeVector; - n_armor_over->m_field_name = field_name; - n_armor_over->m_df_type = DF_Type::int16_t; - n_armor_over->m_rdf_type = RDF_Type::Vector; - n_armor_over->m_node_type = NodeType::Vector; - n_armor_over->m_addornements = "v"; - n_armor_over->m_address = base + offset; - n_armor_over->m_parent = p_node_parent; - n_armor_over->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_armor_over); - - field_name = "armor_cover"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); - auto n_armor_cover = new NodeVector; - n_armor_cover->m_field_name = field_name; - n_armor_cover->m_df_type = DF_Type::int16_t; - n_armor_cover->m_rdf_type = RDF_Type::Vector; - n_armor_cover->m_node_type = NodeType::Vector; - n_armor_cover->m_addornements = "v"; - n_armor_cover->m_address = base + offset; - n_armor_cover->m_parent = p_node_parent; - n_armor_cover->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_armor_cover); - - field_name = "pants_leather"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); - auto n_pants_leather = new NodeVector; - n_pants_leather->m_field_name = field_name; - n_pants_leather->m_df_type = DF_Type::int16_t; - n_pants_leather->m_rdf_type = RDF_Type::Vector; - n_pants_leather->m_node_type = NodeType::Vector; - n_pants_leather->m_addornements = "v"; - n_pants_leather->m_address = base + offset; - n_pants_leather->m_parent = p_node_parent; - n_pants_leather->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_pants_leather); - - field_name = "pants_chain"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); - auto n_pants_chain = new NodeVector; - n_pants_chain->m_field_name = field_name; - n_pants_chain->m_df_type = DF_Type::int16_t; - n_pants_chain->m_rdf_type = RDF_Type::Vector; - n_pants_chain->m_node_type = NodeType::Vector; - n_pants_chain->m_addornements = "v"; - n_pants_chain->m_address = base + offset; - n_pants_chain->m_parent = p_node_parent; - n_pants_chain->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_pants_chain); - - field_name = "pants_plate"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); - auto n_pants_plate = new NodeVector; - n_pants_plate->m_field_name = field_name; - n_pants_plate->m_df_type = DF_Type::int16_t; - n_pants_plate->m_rdf_type = RDF_Type::Vector; - n_pants_plate->m_node_type = NodeType::Vector; - n_pants_plate->m_addornements = "v"; - n_pants_plate->m_address = base + offset; - n_pants_plate->m_parent = p_node_parent; - n_pants_plate->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_pants_plate); - - field_name = "pants_under"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); - auto n_pants_under = new NodeVector; - n_pants_under->m_field_name = field_name; - n_pants_under->m_df_type = DF_Type::int16_t; - n_pants_under->m_rdf_type = RDF_Type::Vector; - n_pants_under->m_node_type = NodeType::Vector; - n_pants_under->m_addornements = "v"; - n_pants_under->m_address = base + offset; - n_pants_under->m_parent = p_node_parent; - n_pants_under->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_pants_under); - - field_name = "pants_over"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); - auto n_pants_over = new NodeVector; - n_pants_over->m_field_name = field_name; - n_pants_over->m_df_type = DF_Type::int16_t; - n_pants_over->m_rdf_type = RDF_Type::Vector; - n_pants_over->m_node_type = NodeType::Vector; - n_pants_over->m_addornements = "v"; - n_pants_over->m_address = base + offset; - n_pants_over->m_parent = p_node_parent; - n_pants_over->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_pants_over); - - field_name = "pants_cover"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); - auto n_pants_cover = new NodeVector; - n_pants_cover->m_field_name = field_name; - n_pants_cover->m_df_type = DF_Type::int16_t; - n_pants_cover->m_rdf_type = RDF_Type::Vector; - n_pants_cover->m_node_type = NodeType::Vector; - n_pants_cover->m_addornements = "v"; - n_pants_cover->m_address = base + offset; - n_pants_cover->m_parent = p_node_parent; - n_pants_cover->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_pants_cover); - - field_name = "helm_leather"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); - auto n_helm_leather = new NodeVector; - n_helm_leather->m_field_name = field_name; - n_helm_leather->m_df_type = DF_Type::int16_t; - n_helm_leather->m_rdf_type = RDF_Type::Vector; - n_helm_leather->m_node_type = NodeType::Vector; - n_helm_leather->m_addornements = "v"; - n_helm_leather->m_address = base + offset; - n_helm_leather->m_parent = p_node_parent; - n_helm_leather->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_helm_leather); - - field_name = "helm_chain"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); - auto n_helm_chain = new NodeVector; - n_helm_chain->m_field_name = field_name; - n_helm_chain->m_df_type = DF_Type::int16_t; - n_helm_chain->m_rdf_type = RDF_Type::Vector; - n_helm_chain->m_node_type = NodeType::Vector; - n_helm_chain->m_addornements = "v"; - n_helm_chain->m_address = base + offset; - n_helm_chain->m_parent = p_node_parent; - n_helm_chain->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_helm_chain); - - field_name = "helm_plate"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); - auto n_helm_plate = new NodeVector; - n_helm_plate->m_field_name = field_name; - n_helm_plate->m_df_type = DF_Type::int16_t; - n_helm_plate->m_rdf_type = RDF_Type::Vector; - n_helm_plate->m_node_type = NodeType::Vector; - n_helm_plate->m_addornements = "v"; - n_helm_plate->m_address = base + offset; - n_helm_plate->m_parent = p_node_parent; - n_helm_plate->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_helm_plate); - - field_name = "helm_under"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); - auto n_helm_under = new NodeVector; - n_helm_under->m_field_name = field_name; - n_helm_under->m_df_type = DF_Type::int16_t; - n_helm_under->m_rdf_type = RDF_Type::Vector; - n_helm_under->m_node_type = NodeType::Vector; - n_helm_under->m_addornements = "v"; - n_helm_under->m_address = base + offset; - n_helm_under->m_parent = p_node_parent; - n_helm_under->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_helm_under); - - field_name = "helm_over"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); - auto n_helm_over = new NodeVector; - n_helm_over->m_field_name = field_name; - n_helm_over->m_df_type = DF_Type::int16_t; - n_helm_over->m_rdf_type = RDF_Type::Vector; - n_helm_over->m_node_type = NodeType::Vector; - n_helm_over->m_addornements = "v"; - n_helm_over->m_address = base + offset; - n_helm_over->m_parent = p_node_parent; - n_helm_over->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_helm_over); - - field_name = "helm_cover"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); - auto n_helm_cover = new NodeVector; - n_helm_cover->m_field_name = field_name; - n_helm_cover->m_df_type = DF_Type::int16_t; - n_helm_cover->m_rdf_type = RDF_Type::Vector; - n_helm_cover->m_node_type = NodeType::Vector; - n_helm_cover->m_addornements = "v"; - n_helm_cover->m_address = base + offset; - n_helm_cover->m_parent = p_node_parent; - n_helm_cover->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_helm_cover); - - field_name = "shoes_leather"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); - auto n_shoes_leather = new NodeVector; - n_shoes_leather->m_field_name = field_name; - n_shoes_leather->m_df_type = DF_Type::int16_t; - n_shoes_leather->m_rdf_type = RDF_Type::Vector; - n_shoes_leather->m_node_type = NodeType::Vector; - n_shoes_leather->m_addornements = "v"; - n_shoes_leather->m_address = base + offset; - n_shoes_leather->m_parent = p_node_parent; - n_shoes_leather->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_shoes_leather); - - field_name = "shoes_chain"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); - auto n_shoes_chain = new NodeVector; - n_shoes_chain->m_field_name = field_name; - n_shoes_chain->m_df_type = DF_Type::int16_t; - n_shoes_chain->m_rdf_type = RDF_Type::Vector; - n_shoes_chain->m_node_type = NodeType::Vector; - n_shoes_chain->m_addornements = "v"; - n_shoes_chain->m_address = base + offset; - n_shoes_chain->m_parent = p_node_parent; - n_shoes_chain->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_shoes_chain); - - field_name = "shoes_plate"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); - auto n_shoes_plate = new NodeVector; - n_shoes_plate->m_field_name = field_name; - n_shoes_plate->m_df_type = DF_Type::int16_t; - n_shoes_plate->m_rdf_type = RDF_Type::Vector; - n_shoes_plate->m_node_type = NodeType::Vector; - n_shoes_plate->m_addornements = "v"; - n_shoes_plate->m_address = base + offset; - n_shoes_plate->m_parent = p_node_parent; - n_shoes_plate->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_shoes_plate); - - field_name = "shoes_under"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); - auto n_shoes_under = new NodeVector; - n_shoes_under->m_field_name = field_name; - n_shoes_under->m_df_type = DF_Type::int16_t; - n_shoes_under->m_rdf_type = RDF_Type::Vector; - n_shoes_under->m_node_type = NodeType::Vector; - n_shoes_under->m_addornements = "v"; - n_shoes_under->m_address = base + offset; - n_shoes_under->m_parent = p_node_parent; - n_shoes_under->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_shoes_under); - - field_name = "shoes_over"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); - auto n_shoes_over = new NodeVector; - n_shoes_over->m_field_name = field_name; - n_shoes_over->m_df_type = DF_Type::int16_t; - n_shoes_over->m_rdf_type = RDF_Type::Vector; - n_shoes_over->m_node_type = NodeType::Vector; - n_shoes_over->m_addornements = "v"; - n_shoes_over->m_address = base + offset; - n_shoes_over->m_parent = p_node_parent; - n_shoes_over->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_shoes_over); - - field_name = "shoes_cover"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); - auto n_shoes_cover = new NodeVector; - n_shoes_cover->m_field_name = field_name; - n_shoes_cover->m_df_type = DF_Type::int16_t; - n_shoes_cover->m_rdf_type = RDF_Type::Vector; - n_shoes_cover->m_node_type = NodeType::Vector; - n_shoes_cover->m_addornements = "v"; - n_shoes_cover->m_address = base + offset; - n_shoes_cover->m_parent = p_node_parent; - n_shoes_cover->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_shoes_cover); - - field_name = "gloves_leather"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); - auto n_gloves_leather = new NodeVector; - n_gloves_leather->m_field_name = field_name; - n_gloves_leather->m_df_type = DF_Type::int16_t; - n_gloves_leather->m_rdf_type = RDF_Type::Vector; - n_gloves_leather->m_node_type = NodeType::Vector; - n_gloves_leather->m_addornements = "v"; - n_gloves_leather->m_address = base + offset; - n_gloves_leather->m_parent = p_node_parent; - n_gloves_leather->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_gloves_leather); - - field_name = "gloves_chain"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); - auto n_gloves_chain = new NodeVector; - n_gloves_chain->m_field_name = field_name; - n_gloves_chain->m_df_type = DF_Type::int16_t; - n_gloves_chain->m_rdf_type = RDF_Type::Vector; - n_gloves_chain->m_node_type = NodeType::Vector; - n_gloves_chain->m_addornements = "v"; - n_gloves_chain->m_address = base + offset; - n_gloves_chain->m_parent = p_node_parent; - n_gloves_chain->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_gloves_chain); - - field_name = "gloves_plate"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); - auto n_gloves_plate = new NodeVector; - n_gloves_plate->m_field_name = field_name; - n_gloves_plate->m_df_type = DF_Type::int16_t; - n_gloves_plate->m_rdf_type = RDF_Type::Vector; - n_gloves_plate->m_node_type = NodeType::Vector; - n_gloves_plate->m_addornements = "v"; - n_gloves_plate->m_address = base + offset; - n_gloves_plate->m_parent = p_node_parent; - n_gloves_plate->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_gloves_plate); - - field_name = "gloves_under"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); - auto n_gloves_under = new NodeVector; - n_gloves_under->m_field_name = field_name; - n_gloves_under->m_df_type = DF_Type::int16_t; - n_gloves_under->m_rdf_type = RDF_Type::Vector; - n_gloves_under->m_node_type = NodeType::Vector; - n_gloves_under->m_addornements = "v"; - n_gloves_under->m_address = base + offset; - n_gloves_under->m_parent = p_node_parent; - n_gloves_under->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_gloves_under); - - field_name = "gloves_over"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); - auto n_gloves_over = new NodeVector; - n_gloves_over->m_field_name = field_name; - n_gloves_over->m_df_type = DF_Type::int16_t; - n_gloves_over->m_rdf_type = RDF_Type::Vector; - n_gloves_over->m_node_type = NodeType::Vector; - n_gloves_over->m_addornements = "v"; - n_gloves_over->m_address = base + offset; - n_gloves_over->m_parent = p_node_parent; - n_gloves_over->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_gloves_over); - - field_name = "gloves_cover"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); - auto n_gloves_cover = new NodeVector; - n_gloves_cover->m_field_name = field_name; - n_gloves_cover->m_df_type = DF_Type::int16_t; - n_gloves_cover->m_rdf_type = RDF_Type::Vector; - n_gloves_cover->m_node_type = NodeType::Vector; - n_gloves_cover->m_addornements = "v"; - n_gloves_cover->m_address = base + offset; - n_gloves_cover->m_parent = p_node_parent; - n_gloves_cover->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_gloves_cover); - -} -void node_from_historical_entity__T_claims(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "areas"; - auto n_areas = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_claims, field_name)); - n_areas->m_field_name = field_name; - n_areas->m_df_type = DF_Type::coord2d_path; - n_areas->m_rdf_type = RDF_Type::Struct; - n_areas->m_node_type = NodeType::Compound; - n_areas->m_address = base + offset; - n_areas->m_defined_in = "df.map.xml"; - n_areas->m_comment = "in world_data.entity_claims1"; - n_areas->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_areas); - - field_name = "unk1"; - auto n_unk1 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_claims, field_name)); - n_unk1->m_field_name = field_name; - n_unk1->m_df_type = DF_Type::coord2d_path; - n_unk1->m_rdf_type = RDF_Type::Struct; - n_unk1->m_node_type = NodeType::Compound; - n_unk1->m_address = base + offset; - n_unk1->m_defined_in = "df.map.xml"; - n_unk1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk1); - - field_name = "border"; - auto n_border = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_claims, field_name)); - n_border->m_field_name = field_name; - n_border->m_df_type = DF_Type::coord2d_path; - n_border->m_rdf_type = RDF_Type::Struct; - n_border->m_node_type = NodeType::Compound; - n_border->m_address = base + offset; - n_border->m_defined_in = "df.map.xml"; - n_border->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_border); - -} -void node_from_historical_entity__T_unknown2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "metal_proficiency"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); - auto n_metal_proficiency = new NodeSimple; - n_metal_proficiency->m_field_name = field_name; - n_metal_proficiency->m_df_type = DF_Type::int32_t; - n_metal_proficiency->m_rdf_type = RDF_Type::int32_t; - n_metal_proficiency->m_node_type = NodeType::Simple; - n_metal_proficiency->m_address = base + offset; - n_metal_proficiency->m_comment = "best IMPACT_FRACTURE/10000 + MAX_EDGE/1000 for weapon mats plus best IMPACT_FRACTURE/10000 for armor mats"; - n_metal_proficiency->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_metal_proficiency); - - field_name = "unk10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); - auto n_unk10 = new NodeVector; - n_unk10->m_field_name = field_name; - n_unk10->m_df_type = DF_Type::int16_t; - n_unk10->m_rdf_type = RDF_Type::Vector; - n_unk10->m_node_type = NodeType::Vector; - n_unk10->m_addornements = "v"; - n_unk10->m_address = base + offset; - n_unk10->m_parent = p_node_parent; - n_unk10->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk10); - - field_name = "resource_allotment"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); - auto n_resource_allotment = new NodePointer; - n_resource_allotment->m_field_name = field_name; - n_resource_allotment->m_df_type = get_real_subtype(base+offset, DF_Type::resource_allotment_data); - n_resource_allotment->m_rdf_type = RDF_Type::Pointer; - n_resource_allotment->m_node_type = NodeType::Pointer; - n_resource_allotment->m_addornements = "*"; - n_resource_allotment->m_address = base + offset; - n_resource_allotment->m_parent = p_node_parent; - n_resource_allotment->m_defined_in = "df.resource.xml"; - n_resource_allotment->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_resource_allotment); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); - auto n_anon_1 = new NodeVector; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::Void; - n_anon_1->m_rdf_type = RDF_Type::Vector; - n_anon_1->m_node_type = NodeType::Vector; - n_anon_1->m_addornements = "v"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); - auto n_anon_2 = new NodeVector; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::Void; - n_anon_2->m_rdf_type = RDF_Type::Vector; - n_anon_2->m_node_type = NodeType::Vector; - n_anon_2->m_addornements = "v"; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - n_anon_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); - auto n_anon_3 = new NodeVector; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::Void; - n_anon_3->m_rdf_type = RDF_Type::Vector; - n_anon_3->m_node_type = NodeType::Vector; - n_anon_3->m_addornements = "v"; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - n_anon_3->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); - auto n_anon_4 = new NodeVector; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::Void; - n_anon_4->m_rdf_type = RDF_Type::Vector; - n_anon_4->m_node_type = NodeType::Vector; - n_anon_4->m_addornements = "v"; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - n_anon_4->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "unk12a"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); - auto n_unk12a = new NodeSimple; - n_unk12a->m_field_name = field_name; - n_unk12a->m_df_type = DF_Type::int16_t; - n_unk12a->m_rdf_type = RDF_Type::int16_t; - n_unk12a->m_node_type = NodeType::Simple; - n_unk12a->m_address = base + offset; - n_unk12a->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk12a); - - field_name = "unk12b"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); - auto n_unk12b = new NodeSimple; - n_unk12b->m_field_name = field_name; - n_unk12b->m_df_type = DF_Type::int16_t; - n_unk12b->m_rdf_type = RDF_Type::int16_t; - n_unk12b->m_node_type = NodeType::Simple; - n_unk12b->m_address = base + offset; - n_unk12b->m_comment = "uninitialized"; - n_unk12b->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk12b); - - field_name = "unk13"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); - auto n_unk13 = new NodeSimple; - n_unk13->m_field_name = field_name; - n_unk13->m_df_type = DF_Type::Bool; - n_unk13->m_rdf_type = RDF_Type::Bool; - n_unk13->m_node_type = NodeType::Simple; - n_unk13->m_address = base + offset; - n_unk13->m_comment = "0"; - n_unk13->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk13); - - field_name = "landmass"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); - auto n_landmass = new NodePointer; - n_landmass->m_field_name = field_name; - n_landmass->m_df_type = get_real_subtype(base+offset, DF_Type::world_landmass); - n_landmass->m_rdf_type = RDF_Type::Pointer; - n_landmass->m_node_type = NodeType::Pointer; - n_landmass->m_addornements = "*"; - n_landmass->m_address = base + offset; - n_landmass->m_parent = p_node_parent; - n_landmass->m_defined_in = "df.world-data.xml"; - n_landmass->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_landmass); - - field_name = "region"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); - auto n_region = new NodePointer; - n_region->m_field_name = field_name; - n_region->m_df_type = get_real_subtype(base+offset, DF_Type::world_region); - n_region->m_rdf_type = RDF_Type::Pointer; - n_region->m_node_type = NodeType::Pointer; - n_region->m_addornements = "*"; - n_region->m_address = base + offset; - n_region->m_parent = p_node_parent; - n_region->m_defined_in = "df.world-data.xml"; - n_region->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_region); - - field_name = "unk16"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); - auto n_unk16 = new NodeSimple; - n_unk16->m_field_name = field_name; - n_unk16->m_df_type = DF_Type::int32_t; - n_unk16->m_rdf_type = RDF_Type::int32_t; - n_unk16->m_node_type = NodeType::Simple; - n_unk16->m_address = base + offset; - n_unk16->m_comment = "uninitialized"; - n_unk16->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk16); - - field_name = "unk17"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); - auto n_unk17 = new NodeSimple; - n_unk17->m_field_name = field_name; - n_unk17->m_df_type = DF_Type::int16_t; - n_unk17->m_rdf_type = RDF_Type::int16_t; - n_unk17->m_node_type = NodeType::Simple; - n_unk17->m_address = base + offset; - n_unk17->m_comment = "0"; - n_unk17->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk17); - - field_name = "unk18"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); - auto n_unk18 = new NodeVector; - n_unk18->m_field_name = field_name; - n_unk18->m_df_type = DF_Type::Void; - n_unk18->m_rdf_type = RDF_Type::Vector; - n_unk18->m_node_type = NodeType::Vector; - n_unk18->m_addornements = "v"; - n_unk18->m_address = base + offset; - n_unk18->m_comment = "empty"; - n_unk18->m_parent = p_node_parent; - n_unk18->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk18); - - field_name = "unk19"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); - auto n_unk19 = new NodeVector; - n_unk19->m_field_name = field_name; - n_unk19->m_df_type = DF_Type::Void; - n_unk19->m_rdf_type = RDF_Type::Vector; - n_unk19->m_node_type = NodeType::Vector; - n_unk19->m_addornements = "v"; - n_unk19->m_address = base + offset; - n_unk19->m_comment = "empty"; - n_unk19->m_parent = p_node_parent; - n_unk19->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk19); - - field_name = "unk20"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); - auto n_unk20 = new NodeSimple; - n_unk20->m_field_name = field_name; - n_unk20->m_df_type = DF_Type::int16_t; - n_unk20->m_rdf_type = RDF_Type::int16_t; - n_unk20->m_node_type = NodeType::Simple; - n_unk20->m_address = base + offset; - n_unk20->m_comment = "0"; - n_unk20->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk20); - - field_name = "unk21"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); - auto n_unk21 = new NodeSimple; - n_unk21->m_field_name = field_name; - n_unk21->m_df_type = DF_Type::int32_t; - n_unk21->m_rdf_type = RDF_Type::int32_t; - n_unk21->m_node_type = NodeType::Simple; - n_unk21->m_address = base + offset; - n_unk21->m_comment = "0"; - n_unk21->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk21); - - field_name = "unk22"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); - auto n_unk22 = new NodeSimple; - n_unk22->m_field_name = field_name; - n_unk22->m_df_type = DF_Type::int32_t; - n_unk22->m_rdf_type = RDF_Type::int32_t; - n_unk22->m_node_type = NodeType::Simple; - n_unk22->m_address = base + offset; - n_unk22->m_comment = "0"; - n_unk22->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk22); - - field_name = "unk23"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); - auto n_unk23 = new NodeSimple; - n_unk23->m_field_name = field_name; - n_unk23->m_df_type = DF_Type::int32_t; - n_unk23->m_rdf_type = RDF_Type::int32_t; - n_unk23->m_node_type = NodeType::Simple; - n_unk23->m_address = base + offset; - n_unk23->m_comment = "0"; - n_unk23->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk23); - - field_name = "unk24"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); - auto n_unk24 = new NodeVector; - n_unk24->m_field_name = field_name; - n_unk24->m_df_type = DF_Type::Void; - n_unk24->m_rdf_type = RDF_Type::Vector; - n_unk24->m_node_type = NodeType::Vector; - n_unk24->m_addornements = "v"; - n_unk24->m_address = base + offset; - n_unk24->m_comment = "empty"; - n_unk24->m_parent = p_node_parent; - n_unk24->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk24); - - field_name = "unk25"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); - auto n_unk25 = new NodeVector; - n_unk25->m_field_name = field_name; - n_unk25->m_df_type = DF_Type::Void; - n_unk25->m_rdf_type = RDF_Type::Vector; - n_unk25->m_node_type = NodeType::Vector; - n_unk25->m_addornements = "v"; - n_unk25->m_address = base + offset; - n_unk25->m_comment = "empty"; - n_unk25->m_parent = p_node_parent; - n_unk25->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk25); - - field_name = "unk_9C"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); - auto n_unk_9C = new NodeSimple; - n_unk_9C->m_field_name = field_name; - n_unk_9C->m_df_type = DF_Type::int32_t; - n_unk_9C->m_rdf_type = RDF_Type::int32_t; - n_unk_9C->m_node_type = NodeType::Simple; - n_unk_9C->m_address = base + offset; - n_unk_9C->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_9C); - - field_name = "unk_A0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); - auto n_unk_A0 = new NodeSimple; - n_unk_A0->m_field_name = field_name; - n_unk_A0->m_df_type = DF_Type::int32_t; - n_unk_A0->m_rdf_type = RDF_Type::int32_t; - n_unk_A0->m_node_type = NodeType::Simple; - n_unk_A0->m_address = base + offset; - n_unk_A0->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_A0); - - field_name = "unk_A4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); - auto n_unk_A4 = new NodeSimple; - n_unk_A4->m_field_name = field_name; - n_unk_A4->m_df_type = DF_Type::int32_t; - n_unk_A4->m_rdf_type = RDF_Type::int32_t; - n_unk_A4->m_node_type = NodeType::Simple; - n_unk_A4->m_address = base + offset; - n_unk_A4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_A4); - - field_name = "unk_A8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); - auto n_unk_A8 = new NodeSimple; - n_unk_A8->m_field_name = field_name; - n_unk_A8->m_df_type = DF_Type::int32_t; - n_unk_A8->m_rdf_type = RDF_Type::int32_t; - n_unk_A8->m_node_type = NodeType::Simple; - n_unk_A8->m_address = base + offset; - n_unk_A8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_A8); - - field_name = "unk_AC"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); - auto n_unk_AC = new NodeSimple; - n_unk_AC->m_field_name = field_name; - n_unk_AC->m_df_type = DF_Type::int32_t; - n_unk_AC->m_rdf_type = RDF_Type::int32_t; - n_unk_AC->m_node_type = NodeType::Simple; - n_unk_AC->m_address = base + offset; - n_unk_AC->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_AC); - - field_name = "unk_B0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); - auto n_unk_B0 = new NodeSimple; - n_unk_B0->m_field_name = field_name; - n_unk_B0->m_df_type = DF_Type::int32_t; - n_unk_B0->m_rdf_type = RDF_Type::int32_t; - n_unk_B0->m_node_type = NodeType::Simple; - n_unk_B0->m_address = base + offset; - n_unk_B0->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_B0); - - field_name = "unk_B4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); - auto n_unk_B4 = new NodeSimple; - n_unk_B4->m_field_name = field_name; - n_unk_B4->m_df_type = DF_Type::int32_t; - n_unk_B4->m_rdf_type = RDF_Type::int32_t; - n_unk_B4->m_node_type = NodeType::Simple; - n_unk_B4->m_address = base + offset; - n_unk_B4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_B4); - - field_name = "unk_B8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); - auto n_unk_B8 = new NodeSimple; - n_unk_B8->m_field_name = field_name; - n_unk_B8->m_df_type = DF_Type::int32_t; - n_unk_B8->m_rdf_type = RDF_Type::int32_t; - n_unk_B8->m_node_type = NodeType::Simple; - n_unk_B8->m_address = base + offset; - n_unk_B8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_B8); - - field_name = "unk_BC"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); - auto n_unk_BC = new NodeSimple; - n_unk_BC->m_field_name = field_name; - n_unk_BC->m_df_type = DF_Type::int32_t; - n_unk_BC->m_rdf_type = RDF_Type::int32_t; - n_unk_BC->m_node_type = NodeType::Simple; - n_unk_BC->m_address = base + offset; - n_unk_BC->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_BC); - - field_name = "unk_C0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); - auto n_unk_C0 = new NodeSimple; - n_unk_C0->m_field_name = field_name; - n_unk_C0->m_df_type = DF_Type::int32_t; - n_unk_C0->m_rdf_type = RDF_Type::int32_t; - n_unk_C0->m_node_type = NodeType::Simple; - n_unk_C0->m_address = base + offset; - n_unk_C0->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_C0); - - field_name = "unk26a"; - auto n_unk26a = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); - n_unk26a->m_field_name = field_name; - n_unk26a->m_df_type = DF_Type::int32_t; - n_unk26a->m_rdf_type = RDF_Type::Array; - n_unk26a->m_node_type = NodeType::Array; - n_unk26a->m_addornements = "[38"; - n_unk26a->m_array_size = 38; - n_unk26a->m_address = base + offset; - n_unk26a->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk26a); - - field_name = "unk26b"; - auto n_unk26b = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); - n_unk26b->m_field_name = field_name; - n_unk26b->m_df_type = DF_Type::int32_t; - n_unk26b->m_rdf_type = RDF_Type::Array; - n_unk26b->m_node_type = NodeType::Array; - n_unk26b->m_addornements = "[38"; - n_unk26b->m_array_size = 38; - n_unk26b->m_address = base + offset; - n_unk26b->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk26b); - - field_name = "unk26c"; - auto n_unk26c = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); - n_unk26c->m_field_name = field_name; - n_unk26c->m_df_type = DF_Type::int32_t; - n_unk26c->m_rdf_type = RDF_Type::Array; - n_unk26c->m_node_type = NodeType::Array; - n_unk26c->m_addornements = "[38"; - n_unk26c->m_array_size = 38; - n_unk26c->m_address = base + offset; - n_unk26c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk26c); - - field_name = "unk26d"; - auto n_unk26d = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); - n_unk26d->m_field_name = field_name; - n_unk26d->m_df_type = DF_Type::int32_t; - n_unk26d->m_rdf_type = RDF_Type::Array; - n_unk26d->m_node_type = NodeType::Array; - n_unk26d->m_addornements = "[38"; - n_unk26d->m_array_size = 38; - n_unk26d->m_address = base + offset; - n_unk26d->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk26d); - - field_name = "unk26e"; - auto n_unk26e = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); - n_unk26e->m_field_name = field_name; - n_unk26e->m_df_type = DF_Type::int32_t; - n_unk26e->m_rdf_type = RDF_Type::Array; - n_unk26e->m_node_type = NodeType::Array; - n_unk26e->m_addornements = "[15"; - n_unk26e->m_array_size = 15; - n_unk26e->m_address = base + offset; - n_unk26e->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk26e); - - field_name = "unk28"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); - auto n_unk28 = new NodeVector; - n_unk28->m_field_name = field_name; - n_unk28->m_df_type = DF_Type::Void; - n_unk28->m_rdf_type = RDF_Type::Vector; - n_unk28->m_node_type = NodeType::Vector; - n_unk28->m_addornements = "v"; - n_unk28->m_address = base + offset; - n_unk28->m_comment = "empty"; - n_unk28->m_parent = p_node_parent; - n_unk28->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk28); - - field_name = "unk29"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); - auto n_unk29 = new NodeVector; - n_unk29->m_field_name = field_name; - n_unk29->m_df_type = DF_Type::Void; - n_unk29->m_rdf_type = RDF_Type::Vector; - n_unk29->m_node_type = NodeType::Vector; - n_unk29->m_addornements = "v"; - n_unk29->m_address = base + offset; - n_unk29->m_parent = p_node_parent; - n_unk29->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk29); - -} -void node_from_historical_entity(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "type"; - auto n_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::historical_entity_type; - n_type->m_rdf_type = RDF_Type::Enum; - n_type->m_node_type = NodeType::Enum; - n_type->m_base_type = DF_Type::int16_t; - n_type->m_enum_type = "historical_entity_type"; - n_type->m_address = base + offset; - n_type->m_defined_in = "df.entities.xml"; - n_type->m_first_value = 0; - n_type->m_last_value = 8; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_comment = "index in the array"; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "entity_raw"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); - auto n_entity_raw = new NodePointer; - n_entity_raw->m_field_name = field_name; - n_entity_raw->m_df_type = get_real_subtype(base+offset, DF_Type::entity_raw); - n_entity_raw->m_rdf_type = RDF_Type::Pointer; - n_entity_raw->m_node_type = NodeType::Pointer; - n_entity_raw->m_addornements = "*"; - n_entity_raw->m_address = base + offset; - n_entity_raw->m_parent = p_node_parent; - n_entity_raw->m_defined_in = "df.entity-raws.xml"; - n_entity_raw->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_entity_raw); - - field_name = "save_file_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); - auto n_save_file_id = new NodeSimple; - n_save_file_id->m_field_name = field_name; - n_save_file_id->m_df_type = DF_Type::int32_t; - n_save_file_id->m_rdf_type = RDF_Type::int32_t; - n_save_file_id->m_node_type = NodeType::Simple; - n_save_file_id->m_address = base + offset; - n_save_file_id->m_comment = "changes once has 100 entries"; - n_save_file_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_save_file_id); - - field_name = "next_member_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); - auto n_next_member_idx = new NodeSimple; - n_next_member_idx->m_field_name = field_name; - n_next_member_idx->m_df_type = DF_Type::int16_t; - n_next_member_idx->m_rdf_type = RDF_Type::int16_t; - n_next_member_idx->m_node_type = NodeType::Simple; - n_next_member_idx->m_address = base + offset; - n_next_member_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_next_member_idx); - - field_name = "name"; - auto n_name = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::language_name; - n_name->m_rdf_type = RDF_Type::Struct; - n_name->m_node_type = NodeType::Compound; - n_name->m_address = base + offset; - n_name->m_defined_in = "df.language.xml"; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "race"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); - auto n_race = new NodeSimple; - n_race->m_field_name = field_name; - n_race->m_df_type = DF_Type::int16_t; - n_race->m_rdf_type = RDF_Type::int16_t; - n_race->m_node_type = NodeType::Simple; - n_race->m_address = base + offset; - n_race->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_race); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::historical_entity__T_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "entity_links"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); - auto n_entity_links = new NodeVector; - n_entity_links->m_field_name = field_name; - n_entity_links->m_df_type = DF_Type::entity_entity_link; - n_entity_links->m_rdf_type = RDF_Type::Vector; - n_entity_links->m_node_type = NodeType::Vector; - n_entity_links->m_defined_in = "df.refs.xml"; - n_entity_links->m_addornements = "v*"; - n_entity_links->m_address = base + offset; - n_entity_links->m_parent = p_node_parent; - n_entity_links->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_entity_links); - - field_name = "site_links"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); - auto n_site_links = new NodeVector; - n_site_links->m_field_name = field_name; - n_site_links->m_df_type = DF_Type::entity_site_link; - n_site_links->m_rdf_type = RDF_Type::Vector; - n_site_links->m_node_type = NodeType::Vector; - n_site_links->m_defined_in = "df.refs.xml"; - n_site_links->m_addornements = "v*"; - n_site_links->m_address = base + offset; - n_site_links->m_parent = p_node_parent; - n_site_links->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_site_links); - - field_name = "histfig_ids"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); - auto n_histfig_ids = new NodeVector; - n_histfig_ids->m_field_name = field_name; - n_histfig_ids->m_df_type = DF_Type::int32_t; - n_histfig_ids->m_rdf_type = RDF_Type::Vector; - n_histfig_ids->m_node_type = NodeType::Vector; - n_histfig_ids->m_addornements = "v"; - n_histfig_ids->m_address = base + offset; - n_histfig_ids->m_parent = p_node_parent; - n_histfig_ids->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_histfig_ids); - - field_name = "populations"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); - auto n_populations = new NodeVector; - n_populations->m_field_name = field_name; - n_populations->m_df_type = DF_Type::int32_t; - n_populations->m_rdf_type = RDF_Type::Vector; - n_populations->m_node_type = NodeType::Vector; - n_populations->m_addornements = "v"; - n_populations->m_address = base + offset; - n_populations->m_comment = "1st entry copies to unit.population_id for Adventurer?"; - n_populations->m_parent = p_node_parent; - n_populations->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_populations); - - field_name = "nemesis_ids"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); - auto n_nemesis_ids = new NodeVector; - n_nemesis_ids->m_field_name = field_name; - n_nemesis_ids->m_df_type = DF_Type::int32_t; - n_nemesis_ids->m_rdf_type = RDF_Type::Vector; - n_nemesis_ids->m_node_type = NodeType::Vector; - n_nemesis_ids->m_addornements = "v"; - n_nemesis_ids->m_address = base + offset; - n_nemesis_ids->m_parent = p_node_parent; - n_nemesis_ids->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_nemesis_ids); - - field_name = "resources"; - auto n_resources = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); - n_resources->m_field_name = field_name; - n_resources->m_df_type = DF_Type::historical_entity__T_resources; - n_resources->m_rdf_type = RDF_Type::Compound; - n_resources->m_node_type = NodeType::Compound; - n_resources->m_address = base + offset; - n_resources->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_resources); - - field_name = "uniforms"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); - auto n_uniforms = new NodeVector; - n_uniforms->m_field_name = field_name; - n_uniforms->m_df_type = DF_Type::entity_uniform; - n_uniforms->m_rdf_type = RDF_Type::Vector; - n_uniforms->m_node_type = NodeType::Vector; - n_uniforms->m_defined_in = "df.entities.xml"; - n_uniforms->m_addornements = "v*"; - n_uniforms->m_address = base + offset; - n_uniforms->m_parent = p_node_parent; - n_uniforms->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_uniforms); - - field_name = "next_uniform_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); - auto n_next_uniform_id = new NodeSimple; - n_next_uniform_id->m_field_name = field_name; - n_next_uniform_id->m_df_type = DF_Type::int32_t; - n_next_uniform_id->m_rdf_type = RDF_Type::int32_t; - n_next_uniform_id->m_node_type = NodeType::Simple; - n_next_uniform_id->m_address = base + offset; - n_next_uniform_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_next_uniform_id); - - field_name = "unknown1b"; - auto n_unknown1b = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); - n_unknown1b->m_field_name = field_name; - n_unknown1b->m_df_type = DF_Type::historical_entity__T_unknown1b; - n_unknown1b->m_rdf_type = RDF_Type::Compound; - n_unknown1b->m_node_type = NodeType::Compound; - n_unknown1b->m_address = base + offset; - n_unknown1b->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unknown1b); - - field_name = "positions"; - auto n_positions = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); - n_positions->m_field_name = field_name; - n_positions->m_df_type = DF_Type::historical_entity__T_positions; - n_positions->m_rdf_type = RDF_Type::Compound; - n_positions->m_node_type = NodeType::Compound; - n_positions->m_address = base + offset; - n_positions->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_positions); - - field_name = "tissue_styles"; - auto n_tissue_styles = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); - n_tissue_styles->m_field_name = field_name; - n_tissue_styles->m_df_type = DF_Type::historical_entity__T_tissue_styles; - n_tissue_styles->m_rdf_type = RDF_Type::Compound; - n_tissue_styles->m_node_type = NodeType::Compound; - n_tissue_styles->m_address = base + offset; - n_tissue_styles->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tissue_styles); - - field_name = "squads"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); - auto n_squads = new NodeVector; - n_squads->m_field_name = field_name; - n_squads->m_df_type = DF_Type::int32_t; - n_squads->m_rdf_type = RDF_Type::Vector; - n_squads->m_node_type = NodeType::Vector; - n_squads->m_addornements = "v"; - n_squads->m_address = base + offset; - n_squads->m_parent = p_node_parent; - n_squads->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_squads); - - field_name = "unknown1d"; - auto n_unknown1d = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); - n_unknown1d->m_field_name = field_name; - n_unknown1d->m_df_type = DF_Type::historical_entity__T_unknown1d; - n_unknown1d->m_rdf_type = RDF_Type::Compound; - n_unknown1d->m_node_type = NodeType::Compound; - n_unknown1d->m_address = base + offset; - n_unknown1d->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unknown1d); - - field_name = "training_knowledge"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); - auto n_training_knowledge = new NodePointer; - n_training_knowledge->m_field_name = field_name; - n_training_knowledge->m_df_type = get_real_subtype(base+offset, DF_Type::historical_entity__T_training_knowledge); - n_training_knowledge->m_rdf_type = RDF_Type::Pointer; - n_training_knowledge->m_node_type = NodeType::Pointer; - n_training_knowledge->m_addornements = "*"; - n_training_knowledge->m_address = base + offset; - n_training_knowledge->m_parent = p_node_parent; - n_training_knowledge->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_training_knowledge); - - field_name = "events"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); - auto n_events = new NodeVector; - n_events->m_field_name = field_name; - n_events->m_df_type = DF_Type::entity_event; - n_events->m_rdf_type = RDF_Type::Vector; - n_events->m_node_type = NodeType::Vector; - n_events->m_defined_in = "df.entities.xml"; - n_events->m_addornements = "v*"; - n_events->m_address = base + offset; - n_events->m_parent = p_node_parent; - n_events->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_events); - - field_name = "unk_v40_1a"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); - auto n_unk_v40_1a = new NodeSimple; - n_unk_v40_1a->m_field_name = field_name; - n_unk_v40_1a->m_df_type = DF_Type::int32_t; - n_unk_v40_1a->m_rdf_type = RDF_Type::int32_t; - n_unk_v40_1a->m_node_type = NodeType::Simple; - n_unk_v40_1a->m_address = base + offset; - n_unk_v40_1a->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_1a); - - field_name = "unk_v40_1b"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); - auto n_unk_v40_1b = new NodeSimple; - n_unk_v40_1b->m_field_name = field_name; - n_unk_v40_1b->m_df_type = DF_Type::int32_t; - n_unk_v40_1b->m_rdf_type = RDF_Type::int32_t; - n_unk_v40_1b->m_node_type = NodeType::Simple; - n_unk_v40_1b->m_address = base + offset; - n_unk_v40_1b->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_1b); - - field_name = "unk_v40_1c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); - auto n_unk_v40_1c = new NodeSimple; - n_unk_v40_1c->m_field_name = field_name; - n_unk_v40_1c->m_df_type = DF_Type::int32_t; - n_unk_v40_1c->m_rdf_type = RDF_Type::int32_t; - n_unk_v40_1c->m_node_type = NodeType::Simple; - n_unk_v40_1c->m_address = base + offset; - n_unk_v40_1c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_1c); - - field_name = "unk_v40_1d"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); - auto n_unk_v40_1d = new NodeSimple; - n_unk_v40_1d->m_field_name = field_name; - n_unk_v40_1d->m_df_type = DF_Type::int32_t; - n_unk_v40_1d->m_rdf_type = RDF_Type::int32_t; - n_unk_v40_1d->m_node_type = NodeType::Simple; - n_unk_v40_1d->m_address = base + offset; - n_unk_v40_1d->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_1d); - - field_name = "unk_v40_1e"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); - auto n_unk_v40_1e = new NodeSimple; - n_unk_v40_1e->m_field_name = field_name; - n_unk_v40_1e->m_df_type = DF_Type::int32_t; - n_unk_v40_1e->m_rdf_type = RDF_Type::int32_t; - n_unk_v40_1e->m_node_type = NodeType::Simple; - n_unk_v40_1e->m_address = base + offset; - n_unk_v40_1e->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_1e); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); - auto n_anon_1 = new NodeVector; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::Vector; - n_anon_1->m_node_type = NodeType::Vector; - n_anon_1->m_addornements = "v"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); - auto n_anon_2 = new NodeVector; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::Vector; - n_anon_2->m_node_type = NodeType::Vector; - n_anon_2->m_addornements = "v"; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - n_anon_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); - auto n_anon_3 = new NodeVector; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::Vector; - n_anon_3->m_node_type = NodeType::Vector; - n_anon_3->m_addornements = "v"; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - n_anon_3->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); - auto n_anon_4 = new NodeVector; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::Vector; - n_anon_4->m_node_type = NodeType::Vector; - n_anon_4->m_addornements = "v"; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - n_anon_4->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); - auto n_anon_5 = new NodeVector; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::Vector; - n_anon_5->m_node_type = NodeType::Vector; - n_anon_5->m_addornements = "v"; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - n_anon_5->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); - auto n_anon_6 = new NodeVector; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::Vector; - n_anon_6->m_node_type = NodeType::Vector; - n_anon_6->m_addornements = "v"; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - n_anon_6->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "occasion_info"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); - auto n_occasion_info = new NodePointer; - n_occasion_info->m_field_name = field_name; - n_occasion_info->m_df_type = get_real_subtype(base+offset, DF_Type::entity_occasion_info); - n_occasion_info->m_rdf_type = RDF_Type::Pointer; - n_occasion_info->m_node_type = NodeType::Pointer; - n_occasion_info->m_addornements = "*"; - n_occasion_info->m_address = base + offset; - n_occasion_info->m_parent = p_node_parent; - n_occasion_info->m_defined_in = "df.entities.xml"; - n_occasion_info->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_occasion_info); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); - auto n_anon_7 = new NodeVector; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::Void; - n_anon_7->m_rdf_type = RDF_Type::Vector; - n_anon_7->m_node_type = NodeType::Vector; - n_anon_7->m_addornements = "v"; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - n_anon_7->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_7); - - field_name = "meeting_events"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); - auto n_meeting_events = new NodeVector; - n_meeting_events->m_field_name = field_name; - n_meeting_events->m_df_type = DF_Type::meeting_event; - n_meeting_events->m_rdf_type = RDF_Type::Vector; - n_meeting_events->m_node_type = NodeType::Vector; - n_meeting_events->m_defined_in = "df.meeting.xml"; - n_meeting_events->m_addornements = "v*"; - n_meeting_events->m_address = base + offset; - n_meeting_events->m_parent = p_node_parent; - n_meeting_events->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_meeting_events); - - field_name = "activity_stats"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); - auto n_activity_stats = new NodePointer; - n_activity_stats->m_field_name = field_name; - n_activity_stats->m_df_type = get_real_subtype(base+offset, DF_Type::entity_activity_statistics); - n_activity_stats->m_rdf_type = RDF_Type::Pointer; - n_activity_stats->m_node_type = NodeType::Pointer; - n_activity_stats->m_addornements = "*"; - n_activity_stats->m_address = base + offset; - n_activity_stats->m_parent = p_node_parent; - n_activity_stats->m_defined_in = "df.entities.xml"; - n_activity_stats->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_activity_stats); - - field_name = "unknown1e"; - auto n_unknown1e = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); - n_unknown1e->m_field_name = field_name; - n_unknown1e->m_df_type = DF_Type::historical_entity__T_unknown1e; - n_unknown1e->m_rdf_type = RDF_Type::Compound; - n_unknown1e->m_node_type = NodeType::Compound; - n_unknown1e->m_address = base + offset; - n_unknown1e->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unknown1e); - - field_name = "armies"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); - auto n_armies = new NodeVector; - n_armies->m_field_name = field_name; - n_armies->m_df_type = DF_Type::army; - n_armies->m_rdf_type = RDF_Type::Vector; - n_armies->m_node_type = NodeType::Vector; - n_armies->m_defined_in = "df.military.xml"; - n_armies->m_addornements = "v*"; - n_armies->m_address = base + offset; - n_armies->m_parent = p_node_parent; - n_armies->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_armies); - - field_name = "army_controllers"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); - auto n_army_controllers = new NodeVector; - n_army_controllers->m_field_name = field_name; - n_army_controllers->m_df_type = DF_Type::army_controller; - n_army_controllers->m_rdf_type = RDF_Type::Vector; - n_army_controllers->m_node_type = NodeType::Vector; - n_army_controllers->m_defined_in = "df.military.xml"; - n_army_controllers->m_addornements = "v*"; - n_army_controllers->m_address = base + offset; - n_army_controllers->m_parent = p_node_parent; - n_army_controllers->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_army_controllers); - - field_name = "hist_figures"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); - auto n_hist_figures = new NodeVector; - n_hist_figures->m_field_name = field_name; - n_hist_figures->m_df_type = DF_Type::historical_figure; - n_hist_figures->m_rdf_type = RDF_Type::Vector; - n_hist_figures->m_node_type = NodeType::Vector; - n_hist_figures->m_defined_in = "df.history.xml"; - n_hist_figures->m_addornements = "v*"; - n_hist_figures->m_address = base + offset; - n_hist_figures->m_parent = p_node_parent; - n_hist_figures->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_hist_figures); - - field_name = "nemesis"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); - auto n_nemesis = new NodeVector; - n_nemesis->m_field_name = field_name; - n_nemesis->m_df_type = DF_Type::nemesis_record; - n_nemesis->m_rdf_type = RDF_Type::Vector; - n_nemesis->m_node_type = NodeType::Vector; - n_nemesis->m_defined_in = "df.legends.xml"; - n_nemesis->m_addornements = "v*"; - n_nemesis->m_address = base + offset; - n_nemesis->m_parent = p_node_parent; - n_nemesis->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_nemesis); - - field_name = "derived_resources"; - auto n_derived_resources = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); - n_derived_resources->m_field_name = field_name; - n_derived_resources->m_df_type = DF_Type::historical_entity__T_derived_resources; - n_derived_resources->m_rdf_type = RDF_Type::Compound; - n_derived_resources->m_node_type = NodeType::Compound; - n_derived_resources->m_address = base + offset; - n_derived_resources->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_derived_resources); - - field_name = "assignments_by_type"; - auto n_assignments_by_type = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); - n_assignments_by_type->m_field_name = field_name; - n_assignments_by_type->m_df_type = DF_Type::entity_position_assignment; - n_assignments_by_type->m_rdf_type = RDF_Type::Array; - n_assignments_by_type->m_node_type = NodeType::Array; - n_assignments_by_type->m_index_enum = DF_Type::entity_position_responsibility; - n_assignments_by_type->m_defined_in = "df.entities.xml"; - n_assignments_by_type->m_addornements = "[25v*"; - n_assignments_by_type->m_array_size = 25; - n_assignments_by_type->m_address = base + offset; - n_assignments_by_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_assignments_by_type); - - field_name = "claims"; - auto n_claims = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); - n_claims->m_field_name = field_name; - n_claims->m_df_type = DF_Type::historical_entity__T_claims; - n_claims->m_rdf_type = RDF_Type::Compound; - n_claims->m_node_type = NodeType::Compound; - n_claims->m_address = base + offset; - n_claims->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_claims); - - field_name = "children"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); - auto n_children = new NodeVector; - n_children->m_field_name = field_name; - n_children->m_df_type = DF_Type::int32_t; - n_children->m_rdf_type = RDF_Type::Vector; - n_children->m_node_type = NodeType::Vector; - n_children->m_addornements = "v"; - n_children->m_address = base + offset; - n_children->m_comment = "includes self"; - n_children->m_parent = p_node_parent; - n_children->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_children); - - field_name = "unknown2"; - auto n_unknown2 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); - n_unknown2->m_field_name = field_name; - n_unknown2->m_df_type = DF_Type::historical_entity__T_unknown2; - n_unknown2->m_rdf_type = RDF_Type::Compound; - n_unknown2->m_node_type = NodeType::Compound; - n_unknown2->m_address = base + offset; - n_unknown2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unknown2); - -} -void node_from_historical_figure__T_unk_fc(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk_0"; - auto n_unk_0 = new NodeDFArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure__T_unk_fc, field_name)); - n_unk_0->m_field_name = field_name; - n_unk_0->m_df_type = DF_Type::uint8_t; - n_unk_0->m_rdf_type = RDF_Type::DFArray; - n_unk_0->m_node_type = NodeType::Array; - n_unk_0->m_addornements = ""; - n_unk_0->m_address = base + offset; - n_unk_0->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_0); - - field_name = "unk_8"; - auto n_unk_8 = new NodeDFArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure__T_unk_fc, field_name)); - n_unk_8->m_field_name = field_name; - n_unk_8->m_df_type = DF_Type::int16_t; - n_unk_8->m_rdf_type = RDF_Type::DFArray; - n_unk_8->m_node_type = NodeType::Array; - n_unk_8->m_addornements = ""; - n_unk_8->m_address = base + offset; - n_unk_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_8); - -} -void node_from_historical_figure(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "profession"; - auto n_profession = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); - n_profession->m_field_name = field_name; - n_profession->m_df_type = DF_Type::profession; - n_profession->m_rdf_type = RDF_Type::Enum; - n_profession->m_node_type = NodeType::Enum; - n_profession->m_base_type = DF_Type::int16_t; - n_profession->m_enum_type = "profession"; - n_profession->m_address = base + offset; - n_profession->m_defined_in = "df.skills.xml"; - n_profession->m_first_value = -1; - n_profession->m_last_value = 134; - n_profession->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_profession); - - field_name = "race"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); - auto n_race = new NodeSimple; - n_race->m_field_name = field_name; - n_race->m_df_type = DF_Type::int16_t; - n_race->m_rdf_type = RDF_Type::int16_t; - n_race->m_node_type = NodeType::Simple; - n_race->m_address = base + offset; - n_race->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_race); - - field_name = "caste"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); - auto n_caste = new NodeSimple; - n_caste->m_field_name = field_name; - n_caste->m_df_type = DF_Type::int16_t; - n_caste->m_rdf_type = RDF_Type::int16_t; - n_caste->m_node_type = NodeType::Simple; - n_caste->m_address = base + offset; - n_caste->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_caste); - - field_name = "sex"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); - auto n_sex = new NodeSimple; - n_sex->m_field_name = field_name; - n_sex->m_df_type = DF_Type::int8_t; - n_sex->m_rdf_type = RDF_Type::int8_t; - n_sex->m_node_type = NodeType::Simple; - n_sex->m_address = base + offset; - n_sex->m_comment = "-1 n/a, 0 female, 1 male"; - n_sex->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sex); - - field_name = "orientation_flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); - auto n_orientation_flags = new NodeBitfield; - n_orientation_flags->m_field_name = field_name; - n_orientation_flags->m_df_type = DF_Type::orientation_flags; - n_orientation_flags->m_rdf_type = RDF_Type::Bitfield; - n_orientation_flags->m_node_type = NodeType::Bitfield; - n_orientation_flags->m_address = base + offset; - n_orientation_flags->m_defined_in = "df.units.xml"; - n_orientation_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_orientation_flags); - - field_name = "appeared_year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); - auto n_appeared_year = new NodeSimple; - n_appeared_year->m_field_name = field_name; - n_appeared_year->m_df_type = DF_Type::int32_t; - n_appeared_year->m_rdf_type = RDF_Type::int32_t; - n_appeared_year->m_node_type = NodeType::Simple; - n_appeared_year->m_address = base + offset; - n_appeared_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_appeared_year); - - field_name = "born_year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); - auto n_born_year = new NodeSimple; - n_born_year->m_field_name = field_name; - n_born_year->m_df_type = DF_Type::int32_t; - n_born_year->m_rdf_type = RDF_Type::int32_t; - n_born_year->m_node_type = NodeType::Simple; - n_born_year->m_address = base + offset; - n_born_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_born_year); - - field_name = "born_seconds"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); - auto n_born_seconds = new NodeSimple; - n_born_seconds->m_field_name = field_name; - n_born_seconds->m_df_type = DF_Type::int32_t; - n_born_seconds->m_rdf_type = RDF_Type::int32_t; - n_born_seconds->m_node_type = NodeType::Simple; - n_born_seconds->m_address = base + offset; - n_born_seconds->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_born_seconds); - - field_name = "curse_year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); - auto n_curse_year = new NodeSimple; - n_curse_year->m_field_name = field_name; - n_curse_year->m_df_type = DF_Type::int32_t; - n_curse_year->m_rdf_type = RDF_Type::int32_t; - n_curse_year->m_node_type = NodeType::Simple; - n_curse_year->m_address = base + offset; - n_curse_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_curse_year); - - field_name = "curse_seconds"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); - auto n_curse_seconds = new NodeSimple; - n_curse_seconds->m_field_name = field_name; - n_curse_seconds->m_df_type = DF_Type::int32_t; - n_curse_seconds->m_rdf_type = RDF_Type::int32_t; - n_curse_seconds->m_node_type = NodeType::Simple; - n_curse_seconds->m_address = base + offset; - n_curse_seconds->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_curse_seconds); - - field_name = "birth_year_bias"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); - auto n_birth_year_bias = new NodeSimple; - n_birth_year_bias->m_field_name = field_name; - n_birth_year_bias->m_df_type = DF_Type::int32_t; - n_birth_year_bias->m_rdf_type = RDF_Type::int32_t; - n_birth_year_bias->m_node_type = NodeType::Simple; - n_birth_year_bias->m_address = base + offset; - n_birth_year_bias->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_birth_year_bias); - - field_name = "birth_time_bias"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); - auto n_birth_time_bias = new NodeSimple; - n_birth_time_bias->m_field_name = field_name; - n_birth_time_bias->m_df_type = DF_Type::int32_t; - n_birth_time_bias->m_rdf_type = RDF_Type::int32_t; - n_birth_time_bias->m_node_type = NodeType::Simple; - n_birth_time_bias->m_address = base + offset; - n_birth_time_bias->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_birth_time_bias); - - field_name = "old_year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); - auto n_old_year = new NodeSimple; - n_old_year->m_field_name = field_name; - n_old_year->m_df_type = DF_Type::int32_t; - n_old_year->m_rdf_type = RDF_Type::int32_t; - n_old_year->m_node_type = NodeType::Simple; - n_old_year->m_address = base + offset; - n_old_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_old_year); - - field_name = "old_seconds"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); - auto n_old_seconds = new NodeSimple; - n_old_seconds->m_field_name = field_name; - n_old_seconds->m_df_type = DF_Type::int32_t; - n_old_seconds->m_rdf_type = RDF_Type::int32_t; - n_old_seconds->m_node_type = NodeType::Simple; - n_old_seconds->m_address = base + offset; - n_old_seconds->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_old_seconds); - - field_name = "died_year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); - auto n_died_year = new NodeSimple; - n_died_year->m_field_name = field_name; - n_died_year->m_df_type = DF_Type::int32_t; - n_died_year->m_rdf_type = RDF_Type::int32_t; - n_died_year->m_node_type = NodeType::Simple; - n_died_year->m_address = base + offset; - n_died_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_died_year); - - field_name = "died_seconds"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); - auto n_died_seconds = new NodeSimple; - n_died_seconds->m_field_name = field_name; - n_died_seconds->m_df_type = DF_Type::int32_t; - n_died_seconds->m_rdf_type = RDF_Type::int32_t; - n_died_seconds->m_node_type = NodeType::Simple; - n_died_seconds->m_address = base + offset; - n_died_seconds->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_died_seconds); - - field_name = "name"; - auto n_name = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::language_name; - n_name->m_rdf_type = RDF_Type::Struct; - n_name->m_node_type = NodeType::Compound; - n_name->m_address = base + offset; - n_name->m_defined_in = "df.language.xml"; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "civ_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); - auto n_civ_id = new NodeSimple; - n_civ_id->m_field_name = field_name; - n_civ_id->m_df_type = DF_Type::int32_t; - n_civ_id->m_rdf_type = RDF_Type::int32_t; - n_civ_id->m_node_type = NodeType::Simple; - n_civ_id->m_address = base + offset; - n_civ_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_civ_id); - - field_name = "population_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); - auto n_population_id = new NodeSimple; - n_population_id->m_field_name = field_name; - n_population_id->m_df_type = DF_Type::int32_t; - n_population_id->m_rdf_type = RDF_Type::int32_t; - n_population_id->m_node_type = NodeType::Simple; - n_population_id->m_address = base + offset; - n_population_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_population_id); - - field_name = "breed_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); - auto n_breed_id = new NodeSimple; - n_breed_id->m_field_name = field_name; - n_breed_id->m_df_type = DF_Type::int32_t; - n_breed_id->m_rdf_type = RDF_Type::int32_t; - n_breed_id->m_node_type = NodeType::Simple; - n_breed_id->m_address = base + offset; - n_breed_id->m_comment = "from legends export"; - n_breed_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_breed_id); - - field_name = "cultural_identity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); - auto n_cultural_identity = new NodeSimple; - n_cultural_identity->m_field_name = field_name; - n_cultural_identity->m_df_type = DF_Type::int32_t; - n_cultural_identity->m_rdf_type = RDF_Type::int32_t; - n_cultural_identity->m_node_type = NodeType::Simple; - n_cultural_identity->m_address = base + offset; - n_cultural_identity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cultural_identity); - - field_name = "family_head_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); - auto n_family_head_id = new NodeSimple; - n_family_head_id->m_field_name = field_name; - n_family_head_id->m_df_type = DF_Type::int32_t; - n_family_head_id->m_rdf_type = RDF_Type::int32_t; - n_family_head_id->m_node_type = NodeType::Simple; - n_family_head_id->m_address = base + offset; - n_family_head_id->m_comment = "When a unit is asked about their family in adventure mode, the historical figure corresponding to this ID is called the head of the family or ancestor."; - n_family_head_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_family_head_id); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); - auto n_flags = new NodeDFFlagArray; - n_flags->m_field_name = field_name; - n_flags->m_index_enum = DF_Type::histfig_flags; - n_flags->m_df_type = DF_Type::histfig_flags; - n_flags->m_size = 16; - n_flags->m_rdf_type = RDF_Type::DFFlagArray; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_defined_in = "df.history.xml"; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "unit_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); - auto n_unit_id = new NodeSimple; - n_unit_id->m_field_name = field_name; - n_unit_id->m_df_type = DF_Type::int32_t; - n_unit_id->m_rdf_type = RDF_Type::int32_t; - n_unit_id->m_node_type = NodeType::Simple; - n_unit_id->m_address = base + offset; - n_unit_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unit_id); - - field_name = "unit_id2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); - auto n_unit_id2 = new NodeSimple; - n_unit_id2->m_field_name = field_name; - n_unit_id2->m_df_type = DF_Type::int32_t; - n_unit_id2->m_rdf_type = RDF_Type::int32_t; - n_unit_id2->m_node_type = NodeType::Simple; - n_unit_id2->m_address = base + offset; - n_unit_id2->m_comment = "sometimes garbage"; - n_unit_id2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unit_id2); - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "unk4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); - auto n_unk4 = new NodeSimple; - n_unk4->m_field_name = field_name; - n_unk4->m_df_type = DF_Type::int32_t; - n_unk4->m_rdf_type = RDF_Type::int32_t; - n_unk4->m_node_type = NodeType::Simple; - n_unk4->m_address = base + offset; - n_unk4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk4); - - field_name = "entity_links"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); - auto n_entity_links = new NodeVector; - n_entity_links->m_field_name = field_name; - n_entity_links->m_df_type = DF_Type::histfig_entity_link; - n_entity_links->m_rdf_type = RDF_Type::Vector; - n_entity_links->m_node_type = NodeType::Vector; - n_entity_links->m_defined_in = "df.refs.xml"; - n_entity_links->m_addornements = "v*"; - n_entity_links->m_address = base + offset; - n_entity_links->m_parent = p_node_parent; - n_entity_links->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_entity_links); - - field_name = "site_links"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); - auto n_site_links = new NodeVector; - n_site_links->m_field_name = field_name; - n_site_links->m_df_type = DF_Type::histfig_site_link; - n_site_links->m_rdf_type = RDF_Type::Vector; - n_site_links->m_node_type = NodeType::Vector; - n_site_links->m_defined_in = "df.refs.xml"; - n_site_links->m_addornements = "v*"; - n_site_links->m_address = base + offset; - n_site_links->m_parent = p_node_parent; - n_site_links->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_site_links); - - field_name = "histfig_links"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); - auto n_histfig_links = new NodeVector; - n_histfig_links->m_field_name = field_name; - n_histfig_links->m_df_type = DF_Type::histfig_hf_link; - n_histfig_links->m_rdf_type = RDF_Type::Vector; - n_histfig_links->m_node_type = NodeType::Vector; - n_histfig_links->m_defined_in = "df.refs.xml"; - n_histfig_links->m_addornements = "v*"; - n_histfig_links->m_address = base + offset; - n_histfig_links->m_parent = p_node_parent; - n_histfig_links->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_histfig_links); - - field_name = "info"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); - auto n_info = new NodePointer; - n_info->m_field_name = field_name; - n_info->m_df_type = get_real_subtype(base+offset, DF_Type::historical_figure_info); - n_info->m_rdf_type = RDF_Type::Pointer; - n_info->m_node_type = NodeType::Pointer; - n_info->m_addornements = "*"; - n_info->m_address = base + offset; - n_info->m_parent = p_node_parent; - n_info->m_defined_in = "df.history.xml"; - n_info->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_info); - - field_name = "unk_f0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); - auto n_unk_f0 = new NodePointer; - n_unk_f0->m_field_name = field_name; - n_unk_f0->m_df_type = get_real_subtype(base+offset, DF_Type::world_site); - n_unk_f0->m_rdf_type = RDF_Type::Pointer; - n_unk_f0->m_node_type = NodeType::Pointer; - n_unk_f0->m_addornements = "*"; - n_unk_f0->m_address = base + offset; - n_unk_f0->m_parent = p_node_parent; - n_unk_f0->m_defined_in = "df.world-site.xml"; - n_unk_f0->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_f0); - - field_name = "unk_f4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); - auto n_unk_f4 = new NodePointer; - n_unk_f4->m_field_name = field_name; - n_unk_f4->m_df_type = get_real_subtype(base+offset, DF_Type::language_name); - n_unk_f4->m_rdf_type = RDF_Type::Pointer; - n_unk_f4->m_node_type = NodeType::Pointer; - n_unk_f4->m_addornements = "*"; - n_unk_f4->m_address = base + offset; - n_unk_f4->m_parent = p_node_parent; - n_unk_f4->m_defined_in = "df.language.xml"; - n_unk_f4->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_f4); - - field_name = "unk_f8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); - auto n_unk_f8 = new NodePointer; - n_unk_f8->m_field_name = field_name; - n_unk_f8->m_df_type = get_real_subtype(base+offset, DF_Type::world_underground_region); - n_unk_f8->m_rdf_type = RDF_Type::Pointer; - n_unk_f8->m_node_type = NodeType::Pointer; - n_unk_f8->m_addornements = "*"; - n_unk_f8->m_address = base + offset; - n_unk_f8->m_parent = p_node_parent; - n_unk_f8->m_defined_in = "df.world-data.xml"; - n_unk_f8->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_f8); - - field_name = "unk_fc"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); - auto n_unk_fc = new NodePointer; - n_unk_fc->m_field_name = field_name; - n_unk_fc->m_df_type = get_real_subtype(base+offset, DF_Type::historical_figure__T_unk_fc); - n_unk_fc->m_rdf_type = RDF_Type::Pointer; - n_unk_fc->m_node_type = NodeType::Pointer; - n_unk_fc->m_addornements = "*"; - n_unk_fc->m_address = base + offset; - n_unk_fc->m_parent = p_node_parent; - n_unk_fc->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_fc); - - field_name = "unk_100"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); - auto n_unk_100 = new NodeSimple; - n_unk_100->m_field_name = field_name; - n_unk_100->m_df_type = DF_Type::int32_t; - n_unk_100->m_rdf_type = RDF_Type::int32_t; - n_unk_100->m_node_type = NodeType::Simple; - n_unk_100->m_address = base + offset; - n_unk_100->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_100); - - field_name = "unk_v4019_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); - auto n_unk_v4019_1 = new NodeSimple; - n_unk_v4019_1->m_field_name = field_name; - n_unk_v4019_1->m_df_type = DF_Type::int32_t; - n_unk_v4019_1->m_rdf_type = RDF_Type::int32_t; - n_unk_v4019_1->m_node_type = NodeType::Simple; - n_unk_v4019_1->m_address = base + offset; - n_unk_v4019_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v4019_1); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); - auto n_anon_1= new NodePadding; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::Padding; - n_anon_1->m_rdf_type = RDF_Type::Padding; - n_anon_1->m_node_type = NodeType::Padding; - n_anon_1->m_address = base + offset; - n_anon_1->m_comment = "unknown size - not initialized or saved/loaded"; - n_anon_1->m_size = 1; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_identity(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::identity, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "name"; - auto n_name = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::identity, field_name)); - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::language_name; - n_name->m_rdf_type = RDF_Type::Struct; - n_name->m_node_type = NodeType::Compound; - n_name->m_address = base + offset; - n_name->m_defined_in = "df.language.xml"; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "race"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::identity, field_name)); - auto n_race = new NodeSimple; - n_race->m_field_name = field_name; - n_race->m_df_type = DF_Type::int32_t; - n_race->m_rdf_type = RDF_Type::int32_t; - n_race->m_node_type = NodeType::Simple; - n_race->m_address = base + offset; - n_race->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_race); - - field_name = "caste"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::identity, field_name)); - auto n_caste = new NodeSimple; - n_caste->m_field_name = field_name; - n_caste->m_df_type = DF_Type::int16_t; - n_caste->m_rdf_type = RDF_Type::int16_t; - n_caste->m_node_type = NodeType::Simple; - n_caste->m_address = base + offset; - n_caste->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_caste); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::identity, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "histfig_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::identity, field_name)); - auto n_histfig_id = new NodeSimple; - n_histfig_id->m_field_name = field_name; - n_histfig_id->m_df_type = DF_Type::int32_t; - n_histfig_id->m_rdf_type = RDF_Type::int32_t; - n_histfig_id->m_node_type = NodeType::Simple; - n_histfig_id->m_address = base + offset; - n_histfig_id->m_comment = "when masquerading as another historical figure"; - n_histfig_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig_id); - - field_name = "unk_4c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::identity, field_name)); - auto n_unk_4c = new NodeSimple; - n_unk_4c->m_field_name = field_name; - n_unk_4c->m_df_type = DF_Type::int32_t; - n_unk_4c->m_rdf_type = RDF_Type::int32_t; - n_unk_4c->m_node_type = NodeType::Simple; - n_unk_4c->m_address = base + offset; - n_unk_4c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_4c); - - field_name = "birth_year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::identity, field_name)); - auto n_birth_year = new NodeSimple; - n_birth_year->m_field_name = field_name; - n_birth_year->m_df_type = DF_Type::int32_t; - n_birth_year->m_rdf_type = RDF_Type::int32_t; - n_birth_year->m_node_type = NodeType::Simple; - n_birth_year->m_address = base + offset; - n_birth_year->m_comment = "the fake one, that is"; - n_birth_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_birth_year); - - field_name = "birth_second"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::identity, field_name)); - auto n_birth_second = new NodeSimple; - n_birth_second->m_field_name = field_name; - n_birth_second->m_df_type = DF_Type::int32_t; - n_birth_second->m_rdf_type = RDF_Type::int32_t; - n_birth_second->m_node_type = NodeType::Simple; - n_birth_second->m_address = base + offset; - n_birth_second->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_birth_second); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::identity, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::identity, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "profession"; - auto n_profession = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::identity, field_name)); - n_profession->m_field_name = field_name; - n_profession->m_df_type = DF_Type::profession; - n_profession->m_rdf_type = RDF_Type::Enum; - n_profession->m_node_type = NodeType::Enum; - n_profession->m_base_type = DF_Type::int16_t; - n_profession->m_enum_type = "profession"; - n_profession->m_address = base + offset; - n_profession->m_defined_in = "df.skills.xml"; - n_profession->m_first_value = -1; - n_profession->m_last_value = 134; - n_profession->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_profession); - - field_name = "civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::identity, field_name)); - auto n_civ = new NodeSimple; - n_civ->m_field_name = field_name; - n_civ->m_df_type = DF_Type::int32_t; - n_civ->m_rdf_type = RDF_Type::int32_t; - n_civ->m_node_type = NodeType::Simple; - n_civ->m_address = base + offset; - n_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_civ); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::identity, field_name)); - auto n_anon_4 = new NodeVector; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::identity_unk_94; - n_anon_4->m_rdf_type = RDF_Type::Vector; - n_anon_4->m_node_type = NodeType::Vector; - n_anon_4->m_defined_in = "df.history.xml"; - n_anon_4->m_addornements = "v*"; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - n_anon_4->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::identity, field_name)); - auto n_anon_5 = new NodeVector; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::identity_unk_94; - n_anon_5->m_rdf_type = RDF_Type::Vector; - n_anon_5->m_node_type = NodeType::Vector; - n_anon_5->m_defined_in = "df.history.xml"; - n_anon_5->m_addornements = "v*"; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - n_anon_5->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_5); - -} -void node_from_history_event_collection_warst__T_unk(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_warst__T_unk, field_name)); - auto n_anon_1 = new NodeVector; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int16_t; - n_anon_1->m_rdf_type = RDF_Type::Vector; - n_anon_1->m_node_type = NodeType::Vector; - n_anon_1->m_addornements = "v"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_warst__T_unk, field_name)); - auto n_anon_2 = new NodeVector; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::Vector; - n_anon_2->m_node_type = NodeType::Vector; - n_anon_2->m_addornements = "v"; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - n_anon_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_warst__T_unk, field_name)); - auto n_anon_3 = new NodeVector; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::Vector; - n_anon_3->m_node_type = NodeType::Vector; - n_anon_3->m_addornements = "v"; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - n_anon_3->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_warst__T_unk, field_name)); - auto n_anon_4 = new NodeVector; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::Vector; - n_anon_4->m_node_type = NodeType::Vector; - n_anon_4->m_addornements = "v"; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - n_anon_4->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_warst__T_unk, field_name)); - auto n_anon_5 = new NodeVector; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::Vector; - n_anon_5->m_node_type = NodeType::Vector; - n_anon_5->m_addornements = "v"; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - n_anon_5->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_warst__T_unk, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "ethics_unk1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_warst__T_unk, field_name)); - auto n_ethics_unk1 = new NodeVector; - n_ethics_unk1->m_field_name = field_name; - n_ethics_unk1->m_df_type = DF_Type::int16_t; - n_ethics_unk1->m_rdf_type = RDF_Type::Vector; - n_ethics_unk1->m_node_type = NodeType::Vector; - n_ethics_unk1->m_addornements = "v"; - n_ethics_unk1->m_address = base + offset; - n_ethics_unk1->m_parent = p_node_parent; - n_ethics_unk1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_ethics_unk1); - - field_name = "disputed_ethics"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_warst__T_unk, field_name)); - auto n_disputed_ethics = new NodeVector; - n_disputed_ethics->m_field_name = field_name; - n_disputed_ethics->m_df_type = DF_Type::ethic_type; - n_disputed_ethics->m_rdf_type = RDF_Type::Vector; - n_disputed_ethics->m_node_type = NodeType::Vector; - n_disputed_ethics->m_enum_base = enum_base_type(n_disputed_ethics->m_df_type); - n_disputed_ethics->m_defined_in = "df.entity-raws.xml"; - n_disputed_ethics->m_addornements = "v"; - n_disputed_ethics->m_address = base + offset; - n_disputed_ethics->m_parent = p_node_parent; - n_disputed_ethics->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_disputed_ethics); - - field_name = "ethics_unk3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_warst__T_unk, field_name)); - auto n_ethics_unk3 = new NodeVector; - n_ethics_unk3->m_field_name = field_name; - n_ethics_unk3->m_df_type = DF_Type::int32_t; - n_ethics_unk3->m_rdf_type = RDF_Type::Vector; - n_ethics_unk3->m_node_type = NodeType::Vector; - n_ethics_unk3->m_addornements = "v"; - n_ethics_unk3->m_address = base + offset; - n_ethics_unk3->m_parent = p_node_parent; - n_ethics_unk3->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_ethics_unk3); - - field_name = "dispute_severities"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_warst__T_unk, field_name)); - auto n_dispute_severities = new NodeVector; - n_dispute_severities->m_field_name = field_name; - n_dispute_severities->m_df_type = DF_Type::int32_t; - n_dispute_severities->m_rdf_type = RDF_Type::Vector; - n_dispute_severities->m_node_type = NodeType::Vector; - n_dispute_severities->m_addornements = "v"; - n_dispute_severities->m_address = base + offset; - n_dispute_severities->m_parent = p_node_parent; - n_dispute_severities->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_dispute_severities); - - field_name = "worst_severity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_warst__T_unk, field_name)); - auto n_worst_severity = new NodeSimple; - n_worst_severity->m_field_name = field_name; - n_worst_severity->m_df_type = DF_Type::int32_t; - n_worst_severity->m_rdf_type = RDF_Type::int32_t; - n_worst_severity->m_node_type = NodeType::Simple; - n_worst_severity->m_address = base + offset; - n_worst_severity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_worst_severity); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_warst__T_unk, field_name)); - auto n_anon_7 = new NodeVector; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::int16_t; - n_anon_7->m_rdf_type = RDF_Type::Vector; - n_anon_7->m_node_type = NodeType::Vector; - n_anon_7->m_addornements = "v"; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - n_anon_7->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_7); - - field_name = "anon_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_warst__T_unk, field_name)); - auto n_anon_8 = new NodeVector; - n_anon_8->m_field_name = field_name; - n_anon_8->m_df_type = DF_Type::int32_t; - n_anon_8->m_rdf_type = RDF_Type::Vector; - n_anon_8->m_node_type = NodeType::Vector; - n_anon_8->m_addornements = "v"; - n_anon_8->m_address = base + offset; - n_anon_8->m_parent = p_node_parent; - n_anon_8->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_8); - - field_name = "anon_9"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_warst__T_unk, field_name)); - auto n_anon_9 = new NodeVector; - n_anon_9->m_field_name = field_name; - n_anon_9->m_df_type = DF_Type::int32_t; - n_anon_9->m_rdf_type = RDF_Type::Vector; - n_anon_9->m_node_type = NodeType::Vector; - n_anon_9->m_addornements = "v"; - n_anon_9->m_address = base + offset; - n_anon_9->m_parent = p_node_parent; - n_anon_9->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_9); - - field_name = "anon_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_warst__T_unk, field_name)); - auto n_anon_10 = new NodeSimple; - n_anon_10->m_field_name = field_name; - n_anon_10->m_df_type = DF_Type::int32_t; - n_anon_10->m_rdf_type = RDF_Type::int32_t; - n_anon_10->m_node_type = NodeType::Simple; - n_anon_10->m_address = base + offset; - n_anon_10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_10); - -} -void node_from_history_event_collection_warst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event_collection; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event_collection(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "name"; - auto n_name = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_warst, field_name)); - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::language_name; - n_name->m_rdf_type = RDF_Type::Struct; - n_name->m_node_type = NodeType::Compound; - n_name->m_address = base + offset; - n_name->m_defined_in = "df.language.xml"; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "attacker_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_warst, field_name)); - auto n_attacker_civ = new NodeVector; - n_attacker_civ->m_field_name = field_name; - n_attacker_civ->m_df_type = DF_Type::int32_t; - n_attacker_civ->m_rdf_type = RDF_Type::Vector; - n_attacker_civ->m_node_type = NodeType::Vector; - n_attacker_civ->m_addornements = "v"; - n_attacker_civ->m_address = base + offset; - n_attacker_civ->m_parent = p_node_parent; - n_attacker_civ->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_attacker_civ); - - field_name = "defender_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_warst, field_name)); - auto n_defender_civ = new NodeVector; - n_defender_civ->m_field_name = field_name; - n_defender_civ->m_df_type = DF_Type::int32_t; - n_defender_civ->m_rdf_type = RDF_Type::Vector; - n_defender_civ->m_node_type = NodeType::Vector; - n_defender_civ->m_addornements = "v"; - n_defender_civ->m_address = base + offset; - n_defender_civ->m_parent = p_node_parent; - n_defender_civ->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_defender_civ); - - field_name = "unk"; - auto n_unk = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_warst, field_name)); - n_unk->m_field_name = field_name; - n_unk->m_df_type = DF_Type::history_event_collection_warst__T_unk; - n_unk->m_rdf_type = RDF_Type::Compound; - n_unk->m_node_type = NodeType::Compound; - n_unk->m_address = base + offset; - n_unk->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk); - -} -void node_from_history_event_collection_battlest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::history_event_collection; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_history_event_collection(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "name"; - auto n_name = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_battlest, field_name)); - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::language_name; - n_name->m_rdf_type = RDF_Type::Struct; - n_name->m_node_type = NodeType::Compound; - n_name->m_address = base + offset; - n_name->m_defined_in = "df.language.xml"; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "parent_collection"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_battlest, field_name)); - auto n_parent_collection = new NodeSimple; - n_parent_collection->m_field_name = field_name; - n_parent_collection->m_df_type = DF_Type::int32_t; - n_parent_collection->m_rdf_type = RDF_Type::int32_t; - n_parent_collection->m_node_type = NodeType::Simple; - n_parent_collection->m_address = base + offset; - n_parent_collection->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_parent_collection); - - field_name = "region"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_battlest, field_name)); - auto n_region = new NodeSimple; - n_region->m_field_name = field_name; - n_region->m_df_type = DF_Type::int32_t; - n_region->m_rdf_type = RDF_Type::int32_t; - n_region->m_node_type = NodeType::Simple; - n_region->m_address = base + offset; - n_region->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region); - - field_name = "layer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_battlest, field_name)); - auto n_layer = new NodeSimple; - n_layer->m_field_name = field_name; - n_layer->m_df_type = DF_Type::int32_t; - n_layer->m_rdf_type = RDF_Type::int32_t; - n_layer->m_node_type = NodeType::Simple; - n_layer->m_address = base + offset; - n_layer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_layer); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_battlest, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "region_pos"; - auto n_region_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_battlest, field_name)); - n_region_pos->m_field_name = field_name; - n_region_pos->m_df_type = DF_Type::coord2d; - n_region_pos->m_rdf_type = RDF_Type::Struct; - n_region_pos->m_node_type = NodeType::Compound; - n_region_pos->m_address = base + offset; - n_region_pos->m_defined_in = "df.map.xml"; - n_region_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region_pos); - - field_name = "attacker_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_battlest, field_name)); - auto n_attacker_civ = new NodeVector; - n_attacker_civ->m_field_name = field_name; - n_attacker_civ->m_df_type = DF_Type::int32_t; - n_attacker_civ->m_rdf_type = RDF_Type::Vector; - n_attacker_civ->m_node_type = NodeType::Vector; - n_attacker_civ->m_addornements = "v"; - n_attacker_civ->m_address = base + offset; - n_attacker_civ->m_parent = p_node_parent; - n_attacker_civ->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_attacker_civ); - - field_name = "defender_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_battlest, field_name)); - auto n_defender_civ = new NodeVector; - n_defender_civ->m_field_name = field_name; - n_defender_civ->m_df_type = DF_Type::int32_t; - n_defender_civ->m_rdf_type = RDF_Type::Vector; - n_defender_civ->m_node_type = NodeType::Vector; - n_defender_civ->m_addornements = "v"; - n_defender_civ->m_address = base + offset; - n_defender_civ->m_parent = p_node_parent; - n_defender_civ->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_defender_civ); - - field_name = "attacker_hf"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_battlest, field_name)); - auto n_attacker_hf = new NodeVector; - n_attacker_hf->m_field_name = field_name; - n_attacker_hf->m_df_type = DF_Type::int32_t; - n_attacker_hf->m_rdf_type = RDF_Type::Vector; - n_attacker_hf->m_node_type = NodeType::Vector; - n_attacker_hf->m_addornements = "v"; - n_attacker_hf->m_address = base + offset; - n_attacker_hf->m_parent = p_node_parent; - n_attacker_hf->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_attacker_hf); - - field_name = "defender_hf"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_battlest, field_name)); - auto n_defender_hf = new NodeVector; - n_defender_hf->m_field_name = field_name; - n_defender_hf->m_df_type = DF_Type::int32_t; - n_defender_hf->m_rdf_type = RDF_Type::Vector; - n_defender_hf->m_node_type = NodeType::Vector; - n_defender_hf->m_addornements = "v"; - n_defender_hf->m_address = base + offset; - n_defender_hf->m_parent = p_node_parent; - n_defender_hf->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_defender_hf); - - field_name = "noncombat_hf"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_battlest, field_name)); - auto n_noncombat_hf = new NodeVector; - n_noncombat_hf->m_field_name = field_name; - n_noncombat_hf->m_df_type = DF_Type::int32_t; - n_noncombat_hf->m_rdf_type = RDF_Type::Vector; - n_noncombat_hf->m_node_type = NodeType::Vector; - n_noncombat_hf->m_addornements = "v"; - n_noncombat_hf->m_address = base + offset; - n_noncombat_hf->m_parent = p_node_parent; - n_noncombat_hf->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_noncombat_hf); - - field_name = "attacker_squad_entity_pop"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_battlest, field_name)); - auto n_attacker_squad_entity_pop = new NodeVector; - n_attacker_squad_entity_pop->m_field_name = field_name; - n_attacker_squad_entity_pop->m_df_type = DF_Type::int32_t; - n_attacker_squad_entity_pop->m_rdf_type = RDF_Type::Vector; - n_attacker_squad_entity_pop->m_node_type = NodeType::Vector; - n_attacker_squad_entity_pop->m_addornements = "v"; - n_attacker_squad_entity_pop->m_address = base + offset; - n_attacker_squad_entity_pop->m_parent = p_node_parent; - n_attacker_squad_entity_pop->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_attacker_squad_entity_pop); - - field_name = "attacker_squad_counts"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_battlest, field_name)); - auto n_attacker_squad_counts = new NodeVector; - n_attacker_squad_counts->m_field_name = field_name; - n_attacker_squad_counts->m_df_type = DF_Type::int32_t; - n_attacker_squad_counts->m_rdf_type = RDF_Type::Vector; - n_attacker_squad_counts->m_node_type = NodeType::Vector; - n_attacker_squad_counts->m_addornements = "v"; - n_attacker_squad_counts->m_address = base + offset; - n_attacker_squad_counts->m_parent = p_node_parent; - n_attacker_squad_counts->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_attacker_squad_counts); - - field_name = "attacker_squad_deaths"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_battlest, field_name)); - auto n_attacker_squad_deaths = new NodeVector; - n_attacker_squad_deaths->m_field_name = field_name; - n_attacker_squad_deaths->m_df_type = DF_Type::int32_t; - n_attacker_squad_deaths->m_rdf_type = RDF_Type::Vector; - n_attacker_squad_deaths->m_node_type = NodeType::Vector; - n_attacker_squad_deaths->m_addornements = "v"; - n_attacker_squad_deaths->m_address = base + offset; - n_attacker_squad_deaths->m_parent = p_node_parent; - n_attacker_squad_deaths->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_attacker_squad_deaths); - - field_name = "attacker_squad_races"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_battlest, field_name)); - auto n_attacker_squad_races = new NodeVector; - n_attacker_squad_races->m_field_name = field_name; - n_attacker_squad_races->m_df_type = DF_Type::int32_t; - n_attacker_squad_races->m_rdf_type = RDF_Type::Vector; - n_attacker_squad_races->m_node_type = NodeType::Vector; - n_attacker_squad_races->m_addornements = "v"; - n_attacker_squad_races->m_address = base + offset; - n_attacker_squad_races->m_parent = p_node_parent; - n_attacker_squad_races->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_attacker_squad_races); - - field_name = "attacker_squad_sites"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_battlest, field_name)); - auto n_attacker_squad_sites = new NodeVector; - n_attacker_squad_sites->m_field_name = field_name; - n_attacker_squad_sites->m_df_type = DF_Type::int32_t; - n_attacker_squad_sites->m_rdf_type = RDF_Type::Vector; - n_attacker_squad_sites->m_node_type = NodeType::Vector; - n_attacker_squad_sites->m_addornements = "v"; - n_attacker_squad_sites->m_address = base + offset; - n_attacker_squad_sites->m_parent = p_node_parent; - n_attacker_squad_sites->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_attacker_squad_sites); - - field_name = "defender_squad_entity_pops"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_battlest, field_name)); - auto n_defender_squad_entity_pops = new NodeVector; - n_defender_squad_entity_pops->m_field_name = field_name; - n_defender_squad_entity_pops->m_df_type = DF_Type::int32_t; - n_defender_squad_entity_pops->m_rdf_type = RDF_Type::Vector; - n_defender_squad_entity_pops->m_node_type = NodeType::Vector; - n_defender_squad_entity_pops->m_addornements = "v"; - n_defender_squad_entity_pops->m_address = base + offset; - n_defender_squad_entity_pops->m_parent = p_node_parent; - n_defender_squad_entity_pops->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_defender_squad_entity_pops); - - field_name = "defender_squad_counts"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_battlest, field_name)); - auto n_defender_squad_counts = new NodeVector; - n_defender_squad_counts->m_field_name = field_name; - n_defender_squad_counts->m_df_type = DF_Type::int32_t; - n_defender_squad_counts->m_rdf_type = RDF_Type::Vector; - n_defender_squad_counts->m_node_type = NodeType::Vector; - n_defender_squad_counts->m_addornements = "v"; - n_defender_squad_counts->m_address = base + offset; - n_defender_squad_counts->m_parent = p_node_parent; - n_defender_squad_counts->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_defender_squad_counts); - - field_name = "defender_squad_deaths"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_battlest, field_name)); - auto n_defender_squad_deaths = new NodeVector; - n_defender_squad_deaths->m_field_name = field_name; - n_defender_squad_deaths->m_df_type = DF_Type::int32_t; - n_defender_squad_deaths->m_rdf_type = RDF_Type::Vector; - n_defender_squad_deaths->m_node_type = NodeType::Vector; - n_defender_squad_deaths->m_addornements = "v"; - n_defender_squad_deaths->m_address = base + offset; - n_defender_squad_deaths->m_parent = p_node_parent; - n_defender_squad_deaths->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_defender_squad_deaths); - - field_name = "defender_squad_races"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_battlest, field_name)); - auto n_defender_squad_races = new NodeVector; - n_defender_squad_races->m_field_name = field_name; - n_defender_squad_races->m_df_type = DF_Type::int32_t; - n_defender_squad_races->m_rdf_type = RDF_Type::Vector; - n_defender_squad_races->m_node_type = NodeType::Vector; - n_defender_squad_races->m_addornements = "v"; - n_defender_squad_races->m_address = base + offset; - n_defender_squad_races->m_parent = p_node_parent; - n_defender_squad_races->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_defender_squad_races); - - field_name = "defender_squad_sites"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_battlest, field_name)); - auto n_defender_squad_sites = new NodeVector; - n_defender_squad_sites->m_field_name = field_name; - n_defender_squad_sites->m_df_type = DF_Type::int32_t; - n_defender_squad_sites->m_rdf_type = RDF_Type::Vector; - n_defender_squad_sites->m_node_type = NodeType::Vector; - n_defender_squad_sites->m_addornements = "v"; - n_defender_squad_sites->m_address = base + offset; - n_defender_squad_sites->m_parent = p_node_parent; - n_defender_squad_sites->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_defender_squad_sites); - - field_name = "outcome"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_battlest, field_name)); - auto n_outcome = new NodeSimple; - n_outcome->m_field_name = field_name; - n_outcome->m_df_type = DF_Type::int16_t; - n_outcome->m_rdf_type = RDF_Type::int16_t; - n_outcome->m_node_type = NodeType::Simple; - n_outcome->m_address = base + offset; - n_outcome->m_comment = "0 = attacker won, 1 = defender won"; - n_outcome->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_outcome); - -} -void node_from_world_history__T_event_collections(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "all"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history__T_event_collections, field_name)); - auto n_all = new NodeVector; - n_all->m_field_name = field_name; - n_all->m_df_type = DF_Type::history_event_collection; - n_all->m_rdf_type = RDF_Type::Vector; - n_all->m_node_type = NodeType::Vector; - n_all->m_defined_in = "df.history.xml"; - n_all->m_addornements = "v*"; - n_all->m_address = base + offset; - n_all->m_parent = p_node_parent; - n_all->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_all); - - field_name = "other"; - auto n_other = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history__T_event_collections, field_name)); - n_other->m_field_name = field_name; - n_other->m_df_type = DF_Type::history_event_collection; - n_other->m_rdf_type = RDF_Type::Array; - n_other->m_node_type = NodeType::Array; - n_other->m_index_enum = DF_Type::history_event_collection_type; - n_other->m_defined_in = "df.history.xml"; - n_other->m_addornements = "[16v*"; - n_other->m_array_size = 16; - n_other->m_address = base + offset; - n_other->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_other); - -} -void node_from_world_history(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "events"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); - auto n_events = new NodeVector; - n_events->m_field_name = field_name; - n_events->m_df_type = DF_Type::history_event; - n_events->m_rdf_type = RDF_Type::Vector; - n_events->m_node_type = NodeType::Vector; - n_events->m_defined_in = "df.history.xml"; - n_events->m_addornements = "v*"; - n_events->m_address = base + offset; - n_events->m_parent = p_node_parent; - n_events->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_events); - - field_name = "events_death"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); - auto n_events_death = new NodeVector; - n_events_death->m_field_name = field_name; - n_events_death->m_df_type = DF_Type::history_event; - n_events_death->m_rdf_type = RDF_Type::Vector; - n_events_death->m_node_type = NodeType::Vector; - n_events_death->m_defined_in = "df.history.xml"; - n_events_death->m_addornements = "v*"; - n_events_death->m_address = base + offset; - n_events_death->m_parent = p_node_parent; - n_events_death->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_events_death); - - field_name = "figures"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); - auto n_figures = new NodeVector; - n_figures->m_field_name = field_name; - n_figures->m_df_type = DF_Type::historical_figure; - n_figures->m_rdf_type = RDF_Type::Vector; - n_figures->m_node_type = NodeType::Vector; - n_figures->m_defined_in = "df.history.xml"; - n_figures->m_addornements = "v*"; - n_figures->m_address = base + offset; - n_figures->m_parent = p_node_parent; - n_figures->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_figures); - - field_name = "event_collections"; - auto n_event_collections = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); - n_event_collections->m_field_name = field_name; - n_event_collections->m_df_type = DF_Type::world_history__T_event_collections; - n_event_collections->m_rdf_type = RDF_Type::Compound; - n_event_collections->m_node_type = NodeType::Compound; - n_event_collections->m_address = base + offset; - n_event_collections->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_event_collections); - - field_name = "eras"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); - auto n_eras = new NodeVector; - n_eras->m_field_name = field_name; - n_eras->m_df_type = DF_Type::history_era; - n_eras->m_rdf_type = RDF_Type::Vector; - n_eras->m_node_type = NodeType::Vector; - n_eras->m_defined_in = "df.history.xml"; - n_eras->m_addornements = "v*"; - n_eras->m_address = base + offset; - n_eras->m_parent = p_node_parent; - n_eras->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_eras); - - field_name = "unk1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); - auto n_unk1 = new NodeVector; - n_unk1->m_field_name = field_name; - n_unk1->m_df_type = DF_Type::int32_t; - n_unk1->m_rdf_type = RDF_Type::Vector; - n_unk1->m_node_type = NodeType::Vector; - n_unk1->m_addornements = "v"; - n_unk1->m_address = base + offset; - n_unk1->m_parent = p_node_parent; - n_unk1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk1); - - field_name = "unk2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); - auto n_unk2 = new NodeVector; - n_unk2->m_field_name = field_name; - n_unk2->m_df_type = DF_Type::int16_t; - n_unk2->m_rdf_type = RDF_Type::Vector; - n_unk2->m_node_type = NodeType::Vector; - n_unk2->m_addornements = "v"; - n_unk2->m_address = base + offset; - n_unk2->m_parent = p_node_parent; - n_unk2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk2); - - field_name = "total_unk"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); - auto n_total_unk = new NodeSimple; - n_total_unk->m_field_name = field_name; - n_total_unk->m_df_type = DF_Type::int32_t; - n_total_unk->m_rdf_type = RDF_Type::int32_t; - n_total_unk->m_node_type = NodeType::Simple; - n_total_unk->m_address = base + offset; - n_total_unk->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_total_unk); - - field_name = "total_powers"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); - auto n_total_powers = new NodeSimple; - n_total_powers->m_field_name = field_name; - n_total_powers->m_df_type = DF_Type::int32_t; - n_total_powers->m_rdf_type = RDF_Type::int32_t; - n_total_powers->m_node_type = NodeType::Simple; - n_total_powers->m_address = base + offset; - n_total_powers->m_comment = "also includes megabeasts"; - n_total_powers->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_total_powers); - - field_name = "total_megabeasts"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); - auto n_total_megabeasts = new NodeSimple; - n_total_megabeasts->m_field_name = field_name; - n_total_megabeasts->m_df_type = DF_Type::int32_t; - n_total_megabeasts->m_rdf_type = RDF_Type::int32_t; - n_total_megabeasts->m_node_type = NodeType::Simple; - n_total_megabeasts->m_address = base + offset; - n_total_megabeasts->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_total_megabeasts); - - field_name = "total_semimegabeasts"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); - auto n_total_semimegabeasts = new NodeSimple; - n_total_semimegabeasts->m_field_name = field_name; - n_total_semimegabeasts->m_df_type = DF_Type::int32_t; - n_total_semimegabeasts->m_rdf_type = RDF_Type::int32_t; - n_total_semimegabeasts->m_node_type = NodeType::Simple; - n_total_semimegabeasts->m_address = base + offset; - n_total_semimegabeasts->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_total_semimegabeasts); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); - auto n_anon_1 = new NodeVector; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::Void; - n_anon_1->m_rdf_type = RDF_Type::Vector; - n_anon_1->m_node_type = NodeType::Vector; - n_anon_1->m_addornements = "v"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "unk_v42_1"; - auto n_unk_v42_1 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); - n_unk_v42_1->m_field_name = field_name; - n_unk_v42_1->m_df_type = DF_Type::int16_t; - n_unk_v42_1->m_rdf_type = RDF_Type::Array; - n_unk_v42_1->m_node_type = NodeType::Array; - n_unk_v42_1->m_addornements = "[28"; - n_unk_v42_1->m_array_size = 28; - n_unk_v42_1->m_address = base + offset; - n_unk_v42_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v42_1); - - field_name = "live_megabeasts"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); - auto n_live_megabeasts = new NodeVector; - n_live_megabeasts->m_field_name = field_name; - n_live_megabeasts->m_df_type = DF_Type::historical_figure; - n_live_megabeasts->m_rdf_type = RDF_Type::Vector; - n_live_megabeasts->m_node_type = NodeType::Vector; - n_live_megabeasts->m_defined_in = "df.history.xml"; - n_live_megabeasts->m_addornements = "v*"; - n_live_megabeasts->m_address = base + offset; - n_live_megabeasts->m_parent = p_node_parent; - n_live_megabeasts->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_live_megabeasts); - - field_name = "live_semimegabeasts"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); - auto n_live_semimegabeasts = new NodeVector; - n_live_semimegabeasts->m_field_name = field_name; - n_live_semimegabeasts->m_df_type = DF_Type::historical_figure; - n_live_semimegabeasts->m_rdf_type = RDF_Type::Vector; - n_live_semimegabeasts->m_node_type = NodeType::Vector; - n_live_semimegabeasts->m_defined_in = "df.history.xml"; - n_live_semimegabeasts->m_addornements = "v*"; - n_live_semimegabeasts->m_address = base + offset; - n_live_semimegabeasts->m_parent = p_node_parent; - n_live_semimegabeasts->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_live_semimegabeasts); - - field_name = "unk_histfig_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); - auto n_unk_histfig_3 = new NodeVector; - n_unk_histfig_3->m_field_name = field_name; - n_unk_histfig_3->m_df_type = DF_Type::historical_figure; - n_unk_histfig_3->m_rdf_type = RDF_Type::Vector; - n_unk_histfig_3->m_node_type = NodeType::Vector; - n_unk_histfig_3->m_defined_in = "df.history.xml"; - n_unk_histfig_3->m_addornements = "v*"; - n_unk_histfig_3->m_address = base + offset; - n_unk_histfig_3->m_parent = p_node_parent; - n_unk_histfig_3->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_histfig_3); - - field_name = "unk_histfig_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); - auto n_unk_histfig_4 = new NodeVector; - n_unk_histfig_4->m_field_name = field_name; - n_unk_histfig_4->m_df_type = DF_Type::historical_figure; - n_unk_histfig_4->m_rdf_type = RDF_Type::Vector; - n_unk_histfig_4->m_node_type = NodeType::Vector; - n_unk_histfig_4->m_defined_in = "df.history.xml"; - n_unk_histfig_4->m_addornements = "v*"; - n_unk_histfig_4->m_address = base + offset; - n_unk_histfig_4->m_parent = p_node_parent; - n_unk_histfig_4->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_histfig_4); - - field_name = "unk_histfig_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); - auto n_unk_histfig_5 = new NodeVector; - n_unk_histfig_5->m_field_name = field_name; - n_unk_histfig_5->m_df_type = DF_Type::historical_figure; - n_unk_histfig_5->m_rdf_type = RDF_Type::Vector; - n_unk_histfig_5->m_node_type = NodeType::Vector; - n_unk_histfig_5->m_defined_in = "df.history.xml"; - n_unk_histfig_5->m_addornements = "v*"; - n_unk_histfig_5->m_address = base + offset; - n_unk_histfig_5->m_parent = p_node_parent; - n_unk_histfig_5->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_histfig_5); - - field_name = "unk_v40_1"; - auto n_unk_v40_1 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); - n_unk_v40_1->m_field_name = field_name; - n_unk_v40_1->m_df_type = DF_Type::historical_figure; - n_unk_v40_1->m_rdf_type = RDF_Type::Array; - n_unk_v40_1->m_node_type = NodeType::Array; - n_unk_v40_1->m_defined_in = "df.history.xml"; - n_unk_v40_1->m_addornements = "[13v*"; - n_unk_v40_1->m_array_size = 13; - n_unk_v40_1->m_address = base + offset; - n_unk_v40_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_1); - - field_name = "unk_histfig_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); - auto n_unk_histfig_6 = new NodeVector; - n_unk_histfig_6->m_field_name = field_name; - n_unk_histfig_6->m_df_type = DF_Type::historical_figure; - n_unk_histfig_6->m_rdf_type = RDF_Type::Vector; - n_unk_histfig_6->m_node_type = NodeType::Vector; - n_unk_histfig_6->m_defined_in = "df.history.xml"; - n_unk_histfig_6->m_addornements = "v*"; - n_unk_histfig_6->m_address = base + offset; - n_unk_histfig_6->m_parent = p_node_parent; - n_unk_histfig_6->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_histfig_6); - - field_name = "unk_histfig_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); - auto n_unk_histfig_7 = new NodeVector; - n_unk_histfig_7->m_field_name = field_name; - n_unk_histfig_7->m_df_type = DF_Type::historical_figure; - n_unk_histfig_7->m_rdf_type = RDF_Type::Vector; - n_unk_histfig_7->m_node_type = NodeType::Vector; - n_unk_histfig_7->m_defined_in = "df.history.xml"; - n_unk_histfig_7->m_addornements = "v*"; - n_unk_histfig_7->m_address = base + offset; - n_unk_histfig_7->m_parent = p_node_parent; - n_unk_histfig_7->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_histfig_7); - - field_name = "unk_histfig_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); - auto n_unk_histfig_8 = new NodeVector; - n_unk_histfig_8->m_field_name = field_name; - n_unk_histfig_8->m_df_type = DF_Type::historical_figure; - n_unk_histfig_8->m_rdf_type = RDF_Type::Vector; - n_unk_histfig_8->m_node_type = NodeType::Vector; - n_unk_histfig_8->m_defined_in = "df.history.xml"; - n_unk_histfig_8->m_addornements = "v*"; - n_unk_histfig_8->m_address = base + offset; - n_unk_histfig_8->m_parent = p_node_parent; - n_unk_histfig_8->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_histfig_8); - - field_name = "unk_histfig_9"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); - auto n_unk_histfig_9 = new NodeVector; - n_unk_histfig_9->m_field_name = field_name; - n_unk_histfig_9->m_df_type = DF_Type::historical_figure; - n_unk_histfig_9->m_rdf_type = RDF_Type::Vector; - n_unk_histfig_9->m_node_type = NodeType::Vector; - n_unk_histfig_9->m_defined_in = "df.history.xml"; - n_unk_histfig_9->m_addornements = "v*"; - n_unk_histfig_9->m_address = base + offset; - n_unk_histfig_9->m_parent = p_node_parent; - n_unk_histfig_9->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_histfig_9); - - field_name = "unk_histfig_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); - auto n_unk_histfig_10 = new NodeVector; - n_unk_histfig_10->m_field_name = field_name; - n_unk_histfig_10->m_df_type = DF_Type::historical_figure; - n_unk_histfig_10->m_rdf_type = RDF_Type::Vector; - n_unk_histfig_10->m_node_type = NodeType::Vector; - n_unk_histfig_10->m_defined_in = "df.history.xml"; - n_unk_histfig_10->m_addornements = "v*"; - n_unk_histfig_10->m_address = base + offset; - n_unk_histfig_10->m_parent = p_node_parent; - n_unk_histfig_10->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_histfig_10); - - field_name = "unk_histfig_11"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); - auto n_unk_histfig_11 = new NodeVector; - n_unk_histfig_11->m_field_name = field_name; - n_unk_histfig_11->m_df_type = DF_Type::historical_figure; - n_unk_histfig_11->m_rdf_type = RDF_Type::Vector; - n_unk_histfig_11->m_node_type = NodeType::Vector; - n_unk_histfig_11->m_defined_in = "df.history.xml"; - n_unk_histfig_11->m_addornements = "v*"; - n_unk_histfig_11->m_address = base + offset; - n_unk_histfig_11->m_parent = p_node_parent; - n_unk_histfig_11->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_histfig_11); - - field_name = "unk_histfig_12"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); - auto n_unk_histfig_12 = new NodeVector; - n_unk_histfig_12->m_field_name = field_name; - n_unk_histfig_12->m_df_type = DF_Type::historical_figure; - n_unk_histfig_12->m_rdf_type = RDF_Type::Vector; - n_unk_histfig_12->m_node_type = NodeType::Vector; - n_unk_histfig_12->m_defined_in = "df.history.xml"; - n_unk_histfig_12->m_addornements = "v*"; - n_unk_histfig_12->m_address = base + offset; - n_unk_histfig_12->m_parent = p_node_parent; - n_unk_histfig_12->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_histfig_12); - - field_name = "unk_histfig_13"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); - auto n_unk_histfig_13 = new NodeVector; - n_unk_histfig_13->m_field_name = field_name; - n_unk_histfig_13->m_df_type = DF_Type::historical_figure; - n_unk_histfig_13->m_rdf_type = RDF_Type::Vector; - n_unk_histfig_13->m_node_type = NodeType::Vector; - n_unk_histfig_13->m_defined_in = "df.history.xml"; - n_unk_histfig_13->m_addornements = "v*"; - n_unk_histfig_13->m_address = base + offset; - n_unk_histfig_13->m_parent = p_node_parent; - n_unk_histfig_13->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_histfig_13); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); - auto n_anon_2 = new NodeVector; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::Void; - n_anon_2->m_rdf_type = RDF_Type::Vector; - n_anon_2->m_node_type = NodeType::Vector; - n_anon_2->m_addornements = "v"; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - n_anon_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int8_t; - n_anon_3->m_rdf_type = RDF_Type::int8_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); - auto n_anon_4 = new NodeVector; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::Void; - n_anon_4->m_rdf_type = RDF_Type::Vector; - n_anon_4->m_node_type = NodeType::Vector; - n_anon_4->m_addornements = "v"; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - n_anon_4->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int8_t; - n_anon_5->m_rdf_type = RDF_Type::int8_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); - auto n_anon_7 = new NodeSimple; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::int32_t; - n_anon_7->m_rdf_type = RDF_Type::int32_t; - n_anon_7->m_node_type = NodeType::Simple; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_7); - - field_name = "anon_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); - auto n_anon_8 = new NodePointer; - n_anon_8->m_field_name = field_name; - n_anon_8->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_anon_8->m_rdf_type = RDF_Type::Pointer; - n_anon_8->m_node_type = NodeType::Pointer; - n_anon_8->m_addornements = "*"; - n_anon_8->m_address = base + offset; - n_anon_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_8); - -} -void node_from_item_critter(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "race"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_critter, field_name)); - auto n_race = new NodeSimple; - n_race->m_field_name = field_name; - n_race->m_df_type = DF_Type::int16_t; - n_race->m_rdf_type = RDF_Type::int16_t; - n_race->m_node_type = NodeType::Simple; - n_race->m_address = base + offset; - n_race->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_race); - - field_name = "caste"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_critter, field_name)); - auto n_caste = new NodeSimple; - n_caste->m_field_name = field_name; - n_caste->m_df_type = DF_Type::int16_t; - n_caste->m_rdf_type = RDF_Type::int16_t; - n_caste->m_node_type = NodeType::Simple; - n_caste->m_address = base + offset; - n_caste->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_caste); - - field_name = "milk_timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_critter, field_name)); - auto n_milk_timer = new NodeSimple; - n_milk_timer->m_field_name = field_name; - n_milk_timer->m_df_type = DF_Type::int32_t; - n_milk_timer->m_rdf_type = RDF_Type::int32_t; - n_milk_timer->m_node_type = NodeType::Simple; - n_milk_timer->m_address = base + offset; - n_milk_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_milk_timer); - - field_name = "airdrown_timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_critter, field_name)); - auto n_airdrown_timer = new NodeSimple; - n_airdrown_timer->m_field_name = field_name; - n_airdrown_timer->m_df_type = DF_Type::int32_t; - n_airdrown_timer->m_rdf_type = RDF_Type::int32_t; - n_airdrown_timer->m_node_type = NodeType::Simple; - n_airdrown_timer->m_address = base + offset; - n_airdrown_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_airdrown_timer); - - field_name = "name"; - auto n_name = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_critter, field_name)); - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::language_name; - n_name->m_rdf_type = RDF_Type::Struct; - n_name->m_node_type = NodeType::Compound; - n_name->m_address = base + offset; - n_name->m_defined_in = "df.language.xml"; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - -} -void node_from_item_verminst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_critter; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_critter(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_item_petst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::item_critter; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_item_critter(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "owner_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_petst, field_name)); - auto n_owner_id = new NodeSimple; - n_owner_id->m_field_name = field_name; - n_owner_id->m_df_type = DF_Type::int32_t; - n_owner_id->m_rdf_type = RDF_Type::int32_t; - n_owner_id->m_node_type = NodeType::Simple; - n_owner_id->m_address = base + offset; - n_owner_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_owner_id); - - field_name = "pet_flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_petst, field_name)); - auto n_pet_flags = new NodeBitfield; - n_pet_flags->m_field_name = field_name; - n_pet_flags->m_df_type = DF_Type::item_petst__T_pet_flags; - n_pet_flags->m_rdf_type = RDF_Type::Bitfield; - n_pet_flags->m_node_type = NodeType::Bitfield; - n_pet_flags->m_address = base + offset; - n_pet_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pet_flags); - -} -void node_from_language_word_table(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "words"; - auto n_words = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::language_word_table, field_name)); - n_words->m_field_name = field_name; - n_words->m_df_type = DF_Type::int32_t; - n_words->m_rdf_type = RDF_Type::Array; - n_words->m_node_type = NodeType::Array; - n_words->m_addornements = "[6v"; - n_words->m_array_size = 6; - n_words->m_address = base + offset; - n_words->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_words); - - field_name = "parts"; - auto n_parts = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::language_word_table, field_name)); - n_parts->m_field_name = field_name; - n_parts->m_df_type = DF_Type::part_of_speech; - n_parts->m_rdf_type = RDF_Type::Array; - n_parts->m_node_type = NodeType::Array; - n_parts->m_enum_base = DF_Type::int32_t; - n_parts->m_defined_in = "df.language.xml"; - n_parts->m_addornements = "[6v"; - n_parts->m_array_size = 6; - n_parts->m_address = base + offset; - n_parts->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_parts); - -} -void node_from_entity_raw__T_equipment(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "digger_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); - auto n_digger_id = new NodeVector; - n_digger_id->m_field_name = field_name; - n_digger_id->m_df_type = DF_Type::int16_t; - n_digger_id->m_rdf_type = RDF_Type::Vector; - n_digger_id->m_node_type = NodeType::Vector; - n_digger_id->m_addornements = "v"; - n_digger_id->m_address = base + offset; - n_digger_id->m_parent = p_node_parent; - n_digger_id->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_digger_id); - - field_name = "weapon_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); - auto n_weapon_id = new NodeVector; - n_weapon_id->m_field_name = field_name; - n_weapon_id->m_df_type = DF_Type::int16_t; - n_weapon_id->m_rdf_type = RDF_Type::Vector; - n_weapon_id->m_node_type = NodeType::Vector; - n_weapon_id->m_addornements = "v"; - n_weapon_id->m_address = base + offset; - n_weapon_id->m_parent = p_node_parent; - n_weapon_id->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_weapon_id); - - field_name = "armor_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); - auto n_armor_id = new NodeVector; - n_armor_id->m_field_name = field_name; - n_armor_id->m_df_type = DF_Type::int16_t; - n_armor_id->m_rdf_type = RDF_Type::Vector; - n_armor_id->m_node_type = NodeType::Vector; - n_armor_id->m_addornements = "v"; - n_armor_id->m_address = base + offset; - n_armor_id->m_parent = p_node_parent; - n_armor_id->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_armor_id); - - field_name = "ammo_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); - auto n_ammo_id = new NodeVector; - n_ammo_id->m_field_name = field_name; - n_ammo_id->m_df_type = DF_Type::int16_t; - n_ammo_id->m_rdf_type = RDF_Type::Vector; - n_ammo_id->m_node_type = NodeType::Vector; - n_ammo_id->m_addornements = "v"; - n_ammo_id->m_address = base + offset; - n_ammo_id->m_parent = p_node_parent; - n_ammo_id->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_ammo_id); - - field_name = "helm_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); - auto n_helm_id = new NodeVector; - n_helm_id->m_field_name = field_name; - n_helm_id->m_df_type = DF_Type::int16_t; - n_helm_id->m_rdf_type = RDF_Type::Vector; - n_helm_id->m_node_type = NodeType::Vector; - n_helm_id->m_addornements = "v"; - n_helm_id->m_address = base + offset; - n_helm_id->m_parent = p_node_parent; - n_helm_id->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_helm_id); - - field_name = "gloves_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); - auto n_gloves_id = new NodeVector; - n_gloves_id->m_field_name = field_name; - n_gloves_id->m_df_type = DF_Type::int16_t; - n_gloves_id->m_rdf_type = RDF_Type::Vector; - n_gloves_id->m_node_type = NodeType::Vector; - n_gloves_id->m_addornements = "v"; - n_gloves_id->m_address = base + offset; - n_gloves_id->m_parent = p_node_parent; - n_gloves_id->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_gloves_id); - - field_name = "shoes_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); - auto n_shoes_id = new NodeVector; - n_shoes_id->m_field_name = field_name; - n_shoes_id->m_df_type = DF_Type::int16_t; - n_shoes_id->m_rdf_type = RDF_Type::Vector; - n_shoes_id->m_node_type = NodeType::Vector; - n_shoes_id->m_addornements = "v"; - n_shoes_id->m_address = base + offset; - n_shoes_id->m_parent = p_node_parent; - n_shoes_id->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_shoes_id); - - field_name = "pants_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); - auto n_pants_id = new NodeVector; - n_pants_id->m_field_name = field_name; - n_pants_id->m_df_type = DF_Type::int16_t; - n_pants_id->m_rdf_type = RDF_Type::Vector; - n_pants_id->m_node_type = NodeType::Vector; - n_pants_id->m_addornements = "v"; - n_pants_id->m_address = base + offset; - n_pants_id->m_parent = p_node_parent; - n_pants_id->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_pants_id); - - field_name = "shield_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); - auto n_shield_id = new NodeVector; - n_shield_id->m_field_name = field_name; - n_shield_id->m_df_type = DF_Type::int16_t; - n_shield_id->m_rdf_type = RDF_Type::Vector; - n_shield_id->m_node_type = NodeType::Vector; - n_shield_id->m_addornements = "v"; - n_shield_id->m_address = base + offset; - n_shield_id->m_parent = p_node_parent; - n_shield_id->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_shield_id); - - field_name = "trapcomp_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); - auto n_trapcomp_id = new NodeVector; - n_trapcomp_id->m_field_name = field_name; - n_trapcomp_id->m_df_type = DF_Type::int16_t; - n_trapcomp_id->m_rdf_type = RDF_Type::Vector; - n_trapcomp_id->m_node_type = NodeType::Vector; - n_trapcomp_id->m_addornements = "v"; - n_trapcomp_id->m_address = base + offset; - n_trapcomp_id->m_parent = p_node_parent; - n_trapcomp_id->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_trapcomp_id); - - field_name = "toy_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); - auto n_toy_id = new NodeVector; - n_toy_id->m_field_name = field_name; - n_toy_id->m_df_type = DF_Type::int16_t; - n_toy_id->m_rdf_type = RDF_Type::Vector; - n_toy_id->m_node_type = NodeType::Vector; - n_toy_id->m_addornements = "v"; - n_toy_id->m_address = base + offset; - n_toy_id->m_parent = p_node_parent; - n_toy_id->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_toy_id); - - field_name = "instrument_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); - auto n_instrument_id = new NodeVector; - n_instrument_id->m_field_name = field_name; - n_instrument_id->m_df_type = DF_Type::int16_t; - n_instrument_id->m_rdf_type = RDF_Type::Vector; - n_instrument_id->m_node_type = NodeType::Vector; - n_instrument_id->m_addornements = "v"; - n_instrument_id->m_address = base + offset; - n_instrument_id->m_parent = p_node_parent; - n_instrument_id->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_instrument_id); - - field_name = "tool_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); - auto n_tool_id = new NodeVector; - n_tool_id->m_field_name = field_name; - n_tool_id->m_df_type = DF_Type::int16_t; - n_tool_id->m_rdf_type = RDF_Type::Vector; - n_tool_id->m_node_type = NodeType::Vector; - n_tool_id->m_addornements = "v"; - n_tool_id->m_address = base + offset; - n_tool_id->m_parent = p_node_parent; - n_tool_id->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_tool_id); - - field_name = "siegeammo_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); - auto n_siegeammo_id = new NodeVector; - n_siegeammo_id->m_field_name = field_name; - n_siegeammo_id->m_df_type = DF_Type::int16_t; - n_siegeammo_id->m_rdf_type = RDF_Type::Vector; - n_siegeammo_id->m_node_type = NodeType::Vector; - n_siegeammo_id->m_addornements = "v"; - n_siegeammo_id->m_address = base + offset; - n_siegeammo_id->m_parent = p_node_parent; - n_siegeammo_id->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_siegeammo_id); - - field_name = "armor_rarity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); - auto n_armor_rarity = new NodeVector; - n_armor_rarity->m_field_name = field_name; - n_armor_rarity->m_df_type = DF_Type::int8_t; - n_armor_rarity->m_rdf_type = RDF_Type::Vector; - n_armor_rarity->m_node_type = NodeType::Vector; - n_armor_rarity->m_addornements = "v"; - n_armor_rarity->m_address = base + offset; - n_armor_rarity->m_parent = p_node_parent; - n_armor_rarity->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_armor_rarity); - - field_name = "helm_rarity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); - auto n_helm_rarity = new NodeVector; - n_helm_rarity->m_field_name = field_name; - n_helm_rarity->m_df_type = DF_Type::int8_t; - n_helm_rarity->m_rdf_type = RDF_Type::Vector; - n_helm_rarity->m_node_type = NodeType::Vector; - n_helm_rarity->m_addornements = "v"; - n_helm_rarity->m_address = base + offset; - n_helm_rarity->m_parent = p_node_parent; - n_helm_rarity->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_helm_rarity); - - field_name = "gloves_rarity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); - auto n_gloves_rarity = new NodeVector; - n_gloves_rarity->m_field_name = field_name; - n_gloves_rarity->m_df_type = DF_Type::int8_t; - n_gloves_rarity->m_rdf_type = RDF_Type::Vector; - n_gloves_rarity->m_node_type = NodeType::Vector; - n_gloves_rarity->m_addornements = "v"; - n_gloves_rarity->m_address = base + offset; - n_gloves_rarity->m_parent = p_node_parent; - n_gloves_rarity->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_gloves_rarity); - - field_name = "shoes_rarity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); - auto n_shoes_rarity = new NodeVector; - n_shoes_rarity->m_field_name = field_name; - n_shoes_rarity->m_df_type = DF_Type::int8_t; - n_shoes_rarity->m_rdf_type = RDF_Type::Vector; - n_shoes_rarity->m_node_type = NodeType::Vector; - n_shoes_rarity->m_addornements = "v"; - n_shoes_rarity->m_address = base + offset; - n_shoes_rarity->m_parent = p_node_parent; - n_shoes_rarity->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_shoes_rarity); - - field_name = "pants_rarity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); - auto n_pants_rarity = new NodeVector; - n_pants_rarity->m_field_name = field_name; - n_pants_rarity->m_df_type = DF_Type::int8_t; - n_pants_rarity->m_rdf_type = RDF_Type::Vector; - n_pants_rarity->m_node_type = NodeType::Vector; - n_pants_rarity->m_addornements = "v"; - n_pants_rarity->m_address = base + offset; - n_pants_rarity->m_parent = p_node_parent; - n_pants_rarity->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_pants_rarity); - - field_name = "digger_str"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); - auto n_digger_str = new NodeVector; - n_digger_str->m_field_name = field_name; - n_digger_str->m_df_type = DF_Type::Stl_string; - n_digger_str->m_rdf_type = RDF_Type::Vector; - n_digger_str->m_node_type = NodeType::Vector; - n_digger_str->m_addornements = "v*"; - n_digger_str->m_address = base + offset; - n_digger_str->m_parent = p_node_parent; - n_digger_str->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_digger_str); - - field_name = "weapon_str"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); - auto n_weapon_str = new NodeVector; - n_weapon_str->m_field_name = field_name; - n_weapon_str->m_df_type = DF_Type::Stl_string; - n_weapon_str->m_rdf_type = RDF_Type::Vector; - n_weapon_str->m_node_type = NodeType::Vector; - n_weapon_str->m_addornements = "v*"; - n_weapon_str->m_address = base + offset; - n_weapon_str->m_parent = p_node_parent; - n_weapon_str->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_weapon_str); - - field_name = "armor_str"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); - auto n_armor_str = new NodeVector; - n_armor_str->m_field_name = field_name; - n_armor_str->m_df_type = DF_Type::Stl_string; - n_armor_str->m_rdf_type = RDF_Type::Vector; - n_armor_str->m_node_type = NodeType::Vector; - n_armor_str->m_addornements = "v*"; - n_armor_str->m_address = base + offset; - n_armor_str->m_parent = p_node_parent; - n_armor_str->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_armor_str); - - field_name = "ammo_str"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); - auto n_ammo_str = new NodeVector; - n_ammo_str->m_field_name = field_name; - n_ammo_str->m_df_type = DF_Type::Stl_string; - n_ammo_str->m_rdf_type = RDF_Type::Vector; - n_ammo_str->m_node_type = NodeType::Vector; - n_ammo_str->m_addornements = "v*"; - n_ammo_str->m_address = base + offset; - n_ammo_str->m_parent = p_node_parent; - n_ammo_str->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_ammo_str); - - field_name = "helm_str"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); - auto n_helm_str = new NodeVector; - n_helm_str->m_field_name = field_name; - n_helm_str->m_df_type = DF_Type::Stl_string; - n_helm_str->m_rdf_type = RDF_Type::Vector; - n_helm_str->m_node_type = NodeType::Vector; - n_helm_str->m_addornements = "v*"; - n_helm_str->m_address = base + offset; - n_helm_str->m_parent = p_node_parent; - n_helm_str->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_helm_str); - - field_name = "gloves_str"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); - auto n_gloves_str = new NodeVector; - n_gloves_str->m_field_name = field_name; - n_gloves_str->m_df_type = DF_Type::Stl_string; - n_gloves_str->m_rdf_type = RDF_Type::Vector; - n_gloves_str->m_node_type = NodeType::Vector; - n_gloves_str->m_addornements = "v*"; - n_gloves_str->m_address = base + offset; - n_gloves_str->m_parent = p_node_parent; - n_gloves_str->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_gloves_str); - - field_name = "shoes_str"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); - auto n_shoes_str = new NodeVector; - n_shoes_str->m_field_name = field_name; - n_shoes_str->m_df_type = DF_Type::Stl_string; - n_shoes_str->m_rdf_type = RDF_Type::Vector; - n_shoes_str->m_node_type = NodeType::Vector; - n_shoes_str->m_addornements = "v*"; - n_shoes_str->m_address = base + offset; - n_shoes_str->m_parent = p_node_parent; - n_shoes_str->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_shoes_str); - - field_name = "pants_str"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); - auto n_pants_str = new NodeVector; - n_pants_str->m_field_name = field_name; - n_pants_str->m_df_type = DF_Type::Stl_string; - n_pants_str->m_rdf_type = RDF_Type::Vector; - n_pants_str->m_node_type = NodeType::Vector; - n_pants_str->m_addornements = "v*"; - n_pants_str->m_address = base + offset; - n_pants_str->m_parent = p_node_parent; - n_pants_str->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_pants_str); - - field_name = "shield_str"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); - auto n_shield_str = new NodeVector; - n_shield_str->m_field_name = field_name; - n_shield_str->m_df_type = DF_Type::Stl_string; - n_shield_str->m_rdf_type = RDF_Type::Vector; - n_shield_str->m_node_type = NodeType::Vector; - n_shield_str->m_addornements = "v*"; - n_shield_str->m_address = base + offset; - n_shield_str->m_parent = p_node_parent; - n_shield_str->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_shield_str); - - field_name = "trapcomp_str"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); - auto n_trapcomp_str = new NodeVector; - n_trapcomp_str->m_field_name = field_name; - n_trapcomp_str->m_df_type = DF_Type::Stl_string; - n_trapcomp_str->m_rdf_type = RDF_Type::Vector; - n_trapcomp_str->m_node_type = NodeType::Vector; - n_trapcomp_str->m_addornements = "v*"; - n_trapcomp_str->m_address = base + offset; - n_trapcomp_str->m_parent = p_node_parent; - n_trapcomp_str->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_trapcomp_str); - - field_name = "toy_str"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); - auto n_toy_str = new NodeVector; - n_toy_str->m_field_name = field_name; - n_toy_str->m_df_type = DF_Type::Stl_string; - n_toy_str->m_rdf_type = RDF_Type::Vector; - n_toy_str->m_node_type = NodeType::Vector; - n_toy_str->m_addornements = "v*"; - n_toy_str->m_address = base + offset; - n_toy_str->m_parent = p_node_parent; - n_toy_str->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_toy_str); - - field_name = "instrument_str"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); - auto n_instrument_str = new NodeVector; - n_instrument_str->m_field_name = field_name; - n_instrument_str->m_df_type = DF_Type::Stl_string; - n_instrument_str->m_rdf_type = RDF_Type::Vector; - n_instrument_str->m_node_type = NodeType::Vector; - n_instrument_str->m_addornements = "v*"; - n_instrument_str->m_address = base + offset; - n_instrument_str->m_parent = p_node_parent; - n_instrument_str->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_instrument_str); - - field_name = "siegeammo_str"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); - auto n_siegeammo_str = new NodeVector; - n_siegeammo_str->m_field_name = field_name; - n_siegeammo_str->m_df_type = DF_Type::Stl_string; - n_siegeammo_str->m_rdf_type = RDF_Type::Vector; - n_siegeammo_str->m_node_type = NodeType::Vector; - n_siegeammo_str->m_addornements = "v*"; - n_siegeammo_str->m_address = base + offset; - n_siegeammo_str->m_parent = p_node_parent; - n_siegeammo_str->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_siegeammo_str); - - field_name = "tool_str"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); - auto n_tool_str = new NodeVector; - n_tool_str->m_field_name = field_name; - n_tool_str->m_df_type = DF_Type::Stl_string; - n_tool_str->m_rdf_type = RDF_Type::Vector; - n_tool_str->m_node_type = NodeType::Vector; - n_tool_str->m_addornements = "v*"; - n_tool_str->m_address = base + offset; - n_tool_str->m_parent = p_node_parent; - n_tool_str->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_tool_str); - -} -void node_from_entity_raw__T_symbols(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "symbols1"; - auto n_symbols1 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_symbols, field_name)); - n_symbols1->m_field_name = field_name; - n_symbols1->m_df_type = DF_Type::language_word_table; - n_symbols1->m_rdf_type = RDF_Type::Array; - n_symbols1->m_node_type = NodeType::Array; - n_symbols1->m_index_enum = DF_Type::entity_name_type; - n_symbols1->m_defined_in = "df.language.xml"; - n_symbols1->m_addornements = "[16"; - n_symbols1->m_array_size = 16; - n_symbols1->m_address = base + offset; - n_symbols1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_symbols1); - - field_name = "symbols2"; - auto n_symbols2 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_symbols, field_name)); - n_symbols2->m_field_name = field_name; - n_symbols2->m_df_type = DF_Type::language_word_table; - n_symbols2->m_rdf_type = RDF_Type::Array; - n_symbols2->m_node_type = NodeType::Array; - n_symbols2->m_index_enum = DF_Type::entity_name_type; - n_symbols2->m_defined_in = "df.language.xml"; - n_symbols2->m_addornements = "[16"; - n_symbols2->m_array_size = 16; - n_symbols2->m_address = base + offset; - n_symbols2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_symbols2); - - field_name = "select_symbol"; - auto n_select_symbol = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_symbols, field_name)); - n_select_symbol->m_field_name = field_name; - n_select_symbol->m_df_type = DF_Type::Stl_string; - n_select_symbol->m_rdf_type = RDF_Type::Array; - n_select_symbol->m_node_type = NodeType::Array; - n_select_symbol->m_index_enum = DF_Type::entity_name_type; - n_select_symbol->m_addornements = "[16v*"; - n_select_symbol->m_array_size = 16; - n_select_symbol->m_address = base + offset; - n_select_symbol->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_select_symbol); - - field_name = "subselect_symbol"; - auto n_subselect_symbol = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_symbols, field_name)); - n_subselect_symbol->m_field_name = field_name; - n_subselect_symbol->m_df_type = DF_Type::Stl_string; - n_subselect_symbol->m_rdf_type = RDF_Type::Array; - n_subselect_symbol->m_node_type = NodeType::Array; - n_subselect_symbol->m_index_enum = DF_Type::entity_name_type; - n_subselect_symbol->m_addornements = "[16v*"; - n_subselect_symbol->m_array_size = 16; - n_subselect_symbol->m_address = base + offset; - n_subselect_symbol->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_subselect_symbol); - - field_name = "cull_symbol"; - auto n_cull_symbol = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_symbols, field_name)); - n_cull_symbol->m_field_name = field_name; - n_cull_symbol->m_df_type = DF_Type::Stl_string; - n_cull_symbol->m_rdf_type = RDF_Type::Array; - n_cull_symbol->m_node_type = NodeType::Array; - n_cull_symbol->m_index_enum = DF_Type::entity_name_type; - n_cull_symbol->m_addornements = "[16v*"; - n_cull_symbol->m_array_size = 16; - n_cull_symbol->m_address = base + offset; - n_cull_symbol->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cull_symbol); - -} -void node_from_entity_raw__T_progress_trigger(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "population"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_progress_trigger, field_name)); - auto n_population = new NodeSimple; - n_population->m_field_name = field_name; - n_population->m_df_type = DF_Type::int16_t; - n_population->m_rdf_type = RDF_Type::int16_t; - n_population->m_node_type = NodeType::Simple; - n_population->m_address = base + offset; - n_population->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_population); - - field_name = "production"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_progress_trigger, field_name)); - auto n_production = new NodeSimple; - n_production->m_field_name = field_name; - n_production->m_df_type = DF_Type::int16_t; - n_production->m_rdf_type = RDF_Type::int16_t; - n_production->m_node_type = NodeType::Simple; - n_production->m_address = base + offset; - n_production->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_production); - - field_name = "trade"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_progress_trigger, field_name)); - auto n_trade = new NodeSimple; - n_trade->m_field_name = field_name; - n_trade->m_df_type = DF_Type::int16_t; - n_trade->m_rdf_type = RDF_Type::int16_t; - n_trade->m_node_type = NodeType::Simple; - n_trade->m_address = base + offset; - n_trade->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_trade); - - field_name = "pop_siege"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_progress_trigger, field_name)); - auto n_pop_siege = new NodeSimple; - n_pop_siege->m_field_name = field_name; - n_pop_siege->m_df_type = DF_Type::int16_t; - n_pop_siege->m_rdf_type = RDF_Type::int16_t; - n_pop_siege->m_node_type = NodeType::Simple; - n_pop_siege->m_address = base + offset; - n_pop_siege->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pop_siege); - - field_name = "prod_siege"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_progress_trigger, field_name)); - auto n_prod_siege = new NodeSimple; - n_prod_siege->m_field_name = field_name; - n_prod_siege->m_df_type = DF_Type::int16_t; - n_prod_siege->m_rdf_type = RDF_Type::int16_t; - n_prod_siege->m_node_type = NodeType::Simple; - n_prod_siege->m_address = base + offset; - n_prod_siege->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_prod_siege); - - field_name = "trade_siege"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_progress_trigger, field_name)); - auto n_trade_siege = new NodeSimple; - n_trade_siege->m_field_name = field_name; - n_trade_siege->m_df_type = DF_Type::int16_t; - n_trade_siege->m_rdf_type = RDF_Type::int16_t; - n_trade_siege->m_node_type = NodeType::Simple; - n_trade_siege->m_address = base + offset; - n_trade_siege->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_trade_siege); - -} -void node_from_entity_raw__T_jobs(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "permitted_job"; - auto n_permitted_job = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_jobs, field_name)); - n_permitted_job->m_field_name = field_name; - n_permitted_job->m_df_type = DF_Type::Bool; - n_permitted_job->m_rdf_type = RDF_Type::Array; - n_permitted_job->m_node_type = NodeType::Array; - n_permitted_job->m_index_enum = DF_Type::profession; - n_permitted_job->m_addornements = "[135"; - n_permitted_job->m_array_size = 135; - n_permitted_job->m_address = base + offset; - n_permitted_job->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_permitted_job); - - field_name = "permitted_labor"; - auto n_permitted_labor = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_jobs, field_name)); - n_permitted_labor->m_field_name = field_name; - n_permitted_labor->m_df_type = DF_Type::Bool; - n_permitted_labor->m_rdf_type = RDF_Type::Array; - n_permitted_labor->m_node_type = NodeType::Array; - n_permitted_labor->m_index_enum = DF_Type::unit_labor; - n_permitted_labor->m_addornements = "[94"; - n_permitted_labor->m_array_size = 94; - n_permitted_labor->m_address = base + offset; - n_permitted_labor->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_permitted_labor); - - field_name = "world_construction"; - auto n_world_construction = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_jobs, field_name)); - n_world_construction->m_field_name = field_name; - n_world_construction->m_df_type = DF_Type::Bool; - n_world_construction->m_rdf_type = RDF_Type::Array; - n_world_construction->m_node_type = NodeType::Array; - n_world_construction->m_index_enum = DF_Type::world_construction_type; - n_world_construction->m_addornements = "[4"; - n_world_construction->m_array_size = 4; - n_world_construction->m_address = base + offset; - n_world_construction->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_world_construction); - -} -void node_from_entity_raw__T_tissue_styles(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_tissue_styles, field_name)); - auto n_name = new NodeSimple; - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Stl_string; - n_name->m_node_type = NodeType::Simple; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "preferred_shapings"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_tissue_styles, field_name)); - auto n_preferred_shapings = new NodeVector; - n_preferred_shapings->m_field_name = field_name; - n_preferred_shapings->m_df_type = DF_Type::int16_t; - n_preferred_shapings->m_rdf_type = RDF_Type::Vector; - n_preferred_shapings->m_node_type = NodeType::Vector; - n_preferred_shapings->m_addornements = "v"; - n_preferred_shapings->m_address = base + offset; - n_preferred_shapings->m_parent = p_node_parent; - n_preferred_shapings->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_preferred_shapings); - - field_name = "maintain_length_min"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_tissue_styles, field_name)); - auto n_maintain_length_min = new NodeSimple; - n_maintain_length_min->m_field_name = field_name; - n_maintain_length_min->m_df_type = DF_Type::int32_t; - n_maintain_length_min->m_rdf_type = RDF_Type::int32_t; - n_maintain_length_min->m_node_type = NodeType::Simple; - n_maintain_length_min->m_address = base + offset; - n_maintain_length_min->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_maintain_length_min); - - field_name = "maintain_length_max"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_tissue_styles, field_name)); - auto n_maintain_length_max = new NodeSimple; - n_maintain_length_max->m_field_name = field_name; - n_maintain_length_max->m_df_type = DF_Type::int32_t; - n_maintain_length_max->m_rdf_type = RDF_Type::int32_t; - n_maintain_length_max->m_node_type = NodeType::Simple; - n_maintain_length_max->m_address = base + offset; - n_maintain_length_max->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_maintain_length_max); - -} -void node_from_entity_raw__T_workshops(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "permitted_building_str"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_workshops, field_name)); - auto n_permitted_building_str = new NodeVector; - n_permitted_building_str->m_field_name = field_name; - n_permitted_building_str->m_df_type = DF_Type::Stl_string; - n_permitted_building_str->m_rdf_type = RDF_Type::Vector; - n_permitted_building_str->m_node_type = NodeType::Vector; - n_permitted_building_str->m_addornements = "v*"; - n_permitted_building_str->m_address = base + offset; - n_permitted_building_str->m_parent = p_node_parent; - n_permitted_building_str->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_permitted_building_str); - - field_name = "permitted_building_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_workshops, field_name)); - auto n_permitted_building_id = new NodeVector; - n_permitted_building_id->m_field_name = field_name; - n_permitted_building_id->m_df_type = DF_Type::int32_t; - n_permitted_building_id->m_rdf_type = RDF_Type::Vector; - n_permitted_building_id->m_node_type = NodeType::Vector; - n_permitted_building_id->m_addornements = "v"; - n_permitted_building_id->m_address = base + offset; - n_permitted_building_id->m_parent = p_node_parent; - n_permitted_building_id->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_permitted_building_id); - - field_name = "permitted_reaction_str"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_workshops, field_name)); - auto n_permitted_reaction_str = new NodeVector; - n_permitted_reaction_str->m_field_name = field_name; - n_permitted_reaction_str->m_df_type = DF_Type::Stl_string; - n_permitted_reaction_str->m_rdf_type = RDF_Type::Vector; - n_permitted_reaction_str->m_node_type = NodeType::Vector; - n_permitted_reaction_str->m_addornements = "v*"; - n_permitted_reaction_str->m_address = base + offset; - n_permitted_reaction_str->m_parent = p_node_parent; - n_permitted_reaction_str->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_permitted_reaction_str); - - field_name = "permitted_reaction_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_workshops, field_name)); - auto n_permitted_reaction_id = new NodeVector; - n_permitted_reaction_id->m_field_name = field_name; - n_permitted_reaction_id->m_df_type = DF_Type::int32_t; - n_permitted_reaction_id->m_rdf_type = RDF_Type::Vector; - n_permitted_reaction_id->m_node_type = NodeType::Vector; - n_permitted_reaction_id->m_addornements = "v"; - n_permitted_reaction_id->m_address = base + offset; - n_permitted_reaction_id->m_parent = p_node_parent; - n_permitted_reaction_id->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_permitted_reaction_id); - -} -void node_from_entity_raw__T_land_holder_trigger(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "num"; - auto n_num = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_land_holder_trigger, field_name)); - n_num->m_field_name = field_name; - n_num->m_df_type = DF_Type::int32_t; - n_num->m_rdf_type = RDF_Type::Array; - n_num->m_node_type = NodeType::Array; - n_num->m_addornements = "[10"; - n_num->m_array_size = 10; - n_num->m_address = base + offset; - n_num->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_num); - - field_name = "population"; - auto n_population = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_land_holder_trigger, field_name)); - n_population->m_field_name = field_name; - n_population->m_df_type = DF_Type::int32_t; - n_population->m_rdf_type = RDF_Type::Array; - n_population->m_node_type = NodeType::Array; - n_population->m_addornements = "[10"; - n_population->m_array_size = 10; - n_population->m_address = base + offset; - n_population->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_population); - - field_name = "wealth"; - auto n_wealth = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_land_holder_trigger, field_name)); - n_wealth->m_field_name = field_name; - n_wealth->m_df_type = DF_Type::int32_t; - n_wealth->m_rdf_type = RDF_Type::Array; - n_wealth->m_node_type = NodeType::Array; - n_wealth->m_addornements = "[10"; - n_wealth->m_array_size = 10; - n_wealth->m_address = base + offset; - n_wealth->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_wealth); - -} -void node_from_entity_raw(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "code"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); - auto n_code = new NodeSimple; - n_code->m_field_name = field_name; - n_code->m_df_type = DF_Type::Stl_string; - n_code->m_rdf_type = RDF_Type::Stl_string; - n_code->m_node_type = NodeType::Simple; - n_code->m_address = base + offset; - n_code->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_code); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); - auto n_anon_2 = new NodeVector; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::Void; - n_anon_2->m_rdf_type = RDF_Type::Vector; - n_anon_2->m_node_type = NodeType::Vector; - n_anon_2->m_addornements = "v"; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - n_anon_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "creature_ids"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); - auto n_creature_ids = new NodeVector; - n_creature_ids->m_field_name = field_name; - n_creature_ids->m_df_type = DF_Type::int16_t; - n_creature_ids->m_rdf_type = RDF_Type::Vector; - n_creature_ids->m_node_type = NodeType::Vector; - n_creature_ids->m_addornements = "v"; - n_creature_ids->m_address = base + offset; - n_creature_ids->m_parent = p_node_parent; - n_creature_ids->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_creature_ids); - - field_name = "creatures"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); - auto n_creatures = new NodeVector; - n_creatures->m_field_name = field_name; - n_creatures->m_df_type = DF_Type::Stl_string; - n_creatures->m_rdf_type = RDF_Type::Vector; - n_creatures->m_node_type = NodeType::Vector; - n_creatures->m_addornements = "v*"; - n_creatures->m_address = base + offset; - n_creatures->m_parent = p_node_parent; - n_creatures->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_creatures); - - field_name = "equipment"; - auto n_equipment = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); - n_equipment->m_field_name = field_name; - n_equipment->m_df_type = DF_Type::entity_raw__T_equipment; - n_equipment->m_rdf_type = RDF_Type::Compound; - n_equipment->m_node_type = NodeType::Compound; - n_equipment->m_address = base + offset; - n_equipment->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_equipment); - - field_name = "currency_value"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); - auto n_currency_value = new NodeVector; - n_currency_value->m_field_name = field_name; - n_currency_value->m_df_type = DF_Type::int32_t; - n_currency_value->m_rdf_type = RDF_Type::Vector; - n_currency_value->m_node_type = NodeType::Vector; - n_currency_value->m_addornements = "v"; - n_currency_value->m_address = base + offset; - n_currency_value->m_refers_to = "(material-by-id 0 $)"; - n_currency_value->m_parent = p_node_parent; - n_currency_value->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_currency_value); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); - auto n_flags = new NodeDFFlagArray; - n_flags->m_field_name = field_name; - n_flags->m_index_enum = DF_Type::entity_raw_flags; - n_flags->m_df_type = DF_Type::entity_raw_flags; - n_flags->m_size = 74; - n_flags->m_rdf_type = RDF_Type::DFFlagArray; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_defined_in = "df.entity-raws.xml"; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "translation"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); - auto n_translation = new NodeSimple; - n_translation->m_field_name = field_name; - n_translation->m_df_type = DF_Type::Stl_string; - n_translation->m_rdf_type = RDF_Type::Stl_string; - n_translation->m_node_type = NodeType::Simple; - n_translation->m_address = base + offset; - n_translation->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_translation); - - field_name = "symbols"; - auto n_symbols = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); - n_symbols->m_field_name = field_name; - n_symbols->m_df_type = DF_Type::entity_raw__T_symbols; - n_symbols->m_rdf_type = RDF_Type::Compound; - n_symbols->m_node_type = NodeType::Compound; - n_symbols->m_address = base + offset; - n_symbols->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_symbols); - - field_name = "sphere_alignment"; - auto n_sphere_alignment = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); - n_sphere_alignment->m_field_name = field_name; - n_sphere_alignment->m_df_type = DF_Type::int32_t; - n_sphere_alignment->m_rdf_type = RDF_Type::Array; - n_sphere_alignment->m_node_type = NodeType::Array; - n_sphere_alignment->m_index_enum = DF_Type::sphere_type; - n_sphere_alignment->m_addornements = "[130"; - n_sphere_alignment->m_array_size = 130; - n_sphere_alignment->m_address = base + offset; - n_sphere_alignment->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sphere_alignment); - - field_name = "art_facet_modifier"; - auto n_art_facet_modifier = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); - n_art_facet_modifier->m_field_name = field_name; - n_art_facet_modifier->m_df_type = DF_Type::int32_t; - n_art_facet_modifier->m_rdf_type = RDF_Type::Array; - n_art_facet_modifier->m_node_type = NodeType::Array; - n_art_facet_modifier->m_index_enum = DF_Type::art_facet_type; - n_art_facet_modifier->m_addornements = "[4"; - n_art_facet_modifier->m_array_size = 4; - n_art_facet_modifier->m_address = base + offset; - n_art_facet_modifier->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_art_facet_modifier); - - field_name = "art_image_element_modifier"; - auto n_art_image_element_modifier = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); - n_art_image_element_modifier->m_field_name = field_name; - n_art_image_element_modifier->m_df_type = DF_Type::int32_t; - n_art_image_element_modifier->m_rdf_type = RDF_Type::Array; - n_art_image_element_modifier->m_node_type = NodeType::Array; - n_art_image_element_modifier->m_index_enum = DF_Type::art_image_element_type; - n_art_image_element_modifier->m_addornements = "[5"; - n_art_image_element_modifier->m_array_size = 5; - n_art_image_element_modifier->m_address = base + offset; - n_art_image_element_modifier->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_art_image_element_modifier); - - field_name = "item_improvement_modifier"; - auto n_item_improvement_modifier = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); - n_item_improvement_modifier->m_field_name = field_name; - n_item_improvement_modifier->m_df_type = DF_Type::int32_t; - n_item_improvement_modifier->m_rdf_type = RDF_Type::Array; - n_item_improvement_modifier->m_node_type = NodeType::Array; - n_item_improvement_modifier->m_index_enum = DF_Type::improvement_type; - n_item_improvement_modifier->m_addornements = "[13"; - n_item_improvement_modifier->m_array_size = 13; - n_item_improvement_modifier->m_address = base + offset; - n_item_improvement_modifier->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_improvement_modifier); - - field_name = "friendly_color"; - auto n_friendly_color = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); - n_friendly_color->m_field_name = field_name; - n_friendly_color->m_df_type = DF_Type::int16_t; - n_friendly_color->m_rdf_type = RDF_Type::Array; - n_friendly_color->m_node_type = NodeType::Array; - n_friendly_color->m_addornements = "[3"; - n_friendly_color->m_array_size = 3; - n_friendly_color->m_address = base + offset; - n_friendly_color->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_friendly_color); - - field_name = "default_site_type"; - auto n_default_site_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); - n_default_site_type->m_field_name = field_name; - n_default_site_type->m_df_type = DF_Type::world_site_type; - n_default_site_type->m_rdf_type = RDF_Type::Enum; - n_default_site_type->m_node_type = NodeType::Enum; - n_default_site_type->m_base_type = DF_Type::int32_t; - n_default_site_type->m_enum_type = "world_site_type"; - n_default_site_type->m_address = base + offset; - n_default_site_type->m_defined_in = "df.world-site.xml"; - n_default_site_type->m_first_value = 0; - n_default_site_type->m_last_value = 10; - n_default_site_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_default_site_type); - - field_name = "likes_site"; - auto n_likes_site = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); - n_likes_site->m_field_name = field_name; - n_likes_site->m_df_type = DF_Type::int8_t; - n_likes_site->m_rdf_type = RDF_Type::Array; - n_likes_site->m_node_type = NodeType::Array; - n_likes_site->m_index_enum = DF_Type::site_type; - n_likes_site->m_addornements = "[11"; - n_likes_site->m_array_size = 11; - n_likes_site->m_address = base + offset; - n_likes_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_likes_site); - - field_name = "tolerates_site"; - auto n_tolerates_site = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); - n_tolerates_site->m_field_name = field_name; - n_tolerates_site->m_df_type = DF_Type::int8_t; - n_tolerates_site->m_rdf_type = RDF_Type::Array; - n_tolerates_site->m_node_type = NodeType::Array; - n_tolerates_site->m_index_enum = DF_Type::site_type; - n_tolerates_site->m_addornements = "[11"; - n_tolerates_site->m_array_size = 11; - n_tolerates_site->m_address = base + offset; - n_tolerates_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tolerates_site); - - field_name = "biome_support"; - auto n_biome_support = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); - n_biome_support->m_field_name = field_name; - n_biome_support->m_df_type = DF_Type::int32_t; - n_biome_support->m_rdf_type = RDF_Type::Array; - n_biome_support->m_node_type = NodeType::Array; - n_biome_support->m_index_enum = DF_Type::biome_type; - n_biome_support->m_addornements = "[51"; - n_biome_support->m_array_size = 51; - n_biome_support->m_address = base + offset; - n_biome_support->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_biome_support); - - field_name = "start_biome"; - auto n_start_biome = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); - n_start_biome->m_field_name = field_name; - n_start_biome->m_df_type = DF_Type::int8_t; - n_start_biome->m_rdf_type = RDF_Type::Array; - n_start_biome->m_node_type = NodeType::Array; - n_start_biome->m_index_enum = DF_Type::biome_type; - n_start_biome->m_addornements = "[51"; - n_start_biome->m_array_size = 51; - n_start_biome->m_address = base + offset; - n_start_biome->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_start_biome); - - field_name = "settlement_biome"; - auto n_settlement_biome = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); - n_settlement_biome->m_field_name = field_name; - n_settlement_biome->m_df_type = DF_Type::int8_t; - n_settlement_biome->m_rdf_type = RDF_Type::Array; - n_settlement_biome->m_node_type = NodeType::Array; - n_settlement_biome->m_index_enum = DF_Type::biome_type; - n_settlement_biome->m_addornements = "[51"; - n_settlement_biome->m_array_size = 51; - n_settlement_biome->m_address = base + offset; - n_settlement_biome->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_settlement_biome); - - field_name = "active_season"; - auto n_active_season = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); - n_active_season->m_field_name = field_name; - n_active_season->m_df_type = DF_Type::int8_t; - n_active_season->m_rdf_type = RDF_Type::Array; - n_active_season->m_node_type = NodeType::Array; - n_active_season->m_addornements = "[4"; - n_active_season->m_array_size = 4; - n_active_season->m_address = base + offset; - n_active_season->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_active_season); - - field_name = "progress_trigger"; - auto n_progress_trigger = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); - n_progress_trigger->m_field_name = field_name; - n_progress_trigger->m_df_type = DF_Type::entity_raw__T_progress_trigger; - n_progress_trigger->m_rdf_type = RDF_Type::Compound; - n_progress_trigger->m_node_type = NodeType::Compound; - n_progress_trigger->m_address = base + offset; - n_progress_trigger->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_progress_trigger); - - field_name = "ethic"; - auto n_ethic = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); - n_ethic->m_field_name = field_name; - n_ethic->m_df_type = DF_Type::ethic_response; - n_ethic->m_rdf_type = RDF_Type::Array; - n_ethic->m_node_type = NodeType::Array; - n_ethic->m_index_enum = DF_Type::ethic_type; - n_ethic->m_enum_base = DF_Type::int16_t; - n_ethic->m_defined_in = "df.entity-raws.xml"; - n_ethic->m_addornements = "[22"; - n_ethic->m_array_size = 22; - n_ethic->m_address = base + offset; - n_ethic->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ethic); - - field_name = "values"; - auto n_values = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); - n_values->m_field_name = field_name; - n_values->m_df_type = DF_Type::int32_t; - n_values->m_rdf_type = RDF_Type::Array; - n_values->m_node_type = NodeType::Array; - n_values->m_index_enum = DF_Type::value_type; - n_values->m_addornements = "[64"; - n_values->m_array_size = 64; - n_values->m_address = base + offset; - n_values->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_values); - - field_name = "variable_value_min"; - auto n_variable_value_min = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); - n_variable_value_min->m_field_name = field_name; - n_variable_value_min->m_df_type = DF_Type::int32_t; - n_variable_value_min->m_rdf_type = RDF_Type::Array; - n_variable_value_min->m_node_type = NodeType::Array; - n_variable_value_min->m_index_enum = DF_Type::value_type; - n_variable_value_min->m_addornements = "[64"; - n_variable_value_min->m_array_size = 64; - n_variable_value_min->m_address = base + offset; - n_variable_value_min->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_variable_value_min); - - field_name = "variable_value_max"; - auto n_variable_value_max = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); - n_variable_value_max->m_field_name = field_name; - n_variable_value_max->m_df_type = DF_Type::int32_t; - n_variable_value_max->m_rdf_type = RDF_Type::Array; - n_variable_value_max->m_node_type = NodeType::Array; - n_variable_value_max->m_index_enum = DF_Type::value_type; - n_variable_value_max->m_addornements = "[64"; - n_variable_value_max->m_array_size = 64; - n_variable_value_max->m_address = base + offset; - n_variable_value_max->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_variable_value_max); - - field_name = "scholar"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); - auto n_scholar = new NodeBitfield; - n_scholar->m_field_name = field_name; - n_scholar->m_df_type = DF_Type::entity_raw__T_scholar; - n_scholar->m_rdf_type = RDF_Type::Bitfield; - n_scholar->m_node_type = NodeType::Bitfield; - n_scholar->m_address = base + offset; - n_scholar->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_scholar); - - field_name = "max_site_pop_number"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); - auto n_max_site_pop_number = new NodeSimple; - n_max_site_pop_number->m_field_name = field_name; - n_max_site_pop_number->m_df_type = DF_Type::int32_t; - n_max_site_pop_number->m_rdf_type = RDF_Type::int32_t; - n_max_site_pop_number->m_node_type = NodeType::Simple; - n_max_site_pop_number->m_address = base + offset; - n_max_site_pop_number->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_max_site_pop_number); - - field_name = "max_pop_number"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); - auto n_max_pop_number = new NodeSimple; - n_max_pop_number->m_field_name = field_name; - n_max_pop_number->m_df_type = DF_Type::int32_t; - n_max_pop_number->m_rdf_type = RDF_Type::int32_t; - n_max_pop_number->m_node_type = NodeType::Simple; - n_max_pop_number->m_address = base + offset; - n_max_pop_number->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_max_pop_number); - - field_name = "max_starting_civ_number"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); - auto n_max_starting_civ_number = new NodeSimple; - n_max_starting_civ_number->m_field_name = field_name; - n_max_starting_civ_number->m_df_type = DF_Type::int32_t; - n_max_starting_civ_number->m_rdf_type = RDF_Type::int32_t; - n_max_starting_civ_number->m_node_type = NodeType::Simple; - n_max_starting_civ_number->m_address = base + offset; - n_max_starting_civ_number->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_max_starting_civ_number); - - field_name = "religion"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); - auto n_religion = new NodeVector; - n_religion->m_field_name = field_name; - n_religion->m_df_type = DF_Type::int16_t; - n_religion->m_rdf_type = RDF_Type::Vector; - n_religion->m_node_type = NodeType::Vector; - n_religion->m_addornements = "v"; - n_religion->m_address = base + offset; - n_religion->m_parent = p_node_parent; - n_religion->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_religion); - - field_name = "religion_sphere"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); - auto n_religion_sphere = new NodeVector; - n_religion_sphere->m_field_name = field_name; - n_religion_sphere->m_df_type = DF_Type::sphere_type; - n_religion_sphere->m_rdf_type = RDF_Type::Vector; - n_religion_sphere->m_node_type = NodeType::Vector; - n_religion_sphere->m_enum_base = DF_Type::int16_t; - n_religion_sphere->m_defined_in = "df.language.xml"; - n_religion_sphere->m_addornements = "v"; - n_religion_sphere->m_address = base + offset; - n_religion_sphere->m_parent = p_node_parent; - n_religion_sphere->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_religion_sphere); - - field_name = "jobs"; - auto n_jobs = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); - n_jobs->m_field_name = field_name; - n_jobs->m_df_type = DF_Type::entity_raw__T_jobs; - n_jobs->m_rdf_type = RDF_Type::Compound; - n_jobs->m_node_type = NodeType::Compound; - n_jobs->m_address = base + offset; - n_jobs->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_jobs); - - field_name = "positions"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); - auto n_positions = new NodeVector; - n_positions->m_field_name = field_name; - n_positions->m_df_type = DF_Type::entity_position_raw; - n_positions->m_rdf_type = RDF_Type::Vector; - n_positions->m_node_type = NodeType::Vector; - n_positions->m_defined_in = "df.entity-raws.xml"; - n_positions->m_addornements = "v*"; - n_positions->m_address = base + offset; - n_positions->m_parent = p_node_parent; - n_positions->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_positions); - - field_name = "variable_positions"; - auto n_variable_positions = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); - n_variable_positions->m_field_name = field_name; - n_variable_positions->m_df_type = DF_Type::int8_t; - n_variable_positions->m_rdf_type = RDF_Type::Array; - n_variable_positions->m_node_type = NodeType::Array; - n_variable_positions->m_index_enum = DF_Type::entity_position_responsibility; - n_variable_positions->m_addornements = "[25"; - n_variable_positions->m_array_size = 25; - n_variable_positions->m_address = base + offset; - n_variable_positions->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_variable_positions); - - field_name = "site_variable_positions"; - auto n_site_variable_positions = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); - n_site_variable_positions->m_field_name = field_name; - n_site_variable_positions->m_df_type = DF_Type::int8_t; - n_site_variable_positions->m_rdf_type = RDF_Type::Array; - n_site_variable_positions->m_node_type = NodeType::Array; - n_site_variable_positions->m_index_enum = DF_Type::entity_position_responsibility; - n_site_variable_positions->m_addornements = "[25"; - n_site_variable_positions->m_array_size = 25; - n_site_variable_positions->m_address = base + offset; - n_site_variable_positions->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_variable_positions); - - field_name = "tissue_styles"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); - auto n_tissue_styles = new NodeVector; - n_tissue_styles->m_field_name = field_name; - n_tissue_styles->m_df_type = DF_Type::entity_raw__T_tissue_styles; - n_tissue_styles->m_rdf_type = RDF_Type::Vector; - n_tissue_styles->m_node_type = NodeType::Vector; - n_tissue_styles->m_addornements = "v*"; - n_tissue_styles->m_address = base + offset; - n_tissue_styles->m_parent = p_node_parent; - n_tissue_styles->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_tissue_styles); - - field_name = "workshops"; - auto n_workshops = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); - n_workshops->m_field_name = field_name; - n_workshops->m_df_type = DF_Type::entity_raw__T_workshops; - n_workshops->m_rdf_type = RDF_Type::Compound; - n_workshops->m_node_type = NodeType::Compound; - n_workshops->m_address = base + offset; - n_workshops->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_workshops); - - field_name = "land_holder_trigger"; - auto n_land_holder_trigger = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); - n_land_holder_trigger->m_field_name = field_name; - n_land_holder_trigger->m_df_type = DF_Type::entity_raw__T_land_holder_trigger; - n_land_holder_trigger->m_rdf_type = RDF_Type::Compound; - n_land_holder_trigger->m_node_type = NodeType::Compound; - n_land_holder_trigger->m_address = base + offset; - n_land_holder_trigger->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_land_holder_trigger); - - field_name = "banditry"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); - auto n_banditry = new NodeSimple; - n_banditry->m_field_name = field_name; - n_banditry->m_df_type = DF_Type::int32_t; - n_banditry->m_rdf_type = RDF_Type::int32_t; - n_banditry->m_node_type = NodeType::Simple; - n_banditry->m_address = base + offset; - n_banditry->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_banditry); - - field_name = "gem_shapes_str"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); - auto n_gem_shapes_str = new NodeVector; - n_gem_shapes_str->m_field_name = field_name; - n_gem_shapes_str->m_df_type = DF_Type::Stl_string; - n_gem_shapes_str->m_rdf_type = RDF_Type::Vector; - n_gem_shapes_str->m_node_type = NodeType::Vector; - n_gem_shapes_str->m_addornements = "v*"; - n_gem_shapes_str->m_address = base + offset; - n_gem_shapes_str->m_parent = p_node_parent; - n_gem_shapes_str->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_gem_shapes_str); - - field_name = "stone_shapes_str"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); - auto n_stone_shapes_str = new NodeVector; - n_stone_shapes_str->m_field_name = field_name; - n_stone_shapes_str->m_df_type = DF_Type::Stl_string; - n_stone_shapes_str->m_rdf_type = RDF_Type::Vector; - n_stone_shapes_str->m_node_type = NodeType::Vector; - n_stone_shapes_str->m_addornements = "v*"; - n_stone_shapes_str->m_address = base + offset; - n_stone_shapes_str->m_parent = p_node_parent; - n_stone_shapes_str->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_stone_shapes_str); - - field_name = "gem_shapes"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); - auto n_gem_shapes = new NodeVector; - n_gem_shapes->m_field_name = field_name; - n_gem_shapes->m_df_type = DF_Type::int32_t; - n_gem_shapes->m_rdf_type = RDF_Type::Vector; - n_gem_shapes->m_node_type = NodeType::Vector; - n_gem_shapes->m_addornements = "v"; - n_gem_shapes->m_address = base + offset; - n_gem_shapes->m_parent = p_node_parent; - n_gem_shapes->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_gem_shapes); - - field_name = "stone_shapes"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); - auto n_stone_shapes = new NodeVector; - n_stone_shapes->m_field_name = field_name; - n_stone_shapes->m_df_type = DF_Type::int32_t; - n_stone_shapes->m_rdf_type = RDF_Type::Vector; - n_stone_shapes->m_node_type = NodeType::Vector; - n_stone_shapes->m_addornements = "v"; - n_stone_shapes->m_address = base + offset; - n_stone_shapes->m_parent = p_node_parent; - n_stone_shapes->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_stone_shapes); - - field_name = "source_hfid"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); - auto n_source_hfid = new NodeSimple; - n_source_hfid->m_field_name = field_name; - n_source_hfid->m_df_type = DF_Type::int32_t; - n_source_hfid->m_rdf_type = RDF_Type::int32_t; - n_source_hfid->m_node_type = NodeType::Simple; - n_source_hfid->m_address = base + offset; - n_source_hfid->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_source_hfid); - - field_name = "unk_v4201_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); - auto n_unk_v4201_1 = new NodeSimple; - n_unk_v4201_1->m_field_name = field_name; - n_unk_v4201_1->m_df_type = DF_Type::int32_t; - n_unk_v4201_1->m_rdf_type = RDF_Type::int32_t; - n_unk_v4201_1->m_node_type = NodeType::Simple; - n_unk_v4201_1->m_address = base + offset; - n_unk_v4201_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v4201_1); - - field_name = "currency_str1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); - auto n_currency_str1 = new NodeVector; - n_currency_str1->m_field_name = field_name; - n_currency_str1->m_df_type = DF_Type::Stl_string; - n_currency_str1->m_rdf_type = RDF_Type::Vector; - n_currency_str1->m_node_type = NodeType::Vector; - n_currency_str1->m_addornements = "v*"; - n_currency_str1->m_address = base + offset; - n_currency_str1->m_parent = p_node_parent; - n_currency_str1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_currency_str1); - - field_name = "currency_str2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); - auto n_currency_str2 = new NodeVector; - n_currency_str2->m_field_name = field_name; - n_currency_str2->m_df_type = DF_Type::Stl_string; - n_currency_str2->m_rdf_type = RDF_Type::Vector; - n_currency_str2->m_node_type = NodeType::Vector; - n_currency_str2->m_addornements = "v*"; - n_currency_str2->m_address = base + offset; - n_currency_str2->m_parent = p_node_parent; - n_currency_str2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_currency_str2); - - field_name = "animal"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); - auto n_animal = new NodeVector; - n_animal->m_field_name = field_name; - n_animal->m_df_type = DF_Type::entity_animal_raw; - n_animal->m_rdf_type = RDF_Type::Vector; - n_animal->m_node_type = NodeType::Vector; - n_animal->m_defined_in = "df.entity-raws.xml"; - n_animal->m_addornements = "v*"; - n_animal->m_address = base + offset; - n_animal->m_parent = p_node_parent; - n_animal->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_animal); - -} -void node_from_entity_population_unk4__T_anon_1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_population_unk4__T_anon_1, field_name)); - auto n_idx = new NodeSimple; - n_idx->m_field_name = field_name; - n_idx->m_df_type = DF_Type::int32_t; - n_idx->m_rdf_type = RDF_Type::int32_t; - n_idx->m_node_type = NodeType::Simple; - n_idx->m_address = base + offset; - n_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_idx); - - field_name = "unk1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_population_unk4__T_anon_1, field_name)); - auto n_unk1 = new NodeSimple; - n_unk1->m_field_name = field_name; - n_unk1->m_df_type = DF_Type::int32_t; - n_unk1->m_rdf_type = RDF_Type::int32_t; - n_unk1->m_node_type = NodeType::Simple; - n_unk1->m_address = base + offset; - n_unk1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk1); - - field_name = "unk2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_population_unk4__T_anon_1, field_name)); - auto n_unk2 = new NodeSimple; - n_unk2->m_field_name = field_name; - n_unk2->m_df_type = DF_Type::int32_t; - n_unk2->m_rdf_type = RDF_Type::int32_t; - n_unk2->m_node_type = NodeType::Simple; - n_unk2->m_address = base + offset; - n_unk2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk2); - -} -void node_from_entity_population_unk4__T_anon_3(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_population_unk4__T_anon_3, field_name)); - auto n_idx = new NodeSimple; - n_idx->m_field_name = field_name; - n_idx->m_df_type = DF_Type::int32_t; - n_idx->m_rdf_type = RDF_Type::int32_t; - n_idx->m_node_type = NodeType::Simple; - n_idx->m_address = base + offset; - n_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_idx); - - field_name = "unk1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_population_unk4__T_anon_3, field_name)); - auto n_unk1 = new NodeSimple; - n_unk1->m_field_name = field_name; - n_unk1->m_df_type = DF_Type::int32_t; - n_unk1->m_rdf_type = RDF_Type::int32_t; - n_unk1->m_node_type = NodeType::Simple; - n_unk1->m_address = base + offset; - n_unk1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk1); - -} -void node_from_entity_population_unk4(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_population_unk4, field_name)); - auto n_anon_1 = new NodeVector; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::entity_population_unk4__T_anon_1; - n_anon_1->m_rdf_type = RDF_Type::Vector; - n_anon_1->m_node_type = NodeType::Vector; - n_anon_1->m_addornements = "v*"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_population_unk4, field_name)); - auto n_anon_2 = new NodeVector; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::Void; - n_anon_2->m_rdf_type = RDF_Type::Vector; - n_anon_2->m_node_type = NodeType::Vector; - n_anon_2->m_addornements = "v"; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - n_anon_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_population_unk4, field_name)); - auto n_anon_3 = new NodeVector; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::entity_population_unk4__T_anon_3; - n_anon_3->m_rdf_type = RDF_Type::Vector; - n_anon_3->m_node_type = NodeType::Vector; - n_anon_3->m_addornements = "v*"; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - n_anon_3->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_3); - -} -void node_from_entity_population(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "name"; - auto n_name = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_population, field_name)); - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::language_name; - n_name->m_rdf_type = RDF_Type::Struct; - n_name->m_node_type = NodeType::Compound; - n_name->m_address = base + offset; - n_name->m_defined_in = "df.language.xml"; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "races"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_population, field_name)); - auto n_races = new NodeVector; - n_races->m_field_name = field_name; - n_races->m_df_type = DF_Type::int16_t; - n_races->m_rdf_type = RDF_Type::Vector; - n_races->m_node_type = NodeType::Vector; - n_races->m_addornements = "v"; - n_races->m_address = base + offset; - n_races->m_parent = p_node_parent; - n_races->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_races); - - field_name = "counts"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_population, field_name)); - auto n_counts = new NodeVector; - n_counts->m_field_name = field_name; - n_counts->m_df_type = DF_Type::int32_t; - n_counts->m_rdf_type = RDF_Type::Vector; - n_counts->m_node_type = NodeType::Vector; - n_counts->m_addornements = "v"; - n_counts->m_address = base + offset; - n_counts->m_parent = p_node_parent; - n_counts->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_counts); - - field_name = "unk3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_population, field_name)); - auto n_unk3 = new NodeVector; - n_unk3->m_field_name = field_name; - n_unk3->m_df_type = DF_Type::int32_t; - n_unk3->m_rdf_type = RDF_Type::Vector; - n_unk3->m_node_type = NodeType::Vector; - n_unk3->m_addornements = "v"; - n_unk3->m_address = base + offset; - n_unk3->m_parent = p_node_parent; - n_unk3->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk3); - - field_name = "unk4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_population, field_name)); - auto n_unk4 = new NodeVector; - n_unk4->m_field_name = field_name; - n_unk4->m_df_type = DF_Type::entity_population_unk4; - n_unk4->m_rdf_type = RDF_Type::Vector; - n_unk4->m_node_type = NodeType::Vector; - n_unk4->m_defined_in = "df.legends.xml"; - n_unk4->m_addornements = "v*"; - n_unk4->m_address = base + offset; - n_unk4->m_parent = p_node_parent; - n_unk4->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk4); - - field_name = "unk5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_population, field_name)); - auto n_unk5 = new NodeSimple; - n_unk5->m_field_name = field_name; - n_unk5->m_df_type = DF_Type::int32_t; - n_unk5->m_rdf_type = RDF_Type::int32_t; - n_unk5->m_node_type = NodeType::Simple; - n_unk5->m_address = base + offset; - n_unk5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk5); - - field_name = "unk6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_population, field_name)); - auto n_unk6 = new NodeSimple; - n_unk6->m_field_name = field_name; - n_unk6->m_df_type = DF_Type::int32_t; - n_unk6->m_rdf_type = RDF_Type::int32_t; - n_unk6->m_node_type = NodeType::Simple; - n_unk6->m_address = base + offset; - n_unk6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk6); - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_population, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_population, field_name)); - auto n_flags = new NodeSimple; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::int32_t; - n_flags->m_rdf_type = RDF_Type::int32_t; - n_flags->m_node_type = NodeType::Simple; - n_flags->m_address = base + offset; - n_flags->m_comment = "?; unk6 == -1"; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "civ_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_population, field_name)); - auto n_civ_id = new NodeSimple; - n_civ_id->m_field_name = field_name; - n_civ_id->m_df_type = DF_Type::int32_t; - n_civ_id->m_rdf_type = RDF_Type::int32_t; - n_civ_id->m_node_type = NodeType::Simple; - n_civ_id->m_address = base + offset; - n_civ_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_civ_id); - -} -void node_from_nemesis_record(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::nemesis_record, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_comment = "sequential index in the array"; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "unit_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::nemesis_record, field_name)); - auto n_unit_id = new NodeSimple; - n_unit_id->m_field_name = field_name; - n_unit_id->m_df_type = DF_Type::int32_t; - n_unit_id->m_rdf_type = RDF_Type::int32_t; - n_unit_id->m_node_type = NodeType::Simple; - n_unit_id->m_address = base + offset; - n_unit_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unit_id); - - field_name = "save_file_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::nemesis_record, field_name)); - auto n_save_file_id = new NodeSimple; - n_save_file_id->m_field_name = field_name; - n_save_file_id->m_df_type = DF_Type::int32_t; - n_save_file_id->m_rdf_type = RDF_Type::int32_t; - n_save_file_id->m_node_type = NodeType::Simple; - n_save_file_id->m_address = base + offset; - n_save_file_id->m_comment = "unit-*.dat"; - n_save_file_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_save_file_id); - - field_name = "member_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::nemesis_record, field_name)); - auto n_member_idx = new NodeSimple; - n_member_idx->m_field_name = field_name; - n_member_idx->m_df_type = DF_Type::int16_t; - n_member_idx->m_rdf_type = RDF_Type::int16_t; - n_member_idx->m_node_type = NodeType::Simple; - n_member_idx->m_address = base + offset; - n_member_idx->m_comment = "index in the file"; - n_member_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_member_idx); - - field_name = "figure"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::nemesis_record, field_name)); - auto n_figure = new NodePointer; - n_figure->m_field_name = field_name; - n_figure->m_df_type = get_real_subtype(base+offset, DF_Type::historical_figure); - n_figure->m_rdf_type = RDF_Type::Pointer; - n_figure->m_node_type = NodeType::Pointer; - n_figure->m_addornements = "*"; - n_figure->m_address = base + offset; - n_figure->m_parent = p_node_parent; - n_figure->m_defined_in = "df.history.xml"; - n_figure->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_figure); - - field_name = "unit"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::nemesis_record, field_name)); - auto n_unit = new NodePointer; - n_unit->m_field_name = field_name; - n_unit->m_df_type = get_real_subtype(base+offset, DF_Type::unit); - n_unit->m_rdf_type = RDF_Type::Pointer; - n_unit->m_node_type = NodeType::Pointer; - n_unit->m_addornements = "*"; - n_unit->m_address = base + offset; - n_unit->m_parent = p_node_parent; - n_unit->m_defined_in = "df.units.xml"; - n_unit->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unit); - - field_name = "group_leader_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::nemesis_record, field_name)); - auto n_group_leader_id = new NodeSimple; - n_group_leader_id->m_field_name = field_name; - n_group_leader_id->m_df_type = DF_Type::int32_t; - n_group_leader_id->m_rdf_type = RDF_Type::int32_t; - n_group_leader_id->m_node_type = NodeType::Simple; - n_group_leader_id->m_address = base + offset; - n_group_leader_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_group_leader_id); - - field_name = "companions"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::nemesis_record, field_name)); - auto n_companions = new NodeVector; - n_companions->m_field_name = field_name; - n_companions->m_df_type = DF_Type::int32_t; - n_companions->m_rdf_type = RDF_Type::Vector; - n_companions->m_node_type = NodeType::Vector; - n_companions->m_addornements = "v"; - n_companions->m_address = base + offset; - n_companions->m_parent = p_node_parent; - n_companions->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_companions); - - field_name = "unk10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::nemesis_record, field_name)); - auto n_unk10 = new NodeSimple; - n_unk10->m_field_name = field_name; - n_unk10->m_df_type = DF_Type::int16_t; - n_unk10->m_rdf_type = RDF_Type::int16_t; - n_unk10->m_node_type = NodeType::Simple; - n_unk10->m_address = base + offset; - n_unk10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk10); - - field_name = "unk11"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::nemesis_record, field_name)); - auto n_unk11 = new NodeSimple; - n_unk11->m_field_name = field_name; - n_unk11->m_df_type = DF_Type::int32_t; - n_unk11->m_rdf_type = RDF_Type::int32_t; - n_unk11->m_node_type = NodeType::Simple; - n_unk11->m_address = base + offset; - n_unk11->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk11); - - field_name = "unk12"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::nemesis_record, field_name)); - auto n_unk12 = new NodeSimple; - n_unk12->m_field_name = field_name; - n_unk12->m_df_type = DF_Type::int32_t; - n_unk12->m_rdf_type = RDF_Type::int32_t; - n_unk12->m_node_type = NodeType::Simple; - n_unk12->m_address = base + offset; - n_unk12->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk12); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::nemesis_record, field_name)); - auto n_flags = new NodeDFFlagArray; - n_flags->m_field_name = field_name; - n_flags->m_index_enum = DF_Type::nemesis_flags; - n_flags->m_df_type = DF_Type::nemesis_flags; - n_flags->m_size = 3; - n_flags->m_rdf_type = RDF_Type::DFFlagArray; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_defined_in = "df.legends.xml"; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - -} -void node_from_artifact_record(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::artifact_record, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "name"; - auto n_name = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::artifact_record, field_name)); - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::language_name; - n_name->m_rdf_type = RDF_Type::Struct; - n_name->m_node_type = NodeType::Compound; - n_name->m_address = base + offset; - n_name->m_defined_in = "df.language.xml"; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::artifact_record, field_name)); - auto n_flags = new NodeDFFlagArray; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::int32_t; - n_flags->m_size = 32; - n_flags->m_rdf_type = RDF_Type::DFFlagArray; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "item"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::artifact_record, field_name)); - auto n_item = new NodePointer; - n_item->m_field_name = field_name; - n_item->m_df_type = get_real_subtype(base+offset, DF_Type::item); - n_item->m_rdf_type = RDF_Type::Pointer; - n_item->m_node_type = NodeType::Pointer; - n_item->m_addornements = "*"; - n_item->m_address = base + offset; - n_item->m_parent = p_node_parent; - n_item->m_defined_in = "df.items.xml"; - n_item->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_item); - - field_name = "abs_tile_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::artifact_record, field_name)); - auto n_abs_tile_x = new NodeSimple; - n_abs_tile_x->m_field_name = field_name; - n_abs_tile_x->m_df_type = DF_Type::int32_t; - n_abs_tile_x->m_rdf_type = RDF_Type::int32_t; - n_abs_tile_x->m_node_type = NodeType::Simple; - n_abs_tile_x->m_address = base + offset; - n_abs_tile_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_abs_tile_x); - - field_name = "abs_tile_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::artifact_record, field_name)); - auto n_abs_tile_y = new NodeSimple; - n_abs_tile_y->m_field_name = field_name; - n_abs_tile_y->m_df_type = DF_Type::int32_t; - n_abs_tile_y->m_rdf_type = RDF_Type::int32_t; - n_abs_tile_y->m_node_type = NodeType::Simple; - n_abs_tile_y->m_address = base + offset; - n_abs_tile_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_abs_tile_y); - - field_name = "abs_tile_z"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::artifact_record, field_name)); - auto n_abs_tile_z = new NodeSimple; - n_abs_tile_z->m_field_name = field_name; - n_abs_tile_z->m_df_type = DF_Type::int32_t; - n_abs_tile_z->m_rdf_type = RDF_Type::int32_t; - n_abs_tile_z->m_node_type = NodeType::Simple; - n_abs_tile_z->m_address = base + offset; - n_abs_tile_z->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_abs_tile_z); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::artifact_record, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::artifact_record, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "structure_local"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::artifact_record, field_name)); - auto n_structure_local = new NodeSimple; - n_structure_local->m_field_name = field_name; - n_structure_local->m_df_type = DF_Type::int32_t; - n_structure_local->m_rdf_type = RDF_Type::int32_t; - n_structure_local->m_node_type = NodeType::Simple; - n_structure_local->m_address = base + offset; - n_structure_local->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_structure_local); - - field_name = "subregion"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::artifact_record, field_name)); - auto n_subregion = new NodeSimple; - n_subregion->m_field_name = field_name; - n_subregion->m_df_type = DF_Type::int32_t; - n_subregion->m_rdf_type = RDF_Type::int32_t; - n_subregion->m_node_type = NodeType::Simple; - n_subregion->m_address = base + offset; - n_subregion->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_subregion); - - field_name = "feature_layer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::artifact_record, field_name)); - auto n_feature_layer = new NodeSimple; - n_feature_layer->m_field_name = field_name; - n_feature_layer->m_df_type = DF_Type::int32_t; - n_feature_layer->m_rdf_type = RDF_Type::int32_t; - n_feature_layer->m_node_type = NodeType::Simple; - n_feature_layer->m_address = base + offset; - n_feature_layer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_feature_layer); - - field_name = "holder_hf"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::artifact_record, field_name)); - auto n_holder_hf = new NodeSimple; - n_holder_hf->m_field_name = field_name; - n_holder_hf->m_df_type = DF_Type::int32_t; - n_holder_hf->m_rdf_type = RDF_Type::int32_t; - n_holder_hf->m_node_type = NodeType::Simple; - n_holder_hf->m_address = base + offset; - n_holder_hf->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_holder_hf); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::artifact_record, field_name)); - auto n_anon_2 = new NodeVector; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::Vector; - n_anon_2->m_node_type = NodeType::Vector; - n_anon_2->m_addornements = "v"; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - n_anon_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::artifact_record, field_name)); - auto n_anon_3 = new NodeVector; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::Vector; - n_anon_3->m_node_type = NodeType::Vector; - n_anon_3->m_addornements = "v"; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - n_anon_3->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::artifact_record, field_name)); - auto n_anon_4 = new NodeVector; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::Vector; - n_anon_4->m_node_type = NodeType::Vector; - n_anon_4->m_addornements = "v"; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - n_anon_4->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::artifact_record, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::artifact_record, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::artifact_record, field_name)); - auto n_anon_7 = new NodeSimple; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::int32_t; - n_anon_7->m_rdf_type = RDF_Type::int32_t; - n_anon_7->m_node_type = NodeType::Simple; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_7); - - field_name = "anon_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::artifact_record, field_name)); - auto n_anon_8 = new NodeSimple; - n_anon_8->m_field_name = field_name; - n_anon_8->m_df_type = DF_Type::int32_t; - n_anon_8->m_rdf_type = RDF_Type::int32_t; - n_anon_8->m_node_type = NodeType::Simple; - n_anon_8->m_address = base + offset; - n_anon_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_8); - - field_name = "anon_9"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::artifact_record, field_name)); - auto n_anon_9 = new NodeSimple; - n_anon_9->m_field_name = field_name; - n_anon_9->m_df_type = DF_Type::int32_t; - n_anon_9->m_rdf_type = RDF_Type::int32_t; - n_anon_9->m_node_type = NodeType::Simple; - n_anon_9->m_address = base + offset; - n_anon_9->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_9); - - field_name = "anon_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::artifact_record, field_name)); - auto n_anon_10 = new NodeSimple; - n_anon_10->m_field_name = field_name; - n_anon_10->m_df_type = DF_Type::int32_t; - n_anon_10->m_rdf_type = RDF_Type::int32_t; - n_anon_10->m_node_type = NodeType::Simple; - n_anon_10->m_address = base + offset; - n_anon_10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_10); - - field_name = "anon_11"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::artifact_record, field_name)); - auto n_anon_11 = new NodeSimple; - n_anon_11->m_field_name = field_name; - n_anon_11->m_df_type = DF_Type::int32_t; - n_anon_11->m_rdf_type = RDF_Type::int32_t; - n_anon_11->m_node_type = NodeType::Simple; - n_anon_11->m_address = base + offset; - n_anon_11->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_11); - - field_name = "anon_12"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::artifact_record, field_name)); - auto n_anon_12 = new NodeSimple; - n_anon_12->m_field_name = field_name; - n_anon_12->m_df_type = DF_Type::int32_t; - n_anon_12->m_rdf_type = RDF_Type::int32_t; - n_anon_12->m_node_type = NodeType::Simple; - n_anon_12->m_address = base + offset; - n_anon_12->m_comment = "unused?"; - n_anon_12->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_12); - -} -void node_from_machine_tile_set(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "tiles"; - auto n_tiles = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::machine_tile_set, field_name)); - n_tiles->m_field_name = field_name; - n_tiles->m_df_type = DF_Type::coord_path; - n_tiles->m_rdf_type = RDF_Type::Struct; - n_tiles->m_node_type = NodeType::Compound; - n_tiles->m_address = base + offset; - n_tiles->m_defined_in = "df.map.xml"; - n_tiles->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tiles); - - field_name = "can_connect"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::machine_tile_set, field_name)); - auto n_can_connect = new NodeVector; - n_can_connect->m_field_name = field_name; - n_can_connect->m_df_type = DF_Type::machine_conn_modes; - n_can_connect->m_rdf_type = RDF_Type::Vector; - n_can_connect->m_node_type = NodeType::Vector; - n_can_connect->m_defined_in = "df.machines.xml"; - n_can_connect->m_addornements = "v"; - n_can_connect->m_address = base + offset; - n_can_connect->m_parent = p_node_parent; - n_can_connect->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_can_connect); - -} -void node_from_machine__T_components(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "building_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::machine__T_components, field_name)); - auto n_building_id = new NodeSimple; - n_building_id->m_field_name = field_name; - n_building_id->m_df_type = DF_Type::int32_t; - n_building_id->m_rdf_type = RDF_Type::int32_t; - n_building_id->m_node_type = NodeType::Simple; - n_building_id->m_address = base + offset; - n_building_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_building_id); - - field_name = "connections"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::machine__T_components, field_name)); - auto n_connections = new NodeVector; - n_connections->m_field_name = field_name; - n_connections->m_df_type = DF_Type::int32_t; - n_connections->m_rdf_type = RDF_Type::Vector; - n_connections->m_node_type = NodeType::Vector; - n_connections->m_addornements = "v"; - n_connections->m_address = base + offset; - n_connections->m_comment = "indices into the same component vector"; - n_connections->m_parent = p_node_parent; - n_connections->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_connections); - -} -void node_from_machine(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::machine, field_name)); - auto n_x = new NodeSimple; - n_x->m_field_name = field_name; - n_x->m_df_type = DF_Type::int32_t; - n_x->m_rdf_type = RDF_Type::int32_t; - n_x->m_node_type = NodeType::Simple; - n_x->m_address = base + offset; - n_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_x); - - field_name = "y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::machine, field_name)); - auto n_y = new NodeSimple; - n_y->m_field_name = field_name; - n_y->m_df_type = DF_Type::int32_t; - n_y->m_rdf_type = RDF_Type::int32_t; - n_y->m_node_type = NodeType::Simple; - n_y->m_address = base + offset; - n_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_y); - - field_name = "z"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::machine, field_name)); - auto n_z = new NodeSimple; - n_z->m_field_name = field_name; - n_z->m_df_type = DF_Type::int32_t; - n_z->m_rdf_type = RDF_Type::int32_t; - n_z->m_node_type = NodeType::Simple; - n_z->m_address = base + offset; - n_z->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_z); - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::machine, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "components"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::machine, field_name)); - auto n_components = new NodeVector; - n_components->m_field_name = field_name; - n_components->m_df_type = DF_Type::machine__T_components; - n_components->m_rdf_type = RDF_Type::Vector; - n_components->m_node_type = NodeType::Vector; - n_components->m_addornements = "v*"; - n_components->m_address = base + offset; - n_components->m_parent = p_node_parent; - n_components->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_components); - - field_name = "cur_power"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::machine, field_name)); - auto n_cur_power = new NodeSimple; - n_cur_power->m_field_name = field_name; - n_cur_power->m_df_type = DF_Type::int32_t; - n_cur_power->m_rdf_type = RDF_Type::int32_t; - n_cur_power->m_node_type = NodeType::Simple; - n_cur_power->m_address = base + offset; - n_cur_power->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cur_power); - - field_name = "min_power"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::machine, field_name)); - auto n_min_power = new NodeSimple; - n_min_power->m_field_name = field_name; - n_min_power->m_df_type = DF_Type::int32_t; - n_min_power->m_rdf_type = RDF_Type::int32_t; - n_min_power->m_node_type = NodeType::Simple; - n_min_power->m_address = base + offset; - n_min_power->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_min_power); - - field_name = "visual_phase"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::machine, field_name)); - auto n_visual_phase = new NodeSimple; - n_visual_phase->m_field_name = field_name; - n_visual_phase->m_df_type = DF_Type::int8_t; - n_visual_phase->m_rdf_type = RDF_Type::int8_t; - n_visual_phase->m_node_type = NodeType::Simple; - n_visual_phase->m_address = base + offset; - n_visual_phase->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_visual_phase); - - field_name = "phase_timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::machine, field_name)); - auto n_phase_timer = new NodeSimple; - n_phase_timer->m_field_name = field_name; - n_phase_timer->m_df_type = DF_Type::int16_t; - n_phase_timer->m_rdf_type = RDF_Type::int16_t; - n_phase_timer->m_node_type = NodeType::Simple; - n_phase_timer->m_address = base + offset; - n_phase_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_phase_timer); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::machine, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::machine__T_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - -} -void node_from_machine_standardst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::machine; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_machine(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_building_axle_horizontalst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::building_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_building_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "machine"; - auto n_machine = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_axle_horizontalst, field_name)); - n_machine->m_field_name = field_name; - n_machine->m_df_type = DF_Type::machine_info; - n_machine->m_rdf_type = RDF_Type::Struct; - n_machine->m_node_type = NodeType::Compound; - n_machine->m_address = base + offset; - n_machine->m_defined_in = "df.machines.xml"; - n_machine->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_machine); - - field_name = "is_vertical"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_axle_horizontalst, field_name)); - auto n_is_vertical = new NodeSimple; - n_is_vertical->m_field_name = field_name; - n_is_vertical->m_df_type = DF_Type::Bool; - n_is_vertical->m_rdf_type = RDF_Type::Bool; - n_is_vertical->m_node_type = NodeType::Simple; - n_is_vertical->m_address = base + offset; - n_is_vertical->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_is_vertical); - -} -void node_from_building_axle_verticalst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::building_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_building_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "machine"; - auto n_machine = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_axle_verticalst, field_name)); - n_machine->m_field_name = field_name; - n_machine->m_df_type = DF_Type::machine_info; - n_machine->m_rdf_type = RDF_Type::Struct; - n_machine->m_node_type = NodeType::Compound; - n_machine->m_address = base + offset; - n_machine->m_defined_in = "df.machines.xml"; - n_machine->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_machine); - -} -void node_from_building_gear_assemblyst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::building_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_building_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "machine"; - auto n_machine = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_gear_assemblyst, field_name)); - n_machine->m_field_name = field_name; - n_machine->m_df_type = DF_Type::machine_info; - n_machine->m_rdf_type = RDF_Type::Struct; - n_machine->m_node_type = NodeType::Compound; - n_machine->m_address = base + offset; - n_machine->m_defined_in = "df.machines.xml"; - n_machine->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_machine); - - field_name = "gear_flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_gear_assemblyst, field_name)); - auto n_gear_flags = new NodeBitfield; - n_gear_flags->m_field_name = field_name; - n_gear_flags->m_df_type = DF_Type::building_gear_assemblyst__T_gear_flags; - n_gear_flags->m_rdf_type = RDF_Type::Bitfield; - n_gear_flags->m_node_type = NodeType::Bitfield; - n_gear_flags->m_address = base + offset; - n_gear_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_gear_flags); - -} -void node_from_building_windmillst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::building_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_building_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "machine"; - auto n_machine = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_windmillst, field_name)); - n_machine->m_field_name = field_name; - n_machine->m_df_type = DF_Type::machine_info; - n_machine->m_rdf_type = RDF_Type::Struct; - n_machine->m_node_type = NodeType::Compound; - n_machine->m_address = base + offset; - n_machine->m_defined_in = "df.machines.xml"; - n_machine->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_machine); - - field_name = "orient_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_windmillst, field_name)); - auto n_orient_x = new NodeSimple; - n_orient_x->m_field_name = field_name; - n_orient_x->m_df_type = DF_Type::int16_t; - n_orient_x->m_rdf_type = RDF_Type::int16_t; - n_orient_x->m_node_type = NodeType::Simple; - n_orient_x->m_address = base + offset; - n_orient_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_orient_x); - - field_name = "orient_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_windmillst, field_name)); - auto n_orient_y = new NodeSimple; - n_orient_y->m_field_name = field_name; - n_orient_y->m_df_type = DF_Type::int16_t; - n_orient_y->m_rdf_type = RDF_Type::int16_t; - n_orient_y->m_node_type = NodeType::Simple; - n_orient_y->m_address = base + offset; - n_orient_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_orient_y); - - field_name = "is_working"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_windmillst, field_name)); - auto n_is_working = new NodeSimple; - n_is_working->m_field_name = field_name; - n_is_working->m_df_type = DF_Type::int16_t; - n_is_working->m_rdf_type = RDF_Type::int16_t; - n_is_working->m_node_type = NodeType::Simple; - n_is_working->m_address = base + offset; - n_is_working->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_is_working); - - field_name = "visual_rotated"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_windmillst, field_name)); - auto n_visual_rotated = new NodeSimple; - n_visual_rotated->m_field_name = field_name; - n_visual_rotated->m_df_type = DF_Type::Bool; - n_visual_rotated->m_rdf_type = RDF_Type::Bool; - n_visual_rotated->m_node_type = NodeType::Simple; - n_visual_rotated->m_address = base + offset; - n_visual_rotated->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_visual_rotated); - - field_name = "rotate_timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_windmillst, field_name)); - auto n_rotate_timer = new NodeSimple; - n_rotate_timer->m_field_name = field_name; - n_rotate_timer->m_df_type = DF_Type::int16_t; - n_rotate_timer->m_rdf_type = RDF_Type::int16_t; - n_rotate_timer->m_node_type = NodeType::Simple; - n_rotate_timer->m_address = base + offset; - n_rotate_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rotate_timer); - - field_name = "orient_timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_windmillst, field_name)); - auto n_orient_timer = new NodeSimple; - n_orient_timer->m_field_name = field_name; - n_orient_timer->m_df_type = DF_Type::int16_t; - n_orient_timer->m_rdf_type = RDF_Type::int16_t; - n_orient_timer->m_node_type = NodeType::Simple; - n_orient_timer->m_address = base + offset; - n_orient_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_orient_timer); - -} -void node_from_building_water_wheelst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::building_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_building_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "machine"; - auto n_machine = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_water_wheelst, field_name)); - n_machine->m_field_name = field_name; - n_machine->m_df_type = DF_Type::machine_info; - n_machine->m_rdf_type = RDF_Type::Struct; - n_machine->m_node_type = NodeType::Compound; - n_machine->m_address = base + offset; - n_machine->m_defined_in = "df.machines.xml"; - n_machine->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_machine); - - field_name = "is_vertical"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_water_wheelst, field_name)); - auto n_is_vertical = new NodeSimple; - n_is_vertical->m_field_name = field_name; - n_is_vertical->m_df_type = DF_Type::Bool; - n_is_vertical->m_rdf_type = RDF_Type::Bool; - n_is_vertical->m_node_type = NodeType::Simple; - n_is_vertical->m_address = base + offset; - n_is_vertical->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_is_vertical); - - field_name = "gives_power"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_water_wheelst, field_name)); - auto n_gives_power = new NodeSimple; - n_gives_power->m_field_name = field_name; - n_gives_power->m_df_type = DF_Type::Bool; - n_gives_power->m_rdf_type = RDF_Type::Bool; - n_gives_power->m_node_type = NodeType::Simple; - n_gives_power->m_address = base + offset; - n_gives_power->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_gives_power); - -} -void node_from_building_screw_pumpst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::building_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_building_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "machine"; - auto n_machine = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_screw_pumpst, field_name)); - n_machine->m_field_name = field_name; - n_machine->m_df_type = DF_Type::machine_info; - n_machine->m_rdf_type = RDF_Type::Struct; - n_machine->m_node_type = NodeType::Compound; - n_machine->m_address = base + offset; - n_machine->m_defined_in = "df.machines.xml"; - n_machine->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_machine); - - field_name = "pump_energy"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_screw_pumpst, field_name)); - auto n_pump_energy = new NodeSimple; - n_pump_energy->m_field_name = field_name; - n_pump_energy->m_df_type = DF_Type::uint8_t; - n_pump_energy->m_rdf_type = RDF_Type::uint8_t; - n_pump_energy->m_node_type = NodeType::Simple; - n_pump_energy->m_address = base + offset; - n_pump_energy->m_comment = "decreases by 1 every frame. powering or manually pumping maintains near 100"; - n_pump_energy->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pump_energy); - - field_name = "direction"; - auto n_direction = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_screw_pumpst, field_name)); - n_direction->m_field_name = field_name; - n_direction->m_df_type = DF_Type::screw_pump_direction; - n_direction->m_rdf_type = RDF_Type::Enum; - n_direction->m_node_type = NodeType::Enum; - n_direction->m_base_type = DF_Type::int8_t; - n_direction->m_enum_type = "screw_pump_direction"; - n_direction->m_address = base + offset; - n_direction->m_defined_in = "df.machines.xml"; - n_direction->m_first_value = 0; - n_direction->m_last_value = 3; - n_direction->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_direction); - - field_name = "pump_manually"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_screw_pumpst, field_name)); - auto n_pump_manually = new NodeSimple; - n_pump_manually->m_field_name = field_name; - n_pump_manually->m_df_type = DF_Type::Bool; - n_pump_manually->m_rdf_type = RDF_Type::Bool; - n_pump_manually->m_node_type = NodeType::Simple; - n_pump_manually->m_address = base + offset; - n_pump_manually->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pump_manually); - -} -void node_from_building_rollersst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::building_actual; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_building_actual(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "machine"; - auto n_machine = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_rollersst, field_name)); - n_machine->m_field_name = field_name; - n_machine->m_df_type = DF_Type::machine_info; - n_machine->m_rdf_type = RDF_Type::Struct; - n_machine->m_node_type = NodeType::Compound; - n_machine->m_address = base + offset; - n_machine->m_defined_in = "df.machines.xml"; - n_machine->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_machine); - - field_name = "direction"; - auto n_direction = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_rollersst, field_name)); - n_direction->m_field_name = field_name; - n_direction->m_df_type = DF_Type::screw_pump_direction; - n_direction->m_rdf_type = RDF_Type::Enum; - n_direction->m_node_type = NodeType::Enum; - n_direction->m_base_type = DF_Type::int32_t; - n_direction->m_enum_type = "screw_pump_direction"; - n_direction->m_address = base + offset; - n_direction->m_defined_in = "df.machines.xml"; - n_direction->m_first_value = 0; - n_direction->m_last_value = 3; - n_direction->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_direction); - - field_name = "speed"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_rollersst, field_name)); - auto n_speed = new NodeSimple; - n_speed->m_field_name = field_name; - n_speed->m_df_type = DF_Type::int32_t; - n_speed->m_rdf_type = RDF_Type::int32_t; - n_speed->m_node_type = NodeType::Simple; - n_speed->m_address = base + offset; - n_speed->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_speed); - -} -void node_from_block_burrow(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_burrow, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "tile_bitmask"; - auto n_tile_bitmask = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_burrow, field_name)); - n_tile_bitmask->m_field_name = field_name; - n_tile_bitmask->m_df_type = DF_Type::tile_bitmask; - n_tile_bitmask->m_rdf_type = RDF_Type::Struct; - n_tile_bitmask->m_node_type = NodeType::Compound; - n_tile_bitmask->m_address = base + offset; - n_tile_bitmask->m_defined_in = "df.map.xml"; - n_tile_bitmask->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tile_bitmask); - - field_name = "link"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_burrow, field_name)); - auto n_link = new NodePointer; - n_link->m_field_name = field_name; - n_link->m_df_type = get_real_subtype(base+offset, DF_Type::block_burrow_link); - n_link->m_rdf_type = RDF_Type::Pointer; - n_link->m_node_type = NodeType::Pointer; - n_link->m_addornements = "*"; - n_link->m_address = base + offset; - n_link->m_parent = p_node_parent; - n_link->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_link); - -} -void node_from_block_burrow_link(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "item"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_burrow_link, field_name)); - auto n_item = new NodePointer; - n_item->m_field_name = field_name; - n_item->m_df_type = get_real_subtype(base+offset, DF_Type::block_burrow); - n_item->m_rdf_type = RDF_Type::Pointer; - n_item->m_node_type = NodeType::Pointer; - n_item->m_addornements = "*"; - n_item->m_address = base + offset; - n_item->m_parent = p_node_parent; - n_item->m_defined_in = "df.map.xml"; - n_item->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_item); - - field_name = "prev"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_burrow_link, field_name)); - auto n_prev = new NodePointer; - n_prev->m_field_name = field_name; - n_prev->m_df_type = get_real_subtype(base+offset, DF_Type::block_burrow_link); - n_prev->m_rdf_type = RDF_Type::Pointer; - n_prev->m_node_type = NodeType::Pointer; - n_prev->m_addornements = "*"; - n_prev->m_address = base + offset; - n_prev->m_parent = p_node_parent; - n_prev->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_prev); - - field_name = "next"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_burrow_link, field_name)); - auto n_next = new NodePointer; - n_next->m_field_name = field_name; - n_next->m_df_type = get_real_subtype(base+offset, DF_Type::block_burrow_link); - n_next->m_rdf_type = RDF_Type::Pointer; - n_next->m_node_type = NodeType::Pointer; - n_next->m_addornements = "*"; - n_next->m_address = base + offset; - n_next->m_parent = p_node_parent; - n_next->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_next); - -} -void node_from_map_block(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::block_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_defined_in = "df.map.xml"; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "block_events"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block, field_name)); - auto n_block_events = new NodeVector; - n_block_events->m_field_name = field_name; - n_block_events->m_df_type = DF_Type::block_square_event; - n_block_events->m_rdf_type = RDF_Type::Vector; - n_block_events->m_node_type = NodeType::Vector; - n_block_events->m_defined_in = "df.map.xml"; - n_block_events->m_addornements = "v*"; - n_block_events->m_address = base + offset; - n_block_events->m_parent = p_node_parent; - n_block_events->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_block_events); - - field_name = "block_burrows"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block, field_name)); - auto n_block_burrows= new NodeCompound; - n_block_burrows->m_field_name = field_name; - n_block_burrows->m_df_type = DF_Type::block_burrow_link; - n_block_burrows->m_rdf_type = RDF_Type::DFLinkedList; - n_block_burrows->m_node_type = NodeType::Compound; - n_block_burrows->m_address = base + offset; - n_block_burrows->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_block_burrows); - - field_name = "local_feature"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block, field_name)); - auto n_local_feature = new NodeSimple; - n_local_feature->m_field_name = field_name; - n_local_feature->m_df_type = DF_Type::int32_t; - n_local_feature->m_rdf_type = RDF_Type::int32_t; - n_local_feature->m_node_type = NodeType::Simple; - n_local_feature->m_address = base + offset; - n_local_feature->m_comment = "index into world_data.region_map"; - n_local_feature->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_local_feature); - - field_name = "global_feature"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block, field_name)); - auto n_global_feature = new NodeSimple; - n_global_feature->m_field_name = field_name; - n_global_feature->m_df_type = DF_Type::int32_t; - n_global_feature->m_rdf_type = RDF_Type::int32_t; - n_global_feature->m_node_type = NodeType::Simple; - n_global_feature->m_address = base + offset; - n_global_feature->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_global_feature); - - field_name = "unk2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block, field_name)); - auto n_unk2 = new NodeSimple; - n_unk2->m_field_name = field_name; - n_unk2->m_df_type = DF_Type::int32_t; - n_unk2->m_rdf_type = RDF_Type::int32_t; - n_unk2->m_node_type = NodeType::Simple; - n_unk2->m_address = base + offset; - n_unk2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk2); - - field_name = "layer_depth"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block, field_name)); - auto n_layer_depth = new NodeSimple; - n_layer_depth->m_field_name = field_name; - n_layer_depth->m_df_type = DF_Type::int16_t; - n_layer_depth->m_rdf_type = RDF_Type::int16_t; - n_layer_depth->m_node_type = NodeType::Simple; - n_layer_depth->m_address = base + offset; - n_layer_depth->m_comment = "uninitialized"; - n_layer_depth->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_layer_depth); - - field_name = "dsgn_check_cooldown"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block, field_name)); - auto n_dsgn_check_cooldown = new NodeSimple; - n_dsgn_check_cooldown->m_field_name = field_name; - n_dsgn_check_cooldown->m_df_type = DF_Type::int32_t; - n_dsgn_check_cooldown->m_rdf_type = RDF_Type::int32_t; - n_dsgn_check_cooldown->m_node_type = NodeType::Simple; - n_dsgn_check_cooldown->m_address = base + offset; - n_dsgn_check_cooldown->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dsgn_check_cooldown); - - field_name = "default_liquid"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block, field_name)); - auto n_default_liquid = new NodeBitfield; - n_default_liquid->m_field_name = field_name; - n_default_liquid->m_df_type = DF_Type::tile_designation; - n_default_liquid->m_rdf_type = RDF_Type::Bitfield; - n_default_liquid->m_node_type = NodeType::Bitfield; - n_default_liquid->m_address = base + offset; - n_default_liquid->m_defined_in = "df.map.xml"; - n_default_liquid->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_default_liquid); - - field_name = "items"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block, field_name)); - auto n_items = new NodeVector; - n_items->m_field_name = field_name; - n_items->m_df_type = DF_Type::int32_t; - n_items->m_rdf_type = RDF_Type::Vector; - n_items->m_node_type = NodeType::Vector; - n_items->m_addornements = "v"; - n_items->m_address = base + offset; - n_items->m_parent = p_node_parent; - n_items->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_items); - - field_name = "flows"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block, field_name)); - auto n_flows = new NodeVector; - n_flows->m_field_name = field_name; - n_flows->m_df_type = DF_Type::flow_info; - n_flows->m_rdf_type = RDF_Type::Vector; - n_flows->m_node_type = NodeType::Vector; - n_flows->m_defined_in = "df.map.xml"; - n_flows->m_addornements = "v*"; - n_flows->m_address = base + offset; - n_flows->m_parent = p_node_parent; - n_flows->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_flows); - - field_name = "flow_pool"; - auto n_flow_pool = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block, field_name)); - n_flow_pool->m_field_name = field_name; - n_flow_pool->m_df_type = DF_Type::flow_reuse_pool; - n_flow_pool->m_rdf_type = RDF_Type::Struct; - n_flow_pool->m_node_type = NodeType::Compound; - n_flow_pool->m_address = base + offset; - n_flow_pool->m_defined_in = "df.map.xml"; - n_flow_pool->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flow_pool); - - field_name = "map_pos"; - auto n_map_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block, field_name)); - n_map_pos->m_field_name = field_name; - n_map_pos->m_df_type = DF_Type::coord; - n_map_pos->m_rdf_type = RDF_Type::Struct; - n_map_pos->m_node_type = NodeType::Compound; - n_map_pos->m_address = base + offset; - n_map_pos->m_defined_in = "df.map.xml"; - n_map_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_map_pos); - - field_name = "region_pos"; - auto n_region_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block, field_name)); - n_region_pos->m_field_name = field_name; - n_region_pos->m_df_type = DF_Type::coord2d; - n_region_pos->m_rdf_type = RDF_Type::Struct; - n_region_pos->m_node_type = NodeType::Compound; - n_region_pos->m_address = base + offset; - n_region_pos->m_defined_in = "df.map.xml"; - n_region_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region_pos); - - field_name = "tiletype"; - auto n_tiletype = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block, field_name)); - n_tiletype->m_field_name = field_name; - n_tiletype->m_df_type = DF_Type::tiletype; - n_tiletype->m_rdf_type = RDF_Type::Array; - n_tiletype->m_node_type = NodeType::Array; - n_tiletype->m_enum_base = DF_Type::int16_t; - n_tiletype->m_defined_in = "df.tile-types.xml"; - n_tiletype->m_addornements = "[16[16"; - n_tiletype->m_array_size = 16; - n_tiletype->m_address = base + offset; - n_tiletype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tiletype); - - field_name = "designation"; - auto n_designation = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block, field_name)); - n_designation->m_field_name = field_name; - n_designation->m_df_type = DF_Type::tile_designation; - n_designation->m_rdf_type = RDF_Type::Array; - n_designation->m_node_type = NodeType::Array; - n_designation->m_defined_in = "df.map.xml"; - n_designation->m_addornements = "[16[16"; - n_designation->m_array_size = 16; - n_designation->m_address = base + offset; - n_designation->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_designation); - - field_name = "occupancy"; - auto n_occupancy = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block, field_name)); - n_occupancy->m_field_name = field_name; - n_occupancy->m_df_type = DF_Type::tile_occupancy; - n_occupancy->m_rdf_type = RDF_Type::Array; - n_occupancy->m_node_type = NodeType::Array; - n_occupancy->m_defined_in = "df.map.xml"; - n_occupancy->m_addornements = "[16[16"; - n_occupancy->m_array_size = 16; - n_occupancy->m_address = base + offset; - n_occupancy->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_occupancy); - - field_name = "fog_of_war"; - auto n_fog_of_war = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block, field_name)); - n_fog_of_war->m_field_name = field_name; - n_fog_of_war->m_df_type = DF_Type::uint8_t; - n_fog_of_war->m_rdf_type = RDF_Type::Array; - n_fog_of_war->m_comment = "for adventure mode"; - n_fog_of_war->m_node_type = NodeType::Array; - n_fog_of_war->m_addornements = "[16[16"; - n_fog_of_war->m_array_size = 16; - n_fog_of_war->m_address = base + offset; - n_fog_of_war->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_fog_of_war); - - field_name = "path_cost"; - auto n_path_cost = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block, field_name)); - n_path_cost->m_field_name = field_name; - n_path_cost->m_df_type = DF_Type::int32_t; - n_path_cost->m_rdf_type = RDF_Type::Array; - n_path_cost->m_comment = "flood; 256*cost for straight, 362*cost for diagonal"; - n_path_cost->m_node_type = NodeType::Array; - n_path_cost->m_addornements = "[16[16"; - n_path_cost->m_array_size = 16; - n_path_cost->m_address = base + offset; - n_path_cost->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_path_cost); - - field_name = "path_tag"; - auto n_path_tag = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block, field_name)); - n_path_tag->m_field_name = field_name; - n_path_tag->m_df_type = DF_Type::uint16_t; - n_path_tag->m_rdf_type = RDF_Type::Array; - n_path_tag->m_comment = "flood; sync to path_distance; same value; inc per run; reset to 0 on wraparound"; - n_path_tag->m_node_type = NodeType::Array; - n_path_tag->m_addornements = "[16[16"; - n_path_tag->m_array_size = 16; - n_path_tag->m_address = base + offset; - n_path_tag->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_path_tag); - - field_name = "walkable"; - auto n_walkable = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block, field_name)); - n_walkable->m_field_name = field_name; - n_walkable->m_df_type = DF_Type::uint16_t; - n_walkable->m_rdf_type = RDF_Type::Array; - n_walkable->m_comment = "0 = non-walkable; same nonzero at A and B = walkable from A to B"; - n_walkable->m_node_type = NodeType::Array; - n_walkable->m_addornements = "[16[16"; - n_walkable->m_array_size = 16; - n_walkable->m_address = base + offset; - n_walkable->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_walkable); - - field_name = "map_edge_distance"; - auto n_map_edge_distance = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block, field_name)); - n_map_edge_distance->m_field_name = field_name; - n_map_edge_distance->m_df_type = DF_Type::uint16_t; - n_map_edge_distance->m_rdf_type = RDF_Type::Array; - n_map_edge_distance->m_comment = "1 at walkable map edge; then +1 per 10 tiles it seems; 0 in dug tunnels"; - n_map_edge_distance->m_node_type = NodeType::Array; - n_map_edge_distance->m_addornements = "[16[16"; - n_map_edge_distance->m_array_size = 16; - n_map_edge_distance->m_address = base + offset; - n_map_edge_distance->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_map_edge_distance); - - field_name = "temperature_1"; - auto n_temperature_1 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block, field_name)); - n_temperature_1->m_field_name = field_name; - n_temperature_1->m_df_type = DF_Type::uint16_t; - n_temperature_1->m_rdf_type = RDF_Type::Array; - n_temperature_1->m_node_type = NodeType::Array; - n_temperature_1->m_addornements = "[16[16"; - n_temperature_1->m_array_size = 16; - n_temperature_1->m_address = base + offset; - n_temperature_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_temperature_1); - - field_name = "temperature_2"; - auto n_temperature_2 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block, field_name)); - n_temperature_2->m_field_name = field_name; - n_temperature_2->m_df_type = DF_Type::uint16_t; - n_temperature_2->m_rdf_type = RDF_Type::Array; - n_temperature_2->m_node_type = NodeType::Array; - n_temperature_2->m_addornements = "[16[16"; - n_temperature_2->m_array_size = 16; - n_temperature_2->m_address = base + offset; - n_temperature_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_temperature_2); - - field_name = "unk13"; - auto n_unk13 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block, field_name)); - n_unk13->m_field_name = field_name; - n_unk13->m_df_type = DF_Type::uint16_t; - n_unk13->m_rdf_type = RDF_Type::Array; - n_unk13->m_node_type = NodeType::Array; - n_unk13->m_addornements = "[16[16"; - n_unk13->m_array_size = 16; - n_unk13->m_address = base + offset; - n_unk13->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk13); - - field_name = "liquid_flow"; - auto n_liquid_flow = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block, field_name)); - n_liquid_flow->m_field_name = field_name; - n_liquid_flow->m_df_type = DF_Type::tile_liquid_flow; - n_liquid_flow->m_rdf_type = RDF_Type::Array; - n_liquid_flow->m_node_type = NodeType::Array; - n_liquid_flow->m_defined_in = "df.map.xml"; - n_liquid_flow->m_addornements = "[16[16"; - n_liquid_flow->m_array_size = 16; - n_liquid_flow->m_address = base + offset; - n_liquid_flow->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_liquid_flow); - - field_name = "region_offset"; - auto n_region_offset = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block, field_name)); - n_region_offset->m_field_name = field_name; - n_region_offset->m_df_type = DF_Type::uint8_t; - n_region_offset->m_rdf_type = RDF_Type::Array; - n_region_offset->m_node_type = NodeType::Array; - n_region_offset->m_addornements = "[9"; - n_region_offset->m_array_size = 9; - n_region_offset->m_address = base + offset; - n_region_offset->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region_offset); - -} -void node_from_cave_column_link(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "item"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cave_column_link, field_name)); - auto n_item = new NodePointer; - n_item->m_field_name = field_name; - n_item->m_df_type = get_real_subtype(base+offset, DF_Type::cave_column); - n_item->m_rdf_type = RDF_Type::Pointer; - n_item->m_node_type = NodeType::Pointer; - n_item->m_addornements = "*"; - n_item->m_address = base + offset; - n_item->m_parent = p_node_parent; - n_item->m_defined_in = "df.map.xml"; - n_item->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_item); - - field_name = "prev"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cave_column_link, field_name)); - auto n_prev = new NodePointer; - n_prev->m_field_name = field_name; - n_prev->m_df_type = get_real_subtype(base+offset, DF_Type::cave_column_link); - n_prev->m_rdf_type = RDF_Type::Pointer; - n_prev->m_node_type = NodeType::Pointer; - n_prev->m_addornements = "*"; - n_prev->m_address = base + offset; - n_prev->m_parent = p_node_parent; - n_prev->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_prev); - - field_name = "next"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cave_column_link, field_name)); - auto n_next = new NodePointer; - n_next->m_field_name = field_name; - n_next->m_df_type = get_real_subtype(base+offset, DF_Type::cave_column_link); - n_next->m_rdf_type = RDF_Type::Pointer; - n_next->m_node_type = NodeType::Pointer; - n_next->m_addornements = "*"; - n_next->m_address = base + offset; - n_next->m_parent = p_node_parent; - n_next->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_next); - -} -void node_from_map_block_column__T_unmined_glyphs(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "x"; - auto n_x = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block_column__T_unmined_glyphs, field_name)); - n_x->m_field_name = field_name; - n_x->m_df_type = DF_Type::int16_t; - n_x->m_rdf_type = RDF_Type::Array; - n_x->m_node_type = NodeType::Array; - n_x->m_addornements = "[4"; - n_x->m_array_size = 4; - n_x->m_address = base + offset; - n_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_x); - - field_name = "y"; - auto n_y = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block_column__T_unmined_glyphs, field_name)); - n_y->m_field_name = field_name; - n_y->m_df_type = DF_Type::int16_t; - n_y->m_rdf_type = RDF_Type::Array; - n_y->m_node_type = NodeType::Array; - n_y->m_addornements = "[4"; - n_y->m_array_size = 4; - n_y->m_address = base + offset; - n_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_y); - - field_name = "tile"; - auto n_tile = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block_column__T_unmined_glyphs, field_name)); - n_tile->m_field_name = field_name; - n_tile->m_df_type = DF_Type::uint8_t; - n_tile->m_rdf_type = RDF_Type::Array; - n_tile->m_node_type = NodeType::Array; - n_tile->m_addornements = "[4"; - n_tile->m_array_size = 4; - n_tile->m_address = base + offset; - n_tile->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tile); - -} -void node_from_map_block_column(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "sink_level"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block_column, field_name)); - auto n_sink_level = new NodeSimple; - n_sink_level->m_field_name = field_name; - n_sink_level->m_df_type = DF_Type::int16_t; - n_sink_level->m_rdf_type = RDF_Type::int16_t; - n_sink_level->m_node_type = NodeType::Simple; - n_sink_level->m_address = base + offset; - n_sink_level->m_comment = "water at or above this level sinks into aquifer tiles"; - n_sink_level->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sink_level); - - field_name = "beach_level"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block_column, field_name)); - auto n_beach_level = new NodeSimple; - n_beach_level->m_field_name = field_name; - n_beach_level->m_df_type = DF_Type::int16_t; - n_beach_level->m_rdf_type = RDF_Type::int16_t; - n_beach_level->m_node_type = NodeType::Simple; - n_beach_level->m_address = base + offset; - n_beach_level->m_comment = "water at this level disappears if above more water"; - n_beach_level->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_beach_level); - - field_name = "ground_level"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block_column, field_name)); - auto n_ground_level = new NodeSimple; - n_ground_level->m_field_name = field_name; - n_ground_level->m_df_type = DF_Type::int16_t; - n_ground_level->m_rdf_type = RDF_Type::int16_t; - n_ground_level->m_node_type = NodeType::Simple; - n_ground_level->m_address = base + offset; - n_ground_level->m_comment = "for coloring unallocated blocks"; - n_ground_level->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ground_level); - - field_name = "unmined_glyphs"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block_column, field_name)); - auto n_unmined_glyphs = new NodeVector; - n_unmined_glyphs->m_field_name = field_name; - n_unmined_glyphs->m_df_type = DF_Type::map_block_column__T_unmined_glyphs; - n_unmined_glyphs->m_rdf_type = RDF_Type::Vector; - n_unmined_glyphs->m_node_type = NodeType::Vector; - n_unmined_glyphs->m_addornements = "v*"; - n_unmined_glyphs->m_address = base + offset; - n_unmined_glyphs->m_parent = p_node_parent; - n_unmined_glyphs->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unmined_glyphs); - - field_name = "z_base"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block_column, field_name)); - auto n_z_base = new NodeSimple; - n_z_base->m_field_name = field_name; - n_z_base->m_df_type = DF_Type::int16_t; - n_z_base->m_rdf_type = RDF_Type::int16_t; - n_z_base->m_node_type = NodeType::Simple; - n_z_base->m_address = base + offset; - n_z_base->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_z_base); - - field_name = "cave_columns"; - auto n_cave_columns = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block_column, field_name)); - n_cave_columns->m_field_name = field_name; - n_cave_columns->m_df_type = DF_Type::cave_column_link; - n_cave_columns->m_rdf_type = RDF_Type::Array; - n_cave_columns->m_node_type = NodeType::Array; - n_cave_columns->m_addornements = "[16[16"; - n_cave_columns->m_array_size = 16; - n_cave_columns->m_address = base + offset; - n_cave_columns->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cave_columns); - - field_name = "column_rectangles"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block_column, field_name)); - auto n_column_rectangles = new NodeVector; - n_column_rectangles->m_field_name = field_name; - n_column_rectangles->m_df_type = DF_Type::cave_column_rectangle; - n_column_rectangles->m_rdf_type = RDF_Type::Vector; - n_column_rectangles->m_node_type = NodeType::Vector; - n_column_rectangles->m_defined_in = "df.map.xml"; - n_column_rectangles->m_addornements = "v*"; - n_column_rectangles->m_address = base + offset; - n_column_rectangles->m_parent = p_node_parent; - n_column_rectangles->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_column_rectangles); - - field_name = "z_shift"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block_column, field_name)); - auto n_z_shift = new NodeSimple; - n_z_shift->m_field_name = field_name; - n_z_shift->m_df_type = DF_Type::int16_t; - n_z_shift->m_rdf_type = RDF_Type::int16_t; - n_z_shift->m_node_type = NodeType::Simple; - n_z_shift->m_address = base + offset; - n_z_shift->m_comment = "seems to be 0 originally, but updated when map is shifted"; - n_z_shift->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_z_shift); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block_column, field_name)); - auto n_flags = new NodeDFFlagArray; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::int32_t; - n_flags->m_size = 32; - n_flags->m_rdf_type = RDF_Type::DFFlagArray; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_comment = "0 process cave columns for caveins"; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "unk_v40_1"; - auto n_unk_v40_1 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block_column, field_name)); - n_unk_v40_1->m_field_name = field_name; - n_unk_v40_1->m_df_type = DF_Type::int16_t; - n_unk_v40_1->m_rdf_type = RDF_Type::Array; - n_unk_v40_1->m_node_type = NodeType::Array; - n_unk_v40_1->m_addornements = "[16[16"; - n_unk_v40_1->m_array_size = 16; - n_unk_v40_1->m_address = base + offset; - n_unk_v40_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_1); - - field_name = "map_pos"; - auto n_map_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block_column, field_name)); - n_map_pos->m_field_name = field_name; - n_map_pos->m_df_type = DF_Type::coord2d; - n_map_pos->m_rdf_type = RDF_Type::Struct; - n_map_pos->m_node_type = NodeType::Compound; - n_map_pos->m_address = base + offset; - n_map_pos->m_defined_in = "df.map.xml"; - n_map_pos->m_comment = "top left in tiles"; - n_map_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_map_pos); - - field_name = "unk_c3c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block_column, field_name)); - auto n_unk_c3c = new NodeSimple; - n_unk_c3c->m_field_name = field_name; - n_unk_c3c->m_df_type = DF_Type::int16_t; - n_unk_c3c->m_rdf_type = RDF_Type::int16_t; - n_unk_c3c->m_node_type = NodeType::Simple; - n_unk_c3c->m_address = base + offset; - n_unk_c3c->m_comment = "uninitialized"; - n_unk_c3c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_c3c); - - field_name = "region_pos"; - auto n_region_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block_column, field_name)); - n_region_pos->m_field_name = field_name; - n_region_pos->m_df_type = DF_Type::coord2d; - n_region_pos->m_rdf_type = RDF_Type::Struct; - n_region_pos->m_node_type = NodeType::Compound; - n_region_pos->m_address = base + offset; - n_region_pos->m_defined_in = "df.map.xml"; - n_region_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region_pos); - - field_name = "plants"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block_column, field_name)); - auto n_plants = new NodeVector; - n_plants->m_field_name = field_name; - n_plants->m_df_type = DF_Type::plant; - n_plants->m_rdf_type = RDF_Type::Vector; - n_plants->m_node_type = NodeType::Vector; - n_plants->m_defined_in = "df.plants.xml"; - n_plants->m_addornements = "v*"; - n_plants->m_address = base + offset; - n_plants->m_parent = p_node_parent; - n_plants->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_plants); - -} -void node_from_block_square_event_mineralst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::block_square_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_block_square_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "inorganic_mat"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_mineralst, field_name)); - auto n_inorganic_mat = new NodeSimple; - n_inorganic_mat->m_field_name = field_name; - n_inorganic_mat->m_df_type = DF_Type::int32_t; - n_inorganic_mat->m_rdf_type = RDF_Type::int32_t; - n_inorganic_mat->m_node_type = NodeType::Simple; - n_inorganic_mat->m_address = base + offset; - n_inorganic_mat->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_inorganic_mat); - - field_name = "tile_bitmask"; - auto n_tile_bitmask = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_mineralst, field_name)); - n_tile_bitmask->m_field_name = field_name; - n_tile_bitmask->m_df_type = DF_Type::tile_bitmask; - n_tile_bitmask->m_rdf_type = RDF_Type::Struct; - n_tile_bitmask->m_node_type = NodeType::Compound; - n_tile_bitmask->m_address = base + offset; - n_tile_bitmask->m_defined_in = "df.map.xml"; - n_tile_bitmask->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tile_bitmask); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_mineralst, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::block_square_event_mineralst__T_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - -} -void node_from_block_square_event_frozen_liquidst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::block_square_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_block_square_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "tiles"; - auto n_tiles = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_frozen_liquidst, field_name)); - n_tiles->m_field_name = field_name; - n_tiles->m_df_type = DF_Type::tiletype; - n_tiles->m_rdf_type = RDF_Type::Array; - n_tiles->m_node_type = NodeType::Array; - n_tiles->m_enum_base = DF_Type::int16_t; - n_tiles->m_defined_in = "df.tile-types.xml"; - n_tiles->m_addornements = "[16[16"; - n_tiles->m_array_size = 16; - n_tiles->m_address = base + offset; - n_tiles->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tiles); - - field_name = "liquid_type"; - auto n_liquid_type = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_frozen_liquidst, field_name)); - n_liquid_type->m_field_name = field_name; - n_liquid_type->m_df_type = DF_Type::tile_liquid; - n_liquid_type->m_rdf_type = RDF_Type::Array; - n_liquid_type->m_node_type = NodeType::Array; - n_liquid_type->m_enum_base = DF_Type::int8_t; - n_liquid_type->m_defined_in = "df.map.xml"; - n_liquid_type->m_addornements = "[16[16"; - n_liquid_type->m_array_size = 16; - n_liquid_type->m_address = base + offset; - n_liquid_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_liquid_type); - -} -void node_from_block_square_event_world_constructionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::block_square_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_block_square_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "construction_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_world_constructionst, field_name)); - auto n_construction_id = new NodeSimple; - n_construction_id->m_field_name = field_name; - n_construction_id->m_df_type = DF_Type::int32_t; - n_construction_id->m_rdf_type = RDF_Type::int32_t; - n_construction_id->m_node_type = NodeType::Simple; - n_construction_id->m_address = base + offset; - n_construction_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_construction_id); - - field_name = "tile_bitmask"; - auto n_tile_bitmask = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_world_constructionst, field_name)); - n_tile_bitmask->m_field_name = field_name; - n_tile_bitmask->m_df_type = DF_Type::tile_bitmask; - n_tile_bitmask->m_rdf_type = RDF_Type::Struct; - n_tile_bitmask->m_node_type = NodeType::Compound; - n_tile_bitmask->m_address = base + offset; - n_tile_bitmask->m_defined_in = "df.map.xml"; - n_tile_bitmask->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tile_bitmask); - -} -void node_from_block_square_event_item_spatterst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::block_square_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_block_square_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "item_type"; - auto n_item_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_item_spatterst, field_name)); - n_item_type->m_field_name = field_name; - n_item_type->m_df_type = DF_Type::item_type; - n_item_type->m_rdf_type = RDF_Type::Enum; - n_item_type->m_node_type = NodeType::Enum; - n_item_type->m_base_type = DF_Type::int16_t; - n_item_type->m_enum_type = "item_type"; - n_item_type->m_address = base + offset; - n_item_type->m_defined_in = "df.item-raws.xml"; - n_item_type->m_first_value = -1; - n_item_type->m_last_value = 90; - n_item_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_type); - - field_name = "item_subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_item_spatterst, field_name)); - auto n_item_subtype = new NodeSimple; - n_item_subtype->m_field_name = field_name; - n_item_subtype->m_df_type = DF_Type::int16_t; - n_item_subtype->m_rdf_type = RDF_Type::int16_t; - n_item_subtype->m_node_type = NodeType::Simple; - n_item_subtype->m_address = base + offset; - n_item_subtype->m_refers_to = "(item-subtype-target $$._parent.item_type $)"; - n_item_subtype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_subtype); - - field_name = "mattype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_item_spatterst, field_name)); - auto n_mattype = new NodeSimple; - n_mattype->m_field_name = field_name; - n_mattype->m_df_type = DF_Type::int16_t; - n_mattype->m_rdf_type = RDF_Type::int16_t; - n_mattype->m_node_type = NodeType::Simple; - n_mattype->m_address = base + offset; - n_mattype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mattype); - - field_name = "matindex"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_item_spatterst, field_name)); - auto n_matindex = new NodeSimple; - n_matindex->m_field_name = field_name; - n_matindex->m_df_type = DF_Type::int32_t; - n_matindex->m_rdf_type = RDF_Type::int32_t; - n_matindex->m_node_type = NodeType::Simple; - n_matindex->m_address = base + offset; - n_matindex->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_matindex); - - field_name = "unk1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_item_spatterst, field_name)); - auto n_unk1 = new NodeSimple; - n_unk1->m_field_name = field_name; - n_unk1->m_df_type = DF_Type::int32_t; - n_unk1->m_rdf_type = RDF_Type::int32_t; - n_unk1->m_node_type = NodeType::Simple; - n_unk1->m_address = base + offset; - n_unk1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk1); - - field_name = "amount"; - auto n_amount = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_item_spatterst, field_name)); - n_amount->m_field_name = field_name; - n_amount->m_df_type = DF_Type::int32_t; - n_amount->m_rdf_type = RDF_Type::Array; - n_amount->m_node_type = NodeType::Array; - n_amount->m_addornements = "[16[16"; - n_amount->m_array_size = 16; - n_amount->m_address = base + offset; - n_amount->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_amount); - - field_name = "unk2"; - auto n_unk2 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_item_spatterst, field_name)); - n_unk2->m_field_name = field_name; - n_unk2->m_df_type = DF_Type::int8_t; - n_unk2->m_rdf_type = RDF_Type::Array; - n_unk2->m_node_type = NodeType::Array; - n_unk2->m_addornements = "[16[16"; - n_unk2->m_array_size = 16; - n_unk2->m_address = base + offset; - n_unk2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk2); - - field_name = "temp1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_item_spatterst, field_name)); - auto n_temp1 = new NodeSimple; - n_temp1->m_field_name = field_name; - n_temp1->m_df_type = DF_Type::uint16_t; - n_temp1->m_rdf_type = RDF_Type::uint16_t; - n_temp1->m_node_type = NodeType::Simple; - n_temp1->m_address = base + offset; - n_temp1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_temp1); - - field_name = "temp2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_item_spatterst, field_name)); - auto n_temp2 = new NodeSimple; - n_temp2->m_field_name = field_name; - n_temp2->m_df_type = DF_Type::uint16_t; - n_temp2->m_rdf_type = RDF_Type::uint16_t; - n_temp2->m_node_type = NodeType::Simple; - n_temp2->m_address = base + offset; - n_temp2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_temp2); - -} -void node_from_feature(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "population"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature, field_name)); - auto n_population = new NodeVector; - n_population->m_field_name = field_name; - n_population->m_df_type = DF_Type::world_population; - n_population->m_rdf_type = RDF_Type::Vector; - n_population->m_node_type = NodeType::Vector; - n_population->m_defined_in = "df.world-data.xml"; - n_population->m_addornements = "v*"; - n_population->m_address = base + offset; - n_population->m_parent = p_node_parent; - n_population->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_population); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int16_t; - n_anon_2->m_rdf_type = RDF_Type::int16_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "embark_pos"; - auto n_embark_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature, field_name)); - n_embark_pos->m_field_name = field_name; - n_embark_pos->m_df_type = DF_Type::coord2d_path; - n_embark_pos->m_rdf_type = RDF_Type::Struct; - n_embark_pos->m_node_type = NodeType::Compound; - n_embark_pos->m_address = base + offset; - n_embark_pos->m_defined_in = "df.map.xml"; - n_embark_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_embark_pos); - - field_name = "min_map_z"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature, field_name)); - auto n_min_map_z = new NodeVector; - n_min_map_z->m_field_name = field_name; - n_min_map_z->m_df_type = DF_Type::int16_t; - n_min_map_z->m_rdf_type = RDF_Type::Vector; - n_min_map_z->m_node_type = NodeType::Vector; - n_min_map_z->m_addornements = "v"; - n_min_map_z->m_address = base + offset; - n_min_map_z->m_parent = p_node_parent; - n_min_map_z->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_min_map_z); - - field_name = "max_map_z"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature, field_name)); - auto n_max_map_z = new NodeVector; - n_max_map_z->m_field_name = field_name; - n_max_map_z->m_df_type = DF_Type::int16_t; - n_max_map_z->m_rdf_type = RDF_Type::Vector; - n_max_map_z->m_node_type = NodeType::Vector; - n_max_map_z->m_addornements = "v"; - n_max_map_z->m_address = base + offset; - n_max_map_z->m_parent = p_node_parent; - n_max_map_z->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_max_map_z); - -} -void node_from_feature_outdoor_riverst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::feature; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_feature(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_feature_cavest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::feature; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_feature(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_feature_pitst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::feature; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_feature(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_feature_magma_poolst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::feature; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_feature(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "magma_fill_z"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_magma_poolst, field_name)); - auto n_magma_fill_z = new NodeSimple; - n_magma_fill_z->m_field_name = field_name; - n_magma_fill_z->m_df_type = DF_Type::int32_t; - n_magma_fill_z->m_rdf_type = RDF_Type::int32_t; - n_magma_fill_z->m_node_type = NodeType::Simple; - n_magma_fill_z->m_address = base + offset; - n_magma_fill_z->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_magma_fill_z); - -} -void node_from_feature_volcanost(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::feature; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_feature(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "magma_fill_z"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_volcanost, field_name)); - auto n_magma_fill_z = new NodeSimple; - n_magma_fill_z->m_field_name = field_name; - n_magma_fill_z->m_df_type = DF_Type::int32_t; - n_magma_fill_z->m_rdf_type = RDF_Type::int32_t; - n_magma_fill_z->m_node_type = NodeType::Simple; - n_magma_fill_z->m_address = base + offset; - n_magma_fill_z->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_magma_fill_z); - -} -void node_from_feature_deep_special_tubest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::feature; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_feature(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_feature_deep_surface_portalst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::feature; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_feature(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_feature_subterranean_from_layerst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::feature; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_feature(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_feature_magma_core_from_layerst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::feature; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_feature(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_feature_underworld_from_layerst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::feature; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_feature(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_feature_init(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_init, field_name)); - auto n_flags = new NodeDFFlagArray; - n_flags->m_field_name = field_name; - n_flags->m_index_enum = DF_Type::feature_init_flags; - n_flags->m_df_type = DF_Type::feature_init_flags; - n_flags->m_size = 4; - n_flags->m_rdf_type = RDF_Type::DFFlagArray; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_defined_in = "df.map.xml"; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "alterations"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_init, field_name)); - auto n_alterations = new NodeVector; - n_alterations->m_field_name = field_name; - n_alterations->m_df_type = DF_Type::feature_alteration; - n_alterations->m_rdf_type = RDF_Type::Vector; - n_alterations->m_node_type = NodeType::Vector; - n_alterations->m_defined_in = "df.map.xml"; - n_alterations->m_addornements = "v*"; - n_alterations->m_address = base + offset; - n_alterations->m_parent = p_node_parent; - n_alterations->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_alterations); - - field_name = "start_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_init, field_name)); - auto n_start_x = new NodeSimple; - n_start_x->m_field_name = field_name; - n_start_x->m_df_type = DF_Type::int16_t; - n_start_x->m_rdf_type = RDF_Type::int16_t; - n_start_x->m_node_type = NodeType::Simple; - n_start_x->m_address = base + offset; - n_start_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_start_x); - - field_name = "start_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_init, field_name)); - auto n_start_y = new NodeSimple; - n_start_y->m_field_name = field_name; - n_start_y->m_df_type = DF_Type::int16_t; - n_start_y->m_rdf_type = RDF_Type::int16_t; - n_start_y->m_node_type = NodeType::Simple; - n_start_y->m_address = base + offset; - n_start_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_start_y); - - field_name = "end_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_init, field_name)); - auto n_end_x = new NodeSimple; - n_end_x->m_field_name = field_name; - n_end_x->m_df_type = DF_Type::int16_t; - n_end_x->m_rdf_type = RDF_Type::int16_t; - n_end_x->m_node_type = NodeType::Simple; - n_end_x->m_address = base + offset; - n_end_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_end_x); - - field_name = "end_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_init, field_name)); - auto n_end_y = new NodeSimple; - n_end_y->m_field_name = field_name; - n_end_y->m_df_type = DF_Type::int16_t; - n_end_y->m_rdf_type = RDF_Type::int16_t; - n_end_y->m_node_type = NodeType::Simple; - n_end_y->m_address = base + offset; - n_end_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_end_y); - - field_name = "start_depth"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_init, field_name)); - auto n_start_depth = new NodeSimple; - n_start_depth->m_field_name = field_name; - n_start_depth->m_df_type = DF_Type::int16_t; - n_start_depth->m_rdf_type = RDF_Type::int16_t; - n_start_depth->m_node_type = NodeType::Simple; - n_start_depth->m_address = base + offset; - n_start_depth->m_comment = "in underground layers"; - n_start_depth->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_start_depth); - - field_name = "end_depth"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_init, field_name)); - auto n_end_depth = new NodeSimple; - n_end_depth->m_field_name = field_name; - n_end_depth->m_df_type = DF_Type::int16_t; - n_end_depth->m_rdf_type = RDF_Type::int16_t; - n_end_depth->m_node_type = NodeType::Simple; - n_end_depth->m_address = base + offset; - n_end_depth->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_end_depth); - -} -void node_from_feature_init_outdoor_riverst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::feature_init; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_feature_init(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "feature"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_init_outdoor_riverst, field_name)); - auto n_feature = new NodePointer; - n_feature->m_field_name = field_name; - n_feature->m_df_type = get_real_subtype(base+offset, DF_Type::feature_outdoor_riverst); - n_feature->m_rdf_type = RDF_Type::Pointer; - n_feature->m_node_type = NodeType::Pointer; - n_feature->m_addornements = "*"; - n_feature->m_address = base + offset; - n_feature->m_parent = p_node_parent; - n_feature->m_defined_in = "df.map.xml"; - n_feature->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_feature); - -} -void node_from_feature_init_cavest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::feature_init; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_feature_init(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "feature"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_init_cavest, field_name)); - auto n_feature = new NodePointer; - n_feature->m_field_name = field_name; - n_feature->m_df_type = get_real_subtype(base+offset, DF_Type::feature_cavest); - n_feature->m_rdf_type = RDF_Type::Pointer; - n_feature->m_node_type = NodeType::Pointer; - n_feature->m_addornements = "*"; - n_feature->m_address = base + offset; - n_feature->m_parent = p_node_parent; - n_feature->m_defined_in = "df.map.xml"; - n_feature->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_feature); - -} -void node_from_feature_init_pitst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::feature_init; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_feature_init(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "feature"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_init_pitst, field_name)); - auto n_feature = new NodePointer; - n_feature->m_field_name = field_name; - n_feature->m_df_type = get_real_subtype(base+offset, DF_Type::feature_pitst); - n_feature->m_rdf_type = RDF_Type::Pointer; - n_feature->m_node_type = NodeType::Pointer; - n_feature->m_addornements = "*"; - n_feature->m_address = base + offset; - n_feature->m_parent = p_node_parent; - n_feature->m_defined_in = "df.map.xml"; - n_feature->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_feature); - -} -void node_from_feature_init_magma_poolst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::feature_init; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_feature_init(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "feature"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_init_magma_poolst, field_name)); - auto n_feature = new NodePointer; - n_feature->m_field_name = field_name; - n_feature->m_df_type = get_real_subtype(base+offset, DF_Type::feature_magma_poolst); - n_feature->m_rdf_type = RDF_Type::Pointer; - n_feature->m_node_type = NodeType::Pointer; - n_feature->m_addornements = "*"; - n_feature->m_address = base + offset; - n_feature->m_parent = p_node_parent; - n_feature->m_defined_in = "df.map.xml"; - n_feature->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_feature); - -} -void node_from_feature_init_volcanost(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::feature_init; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_feature_init(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "feature"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_init_volcanost, field_name)); - auto n_feature = new NodePointer; - n_feature->m_field_name = field_name; - n_feature->m_df_type = get_real_subtype(base+offset, DF_Type::feature_volcanost); - n_feature->m_rdf_type = RDF_Type::Pointer; - n_feature->m_node_type = NodeType::Pointer; - n_feature->m_addornements = "*"; - n_feature->m_address = base + offset; - n_feature->m_parent = p_node_parent; - n_feature->m_defined_in = "df.map.xml"; - n_feature->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_feature); - -} -void node_from_feature_init_deep_special_tubest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::feature_init; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_feature_init(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_init_deep_special_tubest, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_init_deep_special_tubest, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "feature"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_init_deep_special_tubest, field_name)); - auto n_feature = new NodePointer; - n_feature->m_field_name = field_name; - n_feature->m_df_type = get_real_subtype(base+offset, DF_Type::feature_deep_special_tubest); - n_feature->m_rdf_type = RDF_Type::Pointer; - n_feature->m_node_type = NodeType::Pointer; - n_feature->m_addornements = "*"; - n_feature->m_address = base + offset; - n_feature->m_parent = p_node_parent; - n_feature->m_defined_in = "df.map.xml"; - n_feature->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_feature); - -} -void node_from_feature_init_deep_surface_portalst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::feature_init; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_feature_init(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_init_deep_surface_portalst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_init_deep_surface_portalst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "feature"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_init_deep_surface_portalst, field_name)); - auto n_feature = new NodePointer; - n_feature->m_field_name = field_name; - n_feature->m_df_type = get_real_subtype(base+offset, DF_Type::feature_deep_surface_portalst); - n_feature->m_rdf_type = RDF_Type::Pointer; - n_feature->m_node_type = NodeType::Pointer; - n_feature->m_addornements = "*"; - n_feature->m_address = base + offset; - n_feature->m_parent = p_node_parent; - n_feature->m_defined_in = "df.map.xml"; - n_feature->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_feature); - -} -void node_from_feature_init_subterranean_from_layerst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::feature_init; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_feature_init(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "layer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_init_subterranean_from_layerst, field_name)); - auto n_layer = new NodeSimple; - n_layer->m_field_name = field_name; - n_layer->m_df_type = DF_Type::int32_t; - n_layer->m_rdf_type = RDF_Type::int32_t; - n_layer->m_node_type = NodeType::Simple; - n_layer->m_address = base + offset; - n_layer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_layer); - - field_name = "feature"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_init_subterranean_from_layerst, field_name)); - auto n_feature = new NodePointer; - n_feature->m_field_name = field_name; - n_feature->m_df_type = get_real_subtype(base+offset, DF_Type::feature_subterranean_from_layerst); - n_feature->m_rdf_type = RDF_Type::Pointer; - n_feature->m_node_type = NodeType::Pointer; - n_feature->m_addornements = "*"; - n_feature->m_address = base + offset; - n_feature->m_parent = p_node_parent; - n_feature->m_defined_in = "df.map.xml"; - n_feature->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_feature); - -} -void node_from_feature_init_magma_core_from_layerst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::feature_init; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_feature_init(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "layer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_init_magma_core_from_layerst, field_name)); - auto n_layer = new NodeSimple; - n_layer->m_field_name = field_name; - n_layer->m_df_type = DF_Type::int32_t; - n_layer->m_rdf_type = RDF_Type::int32_t; - n_layer->m_node_type = NodeType::Simple; - n_layer->m_address = base + offset; - n_layer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_layer); - - field_name = "feature"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_init_magma_core_from_layerst, field_name)); - auto n_feature = new NodePointer; - n_feature->m_field_name = field_name; - n_feature->m_df_type = get_real_subtype(base+offset, DF_Type::feature_magma_core_from_layerst); - n_feature->m_rdf_type = RDF_Type::Pointer; - n_feature->m_node_type = NodeType::Pointer; - n_feature->m_addornements = "*"; - n_feature->m_address = base + offset; - n_feature->m_parent = p_node_parent; - n_feature->m_defined_in = "df.map.xml"; - n_feature->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_feature); - -} -void node_from_feature_init_underworld_from_layerst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::feature_init; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_feature_init(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "layer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_init_underworld_from_layerst, field_name)); - auto n_layer = new NodeSimple; - n_layer->m_field_name = field_name; - n_layer->m_df_type = DF_Type::int32_t; - n_layer->m_rdf_type = RDF_Type::int32_t; - n_layer->m_node_type = NodeType::Simple; - n_layer->m_address = base + offset; - n_layer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_layer); - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_init_underworld_from_layerst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_init_underworld_from_layerst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "feature"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_init_underworld_from_layerst, field_name)); - auto n_feature = new NodePointer; - n_feature->m_field_name = field_name; - n_feature->m_df_type = get_real_subtype(base+offset, DF_Type::feature_underworld_from_layerst); - n_feature->m_rdf_type = RDF_Type::Pointer; - n_feature->m_node_type = NodeType::Pointer; - n_feature->m_addornements = "*"; - n_feature->m_address = base + offset; - n_feature->m_parent = p_node_parent; - n_feature->m_defined_in = "df.map.xml"; - n_feature->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_feature); - -} -void node_from_world_construction_square(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "region_pos"; - auto n_region_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_construction_square, field_name)); - n_region_pos->m_field_name = field_name; - n_region_pos->m_df_type = DF_Type::coord2d; - n_region_pos->m_rdf_type = RDF_Type::Struct; - n_region_pos->m_node_type = NodeType::Compound; - n_region_pos->m_address = base + offset; - n_region_pos->m_defined_in = "df.map.xml"; - n_region_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region_pos); - - field_name = "construction_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_construction_square, field_name)); - auto n_construction_id = new NodeSimple; - n_construction_id->m_field_name = field_name; - n_construction_id->m_df_type = DF_Type::int32_t; - n_construction_id->m_rdf_type = RDF_Type::int32_t; - n_construction_id->m_node_type = NodeType::Simple; - n_construction_id->m_address = base + offset; - n_construction_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_construction_id); - - field_name = "embark_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_construction_square, field_name)); - auto n_embark_x = new NodeVector; - n_embark_x->m_field_name = field_name; - n_embark_x->m_df_type = DF_Type::int16_t; - n_embark_x->m_rdf_type = RDF_Type::Vector; - n_embark_x->m_node_type = NodeType::Vector; - n_embark_x->m_addornements = "v"; - n_embark_x->m_address = base + offset; - n_embark_x->m_parent = p_node_parent; - n_embark_x->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_embark_x); - - field_name = "embark_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_construction_square, field_name)); - auto n_embark_y = new NodeVector; - n_embark_y->m_field_name = field_name; - n_embark_y->m_df_type = DF_Type::int16_t; - n_embark_y->m_rdf_type = RDF_Type::Vector; - n_embark_y->m_node_type = NodeType::Vector; - n_embark_y->m_addornements = "v"; - n_embark_y->m_address = base + offset; - n_embark_y->m_parent = p_node_parent; - n_embark_y->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_embark_y); - - field_name = "embark_unk"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_construction_square, field_name)); - auto n_embark_unk = new NodeVector; - n_embark_unk->m_field_name = field_name; - n_embark_unk->m_df_type = DF_Type::int16_t; - n_embark_unk->m_rdf_type = RDF_Type::Vector; - n_embark_unk->m_node_type = NodeType::Vector; - n_embark_unk->m_addornements = "v"; - n_embark_unk->m_address = base + offset; - n_embark_unk->m_parent = p_node_parent; - n_embark_unk->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_embark_unk); - - field_name = "embark_z"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_construction_square, field_name)); - auto n_embark_z = new NodeVector; - n_embark_z->m_field_name = field_name; - n_embark_z->m_df_type = DF_Type::int16_t; - n_embark_z->m_rdf_type = RDF_Type::Vector; - n_embark_z->m_node_type = NodeType::Vector; - n_embark_z->m_addornements = "v"; - n_embark_z->m_address = base + offset; - n_embark_z->m_parent = p_node_parent; - n_embark_z->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_embark_z); - -} -void node_from_world_construction_square_roadst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::world_construction_square; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_world_construction_square(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "item_type"; - auto n_item_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_construction_square_roadst, field_name)); - n_item_type->m_field_name = field_name; - n_item_type->m_df_type = DF_Type::item_type; - n_item_type->m_rdf_type = RDF_Type::Enum; - n_item_type->m_node_type = NodeType::Enum; - n_item_type->m_base_type = DF_Type::int16_t; - n_item_type->m_enum_type = "item_type"; - n_item_type->m_address = base + offset; - n_item_type->m_defined_in = "df.item-raws.xml"; - n_item_type->m_first_value = -1; - n_item_type->m_last_value = 90; - n_item_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_type); - - field_name = "item_subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_construction_square_roadst, field_name)); - auto n_item_subtype = new NodeSimple; - n_item_subtype->m_field_name = field_name; - n_item_subtype->m_df_type = DF_Type::int16_t; - n_item_subtype->m_rdf_type = RDF_Type::int16_t; - n_item_subtype->m_node_type = NodeType::Simple; - n_item_subtype->m_address = base + offset; - n_item_subtype->m_refers_to = "(item-subtype-target $$._parent.item_type $)"; - n_item_subtype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_subtype); - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_construction_square_roadst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_construction_square_roadst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - -} -void node_from_world_construction_square_tunnelst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::world_construction_square; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_world_construction_square(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_world_construction_square_bridgest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::world_construction_square; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_world_construction_square(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "road_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_construction_square_bridgest, field_name)); - auto n_road_id = new NodeSimple; - n_road_id->m_field_name = field_name; - n_road_id->m_df_type = DF_Type::int32_t; - n_road_id->m_rdf_type = RDF_Type::int32_t; - n_road_id->m_node_type = NodeType::Simple; - n_road_id->m_address = base + offset; - n_road_id->m_comment = "guess"; - n_road_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_road_id); - - field_name = "item_type"; - auto n_item_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_construction_square_bridgest, field_name)); - n_item_type->m_field_name = field_name; - n_item_type->m_df_type = DF_Type::item_type; - n_item_type->m_rdf_type = RDF_Type::Enum; - n_item_type->m_node_type = NodeType::Enum; - n_item_type->m_base_type = DF_Type::int16_t; - n_item_type->m_enum_type = "item_type"; - n_item_type->m_address = base + offset; - n_item_type->m_defined_in = "df.item-raws.xml"; - n_item_type->m_first_value = -1; - n_item_type->m_last_value = 90; - n_item_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_type); - - field_name = "item_subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_construction_square_bridgest, field_name)); - auto n_item_subtype = new NodeSimple; - n_item_subtype->m_field_name = field_name; - n_item_subtype->m_df_type = DF_Type::int16_t; - n_item_subtype->m_rdf_type = RDF_Type::int16_t; - n_item_subtype->m_node_type = NodeType::Simple; - n_item_subtype->m_address = base + offset; - n_item_subtype->m_refers_to = "(item-subtype-target $$._parent.item_type $)"; - n_item_subtype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_subtype); - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_construction_square_bridgest, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_construction_square_bridgest, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - -} -void node_from_world_construction_square_wallst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::world_construction_square; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_world_construction_square(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "item_type"; - auto n_item_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_construction_square_wallst, field_name)); - n_item_type->m_field_name = field_name; - n_item_type->m_df_type = DF_Type::item_type; - n_item_type->m_rdf_type = RDF_Type::Enum; - n_item_type->m_node_type = NodeType::Enum; - n_item_type->m_base_type = DF_Type::int16_t; - n_item_type->m_enum_type = "item_type"; - n_item_type->m_address = base + offset; - n_item_type->m_defined_in = "df.item-raws.xml"; - n_item_type->m_first_value = -1; - n_item_type->m_last_value = 90; - n_item_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_type); - - field_name = "item_subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_construction_square_wallst, field_name)); - auto n_item_subtype = new NodeSimple; - n_item_subtype->m_field_name = field_name; - n_item_subtype->m_df_type = DF_Type::int16_t; - n_item_subtype->m_rdf_type = RDF_Type::int16_t; - n_item_subtype->m_node_type = NodeType::Simple; - n_item_subtype->m_address = base + offset; - n_item_subtype->m_refers_to = "(item-subtype-target $$._parent.item_type $)"; - n_item_subtype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_subtype); - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_construction_square_wallst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_construction_square_wallst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - -} -void node_from_world_construction(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_construction, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "square_obj"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_construction, field_name)); - auto n_square_obj = new NodeVector; - n_square_obj->m_field_name = field_name; - n_square_obj->m_df_type = DF_Type::world_construction_square; - n_square_obj->m_rdf_type = RDF_Type::Vector; - n_square_obj->m_node_type = NodeType::Vector; - n_square_obj->m_defined_in = "df.map.xml"; - n_square_obj->m_addornements = "v*"; - n_square_obj->m_address = base + offset; - n_square_obj->m_parent = p_node_parent; - n_square_obj->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_square_obj); - - field_name = "square_pos"; - auto n_square_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_construction, field_name)); - n_square_pos->m_field_name = field_name; - n_square_pos->m_df_type = DF_Type::coord2d_path; - n_square_pos->m_rdf_type = RDF_Type::Struct; - n_square_pos->m_node_type = NodeType::Compound; - n_square_pos->m_address = base + offset; - n_square_pos->m_defined_in = "df.map.xml"; - n_square_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_square_pos); - -} -void node_from_world_construction_roadst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::world_construction; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_world_construction(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "name"; - auto n_name = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_construction_roadst, field_name)); - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::language_name; - n_name->m_rdf_type = RDF_Type::Struct; - n_name->m_node_type = NodeType::Compound; - n_name->m_address = base + offset; - n_name->m_defined_in = "df.language.xml"; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - -} -void node_from_world_construction_tunnelst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::world_construction; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_world_construction(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "name"; - auto n_name = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_construction_tunnelst, field_name)); - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::language_name; - n_name->m_rdf_type = RDF_Type::Struct; - n_name->m_node_type = NodeType::Compound; - n_name->m_address = base + offset; - n_name->m_defined_in = "df.language.xml"; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - -} -void node_from_world_construction_bridgest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::world_construction; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_world_construction(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "name"; - auto n_name = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_construction_bridgest, field_name)); - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::language_name; - n_name->m_rdf_type = RDF_Type::Struct; - n_name->m_node_type = NodeType::Compound; - n_name->m_address = base + offset; - n_name->m_defined_in = "df.language.xml"; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - -} -void node_from_world_construction_wallst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::world_construction; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_world_construction(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "name"; - auto n_name = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_construction_wallst, field_name)); - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::language_name; - n_name->m_rdf_type = RDF_Type::Struct; - n_name->m_node_type = NodeType::Compound; - n_name->m_address = base + offset; - n_name->m_defined_in = "df.language.xml"; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - -} -void node_from_construction(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "pos"; - auto n_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::construction, field_name)); - n_pos->m_field_name = field_name; - n_pos->m_df_type = DF_Type::coord; - n_pos->m_rdf_type = RDF_Type::Struct; - n_pos->m_node_type = NodeType::Compound; - n_pos->m_address = base + offset; - n_pos->m_defined_in = "df.map.xml"; - n_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pos); - - field_name = "item_type"; - auto n_item_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::construction, field_name)); - n_item_type->m_field_name = field_name; - n_item_type->m_df_type = DF_Type::item_type; - n_item_type->m_rdf_type = RDF_Type::Enum; - n_item_type->m_node_type = NodeType::Enum; - n_item_type->m_base_type = DF_Type::int16_t; - n_item_type->m_enum_type = "item_type"; - n_item_type->m_address = base + offset; - n_item_type->m_defined_in = "df.item-raws.xml"; - n_item_type->m_first_value = -1; - n_item_type->m_last_value = 90; - n_item_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_type); - - field_name = "item_subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::construction, field_name)); - auto n_item_subtype = new NodeSimple; - n_item_subtype->m_field_name = field_name; - n_item_subtype->m_df_type = DF_Type::int16_t; - n_item_subtype->m_rdf_type = RDF_Type::int16_t; - n_item_subtype->m_node_type = NodeType::Simple; - n_item_subtype->m_address = base + offset; - n_item_subtype->m_refers_to = "(item-subtype-target $$._parent.item_type $)"; - n_item_subtype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_subtype); - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::construction, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::construction, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::construction, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::construction_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_defined_in = "df.map.xml"; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "original_tile"; - auto n_original_tile = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::construction, field_name)); - n_original_tile->m_field_name = field_name; - n_original_tile->m_df_type = DF_Type::tiletype; - n_original_tile->m_rdf_type = RDF_Type::Enum; - n_original_tile->m_node_type = NodeType::Enum; - n_original_tile->m_base_type = DF_Type::int16_t; - n_original_tile->m_enum_type = "tiletype"; - n_original_tile->m_address = base + offset; - n_original_tile->m_defined_in = "df.tile-types.xml"; - n_original_tile->m_first_value = 0; - n_original_tile->m_last_value = 694; - n_original_tile->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_original_tile); - -} -void node_from_flow_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "type"; - auto n_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::flow_info, field_name)); - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::flow_type; - n_type->m_rdf_type = RDF_Type::Enum; - n_type->m_node_type = NodeType::Enum; - n_type->m_base_type = DF_Type::int16_t; - n_type->m_enum_type = "flow_type"; - n_type->m_address = base + offset; - n_type->m_defined_in = "df.map.xml"; - n_type->m_first_value = 0; - n_type->m_last_value = 13; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::flow_info, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::flow_info, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "density"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::flow_info, field_name)); - auto n_density = new NodeSimple; - n_density->m_field_name = field_name; - n_density->m_df_type = DF_Type::int16_t; - n_density->m_rdf_type = RDF_Type::int16_t; - n_density->m_node_type = NodeType::Simple; - n_density->m_address = base + offset; - n_density->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_density); - - field_name = "pos"; - auto n_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::flow_info, field_name)); - n_pos->m_field_name = field_name; - n_pos->m_df_type = DF_Type::coord; - n_pos->m_rdf_type = RDF_Type::Struct; - n_pos->m_node_type = NodeType::Compound; - n_pos->m_address = base + offset; - n_pos->m_defined_in = "df.map.xml"; - n_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pos); - - field_name = "dest"; - auto n_dest = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::flow_info, field_name)); - n_dest->m_field_name = field_name; - n_dest->m_df_type = DF_Type::coord; - n_dest->m_rdf_type = RDF_Type::Struct; - n_dest->m_node_type = NodeType::Compound; - n_dest->m_address = base + offset; - n_dest->m_defined_in = "df.map.xml"; - n_dest->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dest); - - field_name = "expanding"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::flow_info, field_name)); - auto n_expanding = new NodeSimple; - n_expanding->m_field_name = field_name; - n_expanding->m_df_type = DF_Type::Bool; - n_expanding->m_rdf_type = RDF_Type::Bool; - n_expanding->m_node_type = NodeType::Simple; - n_expanding->m_address = base + offset; - n_expanding->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_expanding); - - field_name = "reuse"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::flow_info, field_name)); - auto n_reuse = new NodeSimple; - n_reuse->m_field_name = field_name; - n_reuse->m_df_type = DF_Type::Bool; - n_reuse->m_rdf_type = RDF_Type::Bool; - n_reuse->m_node_type = NodeType::Simple; - n_reuse->m_address = base + offset; - n_reuse->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_reuse); - - field_name = "guide_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::flow_info, field_name)); - auto n_guide_id = new NodeSimple; - n_guide_id->m_field_name = field_name; - n_guide_id->m_df_type = DF_Type::int32_t; - n_guide_id->m_rdf_type = RDF_Type::int32_t; - n_guide_id->m_node_type = NodeType::Simple; - n_guide_id->m_address = base + offset; - n_guide_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_guide_id); - -} -void node_from_flow_guide_trailing_flowst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::flow_guide; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_flow_guide(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - auto n_anon_1 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::flow_guide_trailing_flowst, field_name)); - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::coord; - n_anon_1->m_rdf_type = RDF_Type::Array; - n_anon_1->m_node_type = NodeType::Array; - n_anon_1->m_defined_in = "df.map.xml"; - n_anon_1->m_addornements = "[15"; - n_anon_1->m_array_size = 15; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_flow_guide_item_cloudst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::flow_guide; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_flow_guide(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "item_type"; - auto n_item_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::flow_guide_item_cloudst, field_name)); - n_item_type->m_field_name = field_name; - n_item_type->m_df_type = DF_Type::item_type; - n_item_type->m_rdf_type = RDF_Type::Enum; - n_item_type->m_node_type = NodeType::Enum; - n_item_type->m_base_type = DF_Type::int16_t; - n_item_type->m_enum_type = "item_type"; - n_item_type->m_address = base + offset; - n_item_type->m_defined_in = "df.item-raws.xml"; - n_item_type->m_first_value = -1; - n_item_type->m_last_value = 90; - n_item_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_type); - - field_name = "item_subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::flow_guide_item_cloudst, field_name)); - auto n_item_subtype = new NodeSimple; - n_item_subtype->m_field_name = field_name; - n_item_subtype->m_df_type = DF_Type::int16_t; - n_item_subtype->m_rdf_type = RDF_Type::int16_t; - n_item_subtype->m_node_type = NodeType::Simple; - n_item_subtype->m_address = base + offset; - n_item_subtype->m_refers_to = "(item-subtype-target $$._parent.item_type $)"; - n_item_subtype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_subtype); - - field_name = "mattype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::flow_guide_item_cloudst, field_name)); - auto n_mattype = new NodeSimple; - n_mattype->m_field_name = field_name; - n_mattype->m_df_type = DF_Type::int16_t; - n_mattype->m_rdf_type = RDF_Type::int16_t; - n_mattype->m_node_type = NodeType::Simple; - n_mattype->m_address = base + offset; - n_mattype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mattype); - - field_name = "matindex"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::flow_guide_item_cloudst, field_name)); - auto n_matindex = new NodeSimple; - n_matindex->m_field_name = field_name; - n_matindex->m_df_type = DF_Type::int32_t; - n_matindex->m_rdf_type = RDF_Type::int32_t; - n_matindex->m_node_type = NodeType::Simple; - n_matindex->m_address = base + offset; - n_matindex->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_matindex); - - field_name = "unk_18"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::flow_guide_item_cloudst, field_name)); - auto n_unk_18 = new NodeSimple; - n_unk_18->m_field_name = field_name; - n_unk_18->m_df_type = DF_Type::int32_t; - n_unk_18->m_rdf_type = RDF_Type::int32_t; - n_unk_18->m_node_type = NodeType::Simple; - n_unk_18->m_address = base + offset; - n_unk_18->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_18); - - field_name = "unk_1c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::flow_guide_item_cloudst, field_name)); - auto n_unk_1c = new NodeSimple; - n_unk_1c->m_field_name = field_name; - n_unk_1c->m_df_type = DF_Type::int32_t; - n_unk_1c->m_rdf_type = RDF_Type::int32_t; - n_unk_1c->m_node_type = NodeType::Simple; - n_unk_1c->m_address = base + offset; - n_unk_1c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_1c); - - field_name = "anon_1"; - auto n_anon_1 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::flow_guide_item_cloudst, field_name)); - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::coord; - n_anon_1->m_rdf_type = RDF_Type::Array; - n_anon_1->m_node_type = NodeType::Array; - n_anon_1->m_defined_in = "df.map.xml"; - n_anon_1->m_addornements = "[15"; - n_anon_1->m_array_size = 15; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_effect_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::effect_info, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_comment = "assigned during Save"; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::effect_info, field_name)); - auto n_anon_1 = new NodePointer; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = get_real_subtype(base+offset, DF_Type::job); - n_anon_1->m_rdf_type = RDF_Type::Pointer; - n_anon_1->m_node_type = NodeType::Pointer; - n_anon_1->m_addornements = "*"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_defined_in = "df.jobs.xml"; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::effect_info, field_name)); - auto n_type = new NodeSimple; - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::int16_t; - n_type->m_rdf_type = RDF_Type::int16_t; - n_type->m_node_type = NodeType::Simple; - n_type->m_address = base + offset; - n_type->m_comment = "2 = falling into chasm"; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - - field_name = "foreground"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::effect_info, field_name)); - auto n_foreground = new NodeSimple; - n_foreground->m_field_name = field_name; - n_foreground->m_df_type = DF_Type::int16_t; - n_foreground->m_rdf_type = RDF_Type::int16_t; - n_foreground->m_node_type = NodeType::Simple; - n_foreground->m_address = base + offset; - n_foreground->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_foreground); - - field_name = "background"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::effect_info, field_name)); - auto n_background = new NodeSimple; - n_background->m_field_name = field_name; - n_background->m_df_type = DF_Type::int16_t; - n_background->m_rdf_type = RDF_Type::int16_t; - n_background->m_node_type = NodeType::Simple; - n_background->m_address = base + offset; - n_background->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_background); - - field_name = "bright"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::effect_info, field_name)); - auto n_bright = new NodeSimple; - n_bright->m_field_name = field_name; - n_bright->m_df_type = DF_Type::int8_t; - n_bright->m_rdf_type = RDF_Type::int8_t; - n_bright->m_node_type = NodeType::Simple; - n_bright->m_address = base + offset; - n_bright->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_bright); - - field_name = "pos"; - auto n_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::effect_info, field_name)); - n_pos->m_field_name = field_name; - n_pos->m_df_type = DF_Type::coord; - n_pos->m_rdf_type = RDF_Type::Struct; - n_pos->m_node_type = NodeType::Compound; - n_pos->m_address = base + offset; - n_pos->m_defined_in = "df.map.xml"; - n_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pos); - - field_name = "timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::effect_info, field_name)); - auto n_timer = new NodeSimple; - n_timer->m_field_name = field_name; - n_timer->m_df_type = DF_Type::int32_t; - n_timer->m_rdf_type = RDF_Type::int32_t; - n_timer->m_node_type = NodeType::Simple; - n_timer->m_address = base + offset; - n_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_timer); - -} -void node_from_material_common__T_heat(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "spec_heat"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common__T_heat, field_name)); - auto n_spec_heat = new NodeSimple; - n_spec_heat->m_field_name = field_name; - n_spec_heat->m_df_type = DF_Type::uint16_t; - n_spec_heat->m_rdf_type = RDF_Type::uint16_t; - n_spec_heat->m_node_type = NodeType::Simple; - n_spec_heat->m_address = base + offset; - n_spec_heat->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_spec_heat); - - field_name = "heatdam_point"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common__T_heat, field_name)); - auto n_heatdam_point = new NodeSimple; - n_heatdam_point->m_field_name = field_name; - n_heatdam_point->m_df_type = DF_Type::uint16_t; - n_heatdam_point->m_rdf_type = RDF_Type::uint16_t; - n_heatdam_point->m_node_type = NodeType::Simple; - n_heatdam_point->m_address = base + offset; - n_heatdam_point->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_heatdam_point); - - field_name = "colddam_point"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common__T_heat, field_name)); - auto n_colddam_point = new NodeSimple; - n_colddam_point->m_field_name = field_name; - n_colddam_point->m_df_type = DF_Type::uint16_t; - n_colddam_point->m_rdf_type = RDF_Type::uint16_t; - n_colddam_point->m_node_type = NodeType::Simple; - n_colddam_point->m_address = base + offset; - n_colddam_point->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_colddam_point); - - field_name = "ignite_point"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common__T_heat, field_name)); - auto n_ignite_point = new NodeSimple; - n_ignite_point->m_field_name = field_name; - n_ignite_point->m_df_type = DF_Type::uint16_t; - n_ignite_point->m_rdf_type = RDF_Type::uint16_t; - n_ignite_point->m_node_type = NodeType::Simple; - n_ignite_point->m_address = base + offset; - n_ignite_point->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ignite_point); - - field_name = "melting_point"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common__T_heat, field_name)); - auto n_melting_point = new NodeSimple; - n_melting_point->m_field_name = field_name; - n_melting_point->m_df_type = DF_Type::uint16_t; - n_melting_point->m_rdf_type = RDF_Type::uint16_t; - n_melting_point->m_node_type = NodeType::Simple; - n_melting_point->m_address = base + offset; - n_melting_point->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_melting_point); - - field_name = "boiling_point"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common__T_heat, field_name)); - auto n_boiling_point = new NodeSimple; - n_boiling_point->m_field_name = field_name; - n_boiling_point->m_df_type = DF_Type::uint16_t; - n_boiling_point->m_rdf_type = RDF_Type::uint16_t; - n_boiling_point->m_node_type = NodeType::Simple; - n_boiling_point->m_address = base + offset; - n_boiling_point->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_boiling_point); - - field_name = "mat_fixed_temp"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common__T_heat, field_name)); - auto n_mat_fixed_temp = new NodeSimple; - n_mat_fixed_temp->m_field_name = field_name; - n_mat_fixed_temp->m_df_type = DF_Type::uint16_t; - n_mat_fixed_temp->m_rdf_type = RDF_Type::uint16_t; - n_mat_fixed_temp->m_node_type = NodeType::Simple; - n_mat_fixed_temp->m_address = base + offset; - n_mat_fixed_temp->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_fixed_temp); - -} -void node_from_material_common__T_strength(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "absorption"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common__T_strength, field_name)); - auto n_absorption = new NodeSimple; - n_absorption->m_field_name = field_name; - n_absorption->m_df_type = DF_Type::int32_t; - n_absorption->m_rdf_type = RDF_Type::int32_t; - n_absorption->m_node_type = NodeType::Simple; - n_absorption->m_address = base + offset; - n_absorption->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_absorption); - - field_name = "yield"; - auto n_yield = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common__T_strength, field_name)); - n_yield->m_field_name = field_name; - n_yield->m_df_type = DF_Type::int32_t; - n_yield->m_rdf_type = RDF_Type::Array; - n_yield->m_node_type = NodeType::Array; - n_yield->m_index_enum = DF_Type::strain_type; - n_yield->m_addornements = "[6"; - n_yield->m_array_size = 6; - n_yield->m_address = base + offset; - n_yield->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_yield); - - field_name = "fracture"; - auto n_fracture = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common__T_strength, field_name)); - n_fracture->m_field_name = field_name; - n_fracture->m_df_type = DF_Type::int32_t; - n_fracture->m_rdf_type = RDF_Type::Array; - n_fracture->m_node_type = NodeType::Array; - n_fracture->m_index_enum = DF_Type::strain_type; - n_fracture->m_addornements = "[6"; - n_fracture->m_array_size = 6; - n_fracture->m_address = base + offset; - n_fracture->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_fracture); - - field_name = "strain_at_yield"; - auto n_strain_at_yield = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common__T_strength, field_name)); - n_strain_at_yield->m_field_name = field_name; - n_strain_at_yield->m_df_type = DF_Type::int32_t; - n_strain_at_yield->m_rdf_type = RDF_Type::Array; - n_strain_at_yield->m_node_type = NodeType::Array; - n_strain_at_yield->m_index_enum = DF_Type::strain_type; - n_strain_at_yield->m_addornements = "[6"; - n_strain_at_yield->m_array_size = 6; - n_strain_at_yield->m_address = base + offset; - n_strain_at_yield->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_strain_at_yield); - - field_name = "max_edge"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common__T_strength, field_name)); - auto n_max_edge = new NodeSimple; - n_max_edge->m_field_name = field_name; - n_max_edge->m_df_type = DF_Type::int32_t; - n_max_edge->m_rdf_type = RDF_Type::int32_t; - n_max_edge->m_node_type = NodeType::Simple; - n_max_edge->m_address = base + offset; - n_max_edge->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_max_edge); - -} -void node_from_material_common__T_reaction_product(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common__T_reaction_product, field_name)); - auto n_id = new NodeVector; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::Stl_string; - n_id->m_rdf_type = RDF_Type::Vector; - n_id->m_node_type = NodeType::Vector; - n_id->m_addornements = "v*"; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - n_id->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_id); - - field_name = "item_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common__T_reaction_product, field_name)); - auto n_item_type = new NodeVector; - n_item_type->m_field_name = field_name; - n_item_type->m_df_type = DF_Type::int16_t; - n_item_type->m_rdf_type = RDF_Type::Vector; - n_item_type->m_node_type = NodeType::Vector; - n_item_type->m_addornements = "v"; - n_item_type->m_address = base + offset; - n_item_type->m_parent = p_node_parent; - n_item_type->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_item_type); - - field_name = "item_subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common__T_reaction_product, field_name)); - auto n_item_subtype = new NodeVector; - n_item_subtype->m_field_name = field_name; - n_item_subtype->m_df_type = DF_Type::int16_t; - n_item_subtype->m_rdf_type = RDF_Type::Vector; - n_item_subtype->m_node_type = NodeType::Vector; - n_item_subtype->m_addornements = "v"; - n_item_subtype->m_address = base + offset; - n_item_subtype->m_parent = p_node_parent; - n_item_subtype->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_item_subtype); - - field_name = "material"; - auto n_material = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common__T_reaction_product, field_name)); - n_material->m_field_name = field_name; - n_material->m_df_type = DF_Type::material_vec_ref; - n_material->m_rdf_type = RDF_Type::Struct; - n_material->m_node_type = NodeType::Compound; - n_material->m_address = base + offset; - n_material->m_defined_in = "df.materials.xml"; - n_material->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_material); - - field_name = "str"; - auto n_str = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common__T_reaction_product, field_name)); - n_str->m_field_name = field_name; - n_str->m_df_type = DF_Type::Stl_string; - n_str->m_rdf_type = RDF_Type::Array; - n_str->m_node_type = NodeType::Array; - n_str->m_addornements = "[5v*"; - n_str->m_array_size = 5; - n_str->m_address = base + offset; - n_str->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_str); - -} -void node_from_material_common__T_hardens_with_water(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common__T_hardens_with_water, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common__T_hardens_with_water, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "str"; - auto n_str = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common__T_hardens_with_water, field_name)); - n_str->m_field_name = field_name; - n_str->m_df_type = DF_Type::Stl_string; - n_str->m_rdf_type = RDF_Type::Array; - n_str->m_node_type = NodeType::Array; - n_str->m_addornements = "[3"; - n_str->m_array_size = 3; - n_str->m_address = base + offset; - n_str->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_str); - -} -void node_from_material_common(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::Stl_string; - n_id->m_rdf_type = RDF_Type::Stl_string; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "gem_name1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); - auto n_gem_name1 = new NodeSimple; - n_gem_name1->m_field_name = field_name; - n_gem_name1->m_df_type = DF_Type::Stl_string; - n_gem_name1->m_rdf_type = RDF_Type::Stl_string; - n_gem_name1->m_node_type = NodeType::Simple; - n_gem_name1->m_address = base + offset; - n_gem_name1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_gem_name1); - - field_name = "gem_name2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); - auto n_gem_name2 = new NodeSimple; - n_gem_name2->m_field_name = field_name; - n_gem_name2->m_df_type = DF_Type::Stl_string; - n_gem_name2->m_rdf_type = RDF_Type::Stl_string; - n_gem_name2->m_node_type = NodeType::Simple; - n_gem_name2->m_address = base + offset; - n_gem_name2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_gem_name2); - - field_name = "stone_name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); - auto n_stone_name = new NodeSimple; - n_stone_name->m_field_name = field_name; - n_stone_name->m_df_type = DF_Type::Stl_string; - n_stone_name->m_rdf_type = RDF_Type::Stl_string; - n_stone_name->m_node_type = NodeType::Simple; - n_stone_name->m_address = base + offset; - n_stone_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_stone_name); - - field_name = "heat"; - auto n_heat = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); - n_heat->m_field_name = field_name; - n_heat->m_df_type = DF_Type::material_common__T_heat; - n_heat->m_rdf_type = RDF_Type::Compound; - n_heat->m_node_type = NodeType::Compound; - n_heat->m_address = base + offset; - n_heat->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_heat); - - field_name = "solid_density"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); - auto n_solid_density = new NodeSimple; - n_solid_density->m_field_name = field_name; - n_solid_density->m_df_type = DF_Type::int32_t; - n_solid_density->m_rdf_type = RDF_Type::int32_t; - n_solid_density->m_node_type = NodeType::Simple; - n_solid_density->m_address = base + offset; - n_solid_density->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_solid_density); - - field_name = "liquid_density"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); - auto n_liquid_density = new NodeSimple; - n_liquid_density->m_field_name = field_name; - n_liquid_density->m_df_type = DF_Type::int32_t; - n_liquid_density->m_rdf_type = RDF_Type::int32_t; - n_liquid_density->m_node_type = NodeType::Simple; - n_liquid_density->m_address = base + offset; - n_liquid_density->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_liquid_density); - - field_name = "molar_mass"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); - auto n_molar_mass = new NodeSimple; - n_molar_mass->m_field_name = field_name; - n_molar_mass->m_df_type = DF_Type::int32_t; - n_molar_mass->m_rdf_type = RDF_Type::int32_t; - n_molar_mass->m_node_type = NodeType::Simple; - n_molar_mass->m_address = base + offset; - n_molar_mass->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_molar_mass); - - field_name = "state_color"; - auto n_state_color = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); - n_state_color->m_field_name = field_name; - n_state_color->m_df_type = DF_Type::int32_t; - n_state_color->m_rdf_type = RDF_Type::Array; - n_state_color->m_node_type = NodeType::Array; - n_state_color->m_index_enum = DF_Type::matter_state; - n_state_color->m_addornements = "[6"; - n_state_color->m_array_size = 6; - n_state_color->m_address = base + offset; - n_state_color->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_state_color); - - field_name = "state_name"; - auto n_state_name = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); - n_state_name->m_field_name = field_name; - n_state_name->m_df_type = DF_Type::Stl_string; - n_state_name->m_rdf_type = RDF_Type::Array; - n_state_name->m_node_type = NodeType::Array; - n_state_name->m_index_enum = DF_Type::matter_state; - n_state_name->m_addornements = "[6"; - n_state_name->m_array_size = 6; - n_state_name->m_address = base + offset; - n_state_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_state_name); - - field_name = "state_adj"; - auto n_state_adj = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); - n_state_adj->m_field_name = field_name; - n_state_adj->m_df_type = DF_Type::Stl_string; - n_state_adj->m_rdf_type = RDF_Type::Array; - n_state_adj->m_node_type = NodeType::Array; - n_state_adj->m_index_enum = DF_Type::matter_state; - n_state_adj->m_addornements = "[6"; - n_state_adj->m_array_size = 6; - n_state_adj->m_address = base + offset; - n_state_adj->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_state_adj); - - field_name = "strength"; - auto n_strength = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); - n_strength->m_field_name = field_name; - n_strength->m_df_type = DF_Type::material_common__T_strength; - n_strength->m_rdf_type = RDF_Type::Compound; - n_strength->m_node_type = NodeType::Compound; - n_strength->m_address = base + offset; - n_strength->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_strength); - - field_name = "material_value"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); - auto n_material_value = new NodeSimple; - n_material_value->m_field_name = field_name; - n_material_value->m_df_type = DF_Type::int32_t; - n_material_value->m_rdf_type = RDF_Type::int32_t; - n_material_value->m_node_type = NodeType::Simple; - n_material_value->m_address = base + offset; - n_material_value->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_material_value); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); - auto n_flags = new NodeDFFlagArray; - n_flags->m_field_name = field_name; - n_flags->m_index_enum = DF_Type::material_flags; - n_flags->m_df_type = DF_Type::material_flags; - n_flags->m_size = 75; - n_flags->m_rdf_type = RDF_Type::DFFlagArray; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_defined_in = "df.materials.xml"; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "extract_storage"; - auto n_extract_storage = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); - n_extract_storage->m_field_name = field_name; - n_extract_storage->m_df_type = DF_Type::item_type; - n_extract_storage->m_rdf_type = RDF_Type::Enum; - n_extract_storage->m_node_type = NodeType::Enum; - n_extract_storage->m_base_type = DF_Type::int16_t; - n_extract_storage->m_enum_type = "item_type"; - n_extract_storage->m_address = base + offset; - n_extract_storage->m_defined_in = "df.item-raws.xml"; - n_extract_storage->m_first_value = -1; - n_extract_storage->m_last_value = 90; - n_extract_storage->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_extract_storage); - - field_name = "butcher_special_type"; - auto n_butcher_special_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); - n_butcher_special_type->m_field_name = field_name; - n_butcher_special_type->m_df_type = DF_Type::item_type; - n_butcher_special_type->m_rdf_type = RDF_Type::Enum; - n_butcher_special_type->m_node_type = NodeType::Enum; - n_butcher_special_type->m_base_type = DF_Type::int16_t; - n_butcher_special_type->m_enum_type = "item_type"; - n_butcher_special_type->m_address = base + offset; - n_butcher_special_type->m_defined_in = "df.item-raws.xml"; - n_butcher_special_type->m_first_value = -1; - n_butcher_special_type->m_last_value = 90; - n_butcher_special_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_butcher_special_type); - - field_name = "butcher_special_subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); - auto n_butcher_special_subtype = new NodeSimple; - n_butcher_special_subtype->m_field_name = field_name; - n_butcher_special_subtype->m_df_type = DF_Type::int16_t; - n_butcher_special_subtype->m_rdf_type = RDF_Type::int16_t; - n_butcher_special_subtype->m_node_type = NodeType::Simple; - n_butcher_special_subtype->m_address = base + offset; - n_butcher_special_subtype->m_refers_to = "(item-subtype-target $$._parent.butcher_special_type $)"; - n_butcher_special_subtype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_butcher_special_subtype); - - field_name = "meat_name"; - auto n_meat_name = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); - n_meat_name->m_field_name = field_name; - n_meat_name->m_df_type = DF_Type::Stl_string; - n_meat_name->m_rdf_type = RDF_Type::Array; - n_meat_name->m_node_type = NodeType::Array; - n_meat_name->m_addornements = "[3"; - n_meat_name->m_array_size = 3; - n_meat_name->m_address = base + offset; - n_meat_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_meat_name); - - field_name = "block_name"; - auto n_block_name = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); - n_block_name->m_field_name = field_name; - n_block_name->m_df_type = DF_Type::Stl_string; - n_block_name->m_rdf_type = RDF_Type::Array; - n_block_name->m_node_type = NodeType::Array; - n_block_name->m_addornements = "[2"; - n_block_name->m_array_size = 2; - n_block_name->m_address = base + offset; - n_block_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_block_name); - - field_name = "reaction_product"; - auto n_reaction_product = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); - n_reaction_product->m_field_name = field_name; - n_reaction_product->m_df_type = DF_Type::material_common__T_reaction_product; - n_reaction_product->m_rdf_type = RDF_Type::Compound; - n_reaction_product->m_node_type = NodeType::Compound; - n_reaction_product->m_address = base + offset; - n_reaction_product->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_reaction_product); - - field_name = "hardens_with_water"; - auto n_hardens_with_water = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); - n_hardens_with_water->m_field_name = field_name; - n_hardens_with_water->m_df_type = DF_Type::material_common__T_hardens_with_water; - n_hardens_with_water->m_rdf_type = RDF_Type::Compound; - n_hardens_with_water->m_node_type = NodeType::Compound; - n_hardens_with_water->m_address = base + offset; - n_hardens_with_water->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_hardens_with_water); - - field_name = "reaction_class"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); - auto n_reaction_class = new NodeVector; - n_reaction_class->m_field_name = field_name; - n_reaction_class->m_df_type = DF_Type::Stl_string; - n_reaction_class->m_rdf_type = RDF_Type::Vector; - n_reaction_class->m_node_type = NodeType::Vector; - n_reaction_class->m_addornements = "v*"; - n_reaction_class->m_address = base + offset; - n_reaction_class->m_parent = p_node_parent; - n_reaction_class->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_reaction_class); - - field_name = "tile"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); - auto n_tile = new NodeSimple; - n_tile->m_field_name = field_name; - n_tile->m_df_type = DF_Type::uint8_t; - n_tile->m_rdf_type = RDF_Type::uint8_t; - n_tile->m_node_type = NodeType::Simple; - n_tile->m_address = base + offset; - n_tile->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tile); - - field_name = "basic_color"; - auto n_basic_color = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); - n_basic_color->m_field_name = field_name; - n_basic_color->m_df_type = DF_Type::int16_t; - n_basic_color->m_rdf_type = RDF_Type::Array; - n_basic_color->m_node_type = NodeType::Array; - n_basic_color->m_addornements = "[2"; - n_basic_color->m_array_size = 2; - n_basic_color->m_address = base + offset; - n_basic_color->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_basic_color); - - field_name = "build_color"; - auto n_build_color = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); - n_build_color->m_field_name = field_name; - n_build_color->m_df_type = DF_Type::int16_t; - n_build_color->m_rdf_type = RDF_Type::Array; - n_build_color->m_node_type = NodeType::Array; - n_build_color->m_addornements = "[3"; - n_build_color->m_array_size = 3; - n_build_color->m_address = base + offset; - n_build_color->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_build_color); - - field_name = "tile_color"; - auto n_tile_color = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); - n_tile_color->m_field_name = field_name; - n_tile_color->m_df_type = DF_Type::int16_t; - n_tile_color->m_rdf_type = RDF_Type::Array; - n_tile_color->m_node_type = NodeType::Array; - n_tile_color->m_addornements = "[3"; - n_tile_color->m_array_size = 3; - n_tile_color->m_address = base + offset; - n_tile_color->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tile_color); - - field_name = "item_symbol"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); - auto n_item_symbol = new NodeSimple; - n_item_symbol->m_field_name = field_name; - n_item_symbol->m_df_type = DF_Type::uint8_t; - n_item_symbol->m_rdf_type = RDF_Type::uint8_t; - n_item_symbol->m_node_type = NodeType::Simple; - n_item_symbol->m_address = base + offset; - n_item_symbol->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_symbol); - - field_name = "powder_dye"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); - auto n_powder_dye = new NodeSimple; - n_powder_dye->m_field_name = field_name; - n_powder_dye->m_df_type = DF_Type::int16_t; - n_powder_dye->m_rdf_type = RDF_Type::int16_t; - n_powder_dye->m_node_type = NodeType::Simple; - n_powder_dye->m_address = base + offset; - n_powder_dye->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_powder_dye); - - field_name = "temp_diet_info"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); - auto n_temp_diet_info = new NodeSimple; - n_temp_diet_info->m_field_name = field_name; - n_temp_diet_info->m_df_type = DF_Type::int16_t; - n_temp_diet_info->m_rdf_type = RDF_Type::int16_t; - n_temp_diet_info->m_node_type = NodeType::Simple; - n_temp_diet_info->m_address = base + offset; - n_temp_diet_info->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_temp_diet_info); - - field_name = "syndrome"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); - auto n_syndrome = new NodeVector; - n_syndrome->m_field_name = field_name; - n_syndrome->m_df_type = DF_Type::syndrome; - n_syndrome->m_rdf_type = RDF_Type::Vector; - n_syndrome->m_node_type = NodeType::Vector; - n_syndrome->m_defined_in = "df.syndrome.xml"; - n_syndrome->m_addornements = "v*"; - n_syndrome->m_address = base + offset; - n_syndrome->m_parent = p_node_parent; - n_syndrome->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_syndrome); - - field_name = "soap_level"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); - auto n_soap_level = new NodeSimple; - n_soap_level->m_field_name = field_name; - n_soap_level->m_df_type = DF_Type::int32_t; - n_soap_level->m_rdf_type = RDF_Type::int32_t; - n_soap_level->m_node_type = NodeType::Simple; - n_soap_level->m_address = base + offset; - n_soap_level->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_soap_level); - - field_name = "unk_41c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); - auto n_unk_41c = new NodeVector; - n_unk_41c->m_field_name = field_name; - n_unk_41c->m_df_type = DF_Type::Void; - n_unk_41c->m_rdf_type = RDF_Type::Vector; - n_unk_41c->m_node_type = NodeType::Vector; - n_unk_41c->m_addornements = "v"; - n_unk_41c->m_address = base + offset; - n_unk_41c->m_parent = p_node_parent; - n_unk_41c->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_41c); - -} -void node_from_material(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::material_common; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_material_common(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "prefix"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material, field_name)); - auto n_prefix = new NodeSimple; - n_prefix->m_field_name = field_name; - n_prefix->m_df_type = DF_Type::Stl_string; - n_prefix->m_rdf_type = RDF_Type::Stl_string; - n_prefix->m_node_type = NodeType::Simple; - n_prefix->m_address = base + offset; - n_prefix->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_prefix); - - field_name = "food_mat_index"; - auto n_food_mat_index = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material, field_name)); - n_food_mat_index->m_field_name = field_name; - n_food_mat_index->m_df_type = DF_Type::int32_t; - n_food_mat_index->m_rdf_type = RDF_Type::Array; - n_food_mat_index->m_node_type = NodeType::Array; - n_food_mat_index->m_index_enum = DF_Type::organic_mat_category; - n_food_mat_index->m_addornements = "[39"; - n_food_mat_index->m_array_size = 39; - n_food_mat_index->m_address = base + offset; - n_food_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_food_mat_index); - - field_name = "powder_dye_str"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material, field_name)); - auto n_powder_dye_str = new NodeSimple; - n_powder_dye_str->m_field_name = field_name; - n_powder_dye_str->m_df_type = DF_Type::Stl_string; - n_powder_dye_str->m_rdf_type = RDF_Type::Stl_string; - n_powder_dye_str->m_node_type = NodeType::Simple; - n_powder_dye_str->m_address = base + offset; - n_powder_dye_str->m_comment = "temporary"; - n_powder_dye_str->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_powder_dye_str); - - field_name = "state_color_str"; - auto n_state_color_str = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material, field_name)); - n_state_color_str->m_field_name = field_name; - n_state_color_str->m_df_type = DF_Type::Stl_string; - n_state_color_str->m_rdf_type = RDF_Type::Array; - n_state_color_str->m_node_type = NodeType::Array; - n_state_color_str->m_index_enum = DF_Type::matter_state; - n_state_color_str->m_addornements = "[6"; - n_state_color_str->m_array_size = 6; - n_state_color_str->m_address = base + offset; - n_state_color_str->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_state_color_str); - -} -void node_from_material_template(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::material_common; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_material_common(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "powder_dye_str"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_template, field_name)); - auto n_powder_dye_str = new NodeSimple; - n_powder_dye_str->m_field_name = field_name; - n_powder_dye_str->m_df_type = DF_Type::Stl_string; - n_powder_dye_str->m_rdf_type = RDF_Type::Stl_string; - n_powder_dye_str->m_node_type = NodeType::Simple; - n_powder_dye_str->m_address = base + offset; - n_powder_dye_str->m_comment = "temporary"; - n_powder_dye_str->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_powder_dye_str); - - field_name = "state_color_str"; - auto n_state_color_str = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_template, field_name)); - n_state_color_str->m_field_name = field_name; - n_state_color_str->m_df_type = DF_Type::Stl_string; - n_state_color_str->m_rdf_type = RDF_Type::Array; - n_state_color_str->m_node_type = NodeType::Array; - n_state_color_str->m_index_enum = DF_Type::matter_state; - n_state_color_str->m_addornements = "[6"; - n_state_color_str->m_array_size = 6; - n_state_color_str->m_address = base + offset; - n_state_color_str->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_state_color_str); - -} -void node_from_inorganic_raw__T_metal_ore(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "str"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::inorganic_raw__T_metal_ore, field_name)); - auto n_str = new NodeVector; - n_str->m_field_name = field_name; - n_str->m_df_type = DF_Type::Stl_string; - n_str->m_rdf_type = RDF_Type::Vector; - n_str->m_node_type = NodeType::Vector; - n_str->m_addornements = "v*"; - n_str->m_address = base + offset; - n_str->m_comment = "only during parsing"; - n_str->m_parent = p_node_parent; - n_str->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_str); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::inorganic_raw__T_metal_ore, field_name)); - auto n_mat_index = new NodeVector; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int16_t; - n_mat_index->m_rdf_type = RDF_Type::Vector; - n_mat_index->m_node_type = NodeType::Vector; - n_mat_index->m_addornements = "v"; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - n_mat_index->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "probability"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::inorganic_raw__T_metal_ore, field_name)); - auto n_probability = new NodeVector; - n_probability->m_field_name = field_name; - n_probability->m_df_type = DF_Type::int16_t; - n_probability->m_rdf_type = RDF_Type::Vector; - n_probability->m_node_type = NodeType::Vector; - n_probability->m_addornements = "v"; - n_probability->m_address = base + offset; - n_probability->m_parent = p_node_parent; - n_probability->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_probability); - -} -void node_from_inorganic_raw__T_thread_metal(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "str"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::inorganic_raw__T_thread_metal, field_name)); - auto n_str = new NodeVector; - n_str->m_field_name = field_name; - n_str->m_df_type = DF_Type::Stl_string; - n_str->m_rdf_type = RDF_Type::Vector; - n_str->m_node_type = NodeType::Vector; - n_str->m_addornements = "v*"; - n_str->m_address = base + offset; - n_str->m_comment = "only during parsing"; - n_str->m_parent = p_node_parent; - n_str->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_str); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::inorganic_raw__T_thread_metal, field_name)); - auto n_mat_index = new NodeVector; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int16_t; - n_mat_index->m_rdf_type = RDF_Type::Vector; - n_mat_index->m_node_type = NodeType::Vector; - n_mat_index->m_addornements = "v"; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - n_mat_index->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "probability"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::inorganic_raw__T_thread_metal, field_name)); - auto n_probability = new NodeVector; - n_probability->m_field_name = field_name; - n_probability->m_df_type = DF_Type::int16_t; - n_probability->m_rdf_type = RDF_Type::Vector; - n_probability->m_node_type = NodeType::Vector; - n_probability->m_addornements = "v"; - n_probability->m_address = base + offset; - n_probability->m_parent = p_node_parent; - n_probability->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_probability); - -} -void node_from_inorganic_raw__T_environment_spec(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "str"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::inorganic_raw__T_environment_spec, field_name)); - auto n_str = new NodeVector; - n_str->m_field_name = field_name; - n_str->m_df_type = DF_Type::Stl_string; - n_str->m_rdf_type = RDF_Type::Vector; - n_str->m_node_type = NodeType::Vector; - n_str->m_addornements = "v*"; - n_str->m_address = base + offset; - n_str->m_comment = "only during parsing"; - n_str->m_parent = p_node_parent; - n_str->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_str); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::inorganic_raw__T_environment_spec, field_name)); - auto n_mat_index = new NodeVector; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int16_t; - n_mat_index->m_rdf_type = RDF_Type::Vector; - n_mat_index->m_node_type = NodeType::Vector; - n_mat_index->m_addornements = "v"; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - n_mat_index->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "inclusion_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::inorganic_raw__T_environment_spec, field_name)); - auto n_inclusion_type = new NodeVector; - n_inclusion_type->m_field_name = field_name; - n_inclusion_type->m_df_type = DF_Type::inclusion_type; - n_inclusion_type->m_rdf_type = RDF_Type::Vector; - n_inclusion_type->m_node_type = NodeType::Vector; - n_inclusion_type->m_enum_base = DF_Type::int16_t; - n_inclusion_type->m_defined_in = "df.materials.xml"; - n_inclusion_type->m_addornements = "v"; - n_inclusion_type->m_address = base + offset; - n_inclusion_type->m_parent = p_node_parent; - n_inclusion_type->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_inclusion_type); - - field_name = "probability"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::inorganic_raw__T_environment_spec, field_name)); - auto n_probability = new NodeVector; - n_probability->m_field_name = field_name; - n_probability->m_df_type = DF_Type::int8_t; - n_probability->m_rdf_type = RDF_Type::Vector; - n_probability->m_node_type = NodeType::Vector; - n_probability->m_addornements = "v"; - n_probability->m_address = base + offset; - n_probability->m_parent = p_node_parent; - n_probability->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_probability); - -} -void node_from_inorganic_raw__T_environment(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "location"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::inorganic_raw__T_environment, field_name)); - auto n_location = new NodeVector; - n_location->m_field_name = field_name; - n_location->m_df_type = DF_Type::environment_type; - n_location->m_rdf_type = RDF_Type::Vector; - n_location->m_node_type = NodeType::Vector; - n_location->m_enum_base = DF_Type::int16_t; - n_location->m_defined_in = "df.materials.xml"; - n_location->m_addornements = "v"; - n_location->m_address = base + offset; - n_location->m_parent = p_node_parent; - n_location->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_location); - - field_name = "type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::inorganic_raw__T_environment, field_name)); - auto n_type = new NodeVector; - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::inclusion_type; - n_type->m_rdf_type = RDF_Type::Vector; - n_type->m_node_type = NodeType::Vector; - n_type->m_enum_base = DF_Type::int16_t; - n_type->m_defined_in = "df.materials.xml"; - n_type->m_addornements = "v"; - n_type->m_address = base + offset; - n_type->m_parent = p_node_parent; - n_type->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_type); - - field_name = "probability"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::inorganic_raw__T_environment, field_name)); - auto n_probability = new NodeVector; - n_probability->m_field_name = field_name; - n_probability->m_df_type = DF_Type::int8_t; - n_probability->m_rdf_type = RDF_Type::Vector; - n_probability->m_node_type = NodeType::Vector; - n_probability->m_addornements = "v"; - n_probability->m_address = base + offset; - n_probability->m_parent = p_node_parent; - n_probability->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_probability); - -} -void node_from_inorganic_raw(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::inorganic_raw, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::Stl_string; - n_id->m_rdf_type = RDF_Type::Stl_string; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "str"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::inorganic_raw, field_name)); - auto n_str = new NodeVector; - n_str->m_field_name = field_name; - n_str->m_df_type = DF_Type::Stl_string; - n_str->m_rdf_type = RDF_Type::Vector; - n_str->m_node_type = NodeType::Vector; - n_str->m_addornements = "v*"; - n_str->m_address = base + offset; - n_str->m_parent = p_node_parent; - n_str->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_str); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::inorganic_raw, field_name)); - auto n_flags = new NodeDFFlagArray; - n_flags->m_field_name = field_name; - n_flags->m_index_enum = DF_Type::inorganic_flags; - n_flags->m_df_type = DF_Type::inorganic_flags; - n_flags->m_size = 32; - n_flags->m_rdf_type = RDF_Type::DFFlagArray; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_defined_in = "df.materials.xml"; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "source_hfid"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::inorganic_raw, field_name)); - auto n_source_hfid = new NodeSimple; - n_source_hfid->m_field_name = field_name; - n_source_hfid->m_df_type = DF_Type::int32_t; - n_source_hfid->m_rdf_type = RDF_Type::int32_t; - n_source_hfid->m_node_type = NodeType::Simple; - n_source_hfid->m_address = base + offset; - n_source_hfid->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_source_hfid); - - field_name = "unk_v4201_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::inorganic_raw, field_name)); - auto n_unk_v4201_1 = new NodeSimple; - n_unk_v4201_1->m_field_name = field_name; - n_unk_v4201_1->m_df_type = DF_Type::int32_t; - n_unk_v4201_1->m_rdf_type = RDF_Type::int32_t; - n_unk_v4201_1->m_node_type = NodeType::Simple; - n_unk_v4201_1->m_address = base + offset; - n_unk_v4201_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v4201_1); - - field_name = "metal_ore"; - auto n_metal_ore = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::inorganic_raw, field_name)); - n_metal_ore->m_field_name = field_name; - n_metal_ore->m_df_type = DF_Type::inorganic_raw__T_metal_ore; - n_metal_ore->m_rdf_type = RDF_Type::Compound; - n_metal_ore->m_node_type = NodeType::Compound; - n_metal_ore->m_address = base + offset; - n_metal_ore->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_metal_ore); - - field_name = "thread_metal"; - auto n_thread_metal = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::inorganic_raw, field_name)); - n_thread_metal->m_field_name = field_name; - n_thread_metal->m_df_type = DF_Type::inorganic_raw__T_thread_metal; - n_thread_metal->m_rdf_type = RDF_Type::Compound; - n_thread_metal->m_node_type = NodeType::Compound; - n_thread_metal->m_address = base + offset; - n_thread_metal->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_thread_metal); - - field_name = "economic_uses"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::inorganic_raw, field_name)); - auto n_economic_uses = new NodeVector; - n_economic_uses->m_field_name = field_name; - n_economic_uses->m_df_type = DF_Type::int32_t; - n_economic_uses->m_rdf_type = RDF_Type::Vector; - n_economic_uses->m_node_type = NodeType::Vector; - n_economic_uses->m_addornements = "v"; - n_economic_uses->m_address = base + offset; - n_economic_uses->m_parent = p_node_parent; - n_economic_uses->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_economic_uses); - - field_name = "environment_spec"; - auto n_environment_spec = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::inorganic_raw, field_name)); - n_environment_spec->m_field_name = field_name; - n_environment_spec->m_df_type = DF_Type::inorganic_raw__T_environment_spec; - n_environment_spec->m_rdf_type = RDF_Type::Compound; - n_environment_spec->m_node_type = NodeType::Compound; - n_environment_spec->m_address = base + offset; - n_environment_spec->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_environment_spec); - - field_name = "environment"; - auto n_environment = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::inorganic_raw, field_name)); - n_environment->m_field_name = field_name; - n_environment->m_df_type = DF_Type::inorganic_raw__T_environment; - n_environment->m_rdf_type = RDF_Type::Compound; - n_environment->m_node_type = NodeType::Compound; - n_environment->m_address = base + offset; - n_environment->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_environment); - - field_name = "unk2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::inorganic_raw, field_name)); - auto n_unk2 = new NodeSimple; - n_unk2->m_field_name = field_name; - n_unk2->m_df_type = DF_Type::int32_t; - n_unk2->m_rdf_type = RDF_Type::int32_t; - n_unk2->m_node_type = NodeType::Simple; - n_unk2->m_address = base + offset; - n_unk2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk2); - - field_name = "material"; - auto n_material = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::inorganic_raw, field_name)); - n_material->m_field_name = field_name; - n_material->m_df_type = DF_Type::material; - n_material->m_rdf_type = RDF_Type::Struct; - n_material->m_node_type = NodeType::Compound; - n_material->m_address = base + offset; - n_material->m_defined_in = "df.materials.xml"; - n_material->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_material); - -} -void node_from_special_mat_table(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "organic_types"; - auto n_organic_types = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::special_mat_table, field_name)); - n_organic_types->m_field_name = field_name; - n_organic_types->m_df_type = DF_Type::int16_t; - n_organic_types->m_rdf_type = RDF_Type::Array; - n_organic_types->m_node_type = NodeType::Array; - n_organic_types->m_index_enum = DF_Type::organic_mat_category; - n_organic_types->m_addornements = "[39v"; - n_organic_types->m_array_size = 39; - n_organic_types->m_address = base + offset; - n_organic_types->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_organic_types); - - field_name = "organic_indexes"; - auto n_organic_indexes = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::special_mat_table, field_name)); - n_organic_indexes->m_field_name = field_name; - n_organic_indexes->m_df_type = DF_Type::int32_t; - n_organic_indexes->m_rdf_type = RDF_Type::Array; - n_organic_indexes->m_node_type = NodeType::Array; - n_organic_indexes->m_index_enum = DF_Type::organic_mat_category; - n_organic_indexes->m_addornements = "[39v"; - n_organic_indexes->m_array_size = 39; - n_organic_indexes->m_address = base + offset; - n_organic_indexes->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_organic_indexes); - - field_name = "organic_unknown"; - auto n_organic_unknown = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::special_mat_table, field_name)); - n_organic_unknown->m_field_name = field_name; - n_organic_unknown->m_df_type = DF_Type::int32_t; - n_organic_unknown->m_rdf_type = RDF_Type::Array; - n_organic_unknown->m_comment = "everything 0"; - n_organic_unknown->m_node_type = NodeType::Array; - n_organic_unknown->m_index_enum = DF_Type::organic_mat_category; - n_organic_unknown->m_addornements = "[39v"; - n_organic_unknown->m_array_size = 39; - n_organic_unknown->m_address = base + offset; - n_organic_unknown->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_organic_unknown); - - field_name = "builtin"; - auto n_builtin = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::special_mat_table, field_name)); - n_builtin->m_field_name = field_name; - n_builtin->m_df_type = DF_Type::material; - n_builtin->m_rdf_type = RDF_Type::Array; - n_builtin->m_node_type = NodeType::Array; - n_builtin->m_index_enum = DF_Type::builtin_mats; - n_builtin->m_defined_in = "df.materials.xml"; - n_builtin->m_addornements = "[659*"; - n_builtin->m_array_size = 659; - n_builtin->m_address = base + offset; - n_builtin->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_builtin); - -} -void node_from_dipscript_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dipscript_info, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_comment = "assigned during Save"; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "script_file"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dipscript_info, field_name)); - auto n_script_file = new NodeSimple; - n_script_file->m_field_name = field_name; - n_script_file->m_df_type = DF_Type::Stl_string; - n_script_file->m_rdf_type = RDF_Type::Stl_string; - n_script_file->m_node_type = NodeType::Simple; - n_script_file->m_address = base + offset; - n_script_file->m_comment = "data/dipscript/dwarf_liaison"; - n_script_file->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_script_file); - - field_name = "script_steps"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dipscript_info, field_name)); - auto n_script_steps = new NodeVector; - n_script_steps->m_field_name = field_name; - n_script_steps->m_df_type = DF_Type::script_stepst; - n_script_steps->m_rdf_type = RDF_Type::Vector; - n_script_steps->m_node_type = NodeType::Vector; - n_script_steps->m_defined_in = "df.meeting.xml"; - n_script_steps->m_addornements = "v*"; - n_script_steps->m_address = base + offset; - n_script_steps->m_parent = p_node_parent; - n_script_steps->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_script_steps); - - field_name = "script_vars"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dipscript_info, field_name)); - auto n_script_vars = new NodeVector; - n_script_vars->m_field_name = field_name; - n_script_vars->m_df_type = DF_Type::script_varst; - n_script_vars->m_rdf_type = RDF_Type::Vector; - n_script_vars->m_node_type = NodeType::Vector; - n_script_vars->m_defined_in = "df.meeting.xml"; - n_script_vars->m_addornements = "v*"; - n_script_vars->m_address = base + offset; - n_script_vars->m_parent = p_node_parent; - n_script_vars->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_script_vars); - - field_name = "code"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dipscript_info, field_name)); - auto n_code = new NodeSimple; - n_code->m_field_name = field_name; - n_code->m_df_type = DF_Type::Stl_string; - n_code->m_rdf_type = RDF_Type::Stl_string; - n_code->m_node_type = NodeType::Simple; - n_code->m_address = base + offset; - n_code->m_comment = "DWARF_LIAISON etc"; - n_code->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_code); - -} -void node_from_dipscript_popup(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "meeting_holder"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dipscript_popup, field_name)); - auto n_meeting_holder = new NodePointer; - n_meeting_holder->m_field_name = field_name; - n_meeting_holder->m_df_type = get_real_subtype(base+offset, DF_Type::unit); - n_meeting_holder->m_rdf_type = RDF_Type::Pointer; - n_meeting_holder->m_node_type = NodeType::Pointer; - n_meeting_holder->m_addornements = "*"; - n_meeting_holder->m_address = base + offset; - n_meeting_holder->m_parent = p_node_parent; - n_meeting_holder->m_defined_in = "df.units.xml"; - n_meeting_holder->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_meeting_holder); - - field_name = "activity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dipscript_popup, field_name)); - auto n_activity = new NodePointer; - n_activity->m_field_name = field_name; - n_activity->m_df_type = get_real_subtype(base+offset, DF_Type::activity_info); - n_activity->m_rdf_type = RDF_Type::Pointer; - n_activity->m_node_type = NodeType::Pointer; - n_activity->m_addornements = "*"; - n_activity->m_address = base + offset; - n_activity->m_parent = p_node_parent; - n_activity->m_defined_in = "df.meeting.xml"; - n_activity->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_activity); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dipscript_popup, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::dipscript_popup__T_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - -} -void node_from_active_script_var_unitst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::active_script_varst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_active_script_varst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unit"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::active_script_var_unitst, field_name)); - auto n_unit = new NodePointer; - n_unit->m_field_name = field_name; - n_unit->m_df_type = get_real_subtype(base+offset, DF_Type::unit); - n_unit->m_rdf_type = RDF_Type::Pointer; - n_unit->m_node_type = NodeType::Pointer; - n_unit->m_addornements = "*"; - n_unit->m_address = base + offset; - n_unit->m_parent = p_node_parent; - n_unit->m_defined_in = "df.units.xml"; - n_unit->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unit); - -} -void node_from_meeting_context(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "meeting"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_context, field_name)); - auto n_meeting = new NodePointer; - n_meeting->m_field_name = field_name; - n_meeting->m_df_type = get_real_subtype(base+offset, DF_Type::meeting_diplomat_info); - n_meeting->m_rdf_type = RDF_Type::Pointer; - n_meeting->m_node_type = NodeType::Pointer; - n_meeting->m_addornements = "*"; - n_meeting->m_address = base + offset; - n_meeting->m_parent = p_node_parent; - n_meeting->m_defined_in = "df.meeting.xml"; - n_meeting->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_meeting); - - field_name = "popup"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_context, field_name)); - auto n_popup = new NodePointer; - n_popup->m_field_name = field_name; - n_popup->m_df_type = get_real_subtype(base+offset, DF_Type::dipscript_popup); - n_popup->m_rdf_type = RDF_Type::Pointer; - n_popup->m_node_type = NodeType::Pointer; - n_popup->m_addornements = "*"; - n_popup->m_address = base + offset; - n_popup->m_parent = p_node_parent; - n_popup->m_defined_in = "df.meeting.xml"; - n_popup->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_popup); - - field_name = "unk_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_context, field_name)); - auto n_unk_2 = new NodePointer; - n_unk_2->m_field_name = field_name; - n_unk_2->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_unk_2->m_rdf_type = RDF_Type::Pointer; - n_unk_2->m_node_type = NodeType::Pointer; - n_unk_2->m_addornements = "*"; - n_unk_2->m_address = base + offset; - n_unk_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_2); - - field_name = "unk_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_context, field_name)); - auto n_unk_3 = new NodePointer; - n_unk_3->m_field_name = field_name; - n_unk_3->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_unk_3->m_rdf_type = RDF_Type::Pointer; - n_unk_3->m_node_type = NodeType::Pointer; - n_unk_3->m_addornements = "*"; - n_unk_3->m_address = base + offset; - n_unk_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_3); - -} -void node_from_meeting_diplomat_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "civ_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_diplomat_info, field_name)); - auto n_civ_id = new NodeSimple; - n_civ_id->m_field_name = field_name; - n_civ_id->m_df_type = DF_Type::int32_t; - n_civ_id->m_rdf_type = RDF_Type::int32_t; - n_civ_id->m_node_type = NodeType::Simple; - n_civ_id->m_address = base + offset; - n_civ_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_civ_id); - - field_name = "unk1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_diplomat_info, field_name)); - auto n_unk1 = new NodeSimple; - n_unk1->m_field_name = field_name; - n_unk1->m_df_type = DF_Type::int16_t; - n_unk1->m_rdf_type = RDF_Type::int16_t; - n_unk1->m_node_type = NodeType::Simple; - n_unk1->m_address = base + offset; - n_unk1->m_comment = "maybe is_first_contact"; - n_unk1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk1); - - field_name = "diplomat_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_diplomat_info, field_name)); - auto n_diplomat_id = new NodeSimple; - n_diplomat_id->m_field_name = field_name; - n_diplomat_id->m_df_type = DF_Type::int32_t; - n_diplomat_id->m_rdf_type = RDF_Type::int32_t; - n_diplomat_id->m_node_type = NodeType::Simple; - n_diplomat_id->m_address = base + offset; - n_diplomat_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_diplomat_id); - - field_name = "associate_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_diplomat_info, field_name)); - auto n_associate_id = new NodeSimple; - n_associate_id->m_field_name = field_name; - n_associate_id->m_df_type = DF_Type::int32_t; - n_associate_id->m_rdf_type = RDF_Type::int32_t; - n_associate_id->m_node_type = NodeType::Simple; - n_associate_id->m_address = base + offset; - n_associate_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_associate_id); - - field_name = "topic_list"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_diplomat_info, field_name)); - auto n_topic_list = new NodeVector; - n_topic_list->m_field_name = field_name; - n_topic_list->m_df_type = DF_Type::meeting_topic; - n_topic_list->m_rdf_type = RDF_Type::Vector; - n_topic_list->m_node_type = NodeType::Vector; - n_topic_list->m_enum_base = DF_Type::int32_t; - n_topic_list->m_defined_in = "df.meeting.xml"; - n_topic_list->m_addornements = "v"; - n_topic_list->m_address = base + offset; - n_topic_list->m_parent = p_node_parent; - n_topic_list->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_topic_list); - - field_name = "topic_parms"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_diplomat_info, field_name)); - auto n_topic_parms = new NodeVector; - n_topic_parms->m_field_name = field_name; - n_topic_parms->m_df_type = DF_Type::int32_t; - n_topic_parms->m_rdf_type = RDF_Type::Vector; - n_topic_parms->m_node_type = NodeType::Vector; - n_topic_parms->m_addornements = "v"; - n_topic_parms->m_address = base + offset; - n_topic_parms->m_parent = p_node_parent; - n_topic_parms->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_topic_parms); - - field_name = "sell_requests"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_diplomat_info, field_name)); - auto n_sell_requests = new NodePointer; - n_sell_requests->m_field_name = field_name; - n_sell_requests->m_df_type = get_real_subtype(base+offset, DF_Type::entity_sell_requests); - n_sell_requests->m_rdf_type = RDF_Type::Pointer; - n_sell_requests->m_node_type = NodeType::Pointer; - n_sell_requests->m_addornements = "*"; - n_sell_requests->m_address = base + offset; - n_sell_requests->m_parent = p_node_parent; - n_sell_requests->m_defined_in = "df.entities.xml"; - n_sell_requests->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_sell_requests); - - field_name = "buy_requests"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_diplomat_info, field_name)); - auto n_buy_requests = new NodePointer; - n_buy_requests->m_field_name = field_name; - n_buy_requests->m_df_type = get_real_subtype(base+offset, DF_Type::entity_buy_requests); - n_buy_requests->m_rdf_type = RDF_Type::Pointer; - n_buy_requests->m_node_type = NodeType::Pointer; - n_buy_requests->m_addornements = "*"; - n_buy_requests->m_address = base + offset; - n_buy_requests->m_parent = p_node_parent; - n_buy_requests->m_defined_in = "df.entities.xml"; - n_buy_requests->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_buy_requests); - - field_name = "dipscript"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_diplomat_info, field_name)); - auto n_dipscript = new NodePointer; - n_dipscript->m_field_name = field_name; - n_dipscript->m_df_type = get_real_subtype(base+offset, DF_Type::dipscript_info); - n_dipscript->m_rdf_type = RDF_Type::Pointer; - n_dipscript->m_node_type = NodeType::Pointer; - n_dipscript->m_addornements = "*"; - n_dipscript->m_address = base + offset; - n_dipscript->m_parent = p_node_parent; - n_dipscript->m_defined_in = "df.meeting.xml"; - n_dipscript->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_dipscript); - - field_name = "cur_step"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_diplomat_info, field_name)); - auto n_cur_step = new NodeSimple; - n_cur_step->m_field_name = field_name; - n_cur_step->m_df_type = DF_Type::int32_t; - n_cur_step->m_rdf_type = RDF_Type::int32_t; - n_cur_step->m_node_type = NodeType::Simple; - n_cur_step->m_address = base + offset; - n_cur_step->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cur_step); - - field_name = "active_script_vars"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_diplomat_info, field_name)); - auto n_active_script_vars = new NodeVector; - n_active_script_vars->m_field_name = field_name; - n_active_script_vars->m_df_type = DF_Type::active_script_varst; - n_active_script_vars->m_rdf_type = RDF_Type::Vector; - n_active_script_vars->m_node_type = NodeType::Vector; - n_active_script_vars->m_defined_in = "df.meeting.xml"; - n_active_script_vars->m_addornements = "v*"; - n_active_script_vars->m_address = base + offset; - n_active_script_vars->m_parent = p_node_parent; - n_active_script_vars->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_active_script_vars); - - field_name = "unk_50"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_diplomat_info, field_name)); - auto n_unk_50 = new NodeSimple; - n_unk_50->m_field_name = field_name; - n_unk_50->m_df_type = DF_Type::Stl_string; - n_unk_50->m_rdf_type = RDF_Type::Stl_string; - n_unk_50->m_node_type = NodeType::Simple; - n_unk_50->m_address = base + offset; - n_unk_50->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_50); - - field_name = "unk_6c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_diplomat_info, field_name)); - auto n_unk_6c = new NodeSimple; - n_unk_6c->m_field_name = field_name; - n_unk_6c->m_df_type = DF_Type::Stl_string; - n_unk_6c->m_rdf_type = RDF_Type::Stl_string; - n_unk_6c->m_node_type = NodeType::Simple; - n_unk_6c->m_address = base + offset; - n_unk_6c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_6c); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_diplomat_info, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::meeting_diplomat_info__T_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "events"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_diplomat_info, field_name)); - auto n_events = new NodeVector; - n_events->m_field_name = field_name; - n_events->m_df_type = DF_Type::meeting_event; - n_events->m_rdf_type = RDF_Type::Vector; - n_events->m_node_type = NodeType::Vector; - n_events->m_defined_in = "df.meeting.xml"; - n_events->m_addornements = "v*"; - n_events->m_address = base + offset; - n_events->m_parent = p_node_parent; - n_events->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_events); - - field_name = "agreement_entity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_diplomat_info, field_name)); - auto n_agreement_entity = new NodeVector; - n_agreement_entity->m_field_name = field_name; - n_agreement_entity->m_df_type = DF_Type::int32_t; - n_agreement_entity->m_rdf_type = RDF_Type::Vector; - n_agreement_entity->m_node_type = NodeType::Vector; - n_agreement_entity->m_addornements = "v"; - n_agreement_entity->m_address = base + offset; - n_agreement_entity->m_parent = p_node_parent; - n_agreement_entity->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_agreement_entity); - - field_name = "agreement_topic"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_diplomat_info, field_name)); - auto n_agreement_topic = new NodeVector; - n_agreement_topic->m_field_name = field_name; - n_agreement_topic->m_df_type = DF_Type::meeting_topic; - n_agreement_topic->m_rdf_type = RDF_Type::Vector; - n_agreement_topic->m_node_type = NodeType::Vector; - n_agreement_topic->m_enum_base = DF_Type::int16_t; - n_agreement_topic->m_defined_in = "df.meeting.xml"; - n_agreement_topic->m_addornements = "v"; - n_agreement_topic->m_address = base + offset; - n_agreement_topic->m_parent = p_node_parent; - n_agreement_topic->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_agreement_topic); - - field_name = "agreement_year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_diplomat_info, field_name)); - auto n_agreement_year = new NodeVector; - n_agreement_year->m_field_name = field_name; - n_agreement_year->m_df_type = DF_Type::int32_t; - n_agreement_year->m_rdf_type = RDF_Type::Vector; - n_agreement_year->m_node_type = NodeType::Vector; - n_agreement_year->m_addornements = "v"; - n_agreement_year->m_address = base + offset; - n_agreement_year->m_parent = p_node_parent; - n_agreement_year->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_agreement_year); - - field_name = "agreement_tick"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_diplomat_info, field_name)); - auto n_agreement_tick = new NodeVector; - n_agreement_tick->m_field_name = field_name; - n_agreement_tick->m_df_type = DF_Type::int32_t; - n_agreement_tick->m_rdf_type = RDF_Type::Vector; - n_agreement_tick->m_node_type = NodeType::Vector; - n_agreement_tick->m_addornements = "v"; - n_agreement_tick->m_address = base + offset; - n_agreement_tick->m_parent = p_node_parent; - n_agreement_tick->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_agreement_tick); - - field_name = "agreement_outcome"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_diplomat_info, field_name)); - auto n_agreement_outcome = new NodeVector; - n_agreement_outcome->m_field_name = field_name; - n_agreement_outcome->m_df_type = DF_Type::int16_t; - n_agreement_outcome->m_rdf_type = RDF_Type::Vector; - n_agreement_outcome->m_node_type = NodeType::Vector; - n_agreement_outcome->m_addornements = "v"; - n_agreement_outcome->m_address = base + offset; - n_agreement_outcome->m_parent = p_node_parent; - n_agreement_outcome->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_agreement_outcome); - - field_name = "contact_entity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_diplomat_info, field_name)); - auto n_contact_entity = new NodeVector; - n_contact_entity->m_field_name = field_name; - n_contact_entity->m_df_type = DF_Type::int32_t; - n_contact_entity->m_rdf_type = RDF_Type::Vector; - n_contact_entity->m_node_type = NodeType::Vector; - n_contact_entity->m_addornements = "v"; - n_contact_entity->m_address = base + offset; - n_contact_entity->m_parent = p_node_parent; - n_contact_entity->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_contact_entity); - - field_name = "contact_year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_diplomat_info, field_name)); - auto n_contact_year = new NodeVector; - n_contact_year->m_field_name = field_name; - n_contact_year->m_df_type = DF_Type::int32_t; - n_contact_year->m_rdf_type = RDF_Type::Vector; - n_contact_year->m_node_type = NodeType::Vector; - n_contact_year->m_addornements = "v"; - n_contact_year->m_address = base + offset; - n_contact_year->m_parent = p_node_parent; - n_contact_year->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_contact_year); - - field_name = "contact_tick"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_diplomat_info, field_name)); - auto n_contact_tick = new NodeVector; - n_contact_tick->m_field_name = field_name; - n_contact_tick->m_df_type = DF_Type::int32_t; - n_contact_tick->m_rdf_type = RDF_Type::Vector; - n_contact_tick->m_node_type = NodeType::Vector; - n_contact_tick->m_addornements = "v"; - n_contact_tick->m_address = base + offset; - n_contact_tick->m_parent = p_node_parent; - n_contact_tick->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_contact_tick); - -} -void node_from_meeting_event(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "type"; - auto n_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_event, field_name)); - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::meeting_event_type; - n_type->m_rdf_type = RDF_Type::Enum; - n_type->m_node_type = NodeType::Enum; - n_type->m_base_type = DF_Type::int16_t; - n_type->m_enum_type = "meeting_event_type"; - n_type->m_address = base + offset; - n_type->m_defined_in = "df.meeting.xml"; - n_type->m_first_value = 0; - n_type->m_last_value = 5; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - - field_name = "topic"; - auto n_topic = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_event, field_name)); - n_topic->m_field_name = field_name; - n_topic->m_df_type = DF_Type::meeting_topic; - n_topic->m_rdf_type = RDF_Type::Enum; - n_topic->m_node_type = NodeType::Enum; - n_topic->m_base_type = DF_Type::int16_t; - n_topic->m_enum_type = "meeting_topic"; - n_topic->m_address = base + offset; - n_topic->m_defined_in = "df.meeting.xml"; - n_topic->m_first_value = 0; - n_topic->m_last_value = 9; - n_topic->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_topic); - - field_name = "topic_parm"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_event, field_name)); - auto n_topic_parm = new NodeSimple; - n_topic_parm->m_field_name = field_name; - n_topic_parm->m_df_type = DF_Type::int16_t; - n_topic_parm->m_rdf_type = RDF_Type::int16_t; - n_topic_parm->m_node_type = NodeType::Simple; - n_topic_parm->m_address = base + offset; - n_topic_parm->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_topic_parm); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_event, field_name)); - auto n_anon_1 = new NodeVector; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::Vector; - n_anon_1->m_node_type = NodeType::Vector; - n_anon_1->m_addornements = "v"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_event, field_name)); - auto n_anon_2 = new NodeVector; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::Vector; - n_anon_2->m_node_type = NodeType::Vector; - n_anon_2->m_addornements = "v"; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - n_anon_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "quota_total"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_event, field_name)); - auto n_quota_total = new NodeSimple; - n_quota_total->m_field_name = field_name; - n_quota_total->m_df_type = DF_Type::int32_t; - n_quota_total->m_rdf_type = RDF_Type::int32_t; - n_quota_total->m_node_type = NodeType::Simple; - n_quota_total->m_address = base + offset; - n_quota_total->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_quota_total); - - field_name = "quota_remaining"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_event, field_name)); - auto n_quota_remaining = new NodeSimple; - n_quota_remaining->m_field_name = field_name; - n_quota_remaining->m_df_type = DF_Type::int32_t; - n_quota_remaining->m_rdf_type = RDF_Type::int32_t; - n_quota_remaining->m_node_type = NodeType::Simple; - n_quota_remaining->m_address = base + offset; - n_quota_remaining->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_quota_remaining); - - field_name = "year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_event, field_name)); - auto n_year = new NodeSimple; - n_year->m_field_name = field_name; - n_year->m_df_type = DF_Type::int32_t; - n_year->m_rdf_type = RDF_Type::int32_t; - n_year->m_node_type = NodeType::Simple; - n_year->m_address = base + offset; - n_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_year); - - field_name = "ticks"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_event, field_name)); - auto n_ticks = new NodeSimple; - n_ticks->m_field_name = field_name; - n_ticks->m_df_type = DF_Type::int32_t; - n_ticks->m_rdf_type = RDF_Type::int32_t; - n_ticks->m_node_type = NodeType::Simple; - n_ticks->m_address = base + offset; - n_ticks->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ticks); - - field_name = "sell_prices"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_event, field_name)); - auto n_sell_prices = new NodePointer; - n_sell_prices->m_field_name = field_name; - n_sell_prices->m_df_type = get_real_subtype(base+offset, DF_Type::entity_sell_prices); - n_sell_prices->m_rdf_type = RDF_Type::Pointer; - n_sell_prices->m_node_type = NodeType::Pointer; - n_sell_prices->m_addornements = "*"; - n_sell_prices->m_address = base + offset; - n_sell_prices->m_parent = p_node_parent; - n_sell_prices->m_defined_in = "df.entities.xml"; - n_sell_prices->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_sell_prices); - - field_name = "buy_prices"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_event, field_name)); - auto n_buy_prices = new NodePointer; - n_buy_prices->m_field_name = field_name; - n_buy_prices->m_df_type = get_real_subtype(base+offset, DF_Type::entity_buy_prices); - n_buy_prices->m_rdf_type = RDF_Type::Pointer; - n_buy_prices->m_node_type = NodeType::Pointer; - n_buy_prices->m_addornements = "*"; - n_buy_prices->m_address = base + offset; - n_buy_prices->m_parent = p_node_parent; - n_buy_prices->m_defined_in = "df.entities.xml"; - n_buy_prices->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_buy_prices); - -} -void node_from_activity_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_info, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_comment = "assigned during Save"; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "unit_actor"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_info, field_name)); - auto n_unit_actor = new NodePointer; - n_unit_actor->m_field_name = field_name; - n_unit_actor->m_df_type = get_real_subtype(base+offset, DF_Type::unit); - n_unit_actor->m_rdf_type = RDF_Type::Pointer; - n_unit_actor->m_node_type = NodeType::Pointer; - n_unit_actor->m_addornements = "*"; - n_unit_actor->m_address = base + offset; - n_unit_actor->m_comment = "diplomat or worker"; - n_unit_actor->m_parent = p_node_parent; - n_unit_actor->m_defined_in = "df.units.xml"; - n_unit_actor->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unit_actor); - - field_name = "unit_noble"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_info, field_name)); - auto n_unit_noble = new NodePointer; - n_unit_noble->m_field_name = field_name; - n_unit_noble->m_df_type = get_real_subtype(base+offset, DF_Type::unit); - n_unit_noble->m_rdf_type = RDF_Type::Pointer; - n_unit_noble->m_node_type = NodeType::Pointer; - n_unit_noble->m_addornements = "*"; - n_unit_noble->m_address = base + offset; - n_unit_noble->m_comment = "meeting recipient"; - n_unit_noble->m_parent = p_node_parent; - n_unit_noble->m_defined_in = "df.units.xml"; - n_unit_noble->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unit_noble); - - field_name = "place"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_info, field_name)); - auto n_place = new NodePointer; - n_place->m_field_name = field_name; - n_place->m_df_type = get_real_subtype(base+offset, DF_Type::building); - n_place->m_rdf_type = RDF_Type::Pointer; - n_place->m_node_type = NodeType::Pointer; - n_place->m_addornements = "*"; - n_place->m_address = base + offset; - n_place->m_parent = p_node_parent; - n_place->m_defined_in = "df.buildings.xml"; - n_place->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_place); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_info, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::activity_info__T_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "unk3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_info, field_name)); - auto n_unk3 = new NodeSimple; - n_unk3->m_field_name = field_name; - n_unk3->m_df_type = DF_Type::int8_t; - n_unk3->m_rdf_type = RDF_Type::int8_t; - n_unk3->m_node_type = NodeType::Simple; - n_unk3->m_address = base + offset; - n_unk3->m_comment = "3"; - n_unk3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk3); - - field_name = "delay"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_info, field_name)); - auto n_delay = new NodeSimple; - n_delay->m_field_name = field_name; - n_delay->m_df_type = DF_Type::int16_t; - n_delay->m_rdf_type = RDF_Type::int16_t; - n_delay->m_node_type = NodeType::Simple; - n_delay->m_address = base + offset; - n_delay->m_comment = "0"; - n_delay->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_delay); - - field_name = "tree_quota"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_info, field_name)); - auto n_tree_quota = new NodeSimple; - n_tree_quota->m_field_name = field_name; - n_tree_quota->m_df_type = DF_Type::int32_t; - n_tree_quota->m_rdf_type = RDF_Type::int32_t; - n_tree_quota->m_node_type = NodeType::Simple; - n_tree_quota->m_address = base + offset; - n_tree_quota->m_comment = "-1"; - n_tree_quota->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tree_quota); - -} -void node_from_party_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "units"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::party_info, field_name)); - auto n_units = new NodeVector; - n_units->m_field_name = field_name; - n_units->m_df_type = DF_Type::unit; - n_units->m_rdf_type = RDF_Type::Vector; - n_units->m_node_type = NodeType::Vector; - n_units->m_defined_in = "df.units.xml"; - n_units->m_addornements = "v*"; - n_units->m_address = base + offset; - n_units->m_parent = p_node_parent; - n_units->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_units); - - field_name = "location"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::party_info, field_name)); - auto n_location = new NodePointer; - n_location->m_field_name = field_name; - n_location->m_df_type = get_real_subtype(base+offset, DF_Type::building); - n_location->m_rdf_type = RDF_Type::Pointer; - n_location->m_node_type = NodeType::Pointer; - n_location->m_addornements = "*"; - n_location->m_address = base + offset; - n_location->m_parent = p_node_parent; - n_location->m_defined_in = "df.buildings.xml"; - n_location->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_location); - - field_name = "timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::party_info, field_name)); - auto n_timer = new NodeSimple; - n_timer->m_field_name = field_name; - n_timer->m_df_type = DF_Type::int32_t; - n_timer->m_rdf_type = RDF_Type::int32_t; - n_timer->m_node_type = NodeType::Simple; - n_timer->m_address = base + offset; - n_timer->m_comment = "-1 per 10"; - n_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_timer); - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::party_info, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_comment = "assigned during Save"; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - -} -void node_from_room_rent_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "elements"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::room_rent_info, field_name)); - auto n_elements = new NodeVector; - n_elements->m_field_name = field_name; - n_elements->m_df_type = DF_Type::building; - n_elements->m_rdf_type = RDF_Type::Vector; - n_elements->m_node_type = NodeType::Vector; - n_elements->m_defined_in = "df.buildings.xml"; - n_elements->m_addornements = "v*"; - n_elements->m_address = base + offset; - n_elements->m_parent = p_node_parent; - n_elements->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_elements); - - field_name = "rent_value"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::room_rent_info, field_name)); - auto n_rent_value = new NodeSimple; - n_rent_value->m_field_name = field_name; - n_rent_value->m_df_type = DF_Type::int32_t; - n_rent_value->m_rdf_type = RDF_Type::int32_t; - n_rent_value->m_node_type = NodeType::Simple; - n_rent_value->m_address = base + offset; - n_rent_value->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rent_value); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::room_rent_info, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::room_rent_info__T_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - -} -void node_from_activity_entry(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_entry, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_entry, field_name)); - auto n_type = new NodeSimple; - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::int16_t; - n_type->m_rdf_type = RDF_Type::int16_t; - n_type->m_node_type = NodeType::Simple; - n_type->m_address = base + offset; - n_type->m_comment = "was is_individual; 2 is associated with Conflict events"; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - - field_name = "events"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_entry, field_name)); - auto n_events = new NodeVector; - n_events->m_field_name = field_name; - n_events->m_df_type = DF_Type::activity_event; - n_events->m_rdf_type = RDF_Type::Vector; - n_events->m_node_type = NodeType::Vector; - n_events->m_defined_in = "df.meeting.xml"; - n_events->m_addornements = "v*"; - n_events->m_address = base + offset; - n_events->m_parent = p_node_parent; - n_events->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_events); - - field_name = "next_event_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_entry, field_name)); - auto n_next_event_id = new NodeSimple; - n_next_event_id->m_field_name = field_name; - n_next_event_id->m_df_type = DF_Type::int32_t; - n_next_event_id->m_rdf_type = RDF_Type::int32_t; - n_next_event_id->m_node_type = NodeType::Simple; - n_next_event_id->m_address = base + offset; - n_next_event_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_next_event_id); - - field_name = "army_controller"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_entry, field_name)); - auto n_army_controller = new NodeSimple; - n_army_controller->m_field_name = field_name; - n_army_controller->m_df_type = DF_Type::int32_t; - n_army_controller->m_rdf_type = RDF_Type::int32_t; - n_army_controller->m_node_type = NodeType::Simple; - n_army_controller->m_address = base + offset; - n_army_controller->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_army_controller); - -} -void node_from_activity_event__T_unk_v42_1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event__T_unk_v42_1, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "item_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event__T_unk_v42_1, field_name)); - auto n_item_id = new NodeSimple; - n_item_id->m_field_name = field_name; - n_item_id->m_df_type = DF_Type::int32_t; - n_item_id->m_rdf_type = RDF_Type::int32_t; - n_item_id->m_node_type = NodeType::Simple; - n_item_id->m_address = base + offset; - n_item_id->m_comment = "is artifact id for some activities ie. copy written"; - n_item_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_id); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event__T_unk_v42_1, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - -} -void node_from_activity_event__T_unk_v42_2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event__T_unk_v42_2, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event__T_unk_v42_2, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "item_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event__T_unk_v42_2, field_name)); - auto n_item_id = new NodeSimple; - n_item_id->m_field_name = field_name; - n_item_id->m_df_type = DF_Type::int32_t; - n_item_id->m_rdf_type = RDF_Type::int32_t; - n_item_id->m_node_type = NodeType::Simple; - n_item_id->m_address = base + offset; - n_item_id->m_comment = "is unit ID for writing jobs"; - n_item_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_id); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event__T_unk_v42_2, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - -} -void node_from_activity_event(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "event_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event, field_name)); - auto n_event_id = new NodeSimple; - n_event_id->m_field_name = field_name; - n_event_id->m_df_type = DF_Type::int32_t; - n_event_id->m_rdf_type = RDF_Type::int32_t; - n_event_id->m_node_type = NodeType::Simple; - n_event_id->m_address = base + offset; - n_event_id->m_comment = "mostly, but not always, the index in activity.events"; - n_event_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_event_id); - - field_name = "activity_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event, field_name)); - auto n_activity_id = new NodeSimple; - n_activity_id->m_field_name = field_name; - n_activity_id->m_df_type = DF_Type::int32_t; - n_activity_id->m_rdf_type = RDF_Type::int32_t; - n_activity_id->m_node_type = NodeType::Simple; - n_activity_id->m_address = base + offset; - n_activity_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_activity_id); - - field_name = "parent_event_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event, field_name)); - auto n_parent_event_id = new NodeSimple; - n_parent_event_id->m_field_name = field_name; - n_parent_event_id->m_df_type = DF_Type::int32_t; - n_parent_event_id->m_rdf_type = RDF_Type::int32_t; - n_parent_event_id->m_node_type = NodeType::Simple; - n_parent_event_id->m_address = base + offset; - n_parent_event_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_parent_event_id); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::activity_event__T_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "unk_v42_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event, field_name)); - auto n_unk_v42_1 = new NodeVector; - n_unk_v42_1->m_field_name = field_name; - n_unk_v42_1->m_df_type = DF_Type::activity_event__T_unk_v42_1; - n_unk_v42_1->m_rdf_type = RDF_Type::Vector; - n_unk_v42_1->m_node_type = NodeType::Vector; - n_unk_v42_1->m_addornements = "v*"; - n_unk_v42_1->m_address = base + offset; - n_unk_v42_1->m_parent = p_node_parent; - n_unk_v42_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_v42_1); - - field_name = "unk_v42_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event, field_name)); - auto n_unk_v42_2 = new NodeVector; - n_unk_v42_2->m_field_name = field_name; - n_unk_v42_2->m_df_type = DF_Type::activity_event__T_unk_v42_2; - n_unk_v42_2->m_rdf_type = RDF_Type::Vector; - n_unk_v42_2->m_node_type = NodeType::Vector; - n_unk_v42_2->m_addornements = "v*"; - n_unk_v42_2->m_address = base + offset; - n_unk_v42_2->m_parent = p_node_parent; - n_unk_v42_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_v42_2); - -} -void node_from_activity_event_training_sessionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::activity_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_activity_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "participants"; - auto n_participants = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_training_sessionst, field_name)); - n_participants->m_field_name = field_name; - n_participants->m_df_type = DF_Type::activity_event_participants; - n_participants->m_rdf_type = RDF_Type::Struct; - n_participants->m_node_type = NodeType::Compound; - n_participants->m_address = base + offset; - n_participants->m_defined_in = "df.meeting.xml"; - n_participants->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_participants); - -} -void node_from_activity_event_combat_trainingst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::activity_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_activity_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "participants"; - auto n_participants = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_combat_trainingst, field_name)); - n_participants->m_field_name = field_name; - n_participants->m_df_type = DF_Type::activity_event_participants; - n_participants->m_rdf_type = RDF_Type::Struct; - n_participants->m_node_type = NodeType::Compound; - n_participants->m_address = base + offset; - n_participants->m_defined_in = "df.meeting.xml"; - n_participants->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_participants); - - field_name = "building_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_combat_trainingst, field_name)); - auto n_building_id = new NodeSimple; - n_building_id->m_field_name = field_name; - n_building_id->m_df_type = DF_Type::int32_t; - n_building_id->m_rdf_type = RDF_Type::int32_t; - n_building_id->m_node_type = NodeType::Simple; - n_building_id->m_address = base + offset; - n_building_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_building_id); - - field_name = "hist_figure_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_combat_trainingst, field_name)); - auto n_hist_figure_id = new NodeSimple; - n_hist_figure_id->m_field_name = field_name; - n_hist_figure_id->m_df_type = DF_Type::int32_t; - n_hist_figure_id->m_rdf_type = RDF_Type::int32_t; - n_hist_figure_id->m_node_type = NodeType::Simple; - n_hist_figure_id->m_address = base + offset; - n_hist_figure_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_hist_figure_id); - - field_name = "unit_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_combat_trainingst, field_name)); - auto n_unit_id = new NodeSimple; - n_unit_id->m_field_name = field_name; - n_unit_id->m_df_type = DF_Type::int32_t; - n_unit_id->m_rdf_type = RDF_Type::int32_t; - n_unit_id->m_node_type = NodeType::Simple; - n_unit_id->m_address = base + offset; - n_unit_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unit_id); - - field_name = "organize_counter"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_combat_trainingst, field_name)); - auto n_organize_counter = new NodeSimple; - n_organize_counter->m_field_name = field_name; - n_organize_counter->m_df_type = DF_Type::int32_t; - n_organize_counter->m_rdf_type = RDF_Type::int32_t; - n_organize_counter->m_node_type = NodeType::Simple; - n_organize_counter->m_address = base + offset; - n_organize_counter->m_comment = "gt 0 => organizing, lt 0 => done"; - n_organize_counter->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_organize_counter); - -} -void node_from_activity_event_skill_demonstrationst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::activity_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_activity_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "participants"; - auto n_participants = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_skill_demonstrationst, field_name)); - n_participants->m_field_name = field_name; - n_participants->m_df_type = DF_Type::activity_event_participants; - n_participants->m_rdf_type = RDF_Type::Struct; - n_participants->m_node_type = NodeType::Compound; - n_participants->m_address = base + offset; - n_participants->m_defined_in = "df.meeting.xml"; - n_participants->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_participants); - - field_name = "building_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_skill_demonstrationst, field_name)); - auto n_building_id = new NodeSimple; - n_building_id->m_field_name = field_name; - n_building_id->m_df_type = DF_Type::int32_t; - n_building_id->m_rdf_type = RDF_Type::int32_t; - n_building_id->m_node_type = NodeType::Simple; - n_building_id->m_address = base + offset; - n_building_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_building_id); - - field_name = "hist_figure_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_skill_demonstrationst, field_name)); - auto n_hist_figure_id = new NodeSimple; - n_hist_figure_id->m_field_name = field_name; - n_hist_figure_id->m_df_type = DF_Type::int32_t; - n_hist_figure_id->m_rdf_type = RDF_Type::int32_t; - n_hist_figure_id->m_node_type = NodeType::Simple; - n_hist_figure_id->m_address = base + offset; - n_hist_figure_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_hist_figure_id); - - field_name = "unit_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_skill_demonstrationst, field_name)); - auto n_unit_id = new NodeSimple; - n_unit_id->m_field_name = field_name; - n_unit_id->m_df_type = DF_Type::int32_t; - n_unit_id->m_rdf_type = RDF_Type::int32_t; - n_unit_id->m_node_type = NodeType::Simple; - n_unit_id->m_address = base + offset; - n_unit_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unit_id); - - field_name = "skill"; - auto n_skill = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_skill_demonstrationst, field_name)); - n_skill->m_field_name = field_name; - n_skill->m_df_type = DF_Type::job_skill; - n_skill->m_rdf_type = RDF_Type::Enum; - n_skill->m_node_type = NodeType::Enum; - n_skill->m_base_type = DF_Type::int16_t; - n_skill->m_enum_type = "job_skill"; - n_skill->m_address = base + offset; - n_skill->m_defined_in = "df.skills.xml"; - n_skill->m_first_value = -1; - n_skill->m_last_value = 134; - n_skill->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_skill); - - field_name = "organize_counter"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_skill_demonstrationst, field_name)); - auto n_organize_counter = new NodeSimple; - n_organize_counter->m_field_name = field_name; - n_organize_counter->m_df_type = DF_Type::int32_t; - n_organize_counter->m_rdf_type = RDF_Type::int32_t; - n_organize_counter->m_node_type = NodeType::Simple; - n_organize_counter->m_address = base + offset; - n_organize_counter->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_organize_counter); - - field_name = "wait_countdown"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_skill_demonstrationst, field_name)); - auto n_wait_countdown = new NodeSimple; - n_wait_countdown->m_field_name = field_name; - n_wait_countdown->m_df_type = DF_Type::int32_t; - n_wait_countdown->m_rdf_type = RDF_Type::int32_t; - n_wait_countdown->m_node_type = NodeType::Simple; - n_wait_countdown->m_address = base + offset; - n_wait_countdown->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_wait_countdown); - - field_name = "train_rounds"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_skill_demonstrationst, field_name)); - auto n_train_rounds = new NodeSimple; - n_train_rounds->m_field_name = field_name; - n_train_rounds->m_df_type = DF_Type::int32_t; - n_train_rounds->m_rdf_type = RDF_Type::int32_t; - n_train_rounds->m_node_type = NodeType::Simple; - n_train_rounds->m_address = base + offset; - n_train_rounds->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_train_rounds); - - field_name = "train_countdown"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_skill_demonstrationst, field_name)); - auto n_train_countdown = new NodeSimple; - n_train_countdown->m_field_name = field_name; - n_train_countdown->m_df_type = DF_Type::int32_t; - n_train_countdown->m_rdf_type = RDF_Type::int32_t; - n_train_countdown->m_node_type = NodeType::Simple; - n_train_countdown->m_address = base + offset; - n_train_countdown->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_train_countdown); - -} -void node_from_activity_event_individual_skill_drillst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::activity_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_activity_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "participants"; - auto n_participants = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_individual_skill_drillst, field_name)); - n_participants->m_field_name = field_name; - n_participants->m_df_type = DF_Type::activity_event_participants; - n_participants->m_rdf_type = RDF_Type::Struct; - n_participants->m_node_type = NodeType::Compound; - n_participants->m_address = base + offset; - n_participants->m_defined_in = "df.meeting.xml"; - n_participants->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_participants); - - field_name = "building_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_individual_skill_drillst, field_name)); - auto n_building_id = new NodeSimple; - n_building_id->m_field_name = field_name; - n_building_id->m_df_type = DF_Type::int32_t; - n_building_id->m_rdf_type = RDF_Type::int32_t; - n_building_id->m_node_type = NodeType::Simple; - n_building_id->m_address = base + offset; - n_building_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_building_id); - - field_name = "countdown"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_individual_skill_drillst, field_name)); - auto n_countdown = new NodeSimple; - n_countdown->m_field_name = field_name; - n_countdown->m_df_type = DF_Type::int32_t; - n_countdown->m_rdf_type = RDF_Type::int32_t; - n_countdown->m_node_type = NodeType::Simple; - n_countdown->m_address = base + offset; - n_countdown->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_countdown); - -} -void node_from_activity_event_sparringst__T_groups(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "units"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_sparringst__T_groups, field_name)); - auto n_units = new NodeVector; - n_units->m_field_name = field_name; - n_units->m_df_type = DF_Type::int32_t; - n_units->m_rdf_type = RDF_Type::Vector; - n_units->m_node_type = NodeType::Vector; - n_units->m_addornements = "v"; - n_units->m_address = base + offset; - n_units->m_parent = p_node_parent; - n_units->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_units); - - field_name = "countdown"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_sparringst__T_groups, field_name)); - auto n_countdown = new NodeSimple; - n_countdown->m_field_name = field_name; - n_countdown->m_df_type = DF_Type::int32_t; - n_countdown->m_rdf_type = RDF_Type::int32_t; - n_countdown->m_node_type = NodeType::Simple; - n_countdown->m_address = base + offset; - n_countdown->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_countdown); - - field_name = "building_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_sparringst__T_groups, field_name)); - auto n_building_id = new NodeSimple; - n_building_id->m_field_name = field_name; - n_building_id->m_df_type = DF_Type::int32_t; - n_building_id->m_rdf_type = RDF_Type::int32_t; - n_building_id->m_node_type = NodeType::Simple; - n_building_id->m_address = base + offset; - n_building_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_building_id); - -} -void node_from_activity_event_sparringst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::activity_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_activity_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "participants"; - auto n_participants = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_sparringst, field_name)); - n_participants->m_field_name = field_name; - n_participants->m_df_type = DF_Type::activity_event_participants; - n_participants->m_rdf_type = RDF_Type::Struct; - n_participants->m_node_type = NodeType::Compound; - n_participants->m_address = base + offset; - n_participants->m_defined_in = "df.meeting.xml"; - n_participants->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_participants); - - field_name = "building_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_sparringst, field_name)); - auto n_building_id = new NodeSimple; - n_building_id->m_field_name = field_name; - n_building_id->m_df_type = DF_Type::int32_t; - n_building_id->m_rdf_type = RDF_Type::int32_t; - n_building_id->m_node_type = NodeType::Simple; - n_building_id->m_address = base + offset; - n_building_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_building_id); - - field_name = "groups"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_sparringst, field_name)); - auto n_groups = new NodeVector; - n_groups->m_field_name = field_name; - n_groups->m_df_type = DF_Type::activity_event_sparringst__T_groups; - n_groups->m_rdf_type = RDF_Type::Vector; - n_groups->m_node_type = NodeType::Vector; - n_groups->m_addornements = "v*"; - n_groups->m_address = base + offset; - n_groups->m_parent = p_node_parent; - n_groups->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_groups); - - field_name = "countdown"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_sparringst, field_name)); - auto n_countdown = new NodeSimple; - n_countdown->m_field_name = field_name; - n_countdown->m_df_type = DF_Type::int32_t; - n_countdown->m_rdf_type = RDF_Type::int32_t; - n_countdown->m_node_type = NodeType::Simple; - n_countdown->m_address = base + offset; - n_countdown->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_countdown); - -} -void node_from_activity_event_ranged_practicest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::activity_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_activity_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "participants"; - auto n_participants = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_ranged_practicest, field_name)); - n_participants->m_field_name = field_name; - n_participants->m_df_type = DF_Type::activity_event_participants; - n_participants->m_rdf_type = RDF_Type::Struct; - n_participants->m_node_type = NodeType::Compound; - n_participants->m_address = base + offset; - n_participants->m_defined_in = "df.meeting.xml"; - n_participants->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_participants); - - field_name = "building_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_ranged_practicest, field_name)); - auto n_building_id = new NodeSimple; - n_building_id->m_field_name = field_name; - n_building_id->m_df_type = DF_Type::int32_t; - n_building_id->m_rdf_type = RDF_Type::int32_t; - n_building_id->m_node_type = NodeType::Simple; - n_building_id->m_address = base + offset; - n_building_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_building_id); - - field_name = "uniform_lock"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_ranged_practicest, field_name)); - auto n_uniform_lock = new NodeSimple; - n_uniform_lock->m_field_name = field_name; - n_uniform_lock->m_df_type = DF_Type::int32_t; - n_uniform_lock->m_rdf_type = RDF_Type::int32_t; - n_uniform_lock->m_node_type = NodeType::Simple; - n_uniform_lock->m_address = base + offset; - n_uniform_lock->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_uniform_lock); - -} -void node_from_activity_event_harassmentst__T_anon_2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_harassmentst__T_anon_2, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - auto n_anon_2 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_harassmentst__T_anon_2, field_name)); - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::Array; - n_anon_2->m_node_type = NodeType::Array; - n_anon_2->m_addornements = "[3"; - n_anon_2->m_array_size = 3; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_harassmentst__T_anon_2, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_harassmentst__T_anon_2, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_harassmentst__T_anon_2, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_harassmentst__T_anon_2, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_harassmentst__T_anon_2, field_name)); - auto n_anon_7 = new NodeSimple; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::int32_t; - n_anon_7->m_rdf_type = RDF_Type::int32_t; - n_anon_7->m_node_type = NodeType::Simple; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_7); - - field_name = "anon_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_harassmentst__T_anon_2, field_name)); - auto n_anon_8 = new NodeSimple; - n_anon_8->m_field_name = field_name; - n_anon_8->m_df_type = DF_Type::int32_t; - n_anon_8->m_rdf_type = RDF_Type::int32_t; - n_anon_8->m_node_type = NodeType::Simple; - n_anon_8->m_address = base + offset; - n_anon_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_8); - - field_name = "anon_9"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_harassmentst__T_anon_2, field_name)); - auto n_anon_9 = new NodeSimple; - n_anon_9->m_field_name = field_name; - n_anon_9->m_df_type = DF_Type::int32_t; - n_anon_9->m_rdf_type = RDF_Type::int32_t; - n_anon_9->m_node_type = NodeType::Simple; - n_anon_9->m_address = base + offset; - n_anon_9->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_9); - - field_name = "anon_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_harassmentst__T_anon_2, field_name)); - auto n_anon_10 = new NodeSimple; - n_anon_10->m_field_name = field_name; - n_anon_10->m_df_type = DF_Type::int32_t; - n_anon_10->m_rdf_type = RDF_Type::int32_t; - n_anon_10->m_node_type = NodeType::Simple; - n_anon_10->m_address = base + offset; - n_anon_10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_10); - - field_name = "anon_11"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_harassmentst__T_anon_2, field_name)); - auto n_anon_11 = new NodeVector; - n_anon_11->m_field_name = field_name; - n_anon_11->m_df_type = DF_Type::int32_t; - n_anon_11->m_rdf_type = RDF_Type::Vector; - n_anon_11->m_node_type = NodeType::Vector; - n_anon_11->m_addornements = "v"; - n_anon_11->m_address = base + offset; - n_anon_11->m_parent = p_node_parent; - n_anon_11->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_11); - - field_name = "anon_12"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_harassmentst__T_anon_2, field_name)); - auto n_anon_12 = new NodeSimple; - n_anon_12->m_field_name = field_name; - n_anon_12->m_df_type = DF_Type::int32_t; - n_anon_12->m_rdf_type = RDF_Type::int32_t; - n_anon_12->m_node_type = NodeType::Simple; - n_anon_12->m_address = base + offset; - n_anon_12->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_12); - - field_name = "anon_13"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_harassmentst__T_anon_2, field_name)); - auto n_anon_13 = new NodeSimple; - n_anon_13->m_field_name = field_name; - n_anon_13->m_df_type = DF_Type::int32_t; - n_anon_13->m_rdf_type = RDF_Type::int32_t; - n_anon_13->m_node_type = NodeType::Simple; - n_anon_13->m_address = base + offset; - n_anon_13->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_13); - -} -void node_from_activity_event_harassmentst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::activity_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_activity_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_harassmentst, field_name)); - auto n_anon_1 = new NodeVector; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::Vector; - n_anon_1->m_node_type = NodeType::Vector; - n_anon_1->m_addornements = "v"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_harassmentst, field_name)); - auto n_anon_2 = new NodeVector; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::activity_event_harassmentst__T_anon_2; - n_anon_2->m_rdf_type = RDF_Type::Vector; - n_anon_2->m_node_type = NodeType::Vector; - n_anon_2->m_addornements = "v*"; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - n_anon_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_harassmentst, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_harassmentst, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_harassmentst, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_harassmentst, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_harassmentst, field_name)); - auto n_anon_7 = new NodeSimple; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::int32_t; - n_anon_7->m_rdf_type = RDF_Type::int32_t; - n_anon_7->m_node_type = NodeType::Simple; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_7); - - field_name = "anon_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_harassmentst, field_name)); - auto n_anon_8 = new NodeSimple; - n_anon_8->m_field_name = field_name; - n_anon_8->m_df_type = DF_Type::int32_t; - n_anon_8->m_rdf_type = RDF_Type::int32_t; - n_anon_8->m_node_type = NodeType::Simple; - n_anon_8->m_address = base + offset; - n_anon_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_8); - -} -void node_from_activity_event_conversationst__T_participants(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unit_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_participants, field_name)); - auto n_unit_id = new NodeSimple; - n_unit_id->m_field_name = field_name; - n_unit_id->m_df_type = DF_Type::int32_t; - n_unit_id->m_rdf_type = RDF_Type::int32_t; - n_unit_id->m_node_type = NodeType::Simple; - n_unit_id->m_address = base + offset; - n_unit_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unit_id); - - field_name = "histfig_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_participants, field_name)); - auto n_histfig_id = new NodeSimple; - n_histfig_id->m_field_name = field_name; - n_histfig_id->m_df_type = DF_Type::int32_t; - n_histfig_id->m_rdf_type = RDF_Type::int32_t; - n_histfig_id->m_node_type = NodeType::Simple; - n_histfig_id->m_address = base + offset; - n_histfig_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig_id); - -} -void node_from_activity_event_conversationst__T_anon_6(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_anon_6, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_anon_6, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int16_t; - n_anon_2->m_rdf_type = RDF_Type::int16_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_anon_6, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int16_t; - n_anon_3->m_rdf_type = RDF_Type::int16_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_anon_6, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int16_t; - n_anon_4->m_rdf_type = RDF_Type::int16_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_anon_6, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_anon_6, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_anon_6, field_name)); - auto n_anon_7 = new NodeSimple; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::int32_t; - n_anon_7->m_rdf_type = RDF_Type::int32_t; - n_anon_7->m_node_type = NodeType::Simple; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_7); - - field_name = "anon_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_anon_6, field_name)); - auto n_anon_8 = new NodeSimple; - n_anon_8->m_field_name = field_name; - n_anon_8->m_df_type = DF_Type::int32_t; - n_anon_8->m_rdf_type = RDF_Type::int32_t; - n_anon_8->m_node_type = NodeType::Simple; - n_anon_8->m_address = base + offset; - n_anon_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_8); - - field_name = "anon_9"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_anon_6, field_name)); - auto n_anon_9 = new NodeSimple; - n_anon_9->m_field_name = field_name; - n_anon_9->m_df_type = DF_Type::int32_t; - n_anon_9->m_rdf_type = RDF_Type::int32_t; - n_anon_9->m_node_type = NodeType::Simple; - n_anon_9->m_address = base + offset; - n_anon_9->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_9); - -} -void node_from_activity_event_conversationst__T_unk_b4(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk_b4, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk_b4, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk_b4, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk_b4, field_name)); - auto n_anon_4 = new NodeVector; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::Vector; - n_anon_4->m_node_type = NodeType::Vector; - n_anon_4->m_addornements = "v"; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - n_anon_4->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_4); - -} -void node_from_activity_event_conversationst__T_turns(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "speaker"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_turns, field_name)); - auto n_speaker = new NodeSimple; - n_speaker->m_field_name = field_name; - n_speaker->m_df_type = DF_Type::int32_t; - n_speaker->m_rdf_type = RDF_Type::int32_t; - n_speaker->m_node_type = NodeType::Simple; - n_speaker->m_address = base + offset; - n_speaker->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_speaker); - - field_name = "speaker_hfid"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_turns, field_name)); - auto n_speaker_hfid = new NodeSimple; - n_speaker_hfid->m_field_name = field_name; - n_speaker_hfid->m_df_type = DF_Type::int32_t; - n_speaker_hfid->m_rdf_type = RDF_Type::int32_t; - n_speaker_hfid->m_node_type = NodeType::Simple; - n_speaker_hfid->m_address = base + offset; - n_speaker_hfid->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_speaker_hfid); - - field_name = "type"; - auto n_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_turns, field_name)); - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::talk_choice_type; - n_type->m_rdf_type = RDF_Type::Enum; - n_type->m_node_type = NodeType::Enum; - n_type->m_base_type = enum_base_type(n_type->m_df_type); - n_type->m_enum_type = "talk_choice_type"; - n_type->m_address = base + offset; - n_type->m_defined_in = "df.advmode.xml"; - n_type->m_first_value = 0; - n_type->m_last_value = 224; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - - field_name = "event"; - auto n_event = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_turns, field_name)); - n_event->m_field_name = field_name; - n_event->m_df_type = DF_Type::entity_event; - n_event->m_rdf_type = RDF_Type::Struct; - n_event->m_node_type = NodeType::Compound; - n_event->m_address = base + offset; - n_event->m_defined_in = "df.entities.xml"; - n_event->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_event); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_turns, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "foreground"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_turns, field_name)); - auto n_foreground = new NodeSimple; - n_foreground->m_field_name = field_name; - n_foreground->m_df_type = DF_Type::int16_t; - n_foreground->m_rdf_type = RDF_Type::int16_t; - n_foreground->m_node_type = NodeType::Simple; - n_foreground->m_address = base + offset; - n_foreground->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_foreground); - - field_name = "background"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_turns, field_name)); - auto n_background = new NodeSimple; - n_background->m_field_name = field_name; - n_background->m_df_type = DF_Type::int16_t; - n_background->m_rdf_type = RDF_Type::int16_t; - n_background->m_node_type = NodeType::Simple; - n_background->m_address = base + offset; - n_background->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_background); - - field_name = "bright"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_turns, field_name)); - auto n_bright = new NodeSimple; - n_bright->m_field_name = field_name; - n_bright->m_df_type = DF_Type::int16_t; - n_bright->m_rdf_type = RDF_Type::int16_t; - n_bright->m_node_type = NodeType::Simple; - n_bright->m_address = base + offset; - n_bright->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_bright); - - field_name = "year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_turns, field_name)); - auto n_year = new NodeSimple; - n_year->m_field_name = field_name; - n_year->m_df_type = DF_Type::int32_t; - n_year->m_rdf_type = RDF_Type::int32_t; - n_year->m_node_type = NodeType::Simple; - n_year->m_address = base + offset; - n_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_year); - - field_name = "ticks"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_turns, field_name)); - auto n_ticks = new NodeSimple; - n_ticks->m_field_name = field_name; - n_ticks->m_df_type = DF_Type::int32_t; - n_ticks->m_rdf_type = RDF_Type::int32_t; - n_ticks->m_node_type = NodeType::Simple; - n_ticks->m_address = base + offset; - n_ticks->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ticks); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_turns, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_turns, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_turns, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "unk_v4014_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_turns, field_name)); - auto n_unk_v4014_1 = new NodeSimple; - n_unk_v4014_1->m_field_name = field_name; - n_unk_v4014_1->m_df_type = DF_Type::int32_t; - n_unk_v4014_1->m_rdf_type = RDF_Type::int32_t; - n_unk_v4014_1->m_node_type = NodeType::Simple; - n_unk_v4014_1->m_address = base + offset; - n_unk_v4014_1->m_comment = "uninit"; - n_unk_v4014_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v4014_1); - -} -void node_from_activity_event_conversationst__T_unk2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk2, field_name)); - auto n_anon_1 = new NodeVector; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::incident; - n_anon_1->m_rdf_type = RDF_Type::Vector; - n_anon_1->m_node_type = NodeType::Vector; - n_anon_1->m_defined_in = "df.world.xml"; - n_anon_1->m_addornements = "v*"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk2, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk2, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk2, field_name)); - auto n_anon_4 = new NodeVector; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::Vector; - n_anon_4->m_node_type = NodeType::Vector; - n_anon_4->m_addornements = "v"; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - n_anon_4->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk2, field_name)); - auto n_anon_5 = new NodeVector; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::Vector; - n_anon_5->m_node_type = NodeType::Vector; - n_anon_5->m_addornements = "v"; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - n_anon_5->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk2, field_name)); - auto n_anon_6 = new NodeVector; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::Vector; - n_anon_6->m_node_type = NodeType::Vector; - n_anon_6->m_addornements = "v"; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - n_anon_6->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk2, field_name)); - auto n_anon_7 = new NodeVector; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::int32_t; - n_anon_7->m_rdf_type = RDF_Type::Vector; - n_anon_7->m_node_type = NodeType::Vector; - n_anon_7->m_addornements = "v"; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - n_anon_7->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_7); - - field_name = "anon_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk2, field_name)); - auto n_anon_8 = new NodeVector; - n_anon_8->m_field_name = field_name; - n_anon_8->m_df_type = DF_Type::int32_t; - n_anon_8->m_rdf_type = RDF_Type::Vector; - n_anon_8->m_node_type = NodeType::Vector; - n_anon_8->m_addornements = "v"; - n_anon_8->m_address = base + offset; - n_anon_8->m_parent = p_node_parent; - n_anon_8->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_8); - - field_name = "anon_9"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk2, field_name)); - auto n_anon_9 = new NodeVector; - n_anon_9->m_field_name = field_name; - n_anon_9->m_df_type = DF_Type::int32_t; - n_anon_9->m_rdf_type = RDF_Type::Vector; - n_anon_9->m_node_type = NodeType::Vector; - n_anon_9->m_addornements = "v"; - n_anon_9->m_address = base + offset; - n_anon_9->m_parent = p_node_parent; - n_anon_9->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_9); - - field_name = "anon_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk2, field_name)); - auto n_anon_10 = new NodeVector; - n_anon_10->m_field_name = field_name; - n_anon_10->m_df_type = DF_Type::int32_t; - n_anon_10->m_rdf_type = RDF_Type::Vector; - n_anon_10->m_node_type = NodeType::Vector; - n_anon_10->m_addornements = "v"; - n_anon_10->m_address = base + offset; - n_anon_10->m_parent = p_node_parent; - n_anon_10->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_10); - - field_name = "anon_11"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk2, field_name)); - auto n_anon_11 = new NodeVector; - n_anon_11->m_field_name = field_name; - n_anon_11->m_df_type = DF_Type::int32_t; - n_anon_11->m_rdf_type = RDF_Type::Vector; - n_anon_11->m_node_type = NodeType::Vector; - n_anon_11->m_addornements = "v"; - n_anon_11->m_address = base + offset; - n_anon_11->m_parent = p_node_parent; - n_anon_11->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_11); - - field_name = "anon_12"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk2, field_name)); - auto n_anon_12 = new NodeVector; - n_anon_12->m_field_name = field_name; - n_anon_12->m_df_type = DF_Type::int32_t; - n_anon_12->m_rdf_type = RDF_Type::Vector; - n_anon_12->m_node_type = NodeType::Vector; - n_anon_12->m_addornements = "v"; - n_anon_12->m_address = base + offset; - n_anon_12->m_parent = p_node_parent; - n_anon_12->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_12); - - field_name = "anon_13"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk2, field_name)); - auto n_anon_13 = new NodeVector; - n_anon_13->m_field_name = field_name; - n_anon_13->m_df_type = DF_Type::int32_t; - n_anon_13->m_rdf_type = RDF_Type::Vector; - n_anon_13->m_node_type = NodeType::Vector; - n_anon_13->m_addornements = "v"; - n_anon_13->m_address = base + offset; - n_anon_13->m_parent = p_node_parent; - n_anon_13->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_13); - - field_name = "anon_14"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk2, field_name)); - auto n_anon_14 = new NodeVector; - n_anon_14->m_field_name = field_name; - n_anon_14->m_df_type = DF_Type::int32_t; - n_anon_14->m_rdf_type = RDF_Type::Vector; - n_anon_14->m_node_type = NodeType::Vector; - n_anon_14->m_addornements = "v"; - n_anon_14->m_address = base + offset; - n_anon_14->m_parent = p_node_parent; - n_anon_14->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_14); - - field_name = "anon_15"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk2, field_name)); - auto n_anon_15 = new NodeVector; - n_anon_15->m_field_name = field_name; - n_anon_15->m_df_type = DF_Type::int32_t; - n_anon_15->m_rdf_type = RDF_Type::Vector; - n_anon_15->m_node_type = NodeType::Vector; - n_anon_15->m_addornements = "v"; - n_anon_15->m_address = base + offset; - n_anon_15->m_parent = p_node_parent; - n_anon_15->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_15); - - field_name = "anon_16"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk2, field_name)); - auto n_anon_16 = new NodeVector; - n_anon_16->m_field_name = field_name; - n_anon_16->m_df_type = DF_Type::int32_t; - n_anon_16->m_rdf_type = RDF_Type::Vector; - n_anon_16->m_node_type = NodeType::Vector; - n_anon_16->m_addornements = "v"; - n_anon_16->m_address = base + offset; - n_anon_16->m_parent = p_node_parent; - n_anon_16->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_16); - - field_name = "anon_17"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk2, field_name)); - auto n_anon_17 = new NodeVector; - n_anon_17->m_field_name = field_name; - n_anon_17->m_df_type = DF_Type::int32_t; - n_anon_17->m_rdf_type = RDF_Type::Vector; - n_anon_17->m_node_type = NodeType::Vector; - n_anon_17->m_addornements = "v"; - n_anon_17->m_address = base + offset; - n_anon_17->m_parent = p_node_parent; - n_anon_17->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_17); - - field_name = "anon_18"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk2, field_name)); - auto n_anon_18 = new NodeSimple; - n_anon_18->m_field_name = field_name; - n_anon_18->m_df_type = DF_Type::int32_t; - n_anon_18->m_rdf_type = RDF_Type::int32_t; - n_anon_18->m_node_type = NodeType::Simple; - n_anon_18->m_address = base + offset; - n_anon_18->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_18); - - field_name = "anon_19"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk2, field_name)); - auto n_anon_19 = new NodeSimple; - n_anon_19->m_field_name = field_name; - n_anon_19->m_df_type = DF_Type::int32_t; - n_anon_19->m_rdf_type = RDF_Type::int32_t; - n_anon_19->m_node_type = NodeType::Simple; - n_anon_19->m_address = base + offset; - n_anon_19->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_19); - - field_name = "anon_20"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk2, field_name)); - auto n_anon_20 = new NodeSimple; - n_anon_20->m_field_name = field_name; - n_anon_20->m_df_type = DF_Type::int32_t; - n_anon_20->m_rdf_type = RDF_Type::int32_t; - n_anon_20->m_node_type = NodeType::Simple; - n_anon_20->m_address = base + offset; - n_anon_20->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_20); - - field_name = "anon_21"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk2, field_name)); - auto n_anon_21 = new NodeSimple; - n_anon_21->m_field_name = field_name; - n_anon_21->m_df_type = DF_Type::int32_t; - n_anon_21->m_rdf_type = RDF_Type::int32_t; - n_anon_21->m_node_type = NodeType::Simple; - n_anon_21->m_address = base + offset; - n_anon_21->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_21); - - field_name = "anon_22"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk2, field_name)); - auto n_anon_22 = new NodeSimple; - n_anon_22->m_field_name = field_name; - n_anon_22->m_df_type = DF_Type::int32_t; - n_anon_22->m_rdf_type = RDF_Type::int32_t; - n_anon_22->m_node_type = NodeType::Simple; - n_anon_22->m_address = base + offset; - n_anon_22->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_22); - - field_name = "anon_23"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk2, field_name)); - auto n_anon_23 = new NodeSimple; - n_anon_23->m_field_name = field_name; - n_anon_23->m_df_type = DF_Type::int32_t; - n_anon_23->m_rdf_type = RDF_Type::int32_t; - n_anon_23->m_node_type = NodeType::Simple; - n_anon_23->m_address = base + offset; - n_anon_23->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_23); - - field_name = "anon_24"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk2, field_name)); - auto n_anon_24 = new NodeSimple; - n_anon_24->m_field_name = field_name; - n_anon_24->m_df_type = DF_Type::int32_t; - n_anon_24->m_rdf_type = RDF_Type::int32_t; - n_anon_24->m_node_type = NodeType::Simple; - n_anon_24->m_address = base + offset; - n_anon_24->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_24); - - field_name = "anon_25"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk2, field_name)); - auto n_anon_25 = new NodeSimple; - n_anon_25->m_field_name = field_name; - n_anon_25->m_df_type = DF_Type::int32_t; - n_anon_25->m_rdf_type = RDF_Type::int32_t; - n_anon_25->m_node_type = NodeType::Simple; - n_anon_25->m_address = base + offset; - n_anon_25->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_25); - - field_name = "anon_26"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk2, field_name)); - auto n_anon_26 = new NodeSimple; - n_anon_26->m_field_name = field_name; - n_anon_26->m_df_type = DF_Type::int32_t; - n_anon_26->m_rdf_type = RDF_Type::int32_t; - n_anon_26->m_node_type = NodeType::Simple; - n_anon_26->m_address = base + offset; - n_anon_26->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_26); - - field_name = "anon_27"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk2, field_name)); - auto n_anon_27 = new NodeSimple; - n_anon_27->m_field_name = field_name; - n_anon_27->m_df_type = DF_Type::int32_t; - n_anon_27->m_rdf_type = RDF_Type::int32_t; - n_anon_27->m_node_type = NodeType::Simple; - n_anon_27->m_address = base + offset; - n_anon_27->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_27); - - field_name = "anon_28"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk2, field_name)); - auto n_anon_28 = new NodeSimple; - n_anon_28->m_field_name = field_name; - n_anon_28->m_df_type = DF_Type::int32_t; - n_anon_28->m_rdf_type = RDF_Type::int32_t; - n_anon_28->m_node_type = NodeType::Simple; - n_anon_28->m_address = base + offset; - n_anon_28->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_28); - - field_name = "anon_29"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk2, field_name)); - auto n_anon_29 = new NodeSimple; - n_anon_29->m_field_name = field_name; - n_anon_29->m_df_type = DF_Type::int32_t; - n_anon_29->m_rdf_type = RDF_Type::int32_t; - n_anon_29->m_node_type = NodeType::Simple; - n_anon_29->m_address = base + offset; - n_anon_29->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_29); - -} -void node_from_activity_event_conversationst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::activity_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_activity_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "participants"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst, field_name)); - auto n_participants = new NodeVector; - n_participants->m_field_name = field_name; - n_participants->m_df_type = DF_Type::activity_event_conversationst__T_participants; - n_participants->m_rdf_type = RDF_Type::Vector; - n_participants->m_node_type = NodeType::Vector; - n_participants->m_addornements = "v*"; - n_participants->m_address = base + offset; - n_participants->m_parent = p_node_parent; - n_participants->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_participants); - - field_name = "menu"; - auto n_menu = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst, field_name)); - n_menu->m_field_name = field_name; - n_menu->m_df_type = DF_Type::conversation_menu; - n_menu->m_rdf_type = RDF_Type::Enum; - n_menu->m_node_type = NodeType::Enum; - n_menu->m_base_type = enum_base_type(n_menu->m_df_type); - n_menu->m_enum_type = "conversation_menu"; - n_menu->m_address = base + offset; - n_menu->m_defined_in = "df.meeting.xml"; - n_menu->m_first_value = -1; - n_menu->m_last_value = 70; - n_menu->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_menu); - - field_name = "unk1"; - auto n_unk1 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst, field_name)); - n_unk1->m_field_name = field_name; - n_unk1->m_df_type = DF_Type::entity_event; - n_unk1->m_rdf_type = RDF_Type::Struct; - n_unk1->m_node_type = NodeType::Compound; - n_unk1->m_address = base + offset; - n_unk1->m_defined_in = "df.entities.xml"; - n_unk1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk1); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "unk_v42_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst, field_name)); - auto n_unk_v42_3 = new NodeSimple; - n_unk_v42_3->m_field_name = field_name; - n_unk_v42_3->m_df_type = DF_Type::int32_t; - n_unk_v42_3->m_rdf_type = RDF_Type::int32_t; - n_unk_v42_3->m_node_type = NodeType::Simple; - n_unk_v42_3->m_address = base + offset; - n_unk_v42_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v42_3); - - field_name = "unk_v42_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst, field_name)); - auto n_unk_v42_4 = new NodeVector; - n_unk_v42_4->m_field_name = field_name; - n_unk_v42_4->m_df_type = DF_Type::int32_t; - n_unk_v42_4->m_rdf_type = RDF_Type::Vector; - n_unk_v42_4->m_node_type = NodeType::Vector; - n_unk_v42_4->m_addornements = "v"; - n_unk_v42_4->m_address = base + offset; - n_unk_v42_4->m_parent = p_node_parent; - n_unk_v42_4->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_v42_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst, field_name)); - auto n_anon_5 = new NodeVector; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::Vector; - n_anon_5->m_node_type = NodeType::Vector; - n_anon_5->m_addornements = "v"; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - n_anon_5->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst, field_name)); - auto n_anon_6 = new NodeVector; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::activity_event_conversationst__T_anon_6; - n_anon_6->m_rdf_type = RDF_Type::Vector; - n_anon_6->m_node_type = NodeType::Vector; - n_anon_6->m_addornements = "v*"; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - n_anon_6->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst, field_name)); - auto n_anon_7 = new NodeVector; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::int32_t; - n_anon_7->m_rdf_type = RDF_Type::Vector; - n_anon_7->m_node_type = NodeType::Vector; - n_anon_7->m_addornements = "v"; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - n_anon_7->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_7); - - field_name = "anon_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst, field_name)); - auto n_anon_8 = new NodeVector; - n_anon_8->m_field_name = field_name; - n_anon_8->m_df_type = DF_Type::int32_t; - n_anon_8->m_rdf_type = RDF_Type::Vector; - n_anon_8->m_node_type = NodeType::Vector; - n_anon_8->m_addornements = "v"; - n_anon_8->m_address = base + offset; - n_anon_8->m_parent = p_node_parent; - n_anon_8->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_8); - - field_name = "unk_b4"; - auto n_unk_b4 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst, field_name)); - n_unk_b4->m_field_name = field_name; - n_unk_b4->m_df_type = DF_Type::activity_event_conversationst__T_unk_b4; - n_unk_b4->m_rdf_type = RDF_Type::Compound; - n_unk_b4->m_node_type = NodeType::Compound; - n_unk_b4->m_address = base + offset; - n_unk_b4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_b4); - - field_name = "turns"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst, field_name)); - auto n_turns = new NodeVector; - n_turns->m_field_name = field_name; - n_turns->m_df_type = DF_Type::activity_event_conversationst__T_turns; - n_turns->m_rdf_type = RDF_Type::Vector; - n_turns->m_node_type = NodeType::Vector; - n_turns->m_addornements = "v*"; - n_turns->m_address = base + offset; - n_turns->m_parent = p_node_parent; - n_turns->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_turns); - - field_name = "floor_holder"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst, field_name)); - auto n_floor_holder = new NodeSimple; - n_floor_holder->m_field_name = field_name; - n_floor_holder->m_df_type = DF_Type::int32_t; - n_floor_holder->m_rdf_type = RDF_Type::int32_t; - n_floor_holder->m_node_type = NodeType::Simple; - n_floor_holder->m_address = base + offset; - n_floor_holder->m_comment = "-1 = no one's turn"; - n_floor_holder->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_floor_holder); - - field_name = "floor_holder_hfid"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst, field_name)); - auto n_floor_holder_hfid = new NodeSimple; - n_floor_holder_hfid->m_field_name = field_name; - n_floor_holder_hfid->m_df_type = DF_Type::int32_t; - n_floor_holder_hfid->m_rdf_type = RDF_Type::int32_t; - n_floor_holder_hfid->m_node_type = NodeType::Simple; - n_floor_holder_hfid->m_address = base + offset; - n_floor_holder_hfid->m_comment = "-1 = no one's turn"; - n_floor_holder_hfid->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_floor_holder_hfid); - - field_name = "pause"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst, field_name)); - auto n_pause = new NodeSimple; - n_pause->m_field_name = field_name; - n_pause->m_df_type = DF_Type::int32_t; - n_pause->m_rdf_type = RDF_Type::int32_t; - n_pause->m_node_type = NodeType::Simple; - n_pause->m_address = base + offset; - n_pause->m_comment = "ticks since the last turn"; - n_pause->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pause); - - field_name = "flags2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst, field_name)); - auto n_flags2 = new NodeBitfield; - n_flags2->m_field_name = field_name; - n_flags2->m_df_type = DF_Type::activity_event_conversationst__T_flags2; - n_flags2->m_rdf_type = RDF_Type::Bitfield; - n_flags2->m_node_type = NodeType::Bitfield; - n_flags2->m_address = base + offset; - n_flags2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags2); - - field_name = "unk2"; - auto n_unk2 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst, field_name)); - n_unk2->m_field_name = field_name; - n_unk2->m_df_type = DF_Type::activity_event_conversationst__T_unk2; - n_unk2->m_rdf_type = RDF_Type::Compound; - n_unk2->m_node_type = NodeType::Compound; - n_unk2->m_address = base + offset; - n_unk2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk2); - - field_name = "choices"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst, field_name)); - auto n_choices = new NodeVector; - n_choices->m_field_name = field_name; - n_choices->m_df_type = DF_Type::talk_choice; - n_choices->m_rdf_type = RDF_Type::Vector; - n_choices->m_node_type = NodeType::Vector; - n_choices->m_defined_in = "df.advmode.xml"; - n_choices->m_addornements = "v*"; - n_choices->m_address = base + offset; - n_choices->m_parent = p_node_parent; - n_choices->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_choices); - - field_name = "anon_9"; - auto n_anon_9 = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst, field_name)); - n_anon_9->m_field_name = field_name; - n_anon_9->m_df_type = DF_Type::conversation_menu; - n_anon_9->m_rdf_type = RDF_Type::Enum; - n_anon_9->m_node_type = NodeType::Enum; - n_anon_9->m_base_type = enum_base_type(n_anon_9->m_df_type); - n_anon_9->m_enum_type = "conversation_menu"; - n_anon_9->m_address = base + offset; - n_anon_9->m_comment = "copy of menu"; - n_anon_9->m_defined_in = "df.meeting.xml"; - n_anon_9->m_first_value = -1; - n_anon_9->m_last_value = 70; - n_anon_9->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_9); - - field_name = "anon_10"; - auto n_anon_10 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst, field_name)); - n_anon_10->m_field_name = field_name; - n_anon_10->m_df_type = DF_Type::entity_event; - n_anon_10->m_rdf_type = RDF_Type::Struct; - n_anon_10->m_node_type = NodeType::Compound; - n_anon_10->m_address = base + offset; - n_anon_10->m_defined_in = "df.entities.xml"; - n_anon_10->m_comment = "copy of unk1"; - n_anon_10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_10); - - field_name = "anon_11"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst, field_name)); - auto n_anon_11 = new NodeSimple; - n_anon_11->m_field_name = field_name; - n_anon_11->m_df_type = DF_Type::int32_t; - n_anon_11->m_rdf_type = RDF_Type::int32_t; - n_anon_11->m_node_type = NodeType::Simple; - n_anon_11->m_address = base + offset; - n_anon_11->m_comment = "copy of anon_1"; - n_anon_11->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_11); - -} -void node_from_activity_event_conflictst__T_sides__T_enemies(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conflictst__T_sides__T_enemies, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "conflict_level"; - auto n_conflict_level = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conflictst__T_sides__T_enemies, field_name)); - n_conflict_level->m_field_name = field_name; - n_conflict_level->m_df_type = DF_Type::conflict_level; - n_conflict_level->m_rdf_type = RDF_Type::Enum; - n_conflict_level->m_node_type = NodeType::Enum; - n_conflict_level->m_base_type = enum_base_type(n_conflict_level->m_df_type); - n_conflict_level->m_enum_type = "conflict_level"; - n_conflict_level->m_address = base + offset; - n_conflict_level->m_defined_in = "df.world.xml"; - n_conflict_level->m_first_value = -1; - n_conflict_level->m_last_value = 6; - n_conflict_level->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_conflict_level); - -} -void node_from_activity_event_conflictst__T_sides(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conflictst__T_sides, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "histfig_ids"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conflictst__T_sides, field_name)); - auto n_histfig_ids = new NodeVector; - n_histfig_ids->m_field_name = field_name; - n_histfig_ids->m_df_type = DF_Type::int32_t; - n_histfig_ids->m_rdf_type = RDF_Type::Vector; - n_histfig_ids->m_node_type = NodeType::Vector; - n_histfig_ids->m_addornements = "v"; - n_histfig_ids->m_address = base + offset; - n_histfig_ids->m_parent = p_node_parent; - n_histfig_ids->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_histfig_ids); - - field_name = "unit_ids"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conflictst__T_sides, field_name)); - auto n_unit_ids = new NodeVector; - n_unit_ids->m_field_name = field_name; - n_unit_ids->m_df_type = DF_Type::int32_t; - n_unit_ids->m_rdf_type = RDF_Type::Vector; - n_unit_ids->m_node_type = NodeType::Vector; - n_unit_ids->m_addornements = "v"; - n_unit_ids->m_address = base + offset; - n_unit_ids->m_parent = p_node_parent; - n_unit_ids->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unit_ids); - - field_name = "enemies"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conflictst__T_sides, field_name)); - auto n_enemies = new NodeVector; - n_enemies->m_field_name = field_name; - n_enemies->m_df_type = DF_Type::activity_event_conflictst__T_sides__T_enemies; - n_enemies->m_rdf_type = RDF_Type::Vector; - n_enemies->m_node_type = NodeType::Vector; - n_enemies->m_addornements = "v*"; - n_enemies->m_address = base + offset; - n_enemies->m_comment = "relationships to other sides in this conflict"; - n_enemies->m_parent = p_node_parent; - n_enemies->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_enemies); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conflictst__T_sides, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conflictst__T_sides, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - -} -void node_from_activity_event_conflictst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::activity_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_activity_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "sides"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conflictst, field_name)); - auto n_sides = new NodeVector; - n_sides->m_field_name = field_name; - n_sides->m_df_type = DF_Type::activity_event_conflictst__T_sides; - n_sides->m_rdf_type = RDF_Type::Vector; - n_sides->m_node_type = NodeType::Vector; - n_sides->m_addornements = "v*"; - n_sides->m_address = base + offset; - n_sides->m_parent = p_node_parent; - n_sides->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_sides); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conflictst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conflictst, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conflictst, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "unk_v42_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conflictst, field_name)); - auto n_unk_v42_3 = new NodeSimple; - n_unk_v42_3->m_field_name = field_name; - n_unk_v42_3->m_df_type = DF_Type::int32_t; - n_unk_v42_3->m_rdf_type = RDF_Type::int32_t; - n_unk_v42_3->m_node_type = NodeType::Simple; - n_unk_v42_3->m_address = base + offset; - n_unk_v42_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v42_3); - -} -void node_from_activity_event_guardst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::activity_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_activity_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_guardst, field_name)); - auto n_anon_1 = new NodeVector; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::Vector; - n_anon_1->m_node_type = NodeType::Vector; - n_anon_1->m_addornements = "v"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_guardst, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int16_t; - n_anon_2->m_rdf_type = RDF_Type::int16_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_guardst, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int16_t; - n_anon_3->m_rdf_type = RDF_Type::int16_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_guardst, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int16_t; - n_anon_4->m_rdf_type = RDF_Type::int16_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_guardst, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - -} -void node_from_activity_event_reunionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::activity_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_activity_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_reunionst, field_name)); - auto n_anon_1 = new NodeVector; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::Vector; - n_anon_1->m_node_type = NodeType::Vector; - n_anon_1->m_addornements = "v"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_reunionst, field_name)); - auto n_anon_2 = new NodeVector; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::Vector; - n_anon_2->m_node_type = NodeType::Vector; - n_anon_2->m_addornements = "v"; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - n_anon_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_reunionst, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_reunionst, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_reunionst, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_reunionst, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_reunionst, field_name)); - auto n_anon_7 = new NodeSimple; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::int32_t; - n_anon_7->m_rdf_type = RDF_Type::int32_t; - n_anon_7->m_node_type = NodeType::Simple; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_7); - -} -void node_from_activity_event_prayerst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::activity_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_activity_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "participants"; - auto n_participants = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_prayerst, field_name)); - n_participants->m_field_name = field_name; - n_participants->m_df_type = DF_Type::activity_event_participants; - n_participants->m_rdf_type = RDF_Type::Struct; - n_participants->m_node_type = NodeType::Compound; - n_participants->m_address = base + offset; - n_participants->m_defined_in = "df.meeting.xml"; - n_participants->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_participants); - - field_name = "histfig_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_prayerst, field_name)); - auto n_histfig_id = new NodeSimple; - n_histfig_id->m_field_name = field_name; - n_histfig_id->m_df_type = DF_Type::int32_t; - n_histfig_id->m_rdf_type = RDF_Type::int32_t; - n_histfig_id->m_node_type = NodeType::Simple; - n_histfig_id->m_address = base + offset; - n_histfig_id->m_comment = "deity"; - n_histfig_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig_id); - - field_name = "topic"; - auto n_topic = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_prayerst, field_name)); - n_topic->m_field_name = field_name; - n_topic->m_df_type = DF_Type::sphere_type; - n_topic->m_rdf_type = RDF_Type::Enum; - n_topic->m_node_type = NodeType::Enum; - n_topic->m_base_type = DF_Type::int16_t; - n_topic->m_enum_type = "sphere_type"; - n_topic->m_address = base + offset; - n_topic->m_comment = "-1 when praying"; - n_topic->m_defined_in = "df.language.xml"; - n_topic->m_first_value = 0; - n_topic->m_last_value = 129; - n_topic->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_topic); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_prayerst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_prayerst, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_prayerst, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_prayerst, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - -} -void node_from_activity_event_socializest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::activity_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_activity_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "participants"; - auto n_participants = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_socializest, field_name)); - n_participants->m_field_name = field_name; - n_participants->m_df_type = DF_Type::activity_event_participants; - n_participants->m_rdf_type = RDF_Type::Struct; - n_participants->m_node_type = NodeType::Compound; - n_participants->m_address = base + offset; - n_participants->m_defined_in = "df.meeting.xml"; - n_participants->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_participants); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_socializest, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_socializest, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_socializest, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_socializest, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - -} -void node_from_activity_event_worshipst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::activity_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_activity_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "participants"; - auto n_participants = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_worshipst, field_name)); - n_participants->m_field_name = field_name; - n_participants->m_df_type = DF_Type::activity_event_participants; - n_participants->m_rdf_type = RDF_Type::Struct; - n_participants->m_node_type = NodeType::Compound; - n_participants->m_address = base + offset; - n_participants->m_defined_in = "df.meeting.xml"; - n_participants->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_participants); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_worshipst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_worshipst, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_worshipst, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_worshipst, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - -} -void node_from_activity_event_performancest__T_participant_actions(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "type"; - auto n_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest__T_participant_actions, field_name)); - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::performance_participant_type; - n_type->m_rdf_type = RDF_Type::Enum; - n_type->m_node_type = NodeType::Enum; - n_type->m_base_type = DF_Type::int32_t; - n_type->m_enum_type = "performance_participant_type"; - n_type->m_address = base + offset; - n_type->m_defined_in = "df.meeting.xml"; - n_type->m_first_value = 0; - n_type->m_last_value = 5; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - - field_name = "sub_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest__T_participant_actions, field_name)); - auto n_sub_type = new NodeSimple; - n_sub_type->m_field_name = field_name; - n_sub_type->m_df_type = DF_Type::int32_t; - n_sub_type->m_rdf_type = RDF_Type::int32_t; - n_sub_type->m_node_type = NodeType::Simple; - n_sub_type->m_address = base + offset; - n_sub_type->m_comment = "depends on type. if music: voice index in musical form"; - n_sub_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sub_type); - - field_name = "unit_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest__T_participant_actions, field_name)); - auto n_unit_id = new NodeSimple; - n_unit_id->m_field_name = field_name; - n_unit_id->m_df_type = DF_Type::int32_t; - n_unit_id->m_rdf_type = RDF_Type::int32_t; - n_unit_id->m_node_type = NodeType::Simple; - n_unit_id->m_address = base + offset; - n_unit_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unit_id); - - field_name = "histfig_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest__T_participant_actions, field_name)); - auto n_histfig_id = new NodeSimple; - n_histfig_id->m_field_name = field_name; - n_histfig_id->m_df_type = DF_Type::int32_t; - n_histfig_id->m_rdf_type = RDF_Type::int32_t; - n_histfig_id->m_node_type = NodeType::Simple; - n_histfig_id->m_address = base + offset; - n_histfig_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig_id); - - field_name = "unk_act_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest__T_participant_actions, field_name)); - auto n_unk_act_1 = new NodeSimple; - n_unk_act_1->m_field_name = field_name; - n_unk_act_1->m_df_type = DF_Type::int32_t; - n_unk_act_1->m_rdf_type = RDF_Type::int32_t; - n_unk_act_1->m_node_type = NodeType::Simple; - n_unk_act_1->m_address = base + offset; - n_unk_act_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_act_1); - - field_name = "unk_act_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest__T_participant_actions, field_name)); - auto n_unk_act_2 = new NodeSimple; - n_unk_act_2->m_field_name = field_name; - n_unk_act_2->m_df_type = DF_Type::int32_t; - n_unk_act_2->m_rdf_type = RDF_Type::int32_t; - n_unk_act_2->m_node_type = NodeType::Simple; - n_unk_act_2->m_address = base + offset; - n_unk_act_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_act_2); - - field_name = "unk_act_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest__T_participant_actions, field_name)); - auto n_unk_act_3 = new NodeSimple; - n_unk_act_3->m_field_name = field_name; - n_unk_act_3->m_df_type = DF_Type::int16_t; - n_unk_act_3->m_rdf_type = RDF_Type::int16_t; - n_unk_act_3->m_node_type = NodeType::Simple; - n_unk_act_3->m_address = base + offset; - n_unk_act_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_act_3); - - field_name = "unk_act_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest__T_participant_actions, field_name)); - auto n_unk_act_4 = new NodeSimple; - n_unk_act_4->m_field_name = field_name; - n_unk_act_4->m_df_type = DF_Type::int16_t; - n_unk_act_4->m_rdf_type = RDF_Type::int16_t; - n_unk_act_4->m_node_type = NodeType::Simple; - n_unk_act_4->m_address = base + offset; - n_unk_act_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_act_4); - - field_name = "unk_act_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest__T_participant_actions, field_name)); - auto n_unk_act_5 = new NodeSimple; - n_unk_act_5->m_field_name = field_name; - n_unk_act_5->m_df_type = DF_Type::int16_t; - n_unk_act_5->m_rdf_type = RDF_Type::int16_t; - n_unk_act_5->m_node_type = NodeType::Simple; - n_unk_act_5->m_address = base + offset; - n_unk_act_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_act_5); - - field_name = "unk_act_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest__T_participant_actions, field_name)); - auto n_unk_act_6 = new NodeSimple; - n_unk_act_6->m_field_name = field_name; - n_unk_act_6->m_df_type = DF_Type::int32_t; - n_unk_act_6->m_rdf_type = RDF_Type::int32_t; - n_unk_act_6->m_node_type = NodeType::Simple; - n_unk_act_6->m_address = base + offset; - n_unk_act_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_act_6); - - field_name = "unk_act_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest__T_participant_actions, field_name)); - auto n_unk_act_7 = new NodeSimple; - n_unk_act_7->m_field_name = field_name; - n_unk_act_7->m_df_type = DF_Type::int32_t; - n_unk_act_7->m_rdf_type = RDF_Type::int32_t; - n_unk_act_7->m_node_type = NodeType::Simple; - n_unk_act_7->m_address = base + offset; - n_unk_act_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_act_7); - - field_name = "unk_act_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest__T_participant_actions, field_name)); - auto n_unk_act_8 = new NodeSimple; - n_unk_act_8->m_field_name = field_name; - n_unk_act_8->m_df_type = DF_Type::int32_t; - n_unk_act_8->m_rdf_type = RDF_Type::int32_t; - n_unk_act_8->m_node_type = NodeType::Simple; - n_unk_act_8->m_address = base + offset; - n_unk_act_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_act_8); - - field_name = "unk_act_9"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest__T_participant_actions, field_name)); - auto n_unk_act_9 = new NodeSimple; - n_unk_act_9->m_field_name = field_name; - n_unk_act_9->m_df_type = DF_Type::int32_t; - n_unk_act_9->m_rdf_type = RDF_Type::int32_t; - n_unk_act_9->m_node_type = NodeType::Simple; - n_unk_act_9->m_address = base + offset; - n_unk_act_9->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_act_9); - -} -void node_from_activity_event_performancest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::activity_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_activity_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "participants"; - auto n_participants = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); - n_participants->m_field_name = field_name; - n_participants->m_df_type = DF_Type::activity_event_participants; - n_participants->m_rdf_type = RDF_Type::Struct; - n_participants->m_node_type = NodeType::Compound; - n_participants->m_address = base + offset; - n_participants->m_defined_in = "df.meeting.xml"; - n_participants->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_participants); - - field_name = "type"; - auto n_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::performance_event_type; - n_type->m_rdf_type = RDF_Type::Enum; - n_type->m_node_type = NodeType::Enum; - n_type->m_base_type = DF_Type::int32_t; - n_type->m_enum_type = "performance_event_type"; - n_type->m_address = base + offset; - n_type->m_defined_in = "df.meeting.xml"; - n_type->m_first_value = 0; - n_type->m_last_value = 3; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - - field_name = "event"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); - auto n_event = new NodeSimple; - n_event->m_field_name = field_name; - n_event->m_df_type = DF_Type::int32_t; - n_event->m_rdf_type = RDF_Type::int32_t; - n_event->m_node_type = NodeType::Simple; - n_event->m_address = base + offset; - n_event->m_comment = "used for story"; - n_event->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_event); - - field_name = "written_content_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); - auto n_written_content_id = new NodeSimple; - n_written_content_id->m_field_name = field_name; - n_written_content_id->m_df_type = DF_Type::int32_t; - n_written_content_id->m_rdf_type = RDF_Type::int32_t; - n_written_content_id->m_node_type = NodeType::Simple; - n_written_content_id->m_address = base + offset; - n_written_content_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_written_content_id); - - field_name = "poetic_form"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); - auto n_poetic_form = new NodeSimple; - n_poetic_form->m_field_name = field_name; - n_poetic_form->m_df_type = DF_Type::int32_t; - n_poetic_form->m_rdf_type = RDF_Type::int32_t; - n_poetic_form->m_node_type = NodeType::Simple; - n_poetic_form->m_address = base + offset; - n_poetic_form->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_poetic_form); - - field_name = "music_form"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); - auto n_music_form = new NodeSimple; - n_music_form->m_field_name = field_name; - n_music_form->m_df_type = DF_Type::int32_t; - n_music_form->m_rdf_type = RDF_Type::int32_t; - n_music_form->m_node_type = NodeType::Simple; - n_music_form->m_address = base + offset; - n_music_form->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_music_form); - - field_name = "dance_form"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); - auto n_dance_form = new NodeSimple; - n_dance_form->m_field_name = field_name; - n_dance_form->m_df_type = DF_Type::int32_t; - n_dance_form->m_rdf_type = RDF_Type::int32_t; - n_dance_form->m_node_type = NodeType::Simple; - n_dance_form->m_address = base + offset; - n_dance_form->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dance_form); - - field_name = "unk_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); - auto n_unk_1 = new NodeSimple; - n_unk_1->m_field_name = field_name; - n_unk_1->m_df_type = DF_Type::int32_t; - n_unk_1->m_rdf_type = RDF_Type::int32_t; - n_unk_1->m_node_type = NodeType::Simple; - n_unk_1->m_address = base + offset; - n_unk_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_1); - - field_name = "unk_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); - auto n_unk_2 = new NodeSimple; - n_unk_2->m_field_name = field_name; - n_unk_2->m_df_type = DF_Type::int32_t; - n_unk_2->m_rdf_type = RDF_Type::int32_t; - n_unk_2->m_node_type = NodeType::Simple; - n_unk_2->m_address = base + offset; - n_unk_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_2); - - field_name = "unk_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); - auto n_unk_3 = new NodeSimple; - n_unk_3->m_field_name = field_name; - n_unk_3->m_df_type = DF_Type::int32_t; - n_unk_3->m_rdf_type = RDF_Type::int32_t; - n_unk_3->m_node_type = NodeType::Simple; - n_unk_3->m_address = base + offset; - n_unk_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_3); - - field_name = "unk_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); - auto n_unk_4 = new NodeSimple; - n_unk_4->m_field_name = field_name; - n_unk_4->m_df_type = DF_Type::int32_t; - n_unk_4->m_rdf_type = RDF_Type::int32_t; - n_unk_4->m_node_type = NodeType::Simple; - n_unk_4->m_address = base + offset; - n_unk_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_4); - - field_name = "unk_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); - auto n_unk_5 = new NodeSimple; - n_unk_5->m_field_name = field_name; - n_unk_5->m_df_type = DF_Type::int32_t; - n_unk_5->m_rdf_type = RDF_Type::int32_t; - n_unk_5->m_node_type = NodeType::Simple; - n_unk_5->m_address = base + offset; - n_unk_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_5); - - field_name = "unk_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); - auto n_unk_6 = new NodeSimple; - n_unk_6->m_field_name = field_name; - n_unk_6->m_df_type = DF_Type::int32_t; - n_unk_6->m_rdf_type = RDF_Type::int32_t; - n_unk_6->m_node_type = NodeType::Simple; - n_unk_6->m_address = base + offset; - n_unk_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_6); - - field_name = "participant_actions"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); - auto n_participant_actions = new NodeVector; - n_participant_actions->m_field_name = field_name; - n_participant_actions->m_df_type = DF_Type::activity_event_performancest__T_participant_actions; - n_participant_actions->m_rdf_type = RDF_Type::Vector; - n_participant_actions->m_node_type = NodeType::Vector; - n_participant_actions->m_addornements = "v*"; - n_participant_actions->m_address = base + offset; - n_participant_actions->m_parent = p_node_parent; - n_participant_actions->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_participant_actions); - - field_name = "pos_performer_2d"; - auto n_pos_performer_2d = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); - n_pos_performer_2d->m_field_name = field_name; - n_pos_performer_2d->m_df_type = DF_Type::coord2d; - n_pos_performer_2d->m_rdf_type = RDF_Type::Struct; - n_pos_performer_2d->m_node_type = NodeType::Compound; - n_pos_performer_2d->m_address = base + offset; - n_pos_performer_2d->m_defined_in = "df.map.xml"; - n_pos_performer_2d->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pos_performer_2d); - - field_name = "pos_performer"; - auto n_pos_performer = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); - n_pos_performer->m_field_name = field_name; - n_pos_performer->m_df_type = DF_Type::coord; - n_pos_performer->m_rdf_type = RDF_Type::Struct; - n_pos_performer->m_node_type = NodeType::Compound; - n_pos_performer->m_address = base + offset; - n_pos_performer->m_defined_in = "df.map.xml"; - n_pos_performer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pos_performer); - - field_name = "unk_pos_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); - auto n_unk_pos_1 = new NodeSimple; - n_unk_pos_1->m_field_name = field_name; - n_unk_pos_1->m_df_type = DF_Type::int16_t; - n_unk_pos_1->m_rdf_type = RDF_Type::int16_t; - n_unk_pos_1->m_node_type = NodeType::Simple; - n_unk_pos_1->m_address = base + offset; - n_unk_pos_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_pos_1); - - field_name = "unk_pos_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); - auto n_unk_pos_2 = new NodeSimple; - n_unk_pos_2->m_field_name = field_name; - n_unk_pos_2->m_df_type = DF_Type::int16_t; - n_unk_pos_2->m_rdf_type = RDF_Type::int16_t; - n_unk_pos_2->m_node_type = NodeType::Simple; - n_unk_pos_2->m_address = base + offset; - n_unk_pos_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_pos_2); - - field_name = "unk_pos_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); - auto n_unk_pos_3 = new NodeSimple; - n_unk_pos_3->m_field_name = field_name; - n_unk_pos_3->m_df_type = DF_Type::int16_t; - n_unk_pos_3->m_rdf_type = RDF_Type::int16_t; - n_unk_pos_3->m_node_type = NodeType::Simple; - n_unk_pos_3->m_address = base + offset; - n_unk_pos_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_pos_3); - - field_name = "unk_pos_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); - auto n_unk_pos_4 = new NodeSimple; - n_unk_pos_4->m_field_name = field_name; - n_unk_pos_4->m_df_type = DF_Type::int16_t; - n_unk_pos_4->m_rdf_type = RDF_Type::int16_t; - n_unk_pos_4->m_node_type = NodeType::Simple; - n_unk_pos_4->m_address = base + offset; - n_unk_pos_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_pos_4); - - field_name = "unk_pos_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); - auto n_unk_pos_5 = new NodeSimple; - n_unk_pos_5->m_field_name = field_name; - n_unk_pos_5->m_df_type = DF_Type::int16_t; - n_unk_pos_5->m_rdf_type = RDF_Type::int16_t; - n_unk_pos_5->m_node_type = NodeType::Simple; - n_unk_pos_5->m_address = base + offset; - n_unk_pos_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_pos_5); - - field_name = "unk_pos_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); - auto n_unk_pos_6 = new NodeSimple; - n_unk_pos_6->m_field_name = field_name; - n_unk_pos_6->m_df_type = DF_Type::int16_t; - n_unk_pos_6->m_rdf_type = RDF_Type::int16_t; - n_unk_pos_6->m_node_type = NodeType::Simple; - n_unk_pos_6->m_address = base + offset; - n_unk_pos_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_pos_6); - - field_name = "unk_pos_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); - auto n_unk_pos_7 = new NodeSimple; - n_unk_pos_7->m_field_name = field_name; - n_unk_pos_7->m_df_type = DF_Type::int16_t; - n_unk_pos_7->m_rdf_type = RDF_Type::int16_t; - n_unk_pos_7->m_node_type = NodeType::Simple; - n_unk_pos_7->m_address = base + offset; - n_unk_pos_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_pos_7); - - field_name = "unk_pos_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); - auto n_unk_pos_8 = new NodeSimple; - n_unk_pos_8->m_field_name = field_name; - n_unk_pos_8->m_df_type = DF_Type::int16_t; - n_unk_pos_8->m_rdf_type = RDF_Type::int16_t; - n_unk_pos_8->m_node_type = NodeType::Simple; - n_unk_pos_8->m_address = base + offset; - n_unk_pos_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_pos_8); - - field_name = "unk_pos_9"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); - auto n_unk_pos_9 = new NodeSimple; - n_unk_pos_9->m_field_name = field_name; - n_unk_pos_9->m_df_type = DF_Type::int16_t; - n_unk_pos_9->m_rdf_type = RDF_Type::int16_t; - n_unk_pos_9->m_node_type = NodeType::Simple; - n_unk_pos_9->m_address = base + offset; - n_unk_pos_9->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_pos_9); - - field_name = "unk_pos_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); - auto n_unk_pos_10 = new NodeSimple; - n_unk_pos_10->m_field_name = field_name; - n_unk_pos_10->m_df_type = DF_Type::int16_t; - n_unk_pos_10->m_rdf_type = RDF_Type::int16_t; - n_unk_pos_10->m_node_type = NodeType::Simple; - n_unk_pos_10->m_address = base + offset; - n_unk_pos_10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_pos_10); - - field_name = "play_orders"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); - auto n_play_orders = new NodeVector; - n_play_orders->m_field_name = field_name; - n_play_orders->m_df_type = DF_Type::performance_play_orderst; - n_play_orders->m_rdf_type = RDF_Type::Vector; - n_play_orders->m_node_type = NodeType::Vector; - n_play_orders->m_defined_in = "df.meeting.xml"; - n_play_orders->m_addornements = "v*"; - n_play_orders->m_address = base + offset; - n_play_orders->m_parent = p_node_parent; - n_play_orders->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_play_orders); - - field_name = "unk_11"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); - auto n_unk_11 = new NodeSimple; - n_unk_11->m_field_name = field_name; - n_unk_11->m_df_type = DF_Type::int32_t; - n_unk_11->m_rdf_type = RDF_Type::int32_t; - n_unk_11->m_node_type = NodeType::Simple; - n_unk_11->m_address = base + offset; - n_unk_11->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_11); - - field_name = "unk_12"; - auto n_unk_12 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); - n_unk_12->m_field_name = field_name; - n_unk_12->m_df_type = DF_Type::int8_t; - n_unk_12->m_rdf_type = RDF_Type::Array; - n_unk_12->m_node_type = NodeType::Array; - n_unk_12->m_addornements = "[49"; - n_unk_12->m_array_size = 49; - n_unk_12->m_address = base + offset; - n_unk_12->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_12); - - field_name = "unk_13"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); - auto n_unk_13 = new NodeSimple; - n_unk_13->m_field_name = field_name; - n_unk_13->m_df_type = DF_Type::int16_t; - n_unk_13->m_rdf_type = RDF_Type::int16_t; - n_unk_13->m_node_type = NodeType::Simple; - n_unk_13->m_address = base + offset; - n_unk_13->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_13); - - field_name = "unk_14"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); - auto n_unk_14 = new NodeSimple; - n_unk_14->m_field_name = field_name; - n_unk_14->m_df_type = DF_Type::int16_t; - n_unk_14->m_rdf_type = RDF_Type::int16_t; - n_unk_14->m_node_type = NodeType::Simple; - n_unk_14->m_address = base + offset; - n_unk_14->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_14); - - field_name = "unk_15"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); - auto n_unk_15 = new NodeSimple; - n_unk_15->m_field_name = field_name; - n_unk_15->m_df_type = DF_Type::int16_t; - n_unk_15->m_rdf_type = RDF_Type::int16_t; - n_unk_15->m_node_type = NodeType::Simple; - n_unk_15->m_address = base + offset; - n_unk_15->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_15); - - field_name = "unk_16"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); - auto n_unk_16 = new NodeSimple; - n_unk_16->m_field_name = field_name; - n_unk_16->m_df_type = DF_Type::int32_t; - n_unk_16->m_rdf_type = RDF_Type::int32_t; - n_unk_16->m_node_type = NodeType::Simple; - n_unk_16->m_address = base + offset; - n_unk_16->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_16); - - field_name = "unk_17"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); - auto n_unk_17 = new NodeSimple; - n_unk_17->m_field_name = field_name; - n_unk_17->m_df_type = DF_Type::int32_t; - n_unk_17->m_rdf_type = RDF_Type::int32_t; - n_unk_17->m_node_type = NodeType::Simple; - n_unk_17->m_address = base + offset; - n_unk_17->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_17); - - field_name = "unk_18"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); - auto n_unk_18 = new NodeSimple; - n_unk_18->m_field_name = field_name; - n_unk_18->m_df_type = DF_Type::int32_t; - n_unk_18->m_rdf_type = RDF_Type::int32_t; - n_unk_18->m_node_type = NodeType::Simple; - n_unk_18->m_address = base + offset; - n_unk_18->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_18); - -} -void node_from_performance_play_orderst__T_anon_4(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - auto n_anon_1 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::performance_play_orderst__T_anon_4, field_name)); - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int16_t; - n_anon_1->m_rdf_type = RDF_Type::Array; - n_anon_1->m_node_type = NodeType::Array; - n_anon_1->m_addornements = "[28"; - n_anon_1->m_array_size = 28; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - auto n_anon_2 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::performance_play_orderst__T_anon_4, field_name)); - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int16_t; - n_anon_2->m_rdf_type = RDF_Type::Array; - n_anon_2->m_node_type = NodeType::Array; - n_anon_2->m_addornements = "[28"; - n_anon_2->m_array_size = 28; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - -} -void node_from_performance_play_orderst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::performance_play_orderst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::performance_play_orderst, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::performance_play_orderst, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::performance_play_orderst, field_name)); - auto n_anon_4 = new NodeVector; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::performance_play_orderst__T_anon_4; - n_anon_4->m_rdf_type = RDF_Type::Vector; - n_anon_4->m_node_type = NodeType::Vector; - n_anon_4->m_addornements = "v*"; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - n_anon_4->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::performance_play_orderst, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - -} -void node_from_activity_event_researchst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::activity_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_activity_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "participants"; - auto n_participants = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_researchst, field_name)); - n_participants->m_field_name = field_name; - n_participants->m_df_type = DF_Type::activity_event_participants; - n_participants->m_rdf_type = RDF_Type::Struct; - n_participants->m_node_type = NodeType::Compound; - n_participants->m_address = base + offset; - n_participants->m_defined_in = "df.meeting.xml"; - n_participants->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_participants); - - field_name = "site_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_researchst, field_name)); - auto n_site_id = new NodeSimple; - n_site_id->m_field_name = field_name; - n_site_id->m_df_type = DF_Type::int32_t; - n_site_id->m_rdf_type = RDF_Type::int32_t; - n_site_id->m_node_type = NodeType::Simple; - n_site_id->m_address = base + offset; - n_site_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_id); - - field_name = "location_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_researchst, field_name)); - auto n_location_id = new NodeSimple; - n_location_id->m_field_name = field_name; - n_location_id->m_df_type = DF_Type::int32_t; - n_location_id->m_rdf_type = RDF_Type::int32_t; - n_location_id->m_node_type = NodeType::Simple; - n_location_id->m_address = base + offset; - n_location_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_location_id); - - field_name = "building_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_researchst, field_name)); - auto n_building_id = new NodeSimple; - n_building_id->m_field_name = field_name; - n_building_id->m_df_type = DF_Type::int32_t; - n_building_id->m_rdf_type = RDF_Type::int32_t; - n_building_id->m_node_type = NodeType::Simple; - n_building_id->m_address = base + offset; - n_building_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_building_id); - -} -void node_from_activity_event_ponder_topicst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::activity_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_activity_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "participants"; - auto n_participants = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_ponder_topicst, field_name)); - n_participants->m_field_name = field_name; - n_participants->m_df_type = DF_Type::activity_event_participants; - n_participants->m_rdf_type = RDF_Type::Struct; - n_participants->m_node_type = NodeType::Compound; - n_participants->m_address = base + offset; - n_participants->m_defined_in = "df.meeting.xml"; - n_participants->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_participants); - - field_name = "site_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_ponder_topicst, field_name)); - auto n_site_id = new NodeSimple; - n_site_id->m_field_name = field_name; - n_site_id->m_df_type = DF_Type::int32_t; - n_site_id->m_rdf_type = RDF_Type::int32_t; - n_site_id->m_node_type = NodeType::Simple; - n_site_id->m_address = base + offset; - n_site_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_id); - - field_name = "location_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_ponder_topicst, field_name)); - auto n_location_id = new NodeSimple; - n_location_id->m_field_name = field_name; - n_location_id->m_df_type = DF_Type::int32_t; - n_location_id->m_rdf_type = RDF_Type::int32_t; - n_location_id->m_node_type = NodeType::Simple; - n_location_id->m_address = base + offset; - n_location_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_location_id); - - field_name = "building_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_ponder_topicst, field_name)); - auto n_building_id = new NodeSimple; - n_building_id->m_field_name = field_name; - n_building_id->m_df_type = DF_Type::int32_t; - n_building_id->m_rdf_type = RDF_Type::int32_t; - n_building_id->m_node_type = NodeType::Simple; - n_building_id->m_address = base + offset; - n_building_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_building_id); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_ponder_topicst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "knowledge"; - auto n_knowledge = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_ponder_topicst, field_name)); - n_knowledge->m_field_name = field_name; - n_knowledge->m_df_type = DF_Type::knowledge_scholar_category_flag; - n_knowledge->m_rdf_type = RDF_Type::Struct; - n_knowledge->m_node_type = NodeType::Compound; - n_knowledge->m_address = base + offset; - n_knowledge->m_defined_in = "df.knowledge.xml"; - n_knowledge->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_knowledge); - - field_name = "timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_ponder_topicst, field_name)); - auto n_timer = new NodeSimple; - n_timer->m_field_name = field_name; - n_timer->m_df_type = DF_Type::int32_t; - n_timer->m_rdf_type = RDF_Type::int32_t; - n_timer->m_node_type = NodeType::Simple; - n_timer->m_address = base + offset; - n_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_timer); - -} -void node_from_activity_event_discuss_topicst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::activity_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_activity_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "participants"; - auto n_participants = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_discuss_topicst, field_name)); - n_participants->m_field_name = field_name; - n_participants->m_df_type = DF_Type::activity_event_participants; - n_participants->m_rdf_type = RDF_Type::Struct; - n_participants->m_node_type = NodeType::Compound; - n_participants->m_address = base + offset; - n_participants->m_defined_in = "df.meeting.xml"; - n_participants->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_participants); - - field_name = "site_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_discuss_topicst, field_name)); - auto n_site_id = new NodeSimple; - n_site_id->m_field_name = field_name; - n_site_id->m_df_type = DF_Type::int32_t; - n_site_id->m_rdf_type = RDF_Type::int32_t; - n_site_id->m_node_type = NodeType::Simple; - n_site_id->m_address = base + offset; - n_site_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_id); - - field_name = "location_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_discuss_topicst, field_name)); - auto n_location_id = new NodeSimple; - n_location_id->m_field_name = field_name; - n_location_id->m_df_type = DF_Type::int32_t; - n_location_id->m_rdf_type = RDF_Type::int32_t; - n_location_id->m_node_type = NodeType::Simple; - n_location_id->m_address = base + offset; - n_location_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_location_id); - - field_name = "building_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_discuss_topicst, field_name)); - auto n_building_id = new NodeSimple; - n_building_id->m_field_name = field_name; - n_building_id->m_df_type = DF_Type::int32_t; - n_building_id->m_rdf_type = RDF_Type::int32_t; - n_building_id->m_node_type = NodeType::Simple; - n_building_id->m_address = base + offset; - n_building_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_building_id); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_discuss_topicst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "knowledge"; - auto n_knowledge = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_discuss_topicst, field_name)); - n_knowledge->m_field_name = field_name; - n_knowledge->m_df_type = DF_Type::knowledge_scholar_category_flag; - n_knowledge->m_rdf_type = RDF_Type::Struct; - n_knowledge->m_node_type = NodeType::Compound; - n_knowledge->m_address = base + offset; - n_knowledge->m_defined_in = "df.knowledge.xml"; - n_knowledge->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_knowledge); - - field_name = "timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_discuss_topicst, field_name)); - auto n_timer = new NodeSimple; - n_timer->m_field_name = field_name; - n_timer->m_df_type = DF_Type::int32_t; - n_timer->m_rdf_type = RDF_Type::int32_t; - n_timer->m_node_type = NodeType::Simple; - n_timer->m_address = base + offset; - n_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_timer); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_discuss_topicst, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_discuss_topicst, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - -} -void node_from_activity_event_readst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::activity_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_activity_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "participants"; - auto n_participants = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_readst, field_name)); - n_participants->m_field_name = field_name; - n_participants->m_df_type = DF_Type::activity_event_participants; - n_participants->m_rdf_type = RDF_Type::Struct; - n_participants->m_node_type = NodeType::Compound; - n_participants->m_address = base + offset; - n_participants->m_defined_in = "df.meeting.xml"; - n_participants->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_participants); - - field_name = "building_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_readst, field_name)); - auto n_building_id = new NodeSimple; - n_building_id->m_field_name = field_name; - n_building_id->m_df_type = DF_Type::int32_t; - n_building_id->m_rdf_type = RDF_Type::int32_t; - n_building_id->m_node_type = NodeType::Simple; - n_building_id->m_address = base + offset; - n_building_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_building_id); - - field_name = "site_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_readst, field_name)); - auto n_site_id = new NodeSimple; - n_site_id->m_field_name = field_name; - n_site_id->m_df_type = DF_Type::int32_t; - n_site_id->m_rdf_type = RDF_Type::int32_t; - n_site_id->m_node_type = NodeType::Simple; - n_site_id->m_address = base + offset; - n_site_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_id); - - field_name = "location_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_readst, field_name)); - auto n_location_id = new NodeSimple; - n_location_id->m_field_name = field_name; - n_location_id->m_df_type = DF_Type::int32_t; - n_location_id->m_rdf_type = RDF_Type::int32_t; - n_location_id->m_node_type = NodeType::Simple; - n_location_id->m_address = base + offset; - n_location_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_location_id); - - field_name = "state"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_readst, field_name)); - auto n_state = new NodeSimple; - n_state->m_field_name = field_name; - n_state->m_df_type = DF_Type::int32_t; - n_state->m_rdf_type = RDF_Type::int32_t; - n_state->m_node_type = NodeType::Simple; - n_state->m_address = base + offset; - n_state->m_comment = "0 if not in progress, 1 if reading"; - n_state->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_state); - - field_name = "timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_readst, field_name)); - auto n_timer = new NodeSimple; - n_timer->m_field_name = field_name; - n_timer->m_df_type = DF_Type::int32_t; - n_timer->m_rdf_type = RDF_Type::int32_t; - n_timer->m_node_type = NodeType::Simple; - n_timer->m_address = base + offset; - n_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_timer); - -} -void node_from_activity_event_fill_service_orderst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::activity_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_activity_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "histfig_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_fill_service_orderst, field_name)); - auto n_histfig_id = new NodeSimple; - n_histfig_id->m_field_name = field_name; - n_histfig_id->m_df_type = DF_Type::int32_t; - n_histfig_id->m_rdf_type = RDF_Type::int32_t; - n_histfig_id->m_node_type = NodeType::Simple; - n_histfig_id->m_address = base + offset; - n_histfig_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig_id); - - field_name = "unit_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_fill_service_orderst, field_name)); - auto n_unit_id = new NodeSimple; - n_unit_id->m_field_name = field_name; - n_unit_id->m_df_type = DF_Type::int32_t; - n_unit_id->m_rdf_type = RDF_Type::int32_t; - n_unit_id->m_node_type = NodeType::Simple; - n_unit_id->m_address = base + offset; - n_unit_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unit_id); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_fill_service_orderst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_fill_service_orderst, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - -} -void node_from_activity_event_writest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::activity_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_activity_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "participants"; - auto n_participants = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_writest, field_name)); - n_participants->m_field_name = field_name; - n_participants->m_df_type = DF_Type::activity_event_participants; - n_participants->m_rdf_type = RDF_Type::Struct; - n_participants->m_node_type = NodeType::Compound; - n_participants->m_address = base + offset; - n_participants->m_defined_in = "df.meeting.xml"; - n_participants->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_participants); - - field_name = "building_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_writest, field_name)); - auto n_building_id = new NodeSimple; - n_building_id->m_field_name = field_name; - n_building_id->m_df_type = DF_Type::int32_t; - n_building_id->m_rdf_type = RDF_Type::int32_t; - n_building_id->m_node_type = NodeType::Simple; - n_building_id->m_address = base + offset; - n_building_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_building_id); - - field_name = "site_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_writest, field_name)); - auto n_site_id = new NodeSimple; - n_site_id->m_field_name = field_name; - n_site_id->m_df_type = DF_Type::int32_t; - n_site_id->m_rdf_type = RDF_Type::int32_t; - n_site_id->m_node_type = NodeType::Simple; - n_site_id->m_address = base + offset; - n_site_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_id); - - field_name = "location_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_writest, field_name)); - auto n_location_id = new NodeSimple; - n_location_id->m_field_name = field_name; - n_location_id->m_df_type = DF_Type::int32_t; - n_location_id->m_rdf_type = RDF_Type::int32_t; - n_location_id->m_node_type = NodeType::Simple; - n_location_id->m_address = base + offset; - n_location_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_location_id); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_writest, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_writest, field_name)); - auto n_timer = new NodeSimple; - n_timer->m_field_name = field_name; - n_timer->m_df_type = DF_Type::int32_t; - n_timer->m_rdf_type = RDF_Type::int32_t; - n_timer->m_node_type = NodeType::Simple; - n_timer->m_address = base + offset; - n_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_timer); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_writest, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_writest, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_writest, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "knowledge"; - auto n_knowledge = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_writest, field_name)); - n_knowledge->m_field_name = field_name; - n_knowledge->m_df_type = DF_Type::knowledge_scholar_category_flag; - n_knowledge->m_rdf_type = RDF_Type::Struct; - n_knowledge->m_node_type = NodeType::Compound; - n_knowledge->m_address = base + offset; - n_knowledge->m_defined_in = "df.knowledge.xml"; - n_knowledge->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_knowledge); - -} -void node_from_activity_event_copy_written_contentst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::activity_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_activity_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unit_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_copy_written_contentst, field_name)); - auto n_unit_id = new NodeSimple; - n_unit_id->m_field_name = field_name; - n_unit_id->m_df_type = DF_Type::int32_t; - n_unit_id->m_rdf_type = RDF_Type::int32_t; - n_unit_id->m_node_type = NodeType::Simple; - n_unit_id->m_address = base + offset; - n_unit_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unit_id); - - field_name = "histfig_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_copy_written_contentst, field_name)); - auto n_histfig_id = new NodeSimple; - n_histfig_id->m_field_name = field_name; - n_histfig_id->m_df_type = DF_Type::int32_t; - n_histfig_id->m_rdf_type = RDF_Type::int32_t; - n_histfig_id->m_node_type = NodeType::Simple; - n_histfig_id->m_address = base + offset; - n_histfig_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig_id); - - field_name = "occupation_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_copy_written_contentst, field_name)); - auto n_occupation_id = new NodeSimple; - n_occupation_id->m_field_name = field_name; - n_occupation_id->m_df_type = DF_Type::int32_t; - n_occupation_id->m_rdf_type = RDF_Type::int32_t; - n_occupation_id->m_node_type = NodeType::Simple; - n_occupation_id->m_address = base + offset; - n_occupation_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_occupation_id); - - field_name = "building_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_copy_written_contentst, field_name)); - auto n_building_id = new NodeSimple; - n_building_id->m_field_name = field_name; - n_building_id->m_df_type = DF_Type::int32_t; - n_building_id->m_rdf_type = RDF_Type::int32_t; - n_building_id->m_node_type = NodeType::Simple; - n_building_id->m_address = base + offset; - n_building_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_building_id); - - field_name = "site_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_copy_written_contentst, field_name)); - auto n_site_id = new NodeSimple; - n_site_id->m_field_name = field_name; - n_site_id->m_df_type = DF_Type::int32_t; - n_site_id->m_rdf_type = RDF_Type::int32_t; - n_site_id->m_node_type = NodeType::Simple; - n_site_id->m_address = base + offset; - n_site_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_id); - - field_name = "location_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_copy_written_contentst, field_name)); - auto n_location_id = new NodeSimple; - n_location_id->m_field_name = field_name; - n_location_id->m_df_type = DF_Type::int32_t; - n_location_id->m_rdf_type = RDF_Type::int32_t; - n_location_id->m_node_type = NodeType::Simple; - n_location_id->m_address = base + offset; - n_location_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_location_id); - - field_name = "flagsmaybe"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_copy_written_contentst, field_name)); - auto n_flagsmaybe = new NodeBitfield; - n_flagsmaybe->m_field_name = field_name; - n_flagsmaybe->m_df_type = DF_Type::activity_event_copy_written_contentst__T_flagsmaybe; - n_flagsmaybe->m_rdf_type = RDF_Type::Bitfield; - n_flagsmaybe->m_node_type = NodeType::Bitfield; - n_flagsmaybe->m_address = base + offset; - n_flagsmaybe->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flagsmaybe); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_copy_written_contentst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_copy_written_contentst, field_name)); - auto n_timer = new NodeSimple; - n_timer->m_field_name = field_name; - n_timer->m_df_type = DF_Type::int32_t; - n_timer->m_rdf_type = RDF_Type::int32_t; - n_timer->m_node_type = NodeType::Simple; - n_timer->m_address = base + offset; - n_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_timer); - -} -void node_from_activity_event_teach_topicst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::activity_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_activity_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "participants"; - auto n_participants = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_teach_topicst, field_name)); - n_participants->m_field_name = field_name; - n_participants->m_df_type = DF_Type::activity_event_participants; - n_participants->m_rdf_type = RDF_Type::Struct; - n_participants->m_node_type = NodeType::Compound; - n_participants->m_address = base + offset; - n_participants->m_defined_in = "df.meeting.xml"; - n_participants->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_participants); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_teach_topicst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_teach_topicst, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_teach_topicst, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_teach_topicst, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_teach_topicst, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_teach_topicst, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_teach_topicst, field_name)); - auto n_anon_7 = new NodeSimple; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::int32_t; - n_anon_7->m_rdf_type = RDF_Type::int32_t; - n_anon_7->m_node_type = NodeType::Simple; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_7); - - field_name = "anon_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_teach_topicst, field_name)); - auto n_anon_8 = new NodeSimple; - n_anon_8->m_field_name = field_name; - n_anon_8->m_df_type = DF_Type::int32_t; - n_anon_8->m_rdf_type = RDF_Type::int32_t; - n_anon_8->m_node_type = NodeType::Simple; - n_anon_8->m_address = base + offset; - n_anon_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_8); - - field_name = "anon_9"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_teach_topicst, field_name)); - auto n_anon_9 = new NodeSimple; - n_anon_9->m_field_name = field_name; - n_anon_9->m_df_type = DF_Type::int32_t; - n_anon_9->m_rdf_type = RDF_Type::int32_t; - n_anon_9->m_node_type = NodeType::Simple; - n_anon_9->m_address = base + offset; - n_anon_9->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_9); - -} -void node_from_activity_event_playst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::activity_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_activity_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "participants"; - auto n_participants = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_playst, field_name)); - n_participants->m_field_name = field_name; - n_participants->m_df_type = DF_Type::activity_event_participants; - n_participants->m_rdf_type = RDF_Type::Struct; - n_participants->m_node_type = NodeType::Compound; - n_participants->m_address = base + offset; - n_participants->m_defined_in = "df.meeting.xml"; - n_participants->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_participants); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_playst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - auto n_anon_2 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_playst, field_name)); - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int8_t; - n_anon_2->m_rdf_type = RDF_Type::Array; - n_anon_2->m_node_type = NodeType::Array; - n_anon_2->m_addornements = "[49"; - n_anon_2->m_array_size = 49; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_playst, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int16_t; - n_anon_3->m_rdf_type = RDF_Type::int16_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_playst, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int16_t; - n_anon_4->m_rdf_type = RDF_Type::int16_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_playst, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int16_t; - n_anon_5->m_rdf_type = RDF_Type::int16_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - -} -void node_from_activity_event_make_believest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::activity_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_activity_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "participants"; - auto n_participants = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_make_believest, field_name)); - n_participants->m_field_name = field_name; - n_participants->m_df_type = DF_Type::activity_event_participants; - n_participants->m_rdf_type = RDF_Type::Struct; - n_participants->m_node_type = NodeType::Compound; - n_participants->m_address = base + offset; - n_participants->m_defined_in = "df.meeting.xml"; - n_participants->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_participants); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_make_believest, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_make_believest, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_make_believest, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - auto n_anon_4 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_make_believest, field_name)); - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int8_t; - n_anon_4->m_rdf_type = RDF_Type::Array; - n_anon_4->m_node_type = NodeType::Array; - n_anon_4->m_addornements = "[49"; - n_anon_4->m_array_size = 49; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_make_believest, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int16_t; - n_anon_5->m_rdf_type = RDF_Type::int16_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_make_believest, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int16_t; - n_anon_6->m_rdf_type = RDF_Type::int16_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_make_believest, field_name)); - auto n_anon_7 = new NodeSimple; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::int16_t; - n_anon_7->m_rdf_type = RDF_Type::int16_t; - n_anon_7->m_node_type = NodeType::Simple; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_7); - -} -void node_from_activity_event_play_with_toyst__T_unk(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - auto n_anon_1 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_play_with_toyst__T_unk, field_name)); - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int8_t; - n_anon_1->m_rdf_type = RDF_Type::Array; - n_anon_1->m_node_type = NodeType::Array; - n_anon_1->m_addornements = "[49"; - n_anon_1->m_array_size = 49; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - auto n_anon_2 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_play_with_toyst__T_unk, field_name)); - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::coord; - n_anon_2->m_rdf_type = RDF_Type::Struct; - n_anon_2->m_node_type = NodeType::Compound; - n_anon_2->m_address = base + offset; - n_anon_2->m_defined_in = "df.map.xml"; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - -} -void node_from_activity_event_play_with_toyst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::activity_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_activity_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "participants"; - auto n_participants = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_play_with_toyst, field_name)); - n_participants->m_field_name = field_name; - n_participants->m_df_type = DF_Type::activity_event_participants; - n_participants->m_rdf_type = RDF_Type::Struct; - n_participants->m_node_type = NodeType::Compound; - n_participants->m_address = base + offset; - n_participants->m_defined_in = "df.meeting.xml"; - n_participants->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_participants); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_play_with_toyst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_play_with_toyst, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_play_with_toyst, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "unk"; - auto n_unk = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_play_with_toyst, field_name)); - n_unk->m_field_name = field_name; - n_unk->m_df_type = DF_Type::activity_event_play_with_toyst__T_unk; - n_unk->m_rdf_type = RDF_Type::Compound; - n_unk->m_node_type = NodeType::Compound; - n_unk->m_address = base + offset; - n_unk->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_play_with_toyst, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_play_with_toyst, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_play_with_toyst, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - -} -void node_from_activity_event_encounterst__T_anon_1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_encounterst__T_anon_1, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_encounterst__T_anon_1, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_encounterst__T_anon_1, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_encounterst__T_anon_1, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_encounterst__T_anon_1, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_encounterst__T_anon_1, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_encounterst__T_anon_1, field_name)); - auto n_anon_7 = new NodeSimple; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::int32_t; - n_anon_7->m_rdf_type = RDF_Type::int32_t; - n_anon_7->m_node_type = NodeType::Simple; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_7); - - field_name = "anon_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_encounterst__T_anon_1, field_name)); - auto n_anon_8 = new NodeSimple; - n_anon_8->m_field_name = field_name; - n_anon_8->m_df_type = DF_Type::int32_t; - n_anon_8->m_rdf_type = RDF_Type::int32_t; - n_anon_8->m_node_type = NodeType::Simple; - n_anon_8->m_address = base + offset; - n_anon_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_8); - - field_name = "anon_9"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_encounterst__T_anon_1, field_name)); - auto n_anon_9 = new NodeSimple; - n_anon_9->m_field_name = field_name; - n_anon_9->m_df_type = DF_Type::int32_t; - n_anon_9->m_rdf_type = RDF_Type::int32_t; - n_anon_9->m_node_type = NodeType::Simple; - n_anon_9->m_address = base + offset; - n_anon_9->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_9); - - field_name = "anon_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_encounterst__T_anon_1, field_name)); - auto n_anon_10 = new NodeSimple; - n_anon_10->m_field_name = field_name; - n_anon_10->m_df_type = DF_Type::int32_t; - n_anon_10->m_rdf_type = RDF_Type::int32_t; - n_anon_10->m_node_type = NodeType::Simple; - n_anon_10->m_address = base + offset; - n_anon_10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_10); - -} -void node_from_activity_event_encounterst__T_anon_2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_encounterst__T_anon_2, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_encounterst__T_anon_2, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_encounterst__T_anon_2, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_encounterst__T_anon_2, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_encounterst__T_anon_2, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_encounterst__T_anon_2, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_encounterst__T_anon_2, field_name)); - auto n_anon_7 = new NodeSimple; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::int32_t; - n_anon_7->m_rdf_type = RDF_Type::int32_t; - n_anon_7->m_node_type = NodeType::Simple; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_7); - - field_name = "anon_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_encounterst__T_anon_2, field_name)); - auto n_anon_8 = new NodeSimple; - n_anon_8->m_field_name = field_name; - n_anon_8->m_df_type = DF_Type::int32_t; - n_anon_8->m_rdf_type = RDF_Type::int32_t; - n_anon_8->m_node_type = NodeType::Simple; - n_anon_8->m_address = base + offset; - n_anon_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_8); - -} -void node_from_activity_event_encounterst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::activity_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_activity_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_encounterst, field_name)); - auto n_anon_1 = new NodeVector; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::activity_event_encounterst__T_anon_1; - n_anon_1->m_rdf_type = RDF_Type::Vector; - n_anon_1->m_node_type = NodeType::Vector; - n_anon_1->m_addornements = "v*"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_encounterst, field_name)); - auto n_anon_2 = new NodeVector; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::activity_event_encounterst__T_anon_2; - n_anon_2->m_rdf_type = RDF_Type::Vector; - n_anon_2->m_node_type = NodeType::Vector; - n_anon_2->m_addornements = "v*"; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - n_anon_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_encounterst, field_name)); - auto n_anon_3 = new NodeVector; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::Vector; - n_anon_3->m_node_type = NodeType::Vector; - n_anon_3->m_addornements = "v"; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - n_anon_3->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_encounterst, field_name)); - auto n_anon_4 = new NodeVector; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::Vector; - n_anon_4->m_node_type = NodeType::Vector; - n_anon_4->m_addornements = "v"; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - n_anon_4->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_encounterst, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_encounterst, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_encounterst, field_name)); - auto n_anon_7 = new NodeSimple; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::int32_t; - n_anon_7->m_rdf_type = RDF_Type::int32_t; - n_anon_7->m_node_type = NodeType::Simple; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_7); - - field_name = "anon_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_encounterst, field_name)); - auto n_anon_8 = new NodeSimple; - n_anon_8->m_field_name = field_name; - n_anon_8->m_df_type = DF_Type::int32_t; - n_anon_8->m_rdf_type = RDF_Type::int32_t; - n_anon_8->m_node_type = NodeType::Simple; - n_anon_8->m_address = base + offset; - n_anon_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_8); - - field_name = "anon_9"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_encounterst, field_name)); - auto n_anon_9 = new NodeSimple; - n_anon_9->m_field_name = field_name; - n_anon_9->m_df_type = DF_Type::int32_t; - n_anon_9->m_rdf_type = RDF_Type::int32_t; - n_anon_9->m_node_type = NodeType::Simple; - n_anon_9->m_address = base + offset; - n_anon_9->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_9); - -} -void node_from_activity_event_store_objectst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::activity_event; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_activity_event(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_store_objectst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - auto n_anon_2 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_store_objectst, field_name)); - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::coord; - n_anon_2->m_rdf_type = RDF_Type::Struct; - n_anon_2->m_node_type = NodeType::Compound; - n_anon_2->m_address = base + offset; - n_anon_2->m_defined_in = "df.map.xml"; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_store_objectst, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_store_objectst, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_store_objectst, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - -} -void node_from_schedule_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::schedule_info, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::schedule_info, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int16_t; - n_anon_1->m_rdf_type = RDF_Type::int16_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "slots"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::schedule_info, field_name)); - auto n_slots = new NodeVector; - n_slots->m_field_name = field_name; - n_slots->m_df_type = DF_Type::schedule_slot; - n_slots->m_rdf_type = RDF_Type::Vector; - n_slots->m_node_type = NodeType::Vector; - n_slots->m_defined_in = "df.meeting.xml"; - n_slots->m_addornements = "v*"; - n_slots->m_address = base + offset; - n_slots->m_parent = p_node_parent; - n_slots->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_slots); - -} -void node_from_item_filter_spec(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "item_type"; - auto n_item_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_filter_spec, field_name)); - n_item_type->m_field_name = field_name; - n_item_type->m_df_type = DF_Type::item_type; - n_item_type->m_rdf_type = RDF_Type::Enum; - n_item_type->m_node_type = NodeType::Enum; - n_item_type->m_base_type = DF_Type::int16_t; - n_item_type->m_enum_type = "item_type"; - n_item_type->m_address = base + offset; - n_item_type->m_defined_in = "df.item-raws.xml"; - n_item_type->m_first_value = -1; - n_item_type->m_last_value = 90; - n_item_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_type); - - field_name = "item_subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_filter_spec, field_name)); - auto n_item_subtype = new NodeSimple; - n_item_subtype->m_field_name = field_name; - n_item_subtype->m_df_type = DF_Type::int16_t; - n_item_subtype->m_rdf_type = RDF_Type::int16_t; - n_item_subtype->m_node_type = NodeType::Simple; - n_item_subtype->m_address = base + offset; - n_item_subtype->m_refers_to = "(item-subtype-target $$._parent.item_type $)"; - n_item_subtype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_subtype); - - field_name = "material_class"; - auto n_material_class = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_filter_spec, field_name)); - n_material_class->m_field_name = field_name; - n_material_class->m_df_type = DF_Type::entity_material_category; - n_material_class->m_rdf_type = RDF_Type::Enum; - n_material_class->m_node_type = NodeType::Enum; - n_material_class->m_base_type = DF_Type::int16_t; - n_material_class->m_enum_type = "entity_material_category"; - n_material_class->m_address = base + offset; - n_material_class->m_defined_in = "df.entities.xml"; - n_material_class->m_first_value = -1; - n_material_class->m_last_value = 31; - n_material_class->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_material_class); - - field_name = "mattype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_filter_spec, field_name)); - auto n_mattype = new NodeSimple; - n_mattype->m_field_name = field_name; - n_mattype->m_df_type = DF_Type::int16_t; - n_mattype->m_rdf_type = RDF_Type::int16_t; - n_mattype->m_node_type = NodeType::Simple; - n_mattype->m_address = base + offset; - n_mattype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mattype); - - field_name = "matindex"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_filter_spec, field_name)); - auto n_matindex = new NodeSimple; - n_matindex->m_field_name = field_name; - n_matindex->m_df_type = DF_Type::int32_t; - n_matindex->m_rdf_type = RDF_Type::int32_t; - n_matindex->m_node_type = NodeType::Simple; - n_matindex->m_address = base + offset; - n_matindex->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_matindex); - -} -void node_from_squad_uniform_spec(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "item"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_uniform_spec, field_name)); - auto n_item = new NodeSimple; - n_item->m_field_name = field_name; - n_item->m_df_type = DF_Type::int32_t; - n_item->m_rdf_type = RDF_Type::int32_t; - n_item->m_node_type = NodeType::Simple; - n_item->m_address = base + offset; - n_item->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item); - - field_name = "item_filter"; - auto n_item_filter = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_uniform_spec, field_name)); - n_item_filter->m_field_name = field_name; - n_item_filter->m_df_type = DF_Type::item_filter_spec; - n_item_filter->m_rdf_type = RDF_Type::Struct; - n_item_filter->m_node_type = NodeType::Compound; - n_item_filter->m_address = base + offset; - n_item_filter->m_defined_in = "df.military.xml"; - n_item_filter->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_filter); - - field_name = "color"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_uniform_spec, field_name)); - auto n_color = new NodeSimple; - n_color->m_field_name = field_name; - n_color->m_df_type = DF_Type::int32_t; - n_color->m_rdf_type = RDF_Type::int32_t; - n_color->m_node_type = NodeType::Simple; - n_color->m_address = base + offset; - n_color->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_color); - - field_name = "assigned"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_uniform_spec, field_name)); - auto n_assigned = new NodeVector; - n_assigned->m_field_name = field_name; - n_assigned->m_df_type = DF_Type::int32_t; - n_assigned->m_rdf_type = RDF_Type::Vector; - n_assigned->m_node_type = NodeType::Vector; - n_assigned->m_addornements = "v"; - n_assigned->m_address = base + offset; - n_assigned->m_parent = p_node_parent; - n_assigned->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_assigned); - - field_name = "indiv_choice"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_uniform_spec, field_name)); - auto n_indiv_choice = new NodeBitfield; - n_indiv_choice->m_field_name = field_name; - n_indiv_choice->m_df_type = DF_Type::uniform_indiv_choice; - n_indiv_choice->m_rdf_type = RDF_Type::Bitfield; - n_indiv_choice->m_node_type = NodeType::Bitfield; - n_indiv_choice->m_address = base + offset; - n_indiv_choice->m_defined_in = "df.military.xml"; - n_indiv_choice->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_indiv_choice); - -} -void node_from_squad_ammo_spec(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "item_filter"; - auto n_item_filter = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_ammo_spec, field_name)); - n_item_filter->m_field_name = field_name; - n_item_filter->m_df_type = DF_Type::item_filter_spec; - n_item_filter->m_rdf_type = RDF_Type::Struct; - n_item_filter->m_node_type = NodeType::Compound; - n_item_filter->m_address = base + offset; - n_item_filter->m_defined_in = "df.military.xml"; - n_item_filter->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_filter); - - field_name = "amount"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_ammo_spec, field_name)); - auto n_amount = new NodeSimple; - n_amount->m_field_name = field_name; - n_amount->m_df_type = DF_Type::int32_t; - n_amount->m_rdf_type = RDF_Type::int32_t; - n_amount->m_node_type = NodeType::Simple; - n_amount->m_address = base + offset; - n_amount->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_amount); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_ammo_spec, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::squad_ammo_spec__T_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "assigned"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_ammo_spec, field_name)); - auto n_assigned = new NodeVector; - n_assigned->m_field_name = field_name; - n_assigned->m_df_type = DF_Type::int32_t; - n_assigned->m_rdf_type = RDF_Type::Vector; - n_assigned->m_node_type = NodeType::Vector; - n_assigned->m_addornements = "v"; - n_assigned->m_address = base + offset; - n_assigned->m_parent = p_node_parent; - n_assigned->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_assigned); - -} -void node_from_squad_position(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "occupant"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_position, field_name)); - auto n_occupant = new NodeSimple; - n_occupant->m_field_name = field_name; - n_occupant->m_df_type = DF_Type::int32_t; - n_occupant->m_rdf_type = RDF_Type::int32_t; - n_occupant->m_node_type = NodeType::Simple; - n_occupant->m_address = base + offset; - n_occupant->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_occupant); - - field_name = "orders"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_position, field_name)); - auto n_orders = new NodeVector; - n_orders->m_field_name = field_name; - n_orders->m_df_type = DF_Type::squad_order; - n_orders->m_rdf_type = RDF_Type::Vector; - n_orders->m_node_type = NodeType::Vector; - n_orders->m_defined_in = "df.military.xml"; - n_orders->m_addornements = "v*"; - n_orders->m_address = base + offset; - n_orders->m_parent = p_node_parent; - n_orders->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_orders); - - field_name = "preferences"; - auto n_preferences = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_position, field_name)); - n_preferences->m_field_name = field_name; - n_preferences->m_df_type = DF_Type::int32_t; - n_preferences->m_rdf_type = RDF_Type::Array; - n_preferences->m_node_type = NodeType::Array; - n_preferences->m_index_enum = DF_Type::barrack_preference_category; - n_preferences->m_addornements = "[4v"; - n_preferences->m_array_size = 4; - n_preferences->m_address = base + offset; - n_preferences->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_preferences); - - field_name = "uniform"; - auto n_uniform = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_position, field_name)); - n_uniform->m_field_name = field_name; - n_uniform->m_df_type = DF_Type::squad_uniform_spec; - n_uniform->m_rdf_type = RDF_Type::Array; - n_uniform->m_node_type = NodeType::Array; - n_uniform->m_index_enum = DF_Type::uniform_category; - n_uniform->m_defined_in = "df.military.xml"; - n_uniform->m_addornements = "[7v*"; - n_uniform->m_array_size = 7; - n_uniform->m_address = base + offset; - n_uniform->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_uniform); - - field_name = "unk_c4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_position, field_name)); - auto n_unk_c4 = new NodeSimple; - n_unk_c4->m_field_name = field_name; - n_unk_c4->m_df_type = DF_Type::Stl_string; - n_unk_c4->m_rdf_type = RDF_Type::Stl_string; - n_unk_c4->m_node_type = NodeType::Simple; - n_unk_c4->m_address = base + offset; - n_unk_c4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_c4); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_position, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::uniform_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_defined_in = "df.military.xml"; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "assigned_items"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_position, field_name)); - auto n_assigned_items = new NodeVector; - n_assigned_items->m_field_name = field_name; - n_assigned_items->m_df_type = DF_Type::int32_t; - n_assigned_items->m_rdf_type = RDF_Type::Vector; - n_assigned_items->m_node_type = NodeType::Vector; - n_assigned_items->m_addornements = "v"; - n_assigned_items->m_address = base + offset; - n_assigned_items->m_parent = p_node_parent; - n_assigned_items->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_assigned_items); - - field_name = "quiver"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_position, field_name)); - auto n_quiver = new NodeSimple; - n_quiver->m_field_name = field_name; - n_quiver->m_df_type = DF_Type::int32_t; - n_quiver->m_rdf_type = RDF_Type::int32_t; - n_quiver->m_node_type = NodeType::Simple; - n_quiver->m_address = base + offset; - n_quiver->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_quiver); - - field_name = "backpack"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_position, field_name)); - auto n_backpack = new NodeSimple; - n_backpack->m_field_name = field_name; - n_backpack->m_df_type = DF_Type::int32_t; - n_backpack->m_rdf_type = RDF_Type::int32_t; - n_backpack->m_node_type = NodeType::Simple; - n_backpack->m_address = base + offset; - n_backpack->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_backpack); - - field_name = "flask"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_position, field_name)); - auto n_flask = new NodeSimple; - n_flask->m_field_name = field_name; - n_flask->m_df_type = DF_Type::int32_t; - n_flask->m_rdf_type = RDF_Type::int32_t; - n_flask->m_node_type = NodeType::Simple; - n_flask->m_address = base + offset; - n_flask->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flask); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_position, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "activities"; - auto n_activities = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_position, field_name)); - n_activities->m_field_name = field_name; - n_activities->m_df_type = DF_Type::int32_t; - n_activities->m_rdf_type = RDF_Type::Array; - n_activities->m_node_type = NodeType::Array; - n_activities->m_index_enum = DF_Type::squad_event_type; - n_activities->m_addornements = "[3"; - n_activities->m_array_size = 3; - n_activities->m_address = base + offset; - n_activities->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_activities); - - field_name = "events"; - auto n_events = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_position, field_name)); - n_events->m_field_name = field_name; - n_events->m_df_type = DF_Type::int32_t; - n_events->m_rdf_type = RDF_Type::Array; - n_events->m_node_type = NodeType::Array; - n_events->m_index_enum = DF_Type::squad_event_type; - n_events->m_addornements = "[3"; - n_events->m_array_size = 3; - n_events->m_address = base + offset; - n_events->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_events); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_position, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - -} -void node_from_squad_schedule_order(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "order"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_schedule_order, field_name)); - auto n_order = new NodePointer; - n_order->m_field_name = field_name; - n_order->m_df_type = get_real_subtype(base+offset, DF_Type::squad_order); - n_order->m_rdf_type = RDF_Type::Pointer; - n_order->m_node_type = NodeType::Pointer; - n_order->m_addornements = "*"; - n_order->m_address = base + offset; - n_order->m_parent = p_node_parent; - n_order->m_defined_in = "df.military.xml"; - n_order->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_order); - - field_name = "min_count"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_schedule_order, field_name)); - auto n_min_count = new NodeSimple; - n_min_count->m_field_name = field_name; - n_min_count->m_df_type = DF_Type::int32_t; - n_min_count->m_rdf_type = RDF_Type::int32_t; - n_min_count->m_node_type = NodeType::Simple; - n_min_count->m_address = base + offset; - n_min_count->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_min_count); - - field_name = "positions"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_schedule_order, field_name)); - auto n_positions = new NodeVector; - n_positions->m_field_name = field_name; - n_positions->m_df_type = DF_Type::Bool; - n_positions->m_rdf_type = RDF_Type::Vector; - n_positions->m_node_type = NodeType::Vector; - n_positions->m_addornements = "v"; - n_positions->m_address = base + offset; - n_positions->m_parent = p_node_parent; - n_positions->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_positions); - -} -void node_from_squad_schedule_entry(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_schedule_entry, field_name)); - auto n_name = new NodeSimple; - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Stl_string; - n_name->m_node_type = NodeType::Simple; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "sleep_mode"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_schedule_entry, field_name)); - auto n_sleep_mode = new NodeSimple; - n_sleep_mode->m_field_name = field_name; - n_sleep_mode->m_df_type = DF_Type::int16_t; - n_sleep_mode->m_rdf_type = RDF_Type::int16_t; - n_sleep_mode->m_node_type = NodeType::Simple; - n_sleep_mode->m_address = base + offset; - n_sleep_mode->m_comment = "0 room, 1 barrack will, 2 barrack need"; - n_sleep_mode->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sleep_mode); - - field_name = "uniform_mode"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_schedule_entry, field_name)); - auto n_uniform_mode = new NodeSimple; - n_uniform_mode->m_field_name = field_name; - n_uniform_mode->m_df_type = DF_Type::int16_t; - n_uniform_mode->m_rdf_type = RDF_Type::int16_t; - n_uniform_mode->m_node_type = NodeType::Simple; - n_uniform_mode->m_address = base + offset; - n_uniform_mode->m_comment = "0 uniformed, 1 civ clothes"; - n_uniform_mode->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_uniform_mode); - - field_name = "orders"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_schedule_entry, field_name)); - auto n_orders = new NodeVector; - n_orders->m_field_name = field_name; - n_orders->m_df_type = DF_Type::squad_schedule_order; - n_orders->m_rdf_type = RDF_Type::Vector; - n_orders->m_node_type = NodeType::Vector; - n_orders->m_defined_in = "df.military.xml"; - n_orders->m_addornements = "v*"; - n_orders->m_address = base + offset; - n_orders->m_parent = p_node_parent; - n_orders->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_orders); - - field_name = "order_assignments"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_schedule_entry, field_name)); - auto n_order_assignments = new NodeVector; - n_order_assignments->m_field_name = field_name; - n_order_assignments->m_df_type = DF_Type::int32_t; - n_order_assignments->m_rdf_type = RDF_Type::Vector; - n_order_assignments->m_node_type = NodeType::Vector; - n_order_assignments->m_addornements = "v*"; - n_order_assignments->m_address = base + offset; - n_order_assignments->m_refers_to = "$$._global._upglobal.positions[$]"; - n_order_assignments->m_parent = p_node_parent; - n_order_assignments->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_order_assignments); - -} -void node_from_squad__T_rooms(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "building_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad__T_rooms, field_name)); - auto n_building_id = new NodeSimple; - n_building_id->m_field_name = field_name; - n_building_id->m_df_type = DF_Type::int32_t; - n_building_id->m_rdf_type = RDF_Type::int32_t; - n_building_id->m_node_type = NodeType::Simple; - n_building_id->m_address = base + offset; - n_building_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_building_id); - - field_name = "mode"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad__T_rooms, field_name)); - auto n_mode = new NodeBitfield; - n_mode->m_field_name = field_name; - n_mode->m_df_type = DF_Type::squad_use_flags; - n_mode->m_rdf_type = RDF_Type::Bitfield; - n_mode->m_node_type = NodeType::Bitfield; - n_mode->m_address = base + offset; - n_mode->m_defined_in = "df.military.xml"; - n_mode->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mode); - -} -void node_from_squad(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "name"; - auto n_name = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad, field_name)); - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::language_name; - n_name->m_rdf_type = RDF_Type::Struct; - n_name->m_node_type = NodeType::Compound; - n_name->m_address = base + offset; - n_name->m_defined_in = "df.language.xml"; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "alias"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad, field_name)); - auto n_alias = new NodeSimple; - n_alias->m_field_name = field_name; - n_alias->m_df_type = DF_Type::Stl_string; - n_alias->m_rdf_type = RDF_Type::Stl_string; - n_alias->m_node_type = NodeType::Simple; - n_alias->m_address = base + offset; - n_alias->m_comment = "if not empty, used instead of name"; - n_alias->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_alias); - - field_name = "positions"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad, field_name)); - auto n_positions = new NodeVector; - n_positions->m_field_name = field_name; - n_positions->m_df_type = DF_Type::squad_position; - n_positions->m_rdf_type = RDF_Type::Vector; - n_positions->m_node_type = NodeType::Vector; - n_positions->m_defined_in = "df.military.xml"; - n_positions->m_addornements = "v*"; - n_positions->m_address = base + offset; - n_positions->m_parent = p_node_parent; - n_positions->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_positions); - - field_name = "orders"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad, field_name)); - auto n_orders = new NodeVector; - n_orders->m_field_name = field_name; - n_orders->m_df_type = DF_Type::squad_order; - n_orders->m_rdf_type = RDF_Type::Vector; - n_orders->m_node_type = NodeType::Vector; - n_orders->m_defined_in = "df.military.xml"; - n_orders->m_addornements = "v*"; - n_orders->m_address = base + offset; - n_orders->m_parent = p_node_parent; - n_orders->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_orders); - - field_name = "schedule"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad, field_name)); - auto n_schedule = new NodeVector; - n_schedule->m_field_name = field_name; - n_schedule->m_df_type = DF_Type::squad_schedule_entry; - n_schedule->m_rdf_type = RDF_Type::Vector; - n_schedule->m_node_type = NodeType::Vector; - n_schedule->m_defined_in = "df.military.xml"; - n_schedule->m_addornements = "v*[12"; - n_schedule->m_address = base + offset; - n_schedule->m_parent = p_node_parent; - n_schedule->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_schedule); - - field_name = "cur_alert_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad, field_name)); - auto n_cur_alert_idx = new NodeSimple; - n_cur_alert_idx->m_field_name = field_name; - n_cur_alert_idx->m_df_type = DF_Type::int32_t; - n_cur_alert_idx->m_rdf_type = RDF_Type::int32_t; - n_cur_alert_idx->m_node_type = NodeType::Simple; - n_cur_alert_idx->m_address = base + offset; - n_cur_alert_idx->m_refers_to = "$$._parent.schedule[$]"; - n_cur_alert_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cur_alert_idx); - - field_name = "rooms"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad, field_name)); - auto n_rooms = new NodeVector; - n_rooms->m_field_name = field_name; - n_rooms->m_df_type = DF_Type::squad__T_rooms; - n_rooms->m_rdf_type = RDF_Type::Vector; - n_rooms->m_node_type = NodeType::Vector; - n_rooms->m_addornements = "v*"; - n_rooms->m_address = base + offset; - n_rooms->m_parent = p_node_parent; - n_rooms->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_rooms); - - field_name = "rack_combat"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad, field_name)); - auto n_rack_combat = new NodeVector; - n_rack_combat->m_field_name = field_name; - n_rack_combat->m_df_type = DF_Type::int32_t; - n_rack_combat->m_rdf_type = RDF_Type::Vector; - n_rack_combat->m_node_type = NodeType::Vector; - n_rack_combat->m_addornements = "v"; - n_rack_combat->m_address = base + offset; - n_rack_combat->m_parent = p_node_parent; - n_rack_combat->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_rack_combat); - - field_name = "rack_training"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad, field_name)); - auto n_rack_training = new NodeVector; - n_rack_training->m_field_name = field_name; - n_rack_training->m_df_type = DF_Type::int32_t; - n_rack_training->m_rdf_type = RDF_Type::Vector; - n_rack_training->m_node_type = NodeType::Vector; - n_rack_training->m_addornements = "v"; - n_rack_training->m_address = base + offset; - n_rack_training->m_parent = p_node_parent; - n_rack_training->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_rack_training); - - field_name = "uniform_priority"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad, field_name)); - auto n_uniform_priority = new NodeSimple; - n_uniform_priority->m_field_name = field_name; - n_uniform_priority->m_df_type = DF_Type::int32_t; - n_uniform_priority->m_rdf_type = RDF_Type::int32_t; - n_uniform_priority->m_node_type = NodeType::Simple; - n_uniform_priority->m_address = base + offset; - n_uniform_priority->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_uniform_priority); - - field_name = "activity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad, field_name)); - auto n_activity = new NodeSimple; - n_activity->m_field_name = field_name; - n_activity->m_df_type = DF_Type::int32_t; - n_activity->m_rdf_type = RDF_Type::int32_t; - n_activity->m_node_type = NodeType::Simple; - n_activity->m_address = base + offset; - n_activity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_activity); - - field_name = "ammunition"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad, field_name)); - auto n_ammunition = new NodeVector; - n_ammunition->m_field_name = field_name; - n_ammunition->m_df_type = DF_Type::squad_ammo_spec; - n_ammunition->m_rdf_type = RDF_Type::Vector; - n_ammunition->m_node_type = NodeType::Vector; - n_ammunition->m_defined_in = "df.military.xml"; - n_ammunition->m_addornements = "v*"; - n_ammunition->m_address = base + offset; - n_ammunition->m_parent = p_node_parent; - n_ammunition->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_ammunition); - - field_name = "train_weapon_free"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad, field_name)); - auto n_train_weapon_free = new NodeVector; - n_train_weapon_free->m_field_name = field_name; - n_train_weapon_free->m_df_type = DF_Type::int32_t; - n_train_weapon_free->m_rdf_type = RDF_Type::Vector; - n_train_weapon_free->m_node_type = NodeType::Vector; - n_train_weapon_free->m_addornements = "v"; - n_train_weapon_free->m_address = base + offset; - n_train_weapon_free->m_parent = p_node_parent; - n_train_weapon_free->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_train_weapon_free); - - field_name = "train_weapon_inuse"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad, field_name)); - auto n_train_weapon_inuse = new NodeVector; - n_train_weapon_inuse->m_field_name = field_name; - n_train_weapon_inuse->m_df_type = DF_Type::int32_t; - n_train_weapon_inuse->m_rdf_type = RDF_Type::Vector; - n_train_weapon_inuse->m_node_type = NodeType::Vector; - n_train_weapon_inuse->m_addornements = "v"; - n_train_weapon_inuse->m_address = base + offset; - n_train_weapon_inuse->m_parent = p_node_parent; - n_train_weapon_inuse->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_train_weapon_inuse); - - field_name = "ammo_items"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad, field_name)); - auto n_ammo_items = new NodeVector; - n_ammo_items->m_field_name = field_name; - n_ammo_items->m_df_type = DF_Type::int32_t; - n_ammo_items->m_rdf_type = RDF_Type::Vector; - n_ammo_items->m_node_type = NodeType::Vector; - n_ammo_items->m_addornements = "v"; - n_ammo_items->m_address = base + offset; - n_ammo_items->m_parent = p_node_parent; - n_ammo_items->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_ammo_items); - - field_name = "ammo_units"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad, field_name)); - auto n_ammo_units = new NodeVector; - n_ammo_units->m_field_name = field_name; - n_ammo_units->m_df_type = DF_Type::int32_t; - n_ammo_units->m_rdf_type = RDF_Type::Vector; - n_ammo_units->m_node_type = NodeType::Vector; - n_ammo_units->m_addornements = "v"; - n_ammo_units->m_address = base + offset; - n_ammo_units->m_parent = p_node_parent; - n_ammo_units->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_ammo_units); - - field_name = "carry_food"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad, field_name)); - auto n_carry_food = new NodeSimple; - n_carry_food->m_field_name = field_name; - n_carry_food->m_df_type = DF_Type::int16_t; - n_carry_food->m_rdf_type = RDF_Type::int16_t; - n_carry_food->m_node_type = NodeType::Simple; - n_carry_food->m_address = base + offset; - n_carry_food->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_carry_food); - - field_name = "carry_water"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad, field_name)); - auto n_carry_water = new NodeSimple; - n_carry_water->m_field_name = field_name; - n_carry_water->m_df_type = DF_Type::int16_t; - n_carry_water->m_rdf_type = RDF_Type::int16_t; - n_carry_water->m_node_type = NodeType::Simple; - n_carry_water->m_address = base + offset; - n_carry_water->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_carry_water); - - field_name = "entity_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad, field_name)); - auto n_entity_id = new NodeSimple; - n_entity_id->m_field_name = field_name; - n_entity_id->m_df_type = DF_Type::int32_t; - n_entity_id->m_rdf_type = RDF_Type::int32_t; - n_entity_id->m_node_type = NodeType::Simple; - n_entity_id->m_address = base + offset; - n_entity_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity_id); - - field_name = "leader_position"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad, field_name)); - auto n_leader_position = new NodeSimple; - n_leader_position->m_field_name = field_name; - n_leader_position->m_df_type = DF_Type::int32_t; - n_leader_position->m_rdf_type = RDF_Type::int32_t; - n_leader_position->m_node_type = NodeType::Simple; - n_leader_position->m_address = base + offset; - n_leader_position->m_refers_to = "(find-by-id $$._global.entity_id.ref-target.positions.own $id $)"; - n_leader_position->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_leader_position); - - field_name = "leader_assignment"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad, field_name)); - auto n_leader_assignment = new NodeSimple; - n_leader_assignment->m_field_name = field_name; - n_leader_assignment->m_df_type = DF_Type::int32_t; - n_leader_assignment->m_rdf_type = RDF_Type::int32_t; - n_leader_assignment->m_node_type = NodeType::Simple; - n_leader_assignment->m_address = base + offset; - n_leader_assignment->m_refers_to = "(find-by-id $$._global.entity_id.ref-target.positions.assignments $id $)"; - n_leader_assignment->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_leader_assignment); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_squad_order_movest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::squad_order; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_squad_order(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "pos"; - auto n_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_order_movest, field_name)); - n_pos->m_field_name = field_name; - n_pos->m_df_type = DF_Type::coord; - n_pos->m_rdf_type = RDF_Type::Struct; - n_pos->m_node_type = NodeType::Compound; - n_pos->m_address = base + offset; - n_pos->m_defined_in = "df.map.xml"; - n_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pos); - - field_name = "point_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_order_movest, field_name)); - auto n_point_id = new NodeSimple; - n_point_id->m_field_name = field_name; - n_point_id->m_df_type = DF_Type::int32_t; - n_point_id->m_rdf_type = RDF_Type::int32_t; - n_point_id->m_node_type = NodeType::Simple; - n_point_id->m_address = base + offset; - n_point_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_point_id); - -} -void node_from_squad_order_retrieve_artifactst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::squad_order; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_squad_order(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_order_retrieve_artifactst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - auto n_anon_2 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_order_retrieve_artifactst, field_name)); - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::coord; - n_anon_2->m_rdf_type = RDF_Type::Struct; - n_anon_2->m_node_type = NodeType::Compound; - n_anon_2->m_address = base + offset; - n_anon_2->m_defined_in = "df.map.xml"; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - -} -void node_from_squad_order_raid_sitest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::squad_order; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_squad_order(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_order_raid_sitest, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - auto n_anon_2 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_order_raid_sitest, field_name)); - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::coord; - n_anon_2->m_rdf_type = RDF_Type::Struct; - n_anon_2->m_node_type = NodeType::Compound; - n_anon_2->m_address = base + offset; - n_anon_2->m_defined_in = "df.map.xml"; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - -} -void node_from_squad_order_rescue_hfst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::squad_order; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_squad_order(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_order_rescue_hfst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - auto n_anon_2 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_order_rescue_hfst, field_name)); - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::coord; - n_anon_2->m_rdf_type = RDF_Type::Struct; - n_anon_2->m_node_type = NodeType::Compound; - n_anon_2->m_address = base + offset; - n_anon_2->m_defined_in = "df.map.xml"; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - -} -void node_from_army_controller__T_unk_64(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = true) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "t1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller__T_unk_64, field_name)); - auto n_t1 = new NodePointer; - n_t1->m_field_name = field_name; - n_t1->m_df_type = get_real_subtype(base+offset, DF_Type::army_controller_sub1); - n_t1->m_rdf_type = RDF_Type::Pointer; - n_t1->m_node_type = NodeType::Pointer; - n_t1->m_addornements = "*"; - n_t1->m_address = base + offset; - n_t1->m_parent = p_node_parent; - n_t1->m_defined_in = "df.military.xml"; - n_t1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_t1); - - field_name = "t2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller__T_unk_64, field_name)); - auto n_t2 = new NodePointer; - n_t2->m_field_name = field_name; - n_t2->m_df_type = get_real_subtype(base+offset, DF_Type::army_controller_sub2); - n_t2->m_rdf_type = RDF_Type::Pointer; - n_t2->m_node_type = NodeType::Pointer; - n_t2->m_addornements = "*"; - n_t2->m_address = base + offset; - n_t2->m_parent = p_node_parent; - n_t2->m_defined_in = "df.military.xml"; - n_t2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_t2); - - field_name = "t4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller__T_unk_64, field_name)); - auto n_t4 = new NodePointer; - n_t4->m_field_name = field_name; - n_t4->m_df_type = get_real_subtype(base+offset, DF_Type::army_controller_sub4); - n_t4->m_rdf_type = RDF_Type::Pointer; - n_t4->m_node_type = NodeType::Pointer; - n_t4->m_addornements = "*"; - n_t4->m_address = base + offset; - n_t4->m_parent = p_node_parent; - n_t4->m_defined_in = "df.military.xml"; - n_t4->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_t4); - - field_name = "t5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller__T_unk_64, field_name)); - auto n_t5 = new NodePointer; - n_t5->m_field_name = field_name; - n_t5->m_df_type = get_real_subtype(base+offset, DF_Type::army_controller_sub5); - n_t5->m_rdf_type = RDF_Type::Pointer; - n_t5->m_node_type = NodeType::Pointer; - n_t5->m_addornements = "*"; - n_t5->m_address = base + offset; - n_t5->m_parent = p_node_parent; - n_t5->m_defined_in = "df.military.xml"; - n_t5->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_t5); - - field_name = "t6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller__T_unk_64, field_name)); - auto n_t6 = new NodePointer; - n_t6->m_field_name = field_name; - n_t6->m_df_type = get_real_subtype(base+offset, DF_Type::army_controller_sub6); - n_t6->m_rdf_type = RDF_Type::Pointer; - n_t6->m_node_type = NodeType::Pointer; - n_t6->m_addornements = "*"; - n_t6->m_address = base + offset; - n_t6->m_parent = p_node_parent; - n_t6->m_defined_in = "df.military.xml"; - n_t6->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_t6); - - field_name = "t7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller__T_unk_64, field_name)); - auto n_t7 = new NodePointer; - n_t7->m_field_name = field_name; - n_t7->m_df_type = get_real_subtype(base+offset, DF_Type::army_controller_sub7); - n_t7->m_rdf_type = RDF_Type::Pointer; - n_t7->m_node_type = NodeType::Pointer; - n_t7->m_addornements = "*"; - n_t7->m_address = base + offset; - n_t7->m_parent = p_node_parent; - n_t7->m_defined_in = "df.military.xml"; - n_t7->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_t7); - - field_name = "t11"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller__T_unk_64, field_name)); - auto n_t11 = new NodePointer; - n_t11->m_field_name = field_name; - n_t11->m_df_type = get_real_subtype(base+offset, DF_Type::army_controller_sub11); - n_t11->m_rdf_type = RDF_Type::Pointer; - n_t11->m_node_type = NodeType::Pointer; - n_t11->m_addornements = "*"; - n_t11->m_address = base + offset; - n_t11->m_parent = p_node_parent; - n_t11->m_defined_in = "df.military.xml"; - n_t11->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_t11); - - field_name = "t12"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller__T_unk_64, field_name)); - auto n_t12 = new NodePointer; - n_t12->m_field_name = field_name; - n_t12->m_df_type = get_real_subtype(base+offset, DF_Type::army_controller_sub12); - n_t12->m_rdf_type = RDF_Type::Pointer; - n_t12->m_node_type = NodeType::Pointer; - n_t12->m_addornements = "*"; - n_t12->m_address = base + offset; - n_t12->m_parent = p_node_parent; - n_t12->m_defined_in = "df.military.xml"; - n_t12->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_t12); - - field_name = "t13"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller__T_unk_64, field_name)); - auto n_t13 = new NodePointer; - n_t13->m_field_name = field_name; - n_t13->m_df_type = get_real_subtype(base+offset, DF_Type::army_controller_sub13); - n_t13->m_rdf_type = RDF_Type::Pointer; - n_t13->m_node_type = NodeType::Pointer; - n_t13->m_addornements = "*"; - n_t13->m_address = base + offset; - n_t13->m_parent = p_node_parent; - n_t13->m_defined_in = "df.military.xml"; - n_t13->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_t13); - - field_name = "t14"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller__T_unk_64, field_name)); - auto n_t14 = new NodePointer; - n_t14->m_field_name = field_name; - n_t14->m_df_type = get_real_subtype(base+offset, DF_Type::army_controller_sub14); - n_t14->m_rdf_type = RDF_Type::Pointer; - n_t14->m_node_type = NodeType::Pointer; - n_t14->m_addornements = "*"; - n_t14->m_address = base + offset; - n_t14->m_parent = p_node_parent; - n_t14->m_defined_in = "df.military.xml"; - n_t14->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_t14); - - field_name = "t15"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller__T_unk_64, field_name)); - auto n_t15 = new NodePointer; - n_t15->m_field_name = field_name; - n_t15->m_df_type = get_real_subtype(base+offset, DF_Type::army_controller_sub15); - n_t15->m_rdf_type = RDF_Type::Pointer; - n_t15->m_node_type = NodeType::Pointer; - n_t15->m_addornements = "*"; - n_t15->m_address = base + offset; - n_t15->m_parent = p_node_parent; - n_t15->m_defined_in = "df.military.xml"; - n_t15->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_t15); - - field_name = "t16"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller__T_unk_64, field_name)); - auto n_t16 = new NodePointer; - n_t16->m_field_name = field_name; - n_t16->m_df_type = get_real_subtype(base+offset, DF_Type::army_controller_sub16); - n_t16->m_rdf_type = RDF_Type::Pointer; - n_t16->m_node_type = NodeType::Pointer; - n_t16->m_addornements = "*"; - n_t16->m_address = base + offset; - n_t16->m_parent = p_node_parent; - n_t16->m_defined_in = "df.military.xml"; - n_t16->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_t16); - - field_name = "t17"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller__T_unk_64, field_name)); - auto n_t17 = new NodePointer; - n_t17->m_field_name = field_name; - n_t17->m_df_type = get_real_subtype(base+offset, DF_Type::army_controller_sub17); - n_t17->m_rdf_type = RDF_Type::Pointer; - n_t17->m_node_type = NodeType::Pointer; - n_t17->m_addornements = "*"; - n_t17->m_address = base + offset; - n_t17->m_parent = p_node_parent; - n_t17->m_defined_in = "df.military.xml"; - n_t17->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_t17); - - field_name = "t18"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller__T_unk_64, field_name)); - auto n_t18 = new NodePointer; - n_t18->m_field_name = field_name; - n_t18->m_df_type = get_real_subtype(base+offset, DF_Type::army_controller_sub18); - n_t18->m_rdf_type = RDF_Type::Pointer; - n_t18->m_node_type = NodeType::Pointer; - n_t18->m_addornements = "*"; - n_t18->m_address = base + offset; - n_t18->m_parent = p_node_parent; - n_t18->m_defined_in = "df.military.xml"; - n_t18->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_t18); - -} -void node_from_army_controller(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "entity_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller, field_name)); - auto n_entity_id = new NodeSimple; - n_entity_id->m_field_name = field_name; - n_entity_id->m_df_type = DF_Type::int32_t; - n_entity_id->m_rdf_type = RDF_Type::int32_t; - n_entity_id->m_node_type = NodeType::Simple; - n_entity_id->m_address = base + offset; - n_entity_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity_id); - - field_name = "site_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller, field_name)); - auto n_site_id = new NodeSimple; - n_site_id->m_field_name = field_name; - n_site_id->m_df_type = DF_Type::int32_t; - n_site_id->m_rdf_type = RDF_Type::int32_t; - n_site_id->m_node_type = NodeType::Simple; - n_site_id->m_address = base + offset; - n_site_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_id); - - field_name = "pos_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller, field_name)); - auto n_pos_x = new NodeSimple; - n_pos_x->m_field_name = field_name; - n_pos_x->m_df_type = DF_Type::int32_t; - n_pos_x->m_rdf_type = RDF_Type::int32_t; - n_pos_x->m_node_type = NodeType::Simple; - n_pos_x->m_address = base + offset; - n_pos_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pos_x); - - field_name = "pos_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller, field_name)); - auto n_pos_y = new NodeSimple; - n_pos_y->m_field_name = field_name; - n_pos_y->m_df_type = DF_Type::int32_t; - n_pos_y->m_rdf_type = RDF_Type::int32_t; - n_pos_y->m_node_type = NodeType::Simple; - n_pos_y->m_address = base + offset; - n_pos_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pos_y); - - field_name = "unk_14"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller, field_name)); - auto n_unk_14 = new NodeSimple; - n_unk_14->m_field_name = field_name; - n_unk_14->m_df_type = DF_Type::int32_t; - n_unk_14->m_rdf_type = RDF_Type::int32_t; - n_unk_14->m_node_type = NodeType::Simple; - n_unk_14->m_address = base + offset; - n_unk_14->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_14); - - field_name = "unk_18"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller, field_name)); - auto n_unk_18 = new NodeSimple; - n_unk_18->m_field_name = field_name; - n_unk_18->m_df_type = DF_Type::int32_t; - n_unk_18->m_rdf_type = RDF_Type::int32_t; - n_unk_18->m_node_type = NodeType::Simple; - n_unk_18->m_address = base + offset; - n_unk_18->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_18); - - field_name = "unk_1c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller, field_name)); - auto n_unk_1c = new NodeSimple; - n_unk_1c->m_field_name = field_name; - n_unk_1c->m_df_type = DF_Type::int32_t; - n_unk_1c->m_rdf_type = RDF_Type::int32_t; - n_unk_1c->m_node_type = NodeType::Simple; - n_unk_1c->m_address = base + offset; - n_unk_1c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_1c); - - field_name = "unk_20"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller, field_name)); - auto n_unk_20 = new NodeVector; - n_unk_20->m_field_name = field_name; - n_unk_20->m_df_type = DF_Type::int32_t; - n_unk_20->m_rdf_type = RDF_Type::Vector; - n_unk_20->m_node_type = NodeType::Vector; - n_unk_20->m_addornements = "v"; - n_unk_20->m_address = base + offset; - n_unk_20->m_parent = p_node_parent; - n_unk_20->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_20); - - field_name = "year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller, field_name)); - auto n_year = new NodeSimple; - n_year->m_field_name = field_name; - n_year->m_df_type = DF_Type::int32_t; - n_year->m_rdf_type = RDF_Type::int32_t; - n_year->m_node_type = NodeType::Simple; - n_year->m_address = base + offset; - n_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_year); - - field_name = "year_tick"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller, field_name)); - auto n_year_tick = new NodeSimple; - n_year_tick->m_field_name = field_name; - n_year_tick->m_df_type = DF_Type::int32_t; - n_year_tick->m_rdf_type = RDF_Type::int32_t; - n_year_tick->m_node_type = NodeType::Simple; - n_year_tick->m_address = base + offset; - n_year_tick->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_year_tick); - - field_name = "unk_34"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller, field_name)); - auto n_unk_34 = new NodeSimple; - n_unk_34->m_field_name = field_name; - n_unk_34->m_df_type = DF_Type::int32_t; - n_unk_34->m_rdf_type = RDF_Type::int32_t; - n_unk_34->m_node_type = NodeType::Simple; - n_unk_34->m_address = base + offset; - n_unk_34->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_34); - - field_name = "unk_38"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller, field_name)); - auto n_unk_38 = new NodeSimple; - n_unk_38->m_field_name = field_name; - n_unk_38->m_df_type = DF_Type::int32_t; - n_unk_38->m_rdf_type = RDF_Type::int32_t; - n_unk_38->m_node_type = NodeType::Simple; - n_unk_38->m_address = base + offset; - n_unk_38->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_38); - - field_name = "unk_3c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller, field_name)); - auto n_unk_3c = new NodeSimple; - n_unk_3c->m_field_name = field_name; - n_unk_3c->m_df_type = DF_Type::int32_t; - n_unk_3c->m_rdf_type = RDF_Type::int32_t; - n_unk_3c->m_node_type = NodeType::Simple; - n_unk_3c->m_address = base + offset; - n_unk_3c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_3c); - - field_name = "unk_40"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller, field_name)); - auto n_unk_40 = new NodeSimple; - n_unk_40->m_field_name = field_name; - n_unk_40->m_df_type = DF_Type::int32_t; - n_unk_40->m_rdf_type = RDF_Type::int32_t; - n_unk_40->m_node_type = NodeType::Simple; - n_unk_40->m_address = base + offset; - n_unk_40->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_40); - - field_name = "unk_44"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller, field_name)); - auto n_unk_44 = new NodeVector; - n_unk_44->m_field_name = field_name; - n_unk_44->m_df_type = DF_Type::int32_t; - n_unk_44->m_rdf_type = RDF_Type::Vector; - n_unk_44->m_node_type = NodeType::Vector; - n_unk_44->m_addornements = "v"; - n_unk_44->m_address = base + offset; - n_unk_44->m_parent = p_node_parent; - n_unk_44->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_44); - - field_name = "unk_50"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller, field_name)); - auto n_unk_50 = new NodeSimple; - n_unk_50->m_field_name = field_name; - n_unk_50->m_df_type = DF_Type::int32_t; - n_unk_50->m_rdf_type = RDF_Type::int32_t; - n_unk_50->m_node_type = NodeType::Simple; - n_unk_50->m_address = base + offset; - n_unk_50->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_50); - - field_name = "unk_54"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller, field_name)); - auto n_unk_54 = new NodeVector; - n_unk_54->m_field_name = field_name; - n_unk_54->m_df_type = DF_Type::int32_t; - n_unk_54->m_rdf_type = RDF_Type::Vector; - n_unk_54->m_node_type = NodeType::Vector; - n_unk_54->m_addornements = "v"; - n_unk_54->m_address = base + offset; - n_unk_54->m_parent = p_node_parent; - n_unk_54->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_54); - - field_name = "mission_report"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller, field_name)); - auto n_mission_report = new NodePointer; - n_mission_report->m_field_name = field_name; - n_mission_report->m_df_type = get_real_subtype(base+offset, DF_Type::mission_report); - n_mission_report->m_rdf_type = RDF_Type::Pointer; - n_mission_report->m_node_type = NodeType::Pointer; - n_mission_report->m_addornements = "*"; - n_mission_report->m_address = base + offset; - n_mission_report->m_parent = p_node_parent; - n_mission_report->m_defined_in = "df.world.xml"; - n_mission_report->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_mission_report); - - field_name = "unk_44_11v"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller, field_name)); - auto n_unk_44_11v = new NodeVector; - n_unk_44_11v->m_field_name = field_name; - n_unk_44_11v->m_df_type = DF_Type::Void; - n_unk_44_11v->m_rdf_type = RDF_Type::Vector; - n_unk_44_11v->m_node_type = NodeType::Vector; - n_unk_44_11v->m_addornements = "v"; - n_unk_44_11v->m_address = base + offset; - n_unk_44_11v->m_parent = p_node_parent; - n_unk_44_11v->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_44_11v); - - field_name = "unk_64"; - auto n_unk_64 = new NodeUnion; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller, field_name)); - n_unk_64->m_field_name = field_name; - n_unk_64->m_df_type = DF_Type::army_controller__T_unk_64; - n_unk_64->m_rdf_type = RDF_Type::Union; - n_unk_64->m_node_type = NodeType::Union; - n_unk_64->m_address = base + offset; - n_unk_64->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_64); - - field_name = "type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller, field_name)); - auto n_type = new NodeSimple; - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::int32_t; - n_type->m_rdf_type = RDF_Type::int32_t; - n_type->m_node_type = NodeType::Simple; - n_type->m_address = base + offset; - n_type->m_comment = "12 for being sent away to tributary site"; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - -} -void node_from_army_controller_sub2__T_anon_5(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub2__T_anon_5, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub2__T_anon_5, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub2__T_anon_5, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub2__T_anon_5, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub2__T_anon_5, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub2__T_anon_5, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - -} -void node_from_army_controller_sub2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub2, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub2, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub2, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub2, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub2, field_name)); - auto n_anon_5 = new NodeVector; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::army_controller_sub2__T_anon_5; - n_anon_5->m_rdf_type = RDF_Type::Vector; - n_anon_5->m_node_type = NodeType::Vector; - n_anon_5->m_addornements = "v*"; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - n_anon_5->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub2, field_name)); - auto n_anon_6 = new NodeVector; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::Vector; - n_anon_6->m_node_type = NodeType::Vector; - n_anon_6->m_addornements = "v"; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - n_anon_6->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub2, field_name)); - auto n_anon_7 = new NodeVector; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::int32_t; - n_anon_7->m_rdf_type = RDF_Type::Vector; - n_anon_7->m_node_type = NodeType::Vector; - n_anon_7->m_addornements = "v"; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - n_anon_7->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_7); - - field_name = "anon_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub2, field_name)); - auto n_anon_8 = new NodeSimple; - n_anon_8->m_field_name = field_name; - n_anon_8->m_df_type = DF_Type::int32_t; - n_anon_8->m_rdf_type = RDF_Type::int32_t; - n_anon_8->m_node_type = NodeType::Simple; - n_anon_8->m_address = base + offset; - n_anon_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_8); - - field_name = "anon_9"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub2, field_name)); - auto n_anon_9 = new NodeSimple; - n_anon_9->m_field_name = field_name; - n_anon_9->m_df_type = DF_Type::int32_t; - n_anon_9->m_rdf_type = RDF_Type::int32_t; - n_anon_9->m_node_type = NodeType::Simple; - n_anon_9->m_address = base + offset; - n_anon_9->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_9); - - field_name = "anon_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub2, field_name)); - auto n_anon_10 = new NodeSimple; - n_anon_10->m_field_name = field_name; - n_anon_10->m_df_type = DF_Type::int32_t; - n_anon_10->m_rdf_type = RDF_Type::int32_t; - n_anon_10->m_node_type = NodeType::Simple; - n_anon_10->m_address = base + offset; - n_anon_10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_10); - -} -void node_from_army_controller_sub7__T_anon_3(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub7__T_anon_3, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub7__T_anon_3, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub7__T_anon_3, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub7__T_anon_3, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub7__T_anon_3, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub7__T_anon_3, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - -} -void node_from_army_controller_sub7(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub7, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub7, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub7, field_name)); - auto n_anon_3 = new NodeVector; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::army_controller_sub7__T_anon_3; - n_anon_3->m_rdf_type = RDF_Type::Vector; - n_anon_3->m_node_type = NodeType::Vector; - n_anon_3->m_addornements = "v*"; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - n_anon_3->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub7, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub7, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub7, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub7, field_name)); - auto n_anon_7 = new NodeSimple; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::int32_t; - n_anon_7->m_rdf_type = RDF_Type::int32_t; - n_anon_7->m_node_type = NodeType::Simple; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_7); - - field_name = "anon_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub7, field_name)); - auto n_anon_8 = new NodeSimple; - n_anon_8->m_field_name = field_name; - n_anon_8->m_df_type = DF_Type::int32_t; - n_anon_8->m_rdf_type = RDF_Type::int32_t; - n_anon_8->m_node_type = NodeType::Simple; - n_anon_8->m_address = base + offset; - n_anon_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_8); - - field_name = "anon_9"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub7, field_name)); - auto n_anon_9 = new NodeSimple; - n_anon_9->m_field_name = field_name; - n_anon_9->m_df_type = DF_Type::int32_t; - n_anon_9->m_rdf_type = RDF_Type::int32_t; - n_anon_9->m_node_type = NodeType::Simple; - n_anon_9->m_address = base + offset; - n_anon_9->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_9); - - field_name = "anon_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub7, field_name)); - auto n_anon_10 = new NodeSimple; - n_anon_10->m_field_name = field_name; - n_anon_10->m_df_type = DF_Type::int32_t; - n_anon_10->m_rdf_type = RDF_Type::int32_t; - n_anon_10->m_node_type = NodeType::Simple; - n_anon_10->m_address = base + offset; - n_anon_10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_10); - -} -void node_from_army_controller_sub11__T_anon_3(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub11__T_anon_3, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub11__T_anon_3, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub11__T_anon_3, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub11__T_anon_3, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub11__T_anon_3, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub11__T_anon_3, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - -} -void node_from_army_controller_sub11(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub11, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub11, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub11, field_name)); - auto n_anon_3 = new NodeVector; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::army_controller_sub11__T_anon_3; - n_anon_3->m_rdf_type = RDF_Type::Vector; - n_anon_3->m_node_type = NodeType::Vector; - n_anon_3->m_addornements = "v*"; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - n_anon_3->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_3); - -} -void node_from_army_controller_sub12__T_anon_4(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub12__T_anon_4, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub12__T_anon_4, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub12__T_anon_4, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub12__T_anon_4, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub12__T_anon_4, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub12__T_anon_4, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - -} -void node_from_army_controller_sub12(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub12, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub12, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub12, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub12, field_name)); - auto n_anon_4 = new NodeVector; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::army_controller_sub12__T_anon_4; - n_anon_4->m_rdf_type = RDF_Type::Vector; - n_anon_4->m_node_type = NodeType::Vector; - n_anon_4->m_addornements = "v*"; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - n_anon_4->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub12, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub12, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub12, field_name)); - auto n_anon_7 = new NodeSimple; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::int32_t; - n_anon_7->m_rdf_type = RDF_Type::int32_t; - n_anon_7->m_node_type = NodeType::Simple; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_7); - - field_name = "anon_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub12, field_name)); - auto n_anon_8 = new NodeSimple; - n_anon_8->m_field_name = field_name; - n_anon_8->m_df_type = DF_Type::int32_t; - n_anon_8->m_rdf_type = RDF_Type::int32_t; - n_anon_8->m_node_type = NodeType::Simple; - n_anon_8->m_address = base + offset; - n_anon_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_8); - -} -void node_from_army_controller_sub13__T_anon_4(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub13__T_anon_4, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub13__T_anon_4, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub13__T_anon_4, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub13__T_anon_4, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub13__T_anon_4, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub13__T_anon_4, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - -} -void node_from_army_controller_sub13(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub13, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub13, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub13, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub13, field_name)); - auto n_anon_4 = new NodeVector; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::army_controller_sub13__T_anon_4; - n_anon_4->m_rdf_type = RDF_Type::Vector; - n_anon_4->m_node_type = NodeType::Vector; - n_anon_4->m_addornements = "v*"; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - n_anon_4->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_4); - -} -void node_from_army_controller_sub14__T_anon_4(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub14__T_anon_4, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub14__T_anon_4, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub14__T_anon_4, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub14__T_anon_4, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub14__T_anon_4, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub14__T_anon_4, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - -} -void node_from_army_controller_sub14(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub14, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub14, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub14, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub14, field_name)); - auto n_anon_4 = new NodeVector; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::army_controller_sub14__T_anon_4; - n_anon_4->m_rdf_type = RDF_Type::Vector; - n_anon_4->m_node_type = NodeType::Vector; - n_anon_4->m_addornements = "v*"; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - n_anon_4->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_4); - -} -void node_from_army_controller_sub15__T_anon_3(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub15__T_anon_3, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub15__T_anon_3, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub15__T_anon_3, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub15__T_anon_3, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub15__T_anon_3, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub15__T_anon_3, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - -} -void node_from_army_controller_sub15(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub15, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub15, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub15, field_name)); - auto n_anon_3 = new NodeVector; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::army_controller_sub15__T_anon_3; - n_anon_3->m_rdf_type = RDF_Type::Vector; - n_anon_3->m_node_type = NodeType::Vector; - n_anon_3->m_addornements = "v*"; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - n_anon_3->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub15, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub15, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub15, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub15, field_name)); - auto n_anon_7 = new NodeSimple; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::int32_t; - n_anon_7->m_rdf_type = RDF_Type::int32_t; - n_anon_7->m_node_type = NodeType::Simple; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_7); - - field_name = "anon_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub15, field_name)); - auto n_anon_8 = new NodeSimple; - n_anon_8->m_field_name = field_name; - n_anon_8->m_df_type = DF_Type::int32_t; - n_anon_8->m_rdf_type = RDF_Type::int32_t; - n_anon_8->m_node_type = NodeType::Simple; - n_anon_8->m_address = base + offset; - n_anon_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_8); - - field_name = "anon_9"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub15, field_name)); - auto n_anon_9 = new NodeSimple; - n_anon_9->m_field_name = field_name; - n_anon_9->m_df_type = DF_Type::int32_t; - n_anon_9->m_rdf_type = RDF_Type::int32_t; - n_anon_9->m_node_type = NodeType::Simple; - n_anon_9->m_address = base + offset; - n_anon_9->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_9); - - field_name = "anon_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub15, field_name)); - auto n_anon_10 = new NodeSimple; - n_anon_10->m_field_name = field_name; - n_anon_10->m_df_type = DF_Type::int32_t; - n_anon_10->m_rdf_type = RDF_Type::int32_t; - n_anon_10->m_node_type = NodeType::Simple; - n_anon_10->m_address = base + offset; - n_anon_10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_10); - - field_name = "anon_11"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub15, field_name)); - auto n_anon_11 = new NodeSimple; - n_anon_11->m_field_name = field_name; - n_anon_11->m_df_type = DF_Type::int32_t; - n_anon_11->m_rdf_type = RDF_Type::int32_t; - n_anon_11->m_node_type = NodeType::Simple; - n_anon_11->m_address = base + offset; - n_anon_11->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_11); - - field_name = "anon_12"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub15, field_name)); - auto n_anon_12 = new NodeSimple; - n_anon_12->m_field_name = field_name; - n_anon_12->m_df_type = DF_Type::int32_t; - n_anon_12->m_rdf_type = RDF_Type::int32_t; - n_anon_12->m_node_type = NodeType::Simple; - n_anon_12->m_address = base + offset; - n_anon_12->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_12); - - field_name = "anon_13"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub15, field_name)); - auto n_anon_13 = new NodeSimple; - n_anon_13->m_field_name = field_name; - n_anon_13->m_df_type = DF_Type::int32_t; - n_anon_13->m_rdf_type = RDF_Type::int32_t; - n_anon_13->m_node_type = NodeType::Simple; - n_anon_13->m_address = base + offset; - n_anon_13->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_13); - -} -void node_from_army__T_members(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "nemesis_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army__T_members, field_name)); - auto n_nemesis_id = new NodeSimple; - n_nemesis_id->m_field_name = field_name; - n_nemesis_id->m_df_type = DF_Type::int32_t; - n_nemesis_id->m_rdf_type = RDF_Type::int32_t; - n_nemesis_id->m_node_type = NodeType::Simple; - n_nemesis_id->m_address = base + offset; - n_nemesis_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_nemesis_id); - - field_name = "hunger_timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army__T_members, field_name)); - auto n_hunger_timer = new NodeSimple; - n_hunger_timer->m_field_name = field_name; - n_hunger_timer->m_df_type = DF_Type::int32_t; - n_hunger_timer->m_rdf_type = RDF_Type::int32_t; - n_hunger_timer->m_node_type = NodeType::Simple; - n_hunger_timer->m_address = base + offset; - n_hunger_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_hunger_timer); - - field_name = "thirst_timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army__T_members, field_name)); - auto n_thirst_timer = new NodeSimple; - n_thirst_timer->m_field_name = field_name; - n_thirst_timer->m_df_type = DF_Type::int32_t; - n_thirst_timer->m_rdf_type = RDF_Type::int32_t; - n_thirst_timer->m_node_type = NodeType::Simple; - n_thirst_timer->m_address = base + offset; - n_thirst_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_thirst_timer); - - field_name = "sleepiness_timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army__T_members, field_name)); - auto n_sleepiness_timer = new NodeSimple; - n_sleepiness_timer->m_field_name = field_name; - n_sleepiness_timer->m_df_type = DF_Type::int32_t; - n_sleepiness_timer->m_rdf_type = RDF_Type::int32_t; - n_sleepiness_timer->m_node_type = NodeType::Simple; - n_sleepiness_timer->m_address = base + offset; - n_sleepiness_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sleepiness_timer); - - field_name = "stored_fat"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army__T_members, field_name)); - auto n_stored_fat = new NodeSimple; - n_stored_fat->m_field_name = field_name; - n_stored_fat->m_df_type = DF_Type::int32_t; - n_stored_fat->m_rdf_type = RDF_Type::int32_t; - n_stored_fat->m_node_type = NodeType::Simple; - n_stored_fat->m_address = base + offset; - n_stored_fat->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_stored_fat); - - field_name = "unk_14"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army__T_members, field_name)); - auto n_unk_14 = new NodeSimple; - n_unk_14->m_field_name = field_name; - n_unk_14->m_df_type = DF_Type::int32_t; - n_unk_14->m_rdf_type = RDF_Type::int32_t; - n_unk_14->m_node_type = NodeType::Simple; - n_unk_14->m_address = base + offset; - n_unk_14->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_14); - - field_name = "unk_18"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army__T_members, field_name)); - auto n_unk_18 = new NodeSimple; - n_unk_18->m_field_name = field_name; - n_unk_18->m_df_type = DF_Type::int32_t; - n_unk_18->m_rdf_type = RDF_Type::int32_t; - n_unk_18->m_node_type = NodeType::Simple; - n_unk_18->m_address = base + offset; - n_unk_18->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_18); - - field_name = "unk_1c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army__T_members, field_name)); - auto n_unk_1c = new NodeSimple; - n_unk_1c->m_field_name = field_name; - n_unk_1c->m_df_type = DF_Type::int32_t; - n_unk_1c->m_rdf_type = RDF_Type::int32_t; - n_unk_1c->m_node_type = NodeType::Simple; - n_unk_1c->m_address = base + offset; - n_unk_1c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_1c); - - field_name = "unk_20"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army__T_members, field_name)); - auto n_unk_20 = new NodeSimple; - n_unk_20->m_field_name = field_name; - n_unk_20->m_df_type = DF_Type::int32_t; - n_unk_20->m_rdf_type = RDF_Type::int32_t; - n_unk_20->m_node_type = NodeType::Simple; - n_unk_20->m_address = base + offset; - n_unk_20->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_20); - - field_name = "unk_24"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army__T_members, field_name)); - auto n_unk_24 = new NodeSimple; - n_unk_24->m_field_name = field_name; - n_unk_24->m_df_type = DF_Type::int32_t; - n_unk_24->m_rdf_type = RDF_Type::int32_t; - n_unk_24->m_node_type = NodeType::Simple; - n_unk_24->m_address = base + offset; - n_unk_24->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_24); - - field_name = "unk_28"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army__T_members, field_name)); - auto n_unk_28 = new NodeSimple; - n_unk_28->m_field_name = field_name; - n_unk_28->m_df_type = DF_Type::int32_t; - n_unk_28->m_rdf_type = RDF_Type::int32_t; - n_unk_28->m_node_type = NodeType::Simple; - n_unk_28->m_address = base + offset; - n_unk_28->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_28); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army__T_members, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "unk_2c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army__T_members, field_name)); - auto n_unk_2c = new NodeSimple; - n_unk_2c->m_field_name = field_name; - n_unk_2c->m_df_type = DF_Type::int32_t; - n_unk_2c->m_rdf_type = RDF_Type::int32_t; - n_unk_2c->m_node_type = NodeType::Simple; - n_unk_2c->m_address = base + offset; - n_unk_2c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_2c); - - field_name = "unk_30"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army__T_members, field_name)); - auto n_unk_30 = new NodeSimple; - n_unk_30->m_field_name = field_name; - n_unk_30->m_df_type = DF_Type::int32_t; - n_unk_30->m_rdf_type = RDF_Type::int32_t; - n_unk_30->m_node_type = NodeType::Simple; - n_unk_30->m_address = base + offset; - n_unk_30->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_30); - - field_name = "unk_34"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army__T_members, field_name)); - auto n_unk_34 = new NodeSimple; - n_unk_34->m_field_name = field_name; - n_unk_34->m_df_type = DF_Type::int32_t; - n_unk_34->m_rdf_type = RDF_Type::int32_t; - n_unk_34->m_node_type = NodeType::Simple; - n_unk_34->m_address = base + offset; - n_unk_34->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_34); - - field_name = "unk_38"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army__T_members, field_name)); - auto n_unk_38 = new NodeVector; - n_unk_38->m_field_name = field_name; - n_unk_38->m_df_type = DF_Type::Void; - n_unk_38->m_rdf_type = RDF_Type::Vector; - n_unk_38->m_node_type = NodeType::Vector; - n_unk_38->m_addornements = "v"; - n_unk_38->m_address = base + offset; - n_unk_38->m_parent = p_node_parent; - n_unk_38->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_38); - - field_name = "unk_v42_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army__T_members, field_name)); - auto n_unk_v42_1 = new NodeSimple; - n_unk_v42_1->m_field_name = field_name; - n_unk_v42_1->m_df_type = DF_Type::int32_t; - n_unk_v42_1->m_rdf_type = RDF_Type::int32_t; - n_unk_v42_1->m_node_type = NodeType::Simple; - n_unk_v42_1->m_address = base + offset; - n_unk_v42_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v42_1); - -} -void node_from_army__T_unk_2c(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "count"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army__T_unk_2c, field_name)); - auto n_count = new NodeSimple; - n_count->m_field_name = field_name; - n_count->m_df_type = DF_Type::int32_t; - n_count->m_rdf_type = RDF_Type::int32_t; - n_count->m_node_type = NodeType::Simple; - n_count->m_address = base + offset; - n_count->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_count); - - field_name = "race"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army__T_unk_2c, field_name)); - auto n_race = new NodeSimple; - n_race->m_field_name = field_name; - n_race->m_df_type = DF_Type::int32_t; - n_race->m_rdf_type = RDF_Type::int32_t; - n_race->m_node_type = NodeType::Simple; - n_race->m_address = base + offset; - n_race->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_race); - - field_name = "population_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army__T_unk_2c, field_name)); - auto n_population_id = new NodeSimple; - n_population_id->m_field_name = field_name; - n_population_id->m_df_type = DF_Type::int32_t; - n_population_id->m_rdf_type = RDF_Type::int32_t; - n_population_id->m_node_type = NodeType::Simple; - n_population_id->m_address = base + offset; - n_population_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_population_id); - - field_name = "civ_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army__T_unk_2c, field_name)); - auto n_civ_id = new NodeSimple; - n_civ_id->m_field_name = field_name; - n_civ_id->m_df_type = DF_Type::int32_t; - n_civ_id->m_rdf_type = RDF_Type::int32_t; - n_civ_id->m_node_type = NodeType::Simple; - n_civ_id->m_address = base + offset; - n_civ_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_civ_id); - - field_name = "unk_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army__T_unk_2c, field_name)); - auto n_unk_10 = new NodeSimple; - n_unk_10->m_field_name = field_name; - n_unk_10->m_df_type = DF_Type::int32_t; - n_unk_10->m_rdf_type = RDF_Type::int32_t; - n_unk_10->m_node_type = NodeType::Simple; - n_unk_10->m_address = base + offset; - n_unk_10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_10); - - field_name = "cultural_identity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army__T_unk_2c, field_name)); - auto n_cultural_identity = new NodeSimple; - n_cultural_identity->m_field_name = field_name; - n_cultural_identity->m_df_type = DF_Type::int32_t; - n_cultural_identity->m_rdf_type = RDF_Type::int32_t; - n_cultural_identity->m_node_type = NodeType::Simple; - n_cultural_identity->m_address = base + offset; - n_cultural_identity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cultural_identity); - - field_name = "unk_18"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army__T_unk_2c, field_name)); - auto n_unk_18 = new NodeSimple; - n_unk_18->m_field_name = field_name; - n_unk_18->m_df_type = DF_Type::int32_t; - n_unk_18->m_rdf_type = RDF_Type::int32_t; - n_unk_18->m_node_type = NodeType::Simple; - n_unk_18->m_address = base + offset; - n_unk_18->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_18); - - field_name = "unk_1c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army__T_unk_2c, field_name)); - auto n_unk_1c = new NodeSimple; - n_unk_1c->m_field_name = field_name; - n_unk_1c->m_df_type = DF_Type::int32_t; - n_unk_1c->m_rdf_type = RDF_Type::int32_t; - n_unk_1c->m_node_type = NodeType::Simple; - n_unk_1c->m_address = base + offset; - n_unk_1c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_1c); - - field_name = "unk_20"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army__T_unk_2c, field_name)); - auto n_unk_20 = new NodeSimple; - n_unk_20->m_field_name = field_name; - n_unk_20->m_df_type = DF_Type::int32_t; - n_unk_20->m_rdf_type = RDF_Type::int32_t; - n_unk_20->m_node_type = NodeType::Simple; - n_unk_20->m_address = base + offset; - n_unk_20->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_20); - - field_name = "unk_24"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army__T_unk_2c, field_name)); - auto n_unk_24 = new NodeSimple; - n_unk_24->m_field_name = field_name; - n_unk_24->m_df_type = DF_Type::int32_t; - n_unk_24->m_rdf_type = RDF_Type::int32_t; - n_unk_24->m_node_type = NodeType::Simple; - n_unk_24->m_address = base + offset; - n_unk_24->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_24); - - field_name = "unk_28"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army__T_unk_2c, field_name)); - auto n_unk_28 = new NodeSimple; - n_unk_28->m_field_name = field_name; - n_unk_28->m_df_type = DF_Type::int32_t; - n_unk_28->m_rdf_type = RDF_Type::int32_t; - n_unk_28->m_node_type = NodeType::Simple; - n_unk_28->m_address = base + offset; - n_unk_28->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_28); - -} -void node_from_army(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "pos"; - auto n_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army, field_name)); - n_pos->m_field_name = field_name; - n_pos->m_df_type = DF_Type::coord; - n_pos->m_rdf_type = RDF_Type::Struct; - n_pos->m_node_type = NodeType::Compound; - n_pos->m_address = base + offset; - n_pos->m_defined_in = "df.map.xml"; - n_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pos); - - field_name = "last_pos"; - auto n_last_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army, field_name)); - n_last_pos->m_field_name = field_name; - n_last_pos->m_df_type = DF_Type::coord; - n_last_pos->m_rdf_type = RDF_Type::Struct; - n_last_pos->m_node_type = NodeType::Compound; - n_last_pos->m_address = base + offset; - n_last_pos->m_defined_in = "df.map.xml"; - n_last_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_last_pos); - - field_name = "unk_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army, field_name)); - auto n_unk_10 = new NodeSimple; - n_unk_10->m_field_name = field_name; - n_unk_10->m_df_type = DF_Type::int16_t; - n_unk_10->m_rdf_type = RDF_Type::int16_t; - n_unk_10->m_node_type = NodeType::Simple; - n_unk_10->m_address = base + offset; - n_unk_10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_10); - - field_name = "unk_14"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army, field_name)); - auto n_unk_14 = new NodeSimple; - n_unk_14->m_field_name = field_name; - n_unk_14->m_df_type = DF_Type::int32_t; - n_unk_14->m_rdf_type = RDF_Type::int32_t; - n_unk_14->m_node_type = NodeType::Simple; - n_unk_14->m_address = base + offset; - n_unk_14->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_14); - - field_name = "unk_18"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army, field_name)); - auto n_unk_18 = new NodeSimple; - n_unk_18->m_field_name = field_name; - n_unk_18->m_df_type = DF_Type::int32_t; - n_unk_18->m_rdf_type = RDF_Type::int32_t; - n_unk_18->m_node_type = NodeType::Simple; - n_unk_18->m_address = base + offset; - n_unk_18->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_18); - - field_name = "members"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army, field_name)); - auto n_members = new NodeVector; - n_members->m_field_name = field_name; - n_members->m_df_type = DF_Type::army__T_members; - n_members->m_rdf_type = RDF_Type::Vector; - n_members->m_node_type = NodeType::Vector; - n_members->m_addornements = "v*"; - n_members->m_address = base + offset; - n_members->m_parent = p_node_parent; - n_members->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_members); - - field_name = "unk_2c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army, field_name)); - auto n_unk_2c = new NodeVector; - n_unk_2c->m_field_name = field_name; - n_unk_2c->m_df_type = DF_Type::army__T_unk_2c; - n_unk_2c->m_rdf_type = RDF_Type::Vector; - n_unk_2c->m_node_type = NodeType::Vector; - n_unk_2c->m_addornements = "v*"; - n_unk_2c->m_address = base + offset; - n_unk_2c->m_parent = p_node_parent; - n_unk_2c->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_2c); - - field_name = "unk_3c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army, field_name)); - auto n_unk_3c = new NodeSimple; - n_unk_3c->m_field_name = field_name; - n_unk_3c->m_df_type = DF_Type::int32_t; - n_unk_3c->m_rdf_type = RDF_Type::int32_t; - n_unk_3c->m_node_type = NodeType::Simple; - n_unk_3c->m_address = base + offset; - n_unk_3c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_3c); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "controller_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army, field_name)); - auto n_controller_id = new NodeSimple; - n_controller_id->m_field_name = field_name; - n_controller_id->m_df_type = DF_Type::int32_t; - n_controller_id->m_rdf_type = RDF_Type::int32_t; - n_controller_id->m_node_type = NodeType::Simple; - n_controller_id->m_address = base + offset; - n_controller_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_controller_id); - - field_name = "controller"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army, field_name)); - auto n_controller = new NodePointer; - n_controller->m_field_name = field_name; - n_controller->m_df_type = get_real_subtype(base+offset, DF_Type::army_controller); - n_controller->m_rdf_type = RDF_Type::Pointer; - n_controller->m_node_type = NodeType::Pointer; - n_controller->m_addornements = "*"; - n_controller->m_address = base + offset; - n_controller->m_parent = p_node_parent; - n_controller->m_defined_in = "df.military.xml"; - n_controller->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_controller); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army, field_name)); - auto n_flags = new NodeDFFlagArray; - n_flags->m_field_name = field_name; - n_flags->m_index_enum = DF_Type::army_flags; - n_flags->m_df_type = DF_Type::army_flags; - n_flags->m_size = 1; - n_flags->m_rdf_type = RDF_Type::DFFlagArray; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_defined_in = "df.military.xml"; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "unk_pos_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army, field_name)); - auto n_unk_pos_x = new NodeVector; - n_unk_pos_x->m_field_name = field_name; - n_unk_pos_x->m_df_type = DF_Type::int32_t; - n_unk_pos_x->m_rdf_type = RDF_Type::Vector; - n_unk_pos_x->m_node_type = NodeType::Vector; - n_unk_pos_x->m_addornements = "v"; - n_unk_pos_x->m_address = base + offset; - n_unk_pos_x->m_parent = p_node_parent; - n_unk_pos_x->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_pos_x); - - field_name = "unk_pos_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army, field_name)); - auto n_unk_pos_y = new NodeVector; - n_unk_pos_y->m_field_name = field_name; - n_unk_pos_y->m_df_type = DF_Type::int32_t; - n_unk_pos_y->m_rdf_type = RDF_Type::Vector; - n_unk_pos_y->m_node_type = NodeType::Vector; - n_unk_pos_y->m_addornements = "v"; - n_unk_pos_y->m_address = base + offset; - n_unk_pos_y->m_parent = p_node_parent; - n_unk_pos_y->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_pos_y); - - field_name = "unk_70"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army, field_name)); - auto n_unk_70 = new NodeVector; - n_unk_70->m_field_name = field_name; - n_unk_70->m_df_type = DF_Type::int32_t; - n_unk_70->m_rdf_type = RDF_Type::Vector; - n_unk_70->m_node_type = NodeType::Vector; - n_unk_70->m_addornements = "v"; - n_unk_70->m_address = base + offset; - n_unk_70->m_parent = p_node_parent; - n_unk_70->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_70); - - field_name = "unk_80"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army, field_name)); - auto n_unk_80 = new NodeVector; - n_unk_80->m_field_name = field_name; - n_unk_80->m_df_type = DF_Type::int32_t; - n_unk_80->m_rdf_type = RDF_Type::Vector; - n_unk_80->m_node_type = NodeType::Vector; - n_unk_80->m_addornements = "v"; - n_unk_80->m_address = base + offset; - n_unk_80->m_parent = p_node_parent; - n_unk_80->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_80); - - field_name = "unk_90"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army, field_name)); - auto n_unk_90 = new NodeSimple; - n_unk_90->m_field_name = field_name; - n_unk_90->m_df_type = DF_Type::int32_t; - n_unk_90->m_rdf_type = RDF_Type::int32_t; - n_unk_90->m_node_type = NodeType::Simple; - n_unk_90->m_address = base + offset; - n_unk_90->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_90); - - field_name = "unk_94"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army, field_name)); - auto n_unk_94 = new NodeSimple; - n_unk_94->m_field_name = field_name; - n_unk_94->m_df_type = DF_Type::int32_t; - n_unk_94->m_rdf_type = RDF_Type::int32_t; - n_unk_94->m_node_type = NodeType::Simple; - n_unk_94->m_address = base + offset; - n_unk_94->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_94); - - field_name = "unk_98"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army, field_name)); - auto n_unk_98 = new NodeSimple; - n_unk_98->m_field_name = field_name; - n_unk_98->m_df_type = DF_Type::int32_t; - n_unk_98->m_rdf_type = RDF_Type::int32_t; - n_unk_98->m_node_type = NodeType::Simple; - n_unk_98->m_address = base + offset; - n_unk_98->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_98); - - field_name = "unk_9c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army, field_name)); - auto n_unk_9c = new NodeSimple; - n_unk_9c->m_field_name = field_name; - n_unk_9c->m_df_type = DF_Type::int32_t; - n_unk_9c->m_rdf_type = RDF_Type::int32_t; - n_unk_9c->m_node_type = NodeType::Simple; - n_unk_9c->m_address = base + offset; - n_unk_9c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_9c); - - field_name = "unk_a0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army, field_name)); - auto n_unk_a0 = new NodeSimple; - n_unk_a0->m_field_name = field_name; - n_unk_a0->m_df_type = DF_Type::int32_t; - n_unk_a0->m_rdf_type = RDF_Type::int32_t; - n_unk_a0->m_node_type = NodeType::Simple; - n_unk_a0->m_address = base + offset; - n_unk_a0->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_a0); - - field_name = "unk_a4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army, field_name)); - auto n_unk_a4 = new NodeSimple; - n_unk_a4->m_field_name = field_name; - n_unk_a4->m_df_type = DF_Type::int32_t; - n_unk_a4->m_rdf_type = RDF_Type::int32_t; - n_unk_a4->m_node_type = NodeType::Simple; - n_unk_a4->m_address = base + offset; - n_unk_a4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_a4); - - field_name = "unk_a8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army, field_name)); - auto n_unk_a8 = new NodeVector; - n_unk_a8->m_field_name = field_name; - n_unk_a8->m_df_type = DF_Type::Void; - n_unk_a8->m_rdf_type = RDF_Type::Vector; - n_unk_a8->m_node_type = NodeType::Vector; - n_unk_a8->m_addornements = "v"; - n_unk_a8->m_address = base + offset; - n_unk_a8->m_parent = p_node_parent; - n_unk_a8->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_a8); - - field_name = "creature_class"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army, field_name)); - auto n_creature_class = new NodeVector; - n_creature_class->m_field_name = field_name; - n_creature_class->m_df_type = DF_Type::Stl_string; - n_creature_class->m_rdf_type = RDF_Type::Vector; - n_creature_class->m_node_type = NodeType::Vector; - n_creature_class->m_addornements = "v*"; - n_creature_class->m_address = base + offset; - n_creature_class->m_parent = p_node_parent; - n_creature_class->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_creature_class); - - field_name = "item_type"; - auto n_item_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army, field_name)); - n_item_type->m_field_name = field_name; - n_item_type->m_df_type = DF_Type::item_type; - n_item_type->m_rdf_type = RDF_Type::Enum; - n_item_type->m_node_type = NodeType::Enum; - n_item_type->m_base_type = DF_Type::int16_t; - n_item_type->m_enum_type = "item_type"; - n_item_type->m_address = base + offset; - n_item_type->m_defined_in = "df.item-raws.xml"; - n_item_type->m_first_value = -1; - n_item_type->m_last_value = 90; - n_item_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_type); - - field_name = "item_subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army, field_name)); - auto n_item_subtype = new NodeSimple; - n_item_subtype->m_field_name = field_name; - n_item_subtype->m_df_type = DF_Type::int16_t; - n_item_subtype->m_rdf_type = RDF_Type::int16_t; - n_item_subtype->m_node_type = NodeType::Simple; - n_item_subtype->m_address = base + offset; - n_item_subtype->m_refers_to = "(item-subtype-target $$._parent.item_type $)"; - n_item_subtype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_subtype); - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "unk_4407_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army, field_name)); - auto n_unk_4407_1 = new NodeVector; - n_unk_4407_1->m_field_name = field_name; - n_unk_4407_1->m_df_type = DF_Type::Void; - n_unk_4407_1->m_rdf_type = RDF_Type::Vector; - n_unk_4407_1->m_node_type = NodeType::Vector; - n_unk_4407_1->m_addornements = "v"; - n_unk_4407_1->m_address = base + offset; - n_unk_4407_1->m_parent = p_node_parent; - n_unk_4407_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_4407_1); - -} -void node_from_plant_raw__T_tiles(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "picked_tile"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_tiles, field_name)); - auto n_picked_tile = new NodeSimple; - n_picked_tile->m_field_name = field_name; - n_picked_tile->m_df_type = DF_Type::uint8_t; - n_picked_tile->m_rdf_type = RDF_Type::uint8_t; - n_picked_tile->m_node_type = NodeType::Simple; - n_picked_tile->m_address = base + offset; - n_picked_tile->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_picked_tile); - - field_name = "dead_picked_tile"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_tiles, field_name)); - auto n_dead_picked_tile = new NodeSimple; - n_dead_picked_tile->m_field_name = field_name; - n_dead_picked_tile->m_df_type = DF_Type::uint8_t; - n_dead_picked_tile->m_rdf_type = RDF_Type::uint8_t; - n_dead_picked_tile->m_node_type = NodeType::Simple; - n_dead_picked_tile->m_address = base + offset; - n_dead_picked_tile->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dead_picked_tile); - - field_name = "shrub_tile"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_tiles, field_name)); - auto n_shrub_tile = new NodeSimple; - n_shrub_tile->m_field_name = field_name; - n_shrub_tile->m_df_type = DF_Type::uint8_t; - n_shrub_tile->m_rdf_type = RDF_Type::uint8_t; - n_shrub_tile->m_node_type = NodeType::Simple; - n_shrub_tile->m_address = base + offset; - n_shrub_tile->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_shrub_tile); - - field_name = "dead_shrub_tile"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_tiles, field_name)); - auto n_dead_shrub_tile = new NodeSimple; - n_dead_shrub_tile->m_field_name = field_name; - n_dead_shrub_tile->m_df_type = DF_Type::uint8_t; - n_dead_shrub_tile->m_rdf_type = RDF_Type::uint8_t; - n_dead_shrub_tile->m_node_type = NodeType::Simple; - n_dead_shrub_tile->m_address = base + offset; - n_dead_shrub_tile->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dead_shrub_tile); - - field_name = "tree_tile"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_tiles, field_name)); - auto n_tree_tile = new NodeSimple; - n_tree_tile->m_field_name = field_name; - n_tree_tile->m_df_type = DF_Type::uint8_t; - n_tree_tile->m_rdf_type = RDF_Type::uint8_t; - n_tree_tile->m_node_type = NodeType::Simple; - n_tree_tile->m_address = base + offset; - n_tree_tile->m_comment = "unused"; - n_tree_tile->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tree_tile); - - field_name = "dead_tree_tile"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_tiles, field_name)); - auto n_dead_tree_tile = new NodeSimple; - n_dead_tree_tile->m_field_name = field_name; - n_dead_tree_tile->m_df_type = DF_Type::uint8_t; - n_dead_tree_tile->m_rdf_type = RDF_Type::uint8_t; - n_dead_tree_tile->m_node_type = NodeType::Simple; - n_dead_tree_tile->m_address = base + offset; - n_dead_tree_tile->m_comment = "unused"; - n_dead_tree_tile->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dead_tree_tile); - - field_name = "sapling_tile"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_tiles, field_name)); - auto n_sapling_tile = new NodeSimple; - n_sapling_tile->m_field_name = field_name; - n_sapling_tile->m_df_type = DF_Type::uint8_t; - n_sapling_tile->m_rdf_type = RDF_Type::uint8_t; - n_sapling_tile->m_node_type = NodeType::Simple; - n_sapling_tile->m_address = base + offset; - n_sapling_tile->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sapling_tile); - - field_name = "dead_sapling_tile"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_tiles, field_name)); - auto n_dead_sapling_tile = new NodeSimple; - n_dead_sapling_tile->m_field_name = field_name; - n_dead_sapling_tile->m_df_type = DF_Type::uint8_t; - n_dead_sapling_tile->m_rdf_type = RDF_Type::uint8_t; - n_dead_sapling_tile->m_node_type = NodeType::Simple; - n_dead_sapling_tile->m_address = base + offset; - n_dead_sapling_tile->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dead_sapling_tile); - - field_name = "grass_tiles"; - auto n_grass_tiles = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_tiles, field_name)); - n_grass_tiles->m_field_name = field_name; - n_grass_tiles->m_df_type = DF_Type::uint8_t; - n_grass_tiles->m_rdf_type = RDF_Type::Array; - n_grass_tiles->m_node_type = NodeType::Array; - n_grass_tiles->m_addornements = "[16"; - n_grass_tiles->m_array_size = 16; - n_grass_tiles->m_address = base + offset; - n_grass_tiles->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_grass_tiles); - - field_name = "alt_grass_tiles"; - auto n_alt_grass_tiles = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_tiles, field_name)); - n_alt_grass_tiles->m_field_name = field_name; - n_alt_grass_tiles->m_df_type = DF_Type::uint8_t; - n_alt_grass_tiles->m_rdf_type = RDF_Type::Array; - n_alt_grass_tiles->m_node_type = NodeType::Array; - n_alt_grass_tiles->m_addornements = "[12"; - n_alt_grass_tiles->m_array_size = 12; - n_alt_grass_tiles->m_address = base + offset; - n_alt_grass_tiles->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_alt_grass_tiles); - - field_name = "tree_tiles"; - auto n_tree_tiles = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_tiles, field_name)); - n_tree_tiles->m_field_name = field_name; - n_tree_tiles->m_df_type = DF_Type::uint8_t; - n_tree_tiles->m_rdf_type = RDF_Type::Array; - n_tree_tiles->m_node_type = NodeType::Array; - n_tree_tiles->m_addornements = "[104"; - n_tree_tiles->m_array_size = 104; - n_tree_tiles->m_address = base + offset; - n_tree_tiles->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tree_tiles); - -} -void node_from_plant_raw__T_colors(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "picked_color"; - auto n_picked_color = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_colors, field_name)); - n_picked_color->m_field_name = field_name; - n_picked_color->m_df_type = DF_Type::int8_t; - n_picked_color->m_rdf_type = RDF_Type::Array; - n_picked_color->m_node_type = NodeType::Array; - n_picked_color->m_addornements = "[3"; - n_picked_color->m_array_size = 3; - n_picked_color->m_address = base + offset; - n_picked_color->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_picked_color); - - field_name = "dead_picked_color"; - auto n_dead_picked_color = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_colors, field_name)); - n_dead_picked_color->m_field_name = field_name; - n_dead_picked_color->m_df_type = DF_Type::int8_t; - n_dead_picked_color->m_rdf_type = RDF_Type::Array; - n_dead_picked_color->m_node_type = NodeType::Array; - n_dead_picked_color->m_addornements = "[3"; - n_dead_picked_color->m_array_size = 3; - n_dead_picked_color->m_address = base + offset; - n_dead_picked_color->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dead_picked_color); - - field_name = "shrub_color"; - auto n_shrub_color = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_colors, field_name)); - n_shrub_color->m_field_name = field_name; - n_shrub_color->m_df_type = DF_Type::int8_t; - n_shrub_color->m_rdf_type = RDF_Type::Array; - n_shrub_color->m_node_type = NodeType::Array; - n_shrub_color->m_addornements = "[3"; - n_shrub_color->m_array_size = 3; - n_shrub_color->m_address = base + offset; - n_shrub_color->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_shrub_color); - - field_name = "dead_shrub_color"; - auto n_dead_shrub_color = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_colors, field_name)); - n_dead_shrub_color->m_field_name = field_name; - n_dead_shrub_color->m_df_type = DF_Type::int8_t; - n_dead_shrub_color->m_rdf_type = RDF_Type::Array; - n_dead_shrub_color->m_node_type = NodeType::Array; - n_dead_shrub_color->m_addornements = "[3"; - n_dead_shrub_color->m_array_size = 3; - n_dead_shrub_color->m_address = base + offset; - n_dead_shrub_color->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dead_shrub_color); - - field_name = "seed_color"; - auto n_seed_color = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_colors, field_name)); - n_seed_color->m_field_name = field_name; - n_seed_color->m_df_type = DF_Type::int8_t; - n_seed_color->m_rdf_type = RDF_Type::Array; - n_seed_color->m_node_type = NodeType::Array; - n_seed_color->m_addornements = "[3"; - n_seed_color->m_array_size = 3; - n_seed_color->m_address = base + offset; - n_seed_color->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_seed_color); - - field_name = "tree_color"; - auto n_tree_color = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_colors, field_name)); - n_tree_color->m_field_name = field_name; - n_tree_color->m_df_type = DF_Type::int8_t; - n_tree_color->m_rdf_type = RDF_Type::Array; - n_tree_color->m_node_type = NodeType::Array; - n_tree_color->m_addornements = "[3"; - n_tree_color->m_array_size = 3; - n_tree_color->m_address = base + offset; - n_tree_color->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tree_color); - - field_name = "dead_tree_color"; - auto n_dead_tree_color = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_colors, field_name)); - n_dead_tree_color->m_field_name = field_name; - n_dead_tree_color->m_df_type = DF_Type::int8_t; - n_dead_tree_color->m_rdf_type = RDF_Type::Array; - n_dead_tree_color->m_node_type = NodeType::Array; - n_dead_tree_color->m_addornements = "[3"; - n_dead_tree_color->m_array_size = 3; - n_dead_tree_color->m_address = base + offset; - n_dead_tree_color->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dead_tree_color); - - field_name = "sapling_color"; - auto n_sapling_color = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_colors, field_name)); - n_sapling_color->m_field_name = field_name; - n_sapling_color->m_df_type = DF_Type::int8_t; - n_sapling_color->m_rdf_type = RDF_Type::Array; - n_sapling_color->m_node_type = NodeType::Array; - n_sapling_color->m_addornements = "[3"; - n_sapling_color->m_array_size = 3; - n_sapling_color->m_address = base + offset; - n_sapling_color->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sapling_color); - - field_name = "dead_sapling_color"; - auto n_dead_sapling_color = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_colors, field_name)); - n_dead_sapling_color->m_field_name = field_name; - n_dead_sapling_color->m_df_type = DF_Type::int8_t; - n_dead_sapling_color->m_rdf_type = RDF_Type::Array; - n_dead_sapling_color->m_node_type = NodeType::Array; - n_dead_sapling_color->m_addornements = "[3"; - n_dead_sapling_color->m_array_size = 3; - n_dead_sapling_color->m_address = base + offset; - n_dead_sapling_color->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dead_sapling_color); - - field_name = "grass_colors_0"; - auto n_grass_colors_0 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_colors, field_name)); - n_grass_colors_0->m_field_name = field_name; - n_grass_colors_0->m_df_type = DF_Type::int8_t; - n_grass_colors_0->m_rdf_type = RDF_Type::Array; - n_grass_colors_0->m_node_type = NodeType::Array; - n_grass_colors_0->m_addornements = "[20"; - n_grass_colors_0->m_array_size = 20; - n_grass_colors_0->m_address = base + offset; - n_grass_colors_0->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_grass_colors_0); - - field_name = "grass_colors_1"; - auto n_grass_colors_1 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_colors, field_name)); - n_grass_colors_1->m_field_name = field_name; - n_grass_colors_1->m_df_type = DF_Type::int8_t; - n_grass_colors_1->m_rdf_type = RDF_Type::Array; - n_grass_colors_1->m_node_type = NodeType::Array; - n_grass_colors_1->m_addornements = "[20"; - n_grass_colors_1->m_array_size = 20; - n_grass_colors_1->m_address = base + offset; - n_grass_colors_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_grass_colors_1); - - field_name = "grass_colors_2"; - auto n_grass_colors_2 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_colors, field_name)); - n_grass_colors_2->m_field_name = field_name; - n_grass_colors_2->m_df_type = DF_Type::int8_t; - n_grass_colors_2->m_rdf_type = RDF_Type::Array; - n_grass_colors_2->m_node_type = NodeType::Array; - n_grass_colors_2->m_addornements = "[20"; - n_grass_colors_2->m_array_size = 20; - n_grass_colors_2->m_address = base + offset; - n_grass_colors_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_grass_colors_2); - -} -void node_from_plant_raw__T_material_defs(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "type_basic_mat"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_material_defs, field_name)); - auto n_type_basic_mat = new NodeSimple; - n_type_basic_mat->m_field_name = field_name; - n_type_basic_mat->m_df_type = DF_Type::int16_t; - n_type_basic_mat->m_rdf_type = RDF_Type::int16_t; - n_type_basic_mat->m_node_type = NodeType::Simple; - n_type_basic_mat->m_address = base + offset; - n_type_basic_mat->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type_basic_mat); - - field_name = "type_tree"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_material_defs, field_name)); - auto n_type_tree = new NodeSimple; - n_type_tree->m_field_name = field_name; - n_type_tree->m_df_type = DF_Type::int16_t; - n_type_tree->m_rdf_type = RDF_Type::int16_t; - n_type_tree->m_node_type = NodeType::Simple; - n_type_tree->m_address = base + offset; - n_type_tree->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type_tree); - - field_name = "type_drink"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_material_defs, field_name)); - auto n_type_drink = new NodeSimple; - n_type_drink->m_field_name = field_name; - n_type_drink->m_df_type = DF_Type::int16_t; - n_type_drink->m_rdf_type = RDF_Type::int16_t; - n_type_drink->m_node_type = NodeType::Simple; - n_type_drink->m_address = base + offset; - n_type_drink->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type_drink); - - field_name = "type_seed"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_material_defs, field_name)); - auto n_type_seed = new NodeSimple; - n_type_seed->m_field_name = field_name; - n_type_seed->m_df_type = DF_Type::int16_t; - n_type_seed->m_rdf_type = RDF_Type::int16_t; - n_type_seed->m_node_type = NodeType::Simple; - n_type_seed->m_address = base + offset; - n_type_seed->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type_seed); - - field_name = "type_thread"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_material_defs, field_name)); - auto n_type_thread = new NodeSimple; - n_type_thread->m_field_name = field_name; - n_type_thread->m_df_type = DF_Type::int16_t; - n_type_thread->m_rdf_type = RDF_Type::int16_t; - n_type_thread->m_node_type = NodeType::Simple; - n_type_thread->m_address = base + offset; - n_type_thread->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type_thread); - - field_name = "type_mill"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_material_defs, field_name)); - auto n_type_mill = new NodeSimple; - n_type_mill->m_field_name = field_name; - n_type_mill->m_df_type = DF_Type::int16_t; - n_type_mill->m_rdf_type = RDF_Type::int16_t; - n_type_mill->m_node_type = NodeType::Simple; - n_type_mill->m_address = base + offset; - n_type_mill->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type_mill); - - field_name = "type_extract_vial"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_material_defs, field_name)); - auto n_type_extract_vial = new NodeSimple; - n_type_extract_vial->m_field_name = field_name; - n_type_extract_vial->m_df_type = DF_Type::int16_t; - n_type_extract_vial->m_rdf_type = RDF_Type::int16_t; - n_type_extract_vial->m_node_type = NodeType::Simple; - n_type_extract_vial->m_address = base + offset; - n_type_extract_vial->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type_extract_vial); - - field_name = "type_extract_barrel"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_material_defs, field_name)); - auto n_type_extract_barrel = new NodeSimple; - n_type_extract_barrel->m_field_name = field_name; - n_type_extract_barrel->m_df_type = DF_Type::int16_t; - n_type_extract_barrel->m_rdf_type = RDF_Type::int16_t; - n_type_extract_barrel->m_node_type = NodeType::Simple; - n_type_extract_barrel->m_address = base + offset; - n_type_extract_barrel->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type_extract_barrel); - - field_name = "type_extract_still_vial"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_material_defs, field_name)); - auto n_type_extract_still_vial = new NodeSimple; - n_type_extract_still_vial->m_field_name = field_name; - n_type_extract_still_vial->m_df_type = DF_Type::int16_t; - n_type_extract_still_vial->m_rdf_type = RDF_Type::int16_t; - n_type_extract_still_vial->m_node_type = NodeType::Simple; - n_type_extract_still_vial->m_address = base + offset; - n_type_extract_still_vial->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type_extract_still_vial); - - field_name = "idx_basic_mat"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_material_defs, field_name)); - auto n_idx_basic_mat = new NodeSimple; - n_idx_basic_mat->m_field_name = field_name; - n_idx_basic_mat->m_df_type = DF_Type::int32_t; - n_idx_basic_mat->m_rdf_type = RDF_Type::int32_t; - n_idx_basic_mat->m_node_type = NodeType::Simple; - n_idx_basic_mat->m_address = base + offset; - n_idx_basic_mat->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_idx_basic_mat); - - field_name = "idx_tree"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_material_defs, field_name)); - auto n_idx_tree = new NodeSimple; - n_idx_tree->m_field_name = field_name; - n_idx_tree->m_df_type = DF_Type::int32_t; - n_idx_tree->m_rdf_type = RDF_Type::int32_t; - n_idx_tree->m_node_type = NodeType::Simple; - n_idx_tree->m_address = base + offset; - n_idx_tree->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_idx_tree); - - field_name = "idx_drink"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_material_defs, field_name)); - auto n_idx_drink = new NodeSimple; - n_idx_drink->m_field_name = field_name; - n_idx_drink->m_df_type = DF_Type::int32_t; - n_idx_drink->m_rdf_type = RDF_Type::int32_t; - n_idx_drink->m_node_type = NodeType::Simple; - n_idx_drink->m_address = base + offset; - n_idx_drink->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_idx_drink); - - field_name = "idx_seed"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_material_defs, field_name)); - auto n_idx_seed = new NodeSimple; - n_idx_seed->m_field_name = field_name; - n_idx_seed->m_df_type = DF_Type::int32_t; - n_idx_seed->m_rdf_type = RDF_Type::int32_t; - n_idx_seed->m_node_type = NodeType::Simple; - n_idx_seed->m_address = base + offset; - n_idx_seed->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_idx_seed); - - field_name = "idx_thread"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_material_defs, field_name)); - auto n_idx_thread = new NodeSimple; - n_idx_thread->m_field_name = field_name; - n_idx_thread->m_df_type = DF_Type::int32_t; - n_idx_thread->m_rdf_type = RDF_Type::int32_t; - n_idx_thread->m_node_type = NodeType::Simple; - n_idx_thread->m_address = base + offset; - n_idx_thread->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_idx_thread); - - field_name = "idx_mill"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_material_defs, field_name)); - auto n_idx_mill = new NodeSimple; - n_idx_mill->m_field_name = field_name; - n_idx_mill->m_df_type = DF_Type::int32_t; - n_idx_mill->m_rdf_type = RDF_Type::int32_t; - n_idx_mill->m_node_type = NodeType::Simple; - n_idx_mill->m_address = base + offset; - n_idx_mill->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_idx_mill); - - field_name = "idx_extract_vial"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_material_defs, field_name)); - auto n_idx_extract_vial = new NodeSimple; - n_idx_extract_vial->m_field_name = field_name; - n_idx_extract_vial->m_df_type = DF_Type::int32_t; - n_idx_extract_vial->m_rdf_type = RDF_Type::int32_t; - n_idx_extract_vial->m_node_type = NodeType::Simple; - n_idx_extract_vial->m_address = base + offset; - n_idx_extract_vial->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_idx_extract_vial); - - field_name = "idx_extract_barrel"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_material_defs, field_name)); - auto n_idx_extract_barrel = new NodeSimple; - n_idx_extract_barrel->m_field_name = field_name; - n_idx_extract_barrel->m_df_type = DF_Type::int32_t; - n_idx_extract_barrel->m_rdf_type = RDF_Type::int32_t; - n_idx_extract_barrel->m_node_type = NodeType::Simple; - n_idx_extract_barrel->m_address = base + offset; - n_idx_extract_barrel->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_idx_extract_barrel); - - field_name = "idx_extract_still_vial"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_material_defs, field_name)); - auto n_idx_extract_still_vial = new NodeSimple; - n_idx_extract_still_vial->m_field_name = field_name; - n_idx_extract_still_vial->m_df_type = DF_Type::int32_t; - n_idx_extract_still_vial->m_rdf_type = RDF_Type::int32_t; - n_idx_extract_still_vial->m_node_type = NodeType::Simple; - n_idx_extract_still_vial->m_address = base + offset; - n_idx_extract_still_vial->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_idx_extract_still_vial); - - field_name = "str_basic_mat"; - auto n_str_basic_mat = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_material_defs, field_name)); - n_str_basic_mat->m_field_name = field_name; - n_str_basic_mat->m_df_type = DF_Type::Stl_string; - n_str_basic_mat->m_rdf_type = RDF_Type::Array; - n_str_basic_mat->m_node_type = NodeType::Array; - n_str_basic_mat->m_addornements = "[3"; - n_str_basic_mat->m_array_size = 3; - n_str_basic_mat->m_address = base + offset; - n_str_basic_mat->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_str_basic_mat); - - field_name = "str_tree"; - auto n_str_tree = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_material_defs, field_name)); - n_str_tree->m_field_name = field_name; - n_str_tree->m_df_type = DF_Type::Stl_string; - n_str_tree->m_rdf_type = RDF_Type::Array; - n_str_tree->m_node_type = NodeType::Array; - n_str_tree->m_addornements = "[3"; - n_str_tree->m_array_size = 3; - n_str_tree->m_address = base + offset; - n_str_tree->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_str_tree); - - field_name = "str_drink"; - auto n_str_drink = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_material_defs, field_name)); - n_str_drink->m_field_name = field_name; - n_str_drink->m_df_type = DF_Type::Stl_string; - n_str_drink->m_rdf_type = RDF_Type::Array; - n_str_drink->m_node_type = NodeType::Array; - n_str_drink->m_addornements = "[3"; - n_str_drink->m_array_size = 3; - n_str_drink->m_address = base + offset; - n_str_drink->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_str_drink); - - field_name = "str_seed"; - auto n_str_seed = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_material_defs, field_name)); - n_str_seed->m_field_name = field_name; - n_str_seed->m_df_type = DF_Type::Stl_string; - n_str_seed->m_rdf_type = RDF_Type::Array; - n_str_seed->m_node_type = NodeType::Array; - n_str_seed->m_addornements = "[3"; - n_str_seed->m_array_size = 3; - n_str_seed->m_address = base + offset; - n_str_seed->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_str_seed); - - field_name = "str_thread"; - auto n_str_thread = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_material_defs, field_name)); - n_str_thread->m_field_name = field_name; - n_str_thread->m_df_type = DF_Type::Stl_string; - n_str_thread->m_rdf_type = RDF_Type::Array; - n_str_thread->m_node_type = NodeType::Array; - n_str_thread->m_addornements = "[3"; - n_str_thread->m_array_size = 3; - n_str_thread->m_address = base + offset; - n_str_thread->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_str_thread); - - field_name = "str_mill"; - auto n_str_mill = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_material_defs, field_name)); - n_str_mill->m_field_name = field_name; - n_str_mill->m_df_type = DF_Type::Stl_string; - n_str_mill->m_rdf_type = RDF_Type::Array; - n_str_mill->m_node_type = NodeType::Array; - n_str_mill->m_addornements = "[3"; - n_str_mill->m_array_size = 3; - n_str_mill->m_address = base + offset; - n_str_mill->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_str_mill); - - field_name = "str_extract_vial"; - auto n_str_extract_vial = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_material_defs, field_name)); - n_str_extract_vial->m_field_name = field_name; - n_str_extract_vial->m_df_type = DF_Type::Stl_string; - n_str_extract_vial->m_rdf_type = RDF_Type::Array; - n_str_extract_vial->m_node_type = NodeType::Array; - n_str_extract_vial->m_addornements = "[3"; - n_str_extract_vial->m_array_size = 3; - n_str_extract_vial->m_address = base + offset; - n_str_extract_vial->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_str_extract_vial); - - field_name = "str_extract_barrel"; - auto n_str_extract_barrel = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_material_defs, field_name)); - n_str_extract_barrel->m_field_name = field_name; - n_str_extract_barrel->m_df_type = DF_Type::Stl_string; - n_str_extract_barrel->m_rdf_type = RDF_Type::Array; - n_str_extract_barrel->m_node_type = NodeType::Array; - n_str_extract_barrel->m_addornements = "[3"; - n_str_extract_barrel->m_array_size = 3; - n_str_extract_barrel->m_address = base + offset; - n_str_extract_barrel->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_str_extract_barrel); - - field_name = "str_extract_still_vial"; - auto n_str_extract_still_vial = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_material_defs, field_name)); - n_str_extract_still_vial->m_field_name = field_name; - n_str_extract_still_vial->m_df_type = DF_Type::Stl_string; - n_str_extract_still_vial->m_rdf_type = RDF_Type::Array; - n_str_extract_still_vial->m_node_type = NodeType::Array; - n_str_extract_still_vial->m_addornements = "[3"; - n_str_extract_still_vial->m_array_size = 3; - n_str_extract_still_vial->m_address = base + offset; - n_str_extract_still_vial->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_str_extract_still_vial); - -} -void node_from_plant_raw(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::Stl_string; - n_id->m_rdf_type = RDF_Type::Stl_string; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); - auto n_index = new NodeSimple; - n_index->m_field_name = field_name; - n_index->m_df_type = DF_Type::int32_t; - n_index->m_rdf_type = RDF_Type::int32_t; - n_index->m_node_type = NodeType::Simple; - n_index->m_address = base + offset; - n_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_index); - - field_name = "raws"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); - auto n_raws = new NodeVector; - n_raws->m_field_name = field_name; - n_raws->m_df_type = DF_Type::Stl_string; - n_raws->m_rdf_type = RDF_Type::Vector; - n_raws->m_node_type = NodeType::Vector; - n_raws->m_addornements = "v*"; - n_raws->m_address = base + offset; - n_raws->m_parent = p_node_parent; - n_raws->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_raws); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); - auto n_flags = new NodeDFFlagArray; - n_flags->m_field_name = field_name; - n_flags->m_index_enum = DF_Type::plant_raw_flags; - n_flags->m_df_type = DF_Type::plant_raw_flags; - n_flags->m_size = 88; - n_flags->m_rdf_type = RDF_Type::DFFlagArray; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_defined_in = "df.plant-raws.xml"; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); - auto n_name = new NodeSimple; - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Stl_string; - n_name->m_node_type = NodeType::Simple; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "name_plural"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); - auto n_name_plural = new NodeSimple; - n_name_plural->m_field_name = field_name; - n_name_plural->m_df_type = DF_Type::Stl_string; - n_name_plural->m_rdf_type = RDF_Type::Stl_string; - n_name_plural->m_node_type = NodeType::Simple; - n_name_plural->m_address = base + offset; - n_name_plural->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name_plural); - - field_name = "adj"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); - auto n_adj = new NodeSimple; - n_adj->m_field_name = field_name; - n_adj->m_df_type = DF_Type::Stl_string; - n_adj->m_rdf_type = RDF_Type::Stl_string; - n_adj->m_node_type = NodeType::Simple; - n_adj->m_address = base + offset; - n_adj->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_adj); - - field_name = "seed_singular"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); - auto n_seed_singular = new NodeSimple; - n_seed_singular->m_field_name = field_name; - n_seed_singular->m_df_type = DF_Type::Stl_string; - n_seed_singular->m_rdf_type = RDF_Type::Stl_string; - n_seed_singular->m_node_type = NodeType::Simple; - n_seed_singular->m_address = base + offset; - n_seed_singular->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_seed_singular); - - field_name = "seed_plural"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); - auto n_seed_plural = new NodeSimple; - n_seed_plural->m_field_name = field_name; - n_seed_plural->m_df_type = DF_Type::Stl_string; - n_seed_plural->m_rdf_type = RDF_Type::Stl_string; - n_seed_plural->m_node_type = NodeType::Simple; - n_seed_plural->m_address = base + offset; - n_seed_plural->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_seed_plural); - - field_name = "leaves_singular"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); - auto n_leaves_singular = new NodeSimple; - n_leaves_singular->m_field_name = field_name; - n_leaves_singular->m_df_type = DF_Type::Stl_string; - n_leaves_singular->m_rdf_type = RDF_Type::Stl_string; - n_leaves_singular->m_node_type = NodeType::Simple; - n_leaves_singular->m_address = base + offset; - n_leaves_singular->m_comment = "unused"; - n_leaves_singular->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_leaves_singular); - - field_name = "leaves_plural"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); - auto n_leaves_plural = new NodeSimple; - n_leaves_plural->m_field_name = field_name; - n_leaves_plural->m_df_type = DF_Type::Stl_string; - n_leaves_plural->m_rdf_type = RDF_Type::Stl_string; - n_leaves_plural->m_node_type = NodeType::Simple; - n_leaves_plural->m_address = base + offset; - n_leaves_plural->m_comment = "unused"; - n_leaves_plural->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_leaves_plural); - - field_name = "source_hfid"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); - auto n_source_hfid = new NodeSimple; - n_source_hfid->m_field_name = field_name; - n_source_hfid->m_df_type = DF_Type::int32_t; - n_source_hfid->m_rdf_type = RDF_Type::int32_t; - n_source_hfid->m_node_type = NodeType::Simple; - n_source_hfid->m_address = base + offset; - n_source_hfid->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_source_hfid); - - field_name = "unk_v4201_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); - auto n_unk_v4201_1 = new NodeSimple; - n_unk_v4201_1->m_field_name = field_name; - n_unk_v4201_1->m_df_type = DF_Type::int32_t; - n_unk_v4201_1->m_rdf_type = RDF_Type::int32_t; - n_unk_v4201_1->m_node_type = NodeType::Simple; - n_unk_v4201_1->m_address = base + offset; - n_unk_v4201_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v4201_1); - - field_name = "unk1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); - auto n_unk1 = new NodeSimple; - n_unk1->m_field_name = field_name; - n_unk1->m_df_type = DF_Type::uint8_t; - n_unk1->m_rdf_type = RDF_Type::uint8_t; - n_unk1->m_node_type = NodeType::Simple; - n_unk1->m_address = base + offset; - n_unk1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk1); - - field_name = "unk2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); - auto n_unk2 = new NodeSimple; - n_unk2->m_field_name = field_name; - n_unk2->m_df_type = DF_Type::uint8_t; - n_unk2->m_rdf_type = RDF_Type::uint8_t; - n_unk2->m_node_type = NodeType::Simple; - n_unk2->m_address = base + offset; - n_unk2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk2); - - field_name = "tiles"; - auto n_tiles = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); - n_tiles->m_field_name = field_name; - n_tiles->m_df_type = DF_Type::plant_raw__T_tiles; - n_tiles->m_rdf_type = RDF_Type::Compound; - n_tiles->m_node_type = NodeType::Compound; - n_tiles->m_address = base + offset; - n_tiles->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tiles); - - field_name = "growdur"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); - auto n_growdur = new NodeSimple; - n_growdur->m_field_name = field_name; - n_growdur->m_df_type = DF_Type::int32_t; - n_growdur->m_rdf_type = RDF_Type::int32_t; - n_growdur->m_node_type = NodeType::Simple; - n_growdur->m_address = base + offset; - n_growdur->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_growdur); - - field_name = "value"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); - auto n_value = new NodeSimple; - n_value->m_field_name = field_name; - n_value->m_df_type = DF_Type::int32_t; - n_value->m_rdf_type = RDF_Type::int32_t; - n_value->m_node_type = NodeType::Simple; - n_value->m_address = base + offset; - n_value->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_value); - - field_name = "colors"; - auto n_colors = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); - n_colors->m_field_name = field_name; - n_colors->m_df_type = DF_Type::plant_raw__T_colors; - n_colors->m_rdf_type = RDF_Type::Compound; - n_colors->m_node_type = NodeType::Compound; - n_colors->m_address = base + offset; - n_colors->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_colors); - - field_name = "alt_period"; - auto n_alt_period = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); - n_alt_period->m_field_name = field_name; - n_alt_period->m_df_type = DF_Type::int32_t; - n_alt_period->m_rdf_type = RDF_Type::Array; - n_alt_period->m_node_type = NodeType::Array; - n_alt_period->m_addornements = "[2"; - n_alt_period->m_array_size = 2; - n_alt_period->m_address = base + offset; - n_alt_period->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_alt_period); - - field_name = "shrub_drown_level"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); - auto n_shrub_drown_level = new NodeSimple; - n_shrub_drown_level->m_field_name = field_name; - n_shrub_drown_level->m_df_type = DF_Type::int8_t; - n_shrub_drown_level->m_rdf_type = RDF_Type::int8_t; - n_shrub_drown_level->m_node_type = NodeType::Simple; - n_shrub_drown_level->m_address = base + offset; - n_shrub_drown_level->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_shrub_drown_level); - - field_name = "tree_drown_level"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); - auto n_tree_drown_level = new NodeSimple; - n_tree_drown_level->m_field_name = field_name; - n_tree_drown_level->m_df_type = DF_Type::int8_t; - n_tree_drown_level->m_rdf_type = RDF_Type::int8_t; - n_tree_drown_level->m_node_type = NodeType::Simple; - n_tree_drown_level->m_address = base + offset; - n_tree_drown_level->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tree_drown_level); - - field_name = "sapling_drown_level"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); - auto n_sapling_drown_level = new NodeSimple; - n_sapling_drown_level->m_field_name = field_name; - n_sapling_drown_level->m_df_type = DF_Type::int8_t; - n_sapling_drown_level->m_rdf_type = RDF_Type::int8_t; - n_sapling_drown_level->m_node_type = NodeType::Simple; - n_sapling_drown_level->m_address = base + offset; - n_sapling_drown_level->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sapling_drown_level); - - field_name = "frequency"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); - auto n_frequency = new NodeSimple; - n_frequency->m_field_name = field_name; - n_frequency->m_df_type = DF_Type::int16_t; - n_frequency->m_rdf_type = RDF_Type::int16_t; - n_frequency->m_node_type = NodeType::Simple; - n_frequency->m_address = base + offset; - n_frequency->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_frequency); - - field_name = "clustersize"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); - auto n_clustersize = new NodeSimple; - n_clustersize->m_field_name = field_name; - n_clustersize->m_df_type = DF_Type::int16_t; - n_clustersize->m_rdf_type = RDF_Type::int16_t; - n_clustersize->m_node_type = NodeType::Simple; - n_clustersize->m_address = base + offset; - n_clustersize->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_clustersize); - - field_name = "prefstring"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); - auto n_prefstring = new NodeVector; - n_prefstring->m_field_name = field_name; - n_prefstring->m_df_type = DF_Type::Stl_string; - n_prefstring->m_rdf_type = RDF_Type::Vector; - n_prefstring->m_node_type = NodeType::Vector; - n_prefstring->m_addornements = "v*"; - n_prefstring->m_address = base + offset; - n_prefstring->m_parent = p_node_parent; - n_prefstring->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_prefstring); - - field_name = "material"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); - auto n_material = new NodeVector; - n_material->m_field_name = field_name; - n_material->m_df_type = DF_Type::material; - n_material->m_rdf_type = RDF_Type::Vector; - n_material->m_node_type = NodeType::Vector; - n_material->m_defined_in = "df.materials.xml"; - n_material->m_addornements = "v*"; - n_material->m_address = base + offset; - n_material->m_parent = p_node_parent; - n_material->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_material); - - field_name = "material_defs"; - auto n_material_defs = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); - n_material_defs->m_field_name = field_name; - n_material_defs->m_df_type = DF_Type::plant_raw__T_material_defs; - n_material_defs->m_rdf_type = RDF_Type::Compound; - n_material_defs->m_node_type = NodeType::Compound; - n_material_defs->m_address = base + offset; - n_material_defs->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_material_defs); - - field_name = "underground_depth_min"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); - auto n_underground_depth_min = new NodeSimple; - n_underground_depth_min->m_field_name = field_name; - n_underground_depth_min->m_df_type = DF_Type::int32_t; - n_underground_depth_min->m_rdf_type = RDF_Type::int32_t; - n_underground_depth_min->m_node_type = NodeType::Simple; - n_underground_depth_min->m_address = base + offset; - n_underground_depth_min->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_underground_depth_min); - - field_name = "underground_depth_max"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); - auto n_underground_depth_max = new NodeSimple; - n_underground_depth_max->m_field_name = field_name; - n_underground_depth_max->m_df_type = DF_Type::int32_t; - n_underground_depth_max->m_rdf_type = RDF_Type::int32_t; - n_underground_depth_max->m_node_type = NodeType::Simple; - n_underground_depth_max->m_address = base + offset; - n_underground_depth_max->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_underground_depth_max); - - field_name = "growths"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); - auto n_growths = new NodeVector; - n_growths->m_field_name = field_name; - n_growths->m_df_type = DF_Type::plant_growth; - n_growths->m_rdf_type = RDF_Type::Vector; - n_growths->m_node_type = NodeType::Vector; - n_growths->m_defined_in = "df.plant-raws.xml"; - n_growths->m_addornements = "v*"; - n_growths->m_address = base + offset; - n_growths->m_parent = p_node_parent; - n_growths->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_growths); - - field_name = "root_name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); - auto n_root_name = new NodeSimple; - n_root_name->m_field_name = field_name; - n_root_name->m_df_type = DF_Type::Stl_string; - n_root_name->m_rdf_type = RDF_Type::Stl_string; - n_root_name->m_node_type = NodeType::Simple; - n_root_name->m_address = base + offset; - n_root_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_root_name); - - field_name = "trunk_name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); - auto n_trunk_name = new NodeSimple; - n_trunk_name->m_field_name = field_name; - n_trunk_name->m_df_type = DF_Type::Stl_string; - n_trunk_name->m_rdf_type = RDF_Type::Stl_string; - n_trunk_name->m_node_type = NodeType::Simple; - n_trunk_name->m_address = base + offset; - n_trunk_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_trunk_name); - - field_name = "heavy_branch_name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); - auto n_heavy_branch_name = new NodeSimple; - n_heavy_branch_name->m_field_name = field_name; - n_heavy_branch_name->m_df_type = DF_Type::Stl_string; - n_heavy_branch_name->m_rdf_type = RDF_Type::Stl_string; - n_heavy_branch_name->m_node_type = NodeType::Simple; - n_heavy_branch_name->m_address = base + offset; - n_heavy_branch_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_heavy_branch_name); - - field_name = "light_branch_name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); - auto n_light_branch_name = new NodeSimple; - n_light_branch_name->m_field_name = field_name; - n_light_branch_name->m_df_type = DF_Type::Stl_string; - n_light_branch_name->m_rdf_type = RDF_Type::Stl_string; - n_light_branch_name->m_node_type = NodeType::Simple; - n_light_branch_name->m_address = base + offset; - n_light_branch_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_light_branch_name); - - field_name = "twig_name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); - auto n_twig_name = new NodeSimple; - n_twig_name->m_field_name = field_name; - n_twig_name->m_df_type = DF_Type::Stl_string; - n_twig_name->m_rdf_type = RDF_Type::Stl_string; - n_twig_name->m_node_type = NodeType::Simple; - n_twig_name->m_address = base + offset; - n_twig_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_twig_name); - - field_name = "cap_name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); - auto n_cap_name = new NodeSimple; - n_cap_name->m_field_name = field_name; - n_cap_name->m_df_type = DF_Type::Stl_string; - n_cap_name->m_rdf_type = RDF_Type::Stl_string; - n_cap_name->m_node_type = NodeType::Simple; - n_cap_name->m_address = base + offset; - n_cap_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cap_name); - - field_name = "trunk_period"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); - auto n_trunk_period = new NodeSimple; - n_trunk_period->m_field_name = field_name; - n_trunk_period->m_df_type = DF_Type::int32_t; - n_trunk_period->m_rdf_type = RDF_Type::int32_t; - n_trunk_period->m_node_type = NodeType::Simple; - n_trunk_period->m_address = base + offset; - n_trunk_period->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_trunk_period); - - field_name = "heavy_branch_density"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); - auto n_heavy_branch_density = new NodeSimple; - n_heavy_branch_density->m_field_name = field_name; - n_heavy_branch_density->m_df_type = DF_Type::int32_t; - n_heavy_branch_density->m_rdf_type = RDF_Type::int32_t; - n_heavy_branch_density->m_node_type = NodeType::Simple; - n_heavy_branch_density->m_address = base + offset; - n_heavy_branch_density->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_heavy_branch_density); - - field_name = "light_branch_density"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); - auto n_light_branch_density = new NodeSimple; - n_light_branch_density->m_field_name = field_name; - n_light_branch_density->m_df_type = DF_Type::int32_t; - n_light_branch_density->m_rdf_type = RDF_Type::int32_t; - n_light_branch_density->m_node_type = NodeType::Simple; - n_light_branch_density->m_address = base + offset; - n_light_branch_density->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_light_branch_density); - - field_name = "max_trunk_height"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); - auto n_max_trunk_height = new NodeSimple; - n_max_trunk_height->m_field_name = field_name; - n_max_trunk_height->m_df_type = DF_Type::int32_t; - n_max_trunk_height->m_rdf_type = RDF_Type::int32_t; - n_max_trunk_height->m_node_type = NodeType::Simple; - n_max_trunk_height->m_address = base + offset; - n_max_trunk_height->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_max_trunk_height); - - field_name = "heavy_branch_radius"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); - auto n_heavy_branch_radius = new NodeSimple; - n_heavy_branch_radius->m_field_name = field_name; - n_heavy_branch_radius->m_df_type = DF_Type::int32_t; - n_heavy_branch_radius->m_rdf_type = RDF_Type::int32_t; - n_heavy_branch_radius->m_node_type = NodeType::Simple; - n_heavy_branch_radius->m_address = base + offset; - n_heavy_branch_radius->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_heavy_branch_radius); - - field_name = "light_branch_radius"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); - auto n_light_branch_radius = new NodeSimple; - n_light_branch_radius->m_field_name = field_name; - n_light_branch_radius->m_df_type = DF_Type::int32_t; - n_light_branch_radius->m_rdf_type = RDF_Type::int32_t; - n_light_branch_radius->m_node_type = NodeType::Simple; - n_light_branch_radius->m_address = base + offset; - n_light_branch_radius->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_light_branch_radius); - - field_name = "trunk_branching"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); - auto n_trunk_branching = new NodeSimple; - n_trunk_branching->m_field_name = field_name; - n_trunk_branching->m_df_type = DF_Type::int32_t; - n_trunk_branching->m_rdf_type = RDF_Type::int32_t; - n_trunk_branching->m_node_type = NodeType::Simple; - n_trunk_branching->m_address = base + offset; - n_trunk_branching->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_trunk_branching); - - field_name = "max_trunk_diameter"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); - auto n_max_trunk_diameter = new NodeSimple; - n_max_trunk_diameter->m_field_name = field_name; - n_max_trunk_diameter->m_df_type = DF_Type::int32_t; - n_max_trunk_diameter->m_rdf_type = RDF_Type::int32_t; - n_max_trunk_diameter->m_node_type = NodeType::Simple; - n_max_trunk_diameter->m_address = base + offset; - n_max_trunk_diameter->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_max_trunk_diameter); - - field_name = "trunk_width_period"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); - auto n_trunk_width_period = new NodeSimple; - n_trunk_width_period->m_field_name = field_name; - n_trunk_width_period->m_df_type = DF_Type::int32_t; - n_trunk_width_period->m_rdf_type = RDF_Type::int32_t; - n_trunk_width_period->m_node_type = NodeType::Simple; - n_trunk_width_period->m_address = base + offset; - n_trunk_width_period->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_trunk_width_period); - - field_name = "cap_period"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); - auto n_cap_period = new NodeSimple; - n_cap_period->m_field_name = field_name; - n_cap_period->m_df_type = DF_Type::int32_t; - n_cap_period->m_rdf_type = RDF_Type::int32_t; - n_cap_period->m_node_type = NodeType::Simple; - n_cap_period->m_address = base + offset; - n_cap_period->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cap_period); - - field_name = "cap_radius"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); - auto n_cap_radius = new NodeSimple; - n_cap_radius->m_field_name = field_name; - n_cap_radius->m_df_type = DF_Type::int32_t; - n_cap_radius->m_rdf_type = RDF_Type::int32_t; - n_cap_radius->m_node_type = NodeType::Simple; - n_cap_radius->m_address = base + offset; - n_cap_radius->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cap_radius); - - field_name = "root_density"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); - auto n_root_density = new NodeSimple; - n_root_density->m_field_name = field_name; - n_root_density->m_df_type = DF_Type::int32_t; - n_root_density->m_rdf_type = RDF_Type::int32_t; - n_root_density->m_node_type = NodeType::Simple; - n_root_density->m_address = base + offset; - n_root_density->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_root_density); - - field_name = "root_radius"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); - auto n_root_radius = new NodeSimple; - n_root_radius->m_field_name = field_name; - n_root_radius->m_df_type = DF_Type::int32_t; - n_root_radius->m_rdf_type = RDF_Type::int32_t; - n_root_radius->m_node_type = NodeType::Simple; - n_root_radius->m_address = base + offset; - n_root_radius->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_root_radius); - - field_name = "stockpile_growths"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); - auto n_stockpile_growths = new NodeVector; - n_stockpile_growths->m_field_name = field_name; - n_stockpile_growths->m_df_type = DF_Type::int32_t; - n_stockpile_growths->m_rdf_type = RDF_Type::Vector; - n_stockpile_growths->m_node_type = NodeType::Vector; - n_stockpile_growths->m_addornements = "v"; - n_stockpile_growths->m_address = base + offset; - n_stockpile_growths->m_comment = "indices of edible growths that are marked with STOCKPILE_PLANT_GROWTH"; - n_stockpile_growths->m_refers_to = "$$._parent._parent.growths[$]"; - n_stockpile_growths->m_parent = p_node_parent; - n_stockpile_growths->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_stockpile_growths); - - field_name = "stockpile_growth_flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); - auto n_stockpile_growth_flags = new NodeVector; - n_stockpile_growth_flags->m_field_name = field_name; - n_stockpile_growth_flags->m_df_type = DF_Type::plant_raw__T_stockpile_growth_flags; - n_stockpile_growth_flags->m_rdf_type = RDF_Type::Vector; - n_stockpile_growth_flags->m_node_type = NodeType::Vector; - n_stockpile_growth_flags->m_addornements = "v"; - n_stockpile_growth_flags->m_address = base + offset; - n_stockpile_growth_flags->m_refers_to = "$$._parent.stockpile_growths[$].refers-to"; - n_stockpile_growth_flags->m_parent = p_node_parent; - n_stockpile_growth_flags->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_stockpile_growth_flags); - -} -void node_from_plant_growth(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_growth, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::Stl_string; - n_id->m_rdf_type = RDF_Type::Stl_string; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_growth, field_name)); - auto n_name = new NodeSimple; - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Stl_string; - n_name->m_node_type = NodeType::Simple; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "name_plural"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_growth, field_name)); - auto n_name_plural = new NodeSimple; - n_name_plural->m_field_name = field_name; - n_name_plural->m_df_type = DF_Type::Stl_string; - n_name_plural->m_rdf_type = RDF_Type::Stl_string; - n_name_plural->m_node_type = NodeType::Simple; - n_name_plural->m_address = base + offset; - n_name_plural->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name_plural); - - field_name = "str_growth_item"; - auto n_str_growth_item = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_growth, field_name)); - n_str_growth_item->m_field_name = field_name; - n_str_growth_item->m_df_type = DF_Type::Stl_string; - n_str_growth_item->m_rdf_type = RDF_Type::Array; - n_str_growth_item->m_node_type = NodeType::Array; - n_str_growth_item->m_addornements = "[5"; - n_str_growth_item->m_array_size = 5; - n_str_growth_item->m_address = base + offset; - n_str_growth_item->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_str_growth_item); - - field_name = "item_type"; - auto n_item_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_growth, field_name)); - n_item_type->m_field_name = field_name; - n_item_type->m_df_type = DF_Type::item_type; - n_item_type->m_rdf_type = RDF_Type::Enum; - n_item_type->m_node_type = NodeType::Enum; - n_item_type->m_base_type = DF_Type::int16_t; - n_item_type->m_enum_type = "item_type"; - n_item_type->m_address = base + offset; - n_item_type->m_defined_in = "df.item-raws.xml"; - n_item_type->m_first_value = -1; - n_item_type->m_last_value = 90; - n_item_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_type); - - field_name = "item_subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_growth, field_name)); - auto n_item_subtype = new NodeSimple; - n_item_subtype->m_field_name = field_name; - n_item_subtype->m_df_type = DF_Type::int16_t; - n_item_subtype->m_rdf_type = RDF_Type::int16_t; - n_item_subtype->m_node_type = NodeType::Simple; - n_item_subtype->m_address = base + offset; - n_item_subtype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_subtype); - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_growth, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_growth, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "prints"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_growth, field_name)); - auto n_prints = new NodeVector; - n_prints->m_field_name = field_name; - n_prints->m_df_type = DF_Type::plant_growth_print; - n_prints->m_rdf_type = RDF_Type::Vector; - n_prints->m_node_type = NodeType::Vector; - n_prints->m_defined_in = "df.plant-raws.xml"; - n_prints->m_addornements = "v*"; - n_prints->m_address = base + offset; - n_prints->m_parent = p_node_parent; - n_prints->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_prints); - - field_name = "timing_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_growth, field_name)); - auto n_timing_1 = new NodeSimple; - n_timing_1->m_field_name = field_name; - n_timing_1->m_df_type = DF_Type::int32_t; - n_timing_1->m_rdf_type = RDF_Type::int32_t; - n_timing_1->m_node_type = NodeType::Simple; - n_timing_1->m_address = base + offset; - n_timing_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_timing_1); - - field_name = "timing_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_growth, field_name)); - auto n_timing_2 = new NodeSimple; - n_timing_2->m_field_name = field_name; - n_timing_2->m_df_type = DF_Type::int32_t; - n_timing_2->m_rdf_type = RDF_Type::int32_t; - n_timing_2->m_node_type = NodeType::Simple; - n_timing_2->m_address = base + offset; - n_timing_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_timing_2); - - field_name = "locations"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_growth, field_name)); - auto n_locations = new NodeBitfield; - n_locations->m_field_name = field_name; - n_locations->m_df_type = DF_Type::plant_growth__T_locations; - n_locations->m_rdf_type = RDF_Type::Bitfield; - n_locations->m_node_type = NodeType::Bitfield; - n_locations->m_address = base + offset; - n_locations->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_locations); - - field_name = "density"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_growth, field_name)); - auto n_density = new NodeSimple; - n_density->m_field_name = field_name; - n_density->m_df_type = DF_Type::int32_t; - n_density->m_rdf_type = RDF_Type::int32_t; - n_density->m_node_type = NodeType::Simple; - n_density->m_address = base + offset; - n_density->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_density); - - field_name = "behavior"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_growth, field_name)); - auto n_behavior = new NodeBitfield; - n_behavior->m_field_name = field_name; - n_behavior->m_df_type = DF_Type::plant_growth__T_behavior; - n_behavior->m_rdf_type = RDF_Type::Bitfield; - n_behavior->m_node_type = NodeType::Bitfield; - n_behavior->m_address = base + offset; - n_behavior->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_behavior); - - field_name = "trunk_height_perc_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_growth, field_name)); - auto n_trunk_height_perc_1 = new NodeSimple; - n_trunk_height_perc_1->m_field_name = field_name; - n_trunk_height_perc_1->m_df_type = DF_Type::int32_t; - n_trunk_height_perc_1->m_rdf_type = RDF_Type::int32_t; - n_trunk_height_perc_1->m_node_type = NodeType::Simple; - n_trunk_height_perc_1->m_address = base + offset; - n_trunk_height_perc_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_trunk_height_perc_1); - - field_name = "trunk_height_perc_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_growth, field_name)); - auto n_trunk_height_perc_2 = new NodeSimple; - n_trunk_height_perc_2->m_field_name = field_name; - n_trunk_height_perc_2->m_df_type = DF_Type::int32_t; - n_trunk_height_perc_2->m_rdf_type = RDF_Type::int32_t; - n_trunk_height_perc_2->m_node_type = NodeType::Simple; - n_trunk_height_perc_2->m_address = base + offset; - n_trunk_height_perc_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_trunk_height_perc_2); - -} -void node_from_plant(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::plant_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_defined_in = "df.plants.xml"; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "material"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant, field_name)); - auto n_material = new NodeSimple; - n_material->m_field_name = field_name; - n_material->m_df_type = DF_Type::int16_t; - n_material->m_rdf_type = RDF_Type::int16_t; - n_material->m_node_type = NodeType::Simple; - n_material->m_address = base + offset; - n_material->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_material); - - field_name = "pos"; - auto n_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant, field_name)); - n_pos->m_field_name = field_name; - n_pos->m_df_type = DF_Type::coord; - n_pos->m_rdf_type = RDF_Type::Struct; - n_pos->m_node_type = NodeType::Compound; - n_pos->m_address = base + offset; - n_pos->m_defined_in = "df.map.xml"; - n_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pos); - - field_name = "grow_counter"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant, field_name)); - auto n_grow_counter = new NodeSimple; - n_grow_counter->m_field_name = field_name; - n_grow_counter->m_df_type = DF_Type::int32_t; - n_grow_counter->m_rdf_type = RDF_Type::int32_t; - n_grow_counter->m_node_type = NodeType::Simple; - n_grow_counter->m_address = base + offset; - n_grow_counter->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_grow_counter); - - field_name = "damage_flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant, field_name)); - auto n_damage_flags = new NodeBitfield; - n_damage_flags->m_field_name = field_name; - n_damage_flags->m_df_type = DF_Type::plant__T_damage_flags; - n_damage_flags->m_rdf_type = RDF_Type::Bitfield; - n_damage_flags->m_node_type = NodeType::Bitfield; - n_damage_flags->m_address = base + offset; - n_damage_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_damage_flags); - - field_name = "hitpoints"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant, field_name)); - auto n_hitpoints = new NodeSimple; - n_hitpoints->m_field_name = field_name; - n_hitpoints->m_df_type = DF_Type::int32_t; - n_hitpoints->m_rdf_type = RDF_Type::int32_t; - n_hitpoints->m_node_type = NodeType::Simple; - n_hitpoints->m_address = base + offset; - n_hitpoints->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_hitpoints); - - field_name = "update_order"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant, field_name)); - auto n_update_order = new NodeSimple; - n_update_order->m_field_name = field_name; - n_update_order->m_df_type = DF_Type::int16_t; - n_update_order->m_rdf_type = RDF_Type::int16_t; - n_update_order->m_node_type = NodeType::Simple; - n_update_order->m_address = base + offset; - n_update_order->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_update_order); - - field_name = "site_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant, field_name)); - auto n_site_id = new NodeSimple; - n_site_id->m_field_name = field_name; - n_site_id->m_df_type = DF_Type::int32_t; - n_site_id->m_rdf_type = RDF_Type::int32_t; - n_site_id->m_node_type = NodeType::Simple; - n_site_id->m_address = base + offset; - n_site_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_id); - - field_name = "srb_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant, field_name)); - auto n_srb_id = new NodeSimple; - n_srb_id->m_field_name = field_name; - n_srb_id->m_df_type = DF_Type::int32_t; - n_srb_id->m_rdf_type = RDF_Type::int32_t; - n_srb_id->m_node_type = NodeType::Simple; - n_srb_id->m_address = base + offset; - n_srb_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_srb_id); - - field_name = "contaminants"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant, field_name)); - auto n_contaminants = new NodeVector; - n_contaminants->m_field_name = field_name; - n_contaminants->m_df_type = DF_Type::spatter_common; - n_contaminants->m_rdf_type = RDF_Type::Vector; - n_contaminants->m_node_type = NodeType::Vector; - n_contaminants->m_defined_in = "df.items.xml"; - n_contaminants->m_addornements = "v*"; - n_contaminants->m_address = base + offset; - n_contaminants->m_parent = p_node_parent; - n_contaminants->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_contaminants); - - field_name = "tree_info"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant, field_name)); - auto n_tree_info = new NodePointer; - n_tree_info->m_field_name = field_name; - n_tree_info->m_df_type = get_real_subtype(base+offset, DF_Type::plant_tree_info); - n_tree_info->m_rdf_type = RDF_Type::Pointer; - n_tree_info->m_node_type = NodeType::Pointer; - n_tree_info->m_addornements = "*"; - n_tree_info->m_address = base + offset; - n_tree_info->m_parent = p_node_parent; - n_tree_info->m_defined_in = "df.plants.xml"; - n_tree_info->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_tree_info); - -} -void node_from_plant_tree_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "body"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_tree_info, field_name)); - auto n_body = new NodePointer; - n_body->m_field_name = field_name; - n_body->m_df_type = DF_Type::plant_tree_tile; - n_body->m_rdf_type = RDF_Type::Pointer; - n_body->m_node_type = NodeType::Pointer; - n_body->m_addornements = "**"; - n_body->m_address = base + offset; - n_body->m_comment = "dimension body_height"; - n_body->m_parent = p_node_parent; - n_body->m_defined_in = "df.plants.xml"; - n_body->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_body); - - field_name = "extent_east"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_tree_info, field_name)); - auto n_extent_east = new NodePointer; - n_extent_east->m_field_name = field_name; - n_extent_east->m_df_type = get_real_subtype(base+offset, DF_Type::int16_t); - n_extent_east->m_rdf_type = RDF_Type::Pointer; - n_extent_east->m_node_type = NodeType::Pointer; - n_extent_east->m_addornements = "*"; - n_extent_east->m_address = base + offset; - n_extent_east->m_comment = "dimension body_height"; - n_extent_east->m_parent = p_node_parent; - n_extent_east->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_extent_east); - - field_name = "extent_south"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_tree_info, field_name)); - auto n_extent_south = new NodePointer; - n_extent_south->m_field_name = field_name; - n_extent_south->m_df_type = get_real_subtype(base+offset, DF_Type::int16_t); - n_extent_south->m_rdf_type = RDF_Type::Pointer; - n_extent_south->m_node_type = NodeType::Pointer; - n_extent_south->m_addornements = "*"; - n_extent_south->m_address = base + offset; - n_extent_south->m_comment = "dimension body_height"; - n_extent_south->m_parent = p_node_parent; - n_extent_south->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_extent_south); - - field_name = "extent_west"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_tree_info, field_name)); - auto n_extent_west = new NodePointer; - n_extent_west->m_field_name = field_name; - n_extent_west->m_df_type = get_real_subtype(base+offset, DF_Type::int16_t); - n_extent_west->m_rdf_type = RDF_Type::Pointer; - n_extent_west->m_node_type = NodeType::Pointer; - n_extent_west->m_addornements = "*"; - n_extent_west->m_address = base + offset; - n_extent_west->m_comment = "dimension body_height"; - n_extent_west->m_parent = p_node_parent; - n_extent_west->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_extent_west); - - field_name = "extent_north"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_tree_info, field_name)); - auto n_extent_north = new NodePointer; - n_extent_north->m_field_name = field_name; - n_extent_north->m_df_type = get_real_subtype(base+offset, DF_Type::int16_t); - n_extent_north->m_rdf_type = RDF_Type::Pointer; - n_extent_north->m_node_type = NodeType::Pointer; - n_extent_north->m_addornements = "*"; - n_extent_north->m_address = base + offset; - n_extent_north->m_comment = "dimension body_height"; - n_extent_north->m_parent = p_node_parent; - n_extent_north->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_extent_north); - - field_name = "body_height"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_tree_info, field_name)); - auto n_body_height = new NodeSimple; - n_body_height->m_field_name = field_name; - n_body_height->m_df_type = DF_Type::int32_t; - n_body_height->m_rdf_type = RDF_Type::int32_t; - n_body_height->m_node_type = NodeType::Simple; - n_body_height->m_address = base + offset; - n_body_height->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_body_height); - - field_name = "dim_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_tree_info, field_name)); - auto n_dim_x = new NodeSimple; - n_dim_x->m_field_name = field_name; - n_dim_x->m_df_type = DF_Type::int32_t; - n_dim_x->m_rdf_type = RDF_Type::int32_t; - n_dim_x->m_node_type = NodeType::Simple; - n_dim_x->m_address = base + offset; - n_dim_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dim_x); - - field_name = "dim_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_tree_info, field_name)); - auto n_dim_y = new NodeSimple; - n_dim_y->m_field_name = field_name; - n_dim_y->m_df_type = DF_Type::int32_t; - n_dim_y->m_rdf_type = RDF_Type::int32_t; - n_dim_y->m_node_type = NodeType::Simple; - n_dim_y->m_address = base + offset; - n_dim_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dim_y); - - field_name = "roots"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_tree_info, field_name)); - auto n_roots = new NodePointer; - n_roots->m_field_name = field_name; - n_roots->m_df_type = DF_Type::plant_tree_tile; - n_roots->m_rdf_type = RDF_Type::Pointer; - n_roots->m_node_type = NodeType::Pointer; - n_roots->m_addornements = "**"; - n_roots->m_address = base + offset; - n_roots->m_comment = "dimension roots_depth"; - n_roots->m_parent = p_node_parent; - n_roots->m_defined_in = "df.plants.xml"; - n_roots->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_roots); - - field_name = "roots_depth"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_tree_info, field_name)); - auto n_roots_depth = new NodeSimple; - n_roots_depth->m_field_name = field_name; - n_roots_depth->m_df_type = DF_Type::int32_t; - n_roots_depth->m_rdf_type = RDF_Type::int32_t; - n_roots_depth->m_node_type = NodeType::Simple; - n_roots_depth->m_address = base + offset; - n_roots_depth->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_roots_depth); - - field_name = "unk6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_tree_info, field_name)); - auto n_unk6 = new NodeSimple; - n_unk6->m_field_name = field_name; - n_unk6->m_df_type = DF_Type::int16_t; - n_unk6->m_rdf_type = RDF_Type::int16_t; - n_unk6->m_node_type = NodeType::Simple; - n_unk6->m_address = base + offset; - n_unk6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk6); - -} -void node_from_proj_list_link(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "item"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::proj_list_link, field_name)); - auto n_item = new NodePointer; - n_item->m_field_name = field_name; - n_item->m_df_type = get_real_subtype(base+offset, DF_Type::projectile); - n_item->m_rdf_type = RDF_Type::Pointer; - n_item->m_node_type = NodeType::Pointer; - n_item->m_addornements = "*"; - n_item->m_address = base + offset; - n_item->m_parent = p_node_parent; - n_item->m_defined_in = "df.projectile.xml"; - n_item->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_item); - - field_name = "prev"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::proj_list_link, field_name)); - auto n_prev = new NodePointer; - n_prev->m_field_name = field_name; - n_prev->m_df_type = get_real_subtype(base+offset, DF_Type::proj_list_link); - n_prev->m_rdf_type = RDF_Type::Pointer; - n_prev->m_node_type = NodeType::Pointer; - n_prev->m_addornements = "*"; - n_prev->m_address = base + offset; - n_prev->m_parent = p_node_parent; - n_prev->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_prev); - - field_name = "next"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::proj_list_link, field_name)); - auto n_next = new NodePointer; - n_next->m_field_name = field_name; - n_next->m_df_type = get_real_subtype(base+offset, DF_Type::proj_list_link); - n_next->m_rdf_type = RDF_Type::Pointer; - n_next->m_node_type = NodeType::Pointer; - n_next->m_addornements = "*"; - n_next->m_address = base + offset; - n_next->m_parent = p_node_parent; - n_next->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_next); - -} -void node_from_projectile(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "link"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::projectile, field_name)); - auto n_link = new NodePointer; - n_link->m_field_name = field_name; - n_link->m_df_type = get_real_subtype(base+offset, DF_Type::proj_list_link); - n_link->m_rdf_type = RDF_Type::Pointer; - n_link->m_node_type = NodeType::Pointer; - n_link->m_addornements = "*"; - n_link->m_address = base + offset; - n_link->m_parent = p_node_parent; - n_link->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_link); - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::projectile, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "firer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::projectile, field_name)); - auto n_firer = new NodePointer; - n_firer->m_field_name = field_name; - n_firer->m_df_type = get_real_subtype(base+offset, DF_Type::unit); - n_firer->m_rdf_type = RDF_Type::Pointer; - n_firer->m_node_type = NodeType::Pointer; - n_firer->m_addornements = "*"; - n_firer->m_address = base + offset; - n_firer->m_parent = p_node_parent; - n_firer->m_defined_in = "df.units.xml"; - n_firer->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_firer); - - field_name = "origin_pos"; - auto n_origin_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::projectile, field_name)); - n_origin_pos->m_field_name = field_name; - n_origin_pos->m_df_type = DF_Type::coord; - n_origin_pos->m_rdf_type = RDF_Type::Struct; - n_origin_pos->m_node_type = NodeType::Compound; - n_origin_pos->m_address = base + offset; - n_origin_pos->m_defined_in = "df.map.xml"; - n_origin_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_origin_pos); - - field_name = "target_pos"; - auto n_target_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::projectile, field_name)); - n_target_pos->m_field_name = field_name; - n_target_pos->m_df_type = DF_Type::coord; - n_target_pos->m_rdf_type = RDF_Type::Struct; - n_target_pos->m_node_type = NodeType::Compound; - n_target_pos->m_address = base + offset; - n_target_pos->m_defined_in = "df.map.xml"; - n_target_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_target_pos); - - field_name = "cur_pos"; - auto n_cur_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::projectile, field_name)); - n_cur_pos->m_field_name = field_name; - n_cur_pos->m_df_type = DF_Type::coord; - n_cur_pos->m_rdf_type = RDF_Type::Struct; - n_cur_pos->m_node_type = NodeType::Compound; - n_cur_pos->m_address = base + offset; - n_cur_pos->m_defined_in = "df.map.xml"; - n_cur_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cur_pos); - - field_name = "prev_pos"; - auto n_prev_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::projectile, field_name)); - n_prev_pos->m_field_name = field_name; - n_prev_pos->m_df_type = DF_Type::coord; - n_prev_pos->m_rdf_type = RDF_Type::Struct; - n_prev_pos->m_node_type = NodeType::Compound; - n_prev_pos->m_address = base + offset; - n_prev_pos->m_defined_in = "df.map.xml"; - n_prev_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_prev_pos); - - field_name = "distance_flown"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::projectile, field_name)); - auto n_distance_flown = new NodeSimple; - n_distance_flown->m_field_name = field_name; - n_distance_flown->m_df_type = DF_Type::int32_t; - n_distance_flown->m_rdf_type = RDF_Type::int32_t; - n_distance_flown->m_node_type = NodeType::Simple; - n_distance_flown->m_address = base + offset; - n_distance_flown->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_distance_flown); - - field_name = "fall_threshold"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::projectile, field_name)); - auto n_fall_threshold = new NodeSimple; - n_fall_threshold->m_field_name = field_name; - n_fall_threshold->m_df_type = DF_Type::int32_t; - n_fall_threshold->m_rdf_type = RDF_Type::int32_t; - n_fall_threshold->m_node_type = NodeType::Simple; - n_fall_threshold->m_address = base + offset; - n_fall_threshold->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_fall_threshold); - - field_name = "min_hit_distance"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::projectile, field_name)); - auto n_min_hit_distance = new NodeSimple; - n_min_hit_distance->m_field_name = field_name; - n_min_hit_distance->m_df_type = DF_Type::int32_t; - n_min_hit_distance->m_rdf_type = RDF_Type::int32_t; - n_min_hit_distance->m_node_type = NodeType::Simple; - n_min_hit_distance->m_address = base + offset; - n_min_hit_distance->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_min_hit_distance); - - field_name = "min_ground_distance"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::projectile, field_name)); - auto n_min_ground_distance = new NodeSimple; - n_min_ground_distance->m_field_name = field_name; - n_min_ground_distance->m_df_type = DF_Type::int32_t; - n_min_ground_distance->m_rdf_type = RDF_Type::int32_t; - n_min_ground_distance->m_node_type = NodeType::Simple; - n_min_ground_distance->m_address = base + offset; - n_min_ground_distance->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_min_ground_distance); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::projectile, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::projectile_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_defined_in = "df.projectile.xml"; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "fall_counter"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::projectile, field_name)); - auto n_fall_counter = new NodeSimple; - n_fall_counter->m_field_name = field_name; - n_fall_counter->m_df_type = DF_Type::int16_t; - n_fall_counter->m_rdf_type = RDF_Type::int16_t; - n_fall_counter->m_node_type = NodeType::Simple; - n_fall_counter->m_address = base + offset; - n_fall_counter->m_comment = "counts down from delay to 0, then it moves"; - n_fall_counter->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_fall_counter); - - field_name = "fall_delay"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::projectile, field_name)); - auto n_fall_delay = new NodeSimple; - n_fall_delay->m_field_name = field_name; - n_fall_delay->m_df_type = DF_Type::int16_t; - n_fall_delay->m_rdf_type = RDF_Type::int16_t; - n_fall_delay->m_node_type = NodeType::Simple; - n_fall_delay->m_address = base + offset; - n_fall_delay->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_fall_delay); - - field_name = "hit_rating"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::projectile, field_name)); - auto n_hit_rating = new NodeSimple; - n_hit_rating->m_field_name = field_name; - n_hit_rating->m_df_type = DF_Type::int32_t; - n_hit_rating->m_rdf_type = RDF_Type::int32_t; - n_hit_rating->m_node_type = NodeType::Simple; - n_hit_rating->m_address = base + offset; - n_hit_rating->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_hit_rating); - - field_name = "unk21"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::projectile, field_name)); - auto n_unk21 = new NodeSimple; - n_unk21->m_field_name = field_name; - n_unk21->m_df_type = DF_Type::int32_t; - n_unk21->m_rdf_type = RDF_Type::int32_t; - n_unk21->m_node_type = NodeType::Simple; - n_unk21->m_address = base + offset; - n_unk21->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk21); - - field_name = "unk22"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::projectile, field_name)); - auto n_unk22 = new NodeSimple; - n_unk22->m_field_name = field_name; - n_unk22->m_df_type = DF_Type::int32_t; - n_unk22->m_rdf_type = RDF_Type::int32_t; - n_unk22->m_node_type = NodeType::Simple; - n_unk22->m_address = base + offset; - n_unk22->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk22); - - field_name = "bow_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::projectile, field_name)); - auto n_bow_id = new NodeSimple; - n_bow_id->m_field_name = field_name; - n_bow_id->m_df_type = DF_Type::int32_t; - n_bow_id->m_rdf_type = RDF_Type::int32_t; - n_bow_id->m_node_type = NodeType::Simple; - n_bow_id->m_address = base + offset; - n_bow_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_bow_id); - - field_name = "unk_item_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::projectile, field_name)); - auto n_unk_item_id = new NodeSimple; - n_unk_item_id->m_field_name = field_name; - n_unk_item_id->m_df_type = DF_Type::int32_t; - n_unk_item_id->m_rdf_type = RDF_Type::int32_t; - n_unk_item_id->m_node_type = NodeType::Simple; - n_unk_item_id->m_address = base + offset; - n_unk_item_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_item_id); - - field_name = "unk_unit_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::projectile, field_name)); - auto n_unk_unit_id = new NodeSimple; - n_unk_unit_id->m_field_name = field_name; - n_unk_unit_id->m_df_type = DF_Type::int32_t; - n_unk_unit_id->m_rdf_type = RDF_Type::int32_t; - n_unk_unit_id->m_node_type = NodeType::Simple; - n_unk_unit_id->m_address = base + offset; - n_unk_unit_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_unit_id); - - field_name = "unk_v40_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::projectile, field_name)); - auto n_unk_v40_1 = new NodeSimple; - n_unk_v40_1->m_field_name = field_name; - n_unk_v40_1->m_df_type = DF_Type::int32_t; - n_unk_v40_1->m_rdf_type = RDF_Type::int32_t; - n_unk_v40_1->m_node_type = NodeType::Simple; - n_unk_v40_1->m_address = base + offset; - n_unk_v40_1->m_comment = "uninitialized+saved"; - n_unk_v40_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_1); - - field_name = "pos_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::projectile, field_name)); - auto n_pos_x = new NodeSimple; - n_pos_x->m_field_name = field_name; - n_pos_x->m_df_type = DF_Type::int32_t; - n_pos_x->m_rdf_type = RDF_Type::int32_t; - n_pos_x->m_node_type = NodeType::Simple; - n_pos_x->m_address = base + offset; - n_pos_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pos_x); - - field_name = "pos_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::projectile, field_name)); - auto n_pos_y = new NodeSimple; - n_pos_y->m_field_name = field_name; - n_pos_y->m_df_type = DF_Type::int32_t; - n_pos_y->m_rdf_type = RDF_Type::int32_t; - n_pos_y->m_node_type = NodeType::Simple; - n_pos_y->m_address = base + offset; - n_pos_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pos_y); - - field_name = "pos_z"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::projectile, field_name)); - auto n_pos_z = new NodeSimple; - n_pos_z->m_field_name = field_name; - n_pos_z->m_df_type = DF_Type::int32_t; - n_pos_z->m_rdf_type = RDF_Type::int32_t; - n_pos_z->m_node_type = NodeType::Simple; - n_pos_z->m_address = base + offset; - n_pos_z->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pos_z); - - field_name = "speed_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::projectile, field_name)); - auto n_speed_x = new NodeSimple; - n_speed_x->m_field_name = field_name; - n_speed_x->m_df_type = DF_Type::int32_t; - n_speed_x->m_rdf_type = RDF_Type::int32_t; - n_speed_x->m_node_type = NodeType::Simple; - n_speed_x->m_address = base + offset; - n_speed_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_speed_x); - - field_name = "speed_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::projectile, field_name)); - auto n_speed_y = new NodeSimple; - n_speed_y->m_field_name = field_name; - n_speed_y->m_df_type = DF_Type::int32_t; - n_speed_y->m_rdf_type = RDF_Type::int32_t; - n_speed_y->m_node_type = NodeType::Simple; - n_speed_y->m_address = base + offset; - n_speed_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_speed_y); - - field_name = "speed_z"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::projectile, field_name)); - auto n_speed_z = new NodeSimple; - n_speed_z->m_field_name = field_name; - n_speed_z->m_df_type = DF_Type::int32_t; - n_speed_z->m_rdf_type = RDF_Type::int32_t; - n_speed_z->m_node_type = NodeType::Simple; - n_speed_z->m_address = base + offset; - n_speed_z->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_speed_z); - - field_name = "accel_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::projectile, field_name)); - auto n_accel_x = new NodeSimple; - n_accel_x->m_field_name = field_name; - n_accel_x->m_df_type = DF_Type::int32_t; - n_accel_x->m_rdf_type = RDF_Type::int32_t; - n_accel_x->m_node_type = NodeType::Simple; - n_accel_x->m_address = base + offset; - n_accel_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_accel_x); - - field_name = "accel_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::projectile, field_name)); - auto n_accel_y = new NodeSimple; - n_accel_y->m_field_name = field_name; - n_accel_y->m_df_type = DF_Type::int32_t; - n_accel_y->m_rdf_type = RDF_Type::int32_t; - n_accel_y->m_node_type = NodeType::Simple; - n_accel_y->m_address = base + offset; - n_accel_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_accel_y); - - field_name = "accel_z"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::projectile, field_name)); - auto n_accel_z = new NodeSimple; - n_accel_z->m_field_name = field_name; - n_accel_z->m_df_type = DF_Type::int32_t; - n_accel_z->m_rdf_type = RDF_Type::int32_t; - n_accel_z->m_node_type = NodeType::Simple; - n_accel_z->m_address = base + offset; - n_accel_z->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_accel_z); - -} -void node_from_proj_itemst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::projectile; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_projectile(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "item"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::proj_itemst, field_name)); - auto n_item = new NodePointer; - n_item->m_field_name = field_name; - n_item->m_df_type = get_real_subtype(base+offset, DF_Type::item); - n_item->m_rdf_type = RDF_Type::Pointer; - n_item->m_node_type = NodeType::Pointer; - n_item->m_addornements = "*"; - n_item->m_address = base + offset; - n_item->m_parent = p_node_parent; - n_item->m_defined_in = "df.items.xml"; - n_item->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_item); - -} -void node_from_proj_unitst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::projectile; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_projectile(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unit"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::proj_unitst, field_name)); - auto n_unit = new NodePointer; - n_unit->m_field_name = field_name; - n_unit->m_df_type = get_real_subtype(base+offset, DF_Type::unit); - n_unit->m_rdf_type = RDF_Type::Pointer; - n_unit->m_node_type = NodeType::Pointer; - n_unit->m_addornements = "*"; - n_unit->m_address = base + offset; - n_unit->m_comment = "?"; - n_unit->m_parent = p_node_parent; - n_unit->m_defined_in = "df.units.xml"; - n_unit->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unit); - -} -void node_from_proj_magicst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::projectile; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_projectile(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::proj_magicst, field_name)); - auto n_unk = new NodePointer; - n_unk->m_field_name = field_name; - n_unk->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_unk->m_rdf_type = RDF_Type::Pointer; - n_unk->m_node_type = NodeType::Pointer; - n_unk->m_addornements = "*"; - n_unk->m_address = base + offset; - n_unk->m_comment = "?"; - n_unk->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk); - -} -void node_from_creature_handler(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "alphabetic"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_handler, field_name)); - auto n_alphabetic = new NodeVector; - n_alphabetic->m_field_name = field_name; - n_alphabetic->m_df_type = DF_Type::creature_raw; - n_alphabetic->m_rdf_type = RDF_Type::Vector; - n_alphabetic->m_node_type = NodeType::Vector; - n_alphabetic->m_defined_in = "df.creature-raws.xml"; - n_alphabetic->m_addornements = "v*"; - n_alphabetic->m_address = base + offset; - n_alphabetic->m_parent = p_node_parent; - n_alphabetic->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_alphabetic); - - field_name = "all"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_handler, field_name)); - auto n_all = new NodeVector; - n_all->m_field_name = field_name; - n_all->m_df_type = DF_Type::creature_raw; - n_all->m_rdf_type = RDF_Type::Vector; - n_all->m_node_type = NodeType::Vector; - n_all->m_defined_in = "df.creature-raws.xml"; - n_all->m_addornements = "v*"; - n_all->m_address = base + offset; - n_all->m_parent = p_node_parent; - n_all->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_all); - - field_name = "num_caste"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_handler, field_name)); - auto n_num_caste = new NodeSimple; - n_num_caste->m_field_name = field_name; - n_num_caste->m_df_type = DF_Type::int32_t; - n_num_caste->m_rdf_type = RDF_Type::int32_t; - n_num_caste->m_node_type = NodeType::Simple; - n_num_caste->m_address = base + offset; - n_num_caste->m_comment = "seems equal to length of vectors below"; - n_num_caste->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_num_caste); - - field_name = "list_creature"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_handler, field_name)); - auto n_list_creature = new NodeVector; - n_list_creature->m_field_name = field_name; - n_list_creature->m_df_type = DF_Type::int32_t; - n_list_creature->m_rdf_type = RDF_Type::Vector; - n_list_creature->m_node_type = NodeType::Vector; - n_list_creature->m_addornements = "v"; - n_list_creature->m_address = base + offset; - n_list_creature->m_comment = "Together with list_caste, a list of all caste indexes in order."; - n_list_creature->m_parent = p_node_parent; - n_list_creature->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_list_creature); - - field_name = "list_caste"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_handler, field_name)); - auto n_list_caste = new NodeVector; - n_list_caste->m_field_name = field_name; - n_list_caste->m_df_type = DF_Type::int32_t; - n_list_caste->m_rdf_type = RDF_Type::Vector; - n_list_caste->m_node_type = NodeType::Vector; - n_list_caste->m_addornements = "v"; - n_list_caste->m_address = base + offset; - n_list_caste->m_parent = p_node_parent; - n_list_caste->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_list_caste); - - field_name = "action_strings"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_handler, field_name)); - auto n_action_strings = new NodeVector; - n_action_strings->m_field_name = field_name; - n_action_strings->m_df_type = DF_Type::Stl_string; - n_action_strings->m_rdf_type = RDF_Type::Vector; - n_action_strings->m_node_type = NodeType::Vector; - n_action_strings->m_addornements = "v*"; - n_action_strings->m_address = base + offset; - n_action_strings->m_parent = p_node_parent; - n_action_strings->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_action_strings); - -} -void node_from_world_raws__T_plants(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "all"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_plants, field_name)); - auto n_all = new NodeVector; - n_all->m_field_name = field_name; - n_all->m_df_type = DF_Type::plant_raw; - n_all->m_rdf_type = RDF_Type::Vector; - n_all->m_node_type = NodeType::Vector; - n_all->m_defined_in = "df.plant-raws.xml"; - n_all->m_addornements = "v*"; - n_all->m_address = base + offset; - n_all->m_parent = p_node_parent; - n_all->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_all); - - field_name = "bushes"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_plants, field_name)); - auto n_bushes = new NodeVector; - n_bushes->m_field_name = field_name; - n_bushes->m_df_type = DF_Type::plant_raw; - n_bushes->m_rdf_type = RDF_Type::Vector; - n_bushes->m_node_type = NodeType::Vector; - n_bushes->m_defined_in = "df.plant-raws.xml"; - n_bushes->m_addornements = "v*"; - n_bushes->m_address = base + offset; - n_bushes->m_parent = p_node_parent; - n_bushes->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bushes); - - field_name = "bushes_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_plants, field_name)); - auto n_bushes_idx = new NodeVector; - n_bushes_idx->m_field_name = field_name; - n_bushes_idx->m_df_type = DF_Type::int32_t; - n_bushes_idx->m_rdf_type = RDF_Type::Vector; - n_bushes_idx->m_node_type = NodeType::Vector; - n_bushes_idx->m_addornements = "v"; - n_bushes_idx->m_address = base + offset; - n_bushes_idx->m_refers_to = "$$._parent.bushes[$]"; - n_bushes_idx->m_parent = p_node_parent; - n_bushes_idx->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bushes_idx); - - field_name = "trees"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_plants, field_name)); - auto n_trees = new NodeVector; - n_trees->m_field_name = field_name; - n_trees->m_df_type = DF_Type::plant_raw; - n_trees->m_rdf_type = RDF_Type::Vector; - n_trees->m_node_type = NodeType::Vector; - n_trees->m_defined_in = "df.plant-raws.xml"; - n_trees->m_addornements = "v*"; - n_trees->m_address = base + offset; - n_trees->m_parent = p_node_parent; - n_trees->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_trees); - - field_name = "trees_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_plants, field_name)); - auto n_trees_idx = new NodeVector; - n_trees_idx->m_field_name = field_name; - n_trees_idx->m_df_type = DF_Type::int32_t; - n_trees_idx->m_rdf_type = RDF_Type::Vector; - n_trees_idx->m_node_type = NodeType::Vector; - n_trees_idx->m_addornements = "v"; - n_trees_idx->m_address = base + offset; - n_trees_idx->m_refers_to = "$$._parent.trees[$]"; - n_trees_idx->m_parent = p_node_parent; - n_trees_idx->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_trees_idx); - - field_name = "grasses"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_plants, field_name)); - auto n_grasses = new NodeVector; - n_grasses->m_field_name = field_name; - n_grasses->m_df_type = DF_Type::plant_raw; - n_grasses->m_rdf_type = RDF_Type::Vector; - n_grasses->m_node_type = NodeType::Vector; - n_grasses->m_defined_in = "df.plant-raws.xml"; - n_grasses->m_addornements = "v*"; - n_grasses->m_address = base + offset; - n_grasses->m_parent = p_node_parent; - n_grasses->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_grasses); - - field_name = "grasses_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_plants, field_name)); - auto n_grasses_idx = new NodeVector; - n_grasses_idx->m_field_name = field_name; - n_grasses_idx->m_df_type = DF_Type::int32_t; - n_grasses_idx->m_rdf_type = RDF_Type::Vector; - n_grasses_idx->m_node_type = NodeType::Vector; - n_grasses_idx->m_addornements = "v"; - n_grasses_idx->m_address = base + offset; - n_grasses_idx->m_refers_to = "$$._parent.grasses[$]"; - n_grasses_idx->m_parent = p_node_parent; - n_grasses_idx->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_grasses_idx); - -} -void node_from_world_raws__T_bodyglosses(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_bodyglosses, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::Stl_string; - n_id->m_rdf_type = RDF_Type::Stl_string; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "old_singular"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_bodyglosses, field_name)); - auto n_old_singular = new NodeSimple; - n_old_singular->m_field_name = field_name; - n_old_singular->m_df_type = DF_Type::Stl_string; - n_old_singular->m_rdf_type = RDF_Type::Stl_string; - n_old_singular->m_node_type = NodeType::Simple; - n_old_singular->m_address = base + offset; - n_old_singular->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_old_singular); - - field_name = "new_singular"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_bodyglosses, field_name)); - auto n_new_singular = new NodeSimple; - n_new_singular->m_field_name = field_name; - n_new_singular->m_df_type = DF_Type::Stl_string; - n_new_singular->m_rdf_type = RDF_Type::Stl_string; - n_new_singular->m_node_type = NodeType::Simple; - n_new_singular->m_address = base + offset; - n_new_singular->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_new_singular); - - field_name = "old_plural"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_bodyglosses, field_name)); - auto n_old_plural = new NodeSimple; - n_old_plural->m_field_name = field_name; - n_old_plural->m_df_type = DF_Type::Stl_string; - n_old_plural->m_rdf_type = RDF_Type::Stl_string; - n_old_plural->m_node_type = NodeType::Simple; - n_old_plural->m_address = base + offset; - n_old_plural->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_old_plural); - - field_name = "new_plural"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_bodyglosses, field_name)); - auto n_new_plural = new NodeSimple; - n_new_plural->m_field_name = field_name; - n_new_plural->m_df_type = DF_Type::Stl_string; - n_new_plural->m_rdf_type = RDF_Type::Stl_string; - n_new_plural->m_node_type = NodeType::Simple; - n_new_plural->m_address = base + offset; - n_new_plural->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_new_plural); - -} -void node_from_world_raws__T_itemdefs(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "all"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_itemdefs, field_name)); - auto n_all = new NodeVector; - n_all->m_field_name = field_name; - n_all->m_df_type = DF_Type::itemdef; - n_all->m_rdf_type = RDF_Type::Vector; - n_all->m_node_type = NodeType::Vector; - n_all->m_defined_in = "df.item-raws.xml"; - n_all->m_addornements = "v*"; - n_all->m_address = base + offset; - n_all->m_parent = p_node_parent; - n_all->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_all); - - field_name = "weapons"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_itemdefs, field_name)); - auto n_weapons = new NodeVector; - n_weapons->m_field_name = field_name; - n_weapons->m_df_type = DF_Type::itemdef_weaponst; - n_weapons->m_rdf_type = RDF_Type::Vector; - n_weapons->m_node_type = NodeType::Vector; - n_weapons->m_defined_in = "df.item-raws.xml"; - n_weapons->m_addornements = "v*"; - n_weapons->m_address = base + offset; - n_weapons->m_parent = p_node_parent; - n_weapons->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_weapons); - - field_name = "trapcomps"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_itemdefs, field_name)); - auto n_trapcomps = new NodeVector; - n_trapcomps->m_field_name = field_name; - n_trapcomps->m_df_type = DF_Type::itemdef_trapcompst; - n_trapcomps->m_rdf_type = RDF_Type::Vector; - n_trapcomps->m_node_type = NodeType::Vector; - n_trapcomps->m_defined_in = "df.item-raws.xml"; - n_trapcomps->m_addornements = "v*"; - n_trapcomps->m_address = base + offset; - n_trapcomps->m_parent = p_node_parent; - n_trapcomps->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_trapcomps); - - field_name = "toys"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_itemdefs, field_name)); - auto n_toys = new NodeVector; - n_toys->m_field_name = field_name; - n_toys->m_df_type = DF_Type::itemdef_toyst; - n_toys->m_rdf_type = RDF_Type::Vector; - n_toys->m_node_type = NodeType::Vector; - n_toys->m_defined_in = "df.item-raws.xml"; - n_toys->m_addornements = "v*"; - n_toys->m_address = base + offset; - n_toys->m_parent = p_node_parent; - n_toys->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_toys); - - field_name = "tools"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_itemdefs, field_name)); - auto n_tools = new NodeVector; - n_tools->m_field_name = field_name; - n_tools->m_df_type = DF_Type::itemdef_toolst; - n_tools->m_rdf_type = RDF_Type::Vector; - n_tools->m_node_type = NodeType::Vector; - n_tools->m_defined_in = "df.item-raws.xml"; - n_tools->m_addornements = "v*"; - n_tools->m_address = base + offset; - n_tools->m_parent = p_node_parent; - n_tools->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_tools); - - field_name = "tools_by_type"; - auto n_tools_by_type = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_itemdefs, field_name)); - n_tools_by_type->m_field_name = field_name; - n_tools_by_type->m_df_type = DF_Type::itemdef_toolst; - n_tools_by_type->m_rdf_type = RDF_Type::Array; - n_tools_by_type->m_node_type = NodeType::Array; - n_tools_by_type->m_index_enum = DF_Type::tool_uses; - n_tools_by_type->m_defined_in = "df.item-raws.xml"; - n_tools_by_type->m_addornements = "[23v*"; - n_tools_by_type->m_array_size = 23; - n_tools_by_type->m_address = base + offset; - n_tools_by_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tools_by_type); - - field_name = "instruments"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_itemdefs, field_name)); - auto n_instruments = new NodeVector; - n_instruments->m_field_name = field_name; - n_instruments->m_df_type = DF_Type::itemdef_instrumentst; - n_instruments->m_rdf_type = RDF_Type::Vector; - n_instruments->m_node_type = NodeType::Vector; - n_instruments->m_defined_in = "df.item-raws.xml"; - n_instruments->m_addornements = "v*"; - n_instruments->m_address = base + offset; - n_instruments->m_parent = p_node_parent; - n_instruments->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_instruments); - - field_name = "armor"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_itemdefs, field_name)); - auto n_armor = new NodeVector; - n_armor->m_field_name = field_name; - n_armor->m_df_type = DF_Type::itemdef_armorst; - n_armor->m_rdf_type = RDF_Type::Vector; - n_armor->m_node_type = NodeType::Vector; - n_armor->m_defined_in = "df.item-raws.xml"; - n_armor->m_addornements = "v*"; - n_armor->m_address = base + offset; - n_armor->m_parent = p_node_parent; - n_armor->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_armor); - - field_name = "ammo"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_itemdefs, field_name)); - auto n_ammo = new NodeVector; - n_ammo->m_field_name = field_name; - n_ammo->m_df_type = DF_Type::itemdef_ammost; - n_ammo->m_rdf_type = RDF_Type::Vector; - n_ammo->m_node_type = NodeType::Vector; - n_ammo->m_defined_in = "df.item-raws.xml"; - n_ammo->m_addornements = "v*"; - n_ammo->m_address = base + offset; - n_ammo->m_parent = p_node_parent; - n_ammo->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_ammo); - - field_name = "siege_ammo"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_itemdefs, field_name)); - auto n_siege_ammo = new NodeVector; - n_siege_ammo->m_field_name = field_name; - n_siege_ammo->m_df_type = DF_Type::itemdef_siegeammost; - n_siege_ammo->m_rdf_type = RDF_Type::Vector; - n_siege_ammo->m_node_type = NodeType::Vector; - n_siege_ammo->m_defined_in = "df.item-raws.xml"; - n_siege_ammo->m_addornements = "v*"; - n_siege_ammo->m_address = base + offset; - n_siege_ammo->m_parent = p_node_parent; - n_siege_ammo->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_siege_ammo); - - field_name = "gloves"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_itemdefs, field_name)); - auto n_gloves = new NodeVector; - n_gloves->m_field_name = field_name; - n_gloves->m_df_type = DF_Type::itemdef_glovesst; - n_gloves->m_rdf_type = RDF_Type::Vector; - n_gloves->m_node_type = NodeType::Vector; - n_gloves->m_defined_in = "df.item-raws.xml"; - n_gloves->m_addornements = "v*"; - n_gloves->m_address = base + offset; - n_gloves->m_parent = p_node_parent; - n_gloves->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_gloves); - - field_name = "shoes"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_itemdefs, field_name)); - auto n_shoes = new NodeVector; - n_shoes->m_field_name = field_name; - n_shoes->m_df_type = DF_Type::itemdef_shoesst; - n_shoes->m_rdf_type = RDF_Type::Vector; - n_shoes->m_node_type = NodeType::Vector; - n_shoes->m_defined_in = "df.item-raws.xml"; - n_shoes->m_addornements = "v*"; - n_shoes->m_address = base + offset; - n_shoes->m_parent = p_node_parent; - n_shoes->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_shoes); - - field_name = "shields"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_itemdefs, field_name)); - auto n_shields = new NodeVector; - n_shields->m_field_name = field_name; - n_shields->m_df_type = DF_Type::itemdef_shieldst; - n_shields->m_rdf_type = RDF_Type::Vector; - n_shields->m_node_type = NodeType::Vector; - n_shields->m_defined_in = "df.item-raws.xml"; - n_shields->m_addornements = "v*"; - n_shields->m_address = base + offset; - n_shields->m_parent = p_node_parent; - n_shields->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_shields); - - field_name = "helms"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_itemdefs, field_name)); - auto n_helms = new NodeVector; - n_helms->m_field_name = field_name; - n_helms->m_df_type = DF_Type::itemdef_helmst; - n_helms->m_rdf_type = RDF_Type::Vector; - n_helms->m_node_type = NodeType::Vector; - n_helms->m_defined_in = "df.item-raws.xml"; - n_helms->m_addornements = "v*"; - n_helms->m_address = base + offset; - n_helms->m_parent = p_node_parent; - n_helms->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_helms); - - field_name = "pants"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_itemdefs, field_name)); - auto n_pants = new NodeVector; - n_pants->m_field_name = field_name; - n_pants->m_df_type = DF_Type::itemdef_pantsst; - n_pants->m_rdf_type = RDF_Type::Vector; - n_pants->m_node_type = NodeType::Vector; - n_pants->m_defined_in = "df.item-raws.xml"; - n_pants->m_addornements = "v*"; - n_pants->m_address = base + offset; - n_pants->m_parent = p_node_parent; - n_pants->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_pants); - - field_name = "food"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_itemdefs, field_name)); - auto n_food = new NodeVector; - n_food->m_field_name = field_name; - n_food->m_df_type = DF_Type::itemdef_foodst; - n_food->m_rdf_type = RDF_Type::Vector; - n_food->m_node_type = NodeType::Vector; - n_food->m_defined_in = "df.item-raws.xml"; - n_food->m_addornements = "v*"; - n_food->m_address = base + offset; - n_food->m_parent = p_node_parent; - n_food->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_food); - -} -void node_from_world_raws__T_language(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "words"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_language, field_name)); - auto n_words = new NodeVector; - n_words->m_field_name = field_name; - n_words->m_df_type = DF_Type::language_word; - n_words->m_rdf_type = RDF_Type::Vector; - n_words->m_node_type = NodeType::Vector; - n_words->m_defined_in = "df.language.xml"; - n_words->m_addornements = "v*"; - n_words->m_address = base + offset; - n_words->m_parent = p_node_parent; - n_words->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_words); - - field_name = "symbols"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_language, field_name)); - auto n_symbols = new NodeVector; - n_symbols->m_field_name = field_name; - n_symbols->m_df_type = DF_Type::language_symbol; - n_symbols->m_rdf_type = RDF_Type::Vector; - n_symbols->m_node_type = NodeType::Vector; - n_symbols->m_defined_in = "df.language.xml"; - n_symbols->m_addornements = "v*"; - n_symbols->m_address = base + offset; - n_symbols->m_parent = p_node_parent; - n_symbols->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_symbols); - - field_name = "translations"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_language, field_name)); - auto n_translations = new NodeVector; - n_translations->m_field_name = field_name; - n_translations->m_df_type = DF_Type::language_translation; - n_translations->m_rdf_type = RDF_Type::Vector; - n_translations->m_node_type = NodeType::Vector; - n_translations->m_defined_in = "df.language.xml"; - n_translations->m_addornements = "v*"; - n_translations->m_address = base + offset; - n_translations->m_parent = p_node_parent; - n_translations->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_translations); - - field_name = "word_table"; - auto n_word_table = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_language, field_name)); - n_word_table->m_field_name = field_name; - n_word_table->m_df_type = DF_Type::language_word_table; - n_word_table->m_rdf_type = RDF_Type::Array; - n_word_table->m_node_type = NodeType::Array; - n_word_table->m_defined_in = "df.language.xml"; - n_word_table->m_addornements = "[2[62"; - n_word_table->m_array_size = 2; - n_word_table->m_address = base + offset; - n_word_table->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_word_table); - -} -void node_from_world_raws__T_descriptors(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "colors"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_descriptors, field_name)); - auto n_colors = new NodeVector; - n_colors->m_field_name = field_name; - n_colors->m_df_type = DF_Type::descriptor_color; - n_colors->m_rdf_type = RDF_Type::Vector; - n_colors->m_node_type = NodeType::Vector; - n_colors->m_defined_in = "df.descriptors.xml"; - n_colors->m_addornements = "v*"; - n_colors->m_address = base + offset; - n_colors->m_parent = p_node_parent; - n_colors->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_colors); - - field_name = "shapes"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_descriptors, field_name)); - auto n_shapes = new NodeVector; - n_shapes->m_field_name = field_name; - n_shapes->m_df_type = DF_Type::descriptor_shape; - n_shapes->m_rdf_type = RDF_Type::Vector; - n_shapes->m_node_type = NodeType::Vector; - n_shapes->m_defined_in = "df.descriptors.xml"; - n_shapes->m_addornements = "v*"; - n_shapes->m_address = base + offset; - n_shapes->m_parent = p_node_parent; - n_shapes->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_shapes); - - field_name = "patterns"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_descriptors, field_name)); - auto n_patterns = new NodeVector; - n_patterns->m_field_name = field_name; - n_patterns->m_df_type = DF_Type::descriptor_pattern; - n_patterns->m_rdf_type = RDF_Type::Vector; - n_patterns->m_node_type = NodeType::Vector; - n_patterns->m_defined_in = "df.descriptors.xml"; - n_patterns->m_addornements = "v*"; - n_patterns->m_address = base + offset; - n_patterns->m_parent = p_node_parent; - n_patterns->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_patterns); - -} -void node_from_world_raws__T_reactions(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "reactions"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_reactions, field_name)); - auto n_reactions = new NodeVector; - n_reactions->m_field_name = field_name; - n_reactions->m_df_type = DF_Type::reaction; - n_reactions->m_rdf_type = RDF_Type::Vector; - n_reactions->m_node_type = NodeType::Vector; - n_reactions->m_defined_in = "df.reaction-raws.xml"; - n_reactions->m_addornements = "v*"; - n_reactions->m_address = base + offset; - n_reactions->m_parent = p_node_parent; - n_reactions->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_reactions); - - field_name = "reaction_categories"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_reactions, field_name)); - auto n_reaction_categories = new NodeVector; - n_reaction_categories->m_field_name = field_name; - n_reaction_categories->m_df_type = DF_Type::reaction_category; - n_reaction_categories->m_rdf_type = RDF_Type::Vector; - n_reaction_categories->m_node_type = NodeType::Vector; - n_reaction_categories->m_defined_in = "df.reaction-raws.xml"; - n_reaction_categories->m_addornements = "v*"; - n_reaction_categories->m_address = base + offset; - n_reaction_categories->m_parent = p_node_parent; - n_reaction_categories->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_reaction_categories); - -} -void node_from_world_raws__T_buildings(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "all"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_buildings, field_name)); - auto n_all = new NodeVector; - n_all->m_field_name = field_name; - n_all->m_df_type = DF_Type::building_def; - n_all->m_rdf_type = RDF_Type::Vector; - n_all->m_node_type = NodeType::Vector; - n_all->m_defined_in = "df.building-raws.xml"; - n_all->m_addornements = "v*"; - n_all->m_address = base + offset; - n_all->m_parent = p_node_parent; - n_all->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_all); - - field_name = "workshops"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_buildings, field_name)); - auto n_workshops = new NodeVector; - n_workshops->m_field_name = field_name; - n_workshops->m_df_type = DF_Type::building_def_workshopst; - n_workshops->m_rdf_type = RDF_Type::Vector; - n_workshops->m_node_type = NodeType::Vector; - n_workshops->m_defined_in = "df.building-raws.xml"; - n_workshops->m_addornements = "v*"; - n_workshops->m_address = base + offset; - n_workshops->m_parent = p_node_parent; - n_workshops->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_workshops); - - field_name = "furnaces"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_buildings, field_name)); - auto n_furnaces = new NodeVector; - n_furnaces->m_field_name = field_name; - n_furnaces->m_df_type = DF_Type::building_def_furnacest; - n_furnaces->m_rdf_type = RDF_Type::Vector; - n_furnaces->m_node_type = NodeType::Vector; - n_furnaces->m_defined_in = "df.building-raws.xml"; - n_furnaces->m_addornements = "v*"; - n_furnaces->m_address = base + offset; - n_furnaces->m_parent = p_node_parent; - n_furnaces->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_furnaces); - - field_name = "next_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_buildings, field_name)); - auto n_next_id = new NodeSimple; - n_next_id->m_field_name = field_name; - n_next_id->m_df_type = DF_Type::int32_t; - n_next_id->m_rdf_type = RDF_Type::int32_t; - n_next_id->m_node_type = NodeType::Simple; - n_next_id->m_address = base + offset; - n_next_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_next_id); - -} -void node_from_world_raws__T_syndromes(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_types"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_syndromes, field_name)); - auto n_mat_types = new NodeVector; - n_mat_types->m_field_name = field_name; - n_mat_types->m_df_type = DF_Type::int16_t; - n_mat_types->m_rdf_type = RDF_Type::Vector; - n_mat_types->m_node_type = NodeType::Vector; - n_mat_types->m_addornements = "v"; - n_mat_types->m_address = base + offset; - n_mat_types->m_refers_to = "$$._parent.all[$]"; - n_mat_types->m_parent = p_node_parent; - n_mat_types->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_mat_types); - - field_name = "mat_indexes"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_syndromes, field_name)); - auto n_mat_indexes = new NodeVector; - n_mat_indexes->m_field_name = field_name; - n_mat_indexes->m_df_type = DF_Type::int32_t; - n_mat_indexes->m_rdf_type = RDF_Type::Vector; - n_mat_indexes->m_node_type = NodeType::Vector; - n_mat_indexes->m_addornements = "v"; - n_mat_indexes->m_address = base + offset; - n_mat_indexes->m_parent = p_node_parent; - n_mat_indexes->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_mat_indexes); - - field_name = "interactions"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_syndromes, field_name)); - auto n_interactions = new NodeVector; - n_interactions->m_field_name = field_name; - n_interactions->m_df_type = DF_Type::int32_t; - n_interactions->m_rdf_type = RDF_Type::Vector; - n_interactions->m_node_type = NodeType::Vector; - n_interactions->m_addornements = "v"; - n_interactions->m_address = base + offset; - n_interactions->m_parent = p_node_parent; - n_interactions->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_interactions); - - field_name = "all"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_syndromes, field_name)); - auto n_all = new NodeVector; - n_all->m_field_name = field_name; - n_all->m_df_type = DF_Type::syndrome; - n_all->m_rdf_type = RDF_Type::Vector; - n_all->m_node_type = NodeType::Vector; - n_all->m_defined_in = "df.syndrome.xml"; - n_all->m_addornements = "v*"; - n_all->m_address = base + offset; - n_all->m_parent = p_node_parent; - n_all->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_all); - -} -void node_from_world_raws__T_effects(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_types"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_effects, field_name)); - auto n_mat_types = new NodeVector; - n_mat_types->m_field_name = field_name; - n_mat_types->m_df_type = DF_Type::int16_t; - n_mat_types->m_rdf_type = RDF_Type::Vector; - n_mat_types->m_node_type = NodeType::Vector; - n_mat_types->m_addornements = "v"; - n_mat_types->m_address = base + offset; - n_mat_types->m_refers_to = "$$._parent.all[$]"; - n_mat_types->m_parent = p_node_parent; - n_mat_types->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_mat_types); - - field_name = "mat_indexes"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_effects, field_name)); - auto n_mat_indexes = new NodeVector; - n_mat_indexes->m_field_name = field_name; - n_mat_indexes->m_df_type = DF_Type::int32_t; - n_mat_indexes->m_rdf_type = RDF_Type::Vector; - n_mat_indexes->m_node_type = NodeType::Vector; - n_mat_indexes->m_addornements = "v"; - n_mat_indexes->m_address = base + offset; - n_mat_indexes->m_parent = p_node_parent; - n_mat_indexes->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_mat_indexes); - - field_name = "interactions"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_effects, field_name)); - auto n_interactions = new NodeVector; - n_interactions->m_field_name = field_name; - n_interactions->m_df_type = DF_Type::int32_t; - n_interactions->m_rdf_type = RDF_Type::Vector; - n_interactions->m_node_type = NodeType::Vector; - n_interactions->m_addornements = "v"; - n_interactions->m_address = base + offset; - n_interactions->m_parent = p_node_parent; - n_interactions->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_interactions); - - field_name = "all"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_effects, field_name)); - auto n_all = new NodeVector; - n_all->m_field_name = field_name; - n_all->m_df_type = DF_Type::creature_interaction_effect; - n_all->m_rdf_type = RDF_Type::Vector; - n_all->m_node_type = NodeType::Vector; - n_all->m_defined_in = "df.syndrome.xml"; - n_all->m_addornements = "v*"; - n_all->m_address = base + offset; - n_all->m_parent = p_node_parent; - n_all->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_all); - -} -void node_from_world_raws(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "material_templates"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws, field_name)); - auto n_material_templates = new NodeVector; - n_material_templates->m_field_name = field_name; - n_material_templates->m_df_type = DF_Type::material_template; - n_material_templates->m_rdf_type = RDF_Type::Vector; - n_material_templates->m_node_type = NodeType::Vector; - n_material_templates->m_defined_in = "df.materials.xml"; - n_material_templates->m_addornements = "v*"; - n_material_templates->m_address = base + offset; - n_material_templates->m_parent = p_node_parent; - n_material_templates->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_material_templates); - - field_name = "inorganics"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws, field_name)); - auto n_inorganics = new NodeVector; - n_inorganics->m_field_name = field_name; - n_inorganics->m_df_type = DF_Type::inorganic_raw; - n_inorganics->m_rdf_type = RDF_Type::Vector; - n_inorganics->m_node_type = NodeType::Vector; - n_inorganics->m_defined_in = "df.materials.xml"; - n_inorganics->m_addornements = "v*"; - n_inorganics->m_address = base + offset; - n_inorganics->m_parent = p_node_parent; - n_inorganics->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_inorganics); - - field_name = "inorganics_subset"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws, field_name)); - auto n_inorganics_subset = new NodeVector; - n_inorganics_subset->m_field_name = field_name; - n_inorganics_subset->m_df_type = DF_Type::inorganic_raw; - n_inorganics_subset->m_rdf_type = RDF_Type::Vector; - n_inorganics_subset->m_node_type = NodeType::Vector; - n_inorganics_subset->m_defined_in = "df.materials.xml"; - n_inorganics_subset->m_addornements = "v*"; - n_inorganics_subset->m_address = base + offset; - n_inorganics_subset->m_comment = "all inorganics with value less than 4"; - n_inorganics_subset->m_parent = p_node_parent; - n_inorganics_subset->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_inorganics_subset); - - field_name = "plants"; - auto n_plants = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws, field_name)); - n_plants->m_field_name = field_name; - n_plants->m_df_type = DF_Type::world_raws__T_plants; - n_plants->m_rdf_type = RDF_Type::Compound; - n_plants->m_node_type = NodeType::Compound; - n_plants->m_address = base + offset; - n_plants->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_plants); - - field_name = "tissue_templates"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws, field_name)); - auto n_tissue_templates = new NodeVector; - n_tissue_templates->m_field_name = field_name; - n_tissue_templates->m_df_type = DF_Type::tissue_template; - n_tissue_templates->m_rdf_type = RDF_Type::Vector; - n_tissue_templates->m_node_type = NodeType::Vector; - n_tissue_templates->m_defined_in = "df.creature-raws.xml"; - n_tissue_templates->m_addornements = "v*"; - n_tissue_templates->m_address = base + offset; - n_tissue_templates->m_parent = p_node_parent; - n_tissue_templates->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_tissue_templates); - - field_name = "body_detail_plans"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws, field_name)); - auto n_body_detail_plans = new NodeVector; - n_body_detail_plans->m_field_name = field_name; - n_body_detail_plans->m_df_type = DF_Type::body_detail_plan; - n_body_detail_plans->m_rdf_type = RDF_Type::Vector; - n_body_detail_plans->m_node_type = NodeType::Vector; - n_body_detail_plans->m_defined_in = "df.creature-raws.xml"; - n_body_detail_plans->m_addornements = "v*"; - n_body_detail_plans->m_address = base + offset; - n_body_detail_plans->m_parent = p_node_parent; - n_body_detail_plans->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_body_detail_plans); - - field_name = "body_templates"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws, field_name)); - auto n_body_templates = new NodeVector; - n_body_templates->m_field_name = field_name; - n_body_templates->m_df_type = DF_Type::body_template; - n_body_templates->m_rdf_type = RDF_Type::Vector; - n_body_templates->m_node_type = NodeType::Vector; - n_body_templates->m_defined_in = "df.creature-raws.xml"; - n_body_templates->m_addornements = "v*"; - n_body_templates->m_address = base + offset; - n_body_templates->m_parent = p_node_parent; - n_body_templates->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_body_templates); - - field_name = "bodyglosses"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws, field_name)); - auto n_bodyglosses = new NodeVector; - n_bodyglosses->m_field_name = field_name; - n_bodyglosses->m_df_type = DF_Type::world_raws__T_bodyglosses; - n_bodyglosses->m_rdf_type = RDF_Type::Vector; - n_bodyglosses->m_node_type = NodeType::Vector; - n_bodyglosses->m_addornements = "v*"; - n_bodyglosses->m_address = base + offset; - n_bodyglosses->m_parent = p_node_parent; - n_bodyglosses->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bodyglosses); - - field_name = "creature_variations"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws, field_name)); - auto n_creature_variations = new NodeVector; - n_creature_variations->m_field_name = field_name; - n_creature_variations->m_df_type = DF_Type::creature_variation; - n_creature_variations->m_rdf_type = RDF_Type::Vector; - n_creature_variations->m_node_type = NodeType::Vector; - n_creature_variations->m_defined_in = "df.creature-raws.xml"; - n_creature_variations->m_addornements = "v*"; - n_creature_variations->m_address = base + offset; - n_creature_variations->m_parent = p_node_parent; - n_creature_variations->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_creature_variations); - - field_name = "creatures"; - auto n_creatures = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws, field_name)); - n_creatures->m_field_name = field_name; - n_creatures->m_df_type = DF_Type::creature_handler; - n_creatures->m_rdf_type = RDF_Type::Class; - n_creatures->m_node_type = NodeType::Compound; - n_creatures->m_address = base + offset; - n_creatures->m_defined_in = "df.raws.xml"; - n_creatures->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_creatures); - - field_name = "itemdefs"; - auto n_itemdefs = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws, field_name)); - n_itemdefs->m_field_name = field_name; - n_itemdefs->m_df_type = DF_Type::world_raws__T_itemdefs; - n_itemdefs->m_rdf_type = RDF_Type::Compound; - n_itemdefs->m_node_type = NodeType::Compound; - n_itemdefs->m_address = base + offset; - n_itemdefs->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_itemdefs); - - field_name = "entities"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws, field_name)); - auto n_entities = new NodeVector; - n_entities->m_field_name = field_name; - n_entities->m_df_type = DF_Type::entity_raw; - n_entities->m_rdf_type = RDF_Type::Vector; - n_entities->m_node_type = NodeType::Vector; - n_entities->m_defined_in = "df.entity-raws.xml"; - n_entities->m_addornements = "v*"; - n_entities->m_address = base + offset; - n_entities->m_parent = p_node_parent; - n_entities->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_entities); - - field_name = "language"; - auto n_language = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws, field_name)); - n_language->m_field_name = field_name; - n_language->m_df_type = DF_Type::world_raws__T_language; - n_language->m_rdf_type = RDF_Type::Compound; - n_language->m_node_type = NodeType::Compound; - n_language->m_address = base + offset; - n_language->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_language); - - field_name = "descriptors"; - auto n_descriptors = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws, field_name)); - n_descriptors->m_field_name = field_name; - n_descriptors->m_df_type = DF_Type::world_raws__T_descriptors; - n_descriptors->m_rdf_type = RDF_Type::Compound; - n_descriptors->m_node_type = NodeType::Compound; - n_descriptors->m_address = base + offset; - n_descriptors->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_descriptors); - - field_name = "reactions"; - auto n_reactions = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws, field_name)); - n_reactions->m_field_name = field_name; - n_reactions->m_df_type = DF_Type::world_raws__T_reactions; - n_reactions->m_rdf_type = RDF_Type::Compound; - n_reactions->m_node_type = NodeType::Compound; - n_reactions->m_address = base + offset; - n_reactions->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_reactions); - - field_name = "buildings"; - auto n_buildings = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws, field_name)); - n_buildings->m_field_name = field_name; - n_buildings->m_df_type = DF_Type::world_raws__T_buildings; - n_buildings->m_rdf_type = RDF_Type::Compound; - n_buildings->m_node_type = NodeType::Compound; - n_buildings->m_address = base + offset; - n_buildings->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_buildings); - - field_name = "interactions"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws, field_name)); - auto n_interactions = new NodeVector; - n_interactions->m_field_name = field_name; - n_interactions->m_df_type = DF_Type::interaction; - n_interactions->m_rdf_type = RDF_Type::Vector; - n_interactions->m_node_type = NodeType::Vector; - n_interactions->m_defined_in = "df.interaction.xml"; - n_interactions->m_addornements = "v*"; - n_interactions->m_address = base + offset; - n_interactions->m_parent = p_node_parent; - n_interactions->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_interactions); - - field_name = "mat_table"; - auto n_mat_table = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws, field_name)); - n_mat_table->m_field_name = field_name; - n_mat_table->m_df_type = DF_Type::special_mat_table; - n_mat_table->m_rdf_type = RDF_Type::Struct; - n_mat_table->m_node_type = NodeType::Compound; - n_mat_table->m_address = base + offset; - n_mat_table->m_defined_in = "df.materials.xml"; - n_mat_table->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_table); - - field_name = "syndromes"; - auto n_syndromes = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws, field_name)); - n_syndromes->m_field_name = field_name; - n_syndromes->m_df_type = DF_Type::world_raws__T_syndromes; - n_syndromes->m_rdf_type = RDF_Type::Compound; - n_syndromes->m_node_type = NodeType::Compound; - n_syndromes->m_address = base + offset; - n_syndromes->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_syndromes); - - field_name = "effects"; - auto n_effects = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws, field_name)); - n_effects->m_field_name = field_name; - n_effects->m_df_type = DF_Type::world_raws__T_effects; - n_effects->m_rdf_type = RDF_Type::Compound; - n_effects->m_node_type = NodeType::Compound; - n_effects->m_address = base + offset; - n_effects->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_effects); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - -} -void node_from_reaction__T_building(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "str"; - auto n_str = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction__T_building, field_name)); - n_str->m_field_name = field_name; - n_str->m_df_type = DF_Type::Stl_string; - n_str->m_rdf_type = RDF_Type::Array; - n_str->m_node_type = NodeType::Array; - n_str->m_addornements = "[2v*"; - n_str->m_array_size = 2; - n_str->m_address = base + offset; - n_str->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_str); - - field_name = "type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction__T_building, field_name)); - auto n_type = new NodeVector; - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::building_type; - n_type->m_rdf_type = RDF_Type::Vector; - n_type->m_node_type = NodeType::Vector; - n_type->m_enum_base = DF_Type::int32_t; - n_type->m_defined_in = "df.buildings.xml"; - n_type->m_addornements = "v"; - n_type->m_address = base + offset; - n_type->m_parent = p_node_parent; - n_type->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_type); - - field_name = "subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction__T_building, field_name)); - auto n_subtype = new NodeVector; - n_subtype->m_field_name = field_name; - n_subtype->m_df_type = DF_Type::int32_t; - n_subtype->m_rdf_type = RDF_Type::Vector; - n_subtype->m_node_type = NodeType::Vector; - n_subtype->m_addornements = "v"; - n_subtype->m_address = base + offset; - n_subtype->m_parent = p_node_parent; - n_subtype->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_subtype); - - field_name = "custom"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction__T_building, field_name)); - auto n_custom = new NodeVector; - n_custom->m_field_name = field_name; - n_custom->m_df_type = DF_Type::int32_t; - n_custom->m_rdf_type = RDF_Type::Vector; - n_custom->m_node_type = NodeType::Vector; - n_custom->m_addornements = "v"; - n_custom->m_address = base + offset; - n_custom->m_parent = p_node_parent; - n_custom->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_custom); - - field_name = "hotkey"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction__T_building, field_name)); - auto n_hotkey = new NodeVector; - n_hotkey->m_field_name = field_name; - n_hotkey->m_df_type = DF_Type::int32_t; - n_hotkey->m_rdf_type = RDF_Type::Vector; - n_hotkey->m_node_type = NodeType::Vector; - n_hotkey->m_addornements = "v"; - n_hotkey->m_address = base + offset; - n_hotkey->m_parent = p_node_parent; - n_hotkey->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_hotkey); - -} -void node_from_reaction(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "code"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction, field_name)); - auto n_code = new NodeSimple; - n_code->m_field_name = field_name; - n_code->m_df_type = DF_Type::Stl_string; - n_code->m_rdf_type = RDF_Type::Stl_string; - n_code->m_node_type = NodeType::Simple; - n_code->m_address = base + offset; - n_code->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_code); - - field_name = "name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction, field_name)); - auto n_name = new NodeSimple; - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Stl_string; - n_name->m_node_type = NodeType::Simple; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction, field_name)); - auto n_flags = new NodeDFFlagArray; - n_flags->m_field_name = field_name; - n_flags->m_index_enum = DF_Type::reaction_flags; - n_flags->m_df_type = DF_Type::reaction_flags; - n_flags->m_size = 3; - n_flags->m_rdf_type = RDF_Type::DFFlagArray; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_defined_in = "df.reaction-raws.xml"; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "reagents"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction, field_name)); - auto n_reagents = new NodeVector; - n_reagents->m_field_name = field_name; - n_reagents->m_df_type = DF_Type::reaction_reagent; - n_reagents->m_rdf_type = RDF_Type::Vector; - n_reagents->m_node_type = NodeType::Vector; - n_reagents->m_defined_in = "df.reaction-raws.xml"; - n_reagents->m_addornements = "v*"; - n_reagents->m_address = base + offset; - n_reagents->m_parent = p_node_parent; - n_reagents->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_reagents); - - field_name = "products"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction, field_name)); - auto n_products = new NodeVector; - n_products->m_field_name = field_name; - n_products->m_df_type = DF_Type::reaction_product; - n_products->m_rdf_type = RDF_Type::Vector; - n_products->m_node_type = NodeType::Vector; - n_products->m_defined_in = "df.reaction-raws.xml"; - n_products->m_addornements = "v*"; - n_products->m_address = base + offset; - n_products->m_parent = p_node_parent; - n_products->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_products); - - field_name = "skill"; - auto n_skill = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction, field_name)); - n_skill->m_field_name = field_name; - n_skill->m_df_type = DF_Type::job_skill; - n_skill->m_rdf_type = RDF_Type::Enum; - n_skill->m_node_type = NodeType::Enum; - n_skill->m_base_type = DF_Type::int16_t; - n_skill->m_enum_type = "job_skill"; - n_skill->m_address = base + offset; - n_skill->m_defined_in = "df.skills.xml"; - n_skill->m_first_value = -1; - n_skill->m_last_value = 134; - n_skill->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_skill); - - field_name = "max_multiplier"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction, field_name)); - auto n_max_multiplier = new NodeSimple; - n_max_multiplier->m_field_name = field_name; - n_max_multiplier->m_df_type = DF_Type::int32_t; - n_max_multiplier->m_rdf_type = RDF_Type::int32_t; - n_max_multiplier->m_node_type = NodeType::Simple; - n_max_multiplier->m_address = base + offset; - n_max_multiplier->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_max_multiplier); - - field_name = "building"; - auto n_building = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction, field_name)); - n_building->m_field_name = field_name; - n_building->m_df_type = DF_Type::reaction__T_building; - n_building->m_rdf_type = RDF_Type::Compound; - n_building->m_node_type = NodeType::Compound; - n_building->m_address = base + offset; - n_building->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_building); - - field_name = "index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction, field_name)); - auto n_index = new NodeSimple; - n_index->m_field_name = field_name; - n_index->m_df_type = DF_Type::int32_t; - n_index->m_rdf_type = RDF_Type::int32_t; - n_index->m_node_type = NodeType::Simple; - n_index->m_address = base + offset; - n_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_index); - - field_name = "source_hfid"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction, field_name)); - auto n_source_hfid = new NodeSimple; - n_source_hfid->m_field_name = field_name; - n_source_hfid->m_df_type = DF_Type::int32_t; - n_source_hfid->m_rdf_type = RDF_Type::int32_t; - n_source_hfid->m_node_type = NodeType::Simple; - n_source_hfid->m_address = base + offset; - n_source_hfid->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_source_hfid); - - field_name = "source_enid"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction, field_name)); - auto n_source_enid = new NodeSimple; - n_source_enid->m_field_name = field_name; - n_source_enid->m_df_type = DF_Type::int32_t; - n_source_enid->m_rdf_type = RDF_Type::int32_t; - n_source_enid->m_node_type = NodeType::Simple; - n_source_enid->m_address = base + offset; - n_source_enid->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_source_enid); - - field_name = "raw_strings"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction, field_name)); - auto n_raw_strings = new NodeVector; - n_raw_strings->m_field_name = field_name; - n_raw_strings->m_df_type = DF_Type::Stl_string; - n_raw_strings->m_rdf_type = RDF_Type::Vector; - n_raw_strings->m_node_type = NodeType::Vector; - n_raw_strings->m_addornements = "v*"; - n_raw_strings->m_address = base + offset; - n_raw_strings->m_parent = p_node_parent; - n_raw_strings->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_raw_strings); - - field_name = "category"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction, field_name)); - auto n_category = new NodeSimple; - n_category->m_field_name = field_name; - n_category->m_df_type = DF_Type::Stl_string; - n_category->m_rdf_type = RDF_Type::Stl_string; - n_category->m_node_type = NodeType::Simple; - n_category->m_address = base + offset; - n_category->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_category); - - field_name = "descriptions"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction, field_name)); - auto n_descriptions = new NodeVector; - n_descriptions->m_field_name = field_name; - n_descriptions->m_df_type = DF_Type::reaction_description; - n_descriptions->m_rdf_type = RDF_Type::Vector; - n_descriptions->m_node_type = NodeType::Vector; - n_descriptions->m_defined_in = "df.reaction-raws.xml"; - n_descriptions->m_addornements = "v*"; - n_descriptions->m_address = base + offset; - n_descriptions->m_parent = p_node_parent; - n_descriptions->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_descriptions); - -} -void node_from_reaction_description(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_description, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::Stl_string; - n_anon_1->m_rdf_type = RDF_Type::Stl_string; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "item_type"; - auto n_item_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_description, field_name)); - n_item_type->m_field_name = field_name; - n_item_type->m_df_type = DF_Type::item_type; - n_item_type->m_rdf_type = RDF_Type::Enum; - n_item_type->m_node_type = NodeType::Enum; - n_item_type->m_base_type = enum_base_type(n_item_type->m_df_type); - n_item_type->m_enum_type = "item_type"; - n_item_type->m_address = base + offset; - n_item_type->m_defined_in = "df.item-raws.xml"; - n_item_type->m_first_value = -1; - n_item_type->m_last_value = 90; - n_item_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_type); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_description, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::Stl_string; - n_anon_2->m_rdf_type = RDF_Type::Stl_string; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - -} -void node_from_reaction_reagent(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "code"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_reagent, field_name)); - auto n_code = new NodeSimple; - n_code->m_field_name = field_name; - n_code->m_df_type = DF_Type::Stl_string; - n_code->m_rdf_type = RDF_Type::Stl_string; - n_code->m_node_type = NodeType::Simple; - n_code->m_address = base + offset; - n_code->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_code); - - field_name = "quantity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_reagent, field_name)); - auto n_quantity = new NodeSimple; - n_quantity->m_field_name = field_name; - n_quantity->m_df_type = DF_Type::int32_t; - n_quantity->m_rdf_type = RDF_Type::int32_t; - n_quantity->m_node_type = NodeType::Simple; - n_quantity->m_address = base + offset; - n_quantity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_quantity); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_reagent, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::reaction_reagent_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_defined_in = "df.reaction-raws.xml"; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - -} -void node_from_reaction_reagent_itemst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::reaction_reagent; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_reaction_reagent(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "item_type"; - auto n_item_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_reagent_itemst, field_name)); - n_item_type->m_field_name = field_name; - n_item_type->m_df_type = DF_Type::item_type; - n_item_type->m_rdf_type = RDF_Type::Enum; - n_item_type->m_node_type = NodeType::Enum; - n_item_type->m_base_type = DF_Type::int16_t; - n_item_type->m_enum_type = "item_type"; - n_item_type->m_address = base + offset; - n_item_type->m_defined_in = "df.item-raws.xml"; - n_item_type->m_first_value = -1; - n_item_type->m_last_value = 90; - n_item_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_type); - - field_name = "item_subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_reagent_itemst, field_name)); - auto n_item_subtype = new NodeSimple; - n_item_subtype->m_field_name = field_name; - n_item_subtype->m_df_type = DF_Type::int16_t; - n_item_subtype->m_rdf_type = RDF_Type::int16_t; - n_item_subtype->m_node_type = NodeType::Simple; - n_item_subtype->m_address = base + offset; - n_item_subtype->m_refers_to = "(item-subtype-target $$._parent.item_type $)"; - n_item_subtype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_subtype); - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_reagent_itemst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_reagent_itemst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int16_t; - n_mat_index->m_rdf_type = RDF_Type::int16_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "reaction_class"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_reagent_itemst, field_name)); - auto n_reaction_class = new NodeSimple; - n_reaction_class->m_field_name = field_name; - n_reaction_class->m_df_type = DF_Type::Stl_string; - n_reaction_class->m_rdf_type = RDF_Type::Stl_string; - n_reaction_class->m_node_type = NodeType::Simple; - n_reaction_class->m_address = base + offset; - n_reaction_class->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_reaction_class); - - field_name = "has_material_reaction_product"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_reagent_itemst, field_name)); - auto n_has_material_reaction_product = new NodeSimple; - n_has_material_reaction_product->m_field_name = field_name; - n_has_material_reaction_product->m_df_type = DF_Type::Stl_string; - n_has_material_reaction_product->m_rdf_type = RDF_Type::Stl_string; - n_has_material_reaction_product->m_node_type = NodeType::Simple; - n_has_material_reaction_product->m_address = base + offset; - n_has_material_reaction_product->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_has_material_reaction_product); - - field_name = "flags1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_reagent_itemst, field_name)); - auto n_flags1 = new NodeBitfield; - n_flags1->m_field_name = field_name; - n_flags1->m_df_type = DF_Type::job_item_flags1; - n_flags1->m_rdf_type = RDF_Type::Bitfield; - n_flags1->m_node_type = NodeType::Bitfield; - n_flags1->m_address = base + offset; - n_flags1->m_defined_in = "df.jobs.xml"; - n_flags1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags1); - - field_name = "flags2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_reagent_itemst, field_name)); - auto n_flags2 = new NodeBitfield; - n_flags2->m_field_name = field_name; - n_flags2->m_df_type = DF_Type::job_item_flags2; - n_flags2->m_rdf_type = RDF_Type::Bitfield; - n_flags2->m_node_type = NodeType::Bitfield; - n_flags2->m_address = base + offset; - n_flags2->m_defined_in = "df.jobs.xml"; - n_flags2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags2); - - field_name = "flags3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_reagent_itemst, field_name)); - auto n_flags3 = new NodeBitfield; - n_flags3->m_field_name = field_name; - n_flags3->m_df_type = DF_Type::job_item_flags3; - n_flags3->m_rdf_type = RDF_Type::Bitfield; - n_flags3->m_node_type = NodeType::Bitfield; - n_flags3->m_address = base + offset; - n_flags3->m_defined_in = "df.jobs.xml"; - n_flags3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags3); - - field_name = "flags4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_reagent_itemst, field_name)); - auto n_flags4 = new NodeSimple; - n_flags4->m_field_name = field_name; - n_flags4->m_df_type = DF_Type::uint32_t; - n_flags4->m_rdf_type = RDF_Type::uint32_t; - n_flags4->m_node_type = NodeType::Simple; - n_flags4->m_address = base + offset; - n_flags4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags4); - - field_name = "flags5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_reagent_itemst, field_name)); - auto n_flags5 = new NodeSimple; - n_flags5->m_field_name = field_name; - n_flags5->m_df_type = DF_Type::uint32_t; - n_flags5->m_rdf_type = RDF_Type::uint32_t; - n_flags5->m_node_type = NodeType::Simple; - n_flags5->m_address = base + offset; - n_flags5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags5); - - field_name = "metal_ore"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_reagent_itemst, field_name)); - auto n_metal_ore = new NodeSimple; - n_metal_ore->m_field_name = field_name; - n_metal_ore->m_df_type = DF_Type::int32_t; - n_metal_ore->m_rdf_type = RDF_Type::int32_t; - n_metal_ore->m_node_type = NodeType::Simple; - n_metal_ore->m_address = base + offset; - n_metal_ore->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_metal_ore); - - field_name = "min_dimension"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_reagent_itemst, field_name)); - auto n_min_dimension = new NodeSimple; - n_min_dimension->m_field_name = field_name; - n_min_dimension->m_df_type = DF_Type::int32_t; - n_min_dimension->m_rdf_type = RDF_Type::int32_t; - n_min_dimension->m_node_type = NodeType::Simple; - n_min_dimension->m_address = base + offset; - n_min_dimension->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_min_dimension); - - field_name = "contains"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_reagent_itemst, field_name)); - auto n_contains = new NodeVector; - n_contains->m_field_name = field_name; - n_contains->m_df_type = DF_Type::int32_t; - n_contains->m_rdf_type = RDF_Type::Vector; - n_contains->m_node_type = NodeType::Vector; - n_contains->m_addornements = "v"; - n_contains->m_address = base + offset; - n_contains->m_parent = p_node_parent; - n_contains->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_contains); - - field_name = "has_tool_use"; - auto n_has_tool_use = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_reagent_itemst, field_name)); - n_has_tool_use->m_field_name = field_name; - n_has_tool_use->m_df_type = DF_Type::tool_uses; - n_has_tool_use->m_rdf_type = RDF_Type::Enum; - n_has_tool_use->m_node_type = NodeType::Enum; - n_has_tool_use->m_base_type = DF_Type::int16_t; - n_has_tool_use->m_enum_type = "tool_uses"; - n_has_tool_use->m_address = base + offset; - n_has_tool_use->m_defined_in = "df.item-raws.xml"; - n_has_tool_use->m_first_value = -1; - n_has_tool_use->m_last_value = 22; - n_has_tool_use->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_has_tool_use); - - field_name = "item_str"; - auto n_item_str = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_reagent_itemst, field_name)); - n_item_str->m_field_name = field_name; - n_item_str->m_df_type = DF_Type::Stl_string; - n_item_str->m_rdf_type = RDF_Type::Array; - n_item_str->m_node_type = NodeType::Array; - n_item_str->m_addornements = "[2"; - n_item_str->m_array_size = 2; - n_item_str->m_address = base + offset; - n_item_str->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_str); - - field_name = "material_str"; - auto n_material_str = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_reagent_itemst, field_name)); - n_material_str->m_field_name = field_name; - n_material_str->m_df_type = DF_Type::Stl_string; - n_material_str->m_rdf_type = RDF_Type::Array; - n_material_str->m_node_type = NodeType::Array; - n_material_str->m_addornements = "[3"; - n_material_str->m_array_size = 3; - n_material_str->m_address = base + offset; - n_material_str->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_material_str); - - field_name = "metal_ore_str"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_reagent_itemst, field_name)); - auto n_metal_ore_str = new NodeSimple; - n_metal_ore_str->m_field_name = field_name; - n_metal_ore_str->m_df_type = DF_Type::Stl_string; - n_metal_ore_str->m_rdf_type = RDF_Type::Stl_string; - n_metal_ore_str->m_node_type = NodeType::Simple; - n_metal_ore_str->m_address = base + offset; - n_metal_ore_str->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_metal_ore_str); - - field_name = "contains_str"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_reagent_itemst, field_name)); - auto n_contains_str = new NodeVector; - n_contains_str->m_field_name = field_name; - n_contains_str->m_df_type = DF_Type::Stl_string; - n_contains_str->m_rdf_type = RDF_Type::Vector; - n_contains_str->m_node_type = NodeType::Vector; - n_contains_str->m_addornements = "v*"; - n_contains_str->m_address = base + offset; - n_contains_str->m_parent = p_node_parent; - n_contains_str->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_contains_str); - -} -void node_from_reaction_product_itemst__T_get_material(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "reagent_code"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_product_itemst__T_get_material, field_name)); - auto n_reagent_code = new NodeSimple; - n_reagent_code->m_field_name = field_name; - n_reagent_code->m_df_type = DF_Type::Stl_string; - n_reagent_code->m_rdf_type = RDF_Type::Stl_string; - n_reagent_code->m_node_type = NodeType::Simple; - n_reagent_code->m_address = base + offset; - n_reagent_code->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_reagent_code); - - field_name = "product_code"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_product_itemst__T_get_material, field_name)); - auto n_product_code = new NodeSimple; - n_product_code->m_field_name = field_name; - n_product_code->m_df_type = DF_Type::Stl_string; - n_product_code->m_rdf_type = RDF_Type::Stl_string; - n_product_code->m_node_type = NodeType::Simple; - n_product_code->m_address = base + offset; - n_product_code->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_product_code); - -} -void node_from_reaction_product_itemst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::reaction_product; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_reaction_product(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "item_type"; - auto n_item_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_product_itemst, field_name)); - n_item_type->m_field_name = field_name; - n_item_type->m_df_type = DF_Type::item_type; - n_item_type->m_rdf_type = RDF_Type::Enum; - n_item_type->m_node_type = NodeType::Enum; - n_item_type->m_base_type = DF_Type::int16_t; - n_item_type->m_enum_type = "item_type"; - n_item_type->m_address = base + offset; - n_item_type->m_defined_in = "df.item-raws.xml"; - n_item_type->m_first_value = -1; - n_item_type->m_last_value = 90; - n_item_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_type); - - field_name = "item_subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_product_itemst, field_name)); - auto n_item_subtype = new NodeSimple; - n_item_subtype->m_field_name = field_name; - n_item_subtype->m_df_type = DF_Type::int16_t; - n_item_subtype->m_rdf_type = RDF_Type::int16_t; - n_item_subtype->m_node_type = NodeType::Simple; - n_item_subtype->m_address = base + offset; - n_item_subtype->m_refers_to = "(item-subtype-target $$._parent.item_type $)"; - n_item_subtype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_subtype); - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_product_itemst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_product_itemst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "probability"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_product_itemst, field_name)); - auto n_probability = new NodeSimple; - n_probability->m_field_name = field_name; - n_probability->m_df_type = DF_Type::int16_t; - n_probability->m_rdf_type = RDF_Type::int16_t; - n_probability->m_node_type = NodeType::Simple; - n_probability->m_address = base + offset; - n_probability->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_probability); - - field_name = "count"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_product_itemst, field_name)); - auto n_count = new NodeSimple; - n_count->m_field_name = field_name; - n_count->m_df_type = DF_Type::int16_t; - n_count->m_rdf_type = RDF_Type::int16_t; - n_count->m_node_type = NodeType::Simple; - n_count->m_address = base + offset; - n_count->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_count); - - field_name = "product_dimension"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_product_itemst, field_name)); - auto n_product_dimension = new NodeSimple; - n_product_dimension->m_field_name = field_name; - n_product_dimension->m_df_type = DF_Type::int32_t; - n_product_dimension->m_rdf_type = RDF_Type::int32_t; - n_product_dimension->m_node_type = NodeType::Simple; - n_product_dimension->m_address = base + offset; - n_product_dimension->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_product_dimension); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_product_itemst, field_name)); - auto n_flags = new NodeDFFlagArray; - n_flags->m_field_name = field_name; - n_flags->m_index_enum = DF_Type::reaction_product_item_flags; - n_flags->m_df_type = DF_Type::reaction_product_item_flags; - n_flags->m_size = 6; - n_flags->m_rdf_type = RDF_Type::DFFlagArray; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_defined_in = "df.reaction-raws.xml"; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "get_material"; - auto n_get_material = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_product_itemst, field_name)); - n_get_material->m_field_name = field_name; - n_get_material->m_df_type = DF_Type::reaction_product_itemst__T_get_material; - n_get_material->m_rdf_type = RDF_Type::Compound; - n_get_material->m_node_type = NodeType::Compound; - n_get_material->m_address = base + offset; - n_get_material->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_get_material); - - field_name = "item_str"; - auto n_item_str = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_product_itemst, field_name)); - n_item_str->m_field_name = field_name; - n_item_str->m_df_type = DF_Type::Stl_string; - n_item_str->m_rdf_type = RDF_Type::Array; - n_item_str->m_node_type = NodeType::Array; - n_item_str->m_addornements = "[2"; - n_item_str->m_array_size = 2; - n_item_str->m_address = base + offset; - n_item_str->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_str); - - field_name = "material_str"; - auto n_material_str = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_product_itemst, field_name)); - n_material_str->m_field_name = field_name; - n_material_str->m_df_type = DF_Type::Stl_string; - n_material_str->m_rdf_type = RDF_Type::Array; - n_material_str->m_node_type = NodeType::Array; - n_material_str->m_addornements = "[3"; - n_material_str->m_array_size = 3; - n_material_str->m_address = base + offset; - n_material_str->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_material_str); - -} -void node_from_reaction_product_item_improvementst__T_get_material(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "reagent_code"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_product_item_improvementst__T_get_material, field_name)); - auto n_reagent_code = new NodeSimple; - n_reagent_code->m_field_name = field_name; - n_reagent_code->m_df_type = DF_Type::Stl_string; - n_reagent_code->m_rdf_type = RDF_Type::Stl_string; - n_reagent_code->m_node_type = NodeType::Simple; - n_reagent_code->m_address = base + offset; - n_reagent_code->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_reagent_code); - - field_name = "product_code"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_product_item_improvementst__T_get_material, field_name)); - auto n_product_code = new NodeSimple; - n_product_code->m_field_name = field_name; - n_product_code->m_df_type = DF_Type::Stl_string; - n_product_code->m_rdf_type = RDF_Type::Stl_string; - n_product_code->m_node_type = NodeType::Simple; - n_product_code->m_address = base + offset; - n_product_code->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_product_code); - -} -void node_from_reaction_product_item_improvementst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::reaction_product; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_reaction_product(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "target_reagent"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_product_item_improvementst, field_name)); - auto n_target_reagent = new NodeSimple; - n_target_reagent->m_field_name = field_name; - n_target_reagent->m_df_type = DF_Type::Stl_string; - n_target_reagent->m_rdf_type = RDF_Type::Stl_string; - n_target_reagent->m_node_type = NodeType::Simple; - n_target_reagent->m_address = base + offset; - n_target_reagent->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_target_reagent); - - field_name = "improvement_type"; - auto n_improvement_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_product_item_improvementst, field_name)); - n_improvement_type->m_field_name = field_name; - n_improvement_type->m_df_type = DF_Type::improvement_type; - n_improvement_type->m_rdf_type = RDF_Type::Enum; - n_improvement_type->m_node_type = NodeType::Enum; - n_improvement_type->m_base_type = DF_Type::int32_t; - n_improvement_type->m_enum_type = "improvement_type"; - n_improvement_type->m_address = base + offset; - n_improvement_type->m_defined_in = "df.itemimprovements.xml"; - n_improvement_type->m_first_value = 0; - n_improvement_type->m_last_value = 12; - n_improvement_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_improvement_type); - - field_name = "improvement_specific_type"; - auto n_improvement_specific_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_product_item_improvementst, field_name)); - n_improvement_specific_type->m_field_name = field_name; - n_improvement_specific_type->m_df_type = DF_Type::itemimprovement_specific_type; - n_improvement_specific_type->m_rdf_type = RDF_Type::Enum; - n_improvement_specific_type->m_node_type = NodeType::Enum; - n_improvement_specific_type->m_base_type = DF_Type::int32_t; - n_improvement_specific_type->m_enum_type = "itemimprovement_specific_type"; - n_improvement_specific_type->m_address = base + offset; - n_improvement_specific_type->m_defined_in = "df.itemimprovements.xml"; - n_improvement_specific_type->m_first_value = 0; - n_improvement_specific_type->m_last_value = 1; - n_improvement_specific_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_improvement_specific_type); - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_product_item_improvementst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_product_item_improvementst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "probability"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_product_item_improvementst, field_name)); - auto n_probability = new NodeSimple; - n_probability->m_field_name = field_name; - n_probability->m_df_type = DF_Type::int16_t; - n_probability->m_rdf_type = RDF_Type::int16_t; - n_probability->m_node_type = NodeType::Simple; - n_probability->m_address = base + offset; - n_probability->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_probability); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_product_item_improvementst, field_name)); - auto n_flags = new NodeDFFlagArray; - n_flags->m_field_name = field_name; - n_flags->m_index_enum = DF_Type::reaction_product_improvement_flags; - n_flags->m_df_type = DF_Type::reaction_product_improvement_flags; - n_flags->m_size = 3; - n_flags->m_rdf_type = RDF_Type::DFFlagArray; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_defined_in = "df.reaction-raws.xml"; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "get_material"; - auto n_get_material = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_product_item_improvementst, field_name)); - n_get_material->m_field_name = field_name; - n_get_material->m_df_type = DF_Type::reaction_product_item_improvementst__T_get_material; - n_get_material->m_rdf_type = RDF_Type::Compound; - n_get_material->m_node_type = NodeType::Compound; - n_get_material->m_address = base + offset; - n_get_material->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_get_material); - - field_name = "material_str"; - auto n_material_str = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_product_item_improvementst, field_name)); - n_material_str->m_field_name = field_name; - n_material_str->m_df_type = DF_Type::Stl_string; - n_material_str->m_rdf_type = RDF_Type::Array; - n_material_str->m_node_type = NodeType::Array; - n_material_str->m_addornements = "[3"; - n_material_str->m_array_size = 3; - n_material_str->m_address = base + offset; - n_material_str->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_material_str); - - field_name = "unk_v4201_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_product_item_improvementst, field_name)); - auto n_unk_v4201_2 = new NodeSimple; - n_unk_v4201_2->m_field_name = field_name; - n_unk_v4201_2->m_df_type = DF_Type::Stl_string; - n_unk_v4201_2->m_rdf_type = RDF_Type::Stl_string; - n_unk_v4201_2->m_node_type = NodeType::Simple; - n_unk_v4201_2->m_address = base + offset; - n_unk_v4201_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v4201_2); - -} -void node_from_general_ref_item_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "type"; - auto n_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_item_type, field_name)); - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::item_type; - n_type->m_rdf_type = RDF_Type::Enum; - n_type->m_node_type = NodeType::Enum; - n_type->m_base_type = DF_Type::int32_t; - n_type->m_enum_type = "item_type"; - n_type->m_address = base + offset; - n_type->m_defined_in = "df.item-raws.xml"; - n_type->m_first_value = -1; - n_type->m_last_value = 90; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - - field_name = "subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_item_type, field_name)); - auto n_subtype = new NodeSimple; - n_subtype->m_field_name = field_name; - n_subtype->m_df_type = DF_Type::int32_t; - n_subtype->m_rdf_type = RDF_Type::int32_t; - n_subtype->m_node_type = NodeType::Simple; - n_subtype->m_address = base + offset; - n_subtype->m_refers_to = "(item-subtype-target $$._parent.type $)"; - n_subtype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_subtype); - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_item_type, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_item_type, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int16_t; - n_mat_index->m_rdf_type = RDF_Type::int16_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - -} -void node_from_general_ref_mapsquare(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "tiletype"; - auto n_tiletype = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_mapsquare, field_name)); - n_tiletype->m_field_name = field_name; - n_tiletype->m_df_type = DF_Type::tiletype; - n_tiletype->m_rdf_type = RDF_Type::Enum; - n_tiletype->m_node_type = NodeType::Enum; - n_tiletype->m_base_type = DF_Type::int16_t; - n_tiletype->m_enum_type = "tiletype"; - n_tiletype->m_address = base + offset; - n_tiletype->m_defined_in = "df.tile-types.xml"; - n_tiletype->m_first_value = 0; - n_tiletype->m_last_value = 694; - n_tiletype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tiletype); - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_mapsquare, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_mapsquare, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - -} -void node_from_general_ref_spherest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "sphere_type"; - auto n_sphere_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_spherest, field_name)); - n_sphere_type->m_field_name = field_name; - n_sphere_type->m_df_type = DF_Type::sphere_type; - n_sphere_type->m_rdf_type = RDF_Type::Enum; - n_sphere_type->m_node_type = NodeType::Enum; - n_sphere_type->m_base_type = DF_Type::int16_t; - n_sphere_type->m_enum_type = "sphere_type"; - n_sphere_type->m_address = base + offset; - n_sphere_type->m_defined_in = "df.language.xml"; - n_sphere_type->m_first_value = 0; - n_sphere_type->m_last_value = 129; - n_sphere_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sphere_type); - -} -void node_from_general_ref_knowledge_scholar_flagst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "knowledge"; - auto n_knowledge = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_knowledge_scholar_flagst, field_name)); - n_knowledge->m_field_name = field_name; - n_knowledge->m_df_type = DF_Type::knowledge_scholar_category_flag; - n_knowledge->m_rdf_type = RDF_Type::Struct; - n_knowledge->m_node_type = NodeType::Compound; - n_knowledge->m_address = base + offset; - n_knowledge->m_defined_in = "df.knowledge.xml"; - n_knowledge->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_knowledge); - -} -void node_from_general_ref_value_levelst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::general_ref; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_general_ref(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "value"; - auto n_value = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_value_levelst, field_name)); - n_value->m_field_name = field_name; - n_value->m_df_type = DF_Type::value_type; - n_value->m_rdf_type = RDF_Type::Enum; - n_value->m_node_type = NodeType::Enum; - n_value->m_base_type = DF_Type::int32_t; - n_value->m_enum_type = "value_type"; - n_value->m_address = base + offset; - n_value->m_defined_in = "df.units.xml"; - n_value->m_first_value = 0; - n_value->m_last_value = 32; - n_value->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_value); - - field_name = "level"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_value_levelst, field_name)); - auto n_level = new NodeSimple; - n_level->m_field_name = field_name; - n_level->m_df_type = DF_Type::int32_t; - n_level->m_rdf_type = RDF_Type::int32_t; - n_level->m_node_type = NodeType::Simple; - n_level->m_address = base + offset; - n_level->m_comment = "see http://dwarffortresswiki.org/index.php/DF2014:Personality_trait"; - n_level->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_level); - -} -void node_from_specific_ref___union2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = true) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "object"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::specific_ref, field_name)); - auto n_object = new NodePointer; - n_object->m_field_name = field_name; - n_object->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_object->m_rdf_type = RDF_Type::Pointer; - n_object->m_node_type = NodeType::Pointer; - n_object->m_addornements = "*"; - n_object->m_address = base + offset; - n_object->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_object); - - field_name = "unit"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::specific_ref, field_name)); - auto n_unit = new NodePointer; - n_unit->m_field_name = field_name; - n_unit->m_df_type = get_real_subtype(base+offset, DF_Type::unit); - n_unit->m_rdf_type = RDF_Type::Pointer; - n_unit->m_node_type = NodeType::Pointer; - n_unit->m_addornements = "*"; - n_unit->m_address = base + offset; - n_unit->m_parent = p_node_parent; - n_unit->m_defined_in = "df.units.xml"; - n_unit->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unit); - - field_name = "activity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::specific_ref, field_name)); - auto n_activity = new NodePointer; - n_activity->m_field_name = field_name; - n_activity->m_df_type = get_real_subtype(base+offset, DF_Type::activity_info); - n_activity->m_rdf_type = RDF_Type::Pointer; - n_activity->m_node_type = NodeType::Pointer; - n_activity->m_addornements = "*"; - n_activity->m_address = base + offset; - n_activity->m_parent = p_node_parent; - n_activity->m_defined_in = "df.meeting.xml"; - n_activity->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_activity); - - field_name = "screen"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::specific_ref, field_name)); - auto n_screen = new NodePointer; - n_screen->m_field_name = field_name; - n_screen->m_df_type = get_real_subtype(base+offset, DF_Type::viewscreen); - n_screen->m_rdf_type = RDF_Type::Pointer; - n_screen->m_node_type = NodeType::Pointer; - n_screen->m_addornements = "*"; - n_screen->m_address = base + offset; - n_screen->m_parent = p_node_parent; - n_screen->m_defined_in = "df.viewscreen.xml"; - n_screen->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_screen); - - field_name = "vermin"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::specific_ref, field_name)); - auto n_vermin = new NodePointer; - n_vermin->m_field_name = field_name; - n_vermin->m_df_type = get_real_subtype(base+offset, DF_Type::vermin); - n_vermin->m_rdf_type = RDF_Type::Pointer; - n_vermin->m_node_type = NodeType::Pointer; - n_vermin->m_addornements = "*"; - n_vermin->m_address = base + offset; - n_vermin->m_parent = p_node_parent; - n_vermin->m_defined_in = "df.vermin.xml"; - n_vermin->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_vermin); - - field_name = "effect"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::specific_ref, field_name)); - auto n_effect = new NodePointer; - n_effect->m_field_name = field_name; - n_effect->m_df_type = get_real_subtype(base+offset, DF_Type::effect_info); - n_effect->m_rdf_type = RDF_Type::Pointer; - n_effect->m_node_type = NodeType::Pointer; - n_effect->m_addornements = "*"; - n_effect->m_address = base + offset; - n_effect->m_parent = p_node_parent; - n_effect->m_defined_in = "df.map.xml"; - n_effect->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_effect); - - field_name = "job"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::specific_ref, field_name)); - auto n_job = new NodePointer; - n_job->m_field_name = field_name; - n_job->m_df_type = get_real_subtype(base+offset, DF_Type::job); - n_job->m_rdf_type = RDF_Type::Pointer; - n_job->m_node_type = NodeType::Pointer; - n_job->m_addornements = "*"; - n_job->m_address = base + offset; - n_job->m_parent = p_node_parent; - n_job->m_defined_in = "df.jobs.xml"; - n_job->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_job); - -} -void node_from_specific_ref__T_arg2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = true) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "wrestle"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::specific_ref__T_arg2, field_name)); - auto n_wrestle = new NodePointer; - n_wrestle->m_field_name = field_name; - n_wrestle->m_df_type = get_real_subtype(base+offset, DF_Type::unit_item_wrestle); - n_wrestle->m_rdf_type = RDF_Type::Pointer; - n_wrestle->m_node_type = NodeType::Pointer; - n_wrestle->m_addornements = "*"; - n_wrestle->m_address = base + offset; - n_wrestle->m_parent = p_node_parent; - n_wrestle->m_defined_in = "df.units.xml"; - n_wrestle->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_wrestle); - -} -void node_from_specific_ref(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "type"; - auto n_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::specific_ref, field_name)); - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::specific_ref_type; - n_type->m_rdf_type = RDF_Type::Enum; - n_type->m_node_type = NodeType::Enum; - n_type->m_base_type = DF_Type::int32_t; - n_type->m_enum_type = "specific_ref_type"; - n_type->m_address = base + offset; - n_type->m_defined_in = "df.refs.xml"; - n_type->m_first_value = 0; - n_type->m_last_value = 30; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - - auto n_$union2 = new NodeAnonymous; - field_name = "unit"; // One child of the anonymous union - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::specific_ref, field_name)); - n_$union2->m_field_name = "N/A"; - n_$union2->m_df_type = DF_Type::specific_ref___union2; - n_$union2->m_rdf_type = RDF_Type::AnonymousUnion; - n_$union2->m_node_type = NodeType::AnonymousUnion; - n_$union2->m_address = base + offset; - n_$union2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_$union2); - - field_name = "arg2"; - auto n_arg2 = new NodeUnion; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::specific_ref, field_name)); - n_arg2->m_field_name = field_name; - n_arg2->m_df_type = DF_Type::specific_ref__T_arg2; - n_arg2->m_rdf_type = RDF_Type::Union; - n_arg2->m_node_type = NodeType::Union; - n_arg2->m_address = base + offset; - n_arg2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_arg2); - -} -void node_from_meeting_variable(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "value"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_variable, field_name)); - auto n_value = new NodeSimple; - n_value->m_field_name = field_name; - n_value->m_df_type = DF_Type::int32_t; - n_value->m_rdf_type = RDF_Type::int32_t; - n_value->m_node_type = NodeType::Simple; - n_value->m_address = base + offset; - n_value->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_value); - - field_name = "ref"; - auto n_ref = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_variable, field_name)); - n_ref->m_field_name = field_name; - n_ref->m_df_type = DF_Type::specific_ref; - n_ref->m_rdf_type = RDF_Type::Struct; - n_ref->m_node_type = NodeType::Compound; - n_ref->m_address = base + offset; - n_ref->m_defined_in = "df.refs.xml"; - n_ref->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ref); - - field_name = "active_var"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_variable, field_name)); - auto n_active_var = new NodePointer; - n_active_var->m_field_name = field_name; - n_active_var->m_df_type = get_real_subtype(base+offset, DF_Type::active_script_varst); - n_active_var->m_rdf_type = RDF_Type::Pointer; - n_active_var->m_node_type = NodeType::Pointer; - n_active_var->m_addornements = "*"; - n_active_var->m_address = base + offset; - n_active_var->m_parent = p_node_parent; - n_active_var->m_defined_in = "df.meeting.xml"; - n_active_var->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_active_var); - -} -void node_from_entity_entity_link(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "type"; - auto n_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_entity_link, field_name)); - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::entity_entity_link_type; - n_type->m_rdf_type = RDF_Type::Enum; - n_type->m_node_type = NodeType::Enum; - n_type->m_base_type = DF_Type::int16_t; - n_type->m_enum_type = "entity_entity_link_type"; - n_type->m_address = base + offset; - n_type->m_defined_in = "df.refs.xml"; - n_type->m_first_value = 0; - n_type->m_last_value = 1; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - - field_name = "target"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_entity_link, field_name)); - auto n_target = new NodeSimple; - n_target->m_field_name = field_name; - n_target->m_df_type = DF_Type::int32_t; - n_target->m_rdf_type = RDF_Type::int32_t; - n_target->m_node_type = NodeType::Simple; - n_target->m_address = base + offset; - n_target->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_target); - - field_name = "strength"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_entity_link, field_name)); - auto n_strength = new NodeSimple; - n_strength->m_field_name = field_name; - n_strength->m_df_type = DF_Type::int16_t; - n_strength->m_rdf_type = RDF_Type::int16_t; - n_strength->m_node_type = NodeType::Simple; - n_strength->m_address = base + offset; - n_strength->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_strength); - -} -void node_from_entity_site_link__T_anon_8(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_site_link__T_anon_8, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_site_link__T_anon_8, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - -} -void node_from_entity_site_link(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "target"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_site_link, field_name)); - auto n_target = new NodeSimple; - n_target->m_field_name = field_name; - n_target->m_df_type = DF_Type::int32_t; - n_target->m_rdf_type = RDF_Type::int32_t; - n_target->m_node_type = NodeType::Simple; - n_target->m_address = base + offset; - n_target->m_comment = "world.world_data.sites vector"; - n_target->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_target); - - field_name = "entity_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_site_link, field_name)); - auto n_entity_id = new NodeSimple; - n_entity_id->m_field_name = field_name; - n_entity_id->m_df_type = DF_Type::int32_t; - n_entity_id->m_rdf_type = RDF_Type::int32_t; - n_entity_id->m_node_type = NodeType::Simple; - n_entity_id->m_address = base + offset; - n_entity_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity_id); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_site_link, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_site_link, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_site_link, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_site_link, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_site_link, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::entity_site_link__T_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_site_link, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "link_strength"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_site_link, field_name)); - auto n_link_strength = new NodeSimple; - n_link_strength->m_field_name = field_name; - n_link_strength->m_df_type = DF_Type::int32_t; - n_link_strength->m_rdf_type = RDF_Type::int32_t; - n_link_strength->m_node_type = NodeType::Simple; - n_link_strength->m_address = base + offset; - n_link_strength->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_link_strength); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_site_link, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_site_link, field_name)); - auto n_anon_7 = new NodeSimple; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::int32_t; - n_anon_7->m_rdf_type = RDF_Type::int32_t; - n_anon_7->m_node_type = NodeType::Simple; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_7); - - field_name = "anon_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_site_link, field_name)); - auto n_anon_8 = new NodeVector; - n_anon_8->m_field_name = field_name; - n_anon_8->m_df_type = DF_Type::entity_site_link__T_anon_8; - n_anon_8->m_rdf_type = RDF_Type::Vector; - n_anon_8->m_node_type = NodeType::Vector; - n_anon_8->m_addornements = "v*"; - n_anon_8->m_address = base + offset; - n_anon_8->m_parent = p_node_parent; - n_anon_8->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_8); - - field_name = "target_site_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_site_link, field_name)); - auto n_target_site_x = new NodeSimple; - n_target_site_x->m_field_name = field_name; - n_target_site_x->m_df_type = DF_Type::int32_t; - n_target_site_x->m_rdf_type = RDF_Type::int32_t; - n_target_site_x->m_node_type = NodeType::Simple; - n_target_site_x->m_address = base + offset; - n_target_site_x->m_comment = "target site world coordinate x"; - n_target_site_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_target_site_x); - - field_name = "target_site_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_site_link, field_name)); - auto n_target_site_y = new NodeSimple; - n_target_site_y->m_field_name = field_name; - n_target_site_y->m_df_type = DF_Type::int32_t; - n_target_site_y->m_rdf_type = RDF_Type::int32_t; - n_target_site_y->m_node_type = NodeType::Simple; - n_target_site_y->m_address = base + offset; - n_target_site_y->m_comment = "target site world coordinate y"; - n_target_site_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_target_site_y); - - field_name = "unk_v43_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_site_link, field_name)); - auto n_unk_v43_1 = new NodeSimple; - n_unk_v43_1->m_field_name = field_name; - n_unk_v43_1->m_df_type = DF_Type::int32_t; - n_unk_v43_1->m_rdf_type = RDF_Type::int32_t; - n_unk_v43_1->m_node_type = NodeType::Simple; - n_unk_v43_1->m_address = base + offset; - n_unk_v43_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v43_1); - - field_name = "unk_v43_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_site_link, field_name)); - auto n_unk_v43_2 = new NodeSimple; - n_unk_v43_2->m_field_name = field_name; - n_unk_v43_2->m_df_type = DF_Type::int32_t; - n_unk_v43_2->m_rdf_type = RDF_Type::int32_t; - n_unk_v43_2->m_node_type = NodeType::Simple; - n_unk_v43_2->m_address = base + offset; - n_unk_v43_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v43_2); - -} -void node_from_resource_allotment_data__T_unk_654(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk_0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_data__T_unk_654, field_name)); - auto n_unk_0 = new NodeSimple; - n_unk_0->m_field_name = field_name; - n_unk_0->m_df_type = DF_Type::int32_t; - n_unk_0->m_rdf_type = RDF_Type::int32_t; - n_unk_0->m_node_type = NodeType::Simple; - n_unk_0->m_address = base + offset; - n_unk_0->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_0); - - field_name = "unk_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_data__T_unk_654, field_name)); - auto n_unk_4 = new NodeVector; - n_unk_4->m_field_name = field_name; - n_unk_4->m_df_type = DF_Type::int32_t; - n_unk_4->m_rdf_type = RDF_Type::Vector; - n_unk_4->m_node_type = NodeType::Vector; - n_unk_4->m_addornements = "v"; - n_unk_4->m_address = base + offset; - n_unk_4->m_parent = p_node_parent; - n_unk_4->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_4); - - field_name = "unk_14"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_data__T_unk_654, field_name)); - auto n_unk_14 = new NodeVector; - n_unk_14->m_field_name = field_name; - n_unk_14->m_df_type = DF_Type::int32_t; - n_unk_14->m_rdf_type = RDF_Type::Vector; - n_unk_14->m_node_type = NodeType::Vector; - n_unk_14->m_addornements = "v"; - n_unk_14->m_address = base + offset; - n_unk_14->m_parent = p_node_parent; - n_unk_14->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_14); - - field_name = "unk_24"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_data__T_unk_654, field_name)); - auto n_unk_24 = new NodeVector; - n_unk_24->m_field_name = field_name; - n_unk_24->m_df_type = DF_Type::int32_t; - n_unk_24->m_rdf_type = RDF_Type::Vector; - n_unk_24->m_node_type = NodeType::Vector; - n_unk_24->m_addornements = "v"; - n_unk_24->m_address = base + offset; - n_unk_24->m_parent = p_node_parent; - n_unk_24->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_24); - -} -void node_from_resource_allotment_data(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_data, field_name)); - auto n_index = new NodeSimple; - n_index->m_field_name = field_name; - n_index->m_df_type = DF_Type::int32_t; - n_index->m_rdf_type = RDF_Type::int32_t; - n_index->m_node_type = NodeType::Simple; - n_index->m_address = base + offset; - n_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_index); - - field_name = "resource_allotments"; - auto n_resource_allotments = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_data, field_name)); - n_resource_allotments->m_field_name = field_name; - n_resource_allotments->m_df_type = DF_Type::resource_allotment_specifier; - n_resource_allotments->m_rdf_type = RDF_Type::Array; - n_resource_allotments->m_node_type = NodeType::Array; - n_resource_allotments->m_defined_in = "df.resource.xml"; - n_resource_allotments->m_addornements = "[100v*"; - n_resource_allotments->m_array_size = 100; - n_resource_allotments->m_address = base + offset; - n_resource_allotments->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_resource_allotments); - - field_name = "unk1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_data, field_name)); - auto n_unk1 = new NodeSimple; - n_unk1->m_field_name = field_name; - n_unk1->m_df_type = DF_Type::int32_t; - n_unk1->m_rdf_type = RDF_Type::int32_t; - n_unk1->m_node_type = NodeType::Simple; - n_unk1->m_address = base + offset; - n_unk1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk1); - - field_name = "unk2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_data, field_name)); - auto n_unk2 = new NodeSimple; - n_unk2->m_field_name = field_name; - n_unk2->m_df_type = DF_Type::int32_t; - n_unk2->m_rdf_type = RDF_Type::int32_t; - n_unk2->m_node_type = NodeType::Simple; - n_unk2->m_address = base + offset; - n_unk2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk2); - - field_name = "unk3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_data, field_name)); - auto n_unk3 = new NodeSimple; - n_unk3->m_field_name = field_name; - n_unk3->m_df_type = DF_Type::int32_t; - n_unk3->m_rdf_type = RDF_Type::int32_t; - n_unk3->m_node_type = NodeType::Simple; - n_unk3->m_address = base + offset; - n_unk3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk3); - - field_name = "unk_650"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_data, field_name)); - auto n_unk_650 = new NodeSimple; - n_unk_650->m_field_name = field_name; - n_unk_650->m_df_type = DF_Type::int32_t; - n_unk_650->m_rdf_type = RDF_Type::int32_t; - n_unk_650->m_node_type = NodeType::Simple; - n_unk_650->m_address = base + offset; - n_unk_650->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_650); - - field_name = "unk_654"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_data, field_name)); - auto n_unk_654 = new NodeVector; - n_unk_654->m_field_name = field_name; - n_unk_654->m_df_type = DF_Type::resource_allotment_data__T_unk_654; - n_unk_654->m_rdf_type = RDF_Type::Vector; - n_unk_654->m_node_type = NodeType::Vector; - n_unk_654->m_addornements = "v*"; - n_unk_654->m_address = base + offset; - n_unk_654->m_parent = p_node_parent; - n_unk_654->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_654); - -} -void node_from_stockpile_settings__T_animals(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "empty_cages"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_animals, field_name)); - auto n_empty_cages = new NodeSimple; - n_empty_cages->m_field_name = field_name; - n_empty_cages->m_df_type = DF_Type::Bool; - n_empty_cages->m_rdf_type = RDF_Type::Bool; - n_empty_cages->m_node_type = NodeType::Simple; - n_empty_cages->m_address = base + offset; - n_empty_cages->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_empty_cages); - - field_name = "empty_traps"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_animals, field_name)); - auto n_empty_traps = new NodeSimple; - n_empty_traps->m_field_name = field_name; - n_empty_traps->m_df_type = DF_Type::Bool; - n_empty_traps->m_rdf_type = RDF_Type::Bool; - n_empty_traps->m_node_type = NodeType::Simple; - n_empty_traps->m_address = base + offset; - n_empty_traps->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_empty_traps); - - field_name = "enabled"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_animals, field_name)); - auto n_enabled = new NodeVector; - n_enabled->m_field_name = field_name; - n_enabled->m_df_type = DF_Type::Bool; - n_enabled->m_rdf_type = RDF_Type::Vector; - n_enabled->m_node_type = NodeType::Vector; - n_enabled->m_addornements = "v"; - n_enabled->m_address = base + offset; - n_enabled->m_refers_to = "(find-creature $)"; - n_enabled->m_parent = p_node_parent; - n_enabled->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_enabled); - -} -void node_from_stockpile_settings__T_food(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "meat"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_food, field_name)); - auto n_meat = new NodeVector; - n_meat->m_field_name = field_name; - n_meat->m_df_type = DF_Type::Bool; - n_meat->m_rdf_type = RDF_Type::Vector; - n_meat->m_node_type = NodeType::Vector; - n_meat->m_addornements = "v"; - n_meat->m_address = base + offset; - n_meat->m_refers_to = "(food-mat-by-idx $Meat $)"; - n_meat->m_parent = p_node_parent; - n_meat->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_meat); - - field_name = "fish"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_food, field_name)); - auto n_fish = new NodeVector; - n_fish->m_field_name = field_name; - n_fish->m_df_type = DF_Type::Bool; - n_fish->m_rdf_type = RDF_Type::Vector; - n_fish->m_node_type = NodeType::Vector; - n_fish->m_addornements = "v"; - n_fish->m_address = base + offset; - n_fish->m_refers_to = "(food-mat-by-idx $Fish $)"; - n_fish->m_parent = p_node_parent; - n_fish->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_fish); - - field_name = "unprepared_fish"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_food, field_name)); - auto n_unprepared_fish = new NodeVector; - n_unprepared_fish->m_field_name = field_name; - n_unprepared_fish->m_df_type = DF_Type::Bool; - n_unprepared_fish->m_rdf_type = RDF_Type::Vector; - n_unprepared_fish->m_node_type = NodeType::Vector; - n_unprepared_fish->m_addornements = "v"; - n_unprepared_fish->m_address = base + offset; - n_unprepared_fish->m_refers_to = "(food-mat-by-idx $UnpreparedFish $)"; - n_unprepared_fish->m_parent = p_node_parent; - n_unprepared_fish->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unprepared_fish); - - field_name = "egg"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_food, field_name)); - auto n_egg = new NodeVector; - n_egg->m_field_name = field_name; - n_egg->m_df_type = DF_Type::Bool; - n_egg->m_rdf_type = RDF_Type::Vector; - n_egg->m_node_type = NodeType::Vector; - n_egg->m_addornements = "v"; - n_egg->m_address = base + offset; - n_egg->m_refers_to = "(food-mat-by-idx $Eggs $)"; - n_egg->m_parent = p_node_parent; - n_egg->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_egg); - - field_name = "plants"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_food, field_name)); - auto n_plants = new NodeVector; - n_plants->m_field_name = field_name; - n_plants->m_df_type = DF_Type::Bool; - n_plants->m_rdf_type = RDF_Type::Vector; - n_plants->m_node_type = NodeType::Vector; - n_plants->m_addornements = "v"; - n_plants->m_address = base + offset; - n_plants->m_refers_to = "(food-mat-by-idx $Plants $)"; - n_plants->m_parent = p_node_parent; - n_plants->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_plants); - - field_name = "drink_plant"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_food, field_name)); - auto n_drink_plant = new NodeVector; - n_drink_plant->m_field_name = field_name; - n_drink_plant->m_df_type = DF_Type::Bool; - n_drink_plant->m_rdf_type = RDF_Type::Vector; - n_drink_plant->m_node_type = NodeType::Vector; - n_drink_plant->m_addornements = "v"; - n_drink_plant->m_address = base + offset; - n_drink_plant->m_refers_to = "(food-mat-by-idx $PlantDrink $)"; - n_drink_plant->m_parent = p_node_parent; - n_drink_plant->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_drink_plant); - - field_name = "drink_animal"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_food, field_name)); - auto n_drink_animal = new NodeVector; - n_drink_animal->m_field_name = field_name; - n_drink_animal->m_df_type = DF_Type::Bool; - n_drink_animal->m_rdf_type = RDF_Type::Vector; - n_drink_animal->m_node_type = NodeType::Vector; - n_drink_animal->m_addornements = "v"; - n_drink_animal->m_address = base + offset; - n_drink_animal->m_refers_to = "(food-mat-by-idx $CreatureDrink $)"; - n_drink_animal->m_parent = p_node_parent; - n_drink_animal->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_drink_animal); - - field_name = "cheese_plant"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_food, field_name)); - auto n_cheese_plant = new NodeVector; - n_cheese_plant->m_field_name = field_name; - n_cheese_plant->m_df_type = DF_Type::Bool; - n_cheese_plant->m_rdf_type = RDF_Type::Vector; - n_cheese_plant->m_node_type = NodeType::Vector; - n_cheese_plant->m_addornements = "v"; - n_cheese_plant->m_address = base + offset; - n_cheese_plant->m_refers_to = "(food-mat-by-idx $PlantCheese $)"; - n_cheese_plant->m_parent = p_node_parent; - n_cheese_plant->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_cheese_plant); - - field_name = "cheese_animal"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_food, field_name)); - auto n_cheese_animal = new NodeVector; - n_cheese_animal->m_field_name = field_name; - n_cheese_animal->m_df_type = DF_Type::Bool; - n_cheese_animal->m_rdf_type = RDF_Type::Vector; - n_cheese_animal->m_node_type = NodeType::Vector; - n_cheese_animal->m_addornements = "v"; - n_cheese_animal->m_address = base + offset; - n_cheese_animal->m_refers_to = "(food-mat-by-idx $CreatureCheese $)"; - n_cheese_animal->m_parent = p_node_parent; - n_cheese_animal->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_cheese_animal); - - field_name = "seeds"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_food, field_name)); - auto n_seeds = new NodeVector; - n_seeds->m_field_name = field_name; - n_seeds->m_df_type = DF_Type::Bool; - n_seeds->m_rdf_type = RDF_Type::Vector; - n_seeds->m_node_type = NodeType::Vector; - n_seeds->m_addornements = "v"; - n_seeds->m_address = base + offset; - n_seeds->m_refers_to = "(food-mat-by-idx $Seed $)"; - n_seeds->m_parent = p_node_parent; - n_seeds->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_seeds); - - field_name = "leaves"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_food, field_name)); - auto n_leaves = new NodeVector; - n_leaves->m_field_name = field_name; - n_leaves->m_df_type = DF_Type::Bool; - n_leaves->m_rdf_type = RDF_Type::Vector; - n_leaves->m_node_type = NodeType::Vector; - n_leaves->m_addornements = "v"; - n_leaves->m_address = base + offset; - n_leaves->m_refers_to = "(food-mat-by-idx $Leaf $)"; - n_leaves->m_parent = p_node_parent; - n_leaves->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_leaves); - - field_name = "powder_plant"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_food, field_name)); - auto n_powder_plant = new NodeVector; - n_powder_plant->m_field_name = field_name; - n_powder_plant->m_df_type = DF_Type::Bool; - n_powder_plant->m_rdf_type = RDF_Type::Vector; - n_powder_plant->m_node_type = NodeType::Vector; - n_powder_plant->m_addornements = "v"; - n_powder_plant->m_address = base + offset; - n_powder_plant->m_refers_to = "(food-mat-by-idx $PlantPowder $)"; - n_powder_plant->m_parent = p_node_parent; - n_powder_plant->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_powder_plant); - - field_name = "powder_creature"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_food, field_name)); - auto n_powder_creature = new NodeVector; - n_powder_creature->m_field_name = field_name; - n_powder_creature->m_df_type = DF_Type::Bool; - n_powder_creature->m_rdf_type = RDF_Type::Vector; - n_powder_creature->m_node_type = NodeType::Vector; - n_powder_creature->m_addornements = "v"; - n_powder_creature->m_address = base + offset; - n_powder_creature->m_refers_to = "(food-mat-by-idx $CreaturePowder $)"; - n_powder_creature->m_parent = p_node_parent; - n_powder_creature->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_powder_creature); - - field_name = "glob"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_food, field_name)); - auto n_glob = new NodeVector; - n_glob->m_field_name = field_name; - n_glob->m_df_type = DF_Type::Bool; - n_glob->m_rdf_type = RDF_Type::Vector; - n_glob->m_node_type = NodeType::Vector; - n_glob->m_addornements = "v"; - n_glob->m_address = base + offset; - n_glob->m_refers_to = "(food-mat-by-idx $Glob $)"; - n_glob->m_parent = p_node_parent; - n_glob->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_glob); - - field_name = "glob_paste"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_food, field_name)); - auto n_glob_paste = new NodeVector; - n_glob_paste->m_field_name = field_name; - n_glob_paste->m_df_type = DF_Type::Bool; - n_glob_paste->m_rdf_type = RDF_Type::Vector; - n_glob_paste->m_node_type = NodeType::Vector; - n_glob_paste->m_addornements = "v"; - n_glob_paste->m_address = base + offset; - n_glob_paste->m_refers_to = "(food-mat-by-idx $Paste $)"; - n_glob_paste->m_parent = p_node_parent; - n_glob_paste->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_glob_paste); - - field_name = "glob_pressed"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_food, field_name)); - auto n_glob_pressed = new NodeVector; - n_glob_pressed->m_field_name = field_name; - n_glob_pressed->m_df_type = DF_Type::Bool; - n_glob_pressed->m_rdf_type = RDF_Type::Vector; - n_glob_pressed->m_node_type = NodeType::Vector; - n_glob_pressed->m_addornements = "v"; - n_glob_pressed->m_address = base + offset; - n_glob_pressed->m_refers_to = "(food-mat-by-idx $Pressed $)"; - n_glob_pressed->m_parent = p_node_parent; - n_glob_pressed->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_glob_pressed); - - field_name = "liquid_plant"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_food, field_name)); - auto n_liquid_plant = new NodeVector; - n_liquid_plant->m_field_name = field_name; - n_liquid_plant->m_df_type = DF_Type::Bool; - n_liquid_plant->m_rdf_type = RDF_Type::Vector; - n_liquid_plant->m_node_type = NodeType::Vector; - n_liquid_plant->m_addornements = "v"; - n_liquid_plant->m_address = base + offset; - n_liquid_plant->m_refers_to = "(food-mat-by-idx $PlantLiquid $)"; - n_liquid_plant->m_parent = p_node_parent; - n_liquid_plant->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_liquid_plant); - - field_name = "liquid_animal"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_food, field_name)); - auto n_liquid_animal = new NodeVector; - n_liquid_animal->m_field_name = field_name; - n_liquid_animal->m_df_type = DF_Type::Bool; - n_liquid_animal->m_rdf_type = RDF_Type::Vector; - n_liquid_animal->m_node_type = NodeType::Vector; - n_liquid_animal->m_addornements = "v"; - n_liquid_animal->m_address = base + offset; - n_liquid_animal->m_refers_to = "(food-mat-by-idx $CreatureLiquid $)"; - n_liquid_animal->m_parent = p_node_parent; - n_liquid_animal->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_liquid_animal); - - field_name = "liquid_misc"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_food, field_name)); - auto n_liquid_misc = new NodeVector; - n_liquid_misc->m_field_name = field_name; - n_liquid_misc->m_df_type = DF_Type::Bool; - n_liquid_misc->m_rdf_type = RDF_Type::Vector; - n_liquid_misc->m_node_type = NodeType::Vector; - n_liquid_misc->m_addornements = "v"; - n_liquid_misc->m_address = base + offset; - n_liquid_misc->m_refers_to = "(food-mat-by-idx $MiscLiquid $)"; - n_liquid_misc->m_parent = p_node_parent; - n_liquid_misc->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_liquid_misc); - - field_name = "prepared_meals"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_food, field_name)); - auto n_prepared_meals = new NodeSimple; - n_prepared_meals->m_field_name = field_name; - n_prepared_meals->m_df_type = DF_Type::Bool; - n_prepared_meals->m_rdf_type = RDF_Type::Bool; - n_prepared_meals->m_node_type = NodeType::Simple; - n_prepared_meals->m_address = base + offset; - n_prepared_meals->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_prepared_meals); - -} -void node_from_stockpile_settings__T_furniture(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_furniture, field_name)); - auto n_type = new NodeVector; - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::Bool; - n_type->m_rdf_type = RDF_Type::Vector; - n_type->m_node_type = NodeType::Vector; - n_type->m_index_enum = DF_Type::furniture_type; - n_type->m_addornements = "v"; - n_type->m_address = base + offset; - n_type->m_parent = p_node_parent; - n_type->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_type); - - field_name = "other_mats"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_furniture, field_name)); - auto n_other_mats = new NodeVector; - n_other_mats->m_field_name = field_name; - n_other_mats->m_df_type = DF_Type::Bool; - n_other_mats->m_rdf_type = RDF_Type::Vector; - n_other_mats->m_node_type = NodeType::Vector; - n_other_mats->m_addornements = "v"; - n_other_mats->m_address = base + offset; - n_other_mats->m_parent = p_node_parent; - n_other_mats->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_other_mats); - - field_name = "mats"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_furniture, field_name)); - auto n_mats = new NodeVector; - n_mats->m_field_name = field_name; - n_mats->m_df_type = DF_Type::Bool; - n_mats->m_rdf_type = RDF_Type::Vector; - n_mats->m_node_type = NodeType::Vector; - n_mats->m_addornements = "v"; - n_mats->m_address = base + offset; - n_mats->m_refers_to = "(material-by-id 0 $)"; - n_mats->m_parent = p_node_parent; - n_mats->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_mats); - - field_name = "quality_core"; - auto n_quality_core = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_furniture, field_name)); - n_quality_core->m_field_name = field_name; - n_quality_core->m_df_type = DF_Type::Bool; - n_quality_core->m_rdf_type = RDF_Type::Array; - n_quality_core->m_node_type = NodeType::Array; - n_quality_core->m_index_enum = DF_Type::item_quality; - n_quality_core->m_addornements = "[7"; - n_quality_core->m_array_size = 7; - n_quality_core->m_address = base + offset; - n_quality_core->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_quality_core); - - field_name = "quality_total"; - auto n_quality_total = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_furniture, field_name)); - n_quality_total->m_field_name = field_name; - n_quality_total->m_df_type = DF_Type::Bool; - n_quality_total->m_rdf_type = RDF_Type::Array; - n_quality_total->m_node_type = NodeType::Array; - n_quality_total->m_index_enum = DF_Type::item_quality; - n_quality_total->m_addornements = "[7"; - n_quality_total->m_array_size = 7; - n_quality_total->m_address = base + offset; - n_quality_total->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_quality_total); - - field_name = "sand_bags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_furniture, field_name)); - auto n_sand_bags = new NodeSimple; - n_sand_bags->m_field_name = field_name; - n_sand_bags->m_df_type = DF_Type::Bool; - n_sand_bags->m_rdf_type = RDF_Type::Bool; - n_sand_bags->m_node_type = NodeType::Simple; - n_sand_bags->m_address = base + offset; - n_sand_bags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sand_bags); - -} -void node_from_stockpile_settings__T_refuse(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_refuse, field_name)); - auto n_type = new NodeVector; - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::Bool; - n_type->m_rdf_type = RDF_Type::Vector; - n_type->m_node_type = NodeType::Vector; - n_type->m_index_enum = DF_Type::item_type; - n_type->m_addornements = "v"; - n_type->m_address = base + offset; - n_type->m_parent = p_node_parent; - n_type->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_type); - - field_name = "corpses"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_refuse, field_name)); - auto n_corpses = new NodeVector; - n_corpses->m_field_name = field_name; - n_corpses->m_df_type = DF_Type::Bool; - n_corpses->m_rdf_type = RDF_Type::Vector; - n_corpses->m_node_type = NodeType::Vector; - n_corpses->m_addornements = "v"; - n_corpses->m_address = base + offset; - n_corpses->m_refers_to = "(find-creature $)"; - n_corpses->m_parent = p_node_parent; - n_corpses->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_corpses); - - field_name = "body_parts"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_refuse, field_name)); - auto n_body_parts = new NodeVector; - n_body_parts->m_field_name = field_name; - n_body_parts->m_df_type = DF_Type::Bool; - n_body_parts->m_rdf_type = RDF_Type::Vector; - n_body_parts->m_node_type = NodeType::Vector; - n_body_parts->m_addornements = "v"; - n_body_parts->m_address = base + offset; - n_body_parts->m_refers_to = "(find-creature $)"; - n_body_parts->m_parent = p_node_parent; - n_body_parts->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_body_parts); - - field_name = "skulls"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_refuse, field_name)); - auto n_skulls = new NodeVector; - n_skulls->m_field_name = field_name; - n_skulls->m_df_type = DF_Type::Bool; - n_skulls->m_rdf_type = RDF_Type::Vector; - n_skulls->m_node_type = NodeType::Vector; - n_skulls->m_addornements = "v"; - n_skulls->m_address = base + offset; - n_skulls->m_refers_to = "(find-creature $)"; - n_skulls->m_parent = p_node_parent; - n_skulls->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_skulls); - - field_name = "bones"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_refuse, field_name)); - auto n_bones = new NodeVector; - n_bones->m_field_name = field_name; - n_bones->m_df_type = DF_Type::Bool; - n_bones->m_rdf_type = RDF_Type::Vector; - n_bones->m_node_type = NodeType::Vector; - n_bones->m_addornements = "v"; - n_bones->m_address = base + offset; - n_bones->m_refers_to = "(find-creature $)"; - n_bones->m_parent = p_node_parent; - n_bones->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bones); - - field_name = "hair"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_refuse, field_name)); - auto n_hair = new NodeVector; - n_hair->m_field_name = field_name; - n_hair->m_df_type = DF_Type::Bool; - n_hair->m_rdf_type = RDF_Type::Vector; - n_hair->m_node_type = NodeType::Vector; - n_hair->m_addornements = "v"; - n_hair->m_address = base + offset; - n_hair->m_refers_to = "(find-creature $)"; - n_hair->m_parent = p_node_parent; - n_hair->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_hair); - - field_name = "shells"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_refuse, field_name)); - auto n_shells = new NodeVector; - n_shells->m_field_name = field_name; - n_shells->m_df_type = DF_Type::Bool; - n_shells->m_rdf_type = RDF_Type::Vector; - n_shells->m_node_type = NodeType::Vector; - n_shells->m_addornements = "v"; - n_shells->m_address = base + offset; - n_shells->m_refers_to = "(find-creature $)"; - n_shells->m_parent = p_node_parent; - n_shells->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_shells); - - field_name = "teeth"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_refuse, field_name)); - auto n_teeth = new NodeVector; - n_teeth->m_field_name = field_name; - n_teeth->m_df_type = DF_Type::Bool; - n_teeth->m_rdf_type = RDF_Type::Vector; - n_teeth->m_node_type = NodeType::Vector; - n_teeth->m_addornements = "v"; - n_teeth->m_address = base + offset; - n_teeth->m_refers_to = "(find-creature $)"; - n_teeth->m_parent = p_node_parent; - n_teeth->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_teeth); - - field_name = "horns"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_refuse, field_name)); - auto n_horns = new NodeVector; - n_horns->m_field_name = field_name; - n_horns->m_df_type = DF_Type::Bool; - n_horns->m_rdf_type = RDF_Type::Vector; - n_horns->m_node_type = NodeType::Vector; - n_horns->m_addornements = "v"; - n_horns->m_address = base + offset; - n_horns->m_refers_to = "(find-creature $)"; - n_horns->m_parent = p_node_parent; - n_horns->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_horns); - - field_name = "fresh_raw_hide"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_refuse, field_name)); - auto n_fresh_raw_hide = new NodeSimple; - n_fresh_raw_hide->m_field_name = field_name; - n_fresh_raw_hide->m_df_type = DF_Type::Bool; - n_fresh_raw_hide->m_rdf_type = RDF_Type::Bool; - n_fresh_raw_hide->m_node_type = NodeType::Simple; - n_fresh_raw_hide->m_address = base + offset; - n_fresh_raw_hide->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_fresh_raw_hide); - - field_name = "rotten_raw_hide"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_refuse, field_name)); - auto n_rotten_raw_hide = new NodeSimple; - n_rotten_raw_hide->m_field_name = field_name; - n_rotten_raw_hide->m_df_type = DF_Type::Bool; - n_rotten_raw_hide->m_rdf_type = RDF_Type::Bool; - n_rotten_raw_hide->m_node_type = NodeType::Simple; - n_rotten_raw_hide->m_address = base + offset; - n_rotten_raw_hide->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rotten_raw_hide); - -} -void node_from_stockpile_settings__T_stone(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mats"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_stone, field_name)); - auto n_mats = new NodeVector; - n_mats->m_field_name = field_name; - n_mats->m_df_type = DF_Type::Bool; - n_mats->m_rdf_type = RDF_Type::Vector; - n_mats->m_node_type = NodeType::Vector; - n_mats->m_addornements = "v"; - n_mats->m_address = base + offset; - n_mats->m_refers_to = "(material-by-id 0 $)"; - n_mats->m_parent = p_node_parent; - n_mats->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_mats); - -} -void node_from_stockpile_settings__T_ore(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mats"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_ore, field_name)); - auto n_mats = new NodeVector; - n_mats->m_field_name = field_name; - n_mats->m_df_type = DF_Type::Bool; - n_mats->m_rdf_type = RDF_Type::Vector; - n_mats->m_node_type = NodeType::Vector; - n_mats->m_addornements = "v"; - n_mats->m_address = base + offset; - n_mats->m_comment = "unused"; - n_mats->m_parent = p_node_parent; - n_mats->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_mats); - -} -void node_from_stockpile_settings__T_ammo(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_ammo, field_name)); - auto n_type = new NodeVector; - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::Bool; - n_type->m_rdf_type = RDF_Type::Vector; - n_type->m_node_type = NodeType::Vector; - n_type->m_addornements = "v"; - n_type->m_address = base + offset; - n_type->m_refers_to = "$global.world.raws.itemdefs.ammo[$]"; - n_type->m_parent = p_node_parent; - n_type->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_type); - - field_name = "other_mats"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_ammo, field_name)); - auto n_other_mats = new NodeVector; - n_other_mats->m_field_name = field_name; - n_other_mats->m_df_type = DF_Type::Bool; - n_other_mats->m_rdf_type = RDF_Type::Vector; - n_other_mats->m_node_type = NodeType::Vector; - n_other_mats->m_addornements = "v"; - n_other_mats->m_address = base + offset; - n_other_mats->m_parent = p_node_parent; - n_other_mats->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_other_mats); - - field_name = "mats"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_ammo, field_name)); - auto n_mats = new NodeVector; - n_mats->m_field_name = field_name; - n_mats->m_df_type = DF_Type::Bool; - n_mats->m_rdf_type = RDF_Type::Vector; - n_mats->m_node_type = NodeType::Vector; - n_mats->m_addornements = "v"; - n_mats->m_address = base + offset; - n_mats->m_refers_to = "(material-by-id 0 $)"; - n_mats->m_parent = p_node_parent; - n_mats->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_mats); - - field_name = "quality_core"; - auto n_quality_core = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_ammo, field_name)); - n_quality_core->m_field_name = field_name; - n_quality_core->m_df_type = DF_Type::Bool; - n_quality_core->m_rdf_type = RDF_Type::Array; - n_quality_core->m_node_type = NodeType::Array; - n_quality_core->m_index_enum = DF_Type::item_quality; - n_quality_core->m_addornements = "[7"; - n_quality_core->m_array_size = 7; - n_quality_core->m_address = base + offset; - n_quality_core->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_quality_core); - - field_name = "quality_total"; - auto n_quality_total = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_ammo, field_name)); - n_quality_total->m_field_name = field_name; - n_quality_total->m_df_type = DF_Type::Bool; - n_quality_total->m_rdf_type = RDF_Type::Array; - n_quality_total->m_node_type = NodeType::Array; - n_quality_total->m_index_enum = DF_Type::item_quality; - n_quality_total->m_addornements = "[7"; - n_quality_total->m_array_size = 7; - n_quality_total->m_address = base + offset; - n_quality_total->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_quality_total); - -} -void node_from_stockpile_settings__T_coins(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mats"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_coins, field_name)); - auto n_mats = new NodeVector; - n_mats->m_field_name = field_name; - n_mats->m_df_type = DF_Type::Bool; - n_mats->m_rdf_type = RDF_Type::Vector; - n_mats->m_node_type = NodeType::Vector; - n_mats->m_addornements = "v"; - n_mats->m_address = base + offset; - n_mats->m_refers_to = "(material-by-id 0 $)"; - n_mats->m_parent = p_node_parent; - n_mats->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_mats); - -} -void node_from_stockpile_settings__T_bars_blocks(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "bars_other_mats"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_bars_blocks, field_name)); - auto n_bars_other_mats = new NodeVector; - n_bars_other_mats->m_field_name = field_name; - n_bars_other_mats->m_df_type = DF_Type::Bool; - n_bars_other_mats->m_rdf_type = RDF_Type::Vector; - n_bars_other_mats->m_node_type = NodeType::Vector; - n_bars_other_mats->m_addornements = "v"; - n_bars_other_mats->m_address = base + offset; - n_bars_other_mats->m_parent = p_node_parent; - n_bars_other_mats->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bars_other_mats); - - field_name = "blocks_other_mats"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_bars_blocks, field_name)); - auto n_blocks_other_mats = new NodeVector; - n_blocks_other_mats->m_field_name = field_name; - n_blocks_other_mats->m_df_type = DF_Type::Bool; - n_blocks_other_mats->m_rdf_type = RDF_Type::Vector; - n_blocks_other_mats->m_node_type = NodeType::Vector; - n_blocks_other_mats->m_addornements = "v"; - n_blocks_other_mats->m_address = base + offset; - n_blocks_other_mats->m_parent = p_node_parent; - n_blocks_other_mats->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_blocks_other_mats); - - field_name = "bars_mats"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_bars_blocks, field_name)); - auto n_bars_mats = new NodeVector; - n_bars_mats->m_field_name = field_name; - n_bars_mats->m_df_type = DF_Type::Bool; - n_bars_mats->m_rdf_type = RDF_Type::Vector; - n_bars_mats->m_node_type = NodeType::Vector; - n_bars_mats->m_addornements = "v"; - n_bars_mats->m_address = base + offset; - n_bars_mats->m_refers_to = "(material-by-id 0 $)"; - n_bars_mats->m_parent = p_node_parent; - n_bars_mats->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bars_mats); - - field_name = "blocks_mats"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_bars_blocks, field_name)); - auto n_blocks_mats = new NodeVector; - n_blocks_mats->m_field_name = field_name; - n_blocks_mats->m_df_type = DF_Type::Bool; - n_blocks_mats->m_rdf_type = RDF_Type::Vector; - n_blocks_mats->m_node_type = NodeType::Vector; - n_blocks_mats->m_addornements = "v"; - n_blocks_mats->m_address = base + offset; - n_blocks_mats->m_refers_to = "(material-by-id 0 $)"; - n_blocks_mats->m_parent = p_node_parent; - n_blocks_mats->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_blocks_mats); - -} -void node_from_stockpile_settings__T_gems(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "rough_other_mats"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_gems, field_name)); - auto n_rough_other_mats = new NodeVector; - n_rough_other_mats->m_field_name = field_name; - n_rough_other_mats->m_df_type = DF_Type::Bool; - n_rough_other_mats->m_rdf_type = RDF_Type::Vector; - n_rough_other_mats->m_node_type = NodeType::Vector; - n_rough_other_mats->m_addornements = "v"; - n_rough_other_mats->m_address = base + offset; - n_rough_other_mats->m_refers_to = "(material-by-id $ -1)"; - n_rough_other_mats->m_parent = p_node_parent; - n_rough_other_mats->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_rough_other_mats); - - field_name = "cut_other_mats"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_gems, field_name)); - auto n_cut_other_mats = new NodeVector; - n_cut_other_mats->m_field_name = field_name; - n_cut_other_mats->m_df_type = DF_Type::Bool; - n_cut_other_mats->m_rdf_type = RDF_Type::Vector; - n_cut_other_mats->m_node_type = NodeType::Vector; - n_cut_other_mats->m_addornements = "v"; - n_cut_other_mats->m_address = base + offset; - n_cut_other_mats->m_refers_to = "(material-by-id $ -1)"; - n_cut_other_mats->m_parent = p_node_parent; - n_cut_other_mats->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_cut_other_mats); - - field_name = "rough_mats"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_gems, field_name)); - auto n_rough_mats = new NodeVector; - n_rough_mats->m_field_name = field_name; - n_rough_mats->m_df_type = DF_Type::Bool; - n_rough_mats->m_rdf_type = RDF_Type::Vector; - n_rough_mats->m_node_type = NodeType::Vector; - n_rough_mats->m_addornements = "v"; - n_rough_mats->m_address = base + offset; - n_rough_mats->m_refers_to = "(material-by-id 0 $)"; - n_rough_mats->m_parent = p_node_parent; - n_rough_mats->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_rough_mats); - - field_name = "cut_mats"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_gems, field_name)); - auto n_cut_mats = new NodeVector; - n_cut_mats->m_field_name = field_name; - n_cut_mats->m_df_type = DF_Type::Bool; - n_cut_mats->m_rdf_type = RDF_Type::Vector; - n_cut_mats->m_node_type = NodeType::Vector; - n_cut_mats->m_addornements = "v"; - n_cut_mats->m_address = base + offset; - n_cut_mats->m_refers_to = "(material-by-id 0 $)"; - n_cut_mats->m_parent = p_node_parent; - n_cut_mats->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_cut_mats); - -} -void node_from_stockpile_settings__T_finished_goods(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_finished_goods, field_name)); - auto n_type = new NodeVector; - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::Bool; - n_type->m_rdf_type = RDF_Type::Vector; - n_type->m_node_type = NodeType::Vector; - n_type->m_index_enum = DF_Type::item_type; - n_type->m_addornements = "v"; - n_type->m_address = base + offset; - n_type->m_parent = p_node_parent; - n_type->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_type); - - field_name = "other_mats"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_finished_goods, field_name)); - auto n_other_mats = new NodeVector; - n_other_mats->m_field_name = field_name; - n_other_mats->m_df_type = DF_Type::Bool; - n_other_mats->m_rdf_type = RDF_Type::Vector; - n_other_mats->m_node_type = NodeType::Vector; - n_other_mats->m_addornements = "v"; - n_other_mats->m_address = base + offset; - n_other_mats->m_parent = p_node_parent; - n_other_mats->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_other_mats); - - field_name = "mats"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_finished_goods, field_name)); - auto n_mats = new NodeVector; - n_mats->m_field_name = field_name; - n_mats->m_df_type = DF_Type::Bool; - n_mats->m_rdf_type = RDF_Type::Vector; - n_mats->m_node_type = NodeType::Vector; - n_mats->m_addornements = "v"; - n_mats->m_address = base + offset; - n_mats->m_refers_to = "(material-by-id 0 $)"; - n_mats->m_parent = p_node_parent; - n_mats->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_mats); - - field_name = "quality_core"; - auto n_quality_core = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_finished_goods, field_name)); - n_quality_core->m_field_name = field_name; - n_quality_core->m_df_type = DF_Type::Bool; - n_quality_core->m_rdf_type = RDF_Type::Array; - n_quality_core->m_node_type = NodeType::Array; - n_quality_core->m_index_enum = DF_Type::item_quality; - n_quality_core->m_addornements = "[7"; - n_quality_core->m_array_size = 7; - n_quality_core->m_address = base + offset; - n_quality_core->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_quality_core); - - field_name = "quality_total"; - auto n_quality_total = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_finished_goods, field_name)); - n_quality_total->m_field_name = field_name; - n_quality_total->m_df_type = DF_Type::Bool; - n_quality_total->m_rdf_type = RDF_Type::Array; - n_quality_total->m_node_type = NodeType::Array; - n_quality_total->m_index_enum = DF_Type::item_quality; - n_quality_total->m_addornements = "[7"; - n_quality_total->m_array_size = 7; - n_quality_total->m_address = base + offset; - n_quality_total->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_quality_total); - -} -void node_from_stockpile_settings__T_leather(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mats"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_leather, field_name)); - auto n_mats = new NodeVector; - n_mats->m_field_name = field_name; - n_mats->m_df_type = DF_Type::Bool; - n_mats->m_rdf_type = RDF_Type::Vector; - n_mats->m_node_type = NodeType::Vector; - n_mats->m_addornements = "v"; - n_mats->m_address = base + offset; - n_mats->m_refers_to = "(food-mat-by-idx $Leather $)"; - n_mats->m_parent = p_node_parent; - n_mats->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_mats); - -} -void node_from_stockpile_settings__T_cloth(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "thread_silk"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_cloth, field_name)); - auto n_thread_silk = new NodeVector; - n_thread_silk->m_field_name = field_name; - n_thread_silk->m_df_type = DF_Type::Bool; - n_thread_silk->m_rdf_type = RDF_Type::Vector; - n_thread_silk->m_node_type = NodeType::Vector; - n_thread_silk->m_addornements = "v"; - n_thread_silk->m_address = base + offset; - n_thread_silk->m_refers_to = "(food-mat-by-idx $Silk $)"; - n_thread_silk->m_parent = p_node_parent; - n_thread_silk->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_thread_silk); - - field_name = "thread_plant"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_cloth, field_name)); - auto n_thread_plant = new NodeVector; - n_thread_plant->m_field_name = field_name; - n_thread_plant->m_df_type = DF_Type::Bool; - n_thread_plant->m_rdf_type = RDF_Type::Vector; - n_thread_plant->m_node_type = NodeType::Vector; - n_thread_plant->m_addornements = "v"; - n_thread_plant->m_address = base + offset; - n_thread_plant->m_refers_to = "(food-mat-by-idx $PlantFiber $)"; - n_thread_plant->m_parent = p_node_parent; - n_thread_plant->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_thread_plant); - - field_name = "thread_yarn"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_cloth, field_name)); - auto n_thread_yarn = new NodeVector; - n_thread_yarn->m_field_name = field_name; - n_thread_yarn->m_df_type = DF_Type::Bool; - n_thread_yarn->m_rdf_type = RDF_Type::Vector; - n_thread_yarn->m_node_type = NodeType::Vector; - n_thread_yarn->m_addornements = "v"; - n_thread_yarn->m_address = base + offset; - n_thread_yarn->m_refers_to = "(food-mat-by-idx $Yarn $)"; - n_thread_yarn->m_parent = p_node_parent; - n_thread_yarn->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_thread_yarn); - - field_name = "thread_metal"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_cloth, field_name)); - auto n_thread_metal = new NodeVector; - n_thread_metal->m_field_name = field_name; - n_thread_metal->m_df_type = DF_Type::Bool; - n_thread_metal->m_rdf_type = RDF_Type::Vector; - n_thread_metal->m_node_type = NodeType::Vector; - n_thread_metal->m_addornements = "v"; - n_thread_metal->m_address = base + offset; - n_thread_metal->m_refers_to = "(food-mat-by-idx $MetalThread $)"; - n_thread_metal->m_parent = p_node_parent; - n_thread_metal->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_thread_metal); - - field_name = "cloth_silk"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_cloth, field_name)); - auto n_cloth_silk = new NodeVector; - n_cloth_silk->m_field_name = field_name; - n_cloth_silk->m_df_type = DF_Type::Bool; - n_cloth_silk->m_rdf_type = RDF_Type::Vector; - n_cloth_silk->m_node_type = NodeType::Vector; - n_cloth_silk->m_addornements = "v"; - n_cloth_silk->m_address = base + offset; - n_cloth_silk->m_refers_to = "(food-mat-by-idx $Silk $)"; - n_cloth_silk->m_parent = p_node_parent; - n_cloth_silk->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_cloth_silk); - - field_name = "cloth_plant"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_cloth, field_name)); - auto n_cloth_plant = new NodeVector; - n_cloth_plant->m_field_name = field_name; - n_cloth_plant->m_df_type = DF_Type::Bool; - n_cloth_plant->m_rdf_type = RDF_Type::Vector; - n_cloth_plant->m_node_type = NodeType::Vector; - n_cloth_plant->m_addornements = "v"; - n_cloth_plant->m_address = base + offset; - n_cloth_plant->m_refers_to = "(food-mat-by-idx $PlantFiber $)"; - n_cloth_plant->m_parent = p_node_parent; - n_cloth_plant->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_cloth_plant); - - field_name = "cloth_yarn"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_cloth, field_name)); - auto n_cloth_yarn = new NodeVector; - n_cloth_yarn->m_field_name = field_name; - n_cloth_yarn->m_df_type = DF_Type::Bool; - n_cloth_yarn->m_rdf_type = RDF_Type::Vector; - n_cloth_yarn->m_node_type = NodeType::Vector; - n_cloth_yarn->m_addornements = "v"; - n_cloth_yarn->m_address = base + offset; - n_cloth_yarn->m_refers_to = "(food-mat-by-idx $Yarn $)"; - n_cloth_yarn->m_parent = p_node_parent; - n_cloth_yarn->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_cloth_yarn); - - field_name = "cloth_metal"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_cloth, field_name)); - auto n_cloth_metal = new NodeVector; - n_cloth_metal->m_field_name = field_name; - n_cloth_metal->m_df_type = DF_Type::Bool; - n_cloth_metal->m_rdf_type = RDF_Type::Vector; - n_cloth_metal->m_node_type = NodeType::Vector; - n_cloth_metal->m_addornements = "v"; - n_cloth_metal->m_address = base + offset; - n_cloth_metal->m_refers_to = "(food-mat-by-idx $MetalThread $)"; - n_cloth_metal->m_parent = p_node_parent; - n_cloth_metal->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_cloth_metal); - -} -void node_from_stockpile_settings__T_wood(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mats"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_wood, field_name)); - auto n_mats = new NodeVector; - n_mats->m_field_name = field_name; - n_mats->m_df_type = DF_Type::Bool; - n_mats->m_rdf_type = RDF_Type::Vector; - n_mats->m_node_type = NodeType::Vector; - n_mats->m_addornements = "v"; - n_mats->m_address = base + offset; - n_mats->m_refers_to = "(find-plant-raw $)"; - n_mats->m_parent = p_node_parent; - n_mats->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_mats); - -} -void node_from_stockpile_settings__T_weapons(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "weapon_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_weapons, field_name)); - auto n_weapon_type = new NodeVector; - n_weapon_type->m_field_name = field_name; - n_weapon_type->m_df_type = DF_Type::Bool; - n_weapon_type->m_rdf_type = RDF_Type::Vector; - n_weapon_type->m_node_type = NodeType::Vector; - n_weapon_type->m_addornements = "v"; - n_weapon_type->m_address = base + offset; - n_weapon_type->m_refers_to = "$global.world.raws.itemdefs.weapons[$]"; - n_weapon_type->m_parent = p_node_parent; - n_weapon_type->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_weapon_type); - - field_name = "trapcomp_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_weapons, field_name)); - auto n_trapcomp_type = new NodeVector; - n_trapcomp_type->m_field_name = field_name; - n_trapcomp_type->m_df_type = DF_Type::Bool; - n_trapcomp_type->m_rdf_type = RDF_Type::Vector; - n_trapcomp_type->m_node_type = NodeType::Vector; - n_trapcomp_type->m_addornements = "v"; - n_trapcomp_type->m_address = base + offset; - n_trapcomp_type->m_refers_to = "$global.world.raws.itemdefs.trapcomps[$]"; - n_trapcomp_type->m_parent = p_node_parent; - n_trapcomp_type->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_trapcomp_type); - - field_name = "other_mats"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_weapons, field_name)); - auto n_other_mats = new NodeVector; - n_other_mats->m_field_name = field_name; - n_other_mats->m_df_type = DF_Type::Bool; - n_other_mats->m_rdf_type = RDF_Type::Vector; - n_other_mats->m_node_type = NodeType::Vector; - n_other_mats->m_addornements = "v"; - n_other_mats->m_address = base + offset; - n_other_mats->m_parent = p_node_parent; - n_other_mats->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_other_mats); - - field_name = "mats"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_weapons, field_name)); - auto n_mats = new NodeVector; - n_mats->m_field_name = field_name; - n_mats->m_df_type = DF_Type::Bool; - n_mats->m_rdf_type = RDF_Type::Vector; - n_mats->m_node_type = NodeType::Vector; - n_mats->m_addornements = "v"; - n_mats->m_address = base + offset; - n_mats->m_refers_to = "(material-by-id 0 $)"; - n_mats->m_parent = p_node_parent; - n_mats->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_mats); - - field_name = "quality_core"; - auto n_quality_core = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_weapons, field_name)); - n_quality_core->m_field_name = field_name; - n_quality_core->m_df_type = DF_Type::Bool; - n_quality_core->m_rdf_type = RDF_Type::Array; - n_quality_core->m_node_type = NodeType::Array; - n_quality_core->m_index_enum = DF_Type::item_quality; - n_quality_core->m_addornements = "[7"; - n_quality_core->m_array_size = 7; - n_quality_core->m_address = base + offset; - n_quality_core->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_quality_core); - - field_name = "quality_total"; - auto n_quality_total = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_weapons, field_name)); - n_quality_total->m_field_name = field_name; - n_quality_total->m_df_type = DF_Type::Bool; - n_quality_total->m_rdf_type = RDF_Type::Array; - n_quality_total->m_node_type = NodeType::Array; - n_quality_total->m_index_enum = DF_Type::item_quality; - n_quality_total->m_addornements = "[7"; - n_quality_total->m_array_size = 7; - n_quality_total->m_address = base + offset; - n_quality_total->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_quality_total); - - field_name = "usable"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_weapons, field_name)); - auto n_usable = new NodeSimple; - n_usable->m_field_name = field_name; - n_usable->m_df_type = DF_Type::Bool; - n_usable->m_rdf_type = RDF_Type::Bool; - n_usable->m_node_type = NodeType::Simple; - n_usable->m_address = base + offset; - n_usable->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_usable); - - field_name = "unusable"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_weapons, field_name)); - auto n_unusable = new NodeSimple; - n_unusable->m_field_name = field_name; - n_unusable->m_df_type = DF_Type::Bool; - n_unusable->m_rdf_type = RDF_Type::Bool; - n_unusable->m_node_type = NodeType::Simple; - n_unusable->m_address = base + offset; - n_unusable->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unusable); - -} -void node_from_stockpile_settings__T_armor(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "body"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_armor, field_name)); - auto n_body = new NodeVector; - n_body->m_field_name = field_name; - n_body->m_df_type = DF_Type::Bool; - n_body->m_rdf_type = RDF_Type::Vector; - n_body->m_node_type = NodeType::Vector; - n_body->m_addornements = "v"; - n_body->m_address = base + offset; - n_body->m_refers_to = "$global.world.raws.itemdefs.armor[$]"; - n_body->m_parent = p_node_parent; - n_body->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_body); - - field_name = "head"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_armor, field_name)); - auto n_head = new NodeVector; - n_head->m_field_name = field_name; - n_head->m_df_type = DF_Type::Bool; - n_head->m_rdf_type = RDF_Type::Vector; - n_head->m_node_type = NodeType::Vector; - n_head->m_addornements = "v"; - n_head->m_address = base + offset; - n_head->m_refers_to = "$global.world.raws.itemdefs.helms[$]"; - n_head->m_parent = p_node_parent; - n_head->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_head); - - field_name = "feet"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_armor, field_name)); - auto n_feet = new NodeVector; - n_feet->m_field_name = field_name; - n_feet->m_df_type = DF_Type::Bool; - n_feet->m_rdf_type = RDF_Type::Vector; - n_feet->m_node_type = NodeType::Vector; - n_feet->m_addornements = "v"; - n_feet->m_address = base + offset; - n_feet->m_refers_to = "$global.world.raws.itemdefs.shoes[$]"; - n_feet->m_parent = p_node_parent; - n_feet->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_feet); - - field_name = "hands"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_armor, field_name)); - auto n_hands = new NodeVector; - n_hands->m_field_name = field_name; - n_hands->m_df_type = DF_Type::Bool; - n_hands->m_rdf_type = RDF_Type::Vector; - n_hands->m_node_type = NodeType::Vector; - n_hands->m_addornements = "v"; - n_hands->m_address = base + offset; - n_hands->m_refers_to = "$global.world.raws.itemdefs.gloves[$]"; - n_hands->m_parent = p_node_parent; - n_hands->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_hands); - - field_name = "legs"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_armor, field_name)); - auto n_legs = new NodeVector; - n_legs->m_field_name = field_name; - n_legs->m_df_type = DF_Type::Bool; - n_legs->m_rdf_type = RDF_Type::Vector; - n_legs->m_node_type = NodeType::Vector; - n_legs->m_addornements = "v"; - n_legs->m_address = base + offset; - n_legs->m_refers_to = "$global.world.raws.itemdefs.pants[$]"; - n_legs->m_parent = p_node_parent; - n_legs->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_legs); - - field_name = "shield"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_armor, field_name)); - auto n_shield = new NodeVector; - n_shield->m_field_name = field_name; - n_shield->m_df_type = DF_Type::Bool; - n_shield->m_rdf_type = RDF_Type::Vector; - n_shield->m_node_type = NodeType::Vector; - n_shield->m_addornements = "v"; - n_shield->m_address = base + offset; - n_shield->m_refers_to = "$global.world.raws.itemdefs.shields[$]"; - n_shield->m_parent = p_node_parent; - n_shield->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_shield); - - field_name = "other_mats"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_armor, field_name)); - auto n_other_mats = new NodeVector; - n_other_mats->m_field_name = field_name; - n_other_mats->m_df_type = DF_Type::Bool; - n_other_mats->m_rdf_type = RDF_Type::Vector; - n_other_mats->m_node_type = NodeType::Vector; - n_other_mats->m_addornements = "v"; - n_other_mats->m_address = base + offset; - n_other_mats->m_parent = p_node_parent; - n_other_mats->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_other_mats); - - field_name = "mats"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_armor, field_name)); - auto n_mats = new NodeVector; - n_mats->m_field_name = field_name; - n_mats->m_df_type = DF_Type::Bool; - n_mats->m_rdf_type = RDF_Type::Vector; - n_mats->m_node_type = NodeType::Vector; - n_mats->m_addornements = "v"; - n_mats->m_address = base + offset; - n_mats->m_refers_to = "(material-by-id 0 $)"; - n_mats->m_parent = p_node_parent; - n_mats->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_mats); - - field_name = "quality_core"; - auto n_quality_core = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_armor, field_name)); - n_quality_core->m_field_name = field_name; - n_quality_core->m_df_type = DF_Type::Bool; - n_quality_core->m_rdf_type = RDF_Type::Array; - n_quality_core->m_node_type = NodeType::Array; - n_quality_core->m_index_enum = DF_Type::item_quality; - n_quality_core->m_addornements = "[7"; - n_quality_core->m_array_size = 7; - n_quality_core->m_address = base + offset; - n_quality_core->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_quality_core); - - field_name = "quality_total"; - auto n_quality_total = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_armor, field_name)); - n_quality_total->m_field_name = field_name; - n_quality_total->m_df_type = DF_Type::Bool; - n_quality_total->m_rdf_type = RDF_Type::Array; - n_quality_total->m_node_type = NodeType::Array; - n_quality_total->m_index_enum = DF_Type::item_quality; - n_quality_total->m_addornements = "[7"; - n_quality_total->m_array_size = 7; - n_quality_total->m_address = base + offset; - n_quality_total->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_quality_total); - - field_name = "usable"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_armor, field_name)); - auto n_usable = new NodeSimple; - n_usable->m_field_name = field_name; - n_usable->m_df_type = DF_Type::Bool; - n_usable->m_rdf_type = RDF_Type::Bool; - n_usable->m_node_type = NodeType::Simple; - n_usable->m_address = base + offset; - n_usable->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_usable); - - field_name = "unusable"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_armor, field_name)); - auto n_unusable = new NodeSimple; - n_unusable->m_field_name = field_name; - n_unusable->m_df_type = DF_Type::Bool; - n_unusable->m_rdf_type = RDF_Type::Bool; - n_unusable->m_node_type = NodeType::Simple; - n_unusable->m_address = base + offset; - n_unusable->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unusable); - -} -void node_from_stockpile_settings__T_sheet(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "paper"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_sheet, field_name)); - auto n_paper = new NodeVector; - n_paper->m_field_name = field_name; - n_paper->m_df_type = DF_Type::Bool; - n_paper->m_rdf_type = RDF_Type::Vector; - n_paper->m_node_type = NodeType::Vector; - n_paper->m_addornements = "v"; - n_paper->m_address = base + offset; - n_paper->m_parent = p_node_parent; - n_paper->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_paper); - - field_name = "parchment"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_sheet, field_name)); - auto n_parchment = new NodeVector; - n_parchment->m_field_name = field_name; - n_parchment->m_df_type = DF_Type::Bool; - n_parchment->m_rdf_type = RDF_Type::Vector; - n_parchment->m_node_type = NodeType::Vector; - n_parchment->m_addornements = "v"; - n_parchment->m_address = base + offset; - n_parchment->m_parent = p_node_parent; - n_parchment->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_parchment); - -} -void node_from_stockpile_settings(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::stockpile_group_set; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_defined_in = "df.stockpile.xml"; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "animals"; - auto n_animals = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings, field_name)); - n_animals->m_field_name = field_name; - n_animals->m_df_type = DF_Type::stockpile_settings__T_animals; - n_animals->m_rdf_type = RDF_Type::Compound; - n_animals->m_node_type = NodeType::Compound; - n_animals->m_address = base + offset; - n_animals->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_animals); - - field_name = "food"; - auto n_food = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings, field_name)); - n_food->m_field_name = field_name; - n_food->m_df_type = DF_Type::stockpile_settings__T_food; - n_food->m_rdf_type = RDF_Type::Compound; - n_food->m_node_type = NodeType::Compound; - n_food->m_address = base + offset; - n_food->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_food); - - field_name = "furniture"; - auto n_furniture = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings, field_name)); - n_furniture->m_field_name = field_name; - n_furniture->m_df_type = DF_Type::stockpile_settings__T_furniture; - n_furniture->m_rdf_type = RDF_Type::Compound; - n_furniture->m_node_type = NodeType::Compound; - n_furniture->m_address = base + offset; - n_furniture->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_furniture); - - field_name = "unk1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings, field_name)); - auto n_unk1 = new NodeSimple; - n_unk1->m_field_name = field_name; - n_unk1->m_df_type = DF_Type::int32_t; - n_unk1->m_rdf_type = RDF_Type::int32_t; - n_unk1->m_node_type = NodeType::Simple; - n_unk1->m_address = base + offset; - n_unk1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk1); - - field_name = "refuse"; - auto n_refuse = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings, field_name)); - n_refuse->m_field_name = field_name; - n_refuse->m_df_type = DF_Type::stockpile_settings__T_refuse; - n_refuse->m_rdf_type = RDF_Type::Compound; - n_refuse->m_node_type = NodeType::Compound; - n_refuse->m_address = base + offset; - n_refuse->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_refuse); - - field_name = "stone"; - auto n_stone = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings, field_name)); - n_stone->m_field_name = field_name; - n_stone->m_df_type = DF_Type::stockpile_settings__T_stone; - n_stone->m_rdf_type = RDF_Type::Compound; - n_stone->m_node_type = NodeType::Compound; - n_stone->m_address = base + offset; - n_stone->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_stone); - - field_name = "ore"; - auto n_ore = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings, field_name)); - n_ore->m_field_name = field_name; - n_ore->m_df_type = DF_Type::stockpile_settings__T_ore; - n_ore->m_rdf_type = RDF_Type::Compound; - n_ore->m_node_type = NodeType::Compound; - n_ore->m_address = base + offset; - n_ore->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ore); - - field_name = "ammo"; - auto n_ammo = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings, field_name)); - n_ammo->m_field_name = field_name; - n_ammo->m_df_type = DF_Type::stockpile_settings__T_ammo; - n_ammo->m_rdf_type = RDF_Type::Compound; - n_ammo->m_node_type = NodeType::Compound; - n_ammo->m_address = base + offset; - n_ammo->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ammo); - - field_name = "coins"; - auto n_coins = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings, field_name)); - n_coins->m_field_name = field_name; - n_coins->m_df_type = DF_Type::stockpile_settings__T_coins; - n_coins->m_rdf_type = RDF_Type::Compound; - n_coins->m_node_type = NodeType::Compound; - n_coins->m_address = base + offset; - n_coins->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_coins); - - field_name = "bars_blocks"; - auto n_bars_blocks = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings, field_name)); - n_bars_blocks->m_field_name = field_name; - n_bars_blocks->m_df_type = DF_Type::stockpile_settings__T_bars_blocks; - n_bars_blocks->m_rdf_type = RDF_Type::Compound; - n_bars_blocks->m_node_type = NodeType::Compound; - n_bars_blocks->m_address = base + offset; - n_bars_blocks->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_bars_blocks); - - field_name = "gems"; - auto n_gems = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings, field_name)); - n_gems->m_field_name = field_name; - n_gems->m_df_type = DF_Type::stockpile_settings__T_gems; - n_gems->m_rdf_type = RDF_Type::Compound; - n_gems->m_node_type = NodeType::Compound; - n_gems->m_address = base + offset; - n_gems->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_gems); - - field_name = "finished_goods"; - auto n_finished_goods = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings, field_name)); - n_finished_goods->m_field_name = field_name; - n_finished_goods->m_df_type = DF_Type::stockpile_settings__T_finished_goods; - n_finished_goods->m_rdf_type = RDF_Type::Compound; - n_finished_goods->m_node_type = NodeType::Compound; - n_finished_goods->m_address = base + offset; - n_finished_goods->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_finished_goods); - - field_name = "leather"; - auto n_leather = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings, field_name)); - n_leather->m_field_name = field_name; - n_leather->m_df_type = DF_Type::stockpile_settings__T_leather; - n_leather->m_rdf_type = RDF_Type::Compound; - n_leather->m_node_type = NodeType::Compound; - n_leather->m_address = base + offset; - n_leather->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_leather); - - field_name = "cloth"; - auto n_cloth = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings, field_name)); - n_cloth->m_field_name = field_name; - n_cloth->m_df_type = DF_Type::stockpile_settings__T_cloth; - n_cloth->m_rdf_type = RDF_Type::Compound; - n_cloth->m_node_type = NodeType::Compound; - n_cloth->m_address = base + offset; - n_cloth->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cloth); - - field_name = "wood"; - auto n_wood = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings, field_name)); - n_wood->m_field_name = field_name; - n_wood->m_df_type = DF_Type::stockpile_settings__T_wood; - n_wood->m_rdf_type = RDF_Type::Compound; - n_wood->m_node_type = NodeType::Compound; - n_wood->m_address = base + offset; - n_wood->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_wood); - - field_name = "weapons"; - auto n_weapons = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings, field_name)); - n_weapons->m_field_name = field_name; - n_weapons->m_df_type = DF_Type::stockpile_settings__T_weapons; - n_weapons->m_rdf_type = RDF_Type::Compound; - n_weapons->m_node_type = NodeType::Compound; - n_weapons->m_address = base + offset; - n_weapons->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_weapons); - - field_name = "armor"; - auto n_armor = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings, field_name)); - n_armor->m_field_name = field_name; - n_armor->m_df_type = DF_Type::stockpile_settings__T_armor; - n_armor->m_rdf_type = RDF_Type::Compound; - n_armor->m_node_type = NodeType::Compound; - n_armor->m_address = base + offset; - n_armor->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_armor); - - field_name = "sheet"; - auto n_sheet = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings, field_name)); - n_sheet->m_field_name = field_name; - n_sheet->m_df_type = DF_Type::stockpile_settings__T_sheet; - n_sheet->m_rdf_type = RDF_Type::Compound; - n_sheet->m_node_type = NodeType::Compound; - n_sheet->m_address = base + offset; - n_sheet->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sheet); - - field_name = "allow_organic"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings, field_name)); - auto n_allow_organic = new NodeSimple; - n_allow_organic->m_field_name = field_name; - n_allow_organic->m_df_type = DF_Type::Bool; - n_allow_organic->m_rdf_type = RDF_Type::Bool; - n_allow_organic->m_node_type = NodeType::Simple; - n_allow_organic->m_address = base + offset; - n_allow_organic->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_allow_organic); - - field_name = "allow_inorganic"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings, field_name)); - auto n_allow_inorganic = new NodeSimple; - n_allow_inorganic->m_field_name = field_name; - n_allow_inorganic->m_df_type = DF_Type::Bool; - n_allow_inorganic->m_rdf_type = RDF_Type::Bool; - n_allow_inorganic->m_node_type = NodeType::Simple; - n_allow_inorganic->m_address = base + offset; - n_allow_inorganic->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_allow_inorganic); - -} -void node_from_building_stockpilest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::building; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_building(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "settings"; - auto n_settings = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_stockpilest, field_name)); - n_settings->m_field_name = field_name; - n_settings->m_df_type = DF_Type::stockpile_settings; - n_settings->m_rdf_type = RDF_Type::Struct; - n_settings->m_node_type = NodeType::Compound; - n_settings->m_address = base + offset; - n_settings->m_defined_in = "df.stockpile.xml"; - n_settings->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_settings); - - field_name = "max_barrels"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_stockpilest, field_name)); - auto n_max_barrels = new NodeSimple; - n_max_barrels->m_field_name = field_name; - n_max_barrels->m_df_type = DF_Type::int16_t; - n_max_barrels->m_rdf_type = RDF_Type::int16_t; - n_max_barrels->m_node_type = NodeType::Simple; - n_max_barrels->m_address = base + offset; - n_max_barrels->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_max_barrels); - - field_name = "max_bins"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_stockpilest, field_name)); - auto n_max_bins = new NodeSimple; - n_max_bins->m_field_name = field_name; - n_max_bins->m_df_type = DF_Type::int16_t; - n_max_bins->m_rdf_type = RDF_Type::int16_t; - n_max_bins->m_node_type = NodeType::Simple; - n_max_bins->m_address = base + offset; - n_max_bins->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_max_bins); - - field_name = "max_wheelbarrows"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_stockpilest, field_name)); - auto n_max_wheelbarrows = new NodeSimple; - n_max_wheelbarrows->m_field_name = field_name; - n_max_wheelbarrows->m_df_type = DF_Type::int16_t; - n_max_wheelbarrows->m_rdf_type = RDF_Type::int16_t; - n_max_wheelbarrows->m_node_type = NodeType::Simple; - n_max_wheelbarrows->m_address = base + offset; - n_max_wheelbarrows->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_max_wheelbarrows); - - field_name = "container_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_stockpilest, field_name)); - auto n_container_type = new NodeVector; - n_container_type->m_field_name = field_name; - n_container_type->m_df_type = DF_Type::item_type; - n_container_type->m_rdf_type = RDF_Type::Vector; - n_container_type->m_node_type = NodeType::Vector; - n_container_type->m_enum_base = DF_Type::int16_t; - n_container_type->m_defined_in = "df.item-raws.xml"; - n_container_type->m_addornements = "v"; - n_container_type->m_address = base + offset; - n_container_type->m_parent = p_node_parent; - n_container_type->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_container_type); - - field_name = "container_item_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_stockpilest, field_name)); - auto n_container_item_id = new NodeVector; - n_container_item_id->m_field_name = field_name; - n_container_item_id->m_df_type = DF_Type::int32_t; - n_container_item_id->m_rdf_type = RDF_Type::Vector; - n_container_item_id->m_node_type = NodeType::Vector; - n_container_item_id->m_addornements = "v"; - n_container_item_id->m_address = base + offset; - n_container_item_id->m_parent = p_node_parent; - n_container_item_id->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_container_item_id); - - field_name = "container_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_stockpilest, field_name)); - auto n_container_x = new NodeVector; - n_container_x->m_field_name = field_name; - n_container_x->m_df_type = DF_Type::int16_t; - n_container_x->m_rdf_type = RDF_Type::Vector; - n_container_x->m_node_type = NodeType::Vector; - n_container_x->m_addornements = "v"; - n_container_x->m_address = base + offset; - n_container_x->m_parent = p_node_parent; - n_container_x->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_container_x); - - field_name = "container_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_stockpilest, field_name)); - auto n_container_y = new NodeVector; - n_container_y->m_field_name = field_name; - n_container_y->m_df_type = DF_Type::int16_t; - n_container_y->m_rdf_type = RDF_Type::Vector; - n_container_y->m_node_type = NodeType::Vector; - n_container_y->m_addornements = "v"; - n_container_y->m_address = base + offset; - n_container_y->m_parent = p_node_parent; - n_container_y->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_container_y); - - field_name = "links"; - auto n_links = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_stockpilest, field_name)); - n_links->m_field_name = field_name; - n_links->m_df_type = DF_Type::stockpile_links; - n_links->m_rdf_type = RDF_Type::Struct; - n_links->m_node_type = NodeType::Compound; - n_links->m_address = base + offset; - n_links->m_defined_in = "df.buildings.xml"; - n_links->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_links); - - field_name = "use_links_only"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_stockpilest, field_name)); - auto n_use_links_only = new NodeSimple; - n_use_links_only->m_field_name = field_name; - n_use_links_only->m_df_type = DF_Type::int32_t; - n_use_links_only->m_rdf_type = RDF_Type::int32_t; - n_use_links_only->m_node_type = NodeType::Simple; - n_use_links_only->m_address = base + offset; - n_use_links_only->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_use_links_only); - - field_name = "stockpile_number"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_stockpilest, field_name)); - auto n_stockpile_number = new NodeSimple; - n_stockpile_number->m_field_name = field_name; - n_stockpile_number->m_df_type = DF_Type::int32_t; - n_stockpile_number->m_rdf_type = RDF_Type::int32_t; - n_stockpile_number->m_node_type = NodeType::Simple; - n_stockpile_number->m_address = base + offset; - n_stockpile_number->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_stockpile_number); - - field_name = "linked_stops"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_stockpilest, field_name)); - auto n_linked_stops = new NodeVector; - n_linked_stops->m_field_name = field_name; - n_linked_stops->m_df_type = DF_Type::hauling_stop; - n_linked_stops->m_rdf_type = RDF_Type::Vector; - n_linked_stops->m_node_type = NodeType::Vector; - n_linked_stops->m_defined_in = "df.stockpile.xml"; - n_linked_stops->m_addornements = "v*"; - n_linked_stops->m_address = base + offset; - n_linked_stops->m_parent = p_node_parent; - n_linked_stops->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_linked_stops); - -} -void node_from_hauling_route(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::hauling_route, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::hauling_route, field_name)); - auto n_name = new NodeSimple; - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Stl_string; - n_name->m_node_type = NodeType::Simple; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "stops"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::hauling_route, field_name)); - auto n_stops = new NodeVector; - n_stops->m_field_name = field_name; - n_stops->m_df_type = DF_Type::hauling_stop; - n_stops->m_rdf_type = RDF_Type::Vector; - n_stops->m_node_type = NodeType::Vector; - n_stops->m_defined_in = "df.stockpile.xml"; - n_stops->m_addornements = "v*"; - n_stops->m_address = base + offset; - n_stops->m_parent = p_node_parent; - n_stops->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_stops); - - field_name = "vehicle_ids"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::hauling_route, field_name)); - auto n_vehicle_ids = new NodeVector; - n_vehicle_ids->m_field_name = field_name; - n_vehicle_ids->m_df_type = DF_Type::int32_t; - n_vehicle_ids->m_rdf_type = RDF_Type::Vector; - n_vehicle_ids->m_node_type = NodeType::Vector; - n_vehicle_ids->m_addornements = "v"; - n_vehicle_ids->m_address = base + offset; - n_vehicle_ids->m_parent = p_node_parent; - n_vehicle_ids->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_vehicle_ids); - - field_name = "vehicle_stops"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::hauling_route, field_name)); - auto n_vehicle_stops = new NodeVector; - n_vehicle_stops->m_field_name = field_name; - n_vehicle_stops->m_df_type = DF_Type::int32_t; - n_vehicle_stops->m_rdf_type = RDF_Type::Vector; - n_vehicle_stops->m_node_type = NodeType::Vector; - n_vehicle_stops->m_addornements = "v"; - n_vehicle_stops->m_address = base + offset; - n_vehicle_stops->m_parent = p_node_parent; - n_vehicle_stops->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_vehicle_stops); - -} -void node_from_hauling_stop(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::hauling_stop, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::hauling_stop, field_name)); - auto n_name = new NodeSimple; - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Stl_string; - n_name->m_node_type = NodeType::Simple; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "pos"; - auto n_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::hauling_stop, field_name)); - n_pos->m_field_name = field_name; - n_pos->m_df_type = DF_Type::coord; - n_pos->m_rdf_type = RDF_Type::Struct; - n_pos->m_node_type = NodeType::Compound; - n_pos->m_address = base + offset; - n_pos->m_defined_in = "df.map.xml"; - n_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pos); - - field_name = "settings"; - auto n_settings = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::hauling_stop, field_name)); - n_settings->m_field_name = field_name; - n_settings->m_df_type = DF_Type::stockpile_settings; - n_settings->m_rdf_type = RDF_Type::Struct; - n_settings->m_node_type = NodeType::Compound; - n_settings->m_address = base + offset; - n_settings->m_defined_in = "df.stockpile.xml"; - n_settings->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_settings); - - field_name = "conditions"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::hauling_stop, field_name)); - auto n_conditions = new NodeVector; - n_conditions->m_field_name = field_name; - n_conditions->m_df_type = DF_Type::stop_depart_condition; - n_conditions->m_rdf_type = RDF_Type::Vector; - n_conditions->m_node_type = NodeType::Vector; - n_conditions->m_defined_in = "df.stockpile.xml"; - n_conditions->m_addornements = "v*"; - n_conditions->m_address = base + offset; - n_conditions->m_parent = p_node_parent; - n_conditions->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_conditions); - - field_name = "stockpiles"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::hauling_stop, field_name)); - auto n_stockpiles = new NodeVector; - n_stockpiles->m_field_name = field_name; - n_stockpiles->m_df_type = DF_Type::route_stockpile_link; - n_stockpiles->m_rdf_type = RDF_Type::Vector; - n_stockpiles->m_node_type = NodeType::Vector; - n_stockpiles->m_defined_in = "df.stockpile.xml"; - n_stockpiles->m_addornements = "v*"; - n_stockpiles->m_address = base + offset; - n_stockpiles->m_parent = p_node_parent; - n_stockpiles->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_stockpiles); - - field_name = "time_waiting"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::hauling_stop, field_name)); - auto n_time_waiting = new NodeSimple; - n_time_waiting->m_field_name = field_name; - n_time_waiting->m_df_type = DF_Type::int32_t; - n_time_waiting->m_rdf_type = RDF_Type::int32_t; - n_time_waiting->m_node_type = NodeType::Simple; - n_time_waiting->m_address = base + offset; - n_time_waiting->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_time_waiting); - - field_name = "cart_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::hauling_stop, field_name)); - auto n_cart_id = new NodeSimple; - n_cart_id->m_field_name = field_name; - n_cart_id->m_df_type = DF_Type::int32_t; - n_cart_id->m_rdf_type = RDF_Type::int32_t; - n_cart_id->m_node_type = NodeType::Simple; - n_cart_id->m_address = base + offset; - n_cart_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cart_id); - -} -void node_from_stop_depart_condition(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "timeout"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stop_depart_condition, field_name)); - auto n_timeout = new NodeSimple; - n_timeout->m_field_name = field_name; - n_timeout->m_df_type = DF_Type::int32_t; - n_timeout->m_rdf_type = RDF_Type::int32_t; - n_timeout->m_node_type = NodeType::Simple; - n_timeout->m_address = base + offset; - n_timeout->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_timeout); - - field_name = "direction"; - auto n_direction = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stop_depart_condition, field_name)); - n_direction->m_field_name = field_name; - n_direction->m_df_type = DF_Type::stop_depart_condition__T_direction; - n_direction->m_rdf_type = RDF_Type::Enum; - n_direction->m_node_type = NodeType::Enum; - n_direction->m_base_type = DF_Type::int32_t; - n_direction->m_enum_type = "stop_depart_condition::T_direction"; - n_direction->m_address = base + offset; - n_direction->m_first_value = 0; - n_direction->m_last_value = 3; - n_direction->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_direction); - - field_name = "mode"; - auto n_mode = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stop_depart_condition, field_name)); - n_mode->m_field_name = field_name; - n_mode->m_df_type = DF_Type::stop_depart_condition__T_mode; - n_mode->m_rdf_type = RDF_Type::Enum; - n_mode->m_node_type = NodeType::Enum; - n_mode->m_base_type = DF_Type::int32_t; - n_mode->m_enum_type = "stop_depart_condition::T_mode"; - n_mode->m_address = base + offset; - n_mode->m_first_value = 0; - n_mode->m_last_value = 2; - n_mode->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mode); - - field_name = "load_percent"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stop_depart_condition, field_name)); - auto n_load_percent = new NodeSimple; - n_load_percent->m_field_name = field_name; - n_load_percent->m_df_type = DF_Type::int32_t; - n_load_percent->m_rdf_type = RDF_Type::int32_t; - n_load_percent->m_node_type = NodeType::Simple; - n_load_percent->m_address = base + offset; - n_load_percent->m_comment = "broken display unless 0, 50 or 100"; - n_load_percent->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_load_percent); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stop_depart_condition, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::stop_depart_condition__T_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "guide_path"; - auto n_guide_path = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stop_depart_condition, field_name)); - n_guide_path->m_field_name = field_name; - n_guide_path->m_df_type = DF_Type::coord_path; - n_guide_path->m_rdf_type = RDF_Type::Struct; - n_guide_path->m_node_type = NodeType::Compound; - n_guide_path->m_address = base + offset; - n_guide_path->m_defined_in = "df.map.xml"; - n_guide_path->m_comment = "initialized on first run, and saved"; - n_guide_path->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_guide_path); - -} -void node_from_vehicle(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::vehicle, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "item_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::vehicle, field_name)); - auto n_item_id = new NodeSimple; - n_item_id->m_field_name = field_name; - n_item_id->m_df_type = DF_Type::int32_t; - n_item_id->m_rdf_type = RDF_Type::int32_t; - n_item_id->m_node_type = NodeType::Simple; - n_item_id->m_address = base + offset; - n_item_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_id); - - field_name = "offset_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::vehicle, field_name)); - auto n_offset_x = new NodeSimple; - n_offset_x->m_field_name = field_name; - n_offset_x->m_df_type = DF_Type::int32_t; - n_offset_x->m_rdf_type = RDF_Type::int32_t; - n_offset_x->m_node_type = NodeType::Simple; - n_offset_x->m_address = base + offset; - n_offset_x->m_comment = "-50000..50000"; - n_offset_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_offset_x); - - field_name = "offset_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::vehicle, field_name)); - auto n_offset_y = new NodeSimple; - n_offset_y->m_field_name = field_name; - n_offset_y->m_df_type = DF_Type::int32_t; - n_offset_y->m_rdf_type = RDF_Type::int32_t; - n_offset_y->m_node_type = NodeType::Simple; - n_offset_y->m_address = base + offset; - n_offset_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_offset_y); - - field_name = "offset_z"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::vehicle, field_name)); - auto n_offset_z = new NodeSimple; - n_offset_z->m_field_name = field_name; - n_offset_z->m_df_type = DF_Type::int32_t; - n_offset_z->m_rdf_type = RDF_Type::int32_t; - n_offset_z->m_node_type = NodeType::Simple; - n_offset_z->m_address = base + offset; - n_offset_z->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_offset_z); - - field_name = "speed_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::vehicle, field_name)); - auto n_speed_x = new NodeSimple; - n_speed_x->m_field_name = field_name; - n_speed_x->m_df_type = DF_Type::int32_t; - n_speed_x->m_rdf_type = RDF_Type::int32_t; - n_speed_x->m_node_type = NodeType::Simple; - n_speed_x->m_address = base + offset; - n_speed_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_speed_x); - - field_name = "speed_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::vehicle, field_name)); - auto n_speed_y = new NodeSimple; - n_speed_y->m_field_name = field_name; - n_speed_y->m_df_type = DF_Type::int32_t; - n_speed_y->m_rdf_type = RDF_Type::int32_t; - n_speed_y->m_node_type = NodeType::Simple; - n_speed_y->m_address = base + offset; - n_speed_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_speed_y); - - field_name = "speed_z"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::vehicle, field_name)); - auto n_speed_z = new NodeSimple; - n_speed_z->m_field_name = field_name; - n_speed_z->m_df_type = DF_Type::int32_t; - n_speed_z->m_rdf_type = RDF_Type::int32_t; - n_speed_z->m_node_type = NodeType::Simple; - n_speed_z->m_address = base + offset; - n_speed_z->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_speed_z); - - field_name = "unk_20"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::vehicle, field_name)); - auto n_unk_20 = new NodeSimple; - n_unk_20->m_field_name = field_name; - n_unk_20->m_df_type = DF_Type::int32_t; - n_unk_20->m_rdf_type = RDF_Type::int32_t; - n_unk_20->m_node_type = NodeType::Simple; - n_unk_20->m_address = base + offset; - n_unk_20->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_20); - - field_name = "unk_24"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::vehicle, field_name)); - auto n_unk_24 = new NodeSimple; - n_unk_24->m_field_name = field_name; - n_unk_24->m_df_type = DF_Type::int32_t; - n_unk_24->m_rdf_type = RDF_Type::int32_t; - n_unk_24->m_node_type = NodeType::Simple; - n_unk_24->m_address = base + offset; - n_unk_24->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_24); - - field_name = "unk_28"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::vehicle, field_name)); - auto n_unk_28 = new NodeSimple; - n_unk_28->m_field_name = field_name; - n_unk_28->m_df_type = DF_Type::int32_t; - n_unk_28->m_rdf_type = RDF_Type::int32_t; - n_unk_28->m_node_type = NodeType::Simple; - n_unk_28->m_address = base + offset; - n_unk_28->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_28); - - field_name = "unk_2c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::vehicle, field_name)); - auto n_unk_2c = new NodeSimple; - n_unk_2c->m_field_name = field_name; - n_unk_2c->m_df_type = DF_Type::int32_t; - n_unk_2c->m_rdf_type = RDF_Type::int32_t; - n_unk_2c->m_node_type = NodeType::Simple; - n_unk_2c->m_address = base + offset; - n_unk_2c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_2c); - - field_name = "route_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::vehicle, field_name)); - auto n_route_id = new NodeSimple; - n_route_id->m_field_name = field_name; - n_route_id->m_df_type = DF_Type::int32_t; - n_route_id->m_rdf_type = RDF_Type::int32_t; - n_route_id->m_node_type = NodeType::Simple; - n_route_id->m_address = base + offset; - n_route_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_route_id); - - field_name = "pos"; - auto n_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::vehicle, field_name)); - n_pos->m_field_name = field_name; - n_pos->m_df_type = DF_Type::coord; - n_pos->m_rdf_type = RDF_Type::Struct; - n_pos->m_node_type = NodeType::Compound; - n_pos->m_address = base + offset; - n_pos->m_defined_in = "df.map.xml"; - n_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pos); - - field_name = "time_stopped"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::vehicle, field_name)); - auto n_time_stopped = new NodeSimple; - n_time_stopped->m_field_name = field_name; - n_time_stopped->m_df_type = DF_Type::int32_t; - n_time_stopped->m_rdf_type = RDF_Type::int32_t; - n_time_stopped->m_node_type = NodeType::Simple; - n_time_stopped->m_address = base + offset; - n_time_stopped->m_comment = "frames, up to 1000"; - n_time_stopped->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_time_stopped); - -} -void node_from_creature_interaction_effect_target(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mode"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_target, field_name)); - auto n_mode = new NodeVector; - n_mode->m_field_name = field_name; - n_mode->m_df_type = DF_Type::creature_interaction_effect_target_mode; - n_mode->m_rdf_type = RDF_Type::Vector; - n_mode->m_node_type = NodeType::Vector; - n_mode->m_enum_base = DF_Type::int16_t; - n_mode->m_defined_in = "df.syndrome.xml"; - n_mode->m_addornements = "v"; - n_mode->m_address = base + offset; - n_mode->m_parent = p_node_parent; - n_mode->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_mode); - - field_name = "key"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_target, field_name)); - auto n_key = new NodeVector; - n_key->m_field_name = field_name; - n_key->m_df_type = DF_Type::Stl_string; - n_key->m_rdf_type = RDF_Type::Vector; - n_key->m_node_type = NodeType::Vector; - n_key->m_addornements = "v*"; - n_key->m_address = base + offset; - n_key->m_parent = p_node_parent; - n_key->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_key); - - field_name = "tissue"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_target, field_name)); - auto n_tissue = new NodeVector; - n_tissue->m_field_name = field_name; - n_tissue->m_df_type = DF_Type::Stl_string; - n_tissue->m_rdf_type = RDF_Type::Vector; - n_tissue->m_node_type = NodeType::Vector; - n_tissue->m_addornements = "v*"; - n_tissue->m_address = base + offset; - n_tissue->m_parent = p_node_parent; - n_tissue->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_tissue); - -} -void node_from_creature_interaction_effect__T_counter_trigger(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "counter"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect__T_counter_trigger, field_name)); - auto n_counter = new NodeVector; - n_counter->m_field_name = field_name; - n_counter->m_df_type = DF_Type::misc_trait_type; - n_counter->m_rdf_type = RDF_Type::Vector; - n_counter->m_node_type = NodeType::Vector; - n_counter->m_enum_base = DF_Type::int32_t; - n_counter->m_defined_in = "df.units.xml"; - n_counter->m_addornements = "v"; - n_counter->m_address = base + offset; - n_counter->m_parent = p_node_parent; - n_counter->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_counter); - - field_name = "minval"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect__T_counter_trigger, field_name)); - auto n_minval = new NodeVector; - n_minval->m_field_name = field_name; - n_minval->m_df_type = DF_Type::int32_t; - n_minval->m_rdf_type = RDF_Type::Vector; - n_minval->m_node_type = NodeType::Vector; - n_minval->m_addornements = "v"; - n_minval->m_address = base + offset; - n_minval->m_comment = "?"; - n_minval->m_parent = p_node_parent; - n_minval->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_minval); - - field_name = "maxval"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect__T_counter_trigger, field_name)); - auto n_maxval = new NodeVector; - n_maxval->m_field_name = field_name; - n_maxval->m_df_type = DF_Type::int32_t; - n_maxval->m_rdf_type = RDF_Type::Vector; - n_maxval->m_node_type = NodeType::Vector; - n_maxval->m_addornements = "v"; - n_maxval->m_address = base + offset; - n_maxval->m_comment = "?"; - n_maxval->m_parent = p_node_parent; - n_maxval->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_maxval); - - field_name = "required"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect__T_counter_trigger, field_name)); - auto n_required = new NodeVector; - n_required->m_field_name = field_name; - n_required->m_df_type = DF_Type::int32_t; - n_required->m_rdf_type = RDF_Type::Vector; - n_required->m_node_type = NodeType::Vector; - n_required->m_addornements = "v"; - n_required->m_address = base + offset; - n_required->m_parent = p_node_parent; - n_required->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_required); - -} -void node_from_creature_interaction_effect(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::creature_interaction_effect_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_defined_in = "df.syndrome.xml"; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "prob"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect, field_name)); - auto n_prob = new NodeSimple; - n_prob->m_field_name = field_name; - n_prob->m_df_type = DF_Type::int32_t; - n_prob->m_rdf_type = RDF_Type::int32_t; - n_prob->m_node_type = NodeType::Simple; - n_prob->m_address = base + offset; - n_prob->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_prob); - - field_name = "start"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect, field_name)); - auto n_start = new NodeSimple; - n_start->m_field_name = field_name; - n_start->m_df_type = DF_Type::int32_t; - n_start->m_rdf_type = RDF_Type::int32_t; - n_start->m_node_type = NodeType::Simple; - n_start->m_address = base + offset; - n_start->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_start); - - field_name = "peak"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect, field_name)); - auto n_peak = new NodeSimple; - n_peak->m_field_name = field_name; - n_peak->m_df_type = DF_Type::int32_t; - n_peak->m_rdf_type = RDF_Type::int32_t; - n_peak->m_node_type = NodeType::Simple; - n_peak->m_address = base + offset; - n_peak->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_peak); - - field_name = "end"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect, field_name)); - auto n_end = new NodeSimple; - n_end->m_field_name = field_name; - n_end->m_df_type = DF_Type::int32_t; - n_end->m_rdf_type = RDF_Type::int32_t; - n_end->m_node_type = NodeType::Simple; - n_end->m_address = base + offset; - n_end->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_end); - - field_name = "dwf_stretch"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect, field_name)); - auto n_dwf_stretch = new NodeSimple; - n_dwf_stretch->m_field_name = field_name; - n_dwf_stretch->m_df_type = DF_Type::int32_t; - n_dwf_stretch->m_rdf_type = RDF_Type::int32_t; - n_dwf_stretch->m_node_type = NodeType::Simple; - n_dwf_stretch->m_address = base + offset; - n_dwf_stretch->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dwf_stretch); - - field_name = "syn_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect, field_name)); - auto n_syn_id = new NodeSimple; - n_syn_id->m_field_name = field_name; - n_syn_id->m_df_type = DF_Type::int32_t; - n_syn_id->m_rdf_type = RDF_Type::int32_t; - n_syn_id->m_node_type = NodeType::Simple; - n_syn_id->m_address = base + offset; - n_syn_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_syn_id); - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "syn_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect, field_name)); - auto n_syn_index = new NodeSimple; - n_syn_index->m_field_name = field_name; - n_syn_index->m_df_type = DF_Type::int32_t; - n_syn_index->m_rdf_type = RDF_Type::int32_t; - n_syn_index->m_node_type = NodeType::Simple; - n_syn_index->m_address = base + offset; - n_syn_index->m_comment = "index in syndrome"; - n_syn_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_syn_index); - - field_name = "moon_phase_min"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect, field_name)); - auto n_moon_phase_min = new NodeSimple; - n_moon_phase_min->m_field_name = field_name; - n_moon_phase_min->m_df_type = DF_Type::int32_t; - n_moon_phase_min->m_rdf_type = RDF_Type::int32_t; - n_moon_phase_min->m_node_type = NodeType::Simple; - n_moon_phase_min->m_address = base + offset; - n_moon_phase_min->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_moon_phase_min); - - field_name = "moon_phase_max"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect, field_name)); - auto n_moon_phase_max = new NodeSimple; - n_moon_phase_max->m_field_name = field_name; - n_moon_phase_max->m_df_type = DF_Type::int32_t; - n_moon_phase_max->m_rdf_type = RDF_Type::int32_t; - n_moon_phase_max->m_node_type = NodeType::Simple; - n_moon_phase_max->m_address = base + offset; - n_moon_phase_max->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_moon_phase_max); - - field_name = "counter_trigger"; - auto n_counter_trigger = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect, field_name)); - n_counter_trigger->m_field_name = field_name; - n_counter_trigger->m_df_type = DF_Type::creature_interaction_effect__T_counter_trigger; - n_counter_trigger->m_rdf_type = RDF_Type::Compound; - n_counter_trigger->m_node_type = NodeType::Compound; - n_counter_trigger->m_address = base + offset; - n_counter_trigger->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_counter_trigger); - -} -void node_from_creature_interaction_effect_painst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::creature_interaction_effect; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_creature_interaction_effect(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "sev"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_painst, field_name)); - auto n_sev = new NodeSimple; - n_sev->m_field_name = field_name; - n_sev->m_df_type = DF_Type::int32_t; - n_sev->m_rdf_type = RDF_Type::int32_t; - n_sev->m_node_type = NodeType::Simple; - n_sev->m_address = base + offset; - n_sev->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sev); - - field_name = "target"; - auto n_target = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_painst, field_name)); - n_target->m_field_name = field_name; - n_target->m_df_type = DF_Type::creature_interaction_effect_target; - n_target->m_rdf_type = RDF_Type::Struct; - n_target->m_node_type = NodeType::Compound; - n_target->m_address = base + offset; - n_target->m_defined_in = "df.syndrome.xml"; - n_target->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_target); - -} -void node_from_creature_interaction_effect_swellingst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::creature_interaction_effect; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_creature_interaction_effect(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "sev"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_swellingst, field_name)); - auto n_sev = new NodeSimple; - n_sev->m_field_name = field_name; - n_sev->m_df_type = DF_Type::int32_t; - n_sev->m_rdf_type = RDF_Type::int32_t; - n_sev->m_node_type = NodeType::Simple; - n_sev->m_address = base + offset; - n_sev->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sev); - - field_name = "target"; - auto n_target = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_swellingst, field_name)); - n_target->m_field_name = field_name; - n_target->m_df_type = DF_Type::creature_interaction_effect_target; - n_target->m_rdf_type = RDF_Type::Struct; - n_target->m_node_type = NodeType::Compound; - n_target->m_address = base + offset; - n_target->m_defined_in = "df.syndrome.xml"; - n_target->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_target); - -} -void node_from_creature_interaction_effect_oozingst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::creature_interaction_effect; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_creature_interaction_effect(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "sev"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_oozingst, field_name)); - auto n_sev = new NodeSimple; - n_sev->m_field_name = field_name; - n_sev->m_df_type = DF_Type::int32_t; - n_sev->m_rdf_type = RDF_Type::int32_t; - n_sev->m_node_type = NodeType::Simple; - n_sev->m_address = base + offset; - n_sev->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sev); - - field_name = "target"; - auto n_target = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_oozingst, field_name)); - n_target->m_field_name = field_name; - n_target->m_df_type = DF_Type::creature_interaction_effect_target; - n_target->m_rdf_type = RDF_Type::Struct; - n_target->m_node_type = NodeType::Compound; - n_target->m_address = base + offset; - n_target->m_defined_in = "df.syndrome.xml"; - n_target->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_target); - -} -void node_from_creature_interaction_effect_bruisingst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::creature_interaction_effect; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_creature_interaction_effect(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "sev"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_bruisingst, field_name)); - auto n_sev = new NodeSimple; - n_sev->m_field_name = field_name; - n_sev->m_df_type = DF_Type::int32_t; - n_sev->m_rdf_type = RDF_Type::int32_t; - n_sev->m_node_type = NodeType::Simple; - n_sev->m_address = base + offset; - n_sev->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sev); - - field_name = "target"; - auto n_target = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_bruisingst, field_name)); - n_target->m_field_name = field_name; - n_target->m_df_type = DF_Type::creature_interaction_effect_target; - n_target->m_rdf_type = RDF_Type::Struct; - n_target->m_node_type = NodeType::Compound; - n_target->m_address = base + offset; - n_target->m_defined_in = "df.syndrome.xml"; - n_target->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_target); - -} -void node_from_creature_interaction_effect_blistersst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::creature_interaction_effect; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_creature_interaction_effect(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "sev"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_blistersst, field_name)); - auto n_sev = new NodeSimple; - n_sev->m_field_name = field_name; - n_sev->m_df_type = DF_Type::int32_t; - n_sev->m_rdf_type = RDF_Type::int32_t; - n_sev->m_node_type = NodeType::Simple; - n_sev->m_address = base + offset; - n_sev->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sev); - - field_name = "target"; - auto n_target = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_blistersst, field_name)); - n_target->m_field_name = field_name; - n_target->m_df_type = DF_Type::creature_interaction_effect_target; - n_target->m_rdf_type = RDF_Type::Struct; - n_target->m_node_type = NodeType::Compound; - n_target->m_address = base + offset; - n_target->m_defined_in = "df.syndrome.xml"; - n_target->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_target); - -} -void node_from_creature_interaction_effect_numbnessst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::creature_interaction_effect; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_creature_interaction_effect(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "sev"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_numbnessst, field_name)); - auto n_sev = new NodeSimple; - n_sev->m_field_name = field_name; - n_sev->m_df_type = DF_Type::int32_t; - n_sev->m_rdf_type = RDF_Type::int32_t; - n_sev->m_node_type = NodeType::Simple; - n_sev->m_address = base + offset; - n_sev->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sev); - - field_name = "target"; - auto n_target = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_numbnessst, field_name)); - n_target->m_field_name = field_name; - n_target->m_df_type = DF_Type::creature_interaction_effect_target; - n_target->m_rdf_type = RDF_Type::Struct; - n_target->m_node_type = NodeType::Compound; - n_target->m_address = base + offset; - n_target->m_defined_in = "df.syndrome.xml"; - n_target->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_target); - -} -void node_from_creature_interaction_effect_paralysisst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::creature_interaction_effect; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_creature_interaction_effect(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "sev"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_paralysisst, field_name)); - auto n_sev = new NodeSimple; - n_sev->m_field_name = field_name; - n_sev->m_df_type = DF_Type::int32_t; - n_sev->m_rdf_type = RDF_Type::int32_t; - n_sev->m_node_type = NodeType::Simple; - n_sev->m_address = base + offset; - n_sev->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sev); - - field_name = "target"; - auto n_target = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_paralysisst, field_name)); - n_target->m_field_name = field_name; - n_target->m_df_type = DF_Type::creature_interaction_effect_target; - n_target->m_rdf_type = RDF_Type::Struct; - n_target->m_node_type = NodeType::Compound; - n_target->m_address = base + offset; - n_target->m_defined_in = "df.syndrome.xml"; - n_target->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_target); - -} -void node_from_creature_interaction_effect_feverst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::creature_interaction_effect; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_creature_interaction_effect(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "sev"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_feverst, field_name)); - auto n_sev = new NodeSimple; - n_sev->m_field_name = field_name; - n_sev->m_df_type = DF_Type::int32_t; - n_sev->m_rdf_type = RDF_Type::int32_t; - n_sev->m_node_type = NodeType::Simple; - n_sev->m_address = base + offset; - n_sev->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sev); - -} -void node_from_creature_interaction_effect_bleedingst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::creature_interaction_effect; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_creature_interaction_effect(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "sev"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_bleedingst, field_name)); - auto n_sev = new NodeSimple; - n_sev->m_field_name = field_name; - n_sev->m_df_type = DF_Type::int32_t; - n_sev->m_rdf_type = RDF_Type::int32_t; - n_sev->m_node_type = NodeType::Simple; - n_sev->m_address = base + offset; - n_sev->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sev); - - field_name = "target"; - auto n_target = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_bleedingst, field_name)); - n_target->m_field_name = field_name; - n_target->m_df_type = DF_Type::creature_interaction_effect_target; - n_target->m_rdf_type = RDF_Type::Struct; - n_target->m_node_type = NodeType::Compound; - n_target->m_address = base + offset; - n_target->m_defined_in = "df.syndrome.xml"; - n_target->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_target); - -} -void node_from_creature_interaction_effect_cough_bloodst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::creature_interaction_effect; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_creature_interaction_effect(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "sev"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_cough_bloodst, field_name)); - auto n_sev = new NodeSimple; - n_sev->m_field_name = field_name; - n_sev->m_df_type = DF_Type::int32_t; - n_sev->m_rdf_type = RDF_Type::int32_t; - n_sev->m_node_type = NodeType::Simple; - n_sev->m_address = base + offset; - n_sev->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sev); - -} -void node_from_creature_interaction_effect_vomit_bloodst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::creature_interaction_effect; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_creature_interaction_effect(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "sev"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_vomit_bloodst, field_name)); - auto n_sev = new NodeSimple; - n_sev->m_field_name = field_name; - n_sev->m_df_type = DF_Type::int32_t; - n_sev->m_rdf_type = RDF_Type::int32_t; - n_sev->m_node_type = NodeType::Simple; - n_sev->m_address = base + offset; - n_sev->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sev); - -} -void node_from_creature_interaction_effect_nauseast(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::creature_interaction_effect; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_creature_interaction_effect(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "sev"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_nauseast, field_name)); - auto n_sev = new NodeSimple; - n_sev->m_field_name = field_name; - n_sev->m_df_type = DF_Type::int32_t; - n_sev->m_rdf_type = RDF_Type::int32_t; - n_sev->m_node_type = NodeType::Simple; - n_sev->m_address = base + offset; - n_sev->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sev); - -} -void node_from_creature_interaction_effect_unconsciousnessst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::creature_interaction_effect; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_creature_interaction_effect(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "sev"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_unconsciousnessst, field_name)); - auto n_sev = new NodeSimple; - n_sev->m_field_name = field_name; - n_sev->m_df_type = DF_Type::int32_t; - n_sev->m_rdf_type = RDF_Type::int32_t; - n_sev->m_node_type = NodeType::Simple; - n_sev->m_address = base + offset; - n_sev->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sev); - -} -void node_from_creature_interaction_effect_necrosisst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::creature_interaction_effect; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_creature_interaction_effect(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "sev"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_necrosisst, field_name)); - auto n_sev = new NodeSimple; - n_sev->m_field_name = field_name; - n_sev->m_df_type = DF_Type::int32_t; - n_sev->m_rdf_type = RDF_Type::int32_t; - n_sev->m_node_type = NodeType::Simple; - n_sev->m_address = base + offset; - n_sev->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sev); - - field_name = "target"; - auto n_target = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_necrosisst, field_name)); - n_target->m_field_name = field_name; - n_target->m_df_type = DF_Type::creature_interaction_effect_target; - n_target->m_rdf_type = RDF_Type::Struct; - n_target->m_node_type = NodeType::Compound; - n_target->m_address = base + offset; - n_target->m_defined_in = "df.syndrome.xml"; - n_target->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_target); - -} -void node_from_creature_interaction_effect_impair_functionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::creature_interaction_effect; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_creature_interaction_effect(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "sev"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_impair_functionst, field_name)); - auto n_sev = new NodeSimple; - n_sev->m_field_name = field_name; - n_sev->m_df_type = DF_Type::int32_t; - n_sev->m_rdf_type = RDF_Type::int32_t; - n_sev->m_node_type = NodeType::Simple; - n_sev->m_address = base + offset; - n_sev->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sev); - - field_name = "target"; - auto n_target = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_impair_functionst, field_name)); - n_target->m_field_name = field_name; - n_target->m_df_type = DF_Type::creature_interaction_effect_target; - n_target->m_rdf_type = RDF_Type::Struct; - n_target->m_node_type = NodeType::Compound; - n_target->m_address = base + offset; - n_target->m_defined_in = "df.syndrome.xml"; - n_target->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_target); - -} -void node_from_creature_interaction_effect_drowsinessst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::creature_interaction_effect; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_creature_interaction_effect(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "sev"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_drowsinessst, field_name)); - auto n_sev = new NodeSimple; - n_sev->m_field_name = field_name; - n_sev->m_df_type = DF_Type::int32_t; - n_sev->m_rdf_type = RDF_Type::int32_t; - n_sev->m_node_type = NodeType::Simple; - n_sev->m_address = base + offset; - n_sev->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sev); - -} -void node_from_creature_interaction_effect_dizzinessst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::creature_interaction_effect; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_creature_interaction_effect(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "sev"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_dizzinessst, field_name)); - auto n_sev = new NodeSimple; - n_sev->m_field_name = field_name; - n_sev->m_df_type = DF_Type::int32_t; - n_sev->m_rdf_type = RDF_Type::int32_t; - n_sev->m_node_type = NodeType::Simple; - n_sev->m_address = base + offset; - n_sev->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sev); - -} -void node_from_creature_interaction_effect_display_namest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::creature_interaction_effect; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_creature_interaction_effect(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_display_namest, field_name)); - auto n_name = new NodeSimple; - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Stl_string; - n_name->m_node_type = NodeType::Simple; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "name_plural"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_display_namest, field_name)); - auto n_name_plural = new NodeSimple; - n_name_plural->m_field_name = field_name; - n_name_plural->m_df_type = DF_Type::Stl_string; - n_name_plural->m_rdf_type = RDF_Type::Stl_string; - n_name_plural->m_node_type = NodeType::Simple; - n_name_plural->m_address = base + offset; - n_name_plural->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name_plural); - - field_name = "name_adj"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_display_namest, field_name)); - auto n_name_adj = new NodeSimple; - n_name_adj->m_field_name = field_name; - n_name_adj->m_df_type = DF_Type::Stl_string; - n_name_adj->m_rdf_type = RDF_Type::Stl_string; - n_name_adj->m_node_type = NodeType::Simple; - n_name_adj->m_address = base + offset; - n_name_adj->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name_adj); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_display_namest, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_creature_interaction_effect_body_appearance_modifierst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::creature_interaction_effect; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_creature_interaction_effect(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk_60"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_body_appearance_modifierst, field_name)); - auto n_unk_60 = new NodeSimple; - n_unk_60->m_field_name = field_name; - n_unk_60->m_df_type = DF_Type::int16_t; - n_unk_60->m_rdf_type = RDF_Type::int16_t; - n_unk_60->m_node_type = NodeType::Simple; - n_unk_60->m_address = base + offset; - n_unk_60->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_60); - - field_name = "unk_64"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_body_appearance_modifierst, field_name)); - auto n_unk_64 = new NodeSimple; - n_unk_64->m_field_name = field_name; - n_unk_64->m_df_type = DF_Type::int32_t; - n_unk_64->m_rdf_type = RDF_Type::int32_t; - n_unk_64->m_node_type = NodeType::Simple; - n_unk_64->m_address = base + offset; - n_unk_64->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_64); - -} -void node_from_creature_interaction_effect_bp_appearance_modifierst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::creature_interaction_effect; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_creature_interaction_effect(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk_6c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_bp_appearance_modifierst, field_name)); - auto n_unk_6c = new NodeSimple; - n_unk_6c->m_field_name = field_name; - n_unk_6c->m_df_type = DF_Type::int16_t; - n_unk_6c->m_rdf_type = RDF_Type::int16_t; - n_unk_6c->m_node_type = NodeType::Simple; - n_unk_6c->m_address = base + offset; - n_unk_6c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_6c); - - field_name = "value"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_bp_appearance_modifierst, field_name)); - auto n_value = new NodeSimple; - n_value->m_field_name = field_name; - n_value->m_df_type = DF_Type::int32_t; - n_value->m_rdf_type = RDF_Type::int32_t; - n_value->m_node_type = NodeType::Simple; - n_value->m_address = base + offset; - n_value->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_value); - - field_name = "target"; - auto n_target = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_bp_appearance_modifierst, field_name)); - n_target->m_field_name = field_name; - n_target->m_df_type = DF_Type::creature_interaction_effect_target; - n_target->m_rdf_type = RDF_Type::Struct; - n_target->m_node_type = NodeType::Compound; - n_target->m_address = base + offset; - n_target->m_defined_in = "df.syndrome.xml"; - n_target->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_target); - -} -void node_from_creature_interaction_effect_body_transformationst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::creature_interaction_effect; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_creature_interaction_effect(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "chance"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_body_transformationst, field_name)); - auto n_chance = new NodeSimple; - n_chance->m_field_name = field_name; - n_chance->m_df_type = DF_Type::int32_t; - n_chance->m_rdf_type = RDF_Type::int32_t; - n_chance->m_node_type = NodeType::Simple; - n_chance->m_address = base + offset; - n_chance->m_comment = "%"; - n_chance->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_chance); - - field_name = "race_str"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_body_transformationst, field_name)); - auto n_race_str = new NodeSimple; - n_race_str->m_field_name = field_name; - n_race_str->m_df_type = DF_Type::Stl_string; - n_race_str->m_rdf_type = RDF_Type::Stl_string; - n_race_str->m_node_type = NodeType::Simple; - n_race_str->m_address = base + offset; - n_race_str->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_race_str); - - field_name = "caste_str"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_body_transformationst, field_name)); - auto n_caste_str = new NodeSimple; - n_caste_str->m_field_name = field_name; - n_caste_str->m_df_type = DF_Type::Stl_string; - n_caste_str->m_rdf_type = RDF_Type::Stl_string; - n_caste_str->m_node_type = NodeType::Simple; - n_caste_str->m_address = base + offset; - n_caste_str->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_caste_str); - - field_name = "race"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_body_transformationst, field_name)); - auto n_race = new NodeSimple; - n_race->m_field_name = field_name; - n_race->m_df_type = DF_Type::int32_t; - n_race->m_rdf_type = RDF_Type::int32_t; - n_race->m_node_type = NodeType::Simple; - n_race->m_address = base + offset; - n_race->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_race); - - field_name = "caste"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_body_transformationst, field_name)); - auto n_caste = new NodeSimple; - n_caste->m_field_name = field_name; - n_caste->m_df_type = DF_Type::int16_t; - n_caste->m_rdf_type = RDF_Type::int16_t; - n_caste->m_node_type = NodeType::Simple; - n_caste->m_address = base + offset; - n_caste->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_caste); - -} -void node_from_creature_interaction_effect_skill_roll_adjustst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::creature_interaction_effect; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_creature_interaction_effect(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "multiplier"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_skill_roll_adjustst, field_name)); - auto n_multiplier = new NodeSimple; - n_multiplier->m_field_name = field_name; - n_multiplier->m_df_type = DF_Type::int32_t; - n_multiplier->m_rdf_type = RDF_Type::int32_t; - n_multiplier->m_node_type = NodeType::Simple; - n_multiplier->m_address = base + offset; - n_multiplier->m_comment = "% change for skill"; - n_multiplier->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_multiplier); - - field_name = "chance"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_skill_roll_adjustst, field_name)); - auto n_chance = new NodeSimple; - n_chance->m_field_name = field_name; - n_chance->m_df_type = DF_Type::int32_t; - n_chance->m_rdf_type = RDF_Type::int32_t; - n_chance->m_node_type = NodeType::Simple; - n_chance->m_address = base + offset; - n_chance->m_comment = "% probability per roll"; - n_chance->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_chance); - -} -void node_from_creature_interaction_effect_display_symbolst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::creature_interaction_effect; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_creature_interaction_effect(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "tile"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_display_symbolst, field_name)); - auto n_tile = new NodeSimple; - n_tile->m_field_name = field_name; - n_tile->m_df_type = DF_Type::int32_t; - n_tile->m_rdf_type = RDF_Type::int32_t; - n_tile->m_node_type = NodeType::Simple; - n_tile->m_address = base + offset; - n_tile->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tile); - - field_name = "color"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_display_symbolst, field_name)); - auto n_color = new NodeSimple; - n_color->m_field_name = field_name; - n_color->m_df_type = DF_Type::int32_t; - n_color->m_rdf_type = RDF_Type::int32_t; - n_color->m_node_type = NodeType::Simple; - n_color->m_address = base + offset; - n_color->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_color); - -} -void node_from_creature_interaction_effect_flash_symbolst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::creature_interaction_effect; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_creature_interaction_effect(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "sym_color"; - auto n_sym_color = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_flash_symbolst, field_name)); - n_sym_color->m_field_name = field_name; - n_sym_color->m_df_type = DF_Type::uint8_t; - n_sym_color->m_rdf_type = RDF_Type::Array; - n_sym_color->m_node_type = NodeType::Array; - n_sym_color->m_addornements = "[4"; - n_sym_color->m_array_size = 4; - n_sym_color->m_address = base + offset; - n_sym_color->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sym_color); - - field_name = "period"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_flash_symbolst, field_name)); - auto n_period = new NodeSimple; - n_period->m_field_name = field_name; - n_period->m_df_type = DF_Type::int32_t; - n_period->m_rdf_type = RDF_Type::int32_t; - n_period->m_node_type = NodeType::Simple; - n_period->m_address = base + offset; - n_period->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_period); - - field_name = "time"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_flash_symbolst, field_name)); - auto n_time = new NodeSimple; - n_time->m_field_name = field_name; - n_time->m_df_type = DF_Type::int32_t; - n_time->m_rdf_type = RDF_Type::int32_t; - n_time->m_node_type = NodeType::Simple; - n_time->m_address = base + offset; - n_time->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_time); - - field_name = "unk_78"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_flash_symbolst, field_name)); - auto n_unk_78 = new NodeSimple; - n_unk_78->m_field_name = field_name; - n_unk_78->m_df_type = DF_Type::int32_t; - n_unk_78->m_rdf_type = RDF_Type::int32_t; - n_unk_78->m_node_type = NodeType::Simple; - n_unk_78->m_address = base + offset; - n_unk_78->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_78); - -} -void node_from_creature_interaction_effect_phys_att_changest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::creature_interaction_effect; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_creature_interaction_effect(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "phys_att_perc"; - auto n_phys_att_perc = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_phys_att_changest, field_name)); - n_phys_att_perc->m_field_name = field_name; - n_phys_att_perc->m_df_type = DF_Type::int32_t; - n_phys_att_perc->m_rdf_type = RDF_Type::Array; - n_phys_att_perc->m_node_type = NodeType::Array; - n_phys_att_perc->m_index_enum = DF_Type::physical_attribute_type; - n_phys_att_perc->m_addornements = "[6"; - n_phys_att_perc->m_array_size = 6; - n_phys_att_perc->m_address = base + offset; - n_phys_att_perc->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_phys_att_perc); - - field_name = "phys_att_add"; - auto n_phys_att_add = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_phys_att_changest, field_name)); - n_phys_att_add->m_field_name = field_name; - n_phys_att_add->m_df_type = DF_Type::int32_t; - n_phys_att_add->m_rdf_type = RDF_Type::Array; - n_phys_att_add->m_node_type = NodeType::Array; - n_phys_att_add->m_index_enum = DF_Type::physical_attribute_type; - n_phys_att_add->m_addornements = "[6"; - n_phys_att_add->m_array_size = 6; - n_phys_att_add->m_address = base + offset; - n_phys_att_add->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_phys_att_add); - -} -void node_from_creature_interaction_effect_ment_att_changest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::creature_interaction_effect; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_creature_interaction_effect(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "ment_att_perc"; - auto n_ment_att_perc = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_ment_att_changest, field_name)); - n_ment_att_perc->m_field_name = field_name; - n_ment_att_perc->m_df_type = DF_Type::int32_t; - n_ment_att_perc->m_rdf_type = RDF_Type::Array; - n_ment_att_perc->m_node_type = NodeType::Array; - n_ment_att_perc->m_index_enum = DF_Type::mental_attribute_type; - n_ment_att_perc->m_addornements = "[13"; - n_ment_att_perc->m_array_size = 13; - n_ment_att_perc->m_address = base + offset; - n_ment_att_perc->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ment_att_perc); - - field_name = "ment_att_add"; - auto n_ment_att_add = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_ment_att_changest, field_name)); - n_ment_att_add->m_field_name = field_name; - n_ment_att_add->m_df_type = DF_Type::int32_t; - n_ment_att_add->m_rdf_type = RDF_Type::Array; - n_ment_att_add->m_node_type = NodeType::Array; - n_ment_att_add->m_index_enum = DF_Type::mental_attribute_type; - n_ment_att_add->m_addornements = "[13"; - n_ment_att_add->m_array_size = 13; - n_ment_att_add->m_address = base + offset; - n_ment_att_add->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ment_att_add); - -} -void node_from_creature_interaction_effect_add_simple_flagst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::creature_interaction_effect; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_creature_interaction_effect(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "tags1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_add_simple_flagst, field_name)); - auto n_tags1 = new NodeBitfield; - n_tags1->m_field_name = field_name; - n_tags1->m_df_type = DF_Type::cie_add_tag_mask1; - n_tags1->m_rdf_type = RDF_Type::Bitfield; - n_tags1->m_node_type = NodeType::Bitfield; - n_tags1->m_address = base + offset; - n_tags1->m_defined_in = "df.syndrome.xml"; - n_tags1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tags1); - - field_name = "tags2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_add_simple_flagst, field_name)); - auto n_tags2 = new NodeBitfield; - n_tags2->m_field_name = field_name; - n_tags2->m_df_type = DF_Type::cie_add_tag_mask2; - n_tags2->m_rdf_type = RDF_Type::Bitfield; - n_tags2->m_node_type = NodeType::Bitfield; - n_tags2->m_address = base + offset; - n_tags2->m_defined_in = "df.syndrome.xml"; - n_tags2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tags2); - -} -void node_from_creature_interaction_effect_remove_simple_flagst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::creature_interaction_effect; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_creature_interaction_effect(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "tags1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_remove_simple_flagst, field_name)); - auto n_tags1 = new NodeBitfield; - n_tags1->m_field_name = field_name; - n_tags1->m_df_type = DF_Type::cie_add_tag_mask1; - n_tags1->m_rdf_type = RDF_Type::Bitfield; - n_tags1->m_node_type = NodeType::Bitfield; - n_tags1->m_address = base + offset; - n_tags1->m_defined_in = "df.syndrome.xml"; - n_tags1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tags1); - - field_name = "tags2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_remove_simple_flagst, field_name)); - auto n_tags2 = new NodeBitfield; - n_tags2->m_field_name = field_name; - n_tags2->m_df_type = DF_Type::cie_add_tag_mask2; - n_tags2->m_rdf_type = RDF_Type::Bitfield; - n_tags2->m_node_type = NodeType::Bitfield; - n_tags2->m_address = base + offset; - n_tags2->m_defined_in = "df.syndrome.xml"; - n_tags2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tags2); - -} -void node_from_creature_interaction_effect_speed_changest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::creature_interaction_effect; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_creature_interaction_effect(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "bonus_add"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_speed_changest, field_name)); - auto n_bonus_add = new NodeSimple; - n_bonus_add->m_field_name = field_name; - n_bonus_add->m_df_type = DF_Type::int32_t; - n_bonus_add->m_rdf_type = RDF_Type::int32_t; - n_bonus_add->m_node_type = NodeType::Simple; - n_bonus_add->m_address = base + offset; - n_bonus_add->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_bonus_add); - - field_name = "bonus_perc"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_speed_changest, field_name)); - auto n_bonus_perc = new NodeSimple; - n_bonus_perc->m_field_name = field_name; - n_bonus_perc->m_df_type = DF_Type::int32_t; - n_bonus_perc->m_rdf_type = RDF_Type::int32_t; - n_bonus_perc->m_node_type = NodeType::Simple; - n_bonus_perc->m_address = base + offset; - n_bonus_perc->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_bonus_perc); - -} -void node_from_creature_interaction_effect_body_mat_interactionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::creature_interaction_effect; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_creature_interaction_effect(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk_6c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_body_mat_interactionst, field_name)); - auto n_unk_6c = new NodeSimple; - n_unk_6c->m_field_name = field_name; - n_unk_6c->m_df_type = DF_Type::Stl_string; - n_unk_6c->m_rdf_type = RDF_Type::Stl_string; - n_unk_6c->m_node_type = NodeType::Simple; - n_unk_6c->m_address = base + offset; - n_unk_6c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_6c); - - field_name = "unk_88"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_body_mat_interactionst, field_name)); - auto n_unk_88 = new NodeSimple; - n_unk_88->m_field_name = field_name; - n_unk_88->m_df_type = DF_Type::int32_t; - n_unk_88->m_rdf_type = RDF_Type::int32_t; - n_unk_88->m_node_type = NodeType::Simple; - n_unk_88->m_address = base + offset; - n_unk_88->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_88); - - field_name = "unk_8c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_body_mat_interactionst, field_name)); - auto n_unk_8c = new NodeSimple; - n_unk_8c->m_field_name = field_name; - n_unk_8c->m_df_type = DF_Type::int32_t; - n_unk_8c->m_rdf_type = RDF_Type::int32_t; - n_unk_8c->m_node_type = NodeType::Simple; - n_unk_8c->m_address = base + offset; - n_unk_8c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_8c); - - field_name = "unk_90"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_body_mat_interactionst, field_name)); - auto n_unk_90 = new NodeSimple; - n_unk_90->m_field_name = field_name; - n_unk_90->m_df_type = DF_Type::int32_t; - n_unk_90->m_rdf_type = RDF_Type::int32_t; - n_unk_90->m_node_type = NodeType::Simple; - n_unk_90->m_address = base + offset; - n_unk_90->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_90); - - field_name = "unk_94"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_body_mat_interactionst, field_name)); - auto n_unk_94 = new NodeSimple; - n_unk_94->m_field_name = field_name; - n_unk_94->m_df_type = DF_Type::Stl_string; - n_unk_94->m_rdf_type = RDF_Type::Stl_string; - n_unk_94->m_node_type = NodeType::Simple; - n_unk_94->m_address = base + offset; - n_unk_94->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_94); - -} -void node_from_creature_interaction_effect_material_force_adjustst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::creature_interaction_effect; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_creature_interaction_effect(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk_6c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_material_force_adjustst, field_name)); - auto n_unk_6c = new NodeSimple; - n_unk_6c->m_field_name = field_name; - n_unk_6c->m_df_type = DF_Type::Stl_string; - n_unk_6c->m_rdf_type = RDF_Type::Stl_string; - n_unk_6c->m_node_type = NodeType::Simple; - n_unk_6c->m_address = base + offset; - n_unk_6c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_6c); - - field_name = "unk_88"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_material_force_adjustst, field_name)); - auto n_unk_88 = new NodeSimple; - n_unk_88->m_field_name = field_name; - n_unk_88->m_df_type = DF_Type::Stl_string; - n_unk_88->m_rdf_type = RDF_Type::Stl_string; - n_unk_88->m_node_type = NodeType::Simple; - n_unk_88->m_address = base + offset; - n_unk_88->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_88); - - field_name = "unk_a4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_material_force_adjustst, field_name)); - auto n_unk_a4 = new NodeSimple; - n_unk_a4->m_field_name = field_name; - n_unk_a4->m_df_type = DF_Type::Stl_string; - n_unk_a4->m_rdf_type = RDF_Type::Stl_string; - n_unk_a4->m_node_type = NodeType::Simple; - n_unk_a4->m_address = base + offset; - n_unk_a4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_a4); - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_material_force_adjustst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_material_force_adjustst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "fraction_mul"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_material_force_adjustst, field_name)); - auto n_fraction_mul = new NodeSimple; - n_fraction_mul->m_field_name = field_name; - n_fraction_mul->m_df_type = DF_Type::int32_t; - n_fraction_mul->m_rdf_type = RDF_Type::int32_t; - n_fraction_mul->m_node_type = NodeType::Simple; - n_fraction_mul->m_address = base + offset; - n_fraction_mul->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_fraction_mul); - - field_name = "fraction_div"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_material_force_adjustst, field_name)); - auto n_fraction_div = new NodeSimple; - n_fraction_div->m_field_name = field_name; - n_fraction_div->m_df_type = DF_Type::int32_t; - n_fraction_div->m_rdf_type = RDF_Type::int32_t; - n_fraction_div->m_node_type = NodeType::Simple; - n_fraction_div->m_address = base + offset; - n_fraction_div->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_fraction_div); - -} -void node_from_creature_interaction_effect_can_do_interactionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::creature_interaction_effect; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_creature_interaction_effect(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "interaction"; - auto n_interaction = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_can_do_interactionst, field_name)); - n_interaction->m_field_name = field_name; - n_interaction->m_df_type = DF_Type::creature_interaction; - n_interaction->m_rdf_type = RDF_Type::Struct; - n_interaction->m_node_type = NodeType::Compound; - n_interaction->m_address = base + offset; - n_interaction->m_defined_in = "df.creature-raws.xml"; - n_interaction->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_interaction); - -} -void node_from_creature_interaction_effect_sense_creature_classst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::creature_interaction_effect; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_creature_interaction_effect(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "class_name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_sense_creature_classst, field_name)); - auto n_class_name = new NodeSimple; - n_class_name->m_field_name = field_name; - n_class_name->m_df_type = DF_Type::Stl_string; - n_class_name->m_rdf_type = RDF_Type::Stl_string; - n_class_name->m_node_type = NodeType::Simple; - n_class_name->m_address = base + offset; - n_class_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_class_name); - - field_name = "unk_88"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_sense_creature_classst, field_name)); - auto n_unk_88 = new NodeSimple; - n_unk_88->m_field_name = field_name; - n_unk_88->m_df_type = DF_Type::int8_t; - n_unk_88->m_rdf_type = RDF_Type::int8_t; - n_unk_88->m_node_type = NodeType::Simple; - n_unk_88->m_address = base + offset; - n_unk_88->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_88); - - field_name = "unk_8a"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_sense_creature_classst, field_name)); - auto n_unk_8a = new NodeSimple; - n_unk_8a->m_field_name = field_name; - n_unk_8a->m_df_type = DF_Type::int16_t; - n_unk_8a->m_rdf_type = RDF_Type::int16_t; - n_unk_8a->m_node_type = NodeType::Simple; - n_unk_8a->m_address = base + offset; - n_unk_8a->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_8a); - - field_name = "unk_8c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_sense_creature_classst, field_name)); - auto n_unk_8c = new NodeSimple; - n_unk_8c->m_field_name = field_name; - n_unk_8c->m_df_type = DF_Type::int16_t; - n_unk_8c->m_rdf_type = RDF_Type::int16_t; - n_unk_8c->m_node_type = NodeType::Simple; - n_unk_8c->m_address = base + offset; - n_unk_8c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_8c); - - field_name = "unk_8e"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_sense_creature_classst, field_name)); - auto n_unk_8e = new NodeSimple; - n_unk_8e->m_field_name = field_name; - n_unk_8e->m_df_type = DF_Type::int16_t; - n_unk_8e->m_rdf_type = RDF_Type::int16_t; - n_unk_8e->m_node_type = NodeType::Simple; - n_unk_8e->m_address = base + offset; - n_unk_8e->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_8e); - -} -void node_from_creature_interaction_effect_feel_emotionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::creature_interaction_effect; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_creature_interaction_effect(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "emotion"; - auto n_emotion = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_feel_emotionst, field_name)); - n_emotion->m_field_name = field_name; - n_emotion->m_df_type = DF_Type::emotion_type; - n_emotion->m_rdf_type = RDF_Type::Enum; - n_emotion->m_node_type = NodeType::Enum; - n_emotion->m_base_type = enum_base_type(n_emotion->m_df_type); - n_emotion->m_enum_type = "emotion_type"; - n_emotion->m_address = base + offset; - n_emotion->m_defined_in = "df.unit-thoughts.xml"; - n_emotion->m_first_value = -1; - n_emotion->m_last_value = 169; - n_emotion->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_emotion); - - field_name = "sev"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_feel_emotionst, field_name)); - auto n_sev = new NodeSimple; - n_sev->m_field_name = field_name; - n_sev->m_df_type = DF_Type::int32_t; - n_sev->m_rdf_type = RDF_Type::int32_t; - n_sev->m_node_type = NodeType::Simple; - n_sev->m_address = base + offset; - n_sev->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sev); - -} -void node_from_creature_interaction_effect_change_personalityst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::creature_interaction_effect; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_creature_interaction_effect(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "facets"; - auto n_facets = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_change_personalityst, field_name)); - n_facets->m_field_name = field_name; - n_facets->m_df_type = DF_Type::int16_t; - n_facets->m_rdf_type = RDF_Type::Array; - n_facets->m_node_type = NodeType::Array; - n_facets->m_index_enum = DF_Type::personality_facet_type; - n_facets->m_addornements = "[50"; - n_facets->m_array_size = 50; - n_facets->m_address = base + offset; - n_facets->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_facets); - -} -void node_from_creature_interaction_effect_erratic_behaviorst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::creature_interaction_effect; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_creature_interaction_effect(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "sev"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_erratic_behaviorst, field_name)); - auto n_sev = new NodeSimple; - n_sev->m_field_name = field_name; - n_sev->m_df_type = DF_Type::int32_t; - n_sev->m_rdf_type = RDF_Type::int32_t; - n_sev->m_node_type = NodeType::Simple; - n_sev->m_address = base + offset; - n_sev->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sev); - -} -void node_from_syndrome(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "syn_name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::syndrome, field_name)); - auto n_syn_name = new NodeSimple; - n_syn_name->m_field_name = field_name; - n_syn_name->m_df_type = DF_Type::Stl_string; - n_syn_name->m_rdf_type = RDF_Type::Stl_string; - n_syn_name->m_node_type = NodeType::Simple; - n_syn_name->m_address = base + offset; - n_syn_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_syn_name); - - field_name = "ce"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::syndrome, field_name)); - auto n_ce = new NodeVector; - n_ce->m_field_name = field_name; - n_ce->m_df_type = DF_Type::creature_interaction_effect; - n_ce->m_rdf_type = RDF_Type::Vector; - n_ce->m_node_type = NodeType::Vector; - n_ce->m_defined_in = "df.syndrome.xml"; - n_ce->m_addornements = "v*"; - n_ce->m_address = base + offset; - n_ce->m_parent = p_node_parent; - n_ce->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_ce); - - field_name = "syn_affected_class"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::syndrome, field_name)); - auto n_syn_affected_class = new NodeVector; - n_syn_affected_class->m_field_name = field_name; - n_syn_affected_class->m_df_type = DF_Type::Stl_string; - n_syn_affected_class->m_rdf_type = RDF_Type::Vector; - n_syn_affected_class->m_node_type = NodeType::Vector; - n_syn_affected_class->m_addornements = "v*"; - n_syn_affected_class->m_address = base + offset; - n_syn_affected_class->m_parent = p_node_parent; - n_syn_affected_class->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_syn_affected_class); - - field_name = "syn_affected_creature"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::syndrome, field_name)); - auto n_syn_affected_creature = new NodeVector; - n_syn_affected_creature->m_field_name = field_name; - n_syn_affected_creature->m_df_type = DF_Type::Stl_string; - n_syn_affected_creature->m_rdf_type = RDF_Type::Vector; - n_syn_affected_creature->m_node_type = NodeType::Vector; - n_syn_affected_creature->m_addornements = "v*"; - n_syn_affected_creature->m_address = base + offset; - n_syn_affected_creature->m_parent = p_node_parent; - n_syn_affected_creature->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_syn_affected_creature); - - field_name = "syn_affected_caste"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::syndrome, field_name)); - auto n_syn_affected_caste = new NodeVector; - n_syn_affected_caste->m_field_name = field_name; - n_syn_affected_caste->m_df_type = DF_Type::Stl_string; - n_syn_affected_caste->m_rdf_type = RDF_Type::Vector; - n_syn_affected_caste->m_node_type = NodeType::Vector; - n_syn_affected_caste->m_addornements = "v*"; - n_syn_affected_caste->m_address = base + offset; - n_syn_affected_caste->m_parent = p_node_parent; - n_syn_affected_caste->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_syn_affected_caste); - - field_name = "syn_immune_class"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::syndrome, field_name)); - auto n_syn_immune_class = new NodeVector; - n_syn_immune_class->m_field_name = field_name; - n_syn_immune_class->m_df_type = DF_Type::Stl_string; - n_syn_immune_class->m_rdf_type = RDF_Type::Vector; - n_syn_immune_class->m_node_type = NodeType::Vector; - n_syn_immune_class->m_addornements = "v*"; - n_syn_immune_class->m_address = base + offset; - n_syn_immune_class->m_parent = p_node_parent; - n_syn_immune_class->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_syn_immune_class); - - field_name = "syn_immune_creature"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::syndrome, field_name)); - auto n_syn_immune_creature = new NodeVector; - n_syn_immune_creature->m_field_name = field_name; - n_syn_immune_creature->m_df_type = DF_Type::Stl_string; - n_syn_immune_creature->m_rdf_type = RDF_Type::Vector; - n_syn_immune_creature->m_node_type = NodeType::Vector; - n_syn_immune_creature->m_addornements = "v*"; - n_syn_immune_creature->m_address = base + offset; - n_syn_immune_creature->m_parent = p_node_parent; - n_syn_immune_creature->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_syn_immune_creature); - - field_name = "syn_immune_caste"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::syndrome, field_name)); - auto n_syn_immune_caste = new NodeVector; - n_syn_immune_caste->m_field_name = field_name; - n_syn_immune_caste->m_df_type = DF_Type::Stl_string; - n_syn_immune_caste->m_rdf_type = RDF_Type::Vector; - n_syn_immune_caste->m_node_type = NodeType::Vector; - n_syn_immune_caste->m_addornements = "v*"; - n_syn_immune_caste->m_address = base + offset; - n_syn_immune_caste->m_parent = p_node_parent; - n_syn_immune_caste->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_syn_immune_caste); - - field_name = "syn_class"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::syndrome, field_name)); - auto n_syn_class = new NodeVector; - n_syn_class->m_field_name = field_name; - n_syn_class->m_df_type = DF_Type::Stl_string; - n_syn_class->m_rdf_type = RDF_Type::Vector; - n_syn_class->m_node_type = NodeType::Vector; - n_syn_class->m_addornements = "v*"; - n_syn_class->m_address = base + offset; - n_syn_class->m_parent = p_node_parent; - n_syn_class->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_syn_class); - - field_name = "syn_identifier"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::syndrome, field_name)); - auto n_syn_identifier = new NodeSimple; - n_syn_identifier->m_field_name = field_name; - n_syn_identifier->m_df_type = DF_Type::Stl_string; - n_syn_identifier->m_rdf_type = RDF_Type::Stl_string; - n_syn_identifier->m_node_type = NodeType::Simple; - n_syn_identifier->m_address = base + offset; - n_syn_identifier->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_syn_identifier); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::syndrome, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::syndrome_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_defined_in = "df.syndrome.xml"; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "syn_concentration_added"; - auto n_syn_concentration_added = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::syndrome, field_name)); - n_syn_concentration_added->m_field_name = field_name; - n_syn_concentration_added->m_df_type = DF_Type::int32_t; - n_syn_concentration_added->m_rdf_type = RDF_Type::Array; - n_syn_concentration_added->m_node_type = NodeType::Array; - n_syn_concentration_added->m_addornements = "[2"; - n_syn_concentration_added->m_array_size = 2; - n_syn_concentration_added->m_address = base + offset; - n_syn_concentration_added->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_syn_concentration_added); - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::syndrome, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - -} -void node_from_ui_build_item_req(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "filter"; - auto n_filter = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_build_item_req, field_name)); - n_filter->m_field_name = field_name; - n_filter->m_df_type = DF_Type::job_item_filter; - n_filter->m_rdf_type = RDF_Type::Struct; - n_filter->m_node_type = NodeType::Compound; - n_filter->m_address = base + offset; - n_filter->m_defined_in = "df.jobs.xml"; - n_filter->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_filter); - - field_name = "candidates"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_build_item_req, field_name)); - auto n_candidates = new NodeVector; - n_candidates->m_field_name = field_name; - n_candidates->m_df_type = DF_Type::item; - n_candidates->m_rdf_type = RDF_Type::Vector; - n_candidates->m_node_type = NodeType::Vector; - n_candidates->m_defined_in = "df.items.xml"; - n_candidates->m_addornements = "v*"; - n_candidates->m_address = base + offset; - n_candidates->m_parent = p_node_parent; - n_candidates->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_candidates); - - field_name = "candidate_selected"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_build_item_req, field_name)); - auto n_candidate_selected = new NodeVector; - n_candidate_selected->m_field_name = field_name; - n_candidate_selected->m_df_type = DF_Type::Bool; - n_candidate_selected->m_rdf_type = RDF_Type::Vector; - n_candidate_selected->m_node_type = NodeType::Vector; - n_candidate_selected->m_addornements = "v"; - n_candidate_selected->m_address = base + offset; - n_candidate_selected->m_parent = p_node_parent; - n_candidate_selected->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_candidate_selected); - - field_name = "unk_a0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_build_item_req, field_name)); - auto n_unk_a0 = new NodeVector; - n_unk_a0->m_field_name = field_name; - n_unk_a0->m_df_type = DF_Type::int16_t; - n_unk_a0->m_rdf_type = RDF_Type::Vector; - n_unk_a0->m_node_type = NodeType::Vector; - n_unk_a0->m_addornements = "v"; - n_unk_a0->m_address = base + offset; - n_unk_a0->m_parent = p_node_parent; - n_unk_a0->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_a0); - - field_name = "candidate_enabled"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_build_item_req, field_name)); - auto n_candidate_enabled = new NodeVector; - n_candidate_enabled->m_field_name = field_name; - n_candidate_enabled->m_df_type = DF_Type::Bool; - n_candidate_enabled->m_rdf_type = RDF_Type::Vector; - n_candidate_enabled->m_node_type = NodeType::Vector; - n_candidate_enabled->m_addornements = "v"; - n_candidate_enabled->m_address = base + offset; - n_candidate_enabled->m_parent = p_node_parent; - n_candidate_enabled->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_candidate_enabled); - - field_name = "count_required"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_build_item_req, field_name)); - auto n_count_required = new NodeSimple; - n_count_required->m_field_name = field_name; - n_count_required->m_df_type = DF_Type::int16_t; - n_count_required->m_rdf_type = RDF_Type::int16_t; - n_count_required->m_node_type = NodeType::Simple; - n_count_required->m_address = base + offset; - n_count_required->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_count_required); - - field_name = "count_max"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_build_item_req, field_name)); - auto n_count_max = new NodeSimple; - n_count_max->m_field_name = field_name; - n_count_max->m_df_type = DF_Type::int16_t; - n_count_max->m_rdf_type = RDF_Type::int16_t; - n_count_max->m_node_type = NodeType::Simple; - n_count_max->m_address = base + offset; - n_count_max->m_comment = "if 0, fixed at required"; - n_count_max->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_count_max); - - field_name = "count_provided"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_build_item_req, field_name)); - auto n_count_provided = new NodeSimple; - n_count_provided->m_field_name = field_name; - n_count_provided->m_df_type = DF_Type::int16_t; - n_count_provided->m_rdf_type = RDF_Type::int16_t; - n_count_provided->m_node_type = NodeType::Simple; - n_count_provided->m_address = base + offset; - n_count_provided->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_count_provided); - -} -void node_from_build_req_choice_genst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::build_req_choicest; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_build_req_choicest(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "item_type"; - auto n_item_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::build_req_choice_genst, field_name)); - n_item_type->m_field_name = field_name; - n_item_type->m_df_type = DF_Type::item_type; - n_item_type->m_rdf_type = RDF_Type::Enum; - n_item_type->m_node_type = NodeType::Enum; - n_item_type->m_base_type = DF_Type::int16_t; - n_item_type->m_enum_type = "item_type"; - n_item_type->m_address = base + offset; - n_item_type->m_defined_in = "df.item-raws.xml"; - n_item_type->m_first_value = -1; - n_item_type->m_last_value = 90; - n_item_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_type); - - field_name = "item_subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::build_req_choice_genst, field_name)); - auto n_item_subtype = new NodeSimple; - n_item_subtype->m_field_name = field_name; - n_item_subtype->m_df_type = DF_Type::int16_t; - n_item_subtype->m_rdf_type = RDF_Type::int16_t; - n_item_subtype->m_node_type = NodeType::Simple; - n_item_subtype->m_address = base + offset; - n_item_subtype->m_refers_to = "(item-subtype-target $$._parent.item_type $)"; - n_item_subtype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_subtype); - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::build_req_choice_genst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::build_req_choice_genst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "candidates"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::build_req_choice_genst, field_name)); - auto n_candidates = new NodeVector; - n_candidates->m_field_name = field_name; - n_candidates->m_df_type = DF_Type::int32_t; - n_candidates->m_rdf_type = RDF_Type::Vector; - n_candidates->m_node_type = NodeType::Vector; - n_candidates->m_addornements = "v"; - n_candidates->m_address = base + offset; - n_candidates->m_parent = p_node_parent; - n_candidates->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_candidates); - - field_name = "used_count"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::build_req_choice_genst, field_name)); - auto n_used_count = new NodeSimple; - n_used_count->m_field_name = field_name; - n_used_count->m_df_type = DF_Type::int32_t; - n_used_count->m_rdf_type = RDF_Type::int32_t; - n_used_count->m_node_type = NodeType::Simple; - n_used_count->m_address = base + offset; - n_used_count->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_used_count); - -} -void node_from_build_req_choice_specst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::build_req_choicest; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_build_req_choicest(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "candidate"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::build_req_choice_specst, field_name)); - auto n_candidate = new NodePointer; - n_candidate->m_field_name = field_name; - n_candidate->m_df_type = get_real_subtype(base+offset, DF_Type::item); - n_candidate->m_rdf_type = RDF_Type::Pointer; - n_candidate->m_node_type = NodeType::Pointer; - n_candidate->m_addornements = "*"; - n_candidate->m_address = base + offset; - n_candidate->m_parent = p_node_parent; - n_candidate->m_defined_in = "df.items.xml"; - n_candidate->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_candidate); - - field_name = "candidate_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::build_req_choice_specst, field_name)); - auto n_candidate_id = new NodeSimple; - n_candidate_id->m_field_name = field_name; - n_candidate_id->m_df_type = DF_Type::int32_t; - n_candidate_id->m_rdf_type = RDF_Type::int32_t; - n_candidate_id->m_node_type = NodeType::Simple; - n_candidate_id->m_address = base + offset; - n_candidate_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_candidate_id); - -} -void node_from_ui_build_selector(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "requirements"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_build_selector, field_name)); - auto n_requirements = new NodeVector; - n_requirements->m_field_name = field_name; - n_requirements->m_df_type = DF_Type::ui_build_item_req; - n_requirements->m_rdf_type = RDF_Type::Vector; - n_requirements->m_node_type = NodeType::Vector; - n_requirements->m_defined_in = "df.ui-menus.xml"; - n_requirements->m_addornements = "v*"; - n_requirements->m_address = base + offset; - n_requirements->m_parent = p_node_parent; - n_requirements->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_requirements); - - field_name = "choices"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_build_selector, field_name)); - auto n_choices = new NodeVector; - n_choices->m_field_name = field_name; - n_choices->m_df_type = DF_Type::build_req_choicest; - n_choices->m_rdf_type = RDF_Type::Vector; - n_choices->m_node_type = NodeType::Vector; - n_choices->m_defined_in = "df.ui-menus.xml"; - n_choices->m_addornements = "v*"; - n_choices->m_address = base + offset; - n_choices->m_parent = p_node_parent; - n_choices->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_choices); - - field_name = "building_type"; - auto n_building_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_build_selector, field_name)); - n_building_type->m_field_name = field_name; - n_building_type->m_df_type = DF_Type::building_type; - n_building_type->m_rdf_type = RDF_Type::Enum; - n_building_type->m_node_type = NodeType::Enum; - n_building_type->m_base_type = DF_Type::int32_t; - n_building_type->m_enum_type = "building_type"; - n_building_type->m_address = base + offset; - n_building_type->m_comment = "if -1, in Build menu; otherwise select item"; - n_building_type->m_defined_in = "df.buildings.xml"; - n_building_type->m_first_value = -1; - n_building_type->m_last_value = 53; - n_building_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_building_type); - - field_name = "building_subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_build_selector, field_name)); - auto n_building_subtype = new NodeSimple; - n_building_subtype->m_field_name = field_name; - n_building_subtype->m_df_type = DF_Type::int16_t; - n_building_subtype->m_rdf_type = RDF_Type::int16_t; - n_building_subtype->m_node_type = NodeType::Simple; - n_building_subtype->m_address = base + offset; - n_building_subtype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_building_subtype); - - field_name = "custom_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_build_selector, field_name)); - auto n_custom_type = new NodeSimple; - n_custom_type->m_field_name = field_name; - n_custom_type->m_df_type = DF_Type::int32_t; - n_custom_type->m_rdf_type = RDF_Type::int32_t; - n_custom_type->m_node_type = NodeType::Simple; - n_custom_type->m_address = base + offset; - n_custom_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_custom_type); - - field_name = "stage"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_build_selector, field_name)); - auto n_stage = new NodeSimple; - n_stage->m_field_name = field_name; - n_stage->m_df_type = DF_Type::int32_t; - n_stage->m_rdf_type = RDF_Type::int32_t; - n_stage->m_node_type = NodeType::Simple; - n_stage->m_address = base + offset; - n_stage->m_comment = "0 no materials, 1 place, 2 select item"; - n_stage->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_stage); - - field_name = "req_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_build_selector, field_name)); - auto n_req_index = new NodeSimple; - n_req_index->m_field_name = field_name; - n_req_index->m_df_type = DF_Type::int16_t; - n_req_index->m_rdf_type = RDF_Type::int16_t; - n_req_index->m_node_type = NodeType::Simple; - n_req_index->m_address = base + offset; - n_req_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_req_index); - - field_name = "sel_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_build_selector, field_name)); - auto n_sel_index = new NodeSimple; - n_sel_index->m_field_name = field_name; - n_sel_index->m_df_type = DF_Type::int16_t; - n_sel_index->m_rdf_type = RDF_Type::int16_t; - n_sel_index->m_node_type = NodeType::Simple; - n_sel_index->m_address = base + offset; - n_sel_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sel_index); - - field_name = "is_grouped"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_build_selector, field_name)); - auto n_is_grouped = new NodeSimple; - n_is_grouped->m_field_name = field_name; - n_is_grouped->m_df_type = DF_Type::int32_t; - n_is_grouped->m_rdf_type = RDF_Type::int32_t; - n_is_grouped->m_node_type = NodeType::Simple; - n_is_grouped->m_address = base + offset; - n_is_grouped->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_is_grouped); - - field_name = "errors"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_build_selector, field_name)); - auto n_errors = new NodeVector; - n_errors->m_field_name = field_name; - n_errors->m_df_type = DF_Type::Stl_string; - n_errors->m_rdf_type = RDF_Type::Vector; - n_errors->m_node_type = NodeType::Vector; - n_errors->m_addornements = "v*"; - n_errors->m_address = base + offset; - n_errors->m_parent = p_node_parent; - n_errors->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_errors); - - field_name = "unk4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_build_selector, field_name)); - auto n_unk4 = new NodeVector; - n_unk4->m_field_name = field_name; - n_unk4->m_df_type = DF_Type::Stl_string; - n_unk4->m_rdf_type = RDF_Type::Vector; - n_unk4->m_node_type = NodeType::Vector; - n_unk4->m_addornements = "v*"; - n_unk4->m_address = base + offset; - n_unk4->m_parent = p_node_parent; - n_unk4->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk4); - - field_name = "tiles"; - auto n_tiles = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_build_selector, field_name)); - n_tiles->m_field_name = field_name; - n_tiles->m_df_type = DF_Type::int32_t; - n_tiles->m_rdf_type = RDF_Type::Array; - n_tiles->m_node_type = NodeType::Array; - n_tiles->m_addornements = "[31[31"; - n_tiles->m_array_size = 31; - n_tiles->m_address = base + offset; - n_tiles->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tiles); - - field_name = "unk5_0a"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_build_selector, field_name)); - auto n_unk5_0a = new NodeSimple; - n_unk5_0a->m_field_name = field_name; - n_unk5_0a->m_df_type = DF_Type::int16_t; - n_unk5_0a->m_rdf_type = RDF_Type::int16_t; - n_unk5_0a->m_node_type = NodeType::Simple; - n_unk5_0a->m_address = base + offset; - n_unk5_0a->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk5_0a); - - field_name = "unk5_0b"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_build_selector, field_name)); - auto n_unk5_0b = new NodeSimple; - n_unk5_0b->m_field_name = field_name; - n_unk5_0b->m_df_type = DF_Type::int16_t; - n_unk5_0b->m_rdf_type = RDF_Type::int16_t; - n_unk5_0b->m_node_type = NodeType::Simple; - n_unk5_0b->m_address = base + offset; - n_unk5_0b->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk5_0b); - - field_name = "plate_info"; - auto n_plate_info = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_build_selector, field_name)); - n_plate_info->m_field_name = field_name; - n_plate_info->m_df_type = DF_Type::pressure_plate_info; - n_plate_info->m_rdf_type = RDF_Type::Struct; - n_plate_info->m_node_type = NodeType::Compound; - n_plate_info->m_address = base + offset; - n_plate_info->m_defined_in = "df.buildings.xml"; - n_plate_info->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_plate_info); - - field_name = "unk6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_build_selector, field_name)); - auto n_unk6 = new NodeVector; - n_unk6->m_field_name = field_name; - n_unk6->m_df_type = DF_Type::int16_t; - n_unk6->m_rdf_type = RDF_Type::Vector; - n_unk6->m_node_type = NodeType::Vector; - n_unk6->m_addornements = "v"; - n_unk6->m_address = base + offset; - n_unk6->m_parent = p_node_parent; - n_unk6->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk6); - - field_name = "unk7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_build_selector, field_name)); - auto n_unk7 = new NodeVector; - n_unk7->m_field_name = field_name; - n_unk7->m_df_type = DF_Type::int16_t; - n_unk7->m_rdf_type = RDF_Type::Vector; - n_unk7->m_node_type = NodeType::Vector; - n_unk7->m_addornements = "v"; - n_unk7->m_address = base + offset; - n_unk7->m_parent = p_node_parent; - n_unk7->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk7); - - field_name = "friction"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_build_selector, field_name)); - auto n_friction = new NodeSimple; - n_friction->m_field_name = field_name; - n_friction->m_df_type = DF_Type::int32_t; - n_friction->m_rdf_type = RDF_Type::int32_t; - n_friction->m_node_type = NodeType::Simple; - n_friction->m_address = base + offset; - n_friction->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_friction); - - field_name = "use_dump"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_build_selector, field_name)); - auto n_use_dump = new NodeSimple; - n_use_dump->m_field_name = field_name; - n_use_dump->m_df_type = DF_Type::int32_t; - n_use_dump->m_rdf_type = RDF_Type::int32_t; - n_use_dump->m_node_type = NodeType::Simple; - n_use_dump->m_address = base + offset; - n_use_dump->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_use_dump); - - field_name = "dump_x_shift"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_build_selector, field_name)); - auto n_dump_x_shift = new NodeSimple; - n_dump_x_shift->m_field_name = field_name; - n_dump_x_shift->m_df_type = DF_Type::int32_t; - n_dump_x_shift->m_rdf_type = RDF_Type::int32_t; - n_dump_x_shift->m_node_type = NodeType::Simple; - n_dump_x_shift->m_address = base + offset; - n_dump_x_shift->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dump_x_shift); - - field_name = "dump_y_shift"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_build_selector, field_name)); - auto n_dump_y_shift = new NodeSimple; - n_dump_y_shift->m_field_name = field_name; - n_dump_y_shift->m_df_type = DF_Type::int32_t; - n_dump_y_shift->m_rdf_type = RDF_Type::int32_t; - n_dump_y_shift->m_node_type = NodeType::Simple; - n_dump_y_shift->m_address = base + offset; - n_dump_y_shift->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dump_y_shift); - - field_name = "speed"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_build_selector, field_name)); - auto n_speed = new NodeSimple; - n_speed->m_field_name = field_name; - n_speed->m_df_type = DF_Type::int32_t; - n_speed->m_rdf_type = RDF_Type::int32_t; - n_speed->m_node_type = NodeType::Simple; - n_speed->m_address = base + offset; - n_speed->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_speed); - -} -void node_from_interface_button(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "hotkey_id"; - auto n_hotkey_id = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interface_button, field_name)); - n_hotkey_id->m_field_name = field_name; - n_hotkey_id->m_df_type = DF_Type::interface_key; - n_hotkey_id->m_rdf_type = RDF_Type::Enum; - n_hotkey_id->m_node_type = NodeType::Enum; - n_hotkey_id->m_base_type = DF_Type::int32_t; - n_hotkey_id->m_enum_type = "interface_key"; - n_hotkey_id->m_address = base + offset; - n_hotkey_id->m_defined_in = "df.keybindings.xml"; - n_hotkey_id->m_first_value = 0; - n_hotkey_id->m_last_value = 1587; - n_hotkey_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_hotkey_id); - - field_name = "is_hidden"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interface_button, field_name)); - auto n_is_hidden = new NodeSimple; - n_is_hidden->m_field_name = field_name; - n_is_hidden->m_df_type = DF_Type::Bool; - n_is_hidden->m_rdf_type = RDF_Type::Bool; - n_is_hidden->m_node_type = NodeType::Simple; - n_is_hidden->m_address = base + offset; - n_is_hidden->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_is_hidden); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interface_button, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_interface_button_buildingst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::interface_button; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_interface_button(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "building"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interface_button_buildingst, field_name)); - auto n_building = new NodePointer; - n_building->m_field_name = field_name; - n_building->m_df_type = get_real_subtype(base+offset, DF_Type::building); - n_building->m_rdf_type = RDF_Type::Pointer; - n_building->m_node_type = NodeType::Pointer; - n_building->m_addornements = "*"; - n_building->m_address = base + offset; - n_building->m_parent = p_node_parent; - n_building->m_defined_in = "df.buildings.xml"; - n_building->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_building); - -} -void node_from_interface_button_building_category_selectorst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::interface_button_buildingst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_interface_button_buildingst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "category_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interface_button_building_category_selectorst, field_name)); - auto n_category_id = new NodeSimple; - n_category_id->m_field_name = field_name; - n_category_id->m_df_type = DF_Type::int32_t; - n_category_id->m_rdf_type = RDF_Type::int32_t; - n_category_id->m_node_type = NodeType::Simple; - n_category_id->m_address = base + offset; - n_category_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_category_id); - - field_name = "unk_14"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interface_button_building_category_selectorst, field_name)); - auto n_unk_14 = new NodeSimple; - n_unk_14->m_field_name = field_name; - n_unk_14->m_df_type = DF_Type::int8_t; - n_unk_14->m_rdf_type = RDF_Type::int8_t; - n_unk_14->m_node_type = NodeType::Simple; - n_unk_14->m_address = base + offset; - n_unk_14->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_14); - -} -void node_from_interface_button_building_material_selectorst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::interface_button_buildingst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_interface_button_buildingst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interface_button_building_material_selectorst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interface_button_building_material_selectorst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "material_category"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interface_button_building_material_selectorst, field_name)); - auto n_material_category = new NodeBitfield; - n_material_category->m_field_name = field_name; - n_material_category->m_df_type = DF_Type::job_material_category; - n_material_category->m_rdf_type = RDF_Type::Bitfield; - n_material_category->m_node_type = NodeType::Bitfield; - n_material_category->m_address = base + offset; - n_material_category->m_defined_in = "df.jobs.xml"; - n_material_category->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_material_category); - - field_name = "unk_1c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interface_button_building_material_selectorst, field_name)); - auto n_unk_1c = new NodeSimple; - n_unk_1c->m_field_name = field_name; - n_unk_1c->m_df_type = DF_Type::int8_t; - n_unk_1c->m_rdf_type = RDF_Type::int8_t; - n_unk_1c->m_node_type = NodeType::Simple; - n_unk_1c->m_address = base + offset; - n_unk_1c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_1c); - -} -void node_from_interface_button_building_new_jobst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::interface_button_buildingst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_interface_button_buildingst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "job_type"; - auto n_job_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interface_button_building_new_jobst, field_name)); - n_job_type->m_field_name = field_name; - n_job_type->m_df_type = DF_Type::job_type; - n_job_type->m_rdf_type = RDF_Type::Enum; - n_job_type->m_node_type = NodeType::Enum; - n_job_type->m_base_type = DF_Type::int32_t; - n_job_type->m_enum_type = "job_type"; - n_job_type->m_address = base + offset; - n_job_type->m_defined_in = "df.job-types.xml"; - n_job_type->m_first_value = -1; - n_job_type->m_last_value = 240; - n_job_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_job_type); - - field_name = "reaction_name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interface_button_building_new_jobst, field_name)); - auto n_reaction_name = new NodeSimple; - n_reaction_name->m_field_name = field_name; - n_reaction_name->m_df_type = DF_Type::Stl_string; - n_reaction_name->m_rdf_type = RDF_Type::Stl_string; - n_reaction_name->m_node_type = NodeType::Simple; - n_reaction_name->m_address = base + offset; - n_reaction_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_reaction_name); - - field_name = "item_type"; - auto n_item_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interface_button_building_new_jobst, field_name)); - n_item_type->m_field_name = field_name; - n_item_type->m_df_type = DF_Type::item_type; - n_item_type->m_rdf_type = RDF_Type::Enum; - n_item_type->m_node_type = NodeType::Enum; - n_item_type->m_base_type = DF_Type::int16_t; - n_item_type->m_enum_type = "item_type"; - n_item_type->m_address = base + offset; - n_item_type->m_defined_in = "df.item-raws.xml"; - n_item_type->m_first_value = -1; - n_item_type->m_last_value = 90; - n_item_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_type); - - field_name = "item_subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interface_button_building_new_jobst, field_name)); - auto n_item_subtype = new NodeSimple; - n_item_subtype->m_field_name = field_name; - n_item_subtype->m_df_type = DF_Type::int16_t; - n_item_subtype->m_rdf_type = RDF_Type::int16_t; - n_item_subtype->m_node_type = NodeType::Simple; - n_item_subtype->m_address = base + offset; - n_item_subtype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_subtype); - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interface_button_building_new_jobst, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interface_button_building_new_jobst, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "item_category"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interface_button_building_new_jobst, field_name)); - auto n_item_category = new NodeBitfield; - n_item_category->m_field_name = field_name; - n_item_category->m_df_type = DF_Type::stockpile_group_set; - n_item_category->m_rdf_type = RDF_Type::Bitfield; - n_item_category->m_node_type = NodeType::Bitfield; - n_item_category->m_address = base + offset; - n_item_category->m_defined_in = "df.stockpile.xml"; - n_item_category->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_category); - - field_name = "hist_figure_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interface_button_building_new_jobst, field_name)); - auto n_hist_figure_id = new NodeSimple; - n_hist_figure_id->m_field_name = field_name; - n_hist_figure_id->m_df_type = DF_Type::int32_t; - n_hist_figure_id->m_rdf_type = RDF_Type::int32_t; - n_hist_figure_id->m_node_type = NodeType::Simple; - n_hist_figure_id->m_address = base + offset; - n_hist_figure_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_hist_figure_id); - - field_name = "material_category"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interface_button_building_new_jobst, field_name)); - auto n_material_category = new NodeBitfield; - n_material_category->m_field_name = field_name; - n_material_category->m_df_type = DF_Type::job_material_category; - n_material_category->m_rdf_type = RDF_Type::Bitfield; - n_material_category->m_node_type = NodeType::Bitfield; - n_material_category->m_address = base + offset; - n_material_category->m_defined_in = "df.jobs.xml"; - n_material_category->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_material_category); - - field_name = "unk_48"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interface_button_building_new_jobst, field_name)); - auto n_unk_48 = new NodeSimple; - n_unk_48->m_field_name = field_name; - n_unk_48->m_df_type = DF_Type::Bool; - n_unk_48->m_rdf_type = RDF_Type::Bool; - n_unk_48->m_node_type = NodeType::Simple; - n_unk_48->m_address = base + offset; - n_unk_48->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_48); - - field_name = "is_custom"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interface_button_building_new_jobst, field_name)); - auto n_is_custom = new NodeSimple; - n_is_custom->m_field_name = field_name; - n_is_custom->m_df_type = DF_Type::Bool; - n_is_custom->m_rdf_type = RDF_Type::Bool; - n_is_custom->m_node_type = NodeType::Simple; - n_is_custom->m_address = base + offset; - n_is_custom->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_is_custom); - -} -void node_from_interface_button_building_custom_category_selectorst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::interface_button_buildingst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_interface_button_buildingst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "category"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interface_button_building_custom_category_selectorst, field_name)); - auto n_category = new NodeSimple; - n_category->m_field_name = field_name; - n_category->m_df_type = DF_Type::Stl_string; - n_category->m_rdf_type = RDF_Type::Stl_string; - n_category->m_node_type = NodeType::Simple; - n_category->m_address = base + offset; - n_category->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_category); - -} -void node_from_interface_button_constructionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::interface_button; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_interface_button(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unused_c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interface_button_constructionst, field_name)); - auto n_unused_c = new NodePointer; - n_unused_c->m_field_name = field_name; - n_unused_c->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_unused_c->m_rdf_type = RDF_Type::Pointer; - n_unused_c->m_node_type = NodeType::Pointer; - n_unused_c->m_addornements = "*"; - n_unused_c->m_address = base + offset; - n_unused_c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unused_c); - -} -void node_from_interface_button_construction_donest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::interface_button_constructionst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_interface_button_constructionst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_interface_button_construction_category_selectorst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::interface_button_constructionst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_interface_button_constructionst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "category_id"; - auto n_category_id = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interface_button_construction_category_selectorst, field_name)); - n_category_id->m_field_name = field_name; - n_category_id->m_df_type = DF_Type::interface_button_construction_category_selectorst__T_category_id; - n_category_id->m_rdf_type = RDF_Type::Enum; - n_category_id->m_node_type = NodeType::Enum; - n_category_id->m_base_type = DF_Type::int32_t; - n_category_id->m_enum_type = "interface_button_construction_category_selectorst::T_category_id"; - n_category_id->m_address = base + offset; - n_category_id->m_first_value = 1; - n_category_id->m_last_value = 7; - n_category_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_category_id); - -} -void node_from_interface_button_construction_building_selectorst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::interface_button_constructionst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_interface_button_constructionst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "building_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interface_button_construction_building_selectorst, field_name)); - auto n_building_type = new NodeSimple; - n_building_type->m_field_name = field_name; - n_building_type->m_df_type = DF_Type::int16_t; - n_building_type->m_rdf_type = RDF_Type::int16_t; - n_building_type->m_node_type = NodeType::Simple; - n_building_type->m_address = base + offset; - n_building_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_building_type); - - field_name = "building_subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interface_button_construction_building_selectorst, field_name)); - auto n_building_subtype = new NodeSimple; - n_building_subtype->m_field_name = field_name; - n_building_subtype->m_df_type = DF_Type::int16_t; - n_building_subtype->m_rdf_type = RDF_Type::int16_t; - n_building_subtype->m_node_type = NodeType::Simple; - n_building_subtype->m_address = base + offset; - n_building_subtype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_building_subtype); - - field_name = "custom_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interface_button_construction_building_selectorst, field_name)); - auto n_custom_type = new NodeSimple; - n_custom_type->m_field_name = field_name; - n_custom_type->m_df_type = DF_Type::int32_t; - n_custom_type->m_rdf_type = RDF_Type::int32_t; - n_custom_type->m_node_type = NodeType::Simple; - n_custom_type->m_address = base + offset; - n_custom_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_custom_type); - - field_name = "existing_count"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interface_button_construction_building_selectorst, field_name)); - auto n_existing_count = new NodeSimple; - n_existing_count->m_field_name = field_name; - n_existing_count->m_df_type = DF_Type::int32_t; - n_existing_count->m_rdf_type = RDF_Type::int32_t; - n_existing_count->m_node_type = NodeType::Simple; - n_existing_count->m_address = base + offset; - n_existing_count->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_existing_count); - -} -void node_from_ui_sidebar_menus__T_designation(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "marker_only"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_designation, field_name)); - auto n_marker_only = new NodeSimple; - n_marker_only->m_field_name = field_name; - n_marker_only->m_df_type = DF_Type::Bool; - n_marker_only->m_rdf_type = RDF_Type::Bool; - n_marker_only->m_node_type = NodeType::Simple; - n_marker_only->m_address = base + offset; - n_marker_only->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_marker_only); - - field_name = "priority_set"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_designation, field_name)); - auto n_priority_set = new NodeSimple; - n_priority_set->m_field_name = field_name; - n_priority_set->m_df_type = DF_Type::Bool; - n_priority_set->m_rdf_type = RDF_Type::Bool; - n_priority_set->m_node_type = NodeType::Simple; - n_priority_set->m_address = base + offset; - n_priority_set->m_comment = "set to one if using +/-"; - n_priority_set->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_priority_set); - - field_name = "priority"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_designation, field_name)); - auto n_priority = new NodeSimple; - n_priority->m_field_name = field_name; - n_priority->m_df_type = DF_Type::int32_t; - n_priority->m_rdf_type = RDF_Type::int32_t; - n_priority->m_node_type = NodeType::Simple; - n_priority->m_address = base + offset; - n_priority->m_comment = "*1000"; - n_priority->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_priority); - - field_name = "mine_mode"; - auto n_mine_mode = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_designation, field_name)); - n_mine_mode->m_field_name = field_name; - n_mine_mode->m_df_type = DF_Type::ui_sidebar_menus__T_designation__T_mine_mode; - n_mine_mode->m_rdf_type = RDF_Type::Enum; - n_mine_mode->m_node_type = NodeType::Enum; - n_mine_mode->m_base_type = enum_base_type(n_mine_mode->m_df_type); - n_mine_mode->m_enum_type = "ui_sidebar_menus::T_designation::T_mine_mode"; - n_mine_mode->m_address = base + offset; - n_mine_mode->m_first_value = 0; - n_mine_mode->m_last_value = 3; - n_mine_mode->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mine_mode); - -} -void node_from_ui_sidebar_menus__T_workshop_job(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "choices_all"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_workshop_job, field_name)); - auto n_choices_all = new NodeVector; - n_choices_all->m_field_name = field_name; - n_choices_all->m_df_type = DF_Type::interface_button_buildingst; - n_choices_all->m_rdf_type = RDF_Type::Vector; - n_choices_all->m_node_type = NodeType::Vector; - n_choices_all->m_defined_in = "df.ui-menus.xml"; - n_choices_all->m_addornements = "v*"; - n_choices_all->m_address = base + offset; - n_choices_all->m_parent = p_node_parent; - n_choices_all->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_choices_all); - - field_name = "choices_visible"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_workshop_job, field_name)); - auto n_choices_visible = new NodeVector; - n_choices_visible->m_field_name = field_name; - n_choices_visible->m_df_type = DF_Type::interface_button_buildingst; - n_choices_visible->m_rdf_type = RDF_Type::Vector; - n_choices_visible->m_node_type = NodeType::Vector; - n_choices_visible->m_defined_in = "df.ui-menus.xml"; - n_choices_visible->m_addornements = "v*"; - n_choices_visible->m_address = base + offset; - n_choices_visible->m_parent = p_node_parent; - n_choices_visible->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_choices_visible); - - field_name = "cursor"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_workshop_job, field_name)); - auto n_cursor = new NodeSimple; - n_cursor->m_field_name = field_name; - n_cursor->m_df_type = DF_Type::int32_t; - n_cursor->m_rdf_type = RDF_Type::int32_t; - n_cursor->m_node_type = NodeType::Simple; - n_cursor->m_address = base + offset; - n_cursor->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cursor); - - field_name = "category_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_workshop_job, field_name)); - auto n_category_id = new NodeSimple; - n_category_id->m_field_name = field_name; - n_category_id->m_df_type = DF_Type::int32_t; - n_category_id->m_rdf_type = RDF_Type::int32_t; - n_category_id->m_node_type = NodeType::Simple; - n_category_id->m_address = base + offset; - n_category_id->m_comment = "weapons, armor, etc"; - n_category_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_category_id); - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_workshop_job, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_workshop_job, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "material_category"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_workshop_job, field_name)); - auto n_material_category = new NodeBitfield; - n_material_category->m_field_name = field_name; - n_material_category->m_df_type = DF_Type::job_material_category; - n_material_category->m_rdf_type = RDF_Type::Bitfield; - n_material_category->m_node_type = NodeType::Bitfield; - n_material_category->m_address = base + offset; - n_material_category->m_defined_in = "df.jobs.xml"; - n_material_category->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_material_category); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_workshop_job, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::Stl_string; - n_anon_1->m_rdf_type = RDF_Type::Stl_string; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "use_tooltip_lines"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_workshop_job, field_name)); - auto n_use_tooltip_lines = new NodeVector; - n_use_tooltip_lines->m_field_name = field_name; - n_use_tooltip_lines->m_df_type = DF_Type::Stl_string; - n_use_tooltip_lines->m_rdf_type = RDF_Type::Vector; - n_use_tooltip_lines->m_node_type = NodeType::Vector; - n_use_tooltip_lines->m_addornements = "v*"; - n_use_tooltip_lines->m_address = base + offset; - n_use_tooltip_lines->m_parent = p_node_parent; - n_use_tooltip_lines->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_use_tooltip_lines); - -} -void node_from_ui_sidebar_menus__T_building(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "choices_all"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_building, field_name)); - auto n_choices_all = new NodeVector; - n_choices_all->m_field_name = field_name; - n_choices_all->m_df_type = DF_Type::interface_button_constructionst; - n_choices_all->m_rdf_type = RDF_Type::Vector; - n_choices_all->m_node_type = NodeType::Vector; - n_choices_all->m_defined_in = "df.ui-menus.xml"; - n_choices_all->m_addornements = "v*"; - n_choices_all->m_address = base + offset; - n_choices_all->m_parent = p_node_parent; - n_choices_all->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_choices_all); - - field_name = "choices_visible"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_building, field_name)); - auto n_choices_visible = new NodeVector; - n_choices_visible->m_field_name = field_name; - n_choices_visible->m_df_type = DF_Type::interface_button_constructionst; - n_choices_visible->m_rdf_type = RDF_Type::Vector; - n_choices_visible->m_node_type = NodeType::Vector; - n_choices_visible->m_defined_in = "df.ui-menus.xml"; - n_choices_visible->m_addornements = "v*"; - n_choices_visible->m_address = base + offset; - n_choices_visible->m_parent = p_node_parent; - n_choices_visible->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_choices_visible); - - field_name = "category_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_building, field_name)); - auto n_category_id = new NodeSimple; - n_category_id->m_field_name = field_name; - n_category_id->m_df_type = DF_Type::int32_t; - n_category_id->m_rdf_type = RDF_Type::int32_t; - n_category_id->m_node_type = NodeType::Simple; - n_category_id->m_address = base + offset; - n_category_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_category_id); - - field_name = "cursor"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_building, field_name)); - auto n_cursor = new NodeSimple; - n_cursor->m_field_name = field_name; - n_cursor->m_df_type = DF_Type::int32_t; - n_cursor->m_rdf_type = RDF_Type::int32_t; - n_cursor->m_node_type = NodeType::Simple; - n_cursor->m_address = base + offset; - n_cursor->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cursor); - -} -void node_from_ui_sidebar_menus__T_zone(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "remove"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_zone, field_name)); - auto n_remove = new NodeSimple; - n_remove->m_field_name = field_name; - n_remove->m_df_type = DF_Type::Bool; - n_remove->m_rdf_type = RDF_Type::Bool; - n_remove->m_node_type = NodeType::Simple; - n_remove->m_address = base + offset; - n_remove->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_remove); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_zone, field_name)); - auto n_anon_1= new NodePadding; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::Padding; - n_anon_1->m_rdf_type = RDF_Type::Padding; - n_anon_1->m_node_type = NodeType::Padding; - n_anon_1->m_address = base + offset; - n_anon_1->m_size = 1; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "mode"; - auto n_mode = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_zone, field_name)); - n_mode->m_field_name = field_name; - n_mode->m_df_type = DF_Type::ui_sidebar_menus__T_zone__T_mode; - n_mode->m_rdf_type = RDF_Type::Enum; - n_mode->m_node_type = NodeType::Enum; - n_mode->m_base_type = DF_Type::int16_t; - n_mode->m_enum_type = "ui_sidebar_menus::T_zone::T_mode"; - n_mode->m_address = base + offset; - n_mode->m_first_value = 0; - n_mode->m_last_value = 2; - n_mode->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mode); - - field_name = "selected"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_zone, field_name)); - auto n_selected = new NodePointer; - n_selected->m_field_name = field_name; - n_selected->m_df_type = get_real_subtype(base+offset, DF_Type::building_civzonest); - n_selected->m_rdf_type = RDF_Type::Pointer; - n_selected->m_node_type = NodeType::Pointer; - n_selected->m_addornements = "*"; - n_selected->m_address = base + offset; - n_selected->m_parent = p_node_parent; - n_selected->m_defined_in = "df.buildings.xml"; - n_selected->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_selected); - -} -void node_from_ui_sidebar_menus__T_unit(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "inv_items"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_unit, field_name)); - auto n_inv_items = new NodeVector; - n_inv_items->m_field_name = field_name; - n_inv_items->m_df_type = DF_Type::unit_inventory_item; - n_inv_items->m_rdf_type = RDF_Type::Vector; - n_inv_items->m_node_type = NodeType::Vector; - n_inv_items->m_defined_in = "df.units.xml"; - n_inv_items->m_addornements = "v*"; - n_inv_items->m_address = base + offset; - n_inv_items->m_parent = p_node_parent; - n_inv_items->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_inv_items); - - field_name = "inv_spatters"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_unit, field_name)); - auto n_inv_spatters = new NodeVector; - n_inv_spatters->m_field_name = field_name; - n_inv_spatters->m_df_type = DF_Type::spatter; - n_inv_spatters->m_rdf_type = RDF_Type::Vector; - n_inv_spatters->m_node_type = NodeType::Vector; - n_inv_spatters->m_defined_in = "df.items.xml"; - n_inv_spatters->m_addornements = "v*"; - n_inv_spatters->m_address = base + offset; - n_inv_spatters->m_parent = p_node_parent; - n_inv_spatters->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_inv_spatters); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_unit, field_name)); - auto n_anon_1 = new NodeVector; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::Void; - n_anon_1->m_rdf_type = RDF_Type::Vector; - n_anon_1->m_node_type = NodeType::Vector; - n_anon_1->m_addornements = "v"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "in_new_squad"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_unit, field_name)); - auto n_in_new_squad = new NodeSimple; - n_in_new_squad->m_field_name = field_name; - n_in_new_squad->m_df_type = DF_Type::Bool; - n_in_new_squad->m_rdf_type = RDF_Type::Bool; - n_in_new_squad->m_node_type = NodeType::Simple; - n_in_new_squad->m_address = base + offset; - n_in_new_squad->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_in_new_squad); - - field_name = "cursor_uniform"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_unit, field_name)); - auto n_cursor_uniform = new NodeSimple; - n_cursor_uniform->m_field_name = field_name; - n_cursor_uniform->m_df_type = DF_Type::int32_t; - n_cursor_uniform->m_rdf_type = RDF_Type::int32_t; - n_cursor_uniform->m_node_type = NodeType::Simple; - n_cursor_uniform->m_address = base + offset; - n_cursor_uniform->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cursor_uniform); - - field_name = "unk_88n_cursor"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_unit, field_name)); - auto n_unk_88n_cursor = new NodeSimple; - n_unk_88n_cursor->m_field_name = field_name; - n_unk_88n_cursor->m_df_type = DF_Type::int32_t; - n_unk_88n_cursor->m_rdf_type = RDF_Type::int32_t; - n_unk_88n_cursor->m_node_type = NodeType::Simple; - n_unk_88n_cursor->m_address = base + offset; - n_unk_88n_cursor->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_88n_cursor); - - field_name = "squads"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_unit, field_name)); - auto n_squads = new NodeVector; - n_squads->m_field_name = field_name; - n_squads->m_df_type = DF_Type::squad; - n_squads->m_rdf_type = RDF_Type::Vector; - n_squads->m_node_type = NodeType::Vector; - n_squads->m_defined_in = "df.military.xml"; - n_squads->m_addornements = "v*"; - n_squads->m_address = base + offset; - n_squads->m_parent = p_node_parent; - n_squads->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_squads); - - field_name = "squad_pos"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_unit, field_name)); - auto n_squad_pos = new NodeVector; - n_squad_pos->m_field_name = field_name; - n_squad_pos->m_df_type = DF_Type::entity_position; - n_squad_pos->m_rdf_type = RDF_Type::Vector; - n_squad_pos->m_node_type = NodeType::Vector; - n_squad_pos->m_defined_in = "df.entities.xml"; - n_squad_pos->m_addornements = "v*"; - n_squad_pos->m_address = base + offset; - n_squad_pos->m_parent = p_node_parent; - n_squad_pos->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_squad_pos); - - field_name = "squad_assn"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_unit, field_name)); - auto n_squad_assn = new NodeVector; - n_squad_assn->m_field_name = field_name; - n_squad_assn->m_df_type = DF_Type::entity_position_assignment; - n_squad_assn->m_rdf_type = RDF_Type::Vector; - n_squad_assn->m_node_type = NodeType::Vector; - n_squad_assn->m_defined_in = "df.entities.xml"; - n_squad_assn->m_addornements = "v*"; - n_squad_assn->m_address = base + offset; - n_squad_assn->m_parent = p_node_parent; - n_squad_assn->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_squad_assn); - - field_name = "squad_unk1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_unit, field_name)); - auto n_squad_unk1 = new NodeVector; - n_squad_unk1->m_field_name = field_name; - n_squad_unk1->m_df_type = DF_Type::Bool; - n_squad_unk1->m_rdf_type = RDF_Type::Vector; - n_squad_unk1->m_node_type = NodeType::Vector; - n_squad_unk1->m_addornements = "v"; - n_squad_unk1->m_address = base + offset; - n_squad_unk1->m_parent = p_node_parent; - n_squad_unk1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_squad_unk1); - - field_name = "squad_unk2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_unit, field_name)); - auto n_squad_unk2 = new NodeVector; - n_squad_unk2->m_field_name = field_name; - n_squad_unk2->m_df_type = DF_Type::Void; - n_squad_unk2->m_rdf_type = RDF_Type::Vector; - n_squad_unk2->m_node_type = NodeType::Vector; - n_squad_unk2->m_addornements = "v"; - n_squad_unk2->m_address = base + offset; - n_squad_unk2->m_parent = p_node_parent; - n_squad_unk2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_squad_unk2); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_unit, field_name)); - auto n_anon_2 = new NodePointer; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = get_real_subtype(base+offset, DF_Type::entity_position); - n_anon_2->m_rdf_type = RDF_Type::Pointer; - n_anon_2->m_node_type = NodeType::Pointer; - n_anon_2->m_addornements = "*"; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - n_anon_2->m_defined_in = "df.entities.xml"; - n_anon_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_unit, field_name)); - auto n_anon_3 = new NodePointer; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = get_real_subtype(base+offset, DF_Type::entity_position_assignment); - n_anon_3->m_rdf_type = RDF_Type::Pointer; - n_anon_3->m_node_type = NodeType::Pointer; - n_anon_3->m_addornements = "*"; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - n_anon_3->m_defined_in = "df.entities.xml"; - n_anon_3->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_unit, field_name)); - auto n_anon_4 = new NodePointer; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = get_real_subtype(base+offset, DF_Type::entity_position); - n_anon_4->m_rdf_type = RDF_Type::Pointer; - n_anon_4->m_node_type = NodeType::Pointer; - n_anon_4->m_addornements = "*"; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - n_anon_4->m_defined_in = "df.entities.xml"; - n_anon_4->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "unk3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_unit, field_name)); - auto n_unk3 = new NodeSimple; - n_unk3->m_field_name = field_name; - n_unk3->m_df_type = DF_Type::Bool; - n_unk3->m_rdf_type = RDF_Type::Bool; - n_unk3->m_node_type = NodeType::Simple; - n_unk3->m_address = base + offset; - n_unk3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk3); - - field_name = "unk4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_unit, field_name)); - auto n_unk4 = new NodeSimple; - n_unk4->m_field_name = field_name; - n_unk4->m_df_type = DF_Type::Bool; - n_unk4->m_rdf_type = RDF_Type::Bool; - n_unk4->m_node_type = NodeType::Simple; - n_unk4->m_address = base + offset; - n_unk4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk4); - - field_name = "squad_list_opened"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_unit, field_name)); - auto n_squad_list_opened = new NodeSimple; - n_squad_list_opened->m_field_name = field_name; - n_squad_list_opened->m_df_type = DF_Type::Bool; - n_squad_list_opened->m_rdf_type = RDF_Type::Bool; - n_squad_list_opened->m_node_type = NodeType::Simple; - n_squad_list_opened->m_address = base + offset; - n_squad_list_opened->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_squad_list_opened); - - field_name = "unk5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_unit, field_name)); - auto n_unk5 = new NodeSimple; - n_unk5->m_field_name = field_name; - n_unk5->m_df_type = DF_Type::Bool; - n_unk5->m_rdf_type = RDF_Type::Bool; - n_unk5->m_node_type = NodeType::Simple; - n_unk5->m_address = base + offset; - n_unk5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk5); - - field_name = "rename_squad"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_unit, field_name)); - auto n_rename_squad = new NodePointer; - n_rename_squad->m_field_name = field_name; - n_rename_squad->m_df_type = get_real_subtype(base+offset, DF_Type::squad); - n_rename_squad->m_rdf_type = RDF_Type::Pointer; - n_rename_squad->m_node_type = NodeType::Pointer; - n_rename_squad->m_addornements = "*"; - n_rename_squad->m_address = base + offset; - n_rename_squad->m_parent = p_node_parent; - n_rename_squad->m_defined_in = "df.military.xml"; - n_rename_squad->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_rename_squad); - - field_name = "unk_88"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_unit, field_name)); - auto n_unk_88 = new NodeVector; - n_unk_88->m_field_name = field_name; - n_unk_88->m_df_type = DF_Type::Void; - n_unk_88->m_rdf_type = RDF_Type::Vector; - n_unk_88->m_node_type = NodeType::Vector; - n_unk_88->m_addornements = "v"; - n_unk_88->m_address = base + offset; - n_unk_88->m_parent = p_node_parent; - n_unk_88->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_88); - - field_name = "unk_44_11a"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_unit, field_name)); - auto n_unk_44_11a = new NodeVector; - n_unk_44_11a->m_field_name = field_name; - n_unk_44_11a->m_df_type = DF_Type::Void; - n_unk_44_11a->m_rdf_type = RDF_Type::Vector; - n_unk_44_11a->m_node_type = NodeType::Vector; - n_unk_44_11a->m_addornements = "v"; - n_unk_44_11a->m_address = base + offset; - n_unk_44_11a->m_parent = p_node_parent; - n_unk_44_11a->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_44_11a); - - field_name = "unk_44_11b"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_unit, field_name)); - auto n_unk_44_11b = new NodeSimple; - n_unk_44_11b->m_field_name = field_name; - n_unk_44_11b->m_df_type = DF_Type::int32_t; - n_unk_44_11b->m_rdf_type = RDF_Type::int32_t; - n_unk_44_11b->m_node_type = NodeType::Simple; - n_unk_44_11b->m_address = base + offset; - n_unk_44_11b->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_44_11b); - - field_name = "unk_44_11c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_unit, field_name)); - auto n_unk_44_11c = new NodeSimple; - n_unk_44_11c->m_field_name = field_name; - n_unk_44_11c->m_df_type = DF_Type::int8_t; - n_unk_44_11c->m_rdf_type = RDF_Type::int8_t; - n_unk_44_11c->m_node_type = NodeType::Simple; - n_unk_44_11c->m_address = base + offset; - n_unk_44_11c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_44_11c); - - field_name = "expel_error"; - auto n_expel_error = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_unit, field_name)); - n_expel_error->m_field_name = field_name; - n_expel_error->m_df_type = DF_Type::ui_sidebar_menus__T_unit__T_expel_error; - n_expel_error->m_rdf_type = RDF_Type::Enum; - n_expel_error->m_node_type = NodeType::Enum; - n_expel_error->m_base_type = DF_Type::int32_t; - n_expel_error->m_enum_type = "ui_sidebar_menus::T_unit::T_expel_error"; - n_expel_error->m_address = base + offset; - n_expel_error->m_first_value = -1; - n_expel_error->m_last_value = 10; - n_expel_error->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_expel_error); - -} -void node_from_ui_sidebar_menus__T_hospital(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "selected_line"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_hospital, field_name)); - auto n_selected_line = new NodeSimple; - n_selected_line->m_field_name = field_name; - n_selected_line->m_df_type = DF_Type::int32_t; - n_selected_line->m_rdf_type = RDF_Type::int32_t; - n_selected_line->m_node_type = NodeType::Simple; - n_selected_line->m_address = base + offset; - n_selected_line->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_selected_line); - - field_name = "beds"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_hospital, field_name)); - auto n_beds = new NodeSimple; - n_beds->m_field_name = field_name; - n_beds->m_df_type = DF_Type::int32_t; - n_beds->m_rdf_type = RDF_Type::int32_t; - n_beds->m_node_type = NodeType::Simple; - n_beds->m_address = base + offset; - n_beds->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_beds); - - field_name = "tables"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_hospital, field_name)); - auto n_tables = new NodeSimple; - n_tables->m_field_name = field_name; - n_tables->m_df_type = DF_Type::int32_t; - n_tables->m_rdf_type = RDF_Type::int32_t; - n_tables->m_node_type = NodeType::Simple; - n_tables->m_address = base + offset; - n_tables->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tables); - - field_name = "traction_benches"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_hospital, field_name)); - auto n_traction_benches = new NodeSimple; - n_traction_benches->m_field_name = field_name; - n_traction_benches->m_df_type = DF_Type::int32_t; - n_traction_benches->m_rdf_type = RDF_Type::int32_t; - n_traction_benches->m_node_type = NodeType::Simple; - n_traction_benches->m_address = base + offset; - n_traction_benches->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_traction_benches); - - field_name = "containers"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_hospital, field_name)); - auto n_containers = new NodeSimple; - n_containers->m_field_name = field_name; - n_containers->m_df_type = DF_Type::int32_t; - n_containers->m_rdf_type = RDF_Type::int32_t; - n_containers->m_node_type = NodeType::Simple; - n_containers->m_address = base + offset; - n_containers->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_containers); - -} -void node_from_ui_sidebar_menus__T_location(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "list"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_location, field_name)); - auto n_list = new NodeVector; - n_list->m_field_name = field_name; - n_list->m_df_type = DF_Type::abstract_building; - n_list->m_rdf_type = RDF_Type::Vector; - n_list->m_node_type = NodeType::Vector; - n_list->m_defined_in = "df.world-site.xml"; - n_list->m_addornements = "v*"; - n_list->m_address = base + offset; - n_list->m_parent = p_node_parent; - n_list->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_list); - - field_name = "cursor"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_location, field_name)); - auto n_cursor = new NodeSimple; - n_cursor->m_field_name = field_name; - n_cursor->m_df_type = DF_Type::int32_t; - n_cursor->m_rdf_type = RDF_Type::int32_t; - n_cursor->m_node_type = NodeType::Simple; - n_cursor->m_address = base + offset; - n_cursor->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cursor); - - field_name = "deities"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_location, field_name)); - auto n_deities = new NodeVector; - n_deities->m_field_name = field_name; - n_deities->m_df_type = DF_Type::historical_figure; - n_deities->m_rdf_type = RDF_Type::Vector; - n_deities->m_node_type = NodeType::Vector; - n_deities->m_defined_in = "df.history.xml"; - n_deities->m_addornements = "v*"; - n_deities->m_address = base + offset; - n_deities->m_parent = p_node_parent; - n_deities->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_deities); - - field_name = "cursor_deity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_location, field_name)); - auto n_cursor_deity = new NodeSimple; - n_cursor_deity->m_field_name = field_name; - n_cursor_deity->m_df_type = DF_Type::int32_t; - n_cursor_deity->m_rdf_type = RDF_Type::int32_t; - n_cursor_deity->m_node_type = NodeType::Simple; - n_cursor_deity->m_address = base + offset; - n_cursor_deity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cursor_deity); - - field_name = "in_create"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_location, field_name)); - auto n_in_create = new NodeSimple; - n_in_create->m_field_name = field_name; - n_in_create->m_df_type = DF_Type::Bool; - n_in_create->m_rdf_type = RDF_Type::Bool; - n_in_create->m_node_type = NodeType::Simple; - n_in_create->m_address = base + offset; - n_in_create->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_in_create); - - field_name = "in_choose_deity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_location, field_name)); - auto n_in_choose_deity = new NodeSimple; - n_in_choose_deity->m_field_name = field_name; - n_in_choose_deity->m_df_type = DF_Type::Bool; - n_in_choose_deity->m_rdf_type = RDF_Type::Bool; - n_in_choose_deity->m_node_type = NodeType::Simple; - n_in_choose_deity->m_address = base + offset; - n_in_choose_deity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_in_choose_deity); - -} -void node_from_ui_sidebar_menus__T_job_details(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "job"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_job_details, field_name)); - auto n_job = new NodePointer; - n_job->m_field_name = field_name; - n_job->m_df_type = get_real_subtype(base+offset, DF_Type::job); - n_job->m_rdf_type = RDF_Type::Pointer; - n_job->m_node_type = NodeType::Pointer; - n_job->m_addornements = "*"; - n_job->m_address = base + offset; - n_job->m_parent = p_node_parent; - n_job->m_defined_in = "df.jobs.xml"; - n_job->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_job); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_job_details, field_name)); - auto n_anon_1= new NodePadding; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::Padding; - n_anon_1->m_rdf_type = RDF_Type::Padding; - n_anon_1->m_node_type = NodeType::Padding; - n_anon_1->m_address = base + offset; - n_anon_1->m_size = 4; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "detail_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_job_details, field_name)); - auto n_detail_type = new NodeVector; - n_detail_type->m_field_name = field_name; - n_detail_type->m_df_type = DF_Type::int32_t; - n_detail_type->m_rdf_type = RDF_Type::Vector; - n_detail_type->m_node_type = NodeType::Vector; - n_detail_type->m_addornements = "v"; - n_detail_type->m_address = base + offset; - n_detail_type->m_comment = "0-material, 1-image, 2-size, 3-type"; - n_detail_type->m_parent = p_node_parent; - n_detail_type->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_detail_type); - - field_name = "detail_material_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_job_details, field_name)); - auto n_detail_material_type = new NodeVector; - n_detail_material_type->m_field_name = field_name; - n_detail_material_type->m_df_type = DF_Type::int32_t; - n_detail_material_type->m_rdf_type = RDF_Type::Vector; - n_detail_material_type->m_node_type = NodeType::Vector; - n_detail_material_type->m_addornements = "v"; - n_detail_material_type->m_address = base + offset; - n_detail_material_type->m_parent = p_node_parent; - n_detail_material_type->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_detail_material_type); - - field_name = "detail_cursor"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_job_details, field_name)); - auto n_detail_cursor = new NodeSimple; - n_detail_cursor->m_field_name = field_name; - n_detail_cursor->m_df_type = DF_Type::int32_t; - n_detail_cursor->m_rdf_type = RDF_Type::int32_t; - n_detail_cursor->m_node_type = NodeType::Simple; - n_detail_cursor->m_address = base + offset; - n_detail_cursor->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_detail_cursor); - - field_name = "setting_detail_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_job_details, field_name)); - auto n_setting_detail_type = new NodeSimple; - n_setting_detail_type->m_field_name = field_name; - n_setting_detail_type->m_df_type = DF_Type::int32_t; - n_setting_detail_type->m_rdf_type = RDF_Type::int32_t; - n_setting_detail_type->m_node_type = NodeType::Simple; - n_setting_detail_type->m_address = base + offset; - n_setting_detail_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_setting_detail_type); - - field_name = "unk6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_job_details, field_name)); - auto n_unk6 = new NodeSimple; - n_unk6->m_field_name = field_name; - n_unk6->m_df_type = DF_Type::int32_t; - n_unk6->m_rdf_type = RDF_Type::int32_t; - n_unk6->m_node_type = NodeType::Simple; - n_unk6->m_address = base + offset; - n_unk6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk6); - - field_name = "pos"; - auto n_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_job_details, field_name)); - n_pos->m_field_name = field_name; - n_pos->m_df_type = DF_Type::coord; - n_pos->m_rdf_type = RDF_Type::Struct; - n_pos->m_node_type = NodeType::Compound; - n_pos->m_address = base + offset; - n_pos->m_defined_in = "df.map.xml"; - n_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pos); - - field_name = "workshop"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_job_details, field_name)); - auto n_workshop = new NodePointer; - n_workshop->m_field_name = field_name; - n_workshop->m_df_type = get_real_subtype(base+offset, DF_Type::building_workshopst); - n_workshop->m_rdf_type = RDF_Type::Pointer; - n_workshop->m_node_type = NodeType::Pointer; - n_workshop->m_addornements = "*"; - n_workshop->m_address = base + offset; - n_workshop->m_parent = p_node_parent; - n_workshop->m_defined_in = "df.buildings.xml"; - n_workshop->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_workshop); - - field_name = "mat_type_visible"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_job_details, field_name)); - auto n_mat_type_visible = new NodeVector; - n_mat_type_visible->m_field_name = field_name; - n_mat_type_visible->m_df_type = DF_Type::int16_t; - n_mat_type_visible->m_rdf_type = RDF_Type::Vector; - n_mat_type_visible->m_node_type = NodeType::Vector; - n_mat_type_visible->m_addornements = "v"; - n_mat_type_visible->m_address = base + offset; - n_mat_type_visible->m_parent = p_node_parent; - n_mat_type_visible->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_mat_type_visible); - - field_name = "mat_index_visible"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_job_details, field_name)); - auto n_mat_index_visible = new NodeVector; - n_mat_index_visible->m_field_name = field_name; - n_mat_index_visible->m_df_type = DF_Type::int32_t; - n_mat_index_visible->m_rdf_type = RDF_Type::Vector; - n_mat_index_visible->m_node_type = NodeType::Vector; - n_mat_index_visible->m_addornements = "v"; - n_mat_index_visible->m_address = base + offset; - n_mat_index_visible->m_parent = p_node_parent; - n_mat_index_visible->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_mat_index_visible); - - field_name = "mat_amount_visible"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_job_details, field_name)); - auto n_mat_amount_visible = new NodeVector; - n_mat_amount_visible->m_field_name = field_name; - n_mat_amount_visible->m_df_type = DF_Type::int32_t; - n_mat_amount_visible->m_rdf_type = RDF_Type::Vector; - n_mat_amount_visible->m_node_type = NodeType::Vector; - n_mat_amount_visible->m_addornements = "v"; - n_mat_amount_visible->m_address = base + offset; - n_mat_amount_visible->m_parent = p_node_parent; - n_mat_amount_visible->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_mat_amount_visible); - - field_name = "mat_type_all"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_job_details, field_name)); - auto n_mat_type_all = new NodeVector; - n_mat_type_all->m_field_name = field_name; - n_mat_type_all->m_df_type = DF_Type::int16_t; - n_mat_type_all->m_rdf_type = RDF_Type::Vector; - n_mat_type_all->m_node_type = NodeType::Vector; - n_mat_type_all->m_addornements = "v"; - n_mat_type_all->m_address = base + offset; - n_mat_type_all->m_parent = p_node_parent; - n_mat_type_all->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_mat_type_all); - - field_name = "mat_index_all"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_job_details, field_name)); - auto n_mat_index_all = new NodeVector; - n_mat_index_all->m_field_name = field_name; - n_mat_index_all->m_df_type = DF_Type::int32_t; - n_mat_index_all->m_rdf_type = RDF_Type::Vector; - n_mat_index_all->m_node_type = NodeType::Vector; - n_mat_index_all->m_addornements = "v"; - n_mat_index_all->m_address = base + offset; - n_mat_index_all->m_parent = p_node_parent; - n_mat_index_all->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_mat_index_all); - - field_name = "mat_amount_all"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_job_details, field_name)); - auto n_mat_amount_all = new NodeVector; - n_mat_amount_all->m_field_name = field_name; - n_mat_amount_all->m_df_type = DF_Type::int32_t; - n_mat_amount_all->m_rdf_type = RDF_Type::Vector; - n_mat_amount_all->m_node_type = NodeType::Vector; - n_mat_amount_all->m_addornements = "v"; - n_mat_amount_all->m_address = base + offset; - n_mat_amount_all->m_parent = p_node_parent; - n_mat_amount_all->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_mat_amount_all); - - field_name = "mat_cursor"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_job_details, field_name)); - auto n_mat_cursor = new NodeSimple; - n_mat_cursor->m_field_name = field_name; - n_mat_cursor->m_df_type = DF_Type::int32_t; - n_mat_cursor->m_rdf_type = RDF_Type::int32_t; - n_mat_cursor->m_node_type = NodeType::Simple; - n_mat_cursor->m_address = base + offset; - n_mat_cursor->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_cursor); - - field_name = "mat_filter"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_job_details, field_name)); - auto n_mat_filter = new NodeSimple; - n_mat_filter->m_field_name = field_name; - n_mat_filter->m_df_type = DF_Type::Stl_string; - n_mat_filter->m_rdf_type = RDF_Type::Stl_string; - n_mat_filter->m_node_type = NodeType::Simple; - n_mat_filter->m_address = base + offset; - n_mat_filter->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_filter); - - field_name = "editing_mat_filter"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_job_details, field_name)); - auto n_editing_mat_filter = new NodeSimple; - n_editing_mat_filter->m_field_name = field_name; - n_editing_mat_filter->m_df_type = DF_Type::Bool; - n_editing_mat_filter->m_rdf_type = RDF_Type::Bool; - n_editing_mat_filter->m_node_type = NodeType::Simple; - n_editing_mat_filter->m_address = base + offset; - n_editing_mat_filter->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_editing_mat_filter); - - field_name = "sizes_visible"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_job_details, field_name)); - auto n_sizes_visible = new NodeVector; - n_sizes_visible->m_field_name = field_name; - n_sizes_visible->m_df_type = DF_Type::int32_t; - n_sizes_visible->m_rdf_type = RDF_Type::Vector; - n_sizes_visible->m_node_type = NodeType::Vector; - n_sizes_visible->m_addornements = "v"; - n_sizes_visible->m_address = base + offset; - n_sizes_visible->m_comment = "race id"; - n_sizes_visible->m_parent = p_node_parent; - n_sizes_visible->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_sizes_visible); - - field_name = "sizes_all"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_job_details, field_name)); - auto n_sizes_all = new NodeVector; - n_sizes_all->m_field_name = field_name; - n_sizes_all->m_df_type = DF_Type::int32_t; - n_sizes_all->m_rdf_type = RDF_Type::Vector; - n_sizes_all->m_node_type = NodeType::Vector; - n_sizes_all->m_addornements = "v"; - n_sizes_all->m_address = base + offset; - n_sizes_all->m_comment = "race id"; - n_sizes_all->m_parent = p_node_parent; - n_sizes_all->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_sizes_all); - - field_name = "size_cursor"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_job_details, field_name)); - auto n_size_cursor = new NodeSimple; - n_size_cursor->m_field_name = field_name; - n_size_cursor->m_df_type = DF_Type::int32_t; - n_size_cursor->m_rdf_type = RDF_Type::int32_t; - n_size_cursor->m_node_type = NodeType::Simple; - n_size_cursor->m_address = base + offset; - n_size_cursor->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_size_cursor); - - field_name = "size_filter"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_job_details, field_name)); - auto n_size_filter = new NodeSimple; - n_size_filter->m_field_name = field_name; - n_size_filter->m_df_type = DF_Type::Stl_string; - n_size_filter->m_rdf_type = RDF_Type::Stl_string; - n_size_filter->m_node_type = NodeType::Simple; - n_size_filter->m_address = base + offset; - n_size_filter->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_size_filter); - - field_name = "editing_size_filter"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_job_details, field_name)); - auto n_editing_size_filter = new NodeSimple; - n_editing_size_filter->m_field_name = field_name; - n_editing_size_filter->m_df_type = DF_Type::Bool; - n_editing_size_filter->m_rdf_type = RDF_Type::Bool; - n_editing_size_filter->m_node_type = NodeType::Simple; - n_editing_size_filter->m_address = base + offset; - n_editing_size_filter->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_editing_size_filter); - - field_name = "decoration_types"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_job_details, field_name)); - auto n_decoration_types = new NodeVector; - n_decoration_types->m_field_name = field_name; - n_decoration_types->m_df_type = DF_Type::int32_t; - n_decoration_types->m_rdf_type = RDF_Type::Vector; - n_decoration_types->m_node_type = NodeType::Vector; - n_decoration_types->m_addornements = "v"; - n_decoration_types->m_address = base + offset; - n_decoration_types->m_comment = "0-image, 1-covered, 2-rings, 3-bands, 4-spikes"; - n_decoration_types->m_parent = p_node_parent; - n_decoration_types->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_decoration_types); - - field_name = "decoration_cursor"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_job_details, field_name)); - auto n_decoration_cursor = new NodeSimple; - n_decoration_cursor->m_field_name = field_name; - n_decoration_cursor->m_df_type = DF_Type::int32_t; - n_decoration_cursor->m_rdf_type = RDF_Type::int32_t; - n_decoration_cursor->m_node_type = NodeType::Simple; - n_decoration_cursor->m_address = base + offset; - n_decoration_cursor->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_decoration_cursor); - - field_name = "selected_display_furniture"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_job_details, field_name)); - auto n_selected_display_furniture = new NodePointer; - n_selected_display_furniture->m_field_name = field_name; - n_selected_display_furniture->m_df_type = get_real_subtype(base+offset, DF_Type::building_display_furniturest); - n_selected_display_furniture->m_rdf_type = RDF_Type::Pointer; - n_selected_display_furniture->m_node_type = NodeType::Pointer; - n_selected_display_furniture->m_addornements = "*"; - n_selected_display_furniture->m_address = base + offset; - n_selected_display_furniture->m_parent = p_node_parent; - n_selected_display_furniture->m_defined_in = "df.buildings.xml"; - n_selected_display_furniture->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_selected_display_furniture); - - field_name = "displayed_items_cursor"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_job_details, field_name)); - auto n_displayed_items_cursor = new NodeSimple; - n_displayed_items_cursor->m_field_name = field_name; - n_displayed_items_cursor->m_df_type = DF_Type::int32_t; - n_displayed_items_cursor->m_rdf_type = RDF_Type::int32_t; - n_displayed_items_cursor->m_node_type = NodeType::Simple; - n_displayed_items_cursor->m_address = base + offset; - n_displayed_items_cursor->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_displayed_items_cursor); - -} -void node_from_ui_sidebar_menus__T_unit_cursor(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "list"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_unit_cursor, field_name)); - auto n_list = new NodeVector; - n_list->m_field_name = field_name; - n_list->m_df_type = DF_Type::int32_t; - n_list->m_rdf_type = RDF_Type::Vector; - n_list->m_node_type = NodeType::Vector; - n_list->m_addornements = "v"; - n_list->m_address = base + offset; - n_list->m_refers_to = "$global.world.units.active[$]"; - n_list->m_parent = p_node_parent; - n_list->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_list); - - field_name = "unk_a0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_unit_cursor, field_name)); - auto n_unk_a0 = new NodeSimple; - n_unk_a0->m_field_name = field_name; - n_unk_a0->m_df_type = DF_Type::int8_t; - n_unk_a0->m_rdf_type = RDF_Type::int8_t; - n_unk_a0->m_node_type = NodeType::Simple; - n_unk_a0->m_address = base + offset; - n_unk_a0->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_a0); - - field_name = "unk_a1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_unit_cursor, field_name)); - auto n_unk_a1 = new NodeSimple; - n_unk_a1->m_field_name = field_name; - n_unk_a1->m_df_type = DF_Type::int8_t; - n_unk_a1->m_rdf_type = RDF_Type::int8_t; - n_unk_a1->m_node_type = NodeType::Simple; - n_unk_a1->m_address = base + offset; - n_unk_a1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_a1); - -} -void node_from_ui_sidebar_menus__T_unit_skills(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "skill_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_unit_skills, field_name)); - auto n_skill_id = new NodeVector; - n_skill_id->m_field_name = field_name; - n_skill_id->m_df_type = DF_Type::int32_t; - n_skill_id->m_rdf_type = RDF_Type::Vector; - n_skill_id->m_node_type = NodeType::Vector; - n_skill_id->m_addornements = "v"; - n_skill_id->m_address = base + offset; - n_skill_id->m_refers_to = "$global.ui_selected_unit.index.refers-to.status.current_soul.skills[$]"; - n_skill_id->m_parent = p_node_parent; - n_skill_id->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_skill_id); - - field_name = "skill_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_unit_skills, field_name)); - auto n_skill_type = new NodeVector; - n_skill_type->m_field_name = field_name; - n_skill_type->m_df_type = DF_Type::int32_t; - n_skill_type->m_rdf_type = RDF_Type::Vector; - n_skill_type->m_node_type = NodeType::Vector; - n_skill_type->m_addornements = "v"; - n_skill_type->m_address = base + offset; - n_skill_type->m_parent = p_node_parent; - n_skill_type->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_skill_type); - - field_name = "skill_subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_unit_skills, field_name)); - auto n_skill_subtype = new NodeVector; - n_skill_subtype->m_field_name = field_name; - n_skill_subtype->m_df_type = DF_Type::int32_t; - n_skill_subtype->m_rdf_type = RDF_Type::Vector; - n_skill_subtype->m_node_type = NodeType::Vector; - n_skill_subtype->m_addornements = "v"; - n_skill_subtype->m_address = base + offset; - n_skill_subtype->m_parent = p_node_parent; - n_skill_subtype->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_skill_subtype); - -} -void node_from_ui_sidebar_menus__T_barracks(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "squads"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_barracks, field_name)); - auto n_squads = new NodeVector; - n_squads->m_field_name = field_name; - n_squads->m_df_type = DF_Type::squad; - n_squads->m_rdf_type = RDF_Type::Vector; - n_squads->m_node_type = NodeType::Vector; - n_squads->m_defined_in = "df.military.xml"; - n_squads->m_addornements = "v*"; - n_squads->m_address = base + offset; - n_squads->m_parent = p_node_parent; - n_squads->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_squads); - - field_name = "uses"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_barracks, field_name)); - auto n_uses = new NodeVector; - n_uses->m_field_name = field_name; - n_uses->m_df_type = DF_Type::squad_use_flags; - n_uses->m_rdf_type = RDF_Type::Vector; - n_uses->m_node_type = NodeType::Vector; - n_uses->m_defined_in = "df.military.xml"; - n_uses->m_addornements = "v"; - n_uses->m_address = base + offset; - n_uses->m_parent = p_node_parent; - n_uses->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_uses); - - field_name = "in_rename"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_barracks, field_name)); - auto n_in_rename = new NodeSimple; - n_in_rename->m_field_name = field_name; - n_in_rename->m_df_type = DF_Type::Bool; - n_in_rename->m_rdf_type = RDF_Type::Bool; - n_in_rename->m_node_type = NodeType::Simple; - n_in_rename->m_address = base + offset; - n_in_rename->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_in_rename); - - field_name = "in_positions"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_barracks, field_name)); - auto n_in_positions = new NodeSimple; - n_in_positions->m_field_name = field_name; - n_in_positions->m_df_type = DF_Type::Bool; - n_in_positions->m_rdf_type = RDF_Type::Bool; - n_in_positions->m_node_type = NodeType::Simple; - n_in_positions->m_address = base + offset; - n_in_positions->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_in_positions); - - field_name = "position_squad"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_barracks, field_name)); - auto n_position_squad = new NodePointer; - n_position_squad->m_field_name = field_name; - n_position_squad->m_df_type = get_real_subtype(base+offset, DF_Type::squad); - n_position_squad->m_rdf_type = RDF_Type::Pointer; - n_position_squad->m_node_type = NodeType::Pointer; - n_position_squad->m_addornements = "*"; - n_position_squad->m_address = base + offset; - n_position_squad->m_parent = p_node_parent; - n_position_squad->m_defined_in = "df.military.xml"; - n_position_squad->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_position_squad); - - field_name = "position_cursor"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_barracks, field_name)); - auto n_position_cursor = new NodeSimple; - n_position_cursor->m_field_name = field_name; - n_position_cursor->m_df_type = DF_Type::int32_t; - n_position_cursor->m_rdf_type = RDF_Type::int32_t; - n_position_cursor->m_node_type = NodeType::Simple; - n_position_cursor->m_address = base + offset; - n_position_cursor->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_position_cursor); - - field_name = "in_position_squads"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_barracks, field_name)); - auto n_in_position_squads = new NodeSimple; - n_in_position_squads->m_field_name = field_name; - n_in_position_squads->m_df_type = DF_Type::Bool; - n_in_position_squads->m_rdf_type = RDF_Type::Bool; - n_in_position_squads->m_node_type = NodeType::Simple; - n_in_position_squads->m_address = base + offset; - n_in_position_squads->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_in_position_squads); - - field_name = "position_squads"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_barracks, field_name)); - auto n_position_squads = new NodeVector; - n_position_squads->m_field_name = field_name; - n_position_squads->m_df_type = DF_Type::squad; - n_position_squads->m_rdf_type = RDF_Type::Vector; - n_position_squads->m_node_type = NodeType::Vector; - n_position_squads->m_defined_in = "df.military.xml"; - n_position_squads->m_addornements = "v*"; - n_position_squads->m_address = base + offset; - n_position_squads->m_parent = p_node_parent; - n_position_squads->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_position_squads); - - field_name = "position_squad_cursor"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_barracks, field_name)); - auto n_position_squad_cursor = new NodeSimple; - n_position_squad_cursor->m_field_name = field_name; - n_position_squad_cursor->m_df_type = DF_Type::int32_t; - n_position_squad_cursor->m_rdf_type = RDF_Type::int32_t; - n_position_squad_cursor->m_node_type = NodeType::Simple; - n_position_squad_cursor->m_address = base + offset; - n_position_squad_cursor->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_position_squad_cursor); - -} -void node_from_ui_sidebar_menus__T_minimap(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "data"; - auto n_data = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_minimap, field_name)); - n_data->m_field_name = field_name; - n_data->m_df_type = DF_Type::int32_t; - n_data->m_rdf_type = RDF_Type::Array; - n_data->m_node_type = NodeType::Array; - n_data->m_addornements = "[23[23"; - n_data->m_array_size = 23; - n_data->m_address = base + offset; - n_data->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_data); - - field_name = "need_render"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_minimap, field_name)); - auto n_need_render = new NodeSimple; - n_need_render->m_field_name = field_name; - n_need_render->m_df_type = DF_Type::Bool; - n_need_render->m_rdf_type = RDF_Type::Bool; - n_need_render->m_node_type = NodeType::Simple; - n_need_render->m_address = base + offset; - n_need_render->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_need_render); - - field_name = "need_scan"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_minimap, field_name)); - auto n_need_scan = new NodeSimple; - n_need_scan->m_field_name = field_name; - n_need_scan->m_df_type = DF_Type::Bool; - n_need_scan->m_rdf_type = RDF_Type::Bool; - n_need_scan->m_node_type = NodeType::Simple; - n_need_scan->m_address = base + offset; - n_need_scan->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_need_scan); - - field_name = "z_level"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_minimap, field_name)); - auto n_z_level = new NodeSimple; - n_z_level->m_field_name = field_name; - n_z_level->m_df_type = DF_Type::int16_t; - n_z_level->m_rdf_type = RDF_Type::int16_t; - n_z_level->m_node_type = NodeType::Simple; - n_z_level->m_address = base + offset; - n_z_level->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_z_level); - - field_name = "tile"; - auto n_tile = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_minimap, field_name)); - n_tile->m_field_name = field_name; - n_tile->m_df_type = DF_Type::uint8_t; - n_tile->m_rdf_type = RDF_Type::Array; - n_tile->m_node_type = NodeType::Array; - n_tile->m_addornements = "[23[23"; - n_tile->m_array_size = 23; - n_tile->m_address = base + offset; - n_tile->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tile); - - field_name = "tile_fg"; - auto n_tile_fg = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_minimap, field_name)); - n_tile_fg->m_field_name = field_name; - n_tile_fg->m_df_type = DF_Type::int16_t; - n_tile_fg->m_rdf_type = RDF_Type::Array; - n_tile_fg->m_node_type = NodeType::Array; - n_tile_fg->m_addornements = "[23[23"; - n_tile_fg->m_array_size = 23; - n_tile_fg->m_address = base + offset; - n_tile_fg->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tile_fg); - - field_name = "tile_bg"; - auto n_tile_bg = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_minimap, field_name)); - n_tile_bg->m_field_name = field_name; - n_tile_bg->m_df_type = DF_Type::int16_t; - n_tile_bg->m_rdf_type = RDF_Type::Array; - n_tile_bg->m_node_type = NodeType::Array; - n_tile_bg->m_addornements = "[23[23"; - n_tile_bg->m_array_size = 23; - n_tile_bg->m_address = base + offset; - n_tile_bg->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tile_bg); - - field_name = "tile_bold"; - auto n_tile_bold = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_minimap, field_name)); - n_tile_bold->m_field_name = field_name; - n_tile_bold->m_df_type = DF_Type::int16_t; - n_tile_bold->m_rdf_type = RDF_Type::Array; - n_tile_bold->m_node_type = NodeType::Array; - n_tile_bold->m_addornements = "[23[23"; - n_tile_bold->m_array_size = 23; - n_tile_bold->m_address = base + offset; - n_tile_bold->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tile_bold); - -} -void node_from_ui_sidebar_menus__T_command_line(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "original"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_command_line, field_name)); - auto n_original = new NodeSimple; - n_original->m_field_name = field_name; - n_original->m_df_type = DF_Type::Stl_string; - n_original->m_rdf_type = RDF_Type::Stl_string; - n_original->m_node_type = NodeType::Simple; - n_original->m_address = base + offset; - n_original->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_original); - - field_name = "arg_vect"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_command_line, field_name)); - auto n_arg_vect = new NodeVector; - n_arg_vect->m_field_name = field_name; - n_arg_vect->m_df_type = DF_Type::Stl_string; - n_arg_vect->m_rdf_type = RDF_Type::Vector; - n_arg_vect->m_node_type = NodeType::Vector; - n_arg_vect->m_addornements = "v*"; - n_arg_vect->m_address = base + offset; - n_arg_vect->m_parent = p_node_parent; - n_arg_vect->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_arg_vect); - - field_name = "gen_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_command_line, field_name)); - auto n_gen_id = new NodeSimple; - n_gen_id->m_field_name = field_name; - n_gen_id->m_df_type = DF_Type::Long; - n_gen_id->m_rdf_type = RDF_Type::Long; - n_gen_id->m_node_type = NodeType::Simple; - n_gen_id->m_address = base + offset; - n_gen_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_gen_id); - - field_name = "world_seed"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_command_line, field_name)); - auto n_world_seed = new NodeSimple; - n_world_seed->m_field_name = field_name; - n_world_seed->m_df_type = DF_Type::Long; - n_world_seed->m_rdf_type = RDF_Type::Long; - n_world_seed->m_node_type = NodeType::Simple; - n_world_seed->m_address = base + offset; - n_world_seed->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_world_seed); - - field_name = "use_seed"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_command_line, field_name)); - auto n_use_seed = new NodeSimple; - n_use_seed->m_field_name = field_name; - n_use_seed->m_df_type = DF_Type::Bool; - n_use_seed->m_rdf_type = RDF_Type::Bool; - n_use_seed->m_node_type = NodeType::Simple; - n_use_seed->m_address = base + offset; - n_use_seed->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_use_seed); - - field_name = "world_param"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_command_line, field_name)); - auto n_world_param = new NodeSimple; - n_world_param->m_field_name = field_name; - n_world_param->m_df_type = DF_Type::Stl_string; - n_world_param->m_rdf_type = RDF_Type::Stl_string; - n_world_param->m_node_type = NodeType::Simple; - n_world_param->m_address = base + offset; - n_world_param->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_world_param); - - field_name = "use_param"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_command_line, field_name)); - auto n_use_param = new NodeSimple; - n_use_param->m_field_name = field_name; - n_use_param->m_df_type = DF_Type::int8_t; - n_use_param->m_rdf_type = RDF_Type::int8_t; - n_use_param->m_node_type = NodeType::Simple; - n_use_param->m_address = base + offset; - n_use_param->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_use_param); - -} -void node_from_ui_sidebar_menus(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "designation"; - auto n_designation = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus, field_name)); - n_designation->m_field_name = field_name; - n_designation->m_df_type = DF_Type::ui_sidebar_menus__T_designation; - n_designation->m_rdf_type = RDF_Type::Compound; - n_designation->m_node_type = NodeType::Compound; - n_designation->m_address = base + offset; - n_designation->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_designation); - - field_name = "workshop_job"; - auto n_workshop_job = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus, field_name)); - n_workshop_job->m_field_name = field_name; - n_workshop_job->m_df_type = DF_Type::ui_sidebar_menus__T_workshop_job; - n_workshop_job->m_rdf_type = RDF_Type::Compound; - n_workshop_job->m_node_type = NodeType::Compound; - n_workshop_job->m_address = base + offset; - n_workshop_job->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_workshop_job); - - field_name = "building"; - auto n_building = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus, field_name)); - n_building->m_field_name = field_name; - n_building->m_df_type = DF_Type::ui_sidebar_menus__T_building; - n_building->m_rdf_type = RDF_Type::Compound; - n_building->m_node_type = NodeType::Compound; - n_building->m_address = base + offset; - n_building->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_building); - - field_name = "zone"; - auto n_zone = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus, field_name)); - n_zone->m_field_name = field_name; - n_zone->m_df_type = DF_Type::ui_sidebar_menus__T_zone; - n_zone->m_rdf_type = RDF_Type::Compound; - n_zone->m_node_type = NodeType::Compound; - n_zone->m_address = base + offset; - n_zone->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_zone); - - field_name = "unit"; - auto n_unit = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus, field_name)); - n_unit->m_field_name = field_name; - n_unit->m_df_type = DF_Type::ui_sidebar_menus__T_unit; - n_unit->m_rdf_type = RDF_Type::Compound; - n_unit->m_node_type = NodeType::Compound; - n_unit->m_address = base + offset; - n_unit->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unit); - - field_name = "hospital"; - auto n_hospital = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus, field_name)); - n_hospital->m_field_name = field_name; - n_hospital->m_df_type = DF_Type::ui_sidebar_menus__T_hospital; - n_hospital->m_rdf_type = RDF_Type::Compound; - n_hospital->m_node_type = NodeType::Compound; - n_hospital->m_address = base + offset; - n_hospital->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_hospital); - - field_name = "location"; - auto n_location = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus, field_name)); - n_location->m_field_name = field_name; - n_location->m_df_type = DF_Type::ui_sidebar_menus__T_location; - n_location->m_rdf_type = RDF_Type::Compound; - n_location->m_node_type = NodeType::Compound; - n_location->m_address = base + offset; - n_location->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_location); - - field_name = "job_details"; - auto n_job_details = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus, field_name)); - n_job_details->m_field_name = field_name; - n_job_details->m_df_type = DF_Type::ui_sidebar_menus__T_job_details; - n_job_details->m_rdf_type = RDF_Type::Compound; - n_job_details->m_node_type = NodeType::Compound; - n_job_details->m_address = base + offset; - n_job_details->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_job_details); - - field_name = "unit_cursor"; - auto n_unit_cursor = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus, field_name)); - n_unit_cursor->m_field_name = field_name; - n_unit_cursor->m_df_type = DF_Type::ui_sidebar_menus__T_unit_cursor; - n_unit_cursor->m_rdf_type = RDF_Type::Compound; - n_unit_cursor->m_node_type = NodeType::Compound; - n_unit_cursor->m_address = base + offset; - n_unit_cursor->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unit_cursor); - - field_name = "unit_skills"; - auto n_unit_skills = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus, field_name)); - n_unit_skills->m_field_name = field_name; - n_unit_skills->m_df_type = DF_Type::ui_sidebar_menus__T_unit_skills; - n_unit_skills->m_rdf_type = RDF_Type::Compound; - n_unit_skills->m_node_type = NodeType::Compound; - n_unit_skills->m_address = base + offset; - n_unit_skills->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unit_skills); - - field_name = "show_combat"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus, field_name)); - auto n_show_combat = new NodeSimple; - n_show_combat->m_field_name = field_name; - n_show_combat->m_df_type = DF_Type::Bool; - n_show_combat->m_rdf_type = RDF_Type::Bool; - n_show_combat->m_node_type = NodeType::Simple; - n_show_combat->m_address = base + offset; - n_show_combat->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_show_combat); - - field_name = "show_labor"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus, field_name)); - auto n_show_labor = new NodeSimple; - n_show_labor->m_field_name = field_name; - n_show_labor->m_df_type = DF_Type::Bool; - n_show_labor->m_rdf_type = RDF_Type::Bool; - n_show_labor->m_node_type = NodeType::Simple; - n_show_labor->m_address = base + offset; - n_show_labor->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_show_labor); - - field_name = "show_misc"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus, field_name)); - auto n_show_misc = new NodeSimple; - n_show_misc->m_field_name = field_name; - n_show_misc->m_df_type = DF_Type::Bool; - n_show_misc->m_rdf_type = RDF_Type::Bool; - n_show_misc->m_node_type = NodeType::Simple; - n_show_misc->m_address = base + offset; - n_show_misc->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_show_misc); - - field_name = "barracks_squad_cursor"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus, field_name)); - auto n_barracks_squad_cursor = new NodeSimple; - n_barracks_squad_cursor->m_field_name = field_name; - n_barracks_squad_cursor->m_df_type = DF_Type::int32_t; - n_barracks_squad_cursor->m_rdf_type = RDF_Type::int32_t; - n_barracks_squad_cursor->m_node_type = NodeType::Simple; - n_barracks_squad_cursor->m_address = base + offset; - n_barracks_squad_cursor->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_barracks_squad_cursor); - - field_name = "barracks"; - auto n_barracks = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus, field_name)); - n_barracks->m_field_name = field_name; - n_barracks->m_df_type = DF_Type::ui_sidebar_menus__T_barracks; - n_barracks->m_rdf_type = RDF_Type::Compound; - n_barracks->m_node_type = NodeType::Compound; - n_barracks->m_address = base + offset; - n_barracks->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_barracks); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus, field_name)); - auto n_anon_1 = new NodeVector; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::Void; - n_anon_1->m_rdf_type = RDF_Type::Vector; - n_anon_1->m_node_type = NodeType::Vector; - n_anon_1->m_addornements = "v"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus, field_name)); - auto n_anon_2= new NodePadding; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::Padding; - n_anon_2->m_rdf_type = RDF_Type::Padding; - n_anon_2->m_node_type = NodeType::Padding; - n_anon_2->m_address = base + offset; - n_anon_2->m_size = 4; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "minimap"; - auto n_minimap = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus, field_name)); - n_minimap->m_field_name = field_name; - n_minimap->m_df_type = DF_Type::ui_sidebar_menus__T_minimap; - n_minimap->m_rdf_type = RDF_Type::Compound; - n_minimap->m_node_type = NodeType::Compound; - n_minimap->m_address = base + offset; - n_minimap->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_minimap); - - field_name = "command_line"; - auto n_command_line = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus, field_name)); - n_command_line->m_field_name = field_name; - n_command_line->m_df_type = DF_Type::ui_sidebar_menus__T_command_line; - n_command_line->m_rdf_type = RDF_Type::Compound; - n_command_line->m_node_type = NodeType::Compound; - n_command_line->m_address = base + offset; - n_command_line->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_command_line); - - field_name = "num_speech_tokens"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus, field_name)); - auto n_num_speech_tokens = new NodeSimple; - n_num_speech_tokens->m_field_name = field_name; - n_num_speech_tokens->m_df_type = DF_Type::int32_t; - n_num_speech_tokens->m_rdf_type = RDF_Type::int32_t; - n_num_speech_tokens->m_node_type = NodeType::Simple; - n_num_speech_tokens->m_address = base + offset; - n_num_speech_tokens->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_num_speech_tokens); - - field_name = "unk_17d8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus, field_name)); - auto n_unk_17d8 = new NodeSimple; - n_unk_17d8->m_field_name = field_name; - n_unk_17d8->m_df_type = DF_Type::int8_t; - n_unk_17d8->m_rdf_type = RDF_Type::int8_t; - n_unk_17d8->m_node_type = NodeType::Simple; - n_unk_17d8->m_address = base + offset; - n_unk_17d8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_17d8); - -} -void node_from_ui_look_list__T_items___union3(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = true) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "item"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_look_list__T_items, field_name)); - auto n_item = new NodePointer; - n_item->m_field_name = field_name; - n_item->m_df_type = get_real_subtype(base+offset, DF_Type::item); - n_item->m_rdf_type = RDF_Type::Pointer; - n_item->m_node_type = NodeType::Pointer; - n_item->m_addornements = "*"; - n_item->m_address = base + offset; - n_item->m_parent = p_node_parent; - n_item->m_defined_in = "df.items.xml"; - n_item->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_item); - - field_name = "unit"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_look_list__T_items, field_name)); - auto n_unit = new NodePointer; - n_unit->m_field_name = field_name; - n_unit->m_df_type = get_real_subtype(base+offset, DF_Type::unit); - n_unit->m_rdf_type = RDF_Type::Pointer; - n_unit->m_node_type = NodeType::Pointer; - n_unit->m_addornements = "*"; - n_unit->m_address = base + offset; - n_unit->m_parent = p_node_parent; - n_unit->m_defined_in = "df.units.xml"; - n_unit->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unit); - - field_name = "building"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_look_list__T_items, field_name)); - auto n_building = new NodePointer; - n_building->m_field_name = field_name; - n_building->m_df_type = get_real_subtype(base+offset, DF_Type::building); - n_building->m_rdf_type = RDF_Type::Pointer; - n_building->m_node_type = NodeType::Pointer; - n_building->m_addornements = "*"; - n_building->m_address = base + offset; - n_building->m_parent = p_node_parent; - n_building->m_defined_in = "df.buildings.xml"; - n_building->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_building); - - field_name = "vermin"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_look_list__T_items, field_name)); - auto n_vermin = new NodePointer; - n_vermin->m_field_name = field_name; - n_vermin->m_df_type = get_real_subtype(base+offset, DF_Type::vermin); - n_vermin->m_rdf_type = RDF_Type::Pointer; - n_vermin->m_node_type = NodeType::Pointer; - n_vermin->m_addornements = "*"; - n_vermin->m_address = base + offset; - n_vermin->m_parent = p_node_parent; - n_vermin->m_defined_in = "df.vermin.xml"; - n_vermin->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_vermin); - - field_name = "flow"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_look_list__T_items, field_name)); - auto n_flow = new NodePointer; - n_flow->m_field_name = field_name; - n_flow->m_df_type = get_real_subtype(base+offset, DF_Type::flow_info); - n_flow->m_rdf_type = RDF_Type::Pointer; - n_flow->m_node_type = NodeType::Pointer; - n_flow->m_addornements = "*"; - n_flow->m_address = base + offset; - n_flow->m_parent = p_node_parent; - n_flow->m_defined_in = "df.map.xml"; - n_flow->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_flow); - - field_name = "spatter_size"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_look_list__T_items, field_name)); - auto n_spatter_size = new NodeSimple; - n_spatter_size->m_field_name = field_name; - n_spatter_size->m_df_type = DF_Type::int8_t; - n_spatter_size->m_rdf_type = RDF_Type::int8_t; - n_spatter_size->m_node_type = NodeType::Simple; - n_spatter_size->m_address = base + offset; - n_spatter_size->m_comment = "also water/magma depth+flags"; - n_spatter_size->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_spatter_size); - -} -void node_from_ui_look_list__T_items(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "type"; - auto n_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_look_list__T_items, field_name)); - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::ui_look_list__T_items__T_type; - n_type->m_rdf_type = RDF_Type::Enum; - n_type->m_node_type = NodeType::Enum; - n_type->m_base_type = DF_Type::int16_t; - n_type->m_enum_type = "ui_look_list::T_items::T_type"; - n_type->m_address = base + offset; - n_type->m_first_value = 0; - n_type->m_last_value = 12; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - - field_name = "spatter_item_type"; - auto n_spatter_item_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_look_list__T_items, field_name)); - n_spatter_item_type->m_field_name = field_name; - n_spatter_item_type->m_df_type = DF_Type::item_type; - n_spatter_item_type->m_rdf_type = RDF_Type::Enum; - n_spatter_item_type->m_node_type = NodeType::Enum; - n_spatter_item_type->m_base_type = DF_Type::int16_t; - n_spatter_item_type->m_enum_type = "item_type"; - n_spatter_item_type->m_address = base + offset; - n_spatter_item_type->m_defined_in = "df.item-raws.xml"; - n_spatter_item_type->m_first_value = -1; - n_spatter_item_type->m_last_value = 90; - n_spatter_item_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_spatter_item_type); - - field_name = "spatter_item_subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_look_list__T_items, field_name)); - auto n_spatter_item_subtype = new NodeSimple; - n_spatter_item_subtype->m_field_name = field_name; - n_spatter_item_subtype->m_df_type = DF_Type::int16_t; - n_spatter_item_subtype->m_rdf_type = RDF_Type::int16_t; - n_spatter_item_subtype->m_node_type = NodeType::Simple; - n_spatter_item_subtype->m_address = base + offset; - n_spatter_item_subtype->m_refers_to = "(item-subtype-target $$._parent.spatter_item_type $)"; - n_spatter_item_subtype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_spatter_item_subtype); - - field_name = "spatter_mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_look_list__T_items, field_name)); - auto n_spatter_mat_type = new NodeSimple; - n_spatter_mat_type->m_field_name = field_name; - n_spatter_mat_type->m_df_type = DF_Type::int16_t; - n_spatter_mat_type->m_rdf_type = RDF_Type::int16_t; - n_spatter_mat_type->m_node_type = NodeType::Simple; - n_spatter_mat_type->m_address = base + offset; - n_spatter_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_spatter_mat_type); - - field_name = "spatter_mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_look_list__T_items, field_name)); - auto n_spatter_mat_index = new NodeSimple; - n_spatter_mat_index->m_field_name = field_name; - n_spatter_mat_index->m_df_type = DF_Type::int32_t; - n_spatter_mat_index->m_rdf_type = RDF_Type::int32_t; - n_spatter_mat_index->m_node_type = NodeType::Simple; - n_spatter_mat_index->m_address = base + offset; - n_spatter_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_spatter_mat_index); - - field_name = "spatter_mat_state"; - auto n_spatter_mat_state = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_look_list__T_items, field_name)); - n_spatter_mat_state->m_field_name = field_name; - n_spatter_mat_state->m_df_type = DF_Type::matter_state; - n_spatter_mat_state->m_rdf_type = RDF_Type::Enum; - n_spatter_mat_state->m_node_type = NodeType::Enum; - n_spatter_mat_state->m_base_type = DF_Type::int16_t; - n_spatter_mat_state->m_enum_type = "matter_state"; - n_spatter_mat_state->m_address = base + offset; - n_spatter_mat_state->m_defined_in = "df.materials.xml"; - n_spatter_mat_state->m_first_value = -1; - n_spatter_mat_state->m_last_value = 5; - n_spatter_mat_state->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_spatter_mat_state); - - auto n_$union3 = new NodeAnonymous; - field_name = "item"; // One child of the anonymous union - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_look_list__T_items, field_name)); - n_$union3->m_field_name = "N/A"; - n_$union3->m_df_type = DF_Type::ui_look_list__T_items___union3; - n_$union3->m_rdf_type = RDF_Type::AnonymousUnion; - n_$union3->m_node_type = NodeType::AnonymousUnion; - n_$union3->m_address = base + offset; - n_$union3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_$union3); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_look_list__T_items, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int16_t; - n_anon_1->m_rdf_type = RDF_Type::int16_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_look_list__T_items, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int16_t; - n_anon_2->m_rdf_type = RDF_Type::int16_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_look_list__T_items, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int16_t; - n_anon_3->m_rdf_type = RDF_Type::int16_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - -} -void node_from_ui_look_list(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "items"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_look_list, field_name)); - auto n_items = new NodeVector; - n_items->m_field_name = field_name; - n_items->m_df_type = DF_Type::ui_look_list__T_items; - n_items->m_rdf_type = RDF_Type::Vector; - n_items->m_node_type = NodeType::Vector; - n_items->m_addornements = "v*"; - n_items->m_address = base + offset; - n_items->m_parent = p_node_parent; - n_items->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_items); - -} -void node_from_ui_unit_view_mode(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "value"; - auto n_value = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_unit_view_mode, field_name)); - n_value->m_field_name = field_name; - n_value->m_df_type = DF_Type::ui_unit_view_mode__T_value; - n_value->m_rdf_type = RDF_Type::Enum; - n_value->m_node_type = NodeType::Enum; - n_value->m_base_type = enum_base_type(n_value->m_df_type); - n_value->m_enum_type = "ui_unit_view_mode::T_value"; - n_value->m_address = base + offset; - n_value->m_first_value = 0; - n_value->m_last_value = 6; - n_value->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_value); - -} -void node_from_punishment(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "criminal"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::punishment, field_name)); - auto n_criminal = new NodePointer; - n_criminal->m_field_name = field_name; - n_criminal->m_df_type = get_real_subtype(base+offset, DF_Type::unit); - n_criminal->m_rdf_type = RDF_Type::Pointer; - n_criminal->m_node_type = NodeType::Pointer; - n_criminal->m_addornements = "*"; - n_criminal->m_address = base + offset; - n_criminal->m_parent = p_node_parent; - n_criminal->m_defined_in = "df.units.xml"; - n_criminal->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_criminal); - - field_name = "officer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::punishment, field_name)); - auto n_officer = new NodePointer; - n_officer->m_field_name = field_name; - n_officer->m_df_type = get_real_subtype(base+offset, DF_Type::unit); - n_officer->m_rdf_type = RDF_Type::Pointer; - n_officer->m_node_type = NodeType::Pointer; - n_officer->m_addornements = "*"; - n_officer->m_address = base + offset; - n_officer->m_parent = p_node_parent; - n_officer->m_defined_in = "df.units.xml"; - n_officer->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_officer); - - field_name = "beating"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::punishment, field_name)); - auto n_beating = new NodeSimple; - n_beating->m_field_name = field_name; - n_beating->m_df_type = DF_Type::int16_t; - n_beating->m_rdf_type = RDF_Type::int16_t; - n_beating->m_node_type = NodeType::Simple; - n_beating->m_address = base + offset; - n_beating->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_beating); - - field_name = "hammer_strikes"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::punishment, field_name)); - auto n_hammer_strikes = new NodeSimple; - n_hammer_strikes->m_field_name = field_name; - n_hammer_strikes->m_df_type = DF_Type::int16_t; - n_hammer_strikes->m_rdf_type = RDF_Type::int16_t; - n_hammer_strikes->m_node_type = NodeType::Simple; - n_hammer_strikes->m_address = base + offset; - n_hammer_strikes->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_hammer_strikes); - - field_name = "prison_counter"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::punishment, field_name)); - auto n_prison_counter = new NodeSimple; - n_prison_counter->m_field_name = field_name; - n_prison_counter->m_df_type = DF_Type::int32_t; - n_prison_counter->m_rdf_type = RDF_Type::int32_t; - n_prison_counter->m_node_type = NodeType::Simple; - n_prison_counter->m_address = base + offset; - n_prison_counter->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_prison_counter); - - field_name = "unk_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::punishment, field_name)); - auto n_unk_10 = new NodeSimple; - n_unk_10->m_field_name = field_name; - n_unk_10->m_df_type = DF_Type::int16_t; - n_unk_10->m_rdf_type = RDF_Type::int16_t; - n_unk_10->m_node_type = NodeType::Simple; - n_unk_10->m_address = base + offset; - n_unk_10->m_comment = "10080"; - n_unk_10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_10); - - field_name = "chain"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::punishment, field_name)); - auto n_chain = new NodePointer; - n_chain->m_field_name = field_name; - n_chain->m_df_type = get_real_subtype(base+offset, DF_Type::building); - n_chain->m_rdf_type = RDF_Type::Pointer; - n_chain->m_node_type = NodeType::Pointer; - n_chain->m_addornements = "*"; - n_chain->m_address = base + offset; - n_chain->m_parent = p_node_parent; - n_chain->m_defined_in = "df.buildings.xml"; - n_chain->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_chain); - - field_name = "victims"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::punishment, field_name)); - auto n_victims = new NodeVector; - n_victims->m_field_name = field_name; - n_victims->m_df_type = DF_Type::unit; - n_victims->m_rdf_type = RDF_Type::Vector; - n_victims->m_node_type = NodeType::Vector; - n_victims->m_defined_in = "df.units.xml"; - n_victims->m_addornements = "v*"; - n_victims->m_address = base + offset; - n_victims->m_parent = p_node_parent; - n_victims->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_victims); - -} -void node_from_timed_event(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "type"; - auto n_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::timed_event, field_name)); - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::timed_event_type; - n_type->m_rdf_type = RDF_Type::Enum; - n_type->m_node_type = NodeType::Enum; - n_type->m_base_type = enum_base_type(n_type->m_df_type); - n_type->m_enum_type = "timed_event_type"; - n_type->m_address = base + offset; - n_type->m_defined_in = "df.ui.xml"; - n_type->m_first_value = 0; - n_type->m_last_value = 8; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - - field_name = "season"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::timed_event, field_name)); - auto n_season = new NodeSimple; - n_season->m_field_name = field_name; - n_season->m_df_type = DF_Type::int8_t; - n_season->m_rdf_type = RDF_Type::int8_t; - n_season->m_node_type = NodeType::Simple; - n_season->m_address = base + offset; - n_season->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_season); - - field_name = "season_ticks"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::timed_event, field_name)); - auto n_season_ticks = new NodeSimple; - n_season_ticks->m_field_name = field_name; - n_season_ticks->m_df_type = DF_Type::int16_t; - n_season_ticks->m_rdf_type = RDF_Type::int16_t; - n_season_ticks->m_node_type = NodeType::Simple; - n_season_ticks->m_address = base + offset; - n_season_ticks->m_comment = "1 tick = 10 frames"; - n_season_ticks->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_season_ticks); - - field_name = "entity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::timed_event, field_name)); - auto n_entity = new NodePointer; - n_entity->m_field_name = field_name; - n_entity->m_df_type = get_real_subtype(base+offset, DF_Type::historical_entity); - n_entity->m_rdf_type = RDF_Type::Pointer; - n_entity->m_node_type = NodeType::Pointer; - n_entity->m_addornements = "*"; - n_entity->m_address = base + offset; - n_entity->m_parent = p_node_parent; - n_entity->m_defined_in = "df.entities.xml"; - n_entity->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_entity); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::timed_event, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int16_t; - n_anon_1->m_rdf_type = RDF_Type::int16_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::timed_event, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::timed_event, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int16_t; - n_anon_3->m_rdf_type = RDF_Type::int16_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::timed_event, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int16_t; - n_anon_4->m_rdf_type = RDF_Type::int16_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - -} -void node_from_map_renderer__T_anon_4(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_renderer__T_anon_4, field_name)); - auto n_x = new NodeSimple; - n_x->m_field_name = field_name; - n_x->m_df_type = DF_Type::int32_t; - n_x->m_rdf_type = RDF_Type::int32_t; - n_x->m_node_type = NodeType::Simple; - n_x->m_address = base + offset; - n_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_x); - - field_name = "y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_renderer__T_anon_4, field_name)); - auto n_y = new NodeSimple; - n_y->m_field_name = field_name; - n_y->m_df_type = DF_Type::int32_t; - n_y->m_rdf_type = RDF_Type::int32_t; - n_y->m_node_type = NodeType::Simple; - n_y->m_address = base + offset; - n_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_y); - -} -void node_from_map_renderer(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "entity"; - auto n_entity = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_renderer, field_name)); - n_entity->m_field_name = field_name; - n_entity->m_df_type = DF_Type::uint8_t; - n_entity->m_rdf_type = RDF_Type::Array; - n_entity->m_node_type = NodeType::Array; - n_entity->m_addornements = "[256[256"; - n_entity->m_array_size = 256; - n_entity->m_address = base + offset; - n_entity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity); - - field_name = "cursor_units"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_renderer, field_name)); - auto n_cursor_units = new NodeVector; - n_cursor_units->m_field_name = field_name; - n_cursor_units->m_df_type = DF_Type::unit; - n_cursor_units->m_rdf_type = RDF_Type::Vector; - n_cursor_units->m_node_type = NodeType::Vector; - n_cursor_units->m_defined_in = "df.units.xml"; - n_cursor_units->m_addornements = "v*"; - n_cursor_units->m_address = base + offset; - n_cursor_units->m_parent = p_node_parent; - n_cursor_units->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_cursor_units); - - field_name = "cursor_guts"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_renderer, field_name)); - auto n_cursor_guts = new NodePointer; - n_cursor_guts->m_field_name = field_name; - n_cursor_guts->m_df_type = get_real_subtype(base+offset, DF_Type::unit); - n_cursor_guts->m_rdf_type = RDF_Type::Pointer; - n_cursor_guts->m_node_type = NodeType::Pointer; - n_cursor_guts->m_addornements = "*"; - n_cursor_guts->m_address = base + offset; - n_cursor_guts->m_parent = p_node_parent; - n_cursor_guts->m_defined_in = "df.units.xml"; - n_cursor_guts->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_cursor_guts); - - field_name = "multiple_guts"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_renderer, field_name)); - auto n_multiple_guts = new NodeSimple; - n_multiple_guts->m_field_name = field_name; - n_multiple_guts->m_df_type = DF_Type::Bool; - n_multiple_guts->m_rdf_type = RDF_Type::Bool; - n_multiple_guts->m_node_type = NodeType::Simple; - n_multiple_guts->m_address = base + offset; - n_multiple_guts->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_multiple_guts); - - field_name = "cursor_corpse"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_renderer, field_name)); - auto n_cursor_corpse = new NodePointer; - n_cursor_corpse->m_field_name = field_name; - n_cursor_corpse->m_df_type = get_real_subtype(base+offset, DF_Type::item); - n_cursor_corpse->m_rdf_type = RDF_Type::Pointer; - n_cursor_corpse->m_node_type = NodeType::Pointer; - n_cursor_corpse->m_addornements = "*"; - n_cursor_corpse->m_address = base + offset; - n_cursor_corpse->m_parent = p_node_parent; - n_cursor_corpse->m_defined_in = "df.items.xml"; - n_cursor_corpse->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_cursor_corpse); - - field_name = "cursor_corpse_cnt"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_renderer, field_name)); - auto n_cursor_corpse_cnt = new NodeSimple; - n_cursor_corpse_cnt->m_field_name = field_name; - n_cursor_corpse_cnt->m_df_type = DF_Type::int32_t; - n_cursor_corpse_cnt->m_rdf_type = RDF_Type::int32_t; - n_cursor_corpse_cnt->m_node_type = NodeType::Simple; - n_cursor_corpse_cnt->m_address = base + offset; - n_cursor_corpse_cnt->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cursor_corpse_cnt); - - field_name = "cursor_corpsepiece"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_renderer, field_name)); - auto n_cursor_corpsepiece = new NodePointer; - n_cursor_corpsepiece->m_field_name = field_name; - n_cursor_corpsepiece->m_df_type = get_real_subtype(base+offset, DF_Type::item); - n_cursor_corpsepiece->m_rdf_type = RDF_Type::Pointer; - n_cursor_corpsepiece->m_node_type = NodeType::Pointer; - n_cursor_corpsepiece->m_addornements = "*"; - n_cursor_corpsepiece->m_address = base + offset; - n_cursor_corpsepiece->m_parent = p_node_parent; - n_cursor_corpsepiece->m_defined_in = "df.items.xml"; - n_cursor_corpsepiece->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_cursor_corpsepiece); - - field_name = "cursor_corpsepiece_cnt"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_renderer, field_name)); - auto n_cursor_corpsepiece_cnt = new NodeSimple; - n_cursor_corpsepiece_cnt->m_field_name = field_name; - n_cursor_corpsepiece_cnt->m_df_type = DF_Type::int32_t; - n_cursor_corpsepiece_cnt->m_rdf_type = RDF_Type::int32_t; - n_cursor_corpsepiece_cnt->m_node_type = NodeType::Simple; - n_cursor_corpsepiece_cnt->m_address = base + offset; - n_cursor_corpsepiece_cnt->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cursor_corpsepiece_cnt); - - field_name = "cursor_bones"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_renderer, field_name)); - auto n_cursor_bones = new NodePointer; - n_cursor_bones->m_field_name = field_name; - n_cursor_bones->m_df_type = get_real_subtype(base+offset, DF_Type::item); - n_cursor_bones->m_rdf_type = RDF_Type::Pointer; - n_cursor_bones->m_node_type = NodeType::Pointer; - n_cursor_bones->m_addornements = "*"; - n_cursor_bones->m_address = base + offset; - n_cursor_bones->m_parent = p_node_parent; - n_cursor_bones->m_defined_in = "df.items.xml"; - n_cursor_bones->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_cursor_bones); - - field_name = "cursor_bones_cnt"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_renderer, field_name)); - auto n_cursor_bones_cnt = new NodeSimple; - n_cursor_bones_cnt->m_field_name = field_name; - n_cursor_bones_cnt->m_df_type = DF_Type::int32_t; - n_cursor_bones_cnt->m_rdf_type = RDF_Type::int32_t; - n_cursor_bones_cnt->m_node_type = NodeType::Simple; - n_cursor_bones_cnt->m_address = base + offset; - n_cursor_bones_cnt->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cursor_bones_cnt); - - field_name = "cursor_other"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_renderer, field_name)); - auto n_cursor_other = new NodePointer; - n_cursor_other->m_field_name = field_name; - n_cursor_other->m_df_type = get_real_subtype(base+offset, DF_Type::item); - n_cursor_other->m_rdf_type = RDF_Type::Pointer; - n_cursor_other->m_node_type = NodeType::Pointer; - n_cursor_other->m_addornements = "*"; - n_cursor_other->m_address = base + offset; - n_cursor_other->m_parent = p_node_parent; - n_cursor_other->m_defined_in = "df.items.xml"; - n_cursor_other->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_cursor_other); - - field_name = "cursor_other_cnt"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_renderer, field_name)); - auto n_cursor_other_cnt = new NodeSimple; - n_cursor_other_cnt->m_field_name = field_name; - n_cursor_other_cnt->m_df_type = DF_Type::int32_t; - n_cursor_other_cnt->m_rdf_type = RDF_Type::int32_t; - n_cursor_other_cnt->m_node_type = NodeType::Simple; - n_cursor_other_cnt->m_address = base + offset; - n_cursor_other_cnt->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cursor_other_cnt); - - field_name = "unk_10034"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_renderer, field_name)); - auto n_unk_10034 = new NodeSimple; - n_unk_10034->m_field_name = field_name; - n_unk_10034->m_df_type = DF_Type::int8_t; - n_unk_10034->m_rdf_type = RDF_Type::int8_t; - n_unk_10034->m_node_type = NodeType::Simple; - n_unk_10034->m_address = base + offset; - n_unk_10034->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_10034); - - field_name = "unk_10035"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_renderer, field_name)); - auto n_unk_10035 = new NodeSimple; - n_unk_10035->m_field_name = field_name; - n_unk_10035->m_df_type = DF_Type::int8_t; - n_unk_10035->m_rdf_type = RDF_Type::int8_t; - n_unk_10035->m_node_type = NodeType::Simple; - n_unk_10035->m_address = base + offset; - n_unk_10035->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_10035); - - field_name = "cur_tick_count"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_renderer, field_name)); - auto n_cur_tick_count = new NodeSimple; - n_cur_tick_count->m_field_name = field_name; - n_cur_tick_count->m_df_type = DF_Type::int32_t; - n_cur_tick_count->m_rdf_type = RDF_Type::int32_t; - n_cur_tick_count->m_node_type = NodeType::Simple; - n_cur_tick_count->m_address = base + offset; - n_cur_tick_count->m_comment = "GetTickCount"; - n_cur_tick_count->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cur_tick_count); - - field_name = "tick_phase"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_renderer, field_name)); - auto n_tick_phase = new NodeSimple; - n_tick_phase->m_field_name = field_name; - n_tick_phase->m_df_type = DF_Type::int16_t; - n_tick_phase->m_rdf_type = RDF_Type::int16_t; - n_tick_phase->m_node_type = NodeType::Simple; - n_tick_phase->m_address = base + offset; - n_tick_phase->m_comment = "cur_year_tick%10080"; - n_tick_phase->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tick_phase); - - field_name = "dim_colors"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_renderer, field_name)); - auto n_dim_colors = new NodeSimple; - n_dim_colors->m_field_name = field_name; - n_dim_colors->m_df_type = DF_Type::int8_t; - n_dim_colors->m_rdf_type = RDF_Type::int8_t; - n_dim_colors->m_node_type = NodeType::Simple; - n_dim_colors->m_address = base + offset; - n_dim_colors->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dim_colors); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_renderer, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int8_t; - n_anon_1->m_rdf_type = RDF_Type::int8_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - auto n_anon_2 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_renderer, field_name)); - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::Array; - n_anon_2->m_node_type = NodeType::Array; - n_anon_2->m_addornements = "[500"; - n_anon_2->m_array_size = 500; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - auto n_anon_3 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_renderer, field_name)); - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int8_t; - n_anon_3->m_rdf_type = RDF_Type::Array; - n_anon_3->m_node_type = NodeType::Array; - n_anon_3->m_addornements = "[500"; - n_anon_3->m_array_size = 500; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - auto n_anon_4 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_renderer, field_name)); - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::map_renderer__T_anon_4; - n_anon_4->m_rdf_type = RDF_Type::Array; - n_anon_4->m_node_type = NodeType::Array; - n_anon_4->m_addornements = "[500"; - n_anon_4->m_array_size = 500; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - auto n_anon_5 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_renderer, field_name)); - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::Array; - n_anon_5->m_node_type = NodeType::Array; - n_anon_5->m_addornements = "[500"; - n_anon_5->m_array_size = 500; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_renderer, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_renderer, field_name)); - auto n_anon_7 = new NodeSimple; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::int32_t; - n_anon_7->m_rdf_type = RDF_Type::int32_t; - n_anon_7->m_node_type = NodeType::Simple; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_7); - -} -void node_from_unit__T_path(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "dest"; - auto n_dest = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_path, field_name)); - n_dest->m_field_name = field_name; - n_dest->m_df_type = DF_Type::coord; - n_dest->m_rdf_type = RDF_Type::Struct; - n_dest->m_node_type = NodeType::Compound; - n_dest->m_address = base + offset; - n_dest->m_defined_in = "df.map.xml"; - n_dest->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dest); - - field_name = "goal"; - auto n_goal = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_path, field_name)); - n_goal->m_field_name = field_name; - n_goal->m_df_type = DF_Type::unit_path_goal; - n_goal->m_rdf_type = RDF_Type::Enum; - n_goal->m_node_type = NodeType::Enum; - n_goal->m_base_type = DF_Type::int16_t; - n_goal->m_enum_type = "unit_path_goal"; - n_goal->m_address = base + offset; - n_goal->m_defined_in = "df.pathfinding.xml"; - n_goal->m_first_value = -1; - n_goal->m_last_value = 203; - n_goal->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_goal); - - field_name = "path"; - auto n_path = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_path, field_name)); - n_path->m_field_name = field_name; - n_path->m_df_type = DF_Type::coord_path; - n_path->m_rdf_type = RDF_Type::Struct; - n_path->m_node_type = NodeType::Compound; - n_path->m_address = base + offset; - n_path->m_defined_in = "df.map.xml"; - n_path->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_path); - -} -void node_from_unit__T_meeting(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "state"; - auto n_state = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_meeting, field_name)); - n_state->m_field_name = field_name; - n_state->m_df_type = DF_Type::unit__T_meeting__T_state; - n_state->m_rdf_type = RDF_Type::Enum; - n_state->m_node_type = NodeType::Enum; - n_state->m_base_type = DF_Type::int8_t; - n_state->m_enum_type = "unit::T_meeting::T_state"; - n_state->m_address = base + offset; - n_state->m_first_value = 0; - n_state->m_last_value = 3; - n_state->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_state); - - field_name = "target_entity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_meeting, field_name)); - auto n_target_entity = new NodeSimple; - n_target_entity->m_field_name = field_name; - n_target_entity->m_df_type = DF_Type::int32_t; - n_target_entity->m_rdf_type = RDF_Type::int32_t; - n_target_entity->m_node_type = NodeType::Simple; - n_target_entity->m_address = base + offset; - n_target_entity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_target_entity); - - field_name = "target_role"; - auto n_target_role = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_meeting, field_name)); - n_target_role->m_field_name = field_name; - n_target_role->m_df_type = DF_Type::entity_position_responsibility; - n_target_role->m_rdf_type = RDF_Type::Enum; - n_target_role->m_node_type = NodeType::Enum; - n_target_role->m_base_type = DF_Type::int16_t; - n_target_role->m_enum_type = "entity_position_responsibility"; - n_target_role->m_address = base + offset; - n_target_role->m_defined_in = "df.entity-raws.xml"; - n_target_role->m_first_value = -1; - n_target_role->m_last_value = 24; - n_target_role->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_target_role); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_meeting, field_name)); - auto n_anon_1= new NodePadding; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::Padding; - n_anon_1->m_rdf_type = RDF_Type::Padding; - n_anon_1->m_node_type = NodeType::Padding; - n_anon_1->m_address = base + offset; - n_anon_1->m_size = 2; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_unit__T_military(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "squad_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_military, field_name)); - auto n_squad_id = new NodeSimple; - n_squad_id->m_field_name = field_name; - n_squad_id->m_df_type = DF_Type::int32_t; - n_squad_id->m_rdf_type = RDF_Type::int32_t; - n_squad_id->m_node_type = NodeType::Simple; - n_squad_id->m_address = base + offset; - n_squad_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_squad_id); - - field_name = "squad_position"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_military, field_name)); - auto n_squad_position = new NodeSimple; - n_squad_position->m_field_name = field_name; - n_squad_position->m_df_type = DF_Type::int32_t; - n_squad_position->m_rdf_type = RDF_Type::int32_t; - n_squad_position->m_node_type = NodeType::Simple; - n_squad_position->m_address = base + offset; - n_squad_position->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_squad_position); - - field_name = "patrol_cooldown"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_military, field_name)); - auto n_patrol_cooldown = new NodeSimple; - n_patrol_cooldown->m_field_name = field_name; - n_patrol_cooldown->m_df_type = DF_Type::int32_t; - n_patrol_cooldown->m_rdf_type = RDF_Type::int32_t; - n_patrol_cooldown->m_node_type = NodeType::Simple; - n_patrol_cooldown->m_address = base + offset; - n_patrol_cooldown->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_patrol_cooldown); - - field_name = "patrol_timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_military, field_name)); - auto n_patrol_timer = new NodeSimple; - n_patrol_timer->m_field_name = field_name; - n_patrol_timer->m_df_type = DF_Type::int32_t; - n_patrol_timer->m_rdf_type = RDF_Type::int32_t; - n_patrol_timer->m_node_type = NodeType::Simple; - n_patrol_timer->m_address = base + offset; - n_patrol_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_patrol_timer); - - field_name = "cur_uniform"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_military, field_name)); - auto n_cur_uniform = new NodeSimple; - n_cur_uniform->m_field_name = field_name; - n_cur_uniform->m_df_type = DF_Type::int16_t; - n_cur_uniform->m_rdf_type = RDF_Type::int16_t; - n_cur_uniform->m_node_type = NodeType::Simple; - n_cur_uniform->m_address = base + offset; - n_cur_uniform->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cur_uniform); - - field_name = "unk_items"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_military, field_name)); - auto n_unk_items = new NodeVector; - n_unk_items->m_field_name = field_name; - n_unk_items->m_df_type = DF_Type::int32_t; - n_unk_items->m_rdf_type = RDF_Type::Vector; - n_unk_items->m_node_type = NodeType::Vector; - n_unk_items->m_addornements = "v"; - n_unk_items->m_address = base + offset; - n_unk_items->m_parent = p_node_parent; - n_unk_items->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_items); - - field_name = "uniforms"; - auto n_uniforms = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_military, field_name)); - n_uniforms->m_field_name = field_name; - n_uniforms->m_df_type = DF_Type::int32_t; - n_uniforms->m_rdf_type = RDF_Type::Array; - n_uniforms->m_node_type = NodeType::Array; - n_uniforms->m_addornements = "[4v"; - n_uniforms->m_array_size = 4; - n_uniforms->m_address = base + offset; - n_uniforms->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_uniforms); - - field_name = "pickup_flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_military, field_name)); - auto n_pickup_flags = new NodeBitfield; - n_pickup_flags->m_field_name = field_name; - n_pickup_flags->m_df_type = DF_Type::unit__T_military__T_pickup_flags; - n_pickup_flags->m_rdf_type = RDF_Type::Bitfield; - n_pickup_flags->m_node_type = NodeType::Bitfield; - n_pickup_flags->m_address = base + offset; - n_pickup_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pickup_flags); - - field_name = "uniform_pickup"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_military, field_name)); - auto n_uniform_pickup = new NodeVector; - n_uniform_pickup->m_field_name = field_name; - n_uniform_pickup->m_df_type = DF_Type::int32_t; - n_uniform_pickup->m_rdf_type = RDF_Type::Vector; - n_uniform_pickup->m_node_type = NodeType::Vector; - n_uniform_pickup->m_addornements = "v"; - n_uniform_pickup->m_address = base + offset; - n_uniform_pickup->m_parent = p_node_parent; - n_uniform_pickup->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_uniform_pickup); - - field_name = "uniform_drop"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_military, field_name)); - auto n_uniform_drop = new NodeVector; - n_uniform_drop->m_field_name = field_name; - n_uniform_drop->m_df_type = DF_Type::int32_t; - n_uniform_drop->m_rdf_type = RDF_Type::Vector; - n_uniform_drop->m_node_type = NodeType::Vector; - n_uniform_drop->m_addornements = "v"; - n_uniform_drop->m_address = base + offset; - n_uniform_drop->m_parent = p_node_parent; - n_uniform_drop->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_uniform_drop); - - field_name = "individual_drills"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_military, field_name)); - auto n_individual_drills = new NodeVector; - n_individual_drills->m_field_name = field_name; - n_individual_drills->m_df_type = DF_Type::int32_t; - n_individual_drills->m_rdf_type = RDF_Type::Vector; - n_individual_drills->m_node_type = NodeType::Vector; - n_individual_drills->m_addornements = "v"; - n_individual_drills->m_address = base + offset; - n_individual_drills->m_parent = p_node_parent; - n_individual_drills->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_individual_drills); - -} -void node_from_unit__T_animal(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "population"; - auto n_population = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_animal, field_name)); - n_population->m_field_name = field_name; - n_population->m_df_type = DF_Type::world_population_ref; - n_population->m_rdf_type = RDF_Type::Struct; - n_population->m_node_type = NodeType::Compound; - n_population->m_address = base + offset; - n_population->m_defined_in = "df.world-data.xml"; - n_population->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_population); - - field_name = "leave_countdown"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_animal, field_name)); - auto n_leave_countdown = new NodeSimple; - n_leave_countdown->m_field_name = field_name; - n_leave_countdown->m_df_type = DF_Type::int32_t; - n_leave_countdown->m_rdf_type = RDF_Type::int32_t; - n_leave_countdown->m_node_type = NodeType::Simple; - n_leave_countdown->m_address = base + offset; - n_leave_countdown->m_comment = "once 0, it heads for the edge and leaves"; - n_leave_countdown->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_leave_countdown); - - field_name = "vanish_countdown"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_animal, field_name)); - auto n_vanish_countdown = new NodeSimple; - n_vanish_countdown->m_field_name = field_name; - n_vanish_countdown->m_df_type = DF_Type::int32_t; - n_vanish_countdown->m_rdf_type = RDF_Type::int32_t; - n_vanish_countdown->m_node_type = NodeType::Simple; - n_vanish_countdown->m_address = base + offset; - n_vanish_countdown->m_comment = "once 0, it vanishes in a puff of smoke"; - n_vanish_countdown->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_vanish_countdown); - -} -void node_from_unit__T_opponent(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unit_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_opponent, field_name)); - auto n_unit_id = new NodeSimple; - n_unit_id->m_field_name = field_name; - n_unit_id->m_df_type = DF_Type::int32_t; - n_unit_id->m_rdf_type = RDF_Type::int32_t; - n_unit_id->m_node_type = NodeType::Simple; - n_unit_id->m_address = base + offset; - n_unit_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unit_id); - - field_name = "unit_pos"; - auto n_unit_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_opponent, field_name)); - n_unit_pos->m_field_name = field_name; - n_unit_pos->m_df_type = DF_Type::coord; - n_unit_pos->m_rdf_type = RDF_Type::Struct; - n_unit_pos->m_node_type = NodeType::Compound; - n_unit_pos->m_address = base + offset; - n_unit_pos->m_defined_in = "df.map.xml"; - n_unit_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unit_pos); - - field_name = "unk_c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_opponent, field_name)); - auto n_unk_c = new NodeSimple; - n_unk_c->m_field_name = field_name; - n_unk_c->m_df_type = DF_Type::int32_t; - n_unk_c->m_rdf_type = RDF_Type::int32_t; - n_unk_c->m_node_type = NodeType::Simple; - n_unk_c->m_address = base + offset; - n_unk_c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_c); - -} -void node_from_unit__T_job(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "account"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_job, field_name)); - auto n_account = new NodeSimple; - n_account->m_field_name = field_name; - n_account->m_df_type = DF_Type::int32_t; - n_account->m_rdf_type = RDF_Type::int32_t; - n_account->m_node_type = NodeType::Simple; - n_account->m_address = base + offset; - n_account->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_account); - - field_name = "satisfaction"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_job, field_name)); - auto n_satisfaction = new NodeSimple; - n_satisfaction->m_field_name = field_name; - n_satisfaction->m_df_type = DF_Type::int32_t; - n_satisfaction->m_rdf_type = RDF_Type::int32_t; - n_satisfaction->m_node_type = NodeType::Simple; - n_satisfaction->m_address = base + offset; - n_satisfaction->m_comment = "amount earned recently for jobs"; - n_satisfaction->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_satisfaction); - - field_name = "hunt_target"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_job, field_name)); - auto n_hunt_target = new NodePointer; - n_hunt_target->m_field_name = field_name; - n_hunt_target->m_df_type = get_real_subtype(base+offset, DF_Type::unit); - n_hunt_target->m_rdf_type = RDF_Type::Pointer; - n_hunt_target->m_node_type = NodeType::Pointer; - n_hunt_target->m_addornements = "*"; - n_hunt_target->m_address = base + offset; - n_hunt_target->m_parent = p_node_parent; - n_hunt_target->m_defined_in = "df.units.xml"; - n_hunt_target->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_hunt_target); - - field_name = "unk_v4305_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_job, field_name)); - auto n_unk_v4305_1 = new NodeSimple; - n_unk_v4305_1->m_field_name = field_name; - n_unk_v4305_1->m_df_type = DF_Type::int32_t; - n_unk_v4305_1->m_rdf_type = RDF_Type::int32_t; - n_unk_v4305_1->m_node_type = NodeType::Simple; - n_unk_v4305_1->m_address = base + offset; - n_unk_v4305_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v4305_1); - - field_name = "destroy_target"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_job, field_name)); - auto n_destroy_target = new NodePointer; - n_destroy_target->m_field_name = field_name; - n_destroy_target->m_df_type = get_real_subtype(base+offset, DF_Type::building); - n_destroy_target->m_rdf_type = RDF_Type::Pointer; - n_destroy_target->m_node_type = NodeType::Pointer; - n_destroy_target->m_addornements = "*"; - n_destroy_target->m_address = base + offset; - n_destroy_target->m_parent = p_node_parent; - n_destroy_target->m_defined_in = "df.buildings.xml"; - n_destroy_target->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_destroy_target); - - field_name = "unk_v40_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_job, field_name)); - auto n_unk_v40_1 = new NodeSimple; - n_unk_v40_1->m_field_name = field_name; - n_unk_v40_1->m_df_type = DF_Type::int32_t; - n_unk_v40_1->m_rdf_type = RDF_Type::int32_t; - n_unk_v40_1->m_node_type = NodeType::Simple; - n_unk_v40_1->m_address = base + offset; - n_unk_v40_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_1); - - field_name = "unk_v40_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_job, field_name)); - auto n_unk_v40_2 = new NodeSimple; - n_unk_v40_2->m_field_name = field_name; - n_unk_v40_2->m_df_type = DF_Type::int32_t; - n_unk_v40_2->m_rdf_type = RDF_Type::int32_t; - n_unk_v40_2->m_node_type = NodeType::Simple; - n_unk_v40_2->m_address = base + offset; - n_unk_v40_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_2); - - field_name = "unk_v40_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_job, field_name)); - auto n_unk_v40_3 = new NodeSimple; - n_unk_v40_3->m_field_name = field_name; - n_unk_v40_3->m_df_type = DF_Type::int32_t; - n_unk_v40_3->m_rdf_type = RDF_Type::int32_t; - n_unk_v40_3->m_node_type = NodeType::Simple; - n_unk_v40_3->m_address = base + offset; - n_unk_v40_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_3); - - field_name = "unk_v40_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_job, field_name)); - auto n_unk_v40_4 = new NodeSimple; - n_unk_v40_4->m_field_name = field_name; - n_unk_v40_4->m_df_type = DF_Type::int32_t; - n_unk_v40_4->m_rdf_type = RDF_Type::int32_t; - n_unk_v40_4->m_node_type = NodeType::Simple; - n_unk_v40_4->m_address = base + offset; - n_unk_v40_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_4); - - field_name = "unk_v40_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_job, field_name)); - auto n_unk_v40_5 = new NodeSimple; - n_unk_v40_5->m_field_name = field_name; - n_unk_v40_5->m_df_type = DF_Type::int8_t; - n_unk_v40_5->m_rdf_type = RDF_Type::int8_t; - n_unk_v40_5->m_node_type = NodeType::Simple; - n_unk_v40_5->m_address = base + offset; - n_unk_v40_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_5); - - field_name = "gait_buildup"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_job, field_name)); - auto n_gait_buildup = new NodeSimple; - n_gait_buildup->m_field_name = field_name; - n_gait_buildup->m_df_type = DF_Type::int32_t; - n_gait_buildup->m_rdf_type = RDF_Type::int32_t; - n_gait_buildup->m_node_type = NodeType::Simple; - n_gait_buildup->m_address = base + offset; - n_gait_buildup->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_gait_buildup); - - field_name = "climb_hold"; - auto n_climb_hold = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_job, field_name)); - n_climb_hold->m_field_name = field_name; - n_climb_hold->m_df_type = DF_Type::coord; - n_climb_hold->m_rdf_type = RDF_Type::Struct; - n_climb_hold->m_node_type = NodeType::Compound; - n_climb_hold->m_address = base + offset; - n_climb_hold->m_defined_in = "df.map.xml"; - n_climb_hold->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_climb_hold); - - field_name = "unk_v4014_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_job, field_name)); - auto n_unk_v4014_1 = new NodeSimple; - n_unk_v4014_1->m_field_name = field_name; - n_unk_v4014_1->m_df_type = DF_Type::int32_t; - n_unk_v4014_1->m_rdf_type = RDF_Type::int32_t; - n_unk_v4014_1->m_node_type = NodeType::Simple; - n_unk_v4014_1->m_address = base + offset; - n_unk_v4014_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v4014_1); - - field_name = "current_job"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_job, field_name)); - auto n_current_job = new NodePointer; - n_current_job->m_field_name = field_name; - n_current_job->m_df_type = get_real_subtype(base+offset, DF_Type::job); - n_current_job->m_rdf_type = RDF_Type::Pointer; - n_current_job->m_node_type = NodeType::Pointer; - n_current_job->m_addornements = "*"; - n_current_job->m_address = base + offset; - n_current_job->m_comment = "df_job"; - n_current_job->m_parent = p_node_parent; - n_current_job->m_defined_in = "df.jobs.xml"; - n_current_job->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_current_job); - - field_name = "mood_skill"; - auto n_mood_skill = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_job, field_name)); - n_mood_skill->m_field_name = field_name; - n_mood_skill->m_df_type = DF_Type::job_skill; - n_mood_skill->m_rdf_type = RDF_Type::Enum; - n_mood_skill->m_node_type = NodeType::Enum; - n_mood_skill->m_base_type = DF_Type::int16_t; - n_mood_skill->m_enum_type = "job_skill"; - n_mood_skill->m_address = base + offset; - n_mood_skill->m_defined_in = "df.skills.xml"; - n_mood_skill->m_first_value = -1; - n_mood_skill->m_last_value = 134; - n_mood_skill->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mood_skill); - - field_name = "mood_timeout"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_job, field_name)); - auto n_mood_timeout = new NodeSimple; - n_mood_timeout->m_field_name = field_name; - n_mood_timeout->m_df_type = DF_Type::int32_t; - n_mood_timeout->m_rdf_type = RDF_Type::int32_t; - n_mood_timeout->m_node_type = NodeType::Simple; - n_mood_timeout->m_address = base + offset; - n_mood_timeout->m_comment = "counts down from 50000, insanity upon reaching zero"; - n_mood_timeout->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mood_timeout); - - field_name = "unk_39c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_job, field_name)); - auto n_unk_39c = new NodeSimple; - n_unk_39c->m_field_name = field_name; - n_unk_39c->m_df_type = DF_Type::int32_t; - n_unk_39c->m_rdf_type = RDF_Type::int32_t; - n_unk_39c->m_node_type = NodeType::Simple; - n_unk_39c->m_address = base + offset; - n_unk_39c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_39c); - -} -void node_from_unit__T_body(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "components"; - auto n_components = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_body, field_name)); - n_components->m_field_name = field_name; - n_components->m_df_type = DF_Type::body_component_info; - n_components->m_rdf_type = RDF_Type::Struct; - n_components->m_node_type = NodeType::Compound; - n_components->m_address = base + offset; - n_components->m_defined_in = "df.items.xml"; - n_components->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_components); - - field_name = "wounds"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_body, field_name)); - auto n_wounds = new NodeVector; - n_wounds->m_field_name = field_name; - n_wounds->m_df_type = DF_Type::unit_wound; - n_wounds->m_rdf_type = RDF_Type::Vector; - n_wounds->m_node_type = NodeType::Vector; - n_wounds->m_defined_in = "df.units.xml"; - n_wounds->m_addornements = "v*"; - n_wounds->m_address = base + offset; - n_wounds->m_parent = p_node_parent; - n_wounds->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_wounds); - - field_name = "wound_next_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_body, field_name)); - auto n_wound_next_id = new NodeSimple; - n_wound_next_id->m_field_name = field_name; - n_wound_next_id->m_df_type = DF_Type::int32_t; - n_wound_next_id->m_rdf_type = RDF_Type::int32_t; - n_wound_next_id->m_node_type = NodeType::Simple; - n_wound_next_id->m_address = base + offset; - n_wound_next_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_wound_next_id); - - field_name = "unk_39c"; - auto n_unk_39c = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_body, field_name)); - n_unk_39c->m_field_name = field_name; - n_unk_39c->m_df_type = DF_Type::int32_t; - n_unk_39c->m_rdf_type = RDF_Type::Array; - n_unk_39c->m_node_type = NodeType::Array; - n_unk_39c->m_addornements = "[10"; - n_unk_39c->m_array_size = 10; - n_unk_39c->m_address = base + offset; - n_unk_39c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_39c); - - field_name = "body_plan"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_body, field_name)); - auto n_body_plan = new NodePointer; - n_body_plan->m_field_name = field_name; - n_body_plan->m_df_type = get_real_subtype(base+offset, DF_Type::caste_body_info); - n_body_plan->m_rdf_type = RDF_Type::Pointer; - n_body_plan->m_node_type = NodeType::Pointer; - n_body_plan->m_addornements = "*"; - n_body_plan->m_address = base + offset; - n_body_plan->m_parent = p_node_parent; - n_body_plan->m_defined_in = "df.creature-raws.xml"; - n_body_plan->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_body_plan); - - field_name = "weapon_bp"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_body, field_name)); - auto n_weapon_bp = new NodeSimple; - n_weapon_bp->m_field_name = field_name; - n_weapon_bp->m_df_type = DF_Type::int16_t; - n_weapon_bp->m_rdf_type = RDF_Type::int16_t; - n_weapon_bp->m_node_type = NodeType::Simple; - n_weapon_bp->m_address = base + offset; - n_weapon_bp->m_refers_to = "$$._parent.body_plan.body_parts[$]"; - n_weapon_bp->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_weapon_bp); - - field_name = "physical_attrs"; - auto n_physical_attrs = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_body, field_name)); - n_physical_attrs->m_field_name = field_name; - n_physical_attrs->m_df_type = DF_Type::unit_attribute; - n_physical_attrs->m_rdf_type = RDF_Type::Array; - n_physical_attrs->m_node_type = NodeType::Array; - n_physical_attrs->m_index_enum = DF_Type::physical_attribute_type; - n_physical_attrs->m_defined_in = "df.units.xml"; - n_physical_attrs->m_addornements = "[6"; - n_physical_attrs->m_array_size = 6; - n_physical_attrs->m_address = base + offset; - n_physical_attrs->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_physical_attrs); - - field_name = "size_info"; - auto n_size_info = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_body, field_name)); - n_size_info->m_field_name = field_name; - n_size_info->m_df_type = DF_Type::body_size_info; - n_size_info->m_rdf_type = RDF_Type::Struct; - n_size_info->m_node_type = NodeType::Compound; - n_size_info->m_address = base + offset; - n_size_info->m_defined_in = "df.items.xml"; - n_size_info->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_size_info); - - field_name = "blood_max"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_body, field_name)); - auto n_blood_max = new NodeSimple; - n_blood_max->m_field_name = field_name; - n_blood_max->m_df_type = DF_Type::uint32_t; - n_blood_max->m_rdf_type = RDF_Type::uint32_t; - n_blood_max->m_node_type = NodeType::Simple; - n_blood_max->m_address = base + offset; - n_blood_max->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_blood_max); - - field_name = "blood_count"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_body, field_name)); - auto n_blood_count = new NodeSimple; - n_blood_count->m_field_name = field_name; - n_blood_count->m_df_type = DF_Type::uint32_t; - n_blood_count->m_rdf_type = RDF_Type::uint32_t; - n_blood_count->m_node_type = NodeType::Simple; - n_blood_count->m_address = base + offset; - n_blood_count->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_blood_count); - - field_name = "infection_level"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_body, field_name)); - auto n_infection_level = new NodeSimple; - n_infection_level->m_field_name = field_name; - n_infection_level->m_df_type = DF_Type::int32_t; - n_infection_level->m_rdf_type = RDF_Type::int32_t; - n_infection_level->m_node_type = NodeType::Simple; - n_infection_level->m_address = base + offset; - n_infection_level->m_comment = "GETS_INFECTIONS_FROM_ROT sets; DISEASE_RESISTANCE reduces; >=300 causes bleeding"; - n_infection_level->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_infection_level); - - field_name = "spatters"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_body, field_name)); - auto n_spatters = new NodeVector; - n_spatters->m_field_name = field_name; - n_spatters->m_df_type = DF_Type::spatter; - n_spatters->m_rdf_type = RDF_Type::Vector; - n_spatters->m_node_type = NodeType::Vector; - n_spatters->m_defined_in = "df.items.xml"; - n_spatters->m_addornements = "v*"; - n_spatters->m_address = base + offset; - n_spatters->m_parent = p_node_parent; - n_spatters->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_spatters); - -} -void node_from_unit__T_appearance(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "body_modifiers"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_appearance, field_name)); - auto n_body_modifiers = new NodeVector; - n_body_modifiers->m_field_name = field_name; - n_body_modifiers->m_df_type = DF_Type::int32_t; - n_body_modifiers->m_rdf_type = RDF_Type::Vector; - n_body_modifiers->m_node_type = NodeType::Vector; - n_body_modifiers->m_addornements = "v"; - n_body_modifiers->m_address = base + offset; - n_body_modifiers->m_refers_to = "$$._global.caste.ref-target.body_appearance_modifiers[$]"; - n_body_modifiers->m_parent = p_node_parent; - n_body_modifiers->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_body_modifiers); - - field_name = "bp_modifiers"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_appearance, field_name)); - auto n_bp_modifiers = new NodeVector; - n_bp_modifiers->m_field_name = field_name; - n_bp_modifiers->m_df_type = DF_Type::int32_t; - n_bp_modifiers->m_rdf_type = RDF_Type::Vector; - n_bp_modifiers->m_node_type = NodeType::Vector; - n_bp_modifiers->m_addornements = "v"; - n_bp_modifiers->m_address = base + offset; - n_bp_modifiers->m_refers_to = "$$._global.caste.ref-target.bp_appearance.modifier_idx[$].refers-to"; - n_bp_modifiers->m_parent = p_node_parent; - n_bp_modifiers->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bp_modifiers); - - field_name = "size_modifier"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_appearance, field_name)); - auto n_size_modifier = new NodeSimple; - n_size_modifier->m_field_name = field_name; - n_size_modifier->m_df_type = DF_Type::int32_t; - n_size_modifier->m_rdf_type = RDF_Type::int32_t; - n_size_modifier->m_node_type = NodeType::Simple; - n_size_modifier->m_address = base + offset; - n_size_modifier->m_comment = "product of all H/B/LENGTH body modifiers, in %"; - n_size_modifier->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_size_modifier); - - field_name = "tissue_style"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_appearance, field_name)); - auto n_tissue_style = new NodeVector; - n_tissue_style->m_field_name = field_name; - n_tissue_style->m_df_type = DF_Type::int16_t; - n_tissue_style->m_rdf_type = RDF_Type::Vector; - n_tissue_style->m_node_type = NodeType::Vector; - n_tissue_style->m_addornements = "v"; - n_tissue_style->m_address = base + offset; - n_tissue_style->m_refers_to = "$$._global.caste.ref-target.bp_appearance.style_layer_idx[$].refers-to"; - n_tissue_style->m_parent = p_node_parent; - n_tissue_style->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_tissue_style); - - field_name = "tissue_style_civ_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_appearance, field_name)); - auto n_tissue_style_civ_id = new NodeVector; - n_tissue_style_civ_id->m_field_name = field_name; - n_tissue_style_civ_id->m_df_type = DF_Type::int32_t; - n_tissue_style_civ_id->m_rdf_type = RDF_Type::Vector; - n_tissue_style_civ_id->m_node_type = NodeType::Vector; - n_tissue_style_civ_id->m_addornements = "v"; - n_tissue_style_civ_id->m_address = base + offset; - n_tissue_style_civ_id->m_refers_to = "$$._parent.tissue_style.index-refers-to[$]"; - n_tissue_style_civ_id->m_parent = p_node_parent; - n_tissue_style_civ_id->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_tissue_style_civ_id); - - field_name = "tissue_style_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_appearance, field_name)); - auto n_tissue_style_id = new NodeVector; - n_tissue_style_id->m_field_name = field_name; - n_tissue_style_id->m_df_type = DF_Type::int32_t; - n_tissue_style_id->m_rdf_type = RDF_Type::Vector; - n_tissue_style_id->m_node_type = NodeType::Vector; - n_tissue_style_id->m_addornements = "v"; - n_tissue_style_id->m_address = base + offset; - n_tissue_style_id->m_refers_to = "$$._parent.tissue_style.index-refers-to[$]"; - n_tissue_style_id->m_parent = p_node_parent; - n_tissue_style_id->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_tissue_style_id); - - field_name = "tissue_style_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_appearance, field_name)); - auto n_tissue_style_type = new NodeVector; - n_tissue_style_type->m_field_name = field_name; - n_tissue_style_type->m_df_type = DF_Type::int32_t; - n_tissue_style_type->m_rdf_type = RDF_Type::Vector; - n_tissue_style_type->m_node_type = NodeType::Vector; - n_tissue_style_type->m_addornements = "v"; - n_tissue_style_type->m_address = base + offset; - n_tissue_style_type->m_refers_to = "(find-by-id $$._global.caste.ref-target.tissue_styles $id $)"; - n_tissue_style_type->m_refers_to = "$$._parent.tissue_style.index-refers-to[$]"; - n_tissue_style_type->m_parent = p_node_parent; - n_tissue_style_type->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_tissue_style_type); - - field_name = "tissue_length"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_appearance, field_name)); - auto n_tissue_length = new NodeVector; - n_tissue_length->m_field_name = field_name; - n_tissue_length->m_df_type = DF_Type::int32_t; - n_tissue_length->m_rdf_type = RDF_Type::Vector; - n_tissue_length->m_node_type = NodeType::Vector; - n_tissue_length->m_addornements = "v"; - n_tissue_length->m_address = base + offset; - n_tissue_length->m_comment = "description uses bp_modifiers[style_list_idx[index]]"; - n_tissue_length->m_refers_to = "$$._parent.tissue_style.index-refers-to[$]"; - n_tissue_length->m_parent = p_node_parent; - n_tissue_length->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_tissue_length); - - field_name = "genes"; - auto n_genes = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_appearance, field_name)); - n_genes->m_field_name = field_name; - n_genes->m_df_type = DF_Type::unit_genes; - n_genes->m_rdf_type = RDF_Type::Struct; - n_genes->m_node_type = NodeType::Compound; - n_genes->m_address = base + offset; - n_genes->m_defined_in = "df.units.xml"; - n_genes->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_genes); - - field_name = "colors"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_appearance, field_name)); - auto n_colors = new NodeVector; - n_colors->m_field_name = field_name; - n_colors->m_df_type = DF_Type::int32_t; - n_colors->m_rdf_type = RDF_Type::Vector; - n_colors->m_node_type = NodeType::Vector; - n_colors->m_addornements = "v"; - n_colors->m_address = base + offset; - n_colors->m_parent = p_node_parent; - n_colors->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_colors); - -} -void node_from_unit__T_counters(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "think_counter"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_counters, field_name)); - auto n_think_counter = new NodeSimple; - n_think_counter->m_field_name = field_name; - n_think_counter->m_df_type = DF_Type::int32_t; - n_think_counter->m_rdf_type = RDF_Type::int32_t; - n_think_counter->m_node_type = NodeType::Simple; - n_think_counter->m_address = base + offset; - n_think_counter->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_think_counter); - - field_name = "job_counter"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_counters, field_name)); - auto n_job_counter = new NodeSimple; - n_job_counter->m_field_name = field_name; - n_job_counter->m_df_type = DF_Type::int32_t; - n_job_counter->m_rdf_type = RDF_Type::int32_t; - n_job_counter->m_node_type = NodeType::Simple; - n_job_counter->m_address = base + offset; - n_job_counter->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_job_counter); - - field_name = "swap_counter"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_counters, field_name)); - auto n_swap_counter = new NodeSimple; - n_swap_counter->m_field_name = field_name; - n_swap_counter->m_df_type = DF_Type::int32_t; - n_swap_counter->m_rdf_type = RDF_Type::int32_t; - n_swap_counter->m_node_type = NodeType::Simple; - n_swap_counter->m_address = base + offset; - n_swap_counter->m_comment = "dec per job_counter reroll, can_swap if 0"; - n_swap_counter->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_swap_counter); - - field_name = "death_cause"; - auto n_death_cause = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_counters, field_name)); - n_death_cause->m_field_name = field_name; - n_death_cause->m_df_type = DF_Type::death_type; - n_death_cause->m_rdf_type = RDF_Type::Enum; - n_death_cause->m_node_type = NodeType::Enum; - n_death_cause->m_base_type = DF_Type::int16_t; - n_death_cause->m_enum_type = "death_type"; - n_death_cause->m_address = base + offset; - n_death_cause->m_defined_in = "df.history.xml"; - n_death_cause->m_first_value = -1; - n_death_cause->m_last_value = 53; - n_death_cause->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_death_cause); - - field_name = "death_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_counters, field_name)); - auto n_death_id = new NodeSimple; - n_death_id->m_field_name = field_name; - n_death_id->m_df_type = DF_Type::int32_t; - n_death_id->m_rdf_type = RDF_Type::int32_t; - n_death_id->m_node_type = NodeType::Simple; - n_death_id->m_address = base + offset; - n_death_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_death_id); - - field_name = "winded"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_counters, field_name)); - auto n_winded = new NodeSimple; - n_winded->m_field_name = field_name; - n_winded->m_df_type = DF_Type::int16_t; - n_winded->m_rdf_type = RDF_Type::int16_t; - n_winded->m_node_type = NodeType::Simple; - n_winded->m_address = base + offset; - n_winded->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_winded); - - field_name = "stunned"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_counters, field_name)); - auto n_stunned = new NodeSimple; - n_stunned->m_field_name = field_name; - n_stunned->m_df_type = DF_Type::int16_t; - n_stunned->m_rdf_type = RDF_Type::int16_t; - n_stunned->m_node_type = NodeType::Simple; - n_stunned->m_address = base + offset; - n_stunned->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_stunned); - - field_name = "unconscious"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_counters, field_name)); - auto n_unconscious = new NodeSimple; - n_unconscious->m_field_name = field_name; - n_unconscious->m_df_type = DF_Type::int16_t; - n_unconscious->m_rdf_type = RDF_Type::int16_t; - n_unconscious->m_node_type = NodeType::Simple; - n_unconscious->m_address = base + offset; - n_unconscious->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unconscious); - - field_name = "suffocation"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_counters, field_name)); - auto n_suffocation = new NodeSimple; - n_suffocation->m_field_name = field_name; - n_suffocation->m_df_type = DF_Type::int16_t; - n_suffocation->m_rdf_type = RDF_Type::int16_t; - n_suffocation->m_node_type = NodeType::Simple; - n_suffocation->m_address = base + offset; - n_suffocation->m_comment = "counts up while winded, results in death"; - n_suffocation->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_suffocation); - - field_name = "webbed"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_counters, field_name)); - auto n_webbed = new NodeSimple; - n_webbed->m_field_name = field_name; - n_webbed->m_df_type = DF_Type::int16_t; - n_webbed->m_rdf_type = RDF_Type::int16_t; - n_webbed->m_node_type = NodeType::Simple; - n_webbed->m_address = base + offset; - n_webbed->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_webbed); - - field_name = "guts_trail1"; - auto n_guts_trail1 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_counters, field_name)); - n_guts_trail1->m_field_name = field_name; - n_guts_trail1->m_df_type = DF_Type::coord; - n_guts_trail1->m_rdf_type = RDF_Type::Struct; - n_guts_trail1->m_node_type = NodeType::Compound; - n_guts_trail1->m_address = base + offset; - n_guts_trail1->m_defined_in = "df.map.xml"; - n_guts_trail1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_guts_trail1); - - field_name = "guts_trail2"; - auto n_guts_trail2 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_counters, field_name)); - n_guts_trail2->m_field_name = field_name; - n_guts_trail2->m_df_type = DF_Type::coord; - n_guts_trail2->m_rdf_type = RDF_Type::Struct; - n_guts_trail2->m_node_type = NodeType::Compound; - n_guts_trail2->m_address = base + offset; - n_guts_trail2->m_defined_in = "df.map.xml"; - n_guts_trail2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_guts_trail2); - - field_name = "soldier_mood_countdown"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_counters, field_name)); - auto n_soldier_mood_countdown = new NodeSimple; - n_soldier_mood_countdown->m_field_name = field_name; - n_soldier_mood_countdown->m_df_type = DF_Type::int16_t; - n_soldier_mood_countdown->m_rdf_type = RDF_Type::int16_t; - n_soldier_mood_countdown->m_node_type = NodeType::Simple; - n_soldier_mood_countdown->m_address = base + offset; - n_soldier_mood_countdown->m_comment = "plus a random amount"; - n_soldier_mood_countdown->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_soldier_mood_countdown); - - field_name = "soldier_mood"; - auto n_soldier_mood = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_counters, field_name)); - n_soldier_mood->m_field_name = field_name; - n_soldier_mood->m_df_type = DF_Type::unit__T_counters__T_soldier_mood; - n_soldier_mood->m_rdf_type = RDF_Type::Enum; - n_soldier_mood->m_node_type = NodeType::Enum; - n_soldier_mood->m_base_type = DF_Type::int16_t; - n_soldier_mood->m_enum_type = "unit::T_counters::T_soldier_mood"; - n_soldier_mood->m_address = base + offset; - n_soldier_mood->m_first_value = -1; - n_soldier_mood->m_last_value = 4; - n_soldier_mood->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_soldier_mood); - - field_name = "pain"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_counters, field_name)); - auto n_pain = new NodeSimple; - n_pain->m_field_name = field_name; - n_pain->m_df_type = DF_Type::uint32_t; - n_pain->m_rdf_type = RDF_Type::uint32_t; - n_pain->m_node_type = NodeType::Simple; - n_pain->m_address = base + offset; - n_pain->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pain); - - field_name = "nausea"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_counters, field_name)); - auto n_nausea = new NodeSimple; - n_nausea->m_field_name = field_name; - n_nausea->m_df_type = DF_Type::uint32_t; - n_nausea->m_rdf_type = RDF_Type::uint32_t; - n_nausea->m_node_type = NodeType::Simple; - n_nausea->m_address = base + offset; - n_nausea->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_nausea); - - field_name = "dizziness"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_counters, field_name)); - auto n_dizziness = new NodeSimple; - n_dizziness->m_field_name = field_name; - n_dizziness->m_df_type = DF_Type::uint32_t; - n_dizziness->m_rdf_type = RDF_Type::uint32_t; - n_dizziness->m_node_type = NodeType::Simple; - n_dizziness->m_address = base + offset; - n_dizziness->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dizziness); - -} -void node_from_unit__T_curse(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk_0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_curse, field_name)); - auto n_unk_0 = new NodeSimple; - n_unk_0->m_field_name = field_name; - n_unk_0->m_df_type = DF_Type::int32_t; - n_unk_0->m_rdf_type = RDF_Type::int32_t; - n_unk_0->m_node_type = NodeType::Simple; - n_unk_0->m_address = base + offset; - n_unk_0->m_comment = "moved from end of counters in 0.43.05"; - n_unk_0->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_0); - - field_name = "add_tags1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_curse, field_name)); - auto n_add_tags1 = new NodeBitfield; - n_add_tags1->m_field_name = field_name; - n_add_tags1->m_df_type = DF_Type::cie_add_tag_mask1; - n_add_tags1->m_rdf_type = RDF_Type::Bitfield; - n_add_tags1->m_node_type = NodeType::Bitfield; - n_add_tags1->m_address = base + offset; - n_add_tags1->m_defined_in = "df.syndrome.xml"; - n_add_tags1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_add_tags1); - - field_name = "rem_tags1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_curse, field_name)); - auto n_rem_tags1 = new NodeBitfield; - n_rem_tags1->m_field_name = field_name; - n_rem_tags1->m_df_type = DF_Type::cie_add_tag_mask1; - n_rem_tags1->m_rdf_type = RDF_Type::Bitfield; - n_rem_tags1->m_node_type = NodeType::Bitfield; - n_rem_tags1->m_address = base + offset; - n_rem_tags1->m_defined_in = "df.syndrome.xml"; - n_rem_tags1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rem_tags1); - - field_name = "add_tags2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_curse, field_name)); - auto n_add_tags2 = new NodeBitfield; - n_add_tags2->m_field_name = field_name; - n_add_tags2->m_df_type = DF_Type::cie_add_tag_mask2; - n_add_tags2->m_rdf_type = RDF_Type::Bitfield; - n_add_tags2->m_node_type = NodeType::Bitfield; - n_add_tags2->m_address = base + offset; - n_add_tags2->m_defined_in = "df.syndrome.xml"; - n_add_tags2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_add_tags2); - - field_name = "rem_tags2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_curse, field_name)); - auto n_rem_tags2 = new NodeBitfield; - n_rem_tags2->m_field_name = field_name; - n_rem_tags2->m_df_type = DF_Type::cie_add_tag_mask2; - n_rem_tags2->m_rdf_type = RDF_Type::Bitfield; - n_rem_tags2->m_node_type = NodeType::Bitfield; - n_rem_tags2->m_address = base + offset; - n_rem_tags2->m_defined_in = "df.syndrome.xml"; - n_rem_tags2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rem_tags2); - - field_name = "name_visible"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_curse, field_name)); - auto n_name_visible = new NodeSimple; - n_name_visible->m_field_name = field_name; - n_name_visible->m_df_type = DF_Type::Bool; - n_name_visible->m_rdf_type = RDF_Type::Bool; - n_name_visible->m_node_type = NodeType::Simple; - n_name_visible->m_address = base + offset; - n_name_visible->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name_visible); - - field_name = "name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_curse, field_name)); - auto n_name = new NodeSimple; - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Stl_string; - n_name->m_node_type = NodeType::Simple; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "name_plural"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_curse, field_name)); - auto n_name_plural = new NodeSimple; - n_name_plural->m_field_name = field_name; - n_name_plural->m_df_type = DF_Type::Stl_string; - n_name_plural->m_rdf_type = RDF_Type::Stl_string; - n_name_plural->m_node_type = NodeType::Simple; - n_name_plural->m_address = base + offset; - n_name_plural->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name_plural); - - field_name = "name_adjective"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_curse, field_name)); - auto n_name_adjective = new NodeSimple; - n_name_adjective->m_field_name = field_name; - n_name_adjective->m_df_type = DF_Type::Stl_string; - n_name_adjective->m_rdf_type = RDF_Type::Stl_string; - n_name_adjective->m_node_type = NodeType::Simple; - n_name_adjective->m_address = base + offset; - n_name_adjective->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name_adjective); - - field_name = "sym_and_color1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_curse, field_name)); - auto n_sym_and_color1 = new NodeSimple; - n_sym_and_color1->m_field_name = field_name; - n_sym_and_color1->m_df_type = DF_Type::uint32_t; - n_sym_and_color1->m_rdf_type = RDF_Type::uint32_t; - n_sym_and_color1->m_node_type = NodeType::Simple; - n_sym_and_color1->m_address = base + offset; - n_sym_and_color1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sym_and_color1); - - field_name = "sym_and_color2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_curse, field_name)); - auto n_sym_and_color2 = new NodeSimple; - n_sym_and_color2->m_field_name = field_name; - n_sym_and_color2->m_df_type = DF_Type::uint32_t; - n_sym_and_color2->m_rdf_type = RDF_Type::uint32_t; - n_sym_and_color2->m_node_type = NodeType::Simple; - n_sym_and_color2->m_address = base + offset; - n_sym_and_color2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sym_and_color2); - - field_name = "flash_period"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_curse, field_name)); - auto n_flash_period = new NodeSimple; - n_flash_period->m_field_name = field_name; - n_flash_period->m_df_type = DF_Type::uint32_t; - n_flash_period->m_rdf_type = RDF_Type::uint32_t; - n_flash_period->m_node_type = NodeType::Simple; - n_flash_period->m_address = base + offset; - n_flash_period->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flash_period); - - field_name = "flash_time2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_curse, field_name)); - auto n_flash_time2 = new NodeSimple; - n_flash_time2->m_field_name = field_name; - n_flash_time2->m_df_type = DF_Type::uint32_t; - n_flash_time2->m_rdf_type = RDF_Type::uint32_t; - n_flash_time2->m_node_type = NodeType::Simple; - n_flash_time2->m_address = base + offset; - n_flash_time2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flash_time2); - - field_name = "body_appearance"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_curse, field_name)); - auto n_body_appearance = new NodeVector; - n_body_appearance->m_field_name = field_name; - n_body_appearance->m_df_type = DF_Type::int32_t; - n_body_appearance->m_rdf_type = RDF_Type::Vector; - n_body_appearance->m_node_type = NodeType::Vector; - n_body_appearance->m_addornements = "v"; - n_body_appearance->m_address = base + offset; - n_body_appearance->m_refers_to = "$$._global.caste.ref-target.body_appearance_modifiers[$]"; - n_body_appearance->m_parent = p_node_parent; - n_body_appearance->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_body_appearance); - - field_name = "bp_appearance"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_curse, field_name)); - auto n_bp_appearance = new NodeVector; - n_bp_appearance->m_field_name = field_name; - n_bp_appearance->m_df_type = DF_Type::int32_t; - n_bp_appearance->m_rdf_type = RDF_Type::Vector; - n_bp_appearance->m_node_type = NodeType::Vector; - n_bp_appearance->m_addornements = "v"; - n_bp_appearance->m_address = base + offset; - n_bp_appearance->m_comment = "guess!"; - n_bp_appearance->m_refers_to = "$$._global.caste.ref-target.bp_appearance.modifier_idx[$].refers-to"; - n_bp_appearance->m_parent = p_node_parent; - n_bp_appearance->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bp_appearance); - - field_name = "speed_add"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_curse, field_name)); - auto n_speed_add = new NodeSimple; - n_speed_add->m_field_name = field_name; - n_speed_add->m_df_type = DF_Type::uint32_t; - n_speed_add->m_rdf_type = RDF_Type::uint32_t; - n_speed_add->m_node_type = NodeType::Simple; - n_speed_add->m_address = base + offset; - n_speed_add->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_speed_add); - - field_name = "speed_mul_percent"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_curse, field_name)); - auto n_speed_mul_percent = new NodeSimple; - n_speed_mul_percent->m_field_name = field_name; - n_speed_mul_percent->m_df_type = DF_Type::uint32_t; - n_speed_mul_percent->m_rdf_type = RDF_Type::uint32_t; - n_speed_mul_percent->m_node_type = NodeType::Simple; - n_speed_mul_percent->m_address = base + offset; - n_speed_mul_percent->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_speed_mul_percent); - - field_name = "attr_change"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_curse, field_name)); - auto n_attr_change = new NodePointer; - n_attr_change->m_field_name = field_name; - n_attr_change->m_df_type = get_real_subtype(base+offset, DF_Type::curse_attr_change); - n_attr_change->m_rdf_type = RDF_Type::Pointer; - n_attr_change->m_node_type = NodeType::Pointer; - n_attr_change->m_addornements = "*"; - n_attr_change->m_address = base + offset; - n_attr_change->m_parent = p_node_parent; - n_attr_change->m_defined_in = "df.units.xml"; - n_attr_change->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_attr_change); - - field_name = "luck_mul_percent"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_curse, field_name)); - auto n_luck_mul_percent = new NodeSimple; - n_luck_mul_percent->m_field_name = field_name; - n_luck_mul_percent->m_df_type = DF_Type::uint32_t; - n_luck_mul_percent->m_rdf_type = RDF_Type::uint32_t; - n_luck_mul_percent->m_node_type = NodeType::Simple; - n_luck_mul_percent->m_address = base + offset; - n_luck_mul_percent->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_luck_mul_percent); - - field_name = "unk_98"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_curse, field_name)); - auto n_unk_98 = new NodeSimple; - n_unk_98->m_field_name = field_name; - n_unk_98->m_df_type = DF_Type::int32_t; - n_unk_98->m_rdf_type = RDF_Type::int32_t; - n_unk_98->m_node_type = NodeType::Simple; - n_unk_98->m_address = base + offset; - n_unk_98->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_98); - - field_name = "interaction_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_curse, field_name)); - auto n_interaction_id = new NodeVector; - n_interaction_id->m_field_name = field_name; - n_interaction_id->m_df_type = DF_Type::int32_t; - n_interaction_id->m_rdf_type = RDF_Type::Vector; - n_interaction_id->m_node_type = NodeType::Vector; - n_interaction_id->m_addornements = "v"; - n_interaction_id->m_address = base + offset; - n_interaction_id->m_parent = p_node_parent; - n_interaction_id->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_interaction_id); - - field_name = "interaction_time"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_curse, field_name)); - auto n_interaction_time = new NodeVector; - n_interaction_time->m_field_name = field_name; - n_interaction_time->m_df_type = DF_Type::int32_t; - n_interaction_time->m_rdf_type = RDF_Type::Vector; - n_interaction_time->m_node_type = NodeType::Vector; - n_interaction_time->m_addornements = "v"; - n_interaction_time->m_address = base + offset; - n_interaction_time->m_parent = p_node_parent; - n_interaction_time->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_interaction_time); - - field_name = "interaction_delay"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_curse, field_name)); - auto n_interaction_delay = new NodeVector; - n_interaction_delay->m_field_name = field_name; - n_interaction_delay->m_df_type = DF_Type::int32_t; - n_interaction_delay->m_rdf_type = RDF_Type::Vector; - n_interaction_delay->m_node_type = NodeType::Vector; - n_interaction_delay->m_addornements = "v"; - n_interaction_delay->m_address = base + offset; - n_interaction_delay->m_parent = p_node_parent; - n_interaction_delay->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_interaction_delay); - - field_name = "time_on_site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_curse, field_name)); - auto n_time_on_site = new NodeSimple; - n_time_on_site->m_field_name = field_name; - n_time_on_site->m_df_type = DF_Type::int32_t; - n_time_on_site->m_rdf_type = RDF_Type::int32_t; - n_time_on_site->m_node_type = NodeType::Simple; - n_time_on_site->m_address = base + offset; - n_time_on_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_time_on_site); - - field_name = "own_interaction"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_curse, field_name)); - auto n_own_interaction = new NodeVector; - n_own_interaction->m_field_name = field_name; - n_own_interaction->m_df_type = DF_Type::int32_t; - n_own_interaction->m_rdf_type = RDF_Type::Vector; - n_own_interaction->m_node_type = NodeType::Vector; - n_own_interaction->m_addornements = "v"; - n_own_interaction->m_address = base + offset; - n_own_interaction->m_refers_to = "$$._global.body.body_plan.interactions[$]"; - n_own_interaction->m_parent = p_node_parent; - n_own_interaction->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_own_interaction); - - field_name = "own_interaction_delay"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_curse, field_name)); - auto n_own_interaction_delay = new NodeVector; - n_own_interaction_delay->m_field_name = field_name; - n_own_interaction_delay->m_df_type = DF_Type::int32_t; - n_own_interaction_delay->m_rdf_type = RDF_Type::Vector; - n_own_interaction_delay->m_node_type = NodeType::Vector; - n_own_interaction_delay->m_addornements = "v"; - n_own_interaction_delay->m_address = base + offset; - n_own_interaction_delay->m_parent = p_node_parent; - n_own_interaction_delay->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_own_interaction_delay); - -} -void node_from_unit__T_counters2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "paralysis"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_counters2, field_name)); - auto n_paralysis = new NodeSimple; - n_paralysis->m_field_name = field_name; - n_paralysis->m_df_type = DF_Type::uint32_t; - n_paralysis->m_rdf_type = RDF_Type::uint32_t; - n_paralysis->m_node_type = NodeType::Simple; - n_paralysis->m_address = base + offset; - n_paralysis->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_paralysis); - - field_name = "numbness"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_counters2, field_name)); - auto n_numbness = new NodeSimple; - n_numbness->m_field_name = field_name; - n_numbness->m_df_type = DF_Type::uint32_t; - n_numbness->m_rdf_type = RDF_Type::uint32_t; - n_numbness->m_node_type = NodeType::Simple; - n_numbness->m_address = base + offset; - n_numbness->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_numbness); - - field_name = "fever"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_counters2, field_name)); - auto n_fever = new NodeSimple; - n_fever->m_field_name = field_name; - n_fever->m_df_type = DF_Type::uint32_t; - n_fever->m_rdf_type = RDF_Type::uint32_t; - n_fever->m_node_type = NodeType::Simple; - n_fever->m_address = base + offset; - n_fever->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_fever); - - field_name = "exhaustion"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_counters2, field_name)); - auto n_exhaustion = new NodeSimple; - n_exhaustion->m_field_name = field_name; - n_exhaustion->m_df_type = DF_Type::uint32_t; - n_exhaustion->m_rdf_type = RDF_Type::uint32_t; - n_exhaustion->m_node_type = NodeType::Simple; - n_exhaustion->m_address = base + offset; - n_exhaustion->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_exhaustion); - - field_name = "hunger_timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_counters2, field_name)); - auto n_hunger_timer = new NodeSimple; - n_hunger_timer->m_field_name = field_name; - n_hunger_timer->m_df_type = DF_Type::uint32_t; - n_hunger_timer->m_rdf_type = RDF_Type::uint32_t; - n_hunger_timer->m_node_type = NodeType::Simple; - n_hunger_timer->m_address = base + offset; - n_hunger_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_hunger_timer); - - field_name = "thirst_timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_counters2, field_name)); - auto n_thirst_timer = new NodeSimple; - n_thirst_timer->m_field_name = field_name; - n_thirst_timer->m_df_type = DF_Type::uint32_t; - n_thirst_timer->m_rdf_type = RDF_Type::uint32_t; - n_thirst_timer->m_node_type = NodeType::Simple; - n_thirst_timer->m_address = base + offset; - n_thirst_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_thirst_timer); - - field_name = "sleepiness_timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_counters2, field_name)); - auto n_sleepiness_timer = new NodeSimple; - n_sleepiness_timer->m_field_name = field_name; - n_sleepiness_timer->m_df_type = DF_Type::uint32_t; - n_sleepiness_timer->m_rdf_type = RDF_Type::uint32_t; - n_sleepiness_timer->m_node_type = NodeType::Simple; - n_sleepiness_timer->m_address = base + offset; - n_sleepiness_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sleepiness_timer); - - field_name = "stomach_content"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_counters2, field_name)); - auto n_stomach_content = new NodeSimple; - n_stomach_content->m_field_name = field_name; - n_stomach_content->m_df_type = DF_Type::uint32_t; - n_stomach_content->m_rdf_type = RDF_Type::uint32_t; - n_stomach_content->m_node_type = NodeType::Simple; - n_stomach_content->m_address = base + offset; - n_stomach_content->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_stomach_content); - - field_name = "stomach_food"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_counters2, field_name)); - auto n_stomach_food = new NodeSimple; - n_stomach_food->m_field_name = field_name; - n_stomach_food->m_df_type = DF_Type::uint32_t; - n_stomach_food->m_rdf_type = RDF_Type::uint32_t; - n_stomach_food->m_node_type = NodeType::Simple; - n_stomach_food->m_address = base + offset; - n_stomach_food->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_stomach_food); - - field_name = "vomit_timeout"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_counters2, field_name)); - auto n_vomit_timeout = new NodeSimple; - n_vomit_timeout->m_field_name = field_name; - n_vomit_timeout->m_df_type = DF_Type::uint32_t; - n_vomit_timeout->m_rdf_type = RDF_Type::uint32_t; - n_vomit_timeout->m_node_type = NodeType::Simple; - n_vomit_timeout->m_address = base + offset; - n_vomit_timeout->m_comment = "blocks nausea causing vomit"; - n_vomit_timeout->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_vomit_timeout); - - field_name = "stored_fat"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_counters2, field_name)); - auto n_stored_fat = new NodeSimple; - n_stored_fat->m_field_name = field_name; - n_stored_fat->m_df_type = DF_Type::uint32_t; - n_stored_fat->m_rdf_type = RDF_Type::uint32_t; - n_stored_fat->m_node_type = NodeType::Simple; - n_stored_fat->m_address = base + offset; - n_stored_fat->m_comment = "hunger leads to death only when 0"; - n_stored_fat->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_stored_fat); - -} -void node_from_unit__T_status__T_eat_history__T_food(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "item_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status__T_eat_history__T_food, field_name)); - auto n_item_type = new NodeVector; - n_item_type->m_field_name = field_name; - n_item_type->m_df_type = DF_Type::item_type; - n_item_type->m_rdf_type = RDF_Type::Vector; - n_item_type->m_node_type = NodeType::Vector; - n_item_type->m_enum_base = DF_Type::int16_t; - n_item_type->m_defined_in = "df.item-raws.xml"; - n_item_type->m_addornements = "v"; - n_item_type->m_address = base + offset; - n_item_type->m_parent = p_node_parent; - n_item_type->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_item_type); - - field_name = "item_subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status__T_eat_history__T_food, field_name)); - auto n_item_subtype = new NodeVector; - n_item_subtype->m_field_name = field_name; - n_item_subtype->m_df_type = DF_Type::int16_t; - n_item_subtype->m_rdf_type = RDF_Type::Vector; - n_item_subtype->m_node_type = NodeType::Vector; - n_item_subtype->m_addornements = "v"; - n_item_subtype->m_address = base + offset; - n_item_subtype->m_parent = p_node_parent; - n_item_subtype->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_item_subtype); - - field_name = "material"; - auto n_material = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status__T_eat_history__T_food, field_name)); - n_material->m_field_name = field_name; - n_material->m_df_type = DF_Type::material_vec_ref; - n_material->m_rdf_type = RDF_Type::Struct; - n_material->m_node_type = NodeType::Compound; - n_material->m_address = base + offset; - n_material->m_defined_in = "df.materials.xml"; - n_material->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_material); - - field_name = "year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status__T_eat_history__T_food, field_name)); - auto n_year = new NodeVector; - n_year->m_field_name = field_name; - n_year->m_df_type = DF_Type::int32_t; - n_year->m_rdf_type = RDF_Type::Vector; - n_year->m_node_type = NodeType::Vector; - n_year->m_addornements = "v"; - n_year->m_address = base + offset; - n_year->m_parent = p_node_parent; - n_year->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_year); - - field_name = "year_time"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status__T_eat_history__T_food, field_name)); - auto n_year_time = new NodeVector; - n_year_time->m_field_name = field_name; - n_year_time->m_df_type = DF_Type::int32_t; - n_year_time->m_rdf_type = RDF_Type::Vector; - n_year_time->m_node_type = NodeType::Vector; - n_year_time->m_addornements = "v"; - n_year_time->m_address = base + offset; - n_year_time->m_parent = p_node_parent; - n_year_time->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_year_time); - -} -void node_from_unit__T_status__T_eat_history__T_drink(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "item_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status__T_eat_history__T_drink, field_name)); - auto n_item_type = new NodeVector; - n_item_type->m_field_name = field_name; - n_item_type->m_df_type = DF_Type::item_type; - n_item_type->m_rdf_type = RDF_Type::Vector; - n_item_type->m_node_type = NodeType::Vector; - n_item_type->m_enum_base = DF_Type::int16_t; - n_item_type->m_defined_in = "df.item-raws.xml"; - n_item_type->m_addornements = "v"; - n_item_type->m_address = base + offset; - n_item_type->m_parent = p_node_parent; - n_item_type->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_item_type); - - field_name = "item_subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status__T_eat_history__T_drink, field_name)); - auto n_item_subtype = new NodeVector; - n_item_subtype->m_field_name = field_name; - n_item_subtype->m_df_type = DF_Type::int16_t; - n_item_subtype->m_rdf_type = RDF_Type::Vector; - n_item_subtype->m_node_type = NodeType::Vector; - n_item_subtype->m_addornements = "v"; - n_item_subtype->m_address = base + offset; - n_item_subtype->m_parent = p_node_parent; - n_item_subtype->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_item_subtype); - - field_name = "material"; - auto n_material = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status__T_eat_history__T_drink, field_name)); - n_material->m_field_name = field_name; - n_material->m_df_type = DF_Type::material_vec_ref; - n_material->m_rdf_type = RDF_Type::Struct; - n_material->m_node_type = NodeType::Compound; - n_material->m_address = base + offset; - n_material->m_defined_in = "df.materials.xml"; - n_material->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_material); - - field_name = "year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status__T_eat_history__T_drink, field_name)); - auto n_year = new NodeVector; - n_year->m_field_name = field_name; - n_year->m_df_type = DF_Type::int32_t; - n_year->m_rdf_type = RDF_Type::Vector; - n_year->m_node_type = NodeType::Vector; - n_year->m_addornements = "v"; - n_year->m_address = base + offset; - n_year->m_parent = p_node_parent; - n_year->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_year); - - field_name = "year_time"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status__T_eat_history__T_drink, field_name)); - auto n_year_time = new NodeVector; - n_year_time->m_field_name = field_name; - n_year_time->m_df_type = DF_Type::int32_t; - n_year_time->m_rdf_type = RDF_Type::Vector; - n_year_time->m_node_type = NodeType::Vector; - n_year_time->m_addornements = "v"; - n_year_time->m_address = base + offset; - n_year_time->m_parent = p_node_parent; - n_year_time->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_year_time); - -} -void node_from_unit__T_status__T_eat_history(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "food"; - auto n_food = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status__T_eat_history, field_name)); - n_food->m_field_name = field_name; - n_food->m_df_type = DF_Type::unit__T_status__T_eat_history__T_food; - n_food->m_rdf_type = RDF_Type::Compound; - n_food->m_node_type = NodeType::Compound; - n_food->m_address = base + offset; - n_food->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_food); - - field_name = "drink"; - auto n_drink = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status__T_eat_history, field_name)); - n_drink->m_field_name = field_name; - n_drink->m_df_type = DF_Type::unit__T_status__T_eat_history__T_drink; - n_drink->m_rdf_type = RDF_Type::Compound; - n_drink->m_node_type = NodeType::Compound; - n_drink->m_address = base + offset; - n_drink->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_drink); - -} -void node_from_unit__T_status(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "misc_traits"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status, field_name)); - auto n_misc_traits = new NodeVector; - n_misc_traits->m_field_name = field_name; - n_misc_traits->m_df_type = DF_Type::unit_misc_trait; - n_misc_traits->m_rdf_type = RDF_Type::Vector; - n_misc_traits->m_node_type = NodeType::Vector; - n_misc_traits->m_defined_in = "df.units.xml"; - n_misc_traits->m_addornements = "v*"; - n_misc_traits->m_address = base + offset; - n_misc_traits->m_parent = p_node_parent; - n_misc_traits->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_misc_traits); - - field_name = "eat_history"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status, field_name)); - auto n_eat_history = new NodePointer; - n_eat_history->m_field_name = field_name; - n_eat_history->m_df_type = get_real_subtype(base+offset, DF_Type::unit__T_status__T_eat_history); - n_eat_history->m_rdf_type = RDF_Type::Pointer; - n_eat_history->m_node_type = NodeType::Pointer; - n_eat_history->m_addornements = "*"; - n_eat_history->m_address = base + offset; - n_eat_history->m_parent = p_node_parent; - n_eat_history->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_eat_history); - - field_name = "demand_timeout"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status, field_name)); - auto n_demand_timeout = new NodeSimple; - n_demand_timeout->m_field_name = field_name; - n_demand_timeout->m_df_type = DF_Type::int32_t; - n_demand_timeout->m_rdf_type = RDF_Type::int32_t; - n_demand_timeout->m_node_type = NodeType::Simple; - n_demand_timeout->m_address = base + offset; - n_demand_timeout->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_demand_timeout); - - field_name = "mandate_timeout"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status, field_name)); - auto n_mandate_timeout = new NodeSimple; - n_mandate_timeout->m_field_name = field_name; - n_mandate_timeout->m_df_type = DF_Type::int32_t; - n_mandate_timeout->m_rdf_type = RDF_Type::int32_t; - n_mandate_timeout->m_node_type = NodeType::Simple; - n_mandate_timeout->m_address = base + offset; - n_mandate_timeout->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mandate_timeout); - - field_name = "attacker_ids"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status, field_name)); - auto n_attacker_ids = new NodeVector; - n_attacker_ids->m_field_name = field_name; - n_attacker_ids->m_df_type = DF_Type::int32_t; - n_attacker_ids->m_rdf_type = RDF_Type::Vector; - n_attacker_ids->m_node_type = NodeType::Vector; - n_attacker_ids->m_addornements = "v"; - n_attacker_ids->m_address = base + offset; - n_attacker_ids->m_parent = p_node_parent; - n_attacker_ids->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_attacker_ids); - - field_name = "attacker_cntdn"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status, field_name)); - auto n_attacker_cntdn = new NodeVector; - n_attacker_cntdn->m_field_name = field_name; - n_attacker_cntdn->m_df_type = DF_Type::int16_t; - n_attacker_cntdn->m_rdf_type = RDF_Type::Vector; - n_attacker_cntdn->m_node_type = NodeType::Vector; - n_attacker_cntdn->m_addornements = "v"; - n_attacker_cntdn->m_address = base + offset; - n_attacker_cntdn->m_parent = p_node_parent; - n_attacker_cntdn->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_attacker_cntdn); - - field_name = "face_direction"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status, field_name)); - auto n_face_direction = new NodeSimple; - n_face_direction->m_field_name = field_name; - n_face_direction->m_df_type = DF_Type::uint8_t; - n_face_direction->m_rdf_type = RDF_Type::uint8_t; - n_face_direction->m_node_type = NodeType::Simple; - n_face_direction->m_address = base + offset; - n_face_direction->m_comment = "for wagons"; - n_face_direction->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_face_direction); - - field_name = "artifact_name"; - auto n_artifact_name = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status, field_name)); - n_artifact_name->m_field_name = field_name; - n_artifact_name->m_df_type = DF_Type::language_name; - n_artifact_name->m_rdf_type = RDF_Type::Struct; - n_artifact_name->m_node_type = NodeType::Compound; - n_artifact_name->m_address = base + offset; - n_artifact_name->m_defined_in = "df.language.xml"; - n_artifact_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_artifact_name); - - field_name = "souls"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status, field_name)); - auto n_souls = new NodeVector; - n_souls->m_field_name = field_name; - n_souls->m_df_type = DF_Type::unit_soul; - n_souls->m_rdf_type = RDF_Type::Vector; - n_souls->m_node_type = NodeType::Vector; - n_souls->m_defined_in = "df.units.xml"; - n_souls->m_addornements = "v*"; - n_souls->m_address = base + offset; - n_souls->m_parent = p_node_parent; - n_souls->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_souls); - - field_name = "current_soul"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status, field_name)); - auto n_current_soul = new NodePointer; - n_current_soul->m_field_name = field_name; - n_current_soul->m_df_type = get_real_subtype(base+offset, DF_Type::unit_soul); - n_current_soul->m_rdf_type = RDF_Type::Pointer; - n_current_soul->m_node_type = NodeType::Pointer; - n_current_soul->m_addornements = "*"; - n_current_soul->m_address = base + offset; - n_current_soul->m_parent = p_node_parent; - n_current_soul->m_defined_in = "df.units.xml"; - n_current_soul->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_current_soul); - - field_name = "demands"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status, field_name)); - auto n_demands = new NodeVector; - n_demands->m_field_name = field_name; - n_demands->m_df_type = DF_Type::unit_demand; - n_demands->m_rdf_type = RDF_Type::Vector; - n_demands->m_node_type = NodeType::Vector; - n_demands->m_defined_in = "df.jobs.xml"; - n_demands->m_addornements = "v*"; - n_demands->m_address = base + offset; - n_demands->m_parent = p_node_parent; - n_demands->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_demands); - - field_name = "labors"; - auto n_labors = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status, field_name)); - n_labors->m_field_name = field_name; - n_labors->m_df_type = DF_Type::Bool; - n_labors->m_rdf_type = RDF_Type::Array; - n_labors->m_node_type = NodeType::Array; - n_labors->m_index_enum = DF_Type::unit_labor; - n_labors->m_addornements = "[94"; - n_labors->m_array_size = 94; - n_labors->m_address = base + offset; - n_labors->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_labors); - - field_name = "wrestle_items"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status, field_name)); - auto n_wrestle_items = new NodeVector; - n_wrestle_items->m_field_name = field_name; - n_wrestle_items->m_df_type = DF_Type::unit_item_wrestle; - n_wrestle_items->m_rdf_type = RDF_Type::Vector; - n_wrestle_items->m_node_type = NodeType::Vector; - n_wrestle_items->m_defined_in = "df.units.xml"; - n_wrestle_items->m_addornements = "v*"; - n_wrestle_items->m_address = base + offset; - n_wrestle_items->m_parent = p_node_parent; - n_wrestle_items->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_wrestle_items); - - field_name = "observed_traps"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status, field_name)); - auto n_observed_traps = new NodeVector; - n_observed_traps->m_field_name = field_name; - n_observed_traps->m_df_type = DF_Type::int32_t; - n_observed_traps->m_rdf_type = RDF_Type::Vector; - n_observed_traps->m_node_type = NodeType::Vector; - n_observed_traps->m_addornements = "v"; - n_observed_traps->m_address = base + offset; - n_observed_traps->m_parent = p_node_parent; - n_observed_traps->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_observed_traps); - - field_name = "complaints"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status, field_name)); - auto n_complaints = new NodeVector; - n_complaints->m_field_name = field_name; - n_complaints->m_df_type = DF_Type::unit_complaint; - n_complaints->m_rdf_type = RDF_Type::Vector; - n_complaints->m_node_type = NodeType::Vector; - n_complaints->m_defined_in = "df.units.xml"; - n_complaints->m_addornements = "v*"; - n_complaints->m_address = base + offset; - n_complaints->m_parent = p_node_parent; - n_complaints->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_complaints); - - field_name = "unk_138"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status, field_name)); - auto n_unk_138 = new NodeVector; - n_unk_138->m_field_name = field_name; - n_unk_138->m_df_type = DF_Type::unit_unk_138; - n_unk_138->m_rdf_type = RDF_Type::Vector; - n_unk_138->m_node_type = NodeType::Vector; - n_unk_138->m_defined_in = "df.units.xml"; - n_unk_138->m_addornements = "v*"; - n_unk_138->m_address = base + offset; - n_unk_138->m_parent = p_node_parent; - n_unk_138->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_138); - - field_name = "requests"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status, field_name)); - auto n_requests = new NodeVector; - n_requests->m_field_name = field_name; - n_requests->m_df_type = DF_Type::unit_request; - n_requests->m_rdf_type = RDF_Type::Vector; - n_requests->m_node_type = NodeType::Vector; - n_requests->m_defined_in = "df.units.xml"; - n_requests->m_addornements = "v*"; - n_requests->m_address = base + offset; - n_requests->m_parent = p_node_parent; - n_requests->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_requests); - - field_name = "coin_debts"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status, field_name)); - auto n_coin_debts = new NodeVector; - n_coin_debts->m_field_name = field_name; - n_coin_debts->m_df_type = DF_Type::unit_coin_debt; - n_coin_debts->m_rdf_type = RDF_Type::Vector; - n_coin_debts->m_node_type = NodeType::Vector; - n_coin_debts->m_defined_in = "df.units.xml"; - n_coin_debts->m_addornements = "v*"; - n_coin_debts->m_address = base + offset; - n_coin_debts->m_parent = p_node_parent; - n_coin_debts->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_coin_debts); - - field_name = "adv_sleep_timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status, field_name)); - auto n_adv_sleep_timer = new NodeSimple; - n_adv_sleep_timer->m_field_name = field_name; - n_adv_sleep_timer->m_df_type = DF_Type::int16_t; - n_adv_sleep_timer->m_rdf_type = RDF_Type::int16_t; - n_adv_sleep_timer->m_node_type = NodeType::Simple; - n_adv_sleep_timer->m_address = base + offset; - n_adv_sleep_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_adv_sleep_timer); - - field_name = "recent_job_area"; - auto n_recent_job_area = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status, field_name)); - n_recent_job_area->m_field_name = field_name; - n_recent_job_area->m_df_type = DF_Type::coord; - n_recent_job_area->m_rdf_type = RDF_Type::Struct; - n_recent_job_area->m_node_type = NodeType::Compound; - n_recent_job_area->m_address = base + offset; - n_recent_job_area->m_defined_in = "df.map.xml"; - n_recent_job_area->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_recent_job_area); - - field_name = "recent_jobs"; - auto n_recent_jobs = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status, field_name)); - n_recent_jobs->m_field_name = field_name; - n_recent_jobs->m_df_type = DF_Type::coord_path; - n_recent_jobs->m_rdf_type = RDF_Type::Struct; - n_recent_jobs->m_node_type = NodeType::Compound; - n_recent_jobs->m_address = base + offset; - n_recent_jobs->m_defined_in = "df.map.xml"; - n_recent_jobs->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_recent_jobs); - -} -void node_from_unit__T_status2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "limbs_stand_max"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status2, field_name)); - auto n_limbs_stand_max = new NodeSimple; - n_limbs_stand_max->m_field_name = field_name; - n_limbs_stand_max->m_df_type = DF_Type::int16_t; - n_limbs_stand_max->m_rdf_type = RDF_Type::int16_t; - n_limbs_stand_max->m_node_type = NodeType::Simple; - n_limbs_stand_max->m_address = base + offset; - n_limbs_stand_max->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_limbs_stand_max); - - field_name = "limbs_stand_count"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status2, field_name)); - auto n_limbs_stand_count = new NodeSimple; - n_limbs_stand_count->m_field_name = field_name; - n_limbs_stand_count->m_df_type = DF_Type::int16_t; - n_limbs_stand_count->m_rdf_type = RDF_Type::int16_t; - n_limbs_stand_count->m_node_type = NodeType::Simple; - n_limbs_stand_count->m_address = base + offset; - n_limbs_stand_count->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_limbs_stand_count); - - field_name = "limbs_grasp_max"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status2, field_name)); - auto n_limbs_grasp_max = new NodeSimple; - n_limbs_grasp_max->m_field_name = field_name; - n_limbs_grasp_max->m_df_type = DF_Type::int16_t; - n_limbs_grasp_max->m_rdf_type = RDF_Type::int16_t; - n_limbs_grasp_max->m_node_type = NodeType::Simple; - n_limbs_grasp_max->m_address = base + offset; - n_limbs_grasp_max->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_limbs_grasp_max); - - field_name = "limbs_grasp_count"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status2, field_name)); - auto n_limbs_grasp_count = new NodeSimple; - n_limbs_grasp_count->m_field_name = field_name; - n_limbs_grasp_count->m_df_type = DF_Type::int16_t; - n_limbs_grasp_count->m_rdf_type = RDF_Type::int16_t; - n_limbs_grasp_count->m_node_type = NodeType::Simple; - n_limbs_grasp_count->m_address = base + offset; - n_limbs_grasp_count->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_limbs_grasp_count); - - field_name = "limbs_fly_max"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status2, field_name)); - auto n_limbs_fly_max = new NodeSimple; - n_limbs_fly_max->m_field_name = field_name; - n_limbs_fly_max->m_df_type = DF_Type::int16_t; - n_limbs_fly_max->m_rdf_type = RDF_Type::int16_t; - n_limbs_fly_max->m_node_type = NodeType::Simple; - n_limbs_fly_max->m_address = base + offset; - n_limbs_fly_max->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_limbs_fly_max); - - field_name = "limbs_fly_count"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status2, field_name)); - auto n_limbs_fly_count = new NodeSimple; - n_limbs_fly_count->m_field_name = field_name; - n_limbs_fly_count->m_df_type = DF_Type::int16_t; - n_limbs_fly_count->m_rdf_type = RDF_Type::int16_t; - n_limbs_fly_count->m_node_type = NodeType::Simple; - n_limbs_fly_count->m_address = base + offset; - n_limbs_fly_count->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_limbs_fly_count); - - field_name = "body_part_temperature"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status2, field_name)); - auto n_body_part_temperature = new NodeVector; - n_body_part_temperature->m_field_name = field_name; - n_body_part_temperature->m_df_type = DF_Type::temperaturest; - n_body_part_temperature->m_rdf_type = RDF_Type::Vector; - n_body_part_temperature->m_node_type = NodeType::Vector; - n_body_part_temperature->m_defined_in = "df.items.xml"; - n_body_part_temperature->m_addornements = "v*"; - n_body_part_temperature->m_address = base + offset; - n_body_part_temperature->m_parent = p_node_parent; - n_body_part_temperature->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_body_part_temperature); - - field_name = "add_path_flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status2, field_name)); - auto n_add_path_flags = new NodeSimple; - n_add_path_flags->m_field_name = field_name; - n_add_path_flags->m_df_type = DF_Type::uint32_t; - n_add_path_flags->m_rdf_type = RDF_Type::uint32_t; - n_add_path_flags->m_node_type = NodeType::Simple; - n_add_path_flags->m_address = base + offset; - n_add_path_flags->m_comment = "pathing flags to OR, set to 0 after move"; - n_add_path_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_add_path_flags); - - field_name = "liquid_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status2, field_name)); - auto n_liquid_type = new NodeBitfield; - n_liquid_type->m_field_name = field_name; - n_liquid_type->m_df_type = DF_Type::tile_designation; - n_liquid_type->m_rdf_type = RDF_Type::Bitfield; - n_liquid_type->m_node_type = NodeType::Bitfield; - n_liquid_type->m_address = base + offset; - n_liquid_type->m_defined_in = "df.map.xml"; - n_liquid_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_liquid_type); - - field_name = "liquid_depth"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status2, field_name)); - auto n_liquid_depth = new NodeSimple; - n_liquid_depth->m_field_name = field_name; - n_liquid_depth->m_df_type = DF_Type::uint8_t; - n_liquid_depth->m_rdf_type = RDF_Type::uint8_t; - n_liquid_depth->m_node_type = NodeType::Simple; - n_liquid_depth->m_address = base + offset; - n_liquid_depth->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_liquid_depth); - - field_name = "unk_7c0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status2, field_name)); - auto n_unk_7c0 = new NodeSimple; - n_unk_7c0->m_field_name = field_name; - n_unk_7c0->m_df_type = DF_Type::int32_t; - n_unk_7c0->m_rdf_type = RDF_Type::int32_t; - n_unk_7c0->m_node_type = NodeType::Simple; - n_unk_7c0->m_address = base + offset; - n_unk_7c0->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_7c0); - -} -void node_from_unit__T_unknown7(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk_7c4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_unknown7, field_name)); - auto n_unk_7c4 = new NodeVector; - n_unk_7c4->m_field_name = field_name; - n_unk_7c4->m_df_type = DF_Type::int32_t; - n_unk_7c4->m_rdf_type = RDF_Type::Vector; - n_unk_7c4->m_node_type = NodeType::Vector; - n_unk_7c4->m_addornements = "v"; - n_unk_7c4->m_address = base + offset; - n_unk_7c4->m_parent = p_node_parent; - n_unk_7c4->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_7c4); - - field_name = "unk_c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_unknown7, field_name)); - auto n_unk_c = new NodeVector; - n_unk_c->m_field_name = field_name; - n_unk_c->m_df_type = DF_Type::int32_t; - n_unk_c->m_rdf_type = RDF_Type::Vector; - n_unk_c->m_node_type = NodeType::Vector; - n_unk_c->m_addornements = "v"; - n_unk_c->m_address = base + offset; - n_unk_c->m_parent = p_node_parent; - n_unk_c->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_c); - -} -void node_from_unit__T_syndromes(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "active"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_syndromes, field_name)); - auto n_active = new NodeVector; - n_active->m_field_name = field_name; - n_active->m_df_type = DF_Type::unit_syndrome; - n_active->m_rdf_type = RDF_Type::Vector; - n_active->m_node_type = NodeType::Vector; - n_active->m_defined_in = "df.units.xml"; - n_active->m_addornements = "v*"; - n_active->m_address = base + offset; - n_active->m_parent = p_node_parent; - n_active->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_active); - - field_name = "reinfection_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_syndromes, field_name)); - auto n_reinfection_type = new NodeVector; - n_reinfection_type->m_field_name = field_name; - n_reinfection_type->m_df_type = DF_Type::int32_t; - n_reinfection_type->m_rdf_type = RDF_Type::Vector; - n_reinfection_type->m_node_type = NodeType::Vector; - n_reinfection_type->m_addornements = "v"; - n_reinfection_type->m_address = base + offset; - n_reinfection_type->m_parent = p_node_parent; - n_reinfection_type->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_reinfection_type); - - field_name = "reinfection_count"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_syndromes, field_name)); - auto n_reinfection_count = new NodeVector; - n_reinfection_count->m_field_name = field_name; - n_reinfection_count->m_df_type = DF_Type::int16_t; - n_reinfection_count->m_rdf_type = RDF_Type::Vector; - n_reinfection_count->m_node_type = NodeType::Vector; - n_reinfection_count->m_addornements = "v"; - n_reinfection_count->m_address = base + offset; - n_reinfection_count->m_parent = p_node_parent; - n_reinfection_count->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_reinfection_count); - -} -void node_from_unit__T_reports(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "log"; - auto n_log = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_reports, field_name)); - n_log->m_field_name = field_name; - n_log->m_df_type = DF_Type::int32_t; - n_log->m_rdf_type = RDF_Type::Array; - n_log->m_node_type = NodeType::Array; - n_log->m_index_enum = DF_Type::unit_report_type; - n_log->m_addornements = "[3v"; - n_log->m_array_size = 3; - n_log->m_address = base + offset; - n_log->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_log); - - field_name = "last_year"; - auto n_last_year = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_reports, field_name)); - n_last_year->m_field_name = field_name; - n_last_year->m_df_type = DF_Type::int32_t; - n_last_year->m_rdf_type = RDF_Type::Array; - n_last_year->m_node_type = NodeType::Array; - n_last_year->m_index_enum = DF_Type::unit_report_type; - n_last_year->m_addornements = "[3"; - n_last_year->m_array_size = 3; - n_last_year->m_address = base + offset; - n_last_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_last_year); - - field_name = "last_year_tick"; - auto n_last_year_tick = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_reports, field_name)); - n_last_year_tick->m_field_name = field_name; - n_last_year_tick->m_df_type = DF_Type::int32_t; - n_last_year_tick->m_rdf_type = RDF_Type::Array; - n_last_year_tick->m_node_type = NodeType::Array; - n_last_year_tick->m_index_enum = DF_Type::unit_report_type; - n_last_year_tick->m_addornements = "[3"; - n_last_year_tick->m_array_size = 3; - n_last_year_tick->m_address = base + offset; - n_last_year_tick->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_last_year_tick); - -} -void node_from_unit__T_enemy__T_undead(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_undead, field_name)); - auto n_unk_1 = new NodeSimple; - n_unk_1->m_field_name = field_name; - n_unk_1->m_df_type = DF_Type::int32_t; - n_unk_1->m_rdf_type = RDF_Type::int32_t; - n_unk_1->m_node_type = NodeType::Simple; - n_unk_1->m_address = base + offset; - n_unk_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_1); - - field_name = "unk_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_undead, field_name)); - auto n_unk_2 = new NodeSimple; - n_unk_2->m_field_name = field_name; - n_unk_2->m_df_type = DF_Type::int32_t; - n_unk_2->m_rdf_type = RDF_Type::int32_t; - n_unk_2->m_node_type = NodeType::Simple; - n_unk_2->m_address = base + offset; - n_unk_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_2); - - field_name = "unk_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_undead, field_name)); - auto n_unk_3 = new NodeSimple; - n_unk_3->m_field_name = field_name; - n_unk_3->m_df_type = DF_Type::int32_t; - n_unk_3->m_rdf_type = RDF_Type::int32_t; - n_unk_3->m_node_type = NodeType::Simple; - n_unk_3->m_address = base + offset; - n_unk_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_3); - - field_name = "unk_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_undead, field_name)); - auto n_unk_4 = new NodeSimple; - n_unk_4->m_field_name = field_name; - n_unk_4->m_df_type = DF_Type::int32_t; - n_unk_4->m_rdf_type = RDF_Type::int32_t; - n_unk_4->m_node_type = NodeType::Simple; - n_unk_4->m_address = base + offset; - n_unk_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_4); - - field_name = "unk_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_undead, field_name)); - auto n_unk_5 = new NodeSimple; - n_unk_5->m_field_name = field_name; - n_unk_5->m_df_type = DF_Type::int32_t; - n_unk_5->m_rdf_type = RDF_Type::int32_t; - n_unk_5->m_node_type = NodeType::Simple; - n_unk_5->m_address = base + offset; - n_unk_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_5); - - field_name = "root_body_part_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_undead, field_name)); - auto n_root_body_part_id = new NodeSimple; - n_root_body_part_id->m_field_name = field_name; - n_root_body_part_id->m_df_type = DF_Type::int16_t; - n_root_body_part_id->m_rdf_type = RDF_Type::int16_t; - n_root_body_part_id->m_node_type = NodeType::Simple; - n_root_body_part_id->m_address = base + offset; - n_root_body_part_id->m_comment = "ID of the root body part in the corpse or corpse piece from which the reanimated unit was produced"; - n_root_body_part_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_root_body_part_id); - - field_name = "undead_name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_undead, field_name)); - auto n_undead_name = new NodeSimple; - n_undead_name->m_field_name = field_name; - n_undead_name->m_df_type = DF_Type::Stl_string; - n_undead_name->m_rdf_type = RDF_Type::Stl_string; - n_undead_name->m_node_type = NodeType::Simple; - n_undead_name->m_address = base + offset; - n_undead_name->m_comment = "display name of reanimated creatures"; - n_undead_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_undead_name); - - field_name = "unk_v43_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_undead, field_name)); - auto n_unk_v43_1 = new NodeSimple; - n_unk_v43_1->m_field_name = field_name; - n_unk_v43_1->m_df_type = DF_Type::int32_t; - n_unk_v43_1->m_rdf_type = RDF_Type::int32_t; - n_unk_v43_1->m_node_type = NodeType::Simple; - n_unk_v43_1->m_address = base + offset; - n_unk_v43_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v43_1); - - field_name = "unk_v43_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_undead, field_name)); - auto n_unk_v43_2 = new NodeSimple; - n_unk_v43_2->m_field_name = field_name; - n_unk_v43_2->m_df_type = DF_Type::int32_t; - n_unk_v43_2->m_rdf_type = RDF_Type::int32_t; - n_unk_v43_2->m_node_type = NodeType::Simple; - n_unk_v43_2->m_address = base + offset; - n_unk_v43_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v43_2); - -} -void node_from_unit__T_enemy__T_witness_reports(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "death_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_witness_reports, field_name)); - auto n_death_id = new NodeSimple; - n_death_id->m_field_name = field_name; - n_death_id->m_df_type = DF_Type::int32_t; - n_death_id->m_rdf_type = RDF_Type::int32_t; - n_death_id->m_node_type = NodeType::Simple; - n_death_id->m_address = base + offset; - n_death_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_death_id); - - field_name = "crime_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_witness_reports, field_name)); - auto n_crime_id = new NodeSimple; - n_crime_id->m_field_name = field_name; - n_crime_id->m_df_type = DF_Type::int32_t; - n_crime_id->m_rdf_type = RDF_Type::int32_t; - n_crime_id->m_node_type = NodeType::Simple; - n_crime_id->m_address = base + offset; - n_crime_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_crime_id); - - field_name = "unk1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_witness_reports, field_name)); - auto n_unk1 = new NodeSimple; - n_unk1->m_field_name = field_name; - n_unk1->m_df_type = DF_Type::int32_t; - n_unk1->m_rdf_type = RDF_Type::int32_t; - n_unk1->m_node_type = NodeType::Simple; - n_unk1->m_address = base + offset; - n_unk1->m_comment = "0 accuses, 1 corpse"; - n_unk1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk1); - - field_name = "year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_witness_reports, field_name)); - auto n_year = new NodeSimple; - n_year->m_field_name = field_name; - n_year->m_df_type = DF_Type::int32_t; - n_year->m_rdf_type = RDF_Type::int32_t; - n_year->m_node_type = NodeType::Simple; - n_year->m_address = base + offset; - n_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_year); - - field_name = "year_tick"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_witness_reports, field_name)); - auto n_year_tick = new NodeSimple; - n_year_tick->m_field_name = field_name; - n_year_tick->m_df_type = DF_Type::int32_t; - n_year_tick->m_rdf_type = RDF_Type::int32_t; - n_year_tick->m_node_type = NodeType::Simple; - n_year_tick->m_address = base + offset; - n_year_tick->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_year_tick); - - field_name = "unk2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_witness_reports, field_name)); - auto n_unk2 = new NodeSimple; - n_unk2->m_field_name = field_name; - n_unk2->m_df_type = DF_Type::int32_t; - n_unk2->m_rdf_type = RDF_Type::int32_t; - n_unk2->m_node_type = NodeType::Simple; - n_unk2->m_address = base + offset; - n_unk2->m_comment = "bit 0 accuses"; - n_unk2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk2); - -} -void node_from_unit__T_enemy__T_unk_448__T_unk(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_448__T_unk, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_448__T_unk, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_448__T_unk, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_448__T_unk, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_448__T_unk, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_448__T_unk, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_448__T_unk, field_name)); - auto n_anon_7 = new NodeSimple; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::int32_t; - n_anon_7->m_rdf_type = RDF_Type::int32_t; - n_anon_7->m_node_type = NodeType::Simple; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_7); - - field_name = "anon_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_448__T_unk, field_name)); - auto n_anon_8 = new NodeSimple; - n_anon_8->m_field_name = field_name; - n_anon_8->m_df_type = DF_Type::int32_t; - n_anon_8->m_rdf_type = RDF_Type::int32_t; - n_anon_8->m_node_type = NodeType::Simple; - n_anon_8->m_address = base + offset; - n_anon_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_8); - - field_name = "anon_9"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_448__T_unk, field_name)); - auto n_anon_9 = new NodeSimple; - n_anon_9->m_field_name = field_name; - n_anon_9->m_df_type = DF_Type::int32_t; - n_anon_9->m_rdf_type = RDF_Type::int32_t; - n_anon_9->m_node_type = NodeType::Simple; - n_anon_9->m_address = base + offset; - n_anon_9->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_9); - - field_name = "anon_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_448__T_unk, field_name)); - auto n_anon_10 = new NodeSimple; - n_anon_10->m_field_name = field_name; - n_anon_10->m_df_type = DF_Type::int32_t; - n_anon_10->m_rdf_type = RDF_Type::int32_t; - n_anon_10->m_node_type = NodeType::Simple; - n_anon_10->m_address = base + offset; - n_anon_10->m_comment = "not saved"; - n_anon_10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_10); - -} -void node_from_unit__T_enemy__T_unk_448(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_448, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_448, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_448, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "unk"; - auto n_unk = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_448, field_name)); - n_unk->m_field_name = field_name; - n_unk->m_df_type = DF_Type::unit__T_enemy__T_unk_448__T_unk; - n_unk->m_rdf_type = RDF_Type::Compound; - n_unk->m_node_type = NodeType::Compound; - n_unk->m_address = base + offset; - n_unk->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk); - -} -void node_from_unit__T_enemy__T_unk_44c(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_44c, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_44c, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_44c, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int16_t; - n_anon_3->m_rdf_type = RDF_Type::int16_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_44c, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_44c, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_44c, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - auto n_anon_7 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_44c, field_name)); - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::int32_t; - n_anon_7->m_rdf_type = RDF_Type::Array; - n_anon_7->m_node_type = NodeType::Array; - n_anon_7->m_addornements = "[20"; - n_anon_7->m_array_size = 20; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_7); - - field_name = "anon_8"; - auto n_anon_8 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_44c, field_name)); - n_anon_8->m_field_name = field_name; - n_anon_8->m_df_type = DF_Type::int32_t; - n_anon_8->m_rdf_type = RDF_Type::Array; - n_anon_8->m_node_type = NodeType::Array; - n_anon_8->m_addornements = "[20"; - n_anon_8->m_array_size = 20; - n_anon_8->m_address = base + offset; - n_anon_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_8); - - field_name = "anon_9"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_44c, field_name)); - auto n_anon_9 = new NodeSimple; - n_anon_9->m_field_name = field_name; - n_anon_9->m_df_type = DF_Type::int16_t; - n_anon_9->m_rdf_type = RDF_Type::int16_t; - n_anon_9->m_node_type = NodeType::Simple; - n_anon_9->m_address = base + offset; - n_anon_9->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_9); - - field_name = "anon_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_44c, field_name)); - auto n_anon_10 = new NodeSimple; - n_anon_10->m_field_name = field_name; - n_anon_10->m_df_type = DF_Type::int16_t; - n_anon_10->m_rdf_type = RDF_Type::int16_t; - n_anon_10->m_node_type = NodeType::Simple; - n_anon_10->m_address = base + offset; - n_anon_10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_10); - - field_name = "anon_11"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_44c, field_name)); - auto n_anon_11 = new NodeSimple; - n_anon_11->m_field_name = field_name; - n_anon_11->m_df_type = DF_Type::int32_t; - n_anon_11->m_rdf_type = RDF_Type::int32_t; - n_anon_11->m_node_type = NodeType::Simple; - n_anon_11->m_address = base + offset; - n_anon_11->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_11); - - field_name = "anon_12"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_44c, field_name)); - auto n_anon_12 = new NodeSimple; - n_anon_12->m_field_name = field_name; - n_anon_12->m_df_type = DF_Type::int32_t; - n_anon_12->m_rdf_type = RDF_Type::int32_t; - n_anon_12->m_node_type = NodeType::Simple; - n_anon_12->m_address = base + offset; - n_anon_12->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_12); - -} -void node_from_unit__T_enemy__T_unk_v40_sub3__T_unk_2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_2, field_name)); - auto n_unk_1 = new NodeVector; - n_unk_1->m_field_name = field_name; - n_unk_1->m_df_type = DF_Type::int32_t; - n_unk_1->m_rdf_type = RDF_Type::Vector; - n_unk_1->m_node_type = NodeType::Vector; - n_unk_1->m_addornements = "v"; - n_unk_1->m_address = base + offset; - n_unk_1->m_parent = p_node_parent; - n_unk_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_1); - - field_name = "unk_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_2, field_name)); - auto n_unk_2 = new NodeVector; - n_unk_2->m_field_name = field_name; - n_unk_2->m_df_type = DF_Type::int32_t; - n_unk_2->m_rdf_type = RDF_Type::Vector; - n_unk_2->m_node_type = NodeType::Vector; - n_unk_2->m_addornements = "v"; - n_unk_2->m_address = base + offset; - n_unk_2->m_parent = p_node_parent; - n_unk_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_2); - - field_name = "unk_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_2, field_name)); - auto n_unk_3 = new NodeVector; - n_unk_3->m_field_name = field_name; - n_unk_3->m_df_type = DF_Type::int32_t; - n_unk_3->m_rdf_type = RDF_Type::Vector; - n_unk_3->m_node_type = NodeType::Vector; - n_unk_3->m_addornements = "v"; - n_unk_3->m_address = base + offset; - n_unk_3->m_parent = p_node_parent; - n_unk_3->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_3); - - field_name = "unk_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_2, field_name)); - auto n_unk_4 = new NodeVector; - n_unk_4->m_field_name = field_name; - n_unk_4->m_df_type = DF_Type::int32_t; - n_unk_4->m_rdf_type = RDF_Type::Vector; - n_unk_4->m_node_type = NodeType::Vector; - n_unk_4->m_addornements = "v"; - n_unk_4->m_address = base + offset; - n_unk_4->m_parent = p_node_parent; - n_unk_4->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_4); - -} -void node_from_unit__T_enemy__T_unk_v40_sub3__T_unk_6(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk_0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_6, field_name)); - auto n_unk_0 = new NodeVector; - n_unk_0->m_field_name = field_name; - n_unk_0->m_df_type = DF_Type::int32_t; - n_unk_0->m_rdf_type = RDF_Type::Vector; - n_unk_0->m_node_type = NodeType::Vector; - n_unk_0->m_addornements = "v"; - n_unk_0->m_address = base + offset; - n_unk_0->m_parent = p_node_parent; - n_unk_0->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_0); - - field_name = "unk_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_6, field_name)); - auto n_unk_10 = new NodeVector; - n_unk_10->m_field_name = field_name; - n_unk_10->m_df_type = DF_Type::int32_t; - n_unk_10->m_rdf_type = RDF_Type::Vector; - n_unk_10->m_node_type = NodeType::Vector; - n_unk_10->m_addornements = "v"; - n_unk_10->m_address = base + offset; - n_unk_10->m_parent = p_node_parent; - n_unk_10->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_10); - -} -void node_from_unit__T_enemy__T_unk_v40_sub3__T_unk_7__T_unk_sub1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk_sub1_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7__T_unk_sub1, field_name)); - auto n_unk_sub1_1 = new NodeSimple; - n_unk_sub1_1->m_field_name = field_name; - n_unk_sub1_1->m_df_type = DF_Type::int32_t; - n_unk_sub1_1->m_rdf_type = RDF_Type::int32_t; - n_unk_sub1_1->m_node_type = NodeType::Simple; - n_unk_sub1_1->m_address = base + offset; - n_unk_sub1_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_sub1_1); - - field_name = "unk_sub1_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7__T_unk_sub1, field_name)); - auto n_unk_sub1_2 = new NodeSimple; - n_unk_sub1_2->m_field_name = field_name; - n_unk_sub1_2->m_df_type = DF_Type::int32_t; - n_unk_sub1_2->m_rdf_type = RDF_Type::int32_t; - n_unk_sub1_2->m_node_type = NodeType::Simple; - n_unk_sub1_2->m_address = base + offset; - n_unk_sub1_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_sub1_2); - - field_name = "unk_sub1_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7__T_unk_sub1, field_name)); - auto n_unk_sub1_3 = new NodeSimple; - n_unk_sub1_3->m_field_name = field_name; - n_unk_sub1_3->m_df_type = DF_Type::int32_t; - n_unk_sub1_3->m_rdf_type = RDF_Type::int32_t; - n_unk_sub1_3->m_node_type = NodeType::Simple; - n_unk_sub1_3->m_address = base + offset; - n_unk_sub1_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_sub1_3); - - field_name = "unk_sub1_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7__T_unk_sub1, field_name)); - auto n_unk_sub1_4 = new NodeSimple; - n_unk_sub1_4->m_field_name = field_name; - n_unk_sub1_4->m_df_type = DF_Type::int32_t; - n_unk_sub1_4->m_rdf_type = RDF_Type::int32_t; - n_unk_sub1_4->m_node_type = NodeType::Simple; - n_unk_sub1_4->m_address = base + offset; - n_unk_sub1_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_sub1_4); - - field_name = "unk_sub1_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7__T_unk_sub1, field_name)); - auto n_unk_sub1_5 = new NodeSimple; - n_unk_sub1_5->m_field_name = field_name; - n_unk_sub1_5->m_df_type = DF_Type::int32_t; - n_unk_sub1_5->m_rdf_type = RDF_Type::int32_t; - n_unk_sub1_5->m_node_type = NodeType::Simple; - n_unk_sub1_5->m_address = base + offset; - n_unk_sub1_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_sub1_5); - - field_name = "unk_sub1_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7__T_unk_sub1, field_name)); - auto n_unk_sub1_6 = new NodeSimple; - n_unk_sub1_6->m_field_name = field_name; - n_unk_sub1_6->m_df_type = DF_Type::int32_t; - n_unk_sub1_6->m_rdf_type = RDF_Type::int32_t; - n_unk_sub1_6->m_node_type = NodeType::Simple; - n_unk_sub1_6->m_address = base + offset; - n_unk_sub1_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_sub1_6); - - field_name = "unk_sub1_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7__T_unk_sub1, field_name)); - auto n_unk_sub1_7 = new NodeSimple; - n_unk_sub1_7->m_field_name = field_name; - n_unk_sub1_7->m_df_type = DF_Type::int32_t; - n_unk_sub1_7->m_rdf_type = RDF_Type::int32_t; - n_unk_sub1_7->m_node_type = NodeType::Simple; - n_unk_sub1_7->m_address = base + offset; - n_unk_sub1_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_sub1_7); - - field_name = "unk_sub1_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7__T_unk_sub1, field_name)); - auto n_unk_sub1_8 = new NodeSimple; - n_unk_sub1_8->m_field_name = field_name; - n_unk_sub1_8->m_df_type = DF_Type::int32_t; - n_unk_sub1_8->m_rdf_type = RDF_Type::int32_t; - n_unk_sub1_8->m_node_type = NodeType::Simple; - n_unk_sub1_8->m_address = base + offset; - n_unk_sub1_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_sub1_8); - - field_name = "unk_sub1_9"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7__T_unk_sub1, field_name)); - auto n_unk_sub1_9 = new NodeSimple; - n_unk_sub1_9->m_field_name = field_name; - n_unk_sub1_9->m_df_type = DF_Type::int32_t; - n_unk_sub1_9->m_rdf_type = RDF_Type::int32_t; - n_unk_sub1_9->m_node_type = NodeType::Simple; - n_unk_sub1_9->m_address = base + offset; - n_unk_sub1_9->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_sub1_9); - -} -void node_from_unit__T_enemy__T_unk_v40_sub3__T_unk_7(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk_sub1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7, field_name)); - auto n_unk_sub1 = new NodeVector; - n_unk_sub1->m_field_name = field_name; - n_unk_sub1->m_df_type = DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7__T_unk_sub1; - n_unk_sub1->m_rdf_type = RDF_Type::Vector; - n_unk_sub1->m_node_type = NodeType::Vector; - n_unk_sub1->m_addornements = "v*"; - n_unk_sub1->m_address = base + offset; - n_unk_sub1->m_parent = p_node_parent; - n_unk_sub1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_sub1); - - field_name = "unk_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7, field_name)); - auto n_unk_1 = new NodeSimple; - n_unk_1->m_field_name = field_name; - n_unk_1->m_df_type = DF_Type::int32_t; - n_unk_1->m_rdf_type = RDF_Type::int32_t; - n_unk_1->m_node_type = NodeType::Simple; - n_unk_1->m_address = base + offset; - n_unk_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_1); - - field_name = "year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7, field_name)); - auto n_year = new NodeSimple; - n_year->m_field_name = field_name; - n_year->m_df_type = DF_Type::int32_t; - n_year->m_rdf_type = RDF_Type::int32_t; - n_year->m_node_type = NodeType::Simple; - n_year->m_address = base + offset; - n_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_year); - - field_name = "year_tick"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7, field_name)); - auto n_year_tick = new NodeSimple; - n_year_tick->m_field_name = field_name; - n_year_tick->m_df_type = DF_Type::int32_t; - n_year_tick->m_rdf_type = RDF_Type::int32_t; - n_year_tick->m_node_type = NodeType::Simple; - n_year_tick->m_address = base + offset; - n_year_tick->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_year_tick); - - field_name = "unk_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7, field_name)); - auto n_unk_4 = new NodeSimple; - n_unk_4->m_field_name = field_name; - n_unk_4->m_df_type = DF_Type::int32_t; - n_unk_4->m_rdf_type = RDF_Type::int32_t; - n_unk_4->m_node_type = NodeType::Simple; - n_unk_4->m_address = base + offset; - n_unk_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_4); - - field_name = "unk_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7, field_name)); - auto n_unk_5 = new NodeSimple; - n_unk_5->m_field_name = field_name; - n_unk_5->m_df_type = DF_Type::int32_t; - n_unk_5->m_rdf_type = RDF_Type::int32_t; - n_unk_5->m_node_type = NodeType::Simple; - n_unk_5->m_address = base + offset; - n_unk_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_5); - - field_name = "unk_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7, field_name)); - auto n_unk_6 = new NodeSimple; - n_unk_6->m_field_name = field_name; - n_unk_6->m_df_type = DF_Type::int32_t; - n_unk_6->m_rdf_type = RDF_Type::int32_t; - n_unk_6->m_node_type = NodeType::Simple; - n_unk_6->m_address = base + offset; - n_unk_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_6); - - field_name = "unk_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7, field_name)); - auto n_unk_7 = new NodeSimple; - n_unk_7->m_field_name = field_name; - n_unk_7->m_df_type = DF_Type::int32_t; - n_unk_7->m_rdf_type = RDF_Type::int32_t; - n_unk_7->m_node_type = NodeType::Simple; - n_unk_7->m_address = base + offset; - n_unk_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_7); - -} -void node_from_unit__T_enemy__T_unk_v40_sub3(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "controller"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_v40_sub3, field_name)); - auto n_controller = new NodePointer; - n_controller->m_field_name = field_name; - n_controller->m_df_type = get_real_subtype(base+offset, DF_Type::army_controller); - n_controller->m_rdf_type = RDF_Type::Pointer; - n_controller->m_node_type = NodeType::Pointer; - n_controller->m_addornements = "*"; - n_controller->m_address = base + offset; - n_controller->m_parent = p_node_parent; - n_controller->m_defined_in = "df.military.xml"; - n_controller->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_controller); - - field_name = "unk_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_v40_sub3, field_name)); - auto n_unk_2 = new NodePointer; - n_unk_2->m_field_name = field_name; - n_unk_2->m_df_type = get_real_subtype(base+offset, DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_2); - n_unk_2->m_rdf_type = RDF_Type::Pointer; - n_unk_2->m_node_type = NodeType::Pointer; - n_unk_2->m_addornements = "*"; - n_unk_2->m_address = base + offset; - n_unk_2->m_parent = p_node_parent; - n_unk_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_2); - - field_name = "unk_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_v40_sub3, field_name)); - auto n_unk_3 = new NodeVector; - n_unk_3->m_field_name = field_name; - n_unk_3->m_df_type = DF_Type::int32_t; - n_unk_3->m_rdf_type = RDF_Type::Vector; - n_unk_3->m_node_type = NodeType::Vector; - n_unk_3->m_addornements = "v"; - n_unk_3->m_address = base + offset; - n_unk_3->m_parent = p_node_parent; - n_unk_3->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_3); - - field_name = "unk_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_v40_sub3, field_name)); - auto n_unk_4 = new NodeVector; - n_unk_4->m_field_name = field_name; - n_unk_4->m_df_type = DF_Type::int32_t; - n_unk_4->m_rdf_type = RDF_Type::Vector; - n_unk_4->m_node_type = NodeType::Vector; - n_unk_4->m_addornements = "v"; - n_unk_4->m_address = base + offset; - n_unk_4->m_parent = p_node_parent; - n_unk_4->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_4); - - field_name = "unk_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_v40_sub3, field_name)); - auto n_unk_5 = new NodeVector; - n_unk_5->m_field_name = field_name; - n_unk_5->m_df_type = DF_Type::int32_t; - n_unk_5->m_rdf_type = RDF_Type::Vector; - n_unk_5->m_node_type = NodeType::Vector; - n_unk_5->m_addornements = "v"; - n_unk_5->m_address = base + offset; - n_unk_5->m_parent = p_node_parent; - n_unk_5->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_5); - - field_name = "unk_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_v40_sub3, field_name)); - auto n_unk_6 = new NodePointer; - n_unk_6->m_field_name = field_name; - n_unk_6->m_df_type = get_real_subtype(base+offset, DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_6); - n_unk_6->m_rdf_type = RDF_Type::Pointer; - n_unk_6->m_node_type = NodeType::Pointer; - n_unk_6->m_addornements = "*"; - n_unk_6->m_address = base + offset; - n_unk_6->m_parent = p_node_parent; - n_unk_6->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_6); - - field_name = "unk_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_v40_sub3, field_name)); - auto n_unk_7 = new NodePointer; - n_unk_7->m_field_name = field_name; - n_unk_7->m_df_type = get_real_subtype(base+offset, DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7); - n_unk_7->m_rdf_type = RDF_Type::Pointer; - n_unk_7->m_node_type = NodeType::Pointer; - n_unk_7->m_addornements = "*"; - n_unk_7->m_address = base + offset; - n_unk_7->m_parent = p_node_parent; - n_unk_7->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_7); - -} -void node_from_unit__T_enemy(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "sound_cooldown"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); - auto n_sound_cooldown = new NodeVector; - n_sound_cooldown->m_field_name = field_name; - n_sound_cooldown->m_df_type = DF_Type::int32_t; - n_sound_cooldown->m_rdf_type = RDF_Type::Vector; - n_sound_cooldown->m_node_type = NodeType::Vector; - n_sound_cooldown->m_addornements = "v"; - n_sound_cooldown->m_address = base + offset; - n_sound_cooldown->m_refers_to = "$$._global.caste.ref-target.sound[$]"; - n_sound_cooldown->m_parent = p_node_parent; - n_sound_cooldown->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_sound_cooldown); - - field_name = "undead"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); - auto n_undead = new NodePointer; - n_undead->m_field_name = field_name; - n_undead->m_df_type = get_real_subtype(base+offset, DF_Type::unit__T_enemy__T_undead); - n_undead->m_rdf_type = RDF_Type::Pointer; - n_undead->m_node_type = NodeType::Pointer; - n_undead->m_addornements = "*"; - n_undead->m_address = base + offset; - n_undead->m_parent = p_node_parent; - n_undead->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_undead); - - field_name = "were_race"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); - auto n_were_race = new NodeSimple; - n_were_race->m_field_name = field_name; - n_were_race->m_df_type = DF_Type::int32_t; - n_were_race->m_rdf_type = RDF_Type::int32_t; - n_were_race->m_node_type = NodeType::Simple; - n_were_race->m_address = base + offset; - n_were_race->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_were_race); - - field_name = "were_caste"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); - auto n_were_caste = new NodeSimple; - n_were_caste->m_field_name = field_name; - n_were_caste->m_df_type = DF_Type::int32_t; - n_were_caste->m_rdf_type = RDF_Type::int32_t; - n_were_caste->m_node_type = NodeType::Simple; - n_were_caste->m_address = base + offset; - n_were_caste->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_were_caste); - - field_name = "normal_race"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); - auto n_normal_race = new NodeSimple; - n_normal_race->m_field_name = field_name; - n_normal_race->m_df_type = DF_Type::int32_t; - n_normal_race->m_rdf_type = RDF_Type::int32_t; - n_normal_race->m_node_type = NodeType::Simple; - n_normal_race->m_address = base + offset; - n_normal_race->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_normal_race); - - field_name = "normal_caste"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); - auto n_normal_caste = new NodeSimple; - n_normal_caste->m_field_name = field_name; - n_normal_caste->m_df_type = DF_Type::int32_t; - n_normal_caste->m_rdf_type = RDF_Type::int32_t; - n_normal_caste->m_node_type = NodeType::Simple; - n_normal_caste->m_address = base + offset; - n_normal_caste->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_normal_caste); - - field_name = "interaction"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); - auto n_interaction = new NodeSimple; - n_interaction->m_field_name = field_name; - n_interaction->m_df_type = DF_Type::int32_t; - n_interaction->m_rdf_type = RDF_Type::int32_t; - n_interaction->m_node_type = NodeType::Simple; - n_interaction->m_address = base + offset; - n_interaction->m_refers_to = "$$._global.body.body_plan.interactions[$]"; - n_interaction->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_interaction); - - field_name = "appearances"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); - auto n_appearances = new NodeVector; - n_appearances->m_field_name = field_name; - n_appearances->m_df_type = DF_Type::unit_appearance; - n_appearances->m_rdf_type = RDF_Type::Vector; - n_appearances->m_node_type = NodeType::Vector; - n_appearances->m_defined_in = "df.units.xml"; - n_appearances->m_addornements = "v*"; - n_appearances->m_address = base + offset; - n_appearances->m_parent = p_node_parent; - n_appearances->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_appearances); - - field_name = "witness_reports"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); - auto n_witness_reports = new NodeVector; - n_witness_reports->m_field_name = field_name; - n_witness_reports->m_df_type = DF_Type::unit__T_enemy__T_witness_reports; - n_witness_reports->m_rdf_type = RDF_Type::Vector; - n_witness_reports->m_node_type = NodeType::Vector; - n_witness_reports->m_addornements = "v*"; - n_witness_reports->m_address = base + offset; - n_witness_reports->m_parent = p_node_parent; - n_witness_reports->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_witness_reports); - - field_name = "unk_a5c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); - auto n_unk_a5c = new NodeVector; - n_unk_a5c->m_field_name = field_name; - n_unk_a5c->m_df_type = DF_Type::entity_event; - n_unk_a5c->m_rdf_type = RDF_Type::Vector; - n_unk_a5c->m_node_type = NodeType::Vector; - n_unk_a5c->m_defined_in = "df.entities.xml"; - n_unk_a5c->m_addornements = "v*"; - n_unk_a5c->m_address = base + offset; - n_unk_a5c->m_parent = p_node_parent; - n_unk_a5c->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_a5c); - - field_name = "gait_index"; - auto n_gait_index = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); - n_gait_index->m_field_name = field_name; - n_gait_index->m_df_type = DF_Type::int32_t; - n_gait_index->m_rdf_type = RDF_Type::Array; - n_gait_index->m_node_type = NodeType::Array; - n_gait_index->m_index_enum = DF_Type::gait_type; - n_gait_index->m_addornements = "[5"; - n_gait_index->m_array_size = 5; - n_gait_index->m_address = base + offset; - n_gait_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_gait_index); - - field_name = "unk_v40_1a"; - auto n_unk_v40_1a = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); - n_unk_v40_1a->m_field_name = field_name; - n_unk_v40_1a->m_df_type = DF_Type::int32_t; - n_unk_v40_1a->m_rdf_type = RDF_Type::Array; - n_unk_v40_1a->m_node_type = NodeType::Array; - n_unk_v40_1a->m_addornements = "[10"; - n_unk_v40_1a->m_array_size = 10; - n_unk_v40_1a->m_address = base + offset; - n_unk_v40_1a->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_1a); - - field_name = "unk_v40_1b"; - auto n_unk_v40_1b = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); - n_unk_v40_1b->m_field_name = field_name; - n_unk_v40_1b->m_df_type = DF_Type::int32_t; - n_unk_v40_1b->m_rdf_type = RDF_Type::Array; - n_unk_v40_1b->m_node_type = NodeType::Array; - n_unk_v40_1b->m_addornements = "[10"; - n_unk_v40_1b->m_array_size = 10; - n_unk_v40_1b->m_address = base + offset; - n_unk_v40_1b->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_1b); - - field_name = "unk_v40_1c"; - auto n_unk_v40_1c = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); - n_unk_v40_1c->m_field_name = field_name; - n_unk_v40_1c->m_df_type = DF_Type::int32_t; - n_unk_v40_1c->m_rdf_type = RDF_Type::Array; - n_unk_v40_1c->m_node_type = NodeType::Array; - n_unk_v40_1c->m_addornements = "[10"; - n_unk_v40_1c->m_array_size = 10; - n_unk_v40_1c->m_address = base + offset; - n_unk_v40_1c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_1c); - - field_name = "unk_v40_1d"; - auto n_unk_v40_1d = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); - n_unk_v40_1d->m_field_name = field_name; - n_unk_v40_1d->m_df_type = DF_Type::int32_t; - n_unk_v40_1d->m_rdf_type = RDF_Type::Array; - n_unk_v40_1d->m_node_type = NodeType::Array; - n_unk_v40_1d->m_addornements = "[10"; - n_unk_v40_1d->m_array_size = 10; - n_unk_v40_1d->m_address = base + offset; - n_unk_v40_1d->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_1d); - - field_name = "unk_v40_1e"; - auto n_unk_v40_1e = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); - n_unk_v40_1e->m_field_name = field_name; - n_unk_v40_1e->m_df_type = DF_Type::int32_t; - n_unk_v40_1e->m_rdf_type = RDF_Type::Array; - n_unk_v40_1e->m_node_type = NodeType::Array; - n_unk_v40_1e->m_addornements = "[10"; - n_unk_v40_1e->m_array_size = 10; - n_unk_v40_1e->m_address = base + offset; - n_unk_v40_1e->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_1e); - - field_name = "unk_v40_2"; - auto n_unk_v40_2 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); - n_unk_v40_2->m_field_name = field_name; - n_unk_v40_2->m_df_type = DF_Type::int32_t; - n_unk_v40_2->m_rdf_type = RDF_Type::Array; - n_unk_v40_2->m_node_type = NodeType::Array; - n_unk_v40_2->m_addornements = "[200"; - n_unk_v40_2->m_array_size = 200; - n_unk_v40_2->m_address = base + offset; - n_unk_v40_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_2); - - field_name = "unk_v40_2_count"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); - auto n_unk_v40_2_count = new NodeSimple; - n_unk_v40_2_count->m_field_name = field_name; - n_unk_v40_2_count->m_df_type = DF_Type::int32_t; - n_unk_v40_2_count->m_rdf_type = RDF_Type::int32_t; - n_unk_v40_2_count->m_node_type = NodeType::Simple; - n_unk_v40_2_count->m_address = base + offset; - n_unk_v40_2_count->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_2_count); - - field_name = "unk_448"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); - auto n_unk_448 = new NodePointer; - n_unk_448->m_field_name = field_name; - n_unk_448->m_df_type = get_real_subtype(base+offset, DF_Type::unit__T_enemy__T_unk_448); - n_unk_448->m_rdf_type = RDF_Type::Pointer; - n_unk_448->m_node_type = NodeType::Pointer; - n_unk_448->m_addornements = "*"; - n_unk_448->m_address = base + offset; - n_unk_448->m_parent = p_node_parent; - n_unk_448->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_448); - - field_name = "unk_44c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); - auto n_unk_44c = new NodePointer; - n_unk_44c->m_field_name = field_name; - n_unk_44c->m_df_type = get_real_subtype(base+offset, DF_Type::unit__T_enemy__T_unk_44c); - n_unk_44c->m_rdf_type = RDF_Type::Pointer; - n_unk_44c->m_node_type = NodeType::Pointer; - n_unk_44c->m_addornements = "*"; - n_unk_44c->m_address = base + offset; - n_unk_44c->m_parent = p_node_parent; - n_unk_44c->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_44c); - - field_name = "unk_450"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); - auto n_unk_450 = new NodeSimple; - n_unk_450->m_field_name = field_name; - n_unk_450->m_df_type = DF_Type::int32_t; - n_unk_450->m_rdf_type = RDF_Type::int32_t; - n_unk_450->m_node_type = NodeType::Simple; - n_unk_450->m_address = base + offset; - n_unk_450->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_450); - - field_name = "unk_454"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); - auto n_unk_454 = new NodeSimple; - n_unk_454->m_field_name = field_name; - n_unk_454->m_df_type = DF_Type::int32_t; - n_unk_454->m_rdf_type = RDF_Type::int32_t; - n_unk_454->m_node_type = NodeType::Simple; - n_unk_454->m_address = base + offset; - n_unk_454->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_454); - - field_name = "army_controller_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); - auto n_army_controller_id = new NodeSimple; - n_army_controller_id->m_field_name = field_name; - n_army_controller_id->m_df_type = DF_Type::int32_t; - n_army_controller_id->m_rdf_type = RDF_Type::int32_t; - n_army_controller_id->m_node_type = NodeType::Simple; - n_army_controller_id->m_address = base + offset; - n_army_controller_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_army_controller_id); - - field_name = "unk_v40_sub3"; - auto n_unk_v40_sub3 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); - n_unk_v40_sub3->m_field_name = field_name; - n_unk_v40_sub3->m_df_type = DF_Type::unit__T_enemy__T_unk_v40_sub3; - n_unk_v40_sub3->m_rdf_type = RDF_Type::Compound; - n_unk_v40_sub3->m_node_type = NodeType::Compound; - n_unk_v40_sub3->m_address = base + offset; - n_unk_v40_sub3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_sub3); - - field_name = "enemy_status_slot"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); - auto n_enemy_status_slot = new NodeSimple; - n_enemy_status_slot->m_field_name = field_name; - n_enemy_status_slot->m_df_type = DF_Type::int32_t; - n_enemy_status_slot->m_rdf_type = RDF_Type::int32_t; - n_enemy_status_slot->m_node_type = NodeType::Simple; - n_enemy_status_slot->m_address = base + offset; - n_enemy_status_slot->m_comment = "also combat_side_id"; - n_enemy_status_slot->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_enemy_status_slot); - - field_name = "caste_flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); - auto n_caste_flags = new NodeDFFlagArray; - n_caste_flags->m_field_name = field_name; - n_caste_flags->m_index_enum = DF_Type::caste_raw_flags; - n_caste_flags->m_df_type = DF_Type::caste_raw_flags; - n_caste_flags->m_size = 173; - n_caste_flags->m_rdf_type = RDF_Type::DFFlagArray; - n_caste_flags->m_node_type = NodeType::Bitfield; - n_caste_flags->m_address = base + offset; - n_caste_flags->m_defined_in = "df.creature-raws.xml"; - n_caste_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_caste_flags); - - field_name = "unk_v4206_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); - auto n_unk_v4206_1 = new NodeSimple; - n_unk_v4206_1->m_field_name = field_name; - n_unk_v4206_1->m_df_type = DF_Type::int32_t; - n_unk_v4206_1->m_rdf_type = RDF_Type::int32_t; - n_unk_v4206_1->m_node_type = NodeType::Simple; - n_unk_v4206_1->m_address = base + offset; - n_unk_v4206_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v4206_1); - - field_name = "unk_874_cntr"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); - auto n_unk_874_cntr = new NodeSimple; - n_unk_874_cntr->m_field_name = field_name; - n_unk_874_cntr->m_df_type = DF_Type::int32_t; - n_unk_874_cntr->m_rdf_type = RDF_Type::int32_t; - n_unk_874_cntr->m_node_type = NodeType::Simple; - n_unk_874_cntr->m_address = base + offset; - n_unk_874_cntr->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_874_cntr); - - field_name = "body_part_878"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); - auto n_body_part_878 = new NodeVector; - n_body_part_878->m_field_name = field_name; - n_body_part_878->m_df_type = DF_Type::uint8_t; - n_body_part_878->m_rdf_type = RDF_Type::Vector; - n_body_part_878->m_node_type = NodeType::Vector; - n_body_part_878->m_addornements = "v"; - n_body_part_878->m_address = base + offset; - n_body_part_878->m_parent = p_node_parent; - n_body_part_878->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_body_part_878); - - field_name = "body_part_888"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); - auto n_body_part_888 = new NodeVector; - n_body_part_888->m_field_name = field_name; - n_body_part_888->m_df_type = DF_Type::uint8_t; - n_body_part_888->m_rdf_type = RDF_Type::Vector; - n_body_part_888->m_node_type = NodeType::Vector; - n_body_part_888->m_addornements = "v"; - n_body_part_888->m_address = base + offset; - n_body_part_888->m_parent = p_node_parent; - n_body_part_888->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_body_part_888); - - field_name = "body_part_relsize"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); - auto n_body_part_relsize = new NodeVector; - n_body_part_relsize->m_field_name = field_name; - n_body_part_relsize->m_df_type = DF_Type::int32_t; - n_body_part_relsize->m_rdf_type = RDF_Type::Vector; - n_body_part_relsize->m_node_type = NodeType::Vector; - n_body_part_relsize->m_addornements = "v"; - n_body_part_relsize->m_address = base + offset; - n_body_part_relsize->m_comment = "with modifiers"; - n_body_part_relsize->m_parent = p_node_parent; - n_body_part_relsize->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_body_part_relsize); - - field_name = "body_part_8a8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); - auto n_body_part_8a8 = new NodeVector; - n_body_part_8a8->m_field_name = field_name; - n_body_part_8a8->m_df_type = DF_Type::uint8_t; - n_body_part_8a8->m_rdf_type = RDF_Type::Vector; - n_body_part_8a8->m_node_type = NodeType::Vector; - n_body_part_8a8->m_addornements = "v"; - n_body_part_8a8->m_address = base + offset; - n_body_part_8a8->m_parent = p_node_parent; - n_body_part_8a8->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_body_part_8a8); - - field_name = "body_part_base_ins"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); - auto n_body_part_base_ins = new NodeVector; - n_body_part_base_ins->m_field_name = field_name; - n_body_part_base_ins->m_df_type = DF_Type::uint16_t; - n_body_part_base_ins->m_rdf_type = RDF_Type::Vector; - n_body_part_base_ins->m_node_type = NodeType::Vector; - n_body_part_base_ins->m_addornements = "v"; - n_body_part_base_ins->m_address = base + offset; - n_body_part_base_ins->m_parent = p_node_parent; - n_body_part_base_ins->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_body_part_base_ins); - - field_name = "body_part_clothing_ins"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); - auto n_body_part_clothing_ins = new NodeVector; - n_body_part_clothing_ins->m_field_name = field_name; - n_body_part_clothing_ins->m_df_type = DF_Type::uint16_t; - n_body_part_clothing_ins->m_rdf_type = RDF_Type::Vector; - n_body_part_clothing_ins->m_node_type = NodeType::Vector; - n_body_part_clothing_ins->m_addornements = "v"; - n_body_part_clothing_ins->m_address = base + offset; - n_body_part_clothing_ins->m_parent = p_node_parent; - n_body_part_clothing_ins->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_body_part_clothing_ins); - - field_name = "body_part_8d8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); - auto n_body_part_8d8 = new NodeVector; - n_body_part_8d8->m_field_name = field_name; - n_body_part_8d8->m_df_type = DF_Type::uint16_t; - n_body_part_8d8->m_rdf_type = RDF_Type::Vector; - n_body_part_8d8->m_node_type = NodeType::Vector; - n_body_part_8d8->m_addornements = "v"; - n_body_part_8d8->m_address = base + offset; - n_body_part_8d8->m_parent = p_node_parent; - n_body_part_8d8->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_body_part_8d8); - - field_name = "unk_8e8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); - auto n_unk_8e8 = new NodeVector; - n_unk_8e8->m_field_name = field_name; - n_unk_8e8->m_df_type = DF_Type::Void; - n_unk_8e8->m_rdf_type = RDF_Type::Vector; - n_unk_8e8->m_node_type = NodeType::Vector; - n_unk_8e8->m_addornements = "v"; - n_unk_8e8->m_address = base + offset; - n_unk_8e8->m_parent = p_node_parent; - n_unk_8e8->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_8e8); - - field_name = "unk_8f8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); - auto n_unk_8f8 = new NodeVector; - n_unk_8f8->m_field_name = field_name; - n_unk_8f8->m_df_type = DF_Type::uint16_t; - n_unk_8f8->m_rdf_type = RDF_Type::Vector; - n_unk_8f8->m_node_type = NodeType::Vector; - n_unk_8f8->m_addornements = "v"; - n_unk_8f8->m_address = base + offset; - n_unk_8f8->m_parent = p_node_parent; - n_unk_8f8->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_8f8); - -} -void node_from_unit(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "name"; - auto n_name = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::language_name; - n_name->m_rdf_type = RDF_Type::Struct; - n_name->m_node_type = NodeType::Compound; - n_name->m_address = base + offset; - n_name->m_defined_in = "df.language.xml"; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "custom_profession"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_custom_profession = new NodeSimple; - n_custom_profession->m_field_name = field_name; - n_custom_profession->m_df_type = DF_Type::Stl_string; - n_custom_profession->m_rdf_type = RDF_Type::Stl_string; - n_custom_profession->m_node_type = NodeType::Simple; - n_custom_profession->m_address = base + offset; - n_custom_profession->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_custom_profession); - - field_name = "profession"; - auto n_profession = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - n_profession->m_field_name = field_name; - n_profession->m_df_type = DF_Type::profession; - n_profession->m_rdf_type = RDF_Type::Enum; - n_profession->m_node_type = NodeType::Enum; - n_profession->m_base_type = DF_Type::int16_t; - n_profession->m_enum_type = "profession"; - n_profession->m_address = base + offset; - n_profession->m_defined_in = "df.skills.xml"; - n_profession->m_first_value = -1; - n_profession->m_last_value = 134; - n_profession->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_profession); - - field_name = "profession2"; - auto n_profession2 = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - n_profession2->m_field_name = field_name; - n_profession2->m_df_type = DF_Type::profession; - n_profession2->m_rdf_type = RDF_Type::Enum; - n_profession2->m_node_type = NodeType::Enum; - n_profession2->m_base_type = DF_Type::int16_t; - n_profession2->m_enum_type = "profession"; - n_profession2->m_address = base + offset; - n_profession2->m_defined_in = "df.skills.xml"; - n_profession2->m_first_value = -1; - n_profession2->m_last_value = 134; - n_profession2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_profession2); - - field_name = "race"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_race = new NodeSimple; - n_race->m_field_name = field_name; - n_race->m_df_type = DF_Type::int32_t; - n_race->m_rdf_type = RDF_Type::int32_t; - n_race->m_node_type = NodeType::Simple; - n_race->m_address = base + offset; - n_race->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_race); - - field_name = "pos"; - auto n_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - n_pos->m_field_name = field_name; - n_pos->m_df_type = DF_Type::coord; - n_pos->m_rdf_type = RDF_Type::Struct; - n_pos->m_node_type = NodeType::Compound; - n_pos->m_address = base + offset; - n_pos->m_defined_in = "df.map.xml"; - n_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pos); - - field_name = "idle_area"; - auto n_idle_area = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - n_idle_area->m_field_name = field_name; - n_idle_area->m_df_type = DF_Type::coord; - n_idle_area->m_rdf_type = RDF_Type::Struct; - n_idle_area->m_node_type = NodeType::Compound; - n_idle_area->m_address = base + offset; - n_idle_area->m_defined_in = "df.map.xml"; - n_idle_area->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_idle_area); - - field_name = "idle_area_threshold"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_idle_area_threshold = new NodeSimple; - n_idle_area_threshold->m_field_name = field_name; - n_idle_area_threshold->m_df_type = DF_Type::int32_t; - n_idle_area_threshold->m_rdf_type = RDF_Type::int32_t; - n_idle_area_threshold->m_node_type = NodeType::Simple; - n_idle_area_threshold->m_address = base + offset; - n_idle_area_threshold->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_idle_area_threshold); - - field_name = "idle_area_type"; - auto n_idle_area_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - n_idle_area_type->m_field_name = field_name; - n_idle_area_type->m_df_type = DF_Type::unit_station_type; - n_idle_area_type->m_rdf_type = RDF_Type::Enum; - n_idle_area_type->m_node_type = NodeType::Enum; - n_idle_area_type->m_base_type = DF_Type::int16_t; - n_idle_area_type->m_enum_type = "unit_station_type"; - n_idle_area_type->m_address = base + offset; - n_idle_area_type->m_defined_in = "df.pathfinding.xml"; - n_idle_area_type->m_first_value = -1; - n_idle_area_type->m_last_value = 41; - n_idle_area_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_idle_area_type); - - field_name = "follow_distance"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_follow_distance = new NodeSimple; - n_follow_distance->m_field_name = field_name; - n_follow_distance->m_df_type = DF_Type::int32_t; - n_follow_distance->m_rdf_type = RDF_Type::int32_t; - n_follow_distance->m_node_type = NodeType::Simple; - n_follow_distance->m_address = base + offset; - n_follow_distance->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_follow_distance); - - field_name = "path"; - auto n_path = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - n_path->m_field_name = field_name; - n_path->m_df_type = DF_Type::unit__T_path; - n_path->m_rdf_type = RDF_Type::Compound; - n_path->m_node_type = NodeType::Compound; - n_path->m_address = base + offset; - n_path->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_path); - - field_name = "flags1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_flags1 = new NodeBitfield; - n_flags1->m_field_name = field_name; - n_flags1->m_df_type = DF_Type::unit_flags1; - n_flags1->m_rdf_type = RDF_Type::Bitfield; - n_flags1->m_node_type = NodeType::Bitfield; - n_flags1->m_address = base + offset; - n_flags1->m_defined_in = "df.units.xml"; - n_flags1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags1); - - field_name = "flags2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_flags2 = new NodeBitfield; - n_flags2->m_field_name = field_name; - n_flags2->m_df_type = DF_Type::unit_flags2; - n_flags2->m_rdf_type = RDF_Type::Bitfield; - n_flags2->m_node_type = NodeType::Bitfield; - n_flags2->m_address = base + offset; - n_flags2->m_defined_in = "df.units.xml"; - n_flags2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags2); - - field_name = "flags3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_flags3 = new NodeBitfield; - n_flags3->m_field_name = field_name; - n_flags3->m_df_type = DF_Type::unit_flags3; - n_flags3->m_rdf_type = RDF_Type::Bitfield; - n_flags3->m_node_type = NodeType::Bitfield; - n_flags3->m_address = base + offset; - n_flags3->m_defined_in = "df.units.xml"; - n_flags3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags3); - - field_name = "flags4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_flags4 = new NodeBitfield; - n_flags4->m_field_name = field_name; - n_flags4->m_df_type = DF_Type::unit_flags4; - n_flags4->m_rdf_type = RDF_Type::Bitfield; - n_flags4->m_node_type = NodeType::Bitfield; - n_flags4->m_address = base + offset; - n_flags4->m_defined_in = "df.units.xml"; - n_flags4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags4); - - field_name = "meeting"; - auto n_meeting = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - n_meeting->m_field_name = field_name; - n_meeting->m_df_type = DF_Type::unit__T_meeting; - n_meeting->m_rdf_type = RDF_Type::Compound; - n_meeting->m_node_type = NodeType::Compound; - n_meeting->m_address = base + offset; - n_meeting->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_meeting); - - field_name = "caste"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_caste = new NodeSimple; - n_caste->m_field_name = field_name; - n_caste->m_df_type = DF_Type::int16_t; - n_caste->m_rdf_type = RDF_Type::int16_t; - n_caste->m_node_type = NodeType::Simple; - n_caste->m_address = base + offset; - n_caste->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_caste); - - field_name = "sex"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_sex = new NodeSimple; - n_sex->m_field_name = field_name; - n_sex->m_df_type = DF_Type::int8_t; - n_sex->m_rdf_type = RDF_Type::int8_t; - n_sex->m_node_type = NodeType::Simple; - n_sex->m_address = base + offset; - n_sex->m_comment = "-1 n/a, 0 female, 1 male"; - n_sex->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sex); - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "unk_100"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_unk_100 = new NodeSimple; - n_unk_100->m_field_name = field_name; - n_unk_100->m_df_type = DF_Type::int16_t; - n_unk_100->m_rdf_type = RDF_Type::int16_t; - n_unk_100->m_node_type = NodeType::Simple; - n_unk_100->m_address = base + offset; - n_unk_100->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_100); - - field_name = "training_level"; - auto n_training_level = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - n_training_level->m_field_name = field_name; - n_training_level->m_df_type = DF_Type::animal_training_level; - n_training_level->m_rdf_type = RDF_Type::Enum; - n_training_level->m_node_type = NodeType::Enum; - n_training_level->m_base_type = DF_Type::int32_t; - n_training_level->m_enum_type = "animal_training_level"; - n_training_level->m_address = base + offset; - n_training_level->m_defined_in = "df.units.xml"; - n_training_level->m_first_value = 0; - n_training_level->m_last_value = 9; - n_training_level->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_training_level); - - field_name = "schedule_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_schedule_id = new NodeSimple; - n_schedule_id->m_field_name = field_name; - n_schedule_id->m_df_type = DF_Type::int32_t; - n_schedule_id->m_rdf_type = RDF_Type::int32_t; - n_schedule_id->m_node_type = NodeType::Simple; - n_schedule_id->m_address = base + offset; - n_schedule_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_schedule_id); - - field_name = "civ_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_civ_id = new NodeSimple; - n_civ_id->m_field_name = field_name; - n_civ_id->m_df_type = DF_Type::int32_t; - n_civ_id->m_rdf_type = RDF_Type::int32_t; - n_civ_id->m_node_type = NodeType::Simple; - n_civ_id->m_address = base + offset; - n_civ_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_civ_id); - - field_name = "population_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_population_id = new NodeSimple; - n_population_id->m_field_name = field_name; - n_population_id->m_df_type = DF_Type::int32_t; - n_population_id->m_rdf_type = RDF_Type::int32_t; - n_population_id->m_node_type = NodeType::Simple; - n_population_id->m_address = base + offset; - n_population_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_population_id); - - field_name = "unk_c0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_unk_c0 = new NodeSimple; - n_unk_c0->m_field_name = field_name; - n_unk_c0->m_df_type = DF_Type::int32_t; - n_unk_c0->m_rdf_type = RDF_Type::int32_t; - n_unk_c0->m_node_type = NodeType::Simple; - n_unk_c0->m_address = base + offset; - n_unk_c0->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_c0); - - field_name = "cultural_identity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_cultural_identity = new NodeSimple; - n_cultural_identity->m_field_name = field_name; - n_cultural_identity->m_df_type = DF_Type::int32_t; - n_cultural_identity->m_rdf_type = RDF_Type::int32_t; - n_cultural_identity->m_node_type = NodeType::Simple; - n_cultural_identity->m_address = base + offset; - n_cultural_identity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cultural_identity); - - field_name = "invasion_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_invasion_id = new NodeSimple; - n_invasion_id->m_field_name = field_name; - n_invasion_id->m_df_type = DF_Type::int32_t; - n_invasion_id->m_rdf_type = RDF_Type::int32_t; - n_invasion_id->m_node_type = NodeType::Simple; - n_invasion_id->m_address = base + offset; - n_invasion_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_invasion_id); - - field_name = "patrol_route"; - auto n_patrol_route = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - n_patrol_route->m_field_name = field_name; - n_patrol_route->m_df_type = DF_Type::coord_path; - n_patrol_route->m_rdf_type = RDF_Type::Struct; - n_patrol_route->m_node_type = NodeType::Compound; - n_patrol_route->m_address = base + offset; - n_patrol_route->m_defined_in = "df.map.xml"; - n_patrol_route->m_comment = "used by necromancers for corpse locations, siegers etc"; - n_patrol_route->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_patrol_route); - - field_name = "patrol_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_patrol_index = new NodeSimple; - n_patrol_index->m_field_name = field_name; - n_patrol_index->m_df_type = DF_Type::int32_t; - n_patrol_index->m_rdf_type = RDF_Type::int32_t; - n_patrol_index->m_node_type = NodeType::Simple; - n_patrol_index->m_address = base + offset; - n_patrol_index->m_comment = "from 23a"; - n_patrol_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_patrol_index); - - field_name = "specific_refs"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_specific_refs = new NodeVector; - n_specific_refs->m_field_name = field_name; - n_specific_refs->m_df_type = DF_Type::specific_ref; - n_specific_refs->m_rdf_type = RDF_Type::Vector; - n_specific_refs->m_node_type = NodeType::Vector; - n_specific_refs->m_defined_in = "df.refs.xml"; - n_specific_refs->m_addornements = "v*"; - n_specific_refs->m_address = base + offset; - n_specific_refs->m_parent = p_node_parent; - n_specific_refs->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_specific_refs); - - field_name = "general_refs"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_general_refs = new NodeVector; - n_general_refs->m_field_name = field_name; - n_general_refs->m_df_type = DF_Type::general_ref; - n_general_refs->m_rdf_type = RDF_Type::Vector; - n_general_refs->m_node_type = NodeType::Vector; - n_general_refs->m_defined_in = "df.refs.xml"; - n_general_refs->m_addornements = "v*"; - n_general_refs->m_address = base + offset; - n_general_refs->m_parent = p_node_parent; - n_general_refs->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_general_refs); - - field_name = "military"; - auto n_military = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - n_military->m_field_name = field_name; - n_military->m_df_type = DF_Type::unit__T_military; - n_military->m_rdf_type = RDF_Type::Compound; - n_military->m_node_type = NodeType::Compound; - n_military->m_address = base + offset; - n_military->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_military); - - field_name = "social_activities"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_social_activities = new NodeVector; - n_social_activities->m_field_name = field_name; - n_social_activities->m_df_type = DF_Type::int32_t; - n_social_activities->m_rdf_type = RDF_Type::Vector; - n_social_activities->m_node_type = NodeType::Vector; - n_social_activities->m_addornements = "v"; - n_social_activities->m_address = base + offset; - n_social_activities->m_parent = p_node_parent; - n_social_activities->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_social_activities); - - field_name = "conversations"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_conversations = new NodeVector; - n_conversations->m_field_name = field_name; - n_conversations->m_df_type = DF_Type::int32_t; - n_conversations->m_rdf_type = RDF_Type::Vector; - n_conversations->m_node_type = NodeType::Vector; - n_conversations->m_addornements = "v"; - n_conversations->m_address = base + offset; - n_conversations->m_parent = p_node_parent; - n_conversations->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_conversations); - - field_name = "activities"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_activities = new NodeVector; - n_activities->m_field_name = field_name; - n_activities->m_df_type = DF_Type::int32_t; - n_activities->m_rdf_type = RDF_Type::Vector; - n_activities->m_node_type = NodeType::Vector; - n_activities->m_addornements = "v"; - n_activities->m_address = base + offset; - n_activities->m_parent = p_node_parent; - n_activities->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_activities); - - field_name = "unk_1e8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_unk_1e8 = new NodeVector; - n_unk_1e8->m_field_name = field_name; - n_unk_1e8->m_df_type = DF_Type::int32_t; - n_unk_1e8->m_rdf_type = RDF_Type::Vector; - n_unk_1e8->m_node_type = NodeType::Vector; - n_unk_1e8->m_addornements = "v"; - n_unk_1e8->m_address = base + offset; - n_unk_1e8->m_parent = p_node_parent; - n_unk_1e8->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_1e8); - - field_name = "animal"; - auto n_animal = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - n_animal->m_field_name = field_name; - n_animal->m_df_type = DF_Type::unit__T_animal; - n_animal->m_rdf_type = RDF_Type::Compound; - n_animal->m_node_type = NodeType::Compound; - n_animal->m_address = base + offset; - n_animal->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_animal); - - field_name = "opponent"; - auto n_opponent = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - n_opponent->m_field_name = field_name; - n_opponent->m_df_type = DF_Type::unit__T_opponent; - n_opponent->m_rdf_type = RDF_Type::Compound; - n_opponent->m_node_type = NodeType::Compound; - n_opponent->m_address = base + offset; - n_opponent->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_opponent); - - field_name = "mood"; - auto n_mood = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - n_mood->m_field_name = field_name; - n_mood->m_df_type = DF_Type::mood_type; - n_mood->m_rdf_type = RDF_Type::Enum; - n_mood->m_node_type = NodeType::Enum; - n_mood->m_base_type = DF_Type::int16_t; - n_mood->m_enum_type = "mood_type"; - n_mood->m_address = base + offset; - n_mood->m_defined_in = "df.units.xml"; - n_mood->m_first_value = -1; - n_mood->m_last_value = 9; - n_mood->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mood); - - field_name = "unk_18e"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_unk_18e = new NodeSimple; - n_unk_18e->m_field_name = field_name; - n_unk_18e->m_df_type = DF_Type::int16_t; - n_unk_18e->m_rdf_type = RDF_Type::int16_t; - n_unk_18e->m_node_type = NodeType::Simple; - n_unk_18e->m_address = base + offset; - n_unk_18e->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_18e); - - field_name = "pregnancy_timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_pregnancy_timer = new NodeSimple; - n_pregnancy_timer->m_field_name = field_name; - n_pregnancy_timer->m_df_type = DF_Type::uint32_t; - n_pregnancy_timer->m_rdf_type = RDF_Type::uint32_t; - n_pregnancy_timer->m_node_type = NodeType::Simple; - n_pregnancy_timer->m_address = base + offset; - n_pregnancy_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pregnancy_timer); - - field_name = "pregnancy_genes"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_pregnancy_genes = new NodePointer; - n_pregnancy_genes->m_field_name = field_name; - n_pregnancy_genes->m_df_type = get_real_subtype(base+offset, DF_Type::unit_genes); - n_pregnancy_genes->m_rdf_type = RDF_Type::Pointer; - n_pregnancy_genes->m_node_type = NodeType::Pointer; - n_pregnancy_genes->m_addornements = "*"; - n_pregnancy_genes->m_address = base + offset; - n_pregnancy_genes->m_comment = "genes from mate"; - n_pregnancy_genes->m_parent = p_node_parent; - n_pregnancy_genes->m_defined_in = "df.units.xml"; - n_pregnancy_genes->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_pregnancy_genes); - - field_name = "pregnancy_caste"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_pregnancy_caste = new NodeSimple; - n_pregnancy_caste->m_field_name = field_name; - n_pregnancy_caste->m_df_type = DF_Type::int16_t; - n_pregnancy_caste->m_rdf_type = RDF_Type::int16_t; - n_pregnancy_caste->m_node_type = NodeType::Simple; - n_pregnancy_caste->m_address = base + offset; - n_pregnancy_caste->m_comment = "caste of mate"; - n_pregnancy_caste->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pregnancy_caste); - - field_name = "pregnancy_spouse"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_pregnancy_spouse = new NodeSimple; - n_pregnancy_spouse->m_field_name = field_name; - n_pregnancy_spouse->m_df_type = DF_Type::int32_t; - n_pregnancy_spouse->m_rdf_type = RDF_Type::int32_t; - n_pregnancy_spouse->m_node_type = NodeType::Simple; - n_pregnancy_spouse->m_address = base + offset; - n_pregnancy_spouse->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pregnancy_spouse); - - field_name = "mood_copy"; - auto n_mood_copy = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - n_mood_copy->m_field_name = field_name; - n_mood_copy->m_df_type = DF_Type::mood_type; - n_mood_copy->m_rdf_type = RDF_Type::Enum; - n_mood_copy->m_node_type = NodeType::Enum; - n_mood_copy->m_base_type = DF_Type::int16_t; - n_mood_copy->m_enum_type = "mood_type"; - n_mood_copy->m_address = base + offset; - n_mood_copy->m_comment = "copied from mood type upon entering strange mood"; - n_mood_copy->m_defined_in = "df.units.xml"; - n_mood_copy->m_first_value = -1; - n_mood_copy->m_last_value = 9; - n_mood_copy->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mood_copy); - - field_name = "ghost_info"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_ghost_info = new NodePointer; - n_ghost_info->m_field_name = field_name; - n_ghost_info->m_df_type = get_real_subtype(base+offset, DF_Type::unit_ghost_info); - n_ghost_info->m_rdf_type = RDF_Type::Pointer; - n_ghost_info->m_node_type = NodeType::Pointer; - n_ghost_info->m_addornements = "*"; - n_ghost_info->m_address = base + offset; - n_ghost_info->m_parent = p_node_parent; - n_ghost_info->m_defined_in = "df.units.xml"; - n_ghost_info->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_ghost_info); - - field_name = "unk_9"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_unk_9 = new NodeSimple; - n_unk_9->m_field_name = field_name; - n_unk_9->m_df_type = DF_Type::int32_t; - n_unk_9->m_rdf_type = RDF_Type::int32_t; - n_unk_9->m_node_type = NodeType::Simple; - n_unk_9->m_address = base + offset; - n_unk_9->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_9); - - field_name = "birth_year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_birth_year = new NodeSimple; - n_birth_year->m_field_name = field_name; - n_birth_year->m_df_type = DF_Type::int32_t; - n_birth_year->m_rdf_type = RDF_Type::int32_t; - n_birth_year->m_node_type = NodeType::Simple; - n_birth_year->m_address = base + offset; - n_birth_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_birth_year); - - field_name = "birth_time"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_birth_time = new NodeSimple; - n_birth_time->m_field_name = field_name; - n_birth_time->m_df_type = DF_Type::int32_t; - n_birth_time->m_rdf_type = RDF_Type::int32_t; - n_birth_time->m_node_type = NodeType::Simple; - n_birth_time->m_address = base + offset; - n_birth_time->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_birth_time); - - field_name = "curse_year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_curse_year = new NodeSimple; - n_curse_year->m_field_name = field_name; - n_curse_year->m_df_type = DF_Type::int32_t; - n_curse_year->m_rdf_type = RDF_Type::int32_t; - n_curse_year->m_node_type = NodeType::Simple; - n_curse_year->m_address = base + offset; - n_curse_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_curse_year); - - field_name = "curse_time"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_curse_time = new NodeSimple; - n_curse_time->m_field_name = field_name; - n_curse_time->m_df_type = DF_Type::int32_t; - n_curse_time->m_rdf_type = RDF_Type::int32_t; - n_curse_time->m_node_type = NodeType::Simple; - n_curse_time->m_address = base + offset; - n_curse_time->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_curse_time); - - field_name = "birth_year_bias"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_birth_year_bias = new NodeSimple; - n_birth_year_bias->m_field_name = field_name; - n_birth_year_bias->m_df_type = DF_Type::int32_t; - n_birth_year_bias->m_rdf_type = RDF_Type::int32_t; - n_birth_year_bias->m_node_type = NodeType::Simple; - n_birth_year_bias->m_address = base + offset; - n_birth_year_bias->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_birth_year_bias); - - field_name = "birth_time_bias"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_birth_time_bias = new NodeSimple; - n_birth_time_bias->m_field_name = field_name; - n_birth_time_bias->m_df_type = DF_Type::int32_t; - n_birth_time_bias->m_rdf_type = RDF_Type::int32_t; - n_birth_time_bias->m_node_type = NodeType::Simple; - n_birth_time_bias->m_address = base + offset; - n_birth_time_bias->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_birth_time_bias); - - field_name = "old_year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_old_year = new NodeSimple; - n_old_year->m_field_name = field_name; - n_old_year->m_df_type = DF_Type::int32_t; - n_old_year->m_rdf_type = RDF_Type::int32_t; - n_old_year->m_node_type = NodeType::Simple; - n_old_year->m_address = base + offset; - n_old_year->m_comment = "could there be a death of old age time??"; - n_old_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_old_year); - - field_name = "old_time"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_old_time = new NodeSimple; - n_old_time->m_field_name = field_name; - n_old_time->m_df_type = DF_Type::int32_t; - n_old_time->m_rdf_type = RDF_Type::int32_t; - n_old_time->m_node_type = NodeType::Simple; - n_old_time->m_address = base + offset; - n_old_time->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_old_time); - - field_name = "following"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_following = new NodePointer; - n_following->m_field_name = field_name; - n_following->m_df_type = get_real_subtype(base+offset, DF_Type::unit); - n_following->m_rdf_type = RDF_Type::Pointer; - n_following->m_node_type = NodeType::Pointer; - n_following->m_addornements = "*"; - n_following->m_address = base + offset; - n_following->m_parent = p_node_parent; - n_following->m_defined_in = "df.units.xml"; - n_following->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_following); - - field_name = "unk_238"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_unk_238 = new NodeSimple; - n_unk_238->m_field_name = field_name; - n_unk_238->m_df_type = DF_Type::uint16_t; - n_unk_238->m_rdf_type = RDF_Type::uint16_t; - n_unk_238->m_node_type = NodeType::Simple; - n_unk_238->m_address = base + offset; - n_unk_238->m_comment = "invalid unless following"; - n_unk_238->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_238); - - field_name = "relationship_ids"; - auto n_relationship_ids = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - n_relationship_ids->m_field_name = field_name; - n_relationship_ids->m_df_type = DF_Type::int32_t; - n_relationship_ids->m_rdf_type = RDF_Type::Array; - n_relationship_ids->m_node_type = NodeType::Array; - n_relationship_ids->m_index_enum = DF_Type::unit_relationship_type; - n_relationship_ids->m_addornements = "[10"; - n_relationship_ids->m_array_size = 10; - n_relationship_ids->m_address = base + offset; - n_relationship_ids->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_relationship_ids); - - field_name = "mount_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_mount_type = new NodeSimple; - n_mount_type->m_field_name = field_name; - n_mount_type->m_df_type = DF_Type::int16_t; - n_mount_type->m_rdf_type = RDF_Type::int16_t; - n_mount_type->m_node_type = NodeType::Simple; - n_mount_type->m_address = base + offset; - n_mount_type->m_comment = "0 = riding, 1 = being carried, 2/3 = wagon horses, 4 = wagon merchant"; - n_mount_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mount_type); - - field_name = "last_hit"; - auto n_last_hit = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - n_last_hit->m_field_name = field_name; - n_last_hit->m_df_type = DF_Type::history_hit_item; - n_last_hit->m_rdf_type = RDF_Type::Struct; - n_last_hit->m_node_type = NodeType::Compound; - n_last_hit->m_address = base + offset; - n_last_hit->m_defined_in = "df.history.xml"; - n_last_hit->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_last_hit); - - field_name = "riding_item_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_riding_item_id = new NodeSimple; - n_riding_item_id->m_field_name = field_name; - n_riding_item_id->m_df_type = DF_Type::int32_t; - n_riding_item_id->m_rdf_type = RDF_Type::int32_t; - n_riding_item_id->m_node_type = NodeType::Simple; - n_riding_item_id->m_address = base + offset; - n_riding_item_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_riding_item_id); - - field_name = "inventory"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_inventory = new NodeVector; - n_inventory->m_field_name = field_name; - n_inventory->m_df_type = DF_Type::unit_inventory_item; - n_inventory->m_rdf_type = RDF_Type::Vector; - n_inventory->m_node_type = NodeType::Vector; - n_inventory->m_defined_in = "df.units.xml"; - n_inventory->m_addornements = "v*"; - n_inventory->m_address = base + offset; - n_inventory->m_parent = p_node_parent; - n_inventory->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_inventory); - - field_name = "owned_items"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_owned_items = new NodeVector; - n_owned_items->m_field_name = field_name; - n_owned_items->m_df_type = DF_Type::int32_t; - n_owned_items->m_rdf_type = RDF_Type::Vector; - n_owned_items->m_node_type = NodeType::Vector; - n_owned_items->m_addornements = "v"; - n_owned_items->m_address = base + offset; - n_owned_items->m_parent = p_node_parent; - n_owned_items->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_owned_items); - - field_name = "traded_items"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_traded_items = new NodeVector; - n_traded_items->m_field_name = field_name; - n_traded_items->m_df_type = DF_Type::int32_t; - n_traded_items->m_rdf_type = RDF_Type::Vector; - n_traded_items->m_node_type = NodeType::Vector; - n_traded_items->m_addornements = "v"; - n_traded_items->m_address = base + offset; - n_traded_items->m_comment = "items brought to trade depot"; - n_traded_items->m_parent = p_node_parent; - n_traded_items->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_traded_items); - - field_name = "owned_buildings"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_owned_buildings = new NodeVector; - n_owned_buildings->m_field_name = field_name; - n_owned_buildings->m_df_type = DF_Type::building; - n_owned_buildings->m_rdf_type = RDF_Type::Vector; - n_owned_buildings->m_node_type = NodeType::Vector; - n_owned_buildings->m_defined_in = "df.buildings.xml"; - n_owned_buildings->m_addornements = "v*"; - n_owned_buildings->m_address = base + offset; - n_owned_buildings->m_parent = p_node_parent; - n_owned_buildings->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_owned_buildings); - - field_name = "corpse_parts"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_corpse_parts = new NodeVector; - n_corpse_parts->m_field_name = field_name; - n_corpse_parts->m_df_type = DF_Type::int32_t; - n_corpse_parts->m_rdf_type = RDF_Type::Vector; - n_corpse_parts->m_node_type = NodeType::Vector; - n_corpse_parts->m_addornements = "v"; - n_corpse_parts->m_address = base + offset; - n_corpse_parts->m_comment = "entries remain even when items are destroyed"; - n_corpse_parts->m_parent = p_node_parent; - n_corpse_parts->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_corpse_parts); - - field_name = "job"; - auto n_job = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - n_job->m_field_name = field_name; - n_job->m_df_type = DF_Type::unit__T_job; - n_job->m_rdf_type = RDF_Type::Compound; - n_job->m_node_type = NodeType::Compound; - n_job->m_address = base + offset; - n_job->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_job); - - field_name = "body"; - auto n_body = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - n_body->m_field_name = field_name; - n_body->m_df_type = DF_Type::unit__T_body; - n_body->m_rdf_type = RDF_Type::Compound; - n_body->m_node_type = NodeType::Compound; - n_body->m_address = base + offset; - n_body->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_body); - - field_name = "appearance"; - auto n_appearance = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - n_appearance->m_field_name = field_name; - n_appearance->m_df_type = DF_Type::unit__T_appearance; - n_appearance->m_rdf_type = RDF_Type::Compound; - n_appearance->m_node_type = NodeType::Compound; - n_appearance->m_address = base + offset; - n_appearance->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_appearance); - - field_name = "actions"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_actions = new NodeVector; - n_actions->m_field_name = field_name; - n_actions->m_df_type = DF_Type::unit_action; - n_actions->m_rdf_type = RDF_Type::Vector; - n_actions->m_node_type = NodeType::Vector; - n_actions->m_defined_in = "df.units.xml"; - n_actions->m_addornements = "v*"; - n_actions->m_address = base + offset; - n_actions->m_parent = p_node_parent; - n_actions->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_actions); - - field_name = "next_action_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_next_action_id = new NodeSimple; - n_next_action_id->m_field_name = field_name; - n_next_action_id->m_df_type = DF_Type::int32_t; - n_next_action_id->m_rdf_type = RDF_Type::int32_t; - n_next_action_id->m_node_type = NodeType::Simple; - n_next_action_id->m_address = base + offset; - n_next_action_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_next_action_id); - - field_name = "counters"; - auto n_counters = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - n_counters->m_field_name = field_name; - n_counters->m_df_type = DF_Type::unit__T_counters; - n_counters->m_rdf_type = RDF_Type::Compound; - n_counters->m_node_type = NodeType::Compound; - n_counters->m_address = base + offset; - n_counters->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_counters); - - field_name = "curse"; - auto n_curse = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - n_curse->m_field_name = field_name; - n_curse->m_df_type = DF_Type::unit__T_curse; - n_curse->m_rdf_type = RDF_Type::Compound; - n_curse->m_node_type = NodeType::Compound; - n_curse->m_address = base + offset; - n_curse->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_curse); - - field_name = "counters2"; - auto n_counters2 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - n_counters2->m_field_name = field_name; - n_counters2->m_df_type = DF_Type::unit__T_counters2; - n_counters2->m_rdf_type = RDF_Type::Compound; - n_counters2->m_node_type = NodeType::Compound; - n_counters2->m_address = base + offset; - n_counters2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_counters2); - - field_name = "status"; - auto n_status = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - n_status->m_field_name = field_name; - n_status->m_df_type = DF_Type::unit__T_status; - n_status->m_rdf_type = RDF_Type::Compound; - n_status->m_node_type = NodeType::Compound; - n_status->m_address = base + offset; - n_status->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_status); - - field_name = "hist_figure_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_hist_figure_id = new NodeSimple; - n_hist_figure_id->m_field_name = field_name; - n_hist_figure_id->m_df_type = DF_Type::int32_t; - n_hist_figure_id->m_rdf_type = RDF_Type::int32_t; - n_hist_figure_id->m_node_type = NodeType::Simple; - n_hist_figure_id->m_address = base + offset; - n_hist_figure_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_hist_figure_id); - - field_name = "hist_figure_id2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_hist_figure_id2 = new NodeSimple; - n_hist_figure_id2->m_field_name = field_name; - n_hist_figure_id2->m_df_type = DF_Type::int32_t; - n_hist_figure_id2->m_rdf_type = RDF_Type::int32_t; - n_hist_figure_id2->m_node_type = NodeType::Simple; - n_hist_figure_id2->m_address = base + offset; - n_hist_figure_id2->m_comment = "used for ghost in AttackedByDead thought"; - n_hist_figure_id2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_hist_figure_id2); - - field_name = "status2"; - auto n_status2 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - n_status2->m_field_name = field_name; - n_status2->m_df_type = DF_Type::unit__T_status2; - n_status2->m_rdf_type = RDF_Type::Compound; - n_status2->m_node_type = NodeType::Compound; - n_status2->m_address = base + offset; - n_status2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_status2); - - field_name = "unknown7"; - auto n_unknown7 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - n_unknown7->m_field_name = field_name; - n_unknown7->m_df_type = DF_Type::unit__T_unknown7; - n_unknown7->m_rdf_type = RDF_Type::Compound; - n_unknown7->m_node_type = NodeType::Compound; - n_unknown7->m_address = base + offset; - n_unknown7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unknown7); - - field_name = "syndromes"; - auto n_syndromes = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - n_syndromes->m_field_name = field_name; - n_syndromes->m_df_type = DF_Type::unit__T_syndromes; - n_syndromes->m_rdf_type = RDF_Type::Compound; - n_syndromes->m_node_type = NodeType::Compound; - n_syndromes->m_address = base + offset; - n_syndromes->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_syndromes); - - field_name = "reports"; - auto n_reports = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - n_reports->m_field_name = field_name; - n_reports->m_df_type = DF_Type::unit__T_reports; - n_reports->m_rdf_type = RDF_Type::Compound; - n_reports->m_node_type = NodeType::Compound; - n_reports->m_address = base + offset; - n_reports->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_reports); - - field_name = "health"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_health = new NodePointer; - n_health->m_field_name = field_name; - n_health->m_df_type = get_real_subtype(base+offset, DF_Type::unit_health_info); - n_health->m_rdf_type = RDF_Type::Pointer; - n_health->m_node_type = NodeType::Pointer; - n_health->m_addornements = "*"; - n_health->m_address = base + offset; - n_health->m_parent = p_node_parent; - n_health->m_defined_in = "df.units.xml"; - n_health->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_health); - - field_name = "used_items"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_used_items = new NodeVector; - n_used_items->m_field_name = field_name; - n_used_items->m_df_type = DF_Type::unit_item_use; - n_used_items->m_rdf_type = RDF_Type::Vector; - n_used_items->m_node_type = NodeType::Vector; - n_used_items->m_defined_in = "df.units.xml"; - n_used_items->m_addornements = "v*"; - n_used_items->m_address = base + offset; - n_used_items->m_comment = "Contains worn clothes, armor, weapons, arrows fired by archers"; - n_used_items->m_parent = p_node_parent; - n_used_items->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_used_items); - - field_name = "enemy"; - auto n_enemy = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - n_enemy->m_field_name = field_name; - n_enemy->m_df_type = DF_Type::unit__T_enemy; - n_enemy->m_rdf_type = RDF_Type::Compound; - n_enemy->m_node_type = NodeType::Compound; - n_enemy->m_address = base + offset; - n_enemy->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_enemy); - - field_name = "healing_rate"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_healing_rate = new NodeVector; - n_healing_rate->m_field_name = field_name; - n_healing_rate->m_df_type = DF_Type::int32_t; - n_healing_rate->m_rdf_type = RDF_Type::Vector; - n_healing_rate->m_node_type = NodeType::Vector; - n_healing_rate->m_addornements = "v"; - n_healing_rate->m_address = base + offset; - n_healing_rate->m_parent = p_node_parent; - n_healing_rate->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_healing_rate); - - field_name = "effective_rate"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_effective_rate = new NodeSimple; - n_effective_rate->m_field_name = field_name; - n_effective_rate->m_df_type = DF_Type::int32_t; - n_effective_rate->m_rdf_type = RDF_Type::int32_t; - n_effective_rate->m_node_type = NodeType::Simple; - n_effective_rate->m_address = base + offset; - n_effective_rate->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_effective_rate); - - field_name = "tendons_heal"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_tendons_heal = new NodeSimple; - n_tendons_heal->m_field_name = field_name; - n_tendons_heal->m_df_type = DF_Type::int32_t; - n_tendons_heal->m_rdf_type = RDF_Type::int32_t; - n_tendons_heal->m_node_type = NodeType::Simple; - n_tendons_heal->m_address = base + offset; - n_tendons_heal->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tendons_heal); - - field_name = "ligaments_heal"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_ligaments_heal = new NodeSimple; - n_ligaments_heal->m_field_name = field_name; - n_ligaments_heal->m_df_type = DF_Type::int32_t; - n_ligaments_heal->m_rdf_type = RDF_Type::int32_t; - n_ligaments_heal->m_node_type = NodeType::Simple; - n_ligaments_heal->m_address = base + offset; - n_ligaments_heal->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ligaments_heal); - - field_name = "weight"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_weight = new NodeSimple; - n_weight->m_field_name = field_name; - n_weight->m_df_type = DF_Type::int32_t; - n_weight->m_rdf_type = RDF_Type::int32_t; - n_weight->m_node_type = NodeType::Simple; - n_weight->m_address = base + offset; - n_weight->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_weight); - - field_name = "weight_fraction"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_weight_fraction = new NodeSimple; - n_weight_fraction->m_field_name = field_name; - n_weight_fraction->m_df_type = DF_Type::int32_t; - n_weight_fraction->m_rdf_type = RDF_Type::int32_t; - n_weight_fraction->m_node_type = NodeType::Simple; - n_weight_fraction->m_address = base + offset; - n_weight_fraction->m_comment = "1e-6"; - n_weight_fraction->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_weight_fraction); - - field_name = "burrows"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_burrows = new NodeVector; - n_burrows->m_field_name = field_name; - n_burrows->m_df_type = DF_Type::int32_t; - n_burrows->m_rdf_type = RDF_Type::Vector; - n_burrows->m_node_type = NodeType::Vector; - n_burrows->m_addornements = "v"; - n_burrows->m_address = base + offset; - n_burrows->m_parent = p_node_parent; - n_burrows->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_burrows); - - field_name = "vision_cone"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_vision_cone = new NodePointer; - n_vision_cone->m_field_name = field_name; - n_vision_cone->m_df_type = get_real_subtype(base+offset, DF_Type::int8_t); - n_vision_cone->m_rdf_type = RDF_Type::Pointer; - n_vision_cone->m_node_type = NodeType::Pointer; - n_vision_cone->m_addornements = "*[21[21"; - n_vision_cone->m_address = base + offset; - n_vision_cone->m_parent = p_node_parent; - n_vision_cone->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_vision_cone); - - field_name = "occupations"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_occupations = new NodeVector; - n_occupations->m_field_name = field_name; - n_occupations->m_df_type = DF_Type::occupation; - n_occupations->m_rdf_type = RDF_Type::Vector; - n_occupations->m_node_type = NodeType::Vector; - n_occupations->m_defined_in = "df.art.xml"; - n_occupations->m_addornements = "v*"; - n_occupations->m_address = base + offset; - n_occupations->m_parent = p_node_parent; - n_occupations->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_occupations); - - field_name = "adjective"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); - auto n_adjective = new NodeSimple; - n_adjective->m_field_name = field_name; - n_adjective->m_df_type = DF_Type::Stl_string; - n_adjective->m_rdf_type = RDF_Type::Stl_string; - n_adjective->m_node_type = NodeType::Simple; - n_adjective->m_address = base + offset; - n_adjective->m_comment = "from physical descriptions for use in adv"; - n_adjective->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_adjective); - -} -void node_from_unit_ghost_info__T_target(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = true) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unit"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_ghost_info__T_target, field_name)); - auto n_unit = new NodeSimple; - n_unit->m_field_name = field_name; - n_unit->m_df_type = DF_Type::int32_t; - n_unit->m_rdf_type = RDF_Type::int32_t; - n_unit->m_node_type = NodeType::Simple; - n_unit->m_address = base + offset; - n_unit->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unit); - - field_name = "item"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_ghost_info__T_target, field_name)); - auto n_item = new NodeSimple; - n_item->m_field_name = field_name; - n_item->m_df_type = DF_Type::int32_t; - n_item->m_rdf_type = RDF_Type::int32_t; - n_item->m_node_type = NodeType::Simple; - n_item->m_address = base + offset; - n_item->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item); - - field_name = "building"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_ghost_info__T_target, field_name)); - auto n_building = new NodeSimple; - n_building->m_field_name = field_name; - n_building->m_df_type = DF_Type::int32_t; - n_building->m_rdf_type = RDF_Type::int32_t; - n_building->m_node_type = NodeType::Simple; - n_building->m_address = base + offset; - n_building->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_building); - -} -void node_from_unit_ghost_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "type"; - auto n_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_ghost_info, field_name)); - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::ghost_type; - n_type->m_rdf_type = RDF_Type::Enum; - n_type->m_node_type = NodeType::Enum; - n_type->m_base_type = DF_Type::int16_t; - n_type->m_enum_type = "ghost_type"; - n_type->m_address = base + offset; - n_type->m_defined_in = "df.units.xml"; - n_type->m_first_value = 0; - n_type->m_last_value = 10; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - - field_name = "type2"; - auto n_type2 = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_ghost_info, field_name)); - n_type2->m_field_name = field_name; - n_type2->m_df_type = DF_Type::ghost_type; - n_type2->m_rdf_type = RDF_Type::Enum; - n_type2->m_node_type = NodeType::Enum; - n_type2->m_base_type = DF_Type::int16_t; - n_type2->m_enum_type = "ghost_type"; - n_type2->m_address = base + offset; - n_type2->m_comment = "seems to have same value as type"; - n_type2->m_defined_in = "df.units.xml"; - n_type2->m_first_value = 0; - n_type2->m_last_value = 10; - n_type2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type2); - - field_name = "goal"; - auto n_goal = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_ghost_info, field_name)); - n_goal->m_field_name = field_name; - n_goal->m_df_type = DF_Type::ghost_goal; - n_goal->m_rdf_type = RDF_Type::Enum; - n_goal->m_node_type = NodeType::Enum; - n_goal->m_base_type = DF_Type::int16_t; - n_goal->m_enum_type = "ghost_goal"; - n_goal->m_address = base + offset; - n_goal->m_defined_in = "df.units.xml"; - n_goal->m_first_value = -1; - n_goal->m_last_value = 7; - n_goal->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_goal); - - field_name = "target"; - auto n_target = new NodeUnion; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_ghost_info, field_name)); - n_target->m_field_name = field_name; - n_target->m_df_type = DF_Type::unit_ghost_info__T_target; - n_target->m_rdf_type = RDF_Type::Union; - n_target->m_node_type = NodeType::Union; - n_target->m_address = base + offset; - n_target->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_target); - - field_name = "misplace_pos"; - auto n_misplace_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_ghost_info, field_name)); - n_misplace_pos->m_field_name = field_name; - n_misplace_pos->m_df_type = DF_Type::coord; - n_misplace_pos->m_rdf_type = RDF_Type::Struct; - n_misplace_pos->m_node_type = NodeType::Compound; - n_misplace_pos->m_address = base + offset; - n_misplace_pos->m_defined_in = "df.map.xml"; - n_misplace_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_misplace_pos); - - field_name = "action_timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_ghost_info, field_name)); - auto n_action_timer = new NodeSimple; - n_action_timer->m_field_name = field_name; - n_action_timer->m_df_type = DF_Type::int32_t; - n_action_timer->m_rdf_type = RDF_Type::int32_t; - n_action_timer->m_node_type = NodeType::Simple; - n_action_timer->m_address = base + offset; - n_action_timer->m_comment = "time since last action"; - n_action_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_action_timer); - - field_name = "unk_18"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_ghost_info, field_name)); - auto n_unk_18 = new NodeSimple; - n_unk_18->m_field_name = field_name; - n_unk_18->m_df_type = DF_Type::int32_t; - n_unk_18->m_rdf_type = RDF_Type::int32_t; - n_unk_18->m_node_type = NodeType::Simple; - n_unk_18->m_address = base + offset; - n_unk_18->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_18); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_ghost_info, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::unit_ghost_info__T_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "death_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_ghost_info, field_name)); - auto n_death_x = new NodeSimple; - n_death_x->m_field_name = field_name; - n_death_x->m_df_type = DF_Type::int32_t; - n_death_x->m_rdf_type = RDF_Type::int32_t; - n_death_x->m_node_type = NodeType::Simple; - n_death_x->m_address = base + offset; - n_death_x->m_comment = "in tiles, global to world"; - n_death_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_death_x); - - field_name = "death_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_ghost_info, field_name)); - auto n_death_y = new NodeSimple; - n_death_y->m_field_name = field_name; - n_death_y->m_df_type = DF_Type::int32_t; - n_death_y->m_rdf_type = RDF_Type::int32_t; - n_death_y->m_node_type = NodeType::Simple; - n_death_y->m_address = base + offset; - n_death_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_death_y); - - field_name = "death_z"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_ghost_info, field_name)); - auto n_death_z = new NodeSimple; - n_death_z->m_field_name = field_name; - n_death_z->m_df_type = DF_Type::int32_t; - n_death_z->m_rdf_type = RDF_Type::int32_t; - n_death_z->m_node_type = NodeType::Simple; - n_death_z->m_address = base + offset; - n_death_z->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_death_z); - -} -void node_from_unit_inventory_item(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "item"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_inventory_item, field_name)); - auto n_item = new NodePointer; - n_item->m_field_name = field_name; - n_item->m_df_type = get_real_subtype(base+offset, DF_Type::item); - n_item->m_rdf_type = RDF_Type::Pointer; - n_item->m_node_type = NodeType::Pointer; - n_item->m_addornements = "*"; - n_item->m_address = base + offset; - n_item->m_parent = p_node_parent; - n_item->m_defined_in = "df.items.xml"; - n_item->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_item); - - field_name = "mode"; - auto n_mode = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_inventory_item, field_name)); - n_mode->m_field_name = field_name; - n_mode->m_df_type = DF_Type::unit_inventory_item__T_mode; - n_mode->m_rdf_type = RDF_Type::Enum; - n_mode->m_node_type = NodeType::Enum; - n_mode->m_base_type = DF_Type::int16_t; - n_mode->m_enum_type = "unit_inventory_item::T_mode"; - n_mode->m_address = base + offset; - n_mode->m_first_value = 0; - n_mode->m_last_value = 10; - n_mode->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mode); - - field_name = "body_part_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_inventory_item, field_name)); - auto n_body_part_id = new NodeSimple; - n_body_part_id->m_field_name = field_name; - n_body_part_id->m_df_type = DF_Type::int16_t; - n_body_part_id->m_rdf_type = RDF_Type::int16_t; - n_body_part_id->m_node_type = NodeType::Simple; - n_body_part_id->m_address = base + offset; - n_body_part_id->m_refers_to = "$$._global._parent._global.body.body_plan.body_parts[$]"; - n_body_part_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_body_part_id); - - field_name = "pet_seed"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_inventory_item, field_name)); - auto n_pet_seed = new NodeSimple; - n_pet_seed->m_field_name = field_name; - n_pet_seed->m_df_type = DF_Type::int32_t; - n_pet_seed->m_rdf_type = RDF_Type::int32_t; - n_pet_seed->m_node_type = NodeType::Simple; - n_pet_seed->m_address = base + offset; - n_pet_seed->m_comment = "RNG seed for Pet mode"; - n_pet_seed->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pet_seed); - - field_name = "wound_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_inventory_item, field_name)); - auto n_wound_id = new NodeSimple; - n_wound_id->m_field_name = field_name; - n_wound_id->m_df_type = DF_Type::int32_t; - n_wound_id->m_rdf_type = RDF_Type::int32_t; - n_wound_id->m_node_type = NodeType::Simple; - n_wound_id->m_address = base + offset; - n_wound_id->m_comment = "-1 unless suture"; - n_wound_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_wound_id); - -} -void node_from_unit_syndrome__T_symptoms(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "quantity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_syndrome__T_symptoms, field_name)); - auto n_quantity = new NodeSimple; - n_quantity->m_field_name = field_name; - n_quantity->m_df_type = DF_Type::int32_t; - n_quantity->m_rdf_type = RDF_Type::int32_t; - n_quantity->m_node_type = NodeType::Simple; - n_quantity->m_address = base + offset; - n_quantity->m_comment = "from spatter size"; - n_quantity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_quantity); - - field_name = "delay"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_syndrome__T_symptoms, field_name)); - auto n_delay = new NodeSimple; - n_delay->m_field_name = field_name; - n_delay->m_df_type = DF_Type::int32_t; - n_delay->m_rdf_type = RDF_Type::int32_t; - n_delay->m_node_type = NodeType::Simple; - n_delay->m_address = base + offset; - n_delay->m_comment = "for SIZE_DELAYS"; - n_delay->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_delay); - - field_name = "ticks"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_syndrome__T_symptoms, field_name)); - auto n_ticks = new NodeSimple; - n_ticks->m_field_name = field_name; - n_ticks->m_df_type = DF_Type::int32_t; - n_ticks->m_rdf_type = RDF_Type::int32_t; - n_ticks->m_node_type = NodeType::Simple; - n_ticks->m_address = base + offset; - n_ticks->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ticks); - - field_name = "target_bp"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_syndrome__T_symptoms, field_name)); - auto n_target_bp = new NodeVector; - n_target_bp->m_field_name = field_name; - n_target_bp->m_df_type = DF_Type::int16_t; - n_target_bp->m_rdf_type = RDF_Type::Vector; - n_target_bp->m_node_type = NodeType::Vector; - n_target_bp->m_addornements = "v"; - n_target_bp->m_address = base + offset; - n_target_bp->m_parent = p_node_parent; - n_target_bp->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_target_bp); - - field_name = "target_layer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_syndrome__T_symptoms, field_name)); - auto n_target_layer = new NodeVector; - n_target_layer->m_field_name = field_name; - n_target_layer->m_df_type = DF_Type::int16_t; - n_target_layer->m_rdf_type = RDF_Type::Vector; - n_target_layer->m_node_type = NodeType::Vector; - n_target_layer->m_addornements = "v"; - n_target_layer->m_address = base + offset; - n_target_layer->m_parent = p_node_parent; - n_target_layer->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_target_layer); - - field_name = "target_quantity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_syndrome__T_symptoms, field_name)); - auto n_target_quantity = new NodeVector; - n_target_quantity->m_field_name = field_name; - n_target_quantity->m_df_type = DF_Type::int32_t; - n_target_quantity->m_rdf_type = RDF_Type::Vector; - n_target_quantity->m_node_type = NodeType::Vector; - n_target_quantity->m_addornements = "v"; - n_target_quantity->m_address = base + offset; - n_target_quantity->m_parent = p_node_parent; - n_target_quantity->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_target_quantity); - - field_name = "target_delay"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_syndrome__T_symptoms, field_name)); - auto n_target_delay = new NodeVector; - n_target_delay->m_field_name = field_name; - n_target_delay->m_df_type = DF_Type::int32_t; - n_target_delay->m_rdf_type = RDF_Type::Vector; - n_target_delay->m_node_type = NodeType::Vector; - n_target_delay->m_addornements = "v"; - n_target_delay->m_address = base + offset; - n_target_delay->m_parent = p_node_parent; - n_target_delay->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_target_delay); - - field_name = "target_ticks"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_syndrome__T_symptoms, field_name)); - auto n_target_ticks = new NodeVector; - n_target_ticks->m_field_name = field_name; - n_target_ticks->m_df_type = DF_Type::int32_t; - n_target_ticks->m_rdf_type = RDF_Type::Vector; - n_target_ticks->m_node_type = NodeType::Vector; - n_target_ticks->m_addornements = "v"; - n_target_ticks->m_address = base + offset; - n_target_ticks->m_parent = p_node_parent; - n_target_ticks->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_target_ticks); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_syndrome__T_symptoms, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::unit_syndrome__T_symptoms__T_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - -} -void node_from_unit_syndrome(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_syndrome, field_name)); - auto n_type = new NodeSimple; - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::int32_t; - n_type->m_rdf_type = RDF_Type::int32_t; - n_type->m_node_type = NodeType::Simple; - n_type->m_address = base + offset; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - - field_name = "year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_syndrome, field_name)); - auto n_year = new NodeSimple; - n_year->m_field_name = field_name; - n_year->m_df_type = DF_Type::int32_t; - n_year->m_rdf_type = RDF_Type::int32_t; - n_year->m_node_type = NodeType::Simple; - n_year->m_address = base + offset; - n_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_year); - - field_name = "year_time"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_syndrome, field_name)); - auto n_year_time = new NodeSimple; - n_year_time->m_field_name = field_name; - n_year_time->m_df_type = DF_Type::int32_t; - n_year_time->m_rdf_type = RDF_Type::int32_t; - n_year_time->m_node_type = NodeType::Simple; - n_year_time->m_address = base + offset; - n_year_time->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_year_time); - - field_name = "ticks"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_syndrome, field_name)); - auto n_ticks = new NodeSimple; - n_ticks->m_field_name = field_name; - n_ticks->m_df_type = DF_Type::int32_t; - n_ticks->m_rdf_type = RDF_Type::int32_t; - n_ticks->m_node_type = NodeType::Simple; - n_ticks->m_address = base + offset; - n_ticks->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ticks); - - field_name = "wounds"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_syndrome, field_name)); - auto n_wounds = new NodeVector; - n_wounds->m_field_name = field_name; - n_wounds->m_df_type = DF_Type::int32_t; - n_wounds->m_rdf_type = RDF_Type::Vector; - n_wounds->m_node_type = NodeType::Vector; - n_wounds->m_addornements = "v"; - n_wounds->m_address = base + offset; - n_wounds->m_comment = "refers to unit_wound by id"; - n_wounds->m_parent = p_node_parent; - n_wounds->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_wounds); - - field_name = "wound_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_syndrome, field_name)); - auto n_wound_id = new NodeSimple; - n_wound_id->m_field_name = field_name; - n_wound_id->m_df_type = DF_Type::int32_t; - n_wound_id->m_rdf_type = RDF_Type::int32_t; - n_wound_id->m_node_type = NodeType::Simple; - n_wound_id->m_address = base + offset; - n_wound_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_wound_id); - - field_name = "symptoms"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_syndrome, field_name)); - auto n_symptoms = new NodeVector; - n_symptoms->m_field_name = field_name; - n_symptoms->m_df_type = DF_Type::unit_syndrome__T_symptoms; - n_symptoms->m_rdf_type = RDF_Type::Vector; - n_symptoms->m_node_type = NodeType::Vector; - n_symptoms->m_addornements = "v*"; - n_symptoms->m_address = base + offset; - n_symptoms->m_refers_to = "$$._global.type.ref-target.ce[$]"; - n_symptoms->m_parent = p_node_parent; - n_symptoms->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_symptoms); - - field_name = "reinfection_count"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_syndrome, field_name)); - auto n_reinfection_count = new NodeSimple; - n_reinfection_count->m_field_name = field_name; - n_reinfection_count->m_df_type = DF_Type::int16_t; - n_reinfection_count->m_rdf_type = RDF_Type::int16_t; - n_reinfection_count->m_node_type = NodeType::Simple; - n_reinfection_count->m_address = base + offset; - n_reinfection_count->m_comment = "set from unit.reinfection_count[i]++"; - n_reinfection_count->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_reinfection_count); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_syndrome, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::unit_syndrome__T_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "unk4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_syndrome, field_name)); - auto n_unk4 = new NodeVector; - n_unk4->m_field_name = field_name; - n_unk4->m_df_type = DF_Type::int32_t; - n_unk4->m_rdf_type = RDF_Type::Vector; - n_unk4->m_node_type = NodeType::Vector; - n_unk4->m_addornements = "v"; - n_unk4->m_address = base + offset; - n_unk4->m_parent = p_node_parent; - n_unk4->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk4); - -} -void node_from_unit_wound__T_parts(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "global_layer_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound__T_parts, field_name)); - auto n_global_layer_idx = new NodeSimple; - n_global_layer_idx->m_field_name = field_name; - n_global_layer_idx->m_df_type = DF_Type::int32_t; - n_global_layer_idx->m_rdf_type = RDF_Type::int32_t; - n_global_layer_idx->m_node_type = NodeType::Simple; - n_global_layer_idx->m_address = base + offset; - n_global_layer_idx->m_refers_to = "$$._global._upglobal.caste.ref-target.body_info.layer_idx[$].refers-to"; - n_global_layer_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_global_layer_idx); - - field_name = "body_part_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound__T_parts, field_name)); - auto n_body_part_id = new NodeSimple; - n_body_part_id->m_field_name = field_name; - n_body_part_id->m_df_type = DF_Type::int16_t; - n_body_part_id->m_rdf_type = RDF_Type::int16_t; - n_body_part_id->m_node_type = NodeType::Simple; - n_body_part_id->m_address = base + offset; - n_body_part_id->m_refers_to = "$$._global._upglobal.caste.ref-target.body_info.body_parts[$]"; - n_body_part_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_body_part_id); - - field_name = "layer_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound__T_parts, field_name)); - auto n_layer_idx = new NodeSimple; - n_layer_idx->m_field_name = field_name; - n_layer_idx->m_df_type = DF_Type::int16_t; - n_layer_idx->m_rdf_type = RDF_Type::int16_t; - n_layer_idx->m_node_type = NodeType::Simple; - n_layer_idx->m_address = base + offset; - n_layer_idx->m_refers_to = "$$._parent.body_part_id.refers-to.layers[$]"; - n_layer_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_layer_idx); - - field_name = "contact_area"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound__T_parts, field_name)); - auto n_contact_area = new NodeSimple; - n_contact_area->m_field_name = field_name; - n_contact_area->m_df_type = DF_Type::int32_t; - n_contact_area->m_rdf_type = RDF_Type::int32_t; - n_contact_area->m_node_type = NodeType::Simple; - n_contact_area->m_address = base + offset; - n_contact_area->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_contact_area); - - field_name = "surface_perc"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound__T_parts, field_name)); - auto n_surface_perc = new NodeSimple; - n_surface_perc->m_field_name = field_name; - n_surface_perc->m_df_type = DF_Type::int16_t; - n_surface_perc->m_rdf_type = RDF_Type::int16_t; - n_surface_perc->m_node_type = NodeType::Simple; - n_surface_perc->m_address = base + offset; - n_surface_perc->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_surface_perc); - - field_name = "strain"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound__T_parts, field_name)); - auto n_strain = new NodeSimple; - n_strain->m_field_name = field_name; - n_strain->m_df_type = DF_Type::int32_t; - n_strain->m_rdf_type = RDF_Type::int32_t; - n_strain->m_node_type = NodeType::Simple; - n_strain->m_address = base + offset; - n_strain->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_strain); - - field_name = "effect_perc1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound__T_parts, field_name)); - auto n_effect_perc1 = new NodeVector; - n_effect_perc1->m_field_name = field_name; - n_effect_perc1->m_df_type = DF_Type::int16_t; - n_effect_perc1->m_rdf_type = RDF_Type::Vector; - n_effect_perc1->m_node_type = NodeType::Vector; - n_effect_perc1->m_addornements = "v"; - n_effect_perc1->m_address = base + offset; - n_effect_perc1->m_parent = p_node_parent; - n_effect_perc1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_effect_perc1); - - field_name = "effect_perc2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound__T_parts, field_name)); - auto n_effect_perc2 = new NodeVector; - n_effect_perc2->m_field_name = field_name; - n_effect_perc2->m_df_type = DF_Type::int16_t; - n_effect_perc2->m_rdf_type = RDF_Type::Vector; - n_effect_perc2->m_node_type = NodeType::Vector; - n_effect_perc2->m_addornements = "v"; - n_effect_perc2->m_address = base + offset; - n_effect_perc2->m_parent = p_node_parent; - n_effect_perc2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_effect_perc2); - - field_name = "effect_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound__T_parts, field_name)); - auto n_effect_type = new NodeVector; - n_effect_type->m_field_name = field_name; - n_effect_type->m_df_type = DF_Type::wound_effect_type; - n_effect_type->m_rdf_type = RDF_Type::Vector; - n_effect_type->m_node_type = NodeType::Vector; - n_effect_type->m_enum_base = DF_Type::int16_t; - n_effect_type->m_defined_in = "df.units.xml"; - n_effect_type->m_addornements = "v"; - n_effect_type->m_address = base + offset; - n_effect_type->m_parent = p_node_parent; - n_effect_type->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_effect_type); - - field_name = "edged_curve_perc"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound__T_parts, field_name)); - auto n_edged_curve_perc = new NodeSimple; - n_edged_curve_perc->m_field_name = field_name; - n_edged_curve_perc->m_df_type = DF_Type::int16_t; - n_edged_curve_perc->m_rdf_type = RDF_Type::int16_t; - n_edged_curve_perc->m_node_type = NodeType::Simple; - n_edged_curve_perc->m_address = base + offset; - n_edged_curve_perc->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_edged_curve_perc); - - field_name = "flags1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound__T_parts, field_name)); - auto n_flags1 = new NodeBitfield; - n_flags1->m_field_name = field_name; - n_flags1->m_df_type = DF_Type::wound_damage_flags1; - n_flags1->m_rdf_type = RDF_Type::Bitfield; - n_flags1->m_node_type = NodeType::Bitfield; - n_flags1->m_address = base + offset; - n_flags1->m_defined_in = "df.units.xml"; - n_flags1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags1); - - field_name = "flags2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound__T_parts, field_name)); - auto n_flags2 = new NodeBitfield; - n_flags2->m_field_name = field_name; - n_flags2->m_df_type = DF_Type::wound_damage_flags2; - n_flags2->m_rdf_type = RDF_Type::Bitfield; - n_flags2->m_node_type = NodeType::Bitfield; - n_flags2->m_address = base + offset; - n_flags2->m_defined_in = "df.units.xml"; - n_flags2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags2); - - field_name = "bleeding"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound__T_parts, field_name)); - auto n_bleeding = new NodeSimple; - n_bleeding->m_field_name = field_name; - n_bleeding->m_df_type = DF_Type::int32_t; - n_bleeding->m_rdf_type = RDF_Type::int32_t; - n_bleeding->m_node_type = NodeType::Simple; - n_bleeding->m_address = base + offset; - n_bleeding->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_bleeding); - - field_name = "pain"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound__T_parts, field_name)); - auto n_pain = new NodeSimple; - n_pain->m_field_name = field_name; - n_pain->m_df_type = DF_Type::int32_t; - n_pain->m_rdf_type = RDF_Type::int32_t; - n_pain->m_node_type = NodeType::Simple; - n_pain->m_address = base + offset; - n_pain->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pain); - - field_name = "nausea"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound__T_parts, field_name)); - auto n_nausea = new NodeSimple; - n_nausea->m_field_name = field_name; - n_nausea->m_df_type = DF_Type::int32_t; - n_nausea->m_rdf_type = RDF_Type::int32_t; - n_nausea->m_node_type = NodeType::Simple; - n_nausea->m_address = base + offset; - n_nausea->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_nausea); - - field_name = "dizziness"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound__T_parts, field_name)); - auto n_dizziness = new NodeSimple; - n_dizziness->m_field_name = field_name; - n_dizziness->m_df_type = DF_Type::int32_t; - n_dizziness->m_rdf_type = RDF_Type::int32_t; - n_dizziness->m_node_type = NodeType::Simple; - n_dizziness->m_address = base + offset; - n_dizziness->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dizziness); - - field_name = "paralysis"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound__T_parts, field_name)); - auto n_paralysis = new NodeSimple; - n_paralysis->m_field_name = field_name; - n_paralysis->m_df_type = DF_Type::int32_t; - n_paralysis->m_rdf_type = RDF_Type::int32_t; - n_paralysis->m_node_type = NodeType::Simple; - n_paralysis->m_address = base + offset; - n_paralysis->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_paralysis); - - field_name = "numbness"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound__T_parts, field_name)); - auto n_numbness = new NodeSimple; - n_numbness->m_field_name = field_name; - n_numbness->m_df_type = DF_Type::int32_t; - n_numbness->m_rdf_type = RDF_Type::int32_t; - n_numbness->m_node_type = NodeType::Simple; - n_numbness->m_address = base + offset; - n_numbness->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_numbness); - - field_name = "swelling"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound__T_parts, field_name)); - auto n_swelling = new NodeSimple; - n_swelling->m_field_name = field_name; - n_swelling->m_df_type = DF_Type::int32_t; - n_swelling->m_rdf_type = RDF_Type::int32_t; - n_swelling->m_node_type = NodeType::Simple; - n_swelling->m_address = base + offset; - n_swelling->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_swelling); - - field_name = "impaired"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound__T_parts, field_name)); - auto n_impaired = new NodeSimple; - n_impaired->m_field_name = field_name; - n_impaired->m_df_type = DF_Type::int32_t; - n_impaired->m_rdf_type = RDF_Type::int32_t; - n_impaired->m_node_type = NodeType::Simple; - n_impaired->m_address = base + offset; - n_impaired->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_impaired); - - field_name = "unk_v42_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound__T_parts, field_name)); - auto n_unk_v42_1 = new NodeSimple; - n_unk_v42_1->m_field_name = field_name; - n_unk_v42_1->m_df_type = DF_Type::int32_t; - n_unk_v42_1->m_rdf_type = RDF_Type::int32_t; - n_unk_v42_1->m_node_type = NodeType::Simple; - n_unk_v42_1->m_address = base + offset; - n_unk_v42_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v42_1); - - field_name = "unk_v42_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound__T_parts, field_name)); - auto n_unk_v42_2 = new NodeSimple; - n_unk_v42_2->m_field_name = field_name; - n_unk_v42_2->m_df_type = DF_Type::int32_t; - n_unk_v42_2->m_rdf_type = RDF_Type::int32_t; - n_unk_v42_2->m_node_type = NodeType::Simple; - n_unk_v42_2->m_address = base + offset; - n_unk_v42_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v42_2); - - field_name = "unk_v42_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound__T_parts, field_name)); - auto n_unk_v42_3 = new NodeSimple; - n_unk_v42_3->m_field_name = field_name; - n_unk_v42_3->m_df_type = DF_Type::int32_t; - n_unk_v42_3->m_rdf_type = RDF_Type::int32_t; - n_unk_v42_3->m_node_type = NodeType::Simple; - n_unk_v42_3->m_address = base + offset; - n_unk_v42_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v42_3); - - field_name = "cur_penetration_perc"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound__T_parts, field_name)); - auto n_cur_penetration_perc = new NodeSimple; - n_cur_penetration_perc->m_field_name = field_name; - n_cur_penetration_perc->m_df_type = DF_Type::int16_t; - n_cur_penetration_perc->m_rdf_type = RDF_Type::int16_t; - n_cur_penetration_perc->m_node_type = NodeType::Simple; - n_cur_penetration_perc->m_address = base + offset; - n_cur_penetration_perc->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cur_penetration_perc); - - field_name = "max_penetration_perc"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound__T_parts, field_name)); - auto n_max_penetration_perc = new NodeSimple; - n_max_penetration_perc->m_field_name = field_name; - n_max_penetration_perc->m_df_type = DF_Type::int16_t; - n_max_penetration_perc->m_rdf_type = RDF_Type::int16_t; - n_max_penetration_perc->m_node_type = NodeType::Simple; - n_max_penetration_perc->m_address = base + offset; - n_max_penetration_perc->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_max_penetration_perc); - - field_name = "jammed_layer_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound__T_parts, field_name)); - auto n_jammed_layer_idx = new NodeSimple; - n_jammed_layer_idx->m_field_name = field_name; - n_jammed_layer_idx->m_df_type = DF_Type::int32_t; - n_jammed_layer_idx->m_rdf_type = RDF_Type::int32_t; - n_jammed_layer_idx->m_node_type = NodeType::Simple; - n_jammed_layer_idx->m_address = base + offset; - n_jammed_layer_idx->m_comment = "in compound fracture"; - n_jammed_layer_idx->m_refers_to = "$$._global._upglobal.caste.ref-target.body_info.layer_idx[$].refers-to"; - n_jammed_layer_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_jammed_layer_idx); - - field_name = "unk_v406_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound__T_parts, field_name)); - auto n_unk_v406_1 = new NodeSimple; - n_unk_v406_1->m_field_name = field_name; - n_unk_v406_1->m_df_type = DF_Type::int32_t; - n_unk_v406_1->m_rdf_type = RDF_Type::int32_t; - n_unk_v406_1->m_node_type = NodeType::Simple; - n_unk_v406_1->m_address = base + offset; - n_unk_v406_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v406_1); - -} -void node_from_unit_wound(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "parts"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound, field_name)); - auto n_parts = new NodeVector; - n_parts->m_field_name = field_name; - n_parts->m_df_type = DF_Type::unit_wound__T_parts; - n_parts->m_rdf_type = RDF_Type::Vector; - n_parts->m_node_type = NodeType::Vector; - n_parts->m_addornements = "v*"; - n_parts->m_address = base + offset; - n_parts->m_parent = p_node_parent; - n_parts->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_parts); - - field_name = "age"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound, field_name)); - auto n_age = new NodeSimple; - n_age->m_field_name = field_name; - n_age->m_df_type = DF_Type::int32_t; - n_age->m_rdf_type = RDF_Type::int32_t; - n_age->m_node_type = NodeType::Simple; - n_age->m_address = base + offset; - n_age->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_age); - - field_name = "attacker_unit_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound, field_name)); - auto n_attacker_unit_id = new NodeSimple; - n_attacker_unit_id->m_field_name = field_name; - n_attacker_unit_id->m_df_type = DF_Type::int32_t; - n_attacker_unit_id->m_rdf_type = RDF_Type::int32_t; - n_attacker_unit_id->m_node_type = NodeType::Simple; - n_attacker_unit_id->m_address = base + offset; - n_attacker_unit_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_attacker_unit_id); - - field_name = "attacker_hist_figure_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound, field_name)); - auto n_attacker_hist_figure_id = new NodeSimple; - n_attacker_hist_figure_id->m_field_name = field_name; - n_attacker_hist_figure_id->m_df_type = DF_Type::int32_t; - n_attacker_hist_figure_id->m_rdf_type = RDF_Type::int32_t; - n_attacker_hist_figure_id->m_node_type = NodeType::Simple; - n_attacker_hist_figure_id->m_address = base + offset; - n_attacker_hist_figure_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_attacker_hist_figure_id); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::unit_wound__T_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "syndrome_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound, field_name)); - auto n_syndrome_id = new NodeSimple; - n_syndrome_id->m_field_name = field_name; - n_syndrome_id->m_df_type = DF_Type::int32_t; - n_syndrome_id->m_rdf_type = RDF_Type::int32_t; - n_syndrome_id->m_node_type = NodeType::Simple; - n_syndrome_id->m_address = base + offset; - n_syndrome_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_syndrome_id); - - field_name = "pain"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound, field_name)); - auto n_pain = new NodeSimple; - n_pain->m_field_name = field_name; - n_pain->m_df_type = DF_Type::int32_t; - n_pain->m_rdf_type = RDF_Type::int32_t; - n_pain->m_node_type = NodeType::Simple; - n_pain->m_address = base + offset; - n_pain->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pain); - - field_name = "nausea"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound, field_name)); - auto n_nausea = new NodeSimple; - n_nausea->m_field_name = field_name; - n_nausea->m_df_type = DF_Type::int32_t; - n_nausea->m_rdf_type = RDF_Type::int32_t; - n_nausea->m_node_type = NodeType::Simple; - n_nausea->m_address = base + offset; - n_nausea->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_nausea); - - field_name = "dizziness"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound, field_name)); - auto n_dizziness = new NodeSimple; - n_dizziness->m_field_name = field_name; - n_dizziness->m_df_type = DF_Type::int32_t; - n_dizziness->m_rdf_type = RDF_Type::int32_t; - n_dizziness->m_node_type = NodeType::Simple; - n_dizziness->m_address = base + offset; - n_dizziness->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dizziness); - - field_name = "paralysis"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound, field_name)); - auto n_paralysis = new NodeSimple; - n_paralysis->m_field_name = field_name; - n_paralysis->m_df_type = DF_Type::int32_t; - n_paralysis->m_rdf_type = RDF_Type::int32_t; - n_paralysis->m_node_type = NodeType::Simple; - n_paralysis->m_address = base + offset; - n_paralysis->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_paralysis); - - field_name = "numbness"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound, field_name)); - auto n_numbness = new NodeSimple; - n_numbness->m_field_name = field_name; - n_numbness->m_df_type = DF_Type::int32_t; - n_numbness->m_rdf_type = RDF_Type::int32_t; - n_numbness->m_node_type = NodeType::Simple; - n_numbness->m_address = base + offset; - n_numbness->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_numbness); - - field_name = "fever"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound, field_name)); - auto n_fever = new NodeSimple; - n_fever->m_field_name = field_name; - n_fever->m_df_type = DF_Type::int32_t; - n_fever->m_rdf_type = RDF_Type::int32_t; - n_fever->m_node_type = NodeType::Simple; - n_fever->m_address = base + offset; - n_fever->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_fever); - - field_name = "curse"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound, field_name)); - auto n_curse = new NodePointer; - n_curse->m_field_name = field_name; - n_curse->m_df_type = get_real_subtype(base+offset, DF_Type::wound_curse_info); - n_curse->m_rdf_type = RDF_Type::Pointer; - n_curse->m_node_type = NodeType::Pointer; - n_curse->m_addornements = "*"; - n_curse->m_address = base + offset; - n_curse->m_parent = p_node_parent; - n_curse->m_defined_in = "df.units.xml"; - n_curse->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_curse); - - field_name = "unk_v42_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound, field_name)); - auto n_unk_v42_1 = new NodeSimple; - n_unk_v42_1->m_field_name = field_name; - n_unk_v42_1->m_df_type = DF_Type::int32_t; - n_unk_v42_1->m_rdf_type = RDF_Type::int32_t; - n_unk_v42_1->m_node_type = NodeType::Simple; - n_unk_v42_1->m_address = base + offset; - n_unk_v42_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v42_1); - - field_name = "unk_v42_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound, field_name)); - auto n_unk_v42_2 = new NodeSimple; - n_unk_v42_2->m_field_name = field_name; - n_unk_v42_2->m_df_type = DF_Type::int32_t; - n_unk_v42_2->m_rdf_type = RDF_Type::int32_t; - n_unk_v42_2->m_node_type = NodeType::Simple; - n_unk_v42_2->m_address = base + offset; - n_unk_v42_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v42_2); - -} -void node_from_wound_curse_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk_v40_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::wound_curse_info, field_name)); - auto n_unk_v40_1 = new NodeSimple; - n_unk_v40_1->m_field_name = field_name; - n_unk_v40_1->m_df_type = DF_Type::int32_t; - n_unk_v40_1->m_rdf_type = RDF_Type::int32_t; - n_unk_v40_1->m_node_type = NodeType::Simple; - n_unk_v40_1->m_address = base + offset; - n_unk_v40_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_1); - - field_name = "add_tags1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::wound_curse_info, field_name)); - auto n_add_tags1 = new NodeBitfield; - n_add_tags1->m_field_name = field_name; - n_add_tags1->m_df_type = DF_Type::cie_add_tag_mask1; - n_add_tags1->m_rdf_type = RDF_Type::Bitfield; - n_add_tags1->m_node_type = NodeType::Bitfield; - n_add_tags1->m_address = base + offset; - n_add_tags1->m_defined_in = "df.syndrome.xml"; - n_add_tags1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_add_tags1); - - field_name = "rem_tags1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::wound_curse_info, field_name)); - auto n_rem_tags1 = new NodeBitfield; - n_rem_tags1->m_field_name = field_name; - n_rem_tags1->m_df_type = DF_Type::cie_add_tag_mask1; - n_rem_tags1->m_rdf_type = RDF_Type::Bitfield; - n_rem_tags1->m_node_type = NodeType::Bitfield; - n_rem_tags1->m_address = base + offset; - n_rem_tags1->m_defined_in = "df.syndrome.xml"; - n_rem_tags1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rem_tags1); - - field_name = "add_tags2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::wound_curse_info, field_name)); - auto n_add_tags2 = new NodeBitfield; - n_add_tags2->m_field_name = field_name; - n_add_tags2->m_df_type = DF_Type::cie_add_tag_mask2; - n_add_tags2->m_rdf_type = RDF_Type::Bitfield; - n_add_tags2->m_node_type = NodeType::Bitfield; - n_add_tags2->m_address = base + offset; - n_add_tags2->m_defined_in = "df.syndrome.xml"; - n_add_tags2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_add_tags2); - - field_name = "rem_tags2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::wound_curse_info, field_name)); - auto n_rem_tags2 = new NodeBitfield; - n_rem_tags2->m_field_name = field_name; - n_rem_tags2->m_df_type = DF_Type::cie_add_tag_mask2; - n_rem_tags2->m_rdf_type = RDF_Type::Bitfield; - n_rem_tags2->m_node_type = NodeType::Bitfield; - n_rem_tags2->m_address = base + offset; - n_rem_tags2->m_defined_in = "df.syndrome.xml"; - n_rem_tags2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rem_tags2); - - field_name = "name_visible"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::wound_curse_info, field_name)); - auto n_name_visible = new NodeSimple; - n_name_visible->m_field_name = field_name; - n_name_visible->m_df_type = DF_Type::Bool; - n_name_visible->m_rdf_type = RDF_Type::Bool; - n_name_visible->m_node_type = NodeType::Simple; - n_name_visible->m_address = base + offset; - n_name_visible->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name_visible); - - field_name = "name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::wound_curse_info, field_name)); - auto n_name = new NodeSimple; - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Stl_string; - n_name->m_node_type = NodeType::Simple; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "name_plural"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::wound_curse_info, field_name)); - auto n_name_plural = new NodeSimple; - n_name_plural->m_field_name = field_name; - n_name_plural->m_df_type = DF_Type::Stl_string; - n_name_plural->m_rdf_type = RDF_Type::Stl_string; - n_name_plural->m_node_type = NodeType::Simple; - n_name_plural->m_address = base + offset; - n_name_plural->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name_plural); - - field_name = "name_adjective"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::wound_curse_info, field_name)); - auto n_name_adjective = new NodeSimple; - n_name_adjective->m_field_name = field_name; - n_name_adjective->m_df_type = DF_Type::Stl_string; - n_name_adjective->m_rdf_type = RDF_Type::Stl_string; - n_name_adjective->m_node_type = NodeType::Simple; - n_name_adjective->m_address = base + offset; - n_name_adjective->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name_adjective); - - field_name = "sym_and_color1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::wound_curse_info, field_name)); - auto n_sym_and_color1 = new NodeSimple; - n_sym_and_color1->m_field_name = field_name; - n_sym_and_color1->m_df_type = DF_Type::uint32_t; - n_sym_and_color1->m_rdf_type = RDF_Type::uint32_t; - n_sym_and_color1->m_node_type = NodeType::Simple; - n_sym_and_color1->m_address = base + offset; - n_sym_and_color1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sym_and_color1); - - field_name = "sym_and_color2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::wound_curse_info, field_name)); - auto n_sym_and_color2 = new NodeSimple; - n_sym_and_color2->m_field_name = field_name; - n_sym_and_color2->m_df_type = DF_Type::uint32_t; - n_sym_and_color2->m_rdf_type = RDF_Type::uint32_t; - n_sym_and_color2->m_node_type = NodeType::Simple; - n_sym_and_color2->m_address = base + offset; - n_sym_and_color2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sym_and_color2); - - field_name = "flash_period"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::wound_curse_info, field_name)); - auto n_flash_period = new NodeSimple; - n_flash_period->m_field_name = field_name; - n_flash_period->m_df_type = DF_Type::uint32_t; - n_flash_period->m_rdf_type = RDF_Type::uint32_t; - n_flash_period->m_node_type = NodeType::Simple; - n_flash_period->m_address = base + offset; - n_flash_period->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flash_period); - - field_name = "flash_time2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::wound_curse_info, field_name)); - auto n_flash_time2 = new NodeSimple; - n_flash_time2->m_field_name = field_name; - n_flash_time2->m_df_type = DF_Type::uint32_t; - n_flash_time2->m_rdf_type = RDF_Type::uint32_t; - n_flash_time2->m_node_type = NodeType::Simple; - n_flash_time2->m_address = base + offset; - n_flash_time2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flash_time2); - - field_name = "speed_add"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::wound_curse_info, field_name)); - auto n_speed_add = new NodeSimple; - n_speed_add->m_field_name = field_name; - n_speed_add->m_df_type = DF_Type::uint32_t; - n_speed_add->m_rdf_type = RDF_Type::uint32_t; - n_speed_add->m_node_type = NodeType::Simple; - n_speed_add->m_address = base + offset; - n_speed_add->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_speed_add); - - field_name = "speed_mul_percent"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::wound_curse_info, field_name)); - auto n_speed_mul_percent = new NodeSimple; - n_speed_mul_percent->m_field_name = field_name; - n_speed_mul_percent->m_df_type = DF_Type::uint32_t; - n_speed_mul_percent->m_rdf_type = RDF_Type::uint32_t; - n_speed_mul_percent->m_node_type = NodeType::Simple; - n_speed_mul_percent->m_address = base + offset; - n_speed_mul_percent->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_speed_mul_percent); - - field_name = "attr_change"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::wound_curse_info, field_name)); - auto n_attr_change = new NodePointer; - n_attr_change->m_field_name = field_name; - n_attr_change->m_df_type = get_real_subtype(base+offset, DF_Type::curse_attr_change); - n_attr_change->m_rdf_type = RDF_Type::Pointer; - n_attr_change->m_node_type = NodeType::Pointer; - n_attr_change->m_addornements = "*"; - n_attr_change->m_address = base + offset; - n_attr_change->m_parent = p_node_parent; - n_attr_change->m_defined_in = "df.units.xml"; - n_attr_change->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_attr_change); - - field_name = "unk_v42_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::wound_curse_info, field_name)); - auto n_unk_v42_1 = new NodeSimple; - n_unk_v42_1->m_field_name = field_name; - n_unk_v42_1->m_df_type = DF_Type::int32_t; - n_unk_v42_1->m_rdf_type = RDF_Type::int32_t; - n_unk_v42_1->m_node_type = NodeType::Simple; - n_unk_v42_1->m_address = base + offset; - n_unk_v42_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v42_1); - - field_name = "luck_mul_percent"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::wound_curse_info, field_name)); - auto n_luck_mul_percent = new NodeSimple; - n_luck_mul_percent->m_field_name = field_name; - n_luck_mul_percent->m_df_type = DF_Type::uint32_t; - n_luck_mul_percent->m_rdf_type = RDF_Type::uint32_t; - n_luck_mul_percent->m_node_type = NodeType::Simple; - n_luck_mul_percent->m_address = base + offset; - n_luck_mul_percent->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_luck_mul_percent); - - field_name = "unk_v42_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::wound_curse_info, field_name)); - auto n_unk_v42_2 = new NodeSimple; - n_unk_v42_2->m_field_name = field_name; - n_unk_v42_2->m_df_type = DF_Type::int32_t; - n_unk_v42_2->m_rdf_type = RDF_Type::int32_t; - n_unk_v42_2->m_node_type = NodeType::Simple; - n_unk_v42_2->m_address = base + offset; - n_unk_v42_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v42_2); - - field_name = "interaction_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::wound_curse_info, field_name)); - auto n_interaction_id = new NodeVector; - n_interaction_id->m_field_name = field_name; - n_interaction_id->m_df_type = DF_Type::int32_t; - n_interaction_id->m_rdf_type = RDF_Type::Vector; - n_interaction_id->m_node_type = NodeType::Vector; - n_interaction_id->m_addornements = "v"; - n_interaction_id->m_address = base + offset; - n_interaction_id->m_parent = p_node_parent; - n_interaction_id->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_interaction_id); - - field_name = "interaction_time"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::wound_curse_info, field_name)); - auto n_interaction_time = new NodeVector; - n_interaction_time->m_field_name = field_name; - n_interaction_time->m_df_type = DF_Type::int32_t; - n_interaction_time->m_rdf_type = RDF_Type::Vector; - n_interaction_time->m_node_type = NodeType::Vector; - n_interaction_time->m_addornements = "v"; - n_interaction_time->m_address = base + offset; - n_interaction_time->m_parent = p_node_parent; - n_interaction_time->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_interaction_time); - - field_name = "time_counter"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::wound_curse_info, field_name)); - auto n_time_counter = new NodeSimple; - n_time_counter->m_field_name = field_name; - n_time_counter->m_df_type = DF_Type::int32_t; - n_time_counter->m_rdf_type = RDF_Type::int32_t; - n_time_counter->m_node_type = NodeType::Simple; - n_time_counter->m_address = base + offset; - n_time_counter->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_time_counter); - - field_name = "were_race"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::wound_curse_info, field_name)); - auto n_were_race = new NodeSimple; - n_were_race->m_field_name = field_name; - n_were_race->m_df_type = DF_Type::int32_t; - n_were_race->m_rdf_type = RDF_Type::int32_t; - n_were_race->m_node_type = NodeType::Simple; - n_were_race->m_address = base + offset; - n_were_race->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_were_race); - - field_name = "were_caste"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::wound_curse_info, field_name)); - auto n_were_caste = new NodeSimple; - n_were_caste->m_field_name = field_name; - n_were_caste->m_df_type = DF_Type::int32_t; - n_were_caste->m_rdf_type = RDF_Type::int32_t; - n_were_caste->m_node_type = NodeType::Simple; - n_were_caste->m_address = base + offset; - n_were_caste->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_were_caste); - - field_name = "body_appearance"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::wound_curse_info, field_name)); - auto n_body_appearance = new NodeVector; - n_body_appearance->m_field_name = field_name; - n_body_appearance->m_df_type = DF_Type::int32_t; - n_body_appearance->m_rdf_type = RDF_Type::Vector; - n_body_appearance->m_node_type = NodeType::Vector; - n_body_appearance->m_addornements = "v"; - n_body_appearance->m_address = base + offset; - n_body_appearance->m_parent = p_node_parent; - n_body_appearance->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_body_appearance); - - field_name = "bp_appearance"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::wound_curse_info, field_name)); - auto n_bp_appearance = new NodeVector; - n_bp_appearance->m_field_name = field_name; - n_bp_appearance->m_df_type = DF_Type::int32_t; - n_bp_appearance->m_rdf_type = RDF_Type::Vector; - n_bp_appearance->m_node_type = NodeType::Vector; - n_bp_appearance->m_addornements = "v"; - n_bp_appearance->m_address = base + offset; - n_bp_appearance->m_parent = p_node_parent; - n_bp_appearance->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bp_appearance); - -} -void node_from_unit_misc_trait(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - auto n_id = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_misc_trait, field_name)); - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::misc_trait_type; - n_id->m_rdf_type = RDF_Type::Enum; - n_id->m_node_type = NodeType::Enum; - n_id->m_base_type = DF_Type::int16_t; - n_id->m_enum_type = "misc_trait_type"; - n_id->m_address = base + offset; - n_id->m_defined_in = "df.units.xml"; - n_id->m_first_value = 0; - n_id->m_last_value = 58; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "value"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_misc_trait, field_name)); - auto n_value = new NodeSimple; - n_value->m_field_name = field_name; - n_value->m_df_type = DF_Type::int32_t; - n_value->m_rdf_type = RDF_Type::int32_t; - n_value->m_node_type = NodeType::Simple; - n_value->m_address = base + offset; - n_value->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_value); - -} -void node_from_unit_health_info__T_op_history__T_info__T_crutch(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "item_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_health_info__T_op_history__T_info__T_crutch, field_name)); - auto n_item_type = new NodeSimple; - n_item_type->m_field_name = field_name; - n_item_type->m_df_type = DF_Type::int32_t; - n_item_type->m_rdf_type = RDF_Type::int32_t; - n_item_type->m_node_type = NodeType::Simple; - n_item_type->m_address = base + offset; - n_item_type->m_refers_to = "(enum-to-key $item_type $)"; - n_item_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_type); - - field_name = "item_subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_health_info__T_op_history__T_info__T_crutch, field_name)); - auto n_item_subtype = new NodeSimple; - n_item_subtype->m_field_name = field_name; - n_item_subtype->m_df_type = DF_Type::int32_t; - n_item_subtype->m_rdf_type = RDF_Type::int32_t; - n_item_subtype->m_node_type = NodeType::Simple; - n_item_subtype->m_address = base + offset; - n_item_subtype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_subtype); - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_health_info__T_op_history__T_info__T_crutch, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int32_t; - n_mat_type->m_rdf_type = RDF_Type::int32_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_health_info__T_op_history__T_info__T_crutch, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "item_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_health_info__T_op_history__T_info__T_crutch, field_name)); - auto n_item_id = new NodeSimple; - n_item_id->m_field_name = field_name; - n_item_id->m_df_type = DF_Type::int32_t; - n_item_id->m_rdf_type = RDF_Type::int32_t; - n_item_id->m_node_type = NodeType::Simple; - n_item_id->m_address = base + offset; - n_item_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_id); - -} -void node_from_unit_health_info__T_op_history__T_info__T_bandage(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_health_info__T_op_history__T_info__T_bandage, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int32_t; - n_mat_type->m_rdf_type = RDF_Type::int32_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_health_info__T_op_history__T_info__T_bandage, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "body_part_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_health_info__T_op_history__T_info__T_bandage, field_name)); - auto n_body_part_id = new NodeSimple; - n_body_part_id->m_field_name = field_name; - n_body_part_id->m_df_type = DF_Type::int32_t; - n_body_part_id->m_rdf_type = RDF_Type::int32_t; - n_body_part_id->m_node_type = NodeType::Simple; - n_body_part_id->m_address = base + offset; - n_body_part_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_body_part_id); - - field_name = "item_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_health_info__T_op_history__T_info__T_bandage, field_name)); - auto n_item_id = new NodeSimple; - n_item_id->m_field_name = field_name; - n_item_id->m_df_type = DF_Type::int32_t; - n_item_id->m_rdf_type = RDF_Type::int32_t; - n_item_id->m_node_type = NodeType::Simple; - n_item_id->m_address = base + offset; - n_item_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_id); - -} -void node_from_unit_health_info__T_op_history__T_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = true) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "crutch"; - auto n_crutch = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_health_info__T_op_history__T_info, field_name)); - n_crutch->m_field_name = field_name; - n_crutch->m_df_type = DF_Type::unit_health_info__T_op_history__T_info__T_crutch; - n_crutch->m_rdf_type = RDF_Type::Compound; - n_crutch->m_node_type = NodeType::Compound; - n_crutch->m_address = base + offset; - n_crutch->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_crutch); - - field_name = "bed_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_health_info__T_op_history__T_info, field_name)); - auto n_bed_id = new NodeSimple; - n_bed_id->m_field_name = field_name; - n_bed_id->m_df_type = DF_Type::int32_t; - n_bed_id->m_rdf_type = RDF_Type::int32_t; - n_bed_id->m_node_type = NodeType::Simple; - n_bed_id->m_address = base + offset; - n_bed_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_bed_id); - - field_name = "bandage"; - auto n_bandage = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_health_info__T_op_history__T_info, field_name)); - n_bandage->m_field_name = field_name; - n_bandage->m_df_type = DF_Type::unit_health_info__T_op_history__T_info__T_bandage; - n_bandage->m_rdf_type = RDF_Type::Compound; - n_bandage->m_node_type = NodeType::Compound; - n_bandage->m_address = base + offset; - n_bandage->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_bandage); - -} -void node_from_unit_health_info__T_op_history(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "job_type"; - auto n_job_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_health_info__T_op_history, field_name)); - n_job_type->m_field_name = field_name; - n_job_type->m_df_type = DF_Type::job_type; - n_job_type->m_rdf_type = RDF_Type::Enum; - n_job_type->m_node_type = NodeType::Enum; - n_job_type->m_base_type = DF_Type::int16_t; - n_job_type->m_enum_type = "job_type"; - n_job_type->m_address = base + offset; - n_job_type->m_defined_in = "df.job-types.xml"; - n_job_type->m_first_value = -1; - n_job_type->m_last_value = 240; - n_job_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_job_type); - - field_name = "info"; - auto n_info = new NodeUnion; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_health_info__T_op_history, field_name)); - n_info->m_field_name = field_name; - n_info->m_df_type = DF_Type::unit_health_info__T_op_history__T_info; - n_info->m_rdf_type = RDF_Type::Union; - n_info->m_node_type = NodeType::Union; - n_info->m_address = base + offset; - n_info->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_info); - - field_name = "year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_health_info__T_op_history, field_name)); - auto n_year = new NodeSimple; - n_year->m_field_name = field_name; - n_year->m_df_type = DF_Type::int32_t; - n_year->m_rdf_type = RDF_Type::int32_t; - n_year->m_node_type = NodeType::Simple; - n_year->m_address = base + offset; - n_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_year); - - field_name = "year_time"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_health_info__T_op_history, field_name)); - auto n_year_time = new NodeSimple; - n_year_time->m_field_name = field_name; - n_year_time->m_df_type = DF_Type::int32_t; - n_year_time->m_rdf_type = RDF_Type::int32_t; - n_year_time->m_node_type = NodeType::Simple; - n_year_time->m_address = base + offset; - n_year_time->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_year_time); - - field_name = "doctor_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_health_info__T_op_history, field_name)); - auto n_doctor_id = new NodeSimple; - n_doctor_id->m_field_name = field_name; - n_doctor_id->m_df_type = DF_Type::int32_t; - n_doctor_id->m_rdf_type = RDF_Type::int32_t; - n_doctor_id->m_node_type = NodeType::Simple; - n_doctor_id->m_address = base + offset; - n_doctor_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_doctor_id); - -} -void node_from_unit_health_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unit_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_health_info, field_name)); - auto n_unit_id = new NodeSimple; - n_unit_id->m_field_name = field_name; - n_unit_id->m_df_type = DF_Type::int32_t; - n_unit_id->m_rdf_type = RDF_Type::int32_t; - n_unit_id->m_node_type = NodeType::Simple; - n_unit_id->m_address = base + offset; - n_unit_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unit_id); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_health_info, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::unit_health_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_defined_in = "df.units.xml"; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "body_part_flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_health_info, field_name)); - auto n_body_part_flags = new NodeVector; - n_body_part_flags->m_field_name = field_name; - n_body_part_flags->m_df_type = DF_Type::unit_bp_health_flags; - n_body_part_flags->m_rdf_type = RDF_Type::Vector; - n_body_part_flags->m_node_type = NodeType::Vector; - n_body_part_flags->m_defined_in = "df.units.xml"; - n_body_part_flags->m_addornements = "v"; - n_body_part_flags->m_address = base + offset; - n_body_part_flags->m_parent = p_node_parent; - n_body_part_flags->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_body_part_flags); - - field_name = "unk_18_cntdn"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_health_info, field_name)); - auto n_unk_18_cntdn = new NodeSimple; - n_unk_18_cntdn->m_field_name = field_name; - n_unk_18_cntdn->m_df_type = DF_Type::int16_t; - n_unk_18_cntdn->m_rdf_type = RDF_Type::int16_t; - n_unk_18_cntdn->m_node_type = NodeType::Simple; - n_unk_18_cntdn->m_address = base + offset; - n_unk_18_cntdn->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_18_cntdn); - - field_name = "immobilize_cntdn"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_health_info, field_name)); - auto n_immobilize_cntdn = new NodeSimple; - n_immobilize_cntdn->m_field_name = field_name; - n_immobilize_cntdn->m_df_type = DF_Type::int16_t; - n_immobilize_cntdn->m_rdf_type = RDF_Type::int16_t; - n_immobilize_cntdn->m_node_type = NodeType::Simple; - n_immobilize_cntdn->m_address = base + offset; - n_immobilize_cntdn->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_immobilize_cntdn); - - field_name = "dressing_cntdn"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_health_info, field_name)); - auto n_dressing_cntdn = new NodeSimple; - n_dressing_cntdn->m_field_name = field_name; - n_dressing_cntdn->m_df_type = DF_Type::int16_t; - n_dressing_cntdn->m_rdf_type = RDF_Type::int16_t; - n_dressing_cntdn->m_node_type = NodeType::Simple; - n_dressing_cntdn->m_address = base + offset; - n_dressing_cntdn->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dressing_cntdn); - - field_name = "suture_cntdn"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_health_info, field_name)); - auto n_suture_cntdn = new NodeSimple; - n_suture_cntdn->m_field_name = field_name; - n_suture_cntdn->m_df_type = DF_Type::int16_t; - n_suture_cntdn->m_rdf_type = RDF_Type::int16_t; - n_suture_cntdn->m_node_type = NodeType::Simple; - n_suture_cntdn->m_address = base + offset; - n_suture_cntdn->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_suture_cntdn); - - field_name = "crutch_cntdn"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_health_info, field_name)); - auto n_crutch_cntdn = new NodeSimple; - n_crutch_cntdn->m_field_name = field_name; - n_crutch_cntdn->m_df_type = DF_Type::int16_t; - n_crutch_cntdn->m_rdf_type = RDF_Type::int16_t; - n_crutch_cntdn->m_node_type = NodeType::Simple; - n_crutch_cntdn->m_address = base + offset; - n_crutch_cntdn->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_crutch_cntdn); - - field_name = "op_history"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_health_info, field_name)); - auto n_op_history = new NodeVector; - n_op_history->m_field_name = field_name; - n_op_history->m_df_type = DF_Type::unit_health_info__T_op_history; - n_op_history->m_rdf_type = RDF_Type::Vector; - n_op_history->m_node_type = NodeType::Vector; - n_op_history->m_addornements = "v*"; - n_op_history->m_address = base + offset; - n_op_history->m_parent = p_node_parent; - n_op_history->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_op_history); - - field_name = "unk_34"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_health_info, field_name)); - auto n_unk_34 = new NodeVector; - n_unk_34->m_field_name = field_name; - n_unk_34->m_df_type = DF_Type::Void; - n_unk_34->m_rdf_type = RDF_Type::Vector; - n_unk_34->m_node_type = NodeType::Vector; - n_unk_34->m_addornements = "v"; - n_unk_34->m_address = base + offset; - n_unk_34->m_parent = p_node_parent; - n_unk_34->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_34); - -} -void node_from_unit_instrument_skill(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_instrument_skill, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_refers_to = "$global.world.raws.itemdefs.instruments[$].name"; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "rating"; - auto n_rating = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_instrument_skill, field_name)); - n_rating->m_field_name = field_name; - n_rating->m_df_type = DF_Type::skill_rating; - n_rating->m_rdf_type = RDF_Type::Enum; - n_rating->m_node_type = NodeType::Enum; - n_rating->m_base_type = DF_Type::int32_t; - n_rating->m_enum_type = "skill_rating"; - n_rating->m_address = base + offset; - n_rating->m_defined_in = "df.units.xml"; - n_rating->m_first_value = 0; - n_rating->m_last_value = 20; - n_rating->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rating); - - field_name = "experience"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_instrument_skill, field_name)); - auto n_experience = new NodeSimple; - n_experience->m_field_name = field_name; - n_experience->m_df_type = DF_Type::int32_t; - n_experience->m_rdf_type = RDF_Type::int32_t; - n_experience->m_node_type = NodeType::Simple; - n_experience->m_address = base + offset; - n_experience->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_experience); - -} -void node_from_unit_poetic_skill(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_poetic_skill, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_refers_to = "$global.world.poetic_forms.all[$].name"; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "rating"; - auto n_rating = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_poetic_skill, field_name)); - n_rating->m_field_name = field_name; - n_rating->m_df_type = DF_Type::skill_rating; - n_rating->m_rdf_type = RDF_Type::Enum; - n_rating->m_node_type = NodeType::Enum; - n_rating->m_base_type = DF_Type::int32_t; - n_rating->m_enum_type = "skill_rating"; - n_rating->m_address = base + offset; - n_rating->m_defined_in = "df.units.xml"; - n_rating->m_first_value = 0; - n_rating->m_last_value = 20; - n_rating->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rating); - - field_name = "experience"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_poetic_skill, field_name)); - auto n_experience = new NodeSimple; - n_experience->m_field_name = field_name; - n_experience->m_df_type = DF_Type::int32_t; - n_experience->m_rdf_type = RDF_Type::int32_t; - n_experience->m_node_type = NodeType::Simple; - n_experience->m_address = base + offset; - n_experience->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_experience); - -} -void node_from_unit_musical_skill(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_musical_skill, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_refers_to = "$global.world.musical_forms.all[$].name"; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "rating"; - auto n_rating = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_musical_skill, field_name)); - n_rating->m_field_name = field_name; - n_rating->m_df_type = DF_Type::skill_rating; - n_rating->m_rdf_type = RDF_Type::Enum; - n_rating->m_node_type = NodeType::Enum; - n_rating->m_base_type = DF_Type::int32_t; - n_rating->m_enum_type = "skill_rating"; - n_rating->m_address = base + offset; - n_rating->m_defined_in = "df.units.xml"; - n_rating->m_first_value = 0; - n_rating->m_last_value = 20; - n_rating->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rating); - - field_name = "experience"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_musical_skill, field_name)); - auto n_experience = new NodeSimple; - n_experience->m_field_name = field_name; - n_experience->m_df_type = DF_Type::int32_t; - n_experience->m_rdf_type = RDF_Type::int32_t; - n_experience->m_node_type = NodeType::Simple; - n_experience->m_address = base + offset; - n_experience->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_experience); - -} -void node_from_unit_dance_skill(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_dance_skill, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_refers_to = "$global.world.dance_forms.all[$].name"; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "rating"; - auto n_rating = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_dance_skill, field_name)); - n_rating->m_field_name = field_name; - n_rating->m_df_type = DF_Type::skill_rating; - n_rating->m_rdf_type = RDF_Type::Enum; - n_rating->m_node_type = NodeType::Enum; - n_rating->m_base_type = DF_Type::int32_t; - n_rating->m_enum_type = "skill_rating"; - n_rating->m_address = base + offset; - n_rating->m_defined_in = "df.units.xml"; - n_rating->m_first_value = 0; - n_rating->m_last_value = 20; - n_rating->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rating); - - field_name = "experience"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_dance_skill, field_name)); - auto n_experience = new NodeSimple; - n_experience->m_field_name = field_name; - n_experience->m_df_type = DF_Type::int32_t; - n_experience->m_rdf_type = RDF_Type::int32_t; - n_experience->m_node_type = NodeType::Simple; - n_experience->m_address = base + offset; - n_experience->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_experience); - -} -void node_from_unit_personality__T_values(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "type"; - auto n_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_values, field_name)); - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::value_type; - n_type->m_rdf_type = RDF_Type::Enum; - n_type->m_node_type = NodeType::Enum; - n_type->m_base_type = DF_Type::int32_t; - n_type->m_enum_type = "value_type"; - n_type->m_address = base + offset; - n_type->m_defined_in = "df.units.xml"; - n_type->m_first_value = 0; - n_type->m_last_value = 32; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - - field_name = "strength"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_values, field_name)); - auto n_strength = new NodeSimple; - n_strength->m_field_name = field_name; - n_strength->m_df_type = DF_Type::int32_t; - n_strength->m_rdf_type = RDF_Type::int32_t; - n_strength->m_node_type = NodeType::Simple; - n_strength->m_address = base + offset; - n_strength->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_strength); - -} -void node_from_unit_personality__T_unk_v40_2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_unk_v40_2, field_name)); - auto n_unk1 = new NodeSimple; - n_unk1->m_field_name = field_name; - n_unk1->m_df_type = DF_Type::int16_t; - n_unk1->m_rdf_type = RDF_Type::int16_t; - n_unk1->m_node_type = NodeType::Simple; - n_unk1->m_address = base + offset; - n_unk1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk1); - - field_name = "unk2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_unk_v40_2, field_name)); - auto n_unk2 = new NodeSimple; - n_unk2->m_field_name = field_name; - n_unk2->m_df_type = DF_Type::int16_t; - n_unk2->m_rdf_type = RDF_Type::int16_t; - n_unk2->m_node_type = NodeType::Simple; - n_unk2->m_address = base + offset; - n_unk2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk2); - -} -void node_from_unit_personality__T_emotions(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "type"; - auto n_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_emotions, field_name)); - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::emotion_type; - n_type->m_rdf_type = RDF_Type::Enum; - n_type->m_node_type = NodeType::Enum; - n_type->m_base_type = DF_Type::int32_t; - n_type->m_enum_type = "emotion_type"; - n_type->m_address = base + offset; - n_type->m_defined_in = "df.unit-thoughts.xml"; - n_type->m_first_value = -1; - n_type->m_last_value = 169; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - - field_name = "unk2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_emotions, field_name)); - auto n_unk2 = new NodeSimple; - n_unk2->m_field_name = field_name; - n_unk2->m_df_type = DF_Type::int32_t; - n_unk2->m_rdf_type = RDF_Type::int32_t; - n_unk2->m_node_type = NodeType::Simple; - n_unk2->m_address = base + offset; - n_unk2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk2); - - field_name = "strength"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_emotions, field_name)); - auto n_strength = new NodeSimple; - n_strength->m_field_name = field_name; - n_strength->m_df_type = DF_Type::int32_t; - n_strength->m_rdf_type = RDF_Type::int32_t; - n_strength->m_node_type = NodeType::Simple; - n_strength->m_address = base + offset; - n_strength->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_strength); - - field_name = "thought"; - auto n_thought = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_emotions, field_name)); - n_thought->m_field_name = field_name; - n_thought->m_df_type = DF_Type::unit_thought_type; - n_thought->m_rdf_type = RDF_Type::Enum; - n_thought->m_node_type = NodeType::Enum; - n_thought->m_base_type = DF_Type::int32_t; - n_thought->m_enum_type = "unit_thought_type"; - n_thought->m_address = base + offset; - n_thought->m_defined_in = "df.unit-thoughts.xml"; - n_thought->m_first_value = -1; - n_thought->m_last_value = 242; - n_thought->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_thought); - - field_name = "subthought"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_emotions, field_name)); - auto n_subthought = new NodeSimple; - n_subthought->m_field_name = field_name; - n_subthought->m_df_type = DF_Type::int32_t; - n_subthought->m_rdf_type = RDF_Type::int32_t; - n_subthought->m_node_type = NodeType::Simple; - n_subthought->m_address = base + offset; - n_subthought->m_comment = "for certain thoughts"; - n_subthought->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_subthought); - - field_name = "severity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_emotions, field_name)); - auto n_severity = new NodeSimple; - n_severity->m_field_name = field_name; - n_severity->m_df_type = DF_Type::int32_t; - n_severity->m_rdf_type = RDF_Type::int32_t; - n_severity->m_node_type = NodeType::Simple; - n_severity->m_address = base + offset; - n_severity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_severity); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_emotions, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::unit_personality__T_emotions__T_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "unk7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_emotions, field_name)); - auto n_unk7 = new NodeSimple; - n_unk7->m_field_name = field_name; - n_unk7->m_df_type = DF_Type::int32_t; - n_unk7->m_rdf_type = RDF_Type::int32_t; - n_unk7->m_node_type = NodeType::Simple; - n_unk7->m_address = base + offset; - n_unk7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk7); - - field_name = "year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_emotions, field_name)); - auto n_year = new NodeSimple; - n_year->m_field_name = field_name; - n_year->m_df_type = DF_Type::int32_t; - n_year->m_rdf_type = RDF_Type::int32_t; - n_year->m_node_type = NodeType::Simple; - n_year->m_address = base + offset; - n_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_year); - - field_name = "year_tick"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_emotions, field_name)); - auto n_year_tick = new NodeSimple; - n_year_tick->m_field_name = field_name; - n_year_tick->m_df_type = DF_Type::int32_t; - n_year_tick->m_rdf_type = RDF_Type::int32_t; - n_year_tick->m_node_type = NodeType::Simple; - n_year_tick->m_address = base + offset; - n_year_tick->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_year_tick); - -} -void node_from_unit_personality__T_dreams(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_dreams, field_name)); - auto n_unk1 = new NodeSimple; - n_unk1->m_field_name = field_name; - n_unk1->m_df_type = DF_Type::int32_t; - n_unk1->m_rdf_type = RDF_Type::int32_t; - n_unk1->m_node_type = NodeType::Simple; - n_unk1->m_address = base + offset; - n_unk1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk1); - - field_name = "type"; - auto n_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_dreams, field_name)); - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::goal_type; - n_type->m_rdf_type = RDF_Type::Enum; - n_type->m_node_type = NodeType::Enum; - n_type->m_base_type = DF_Type::int32_t; - n_type->m_enum_type = "goal_type"; - n_type->m_address = base + offset; - n_type->m_defined_in = "df.units.xml"; - n_type->m_first_value = 0; - n_type->m_last_value = 12; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - - field_name = "unk3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_dreams, field_name)); - auto n_unk3 = new NodeSimple; - n_unk3->m_field_name = field_name; - n_unk3->m_df_type = DF_Type::int32_t; - n_unk3->m_rdf_type = RDF_Type::int32_t; - n_unk3->m_node_type = NodeType::Simple; - n_unk3->m_address = base + offset; - n_unk3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk3); - - field_name = "unk4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_dreams, field_name)); - auto n_unk4 = new NodeVector; - n_unk4->m_field_name = field_name; - n_unk4->m_df_type = DF_Type::int32_t; - n_unk4->m_rdf_type = RDF_Type::Vector; - n_unk4->m_node_type = NodeType::Vector; - n_unk4->m_addornements = "v"; - n_unk4->m_address = base + offset; - n_unk4->m_parent = p_node_parent; - n_unk4->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk4); - - field_name = "unk8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_dreams, field_name)); - auto n_unk8 = new NodeSimple; - n_unk8->m_field_name = field_name; - n_unk8->m_df_type = DF_Type::int32_t; - n_unk8->m_rdf_type = RDF_Type::int32_t; - n_unk8->m_node_type = NodeType::Simple; - n_unk8->m_address = base + offset; - n_unk8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk8); - -} -void node_from_unit_personality__T_unk_v40_6(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_unk_v40_6, field_name)); - auto n_unk1 = new NodeSimple; - n_unk1->m_field_name = field_name; - n_unk1->m_df_type = DF_Type::int32_t; - n_unk1->m_rdf_type = RDF_Type::int32_t; - n_unk1->m_node_type = NodeType::Simple; - n_unk1->m_address = base + offset; - n_unk1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk1); - - field_name = "unk2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_unk_v40_6, field_name)); - auto n_unk2 = new NodeSimple; - n_unk2->m_field_name = field_name; - n_unk2->m_df_type = DF_Type::int32_t; - n_unk2->m_rdf_type = RDF_Type::int32_t; - n_unk2->m_node_type = NodeType::Simple; - n_unk2->m_address = base + offset; - n_unk2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk2); - - field_name = "unk3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_unk_v40_6, field_name)); - auto n_unk3 = new NodeSimple; - n_unk3->m_field_name = field_name; - n_unk3->m_df_type = DF_Type::int32_t; - n_unk3->m_rdf_type = RDF_Type::int32_t; - n_unk3->m_node_type = NodeType::Simple; - n_unk3->m_address = base + offset; - n_unk3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk3); - - field_name = "unk4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_unk_v40_6, field_name)); - auto n_unk4 = new NodeSimple; - n_unk4->m_field_name = field_name; - n_unk4->m_df_type = DF_Type::int32_t; - n_unk4->m_rdf_type = RDF_Type::int32_t; - n_unk4->m_node_type = NodeType::Simple; - n_unk4->m_address = base + offset; - n_unk4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk4); - - field_name = "unk5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_unk_v40_6, field_name)); - auto n_unk5 = new NodeSimple; - n_unk5->m_field_name = field_name; - n_unk5->m_df_type = DF_Type::int32_t; - n_unk5->m_rdf_type = RDF_Type::int32_t; - n_unk5->m_node_type = NodeType::Simple; - n_unk5->m_address = base + offset; - n_unk5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk5); - - field_name = "unk6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_unk_v40_6, field_name)); - auto n_unk6 = new NodeSimple; - n_unk6->m_field_name = field_name; - n_unk6->m_df_type = DF_Type::int32_t; - n_unk6->m_rdf_type = RDF_Type::int32_t; - n_unk6->m_node_type = NodeType::Simple; - n_unk6->m_address = base + offset; - n_unk6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk6); - -} -void node_from_unit_personality__T_unk5(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_unk5, field_name)); - auto n_unk1 = new NodeSimple; - n_unk1->m_field_name = field_name; - n_unk1->m_df_type = DF_Type::int16_t; - n_unk1->m_rdf_type = RDF_Type::int16_t; - n_unk1->m_node_type = NodeType::Simple; - n_unk1->m_address = base + offset; - n_unk1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk1); - - field_name = "unk2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_unk5, field_name)); - auto n_unk2 = new NodeSimple; - n_unk2->m_field_name = field_name; - n_unk2->m_df_type = DF_Type::int16_t; - n_unk2->m_rdf_type = RDF_Type::int16_t; - n_unk2->m_node_type = NodeType::Simple; - n_unk2->m_address = base + offset; - n_unk2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk2); - -} -void node_from_unit_personality__T_needs(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - auto n_id = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_needs, field_name)); - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::need_type; - n_id->m_rdf_type = RDF_Type::Enum; - n_id->m_node_type = NodeType::Enum; - n_id->m_base_type = DF_Type::int32_t; - n_id->m_enum_type = "need_type"; - n_id->m_address = base + offset; - n_id->m_defined_in = "df.units.xml"; - n_id->m_first_value = 0; - n_id->m_last_value = 29; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "deity_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_needs, field_name)); - auto n_deity_id = new NodeSimple; - n_deity_id->m_field_name = field_name; - n_deity_id->m_df_type = DF_Type::int32_t; - n_deity_id->m_rdf_type = RDF_Type::int32_t; - n_deity_id->m_node_type = NodeType::Simple; - n_deity_id->m_address = base + offset; - n_deity_id->m_comment = "for pray need"; - n_deity_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_deity_id); - - field_name = "focus_level"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_needs, field_name)); - auto n_focus_level = new NodeSimple; - n_focus_level->m_field_name = field_name; - n_focus_level->m_df_type = DF_Type::int32_t; - n_focus_level->m_rdf_type = RDF_Type::int32_t; - n_focus_level->m_node_type = NodeType::Simple; - n_focus_level->m_address = base + offset; - n_focus_level->m_comment = "goes to 400 when unit satisfies need"; - n_focus_level->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_focus_level); - - field_name = "need_level"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_needs, field_name)); - auto n_need_level = new NodeSimple; - n_need_level->m_field_name = field_name; - n_need_level->m_df_type = DF_Type::int32_t; - n_need_level->m_rdf_type = RDF_Type::int32_t; - n_need_level->m_node_type = NodeType::Simple; - n_need_level->m_address = base + offset; - n_need_level->m_comment = "how fast focus_level decreases when it below 0"; - n_need_level->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_need_level); - -} -void node_from_unit_personality(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "values"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality, field_name)); - auto n_values = new NodeVector; - n_values->m_field_name = field_name; - n_values->m_df_type = DF_Type::unit_personality__T_values; - n_values->m_rdf_type = RDF_Type::Vector; - n_values->m_node_type = NodeType::Vector; - n_values->m_addornements = "v*"; - n_values->m_address = base + offset; - n_values->m_parent = p_node_parent; - n_values->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_values); - - field_name = "unk_v40_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality, field_name)); - auto n_unk_v40_2 = new NodeVector; - n_unk_v40_2->m_field_name = field_name; - n_unk_v40_2->m_df_type = DF_Type::unit_personality__T_unk_v40_2; - n_unk_v40_2->m_rdf_type = RDF_Type::Vector; - n_unk_v40_2->m_node_type = NodeType::Vector; - n_unk_v40_2->m_addornements = "v*"; - n_unk_v40_2->m_address = base + offset; - n_unk_v40_2->m_parent = p_node_parent; - n_unk_v40_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_v40_2); - - field_name = "emotions"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality, field_name)); - auto n_emotions = new NodeVector; - n_emotions->m_field_name = field_name; - n_emotions->m_df_type = DF_Type::unit_personality__T_emotions; - n_emotions->m_rdf_type = RDF_Type::Vector; - n_emotions->m_node_type = NodeType::Vector; - n_emotions->m_addornements = "v*"; - n_emotions->m_address = base + offset; - n_emotions->m_parent = p_node_parent; - n_emotions->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_emotions); - - field_name = "dreams"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality, field_name)); - auto n_dreams = new NodeVector; - n_dreams->m_field_name = field_name; - n_dreams->m_df_type = DF_Type::unit_personality__T_dreams; - n_dreams->m_rdf_type = RDF_Type::Vector; - n_dreams->m_node_type = NodeType::Vector; - n_dreams->m_addornements = "v*"; - n_dreams->m_address = base + offset; - n_dreams->m_parent = p_node_parent; - n_dreams->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_dreams); - - field_name = "next_dream_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality, field_name)); - auto n_next_dream_id = new NodeSimple; - n_next_dream_id->m_field_name = field_name; - n_next_dream_id->m_df_type = DF_Type::int32_t; - n_next_dream_id->m_rdf_type = RDF_Type::int32_t; - n_next_dream_id->m_node_type = NodeType::Simple; - n_next_dream_id->m_address = base + offset; - n_next_dream_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_next_dream_id); - - field_name = "unk_v40_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality, field_name)); - auto n_unk_v40_6 = new NodeVector; - n_unk_v40_6->m_field_name = field_name; - n_unk_v40_6->m_df_type = DF_Type::unit_personality__T_unk_v40_6; - n_unk_v40_6->m_rdf_type = RDF_Type::Vector; - n_unk_v40_6->m_node_type = NodeType::Vector; - n_unk_v40_6->m_addornements = "v*"; - n_unk_v40_6->m_address = base + offset; - n_unk_v40_6->m_parent = p_node_parent; - n_unk_v40_6->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_v40_6); - - field_name = "traits"; - auto n_traits = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality, field_name)); - n_traits->m_field_name = field_name; - n_traits->m_df_type = DF_Type::uint16_t; - n_traits->m_rdf_type = RDF_Type::Array; - n_traits->m_node_type = NodeType::Array; - n_traits->m_index_enum = DF_Type::personality_facet_type; - n_traits->m_addornements = "[50"; - n_traits->m_array_size = 50; - n_traits->m_address = base + offset; - n_traits->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_traits); - - field_name = "civ_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality, field_name)); - auto n_civ_id = new NodeSimple; - n_civ_id->m_field_name = field_name; - n_civ_id->m_df_type = DF_Type::int32_t; - n_civ_id->m_rdf_type = RDF_Type::int32_t; - n_civ_id->m_node_type = NodeType::Simple; - n_civ_id->m_address = base + offset; - n_civ_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_civ_id); - - field_name = "cultural_identity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality, field_name)); - auto n_cultural_identity = new NodeSimple; - n_cultural_identity->m_field_name = field_name; - n_cultural_identity->m_df_type = DF_Type::int32_t; - n_cultural_identity->m_rdf_type = RDF_Type::int32_t; - n_cultural_identity->m_node_type = NodeType::Simple; - n_cultural_identity->m_address = base + offset; - n_cultural_identity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cultural_identity); - - field_name = "unk5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality, field_name)); - auto n_unk5 = new NodeVector; - n_unk5->m_field_name = field_name; - n_unk5->m_df_type = DF_Type::unit_personality__T_unk5; - n_unk5->m_rdf_type = RDF_Type::Vector; - n_unk5->m_node_type = NodeType::Vector; - n_unk5->m_addornements = "v*"; - n_unk5->m_address = base + offset; - n_unk5->m_parent = p_node_parent; - n_unk5->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk5); - - field_name = "unk6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality, field_name)); - auto n_unk6 = new NodeVector; - n_unk6->m_field_name = field_name; - n_unk6->m_df_type = DF_Type::int16_t; - n_unk6->m_rdf_type = RDF_Type::Vector; - n_unk6->m_node_type = NodeType::Vector; - n_unk6->m_addornements = "v"; - n_unk6->m_address = base + offset; - n_unk6->m_parent = p_node_parent; - n_unk6->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk6); - - field_name = "stress_level"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality, field_name)); - auto n_stress_level = new NodeSimple; - n_stress_level->m_field_name = field_name; - n_stress_level->m_df_type = DF_Type::int32_t; - n_stress_level->m_rdf_type = RDF_Type::int32_t; - n_stress_level->m_node_type = NodeType::Simple; - n_stress_level->m_address = base + offset; - n_stress_level->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_stress_level); - - field_name = "stress_drain"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality, field_name)); - auto n_stress_drain = new NodeSimple; - n_stress_drain->m_field_name = field_name; - n_stress_drain->m_df_type = DF_Type::int32_t; - n_stress_drain->m_rdf_type = RDF_Type::int32_t; - n_stress_drain->m_node_type = NodeType::Simple; - n_stress_drain->m_address = base + offset; - n_stress_drain->m_comment = "range 0-806400, higher values cause stress to decrease quicker"; - n_stress_drain->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_stress_drain); - - field_name = "stress_boost"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality, field_name)); - auto n_stress_boost = new NodeSimple; - n_stress_boost->m_field_name = field_name; - n_stress_boost->m_df_type = DF_Type::int32_t; - n_stress_boost->m_rdf_type = RDF_Type::int32_t; - n_stress_boost->m_node_type = NodeType::Simple; - n_stress_boost->m_address = base + offset; - n_stress_boost->m_comment = "range 0-806400, higher values cause stress to increase quicker"; - n_stress_boost->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_stress_boost); - - field_name = "likes_outdoors"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality, field_name)); - auto n_likes_outdoors = new NodeSimple; - n_likes_outdoors->m_field_name = field_name; - n_likes_outdoors->m_df_type = DF_Type::int32_t; - n_likes_outdoors->m_rdf_type = RDF_Type::int32_t; - n_likes_outdoors->m_node_type = NodeType::Simple; - n_likes_outdoors->m_address = base + offset; - n_likes_outdoors->m_comment = "migrated from misc_traits"; - n_likes_outdoors->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_likes_outdoors); - - field_name = "combat_hardened"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality, field_name)); - auto n_combat_hardened = new NodeSimple; - n_combat_hardened->m_field_name = field_name; - n_combat_hardened->m_df_type = DF_Type::int32_t; - n_combat_hardened->m_rdf_type = RDF_Type::int32_t; - n_combat_hardened->m_node_type = NodeType::Simple; - n_combat_hardened->m_address = base + offset; - n_combat_hardened->m_comment = "migrated from misc_traits"; - n_combat_hardened->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_combat_hardened); - - field_name = "needs"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality, field_name)); - auto n_needs = new NodeVector; - n_needs->m_field_name = field_name; - n_needs->m_df_type = DF_Type::unit_personality__T_needs; - n_needs->m_rdf_type = RDF_Type::Vector; - n_needs->m_node_type = NodeType::Vector; - n_needs->m_addornements = "v*"; - n_needs->m_address = base + offset; - n_needs->m_parent = p_node_parent; - n_needs->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_needs); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::unit_personality__T_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "temporary_trait_changes"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality, field_name)); - auto n_temporary_trait_changes = new NodePointer; - n_temporary_trait_changes->m_field_name = field_name; - n_temporary_trait_changes->m_df_type = get_real_subtype(base+offset, DF_Type::int16_t); - n_temporary_trait_changes->m_rdf_type = RDF_Type::Pointer; - n_temporary_trait_changes->m_node_type = NodeType::Pointer; - n_temporary_trait_changes->m_addornements = "*[50"; - n_temporary_trait_changes->m_address = base + offset; - n_temporary_trait_changes->m_comment = "sum of inebriation or so personality changing effects"; - n_temporary_trait_changes->m_parent = p_node_parent; - n_temporary_trait_changes->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_temporary_trait_changes); - - field_name = "unk_v4201_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality, field_name)); - auto n_unk_v4201_3 = new NodeSimple; - n_unk_v4201_3->m_field_name = field_name; - n_unk_v4201_3->m_df_type = DF_Type::int32_t; - n_unk_v4201_3->m_rdf_type = RDF_Type::int32_t; - n_unk_v4201_3->m_node_type = NodeType::Simple; - n_unk_v4201_3->m_address = base + offset; - n_unk_v4201_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v4201_3); - - field_name = "unk_v4201_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality, field_name)); - auto n_unk_v4201_4 = new NodeSimple; - n_unk_v4201_4->m_field_name = field_name; - n_unk_v4201_4->m_df_type = DF_Type::int32_t; - n_unk_v4201_4->m_rdf_type = RDF_Type::int32_t; - n_unk_v4201_4->m_node_type = NodeType::Simple; - n_unk_v4201_4->m_address = base + offset; - n_unk_v4201_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v4201_4); - - field_name = "unk_v4410_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality, field_name)); - auto n_unk_v4410_1 = new NodePointer; - n_unk_v4410_1->m_field_name = field_name; - n_unk_v4410_1->m_df_type = get_real_subtype(base+offset, DF_Type::int32_t); - n_unk_v4410_1->m_rdf_type = RDF_Type::Pointer; - n_unk_v4410_1->m_node_type = NodeType::Pointer; - n_unk_v4410_1->m_addornements = "*"; - n_unk_v4410_1->m_address = base + offset; - n_unk_v4410_1->m_comment = "length is multiple of 9?"; - n_unk_v4410_1->m_parent = p_node_parent; - n_unk_v4410_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_v4410_1); - - field_name = "current_focus"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality, field_name)); - auto n_current_focus = new NodeSimple; - n_current_focus->m_field_name = field_name; - n_current_focus->m_df_type = DF_Type::int32_t; - n_current_focus->m_rdf_type = RDF_Type::int32_t; - n_current_focus->m_node_type = NodeType::Simple; - n_current_focus->m_address = base + offset; - n_current_focus->m_comment = "weighted sum of needs focus_level-s"; - n_current_focus->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_current_focus); - - field_name = "undistracted_focus"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality, field_name)); - auto n_undistracted_focus = new NodeSimple; - n_undistracted_focus->m_field_name = field_name; - n_undistracted_focus->m_df_type = DF_Type::int32_t; - n_undistracted_focus->m_rdf_type = RDF_Type::int32_t; - n_undistracted_focus->m_node_type = NodeType::Simple; - n_undistracted_focus->m_address = base + offset; - n_undistracted_focus->m_comment = "usually number of needs multiplied by 4"; - n_undistracted_focus->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_undistracted_focus); - -} -void node_from_historical_figure_info__T_skills(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "skills"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_skills, field_name)); - auto n_skills = new NodeVector; - n_skills->m_field_name = field_name; - n_skills->m_df_type = DF_Type::job_skill; - n_skills->m_rdf_type = RDF_Type::Vector; - n_skills->m_node_type = NodeType::Vector; - n_skills->m_enum_base = DF_Type::int16_t; - n_skills->m_defined_in = "df.skills.xml"; - n_skills->m_addornements = "v"; - n_skills->m_address = base + offset; - n_skills->m_parent = p_node_parent; - n_skills->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_skills); - - field_name = "points"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_skills, field_name)); - auto n_points = new NodeVector; - n_points->m_field_name = field_name; - n_points->m_df_type = DF_Type::int32_t; - n_points->m_rdf_type = RDF_Type::Vector; - n_points->m_node_type = NodeType::Vector; - n_points->m_addornements = "v"; - n_points->m_address = base + offset; - n_points->m_refers_to = "$$._parent.skills[$]"; - n_points->m_parent = p_node_parent; - n_points->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_points); - - field_name = "unk_20"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_skills, field_name)); - auto n_unk_20 = new NodeVector; - n_unk_20->m_field_name = field_name; - n_unk_20->m_df_type = DF_Type::int16_t; - n_unk_20->m_rdf_type = RDF_Type::Vector; - n_unk_20->m_node_type = NodeType::Vector; - n_unk_20->m_addornements = "v"; - n_unk_20->m_address = base + offset; - n_unk_20->m_parent = p_node_parent; - n_unk_20->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_20); - - field_name = "unk_30"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_skills, field_name)); - auto n_unk_30 = new NodeVector; - n_unk_30->m_field_name = field_name; - n_unk_30->m_df_type = DF_Type::int32_t; - n_unk_30->m_rdf_type = RDF_Type::Vector; - n_unk_30->m_node_type = NodeType::Vector; - n_unk_30->m_addornements = "v"; - n_unk_30->m_address = base + offset; - n_unk_30->m_parent = p_node_parent; - n_unk_30->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_30); - - field_name = "profession"; - auto n_profession = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_skills, field_name)); - n_profession->m_field_name = field_name; - n_profession->m_df_type = DF_Type::profession; - n_profession->m_rdf_type = RDF_Type::Enum; - n_profession->m_node_type = NodeType::Enum; - n_profession->m_base_type = DF_Type::int16_t; - n_profession->m_enum_type = "profession"; - n_profession->m_address = base + offset; - n_profession->m_defined_in = "df.skills.xml"; - n_profession->m_first_value = -1; - n_profession->m_last_value = 134; - n_profession->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_profession); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_skills, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_historical_figure_info__T_personality(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - auto n_anon_1 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_personality, field_name)); - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::unit_personality; - n_anon_1->m_rdf_type = RDF_Type::Struct; - n_anon_1->m_node_type = NodeType::Compound; - n_anon_1->m_address = base + offset; - n_anon_1->m_defined_in = "df.units.xml"; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_personality, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int16_t; - n_anon_2->m_rdf_type = RDF_Type::int16_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - -} -void node_from_historical_figure_info__T_masterpieces(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "events"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_masterpieces, field_name)); - auto n_events = new NodeVector; - n_events->m_field_name = field_name; - n_events->m_df_type = DF_Type::int32_t; - n_events->m_rdf_type = RDF_Type::Vector; - n_events->m_node_type = NodeType::Vector; - n_events->m_addornements = "v"; - n_events->m_address = base + offset; - n_events->m_parent = p_node_parent; - n_events->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_events); - - field_name = "events2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_masterpieces, field_name)); - auto n_events2 = new NodeVector; - n_events2->m_field_name = field_name; - n_events2->m_df_type = DF_Type::int32_t; - n_events2->m_rdf_type = RDF_Type::Vector; - n_events2->m_node_type = NodeType::Vector; - n_events2->m_addornements = "v"; - n_events2->m_address = base + offset; - n_events2->m_comment = "ones that were stolen or destroyed?"; - n_events2->m_parent = p_node_parent; - n_events2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_events2); - - field_name = "unk_v43_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_masterpieces, field_name)); - auto n_unk_v43_1 = new NodeVector; - n_unk_v43_1->m_field_name = field_name; - n_unk_v43_1->m_df_type = DF_Type::int32_t; - n_unk_v43_1->m_rdf_type = RDF_Type::Vector; - n_unk_v43_1->m_node_type = NodeType::Vector; - n_unk_v43_1->m_addornements = "v"; - n_unk_v43_1->m_address = base + offset; - n_unk_v43_1->m_parent = p_node_parent; - n_unk_v43_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_v43_1); - - field_name = "unk_v43_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_masterpieces, field_name)); - auto n_unk_v43_2 = new NodeVector; - n_unk_v43_2->m_field_name = field_name; - n_unk_v43_2->m_df_type = DF_Type::int16_t; - n_unk_v43_2->m_rdf_type = RDF_Type::Vector; - n_unk_v43_2->m_node_type = NodeType::Vector; - n_unk_v43_2->m_addornements = "v"; - n_unk_v43_2->m_address = base + offset; - n_unk_v43_2->m_parent = p_node_parent; - n_unk_v43_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_v43_2); - -} -void node_from_historical_figure_info__T_unk_14(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk_0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_unk_14, field_name)); - auto n_unk_0 = new NodeSimple; - n_unk_0->m_field_name = field_name; - n_unk_0->m_df_type = DF_Type::int16_t; - n_unk_0->m_rdf_type = RDF_Type::int16_t; - n_unk_0->m_node_type = NodeType::Simple; - n_unk_0->m_address = base + offset; - n_unk_0->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_0); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_unk_14, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "region_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_unk_14, field_name)); - auto n_region_id = new NodeSimple; - n_region_id->m_field_name = field_name; - n_region_id->m_df_type = DF_Type::int32_t; - n_region_id->m_rdf_type = RDF_Type::int32_t; - n_region_id->m_node_type = NodeType::Simple; - n_region_id->m_address = base + offset; - n_region_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region_id); - - field_name = "beast_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_unk_14, field_name)); - auto n_beast_id = new NodeSimple; - n_beast_id->m_field_name = field_name; - n_beast_id->m_df_type = DF_Type::int32_t; - n_beast_id->m_rdf_type = RDF_Type::int32_t; - n_beast_id->m_node_type = NodeType::Simple; - n_beast_id->m_address = base + offset; - n_beast_id->m_comment = "for FB"; - n_beast_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_beast_id); - - field_name = "army_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_unk_14, field_name)); - auto n_army_id = new NodeSimple; - n_army_id->m_field_name = field_name; - n_army_id->m_df_type = DF_Type::int32_t; - n_army_id->m_rdf_type = RDF_Type::int32_t; - n_army_id->m_node_type = NodeType::Simple; - n_army_id->m_address = base + offset; - n_army_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_army_id); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_unk_14, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_unk_14, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_unk_14, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_unk_14, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "region"; - auto n_region = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_unk_14, field_name)); - n_region->m_field_name = field_name; - n_region->m_df_type = DF_Type::coord2d; - n_region->m_rdf_type = RDF_Type::Struct; - n_region->m_node_type = NodeType::Compound; - n_region->m_address = base + offset; - n_region->m_defined_in = "df.map.xml"; - n_region->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region); - - field_name = "unk_14"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_unk_14, field_name)); - auto n_unk_14 = new NodeSimple; - n_unk_14->m_field_name = field_name; - n_unk_14->m_df_type = DF_Type::int8_t; - n_unk_14->m_rdf_type = RDF_Type::int8_t; - n_unk_14->m_node_type = NodeType::Simple; - n_unk_14->m_address = base + offset; - n_unk_14->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_14); - - field_name = "unk_18"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_unk_14, field_name)); - auto n_unk_18 = new NodeSimple; - n_unk_18->m_field_name = field_name; - n_unk_18->m_df_type = DF_Type::int32_t; - n_unk_18->m_rdf_type = RDF_Type::int32_t; - n_unk_18->m_node_type = NodeType::Simple; - n_unk_18->m_address = base + offset; - n_unk_18->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_18); - - field_name = "unk_1c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_unk_14, field_name)); - auto n_unk_1c = new NodeSimple; - n_unk_1c->m_field_name = field_name; - n_unk_1c->m_df_type = DF_Type::int32_t; - n_unk_1c->m_rdf_type = RDF_Type::int32_t; - n_unk_1c->m_node_type = NodeType::Simple; - n_unk_1c->m_address = base + offset; - n_unk_1c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_1c); - - field_name = "unk_34"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_unk_14, field_name)); - auto n_unk_34 = new NodeSimple; - n_unk_34->m_field_name = field_name; - n_unk_34->m_df_type = DF_Type::int32_t; - n_unk_34->m_rdf_type = RDF_Type::int32_t; - n_unk_34->m_node_type = NodeType::Simple; - n_unk_34->m_address = base + offset; - n_unk_34->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_34); - - field_name = "unk_38"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_unk_14, field_name)); - auto n_unk_38 = new NodeSimple; - n_unk_38->m_field_name = field_name; - n_unk_38->m_df_type = DF_Type::int16_t; - n_unk_38->m_rdf_type = RDF_Type::int16_t; - n_unk_38->m_node_type = NodeType::Simple; - n_unk_38->m_address = base + offset; - n_unk_38->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_38); - - field_name = "unk_3a"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_unk_14, field_name)); - auto n_unk_3a = new NodeSimple; - n_unk_3a->m_field_name = field_name; - n_unk_3a->m_df_type = DF_Type::int16_t; - n_unk_3a->m_rdf_type = RDF_Type::int16_t; - n_unk_3a->m_node_type = NodeType::Simple; - n_unk_3a->m_address = base + offset; - n_unk_3a->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_3a); - -} -void node_from_historical_figure_info__T_wounds(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "events"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_wounds, field_name)); - auto n_events = new NodeVector; - n_events->m_field_name = field_name; - n_events->m_df_type = DF_Type::int32_t; - n_events->m_rdf_type = RDF_Type::Vector; - n_events->m_node_type = NodeType::Vector; - n_events->m_addornements = "v"; - n_events->m_address = base + offset; - n_events->m_parent = p_node_parent; - n_events->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_events); - - field_name = "status"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_wounds, field_name)); - auto n_status = new NodeVector; - n_status->m_field_name = field_name; - n_status->m_df_type = DF_Type::Bool; - n_status->m_rdf_type = RDF_Type::Vector; - n_status->m_node_type = NodeType::Vector; - n_status->m_addornements = "v"; - n_status->m_address = base + offset; - n_status->m_parent = p_node_parent; - n_status->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_status); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_wounds, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_wounds, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_wounds, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - -} -void node_from_historical_figure_info__T_secret__T_anon_1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_anon_1, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_anon_1, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_anon_1, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_anon_1, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_anon_1, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_anon_1, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - -} -void node_from_historical_figure_info__T_secret__T_anon_7(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_anon_7, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_anon_7, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_anon_7, field_name)); - auto n_anon_3 = new NodeVector; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::Vector; - n_anon_3->m_node_type = NodeType::Vector; - n_anon_3->m_addornements = "v"; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - n_anon_3->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_anon_7, field_name)); - auto n_anon_4 = new NodeVector; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::Vector; - n_anon_4->m_node_type = NodeType::Vector; - n_anon_4->m_addornements = "v"; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - n_anon_4->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_anon_7, field_name)); - auto n_anon_5 = new NodeVector; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::Vector; - n_anon_5->m_node_type = NodeType::Vector; - n_anon_5->m_addornements = "v"; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - n_anon_5->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_5); - -} -void node_from_historical_figure_info__T_secret__T_knowledge(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "philosophy"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_knowledge, field_name)); - auto n_philosophy = new NodeBitfield; - n_philosophy->m_field_name = field_name; - n_philosophy->m_df_type = DF_Type::knowledge_scholar_flags_0; - n_philosophy->m_rdf_type = RDF_Type::Bitfield; - n_philosophy->m_node_type = NodeType::Bitfield; - n_philosophy->m_address = base + offset; - n_philosophy->m_defined_in = "df.knowledge.xml"; - n_philosophy->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_philosophy); - - field_name = "philosophy2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_knowledge, field_name)); - auto n_philosophy2 = new NodeBitfield; - n_philosophy2->m_field_name = field_name; - n_philosophy2->m_df_type = DF_Type::knowledge_scholar_flags_1; - n_philosophy2->m_rdf_type = RDF_Type::Bitfield; - n_philosophy2->m_node_type = NodeType::Bitfield; - n_philosophy2->m_address = base + offset; - n_philosophy2->m_defined_in = "df.knowledge.xml"; - n_philosophy2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_philosophy2); - - field_name = "math"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_knowledge, field_name)); - auto n_math = new NodeBitfield; - n_math->m_field_name = field_name; - n_math->m_df_type = DF_Type::knowledge_scholar_flags_2; - n_math->m_rdf_type = RDF_Type::Bitfield; - n_math->m_node_type = NodeType::Bitfield; - n_math->m_address = base + offset; - n_math->m_defined_in = "df.knowledge.xml"; - n_math->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_math); - - field_name = "math2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_knowledge, field_name)); - auto n_math2 = new NodeBitfield; - n_math2->m_field_name = field_name; - n_math2->m_df_type = DF_Type::knowledge_scholar_flags_3; - n_math2->m_rdf_type = RDF_Type::Bitfield; - n_math2->m_node_type = NodeType::Bitfield; - n_math2->m_address = base + offset; - n_math2->m_defined_in = "df.knowledge.xml"; - n_math2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_math2); - - field_name = "history"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_knowledge, field_name)); - auto n_history = new NodeBitfield; - n_history->m_field_name = field_name; - n_history->m_df_type = DF_Type::knowledge_scholar_flags_4; - n_history->m_rdf_type = RDF_Type::Bitfield; - n_history->m_node_type = NodeType::Bitfield; - n_history->m_address = base + offset; - n_history->m_defined_in = "df.knowledge.xml"; - n_history->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_history); - - field_name = "astronomy"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_knowledge, field_name)); - auto n_astronomy = new NodeBitfield; - n_astronomy->m_field_name = field_name; - n_astronomy->m_df_type = DF_Type::knowledge_scholar_flags_5; - n_astronomy->m_rdf_type = RDF_Type::Bitfield; - n_astronomy->m_node_type = NodeType::Bitfield; - n_astronomy->m_address = base + offset; - n_astronomy->m_defined_in = "df.knowledge.xml"; - n_astronomy->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_astronomy); - - field_name = "naturalist"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_knowledge, field_name)); - auto n_naturalist = new NodeBitfield; - n_naturalist->m_field_name = field_name; - n_naturalist->m_df_type = DF_Type::knowledge_scholar_flags_6; - n_naturalist->m_rdf_type = RDF_Type::Bitfield; - n_naturalist->m_node_type = NodeType::Bitfield; - n_naturalist->m_address = base + offset; - n_naturalist->m_defined_in = "df.knowledge.xml"; - n_naturalist->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_naturalist); - - field_name = "chemistry"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_knowledge, field_name)); - auto n_chemistry = new NodeBitfield; - n_chemistry->m_field_name = field_name; - n_chemistry->m_df_type = DF_Type::knowledge_scholar_flags_7; - n_chemistry->m_rdf_type = RDF_Type::Bitfield; - n_chemistry->m_node_type = NodeType::Bitfield; - n_chemistry->m_address = base + offset; - n_chemistry->m_defined_in = "df.knowledge.xml"; - n_chemistry->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_chemistry); - - field_name = "geography"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_knowledge, field_name)); - auto n_geography = new NodeBitfield; - n_geography->m_field_name = field_name; - n_geography->m_df_type = DF_Type::knowledge_scholar_flags_8; - n_geography->m_rdf_type = RDF_Type::Bitfield; - n_geography->m_node_type = NodeType::Bitfield; - n_geography->m_address = base + offset; - n_geography->m_defined_in = "df.knowledge.xml"; - n_geography->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_geography); - - field_name = "medicine"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_knowledge, field_name)); - auto n_medicine = new NodeBitfield; - n_medicine->m_field_name = field_name; - n_medicine->m_df_type = DF_Type::knowledge_scholar_flags_9; - n_medicine->m_rdf_type = RDF_Type::Bitfield; - n_medicine->m_node_type = NodeType::Bitfield; - n_medicine->m_address = base + offset; - n_medicine->m_defined_in = "df.knowledge.xml"; - n_medicine->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_medicine); - - field_name = "medicine2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_knowledge, field_name)); - auto n_medicine2 = new NodeBitfield; - n_medicine2->m_field_name = field_name; - n_medicine2->m_df_type = DF_Type::knowledge_scholar_flags_10; - n_medicine2->m_rdf_type = RDF_Type::Bitfield; - n_medicine2->m_node_type = NodeType::Bitfield; - n_medicine2->m_address = base + offset; - n_medicine2->m_defined_in = "df.knowledge.xml"; - n_medicine2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_medicine2); - - field_name = "medicine3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_knowledge, field_name)); - auto n_medicine3 = new NodeBitfield; - n_medicine3->m_field_name = field_name; - n_medicine3->m_df_type = DF_Type::knowledge_scholar_flags_11; - n_medicine3->m_rdf_type = RDF_Type::Bitfield; - n_medicine3->m_node_type = NodeType::Bitfield; - n_medicine3->m_address = base + offset; - n_medicine3->m_defined_in = "df.knowledge.xml"; - n_medicine3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_medicine3); - - field_name = "engineering"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_knowledge, field_name)); - auto n_engineering = new NodeBitfield; - n_engineering->m_field_name = field_name; - n_engineering->m_df_type = DF_Type::knowledge_scholar_flags_12; - n_engineering->m_rdf_type = RDF_Type::Bitfield; - n_engineering->m_node_type = NodeType::Bitfield; - n_engineering->m_address = base + offset; - n_engineering->m_defined_in = "df.knowledge.xml"; - n_engineering->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_engineering); - - field_name = "engineering2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_knowledge, field_name)); - auto n_engineering2 = new NodeBitfield; - n_engineering2->m_field_name = field_name; - n_engineering2->m_df_type = DF_Type::knowledge_scholar_flags_13; - n_engineering2->m_rdf_type = RDF_Type::Bitfield; - n_engineering2->m_node_type = NodeType::Bitfield; - n_engineering2->m_address = base + offset; - n_engineering2->m_defined_in = "df.knowledge.xml"; - n_engineering2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_engineering2); - - field_name = "knowledge_goal_category"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_knowledge, field_name)); - auto n_knowledge_goal_category = new NodeSimple; - n_knowledge_goal_category->m_field_name = field_name; - n_knowledge_goal_category->m_df_type = DF_Type::uint16_t; - n_knowledge_goal_category->m_rdf_type = RDF_Type::uint16_t; - n_knowledge_goal_category->m_node_type = NodeType::Simple; - n_knowledge_goal_category->m_address = base + offset; - n_knowledge_goal_category->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_knowledge_goal_category); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_knowledge, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::uint16_t; - n_anon_1->m_rdf_type = RDF_Type::uint16_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_knowledge, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::uint32_t; - n_anon_2->m_rdf_type = RDF_Type::uint32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_knowledge, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::uint32_t; - n_anon_3->m_rdf_type = RDF_Type::uint32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_knowledge, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::uint32_t; - n_anon_4->m_rdf_type = RDF_Type::uint32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "knowledge_goal"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_knowledge, field_name)); - auto n_knowledge_goal = new NodeBitfield; - n_knowledge_goal->m_field_name = field_name; - n_knowledge_goal->m_df_type = DF_Type::historical_figure_info__T_secret__T_knowledge__T_knowledge_goal; - n_knowledge_goal->m_rdf_type = RDF_Type::Bitfield; - n_knowledge_goal->m_node_type = NodeType::Bitfield; - n_knowledge_goal->m_address = base + offset; - n_knowledge_goal->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_knowledge_goal); - - field_name = "research_points"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_knowledge, field_name)); - auto n_research_points = new NodeSimple; - n_research_points->m_field_name = field_name; - n_research_points->m_df_type = DF_Type::uint32_t; - n_research_points->m_rdf_type = RDF_Type::uint32_t; - n_research_points->m_node_type = NodeType::Simple; - n_research_points->m_address = base + offset; - n_research_points->m_comment = "research is finished at 100k? amount gained depends on skills, attributes"; - n_research_points->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_research_points); - - field_name = "times_pondered"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_knowledge, field_name)); - auto n_times_pondered = new NodeSimple; - n_times_pondered->m_field_name = field_name; - n_times_pondered->m_df_type = DF_Type::uint16_t; - n_times_pondered->m_rdf_type = RDF_Type::uint16_t; - n_times_pondered->m_node_type = NodeType::Simple; - n_times_pondered->m_address = base + offset; - n_times_pondered->m_comment = "one per ponder no matter what. turns into research_points somewhere around 40-60."; - n_times_pondered->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_times_pondered); - -} -void node_from_historical_figure_info__T_secret__T_unk_a8(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_unk_a8, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_unk_a8, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_unk_a8, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_unk_a8, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_unk_a8, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_unk_a8, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - auto n_anon_7 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_unk_a8, field_name)); - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::int32_t; - n_anon_7->m_rdf_type = RDF_Type::Array; - n_anon_7->m_node_type = NodeType::Array; - n_anon_7->m_addornements = "[8"; - n_anon_7->m_array_size = 8; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_7); - -} -void node_from_historical_figure_info__T_secret(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "interactions"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret, field_name)); - auto n_interactions = new NodeVector; - n_interactions->m_field_name = field_name; - n_interactions->m_df_type = DF_Type::interaction; - n_interactions->m_rdf_type = RDF_Type::Vector; - n_interactions->m_node_type = NodeType::Vector; - n_interactions->m_defined_in = "df.interaction.xml"; - n_interactions->m_addornements = "v*"; - n_interactions->m_address = base + offset; - n_interactions->m_parent = p_node_parent; - n_interactions->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_interactions); - - field_name = "unk_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret, field_name)); - auto n_unk_10 = new NodeSimple; - n_unk_10->m_field_name = field_name; - n_unk_10->m_df_type = DF_Type::int32_t; - n_unk_10->m_rdf_type = RDF_Type::int32_t; - n_unk_10->m_node_type = NodeType::Simple; - n_unk_10->m_address = base + offset; - n_unk_10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_10); - - field_name = "known_written_contents"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret, field_name)); - auto n_known_written_contents = new NodeVector; - n_known_written_contents->m_field_name = field_name; - n_known_written_contents->m_df_type = DF_Type::int32_t; - n_known_written_contents->m_rdf_type = RDF_Type::Vector; - n_known_written_contents->m_node_type = NodeType::Vector; - n_known_written_contents->m_addornements = "v"; - n_known_written_contents->m_address = base + offset; - n_known_written_contents->m_comment = "ID of written_contents known to the historical figure. Aside from the contents of read books, these so-called written contents also include known derivations of poetic forms, dance forms and musical forms"; - n_known_written_contents->m_parent = p_node_parent; - n_known_written_contents->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_known_written_contents); - - field_name = "known_identities"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret, field_name)); - auto n_known_identities = new NodeVector; - n_known_identities->m_field_name = field_name; - n_known_identities->m_df_type = DF_Type::int32_t; - n_known_identities->m_rdf_type = RDF_Type::Vector; - n_known_identities->m_node_type = NodeType::Vector; - n_known_identities->m_addornements = "v"; - n_known_identities->m_address = base + offset; - n_known_identities->m_comment = "identity ID of identities known to the historical figure, such as demon true names"; - n_known_identities->m_parent = p_node_parent; - n_known_identities->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_known_identities); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret, field_name)); - auto n_anon_1 = new NodeVector; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::historical_figure_info__T_secret__T_anon_1; - n_anon_1->m_rdf_type = RDF_Type::Vector; - n_anon_1->m_node_type = NodeType::Vector; - n_anon_1->m_addornements = "v*"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret, field_name)); - auto n_anon_2 = new NodeVector; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::entity_event; - n_anon_2->m_rdf_type = RDF_Type::Vector; - n_anon_2->m_node_type = NodeType::Vector; - n_anon_2->m_defined_in = "df.entities.xml"; - n_anon_2->m_addornements = "v*"; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - n_anon_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret, field_name)); - auto n_anon_3 = new NodeVector; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::Vector; - n_anon_3->m_node_type = NodeType::Vector; - n_anon_3->m_addornements = "v"; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - n_anon_3->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret, field_name)); - auto n_anon_4 = new NodeVector; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::Vector; - n_anon_4->m_node_type = NodeType::Vector; - n_anon_4->m_addornements = "v"; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - n_anon_4->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret, field_name)); - auto n_anon_5 = new NodeVector; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::Vector; - n_anon_5->m_node_type = NodeType::Vector; - n_anon_5->m_addornements = "v"; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - n_anon_5->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret, field_name)); - auto n_anon_6 = new NodeVector; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::Vector; - n_anon_6->m_node_type = NodeType::Vector; - n_anon_6->m_addornements = "v"; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - n_anon_6->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret, field_name)); - auto n_anon_7 = new NodeVector; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::historical_figure_info__T_secret__T_anon_7; - n_anon_7->m_rdf_type = RDF_Type::Vector; - n_anon_7->m_node_type = NodeType::Vector; - n_anon_7->m_addornements = "v*"; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - n_anon_7->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_7); - - field_name = "known_poetic_forms"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret, field_name)); - auto n_known_poetic_forms = new NodeVector; - n_known_poetic_forms->m_field_name = field_name; - n_known_poetic_forms->m_df_type = DF_Type::int32_t; - n_known_poetic_forms->m_rdf_type = RDF_Type::Vector; - n_known_poetic_forms->m_node_type = NodeType::Vector; - n_known_poetic_forms->m_addornements = "v"; - n_known_poetic_forms->m_address = base + offset; - n_known_poetic_forms->m_parent = p_node_parent; - n_known_poetic_forms->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_known_poetic_forms); - - field_name = "known_musical_forms"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret, field_name)); - auto n_known_musical_forms = new NodeVector; - n_known_musical_forms->m_field_name = field_name; - n_known_musical_forms->m_df_type = DF_Type::int32_t; - n_known_musical_forms->m_rdf_type = RDF_Type::Vector; - n_known_musical_forms->m_node_type = NodeType::Vector; - n_known_musical_forms->m_addornements = "v"; - n_known_musical_forms->m_address = base + offset; - n_known_musical_forms->m_parent = p_node_parent; - n_known_musical_forms->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_known_musical_forms); - - field_name = "known_dance_forms"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret, field_name)); - auto n_known_dance_forms = new NodeVector; - n_known_dance_forms->m_field_name = field_name; - n_known_dance_forms->m_df_type = DF_Type::int32_t; - n_known_dance_forms->m_rdf_type = RDF_Type::Vector; - n_known_dance_forms->m_node_type = NodeType::Vector; - n_known_dance_forms->m_addornements = "v"; - n_known_dance_forms->m_address = base + offset; - n_known_dance_forms->m_parent = p_node_parent; - n_known_dance_forms->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_known_dance_forms); - - field_name = "knowledge"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret, field_name)); - auto n_knowledge = new NodePointer; - n_knowledge->m_field_name = field_name; - n_knowledge->m_df_type = get_real_subtype(base+offset, DF_Type::historical_figure_info__T_secret__T_knowledge); - n_knowledge->m_rdf_type = RDF_Type::Pointer; - n_knowledge->m_node_type = NodeType::Pointer; - n_knowledge->m_addornements = "*"; - n_knowledge->m_address = base + offset; - n_knowledge->m_parent = p_node_parent; - n_knowledge->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_knowledge); - - field_name = "belief_systems"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret, field_name)); - auto n_belief_systems = new NodePointer; - n_belief_systems->m_field_name = field_name; - n_belief_systems->m_df_type = get_real_subtype(base+offset, DF_Type::int32_t); - n_belief_systems->m_rdf_type = RDF_Type::Pointer; - n_belief_systems->m_node_type = NodeType::Pointer; - n_belief_systems->m_addornements = "*v"; - n_belief_systems->m_address = base + offset; - n_belief_systems->m_comment = "found in prophets; contains the ID of the belief system developed by that particular prophet"; - n_belief_systems->m_parent = p_node_parent; - n_belief_systems->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_belief_systems); - - field_name = "unk_a8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret, field_name)); - auto n_unk_a8 = new NodePointer; - n_unk_a8->m_field_name = field_name; - n_unk_a8->m_df_type = get_real_subtype(base+offset, DF_Type::historical_figure_info__T_secret__T_unk_a8); - n_unk_a8->m_rdf_type = RDF_Type::Pointer; - n_unk_a8->m_node_type = NodeType::Pointer; - n_unk_a8->m_addornements = "*v*"; - n_unk_a8->m_address = base + offset; - n_unk_a8->m_parent = p_node_parent; - n_unk_a8->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_a8); - -} -void node_from_historical_figure_info__T_curse(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "active_interactions"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_curse, field_name)); - auto n_active_interactions = new NodeVector; - n_active_interactions->m_field_name = field_name; - n_active_interactions->m_df_type = DF_Type::interaction; - n_active_interactions->m_rdf_type = RDF_Type::Vector; - n_active_interactions->m_node_type = NodeType::Vector; - n_active_interactions->m_defined_in = "df.interaction.xml"; - n_active_interactions->m_addornements = "v*"; - n_active_interactions->m_address = base + offset; - n_active_interactions->m_parent = p_node_parent; - n_active_interactions->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_active_interactions); - - field_name = "active_effects"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_curse, field_name)); - auto n_active_effects = new NodeVector; - n_active_effects->m_field_name = field_name; - n_active_effects->m_df_type = DF_Type::interaction_effect; - n_active_effects->m_rdf_type = RDF_Type::Vector; - n_active_effects->m_node_type = NodeType::Vector; - n_active_effects->m_defined_in = "df.interaction.xml"; - n_active_effects->m_addornements = "v*"; - n_active_effects->m_address = base + offset; - n_active_effects->m_parent = p_node_parent; - n_active_effects->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_active_effects); - - field_name = "can_do"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_curse, field_name)); - auto n_can_do = new NodeVector; - n_can_do->m_field_name = field_name; - n_can_do->m_df_type = DF_Type::interaction; - n_can_do->m_rdf_type = RDF_Type::Vector; - n_can_do->m_node_type = NodeType::Vector; - n_can_do->m_defined_in = "df.interaction.xml"; - n_can_do->m_addornements = "v*"; - n_can_do->m_address = base + offset; - n_can_do->m_parent = p_node_parent; - n_can_do->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_can_do); - - field_name = "unk_30"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_curse, field_name)); - auto n_unk_30 = new NodeSimple; - n_unk_30->m_field_name = field_name; - n_unk_30->m_df_type = DF_Type::int32_t; - n_unk_30->m_rdf_type = RDF_Type::int32_t; - n_unk_30->m_node_type = NodeType::Simple; - n_unk_30->m_address = base + offset; - n_unk_30->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_30); - - field_name = "unk_34"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_curse, field_name)); - auto n_unk_34 = new NodeSimple; - n_unk_34->m_field_name = field_name; - n_unk_34->m_df_type = DF_Type::int32_t; - n_unk_34->m_rdf_type = RDF_Type::int32_t; - n_unk_34->m_node_type = NodeType::Simple; - n_unk_34->m_address = base + offset; - n_unk_34->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_34); - - field_name = "unk_38"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_curse, field_name)); - auto n_unk_38 = new NodeSimple; - n_unk_38->m_field_name = field_name; - n_unk_38->m_df_type = DF_Type::int32_t; - n_unk_38->m_rdf_type = RDF_Type::int32_t; - n_unk_38->m_node_type = NodeType::Simple; - n_unk_38->m_address = base + offset; - n_unk_38->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_38); - - field_name = "unk_3c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_curse, field_name)); - auto n_unk_3c = new NodeSimple; - n_unk_3c->m_field_name = field_name; - n_unk_3c->m_df_type = DF_Type::int32_t; - n_unk_3c->m_rdf_type = RDF_Type::int32_t; - n_unk_3c->m_node_type = NodeType::Simple; - n_unk_3c->m_address = base + offset; - n_unk_3c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_3c); - - field_name = "unk_40"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_curse, field_name)); - auto n_unk_40 = new NodeSimple; - n_unk_40->m_field_name = field_name; - n_unk_40->m_df_type = DF_Type::int8_t; - n_unk_40->m_rdf_type = RDF_Type::int8_t; - n_unk_40->m_node_type = NodeType::Simple; - n_unk_40->m_address = base + offset; - n_unk_40->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_40); - - field_name = "name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_curse, field_name)); - auto n_name = new NodeSimple; - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Stl_string; - n_name->m_node_type = NodeType::Simple; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "name_plural"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_curse, field_name)); - auto n_name_plural = new NodeSimple; - n_name_plural->m_field_name = field_name; - n_name_plural->m_df_type = DF_Type::Stl_string; - n_name_plural->m_rdf_type = RDF_Type::Stl_string; - n_name_plural->m_node_type = NodeType::Simple; - n_name_plural->m_address = base + offset; - n_name_plural->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name_plural); - - field_name = "name_adjective"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_curse, field_name)); - auto n_name_adjective = new NodeSimple; - n_name_adjective->m_field_name = field_name; - n_name_adjective->m_df_type = DF_Type::Stl_string; - n_name_adjective->m_rdf_type = RDF_Type::Stl_string; - n_name_adjective->m_node_type = NodeType::Simple; - n_name_adjective->m_address = base + offset; - n_name_adjective->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name_adjective); - - field_name = "race"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_curse, field_name)); - auto n_race = new NodeSimple; - n_race->m_field_name = field_name; - n_race->m_df_type = DF_Type::int32_t; - n_race->m_rdf_type = RDF_Type::int32_t; - n_race->m_node_type = NodeType::Simple; - n_race->m_address = base + offset; - n_race->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_race); - - field_name = "caste"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_curse, field_name)); - auto n_caste = new NodeSimple; - n_caste->m_field_name = field_name; - n_caste->m_df_type = DF_Type::int16_t; - n_caste->m_rdf_type = RDF_Type::int16_t; - n_caste->m_node_type = NodeType::Simple; - n_caste->m_address = base + offset; - n_caste->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_caste); - - field_name = "unk_a0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_curse, field_name)); - auto n_unk_a0 = new NodeVector; - n_unk_a0->m_field_name = field_name; - n_unk_a0->m_df_type = DF_Type::int32_t; - n_unk_a0->m_rdf_type = RDF_Type::Vector; - n_unk_a0->m_node_type = NodeType::Vector; - n_unk_a0->m_addornements = "v"; - n_unk_a0->m_address = base + offset; - n_unk_a0->m_parent = p_node_parent; - n_unk_a0->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_a0); - - field_name = "unk_b0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_curse, field_name)); - auto n_unk_b0 = new NodeVector; - n_unk_b0->m_field_name = field_name; - n_unk_b0->m_df_type = DF_Type::int32_t; - n_unk_b0->m_rdf_type = RDF_Type::Vector; - n_unk_b0->m_node_type = NodeType::Vector; - n_unk_b0->m_addornements = "v"; - n_unk_b0->m_address = base + offset; - n_unk_b0->m_parent = p_node_parent; - n_unk_b0->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_b0); - - field_name = "unk_c0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_curse, field_name)); - auto n_unk_c0 = new NodeVector; - n_unk_c0->m_field_name = field_name; - n_unk_c0->m_df_type = DF_Type::int32_t; - n_unk_c0->m_rdf_type = RDF_Type::Vector; - n_unk_c0->m_node_type = NodeType::Vector; - n_unk_c0->m_addornements = "v"; - n_unk_c0->m_address = base + offset; - n_unk_c0->m_parent = p_node_parent; - n_unk_c0->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_c0); - - field_name = "original_histfig_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_curse, field_name)); - auto n_original_histfig_id = new NodeSimple; - n_original_histfig_id->m_field_name = field_name; - n_original_histfig_id->m_df_type = DF_Type::int32_t; - n_original_histfig_id->m_rdf_type = RDF_Type::int32_t; - n_original_histfig_id->m_node_type = NodeType::Simple; - n_original_histfig_id->m_address = base + offset; - n_original_histfig_id->m_comment = "ID of the historical figure who was reanimated to produce undead historical figure"; - n_original_histfig_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_original_histfig_id); - - field_name = "original_race"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_curse, field_name)); - auto n_original_race = new NodeSimple; - n_original_race->m_field_name = field_name; - n_original_race->m_df_type = DF_Type::int32_t; - n_original_race->m_rdf_type = RDF_Type::int32_t; - n_original_race->m_node_type = NodeType::Simple; - n_original_race->m_address = base + offset; - n_original_race->m_comment = "race of the historical figure who was reanimated to produce undead historical figure"; - n_original_race->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_original_race); - - field_name = "original_caste"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_curse, field_name)); - auto n_original_caste = new NodeSimple; - n_original_caste->m_field_name = field_name; - n_original_caste->m_df_type = DF_Type::int32_t; - n_original_caste->m_rdf_type = RDF_Type::int32_t; - n_original_caste->m_node_type = NodeType::Simple; - n_original_caste->m_address = base + offset; - n_original_caste->m_comment = "caste of the historical figure who was reanimated to produce undead historical figure"; - n_original_caste->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_original_caste); - - field_name = "root_body_part_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_curse, field_name)); - auto n_root_body_part_id = new NodeSimple; - n_root_body_part_id->m_field_name = field_name; - n_root_body_part_id->m_df_type = DF_Type::int32_t; - n_root_body_part_id->m_rdf_type = RDF_Type::int32_t; - n_root_body_part_id->m_node_type = NodeType::Simple; - n_root_body_part_id->m_address = base + offset; - n_root_body_part_id->m_comment = "ID of the root body part in the corpse or corpse piece which was reanimated to produce undead historical figure"; - n_root_body_part_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_root_body_part_id); - - field_name = "undead_name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_curse, field_name)); - auto n_undead_name = new NodeSimple; - n_undead_name->m_field_name = field_name; - n_undead_name->m_df_type = DF_Type::Stl_string; - n_undead_name->m_rdf_type = RDF_Type::Stl_string; - n_undead_name->m_node_type = NodeType::Simple; - n_undead_name->m_address = base + offset; - n_undead_name->m_comment = "display name of reanimated creatures in legends mode"; - n_undead_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_undead_name); - - field_name = "unk_fc"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_curse, field_name)); - auto n_unk_fc = new NodeSimple; - n_unk_fc->m_field_name = field_name; - n_unk_fc->m_df_type = DF_Type::int32_t; - n_unk_fc->m_rdf_type = RDF_Type::int32_t; - n_unk_fc->m_node_type = NodeType::Simple; - n_unk_fc->m_address = base + offset; - n_unk_fc->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_fc); - -} -void node_from_historical_figure_info__T_books(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_books, field_name)); - auto n_anon_1 = new NodeVector; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::artifact_record; - n_anon_1->m_rdf_type = RDF_Type::Vector; - n_anon_1->m_node_type = NodeType::Vector; - n_anon_1->m_defined_in = "df.legends.xml"; - n_anon_1->m_addornements = "v*"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_books, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - auto n_anon_3 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_books, field_name)); - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::Array; - n_anon_3->m_node_type = NodeType::Array; - n_anon_3->m_addornements = "[13"; - n_anon_3->m_array_size = 13; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - auto n_anon_4 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_books, field_name)); - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::Array; - n_anon_4->m_node_type = NodeType::Array; - n_anon_4->m_addornements = "[13"; - n_anon_4->m_array_size = 13; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_books, field_name)); - auto n_flags = new NodeSimple; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::int32_t; - n_flags->m_rdf_type = RDF_Type::int32_t; - n_flags->m_node_type = NodeType::Simple; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_books, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int16_t; - n_anon_5->m_rdf_type = RDF_Type::int16_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_comment = "not saved"; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - -} -void node_from_historical_figure_info__T_reputation__T_wanted(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "entity_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation__T_wanted, field_name)); - auto n_entity_id = new NodeSimple; - n_entity_id->m_field_name = field_name; - n_entity_id->m_df_type = DF_Type::int32_t; - n_entity_id->m_rdf_type = RDF_Type::int32_t; - n_entity_id->m_node_type = NodeType::Simple; - n_entity_id->m_address = base + offset; - n_entity_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity_id); - - field_name = "types"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation__T_wanted, field_name)); - auto n_types = new NodeVector; - n_types->m_field_name = field_name; - n_types->m_df_type = DF_Type::reputation_type; - n_types->m_rdf_type = RDF_Type::Vector; - n_types->m_node_type = NodeType::Vector; - n_types->m_enum_base = enum_base_type(n_types->m_df_type); - n_types->m_defined_in = "df.history.xml"; - n_types->m_addornements = "v"; - n_types->m_address = base + offset; - n_types->m_parent = p_node_parent; - n_types->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_types); - - field_name = "levels"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation__T_wanted, field_name)); - auto n_levels = new NodeVector; - n_levels->m_field_name = field_name; - n_levels->m_df_type = DF_Type::int32_t; - n_levels->m_rdf_type = RDF_Type::Vector; - n_levels->m_node_type = NodeType::Vector; - n_levels->m_addornements = "v"; - n_levels->m_address = base + offset; - n_levels->m_comment = "1 to 100: rumored to legendary"; - n_levels->m_parent = p_node_parent; - n_levels->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_levels); - - field_name = "discovered_year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation__T_wanted, field_name)); - auto n_discovered_year = new NodeSimple; - n_discovered_year->m_field_name = field_name; - n_discovered_year->m_df_type = DF_Type::int32_t; - n_discovered_year->m_rdf_type = RDF_Type::int32_t; - n_discovered_year->m_node_type = NodeType::Simple; - n_discovered_year->m_address = base + offset; - n_discovered_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_discovered_year); - - field_name = "discovered_time"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation__T_wanted, field_name)); - auto n_discovered_time = new NodeSimple; - n_discovered_time->m_field_name = field_name; - n_discovered_time->m_df_type = DF_Type::int32_t; - n_discovered_time->m_rdf_type = RDF_Type::int32_t; - n_discovered_time->m_node_type = NodeType::Simple; - n_discovered_time->m_address = base + offset; - n_discovered_time->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_discovered_time); - - field_name = "unsolved_murders"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation__T_wanted, field_name)); - auto n_unsolved_murders = new NodeSimple; - n_unsolved_murders->m_field_name = field_name; - n_unsolved_murders->m_df_type = DF_Type::int32_t; - n_unsolved_murders->m_rdf_type = RDF_Type::int32_t; - n_unsolved_murders->m_node_type = NodeType::Simple; - n_unsolved_murders->m_address = base + offset; - n_unsolved_murders->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unsolved_murders); - -} -void node_from_historical_figure_info__T_reputation__T_anon_1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "entity_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation__T_anon_1, field_name)); - auto n_entity_id = new NodeSimple; - n_entity_id->m_field_name = field_name; - n_entity_id->m_df_type = DF_Type::int32_t; - n_entity_id->m_rdf_type = RDF_Type::int32_t; - n_entity_id->m_node_type = NodeType::Simple; - n_entity_id->m_address = base + offset; - n_entity_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity_id); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation__T_anon_1, field_name)); - auto n_anon_1 = new NodeVector; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::Vector; - n_anon_1->m_node_type = NodeType::Vector; - n_anon_1->m_addornements = "v"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation__T_anon_1, field_name)); - auto n_anon_2 = new NodeVector; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::Vector; - n_anon_2->m_node_type = NodeType::Vector; - n_anon_2->m_addornements = "v"; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - n_anon_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "discovered_year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation__T_anon_1, field_name)); - auto n_discovered_year = new NodeSimple; - n_discovered_year->m_field_name = field_name; - n_discovered_year->m_df_type = DF_Type::int32_t; - n_discovered_year->m_rdf_type = RDF_Type::int32_t; - n_discovered_year->m_node_type = NodeType::Simple; - n_discovered_year->m_address = base + offset; - n_discovered_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_discovered_year); - - field_name = "discovered_time"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation__T_anon_1, field_name)); - auto n_discovered_time = new NodeSimple; - n_discovered_time->m_field_name = field_name; - n_discovered_time->m_df_type = DF_Type::int32_t; - n_discovered_time->m_rdf_type = RDF_Type::int32_t; - n_discovered_time->m_node_type = NodeType::Simple; - n_discovered_time->m_address = base + offset; - n_discovered_time->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_discovered_time); - - field_name = "unsolved_murders"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation__T_anon_1, field_name)); - auto n_unsolved_murders = new NodeSimple; - n_unsolved_murders->m_field_name = field_name; - n_unsolved_murders->m_df_type = DF_Type::int32_t; - n_unsolved_murders->m_rdf_type = RDF_Type::int32_t; - n_unsolved_murders->m_node_type = NodeType::Simple; - n_unsolved_murders->m_address = base + offset; - n_unsolved_murders->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unsolved_murders); - -} -void node_from_historical_figure_info__T_reputation__T_unk_2c__T_anon_12(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation__T_unk_2c__T_anon_12, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation__T_unk_2c__T_anon_12, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation__T_unk_2c__T_anon_12, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation__T_unk_2c__T_anon_12, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation__T_unk_2c__T_anon_12, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation__T_unk_2c__T_anon_12, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - -} -void node_from_historical_figure_info__T_reputation__T_unk_2c(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation__T_unk_2c, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation__T_unk_2c, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation__T_unk_2c, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation__T_unk_2c, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation__T_unk_2c, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation__T_unk_2c, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation__T_unk_2c, field_name)); - auto n_anon_7 = new NodeSimple; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::int32_t; - n_anon_7->m_rdf_type = RDF_Type::int32_t; - n_anon_7->m_node_type = NodeType::Simple; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_7); - - field_name = "anon_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation__T_unk_2c, field_name)); - auto n_anon_8 = new NodeSimple; - n_anon_8->m_field_name = field_name; - n_anon_8->m_df_type = DF_Type::int32_t; - n_anon_8->m_rdf_type = RDF_Type::int32_t; - n_anon_8->m_node_type = NodeType::Simple; - n_anon_8->m_address = base + offset; - n_anon_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_8); - - field_name = "anon_9"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation__T_unk_2c, field_name)); - auto n_anon_9 = new NodeSimple; - n_anon_9->m_field_name = field_name; - n_anon_9->m_df_type = DF_Type::int32_t; - n_anon_9->m_rdf_type = RDF_Type::int32_t; - n_anon_9->m_node_type = NodeType::Simple; - n_anon_9->m_address = base + offset; - n_anon_9->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_9); - - field_name = "anon_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation__T_unk_2c, field_name)); - auto n_anon_10 = new NodeSimple; - n_anon_10->m_field_name = field_name; - n_anon_10->m_df_type = DF_Type::int32_t; - n_anon_10->m_rdf_type = RDF_Type::int32_t; - n_anon_10->m_node_type = NodeType::Simple; - n_anon_10->m_address = base + offset; - n_anon_10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_10); - - field_name = "anon_11"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation__T_unk_2c, field_name)); - auto n_anon_11 = new NodeSimple; - n_anon_11->m_field_name = field_name; - n_anon_11->m_df_type = DF_Type::int32_t; - n_anon_11->m_rdf_type = RDF_Type::int32_t; - n_anon_11->m_node_type = NodeType::Simple; - n_anon_11->m_address = base + offset; - n_anon_11->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_11); - - field_name = "anon_12"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation__T_unk_2c, field_name)); - auto n_anon_12 = new NodeVector; - n_anon_12->m_field_name = field_name; - n_anon_12->m_df_type = DF_Type::historical_figure_info__T_reputation__T_unk_2c__T_anon_12; - n_anon_12->m_rdf_type = RDF_Type::Vector; - n_anon_12->m_node_type = NodeType::Vector; - n_anon_12->m_addornements = "v*"; - n_anon_12->m_address = base + offset; - n_anon_12->m_parent = p_node_parent; - n_anon_12->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_12); - - field_name = "anon_13"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation__T_unk_2c, field_name)); - auto n_anon_13 = new NodeVector; - n_anon_13->m_field_name = field_name; - n_anon_13->m_df_type = DF_Type::int32_t; - n_anon_13->m_rdf_type = RDF_Type::Vector; - n_anon_13->m_node_type = NodeType::Vector; - n_anon_13->m_addornements = "v"; - n_anon_13->m_address = base + offset; - n_anon_13->m_parent = p_node_parent; - n_anon_13->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_13); - -} -void node_from_historical_figure_info__T_reputation(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "wanted"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation, field_name)); - auto n_wanted = new NodeVector; - n_wanted->m_field_name = field_name; - n_wanted->m_df_type = DF_Type::historical_figure_info__T_reputation__T_wanted; - n_wanted->m_rdf_type = RDF_Type::Vector; - n_wanted->m_node_type = NodeType::Vector; - n_wanted->m_addornements = "v*"; - n_wanted->m_address = base + offset; - n_wanted->m_parent = p_node_parent; - n_wanted->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_wanted); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation, field_name)); - auto n_anon_1 = new NodeVector; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::historical_figure_info__T_reputation__T_anon_1; - n_anon_1->m_rdf_type = RDF_Type::Vector; - n_anon_1->m_node_type = NodeType::Vector; - n_anon_1->m_addornements = "v*"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "cur_identity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation, field_name)); - auto n_cur_identity = new NodeSimple; - n_cur_identity->m_field_name = field_name; - n_cur_identity->m_df_type = DF_Type::int32_t; - n_cur_identity->m_rdf_type = RDF_Type::int32_t; - n_cur_identity->m_node_type = NodeType::Simple; - n_cur_identity->m_address = base + offset; - n_cur_identity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cur_identity); - - field_name = "all_identities"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation, field_name)); - auto n_all_identities = new NodeVector; - n_all_identities->m_field_name = field_name; - n_all_identities->m_df_type = DF_Type::int32_t; - n_all_identities->m_rdf_type = RDF_Type::Vector; - n_all_identities->m_node_type = NodeType::Vector; - n_all_identities->m_addornements = "v"; - n_all_identities->m_address = base + offset; - n_all_identities->m_parent = p_node_parent; - n_all_identities->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_all_identities); - - field_name = "next_identity_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation, field_name)); - auto n_next_identity_idx = new NodeSimple; - n_next_identity_idx->m_field_name = field_name; - n_next_identity_idx->m_df_type = DF_Type::int32_t; - n_next_identity_idx->m_rdf_type = RDF_Type::int32_t; - n_next_identity_idx->m_node_type = NodeType::Simple; - n_next_identity_idx->m_address = base + offset; - n_next_identity_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_next_identity_idx); - - field_name = "unk_2c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation, field_name)); - auto n_unk_2c = new NodePointer; - n_unk_2c->m_field_name = field_name; - n_unk_2c->m_df_type = get_real_subtype(base+offset, DF_Type::historical_figure_info__T_reputation__T_unk_2c); - n_unk_2c->m_rdf_type = RDF_Type::Pointer; - n_unk_2c->m_node_type = NodeType::Pointer; - n_unk_2c->m_addornements = "*"; - n_unk_2c->m_address = base + offset; - n_unk_2c->m_parent = p_node_parent; - n_unk_2c->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_2c); - -} -void node_from_historical_figure_info__T_relationships__T_list(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "histfig_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_relationships__T_list, field_name)); - auto n_histfig_id = new NodeSimple; - n_histfig_id->m_field_name = field_name; - n_histfig_id->m_df_type = DF_Type::int32_t; - n_histfig_id->m_rdf_type = RDF_Type::int32_t; - n_histfig_id->m_node_type = NodeType::Simple; - n_histfig_id->m_address = base + offset; - n_histfig_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig_id); - - field_name = "unk_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_relationships__T_list, field_name)); - auto n_unk_1 = new NodeSimple; - n_unk_1->m_field_name = field_name; - n_unk_1->m_df_type = DF_Type::int32_t; - n_unk_1->m_rdf_type = RDF_Type::int32_t; - n_unk_1->m_node_type = NodeType::Simple; - n_unk_1->m_address = base + offset; - n_unk_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_1); - - field_name = "unk_2v"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_relationships__T_list, field_name)); - auto n_unk_2v = new NodeVector; - n_unk_2v->m_field_name = field_name; - n_unk_2v->m_df_type = DF_Type::int32_t; - n_unk_2v->m_rdf_type = RDF_Type::Vector; - n_unk_2v->m_node_type = NodeType::Vector; - n_unk_2v->m_addornements = "v"; - n_unk_2v->m_address = base + offset; - n_unk_2v->m_parent = p_node_parent; - n_unk_2v->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_2v); - - field_name = "attitude"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_relationships__T_list, field_name)); - auto n_attitude = new NodeVector; - n_attitude->m_field_name = field_name; - n_attitude->m_df_type = DF_Type::reputation_type; - n_attitude->m_rdf_type = RDF_Type::Vector; - n_attitude->m_node_type = NodeType::Vector; - n_attitude->m_enum_base = enum_base_type(n_attitude->m_df_type); - n_attitude->m_defined_in = "df.history.xml"; - n_attitude->m_addornements = "v"; - n_attitude->m_address = base + offset; - n_attitude->m_parent = p_node_parent; - n_attitude->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_attitude); - - field_name = "counter"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_relationships__T_list, field_name)); - auto n_counter = new NodeVector; - n_counter->m_field_name = field_name; - n_counter->m_df_type = DF_Type::int32_t; - n_counter->m_rdf_type = RDF_Type::Vector; - n_counter->m_node_type = NodeType::Vector; - n_counter->m_addornements = "v"; - n_counter->m_address = base + offset; - n_counter->m_comment = "One element for each 'attitude' element"; - n_counter->m_parent = p_node_parent; - n_counter->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_counter); - - field_name = "rank"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_relationships__T_list, field_name)); - auto n_rank = new NodeSimple; - n_rank->m_field_name = field_name; - n_rank->m_df_type = DF_Type::int32_t; - n_rank->m_rdf_type = RDF_Type::int32_t; - n_rank->m_node_type = NodeType::Simple; - n_rank->m_address = base + offset; - n_rank->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rank); - - field_name = "year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_relationships__T_list, field_name)); - auto n_year = new NodeSimple; - n_year->m_field_name = field_name; - n_year->m_df_type = DF_Type::int32_t; - n_year->m_rdf_type = RDF_Type::int32_t; - n_year->m_node_type = NodeType::Simple; - n_year->m_address = base + offset; - n_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_year); - - field_name = "year_tick"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_relationships__T_list, field_name)); - auto n_year_tick = new NodeSimple; - n_year_tick->m_field_name = field_name; - n_year_tick->m_df_type = DF_Type::int32_t; - n_year_tick->m_rdf_type = RDF_Type::int32_t; - n_year_tick->m_node_type = NodeType::Simple; - n_year_tick->m_address = base + offset; - n_year_tick->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_year_tick); - - field_name = "unk_3a"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_relationships__T_list, field_name)); - auto n_unk_3a = new NodeSimple; - n_unk_3a->m_field_name = field_name; - n_unk_3a->m_df_type = DF_Type::int32_t; - n_unk_3a->m_rdf_type = RDF_Type::int32_t; - n_unk_3a->m_node_type = NodeType::Simple; - n_unk_3a->m_address = base + offset; - n_unk_3a->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_3a); - - field_name = "unk_3b"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_relationships__T_list, field_name)); - auto n_unk_3b = new NodeSimple; - n_unk_3b->m_field_name = field_name; - n_unk_3b->m_df_type = DF_Type::int32_t; - n_unk_3b->m_rdf_type = RDF_Type::int32_t; - n_unk_3b->m_node_type = NodeType::Simple; - n_unk_3b->m_address = base + offset; - n_unk_3b->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_3b); - - field_name = "unk_3c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_relationships__T_list, field_name)); - auto n_unk_3c = new NodeSimple; - n_unk_3c->m_field_name = field_name; - n_unk_3c->m_df_type = DF_Type::int32_t; - n_unk_3c->m_rdf_type = RDF_Type::int32_t; - n_unk_3c->m_node_type = NodeType::Simple; - n_unk_3c->m_address = base + offset; - n_unk_3c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_3c); - -} -void node_from_historical_figure_info__T_relationships__T_anon_1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_relationships__T_anon_1, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_relationships__T_anon_1, field_name)); - auto n_anon_2 = new NodeVector; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::Vector; - n_anon_2->m_node_type = NodeType::Vector; - n_anon_2->m_addornements = "v"; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - n_anon_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_relationships__T_anon_1, field_name)); - auto n_anon_3 = new NodeVector; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::Vector; - n_anon_3->m_node_type = NodeType::Vector; - n_anon_3->m_addornements = "v"; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - n_anon_3->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_relationships__T_anon_1, field_name)); - auto n_anon_4 = new NodeVector; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::Vector; - n_anon_4->m_node_type = NodeType::Vector; - n_anon_4->m_addornements = "v"; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - n_anon_4->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_4); - -} -void node_from_historical_figure_info__T_relationships__T_anon_2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_relationships__T_anon_2, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_relationships__T_anon_2, field_name)); - auto n_anon_2 = new NodeVector; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::Vector; - n_anon_2->m_node_type = NodeType::Vector; - n_anon_2->m_addornements = "v"; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - n_anon_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_relationships__T_anon_2, field_name)); - auto n_anon_3 = new NodeVector; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::Vector; - n_anon_3->m_node_type = NodeType::Vector; - n_anon_3->m_addornements = "v"; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - n_anon_3->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_3); - -} -void node_from_historical_figure_info__T_relationships__T_anon_3(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_relationships__T_anon_3, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_relationships__T_anon_3, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_relationships__T_anon_3, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_relationships__T_anon_3, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_relationships__T_anon_3, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - -} -void node_from_historical_figure_info__T_relationships(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "list"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_relationships, field_name)); - auto n_list = new NodeVector; - n_list->m_field_name = field_name; - n_list->m_df_type = DF_Type::historical_figure_info__T_relationships__T_list; - n_list->m_rdf_type = RDF_Type::Vector; - n_list->m_node_type = NodeType::Vector; - n_list->m_addornements = "v*"; - n_list->m_address = base + offset; - n_list->m_parent = p_node_parent; - n_list->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_list); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_relationships, field_name)); - auto n_anon_1 = new NodeVector; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::historical_figure_info__T_relationships__T_anon_1; - n_anon_1->m_rdf_type = RDF_Type::Vector; - n_anon_1->m_node_type = NodeType::Vector; - n_anon_1->m_addornements = "v*"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_relationships, field_name)); - auto n_anon_2 = new NodeVector; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::historical_figure_info__T_relationships__T_anon_2; - n_anon_2->m_rdf_type = RDF_Type::Vector; - n_anon_2->m_node_type = NodeType::Vector; - n_anon_2->m_addornements = "v*"; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - n_anon_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "identities"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_relationships, field_name)); - auto n_identities = new NodeVector; - n_identities->m_field_name = field_name; - n_identities->m_df_type = DF_Type::int32_t; - n_identities->m_rdf_type = RDF_Type::Vector; - n_identities->m_node_type = NodeType::Vector; - n_identities->m_addornements = "v"; - n_identities->m_address = base + offset; - n_identities->m_parent = p_node_parent; - n_identities->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_identities); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_relationships, field_name)); - auto n_anon_3 = new NodeVector; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::historical_figure_info__T_relationships__T_anon_3; - n_anon_3->m_rdf_type = RDF_Type::Vector; - n_anon_3->m_node_type = NodeType::Vector; - n_anon_3->m_addornements = "v*"; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - n_anon_3->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_3); - -} -void node_from_historical_figure_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "spheres"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info, field_name)); - auto n_spheres = new NodePointer; - n_spheres->m_field_name = field_name; - n_spheres->m_df_type = get_real_subtype(base+offset, DF_Type::sphere_type); - n_spheres->m_rdf_type = RDF_Type::Pointer; - n_spheres->m_node_type = NodeType::Pointer; - n_spheres->m_addornements = "*v"; - n_spheres->m_address = base + offset; - n_spheres->m_parent = p_node_parent; - n_spheres->m_enum_base = DF_Type::int16_t; - n_spheres->m_defined_in = "df.language.xml"; - n_spheres->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_spheres); - - field_name = "skills"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info, field_name)); - auto n_skills = new NodePointer; - n_skills->m_field_name = field_name; - n_skills->m_df_type = get_real_subtype(base+offset, DF_Type::historical_figure_info__T_skills); - n_skills->m_rdf_type = RDF_Type::Pointer; - n_skills->m_node_type = NodeType::Pointer; - n_skills->m_addornements = "*"; - n_skills->m_address = base + offset; - n_skills->m_parent = p_node_parent; - n_skills->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_skills); - - field_name = "pets"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info, field_name)); - auto n_pets = new NodePointer; - n_pets->m_field_name = field_name; - n_pets->m_df_type = get_real_subtype(base+offset, DF_Type::int16_t); - n_pets->m_rdf_type = RDF_Type::Pointer; - n_pets->m_node_type = NodeType::Pointer; - n_pets->m_addornements = "*v"; - n_pets->m_address = base + offset; - n_pets->m_parent = p_node_parent; - n_pets->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_pets); - - field_name = "personality"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info, field_name)); - auto n_personality = new NodePointer; - n_personality->m_field_name = field_name; - n_personality->m_df_type = get_real_subtype(base+offset, DF_Type::historical_figure_info__T_personality); - n_personality->m_rdf_type = RDF_Type::Pointer; - n_personality->m_node_type = NodeType::Pointer; - n_personality->m_addornements = "*"; - n_personality->m_address = base + offset; - n_personality->m_parent = p_node_parent; - n_personality->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_personality); - - field_name = "masterpieces"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info, field_name)); - auto n_masterpieces = new NodePointer; - n_masterpieces->m_field_name = field_name; - n_masterpieces->m_df_type = get_real_subtype(base+offset, DF_Type::historical_figure_info__T_masterpieces); - n_masterpieces->m_rdf_type = RDF_Type::Pointer; - n_masterpieces->m_node_type = NodeType::Pointer; - n_masterpieces->m_addornements = "*"; - n_masterpieces->m_address = base + offset; - n_masterpieces->m_parent = p_node_parent; - n_masterpieces->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_masterpieces); - - field_name = "unk_14"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info, field_name)); - auto n_unk_14 = new NodePointer; - n_unk_14->m_field_name = field_name; - n_unk_14->m_df_type = get_real_subtype(base+offset, DF_Type::historical_figure_info__T_unk_14); - n_unk_14->m_rdf_type = RDF_Type::Pointer; - n_unk_14->m_node_type = NodeType::Pointer; - n_unk_14->m_addornements = "*"; - n_unk_14->m_address = base + offset; - n_unk_14->m_parent = p_node_parent; - n_unk_14->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_14); - - field_name = "kills"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info, field_name)); - auto n_kills = new NodePointer; - n_kills->m_field_name = field_name; - n_kills->m_df_type = get_real_subtype(base+offset, DF_Type::historical_kills); - n_kills->m_rdf_type = RDF_Type::Pointer; - n_kills->m_node_type = NodeType::Pointer; - n_kills->m_addornements = "*"; - n_kills->m_address = base + offset; - n_kills->m_parent = p_node_parent; - n_kills->m_defined_in = "df.history.xml"; - n_kills->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_kills); - - field_name = "wounds"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info, field_name)); - auto n_wounds = new NodePointer; - n_wounds->m_field_name = field_name; - n_wounds->m_df_type = get_real_subtype(base+offset, DF_Type::historical_figure_info__T_wounds); - n_wounds->m_rdf_type = RDF_Type::Pointer; - n_wounds->m_node_type = NodeType::Pointer; - n_wounds->m_addornements = "*"; - n_wounds->m_address = base + offset; - n_wounds->m_parent = p_node_parent; - n_wounds->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_wounds); - - field_name = "secret"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info, field_name)); - auto n_secret = new NodePointer; - n_secret->m_field_name = field_name; - n_secret->m_df_type = get_real_subtype(base+offset, DF_Type::historical_figure_info__T_secret); - n_secret->m_rdf_type = RDF_Type::Pointer; - n_secret->m_node_type = NodeType::Pointer; - n_secret->m_addornements = "*"; - n_secret->m_address = base + offset; - n_secret->m_parent = p_node_parent; - n_secret->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_secret); - - field_name = "curse"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info, field_name)); - auto n_curse = new NodePointer; - n_curse->m_field_name = field_name; - n_curse->m_df_type = get_real_subtype(base+offset, DF_Type::historical_figure_info__T_curse); - n_curse->m_rdf_type = RDF_Type::Pointer; - n_curse->m_node_type = NodeType::Pointer; - n_curse->m_addornements = "*"; - n_curse->m_address = base + offset; - n_curse->m_parent = p_node_parent; - n_curse->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_curse); - - field_name = "books"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info, field_name)); - auto n_books = new NodePointer; - n_books->m_field_name = field_name; - n_books->m_df_type = get_real_subtype(base+offset, DF_Type::historical_figure_info__T_books); - n_books->m_rdf_type = RDF_Type::Pointer; - n_books->m_node_type = NodeType::Pointer; - n_books->m_addornements = "*"; - n_books->m_address = base + offset; - n_books->m_parent = p_node_parent; - n_books->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_books); - - field_name = "reputation"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info, field_name)); - auto n_reputation = new NodePointer; - n_reputation->m_field_name = field_name; - n_reputation->m_df_type = get_real_subtype(base+offset, DF_Type::historical_figure_info__T_reputation); - n_reputation->m_rdf_type = RDF_Type::Pointer; - n_reputation->m_node_type = NodeType::Pointer; - n_reputation->m_addornements = "*"; - n_reputation->m_address = base + offset; - n_reputation->m_parent = p_node_parent; - n_reputation->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_reputation); - - field_name = "relationships"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info, field_name)); - auto n_relationships = new NodePointer; - n_relationships->m_field_name = field_name; - n_relationships->m_df_type = get_real_subtype(base+offset, DF_Type::historical_figure_info__T_relationships); - n_relationships->m_rdf_type = RDF_Type::Pointer; - n_relationships->m_node_type = NodeType::Pointer; - n_relationships->m_addornements = "*"; - n_relationships->m_address = base + offset; - n_relationships->m_parent = p_node_parent; - n_relationships->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_relationships); - -} -void node_from_unit_soul__T_performance_skills(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "musical_instruments"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_soul__T_performance_skills, field_name)); - auto n_musical_instruments = new NodeVector; - n_musical_instruments->m_field_name = field_name; - n_musical_instruments->m_df_type = DF_Type::unit_instrument_skill; - n_musical_instruments->m_rdf_type = RDF_Type::Vector; - n_musical_instruments->m_node_type = NodeType::Vector; - n_musical_instruments->m_defined_in = "df.units.xml"; - n_musical_instruments->m_addornements = "v*"; - n_musical_instruments->m_address = base + offset; - n_musical_instruments->m_parent = p_node_parent; - n_musical_instruments->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_musical_instruments); - - field_name = "poetic_forms"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_soul__T_performance_skills, field_name)); - auto n_poetic_forms = new NodeVector; - n_poetic_forms->m_field_name = field_name; - n_poetic_forms->m_df_type = DF_Type::unit_poetic_skill; - n_poetic_forms->m_rdf_type = RDF_Type::Vector; - n_poetic_forms->m_node_type = NodeType::Vector; - n_poetic_forms->m_defined_in = "df.units.xml"; - n_poetic_forms->m_addornements = "v*"; - n_poetic_forms->m_address = base + offset; - n_poetic_forms->m_parent = p_node_parent; - n_poetic_forms->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_poetic_forms); - - field_name = "musical_forms"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_soul__T_performance_skills, field_name)); - auto n_musical_forms = new NodeVector; - n_musical_forms->m_field_name = field_name; - n_musical_forms->m_df_type = DF_Type::unit_musical_skill; - n_musical_forms->m_rdf_type = RDF_Type::Vector; - n_musical_forms->m_node_type = NodeType::Vector; - n_musical_forms->m_defined_in = "df.units.xml"; - n_musical_forms->m_addornements = "v*"; - n_musical_forms->m_address = base + offset; - n_musical_forms->m_parent = p_node_parent; - n_musical_forms->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_musical_forms); - - field_name = "dance_forms"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_soul__T_performance_skills, field_name)); - auto n_dance_forms = new NodeVector; - n_dance_forms->m_field_name = field_name; - n_dance_forms->m_df_type = DF_Type::unit_dance_skill; - n_dance_forms->m_rdf_type = RDF_Type::Vector; - n_dance_forms->m_node_type = NodeType::Vector; - n_dance_forms->m_defined_in = "df.units.xml"; - n_dance_forms->m_addornements = "v*"; - n_dance_forms->m_address = base + offset; - n_dance_forms->m_parent = p_node_parent; - n_dance_forms->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_dance_forms); - -} -void node_from_unit_soul(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_soul, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "name"; - auto n_name = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_soul, field_name)); - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::language_name; - n_name->m_rdf_type = RDF_Type::Struct; - n_name->m_node_type = NodeType::Compound; - n_name->m_address = base + offset; - n_name->m_defined_in = "df.language.xml"; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "race"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_soul, field_name)); - auto n_race = new NodeSimple; - n_race->m_field_name = field_name; - n_race->m_df_type = DF_Type::uint32_t; - n_race->m_rdf_type = RDF_Type::uint32_t; - n_race->m_node_type = NodeType::Simple; - n_race->m_address = base + offset; - n_race->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_race); - - field_name = "sex"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_soul, field_name)); - auto n_sex = new NodeSimple; - n_sex->m_field_name = field_name; - n_sex->m_df_type = DF_Type::int8_t; - n_sex->m_rdf_type = RDF_Type::int8_t; - n_sex->m_node_type = NodeType::Simple; - n_sex->m_address = base + offset; - n_sex->m_comment = "-1 n/a, 0 female, 1 male"; - n_sex->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sex); - - field_name = "caste"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_soul, field_name)); - auto n_caste = new NodeSimple; - n_caste->m_field_name = field_name; - n_caste->m_df_type = DF_Type::uint16_t; - n_caste->m_rdf_type = RDF_Type::uint16_t; - n_caste->m_node_type = NodeType::Simple; - n_caste->m_address = base + offset; - n_caste->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_caste); - - field_name = "orientation_flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_soul, field_name)); - auto n_orientation_flags = new NodeBitfield; - n_orientation_flags->m_field_name = field_name; - n_orientation_flags->m_df_type = DF_Type::orientation_flags; - n_orientation_flags->m_rdf_type = RDF_Type::Bitfield; - n_orientation_flags->m_node_type = NodeType::Bitfield; - n_orientation_flags->m_address = base + offset; - n_orientation_flags->m_defined_in = "df.units.xml"; - n_orientation_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_orientation_flags); - - field_name = "unk2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_soul, field_name)); - auto n_unk2 = new NodeSimple; - n_unk2->m_field_name = field_name; - n_unk2->m_df_type = DF_Type::int32_t; - n_unk2->m_rdf_type = RDF_Type::int32_t; - n_unk2->m_node_type = NodeType::Simple; - n_unk2->m_address = base + offset; - n_unk2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk2); - - field_name = "unk3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_soul, field_name)); - auto n_unk3 = new NodeSimple; - n_unk3->m_field_name = field_name; - n_unk3->m_df_type = DF_Type::int32_t; - n_unk3->m_rdf_type = RDF_Type::int32_t; - n_unk3->m_node_type = NodeType::Simple; - n_unk3->m_address = base + offset; - n_unk3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk3); - - field_name = "unk4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_soul, field_name)); - auto n_unk4 = new NodeSimple; - n_unk4->m_field_name = field_name; - n_unk4->m_df_type = DF_Type::int32_t; - n_unk4->m_rdf_type = RDF_Type::int32_t; - n_unk4->m_node_type = NodeType::Simple; - n_unk4->m_address = base + offset; - n_unk4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk4); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_soul, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_soul, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_soul, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_soul, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_soul, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "mental_attrs"; - auto n_mental_attrs = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_soul, field_name)); - n_mental_attrs->m_field_name = field_name; - n_mental_attrs->m_df_type = DF_Type::unit_attribute; - n_mental_attrs->m_rdf_type = RDF_Type::Array; - n_mental_attrs->m_node_type = NodeType::Array; - n_mental_attrs->m_index_enum = DF_Type::mental_attribute_type; - n_mental_attrs->m_defined_in = "df.units.xml"; - n_mental_attrs->m_addornements = "[13"; - n_mental_attrs->m_array_size = 13; - n_mental_attrs->m_address = base + offset; - n_mental_attrs->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mental_attrs); - - field_name = "skills"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_soul, field_name)); - auto n_skills = new NodeVector; - n_skills->m_field_name = field_name; - n_skills->m_df_type = DF_Type::unit_skill; - n_skills->m_rdf_type = RDF_Type::Vector; - n_skills->m_node_type = NodeType::Vector; - n_skills->m_defined_in = "df.units.xml"; - n_skills->m_addornements = "v*"; - n_skills->m_address = base + offset; - n_skills->m_parent = p_node_parent; - n_skills->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_skills); - - field_name = "preferences"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_soul, field_name)); - auto n_preferences = new NodeVector; - n_preferences->m_field_name = field_name; - n_preferences->m_df_type = DF_Type::unit_preference; - n_preferences->m_rdf_type = RDF_Type::Vector; - n_preferences->m_node_type = NodeType::Vector; - n_preferences->m_defined_in = "df.units.xml"; - n_preferences->m_addornements = "v*"; - n_preferences->m_address = base + offset; - n_preferences->m_parent = p_node_parent; - n_preferences->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_preferences); - - field_name = "personality"; - auto n_personality = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_soul, field_name)); - n_personality->m_field_name = field_name; - n_personality->m_df_type = DF_Type::unit_personality; - n_personality->m_rdf_type = RDF_Type::Struct; - n_personality->m_node_type = NodeType::Compound; - n_personality->m_address = base + offset; - n_personality->m_defined_in = "df.units.xml"; - n_personality->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_personality); - - field_name = "performance_skills"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_soul, field_name)); - auto n_performance_skills = new NodePointer; - n_performance_skills->m_field_name = field_name; - n_performance_skills->m_df_type = get_real_subtype(base+offset, DF_Type::unit_soul__T_performance_skills); - n_performance_skills->m_rdf_type = RDF_Type::Pointer; - n_performance_skills->m_node_type = NodeType::Pointer; - n_performance_skills->m_addornements = "*"; - n_performance_skills->m_address = base + offset; - n_performance_skills->m_parent = p_node_parent; - n_performance_skills->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_performance_skills); - -} -void node_from_unit_action__T_data__T_move(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_move, field_name)); - auto n_x = new NodeSimple; - n_x->m_field_name = field_name; - n_x->m_df_type = DF_Type::int16_t; - n_x->m_rdf_type = RDF_Type::int16_t; - n_x->m_node_type = NodeType::Simple; - n_x->m_address = base + offset; - n_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_x); - - field_name = "y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_move, field_name)); - auto n_y = new NodeSimple; - n_y->m_field_name = field_name; - n_y->m_df_type = DF_Type::int16_t; - n_y->m_rdf_type = RDF_Type::int16_t; - n_y->m_node_type = NodeType::Simple; - n_y->m_address = base + offset; - n_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_y); - - field_name = "z"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_move, field_name)); - auto n_z = new NodeSimple; - n_z->m_field_name = field_name; - n_z->m_df_type = DF_Type::int16_t; - n_z->m_rdf_type = RDF_Type::int16_t; - n_z->m_node_type = NodeType::Simple; - n_z->m_address = base + offset; - n_z->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_z); - - field_name = "timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_move, field_name)); - auto n_timer = new NodeSimple; - n_timer->m_field_name = field_name; - n_timer->m_df_type = DF_Type::int32_t; - n_timer->m_rdf_type = RDF_Type::int32_t; - n_timer->m_node_type = NodeType::Simple; - n_timer->m_address = base + offset; - n_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_timer); - - field_name = "timer_init"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_move, field_name)); - auto n_timer_init = new NodeSimple; - n_timer_init->m_field_name = field_name; - n_timer_init->m_df_type = DF_Type::int32_t; - n_timer_init->m_rdf_type = RDF_Type::int32_t; - n_timer_init->m_node_type = NodeType::Simple; - n_timer_init->m_address = base + offset; - n_timer_init->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_timer_init); - - field_name = "fatigue"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_move, field_name)); - auto n_fatigue = new NodeSimple; - n_fatigue->m_field_name = field_name; - n_fatigue->m_df_type = DF_Type::int32_t; - n_fatigue->m_rdf_type = RDF_Type::int32_t; - n_fatigue->m_node_type = NodeType::Simple; - n_fatigue->m_address = base + offset; - n_fatigue->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_fatigue); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_move, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::unit_action__T_data__T_move__T_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - -} -void node_from_unit_action__T_data__T_attack__T_unk_4(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "wrestle_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_attack__T_unk_4, field_name)); - auto n_wrestle_type = new NodeSimple; - n_wrestle_type->m_field_name = field_name; - n_wrestle_type->m_df_type = DF_Type::int32_t; - n_wrestle_type->m_rdf_type = RDF_Type::int32_t; - n_wrestle_type->m_node_type = NodeType::Simple; - n_wrestle_type->m_address = base + offset; - n_wrestle_type->m_comment = "0=wrestle, 1=grab"; - n_wrestle_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_wrestle_type); - - field_name = "unk_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_attack__T_unk_4, field_name)); - auto n_unk_4 = new NodeSimple; - n_unk_4->m_field_name = field_name; - n_unk_4->m_df_type = DF_Type::int16_t; - n_unk_4->m_rdf_type = RDF_Type::int16_t; - n_unk_4->m_node_type = NodeType::Simple; - n_unk_4->m_address = base + offset; - n_unk_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_4); - - field_name = "unk_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_attack__T_unk_4, field_name)); - auto n_unk_6 = new NodeSimple; - n_unk_6->m_field_name = field_name; - n_unk_6->m_df_type = DF_Type::int16_t; - n_unk_6->m_rdf_type = RDF_Type::int16_t; - n_unk_6->m_node_type = NodeType::Simple; - n_unk_6->m_address = base + offset; - n_unk_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_6); - - field_name = "unk_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_attack__T_unk_4, field_name)); - auto n_unk_8 = new NodeSimple; - n_unk_8->m_field_name = field_name; - n_unk_8->m_df_type = DF_Type::int32_t; - n_unk_8->m_rdf_type = RDF_Type::int32_t; - n_unk_8->m_node_type = NodeType::Simple; - n_unk_8->m_address = base + offset; - n_unk_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_8); - - field_name = "unk_c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_attack__T_unk_4, field_name)); - auto n_unk_c = new NodeSimple; - n_unk_c->m_field_name = field_name; - n_unk_c->m_df_type = DF_Type::int32_t; - n_unk_c->m_rdf_type = RDF_Type::int32_t; - n_unk_c->m_node_type = NodeType::Simple; - n_unk_c->m_address = base + offset; - n_unk_c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_c); - - field_name = "unk_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_attack__T_unk_4, field_name)); - auto n_unk_10 = new NodeSimple; - n_unk_10->m_field_name = field_name; - n_unk_10->m_df_type = DF_Type::int32_t; - n_unk_10->m_rdf_type = RDF_Type::int32_t; - n_unk_10->m_node_type = NodeType::Simple; - n_unk_10->m_address = base + offset; - n_unk_10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_10); - - field_name = "unk_14"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_attack__T_unk_4, field_name)); - auto n_unk_14 = new NodeSimple; - n_unk_14->m_field_name = field_name; - n_unk_14->m_df_type = DF_Type::int16_t; - n_unk_14->m_rdf_type = RDF_Type::int16_t; - n_unk_14->m_node_type = NodeType::Simple; - n_unk_14->m_address = base + offset; - n_unk_14->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_14); - -} -void node_from_unit_action__T_data__T_attack(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "target_unit_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_attack, field_name)); - auto n_target_unit_id = new NodeSimple; - n_target_unit_id->m_field_name = field_name; - n_target_unit_id->m_df_type = DF_Type::int32_t; - n_target_unit_id->m_rdf_type = RDF_Type::int32_t; - n_target_unit_id->m_node_type = NodeType::Simple; - n_target_unit_id->m_address = base + offset; - n_target_unit_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_target_unit_id); - - field_name = "unk_4"; - auto n_unk_4 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_attack, field_name)); - n_unk_4->m_field_name = field_name; - n_unk_4->m_df_type = DF_Type::unit_action__T_data__T_attack__T_unk_4; - n_unk_4->m_rdf_type = RDF_Type::Compound; - n_unk_4->m_node_type = NodeType::Compound; - n_unk_4->m_address = base + offset; - n_unk_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_4); - - field_name = "attack_item_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_attack, field_name)); - auto n_attack_item_id = new NodeSimple; - n_attack_item_id->m_field_name = field_name; - n_attack_item_id->m_df_type = DF_Type::int32_t; - n_attack_item_id->m_rdf_type = RDF_Type::int32_t; - n_attack_item_id->m_node_type = NodeType::Simple; - n_attack_item_id->m_address = base + offset; - n_attack_item_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_attack_item_id); - - field_name = "target_body_part_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_attack, field_name)); - auto n_target_body_part_id = new NodeSimple; - n_target_body_part_id->m_field_name = field_name; - n_target_body_part_id->m_df_type = DF_Type::int16_t; - n_target_body_part_id->m_rdf_type = RDF_Type::int16_t; - n_target_body_part_id->m_node_type = NodeType::Simple; - n_target_body_part_id->m_address = base + offset; - n_target_body_part_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_target_body_part_id); - - field_name = "attack_body_part_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_attack, field_name)); - auto n_attack_body_part_id = new NodeSimple; - n_attack_body_part_id->m_field_name = field_name; - n_attack_body_part_id->m_df_type = DF_Type::int16_t; - n_attack_body_part_id->m_rdf_type = RDF_Type::int16_t; - n_attack_body_part_id->m_node_type = NodeType::Simple; - n_attack_body_part_id->m_address = base + offset; - n_attack_body_part_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_attack_body_part_id); - - field_name = "attack_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_attack, field_name)); - auto n_attack_id = new NodeSimple; - n_attack_id->m_field_name = field_name; - n_attack_id->m_df_type = DF_Type::int32_t; - n_attack_id->m_rdf_type = RDF_Type::int32_t; - n_attack_id->m_node_type = NodeType::Simple; - n_attack_id->m_address = base + offset; - n_attack_id->m_comment = "refers to weapon_attack or caste_attack"; - n_attack_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_attack_id); - - field_name = "unk_28"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_attack, field_name)); - auto n_unk_28 = new NodeSimple; - n_unk_28->m_field_name = field_name; - n_unk_28->m_df_type = DF_Type::int32_t; - n_unk_28->m_rdf_type = RDF_Type::int32_t; - n_unk_28->m_node_type = NodeType::Simple; - n_unk_28->m_address = base + offset; - n_unk_28->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_28); - - field_name = "unk_2c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_attack, field_name)); - auto n_unk_2c = new NodeSimple; - n_unk_2c->m_field_name = field_name; - n_unk_2c->m_df_type = DF_Type::int32_t; - n_unk_2c->m_rdf_type = RDF_Type::int32_t; - n_unk_2c->m_node_type = NodeType::Simple; - n_unk_2c->m_address = base + offset; - n_unk_2c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_2c); - - field_name = "attack_velocity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_attack, field_name)); - auto n_attack_velocity = new NodeSimple; - n_attack_velocity->m_field_name = field_name; - n_attack_velocity->m_df_type = DF_Type::int32_t; - n_attack_velocity->m_rdf_type = RDF_Type::int32_t; - n_attack_velocity->m_node_type = NodeType::Simple; - n_attack_velocity->m_address = base + offset; - n_attack_velocity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_attack_velocity); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_attack, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::unit_action__T_data__T_attack__T_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "attack_skill"; - auto n_attack_skill = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_attack, field_name)); - n_attack_skill->m_field_name = field_name; - n_attack_skill->m_df_type = DF_Type::job_skill; - n_attack_skill->m_rdf_type = RDF_Type::Enum; - n_attack_skill->m_node_type = NodeType::Enum; - n_attack_skill->m_base_type = DF_Type::int16_t; - n_attack_skill->m_enum_type = "job_skill"; - n_attack_skill->m_address = base + offset; - n_attack_skill->m_defined_in = "df.skills.xml"; - n_attack_skill->m_first_value = -1; - n_attack_skill->m_last_value = 134; - n_attack_skill->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_attack_skill); - - field_name = "attack_accuracy"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_attack, field_name)); - auto n_attack_accuracy = new NodeSimple; - n_attack_accuracy->m_field_name = field_name; - n_attack_accuracy->m_df_type = DF_Type::int32_t; - n_attack_accuracy->m_rdf_type = RDF_Type::int32_t; - n_attack_accuracy->m_node_type = NodeType::Simple; - n_attack_accuracy->m_address = base + offset; - n_attack_accuracy->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_attack_accuracy); - - field_name = "timer1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_attack, field_name)); - auto n_timer1 = new NodeSimple; - n_timer1->m_field_name = field_name; - n_timer1->m_df_type = DF_Type::int32_t; - n_timer1->m_rdf_type = RDF_Type::int32_t; - n_timer1->m_node_type = NodeType::Simple; - n_timer1->m_address = base + offset; - n_timer1->m_comment = "prepare"; - n_timer1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_timer1); - - field_name = "timer2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_attack, field_name)); - auto n_timer2 = new NodeSimple; - n_timer2->m_field_name = field_name; - n_timer2->m_df_type = DF_Type::int32_t; - n_timer2->m_rdf_type = RDF_Type::int32_t; - n_timer2->m_node_type = NodeType::Simple; - n_timer2->m_address = base + offset; - n_timer2->m_comment = "recover"; - n_timer2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_timer2); - -} -void node_from_unit_action__T_data__T_jump(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "x1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_jump, field_name)); - auto n_x1 = new NodeSimple; - n_x1->m_field_name = field_name; - n_x1->m_df_type = DF_Type::int16_t; - n_x1->m_rdf_type = RDF_Type::int16_t; - n_x1->m_node_type = NodeType::Simple; - n_x1->m_address = base + offset; - n_x1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_x1); - - field_name = "y1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_jump, field_name)); - auto n_y1 = new NodeSimple; - n_y1->m_field_name = field_name; - n_y1->m_df_type = DF_Type::int16_t; - n_y1->m_rdf_type = RDF_Type::int16_t; - n_y1->m_node_type = NodeType::Simple; - n_y1->m_address = base + offset; - n_y1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_y1); - - field_name = "z1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_jump, field_name)); - auto n_z1 = new NodeSimple; - n_z1->m_field_name = field_name; - n_z1->m_df_type = DF_Type::int16_t; - n_z1->m_rdf_type = RDF_Type::int16_t; - n_z1->m_node_type = NodeType::Simple; - n_z1->m_address = base + offset; - n_z1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_z1); - - field_name = "x2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_jump, field_name)); - auto n_x2 = new NodeSimple; - n_x2->m_field_name = field_name; - n_x2->m_df_type = DF_Type::int16_t; - n_x2->m_rdf_type = RDF_Type::int16_t; - n_x2->m_node_type = NodeType::Simple; - n_x2->m_address = base + offset; - n_x2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_x2); - - field_name = "y2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_jump, field_name)); - auto n_y2 = new NodeSimple; - n_y2->m_field_name = field_name; - n_y2->m_df_type = DF_Type::int16_t; - n_y2->m_rdf_type = RDF_Type::int16_t; - n_y2->m_node_type = NodeType::Simple; - n_y2->m_address = base + offset; - n_y2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_y2); - - field_name = "z2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_jump, field_name)); - auto n_z2 = new NodeSimple; - n_z2->m_field_name = field_name; - n_z2->m_df_type = DF_Type::int16_t; - n_z2->m_rdf_type = RDF_Type::int16_t; - n_z2->m_node_type = NodeType::Simple; - n_z2->m_address = base + offset; - n_z2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_z2); - -} -void node_from_unit_action__T_data__T_holdterrain(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "x1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_holdterrain, field_name)); - auto n_x1 = new NodeSimple; - n_x1->m_field_name = field_name; - n_x1->m_df_type = DF_Type::int16_t; - n_x1->m_rdf_type = RDF_Type::int16_t; - n_x1->m_node_type = NodeType::Simple; - n_x1->m_address = base + offset; - n_x1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_x1); - - field_name = "y1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_holdterrain, field_name)); - auto n_y1 = new NodeSimple; - n_y1->m_field_name = field_name; - n_y1->m_df_type = DF_Type::int16_t; - n_y1->m_rdf_type = RDF_Type::int16_t; - n_y1->m_node_type = NodeType::Simple; - n_y1->m_address = base + offset; - n_y1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_y1); - - field_name = "z1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_holdterrain, field_name)); - auto n_z1 = new NodeSimple; - n_z1->m_field_name = field_name; - n_z1->m_df_type = DF_Type::int16_t; - n_z1->m_rdf_type = RDF_Type::int16_t; - n_z1->m_node_type = NodeType::Simple; - n_z1->m_address = base + offset; - n_z1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_z1); - - field_name = "x2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_holdterrain, field_name)); - auto n_x2 = new NodeSimple; - n_x2->m_field_name = field_name; - n_x2->m_df_type = DF_Type::int16_t; - n_x2->m_rdf_type = RDF_Type::int16_t; - n_x2->m_node_type = NodeType::Simple; - n_x2->m_address = base + offset; - n_x2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_x2); - - field_name = "y2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_holdterrain, field_name)); - auto n_y2 = new NodeSimple; - n_y2->m_field_name = field_name; - n_y2->m_df_type = DF_Type::int16_t; - n_y2->m_rdf_type = RDF_Type::int16_t; - n_y2->m_node_type = NodeType::Simple; - n_y2->m_address = base + offset; - n_y2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_y2); - - field_name = "z2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_holdterrain, field_name)); - auto n_z2 = new NodeSimple; - n_z2->m_field_name = field_name; - n_z2->m_df_type = DF_Type::int16_t; - n_z2->m_rdf_type = RDF_Type::int16_t; - n_z2->m_node_type = NodeType::Simple; - n_z2->m_address = base + offset; - n_z2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_z2); - - field_name = "x3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_holdterrain, field_name)); - auto n_x3 = new NodeSimple; - n_x3->m_field_name = field_name; - n_x3->m_df_type = DF_Type::int16_t; - n_x3->m_rdf_type = RDF_Type::int16_t; - n_x3->m_node_type = NodeType::Simple; - n_x3->m_address = base + offset; - n_x3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_x3); - - field_name = "y3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_holdterrain, field_name)); - auto n_y3 = new NodeSimple; - n_y3->m_field_name = field_name; - n_y3->m_df_type = DF_Type::int16_t; - n_y3->m_rdf_type = RDF_Type::int16_t; - n_y3->m_node_type = NodeType::Simple; - n_y3->m_address = base + offset; - n_y3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_y3); - - field_name = "z3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_holdterrain, field_name)); - auto n_z3 = new NodeSimple; - n_z3->m_field_name = field_name; - n_z3->m_df_type = DF_Type::int16_t; - n_z3->m_rdf_type = RDF_Type::int16_t; - n_z3->m_node_type = NodeType::Simple; - n_z3->m_address = base + offset; - n_z3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_z3); - - field_name = "timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_holdterrain, field_name)); - auto n_timer = new NodeSimple; - n_timer->m_field_name = field_name; - n_timer->m_df_type = DF_Type::int32_t; - n_timer->m_rdf_type = RDF_Type::int32_t; - n_timer->m_node_type = NodeType::Simple; - n_timer->m_address = base + offset; - n_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_timer); - - field_name = "fatigue"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_holdterrain, field_name)); - auto n_fatigue = new NodeSimple; - n_fatigue->m_field_name = field_name; - n_fatigue->m_df_type = DF_Type::int32_t; - n_fatigue->m_rdf_type = RDF_Type::int32_t; - n_fatigue->m_node_type = NodeType::Simple; - n_fatigue->m_address = base + offset; - n_fatigue->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_fatigue); - -} -void node_from_unit_action__T_data__T_releaseterrain(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_releaseterrain, field_name)); - auto n_x = new NodeSimple; - n_x->m_field_name = field_name; - n_x->m_df_type = DF_Type::int16_t; - n_x->m_rdf_type = RDF_Type::int16_t; - n_x->m_node_type = NodeType::Simple; - n_x->m_address = base + offset; - n_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_x); - - field_name = "y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_releaseterrain, field_name)); - auto n_y = new NodeSimple; - n_y->m_field_name = field_name; - n_y->m_df_type = DF_Type::int16_t; - n_y->m_rdf_type = RDF_Type::int16_t; - n_y->m_node_type = NodeType::Simple; - n_y->m_address = base + offset; - n_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_y); - - field_name = "z"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_releaseterrain, field_name)); - auto n_z = new NodeSimple; - n_z->m_field_name = field_name; - n_z->m_df_type = DF_Type::int16_t; - n_z->m_rdf_type = RDF_Type::int16_t; - n_z->m_node_type = NodeType::Simple; - n_z->m_address = base + offset; - n_z->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_z); - -} -void node_from_unit_action__T_data__T_climb(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "x1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_climb, field_name)); - auto n_x1 = new NodeSimple; - n_x1->m_field_name = field_name; - n_x1->m_df_type = DF_Type::int16_t; - n_x1->m_rdf_type = RDF_Type::int16_t; - n_x1->m_node_type = NodeType::Simple; - n_x1->m_address = base + offset; - n_x1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_x1); - - field_name = "y1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_climb, field_name)); - auto n_y1 = new NodeSimple; - n_y1->m_field_name = field_name; - n_y1->m_df_type = DF_Type::int16_t; - n_y1->m_rdf_type = RDF_Type::int16_t; - n_y1->m_node_type = NodeType::Simple; - n_y1->m_address = base + offset; - n_y1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_y1); - - field_name = "z1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_climb, field_name)); - auto n_z1 = new NodeSimple; - n_z1->m_field_name = field_name; - n_z1->m_df_type = DF_Type::int16_t; - n_z1->m_rdf_type = RDF_Type::int16_t; - n_z1->m_node_type = NodeType::Simple; - n_z1->m_address = base + offset; - n_z1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_z1); - - field_name = "x2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_climb, field_name)); - auto n_x2 = new NodeSimple; - n_x2->m_field_name = field_name; - n_x2->m_df_type = DF_Type::int16_t; - n_x2->m_rdf_type = RDF_Type::int16_t; - n_x2->m_node_type = NodeType::Simple; - n_x2->m_address = base + offset; - n_x2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_x2); - - field_name = "y2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_climb, field_name)); - auto n_y2 = new NodeSimple; - n_y2->m_field_name = field_name; - n_y2->m_df_type = DF_Type::int16_t; - n_y2->m_rdf_type = RDF_Type::int16_t; - n_y2->m_node_type = NodeType::Simple; - n_y2->m_address = base + offset; - n_y2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_y2); - - field_name = "z2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_climb, field_name)); - auto n_z2 = new NodeSimple; - n_z2->m_field_name = field_name; - n_z2->m_df_type = DF_Type::int16_t; - n_z2->m_rdf_type = RDF_Type::int16_t; - n_z2->m_node_type = NodeType::Simple; - n_z2->m_address = base + offset; - n_z2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_z2); - - field_name = "x3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_climb, field_name)); - auto n_x3 = new NodeSimple; - n_x3->m_field_name = field_name; - n_x3->m_df_type = DF_Type::int16_t; - n_x3->m_rdf_type = RDF_Type::int16_t; - n_x3->m_node_type = NodeType::Simple; - n_x3->m_address = base + offset; - n_x3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_x3); - - field_name = "y3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_climb, field_name)); - auto n_y3 = new NodeSimple; - n_y3->m_field_name = field_name; - n_y3->m_df_type = DF_Type::int16_t; - n_y3->m_rdf_type = RDF_Type::int16_t; - n_y3->m_node_type = NodeType::Simple; - n_y3->m_address = base + offset; - n_y3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_y3); - - field_name = "z3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_climb, field_name)); - auto n_z3 = new NodeSimple; - n_z3->m_field_name = field_name; - n_z3->m_df_type = DF_Type::int16_t; - n_z3->m_rdf_type = RDF_Type::int16_t; - n_z3->m_node_type = NodeType::Simple; - n_z3->m_address = base + offset; - n_z3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_z3); - - field_name = "timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_climb, field_name)); - auto n_timer = new NodeSimple; - n_timer->m_field_name = field_name; - n_timer->m_df_type = DF_Type::int32_t; - n_timer->m_rdf_type = RDF_Type::int32_t; - n_timer->m_node_type = NodeType::Simple; - n_timer->m_address = base + offset; - n_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_timer); - - field_name = "timer_init"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_climb, field_name)); - auto n_timer_init = new NodeSimple; - n_timer_init->m_field_name = field_name; - n_timer_init->m_df_type = DF_Type::int32_t; - n_timer_init->m_rdf_type = RDF_Type::int32_t; - n_timer_init->m_node_type = NodeType::Simple; - n_timer_init->m_address = base + offset; - n_timer_init->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_timer_init); - - field_name = "fatigue"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_climb, field_name)); - auto n_fatigue = new NodeSimple; - n_fatigue->m_field_name = field_name; - n_fatigue->m_df_type = DF_Type::int32_t; - n_fatigue->m_rdf_type = RDF_Type::int32_t; - n_fatigue->m_node_type = NodeType::Simple; - n_fatigue->m_address = base + offset; - n_fatigue->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_fatigue); - -} -void node_from_unit_action__T_data__T_job(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_job, field_name)); - auto n_x = new NodeSimple; - n_x->m_field_name = field_name; - n_x->m_df_type = DF_Type::int16_t; - n_x->m_rdf_type = RDF_Type::int16_t; - n_x->m_node_type = NodeType::Simple; - n_x->m_address = base + offset; - n_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_x); - - field_name = "y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_job, field_name)); - auto n_y = new NodeSimple; - n_y->m_field_name = field_name; - n_y->m_df_type = DF_Type::int16_t; - n_y->m_rdf_type = RDF_Type::int16_t; - n_y->m_node_type = NodeType::Simple; - n_y->m_address = base + offset; - n_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_y); - - field_name = "z"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_job, field_name)); - auto n_z = new NodeSimple; - n_z->m_field_name = field_name; - n_z->m_df_type = DF_Type::int16_t; - n_z->m_rdf_type = RDF_Type::int16_t; - n_z->m_node_type = NodeType::Simple; - n_z->m_address = base + offset; - n_z->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_z); - - field_name = "timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_job, field_name)); - auto n_timer = new NodeSimple; - n_timer->m_field_name = field_name; - n_timer->m_df_type = DF_Type::int32_t; - n_timer->m_rdf_type = RDF_Type::int32_t; - n_timer->m_node_type = NodeType::Simple; - n_timer->m_address = base + offset; - n_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_timer); - -} -void node_from_unit_action__T_data__T_talk(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk_0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_talk, field_name)); - auto n_unk_0 = new NodeSimple; - n_unk_0->m_field_name = field_name; - n_unk_0->m_df_type = DF_Type::int32_t; - n_unk_0->m_rdf_type = RDF_Type::int32_t; - n_unk_0->m_node_type = NodeType::Simple; - n_unk_0->m_address = base + offset; - n_unk_0->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_0); - - field_name = "activity_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_talk, field_name)); - auto n_activity_id = new NodeSimple; - n_activity_id->m_field_name = field_name; - n_activity_id->m_df_type = DF_Type::int32_t; - n_activity_id->m_rdf_type = RDF_Type::int32_t; - n_activity_id->m_node_type = NodeType::Simple; - n_activity_id->m_address = base + offset; - n_activity_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_activity_id); - - field_name = "activity_event_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_talk, field_name)); - auto n_activity_event_idx = new NodeSimple; - n_activity_event_idx->m_field_name = field_name; - n_activity_event_idx->m_df_type = DF_Type::int32_t; - n_activity_event_idx->m_rdf_type = RDF_Type::int32_t; - n_activity_event_idx->m_node_type = NodeType::Simple; - n_activity_event_idx->m_address = base + offset; - n_activity_event_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_activity_event_idx); - - field_name = "event"; - auto n_event = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_talk, field_name)); - n_event->m_field_name = field_name; - n_event->m_df_type = DF_Type::entity_event; - n_event->m_rdf_type = RDF_Type::Struct; - n_event->m_node_type = NodeType::Compound; - n_event->m_address = base + offset; - n_event->m_defined_in = "df.entities.xml"; - n_event->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_event); - - field_name = "unk_34"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_talk, field_name)); - auto n_unk_34 = new NodeSimple; - n_unk_34->m_field_name = field_name; - n_unk_34->m_df_type = DF_Type::int32_t; - n_unk_34->m_rdf_type = RDF_Type::int32_t; - n_unk_34->m_node_type = NodeType::Simple; - n_unk_34->m_address = base + offset; - n_unk_34->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_34); - - field_name = "timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_talk, field_name)); - auto n_timer = new NodeSimple; - n_timer->m_field_name = field_name; - n_timer->m_df_type = DF_Type::int32_t; - n_timer->m_rdf_type = RDF_Type::int32_t; - n_timer->m_node_type = NodeType::Simple; - n_timer->m_address = base + offset; - n_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_timer); - - field_name = "unk_3c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_talk, field_name)); - auto n_unk_3c = new NodeSimple; - n_unk_3c->m_field_name = field_name; - n_unk_3c->m_df_type = DF_Type::int32_t; - n_unk_3c->m_rdf_type = RDF_Type::int32_t; - n_unk_3c->m_node_type = NodeType::Simple; - n_unk_3c->m_address = base + offset; - n_unk_3c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_3c); - - field_name = "unk_40"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_talk, field_name)); - auto n_unk_40 = new NodeSimple; - n_unk_40->m_field_name = field_name; - n_unk_40->m_df_type = DF_Type::int32_t; - n_unk_40->m_rdf_type = RDF_Type::int32_t; - n_unk_40->m_node_type = NodeType::Simple; - n_unk_40->m_address = base + offset; - n_unk_40->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_40); - - field_name = "unk_44"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_talk, field_name)); - auto n_unk_44 = new NodeSimple; - n_unk_44->m_field_name = field_name; - n_unk_44->m_df_type = DF_Type::int32_t; - n_unk_44->m_rdf_type = RDF_Type::int32_t; - n_unk_44->m_node_type = NodeType::Simple; - n_unk_44->m_address = base + offset; - n_unk_44->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_44); - - field_name = "unk_48"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_talk, field_name)); - auto n_unk_48 = new NodeSimple; - n_unk_48->m_field_name = field_name; - n_unk_48->m_df_type = DF_Type::int32_t; - n_unk_48->m_rdf_type = RDF_Type::int32_t; - n_unk_48->m_node_type = NodeType::Simple; - n_unk_48->m_address = base + offset; - n_unk_48->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_48); - - field_name = "unk_4c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_talk, field_name)); - auto n_unk_4c = new NodeSimple; - n_unk_4c->m_field_name = field_name; - n_unk_4c->m_df_type = DF_Type::int32_t; - n_unk_4c->m_rdf_type = RDF_Type::int32_t; - n_unk_4c->m_node_type = NodeType::Simple; - n_unk_4c->m_address = base + offset; - n_unk_4c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_4c); - - field_name = "unk_50"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_talk, field_name)); - auto n_unk_50 = new NodeSimple; - n_unk_50->m_field_name = field_name; - n_unk_50->m_df_type = DF_Type::int32_t; - n_unk_50->m_rdf_type = RDF_Type::int32_t; - n_unk_50->m_node_type = NodeType::Simple; - n_unk_50->m_address = base + offset; - n_unk_50->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_50); - - field_name = "unk_54"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_talk, field_name)); - auto n_unk_54 = new NodeSimple; - n_unk_54->m_field_name = field_name; - n_unk_54->m_df_type = DF_Type::int32_t; - n_unk_54->m_rdf_type = RDF_Type::int32_t; - n_unk_54->m_node_type = NodeType::Simple; - n_unk_54->m_address = base + offset; - n_unk_54->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_54); - -} -void node_from_unit_action__T_data__T_unsteady(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_unsteady, field_name)); - auto n_timer = new NodeSimple; - n_timer->m_field_name = field_name; - n_timer->m_df_type = DF_Type::int32_t; - n_timer->m_rdf_type = RDF_Type::int32_t; - n_timer->m_node_type = NodeType::Simple; - n_timer->m_address = base + offset; - n_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_timer); - -} -void node_from_unit_action__T_data__T_parry(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unit_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_parry, field_name)); - auto n_unit_id = new NodeSimple; - n_unit_id->m_field_name = field_name; - n_unit_id->m_df_type = DF_Type::int32_t; - n_unit_id->m_rdf_type = RDF_Type::int32_t; - n_unit_id->m_node_type = NodeType::Simple; - n_unit_id->m_address = base + offset; - n_unit_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unit_id); - - field_name = "target_action"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_parry, field_name)); - auto n_target_action = new NodeSimple; - n_target_action->m_field_name = field_name; - n_target_action->m_df_type = DF_Type::int32_t; - n_target_action->m_rdf_type = RDF_Type::int32_t; - n_target_action->m_node_type = NodeType::Simple; - n_target_action->m_address = base + offset; - n_target_action->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_target_action); - - field_name = "parry_item_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_parry, field_name)); - auto n_parry_item_id = new NodeSimple; - n_parry_item_id->m_field_name = field_name; - n_parry_item_id->m_df_type = DF_Type::int32_t; - n_parry_item_id->m_rdf_type = RDF_Type::int32_t; - n_parry_item_id->m_node_type = NodeType::Simple; - n_parry_item_id->m_address = base + offset; - n_parry_item_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_parry_item_id); - -} -void node_from_unit_action__T_data__T_block(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unit_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_block, field_name)); - auto n_unit_id = new NodeSimple; - n_unit_id->m_field_name = field_name; - n_unit_id->m_df_type = DF_Type::int32_t; - n_unit_id->m_rdf_type = RDF_Type::int32_t; - n_unit_id->m_node_type = NodeType::Simple; - n_unit_id->m_address = base + offset; - n_unit_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unit_id); - - field_name = "target_action"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_block, field_name)); - auto n_target_action = new NodeSimple; - n_target_action->m_field_name = field_name; - n_target_action->m_df_type = DF_Type::int32_t; - n_target_action->m_rdf_type = RDF_Type::int32_t; - n_target_action->m_node_type = NodeType::Simple; - n_target_action->m_address = base + offset; - n_target_action->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_target_action); - - field_name = "block_item_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_block, field_name)); - auto n_block_item_id = new NodeSimple; - n_block_item_id->m_field_name = field_name; - n_block_item_id->m_df_type = DF_Type::int32_t; - n_block_item_id->m_rdf_type = RDF_Type::int32_t; - n_block_item_id->m_node_type = NodeType::Simple; - n_block_item_id->m_address = base + offset; - n_block_item_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_block_item_id); - -} -void node_from_unit_action__T_data__T_dodge(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "x1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_dodge, field_name)); - auto n_x1 = new NodeSimple; - n_x1->m_field_name = field_name; - n_x1->m_df_type = DF_Type::int16_t; - n_x1->m_rdf_type = RDF_Type::int16_t; - n_x1->m_node_type = NodeType::Simple; - n_x1->m_address = base + offset; - n_x1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_x1); - - field_name = "y1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_dodge, field_name)); - auto n_y1 = new NodeSimple; - n_y1->m_field_name = field_name; - n_y1->m_df_type = DF_Type::int16_t; - n_y1->m_rdf_type = RDF_Type::int16_t; - n_y1->m_node_type = NodeType::Simple; - n_y1->m_address = base + offset; - n_y1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_y1); - - field_name = "z1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_dodge, field_name)); - auto n_z1 = new NodeSimple; - n_z1->m_field_name = field_name; - n_z1->m_df_type = DF_Type::int16_t; - n_z1->m_rdf_type = RDF_Type::int16_t; - n_z1->m_node_type = NodeType::Simple; - n_z1->m_address = base + offset; - n_z1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_z1); - - field_name = "timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_dodge, field_name)); - auto n_timer = new NodeSimple; - n_timer->m_field_name = field_name; - n_timer->m_df_type = DF_Type::int32_t; - n_timer->m_rdf_type = RDF_Type::int32_t; - n_timer->m_node_type = NodeType::Simple; - n_timer->m_address = base + offset; - n_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_timer); - - field_name = "x2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_dodge, field_name)); - auto n_x2 = new NodeSimple; - n_x2->m_field_name = field_name; - n_x2->m_df_type = DF_Type::int16_t; - n_x2->m_rdf_type = RDF_Type::int16_t; - n_x2->m_node_type = NodeType::Simple; - n_x2->m_address = base + offset; - n_x2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_x2); - - field_name = "y2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_dodge, field_name)); - auto n_y2 = new NodeSimple; - n_y2->m_field_name = field_name; - n_y2->m_df_type = DF_Type::int16_t; - n_y2->m_rdf_type = RDF_Type::int16_t; - n_y2->m_node_type = NodeType::Simple; - n_y2->m_address = base + offset; - n_y2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_y2); - - field_name = "z2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_dodge, field_name)); - auto n_z2 = new NodeSimple; - n_z2->m_field_name = field_name; - n_z2->m_df_type = DF_Type::int16_t; - n_z2->m_rdf_type = RDF_Type::int16_t; - n_z2->m_node_type = NodeType::Simple; - n_z2->m_address = base + offset; - n_z2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_z2); - -} -void node_from_unit_action__T_data__T_recover(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_recover, field_name)); - auto n_timer = new NodeSimple; - n_timer->m_field_name = field_name; - n_timer->m_df_type = DF_Type::int32_t; - n_timer->m_rdf_type = RDF_Type::int32_t; - n_timer->m_node_type = NodeType::Simple; - n_timer->m_address = base + offset; - n_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_timer); - - field_name = "unk_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_recover, field_name)); - auto n_unk_4 = new NodeSimple; - n_unk_4->m_field_name = field_name; - n_unk_4->m_df_type = DF_Type::int32_t; - n_unk_4->m_rdf_type = RDF_Type::int32_t; - n_unk_4->m_node_type = NodeType::Simple; - n_unk_4->m_address = base + offset; - n_unk_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_4); - -} -void node_from_unit_action__T_data__T_standup(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_standup, field_name)); - auto n_timer = new NodeSimple; - n_timer->m_field_name = field_name; - n_timer->m_df_type = DF_Type::int32_t; - n_timer->m_rdf_type = RDF_Type::int32_t; - n_timer->m_node_type = NodeType::Simple; - n_timer->m_address = base + offset; - n_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_timer); - -} -void node_from_unit_action__T_data__T_liedown(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_liedown, field_name)); - auto n_timer = new NodeSimple; - n_timer->m_field_name = field_name; - n_timer->m_df_type = DF_Type::int32_t; - n_timer->m_rdf_type = RDF_Type::int32_t; - n_timer->m_node_type = NodeType::Simple; - n_timer->m_address = base + offset; - n_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_timer); - -} -void node_from_unit_action__T_data__T_job2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_job2, field_name)); - auto n_timer = new NodeSimple; - n_timer->m_field_name = field_name; - n_timer->m_df_type = DF_Type::int32_t; - n_timer->m_rdf_type = RDF_Type::int32_t; - n_timer->m_node_type = NodeType::Simple; - n_timer->m_address = base + offset; - n_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_timer); - -} -void node_from_unit_action__T_data__T_pushobject(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "x1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_pushobject, field_name)); - auto n_x1 = new NodeSimple; - n_x1->m_field_name = field_name; - n_x1->m_df_type = DF_Type::int16_t; - n_x1->m_rdf_type = RDF_Type::int16_t; - n_x1->m_node_type = NodeType::Simple; - n_x1->m_address = base + offset; - n_x1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_x1); - - field_name = "y1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_pushobject, field_name)); - auto n_y1 = new NodeSimple; - n_y1->m_field_name = field_name; - n_y1->m_df_type = DF_Type::int16_t; - n_y1->m_rdf_type = RDF_Type::int16_t; - n_y1->m_node_type = NodeType::Simple; - n_y1->m_address = base + offset; - n_y1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_y1); - - field_name = "z1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_pushobject, field_name)); - auto n_z1 = new NodeSimple; - n_z1->m_field_name = field_name; - n_z1->m_df_type = DF_Type::int16_t; - n_z1->m_rdf_type = RDF_Type::int16_t; - n_z1->m_node_type = NodeType::Simple; - n_z1->m_address = base + offset; - n_z1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_z1); - - field_name = "x2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_pushobject, field_name)); - auto n_x2 = new NodeSimple; - n_x2->m_field_name = field_name; - n_x2->m_df_type = DF_Type::int16_t; - n_x2->m_rdf_type = RDF_Type::int16_t; - n_x2->m_node_type = NodeType::Simple; - n_x2->m_address = base + offset; - n_x2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_x2); - - field_name = "y2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_pushobject, field_name)); - auto n_y2 = new NodeSimple; - n_y2->m_field_name = field_name; - n_y2->m_df_type = DF_Type::int16_t; - n_y2->m_rdf_type = RDF_Type::int16_t; - n_y2->m_node_type = NodeType::Simple; - n_y2->m_address = base + offset; - n_y2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_y2); - - field_name = "z2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_pushobject, field_name)); - auto n_z2 = new NodeSimple; - n_z2->m_field_name = field_name; - n_z2->m_df_type = DF_Type::int16_t; - n_z2->m_rdf_type = RDF_Type::int16_t; - n_z2->m_node_type = NodeType::Simple; - n_z2->m_address = base + offset; - n_z2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_z2); - - field_name = "x3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_pushobject, field_name)); - auto n_x3 = new NodeSimple; - n_x3->m_field_name = field_name; - n_x3->m_df_type = DF_Type::int16_t; - n_x3->m_rdf_type = RDF_Type::int16_t; - n_x3->m_node_type = NodeType::Simple; - n_x3->m_address = base + offset; - n_x3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_x3); - - field_name = "y3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_pushobject, field_name)); - auto n_y3 = new NodeSimple; - n_y3->m_field_name = field_name; - n_y3->m_df_type = DF_Type::int16_t; - n_y3->m_rdf_type = RDF_Type::int16_t; - n_y3->m_node_type = NodeType::Simple; - n_y3->m_address = base + offset; - n_y3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_y3); - - field_name = "z3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_pushobject, field_name)); - auto n_z3 = new NodeSimple; - n_z3->m_field_name = field_name; - n_z3->m_df_type = DF_Type::int16_t; - n_z3->m_rdf_type = RDF_Type::int16_t; - n_z3->m_node_type = NodeType::Simple; - n_z3->m_address = base + offset; - n_z3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_z3); - - field_name = "timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_pushobject, field_name)); - auto n_timer = new NodeSimple; - n_timer->m_field_name = field_name; - n_timer->m_df_type = DF_Type::int32_t; - n_timer->m_rdf_type = RDF_Type::int32_t; - n_timer->m_node_type = NodeType::Simple; - n_timer->m_address = base + offset; - n_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_timer); - - field_name = "unk_18"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_pushobject, field_name)); - auto n_unk_18 = new NodeSimple; - n_unk_18->m_field_name = field_name; - n_unk_18->m_df_type = DF_Type::int32_t; - n_unk_18->m_rdf_type = RDF_Type::int32_t; - n_unk_18->m_node_type = NodeType::Simple; - n_unk_18->m_address = base + offset; - n_unk_18->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_18); - -} -void node_from_unit_action__T_data__T_suckblood(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unit_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_suckblood, field_name)); - auto n_unit_id = new NodeSimple; - n_unit_id->m_field_name = field_name; - n_unit_id->m_df_type = DF_Type::int32_t; - n_unit_id->m_rdf_type = RDF_Type::int32_t; - n_unit_id->m_node_type = NodeType::Simple; - n_unit_id->m_address = base + offset; - n_unit_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unit_id); - - field_name = "timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_suckblood, field_name)); - auto n_timer = new NodeSimple; - n_timer->m_field_name = field_name; - n_timer->m_df_type = DF_Type::int32_t; - n_timer->m_rdf_type = RDF_Type::int32_t; - n_timer->m_node_type = NodeType::Simple; - n_timer->m_address = base + offset; - n_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_timer); - -} -void node_from_unit_action__T_data__T_holditem(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "x1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_holditem, field_name)); - auto n_x1 = new NodeSimple; - n_x1->m_field_name = field_name; - n_x1->m_df_type = DF_Type::int16_t; - n_x1->m_rdf_type = RDF_Type::int16_t; - n_x1->m_node_type = NodeType::Simple; - n_x1->m_address = base + offset; - n_x1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_x1); - - field_name = "y1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_holditem, field_name)); - auto n_y1 = new NodeSimple; - n_y1->m_field_name = field_name; - n_y1->m_df_type = DF_Type::int16_t; - n_y1->m_rdf_type = RDF_Type::int16_t; - n_y1->m_node_type = NodeType::Simple; - n_y1->m_address = base + offset; - n_y1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_y1); - - field_name = "z1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_holditem, field_name)); - auto n_z1 = new NodeSimple; - n_z1->m_field_name = field_name; - n_z1->m_df_type = DF_Type::int16_t; - n_z1->m_rdf_type = RDF_Type::int16_t; - n_z1->m_node_type = NodeType::Simple; - n_z1->m_address = base + offset; - n_z1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_z1); - - field_name = "x2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_holditem, field_name)); - auto n_x2 = new NodeSimple; - n_x2->m_field_name = field_name; - n_x2->m_df_type = DF_Type::int16_t; - n_x2->m_rdf_type = RDF_Type::int16_t; - n_x2->m_node_type = NodeType::Simple; - n_x2->m_address = base + offset; - n_x2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_x2); - - field_name = "y2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_holditem, field_name)); - auto n_y2 = new NodeSimple; - n_y2->m_field_name = field_name; - n_y2->m_df_type = DF_Type::int16_t; - n_y2->m_rdf_type = RDF_Type::int16_t; - n_y2->m_node_type = NodeType::Simple; - n_y2->m_address = base + offset; - n_y2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_y2); - - field_name = "z2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_holditem, field_name)); - auto n_z2 = new NodeSimple; - n_z2->m_field_name = field_name; - n_z2->m_df_type = DF_Type::int16_t; - n_z2->m_rdf_type = RDF_Type::int16_t; - n_z2->m_node_type = NodeType::Simple; - n_z2->m_address = base + offset; - n_z2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_z2); - - field_name = "unk_c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_holditem, field_name)); - auto n_unk_c = new NodeSimple; - n_unk_c->m_field_name = field_name; - n_unk_c->m_df_type = DF_Type::int32_t; - n_unk_c->m_rdf_type = RDF_Type::int32_t; - n_unk_c->m_node_type = NodeType::Simple; - n_unk_c->m_address = base + offset; - n_unk_c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_c); - - field_name = "unk_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_holditem, field_name)); - auto n_unk_10 = new NodeSimple; - n_unk_10->m_field_name = field_name; - n_unk_10->m_df_type = DF_Type::int32_t; - n_unk_10->m_rdf_type = RDF_Type::int32_t; - n_unk_10->m_node_type = NodeType::Simple; - n_unk_10->m_address = base + offset; - n_unk_10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_10); - - field_name = "unk_14"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_holditem, field_name)); - auto n_unk_14 = new NodeSimple; - n_unk_14->m_field_name = field_name; - n_unk_14->m_df_type = DF_Type::int32_t; - n_unk_14->m_rdf_type = RDF_Type::int32_t; - n_unk_14->m_node_type = NodeType::Simple; - n_unk_14->m_address = base + offset; - n_unk_14->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_14); - -} -void node_from_unit_action__T_data__T_releaseitem(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk_0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_releaseitem, field_name)); - auto n_unk_0 = new NodeSimple; - n_unk_0->m_field_name = field_name; - n_unk_0->m_df_type = DF_Type::int32_t; - n_unk_0->m_rdf_type = RDF_Type::int32_t; - n_unk_0->m_node_type = NodeType::Simple; - n_unk_0->m_address = base + offset; - n_unk_0->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_0); - -} -void node_from_unit_action__T_data(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = true) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "move"; - auto n_move = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data, field_name)); - n_move->m_field_name = field_name; - n_move->m_df_type = DF_Type::unit_action__T_data__T_move; - n_move->m_rdf_type = RDF_Type::Compound; - n_move->m_node_type = NodeType::Compound; - n_move->m_address = base + offset; - n_move->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_move); - - field_name = "attack"; - auto n_attack = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data, field_name)); - n_attack->m_field_name = field_name; - n_attack->m_df_type = DF_Type::unit_action__T_data__T_attack; - n_attack->m_rdf_type = RDF_Type::Compound; - n_attack->m_node_type = NodeType::Compound; - n_attack->m_address = base + offset; - n_attack->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_attack); - - field_name = "jump"; - auto n_jump = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data, field_name)); - n_jump->m_field_name = field_name; - n_jump->m_df_type = DF_Type::unit_action__T_data__T_jump; - n_jump->m_rdf_type = RDF_Type::Compound; - n_jump->m_node_type = NodeType::Compound; - n_jump->m_address = base + offset; - n_jump->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_jump); - - field_name = "holdterrain"; - auto n_holdterrain = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data, field_name)); - n_holdterrain->m_field_name = field_name; - n_holdterrain->m_df_type = DF_Type::unit_action__T_data__T_holdterrain; - n_holdterrain->m_rdf_type = RDF_Type::Compound; - n_holdterrain->m_node_type = NodeType::Compound; - n_holdterrain->m_address = base + offset; - n_holdterrain->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_holdterrain); - - field_name = "releaseterrain"; - auto n_releaseterrain = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data, field_name)); - n_releaseterrain->m_field_name = field_name; - n_releaseterrain->m_df_type = DF_Type::unit_action__T_data__T_releaseterrain; - n_releaseterrain->m_rdf_type = RDF_Type::Compound; - n_releaseterrain->m_node_type = NodeType::Compound; - n_releaseterrain->m_address = base + offset; - n_releaseterrain->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_releaseterrain); - - field_name = "climb"; - auto n_climb = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data, field_name)); - n_climb->m_field_name = field_name; - n_climb->m_df_type = DF_Type::unit_action__T_data__T_climb; - n_climb->m_rdf_type = RDF_Type::Compound; - n_climb->m_node_type = NodeType::Compound; - n_climb->m_address = base + offset; - n_climb->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_climb); - - field_name = "job"; - auto n_job = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data, field_name)); - n_job->m_field_name = field_name; - n_job->m_df_type = DF_Type::unit_action__T_data__T_job; - n_job->m_rdf_type = RDF_Type::Compound; - n_job->m_node_type = NodeType::Compound; - n_job->m_address = base + offset; - n_job->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_job); - - field_name = "talk"; - auto n_talk = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data, field_name)); - n_talk->m_field_name = field_name; - n_talk->m_df_type = DF_Type::unit_action__T_data__T_talk; - n_talk->m_rdf_type = RDF_Type::Compound; - n_talk->m_node_type = NodeType::Compound; - n_talk->m_address = base + offset; - n_talk->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_talk); - - field_name = "unsteady"; - auto n_unsteady = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data, field_name)); - n_unsteady->m_field_name = field_name; - n_unsteady->m_df_type = DF_Type::unit_action__T_data__T_unsteady; - n_unsteady->m_rdf_type = RDF_Type::Compound; - n_unsteady->m_node_type = NodeType::Compound; - n_unsteady->m_address = base + offset; - n_unsteady->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unsteady); - - field_name = "parry"; - auto n_parry = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data, field_name)); - n_parry->m_field_name = field_name; - n_parry->m_df_type = DF_Type::unit_action__T_data__T_parry; - n_parry->m_rdf_type = RDF_Type::Compound; - n_parry->m_node_type = NodeType::Compound; - n_parry->m_address = base + offset; - n_parry->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_parry); - - field_name = "block"; - auto n_block = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data, field_name)); - n_block->m_field_name = field_name; - n_block->m_df_type = DF_Type::unit_action__T_data__T_block; - n_block->m_rdf_type = RDF_Type::Compound; - n_block->m_node_type = NodeType::Compound; - n_block->m_address = base + offset; - n_block->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_block); - - field_name = "dodge"; - auto n_dodge = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data, field_name)); - n_dodge->m_field_name = field_name; - n_dodge->m_df_type = DF_Type::unit_action__T_data__T_dodge; - n_dodge->m_rdf_type = RDF_Type::Compound; - n_dodge->m_node_type = NodeType::Compound; - n_dodge->m_address = base + offset; - n_dodge->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dodge); - - field_name = "recover"; - auto n_recover = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data, field_name)); - n_recover->m_field_name = field_name; - n_recover->m_df_type = DF_Type::unit_action__T_data__T_recover; - n_recover->m_rdf_type = RDF_Type::Compound; - n_recover->m_node_type = NodeType::Compound; - n_recover->m_address = base + offset; - n_recover->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_recover); - - field_name = "standup"; - auto n_standup = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data, field_name)); - n_standup->m_field_name = field_name; - n_standup->m_df_type = DF_Type::unit_action__T_data__T_standup; - n_standup->m_rdf_type = RDF_Type::Compound; - n_standup->m_node_type = NodeType::Compound; - n_standup->m_address = base + offset; - n_standup->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_standup); - - field_name = "liedown"; - auto n_liedown = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data, field_name)); - n_liedown->m_field_name = field_name; - n_liedown->m_df_type = DF_Type::unit_action__T_data__T_liedown; - n_liedown->m_rdf_type = RDF_Type::Compound; - n_liedown->m_node_type = NodeType::Compound; - n_liedown->m_address = base + offset; - n_liedown->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_liedown); - - field_name = "job2"; - auto n_job2 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data, field_name)); - n_job2->m_field_name = field_name; - n_job2->m_df_type = DF_Type::unit_action__T_data__T_job2; - n_job2->m_rdf_type = RDF_Type::Compound; - n_job2->m_node_type = NodeType::Compound; - n_job2->m_address = base + offset; - n_job2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_job2); - - field_name = "pushobject"; - auto n_pushobject = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data, field_name)); - n_pushobject->m_field_name = field_name; - n_pushobject->m_df_type = DF_Type::unit_action__T_data__T_pushobject; - n_pushobject->m_rdf_type = RDF_Type::Compound; - n_pushobject->m_node_type = NodeType::Compound; - n_pushobject->m_address = base + offset; - n_pushobject->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pushobject); - - field_name = "suckblood"; - auto n_suckblood = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data, field_name)); - n_suckblood->m_field_name = field_name; - n_suckblood->m_df_type = DF_Type::unit_action__T_data__T_suckblood; - n_suckblood->m_rdf_type = RDF_Type::Compound; - n_suckblood->m_node_type = NodeType::Compound; - n_suckblood->m_address = base + offset; - n_suckblood->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_suckblood); - - field_name = "holditem"; - auto n_holditem = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data, field_name)); - n_holditem->m_field_name = field_name; - n_holditem->m_df_type = DF_Type::unit_action__T_data__T_holditem; - n_holditem->m_rdf_type = RDF_Type::Compound; - n_holditem->m_node_type = NodeType::Compound; - n_holditem->m_address = base + offset; - n_holditem->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_holditem); - - field_name = "releaseitem"; - auto n_releaseitem = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data, field_name)); - n_releaseitem->m_field_name = field_name; - n_releaseitem->m_df_type = DF_Type::unit_action__T_data__T_releaseitem; - n_releaseitem->m_rdf_type = RDF_Type::Compound; - n_releaseitem->m_node_type = NodeType::Compound; - n_releaseitem->m_address = base + offset; - n_releaseitem->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_releaseitem); - - field_name = "raw_data"; - auto n_raw_data = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data, field_name)); - n_raw_data->m_field_name = field_name; - n_raw_data->m_df_type = DF_Type::int32_t; - n_raw_data->m_rdf_type = RDF_Type::Array; - n_raw_data->m_node_type = NodeType::Array; - n_raw_data->m_addornements = "[22"; - n_raw_data->m_array_size = 22; - n_raw_data->m_address = base + offset; - n_raw_data->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_raw_data); - -} -void node_from_unit_action(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "type"; - auto n_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action, field_name)); - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::unit_action_type; - n_type->m_rdf_type = RDF_Type::Enum; - n_type->m_node_type = NodeType::Enum; - n_type->m_base_type = DF_Type::int32_t; - n_type->m_enum_type = "unit_action_type"; - n_type->m_address = base + offset; - n_type->m_defined_in = "df.units.xml"; - n_type->m_first_value = -1; - n_type->m_last_value = 19; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "data"; - auto n_data = new NodeUnion; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action, field_name)); - n_data->m_field_name = field_name; - n_data->m_df_type = DF_Type::unit_action__T_data; - n_data->m_rdf_type = RDF_Type::Union; - n_data->m_node_type = NodeType::Union; - n_data->m_address = base + offset; - n_data->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_data); - -} -void node_from_unit_skill(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - auto n_id = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_skill, field_name)); - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::job_skill; - n_id->m_rdf_type = RDF_Type::Enum; - n_id->m_node_type = NodeType::Enum; - n_id->m_base_type = DF_Type::int16_t; - n_id->m_enum_type = "job_skill"; - n_id->m_address = base + offset; - n_id->m_defined_in = "df.skills.xml"; - n_id->m_first_value = -1; - n_id->m_last_value = 134; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "rating"; - auto n_rating = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_skill, field_name)); - n_rating->m_field_name = field_name; - n_rating->m_df_type = DF_Type::skill_rating; - n_rating->m_rdf_type = RDF_Type::Enum; - n_rating->m_node_type = NodeType::Enum; - n_rating->m_base_type = DF_Type::int32_t; - n_rating->m_enum_type = "skill_rating"; - n_rating->m_address = base + offset; - n_rating->m_defined_in = "df.units.xml"; - n_rating->m_first_value = 0; - n_rating->m_last_value = 20; - n_rating->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rating); - - field_name = "experience"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_skill, field_name)); - auto n_experience = new NodeSimple; - n_experience->m_field_name = field_name; - n_experience->m_df_type = DF_Type::int32_t; - n_experience->m_rdf_type = RDF_Type::int32_t; - n_experience->m_node_type = NodeType::Simple; - n_experience->m_address = base + offset; - n_experience->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_experience); - - field_name = "unused_counter"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_skill, field_name)); - auto n_unused_counter = new NodeSimple; - n_unused_counter->m_field_name = field_name; - n_unused_counter->m_df_type = DF_Type::int32_t; - n_unused_counter->m_rdf_type = RDF_Type::int32_t; - n_unused_counter->m_node_type = NodeType::Simple; - n_unused_counter->m_address = base + offset; - n_unused_counter->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unused_counter); - - field_name = "rusty"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_skill, field_name)); - auto n_rusty = new NodeSimple; - n_rusty->m_field_name = field_name; - n_rusty->m_df_type = DF_Type::int32_t; - n_rusty->m_rdf_type = RDF_Type::int32_t; - n_rusty->m_node_type = NodeType::Simple; - n_rusty->m_address = base + offset; - n_rusty->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rusty); - - field_name = "rust_counter"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_skill, field_name)); - auto n_rust_counter = new NodeSimple; - n_rust_counter->m_field_name = field_name; - n_rust_counter->m_df_type = DF_Type::int32_t; - n_rust_counter->m_rdf_type = RDF_Type::int32_t; - n_rust_counter->m_node_type = NodeType::Simple; - n_rust_counter->m_address = base + offset; - n_rust_counter->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rust_counter); - - field_name = "demotion_counter"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_skill, field_name)); - auto n_demotion_counter = new NodeSimple; - n_demotion_counter->m_field_name = field_name; - n_demotion_counter->m_df_type = DF_Type::int32_t; - n_demotion_counter->m_rdf_type = RDF_Type::int32_t; - n_demotion_counter->m_node_type = NodeType::Simple; - n_demotion_counter->m_address = base + offset; - n_demotion_counter->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_demotion_counter); - - field_name = "natural_skill_lvl"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_skill, field_name)); - auto n_natural_skill_lvl = new NodeSimple; - n_natural_skill_lvl->m_field_name = field_name; - n_natural_skill_lvl->m_df_type = DF_Type::int32_t; - n_natural_skill_lvl->m_rdf_type = RDF_Type::int32_t; - n_natural_skill_lvl->m_node_type = NodeType::Simple; - n_natural_skill_lvl->m_address = base + offset; - n_natural_skill_lvl->m_comment = "This is the NATURAL_SKILL level for the caste in the raws. This skill cannot rust below this level."; - n_natural_skill_lvl->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_natural_skill_lvl); - -} -void node_from_unit_preference___union5(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = true) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "item_type"; - auto n_item_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_preference, field_name)); - n_item_type->m_field_name = field_name; - n_item_type->m_df_type = DF_Type::item_type; - n_item_type->m_rdf_type = RDF_Type::Enum; - n_item_type->m_node_type = NodeType::Enum; - n_item_type->m_base_type = DF_Type::int16_t; - n_item_type->m_enum_type = "item_type"; - n_item_type->m_address = base + offset; - n_item_type->m_defined_in = "df.item-raws.xml"; - n_item_type->m_first_value = -1; - n_item_type->m_last_value = 90; - n_item_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_type); - - field_name = "creature_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_preference, field_name)); - auto n_creature_id = new NodeSimple; - n_creature_id->m_field_name = field_name; - n_creature_id->m_df_type = DF_Type::int16_t; - n_creature_id->m_rdf_type = RDF_Type::int16_t; - n_creature_id->m_node_type = NodeType::Simple; - n_creature_id->m_address = base + offset; - n_creature_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_creature_id); - - field_name = "color_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_preference, field_name)); - auto n_color_id = new NodeSimple; - n_color_id->m_field_name = field_name; - n_color_id->m_df_type = DF_Type::int16_t; - n_color_id->m_rdf_type = RDF_Type::int16_t; - n_color_id->m_node_type = NodeType::Simple; - n_color_id->m_address = base + offset; - n_color_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_color_id); - - field_name = "shape_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_preference, field_name)); - auto n_shape_id = new NodeSimple; - n_shape_id->m_field_name = field_name; - n_shape_id->m_df_type = DF_Type::int16_t; - n_shape_id->m_rdf_type = RDF_Type::int16_t; - n_shape_id->m_node_type = NodeType::Simple; - n_shape_id->m_address = base + offset; - n_shape_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_shape_id); - - field_name = "plant_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_preference, field_name)); - auto n_plant_id = new NodeSimple; - n_plant_id->m_field_name = field_name; - n_plant_id->m_df_type = DF_Type::int16_t; - n_plant_id->m_rdf_type = RDF_Type::int16_t; - n_plant_id->m_node_type = NodeType::Simple; - n_plant_id->m_address = base + offset; - n_plant_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_plant_id); - - field_name = "poetic_form_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_preference, field_name)); - auto n_poetic_form_id = new NodeSimple; - n_poetic_form_id->m_field_name = field_name; - n_poetic_form_id->m_df_type = DF_Type::int32_t; - n_poetic_form_id->m_rdf_type = RDF_Type::int32_t; - n_poetic_form_id->m_node_type = NodeType::Simple; - n_poetic_form_id->m_address = base + offset; - n_poetic_form_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_poetic_form_id); - - field_name = "musical_form_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_preference, field_name)); - auto n_musical_form_id = new NodeSimple; - n_musical_form_id->m_field_name = field_name; - n_musical_form_id->m_df_type = DF_Type::int32_t; - n_musical_form_id->m_rdf_type = RDF_Type::int32_t; - n_musical_form_id->m_node_type = NodeType::Simple; - n_musical_form_id->m_address = base + offset; - n_musical_form_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_musical_form_id); - - field_name = "dance_form_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_preference, field_name)); - auto n_dance_form_id = new NodeSimple; - n_dance_form_id->m_field_name = field_name; - n_dance_form_id->m_df_type = DF_Type::int32_t; - n_dance_form_id->m_rdf_type = RDF_Type::int32_t; - n_dance_form_id->m_node_type = NodeType::Simple; - n_dance_form_id->m_address = base + offset; - n_dance_form_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dance_form_id); - -} -void node_from_unit_preference(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "type"; - auto n_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_preference, field_name)); - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::unit_preference__T_type; - n_type->m_rdf_type = RDF_Type::Enum; - n_type->m_node_type = NodeType::Enum; - n_type->m_base_type = DF_Type::int16_t; - n_type->m_enum_type = "unit_preference::T_type"; - n_type->m_address = base + offset; - n_type->m_first_value = 0; - n_type->m_last_value = 11; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - - auto n_$union5 = new NodeAnonymous; - field_name = "item_type"; // One child of the anonymous union - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_preference, field_name)); - n_$union5->m_field_name = "N/A"; - n_$union5->m_df_type = DF_Type::unit_preference___union5; - n_$union5->m_rdf_type = RDF_Type::AnonymousUnion; - n_$union5->m_node_type = NodeType::AnonymousUnion; - n_$union5->m_address = base + offset; - n_$union5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_$union5); - - field_name = "item_subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_preference, field_name)); - auto n_item_subtype = new NodeSimple; - n_item_subtype->m_field_name = field_name; - n_item_subtype->m_df_type = DF_Type::int32_t; - n_item_subtype->m_rdf_type = RDF_Type::int32_t; - n_item_subtype->m_node_type = NodeType::Simple; - n_item_subtype->m_address = base + offset; - n_item_subtype->m_refers_to = "(item-subtype-target $$._parent.item_type $)"; - n_item_subtype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_subtype); - - field_name = "mattype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_preference, field_name)); - auto n_mattype = new NodeSimple; - n_mattype->m_field_name = field_name; - n_mattype->m_df_type = DF_Type::int32_t; - n_mattype->m_rdf_type = RDF_Type::int32_t; - n_mattype->m_node_type = NodeType::Simple; - n_mattype->m_address = base + offset; - n_mattype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mattype); - - field_name = "matindex"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_preference, field_name)); - auto n_matindex = new NodeSimple; - n_matindex->m_field_name = field_name; - n_matindex->m_df_type = DF_Type::int32_t; - n_matindex->m_rdf_type = RDF_Type::int32_t; - n_matindex->m_node_type = NodeType::Simple; - n_matindex->m_address = base + offset; - n_matindex->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_matindex); - - field_name = "mat_state"; - auto n_mat_state = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_preference, field_name)); - n_mat_state->m_field_name = field_name; - n_mat_state->m_df_type = DF_Type::matter_state; - n_mat_state->m_rdf_type = RDF_Type::Enum; - n_mat_state->m_node_type = NodeType::Enum; - n_mat_state->m_base_type = DF_Type::int16_t; - n_mat_state->m_enum_type = "matter_state"; - n_mat_state->m_address = base + offset; - n_mat_state->m_defined_in = "df.materials.xml"; - n_mat_state->m_first_value = -1; - n_mat_state->m_last_value = 5; - n_mat_state->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_state); - - field_name = "active"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_preference, field_name)); - auto n_active = new NodeSimple; - n_active->m_field_name = field_name; - n_active->m_df_type = DF_Type::Bool; - n_active->m_rdf_type = RDF_Type::Bool; - n_active->m_node_type = NodeType::Simple; - n_active->m_address = base + offset; - n_active->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_active); - - field_name = "prefstring_seed"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_preference, field_name)); - auto n_prefstring_seed = new NodeSimple; - n_prefstring_seed->m_field_name = field_name; - n_prefstring_seed->m_df_type = DF_Type::uint32_t; - n_prefstring_seed->m_rdf_type = RDF_Type::uint32_t; - n_prefstring_seed->m_node_type = NodeType::Simple; - n_prefstring_seed->m_address = base + offset; - n_prefstring_seed->m_comment = "feeds into a simple RNG to choose which prefstring to use"; - n_prefstring_seed->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_prefstring_seed); - -} -void node_from_unit_complaint(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "type"; - auto n_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_complaint, field_name)); - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::unit_complaint__T_type; - n_type->m_rdf_type = RDF_Type::Enum; - n_type->m_node_type = NodeType::Enum; - n_type->m_base_type = DF_Type::int32_t; - n_type->m_enum_type = "unit_complaint::T_type"; - n_type->m_address = base + offset; - n_type->m_first_value = 25; - n_type->m_last_value = 48; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - - field_name = "guild"; - auto n_guild = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_complaint, field_name)); - n_guild->m_field_name = field_name; - n_guild->m_df_type = DF_Type::guild_id; - n_guild->m_rdf_type = RDF_Type::Enum; - n_guild->m_node_type = NodeType::Enum; - n_guild->m_base_type = DF_Type::int16_t; - n_guild->m_enum_type = "guild_id"; - n_guild->m_address = base + offset; - n_guild->m_defined_in = "df.jobs.xml"; - n_guild->m_first_value = -1; - n_guild->m_last_value = 5; - n_guild->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_guild); - - field_name = "age"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_complaint, field_name)); - auto n_age = new NodeSimple; - n_age->m_field_name = field_name; - n_age->m_df_type = DF_Type::int32_t; - n_age->m_rdf_type = RDF_Type::int32_t; - n_age->m_node_type = NodeType::Simple; - n_age->m_address = base + offset; - n_age->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_age); - -} -void node_from_unit_request(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "type"; - auto n_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_request, field_name)); - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::unit_request__T_type; - n_type->m_rdf_type = RDF_Type::Enum; - n_type->m_node_type = NodeType::Enum; - n_type->m_base_type = DF_Type::int16_t; - n_type->m_enum_type = "unit_request::T_type"; - n_type->m_address = base + offset; - n_type->m_first_value = 0; - n_type->m_last_value = 0; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - - field_name = "guild"; - auto n_guild = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_request, field_name)); - n_guild->m_field_name = field_name; - n_guild->m_df_type = DF_Type::guild_id; - n_guild->m_rdf_type = RDF_Type::Enum; - n_guild->m_node_type = NodeType::Enum; - n_guild->m_base_type = DF_Type::int16_t; - n_guild->m_enum_type = "guild_id"; - n_guild->m_address = base + offset; - n_guild->m_defined_in = "df.jobs.xml"; - n_guild->m_first_value = -1; - n_guild->m_last_value = 5; - n_guild->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_guild); - - field_name = "count"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_request, field_name)); - auto n_count = new NodeSimple; - n_count->m_field_name = field_name; - n_count->m_df_type = DF_Type::int16_t; - n_count->m_rdf_type = RDF_Type::int16_t; - n_count->m_node_type = NodeType::Simple; - n_count->m_address = base + offset; - n_count->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_count); - -} -void node_from_unit_chunk__T_units(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "items"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_chunk__T_units, field_name)); - auto n_items = new NodeVector; - n_items->m_field_name = field_name; - n_items->m_df_type = DF_Type::item; - n_items->m_rdf_type = RDF_Type::Vector; - n_items->m_node_type = NodeType::Vector; - n_items->m_defined_in = "df.items.xml"; - n_items->m_addornements = "v*"; - n_items->m_address = base + offset; - n_items->m_parent = p_node_parent; - n_items->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_items); - - field_name = "unit"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_chunk__T_units, field_name)); - auto n_unit = new NodePointer; - n_unit->m_field_name = field_name; - n_unit->m_df_type = get_real_subtype(base+offset, DF_Type::unit); - n_unit->m_rdf_type = RDF_Type::Pointer; - n_unit->m_node_type = NodeType::Pointer; - n_unit->m_addornements = "*"; - n_unit->m_address = base + offset; - n_unit->m_parent = p_node_parent; - n_unit->m_defined_in = "df.units.xml"; - n_unit->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unit); - -} -void node_from_unit_chunk(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_chunk, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_comment = "unit_*.dat"; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "units"; - auto n_units = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_chunk, field_name)); - n_units->m_field_name = field_name; - n_units->m_df_type = DF_Type::unit_chunk__T_units; - n_units->m_rdf_type = RDF_Type::Array; - n_units->m_node_type = NodeType::Array; - n_units->m_addornements = "[100"; - n_units->m_array_size = 100; - n_units->m_address = base + offset; - n_units->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_units); - -} -void node_from_unit_appearance(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_appearance, field_name)); - auto n_unk_1 = new NodeSimple; - n_unk_1->m_field_name = field_name; - n_unk_1->m_df_type = DF_Type::int32_t; - n_unk_1->m_rdf_type = RDF_Type::int32_t; - n_unk_1->m_node_type = NodeType::Simple; - n_unk_1->m_address = base + offset; - n_unk_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_1); - - field_name = "caste_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_appearance, field_name)); - auto n_caste_index = new NodeSimple; - n_caste_index->m_field_name = field_name; - n_caste_index->m_df_type = DF_Type::int32_t; - n_caste_index->m_rdf_type = RDF_Type::int32_t; - n_caste_index->m_node_type = NodeType::Simple; - n_caste_index->m_address = base + offset; - n_caste_index->m_comment = "also refers to $global.world.raws.creatures.list_caste[$]"; - n_caste_index->m_refers_to = "$global.world.raws.creatures.list_creature[$]"; - n_caste_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_caste_index); - - field_name = "unk_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_appearance, field_name)); - auto n_unk_3 = new NodeSimple; - n_unk_3->m_field_name = field_name; - n_unk_3->m_df_type = DF_Type::int16_t; - n_unk_3->m_rdf_type = RDF_Type::int16_t; - n_unk_3->m_node_type = NodeType::Simple; - n_unk_3->m_address = base + offset; - n_unk_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_3); - - field_name = "physical_attributes"; - auto n_physical_attributes = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_appearance, field_name)); - n_physical_attributes->m_field_name = field_name; - n_physical_attributes->m_df_type = DF_Type::unit_attribute; - n_physical_attributes->m_rdf_type = RDF_Type::Array; - n_physical_attributes->m_node_type = NodeType::Array; - n_physical_attributes->m_index_enum = DF_Type::physical_attribute_type; - n_physical_attributes->m_defined_in = "df.units.xml"; - n_physical_attributes->m_addornements = "[6"; - n_physical_attributes->m_array_size = 6; - n_physical_attributes->m_address = base + offset; - n_physical_attributes->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_physical_attributes); - - field_name = "unk_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_appearance, field_name)); - auto n_unk_5 = new NodeSimple; - n_unk_5->m_field_name = field_name; - n_unk_5->m_df_type = DF_Type::int32_t; - n_unk_5->m_rdf_type = RDF_Type::int32_t; - n_unk_5->m_node_type = NodeType::Simple; - n_unk_5->m_address = base + offset; - n_unk_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_5); - - field_name = "body_modifiers"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_appearance, field_name)); - auto n_body_modifiers = new NodeVector; - n_body_modifiers->m_field_name = field_name; - n_body_modifiers->m_df_type = DF_Type::int32_t; - n_body_modifiers->m_rdf_type = RDF_Type::Vector; - n_body_modifiers->m_node_type = NodeType::Vector; - n_body_modifiers->m_addornements = "v"; - n_body_modifiers->m_address = base + offset; - n_body_modifiers->m_refers_to = "(find-creature $$._parent.race).caste[$$._parent.caste].body_appearance_modifiers[$]"; - n_body_modifiers->m_parent = p_node_parent; - n_body_modifiers->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_body_modifiers); - - field_name = "bp_modifiers"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_appearance, field_name)); - auto n_bp_modifiers = new NodeVector; - n_bp_modifiers->m_field_name = field_name; - n_bp_modifiers->m_df_type = DF_Type::int32_t; - n_bp_modifiers->m_rdf_type = RDF_Type::Vector; - n_bp_modifiers->m_node_type = NodeType::Vector; - n_bp_modifiers->m_addornements = "v"; - n_bp_modifiers->m_address = base + offset; - n_bp_modifiers->m_refers_to = "(find-creature $$._parent.race).caste[$$._parent.caste].bp_appearance.modifiers[$]"; - n_bp_modifiers->m_parent = p_node_parent; - n_bp_modifiers->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bp_modifiers); - - field_name = "unk_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_appearance, field_name)); - auto n_unk_8 = new NodeSimple; - n_unk_8->m_field_name = field_name; - n_unk_8->m_df_type = DF_Type::int32_t; - n_unk_8->m_rdf_type = RDF_Type::int32_t; - n_unk_8->m_node_type = NodeType::Simple; - n_unk_8->m_address = base + offset; - n_unk_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_8); - - field_name = "tissue_style"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_appearance, field_name)); - auto n_tissue_style = new NodeVector; - n_tissue_style->m_field_name = field_name; - n_tissue_style->m_df_type = DF_Type::int16_t; - n_tissue_style->m_rdf_type = RDF_Type::Vector; - n_tissue_style->m_node_type = NodeType::Vector; - n_tissue_style->m_addornements = "v"; - n_tissue_style->m_address = base + offset; - n_tissue_style->m_parent = p_node_parent; - n_tissue_style->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_tissue_style); - - field_name = "tissue_style_civ_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_appearance, field_name)); - auto n_tissue_style_civ_id = new NodeVector; - n_tissue_style_civ_id->m_field_name = field_name; - n_tissue_style_civ_id->m_df_type = DF_Type::int32_t; - n_tissue_style_civ_id->m_rdf_type = RDF_Type::Vector; - n_tissue_style_civ_id->m_node_type = NodeType::Vector; - n_tissue_style_civ_id->m_addornements = "v"; - n_tissue_style_civ_id->m_address = base + offset; - n_tissue_style_civ_id->m_parent = p_node_parent; - n_tissue_style_civ_id->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_tissue_style_civ_id); - - field_name = "tissue_style_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_appearance, field_name)); - auto n_tissue_style_id = new NodeVector; - n_tissue_style_id->m_field_name = field_name; - n_tissue_style_id->m_df_type = DF_Type::int32_t; - n_tissue_style_id->m_rdf_type = RDF_Type::Vector; - n_tissue_style_id->m_node_type = NodeType::Vector; - n_tissue_style_id->m_addornements = "v"; - n_tissue_style_id->m_address = base + offset; - n_tissue_style_id->m_parent = p_node_parent; - n_tissue_style_id->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_tissue_style_id); - - field_name = "tissue_style_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_appearance, field_name)); - auto n_tissue_style_type = new NodeVector; - n_tissue_style_type->m_field_name = field_name; - n_tissue_style_type->m_df_type = DF_Type::int32_t; - n_tissue_style_type->m_rdf_type = RDF_Type::Vector; - n_tissue_style_type->m_node_type = NodeType::Vector; - n_tissue_style_type->m_addornements = "v"; - n_tissue_style_type->m_address = base + offset; - n_tissue_style_type->m_parent = p_node_parent; - n_tissue_style_type->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_tissue_style_type); - - field_name = "tissue_length"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_appearance, field_name)); - auto n_tissue_length = new NodeVector; - n_tissue_length->m_field_name = field_name; - n_tissue_length->m_df_type = DF_Type::int32_t; - n_tissue_length->m_rdf_type = RDF_Type::Vector; - n_tissue_length->m_node_type = NodeType::Vector; - n_tissue_length->m_addornements = "v"; - n_tissue_length->m_address = base + offset; - n_tissue_length->m_parent = p_node_parent; - n_tissue_length->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_tissue_length); - - field_name = "appearance_genes"; - auto n_appearance_genes = new NodeDFArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_appearance, field_name)); - n_appearance_genes->m_field_name = field_name; - n_appearance_genes->m_df_type = DF_Type::uint8_t; - n_appearance_genes->m_rdf_type = RDF_Type::DFArray; - n_appearance_genes->m_node_type = NodeType::Array; - n_appearance_genes->m_addornements = ""; - n_appearance_genes->m_address = base + offset; - n_appearance_genes->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_appearance_genes); - - field_name = "color_genes"; - auto n_color_genes = new NodeDFArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_appearance, field_name)); - n_color_genes->m_field_name = field_name; - n_color_genes->m_df_type = DF_Type::uint16_t; - n_color_genes->m_rdf_type = RDF_Type::DFArray; - n_color_genes->m_node_type = NodeType::Array; - n_color_genes->m_addornements = ""; - n_color_genes->m_address = base + offset; - n_color_genes->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_color_genes); - - field_name = "color_modifiers"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_appearance, field_name)); - auto n_color_modifiers = new NodeVector; - n_color_modifiers->m_field_name = field_name; - n_color_modifiers->m_df_type = DF_Type::int32_t; - n_color_modifiers->m_rdf_type = RDF_Type::Vector; - n_color_modifiers->m_node_type = NodeType::Vector; - n_color_modifiers->m_addornements = "v"; - n_color_modifiers->m_address = base + offset; - n_color_modifiers->m_refers_to = "(find-creature $$._parent.race).caste[$$._parent.caste].color_modifiers[$]"; - n_color_modifiers->m_parent = p_node_parent; - n_color_modifiers->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_color_modifiers); - - field_name = "unk_18"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_appearance, field_name)); - auto n_unk_18 = new NodeSimple; - n_unk_18->m_field_name = field_name; - n_unk_18->m_df_type = DF_Type::int32_t; - n_unk_18->m_rdf_type = RDF_Type::int32_t; - n_unk_18->m_node_type = NodeType::Simple; - n_unk_18->m_address = base + offset; - n_unk_18->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_18); - - field_name = "unk_19"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_appearance, field_name)); - auto n_unk_19 = new NodeSimple; - n_unk_19->m_field_name = field_name; - n_unk_19->m_df_type = DF_Type::int32_t; - n_unk_19->m_rdf_type = RDF_Type::int32_t; - n_unk_19->m_node_type = NodeType::Simple; - n_unk_19->m_address = base + offset; - n_unk_19->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_19); - -} -void node_from_vermin(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "race"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::vermin, field_name)); - auto n_race = new NodeSimple; - n_race->m_field_name = field_name; - n_race->m_df_type = DF_Type::int16_t; - n_race->m_rdf_type = RDF_Type::int16_t; - n_race->m_node_type = NodeType::Simple; - n_race->m_address = base + offset; - n_race->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_race); - - field_name = "caste"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::vermin, field_name)); - auto n_caste = new NodeSimple; - n_caste->m_field_name = field_name; - n_caste->m_df_type = DF_Type::int16_t; - n_caste->m_rdf_type = RDF_Type::int16_t; - n_caste->m_node_type = NodeType::Simple; - n_caste->m_address = base + offset; - n_caste->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_caste); - - field_name = "pos"; - auto n_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::vermin, field_name)); - n_pos->m_field_name = field_name; - n_pos->m_df_type = DF_Type::coord; - n_pos->m_rdf_type = RDF_Type::Struct; - n_pos->m_node_type = NodeType::Compound; - n_pos->m_address = base + offset; - n_pos->m_defined_in = "df.map.xml"; - n_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pos); - - field_name = "visible"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::vermin, field_name)); - auto n_visible = new NodeSimple; - n_visible->m_field_name = field_name; - n_visible->m_df_type = DF_Type::Bool; - n_visible->m_rdf_type = RDF_Type::Bool; - n_visible->m_node_type = NodeType::Simple; - n_visible->m_address = base + offset; - n_visible->m_comment = "1 = visible vermin"; - n_visible->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_visible); - - field_name = "countdown"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::vermin, field_name)); - auto n_countdown = new NodeSimple; - n_countdown->m_field_name = field_name; - n_countdown->m_df_type = DF_Type::int16_t; - n_countdown->m_rdf_type = RDF_Type::int16_t; - n_countdown->m_node_type = NodeType::Simple; - n_countdown->m_address = base + offset; - n_countdown->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_countdown); - - field_name = "item"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::vermin, field_name)); - auto n_item = new NodePointer; - n_item->m_field_name = field_name; - n_item->m_df_type = get_real_subtype(base+offset, DF_Type::item); - n_item->m_rdf_type = RDF_Type::Pointer; - n_item->m_node_type = NodeType::Pointer; - n_item->m_addornements = "*"; - n_item->m_address = base + offset; - n_item->m_parent = p_node_parent; - n_item->m_defined_in = "df.items.xml"; - n_item->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_item); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::vermin, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::vermin_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_defined_in = "df.vermin.xml"; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "amount"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::vermin, field_name)); - auto n_amount = new NodeSimple; - n_amount->m_field_name = field_name; - n_amount->m_df_type = DF_Type::int32_t; - n_amount->m_rdf_type = RDF_Type::int32_t; - n_amount->m_node_type = NodeType::Simple; - n_amount->m_address = base + offset; - n_amount->m_comment = "The total number of vermin in this object. Decimal constant 10000001 means infinity (probably)."; - n_amount->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_amount); - - field_name = "population"; - auto n_population = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::vermin, field_name)); - n_population->m_field_name = field_name; - n_population->m_df_type = DF_Type::world_population_ref; - n_population->m_rdf_type = RDF_Type::Struct; - n_population->m_node_type = NodeType::Compound; - n_population->m_address = base + offset; - n_population->m_defined_in = "df.world-data.xml"; - n_population->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_population); - - field_name = "unk_34"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::vermin, field_name)); - auto n_unk_34 = new NodeSimple; - n_unk_34->m_field_name = field_name; - n_unk_34->m_df_type = DF_Type::int16_t; - n_unk_34->m_rdf_type = RDF_Type::int16_t; - n_unk_34->m_node_type = NodeType::Simple; - n_unk_34->m_address = base + offset; - n_unk_34->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_34); - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::vermin, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_comment = "assigned during Save"; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - -} -void node_from_viewscreen(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "child"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen, field_name)); - auto n_child = new NodePointer; - n_child->m_field_name = field_name; - n_child->m_df_type = get_real_subtype(base+offset, DF_Type::viewscreen); - n_child->m_rdf_type = RDF_Type::Pointer; - n_child->m_node_type = NodeType::Pointer; - n_child->m_addornements = "*"; - n_child->m_address = base + offset; - n_child->m_parent = p_node_parent; - n_child->m_defined_in = "df.viewscreen.xml"; - n_child->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_child); - - field_name = "parent"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen, field_name)); - auto n_parent = new NodePointer; - n_parent->m_field_name = field_name; - n_parent->m_df_type = get_real_subtype(base+offset, DF_Type::viewscreen); - n_parent->m_rdf_type = RDF_Type::Pointer; - n_parent->m_node_type = NodeType::Pointer; - n_parent->m_addornements = "*"; - n_parent->m_address = base + offset; - n_parent->m_parent = p_node_parent; - n_parent->m_defined_in = "df.viewscreen.xml"; - n_parent->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_parent); - - field_name = "breakdown_level"; - auto n_breakdown_level = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen, field_name)); - n_breakdown_level->m_field_name = field_name; - n_breakdown_level->m_df_type = DF_Type::interface_breakdown_types; - n_breakdown_level->m_rdf_type = RDF_Type::Enum; - n_breakdown_level->m_node_type = NodeType::Enum; - n_breakdown_level->m_base_type = DF_Type::int8_t; - n_breakdown_level->m_enum_type = "interface_breakdown_types"; - n_breakdown_level->m_address = base + offset; - n_breakdown_level->m_defined_in = "df.viewscreen.xml"; - n_breakdown_level->m_first_value = 0; - n_breakdown_level->m_last_value = 3; - n_breakdown_level->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_breakdown_level); - - field_name = "option_key_pressed"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen, field_name)); - auto n_option_key_pressed = new NodeSimple; - n_option_key_pressed->m_field_name = field_name; - n_option_key_pressed->m_df_type = DF_Type::int8_t; - n_option_key_pressed->m_rdf_type = RDF_Type::int8_t; - n_option_key_pressed->m_node_type = NodeType::Simple; - n_option_key_pressed->m_address = base + offset; - n_option_key_pressed->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_option_key_pressed); - -} -void node_from_viewscreen_layer(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "layer_objects"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer, field_name)); - auto n_layer_objects = new NodeVector; - n_layer_objects->m_field_name = field_name; - n_layer_objects->m_df_type = DF_Type::layer_object; - n_layer_objects->m_rdf_type = RDF_Type::Vector; - n_layer_objects->m_node_type = NodeType::Vector; - n_layer_objects->m_defined_in = "df.viewscreen.xml"; - n_layer_objects->m_addornements = "v*"; - n_layer_objects->m_address = base + offset; - n_layer_objects->m_parent = p_node_parent; - n_layer_objects->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_layer_objects); - -} -void node_from_interfacest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "original_fps"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interfacest, field_name)); - auto n_original_fps = new NodeSimple; - n_original_fps->m_field_name = field_name; - n_original_fps->m_df_type = DF_Type::int32_t; - n_original_fps->m_rdf_type = RDF_Type::int32_t; - n_original_fps->m_node_type = NodeType::Simple; - n_original_fps->m_address = base + offset; - n_original_fps->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_original_fps); - - field_name = "view"; - auto n_view = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interfacest, field_name)); - n_view->m_field_name = field_name; - n_view->m_df_type = DF_Type::viewscreen; - n_view->m_rdf_type = RDF_Type::Class; - n_view->m_node_type = NodeType::Compound; - n_view->m_address = base + offset; - n_view->m_defined_in = "df.viewscreen.xml"; - n_view->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_view); - - field_name = "flag"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interfacest, field_name)); - auto n_flag = new NodeSimple; - n_flag->m_field_name = field_name; - n_flag->m_df_type = DF_Type::uint32_t; - n_flag->m_rdf_type = RDF_Type::uint32_t; - n_flag->m_node_type = NodeType::Simple; - n_flag->m_address = base + offset; - n_flag->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flag); - - field_name = "shutdown_interface_tickcount"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interfacest, field_name)); - auto n_shutdown_interface_tickcount = new NodeSimple; - n_shutdown_interface_tickcount->m_field_name = field_name; - n_shutdown_interface_tickcount->m_df_type = DF_Type::int32_t; - n_shutdown_interface_tickcount->m_rdf_type = RDF_Type::int32_t; - n_shutdown_interface_tickcount->m_node_type = NodeType::Simple; - n_shutdown_interface_tickcount->m_address = base + offset; - n_shutdown_interface_tickcount->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_shutdown_interface_tickcount); - - field_name = "shutdown_interface_for_ms"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interfacest, field_name)); - auto n_shutdown_interface_for_ms = new NodeSimple; - n_shutdown_interface_for_ms->m_field_name = field_name; - n_shutdown_interface_for_ms->m_df_type = DF_Type::int32_t; - n_shutdown_interface_for_ms->m_rdf_type = RDF_Type::int32_t; - n_shutdown_interface_for_ms->m_node_type = NodeType::Simple; - n_shutdown_interface_for_ms->m_address = base + offset; - n_shutdown_interface_for_ms->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_shutdown_interface_for_ms); - - field_name = "supermovie_on"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interfacest, field_name)); - auto n_supermovie_on = new NodeSimple; - n_supermovie_on->m_field_name = field_name; - n_supermovie_on->m_df_type = DF_Type::int8_t; - n_supermovie_on->m_rdf_type = RDF_Type::int8_t; - n_supermovie_on->m_node_type = NodeType::Simple; - n_supermovie_on->m_address = base + offset; - n_supermovie_on->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_supermovie_on); - - field_name = "supermovie_pos"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interfacest, field_name)); - auto n_supermovie_pos = new NodeSimple; - n_supermovie_pos->m_field_name = field_name; - n_supermovie_pos->m_df_type = DF_Type::int32_t; - n_supermovie_pos->m_rdf_type = RDF_Type::int32_t; - n_supermovie_pos->m_node_type = NodeType::Simple; - n_supermovie_pos->m_address = base + offset; - n_supermovie_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_supermovie_pos); - - field_name = "supermovie_delayrate"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interfacest, field_name)); - auto n_supermovie_delayrate = new NodeSimple; - n_supermovie_delayrate->m_field_name = field_name; - n_supermovie_delayrate->m_df_type = DF_Type::int32_t; - n_supermovie_delayrate->m_rdf_type = RDF_Type::int32_t; - n_supermovie_delayrate->m_node_type = NodeType::Simple; - n_supermovie_delayrate->m_address = base + offset; - n_supermovie_delayrate->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_supermovie_delayrate); - - field_name = "supermovie_delaystep"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interfacest, field_name)); - auto n_supermovie_delaystep = new NodeSimple; - n_supermovie_delaystep->m_field_name = field_name; - n_supermovie_delaystep->m_df_type = DF_Type::int32_t; - n_supermovie_delaystep->m_rdf_type = RDF_Type::int32_t; - n_supermovie_delaystep->m_node_type = NodeType::Simple; - n_supermovie_delaystep->m_address = base + offset; - n_supermovie_delaystep->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_supermovie_delaystep); - - field_name = "supermovie_sound"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interfacest, field_name)); - auto n_supermovie_sound = new NodeVector; - n_supermovie_sound->m_field_name = field_name; - n_supermovie_sound->m_df_type = DF_Type::Stl_string; - n_supermovie_sound->m_rdf_type = RDF_Type::Vector; - n_supermovie_sound->m_node_type = NodeType::Vector; - n_supermovie_sound->m_addornements = "v*"; - n_supermovie_sound->m_address = base + offset; - n_supermovie_sound->m_parent = p_node_parent; - n_supermovie_sound->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_supermovie_sound); - - field_name = "supermovie_sound_time"; - auto n_supermovie_sound_time = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interfacest, field_name)); - n_supermovie_sound_time->m_field_name = field_name; - n_supermovie_sound_time->m_df_type = DF_Type::int32_t; - n_supermovie_sound_time->m_rdf_type = RDF_Type::Array; - n_supermovie_sound_time->m_comment = "SOUND_CHANNELNUM"; - n_supermovie_sound_time->m_node_type = NodeType::Array; - n_supermovie_sound_time->m_addornements = "[16[200"; - n_supermovie_sound_time->m_array_size = 16; - n_supermovie_sound_time->m_address = base + offset; - n_supermovie_sound_time->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_supermovie_sound_time); - - field_name = "supermoviebuffer"; - auto n_supermoviebuffer = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interfacest, field_name)); - n_supermoviebuffer->m_field_name = field_name; - n_supermoviebuffer->m_df_type = DF_Type::uint8_t; - n_supermoviebuffer->m_rdf_type = RDF_Type::Array; - n_supermoviebuffer->m_node_type = NodeType::Array; - n_supermoviebuffer->m_addornements = "[800000"; - n_supermoviebuffer->m_array_size = 800000; - n_supermoviebuffer->m_address = base + offset; - n_supermoviebuffer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_supermoviebuffer); - - field_name = "supermoviebuffer_comp"; - auto n_supermoviebuffer_comp = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interfacest, field_name)); - n_supermoviebuffer_comp->m_field_name = field_name; - n_supermoviebuffer_comp->m_df_type = DF_Type::uint8_t; - n_supermoviebuffer_comp->m_rdf_type = RDF_Type::Array; - n_supermoviebuffer_comp->m_node_type = NodeType::Array; - n_supermoviebuffer_comp->m_addornements = "[1000000"; - n_supermoviebuffer_comp->m_array_size = 1000000; - n_supermoviebuffer_comp->m_address = base + offset; - n_supermoviebuffer_comp->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_supermoviebuffer_comp); - - field_name = "currentblocksize"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interfacest, field_name)); - auto n_currentblocksize = new NodeSimple; - n_currentblocksize->m_field_name = field_name; - n_currentblocksize->m_df_type = DF_Type::int32_t; - n_currentblocksize->m_rdf_type = RDF_Type::int32_t; - n_currentblocksize->m_node_type = NodeType::Simple; - n_currentblocksize->m_address = base + offset; - n_currentblocksize->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_currentblocksize); - - field_name = "nextfilepos"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interfacest, field_name)); - auto n_nextfilepos = new NodeSimple; - n_nextfilepos->m_field_name = field_name; - n_nextfilepos->m_df_type = DF_Type::int32_t; - n_nextfilepos->m_rdf_type = RDF_Type::int32_t; - n_nextfilepos->m_node_type = NodeType::Simple; - n_nextfilepos->m_address = base + offset; - n_nextfilepos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_nextfilepos); - - field_name = "first_movie_write"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interfacest, field_name)); - auto n_first_movie_write = new NodeSimple; - n_first_movie_write->m_field_name = field_name; - n_first_movie_write->m_df_type = DF_Type::int8_t; - n_first_movie_write->m_rdf_type = RDF_Type::int8_t; - n_first_movie_write->m_node_type = NodeType::Simple; - n_first_movie_write->m_address = base + offset; - n_first_movie_write->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_first_movie_write); - - field_name = "movie_file"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interfacest, field_name)); - auto n_movie_file = new NodeSimple; - n_movie_file->m_field_name = field_name; - n_movie_file->m_df_type = DF_Type::Stl_string; - n_movie_file->m_rdf_type = RDF_Type::Stl_string; - n_movie_file->m_node_type = NodeType::Simple; - n_movie_file->m_address = base + offset; - n_movie_file->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_movie_file); - -} -void node_from_layer_object_listst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::layer_object; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_layer_object(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "cursor"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::layer_object_listst, field_name)); - auto n_cursor = new NodeSimple; - n_cursor->m_field_name = field_name; - n_cursor->m_df_type = DF_Type::int32_t; - n_cursor->m_rdf_type = RDF_Type::int32_t; - n_cursor->m_node_type = NodeType::Simple; - n_cursor->m_address = base + offset; - n_cursor->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cursor); - - field_name = "num_entries"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::layer_object_listst, field_name)); - auto n_num_entries = new NodeSimple; - n_num_entries->m_field_name = field_name; - n_num_entries->m_df_type = DF_Type::int32_t; - n_num_entries->m_rdf_type = RDF_Type::int32_t; - n_num_entries->m_node_type = NodeType::Simple; - n_num_entries->m_address = base + offset; - n_num_entries->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_num_entries); - - field_name = "x1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::layer_object_listst, field_name)); - auto n_x1 = new NodeSimple; - n_x1->m_field_name = field_name; - n_x1->m_df_type = DF_Type::int32_t; - n_x1->m_rdf_type = RDF_Type::int32_t; - n_x1->m_node_type = NodeType::Simple; - n_x1->m_address = base + offset; - n_x1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_x1); - - field_name = "y1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::layer_object_listst, field_name)); - auto n_y1 = new NodeSimple; - n_y1->m_field_name = field_name; - n_y1->m_df_type = DF_Type::int32_t; - n_y1->m_rdf_type = RDF_Type::int32_t; - n_y1->m_node_type = NodeType::Simple; - n_y1->m_address = base + offset; - n_y1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_y1); - - field_name = "page_size"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::layer_object_listst, field_name)); - auto n_page_size = new NodeSimple; - n_page_size->m_field_name = field_name; - n_page_size->m_df_type = DF_Type::int32_t; - n_page_size->m_rdf_type = RDF_Type::int32_t; - n_page_size->m_node_type = NodeType::Simple; - n_page_size->m_address = base + offset; - n_page_size->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_page_size); - - field_name = "x2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::layer_object_listst, field_name)); - auto n_x2 = new NodeSimple; - n_x2->m_field_name = field_name; - n_x2->m_df_type = DF_Type::int32_t; - n_x2->m_rdf_type = RDF_Type::int32_t; - n_x2->m_node_type = NodeType::Simple; - n_x2->m_address = base + offset; - n_x2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_x2); - - field_name = "y2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::layer_object_listst, field_name)); - auto n_y2 = new NodeSimple; - n_y2->m_field_name = field_name; - n_y2->m_df_type = DF_Type::int32_t; - n_y2->m_rdf_type = RDF_Type::int32_t; - n_y2->m_node_type = NodeType::Simple; - n_y2->m_address = base + offset; - n_y2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_y2); - - field_name = "mouse_l_cur"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::layer_object_listst, field_name)); - auto n_mouse_l_cur = new NodeSimple; - n_mouse_l_cur->m_field_name = field_name; - n_mouse_l_cur->m_df_type = DF_Type::int32_t; - n_mouse_l_cur->m_rdf_type = RDF_Type::int32_t; - n_mouse_l_cur->m_node_type = NodeType::Simple; - n_mouse_l_cur->m_address = base + offset; - n_mouse_l_cur->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mouse_l_cur); - - field_name = "mouse_r_cur"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::layer_object_listst, field_name)); - auto n_mouse_r_cur = new NodeSimple; - n_mouse_r_cur->m_field_name = field_name; - n_mouse_r_cur->m_df_type = DF_Type::int32_t; - n_mouse_r_cur->m_rdf_type = RDF_Type::int32_t; - n_mouse_r_cur->m_node_type = NodeType::Simple; - n_mouse_r_cur->m_address = base + offset; - n_mouse_r_cur->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mouse_r_cur); - - field_name = "rclick_scrolls"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::layer_object_listst, field_name)); - auto n_rclick_scrolls = new NodeSimple; - n_rclick_scrolls->m_field_name = field_name; - n_rclick_scrolls->m_df_type = DF_Type::Bool; - n_rclick_scrolls->m_rdf_type = RDF_Type::Bool; - n_rclick_scrolls->m_node_type = NodeType::Simple; - n_rclick_scrolls->m_address = base + offset; - n_rclick_scrolls->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rclick_scrolls); - - field_name = "flag"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::layer_object_listst, field_name)); - auto n_flag = new NodeSimple; - n_flag->m_field_name = field_name; - n_flag->m_df_type = DF_Type::int32_t; - n_flag->m_rdf_type = RDF_Type::int32_t; - n_flag->m_node_type = NodeType::Simple; - n_flag->m_address = base + offset; - n_flag->m_comment = "for standardscrolling"; - n_flag->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flag); - - field_name = "key_lclick"; - auto n_key_lclick = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::layer_object_listst, field_name)); - n_key_lclick->m_field_name = field_name; - n_key_lclick->m_df_type = DF_Type::interface_key; - n_key_lclick->m_rdf_type = RDF_Type::Enum; - n_key_lclick->m_node_type = NodeType::Enum; - n_key_lclick->m_base_type = DF_Type::int32_t; - n_key_lclick->m_enum_type = "interface_key"; - n_key_lclick->m_address = base + offset; - n_key_lclick->m_defined_in = "df.keybindings.xml"; - n_key_lclick->m_first_value = 0; - n_key_lclick->m_last_value = 1587; - n_key_lclick->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_key_lclick); - - field_name = "key_rclick"; - auto n_key_rclick = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::layer_object_listst, field_name)); - n_key_rclick->m_field_name = field_name; - n_key_rclick->m_df_type = DF_Type::interface_key; - n_key_rclick->m_rdf_type = RDF_Type::Enum; - n_key_rclick->m_node_type = NodeType::Enum; - n_key_rclick->m_base_type = DF_Type::int32_t; - n_key_rclick->m_enum_type = "interface_key"; - n_key_rclick->m_address = base + offset; - n_key_rclick->m_defined_in = "df.keybindings.xml"; - n_key_rclick->m_first_value = 0; - n_key_rclick->m_last_value = 1587; - n_key_rclick->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_key_rclick); - -} -void node_from_KeybindingScreen(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mode"; - auto n_mode = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::KeybindingScreen, field_name)); - n_mode->m_field_name = field_name; - n_mode->m_df_type = DF_Type::KeybindingScreen__T_mode; - n_mode->m_rdf_type = RDF_Type::Enum; - n_mode->m_node_type = NodeType::Enum; - n_mode->m_base_type = DF_Type::int32_t; - n_mode->m_enum_type = "KeybindingScreen::T_mode"; - n_mode->m_address = base + offset; - n_mode->m_first_value = 0; - n_mode->m_last_value = 4; - n_mode->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mode); - - field_name = "main"; - auto n_main = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::KeybindingScreen, field_name)); - n_main->m_field_name = field_name; - n_main->m_df_type = DF_Type::widget_menu; - n_main->m_rdf_type = RDF_Type::Struct; - n_main->m_node_type = NodeType::Compound; - n_main->m_address = base + offset; - n_main->m_defined_in = "df.viewscreen.xml"; - n_main->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_main); - - field_name = "keyL"; - auto n_keyL = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::KeybindingScreen, field_name)); - n_keyL->m_field_name = field_name; - n_keyL->m_df_type = DF_Type::widget_menu; - n_keyL->m_rdf_type = RDF_Type::Struct; - n_keyL->m_node_type = NodeType::Compound; - n_keyL->m_address = base + offset; - n_keyL->m_defined_in = "df.viewscreen.xml"; - n_keyL->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_keyL); - - field_name = "keyR"; - auto n_keyR = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::KeybindingScreen, field_name)); - n_keyR->m_field_name = field_name; - n_keyR->m_df_type = DF_Type::widget_menu; - n_keyR->m_rdf_type = RDF_Type::Struct; - n_keyR->m_node_type = NodeType::Compound; - n_keyR->m_address = base + offset; - n_keyR->m_defined_in = "df.viewscreen.xml"; - n_keyR->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_keyR); - - field_name = "macro"; - auto n_macro = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::KeybindingScreen, field_name)); - n_macro->m_field_name = field_name; - n_macro->m_df_type = DF_Type::widget_menu; - n_macro->m_rdf_type = RDF_Type::Struct; - n_macro->m_node_type = NodeType::Compound; - n_macro->m_address = base + offset; - n_macro->m_defined_in = "df.viewscreen.xml"; - n_macro->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_macro); - - field_name = "keyRegister"; - auto n_keyRegister = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::KeybindingScreen, field_name)); - n_keyRegister->m_field_name = field_name; - n_keyRegister->m_df_type = DF_Type::widget_menu; - n_keyRegister->m_rdf_type = RDF_Type::Struct; - n_keyRegister->m_node_type = NodeType::Compound; - n_keyRegister->m_address = base + offset; - n_keyRegister->m_defined_in = "df.viewscreen.xml"; - n_keyRegister->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_keyRegister); - -} -void node_from_MacroScreenLoad(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "menu"; - auto n_menu = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::MacroScreenLoad, field_name)); - n_menu->m_field_name = field_name; - n_menu->m_df_type = DF_Type::widget_menu; - n_menu->m_rdf_type = RDF_Type::Struct; - n_menu->m_node_type = NodeType::Compound; - n_menu->m_address = base + offset; - n_menu->m_defined_in = "df.viewscreen.xml"; - n_menu->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_menu); - - field_name = "width"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::MacroScreenLoad, field_name)); - auto n_width = new NodeSimple; - n_width->m_field_name = field_name; - n_width->m_df_type = DF_Type::int32_t; - n_width->m_rdf_type = RDF_Type::int32_t; - n_width->m_node_type = NodeType::Simple; - n_width->m_address = base + offset; - n_width->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_width); - - field_name = "height"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::MacroScreenLoad, field_name)); - auto n_height = new NodeSimple; - n_height->m_field_name = field_name; - n_height->m_df_type = DF_Type::int32_t; - n_height->m_rdf_type = RDF_Type::int32_t; - n_height->m_node_type = NodeType::Simple; - n_height->m_address = base + offset; - n_height->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_height); - -} -void node_from_MacroScreenSave(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - auto n_id = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::MacroScreenSave, field_name)); - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::widget_textbox; - n_id->m_rdf_type = RDF_Type::Struct; - n_id->m_node_type = NodeType::Compound; - n_id->m_address = base + offset; - n_id->m_defined_in = "df.viewscreen.xml"; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - -} -void node_from_world_dat_summary(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "name"; - auto n_name = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_dat_summary, field_name)); - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::language_name; - n_name->m_rdf_type = RDF_Type::Struct; - n_name->m_node_type = NodeType::Compound; - n_name->m_address = base + offset; - n_name->m_defined_in = "df.language.xml"; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_dat_summary, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::Stl_string; - n_anon_1->m_rdf_type = RDF_Type::Stl_string; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - auto n_anon_2 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_dat_summary, field_name)); - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int8_t; - n_anon_2->m_rdf_type = RDF_Type::Array; - n_anon_2->m_comment = "same as the one at the top of world_data"; - n_anon_2->m_node_type = NodeType::Array; - n_anon_2->m_addornements = "[15"; - n_anon_2->m_array_size = 15; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "save_info"; - auto n_save_info = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_dat_summary, field_name)); - n_save_info->m_field_name = field_name; - n_save_info->m_df_type = DF_Type::int32_t; - n_save_info->m_rdf_type = RDF_Type::Array; - n_save_info->m_node_type = NodeType::Array; - n_save_info->m_addornements = "[34"; - n_save_info->m_array_size = 34; - n_save_info->m_address = base + offset; - n_save_info->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_save_info); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_dat_summary, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::Stl_string; - n_anon_3->m_rdf_type = RDF_Type::Stl_string; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - -} -void node_from_viewscreen_adopt_regionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "compressor"; - auto n_compressor = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adopt_regionst, field_name)); - n_compressor->m_field_name = field_name; - n_compressor->m_df_type = DF_Type::file_compressorst; - n_compressor->m_rdf_type = RDF_Type::Struct; - n_compressor->m_node_type = NodeType::Compound; - n_compressor->m_address = base + offset; - n_compressor->m_defined_in = "df.viewscreen.xml"; - n_compressor->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_compressor); - - field_name = "cur_step"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adopt_regionst, field_name)); - auto n_cur_step = new NodeSimple; - n_cur_step->m_field_name = field_name; - n_cur_step->m_df_type = DF_Type::int32_t; - n_cur_step->m_rdf_type = RDF_Type::int32_t; - n_cur_step->m_node_type = NodeType::Simple; - n_cur_step->m_address = base + offset; - n_cur_step->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cur_step); - - field_name = "save_version"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adopt_regionst, field_name)); - auto n_save_version = new NodeSimple; - n_save_version->m_field_name = field_name; - n_save_version->m_df_type = DF_Type::int32_t; - n_save_version->m_rdf_type = RDF_Type::int32_t; - n_save_version->m_node_type = NodeType::Simple; - n_save_version->m_address = base + offset; - n_save_version->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_save_version); - - field_name = "cur_save"; - auto n_cur_save = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adopt_regionst, field_name)); - n_cur_save->m_field_name = field_name; - n_cur_save->m_df_type = DF_Type::world_dat_summary; - n_cur_save->m_rdf_type = RDF_Type::Struct; - n_cur_save->m_node_type = NodeType::Compound; - n_cur_save->m_address = base + offset; - n_cur_save->m_defined_in = "df.viewscreen.xml"; - n_cur_save->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cur_save); - - field_name = "glosses"; - auto n_glosses = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adopt_regionst, field_name)); - n_glosses->m_field_name = field_name; - n_glosses->m_df_type = DF_Type::matgloss_list; - n_glosses->m_rdf_type = RDF_Type::Struct; - n_glosses->m_node_type = NodeType::Compound; - n_glosses->m_address = base + offset; - n_glosses->m_defined_in = "df.viewscreen.xml"; - n_glosses->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_glosses); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adopt_regionst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_viewscreen_adventure_logst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mode"; - auto n_mode = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adventure_logst, field_name)); - n_mode->m_field_name = field_name; - n_mode->m_df_type = DF_Type::viewscreen_adventure_logst__T_mode; - n_mode->m_rdf_type = RDF_Type::Enum; - n_mode->m_node_type = NodeType::Enum; - n_mode->m_base_type = DF_Type::int8_t; - n_mode->m_enum_type = "viewscreen_adventure_logst::T_mode"; - n_mode->m_address = base + offset; - n_mode->m_first_value = 0; - n_mode->m_last_value = 1; - n_mode->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mode); - - field_name = "map_islocalview"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adventure_logst, field_name)); - auto n_map_islocalview = new NodeSimple; - n_map_islocalview->m_field_name = field_name; - n_map_islocalview->m_df_type = DF_Type::int8_t; - n_map_islocalview->m_rdf_type = RDF_Type::int8_t; - n_map_islocalview->m_node_type = NodeType::Simple; - n_map_islocalview->m_address = base + offset; - n_map_islocalview->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_map_islocalview); - - field_name = "map_hidden"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adventure_logst, field_name)); - auto n_map_hidden = new NodeSimple; - n_map_hidden->m_field_name = field_name; - n_map_hidden->m_df_type = DF_Type::int8_t; - n_map_hidden->m_rdf_type = RDF_Type::int8_t; - n_map_hidden->m_node_type = NodeType::Simple; - n_map_hidden->m_address = base + offset; - n_map_hidden->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_map_hidden); - - field_name = "player_region_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adventure_logst, field_name)); - auto n_player_region_x = new NodeSimple; - n_player_region_x->m_field_name = field_name; - n_player_region_x->m_df_type = DF_Type::int16_t; - n_player_region_x->m_rdf_type = RDF_Type::int16_t; - n_player_region_x->m_node_type = NodeType::Simple; - n_player_region_x->m_address = base + offset; - n_player_region_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_player_region_x); - - field_name = "player_region_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adventure_logst, field_name)); - auto n_player_region_y = new NodeSimple; - n_player_region_y->m_field_name = field_name; - n_player_region_y->m_df_type = DF_Type::int16_t; - n_player_region_y->m_rdf_type = RDF_Type::int16_t; - n_player_region_y->m_node_type = NodeType::Simple; - n_player_region_y->m_address = base + offset; - n_player_region_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_player_region_y); - - field_name = "player_local_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adventure_logst, field_name)); - auto n_player_local_x = new NodeSimple; - n_player_local_x->m_field_name = field_name; - n_player_local_x->m_df_type = DF_Type::int16_t; - n_player_local_x->m_rdf_type = RDF_Type::int16_t; - n_player_local_x->m_node_type = NodeType::Simple; - n_player_local_x->m_address = base + offset; - n_player_local_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_player_local_x); - - field_name = "player_local_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adventure_logst, field_name)); - auto n_player_local_y = new NodeSimple; - n_player_local_y->m_field_name = field_name; - n_player_local_y->m_df_type = DF_Type::int16_t; - n_player_local_y->m_rdf_type = RDF_Type::int16_t; - n_player_local_y->m_node_type = NodeType::Simple; - n_player_local_y->m_address = base + offset; - n_player_local_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_player_local_y); - - field_name = "unk_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adventure_logst, field_name)); - auto n_unk_8 = new NodeSimple; - n_unk_8->m_field_name = field_name; - n_unk_8->m_df_type = DF_Type::int16_t; - n_unk_8->m_rdf_type = RDF_Type::int16_t; - n_unk_8->m_node_type = NodeType::Simple; - n_unk_8->m_address = base + offset; - n_unk_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_8); - - field_name = "unk_9"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adventure_logst, field_name)); - auto n_unk_9 = new NodeSimple; - n_unk_9->m_field_name = field_name; - n_unk_9->m_df_type = DF_Type::int16_t; - n_unk_9->m_rdf_type = RDF_Type::int16_t; - n_unk_9->m_node_type = NodeType::Simple; - n_unk_9->m_address = base + offset; - n_unk_9->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_9); - - field_name = "unk_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adventure_logst, field_name)); - auto n_unk_10 = new NodeSimple; - n_unk_10->m_field_name = field_name; - n_unk_10->m_df_type = DF_Type::int16_t; - n_unk_10->m_rdf_type = RDF_Type::int16_t; - n_unk_10->m_node_type = NodeType::Simple; - n_unk_10->m_address = base + offset; - n_unk_10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_10); - - field_name = "unk_11"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adventure_logst, field_name)); - auto n_unk_11 = new NodeSimple; - n_unk_11->m_field_name = field_name; - n_unk_11->m_df_type = DF_Type::int16_t; - n_unk_11->m_rdf_type = RDF_Type::int16_t; - n_unk_11->m_node_type = NodeType::Simple; - n_unk_11->m_address = base + offset; - n_unk_11->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_11); - - field_name = "cursor_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adventure_logst, field_name)); - auto n_cursor_x = new NodeSimple; - n_cursor_x->m_field_name = field_name; - n_cursor_x->m_df_type = DF_Type::int16_t; - n_cursor_x->m_rdf_type = RDF_Type::int16_t; - n_cursor_x->m_node_type = NodeType::Simple; - n_cursor_x->m_address = base + offset; - n_cursor_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cursor_x); - - field_name = "cursor_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adventure_logst, field_name)); - auto n_cursor_y = new NodeSimple; - n_cursor_y->m_field_name = field_name; - n_cursor_y->m_df_type = DF_Type::int16_t; - n_cursor_y->m_rdf_type = RDF_Type::int16_t; - n_cursor_y->m_node_type = NodeType::Simple; - n_cursor_y->m_address = base + offset; - n_cursor_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cursor_y); - - field_name = "index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adventure_logst, field_name)); - auto n_index = new NodeSimple; - n_index->m_field_name = field_name; - n_index->m_df_type = DF_Type::int32_t; - n_index->m_rdf_type = RDF_Type::int32_t; - n_index->m_node_type = NodeType::Simple; - n_index->m_address = base + offset; - n_index->m_comment = "cursor position in info mode"; - n_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_index); - - field_name = "map_draw_line"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adventure_logst, field_name)); - auto n_map_draw_line = new NodeSimple; - n_map_draw_line->m_field_name = field_name; - n_map_draw_line->m_df_type = DF_Type::int8_t; - n_map_draw_line->m_rdf_type = RDF_Type::int8_t; - n_map_draw_line->m_node_type = NodeType::Simple; - n_map_draw_line->m_address = base + offset; - n_map_draw_line->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_map_draw_line); - - field_name = "info_mode"; - auto n_info_mode = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adventure_logst, field_name)); - n_info_mode->m_field_name = field_name; - n_info_mode->m_df_type = DF_Type::viewscreen_adventure_logst__T_info_mode; - n_info_mode->m_rdf_type = RDF_Type::Enum; - n_info_mode->m_node_type = NodeType::Enum; - n_info_mode->m_base_type = DF_Type::int16_t; - n_info_mode->m_enum_type = "viewscreen_adventure_logst::T_info_mode"; - n_info_mode->m_address = base + offset; - n_info_mode->m_first_value = 0; - n_info_mode->m_last_value = 6; - n_info_mode->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_info_mode); - - field_name = "local_area_x1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adventure_logst, field_name)); - auto n_local_area_x1 = new NodeSimple; - n_local_area_x1->m_field_name = field_name; - n_local_area_x1->m_df_type = DF_Type::int16_t; - n_local_area_x1->m_rdf_type = RDF_Type::int16_t; - n_local_area_x1->m_node_type = NodeType::Simple; - n_local_area_x1->m_address = base + offset; - n_local_area_x1->m_comment = "rectangle of 0 in local view"; - n_local_area_x1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_local_area_x1); - - field_name = "local_area_x2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adventure_logst, field_name)); - auto n_local_area_x2 = new NodeSimple; - n_local_area_x2->m_field_name = field_name; - n_local_area_x2->m_df_type = DF_Type::int16_t; - n_local_area_x2->m_rdf_type = RDF_Type::int16_t; - n_local_area_x2->m_node_type = NodeType::Simple; - n_local_area_x2->m_address = base + offset; - n_local_area_x2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_local_area_x2); - - field_name = "local_area_y1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adventure_logst, field_name)); - auto n_local_area_y1 = new NodeSimple; - n_local_area_y1->m_field_name = field_name; - n_local_area_y1->m_df_type = DF_Type::int16_t; - n_local_area_y1->m_rdf_type = RDF_Type::int16_t; - n_local_area_y1->m_node_type = NodeType::Simple; - n_local_area_y1->m_address = base + offset; - n_local_area_y1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_local_area_y1); - - field_name = "local_area_y2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adventure_logst, field_name)); - auto n_local_area_y2 = new NodeSimple; - n_local_area_y2->m_field_name = field_name; - n_local_area_y2->m_df_type = DF_Type::int16_t; - n_local_area_y2->m_rdf_type = RDF_Type::int16_t; - n_local_area_y2->m_node_type = NodeType::Simple; - n_local_area_y2->m_address = base + offset; - n_local_area_y2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_local_area_y2); - - field_name = "unk_v40_1a"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adventure_logst, field_name)); - auto n_unk_v40_1a = new NodeSimple; - n_unk_v40_1a->m_field_name = field_name; - n_unk_v40_1a->m_df_type = DF_Type::int32_t; - n_unk_v40_1a->m_rdf_type = RDF_Type::int32_t; - n_unk_v40_1a->m_node_type = NodeType::Simple; - n_unk_v40_1a->m_address = base + offset; - n_unk_v40_1a->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_1a); - - field_name = "unk_v40_1b"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adventure_logst, field_name)); - auto n_unk_v40_1b = new NodeSimple; - n_unk_v40_1b->m_field_name = field_name; - n_unk_v40_1b->m_df_type = DF_Type::int32_t; - n_unk_v40_1b->m_rdf_type = RDF_Type::int32_t; - n_unk_v40_1b->m_node_type = NodeType::Simple; - n_unk_v40_1b->m_address = base + offset; - n_unk_v40_1b->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_1b); - - field_name = "unk_v40_1c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adventure_logst, field_name)); - auto n_unk_v40_1c = new NodeSimple; - n_unk_v40_1c->m_field_name = field_name; - n_unk_v40_1c->m_df_type = DF_Type::int32_t; - n_unk_v40_1c->m_rdf_type = RDF_Type::int32_t; - n_unk_v40_1c->m_node_type = NodeType::Simple; - n_unk_v40_1c->m_address = base + offset; - n_unk_v40_1c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_1c); - - field_name = "unk_v40_1d"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adventure_logst, field_name)); - auto n_unk_v40_1d = new NodeSimple; - n_unk_v40_1d->m_field_name = field_name; - n_unk_v40_1d->m_df_type = DF_Type::int32_t; - n_unk_v40_1d->m_rdf_type = RDF_Type::int32_t; - n_unk_v40_1d->m_node_type = NodeType::Simple; - n_unk_v40_1d->m_address = base + offset; - n_unk_v40_1d->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_1d); - - field_name = "unk_v40_1e"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adventure_logst, field_name)); - auto n_unk_v40_1e = new NodeSimple; - n_unk_v40_1e->m_field_name = field_name; - n_unk_v40_1e->m_df_type = DF_Type::int32_t; - n_unk_v40_1e->m_rdf_type = RDF_Type::int32_t; - n_unk_v40_1e->m_node_type = NodeType::Simple; - n_unk_v40_1e->m_address = base + offset; - n_unk_v40_1e->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_1e); - - field_name = "unk_v40_1f"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adventure_logst, field_name)); - auto n_unk_v40_1f = new NodeSimple; - n_unk_v40_1f->m_field_name = field_name; - n_unk_v40_1f->m_df_type = DF_Type::int32_t; - n_unk_v40_1f->m_rdf_type = RDF_Type::int32_t; - n_unk_v40_1f->m_node_type = NodeType::Simple; - n_unk_v40_1f->m_address = base + offset; - n_unk_v40_1f->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_1f); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adventure_logst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "filter_str"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adventure_logst, field_name)); - auto n_filter_str = new NodeSimple; - n_filter_str->m_field_name = field_name; - n_filter_str->m_df_type = DF_Type::Stl_string; - n_filter_str->m_rdf_type = RDF_Type::Stl_string; - n_filter_str->m_node_type = NodeType::Simple; - n_filter_str->m_address = base + offset; - n_filter_str->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_filter_str); - - field_name = "in_filter"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adventure_logst, field_name)); - auto n_in_filter = new NodeSimple; - n_in_filter->m_field_name = field_name; - n_in_filter->m_df_type = DF_Type::int8_t; - n_in_filter->m_rdf_type = RDF_Type::int8_t; - n_in_filter->m_node_type = NodeType::Simple; - n_in_filter->m_address = base + offset; - n_in_filter->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_in_filter); - - field_name = "items"; - auto n_items = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adventure_logst, field_name)); - n_items->m_field_name = field_name; - n_items->m_df_type = DF_Type::adventure_log_item; - n_items->m_rdf_type = RDF_Type::Array; - n_items->m_node_type = NodeType::Array; - n_items->m_defined_in = "df.viewscreen.xml"; - n_items->m_addornements = "[9v*"; - n_items->m_array_size = 9; - n_items->m_address = base + offset; - n_items->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_items); - - field_name = "filtered_items"; - auto n_filtered_items = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adventure_logst, field_name)); - n_filtered_items->m_field_name = field_name; - n_filtered_items->m_df_type = DF_Type::adventure_log_item; - n_filtered_items->m_rdf_type = RDF_Type::Array; - n_filtered_items->m_node_type = NodeType::Array; - n_filtered_items->m_defined_in = "df.viewscreen.xml"; - n_filtered_items->m_addornements = "[9v*"; - n_filtered_items->m_array_size = 9; - n_filtered_items->m_address = base + offset; - n_filtered_items->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_filtered_items); - -} -void node_from_viewscreen_announcelistst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unit"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_announcelistst, field_name)); - auto n_unit = new NodePointer; - n_unit->m_field_name = field_name; - n_unit->m_df_type = get_real_subtype(base+offset, DF_Type::unit); - n_unit->m_rdf_type = RDF_Type::Pointer; - n_unit->m_node_type = NodeType::Pointer; - n_unit->m_addornements = "*"; - n_unit->m_address = base + offset; - n_unit->m_parent = p_node_parent; - n_unit->m_defined_in = "df.units.xml"; - n_unit->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unit); - - field_name = "report_type"; - auto n_report_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_announcelistst, field_name)); - n_report_type->m_field_name = field_name; - n_report_type->m_df_type = DF_Type::unit_report_type; - n_report_type->m_rdf_type = RDF_Type::Enum; - n_report_type->m_node_type = NodeType::Enum; - n_report_type->m_base_type = DF_Type::int16_t; - n_report_type->m_enum_type = "unit_report_type"; - n_report_type->m_address = base + offset; - n_report_type->m_defined_in = "df.units.xml"; - n_report_type->m_first_value = 0; - n_report_type->m_last_value = 2; - n_report_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_report_type); - - field_name = "sel_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_announcelistst, field_name)); - auto n_sel_idx = new NodeSimple; - n_sel_idx->m_field_name = field_name; - n_sel_idx->m_df_type = DF_Type::int32_t; - n_sel_idx->m_rdf_type = RDF_Type::int32_t; - n_sel_idx->m_node_type = NodeType::Simple; - n_sel_idx->m_address = base + offset; - n_sel_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sel_idx); - - field_name = "reports"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_announcelistst, field_name)); - auto n_reports = new NodeVector; - n_reports->m_field_name = field_name; - n_reports->m_df_type = DF_Type::report; - n_reports->m_rdf_type = RDF_Type::Vector; - n_reports->m_node_type = NodeType::Vector; - n_reports->m_defined_in = "df.announcements.xml"; - n_reports->m_addornements = "v*"; - n_reports->m_address = base + offset; - n_reports->m_parent = p_node_parent; - n_reports->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_reports); - -} -void node_from_viewscreen_assign_display_itemst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "building"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_assign_display_itemst, field_name)); - auto n_building = new NodePointer; - n_building->m_field_name = field_name; - n_building->m_df_type = get_real_subtype(base+offset, DF_Type::building_display_furniturest); - n_building->m_rdf_type = RDF_Type::Pointer; - n_building->m_node_type = NodeType::Pointer; - n_building->m_addornements = "*"; - n_building->m_address = base + offset; - n_building->m_parent = p_node_parent; - n_building->m_defined_in = "df.buildings.xml"; - n_building->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_building); - - field_name = "title"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_assign_display_itemst, field_name)); - auto n_title= new NodePadding; - n_title->m_field_name = field_name; - n_title->m_df_type = DF_Type::Static_string; - n_title->m_rdf_type = RDF_Type::Static_string; - n_title->m_node_type = NodeType::StaticString; - n_title->m_address = base + offset; - n_title->m_size = 256; - n_title->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_title); - - field_name = "sel_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_assign_display_itemst, field_name)); - auto n_sel_type = new NodeSimple; - n_sel_type->m_field_name = field_name; - n_sel_type->m_df_type = DF_Type::int32_t; - n_sel_type->m_rdf_type = RDF_Type::int32_t; - n_sel_type->m_node_type = NodeType::Simple; - n_sel_type->m_address = base + offset; - n_sel_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sel_type); - - field_name = "sel_item"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_assign_display_itemst, field_name)); - auto n_sel_item = new NodeSimple; - n_sel_item->m_field_name = field_name; - n_sel_item->m_df_type = DF_Type::int32_t; - n_sel_item->m_rdf_type = RDF_Type::int32_t; - n_sel_item->m_node_type = NodeType::Simple; - n_sel_item->m_address = base + offset; - n_sel_item->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sel_item); - - field_name = "selected_item_ids"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_assign_display_itemst, field_name)); - auto n_selected_item_ids = new NodeVector; - n_selected_item_ids->m_field_name = field_name; - n_selected_item_ids->m_df_type = DF_Type::int32_t; - n_selected_item_ids->m_rdf_type = RDF_Type::Vector; - n_selected_item_ids->m_node_type = NodeType::Vector; - n_selected_item_ids->m_addornements = "v"; - n_selected_item_ids->m_address = base + offset; - n_selected_item_ids->m_comment = "sorted"; - n_selected_item_ids->m_parent = p_node_parent; - n_selected_item_ids->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_selected_item_ids); - - field_name = "sel_column"; - auto n_sel_column = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_assign_display_itemst, field_name)); - n_sel_column->m_field_name = field_name; - n_sel_column->m_df_type = DF_Type::viewscreen_assign_display_itemst__T_sel_column; - n_sel_column->m_rdf_type = RDF_Type::Enum; - n_sel_column->m_node_type = NodeType::Enum; - n_sel_column->m_base_type = DF_Type::int32_t; - n_sel_column->m_enum_type = "viewscreen_assign_display_itemst::T_sel_column"; - n_sel_column->m_address = base + offset; - n_sel_column->m_first_value = 0; - n_sel_column->m_last_value = 1; - n_sel_column->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sel_column); - - field_name = "item_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_assign_display_itemst, field_name)); - auto n_item_type = new NodeVector; - n_item_type->m_field_name = field_name; - n_item_type->m_df_type = DF_Type::item_type; - n_item_type->m_rdf_type = RDF_Type::Vector; - n_item_type->m_node_type = NodeType::Vector; - n_item_type->m_enum_base = DF_Type::int16_t; - n_item_type->m_defined_in = "df.item-raws.xml"; - n_item_type->m_addornements = "v"; - n_item_type->m_address = base + offset; - n_item_type->m_parent = p_node_parent; - n_item_type->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_item_type); - - field_name = "artifacts"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_assign_display_itemst, field_name)); - auto n_artifacts = new NodeVector; - n_artifacts->m_field_name = field_name; - n_artifacts->m_df_type = DF_Type::item; - n_artifacts->m_rdf_type = RDF_Type::Vector; - n_artifacts->m_node_type = NodeType::Vector; - n_artifacts->m_defined_in = "df.items.xml"; - n_artifacts->m_addornements = "v*"; - n_artifacts->m_address = base + offset; - n_artifacts->m_parent = p_node_parent; - n_artifacts->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_artifacts); - - field_name = "unk_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_assign_display_itemst, field_name)); - auto n_unk_3 = new NodeSimple; - n_unk_3->m_field_name = field_name; - n_unk_3->m_df_type = DF_Type::int8_t; - n_unk_3->m_rdf_type = RDF_Type::int8_t; - n_unk_3->m_node_type = NodeType::Simple; - n_unk_3->m_address = base + offset; - n_unk_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_3); - - field_name = "items"; - auto n_items = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_assign_display_itemst, field_name)); - n_items->m_field_name = field_name; - n_items->m_df_type = DF_Type::item; - n_items->m_rdf_type = RDF_Type::Array; - n_items->m_node_type = NodeType::Array; - n_items->m_index_enum = DF_Type::item_type; - n_items->m_defined_in = "df.items.xml"; - n_items->m_addornements = "[91v*"; - n_items->m_array_size = 91; - n_items->m_address = base + offset; - n_items->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_items); - - field_name = "items_populated"; - auto n_items_populated = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_assign_display_itemst, field_name)); - n_items_populated->m_field_name = field_name; - n_items_populated->m_df_type = DF_Type::int8_t; - n_items_populated->m_rdf_type = RDF_Type::Array; - n_items_populated->m_node_type = NodeType::Array; - n_items_populated->m_index_enum = DF_Type::item_type; - n_items_populated->m_addornements = "[91"; - n_items_populated->m_array_size = 91; - n_items_populated->m_address = base + offset; - n_items_populated->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_items_populated); - - field_name = "description"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_assign_display_itemst, field_name)); - auto n_description = new NodeVector; - n_description->m_field_name = field_name; - n_description->m_df_type = DF_Type::Stl_string; - n_description->m_rdf_type = RDF_Type::Vector; - n_description->m_node_type = NodeType::Vector; - n_description->m_addornements = "v*"; - n_description->m_address = base + offset; - n_description->m_parent = p_node_parent; - n_description->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_description); - -} -void node_from_viewscreen_barterst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_barterst, field_name)); - auto n_anon_1 = new NodePointer; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_anon_1->m_rdf_type = RDF_Type::Pointer; - n_anon_1->m_node_type = NodeType::Pointer; - n_anon_1->m_addornements = "*"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_barterst, field_name)); - auto n_anon_2 = new NodePointer; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_anon_2->m_rdf_type = RDF_Type::Pointer; - n_anon_2->m_node_type = NodeType::Pointer; - n_anon_2->m_addornements = "*"; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_barterst, field_name)); - auto n_anon_3 = new NodePointer; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_anon_3->m_rdf_type = RDF_Type::Pointer; - n_anon_3->m_node_type = NodeType::Pointer; - n_anon_3->m_addornements = "*"; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_barterst, field_name)); - auto n_anon_4 = new NodePointer; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_anon_4->m_rdf_type = RDF_Type::Pointer; - n_anon_4->m_node_type = NodeType::Pointer; - n_anon_4->m_addornements = "*"; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_barterst, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int8_t; - n_anon_5->m_rdf_type = RDF_Type::int8_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_barterst, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int8_t; - n_anon_6->m_rdf_type = RDF_Type::int8_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_barterst, field_name)); - auto n_anon_7 = new NodeSimple; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::int8_t; - n_anon_7->m_rdf_type = RDF_Type::int8_t; - n_anon_7->m_node_type = NodeType::Simple; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_7); - - field_name = "anon_8"; - auto n_anon_8 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_barterst, field_name)); - n_anon_8->m_field_name = field_name; - n_anon_8->m_df_type = DF_Type::Void; - n_anon_8->m_rdf_type = RDF_Type::Array; - n_anon_8->m_node_type = NodeType::Array; - n_anon_8->m_addornements = "[2v"; - n_anon_8->m_array_size = 2; - n_anon_8->m_address = base + offset; - n_anon_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_8); - - field_name = "anon_9"; - auto n_anon_9 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_barterst, field_name)); - n_anon_9->m_field_name = field_name; - n_anon_9->m_df_type = DF_Type::Void; - n_anon_9->m_rdf_type = RDF_Type::Array; - n_anon_9->m_node_type = NodeType::Array; - n_anon_9->m_addornements = "[2v"; - n_anon_9->m_array_size = 2; - n_anon_9->m_address = base + offset; - n_anon_9->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_9); - - field_name = "anon_10"; - auto n_anon_10 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_barterst, field_name)); - n_anon_10->m_field_name = field_name; - n_anon_10->m_df_type = DF_Type::Void; - n_anon_10->m_rdf_type = RDF_Type::Array; - n_anon_10->m_node_type = NodeType::Array; - n_anon_10->m_addornements = "[2v"; - n_anon_10->m_array_size = 2; - n_anon_10->m_address = base + offset; - n_anon_10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_10); - - field_name = "anon_11"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_barterst, field_name)); - auto n_anon_11 = new NodeVector; - n_anon_11->m_field_name = field_name; - n_anon_11->m_df_type = DF_Type::Void; - n_anon_11->m_rdf_type = RDF_Type::Vector; - n_anon_11->m_node_type = NodeType::Vector; - n_anon_11->m_addornements = "v"; - n_anon_11->m_address = base + offset; - n_anon_11->m_parent = p_node_parent; - n_anon_11->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_11); - - field_name = "anon_12"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_barterst, field_name)); - auto n_anon_12 = new NodeVector; - n_anon_12->m_field_name = field_name; - n_anon_12->m_df_type = DF_Type::Void; - n_anon_12->m_rdf_type = RDF_Type::Vector; - n_anon_12->m_node_type = NodeType::Vector; - n_anon_12->m_addornements = "v"; - n_anon_12->m_address = base + offset; - n_anon_12->m_parent = p_node_parent; - n_anon_12->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_12); - - field_name = "anon_13"; - auto n_anon_13 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_barterst, field_name)); - n_anon_13->m_field_name = field_name; - n_anon_13->m_df_type = DF_Type::int32_t; - n_anon_13->m_rdf_type = RDF_Type::Array; - n_anon_13->m_node_type = NodeType::Array; - n_anon_13->m_addornements = "[2"; - n_anon_13->m_array_size = 2; - n_anon_13->m_address = base + offset; - n_anon_13->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_13); - - field_name = "anon_14"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_barterst, field_name)); - auto n_anon_14 = new NodeSimple; - n_anon_14->m_field_name = field_name; - n_anon_14->m_df_type = DF_Type::int8_t; - n_anon_14->m_rdf_type = RDF_Type::int8_t; - n_anon_14->m_node_type = NodeType::Simple; - n_anon_14->m_address = base + offset; - n_anon_14->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_14); - - field_name = "anon_15"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_barterst, field_name)); - auto n_anon_15 = new NodeSimple; - n_anon_15->m_field_name = field_name; - n_anon_15->m_df_type = DF_Type::int16_t; - n_anon_15->m_rdf_type = RDF_Type::int16_t; - n_anon_15->m_node_type = NodeType::Simple; - n_anon_15->m_address = base + offset; - n_anon_15->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_15); - - field_name = "anon_16"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_barterst, field_name)); - auto n_anon_16 = new NodeSimple; - n_anon_16->m_field_name = field_name; - n_anon_16->m_df_type = DF_Type::int8_t; - n_anon_16->m_rdf_type = RDF_Type::int8_t; - n_anon_16->m_node_type = NodeType::Simple; - n_anon_16->m_address = base + offset; - n_anon_16->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_16); - - field_name = "max_ask"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_barterst, field_name)); - auto n_max_ask = new NodeSimple; - n_max_ask->m_field_name = field_name; - n_max_ask->m_df_type = DF_Type::int32_t; - n_max_ask->m_rdf_type = RDF_Type::int32_t; - n_max_ask->m_node_type = NodeType::Simple; - n_max_ask->m_address = base + offset; - n_max_ask->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_max_ask); - - field_name = "max_offer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_barterst, field_name)); - auto n_max_offer = new NodeSimple; - n_max_offer->m_field_name = field_name; - n_max_offer->m_df_type = DF_Type::int32_t; - n_max_offer->m_rdf_type = RDF_Type::int32_t; - n_max_offer->m_node_type = NodeType::Simple; - n_max_offer->m_address = base + offset; - n_max_offer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_max_offer); - - field_name = "cur_ask"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_barterst, field_name)); - auto n_cur_ask = new NodeSimple; - n_cur_ask->m_field_name = field_name; - n_cur_ask->m_df_type = DF_Type::int32_t; - n_cur_ask->m_rdf_type = RDF_Type::int32_t; - n_cur_ask->m_node_type = NodeType::Simple; - n_cur_ask->m_address = base + offset; - n_cur_ask->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cur_ask); - - field_name = "cur_offer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_barterst, field_name)); - auto n_cur_offer = new NodeSimple; - n_cur_offer->m_field_name = field_name; - n_cur_offer->m_df_type = DF_Type::int32_t; - n_cur_offer->m_rdf_type = RDF_Type::int32_t; - n_cur_offer->m_node_type = NodeType::Simple; - n_cur_offer->m_address = base + offset; - n_cur_offer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cur_offer); - - field_name = "anon_17"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_barterst, field_name)); - auto n_anon_17 = new NodeSimple; - n_anon_17->m_field_name = field_name; - n_anon_17->m_df_type = DF_Type::int8_t; - n_anon_17->m_rdf_type = RDF_Type::int8_t; - n_anon_17->m_node_type = NodeType::Simple; - n_anon_17->m_address = base + offset; - n_anon_17->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_17); - - field_name = "anon_18"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_barterst, field_name)); - auto n_anon_18 = new NodeSimple; - n_anon_18->m_field_name = field_name; - n_anon_18->m_df_type = DF_Type::int8_t; - n_anon_18->m_rdf_type = RDF_Type::int8_t; - n_anon_18->m_node_type = NodeType::Simple; - n_anon_18->m_address = base + offset; - n_anon_18->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_18); - - field_name = "anon_19"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_barterst, field_name)); - auto n_anon_19 = new NodeSimple; - n_anon_19->m_field_name = field_name; - n_anon_19->m_df_type = DF_Type::int8_t; - n_anon_19->m_rdf_type = RDF_Type::int8_t; - n_anon_19->m_node_type = NodeType::Simple; - n_anon_19->m_address = base + offset; - n_anon_19->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_19); - - field_name = "anon_20"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_barterst, field_name)); - auto n_anon_20 = new NodeSimple; - n_anon_20->m_field_name = field_name; - n_anon_20->m_df_type = DF_Type::Stl_string; - n_anon_20->m_rdf_type = RDF_Type::Stl_string; - n_anon_20->m_node_type = NodeType::Simple; - n_anon_20->m_address = base + offset; - n_anon_20->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_20); - - field_name = "anon_21"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_barterst, field_name)); - auto n_anon_21 = new NodeVector; - n_anon_21->m_field_name = field_name; - n_anon_21->m_df_type = DF_Type::Void; - n_anon_21->m_rdf_type = RDF_Type::Vector; - n_anon_21->m_node_type = NodeType::Vector; - n_anon_21->m_addornements = "v"; - n_anon_21->m_address = base + offset; - n_anon_21->m_parent = p_node_parent; - n_anon_21->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_21); - - field_name = "anon_22"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_barterst, field_name)); - auto n_anon_22 = new NodeSimple; - n_anon_22->m_field_name = field_name; - n_anon_22->m_df_type = DF_Type::int32_t; - n_anon_22->m_rdf_type = RDF_Type::int32_t; - n_anon_22->m_node_type = NodeType::Simple; - n_anon_22->m_address = base + offset; - n_anon_22->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_22); - -} -void node_from_viewscreen_buildingst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "building"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_buildingst, field_name)); - auto n_building = new NodePointer; - n_building->m_field_name = field_name; - n_building->m_df_type = get_real_subtype(base+offset, DF_Type::building); - n_building->m_rdf_type = RDF_Type::Pointer; - n_building->m_node_type = NodeType::Pointer; - n_building->m_addornements = "*"; - n_building->m_address = base + offset; - n_building->m_parent = p_node_parent; - n_building->m_defined_in = "df.buildings.xml"; - n_building->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_building); - -} -void node_from_viewscreen_buildinglistst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "cursor"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_buildinglistst, field_name)); - auto n_cursor = new NodeSimple; - n_cursor->m_field_name = field_name; - n_cursor->m_df_type = DF_Type::int32_t; - n_cursor->m_rdf_type = RDF_Type::int32_t; - n_cursor->m_node_type = NodeType::Simple; - n_cursor->m_address = base + offset; - n_cursor->m_refers_to = "$$._parent.buildings[$]"; - n_cursor->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cursor); - - field_name = "alt_right_panel"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_buildinglistst, field_name)); - auto n_alt_right_panel = new NodeSimple; - n_alt_right_panel->m_field_name = field_name; - n_alt_right_panel->m_df_type = DF_Type::Bool; - n_alt_right_panel->m_rdf_type = RDF_Type::Bool; - n_alt_right_panel->m_node_type = NodeType::Simple; - n_alt_right_panel->m_address = base + offset; - n_alt_right_panel->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_alt_right_panel); - - field_name = "buildings"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_buildinglistst, field_name)); - auto n_buildings = new NodeVector; - n_buildings->m_field_name = field_name; - n_buildings->m_df_type = DF_Type::building; - n_buildings->m_rdf_type = RDF_Type::Vector; - n_buildings->m_node_type = NodeType::Vector; - n_buildings->m_defined_in = "df.buildings.xml"; - n_buildings->m_addornements = "v*"; - n_buildings->m_address = base + offset; - n_buildings->m_parent = p_node_parent; - n_buildings->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_buildings); - - field_name = "buildings2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_buildinglistst, field_name)); - auto n_buildings2 = new NodeVector; - n_buildings2->m_field_name = field_name; - n_buildings2->m_df_type = DF_Type::building; - n_buildings2->m_rdf_type = RDF_Type::Vector; - n_buildings2->m_node_type = NodeType::Vector; - n_buildings2->m_defined_in = "df.buildings.xml"; - n_buildings2->m_addornements = "v*"; - n_buildings2->m_address = base + offset; - n_buildings2->m_parent = p_node_parent; - n_buildings2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_buildings2); - - field_name = "room_value"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_buildinglistst, field_name)); - auto n_room_value = new NodeVector; - n_room_value->m_field_name = field_name; - n_room_value->m_df_type = DF_Type::int32_t; - n_room_value->m_rdf_type = RDF_Type::Vector; - n_room_value->m_node_type = NodeType::Vector; - n_room_value->m_addornements = "v"; - n_room_value->m_address = base + offset; - n_room_value->m_refers_to = "$$._parent.buildings[$]"; - n_room_value->m_parent = p_node_parent; - n_room_value->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_room_value); - - field_name = "room_value2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_buildinglistst, field_name)); - auto n_room_value2 = new NodeVector; - n_room_value2->m_field_name = field_name; - n_room_value2->m_df_type = DF_Type::int32_t; - n_room_value2->m_rdf_type = RDF_Type::Vector; - n_room_value2->m_node_type = NodeType::Vector; - n_room_value2->m_addornements = "v"; - n_room_value2->m_address = base + offset; - n_room_value2->m_refers_to = "$$._parent.buildings2[$]"; - n_room_value2->m_parent = p_node_parent; - n_room_value2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_room_value2); - -} -void node_from_embark_location(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "region_pos"; - auto n_region_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_location, field_name)); - n_region_pos->m_field_name = field_name; - n_region_pos->m_df_type = DF_Type::coord2d; - n_region_pos->m_rdf_type = RDF_Type::Struct; - n_region_pos->m_node_type = NodeType::Compound; - n_region_pos->m_address = base + offset; - n_region_pos->m_defined_in = "df.map.xml"; - n_region_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region_pos); - - field_name = "reclaim_site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_location, field_name)); - auto n_reclaim_site = new NodeSimple; - n_reclaim_site->m_field_name = field_name; - n_reclaim_site->m_df_type = DF_Type::int16_t; - n_reclaim_site->m_rdf_type = RDF_Type::int16_t; - n_reclaim_site->m_node_type = NodeType::Simple; - n_reclaim_site->m_address = base + offset; - n_reclaim_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_reclaim_site); - - field_name = "reclaim_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_location, field_name)); - auto n_reclaim_idx = new NodeSimple; - n_reclaim_idx->m_field_name = field_name; - n_reclaim_idx->m_df_type = DF_Type::int16_t; - n_reclaim_idx->m_rdf_type = RDF_Type::int16_t; - n_reclaim_idx->m_node_type = NodeType::Simple; - n_reclaim_idx->m_address = base + offset; - n_reclaim_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_reclaim_idx); - - field_name = "biome_rgn"; - auto n_biome_rgn = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_location, field_name)); - n_biome_rgn->m_field_name = field_name; - n_biome_rgn->m_df_type = DF_Type::coord2d_path; - n_biome_rgn->m_rdf_type = RDF_Type::Struct; - n_biome_rgn->m_node_type = NodeType::Compound; - n_biome_rgn->m_address = base + offset; - n_biome_rgn->m_defined_in = "df.map.xml"; - n_biome_rgn->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_biome_rgn); - - field_name = "embark_pos_min"; - auto n_embark_pos_min = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_location, field_name)); - n_embark_pos_min->m_field_name = field_name; - n_embark_pos_min->m_df_type = DF_Type::coord2d; - n_embark_pos_min->m_rdf_type = RDF_Type::Struct; - n_embark_pos_min->m_node_type = NodeType::Compound; - n_embark_pos_min->m_address = base + offset; - n_embark_pos_min->m_defined_in = "df.map.xml"; - n_embark_pos_min->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_embark_pos_min); - - field_name = "embark_pos_max"; - auto n_embark_pos_max = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_location, field_name)); - n_embark_pos_max->m_field_name = field_name; - n_embark_pos_max->m_df_type = DF_Type::coord2d; - n_embark_pos_max->m_rdf_type = RDF_Type::Struct; - n_embark_pos_max->m_node_type = NodeType::Compound; - n_embark_pos_max->m_address = base + offset; - n_embark_pos_max->m_defined_in = "df.map.xml"; - n_embark_pos_max->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_embark_pos_max); - - field_name = "embark_biome_rgn"; - auto n_embark_biome_rgn = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_location, field_name)); - n_embark_biome_rgn->m_field_name = field_name; - n_embark_biome_rgn->m_df_type = DF_Type::coord2d; - n_embark_biome_rgn->m_rdf_type = RDF_Type::Struct; - n_embark_biome_rgn->m_node_type = NodeType::Compound; - n_embark_biome_rgn->m_address = base + offset; - n_embark_biome_rgn->m_defined_in = "df.map.xml"; - n_embark_biome_rgn->m_comment = "Valid only after e pressed."; - n_embark_biome_rgn->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_embark_biome_rgn); - -} -void node_from_viewscreen_choose_start_sitest__T_finder(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "search_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest__T_finder, field_name)); - auto n_search_x = new NodeSimple; - n_search_x->m_field_name = field_name; - n_search_x->m_df_type = DF_Type::int32_t; - n_search_x->m_rdf_type = RDF_Type::int32_t; - n_search_x->m_node_type = NodeType::Simple; - n_search_x->m_address = base + offset; - n_search_x->m_comment = "to world width / 16"; - n_search_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_search_x); - - field_name = "search_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest__T_finder, field_name)); - auto n_search_y = new NodeSimple; - n_search_y->m_field_name = field_name; - n_search_y->m_df_type = DF_Type::int32_t; - n_search_y->m_rdf_type = RDF_Type::int32_t; - n_search_y->m_node_type = NodeType::Simple; - n_search_y->m_address = base + offset; - n_search_y->m_comment = "to world height / 16"; - n_search_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_search_y); - - field_name = "cursor"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest__T_finder, field_name)); - auto n_cursor = new NodeSimple; - n_cursor->m_field_name = field_name; - n_cursor->m_df_type = DF_Type::int32_t; - n_cursor->m_rdf_type = RDF_Type::int32_t; - n_cursor->m_node_type = NodeType::Simple; - n_cursor->m_address = base + offset; - n_cursor->m_refers_to = "$$._parent.enabled_options[$]"; - n_cursor->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cursor); - - field_name = "options"; - auto n_options = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest__T_finder, field_name)); - n_options->m_field_name = field_name; - n_options->m_df_type = DF_Type::int32_t; - n_options->m_rdf_type = RDF_Type::Array; - n_options->m_node_type = NodeType::Array; - n_options->m_index_enum = DF_Type::embark_finder_option; - n_options->m_addornements = "[22"; - n_options->m_array_size = 22; - n_options->m_address = base + offset; - n_options->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_options); - - field_name = "unmatched"; - auto n_unmatched = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest__T_finder, field_name)); - n_unmatched->m_field_name = field_name; - n_unmatched->m_df_type = DF_Type::Bool; - n_unmatched->m_rdf_type = RDF_Type::Array; - n_unmatched->m_node_type = NodeType::Array; - n_unmatched->m_index_enum = DF_Type::embark_finder_option; - n_unmatched->m_addornements = "[22"; - n_unmatched->m_array_size = 22; - n_unmatched->m_address = base + offset; - n_unmatched->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unmatched); - - field_name = "visible_options"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest__T_finder, field_name)); - auto n_visible_options = new NodeVector; - n_visible_options->m_field_name = field_name; - n_visible_options->m_df_type = DF_Type::embark_finder_option; - n_visible_options->m_rdf_type = RDF_Type::Vector; - n_visible_options->m_node_type = NodeType::Vector; - n_visible_options->m_enum_base = DF_Type::int32_t; - n_visible_options->m_defined_in = "df.viewscreen.xml"; - n_visible_options->m_addornements = "v"; - n_visible_options->m_address = base + offset; - n_visible_options->m_parent = p_node_parent; - n_visible_options->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_visible_options); - - field_name = "finder_state"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest__T_finder, field_name)); - auto n_finder_state = new NodeSimple; - n_finder_state->m_field_name = field_name; - n_finder_state->m_df_type = DF_Type::int16_t; - n_finder_state->m_rdf_type = RDF_Type::int16_t; - n_finder_state->m_node_type = NodeType::Simple; - n_finder_state->m_address = base + offset; - n_finder_state->m_comment = "0=find, 1=none, 2=partial, 3=suitable"; - n_finder_state->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_finder_state); - - field_name = "unk_11e"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest__T_finder, field_name)); - auto n_unk_11e = new NodeSimple; - n_unk_11e->m_field_name = field_name; - n_unk_11e->m_df_type = DF_Type::int16_t; - n_unk_11e->m_rdf_type = RDF_Type::int16_t; - n_unk_11e->m_node_type = NodeType::Simple; - n_unk_11e->m_address = base + offset; - n_unk_11e->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_11e); - - field_name = "unk_120"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest__T_finder, field_name)); - auto n_unk_120 = new NodeSimple; - n_unk_120->m_field_name = field_name; - n_unk_120->m_df_type = DF_Type::int16_t; - n_unk_120->m_rdf_type = RDF_Type::int16_t; - n_unk_120->m_node_type = NodeType::Simple; - n_unk_120->m_address = base + offset; - n_unk_120->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_120); - - field_name = "unk_122"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest__T_finder, field_name)); - auto n_unk_122 = new NodeSimple; - n_unk_122->m_field_name = field_name; - n_unk_122->m_df_type = DF_Type::int16_t; - n_unk_122->m_rdf_type = RDF_Type::int16_t; - n_unk_122->m_node_type = NodeType::Simple; - n_unk_122->m_address = base + offset; - n_unk_122->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_122); - - field_name = "unk_124"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest__T_finder, field_name)); - auto n_unk_124 = new NodeSimple; - n_unk_124->m_field_name = field_name; - n_unk_124->m_df_type = DF_Type::int16_t; - n_unk_124->m_rdf_type = RDF_Type::int16_t; - n_unk_124->m_node_type = NodeType::Simple; - n_unk_124->m_address = base + offset; - n_unk_124->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_124); - - field_name = "unk_126"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest__T_finder, field_name)); - auto n_unk_126 = new NodeSimple; - n_unk_126->m_field_name = field_name; - n_unk_126->m_df_type = DF_Type::int16_t; - n_unk_126->m_rdf_type = RDF_Type::int16_t; - n_unk_126->m_node_type = NodeType::Simple; - n_unk_126->m_address = base + offset; - n_unk_126->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_126); - - field_name = "unk_128"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest__T_finder, field_name)); - auto n_unk_128 = new NodeSimple; - n_unk_128->m_field_name = field_name; - n_unk_128->m_df_type = DF_Type::int16_t; - n_unk_128->m_rdf_type = RDF_Type::int16_t; - n_unk_128->m_node_type = NodeType::Simple; - n_unk_128->m_address = base + offset; - n_unk_128->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_128); - -} -void node_from_viewscreen_choose_start_sitest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "page"; - auto n_page = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest, field_name)); - n_page->m_field_name = field_name; - n_page->m_df_type = DF_Type::viewscreen_choose_start_sitest__T_page; - n_page->m_rdf_type = RDF_Type::Enum; - n_page->m_node_type = NodeType::Enum; - n_page->m_base_type = DF_Type::int32_t; - n_page->m_enum_type = "viewscreen_choose_start_sitest::T_page"; - n_page->m_address = base + offset; - n_page->m_first_value = 0; - n_page->m_last_value = 8; - n_page->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_page); - - field_name = "location"; - auto n_location = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest, field_name)); - n_location->m_field_name = field_name; - n_location->m_df_type = DF_Type::embark_location; - n_location->m_rdf_type = RDF_Type::Struct; - n_location->m_node_type = NodeType::Compound; - n_location->m_address = base + offset; - n_location->m_defined_in = "df.viewscreen.xml"; - n_location->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_location); - - field_name = "biome_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest, field_name)); - auto n_biome_idx = new NodeSimple; - n_biome_idx->m_field_name = field_name; - n_biome_idx->m_df_type = DF_Type::int32_t; - n_biome_idx->m_rdf_type = RDF_Type::int32_t; - n_biome_idx->m_node_type = NodeType::Simple; - n_biome_idx->m_address = base + offset; - n_biome_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_biome_idx); - - field_name = "biome_highlighted"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest, field_name)); - auto n_biome_highlighted = new NodeSimple; - n_biome_highlighted->m_field_name = field_name; - n_biome_highlighted->m_df_type = DF_Type::Bool; - n_biome_highlighted->m_rdf_type = RDF_Type::Bool; - n_biome_highlighted->m_node_type = NodeType::Simple; - n_biome_highlighted->m_address = base + offset; - n_biome_highlighted->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_biome_highlighted); - - field_name = "in_embark_aquifer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest, field_name)); - auto n_in_embark_aquifer = new NodeSimple; - n_in_embark_aquifer->m_field_name = field_name; - n_in_embark_aquifer->m_df_type = DF_Type::Bool; - n_in_embark_aquifer->m_rdf_type = RDF_Type::Bool; - n_in_embark_aquifer->m_node_type = NodeType::Simple; - n_in_embark_aquifer->m_address = base + offset; - n_in_embark_aquifer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_in_embark_aquifer); - - field_name = "in_embark_salt"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest, field_name)); - auto n_in_embark_salt = new NodeSimple; - n_in_embark_salt->m_field_name = field_name; - n_in_embark_salt->m_df_type = DF_Type::Bool; - n_in_embark_salt->m_rdf_type = RDF_Type::Bool; - n_in_embark_salt->m_node_type = NodeType::Simple; - n_in_embark_salt->m_address = base + offset; - n_in_embark_salt->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_in_embark_salt); - - field_name = "in_embark_large"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest, field_name)); - auto n_in_embark_large = new NodeSimple; - n_in_embark_large->m_field_name = field_name; - n_in_embark_large->m_df_type = DF_Type::Bool; - n_in_embark_large->m_rdf_type = RDF_Type::Bool; - n_in_embark_large->m_node_type = NodeType::Simple; - n_in_embark_large->m_address = base + offset; - n_in_embark_large->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_in_embark_large); - - field_name = "in_embark_narrow"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest, field_name)); - auto n_in_embark_narrow = new NodeSimple; - n_in_embark_narrow->m_field_name = field_name; - n_in_embark_narrow->m_df_type = DF_Type::Bool; - n_in_embark_narrow->m_rdf_type = RDF_Type::Bool; - n_in_embark_narrow->m_node_type = NodeType::Simple; - n_in_embark_narrow->m_address = base + offset; - n_in_embark_narrow->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_in_embark_narrow); - - field_name = "in_embark_only_warning"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest, field_name)); - auto n_in_embark_only_warning = new NodeSimple; - n_in_embark_only_warning->m_field_name = field_name; - n_in_embark_only_warning->m_df_type = DF_Type::Bool; - n_in_embark_only_warning->m_rdf_type = RDF_Type::Bool; - n_in_embark_only_warning->m_node_type = NodeType::Simple; - n_in_embark_only_warning->m_address = base + offset; - n_in_embark_only_warning->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_in_embark_only_warning); - - field_name = "in_embark_civ_dying"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest, field_name)); - auto n_in_embark_civ_dying = new NodeSimple; - n_in_embark_civ_dying->m_field_name = field_name; - n_in_embark_civ_dying->m_df_type = DF_Type::Bool; - n_in_embark_civ_dying->m_rdf_type = RDF_Type::Bool; - n_in_embark_civ_dying->m_node_type = NodeType::Simple; - n_in_embark_civ_dying->m_address = base + offset; - n_in_embark_civ_dying->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_in_embark_civ_dying); - - field_name = "highlighted_sites"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest, field_name)); - auto n_highlighted_sites = new NodeVector; - n_highlighted_sites->m_field_name = field_name; - n_highlighted_sites->m_df_type = DF_Type::world_site; - n_highlighted_sites->m_rdf_type = RDF_Type::Vector; - n_highlighted_sites->m_node_type = NodeType::Vector; - n_highlighted_sites->m_defined_in = "df.world-site.xml"; - n_highlighted_sites->m_addornements = "v*"; - n_highlighted_sites->m_address = base + offset; - n_highlighted_sites->m_parent = p_node_parent; - n_highlighted_sites->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_highlighted_sites); - - field_name = "local_sites"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest, field_name)); - auto n_local_sites = new NodeVector; - n_local_sites->m_field_name = field_name; - n_local_sites->m_df_type = DF_Type::world_site; - n_local_sites->m_rdf_type = RDF_Type::Vector; - n_local_sites->m_node_type = NodeType::Vector; - n_local_sites->m_defined_in = "df.world-site.xml"; - n_local_sites->m_addornements = "v*"; - n_local_sites->m_address = base + offset; - n_local_sites->m_parent = p_node_parent; - n_local_sites->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_local_sites); - - field_name = "reclaim_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest, field_name)); - auto n_reclaim_idx = new NodeSimple; - n_reclaim_idx->m_field_name = field_name; - n_reclaim_idx->m_df_type = DF_Type::int32_t; - n_reclaim_idx->m_rdf_type = RDF_Type::int32_t; - n_reclaim_idx->m_node_type = NodeType::Simple; - n_reclaim_idx->m_address = base + offset; - n_reclaim_idx->m_refers_to = "$global.world.world_data.old_sites[$]"; - n_reclaim_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_reclaim_idx); - - field_name = "civ_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest, field_name)); - auto n_civ_idx = new NodeSimple; - n_civ_idx->m_field_name = field_name; - n_civ_idx->m_df_type = DF_Type::int32_t; - n_civ_idx->m_rdf_type = RDF_Type::int32_t; - n_civ_idx->m_node_type = NodeType::Simple; - n_civ_idx->m_address = base + offset; - n_civ_idx->m_refers_to = "$$._global.available_civs[$]"; - n_civ_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_civ_idx); - - field_name = "available_civs"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest, field_name)); - auto n_available_civs = new NodeVector; - n_available_civs->m_field_name = field_name; - n_available_civs->m_df_type = DF_Type::historical_entity; - n_available_civs->m_rdf_type = RDF_Type::Vector; - n_available_civs->m_node_type = NodeType::Vector; - n_available_civs->m_defined_in = "df.entities.xml"; - n_available_civs->m_addornements = "v*"; - n_available_civs->m_address = base + offset; - n_available_civs->m_parent = p_node_parent; - n_available_civs->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_available_civs); - - field_name = "site_info"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest, field_name)); - auto n_site_info = new NodeVector; - n_site_info->m_field_name = field_name; - n_site_info->m_df_type = DF_Type::Stl_string; - n_site_info->m_rdf_type = RDF_Type::Vector; - n_site_info->m_node_type = NodeType::Vector; - n_site_info->m_addornements = "v*"; - n_site_info->m_address = base + offset; - n_site_info->m_parent = p_node_parent; - n_site_info->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_site_info); - - field_name = "site_abandoned"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest, field_name)); - auto n_site_abandoned = new NodePointer; - n_site_abandoned->m_field_name = field_name; - n_site_abandoned->m_df_type = get_real_subtype(base+offset, DF_Type::history_event); - n_site_abandoned->m_rdf_type = RDF_Type::Pointer; - n_site_abandoned->m_node_type = NodeType::Pointer; - n_site_abandoned->m_addornements = "*"; - n_site_abandoned->m_address = base + offset; - n_site_abandoned->m_parent = p_node_parent; - n_site_abandoned->m_defined_in = "df.history.xml"; - n_site_abandoned->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_site_abandoned); - - field_name = "site_created"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest, field_name)); - auto n_site_created = new NodePointer; - n_site_created->m_field_name = field_name; - n_site_created->m_df_type = get_real_subtype(base+offset, DF_Type::history_event); - n_site_created->m_rdf_type = RDF_Type::Pointer; - n_site_created->m_node_type = NodeType::Pointer; - n_site_created->m_addornements = "*"; - n_site_created->m_address = base + offset; - n_site_created->m_parent = p_node_parent; - n_site_created->m_defined_in = "df.history.xml"; - n_site_created->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_site_created); - - field_name = "unk_a4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest, field_name)); - auto n_unk_a4 = new NodeSimple; - n_unk_a4->m_field_name = field_name; - n_unk_a4->m_df_type = DF_Type::int32_t; - n_unk_a4->m_rdf_type = RDF_Type::int32_t; - n_unk_a4->m_node_type = NodeType::Simple; - n_unk_a4->m_address = base + offset; - n_unk_a4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_a4); - - field_name = "unk_a8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest, field_name)); - auto n_unk_a8 = new NodeSimple; - n_unk_a8->m_field_name = field_name; - n_unk_a8->m_df_type = DF_Type::int32_t; - n_unk_a8->m_rdf_type = RDF_Type::int32_t; - n_unk_a8->m_node_type = NodeType::Simple; - n_unk_a8->m_address = base + offset; - n_unk_a8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_a8); - - field_name = "finder"; - auto n_finder = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest, field_name)); - n_finder->m_field_name = field_name; - n_finder->m_df_type = DF_Type::viewscreen_choose_start_sitest__T_finder; - n_finder->m_rdf_type = RDF_Type::Compound; - n_finder->m_node_type = NodeType::Compound; - n_finder->m_address = base + offset; - n_finder->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_finder); - - field_name = "notes_order"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest, field_name)); - auto n_notes_order = new NodeVector; - n_notes_order->m_field_name = field_name; - n_notes_order->m_df_type = DF_Type::int32_t; - n_notes_order->m_rdf_type = RDF_Type::Vector; - n_notes_order->m_node_type = NodeType::Vector; - n_notes_order->m_addornements = "v"; - n_notes_order->m_address = base + offset; - n_notes_order->m_refers_to = "$global.world.world_data.embark_notes[$]"; - n_notes_order->m_parent = p_node_parent; - n_notes_order->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_notes_order); - - field_name = "cur_note_name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest, field_name)); - auto n_cur_note_name = new NodeVector; - n_cur_note_name->m_field_name = field_name; - n_cur_note_name->m_df_type = DF_Type::Stl_string; - n_cur_note_name->m_rdf_type = RDF_Type::Vector; - n_cur_note_name->m_node_type = NodeType::Vector; - n_cur_note_name->m_addornements = "v*"; - n_cur_note_name->m_address = base + offset; - n_cur_note_name->m_parent = p_node_parent; - n_cur_note_name->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_cur_note_name); - - field_name = "unk_14c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest, field_name)); - auto n_unk_14c = new NodeSimple; - n_unk_14c->m_field_name = field_name; - n_unk_14c->m_df_type = DF_Type::int32_t; - n_unk_14c->m_rdf_type = RDF_Type::int32_t; - n_unk_14c->m_node_type = NodeType::Simple; - n_unk_14c->m_address = base + offset; - n_unk_14c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_14c); - - field_name = "unk_150"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest, field_name)); - auto n_unk_150 = new NodeSimple; - n_unk_150->m_field_name = field_name; - n_unk_150->m_df_type = DF_Type::int32_t; - n_unk_150->m_rdf_type = RDF_Type::int32_t; - n_unk_150->m_node_type = NodeType::Simple; - n_unk_150->m_address = base + offset; - n_unk_150->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_150); - - field_name = "unk_154"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest, field_name)); - auto n_unk_154 = new NodeSimple; - n_unk_154->m_field_name = field_name; - n_unk_154->m_df_type = DF_Type::int16_t; - n_unk_154->m_rdf_type = RDF_Type::int16_t; - n_unk_154->m_node_type = NodeType::Simple; - n_unk_154->m_address = base + offset; - n_unk_154->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_154); - - field_name = "note_tile"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest, field_name)); - auto n_note_tile = new NodeSimple; - n_note_tile->m_field_name = field_name; - n_note_tile->m_df_type = DF_Type::int8_t; - n_note_tile->m_rdf_type = RDF_Type::int8_t; - n_note_tile->m_node_type = NodeType::Simple; - n_note_tile->m_address = base + offset; - n_note_tile->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_note_tile); - - field_name = "note_fg_color"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest, field_name)); - auto n_note_fg_color = new NodeSimple; - n_note_fg_color->m_field_name = field_name; - n_note_fg_color->m_df_type = DF_Type::int16_t; - n_note_fg_color->m_rdf_type = RDF_Type::int16_t; - n_note_fg_color->m_node_type = NodeType::Simple; - n_note_fg_color->m_address = base + offset; - n_note_fg_color->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_note_fg_color); - - field_name = "note_bg_color"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest, field_name)); - auto n_note_bg_color = new NodeSimple; - n_note_bg_color->m_field_name = field_name; - n_note_bg_color->m_df_type = DF_Type::int16_t; - n_note_bg_color->m_rdf_type = RDF_Type::int16_t; - n_note_bg_color->m_node_type = NodeType::Simple; - n_note_bg_color->m_address = base + offset; - n_note_bg_color->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_note_bg_color); - - field_name = "unk_15c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest, field_name)); - auto n_unk_15c = new NodeSimple; - n_unk_15c->m_field_name = field_name; - n_unk_15c->m_df_type = DF_Type::int32_t; - n_unk_15c->m_rdf_type = RDF_Type::int32_t; - n_unk_15c->m_node_type = NodeType::Simple; - n_unk_15c->m_address = base + offset; - n_unk_15c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_15c); - -} -void node_from_mission__T_details__T_raid(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "raid_type"; - auto n_raid_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); - n_raid_type->m_field_name = field_name; - n_raid_type->m_df_type = DF_Type::mission__T_details__T_raid__T_raid_type; - n_raid_type->m_rdf_type = RDF_Type::Enum; - n_raid_type->m_node_type = NodeType::Enum; - n_raid_type->m_base_type = DF_Type::int32_t; - n_raid_type->m_enum_type = "mission::T_details::T_raid::T_raid_type"; - n_raid_type->m_address = base + offset; - n_raid_type->m_first_value = 0; - n_raid_type->m_last_value = 6; - n_raid_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_raid_type); - - field_name = "unk_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); - auto n_unk_2 = new NodeSimple; - n_unk_2->m_field_name = field_name; - n_unk_2->m_df_type = DF_Type::int32_t; - n_unk_2->m_rdf_type = RDF_Type::int32_t; - n_unk_2->m_node_type = NodeType::Simple; - n_unk_2->m_address = base + offset; - n_unk_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_2); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); - auto n_anon_7 = new NodeSimple; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::int32_t; - n_anon_7->m_rdf_type = RDF_Type::int32_t; - n_anon_7->m_node_type = NodeType::Simple; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_7); - - field_name = "anon_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); - auto n_anon_8 = new NodeSimple; - n_anon_8->m_field_name = field_name; - n_anon_8->m_df_type = DF_Type::int32_t; - n_anon_8->m_rdf_type = RDF_Type::int32_t; - n_anon_8->m_node_type = NodeType::Simple; - n_anon_8->m_address = base + offset; - n_anon_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_8); - - field_name = "anon_9"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); - auto n_anon_9 = new NodeSimple; - n_anon_9->m_field_name = field_name; - n_anon_9->m_df_type = DF_Type::int32_t; - n_anon_9->m_rdf_type = RDF_Type::int32_t; - n_anon_9->m_node_type = NodeType::Simple; - n_anon_9->m_address = base + offset; - n_anon_9->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_9); - - field_name = "anon_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); - auto n_anon_10 = new NodeSimple; - n_anon_10->m_field_name = field_name; - n_anon_10->m_df_type = DF_Type::int32_t; - n_anon_10->m_rdf_type = RDF_Type::int32_t; - n_anon_10->m_node_type = NodeType::Simple; - n_anon_10->m_address = base + offset; - n_anon_10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_10); - - field_name = "anon_11"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); - auto n_anon_11 = new NodeSimple; - n_anon_11->m_field_name = field_name; - n_anon_11->m_df_type = DF_Type::int32_t; - n_anon_11->m_rdf_type = RDF_Type::int32_t; - n_anon_11->m_node_type = NodeType::Simple; - n_anon_11->m_address = base + offset; - n_anon_11->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_11); - - field_name = "anon_12"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); - auto n_anon_12 = new NodeSimple; - n_anon_12->m_field_name = field_name; - n_anon_12->m_df_type = DF_Type::int32_t; - n_anon_12->m_rdf_type = RDF_Type::int32_t; - n_anon_12->m_node_type = NodeType::Simple; - n_anon_12->m_address = base + offset; - n_anon_12->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_12); - - field_name = "anon_13"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); - auto n_anon_13 = new NodeSimple; - n_anon_13->m_field_name = field_name; - n_anon_13->m_df_type = DF_Type::int32_t; - n_anon_13->m_rdf_type = RDF_Type::int32_t; - n_anon_13->m_node_type = NodeType::Simple; - n_anon_13->m_address = base + offset; - n_anon_13->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_13); - - field_name = "anon_14"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); - auto n_anon_14 = new NodeSimple; - n_anon_14->m_field_name = field_name; - n_anon_14->m_df_type = DF_Type::int32_t; - n_anon_14->m_rdf_type = RDF_Type::int32_t; - n_anon_14->m_node_type = NodeType::Simple; - n_anon_14->m_address = base + offset; - n_anon_14->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_14); - - field_name = "anon_15"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); - auto n_anon_15 = new NodeSimple; - n_anon_15->m_field_name = field_name; - n_anon_15->m_df_type = DF_Type::int32_t; - n_anon_15->m_rdf_type = RDF_Type::int32_t; - n_anon_15->m_node_type = NodeType::Simple; - n_anon_15->m_address = base + offset; - n_anon_15->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_15); - - field_name = "anon_16"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); - auto n_anon_16 = new NodeSimple; - n_anon_16->m_field_name = field_name; - n_anon_16->m_df_type = DF_Type::int32_t; - n_anon_16->m_rdf_type = RDF_Type::int32_t; - n_anon_16->m_node_type = NodeType::Simple; - n_anon_16->m_address = base + offset; - n_anon_16->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_16); - - field_name = "anon_17"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); - auto n_anon_17 = new NodeSimple; - n_anon_17->m_field_name = field_name; - n_anon_17->m_df_type = DF_Type::int32_t; - n_anon_17->m_rdf_type = RDF_Type::int32_t; - n_anon_17->m_node_type = NodeType::Simple; - n_anon_17->m_address = base + offset; - n_anon_17->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_17); - - field_name = "anon_18"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); - auto n_anon_18 = new NodeSimple; - n_anon_18->m_field_name = field_name; - n_anon_18->m_df_type = DF_Type::int32_t; - n_anon_18->m_rdf_type = RDF_Type::int32_t; - n_anon_18->m_node_type = NodeType::Simple; - n_anon_18->m_address = base + offset; - n_anon_18->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_18); - - field_name = "anon_19"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); - auto n_anon_19 = new NodeSimple; - n_anon_19->m_field_name = field_name; - n_anon_19->m_df_type = DF_Type::int32_t; - n_anon_19->m_rdf_type = RDF_Type::int32_t; - n_anon_19->m_node_type = NodeType::Simple; - n_anon_19->m_address = base + offset; - n_anon_19->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_19); - - field_name = "anon_20"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); - auto n_anon_20 = new NodeSimple; - n_anon_20->m_field_name = field_name; - n_anon_20->m_df_type = DF_Type::int32_t; - n_anon_20->m_rdf_type = RDF_Type::int32_t; - n_anon_20->m_node_type = NodeType::Simple; - n_anon_20->m_address = base + offset; - n_anon_20->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_20); - - field_name = "raid_flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); - auto n_raid_flags = new NodeBitfield; - n_raid_flags->m_field_name = field_name; - n_raid_flags->m_df_type = DF_Type::mission__T_details__T_raid__T_raid_flags; - n_raid_flags->m_rdf_type = RDF_Type::Bitfield; - n_raid_flags->m_node_type = NodeType::Bitfield; - n_raid_flags->m_address = base + offset; - n_raid_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_raid_flags); - - field_name = "unk_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); - auto n_unk_3 = new NodeSimple; - n_unk_3->m_field_name = field_name; - n_unk_3->m_df_type = DF_Type::int32_t; - n_unk_3->m_rdf_type = RDF_Type::int32_t; - n_unk_3->m_node_type = NodeType::Simple; - n_unk_3->m_address = base + offset; - n_unk_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_3); - - field_name = "unk_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); - auto n_unk_4 = new NodeSimple; - n_unk_4->m_field_name = field_name; - n_unk_4->m_df_type = DF_Type::int32_t; - n_unk_4->m_rdf_type = RDF_Type::int32_t; - n_unk_4->m_node_type = NodeType::Simple; - n_unk_4->m_address = base + offset; - n_unk_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_4); - - field_name = "anon_21"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); - auto n_anon_21 = new NodeSimple; - n_anon_21->m_field_name = field_name; - n_anon_21->m_df_type = DF_Type::int32_t; - n_anon_21->m_rdf_type = RDF_Type::int32_t; - n_anon_21->m_node_type = NodeType::Simple; - n_anon_21->m_address = base + offset; - n_anon_21->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_21); - - field_name = "anon_22"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); - auto n_anon_22 = new NodeSimple; - n_anon_22->m_field_name = field_name; - n_anon_22->m_df_type = DF_Type::int32_t; - n_anon_22->m_rdf_type = RDF_Type::int32_t; - n_anon_22->m_node_type = NodeType::Simple; - n_anon_22->m_address = base + offset; - n_anon_22->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_22); - - field_name = "anon_23"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); - auto n_anon_23 = new NodeSimple; - n_anon_23->m_field_name = field_name; - n_anon_23->m_df_type = DF_Type::int32_t; - n_anon_23->m_rdf_type = RDF_Type::int32_t; - n_anon_23->m_node_type = NodeType::Simple; - n_anon_23->m_address = base + offset; - n_anon_23->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_23); - - field_name = "anon_24"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); - auto n_anon_24 = new NodeSimple; - n_anon_24->m_field_name = field_name; - n_anon_24->m_df_type = DF_Type::int32_t; - n_anon_24->m_rdf_type = RDF_Type::int32_t; - n_anon_24->m_node_type = NodeType::Simple; - n_anon_24->m_address = base + offset; - n_anon_24->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_24); - - field_name = "anon_25"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); - auto n_anon_25 = new NodeSimple; - n_anon_25->m_field_name = field_name; - n_anon_25->m_df_type = DF_Type::int32_t; - n_anon_25->m_rdf_type = RDF_Type::int32_t; - n_anon_25->m_node_type = NodeType::Simple; - n_anon_25->m_address = base + offset; - n_anon_25->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_25); - - field_name = "anon_26"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); - auto n_anon_26 = new NodeSimple; - n_anon_26->m_field_name = field_name; - n_anon_26->m_df_type = DF_Type::int32_t; - n_anon_26->m_rdf_type = RDF_Type::int32_t; - n_anon_26->m_node_type = NodeType::Simple; - n_anon_26->m_address = base + offset; - n_anon_26->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_26); - - field_name = "anon_27"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); - auto n_anon_27 = new NodeSimple; - n_anon_27->m_field_name = field_name; - n_anon_27->m_df_type = DF_Type::int32_t; - n_anon_27->m_rdf_type = RDF_Type::int32_t; - n_anon_27->m_node_type = NodeType::Simple; - n_anon_27->m_address = base + offset; - n_anon_27->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_27); - -} -void node_from_mission__T_details__T_recovery(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "artifact"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_recovery, field_name)); - auto n_artifact = new NodeSimple; - n_artifact->m_field_name = field_name; - n_artifact->m_df_type = DF_Type::int32_t; - n_artifact->m_rdf_type = RDF_Type::int32_t; - n_artifact->m_node_type = NodeType::Simple; - n_artifact->m_address = base + offset; - n_artifact->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_artifact); - - field_name = "unk_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_recovery, field_name)); - auto n_unk_2 = new NodeSimple; - n_unk_2->m_field_name = field_name; - n_unk_2->m_df_type = DF_Type::int32_t; - n_unk_2->m_rdf_type = RDF_Type::int32_t; - n_unk_2->m_node_type = NodeType::Simple; - n_unk_2->m_address = base + offset; - n_unk_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_2); - -} -void node_from_mission__T_details__T_rescue(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "histfig"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_rescue, field_name)); - auto n_histfig = new NodeSimple; - n_histfig->m_field_name = field_name; - n_histfig->m_df_type = DF_Type::int32_t; - n_histfig->m_rdf_type = RDF_Type::int32_t; - n_histfig->m_node_type = NodeType::Simple; - n_histfig->m_address = base + offset; - n_histfig->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig); - - field_name = "unk_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_rescue, field_name)); - auto n_unk_2 = new NodeSimple; - n_unk_2->m_field_name = field_name; - n_unk_2->m_df_type = DF_Type::int32_t; - n_unk_2->m_rdf_type = RDF_Type::int32_t; - n_unk_2->m_node_type = NodeType::Simple; - n_unk_2->m_address = base + offset; - n_unk_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_2); - -} -void node_from_mission__T_details__T_request(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "workers"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_request, field_name)); - auto n_workers = new NodeVector; - n_workers->m_field_name = field_name; - n_workers->m_df_type = DF_Type::int32_t; - n_workers->m_rdf_type = RDF_Type::Vector; - n_workers->m_node_type = NodeType::Vector; - n_workers->m_addornements = "v"; - n_workers->m_address = base + offset; - n_workers->m_parent = p_node_parent; - n_workers->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_workers); - - field_name = "unk_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_request, field_name)); - auto n_unk_1 = new NodeSimple; - n_unk_1->m_field_name = field_name; - n_unk_1->m_df_type = DF_Type::int32_t; - n_unk_1->m_rdf_type = RDF_Type::int32_t; - n_unk_1->m_node_type = NodeType::Simple; - n_unk_1->m_address = base + offset; - n_unk_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_1); - - field_name = "unk_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_request, field_name)); - auto n_unk_2 = new NodeSimple; - n_unk_2->m_field_name = field_name; - n_unk_2->m_df_type = DF_Type::int32_t; - n_unk_2->m_rdf_type = RDF_Type::int32_t; - n_unk_2->m_node_type = NodeType::Simple; - n_unk_2->m_address = base + offset; - n_unk_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_2); - - field_name = "unk_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_request, field_name)); - auto n_unk_3 = new NodeSimple; - n_unk_3->m_field_name = field_name; - n_unk_3->m_df_type = DF_Type::int32_t; - n_unk_3->m_rdf_type = RDF_Type::int32_t; - n_unk_3->m_node_type = NodeType::Simple; - n_unk_3->m_address = base + offset; - n_unk_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_3); - - field_name = "unk_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_request, field_name)); - auto n_unk_4 = new NodeSimple; - n_unk_4->m_field_name = field_name; - n_unk_4->m_df_type = DF_Type::int32_t; - n_unk_4->m_rdf_type = RDF_Type::int32_t; - n_unk_4->m_node_type = NodeType::Simple; - n_unk_4->m_address = base + offset; - n_unk_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_4); - -} -void node_from_mission__T_details(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = true) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "raid"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details, field_name)); - auto n_raid = new NodePointer; - n_raid->m_field_name = field_name; - n_raid->m_df_type = get_real_subtype(base+offset, DF_Type::mission__T_details__T_raid); - n_raid->m_rdf_type = RDF_Type::Pointer; - n_raid->m_node_type = NodeType::Pointer; - n_raid->m_addornements = "*"; - n_raid->m_address = base + offset; - n_raid->m_parent = p_node_parent; - n_raid->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_raid); - - field_name = "recovery"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details, field_name)); - auto n_recovery = new NodePointer; - n_recovery->m_field_name = field_name; - n_recovery->m_df_type = get_real_subtype(base+offset, DF_Type::mission__T_details__T_recovery); - n_recovery->m_rdf_type = RDF_Type::Pointer; - n_recovery->m_node_type = NodeType::Pointer; - n_recovery->m_addornements = "*"; - n_recovery->m_address = base + offset; - n_recovery->m_parent = p_node_parent; - n_recovery->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_recovery); - - field_name = "rescue"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details, field_name)); - auto n_rescue = new NodePointer; - n_rescue->m_field_name = field_name; - n_rescue->m_df_type = get_real_subtype(base+offset, DF_Type::mission__T_details__T_rescue); - n_rescue->m_rdf_type = RDF_Type::Pointer; - n_rescue->m_node_type = NodeType::Pointer; - n_rescue->m_addornements = "*"; - n_rescue->m_address = base + offset; - n_rescue->m_parent = p_node_parent; - n_rescue->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_rescue); - - field_name = "request"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details, field_name)); - auto n_request = new NodePointer; - n_request->m_field_name = field_name; - n_request->m_df_type = get_real_subtype(base+offset, DF_Type::mission__T_details__T_request); - n_request->m_rdf_type = RDF_Type::Pointer; - n_request->m_node_type = NodeType::Pointer; - n_request->m_addornements = "*"; - n_request->m_address = base + offset; - n_request->m_parent = p_node_parent; - n_request->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_request); - -} -void node_from_mission(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "army_controller"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); - auto n_army_controller = new NodeSimple; - n_army_controller->m_field_name = field_name; - n_army_controller->m_df_type = DF_Type::int32_t; - n_army_controller->m_rdf_type = RDF_Type::int32_t; - n_army_controller->m_node_type = NodeType::Simple; - n_army_controller->m_address = base + offset; - n_army_controller->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_army_controller); - - field_name = "entity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); - auto n_entity = new NodeSimple; - n_entity->m_field_name = field_name; - n_entity->m_df_type = DF_Type::int32_t; - n_entity->m_rdf_type = RDF_Type::int32_t; - n_entity->m_node_type = NodeType::Simple; - n_entity->m_address = base + offset; - n_entity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity); - - field_name = "target_site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); - auto n_target_site = new NodeSimple; - n_target_site->m_field_name = field_name; - n_target_site->m_df_type = DF_Type::int32_t; - n_target_site->m_rdf_type = RDF_Type::int32_t; - n_target_site->m_node_type = NodeType::Simple; - n_target_site->m_address = base + offset; - n_target_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_target_site); - - field_name = "unk_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); - auto n_unk_2 = new NodeSimple; - n_unk_2->m_field_name = field_name; - n_unk_2->m_df_type = DF_Type::int32_t; - n_unk_2->m_rdf_type = RDF_Type::int32_t; - n_unk_2->m_node_type = NodeType::Simple; - n_unk_2->m_address = base + offset; - n_unk_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_2); - - field_name = "target_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); - auto n_target_x = new NodeSimple; - n_target_x->m_field_name = field_name; - n_target_x->m_df_type = DF_Type::int32_t; - n_target_x->m_rdf_type = RDF_Type::int32_t; - n_target_x->m_node_type = NodeType::Simple; - n_target_x->m_address = base + offset; - n_target_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_target_x); - - field_name = "target_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); - auto n_target_y = new NodeSimple; - n_target_y->m_field_name = field_name; - n_target_y->m_df_type = DF_Type::int32_t; - n_target_y->m_rdf_type = RDF_Type::int32_t; - n_target_y->m_node_type = NodeType::Simple; - n_target_y->m_address = base + offset; - n_target_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_target_y); - - field_name = "unk_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); - auto n_unk_3 = new NodeSimple; - n_unk_3->m_field_name = field_name; - n_unk_3->m_df_type = DF_Type::int32_t; - n_unk_3->m_rdf_type = RDF_Type::int32_t; - n_unk_3->m_node_type = NodeType::Simple; - n_unk_3->m_address = base + offset; - n_unk_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_3); - - field_name = "unk_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); - auto n_unk_4 = new NodeSimple; - n_unk_4->m_field_name = field_name; - n_unk_4->m_df_type = DF_Type::int32_t; - n_unk_4->m_rdf_type = RDF_Type::int32_t; - n_unk_4->m_node_type = NodeType::Simple; - n_unk_4->m_address = base + offset; - n_unk_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_4); - - field_name = "unk_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); - auto n_unk_5 = new NodeSimple; - n_unk_5->m_field_name = field_name; - n_unk_5->m_df_type = DF_Type::int32_t; - n_unk_5->m_rdf_type = RDF_Type::int32_t; - n_unk_5->m_node_type = NodeType::Simple; - n_unk_5->m_address = base + offset; - n_unk_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_5); - - field_name = "unk_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); - auto n_unk_6 = new NodeSimple; - n_unk_6->m_field_name = field_name; - n_unk_6->m_df_type = DF_Type::int32_t; - n_unk_6->m_rdf_type = RDF_Type::int32_t; - n_unk_6->m_node_type = NodeType::Simple; - n_unk_6->m_address = base + offset; - n_unk_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_6); - - field_name = "unk_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); - auto n_unk_7 = new NodeSimple; - n_unk_7->m_field_name = field_name; - n_unk_7->m_df_type = DF_Type::int32_t; - n_unk_7->m_rdf_type = RDF_Type::int32_t; - n_unk_7->m_node_type = NodeType::Simple; - n_unk_7->m_address = base + offset; - n_unk_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_7); - - field_name = "unk_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); - auto n_unk_8 = new NodeSimple; - n_unk_8->m_field_name = field_name; - n_unk_8->m_df_type = DF_Type::int32_t; - n_unk_8->m_rdf_type = RDF_Type::int32_t; - n_unk_8->m_node_type = NodeType::Simple; - n_unk_8->m_address = base + offset; - n_unk_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_8); - - field_name = "unk_9"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); - auto n_unk_9 = new NodeSimple; - n_unk_9->m_field_name = field_name; - n_unk_9->m_df_type = DF_Type::int32_t; - n_unk_9->m_rdf_type = RDF_Type::int32_t; - n_unk_9->m_node_type = NodeType::Simple; - n_unk_9->m_address = base + offset; - n_unk_9->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_9); - - field_name = "unk_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); - auto n_unk_10 = new NodeSimple; - n_unk_10->m_field_name = field_name; - n_unk_10->m_df_type = DF_Type::int32_t; - n_unk_10->m_rdf_type = RDF_Type::int32_t; - n_unk_10->m_node_type = NodeType::Simple; - n_unk_10->m_address = base + offset; - n_unk_10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_10); - - field_name = "year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); - auto n_year = new NodeSimple; - n_year->m_field_name = field_name; - n_year->m_df_type = DF_Type::int32_t; - n_year->m_rdf_type = RDF_Type::int32_t; - n_year->m_node_type = NodeType::Simple; - n_year->m_address = base + offset; - n_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_year); - - field_name = "year_tick"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); - auto n_year_tick = new NodeSimple; - n_year_tick->m_field_name = field_name; - n_year_tick->m_df_type = DF_Type::int32_t; - n_year_tick->m_rdf_type = RDF_Type::int32_t; - n_year_tick->m_node_type = NodeType::Simple; - n_year_tick->m_address = base + offset; - n_year_tick->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_year_tick); - - field_name = "unk_12"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); - auto n_unk_12 = new NodeSimple; - n_unk_12->m_field_name = field_name; - n_unk_12->m_df_type = DF_Type::int32_t; - n_unk_12->m_rdf_type = RDF_Type::int32_t; - n_unk_12->m_node_type = NodeType::Simple; - n_unk_12->m_address = base + offset; - n_unk_12->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_12); - - field_name = "army_controller2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); - auto n_army_controller2 = new NodeSimple; - n_army_controller2->m_field_name = field_name; - n_army_controller2->m_df_type = DF_Type::int32_t; - n_army_controller2->m_rdf_type = RDF_Type::int32_t; - n_army_controller2->m_node_type = NodeType::Simple; - n_army_controller2->m_address = base + offset; - n_army_controller2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_army_controller2); - - field_name = "histfig"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); - auto n_histfig = new NodeSimple; - n_histfig->m_field_name = field_name; - n_histfig->m_df_type = DF_Type::int32_t; - n_histfig->m_rdf_type = RDF_Type::int32_t; - n_histfig->m_node_type = NodeType::Simple; - n_histfig->m_address = base + offset; - n_histfig->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig); - - field_name = "unk_14"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); - auto n_unk_14 = new NodeSimple; - n_unk_14->m_field_name = field_name; - n_unk_14->m_df_type = DF_Type::int32_t; - n_unk_14->m_rdf_type = RDF_Type::int32_t; - n_unk_14->m_node_type = NodeType::Simple; - n_unk_14->m_address = base + offset; - n_unk_14->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_14); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "unk_15"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); - auto n_unk_15 = new NodeSimple; - n_unk_15->m_field_name = field_name; - n_unk_15->m_df_type = DF_Type::int32_t; - n_unk_15->m_rdf_type = RDF_Type::int32_t; - n_unk_15->m_node_type = NodeType::Simple; - n_unk_15->m_address = base + offset; - n_unk_15->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_15); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); - auto n_anon_7 = new NodeSimple; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::int32_t; - n_anon_7->m_rdf_type = RDF_Type::int32_t; - n_anon_7->m_node_type = NodeType::Simple; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_7); - - field_name = "squads"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); - auto n_squads = new NodeVector; - n_squads->m_field_name = field_name; - n_squads->m_df_type = DF_Type::int32_t; - n_squads->m_rdf_type = RDF_Type::Vector; - n_squads->m_node_type = NodeType::Vector; - n_squads->m_addornements = "v"; - n_squads->m_address = base + offset; - n_squads->m_parent = p_node_parent; - n_squads->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_squads); - - field_name = "messengers"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); - auto n_messengers = new NodeVector; - n_messengers->m_field_name = field_name; - n_messengers->m_df_type = DF_Type::int32_t; - n_messengers->m_rdf_type = RDF_Type::Vector; - n_messengers->m_node_type = NodeType::Vector; - n_messengers->m_addornements = "v"; - n_messengers->m_address = base + offset; - n_messengers->m_parent = p_node_parent; - n_messengers->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_messengers); - - field_name = "anon_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); - auto n_anon_8 = new NodeSimple; - n_anon_8->m_field_name = field_name; - n_anon_8->m_df_type = DF_Type::int32_t; - n_anon_8->m_rdf_type = RDF_Type::int32_t; - n_anon_8->m_node_type = NodeType::Simple; - n_anon_8->m_address = base + offset; - n_anon_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_8); - - field_name = "anon_9"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); - auto n_anon_9 = new NodeSimple; - n_anon_9->m_field_name = field_name; - n_anon_9->m_df_type = DF_Type::int32_t; - n_anon_9->m_rdf_type = RDF_Type::int32_t; - n_anon_9->m_node_type = NodeType::Simple; - n_anon_9->m_address = base + offset; - n_anon_9->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_9); - - field_name = "details"; - auto n_details = new NodeUnion; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); - n_details->m_field_name = field_name; - n_details->m_df_type = DF_Type::mission__T_details; - n_details->m_rdf_type = RDF_Type::Union; - n_details->m_node_type = NodeType::Union; - n_details->m_address = base + offset; - n_details->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_details); - - field_name = "type"; - auto n_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::mission__T_type; - n_type->m_rdf_type = RDF_Type::Enum; - n_type->m_node_type = NodeType::Enum; - n_type->m_base_type = DF_Type::int32_t; - n_type->m_enum_type = "mission::T_type"; - n_type->m_address = base + offset; - n_type->m_first_value = 2; - n_type->m_last_value = 19; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - - field_name = "anon_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); - auto n_anon_10 = new NodeSimple; - n_anon_10->m_field_name = field_name; - n_anon_10->m_df_type = DF_Type::int32_t; - n_anon_10->m_rdf_type = RDF_Type::int32_t; - n_anon_10->m_node_type = NodeType::Simple; - n_anon_10->m_address = base + offset; - n_anon_10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_10); - -} -void node_from_viewscreen_civlistst__T_artifact_details(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst__T_artifact_details, field_name)); - auto n_unk_1 = new NodePointer; - n_unk_1->m_field_name = field_name; - n_unk_1->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_unk_1->m_rdf_type = RDF_Type::Pointer; - n_unk_1->m_node_type = NodeType::Pointer; - n_unk_1->m_addornements = "*"; - n_unk_1->m_address = base + offset; - n_unk_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_1); - - field_name = "last_site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst__T_artifact_details, field_name)); - auto n_last_site = new NodeSimple; - n_last_site->m_field_name = field_name; - n_last_site->m_df_type = DF_Type::int32_t; - n_last_site->m_rdf_type = RDF_Type::int32_t; - n_last_site->m_node_type = NodeType::Simple; - n_last_site->m_address = base + offset; - n_last_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_last_site); - - field_name = "unk_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst__T_artifact_details, field_name)); - auto n_unk_3 = new NodeSimple; - n_unk_3->m_field_name = field_name; - n_unk_3->m_df_type = DF_Type::int32_t; - n_unk_3->m_rdf_type = RDF_Type::int32_t; - n_unk_3->m_node_type = NodeType::Simple; - n_unk_3->m_address = base + offset; - n_unk_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_3); - - field_name = "last_holder_hf"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst__T_artifact_details, field_name)); - auto n_last_holder_hf = new NodeSimple; - n_last_holder_hf->m_field_name = field_name; - n_last_holder_hf->m_df_type = DF_Type::int32_t; - n_last_holder_hf->m_rdf_type = RDF_Type::int32_t; - n_last_holder_hf->m_node_type = NodeType::Simple; - n_last_holder_hf->m_address = base + offset; - n_last_holder_hf->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_last_holder_hf); - - field_name = "unk_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst__T_artifact_details, field_name)); - auto n_unk_5 = new NodeSimple; - n_unk_5->m_field_name = field_name; - n_unk_5->m_df_type = DF_Type::int32_t; - n_unk_5->m_rdf_type = RDF_Type::int32_t; - n_unk_5->m_node_type = NodeType::Simple; - n_unk_5->m_address = base + offset; - n_unk_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_5); - - field_name = "unk_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst__T_artifact_details, field_name)); - auto n_unk_6 = new NodeSimple; - n_unk_6->m_field_name = field_name; - n_unk_6->m_df_type = DF_Type::int32_t; - n_unk_6->m_rdf_type = RDF_Type::int32_t; - n_unk_6->m_node_type = NodeType::Simple; - n_unk_6->m_address = base + offset; - n_unk_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_6); - - field_name = "unk_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst__T_artifact_details, field_name)); - auto n_unk_7 = new NodeSimple; - n_unk_7->m_field_name = field_name; - n_unk_7->m_df_type = DF_Type::int32_t; - n_unk_7->m_rdf_type = RDF_Type::int32_t; - n_unk_7->m_node_type = NodeType::Simple; - n_unk_7->m_address = base + offset; - n_unk_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_7); - - field_name = "unk_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst__T_artifact_details, field_name)); - auto n_unk_8 = new NodeSimple; - n_unk_8->m_field_name = field_name; - n_unk_8->m_df_type = DF_Type::int32_t; - n_unk_8->m_rdf_type = RDF_Type::int32_t; - n_unk_8->m_node_type = NodeType::Simple; - n_unk_8->m_address = base + offset; - n_unk_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_8); - - field_name = "unk_9"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst__T_artifact_details, field_name)); - auto n_unk_9 = new NodeSimple; - n_unk_9->m_field_name = field_name; - n_unk_9->m_df_type = DF_Type::int32_t; - n_unk_9->m_rdf_type = RDF_Type::int32_t; - n_unk_9->m_node_type = NodeType::Simple; - n_unk_9->m_address = base + offset; - n_unk_9->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_9); - - field_name = "unk_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst__T_artifact_details, field_name)); - auto n_unk_10 = new NodePointer; - n_unk_10->m_field_name = field_name; - n_unk_10->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_unk_10->m_rdf_type = RDF_Type::Pointer; - n_unk_10->m_node_type = NodeType::Pointer; - n_unk_10->m_addornements = "*"; - n_unk_10->m_address = base + offset; - n_unk_10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_10); - -} -void node_from_viewscreen_civlistst__T_rumors(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "artifact_or_entity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst__T_rumors, field_name)); - auto n_artifact_or_entity = new NodeSimple; - n_artifact_or_entity->m_field_name = field_name; - n_artifact_or_entity->m_df_type = DF_Type::int32_t; - n_artifact_or_entity->m_rdf_type = RDF_Type::int32_t; - n_artifact_or_entity->m_node_type = NodeType::Simple; - n_artifact_or_entity->m_address = base + offset; - n_artifact_or_entity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_artifact_or_entity); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst__T_rumors, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "histfig_or_entity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst__T_rumors, field_name)); - auto n_histfig_or_entity = new NodeSimple; - n_histfig_or_entity->m_field_name = field_name; - n_histfig_or_entity->m_df_type = DF_Type::int32_t; - n_histfig_or_entity->m_rdf_type = RDF_Type::int32_t; - n_histfig_or_entity->m_node_type = NodeType::Simple; - n_histfig_or_entity->m_address = base + offset; - n_histfig_or_entity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig_or_entity); - - field_name = "histfig2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst__T_rumors, field_name)); - auto n_histfig2 = new NodeSimple; - n_histfig2->m_field_name = field_name; - n_histfig2->m_df_type = DF_Type::int32_t; - n_histfig2->m_rdf_type = RDF_Type::int32_t; - n_histfig2->m_node_type = NodeType::Simple; - n_histfig2->m_address = base + offset; - n_histfig2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig2); - - field_name = "year1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst__T_rumors, field_name)); - auto n_year1 = new NodeSimple; - n_year1->m_field_name = field_name; - n_year1->m_df_type = DF_Type::int32_t; - n_year1->m_rdf_type = RDF_Type::int32_t; - n_year1->m_node_type = NodeType::Simple; - n_year1->m_address = base + offset; - n_year1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_year1); - - field_name = "year_tick1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst__T_rumors, field_name)); - auto n_year_tick1 = new NodeSimple; - n_year_tick1->m_field_name = field_name; - n_year_tick1->m_df_type = DF_Type::int32_t; - n_year_tick1->m_rdf_type = RDF_Type::int32_t; - n_year_tick1->m_node_type = NodeType::Simple; - n_year_tick1->m_address = base + offset; - n_year_tick1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_year_tick1); - - field_name = "year2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst__T_rumors, field_name)); - auto n_year2 = new NodeSimple; - n_year2->m_field_name = field_name; - n_year2->m_df_type = DF_Type::int32_t; - n_year2->m_rdf_type = RDF_Type::int32_t; - n_year2->m_node_type = NodeType::Simple; - n_year2->m_address = base + offset; - n_year2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_year2); - - field_name = "year_tick2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst__T_rumors, field_name)); - auto n_year_tick2 = new NodeSimple; - n_year_tick2->m_field_name = field_name; - n_year_tick2->m_df_type = DF_Type::int32_t; - n_year_tick2->m_rdf_type = RDF_Type::int32_t; - n_year_tick2->m_node_type = NodeType::Simple; - n_year_tick2->m_address = base + offset; - n_year_tick2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_year_tick2); - - field_name = "unk_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst__T_rumors, field_name)); - auto n_unk_3 = new NodeSimple; - n_unk_3->m_field_name = field_name; - n_unk_3->m_df_type = DF_Type::int32_t; - n_unk_3->m_rdf_type = RDF_Type::int32_t; - n_unk_3->m_node_type = NodeType::Simple; - n_unk_3->m_address = base + offset; - n_unk_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_3); - - field_name = "type"; - auto n_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst__T_rumors, field_name)); - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::viewscreen_civlistst__T_rumors__T_type; - n_type->m_rdf_type = RDF_Type::Enum; - n_type->m_node_type = NodeType::Enum; - n_type->m_base_type = DF_Type::int32_t; - n_type->m_enum_type = "viewscreen_civlistst::T_rumors::T_type"; - n_type->m_address = base + offset; - n_type->m_first_value = 0; - n_type->m_last_value = 28; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - -} -void node_from_viewscreen_civlistst__T_unk_cache__T_tmp1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "values"; - auto n_values = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst__T_unk_cache__T_tmp1, field_name)); - n_values->m_field_name = field_name; - n_values->m_df_type = DF_Type::int32_t; - n_values->m_rdf_type = RDF_Type::Array; - n_values->m_node_type = NodeType::Array; - n_values->m_addornements = "[50"; - n_values->m_array_size = 50; - n_values->m_address = base + offset; - n_values->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_values); - - field_name = "count"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst__T_unk_cache__T_tmp1, field_name)); - auto n_count = new NodeSimple; - n_count->m_field_name = field_name; - n_count->m_df_type = DF_Type::int32_t; - n_count->m_rdf_type = RDF_Type::int32_t; - n_count->m_node_type = NodeType::Simple; - n_count->m_address = base + offset; - n_count->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_count); - -} -void node_from_viewscreen_civlistst__T_unk_cache__T_tmp2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - auto n_anon_1 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst__T_unk_cache__T_tmp2, field_name)); - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int64_t; - n_anon_1->m_rdf_type = RDF_Type::Array; - n_anon_1->m_node_type = NodeType::Array; - n_anon_1->m_addornements = "[4001"; - n_anon_1->m_array_size = 4001; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_viewscreen_civlistst__T_unk_cache(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "tmp1"; - auto n_tmp1 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst__T_unk_cache, field_name)); - n_tmp1->m_field_name = field_name; - n_tmp1->m_df_type = DF_Type::viewscreen_civlistst__T_unk_cache__T_tmp1; - n_tmp1->m_rdf_type = RDF_Type::Compound; - n_tmp1->m_node_type = NodeType::Compound; - n_tmp1->m_address = base + offset; - n_tmp1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tmp1); - - field_name = "tmp2"; - auto n_tmp2 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst__T_unk_cache, field_name)); - n_tmp2->m_field_name = field_name; - n_tmp2->m_df_type = DF_Type::viewscreen_civlistst__T_unk_cache__T_tmp2; - n_tmp2->m_rdf_type = RDF_Type::Compound; - n_tmp2->m_node_type = NodeType::Compound; - n_tmp2->m_address = base + offset; - n_tmp2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tmp2); - -} -void node_from_viewscreen_civlistst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "page"; - auto n_page = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); - n_page->m_field_name = field_name; - n_page->m_df_type = DF_Type::viewscreen_civlistst__T_page; - n_page->m_rdf_type = RDF_Type::Enum; - n_page->m_node_type = NodeType::Enum; - n_page->m_base_type = DF_Type::int32_t; - n_page->m_enum_type = "viewscreen_civlistst::T_page"; - n_page->m_address = base + offset; - n_page->m_first_value = 0; - n_page->m_last_value = 8; - n_page->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_page); - - field_name = "sel_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); - auto n_sel_idx = new NodeSimple; - n_sel_idx->m_field_name = field_name; - n_sel_idx->m_df_type = DF_Type::int32_t; - n_sel_idx->m_rdf_type = RDF_Type::int32_t; - n_sel_idx->m_node_type = NodeType::Simple; - n_sel_idx->m_address = base + offset; - n_sel_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sel_idx); - - field_name = "entities"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); - auto n_entities = new NodeVector; - n_entities->m_field_name = field_name; - n_entities->m_df_type = DF_Type::historical_entity; - n_entities->m_rdf_type = RDF_Type::Vector; - n_entities->m_node_type = NodeType::Vector; - n_entities->m_defined_in = "df.entities.xml"; - n_entities->m_addornements = "v*"; - n_entities->m_address = base + offset; - n_entities->m_parent = p_node_parent; - n_entities->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_entities); - - field_name = "map_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); - auto n_map_x = new NodeSimple; - n_map_x->m_field_name = field_name; - n_map_x->m_df_type = DF_Type::int32_t; - n_map_x->m_rdf_type = RDF_Type::int32_t; - n_map_x->m_node_type = NodeType::Simple; - n_map_x->m_address = base + offset; - n_map_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_map_x); - - field_name = "map_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); - auto n_map_y = new NodeSimple; - n_map_y->m_field_name = field_name; - n_map_y->m_df_type = DF_Type::int32_t; - n_map_y->m_rdf_type = RDF_Type::int32_t; - n_map_y->m_node_type = NodeType::Simple; - n_map_y->m_address = base + offset; - n_map_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_map_y); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); - auto n_site = new NodePointer; - n_site->m_field_name = field_name; - n_site->m_df_type = get_real_subtype(base+offset, DF_Type::world_site); - n_site->m_rdf_type = RDF_Type::Pointer; - n_site->m_node_type = NodeType::Pointer; - n_site->m_addornements = "*"; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - n_site->m_defined_in = "df.world-site.xml"; - n_site->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_site); - - field_name = "site_artifacts"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); - auto n_site_artifacts = new NodeVector; - n_site_artifacts->m_field_name = field_name; - n_site_artifacts->m_df_type = DF_Type::artifact_record; - n_site_artifacts->m_rdf_type = RDF_Type::Vector; - n_site_artifacts->m_node_type = NodeType::Vector; - n_site_artifacts->m_defined_in = "df.legends.xml"; - n_site_artifacts->m_addornements = "v*"; - n_site_artifacts->m_address = base + offset; - n_site_artifacts->m_parent = p_node_parent; - n_site_artifacts->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_site_artifacts); - - field_name = "site_prisoners"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); - auto n_site_prisoners = new NodeVector; - n_site_prisoners->m_field_name = field_name; - n_site_prisoners->m_df_type = DF_Type::unit; - n_site_prisoners->m_rdf_type = RDF_Type::Vector; - n_site_prisoners->m_node_type = NodeType::Vector; - n_site_prisoners->m_defined_in = "df.units.xml"; - n_site_prisoners->m_addornements = "v*"; - n_site_prisoners->m_address = base + offset; - n_site_prisoners->m_parent = p_node_parent; - n_site_prisoners->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_site_prisoners); - - field_name = "site_is_linked"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); - auto n_site_is_linked = new NodeSimple; - n_site_is_linked->m_field_name = field_name; - n_site_is_linked->m_df_type = DF_Type::int8_t; - n_site_is_linked->m_rdf_type = RDF_Type::int8_t; - n_site_is_linked->m_node_type = NodeType::Simple; - n_site_is_linked->m_address = base + offset; - n_site_is_linked->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_is_linked); - - field_name = "unk_site_nemesis"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); - auto n_unk_site_nemesis = new NodeVector; - n_unk_site_nemesis->m_field_name = field_name; - n_unk_site_nemesis->m_df_type = DF_Type::nemesis_record; - n_unk_site_nemesis->m_rdf_type = RDF_Type::Vector; - n_unk_site_nemesis->m_node_type = NodeType::Vector; - n_unk_site_nemesis->m_defined_in = "df.legends.xml"; - n_unk_site_nemesis->m_addornements = "v*"; - n_unk_site_nemesis->m_address = base + offset; - n_unk_site_nemesis->m_parent = p_node_parent; - n_unk_site_nemesis->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_site_nemesis); - - field_name = "missions"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); - auto n_missions = new NodeVector; - n_missions->m_field_name = field_name; - n_missions->m_df_type = DF_Type::mission; - n_missions->m_rdf_type = RDF_Type::Vector; - n_missions->m_node_type = NodeType::Vector; - n_missions->m_defined_in = "df.viewscreen.xml"; - n_missions->m_addornements = "v*"; - n_missions->m_address = base + offset; - n_missions->m_parent = p_node_parent; - n_missions->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_missions); - - field_name = "mission_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); - auto n_mission_idx = new NodeSimple; - n_mission_idx->m_field_name = field_name; - n_mission_idx->m_df_type = DF_Type::int32_t; - n_mission_idx->m_rdf_type = RDF_Type::int32_t; - n_mission_idx->m_node_type = NodeType::Simple; - n_mission_idx->m_address = base + offset; - n_mission_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mission_idx); - - field_name = "squads"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); - auto n_squads = new NodeVector; - n_squads->m_field_name = field_name; - n_squads->m_df_type = DF_Type::squad; - n_squads->m_rdf_type = RDF_Type::Vector; - n_squads->m_node_type = NodeType::Vector; - n_squads->m_defined_in = "df.military.xml"; - n_squads->m_addornements = "v*"; - n_squads->m_address = base + offset; - n_squads->m_parent = p_node_parent; - n_squads->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_squads); - - field_name = "squads_travelling"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); - auto n_squads_travelling = new NodeVector; - n_squads_travelling->m_field_name = field_name; - n_squads_travelling->m_df_type = DF_Type::int32_t; - n_squads_travelling->m_rdf_type = RDF_Type::Vector; - n_squads_travelling->m_node_type = NodeType::Vector; - n_squads_travelling->m_addornements = "v"; - n_squads_travelling->m_address = base + offset; - n_squads_travelling->m_parent = p_node_parent; - n_squads_travelling->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_squads_travelling); - - field_name = "squad_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); - auto n_squad_idx = new NodeSimple; - n_squad_idx->m_field_name = field_name; - n_squad_idx->m_df_type = DF_Type::int32_t; - n_squad_idx->m_rdf_type = RDF_Type::int32_t; - n_squad_idx->m_node_type = NodeType::Simple; - n_squad_idx->m_address = base + offset; - n_squad_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_squad_idx); - - field_name = "messengers"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); - auto n_messengers = new NodeVector; - n_messengers->m_field_name = field_name; - n_messengers->m_df_type = DF_Type::occupation; - n_messengers->m_rdf_type = RDF_Type::Vector; - n_messengers->m_node_type = NodeType::Vector; - n_messengers->m_defined_in = "df.art.xml"; - n_messengers->m_addornements = "v*"; - n_messengers->m_address = base + offset; - n_messengers->m_parent = p_node_parent; - n_messengers->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_messengers); - - field_name = "messengers_travelling"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); - auto n_messengers_travelling = new NodeVector; - n_messengers_travelling->m_field_name = field_name; - n_messengers_travelling->m_df_type = DF_Type::int32_t; - n_messengers_travelling->m_rdf_type = RDF_Type::Vector; - n_messengers_travelling->m_node_type = NodeType::Vector; - n_messengers_travelling->m_addornements = "v"; - n_messengers_travelling->m_address = base + offset; - n_messengers_travelling->m_parent = p_node_parent; - n_messengers_travelling->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_messengers_travelling); - - field_name = "messenger_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); - auto n_messenger_idx = new NodeSimple; - n_messenger_idx->m_field_name = field_name; - n_messenger_idx->m_df_type = DF_Type::int32_t; - n_messenger_idx->m_rdf_type = RDF_Type::int32_t; - n_messenger_idx->m_node_type = NodeType::Simple; - n_messenger_idx->m_address = base + offset; - n_messenger_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_messenger_idx); - - field_name = "workers"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); - auto n_workers = new NodeVector; - n_workers->m_field_name = field_name; - n_workers->m_df_type = DF_Type::nemesis_record; - n_workers->m_rdf_type = RDF_Type::Vector; - n_workers->m_node_type = NodeType::Vector; - n_workers->m_defined_in = "df.legends.xml"; - n_workers->m_addornements = "v*"; - n_workers->m_address = base + offset; - n_workers->m_parent = p_node_parent; - n_workers->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_workers); - - field_name = "worker_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); - auto n_worker_idx = new NodeSimple; - n_worker_idx->m_field_name = field_name; - n_worker_idx->m_df_type = DF_Type::int32_t; - n_worker_idx->m_rdf_type = RDF_Type::int32_t; - n_worker_idx->m_node_type = NodeType::Simple; - n_worker_idx->m_address = base + offset; - n_worker_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_worker_idx); - - field_name = "people"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); - auto n_people = new NodeVector; - n_people->m_field_name = field_name; - n_people->m_df_type = DF_Type::historical_figure; - n_people->m_rdf_type = RDF_Type::Vector; - n_people->m_node_type = NodeType::Vector; - n_people->m_defined_in = "df.history.xml"; - n_people->m_addornements = "v*"; - n_people->m_address = base + offset; - n_people->m_parent = p_node_parent; - n_people->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_people); - - field_name = "person_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); - auto n_person_idx = new NodeSimple; - n_person_idx->m_field_name = field_name; - n_person_idx->m_df_type = DF_Type::int32_t; - n_person_idx->m_rdf_type = RDF_Type::int32_t; - n_person_idx->m_node_type = NodeType::Simple; - n_person_idx->m_address = base + offset; - n_person_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_person_idx); - - field_name = "person_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); - auto n_person_x = new NodeSimple; - n_person_x->m_field_name = field_name; - n_person_x->m_df_type = DF_Type::int32_t; - n_person_x->m_rdf_type = RDF_Type::int32_t; - n_person_x->m_node_type = NodeType::Simple; - n_person_x->m_address = base + offset; - n_person_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_person_x); - - field_name = "person_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); - auto n_person_y = new NodeSimple; - n_person_y->m_field_name = field_name; - n_person_y->m_df_type = DF_Type::int32_t; - n_person_y->m_rdf_type = RDF_Type::int32_t; - n_person_y->m_node_type = NodeType::Simple; - n_person_y->m_address = base + offset; - n_person_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_person_y); - - field_name = "artifact_records"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); - auto n_artifact_records = new NodeVector; - n_artifact_records->m_field_name = field_name; - n_artifact_records->m_df_type = DF_Type::artifact_record; - n_artifact_records->m_rdf_type = RDF_Type::Vector; - n_artifact_records->m_node_type = NodeType::Vector; - n_artifact_records->m_defined_in = "df.legends.xml"; - n_artifact_records->m_addornements = "v*"; - n_artifact_records->m_address = base + offset; - n_artifact_records->m_parent = p_node_parent; - n_artifact_records->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_artifact_records); - - field_name = "artifact_details"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); - auto n_artifact_details = new NodeVector; - n_artifact_details->m_field_name = field_name; - n_artifact_details->m_df_type = DF_Type::viewscreen_civlistst__T_artifact_details; - n_artifact_details->m_rdf_type = RDF_Type::Vector; - n_artifact_details->m_node_type = NodeType::Vector; - n_artifact_details->m_addornements = "v*"; - n_artifact_details->m_address = base + offset; - n_artifact_details->m_parent = p_node_parent; - n_artifact_details->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_artifact_details); - - field_name = "artifact_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); - auto n_artifact_idx = new NodeSimple; - n_artifact_idx->m_field_name = field_name; - n_artifact_idx->m_df_type = DF_Type::int32_t; - n_artifact_idx->m_rdf_type = RDF_Type::int32_t; - n_artifact_idx->m_node_type = NodeType::Simple; - n_artifact_idx->m_address = base + offset; - n_artifact_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_artifact_idx); - - field_name = "artifact_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); - auto n_artifact_x = new NodeSimple; - n_artifact_x->m_field_name = field_name; - n_artifact_x->m_df_type = DF_Type::int32_t; - n_artifact_x->m_rdf_type = RDF_Type::int32_t; - n_artifact_x->m_node_type = NodeType::Simple; - n_artifact_x->m_address = base + offset; - n_artifact_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_artifact_x); - - field_name = "artifact_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); - auto n_artifact_y = new NodeSimple; - n_artifact_y->m_field_name = field_name; - n_artifact_y->m_df_type = DF_Type::int32_t; - n_artifact_y->m_rdf_type = RDF_Type::int32_t; - n_artifact_y->m_node_type = NodeType::Simple; - n_artifact_y->m_address = base + offset; - n_artifact_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_artifact_y); - - field_name = "artifact_desc"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); - auto n_artifact_desc = new NodeVector; - n_artifact_desc->m_field_name = field_name; - n_artifact_desc->m_df_type = DF_Type::Stl_string; - n_artifact_desc->m_rdf_type = RDF_Type::Vector; - n_artifact_desc->m_node_type = NodeType::Vector; - n_artifact_desc->m_addornements = "v*"; - n_artifact_desc->m_address = base + offset; - n_artifact_desc->m_parent = p_node_parent; - n_artifact_desc->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_artifact_desc); - - field_name = "artifact_claimed_by_unk1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); - auto n_artifact_claimed_by_unk1 = new NodePointer; - n_artifact_claimed_by_unk1->m_field_name = field_name; - n_artifact_claimed_by_unk1->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_artifact_claimed_by_unk1->m_rdf_type = RDF_Type::Pointer; - n_artifact_claimed_by_unk1->m_node_type = NodeType::Pointer; - n_artifact_claimed_by_unk1->m_addornements = "*"; - n_artifact_claimed_by_unk1->m_address = base + offset; - n_artifact_claimed_by_unk1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_artifact_claimed_by_unk1); - - field_name = "artifact_claimed_by_unk2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); - auto n_artifact_claimed_by_unk2 = new NodePointer; - n_artifact_claimed_by_unk2->m_field_name = field_name; - n_artifact_claimed_by_unk2->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_artifact_claimed_by_unk2->m_rdf_type = RDF_Type::Pointer; - n_artifact_claimed_by_unk2->m_node_type = NodeType::Pointer; - n_artifact_claimed_by_unk2->m_addornements = "*"; - n_artifact_claimed_by_unk2->m_address = base + offset; - n_artifact_claimed_by_unk2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_artifact_claimed_by_unk2); - - field_name = "artifact_claimed_by_hf"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); - auto n_artifact_claimed_by_hf = new NodePointer; - n_artifact_claimed_by_hf->m_field_name = field_name; - n_artifact_claimed_by_hf->m_df_type = get_real_subtype(base+offset, DF_Type::historical_figure); - n_artifact_claimed_by_hf->m_rdf_type = RDF_Type::Pointer; - n_artifact_claimed_by_hf->m_node_type = NodeType::Pointer; - n_artifact_claimed_by_hf->m_addornements = "*"; - n_artifact_claimed_by_hf->m_address = base + offset; - n_artifact_claimed_by_hf->m_parent = p_node_parent; - n_artifact_claimed_by_hf->m_defined_in = "df.history.xml"; - n_artifact_claimed_by_hf->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_artifact_claimed_by_hf); - - field_name = "histfig"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); - auto n_histfig = new NodePointer; - n_histfig->m_field_name = field_name; - n_histfig->m_df_type = get_real_subtype(base+offset, DF_Type::historical_figure); - n_histfig->m_rdf_type = RDF_Type::Pointer; - n_histfig->m_node_type = NodeType::Pointer; - n_histfig->m_addornements = "*"; - n_histfig->m_address = base + offset; - n_histfig->m_parent = p_node_parent; - n_histfig->m_defined_in = "df.history.xml"; - n_histfig->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_histfig); - - field_name = "histfig2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); - auto n_histfig2 = new NodePointer; - n_histfig2->m_field_name = field_name; - n_histfig2->m_df_type = get_real_subtype(base+offset, DF_Type::historical_figure); - n_histfig2->m_rdf_type = RDF_Type::Pointer; - n_histfig2->m_node_type = NodeType::Pointer; - n_histfig2->m_addornements = "*"; - n_histfig2->m_address = base + offset; - n_histfig2->m_parent = p_node_parent; - n_histfig2->m_defined_in = "df.history.xml"; - n_histfig2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_histfig2); - - field_name = "rumors"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); - auto n_rumors = new NodeVector; - n_rumors->m_field_name = field_name; - n_rumors->m_df_type = DF_Type::viewscreen_civlistst__T_rumors; - n_rumors->m_rdf_type = RDF_Type::Vector; - n_rumors->m_node_type = NodeType::Vector; - n_rumors->m_addornements = "v*"; - n_rumors->m_address = base + offset; - n_rumors->m_parent = p_node_parent; - n_rumors->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_rumors); - - field_name = "unk_24"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); - auto n_unk_24 = new NodeVector; - n_unk_24->m_field_name = field_name; - n_unk_24->m_df_type = DF_Type::Void; - n_unk_24->m_rdf_type = RDF_Type::Vector; - n_unk_24->m_node_type = NodeType::Vector; - n_unk_24->m_addornements = "v"; - n_unk_24->m_address = base + offset; - n_unk_24->m_parent = p_node_parent; - n_unk_24->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_24); - - field_name = "unk_25"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); - auto n_unk_25 = new NodeSimple; - n_unk_25->m_field_name = field_name; - n_unk_25->m_df_type = DF_Type::int32_t; - n_unk_25->m_rdf_type = RDF_Type::int32_t; - n_unk_25->m_node_type = NodeType::Simple; - n_unk_25->m_address = base + offset; - n_unk_25->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_25); - - field_name = "news_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); - auto n_news_x = new NodeSimple; - n_news_x->m_field_name = field_name; - n_news_x->m_df_type = DF_Type::int32_t; - n_news_x->m_rdf_type = RDF_Type::int32_t; - n_news_x->m_node_type = NodeType::Simple; - n_news_x->m_address = base + offset; - n_news_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_news_x); - - field_name = "news_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); - auto n_news_y = new NodeSimple; - n_news_y->m_field_name = field_name; - n_news_y->m_df_type = DF_Type::int32_t; - n_news_y->m_rdf_type = RDF_Type::int32_t; - n_news_y->m_node_type = NodeType::Simple; - n_news_y->m_address = base + offset; - n_news_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_news_y); - - field_name = "unk_28"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); - auto n_unk_28 = new NodePointer; - n_unk_28->m_field_name = field_name; - n_unk_28->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_unk_28->m_rdf_type = RDF_Type::Pointer; - n_unk_28->m_node_type = NodeType::Pointer; - n_unk_28->m_addornements = "*"; - n_unk_28->m_address = base + offset; - n_unk_28->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_28); - - field_name = "unk_29"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); - auto n_unk_29 = new NodeSimple; - n_unk_29->m_field_name = field_name; - n_unk_29->m_df_type = DF_Type::int32_t; - n_unk_29->m_rdf_type = RDF_Type::int32_t; - n_unk_29->m_node_type = NodeType::Simple; - n_unk_29->m_address = base + offset; - n_unk_29->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_29); - - field_name = "unk_2a"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); - auto n_unk_2a = new NodeSimple; - n_unk_2a->m_field_name = field_name; - n_unk_2a->m_df_type = DF_Type::int32_t; - n_unk_2a->m_rdf_type = RDF_Type::int32_t; - n_unk_2a->m_node_type = NodeType::Simple; - n_unk_2a->m_address = base + offset; - n_unk_2a->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_2a); - - field_name = "unk_2b"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); - auto n_unk_2b = new NodePointer; - n_unk_2b->m_field_name = field_name; - n_unk_2b->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_unk_2b->m_rdf_type = RDF_Type::Pointer; - n_unk_2b->m_node_type = NodeType::Pointer; - n_unk_2b->m_addornements = "*"; - n_unk_2b->m_address = base + offset; - n_unk_2b->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_2b); - - field_name = "unk_2c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); - auto n_unk_2c = new NodePointer; - n_unk_2c->m_field_name = field_name; - n_unk_2c->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_unk_2c->m_rdf_type = RDF_Type::Pointer; - n_unk_2c->m_node_type = NodeType::Pointer; - n_unk_2c->m_addornements = "*"; - n_unk_2c->m_address = base + offset; - n_unk_2c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_2c); - - field_name = "unk_2d"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); - auto n_unk_2d = new NodeSimple; - n_unk_2d->m_field_name = field_name; - n_unk_2d->m_df_type = DF_Type::int32_t; - n_unk_2d->m_rdf_type = RDF_Type::int32_t; - n_unk_2d->m_node_type = NodeType::Simple; - n_unk_2d->m_address = base + offset; - n_unk_2d->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_2d); - - field_name = "unk_2e"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); - auto n_unk_2e = new NodeSimple; - n_unk_2e->m_field_name = field_name; - n_unk_2e->m_df_type = DF_Type::int32_t; - n_unk_2e->m_rdf_type = RDF_Type::int32_t; - n_unk_2e->m_node_type = NodeType::Simple; - n_unk_2e->m_address = base + offset; - n_unk_2e->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_2e); - - field_name = "unk_cache_ptr"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); - auto n_unk_cache_ptr = new NodePointer; - n_unk_cache_ptr->m_field_name = field_name; - n_unk_cache_ptr->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_unk_cache_ptr->m_rdf_type = RDF_Type::Pointer; - n_unk_cache_ptr->m_node_type = NodeType::Pointer; - n_unk_cache_ptr->m_addornements = "*"; - n_unk_cache_ptr->m_address = base + offset; - n_unk_cache_ptr->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_cache_ptr); - - field_name = "unk_cache"; - auto n_unk_cache = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); - n_unk_cache->m_field_name = field_name; - n_unk_cache->m_df_type = DF_Type::viewscreen_civlistst__T_unk_cache; - n_unk_cache->m_rdf_type = RDF_Type::Compound; - n_unk_cache->m_node_type = NodeType::Compound; - n_unk_cache->m_address = base + offset; - n_unk_cache->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_cache); - - field_name = "news_text"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); - auto n_news_text = new NodeVector; - n_news_text->m_field_name = field_name; - n_news_text->m_df_type = DF_Type::Stl_string; - n_news_text->m_rdf_type = RDF_Type::Vector; - n_news_text->m_node_type = NodeType::Vector; - n_news_text->m_addornements = "v*"; - n_news_text->m_address = base + offset; - n_news_text->m_parent = p_node_parent; - n_news_text->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_news_text); - - field_name = "show_holdings"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); - auto n_show_holdings = new NodeSimple; - n_show_holdings->m_field_name = field_name; - n_show_holdings->m_df_type = DF_Type::Bool; - n_show_holdings->m_rdf_type = RDF_Type::Bool; - n_show_holdings->m_node_type = NodeType::Simple; - n_show_holdings->m_address = base + offset; - n_show_holdings->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_show_holdings); - - field_name = "show_legend"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); - auto n_show_legend = new NodeSimple; - n_show_legend->m_field_name = field_name; - n_show_legend->m_df_type = DF_Type::Bool; - n_show_legend->m_rdf_type = RDF_Type::Bool; - n_show_legend->m_node_type = NodeType::Simple; - n_show_legend->m_address = base + offset; - n_show_legend->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_show_legend); - -} -void node_from_viewscreen_createquotast(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "building_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_createquotast, field_name)); - auto n_building_id = new NodeSimple; - n_building_id->m_field_name = field_name; - n_building_id->m_df_type = DF_Type::int32_t; - n_building_id->m_rdf_type = RDF_Type::int32_t; - n_building_id->m_node_type = NodeType::Simple; - n_building_id->m_address = base + offset; - n_building_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_building_id); - - field_name = "str_filter"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_createquotast, field_name)); - auto n_str_filter= new NodePadding; - n_str_filter->m_field_name = field_name; - n_str_filter->m_df_type = DF_Type::Static_string; - n_str_filter->m_rdf_type = RDF_Type::Static_string; - n_str_filter->m_node_type = NodeType::StaticString; - n_str_filter->m_address = base + offset; - n_str_filter->m_size = 256; - n_str_filter->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_str_filter); - - field_name = "sel_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_createquotast, field_name)); - auto n_sel_idx = new NodeSimple; - n_sel_idx->m_field_name = field_name; - n_sel_idx->m_df_type = DF_Type::int32_t; - n_sel_idx->m_rdf_type = RDF_Type::int32_t; - n_sel_idx->m_node_type = NodeType::Simple; - n_sel_idx->m_address = base + offset; - n_sel_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sel_idx); - - field_name = "orders"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_createquotast, field_name)); - auto n_orders = new NodeVector; - n_orders->m_field_name = field_name; - n_orders->m_df_type = DF_Type::manager_order_template; - n_orders->m_rdf_type = RDF_Type::Vector; - n_orders->m_node_type = NodeType::Vector; - n_orders->m_defined_in = "df.jobs.xml"; - n_orders->m_addornements = "v*"; - n_orders->m_address = base + offset; - n_orders->m_comment = "filtered orders"; - n_orders->m_parent = p_node_parent; - n_orders->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_orders); - - field_name = "all_orders"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_createquotast, field_name)); - auto n_all_orders = new NodeVector; - n_all_orders->m_field_name = field_name; - n_all_orders->m_df_type = DF_Type::manager_order_template; - n_all_orders->m_rdf_type = RDF_Type::Vector; - n_all_orders->m_node_type = NodeType::Vector; - n_all_orders->m_defined_in = "df.jobs.xml"; - n_all_orders->m_addornements = "v*"; - n_all_orders->m_address = base + offset; - n_all_orders->m_parent = p_node_parent; - n_all_orders->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_all_orders); - - field_name = "want_quantity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_createquotast, field_name)); - auto n_want_quantity = new NodeSimple; - n_want_quantity->m_field_name = field_name; - n_want_quantity->m_df_type = DF_Type::Bool; - n_want_quantity->m_rdf_type = RDF_Type::Bool; - n_want_quantity->m_node_type = NodeType::Simple; - n_want_quantity->m_address = base + offset; - n_want_quantity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_want_quantity); - - field_name = "str_quantity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_createquotast, field_name)); - auto n_str_quantity = new NodeSimple; - n_str_quantity->m_field_name = field_name; - n_str_quantity->m_df_type = DF_Type::Stl_string; - n_str_quantity->m_rdf_type = RDF_Type::Stl_string; - n_str_quantity->m_node_type = NodeType::Simple; - n_str_quantity->m_address = base + offset; - n_str_quantity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_str_quantity); - - field_name = "workshop_profile_orders"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_createquotast, field_name)); - auto n_workshop_profile_orders = new NodePointer; - n_workshop_profile_orders->m_field_name = field_name; - n_workshop_profile_orders->m_df_type = get_real_subtype(base+offset, DF_Type::manager_order); - n_workshop_profile_orders->m_rdf_type = RDF_Type::Pointer; - n_workshop_profile_orders->m_node_type = NodeType::Pointer; - n_workshop_profile_orders->m_addornements = "*v*"; - n_workshop_profile_orders->m_address = base + offset; - n_workshop_profile_orders->m_comment = "assigned from viewscreen_workshop_profilest.orders"; - n_workshop_profile_orders->m_parent = p_node_parent; - n_workshop_profile_orders->m_defined_in = "df.jobs.xml"; - n_workshop_profile_orders->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_workshop_profile_orders); - -} -void node_from_viewscreen_customize_unitst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unit"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_customize_unitst, field_name)); - auto n_unit = new NodePointer; - n_unit->m_field_name = field_name; - n_unit->m_df_type = get_real_subtype(base+offset, DF_Type::unit); - n_unit->m_rdf_type = RDF_Type::Pointer; - n_unit->m_node_type = NodeType::Pointer; - n_unit->m_addornements = "*"; - n_unit->m_address = base + offset; - n_unit->m_parent = p_node_parent; - n_unit->m_defined_in = "df.units.xml"; - n_unit->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unit); - - field_name = "editing_nickname"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_customize_unitst, field_name)); - auto n_editing_nickname = new NodeSimple; - n_editing_nickname->m_field_name = field_name; - n_editing_nickname->m_df_type = DF_Type::int8_t; - n_editing_nickname->m_rdf_type = RDF_Type::int8_t; - n_editing_nickname->m_node_type = NodeType::Simple; - n_editing_nickname->m_address = base + offset; - n_editing_nickname->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_editing_nickname); - - field_name = "editing_profession"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_customize_unitst, field_name)); - auto n_editing_profession = new NodeSimple; - n_editing_profession->m_field_name = field_name; - n_editing_profession->m_df_type = DF_Type::int8_t; - n_editing_profession->m_rdf_type = RDF_Type::int8_t; - n_editing_profession->m_node_type = NodeType::Simple; - n_editing_profession->m_address = base + offset; - n_editing_profession->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_editing_profession); - - field_name = "previous_name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_customize_unitst, field_name)); - auto n_previous_name = new NodeSimple; - n_previous_name->m_field_name = field_name; - n_previous_name->m_df_type = DF_Type::Stl_string; - n_previous_name->m_rdf_type = RDF_Type::Stl_string; - n_previous_name->m_node_type = NodeType::Simple; - n_previous_name->m_address = base + offset; - n_previous_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_previous_name); - - field_name = "has_name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_customize_unitst, field_name)); - auto n_has_name = new NodeSimple; - n_has_name->m_field_name = field_name; - n_has_name->m_df_type = DF_Type::int8_t; - n_has_name->m_rdf_type = RDF_Type::int8_t; - n_has_name->m_node_type = NodeType::Simple; - n_has_name->m_address = base + offset; - n_has_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_has_name); - -} -void node_from_viewscreen_dungeon_monsterstatusst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unit"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_monsterstatusst, field_name)); - auto n_unit = new NodePointer; - n_unit->m_field_name = field_name; - n_unit->m_df_type = get_real_subtype(base+offset, DF_Type::unit); - n_unit->m_rdf_type = RDF_Type::Pointer; - n_unit->m_node_type = NodeType::Pointer; - n_unit->m_addornements = "*"; - n_unit->m_address = base + offset; - n_unit->m_parent = p_node_parent; - n_unit->m_defined_in = "df.units.xml"; - n_unit->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unit); - - field_name = "inventory_cursor"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_monsterstatusst, field_name)); - auto n_inventory_cursor = new NodeSimple; - n_inventory_cursor->m_field_name = field_name; - n_inventory_cursor->m_df_type = DF_Type::int32_t; - n_inventory_cursor->m_rdf_type = RDF_Type::int32_t; - n_inventory_cursor->m_node_type = NodeType::Simple; - n_inventory_cursor->m_address = base + offset; - n_inventory_cursor->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_inventory_cursor); - - field_name = "body_part_cursor"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_monsterstatusst, field_name)); - auto n_body_part_cursor = new NodeSimple; - n_body_part_cursor->m_field_name = field_name; - n_body_part_cursor->m_df_type = DF_Type::int32_t; - n_body_part_cursor->m_rdf_type = RDF_Type::int32_t; - n_body_part_cursor->m_node_type = NodeType::Simple; - n_body_part_cursor->m_address = base + offset; - n_body_part_cursor->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_body_part_cursor); - - field_name = "body_part"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_monsterstatusst, field_name)); - auto n_body_part = new NodeVector; - n_body_part->m_field_name = field_name; - n_body_part->m_df_type = DF_Type::int16_t; - n_body_part->m_rdf_type = RDF_Type::Vector; - n_body_part->m_node_type = NodeType::Vector; - n_body_part->m_addornements = "v"; - n_body_part->m_address = base + offset; - n_body_part->m_parent = p_node_parent; - n_body_part->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_body_part); - - field_name = "view_skills"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_monsterstatusst, field_name)); - auto n_view_skills = new NodeSimple; - n_view_skills->m_field_name = field_name; - n_view_skills->m_df_type = DF_Type::Bool; - n_view_skills->m_rdf_type = RDF_Type::Bool; - n_view_skills->m_node_type = NodeType::Simple; - n_view_skills->m_address = base + offset; - n_view_skills->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_view_skills); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_monsterstatusst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "length"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_monsterstatusst, field_name)); - auto n_length = new NodeSimple; - n_length->m_field_name = field_name; - n_length->m_df_type = DF_Type::int32_t; - n_length->m_rdf_type = RDF_Type::int32_t; - n_length->m_node_type = NodeType::Simple; - n_length->m_address = base + offset; - n_length->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_length); - - field_name = "scroll_pos"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_monsterstatusst, field_name)); - auto n_scroll_pos = new NodeSimple; - n_scroll_pos->m_field_name = field_name; - n_scroll_pos->m_df_type = DF_Type::int32_t; - n_scroll_pos->m_rdf_type = RDF_Type::int32_t; - n_scroll_pos->m_node_type = NodeType::Simple; - n_scroll_pos->m_address = base + offset; - n_scroll_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_scroll_pos); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_monsterstatusst, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int8_t; - n_anon_2->m_rdf_type = RDF_Type::int8_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "inventory"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_monsterstatusst, field_name)); - auto n_inventory = new NodeVector; - n_inventory->m_field_name = field_name; - n_inventory->m_df_type = DF_Type::unit_inventory_item; - n_inventory->m_rdf_type = RDF_Type::Vector; - n_inventory->m_node_type = NodeType::Vector; - n_inventory->m_defined_in = "df.units.xml"; - n_inventory->m_addornements = "v*"; - n_inventory->m_address = base + offset; - n_inventory->m_parent = p_node_parent; - n_inventory->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_inventory); - - field_name = "spatters"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_monsterstatusst, field_name)); - auto n_spatters = new NodeVector; - n_spatters->m_field_name = field_name; - n_spatters->m_df_type = DF_Type::spatter; - n_spatters->m_rdf_type = RDF_Type::Vector; - n_spatters->m_node_type = NodeType::Vector; - n_spatters->m_defined_in = "df.items.xml"; - n_spatters->m_addornements = "v*"; - n_spatters->m_address = base + offset; - n_spatters->m_parent = p_node_parent; - n_spatters->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_spatters); - -} -void node_from_viewscreen_dungeon_wrestlest__T_unk1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_wrestlest__T_unk1, field_name)); - auto n_anon_1 = new NodePointer; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = get_real_subtype(base+offset, DF_Type::unit); - n_anon_1->m_rdf_type = RDF_Type::Pointer; - n_anon_1->m_node_type = NodeType::Pointer; - n_anon_1->m_addornements = "*"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_defined_in = "df.units.xml"; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_wrestlest__T_unk1, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int8_t; - n_anon_2->m_rdf_type = RDF_Type::int8_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_wrestlest__T_unk1, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int8_t; - n_anon_3->m_rdf_type = RDF_Type::int8_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "weapons"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_wrestlest__T_unk1, field_name)); - auto n_weapons = new NodeVector; - n_weapons->m_field_name = field_name; - n_weapons->m_df_type = DF_Type::item; - n_weapons->m_rdf_type = RDF_Type::Vector; - n_weapons->m_node_type = NodeType::Vector; - n_weapons->m_defined_in = "df.items.xml"; - n_weapons->m_addornements = "v*"; - n_weapons->m_address = base + offset; - n_weapons->m_parent = p_node_parent; - n_weapons->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_weapons); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_wrestlest__T_unk1, field_name)); - auto n_anon_4 = new NodeVector; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int16_t; - n_anon_4->m_rdf_type = RDF_Type::Vector; - n_anon_4->m_node_type = NodeType::Vector; - n_anon_4->m_addornements = "v"; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - n_anon_4->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_wrestlest__T_unk1, field_name)); - auto n_anon_5 = new NodeVector; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::Void; - n_anon_5->m_rdf_type = RDF_Type::Vector; - n_anon_5->m_node_type = NodeType::Vector; - n_anon_5->m_addornements = "v"; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - n_anon_5->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_wrestlest__T_unk1, field_name)); - auto n_anon_6 = new NodeVector; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int16_t; - n_anon_6->m_rdf_type = RDF_Type::Vector; - n_anon_6->m_node_type = NodeType::Vector; - n_anon_6->m_addornements = "v"; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - n_anon_6->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_wrestlest__T_unk1, field_name)); - auto n_anon_7 = new NodeVector; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::Void; - n_anon_7->m_rdf_type = RDF_Type::Vector; - n_anon_7->m_node_type = NodeType::Vector; - n_anon_7->m_addornements = "v"; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - n_anon_7->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_7); - - field_name = "anon_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_wrestlest__T_unk1, field_name)); - auto n_anon_8 = new NodeVector; - n_anon_8->m_field_name = field_name; - n_anon_8->m_df_type = DF_Type::Void; - n_anon_8->m_rdf_type = RDF_Type::Vector; - n_anon_8->m_node_type = NodeType::Vector; - n_anon_8->m_addornements = "v"; - n_anon_8->m_address = base + offset; - n_anon_8->m_parent = p_node_parent; - n_anon_8->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_8); - - field_name = "anon_9"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_wrestlest__T_unk1, field_name)); - auto n_anon_9 = new NodeVector; - n_anon_9->m_field_name = field_name; - n_anon_9->m_df_type = DF_Type::Void; - n_anon_9->m_rdf_type = RDF_Type::Vector; - n_anon_9->m_node_type = NodeType::Vector; - n_anon_9->m_addornements = "v"; - n_anon_9->m_address = base + offset; - n_anon_9->m_parent = p_node_parent; - n_anon_9->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_9); - - field_name = "anon_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_wrestlest__T_unk1, field_name)); - auto n_anon_10 = new NodeVector; - n_anon_10->m_field_name = field_name; - n_anon_10->m_df_type = DF_Type::Void; - n_anon_10->m_rdf_type = RDF_Type::Vector; - n_anon_10->m_node_type = NodeType::Vector; - n_anon_10->m_addornements = "v"; - n_anon_10->m_address = base + offset; - n_anon_10->m_parent = p_node_parent; - n_anon_10->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_10); - - field_name = "anon_11"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_wrestlest__T_unk1, field_name)); - auto n_anon_11 = new NodeVector; - n_anon_11->m_field_name = field_name; - n_anon_11->m_df_type = DF_Type::int16_t; - n_anon_11->m_rdf_type = RDF_Type::Vector; - n_anon_11->m_node_type = NodeType::Vector; - n_anon_11->m_addornements = "v"; - n_anon_11->m_address = base + offset; - n_anon_11->m_parent = p_node_parent; - n_anon_11->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_11); - - field_name = "anon_12"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_wrestlest__T_unk1, field_name)); - auto n_anon_12 = new NodeVector; - n_anon_12->m_field_name = field_name; - n_anon_12->m_df_type = DF_Type::int16_t; - n_anon_12->m_rdf_type = RDF_Type::Vector; - n_anon_12->m_node_type = NodeType::Vector; - n_anon_12->m_addornements = "v"; - n_anon_12->m_address = base + offset; - n_anon_12->m_parent = p_node_parent; - n_anon_12->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_12); - - field_name = "anon_13"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_wrestlest__T_unk1, field_name)); - auto n_anon_13 = new NodeVector; - n_anon_13->m_field_name = field_name; - n_anon_13->m_df_type = DF_Type::int16_t; - n_anon_13->m_rdf_type = RDF_Type::Vector; - n_anon_13->m_node_type = NodeType::Vector; - n_anon_13->m_addornements = "v"; - n_anon_13->m_address = base + offset; - n_anon_13->m_parent = p_node_parent; - n_anon_13->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_13); - - field_name = "anon_14"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_wrestlest__T_unk1, field_name)); - auto n_anon_14 = new NodeVector; - n_anon_14->m_field_name = field_name; - n_anon_14->m_df_type = DF_Type::int16_t; - n_anon_14->m_rdf_type = RDF_Type::Vector; - n_anon_14->m_node_type = NodeType::Vector; - n_anon_14->m_addornements = "v"; - n_anon_14->m_address = base + offset; - n_anon_14->m_parent = p_node_parent; - n_anon_14->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_14); - - field_name = "anon_15"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_wrestlest__T_unk1, field_name)); - auto n_anon_15 = new NodeVector; - n_anon_15->m_field_name = field_name; - n_anon_15->m_df_type = DF_Type::Void; - n_anon_15->m_rdf_type = RDF_Type::Vector; - n_anon_15->m_node_type = NodeType::Vector; - n_anon_15->m_addornements = "v"; - n_anon_15->m_address = base + offset; - n_anon_15->m_parent = p_node_parent; - n_anon_15->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_15); - - field_name = "anon_16"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_wrestlest__T_unk1, field_name)); - auto n_anon_16 = new NodeVector; - n_anon_16->m_field_name = field_name; - n_anon_16->m_df_type = DF_Type::Void; - n_anon_16->m_rdf_type = RDF_Type::Vector; - n_anon_16->m_node_type = NodeType::Vector; - n_anon_16->m_addornements = "v"; - n_anon_16->m_address = base + offset; - n_anon_16->m_parent = p_node_parent; - n_anon_16->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_16); - - field_name = "anon_17"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_wrestlest__T_unk1, field_name)); - auto n_anon_17 = new NodeVector; - n_anon_17->m_field_name = field_name; - n_anon_17->m_df_type = DF_Type::Void; - n_anon_17->m_rdf_type = RDF_Type::Vector; - n_anon_17->m_node_type = NodeType::Vector; - n_anon_17->m_addornements = "v"; - n_anon_17->m_address = base + offset; - n_anon_17->m_parent = p_node_parent; - n_anon_17->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_17); - -} -void node_from_viewscreen_dungeon_wrestlest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "player"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_wrestlest, field_name)); - auto n_player = new NodePointer; - n_player->m_field_name = field_name; - n_player->m_df_type = get_real_subtype(base+offset, DF_Type::unit); - n_player->m_rdf_type = RDF_Type::Pointer; - n_player->m_node_type = NodeType::Pointer; - n_player->m_addornements = "*"; - n_player->m_address = base + offset; - n_player->m_parent = p_node_parent; - n_player->m_defined_in = "df.units.xml"; - n_player->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_player); - - field_name = "target"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_wrestlest, field_name)); - auto n_target = new NodePointer; - n_target->m_field_name = field_name; - n_target->m_df_type = get_real_subtype(base+offset, DF_Type::unit); - n_target->m_rdf_type = RDF_Type::Pointer; - n_target->m_node_type = NodeType::Pointer; - n_target->m_addornements = "*"; - n_target->m_address = base + offset; - n_target->m_parent = p_node_parent; - n_target->m_defined_in = "df.units.xml"; - n_target->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_target); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_wrestlest, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int8_t; - n_anon_1->m_rdf_type = RDF_Type::int8_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_wrestlest, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_wrestlest, field_name)); - auto n_anon_3 = new NodeVector; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::Void; - n_anon_3->m_rdf_type = RDF_Type::Vector; - n_anon_3->m_node_type = NodeType::Vector; - n_anon_3->m_addornements = "v"; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - n_anon_3->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_wrestlest, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_wrestlest, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_wrestlest, field_name)); - auto n_anon_6 = new NodeVector; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::Vector; - n_anon_6->m_node_type = NodeType::Vector; - n_anon_6->m_addornements = "v"; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - n_anon_6->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_wrestlest, field_name)); - auto n_anon_7 = new NodeVector; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::int32_t; - n_anon_7->m_rdf_type = RDF_Type::Vector; - n_anon_7->m_node_type = NodeType::Vector; - n_anon_7->m_addornements = "v"; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - n_anon_7->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_7); - - field_name = "unk1"; - auto n_unk1 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_wrestlest, field_name)); - n_unk1->m_field_name = field_name; - n_unk1->m_df_type = DF_Type::viewscreen_dungeon_wrestlest__T_unk1; - n_unk1->m_rdf_type = RDF_Type::Compound; - n_unk1->m_node_type = NodeType::Compound; - n_unk1->m_address = base + offset; - n_unk1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk1); - - field_name = "anon_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_wrestlest, field_name)); - auto n_anon_8 = new NodeSimple; - n_anon_8->m_field_name = field_name; - n_anon_8->m_df_type = DF_Type::int32_t; - n_anon_8->m_rdf_type = RDF_Type::int32_t; - n_anon_8->m_node_type = NodeType::Simple; - n_anon_8->m_address = base + offset; - n_anon_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_8); - - field_name = "anon_9"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_wrestlest, field_name)); - auto n_anon_9 = new NodeSimple; - n_anon_9->m_field_name = field_name; - n_anon_9->m_df_type = DF_Type::int32_t; - n_anon_9->m_rdf_type = RDF_Type::int32_t; - n_anon_9->m_node_type = NodeType::Simple; - n_anon_9->m_address = base + offset; - n_anon_9->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_9); - -} -void node_from_viewscreen_dungeonmodest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeonmodest, field_name)); - auto n_x = new NodeSimple; - n_x->m_field_name = field_name; - n_x->m_df_type = DF_Type::int32_t; - n_x->m_rdf_type = RDF_Type::int32_t; - n_x->m_node_type = NodeType::Simple; - n_x->m_address = base + offset; - n_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_x); - - field_name = "y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeonmodest, field_name)); - auto n_y = new NodeSimple; - n_y->m_field_name = field_name; - n_y->m_df_type = DF_Type::int32_t; - n_y->m_rdf_type = RDF_Type::int32_t; - n_y->m_node_type = NodeType::Simple; - n_y->m_address = base + offset; - n_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_y); - - field_name = "z"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeonmodest, field_name)); - auto n_z = new NodeSimple; - n_z->m_field_name = field_name; - n_z->m_df_type = DF_Type::int32_t; - n_z->m_rdf_type = RDF_Type::int32_t; - n_z->m_node_type = NodeType::Simple; - n_z->m_address = base + offset; - n_z->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_z); - - field_name = "announce_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeonmodest, field_name)); - auto n_announce_y = new NodeSimple; - n_announce_y->m_field_name = field_name; - n_announce_y->m_df_type = DF_Type::int32_t; - n_announce_y->m_rdf_type = RDF_Type::int32_t; - n_announce_y->m_node_type = NodeType::Simple; - n_announce_y->m_address = base + offset; - n_announce_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_announce_y); - - field_name = "announce_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeonmodest, field_name)); - auto n_announce_idx = new NodeSimple; - n_announce_idx->m_field_name = field_name; - n_announce_idx->m_df_type = DF_Type::int32_t; - n_announce_idx->m_rdf_type = RDF_Type::int32_t; - n_announce_idx->m_node_type = NodeType::Simple; - n_announce_idx->m_address = base + offset; - n_announce_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_announce_idx); - - field_name = "announce_more"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeonmodest, field_name)); - auto n_announce_more = new NodeSimple; - n_announce_more->m_field_name = field_name; - n_announce_more->m_df_type = DF_Type::int8_t; - n_announce_more->m_rdf_type = RDF_Type::int8_t; - n_announce_more->m_node_type = NodeType::Simple; - n_announce_more->m_address = base + offset; - n_announce_more->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_announce_more); - -} -void node_from_viewscreen_dwarfmodest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "shown_site_name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dwarfmodest, field_name)); - auto n_shown_site_name = new NodeSimple; - n_shown_site_name->m_field_name = field_name; - n_shown_site_name->m_df_type = DF_Type::int8_t; - n_shown_site_name->m_rdf_type = RDF_Type::int8_t; - n_shown_site_name->m_node_type = NodeType::Simple; - n_shown_site_name->m_address = base + offset; - n_shown_site_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_shown_site_name); - - field_name = "jeweler_mat_count"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dwarfmodest, field_name)); - auto n_jeweler_mat_count = new NodeSimple; - n_jeweler_mat_count->m_field_name = field_name; - n_jeweler_mat_count->m_df_type = DF_Type::int16_t; - n_jeweler_mat_count->m_rdf_type = RDF_Type::int16_t; - n_jeweler_mat_count->m_node_type = NodeType::Simple; - n_jeweler_mat_count->m_address = base + offset; - n_jeweler_mat_count->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_jeweler_mat_count); - - field_name = "jeweler_cutgem"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dwarfmodest, field_name)); - auto n_jeweler_cutgem = new NodeVector; - n_jeweler_cutgem->m_field_name = field_name; - n_jeweler_cutgem->m_df_type = DF_Type::int32_t; - n_jeweler_cutgem->m_rdf_type = RDF_Type::Vector; - n_jeweler_cutgem->m_node_type = NodeType::Vector; - n_jeweler_cutgem->m_addornements = "v"; - n_jeweler_cutgem->m_address = base + offset; - n_jeweler_cutgem->m_refers_to = "(material-by-id 0 $)"; - n_jeweler_cutgem->m_parent = p_node_parent; - n_jeweler_cutgem->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_jeweler_cutgem); - - field_name = "jeweler_encrust"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dwarfmodest, field_name)); - auto n_jeweler_encrust = new NodeVector; - n_jeweler_encrust->m_field_name = field_name; - n_jeweler_encrust->m_df_type = DF_Type::int32_t; - n_jeweler_encrust->m_rdf_type = RDF_Type::Vector; - n_jeweler_encrust->m_node_type = NodeType::Vector; - n_jeweler_encrust->m_addornements = "v"; - n_jeweler_encrust->m_address = base + offset; - n_jeweler_encrust->m_refers_to = "(material-by-id 0 $)"; - n_jeweler_encrust->m_parent = p_node_parent; - n_jeweler_encrust->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_jeweler_encrust); - - field_name = "unit_labors_sidemenu"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dwarfmodest, field_name)); - auto n_unit_labors_sidemenu = new NodeVector; - n_unit_labors_sidemenu->m_field_name = field_name; - n_unit_labors_sidemenu->m_df_type = DF_Type::unit_labor; - n_unit_labors_sidemenu->m_rdf_type = RDF_Type::Vector; - n_unit_labors_sidemenu->m_node_type = NodeType::Vector; - n_unit_labors_sidemenu->m_enum_base = DF_Type::int32_t; - n_unit_labors_sidemenu->m_defined_in = "df.skills.xml"; - n_unit_labors_sidemenu->m_addornements = "v"; - n_unit_labors_sidemenu->m_address = base + offset; - n_unit_labors_sidemenu->m_parent = p_node_parent; - n_unit_labors_sidemenu->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unit_labors_sidemenu); - - field_name = "unit_labors_sidemenu_uplevel"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dwarfmodest, field_name)); - auto n_unit_labors_sidemenu_uplevel = new NodeVector; - n_unit_labors_sidemenu_uplevel->m_field_name = field_name; - n_unit_labors_sidemenu_uplevel->m_df_type = DF_Type::unit_labor; - n_unit_labors_sidemenu_uplevel->m_rdf_type = RDF_Type::Vector; - n_unit_labors_sidemenu_uplevel->m_node_type = NodeType::Vector; - n_unit_labors_sidemenu_uplevel->m_enum_base = DF_Type::int32_t; - n_unit_labors_sidemenu_uplevel->m_defined_in = "df.skills.xml"; - n_unit_labors_sidemenu_uplevel->m_addornements = "v"; - n_unit_labors_sidemenu_uplevel->m_address = base + offset; - n_unit_labors_sidemenu_uplevel->m_parent = p_node_parent; - n_unit_labors_sidemenu_uplevel->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unit_labors_sidemenu_uplevel); - - field_name = "unit_labors_sidemenu_uplevel_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dwarfmodest, field_name)); - auto n_unit_labors_sidemenu_uplevel_idx = new NodeSimple; - n_unit_labors_sidemenu_uplevel_idx->m_field_name = field_name; - n_unit_labors_sidemenu_uplevel_idx->m_df_type = DF_Type::int32_t; - n_unit_labors_sidemenu_uplevel_idx->m_rdf_type = RDF_Type::int32_t; - n_unit_labors_sidemenu_uplevel_idx->m_node_type = NodeType::Simple; - n_unit_labors_sidemenu_uplevel_idx->m_address = base + offset; - n_unit_labors_sidemenu_uplevel_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unit_labors_sidemenu_uplevel_idx); - - field_name = "sideSubmenu"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dwarfmodest, field_name)); - auto n_sideSubmenu = new NodeSimple; - n_sideSubmenu->m_field_name = field_name; - n_sideSubmenu->m_df_type = DF_Type::int8_t; - n_sideSubmenu->m_rdf_type = RDF_Type::int8_t; - n_sideSubmenu->m_node_type = NodeType::Simple; - n_sideSubmenu->m_address = base + offset; - n_sideSubmenu->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sideSubmenu); - - field_name = "keyRepeat"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dwarfmodest, field_name)); - auto n_keyRepeat = new NodeSimple; - n_keyRepeat->m_field_name = field_name; - n_keyRepeat->m_df_type = DF_Type::int8_t; - n_keyRepeat->m_rdf_type = RDF_Type::int8_t; - n_keyRepeat->m_node_type = NodeType::Simple; - n_keyRepeat->m_address = base + offset; - n_keyRepeat->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_keyRepeat); - - field_name = "trained_animals"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dwarfmodest, field_name)); - auto n_trained_animals = new NodeVector; - n_trained_animals->m_field_name = field_name; - n_trained_animals->m_df_type = DF_Type::unit; - n_trained_animals->m_rdf_type = RDF_Type::Vector; - n_trained_animals->m_node_type = NodeType::Vector; - n_trained_animals->m_defined_in = "df.units.xml"; - n_trained_animals->m_addornements = "v*"; - n_trained_animals->m_address = base + offset; - n_trained_animals->m_parent = p_node_parent; - n_trained_animals->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_trained_animals); - - field_name = "trained_animal_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dwarfmodest, field_name)); - auto n_trained_animal_idx = new NodeSimple; - n_trained_animal_idx->m_field_name = field_name; - n_trained_animal_idx->m_df_type = DF_Type::int32_t; - n_trained_animal_idx->m_rdf_type = RDF_Type::int32_t; - n_trained_animal_idx->m_node_type = NodeType::Simple; - n_trained_animal_idx->m_address = base + offset; - n_trained_animal_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_trained_animal_idx); - - field_name = "number_assigned_hunt"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dwarfmodest, field_name)); - auto n_number_assigned_hunt = new NodeSimple; - n_number_assigned_hunt->m_field_name = field_name; - n_number_assigned_hunt->m_df_type = DF_Type::int32_t; - n_number_assigned_hunt->m_rdf_type = RDF_Type::int32_t; - n_number_assigned_hunt->m_node_type = NodeType::Simple; - n_number_assigned_hunt->m_address = base + offset; - n_number_assigned_hunt->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_number_assigned_hunt); - - field_name = "number_assigned_war"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dwarfmodest, field_name)); - auto n_number_assigned_war = new NodeSimple; - n_number_assigned_war->m_field_name = field_name; - n_number_assigned_war->m_df_type = DF_Type::int32_t; - n_number_assigned_war->m_rdf_type = RDF_Type::int32_t; - n_number_assigned_war->m_node_type = NodeType::Simple; - n_number_assigned_war->m_address = base + offset; - n_number_assigned_war->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_number_assigned_war); - -} -void node_from_viewscreen_entityst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "entity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_entityst, field_name)); - auto n_entity = new NodePointer; - n_entity->m_field_name = field_name; - n_entity->m_df_type = get_real_subtype(base+offset, DF_Type::historical_entity); - n_entity->m_rdf_type = RDF_Type::Pointer; - n_entity->m_node_type = NodeType::Pointer; - n_entity->m_addornements = "*"; - n_entity->m_address = base + offset; - n_entity->m_parent = p_node_parent; - n_entity->m_defined_in = "df.entities.xml"; - n_entity->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_entity); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_entityst, field_name)); - auto n_anon_1 = new NodeVector; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::Void; - n_anon_1->m_rdf_type = RDF_Type::Vector; - n_anon_1->m_node_type = NodeType::Vector; - n_anon_1->m_addornements = "v"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_entityst, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "important_leader_nemesis"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_entityst, field_name)); - auto n_important_leader_nemesis = new NodeVector; - n_important_leader_nemesis->m_field_name = field_name; - n_important_leader_nemesis->m_df_type = DF_Type::nemesis_record; - n_important_leader_nemesis->m_rdf_type = RDF_Type::Vector; - n_important_leader_nemesis->m_node_type = NodeType::Vector; - n_important_leader_nemesis->m_defined_in = "df.legends.xml"; - n_important_leader_nemesis->m_addornements = "v*"; - n_important_leader_nemesis->m_address = base + offset; - n_important_leader_nemesis->m_parent = p_node_parent; - n_important_leader_nemesis->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_important_leader_nemesis); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_entityst, field_name)); - auto n_anon_3 = new NodeVector; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::Vector; - n_anon_3->m_node_type = NodeType::Vector; - n_anon_3->m_addornements = "v"; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - n_anon_3->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "start_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_entityst, field_name)); - auto n_start_idx = new NodeSimple; - n_start_idx->m_field_name = field_name; - n_start_idx->m_df_type = DF_Type::int32_t; - n_start_idx->m_rdf_type = RDF_Type::int32_t; - n_start_idx->m_node_type = NodeType::Simple; - n_start_idx->m_address = base + offset; - n_start_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_start_idx); - - field_name = "agreements"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_entityst, field_name)); - auto n_agreements = new NodeVector; - n_agreements->m_field_name = field_name; - n_agreements->m_df_type = DF_Type::meeting_event; - n_agreements->m_rdf_type = RDF_Type::Vector; - n_agreements->m_node_type = NodeType::Vector; - n_agreements->m_defined_in = "df.meeting.xml"; - n_agreements->m_addornements = "v*"; - n_agreements->m_address = base + offset; - n_agreements->m_parent = p_node_parent; - n_agreements->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_agreements); - - field_name = "agreement_status"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_entityst, field_name)); - auto n_agreement_status = new NodeVector; - n_agreement_status->m_field_name = field_name; - n_agreement_status->m_df_type = DF_Type::int8_t; - n_agreement_status->m_rdf_type = RDF_Type::Vector; - n_agreement_status->m_node_type = NodeType::Vector; - n_agreement_status->m_addornements = "v"; - n_agreement_status->m_address = base + offset; - n_agreement_status->m_parent = p_node_parent; - n_agreement_status->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_agreement_status); - - field_name = "agreement_cursor"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_entityst, field_name)); - auto n_agreement_cursor = new NodeSimple; - n_agreement_cursor->m_field_name = field_name; - n_agreement_cursor->m_df_type = DF_Type::int32_t; - n_agreement_cursor->m_rdf_type = RDF_Type::int32_t; - n_agreement_cursor->m_node_type = NodeType::Simple; - n_agreement_cursor->m_address = base + offset; - n_agreement_cursor->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_agreement_cursor); - - field_name = "page"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_entityst, field_name)); - auto n_page = new NodeSimple; - n_page->m_field_name = field_name; - n_page->m_df_type = DF_Type::int16_t; - n_page->m_rdf_type = RDF_Type::int16_t; - n_page->m_node_type = NodeType::Simple; - n_page->m_address = base + offset; - n_page->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_page); - -} -void node_from_viewscreen_export_graphical_mapst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_export_graphical_mapst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int16_t; - n_anon_1->m_rdf_type = RDF_Type::int16_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_export_graphical_mapst, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int16_t; - n_anon_2->m_rdf_type = RDF_Type::int16_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_export_graphical_mapst, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int16_t; - n_anon_3->m_rdf_type = RDF_Type::int16_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_export_graphical_mapst, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int16_t; - n_anon_4->m_rdf_type = RDF_Type::int16_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "x_iterator"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_export_graphical_mapst, field_name)); - auto n_x_iterator = new NodeSimple; - n_x_iterator->m_field_name = field_name; - n_x_iterator->m_df_type = DF_Type::int32_t; - n_x_iterator->m_rdf_type = RDF_Type::int32_t; - n_x_iterator->m_node_type = NodeType::Simple; - n_x_iterator->m_address = base + offset; - n_x_iterator->m_comment = "0 to map_width-1"; - n_x_iterator->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_x_iterator); - - field_name = "y_iterator"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_export_graphical_mapst, field_name)); - auto n_y_iterator = new NodeSimple; - n_y_iterator->m_field_name = field_name; - n_y_iterator->m_df_type = DF_Type::int32_t; - n_y_iterator->m_rdf_type = RDF_Type::int32_t; - n_y_iterator->m_node_type = NodeType::Simple; - n_y_iterator->m_address = base + offset; - n_y_iterator->m_comment = "0 to map_height-1"; - n_y_iterator->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_y_iterator); - - field_name = "rgb_buffer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_export_graphical_mapst, field_name)); - auto n_rgb_buffer = new NodePointer; - n_rgb_buffer->m_field_name = field_name; - n_rgb_buffer->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_rgb_buffer->m_rdf_type = RDF_Type::Pointer; - n_rgb_buffer->m_node_type = NodeType::Pointer; - n_rgb_buffer->m_addornements = "*"; - n_rgb_buffer->m_address = base + offset; - n_rgb_buffer->m_comment = "pointer to allocated buffer"; - n_rgb_buffer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rgb_buffer); - - field_name = "map_width"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_export_graphical_mapst, field_name)); - auto n_map_width = new NodeSimple; - n_map_width->m_field_name = field_name; - n_map_width->m_df_type = DF_Type::int32_t; - n_map_width->m_rdf_type = RDF_Type::int32_t; - n_map_width->m_node_type = NodeType::Simple; - n_map_width->m_address = base + offset; - n_map_width->m_comment = "in world tiles"; - n_map_width->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_map_width); - - field_name = "map_height"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_export_graphical_mapst, field_name)); - auto n_map_height = new NodeSimple; - n_map_height->m_field_name = field_name; - n_map_height->m_df_type = DF_Type::int32_t; - n_map_height->m_rdf_type = RDF_Type::int32_t; - n_map_height->m_node_type = NodeType::Simple; - n_map_height->m_address = base + offset; - n_map_height->m_comment = "in world tiles"; - n_map_height->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_map_height); - - field_name = "numtiles_map_width"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_export_graphical_mapst, field_name)); - auto n_numtiles_map_width = new NodeSimple; - n_numtiles_map_width->m_field_name = field_name; - n_numtiles_map_width->m_df_type = DF_Type::int32_t; - n_numtiles_map_width->m_rdf_type = RDF_Type::int32_t; - n_numtiles_map_width->m_node_type = NodeType::Simple; - n_numtiles_map_width->m_address = base + offset; - n_numtiles_map_width->m_comment = "in embark tiles"; - n_numtiles_map_width->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_numtiles_map_width); - - field_name = "numtiles_map_height"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_export_graphical_mapst, field_name)); - auto n_numtiles_map_height = new NodeSimple; - n_numtiles_map_height->m_field_name = field_name; - n_numtiles_map_height->m_df_type = DF_Type::int32_t; - n_numtiles_map_height->m_rdf_type = RDF_Type::int32_t; - n_numtiles_map_height->m_node_type = NodeType::Simple; - n_numtiles_map_height->m_address = base + offset; - n_numtiles_map_height->m_comment = "in embark tiles"; - n_numtiles_map_height->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_numtiles_map_height); - - field_name = "in_export"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_export_graphical_mapst, field_name)); - auto n_in_export = new NodeSimple; - n_in_export->m_field_name = field_name; - n_in_export->m_df_type = DF_Type::Bool; - n_in_export->m_rdf_type = RDF_Type::Bool; - n_in_export->m_node_type = NodeType::Simple; - n_in_export->m_address = base + offset; - n_in_export->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_in_export); - - field_name = "sel_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_export_graphical_mapst, field_name)); - auto n_sel_idx = new NodeSimple; - n_sel_idx->m_field_name = field_name; - n_sel_idx->m_df_type = DF_Type::int32_t; - n_sel_idx->m_rdf_type = RDF_Type::int32_t; - n_sel_idx->m_node_type = NodeType::Simple; - n_sel_idx->m_address = base + offset; - n_sel_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sel_idx); - -} -void node_from_viewscreen_export_regionst__T_unk1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_export_regionst__T_unk1, field_name)); - auto n_anon_1 = new NodeVector; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::Void; - n_anon_1->m_rdf_type = RDF_Type::Vector; - n_anon_1->m_node_type = NodeType::Vector; - n_anon_1->m_addornements = "v"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_export_regionst__T_unk1, field_name)); - auto n_anon_2 = new NodeVector; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::Void; - n_anon_2->m_rdf_type = RDF_Type::Vector; - n_anon_2->m_node_type = NodeType::Vector; - n_anon_2->m_addornements = "v"; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - n_anon_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_export_regionst__T_unk1, field_name)); - auto n_anon_3 = new NodeVector; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::Void; - n_anon_3->m_rdf_type = RDF_Type::Vector; - n_anon_3->m_node_type = NodeType::Vector; - n_anon_3->m_addornements = "v"; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - n_anon_3->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_export_regionst__T_unk1, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_export_regionst__T_unk1, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_export_regionst__T_unk1, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - -} -void node_from_viewscreen_export_regionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_export_regionst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_export_regionst, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "unk1"; - auto n_unk1 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_export_regionst, field_name)); - n_unk1->m_field_name = field_name; - n_unk1->m_df_type = DF_Type::viewscreen_export_regionst__T_unk1; - n_unk1->m_rdf_type = RDF_Type::Compound; - n_unk1->m_node_type = NodeType::Compound; - n_unk1->m_address = base + offset; - n_unk1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk1); - - field_name = "compressor"; - auto n_compressor = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_export_regionst, field_name)); - n_compressor->m_field_name = field_name; - n_compressor->m_df_type = DF_Type::file_compressorst; - n_compressor->m_rdf_type = RDF_Type::Struct; - n_compressor->m_node_type = NodeType::Compound; - n_compressor->m_address = base + offset; - n_compressor->m_defined_in = "df.viewscreen.xml"; - n_compressor->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_compressor); - -} -void node_from_viewscreen_game_cleanerst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "state"; - auto n_state = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_game_cleanerst, field_name)); - n_state->m_field_name = field_name; - n_state->m_df_type = DF_Type::viewscreen_game_cleanerst__T_state; - n_state->m_rdf_type = RDF_Type::Enum; - n_state->m_node_type = NodeType::Enum; - n_state->m_base_type = DF_Type::int32_t; - n_state->m_enum_type = "viewscreen_game_cleanerst::T_state"; - n_state->m_address = base + offset; - n_state->m_first_value = 0; - n_state->m_last_value = 2; - n_state->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_state); - -} -void node_from_viewscreen_image_creatorst__T_descriptions(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "line"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst__T_descriptions, field_name)); - auto n_line = new NodeSimple; - n_line->m_field_name = field_name; - n_line->m_df_type = DF_Type::Stl_string; - n_line->m_rdf_type = RDF_Type::Stl_string; - n_line->m_node_type = NodeType::Simple; - n_line->m_address = base + offset; - n_line->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_line); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst__T_descriptions, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_viewscreen_image_creatorst__T_sites(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst__T_sites, field_name)); - auto n_site = new NodePointer; - n_site->m_field_name = field_name; - n_site->m_df_type = get_real_subtype(base+offset, DF_Type::world_site); - n_site->m_rdf_type = RDF_Type::Pointer; - n_site->m_node_type = NodeType::Pointer; - n_site->m_addornements = "*"; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - n_site->m_defined_in = "df.world-site.xml"; - n_site->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_site); - - field_name = "name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst__T_sites, field_name)); - auto n_name = new NodeSimple; - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Stl_string; - n_name->m_node_type = NodeType::Simple; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "trans_name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst__T_sites, field_name)); - auto n_trans_name = new NodeSimple; - n_trans_name->m_field_name = field_name; - n_trans_name->m_df_type = DF_Type::Stl_string; - n_trans_name->m_rdf_type = RDF_Type::Stl_string; - n_trans_name->m_node_type = NodeType::Simple; - n_trans_name->m_address = base + offset; - n_trans_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_trans_name); - -} -void node_from_viewscreen_image_creatorst__T_entities(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "entity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst__T_entities, field_name)); - auto n_entity = new NodePointer; - n_entity->m_field_name = field_name; - n_entity->m_df_type = get_real_subtype(base+offset, DF_Type::historical_entity); - n_entity->m_rdf_type = RDF_Type::Pointer; - n_entity->m_node_type = NodeType::Pointer; - n_entity->m_addornements = "*"; - n_entity->m_address = base + offset; - n_entity->m_parent = p_node_parent; - n_entity->m_defined_in = "df.entities.xml"; - n_entity->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_entity); - - field_name = "name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst__T_entities, field_name)); - auto n_name = new NodeSimple; - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Stl_string; - n_name->m_node_type = NodeType::Simple; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "trans_name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst__T_entities, field_name)); - auto n_trans_name = new NodeSimple; - n_trans_name->m_field_name = field_name; - n_trans_name->m_df_type = DF_Type::Stl_string; - n_trans_name->m_rdf_type = RDF_Type::Stl_string; - n_trans_name->m_node_type = NodeType::Simple; - n_trans_name->m_address = base + offset; - n_trans_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_trans_name); - -} -void node_from_viewscreen_image_creatorst__T_plants(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "plant"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst__T_plants, field_name)); - auto n_plant = new NodeSimple; - n_plant->m_field_name = field_name; - n_plant->m_df_type = DF_Type::int32_t; - n_plant->m_rdf_type = RDF_Type::int32_t; - n_plant->m_node_type = NodeType::Simple; - n_plant->m_address = base + offset; - n_plant->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_plant); - - field_name = "name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst__T_plants, field_name)); - auto n_name = new NodeSimple; - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Stl_string; - n_name->m_node_type = NodeType::Simple; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - -} -void node_from_viewscreen_image_creatorst__T_trees(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "tree"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst__T_trees, field_name)); - auto n_tree = new NodeSimple; - n_tree->m_field_name = field_name; - n_tree->m_df_type = DF_Type::int32_t; - n_tree->m_rdf_type = RDF_Type::int32_t; - n_tree->m_node_type = NodeType::Simple; - n_tree->m_address = base + offset; - n_tree->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tree); - - field_name = "name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst__T_trees, field_name)); - auto n_name = new NodeSimple; - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Stl_string; - n_name->m_node_type = NodeType::Simple; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - -} -void node_from_viewscreen_image_creatorst__T_shapes(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "shape"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst__T_shapes, field_name)); - auto n_shape = new NodeSimple; - n_shape->m_field_name = field_name; - n_shape->m_df_type = DF_Type::int32_t; - n_shape->m_rdf_type = RDF_Type::int32_t; - n_shape->m_node_type = NodeType::Simple; - n_shape->m_address = base + offset; - n_shape->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_shape); - - field_name = "shape2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst__T_shapes, field_name)); - auto n_shape2 = new NodeSimple; - n_shape2->m_field_name = field_name; - n_shape2->m_df_type = DF_Type::int32_t; - n_shape2->m_rdf_type = RDF_Type::int32_t; - n_shape2->m_node_type = NodeType::Simple; - n_shape2->m_address = base + offset; - n_shape2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_shape2); - - field_name = "name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst__T_shapes, field_name)); - auto n_name = new NodeSimple; - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Stl_string; - n_name->m_node_type = NodeType::Simple; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - -} -void node_from_viewscreen_image_creatorst__T_objects(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "item_type"; - auto n_item_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst__T_objects, field_name)); - n_item_type->m_field_name = field_name; - n_item_type->m_df_type = DF_Type::item_type; - n_item_type->m_rdf_type = RDF_Type::Enum; - n_item_type->m_node_type = NodeType::Enum; - n_item_type->m_base_type = DF_Type::int32_t; - n_item_type->m_enum_type = "item_type"; - n_item_type->m_address = base + offset; - n_item_type->m_defined_in = "df.item-raws.xml"; - n_item_type->m_first_value = -1; - n_item_type->m_last_value = 90; - n_item_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_type); - - field_name = "item_subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst__T_objects, field_name)); - auto n_item_subtype = new NodeSimple; - n_item_subtype->m_field_name = field_name; - n_item_subtype->m_df_type = DF_Type::int32_t; - n_item_subtype->m_rdf_type = RDF_Type::int32_t; - n_item_subtype->m_node_type = NodeType::Simple; - n_item_subtype->m_address = base + offset; - n_item_subtype->m_refers_to = "(item-subtype-target $$._parent._parent.type[$$._key] $)"; - n_item_subtype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_subtype); - - field_name = "name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst__T_objects, field_name)); - auto n_name = new NodeSimple; - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Stl_string; - n_name->m_node_type = NodeType::Simple; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - -} -void node_from_viewscreen_image_creatorst__T_artifacts(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst__T_artifacts, field_name)); - auto n_anon_1 = new NodePointer; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = get_real_subtype(base+offset, DF_Type::artifact_record); - n_anon_1->m_rdf_type = RDF_Type::Pointer; - n_anon_1->m_node_type = NodeType::Pointer; - n_anon_1->m_addornements = "*"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_defined_in = "df.legends.xml"; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst__T_artifacts, field_name)); - auto n_name = new NodeSimple; - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Stl_string; - n_name->m_node_type = NodeType::Simple; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "trans_name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst__T_artifacts, field_name)); - auto n_trans_name = new NodeSimple; - n_trans_name->m_field_name = field_name; - n_trans_name->m_df_type = DF_Type::Stl_string; - n_trans_name->m_rdf_type = RDF_Type::Stl_string; - n_trans_name->m_node_type = NodeType::Simple; - n_trans_name->m_address = base + offset; - n_trans_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_trans_name); - -} -void node_from_viewscreen_image_creatorst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "title"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); - auto n_title = new NodeSimple; - n_title->m_field_name = field_name; - n_title->m_df_type = DF_Type::Stl_string; - n_title->m_rdf_type = RDF_Type::Stl_string; - n_title->m_node_type = NodeType::Simple; - n_title->m_address = base + offset; - n_title->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_title); - - field_name = "modes"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); - auto n_modes = new NodeVector; - n_modes->m_field_name = field_name; - n_modes->m_df_type = DF_Type::viewscreen_image_creator_mode; - n_modes->m_rdf_type = RDF_Type::Vector; - n_modes->m_node_type = NodeType::Vector; - n_modes->m_enum_base = DF_Type::int32_t; - n_modes->m_defined_in = "df.viewscreen.xml"; - n_modes->m_addornements = "v"; - n_modes->m_address = base + offset; - n_modes->m_parent = p_node_parent; - n_modes->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_modes); - - field_name = "mode_cursor"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); - auto n_mode_cursor = new NodeSimple; - n_mode_cursor->m_field_name = field_name; - n_mode_cursor->m_df_type = DF_Type::int32_t; - n_mode_cursor->m_rdf_type = RDF_Type::int32_t; - n_mode_cursor->m_node_type = NodeType::Simple; - n_mode_cursor->m_address = base + offset; - n_mode_cursor->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mode_cursor); - - field_name = "mode"; - auto n_mode = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); - n_mode->m_field_name = field_name; - n_mode->m_df_type = DF_Type::viewscreen_image_creator_mode; - n_mode->m_rdf_type = RDF_Type::Enum; - n_mode->m_node_type = NodeType::Enum; - n_mode->m_base_type = enum_base_type(n_mode->m_df_type); - n_mode->m_enum_type = "viewscreen_image_creator_mode"; - n_mode->m_address = base + offset; - n_mode->m_defined_in = "df.viewscreen.xml"; - n_mode->m_first_value = -1; - n_mode->m_last_value = 18; - n_mode->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mode); - - field_name = "item_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); - auto n_item_idx = new NodeSimple; - n_item_idx->m_field_name = field_name; - n_item_idx->m_df_type = DF_Type::int32_t; - n_item_idx->m_rdf_type = RDF_Type::int32_t; - n_item_idx->m_node_type = NodeType::Simple; - n_item_idx->m_address = base + offset; - n_item_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_idx); - - field_name = "in_filter"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); - auto n_in_filter = new NodeSimple; - n_in_filter->m_field_name = field_name; - n_in_filter->m_df_type = DF_Type::Bool; - n_in_filter->m_rdf_type = RDF_Type::Bool; - n_in_filter->m_node_type = NodeType::Simple; - n_in_filter->m_address = base + offset; - n_in_filter->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_in_filter); - - field_name = "filter"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); - auto n_filter = new NodeSimple; - n_filter->m_field_name = field_name; - n_filter->m_df_type = DF_Type::Stl_string; - n_filter->m_rdf_type = RDF_Type::Stl_string; - n_filter->m_node_type = NodeType::Simple; - n_filter->m_address = base + offset; - n_filter->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_filter); - - field_name = "descriptions"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); - auto n_descriptions = new NodeVector; - n_descriptions->m_field_name = field_name; - n_descriptions->m_df_type = DF_Type::viewscreen_image_creatorst__T_descriptions; - n_descriptions->m_rdf_type = RDF_Type::Vector; - n_descriptions->m_node_type = NodeType::Vector; - n_descriptions->m_addornements = "v*"; - n_descriptions->m_address = base + offset; - n_descriptions->m_parent = p_node_parent; - n_descriptions->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_descriptions); - - field_name = "sites"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); - auto n_sites = new NodeVector; - n_sites->m_field_name = field_name; - n_sites->m_df_type = DF_Type::viewscreen_image_creatorst__T_sites; - n_sites->m_rdf_type = RDF_Type::Vector; - n_sites->m_node_type = NodeType::Vector; - n_sites->m_addornements = "v*"; - n_sites->m_address = base + offset; - n_sites->m_parent = p_node_parent; - n_sites->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_sites); - - field_name = "entities"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); - auto n_entities = new NodeVector; - n_entities->m_field_name = field_name; - n_entities->m_df_type = DF_Type::viewscreen_image_creatorst__T_entities; - n_entities->m_rdf_type = RDF_Type::Vector; - n_entities->m_node_type = NodeType::Vector; - n_entities->m_addornements = "v*"; - n_entities->m_address = base + offset; - n_entities->m_parent = p_node_parent; - n_entities->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_entities); - - field_name = "plants"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); - auto n_plants = new NodeVector; - n_plants->m_field_name = field_name; - n_plants->m_df_type = DF_Type::viewscreen_image_creatorst__T_plants; - n_plants->m_rdf_type = RDF_Type::Vector; - n_plants->m_node_type = NodeType::Vector; - n_plants->m_addornements = "v*"; - n_plants->m_address = base + offset; - n_plants->m_parent = p_node_parent; - n_plants->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_plants); - - field_name = "trees"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); - auto n_trees = new NodeVector; - n_trees->m_field_name = field_name; - n_trees->m_df_type = DF_Type::viewscreen_image_creatorst__T_trees; - n_trees->m_rdf_type = RDF_Type::Vector; - n_trees->m_node_type = NodeType::Vector; - n_trees->m_addornements = "v*"; - n_trees->m_address = base + offset; - n_trees->m_parent = p_node_parent; - n_trees->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_trees); - - field_name = "shapes"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); - auto n_shapes = new NodeVector; - n_shapes->m_field_name = field_name; - n_shapes->m_df_type = DF_Type::viewscreen_image_creatorst__T_shapes; - n_shapes->m_rdf_type = RDF_Type::Vector; - n_shapes->m_node_type = NodeType::Vector; - n_shapes->m_addornements = "v*"; - n_shapes->m_address = base + offset; - n_shapes->m_parent = p_node_parent; - n_shapes->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_shapes); - - field_name = "objects"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); - auto n_objects = new NodeVector; - n_objects->m_field_name = field_name; - n_objects->m_df_type = DF_Type::viewscreen_image_creatorst__T_objects; - n_objects->m_rdf_type = RDF_Type::Vector; - n_objects->m_node_type = NodeType::Vector; - n_objects->m_addornements = "v*"; - n_objects->m_address = base + offset; - n_objects->m_parent = p_node_parent; - n_objects->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_objects); - - field_name = "artifacts"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); - auto n_artifacts = new NodeVector; - n_artifacts->m_field_name = field_name; - n_artifacts->m_df_type = DF_Type::viewscreen_image_creatorst__T_artifacts; - n_artifacts->m_rdf_type = RDF_Type::Vector; - n_artifacts->m_node_type = NodeType::Vector; - n_artifacts->m_addornements = "v*"; - n_artifacts->m_address = base + offset; - n_artifacts->m_parent = p_node_parent; - n_artifacts->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_artifacts); - - field_name = "histfigs"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); - auto n_histfigs = new NodeVector; - n_histfigs->m_field_name = field_name; - n_histfigs->m_df_type = DF_Type::Void; - n_histfigs->m_rdf_type = RDF_Type::Vector; - n_histfigs->m_node_type = NodeType::Vector; - n_histfigs->m_addornements = "v"; - n_histfigs->m_address = base + offset; - n_histfigs->m_parent = p_node_parent; - n_histfigs->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_histfigs); - - field_name = "relationships"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); - auto n_relationships = new NodeVector; - n_relationships->m_field_name = field_name; - n_relationships->m_df_type = DF_Type::int32_t; - n_relationships->m_rdf_type = RDF_Type::Vector; - n_relationships->m_node_type = NodeType::Vector; - n_relationships->m_addornements = "v"; - n_relationships->m_address = base + offset; - n_relationships->m_parent = p_node_parent; - n_relationships->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_relationships); - - field_name = "histfigs_filtered"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); - auto n_histfigs_filtered = new NodeVector; - n_histfigs_filtered->m_field_name = field_name; - n_histfigs_filtered->m_df_type = DF_Type::historical_figure; - n_histfigs_filtered->m_rdf_type = RDF_Type::Vector; - n_histfigs_filtered->m_node_type = NodeType::Vector; - n_histfigs_filtered->m_defined_in = "df.history.xml"; - n_histfigs_filtered->m_addornements = "v*"; - n_histfigs_filtered->m_address = base + offset; - n_histfigs_filtered->m_parent = p_node_parent; - n_histfigs_filtered->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_histfigs_filtered); - - field_name = "sites_filtered"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); - auto n_sites_filtered = new NodeVector; - n_sites_filtered->m_field_name = field_name; - n_sites_filtered->m_df_type = DF_Type::world_site; - n_sites_filtered->m_rdf_type = RDF_Type::Vector; - n_sites_filtered->m_node_type = NodeType::Vector; - n_sites_filtered->m_defined_in = "df.world-site.xml"; - n_sites_filtered->m_addornements = "v*"; - n_sites_filtered->m_address = base + offset; - n_sites_filtered->m_parent = p_node_parent; - n_sites_filtered->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_sites_filtered); - - field_name = "entities_filtered"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); - auto n_entities_filtered = new NodeVector; - n_entities_filtered->m_field_name = field_name; - n_entities_filtered->m_df_type = DF_Type::historical_entity; - n_entities_filtered->m_rdf_type = RDF_Type::Vector; - n_entities_filtered->m_node_type = NodeType::Vector; - n_entities_filtered->m_defined_in = "df.entities.xml"; - n_entities_filtered->m_addornements = "v*"; - n_entities_filtered->m_address = base + offset; - n_entities_filtered->m_parent = p_node_parent; - n_entities_filtered->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_entities_filtered); - - field_name = "unkvec_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); - auto n_unkvec_1 = new NodeVector; - n_unkvec_1->m_field_name = field_name; - n_unkvec_1->m_df_type = DF_Type::Void; - n_unkvec_1->m_rdf_type = RDF_Type::Vector; - n_unkvec_1->m_node_type = NodeType::Vector; - n_unkvec_1->m_addornements = "v"; - n_unkvec_1->m_address = base + offset; - n_unkvec_1->m_parent = p_node_parent; - n_unkvec_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unkvec_1); - - field_name = "existing_images_filtered"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); - auto n_existing_images_filtered = new NodeVector; - n_existing_images_filtered->m_field_name = field_name; - n_existing_images_filtered->m_df_type = DF_Type::art_image; - n_existing_images_filtered->m_rdf_type = RDF_Type::Vector; - n_existing_images_filtered->m_node_type = NodeType::Vector; - n_existing_images_filtered->m_defined_in = "df.art.xml"; - n_existing_images_filtered->m_addornements = "v*"; - n_existing_images_filtered->m_address = base + offset; - n_existing_images_filtered->m_parent = p_node_parent; - n_existing_images_filtered->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_existing_images_filtered); - - field_name = "image"; - auto n_image = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); - n_image->m_field_name = field_name; - n_image->m_df_type = DF_Type::art_image; - n_image->m_rdf_type = RDF_Type::Struct; - n_image->m_node_type = NodeType::Compound; - n_image->m_address = base + offset; - n_image->m_defined_in = "df.art.xml"; - n_image->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_image); - - field_name = "races_filtered"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); - auto n_races_filtered = new NodeVector; - n_races_filtered->m_field_name = field_name; - n_races_filtered->m_df_type = DF_Type::int32_t; - n_races_filtered->m_rdf_type = RDF_Type::Vector; - n_races_filtered->m_node_type = NodeType::Vector; - n_races_filtered->m_addornements = "v"; - n_races_filtered->m_address = base + offset; - n_races_filtered->m_parent = p_node_parent; - n_races_filtered->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_races_filtered); - - field_name = "castes_filtered"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); - auto n_castes_filtered = new NodeVector; - n_castes_filtered->m_field_name = field_name; - n_castes_filtered->m_df_type = DF_Type::int32_t; - n_castes_filtered->m_rdf_type = RDF_Type::Vector; - n_castes_filtered->m_node_type = NodeType::Vector; - n_castes_filtered->m_addornements = "v"; - n_castes_filtered->m_address = base + offset; - n_castes_filtered->m_parent = p_node_parent; - n_castes_filtered->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_castes_filtered); - - field_name = "histfigs_filtered2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); - auto n_histfigs_filtered2 = new NodeVector; - n_histfigs_filtered2->m_field_name = field_name; - n_histfigs_filtered2->m_df_type = DF_Type::historical_figure; - n_histfigs_filtered2->m_rdf_type = RDF_Type::Vector; - n_histfigs_filtered2->m_node_type = NodeType::Vector; - n_histfigs_filtered2->m_defined_in = "df.history.xml"; - n_histfigs_filtered2->m_addornements = "v*"; - n_histfigs_filtered2->m_address = base + offset; - n_histfigs_filtered2->m_parent = p_node_parent; - n_histfigs_filtered2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_histfigs_filtered2); - - field_name = "plants_filtered"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); - auto n_plants_filtered = new NodeVector; - n_plants_filtered->m_field_name = field_name; - n_plants_filtered->m_df_type = DF_Type::int32_t; - n_plants_filtered->m_rdf_type = RDF_Type::Vector; - n_plants_filtered->m_node_type = NodeType::Vector; - n_plants_filtered->m_addornements = "v"; - n_plants_filtered->m_address = base + offset; - n_plants_filtered->m_parent = p_node_parent; - n_plants_filtered->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_plants_filtered); - - field_name = "trees_filtered"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); - auto n_trees_filtered = new NodeVector; - n_trees_filtered->m_field_name = field_name; - n_trees_filtered->m_df_type = DF_Type::int32_t; - n_trees_filtered->m_rdf_type = RDF_Type::Vector; - n_trees_filtered->m_node_type = NodeType::Vector; - n_trees_filtered->m_addornements = "v"; - n_trees_filtered->m_address = base + offset; - n_trees_filtered->m_parent = p_node_parent; - n_trees_filtered->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_trees_filtered); - - field_name = "shapes_filtered1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); - auto n_shapes_filtered1 = new NodeVector; - n_shapes_filtered1->m_field_name = field_name; - n_shapes_filtered1->m_df_type = DF_Type::int32_t; - n_shapes_filtered1->m_rdf_type = RDF_Type::Vector; - n_shapes_filtered1->m_node_type = NodeType::Vector; - n_shapes_filtered1->m_addornements = "v"; - n_shapes_filtered1->m_address = base + offset; - n_shapes_filtered1->m_parent = p_node_parent; - n_shapes_filtered1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_shapes_filtered1); - - field_name = "shapes_filtered2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); - auto n_shapes_filtered2 = new NodeVector; - n_shapes_filtered2->m_field_name = field_name; - n_shapes_filtered2->m_df_type = DF_Type::int32_t; - n_shapes_filtered2->m_rdf_type = RDF_Type::Vector; - n_shapes_filtered2->m_node_type = NodeType::Vector; - n_shapes_filtered2->m_addornements = "v"; - n_shapes_filtered2->m_address = base + offset; - n_shapes_filtered2->m_parent = p_node_parent; - n_shapes_filtered2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_shapes_filtered2); - - field_name = "item_types_filtered"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); - auto n_item_types_filtered = new NodeVector; - n_item_types_filtered->m_field_name = field_name; - n_item_types_filtered->m_df_type = DF_Type::item_type; - n_item_types_filtered->m_rdf_type = RDF_Type::Vector; - n_item_types_filtered->m_node_type = NodeType::Vector; - n_item_types_filtered->m_enum_base = DF_Type::int32_t; - n_item_types_filtered->m_defined_in = "df.item-raws.xml"; - n_item_types_filtered->m_addornements = "v"; - n_item_types_filtered->m_address = base + offset; - n_item_types_filtered->m_parent = p_node_parent; - n_item_types_filtered->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_item_types_filtered); - - field_name = "item_subtypes_filtered"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); - auto n_item_subtypes_filtered = new NodeVector; - n_item_subtypes_filtered->m_field_name = field_name; - n_item_subtypes_filtered->m_df_type = DF_Type::int32_t; - n_item_subtypes_filtered->m_rdf_type = RDF_Type::Vector; - n_item_subtypes_filtered->m_node_type = NodeType::Vector; - n_item_subtypes_filtered->m_addornements = "v"; - n_item_subtypes_filtered->m_address = base + offset; - n_item_subtypes_filtered->m_parent = p_node_parent; - n_item_subtypes_filtered->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_item_subtypes_filtered); - - field_name = "artifacts_filtered"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); - auto n_artifacts_filtered = new NodeVector; - n_artifacts_filtered->m_field_name = field_name; - n_artifacts_filtered->m_df_type = DF_Type::artifact_record; - n_artifacts_filtered->m_rdf_type = RDF_Type::Vector; - n_artifacts_filtered->m_node_type = NodeType::Vector; - n_artifacts_filtered->m_defined_in = "df.legends.xml"; - n_artifacts_filtered->m_addornements = "v*"; - n_artifacts_filtered->m_address = base + offset; - n_artifacts_filtered->m_parent = p_node_parent; - n_artifacts_filtered->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_artifacts_filtered); - - field_name = "relationships_filtered"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); - auto n_relationships_filtered = new NodeVector; - n_relationships_filtered->m_field_name = field_name; - n_relationships_filtered->m_df_type = DF_Type::art_image_property_verb; - n_relationships_filtered->m_rdf_type = RDF_Type::Vector; - n_relationships_filtered->m_node_type = NodeType::Vector; - n_relationships_filtered->m_enum_base = DF_Type::int32_t; - n_relationships_filtered->m_defined_in = "df.art.xml"; - n_relationships_filtered->m_addornements = "v"; - n_relationships_filtered->m_address = base + offset; - n_relationships_filtered->m_parent = p_node_parent; - n_relationships_filtered->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_relationships_filtered); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); - auto n_anon_1 = new NodePointer; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_anon_1->m_rdf_type = RDF_Type::Pointer; - n_anon_1->m_node_type = NodeType::Pointer; - n_anon_1->m_addornements = "*"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); - auto n_anon_3 = new NodePointer; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_anon_3->m_rdf_type = RDF_Type::Pointer; - n_anon_3->m_node_type = NodeType::Pointer; - n_anon_3->m_addornements = "*"; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "relationship_count"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); - auto n_relationship_count = new NodeSimple; - n_relationship_count->m_field_name = field_name; - n_relationship_count->m_df_type = DF_Type::int32_t; - n_relationship_count->m_rdf_type = RDF_Type::int32_t; - n_relationship_count->m_node_type = NodeType::Simple; - n_relationship_count->m_address = base + offset; - n_relationship_count->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_relationship_count); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); - auto n_anon_4 = new NodePointer; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_anon_4->m_rdf_type = RDF_Type::Pointer; - n_anon_4->m_node_type = NodeType::Pointer; - n_anon_4->m_addornements = "*"; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "relationship_targets"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); - auto n_relationship_targets = new NodeVector; - n_relationship_targets->m_field_name = field_name; - n_relationship_targets->m_df_type = DF_Type::int32_t; - n_relationship_targets->m_rdf_type = RDF_Type::Vector; - n_relationship_targets->m_node_type = NodeType::Vector; - n_relationship_targets->m_addornements = "v"; - n_relationship_targets->m_address = base + offset; - n_relationship_targets->m_parent = p_node_parent; - n_relationship_targets->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_relationship_targets); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int8_t; - n_anon_5->m_rdf_type = RDF_Type::int8_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); - auto n_anon_7 = new NodeSimple; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::int32_t; - n_anon_7->m_rdf_type = RDF_Type::int32_t; - n_anon_7->m_node_type = NodeType::Simple; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_7); - - field_name = "anon_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); - auto n_anon_8 = new NodeSimple; - n_anon_8->m_field_name = field_name; - n_anon_8->m_df_type = DF_Type::int32_t; - n_anon_8->m_rdf_type = RDF_Type::int32_t; - n_anon_8->m_node_type = NodeType::Simple; - n_anon_8->m_address = base + offset; - n_anon_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_8); - - field_name = "anon_9"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); - auto n_anon_9 = new NodeSimple; - n_anon_9->m_field_name = field_name; - n_anon_9->m_df_type = DF_Type::int16_t; - n_anon_9->m_rdf_type = RDF_Type::int16_t; - n_anon_9->m_node_type = NodeType::Simple; - n_anon_9->m_address = base + offset; - n_anon_9->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_9); - - field_name = "anon_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); - auto n_anon_10 = new NodeSimple; - n_anon_10->m_field_name = field_name; - n_anon_10->m_df_type = DF_Type::int8_t; - n_anon_10->m_rdf_type = RDF_Type::int8_t; - n_anon_10->m_node_type = NodeType::Simple; - n_anon_10->m_address = base + offset; - n_anon_10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_10); - - field_name = "anon_11"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); - auto n_anon_11 = new NodePointer; - n_anon_11->m_field_name = field_name; - n_anon_11->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_anon_11->m_rdf_type = RDF_Type::Pointer; - n_anon_11->m_node_type = NodeType::Pointer; - n_anon_11->m_addornements = "*"; - n_anon_11->m_address = base + offset; - n_anon_11->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_11); - - field_name = "warning_flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); - auto n_warning_flags = new NodeSimple; - n_warning_flags->m_field_name = field_name; - n_warning_flags->m_df_type = DF_Type::int32_t; - n_warning_flags->m_rdf_type = RDF_Type::int32_t; - n_warning_flags->m_node_type = NodeType::Simple; - n_warning_flags->m_address = base + offset; - n_warning_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_warning_flags); - - field_name = "deletable_elements"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); - auto n_deletable_elements = new NodeVector; - n_deletable_elements->m_field_name = field_name; - n_deletable_elements->m_df_type = DF_Type::Void; - n_deletable_elements->m_rdf_type = RDF_Type::Vector; - n_deletable_elements->m_node_type = NodeType::Vector; - n_deletable_elements->m_addornements = "v"; - n_deletable_elements->m_address = base + offset; - n_deletable_elements->m_parent = p_node_parent; - n_deletable_elements->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_deletable_elements); - - field_name = "anon_12"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); - auto n_anon_12 = new NodePointer; - n_anon_12->m_field_name = field_name; - n_anon_12->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_anon_12->m_rdf_type = RDF_Type::Pointer; - n_anon_12->m_node_type = NodeType::Pointer; - n_anon_12->m_addornements = "*"; - n_anon_12->m_address = base + offset; - n_anon_12->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_12); - - field_name = "anon_13"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); - auto n_anon_13 = new NodePointer; - n_anon_13->m_field_name = field_name; - n_anon_13->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_anon_13->m_rdf_type = RDF_Type::Pointer; - n_anon_13->m_node_type = NodeType::Pointer; - n_anon_13->m_addornements = "*"; - n_anon_13->m_address = base + offset; - n_anon_13->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_13); - - field_name = "order"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); - auto n_order = new NodePointer; - n_order->m_field_name = field_name; - n_order->m_df_type = get_real_subtype(base+offset, DF_Type::manager_order); - n_order->m_rdf_type = RDF_Type::Pointer; - n_order->m_node_type = NodeType::Pointer; - n_order->m_addornements = "*"; - n_order->m_address = base + offset; - n_order->m_parent = p_node_parent; - n_order->m_defined_in = "df.jobs.xml"; - n_order->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_order); - - field_name = "anon_14"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); - auto n_anon_14 = new NodeSimple; - n_anon_14->m_field_name = field_name; - n_anon_14->m_df_type = DF_Type::int32_t; - n_anon_14->m_rdf_type = RDF_Type::int32_t; - n_anon_14->m_node_type = NodeType::Simple; - n_anon_14->m_address = base + offset; - n_anon_14->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_14); - - field_name = "entity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); - auto n_entity = new NodePointer; - n_entity->m_field_name = field_name; - n_entity->m_df_type = get_real_subtype(base+offset, DF_Type::historical_entity); - n_entity->m_rdf_type = RDF_Type::Pointer; - n_entity->m_node_type = NodeType::Pointer; - n_entity->m_addornements = "*"; - n_entity->m_address = base + offset; - n_entity->m_parent = p_node_parent; - n_entity->m_defined_in = "df.entities.xml"; - n_entity->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_entity); - - field_name = "anon_15"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); - auto n_anon_15 = new NodePointer; - n_anon_15->m_field_name = field_name; - n_anon_15->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_anon_15->m_rdf_type = RDF_Type::Pointer; - n_anon_15->m_node_type = NodeType::Pointer; - n_anon_15->m_addornements = "*"; - n_anon_15->m_address = base + offset; - n_anon_15->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_15); - - field_name = "anon_16"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); - auto n_anon_16 = new NodePointer; - n_anon_16->m_field_name = field_name; - n_anon_16->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_anon_16->m_rdf_type = RDF_Type::Pointer; - n_anon_16->m_node_type = NodeType::Pointer; - n_anon_16->m_addornements = "*"; - n_anon_16->m_address = base + offset; - n_anon_16->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_16); - - field_name = "anon_17"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); - auto n_anon_17 = new NodePointer; - n_anon_17->m_field_name = field_name; - n_anon_17->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_anon_17->m_rdf_type = RDF_Type::Pointer; - n_anon_17->m_node_type = NodeType::Pointer; - n_anon_17->m_addornements = "*"; - n_anon_17->m_address = base + offset; - n_anon_17->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_17); - - field_name = "anon_18"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); - auto n_anon_18 = new NodePointer; - n_anon_18->m_field_name = field_name; - n_anon_18->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_anon_18->m_rdf_type = RDF_Type::Pointer; - n_anon_18->m_node_type = NodeType::Pointer; - n_anon_18->m_addornements = "*"; - n_anon_18->m_address = base + offset; - n_anon_18->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_18); - - field_name = "unk_50"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); - auto n_unk_50 = new NodeSimple; - n_unk_50->m_field_name = field_name; - n_unk_50->m_df_type = DF_Type::int32_t; - n_unk_50->m_rdf_type = RDF_Type::int32_t; - n_unk_50->m_node_type = NodeType::Simple; - n_unk_50->m_address = base + offset; - n_unk_50->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_50); - -} -void node_from_viewscreen_itemst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "item"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_itemst, field_name)); - auto n_item = new NodePointer; - n_item->m_field_name = field_name; - n_item->m_df_type = get_real_subtype(base+offset, DF_Type::item); - n_item->m_rdf_type = RDF_Type::Pointer; - n_item->m_node_type = NodeType::Pointer; - n_item->m_addornements = "*"; - n_item->m_address = base + offset; - n_item->m_parent = p_node_parent; - n_item->m_defined_in = "df.items.xml"; - n_item->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_item); - - field_name = "entry_ref"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_itemst, field_name)); - auto n_entry_ref = new NodeVector; - n_entry_ref->m_field_name = field_name; - n_entry_ref->m_df_type = DF_Type::general_ref; - n_entry_ref->m_rdf_type = RDF_Type::Vector; - n_entry_ref->m_node_type = NodeType::Vector; - n_entry_ref->m_defined_in = "df.refs.xml"; - n_entry_ref->m_addornements = "v*"; - n_entry_ref->m_address = base + offset; - n_entry_ref->m_parent = p_node_parent; - n_entry_ref->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_entry_ref); - - field_name = "entry_indent"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_itemst, field_name)); - auto n_entry_indent = new NodeVector; - n_entry_indent->m_field_name = field_name; - n_entry_indent->m_df_type = DF_Type::int16_t; - n_entry_indent->m_rdf_type = RDF_Type::Vector; - n_entry_indent->m_node_type = NodeType::Vector; - n_entry_indent->m_addornements = "v"; - n_entry_indent->m_address = base + offset; - n_entry_indent->m_parent = p_node_parent; - n_entry_indent->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_entry_indent); - - field_name = "entry_spatters"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_itemst, field_name)); - auto n_entry_spatters = new NodeVector; - n_entry_spatters->m_field_name = field_name; - n_entry_spatters->m_df_type = DF_Type::spatter; - n_entry_spatters->m_rdf_type = RDF_Type::Vector; - n_entry_spatters->m_node_type = NodeType::Vector; - n_entry_spatters->m_defined_in = "df.items.xml"; - n_entry_spatters->m_addornements = "v*"; - n_entry_spatters->m_address = base + offset; - n_entry_spatters->m_parent = p_node_parent; - n_entry_spatters->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_entry_spatters); - - field_name = "entry_string"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_itemst, field_name)); - auto n_entry_string = new NodeVector; - n_entry_string->m_field_name = field_name; - n_entry_string->m_df_type = DF_Type::Stl_string; - n_entry_string->m_rdf_type = RDF_Type::Vector; - n_entry_string->m_node_type = NodeType::Vector; - n_entry_string->m_addornements = "v*"; - n_entry_string->m_address = base + offset; - n_entry_string->m_parent = p_node_parent; - n_entry_string->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_entry_string); - - field_name = "entry_reaction"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_itemst, field_name)); - auto n_entry_reaction = new NodeVector; - n_entry_reaction->m_field_name = field_name; - n_entry_reaction->m_df_type = DF_Type::int32_t; - n_entry_reaction->m_rdf_type = RDF_Type::Vector; - n_entry_reaction->m_node_type = NodeType::Vector; - n_entry_reaction->m_addornements = "v"; - n_entry_reaction->m_address = base + offset; - n_entry_reaction->m_parent = p_node_parent; - n_entry_reaction->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_entry_reaction); - - field_name = "cursor_pos"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_itemst, field_name)); - auto n_cursor_pos = new NodeSimple; - n_cursor_pos->m_field_name = field_name; - n_cursor_pos->m_df_type = DF_Type::int32_t; - n_cursor_pos->m_rdf_type = RDF_Type::int32_t; - n_cursor_pos->m_node_type = NodeType::Simple; - n_cursor_pos->m_address = base + offset; - n_cursor_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cursor_pos); - - field_name = "caption_uses"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_itemst, field_name)); - auto n_caption_uses = new NodeSimple; - n_caption_uses->m_field_name = field_name; - n_caption_uses->m_df_type = DF_Type::Bool; - n_caption_uses->m_rdf_type = RDF_Type::Bool; - n_caption_uses->m_node_type = NodeType::Simple; - n_caption_uses->m_address = base + offset; - n_caption_uses->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_caption_uses); - - field_name = "caption_contents"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_itemst, field_name)); - auto n_caption_contents = new NodeSimple; - n_caption_contents->m_field_name = field_name; - n_caption_contents->m_df_type = DF_Type::Bool; - n_caption_contents->m_rdf_type = RDF_Type::Bool; - n_caption_contents->m_node_type = NodeType::Simple; - n_caption_contents->m_address = base + offset; - n_caption_contents->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_caption_contents); - -} -void node_from_viewscreen_jobst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "job"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_jobst, field_name)); - auto n_job = new NodePointer; - n_job->m_field_name = field_name; - n_job->m_df_type = get_real_subtype(base+offset, DF_Type::job); - n_job->m_rdf_type = RDF_Type::Pointer; - n_job->m_node_type = NodeType::Pointer; - n_job->m_addornements = "*"; - n_job->m_address = base + offset; - n_job->m_parent = p_node_parent; - n_job->m_defined_in = "df.jobs.xml"; - n_job->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_job); - -} -void node_from_viewscreen_joblistst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "allow_zoom"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_joblistst, field_name)); - auto n_allow_zoom = new NodeSimple; - n_allow_zoom->m_field_name = field_name; - n_allow_zoom->m_df_type = DF_Type::Bool; - n_allow_zoom->m_rdf_type = RDF_Type::Bool; - n_allow_zoom->m_node_type = NodeType::Simple; - n_allow_zoom->m_address = base + offset; - n_allow_zoom->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_allow_zoom); - - field_name = "cursor_pos"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_joblistst, field_name)); - auto n_cursor_pos = new NodeSimple; - n_cursor_pos->m_field_name = field_name; - n_cursor_pos->m_df_type = DF_Type::int32_t; - n_cursor_pos->m_rdf_type = RDF_Type::int32_t; - n_cursor_pos->m_node_type = NodeType::Simple; - n_cursor_pos->m_address = base + offset; - n_cursor_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cursor_pos); - - field_name = "jobs"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_joblistst, field_name)); - auto n_jobs = new NodeVector; - n_jobs->m_field_name = field_name; - n_jobs->m_df_type = DF_Type::job; - n_jobs->m_rdf_type = RDF_Type::Vector; - n_jobs->m_node_type = NodeType::Vector; - n_jobs->m_defined_in = "df.jobs.xml"; - n_jobs->m_addornements = "v*"; - n_jobs->m_address = base + offset; - n_jobs->m_parent = p_node_parent; - n_jobs->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_jobs); - - field_name = "units"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_joblistst, field_name)); - auto n_units = new NodeVector; - n_units->m_field_name = field_name; - n_units->m_df_type = DF_Type::unit; - n_units->m_rdf_type = RDF_Type::Vector; - n_units->m_node_type = NodeType::Vector; - n_units->m_defined_in = "df.units.xml"; - n_units->m_addornements = "v*"; - n_units->m_address = base + offset; - n_units->m_parent = p_node_parent; - n_units->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_units); - -} -void node_from_viewscreen_jobmanagementst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "sel_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_jobmanagementst, field_name)); - auto n_sel_idx = new NodeSimple; - n_sel_idx->m_field_name = field_name; - n_sel_idx->m_df_type = DF_Type::int32_t; - n_sel_idx->m_rdf_type = RDF_Type::int32_t; - n_sel_idx->m_node_type = NodeType::Simple; - n_sel_idx->m_address = base + offset; - n_sel_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sel_idx); - - field_name = "in_max_workshops"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_jobmanagementst, field_name)); - auto n_in_max_workshops = new NodeSimple; - n_in_max_workshops->m_field_name = field_name; - n_in_max_workshops->m_df_type = DF_Type::Bool; - n_in_max_workshops->m_rdf_type = RDF_Type::Bool; - n_in_max_workshops->m_node_type = NodeType::Simple; - n_in_max_workshops->m_address = base + offset; - n_in_max_workshops->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_in_max_workshops); - - field_name = "max_workshops"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_jobmanagementst, field_name)); - auto n_max_workshops = new NodeSimple; - n_max_workshops->m_field_name = field_name; - n_max_workshops->m_df_type = DF_Type::Stl_string; - n_max_workshops->m_rdf_type = RDF_Type::Stl_string; - n_max_workshops->m_node_type = NodeType::Simple; - n_max_workshops->m_address = base + offset; - n_max_workshops->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_max_workshops); - -} -void node_from_viewscreen_justicest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "jails_needed"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_justicest, field_name)); - auto n_jails_needed = new NodeSimple; - n_jails_needed->m_field_name = field_name; - n_jails_needed->m_df_type = DF_Type::int16_t; - n_jails_needed->m_rdf_type = RDF_Type::int16_t; - n_jails_needed->m_node_type = NodeType::Simple; - n_jails_needed->m_address = base + offset; - n_jails_needed->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_jails_needed); - - field_name = "jails_present"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_justicest, field_name)); - auto n_jails_present = new NodeSimple; - n_jails_present->m_field_name = field_name; - n_jails_present->m_df_type = DF_Type::int16_t; - n_jails_present->m_rdf_type = RDF_Type::int16_t; - n_jails_present->m_node_type = NodeType::Simple; - n_jails_present->m_address = base + offset; - n_jails_present->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_jails_present); - - field_name = "cur_column"; - auto n_cur_column = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_justicest, field_name)); - n_cur_column->m_field_name = field_name; - n_cur_column->m_df_type = DF_Type::viewscreen_justicest__T_cur_column; - n_cur_column->m_rdf_type = RDF_Type::Enum; - n_cur_column->m_node_type = NodeType::Enum; - n_cur_column->m_base_type = DF_Type::int32_t; - n_cur_column->m_enum_type = "viewscreen_justicest::T_cur_column"; - n_cur_column->m_address = base + offset; - n_cur_column->m_first_value = 0; - n_cur_column->m_last_value = 2; - n_cur_column->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cur_column); - - field_name = "convicts"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_justicest, field_name)); - auto n_convicts = new NodeVector; - n_convicts->m_field_name = field_name; - n_convicts->m_df_type = DF_Type::unit; - n_convicts->m_rdf_type = RDF_Type::Vector; - n_convicts->m_node_type = NodeType::Vector; - n_convicts->m_defined_in = "df.units.xml"; - n_convicts->m_addornements = "v*"; - n_convicts->m_address = base + offset; - n_convicts->m_parent = p_node_parent; - n_convicts->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_convicts); - - field_name = "cases"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_justicest, field_name)); - auto n_cases = new NodeVector; - n_cases->m_field_name = field_name; - n_cases->m_df_type = DF_Type::crime; - n_cases->m_rdf_type = RDF_Type::Vector; - n_cases->m_node_type = NodeType::Vector; - n_cases->m_defined_in = "df.world.xml"; - n_cases->m_addornements = "v*"; - n_cases->m_address = base + offset; - n_cases->m_comment = "contains recent or cold cases depending on the cold_cases field"; - n_cases->m_parent = p_node_parent; - n_cases->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_cases); - - field_name = "sel_idx_current"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_justicest, field_name)); - auto n_sel_idx_current = new NodeSimple; - n_sel_idx_current->m_field_name = field_name; - n_sel_idx_current->m_df_type = DF_Type::int32_t; - n_sel_idx_current->m_rdf_type = RDF_Type::int32_t; - n_sel_idx_current->m_node_type = NodeType::Simple; - n_sel_idx_current->m_address = base + offset; - n_sel_idx_current->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sel_idx_current); - - field_name = "sel_idx_cold"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_justicest, field_name)); - auto n_sel_idx_cold = new NodeSimple; - n_sel_idx_cold->m_field_name = field_name; - n_sel_idx_cold->m_df_type = DF_Type::int32_t; - n_sel_idx_cold->m_rdf_type = RDF_Type::int32_t; - n_sel_idx_cold->m_node_type = NodeType::Simple; - n_sel_idx_cold->m_address = base + offset; - n_sel_idx_cold->m_comment = "used to save/restore current selection when switching between recent/cold"; - n_sel_idx_cold->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sel_idx_cold); - - field_name = "sel_idx_recent"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_justicest, field_name)); - auto n_sel_idx_recent = new NodeSimple; - n_sel_idx_recent->m_field_name = field_name; - n_sel_idx_recent->m_df_type = DF_Type::int32_t; - n_sel_idx_recent->m_rdf_type = RDF_Type::int32_t; - n_sel_idx_recent->m_node_type = NodeType::Simple; - n_sel_idx_recent->m_address = base + offset; - n_sel_idx_recent->m_comment = "used to save/restore current selection when switching between recent/cold"; - n_sel_idx_recent->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sel_idx_recent); - - field_name = "cold_cases"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_justicest, field_name)); - auto n_cold_cases = new NodeSimple; - n_cold_cases->m_field_name = field_name; - n_cold_cases->m_df_type = DF_Type::Bool; - n_cold_cases->m_rdf_type = RDF_Type::Bool; - n_cold_cases->m_node_type = NodeType::Simple; - n_cold_cases->m_address = base + offset; - n_cold_cases->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cold_cases); - - field_name = "count_cold"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_justicest, field_name)); - auto n_count_cold = new NodeSimple; - n_count_cold->m_field_name = field_name; - n_count_cold->m_df_type = DF_Type::int32_t; - n_count_cold->m_rdf_type = RDF_Type::int32_t; - n_count_cold->m_node_type = NodeType::Simple; - n_count_cold->m_address = base + offset; - n_count_cold->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_count_cold); - - field_name = "count_recent"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_justicest, field_name)); - auto n_count_recent = new NodeSimple; - n_count_recent->m_field_name = field_name; - n_count_recent->m_df_type = DF_Type::int32_t; - n_count_recent->m_rdf_type = RDF_Type::int32_t; - n_count_recent->m_node_type = NodeType::Simple; - n_count_recent->m_address = base + offset; - n_count_recent->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_count_recent); - - field_name = "cursor_right"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_justicest, field_name)); - auto n_cursor_right = new NodeSimple; - n_cursor_right->m_field_name = field_name; - n_cursor_right->m_df_type = DF_Type::int32_t; - n_cursor_right->m_rdf_type = RDF_Type::int32_t; - n_cursor_right->m_node_type = NodeType::Simple; - n_cursor_right->m_address = base + offset; - n_cursor_right->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cursor_right); - - field_name = "convictions"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_justicest, field_name)); - auto n_convictions = new NodeVector; - n_convictions->m_field_name = field_name; - n_convictions->m_df_type = DF_Type::crime; - n_convictions->m_rdf_type = RDF_Type::Vector; - n_convictions->m_node_type = NodeType::Vector; - n_convictions->m_defined_in = "df.world.xml"; - n_convictions->m_addornements = "v*"; - n_convictions->m_address = base + offset; - n_convictions->m_parent = p_node_parent; - n_convictions->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_convictions); - - field_name = "punishment"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_justicest, field_name)); - auto n_punishment = new NodePointer; - n_punishment->m_field_name = field_name; - n_punishment->m_df_type = get_real_subtype(base+offset, DF_Type::punishment); - n_punishment->m_rdf_type = RDF_Type::Pointer; - n_punishment->m_node_type = NodeType::Pointer; - n_punishment->m_addornements = "*"; - n_punishment->m_address = base + offset; - n_punishment->m_parent = p_node_parent; - n_punishment->m_defined_in = "df.ui.xml"; - n_punishment->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_punishment); - - field_name = "convict_choices"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_justicest, field_name)); - auto n_convict_choices = new NodeVector; - n_convict_choices->m_field_name = field_name; - n_convict_choices->m_df_type = DF_Type::unit; - n_convict_choices->m_rdf_type = RDF_Type::Vector; - n_convict_choices->m_node_type = NodeType::Vector; - n_convict_choices->m_defined_in = "df.units.xml"; - n_convict_choices->m_addornements = "v*"; - n_convict_choices->m_address = base + offset; - n_convict_choices->m_parent = p_node_parent; - n_convict_choices->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_convict_choices); - -} -void node_from_viewscreen_kitchenprefst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "cursor"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_kitchenprefst, field_name)); - auto n_cursor = new NodeSimple; - n_cursor->m_field_name = field_name; - n_cursor->m_df_type = DF_Type::int32_t; - n_cursor->m_rdf_type = RDF_Type::int32_t; - n_cursor->m_node_type = NodeType::Simple; - n_cursor->m_address = base + offset; - n_cursor->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cursor); - - field_name = "page"; - auto n_page = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_kitchenprefst, field_name)); - n_page->m_field_name = field_name; - n_page->m_df_type = DF_Type::viewscreen_kitchenpref_page; - n_page->m_rdf_type = RDF_Type::Enum; - n_page->m_node_type = NodeType::Enum; - n_page->m_base_type = DF_Type::int32_t; - n_page->m_enum_type = "viewscreen_kitchenpref_page"; - n_page->m_address = base + offset; - n_page->m_defined_in = "df.viewscreen.xml"; - n_page->m_first_value = 0; - n_page->m_last_value = 3; - n_page->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_page); - - field_name = "item_type"; - auto n_item_type = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_kitchenprefst, field_name)); - n_item_type->m_field_name = field_name; - n_item_type->m_df_type = DF_Type::item_type; - n_item_type->m_rdf_type = RDF_Type::Array; - n_item_type->m_node_type = NodeType::Array; - n_item_type->m_index_enum = DF_Type::viewscreen_kitchenpref_page; - n_item_type->m_enum_base = DF_Type::int16_t; - n_item_type->m_defined_in = "df.item-raws.xml"; - n_item_type->m_addornements = "[4v"; - n_item_type->m_array_size = 4; - n_item_type->m_address = base + offset; - n_item_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_type); - - field_name = "item_subtype"; - auto n_item_subtype = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_kitchenprefst, field_name)); - n_item_subtype->m_field_name = field_name; - n_item_subtype->m_df_type = DF_Type::int16_t; - n_item_subtype->m_rdf_type = RDF_Type::Array; - n_item_subtype->m_node_type = NodeType::Array; - n_item_subtype->m_index_enum = DF_Type::viewscreen_kitchenpref_page; - n_item_subtype->m_addornements = "[4v"; - n_item_subtype->m_array_size = 4; - n_item_subtype->m_address = base + offset; - n_item_subtype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_subtype); - - field_name = "mat_type"; - auto n_mat_type = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_kitchenprefst, field_name)); - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::Array; - n_mat_type->m_node_type = NodeType::Array; - n_mat_type->m_index_enum = DF_Type::viewscreen_kitchenpref_page; - n_mat_type->m_addornements = "[4v"; - n_mat_type->m_array_size = 4; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - auto n_mat_index = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_kitchenprefst, field_name)); - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::Array; - n_mat_index->m_node_type = NodeType::Array; - n_mat_index->m_index_enum = DF_Type::viewscreen_kitchenpref_page; - n_mat_index->m_addornements = "[4v"; - n_mat_index->m_array_size = 4; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "count"; - auto n_count = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_kitchenprefst, field_name)); - n_count->m_field_name = field_name; - n_count->m_df_type = DF_Type::int32_t; - n_count->m_rdf_type = RDF_Type::Array; - n_count->m_node_type = NodeType::Array; - n_count->m_index_enum = DF_Type::viewscreen_kitchenpref_page; - n_count->m_addornements = "[4v"; - n_count->m_array_size = 4; - n_count->m_address = base + offset; - n_count->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_count); - - field_name = "forbidden"; - auto n_forbidden = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_kitchenprefst, field_name)); - n_forbidden->m_field_name = field_name; - n_forbidden->m_df_type = DF_Type::kitchen_pref_flag; - n_forbidden->m_rdf_type = RDF_Type::Array; - n_forbidden->m_node_type = NodeType::Array; - n_forbidden->m_index_enum = DF_Type::viewscreen_kitchenpref_page; - n_forbidden->m_defined_in = "df.viewscreen.xml"; - n_forbidden->m_addornements = "[4v"; - n_forbidden->m_array_size = 4; - n_forbidden->m_address = base + offset; - n_forbidden->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_forbidden); - - field_name = "possible"; - auto n_possible = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_kitchenprefst, field_name)); - n_possible->m_field_name = field_name; - n_possible->m_df_type = DF_Type::kitchen_pref_flag; - n_possible->m_rdf_type = RDF_Type::Array; - n_possible->m_node_type = NodeType::Array; - n_possible->m_index_enum = DF_Type::viewscreen_kitchenpref_page; - n_possible->m_defined_in = "df.viewscreen.xml"; - n_possible->m_addornements = "[4v"; - n_possible->m_array_size = 4; - n_possible->m_address = base + offset; - n_possible->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_possible); - - field_name = "item_str"; - auto n_item_str = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_kitchenprefst, field_name)); - n_item_str->m_field_name = field_name; - n_item_str->m_df_type = DF_Type::Stl_string; - n_item_str->m_rdf_type = RDF_Type::Array; - n_item_str->m_node_type = NodeType::Array; - n_item_str->m_index_enum = DF_Type::viewscreen_kitchenpref_page; - n_item_str->m_addornements = "[4v*"; - n_item_str->m_array_size = 4; - n_item_str->m_address = base + offset; - n_item_str->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_str); - -} -void node_from_viewscreen_layer_arena_creaturest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen_layer; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen_layer(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "in_adding_item"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_arena_creaturest, field_name)); - auto n_in_adding_item = new NodeSimple; - n_in_adding_item->m_field_name = field_name; - n_in_adding_item->m_df_type = DF_Type::Bool; - n_in_adding_item->m_rdf_type = RDF_Type::Bool; - n_in_adding_item->m_node_type = NodeType::Simple; - n_in_adding_item->m_address = base + offset; - n_in_adding_item->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_in_adding_item); - - field_name = "item_type"; - auto n_item_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_arena_creaturest, field_name)); - n_item_type->m_field_name = field_name; - n_item_type->m_df_type = DF_Type::item_type; - n_item_type->m_rdf_type = RDF_Type::Enum; - n_item_type->m_node_type = NodeType::Enum; - n_item_type->m_base_type = DF_Type::int16_t; - n_item_type->m_enum_type = "item_type"; - n_item_type->m_address = base + offset; - n_item_type->m_defined_in = "df.item-raws.xml"; - n_item_type->m_first_value = -1; - n_item_type->m_last_value = 90; - n_item_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_type); - - field_name = "item_subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_arena_creaturest, field_name)); - auto n_item_subtype = new NodeSimple; - n_item_subtype->m_field_name = field_name; - n_item_subtype->m_df_type = DF_Type::int16_t; - n_item_subtype->m_rdf_type = RDF_Type::int16_t; - n_item_subtype->m_node_type = NodeType::Simple; - n_item_subtype->m_address = base + offset; - n_item_subtype->m_refers_to = "(item-subtype-target $$._parent.item_type $)"; - n_item_subtype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_subtype); - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_arena_creaturest, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_arena_creaturest, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "cur_side"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_arena_creaturest, field_name)); - auto n_cur_side = new NodeSimple; - n_cur_side->m_field_name = field_name; - n_cur_side->m_df_type = DF_Type::int32_t; - n_cur_side->m_rdf_type = RDF_Type::int32_t; - n_cur_side->m_node_type = NodeType::Simple; - n_cur_side->m_address = base + offset; - n_cur_side->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cur_side); - - field_name = "cur_interaction"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_arena_creaturest, field_name)); - auto n_cur_interaction = new NodeSimple; - n_cur_interaction->m_field_name = field_name; - n_cur_interaction->m_df_type = DF_Type::int32_t; - n_cur_interaction->m_rdf_type = RDF_Type::int32_t; - n_cur_interaction->m_node_type = NodeType::Simple; - n_cur_interaction->m_address = base + offset; - n_cur_interaction->m_refers_to = "$global.world.arena_spawn.interactions[$]"; - n_cur_interaction->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cur_interaction); - - field_name = "filter"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_arena_creaturest, field_name)); - auto n_filter = new NodeSimple; - n_filter->m_field_name = field_name; - n_filter->m_df_type = DF_Type::Stl_string; - n_filter->m_rdf_type = RDF_Type::Stl_string; - n_filter->m_node_type = NodeType::Simple; - n_filter->m_address = base + offset; - n_filter->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_filter); - - field_name = "race"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_arena_creaturest, field_name)); - auto n_race = new NodeVector; - n_race->m_field_name = field_name; - n_race->m_df_type = DF_Type::int16_t; - n_race->m_rdf_type = RDF_Type::Vector; - n_race->m_node_type = NodeType::Vector; - n_race->m_addornements = "v"; - n_race->m_address = base + offset; - n_race->m_parent = p_node_parent; - n_race->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_race); - - field_name = "caste"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_arena_creaturest, field_name)); - auto n_caste = new NodeVector; - n_caste->m_field_name = field_name; - n_caste->m_df_type = DF_Type::int16_t; - n_caste->m_rdf_type = RDF_Type::Vector; - n_caste->m_node_type = NodeType::Vector; - n_caste->m_addornements = "v"; - n_caste->m_address = base + offset; - n_caste->m_parent = p_node_parent; - n_caste->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_caste); - -} -void node_from_assign_trade_status(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "item"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::assign_trade_status, field_name)); - auto n_item = new NodePointer; - n_item->m_field_name = field_name; - n_item->m_df_type = get_real_subtype(base+offset, DF_Type::item); - n_item->m_rdf_type = RDF_Type::Pointer; - n_item->m_node_type = NodeType::Pointer; - n_item->m_addornements = "*"; - n_item->m_address = base + offset; - n_item->m_parent = p_node_parent; - n_item->m_defined_in = "df.items.xml"; - n_item->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_item); - - field_name = "distance"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::assign_trade_status, field_name)); - auto n_distance = new NodeSimple; - n_distance->m_field_name = field_name; - n_distance->m_df_type = DF_Type::int32_t; - n_distance->m_rdf_type = RDF_Type::int32_t; - n_distance->m_node_type = NodeType::Simple; - n_distance->m_address = base + offset; - n_distance->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_distance); - - field_name = "status"; - auto n_status = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::assign_trade_status, field_name)); - n_status->m_field_name = field_name; - n_status->m_df_type = DF_Type::assign_trade_status__T_status; - n_status->m_rdf_type = RDF_Type::Enum; - n_status->m_node_type = NodeType::Enum; - n_status->m_base_type = DF_Type::int8_t; - n_status->m_enum_type = "assign_trade_status::T_status"; - n_status->m_address = base + offset; - n_status->m_first_value = -2; - n_status->m_last_value = 3; - n_status->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_status); - - field_name = "unk"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::assign_trade_status, field_name)); - auto n_unk = new NodeSimple; - n_unk->m_field_name = field_name; - n_unk->m_df_type = DF_Type::Bool; - n_unk->m_rdf_type = RDF_Type::Bool; - n_unk->m_node_type = NodeType::Simple; - n_unk->m_address = base + offset; - n_unk->m_comment = "mandate?"; - n_unk->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk); - - field_name = "value"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::assign_trade_status, field_name)); - auto n_value = new NodeSimple; - n_value->m_field_name = field_name; - n_value->m_df_type = DF_Type::int32_t; - n_value->m_rdf_type = RDF_Type::int32_t; - n_value->m_node_type = NodeType::Simple; - n_value->m_address = base + offset; - n_value->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_value); - - field_name = "weight"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::assign_trade_status, field_name)); - auto n_weight = new NodeSimple; - n_weight->m_field_name = field_name; - n_weight->m_df_type = DF_Type::int32_t; - n_weight->m_rdf_type = RDF_Type::int32_t; - n_weight->m_node_type = NodeType::Simple; - n_weight->m_address = base + offset; - n_weight->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_weight); - -} -void node_from_viewscreen_layer_assigntradest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen_layer; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen_layer(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "info"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_assigntradest, field_name)); - auto n_info = new NodeVector; - n_info->m_field_name = field_name; - n_info->m_df_type = DF_Type::assign_trade_status; - n_info->m_rdf_type = RDF_Type::Vector; - n_info->m_node_type = NodeType::Vector; - n_info->m_defined_in = "df.viewscreen.xml"; - n_info->m_addornements = "v*"; - n_info->m_address = base + offset; - n_info->m_parent = p_node_parent; - n_info->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_info); - - field_name = "depot"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_assigntradest, field_name)); - auto n_depot = new NodePointer; - n_depot->m_field_name = field_name; - n_depot->m_df_type = get_real_subtype(base+offset, DF_Type::building_tradedepotst); - n_depot->m_rdf_type = RDF_Type::Pointer; - n_depot->m_node_type = NodeType::Pointer; - n_depot->m_addornements = "*"; - n_depot->m_address = base + offset; - n_depot->m_parent = p_node_parent; - n_depot->m_defined_in = "df.buildings.xml"; - n_depot->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_depot); - - field_name = "lists"; - auto n_lists = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_assigntradest, field_name)); - n_lists->m_field_name = field_name; - n_lists->m_df_type = DF_Type::int32_t; - n_lists->m_rdf_type = RDF_Type::Array; - n_lists->m_node_type = NodeType::Array; - n_lists->m_addornements = "[65v"; - n_lists->m_array_size = 65; - n_lists->m_address = base + offset; - n_lists->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_lists); - - field_name = "visible_lists"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_assigntradest, field_name)); - auto n_visible_lists = new NodeVector; - n_visible_lists->m_field_name = field_name; - n_visible_lists->m_df_type = DF_Type::int16_t; - n_visible_lists->m_rdf_type = RDF_Type::Vector; - n_visible_lists->m_node_type = NodeType::Vector; - n_visible_lists->m_addornements = "v"; - n_visible_lists->m_address = base + offset; - n_visible_lists->m_parent = p_node_parent; - n_visible_lists->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_visible_lists); - - field_name = "sort_distance"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_assigntradest, field_name)); - auto n_sort_distance = new NodeSimple; - n_sort_distance->m_field_name = field_name; - n_sort_distance->m_df_type = DF_Type::Bool; - n_sort_distance->m_rdf_type = RDF_Type::Bool; - n_sort_distance->m_node_type = NodeType::Simple; - n_sort_distance->m_address = base + offset; - n_sort_distance->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sort_distance); - - field_name = "pending_on_top"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_assigntradest, field_name)); - auto n_pending_on_top = new NodeSimple; - n_pending_on_top->m_field_name = field_name; - n_pending_on_top->m_df_type = DF_Type::Bool; - n_pending_on_top->m_rdf_type = RDF_Type::Bool; - n_pending_on_top->m_node_type = NodeType::Simple; - n_pending_on_top->m_address = base + offset; - n_pending_on_top->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pending_on_top); - - field_name = "filter_mandates"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_assigntradest, field_name)); - auto n_filter_mandates = new NodeSimple; - n_filter_mandates->m_field_name = field_name; - n_filter_mandates->m_df_type = DF_Type::Bool; - n_filter_mandates->m_rdf_type = RDF_Type::Bool; - n_filter_mandates->m_node_type = NodeType::Simple; - n_filter_mandates->m_address = base + offset; - n_filter_mandates->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_filter_mandates); - - field_name = "filter"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_assigntradest, field_name)); - auto n_filter = new NodeSimple; - n_filter->m_field_name = field_name; - n_filter->m_df_type = DF_Type::Stl_string; - n_filter->m_rdf_type = RDF_Type::Stl_string; - n_filter->m_node_type = NodeType::Simple; - n_filter->m_address = base + offset; - n_filter->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_filter); - -} -void node_from_viewscreen_layer_choose_language_namest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen_layer; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen_layer(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "entity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_choose_language_namest, field_name)); - auto n_entity = new NodePointer; - n_entity->m_field_name = field_name; - n_entity->m_df_type = get_real_subtype(base+offset, DF_Type::historical_entity); - n_entity->m_rdf_type = RDF_Type::Pointer; - n_entity->m_node_type = NodeType::Pointer; - n_entity->m_addornements = "*"; - n_entity->m_address = base + offset; - n_entity->m_parent = p_node_parent; - n_entity->m_defined_in = "df.entities.xml"; - n_entity->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_entity); - - field_name = "name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_choose_language_namest, field_name)); - auto n_name = new NodePointer; - n_name->m_field_name = field_name; - n_name->m_df_type = get_real_subtype(base+offset, DF_Type::language_name); - n_name->m_rdf_type = RDF_Type::Pointer; - n_name->m_node_type = NodeType::Pointer; - n_name->m_addornements = "*"; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - n_name->m_defined_in = "df.language.xml"; - n_name->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_name); - - field_name = "unk1a"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_choose_language_namest, field_name)); - auto n_unk1a = new NodeSimple; - n_unk1a->m_field_name = field_name; - n_unk1a->m_df_type = DF_Type::int32_t; - n_unk1a->m_rdf_type = RDF_Type::int32_t; - n_unk1a->m_node_type = NodeType::Simple; - n_unk1a->m_address = base + offset; - n_unk1a->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk1a); - - field_name = "current_component"; - auto n_current_component = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_choose_language_namest, field_name)); - n_current_component->m_field_name = field_name; - n_current_component->m_df_type = DF_Type::viewscreen_layer_choose_language_namest__T_current_component; - n_current_component->m_rdf_type = RDF_Type::Enum; - n_current_component->m_node_type = NodeType::Enum; - n_current_component->m_base_type = DF_Type::int32_t; - n_current_component->m_enum_type = "viewscreen_layer_choose_language_namest::T_current_component"; - n_current_component->m_address = base + offset; - n_current_component->m_first_value = 0; - n_current_component->m_last_value = 6; - n_current_component->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_current_component); - - field_name = "unk1c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_choose_language_namest, field_name)); - auto n_unk1c = new NodeSimple; - n_unk1c->m_field_name = field_name; - n_unk1c->m_df_type = DF_Type::int32_t; - n_unk1c->m_rdf_type = RDF_Type::int32_t; - n_unk1c->m_node_type = NodeType::Simple; - n_unk1c->m_address = base + offset; - n_unk1c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk1c); - - field_name = "dictionary"; - auto n_dictionary = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_choose_language_namest, field_name)); - n_dictionary->m_field_name = field_name; - n_dictionary->m_df_type = DF_Type::language_word_table; - n_dictionary->m_rdf_type = RDF_Type::Struct; - n_dictionary->m_node_type = NodeType::Compound; - n_dictionary->m_address = base + offset; - n_dictionary->m_defined_in = "df.language.xml"; - n_dictionary->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dictionary); - - field_name = "list_word"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_choose_language_namest, field_name)); - auto n_list_word = new NodeVector; - n_list_word->m_field_name = field_name; - n_list_word->m_df_type = DF_Type::int32_t; - n_list_word->m_rdf_type = RDF_Type::Vector; - n_list_word->m_node_type = NodeType::Vector; - n_list_word->m_addornements = "v"; - n_list_word->m_address = base + offset; - n_list_word->m_parent = p_node_parent; - n_list_word->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_list_word); - - field_name = "list_part"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_choose_language_namest, field_name)); - auto n_list_part = new NodeVector; - n_list_part->m_field_name = field_name; - n_list_part->m_df_type = DF_Type::part_of_speech; - n_list_part->m_rdf_type = RDF_Type::Vector; - n_list_part->m_node_type = NodeType::Vector; - n_list_part->m_enum_base = DF_Type::int32_t; - n_list_part->m_defined_in = "df.language.xml"; - n_list_part->m_addornements = "v"; - n_list_part->m_address = base + offset; - n_list_part->m_refers_to = "$$._parent.list_word[$].ref-target"; - n_list_part->m_parent = p_node_parent; - n_list_part->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_list_part); - - field_name = "selector"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_choose_language_namest, field_name)); - auto n_selector = new NodeSimple; - n_selector->m_field_name = field_name; - n_selector->m_df_type = DF_Type::Stl_string; - n_selector->m_rdf_type = RDF_Type::Stl_string; - n_selector->m_node_type = NodeType::Simple; - n_selector->m_address = base + offset; - n_selector->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_selector); - -} -void node_from_viewscreen_layer_currencyst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen_layer; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen_layer(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_currencyst, field_name)); - auto n_anon_1 = new NodeVector; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::Void; - n_anon_1->m_rdf_type = RDF_Type::Vector; - n_anon_1->m_node_type = NodeType::Vector; - n_anon_1->m_addornements = "v"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_currencyst, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_currencyst, field_name)); - auto n_anon_3 = new NodeVector; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::Void; - n_anon_3->m_rdf_type = RDF_Type::Vector; - n_anon_3->m_node_type = NodeType::Vector; - n_anon_3->m_addornements = "v"; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - n_anon_3->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_3); - -} -void node_from_viewscreen_layer_export_play_mapst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen_layer; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen_layer(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_export_play_mapst, field_name)); - auto n_anon_1 = new NodeVector; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int8_t; - n_anon_1->m_rdf_type = RDF_Type::Vector; - n_anon_1->m_node_type = NodeType::Vector; - n_anon_1->m_addornements = "v"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_export_play_mapst, field_name)); - auto n_anon_2 = new NodeVector; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int16_t; - n_anon_2->m_rdf_type = RDF_Type::Vector; - n_anon_2->m_node_type = NodeType::Vector; - n_anon_2->m_addornements = "v"; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - n_anon_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_export_play_mapst, field_name)); - auto n_anon_3 = new NodeVector; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int16_t; - n_anon_3->m_rdf_type = RDF_Type::Vector; - n_anon_3->m_node_type = NodeType::Vector; - n_anon_3->m_addornements = "v"; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - n_anon_3->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_export_play_mapst, field_name)); - auto n_anon_4 = new NodeVector; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int16_t; - n_anon_4->m_rdf_type = RDF_Type::Vector; - n_anon_4->m_node_type = NodeType::Vector; - n_anon_4->m_addornements = "v"; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - n_anon_4->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_4); - -} -void node_from_viewscreen_layer_militaryst__T_squads(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "list"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_squads, field_name)); - auto n_list = new NodeVector; - n_list->m_field_name = field_name; - n_list->m_df_type = DF_Type::squad; - n_list->m_rdf_type = RDF_Type::Vector; - n_list->m_node_type = NodeType::Vector; - n_list->m_defined_in = "df.military.xml"; - n_list->m_addornements = "v*"; - n_list->m_address = base + offset; - n_list->m_parent = p_node_parent; - n_list->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_list); - - field_name = "leader_positions"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_squads, field_name)); - auto n_leader_positions = new NodeVector; - n_leader_positions->m_field_name = field_name; - n_leader_positions->m_df_type = DF_Type::entity_position; - n_leader_positions->m_rdf_type = RDF_Type::Vector; - n_leader_positions->m_node_type = NodeType::Vector; - n_leader_positions->m_defined_in = "df.entities.xml"; - n_leader_positions->m_addornements = "v*"; - n_leader_positions->m_address = base + offset; - n_leader_positions->m_parent = p_node_parent; - n_leader_positions->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_leader_positions); - - field_name = "leader_assignments"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_squads, field_name)); - auto n_leader_assignments = new NodeVector; - n_leader_assignments->m_field_name = field_name; - n_leader_assignments->m_df_type = DF_Type::entity_position_assignment; - n_leader_assignments->m_rdf_type = RDF_Type::Vector; - n_leader_assignments->m_node_type = NodeType::Vector; - n_leader_assignments->m_defined_in = "df.entities.xml"; - n_leader_assignments->m_addornements = "v*"; - n_leader_assignments->m_address = base + offset; - n_leader_assignments->m_parent = p_node_parent; - n_leader_assignments->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_leader_assignments); - - field_name = "can_appoint"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_squads, field_name)); - auto n_can_appoint = new NodeVector; - n_can_appoint->m_field_name = field_name; - n_can_appoint->m_df_type = DF_Type::Bool; - n_can_appoint->m_rdf_type = RDF_Type::Vector; - n_can_appoint->m_node_type = NodeType::Vector; - n_can_appoint->m_addornements = "v"; - n_can_appoint->m_address = base + offset; - n_can_appoint->m_parent = p_node_parent; - n_can_appoint->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_can_appoint); - -} -void node_from_viewscreen_layer_militaryst__T_positions(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "assigned"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_positions, field_name)); - auto n_assigned = new NodeVector; - n_assigned->m_field_name = field_name; - n_assigned->m_df_type = DF_Type::unit; - n_assigned->m_rdf_type = RDF_Type::Vector; - n_assigned->m_node_type = NodeType::Vector; - n_assigned->m_defined_in = "df.units.xml"; - n_assigned->m_addornements = "v*"; - n_assigned->m_address = base + offset; - n_assigned->m_parent = p_node_parent; - n_assigned->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_assigned); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_positions, field_name)); - auto n_anon_1 = new NodeVector; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::Vector; - n_anon_1->m_node_type = NodeType::Vector; - n_anon_1->m_addornements = "v"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "skill"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_positions, field_name)); - auto n_skill = new NodeVector; - n_skill->m_field_name = field_name; - n_skill->m_df_type = DF_Type::job_skill; - n_skill->m_rdf_type = RDF_Type::Vector; - n_skill->m_node_type = NodeType::Vector; - n_skill->m_enum_base = DF_Type::int16_t; - n_skill->m_defined_in = "df.skills.xml"; - n_skill->m_addornements = "v"; - n_skill->m_address = base + offset; - n_skill->m_parent = p_node_parent; - n_skill->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_skill); - - field_name = "unk_84"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_positions, field_name)); - auto n_unk_84 = new NodeVector; - n_unk_84->m_field_name = field_name; - n_unk_84->m_df_type = DF_Type::int32_t; - n_unk_84->m_rdf_type = RDF_Type::Vector; - n_unk_84->m_node_type = NodeType::Vector; - n_unk_84->m_addornements = "v"; - n_unk_84->m_address = base + offset; - n_unk_84->m_parent = p_node_parent; - n_unk_84->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_84); - - field_name = "candidates"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_positions, field_name)); - auto n_candidates = new NodeVector; - n_candidates->m_field_name = field_name; - n_candidates->m_df_type = DF_Type::unit; - n_candidates->m_rdf_type = RDF_Type::Vector; - n_candidates->m_node_type = NodeType::Vector; - n_candidates->m_defined_in = "df.units.xml"; - n_candidates->m_addornements = "v*"; - n_candidates->m_address = base + offset; - n_candidates->m_parent = p_node_parent; - n_candidates->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_candidates); - -} -void node_from_viewscreen_layer_militaryst__T_squad_members(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "profession"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_squad_members, field_name)); - auto n_profession = new NodeVector; - n_profession->m_field_name = field_name; - n_profession->m_df_type = DF_Type::profession; - n_profession->m_rdf_type = RDF_Type::Vector; - n_profession->m_node_type = NodeType::Vector; - n_profession->m_enum_base = DF_Type::int16_t; - n_profession->m_defined_in = "df.skills.xml"; - n_profession->m_addornements = "v"; - n_profession->m_address = base + offset; - n_profession->m_parent = p_node_parent; - n_profession->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_profession); - - field_name = "count"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_squad_members, field_name)); - auto n_count = new NodeVector; - n_count->m_field_name = field_name; - n_count->m_df_type = DF_Type::int32_t; - n_count->m_rdf_type = RDF_Type::Vector; - n_count->m_node_type = NodeType::Vector; - n_count->m_addornements = "v"; - n_count->m_address = base + offset; - n_count->m_parent = p_node_parent; - n_count->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_count); - - field_name = "max_count"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_squad_members, field_name)); - auto n_max_count = new NodeVector; - n_max_count->m_field_name = field_name; - n_max_count->m_df_type = DF_Type::int32_t; - n_max_count->m_rdf_type = RDF_Type::Vector; - n_max_count->m_node_type = NodeType::Vector; - n_max_count->m_addornements = "v"; - n_max_count->m_address = base + offset; - n_max_count->m_parent = p_node_parent; - n_max_count->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_max_count); - -} -void node_from_viewscreen_layer_militaryst__T_equip__T_assigned(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "spec"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip__T_assigned, field_name)); - auto n_spec = new NodeVector; - n_spec->m_field_name = field_name; - n_spec->m_df_type = DF_Type::squad_uniform_spec; - n_spec->m_rdf_type = RDF_Type::Vector; - n_spec->m_node_type = NodeType::Vector; - n_spec->m_defined_in = "df.military.xml"; - n_spec->m_addornements = "v*"; - n_spec->m_address = base + offset; - n_spec->m_parent = p_node_parent; - n_spec->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_spec); - - field_name = "category"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip__T_assigned, field_name)); - auto n_category = new NodeVector; - n_category->m_field_name = field_name; - n_category->m_df_type = DF_Type::uniform_category; - n_category->m_rdf_type = RDF_Type::Vector; - n_category->m_node_type = NodeType::Vector; - n_category->m_enum_base = DF_Type::int16_t; - n_category->m_defined_in = "df.military.xml"; - n_category->m_addornements = "v"; - n_category->m_address = base + offset; - n_category->m_parent = p_node_parent; - n_category->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_category); - - field_name = "index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip__T_assigned, field_name)); - auto n_index = new NodeVector; - n_index->m_field_name = field_name; - n_index->m_df_type = DF_Type::int32_t; - n_index->m_rdf_type = RDF_Type::Vector; - n_index->m_node_type = NodeType::Vector; - n_index->m_addornements = "v"; - n_index->m_address = base + offset; - n_index->m_comment = "spec in category vector"; - n_index->m_parent = p_node_parent; - n_index->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_index); - -} -void node_from_viewscreen_layer_militaryst__T_equip__T_uniform(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip__T_uniform, field_name)); - auto n_type = new NodeVector; - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::item_type; - n_type->m_rdf_type = RDF_Type::Vector; - n_type->m_node_type = NodeType::Vector; - n_type->m_enum_base = DF_Type::int16_t; - n_type->m_defined_in = "df.item-raws.xml"; - n_type->m_addornements = "v"; - n_type->m_address = base + offset; - n_type->m_parent = p_node_parent; - n_type->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_type); - - field_name = "subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip__T_uniform, field_name)); - auto n_subtype = new NodeVector; - n_subtype->m_field_name = field_name; - n_subtype->m_df_type = DF_Type::int16_t; - n_subtype->m_rdf_type = RDF_Type::Vector; - n_subtype->m_node_type = NodeType::Vector; - n_subtype->m_addornements = "v"; - n_subtype->m_address = base + offset; - n_subtype->m_parent = p_node_parent; - n_subtype->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_subtype); - - field_name = "category"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip__T_uniform, field_name)); - auto n_category = new NodeVector; - n_category->m_field_name = field_name; - n_category->m_df_type = DF_Type::uniform_category; - n_category->m_rdf_type = RDF_Type::Vector; - n_category->m_node_type = NodeType::Vector; - n_category->m_enum_base = DF_Type::int16_t; - n_category->m_defined_in = "df.military.xml"; - n_category->m_addornements = "v"; - n_category->m_address = base + offset; - n_category->m_parent = p_node_parent; - n_category->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_category); - - field_name = "index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip__T_uniform, field_name)); - auto n_index = new NodeVector; - n_index->m_field_name = field_name; - n_index->m_df_type = DF_Type::int16_t; - n_index->m_rdf_type = RDF_Type::Vector; - n_index->m_node_type = NodeType::Vector; - n_index->m_addornements = "v"; - n_index->m_address = base + offset; - n_index->m_parent = p_node_parent; - n_index->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_index); - - field_name = "info"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip__T_uniform, field_name)); - auto n_info = new NodeVector; - n_info->m_field_name = field_name; - n_info->m_df_type = DF_Type::entity_uniform_item; - n_info->m_rdf_type = RDF_Type::Vector; - n_info->m_node_type = NodeType::Vector; - n_info->m_defined_in = "df.entities.xml"; - n_info->m_addornements = "v*"; - n_info->m_address = base + offset; - n_info->m_parent = p_node_parent; - n_info->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_info); - -} -void node_from_viewscreen_layer_militaryst__T_equip__T_add_item(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip__T_add_item, field_name)); - auto n_type = new NodeVector; - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::item_type; - n_type->m_rdf_type = RDF_Type::Vector; - n_type->m_node_type = NodeType::Vector; - n_type->m_enum_base = DF_Type::int16_t; - n_type->m_defined_in = "df.item-raws.xml"; - n_type->m_addornements = "v"; - n_type->m_address = base + offset; - n_type->m_parent = p_node_parent; - n_type->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_type); - - field_name = "subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip__T_add_item, field_name)); - auto n_subtype = new NodeVector; - n_subtype->m_field_name = field_name; - n_subtype->m_df_type = DF_Type::int16_t; - n_subtype->m_rdf_type = RDF_Type::Vector; - n_subtype->m_node_type = NodeType::Vector; - n_subtype->m_addornements = "v"; - n_subtype->m_address = base + offset; - n_subtype->m_parent = p_node_parent; - n_subtype->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_subtype); - - field_name = "indiv_choice"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip__T_add_item, field_name)); - auto n_indiv_choice = new NodeVector; - n_indiv_choice->m_field_name = field_name; - n_indiv_choice->m_df_type = DF_Type::uniform_indiv_choice; - n_indiv_choice->m_rdf_type = RDF_Type::Vector; - n_indiv_choice->m_node_type = NodeType::Vector; - n_indiv_choice->m_defined_in = "df.military.xml"; - n_indiv_choice->m_addornements = "v"; - n_indiv_choice->m_address = base + offset; - n_indiv_choice->m_parent = p_node_parent; - n_indiv_choice->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_indiv_choice); - - field_name = "foreign"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip__T_add_item, field_name)); - auto n_foreign = new NodeVector; - n_foreign->m_field_name = field_name; - n_foreign->m_df_type = DF_Type::Bool; - n_foreign->m_rdf_type = RDF_Type::Vector; - n_foreign->m_node_type = NodeType::Vector; - n_foreign->m_addornements = "v"; - n_foreign->m_address = base + offset; - n_foreign->m_parent = p_node_parent; - n_foreign->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_foreign); - -} -void node_from_viewscreen_layer_militaryst__T_equip__T_material(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "generic"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip__T_material, field_name)); - auto n_generic = new NodeVector; - n_generic->m_field_name = field_name; - n_generic->m_df_type = DF_Type::entity_material_category; - n_generic->m_rdf_type = RDF_Type::Vector; - n_generic->m_node_type = NodeType::Vector; - n_generic->m_enum_base = DF_Type::int16_t; - n_generic->m_defined_in = "df.entities.xml"; - n_generic->m_addornements = "v"; - n_generic->m_address = base + offset; - n_generic->m_parent = p_node_parent; - n_generic->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_generic); - - field_name = "specific"; - auto n_specific = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip__T_material, field_name)); - n_specific->m_field_name = field_name; - n_specific->m_df_type = DF_Type::material_vec_ref; - n_specific->m_rdf_type = RDF_Type::Struct; - n_specific->m_node_type = NodeType::Compound; - n_specific->m_address = base + offset; - n_specific->m_defined_in = "df.materials.xml"; - n_specific->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_specific); - -} -void node_from_viewscreen_layer_militaryst__T_equip__T_color(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip__T_color, field_name)); - auto n_id = new NodeVector; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::Vector; - n_id->m_node_type = NodeType::Vector; - n_id->m_addornements = "v"; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - n_id->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_id); - - field_name = "dye"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip__T_color, field_name)); - auto n_dye = new NodeVector; - n_dye->m_field_name = field_name; - n_dye->m_df_type = DF_Type::Bool; - n_dye->m_rdf_type = RDF_Type::Vector; - n_dye->m_node_type = NodeType::Vector; - n_dye->m_addornements = "v"; - n_dye->m_address = base + offset; - n_dye->m_parent = p_node_parent; - n_dye->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_dye); - -} -void node_from_viewscreen_layer_militaryst__T_equip(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mode"; - auto n_mode = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip, field_name)); - n_mode->m_field_name = field_name; - n_mode->m_df_type = DF_Type::viewscreen_layer_militaryst__T_equip__T_mode; - n_mode->m_rdf_type = RDF_Type::Enum; - n_mode->m_node_type = NodeType::Enum; - n_mode->m_base_type = enum_base_type(n_mode->m_df_type); - n_mode->m_enum_type = "viewscreen_layer_militaryst::T_equip::T_mode"; - n_mode->m_address = base + offset; - n_mode->m_first_value = 0; - n_mode->m_last_value = 2; - n_mode->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mode); - - field_name = "squads"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip, field_name)); - auto n_squads = new NodeVector; - n_squads->m_field_name = field_name; - n_squads->m_df_type = DF_Type::squad; - n_squads->m_rdf_type = RDF_Type::Vector; - n_squads->m_node_type = NodeType::Vector; - n_squads->m_defined_in = "df.military.xml"; - n_squads->m_addornements = "v*"; - n_squads->m_address = base + offset; - n_squads->m_parent = p_node_parent; - n_squads->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_squads); - - field_name = "units"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip, field_name)); - auto n_units = new NodeVector; - n_units->m_field_name = field_name; - n_units->m_df_type = DF_Type::unit; - n_units->m_rdf_type = RDF_Type::Vector; - n_units->m_node_type = NodeType::Vector; - n_units->m_defined_in = "df.units.xml"; - n_units->m_addornements = "v*"; - n_units->m_address = base + offset; - n_units->m_parent = p_node_parent; - n_units->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_units); - - field_name = "specific_items"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip, field_name)); - auto n_specific_items = new NodeVector; - n_specific_items->m_field_name = field_name; - n_specific_items->m_df_type = DF_Type::item; - n_specific_items->m_rdf_type = RDF_Type::Vector; - n_specific_items->m_node_type = NodeType::Vector; - n_specific_items->m_defined_in = "df.items.xml"; - n_specific_items->m_addornements = "v*"; - n_specific_items->m_address = base + offset; - n_specific_items->m_parent = p_node_parent; - n_specific_items->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_specific_items); - - field_name = "prio_in_move"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip, field_name)); - auto n_prio_in_move = new NodeSimple; - n_prio_in_move->m_field_name = field_name; - n_prio_in_move->m_df_type = DF_Type::int32_t; - n_prio_in_move->m_rdf_type = RDF_Type::int32_t; - n_prio_in_move->m_node_type = NodeType::Simple; - n_prio_in_move->m_address = base + offset; - n_prio_in_move->m_refers_to = "$$._parent.squads[$]"; - n_prio_in_move->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_prio_in_move); - - field_name = "assigned"; - auto n_assigned = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip, field_name)); - n_assigned->m_field_name = field_name; - n_assigned->m_df_type = DF_Type::viewscreen_layer_militaryst__T_equip__T_assigned; - n_assigned->m_rdf_type = RDF_Type::Compound; - n_assigned->m_node_type = NodeType::Compound; - n_assigned->m_address = base + offset; - n_assigned->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_assigned); - - field_name = "assigned_items"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip, field_name)); - auto n_assigned_items = new NodeVector; - n_assigned_items->m_field_name = field_name; - n_assigned_items->m_df_type = DF_Type::item; - n_assigned_items->m_rdf_type = RDF_Type::Vector; - n_assigned_items->m_node_type = NodeType::Vector; - n_assigned_items->m_defined_in = "df.items.xml"; - n_assigned_items->m_addornements = "v*"; - n_assigned_items->m_address = base + offset; - n_assigned_items->m_parent = p_node_parent; - n_assigned_items->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_assigned_items); - - field_name = "edit_spec"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip, field_name)); - auto n_edit_spec = new NodePointer; - n_edit_spec->m_field_name = field_name; - n_edit_spec->m_df_type = get_real_subtype(base+offset, DF_Type::squad_uniform_spec); - n_edit_spec->m_rdf_type = RDF_Type::Pointer; - n_edit_spec->m_node_type = NodeType::Pointer; - n_edit_spec->m_addornements = "*"; - n_edit_spec->m_address = base + offset; - n_edit_spec->m_parent = p_node_parent; - n_edit_spec->m_defined_in = "df.military.xml"; - n_edit_spec->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_edit_spec); - - field_name = "uniforms"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip, field_name)); - auto n_uniforms = new NodeVector; - n_uniforms->m_field_name = field_name; - n_uniforms->m_df_type = DF_Type::entity_uniform; - n_uniforms->m_rdf_type = RDF_Type::Vector; - n_uniforms->m_node_type = NodeType::Vector; - n_uniforms->m_defined_in = "df.entities.xml"; - n_uniforms->m_addornements = "v*"; - n_uniforms->m_address = base + offset; - n_uniforms->m_parent = p_node_parent; - n_uniforms->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_uniforms); - - field_name = "uniform"; - auto n_uniform = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip, field_name)); - n_uniform->m_field_name = field_name; - n_uniform->m_df_type = DF_Type::viewscreen_layer_militaryst__T_equip__T_uniform; - n_uniform->m_rdf_type = RDF_Type::Compound; - n_uniform->m_node_type = NodeType::Compound; - n_uniform->m_address = base + offset; - n_uniform->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_uniform); - - field_name = "edit_mode"; - auto n_edit_mode = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip, field_name)); - n_edit_mode->m_field_name = field_name; - n_edit_mode->m_df_type = DF_Type::viewscreen_layer_militaryst__T_equip__T_edit_mode; - n_edit_mode->m_rdf_type = RDF_Type::Enum; - n_edit_mode->m_node_type = NodeType::Enum; - n_edit_mode->m_base_type = enum_base_type(n_edit_mode->m_df_type); - n_edit_mode->m_enum_type = "viewscreen_layer_militaryst::T_equip::T_edit_mode"; - n_edit_mode->m_address = base + offset; - n_edit_mode->m_first_value = 0; - n_edit_mode->m_last_value = 15; - n_edit_mode->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_edit_mode); - - field_name = "unk_1ec"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip, field_name)); - auto n_unk_1ec= new NodePadding; - n_unk_1ec->m_field_name = field_name; - n_unk_1ec->m_df_type = DF_Type::Padding; - n_unk_1ec->m_rdf_type = RDF_Type::Padding; - n_unk_1ec->m_node_type = NodeType::Padding; - n_unk_1ec->m_address = base + offset; - n_unk_1ec->m_size = 4; - n_unk_1ec->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_1ec); - - field_name = "add_item"; - auto n_add_item = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip, field_name)); - n_add_item->m_field_name = field_name; - n_add_item->m_df_type = DF_Type::viewscreen_layer_militaryst__T_equip__T_add_item; - n_add_item->m_rdf_type = RDF_Type::Compound; - n_add_item->m_node_type = NodeType::Compound; - n_add_item->m_address = base + offset; - n_add_item->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_add_item); - - field_name = "material"; - auto n_material = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip, field_name)); - n_material->m_field_name = field_name; - n_material->m_df_type = DF_Type::viewscreen_layer_militaryst__T_equip__T_material; - n_material->m_rdf_type = RDF_Type::Compound; - n_material->m_node_type = NodeType::Compound; - n_material->m_address = base + offset; - n_material->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_material); - - field_name = "color"; - auto n_color = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip, field_name)); - n_color->m_field_name = field_name; - n_color->m_df_type = DF_Type::viewscreen_layer_militaryst__T_equip__T_color; - n_color->m_rdf_type = RDF_Type::Compound; - n_color->m_node_type = NodeType::Compound; - n_color->m_address = base + offset; - n_color->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_color); - - field_name = "in_name_uniform"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip, field_name)); - auto n_in_name_uniform = new NodeSimple; - n_in_name_uniform->m_field_name = field_name; - n_in_name_uniform->m_df_type = DF_Type::Bool; - n_in_name_uniform->m_rdf_type = RDF_Type::Bool; - n_in_name_uniform->m_node_type = NodeType::Simple; - n_in_name_uniform->m_address = base + offset; - n_in_name_uniform->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_in_name_uniform); - -} -void node_from_viewscreen_layer_militaryst__T_ammo__T_add_item(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_ammo__T_add_item, field_name)); - auto n_type = new NodeVector; - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::item_type; - n_type->m_rdf_type = RDF_Type::Vector; - n_type->m_node_type = NodeType::Vector; - n_type->m_enum_base = DF_Type::int16_t; - n_type->m_defined_in = "df.item-raws.xml"; - n_type->m_addornements = "v"; - n_type->m_address = base + offset; - n_type->m_parent = p_node_parent; - n_type->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_type); - - field_name = "subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_ammo__T_add_item, field_name)); - auto n_subtype = new NodeVector; - n_subtype->m_field_name = field_name; - n_subtype->m_df_type = DF_Type::int16_t; - n_subtype->m_rdf_type = RDF_Type::Vector; - n_subtype->m_node_type = NodeType::Vector; - n_subtype->m_addornements = "v"; - n_subtype->m_address = base + offset; - n_subtype->m_parent = p_node_parent; - n_subtype->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_subtype); - - field_name = "foreign"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_ammo__T_add_item, field_name)); - auto n_foreign = new NodeVector; - n_foreign->m_field_name = field_name; - n_foreign->m_df_type = DF_Type::Bool; - n_foreign->m_rdf_type = RDF_Type::Vector; - n_foreign->m_node_type = NodeType::Vector; - n_foreign->m_addornements = "v"; - n_foreign->m_address = base + offset; - n_foreign->m_parent = p_node_parent; - n_foreign->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_foreign); - -} -void node_from_viewscreen_layer_militaryst__T_ammo__T_material(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "generic"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_ammo__T_material, field_name)); - auto n_generic = new NodeVector; - n_generic->m_field_name = field_name; - n_generic->m_df_type = DF_Type::entity_material_category; - n_generic->m_rdf_type = RDF_Type::Vector; - n_generic->m_node_type = NodeType::Vector; - n_generic->m_enum_base = DF_Type::int16_t; - n_generic->m_defined_in = "df.entities.xml"; - n_generic->m_addornements = "v"; - n_generic->m_address = base + offset; - n_generic->m_parent = p_node_parent; - n_generic->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_generic); - - field_name = "specific"; - auto n_specific = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_ammo__T_material, field_name)); - n_specific->m_field_name = field_name; - n_specific->m_df_type = DF_Type::material_vec_ref; - n_specific->m_rdf_type = RDF_Type::Struct; - n_specific->m_node_type = NodeType::Compound; - n_specific->m_address = base + offset; - n_specific->m_defined_in = "df.materials.xml"; - n_specific->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_specific); - -} -void node_from_viewscreen_layer_militaryst__T_ammo(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "squads"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_ammo, field_name)); - auto n_squads = new NodeVector; - n_squads->m_field_name = field_name; - n_squads->m_df_type = DF_Type::squad; - n_squads->m_rdf_type = RDF_Type::Vector; - n_squads->m_node_type = NodeType::Vector; - n_squads->m_defined_in = "df.military.xml"; - n_squads->m_addornements = "v*"; - n_squads->m_address = base + offset; - n_squads->m_comment = "null for hunters"; - n_squads->m_parent = p_node_parent; - n_squads->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_squads); - - field_name = "in_add_item"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_ammo, field_name)); - auto n_in_add_item = new NodeSimple; - n_in_add_item->m_field_name = field_name; - n_in_add_item->m_df_type = DF_Type::Bool; - n_in_add_item->m_rdf_type = RDF_Type::Bool; - n_in_add_item->m_node_type = NodeType::Simple; - n_in_add_item->m_address = base + offset; - n_in_add_item->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_in_add_item); - - field_name = "in_set_material"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_ammo, field_name)); - auto n_in_set_material = new NodeSimple; - n_in_set_material->m_field_name = field_name; - n_in_set_material->m_df_type = DF_Type::Bool; - n_in_set_material->m_rdf_type = RDF_Type::Bool; - n_in_set_material->m_node_type = NodeType::Simple; - n_in_set_material->m_address = base + offset; - n_in_set_material->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_in_set_material); - - field_name = "add_item"; - auto n_add_item = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_ammo, field_name)); - n_add_item->m_field_name = field_name; - n_add_item->m_df_type = DF_Type::viewscreen_layer_militaryst__T_ammo__T_add_item; - n_add_item->m_rdf_type = RDF_Type::Compound; - n_add_item->m_node_type = NodeType::Compound; - n_add_item->m_address = base + offset; - n_add_item->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_add_item); - - field_name = "material"; - auto n_material = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_ammo, field_name)); - n_material->m_field_name = field_name; - n_material->m_df_type = DF_Type::viewscreen_layer_militaryst__T_ammo__T_material; - n_material->m_rdf_type = RDF_Type::Compound; - n_material->m_node_type = NodeType::Compound; - n_material->m_address = base + offset; - n_material->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_material); - -} -void node_from_viewscreen_layer_militaryst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen_layer; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen_layer(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "squads"; - auto n_squads = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst, field_name)); - n_squads->m_field_name = field_name; - n_squads->m_df_type = DF_Type::viewscreen_layer_militaryst__T_squads; - n_squads->m_rdf_type = RDF_Type::Compound; - n_squads->m_node_type = NodeType::Compound; - n_squads->m_address = base + offset; - n_squads->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_squads); - - field_name = "positions"; - auto n_positions = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst, field_name)); - n_positions->m_field_name = field_name; - n_positions->m_df_type = DF_Type::viewscreen_layer_militaryst__T_positions; - n_positions->m_rdf_type = RDF_Type::Compound; - n_positions->m_node_type = NodeType::Compound; - n_positions->m_address = base + offset; - n_positions->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_positions); - - field_name = "page"; - auto n_page = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst, field_name)); - n_page->m_field_name = field_name; - n_page->m_df_type = DF_Type::viewscreen_layer_militaryst__T_page; - n_page->m_rdf_type = RDF_Type::Enum; - n_page->m_node_type = NodeType::Enum; - n_page->m_base_type = enum_base_type(n_page->m_df_type); - n_page->m_enum_type = "viewscreen_layer_militaryst::T_page"; - n_page->m_address = base + offset; - n_page->m_first_value = 0; - n_page->m_last_value = 5; - n_page->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_page); - - field_name = "num_squads"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst, field_name)); - auto n_num_squads = new NodeSimple; - n_num_squads->m_field_name = field_name; - n_num_squads->m_df_type = DF_Type::int32_t; - n_num_squads->m_rdf_type = RDF_Type::int32_t; - n_num_squads->m_node_type = NodeType::Simple; - n_num_squads->m_address = base + offset; - n_num_squads->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_num_squads); - - field_name = "num_soldiers"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst, field_name)); - auto n_num_soldiers = new NodeSimple; - n_num_soldiers->m_field_name = field_name; - n_num_soldiers->m_df_type = DF_Type::int32_t; - n_num_soldiers->m_rdf_type = RDF_Type::int32_t; - n_num_soldiers->m_node_type = NodeType::Simple; - n_num_soldiers->m_address = base + offset; - n_num_soldiers->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_num_soldiers); - - field_name = "num_active"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst, field_name)); - auto n_num_active = new NodeSimple; - n_num_active->m_field_name = field_name; - n_num_active->m_df_type = DF_Type::int32_t; - n_num_active->m_rdf_type = RDF_Type::int32_t; - n_num_active->m_node_type = NodeType::Simple; - n_num_active->m_address = base + offset; - n_num_active->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_num_active); - - field_name = "squad_members"; - auto n_squad_members = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst, field_name)); - n_squad_members->m_field_name = field_name; - n_squad_members->m_df_type = DF_Type::viewscreen_layer_militaryst__T_squad_members; - n_squad_members->m_rdf_type = RDF_Type::Compound; - n_squad_members->m_node_type = NodeType::Compound; - n_squad_members->m_address = base + offset; - n_squad_members->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_squad_members); - - field_name = "in_create_squad"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst, field_name)); - auto n_in_create_squad = new NodeSimple; - n_in_create_squad->m_field_name = field_name; - n_in_create_squad->m_df_type = DF_Type::Bool; - n_in_create_squad->m_rdf_type = RDF_Type::Bool; - n_in_create_squad->m_node_type = NodeType::Simple; - n_in_create_squad->m_address = base + offset; - n_in_create_squad->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_in_create_squad); - - field_name = "in_new_squad"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst, field_name)); - auto n_in_new_squad = new NodeSimple; - n_in_new_squad->m_field_name = field_name; - n_in_new_squad->m_df_type = DF_Type::Bool; - n_in_new_squad->m_rdf_type = RDF_Type::Bool; - n_in_new_squad->m_node_type = NodeType::Simple; - n_in_new_squad->m_address = base + offset; - n_in_new_squad->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_in_new_squad); - - field_name = "unk_e6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst, field_name)); - auto n_unk_e6 = new NodeSimple; - n_unk_e6->m_field_name = field_name; - n_unk_e6->m_df_type = DF_Type::Bool; - n_unk_e6->m_rdf_type = RDF_Type::Bool; - n_unk_e6->m_node_type = NodeType::Simple; - n_unk_e6->m_address = base + offset; - n_unk_e6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_e6); - - field_name = "captain_positions"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst, field_name)); - auto n_captain_positions = new NodeVector; - n_captain_positions->m_field_name = field_name; - n_captain_positions->m_df_type = DF_Type::entity_position; - n_captain_positions->m_rdf_type = RDF_Type::Vector; - n_captain_positions->m_node_type = NodeType::Vector; - n_captain_positions->m_defined_in = "df.entities.xml"; - n_captain_positions->m_addornements = "v*"; - n_captain_positions->m_address = base + offset; - n_captain_positions->m_parent = p_node_parent; - n_captain_positions->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_captain_positions); - - field_name = "new_position"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst, field_name)); - auto n_new_position = new NodePointer; - n_new_position->m_field_name = field_name; - n_new_position->m_df_type = get_real_subtype(base+offset, DF_Type::entity_position); - n_new_position->m_rdf_type = RDF_Type::Pointer; - n_new_position->m_node_type = NodeType::Pointer; - n_new_position->m_addornements = "*"; - n_new_position->m_address = base + offset; - n_new_position->m_parent = p_node_parent; - n_new_position->m_defined_in = "df.entities.xml"; - n_new_position->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_new_position); - - field_name = "unk_fc"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst, field_name)); - auto n_unk_fc = new NodeSimple; - n_unk_fc->m_field_name = field_name; - n_unk_fc->m_df_type = DF_Type::Bool; - n_unk_fc->m_rdf_type = RDF_Type::Bool; - n_unk_fc->m_node_type = NodeType::Simple; - n_unk_fc->m_address = base + offset; - n_unk_fc->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_fc); - - field_name = "in_rename_alert"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst, field_name)); - auto n_in_rename_alert = new NodeSimple; - n_in_rename_alert->m_field_name = field_name; - n_in_rename_alert->m_df_type = DF_Type::Bool; - n_in_rename_alert->m_rdf_type = RDF_Type::Bool; - n_in_rename_alert->m_node_type = NodeType::Simple; - n_in_rename_alert->m_address = base + offset; - n_in_rename_alert->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_in_rename_alert); - - field_name = "in_delete_alert"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst, field_name)); - auto n_in_delete_alert = new NodeSimple; - n_in_delete_alert->m_field_name = field_name; - n_in_delete_alert->m_df_type = DF_Type::Bool; - n_in_delete_alert->m_rdf_type = RDF_Type::Bool; - n_in_delete_alert->m_node_type = NodeType::Simple; - n_in_delete_alert->m_address = base + offset; - n_in_delete_alert->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_in_delete_alert); - - field_name = "unk_ff"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst, field_name)); - auto n_unk_ff = new NodeSimple; - n_unk_ff->m_field_name = field_name; - n_unk_ff->m_df_type = DF_Type::Bool; - n_unk_ff->m_rdf_type = RDF_Type::Bool; - n_unk_ff->m_node_type = NodeType::Simple; - n_unk_ff->m_address = base + offset; - n_unk_ff->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_ff); - - field_name = "alert_squads"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst, field_name)); - auto n_alert_squads = new NodeVector; - n_alert_squads->m_field_name = field_name; - n_alert_squads->m_df_type = DF_Type::squad; - n_alert_squads->m_rdf_type = RDF_Type::Vector; - n_alert_squads->m_node_type = NodeType::Vector; - n_alert_squads->m_defined_in = "df.military.xml"; - n_alert_squads->m_addornements = "v*"; - n_alert_squads->m_address = base + offset; - n_alert_squads->m_parent = p_node_parent; - n_alert_squads->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_alert_squads); - - field_name = "equip"; - auto n_equip = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst, field_name)); - n_equip->m_field_name = field_name; - n_equip->m_df_type = DF_Type::viewscreen_layer_militaryst__T_equip; - n_equip->m_rdf_type = RDF_Type::Compound; - n_equip->m_node_type = NodeType::Compound; - n_equip->m_address = base + offset; - n_equip->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_equip); - - field_name = "ammo"; - auto n_ammo = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst, field_name)); - n_ammo->m_field_name = field_name; - n_ammo->m_df_type = DF_Type::viewscreen_layer_militaryst__T_ammo; - n_ammo->m_rdf_type = RDF_Type::Compound; - n_ammo->m_node_type = NodeType::Compound; - n_ammo->m_address = base + offset; - n_ammo->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ammo); - - field_name = "supplies_squads"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst, field_name)); - auto n_supplies_squads = new NodeVector; - n_supplies_squads->m_field_name = field_name; - n_supplies_squads->m_df_type = DF_Type::squad; - n_supplies_squads->m_rdf_type = RDF_Type::Vector; - n_supplies_squads->m_node_type = NodeType::Vector; - n_supplies_squads->m_defined_in = "df.military.xml"; - n_supplies_squads->m_addornements = "v*"; - n_supplies_squads->m_address = base + offset; - n_supplies_squads->m_parent = p_node_parent; - n_supplies_squads->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_supplies_squads); - -} -void node_from_viewscreen_layer_musicsoundst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen_layer; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen_layer(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - -} -void node_from_unit_storage_status(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "floor_pos"; - auto n_floor_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_storage_status, field_name)); - n_floor_pos->m_field_name = field_name; - n_floor_pos->m_df_type = DF_Type::coord; - n_floor_pos->m_rdf_type = RDF_Type::Struct; - n_floor_pos->m_node_type = NodeType::Compound; - n_floor_pos->m_address = base + offset; - n_floor_pos->m_defined_in = "df.map.xml"; - n_floor_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_floor_pos); - - field_name = "chest_pos"; - auto n_chest_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_storage_status, field_name)); - n_chest_pos->m_field_name = field_name; - n_chest_pos->m_df_type = DF_Type::coord; - n_chest_pos->m_rdf_type = RDF_Type::Struct; - n_chest_pos->m_node_type = NodeType::Compound; - n_chest_pos->m_address = base + offset; - n_chest_pos->m_defined_in = "df.map.xml"; - n_chest_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_chest_pos); - - field_name = "chest_capacity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_storage_status, field_name)); - auto n_chest_capacity = new NodeSimple; - n_chest_capacity->m_field_name = field_name; - n_chest_capacity->m_df_type = DF_Type::int16_t; - n_chest_capacity->m_rdf_type = RDF_Type::int16_t; - n_chest_capacity->m_node_type = NodeType::Simple; - n_chest_capacity->m_address = base + offset; - n_chest_capacity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_chest_capacity); - - field_name = "cabinet_pos"; - auto n_cabinet_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_storage_status, field_name)); - n_cabinet_pos->m_field_name = field_name; - n_cabinet_pos->m_df_type = DF_Type::coord; - n_cabinet_pos->m_rdf_type = RDF_Type::Struct; - n_cabinet_pos->m_node_type = NodeType::Compound; - n_cabinet_pos->m_address = base + offset; - n_cabinet_pos->m_defined_in = "df.map.xml"; - n_cabinet_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cabinet_pos); - - field_name = "cabinet_capacity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_storage_status, field_name)); - auto n_cabinet_capacity = new NodeSimple; - n_cabinet_capacity->m_field_name = field_name; - n_cabinet_capacity->m_df_type = DF_Type::int16_t; - n_cabinet_capacity->m_rdf_type = RDF_Type::int16_t; - n_cabinet_capacity->m_node_type = NodeType::Simple; - n_cabinet_capacity->m_address = base + offset; - n_cabinet_capacity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cabinet_capacity); - - field_name = "weaponrack_pos"; - auto n_weaponrack_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_storage_status, field_name)); - n_weaponrack_pos->m_field_name = field_name; - n_weaponrack_pos->m_df_type = DF_Type::coord; - n_weaponrack_pos->m_rdf_type = RDF_Type::Struct; - n_weaponrack_pos->m_node_type = NodeType::Compound; - n_weaponrack_pos->m_address = base + offset; - n_weaponrack_pos->m_defined_in = "df.map.xml"; - n_weaponrack_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_weaponrack_pos); - - field_name = "weaponrack_capacity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_storage_status, field_name)); - auto n_weaponrack_capacity = new NodeSimple; - n_weaponrack_capacity->m_field_name = field_name; - n_weaponrack_capacity->m_df_type = DF_Type::int16_t; - n_weaponrack_capacity->m_rdf_type = RDF_Type::int16_t; - n_weaponrack_capacity->m_node_type = NodeType::Simple; - n_weaponrack_capacity->m_address = base + offset; - n_weaponrack_capacity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_weaponrack_capacity); - - field_name = "armorstand_capacity"; - auto n_armorstand_capacity = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_storage_status, field_name)); - n_armorstand_capacity->m_field_name = field_name; - n_armorstand_capacity->m_df_type = DF_Type::int8_t; - n_armorstand_capacity->m_rdf_type = RDF_Type::Array; - n_armorstand_capacity->m_node_type = NodeType::Array; - n_armorstand_capacity->m_addornements = "[6"; - n_armorstand_capacity->m_array_size = 6; - n_armorstand_capacity->m_address = base + offset; - n_armorstand_capacity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_armorstand_capacity); - - field_name = "armorstand_pos"; - auto n_armorstand_pos = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_storage_status, field_name)); - n_armorstand_pos->m_field_name = field_name; - n_armorstand_pos->m_df_type = DF_Type::coord; - n_armorstand_pos->m_rdf_type = RDF_Type::Array; - n_armorstand_pos->m_node_type = NodeType::Array; - n_armorstand_pos->m_defined_in = "df.map.xml"; - n_armorstand_pos->m_addornements = "[6"; - n_armorstand_pos->m_array_size = 6; - n_armorstand_pos->m_address = base + offset; - n_armorstand_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_armorstand_pos); - - field_name = "num_owned_items"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_storage_status, field_name)); - auto n_num_owned_items = new NodeSimple; - n_num_owned_items->m_field_name = field_name; - n_num_owned_items->m_df_type = DF_Type::int32_t; - n_num_owned_items->m_rdf_type = RDF_Type::int32_t; - n_num_owned_items->m_node_type = NodeType::Simple; - n_num_owned_items->m_address = base + offset; - n_num_owned_items->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_num_owned_items); - - field_name = "num_owned_chests"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_storage_status, field_name)); - auto n_num_owned_chests = new NodeSimple; - n_num_owned_chests->m_field_name = field_name; - n_num_owned_chests->m_df_type = DF_Type::int32_t; - n_num_owned_chests->m_rdf_type = RDF_Type::int32_t; - n_num_owned_chests->m_node_type = NodeType::Simple; - n_num_owned_chests->m_address = base + offset; - n_num_owned_chests->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_num_owned_chests); - - field_name = "num_owned_cabinets"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_storage_status, field_name)); - auto n_num_owned_cabinets = new NodeSimple; - n_num_owned_cabinets->m_field_name = field_name; - n_num_owned_cabinets->m_df_type = DF_Type::int32_t; - n_num_owned_cabinets->m_rdf_type = RDF_Type::int32_t; - n_num_owned_cabinets->m_node_type = NodeType::Simple; - n_num_owned_cabinets->m_address = base + offset; - n_num_owned_cabinets->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_num_owned_cabinets); - - field_name = "num_owned_weaponracks"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_storage_status, field_name)); - auto n_num_owned_weaponracks = new NodeSimple; - n_num_owned_weaponracks->m_field_name = field_name; - n_num_owned_weaponracks->m_df_type = DF_Type::int32_t; - n_num_owned_weaponracks->m_rdf_type = RDF_Type::int32_t; - n_num_owned_weaponracks->m_node_type = NodeType::Simple; - n_num_owned_weaponracks->m_address = base + offset; - n_num_owned_weaponracks->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_num_owned_weaponracks); - - field_name = "num_owned_armorstands"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_storage_status, field_name)); - auto n_num_owned_armorstands = new NodeSimple; - n_num_owned_armorstands->m_field_name = field_name; - n_num_owned_armorstands->m_df_type = DF_Type::int32_t; - n_num_owned_armorstands->m_rdf_type = RDF_Type::int32_t; - n_num_owned_armorstands->m_node_type = NodeType::Simple; - n_num_owned_armorstands->m_address = base + offset; - n_num_owned_armorstands->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_num_owned_armorstands); - -} -void node_from_viewscreen_layer_noblelistst__T_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unit"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_noblelistst__T_info, field_name)); - auto n_unit = new NodePointer; - n_unit->m_field_name = field_name; - n_unit->m_df_type = get_real_subtype(base+offset, DF_Type::unit); - n_unit->m_rdf_type = RDF_Type::Pointer; - n_unit->m_node_type = NodeType::Pointer; - n_unit->m_addornements = "*"; - n_unit->m_address = base + offset; - n_unit->m_parent = p_node_parent; - n_unit->m_defined_in = "df.units.xml"; - n_unit->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unit); - - field_name = "nemesis"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_noblelistst__T_info, field_name)); - auto n_nemesis = new NodePointer; - n_nemesis->m_field_name = field_name; - n_nemesis->m_df_type = get_real_subtype(base+offset, DF_Type::nemesis_record); - n_nemesis->m_rdf_type = RDF_Type::Pointer; - n_nemesis->m_node_type = NodeType::Pointer; - n_nemesis->m_addornements = "*"; - n_nemesis->m_address = base + offset; - n_nemesis->m_parent = p_node_parent; - n_nemesis->m_defined_in = "df.legends.xml"; - n_nemesis->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_nemesis); - - field_name = "storage_status"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_noblelistst__T_info, field_name)); - auto n_storage_status = new NodePointer; - n_storage_status->m_field_name = field_name; - n_storage_status->m_df_type = get_real_subtype(base+offset, DF_Type::unit_storage_status); - n_storage_status->m_rdf_type = RDF_Type::Pointer; - n_storage_status->m_node_type = NodeType::Pointer; - n_storage_status->m_addornements = "*"; - n_storage_status->m_address = base + offset; - n_storage_status->m_parent = p_node_parent; - n_storage_status->m_defined_in = "df.viewscreen.xml"; - n_storage_status->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_storage_status); - - field_name = "position"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_noblelistst__T_info, field_name)); - auto n_position = new NodePointer; - n_position->m_field_name = field_name; - n_position->m_df_type = get_real_subtype(base+offset, DF_Type::entity_position); - n_position->m_rdf_type = RDF_Type::Pointer; - n_position->m_node_type = NodeType::Pointer; - n_position->m_addornements = "*"; - n_position->m_address = base + offset; - n_position->m_parent = p_node_parent; - n_position->m_defined_in = "df.entities.xml"; - n_position->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_position); - - field_name = "assignment"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_noblelistst__T_info, field_name)); - auto n_assignment = new NodePointer; - n_assignment->m_field_name = field_name; - n_assignment->m_df_type = get_real_subtype(base+offset, DF_Type::entity_position_assignment); - n_assignment->m_rdf_type = RDF_Type::Pointer; - n_assignment->m_node_type = NodeType::Pointer; - n_assignment->m_addornements = "*"; - n_assignment->m_address = base + offset; - n_assignment->m_parent = p_node_parent; - n_assignment->m_defined_in = "df.entities.xml"; - n_assignment->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_assignment); - - field_name = "group"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_noblelistst__T_info, field_name)); - auto n_group = new NodeSimple; - n_group->m_field_name = field_name; - n_group->m_df_type = DF_Type::int32_t; - n_group->m_rdf_type = RDF_Type::int32_t; - n_group->m_node_type = NodeType::Simple; - n_group->m_address = base + offset; - n_group->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_group); - - field_name = "precedence"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_noblelistst__T_info, field_name)); - auto n_precedence = new NodeSimple; - n_precedence->m_field_name = field_name; - n_precedence->m_df_type = DF_Type::int32_t; - n_precedence->m_rdf_type = RDF_Type::int32_t; - n_precedence->m_node_type = NodeType::Simple; - n_precedence->m_address = base + offset; - n_precedence->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_precedence); - -} -void node_from_viewscreen_layer_noblelistst__T_candidates(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unit"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_noblelistst__T_candidates, field_name)); - auto n_unit = new NodePointer; - n_unit->m_field_name = field_name; - n_unit->m_df_type = get_real_subtype(base+offset, DF_Type::unit); - n_unit->m_rdf_type = RDF_Type::Pointer; - n_unit->m_node_type = NodeType::Pointer; - n_unit->m_addornements = "*"; - n_unit->m_address = base + offset; - n_unit->m_parent = p_node_parent; - n_unit->m_defined_in = "df.units.xml"; - n_unit->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unit); - - field_name = "weight"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_noblelistst__T_candidates, field_name)); - auto n_weight = new NodeSimple; - n_weight->m_field_name = field_name; - n_weight->m_df_type = DF_Type::int32_t; - n_weight->m_rdf_type = RDF_Type::int32_t; - n_weight->m_node_type = NodeType::Simple; - n_weight->m_address = base + offset; - n_weight->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_weight); - -} -void node_from_viewscreen_layer_noblelistst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen_layer; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen_layer(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mode"; - auto n_mode = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_noblelistst, field_name)); - n_mode->m_field_name = field_name; - n_mode->m_df_type = DF_Type::viewscreen_layer_noblelistst__T_mode; - n_mode->m_rdf_type = RDF_Type::Enum; - n_mode->m_node_type = NodeType::Enum; - n_mode->m_base_type = DF_Type::int16_t; - n_mode->m_enum_type = "viewscreen_layer_noblelistst::T_mode"; - n_mode->m_address = base + offset; - n_mode->m_first_value = 0; - n_mode->m_last_value = 2; - n_mode->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mode); - - field_name = "info"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_noblelistst, field_name)); - auto n_info = new NodeVector; - n_info->m_field_name = field_name; - n_info->m_df_type = DF_Type::viewscreen_layer_noblelistst__T_info; - n_info->m_rdf_type = RDF_Type::Vector; - n_info->m_node_type = NodeType::Vector; - n_info->m_addornements = "v*"; - n_info->m_address = base + offset; - n_info->m_parent = p_node_parent; - n_info->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_info); - - field_name = "candidates"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_noblelistst, field_name)); - auto n_candidates = new NodeVector; - n_candidates->m_field_name = field_name; - n_candidates->m_df_type = DF_Type::viewscreen_layer_noblelistst__T_candidates; - n_candidates->m_rdf_type = RDF_Type::Vector; - n_candidates->m_node_type = NodeType::Vector; - n_candidates->m_addornements = "v*"; - n_candidates->m_address = base + offset; - n_candidates->m_parent = p_node_parent; - n_candidates->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_candidates); - - field_name = "assignments"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_noblelistst, field_name)); - auto n_assignments = new NodeVector; - n_assignments->m_field_name = field_name; - n_assignments->m_df_type = DF_Type::entity_position_assignment; - n_assignments->m_rdf_type = RDF_Type::Vector; - n_assignments->m_node_type = NodeType::Vector; - n_assignments->m_defined_in = "df.entities.xml"; - n_assignments->m_addornements = "v*"; - n_assignments->m_address = base + offset; - n_assignments->m_parent = p_node_parent; - n_assignments->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_assignments); - - field_name = "histfigs"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_noblelistst, field_name)); - auto n_histfigs = new NodeVector; - n_histfigs->m_field_name = field_name; - n_histfigs->m_df_type = DF_Type::int32_t; - n_histfigs->m_rdf_type = RDF_Type::Vector; - n_histfigs->m_node_type = NodeType::Vector; - n_histfigs->m_addornements = "v"; - n_histfigs->m_address = base + offset; - n_histfigs->m_parent = p_node_parent; - n_histfigs->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_histfigs); - - field_name = "groups"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_noblelistst, field_name)); - auto n_groups = new NodeVector; - n_groups->m_field_name = field_name; - n_groups->m_df_type = DF_Type::int32_t; - n_groups->m_rdf_type = RDF_Type::Vector; - n_groups->m_node_type = NodeType::Vector; - n_groups->m_addornements = "v"; - n_groups->m_address = base + offset; - n_groups->m_parent = p_node_parent; - n_groups->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_groups); - -} -void node_from_viewscreen_layer_overall_healthst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen_layer; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen_layer(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_overall_healthst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "unit"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_overall_healthst, field_name)); - auto n_unit = new NodeVector; - n_unit->m_field_name = field_name; - n_unit->m_df_type = DF_Type::unit; - n_unit->m_rdf_type = RDF_Type::Vector; - n_unit->m_node_type = NodeType::Vector; - n_unit->m_defined_in = "df.units.xml"; - n_unit->m_addornements = "v*"; - n_unit->m_address = base + offset; - n_unit->m_parent = p_node_parent; - n_unit->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unit); - - field_name = "bits1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_overall_healthst, field_name)); - auto n_bits1 = new NodeVector; - n_bits1->m_field_name = field_name; - n_bits1->m_df_type = DF_Type::health_view_bits1; - n_bits1->m_rdf_type = RDF_Type::Vector; - n_bits1->m_node_type = NodeType::Vector; - n_bits1->m_defined_in = "df.viewscreen.xml"; - n_bits1->m_addornements = "v"; - n_bits1->m_address = base + offset; - n_bits1->m_parent = p_node_parent; - n_bits1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bits1); - - field_name = "bits2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_overall_healthst, field_name)); - auto n_bits2 = new NodeVector; - n_bits2->m_field_name = field_name; - n_bits2->m_df_type = DF_Type::health_view_bits2; - n_bits2->m_rdf_type = RDF_Type::Vector; - n_bits2->m_node_type = NodeType::Vector; - n_bits2->m_defined_in = "df.viewscreen.xml"; - n_bits2->m_addornements = "v"; - n_bits2->m_address = base + offset; - n_bits2->m_parent = p_node_parent; - n_bits2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bits2); - - field_name = "bits3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_overall_healthst, field_name)); - auto n_bits3 = new NodeVector; - n_bits3->m_field_name = field_name; - n_bits3->m_df_type = DF_Type::health_view_bits3; - n_bits3->m_rdf_type = RDF_Type::Vector; - n_bits3->m_node_type = NodeType::Vector; - n_bits3->m_defined_in = "df.viewscreen.xml"; - n_bits3->m_addornements = "v"; - n_bits3->m_address = base + offset; - n_bits3->m_parent = p_node_parent; - n_bits3->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bits3); - - field_name = "x_cursor_pos"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_overall_healthst, field_name)); - auto n_x_cursor_pos = new NodeSimple; - n_x_cursor_pos->m_field_name = field_name; - n_x_cursor_pos->m_df_type = DF_Type::int32_t; - n_x_cursor_pos->m_rdf_type = RDF_Type::int32_t; - n_x_cursor_pos->m_node_type = NodeType::Simple; - n_x_cursor_pos->m_address = base + offset; - n_x_cursor_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_x_cursor_pos); - -} -void node_from_viewscreen_layer_reactionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen_layer; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen_layer(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_reactionst, field_name)); - auto n_anon_1 = new NodePointer; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_anon_1->m_rdf_type = RDF_Type::Pointer; - n_anon_1->m_node_type = NodeType::Pointer; - n_anon_1->m_addornements = "*"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_reactionst, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_reactionst, field_name)); - auto n_anon_3 = new NodeVector; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::Bool; - n_anon_3->m_rdf_type = RDF_Type::Vector; - n_anon_3->m_node_type = NodeType::Vector; - n_anon_3->m_addornements = "v"; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - n_anon_3->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_reactionst, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int8_t; - n_anon_4->m_rdf_type = RDF_Type::int8_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - -} -void node_from_viewscreen_layer_squad_schedulest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen_layer; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen_layer(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "squads"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_squad_schedulest, field_name)); - auto n_squads = new NodeVector; - n_squads->m_field_name = field_name; - n_squads->m_df_type = DF_Type::squad; - n_squads->m_rdf_type = RDF_Type::Vector; - n_squads->m_node_type = NodeType::Vector; - n_squads->m_defined_in = "df.military.xml"; - n_squads->m_addornements = "v*"; - n_squads->m_address = base + offset; - n_squads->m_parent = p_node_parent; - n_squads->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_squads); - - field_name = "swapped"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_squad_schedulest, field_name)); - auto n_swapped = new NodeSimple; - n_swapped->m_field_name = field_name; - n_swapped->m_df_type = DF_Type::int8_t; - n_swapped->m_rdf_type = RDF_Type::int8_t; - n_swapped->m_node_type = NodeType::Simple; - n_swapped->m_address = base + offset; - n_swapped->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_swapped); - - field_name = "page_month"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_squad_schedulest, field_name)); - auto n_page_month = new NodeSimple; - n_page_month->m_field_name = field_name; - n_page_month->m_df_type = DF_Type::int32_t; - n_page_month->m_rdf_type = RDF_Type::int32_t; - n_page_month->m_node_type = NodeType::Simple; - n_page_month->m_address = base + offset; - n_page_month->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_page_month); - - field_name = "cur_alert"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_squad_schedulest, field_name)); - auto n_cur_alert = new NodeSimple; - n_cur_alert->m_field_name = field_name; - n_cur_alert->m_df_type = DF_Type::int32_t; - n_cur_alert->m_rdf_type = RDF_Type::int32_t; - n_cur_alert->m_node_type = NodeType::Simple; - n_cur_alert->m_address = base + offset; - n_cur_alert->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cur_alert); - - field_name = "in_name_cell"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_squad_schedulest, field_name)); - auto n_in_name_cell = new NodeSimple; - n_in_name_cell->m_field_name = field_name; - n_in_name_cell->m_df_type = DF_Type::Bool; - n_in_name_cell->m_rdf_type = RDF_Type::Bool; - n_in_name_cell->m_node_type = NodeType::Simple; - n_in_name_cell->m_address = base + offset; - n_in_name_cell->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_in_name_cell); - - field_name = "in_give_order"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_squad_schedulest, field_name)); - auto n_in_give_order = new NodeSimple; - n_in_give_order->m_field_name = field_name; - n_in_give_order->m_df_type = DF_Type::Bool; - n_in_give_order->m_rdf_type = RDF_Type::Bool; - n_in_give_order->m_node_type = NodeType::Simple; - n_in_give_order->m_address = base + offset; - n_in_give_order->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_in_give_order); - - field_name = "in_edit_order"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_squad_schedulest, field_name)); - auto n_in_edit_order = new NodeSimple; - n_in_edit_order->m_field_name = field_name; - n_in_edit_order->m_df_type = DF_Type::Bool; - n_in_edit_order->m_rdf_type = RDF_Type::Bool; - n_in_edit_order->m_node_type = NodeType::Simple; - n_in_edit_order->m_address = base + offset; - n_in_edit_order->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_in_edit_order); - - field_name = "order_list"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_squad_schedulest, field_name)); - auto n_order_list = new NodePointer; - n_order_list->m_field_name = field_name; - n_order_list->m_df_type = get_real_subtype(base+offset, DF_Type::squad_schedule_entry); - n_order_list->m_rdf_type = RDF_Type::Pointer; - n_order_list->m_node_type = NodeType::Pointer; - n_order_list->m_addornements = "*"; - n_order_list->m_address = base + offset; - n_order_list->m_parent = p_node_parent; - n_order_list->m_defined_in = "df.military.xml"; - n_order_list->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_order_list); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_squad_schedulest, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "order_month"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_squad_schedulest, field_name)); - auto n_order_month = new NodeSimple; - n_order_month->m_field_name = field_name; - n_order_month->m_df_type = DF_Type::int32_t; - n_order_month->m_rdf_type = RDF_Type::int32_t; - n_order_month->m_node_type = NodeType::Simple; - n_order_month->m_address = base + offset; - n_order_month->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_order_month); - - field_name = "order_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_squad_schedulest, field_name)); - auto n_order_type = new NodeSimple; - n_order_type->m_field_name = field_name; - n_order_type->m_df_type = DF_Type::int32_t; - n_order_type->m_rdf_type = RDF_Type::int32_t; - n_order_type->m_node_type = NodeType::Simple; - n_order_type->m_address = base + offset; - n_order_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_order_type); - - field_name = "burrows"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_squad_schedulest, field_name)); - auto n_burrows = new NodeVector; - n_burrows->m_field_name = field_name; - n_burrows->m_df_type = DF_Type::Bool; - n_burrows->m_rdf_type = RDF_Type::Vector; - n_burrows->m_node_type = NodeType::Vector; - n_burrows->m_addornements = "v"; - n_burrows->m_address = base + offset; - n_burrows->m_parent = p_node_parent; - n_burrows->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_burrows); - - field_name = "patrol_route"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_squad_schedulest, field_name)); - auto n_patrol_route = new NodeSimple; - n_patrol_route->m_field_name = field_name; - n_patrol_route->m_df_type = DF_Type::int32_t; - n_patrol_route->m_rdf_type = RDF_Type::int32_t; - n_patrol_route->m_node_type = NodeType::Simple; - n_patrol_route->m_address = base + offset; - n_patrol_route->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_patrol_route); - - field_name = "min_soldiers"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_squad_schedulest, field_name)); - auto n_min_soldiers = new NodeSimple; - n_min_soldiers->m_field_name = field_name; - n_min_soldiers->m_df_type = DF_Type::int32_t; - n_min_soldiers->m_rdf_type = RDF_Type::int32_t; - n_min_soldiers->m_node_type = NodeType::Simple; - n_min_soldiers->m_address = base + offset; - n_min_soldiers->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_min_soldiers); - - field_name = "positions"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_squad_schedulest, field_name)); - auto n_positions = new NodeVector; - n_positions->m_field_name = field_name; - n_positions->m_df_type = DF_Type::Bool; - n_positions->m_rdf_type = RDF_Type::Vector; - n_positions->m_node_type = NodeType::Vector; - n_positions->m_addornements = "v"; - n_positions->m_address = base + offset; - n_positions->m_parent = p_node_parent; - n_positions->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_positions); - - field_name = "station_point"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_squad_schedulest, field_name)); - auto n_station_point = new NodeSimple; - n_station_point->m_field_name = field_name; - n_station_point->m_df_type = DF_Type::int32_t; - n_station_point->m_rdf_type = RDF_Type::int32_t; - n_station_point->m_node_type = NodeType::Simple; - n_station_point->m_address = base + offset; - n_station_point->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_station_point); - - field_name = "copy_item"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_squad_schedulest, field_name)); - auto n_copy_item = new NodePointer; - n_copy_item->m_field_name = field_name; - n_copy_item->m_df_type = get_real_subtype(base+offset, DF_Type::squad_schedule_entry); - n_copy_item->m_rdf_type = RDF_Type::Pointer; - n_copy_item->m_node_type = NodeType::Pointer; - n_copy_item->m_addornements = "*"; - n_copy_item->m_address = base + offset; - n_copy_item->m_parent = p_node_parent; - n_copy_item->m_defined_in = "df.military.xml"; - n_copy_item->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_copy_item); - -} -void node_from_viewscreen_layer_stockpilest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen_layer; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen_layer(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "settings"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_stockpilest, field_name)); - auto n_settings = new NodePointer; - n_settings->m_field_name = field_name; - n_settings->m_df_type = get_real_subtype(base+offset, DF_Type::stockpile_settings); - n_settings->m_rdf_type = RDF_Type::Pointer; - n_settings->m_node_type = NodeType::Pointer; - n_settings->m_addornements = "*"; - n_settings->m_address = base + offset; - n_settings->m_parent = p_node_parent; - n_settings->m_defined_in = "df.stockpile.xml"; - n_settings->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_settings); - - field_name = "cur_group"; - auto n_cur_group = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_stockpilest, field_name)); - n_cur_group->m_field_name = field_name; - n_cur_group->m_df_type = DF_Type::stockpile_list; - n_cur_group->m_rdf_type = RDF_Type::Enum; - n_cur_group->m_node_type = NodeType::Enum; - n_cur_group->m_base_type = DF_Type::int32_t; - n_cur_group->m_enum_type = "stockpile_list"; - n_cur_group->m_address = base + offset; - n_cur_group->m_defined_in = "df.stockpile.xml"; - n_cur_group->m_first_value = 0; - n_cur_group->m_last_value = 104; - n_cur_group->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cur_group); - - field_name = "cur_list"; - auto n_cur_list = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_stockpilest, field_name)); - n_cur_list->m_field_name = field_name; - n_cur_list->m_df_type = DF_Type::stockpile_list; - n_cur_list->m_rdf_type = RDF_Type::Enum; - n_cur_list->m_node_type = NodeType::Enum; - n_cur_list->m_base_type = DF_Type::int32_t; - n_cur_list->m_enum_type = "stockpile_list"; - n_cur_list->m_address = base + offset; - n_cur_list->m_defined_in = "df.stockpile.xml"; - n_cur_list->m_first_value = 0; - n_cur_list->m_last_value = 104; - n_cur_list->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cur_list); - - field_name = "group_ids"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_stockpilest, field_name)); - auto n_group_ids = new NodeVector; - n_group_ids->m_field_name = field_name; - n_group_ids->m_df_type = DF_Type::stockpile_list; - n_group_ids->m_rdf_type = RDF_Type::Vector; - n_group_ids->m_node_type = NodeType::Vector; - n_group_ids->m_enum_base = DF_Type::int32_t; - n_group_ids->m_defined_in = "df.stockpile.xml"; - n_group_ids->m_addornements = "v"; - n_group_ids->m_address = base + offset; - n_group_ids->m_parent = p_node_parent; - n_group_ids->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_group_ids); - - field_name = "group_bits"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_stockpilest, field_name)); - auto n_group_bits = new NodeVector; - n_group_bits->m_field_name = field_name; - n_group_bits->m_df_type = DF_Type::stockpile_group_set; - n_group_bits->m_rdf_type = RDF_Type::Vector; - n_group_bits->m_node_type = NodeType::Vector; - n_group_bits->m_defined_in = "df.stockpile.xml"; - n_group_bits->m_addornements = "v"; - n_group_bits->m_address = base + offset; - n_group_bits->m_parent = p_node_parent; - n_group_bits->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_group_bits); - - field_name = "list_ids"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_stockpilest, field_name)); - auto n_list_ids = new NodeVector; - n_list_ids->m_field_name = field_name; - n_list_ids->m_df_type = DF_Type::stockpile_list; - n_list_ids->m_rdf_type = RDF_Type::Vector; - n_list_ids->m_node_type = NodeType::Vector; - n_list_ids->m_enum_base = DF_Type::int32_t; - n_list_ids->m_defined_in = "df.stockpile.xml"; - n_list_ids->m_addornements = "v"; - n_list_ids->m_address = base + offset; - n_list_ids->m_parent = p_node_parent; - n_list_ids->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_list_ids); - - field_name = "item_names"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_stockpilest, field_name)); - auto n_item_names = new NodeVector; - n_item_names->m_field_name = field_name; - n_item_names->m_df_type = DF_Type::Stl_string; - n_item_names->m_rdf_type = RDF_Type::Vector; - n_item_names->m_node_type = NodeType::Vector; - n_item_names->m_addornements = "v*"; - n_item_names->m_address = base + offset; - n_item_names->m_parent = p_node_parent; - n_item_names->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_item_names); - - field_name = "item_status"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_stockpilest, field_name)); - auto n_item_status = new NodeVector; - n_item_status->m_field_name = field_name; - n_item_status->m_df_type = DF_Type::Bool; - n_item_status->m_rdf_type = RDF_Type::Vector; - n_item_status->m_node_type = NodeType::Vector; - n_item_status->m_addornements = "v*"; - n_item_status->m_address = base + offset; - n_item_status->m_parent = p_node_parent; - n_item_status->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_item_status); - - field_name = "title"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_stockpilest, field_name)); - auto n_title = new NodeSimple; - n_title->m_field_name = field_name; - n_title->m_df_type = DF_Type::Stl_string; - n_title->m_rdf_type = RDF_Type::Stl_string; - n_title->m_node_type = NodeType::Simple; - n_title->m_address = base + offset; - n_title->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_title); - -} -void node_from_viewscreen_layer_stone_restrictionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen_layer; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen_layer(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "stone_type"; - auto n_stone_type = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_stone_restrictionst, field_name)); - n_stone_type->m_field_name = field_name; - n_stone_type->m_df_type = DF_Type::int32_t; - n_stone_type->m_rdf_type = RDF_Type::Array; - n_stone_type->m_node_type = NodeType::Array; - n_stone_type->m_addornements = "[2v"; - n_stone_type->m_array_size = 2; - n_stone_type->m_address = base + offset; - n_stone_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_stone_type); - - field_name = "stone_economic"; - auto n_stone_economic = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_stone_restrictionst, field_name)); - n_stone_economic->m_field_name = field_name; - n_stone_economic->m_df_type = DF_Type::Bool; - n_stone_economic->m_rdf_type = RDF_Type::Array; - n_stone_economic->m_node_type = NodeType::Array; - n_stone_economic->m_addornements = "[2v*"; - n_stone_economic->m_array_size = 2; - n_stone_economic->m_address = base + offset; - n_stone_economic->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_stone_economic); - - field_name = "type_tab"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_stone_restrictionst, field_name)); - auto n_type_tab = new NodeSimple; - n_type_tab->m_field_name = field_name; - n_type_tab->m_df_type = DF_Type::int32_t; - n_type_tab->m_rdf_type = RDF_Type::int32_t; - n_type_tab->m_node_type = NodeType::Simple; - n_type_tab->m_address = base + offset; - n_type_tab->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type_tab); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_stone_restrictionst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_stone_restrictionst, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "use_name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_stone_restrictionst, field_name)); - auto n_use_name = new NodeVector; - n_use_name->m_field_name = field_name; - n_use_name->m_df_type = DF_Type::Stl_string; - n_use_name->m_rdf_type = RDF_Type::Vector; - n_use_name->m_node_type = NodeType::Vector; - n_use_name->m_addornements = "v*"; - n_use_name->m_address = base + offset; - n_use_name->m_parent = p_node_parent; - n_use_name->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_use_name); - - field_name = "use_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_stone_restrictionst, field_name)); - auto n_use_id = new NodeVector; - n_use_id->m_field_name = field_name; - n_use_id->m_df_type = DF_Type::int32_t; - n_use_id->m_rdf_type = RDF_Type::Vector; - n_use_id->m_node_type = NodeType::Vector; - n_use_id->m_addornements = "v"; - n_use_id->m_address = base + offset; - n_use_id->m_parent = p_node_parent; - n_use_id->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_use_id); - -} -void node_from_viewscreen_layer_unit_actionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen_layer; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen_layer(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unit"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); - auto n_unit = new NodePointer; - n_unit->m_field_name = field_name; - n_unit->m_df_type = get_real_subtype(base+offset, DF_Type::unit); - n_unit->m_rdf_type = RDF_Type::Pointer; - n_unit->m_node_type = NodeType::Pointer; - n_unit->m_addornements = "*"; - n_unit->m_address = base + offset; - n_unit->m_parent = p_node_parent; - n_unit->m_defined_in = "df.units.xml"; - n_unit->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unit); - - field_name = "held_items"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); - auto n_held_items = new NodeVector; - n_held_items->m_field_name = field_name; - n_held_items->m_df_type = DF_Type::item; - n_held_items->m_rdf_type = RDF_Type::Vector; - n_held_items->m_node_type = NodeType::Vector; - n_held_items->m_defined_in = "df.items.xml"; - n_held_items->m_addornements = "v*"; - n_held_items->m_address = base + offset; - n_held_items->m_parent = p_node_parent; - n_held_items->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_held_items); - - field_name = "reactions"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); - auto n_reactions = new NodeVector; - n_reactions->m_field_name = field_name; - n_reactions->m_df_type = DF_Type::reaction; - n_reactions->m_rdf_type = RDF_Type::Vector; - n_reactions->m_node_type = NodeType::Vector; - n_reactions->m_defined_in = "df.reaction-raws.xml"; - n_reactions->m_addornements = "v*"; - n_reactions->m_address = base + offset; - n_reactions->m_parent = p_node_parent; - n_reactions->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_reactions); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); - auto n_anon_1 = new NodeVector; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::Void; - n_anon_1->m_rdf_type = RDF_Type::Vector; - n_anon_1->m_node_type = NodeType::Vector; - n_anon_1->m_addornements = "v"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "group_name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); - auto n_group_name = new NodeSimple; - n_group_name->m_field_name = field_name; - n_group_name->m_df_type = DF_Type::Stl_string; - n_group_name->m_rdf_type = RDF_Type::Stl_string; - n_group_name->m_node_type = NodeType::Simple; - n_group_name->m_address = base + offset; - n_group_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_group_name); - - field_name = "choice_items"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); - auto n_choice_items = new NodeVector; - n_choice_items->m_field_name = field_name; - n_choice_items->m_df_type = DF_Type::item; - n_choice_items->m_rdf_type = RDF_Type::Vector; - n_choice_items->m_node_type = NodeType::Vector; - n_choice_items->m_defined_in = "df.items.xml"; - n_choice_items->m_addornements = "v*"; - n_choice_items->m_address = base + offset; - n_choice_items->m_parent = p_node_parent; - n_choice_items->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_choice_items); - - field_name = "sel_items"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); - auto n_sel_items = new NodeVector; - n_sel_items->m_field_name = field_name; - n_sel_items->m_df_type = DF_Type::item; - n_sel_items->m_rdf_type = RDF_Type::Vector; - n_sel_items->m_node_type = NodeType::Vector; - n_sel_items->m_defined_in = "df.items.xml"; - n_sel_items->m_addornements = "v*"; - n_sel_items->m_address = base + offset; - n_sel_items->m_parent = p_node_parent; - n_sel_items->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_sel_items); - - field_name = "sel_reagents"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); - auto n_sel_reagents = new NodeVector; - n_sel_reagents->m_field_name = field_name; - n_sel_reagents->m_df_type = DF_Type::int32_t; - n_sel_reagents->m_rdf_type = RDF_Type::Vector; - n_sel_reagents->m_node_type = NodeType::Vector; - n_sel_reagents->m_addornements = "v"; - n_sel_reagents->m_address = base + offset; - n_sel_reagents->m_refers_to = "$$._global.cur_reaction[$]"; - n_sel_reagents->m_parent = p_node_parent; - n_sel_reagents->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_sel_reagents); - - field_name = "cur_reaction"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); - auto n_cur_reaction = new NodePointer; - n_cur_reaction->m_field_name = field_name; - n_cur_reaction->m_df_type = get_real_subtype(base+offset, DF_Type::reaction); - n_cur_reaction->m_rdf_type = RDF_Type::Pointer; - n_cur_reaction->m_node_type = NodeType::Pointer; - n_cur_reaction->m_addornements = "*"; - n_cur_reaction->m_address = base + offset; - n_cur_reaction->m_parent = p_node_parent; - n_cur_reaction->m_defined_in = "df.reaction-raws.xml"; - n_cur_reaction->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_cur_reaction); - - field_name = "reagent"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); - auto n_reagent = new NodeSimple; - n_reagent->m_field_name = field_name; - n_reagent->m_df_type = DF_Type::int32_t; - n_reagent->m_rdf_type = RDF_Type::int32_t; - n_reagent->m_node_type = NodeType::Simple; - n_reagent->m_address = base + offset; - n_reagent->m_refers_to = "$$.cur_reaction.reagents[$]"; - n_reagent->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_reagent); - - field_name = "reagent_amnt_left"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); - auto n_reagent_amnt_left = new NodeSimple; - n_reagent_amnt_left->m_field_name = field_name; - n_reagent_amnt_left->m_df_type = DF_Type::int32_t; - n_reagent_amnt_left->m_rdf_type = RDF_Type::int32_t; - n_reagent_amnt_left->m_node_type = NodeType::Simple; - n_reagent_amnt_left->m_address = base + offset; - n_reagent_amnt_left->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_reagent_amnt_left); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); - auto n_anon_2 = new NodeVector; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::Void; - n_anon_2->m_rdf_type = RDF_Type::Vector; - n_anon_2->m_node_type = NodeType::Vector; - n_anon_2->m_addornements = "v"; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - n_anon_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); - auto n_anon_6 = new NodeVector; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::Void; - n_anon_6->m_rdf_type = RDF_Type::Vector; - n_anon_6->m_node_type = NodeType::Vector; - n_anon_6->m_addornements = "v"; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - n_anon_6->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); - auto n_anon_7 = new NodeVector; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::Void; - n_anon_7->m_rdf_type = RDF_Type::Vector; - n_anon_7->m_node_type = NodeType::Vector; - n_anon_7->m_addornements = "v"; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - n_anon_7->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_7); - - field_name = "anon_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); - auto n_anon_8 = new NodeVector; - n_anon_8->m_field_name = field_name; - n_anon_8->m_df_type = DF_Type::Void; - n_anon_8->m_rdf_type = RDF_Type::Vector; - n_anon_8->m_node_type = NodeType::Vector; - n_anon_8->m_addornements = "v"; - n_anon_8->m_address = base + offset; - n_anon_8->m_parent = p_node_parent; - n_anon_8->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_8); - - field_name = "anon_9"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); - auto n_anon_9 = new NodeVector; - n_anon_9->m_field_name = field_name; - n_anon_9->m_df_type = DF_Type::Void; - n_anon_9->m_rdf_type = RDF_Type::Vector; - n_anon_9->m_node_type = NodeType::Vector; - n_anon_9->m_addornements = "v"; - n_anon_9->m_address = base + offset; - n_anon_9->m_parent = p_node_parent; - n_anon_9->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_9); - - field_name = "anon_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); - auto n_anon_10 = new NodeVector; - n_anon_10->m_field_name = field_name; - n_anon_10->m_df_type = DF_Type::Void; - n_anon_10->m_rdf_type = RDF_Type::Vector; - n_anon_10->m_node_type = NodeType::Vector; - n_anon_10->m_addornements = "v"; - n_anon_10->m_address = base + offset; - n_anon_10->m_parent = p_node_parent; - n_anon_10->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_10); - - field_name = "anon_11"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); - auto n_anon_11 = new NodeVector; - n_anon_11->m_field_name = field_name; - n_anon_11->m_df_type = DF_Type::Void; - n_anon_11->m_rdf_type = RDF_Type::Vector; - n_anon_11->m_node_type = NodeType::Vector; - n_anon_11->m_addornements = "v"; - n_anon_11->m_address = base + offset; - n_anon_11->m_parent = p_node_parent; - n_anon_11->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_11); - - field_name = "anon_12"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); - auto n_anon_12 = new NodeVector; - n_anon_12->m_field_name = field_name; - n_anon_12->m_df_type = DF_Type::Void; - n_anon_12->m_rdf_type = RDF_Type::Vector; - n_anon_12->m_node_type = NodeType::Vector; - n_anon_12->m_addornements = "v"; - n_anon_12->m_address = base + offset; - n_anon_12->m_parent = p_node_parent; - n_anon_12->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_12); - - field_name = "anon_13"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); - auto n_anon_13 = new NodeVector; - n_anon_13->m_field_name = field_name; - n_anon_13->m_df_type = DF_Type::Void; - n_anon_13->m_rdf_type = RDF_Type::Vector; - n_anon_13->m_node_type = NodeType::Vector; - n_anon_13->m_addornements = "v"; - n_anon_13->m_address = base + offset; - n_anon_13->m_parent = p_node_parent; - n_anon_13->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_13); - - field_name = "anon_14"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); - auto n_anon_14 = new NodeVector; - n_anon_14->m_field_name = field_name; - n_anon_14->m_df_type = DF_Type::Void; - n_anon_14->m_rdf_type = RDF_Type::Vector; - n_anon_14->m_node_type = NodeType::Vector; - n_anon_14->m_addornements = "v"; - n_anon_14->m_address = base + offset; - n_anon_14->m_parent = p_node_parent; - n_anon_14->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_14); - - field_name = "anon_15"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); - auto n_anon_15 = new NodeVector; - n_anon_15->m_field_name = field_name; - n_anon_15->m_df_type = DF_Type::Void; - n_anon_15->m_rdf_type = RDF_Type::Vector; - n_anon_15->m_node_type = NodeType::Vector; - n_anon_15->m_addornements = "v"; - n_anon_15->m_address = base + offset; - n_anon_15->m_parent = p_node_parent; - n_anon_15->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_15); - - field_name = "anon_16"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); - auto n_anon_16 = new NodeVector; - n_anon_16->m_field_name = field_name; - n_anon_16->m_df_type = DF_Type::Void; - n_anon_16->m_rdf_type = RDF_Type::Vector; - n_anon_16->m_node_type = NodeType::Vector; - n_anon_16->m_addornements = "v"; - n_anon_16->m_address = base + offset; - n_anon_16->m_parent = p_node_parent; - n_anon_16->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_16); - - field_name = "anon_17"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); - auto n_anon_17 = new NodeVector; - n_anon_17->m_field_name = field_name; - n_anon_17->m_df_type = DF_Type::Void; - n_anon_17->m_rdf_type = RDF_Type::Vector; - n_anon_17->m_node_type = NodeType::Vector; - n_anon_17->m_addornements = "v"; - n_anon_17->m_address = base + offset; - n_anon_17->m_parent = p_node_parent; - n_anon_17->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_17); - - field_name = "unk_20"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); - auto n_unk_20 = new NodeSimple; - n_unk_20->m_field_name = field_name; - n_unk_20->m_df_type = DF_Type::int32_t; - n_unk_20->m_rdf_type = RDF_Type::int32_t; - n_unk_20->m_node_type = NodeType::Simple; - n_unk_20->m_address = base + offset; - n_unk_20->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_20); - - field_name = "unk_21"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); - auto n_unk_21 = new NodePointer; - n_unk_21->m_field_name = field_name; - n_unk_21->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_unk_21->m_rdf_type = RDF_Type::Pointer; - n_unk_21->m_node_type = NodeType::Pointer; - n_unk_21->m_addornements = "*"; - n_unk_21->m_address = base + offset; - n_unk_21->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_21); - - field_name = "anon_18"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); - auto n_anon_18 = new NodeVector; - n_anon_18->m_field_name = field_name; - n_anon_18->m_df_type = DF_Type::Void; - n_anon_18->m_rdf_type = RDF_Type::Vector; - n_anon_18->m_node_type = NodeType::Vector; - n_anon_18->m_addornements = "v"; - n_anon_18->m_address = base + offset; - n_anon_18->m_parent = p_node_parent; - n_anon_18->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_18); - - field_name = "anon_19"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); - auto n_anon_19 = new NodeVector; - n_anon_19->m_field_name = field_name; - n_anon_19->m_df_type = DF_Type::Void; - n_anon_19->m_rdf_type = RDF_Type::Vector; - n_anon_19->m_node_type = NodeType::Vector; - n_anon_19->m_addornements = "v"; - n_anon_19->m_address = base + offset; - n_anon_19->m_parent = p_node_parent; - n_anon_19->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_19); - - field_name = "anon_20"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); - auto n_anon_20 = new NodeVector; - n_anon_20->m_field_name = field_name; - n_anon_20->m_df_type = DF_Type::Void; - n_anon_20->m_rdf_type = RDF_Type::Vector; - n_anon_20->m_node_type = NodeType::Vector; - n_anon_20->m_addornements = "v"; - n_anon_20->m_address = base + offset; - n_anon_20->m_parent = p_node_parent; - n_anon_20->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_20); - -} -void node_from_viewscreen_layer_unit_healthst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen_layer; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen_layer(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_healthst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "unit"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_healthst, field_name)); - auto n_unit = new NodePointer; - n_unit->m_field_name = field_name; - n_unit->m_df_type = get_real_subtype(base+offset, DF_Type::unit); - n_unit->m_rdf_type = RDF_Type::Pointer; - n_unit->m_node_type = NodeType::Pointer; - n_unit->m_addornements = "*"; - n_unit->m_address = base + offset; - n_unit->m_parent = p_node_parent; - n_unit->m_defined_in = "df.units.xml"; - n_unit->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unit); - - field_name = "page"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_healthst, field_name)); - auto n_page = new NodeSimple; - n_page->m_field_name = field_name; - n_page->m_df_type = DF_Type::int16_t; - n_page->m_rdf_type = RDF_Type::int16_t; - n_page->m_node_type = NodeType::Simple; - n_page->m_address = base + offset; - n_page->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_page); - - field_name = "title"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_healthst, field_name)); - auto n_title = new NodeSimple; - n_title->m_field_name = field_name; - n_title->m_df_type = DF_Type::Stl_string; - n_title->m_rdf_type = RDF_Type::Stl_string; - n_title->m_node_type = NodeType::Simple; - n_title->m_address = base + offset; - n_title->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_title); - - field_name = "text"; - auto n_text = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_healthst, field_name)); - n_text->m_field_name = field_name; - n_text->m_df_type = DF_Type::Stl_string; - n_text->m_rdf_type = RDF_Type::Array; - n_text->m_node_type = NodeType::Array; - n_text->m_addornements = "[4v*"; - n_text->m_array_size = 4; - n_text->m_address = base + offset; - n_text->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_text); - - field_name = "text_fg"; - auto n_text_fg = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_healthst, field_name)); - n_text_fg->m_field_name = field_name; - n_text_fg->m_df_type = DF_Type::int16_t; - n_text_fg->m_rdf_type = RDF_Type::Array; - n_text_fg->m_node_type = NodeType::Array; - n_text_fg->m_addornements = "[4v"; - n_text_fg->m_array_size = 4; - n_text_fg->m_address = base + offset; - n_text_fg->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_text_fg); - - field_name = "text_bg"; - auto n_text_bg = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_healthst, field_name)); - n_text_bg->m_field_name = field_name; - n_text_bg->m_df_type = DF_Type::int16_t; - n_text_bg->m_rdf_type = RDF_Type::Array; - n_text_bg->m_node_type = NodeType::Array; - n_text_bg->m_addornements = "[4v"; - n_text_bg->m_array_size = 4; - n_text_bg->m_address = base + offset; - n_text_bg->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_text_bg); - - field_name = "text_bold"; - auto n_text_bold = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_healthst, field_name)); - n_text_bold->m_field_name = field_name; - n_text_bold->m_df_type = DF_Type::int16_t; - n_text_bold->m_rdf_type = RDF_Type::Array; - n_text_bold->m_node_type = NodeType::Array; - n_text_bold->m_addornements = "[4v"; - n_text_bold->m_array_size = 4; - n_text_bold->m_address = base + offset; - n_text_bold->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_text_bold); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_healthst, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_healthst, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_healthst, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_healthst, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - -} -void node_from_viewscreen_layer_unit_relationshipst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen_layer; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen_layer(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unit"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_relationshipst, field_name)); - auto n_unit = new NodePointer; - n_unit->m_field_name = field_name; - n_unit->m_df_type = get_real_subtype(base+offset, DF_Type::unit); - n_unit->m_rdf_type = RDF_Type::Pointer; - n_unit->m_node_type = NodeType::Pointer; - n_unit->m_addornements = "*"; - n_unit->m_address = base + offset; - n_unit->m_parent = p_node_parent; - n_unit->m_defined_in = "df.units.xml"; - n_unit->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unit); - - field_name = "relation_textline"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_relationshipst, field_name)); - auto n_relation_textline = new NodeVector; - n_relation_textline->m_field_name = field_name; - n_relation_textline->m_df_type = DF_Type::Stl_string; - n_relation_textline->m_rdf_type = RDF_Type::Vector; - n_relation_textline->m_node_type = NodeType::Vector; - n_relation_textline->m_addornements = "v*"; - n_relation_textline->m_address = base + offset; - n_relation_textline->m_parent = p_node_parent; - n_relation_textline->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_relation_textline); - - field_name = "relation_unit_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_relationshipst, field_name)); - auto n_relation_unit_type = new NodeVector; - n_relation_unit_type->m_field_name = field_name; - n_relation_unit_type->m_df_type = DF_Type::unit_relationship_type; - n_relation_unit_type->m_rdf_type = RDF_Type::Vector; - n_relation_unit_type->m_node_type = NodeType::Vector; - n_relation_unit_type->m_enum_base = DF_Type::int16_t; - n_relation_unit_type->m_defined_in = "df.units.xml"; - n_relation_unit_type->m_addornements = "v"; - n_relation_unit_type->m_address = base + offset; - n_relation_unit_type->m_parent = p_node_parent; - n_relation_unit_type->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_relation_unit_type); - - field_name = "relation_histfig_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_relationshipst, field_name)); - auto n_relation_histfig_type = new NodeVector; - n_relation_histfig_type->m_field_name = field_name; - n_relation_histfig_type->m_df_type = DF_Type::histfig_relationship_type; - n_relation_histfig_type->m_rdf_type = RDF_Type::Vector; - n_relation_histfig_type->m_node_type = NodeType::Vector; - n_relation_histfig_type->m_enum_base = DF_Type::int16_t; - n_relation_histfig_type->m_defined_in = "df.history.xml"; - n_relation_histfig_type->m_addornements = "v"; - n_relation_histfig_type->m_address = base + offset; - n_relation_histfig_type->m_parent = p_node_parent; - n_relation_histfig_type->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_relation_histfig_type); - - field_name = "relation_unit"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_relationshipst, field_name)); - auto n_relation_unit = new NodeVector; - n_relation_unit->m_field_name = field_name; - n_relation_unit->m_df_type = DF_Type::unit; - n_relation_unit->m_rdf_type = RDF_Type::Vector; - n_relation_unit->m_node_type = NodeType::Vector; - n_relation_unit->m_defined_in = "df.units.xml"; - n_relation_unit->m_addornements = "v*"; - n_relation_unit->m_address = base + offset; - n_relation_unit->m_parent = p_node_parent; - n_relation_unit->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_relation_unit); - - field_name = "relation_hf"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_relationshipst, field_name)); - auto n_relation_hf = new NodeVector; - n_relation_hf->m_field_name = field_name; - n_relation_hf->m_df_type = DF_Type::historical_figure; - n_relation_hf->m_rdf_type = RDF_Type::Vector; - n_relation_hf->m_node_type = NodeType::Vector; - n_relation_hf->m_defined_in = "df.history.xml"; - n_relation_hf->m_addornements = "v*"; - n_relation_hf->m_address = base + offset; - n_relation_hf->m_parent = p_node_parent; - n_relation_hf->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_relation_hf); - - field_name = "level"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_relationshipst, field_name)); - auto n_level = new NodeVector; - n_level->m_field_name = field_name; - n_level->m_df_type = DF_Type::int32_t; - n_level->m_rdf_type = RDF_Type::Vector; - n_level->m_node_type = NodeType::Vector; - n_level->m_addornements = "v"; - n_level->m_address = base + offset; - n_level->m_parent = p_node_parent; - n_level->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_level); - -} -void node_from_viewscreen_layer_world_gen_paramst__T_unk1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_paramst__T_unk1, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_paramst__T_unk1, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_paramst__T_unk1, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_paramst__T_unk1, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_paramst__T_unk1, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_paramst__T_unk1, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_paramst__T_unk1, field_name)); - auto n_anon_7 = new NodeSimple; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::int32_t; - n_anon_7->m_rdf_type = RDF_Type::int32_t; - n_anon_7->m_node_type = NodeType::Simple; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_7); - - field_name = "anon_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_paramst__T_unk1, field_name)); - auto n_anon_8 = new NodeSimple; - n_anon_8->m_field_name = field_name; - n_anon_8->m_df_type = DF_Type::int32_t; - n_anon_8->m_rdf_type = RDF_Type::int32_t; - n_anon_8->m_node_type = NodeType::Simple; - n_anon_8->m_address = base + offset; - n_anon_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_8); - - field_name = "anon_9"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_paramst__T_unk1, field_name)); - auto n_anon_9 = new NodeSimple; - n_anon_9->m_field_name = field_name; - n_anon_9->m_df_type = DF_Type::int32_t; - n_anon_9->m_rdf_type = RDF_Type::int32_t; - n_anon_9->m_node_type = NodeType::Simple; - n_anon_9->m_address = base + offset; - n_anon_9->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_9); - - field_name = "anon_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_paramst__T_unk1, field_name)); - auto n_anon_10 = new NodeSimple; - n_anon_10->m_field_name = field_name; - n_anon_10->m_df_type = DF_Type::int32_t; - n_anon_10->m_rdf_type = RDF_Type::int32_t; - n_anon_10->m_node_type = NodeType::Simple; - n_anon_10->m_address = base + offset; - n_anon_10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_10); - - field_name = "anon_11"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_paramst__T_unk1, field_name)); - auto n_anon_11 = new NodeSimple; - n_anon_11->m_field_name = field_name; - n_anon_11->m_df_type = DF_Type::int32_t; - n_anon_11->m_rdf_type = RDF_Type::int32_t; - n_anon_11->m_node_type = NodeType::Simple; - n_anon_11->m_address = base + offset; - n_anon_11->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_11); - - field_name = "anon_12"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_paramst__T_unk1, field_name)); - auto n_anon_12 = new NodeSimple; - n_anon_12->m_field_name = field_name; - n_anon_12->m_df_type = DF_Type::int32_t; - n_anon_12->m_rdf_type = RDF_Type::int32_t; - n_anon_12->m_node_type = NodeType::Simple; - n_anon_12->m_address = base + offset; - n_anon_12->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_12); - - field_name = "anon_13"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_paramst__T_unk1, field_name)); - auto n_anon_13 = new NodeSimple; - n_anon_13->m_field_name = field_name; - n_anon_13->m_df_type = DF_Type::int32_t; - n_anon_13->m_rdf_type = RDF_Type::int32_t; - n_anon_13->m_node_type = NodeType::Simple; - n_anon_13->m_address = base + offset; - n_anon_13->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_13); - - field_name = "anon_14"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_paramst__T_unk1, field_name)); - auto n_anon_14 = new NodeSimple; - n_anon_14->m_field_name = field_name; - n_anon_14->m_df_type = DF_Type::int32_t; - n_anon_14->m_rdf_type = RDF_Type::int32_t; - n_anon_14->m_node_type = NodeType::Simple; - n_anon_14->m_address = base + offset; - n_anon_14->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_14); - - field_name = "anon_15"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_paramst__T_unk1, field_name)); - auto n_anon_15 = new NodeSimple; - n_anon_15->m_field_name = field_name; - n_anon_15->m_df_type = DF_Type::int32_t; - n_anon_15->m_rdf_type = RDF_Type::int32_t; - n_anon_15->m_node_type = NodeType::Simple; - n_anon_15->m_address = base + offset; - n_anon_15->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_15); - - field_name = "anon_16"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_paramst__T_unk1, field_name)); - auto n_anon_16 = new NodeSimple; - n_anon_16->m_field_name = field_name; - n_anon_16->m_df_type = DF_Type::int32_t; - n_anon_16->m_rdf_type = RDF_Type::int32_t; - n_anon_16->m_node_type = NodeType::Simple; - n_anon_16->m_address = base + offset; - n_anon_16->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_16); - - field_name = "anon_17"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_paramst__T_unk1, field_name)); - auto n_anon_17 = new NodeSimple; - n_anon_17->m_field_name = field_name; - n_anon_17->m_df_type = DF_Type::int32_t; - n_anon_17->m_rdf_type = RDF_Type::int32_t; - n_anon_17->m_node_type = NodeType::Simple; - n_anon_17->m_address = base + offset; - n_anon_17->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_17); - - field_name = "anon_18"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_paramst__T_unk1, field_name)); - auto n_anon_18 = new NodeSimple; - n_anon_18->m_field_name = field_name; - n_anon_18->m_df_type = DF_Type::int32_t; - n_anon_18->m_rdf_type = RDF_Type::int32_t; - n_anon_18->m_node_type = NodeType::Simple; - n_anon_18->m_address = base + offset; - n_anon_18->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_18); - - field_name = "anon_19"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_paramst__T_unk1, field_name)); - auto n_anon_19 = new NodeSimple; - n_anon_19->m_field_name = field_name; - n_anon_19->m_df_type = DF_Type::int32_t; - n_anon_19->m_rdf_type = RDF_Type::int32_t; - n_anon_19->m_node_type = NodeType::Simple; - n_anon_19->m_address = base + offset; - n_anon_19->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_19); - - field_name = "anon_20"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_paramst__T_unk1, field_name)); - auto n_anon_20 = new NodeSimple; - n_anon_20->m_field_name = field_name; - n_anon_20->m_df_type = DF_Type::int32_t; - n_anon_20->m_rdf_type = RDF_Type::int32_t; - n_anon_20->m_node_type = NodeType::Simple; - n_anon_20->m_address = base + offset; - n_anon_20->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_20); - - field_name = "anon_21"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_paramst__T_unk1, field_name)); - auto n_anon_21 = new NodeSimple; - n_anon_21->m_field_name = field_name; - n_anon_21->m_df_type = DF_Type::int32_t; - n_anon_21->m_rdf_type = RDF_Type::int32_t; - n_anon_21->m_node_type = NodeType::Simple; - n_anon_21->m_address = base + offset; - n_anon_21->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_21); - - field_name = "anon_22"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_paramst__T_unk1, field_name)); - auto n_anon_22 = new NodeSimple; - n_anon_22->m_field_name = field_name; - n_anon_22->m_df_type = DF_Type::int32_t; - n_anon_22->m_rdf_type = RDF_Type::int32_t; - n_anon_22->m_node_type = NodeType::Simple; - n_anon_22->m_address = base + offset; - n_anon_22->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_22); - - field_name = "anon_23"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_paramst__T_unk1, field_name)); - auto n_anon_23 = new NodeSimple; - n_anon_23->m_field_name = field_name; - n_anon_23->m_df_type = DF_Type::int32_t; - n_anon_23->m_rdf_type = RDF_Type::int32_t; - n_anon_23->m_node_type = NodeType::Simple; - n_anon_23->m_address = base + offset; - n_anon_23->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_23); - - field_name = "anon_24"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_paramst__T_unk1, field_name)); - auto n_anon_24 = new NodeSimple; - n_anon_24->m_field_name = field_name; - n_anon_24->m_df_type = DF_Type::int32_t; - n_anon_24->m_rdf_type = RDF_Type::int32_t; - n_anon_24->m_node_type = NodeType::Simple; - n_anon_24->m_address = base + offset; - n_anon_24->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_24); - - field_name = "anon_25"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_paramst__T_unk1, field_name)); - auto n_anon_25 = new NodeSimple; - n_anon_25->m_field_name = field_name; - n_anon_25->m_df_type = DF_Type::int32_t; - n_anon_25->m_rdf_type = RDF_Type::int32_t; - n_anon_25->m_node_type = NodeType::Simple; - n_anon_25->m_address = base + offset; - n_anon_25->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_25); - - field_name = "anon_26"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_paramst__T_unk1, field_name)); - auto n_anon_26 = new NodeSimple; - n_anon_26->m_field_name = field_name; - n_anon_26->m_df_type = DF_Type::int32_t; - n_anon_26->m_rdf_type = RDF_Type::int32_t; - n_anon_26->m_node_type = NodeType::Simple; - n_anon_26->m_address = base + offset; - n_anon_26->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_26); - -} -void node_from_viewscreen_layer_world_gen_paramst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen_layer; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen_layer(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_paramst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_paramst, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::Stl_string; - n_anon_2->m_rdf_type = RDF_Type::Stl_string; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_paramst, field_name)); - auto n_anon_3 = new NodeVector; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::Void; - n_anon_3->m_rdf_type = RDF_Type::Vector; - n_anon_3->m_node_type = NodeType::Vector; - n_anon_3->m_addornements = "v"; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - n_anon_3->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "unk1"; - auto n_unk1 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_paramst, field_name)); - n_unk1->m_field_name = field_name; - n_unk1->m_df_type = DF_Type::viewscreen_layer_world_gen_paramst__T_unk1; - n_unk1->m_rdf_type = RDF_Type::Compound; - n_unk1->m_node_type = NodeType::Compound; - n_unk1->m_address = base + offset; - n_unk1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk1); - -} -void node_from_viewscreen_layer_world_gen_param_presetst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen_layer; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen_layer(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_param_presetst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_param_presetst, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_param_presetst, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::Stl_string; - n_anon_3->m_rdf_type = RDF_Type::Stl_string; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - auto n_anon_4 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_param_presetst, field_name)); - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int16_t; - n_anon_4->m_rdf_type = RDF_Type::Array; - n_anon_4->m_node_type = NodeType::Array; - n_anon_4->m_addornements = "[24"; - n_anon_4->m_array_size = 24; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - auto n_anon_5 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_param_presetst, field_name)); - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int8_t; - n_anon_5->m_rdf_type = RDF_Type::Array; - n_anon_5->m_node_type = NodeType::Array; - n_anon_5->m_addornements = "[24"; - n_anon_5->m_array_size = 24; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_param_presetst, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_param_presetst, field_name)); - auto n_anon_7 = new NodeSimple; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::int16_t; - n_anon_7->m_rdf_type = RDF_Type::int16_t; - n_anon_7->m_node_type = NodeType::Simple; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_7); - - field_name = "anon_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_param_presetst, field_name)); - auto n_anon_8 = new NodeSimple; - n_anon_8->m_field_name = field_name; - n_anon_8->m_df_type = DF_Type::int16_t; - n_anon_8->m_rdf_type = RDF_Type::int16_t; - n_anon_8->m_node_type = NodeType::Simple; - n_anon_8->m_address = base + offset; - n_anon_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_8); - - field_name = "anon_9"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_param_presetst, field_name)); - auto n_anon_9 = new NodeSimple; - n_anon_9->m_field_name = field_name; - n_anon_9->m_df_type = DF_Type::int16_t; - n_anon_9->m_rdf_type = RDF_Type::int16_t; - n_anon_9->m_node_type = NodeType::Simple; - n_anon_9->m_address = base + offset; - n_anon_9->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_9); - - field_name = "anon_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_param_presetst, field_name)); - auto n_anon_10 = new NodeSimple; - n_anon_10->m_field_name = field_name; - n_anon_10->m_df_type = DF_Type::int16_t; - n_anon_10->m_rdf_type = RDF_Type::int16_t; - n_anon_10->m_node_type = NodeType::Simple; - n_anon_10->m_address = base + offset; - n_anon_10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_10); - -} -void node_from_viewscreen_legendsst__T_anon_7__T_anon_3(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst__T_anon_7__T_anon_3, field_name)); - auto n_anon_1 = new NodePointer; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_anon_1->m_rdf_type = RDF_Type::Pointer; - n_anon_1->m_node_type = NodeType::Pointer; - n_anon_1->m_addornements = "*"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst__T_anon_7__T_anon_3, field_name)); - auto n_anon_2 = new NodePointer; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_anon_2->m_rdf_type = RDF_Type::Pointer; - n_anon_2->m_node_type = NodeType::Pointer; - n_anon_2->m_addornements = "*"; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst__T_anon_7__T_anon_3, field_name)); - auto n_anon_3 = new NodePointer; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_anon_3->m_rdf_type = RDF_Type::Pointer; - n_anon_3->m_node_type = NodeType::Pointer; - n_anon_3->m_addornements = "*"; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst__T_anon_7__T_anon_3, field_name)); - auto n_anon_4 = new NodePointer; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_anon_4->m_rdf_type = RDF_Type::Pointer; - n_anon_4->m_node_type = NodeType::Pointer; - n_anon_4->m_addornements = "*"; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst__T_anon_7__T_anon_3, field_name)); - auto n_anon_5 = new NodePointer; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_anon_5->m_rdf_type = RDF_Type::Pointer; - n_anon_5->m_node_type = NodeType::Pointer; - n_anon_5->m_addornements = "*"; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - -} -void node_from_viewscreen_legendsst__T_anon_7(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst__T_anon_7, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst__T_anon_7, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst__T_anon_7, field_name)); - auto n_anon_3 = new NodePointer; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = get_real_subtype(base+offset, DF_Type::viewscreen_legendsst__T_anon_7__T_anon_3); - n_anon_3->m_rdf_type = RDF_Type::Pointer; - n_anon_3->m_node_type = NodeType::Pointer; - n_anon_3->m_addornements = "*"; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - n_anon_3->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst__T_anon_7, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int16_t; - n_anon_4->m_rdf_type = RDF_Type::int16_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst__T_anon_7, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int16_t; - n_anon_5->m_rdf_type = RDF_Type::int16_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst__T_anon_7, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst__T_anon_7, field_name)); - auto n_anon_7 = new NodeVector; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::int32_t; - n_anon_7->m_rdf_type = RDF_Type::Vector; - n_anon_7->m_node_type = NodeType::Vector; - n_anon_7->m_addornements = "v"; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - n_anon_7->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_7); - -} -void node_from_viewscreen_legendsst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "init_step"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); - auto n_init_step = new NodeSimple; - n_init_step->m_field_name = field_name; - n_init_step->m_df_type = DF_Type::int32_t; - n_init_step->m_rdf_type = RDF_Type::int32_t; - n_init_step->m_node_type = NodeType::Simple; - n_init_step->m_address = base + offset; - n_init_step->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_init_step); - - field_name = "init_era"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); - auto n_init_era = new NodeSimple; - n_init_era->m_field_name = field_name; - n_init_era->m_df_type = DF_Type::int32_t; - n_init_era->m_rdf_type = RDF_Type::int32_t; - n_init_era->m_node_type = NodeType::Simple; - n_init_era->m_address = base + offset; - n_init_era->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_init_era); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "init_progress"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); - auto n_init_progress = new NodeSimple; - n_init_progress->m_field_name = field_name; - n_init_progress->m_df_type = DF_Type::int32_t; - n_init_progress->m_rdf_type = RDF_Type::int32_t; - n_init_progress->m_node_type = NodeType::Simple; - n_init_progress->m_address = base + offset; - n_init_progress->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_init_progress); - - field_name = "histfigs"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); - auto n_histfigs = new NodeVector; - n_histfigs->m_field_name = field_name; - n_histfigs->m_df_type = DF_Type::int32_t; - n_histfigs->m_rdf_type = RDF_Type::Vector; - n_histfigs->m_node_type = NodeType::Vector; - n_histfigs->m_addornements = "v"; - n_histfigs->m_address = base + offset; - n_histfigs->m_parent = p_node_parent; - n_histfigs->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_histfigs); - - field_name = "sites"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); - auto n_sites = new NodeVector; - n_sites->m_field_name = field_name; - n_sites->m_df_type = DF_Type::int32_t; - n_sites->m_rdf_type = RDF_Type::Vector; - n_sites->m_node_type = NodeType::Vector; - n_sites->m_addornements = "v"; - n_sites->m_address = base + offset; - n_sites->m_parent = p_node_parent; - n_sites->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_sites); - - field_name = "artifacts"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); - auto n_artifacts = new NodeVector; - n_artifacts->m_field_name = field_name; - n_artifacts->m_df_type = DF_Type::int32_t; - n_artifacts->m_rdf_type = RDF_Type::Vector; - n_artifacts->m_node_type = NodeType::Vector; - n_artifacts->m_addornements = "v"; - n_artifacts->m_address = base + offset; - n_artifacts->m_parent = p_node_parent; - n_artifacts->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_artifacts); - - field_name = "codices"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); - auto n_codices = new NodeVector; - n_codices->m_field_name = field_name; - n_codices->m_df_type = DF_Type::int32_t; - n_codices->m_rdf_type = RDF_Type::Vector; - n_codices->m_node_type = NodeType::Vector; - n_codices->m_addornements = "v"; - n_codices->m_address = base + offset; - n_codices->m_parent = p_node_parent; - n_codices->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_codices); - - field_name = "regions"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); - auto n_regions = new NodeVector; - n_regions->m_field_name = field_name; - n_regions->m_df_type = DF_Type::int32_t; - n_regions->m_rdf_type = RDF_Type::Vector; - n_regions->m_node_type = NodeType::Vector; - n_regions->m_addornements = "v"; - n_regions->m_address = base + offset; - n_regions->m_parent = p_node_parent; - n_regions->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_regions); - - field_name = "layers"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); - auto n_layers = new NodeVector; - n_layers->m_field_name = field_name; - n_layers->m_df_type = DF_Type::int32_t; - n_layers->m_rdf_type = RDF_Type::Vector; - n_layers->m_node_type = NodeType::Vector; - n_layers->m_addornements = "v"; - n_layers->m_address = base + offset; - n_layers->m_parent = p_node_parent; - n_layers->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_layers); - - field_name = "entities"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); - auto n_entities = new NodeVector; - n_entities->m_field_name = field_name; - n_entities->m_df_type = DF_Type::int32_t; - n_entities->m_rdf_type = RDF_Type::Vector; - n_entities->m_node_type = NodeType::Vector; - n_entities->m_addornements = "v"; - n_entities->m_address = base + offset; - n_entities->m_parent = p_node_parent; - n_entities->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_entities); - - field_name = "structure_sites"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); - auto n_structure_sites = new NodeVector; - n_structure_sites->m_field_name = field_name; - n_structure_sites->m_df_type = DF_Type::int32_t; - n_structure_sites->m_rdf_type = RDF_Type::Vector; - n_structure_sites->m_node_type = NodeType::Vector; - n_structure_sites->m_addornements = "v"; - n_structure_sites->m_address = base + offset; - n_structure_sites->m_parent = p_node_parent; - n_structure_sites->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_structure_sites); - - field_name = "structures_indices"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); - auto n_structures_indices = new NodeVector; - n_structures_indices->m_field_name = field_name; - n_structures_indices->m_df_type = DF_Type::int32_t; - n_structures_indices->m_rdf_type = RDF_Type::Vector; - n_structures_indices->m_node_type = NodeType::Vector; - n_structures_indices->m_addornements = "v"; - n_structures_indices->m_address = base + offset; - n_structures_indices->m_parent = p_node_parent; - n_structures_indices->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_structures_indices); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); - auto n_anon_4 = new NodeVector; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::Void; - n_anon_4->m_rdf_type = RDF_Type::Vector; - n_anon_4->m_node_type = NodeType::Vector; - n_anon_4->m_addornements = "v"; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - n_anon_4->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "header_text"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); - auto n_header_text = new NodeVector; - n_header_text->m_field_name = field_name; - n_header_text->m_df_type = DF_Type::Stl_string; - n_header_text->m_rdf_type = RDF_Type::Vector; - n_header_text->m_node_type = NodeType::Vector; - n_header_text->m_addornements = "v*"; - n_header_text->m_address = base + offset; - n_header_text->m_parent = p_node_parent; - n_header_text->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_header_text); - - field_name = "event_collections"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); - auto n_event_collections = new NodeVector; - n_event_collections->m_field_name = field_name; - n_event_collections->m_df_type = DF_Type::int32_t; - n_event_collections->m_rdf_type = RDF_Type::Vector; - n_event_collections->m_node_type = NodeType::Vector; - n_event_collections->m_addornements = "v"; - n_event_collections->m_address = base + offset; - n_event_collections->m_parent = p_node_parent; - n_event_collections->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_event_collections); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); - auto n_anon_5 = new NodeVector; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::Bool; - n_anon_5->m_rdf_type = RDF_Type::Vector; - n_anon_5->m_node_type = NodeType::Vector; - n_anon_5->m_addornements = "v"; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - n_anon_5->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "events"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); - auto n_events = new NodeVector; - n_events->m_field_name = field_name; - n_events->m_df_type = DF_Type::int32_t; - n_events->m_rdf_type = RDF_Type::Vector; - n_events->m_node_type = NodeType::Vector; - n_events->m_addornements = "v"; - n_events->m_address = base + offset; - n_events->m_parent = p_node_parent; - n_events->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_events); - - field_name = "events_text"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); - auto n_events_text = new NodeVector; - n_events_text->m_field_name = field_name; - n_events_text->m_df_type = DF_Type::Stl_string; - n_events_text->m_rdf_type = RDF_Type::Vector; - n_events_text->m_node_type = NodeType::Vector; - n_events_text->m_addornements = "v*"; - n_events_text->m_address = base + offset; - n_events_text->m_parent = p_node_parent; - n_events_text->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_events_text); - - field_name = "stack_collections"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); - auto n_stack_collections = new NodeVector; - n_stack_collections->m_field_name = field_name; - n_stack_collections->m_df_type = DF_Type::int32_t; - n_stack_collections->m_rdf_type = RDF_Type::Vector; - n_stack_collections->m_node_type = NodeType::Vector; - n_stack_collections->m_addornements = "v"; - n_stack_collections->m_address = base + offset; - n_stack_collections->m_parent = p_node_parent; - n_stack_collections->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_stack_collections); - - field_name = "stack_cursor"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); - auto n_stack_cursor = new NodeVector; - n_stack_cursor->m_field_name = field_name; - n_stack_cursor->m_df_type = DF_Type::int32_t; - n_stack_cursor->m_rdf_type = RDF_Type::Vector; - n_stack_cursor->m_node_type = NodeType::Vector; - n_stack_cursor->m_addornements = "v"; - n_stack_cursor->m_address = base + offset; - n_stack_cursor->m_parent = p_node_parent; - n_stack_cursor->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_stack_cursor); - - field_name = "collection_name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); - auto n_collection_name = new NodeSimple; - n_collection_name->m_field_name = field_name; - n_collection_name->m_df_type = DF_Type::Stl_string; - n_collection_name->m_rdf_type = RDF_Type::Stl_string; - n_collection_name->m_node_type = NodeType::Simple; - n_collection_name->m_address = base + offset; - n_collection_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_collection_name); - - field_name = "cur_page"; - auto n_cur_page = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); - n_cur_page->m_field_name = field_name; - n_cur_page->m_df_type = DF_Type::viewscreen_legendsst__T_cur_page; - n_cur_page->m_rdf_type = RDF_Type::Enum; - n_cur_page->m_node_type = NodeType::Enum; - n_cur_page->m_base_type = DF_Type::int16_t; - n_cur_page->m_enum_type = "viewscreen_legendsst::T_cur_page"; - n_cur_page->m_address = base + offset; - n_cur_page->m_comment = "invalid pages fail to render properly but do not crash"; - n_cur_page->m_first_value = 0; - n_cur_page->m_last_value = 11; - n_cur_page->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cur_page); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "main_cursor"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); - auto n_main_cursor = new NodeSimple; - n_main_cursor->m_field_name = field_name; - n_main_cursor->m_df_type = DF_Type::int32_t; - n_main_cursor->m_rdf_type = RDF_Type::int32_t; - n_main_cursor->m_node_type = NodeType::Simple; - n_main_cursor->m_address = base + offset; - n_main_cursor->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_main_cursor); - - field_name = "main_row_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); - auto n_main_row_type = new NodeVector; - n_main_row_type->m_field_name = field_name; - n_main_row_type->m_df_type = DF_Type::int16_t; - n_main_row_type->m_rdf_type = RDF_Type::Vector; - n_main_row_type->m_node_type = NodeType::Vector; - n_main_row_type->m_addornements = "v"; - n_main_row_type->m_address = base + offset; - n_main_row_type->m_parent = p_node_parent; - n_main_row_type->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_main_row_type); - - field_name = "main_row_arg1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); - auto n_main_row_arg1 = new NodeVector; - n_main_row_arg1->m_field_name = field_name; - n_main_row_arg1->m_df_type = DF_Type::int32_t; - n_main_row_arg1->m_rdf_type = RDF_Type::Vector; - n_main_row_arg1->m_node_type = NodeType::Vector; - n_main_row_arg1->m_addornements = "v"; - n_main_row_arg1->m_address = base + offset; - n_main_row_arg1->m_parent = p_node_parent; - n_main_row_arg1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_main_row_arg1); - - field_name = "main_row_arg2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); - auto n_main_row_arg2 = new NodeVector; - n_main_row_arg2->m_field_name = field_name; - n_main_row_arg2->m_df_type = DF_Type::int32_t; - n_main_row_arg2->m_rdf_type = RDF_Type::Vector; - n_main_row_arg2->m_node_type = NodeType::Vector; - n_main_row_arg2->m_addornements = "v"; - n_main_row_arg2->m_address = base + offset; - n_main_row_arg2->m_parent = p_node_parent; - n_main_row_arg2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_main_row_arg2); - - field_name = "main_row_arg3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); - auto n_main_row_arg3 = new NodeVector; - n_main_row_arg3->m_field_name = field_name; - n_main_row_arg3->m_df_type = DF_Type::int32_t; - n_main_row_arg3->m_rdf_type = RDF_Type::Vector; - n_main_row_arg3->m_node_type = NodeType::Vector; - n_main_row_arg3->m_addornements = "v"; - n_main_row_arg3->m_address = base + offset; - n_main_row_arg3->m_parent = p_node_parent; - n_main_row_arg3->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_main_row_arg3); - - field_name = "sub_cursor"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); - auto n_sub_cursor = new NodeSimple; - n_sub_cursor->m_field_name = field_name; - n_sub_cursor->m_df_type = DF_Type::int32_t; - n_sub_cursor->m_rdf_type = RDF_Type::int32_t; - n_sub_cursor->m_node_type = NodeType::Simple; - n_sub_cursor->m_address = base + offset; - n_sub_cursor->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sub_cursor); - - field_name = "important_events_only"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); - auto n_important_events_only = new NodeSimple; - n_important_events_only->m_field_name = field_name; - n_important_events_only->m_df_type = DF_Type::int8_t; - n_important_events_only->m_rdf_type = RDF_Type::int8_t; - n_important_events_only->m_node_type = NodeType::Simple; - n_important_events_only->m_address = base + offset; - n_important_events_only->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_important_events_only); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); - auto n_anon_7 = new NodeVector; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::viewscreen_legendsst__T_anon_7; - n_anon_7->m_rdf_type = RDF_Type::Vector; - n_anon_7->m_node_type = NodeType::Vector; - n_anon_7->m_addornements = "v*"; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - n_anon_7->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_7); - - field_name = "map_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); - auto n_map_x = new NodeSimple; - n_map_x->m_field_name = field_name; - n_map_x->m_df_type = DF_Type::int16_t; - n_map_x->m_rdf_type = RDF_Type::int16_t; - n_map_x->m_node_type = NodeType::Simple; - n_map_x->m_address = base + offset; - n_map_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_map_x); - - field_name = "map_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); - auto n_map_y = new NodeSimple; - n_map_y->m_field_name = field_name; - n_map_y->m_df_type = DF_Type::int16_t; - n_map_y->m_rdf_type = RDF_Type::int16_t; - n_map_y->m_node_type = NodeType::Simple; - n_map_y->m_address = base + offset; - n_map_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_map_y); - - field_name = "hide_territories"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); - auto n_hide_territories = new NodeSimple; - n_hide_territories->m_field_name = field_name; - n_hide_territories->m_df_type = DF_Type::int16_t; - n_hide_territories->m_rdf_type = RDF_Type::int16_t; - n_hide_territories->m_node_type = NodeType::Simple; - n_hide_territories->m_address = base + offset; - n_hide_territories->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_hide_territories); - - field_name = "civ_site_mode"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); - auto n_civ_site_mode = new NodeSimple; - n_civ_site_mode->m_field_name = field_name; - n_civ_site_mode->m_df_type = DF_Type::int16_t; - n_civ_site_mode->m_rdf_type = RDF_Type::int16_t; - n_civ_site_mode->m_node_type = NodeType::Simple; - n_civ_site_mode->m_address = base + offset; - n_civ_site_mode->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_civ_site_mode); - - field_name = "decade"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); - auto n_decade = new NodeSimple; - n_decade->m_field_name = field_name; - n_decade->m_df_type = DF_Type::int16_t; - n_decade->m_rdf_type = RDF_Type::int16_t; - n_decade->m_node_type = NodeType::Simple; - n_decade->m_address = base + offset; - n_decade->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_decade); - - field_name = "filter_text"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); - auto n_filter_text = new NodeSimple; - n_filter_text->m_field_name = field_name; - n_filter_text->m_df_type = DF_Type::Stl_string; - n_filter_text->m_rdf_type = RDF_Type::Stl_string; - n_filter_text->m_node_type = NodeType::Simple; - n_filter_text->m_address = base + offset; - n_filter_text->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_filter_text); - - field_name = "filter_editing"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); - auto n_filter_editing = new NodeSimple; - n_filter_editing->m_field_name = field_name; - n_filter_editing->m_df_type = DF_Type::int8_t; - n_filter_editing->m_rdf_type = RDF_Type::int8_t; - n_filter_editing->m_node_type = NodeType::Simple; - n_filter_editing->m_address = base + offset; - n_filter_editing->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_filter_editing); - - field_name = "histfigs_filtered"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); - auto n_histfigs_filtered = new NodeVector; - n_histfigs_filtered->m_field_name = field_name; - n_histfigs_filtered->m_df_type = DF_Type::int32_t; - n_histfigs_filtered->m_rdf_type = RDF_Type::Vector; - n_histfigs_filtered->m_node_type = NodeType::Vector; - n_histfigs_filtered->m_addornements = "v"; - n_histfigs_filtered->m_address = base + offset; - n_histfigs_filtered->m_comment = "index into histfigs"; - n_histfigs_filtered->m_parent = p_node_parent; - n_histfigs_filtered->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_histfigs_filtered); - - field_name = "sites_filtered"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); - auto n_sites_filtered = new NodeVector; - n_sites_filtered->m_field_name = field_name; - n_sites_filtered->m_df_type = DF_Type::int32_t; - n_sites_filtered->m_rdf_type = RDF_Type::Vector; - n_sites_filtered->m_node_type = NodeType::Vector; - n_sites_filtered->m_addornements = "v"; - n_sites_filtered->m_address = base + offset; - n_sites_filtered->m_comment = "index into sites"; - n_sites_filtered->m_parent = p_node_parent; - n_sites_filtered->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_sites_filtered); - - field_name = "artifacts_filtered"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); - auto n_artifacts_filtered = new NodeVector; - n_artifacts_filtered->m_field_name = field_name; - n_artifacts_filtered->m_df_type = DF_Type::int32_t; - n_artifacts_filtered->m_rdf_type = RDF_Type::Vector; - n_artifacts_filtered->m_node_type = NodeType::Vector; - n_artifacts_filtered->m_addornements = "v"; - n_artifacts_filtered->m_address = base + offset; - n_artifacts_filtered->m_comment = "index into artifacts"; - n_artifacts_filtered->m_parent = p_node_parent; - n_artifacts_filtered->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_artifacts_filtered); - - field_name = "codices_filtered"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); - auto n_codices_filtered = new NodeVector; - n_codices_filtered->m_field_name = field_name; - n_codices_filtered->m_df_type = DF_Type::int32_t; - n_codices_filtered->m_rdf_type = RDF_Type::Vector; - n_codices_filtered->m_node_type = NodeType::Vector; - n_codices_filtered->m_addornements = "v"; - n_codices_filtered->m_address = base + offset; - n_codices_filtered->m_comment = "index into codices"; - n_codices_filtered->m_parent = p_node_parent; - n_codices_filtered->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_codices_filtered); - - field_name = "regions_filtered"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); - auto n_regions_filtered = new NodeVector; - n_regions_filtered->m_field_name = field_name; - n_regions_filtered->m_df_type = DF_Type::int32_t; - n_regions_filtered->m_rdf_type = RDF_Type::Vector; - n_regions_filtered->m_node_type = NodeType::Vector; - n_regions_filtered->m_addornements = "v"; - n_regions_filtered->m_address = base + offset; - n_regions_filtered->m_comment = "index into regions"; - n_regions_filtered->m_parent = p_node_parent; - n_regions_filtered->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_regions_filtered); - - field_name = "layers_filtered"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); - auto n_layers_filtered = new NodeVector; - n_layers_filtered->m_field_name = field_name; - n_layers_filtered->m_df_type = DF_Type::int32_t; - n_layers_filtered->m_rdf_type = RDF_Type::Vector; - n_layers_filtered->m_node_type = NodeType::Vector; - n_layers_filtered->m_addornements = "v"; - n_layers_filtered->m_address = base + offset; - n_layers_filtered->m_comment = "index into layers"; - n_layers_filtered->m_parent = p_node_parent; - n_layers_filtered->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_layers_filtered); - - field_name = "anon_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); - auto n_anon_8 = new NodeVector; - n_anon_8->m_field_name = field_name; - n_anon_8->m_df_type = DF_Type::int32_t; - n_anon_8->m_rdf_type = RDF_Type::Vector; - n_anon_8->m_node_type = NodeType::Vector; - n_anon_8->m_addornements = "v"; - n_anon_8->m_address = base + offset; - n_anon_8->m_parent = p_node_parent; - n_anon_8->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_8); - - field_name = "entities_filtered"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); - auto n_entities_filtered = new NodeVector; - n_entities_filtered->m_field_name = field_name; - n_entities_filtered->m_df_type = DF_Type::int32_t; - n_entities_filtered->m_rdf_type = RDF_Type::Vector; - n_entities_filtered->m_node_type = NodeType::Vector; - n_entities_filtered->m_addornements = "v"; - n_entities_filtered->m_address = base + offset; - n_entities_filtered->m_comment = "index into entities"; - n_entities_filtered->m_parent = p_node_parent; - n_entities_filtered->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_entities_filtered); - - field_name = "structures_filtered"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); - auto n_structures_filtered = new NodeVector; - n_structures_filtered->m_field_name = field_name; - n_structures_filtered->m_df_type = DF_Type::int32_t; - n_structures_filtered->m_rdf_type = RDF_Type::Vector; - n_structures_filtered->m_node_type = NodeType::Vector; - n_structures_filtered->m_addornements = "v"; - n_structures_filtered->m_address = base + offset; - n_structures_filtered->m_comment = "index into structures"; - n_structures_filtered->m_parent = p_node_parent; - n_structures_filtered->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_structures_filtered); - - field_name = "total_codices"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); - auto n_total_codices = new NodeSimple; - n_total_codices->m_field_name = field_name; - n_total_codices->m_df_type = DF_Type::int32_t; - n_total_codices->m_rdf_type = RDF_Type::int32_t; - n_total_codices->m_node_type = NodeType::Simple; - n_total_codices->m_address = base + offset; - n_total_codices->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_total_codices); - - field_name = "total_artifacts"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); - auto n_total_artifacts = new NodeSimple; - n_total_artifacts->m_field_name = field_name; - n_total_artifacts->m_df_type = DF_Type::int32_t; - n_total_artifacts->m_rdf_type = RDF_Type::int32_t; - n_total_artifacts->m_node_type = NodeType::Simple; - n_total_artifacts->m_address = base + offset; - n_total_artifacts->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_total_artifacts); - - field_name = "anon_9"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); - auto n_anon_9 = new NodeSimple; - n_anon_9->m_field_name = field_name; - n_anon_9->m_df_type = DF_Type::int32_t; - n_anon_9->m_rdf_type = RDF_Type::int32_t; - n_anon_9->m_node_type = NodeType::Simple; - n_anon_9->m_address = base + offset; - n_anon_9->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_9); - - field_name = "anon_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); - auto n_anon_10 = new NodeSimple; - n_anon_10->m_field_name = field_name; - n_anon_10->m_df_type = DF_Type::int32_t; - n_anon_10->m_rdf_type = RDF_Type::int32_t; - n_anon_10->m_node_type = NodeType::Simple; - n_anon_10->m_address = base + offset; - n_anon_10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_10); - - field_name = "anon_11"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); - auto n_anon_11 = new NodeSimple; - n_anon_11->m_field_name = field_name; - n_anon_11->m_df_type = DF_Type::int32_t; - n_anon_11->m_rdf_type = RDF_Type::int32_t; - n_anon_11->m_node_type = NodeType::Simple; - n_anon_11->m_address = base + offset; - n_anon_11->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_11); - - field_name = "anon_12"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); - auto n_anon_12 = new NodeSimple; - n_anon_12->m_field_name = field_name; - n_anon_12->m_df_type = DF_Type::int32_t; - n_anon_12->m_rdf_type = RDF_Type::int32_t; - n_anon_12->m_node_type = NodeType::Simple; - n_anon_12->m_address = base + offset; - n_anon_12->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_12); - - field_name = "anon_13"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); - auto n_anon_13 = new NodeSimple; - n_anon_13->m_field_name = field_name; - n_anon_13->m_df_type = DF_Type::int32_t; - n_anon_13->m_rdf_type = RDF_Type::int32_t; - n_anon_13->m_node_type = NodeType::Simple; - n_anon_13->m_address = base + offset; - n_anon_13->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_13); - - field_name = "anon_14"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); - auto n_anon_14 = new NodeSimple; - n_anon_14->m_field_name = field_name; - n_anon_14->m_df_type = DF_Type::int32_t; - n_anon_14->m_rdf_type = RDF_Type::int32_t; - n_anon_14->m_node_type = NodeType::Simple; - n_anon_14->m_address = base + offset; - n_anon_14->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_14); - -} -void node_from_viewscreen_locationsst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "locations"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_locationsst, field_name)); - auto n_locations = new NodeVector; - n_locations->m_field_name = field_name; - n_locations->m_df_type = DF_Type::abstract_building; - n_locations->m_rdf_type = RDF_Type::Vector; - n_locations->m_node_type = NodeType::Vector; - n_locations->m_defined_in = "df.world-site.xml"; - n_locations->m_addornements = "v*"; - n_locations->m_address = base + offset; - n_locations->m_parent = p_node_parent; - n_locations->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_locations); - - field_name = "dance_floor_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_locationsst, field_name)); - auto n_dance_floor_x = new NodeVector; - n_dance_floor_x->m_field_name = field_name; - n_dance_floor_x->m_df_type = DF_Type::int32_t; - n_dance_floor_x->m_rdf_type = RDF_Type::Vector; - n_dance_floor_x->m_node_type = NodeType::Vector; - n_dance_floor_x->m_addornements = "v"; - n_dance_floor_x->m_address = base + offset; - n_dance_floor_x->m_parent = p_node_parent; - n_dance_floor_x->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_dance_floor_x); - - field_name = "dance_floor_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_locationsst, field_name)); - auto n_dance_floor_y = new NodeVector; - n_dance_floor_y->m_field_name = field_name; - n_dance_floor_y->m_df_type = DF_Type::int32_t; - n_dance_floor_y->m_rdf_type = RDF_Type::Vector; - n_dance_floor_y->m_node_type = NodeType::Vector; - n_dance_floor_y->m_addornements = "v"; - n_dance_floor_y->m_address = base + offset; - n_dance_floor_y->m_parent = p_node_parent; - n_dance_floor_y->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_dance_floor_y); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_locationsst, field_name)); - auto n_anon_1 = new NodeVector; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::Vector; - n_anon_1->m_node_type = NodeType::Vector; - n_anon_1->m_addornements = "v"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "location_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_locationsst, field_name)); - auto n_location_idx = new NodeSimple; - n_location_idx->m_field_name = field_name; - n_location_idx->m_df_type = DF_Type::int32_t; - n_location_idx->m_rdf_type = RDF_Type::int32_t; - n_location_idx->m_node_type = NodeType::Simple; - n_location_idx->m_address = base + offset; - n_location_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_location_idx); - - field_name = "occupations"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_locationsst, field_name)); - auto n_occupations = new NodeVector; - n_occupations->m_field_name = field_name; - n_occupations->m_df_type = DF_Type::occupation; - n_occupations->m_rdf_type = RDF_Type::Vector; - n_occupations->m_node_type = NodeType::Vector; - n_occupations->m_defined_in = "df.art.xml"; - n_occupations->m_addornements = "v*"; - n_occupations->m_address = base + offset; - n_occupations->m_parent = p_node_parent; - n_occupations->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_occupations); - - field_name = "occupation_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_locationsst, field_name)); - auto n_occupation_idx = new NodeSimple; - n_occupation_idx->m_field_name = field_name; - n_occupation_idx->m_df_type = DF_Type::int32_t; - n_occupation_idx->m_rdf_type = RDF_Type::int32_t; - n_occupation_idx->m_node_type = NodeType::Simple; - n_occupation_idx->m_address = base + offset; - n_occupation_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_occupation_idx); - - field_name = "units"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_locationsst, field_name)); - auto n_units = new NodeVector; - n_units->m_field_name = field_name; - n_units->m_df_type = DF_Type::unit; - n_units->m_rdf_type = RDF_Type::Vector; - n_units->m_node_type = NodeType::Vector; - n_units->m_defined_in = "df.units.xml"; - n_units->m_addornements = "v*"; - n_units->m_address = base + offset; - n_units->m_parent = p_node_parent; - n_units->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_units); - - field_name = "unit_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_locationsst, field_name)); - auto n_unit_idx = new NodeSimple; - n_unit_idx->m_field_name = field_name; - n_unit_idx->m_df_type = DF_Type::int32_t; - n_unit_idx->m_rdf_type = RDF_Type::int32_t; - n_unit_idx->m_node_type = NodeType::Simple; - n_unit_idx->m_address = base + offset; - n_unit_idx->m_comment = "uninitialized"; - n_unit_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unit_idx); - - field_name = "in_edit"; - auto n_in_edit = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_locationsst, field_name)); - n_in_edit->m_field_name = field_name; - n_in_edit->m_df_type = DF_Type::viewscreen_locationsst__T_in_edit; - n_in_edit->m_rdf_type = RDF_Type::Enum; - n_in_edit->m_node_type = NodeType::Enum; - n_in_edit->m_base_type = DF_Type::int32_t; - n_in_edit->m_enum_type = "viewscreen_locationsst::T_in_edit"; - n_in_edit->m_address = base + offset; - n_in_edit->m_first_value = 0; - n_in_edit->m_last_value = 4; - n_in_edit->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_in_edit); - - field_name = "edit_input"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_locationsst, field_name)); - auto n_edit_input = new NodeSimple; - n_edit_input->m_field_name = field_name; - n_edit_input->m_df_type = DF_Type::Stl_string; - n_edit_input->m_rdf_type = RDF_Type::Stl_string; - n_edit_input->m_node_type = NodeType::Simple; - n_edit_input->m_address = base + offset; - n_edit_input->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_edit_input); - - field_name = "menu"; - auto n_menu = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_locationsst, field_name)); - n_menu->m_field_name = field_name; - n_menu->m_df_type = DF_Type::viewscreen_locationsst__T_menu; - n_menu->m_rdf_type = RDF_Type::Enum; - n_menu->m_node_type = NodeType::Enum; - n_menu->m_base_type = DF_Type::int32_t; - n_menu->m_enum_type = "viewscreen_locationsst::T_menu"; - n_menu->m_address = base + offset; - n_menu->m_first_value = 0; - n_menu->m_last_value = 2; - n_menu->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_menu); - -} -void node_from_loadgame_save_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "save_info"; - auto n_save_info = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::loadgame_save_info, field_name)); - n_save_info->m_field_name = field_name; - n_save_info->m_df_type = DF_Type::int32_t; - n_save_info->m_rdf_type = RDF_Type::Array; - n_save_info->m_comment = "all of the next_id globals"; - n_save_info->m_node_type = NodeType::Array; - n_save_info->m_addornements = "[39"; - n_save_info->m_array_size = 39; - n_save_info->m_address = base + offset; - n_save_info->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_save_info); - - field_name = "game_type"; - auto n_game_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::loadgame_save_info, field_name)); - n_game_type->m_field_name = field_name; - n_game_type->m_df_type = DF_Type::game_type; - n_game_type->m_rdf_type = RDF_Type::Enum; - n_game_type->m_node_type = NodeType::Enum; - n_game_type->m_base_type = DF_Type::int16_t; - n_game_type->m_enum_type = "game_type"; - n_game_type->m_address = base + offset; - n_game_type->m_comment = "only 0 (fort) 1 (adv) 3(reclaim) are valid"; - n_game_type->m_defined_in = "df.globals.xml"; - n_game_type->m_first_value = 0; - n_game_type->m_last_value = 11; - n_game_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_game_type); - - field_name = "fort_name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::loadgame_save_info, field_name)); - auto n_fort_name = new NodeSimple; - n_fort_name->m_field_name = field_name; - n_fort_name->m_df_type = DF_Type::Stl_string; - n_fort_name->m_rdf_type = RDF_Type::Stl_string; - n_fort_name->m_node_type = NodeType::Simple; - n_fort_name->m_address = base + offset; - n_fort_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_fort_name); - - field_name = "world_name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::loadgame_save_info, field_name)); - auto n_world_name = new NodeSimple; - n_world_name->m_field_name = field_name; - n_world_name->m_df_type = DF_Type::Stl_string; - n_world_name->m_rdf_type = RDF_Type::Stl_string; - n_world_name->m_node_type = NodeType::Simple; - n_world_name->m_address = base + offset; - n_world_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_world_name); - - field_name = "year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::loadgame_save_info, field_name)); - auto n_year = new NodeSimple; - n_year->m_field_name = field_name; - n_year->m_df_type = DF_Type::int32_t; - n_year->m_rdf_type = RDF_Type::int32_t; - n_year->m_node_type = NodeType::Simple; - n_year->m_address = base + offset; - n_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_year); - - field_name = "folder_name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::loadgame_save_info, field_name)); - auto n_folder_name = new NodeSimple; - n_folder_name->m_field_name = field_name; - n_folder_name->m_df_type = DF_Type::Stl_string; - n_folder_name->m_rdf_type = RDF_Type::Stl_string; - n_folder_name->m_node_type = NodeType::Simple; - n_folder_name->m_address = base + offset; - n_folder_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_folder_name); - -} -void node_from_viewscreen_loadgamest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "cur_step"; - auto n_cur_step = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_loadgamest, field_name)); - n_cur_step->m_field_name = field_name; - n_cur_step->m_df_type = DF_Type::viewscreen_loadgamest__T_cur_step; - n_cur_step->m_rdf_type = RDF_Type::Enum; - n_cur_step->m_node_type = NodeType::Enum; - n_cur_step->m_base_type = enum_base_type(n_cur_step->m_df_type); - n_cur_step->m_enum_type = "viewscreen_loadgamest::T_cur_step"; - n_cur_step->m_address = base + offset; - n_cur_step->m_comment = "After the on-screen text shown while loading."; - n_cur_step->m_first_value = 0; - n_cur_step->m_last_value = 48; - n_cur_step->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cur_step); - - field_name = "unk_v40_1b"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_loadgamest, field_name)); - auto n_unk_v40_1b = new NodeSimple; - n_unk_v40_1b->m_field_name = field_name; - n_unk_v40_1b->m_df_type = DF_Type::int32_t; - n_unk_v40_1b->m_rdf_type = RDF_Type::int32_t; - n_unk_v40_1b->m_node_type = NodeType::Simple; - n_unk_v40_1b->m_address = base + offset; - n_unk_v40_1b->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_1b); - - field_name = "loading"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_loadgamest, field_name)); - auto n_loading = new NodeSimple; - n_loading->m_field_name = field_name; - n_loading->m_df_type = DF_Type::int8_t; - n_loading->m_rdf_type = RDF_Type::int8_t; - n_loading->m_node_type = NodeType::Simple; - n_loading->m_address = base + offset; - n_loading->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_loading); - - field_name = "sel_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_loadgamest, field_name)); - auto n_sel_idx = new NodeSimple; - n_sel_idx->m_field_name = field_name; - n_sel_idx->m_df_type = DF_Type::int32_t; - n_sel_idx->m_rdf_type = RDF_Type::int32_t; - n_sel_idx->m_node_type = NodeType::Simple; - n_sel_idx->m_address = base + offset; - n_sel_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sel_idx); - - field_name = "saves"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_loadgamest, field_name)); - auto n_saves = new NodeVector; - n_saves->m_field_name = field_name; - n_saves->m_df_type = DF_Type::loadgame_save_info; - n_saves->m_rdf_type = RDF_Type::Vector; - n_saves->m_node_type = NodeType::Vector; - n_saves->m_defined_in = "df.viewscreen.xml"; - n_saves->m_addornements = "v*"; - n_saves->m_address = base + offset; - n_saves->m_parent = p_node_parent; - n_saves->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_saves); - - field_name = "compressor"; - auto n_compressor = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_loadgamest, field_name)); - n_compressor->m_field_name = field_name; - n_compressor->m_df_type = DF_Type::file_compressorst; - n_compressor->m_rdf_type = RDF_Type::Struct; - n_compressor->m_node_type = NodeType::Compound; - n_compressor->m_address = base + offset; - n_compressor->m_defined_in = "df.viewscreen.xml"; - n_compressor->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_compressor); - - field_name = "glosses"; - auto n_glosses = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_loadgamest, field_name)); - n_glosses->m_field_name = field_name; - n_glosses->m_df_type = DF_Type::matgloss_list; - n_glosses->m_rdf_type = RDF_Type::Struct; - n_glosses->m_node_type = NodeType::Compound; - n_glosses->m_address = base + offset; - n_glosses->m_defined_in = "df.viewscreen.xml"; - n_glosses->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_glosses); - - field_name = "save_version"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_loadgamest, field_name)); - auto n_save_version = new NodeSimple; - n_save_version->m_field_name = field_name; - n_save_version->m_df_type = DF_Type::int32_t; - n_save_version->m_rdf_type = RDF_Type::int32_t; - n_save_version->m_node_type = NodeType::Simple; - n_save_version->m_address = base + offset; - n_save_version->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_save_version); - - field_name = "cur_save"; - auto n_cur_save = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_loadgamest, field_name)); - n_cur_save->m_field_name = field_name; - n_cur_save->m_df_type = DF_Type::loadgame_save_info; - n_cur_save->m_rdf_type = RDF_Type::Struct; - n_cur_save->m_node_type = NodeType::Compound; - n_cur_save->m_address = base + offset; - n_cur_save->m_defined_in = "df.viewscreen.xml"; - n_cur_save->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cur_save); - -} -void node_from_viewscreen_meetingst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "dipscript_popup"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_meetingst, field_name)); - auto n_dipscript_popup = new NodePointer; - n_dipscript_popup->m_field_name = field_name; - n_dipscript_popup->m_df_type = get_real_subtype(base+offset, DF_Type::dipscript_popup); - n_dipscript_popup->m_rdf_type = RDF_Type::Pointer; - n_dipscript_popup->m_node_type = NodeType::Pointer; - n_dipscript_popup->m_addornements = "*"; - n_dipscript_popup->m_address = base + offset; - n_dipscript_popup->m_parent = p_node_parent; - n_dipscript_popup->m_defined_in = "df.meeting.xml"; - n_dipscript_popup->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_dipscript_popup); - - field_name = "activity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_meetingst, field_name)); - auto n_activity = new NodePointer; - n_activity->m_field_name = field_name; - n_activity->m_df_type = get_real_subtype(base+offset, DF_Type::activity_info); - n_activity->m_rdf_type = RDF_Type::Pointer; - n_activity->m_node_type = NodeType::Pointer; - n_activity->m_addornements = "*"; - n_activity->m_address = base + offset; - n_activity->m_parent = p_node_parent; - n_activity->m_defined_in = "df.meeting.xml"; - n_activity->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_activity); - - field_name = "holder"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_meetingst, field_name)); - auto n_holder = new NodePointer; - n_holder->m_field_name = field_name; - n_holder->m_df_type = get_real_subtype(base+offset, DF_Type::unit); - n_holder->m_rdf_type = RDF_Type::Pointer; - n_holder->m_node_type = NodeType::Pointer; - n_holder->m_addornements = "*"; - n_holder->m_address = base + offset; - n_holder->m_parent = p_node_parent; - n_holder->m_defined_in = "df.units.xml"; - n_holder->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_holder); - -} -void node_from_viewscreen_movieplayerst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "saving"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_movieplayerst, field_name)); - auto n_saving = new NodeSimple; - n_saving->m_field_name = field_name; - n_saving->m_df_type = DF_Type::int8_t; - n_saving->m_rdf_type = RDF_Type::int8_t; - n_saving->m_node_type = NodeType::Simple; - n_saving->m_address = base + offset; - n_saving->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_saving); - - field_name = "loading"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_movieplayerst, field_name)); - auto n_loading = new NodeSimple; - n_loading->m_field_name = field_name; - n_loading->m_df_type = DF_Type::int8_t; - n_loading->m_rdf_type = RDF_Type::int8_t; - n_loading->m_node_type = NodeType::Simple; - n_loading->m_address = base + offset; - n_loading->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_loading); - - field_name = "editing"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_movieplayerst, field_name)); - auto n_editing = new NodeSimple; - n_editing->m_field_name = field_name; - n_editing->m_df_type = DF_Type::int8_t; - n_editing->m_rdf_type = RDF_Type::int8_t; - n_editing->m_node_type = NodeType::Simple; - n_editing->m_address = base + offset; - n_editing->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_editing); - - field_name = "text_mode"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_movieplayerst, field_name)); - auto n_text_mode = new NodeSimple; - n_text_mode->m_field_name = field_name; - n_text_mode->m_df_type = DF_Type::int8_t; - n_text_mode->m_rdf_type = RDF_Type::int8_t; - n_text_mode->m_node_type = NodeType::Simple; - n_text_mode->m_address = base + offset; - n_text_mode->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_text_mode); - - field_name = "editing_char"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_movieplayerst, field_name)); - auto n_editing_char = new NodeSimple; - n_editing_char->m_field_name = field_name; - n_editing_char->m_df_type = DF_Type::uint8_t; - n_editing_char->m_rdf_type = RDF_Type::uint8_t; - n_editing_char->m_node_type = NodeType::Simple; - n_editing_char->m_address = base + offset; - n_editing_char->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_editing_char); - - field_name = "editing_copy_from"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_movieplayerst, field_name)); - auto n_editing_copy_from = new NodeSimple; - n_editing_copy_from->m_field_name = field_name; - n_editing_copy_from->m_df_type = DF_Type::int32_t; - n_editing_copy_from->m_rdf_type = RDF_Type::int32_t; - n_editing_copy_from->m_node_type = NodeType::Simple; - n_editing_copy_from->m_address = base + offset; - n_editing_copy_from->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_editing_copy_from); - - field_name = "editing_screenf"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_movieplayerst, field_name)); - auto n_editing_screenf = new NodeSimple; - n_editing_screenf->m_field_name = field_name; - n_editing_screenf->m_df_type = DF_Type::int16_t; - n_editing_screenf->m_rdf_type = RDF_Type::int16_t; - n_editing_screenf->m_node_type = NodeType::Simple; - n_editing_screenf->m_address = base + offset; - n_editing_screenf->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_editing_screenf); - - field_name = "editing_screenb"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_movieplayerst, field_name)); - auto n_editing_screenb = new NodeSimple; - n_editing_screenb->m_field_name = field_name; - n_editing_screenb->m_df_type = DF_Type::int16_t; - n_editing_screenb->m_rdf_type = RDF_Type::int16_t; - n_editing_screenb->m_node_type = NodeType::Simple; - n_editing_screenb->m_address = base + offset; - n_editing_screenb->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_editing_screenb); - - field_name = "editing_screenbright"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_movieplayerst, field_name)); - auto n_editing_screenbright = new NodeSimple; - n_editing_screenbright->m_field_name = field_name; - n_editing_screenbright->m_df_type = DF_Type::int16_t; - n_editing_screenbright->m_rdf_type = RDF_Type::int16_t; - n_editing_screenbright->m_node_type = NodeType::Simple; - n_editing_screenbright->m_address = base + offset; - n_editing_screenbright->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_editing_screenbright); - - field_name = "editing_selected_sound"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_movieplayerst, field_name)); - auto n_editing_selected_sound = new NodeSimple; - n_editing_selected_sound->m_field_name = field_name; - n_editing_selected_sound->m_df_type = DF_Type::int32_t; - n_editing_selected_sound->m_rdf_type = RDF_Type::int32_t; - n_editing_selected_sound->m_node_type = NodeType::Simple; - n_editing_selected_sound->m_address = base + offset; - n_editing_selected_sound->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_editing_selected_sound); - - field_name = "editing_menu"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_movieplayerst, field_name)); - auto n_editing_menu = new NodeSimple; - n_editing_menu->m_field_name = field_name; - n_editing_menu->m_df_type = DF_Type::int8_t; - n_editing_menu->m_rdf_type = RDF_Type::int8_t; - n_editing_menu->m_node_type = NodeType::Simple; - n_editing_menu->m_address = base + offset; - n_editing_menu->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_editing_menu); - - field_name = "savename"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_movieplayerst, field_name)); - auto n_savename = new NodeSimple; - n_savename->m_field_name = field_name; - n_savename->m_df_type = DF_Type::Stl_string; - n_savename->m_rdf_type = RDF_Type::Stl_string; - n_savename->m_node_type = NodeType::Simple; - n_savename->m_address = base + offset; - n_savename->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_savename); - - field_name = "force_file"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_movieplayerst, field_name)); - auto n_force_file = new NodeSimple; - n_force_file->m_field_name = field_name; - n_force_file->m_df_type = DF_Type::Stl_string; - n_force_file->m_rdf_type = RDF_Type::Stl_string; - n_force_file->m_node_type = NodeType::Simple; - n_force_file->m_address = base + offset; - n_force_file->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_force_file); - - field_name = "is_playing"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_movieplayerst, field_name)); - auto n_is_playing = new NodeSimple; - n_is_playing->m_field_name = field_name; - n_is_playing->m_df_type = DF_Type::int8_t; - n_is_playing->m_rdf_type = RDF_Type::int8_t; - n_is_playing->m_node_type = NodeType::Simple; - n_is_playing->m_address = base + offset; - n_is_playing->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_is_playing); - - field_name = "is_forced_play"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_movieplayerst, field_name)); - auto n_is_forced_play = new NodeSimple; - n_is_forced_play->m_field_name = field_name; - n_is_forced_play->m_df_type = DF_Type::int8_t; - n_is_forced_play->m_rdf_type = RDF_Type::int8_t; - n_is_forced_play->m_node_type = NodeType::Simple; - n_is_forced_play->m_address = base + offset; - n_is_forced_play->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_is_forced_play); - - field_name = "quit_if_no_play"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_movieplayerst, field_name)); - auto n_quit_if_no_play = new NodeSimple; - n_quit_if_no_play->m_field_name = field_name; - n_quit_if_no_play->m_df_type = DF_Type::int8_t; - n_quit_if_no_play->m_rdf_type = RDF_Type::int8_t; - n_quit_if_no_play->m_node_type = NodeType::Simple; - n_quit_if_no_play->m_address = base + offset; - n_quit_if_no_play->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_quit_if_no_play); - - field_name = "maxmoviepos"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_movieplayerst, field_name)); - auto n_maxmoviepos = new NodeSimple; - n_maxmoviepos->m_field_name = field_name; - n_maxmoviepos->m_df_type = DF_Type::int32_t; - n_maxmoviepos->m_rdf_type = RDF_Type::int32_t; - n_maxmoviepos->m_node_type = NodeType::Simple; - n_maxmoviepos->m_address = base + offset; - n_maxmoviepos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_maxmoviepos); - - field_name = "end_frame_pos"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_movieplayerst, field_name)); - auto n_end_frame_pos = new NodeSimple; - n_end_frame_pos->m_field_name = field_name; - n_end_frame_pos->m_df_type = DF_Type::int32_t; - n_end_frame_pos->m_rdf_type = RDF_Type::int32_t; - n_end_frame_pos->m_node_type = NodeType::Simple; - n_end_frame_pos->m_address = base + offset; - n_end_frame_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_end_frame_pos); - - field_name = "selfile"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_movieplayerst, field_name)); - auto n_selfile = new NodeSimple; - n_selfile->m_field_name = field_name; - n_selfile->m_df_type = DF_Type::int32_t; - n_selfile->m_rdf_type = RDF_Type::int32_t; - n_selfile->m_node_type = NodeType::Simple; - n_selfile->m_address = base + offset; - n_selfile->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_selfile); - - field_name = "filelist"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_movieplayerst, field_name)); - auto n_filelist = new NodeVector; - n_filelist->m_field_name = field_name; - n_filelist->m_df_type = DF_Type::Ptr_char; - n_filelist->m_rdf_type = RDF_Type::Vector; - n_filelist->m_node_type = NodeType::Vector; - n_filelist->m_addornements = "v"; - n_filelist->m_address = base + offset; - n_filelist->m_parent = p_node_parent; - n_filelist->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_filelist); - -} -void node_from_viewscreen_new_regionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "worldgen_presets"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); - auto n_worldgen_presets = new NodeVector; - n_worldgen_presets->m_field_name = field_name; - n_worldgen_presets->m_df_type = DF_Type::Void; - n_worldgen_presets->m_rdf_type = RDF_Type::Vector; - n_worldgen_presets->m_node_type = NodeType::Vector; - n_worldgen_presets->m_addornements = "v"; - n_worldgen_presets->m_address = base + offset; - n_worldgen_presets->m_parent = p_node_parent; - n_worldgen_presets->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_worldgen_presets); - - field_name = "unk_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); - auto n_unk_2 = new NodeSimple; - n_unk_2->m_field_name = field_name; - n_unk_2->m_df_type = DF_Type::Bool; - n_unk_2->m_rdf_type = RDF_Type::Bool; - n_unk_2->m_node_type = NodeType::Simple; - n_unk_2->m_address = base + offset; - n_unk_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_2); - - field_name = "in_worldgen"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); - auto n_in_worldgen = new NodeSimple; - n_in_worldgen->m_field_name = field_name; - n_in_worldgen->m_df_type = DF_Type::Bool; - n_in_worldgen->m_rdf_type = RDF_Type::Bool; - n_in_worldgen->m_node_type = NodeType::Simple; - n_in_worldgen->m_address = base + offset; - n_in_worldgen->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_in_worldgen); - - field_name = "cursor_paramset"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); - auto n_cursor_paramset = new NodeSimple; - n_cursor_paramset->m_field_name = field_name; - n_cursor_paramset->m_df_type = DF_Type::int32_t; - n_cursor_paramset->m_rdf_type = RDF_Type::int32_t; - n_cursor_paramset->m_node_type = NodeType::Simple; - n_cursor_paramset->m_address = base + offset; - n_cursor_paramset->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cursor_paramset); - - field_name = "random_seed"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); - auto n_random_seed = new NodeSimple; - n_random_seed->m_field_name = field_name; - n_random_seed->m_df_type = DF_Type::Stl_string; - n_random_seed->m_rdf_type = RDF_Type::Stl_string; - n_random_seed->m_node_type = NodeType::Simple; - n_random_seed->m_address = base + offset; - n_random_seed->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_random_seed); - - field_name = "editing_randseed"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); - auto n_editing_randseed = new NodeSimple; - n_editing_randseed->m_field_name = field_name; - n_editing_randseed->m_df_type = DF_Type::Bool; - n_editing_randseed->m_rdf_type = RDF_Type::Bool; - n_editing_randseed->m_node_type = NodeType::Simple; - n_editing_randseed->m_address = base + offset; - n_editing_randseed->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_editing_randseed); - - field_name = "editing_customname"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); - auto n_editing_customname = new NodeSimple; - n_editing_customname->m_field_name = field_name; - n_editing_customname->m_df_type = DF_Type::Bool; - n_editing_customname->m_rdf_type = RDF_Type::Bool; - n_editing_customname->m_node_type = NodeType::Simple; - n_editing_customname->m_address = base + offset; - n_editing_customname->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_editing_customname); - - field_name = "editing_title"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); - auto n_editing_title = new NodeSimple; - n_editing_title->m_field_name = field_name; - n_editing_title->m_df_type = DF_Type::Bool; - n_editing_title->m_rdf_type = RDF_Type::Bool; - n_editing_title->m_node_type = NodeType::Simple; - n_editing_title->m_address = base + offset; - n_editing_title->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_editing_title); - - field_name = "popup_deleteset"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); - auto n_popup_deleteset = new NodeSimple; - n_popup_deleteset->m_field_name = field_name; - n_popup_deleteset->m_df_type = DF_Type::Bool; - n_popup_deleteset->m_rdf_type = RDF_Type::Bool; - n_popup_deleteset->m_node_type = NodeType::Simple; - n_popup_deleteset->m_address = base + offset; - n_popup_deleteset->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_popup_deleteset); - - field_name = "popup_changedimensions"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); - auto n_popup_changedimensions = new NodeSimple; - n_popup_changedimensions->m_field_name = field_name; - n_popup_changedimensions->m_df_type = DF_Type::Bool; - n_popup_changedimensions->m_rdf_type = RDF_Type::Bool; - n_popup_changedimensions->m_node_type = NodeType::Simple; - n_popup_changedimensions->m_address = base + offset; - n_popup_changedimensions->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_popup_changedimensions); - - field_name = "unk_11"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); - auto n_unk_11 = new NodeSimple; - n_unk_11->m_field_name = field_name; - n_unk_11->m_df_type = DF_Type::Bool; - n_unk_11->m_rdf_type = RDF_Type::Bool; - n_unk_11->m_node_type = NodeType::Simple; - n_unk_11->m_address = base + offset; - n_unk_11->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_11); - - field_name = "custom_size_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); - auto n_custom_size_x = new NodeSimple; - n_custom_size_x->m_field_name = field_name; - n_custom_size_x->m_df_type = DF_Type::uint16_t; - n_custom_size_x->m_rdf_type = RDF_Type::uint16_t; - n_custom_size_x->m_node_type = NodeType::Simple; - n_custom_size_x->m_address = base + offset; - n_custom_size_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_custom_size_x); - - field_name = "custom_size_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); - auto n_custom_size_y = new NodeSimple; - n_custom_size_y->m_field_name = field_name; - n_custom_size_y->m_df_type = DF_Type::uint16_t; - n_custom_size_y->m_rdf_type = RDF_Type::uint16_t; - n_custom_size_y->m_node_type = NodeType::Simple; - n_custom_size_y->m_address = base + offset; - n_custom_size_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_custom_size_y); - - field_name = "popup_abort"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); - auto n_popup_abort = new NodeSimple; - n_popup_abort->m_field_name = field_name; - n_popup_abort->m_df_type = DF_Type::Bool; - n_popup_abort->m_rdf_type = RDF_Type::Bool; - n_popup_abort->m_node_type = NodeType::Simple; - n_popup_abort->m_address = base + offset; - n_popup_abort->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_popup_abort); - - field_name = "popup_goon"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); - auto n_popup_goon = new NodeSimple; - n_popup_goon->m_field_name = field_name; - n_popup_goon->m_df_type = DF_Type::Bool; - n_popup_goon->m_rdf_type = RDF_Type::Bool; - n_popup_goon->m_node_type = NodeType::Simple; - n_popup_goon->m_address = base + offset; - n_popup_goon->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_popup_goon); - - field_name = "unsaved_changes"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); - auto n_unsaved_changes = new NodeSimple; - n_unsaved_changes->m_field_name = field_name; - n_unsaved_changes->m_df_type = DF_Type::Bool; - n_unsaved_changes->m_rdf_type = RDF_Type::Bool; - n_unsaved_changes->m_node_type = NodeType::Simple; - n_unsaved_changes->m_address = base + offset; - n_unsaved_changes->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unsaved_changes); - - field_name = "simple_mode"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); - auto n_simple_mode = new NodeSimple; - n_simple_mode->m_field_name = field_name; - n_simple_mode->m_df_type = DF_Type::Bool; - n_simple_mode->m_rdf_type = RDF_Type::Bool; - n_simple_mode->m_node_type = NodeType::Simple; - n_simple_mode->m_address = base + offset; - n_simple_mode->m_comment = "0=advanced params, 1=create new world"; - n_simple_mode->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_simple_mode); - - field_name = "unk_20"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); - auto n_unk_20 = new NodeSimple; - n_unk_20->m_field_name = field_name; - n_unk_20->m_df_type = DF_Type::Bool; - n_unk_20->m_rdf_type = RDF_Type::Bool; - n_unk_20->m_node_type = NodeType::Simple; - n_unk_20->m_address = base + offset; - n_unk_20->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_20); - - field_name = "unk_21"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); - auto n_unk_21 = new NodeSimple; - n_unk_21->m_field_name = field_name; - n_unk_21->m_df_type = DF_Type::Bool; - n_unk_21->m_rdf_type = RDF_Type::Bool; - n_unk_21->m_node_type = NodeType::Simple; - n_unk_21->m_address = base + offset; - n_unk_21->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_21); - - field_name = "cursor_line"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); - auto n_cursor_line = new NodeSimple; - n_cursor_line->m_field_name = field_name; - n_cursor_line->m_df_type = DF_Type::int16_t; - n_cursor_line->m_rdf_type = RDF_Type::int16_t; - n_cursor_line->m_node_type = NodeType::Simple; - n_cursor_line->m_address = base + offset; - n_cursor_line->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cursor_line); - - field_name = "world_size"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); - auto n_world_size = new NodeSimple; - n_world_size->m_field_name = field_name; - n_world_size->m_df_type = DF_Type::int32_t; - n_world_size->m_rdf_type = RDF_Type::int32_t; - n_world_size->m_node_type = NodeType::Simple; - n_world_size->m_address = base + offset; - n_world_size->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_world_size); - - field_name = "history"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); - auto n_history = new NodeSimple; - n_history->m_field_name = field_name; - n_history->m_df_type = DF_Type::int32_t; - n_history->m_rdf_type = RDF_Type::int32_t; - n_history->m_node_type = NodeType::Simple; - n_history->m_address = base + offset; - n_history->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_history); - - field_name = "number_civs"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); - auto n_number_civs = new NodeSimple; - n_number_civs->m_field_name = field_name; - n_number_civs->m_df_type = DF_Type::int32_t; - n_number_civs->m_rdf_type = RDF_Type::int32_t; - n_number_civs->m_node_type = NodeType::Simple; - n_number_civs->m_address = base + offset; - n_number_civs->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_number_civs); - - field_name = "number_sites"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); - auto n_number_sites = new NodeSimple; - n_number_sites->m_field_name = field_name; - n_number_sites->m_df_type = DF_Type::int32_t; - n_number_sites->m_rdf_type = RDF_Type::int32_t; - n_number_sites->m_node_type = NodeType::Simple; - n_number_sites->m_address = base + offset; - n_number_sites->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_number_sites); - - field_name = "number_beasts"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); - auto n_number_beasts = new NodeSimple; - n_number_beasts->m_field_name = field_name; - n_number_beasts->m_df_type = DF_Type::int32_t; - n_number_beasts->m_rdf_type = RDF_Type::int32_t; - n_number_beasts->m_node_type = NodeType::Simple; - n_number_beasts->m_address = base + offset; - n_number_beasts->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_number_beasts); - - field_name = "savagery"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); - auto n_savagery = new NodeSimple; - n_savagery->m_field_name = field_name; - n_savagery->m_df_type = DF_Type::int32_t; - n_savagery->m_rdf_type = RDF_Type::int32_t; - n_savagery->m_node_type = NodeType::Simple; - n_savagery->m_address = base + offset; - n_savagery->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_savagery); - - field_name = "mineral_occurence"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); - auto n_mineral_occurence = new NodeSimple; - n_mineral_occurence->m_field_name = field_name; - n_mineral_occurence->m_df_type = DF_Type::int32_t; - n_mineral_occurence->m_rdf_type = RDF_Type::int32_t; - n_mineral_occurence->m_node_type = NodeType::Simple; - n_mineral_occurence->m_address = base + offset; - n_mineral_occurence->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mineral_occurence); - - field_name = "worldgen_paused"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); - auto n_worldgen_paused = new NodeSimple; - n_worldgen_paused->m_field_name = field_name; - n_worldgen_paused->m_df_type = DF_Type::Bool; - n_worldgen_paused->m_rdf_type = RDF_Type::Bool; - n_worldgen_paused->m_node_type = NodeType::Simple; - n_worldgen_paused->m_address = base + offset; - n_worldgen_paused->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_worldgen_paused); - - field_name = "worldgen_rejected"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); - auto n_worldgen_rejected = new NodeSimple; - n_worldgen_rejected->m_field_name = field_name; - n_worldgen_rejected->m_df_type = DF_Type::Bool; - n_worldgen_rejected->m_rdf_type = RDF_Type::Bool; - n_worldgen_rejected->m_node_type = NodeType::Simple; - n_worldgen_rejected->m_address = base + offset; - n_worldgen_rejected->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_worldgen_rejected); - - field_name = "rejection_msg"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); - auto n_rejection_msg = new NodeVector; - n_rejection_msg->m_field_name = field_name; - n_rejection_msg->m_df_type = DF_Type::Stl_string; - n_rejection_msg->m_rdf_type = RDF_Type::Vector; - n_rejection_msg->m_node_type = NodeType::Vector; - n_rejection_msg->m_addornements = "v*"; - n_rejection_msg->m_address = base + offset; - n_rejection_msg->m_comment = "rejection popup"; - n_rejection_msg->m_parent = p_node_parent; - n_rejection_msg->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_rejection_msg); - - field_name = "welcome_msg"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); - auto n_welcome_msg = new NodeVector; - n_welcome_msg->m_field_name = field_name; - n_welcome_msg->m_df_type = DF_Type::Stl_string; - n_welcome_msg->m_rdf_type = RDF_Type::Vector; - n_welcome_msg->m_node_type = NodeType::Vector; - n_welcome_msg->m_addornements = "v*"; - n_welcome_msg->m_address = base + offset; - n_welcome_msg->m_comment = "fullscreen popup"; - n_welcome_msg->m_parent = p_node_parent; - n_welcome_msg->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_welcome_msg); - - field_name = "raw_folder"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); - auto n_raw_folder = new NodeSimple; - n_raw_folder->m_field_name = field_name; - n_raw_folder->m_df_type = DF_Type::Stl_string; - n_raw_folder->m_rdf_type = RDF_Type::Stl_string; - n_raw_folder->m_node_type = NodeType::Simple; - n_raw_folder->m_address = base + offset; - n_raw_folder->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_raw_folder); - - field_name = "load_world_params"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); - auto n_load_world_params = new NodeSimple; - n_load_world_params->m_field_name = field_name; - n_load_world_params->m_df_type = DF_Type::Bool; - n_load_world_params->m_rdf_type = RDF_Type::Bool; - n_load_world_params->m_node_type = NodeType::Simple; - n_load_world_params->m_address = base + offset; - n_load_world_params->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_load_world_params); - - field_name = "unk_b8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); - auto n_unk_b8 = new NodeSimple; - n_unk_b8->m_field_name = field_name; - n_unk_b8->m_df_type = DF_Type::int32_t; - n_unk_b8->m_rdf_type = RDF_Type::int32_t; - n_unk_b8->m_node_type = NodeType::Simple; - n_unk_b8->m_address = base + offset; - n_unk_b8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_b8); - - field_name = "unk_bc"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); - auto n_unk_bc = new NodeSimple; - n_unk_bc->m_field_name = field_name; - n_unk_bc->m_df_type = DF_Type::int32_t; - n_unk_bc->m_rdf_type = RDF_Type::int32_t; - n_unk_bc->m_node_type = NodeType::Simple; - n_unk_bc->m_address = base + offset; - n_unk_bc->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_bc); - -} -void node_from_viewscreen_noblest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "become_capital_offerings"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_noblest, field_name)); - auto n_become_capital_offerings = new NodeSimple; - n_become_capital_offerings->m_field_name = field_name; - n_become_capital_offerings->m_df_type = DF_Type::int32_t; - n_become_capital_offerings->m_rdf_type = RDF_Type::int32_t; - n_become_capital_offerings->m_node_type = NodeType::Simple; - n_become_capital_offerings->m_address = base + offset; - n_become_capital_offerings->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_become_capital_offerings); - -} -void node_from_viewscreen_optionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "msg_quit"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_optionst, field_name)); - auto n_msg_quit = new NodeSimple; - n_msg_quit->m_field_name = field_name; - n_msg_quit->m_df_type = DF_Type::int8_t; - n_msg_quit->m_rdf_type = RDF_Type::int8_t; - n_msg_quit->m_node_type = NodeType::Simple; - n_msg_quit->m_address = base + offset; - n_msg_quit->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_msg_quit); - - field_name = "in_retire_adv"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_optionst, field_name)); - auto n_in_retire_adv = new NodeSimple; - n_in_retire_adv->m_field_name = field_name; - n_in_retire_adv->m_df_type = DF_Type::int8_t; - n_in_retire_adv->m_rdf_type = RDF_Type::int8_t; - n_in_retire_adv->m_node_type = NodeType::Simple; - n_in_retire_adv->m_address = base + offset; - n_in_retire_adv->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_in_retire_adv); - - field_name = "msg_peasant"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_optionst, field_name)); - auto n_msg_peasant = new NodeSimple; - n_msg_peasant->m_field_name = field_name; - n_msg_peasant->m_df_type = DF_Type::int8_t; - n_msg_peasant->m_rdf_type = RDF_Type::int8_t; - n_msg_peasant->m_node_type = NodeType::Simple; - n_msg_peasant->m_address = base + offset; - n_msg_peasant->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_msg_peasant); - - field_name = "in_retire_dwf_abandon_adv"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_optionst, field_name)); - auto n_in_retire_dwf_abandon_adv = new NodeSimple; - n_in_retire_dwf_abandon_adv->m_field_name = field_name; - n_in_retire_dwf_abandon_adv->m_df_type = DF_Type::int8_t; - n_in_retire_dwf_abandon_adv->m_rdf_type = RDF_Type::int8_t; - n_in_retire_dwf_abandon_adv->m_node_type = NodeType::Simple; - n_in_retire_dwf_abandon_adv->m_address = base + offset; - n_in_retire_dwf_abandon_adv->m_comment = "1 when retiring a fortress or abandoning an adventurer"; - n_in_retire_dwf_abandon_adv->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_in_retire_dwf_abandon_adv); - - field_name = "in_abandon_dwf"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_optionst, field_name)); - auto n_in_abandon_dwf = new NodeSimple; - n_in_abandon_dwf->m_field_name = field_name; - n_in_abandon_dwf->m_df_type = DF_Type::int8_t; - n_in_abandon_dwf->m_rdf_type = RDF_Type::int8_t; - n_in_abandon_dwf->m_node_type = NodeType::Simple; - n_in_abandon_dwf->m_address = base + offset; - n_in_abandon_dwf->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_in_abandon_dwf); - - field_name = "ending_game"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_optionst, field_name)); - auto n_ending_game = new NodeSimple; - n_ending_game->m_field_name = field_name; - n_ending_game->m_df_type = DF_Type::int8_t; - n_ending_game->m_rdf_type = RDF_Type::int8_t; - n_ending_game->m_node_type = NodeType::Simple; - n_ending_game->m_address = base + offset; - n_ending_game->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ending_game); - - field_name = "sel_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_optionst, field_name)); - auto n_sel_idx = new NodeSimple; - n_sel_idx->m_field_name = field_name; - n_sel_idx->m_df_type = DF_Type::int32_t; - n_sel_idx->m_rdf_type = RDF_Type::int32_t; - n_sel_idx->m_node_type = NodeType::Simple; - n_sel_idx->m_address = base + offset; - n_sel_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sel_idx); - - field_name = "options"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_optionst, field_name)); - auto n_options = new NodeVector; - n_options->m_field_name = field_name; - n_options->m_df_type = DF_Type::viewscreen_optionst__T_options; - n_options->m_rdf_type = RDF_Type::Vector; - n_options->m_node_type = NodeType::Vector; - n_options->m_enum_base = DF_Type::int32_t; - n_options->m_addornements = "v"; - n_options->m_address = base + offset; - n_options->m_parent = p_node_parent; - n_options->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_options); - -} -void node_from_viewscreen_overallstatusst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "visible_pages"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_overallstatusst, field_name)); - auto n_visible_pages = new NodeVector; - n_visible_pages->m_field_name = field_name; - n_visible_pages->m_df_type = DF_Type::viewscreen_overallstatusst__T_visible_pages; - n_visible_pages->m_rdf_type = RDF_Type::Vector; - n_visible_pages->m_node_type = NodeType::Vector; - n_visible_pages->m_enum_base = DF_Type::int16_t; - n_visible_pages->m_addornements = "v"; - n_visible_pages->m_address = base + offset; - n_visible_pages->m_parent = p_node_parent; - n_visible_pages->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_visible_pages); - - field_name = "page_cursor"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_overallstatusst, field_name)); - auto n_page_cursor = new NodeSimple; - n_page_cursor->m_field_name = field_name; - n_page_cursor->m_df_type = DF_Type::int32_t; - n_page_cursor->m_rdf_type = RDF_Type::int32_t; - n_page_cursor->m_node_type = NodeType::Simple; - n_page_cursor->m_address = base + offset; - n_page_cursor->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_page_cursor); - -} -void node_from_viewscreen_petitionsst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "can_manage"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_petitionsst, field_name)); - auto n_can_manage = new NodeSimple; - n_can_manage->m_field_name = field_name; - n_can_manage->m_df_type = DF_Type::int8_t; - n_can_manage->m_rdf_type = RDF_Type::int8_t; - n_can_manage->m_node_type = NodeType::Simple; - n_can_manage->m_address = base + offset; - n_can_manage->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_can_manage); - - field_name = "list"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_petitionsst, field_name)); - auto n_list = new NodeVector; - n_list->m_field_name = field_name; - n_list->m_df_type = DF_Type::agreement; - n_list->m_rdf_type = RDF_Type::Vector; - n_list->m_node_type = NodeType::Vector; - n_list->m_defined_in = "df.entities.xml"; - n_list->m_addornements = "v*"; - n_list->m_address = base + offset; - n_list->m_parent = p_node_parent; - n_list->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_list); - - field_name = "cursor"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_petitionsst, field_name)); - auto n_cursor = new NodeSimple; - n_cursor->m_field_name = field_name; - n_cursor->m_df_type = DF_Type::int32_t; - n_cursor->m_rdf_type = RDF_Type::int32_t; - n_cursor->m_node_type = NodeType::Simple; - n_cursor->m_address = base + offset; - n_cursor->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cursor); - -} -void node_from_viewscreen_petst__T_animal(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = true) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unit"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_petst__T_animal, field_name)); - auto n_unit = new NodePointer; - n_unit->m_field_name = field_name; - n_unit->m_df_type = get_real_subtype(base+offset, DF_Type::unit); - n_unit->m_rdf_type = RDF_Type::Pointer; - n_unit->m_node_type = NodeType::Pointer; - n_unit->m_addornements = "*"; - n_unit->m_address = base + offset; - n_unit->m_parent = p_node_parent; - n_unit->m_defined_in = "df.units.xml"; - n_unit->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unit); - - field_name = "item"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_petst__T_animal, field_name)); - auto n_item = new NodePointer; - n_item->m_field_name = field_name; - n_item->m_df_type = get_real_subtype(base+offset, DF_Type::item); - n_item->m_rdf_type = RDF_Type::Pointer; - n_item->m_node_type = NodeType::Pointer; - n_item->m_addornements = "*"; - n_item->m_address = base + offset; - n_item->m_parent = p_node_parent; - n_item->m_defined_in = "df.items.xml"; - n_item->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_item); - -} -void node_from_viewscreen_petst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "cursor"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_petst, field_name)); - auto n_cursor = new NodeSimple; - n_cursor->m_field_name = field_name; - n_cursor->m_df_type = DF_Type::int32_t; - n_cursor->m_rdf_type = RDF_Type::int32_t; - n_cursor->m_node_type = NodeType::Simple; - n_cursor->m_address = base + offset; - n_cursor->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cursor); - - field_name = "animal"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_petst, field_name)); - auto n_animal = new NodeVector; - n_animal->m_field_name = field_name; - n_animal->m_df_type = DF_Type::viewscreen_petst__T_animal; - n_animal->m_rdf_type = RDF_Type::Vector; - n_animal->m_node_type = NodeType::Vector; - n_animal->m_addornements = "v"; - n_animal->m_address = base + offset; - n_animal->m_parent = p_node_parent; - n_animal->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_animal); - - field_name = "is_vermin"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_petst, field_name)); - auto n_is_vermin = new NodeVector; - n_is_vermin->m_field_name = field_name; - n_is_vermin->m_df_type = DF_Type::Bool; - n_is_vermin->m_rdf_type = RDF_Type::Vector; - n_is_vermin->m_node_type = NodeType::Vector; - n_is_vermin->m_addornements = "v"; - n_is_vermin->m_address = base + offset; - n_is_vermin->m_parent = p_node_parent; - n_is_vermin->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_is_vermin); - - field_name = "is_tame"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_petst, field_name)); - auto n_is_tame = new NodeVector; - n_is_tame->m_field_name = field_name; - n_is_tame->m_df_type = DF_Type::Bool; - n_is_tame->m_rdf_type = RDF_Type::Vector; - n_is_tame->m_node_type = NodeType::Vector; - n_is_tame->m_addornements = "v"; - n_is_tame->m_address = base + offset; - n_is_tame->m_parent = p_node_parent; - n_is_tame->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_is_tame); - - field_name = "is_adopting"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_petst, field_name)); - auto n_is_adopting = new NodeVector; - n_is_adopting->m_field_name = field_name; - n_is_adopting->m_df_type = DF_Type::Bool; - n_is_adopting->m_rdf_type = RDF_Type::Vector; - n_is_adopting->m_node_type = NodeType::Vector; - n_is_adopting->m_addornements = "v"; - n_is_adopting->m_address = base + offset; - n_is_adopting->m_parent = p_node_parent; - n_is_adopting->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_is_adopting); - - field_name = "mode"; - auto n_mode = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_petst, field_name)); - n_mode->m_field_name = field_name; - n_mode->m_df_type = DF_Type::viewscreen_petst__T_mode; - n_mode->m_rdf_type = RDF_Type::Enum; - n_mode->m_node_type = NodeType::Enum; - n_mode->m_base_type = enum_base_type(n_mode->m_df_type); - n_mode->m_enum_type = "viewscreen_petst::T_mode"; - n_mode->m_address = base + offset; - n_mode->m_first_value = 0; - n_mode->m_last_value = 2; - n_mode->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mode); - - field_name = "knowledge_page"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_petst, field_name)); - auto n_knowledge_page = new NodeSimple; - n_knowledge_page->m_field_name = field_name; - n_knowledge_page->m_df_type = DF_Type::int32_t; - n_knowledge_page->m_rdf_type = RDF_Type::int32_t; - n_knowledge_page->m_node_type = NodeType::Simple; - n_knowledge_page->m_address = base + offset; - n_knowledge_page->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_knowledge_page); - - field_name = "known"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_petst, field_name)); - auto n_known = new NodeVector; - n_known->m_field_name = field_name; - n_known->m_df_type = DF_Type::int32_t; - n_known->m_rdf_type = RDF_Type::Vector; - n_known->m_node_type = NodeType::Vector; - n_known->m_addornements = "v"; - n_known->m_address = base + offset; - n_known->m_parent = p_node_parent; - n_known->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_known); - - field_name = "trainer_cursor"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_petst, field_name)); - auto n_trainer_cursor = new NodeSimple; - n_trainer_cursor->m_field_name = field_name; - n_trainer_cursor->m_df_type = DF_Type::int32_t; - n_trainer_cursor->m_rdf_type = RDF_Type::int32_t; - n_trainer_cursor->m_node_type = NodeType::Simple; - n_trainer_cursor->m_address = base + offset; - n_trainer_cursor->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_trainer_cursor); - - field_name = "trainer_unit"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_petst, field_name)); - auto n_trainer_unit = new NodeVector; - n_trainer_unit->m_field_name = field_name; - n_trainer_unit->m_df_type = DF_Type::unit; - n_trainer_unit->m_rdf_type = RDF_Type::Vector; - n_trainer_unit->m_node_type = NodeType::Vector; - n_trainer_unit->m_defined_in = "df.units.xml"; - n_trainer_unit->m_addornements = "v*"; - n_trainer_unit->m_address = base + offset; - n_trainer_unit->m_parent = p_node_parent; - n_trainer_unit->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_trainer_unit); - - field_name = "trainer_mode"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_petst, field_name)); - auto n_trainer_mode = new NodeVector; - n_trainer_mode->m_field_name = field_name; - n_trainer_mode->m_df_type = DF_Type::viewscreen_petst__T_trainer_mode; - n_trainer_mode->m_rdf_type = RDF_Type::Vector; - n_trainer_mode->m_node_type = NodeType::Vector; - n_trainer_mode->m_enum_base = DF_Type::int32_t; - n_trainer_mode->m_addornements = "v"; - n_trainer_mode->m_address = base + offset; - n_trainer_mode->m_parent = p_node_parent; - n_trainer_mode->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_trainer_mode); - -} -void node_from_viewscreen_pricest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "category_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_pricest, field_name)); - auto n_category_idx = new NodeSimple; - n_category_idx->m_field_name = field_name; - n_category_idx->m_df_type = DF_Type::int16_t; - n_category_idx->m_rdf_type = RDF_Type::int16_t; - n_category_idx->m_node_type = NodeType::Simple; - n_category_idx->m_address = base + offset; - n_category_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_category_idx); - - field_name = "item_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_pricest, field_name)); - auto n_item_idx = new NodeSimple; - n_item_idx->m_field_name = field_name; - n_item_idx->m_df_type = DF_Type::int32_t; - n_item_idx->m_rdf_type = RDF_Type::int32_t; - n_item_idx->m_node_type = NodeType::Simple; - n_item_idx->m_address = base + offset; - n_item_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_idx); - -} -void node_from_viewscreen_reportlistst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "units"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_reportlistst, field_name)); - auto n_units = new NodeVector; - n_units->m_field_name = field_name; - n_units->m_df_type = DF_Type::unit; - n_units->m_rdf_type = RDF_Type::Vector; - n_units->m_node_type = NodeType::Vector; - n_units->m_defined_in = "df.units.xml"; - n_units->m_addornements = "v*"; - n_units->m_address = base + offset; - n_units->m_parent = p_node_parent; - n_units->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_units); - - field_name = "types"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_reportlistst, field_name)); - auto n_types = new NodeVector; - n_types->m_field_name = field_name; - n_types->m_df_type = DF_Type::unit_report_type; - n_types->m_rdf_type = RDF_Type::Vector; - n_types->m_node_type = NodeType::Vector; - n_types->m_enum_base = DF_Type::int16_t; - n_types->m_defined_in = "df.units.xml"; - n_types->m_addornements = "v"; - n_types->m_address = base + offset; - n_types->m_parent = p_node_parent; - n_types->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_types); - - field_name = "last_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_reportlistst, field_name)); - auto n_last_id = new NodeVector; - n_last_id->m_field_name = field_name; - n_last_id->m_df_type = DF_Type::int32_t; - n_last_id->m_rdf_type = RDF_Type::Vector; - n_last_id->m_node_type = NodeType::Vector; - n_last_id->m_addornements = "v"; - n_last_id->m_address = base + offset; - n_last_id->m_parent = p_node_parent; - n_last_id->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_last_id); - - field_name = "mission_reports"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_reportlistst, field_name)); - auto n_mission_reports = new NodeVector; - n_mission_reports->m_field_name = field_name; - n_mission_reports->m_df_type = DF_Type::int32_t; - n_mission_reports->m_rdf_type = RDF_Type::Vector; - n_mission_reports->m_node_type = NodeType::Vector; - n_mission_reports->m_addornements = "v"; - n_mission_reports->m_address = base + offset; - n_mission_reports->m_parent = p_node_parent; - n_mission_reports->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_mission_reports); - - field_name = "spoils_reports"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_reportlistst, field_name)); - auto n_spoils_reports = new NodeVector; - n_spoils_reports->m_field_name = field_name; - n_spoils_reports->m_df_type = DF_Type::int32_t; - n_spoils_reports->m_rdf_type = RDF_Type::Vector; - n_spoils_reports->m_node_type = NodeType::Vector; - n_spoils_reports->m_addornements = "v"; - n_spoils_reports->m_address = base + offset; - n_spoils_reports->m_parent = p_node_parent; - n_spoils_reports->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_spoils_reports); - - field_name = "cursor"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_reportlistst, field_name)); - auto n_cursor = new NodeSimple; - n_cursor->m_field_name = field_name; - n_cursor->m_df_type = DF_Type::int32_t; - n_cursor->m_rdf_type = RDF_Type::int32_t; - n_cursor->m_node_type = NodeType::Simple; - n_cursor->m_address = base + offset; - n_cursor->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cursor); - - field_name = "mission_report"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_reportlistst, field_name)); - auto n_mission_report = new NodePointer; - n_mission_report->m_field_name = field_name; - n_mission_report->m_df_type = get_real_subtype(base+offset, DF_Type::mission_report); - n_mission_report->m_rdf_type = RDF_Type::Pointer; - n_mission_report->m_node_type = NodeType::Pointer; - n_mission_report->m_addornements = "*"; - n_mission_report->m_address = base + offset; - n_mission_report->m_parent = p_node_parent; - n_mission_report->m_defined_in = "df.world.xml"; - n_mission_report->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_mission_report); - - field_name = "map_cursor_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_reportlistst, field_name)); - auto n_map_cursor_x = new NodeSimple; - n_map_cursor_x->m_field_name = field_name; - n_map_cursor_x->m_df_type = DF_Type::int32_t; - n_map_cursor_x->m_rdf_type = RDF_Type::int32_t; - n_map_cursor_x->m_node_type = NodeType::Simple; - n_map_cursor_x->m_address = base + offset; - n_map_cursor_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_map_cursor_x); - - field_name = "map_cursor_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_reportlistst, field_name)); - auto n_map_cursor_y = new NodeSimple; - n_map_cursor_y->m_field_name = field_name; - n_map_cursor_y->m_df_type = DF_Type::int32_t; - n_map_cursor_y->m_rdf_type = RDF_Type::int32_t; - n_map_cursor_y->m_node_type = NodeType::Simple; - n_map_cursor_y->m_address = base + offset; - n_map_cursor_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_map_cursor_y); - - field_name = "mission_path_finished"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_reportlistst, field_name)); - auto n_mission_path_finished = new NodeSimple; - n_mission_path_finished->m_field_name = field_name; - n_mission_path_finished->m_df_type = DF_Type::int32_t; - n_mission_path_finished->m_rdf_type = RDF_Type::int32_t; - n_mission_path_finished->m_node_type = NodeType::Simple; - n_mission_path_finished->m_address = base + offset; - n_mission_path_finished->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mission_path_finished); - - field_name = "mission_path_progress"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_reportlistst, field_name)); - auto n_mission_path_progress = new NodeSimple; - n_mission_path_progress->m_field_name = field_name; - n_mission_path_progress->m_df_type = DF_Type::int32_t; - n_mission_path_progress->m_rdf_type = RDF_Type::int32_t; - n_mission_path_progress->m_node_type = NodeType::Simple; - n_mission_path_progress->m_address = base + offset; - n_mission_path_progress->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mission_path_progress); - - field_name = "mission_text_finished"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_reportlistst, field_name)); - auto n_mission_text_finished = new NodeSimple; - n_mission_text_finished->m_field_name = field_name; - n_mission_text_finished->m_df_type = DF_Type::int32_t; - n_mission_text_finished->m_rdf_type = RDF_Type::int32_t; - n_mission_text_finished->m_node_type = NodeType::Simple; - n_mission_text_finished->m_address = base + offset; - n_mission_text_finished->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mission_text_finished); - - field_name = "mission_text_progress"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_reportlistst, field_name)); - auto n_mission_text_progress = new NodeSimple; - n_mission_text_progress->m_field_name = field_name; - n_mission_text_progress->m_df_type = DF_Type::int32_t; - n_mission_text_progress->m_rdf_type = RDF_Type::int32_t; - n_mission_text_progress->m_node_type = NodeType::Simple; - n_mission_text_progress->m_address = base + offset; - n_mission_text_progress->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mission_text_progress); - - field_name = "mission_report_text"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_reportlistst, field_name)); - auto n_mission_report_text = new NodeVector; - n_mission_report_text->m_field_name = field_name; - n_mission_report_text->m_df_type = DF_Type::Stl_string; - n_mission_report_text->m_rdf_type = RDF_Type::Vector; - n_mission_report_text->m_node_type = NodeType::Vector; - n_mission_report_text->m_addornements = "v*"; - n_mission_report_text->m_address = base + offset; - n_mission_report_text->m_parent = p_node_parent; - n_mission_report_text->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_mission_report_text); - - field_name = "mission_report_colors"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_reportlistst, field_name)); - auto n_mission_report_colors = new NodeVector; - n_mission_report_colors->m_field_name = field_name; - n_mission_report_colors->m_df_type = DF_Type::int32_t; - n_mission_report_colors->m_rdf_type = RDF_Type::Vector; - n_mission_report_colors->m_node_type = NodeType::Vector; - n_mission_report_colors->m_addornements = "v"; - n_mission_report_colors->m_address = base + offset; - n_mission_report_colors->m_parent = p_node_parent; - n_mission_report_colors->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_mission_report_colors); - - field_name = "mission_year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_reportlistst, field_name)); - auto n_mission_year = new NodeSimple; - n_mission_year->m_field_name = field_name; - n_mission_year->m_df_type = DF_Type::int32_t; - n_mission_year->m_rdf_type = RDF_Type::int32_t; - n_mission_year->m_node_type = NodeType::Simple; - n_mission_year->m_address = base + offset; - n_mission_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mission_year); - - field_name = "mission_year_tick"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_reportlistst, field_name)); - auto n_mission_year_tick = new NodeSimple; - n_mission_year_tick->m_field_name = field_name; - n_mission_year_tick->m_df_type = DF_Type::int32_t; - n_mission_year_tick->m_rdf_type = RDF_Type::int32_t; - n_mission_year_tick->m_node_type = NodeType::Simple; - n_mission_year_tick->m_address = base + offset; - n_mission_year_tick->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mission_year_tick); - - field_name = "mission_path_speed"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_reportlistst, field_name)); - auto n_mission_path_speed = new NodeSimple; - n_mission_path_speed->m_field_name = field_name; - n_mission_path_speed->m_df_type = DF_Type::int32_t; - n_mission_path_speed->m_rdf_type = RDF_Type::int32_t; - n_mission_path_speed->m_node_type = NodeType::Simple; - n_mission_path_speed->m_address = base + offset; - n_mission_path_speed->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mission_path_speed); - - field_name = "mission_report_paused"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_reportlistst, field_name)); - auto n_mission_report_paused = new NodeSimple; - n_mission_report_paused->m_field_name = field_name; - n_mission_report_paused->m_df_type = DF_Type::Bool; - n_mission_report_paused->m_rdf_type = RDF_Type::Bool; - n_mission_report_paused->m_node_type = NodeType::Simple; - n_mission_report_paused->m_address = base + offset; - n_mission_report_paused->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mission_report_paused); - - field_name = "mission_report_fade"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_reportlistst, field_name)); - auto n_mission_report_fade = new NodeSimple; - n_mission_report_fade->m_field_name = field_name; - n_mission_report_fade->m_df_type = DF_Type::int32_t; - n_mission_report_fade->m_rdf_type = RDF_Type::int32_t; - n_mission_report_fade->m_node_type = NodeType::Simple; - n_mission_report_fade->m_address = base + offset; - n_mission_report_fade->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mission_report_fade); - - field_name = "mission_report_fade_line"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_reportlistst, field_name)); - auto n_mission_report_fade_line = new NodeSimple; - n_mission_report_fade_line->m_field_name = field_name; - n_mission_report_fade_line->m_df_type = DF_Type::int32_t; - n_mission_report_fade_line->m_rdf_type = RDF_Type::int32_t; - n_mission_report_fade_line->m_node_type = NodeType::Simple; - n_mission_report_fade_line->m_address = base + offset; - n_mission_report_fade_line->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mission_report_fade_line); - - field_name = "mission_report_scroll"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_reportlistst, field_name)); - auto n_mission_report_scroll = new NodeSimple; - n_mission_report_scroll->m_field_name = field_name; - n_mission_report_scroll->m_df_type = DF_Type::int32_t; - n_mission_report_scroll->m_rdf_type = RDF_Type::int32_t; - n_mission_report_scroll->m_node_type = NodeType::Simple; - n_mission_report_scroll->m_address = base + offset; - n_mission_report_scroll->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mission_report_scroll); - - field_name = "spoils_report_title"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_reportlistst, field_name)); - auto n_spoils_report_title = new NodePointer; - n_spoils_report_title->m_field_name = field_name; - n_spoils_report_title->m_df_type = get_real_subtype(base+offset, DF_Type::Stl_string); - n_spoils_report_title->m_rdf_type = RDF_Type::Pointer; - n_spoils_report_title->m_node_type = NodeType::Pointer; - n_spoils_report_title->m_addornements = "*"; - n_spoils_report_title->m_address = base + offset; - n_spoils_report_title->m_parent = p_node_parent; - n_spoils_report_title->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_spoils_report_title); - - field_name = "spoils_report_scroll"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_reportlistst, field_name)); - auto n_spoils_report_scroll = new NodeSimple; - n_spoils_report_scroll->m_field_name = field_name; - n_spoils_report_scroll->m_df_type = DF_Type::int32_t; - n_spoils_report_scroll->m_rdf_type = RDF_Type::int32_t; - n_spoils_report_scroll->m_node_type = NodeType::Simple; - n_spoils_report_scroll->m_address = base + offset; - n_spoils_report_scroll->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_spoils_report_scroll); - -} -void node_from_viewscreen_requestagreementst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "requests"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_requestagreementst, field_name)); - auto n_requests = new NodePointer; - n_requests->m_field_name = field_name; - n_requests->m_df_type = get_real_subtype(base+offset, DF_Type::entity_buy_prices); - n_requests->m_rdf_type = RDF_Type::Pointer; - n_requests->m_node_type = NodeType::Pointer; - n_requests->m_addornements = "*"; - n_requests->m_address = base + offset; - n_requests->m_parent = p_node_parent; - n_requests->m_defined_in = "df.entities.xml"; - n_requests->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_requests); - - field_name = "civ_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_requestagreementst, field_name)); - auto n_civ_id = new NodeSimple; - n_civ_id->m_field_name = field_name; - n_civ_id->m_df_type = DF_Type::int32_t; - n_civ_id->m_rdf_type = RDF_Type::int32_t; - n_civ_id->m_node_type = NodeType::Simple; - n_civ_id->m_address = base + offset; - n_civ_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_civ_id); - - field_name = "cursor"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_requestagreementst, field_name)); - auto n_cursor = new NodeSimple; - n_cursor->m_field_name = field_name; - n_cursor->m_df_type = DF_Type::int32_t; - n_cursor->m_rdf_type = RDF_Type::int32_t; - n_cursor->m_node_type = NodeType::Simple; - n_cursor->m_address = base + offset; - n_cursor->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cursor); - - field_name = "title"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_requestagreementst, field_name)); - auto n_title= new NodePadding; - n_title->m_field_name = field_name; - n_title->m_df_type = DF_Type::Static_string; - n_title->m_rdf_type = RDF_Type::Static_string; - n_title->m_node_type = NodeType::StaticString; - n_title->m_address = base + offset; - n_title->m_size = 256; - n_title->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_title); - - field_name = "civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_requestagreementst, field_name)); - auto n_civ = new NodePointer; - n_civ->m_field_name = field_name; - n_civ->m_df_type = get_real_subtype(base+offset, DF_Type::historical_entity); - n_civ->m_rdf_type = RDF_Type::Pointer; - n_civ->m_node_type = NodeType::Pointer; - n_civ->m_addornements = "*"; - n_civ->m_address = base + offset; - n_civ->m_parent = p_node_parent; - n_civ->m_defined_in = "df.entities.xml"; - n_civ->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_civ); - -} -void node_from_nemesis_offload(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "nemesis_save_file_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::nemesis_offload, field_name)); - auto n_nemesis_save_file_id = new NodeVector; - n_nemesis_save_file_id->m_field_name = field_name; - n_nemesis_save_file_id->m_df_type = DF_Type::int32_t; - n_nemesis_save_file_id->m_rdf_type = RDF_Type::Vector; - n_nemesis_save_file_id->m_node_type = NodeType::Vector; - n_nemesis_save_file_id->m_addornements = "v"; - n_nemesis_save_file_id->m_address = base + offset; - n_nemesis_save_file_id->m_parent = p_node_parent; - n_nemesis_save_file_id->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_nemesis_save_file_id); - - field_name = "nemesis_member_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::nemesis_offload, field_name)); - auto n_nemesis_member_idx = new NodeVector; - n_nemesis_member_idx->m_field_name = field_name; - n_nemesis_member_idx->m_df_type = DF_Type::int16_t; - n_nemesis_member_idx->m_rdf_type = RDF_Type::Vector; - n_nemesis_member_idx->m_node_type = NodeType::Vector; - n_nemesis_member_idx->m_addornements = "v"; - n_nemesis_member_idx->m_address = base + offset; - n_nemesis_member_idx->m_parent = p_node_parent; - n_nemesis_member_idx->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_nemesis_member_idx); - - field_name = "units"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::nemesis_offload, field_name)); - auto n_units = new NodeVector; - n_units->m_field_name = field_name; - n_units->m_df_type = DF_Type::unit; - n_units->m_rdf_type = RDF_Type::Vector; - n_units->m_node_type = NodeType::Vector; - n_units->m_defined_in = "df.units.xml"; - n_units->m_addornements = "v*"; - n_units->m_address = base + offset; - n_units->m_parent = p_node_parent; - n_units->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_units); - - field_name = "cur_unit_chunk"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::nemesis_offload, field_name)); - auto n_cur_unit_chunk = new NodePointer; - n_cur_unit_chunk->m_field_name = field_name; - n_cur_unit_chunk->m_df_type = get_real_subtype(base+offset, DF_Type::unit_chunk); - n_cur_unit_chunk->m_rdf_type = RDF_Type::Pointer; - n_cur_unit_chunk->m_node_type = NodeType::Pointer; - n_cur_unit_chunk->m_addornements = "*"; - n_cur_unit_chunk->m_address = base + offset; - n_cur_unit_chunk->m_parent = p_node_parent; - n_cur_unit_chunk->m_defined_in = "df.units.xml"; - n_cur_unit_chunk->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_cur_unit_chunk); - - field_name = "cur_unit_chunk_num"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::nemesis_offload, field_name)); - auto n_cur_unit_chunk_num = new NodeSimple; - n_cur_unit_chunk_num->m_field_name = field_name; - n_cur_unit_chunk_num->m_df_type = DF_Type::int32_t; - n_cur_unit_chunk_num->m_rdf_type = RDF_Type::int32_t; - n_cur_unit_chunk_num->m_node_type = NodeType::Simple; - n_cur_unit_chunk_num->m_address = base + offset; - n_cur_unit_chunk_num->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cur_unit_chunk_num); - - field_name = "units_offloaded"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::nemesis_offload, field_name)); - auto n_units_offloaded = new NodeSimple; - n_units_offloaded->m_field_name = field_name; - n_units_offloaded->m_df_type = DF_Type::int32_t; - n_units_offloaded->m_rdf_type = RDF_Type::int32_t; - n_units_offloaded->m_node_type = NodeType::Simple; - n_units_offloaded->m_address = base + offset; - n_units_offloaded->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_units_offloaded); - -} -void node_from_ui__T_tax_collection(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "state"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_tax_collection, field_name)); - auto n_state = new NodeSimple; - n_state->m_field_name = field_name; - n_state->m_df_type = DF_Type::int16_t; - n_state->m_rdf_type = RDF_Type::int16_t; - n_state->m_node_type = NodeType::Simple; - n_state->m_address = base + offset; - n_state->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_state); - - field_name = "check_timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_tax_collection, field_name)); - auto n_check_timer = new NodeSimple; - n_check_timer->m_field_name = field_name; - n_check_timer->m_df_type = DF_Type::int32_t; - n_check_timer->m_rdf_type = RDF_Type::int32_t; - n_check_timer->m_node_type = NodeType::Simple; - n_check_timer->m_address = base + offset; - n_check_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_check_timer); - - field_name = "rooms"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_tax_collection, field_name)); - auto n_rooms = new NodeVector; - n_rooms->m_field_name = field_name; - n_rooms->m_df_type = DF_Type::int32_t; - n_rooms->m_rdf_type = RDF_Type::Vector; - n_rooms->m_node_type = NodeType::Vector; - n_rooms->m_addornements = "v"; - n_rooms->m_address = base + offset; - n_rooms->m_parent = p_node_parent; - n_rooms->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_rooms); - - field_name = "reach_room_timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_tax_collection, field_name)); - auto n_reach_room_timer = new NodeSimple; - n_reach_room_timer->m_field_name = field_name; - n_reach_room_timer->m_df_type = DF_Type::int32_t; - n_reach_room_timer->m_rdf_type = RDF_Type::int32_t; - n_reach_room_timer->m_node_type = NodeType::Simple; - n_reach_room_timer->m_address = base + offset; - n_reach_room_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_reach_room_timer); - - field_name = "tc_protect_timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_tax_collection, field_name)); - auto n_tc_protect_timer = new NodeSimple; - n_tc_protect_timer->m_field_name = field_name; - n_tc_protect_timer->m_df_type = DF_Type::int32_t; - n_tc_protect_timer->m_rdf_type = RDF_Type::int32_t; - n_tc_protect_timer->m_node_type = NodeType::Simple; - n_tc_protect_timer->m_address = base + offset; - n_tc_protect_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tc_protect_timer); - - field_name = "guard1_reach_tc_timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_tax_collection, field_name)); - auto n_guard1_reach_tc_timer = new NodeSimple; - n_guard1_reach_tc_timer->m_field_name = field_name; - n_guard1_reach_tc_timer->m_df_type = DF_Type::int32_t; - n_guard1_reach_tc_timer->m_rdf_type = RDF_Type::int32_t; - n_guard1_reach_tc_timer->m_node_type = NodeType::Simple; - n_guard1_reach_tc_timer->m_address = base + offset; - n_guard1_reach_tc_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_guard1_reach_tc_timer); - - field_name = "guard2_reach_tc_timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_tax_collection, field_name)); - auto n_guard2_reach_tc_timer = new NodeSimple; - n_guard2_reach_tc_timer->m_field_name = field_name; - n_guard2_reach_tc_timer->m_df_type = DF_Type::int32_t; - n_guard2_reach_tc_timer->m_rdf_type = RDF_Type::int32_t; - n_guard2_reach_tc_timer->m_node_type = NodeType::Simple; - n_guard2_reach_tc_timer->m_address = base + offset; - n_guard2_reach_tc_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_guard2_reach_tc_timer); - - field_name = "collected"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_tax_collection, field_name)); - auto n_collected = new NodeSimple; - n_collected->m_field_name = field_name; - n_collected->m_df_type = DF_Type::int16_t; - n_collected->m_rdf_type = RDF_Type::int16_t; - n_collected->m_node_type = NodeType::Simple; - n_collected->m_address = base + offset; - n_collected->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_collected); - - field_name = "quota"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_tax_collection, field_name)); - auto n_quota = new NodeSimple; - n_quota->m_field_name = field_name; - n_quota->m_df_type = DF_Type::int16_t; - n_quota->m_rdf_type = RDF_Type::int16_t; - n_quota->m_node_type = NodeType::Simple; - n_quota->m_address = base + offset; - n_quota->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_quota); - - field_name = "collector_pos"; - auto n_collector_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_tax_collection, field_name)); - n_collector_pos->m_field_name = field_name; - n_collector_pos->m_df_type = DF_Type::coord; - n_collector_pos->m_rdf_type = RDF_Type::Struct; - n_collector_pos->m_node_type = NodeType::Compound; - n_collector_pos->m_address = base + offset; - n_collector_pos->m_defined_in = "df.map.xml"; - n_collector_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_collector_pos); - - field_name = "guard_pos_x"; - auto n_guard_pos_x = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_tax_collection, field_name)); - n_guard_pos_x->m_field_name = field_name; - n_guard_pos_x->m_df_type = DF_Type::int16_t; - n_guard_pos_x->m_rdf_type = RDF_Type::Array; - n_guard_pos_x->m_node_type = NodeType::Array; - n_guard_pos_x->m_addornements = "[2"; - n_guard_pos_x->m_array_size = 2; - n_guard_pos_x->m_address = base + offset; - n_guard_pos_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_guard_pos_x); - - field_name = "guard_pos_y"; - auto n_guard_pos_y = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_tax_collection, field_name)); - n_guard_pos_y->m_field_name = field_name; - n_guard_pos_y->m_df_type = DF_Type::int16_t; - n_guard_pos_y->m_rdf_type = RDF_Type::Array; - n_guard_pos_y->m_node_type = NodeType::Array; - n_guard_pos_y->m_addornements = "[2"; - n_guard_pos_y->m_array_size = 2; - n_guard_pos_y->m_address = base + offset; - n_guard_pos_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_guard_pos_y); - - field_name = "guard_pos_z"; - auto n_guard_pos_z = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_tax_collection, field_name)); - n_guard_pos_z->m_field_name = field_name; - n_guard_pos_z->m_df_type = DF_Type::int16_t; - n_guard_pos_z->m_rdf_type = RDF_Type::Array; - n_guard_pos_z->m_node_type = NodeType::Array; - n_guard_pos_z->m_addornements = "[2"; - n_guard_pos_z->m_array_size = 2; - n_guard_pos_z->m_address = base + offset; - n_guard_pos_z->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_guard_pos_z); - - field_name = "collector"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_tax_collection, field_name)); - auto n_collector = new NodePointer; - n_collector->m_field_name = field_name; - n_collector->m_df_type = get_real_subtype(base+offset, DF_Type::unit); - n_collector->m_rdf_type = RDF_Type::Pointer; - n_collector->m_node_type = NodeType::Pointer; - n_collector->m_addornements = "*"; - n_collector->m_address = base + offset; - n_collector->m_parent = p_node_parent; - n_collector->m_defined_in = "df.units.xml"; - n_collector->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_collector); - - field_name = "guard1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_tax_collection, field_name)); - auto n_guard1 = new NodePointer; - n_guard1->m_field_name = field_name; - n_guard1->m_df_type = get_real_subtype(base+offset, DF_Type::unit); - n_guard1->m_rdf_type = RDF_Type::Pointer; - n_guard1->m_node_type = NodeType::Pointer; - n_guard1->m_addornements = "*"; - n_guard1->m_address = base + offset; - n_guard1->m_parent = p_node_parent; - n_guard1->m_defined_in = "df.units.xml"; - n_guard1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_guard1); - - field_name = "guard2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_tax_collection, field_name)); - auto n_guard2 = new NodePointer; - n_guard2->m_field_name = field_name; - n_guard2->m_df_type = get_real_subtype(base+offset, DF_Type::unit); - n_guard2->m_rdf_type = RDF_Type::Pointer; - n_guard2->m_node_type = NodeType::Pointer; - n_guard2->m_addornements = "*"; - n_guard2->m_address = base + offset; - n_guard2->m_parent = p_node_parent; - n_guard2->m_defined_in = "df.units.xml"; - n_guard2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_guard2); - - field_name = "guard_lack_complained"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_tax_collection, field_name)); - auto n_guard_lack_complained = new NodeSimple; - n_guard_lack_complained->m_field_name = field_name; - n_guard_lack_complained->m_df_type = DF_Type::int8_t; - n_guard_lack_complained->m_rdf_type = RDF_Type::int8_t; - n_guard_lack_complained->m_node_type = NodeType::Simple; - n_guard_lack_complained->m_address = base + offset; - n_guard_lack_complained->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_guard_lack_complained); - -} -void node_from_ui__T_becoming_capital(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "desired_architecture"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_becoming_capital, field_name)); - auto n_desired_architecture = new NodeSimple; - n_desired_architecture->m_field_name = field_name; - n_desired_architecture->m_df_type = DF_Type::int32_t; - n_desired_architecture->m_rdf_type = RDF_Type::int32_t; - n_desired_architecture->m_node_type = NodeType::Simple; - n_desired_architecture->m_address = base + offset; - n_desired_architecture->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_desired_architecture); - - field_name = "desired_offerings"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_becoming_capital, field_name)); - auto n_desired_offerings = new NodeSimple; - n_desired_offerings->m_field_name = field_name; - n_desired_offerings->m_df_type = DF_Type::int32_t; - n_desired_offerings->m_rdf_type = RDF_Type::int32_t; - n_desired_offerings->m_node_type = NodeType::Simple; - n_desired_offerings->m_address = base + offset; - n_desired_offerings->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_desired_offerings); - -} -void node_from_ui__T_invasions(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "list"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_invasions, field_name)); - auto n_list = new NodeVector; - n_list->m_field_name = field_name; - n_list->m_df_type = DF_Type::invasion_info; - n_list->m_rdf_type = RDF_Type::Vector; - n_list->m_node_type = NodeType::Vector; - n_list->m_defined_in = "df.legends.xml"; - n_list->m_addornements = "v*"; - n_list->m_address = base + offset; - n_list->m_parent = p_node_parent; - n_list->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_list); - - field_name = "next_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_invasions, field_name)); - auto n_next_id = new NodeSimple; - n_next_id->m_field_name = field_name; - n_next_id->m_df_type = DF_Type::int32_t; - n_next_id->m_rdf_type = RDF_Type::int32_t; - n_next_id->m_node_type = NodeType::Simple; - n_next_id->m_address = base + offset; - n_next_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_next_id); - -} -void node_from_ui__T_kitchen(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "item_types"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_kitchen, field_name)); - auto n_item_types = new NodeVector; - n_item_types->m_field_name = field_name; - n_item_types->m_df_type = DF_Type::item_type; - n_item_types->m_rdf_type = RDF_Type::Vector; - n_item_types->m_node_type = NodeType::Vector; - n_item_types->m_enum_base = DF_Type::int16_t; - n_item_types->m_defined_in = "df.item-raws.xml"; - n_item_types->m_addornements = "v"; - n_item_types->m_address = base + offset; - n_item_types->m_parent = p_node_parent; - n_item_types->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_item_types); - - field_name = "item_subtypes"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_kitchen, field_name)); - auto n_item_subtypes = new NodeVector; - n_item_subtypes->m_field_name = field_name; - n_item_subtypes->m_df_type = DF_Type::int16_t; - n_item_subtypes->m_rdf_type = RDF_Type::Vector; - n_item_subtypes->m_node_type = NodeType::Vector; - n_item_subtypes->m_addornements = "v"; - n_item_subtypes->m_address = base + offset; - n_item_subtypes->m_parent = p_node_parent; - n_item_subtypes->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_item_subtypes); - - field_name = "mat_types"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_kitchen, field_name)); - auto n_mat_types = new NodeVector; - n_mat_types->m_field_name = field_name; - n_mat_types->m_df_type = DF_Type::int16_t; - n_mat_types->m_rdf_type = RDF_Type::Vector; - n_mat_types->m_node_type = NodeType::Vector; - n_mat_types->m_addornements = "v"; - n_mat_types->m_address = base + offset; - n_mat_types->m_parent = p_node_parent; - n_mat_types->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_mat_types); - - field_name = "mat_indices"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_kitchen, field_name)); - auto n_mat_indices = new NodeVector; - n_mat_indices->m_field_name = field_name; - n_mat_indices->m_df_type = DF_Type::int32_t; - n_mat_indices->m_rdf_type = RDF_Type::Vector; - n_mat_indices->m_node_type = NodeType::Vector; - n_mat_indices->m_addornements = "v"; - n_mat_indices->m_address = base + offset; - n_mat_indices->m_parent = p_node_parent; - n_mat_indices->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_mat_indices); - - field_name = "exc_types"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_kitchen, field_name)); - auto n_exc_types = new NodeVector; - n_exc_types->m_field_name = field_name; - n_exc_types->m_df_type = DF_Type::kitchen_exc_type; - n_exc_types->m_rdf_type = RDF_Type::Vector; - n_exc_types->m_node_type = NodeType::Vector; - n_exc_types->m_enum_base = DF_Type::int8_t; - n_exc_types->m_defined_in = "df.ui.xml"; - n_exc_types->m_addornements = "v"; - n_exc_types->m_address = base + offset; - n_exc_types->m_parent = p_node_parent; - n_exc_types->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_exc_types); - -} -void node_from_ui__T_economy_prices__T_price_adjustment(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "general_items"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); - auto n_general_items = new NodeVector; - n_general_items->m_field_name = field_name; - n_general_items->m_df_type = DF_Type::int32_t; - n_general_items->m_rdf_type = RDF_Type::Vector; - n_general_items->m_node_type = NodeType::Vector; - n_general_items->m_index_enum = DF_Type::item_type; - n_general_items->m_addornements = "v"; - n_general_items->m_address = base + offset; - n_general_items->m_parent = p_node_parent; - n_general_items->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_general_items); - - field_name = "weapons"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); - auto n_weapons = new NodeVector; - n_weapons->m_field_name = field_name; - n_weapons->m_df_type = DF_Type::int32_t; - n_weapons->m_rdf_type = RDF_Type::Vector; - n_weapons->m_node_type = NodeType::Vector; - n_weapons->m_addornements = "v"; - n_weapons->m_address = base + offset; - n_weapons->m_refers_to = "$global.world.raws.itemdefs.weapons[$]"; - n_weapons->m_parent = p_node_parent; - n_weapons->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_weapons); - - field_name = "armor"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); - auto n_armor = new NodeVector; - n_armor->m_field_name = field_name; - n_armor->m_df_type = DF_Type::int32_t; - n_armor->m_rdf_type = RDF_Type::Vector; - n_armor->m_node_type = NodeType::Vector; - n_armor->m_addornements = "v"; - n_armor->m_address = base + offset; - n_armor->m_refers_to = "$global.world.raws.itemdefs.armor[$]"; - n_armor->m_parent = p_node_parent; - n_armor->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_armor); - - field_name = "handwear"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); - auto n_handwear = new NodeVector; - n_handwear->m_field_name = field_name; - n_handwear->m_df_type = DF_Type::int32_t; - n_handwear->m_rdf_type = RDF_Type::Vector; - n_handwear->m_node_type = NodeType::Vector; - n_handwear->m_addornements = "v"; - n_handwear->m_address = base + offset; - n_handwear->m_refers_to = "$global.world.raws.itemdefs.helms[$]"; - n_handwear->m_parent = p_node_parent; - n_handwear->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_handwear); - - field_name = "footwear"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); - auto n_footwear = new NodeVector; - n_footwear->m_field_name = field_name; - n_footwear->m_df_type = DF_Type::int32_t; - n_footwear->m_rdf_type = RDF_Type::Vector; - n_footwear->m_node_type = NodeType::Vector; - n_footwear->m_addornements = "v"; - n_footwear->m_address = base + offset; - n_footwear->m_refers_to = "$global.world.raws.itemdefs.shoes[$]"; - n_footwear->m_parent = p_node_parent; - n_footwear->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_footwear); - - field_name = "headwear"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); - auto n_headwear = new NodeVector; - n_headwear->m_field_name = field_name; - n_headwear->m_df_type = DF_Type::int32_t; - n_headwear->m_rdf_type = RDF_Type::Vector; - n_headwear->m_node_type = NodeType::Vector; - n_headwear->m_addornements = "v"; - n_headwear->m_address = base + offset; - n_headwear->m_refers_to = "$global.world.raws.itemdefs.gloves[$]"; - n_headwear->m_parent = p_node_parent; - n_headwear->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_headwear); - - field_name = "legwear"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); - auto n_legwear = new NodeVector; - n_legwear->m_field_name = field_name; - n_legwear->m_df_type = DF_Type::int32_t; - n_legwear->m_rdf_type = RDF_Type::Vector; - n_legwear->m_node_type = NodeType::Vector; - n_legwear->m_addornements = "v"; - n_legwear->m_address = base + offset; - n_legwear->m_refers_to = "$global.world.raws.itemdefs.pants[$]"; - n_legwear->m_parent = p_node_parent; - n_legwear->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_legwear); - - field_name = "prepared_food"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); - auto n_prepared_food = new NodeVector; - n_prepared_food->m_field_name = field_name; - n_prepared_food->m_df_type = DF_Type::int32_t; - n_prepared_food->m_rdf_type = RDF_Type::Vector; - n_prepared_food->m_node_type = NodeType::Vector; - n_prepared_food->m_addornements = "v"; - n_prepared_food->m_address = base + offset; - n_prepared_food->m_refers_to = "$global.world.raws.itemdefs.food[$]"; - n_prepared_food->m_parent = p_node_parent; - n_prepared_food->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_prepared_food); - - field_name = "wood"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); - auto n_wood = new NodeVector; - n_wood->m_field_name = field_name; - n_wood->m_df_type = DF_Type::int32_t; - n_wood->m_rdf_type = RDF_Type::Vector; - n_wood->m_node_type = NodeType::Vector; - n_wood->m_addornements = "v"; - n_wood->m_address = base + offset; - n_wood->m_parent = p_node_parent; - n_wood->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_wood); - - field_name = "thread_cloth"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); - auto n_thread_cloth = new NodeVector; - n_thread_cloth->m_field_name = field_name; - n_thread_cloth->m_df_type = DF_Type::int32_t; - n_thread_cloth->m_rdf_type = RDF_Type::Vector; - n_thread_cloth->m_node_type = NodeType::Vector; - n_thread_cloth->m_addornements = "v"; - n_thread_cloth->m_address = base + offset; - n_thread_cloth->m_parent = p_node_parent; - n_thread_cloth->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_thread_cloth); - - field_name = "paper"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); - auto n_paper = new NodeVector; - n_paper->m_field_name = field_name; - n_paper->m_df_type = DF_Type::int32_t; - n_paper->m_rdf_type = RDF_Type::Vector; - n_paper->m_node_type = NodeType::Vector; - n_paper->m_addornements = "v"; - n_paper->m_address = base + offset; - n_paper->m_parent = p_node_parent; - n_paper->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_paper); - - field_name = "parchment"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); - auto n_parchment = new NodeVector; - n_parchment->m_field_name = field_name; - n_parchment->m_df_type = DF_Type::int32_t; - n_parchment->m_rdf_type = RDF_Type::Vector; - n_parchment->m_node_type = NodeType::Vector; - n_parchment->m_addornements = "v"; - n_parchment->m_address = base + offset; - n_parchment->m_parent = p_node_parent; - n_parchment->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_parchment); - - field_name = "bone"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); - auto n_bone = new NodeVector; - n_bone->m_field_name = field_name; - n_bone->m_df_type = DF_Type::int32_t; - n_bone->m_rdf_type = RDF_Type::Vector; - n_bone->m_node_type = NodeType::Vector; - n_bone->m_addornements = "v"; - n_bone->m_address = base + offset; - n_bone->m_parent = p_node_parent; - n_bone->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bone); - - field_name = "tooth"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); - auto n_tooth = new NodeVector; - n_tooth->m_field_name = field_name; - n_tooth->m_df_type = DF_Type::int32_t; - n_tooth->m_rdf_type = RDF_Type::Vector; - n_tooth->m_node_type = NodeType::Vector; - n_tooth->m_addornements = "v"; - n_tooth->m_address = base + offset; - n_tooth->m_parent = p_node_parent; - n_tooth->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_tooth); - - field_name = "horn"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); - auto n_horn = new NodeVector; - n_horn->m_field_name = field_name; - n_horn->m_df_type = DF_Type::int32_t; - n_horn->m_rdf_type = RDF_Type::Vector; - n_horn->m_node_type = NodeType::Vector; - n_horn->m_addornements = "v"; - n_horn->m_address = base + offset; - n_horn->m_parent = p_node_parent; - n_horn->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_horn); - - field_name = "pearl"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); - auto n_pearl = new NodeVector; - n_pearl->m_field_name = field_name; - n_pearl->m_df_type = DF_Type::int32_t; - n_pearl->m_rdf_type = RDF_Type::Vector; - n_pearl->m_node_type = NodeType::Vector; - n_pearl->m_addornements = "v"; - n_pearl->m_address = base + offset; - n_pearl->m_parent = p_node_parent; - n_pearl->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_pearl); - - field_name = "shell"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); - auto n_shell = new NodeVector; - n_shell->m_field_name = field_name; - n_shell->m_df_type = DF_Type::int32_t; - n_shell->m_rdf_type = RDF_Type::Vector; - n_shell->m_node_type = NodeType::Vector; - n_shell->m_addornements = "v"; - n_shell->m_address = base + offset; - n_shell->m_parent = p_node_parent; - n_shell->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_shell); - - field_name = "leather"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); - auto n_leather = new NodeVector; - n_leather->m_field_name = field_name; - n_leather->m_df_type = DF_Type::int32_t; - n_leather->m_rdf_type = RDF_Type::Vector; - n_leather->m_node_type = NodeType::Vector; - n_leather->m_addornements = "v"; - n_leather->m_address = base + offset; - n_leather->m_parent = p_node_parent; - n_leather->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_leather); - - field_name = "silk"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); - auto n_silk = new NodeVector; - n_silk->m_field_name = field_name; - n_silk->m_df_type = DF_Type::int32_t; - n_silk->m_rdf_type = RDF_Type::Vector; - n_silk->m_node_type = NodeType::Vector; - n_silk->m_addornements = "v"; - n_silk->m_address = base + offset; - n_silk->m_parent = p_node_parent; - n_silk->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_silk); - - field_name = "yarn"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); - auto n_yarn = new NodeVector; - n_yarn->m_field_name = field_name; - n_yarn->m_df_type = DF_Type::int32_t; - n_yarn->m_rdf_type = RDF_Type::Vector; - n_yarn->m_node_type = NodeType::Vector; - n_yarn->m_addornements = "v"; - n_yarn->m_address = base + offset; - n_yarn->m_parent = p_node_parent; - n_yarn->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_yarn); - - field_name = "inorganic"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); - auto n_inorganic = new NodeVector; - n_inorganic->m_field_name = field_name; - n_inorganic->m_df_type = DF_Type::int32_t; - n_inorganic->m_rdf_type = RDF_Type::Vector; - n_inorganic->m_node_type = NodeType::Vector; - n_inorganic->m_addornements = "v"; - n_inorganic->m_address = base + offset; - n_inorganic->m_parent = p_node_parent; - n_inorganic->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_inorganic); - - field_name = "meat"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); - auto n_meat = new NodeVector; - n_meat->m_field_name = field_name; - n_meat->m_df_type = DF_Type::int32_t; - n_meat->m_rdf_type = RDF_Type::Vector; - n_meat->m_node_type = NodeType::Vector; - n_meat->m_addornements = "v"; - n_meat->m_address = base + offset; - n_meat->m_parent = p_node_parent; - n_meat->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_meat); - - field_name = "fish"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); - auto n_fish = new NodeVector; - n_fish->m_field_name = field_name; - n_fish->m_df_type = DF_Type::int32_t; - n_fish->m_rdf_type = RDF_Type::Vector; - n_fish->m_node_type = NodeType::Vector; - n_fish->m_addornements = "v"; - n_fish->m_address = base + offset; - n_fish->m_parent = p_node_parent; - n_fish->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_fish); - - field_name = "plants"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); - auto n_plants = new NodeVector; - n_plants->m_field_name = field_name; - n_plants->m_df_type = DF_Type::int32_t; - n_plants->m_rdf_type = RDF_Type::Vector; - n_plants->m_node_type = NodeType::Vector; - n_plants->m_addornements = "v"; - n_plants->m_address = base + offset; - n_plants->m_parent = p_node_parent; - n_plants->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_plants); - - field_name = "drinks"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); - auto n_drinks = new NodeVector; - n_drinks->m_field_name = field_name; - n_drinks->m_df_type = DF_Type::int32_t; - n_drinks->m_rdf_type = RDF_Type::Vector; - n_drinks->m_node_type = NodeType::Vector; - n_drinks->m_addornements = "v"; - n_drinks->m_address = base + offset; - n_drinks->m_parent = p_node_parent; - n_drinks->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_drinks); - - field_name = "extract_animal"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); - auto n_extract_animal = new NodeVector; - n_extract_animal->m_field_name = field_name; - n_extract_animal->m_df_type = DF_Type::int32_t; - n_extract_animal->m_rdf_type = RDF_Type::Vector; - n_extract_animal->m_node_type = NodeType::Vector; - n_extract_animal->m_addornements = "v"; - n_extract_animal->m_address = base + offset; - n_extract_animal->m_parent = p_node_parent; - n_extract_animal->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_extract_animal); - - field_name = "extract_plant"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); - auto n_extract_plant = new NodeVector; - n_extract_plant->m_field_name = field_name; - n_extract_plant->m_df_type = DF_Type::int32_t; - n_extract_plant->m_rdf_type = RDF_Type::Vector; - n_extract_plant->m_node_type = NodeType::Vector; - n_extract_plant->m_addornements = "v"; - n_extract_plant->m_address = base + offset; - n_extract_plant->m_parent = p_node_parent; - n_extract_plant->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_extract_plant); - - field_name = "mill_animal"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); - auto n_mill_animal = new NodeVector; - n_mill_animal->m_field_name = field_name; - n_mill_animal->m_df_type = DF_Type::int32_t; - n_mill_animal->m_rdf_type = RDF_Type::Vector; - n_mill_animal->m_node_type = NodeType::Vector; - n_mill_animal->m_addornements = "v"; - n_mill_animal->m_address = base + offset; - n_mill_animal->m_parent = p_node_parent; - n_mill_animal->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_mill_animal); - - field_name = "mill_plant"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); - auto n_mill_plant = new NodeVector; - n_mill_plant->m_field_name = field_name; - n_mill_plant->m_df_type = DF_Type::int32_t; - n_mill_plant->m_rdf_type = RDF_Type::Vector; - n_mill_plant->m_node_type = NodeType::Vector; - n_mill_plant->m_addornements = "v"; - n_mill_plant->m_address = base + offset; - n_mill_plant->m_parent = p_node_parent; - n_mill_plant->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_mill_plant); - - field_name = "cheese_animal"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); - auto n_cheese_animal = new NodeVector; - n_cheese_animal->m_field_name = field_name; - n_cheese_animal->m_df_type = DF_Type::int32_t; - n_cheese_animal->m_rdf_type = RDF_Type::Vector; - n_cheese_animal->m_node_type = NodeType::Vector; - n_cheese_animal->m_addornements = "v"; - n_cheese_animal->m_address = base + offset; - n_cheese_animal->m_parent = p_node_parent; - n_cheese_animal->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_cheese_animal); - - field_name = "cheese_plant"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); - auto n_cheese_plant = new NodeVector; - n_cheese_plant->m_field_name = field_name; - n_cheese_plant->m_df_type = DF_Type::int32_t; - n_cheese_plant->m_rdf_type = RDF_Type::Vector; - n_cheese_plant->m_node_type = NodeType::Vector; - n_cheese_plant->m_addornements = "v"; - n_cheese_plant->m_address = base + offset; - n_cheese_plant->m_parent = p_node_parent; - n_cheese_plant->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_cheese_plant); - - field_name = "pets"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); - auto n_pets = new NodeVector; - n_pets->m_field_name = field_name; - n_pets->m_df_type = DF_Type::int32_t; - n_pets->m_rdf_type = RDF_Type::Vector; - n_pets->m_node_type = NodeType::Vector; - n_pets->m_addornements = "v"; - n_pets->m_address = base + offset; - n_pets->m_parent = p_node_parent; - n_pets->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_pets); - -} -void node_from_ui__T_economy_prices__T_price_setter(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "general_items"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); - auto n_general_items = new NodeVector; - n_general_items->m_field_name = field_name; - n_general_items->m_df_type = DF_Type::unit; - n_general_items->m_rdf_type = RDF_Type::Vector; - n_general_items->m_node_type = NodeType::Vector; - n_general_items->m_index_enum = DF_Type::item_type; - n_general_items->m_defined_in = "df.units.xml"; - n_general_items->m_addornements = "v*"; - n_general_items->m_address = base + offset; - n_general_items->m_parent = p_node_parent; - n_general_items->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_general_items); - - field_name = "weapons"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); - auto n_weapons = new NodeVector; - n_weapons->m_field_name = field_name; - n_weapons->m_df_type = DF_Type::unit; - n_weapons->m_rdf_type = RDF_Type::Vector; - n_weapons->m_node_type = NodeType::Vector; - n_weapons->m_defined_in = "df.units.xml"; - n_weapons->m_addornements = "v*"; - n_weapons->m_address = base + offset; - n_weapons->m_refers_to = "$global.world.raws.itemdefs.weapons[$]"; - n_weapons->m_parent = p_node_parent; - n_weapons->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_weapons); - - field_name = "armor"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); - auto n_armor = new NodeVector; - n_armor->m_field_name = field_name; - n_armor->m_df_type = DF_Type::unit; - n_armor->m_rdf_type = RDF_Type::Vector; - n_armor->m_node_type = NodeType::Vector; - n_armor->m_defined_in = "df.units.xml"; - n_armor->m_addornements = "v*"; - n_armor->m_address = base + offset; - n_armor->m_refers_to = "$global.world.raws.itemdefs.armor[$]"; - n_armor->m_parent = p_node_parent; - n_armor->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_armor); - - field_name = "handwear"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); - auto n_handwear = new NodeVector; - n_handwear->m_field_name = field_name; - n_handwear->m_df_type = DF_Type::unit; - n_handwear->m_rdf_type = RDF_Type::Vector; - n_handwear->m_node_type = NodeType::Vector; - n_handwear->m_defined_in = "df.units.xml"; - n_handwear->m_addornements = "v*"; - n_handwear->m_address = base + offset; - n_handwear->m_refers_to = "$global.world.raws.itemdefs.helms[$]"; - n_handwear->m_parent = p_node_parent; - n_handwear->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_handwear); - - field_name = "footwear"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); - auto n_footwear = new NodeVector; - n_footwear->m_field_name = field_name; - n_footwear->m_df_type = DF_Type::unit; - n_footwear->m_rdf_type = RDF_Type::Vector; - n_footwear->m_node_type = NodeType::Vector; - n_footwear->m_defined_in = "df.units.xml"; - n_footwear->m_addornements = "v*"; - n_footwear->m_address = base + offset; - n_footwear->m_refers_to = "$global.world.raws.itemdefs.shoes[$]"; - n_footwear->m_parent = p_node_parent; - n_footwear->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_footwear); - - field_name = "headwear"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); - auto n_headwear = new NodeVector; - n_headwear->m_field_name = field_name; - n_headwear->m_df_type = DF_Type::unit; - n_headwear->m_rdf_type = RDF_Type::Vector; - n_headwear->m_node_type = NodeType::Vector; - n_headwear->m_defined_in = "df.units.xml"; - n_headwear->m_addornements = "v*"; - n_headwear->m_address = base + offset; - n_headwear->m_refers_to = "$global.world.raws.itemdefs.gloves[$]"; - n_headwear->m_parent = p_node_parent; - n_headwear->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_headwear); - - field_name = "legwear"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); - auto n_legwear = new NodeVector; - n_legwear->m_field_name = field_name; - n_legwear->m_df_type = DF_Type::unit; - n_legwear->m_rdf_type = RDF_Type::Vector; - n_legwear->m_node_type = NodeType::Vector; - n_legwear->m_defined_in = "df.units.xml"; - n_legwear->m_addornements = "v*"; - n_legwear->m_address = base + offset; - n_legwear->m_refers_to = "$global.world.raws.itemdefs.pants[$]"; - n_legwear->m_parent = p_node_parent; - n_legwear->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_legwear); - - field_name = "prepared_food"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); - auto n_prepared_food = new NodeVector; - n_prepared_food->m_field_name = field_name; - n_prepared_food->m_df_type = DF_Type::unit; - n_prepared_food->m_rdf_type = RDF_Type::Vector; - n_prepared_food->m_node_type = NodeType::Vector; - n_prepared_food->m_defined_in = "df.units.xml"; - n_prepared_food->m_addornements = "v*"; - n_prepared_food->m_address = base + offset; - n_prepared_food->m_refers_to = "$global.world.raws.itemdefs.food[$]"; - n_prepared_food->m_parent = p_node_parent; - n_prepared_food->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_prepared_food); - - field_name = "wood"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); - auto n_wood = new NodeVector; - n_wood->m_field_name = field_name; - n_wood->m_df_type = DF_Type::unit; - n_wood->m_rdf_type = RDF_Type::Vector; - n_wood->m_node_type = NodeType::Vector; - n_wood->m_defined_in = "df.units.xml"; - n_wood->m_addornements = "v*"; - n_wood->m_address = base + offset; - n_wood->m_parent = p_node_parent; - n_wood->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_wood); - - field_name = "thread_cloth"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); - auto n_thread_cloth = new NodeVector; - n_thread_cloth->m_field_name = field_name; - n_thread_cloth->m_df_type = DF_Type::unit; - n_thread_cloth->m_rdf_type = RDF_Type::Vector; - n_thread_cloth->m_node_type = NodeType::Vector; - n_thread_cloth->m_defined_in = "df.units.xml"; - n_thread_cloth->m_addornements = "v*"; - n_thread_cloth->m_address = base + offset; - n_thread_cloth->m_parent = p_node_parent; - n_thread_cloth->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_thread_cloth); - - field_name = "paper"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); - auto n_paper = new NodeVector; - n_paper->m_field_name = field_name; - n_paper->m_df_type = DF_Type::unit; - n_paper->m_rdf_type = RDF_Type::Vector; - n_paper->m_node_type = NodeType::Vector; - n_paper->m_defined_in = "df.units.xml"; - n_paper->m_addornements = "v*"; - n_paper->m_address = base + offset; - n_paper->m_parent = p_node_parent; - n_paper->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_paper); - - field_name = "parchment"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); - auto n_parchment = new NodeVector; - n_parchment->m_field_name = field_name; - n_parchment->m_df_type = DF_Type::unit; - n_parchment->m_rdf_type = RDF_Type::Vector; - n_parchment->m_node_type = NodeType::Vector; - n_parchment->m_defined_in = "df.units.xml"; - n_parchment->m_addornements = "v*"; - n_parchment->m_address = base + offset; - n_parchment->m_parent = p_node_parent; - n_parchment->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_parchment); - - field_name = "bone"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); - auto n_bone = new NodeVector; - n_bone->m_field_name = field_name; - n_bone->m_df_type = DF_Type::unit; - n_bone->m_rdf_type = RDF_Type::Vector; - n_bone->m_node_type = NodeType::Vector; - n_bone->m_defined_in = "df.units.xml"; - n_bone->m_addornements = "v*"; - n_bone->m_address = base + offset; - n_bone->m_parent = p_node_parent; - n_bone->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bone); - - field_name = "tooth"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); - auto n_tooth = new NodeVector; - n_tooth->m_field_name = field_name; - n_tooth->m_df_type = DF_Type::unit; - n_tooth->m_rdf_type = RDF_Type::Vector; - n_tooth->m_node_type = NodeType::Vector; - n_tooth->m_defined_in = "df.units.xml"; - n_tooth->m_addornements = "v*"; - n_tooth->m_address = base + offset; - n_tooth->m_parent = p_node_parent; - n_tooth->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_tooth); - - field_name = "horn"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); - auto n_horn = new NodeVector; - n_horn->m_field_name = field_name; - n_horn->m_df_type = DF_Type::unit; - n_horn->m_rdf_type = RDF_Type::Vector; - n_horn->m_node_type = NodeType::Vector; - n_horn->m_defined_in = "df.units.xml"; - n_horn->m_addornements = "v*"; - n_horn->m_address = base + offset; - n_horn->m_parent = p_node_parent; - n_horn->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_horn); - - field_name = "pearl"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); - auto n_pearl = new NodeVector; - n_pearl->m_field_name = field_name; - n_pearl->m_df_type = DF_Type::unit; - n_pearl->m_rdf_type = RDF_Type::Vector; - n_pearl->m_node_type = NodeType::Vector; - n_pearl->m_defined_in = "df.units.xml"; - n_pearl->m_addornements = "v*"; - n_pearl->m_address = base + offset; - n_pearl->m_parent = p_node_parent; - n_pearl->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_pearl); - - field_name = "shell"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); - auto n_shell = new NodeVector; - n_shell->m_field_name = field_name; - n_shell->m_df_type = DF_Type::unit; - n_shell->m_rdf_type = RDF_Type::Vector; - n_shell->m_node_type = NodeType::Vector; - n_shell->m_defined_in = "df.units.xml"; - n_shell->m_addornements = "v*"; - n_shell->m_address = base + offset; - n_shell->m_parent = p_node_parent; - n_shell->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_shell); - - field_name = "leather"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); - auto n_leather = new NodeVector; - n_leather->m_field_name = field_name; - n_leather->m_df_type = DF_Type::unit; - n_leather->m_rdf_type = RDF_Type::Vector; - n_leather->m_node_type = NodeType::Vector; - n_leather->m_defined_in = "df.units.xml"; - n_leather->m_addornements = "v*"; - n_leather->m_address = base + offset; - n_leather->m_parent = p_node_parent; - n_leather->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_leather); - - field_name = "silk"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); - auto n_silk = new NodeVector; - n_silk->m_field_name = field_name; - n_silk->m_df_type = DF_Type::unit; - n_silk->m_rdf_type = RDF_Type::Vector; - n_silk->m_node_type = NodeType::Vector; - n_silk->m_defined_in = "df.units.xml"; - n_silk->m_addornements = "v*"; - n_silk->m_address = base + offset; - n_silk->m_parent = p_node_parent; - n_silk->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_silk); - - field_name = "yarn"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); - auto n_yarn = new NodeVector; - n_yarn->m_field_name = field_name; - n_yarn->m_df_type = DF_Type::unit; - n_yarn->m_rdf_type = RDF_Type::Vector; - n_yarn->m_node_type = NodeType::Vector; - n_yarn->m_defined_in = "df.units.xml"; - n_yarn->m_addornements = "v*"; - n_yarn->m_address = base + offset; - n_yarn->m_parent = p_node_parent; - n_yarn->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_yarn); - - field_name = "inorganic"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); - auto n_inorganic = new NodeVector; - n_inorganic->m_field_name = field_name; - n_inorganic->m_df_type = DF_Type::unit; - n_inorganic->m_rdf_type = RDF_Type::Vector; - n_inorganic->m_node_type = NodeType::Vector; - n_inorganic->m_defined_in = "df.units.xml"; - n_inorganic->m_addornements = "v*"; - n_inorganic->m_address = base + offset; - n_inorganic->m_parent = p_node_parent; - n_inorganic->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_inorganic); - - field_name = "meat"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); - auto n_meat = new NodeVector; - n_meat->m_field_name = field_name; - n_meat->m_df_type = DF_Type::unit; - n_meat->m_rdf_type = RDF_Type::Vector; - n_meat->m_node_type = NodeType::Vector; - n_meat->m_defined_in = "df.units.xml"; - n_meat->m_addornements = "v*"; - n_meat->m_address = base + offset; - n_meat->m_parent = p_node_parent; - n_meat->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_meat); - - field_name = "fish"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); - auto n_fish = new NodeVector; - n_fish->m_field_name = field_name; - n_fish->m_df_type = DF_Type::unit; - n_fish->m_rdf_type = RDF_Type::Vector; - n_fish->m_node_type = NodeType::Vector; - n_fish->m_defined_in = "df.units.xml"; - n_fish->m_addornements = "v*"; - n_fish->m_address = base + offset; - n_fish->m_parent = p_node_parent; - n_fish->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_fish); - - field_name = "plants"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); - auto n_plants = new NodeVector; - n_plants->m_field_name = field_name; - n_plants->m_df_type = DF_Type::unit; - n_plants->m_rdf_type = RDF_Type::Vector; - n_plants->m_node_type = NodeType::Vector; - n_plants->m_defined_in = "df.units.xml"; - n_plants->m_addornements = "v*"; - n_plants->m_address = base + offset; - n_plants->m_parent = p_node_parent; - n_plants->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_plants); - - field_name = "drinks"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); - auto n_drinks = new NodeVector; - n_drinks->m_field_name = field_name; - n_drinks->m_df_type = DF_Type::unit; - n_drinks->m_rdf_type = RDF_Type::Vector; - n_drinks->m_node_type = NodeType::Vector; - n_drinks->m_defined_in = "df.units.xml"; - n_drinks->m_addornements = "v*"; - n_drinks->m_address = base + offset; - n_drinks->m_parent = p_node_parent; - n_drinks->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_drinks); - - field_name = "extract_animal"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); - auto n_extract_animal = new NodeVector; - n_extract_animal->m_field_name = field_name; - n_extract_animal->m_df_type = DF_Type::unit; - n_extract_animal->m_rdf_type = RDF_Type::Vector; - n_extract_animal->m_node_type = NodeType::Vector; - n_extract_animal->m_defined_in = "df.units.xml"; - n_extract_animal->m_addornements = "v*"; - n_extract_animal->m_address = base + offset; - n_extract_animal->m_parent = p_node_parent; - n_extract_animal->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_extract_animal); - - field_name = "extract_plant"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); - auto n_extract_plant = new NodeVector; - n_extract_plant->m_field_name = field_name; - n_extract_plant->m_df_type = DF_Type::unit; - n_extract_plant->m_rdf_type = RDF_Type::Vector; - n_extract_plant->m_node_type = NodeType::Vector; - n_extract_plant->m_defined_in = "df.units.xml"; - n_extract_plant->m_addornements = "v*"; - n_extract_plant->m_address = base + offset; - n_extract_plant->m_parent = p_node_parent; - n_extract_plant->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_extract_plant); - - field_name = "mill_animal"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); - auto n_mill_animal = new NodeVector; - n_mill_animal->m_field_name = field_name; - n_mill_animal->m_df_type = DF_Type::unit; - n_mill_animal->m_rdf_type = RDF_Type::Vector; - n_mill_animal->m_node_type = NodeType::Vector; - n_mill_animal->m_defined_in = "df.units.xml"; - n_mill_animal->m_addornements = "v*"; - n_mill_animal->m_address = base + offset; - n_mill_animal->m_parent = p_node_parent; - n_mill_animal->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_mill_animal); - - field_name = "mill_plant"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); - auto n_mill_plant = new NodeVector; - n_mill_plant->m_field_name = field_name; - n_mill_plant->m_df_type = DF_Type::unit; - n_mill_plant->m_rdf_type = RDF_Type::Vector; - n_mill_plant->m_node_type = NodeType::Vector; - n_mill_plant->m_defined_in = "df.units.xml"; - n_mill_plant->m_addornements = "v*"; - n_mill_plant->m_address = base + offset; - n_mill_plant->m_parent = p_node_parent; - n_mill_plant->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_mill_plant); - - field_name = "cheese_animal"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); - auto n_cheese_animal = new NodeVector; - n_cheese_animal->m_field_name = field_name; - n_cheese_animal->m_df_type = DF_Type::unit; - n_cheese_animal->m_rdf_type = RDF_Type::Vector; - n_cheese_animal->m_node_type = NodeType::Vector; - n_cheese_animal->m_defined_in = "df.units.xml"; - n_cheese_animal->m_addornements = "v*"; - n_cheese_animal->m_address = base + offset; - n_cheese_animal->m_parent = p_node_parent; - n_cheese_animal->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_cheese_animal); - - field_name = "cheese_plant"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); - auto n_cheese_plant = new NodeVector; - n_cheese_plant->m_field_name = field_name; - n_cheese_plant->m_df_type = DF_Type::unit; - n_cheese_plant->m_rdf_type = RDF_Type::Vector; - n_cheese_plant->m_node_type = NodeType::Vector; - n_cheese_plant->m_defined_in = "df.units.xml"; - n_cheese_plant->m_addornements = "v*"; - n_cheese_plant->m_address = base + offset; - n_cheese_plant->m_parent = p_node_parent; - n_cheese_plant->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_cheese_plant); - - field_name = "pets"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); - auto n_pets = new NodeVector; - n_pets->m_field_name = field_name; - n_pets->m_df_type = DF_Type::unit; - n_pets->m_rdf_type = RDF_Type::Vector; - n_pets->m_node_type = NodeType::Vector; - n_pets->m_defined_in = "df.units.xml"; - n_pets->m_addornements = "v*"; - n_pets->m_address = base + offset; - n_pets->m_parent = p_node_parent; - n_pets->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_pets); - -} -void node_from_ui__T_economy_prices(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "price_adjustment"; - auto n_price_adjustment = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices, field_name)); - n_price_adjustment->m_field_name = field_name; - n_price_adjustment->m_df_type = DF_Type::ui__T_economy_prices__T_price_adjustment; - n_price_adjustment->m_rdf_type = RDF_Type::Compound; - n_price_adjustment->m_node_type = NodeType::Compound; - n_price_adjustment->m_address = base + offset; - n_price_adjustment->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_price_adjustment); - - field_name = "price_setter"; - auto n_price_setter = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices, field_name)); - n_price_setter->m_field_name = field_name; - n_price_setter->m_df_type = DF_Type::ui__T_economy_prices__T_price_setter; - n_price_setter->m_rdf_type = RDF_Type::Compound; - n_price_setter->m_node_type = NodeType::Compound; - n_price_setter->m_address = base + offset; - n_price_setter->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_price_setter); - -} -void node_from_ui__T_stockpile(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "reserved_bins"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_stockpile, field_name)); - auto n_reserved_bins = new NodeSimple; - n_reserved_bins->m_field_name = field_name; - n_reserved_bins->m_df_type = DF_Type::int32_t; - n_reserved_bins->m_rdf_type = RDF_Type::int32_t; - n_reserved_bins->m_node_type = NodeType::Simple; - n_reserved_bins->m_address = base + offset; - n_reserved_bins->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_reserved_bins); - - field_name = "reserved_barrels"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_stockpile, field_name)); - auto n_reserved_barrels = new NodeSimple; - n_reserved_barrels->m_field_name = field_name; - n_reserved_barrels->m_df_type = DF_Type::int32_t; - n_reserved_barrels->m_rdf_type = RDF_Type::int32_t; - n_reserved_barrels->m_node_type = NodeType::Simple; - n_reserved_barrels->m_address = base + offset; - n_reserved_barrels->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_reserved_barrels); - - field_name = "custom_settings"; - auto n_custom_settings = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_stockpile, field_name)); - n_custom_settings->m_field_name = field_name; - n_custom_settings->m_df_type = DF_Type::stockpile_settings; - n_custom_settings->m_rdf_type = RDF_Type::Struct; - n_custom_settings->m_node_type = NodeType::Compound; - n_custom_settings->m_address = base + offset; - n_custom_settings->m_defined_in = "df.stockpile.xml"; - n_custom_settings->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_custom_settings); - -} -void node_from_ui__T_unk2a8c(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_unk2a8c, field_name)); - auto n_unk1 = new NodeSimple; - n_unk1->m_field_name = field_name; - n_unk1->m_df_type = DF_Type::int16_t; - n_unk1->m_rdf_type = RDF_Type::int16_t; - n_unk1->m_node_type = NodeType::Simple; - n_unk1->m_address = base + offset; - n_unk1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk1); - - field_name = "unk2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_unk2a8c, field_name)); - auto n_unk2 = new NodeSimple; - n_unk2->m_field_name = field_name; - n_unk2->m_df_type = DF_Type::int16_t; - n_unk2->m_rdf_type = RDF_Type::int16_t; - n_unk2->m_node_type = NodeType::Simple; - n_unk2->m_address = base + offset; - n_unk2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk2); - -} -void node_from_ui__T_map_edge(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "layer_x"; - auto n_layer_x = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_map_edge, field_name)); - n_layer_x->m_field_name = field_name; - n_layer_x->m_df_type = DF_Type::int16_t; - n_layer_x->m_rdf_type = RDF_Type::Array; - n_layer_x->m_node_type = NodeType::Array; - n_layer_x->m_addornements = "[5v"; - n_layer_x->m_array_size = 5; - n_layer_x->m_address = base + offset; - n_layer_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_layer_x); - - field_name = "surface_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_map_edge, field_name)); - auto n_surface_x = new NodeVector; - n_surface_x->m_field_name = field_name; - n_surface_x->m_df_type = DF_Type::int16_t; - n_surface_x->m_rdf_type = RDF_Type::Vector; - n_surface_x->m_node_type = NodeType::Vector; - n_surface_x->m_addornements = "v"; - n_surface_x->m_address = base + offset; - n_surface_x->m_parent = p_node_parent; - n_surface_x->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_surface_x); - - field_name = "layer_y"; - auto n_layer_y = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_map_edge, field_name)); - n_layer_y->m_field_name = field_name; - n_layer_y->m_df_type = DF_Type::int16_t; - n_layer_y->m_rdf_type = RDF_Type::Array; - n_layer_y->m_node_type = NodeType::Array; - n_layer_y->m_addornements = "[5v"; - n_layer_y->m_array_size = 5; - n_layer_y->m_address = base + offset; - n_layer_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_layer_y); - - field_name = "surface_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_map_edge, field_name)); - auto n_surface_y = new NodeVector; - n_surface_y->m_field_name = field_name; - n_surface_y->m_df_type = DF_Type::int16_t; - n_surface_y->m_rdf_type = RDF_Type::Vector; - n_surface_y->m_node_type = NodeType::Vector; - n_surface_y->m_addornements = "v"; - n_surface_y->m_address = base + offset; - n_surface_y->m_parent = p_node_parent; - n_surface_y->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_surface_y); - - field_name = "layer_z"; - auto n_layer_z = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_map_edge, field_name)); - n_layer_z->m_field_name = field_name; - n_layer_z->m_df_type = DF_Type::int16_t; - n_layer_z->m_rdf_type = RDF_Type::Array; - n_layer_z->m_node_type = NodeType::Array; - n_layer_z->m_addornements = "[5v"; - n_layer_z->m_array_size = 5; - n_layer_z->m_address = base + offset; - n_layer_z->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_layer_z); - - field_name = "surface_z"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_map_edge, field_name)); - auto n_surface_z = new NodeVector; - n_surface_z->m_field_name = field_name; - n_surface_z->m_df_type = DF_Type::int16_t; - n_surface_z->m_rdf_type = RDF_Type::Vector; - n_surface_z->m_node_type = NodeType::Vector; - n_surface_z->m_addornements = "v"; - n_surface_z->m_address = base + offset; - n_surface_z->m_parent = p_node_parent; - n_surface_z->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_surface_z); - -} -void node_from_ui__T_waypoints__T_points(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_waypoints__T_points, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "tile"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_waypoints__T_points, field_name)); - auto n_tile = new NodeSimple; - n_tile->m_field_name = field_name; - n_tile->m_df_type = DF_Type::uint8_t; - n_tile->m_rdf_type = RDF_Type::uint8_t; - n_tile->m_node_type = NodeType::Simple; - n_tile->m_address = base + offset; - n_tile->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tile); - - field_name = "fg_color"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_waypoints__T_points, field_name)); - auto n_fg_color = new NodeSimple; - n_fg_color->m_field_name = field_name; - n_fg_color->m_df_type = DF_Type::int16_t; - n_fg_color->m_rdf_type = RDF_Type::int16_t; - n_fg_color->m_node_type = NodeType::Simple; - n_fg_color->m_address = base + offset; - n_fg_color->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_fg_color); - - field_name = "bg_color"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_waypoints__T_points, field_name)); - auto n_bg_color = new NodeSimple; - n_bg_color->m_field_name = field_name; - n_bg_color->m_df_type = DF_Type::int16_t; - n_bg_color->m_rdf_type = RDF_Type::int16_t; - n_bg_color->m_node_type = NodeType::Simple; - n_bg_color->m_address = base + offset; - n_bg_color->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_bg_color); - - field_name = "name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_waypoints__T_points, field_name)); - auto n_name = new NodeSimple; - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Stl_string; - n_name->m_node_type = NodeType::Simple; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "comment"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_waypoints__T_points, field_name)); - auto n_comment = new NodeSimple; - n_comment->m_field_name = field_name; - n_comment->m_df_type = DF_Type::Stl_string; - n_comment->m_rdf_type = RDF_Type::Stl_string; - n_comment->m_node_type = NodeType::Simple; - n_comment->m_address = base + offset; - n_comment->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_comment); - - field_name = "pos"; - auto n_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_waypoints__T_points, field_name)); - n_pos->m_field_name = field_name; - n_pos->m_df_type = DF_Type::coord; - n_pos->m_rdf_type = RDF_Type::Struct; - n_pos->m_node_type = NodeType::Compound; - n_pos->m_address = base + offset; - n_pos->m_defined_in = "df.map.xml"; - n_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pos); - -} -void node_from_ui__T_waypoints__T_routes(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_waypoints__T_routes, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_waypoints__T_routes, field_name)); - auto n_name = new NodeSimple; - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Stl_string; - n_name->m_node_type = NodeType::Simple; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "points"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_waypoints__T_routes, field_name)); - auto n_points = new NodeVector; - n_points->m_field_name = field_name; - n_points->m_df_type = DF_Type::int32_t; - n_points->m_rdf_type = RDF_Type::Vector; - n_points->m_node_type = NodeType::Vector; - n_points->m_addornements = "v"; - n_points->m_address = base + offset; - n_points->m_parent = p_node_parent; - n_points->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_points); - -} -void node_from_ui__T_waypoints(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "points"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_waypoints, field_name)); - auto n_points = new NodeVector; - n_points->m_field_name = field_name; - n_points->m_df_type = DF_Type::ui__T_waypoints__T_points; - n_points->m_rdf_type = RDF_Type::Vector; - n_points->m_node_type = NodeType::Vector; - n_points->m_addornements = "v*"; - n_points->m_address = base + offset; - n_points->m_parent = p_node_parent; - n_points->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_points); - - field_name = "routes"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_waypoints, field_name)); - auto n_routes = new NodeVector; - n_routes->m_field_name = field_name; - n_routes->m_df_type = DF_Type::ui__T_waypoints__T_routes; - n_routes->m_rdf_type = RDF_Type::Vector; - n_routes->m_node_type = NodeType::Vector; - n_routes->m_addornements = "v*"; - n_routes->m_address = base + offset; - n_routes->m_parent = p_node_parent; - n_routes->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_routes); - - field_name = "sym_selector"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_waypoints, field_name)); - auto n_sym_selector = new NodeSimple; - n_sym_selector->m_field_name = field_name; - n_sym_selector->m_df_type = DF_Type::int16_t; - n_sym_selector->m_rdf_type = RDF_Type::int16_t; - n_sym_selector->m_node_type = NodeType::Simple; - n_sym_selector->m_address = base + offset; - n_sym_selector->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sym_selector); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_waypoints, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int16_t; - n_anon_1->m_rdf_type = RDF_Type::int16_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "cur_point_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_waypoints, field_name)); - auto n_cur_point_index = new NodeSimple; - n_cur_point_index->m_field_name = field_name; - n_cur_point_index->m_df_type = DF_Type::int32_t; - n_cur_point_index->m_rdf_type = RDF_Type::int32_t; - n_cur_point_index->m_node_type = NodeType::Simple; - n_cur_point_index->m_address = base + offset; - n_cur_point_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cur_point_index); - - field_name = "in_edit_name_mode"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_waypoints, field_name)); - auto n_in_edit_name_mode = new NodeSimple; - n_in_edit_name_mode->m_field_name = field_name; - n_in_edit_name_mode->m_df_type = DF_Type::Bool; - n_in_edit_name_mode->m_rdf_type = RDF_Type::Bool; - n_in_edit_name_mode->m_node_type = NodeType::Simple; - n_in_edit_name_mode->m_address = base + offset; - n_in_edit_name_mode->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_in_edit_name_mode); - - field_name = "in_edit_text_mode"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_waypoints, field_name)); - auto n_in_edit_text_mode = new NodeSimple; - n_in_edit_text_mode->m_field_name = field_name; - n_in_edit_text_mode->m_df_type = DF_Type::Bool; - n_in_edit_text_mode->m_rdf_type = RDF_Type::Bool; - n_in_edit_text_mode->m_node_type = NodeType::Simple; - n_in_edit_text_mode->m_address = base + offset; - n_in_edit_text_mode->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_in_edit_text_mode); - - field_name = "sym_tile"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_waypoints, field_name)); - auto n_sym_tile = new NodeSimple; - n_sym_tile->m_field_name = field_name; - n_sym_tile->m_df_type = DF_Type::uint8_t; - n_sym_tile->m_rdf_type = RDF_Type::uint8_t; - n_sym_tile->m_node_type = NodeType::Simple; - n_sym_tile->m_address = base + offset; - n_sym_tile->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sym_tile); - - field_name = "sym_fg_color"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_waypoints, field_name)); - auto n_sym_fg_color = new NodeSimple; - n_sym_fg_color->m_field_name = field_name; - n_sym_fg_color->m_df_type = DF_Type::int16_t; - n_sym_fg_color->m_rdf_type = RDF_Type::int16_t; - n_sym_fg_color->m_node_type = NodeType::Simple; - n_sym_fg_color->m_address = base + offset; - n_sym_fg_color->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sym_fg_color); - - field_name = "sym_bg_color"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_waypoints, field_name)); - auto n_sym_bg_color = new NodeSimple; - n_sym_bg_color->m_field_name = field_name; - n_sym_bg_color->m_df_type = DF_Type::int16_t; - n_sym_bg_color->m_rdf_type = RDF_Type::int16_t; - n_sym_bg_color->m_node_type = NodeType::Simple; - n_sym_bg_color->m_address = base + offset; - n_sym_bg_color->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sym_bg_color); - - field_name = "unk5c04"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_waypoints, field_name)); - auto n_unk5c04 = new NodeVector; - n_unk5c04->m_field_name = field_name; - n_unk5c04->m_df_type = DF_Type::Stl_string; - n_unk5c04->m_rdf_type = RDF_Type::Vector; - n_unk5c04->m_node_type = NodeType::Vector; - n_unk5c04->m_addornements = "v*"; - n_unk5c04->m_address = base + offset; - n_unk5c04->m_parent = p_node_parent; - n_unk5c04->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk5c04); - - field_name = "next_point_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_waypoints, field_name)); - auto n_next_point_id = new NodeSimple; - n_next_point_id->m_field_name = field_name; - n_next_point_id->m_df_type = DF_Type::int32_t; - n_next_point_id->m_rdf_type = RDF_Type::int32_t; - n_next_point_id->m_node_type = NodeType::Simple; - n_next_point_id->m_address = base + offset; - n_next_point_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_next_point_id); - - field_name = "next_route_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_waypoints, field_name)); - auto n_next_route_id = new NodeSimple; - n_next_route_id->m_field_name = field_name; - n_next_route_id->m_df_type = DF_Type::int32_t; - n_next_route_id->m_rdf_type = RDF_Type::int32_t; - n_next_route_id->m_node_type = NodeType::Simple; - n_next_route_id->m_address = base + offset; - n_next_route_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_next_route_id); - - field_name = "sel_route_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_waypoints, field_name)); - auto n_sel_route_idx = new NodeSimple; - n_sel_route_idx->m_field_name = field_name; - n_sel_route_idx->m_df_type = DF_Type::int32_t; - n_sel_route_idx->m_rdf_type = RDF_Type::int32_t; - n_sel_route_idx->m_node_type = NodeType::Simple; - n_sel_route_idx->m_address = base + offset; - n_sel_route_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sel_route_idx); - - field_name = "sel_route_waypt_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_waypoints, field_name)); - auto n_sel_route_waypt_idx = new NodeSimple; - n_sel_route_waypt_idx->m_field_name = field_name; - n_sel_route_waypt_idx->m_df_type = DF_Type::int32_t; - n_sel_route_waypt_idx->m_rdf_type = RDF_Type::int32_t; - n_sel_route_waypt_idx->m_node_type = NodeType::Simple; - n_sel_route_waypt_idx->m_address = base + offset; - n_sel_route_waypt_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sel_route_waypt_idx); - - field_name = "in_edit_waypts_mode"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_waypoints, field_name)); - auto n_in_edit_waypts_mode = new NodeSimple; - n_in_edit_waypts_mode->m_field_name = field_name; - n_in_edit_waypts_mode->m_df_type = DF_Type::Bool; - n_in_edit_waypts_mode->m_rdf_type = RDF_Type::Bool; - n_in_edit_waypts_mode->m_node_type = NodeType::Simple; - n_in_edit_waypts_mode->m_address = base + offset; - n_in_edit_waypts_mode->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_in_edit_waypts_mode); - - field_name = "unk_42_06"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_waypoints, field_name)); - auto n_unk_42_06 = new NodeVector; - n_unk_42_06->m_field_name = field_name; - n_unk_42_06->m_df_type = DF_Type::Void; - n_unk_42_06->m_rdf_type = RDF_Type::Vector; - n_unk_42_06->m_node_type = NodeType::Vector; - n_unk_42_06->m_addornements = "v"; - n_unk_42_06->m_address = base + offset; - n_unk_42_06->m_parent = p_node_parent; - n_unk_42_06->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_42_06); - -} -void node_from_ui__T_burrows(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "list"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_burrows, field_name)); - auto n_list = new NodeVector; - n_list->m_field_name = field_name; - n_list->m_df_type = DF_Type::burrow; - n_list->m_rdf_type = RDF_Type::Vector; - n_list->m_node_type = NodeType::Vector; - n_list->m_defined_in = "df.ui.xml"; - n_list->m_addornements = "v*"; - n_list->m_address = base + offset; - n_list->m_parent = p_node_parent; - n_list->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_list); - - field_name = "next_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_burrows, field_name)); - auto n_next_id = new NodeSimple; - n_next_id->m_field_name = field_name; - n_next_id->m_df_type = DF_Type::int32_t; - n_next_id->m_rdf_type = RDF_Type::int32_t; - n_next_id->m_node_type = NodeType::Simple; - n_next_id->m_address = base + offset; - n_next_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_next_id); - - field_name = "sel_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_burrows, field_name)); - auto n_sel_index = new NodeSimple; - n_sel_index->m_field_name = field_name; - n_sel_index->m_df_type = DF_Type::int32_t; - n_sel_index->m_rdf_type = RDF_Type::int32_t; - n_sel_index->m_node_type = NodeType::Simple; - n_sel_index->m_address = base + offset; - n_sel_index->m_refers_to = "$$._parent.list[$]"; - n_sel_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sel_index); - - field_name = "sel_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_burrows, field_name)); - auto n_sel_id = new NodeSimple; - n_sel_id->m_field_name = field_name; - n_sel_id->m_df_type = DF_Type::int32_t; - n_sel_id->m_rdf_type = RDF_Type::int32_t; - n_sel_id->m_node_type = NodeType::Simple; - n_sel_id->m_address = base + offset; - n_sel_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sel_id); - - field_name = "in_confirm_delete"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_burrows, field_name)); - auto n_in_confirm_delete = new NodeSimple; - n_in_confirm_delete->m_field_name = field_name; - n_in_confirm_delete->m_df_type = DF_Type::Bool; - n_in_confirm_delete->m_rdf_type = RDF_Type::Bool; - n_in_confirm_delete->m_node_type = NodeType::Simple; - n_in_confirm_delete->m_address = base + offset; - n_in_confirm_delete->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_in_confirm_delete); - - field_name = "in_add_units_mode"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_burrows, field_name)); - auto n_in_add_units_mode = new NodeSimple; - n_in_add_units_mode->m_field_name = field_name; - n_in_add_units_mode->m_df_type = DF_Type::Bool; - n_in_add_units_mode->m_rdf_type = RDF_Type::Bool; - n_in_add_units_mode->m_node_type = NodeType::Simple; - n_in_add_units_mode->m_address = base + offset; - n_in_add_units_mode->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_in_add_units_mode); - - field_name = "list_units"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_burrows, field_name)); - auto n_list_units = new NodeVector; - n_list_units->m_field_name = field_name; - n_list_units->m_df_type = DF_Type::unit; - n_list_units->m_rdf_type = RDF_Type::Vector; - n_list_units->m_node_type = NodeType::Vector; - n_list_units->m_defined_in = "df.units.xml"; - n_list_units->m_addornements = "v*"; - n_list_units->m_address = base + offset; - n_list_units->m_parent = p_node_parent; - n_list_units->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_list_units); - - field_name = "sel_units"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_burrows, field_name)); - auto n_sel_units = new NodeVector; - n_sel_units->m_field_name = field_name; - n_sel_units->m_df_type = DF_Type::Bool; - n_sel_units->m_rdf_type = RDF_Type::Vector; - n_sel_units->m_node_type = NodeType::Vector; - n_sel_units->m_addornements = "v"; - n_sel_units->m_address = base + offset; - n_sel_units->m_parent = p_node_parent; - n_sel_units->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_sel_units); - - field_name = "unit_cursor_pos"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_burrows, field_name)); - auto n_unit_cursor_pos = new NodeSimple; - n_unit_cursor_pos->m_field_name = field_name; - n_unit_cursor_pos->m_df_type = DF_Type::int32_t; - n_unit_cursor_pos->m_rdf_type = RDF_Type::int32_t; - n_unit_cursor_pos->m_node_type = NodeType::Simple; - n_unit_cursor_pos->m_address = base + offset; - n_unit_cursor_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unit_cursor_pos); - - field_name = "in_define_mode"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_burrows, field_name)); - auto n_in_define_mode = new NodeSimple; - n_in_define_mode->m_field_name = field_name; - n_in_define_mode->m_df_type = DF_Type::Bool; - n_in_define_mode->m_rdf_type = RDF_Type::Bool; - n_in_define_mode->m_node_type = NodeType::Simple; - n_in_define_mode->m_address = base + offset; - n_in_define_mode->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_in_define_mode); - - field_name = "brush_erasing"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_burrows, field_name)); - auto n_brush_erasing = new NodeSimple; - n_brush_erasing->m_field_name = field_name; - n_brush_erasing->m_df_type = DF_Type::Bool; - n_brush_erasing->m_rdf_type = RDF_Type::Bool; - n_brush_erasing->m_node_type = NodeType::Simple; - n_brush_erasing->m_address = base + offset; - n_brush_erasing->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_brush_erasing); - - field_name = "rect_start"; - auto n_rect_start = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_burrows, field_name)); - n_rect_start->m_field_name = field_name; - n_rect_start->m_df_type = DF_Type::coord; - n_rect_start->m_rdf_type = RDF_Type::Struct; - n_rect_start->m_node_type = NodeType::Compound; - n_rect_start->m_address = base + offset; - n_rect_start->m_defined_in = "df.map.xml"; - n_rect_start->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rect_start); - - field_name = "brush_mode"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_burrows, field_name)); - auto n_brush_mode = new NodeSimple; - n_brush_mode->m_field_name = field_name; - n_brush_mode->m_df_type = DF_Type::int16_t; - n_brush_mode->m_rdf_type = RDF_Type::int16_t; - n_brush_mode->m_node_type = NodeType::Simple; - n_brush_mode->m_address = base + offset; - n_brush_mode->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_brush_mode); - - field_name = "in_edit_name_mode"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_burrows, field_name)); - auto n_in_edit_name_mode = new NodeSimple; - n_in_edit_name_mode->m_field_name = field_name; - n_in_edit_name_mode->m_df_type = DF_Type::Bool; - n_in_edit_name_mode->m_rdf_type = RDF_Type::Bool; - n_in_edit_name_mode->m_node_type = NodeType::Simple; - n_in_edit_name_mode->m_address = base + offset; - n_in_edit_name_mode->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_in_edit_name_mode); - - field_name = "sym_selector"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_burrows, field_name)); - auto n_sym_selector = new NodeSimple; - n_sym_selector->m_field_name = field_name; - n_sym_selector->m_df_type = DF_Type::int16_t; - n_sym_selector->m_rdf_type = RDF_Type::int16_t; - n_sym_selector->m_node_type = NodeType::Simple; - n_sym_selector->m_address = base + offset; - n_sym_selector->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sym_selector); - - field_name = "sym_tile"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_burrows, field_name)); - auto n_sym_tile = new NodeSimple; - n_sym_tile->m_field_name = field_name; - n_sym_tile->m_df_type = DF_Type::int16_t; - n_sym_tile->m_rdf_type = RDF_Type::int16_t; - n_sym_tile->m_node_type = NodeType::Simple; - n_sym_tile->m_address = base + offset; - n_sym_tile->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sym_tile); - - field_name = "sym_fg_color"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_burrows, field_name)); - auto n_sym_fg_color = new NodeSimple; - n_sym_fg_color->m_field_name = field_name; - n_sym_fg_color->m_df_type = DF_Type::int16_t; - n_sym_fg_color->m_rdf_type = RDF_Type::int16_t; - n_sym_fg_color->m_node_type = NodeType::Simple; - n_sym_fg_color->m_address = base + offset; - n_sym_fg_color->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sym_fg_color); - - field_name = "sym_bg_color"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_burrows, field_name)); - auto n_sym_bg_color = new NodeSimple; - n_sym_bg_color->m_field_name = field_name; - n_sym_bg_color->m_df_type = DF_Type::int16_t; - n_sym_bg_color->m_rdf_type = RDF_Type::int16_t; - n_sym_bg_color->m_node_type = NodeType::Simple; - n_sym_bg_color->m_address = base + offset; - n_sym_bg_color->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sym_bg_color); - -} -void node_from_ui__T_alerts__T_list(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_alerts__T_list, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_alerts__T_list, field_name)); - auto n_name = new NodeSimple; - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Stl_string; - n_name->m_node_type = NodeType::Simple; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "burrows"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_alerts__T_list, field_name)); - auto n_burrows = new NodeVector; - n_burrows->m_field_name = field_name; - n_burrows->m_df_type = DF_Type::int32_t; - n_burrows->m_rdf_type = RDF_Type::Vector; - n_burrows->m_node_type = NodeType::Vector; - n_burrows->m_addornements = "v"; - n_burrows->m_address = base + offset; - n_burrows->m_parent = p_node_parent; - n_burrows->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_burrows); - -} -void node_from_ui__T_alerts(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "list"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_alerts, field_name)); - auto n_list = new NodeVector; - n_list->m_field_name = field_name; - n_list->m_df_type = DF_Type::ui__T_alerts__T_list; - n_list->m_rdf_type = RDF_Type::Vector; - n_list->m_node_type = NodeType::Vector; - n_list->m_addornements = "v*"; - n_list->m_address = base + offset; - n_list->m_parent = p_node_parent; - n_list->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_list); - - field_name = "next_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_alerts, field_name)); - auto n_next_id = new NodeSimple; - n_next_id->m_field_name = field_name; - n_next_id->m_df_type = DF_Type::int32_t; - n_next_id->m_rdf_type = RDF_Type::int32_t; - n_next_id->m_node_type = NodeType::Simple; - n_next_id->m_address = base + offset; - n_next_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_next_id); - - field_name = "civ_alert_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_alerts, field_name)); - auto n_civ_alert_idx = new NodeSimple; - n_civ_alert_idx->m_field_name = field_name; - n_civ_alert_idx->m_df_type = DF_Type::int32_t; - n_civ_alert_idx->m_rdf_type = RDF_Type::int32_t; - n_civ_alert_idx->m_node_type = NodeType::Simple; - n_civ_alert_idx->m_address = base + offset; - n_civ_alert_idx->m_refers_to = "$$._parent.list[$]"; - n_civ_alert_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_civ_alert_idx); - -} -void node_from_ui__T_equipment(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "items_by_type1"; - auto n_items_by_type1 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_equipment, field_name)); - n_items_by_type1->m_field_name = field_name; - n_items_by_type1->m_df_type = DF_Type::item; - n_items_by_type1->m_rdf_type = RDF_Type::Array; - n_items_by_type1->m_node_type = NodeType::Array; - n_items_by_type1->m_index_enum = DF_Type::item_type; - n_items_by_type1->m_defined_in = "df.items.xml"; - n_items_by_type1->m_addornements = "[112v*"; - n_items_by_type1->m_array_size = 112; - n_items_by_type1->m_address = base + offset; - n_items_by_type1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_items_by_type1); - - field_name = "items_unassigned"; - auto n_items_unassigned = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_equipment, field_name)); - n_items_unassigned->m_field_name = field_name; - n_items_unassigned->m_df_type = DF_Type::item; - n_items_unassigned->m_rdf_type = RDF_Type::Array; - n_items_unassigned->m_node_type = NodeType::Array; - n_items_unassigned->m_index_enum = DF_Type::item_type; - n_items_unassigned->m_defined_in = "df.items.xml"; - n_items_unassigned->m_addornements = "[112v*"; - n_items_unassigned->m_array_size = 112; - n_items_unassigned->m_address = base + offset; - n_items_unassigned->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_items_unassigned); - - field_name = "items_assigned"; - auto n_items_assigned = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_equipment, field_name)); - n_items_assigned->m_field_name = field_name; - n_items_assigned->m_df_type = DF_Type::item; - n_items_assigned->m_rdf_type = RDF_Type::Array; - n_items_assigned->m_node_type = NodeType::Array; - n_items_assigned->m_index_enum = DF_Type::item_type; - n_items_assigned->m_defined_in = "df.items.xml"; - n_items_assigned->m_addornements = "[112v*"; - n_items_assigned->m_array_size = 112; - n_items_assigned->m_address = base + offset; - n_items_assigned->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_items_assigned); - - field_name = "update"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_equipment, field_name)); - auto n_update = new NodeBitfield; - n_update->m_field_name = field_name; - n_update->m_df_type = DF_Type::ui__T_equipment__T_update; - n_update->m_rdf_type = RDF_Type::Bitfield; - n_update->m_node_type = NodeType::Bitfield; - n_update->m_address = base + offset; - n_update->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_update); - - field_name = "work_weapons"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_equipment, field_name)); - auto n_work_weapons = new NodeVector; - n_work_weapons->m_field_name = field_name; - n_work_weapons->m_df_type = DF_Type::int32_t; - n_work_weapons->m_rdf_type = RDF_Type::Vector; - n_work_weapons->m_node_type = NodeType::Vector; - n_work_weapons->m_addornements = "v"; - n_work_weapons->m_address = base + offset; - n_work_weapons->m_comment = "i.e. woodcutter axes, and miner picks"; - n_work_weapons->m_parent = p_node_parent; - n_work_weapons->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_work_weapons); - - field_name = "work_units"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_equipment, field_name)); - auto n_work_units = new NodeVector; - n_work_units->m_field_name = field_name; - n_work_units->m_df_type = DF_Type::int32_t; - n_work_units->m_rdf_type = RDF_Type::Vector; - n_work_units->m_node_type = NodeType::Vector; - n_work_units->m_addornements = "v"; - n_work_units->m_address = base + offset; - n_work_units->m_parent = p_node_parent; - n_work_units->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_work_units); - - field_name = "hunter_ammunition"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_equipment, field_name)); - auto n_hunter_ammunition = new NodeVector; - n_hunter_ammunition->m_field_name = field_name; - n_hunter_ammunition->m_df_type = DF_Type::squad_ammo_spec; - n_hunter_ammunition->m_rdf_type = RDF_Type::Vector; - n_hunter_ammunition->m_node_type = NodeType::Vector; - n_hunter_ammunition->m_defined_in = "df.military.xml"; - n_hunter_ammunition->m_addornements = "v*"; - n_hunter_ammunition->m_address = base + offset; - n_hunter_ammunition->m_parent = p_node_parent; - n_hunter_ammunition->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_hunter_ammunition); - - field_name = "ammo_items"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_equipment, field_name)); - auto n_ammo_items = new NodeVector; - n_ammo_items->m_field_name = field_name; - n_ammo_items->m_df_type = DF_Type::int32_t; - n_ammo_items->m_rdf_type = RDF_Type::Vector; - n_ammo_items->m_node_type = NodeType::Vector; - n_ammo_items->m_addornements = "v"; - n_ammo_items->m_address = base + offset; - n_ammo_items->m_parent = p_node_parent; - n_ammo_items->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_ammo_items); - - field_name = "ammo_units"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_equipment, field_name)); - auto n_ammo_units = new NodeVector; - n_ammo_units->m_field_name = field_name; - n_ammo_units->m_df_type = DF_Type::int32_t; - n_ammo_units->m_rdf_type = RDF_Type::Vector; - n_ammo_units->m_node_type = NodeType::Vector; - n_ammo_units->m_addornements = "v"; - n_ammo_units->m_address = base + offset; - n_ammo_units->m_parent = p_node_parent; - n_ammo_units->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_ammo_units); - - field_name = "training_assignments"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_equipment, field_name)); - auto n_training_assignments = new NodeVector; - n_training_assignments->m_field_name = field_name; - n_training_assignments->m_df_type = DF_Type::training_assignment; - n_training_assignments->m_rdf_type = RDF_Type::Vector; - n_training_assignments->m_node_type = NodeType::Vector; - n_training_assignments->m_defined_in = "df.jobs.xml"; - n_training_assignments->m_addornements = "v*"; - n_training_assignments->m_address = base + offset; - n_training_assignments->m_comment = "sorted by animal_id"; - n_training_assignments->m_parent = p_node_parent; - n_training_assignments->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_training_assignments); - -} -void node_from_ui__T_hauling(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "routes"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_hauling, field_name)); - auto n_routes = new NodeVector; - n_routes->m_field_name = field_name; - n_routes->m_df_type = DF_Type::hauling_route; - n_routes->m_rdf_type = RDF_Type::Vector; - n_routes->m_node_type = NodeType::Vector; - n_routes->m_defined_in = "df.stockpile.xml"; - n_routes->m_addornements = "v*"; - n_routes->m_address = base + offset; - n_routes->m_parent = p_node_parent; - n_routes->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_routes); - - field_name = "next_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_hauling, field_name)); - auto n_next_id = new NodeSimple; - n_next_id->m_field_name = field_name; - n_next_id->m_df_type = DF_Type::int32_t; - n_next_id->m_rdf_type = RDF_Type::int32_t; - n_next_id->m_node_type = NodeType::Simple; - n_next_id->m_address = base + offset; - n_next_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_next_id); - - field_name = "view_routes"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_hauling, field_name)); - auto n_view_routes = new NodeVector; - n_view_routes->m_field_name = field_name; - n_view_routes->m_df_type = DF_Type::hauling_route; - n_view_routes->m_rdf_type = RDF_Type::Vector; - n_view_routes->m_node_type = NodeType::Vector; - n_view_routes->m_defined_in = "df.stockpile.xml"; - n_view_routes->m_addornements = "v*"; - n_view_routes->m_address = base + offset; - n_view_routes->m_parent = p_node_parent; - n_view_routes->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_view_routes); - - field_name = "view_stops"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_hauling, field_name)); - auto n_view_stops = new NodeVector; - n_view_stops->m_field_name = field_name; - n_view_stops->m_df_type = DF_Type::hauling_stop; - n_view_stops->m_rdf_type = RDF_Type::Vector; - n_view_stops->m_node_type = NodeType::Vector; - n_view_stops->m_defined_in = "df.stockpile.xml"; - n_view_stops->m_addornements = "v*"; - n_view_stops->m_address = base + offset; - n_view_stops->m_parent = p_node_parent; - n_view_stops->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_view_stops); - - field_name = "view_bad"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_hauling, field_name)); - auto n_view_bad = new NodeVector; - n_view_bad->m_field_name = field_name; - n_view_bad->m_df_type = DF_Type::int32_t; - n_view_bad->m_rdf_type = RDF_Type::Vector; - n_view_bad->m_node_type = NodeType::Vector; - n_view_bad->m_addornements = "v"; - n_view_bad->m_address = base + offset; - n_view_bad->m_parent = p_node_parent; - n_view_bad->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_view_bad); - - field_name = "cursor_top"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_hauling, field_name)); - auto n_cursor_top = new NodeSimple; - n_cursor_top->m_field_name = field_name; - n_cursor_top->m_df_type = DF_Type::int32_t; - n_cursor_top->m_rdf_type = RDF_Type::int32_t; - n_cursor_top->m_node_type = NodeType::Simple; - n_cursor_top->m_address = base + offset; - n_cursor_top->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cursor_top); - - field_name = "in_stop"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_hauling, field_name)); - auto n_in_stop = new NodeSimple; - n_in_stop->m_field_name = field_name; - n_in_stop->m_df_type = DF_Type::Bool; - n_in_stop->m_rdf_type = RDF_Type::Bool; - n_in_stop->m_node_type = NodeType::Simple; - n_in_stop->m_address = base + offset; - n_in_stop->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_in_stop); - - field_name = "cursor_stop"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_hauling, field_name)); - auto n_cursor_stop = new NodeSimple; - n_cursor_stop->m_field_name = field_name; - n_cursor_stop->m_df_type = DF_Type::int32_t; - n_cursor_stop->m_rdf_type = RDF_Type::int32_t; - n_cursor_stop->m_node_type = NodeType::Simple; - n_cursor_stop->m_address = base + offset; - n_cursor_stop->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cursor_stop); - - field_name = "stop_conditions"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_hauling, field_name)); - auto n_stop_conditions = new NodeVector; - n_stop_conditions->m_field_name = field_name; - n_stop_conditions->m_df_type = DF_Type::stop_depart_condition; - n_stop_conditions->m_rdf_type = RDF_Type::Vector; - n_stop_conditions->m_node_type = NodeType::Vector; - n_stop_conditions->m_defined_in = "df.stockpile.xml"; - n_stop_conditions->m_addornements = "v*"; - n_stop_conditions->m_address = base + offset; - n_stop_conditions->m_parent = p_node_parent; - n_stop_conditions->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_stop_conditions); - - field_name = "stop_links"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_hauling, field_name)); - auto n_stop_links = new NodeVector; - n_stop_links->m_field_name = field_name; - n_stop_links->m_df_type = DF_Type::route_stockpile_link; - n_stop_links->m_rdf_type = RDF_Type::Vector; - n_stop_links->m_node_type = NodeType::Vector; - n_stop_links->m_defined_in = "df.stockpile.xml"; - n_stop_links->m_addornements = "v*"; - n_stop_links->m_address = base + offset; - n_stop_links->m_parent = p_node_parent; - n_stop_links->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_stop_links); - - field_name = "in_advanced_cond"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_hauling, field_name)); - auto n_in_advanced_cond = new NodeSimple; - n_in_advanced_cond->m_field_name = field_name; - n_in_advanced_cond->m_df_type = DF_Type::Bool; - n_in_advanced_cond->m_rdf_type = RDF_Type::Bool; - n_in_advanced_cond->m_node_type = NodeType::Simple; - n_in_advanced_cond->m_address = base + offset; - n_in_advanced_cond->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_in_advanced_cond); - - field_name = "in_assign_vehicle"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_hauling, field_name)); - auto n_in_assign_vehicle = new NodeSimple; - n_in_assign_vehicle->m_field_name = field_name; - n_in_assign_vehicle->m_df_type = DF_Type::Bool; - n_in_assign_vehicle->m_rdf_type = RDF_Type::Bool; - n_in_assign_vehicle->m_node_type = NodeType::Simple; - n_in_assign_vehicle->m_address = base + offset; - n_in_assign_vehicle->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_in_assign_vehicle); - - field_name = "cursor_vehicle"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_hauling, field_name)); - auto n_cursor_vehicle = new NodeSimple; - n_cursor_vehicle->m_field_name = field_name; - n_cursor_vehicle->m_df_type = DF_Type::int32_t; - n_cursor_vehicle->m_rdf_type = RDF_Type::int32_t; - n_cursor_vehicle->m_node_type = NodeType::Simple; - n_cursor_vehicle->m_address = base + offset; - n_cursor_vehicle->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cursor_vehicle); - - field_name = "vehicles"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_hauling, field_name)); - auto n_vehicles = new NodeVector; - n_vehicles->m_field_name = field_name; - n_vehicles->m_df_type = DF_Type::vehicle; - n_vehicles->m_rdf_type = RDF_Type::Vector; - n_vehicles->m_node_type = NodeType::Vector; - n_vehicles->m_defined_in = "df.stockpile.xml"; - n_vehicles->m_addornements = "v*"; - n_vehicles->m_address = base + offset; - n_vehicles->m_parent = p_node_parent; - n_vehicles->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_vehicles); - - field_name = "in_name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_hauling, field_name)); - auto n_in_name = new NodeSimple; - n_in_name->m_field_name = field_name; - n_in_name->m_df_type = DF_Type::Bool; - n_in_name->m_rdf_type = RDF_Type::Bool; - n_in_name->m_node_type = NodeType::Simple; - n_in_name->m_address = base + offset; - n_in_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_in_name); - - field_name = "old_name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_hauling, field_name)); - auto n_old_name = new NodeSimple; - n_old_name->m_field_name = field_name; - n_old_name->m_df_type = DF_Type::Stl_string; - n_old_name->m_rdf_type = RDF_Type::Stl_string; - n_old_name->m_node_type = NodeType::Simple; - n_old_name->m_address = base + offset; - n_old_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_old_name); - -} -void node_from_ui__T_main__T_dead_citizens(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unit_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_main__T_dead_citizens, field_name)); - auto n_unit_id = new NodeSimple; - n_unit_id->m_field_name = field_name; - n_unit_id->m_df_type = DF_Type::int32_t; - n_unit_id->m_rdf_type = RDF_Type::int32_t; - n_unit_id->m_node_type = NodeType::Simple; - n_unit_id->m_address = base + offset; - n_unit_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unit_id); - - field_name = "histfig_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_main__T_dead_citizens, field_name)); - auto n_histfig_id = new NodeSimple; - n_histfig_id->m_field_name = field_name; - n_histfig_id->m_df_type = DF_Type::int32_t; - n_histfig_id->m_rdf_type = RDF_Type::int32_t; - n_histfig_id->m_node_type = NodeType::Simple; - n_histfig_id->m_address = base + offset; - n_histfig_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig_id); - - field_name = "death_year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_main__T_dead_citizens, field_name)); - auto n_death_year = new NodeSimple; - n_death_year->m_field_name = field_name; - n_death_year->m_df_type = DF_Type::int32_t; - n_death_year->m_rdf_type = RDF_Type::int32_t; - n_death_year->m_node_type = NodeType::Simple; - n_death_year->m_address = base + offset; - n_death_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_death_year); - - field_name = "death_time"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_main__T_dead_citizens, field_name)); - auto n_death_time = new NodeSimple; - n_death_time->m_field_name = field_name; - n_death_time->m_df_type = DF_Type::int32_t; - n_death_time->m_rdf_type = RDF_Type::int32_t; - n_death_time->m_node_type = NodeType::Simple; - n_death_time->m_address = base + offset; - n_death_time->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_death_time); - - field_name = "timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_main__T_dead_citizens, field_name)); - auto n_timer = new NodeSimple; - n_timer->m_field_name = field_name; - n_timer->m_df_type = DF_Type::int32_t; - n_timer->m_rdf_type = RDF_Type::int32_t; - n_timer->m_node_type = NodeType::Simple; - n_timer->m_address = base + offset; - n_timer->m_comment = "+1 per 10"; - n_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_timer); - - field_name = "ghost_type"; - auto n_ghost_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_main__T_dead_citizens, field_name)); - n_ghost_type->m_field_name = field_name; - n_ghost_type->m_df_type = DF_Type::ghost_type; - n_ghost_type->m_rdf_type = RDF_Type::Enum; - n_ghost_type->m_node_type = NodeType::Enum; - n_ghost_type->m_base_type = DF_Type::int16_t; - n_ghost_type->m_enum_type = "ghost_type"; - n_ghost_type->m_address = base + offset; - n_ghost_type->m_defined_in = "df.units.xml"; - n_ghost_type->m_first_value = 0; - n_ghost_type->m_last_value = 10; - n_ghost_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ghost_type); - -} -void node_from_ui__T_main(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "hotkeys"; - auto n_hotkeys = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_main, field_name)); - n_hotkeys->m_field_name = field_name; - n_hotkeys->m_df_type = DF_Type::ui_hotkey; - n_hotkeys->m_rdf_type = RDF_Type::Array; - n_hotkeys->m_node_type = NodeType::Array; - n_hotkeys->m_defined_in = "df.ui.xml"; - n_hotkeys->m_addornements = "[16"; - n_hotkeys->m_array_size = 16; - n_hotkeys->m_address = base + offset; - n_hotkeys->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_hotkeys); - - field_name = "traffic_cost_high"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_main, field_name)); - auto n_traffic_cost_high = new NodeSimple; - n_traffic_cost_high->m_field_name = field_name; - n_traffic_cost_high->m_df_type = DF_Type::int32_t; - n_traffic_cost_high->m_rdf_type = RDF_Type::int32_t; - n_traffic_cost_high->m_node_type = NodeType::Simple; - n_traffic_cost_high->m_address = base + offset; - n_traffic_cost_high->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_traffic_cost_high); - - field_name = "traffic_cost_normal"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_main, field_name)); - auto n_traffic_cost_normal = new NodeSimple; - n_traffic_cost_normal->m_field_name = field_name; - n_traffic_cost_normal->m_df_type = DF_Type::int32_t; - n_traffic_cost_normal->m_rdf_type = RDF_Type::int32_t; - n_traffic_cost_normal->m_node_type = NodeType::Simple; - n_traffic_cost_normal->m_address = base + offset; - n_traffic_cost_normal->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_traffic_cost_normal); - - field_name = "traffic_cost_low"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_main, field_name)); - auto n_traffic_cost_low = new NodeSimple; - n_traffic_cost_low->m_field_name = field_name; - n_traffic_cost_low->m_df_type = DF_Type::int32_t; - n_traffic_cost_low->m_rdf_type = RDF_Type::int32_t; - n_traffic_cost_low->m_node_type = NodeType::Simple; - n_traffic_cost_low->m_address = base + offset; - n_traffic_cost_low->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_traffic_cost_low); - - field_name = "traffic_cost_restricted"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_main, field_name)); - auto n_traffic_cost_restricted = new NodeSimple; - n_traffic_cost_restricted->m_field_name = field_name; - n_traffic_cost_restricted->m_df_type = DF_Type::int32_t; - n_traffic_cost_restricted->m_rdf_type = RDF_Type::int32_t; - n_traffic_cost_restricted->m_node_type = NodeType::Simple; - n_traffic_cost_restricted->m_address = base + offset; - n_traffic_cost_restricted->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_traffic_cost_restricted); - - field_name = "dead_citizens"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_main, field_name)); - auto n_dead_citizens = new NodeVector; - n_dead_citizens->m_field_name = field_name; - n_dead_citizens->m_df_type = DF_Type::ui__T_main__T_dead_citizens; - n_dead_citizens->m_rdf_type = RDF_Type::Vector; - n_dead_citizens->m_node_type = NodeType::Vector; - n_dead_citizens->m_addornements = "v*"; - n_dead_citizens->m_address = base + offset; - n_dead_citizens->m_comment = "?"; - n_dead_citizens->m_parent = p_node_parent; - n_dead_citizens->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_dead_citizens); - - field_name = "fortress_entity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_main, field_name)); - auto n_fortress_entity = new NodePointer; - n_fortress_entity->m_field_name = field_name; - n_fortress_entity->m_df_type = get_real_subtype(base+offset, DF_Type::historical_entity); - n_fortress_entity->m_rdf_type = RDF_Type::Pointer; - n_fortress_entity->m_node_type = NodeType::Pointer; - n_fortress_entity->m_addornements = "*"; - n_fortress_entity->m_address = base + offset; - n_fortress_entity->m_comment = "entity pointed to by group_id"; - n_fortress_entity->m_parent = p_node_parent; - n_fortress_entity->m_defined_in = "df.entities.xml"; - n_fortress_entity->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_fortress_entity); - - field_name = "fortress_site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_main, field_name)); - auto n_fortress_site = new NodePointer; - n_fortress_site->m_field_name = field_name; - n_fortress_site->m_df_type = get_real_subtype(base+offset, DF_Type::world_site); - n_fortress_site->m_rdf_type = RDF_Type::Pointer; - n_fortress_site->m_node_type = NodeType::Pointer; - n_fortress_site->m_addornements = "*"; - n_fortress_site->m_address = base + offset; - n_fortress_site->m_parent = p_node_parent; - n_fortress_site->m_defined_in = "df.world-site.xml"; - n_fortress_site->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_fortress_site); - - field_name = "mode"; - auto n_mode = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_main, field_name)); - n_mode->m_field_name = field_name; - n_mode->m_df_type = DF_Type::ui_sidebar_mode; - n_mode->m_rdf_type = RDF_Type::Enum; - n_mode->m_node_type = NodeType::Enum; - n_mode->m_base_type = DF_Type::int16_t; - n_mode->m_enum_type = "ui_sidebar_mode"; - n_mode->m_address = base + offset; - n_mode->m_defined_in = "df.ui.xml"; - n_mode->m_first_value = 0; - n_mode->m_last_value = 54; - n_mode->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mode); - - field_name = "unk1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_main, field_name)); - auto n_unk1 = new NodeSimple; - n_unk1->m_field_name = field_name; - n_unk1->m_df_type = DF_Type::int16_t; - n_unk1->m_rdf_type = RDF_Type::int16_t; - n_unk1->m_node_type = NodeType::Simple; - n_unk1->m_address = base + offset; - n_unk1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk1); - - field_name = "selected_traffic_cost"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_main, field_name)); - auto n_selected_traffic_cost = new NodeSimple; - n_selected_traffic_cost->m_field_name = field_name; - n_selected_traffic_cost->m_df_type = DF_Type::int16_t; - n_selected_traffic_cost->m_rdf_type = RDF_Type::int16_t; - n_selected_traffic_cost->m_node_type = NodeType::Simple; - n_selected_traffic_cost->m_address = base + offset; - n_selected_traffic_cost->m_comment = "For changing the above costs."; - n_selected_traffic_cost->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_selected_traffic_cost); - - field_name = "autosave_request"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_main, field_name)); - auto n_autosave_request = new NodeSimple; - n_autosave_request->m_field_name = field_name; - n_autosave_request->m_df_type = DF_Type::Bool; - n_autosave_request->m_rdf_type = RDF_Type::Bool; - n_autosave_request->m_node_type = NodeType::Simple; - n_autosave_request->m_address = base + offset; - n_autosave_request->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_autosave_request); - - field_name = "autosave_unk"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_main, field_name)); - auto n_autosave_unk = new NodeSimple; - n_autosave_unk->m_field_name = field_name; - n_autosave_unk->m_df_type = DF_Type::Bool; - n_autosave_unk->m_rdf_type = RDF_Type::Bool; - n_autosave_unk->m_node_type = NodeType::Simple; - n_autosave_unk->m_address = base + offset; - n_autosave_unk->m_comment = "set to 0 when a_rq set to 1"; - n_autosave_unk->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_autosave_unk); - - field_name = "unk6df4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_main, field_name)); - auto n_unk6df4 = new NodeSimple; - n_unk6df4->m_field_name = field_name; - n_unk6df4->m_df_type = DF_Type::int32_t; - n_unk6df4->m_rdf_type = RDF_Type::int32_t; - n_unk6df4->m_node_type = NodeType::Simple; - n_unk6df4->m_address = base + offset; - n_unk6df4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk6df4); - - field_name = "unk_44_12a"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_main, field_name)); - auto n_unk_44_12a = new NodeSimple; - n_unk_44_12a->m_field_name = field_name; - n_unk_44_12a->m_df_type = DF_Type::Bool; - n_unk_44_12a->m_rdf_type = RDF_Type::Bool; - n_unk_44_12a->m_node_type = NodeType::Simple; - n_unk_44_12a->m_address = base + offset; - n_unk_44_12a->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_44_12a); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_main, field_name)); - auto n_anon_1= new NodePadding; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::Padding; - n_anon_1->m_rdf_type = RDF_Type::Padding; - n_anon_1->m_node_type = NodeType::Padding; - n_anon_1->m_address = base + offset; - n_anon_1->m_comment = "workaround for strange IDA 7.0 bug"; - n_anon_1->m_size = 3; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "unk_44_12b"; - auto n_unk_44_12b = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_main, field_name)); - n_unk_44_12b->m_field_name = field_name; - n_unk_44_12b->m_df_type = DF_Type::nemesis_offload; - n_unk_44_12b->m_rdf_type = RDF_Type::Struct; - n_unk_44_12b->m_node_type = NodeType::Compound; - n_unk_44_12b->m_address = base + offset; - n_unk_44_12b->m_defined_in = "df.viewscreen.xml"; - n_unk_44_12b->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_44_12b); - - field_name = "unk_44_12c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_main, field_name)); - auto n_unk_44_12c = new NodeSimple; - n_unk_44_12c->m_field_name = field_name; - n_unk_44_12c->m_df_type = DF_Type::Bool; - n_unk_44_12c->m_rdf_type = RDF_Type::Bool; - n_unk_44_12c->m_node_type = NodeType::Simple; - n_unk_44_12c->m_address = base + offset; - n_unk_44_12c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_44_12c); - - field_name = "unk_44_12d"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_main, field_name)); - auto n_unk_44_12d = new NodeSimple; - n_unk_44_12d->m_field_name = field_name; - n_unk_44_12d->m_df_type = DF_Type::int32_t; - n_unk_44_12d->m_rdf_type = RDF_Type::int32_t; - n_unk_44_12d->m_node_type = NodeType::Simple; - n_unk_44_12d->m_address = base + offset; - n_unk_44_12d->m_comment = "padding?"; - n_unk_44_12d->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_44_12d); - - field_name = "selected_hotkey"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_main, field_name)); - auto n_selected_hotkey = new NodeSimple; - n_selected_hotkey->m_field_name = field_name; - n_selected_hotkey->m_df_type = DF_Type::int16_t; - n_selected_hotkey->m_rdf_type = RDF_Type::int16_t; - n_selected_hotkey->m_node_type = NodeType::Simple; - n_selected_hotkey->m_address = base + offset; - n_selected_hotkey->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_selected_hotkey); - - field_name = "in_rename_hotkey"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_main, field_name)); - auto n_in_rename_hotkey = new NodeSimple; - n_in_rename_hotkey->m_field_name = field_name; - n_in_rename_hotkey->m_df_type = DF_Type::Bool; - n_in_rename_hotkey->m_rdf_type = RDF_Type::Bool; - n_in_rename_hotkey->m_node_type = NodeType::Simple; - n_in_rename_hotkey->m_address = base + offset; - n_in_rename_hotkey->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_in_rename_hotkey); - -} -void node_from_ui__T_squads(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "list"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_squads, field_name)); - auto n_list = new NodeVector; - n_list->m_field_name = field_name; - n_list->m_df_type = DF_Type::squad; - n_list->m_rdf_type = RDF_Type::Vector; - n_list->m_node_type = NodeType::Vector; - n_list->m_defined_in = "df.military.xml"; - n_list->m_addornements = "v*"; - n_list->m_address = base + offset; - n_list->m_comment = "valid only when ui is displayed"; - n_list->m_parent = p_node_parent; - n_list->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_list); - - field_name = "unk6e08"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_squads, field_name)); - auto n_unk6e08 = new NodeVector; - n_unk6e08->m_field_name = field_name; - n_unk6e08->m_df_type = DF_Type::Void; - n_unk6e08->m_rdf_type = RDF_Type::Vector; - n_unk6e08->m_node_type = NodeType::Vector; - n_unk6e08->m_addornements = "v"; - n_unk6e08->m_address = base + offset; - n_unk6e08->m_parent = p_node_parent; - n_unk6e08->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk6e08); - - field_name = "sel_squads"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_squads, field_name)); - auto n_sel_squads = new NodeVector; - n_sel_squads->m_field_name = field_name; - n_sel_squads->m_df_type = DF_Type::Bool; - n_sel_squads->m_rdf_type = RDF_Type::Vector; - n_sel_squads->m_node_type = NodeType::Vector; - n_sel_squads->m_addornements = "v"; - n_sel_squads->m_address = base + offset; - n_sel_squads->m_parent = p_node_parent; - n_sel_squads->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_sel_squads); - - field_name = "indiv_selected"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_squads, field_name)); - auto n_indiv_selected = new NodeVector; - n_indiv_selected->m_field_name = field_name; - n_indiv_selected->m_df_type = DF_Type::int32_t; - n_indiv_selected->m_rdf_type = RDF_Type::Vector; - n_indiv_selected->m_node_type = NodeType::Vector; - n_indiv_selected->m_addornements = "v"; - n_indiv_selected->m_address = base + offset; - n_indiv_selected->m_parent = p_node_parent; - n_indiv_selected->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_indiv_selected); - - field_name = "in_select_indiv"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_squads, field_name)); - auto n_in_select_indiv = new NodeSimple; - n_in_select_indiv->m_field_name = field_name; - n_in_select_indiv->m_df_type = DF_Type::Bool; - n_in_select_indiv->m_rdf_type = RDF_Type::Bool; - n_in_select_indiv->m_node_type = NodeType::Simple; - n_in_select_indiv->m_address = base + offset; - n_in_select_indiv->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_in_select_indiv); - - field_name = "sel_indiv_squad"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_squads, field_name)); - auto n_sel_indiv_squad = new NodeSimple; - n_sel_indiv_squad->m_field_name = field_name; - n_sel_indiv_squad->m_df_type = DF_Type::int32_t; - n_sel_indiv_squad->m_rdf_type = RDF_Type::int32_t; - n_sel_indiv_squad->m_node_type = NodeType::Simple; - n_sel_indiv_squad->m_address = base + offset; - n_sel_indiv_squad->m_refers_to = "$$._parent.list[$]"; - n_sel_indiv_squad->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sel_indiv_squad); - - field_name = "unk_70"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_squads, field_name)); - auto n_unk_70 = new NodeSimple; - n_unk_70->m_field_name = field_name; - n_unk_70->m_df_type = DF_Type::int32_t; - n_unk_70->m_rdf_type = RDF_Type::int32_t; - n_unk_70->m_node_type = NodeType::Simple; - n_unk_70->m_address = base + offset; - n_unk_70->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_70); - - field_name = "squad_list_scroll"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_squads, field_name)); - auto n_squad_list_scroll = new NodeSimple; - n_squad_list_scroll->m_field_name = field_name; - n_squad_list_scroll->m_df_type = DF_Type::int32_t; - n_squad_list_scroll->m_rdf_type = RDF_Type::int32_t; - n_squad_list_scroll->m_node_type = NodeType::Simple; - n_squad_list_scroll->m_address = base + offset; - n_squad_list_scroll->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_squad_list_scroll); - - field_name = "squad_list_first_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_squads, field_name)); - auto n_squad_list_first_id = new NodeSimple; - n_squad_list_first_id->m_field_name = field_name; - n_squad_list_first_id->m_df_type = DF_Type::int32_t; - n_squad_list_first_id->m_rdf_type = RDF_Type::int32_t; - n_squad_list_first_id->m_node_type = NodeType::Simple; - n_squad_list_first_id->m_address = base + offset; - n_squad_list_first_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_squad_list_first_id); - - field_name = "nearest_squad"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_squads, field_name)); - auto n_nearest_squad = new NodePointer; - n_nearest_squad->m_field_name = field_name; - n_nearest_squad->m_df_type = get_real_subtype(base+offset, DF_Type::squad); - n_nearest_squad->m_rdf_type = RDF_Type::Pointer; - n_nearest_squad->m_node_type = NodeType::Pointer; - n_nearest_squad->m_addornements = "*"; - n_nearest_squad->m_address = base + offset; - n_nearest_squad->m_parent = p_node_parent; - n_nearest_squad->m_defined_in = "df.military.xml"; - n_nearest_squad->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_nearest_squad); - - field_name = "in_move_order"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_squads, field_name)); - auto n_in_move_order = new NodeSimple; - n_in_move_order->m_field_name = field_name; - n_in_move_order->m_df_type = DF_Type::Bool; - n_in_move_order->m_rdf_type = RDF_Type::Bool; - n_in_move_order->m_node_type = NodeType::Simple; - n_in_move_order->m_address = base + offset; - n_in_move_order->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_in_move_order); - - field_name = "point_list_scroll"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_squads, field_name)); - auto n_point_list_scroll = new NodeSimple; - n_point_list_scroll->m_field_name = field_name; - n_point_list_scroll->m_df_type = DF_Type::int32_t; - n_point_list_scroll->m_rdf_type = RDF_Type::int32_t; - n_point_list_scroll->m_node_type = NodeType::Simple; - n_point_list_scroll->m_address = base + offset; - n_point_list_scroll->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_point_list_scroll); - - field_name = "in_kill_order"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_squads, field_name)); - auto n_in_kill_order = new NodeSimple; - n_in_kill_order->m_field_name = field_name; - n_in_kill_order->m_df_type = DF_Type::Bool; - n_in_kill_order->m_rdf_type = RDF_Type::Bool; - n_in_kill_order->m_node_type = NodeType::Simple; - n_in_kill_order->m_address = base + offset; - n_in_kill_order->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_in_kill_order); - - field_name = "kill_rect_targets"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_squads, field_name)); - auto n_kill_rect_targets = new NodeVector; - n_kill_rect_targets->m_field_name = field_name; - n_kill_rect_targets->m_df_type = DF_Type::unit; - n_kill_rect_targets->m_rdf_type = RDF_Type::Vector; - n_kill_rect_targets->m_node_type = NodeType::Vector; - n_kill_rect_targets->m_defined_in = "df.units.xml"; - n_kill_rect_targets->m_addornements = "v*"; - n_kill_rect_targets->m_address = base + offset; - n_kill_rect_targets->m_parent = p_node_parent; - n_kill_rect_targets->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_kill_rect_targets); - - field_name = "kill_rect_targets_scroll"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_squads, field_name)); - auto n_kill_rect_targets_scroll = new NodeSimple; - n_kill_rect_targets_scroll->m_field_name = field_name; - n_kill_rect_targets_scroll->m_df_type = DF_Type::int32_t; - n_kill_rect_targets_scroll->m_rdf_type = RDF_Type::int32_t; - n_kill_rect_targets_scroll->m_node_type = NodeType::Simple; - n_kill_rect_targets_scroll->m_address = base + offset; - n_kill_rect_targets_scroll->m_comment = "also used for the list of targets at cursor"; - n_kill_rect_targets_scroll->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_kill_rect_targets_scroll); - - field_name = "in_kill_list"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_squads, field_name)); - auto n_in_kill_list = new NodeSimple; - n_in_kill_list->m_field_name = field_name; - n_in_kill_list->m_df_type = DF_Type::Bool; - n_in_kill_list->m_rdf_type = RDF_Type::Bool; - n_in_kill_list->m_node_type = NodeType::Simple; - n_in_kill_list->m_address = base + offset; - n_in_kill_list->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_in_kill_list); - - field_name = "kill_targets"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_squads, field_name)); - auto n_kill_targets = new NodeVector; - n_kill_targets->m_field_name = field_name; - n_kill_targets->m_df_type = DF_Type::unit; - n_kill_targets->m_rdf_type = RDF_Type::Vector; - n_kill_targets->m_node_type = NodeType::Vector; - n_kill_targets->m_defined_in = "df.units.xml"; - n_kill_targets->m_addornements = "v*"; - n_kill_targets->m_address = base + offset; - n_kill_targets->m_parent = p_node_parent; - n_kill_targets->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_kill_targets); - - field_name = "sel_kill_targets"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_squads, field_name)); - auto n_sel_kill_targets = new NodeVector; - n_sel_kill_targets->m_field_name = field_name; - n_sel_kill_targets->m_df_type = DF_Type::Bool; - n_sel_kill_targets->m_rdf_type = RDF_Type::Vector; - n_sel_kill_targets->m_node_type = NodeType::Vector; - n_sel_kill_targets->m_addornements = "v"; - n_sel_kill_targets->m_address = base + offset; - n_sel_kill_targets->m_parent = p_node_parent; - n_sel_kill_targets->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_sel_kill_targets); - - field_name = "kill_list_scroll"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_squads, field_name)); - auto n_kill_list_scroll = new NodeSimple; - n_kill_list_scroll->m_field_name = field_name; - n_kill_list_scroll->m_df_type = DF_Type::int32_t; - n_kill_list_scroll->m_rdf_type = RDF_Type::int32_t; - n_kill_list_scroll->m_node_type = NodeType::Simple; - n_kill_list_scroll->m_address = base + offset; - n_kill_list_scroll->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_kill_list_scroll); - - field_name = "in_kill_rect"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_squads, field_name)); - auto n_in_kill_rect = new NodeSimple; - n_in_kill_rect->m_field_name = field_name; - n_in_kill_rect->m_df_type = DF_Type::Bool; - n_in_kill_rect->m_rdf_type = RDF_Type::Bool; - n_in_kill_rect->m_node_type = NodeType::Simple; - n_in_kill_rect->m_address = base + offset; - n_in_kill_rect->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_in_kill_rect); - - field_name = "rect_start"; - auto n_rect_start = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_squads, field_name)); - n_rect_start->m_field_name = field_name; - n_rect_start->m_df_type = DF_Type::coord; - n_rect_start->m_rdf_type = RDF_Type::Struct; - n_rect_start->m_node_type = NodeType::Compound; - n_rect_start->m_address = base + offset; - n_rect_start->m_defined_in = "df.map.xml"; - n_rect_start->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rect_start); - -} -void node_from_ui(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "game_state"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - auto n_game_state = new NodeSimple; - n_game_state->m_field_name = field_name; - n_game_state->m_df_type = DF_Type::int16_t; - n_game_state->m_rdf_type = RDF_Type::int16_t; - n_game_state->m_node_type = NodeType::Simple; - n_game_state->m_address = base + offset; - n_game_state->m_comment = "2 running, 1 lost to siege, 0 lost"; - n_game_state->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_game_state); - - field_name = "lost_to_siege_civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - auto n_lost_to_siege_civ = new NodeSimple; - n_lost_to_siege_civ->m_field_name = field_name; - n_lost_to_siege_civ->m_df_type = DF_Type::int32_t; - n_lost_to_siege_civ->m_rdf_type = RDF_Type::int32_t; - n_lost_to_siege_civ->m_node_type = NodeType::Simple; - n_lost_to_siege_civ->m_address = base + offset; - n_lost_to_siege_civ->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_lost_to_siege_civ); - - field_name = "tax_collection"; - auto n_tax_collection = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - n_tax_collection->m_field_name = field_name; - n_tax_collection->m_df_type = DF_Type::ui__T_tax_collection; - n_tax_collection->m_rdf_type = RDF_Type::Compound; - n_tax_collection->m_node_type = NodeType::Compound; - n_tax_collection->m_address = base + offset; - n_tax_collection->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tax_collection); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "manager_cooldown"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - auto n_manager_cooldown = new NodeSimple; - n_manager_cooldown->m_field_name = field_name; - n_manager_cooldown->m_df_type = DF_Type::int32_t; - n_manager_cooldown->m_rdf_type = RDF_Type::int32_t; - n_manager_cooldown->m_node_type = NodeType::Simple; - n_manager_cooldown->m_address = base + offset; - n_manager_cooldown->m_comment = "0-1008"; - n_manager_cooldown->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_manager_cooldown); - - field_name = "bookkeeper_cooldown"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - auto n_bookkeeper_cooldown = new NodeSimple; - n_bookkeeper_cooldown->m_field_name = field_name; - n_bookkeeper_cooldown->m_df_type = DF_Type::int32_t; - n_bookkeeper_cooldown->m_rdf_type = RDF_Type::int32_t; - n_bookkeeper_cooldown->m_node_type = NodeType::Simple; - n_bookkeeper_cooldown->m_address = base + offset; - n_bookkeeper_cooldown->m_comment = "0-1008"; - n_bookkeeper_cooldown->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_bookkeeper_cooldown); - - field_name = "bookkeeper_precision"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - auto n_bookkeeper_precision = new NodeSimple; - n_bookkeeper_precision->m_field_name = field_name; - n_bookkeeper_precision->m_df_type = DF_Type::int32_t; - n_bookkeeper_precision->m_rdf_type = RDF_Type::int32_t; - n_bookkeeper_precision->m_node_type = NodeType::Simple; - n_bookkeeper_precision->m_address = base + offset; - n_bookkeeper_precision->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_bookkeeper_precision); - - field_name = "bookkeeper_settings"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - auto n_bookkeeper_settings = new NodeSimple; - n_bookkeeper_settings->m_field_name = field_name; - n_bookkeeper_settings->m_df_type = DF_Type::int16_t; - n_bookkeeper_settings->m_rdf_type = RDF_Type::int16_t; - n_bookkeeper_settings->m_node_type = NodeType::Simple; - n_bookkeeper_settings->m_address = base + offset; - n_bookkeeper_settings->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_bookkeeper_settings); - - field_name = "caravans"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - auto n_caravans = new NodeVector; - n_caravans->m_field_name = field_name; - n_caravans->m_df_type = DF_Type::caravan_state; - n_caravans->m_rdf_type = RDF_Type::Vector; - n_caravans->m_node_type = NodeType::Vector; - n_caravans->m_defined_in = "df.entities.xml"; - n_caravans->m_addornements = "v*"; - n_caravans->m_address = base + offset; - n_caravans->m_parent = p_node_parent; - n_caravans->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_caravans); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int8_t; - n_anon_2->m_rdf_type = RDF_Type::int8_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "fortress_rank"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - auto n_fortress_rank = new NodeSimple; - n_fortress_rank->m_field_name = field_name; - n_fortress_rank->m_df_type = DF_Type::int16_t; - n_fortress_rank->m_rdf_type = RDF_Type::int16_t; - n_fortress_rank->m_node_type = NodeType::Simple; - n_fortress_rank->m_address = base + offset; - n_fortress_rank->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_fortress_rank); - - field_name = "progress_population"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - auto n_progress_population = new NodeSimple; - n_progress_population->m_field_name = field_name; - n_progress_population->m_df_type = DF_Type::int16_t; - n_progress_population->m_rdf_type = RDF_Type::int16_t; - n_progress_population->m_node_type = NodeType::Simple; - n_progress_population->m_address = base + offset; - n_progress_population->m_comment = "?"; - n_progress_population->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_progress_population); - - field_name = "progress_trade"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - auto n_progress_trade = new NodeSimple; - n_progress_trade->m_field_name = field_name; - n_progress_trade->m_df_type = DF_Type::int16_t; - n_progress_trade->m_rdf_type = RDF_Type::int16_t; - n_progress_trade->m_node_type = NodeType::Simple; - n_progress_trade->m_address = base + offset; - n_progress_trade->m_comment = "?"; - n_progress_trade->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_progress_trade); - - field_name = "progress_production"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - auto n_progress_production = new NodeSimple; - n_progress_production->m_field_name = field_name; - n_progress_production->m_df_type = DF_Type::int16_t; - n_progress_production->m_rdf_type = RDF_Type::int16_t; - n_progress_production->m_node_type = NodeType::Simple; - n_progress_production->m_address = base + offset; - n_progress_production->m_comment = "?"; - n_progress_production->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_progress_production); - - field_name = "king_arrived"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - auto n_king_arrived = new NodeSimple; - n_king_arrived->m_field_name = field_name; - n_king_arrived->m_df_type = DF_Type::Bool; - n_king_arrived->m_rdf_type = RDF_Type::Bool; - n_king_arrived->m_node_type = NodeType::Simple; - n_king_arrived->m_address = base + offset; - n_king_arrived->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_king_arrived); - - field_name = "king_hasty"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - auto n_king_hasty = new NodeSimple; - n_king_hasty->m_field_name = field_name; - n_king_hasty->m_df_type = DF_Type::Bool; - n_king_hasty->m_rdf_type = RDF_Type::Bool; - n_king_hasty->m_node_type = NodeType::Simple; - n_king_hasty->m_address = base + offset; - n_king_hasty->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_king_hasty); - - field_name = "economy_active"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - auto n_economy_active = new NodeSimple; - n_economy_active->m_field_name = field_name; - n_economy_active->m_df_type = DF_Type::Bool; - n_economy_active->m_rdf_type = RDF_Type::Bool; - n_economy_active->m_node_type = NodeType::Simple; - n_economy_active->m_address = base + offset; - n_economy_active->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_economy_active); - - field_name = "ignore_labor_shortage"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - auto n_ignore_labor_shortage = new NodeSimple; - n_ignore_labor_shortage->m_field_name = field_name; - n_ignore_labor_shortage->m_df_type = DF_Type::Bool; - n_ignore_labor_shortage->m_rdf_type = RDF_Type::Bool; - n_ignore_labor_shortage->m_node_type = NodeType::Simple; - n_ignore_labor_shortage->m_address = base + offset; - n_ignore_labor_shortage->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ignore_labor_shortage); - - field_name = "justice_active"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - auto n_justice_active = new NodeSimple; - n_justice_active->m_field_name = field_name; - n_justice_active->m_df_type = DF_Type::Bool; - n_justice_active->m_rdf_type = RDF_Type::Bool; - n_justice_active->m_node_type = NodeType::Simple; - n_justice_active->m_address = base + offset; - n_justice_active->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_justice_active); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::uint16_t; - n_anon_3->m_rdf_type = RDF_Type::uint16_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::uint16_t; - n_anon_4->m_rdf_type = RDF_Type::uint16_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "manager_timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - auto n_manager_timer = new NodeSimple; - n_manager_timer->m_field_name = field_name; - n_manager_timer->m_df_type = DF_Type::int16_t; - n_manager_timer->m_rdf_type = RDF_Type::int16_t; - n_manager_timer->m_node_type = NodeType::Simple; - n_manager_timer->m_address = base + offset; - n_manager_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_manager_timer); - - field_name = "becoming_capital"; - auto n_becoming_capital = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - n_becoming_capital->m_field_name = field_name; - n_becoming_capital->m_df_type = DF_Type::ui__T_becoming_capital; - n_becoming_capital->m_rdf_type = RDF_Type::Compound; - n_becoming_capital->m_node_type = NodeType::Compound; - n_becoming_capital->m_address = base + offset; - n_becoming_capital->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_becoming_capital); - - field_name = "units_killed"; - auto n_units_killed = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - n_units_killed->m_field_name = field_name; - n_units_killed->m_df_type = DF_Type::int16_t; - n_units_killed->m_rdf_type = RDF_Type::Array; - n_units_killed->m_node_type = NodeType::Array; - n_units_killed->m_index_enum = DF_Type::profession; - n_units_killed->m_addornements = "[152"; - n_units_killed->m_array_size = 152; - n_units_killed->m_address = base + offset; - n_units_killed->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_units_killed); - - field_name = "guild_wages"; - auto n_guild_wages = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - n_guild_wages->m_field_name = field_name; - n_guild_wages->m_df_type = DF_Type::int32_t; - n_guild_wages->m_rdf_type = RDF_Type::Array; - n_guild_wages->m_node_type = NodeType::Array; - n_guild_wages->m_index_enum = DF_Type::guild_id; - n_guild_wages->m_addornements = "[6"; - n_guild_wages->m_array_size = 6; - n_guild_wages->m_address = base + offset; - n_guild_wages->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_guild_wages); - - field_name = "guild_happiness"; - auto n_guild_happiness = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - n_guild_happiness->m_field_name = field_name; - n_guild_happiness->m_df_type = DF_Type::int16_t; - n_guild_happiness->m_rdf_type = RDF_Type::Array; - n_guild_happiness->m_node_type = NodeType::Array; - n_guild_happiness->m_index_enum = DF_Type::guild_id; - n_guild_happiness->m_addornements = "[6"; - n_guild_happiness->m_array_size = 6; - n_guild_happiness->m_address = base + offset; - n_guild_happiness->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_guild_happiness); - - field_name = "labor_slowdown_timer"; - auto n_labor_slowdown_timer = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - n_labor_slowdown_timer->m_field_name = field_name; - n_labor_slowdown_timer->m_df_type = DF_Type::int16_t; - n_labor_slowdown_timer->m_rdf_type = RDF_Type::Array; - n_labor_slowdown_timer->m_node_type = NodeType::Array; - n_labor_slowdown_timer->m_index_enum = DF_Type::guild_id; - n_labor_slowdown_timer->m_addornements = "[6"; - n_labor_slowdown_timer->m_array_size = 6; - n_labor_slowdown_timer->m_address = base + offset; - n_labor_slowdown_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_labor_slowdown_timer); - - field_name = "currency_value"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - auto n_currency_value = new NodeVector; - n_currency_value->m_field_name = field_name; - n_currency_value->m_df_type = DF_Type::int32_t; - n_currency_value->m_rdf_type = RDF_Type::Vector; - n_currency_value->m_node_type = NodeType::Vector; - n_currency_value->m_addornements = "v"; - n_currency_value->m_address = base + offset; - n_currency_value->m_refers_to = "(material-by-id 0 $)"; - n_currency_value->m_parent = p_node_parent; - n_currency_value->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_currency_value); - - field_name = "trees_removed"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - auto n_trees_removed = new NodeSimple; - n_trees_removed->m_field_name = field_name; - n_trees_removed->m_df_type = DF_Type::int32_t; - n_trees_removed->m_rdf_type = RDF_Type::int32_t; - n_trees_removed->m_node_type = NodeType::Simple; - n_trees_removed->m_address = base + offset; - n_trees_removed->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_trees_removed); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "fortress_age"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - auto n_fortress_age = new NodeSimple; - n_fortress_age->m_field_name = field_name; - n_fortress_age->m_df_type = DF_Type::int32_t; - n_fortress_age->m_rdf_type = RDF_Type::int32_t; - n_fortress_age->m_node_type = NodeType::Simple; - n_fortress_age->m_address = base + offset; - n_fortress_age->m_comment = "?; +1 per 10; used in first 2 migrant waves etc"; - n_fortress_age->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_fortress_age); - - field_name = "tasks"; - auto n_tasks = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - n_tasks->m_field_name = field_name; - n_tasks->m_df_type = DF_Type::entity_activity_statistics; - n_tasks->m_rdf_type = RDF_Type::Struct; - n_tasks->m_node_type = NodeType::Compound; - n_tasks->m_address = base + offset; - n_tasks->m_defined_in = "df.entities.xml"; - n_tasks->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tasks); - - field_name = "meeting_requests"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - auto n_meeting_requests = new NodeVector; - n_meeting_requests->m_field_name = field_name; - n_meeting_requests->m_df_type = DF_Type::int32_t; - n_meeting_requests->m_rdf_type = RDF_Type::Vector; - n_meeting_requests->m_node_type = NodeType::Vector; - n_meeting_requests->m_addornements = "v"; - n_meeting_requests->m_address = base + offset; - n_meeting_requests->m_comment = "guild complaints and diplomats"; - n_meeting_requests->m_parent = p_node_parent; - n_meeting_requests->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_meeting_requests); - - field_name = "activities"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - auto n_activities = new NodeVector; - n_activities->m_field_name = field_name; - n_activities->m_df_type = DF_Type::activity_info; - n_activities->m_rdf_type = RDF_Type::Vector; - n_activities->m_node_type = NodeType::Vector; - n_activities->m_defined_in = "df.meeting.xml"; - n_activities->m_addornements = "v*"; - n_activities->m_address = base + offset; - n_activities->m_parent = p_node_parent; - n_activities->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_activities); - - field_name = "dip_meeting_info"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - auto n_dip_meeting_info = new NodeVector; - n_dip_meeting_info->m_field_name = field_name; - n_dip_meeting_info->m_df_type = DF_Type::meeting_diplomat_info; - n_dip_meeting_info->m_rdf_type = RDF_Type::Vector; - n_dip_meeting_info->m_node_type = NodeType::Vector; - n_dip_meeting_info->m_defined_in = "df.meeting.xml"; - n_dip_meeting_info->m_addornements = "v*"; - n_dip_meeting_info->m_address = base + offset; - n_dip_meeting_info->m_parent = p_node_parent; - n_dip_meeting_info->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_dip_meeting_info); - - field_name = "aid_requesters"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - auto n_aid_requesters = new NodeVector; - n_aid_requesters->m_field_name = field_name; - n_aid_requesters->m_df_type = DF_Type::int32_t; - n_aid_requesters->m_rdf_type = RDF_Type::Vector; - n_aid_requesters->m_node_type = NodeType::Vector; - n_aid_requesters->m_addornements = "v"; - n_aid_requesters->m_address = base + offset; - n_aid_requesters->m_parent = p_node_parent; - n_aid_requesters->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_aid_requesters); - - field_name = "game_over"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - auto n_game_over = new NodeSimple; - n_game_over->m_field_name = field_name; - n_game_over->m_df_type = DF_Type::Bool; - n_game_over->m_rdf_type = RDF_Type::Bool; - n_game_over->m_node_type = NodeType::Simple; - n_game_over->m_address = base + offset; - n_game_over->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_game_over); - - field_name = "invasions"; - auto n_invasions = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - n_invasions->m_field_name = field_name; - n_invasions->m_df_type = DF_Type::ui__T_invasions; - n_invasions->m_rdf_type = RDF_Type::Compound; - n_invasions->m_node_type = NodeType::Compound; - n_invasions->m_address = base + offset; - n_invasions->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_invasions); - - field_name = "crimes"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - auto n_crimes = new NodeVector; - n_crimes->m_field_name = field_name; - n_crimes->m_df_type = DF_Type::Void; - n_crimes->m_rdf_type = RDF_Type::Vector; - n_crimes->m_node_type = NodeType::Vector; - n_crimes->m_addornements = "v"; - n_crimes->m_address = base + offset; - n_crimes->m_comment = "no longer used"; - n_crimes->m_parent = p_node_parent; - n_crimes->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_crimes); - - field_name = "punishments"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - auto n_punishments = new NodeVector; - n_punishments->m_field_name = field_name; - n_punishments->m_df_type = DF_Type::punishment; - n_punishments->m_rdf_type = RDF_Type::Vector; - n_punishments->m_node_type = NodeType::Vector; - n_punishments->m_defined_in = "df.ui.xml"; - n_punishments->m_addornements = "v*"; - n_punishments->m_address = base + offset; - n_punishments->m_parent = p_node_parent; - n_punishments->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_punishments); - - field_name = "parties"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - auto n_parties = new NodeVector; - n_parties->m_field_name = field_name; - n_parties->m_df_type = DF_Type::party_info; - n_parties->m_rdf_type = RDF_Type::Vector; - n_parties->m_node_type = NodeType::Vector; - n_parties->m_defined_in = "df.meeting.xml"; - n_parties->m_addornements = "v*"; - n_parties->m_address = base + offset; - n_parties->m_parent = p_node_parent; - n_parties->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_parties); - - field_name = "room_rent"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - auto n_room_rent = new NodeVector; - n_room_rent->m_field_name = field_name; - n_room_rent->m_df_type = DF_Type::room_rent_info; - n_room_rent->m_rdf_type = RDF_Type::Vector; - n_room_rent->m_node_type = NodeType::Vector; - n_room_rent->m_defined_in = "df.meeting.xml"; - n_room_rent->m_addornements = "v*"; - n_room_rent->m_address = base + offset; - n_room_rent->m_parent = p_node_parent; - n_room_rent->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_room_rent); - - field_name = "dipscripts"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - auto n_dipscripts = new NodeVector; - n_dipscripts->m_field_name = field_name; - n_dipscripts->m_df_type = DF_Type::dipscript_info; - n_dipscripts->m_rdf_type = RDF_Type::Vector; - n_dipscripts->m_node_type = NodeType::Vector; - n_dipscripts->m_defined_in = "df.meeting.xml"; - n_dipscripts->m_addornements = "v*"; - n_dipscripts->m_address = base + offset; - n_dipscripts->m_parent = p_node_parent; - n_dipscripts->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_dipscripts); - - field_name = "dipscript_popups"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - auto n_dipscript_popups = new NodeVector; - n_dipscript_popups->m_field_name = field_name; - n_dipscript_popups->m_df_type = DF_Type::dipscript_popup; - n_dipscript_popups->m_rdf_type = RDF_Type::Vector; - n_dipscript_popups->m_node_type = NodeType::Vector; - n_dipscript_popups->m_defined_in = "df.meeting.xml"; - n_dipscript_popups->m_addornements = "v*"; - n_dipscript_popups->m_address = base + offset; - n_dipscript_popups->m_comment = "cause viewscreen_meetingst to pop up"; - n_dipscript_popups->m_parent = p_node_parent; - n_dipscript_popups->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_dipscript_popups); - - field_name = "kitchen"; - auto n_kitchen = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - n_kitchen->m_field_name = field_name; - n_kitchen->m_df_type = DF_Type::ui__T_kitchen; - n_kitchen->m_rdf_type = RDF_Type::Compound; - n_kitchen->m_node_type = NodeType::Compound; - n_kitchen->m_address = base + offset; - n_kitchen->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_kitchen); - - field_name = "economic_stone"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - auto n_economic_stone = new NodeVector; - n_economic_stone->m_field_name = field_name; - n_economic_stone->m_df_type = DF_Type::Bool; - n_economic_stone->m_rdf_type = RDF_Type::Vector; - n_economic_stone->m_node_type = NodeType::Vector; - n_economic_stone->m_addornements = "v"; - n_economic_stone->m_address = base + offset; - n_economic_stone->m_refers_to = "(material-by-id 0 $)"; - n_economic_stone->m_parent = p_node_parent; - n_economic_stone->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_economic_stone); - - field_name = "unk23c8_flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - auto n_unk23c8_flags = new NodeBitfield; - n_unk23c8_flags->m_field_name = field_name; - n_unk23c8_flags->m_df_type = DF_Type::ui__T_unk23c8_flags; - n_unk23c8_flags->m_rdf_type = RDF_Type::Bitfield; - n_unk23c8_flags->m_node_type = NodeType::Bitfield; - n_unk23c8_flags->m_address = base + offset; - n_unk23c8_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk23c8_flags); - - field_name = "mood_cooldown"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - auto n_mood_cooldown = new NodeSimple; - n_mood_cooldown->m_field_name = field_name; - n_mood_cooldown->m_df_type = DF_Type::int16_t; - n_mood_cooldown->m_rdf_type = RDF_Type::int16_t; - n_mood_cooldown->m_node_type = NodeType::Simple; - n_mood_cooldown->m_address = base + offset; - n_mood_cooldown->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mood_cooldown); - - field_name = "civ_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - auto n_civ_id = new NodeSimple; - n_civ_id->m_field_name = field_name; - n_civ_id->m_df_type = DF_Type::int32_t; - n_civ_id->m_rdf_type = RDF_Type::int32_t; - n_civ_id->m_node_type = NodeType::Simple; - n_civ_id->m_address = base + offset; - n_civ_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_civ_id); - - field_name = "site_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - auto n_site_id = new NodeSimple; - n_site_id->m_field_name = field_name; - n_site_id->m_df_type = DF_Type::int32_t; - n_site_id->m_rdf_type = RDF_Type::int32_t; - n_site_id->m_node_type = NodeType::Simple; - n_site_id->m_address = base + offset; - n_site_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_id); - - field_name = "group_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - auto n_group_id = new NodeSimple; - n_group_id->m_field_name = field_name; - n_group_id->m_df_type = DF_Type::int32_t; - n_group_id->m_rdf_type = RDF_Type::int32_t; - n_group_id->m_node_type = NodeType::Simple; - n_group_id->m_address = base + offset; - n_group_id->m_comment = "i.e. specifically the fortress dwarves"; - n_group_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_group_id); - - field_name = "race_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - auto n_race_id = new NodeSimple; - n_race_id->m_field_name = field_name; - n_race_id->m_df_type = DF_Type::int16_t; - n_race_id->m_rdf_type = RDF_Type::int16_t; - n_race_id->m_node_type = NodeType::Simple; - n_race_id->m_address = base + offset; - n_race_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_race_id); - - field_name = "unk_races"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - auto n_unk_races = new NodeVector; - n_unk_races->m_field_name = field_name; - n_unk_races->m_df_type = DF_Type::int32_t; - n_unk_races->m_rdf_type = RDF_Type::Vector; - n_unk_races->m_node_type = NodeType::Vector; - n_unk_races->m_addornements = "v"; - n_unk_races->m_address = base + offset; - n_unk_races->m_parent = p_node_parent; - n_unk_races->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_races); - - field_name = "farm_crops"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - auto n_farm_crops = new NodeVector; - n_farm_crops->m_field_name = field_name; - n_farm_crops->m_df_type = DF_Type::int16_t; - n_farm_crops->m_rdf_type = RDF_Type::Vector; - n_farm_crops->m_node_type = NodeType::Vector; - n_farm_crops->m_addornements = "v"; - n_farm_crops->m_address = base + offset; - n_farm_crops->m_parent = p_node_parent; - n_farm_crops->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_farm_crops); - - field_name = "farm_seasons"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - auto n_farm_seasons = new NodeVector; - n_farm_seasons->m_field_name = field_name; - n_farm_seasons->m_df_type = DF_Type::int8_t; - n_farm_seasons->m_rdf_type = RDF_Type::Vector; - n_farm_seasons->m_node_type = NodeType::Vector; - n_farm_seasons->m_addornements = "v"; - n_farm_seasons->m_address = base + offset; - n_farm_seasons->m_parent = p_node_parent; - n_farm_seasons->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_farm_seasons); - - field_name = "economy_prices"; - auto n_economy_prices = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - n_economy_prices->m_field_name = field_name; - n_economy_prices->m_df_type = DF_Type::ui__T_economy_prices; - n_economy_prices->m_rdf_type = RDF_Type::Compound; - n_economy_prices->m_node_type = NodeType::Compound; - n_economy_prices->m_address = base + offset; - n_economy_prices->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_economy_prices); - - field_name = "stockpile"; - auto n_stockpile = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - n_stockpile->m_field_name = field_name; - n_stockpile->m_df_type = DF_Type::ui__T_stockpile; - n_stockpile->m_rdf_type = RDF_Type::Compound; - n_stockpile->m_node_type = NodeType::Compound; - n_stockpile->m_address = base + offset; - n_stockpile->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_stockpile); - - field_name = "unk2a8c"; - auto n_unk2a8c = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - n_unk2a8c->m_field_name = field_name; - n_unk2a8c->m_df_type = DF_Type::ui__T_unk2a8c; - n_unk2a8c->m_rdf_type = RDF_Type::Array; - n_unk2a8c->m_node_type = NodeType::Array; - n_unk2a8c->m_addornements = "[4[768"; - n_unk2a8c->m_array_size = 4; - n_unk2a8c->m_address = base + offset; - n_unk2a8c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk2a8c); - - field_name = "unk_mapedge_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - auto n_unk_mapedge_x = new NodeVector; - n_unk_mapedge_x->m_field_name = field_name; - n_unk_mapedge_x->m_df_type = DF_Type::int16_t; - n_unk_mapedge_x->m_rdf_type = RDF_Type::Vector; - n_unk_mapedge_x->m_node_type = NodeType::Vector; - n_unk_mapedge_x->m_addornements = "v"; - n_unk_mapedge_x->m_address = base + offset; - n_unk_mapedge_x->m_parent = p_node_parent; - n_unk_mapedge_x->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_mapedge_x); - - field_name = "unk_mapedge_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - auto n_unk_mapedge_y = new NodeVector; - n_unk_mapedge_y->m_field_name = field_name; - n_unk_mapedge_y->m_df_type = DF_Type::int16_t; - n_unk_mapedge_y->m_rdf_type = RDF_Type::Vector; - n_unk_mapedge_y->m_node_type = NodeType::Vector; - n_unk_mapedge_y->m_addornements = "v"; - n_unk_mapedge_y->m_address = base + offset; - n_unk_mapedge_y->m_parent = p_node_parent; - n_unk_mapedge_y->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_mapedge_y); - - field_name = "unk_mapedge_z"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - auto n_unk_mapedge_z = new NodeVector; - n_unk_mapedge_z->m_field_name = field_name; - n_unk_mapedge_z->m_df_type = DF_Type::int16_t; - n_unk_mapedge_z->m_rdf_type = RDF_Type::Vector; - n_unk_mapedge_z->m_node_type = NodeType::Vector; - n_unk_mapedge_z->m_addornements = "v"; - n_unk_mapedge_z->m_address = base + offset; - n_unk_mapedge_z->m_parent = p_node_parent; - n_unk_mapedge_z->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_mapedge_z); - - field_name = "map_edge"; - auto n_map_edge = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - n_map_edge->m_field_name = field_name; - n_map_edge->m_df_type = DF_Type::ui__T_map_edge; - n_map_edge->m_rdf_type = RDF_Type::Compound; - n_map_edge->m_node_type = NodeType::Compound; - n_map_edge->m_address = base + offset; - n_map_edge->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_map_edge); - - field_name = "unk5b88"; - auto n_unk5b88 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - n_unk5b88->m_field_name = field_name; - n_unk5b88->m_df_type = DF_Type::Void; - n_unk5b88->m_rdf_type = RDF_Type::Array; - n_unk5b88->m_node_type = NodeType::Array; - n_unk5b88->m_addornements = "[7v"; - n_unk5b88->m_array_size = 7; - n_unk5b88->m_address = base + offset; - n_unk5b88->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk5b88); - - field_name = "waypoints"; - auto n_waypoints = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - n_waypoints->m_field_name = field_name; - n_waypoints->m_df_type = DF_Type::ui__T_waypoints; - n_waypoints->m_rdf_type = RDF_Type::Compound; - n_waypoints->m_node_type = NodeType::Compound; - n_waypoints->m_address = base + offset; - n_waypoints->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_waypoints); - - field_name = "burrows"; - auto n_burrows = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - n_burrows->m_field_name = field_name; - n_burrows->m_df_type = DF_Type::ui__T_burrows; - n_burrows->m_rdf_type = RDF_Type::Compound; - n_burrows->m_node_type = NodeType::Compound; - n_burrows->m_address = base + offset; - n_burrows->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_burrows); - - field_name = "alerts"; - auto n_alerts = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - n_alerts->m_field_name = field_name; - n_alerts->m_df_type = DF_Type::ui__T_alerts; - n_alerts->m_rdf_type = RDF_Type::Compound; - n_alerts->m_node_type = NodeType::Compound; - n_alerts->m_address = base + offset; - n_alerts->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_alerts); - - field_name = "equipment"; - auto n_equipment = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - n_equipment->m_field_name = field_name; - n_equipment->m_df_type = DF_Type::ui__T_equipment; - n_equipment->m_rdf_type = RDF_Type::Compound; - n_equipment->m_node_type = NodeType::Compound; - n_equipment->m_address = base + offset; - n_equipment->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_equipment); - - field_name = "hauling"; - auto n_hauling = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - n_hauling->m_field_name = field_name; - n_hauling->m_df_type = DF_Type::ui__T_hauling; - n_hauling->m_rdf_type = RDF_Type::Compound; - n_hauling->m_node_type = NodeType::Compound; - n_hauling->m_address = base + offset; - n_hauling->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_hauling); - - field_name = "petitions"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - auto n_petitions = new NodeVector; - n_petitions->m_field_name = field_name; - n_petitions->m_df_type = DF_Type::int32_t; - n_petitions->m_rdf_type = RDF_Type::Vector; - n_petitions->m_node_type = NodeType::Vector; - n_petitions->m_addornements = "v"; - n_petitions->m_address = base + offset; - n_petitions->m_comment = "related to agreements"; - n_petitions->m_parent = p_node_parent; - n_petitions->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_petitions); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - auto n_anon_6 = new NodeVector; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::Void; - n_anon_6->m_rdf_type = RDF_Type::Vector; - n_anon_6->m_node_type = NodeType::Vector; - n_anon_6->m_addornements = "v"; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - n_anon_6->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "main"; - auto n_main = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - n_main->m_field_name = field_name; - n_main->m_df_type = DF_Type::ui__T_main; - n_main->m_rdf_type = RDF_Type::Compound; - n_main->m_node_type = NodeType::Compound; - n_main->m_address = base + offset; - n_main->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_main); - - field_name = "squads"; - auto n_squads = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - n_squads->m_field_name = field_name; - n_squads->m_df_type = DF_Type::ui__T_squads; - n_squads->m_rdf_type = RDF_Type::Compound; - n_squads->m_node_type = NodeType::Compound; - n_squads->m_address = base + offset; - n_squads->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_squads); - - field_name = "follow_unit"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - auto n_follow_unit = new NodeSimple; - n_follow_unit->m_field_name = field_name; - n_follow_unit->m_df_type = DF_Type::int32_t; - n_follow_unit->m_rdf_type = RDF_Type::int32_t; - n_follow_unit->m_node_type = NodeType::Simple; - n_follow_unit->m_address = base + offset; - n_follow_unit->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_follow_unit); - - field_name = "follow_item"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - auto n_follow_item = new NodeSimple; - n_follow_item->m_field_name = field_name; - n_follow_item->m_df_type = DF_Type::int32_t; - n_follow_item->m_rdf_type = RDF_Type::int32_t; - n_follow_item->m_node_type = NodeType::Simple; - n_follow_item->m_address = base + offset; - n_follow_item->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_follow_item); - - field_name = "selected_farm_crops"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - auto n_selected_farm_crops = new NodeVector; - n_selected_farm_crops->m_field_name = field_name; - n_selected_farm_crops->m_df_type = DF_Type::int16_t; - n_selected_farm_crops->m_rdf_type = RDF_Type::Vector; - n_selected_farm_crops->m_node_type = NodeType::Vector; - n_selected_farm_crops->m_addornements = "v"; - n_selected_farm_crops->m_address = base + offset; - n_selected_farm_crops->m_comment = "valid for the currently queried farm plot"; - n_selected_farm_crops->m_parent = p_node_parent; - n_selected_farm_crops->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_selected_farm_crops); - - field_name = "available_seeds"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); - auto n_available_seeds = new NodeVector; - n_available_seeds->m_field_name = field_name; - n_available_seeds->m_df_type = DF_Type::Bool; - n_available_seeds->m_rdf_type = RDF_Type::Vector; - n_available_seeds->m_node_type = NodeType::Vector; - n_available_seeds->m_addornements = "v"; - n_available_seeds->m_address = base + offset; - n_available_seeds->m_parent = p_node_parent; - n_available_seeds->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_available_seeds); - -} -void node_from_viewscreen_savegamest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_savegamest, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::Stl_string; - n_anon_1->m_rdf_type = RDF_Type::Stl_string; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "cur_step"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_savegamest, field_name)); - auto n_cur_step = new NodeSimple; - n_cur_step->m_field_name = field_name; - n_cur_step->m_df_type = DF_Type::int32_t; - n_cur_step->m_rdf_type = RDF_Type::int32_t; - n_cur_step->m_node_type = NodeType::Simple; - n_cur_step->m_address = base + offset; - n_cur_step->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cur_step); - - field_name = "unk_v40_1b"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_savegamest, field_name)); - auto n_unk_v40_1b = new NodeSimple; - n_unk_v40_1b->m_field_name = field_name; - n_unk_v40_1b->m_df_type = DF_Type::int32_t; - n_unk_v40_1b->m_rdf_type = RDF_Type::int32_t; - n_unk_v40_1b->m_node_type = NodeType::Simple; - n_unk_v40_1b->m_address = base + offset; - n_unk_v40_1b->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_1b); - - field_name = "offload"; - auto n_offload = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_savegamest, field_name)); - n_offload->m_field_name = field_name; - n_offload->m_df_type = DF_Type::nemesis_offload; - n_offload->m_rdf_type = RDF_Type::Struct; - n_offload->m_node_type = NodeType::Compound; - n_offload->m_address = base + offset; - n_offload->m_defined_in = "df.viewscreen.xml"; - n_offload->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_offload); - - field_name = "compressor"; - auto n_compressor = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_savegamest, field_name)); - n_compressor->m_field_name = field_name; - n_compressor->m_df_type = DF_Type::file_compressorst; - n_compressor->m_rdf_type = RDF_Type::Struct; - n_compressor->m_node_type = NodeType::Compound; - n_compressor->m_address = base + offset; - n_compressor->m_defined_in = "df.viewscreen.xml"; - n_compressor->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_compressor); - -} -void node_from_viewscreen_selectitemst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "p_item_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_selectitemst, field_name)); - auto n_p_item_type = new NodePointer; - n_p_item_type->m_field_name = field_name; - n_p_item_type->m_df_type = get_real_subtype(base+offset, DF_Type::int16_t); - n_p_item_type->m_rdf_type = RDF_Type::Pointer; - n_p_item_type->m_node_type = NodeType::Pointer; - n_p_item_type->m_addornements = "*"; - n_p_item_type->m_address = base + offset; - n_p_item_type->m_parent = p_node_parent; - n_p_item_type->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_p_item_type); - - field_name = "p_item_subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_selectitemst, field_name)); - auto n_p_item_subtype = new NodePointer; - n_p_item_subtype->m_field_name = field_name; - n_p_item_subtype->m_df_type = get_real_subtype(base+offset, DF_Type::int16_t); - n_p_item_subtype->m_rdf_type = RDF_Type::Pointer; - n_p_item_subtype->m_node_type = NodeType::Pointer; - n_p_item_subtype->m_addornements = "*"; - n_p_item_subtype->m_address = base + offset; - n_p_item_subtype->m_parent = p_node_parent; - n_p_item_subtype->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_p_item_subtype); - - field_name = "p_mattype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_selectitemst, field_name)); - auto n_p_mattype = new NodePointer; - n_p_mattype->m_field_name = field_name; - n_p_mattype->m_df_type = get_real_subtype(base+offset, DF_Type::int16_t); - n_p_mattype->m_rdf_type = RDF_Type::Pointer; - n_p_mattype->m_node_type = NodeType::Pointer; - n_p_mattype->m_addornements = "*"; - n_p_mattype->m_address = base + offset; - n_p_mattype->m_parent = p_node_parent; - n_p_mattype->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_p_mattype); - - field_name = "p_matindex"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_selectitemst, field_name)); - auto n_p_matindex = new NodePointer; - n_p_matindex->m_field_name = field_name; - n_p_matindex->m_df_type = get_real_subtype(base+offset, DF_Type::int32_t); - n_p_matindex->m_rdf_type = RDF_Type::Pointer; - n_p_matindex->m_node_type = NodeType::Pointer; - n_p_matindex->m_addornements = "*"; - n_p_matindex->m_address = base + offset; - n_p_matindex->m_parent = p_node_parent; - n_p_matindex->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_p_matindex); - - field_name = "choice"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_selectitemst, field_name)); - auto n_choice = new NodePointer; - n_choice->m_field_name = field_name; - n_choice->m_df_type = get_real_subtype(base+offset, DF_Type::embark_item_choice); - n_choice->m_rdf_type = RDF_Type::Pointer; - n_choice->m_node_type = NodeType::Pointer; - n_choice->m_addornements = "*"; - n_choice->m_address = base + offset; - n_choice->m_parent = p_node_parent; - n_choice->m_defined_in = "df.viewscreen.xml"; - n_choice->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_choice); - - field_name = "screen"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_selectitemst, field_name)); - auto n_screen = new NodePointer; - n_screen->m_field_name = field_name; - n_screen->m_df_type = get_real_subtype(base+offset, DF_Type::viewscreen_setupdwarfgamest); - n_screen->m_rdf_type = RDF_Type::Pointer; - n_screen->m_node_type = NodeType::Pointer; - n_screen->m_addornements = "*"; - n_screen->m_address = base + offset; - n_screen->m_parent = p_node_parent; - n_screen->m_defined_in = "df.viewscreen.xml"; - n_screen->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_screen); - - field_name = "page_base"; - auto n_page_base = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_selectitemst, field_name)); - n_page_base->m_field_name = field_name; - n_page_base->m_df_type = DF_Type::int32_t; - n_page_base->m_rdf_type = RDF_Type::Array; - n_page_base->m_node_type = NodeType::Array; - n_page_base->m_index_enum = DF_Type::entity_sell_category; - n_page_base->m_addornements = "[107v"; - n_page_base->m_array_size = 107; - n_page_base->m_address = base + offset; - n_page_base->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_page_base); - - field_name = "title"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_selectitemst, field_name)); - auto n_title= new NodePadding; - n_title->m_field_name = field_name; - n_title->m_df_type = DF_Type::Static_string; - n_title->m_rdf_type = RDF_Type::Static_string; - n_title->m_node_type = NodeType::StaticString; - n_title->m_address = base + offset; - n_title->m_size = 256; - n_title->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_title); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_selectitemst, field_name)); - auto n_anon_1= new NodePadding; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::Static_string; - n_anon_1->m_rdf_type = RDF_Type::Static_string; - n_anon_1->m_node_type = NodeType::StaticString; - n_anon_1->m_address = base + offset; - n_anon_1->m_size = 256; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "filter"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_selectitemst, field_name)); - auto n_filter= new NodePadding; - n_filter->m_field_name = field_name; - n_filter->m_df_type = DF_Type::Static_string; - n_filter->m_rdf_type = RDF_Type::Static_string; - n_filter->m_node_type = NodeType::StaticString; - n_filter->m_address = base + offset; - n_filter->m_size = 256; - n_filter->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_filter); - - field_name = "right_pos"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_selectitemst, field_name)); - auto n_right_pos = new NodeSimple; - n_right_pos->m_field_name = field_name; - n_right_pos->m_df_type = DF_Type::int32_t; - n_right_pos->m_rdf_type = RDF_Type::int32_t; - n_right_pos->m_node_type = NodeType::Simple; - n_right_pos->m_address = base + offset; - n_right_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_right_pos); - - field_name = "right_page_base"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_selectitemst, field_name)); - auto n_right_page_base = new NodeSimple; - n_right_page_base->m_field_name = field_name; - n_right_page_base->m_df_type = DF_Type::int32_t; - n_right_page_base->m_rdf_type = RDF_Type::int32_t; - n_right_page_base->m_node_type = NodeType::Simple; - n_right_page_base->m_address = base + offset; - n_right_page_base->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_right_page_base); - - field_name = "right_list"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_selectitemst, field_name)); - auto n_right_list = new NodeSimple; - n_right_list->m_field_name = field_name; - n_right_list->m_df_type = DF_Type::Bool; - n_right_list->m_rdf_type = RDF_Type::Bool; - n_right_list->m_node_type = NodeType::Simple; - n_right_list->m_address = base + offset; - n_right_list->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_right_list); - - field_name = "sel_category"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_selectitemst, field_name)); - auto n_sel_category = new NodeSimple; - n_sel_category->m_field_name = field_name; - n_sel_category->m_df_type = DF_Type::int32_t; - n_sel_category->m_rdf_type = RDF_Type::int32_t; - n_sel_category->m_node_type = NodeType::Simple; - n_sel_category->m_address = base + offset; - n_sel_category->m_refers_to = "$$._parent.categories[$]"; - n_sel_category->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sel_category); - - field_name = "categories"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_selectitemst, field_name)); - auto n_categories = new NodeVector; - n_categories->m_field_name = field_name; - n_categories->m_df_type = DF_Type::entity_sell_category; - n_categories->m_rdf_type = RDF_Type::Vector; - n_categories->m_node_type = NodeType::Vector; - n_categories->m_enum_base = DF_Type::int16_t; - n_categories->m_defined_in = "df.entities.xml"; - n_categories->m_addornements = "v"; - n_categories->m_address = base + offset; - n_categories->m_parent = p_node_parent; - n_categories->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_categories); - -} -void node_from_setup_character_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "name"; - auto n_name = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::setup_character_info, field_name)); - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::language_name; - n_name->m_rdf_type = RDF_Type::Struct; - n_name->m_node_type = NodeType::Compound; - n_name->m_address = base + offset; - n_name->m_defined_in = "df.language.xml"; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "race"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::setup_character_info, field_name)); - auto n_race = new NodeSimple; - n_race->m_field_name = field_name; - n_race->m_df_type = DF_Type::int16_t; - n_race->m_rdf_type = RDF_Type::int16_t; - n_race->m_node_type = NodeType::Simple; - n_race->m_address = base + offset; - n_race->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_race); - - field_name = "caste"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::setup_character_info, field_name)); - auto n_caste = new NodeSimple; - n_caste->m_field_name = field_name; - n_caste->m_df_type = DF_Type::int16_t; - n_caste->m_rdf_type = RDF_Type::int16_t; - n_caste->m_node_type = NodeType::Simple; - n_caste->m_address = base + offset; - n_caste->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_caste); - - field_name = "skills"; - auto n_skills = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::setup_character_info, field_name)); - n_skills->m_field_name = field_name; - n_skills->m_df_type = DF_Type::skill_rating; - n_skills->m_rdf_type = RDF_Type::Array; - n_skills->m_node_type = NodeType::Array; - n_skills->m_index_enum = DF_Type::job_skill; - n_skills->m_enum_base = enum_base_type(n_skills->m_df_type); - n_skills->m_defined_in = "df.units.xml"; - n_skills->m_addornements = "[135"; - n_skills->m_array_size = 135; - n_skills->m_address = base + offset; - n_skills->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_skills); - - field_name = "entity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::setup_character_info, field_name)); - auto n_entity = new NodeSimple; - n_entity->m_field_name = field_name; - n_entity->m_df_type = DF_Type::int32_t; - n_entity->m_rdf_type = RDF_Type::int32_t; - n_entity->m_node_type = NodeType::Simple; - n_entity->m_address = base + offset; - n_entity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity); - - field_name = "histfig"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::setup_character_info, field_name)); - auto n_histfig = new NodeSimple; - n_histfig->m_field_name = field_name; - n_histfig->m_df_type = DF_Type::int32_t; - n_histfig->m_rdf_type = RDF_Type::int32_t; - n_histfig->m_node_type = NodeType::Simple; - n_histfig->m_address = base + offset; - n_histfig->m_refers_to = "$global.world.nemesis.all[$]"; - n_histfig->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig); - - field_name = "unk_284"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::setup_character_info, field_name)); - auto n_unk_284 = new NodeSimple; - n_unk_284->m_field_name = field_name; - n_unk_284->m_df_type = DF_Type::int32_t; - n_unk_284->m_rdf_type = RDF_Type::int32_t; - n_unk_284->m_node_type = NodeType::Simple; - n_unk_284->m_address = base + offset; - n_unk_284->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_284); - - field_name = "cultural_identity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::setup_character_info, field_name)); - auto n_cultural_identity = new NodeSimple; - n_cultural_identity->m_field_name = field_name; - n_cultural_identity->m_df_type = DF_Type::int32_t; - n_cultural_identity->m_rdf_type = RDF_Type::int32_t; - n_cultural_identity->m_node_type = NodeType::Simple; - n_cultural_identity->m_address = base + offset; - n_cultural_identity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cultural_identity); - - field_name = "unk_28c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::setup_character_info, field_name)); - auto n_unk_28c = new NodeSimple; - n_unk_28c->m_field_name = field_name; - n_unk_28c->m_df_type = DF_Type::int16_t; - n_unk_28c->m_rdf_type = RDF_Type::int16_t; - n_unk_28c->m_node_type = NodeType::Simple; - n_unk_28c->m_address = base + offset; - n_unk_28c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_28c); - - field_name = "unk_290"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::setup_character_info, field_name)); - auto n_unk_290 = new NodeSimple; - n_unk_290->m_field_name = field_name; - n_unk_290->m_df_type = DF_Type::int32_t; - n_unk_290->m_rdf_type = RDF_Type::int32_t; - n_unk_290->m_node_type = NodeType::Simple; - n_unk_290->m_address = base + offset; - n_unk_290->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_290); - - field_name = "unk_294"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::setup_character_info, field_name)); - auto n_unk_294 = new NodeSimple; - n_unk_294->m_field_name = field_name; - n_unk_294->m_df_type = DF_Type::int32_t; - n_unk_294->m_rdf_type = RDF_Type::int32_t; - n_unk_294->m_node_type = NodeType::Simple; - n_unk_294->m_address = base + offset; - n_unk_294->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_294); - - field_name = "skill_points_remaining"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::setup_character_info, field_name)); - auto n_skill_points_remaining = new NodeSimple; - n_skill_points_remaining->m_field_name = field_name; - n_skill_points_remaining->m_df_type = DF_Type::int16_t; - n_skill_points_remaining->m_rdf_type = RDF_Type::int16_t; - n_skill_points_remaining->m_node_type = NodeType::Simple; - n_skill_points_remaining->m_address = base + offset; - n_skill_points_remaining->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_skill_points_remaining); - - field_name = "physical_levels"; - auto n_physical_levels = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::setup_character_info, field_name)); - n_physical_levels->m_field_name = field_name; - n_physical_levels->m_df_type = DF_Type::adventurer_attribute_level; - n_physical_levels->m_rdf_type = RDF_Type::Array; - n_physical_levels->m_node_type = NodeType::Array; - n_physical_levels->m_index_enum = DF_Type::physical_attribute_type; - n_physical_levels->m_enum_base = enum_base_type(n_physical_levels->m_df_type); - n_physical_levels->m_defined_in = "df.viewscreen.xml"; - n_physical_levels->m_addornements = "[6"; - n_physical_levels->m_array_size = 6; - n_physical_levels->m_address = base + offset; - n_physical_levels->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_physical_levels); - - field_name = "mental_levels"; - auto n_mental_levels = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::setup_character_info, field_name)); - n_mental_levels->m_field_name = field_name; - n_mental_levels->m_df_type = DF_Type::adventurer_attribute_level; - n_mental_levels->m_rdf_type = RDF_Type::Array; - n_mental_levels->m_node_type = NodeType::Array; - n_mental_levels->m_index_enum = DF_Type::mental_attribute_type; - n_mental_levels->m_enum_base = enum_base_type(n_mental_levels->m_df_type); - n_mental_levels->m_defined_in = "df.viewscreen.xml"; - n_mental_levels->m_addornements = "[13"; - n_mental_levels->m_array_size = 13; - n_mental_levels->m_address = base + offset; - n_mental_levels->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mental_levels); - - field_name = "status"; - auto n_status = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::setup_character_info, field_name)); - n_status->m_field_name = field_name; - n_status->m_df_type = DF_Type::setup_character_info__T_status; - n_status->m_rdf_type = RDF_Type::Enum; - n_status->m_node_type = NodeType::Enum; - n_status->m_base_type = DF_Type::int16_t; - n_status->m_enum_type = "setup_character_info::T_status"; - n_status->m_address = base + offset; - n_status->m_first_value = 0; - n_status->m_last_value = 2; - n_status->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_status); - - field_name = "commander_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::setup_character_info, field_name)); - auto n_commander_id = new NodeSimple; - n_commander_id->m_field_name = field_name; - n_commander_id->m_df_type = DF_Type::int32_t; - n_commander_id->m_rdf_type = RDF_Type::int32_t; - n_commander_id->m_node_type = NodeType::Simple; - n_commander_id->m_address = base + offset; - n_commander_id->m_comment = "-1 is peasant"; - n_commander_id->m_refers_to = "$(find-entity $(find-instance $world_site $$._parent.site_id).cur_owner_id).positions.assignments[$]"; - n_commander_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_commander_id); - - field_name = "site_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::setup_character_info, field_name)); - auto n_site_id = new NodeSimple; - n_site_id->m_field_name = field_name; - n_site_id->m_df_type = DF_Type::int32_t; - n_site_id->m_rdf_type = RDF_Type::int32_t; - n_site_id->m_node_type = NodeType::Simple; - n_site_id->m_address = base + offset; - n_site_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_id); - - field_name = "deity_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::setup_character_info, field_name)); - auto n_deity_id = new NodeSimple; - n_deity_id->m_field_name = field_name; - n_deity_id->m_df_type = DF_Type::int32_t; - n_deity_id->m_rdf_type = RDF_Type::int32_t; - n_deity_id->m_node_type = NodeType::Simple; - n_deity_id->m_address = base + offset; - n_deity_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_deity_id); - - field_name = "belief_strength"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::setup_character_info, field_name)); - auto n_belief_strength = new NodeSimple; - n_belief_strength->m_field_name = field_name; - n_belief_strength->m_df_type = DF_Type::int32_t; - n_belief_strength->m_rdf_type = RDF_Type::int32_t; - n_belief_strength->m_node_type = NodeType::Simple; - n_belief_strength->m_address = base + offset; - n_belief_strength->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_belief_strength); - - field_name = "appearance"; - auto n_appearance = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::setup_character_info, field_name)); - n_appearance->m_field_name = field_name; - n_appearance->m_df_type = DF_Type::unit_appearance; - n_appearance->m_rdf_type = RDF_Type::Struct; - n_appearance->m_node_type = NodeType::Compound; - n_appearance->m_address = base + offset; - n_appearance->m_defined_in = "df.units.xml"; - n_appearance->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_appearance); - - field_name = "birth_year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::setup_character_info, field_name)); - auto n_birth_year = new NodeSimple; - n_birth_year->m_field_name = field_name; - n_birth_year->m_df_type = DF_Type::int32_t; - n_birth_year->m_rdf_type = RDF_Type::int32_t; - n_birth_year->m_node_type = NodeType::Simple; - n_birth_year->m_address = base + offset; - n_birth_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_birth_year); - - field_name = "birth_tick"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::setup_character_info, field_name)); - auto n_birth_tick = new NodeSimple; - n_birth_tick->m_field_name = field_name; - n_birth_tick->m_df_type = DF_Type::int32_t; - n_birth_tick->m_rdf_type = RDF_Type::int32_t; - n_birth_tick->m_node_type = NodeType::Simple; - n_birth_tick->m_address = base + offset; - n_birth_tick->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_birth_tick); - - field_name = "old_year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::setup_character_info, field_name)); - auto n_old_year = new NodeSimple; - n_old_year->m_field_name = field_name; - n_old_year->m_df_type = DF_Type::int32_t; - n_old_year->m_rdf_type = RDF_Type::int32_t; - n_old_year->m_node_type = NodeType::Simple; - n_old_year->m_address = base + offset; - n_old_year->m_comment = "-1 for immortals"; - n_old_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_old_year); - - field_name = "old_tick"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::setup_character_info, field_name)); - auto n_old_tick = new NodeSimple; - n_old_tick->m_field_name = field_name; - n_old_tick->m_df_type = DF_Type::int32_t; - n_old_tick->m_rdf_type = RDF_Type::int32_t; - n_old_tick->m_node_type = NodeType::Simple; - n_old_tick->m_address = base + offset; - n_old_tick->m_comment = "-1 for immortals"; - n_old_tick->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_old_tick); - - field_name = "personality"; - auto n_personality = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::setup_character_info, field_name)); - n_personality->m_field_name = field_name; - n_personality->m_df_type = DF_Type::unit_personality; - n_personality->m_rdf_type = RDF_Type::Struct; - n_personality->m_node_type = NodeType::Compound; - n_personality->m_address = base + offset; - n_personality->m_defined_in = "df.units.xml"; - n_personality->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_personality); - - field_name = "unk_26_k"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::setup_character_info, field_name)); - auto n_unk_26_k = new NodeSimple; - n_unk_26_k->m_field_name = field_name; - n_unk_26_k->m_df_type = DF_Type::int8_t; - n_unk_26_k->m_rdf_type = RDF_Type::int8_t; - n_unk_26_k->m_node_type = NodeType::Simple; - n_unk_26_k->m_address = base + offset; - n_unk_26_k->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_26_k); - -} -void node_from_viewscreen_setupadventurest__T_races_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "race"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest__T_races_info, field_name)); - auto n_race = new NodeSimple; - n_race->m_field_name = field_name; - n_race->m_df_type = DF_Type::int32_t; - n_race->m_rdf_type = RDF_Type::int32_t; - n_race->m_node_type = NodeType::Simple; - n_race->m_address = base + offset; - n_race->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_race); - - field_name = "entity_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest__T_races_info, field_name)); - auto n_entity_id = new NodeSimple; - n_entity_id->m_field_name = field_name; - n_entity_id->m_df_type = DF_Type::int32_t; - n_entity_id->m_rdf_type = RDF_Type::int32_t; - n_entity_id->m_node_type = NodeType::Simple; - n_entity_id->m_address = base + offset; - n_entity_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity_id); - - field_name = "unk_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest__T_races_info, field_name)); - auto n_unk_2 = new NodeSimple; - n_unk_2->m_field_name = field_name; - n_unk_2->m_df_type = DF_Type::Bool; - n_unk_2->m_rdf_type = RDF_Type::Bool; - n_unk_2->m_node_type = NodeType::Simple; - n_unk_2->m_address = base + offset; - n_unk_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_2); - - field_name = "unk_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest__T_races_info, field_name)); - auto n_unk_3 = new NodeSimple; - n_unk_3->m_field_name = field_name; - n_unk_3->m_df_type = DF_Type::int16_t; - n_unk_3->m_rdf_type = RDF_Type::int16_t; - n_unk_3->m_node_type = NodeType::Simple; - n_unk_3->m_address = base + offset; - n_unk_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_3); - - field_name = "playable"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest__T_races_info, field_name)); - auto n_playable = new NodeSimple; - n_playable->m_field_name = field_name; - n_playable->m_df_type = DF_Type::Bool; - n_playable->m_rdf_type = RDF_Type::Bool; - n_playable->m_node_type = NodeType::Simple; - n_playable->m_address = base + offset; - n_playable->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_playable); - -} -void node_from_viewscreen_setupadventurest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "page"; - auto n_page = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); - n_page->m_field_name = field_name; - n_page->m_df_type = DF_Type::viewscreen_setupadventurest__T_page; - n_page->m_rdf_type = RDF_Type::Enum; - n_page->m_node_type = NodeType::Enum; - n_page->m_base_type = DF_Type::int32_t; - n_page->m_enum_type = "viewscreen_setupadventurest::T_page"; - n_page->m_address = base + offset; - n_page->m_first_value = 0; - n_page->m_last_value = 7; - n_page->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_page); - - field_name = "races_info"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); - auto n_races_info = new NodeVector; - n_races_info->m_field_name = field_name; - n_races_info->m_df_type = DF_Type::viewscreen_setupadventurest__T_races_info; - n_races_info->m_rdf_type = RDF_Type::Vector; - n_races_info->m_node_type = NodeType::Vector; - n_races_info->m_addornements = "v*"; - n_races_info->m_address = base + offset; - n_races_info->m_parent = p_node_parent; - n_races_info->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_races_info); - - field_name = "adventurer"; - auto n_adventurer = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); - n_adventurer->m_field_name = field_name; - n_adventurer->m_df_type = DF_Type::setup_character_info; - n_adventurer->m_rdf_type = RDF_Type::Struct; - n_adventurer->m_node_type = NodeType::Compound; - n_adventurer->m_address = base + offset; - n_adventurer->m_defined_in = "df.viewscreen.xml"; - n_adventurer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_adventurer); - - field_name = "race_ids"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); - auto n_race_ids = new NodeVector; - n_race_ids->m_field_name = field_name; - n_race_ids->m_df_type = DF_Type::int32_t; - n_race_ids->m_rdf_type = RDF_Type::Vector; - n_race_ids->m_node_type = NodeType::Vector; - n_race_ids->m_addornements = "v"; - n_race_ids->m_address = base + offset; - n_race_ids->m_parent = p_node_parent; - n_race_ids->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_race_ids); - - field_name = "highlighted_entity_ids"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); - auto n_highlighted_entity_ids = new NodeVector; - n_highlighted_entity_ids->m_field_name = field_name; - n_highlighted_entity_ids->m_df_type = DF_Type::int32_t; - n_highlighted_entity_ids->m_rdf_type = RDF_Type::Vector; - n_highlighted_entity_ids->m_node_type = NodeType::Vector; - n_highlighted_entity_ids->m_addornements = "v"; - n_highlighted_entity_ids->m_address = base + offset; - n_highlighted_entity_ids->m_parent = p_node_parent; - n_highlighted_entity_ids->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_highlighted_entity_ids); - - field_name = "race_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); - auto n_race_idx = new NodeSimple; - n_race_idx->m_field_name = field_name; - n_race_idx->m_df_type = DF_Type::int32_t; - n_race_idx->m_rdf_type = RDF_Type::int32_t; - n_race_idx->m_node_type = NodeType::Simple; - n_race_idx->m_address = base + offset; - n_race_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_race_idx); - - field_name = "wild_creature_ids"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); - auto n_wild_creature_ids = new NodeVector; - n_wild_creature_ids->m_field_name = field_name; - n_wild_creature_ids->m_df_type = DF_Type::int32_t; - n_wild_creature_ids->m_rdf_type = RDF_Type::Vector; - n_wild_creature_ids->m_node_type = NodeType::Vector; - n_wild_creature_ids->m_addornements = "v"; - n_wild_creature_ids->m_address = base + offset; - n_wild_creature_ids->m_parent = p_node_parent; - n_wild_creature_ids->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_wild_creature_ids); - - field_name = "wild_creature_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); - auto n_wild_creature_idx = new NodeSimple; - n_wild_creature_idx->m_field_name = field_name; - n_wild_creature_idx->m_df_type = DF_Type::int32_t; - n_wild_creature_idx->m_rdf_type = RDF_Type::int32_t; - n_wild_creature_idx->m_node_type = NodeType::Simple; - n_wild_creature_idx->m_address = base + offset; - n_wild_creature_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_wild_creature_idx); - - field_name = "nemesis_ids"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); - auto n_nemesis_ids = new NodeVector; - n_nemesis_ids->m_field_name = field_name; - n_nemesis_ids->m_df_type = DF_Type::int32_t; - n_nemesis_ids->m_rdf_type = RDF_Type::Vector; - n_nemesis_ids->m_node_type = NodeType::Vector; - n_nemesis_ids->m_addornements = "v"; - n_nemesis_ids->m_address = base + offset; - n_nemesis_ids->m_refers_to = "$global.world.nemesis.all[$]"; - n_nemesis_ids->m_parent = p_node_parent; - n_nemesis_ids->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_nemesis_ids); - - field_name = "nemesis_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); - auto n_nemesis_idx = new NodeSimple; - n_nemesis_idx->m_field_name = field_name; - n_nemesis_idx->m_df_type = DF_Type::int32_t; - n_nemesis_idx->m_rdf_type = RDF_Type::int32_t; - n_nemesis_idx->m_node_type = NodeType::Simple; - n_nemesis_idx->m_address = base + offset; - n_nemesis_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_nemesis_idx); - - field_name = "home_entity_ids"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); - auto n_home_entity_ids = new NodeVector; - n_home_entity_ids->m_field_name = field_name; - n_home_entity_ids->m_df_type = DF_Type::int32_t; - n_home_entity_ids->m_rdf_type = RDF_Type::Vector; - n_home_entity_ids->m_node_type = NodeType::Vector; - n_home_entity_ids->m_addornements = "v"; - n_home_entity_ids->m_address = base + offset; - n_home_entity_ids->m_parent = p_node_parent; - n_home_entity_ids->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_home_entity_ids); - - field_name = "home_entity_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); - auto n_home_entity_idx = new NodeSimple; - n_home_entity_idx->m_field_name = field_name; - n_home_entity_idx->m_df_type = DF_Type::int32_t; - n_home_entity_idx->m_rdf_type = RDF_Type::int32_t; - n_home_entity_idx->m_node_type = NodeType::Simple; - n_home_entity_idx->m_address = base + offset; - n_home_entity_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_home_entity_idx); - - field_name = "sel_trait_column"; - auto n_sel_trait_column = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); - n_sel_trait_column->m_field_name = field_name; - n_sel_trait_column->m_df_type = DF_Type::viewscreen_setupadventurest__T_sel_trait_column; - n_sel_trait_column->m_rdf_type = RDF_Type::Enum; - n_sel_trait_column->m_node_type = NodeType::Enum; - n_sel_trait_column->m_base_type = DF_Type::int8_t; - n_sel_trait_column->m_enum_type = "viewscreen_setupadventurest::T_sel_trait_column"; - n_sel_trait_column->m_address = base + offset; - n_sel_trait_column->m_first_value = 0; - n_sel_trait_column->m_last_value = 1; - n_sel_trait_column->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sel_trait_column); - - field_name = "attribute_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); - auto n_attribute_idx = new NodeSimple; - n_attribute_idx->m_field_name = field_name; - n_attribute_idx->m_df_type = DF_Type::int32_t; - n_attribute_idx->m_rdf_type = RDF_Type::int32_t; - n_attribute_idx->m_node_type = NodeType::Simple; - n_attribute_idx->m_address = base + offset; - n_attribute_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_attribute_idx); - - field_name = "attribute_points_remaining"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); - auto n_attribute_points_remaining = new NodeSimple; - n_attribute_points_remaining->m_field_name = field_name; - n_attribute_points_remaining->m_df_type = DF_Type::int32_t; - n_attribute_points_remaining->m_rdf_type = RDF_Type::int32_t; - n_attribute_points_remaining->m_node_type = NodeType::Simple; - n_attribute_points_remaining->m_address = base + offset; - n_attribute_points_remaining->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_attribute_points_remaining); - - field_name = "skill_list"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); - auto n_skill_list = new NodeVector; - n_skill_list->m_field_name = field_name; - n_skill_list->m_df_type = DF_Type::job_skill; - n_skill_list->m_rdf_type = RDF_Type::Vector; - n_skill_list->m_node_type = NodeType::Vector; - n_skill_list->m_enum_base = DF_Type::int16_t; - n_skill_list->m_defined_in = "df.skills.xml"; - n_skill_list->m_addornements = "v"; - n_skill_list->m_address = base + offset; - n_skill_list->m_parent = p_node_parent; - n_skill_list->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_skill_list); - - field_name = "skill_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); - auto n_skill_idx = new NodeSimple; - n_skill_idx->m_field_name = field_name; - n_skill_idx->m_df_type = DF_Type::int32_t; - n_skill_idx->m_rdf_type = RDF_Type::int32_t; - n_skill_idx->m_node_type = NodeType::Simple; - n_skill_idx->m_address = base + offset; - n_skill_idx->m_refers_to = "$$._parent.skill_list[$]"; - n_skill_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_skill_idx); - - field_name = "skill_points_remaining"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); - auto n_skill_points_remaining = new NodeSimple; - n_skill_points_remaining->m_field_name = field_name; - n_skill_points_remaining->m_df_type = DF_Type::int32_t; - n_skill_points_remaining->m_rdf_type = RDF_Type::int32_t; - n_skill_points_remaining->m_node_type = NodeType::Simple; - n_skill_points_remaining->m_address = base + offset; - n_skill_points_remaining->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_skill_points_remaining); - - field_name = "in_edit_first_name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); - auto n_in_edit_first_name = new NodeSimple; - n_in_edit_first_name->m_field_name = field_name; - n_in_edit_first_name->m_df_type = DF_Type::Bool; - n_in_edit_first_name->m_rdf_type = RDF_Type::Bool; - n_in_edit_first_name->m_node_type = NodeType::Simple; - n_in_edit_first_name->m_address = base + offset; - n_in_edit_first_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_in_edit_first_name); - - field_name = "saved_first_name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); - auto n_saved_first_name = new NodeSimple; - n_saved_first_name->m_field_name = field_name; - n_saved_first_name->m_df_type = DF_Type::Stl_string; - n_saved_first_name->m_rdf_type = RDF_Type::Stl_string; - n_saved_first_name->m_node_type = NodeType::Simple; - n_saved_first_name->m_address = base + offset; - n_saved_first_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_saved_first_name); - - field_name = "background_lines"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); - auto n_background_lines = new NodeVector; - n_background_lines->m_field_name = field_name; - n_background_lines->m_df_type = DF_Type::Stl_string; - n_background_lines->m_rdf_type = RDF_Type::Vector; - n_background_lines->m_node_type = NodeType::Vector; - n_background_lines->m_addornements = "v*"; - n_background_lines->m_address = base + offset; - n_background_lines->m_parent = p_node_parent; - n_background_lines->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_background_lines); - - field_name = "sites"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); - auto n_sites = new NodeVector; - n_sites->m_field_name = field_name; - n_sites->m_df_type = DF_Type::world_site; - n_sites->m_rdf_type = RDF_Type::Vector; - n_sites->m_node_type = NodeType::Vector; - n_sites->m_defined_in = "df.world-site.xml"; - n_sites->m_addornements = "v*"; - n_sites->m_address = base + offset; - n_sites->m_parent = p_node_parent; - n_sites->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_sites); - - field_name = "background_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); - auto n_background_type = new NodeVector; - n_background_type->m_field_name = field_name; - n_background_type->m_df_type = DF_Type::viewscreen_setupadventurest__T_background_type; - n_background_type->m_rdf_type = RDF_Type::Vector; - n_background_type->m_node_type = NodeType::Vector; - n_background_type->m_enum_base = DF_Type::int32_t; - n_background_type->m_addornements = "v"; - n_background_type->m_address = base + offset; - n_background_type->m_parent = p_node_parent; - n_background_type->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_background_type); - - field_name = "background_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); - auto n_background_idx = new NodeSimple; - n_background_idx->m_field_name = field_name; - n_background_idx->m_df_type = DF_Type::int32_t; - n_background_idx->m_rdf_type = RDF_Type::int32_t; - n_background_idx->m_node_type = NodeType::Simple; - n_background_idx->m_address = base + offset; - n_background_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_background_idx); - - field_name = "allowed_castes"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); - auto n_allowed_castes = new NodeVector; - n_allowed_castes->m_field_name = field_name; - n_allowed_castes->m_df_type = DF_Type::int32_t; - n_allowed_castes->m_rdf_type = RDF_Type::Vector; - n_allowed_castes->m_node_type = NodeType::Vector; - n_allowed_castes->m_addornements = "v"; - n_allowed_castes->m_address = base + offset; - n_allowed_castes->m_parent = p_node_parent; - n_allowed_castes->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_allowed_castes); - - field_name = "description_lines"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); - auto n_description_lines = new NodeVector; - n_description_lines->m_field_name = field_name; - n_description_lines->m_df_type = DF_Type::Stl_string; - n_description_lines->m_rdf_type = RDF_Type::Vector; - n_description_lines->m_node_type = NodeType::Vector; - n_description_lines->m_addornements = "v*"; - n_description_lines->m_address = base + offset; - n_description_lines->m_parent = p_node_parent; - n_description_lines->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_description_lines); - - field_name = "thoughts_pos"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); - auto n_thoughts_pos = new NodeSimple; - n_thoughts_pos->m_field_name = field_name; - n_thoughts_pos->m_df_type = DF_Type::int32_t; - n_thoughts_pos->m_rdf_type = RDF_Type::int32_t; - n_thoughts_pos->m_node_type = NodeType::Simple; - n_thoughts_pos->m_address = base + offset; - n_thoughts_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_thoughts_pos); - - field_name = "thoughts_lines_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); - auto n_thoughts_lines_1 = new NodeVector; - n_thoughts_lines_1->m_field_name = field_name; - n_thoughts_lines_1->m_df_type = DF_Type::Stl_string; - n_thoughts_lines_1->m_rdf_type = RDF_Type::Vector; - n_thoughts_lines_1->m_node_type = NodeType::Vector; - n_thoughts_lines_1->m_addornements = "v*"; - n_thoughts_lines_1->m_address = base + offset; - n_thoughts_lines_1->m_parent = p_node_parent; - n_thoughts_lines_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_thoughts_lines_1); - - field_name = "thoughts_lines_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); - auto n_thoughts_lines_2 = new NodeVector; - n_thoughts_lines_2->m_field_name = field_name; - n_thoughts_lines_2->m_df_type = DF_Type::Stl_string; - n_thoughts_lines_2->m_rdf_type = RDF_Type::Vector; - n_thoughts_lines_2->m_node_type = NodeType::Vector; - n_thoughts_lines_2->m_addornements = "v*"; - n_thoughts_lines_2->m_address = base + offset; - n_thoughts_lines_2->m_parent = p_node_parent; - n_thoughts_lines_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_thoughts_lines_2); - - field_name = "thoughts_lines_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); - auto n_thoughts_lines_3 = new NodeVector; - n_thoughts_lines_3->m_field_name = field_name; - n_thoughts_lines_3->m_df_type = DF_Type::Stl_string; - n_thoughts_lines_3->m_rdf_type = RDF_Type::Vector; - n_thoughts_lines_3->m_node_type = NodeType::Vector; - n_thoughts_lines_3->m_addornements = "v*"; - n_thoughts_lines_3->m_address = base + offset; - n_thoughts_lines_3->m_parent = p_node_parent; - n_thoughts_lines_3->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_thoughts_lines_3); - - field_name = "in_customize_values"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); - auto n_in_customize_values = new NodeSimple; - n_in_customize_values->m_field_name = field_name; - n_in_customize_values->m_df_type = DF_Type::Bool; - n_in_customize_values->m_rdf_type = RDF_Type::Bool; - n_in_customize_values->m_node_type = NodeType::Simple; - n_in_customize_values->m_address = base + offset; - n_in_customize_values->m_comment = "only valid in page MentalTraits"; - n_in_customize_values->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_in_customize_values); - - field_name = "values_pos"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); - auto n_values_pos = new NodeSimple; - n_values_pos->m_field_name = field_name; - n_values_pos->m_df_type = DF_Type::int32_t; - n_values_pos->m_rdf_type = RDF_Type::int32_t; - n_values_pos->m_node_type = NodeType::Simple; - n_values_pos->m_address = base + offset; - n_values_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_values_pos); - - field_name = "personality_facets_min"; - auto n_personality_facets_min = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); - n_personality_facets_min->m_field_name = field_name; - n_personality_facets_min->m_df_type = DF_Type::int16_t; - n_personality_facets_min->m_rdf_type = RDF_Type::Array; - n_personality_facets_min->m_node_type = NodeType::Array; - n_personality_facets_min->m_index_enum = DF_Type::personality_facet_type; - n_personality_facets_min->m_addornements = "[50"; - n_personality_facets_min->m_array_size = 50; - n_personality_facets_min->m_address = base + offset; - n_personality_facets_min->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_personality_facets_min); - - field_name = "personality_facets_max"; - auto n_personality_facets_max = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); - n_personality_facets_max->m_field_name = field_name; - n_personality_facets_max->m_df_type = DF_Type::int16_t; - n_personality_facets_max->m_rdf_type = RDF_Type::Array; - n_personality_facets_max->m_node_type = NodeType::Array; - n_personality_facets_max->m_index_enum = DF_Type::personality_facet_type; - n_personality_facets_max->m_addornements = "[50"; - n_personality_facets_max->m_array_size = 50; - n_personality_facets_max->m_address = base + offset; - n_personality_facets_max->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_personality_facets_max); - - field_name = "values_cultural_defaults"; - auto n_values_cultural_defaults = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); - n_values_cultural_defaults->m_field_name = field_name; - n_values_cultural_defaults->m_df_type = DF_Type::int32_t; - n_values_cultural_defaults->m_rdf_type = RDF_Type::Array; - n_values_cultural_defaults->m_node_type = NodeType::Array; - n_values_cultural_defaults->m_addornements = "[33"; - n_values_cultural_defaults->m_array_size = 33; - n_values_cultural_defaults->m_address = base + offset; - n_values_cultural_defaults->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_values_cultural_defaults); - -} -void node_from_embark_item_choice__T_list(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "item_type"; - auto n_item_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_item_choice__T_list, field_name)); - n_item_type->m_field_name = field_name; - n_item_type->m_df_type = DF_Type::item_type; - n_item_type->m_rdf_type = RDF_Type::Enum; - n_item_type->m_node_type = NodeType::Enum; - n_item_type->m_base_type = DF_Type::int16_t; - n_item_type->m_enum_type = "item_type"; - n_item_type->m_address = base + offset; - n_item_type->m_defined_in = "df.item-raws.xml"; - n_item_type->m_first_value = -1; - n_item_type->m_last_value = 90; - n_item_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_type); - - field_name = "item_subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_item_choice__T_list, field_name)); - auto n_item_subtype = new NodeSimple; - n_item_subtype->m_field_name = field_name; - n_item_subtype->m_df_type = DF_Type::int16_t; - n_item_subtype->m_rdf_type = RDF_Type::int16_t; - n_item_subtype->m_node_type = NodeType::Simple; - n_item_subtype->m_address = base + offset; - n_item_subtype->m_refers_to = "(item-subtype-target $$._parent.item_type $)"; - n_item_subtype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_subtype); - - field_name = "mattype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_item_choice__T_list, field_name)); - auto n_mattype = new NodeSimple; - n_mattype->m_field_name = field_name; - n_mattype->m_df_type = DF_Type::int16_t; - n_mattype->m_rdf_type = RDF_Type::int16_t; - n_mattype->m_node_type = NodeType::Simple; - n_mattype->m_address = base + offset; - n_mattype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mattype); - - field_name = "matindex"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_item_choice__T_list, field_name)); - auto n_matindex = new NodeSimple; - n_matindex->m_field_name = field_name; - n_matindex->m_df_type = DF_Type::int32_t; - n_matindex->m_rdf_type = RDF_Type::int32_t; - n_matindex->m_node_type = NodeType::Simple; - n_matindex->m_address = base + offset; - n_matindex->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_matindex); - - field_name = "unk_c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_item_choice__T_list, field_name)); - auto n_unk_c = new NodeSimple; - n_unk_c->m_field_name = field_name; - n_unk_c->m_df_type = DF_Type::int8_t; - n_unk_c->m_rdf_type = RDF_Type::int8_t; - n_unk_c->m_node_type = NodeType::Simple; - n_unk_c->m_address = base + offset; - n_unk_c->m_comment = "1 if new, -1 if added"; - n_unk_c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_c); - -} -void node_from_embark_item_choice(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "list"; - auto n_list = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_item_choice, field_name)); - n_list->m_field_name = field_name; - n_list->m_df_type = DF_Type::embark_item_choice__T_list; - n_list->m_rdf_type = RDF_Type::Array; - n_list->m_node_type = NodeType::Array; - n_list->m_index_enum = DF_Type::entity_sell_category; - n_list->m_addornements = "[107v*"; - n_list->m_array_size = 107; - n_list->m_address = base + offset; - n_list->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_list); - -} -void node_from_embark_profile(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_profile, field_name)); - auto n_name = new NodeSimple; - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Stl_string; - n_name->m_node_type = NodeType::Simple; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "skill_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_profile, field_name)); - auto n_skill_type = new NodeVector; - n_skill_type->m_field_name = field_name; - n_skill_type->m_df_type = DF_Type::int16_t; - n_skill_type->m_rdf_type = RDF_Type::Vector; - n_skill_type->m_node_type = NodeType::Vector; - n_skill_type->m_addornements = "v"; - n_skill_type->m_address = base + offset; - n_skill_type->m_parent = p_node_parent; - n_skill_type->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_skill_type); - - field_name = "skill_dwarf_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_profile, field_name)); - auto n_skill_dwarf_idx = new NodeVector; - n_skill_dwarf_idx->m_field_name = field_name; - n_skill_dwarf_idx->m_df_type = DF_Type::int16_t; - n_skill_dwarf_idx->m_rdf_type = RDF_Type::Vector; - n_skill_dwarf_idx->m_node_type = NodeType::Vector; - n_skill_dwarf_idx->m_addornements = "v"; - n_skill_dwarf_idx->m_address = base + offset; - n_skill_dwarf_idx->m_parent = p_node_parent; - n_skill_dwarf_idx->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_skill_dwarf_idx); - - field_name = "skill_level"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_profile, field_name)); - auto n_skill_level = new NodeVector; - n_skill_level->m_field_name = field_name; - n_skill_level->m_df_type = DF_Type::int16_t; - n_skill_level->m_rdf_type = RDF_Type::Vector; - n_skill_level->m_node_type = NodeType::Vector; - n_skill_level->m_addornements = "v"; - n_skill_level->m_address = base + offset; - n_skill_level->m_parent = p_node_parent; - n_skill_level->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_skill_level); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_profile, field_name)); - auto n_anon_1 = new NodeVector; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::Vector; - n_anon_1->m_node_type = NodeType::Vector; - n_anon_1->m_addornements = "v"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_profile, field_name)); - auto n_anon_2 = new NodeVector; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::Vector; - n_anon_2->m_node_type = NodeType::Vector; - n_anon_2->m_addornements = "v"; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - n_anon_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_profile, field_name)); - auto n_anon_3 = new NodeVector; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int16_t; - n_anon_3->m_rdf_type = RDF_Type::Vector; - n_anon_3->m_node_type = NodeType::Vector; - n_anon_3->m_addornements = "v"; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - n_anon_3->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "item_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_profile, field_name)); - auto n_item_type = new NodeVector; - n_item_type->m_field_name = field_name; - n_item_type->m_df_type = DF_Type::int16_t; - n_item_type->m_rdf_type = RDF_Type::Vector; - n_item_type->m_node_type = NodeType::Vector; - n_item_type->m_addornements = "v"; - n_item_type->m_address = base + offset; - n_item_type->m_parent = p_node_parent; - n_item_type->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_item_type); - - field_name = "item_subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_profile, field_name)); - auto n_item_subtype = new NodeVector; - n_item_subtype->m_field_name = field_name; - n_item_subtype->m_df_type = DF_Type::int16_t; - n_item_subtype->m_rdf_type = RDF_Type::Vector; - n_item_subtype->m_node_type = NodeType::Vector; - n_item_subtype->m_addornements = "v"; - n_item_subtype->m_address = base + offset; - n_item_subtype->m_parent = p_node_parent; - n_item_subtype->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_item_subtype); - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_profile, field_name)); - auto n_mat_type = new NodeVector; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::Vector; - n_mat_type->m_node_type = NodeType::Vector; - n_mat_type->m_addornements = "v"; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - n_mat_type->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_info"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_profile, field_name)); - auto n_mat_info = new NodeVector; - n_mat_info->m_field_name = field_name; - n_mat_info->m_df_type = DF_Type::int32_t; - n_mat_info->m_rdf_type = RDF_Type::Vector; - n_mat_info->m_node_type = NodeType::Vector; - n_mat_info->m_addornements = "v"; - n_mat_info->m_address = base + offset; - n_mat_info->m_parent = p_node_parent; - n_mat_info->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_mat_info); - - field_name = "item_count"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_profile, field_name)); - auto n_item_count = new NodeVector; - n_item_count->m_field_name = field_name; - n_item_count->m_df_type = DF_Type::int32_t; - n_item_count->m_rdf_type = RDF_Type::Vector; - n_item_count->m_node_type = NodeType::Vector; - n_item_count->m_addornements = "v"; - n_item_count->m_address = base + offset; - n_item_count->m_parent = p_node_parent; - n_item_count->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_item_count); - - field_name = "race"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_profile, field_name)); - auto n_race = new NodeVector; - n_race->m_field_name = field_name; - n_race->m_df_type = DF_Type::int32_t; - n_race->m_rdf_type = RDF_Type::Vector; - n_race->m_node_type = NodeType::Vector; - n_race->m_addornements = "v"; - n_race->m_address = base + offset; - n_race->m_parent = p_node_parent; - n_race->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_race); - - field_name = "caste"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_profile, field_name)); - auto n_caste = new NodeVector; - n_caste->m_field_name = field_name; - n_caste->m_df_type = DF_Type::int16_t; - n_caste->m_rdf_type = RDF_Type::Vector; - n_caste->m_node_type = NodeType::Vector; - n_caste->m_addornements = "v"; - n_caste->m_address = base + offset; - n_caste->m_parent = p_node_parent; - n_caste->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_caste); - - field_name = "profession"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_profile, field_name)); - auto n_profession = new NodeVector; - n_profession->m_field_name = field_name; - n_profession->m_df_type = DF_Type::profession; - n_profession->m_rdf_type = RDF_Type::Vector; - n_profession->m_node_type = NodeType::Vector; - n_profession->m_enum_base = DF_Type::int16_t; - n_profession->m_defined_in = "df.skills.xml"; - n_profession->m_addornements = "v"; - n_profession->m_address = base + offset; - n_profession->m_parent = p_node_parent; - n_profession->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_profession); - -} -void node_from_viewscreen_setupdwarfgamest__T_animals(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "race"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest__T_animals, field_name)); - auto n_race = new NodeVector; - n_race->m_field_name = field_name; - n_race->m_df_type = DF_Type::int32_t; - n_race->m_rdf_type = RDF_Type::Vector; - n_race->m_node_type = NodeType::Vector; - n_race->m_addornements = "v"; - n_race->m_address = base + offset; - n_race->m_refers_to = "$$._parent.caste[$].ref-target"; - n_race->m_parent = p_node_parent; - n_race->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_race); - - field_name = "caste"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest__T_animals, field_name)); - auto n_caste = new NodeVector; - n_caste->m_field_name = field_name; - n_caste->m_df_type = DF_Type::int16_t; - n_caste->m_rdf_type = RDF_Type::Vector; - n_caste->m_node_type = NodeType::Vector; - n_caste->m_addornements = "v"; - n_caste->m_address = base + offset; - n_caste->m_parent = p_node_parent; - n_caste->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_caste); - - field_name = "profession"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest__T_animals, field_name)); - auto n_profession = new NodeVector; - n_profession->m_field_name = field_name; - n_profession->m_df_type = DF_Type::profession; - n_profession->m_rdf_type = RDF_Type::Vector; - n_profession->m_node_type = NodeType::Vector; - n_profession->m_enum_base = DF_Type::int16_t; - n_profession->m_defined_in = "df.skills.xml"; - n_profession->m_addornements = "v"; - n_profession->m_address = base + offset; - n_profession->m_refers_to = "$$._parent.caste[$].ref-target"; - n_profession->m_parent = p_node_parent; - n_profession->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_profession); - - field_name = "count"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest__T_animals, field_name)); - auto n_count = new NodeVector; - n_count->m_field_name = field_name; - n_count->m_df_type = DF_Type::int16_t; - n_count->m_rdf_type = RDF_Type::Vector; - n_count->m_node_type = NodeType::Vector; - n_count->m_addornements = "v"; - n_count->m_address = base + offset; - n_count->m_refers_to = "$$._parent.caste[$].ref-target"; - n_count->m_parent = p_node_parent; - n_count->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_count); - -} -void node_from_viewscreen_setupdwarfgamest__T_unk_v43__T_unk_v43_sub9(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk_s1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest__T_unk_v43__T_unk_v43_sub9, field_name)); - auto n_unk_s1 = new NodeSimple; - n_unk_s1->m_field_name = field_name; - n_unk_s1->m_df_type = DF_Type::int32_t; - n_unk_s1->m_rdf_type = RDF_Type::int32_t; - n_unk_s1->m_node_type = NodeType::Simple; - n_unk_s1->m_address = base + offset; - n_unk_s1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_s1); - - field_name = "unk_s2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest__T_unk_v43__T_unk_v43_sub9, field_name)); - auto n_unk_s2 = new NodeSimple; - n_unk_s2->m_field_name = field_name; - n_unk_s2->m_df_type = DF_Type::int16_t; - n_unk_s2->m_rdf_type = RDF_Type::int16_t; - n_unk_s2->m_node_type = NodeType::Simple; - n_unk_s2->m_address = base + offset; - n_unk_s2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_s2); - - field_name = "unk_s3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest__T_unk_v43__T_unk_v43_sub9, field_name)); - auto n_unk_s3 = new NodeSimple; - n_unk_s3->m_field_name = field_name; - n_unk_s3->m_df_type = DF_Type::int32_t; - n_unk_s3->m_rdf_type = RDF_Type::int32_t; - n_unk_s3->m_node_type = NodeType::Simple; - n_unk_s3->m_address = base + offset; - n_unk_s3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_s3); - - field_name = "unk_s4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest__T_unk_v43__T_unk_v43_sub9, field_name)); - auto n_unk_s4 = new NodeSimple; - n_unk_s4->m_field_name = field_name; - n_unk_s4->m_df_type = DF_Type::int16_t; - n_unk_s4->m_rdf_type = RDF_Type::int16_t; - n_unk_s4->m_node_type = NodeType::Simple; - n_unk_s4->m_address = base + offset; - n_unk_s4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_s4); - - field_name = "unk_s5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest__T_unk_v43__T_unk_v43_sub9, field_name)); - auto n_unk_s5 = new NodeSimple; - n_unk_s5->m_field_name = field_name; - n_unk_s5->m_df_type = DF_Type::int32_t; - n_unk_s5->m_rdf_type = RDF_Type::int32_t; - n_unk_s5->m_node_type = NodeType::Simple; - n_unk_s5->m_address = base + offset; - n_unk_s5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_s5); - - field_name = "unk_s6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest__T_unk_v43__T_unk_v43_sub9, field_name)); - auto n_unk_s6 = new NodeSimple; - n_unk_s6->m_field_name = field_name; - n_unk_s6->m_df_type = DF_Type::int32_t; - n_unk_s6->m_rdf_type = RDF_Type::int32_t; - n_unk_s6->m_node_type = NodeType::Simple; - n_unk_s6->m_address = base + offset; - n_unk_s6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_s6); - - field_name = "unk_s7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest__T_unk_v43__T_unk_v43_sub9, field_name)); - auto n_unk_s7 = new NodePointer; - n_unk_s7->m_field_name = field_name; - n_unk_s7->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_unk_s7->m_rdf_type = RDF_Type::Pointer; - n_unk_s7->m_node_type = NodeType::Pointer; - n_unk_s7->m_addornements = "*"; - n_unk_s7->m_address = base + offset; - n_unk_s7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_s7); - -} -void node_from_viewscreen_setupdwarfgamest__T_unk_v43(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk_v43_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest__T_unk_v43, field_name)); - auto n_unk_v43_1 = new NodeVector; - n_unk_v43_1->m_field_name = field_name; - n_unk_v43_1->m_df_type = DF_Type::Void; - n_unk_v43_1->m_rdf_type = RDF_Type::Vector; - n_unk_v43_1->m_node_type = NodeType::Vector; - n_unk_v43_1->m_addornements = "v"; - n_unk_v43_1->m_address = base + offset; - n_unk_v43_1->m_parent = p_node_parent; - n_unk_v43_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_v43_1); - - field_name = "unk_v43_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest__T_unk_v43, field_name)); - auto n_unk_v43_2 = new NodeVector; - n_unk_v43_2->m_field_name = field_name; - n_unk_v43_2->m_df_type = DF_Type::Void; - n_unk_v43_2->m_rdf_type = RDF_Type::Vector; - n_unk_v43_2->m_node_type = NodeType::Vector; - n_unk_v43_2->m_addornements = "v"; - n_unk_v43_2->m_address = base + offset; - n_unk_v43_2->m_parent = p_node_parent; - n_unk_v43_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_v43_2); - - field_name = "unk_v43_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest__T_unk_v43, field_name)); - auto n_unk_v43_3 = new NodeSimple; - n_unk_v43_3->m_field_name = field_name; - n_unk_v43_3->m_df_type = DF_Type::int32_t; - n_unk_v43_3->m_rdf_type = RDF_Type::int32_t; - n_unk_v43_3->m_node_type = NodeType::Simple; - n_unk_v43_3->m_address = base + offset; - n_unk_v43_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v43_3); - - field_name = "unk_v43_4"; - auto n_unk_v43_4 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest__T_unk_v43, field_name)); - n_unk_v43_4->m_field_name = field_name; - n_unk_v43_4->m_df_type = DF_Type::language_name; - n_unk_v43_4->m_rdf_type = RDF_Type::Struct; - n_unk_v43_4->m_node_type = NodeType::Compound; - n_unk_v43_4->m_address = base + offset; - n_unk_v43_4->m_defined_in = "df.language.xml"; - n_unk_v43_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v43_4); - - field_name = "unk_v43_sub9"; - auto n_unk_v43_sub9 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest__T_unk_v43, field_name)); - n_unk_v43_sub9->m_field_name = field_name; - n_unk_v43_sub9->m_df_type = DF_Type::viewscreen_setupdwarfgamest__T_unk_v43__T_unk_v43_sub9; - n_unk_v43_sub9->m_rdf_type = RDF_Type::Compound; - n_unk_v43_sub9->m_node_type = NodeType::Compound; - n_unk_v43_sub9->m_address = base + offset; - n_unk_v43_sub9->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v43_sub9); - - field_name = "unk_v43_10"; - auto n_unk_v43_10 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest__T_unk_v43, field_name)); - n_unk_v43_10->m_field_name = field_name; - n_unk_v43_10->m_df_type = DF_Type::int32_t; - n_unk_v43_10->m_rdf_type = RDF_Type::Array; - n_unk_v43_10->m_comment = "uninitialized?"; - n_unk_v43_10->m_node_type = NodeType::Array; - n_unk_v43_10->m_addornements = "[4"; - n_unk_v43_10->m_array_size = 4; - n_unk_v43_10->m_address = base + offset; - n_unk_v43_10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v43_10); - -} -void node_from_viewscreen_setupdwarfgamest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "title"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); - auto n_title= new NodePadding; - n_title->m_field_name = field_name; - n_title->m_df_type = DF_Type::Static_string; - n_title->m_rdf_type = RDF_Type::Static_string; - n_title->m_node_type = NodeType::StaticString; - n_title->m_address = base + offset; - n_title->m_size = 256; - n_title->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_title); - - field_name = "dwarf_info"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); - auto n_dwarf_info = new NodeVector; - n_dwarf_info->m_field_name = field_name; - n_dwarf_info->m_df_type = DF_Type::setup_character_info; - n_dwarf_info->m_rdf_type = RDF_Type::Vector; - n_dwarf_info->m_node_type = NodeType::Vector; - n_dwarf_info->m_defined_in = "df.viewscreen.xml"; - n_dwarf_info->m_addornements = "v*"; - n_dwarf_info->m_address = base + offset; - n_dwarf_info->m_parent = p_node_parent; - n_dwarf_info->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_dwarf_info); - - field_name = "embark_skills"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); - auto n_embark_skills = new NodeVector; - n_embark_skills->m_field_name = field_name; - n_embark_skills->m_df_type = DF_Type::job_skill; - n_embark_skills->m_rdf_type = RDF_Type::Vector; - n_embark_skills->m_node_type = NodeType::Vector; - n_embark_skills->m_enum_base = DF_Type::int16_t; - n_embark_skills->m_defined_in = "df.skills.xml"; - n_embark_skills->m_addornements = "v"; - n_embark_skills->m_address = base + offset; - n_embark_skills->m_parent = p_node_parent; - n_embark_skills->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_embark_skills); - - field_name = "reclaim_professions"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); - auto n_reclaim_professions = new NodeVector; - n_reclaim_professions->m_field_name = field_name; - n_reclaim_professions->m_df_type = DF_Type::profession; - n_reclaim_professions->m_rdf_type = RDF_Type::Vector; - n_reclaim_professions->m_node_type = NodeType::Vector; - n_reclaim_professions->m_enum_base = DF_Type::int16_t; - n_reclaim_professions->m_defined_in = "df.skills.xml"; - n_reclaim_professions->m_addornements = "v"; - n_reclaim_professions->m_address = base + offset; - n_reclaim_professions->m_parent = p_node_parent; - n_reclaim_professions->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_reclaim_professions); - - field_name = "mode"; - auto n_mode = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); - n_mode->m_field_name = field_name; - n_mode->m_df_type = DF_Type::viewscreen_setupdwarfgamest__T_mode; - n_mode->m_rdf_type = RDF_Type::Enum; - n_mode->m_node_type = NodeType::Enum; - n_mode->m_base_type = DF_Type::int32_t; - n_mode->m_enum_type = "viewscreen_setupdwarfgamest::T_mode"; - n_mode->m_address = base + offset; - n_mode->m_first_value = 0; - n_mode->m_last_value = 1; - n_mode->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mode); - - field_name = "dwarf_cursor"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); - auto n_dwarf_cursor = new NodeSimple; - n_dwarf_cursor->m_field_name = field_name; - n_dwarf_cursor->m_df_type = DF_Type::int32_t; - n_dwarf_cursor->m_rdf_type = RDF_Type::int32_t; - n_dwarf_cursor->m_node_type = NodeType::Simple; - n_dwarf_cursor->m_address = base + offset; - n_dwarf_cursor->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dwarf_cursor); - - field_name = "dwarf_page_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); - auto n_dwarf_page_idx = new NodeSimple; - n_dwarf_page_idx->m_field_name = field_name; - n_dwarf_page_idx->m_df_type = DF_Type::int32_t; - n_dwarf_page_idx->m_rdf_type = RDF_Type::int32_t; - n_dwarf_page_idx->m_node_type = NodeType::Simple; - n_dwarf_page_idx->m_address = base + offset; - n_dwarf_page_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dwarf_page_idx); - - field_name = "item_cursor"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); - auto n_item_cursor = new NodeSimple; - n_item_cursor->m_field_name = field_name; - n_item_cursor->m_df_type = DF_Type::int32_t; - n_item_cursor->m_rdf_type = RDF_Type::int32_t; - n_item_cursor->m_node_type = NodeType::Simple; - n_item_cursor->m_address = base + offset; - n_item_cursor->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_cursor); - - field_name = "skill_cursor"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); - auto n_skill_cursor = new NodeSimple; - n_skill_cursor->m_field_name = field_name; - n_skill_cursor->m_df_type = DF_Type::int32_t; - n_skill_cursor->m_rdf_type = RDF_Type::int32_t; - n_skill_cursor->m_node_type = NodeType::Simple; - n_skill_cursor->m_address = base + offset; - n_skill_cursor->m_refers_to = "$$._parent.embark_skills[$]"; - n_skill_cursor->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_skill_cursor); - - field_name = "animal_cursor"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); - auto n_animal_cursor = new NodeSimple; - n_animal_cursor->m_field_name = field_name; - n_animal_cursor->m_df_type = DF_Type::int32_t; - n_animal_cursor->m_rdf_type = RDF_Type::int32_t; - n_animal_cursor->m_node_type = NodeType::Simple; - n_animal_cursor->m_address = base + offset; - n_animal_cursor->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_animal_cursor); - - field_name = "dwarf_column"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); - auto n_dwarf_column = new NodeSimple; - n_dwarf_column->m_field_name = field_name; - n_dwarf_column->m_df_type = DF_Type::int32_t; - n_dwarf_column->m_rdf_type = RDF_Type::int32_t; - n_dwarf_column->m_node_type = NodeType::Simple; - n_dwarf_column->m_address = base + offset; - n_dwarf_column->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dwarf_column); - - field_name = "supply_column"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); - auto n_supply_column = new NodeSimple; - n_supply_column->m_field_name = field_name; - n_supply_column->m_df_type = DF_Type::int32_t; - n_supply_column->m_rdf_type = RDF_Type::int32_t; - n_supply_column->m_node_type = NodeType::Simple; - n_supply_column->m_address = base + offset; - n_supply_column->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_supply_column); - - field_name = "display_row"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); - auto n_display_row = new NodeSimple; - n_display_row->m_field_name = field_name; - n_display_row->m_df_type = DF_Type::int32_t; - n_display_row->m_rdf_type = RDF_Type::int32_t; - n_display_row->m_node_type = NodeType::Simple; - n_display_row->m_address = base + offset; - n_display_row->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_display_row); - - field_name = "show_play_now"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); - auto n_show_play_now = new NodeSimple; - n_show_play_now->m_field_name = field_name; - n_show_play_now->m_df_type = DF_Type::int8_t; - n_show_play_now->m_rdf_type = RDF_Type::int8_t; - n_show_play_now->m_node_type = NodeType::Simple; - n_show_play_now->m_address = base + offset; - n_show_play_now->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_show_play_now); - - field_name = "embark_prompt"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); - auto n_embark_prompt = new NodeSimple; - n_embark_prompt->m_field_name = field_name; - n_embark_prompt->m_df_type = DF_Type::int8_t; - n_embark_prompt->m_rdf_type = RDF_Type::int8_t; - n_embark_prompt->m_node_type = NodeType::Simple; - n_embark_prompt->m_address = base + offset; - n_embark_prompt->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_embark_prompt); - - field_name = "choice_types"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); - auto n_choice_types = new NodeVector; - n_choice_types->m_field_name = field_name; - n_choice_types->m_df_type = DF_Type::viewscreen_setupdwarfgamest__T_choice_types; - n_choice_types->m_rdf_type = RDF_Type::Vector; - n_choice_types->m_node_type = NodeType::Vector; - n_choice_types->m_enum_base = DF_Type::int8_t; - n_choice_types->m_addornements = "v"; - n_choice_types->m_address = base + offset; - n_choice_types->m_parent = p_node_parent; - n_choice_types->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_choice_types); - - field_name = "choices"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); - auto n_choices = new NodeVector; - n_choices->m_field_name = field_name; - n_choices->m_df_type = DF_Type::embark_profile; - n_choices->m_rdf_type = RDF_Type::Vector; - n_choices->m_node_type = NodeType::Vector; - n_choices->m_defined_in = "df.viewscreen.xml"; - n_choices->m_addornements = "v*"; - n_choices->m_address = base + offset; - n_choices->m_parent = p_node_parent; - n_choices->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_choices); - - field_name = "choice"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); - auto n_choice = new NodeSimple; - n_choice->m_field_name = field_name; - n_choice->m_df_type = DF_Type::int32_t; - n_choice->m_rdf_type = RDF_Type::int32_t; - n_choice->m_node_type = NodeType::Simple; - n_choice->m_address = base + offset; - n_choice->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_choice); - - field_name = "profile_name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); - auto n_profile_name = new NodeSimple; - n_profile_name->m_field_name = field_name; - n_profile_name->m_df_type = DF_Type::Stl_string; - n_profile_name->m_rdf_type = RDF_Type::Stl_string; - n_profile_name->m_node_type = NodeType::Simple; - n_profile_name->m_address = base + offset; - n_profile_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_profile_name); - - field_name = "problems"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); - auto n_problems = new NodeVector; - n_problems->m_field_name = field_name; - n_problems->m_df_type = DF_Type::Stl_string; - n_problems->m_rdf_type = RDF_Type::Vector; - n_problems->m_node_type = NodeType::Vector; - n_problems->m_addornements = "v*"; - n_problems->m_address = base + offset; - n_problems->m_parent = p_node_parent; - n_problems->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_problems); - - field_name = "unk_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); - auto n_unk_1 = new NodeSimple; - n_unk_1->m_field_name = field_name; - n_unk_1->m_df_type = DF_Type::int32_t; - n_unk_1->m_rdf_type = RDF_Type::int32_t; - n_unk_1->m_node_type = NodeType::Simple; - n_unk_1->m_address = base + offset; - n_unk_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_1); - - field_name = "in_problems"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); - auto n_in_problems = new NodeSimple; - n_in_problems->m_field_name = field_name; - n_in_problems->m_df_type = DF_Type::int8_t; - n_in_problems->m_rdf_type = RDF_Type::int8_t; - n_in_problems->m_node_type = NodeType::Simple; - n_in_problems->m_address = base + offset; - n_in_problems->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_in_problems); - - field_name = "in_save_profile"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); - auto n_in_save_profile = new NodeSimple; - n_in_save_profile->m_field_name = field_name; - n_in_save_profile->m_df_type = DF_Type::int8_t; - n_in_save_profile->m_rdf_type = RDF_Type::int8_t; - n_in_save_profile->m_node_type = NodeType::Simple; - n_in_save_profile->m_address = base + offset; - n_in_save_profile->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_in_save_profile); - - field_name = "profile_name_conflict"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); - auto n_profile_name_conflict = new NodeSimple; - n_profile_name_conflict->m_field_name = field_name; - n_profile_name_conflict->m_df_type = DF_Type::int8_t; - n_profile_name_conflict->m_rdf_type = RDF_Type::int8_t; - n_profile_name_conflict->m_node_type = NodeType::Simple; - n_profile_name_conflict->m_address = base + offset; - n_profile_name_conflict->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_profile_name_conflict); - - field_name = "item_choice"; - auto n_item_choice = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); - n_item_choice->m_field_name = field_name; - n_item_choice->m_df_type = DF_Type::embark_item_choice; - n_item_choice->m_rdf_type = RDF_Type::Struct; - n_item_choice->m_node_type = NodeType::Compound; - n_item_choice->m_address = base + offset; - n_item_choice->m_defined_in = "df.viewscreen.xml"; - n_item_choice->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_choice); - - field_name = "animals"; - auto n_animals = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); - n_animals->m_field_name = field_name; - n_animals->m_df_type = DF_Type::viewscreen_setupdwarfgamest__T_animals; - n_animals->m_rdf_type = RDF_Type::Compound; - n_animals->m_node_type = NodeType::Compound; - n_animals->m_address = base + offset; - n_animals->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_animals); - - field_name = "fort_name"; - auto n_fort_name = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); - n_fort_name->m_field_name = field_name; - n_fort_name->m_df_type = DF_Type::language_name; - n_fort_name->m_rdf_type = RDF_Type::Struct; - n_fort_name->m_node_type = NodeType::Compound; - n_fort_name->m_address = base + offset; - n_fort_name->m_defined_in = "df.language.xml"; - n_fort_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_fort_name); - - field_name = "group_name"; - auto n_group_name = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); - n_group_name->m_field_name = field_name; - n_group_name->m_df_type = DF_Type::language_name; - n_group_name->m_rdf_type = RDF_Type::Struct; - n_group_name->m_node_type = NodeType::Compound; - n_group_name->m_address = base + offset; - n_group_name->m_defined_in = "df.language.xml"; - n_group_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_group_name); - - field_name = "unk_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); - auto n_unk_2 = new NodeSimple; - n_unk_2->m_field_name = field_name; - n_unk_2->m_df_type = DF_Type::int8_t; - n_unk_2->m_rdf_type = RDF_Type::int8_t; - n_unk_2->m_node_type = NodeType::Simple; - n_unk_2->m_address = base + offset; - n_unk_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_2); - - field_name = "unk_v43"; - auto n_unk_v43 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); - n_unk_v43->m_field_name = field_name; - n_unk_v43->m_df_type = DF_Type::viewscreen_setupdwarfgamest__T_unk_v43; - n_unk_v43->m_rdf_type = RDF_Type::Compound; - n_unk_v43->m_node_type = NodeType::Compound; - n_unk_v43->m_address = base + offset; - n_unk_v43->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v43); - - field_name = "location"; - auto n_location = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); - n_location->m_field_name = field_name; - n_location->m_df_type = DF_Type::embark_location; - n_location->m_rdf_type = RDF_Type::Struct; - n_location->m_node_type = NodeType::Compound; - n_location->m_address = base + offset; - n_location->m_defined_in = "df.viewscreen.xml"; - n_location->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_location); - - field_name = "units"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); - auto n_units = new NodeVector; - n_units->m_field_name = field_name; - n_units->m_df_type = DF_Type::unit; - n_units->m_rdf_type = RDF_Type::Vector; - n_units->m_node_type = NodeType::Vector; - n_units->m_defined_in = "df.units.xml"; - n_units->m_addornements = "v*"; - n_units->m_address = base + offset; - n_units->m_parent = p_node_parent; - n_units->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_units); - - field_name = "items"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); - auto n_items = new NodeVector; - n_items->m_field_name = field_name; - n_items->m_df_type = DF_Type::item; - n_items->m_rdf_type = RDF_Type::Vector; - n_items->m_node_type = NodeType::Vector; - n_items->m_defined_in = "df.items.xml"; - n_items->m_addornements = "v*"; - n_items->m_address = base + offset; - n_items->m_parent = p_node_parent; - n_items->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_items); - - field_name = "unk_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); - auto n_unk_3 = new NodeSimple; - n_unk_3->m_field_name = field_name; - n_unk_3->m_df_type = DF_Type::int32_t; - n_unk_3->m_rdf_type = RDF_Type::int32_t; - n_unk_3->m_node_type = NodeType::Simple; - n_unk_3->m_address = base + offset; - n_unk_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_3); - - field_name = "points_remaining"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); - auto n_points_remaining = new NodeSimple; - n_points_remaining->m_field_name = field_name; - n_points_remaining->m_df_type = DF_Type::int32_t; - n_points_remaining->m_rdf_type = RDF_Type::int32_t; - n_points_remaining->m_node_type = NodeType::Simple; - n_points_remaining->m_address = base + offset; - n_points_remaining->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_points_remaining); - - field_name = "add_item_type"; - auto n_add_item_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); - n_add_item_type->m_field_name = field_name; - n_add_item_type->m_df_type = DF_Type::item_type; - n_add_item_type->m_rdf_type = RDF_Type::Enum; - n_add_item_type->m_node_type = NodeType::Enum; - n_add_item_type->m_base_type = DF_Type::int16_t; - n_add_item_type->m_enum_type = "item_type"; - n_add_item_type->m_address = base + offset; - n_add_item_type->m_defined_in = "df.item-raws.xml"; - n_add_item_type->m_first_value = -1; - n_add_item_type->m_last_value = 90; - n_add_item_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_add_item_type); - - field_name = "add_item_subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); - auto n_add_item_subtype = new NodeSimple; - n_add_item_subtype->m_field_name = field_name; - n_add_item_subtype->m_df_type = DF_Type::int16_t; - n_add_item_subtype->m_rdf_type = RDF_Type::int16_t; - n_add_item_subtype->m_node_type = NodeType::Simple; - n_add_item_subtype->m_address = base + offset; - n_add_item_subtype->m_refers_to = "(item-subtype-target $$._parent.add_item_type $)"; - n_add_item_subtype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_add_item_subtype); - - field_name = "add_mattype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); - auto n_add_mattype = new NodeSimple; - n_add_mattype->m_field_name = field_name; - n_add_mattype->m_df_type = DF_Type::int16_t; - n_add_mattype->m_rdf_type = RDF_Type::int16_t; - n_add_mattype->m_node_type = NodeType::Simple; - n_add_mattype->m_address = base + offset; - n_add_mattype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_add_mattype); - - field_name = "add_matindex"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); - auto n_add_matindex = new NodeSimple; - n_add_matindex->m_field_name = field_name; - n_add_matindex->m_df_type = DF_Type::int32_t; - n_add_matindex->m_rdf_type = RDF_Type::int32_t; - n_add_matindex->m_node_type = NodeType::Simple; - n_add_matindex->m_address = base + offset; - n_add_matindex->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_add_matindex); - - field_name = "adding_item"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); - auto n_adding_item = new NodeSimple; - n_adding_item->m_field_name = field_name; - n_adding_item->m_df_type = DF_Type::int32_t; - n_adding_item->m_rdf_type = RDF_Type::int32_t; - n_adding_item->m_node_type = NodeType::Simple; - n_adding_item->m_address = base + offset; - n_adding_item->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_adding_item); - -} -void node_from_viewscreen_storesst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "title"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_storesst, field_name)); - auto n_title= new NodePadding; - n_title->m_field_name = field_name; - n_title->m_df_type = DF_Type::Static_string; - n_title->m_rdf_type = RDF_Type::Static_string; - n_title->m_node_type = NodeType::StaticString; - n_title->m_address = base + offset; - n_title->m_size = 256; - n_title->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_title); - - field_name = "category_cursor"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_storesst, field_name)); - auto n_category_cursor = new NodeSimple; - n_category_cursor->m_field_name = field_name; - n_category_cursor->m_df_type = DF_Type::int32_t; - n_category_cursor->m_rdf_type = RDF_Type::int32_t; - n_category_cursor->m_node_type = NodeType::Simple; - n_category_cursor->m_address = base + offset; - n_category_cursor->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_category_cursor); - - field_name = "item_cursor"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_storesst, field_name)); - auto n_item_cursor = new NodeSimple; - n_item_cursor->m_field_name = field_name; - n_item_cursor->m_df_type = DF_Type::int32_t; - n_item_cursor->m_rdf_type = RDF_Type::int32_t; - n_item_cursor->m_node_type = NodeType::Simple; - n_item_cursor->m_address = base + offset; - n_item_cursor->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_cursor); - - field_name = "in_right_list"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_storesst, field_name)); - auto n_in_right_list = new NodeSimple; - n_in_right_list->m_field_name = field_name; - n_in_right_list->m_df_type = DF_Type::int16_t; - n_in_right_list->m_rdf_type = RDF_Type::int16_t; - n_in_right_list->m_node_type = NodeType::Simple; - n_in_right_list->m_address = base + offset; - n_in_right_list->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_in_right_list); - - field_name = "in_group_mode"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_storesst, field_name)); - auto n_in_group_mode = new NodeSimple; - n_in_group_mode->m_field_name = field_name; - n_in_group_mode->m_df_type = DF_Type::int16_t; - n_in_group_mode->m_rdf_type = RDF_Type::int16_t; - n_in_group_mode->m_node_type = NodeType::Simple; - n_in_group_mode->m_address = base + offset; - n_in_group_mode->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_in_group_mode); - - field_name = "category_total"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_storesst, field_name)); - auto n_category_total = new NodeVector; - n_category_total->m_field_name = field_name; - n_category_total->m_df_type = DF_Type::int32_t; - n_category_total->m_rdf_type = RDF_Type::Vector; - n_category_total->m_node_type = NodeType::Vector; - n_category_total->m_index_enum = DF_Type::item_type; - n_category_total->m_addornements = "v"; - n_category_total->m_address = base + offset; - n_category_total->m_parent = p_node_parent; - n_category_total->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_category_total); - - field_name = "category_busy"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_storesst, field_name)); - auto n_category_busy = new NodeVector; - n_category_busy->m_field_name = field_name; - n_category_busy->m_df_type = DF_Type::int32_t; - n_category_busy->m_rdf_type = RDF_Type::Vector; - n_category_busy->m_node_type = NodeType::Vector; - n_category_busy->m_index_enum = DF_Type::item_type; - n_category_busy->m_addornements = "v"; - n_category_busy->m_address = base + offset; - n_category_busy->m_parent = p_node_parent; - n_category_busy->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_category_busy); - - field_name = "items"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_storesst, field_name)); - auto n_items = new NodeVector; - n_items->m_field_name = field_name; - n_items->m_df_type = DF_Type::item; - n_items->m_rdf_type = RDF_Type::Vector; - n_items->m_node_type = NodeType::Vector; - n_items->m_defined_in = "df.items.xml"; - n_items->m_addornements = "v*"; - n_items->m_address = base + offset; - n_items->m_parent = p_node_parent; - n_items->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_items); - - field_name = "group_item_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_storesst, field_name)); - auto n_group_item_type = new NodeVector; - n_group_item_type->m_field_name = field_name; - n_group_item_type->m_df_type = DF_Type::item_type; - n_group_item_type->m_rdf_type = RDF_Type::Vector; - n_group_item_type->m_node_type = NodeType::Vector; - n_group_item_type->m_enum_base = DF_Type::int16_t; - n_group_item_type->m_defined_in = "df.item-raws.xml"; - n_group_item_type->m_addornements = "v"; - n_group_item_type->m_address = base + offset; - n_group_item_type->m_parent = p_node_parent; - n_group_item_type->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_group_item_type); - - field_name = "group_item_subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_storesst, field_name)); - auto n_group_item_subtype = new NodeVector; - n_group_item_subtype->m_field_name = field_name; - n_group_item_subtype->m_df_type = DF_Type::int16_t; - n_group_item_subtype->m_rdf_type = RDF_Type::Vector; - n_group_item_subtype->m_node_type = NodeType::Vector; - n_group_item_subtype->m_addornements = "v"; - n_group_item_subtype->m_address = base + offset; - n_group_item_subtype->m_parent = p_node_parent; - n_group_item_subtype->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_group_item_subtype); - - field_name = "group_mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_storesst, field_name)); - auto n_group_mat_type = new NodeVector; - n_group_mat_type->m_field_name = field_name; - n_group_mat_type->m_df_type = DF_Type::int16_t; - n_group_mat_type->m_rdf_type = RDF_Type::Vector; - n_group_mat_type->m_node_type = NodeType::Vector; - n_group_mat_type->m_addornements = "v"; - n_group_mat_type->m_address = base + offset; - n_group_mat_type->m_parent = p_node_parent; - n_group_mat_type->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_group_mat_type); - - field_name = "group_mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_storesst, field_name)); - auto n_group_mat_index = new NodeVector; - n_group_mat_index->m_field_name = field_name; - n_group_mat_index->m_df_type = DF_Type::int16_t; - n_group_mat_index->m_rdf_type = RDF_Type::Vector; - n_group_mat_index->m_node_type = NodeType::Vector; - n_group_mat_index->m_addornements = "v"; - n_group_mat_index->m_address = base + offset; - n_group_mat_index->m_parent = p_node_parent; - n_group_mat_index->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_group_mat_index); - - field_name = "group_count"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_storesst, field_name)); - auto n_group_count = new NodeVector; - n_group_count->m_field_name = field_name; - n_group_count->m_df_type = DF_Type::int32_t; - n_group_count->m_rdf_type = RDF_Type::Vector; - n_group_count->m_node_type = NodeType::Vector; - n_group_count->m_addornements = "v"; - n_group_count->m_address = base + offset; - n_group_count->m_parent = p_node_parent; - n_group_count->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_group_count); - - field_name = "category_order"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_storesst, field_name)); - auto n_category_order = new NodeVector; - n_category_order->m_field_name = field_name; - n_category_order->m_df_type = DF_Type::item_type; - n_category_order->m_rdf_type = RDF_Type::Vector; - n_category_order->m_node_type = NodeType::Vector; - n_category_order->m_enum_base = DF_Type::int16_t; - n_category_order->m_defined_in = "df.item-raws.xml"; - n_category_order->m_addornements = "v"; - n_category_order->m_address = base + offset; - n_category_order->m_parent = p_node_parent; - n_category_order->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_category_order); - - field_name = "can_zoom"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_storesst, field_name)); - auto n_can_zoom = new NodeSimple; - n_can_zoom->m_field_name = field_name; - n_can_zoom->m_df_type = DF_Type::Bool; - n_can_zoom->m_rdf_type = RDF_Type::Bool; - n_can_zoom->m_node_type = NodeType::Simple; - n_can_zoom->m_address = base + offset; - n_can_zoom->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_can_zoom); - -} -void node_from_viewscreen_textviewerst__T_formatted_text(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "text"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_textviewerst__T_formatted_text, field_name)); - auto n_text = new NodePointer; - n_text->m_field_name = field_name; - n_text->m_df_type = get_real_subtype(base+offset, DF_Type::Ptr_char); - n_text->m_rdf_type = RDF_Type::Pointer; - n_text->m_node_type = NodeType::Pointer; - n_text->m_addornements = "*"; - n_text->m_address = base + offset; - n_text->m_parent = p_node_parent; - n_text->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_text); - - field_name = "format"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_textviewerst__T_formatted_text, field_name)); - auto n_format = new NodePointer; - n_format->m_field_name = field_name; - n_format->m_df_type = get_real_subtype(base+offset, DF_Type::Ptr_char); - n_format->m_rdf_type = RDF_Type::Pointer; - n_format->m_node_type = NodeType::Pointer; - n_format->m_addornements = "*"; - n_format->m_address = base + offset; - n_format->m_parent = p_node_parent; - n_format->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_format); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_textviewerst__T_formatted_text, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::viewscreen_textviewerst__T_formatted_text__T_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "pause_depth"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_textviewerst__T_formatted_text, field_name)); - auto n_pause_depth = new NodeSimple; - n_pause_depth->m_field_name = field_name; - n_pause_depth->m_df_type = DF_Type::int32_t; - n_pause_depth->m_rdf_type = RDF_Type::int32_t; - n_pause_depth->m_node_type = NodeType::Simple; - n_pause_depth->m_address = base + offset; - n_pause_depth->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pause_depth); - - field_name = "return_val"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_textviewerst__T_formatted_text, field_name)); - auto n_return_val = new NodeSimple; - n_return_val->m_field_name = field_name; - n_return_val->m_df_type = DF_Type::int32_t; - n_return_val->m_rdf_type = RDF_Type::int32_t; - n_return_val->m_node_type = NodeType::Simple; - n_return_val->m_address = base + offset; - n_return_val->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_return_val); - - field_name = "indent"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_textviewerst__T_formatted_text, field_name)); - auto n_indent = new NodeSimple; - n_indent->m_field_name = field_name; - n_indent->m_df_type = DF_Type::int32_t; - n_indent->m_rdf_type = RDF_Type::int32_t; - n_indent->m_node_type = NodeType::Simple; - n_indent->m_address = base + offset; - n_indent->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_indent); - -} -void node_from_viewscreen_textviewerst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "title"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_textviewerst, field_name)); - auto n_title = new NodeSimple; - n_title->m_field_name = field_name; - n_title->m_df_type = DF_Type::Stl_string; - n_title->m_rdf_type = RDF_Type::Stl_string; - n_title->m_node_type = NodeType::Simple; - n_title->m_address = base + offset; - n_title->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_title); - - field_name = "title_colors"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_textviewerst, field_name)); - auto n_title_colors = new NodeSimple; - n_title_colors->m_field_name = field_name; - n_title_colors->m_df_type = DF_Type::Stl_string; - n_title_colors->m_rdf_type = RDF_Type::Stl_string; - n_title_colors->m_node_type = NodeType::Simple; - n_title_colors->m_address = base + offset; - n_title_colors->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_title_colors); - - field_name = "src_text"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_textviewerst, field_name)); - auto n_src_text = new NodeVector; - n_src_text->m_field_name = field_name; - n_src_text->m_df_type = DF_Type::Stl_string; - n_src_text->m_rdf_type = RDF_Type::Vector; - n_src_text->m_node_type = NodeType::Vector; - n_src_text->m_addornements = "v*"; - n_src_text->m_address = base + offset; - n_src_text->m_parent = p_node_parent; - n_src_text->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_src_text); - - field_name = "outvar_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_textviewerst, field_name)); - auto n_outvar_type = new NodeSimple; - n_outvar_type->m_field_name = field_name; - n_outvar_type->m_df_type = DF_Type::Stl_string; - n_outvar_type->m_rdf_type = RDF_Type::Stl_string; - n_outvar_type->m_node_type = NodeType::Simple; - n_outvar_type->m_address = base + offset; - n_outvar_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_outvar_type); - - field_name = "outvar_name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_textviewerst, field_name)); - auto n_outvar_name = new NodeSimple; - n_outvar_name->m_field_name = field_name; - n_outvar_name->m_df_type = DF_Type::Stl_string; - n_outvar_name->m_rdf_type = RDF_Type::Stl_string; - n_outvar_name->m_node_type = NodeType::Simple; - n_outvar_name->m_address = base + offset; - n_outvar_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_outvar_name); - - field_name = "meeting_context"; - auto n_meeting_context = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_textviewerst, field_name)); - n_meeting_context->m_field_name = field_name; - n_meeting_context->m_df_type = DF_Type::meeting_context; - n_meeting_context->m_rdf_type = RDF_Type::Struct; - n_meeting_context->m_node_type = NodeType::Compound; - n_meeting_context->m_address = base + offset; - n_meeting_context->m_defined_in = "df.meeting.xml"; - n_meeting_context->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_meeting_context); - - field_name = "help_filename"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_textviewerst, field_name)); - auto n_help_filename = new NodeSimple; - n_help_filename->m_field_name = field_name; - n_help_filename->m_df_type = DF_Type::Stl_string; - n_help_filename->m_rdf_type = RDF_Type::Stl_string; - n_help_filename->m_node_type = NodeType::Simple; - n_help_filename->m_address = base + offset; - n_help_filename->m_comment = "relative to data/help"; - n_help_filename->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_help_filename); - - field_name = "page_filename"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_textviewerst, field_name)); - auto n_page_filename = new NodeSimple; - n_page_filename->m_field_name = field_name; - n_page_filename->m_df_type = DF_Type::Stl_string; - n_page_filename->m_rdf_type = RDF_Type::Stl_string; - n_page_filename->m_node_type = NodeType::Simple; - n_page_filename->m_address = base + offset; - n_page_filename->m_comment = "relative to root"; - n_page_filename->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_page_filename); - - field_name = "formatted_text"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_textviewerst, field_name)); - auto n_formatted_text = new NodeVector; - n_formatted_text->m_field_name = field_name; - n_formatted_text->m_df_type = DF_Type::viewscreen_textviewerst__T_formatted_text; - n_formatted_text->m_rdf_type = RDF_Type::Vector; - n_formatted_text->m_node_type = NodeType::Vector; - n_formatted_text->m_addornements = "v*"; - n_formatted_text->m_address = base + offset; - n_formatted_text->m_parent = p_node_parent; - n_formatted_text->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_formatted_text); - - field_name = "hyperlinks"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_textviewerst, field_name)); - auto n_hyperlinks = new NodeVector; - n_hyperlinks->m_field_name = field_name; - n_hyperlinks->m_df_type = DF_Type::Static_string; - n_hyperlinks->m_rdf_type = RDF_Type::Vector; - n_hyperlinks->m_node_type = NodeType::Vector; - n_hyperlinks->m_addornements = "v*"; - n_hyperlinks->m_address = base + offset; - n_hyperlinks->m_comment = "link targets, same length as text_display"; - n_hyperlinks->m_parent = p_node_parent; - n_hyperlinks->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_hyperlinks); - - field_name = "logged_error"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_textviewerst, field_name)); - auto n_logged_error = new NodeSimple; - n_logged_error->m_field_name = field_name; - n_logged_error->m_df_type = DF_Type::int8_t; - n_logged_error->m_rdf_type = RDF_Type::int8_t; - n_logged_error->m_node_type = NodeType::Simple; - n_logged_error->m_address = base + offset; - n_logged_error->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_logged_error); - - field_name = "scroll_pos"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_textviewerst, field_name)); - auto n_scroll_pos = new NodeSimple; - n_scroll_pos->m_field_name = field_name; - n_scroll_pos->m_df_type = DF_Type::int32_t; - n_scroll_pos->m_rdf_type = RDF_Type::int32_t; - n_scroll_pos->m_node_type = NodeType::Simple; - n_scroll_pos->m_address = base + offset; - n_scroll_pos->m_comment = "vertical scrollbar position"; - n_scroll_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_scroll_pos); - - field_name = "cursor_line"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_textviewerst, field_name)); - auto n_cursor_line = new NodeSimple; - n_cursor_line->m_field_name = field_name; - n_cursor_line->m_df_type = DF_Type::int32_t; - n_cursor_line->m_rdf_type = RDF_Type::int32_t; - n_cursor_line->m_node_type = NodeType::Simple; - n_cursor_line->m_address = base + offset; - n_cursor_line->m_comment = "on hyperlink lines"; - n_cursor_line->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cursor_line); - - field_name = "pause_depth"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_textviewerst, field_name)); - auto n_pause_depth = new NodeSimple; - n_pause_depth->m_field_name = field_name; - n_pause_depth->m_df_type = DF_Type::int32_t; - n_pause_depth->m_rdf_type = RDF_Type::int32_t; - n_pause_depth->m_node_type = NodeType::Simple; - n_pause_depth->m_address = base + offset; - n_pause_depth->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pause_depth); - -} -void node_from_viewscreen_titlest__T_start_savegames(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "world_name"; - auto n_world_name = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest__T_start_savegames, field_name)); - n_world_name->m_field_name = field_name; - n_world_name->m_df_type = DF_Type::language_name; - n_world_name->m_rdf_type = RDF_Type::Struct; - n_world_name->m_node_type = NodeType::Compound; - n_world_name->m_address = base + offset; - n_world_name->m_defined_in = "df.language.xml"; - n_world_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_world_name); - - field_name = "world_name_str"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest__T_start_savegames, field_name)); - auto n_world_name_str = new NodeSimple; - n_world_name_str->m_field_name = field_name; - n_world_name_str->m_df_type = DF_Type::Stl_string; - n_world_name_str->m_rdf_type = RDF_Type::Stl_string; - n_world_name_str->m_node_type = NodeType::Simple; - n_world_name_str->m_address = base + offset; - n_world_name_str->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_world_name_str); - - field_name = "unk1"; - auto n_unk1 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest__T_start_savegames, field_name)); - n_unk1->m_field_name = field_name; - n_unk1->m_df_type = DF_Type::int8_t; - n_unk1->m_rdf_type = RDF_Type::Array; - n_unk1->m_node_type = NodeType::Array; - n_unk1->m_addornements = "[15"; - n_unk1->m_array_size = 15; - n_unk1->m_address = base + offset; - n_unk1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk1); - - field_name = "unk2"; - auto n_unk2 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest__T_start_savegames, field_name)); - n_unk2->m_field_name = field_name; - n_unk2->m_df_type = DF_Type::int32_t; - n_unk2->m_rdf_type = RDF_Type::Array; - n_unk2->m_node_type = NodeType::Array; - n_unk2->m_addornements = "[35"; - n_unk2->m_array_size = 35; - n_unk2->m_address = base + offset; - n_unk2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk2); - - field_name = "save_dir"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest__T_start_savegames, field_name)); - auto n_save_dir = new NodeSimple; - n_save_dir->m_field_name = field_name; - n_save_dir->m_df_type = DF_Type::Stl_string; - n_save_dir->m_rdf_type = RDF_Type::Stl_string; - n_save_dir->m_node_type = NodeType::Simple; - n_save_dir->m_address = base + offset; - n_save_dir->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_save_dir); - -} -void node_from_viewscreen_titlest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "str_histories"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest, field_name)); - auto n_str_histories= new NodePadding; - n_str_histories->m_field_name = field_name; - n_str_histories->m_df_type = DF_Type::Static_string; - n_str_histories->m_rdf_type = RDF_Type::Static_string; - n_str_histories->m_node_type = NodeType::StaticString; - n_str_histories->m_address = base + offset; - n_str_histories->m_size = 256; - n_str_histories->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_str_histories); - - field_name = "menu_items"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest, field_name)); - auto n_menu_items= new NodePadding; - n_menu_items->m_field_name = field_name; - n_menu_items->m_df_type = DF_Type::Static_string; - n_menu_items->m_rdf_type = RDF_Type::Static_string; - n_menu_items->m_node_type = NodeType::StaticString; - n_menu_items->m_address = base + offset; - n_menu_items->m_size = 256; - n_menu_items->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_menu_items); - - field_name = "sel_subpage"; - auto n_sel_subpage = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest, field_name)); - n_sel_subpage->m_field_name = field_name; - n_sel_subpage->m_df_type = DF_Type::viewscreen_titlest__T_sel_subpage; - n_sel_subpage->m_rdf_type = RDF_Type::Enum; - n_sel_subpage->m_node_type = NodeType::Enum; - n_sel_subpage->m_base_type = DF_Type::int16_t; - n_sel_subpage->m_enum_type = "viewscreen_titlest::T_sel_subpage"; - n_sel_subpage->m_address = base + offset; - n_sel_subpage->m_first_value = 0; - n_sel_subpage->m_last_value = 4; - n_sel_subpage->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sel_subpage); - - field_name = "sel_menu_line"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest, field_name)); - auto n_sel_menu_line = new NodeSimple; - n_sel_menu_line->m_field_name = field_name; - n_sel_menu_line->m_df_type = DF_Type::int32_t; - n_sel_menu_line->m_rdf_type = RDF_Type::int32_t; - n_sel_menu_line->m_node_type = NodeType::Simple; - n_sel_menu_line->m_address = base + offset; - n_sel_menu_line->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sel_menu_line); - - field_name = "sel_submenu_line"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest, field_name)); - auto n_sel_submenu_line = new NodeSimple; - n_sel_submenu_line->m_field_name = field_name; - n_sel_submenu_line->m_df_type = DF_Type::int32_t; - n_sel_submenu_line->m_rdf_type = RDF_Type::int32_t; - n_sel_submenu_line->m_node_type = NodeType::Simple; - n_sel_submenu_line->m_address = base + offset; - n_sel_submenu_line->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sel_submenu_line); - - field_name = "loading"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest, field_name)); - auto n_loading = new NodeSimple; - n_loading->m_field_name = field_name; - n_loading->m_df_type = DF_Type::int8_t; - n_loading->m_rdf_type = RDF_Type::int8_t; - n_loading->m_node_type = NodeType::Simple; - n_loading->m_address = base + offset; - n_loading->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_loading); - - field_name = "menu_line_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest, field_name)); - auto n_menu_line_id = new NodeVector; - n_menu_line_id->m_field_name = field_name; - n_menu_line_id->m_df_type = DF_Type::viewscreen_titlest__T_menu_line_id; - n_menu_line_id->m_rdf_type = RDF_Type::Vector; - n_menu_line_id->m_node_type = NodeType::Vector; - n_menu_line_id->m_enum_base = DF_Type::int32_t; - n_menu_line_id->m_addornements = "v"; - n_menu_line_id->m_address = base + offset; - n_menu_line_id->m_parent = p_node_parent; - n_menu_line_id->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_menu_line_id); - - field_name = "submenu_line_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest, field_name)); - auto n_submenu_line_id = new NodeVector; - n_submenu_line_id->m_field_name = field_name; - n_submenu_line_id->m_df_type = DF_Type::int32_t; - n_submenu_line_id->m_rdf_type = RDF_Type::Vector; - n_submenu_line_id->m_node_type = NodeType::Vector; - n_submenu_line_id->m_addornements = "v"; - n_submenu_line_id->m_address = base + offset; - n_submenu_line_id->m_parent = p_node_parent; - n_submenu_line_id->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_submenu_line_id); - - field_name = "submenu_line_text"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest, field_name)); - auto n_submenu_line_text = new NodeVector; - n_submenu_line_text->m_field_name = field_name; - n_submenu_line_text->m_df_type = DF_Type::Stl_string; - n_submenu_line_text->m_rdf_type = RDF_Type::Vector; - n_submenu_line_text->m_node_type = NodeType::Vector; - n_submenu_line_text->m_addornements = "v*"; - n_submenu_line_text->m_address = base + offset; - n_submenu_line_text->m_parent = p_node_parent; - n_submenu_line_text->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_submenu_line_text); - - field_name = "start_savegames"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest, field_name)); - auto n_start_savegames = new NodeVector; - n_start_savegames->m_field_name = field_name; - n_start_savegames->m_df_type = DF_Type::viewscreen_titlest__T_start_savegames; - n_start_savegames->m_rdf_type = RDF_Type::Vector; - n_start_savegames->m_node_type = NodeType::Vector; - n_start_savegames->m_addornements = "v*"; - n_start_savegames->m_address = base + offset; - n_start_savegames->m_parent = p_node_parent; - n_start_savegames->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_start_savegames); - - field_name = "arena_savegames"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest, field_name)); - auto n_arena_savegames = new NodeVector; - n_arena_savegames->m_field_name = field_name; - n_arena_savegames->m_df_type = DF_Type::Stl_string; - n_arena_savegames->m_rdf_type = RDF_Type::Vector; - n_arena_savegames->m_node_type = NodeType::Vector; - n_arena_savegames->m_addornements = "v*"; - n_arena_savegames->m_address = base + offset; - n_arena_savegames->m_parent = p_node_parent; - n_arena_savegames->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_arena_savegames); - - field_name = "str_slaves"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest, field_name)); - auto n_str_slaves = new NodeSimple; - n_str_slaves->m_field_name = field_name; - n_str_slaves->m_df_type = DF_Type::Stl_string; - n_str_slaves->m_rdf_type = RDF_Type::Stl_string; - n_str_slaves->m_node_type = NodeType::Simple; - n_str_slaves->m_address = base + offset; - n_str_slaves->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_str_slaves); - - field_name = "str_chapter"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest, field_name)); - auto n_str_chapter = new NodeSimple; - n_str_chapter->m_field_name = field_name; - n_str_chapter->m_df_type = DF_Type::Stl_string; - n_str_chapter->m_rdf_type = RDF_Type::Stl_string; - n_str_chapter->m_node_type = NodeType::Simple; - n_str_chapter->m_address = base + offset; - n_str_chapter->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_str_chapter); - - field_name = "str_copyright"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest, field_name)); - auto n_str_copyright = new NodeSimple; - n_str_copyright->m_field_name = field_name; - n_str_copyright->m_df_type = DF_Type::Stl_string; - n_str_copyright->m_rdf_type = RDF_Type::Stl_string; - n_str_copyright->m_node_type = NodeType::Simple; - n_str_copyright->m_address = base + offset; - n_str_copyright->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_str_copyright); - - field_name = "str_version"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest, field_name)); - auto n_str_version = new NodeSimple; - n_str_version->m_field_name = field_name; - n_str_version->m_df_type = DF_Type::Stl_string; - n_str_version->m_rdf_type = RDF_Type::Stl_string; - n_str_version->m_node_type = NodeType::Simple; - n_str_version->m_address = base + offset; - n_str_version->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_str_version); - - field_name = "str_warning"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest, field_name)); - auto n_str_warning = new NodeSimple; - n_str_warning->m_field_name = field_name; - n_str_warning->m_df_type = DF_Type::Stl_string; - n_str_warning->m_rdf_type = RDF_Type::Stl_string; - n_str_warning->m_node_type = NodeType::Simple; - n_str_warning->m_address = base + offset; - n_str_warning->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_str_warning); - - field_name = "str_programmed"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest, field_name)); - auto n_str_programmed = new NodeSimple; - n_str_programmed->m_field_name = field_name; - n_str_programmed->m_df_type = DF_Type::Stl_string; - n_str_programmed->m_rdf_type = RDF_Type::Stl_string; - n_str_programmed->m_node_type = NodeType::Simple; - n_str_programmed->m_address = base + offset; - n_str_programmed->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_str_programmed); - - field_name = "str_designed"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest, field_name)); - auto n_str_designed = new NodeSimple; - n_str_designed->m_field_name = field_name; - n_str_designed->m_df_type = DF_Type::Stl_string; - n_str_designed->m_rdf_type = RDF_Type::Stl_string; - n_str_designed->m_node_type = NodeType::Simple; - n_str_designed->m_address = base + offset; - n_str_designed->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_str_designed); - - field_name = "str_visit"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest, field_name)); - auto n_str_visit = new NodeSimple; - n_str_visit->m_field_name = field_name; - n_str_visit->m_df_type = DF_Type::Stl_string; - n_str_visit->m_rdf_type = RDF_Type::Stl_string; - n_str_visit->m_node_type = NodeType::Simple; - n_str_visit->m_address = base + offset; - n_str_visit->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_str_visit); - - field_name = "str_site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest, field_name)); - auto n_str_site = new NodeSimple; - n_str_site->m_field_name = field_name; - n_str_site->m_df_type = DF_Type::Stl_string; - n_str_site->m_rdf_type = RDF_Type::Stl_string; - n_str_site->m_node_type = NodeType::Simple; - n_str_site->m_address = base + offset; - n_str_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_str_site); - - field_name = "arena_raw_folder"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest, field_name)); - auto n_arena_raw_folder = new NodeSimple; - n_arena_raw_folder->m_field_name = field_name; - n_arena_raw_folder->m_df_type = DF_Type::Stl_string; - n_arena_raw_folder->m_rdf_type = RDF_Type::Stl_string; - n_arena_raw_folder->m_node_type = NodeType::Simple; - n_arena_raw_folder->m_address = base + offset; - n_arena_raw_folder->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_arena_raw_folder); - - field_name = "unk_388"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest, field_name)); - auto n_unk_388 = new NodeSimple; - n_unk_388->m_field_name = field_name; - n_unk_388->m_df_type = DF_Type::int32_t; - n_unk_388->m_rdf_type = RDF_Type::int32_t; - n_unk_388->m_node_type = NodeType::Simple; - n_unk_388->m_address = base + offset; - n_unk_388->m_comment = "unset until loading arena"; - n_unk_388->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_388); - - field_name = "unk_38c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest, field_name)); - auto n_unk_38c = new NodeSimple; - n_unk_38c->m_field_name = field_name; - n_unk_38c->m_df_type = DF_Type::int8_t; - n_unk_38c->m_rdf_type = RDF_Type::int8_t; - n_unk_38c->m_node_type = NodeType::Simple; - n_unk_38c->m_address = base + offset; - n_unk_38c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_38c); - - field_name = "unk_390"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest, field_name)); - auto n_unk_390 = new NodeSimple; - n_unk_390->m_field_name = field_name; - n_unk_390->m_df_type = DF_Type::int32_t; - n_unk_390->m_rdf_type = RDF_Type::int32_t; - n_unk_390->m_node_type = NodeType::Simple; - n_unk_390->m_address = base + offset; - n_unk_390->m_comment = "unset until loading arena"; - n_unk_390->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_390); - - field_name = "unk_394"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest, field_name)); - auto n_unk_394 = new NodeSimple; - n_unk_394->m_field_name = field_name; - n_unk_394->m_df_type = DF_Type::int8_t; - n_unk_394->m_rdf_type = RDF_Type::int8_t; - n_unk_394->m_node_type = NodeType::Simple; - n_unk_394->m_address = base + offset; - n_unk_394->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_394); - - field_name = "unk_398"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest, field_name)); - auto n_unk_398 = new NodeSimple; - n_unk_398->m_field_name = field_name; - n_unk_398->m_df_type = DF_Type::int32_t; - n_unk_398->m_rdf_type = RDF_Type::int32_t; - n_unk_398->m_node_type = NodeType::Simple; - n_unk_398->m_address = base + offset; - n_unk_398->m_comment = "unset"; - n_unk_398->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_398); - - field_name = "unk_39c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest, field_name)); - auto n_unk_39c = new NodeSimple; - n_unk_39c->m_field_name = field_name; - n_unk_39c->m_df_type = DF_Type::int8_t; - n_unk_39c->m_rdf_type = RDF_Type::int8_t; - n_unk_39c->m_node_type = NodeType::Simple; - n_unk_39c->m_address = base + offset; - n_unk_39c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_39c); - - field_name = "unk_3a0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest, field_name)); - auto n_unk_3a0 = new NodeSimple; - n_unk_3a0->m_field_name = field_name; - n_unk_3a0->m_df_type = DF_Type::int32_t; - n_unk_3a0->m_rdf_type = RDF_Type::int32_t; - n_unk_3a0->m_node_type = NodeType::Simple; - n_unk_3a0->m_address = base + offset; - n_unk_3a0->m_comment = "unset"; - n_unk_3a0->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_3a0); - -} -void node_from_viewscreen_topicmeetingst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "popup"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_topicmeetingst, field_name)); - auto n_popup = new NodePointer; - n_popup->m_field_name = field_name; - n_popup->m_df_type = get_real_subtype(base+offset, DF_Type::dipscript_popup); - n_popup->m_rdf_type = RDF_Type::Pointer; - n_popup->m_node_type = NodeType::Pointer; - n_popup->m_addornements = "*"; - n_popup->m_address = base + offset; - n_popup->m_parent = p_node_parent; - n_popup->m_defined_in = "df.meeting.xml"; - n_popup->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_popup); - - field_name = "meeting"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_topicmeetingst, field_name)); - auto n_meeting = new NodePointer; - n_meeting->m_field_name = field_name; - n_meeting->m_df_type = get_real_subtype(base+offset, DF_Type::meeting_diplomat_info); - n_meeting->m_rdf_type = RDF_Type::Pointer; - n_meeting->m_node_type = NodeType::Pointer; - n_meeting->m_addornements = "*"; - n_meeting->m_address = base + offset; - n_meeting->m_parent = p_node_parent; - n_meeting->m_defined_in = "df.meeting.xml"; - n_meeting->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_meeting); - - field_name = "unk_138"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_topicmeetingst, field_name)); - auto n_unk_138 = new NodePointer; - n_unk_138->m_field_name = field_name; - n_unk_138->m_df_type = get_real_subtype(base+offset, DF_Type::unit_unk_138); - n_unk_138->m_rdf_type = RDF_Type::Pointer; - n_unk_138->m_node_type = NodeType::Pointer; - n_unk_138->m_addornements = "*"; - n_unk_138->m_address = base + offset; - n_unk_138->m_parent = p_node_parent; - n_unk_138->m_defined_in = "df.units.xml"; - n_unk_138->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_138); - - field_name = "text"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_topicmeetingst, field_name)); - auto n_text = new NodeVector; - n_text->m_field_name = field_name; - n_text->m_df_type = DF_Type::Stl_string; - n_text->m_rdf_type = RDF_Type::Vector; - n_text->m_node_type = NodeType::Vector; - n_text->m_addornements = "v*"; - n_text->m_address = base + offset; - n_text->m_parent = p_node_parent; - n_text->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_text); - -} -void node_from_viewscreen_topicmeeting_fill_land_holder_positionsst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "title"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_topicmeeting_fill_land_holder_positionsst, field_name)); - auto n_title= new NodePadding; - n_title->m_field_name = field_name; - n_title->m_df_type = DF_Type::Static_string; - n_title->m_rdf_type = RDF_Type::Static_string; - n_title->m_node_type = NodeType::StaticString; - n_title->m_address = base + offset; - n_title->m_size = 256; - n_title->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_title); - - field_name = "popup"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_topicmeeting_fill_land_holder_positionsst, field_name)); - auto n_popup = new NodePointer; - n_popup->m_field_name = field_name; - n_popup->m_df_type = get_real_subtype(base+offset, DF_Type::dipscript_popup); - n_popup->m_rdf_type = RDF_Type::Pointer; - n_popup->m_node_type = NodeType::Pointer; - n_popup->m_addornements = "*"; - n_popup->m_address = base + offset; - n_popup->m_parent = p_node_parent; - n_popup->m_defined_in = "df.meeting.xml"; - n_popup->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_popup); - - field_name = "meeting"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_topicmeeting_fill_land_holder_positionsst, field_name)); - auto n_meeting = new NodePointer; - n_meeting->m_field_name = field_name; - n_meeting->m_df_type = get_real_subtype(base+offset, DF_Type::meeting_diplomat_info); - n_meeting->m_rdf_type = RDF_Type::Pointer; - n_meeting->m_node_type = NodeType::Pointer; - n_meeting->m_addornements = "*"; - n_meeting->m_address = base + offset; - n_meeting->m_parent = p_node_parent; - n_meeting->m_defined_in = "df.meeting.xml"; - n_meeting->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_meeting); - - field_name = "entity_diplomat"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_topicmeeting_fill_land_holder_positionsst, field_name)); - auto n_entity_diplomat = new NodePointer; - n_entity_diplomat->m_field_name = field_name; - n_entity_diplomat->m_df_type = get_real_subtype(base+offset, DF_Type::historical_entity); - n_entity_diplomat->m_rdf_type = RDF_Type::Pointer; - n_entity_diplomat->m_node_type = NodeType::Pointer; - n_entity_diplomat->m_addornements = "*"; - n_entity_diplomat->m_address = base + offset; - n_entity_diplomat->m_parent = p_node_parent; - n_entity_diplomat->m_defined_in = "df.entities.xml"; - n_entity_diplomat->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_entity_diplomat); - - field_name = "entity_fortress"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_topicmeeting_fill_land_holder_positionsst, field_name)); - auto n_entity_fortress = new NodePointer; - n_entity_fortress->m_field_name = field_name; - n_entity_fortress->m_df_type = get_real_subtype(base+offset, DF_Type::historical_entity); - n_entity_fortress->m_rdf_type = RDF_Type::Pointer; - n_entity_fortress->m_node_type = NodeType::Pointer; - n_entity_fortress->m_addornements = "*"; - n_entity_fortress->m_address = base + offset; - n_entity_fortress->m_parent = p_node_parent; - n_entity_fortress->m_defined_in = "df.entities.xml"; - n_entity_fortress->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_entity_fortress); - - field_name = "position_ids"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_topicmeeting_fill_land_holder_positionsst, field_name)); - auto n_position_ids = new NodeVector; - n_position_ids->m_field_name = field_name; - n_position_ids->m_df_type = DF_Type::int32_t; - n_position_ids->m_rdf_type = RDF_Type::Vector; - n_position_ids->m_node_type = NodeType::Vector; - n_position_ids->m_addornements = "v"; - n_position_ids->m_address = base + offset; - n_position_ids->m_parent = p_node_parent; - n_position_ids->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_position_ids); - - field_name = "selected_histfig_ids"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_topicmeeting_fill_land_holder_positionsst, field_name)); - auto n_selected_histfig_ids = new NodeVector; - n_selected_histfig_ids->m_field_name = field_name; - n_selected_histfig_ids->m_df_type = DF_Type::int32_t; - n_selected_histfig_ids->m_rdf_type = RDF_Type::Vector; - n_selected_histfig_ids->m_node_type = NodeType::Vector; - n_selected_histfig_ids->m_addornements = "v"; - n_selected_histfig_ids->m_address = base + offset; - n_selected_histfig_ids->m_parent = p_node_parent; - n_selected_histfig_ids->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_selected_histfig_ids); - - field_name = "candidate_histfig_ids"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_topicmeeting_fill_land_holder_positionsst, field_name)); - auto n_candidate_histfig_ids = new NodeVector; - n_candidate_histfig_ids->m_field_name = field_name; - n_candidate_histfig_ids->m_df_type = DF_Type::int32_t; - n_candidate_histfig_ids->m_rdf_type = RDF_Type::Vector; - n_candidate_histfig_ids->m_node_type = NodeType::Vector; - n_candidate_histfig_ids->m_addornements = "v"; - n_candidate_histfig_ids->m_address = base + offset; - n_candidate_histfig_ids->m_parent = p_node_parent; - n_candidate_histfig_ids->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_candidate_histfig_ids); - - field_name = "position_cursor"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_topicmeeting_fill_land_holder_positionsst, field_name)); - auto n_position_cursor = new NodeSimple; - n_position_cursor->m_field_name = field_name; - n_position_cursor->m_df_type = DF_Type::int32_t; - n_position_cursor->m_rdf_type = RDF_Type::int32_t; - n_position_cursor->m_node_type = NodeType::Simple; - n_position_cursor->m_address = base + offset; - n_position_cursor->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_position_cursor); - - field_name = "cursor"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_topicmeeting_fill_land_holder_positionsst, field_name)); - auto n_cursor = new NodeSimple; - n_cursor->m_field_name = field_name; - n_cursor->m_df_type = DF_Type::int32_t; - n_cursor->m_rdf_type = RDF_Type::int32_t; - n_cursor->m_node_type = NodeType::Simple; - n_cursor->m_address = base + offset; - n_cursor->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cursor); - -} -void node_from_viewscreen_topicmeeting_takerequestsst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "title"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_topicmeeting_takerequestsst, field_name)); - auto n_title= new NodePadding; - n_title->m_field_name = field_name; - n_title->m_df_type = DF_Type::Static_string; - n_title->m_rdf_type = RDF_Type::Static_string; - n_title->m_node_type = NodeType::StaticString; - n_title->m_address = base + offset; - n_title->m_size = 256; - n_title->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_title); - - field_name = "popup"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_topicmeeting_takerequestsst, field_name)); - auto n_popup = new NodePointer; - n_popup->m_field_name = field_name; - n_popup->m_df_type = get_real_subtype(base+offset, DF_Type::dipscript_popup); - n_popup->m_rdf_type = RDF_Type::Pointer; - n_popup->m_node_type = NodeType::Pointer; - n_popup->m_addornements = "*"; - n_popup->m_address = base + offset; - n_popup->m_parent = p_node_parent; - n_popup->m_defined_in = "df.meeting.xml"; - n_popup->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_popup); - - field_name = "meeting"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_topicmeeting_takerequestsst, field_name)); - auto n_meeting = new NodePointer; - n_meeting->m_field_name = field_name; - n_meeting->m_df_type = get_real_subtype(base+offset, DF_Type::meeting_diplomat_info); - n_meeting->m_rdf_type = RDF_Type::Pointer; - n_meeting->m_node_type = NodeType::Pointer; - n_meeting->m_addornements = "*"; - n_meeting->m_address = base + offset; - n_meeting->m_parent = p_node_parent; - n_meeting->m_defined_in = "df.meeting.xml"; - n_meeting->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_meeting); - - field_name = "type_categories"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_topicmeeting_takerequestsst, field_name)); - auto n_type_categories = new NodeVector; - n_type_categories->m_field_name = field_name; - n_type_categories->m_df_type = DF_Type::entity_sell_category; - n_type_categories->m_rdf_type = RDF_Type::Vector; - n_type_categories->m_node_type = NodeType::Vector; - n_type_categories->m_enum_base = DF_Type::int16_t; - n_type_categories->m_defined_in = "df.entities.xml"; - n_type_categories->m_addornements = "v"; - n_type_categories->m_address = base + offset; - n_type_categories->m_parent = p_node_parent; - n_type_categories->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_type_categories); - - field_name = "type_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_topicmeeting_takerequestsst, field_name)); - auto n_type_idx = new NodeSimple; - n_type_idx->m_field_name = field_name; - n_type_idx->m_df_type = DF_Type::int32_t; - n_type_idx->m_rdf_type = RDF_Type::int32_t; - n_type_idx->m_node_type = NodeType::Simple; - n_type_idx->m_address = base + offset; - n_type_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type_idx); - - field_name = "good_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_topicmeeting_takerequestsst, field_name)); - auto n_good_idx = new NodeSimple; - n_good_idx->m_field_name = field_name; - n_good_idx->m_df_type = DF_Type::int32_t; - n_good_idx->m_rdf_type = RDF_Type::int32_t; - n_good_idx->m_node_type = NodeType::Simple; - n_good_idx->m_address = base + offset; - n_good_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_good_idx); - -} -void node_from_viewscreen_tradeagreementst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "requests"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradeagreementst, field_name)); - auto n_requests = new NodePointer; - n_requests->m_field_name = field_name; - n_requests->m_df_type = get_real_subtype(base+offset, DF_Type::entity_sell_prices); - n_requests->m_rdf_type = RDF_Type::Pointer; - n_requests->m_node_type = NodeType::Pointer; - n_requests->m_addornements = "*"; - n_requests->m_address = base + offset; - n_requests->m_parent = p_node_parent; - n_requests->m_defined_in = "df.entities.xml"; - n_requests->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_requests); - - field_name = "civ_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradeagreementst, field_name)); - auto n_civ_id = new NodeSimple; - n_civ_id->m_field_name = field_name; - n_civ_id->m_df_type = DF_Type::int32_t; - n_civ_id->m_rdf_type = RDF_Type::int32_t; - n_civ_id->m_node_type = NodeType::Simple; - n_civ_id->m_address = base + offset; - n_civ_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_civ_id); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradeagreementst, field_name)); - auto n_anon_1 = new NodeVector; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int16_t; - n_anon_1->m_rdf_type = RDF_Type::Vector; - n_anon_1->m_node_type = NodeType::Vector; - n_anon_1->m_addornements = "v"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "type_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradeagreementst, field_name)); - auto n_type_idx = new NodeSimple; - n_type_idx->m_field_name = field_name; - n_type_idx->m_df_type = DF_Type::int32_t; - n_type_idx->m_rdf_type = RDF_Type::int32_t; - n_type_idx->m_node_type = NodeType::Simple; - n_type_idx->m_address = base + offset; - n_type_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type_idx); - - field_name = "good_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradeagreementst, field_name)); - auto n_good_idx = new NodeSimple; - n_good_idx->m_field_name = field_name; - n_good_idx->m_df_type = DF_Type::int32_t; - n_good_idx->m_rdf_type = RDF_Type::int32_t; - n_good_idx->m_node_type = NodeType::Simple; - n_good_idx->m_address = base + offset; - n_good_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_good_idx); - - field_name = "title"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradeagreementst, field_name)); - auto n_title= new NodePadding; - n_title->m_field_name = field_name; - n_title->m_df_type = DF_Type::Static_string; - n_title->m_rdf_type = RDF_Type::Static_string; - n_title->m_node_type = NodeType::StaticString; - n_title->m_address = base + offset; - n_title->m_size = 256; - n_title->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_title); - - field_name = "civ"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradeagreementst, field_name)); - auto n_civ = new NodePointer; - n_civ->m_field_name = field_name; - n_civ->m_df_type = get_real_subtype(base+offset, DF_Type::historical_entity); - n_civ->m_rdf_type = RDF_Type::Pointer; - n_civ->m_node_type = NodeType::Pointer; - n_civ->m_addornements = "*"; - n_civ->m_address = base + offset; - n_civ->m_parent = p_node_parent; - n_civ->m_defined_in = "df.entities.xml"; - n_civ->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_civ); - -} -void node_from_viewscreen_tradegoodsst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "title"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradegoodsst, field_name)); - auto n_title= new NodePadding; - n_title->m_field_name = field_name; - n_title->m_df_type = DF_Type::Static_string; - n_title->m_rdf_type = RDF_Type::Static_string; - n_title->m_node_type = NodeType::StaticString; - n_title->m_address = base + offset; - n_title->m_size = 256; - n_title->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_title); - - field_name = "merchant_name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradegoodsst, field_name)); - auto n_merchant_name = new NodeSimple; - n_merchant_name->m_field_name = field_name; - n_merchant_name->m_df_type = DF_Type::Stl_string; - n_merchant_name->m_rdf_type = RDF_Type::Stl_string; - n_merchant_name->m_node_type = NodeType::Simple; - n_merchant_name->m_address = base + offset; - n_merchant_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_merchant_name); - - field_name = "merchant_entity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradegoodsst, field_name)); - auto n_merchant_entity = new NodeSimple; - n_merchant_entity->m_field_name = field_name; - n_merchant_entity->m_df_type = DF_Type::Stl_string; - n_merchant_entity->m_rdf_type = RDF_Type::Stl_string; - n_merchant_entity->m_node_type = NodeType::Simple; - n_merchant_entity->m_address = base + offset; - n_merchant_entity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_merchant_entity); - - field_name = "depot"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradegoodsst, field_name)); - auto n_depot = new NodePointer; - n_depot->m_field_name = field_name; - n_depot->m_df_type = get_real_subtype(base+offset, DF_Type::building_tradedepotst); - n_depot->m_rdf_type = RDF_Type::Pointer; - n_depot->m_node_type = NodeType::Pointer; - n_depot->m_addornements = "*"; - n_depot->m_address = base + offset; - n_depot->m_parent = p_node_parent; - n_depot->m_defined_in = "df.buildings.xml"; - n_depot->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_depot); - - field_name = "caravan"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradegoodsst, field_name)); - auto n_caravan = new NodePointer; - n_caravan->m_field_name = field_name; - n_caravan->m_df_type = get_real_subtype(base+offset, DF_Type::caravan_state); - n_caravan->m_rdf_type = RDF_Type::Pointer; - n_caravan->m_node_type = NodeType::Pointer; - n_caravan->m_addornements = "*"; - n_caravan->m_address = base + offset; - n_caravan->m_parent = p_node_parent; - n_caravan->m_defined_in = "df.entities.xml"; - n_caravan->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_caravan); - - field_name = "entity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradegoodsst, field_name)); - auto n_entity = new NodePointer; - n_entity->m_field_name = field_name; - n_entity->m_df_type = get_real_subtype(base+offset, DF_Type::historical_entity); - n_entity->m_rdf_type = RDF_Type::Pointer; - n_entity->m_node_type = NodeType::Pointer; - n_entity->m_addornements = "*"; - n_entity->m_address = base + offset; - n_entity->m_parent = p_node_parent; - n_entity->m_defined_in = "df.entities.xml"; - n_entity->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_entity); - - field_name = "is_unloading"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradegoodsst, field_name)); - auto n_is_unloading = new NodeSimple; - n_is_unloading->m_field_name = field_name; - n_is_unloading->m_df_type = DF_Type::Bool; - n_is_unloading->m_rdf_type = RDF_Type::Bool; - n_is_unloading->m_node_type = NodeType::Simple; - n_is_unloading->m_address = base + offset; - n_is_unloading->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_is_unloading); - - field_name = "has_traders"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradegoodsst, field_name)); - auto n_has_traders = new NodeSimple; - n_has_traders->m_field_name = field_name; - n_has_traders->m_df_type = DF_Type::Bool; - n_has_traders->m_rdf_type = RDF_Type::Bool; - n_has_traders->m_node_type = NodeType::Simple; - n_has_traders->m_address = base + offset; - n_has_traders->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_has_traders); - - field_name = "trader"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradegoodsst, field_name)); - auto n_trader = new NodePointer; - n_trader->m_field_name = field_name; - n_trader->m_df_type = get_real_subtype(base+offset, DF_Type::unit); - n_trader->m_rdf_type = RDF_Type::Pointer; - n_trader->m_node_type = NodeType::Pointer; - n_trader->m_addornements = "*"; - n_trader->m_address = base + offset; - n_trader->m_parent = p_node_parent; - n_trader->m_defined_in = "df.units.xml"; - n_trader->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_trader); - - field_name = "broker"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradegoodsst, field_name)); - auto n_broker = new NodePointer; - n_broker->m_field_name = field_name; - n_broker->m_df_type = get_real_subtype(base+offset, DF_Type::unit); - n_broker->m_rdf_type = RDF_Type::Pointer; - n_broker->m_node_type = NodeType::Pointer; - n_broker->m_addornements = "*"; - n_broker->m_address = base + offset; - n_broker->m_parent = p_node_parent; - n_broker->m_defined_in = "df.units.xml"; - n_broker->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_broker); - - field_name = "trader_items"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradegoodsst, field_name)); - auto n_trader_items = new NodeVector; - n_trader_items->m_field_name = field_name; - n_trader_items->m_df_type = DF_Type::item; - n_trader_items->m_rdf_type = RDF_Type::Vector; - n_trader_items->m_node_type = NodeType::Vector; - n_trader_items->m_defined_in = "df.items.xml"; - n_trader_items->m_addornements = "v*"; - n_trader_items->m_address = base + offset; - n_trader_items->m_parent = p_node_parent; - n_trader_items->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_trader_items); - - field_name = "broker_items"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradegoodsst, field_name)); - auto n_broker_items = new NodeVector; - n_broker_items->m_field_name = field_name; - n_broker_items->m_df_type = DF_Type::item; - n_broker_items->m_rdf_type = RDF_Type::Vector; - n_broker_items->m_node_type = NodeType::Vector; - n_broker_items->m_defined_in = "df.items.xml"; - n_broker_items->m_addornements = "v*"; - n_broker_items->m_address = base + offset; - n_broker_items->m_parent = p_node_parent; - n_broker_items->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_broker_items); - - field_name = "trader_selected"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradegoodsst, field_name)); - auto n_trader_selected = new NodeVector; - n_trader_selected->m_field_name = field_name; - n_trader_selected->m_df_type = DF_Type::Bool; - n_trader_selected->m_rdf_type = RDF_Type::Vector; - n_trader_selected->m_node_type = NodeType::Vector; - n_trader_selected->m_addornements = "v"; - n_trader_selected->m_address = base + offset; - n_trader_selected->m_parent = p_node_parent; - n_trader_selected->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_trader_selected); - - field_name = "broker_selected"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradegoodsst, field_name)); - auto n_broker_selected = new NodeVector; - n_broker_selected->m_field_name = field_name; - n_broker_selected->m_df_type = DF_Type::Bool; - n_broker_selected->m_rdf_type = RDF_Type::Vector; - n_broker_selected->m_node_type = NodeType::Vector; - n_broker_selected->m_addornements = "v"; - n_broker_selected->m_address = base + offset; - n_broker_selected->m_parent = p_node_parent; - n_broker_selected->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_broker_selected); - - field_name = "trader_count"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradegoodsst, field_name)); - auto n_trader_count = new NodeVector; - n_trader_count->m_field_name = field_name; - n_trader_count->m_df_type = DF_Type::int32_t; - n_trader_count->m_rdf_type = RDF_Type::Vector; - n_trader_count->m_node_type = NodeType::Vector; - n_trader_count->m_addornements = "v"; - n_trader_count->m_address = base + offset; - n_trader_count->m_parent = p_node_parent; - n_trader_count->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_trader_count); - - field_name = "broker_count"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradegoodsst, field_name)); - auto n_broker_count = new NodeVector; - n_broker_count->m_field_name = field_name; - n_broker_count->m_df_type = DF_Type::int32_t; - n_broker_count->m_rdf_type = RDF_Type::Vector; - n_broker_count->m_node_type = NodeType::Vector; - n_broker_count->m_addornements = "v"; - n_broker_count->m_address = base + offset; - n_broker_count->m_parent = p_node_parent; - n_broker_count->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_broker_count); - - field_name = "trader_cursor"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradegoodsst, field_name)); - auto n_trader_cursor = new NodeSimple; - n_trader_cursor->m_field_name = field_name; - n_trader_cursor->m_df_type = DF_Type::int32_t; - n_trader_cursor->m_rdf_type = RDF_Type::int32_t; - n_trader_cursor->m_node_type = NodeType::Simple; - n_trader_cursor->m_address = base + offset; - n_trader_cursor->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_trader_cursor); - - field_name = "broker_cursor"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradegoodsst, field_name)); - auto n_broker_cursor = new NodeSimple; - n_broker_cursor->m_field_name = field_name; - n_broker_cursor->m_df_type = DF_Type::int32_t; - n_broker_cursor->m_rdf_type = RDF_Type::int32_t; - n_broker_cursor->m_node_type = NodeType::Simple; - n_broker_cursor->m_address = base + offset; - n_broker_cursor->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_broker_cursor); - - field_name = "in_right_pane"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradegoodsst, field_name)); - auto n_in_right_pane = new NodeSimple; - n_in_right_pane->m_field_name = field_name; - n_in_right_pane->m_df_type = DF_Type::Bool; - n_in_right_pane->m_rdf_type = RDF_Type::Bool; - n_in_right_pane->m_node_type = NodeType::Simple; - n_in_right_pane->m_address = base + offset; - n_in_right_pane->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_in_right_pane); - - field_name = "trade_reply"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradegoodsst, field_name)); - auto n_trade_reply = new NodeSimple; - n_trade_reply->m_field_name = field_name; - n_trade_reply->m_df_type = DF_Type::int16_t; - n_trade_reply->m_rdf_type = RDF_Type::int16_t; - n_trade_reply->m_node_type = NodeType::Simple; - n_trade_reply->m_address = base + offset; - n_trade_reply->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_trade_reply); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradegoodsst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int16_t; - n_anon_1->m_rdf_type = RDF_Type::int16_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradegoodsst, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "has_offer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradegoodsst, field_name)); - auto n_has_offer = new NodeSimple; - n_has_offer->m_field_name = field_name; - n_has_offer->m_df_type = DF_Type::int8_t; - n_has_offer->m_rdf_type = RDF_Type::int8_t; - n_has_offer->m_node_type = NodeType::Simple; - n_has_offer->m_address = base + offset; - n_has_offer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_has_offer); - - field_name = "counteroffer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradegoodsst, field_name)); - auto n_counteroffer = new NodeVector; - n_counteroffer->m_field_name = field_name; - n_counteroffer->m_df_type = DF_Type::item; - n_counteroffer->m_rdf_type = RDF_Type::Vector; - n_counteroffer->m_node_type = NodeType::Vector; - n_counteroffer->m_defined_in = "df.items.xml"; - n_counteroffer->m_addornements = "v*"; - n_counteroffer->m_address = base + offset; - n_counteroffer->m_parent = p_node_parent; - n_counteroffer->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_counteroffer); - - field_name = "in_edit_count"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradegoodsst, field_name)); - auto n_in_edit_count = new NodeSimple; - n_in_edit_count->m_field_name = field_name; - n_in_edit_count->m_df_type = DF_Type::int8_t; - n_in_edit_count->m_rdf_type = RDF_Type::int8_t; - n_in_edit_count->m_node_type = NodeType::Simple; - n_in_edit_count->m_address = base + offset; - n_in_edit_count->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_in_edit_count); - - field_name = "edit_count"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradegoodsst, field_name)); - auto n_edit_count = new NodeSimple; - n_edit_count->m_field_name = field_name; - n_edit_count->m_df_type = DF_Type::Stl_string; - n_edit_count->m_rdf_type = RDF_Type::Stl_string; - n_edit_count->m_node_type = NodeType::Simple; - n_edit_count->m_address = base + offset; - n_edit_count->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_edit_count); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradegoodsst, field_name)); - auto n_anon_3 = new NodeVector; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::Void; - n_anon_3->m_rdf_type = RDF_Type::Vector; - n_anon_3->m_node_type = NodeType::Vector; - n_anon_3->m_addornements = "v"; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - n_anon_3->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradegoodsst, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - -} -void node_from_viewscreen_tradelistst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "cursor"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradelistst, field_name)); - auto n_cursor = new NodeSimple; - n_cursor->m_field_name = field_name; - n_cursor->m_df_type = DF_Type::int32_t; - n_cursor->m_rdf_type = RDF_Type::int32_t; - n_cursor->m_node_type = NodeType::Simple; - n_cursor->m_address = base + offset; - n_cursor->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cursor); - - field_name = "depot"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradelistst, field_name)); - auto n_depot = new NodePointer; - n_depot->m_field_name = field_name; - n_depot->m_df_type = get_real_subtype(base+offset, DF_Type::building_tradedepotst); - n_depot->m_rdf_type = RDF_Type::Pointer; - n_depot->m_node_type = NodeType::Pointer; - n_depot->m_addornements = "*"; - n_depot->m_address = base + offset; - n_depot->m_parent = p_node_parent; - n_depot->m_defined_in = "df.buildings.xml"; - n_depot->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_depot); - - field_name = "caravans"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradelistst, field_name)); - auto n_caravans = new NodeVector; - n_caravans->m_field_name = field_name; - n_caravans->m_df_type = DF_Type::caravan_state; - n_caravans->m_rdf_type = RDF_Type::Vector; - n_caravans->m_node_type = NodeType::Vector; - n_caravans->m_defined_in = "df.entities.xml"; - n_caravans->m_addornements = "v*"; - n_caravans->m_address = base + offset; - n_caravans->m_parent = p_node_parent; - n_caravans->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_caravans); - -} -void node_from_viewscreen_treasurelistst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "sel_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_treasurelistst, field_name)); - auto n_sel_idx = new NodeSimple; - n_sel_idx->m_field_name = field_name; - n_sel_idx->m_df_type = DF_Type::int32_t; - n_sel_idx->m_rdf_type = RDF_Type::int32_t; - n_sel_idx->m_node_type = NodeType::Simple; - n_sel_idx->m_address = base + offset; - n_sel_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sel_idx); - -} -void node_from_viewscreen_unitst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unit"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_unitst, field_name)); - auto n_unit = new NodePointer; - n_unit->m_field_name = field_name; - n_unit->m_df_type = get_real_subtype(base+offset, DF_Type::unit); - n_unit->m_rdf_type = RDF_Type::Pointer; - n_unit->m_node_type = NodeType::Pointer; - n_unit->m_addornements = "*"; - n_unit->m_address = base + offset; - n_unit->m_parent = p_node_parent; - n_unit->m_defined_in = "df.units.xml"; - n_unit->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unit); - - field_name = "noble_assignments"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_unitst, field_name)); - auto n_noble_assignments = new NodePointer; - n_noble_assignments->m_field_name = field_name; - n_noble_assignments->m_df_type = get_real_subtype(base+offset, DF_Type::entity_position_assignment); - n_noble_assignments->m_rdf_type = RDF_Type::Pointer; - n_noble_assignments->m_node_type = NodeType::Pointer; - n_noble_assignments->m_addornements = "*v*"; - n_noble_assignments->m_address = base + offset; - n_noble_assignments->m_parent = p_node_parent; - n_noble_assignments->m_defined_in = "df.entities.xml"; - n_noble_assignments->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_noble_assignments); - - field_name = "noble_histfigs"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_unitst, field_name)); - auto n_noble_histfigs = new NodePointer; - n_noble_histfigs->m_field_name = field_name; - n_noble_histfigs->m_df_type = get_real_subtype(base+offset, DF_Type::int32_t); - n_noble_histfigs->m_rdf_type = RDF_Type::Pointer; - n_noble_histfigs->m_node_type = NodeType::Pointer; - n_noble_histfigs->m_addornements = "*v"; - n_noble_histfigs->m_address = base + offset; - n_noble_histfigs->m_parent = p_node_parent; - n_noble_histfigs->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_noble_histfigs); - - field_name = "noble_groups"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_unitst, field_name)); - auto n_noble_groups = new NodePointer; - n_noble_groups->m_field_name = field_name; - n_noble_groups->m_df_type = get_real_subtype(base+offset, DF_Type::int32_t); - n_noble_groups->m_rdf_type = RDF_Type::Pointer; - n_noble_groups->m_node_type = NodeType::Pointer; - n_noble_groups->m_addornements = "*v"; - n_noble_groups->m_address = base + offset; - n_noble_groups->m_parent = p_node_parent; - n_noble_groups->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_noble_groups); - - field_name = "has_kills"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_unitst, field_name)); - auto n_has_kills = new NodeSimple; - n_has_kills->m_field_name = field_name; - n_has_kills->m_df_type = DF_Type::Bool; - n_has_kills->m_rdf_type = RDF_Type::Bool; - n_has_kills->m_node_type = NodeType::Simple; - n_has_kills->m_address = base + offset; - n_has_kills->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_has_kills); - -} -void node_from_viewscreen_unitlistst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "allow_zoom"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_unitlistst, field_name)); - auto n_allow_zoom = new NodeSimple; - n_allow_zoom->m_field_name = field_name; - n_allow_zoom->m_df_type = DF_Type::Bool; - n_allow_zoom->m_rdf_type = RDF_Type::Bool; - n_allow_zoom->m_node_type = NodeType::Simple; - n_allow_zoom->m_address = base + offset; - n_allow_zoom->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_allow_zoom); - - field_name = "page"; - auto n_page = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_unitlistst, field_name)); - n_page->m_field_name = field_name; - n_page->m_df_type = DF_Type::viewscreen_unitlist_page; - n_page->m_rdf_type = RDF_Type::Enum; - n_page->m_node_type = NodeType::Enum; - n_page->m_base_type = DF_Type::int32_t; - n_page->m_enum_type = "viewscreen_unitlist_page"; - n_page->m_address = base + offset; - n_page->m_defined_in = "df.viewscreen.xml"; - n_page->m_first_value = 0; - n_page->m_last_value = 3; - n_page->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_page); - - field_name = "cursor_pos"; - auto n_cursor_pos = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_unitlistst, field_name)); - n_cursor_pos->m_field_name = field_name; - n_cursor_pos->m_df_type = DF_Type::int32_t; - n_cursor_pos->m_rdf_type = RDF_Type::Array; - n_cursor_pos->m_node_type = NodeType::Array; - n_cursor_pos->m_index_enum = DF_Type::viewscreen_unitlist_page; - n_cursor_pos->m_addornements = "[4"; - n_cursor_pos->m_array_size = 4; - n_cursor_pos->m_address = base + offset; - n_cursor_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cursor_pos); - - field_name = "jobs"; - auto n_jobs = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_unitlistst, field_name)); - n_jobs->m_field_name = field_name; - n_jobs->m_df_type = DF_Type::job; - n_jobs->m_rdf_type = RDF_Type::Array; - n_jobs->m_node_type = NodeType::Array; - n_jobs->m_index_enum = DF_Type::viewscreen_unitlist_page; - n_jobs->m_defined_in = "df.jobs.xml"; - n_jobs->m_addornements = "[4v*"; - n_jobs->m_array_size = 4; - n_jobs->m_address = base + offset; - n_jobs->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_jobs); - - field_name = "units"; - auto n_units = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_unitlistst, field_name)); - n_units->m_field_name = field_name; - n_units->m_df_type = DF_Type::unit; - n_units->m_rdf_type = RDF_Type::Array; - n_units->m_node_type = NodeType::Array; - n_units->m_index_enum = DF_Type::viewscreen_unitlist_page; - n_units->m_defined_in = "df.units.xml"; - n_units->m_addornements = "[4v*"; - n_units->m_array_size = 4; - n_units->m_address = base + offset; - n_units->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_units); - -} -void node_from_viewscreen_wagesst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "profession_category"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_wagesst, field_name)); - auto n_profession_category = new NodeSimple; - n_profession_category->m_field_name = field_name; - n_profession_category->m_df_type = DF_Type::int16_t; - n_profession_category->m_rdf_type = RDF_Type::int16_t; - n_profession_category->m_node_type = NodeType::Simple; - n_profession_category->m_address = base + offset; - n_profession_category->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_profession_category); - -} -void node_from_viewscreen_workquota_conditionst__T_traits(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst__T_traits, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::viewscreen_workquota_conditionst__T_traits__T_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst__T_traits, field_name)); - auto n_type = new NodeSimple; - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::int32_t; - n_type->m_rdf_type = RDF_Type::int32_t; - n_type->m_node_type = NodeType::Simple; - n_type->m_address = base + offset; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - - field_name = "item_desc"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst__T_traits, field_name)); - auto n_item_desc = new NodeSimple; - n_item_desc->m_field_name = field_name; - n_item_desc->m_df_type = DF_Type::Stl_string; - n_item_desc->m_rdf_type = RDF_Type::Stl_string; - n_item_desc->m_node_type = NodeType::Simple; - n_item_desc->m_address = base + offset; - n_item_desc->m_comment = "e.g. FAT"; - n_item_desc->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_desc); - - field_name = "product_desc"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst__T_traits, field_name)); - auto n_product_desc = new NodeSimple; - n_product_desc->m_field_name = field_name; - n_product_desc->m_df_type = DF_Type::Stl_string; - n_product_desc->m_rdf_type = RDF_Type::Stl_string; - n_product_desc->m_node_type = NodeType::Simple; - n_product_desc->m_address = base + offset; - n_product_desc->m_comment = "e.g. BAG_ITEM (-producing)"; - n_product_desc->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_product_desc); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst__T_traits, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst__T_traits, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst__T_traits, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst__T_traits, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst__T_traits, field_name)); - auto n_name = new NodeSimple; - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Stl_string; - n_name->m_node_type = NodeType::Simple; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - -} -void node_from_viewscreen_workquota_conditionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "order"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst, field_name)); - auto n_order = new NodePointer; - n_order->m_field_name = field_name; - n_order->m_df_type = get_real_subtype(base+offset, DF_Type::manager_order); - n_order->m_rdf_type = RDF_Type::Pointer; - n_order->m_node_type = NodeType::Pointer; - n_order->m_addornements = "*"; - n_order->m_address = base + offset; - n_order->m_parent = p_node_parent; - n_order->m_defined_in = "df.jobs.xml"; - n_order->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_order); - - field_name = "cond_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst, field_name)); - auto n_cond_idx = new NodeSimple; - n_cond_idx->m_field_name = field_name; - n_cond_idx->m_df_type = DF_Type::int32_t; - n_cond_idx->m_rdf_type = RDF_Type::int32_t; - n_cond_idx->m_node_type = NodeType::Simple; - n_cond_idx->m_address = base + offset; - n_cond_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cond_idx); - - field_name = "satisfied_items"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst, field_name)); - auto n_satisfied_items = new NodeVector; - n_satisfied_items->m_field_name = field_name; - n_satisfied_items->m_df_type = DF_Type::Bool; - n_satisfied_items->m_rdf_type = RDF_Type::Vector; - n_satisfied_items->m_node_type = NodeType::Vector; - n_satisfied_items->m_addornements = "v"; - n_satisfied_items->m_address = base + offset; - n_satisfied_items->m_parent = p_node_parent; - n_satisfied_items->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_satisfied_items); - - field_name = "satisfied_orders"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst, field_name)); - auto n_satisfied_orders = new NodeVector; - n_satisfied_orders->m_field_name = field_name; - n_satisfied_orders->m_df_type = DF_Type::Bool; - n_satisfied_orders->m_rdf_type = RDF_Type::Vector; - n_satisfied_orders->m_node_type = NodeType::Vector; - n_satisfied_orders->m_addornements = "v"; - n_satisfied_orders->m_address = base + offset; - n_satisfied_orders->m_parent = p_node_parent; - n_satisfied_orders->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_satisfied_orders); - - field_name = "filter"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst, field_name)); - auto n_filter = new NodeSimple; - n_filter->m_field_name = field_name; - n_filter->m_df_type = DF_Type::Stl_string; - n_filter->m_rdf_type = RDF_Type::Stl_string; - n_filter->m_node_type = NodeType::Simple; - n_filter->m_address = base + offset; - n_filter->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_filter); - - field_name = "list_entries"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst, field_name)); - auto n_list_entries = new NodeVector; - n_list_entries->m_field_name = field_name; - n_list_entries->m_df_type = DF_Type::Stl_string; - n_list_entries->m_rdf_type = RDF_Type::Vector; - n_list_entries->m_node_type = NodeType::Vector; - n_list_entries->m_addornements = "v*"; - n_list_entries->m_address = base + offset; - n_list_entries->m_parent = p_node_parent; - n_list_entries->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_list_entries); - - field_name = "list_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst, field_name)); - auto n_list_idx = new NodeSimple; - n_list_idx->m_field_name = field_name; - n_list_idx->m_df_type = DF_Type::int32_t; - n_list_idx->m_rdf_type = RDF_Type::int32_t; - n_list_idx->m_node_type = NodeType::Simple; - n_list_idx->m_address = base + offset; - n_list_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_list_idx); - - field_name = "mode"; - auto n_mode = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst, field_name)); - n_mode->m_field_name = field_name; - n_mode->m_df_type = DF_Type::viewscreen_workquota_conditionst__T_mode; - n_mode->m_rdf_type = RDF_Type::Enum; - n_mode->m_node_type = NodeType::Enum; - n_mode->m_base_type = DF_Type::int32_t; - n_mode->m_enum_type = "viewscreen_workquota_conditionst::T_mode"; - n_mode->m_address = base + offset; - n_mode->m_first_value = -1; - n_mode->m_last_value = 2; - n_mode->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mode); - - field_name = "item_types"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst, field_name)); - auto n_item_types = new NodeVector; - n_item_types->m_field_name = field_name; - n_item_types->m_df_type = DF_Type::int16_t; - n_item_types->m_rdf_type = RDF_Type::Vector; - n_item_types->m_node_type = NodeType::Vector; - n_item_types->m_addornements = "v"; - n_item_types->m_address = base + offset; - n_item_types->m_parent = p_node_parent; - n_item_types->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_item_types); - - field_name = "item_subtypes"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst, field_name)); - auto n_item_subtypes = new NodeVector; - n_item_subtypes->m_field_name = field_name; - n_item_subtypes->m_df_type = DF_Type::int16_t; - n_item_subtypes->m_rdf_type = RDF_Type::Vector; - n_item_subtypes->m_node_type = NodeType::Vector; - n_item_subtypes->m_addornements = "v"; - n_item_subtypes->m_address = base + offset; - n_item_subtypes->m_parent = p_node_parent; - n_item_subtypes->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_item_subtypes); - - field_name = "item_types_visible"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst, field_name)); - auto n_item_types_visible = new NodeVector; - n_item_types_visible->m_field_name = field_name; - n_item_types_visible->m_df_type = DF_Type::int16_t; - n_item_types_visible->m_rdf_type = RDF_Type::Vector; - n_item_types_visible->m_node_type = NodeType::Vector; - n_item_types_visible->m_addornements = "v"; - n_item_types_visible->m_address = base + offset; - n_item_types_visible->m_parent = p_node_parent; - n_item_types_visible->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_item_types_visible); - - field_name = "item_subtypes_visible"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst, field_name)); - auto n_item_subtypes_visible = new NodeVector; - n_item_subtypes_visible->m_field_name = field_name; - n_item_subtypes_visible->m_df_type = DF_Type::int16_t; - n_item_subtypes_visible->m_rdf_type = RDF_Type::Vector; - n_item_subtypes_visible->m_node_type = NodeType::Vector; - n_item_subtypes_visible->m_addornements = "v"; - n_item_subtypes_visible->m_address = base + offset; - n_item_subtypes_visible->m_parent = p_node_parent; - n_item_subtypes_visible->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_item_subtypes_visible); - - field_name = "mat_types"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst, field_name)); - auto n_mat_types = new NodeVector; - n_mat_types->m_field_name = field_name; - n_mat_types->m_df_type = DF_Type::int16_t; - n_mat_types->m_rdf_type = RDF_Type::Vector; - n_mat_types->m_node_type = NodeType::Vector; - n_mat_types->m_addornements = "v"; - n_mat_types->m_address = base + offset; - n_mat_types->m_parent = p_node_parent; - n_mat_types->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_mat_types); - - field_name = "mat_indices"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst, field_name)); - auto n_mat_indices = new NodeVector; - n_mat_indices->m_field_name = field_name; - n_mat_indices->m_df_type = DF_Type::int32_t; - n_mat_indices->m_rdf_type = RDF_Type::Vector; - n_mat_indices->m_node_type = NodeType::Vector; - n_mat_indices->m_addornements = "v"; - n_mat_indices->m_address = base + offset; - n_mat_indices->m_parent = p_node_parent; - n_mat_indices->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_mat_indices); - - field_name = "list_unk3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst, field_name)); - auto n_list_unk3 = new NodeVector; - n_list_unk3->m_field_name = field_name; - n_list_unk3->m_df_type = DF_Type::int16_t; - n_list_unk3->m_rdf_type = RDF_Type::Vector; - n_list_unk3->m_node_type = NodeType::Vector; - n_list_unk3->m_addornements = "v"; - n_list_unk3->m_address = base + offset; - n_list_unk3->m_parent = p_node_parent; - n_list_unk3->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_list_unk3); - - field_name = "list_visible"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst, field_name)); - auto n_list_visible = new NodeVector; - n_list_visible->m_field_name = field_name; - n_list_visible->m_df_type = DF_Type::int16_t; - n_list_visible->m_rdf_type = RDF_Type::Vector; - n_list_visible->m_node_type = NodeType::Vector; - n_list_visible->m_addornements = "v"; - n_list_visible->m_address = base + offset; - n_list_visible->m_parent = p_node_parent; - n_list_visible->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_list_visible); - - field_name = "traits"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst, field_name)); - auto n_traits = new NodeVector; - n_traits->m_field_name = field_name; - n_traits->m_df_type = DF_Type::viewscreen_workquota_conditionst__T_traits; - n_traits->m_rdf_type = RDF_Type::Vector; - n_traits->m_node_type = NodeType::Vector; - n_traits->m_addornements = "v*"; - n_traits->m_address = base + offset; - n_traits->m_parent = p_node_parent; - n_traits->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_traits); - - field_name = "traits_visible"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst, field_name)); - auto n_traits_visible = new NodeVector; - n_traits_visible->m_field_name = field_name; - n_traits_visible->m_df_type = DF_Type::int32_t; - n_traits_visible->m_rdf_type = RDF_Type::Vector; - n_traits_visible->m_node_type = NodeType::Vector; - n_traits_visible->m_addornements = "v"; - n_traits_visible->m_address = base + offset; - n_traits_visible->m_parent = p_node_parent; - n_traits_visible->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_traits_visible); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int8_t; - n_anon_1->m_rdf_type = RDF_Type::int8_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst, field_name)); - auto n_anon_2 = new NodeVector; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::Void; - n_anon_2->m_rdf_type = RDF_Type::Vector; - n_anon_2->m_node_type = NodeType::Vector; - n_anon_2->m_addornements = "v"; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - n_anon_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "item_count_edit"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst, field_name)); - auto n_item_count_edit = new NodeSimple; - n_item_count_edit->m_field_name = field_name; - n_item_count_edit->m_df_type = DF_Type::Bool; - n_item_count_edit->m_rdf_type = RDF_Type::Bool; - n_item_count_edit->m_node_type = NodeType::Simple; - n_item_count_edit->m_address = base + offset; - n_item_count_edit->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_count_edit); - - field_name = "item_count_entry"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst, field_name)); - auto n_item_count_entry = new NodeSimple; - n_item_count_entry->m_field_name = field_name; - n_item_count_entry->m_df_type = DF_Type::Stl_string; - n_item_count_entry->m_rdf_type = RDF_Type::Stl_string; - n_item_count_entry->m_node_type = NodeType::Simple; - n_item_count_entry->m_address = base + offset; - n_item_count_entry->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_count_entry); - -} -void node_from_viewscreen_workquota_detailsst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_detailsst, field_name)); - auto n_anon_1 = new NodePointer; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_anon_1->m_rdf_type = RDF_Type::Pointer; - n_anon_1->m_node_type = NodeType::Pointer; - n_anon_1->m_addornements = "*"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_viewscreen_workshop_profilest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "building_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workshop_profilest, field_name)); - auto n_building_id = new NodeSimple; - n_building_id->m_field_name = field_name; - n_building_id->m_df_type = DF_Type::int32_t; - n_building_id->m_rdf_type = RDF_Type::int32_t; - n_building_id->m_node_type = NodeType::Simple; - n_building_id->m_address = base + offset; - n_building_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_building_id); - - field_name = "profile"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workshop_profilest, field_name)); - auto n_profile = new NodePointer; - n_profile->m_field_name = field_name; - n_profile->m_df_type = get_real_subtype(base+offset, DF_Type::workshop_profile); - n_profile->m_rdf_type = RDF_Type::Pointer; - n_profile->m_node_type = NodeType::Pointer; - n_profile->m_addornements = "*"; - n_profile->m_address = base + offset; - n_profile->m_parent = p_node_parent; - n_profile->m_defined_in = "df.buildings.xml"; - n_profile->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_profile); - - field_name = "tab"; - auto n_tab = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workshop_profilest, field_name)); - n_tab->m_field_name = field_name; - n_tab->m_df_type = DF_Type::viewscreen_workshop_profilest__T_tab; - n_tab->m_rdf_type = RDF_Type::Enum; - n_tab->m_node_type = NodeType::Enum; - n_tab->m_base_type = DF_Type::int32_t; - n_tab->m_enum_type = "viewscreen_workshop_profilest::T_tab"; - n_tab->m_address = base + offset; - n_tab->m_first_value = 0; - n_tab->m_last_value = 2; - n_tab->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tab); - - field_name = "workers"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workshop_profilest, field_name)); - auto n_workers = new NodeVector; - n_workers->m_field_name = field_name; - n_workers->m_df_type = DF_Type::unit; - n_workers->m_rdf_type = RDF_Type::Vector; - n_workers->m_node_type = NodeType::Vector; - n_workers->m_defined_in = "df.units.xml"; - n_workers->m_addornements = "v*"; - n_workers->m_address = base + offset; - n_workers->m_parent = p_node_parent; - n_workers->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_workers); - - field_name = "worker_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workshop_profilest, field_name)); - auto n_worker_idx = new NodeSimple; - n_worker_idx->m_field_name = field_name; - n_worker_idx->m_df_type = DF_Type::int32_t; - n_worker_idx->m_rdf_type = RDF_Type::int32_t; - n_worker_idx->m_node_type = NodeType::Simple; - n_worker_idx->m_address = base + offset; - n_worker_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_worker_idx); - - field_name = "orders"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workshop_profilest, field_name)); - auto n_orders = new NodeVector; - n_orders->m_field_name = field_name; - n_orders->m_df_type = DF_Type::manager_order; - n_orders->m_rdf_type = RDF_Type::Vector; - n_orders->m_node_type = NodeType::Vector; - n_orders->m_defined_in = "df.jobs.xml"; - n_orders->m_addornements = "v*"; - n_orders->m_address = base + offset; - n_orders->m_parent = p_node_parent; - n_orders->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_orders); - - field_name = "order_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workshop_profilest, field_name)); - auto n_order_idx = new NodeSimple; - n_order_idx->m_field_name = field_name; - n_order_idx->m_df_type = DF_Type::int32_t; - n_order_idx->m_rdf_type = RDF_Type::int32_t; - n_order_idx->m_node_type = NodeType::Simple; - n_order_idx->m_address = base + offset; - n_order_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_order_idx); - - field_name = "labors"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workshop_profilest, field_name)); - auto n_labors = new NodeVector; - n_labors->m_field_name = field_name; - n_labors->m_df_type = DF_Type::unit_labor; - n_labors->m_rdf_type = RDF_Type::Vector; - n_labors->m_node_type = NodeType::Vector; - n_labors->m_enum_base = enum_base_type(n_labors->m_df_type); - n_labors->m_defined_in = "df.skills.xml"; - n_labors->m_addornements = "v"; - n_labors->m_address = base + offset; - n_labors->m_parent = p_node_parent; - n_labors->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_labors); - - field_name = "labor_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workshop_profilest, field_name)); - auto n_labor_idx = new NodeSimple; - n_labor_idx->m_field_name = field_name; - n_labor_idx->m_df_type = DF_Type::int32_t; - n_labor_idx->m_rdf_type = RDF_Type::int32_t; - n_labor_idx->m_node_type = NodeType::Simple; - n_labor_idx->m_address = base + offset; - n_labor_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_labor_idx); - -} -void node_from_viewscreen_update_regionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::viewscreen; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_viewscreen(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_update_regionst, field_name)); - auto n_year = new NodeSimple; - n_year->m_field_name = field_name; - n_year->m_df_type = DF_Type::int32_t; - n_year->m_rdf_type = RDF_Type::int32_t; - n_year->m_node_type = NodeType::Simple; - n_year->m_address = base + offset; - n_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_year); - - field_name = "year_tick"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_update_regionst, field_name)); - auto n_year_tick = new NodeSimple; - n_year_tick->m_field_name = field_name; - n_year_tick->m_df_type = DF_Type::int32_t; - n_year_tick->m_rdf_type = RDF_Type::int32_t; - n_year_tick->m_node_type = NodeType::Simple; - n_year_tick->m_address = base + offset; - n_year_tick->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_year_tick); - -} -void node_from_world_site_unk130__T_unk_4(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk_0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_unk130__T_unk_4, field_name)); - auto n_unk_0 = new NodeSimple; - n_unk_0->m_field_name = field_name; - n_unk_0->m_df_type = DF_Type::int32_t; - n_unk_0->m_rdf_type = RDF_Type::int32_t; - n_unk_0->m_node_type = NodeType::Simple; - n_unk_0->m_address = base + offset; - n_unk_0->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_0); - - field_name = "index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_unk130__T_unk_4, field_name)); - auto n_index = new NodeSimple; - n_index->m_field_name = field_name; - n_index->m_df_type = DF_Type::int32_t; - n_index->m_rdf_type = RDF_Type::int32_t; - n_index->m_node_type = NodeType::Simple; - n_index->m_address = base + offset; - n_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_index); - - field_name = "unk_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_unk130__T_unk_4, field_name)); - auto n_unk_8 = new NodeSimple; - n_unk_8->m_field_name = field_name; - n_unk_8->m_df_type = DF_Type::int32_t; - n_unk_8->m_rdf_type = RDF_Type::int32_t; - n_unk_8->m_node_type = NodeType::Simple; - n_unk_8->m_address = base + offset; - n_unk_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_8); - - field_name = "unk_c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_unk130__T_unk_4, field_name)); - auto n_unk_c = new NodeVector; - n_unk_c->m_field_name = field_name; - n_unk_c->m_df_type = DF_Type::int32_t; - n_unk_c->m_rdf_type = RDF_Type::Vector; - n_unk_c->m_node_type = NodeType::Vector; - n_unk_c->m_addornements = "v"; - n_unk_c->m_address = base + offset; - n_unk_c->m_parent = p_node_parent; - n_unk_c->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_c); - -} -void node_from_world_site_unk130(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_unk130, field_name)); - auto n_index = new NodeSimple; - n_index->m_field_name = field_name; - n_index->m_df_type = DF_Type::int32_t; - n_index->m_rdf_type = RDF_Type::int32_t; - n_index->m_node_type = NodeType::Simple; - n_index->m_address = base + offset; - n_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_index); - - field_name = "unk_4"; - auto n_unk_4 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_unk130, field_name)); - n_unk_4->m_field_name = field_name; - n_unk_4->m_df_type = DF_Type::world_site_unk130__T_unk_4; - n_unk_4->m_rdf_type = RDF_Type::Array; - n_unk_4->m_node_type = NodeType::Array; - n_unk_4->m_addornements = "[4v*"; - n_unk_4->m_array_size = 4; - n_unk_4->m_address = base + offset; - n_unk_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_4); - -} -void node_from_embark_note(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "tile"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_note, field_name)); - auto n_tile = new NodeSimple; - n_tile->m_field_name = field_name; - n_tile->m_df_type = DF_Type::int8_t; - n_tile->m_rdf_type = RDF_Type::int8_t; - n_tile->m_node_type = NodeType::Simple; - n_tile->m_address = base + offset; - n_tile->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tile); - - field_name = "fg_color"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_note, field_name)); - auto n_fg_color = new NodeSimple; - n_fg_color->m_field_name = field_name; - n_fg_color->m_df_type = DF_Type::int16_t; - n_fg_color->m_rdf_type = RDF_Type::int16_t; - n_fg_color->m_node_type = NodeType::Simple; - n_fg_color->m_address = base + offset; - n_fg_color->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_fg_color); - - field_name = "bg_color"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_note, field_name)); - auto n_bg_color = new NodeSimple; - n_bg_color->m_field_name = field_name; - n_bg_color->m_df_type = DF_Type::int16_t; - n_bg_color->m_rdf_type = RDF_Type::int16_t; - n_bg_color->m_node_type = NodeType::Simple; - n_bg_color->m_address = base + offset; - n_bg_color->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_bg_color); - - field_name = "name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_note, field_name)); - auto n_name = new NodeSimple; - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Stl_string; - n_name->m_node_type = NodeType::Simple; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "pos"; - auto n_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_note, field_name)); - n_pos->m_field_name = field_name; - n_pos->m_df_type = DF_Type::coord2d; - n_pos->m_rdf_type = RDF_Type::Struct; - n_pos->m_node_type = NodeType::Compound; - n_pos->m_address = base + offset; - n_pos->m_defined_in = "df.map.xml"; - n_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pos); - - field_name = "left"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_note, field_name)); - auto n_left = new NodeSimple; - n_left->m_field_name = field_name; - n_left->m_df_type = DF_Type::int16_t; - n_left->m_rdf_type = RDF_Type::int16_t; - n_left->m_node_type = NodeType::Simple; - n_left->m_address = base + offset; - n_left->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_left); - - field_name = "right"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_note, field_name)); - auto n_right = new NodeSimple; - n_right->m_field_name = field_name; - n_right->m_df_type = DF_Type::int16_t; - n_right->m_rdf_type = RDF_Type::int16_t; - n_right->m_node_type = NodeType::Simple; - n_right->m_address = base + offset; - n_right->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_right); - - field_name = "top"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_note, field_name)); - auto n_top = new NodeSimple; - n_top->m_field_name = field_name; - n_top->m_df_type = DF_Type::int16_t; - n_top->m_rdf_type = RDF_Type::int16_t; - n_top->m_node_type = NodeType::Simple; - n_top->m_address = base + offset; - n_top->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_top); - - field_name = "bottom"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_note, field_name)); - auto n_bottom = new NodeSimple; - n_bottom->m_field_name = field_name; - n_bottom->m_df_type = DF_Type::int16_t; - n_bottom->m_rdf_type = RDF_Type::int16_t; - n_bottom->m_node_type = NodeType::Simple; - n_bottom->m_address = base + offset; - n_bottom->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_bottom); - -} -void node_from_local_population___union6(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = true) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "race"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::local_population, field_name)); - auto n_race = new NodeSimple; - n_race->m_field_name = field_name; - n_race->m_df_type = DF_Type::int16_t; - n_race->m_rdf_type = RDF_Type::int16_t; - n_race->m_node_type = NodeType::Simple; - n_race->m_address = base + offset; - n_race->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_race); - - field_name = "plant"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::local_population, field_name)); - auto n_plant = new NodeSimple; - n_plant->m_field_name = field_name; - n_plant->m_df_type = DF_Type::int16_t; - n_plant->m_rdf_type = RDF_Type::int16_t; - n_plant->m_node_type = NodeType::Simple; - n_plant->m_address = base + offset; - n_plant->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_plant); - -} -void node_from_local_population(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "type"; - auto n_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::local_population, field_name)); - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::world_population_type; - n_type->m_rdf_type = RDF_Type::Enum; - n_type->m_node_type = NodeType::Enum; - n_type->m_base_type = DF_Type::int8_t; - n_type->m_enum_type = "world_population_type"; - n_type->m_address = base + offset; - n_type->m_defined_in = "df.world-data.xml"; - n_type->m_first_value = 0; - n_type->m_last_value = 7; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - - auto n_$union6 = new NodeAnonymous; - field_name = "race"; // One child of the anonymous union - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::local_population, field_name)); - n_$union6->m_field_name = "N/A"; - n_$union6->m_df_type = DF_Type::local_population___union6; - n_$union6->m_rdf_type = RDF_Type::AnonymousUnion; - n_$union6->m_node_type = NodeType::AnonymousUnion; - n_$union6->m_address = base + offset; - n_$union6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_$union6); - - field_name = "quantity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::local_population, field_name)); - auto n_quantity = new NodeSimple; - n_quantity->m_field_name = field_name; - n_quantity->m_df_type = DF_Type::int32_t; - n_quantity->m_rdf_type = RDF_Type::int32_t; - n_quantity->m_node_type = NodeType::Simple; - n_quantity->m_address = base + offset; - n_quantity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_quantity); - - field_name = "quantity2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::local_population, field_name)); - auto n_quantity2 = new NodeSimple; - n_quantity2->m_field_name = field_name; - n_quantity2->m_df_type = DF_Type::int32_t; - n_quantity2->m_rdf_type = RDF_Type::int32_t; - n_quantity2->m_node_type = NodeType::Simple; - n_quantity2->m_address = base + offset; - n_quantity2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_quantity2); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::local_population, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::local_population__T_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "population"; - auto n_population = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::local_population, field_name)); - n_population->m_field_name = field_name; - n_population->m_df_type = DF_Type::world_population_ref; - n_population->m_rdf_type = RDF_Type::Struct; - n_population->m_node_type = NodeType::Compound; - n_population->m_address = base + offset; - n_population->m_defined_in = "df.world-data.xml"; - n_population->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_population); - - field_name = "wp_unk_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::local_population, field_name)); - auto n_wp_unk_10 = new NodeSimple; - n_wp_unk_10->m_field_name = field_name; - n_wp_unk_10->m_df_type = DF_Type::int32_t; - n_wp_unk_10->m_rdf_type = RDF_Type::int32_t; - n_wp_unk_10->m_node_type = NodeType::Simple; - n_wp_unk_10->m_address = base + offset; - n_wp_unk_10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_wp_unk_10); - - field_name = "wp_unk_18"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::local_population, field_name)); - auto n_wp_unk_18 = new NodeSimple; - n_wp_unk_18->m_field_name = field_name; - n_wp_unk_18->m_df_type = DF_Type::int32_t; - n_wp_unk_18->m_rdf_type = RDF_Type::int32_t; - n_wp_unk_18->m_node_type = NodeType::Simple; - n_wp_unk_18->m_address = base + offset; - n_wp_unk_18->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_wp_unk_18); - - field_name = "wp_unk_1c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::local_population, field_name)); - auto n_wp_unk_1c = new NodeSimple; - n_wp_unk_1c->m_field_name = field_name; - n_wp_unk_1c->m_df_type = DF_Type::int32_t; - n_wp_unk_1c->m_rdf_type = RDF_Type::int32_t; - n_wp_unk_1c->m_node_type = NodeType::Simple; - n_wp_unk_1c->m_address = base + offset; - n_wp_unk_1c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_wp_unk_1c); - -} -void node_from_world_population___union7(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = true) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "race"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_population, field_name)); - auto n_race = new NodeSimple; - n_race->m_field_name = field_name; - n_race->m_df_type = DF_Type::int16_t; - n_race->m_rdf_type = RDF_Type::int16_t; - n_race->m_node_type = NodeType::Simple; - n_race->m_address = base + offset; - n_race->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_race); - - field_name = "plant"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_population, field_name)); - auto n_plant = new NodeSimple; - n_plant->m_field_name = field_name; - n_plant->m_df_type = DF_Type::int16_t; - n_plant->m_rdf_type = RDF_Type::int16_t; - n_plant->m_node_type = NodeType::Simple; - n_plant->m_address = base + offset; - n_plant->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_plant); - -} -void node_from_world_population(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "type"; - auto n_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_population, field_name)); - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::world_population_type; - n_type->m_rdf_type = RDF_Type::Enum; - n_type->m_node_type = NodeType::Enum; - n_type->m_base_type = DF_Type::int16_t; - n_type->m_enum_type = "world_population_type"; - n_type->m_address = base + offset; - n_type->m_defined_in = "df.world-data.xml"; - n_type->m_first_value = 0; - n_type->m_last_value = 7; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - - auto n_$union7 = new NodeAnonymous; - field_name = "race"; // One child of the anonymous union - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_population, field_name)); - n_$union7->m_field_name = "N/A"; - n_$union7->m_df_type = DF_Type::world_population___union7; - n_$union7->m_rdf_type = RDF_Type::AnonymousUnion; - n_$union7->m_node_type = NodeType::AnonymousUnion; - n_$union7->m_address = base + offset; - n_$union7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_$union7); - - field_name = "count_min"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_population, field_name)); - auto n_count_min = new NodeSimple; - n_count_min->m_field_name = field_name; - n_count_min->m_df_type = DF_Type::int32_t; - n_count_min->m_rdf_type = RDF_Type::int32_t; - n_count_min->m_node_type = NodeType::Simple; - n_count_min->m_address = base + offset; - n_count_min->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_count_min); - - field_name = "count_max"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_population, field_name)); - auto n_count_max = new NodeSimple; - n_count_max->m_field_name = field_name; - n_count_max->m_df_type = DF_Type::int32_t; - n_count_max->m_rdf_type = RDF_Type::int32_t; - n_count_max->m_node_type = NodeType::Simple; - n_count_max->m_address = base + offset; - n_count_max->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_count_max); - - field_name = "unk_c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_population, field_name)); - auto n_unk_c = new NodeSimple; - n_unk_c->m_field_name = field_name; - n_unk_c->m_df_type = DF_Type::int32_t; - n_unk_c->m_rdf_type = RDF_Type::int32_t; - n_unk_c->m_node_type = NodeType::Simple; - n_unk_c->m_address = base + offset; - n_unk_c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_c); - - field_name = "owner"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_population, field_name)); - auto n_owner = new NodeSimple; - n_owner->m_field_name = field_name; - n_owner->m_df_type = DF_Type::int32_t; - n_owner->m_rdf_type = RDF_Type::int32_t; - n_owner->m_node_type = NodeType::Simple; - n_owner->m_address = base + offset; - n_owner->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_owner); - - field_name = "unk_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_population, field_name)); - auto n_unk_10 = new NodeSimple; - n_unk_10->m_field_name = field_name; - n_unk_10->m_df_type = DF_Type::int32_t; - n_unk_10->m_rdf_type = RDF_Type::int32_t; - n_unk_10->m_node_type = NodeType::Simple; - n_unk_10->m_address = base + offset; - n_unk_10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_10); - - field_name = "unk_14"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_population, field_name)); - auto n_unk_14 = new NodeSimple; - n_unk_14->m_field_name = field_name; - n_unk_14->m_df_type = DF_Type::int32_t; - n_unk_14->m_rdf_type = RDF_Type::int32_t; - n_unk_14->m_node_type = NodeType::Simple; - n_unk_14->m_address = base + offset; - n_unk_14->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_14); - - field_name = "unk_18"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_population, field_name)); - auto n_unk_18 = new NodeSimple; - n_unk_18->m_field_name = field_name; - n_unk_18->m_df_type = DF_Type::int32_t; - n_unk_18->m_rdf_type = RDF_Type::int32_t; - n_unk_18->m_node_type = NodeType::Simple; - n_unk_18->m_address = base + offset; - n_unk_18->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_18); - - field_name = "unk_1c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_population, field_name)); - auto n_unk_1c = new NodeSimple; - n_unk_1c->m_field_name = field_name; - n_unk_1c->m_df_type = DF_Type::int32_t; - n_unk_1c->m_rdf_type = RDF_Type::int32_t; - n_unk_1c->m_node_type = NodeType::Simple; - n_unk_1c->m_address = base + offset; - n_unk_1c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_1c); - -} -void node_from_world_landmass(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "name"; - auto n_name = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_landmass, field_name)); - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::language_name; - n_name->m_rdf_type = RDF_Type::Struct; - n_name->m_node_type = NodeType::Compound; - n_name->m_address = base + offset; - n_name->m_defined_in = "df.language.xml"; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_landmass, field_name)); - auto n_index = new NodeSimple; - n_index->m_field_name = field_name; - n_index->m_df_type = DF_Type::int32_t; - n_index->m_rdf_type = RDF_Type::int32_t; - n_index->m_node_type = NodeType::Simple; - n_index->m_address = base + offset; - n_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_index); - - field_name = "area"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_landmass, field_name)); - auto n_area = new NodeSimple; - n_area->m_field_name = field_name; - n_area->m_df_type = DF_Type::int32_t; - n_area->m_rdf_type = RDF_Type::int32_t; - n_area->m_node_type = NodeType::Simple; - n_area->m_address = base + offset; - n_area->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_area); - - field_name = "min_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_landmass, field_name)); - auto n_min_x = new NodeSimple; - n_min_x->m_field_name = field_name; - n_min_x->m_df_type = DF_Type::int32_t; - n_min_x->m_rdf_type = RDF_Type::int32_t; - n_min_x->m_node_type = NodeType::Simple; - n_min_x->m_address = base + offset; - n_min_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_min_x); - - field_name = "max_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_landmass, field_name)); - auto n_max_x = new NodeSimple; - n_max_x->m_field_name = field_name; - n_max_x->m_df_type = DF_Type::int32_t; - n_max_x->m_rdf_type = RDF_Type::int32_t; - n_max_x->m_node_type = NodeType::Simple; - n_max_x->m_address = base + offset; - n_max_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_max_x); - - field_name = "min_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_landmass, field_name)); - auto n_min_y = new NodeSimple; - n_min_y->m_field_name = field_name; - n_min_y->m_df_type = DF_Type::int32_t; - n_min_y->m_rdf_type = RDF_Type::int32_t; - n_min_y->m_node_type = NodeType::Simple; - n_min_y->m_address = base + offset; - n_min_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_min_y); - - field_name = "max_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_landmass, field_name)); - auto n_max_y = new NodeSimple; - n_max_y->m_field_name = field_name; - n_max_y->m_df_type = DF_Type::int32_t; - n_max_y->m_rdf_type = RDF_Type::int32_t; - n_max_y->m_node_type = NodeType::Simple; - n_max_y->m_address = base + offset; - n_max_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_max_y); - - field_name = "unk_74"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_landmass, field_name)); - auto n_unk_74 = new NodeVector; - n_unk_74->m_field_name = field_name; - n_unk_74->m_df_type = DF_Type::Void; - n_unk_74->m_rdf_type = RDF_Type::Vector; - n_unk_74->m_node_type = NodeType::Vector; - n_unk_74->m_addornements = "v"; - n_unk_74->m_address = base + offset; - n_unk_74->m_parent = p_node_parent; - n_unk_74->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_74); - - field_name = "unk_84"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_landmass, field_name)); - auto n_unk_84 = new NodeVector; - n_unk_84->m_field_name = field_name; - n_unk_84->m_df_type = DF_Type::Void; - n_unk_84->m_rdf_type = RDF_Type::Vector; - n_unk_84->m_node_type = NodeType::Vector; - n_unk_84->m_addornements = "v"; - n_unk_84->m_address = base + offset; - n_unk_84->m_parent = p_node_parent; - n_unk_84->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_84); - -} -void node_from_world_region(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "name"; - auto n_name = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::language_name; - n_name->m_rdf_type = RDF_Type::Struct; - n_name->m_node_type = NodeType::Compound; - n_name->m_address = base + offset; - n_name->m_defined_in = "df.language.xml"; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); - auto n_index = new NodeSimple; - n_index->m_field_name = field_name; - n_index->m_df_type = DF_Type::int32_t; - n_index->m_rdf_type = RDF_Type::int32_t; - n_index->m_node_type = NodeType::Simple; - n_index->m_address = base + offset; - n_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_index); - - field_name = "type"; - auto n_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::world_region_type; - n_type->m_rdf_type = RDF_Type::Enum; - n_type->m_node_type = NodeType::Enum; - n_type->m_base_type = DF_Type::int16_t; - n_type->m_enum_type = "world_region_type"; - n_type->m_address = base + offset; - n_type->m_defined_in = "df.world-data.xml"; - n_type->m_first_value = 0; - n_type->m_last_value = 9; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - - field_name = "region_coords"; - auto n_region_coords = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); - n_region_coords->m_field_name = field_name; - n_region_coords->m_df_type = DF_Type::coord2d_path; - n_region_coords->m_rdf_type = RDF_Type::Struct; - n_region_coords->m_node_type = NodeType::Compound; - n_region_coords->m_address = base + offset; - n_region_coords->m_defined_in = "df.map.xml"; - n_region_coords->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region_coords); - - field_name = "size"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); - auto n_size = new NodeSimple; - n_size->m_field_name = field_name; - n_size->m_df_type = DF_Type::int32_t; - n_size->m_rdf_type = RDF_Type::int32_t; - n_size->m_node_type = NodeType::Simple; - n_size->m_address = base + offset; - n_size->m_comment = "Number of tiles in the region"; - n_size->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_size); - - field_name = "unk_98"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); - auto n_unk_98 = new NodeSimple; - n_unk_98->m_field_name = field_name; - n_unk_98->m_df_type = DF_Type::int32_t; - n_unk_98->m_rdf_type = RDF_Type::int32_t; - n_unk_98->m_node_type = NodeType::Simple; - n_unk_98->m_address = base + offset; - n_unk_98->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_98); - - field_name = "unk_9c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); - auto n_unk_9c = new NodeSimple; - n_unk_9c->m_field_name = field_name; - n_unk_9c->m_df_type = DF_Type::int32_t; - n_unk_9c->m_rdf_type = RDF_Type::int32_t; - n_unk_9c->m_node_type = NodeType::Simple; - n_unk_9c->m_address = base + offset; - n_unk_9c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_9c); - - field_name = "unk_a0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); - auto n_unk_a0 = new NodeSimple; - n_unk_a0->m_field_name = field_name; - n_unk_a0->m_df_type = DF_Type::int32_t; - n_unk_a0->m_rdf_type = RDF_Type::int32_t; - n_unk_a0->m_node_type = NodeType::Simple; - n_unk_a0->m_address = base + offset; - n_unk_a0->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_a0); - - field_name = "unk_a4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); - auto n_unk_a4 = new NodeSimple; - n_unk_a4->m_field_name = field_name; - n_unk_a4->m_df_type = DF_Type::int32_t; - n_unk_a4->m_rdf_type = RDF_Type::int32_t; - n_unk_a4->m_node_type = NodeType::Simple; - n_unk_a4->m_address = base + offset; - n_unk_a4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_a4); - - field_name = "population"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); - auto n_population = new NodeVector; - n_population->m_field_name = field_name; - n_population->m_df_type = DF_Type::world_population; - n_population->m_rdf_type = RDF_Type::Vector; - n_population->m_node_type = NodeType::Vector; - n_population->m_defined_in = "df.world-data.xml"; - n_population->m_addornements = "v*"; - n_population->m_address = base + offset; - n_population->m_parent = p_node_parent; - n_population->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_population); - - field_name = "biome_tile_counts"; - auto n_biome_tile_counts = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); - n_biome_tile_counts->m_field_name = field_name; - n_biome_tile_counts->m_df_type = DF_Type::int32_t; - n_biome_tile_counts->m_rdf_type = RDF_Type::Array; - n_biome_tile_counts->m_node_type = NodeType::Array; - n_biome_tile_counts->m_index_enum = DF_Type::biome_type; - n_biome_tile_counts->m_addornements = "[51"; - n_biome_tile_counts->m_array_size = 51; - n_biome_tile_counts->m_address = base + offset; - n_biome_tile_counts->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_biome_tile_counts); - - field_name = "tree_biomes"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); - auto n_tree_biomes = new NodeVector; - n_tree_biomes->m_field_name = field_name; - n_tree_biomes->m_df_type = DF_Type::biome_type; - n_tree_biomes->m_rdf_type = RDF_Type::Vector; - n_tree_biomes->m_node_type = NodeType::Vector; - n_tree_biomes->m_enum_base = DF_Type::int16_t; - n_tree_biomes->m_defined_in = "df.map.xml"; - n_tree_biomes->m_addornements = "v"; - n_tree_biomes->m_address = base + offset; - n_tree_biomes->m_parent = p_node_parent; - n_tree_biomes->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_tree_biomes); - - field_name = "tree_tiles_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); - auto n_tree_tiles_1 = new NodeVector; - n_tree_tiles_1->m_field_name = field_name; - n_tree_tiles_1->m_df_type = DF_Type::int16_t; - n_tree_tiles_1->m_rdf_type = RDF_Type::Vector; - n_tree_tiles_1->m_node_type = NodeType::Vector; - n_tree_tiles_1->m_addornements = "v"; - n_tree_tiles_1->m_address = base + offset; - n_tree_tiles_1->m_refers_to = "$$._global.tree_biomes[$].refers-to"; - n_tree_tiles_1->m_parent = p_node_parent; - n_tree_tiles_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_tree_tiles_1); - - field_name = "tree_tiles_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); - auto n_tree_tiles_2 = new NodeVector; - n_tree_tiles_2->m_field_name = field_name; - n_tree_tiles_2->m_df_type = DF_Type::int16_t; - n_tree_tiles_2->m_rdf_type = RDF_Type::Vector; - n_tree_tiles_2->m_node_type = NodeType::Vector; - n_tree_tiles_2->m_addornements = "v"; - n_tree_tiles_2->m_address = base + offset; - n_tree_tiles_2->m_refers_to = "$$._global.tree_biomes[$].refers-to"; - n_tree_tiles_2->m_parent = p_node_parent; - n_tree_tiles_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_tree_tiles_2); - - field_name = "tree_tiles_good"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); - auto n_tree_tiles_good = new NodeVector; - n_tree_tiles_good->m_field_name = field_name; - n_tree_tiles_good->m_df_type = DF_Type::int16_t; - n_tree_tiles_good->m_rdf_type = RDF_Type::Vector; - n_tree_tiles_good->m_node_type = NodeType::Vector; - n_tree_tiles_good->m_addornements = "v"; - n_tree_tiles_good->m_address = base + offset; - n_tree_tiles_good->m_refers_to = "$$._global.tree_biomes[$].refers-to"; - n_tree_tiles_good->m_parent = p_node_parent; - n_tree_tiles_good->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_tree_tiles_good); - - field_name = "tree_tiles_evil"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); - auto n_tree_tiles_evil = new NodeVector; - n_tree_tiles_evil->m_field_name = field_name; - n_tree_tiles_evil->m_df_type = DF_Type::int16_t; - n_tree_tiles_evil->m_rdf_type = RDF_Type::Vector; - n_tree_tiles_evil->m_node_type = NodeType::Vector; - n_tree_tiles_evil->m_addornements = "v"; - n_tree_tiles_evil->m_address = base + offset; - n_tree_tiles_evil->m_refers_to = "$$._global.tree_biomes[$].refers-to"; - n_tree_tiles_evil->m_parent = p_node_parent; - n_tree_tiles_evil->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_tree_tiles_evil); - - field_name = "tree_tiles_savage"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); - auto n_tree_tiles_savage = new NodeVector; - n_tree_tiles_savage->m_field_name = field_name; - n_tree_tiles_savage->m_df_type = DF_Type::int16_t; - n_tree_tiles_savage->m_rdf_type = RDF_Type::Vector; - n_tree_tiles_savage->m_node_type = NodeType::Vector; - n_tree_tiles_savage->m_addornements = "v"; - n_tree_tiles_savage->m_address = base + offset; - n_tree_tiles_savage->m_refers_to = "$$._global.tree_biomes[$].refers-to"; - n_tree_tiles_savage->m_parent = p_node_parent; - n_tree_tiles_savage->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_tree_tiles_savage); - - field_name = "dead_percentage"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); - auto n_dead_percentage = new NodeSimple; - n_dead_percentage->m_field_name = field_name; - n_dead_percentage->m_df_type = DF_Type::int8_t; - n_dead_percentage->m_rdf_type = RDF_Type::int8_t; - n_dead_percentage->m_node_type = NodeType::Simple; - n_dead_percentage->m_address = base + offset; - n_dead_percentage->m_comment = "% vegetation dead on embark. Can affect non evil regions"; - n_dead_percentage->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dead_percentage); - - field_name = "unk_1e5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); - auto n_unk_1e5 = new NodeSimple; - n_unk_1e5->m_field_name = field_name; - n_unk_1e5->m_df_type = DF_Type::Bool; - n_unk_1e5->m_rdf_type = RDF_Type::Bool; - n_unk_1e5->m_node_type = NodeType::Simple; - n_unk_1e5->m_address = base + offset; - n_unk_1e5->m_comment = "Probably optionally set only on good and evil regions"; - n_unk_1e5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_1e5); - - field_name = "unk_1e6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); - auto n_unk_1e6 = new NodeSimple; - n_unk_1e6->m_field_name = field_name; - n_unk_1e6->m_df_type = DF_Type::Bool; - n_unk_1e6->m_rdf_type = RDF_Type::Bool; - n_unk_1e6->m_node_type = NodeType::Simple; - n_unk_1e6->m_address = base + offset; - n_unk_1e6->m_comment = "Probably optionally set only on neutral regions"; - n_unk_1e6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_1e6); - - field_name = "reanimating"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); - auto n_reanimating = new NodeSimple; - n_reanimating->m_field_name = field_name; - n_reanimating->m_df_type = DF_Type::Bool; - n_reanimating->m_rdf_type = RDF_Type::Bool; - n_reanimating->m_node_type = NodeType::Simple; - n_reanimating->m_address = base + offset; - n_reanimating->m_comment = "Indicates that region interaction is reanimating"; - n_reanimating->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_reanimating); - - field_name = "evil"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); - auto n_evil = new NodeSimple; - n_evil->m_field_name = field_name; - n_evil->m_df_type = DF_Type::Bool; - n_evil->m_rdf_type = RDF_Type::Bool; - n_evil->m_node_type = NodeType::Simple; - n_evil->m_address = base + offset; - n_evil->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_evil); - - field_name = "good"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); - auto n_good = new NodeSimple; - n_good->m_field_name = field_name; - n_good->m_df_type = DF_Type::Bool; - n_good->m_rdf_type = RDF_Type::Bool; - n_good->m_node_type = NodeType::Simple; - n_good->m_address = base + offset; - n_good->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_good); - - field_name = "lake_surface"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); - auto n_lake_surface = new NodeSimple; - n_lake_surface->m_field_name = field_name; - n_lake_surface->m_df_type = DF_Type::int16_t; - n_lake_surface->m_rdf_type = RDF_Type::int16_t; - n_lake_surface->m_node_type = NodeType::Simple; - n_lake_surface->m_address = base + offset; - n_lake_surface->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_lake_surface); - - field_name = "forces"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); - auto n_forces = new NodeVector; - n_forces->m_field_name = field_name; - n_forces->m_df_type = DF_Type::int32_t; - n_forces->m_rdf_type = RDF_Type::Vector; - n_forces->m_node_type = NodeType::Vector; - n_forces->m_addornements = "v"; - n_forces->m_address = base + offset; - n_forces->m_comment = "historical figure IDs of force deities associated with the region"; - n_forces->m_parent = p_node_parent; - n_forces->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_forces); - - field_name = "unk_200"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); - auto n_unk_200= new NodePadding; - n_unk_200->m_field_name = field_name; - n_unk_200->m_df_type = DF_Type::Padding; - n_unk_200->m_rdf_type = RDF_Type::Padding; - n_unk_200->m_node_type = NodeType::Padding; - n_unk_200->m_address = base + offset; - n_unk_200->m_size = 4; - n_unk_200->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_200); - - field_name = "mid_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); - auto n_mid_x = new NodeSimple; - n_mid_x->m_field_name = field_name; - n_mid_x->m_df_type = DF_Type::int32_t; - n_mid_x->m_rdf_type = RDF_Type::int32_t; - n_mid_x->m_node_type = NodeType::Simple; - n_mid_x->m_address = base + offset; - n_mid_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mid_x); - - field_name = "mid_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); - auto n_mid_y = new NodeSimple; - n_mid_y->m_field_name = field_name; - n_mid_y->m_df_type = DF_Type::int32_t; - n_mid_y->m_rdf_type = RDF_Type::int32_t; - n_mid_y->m_node_type = NodeType::Simple; - n_mid_y->m_address = base + offset; - n_mid_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mid_y); - - field_name = "min_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); - auto n_min_x = new NodeSimple; - n_min_x->m_field_name = field_name; - n_min_x->m_df_type = DF_Type::int32_t; - n_min_x->m_rdf_type = RDF_Type::int32_t; - n_min_x->m_node_type = NodeType::Simple; - n_min_x->m_address = base + offset; - n_min_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_min_x); - - field_name = "max_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); - auto n_max_x = new NodeSimple; - n_max_x->m_field_name = field_name; - n_max_x->m_df_type = DF_Type::int32_t; - n_max_x->m_rdf_type = RDF_Type::int32_t; - n_max_x->m_node_type = NodeType::Simple; - n_max_x->m_address = base + offset; - n_max_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_max_x); - - field_name = "min_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); - auto n_min_y = new NodeSimple; - n_min_y->m_field_name = field_name; - n_min_y->m_df_type = DF_Type::int32_t; - n_min_y->m_rdf_type = RDF_Type::int32_t; - n_min_y->m_node_type = NodeType::Simple; - n_min_y->m_address = base + offset; - n_min_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_min_y); - - field_name = "max_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); - auto n_max_y = new NodeSimple; - n_max_y->m_field_name = field_name; - n_max_y->m_df_type = DF_Type::int32_t; - n_max_y->m_rdf_type = RDF_Type::int32_t; - n_max_y->m_node_type = NodeType::Simple; - n_max_y->m_address = base + offset; - n_max_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_max_y); - -} -void node_from_world_underground_region(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "type"; - auto n_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_underground_region, field_name)); - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::world_underground_region__T_type; - n_type->m_rdf_type = RDF_Type::Enum; - n_type->m_node_type = NodeType::Enum; - n_type->m_base_type = DF_Type::int16_t; - n_type->m_enum_type = "world_underground_region::T_type"; - n_type->m_address = base + offset; - n_type->m_first_value = 0; - n_type->m_last_value = 2; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - - field_name = "name"; - auto n_name = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_underground_region, field_name)); - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::language_name; - n_name->m_rdf_type = RDF_Type::Struct; - n_name->m_node_type = NodeType::Compound; - n_name->m_address = base + offset; - n_name->m_defined_in = "df.language.xml"; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_underground_region, field_name)); - auto n_index = new NodeSimple; - n_index->m_field_name = field_name; - n_index->m_df_type = DF_Type::int32_t; - n_index->m_rdf_type = RDF_Type::int32_t; - n_index->m_node_type = NodeType::Simple; - n_index->m_address = base + offset; - n_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_index); - - field_name = "layer_depth"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_underground_region, field_name)); - auto n_layer_depth = new NodeSimple; - n_layer_depth->m_field_name = field_name; - n_layer_depth->m_df_type = DF_Type::int16_t; - n_layer_depth->m_rdf_type = RDF_Type::int16_t; - n_layer_depth->m_node_type = NodeType::Simple; - n_layer_depth->m_address = base + offset; - n_layer_depth->m_comment = "0-2 caves, 3 magma sea, 4 hell"; - n_layer_depth->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_layer_depth); - - field_name = "layer_depth_p1a"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_underground_region, field_name)); - auto n_layer_depth_p1a = new NodeSimple; - n_layer_depth_p1a->m_field_name = field_name; - n_layer_depth_p1a->m_df_type = DF_Type::int16_t; - n_layer_depth_p1a->m_rdf_type = RDF_Type::int16_t; - n_layer_depth_p1a->m_node_type = NodeType::Simple; - n_layer_depth_p1a->m_address = base + offset; - n_layer_depth_p1a->m_comment = "+1"; - n_layer_depth_p1a->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_layer_depth_p1a); - - field_name = "layer_depth_p1b"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_underground_region, field_name)); - auto n_layer_depth_p1b = new NodeSimple; - n_layer_depth_p1b->m_field_name = field_name; - n_layer_depth_p1b->m_df_type = DF_Type::int16_t; - n_layer_depth_p1b->m_rdf_type = RDF_Type::int16_t; - n_layer_depth_p1b->m_node_type = NodeType::Simple; - n_layer_depth_p1b->m_address = base + offset; - n_layer_depth_p1b->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_layer_depth_p1b); - - field_name = "water"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_underground_region, field_name)); - auto n_water = new NodeSimple; - n_water->m_field_name = field_name; - n_water->m_df_type = DF_Type::int16_t; - n_water->m_rdf_type = RDF_Type::int16_t; - n_water->m_node_type = NodeType::Simple; - n_water->m_address = base + offset; - n_water->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_water); - - field_name = "unk_7c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_underground_region, field_name)); - auto n_unk_7c = new NodeSimple; - n_unk_7c->m_field_name = field_name; - n_unk_7c->m_df_type = DF_Type::int16_t; - n_unk_7c->m_rdf_type = RDF_Type::int16_t; - n_unk_7c->m_node_type = NodeType::Simple; - n_unk_7c->m_address = base + offset; - n_unk_7c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_7c); - - field_name = "openness_min"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_underground_region, field_name)); - auto n_openness_min = new NodeSimple; - n_openness_min->m_field_name = field_name; - n_openness_min->m_df_type = DF_Type::int16_t; - n_openness_min->m_rdf_type = RDF_Type::int16_t; - n_openness_min->m_node_type = NodeType::Simple; - n_openness_min->m_address = base + offset; - n_openness_min->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_openness_min); - - field_name = "openness_max"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_underground_region, field_name)); - auto n_openness_max = new NodeSimple; - n_openness_max->m_field_name = field_name; - n_openness_max->m_df_type = DF_Type::int16_t; - n_openness_max->m_rdf_type = RDF_Type::int16_t; - n_openness_max->m_node_type = NodeType::Simple; - n_openness_max->m_address = base + offset; - n_openness_max->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_openness_max); - - field_name = "passage_density_min"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_underground_region, field_name)); - auto n_passage_density_min = new NodeSimple; - n_passage_density_min->m_field_name = field_name; - n_passage_density_min->m_df_type = DF_Type::int16_t; - n_passage_density_min->m_rdf_type = RDF_Type::int16_t; - n_passage_density_min->m_node_type = NodeType::Simple; - n_passage_density_min->m_address = base + offset; - n_passage_density_min->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_passage_density_min); - - field_name = "passage_density_max"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_underground_region, field_name)); - auto n_passage_density_max = new NodeSimple; - n_passage_density_max->m_field_name = field_name; - n_passage_density_max->m_df_type = DF_Type::int16_t; - n_passage_density_max->m_rdf_type = RDF_Type::int16_t; - n_passage_density_max->m_node_type = NodeType::Simple; - n_passage_density_max->m_address = base + offset; - n_passage_density_max->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_passage_density_max); - - field_name = "region_coords"; - auto n_region_coords = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_underground_region, field_name)); - n_region_coords->m_field_name = field_name; - n_region_coords->m_df_type = DF_Type::coord2d_path; - n_region_coords->m_rdf_type = RDF_Type::Struct; - n_region_coords->m_node_type = NodeType::Compound; - n_region_coords->m_address = base + offset; - n_region_coords->m_defined_in = "df.map.xml"; - n_region_coords->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region_coords); - - field_name = "region_min_z"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_underground_region, field_name)); - auto n_region_min_z = new NodeVector; - n_region_min_z->m_field_name = field_name; - n_region_min_z->m_df_type = DF_Type::int16_t; - n_region_min_z->m_rdf_type = RDF_Type::Vector; - n_region_min_z->m_node_type = NodeType::Vector; - n_region_min_z->m_addornements = "v"; - n_region_min_z->m_address = base + offset; - n_region_min_z->m_parent = p_node_parent; - n_region_min_z->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_region_min_z); - - field_name = "region_max_z"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_underground_region, field_name)); - auto n_region_max_z = new NodeVector; - n_region_max_z->m_field_name = field_name; - n_region_max_z->m_df_type = DF_Type::int16_t; - n_region_max_z->m_rdf_type = RDF_Type::Vector; - n_region_max_z->m_node_type = NodeType::Vector; - n_region_max_z->m_addornements = "v"; - n_region_max_z->m_address = base + offset; - n_region_max_z->m_parent = p_node_parent; - n_region_max_z->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_region_max_z); - - field_name = "unk_c8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_underground_region, field_name)); - auto n_unk_c8 = new NodeVector; - n_unk_c8->m_field_name = field_name; - n_unk_c8->m_df_type = DF_Type::Void; - n_unk_c8->m_rdf_type = RDF_Type::Vector; - n_unk_c8->m_node_type = NodeType::Vector; - n_unk_c8->m_addornements = "v"; - n_unk_c8->m_address = base + offset; - n_unk_c8->m_parent = p_node_parent; - n_unk_c8->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_c8); - - field_name = "feature_init"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_underground_region, field_name)); - auto n_feature_init = new NodePointer; - n_feature_init->m_field_name = field_name; - n_feature_init->m_df_type = get_real_subtype(base+offset, DF_Type::feature_init); - n_feature_init->m_rdf_type = RDF_Type::Pointer; - n_feature_init->m_node_type = NodeType::Pointer; - n_feature_init->m_addornements = "*"; - n_feature_init->m_address = base + offset; - n_feature_init->m_parent = p_node_parent; - n_feature_init->m_defined_in = "df.map.xml"; - n_feature_init->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_feature_init); - -} -void node_from_world_river(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "name"; - auto n_name = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_river, field_name)); - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::language_name; - n_name->m_rdf_type = RDF_Type::Struct; - n_name->m_node_type = NodeType::Compound; - n_name->m_address = base + offset; - n_name->m_defined_in = "df.language.xml"; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "path"; - auto n_path = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_river, field_name)); - n_path->m_field_name = field_name; - n_path->m_df_type = DF_Type::coord2d_path; - n_path->m_rdf_type = RDF_Type::Struct; - n_path->m_node_type = NodeType::Compound; - n_path->m_address = base + offset; - n_path->m_defined_in = "df.map.xml"; - n_path->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_path); - - field_name = "flow"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_river, field_name)); - auto n_flow = new NodeVector; - n_flow->m_field_name = field_name; - n_flow->m_df_type = DF_Type::int32_t; - n_flow->m_rdf_type = RDF_Type::Vector; - n_flow->m_node_type = NodeType::Vector; - n_flow->m_addornements = "v"; - n_flow->m_address = base + offset; - n_flow->m_parent = p_node_parent; - n_flow->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_flow); - - field_name = "exit_tile"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_river, field_name)); - auto n_exit_tile = new NodeVector; - n_exit_tile->m_field_name = field_name; - n_exit_tile->m_df_type = DF_Type::int16_t; - n_exit_tile->m_rdf_type = RDF_Type::Vector; - n_exit_tile->m_node_type = NodeType::Vector; - n_exit_tile->m_addornements = "v"; - n_exit_tile->m_address = base + offset; - n_exit_tile->m_parent = p_node_parent; - n_exit_tile->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_exit_tile); - - field_name = "elevation"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_river, field_name)); - auto n_elevation = new NodeVector; - n_elevation->m_field_name = field_name; - n_elevation->m_df_type = DF_Type::int16_t; - n_elevation->m_rdf_type = RDF_Type::Vector; - n_elevation->m_node_type = NodeType::Vector; - n_elevation->m_addornements = "v"; - n_elevation->m_address = base + offset; - n_elevation->m_parent = p_node_parent; - n_elevation->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_elevation); - - field_name = "end_pos"; - auto n_end_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_river, field_name)); - n_end_pos->m_field_name = field_name; - n_end_pos->m_df_type = DF_Type::coord2d; - n_end_pos->m_rdf_type = RDF_Type::Struct; - n_end_pos->m_node_type = NodeType::Compound; - n_end_pos->m_address = base + offset; - n_end_pos->m_defined_in = "df.map.xml"; - n_end_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_end_pos); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_river, field_name)); - auto n_flags = new NodeDFFlagArray; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::int32_t; - n_flags->m_size = 32; - n_flags->m_rdf_type = RDF_Type::DFFlagArray; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - -} -void node_from_world_geo_layer(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "type"; - auto n_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_geo_layer, field_name)); - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::geo_layer_type; - n_type->m_rdf_type = RDF_Type::Enum; - n_type->m_node_type = NodeType::Enum; - n_type->m_base_type = DF_Type::int16_t; - n_type->m_enum_type = "geo_layer_type"; - n_type->m_address = base + offset; - n_type->m_defined_in = "df.world-data.xml"; - n_type->m_first_value = 0; - n_type->m_last_value = 8; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_geo_layer, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "vein_mat"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_geo_layer, field_name)); - auto n_vein_mat = new NodeVector; - n_vein_mat->m_field_name = field_name; - n_vein_mat->m_df_type = DF_Type::int32_t; - n_vein_mat->m_rdf_type = RDF_Type::Vector; - n_vein_mat->m_node_type = NodeType::Vector; - n_vein_mat->m_addornements = "v"; - n_vein_mat->m_address = base + offset; - n_vein_mat->m_parent = p_node_parent; - n_vein_mat->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_vein_mat); - - field_name = "vein_nested_in"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_geo_layer, field_name)); - auto n_vein_nested_in = new NodeVector; - n_vein_nested_in->m_field_name = field_name; - n_vein_nested_in->m_df_type = DF_Type::int16_t; - n_vein_nested_in->m_rdf_type = RDF_Type::Vector; - n_vein_nested_in->m_node_type = NodeType::Vector; - n_vein_nested_in->m_addornements = "v"; - n_vein_nested_in->m_address = base + offset; - n_vein_nested_in->m_comment = "Index of the other vein this one is nested in, or -1"; - n_vein_nested_in->m_parent = p_node_parent; - n_vein_nested_in->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_vein_nested_in); - - field_name = "vein_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_geo_layer, field_name)); - auto n_vein_type = new NodeVector; - n_vein_type->m_field_name = field_name; - n_vein_type->m_df_type = DF_Type::inclusion_type; - n_vein_type->m_rdf_type = RDF_Type::Vector; - n_vein_type->m_node_type = NodeType::Vector; - n_vein_type->m_enum_base = DF_Type::int8_t; - n_vein_type->m_defined_in = "df.materials.xml"; - n_vein_type->m_addornements = "v"; - n_vein_type->m_address = base + offset; - n_vein_type->m_parent = p_node_parent; - n_vein_type->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_vein_type); - - field_name = "vein_unk_38"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_geo_layer, field_name)); - auto n_vein_unk_38 = new NodeVector; - n_vein_unk_38->m_field_name = field_name; - n_vein_unk_38->m_df_type = DF_Type::int8_t; - n_vein_unk_38->m_rdf_type = RDF_Type::Vector; - n_vein_unk_38->m_node_type = NodeType::Vector; - n_vein_unk_38->m_addornements = "v"; - n_vein_unk_38->m_address = base + offset; - n_vein_unk_38->m_comment = "density??"; - n_vein_unk_38->m_parent = p_node_parent; - n_vein_unk_38->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_vein_unk_38); - - field_name = "top_height"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_geo_layer, field_name)); - auto n_top_height = new NodeSimple; - n_top_height->m_field_name = field_name; - n_top_height->m_df_type = DF_Type::int16_t; - n_top_height->m_rdf_type = RDF_Type::int16_t; - n_top_height->m_node_type = NodeType::Simple; - n_top_height->m_address = base + offset; - n_top_height->m_comment = "negative"; - n_top_height->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_top_height); - - field_name = "bottom_height"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_geo_layer, field_name)); - auto n_bottom_height = new NodeSimple; - n_bottom_height->m_field_name = field_name; - n_bottom_height->m_df_type = DF_Type::int16_t; - n_bottom_height->m_rdf_type = RDF_Type::int16_t; - n_bottom_height->m_node_type = NodeType::Simple; - n_bottom_height->m_address = base + offset; - n_bottom_height->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_bottom_height); - -} -void node_from_world_geo_biome(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_geo_biome, field_name)); - auto n_unk1 = new NodeSimple; - n_unk1->m_field_name = field_name; - n_unk1->m_df_type = DF_Type::int16_t; - n_unk1->m_rdf_type = RDF_Type::int16_t; - n_unk1->m_node_type = NodeType::Simple; - n_unk1->m_address = base + offset; - n_unk1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk1); - - field_name = "index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_geo_biome, field_name)); - auto n_index = new NodeSimple; - n_index->m_field_name = field_name; - n_index->m_df_type = DF_Type::int16_t; - n_index->m_rdf_type = RDF_Type::int16_t; - n_index->m_node_type = NodeType::Simple; - n_index->m_address = base + offset; - n_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_index); - - field_name = "layers"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_geo_biome, field_name)); - auto n_layers = new NodeVector; - n_layers->m_field_name = field_name; - n_layers->m_df_type = DF_Type::world_geo_layer; - n_layers->m_rdf_type = RDF_Type::Vector; - n_layers->m_node_type = NodeType::Vector; - n_layers->m_defined_in = "df.world-data.xml"; - n_layers->m_addornements = "v*"; - n_layers->m_address = base + offset; - n_layers->m_parent = p_node_parent; - n_layers->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_layers); - -} -void node_from_world_region_feature(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "feature_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_feature, field_name)); - auto n_feature_idx = new NodeSimple; - n_feature_idx->m_field_name = field_name; - n_feature_idx->m_df_type = DF_Type::int16_t; - n_feature_idx->m_rdf_type = RDF_Type::int16_t; - n_feature_idx->m_node_type = NodeType::Simple; - n_feature_idx->m_address = base + offset; - n_feature_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_feature_idx); - - field_name = "layer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_feature, field_name)); - auto n_layer = new NodeSimple; - n_layer->m_field_name = field_name; - n_layer->m_df_type = DF_Type::int32_t; - n_layer->m_rdf_type = RDF_Type::int32_t; - n_layer->m_node_type = NodeType::Simple; - n_layer->m_address = base + offset; - n_layer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_layer); - - field_name = "region_tile_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_feature, field_name)); - auto n_region_tile_idx = new NodeSimple; - n_region_tile_idx->m_field_name = field_name; - n_region_tile_idx->m_df_type = DF_Type::int32_t; - n_region_tile_idx->m_rdf_type = RDF_Type::int32_t; - n_region_tile_idx->m_node_type = NodeType::Simple; - n_region_tile_idx->m_address = base + offset; - n_region_tile_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region_tile_idx); - - field_name = "min_z"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_feature, field_name)); - auto n_min_z = new NodeSimple; - n_min_z->m_field_name = field_name; - n_min_z->m_df_type = DF_Type::int16_t; - n_min_z->m_rdf_type = RDF_Type::int16_t; - n_min_z->m_node_type = NodeType::Simple; - n_min_z->m_address = base + offset; - n_min_z->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_min_z); - - field_name = "max_z"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_feature, field_name)); - auto n_max_z = new NodeSimple; - n_max_z->m_field_name = field_name; - n_max_z->m_df_type = DF_Type::int16_t; - n_max_z->m_rdf_type = RDF_Type::int16_t; - n_max_z->m_node_type = NodeType::Simple; - n_max_z->m_address = base + offset; - n_max_z->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_max_z); - - field_name = "unk_c"; - auto n_unk_c = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_feature, field_name)); - n_unk_c->m_field_name = field_name; - n_unk_c->m_df_type = DF_Type::coord2d; - n_unk_c->m_rdf_type = RDF_Type::Array; - n_unk_c->m_node_type = NodeType::Array; - n_unk_c->m_defined_in = "df.map.xml"; - n_unk_c->m_addornements = "[6"; - n_unk_c->m_array_size = 6; - n_unk_c->m_address = base + offset; - n_unk_c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_c); - - field_name = "unk_28"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_feature, field_name)); - auto n_unk_28 = new NodeSimple; - n_unk_28->m_field_name = field_name; - n_unk_28->m_df_type = DF_Type::int32_t; - n_unk_28->m_rdf_type = RDF_Type::int32_t; - n_unk_28->m_node_type = NodeType::Simple; - n_unk_28->m_address = base + offset; - n_unk_28->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_28); - - field_name = "seed"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_feature, field_name)); - auto n_seed = new NodeSimple; - n_seed->m_field_name = field_name; - n_seed->m_df_type = DF_Type::uint32_t; - n_seed->m_rdf_type = RDF_Type::uint32_t; - n_seed->m_node_type = NodeType::Simple; - n_seed->m_address = base + offset; - n_seed->m_comment = "looks random"; - n_seed->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_seed); - - field_name = "unk_30"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_feature, field_name)); - auto n_unk_30 = new NodeDFFlagArray; - n_unk_30->m_field_name = field_name; - n_unk_30->m_df_type = DF_Type::int32_t; - n_unk_30->m_size = 32; - n_unk_30->m_rdf_type = RDF_Type::DFFlagArray; - n_unk_30->m_node_type = NodeType::Bitfield; - n_unk_30->m_address = base + offset; - n_unk_30->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_30); - - field_name = "unk_38"; - auto n_unk_38 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_feature, field_name)); - n_unk_38->m_field_name = field_name; - n_unk_38->m_df_type = DF_Type::int16_t; - n_unk_38->m_rdf_type = RDF_Type::Array; - n_unk_38->m_node_type = NodeType::Array; - n_unk_38->m_addornements = "[15"; - n_unk_38->m_array_size = 15; - n_unk_38->m_address = base + offset; - n_unk_38->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_38); - - field_name = "top_layer_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_feature, field_name)); - auto n_top_layer_idx = new NodeSimple; - n_top_layer_idx->m_field_name = field_name; - n_top_layer_idx->m_df_type = DF_Type::int16_t; - n_top_layer_idx->m_rdf_type = RDF_Type::int16_t; - n_top_layer_idx->m_node_type = NodeType::Simple; - n_top_layer_idx->m_address = base + offset; - n_top_layer_idx->m_comment = "topmost cave layer the feature reaches"; - n_top_layer_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_top_layer_idx); - -} -void node_from_world_region_details__T_edges(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "split_x"; - auto n_split_x = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_details__T_edges, field_name)); - n_split_x->m_field_name = field_name; - n_split_x->m_df_type = DF_Type::coord2d; - n_split_x->m_rdf_type = RDF_Type::Array; - n_split_x->m_comment = "splits for horizontal edges, x=min y=max"; - n_split_x->m_node_type = NodeType::Array; - n_split_x->m_defined_in = "df.map.xml"; - n_split_x->m_addornements = "[16[17"; - n_split_x->m_array_size = 16; - n_split_x->m_address = base + offset; - n_split_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_split_x); - - field_name = "split_y"; - auto n_split_y = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_details__T_edges, field_name)); - n_split_y->m_field_name = field_name; - n_split_y->m_df_type = DF_Type::coord2d; - n_split_y->m_rdf_type = RDF_Type::Array; - n_split_y->m_comment = "splits for vertical edges, x=min y=max"; - n_split_y->m_node_type = NodeType::Array; - n_split_y->m_defined_in = "df.map.xml"; - n_split_y->m_addornements = "[17[16"; - n_split_y->m_array_size = 17; - n_split_y->m_address = base + offset; - n_split_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_split_y); - - field_name = "biome_corner"; - auto n_biome_corner = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_details__T_edges, field_name)); - n_biome_corner->m_field_name = field_name; - n_biome_corner->m_df_type = DF_Type::int8_t; - n_biome_corner->m_rdf_type = RDF_Type::Array; - n_biome_corner->m_comment = "0=Reference is NW, 1=Reference is N, 2=Reference is W, 3=Reference is current tile"; - n_biome_corner->m_node_type = NodeType::Array; - n_biome_corner->m_addornements = "[16[16"; - n_biome_corner->m_array_size = 16; - n_biome_corner->m_address = base + offset; - n_biome_corner->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_biome_corner); - - field_name = "biome_x"; - auto n_biome_x = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_details__T_edges, field_name)); - n_biome_x->m_field_name = field_name; - n_biome_x->m_df_type = DF_Type::int8_t; - n_biome_x->m_rdf_type = RDF_Type::Array; - n_biome_x->m_comment = "0=Reference is N, 1=Reference is current tile (adopted by S edge to the N)"; - n_biome_x->m_node_type = NodeType::Array; - n_biome_x->m_addornements = "[16[16"; - n_biome_x->m_array_size = 16; - n_biome_x->m_address = base + offset; - n_biome_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_biome_x); - - field_name = "biome_y"; - auto n_biome_y = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_details__T_edges, field_name)); - n_biome_y->m_field_name = field_name; - n_biome_y->m_df_type = DF_Type::int8_t; - n_biome_y->m_rdf_type = RDF_Type::Array; - n_biome_y->m_comment = "0=Reference is W, 1=Reference is current tile (Adopted by E edge to the W)"; - n_biome_y->m_node_type = NodeType::Array; - n_biome_y->m_addornements = "[16[16"; - n_biome_y->m_array_size = 16; - n_biome_y->m_address = base + offset; - n_biome_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_biome_y); - -} -void node_from_world_region_details__T_rivers_vertical(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "x_min"; - auto n_x_min = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_details__T_rivers_vertical, field_name)); - n_x_min->m_field_name = field_name; - n_x_min->m_df_type = DF_Type::int16_t; - n_x_min->m_rdf_type = RDF_Type::Array; - n_x_min->m_node_type = NodeType::Array; - n_x_min->m_addornements = "[16[17"; - n_x_min->m_array_size = 16; - n_x_min->m_address = base + offset; - n_x_min->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_x_min); - - field_name = "x_max"; - auto n_x_max = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_details__T_rivers_vertical, field_name)); - n_x_max->m_field_name = field_name; - n_x_max->m_df_type = DF_Type::int16_t; - n_x_max->m_rdf_type = RDF_Type::Array; - n_x_max->m_node_type = NodeType::Array; - n_x_max->m_addornements = "[16[17"; - n_x_max->m_array_size = 16; - n_x_max->m_address = base + offset; - n_x_max->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_x_max); - - field_name = "active"; - auto n_active = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_details__T_rivers_vertical, field_name)); - n_active->m_field_name = field_name; - n_active->m_df_type = DF_Type::int8_t; - n_active->m_rdf_type = RDF_Type::Array; - n_active->m_node_type = NodeType::Array; - n_active->m_addornements = "[16[17"; - n_active->m_array_size = 16; - n_active->m_address = base + offset; - n_active->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_active); - - field_name = "elevation"; - auto n_elevation = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_details__T_rivers_vertical, field_name)); - n_elevation->m_field_name = field_name; - n_elevation->m_df_type = DF_Type::int16_t; - n_elevation->m_rdf_type = RDF_Type::Array; - n_elevation->m_node_type = NodeType::Array; - n_elevation->m_addornements = "[16[17"; - n_elevation->m_array_size = 16; - n_elevation->m_address = base + offset; - n_elevation->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_elevation); - -} -void node_from_world_region_details__T_rivers_horizontal(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "y_min"; - auto n_y_min = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_details__T_rivers_horizontal, field_name)); - n_y_min->m_field_name = field_name; - n_y_min->m_df_type = DF_Type::int16_t; - n_y_min->m_rdf_type = RDF_Type::Array; - n_y_min->m_node_type = NodeType::Array; - n_y_min->m_addornements = "[17[16"; - n_y_min->m_array_size = 17; - n_y_min->m_address = base + offset; - n_y_min->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_y_min); - - field_name = "y_max"; - auto n_y_max = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_details__T_rivers_horizontal, field_name)); - n_y_max->m_field_name = field_name; - n_y_max->m_df_type = DF_Type::int16_t; - n_y_max->m_rdf_type = RDF_Type::Array; - n_y_max->m_node_type = NodeType::Array; - n_y_max->m_addornements = "[17[16"; - n_y_max->m_array_size = 17; - n_y_max->m_address = base + offset; - n_y_max->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_y_max); - - field_name = "active"; - auto n_active = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_details__T_rivers_horizontal, field_name)); - n_active->m_field_name = field_name; - n_active->m_df_type = DF_Type::int8_t; - n_active->m_rdf_type = RDF_Type::Array; - n_active->m_node_type = NodeType::Array; - n_active->m_addornements = "[17[16"; - n_active->m_array_size = 17; - n_active->m_address = base + offset; - n_active->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_active); - - field_name = "elevation"; - auto n_elevation = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_details__T_rivers_horizontal, field_name)); - n_elevation->m_field_name = field_name; - n_elevation->m_df_type = DF_Type::int16_t; - n_elevation->m_rdf_type = RDF_Type::Array; - n_elevation->m_node_type = NodeType::Array; - n_elevation->m_addornements = "[17[16"; - n_elevation->m_array_size = 17; - n_elevation->m_address = base + offset; - n_elevation->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_elevation); - -} -void node_from_world_region_details(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "biome"; - auto n_biome = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_details, field_name)); - n_biome->m_field_name = field_name; - n_biome->m_df_type = DF_Type::int8_t; - n_biome->m_rdf_type = RDF_Type::Array; - n_biome->m_comment = "biome field reference: 789 456 123 as directions, with 5 = own world tile, 1 = SW, 9 = NE, etc."; - n_biome->m_node_type = NodeType::Array; - n_biome->m_addornements = "[17[17"; - n_biome->m_array_size = 17; - n_biome->m_address = base + offset; - n_biome->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_biome); - - field_name = "elevation"; - auto n_elevation = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_details, field_name)); - n_elevation->m_field_name = field_name; - n_elevation->m_df_type = DF_Type::int16_t; - n_elevation->m_rdf_type = RDF_Type::Array; - n_elevation->m_node_type = NodeType::Array; - n_elevation->m_addornements = "[17[17"; - n_elevation->m_array_size = 17; - n_elevation->m_address = base + offset; - n_elevation->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_elevation); - - field_name = "seed"; - auto n_seed = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_details, field_name)); - n_seed->m_field_name = field_name; - n_seed->m_df_type = DF_Type::uint32_t; - n_seed->m_rdf_type = RDF_Type::Array; - n_seed->m_comment = "looks random"; - n_seed->m_node_type = NodeType::Array; - n_seed->m_addornements = "[16[16"; - n_seed->m_array_size = 16; - n_seed->m_address = base + offset; - n_seed->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_seed); - - field_name = "edges"; - auto n_edges = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_details, field_name)); - n_edges->m_field_name = field_name; - n_edges->m_df_type = DF_Type::world_region_details__T_edges; - n_edges->m_rdf_type = RDF_Type::Compound; - n_edges->m_node_type = NodeType::Compound; - n_edges->m_address = base + offset; - n_edges->m_comment = "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: +-/----/+ | / / * | / / +-/-/---+ After this, each corner and edge segment is assigned the biome of one of the adjoining 4 or 2 embark tiles, based on the values in these arrays. It may be necessary to access adjacent details objects to collect the full outline: c11 x11 | c21 y11 *** | y21 ------------- c12 x12 | c22 There are also certain rules forcing ocean/lake biomes to lose edges to mountains, and both of them to anything else, no matter what the original array value is. The actual biomes for tiles in the frame are semi-randomly interpolated from this edge spec. For some reason DF provides for all edges of all mid level tiles in a world tile, but not for the corners on the south and east edges: for these you have to go to the next world tile. This has some effect on the corners on the south and east edges of the world where there are no adjacent tiles to get the data from. There the rules are static: the biomes of corners are taken from the easternmost and southernmost of the two touching corners. The rules for corner determination when the biome_corner field has specified a biome that's specified to yield as per the above seems to be to first take the NW corner (0), then the NE (1) one, and then the SW (2) one. If the selected corner doesn't exist (because it's outside of the world) the same fallback corner selection is used, with the exception of a northern row selection of NW (0), where the home corner (3) is selected."; - n_edges->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_edges); - - field_name = "pos"; - auto n_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_details, field_name)); - n_pos->m_field_name = field_name; - n_pos->m_df_type = DF_Type::coord2d; - n_pos->m_rdf_type = RDF_Type::Struct; - n_pos->m_node_type = NodeType::Compound; - n_pos->m_address = base + offset; - n_pos->m_defined_in = "df.map.xml"; - n_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pos); - - field_name = "unk12e8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_details, field_name)); - auto n_unk12e8 = new NodeSimple; - n_unk12e8->m_field_name = field_name; - n_unk12e8->m_df_type = DF_Type::int16_t; - n_unk12e8->m_rdf_type = RDF_Type::int16_t; - n_unk12e8->m_node_type = NodeType::Simple; - n_unk12e8->m_address = base + offset; - n_unk12e8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk12e8); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_details, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int16_t; - n_anon_1->m_rdf_type = RDF_Type::int16_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_details, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int16_t; - n_anon_2->m_rdf_type = RDF_Type::int16_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_details, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int16_t; - n_anon_3->m_rdf_type = RDF_Type::int16_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_details, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int16_t; - n_anon_4->m_rdf_type = RDF_Type::int16_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "rivers_vertical"; - auto n_rivers_vertical = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_details, field_name)); - n_rivers_vertical->m_field_name = field_name; - n_rivers_vertical->m_df_type = DF_Type::world_region_details__T_rivers_vertical; - n_rivers_vertical->m_rdf_type = RDF_Type::Compound; - n_rivers_vertical->m_node_type = NodeType::Compound; - n_rivers_vertical->m_address = base + offset; - n_rivers_vertical->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rivers_vertical); - - field_name = "rivers_horizontal"; - auto n_rivers_horizontal = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_details, field_name)); - n_rivers_horizontal->m_field_name = field_name; - n_rivers_horizontal->m_df_type = DF_Type::world_region_details__T_rivers_horizontal; - n_rivers_horizontal->m_rdf_type = RDF_Type::Compound; - n_rivers_horizontal->m_node_type = NodeType::Compound; - n_rivers_horizontal->m_address = base + offset; - n_rivers_horizontal->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rivers_horizontal); - - field_name = "unk11"; - auto n_unk11 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_details, field_name)); - n_unk11->m_field_name = field_name; - n_unk11->m_df_type = DF_Type::int8_t; - n_unk11->m_rdf_type = RDF_Type::Array; - n_unk11->m_node_type = NodeType::Array; - n_unk11->m_addornements = "[16[16"; - n_unk11->m_array_size = 16; - n_unk11->m_address = base + offset; - n_unk11->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk11); - - field_name = "features"; - auto n_features = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_details, field_name)); - n_features->m_field_name = field_name; - n_features->m_df_type = DF_Type::world_region_feature; - n_features->m_rdf_type = RDF_Type::Array; - n_features->m_node_type = NodeType::Array; - n_features->m_defined_in = "df.world-data.xml"; - n_features->m_addornements = "[16[16v*"; - n_features->m_array_size = 16; - n_features->m_address = base + offset; - n_features->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_features); - - field_name = "lava_stone"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_details, field_name)); - auto n_lava_stone = new NodeSimple; - n_lava_stone->m_field_name = field_name; - n_lava_stone->m_df_type = DF_Type::int16_t; - n_lava_stone->m_rdf_type = RDF_Type::int16_t; - n_lava_stone->m_node_type = NodeType::Simple; - n_lava_stone->m_address = base + offset; - n_lava_stone->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_lava_stone); - - field_name = "unk_12"; - auto n_unk_12 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_details, field_name)); - n_unk_12->m_field_name = field_name; - n_unk_12->m_df_type = DF_Type::int16_t; - n_unk_12->m_rdf_type = RDF_Type::Array; - n_unk_12->m_node_type = NodeType::Array; - n_unk_12->m_addornements = "[1152"; - n_unk_12->m_array_size = 1152; - n_unk_12->m_address = base + offset; - n_unk_12->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_12); - - field_name = "elevation2"; - auto n_elevation2 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_details, field_name)); - n_elevation2->m_field_name = field_name; - n_elevation2->m_df_type = DF_Type::int16_t; - n_elevation2->m_rdf_type = RDF_Type::Array; - n_elevation2->m_node_type = NodeType::Array; - n_elevation2->m_addornements = "[16[16"; - n_elevation2->m_array_size = 16; - n_elevation2->m_address = base + offset; - n_elevation2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_elevation2); - - field_name = "undef13"; - auto n_undef13 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_details, field_name)); - n_undef13->m_field_name = field_name; - n_undef13->m_df_type = DF_Type::int32_t; - n_undef13->m_rdf_type = RDF_Type::Array; - n_undef13->m_node_type = NodeType::Array; - n_undef13->m_addornements = "[256"; - n_undef13->m_array_size = 256; - n_undef13->m_address = base + offset; - n_undef13->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_undef13); - -} -void node_from_region_map_entry(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk_0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::region_map_entry, field_name)); - auto n_unk_0 = new NodeSimple; - n_unk_0->m_field_name = field_name; - n_unk_0->m_df_type = DF_Type::int32_t; - n_unk_0->m_rdf_type = RDF_Type::int32_t; - n_unk_0->m_node_type = NodeType::Simple; - n_unk_0->m_address = base + offset; - n_unk_0->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_0); - - field_name = "finder_rank"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::region_map_entry, field_name)); - auto n_finder_rank = new NodeSimple; - n_finder_rank->m_field_name = field_name; - n_finder_rank->m_df_type = DF_Type::int32_t; - n_finder_rank->m_rdf_type = RDF_Type::int32_t; - n_finder_rank->m_node_type = NodeType::Simple; - n_finder_rank->m_address = base + offset; - n_finder_rank->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_finder_rank); - - field_name = "sites"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::region_map_entry, field_name)); - auto n_sites = new NodeVector; - n_sites->m_field_name = field_name; - n_sites->m_df_type = DF_Type::world_site; - n_sites->m_rdf_type = RDF_Type::Vector; - n_sites->m_node_type = NodeType::Vector; - n_sites->m_defined_in = "df.world-site.xml"; - n_sites->m_addornements = "v*"; - n_sites->m_address = base + offset; - n_sites->m_parent = p_node_parent; - n_sites->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_sites); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::region_map_entry, field_name)); - auto n_flags = new NodeDFFlagArray; - n_flags->m_field_name = field_name; - n_flags->m_index_enum = DF_Type::region_map_entry_flags; - n_flags->m_df_type = DF_Type::region_map_entry_flags; - n_flags->m_size = 24; - n_flags->m_rdf_type = RDF_Type::DFFlagArray; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_defined_in = "df.world-data.xml"; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "elevation"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::region_map_entry, field_name)); - auto n_elevation = new NodeSimple; - n_elevation->m_field_name = field_name; - n_elevation->m_df_type = DF_Type::int16_t; - n_elevation->m_rdf_type = RDF_Type::int16_t; - n_elevation->m_node_type = NodeType::Simple; - n_elevation->m_address = base + offset; - n_elevation->m_comment = "0-99=Ocean, 150+=Mountains, 100-149: all other biomes. Note that PSV elevation uses 100-299 for normal biomes, with range later cut to 1/4, and Mountains shifted down"; - n_elevation->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_elevation); - - field_name = "rainfall"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::region_map_entry, field_name)); - auto n_rainfall = new NodeSimple; - n_rainfall->m_field_name = field_name; - n_rainfall->m_df_type = DF_Type::int16_t; - n_rainfall->m_rdf_type = RDF_Type::int16_t; - n_rainfall->m_node_type = NodeType::Simple; - n_rainfall->m_address = base + offset; - n_rainfall->m_comment = "0-100"; - n_rainfall->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rainfall); - - field_name = "vegetation"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::region_map_entry, field_name)); - auto n_vegetation = new NodeSimple; - n_vegetation->m_field_name = field_name; - n_vegetation->m_df_type = DF_Type::int16_t; - n_vegetation->m_rdf_type = RDF_Type::int16_t; - n_vegetation->m_node_type = NodeType::Simple; - n_vegetation->m_address = base + offset; - n_vegetation->m_comment = "0-100"; - n_vegetation->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_vegetation); - - field_name = "temperature"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::region_map_entry, field_name)); - auto n_temperature = new NodeSimple; - n_temperature->m_field_name = field_name; - n_temperature->m_df_type = DF_Type::int16_t; - n_temperature->m_rdf_type = RDF_Type::int16_t; - n_temperature->m_node_type = NodeType::Simple; - n_temperature->m_address = base + offset; - n_temperature->m_comment = "Urists. 10000 Urists=0 Celsius"; - n_temperature->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_temperature); - - field_name = "evilness"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::region_map_entry, field_name)); - auto n_evilness = new NodeSimple; - n_evilness->m_field_name = field_name; - n_evilness->m_df_type = DF_Type::int16_t; - n_evilness->m_rdf_type = RDF_Type::int16_t; - n_evilness->m_node_type = NodeType::Simple; - n_evilness->m_address = base + offset; - n_evilness->m_comment = "0-32=Good, 33-65=Neutral, 66-100=Evil"; - n_evilness->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_evilness); - - field_name = "drainage"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::region_map_entry, field_name)); - auto n_drainage = new NodeSimple; - n_drainage->m_field_name = field_name; - n_drainage->m_df_type = DF_Type::int16_t; - n_drainage->m_rdf_type = RDF_Type::int16_t; - n_drainage->m_node_type = NodeType::Simple; - n_drainage->m_address = base + offset; - n_drainage->m_comment = "0-100"; - n_drainage->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_drainage); - - field_name = "volcanism"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::region_map_entry, field_name)); - auto n_volcanism = new NodeSimple; - n_volcanism->m_field_name = field_name; - n_volcanism->m_df_type = DF_Type::int16_t; - n_volcanism->m_rdf_type = RDF_Type::int16_t; - n_volcanism->m_node_type = NodeType::Simple; - n_volcanism->m_address = base + offset; - n_volcanism->m_comment = "0-100"; - n_volcanism->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_volcanism); - - field_name = "savagery"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::region_map_entry, field_name)); - auto n_savagery = new NodeSimple; - n_savagery->m_field_name = field_name; - n_savagery->m_df_type = DF_Type::int16_t; - n_savagery->m_rdf_type = RDF_Type::int16_t; - n_savagery->m_node_type = NodeType::Simple; - n_savagery->m_address = base + offset; - n_savagery->m_comment = "0-32=Calm, 33-65=Neutral, 66-100=Savage"; - n_savagery->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_savagery); - - field_name = "air_temp"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::region_map_entry, field_name)); - auto n_air_temp = new NodeSimple; - n_air_temp->m_field_name = field_name; - n_air_temp->m_df_type = DF_Type::int16_t; - n_air_temp->m_rdf_type = RDF_Type::int16_t; - n_air_temp->m_node_type = NodeType::Simple; - n_air_temp->m_address = base + offset; - n_air_temp->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_air_temp); - - field_name = "air_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::region_map_entry, field_name)); - auto n_air_x = new NodeSimple; - n_air_x->m_field_name = field_name; - n_air_x->m_df_type = DF_Type::int16_t; - n_air_x->m_rdf_type = RDF_Type::int16_t; - n_air_x->m_node_type = NodeType::Simple; - n_air_x->m_address = base + offset; - n_air_x->m_comment = "Toady: a velocity component? I dont remember"; - n_air_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_air_x); - - field_name = "air_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::region_map_entry, field_name)); - auto n_air_y = new NodeSimple; - n_air_y->m_field_name = field_name; - n_air_y->m_df_type = DF_Type::int16_t; - n_air_y->m_rdf_type = RDF_Type::int16_t; - n_air_y->m_node_type = NodeType::Simple; - n_air_y->m_address = base + offset; - n_air_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_air_y); - - field_name = "clouds"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::region_map_entry, field_name)); - auto n_clouds = new NodeBitfield; - n_clouds->m_field_name = field_name; - n_clouds->m_df_type = DF_Type::region_map_entry__T_clouds; - n_clouds->m_rdf_type = RDF_Type::Bitfield; - n_clouds->m_node_type = NodeType::Bitfield; - n_clouds->m_address = base + offset; - n_clouds->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_clouds); - - field_name = "wind"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::region_map_entry, field_name)); - auto n_wind = new NodeBitfield; - n_wind->m_field_name = field_name; - n_wind->m_df_type = DF_Type::region_map_entry__T_wind; - n_wind->m_rdf_type = RDF_Type::Bitfield; - n_wind->m_node_type = NodeType::Bitfield; - n_wind->m_address = base + offset; - n_wind->m_comment = "blows toward direction in morning"; - n_wind->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_wind); - - field_name = "snowfall"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::region_map_entry, field_name)); - auto n_snowfall = new NodeSimple; - n_snowfall->m_field_name = field_name; - n_snowfall->m_df_type = DF_Type::int16_t; - n_snowfall->m_rdf_type = RDF_Type::int16_t; - n_snowfall->m_node_type = NodeType::Simple; - n_snowfall->m_address = base + offset; - n_snowfall->m_comment = "0-5000, humidity?"; - n_snowfall->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_snowfall); - - field_name = "salinity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::region_map_entry, field_name)); - auto n_salinity = new NodeSimple; - n_salinity->m_field_name = field_name; - n_salinity->m_df_type = DF_Type::int16_t; - n_salinity->m_rdf_type = RDF_Type::int16_t; - n_salinity->m_node_type = NodeType::Simple; - n_salinity->m_address = base + offset; - n_salinity->m_comment = "0-100"; - n_salinity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_salinity); - - field_name = "unk_3e"; - auto n_unk_3e = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::region_map_entry, field_name)); - n_unk_3e->m_field_name = field_name; - n_unk_3e->m_df_type = DF_Type::coord; - n_unk_3e->m_rdf_type = RDF_Type::Struct; - n_unk_3e->m_node_type = NodeType::Compound; - n_unk_3e->m_address = base + offset; - n_unk_3e->m_defined_in = "df.map.xml"; - n_unk_3e->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_3e); - - field_name = "unk_44"; - auto n_unk_44 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::region_map_entry, field_name)); - n_unk_44->m_field_name = field_name; - n_unk_44->m_df_type = DF_Type::coord; - n_unk_44->m_rdf_type = RDF_Type::Struct; - n_unk_44->m_node_type = NodeType::Compound; - n_unk_44->m_address = base + offset; - n_unk_44->m_defined_in = "df.map.xml"; - n_unk_44->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_44); - - field_name = "unk_4a"; - auto n_unk_4a = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::region_map_entry, field_name)); - n_unk_4a->m_field_name = field_name; - n_unk_4a->m_df_type = DF_Type::coord; - n_unk_4a->m_rdf_type = RDF_Type::Struct; - n_unk_4a->m_node_type = NodeType::Compound; - n_unk_4a->m_address = base + offset; - n_unk_4a->m_defined_in = "df.map.xml"; - n_unk_4a->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_4a); - - field_name = "region_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::region_map_entry, field_name)); - auto n_region_id = new NodeSimple; - n_region_id->m_field_name = field_name; - n_region_id->m_df_type = DF_Type::int32_t; - n_region_id->m_rdf_type = RDF_Type::int32_t; - n_region_id->m_node_type = NodeType::Simple; - n_region_id->m_address = base + offset; - n_region_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region_id); - - field_name = "landmass_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::region_map_entry, field_name)); - auto n_landmass_id = new NodeSimple; - n_landmass_id->m_field_name = field_name; - n_landmass_id->m_df_type = DF_Type::int32_t; - n_landmass_id->m_rdf_type = RDF_Type::int32_t; - n_landmass_id->m_node_type = NodeType::Simple; - n_landmass_id->m_address = base + offset; - n_landmass_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_landmass_id); - - field_name = "geo_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::region_map_entry, field_name)); - auto n_geo_index = new NodeSimple; - n_geo_index->m_field_name = field_name; - n_geo_index->m_df_type = DF_Type::int16_t; - n_geo_index->m_rdf_type = RDF_Type::int16_t; - n_geo_index->m_node_type = NodeType::Simple; - n_geo_index->m_address = base + offset; - n_geo_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_geo_index); - -} -void node_from_entity_claim_mask__T_map(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "entities"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_claim_mask__T_map, field_name)); - auto n_entities = new NodeVector; - n_entities->m_field_name = field_name; - n_entities->m_df_type = DF_Type::int32_t; - n_entities->m_rdf_type = RDF_Type::Vector; - n_entities->m_node_type = NodeType::Vector; - n_entities->m_addornements = "v"; - n_entities->m_address = base + offset; - n_entities->m_parent = p_node_parent; - n_entities->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_entities); - - field_name = "region_masks"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_claim_mask__T_map, field_name)); - auto n_region_masks = new NodeVector; - n_region_masks->m_field_name = field_name; - n_region_masks->m_df_type = DF_Type::uint8_t; - n_region_masks->m_rdf_type = RDF_Type::Vector; - n_region_masks->m_node_type = NodeType::Vector; - n_region_masks->m_addornements = "v*[16[16"; - n_region_masks->m_address = base + offset; - n_region_masks->m_parent = p_node_parent; - n_region_masks->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_region_masks); - -} -void node_from_entity_claim_mask(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "map"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_claim_mask, field_name)); - auto n_map = new NodePointer; - n_map->m_field_name = field_name; - n_map->m_df_type = DF_Type::entity_claim_mask__T_map; - n_map->m_rdf_type = RDF_Type::Pointer; - n_map->m_node_type = NodeType::Pointer; - n_map->m_addornements = "**"; - n_map->m_address = base + offset; - n_map->m_parent = p_node_parent; - n_map->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_map); - - field_name = "width"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_claim_mask, field_name)); - auto n_width = new NodeSimple; - n_width->m_field_name = field_name; - n_width->m_df_type = DF_Type::int16_t; - n_width->m_rdf_type = RDF_Type::int16_t; - n_width->m_node_type = NodeType::Simple; - n_width->m_address = base + offset; - n_width->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_width); - - field_name = "height"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_claim_mask, field_name)); - auto n_height = new NodeSimple; - n_height->m_field_name = field_name; - n_height->m_df_type = DF_Type::int16_t; - n_height->m_rdf_type = RDF_Type::int16_t; - n_height->m_node_type = NodeType::Simple; - n_height->m_address = base + offset; - n_height->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_height); - -} -void node_from_moving_party__T_members(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "nemesis_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::moving_party__T_members, field_name)); - auto n_nemesis_id = new NodeSimple; - n_nemesis_id->m_field_name = field_name; - n_nemesis_id->m_df_type = DF_Type::int32_t; - n_nemesis_id->m_rdf_type = RDF_Type::int32_t; - n_nemesis_id->m_node_type = NodeType::Simple; - n_nemesis_id->m_address = base + offset; - n_nemesis_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_nemesis_id); - - field_name = "hunger"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::moving_party__T_members, field_name)); - auto n_hunger = new NodeSimple; - n_hunger->m_field_name = field_name; - n_hunger->m_df_type = DF_Type::int32_t; - n_hunger->m_rdf_type = RDF_Type::int32_t; - n_hunger->m_node_type = NodeType::Simple; - n_hunger->m_address = base + offset; - n_hunger->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_hunger); - - field_name = "thirst"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::moving_party__T_members, field_name)); - auto n_thirst = new NodeSimple; - n_thirst->m_field_name = field_name; - n_thirst->m_df_type = DF_Type::int32_t; - n_thirst->m_rdf_type = RDF_Type::int32_t; - n_thirst->m_node_type = NodeType::Simple; - n_thirst->m_address = base + offset; - n_thirst->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_thirst); - - field_name = "sleepiness"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::moving_party__T_members, field_name)); - auto n_sleepiness = new NodeSimple; - n_sleepiness->m_field_name = field_name; - n_sleepiness->m_df_type = DF_Type::int32_t; - n_sleepiness->m_rdf_type = RDF_Type::int32_t; - n_sleepiness->m_node_type = NodeType::Simple; - n_sleepiness->m_address = base + offset; - n_sleepiness->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sleepiness); - - field_name = "stored_fat"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::moving_party__T_members, field_name)); - auto n_stored_fat = new NodeSimple; - n_stored_fat->m_field_name = field_name; - n_stored_fat->m_df_type = DF_Type::int32_t; - n_stored_fat->m_rdf_type = RDF_Type::int32_t; - n_stored_fat->m_node_type = NodeType::Simple; - n_stored_fat->m_address = base + offset; - n_stored_fat->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_stored_fat); - - field_name = "unk_14"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::moving_party__T_members, field_name)); - auto n_unk_14 = new NodeSimple; - n_unk_14->m_field_name = field_name; - n_unk_14->m_df_type = DF_Type::int32_t; - n_unk_14->m_rdf_type = RDF_Type::int32_t; - n_unk_14->m_node_type = NodeType::Simple; - n_unk_14->m_address = base + offset; - n_unk_14->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_14); - - field_name = "unk_18"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::moving_party__T_members, field_name)); - auto n_unk_18 = new NodeSimple; - n_unk_18->m_field_name = field_name; - n_unk_18->m_df_type = DF_Type::int32_t; - n_unk_18->m_rdf_type = RDF_Type::int32_t; - n_unk_18->m_node_type = NodeType::Simple; - n_unk_18->m_address = base + offset; - n_unk_18->m_comment = "maybe type"; - n_unk_18->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_18); - - field_name = "unk_1c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::moving_party__T_members, field_name)); - auto n_unk_1c = new NodeSimple; - n_unk_1c->m_field_name = field_name; - n_unk_1c->m_df_type = DF_Type::int32_t; - n_unk_1c->m_rdf_type = RDF_Type::int32_t; - n_unk_1c->m_node_type = NodeType::Simple; - n_unk_1c->m_address = base + offset; - n_unk_1c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_1c); - - field_name = "unk_20"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::moving_party__T_members, field_name)); - auto n_unk_20 = new NodeSimple; - n_unk_20->m_field_name = field_name; - n_unk_20->m_df_type = DF_Type::int32_t; - n_unk_20->m_rdf_type = RDF_Type::int32_t; - n_unk_20->m_node_type = NodeType::Simple; - n_unk_20->m_address = base + offset; - n_unk_20->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_20); - - field_name = "unk_24"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::moving_party__T_members, field_name)); - auto n_unk_24 = new NodeSimple; - n_unk_24->m_field_name = field_name; - n_unk_24->m_df_type = DF_Type::int32_t; - n_unk_24->m_rdf_type = RDF_Type::int32_t; - n_unk_24->m_node_type = NodeType::Simple; - n_unk_24->m_address = base + offset; - n_unk_24->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_24); - -} -void node_from_moving_party(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "pos"; - auto n_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::moving_party, field_name)); - n_pos->m_field_name = field_name; - n_pos->m_df_type = DF_Type::coord2d; - n_pos->m_rdf_type = RDF_Type::Struct; - n_pos->m_node_type = NodeType::Compound; - n_pos->m_address = base + offset; - n_pos->m_defined_in = "df.map.xml"; - n_pos->m_comment = "global block x/y"; - n_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pos); - - field_name = "unk_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::moving_party, field_name)); - auto n_unk_4 = new NodeSimple; - n_unk_4->m_field_name = field_name; - n_unk_4->m_df_type = DF_Type::int16_t; - n_unk_4->m_rdf_type = RDF_Type::int16_t; - n_unk_4->m_node_type = NodeType::Simple; - n_unk_4->m_address = base + offset; - n_unk_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_4); - - field_name = "unk_c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::moving_party, field_name)); - auto n_unk_c = new NodeSimple; - n_unk_c->m_field_name = field_name; - n_unk_c->m_df_type = DF_Type::int32_t; - n_unk_c->m_rdf_type = RDF_Type::int32_t; - n_unk_c->m_node_type = NodeType::Simple; - n_unk_c->m_address = base + offset; - n_unk_c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_c); - - field_name = "unk_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::moving_party, field_name)); - auto n_unk_10 = new NodeSimple; - n_unk_10->m_field_name = field_name; - n_unk_10->m_df_type = DF_Type::int32_t; - n_unk_10->m_rdf_type = RDF_Type::int32_t; - n_unk_10->m_node_type = NodeType::Simple; - n_unk_10->m_address = base + offset; - n_unk_10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_10); - - field_name = "members"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::moving_party, field_name)); - auto n_members = new NodeVector; - n_members->m_field_name = field_name; - n_members->m_df_type = DF_Type::moving_party__T_members; - n_members->m_rdf_type = RDF_Type::Vector; - n_members->m_node_type = NodeType::Vector; - n_members->m_addornements = "v*"; - n_members->m_address = base + offset; - n_members->m_parent = p_node_parent; - n_members->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_members); - - field_name = "entity_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::moving_party, field_name)); - auto n_entity_id = new NodeSimple; - n_entity_id->m_field_name = field_name; - n_entity_id->m_df_type = DF_Type::int32_t; - n_entity_id->m_rdf_type = RDF_Type::int32_t; - n_entity_id->m_node_type = NodeType::Simple; - n_entity_id->m_address = base + offset; - n_entity_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity_id); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::moving_party, field_name)); - auto n_flags = new NodeDFFlagArray; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::int32_t; - n_flags->m_size = 32; - n_flags->m_rdf_type = RDF_Type::DFFlagArray; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "unk_30"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::moving_party, field_name)); - auto n_unk_30 = new NodeVector; - n_unk_30->m_field_name = field_name; - n_unk_30->m_df_type = DF_Type::Void; - n_unk_30->m_rdf_type = RDF_Type::Vector; - n_unk_30->m_node_type = NodeType::Vector; - n_unk_30->m_addornements = "v"; - n_unk_30->m_address = base + offset; - n_unk_30->m_parent = p_node_parent; - n_unk_30->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_30); - - field_name = "unk_40"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::moving_party, field_name)); - auto n_unk_40 = new NodeVector; - n_unk_40->m_field_name = field_name; - n_unk_40->m_df_type = DF_Type::Void; - n_unk_40->m_rdf_type = RDF_Type::Vector; - n_unk_40->m_node_type = NodeType::Vector; - n_unk_40->m_addornements = "v"; - n_unk_40->m_address = base + offset; - n_unk_40->m_parent = p_node_parent; - n_unk_40->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_40); - - field_name = "unk_70"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::moving_party, field_name)); - auto n_unk_70 = new NodeSimple; - n_unk_70->m_field_name = field_name; - n_unk_70->m_df_type = DF_Type::int16_t; - n_unk_70->m_rdf_type = RDF_Type::int16_t; - n_unk_70->m_node_type = NodeType::Simple; - n_unk_70->m_address = base + offset; - n_unk_70->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_70); - - field_name = "unk_72"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::moving_party, field_name)); - auto n_unk_72 = new NodeSimple; - n_unk_72->m_field_name = field_name; - n_unk_72->m_df_type = DF_Type::int16_t; - n_unk_72->m_rdf_type = RDF_Type::int16_t; - n_unk_72->m_node_type = NodeType::Simple; - n_unk_72->m_address = base + offset; - n_unk_72->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_72); - - field_name = "unk_74"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::moving_party, field_name)); - auto n_unk_74 = new NodeSimple; - n_unk_74->m_field_name = field_name; - n_unk_74->m_df_type = DF_Type::int16_t; - n_unk_74->m_rdf_type = RDF_Type::int16_t; - n_unk_74->m_node_type = NodeType::Simple; - n_unk_74->m_address = base + offset; - n_unk_74->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_74); - - field_name = "unk_7c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::moving_party, field_name)); - auto n_unk_7c = new NodeSimple; - n_unk_7c->m_field_name = field_name; - n_unk_7c->m_df_type = DF_Type::int32_t; - n_unk_7c->m_rdf_type = RDF_Type::int32_t; - n_unk_7c->m_node_type = NodeType::Simple; - n_unk_7c->m_address = base + offset; - n_unk_7c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_7c); - - field_name = "region_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::moving_party, field_name)); - auto n_region_id = new NodeSimple; - n_region_id->m_field_name = field_name; - n_region_id->m_df_type = DF_Type::int32_t; - n_region_id->m_rdf_type = RDF_Type::int32_t; - n_region_id->m_node_type = NodeType::Simple; - n_region_id->m_address = base + offset; - n_region_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region_id); - - field_name = "beast_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::moving_party, field_name)); - auto n_beast_id = new NodeSimple; - n_beast_id->m_field_name = field_name; - n_beast_id->m_df_type = DF_Type::int32_t; - n_beast_id->m_rdf_type = RDF_Type::int32_t; - n_beast_id->m_node_type = NodeType::Simple; - n_beast_id->m_address = base + offset; - n_beast_id->m_comment = "for FB"; - n_beast_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_beast_id); - -} -void node_from_world_object_data__T_offloaded_items(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "item"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data__T_offloaded_items, field_name)); - auto n_item = new NodePointer; - n_item->m_field_name = field_name; - n_item->m_df_type = get_real_subtype(base+offset, DF_Type::item); - n_item->m_rdf_type = RDF_Type::Pointer; - n_item->m_node_type = NodeType::Pointer; - n_item->m_addornements = "*"; - n_item->m_address = base + offset; - n_item->m_parent = p_node_parent; - n_item->m_defined_in = "df.items.xml"; - n_item->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_item); - - field_name = "global_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data__T_offloaded_items, field_name)); - auto n_global_x = new NodeSimple; - n_global_x->m_field_name = field_name; - n_global_x->m_df_type = DF_Type::int32_t; - n_global_x->m_rdf_type = RDF_Type::int32_t; - n_global_x->m_node_type = NodeType::Simple; - n_global_x->m_address = base + offset; - n_global_x->m_comment = "in tiles it seems"; - n_global_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_global_x); - - field_name = "global_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data__T_offloaded_items, field_name)); - auto n_global_y = new NodeSimple; - n_global_y->m_field_name = field_name; - n_global_y->m_df_type = DF_Type::int32_t; - n_global_y->m_rdf_type = RDF_Type::int32_t; - n_global_y->m_node_type = NodeType::Simple; - n_global_y->m_address = base + offset; - n_global_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_global_y); - - field_name = "global_z"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data__T_offloaded_items, field_name)); - auto n_global_z = new NodeSimple; - n_global_z->m_field_name = field_name; - n_global_z->m_df_type = DF_Type::int32_t; - n_global_z->m_rdf_type = RDF_Type::int32_t; - n_global_z->m_node_type = NodeType::Simple; - n_global_z->m_address = base + offset; - n_global_z->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_global_z); - - field_name = "container"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data__T_offloaded_items, field_name)); - auto n_container = new NodeSimple; - n_container->m_field_name = field_name; - n_container->m_df_type = DF_Type::int32_t; - n_container->m_rdf_type = RDF_Type::int32_t; - n_container->m_node_type = NodeType::Simple; - n_container->m_address = base + offset; - n_container->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_container); - - field_name = "building"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data__T_offloaded_items, field_name)); - auto n_building = new NodeSimple; - n_building->m_field_name = field_name; - n_building->m_df_type = DF_Type::int32_t; - n_building->m_rdf_type = RDF_Type::int32_t; - n_building->m_node_type = NodeType::Simple; - n_building->m_address = base + offset; - n_building->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_building); - - field_name = "unk_18"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data__T_offloaded_items, field_name)); - auto n_unk_18 = new NodeSimple; - n_unk_18->m_field_name = field_name; - n_unk_18->m_df_type = DF_Type::int32_t; - n_unk_18->m_rdf_type = RDF_Type::int32_t; - n_unk_18->m_node_type = NodeType::Simple; - n_unk_18->m_address = base + offset; - n_unk_18->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_18); - -} -void node_from_world_object_data__T_offloaded_buildings(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "building"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data__T_offloaded_buildings, field_name)); - auto n_building = new NodePointer; - n_building->m_field_name = field_name; - n_building->m_df_type = get_real_subtype(base+offset, DF_Type::building); - n_building->m_rdf_type = RDF_Type::Pointer; - n_building->m_node_type = NodeType::Pointer; - n_building->m_addornements = "*"; - n_building->m_address = base + offset; - n_building->m_parent = p_node_parent; - n_building->m_defined_in = "df.buildings.xml"; - n_building->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_building); - - field_name = "global_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data__T_offloaded_buildings, field_name)); - auto n_global_x = new NodeSimple; - n_global_x->m_field_name = field_name; - n_global_x->m_df_type = DF_Type::int32_t; - n_global_x->m_rdf_type = RDF_Type::int32_t; - n_global_x->m_node_type = NodeType::Simple; - n_global_x->m_address = base + offset; - n_global_x->m_comment = "in tiles it seems"; - n_global_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_global_x); - - field_name = "global_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data__T_offloaded_buildings, field_name)); - auto n_global_y = new NodeSimple; - n_global_y->m_field_name = field_name; - n_global_y->m_df_type = DF_Type::int32_t; - n_global_y->m_rdf_type = RDF_Type::int32_t; - n_global_y->m_node_type = NodeType::Simple; - n_global_y->m_address = base + offset; - n_global_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_global_y); - - field_name = "global_z"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data__T_offloaded_buildings, field_name)); - auto n_global_z = new NodeSimple; - n_global_z->m_field_name = field_name; - n_global_z->m_df_type = DF_Type::int32_t; - n_global_z->m_rdf_type = RDF_Type::int32_t; - n_global_z->m_node_type = NodeType::Simple; - n_global_z->m_address = base + offset; - n_global_z->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_global_z); - - field_name = "unk_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data__T_offloaded_buildings, field_name)); - auto n_unk_10 = new NodeSimple; - n_unk_10->m_field_name = field_name; - n_unk_10->m_df_type = DF_Type::int32_t; - n_unk_10->m_rdf_type = RDF_Type::int32_t; - n_unk_10->m_node_type = NodeType::Simple; - n_unk_10->m_address = base + offset; - n_unk_10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_10); - -} -void node_from_world_object_data__T_unk_94(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "global_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data__T_unk_94, field_name)); - auto n_global_x = new NodeSimple; - n_global_x->m_field_name = field_name; - n_global_x->m_df_type = DF_Type::int32_t; - n_global_x->m_rdf_type = RDF_Type::int32_t; - n_global_x->m_node_type = NodeType::Simple; - n_global_x->m_address = base + offset; - n_global_x->m_comment = "in tiles it seems"; - n_global_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_global_x); - - field_name = "global_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data__T_unk_94, field_name)); - auto n_global_y = new NodeSimple; - n_global_y->m_field_name = field_name; - n_global_y->m_df_type = DF_Type::int32_t; - n_global_y->m_rdf_type = RDF_Type::int32_t; - n_global_y->m_node_type = NodeType::Simple; - n_global_y->m_address = base + offset; - n_global_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_global_y); - - field_name = "global_z"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data__T_unk_94, field_name)); - auto n_global_z = new NodeSimple; - n_global_z->m_field_name = field_name; - n_global_z->m_df_type = DF_Type::int32_t; - n_global_z->m_rdf_type = RDF_Type::int32_t; - n_global_z->m_node_type = NodeType::Simple; - n_global_z->m_address = base + offset; - n_global_z->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_global_z); - - field_name = "unk_c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data__T_unk_94, field_name)); - auto n_unk_c = new NodeSimple; - n_unk_c->m_field_name = field_name; - n_unk_c->m_df_type = DF_Type::int32_t; - n_unk_c->m_rdf_type = RDF_Type::int32_t; - n_unk_c->m_node_type = NodeType::Simple; - n_unk_c->m_address = base + offset; - n_unk_c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_c); - -} -void node_from_world_object_data(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "altered_items"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data, field_name)); - auto n_altered_items = new NodeVector; - n_altered_items->m_field_name = field_name; - n_altered_items->m_df_type = DF_Type::int32_t; - n_altered_items->m_rdf_type = RDF_Type::Vector; - n_altered_items->m_node_type = NodeType::Vector; - n_altered_items->m_addornements = "v"; - n_altered_items->m_address = base + offset; - n_altered_items->m_comment = "world_data_subid"; - n_altered_items->m_parent = p_node_parent; - n_altered_items->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_altered_items); - - field_name = "offloaded_items"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data, field_name)); - auto n_offloaded_items = new NodeVector; - n_offloaded_items->m_field_name = field_name; - n_offloaded_items->m_df_type = DF_Type::world_object_data__T_offloaded_items; - n_offloaded_items->m_rdf_type = RDF_Type::Vector; - n_offloaded_items->m_node_type = NodeType::Vector; - n_offloaded_items->m_addornements = "v*"; - n_offloaded_items->m_address = base + offset; - n_offloaded_items->m_parent = p_node_parent; - n_offloaded_items->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_offloaded_items); - - field_name = "unk_24"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data, field_name)); - auto n_unk_24 = new NodeVector; - n_unk_24->m_field_name = field_name; - n_unk_24->m_df_type = DF_Type::Void; - n_unk_24->m_rdf_type = RDF_Type::Vector; - n_unk_24->m_node_type = NodeType::Vector; - n_unk_24->m_addornements = "v"; - n_unk_24->m_address = base + offset; - n_unk_24->m_parent = p_node_parent; - n_unk_24->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_24); - - field_name = "unk_34"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data, field_name)); - auto n_unk_34 = new NodeVector; - n_unk_34->m_field_name = field_name; - n_unk_34->m_df_type = DF_Type::Void; - n_unk_34->m_rdf_type = RDF_Type::Vector; - n_unk_34->m_node_type = NodeType::Vector; - n_unk_34->m_addornements = "v"; - n_unk_34->m_address = base + offset; - n_unk_34->m_parent = p_node_parent; - n_unk_34->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_34); - - field_name = "unk_44"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data, field_name)); - auto n_unk_44 = new NodeVector; - n_unk_44->m_field_name = field_name; - n_unk_44->m_df_type = DF_Type::Void; - n_unk_44->m_rdf_type = RDF_Type::Vector; - n_unk_44->m_node_type = NodeType::Vector; - n_unk_44->m_addornements = "v"; - n_unk_44->m_address = base + offset; - n_unk_44->m_parent = p_node_parent; - n_unk_44->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_44); - - field_name = "unk_54"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data, field_name)); - auto n_unk_54 = new NodeVector; - n_unk_54->m_field_name = field_name; - n_unk_54->m_df_type = DF_Type::Void; - n_unk_54->m_rdf_type = RDF_Type::Vector; - n_unk_54->m_node_type = NodeType::Vector; - n_unk_54->m_addornements = "v"; - n_unk_54->m_address = base + offset; - n_unk_54->m_parent = p_node_parent; - n_unk_54->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_54); - - field_name = "unk_64"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data, field_name)); - auto n_unk_64 = new NodeVector; - n_unk_64->m_field_name = field_name; - n_unk_64->m_df_type = DF_Type::Void; - n_unk_64->m_rdf_type = RDF_Type::Vector; - n_unk_64->m_node_type = NodeType::Vector; - n_unk_64->m_addornements = "v"; - n_unk_64->m_address = base + offset; - n_unk_64->m_parent = p_node_parent; - n_unk_64->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_64); - - field_name = "altered_buildings"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data, field_name)); - auto n_altered_buildings = new NodeVector; - n_altered_buildings->m_field_name = field_name; - n_altered_buildings->m_df_type = DF_Type::int32_t; - n_altered_buildings->m_rdf_type = RDF_Type::Vector; - n_altered_buildings->m_node_type = NodeType::Vector; - n_altered_buildings->m_addornements = "v"; - n_altered_buildings->m_address = base + offset; - n_altered_buildings->m_comment = "world_data_subid"; - n_altered_buildings->m_parent = p_node_parent; - n_altered_buildings->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_altered_buildings); - - field_name = "offloaded_buildings"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data, field_name)); - auto n_offloaded_buildings = new NodeVector; - n_offloaded_buildings->m_field_name = field_name; - n_offloaded_buildings->m_df_type = DF_Type::world_object_data__T_offloaded_buildings; - n_offloaded_buildings->m_rdf_type = RDF_Type::Vector; - n_offloaded_buildings->m_node_type = NodeType::Vector; - n_offloaded_buildings->m_addornements = "v*"; - n_offloaded_buildings->m_address = base + offset; - n_offloaded_buildings->m_parent = p_node_parent; - n_offloaded_buildings->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_offloaded_buildings); - - field_name = "unk_94"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data, field_name)); - auto n_unk_94 = new NodeVector; - n_unk_94->m_field_name = field_name; - n_unk_94->m_df_type = DF_Type::world_object_data__T_unk_94; - n_unk_94->m_rdf_type = RDF_Type::Vector; - n_unk_94->m_node_type = NodeType::Vector; - n_unk_94->m_addornements = "v*"; - n_unk_94->m_address = base + offset; - n_unk_94->m_parent = p_node_parent; - n_unk_94->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_94); - - field_name = "creation_zone_alterations"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data, field_name)); - auto n_creation_zone_alterations = new NodeVector; - n_creation_zone_alterations->m_field_name = field_name; - n_creation_zone_alterations->m_df_type = DF_Type::Void; - n_creation_zone_alterations->m_rdf_type = RDF_Type::Vector; - n_creation_zone_alterations->m_node_type = NodeType::Vector; - n_creation_zone_alterations->m_addornements = "v"; - n_creation_zone_alterations->m_address = base + offset; - n_creation_zone_alterations->m_comment = "a vtable type"; - n_creation_zone_alterations->m_parent = p_node_parent; - n_creation_zone_alterations->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_creation_zone_alterations); - - field_name = "unk_v40_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data, field_name)); - auto n_unk_v40_1 = new NodeSimple; - n_unk_v40_1->m_field_name = field_name; - n_unk_v40_1->m_df_type = DF_Type::int32_t; - n_unk_v40_1->m_rdf_type = RDF_Type::int32_t; - n_unk_v40_1->m_node_type = NodeType::Simple; - n_unk_v40_1->m_address = base + offset; - n_unk_v40_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_1); - - field_name = "year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data, field_name)); - auto n_year = new NodeSimple; - n_year->m_field_name = field_name; - n_year->m_df_type = DF_Type::int32_t; - n_year->m_rdf_type = RDF_Type::int32_t; - n_year->m_node_type = NodeType::Simple; - n_year->m_address = base + offset; - n_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_year); - - field_name = "year_tick"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data, field_name)); - auto n_year_tick = new NodeSimple; - n_year_tick->m_field_name = field_name; - n_year_tick->m_df_type = DF_Type::int32_t; - n_year_tick->m_rdf_type = RDF_Type::int32_t; - n_year_tick->m_node_type = NodeType::Simple; - n_year_tick->m_address = base + offset; - n_year_tick->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_year_tick); - - field_name = "unk_c0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data, field_name)); - auto n_unk_c0 = new NodeVector; - n_unk_c0->m_field_name = field_name; - n_unk_c0->m_df_type = DF_Type::Void; - n_unk_c0->m_rdf_type = RDF_Type::Vector; - n_unk_c0->m_node_type = NodeType::Vector; - n_unk_c0->m_addornements = "v"; - n_unk_c0->m_address = base + offset; - n_unk_c0->m_parent = p_node_parent; - n_unk_c0->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_c0); - - field_name = "unk_d0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data, field_name)); - auto n_unk_d0 = new NodeVector; - n_unk_d0->m_field_name = field_name; - n_unk_d0->m_df_type = DF_Type::Void; - n_unk_d0->m_rdf_type = RDF_Type::Vector; - n_unk_d0->m_node_type = NodeType::Vector; - n_unk_d0->m_addornements = "v"; - n_unk_d0->m_address = base + offset; - n_unk_d0->m_parent = p_node_parent; - n_unk_d0->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_d0); - - field_name = "unk_e0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data, field_name)); - auto n_unk_e0 = new NodeVector; - n_unk_e0->m_field_name = field_name; - n_unk_e0->m_df_type = DF_Type::Void; - n_unk_e0->m_rdf_type = RDF_Type::Vector; - n_unk_e0->m_node_type = NodeType::Vector; - n_unk_e0->m_addornements = "v"; - n_unk_e0->m_address = base + offset; - n_unk_e0->m_parent = p_node_parent; - n_unk_e0->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_e0); - - field_name = "unk_f0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data, field_name)); - auto n_unk_f0 = new NodeVector; - n_unk_f0->m_field_name = field_name; - n_unk_f0->m_df_type = DF_Type::Void; - n_unk_f0->m_rdf_type = RDF_Type::Vector; - n_unk_f0->m_node_type = NodeType::Vector; - n_unk_f0->m_addornements = "v"; - n_unk_f0->m_address = base + offset; - n_unk_f0->m_parent = p_node_parent; - n_unk_f0->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_f0); - - field_name = "unk_100"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data, field_name)); - auto n_unk_100 = new NodeVector; - n_unk_100->m_field_name = field_name; - n_unk_100->m_df_type = DF_Type::Void; - n_unk_100->m_rdf_type = RDF_Type::Vector; - n_unk_100->m_node_type = NodeType::Vector; - n_unk_100->m_addornements = "v"; - n_unk_100->m_address = base + offset; - n_unk_100->m_parent = p_node_parent; - n_unk_100->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_100); - - field_name = "unk_110"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data, field_name)); - auto n_unk_110 = new NodeVector; - n_unk_110->m_field_name = field_name; - n_unk_110->m_df_type = DF_Type::Void; - n_unk_110->m_rdf_type = RDF_Type::Vector; - n_unk_110->m_node_type = NodeType::Vector; - n_unk_110->m_addornements = "v"; - n_unk_110->m_address = base + offset; - n_unk_110->m_parent = p_node_parent; - n_unk_110->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_110); - - field_name = "unk_v43_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data, field_name)); - auto n_unk_v43_1 = new NodeVector; - n_unk_v43_1->m_field_name = field_name; - n_unk_v43_1->m_df_type = DF_Type::Void; - n_unk_v43_1->m_rdf_type = RDF_Type::Vector; - n_unk_v43_1->m_node_type = NodeType::Vector; - n_unk_v43_1->m_addornements = "v"; - n_unk_v43_1->m_address = base + offset; - n_unk_v43_1->m_parent = p_node_parent; - n_unk_v43_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_v43_1); - - field_name = "unk_v43_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data, field_name)); - auto n_unk_v43_2 = new NodeVector; - n_unk_v43_2->m_field_name = field_name; - n_unk_v43_2->m_df_type = DF_Type::Void; - n_unk_v43_2->m_rdf_type = RDF_Type::Vector; - n_unk_v43_2->m_node_type = NodeType::Vector; - n_unk_v43_2->m_addornements = "v"; - n_unk_v43_2->m_address = base + offset; - n_unk_v43_2->m_parent = p_node_parent; - n_unk_v43_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_v43_2); - - field_name = "unk_v43_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data, field_name)); - auto n_unk_v43_3 = new NodeVector; - n_unk_v43_3->m_field_name = field_name; - n_unk_v43_3->m_df_type = DF_Type::Void; - n_unk_v43_3->m_rdf_type = RDF_Type::Vector; - n_unk_v43_3->m_node_type = NodeType::Vector; - n_unk_v43_3->m_addornements = "v"; - n_unk_v43_3->m_address = base + offset; - n_unk_v43_3->m_parent = p_node_parent; - n_unk_v43_3->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_v43_3); - - field_name = "unk_v43_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data, field_name)); - auto n_unk_v43_4 = new NodeVector; - n_unk_v43_4->m_field_name = field_name; - n_unk_v43_4->m_df_type = DF_Type::Void; - n_unk_v43_4->m_rdf_type = RDF_Type::Vector; - n_unk_v43_4->m_node_type = NodeType::Vector; - n_unk_v43_4->m_addornements = "v"; - n_unk_v43_4->m_address = base + offset; - n_unk_v43_4->m_parent = p_node_parent; - n_unk_v43_4->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_v43_4); - -} -void node_from_world_data__T_unk_b4(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "world_width2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_b4, field_name)); - auto n_world_width2 = new NodeSimple; - n_world_width2->m_field_name = field_name; - n_world_width2->m_df_type = DF_Type::int32_t; - n_world_width2->m_rdf_type = RDF_Type::int32_t; - n_world_width2->m_node_type = NodeType::Simple; - n_world_width2->m_address = base + offset; - n_world_width2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_world_width2); - - field_name = "world_height2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_b4, field_name)); - auto n_world_height2 = new NodeSimple; - n_world_height2->m_field_name = field_name; - n_world_height2->m_df_type = DF_Type::int32_t; - n_world_height2->m_rdf_type = RDF_Type::int32_t; - n_world_height2->m_node_type = NodeType::Simple; - n_world_height2->m_address = base + offset; - n_world_height2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_world_height2); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_b4, field_name)); - auto n_anon_1 = new NodePointer; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = get_real_subtype(base+offset, DF_Type::uint32_t); - n_anon_1->m_rdf_type = RDF_Type::Pointer; - n_anon_1->m_node_type = NodeType::Pointer; - n_anon_1->m_addornements = "*"; - n_anon_1->m_address = base + offset; - n_anon_1->m_comment = "align(width,4)*height"; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_b4, field_name)); - auto n_anon_2 = new NodePointer; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = get_real_subtype(base+offset, DF_Type::uint32_t); - n_anon_2->m_rdf_type = RDF_Type::Pointer; - n_anon_2->m_node_type = NodeType::Pointer; - n_anon_2->m_addornements = "*"; - n_anon_2->m_address = base + offset; - n_anon_2->m_comment = "align(width,4)*height"; - n_anon_2->m_parent = p_node_parent; - n_anon_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_b4, field_name)); - auto n_anon_3 = new NodePointer; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = get_real_subtype(base+offset, DF_Type::uint32_t); - n_anon_3->m_rdf_type = RDF_Type::Pointer; - n_anon_3->m_node_type = NodeType::Pointer; - n_anon_3->m_addornements = "*"; - n_anon_3->m_address = base + offset; - n_anon_3->m_comment = "width*height"; - n_anon_3->m_parent = p_node_parent; - n_anon_3->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_b4, field_name)); - auto n_anon_4 = new NodePointer; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = get_real_subtype(base+offset, DF_Type::uint8_t); - n_anon_4->m_rdf_type = RDF_Type::Pointer; - n_anon_4->m_node_type = NodeType::Pointer; - n_anon_4->m_addornements = "*"; - n_anon_4->m_address = base + offset; - n_anon_4->m_comment = "align(width,4)*height"; - n_anon_4->m_parent = p_node_parent; - n_anon_4->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_4); - -} -void node_from_world_data__T_constructions(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "width"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_constructions, field_name)); - auto n_width = new NodeSimple; - n_width->m_field_name = field_name; - n_width->m_df_type = DF_Type::int16_t; - n_width->m_rdf_type = RDF_Type::int16_t; - n_width->m_node_type = NodeType::Simple; - n_width->m_address = base + offset; - n_width->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_width); - - field_name = "height"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_constructions, field_name)); - auto n_height = new NodeSimple; - n_height->m_field_name = field_name; - n_height->m_df_type = DF_Type::int16_t; - n_height->m_rdf_type = RDF_Type::int16_t; - n_height->m_node_type = NodeType::Simple; - n_height->m_address = base + offset; - n_height->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_height); - - field_name = "map"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_constructions, field_name)); - auto n_map = new NodePointer; - n_map->m_field_name = field_name; - n_map->m_df_type = DF_Type::world_construction_square; - n_map->m_rdf_type = RDF_Type::Pointer; - n_map->m_node_type = NodeType::Pointer; - n_map->m_addornements = "**v*"; - n_map->m_address = base + offset; - n_map->m_parent = p_node_parent; - n_map->m_defined_in = "df.map.xml"; - n_map->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_map); - - field_name = "list"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_constructions, field_name)); - auto n_list = new NodeVector; - n_list->m_field_name = field_name; - n_list->m_df_type = DF_Type::world_construction; - n_list->m_rdf_type = RDF_Type::Vector; - n_list->m_node_type = NodeType::Vector; - n_list->m_defined_in = "df.map.xml"; - n_list->m_addornements = "v*"; - n_list->m_address = base + offset; - n_list->m_parent = p_node_parent; - n_list->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_list); - - field_name = "next_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_constructions, field_name)); - auto n_next_id = new NodeSimple; - n_next_id->m_field_name = field_name; - n_next_id->m_df_type = DF_Type::int32_t; - n_next_id->m_rdf_type = RDF_Type::int32_t; - n_next_id->m_node_type = NodeType::Simple; - n_next_id->m_address = base + offset; - n_next_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_next_id); - -} -void node_from_world_data__T_unk_150__T_unk_8(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_150__T_unk_8, field_name)); - auto n_index = new NodeSimple; - n_index->m_field_name = field_name; - n_index->m_df_type = DF_Type::int32_t; - n_index->m_rdf_type = RDF_Type::int32_t; - n_index->m_node_type = NodeType::Simple; - n_index->m_address = base + offset; - n_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_index); - - field_name = "unk_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_150__T_unk_8, field_name)); - auto n_unk_4 = new NodeSimple; - n_unk_4->m_field_name = field_name; - n_unk_4->m_df_type = DF_Type::int32_t; - n_unk_4->m_rdf_type = RDF_Type::int32_t; - n_unk_4->m_node_type = NodeType::Simple; - n_unk_4->m_address = base + offset; - n_unk_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_4); - - field_name = "unk_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_150__T_unk_8, field_name)); - auto n_unk_8 = new NodeSimple; - n_unk_8->m_field_name = field_name; - n_unk_8->m_df_type = DF_Type::int32_t; - n_unk_8->m_rdf_type = RDF_Type::int32_t; - n_unk_8->m_node_type = NodeType::Simple; - n_unk_8->m_address = base + offset; - n_unk_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_8); - -} -void node_from_world_data__T_unk_150__T_unk_18(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_150__T_unk_18, field_name)); - auto n_index = new NodeSimple; - n_index->m_field_name = field_name; - n_index->m_df_type = DF_Type::int32_t; - n_index->m_rdf_type = RDF_Type::int32_t; - n_index->m_node_type = NodeType::Simple; - n_index->m_address = base + offset; - n_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_index); - - field_name = "unk_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_150__T_unk_18, field_name)); - auto n_unk_4 = new NodeSimple; - n_unk_4->m_field_name = field_name; - n_unk_4->m_df_type = DF_Type::int32_t; - n_unk_4->m_rdf_type = RDF_Type::int32_t; - n_unk_4->m_node_type = NodeType::Simple; - n_unk_4->m_address = base + offset; - n_unk_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_4); - - field_name = "unk_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_150__T_unk_18, field_name)); - auto n_unk_8 = new NodeSimple; - n_unk_8->m_field_name = field_name; - n_unk_8->m_df_type = DF_Type::int32_t; - n_unk_8->m_rdf_type = RDF_Type::int32_t; - n_unk_8->m_node_type = NodeType::Simple; - n_unk_8->m_address = base + offset; - n_unk_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_8); - -} -void node_from_world_data__T_unk_150__T_unk_28(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk_0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_150__T_unk_28, field_name)); - auto n_unk_0 = new NodeSimple; - n_unk_0->m_field_name = field_name; - n_unk_0->m_df_type = DF_Type::int32_t; - n_unk_0->m_rdf_type = RDF_Type::int32_t; - n_unk_0->m_node_type = NodeType::Simple; - n_unk_0->m_address = base + offset; - n_unk_0->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_0); - - field_name = "unk_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_150__T_unk_28, field_name)); - auto n_unk_4 = new NodeSimple; - n_unk_4->m_field_name = field_name; - n_unk_4->m_df_type = DF_Type::int32_t; - n_unk_4->m_rdf_type = RDF_Type::int32_t; - n_unk_4->m_node_type = NodeType::Simple; - n_unk_4->m_address = base + offset; - n_unk_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_4); - -} -void node_from_world_data__T_unk_150(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_150, field_name)); - auto n_index = new NodeSimple; - n_index->m_field_name = field_name; - n_index->m_df_type = DF_Type::int32_t; - n_index->m_rdf_type = RDF_Type::int32_t; - n_index->m_node_type = NodeType::Simple; - n_index->m_address = base + offset; - n_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_index); - - field_name = "unk_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_150, field_name)); - auto n_unk_4 = new NodeSimple; - n_unk_4->m_field_name = field_name; - n_unk_4->m_df_type = DF_Type::int32_t; - n_unk_4->m_rdf_type = RDF_Type::int32_t; - n_unk_4->m_node_type = NodeType::Simple; - n_unk_4->m_address = base + offset; - n_unk_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_4); - - field_name = "unk_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_150, field_name)); - auto n_unk_8 = new NodeVector; - n_unk_8->m_field_name = field_name; - n_unk_8->m_df_type = DF_Type::world_data__T_unk_150__T_unk_8; - n_unk_8->m_rdf_type = RDF_Type::Vector; - n_unk_8->m_node_type = NodeType::Vector; - n_unk_8->m_addornements = "v*"; - n_unk_8->m_address = base + offset; - n_unk_8->m_parent = p_node_parent; - n_unk_8->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_8); - - field_name = "unk_18"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_150, field_name)); - auto n_unk_18 = new NodeVector; - n_unk_18->m_field_name = field_name; - n_unk_18->m_df_type = DF_Type::world_data__T_unk_150__T_unk_18; - n_unk_18->m_rdf_type = RDF_Type::Vector; - n_unk_18->m_node_type = NodeType::Vector; - n_unk_18->m_addornements = "v*"; - n_unk_18->m_address = base + offset; - n_unk_18->m_parent = p_node_parent; - n_unk_18->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_18); - - field_name = "unk_28"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_150, field_name)); - auto n_unk_28 = new NodeVector; - n_unk_28->m_field_name = field_name; - n_unk_28->m_df_type = DF_Type::world_data__T_unk_150__T_unk_28; - n_unk_28->m_rdf_type = RDF_Type::Vector; - n_unk_28->m_node_type = NodeType::Vector; - n_unk_28->m_addornements = "v*"; - n_unk_28->m_address = base + offset; - n_unk_28->m_parent = p_node_parent; - n_unk_28->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_28); - -} -void node_from_world_data__T_unk_170__T_unk_4(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk_0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_170__T_unk_4, field_name)); - auto n_unk_0 = new NodeSimple; - n_unk_0->m_field_name = field_name; - n_unk_0->m_df_type = DF_Type::int32_t; - n_unk_0->m_rdf_type = RDF_Type::int32_t; - n_unk_0->m_node_type = NodeType::Simple; - n_unk_0->m_address = base + offset; - n_unk_0->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_0); - - field_name = "unk_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_170__T_unk_4, field_name)); - auto n_unk_4 = new NodeSimple; - n_unk_4->m_field_name = field_name; - n_unk_4->m_df_type = DF_Type::int32_t; - n_unk_4->m_rdf_type = RDF_Type::int32_t; - n_unk_4->m_node_type = NodeType::Simple; - n_unk_4->m_address = base + offset; - n_unk_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_4); - - field_name = "unk_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_170__T_unk_4, field_name)); - auto n_unk_8 = new NodeSimple; - n_unk_8->m_field_name = field_name; - n_unk_8->m_df_type = DF_Type::int32_t; - n_unk_8->m_rdf_type = RDF_Type::int32_t; - n_unk_8->m_node_type = NodeType::Simple; - n_unk_8->m_address = base + offset; - n_unk_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_8); - - field_name = "unk_c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_170__T_unk_4, field_name)); - auto n_unk_c = new NodeSimple; - n_unk_c->m_field_name = field_name; - n_unk_c->m_df_type = DF_Type::int32_t; - n_unk_c->m_rdf_type = RDF_Type::int32_t; - n_unk_c->m_node_type = NodeType::Simple; - n_unk_c->m_address = base + offset; - n_unk_c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_c); - - field_name = "unk_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_170__T_unk_4, field_name)); - auto n_unk_10 = new NodeSimple; - n_unk_10->m_field_name = field_name; - n_unk_10->m_df_type = DF_Type::int32_t; - n_unk_10->m_rdf_type = RDF_Type::int32_t; - n_unk_10->m_node_type = NodeType::Simple; - n_unk_10->m_address = base + offset; - n_unk_10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_10); - - field_name = "unk_14"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_170__T_unk_4, field_name)); - auto n_unk_14 = new NodeSimple; - n_unk_14->m_field_name = field_name; - n_unk_14->m_df_type = DF_Type::int32_t; - n_unk_14->m_rdf_type = RDF_Type::int32_t; - n_unk_14->m_node_type = NodeType::Simple; - n_unk_14->m_address = base + offset; - n_unk_14->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_14); - - field_name = "unk_18"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_170__T_unk_4, field_name)); - auto n_unk_18 = new NodeSimple; - n_unk_18->m_field_name = field_name; - n_unk_18->m_df_type = DF_Type::int32_t; - n_unk_18->m_rdf_type = RDF_Type::int32_t; - n_unk_18->m_node_type = NodeType::Simple; - n_unk_18->m_address = base + offset; - n_unk_18->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_18); - - field_name = "unk_1c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_170__T_unk_4, field_name)); - auto n_unk_1c = new NodeSimple; - n_unk_1c->m_field_name = field_name; - n_unk_1c->m_df_type = DF_Type::int32_t; - n_unk_1c->m_rdf_type = RDF_Type::int32_t; - n_unk_1c->m_node_type = NodeType::Simple; - n_unk_1c->m_address = base + offset; - n_unk_1c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_1c); - -} -void node_from_world_data__T_unk_170(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_170, field_name)); - auto n_index = new NodeSimple; - n_index->m_field_name = field_name; - n_index->m_df_type = DF_Type::int32_t; - n_index->m_rdf_type = RDF_Type::int32_t; - n_index->m_node_type = NodeType::Simple; - n_index->m_address = base + offset; - n_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_index); - - field_name = "unk_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_170, field_name)); - auto n_unk_4 = new NodeVector; - n_unk_4->m_field_name = field_name; - n_unk_4->m_df_type = DF_Type::world_data__T_unk_170__T_unk_4; - n_unk_4->m_rdf_type = RDF_Type::Vector; - n_unk_4->m_node_type = NodeType::Vector; - n_unk_4->m_addornements = "v*"; - n_unk_4->m_address = base + offset; - n_unk_4->m_parent = p_node_parent; - n_unk_4->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_4); - - field_name = "unk_14"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_170, field_name)); - auto n_unk_14 = new NodeVector; - n_unk_14->m_field_name = field_name; - n_unk_14->m_df_type = DF_Type::int32_t; - n_unk_14->m_rdf_type = RDF_Type::Vector; - n_unk_14->m_node_type = NodeType::Vector; - n_unk_14->m_addornements = "v"; - n_unk_14->m_address = base + offset; - n_unk_14->m_parent = p_node_parent; - n_unk_14->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_14); - - field_name = "x1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_170, field_name)); - auto n_x1 = new NodeSimple; - n_x1->m_field_name = field_name; - n_x1->m_df_type = DF_Type::int32_t; - n_x1->m_rdf_type = RDF_Type::int32_t; - n_x1->m_node_type = NodeType::Simple; - n_x1->m_address = base + offset; - n_x1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_x1); - - field_name = "y1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_170, field_name)); - auto n_y1 = new NodeSimple; - n_y1->m_field_name = field_name; - n_y1->m_df_type = DF_Type::int32_t; - n_y1->m_rdf_type = RDF_Type::int32_t; - n_y1->m_node_type = NodeType::Simple; - n_y1->m_address = base + offset; - n_y1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_y1); - - field_name = "x2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_170, field_name)); - auto n_x2 = new NodeSimple; - n_x2->m_field_name = field_name; - n_x2->m_df_type = DF_Type::int32_t; - n_x2->m_rdf_type = RDF_Type::int32_t; - n_x2->m_node_type = NodeType::Simple; - n_x2->m_address = base + offset; - n_x2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_x2); - - field_name = "y2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_170, field_name)); - auto n_y2 = new NodeSimple; - n_y2->m_field_name = field_name; - n_y2->m_df_type = DF_Type::int32_t; - n_y2->m_rdf_type = RDF_Type::int32_t; - n_y2->m_node_type = NodeType::Simple; - n_y2->m_address = base + offset; - n_y2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_y2); - - field_name = "unk_34"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_170, field_name)); - auto n_unk_34 = new NodeSimple; - n_unk_34->m_field_name = field_name; - n_unk_34->m_df_type = DF_Type::int32_t; - n_unk_34->m_rdf_type = RDF_Type::int32_t; - n_unk_34->m_node_type = NodeType::Simple; - n_unk_34->m_address = base + offset; - n_unk_34->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_34); - - field_name = "unk_38"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_170, field_name)); - auto n_unk_38 = new NodeVector; - n_unk_38->m_field_name = field_name; - n_unk_38->m_df_type = DF_Type::int32_t; - n_unk_38->m_rdf_type = RDF_Type::Vector; - n_unk_38->m_node_type = NodeType::Vector; - n_unk_38->m_addornements = "v"; - n_unk_38->m_address = base + offset; - n_unk_38->m_parent = p_node_parent; - n_unk_38->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_38); - -} -void node_from_world_data__T_freakish_weather(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk_0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_freakish_weather, field_name)); - auto n_unk_0 = new NodeSimple; - n_unk_0->m_field_name = field_name; - n_unk_0->m_df_type = DF_Type::int32_t; - n_unk_0->m_rdf_type = RDF_Type::int32_t; - n_unk_0->m_node_type = NodeType::Simple; - n_unk_0->m_address = base + offset; - n_unk_0->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_0); - - field_name = "unk_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_freakish_weather, field_name)); - auto n_unk_4 = new NodeSimple; - n_unk_4->m_field_name = field_name; - n_unk_4->m_df_type = DF_Type::int32_t; - n_unk_4->m_rdf_type = RDF_Type::int32_t; - n_unk_4->m_node_type = NodeType::Simple; - n_unk_4->m_address = base + offset; - n_unk_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_4); - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_freakish_weather, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_freakish_weather, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - - field_name = "unk_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_freakish_weather, field_name)); - auto n_unk_10 = new NodeSimple; - n_unk_10->m_field_name = field_name; - n_unk_10->m_df_type = DF_Type::int32_t; - n_unk_10->m_rdf_type = RDF_Type::int32_t; - n_unk_10->m_node_type = NodeType::Simple; - n_unk_10->m_address = base + offset; - n_unk_10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_10); - - field_name = "region_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_freakish_weather, field_name)); - auto n_region_x = new NodeSimple; - n_region_x->m_field_name = field_name; - n_region_x->m_df_type = DF_Type::int32_t; - n_region_x->m_rdf_type = RDF_Type::int32_t; - n_region_x->m_node_type = NodeType::Simple; - n_region_x->m_address = base + offset; - n_region_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region_x); - - field_name = "region_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_freakish_weather, field_name)); - auto n_region_y = new NodeSimple; - n_region_y->m_field_name = field_name; - n_region_y->m_df_type = DF_Type::int32_t; - n_region_y->m_rdf_type = RDF_Type::int32_t; - n_region_y->m_node_type = NodeType::Simple; - n_region_y->m_address = base + offset; - n_region_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region_y); - - field_name = "unk_1c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_freakish_weather, field_name)); - auto n_unk_1c = new NodeSimple; - n_unk_1c->m_field_name = field_name; - n_unk_1c->m_df_type = DF_Type::int32_t; - n_unk_1c->m_rdf_type = RDF_Type::int32_t; - n_unk_1c->m_node_type = NodeType::Simple; - n_unk_1c->m_address = base + offset; - n_unk_1c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_1c); - - field_name = "unk_20"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_freakish_weather, field_name)); - auto n_unk_20 = new NodeSimple; - n_unk_20->m_field_name = field_name; - n_unk_20->m_df_type = DF_Type::int32_t; - n_unk_20->m_rdf_type = RDF_Type::int32_t; - n_unk_20->m_node_type = NodeType::Simple; - n_unk_20->m_address = base + offset; - n_unk_20->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_20); - - field_name = "unk_24"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_freakish_weather, field_name)); - auto n_unk_24 = new NodeSimple; - n_unk_24->m_field_name = field_name; - n_unk_24->m_df_type = DF_Type::int32_t; - n_unk_24->m_rdf_type = RDF_Type::int32_t; - n_unk_24->m_node_type = NodeType::Simple; - n_unk_24->m_address = base + offset; - n_unk_24->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_24); - - field_name = "unk_28"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_freakish_weather, field_name)); - auto n_unk_28 = new NodeSimple; - n_unk_28->m_field_name = field_name; - n_unk_28->m_df_type = DF_Type::int32_t; - n_unk_28->m_rdf_type = RDF_Type::int32_t; - n_unk_28->m_node_type = NodeType::Simple; - n_unk_28->m_address = base + offset; - n_unk_28->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_28); - - field_name = "unk_2c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_freakish_weather, field_name)); - auto n_unk_2c = new NodeSimple; - n_unk_2c->m_field_name = field_name; - n_unk_2c->m_df_type = DF_Type::int32_t; - n_unk_2c->m_rdf_type = RDF_Type::int32_t; - n_unk_2c->m_node_type = NodeType::Simple; - n_unk_2c->m_address = base + offset; - n_unk_2c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_2c); - - field_name = "unk_30"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_freakish_weather, field_name)); - auto n_unk_30 = new NodeSimple; - n_unk_30->m_field_name = field_name; - n_unk_30->m_df_type = DF_Type::int32_t; - n_unk_30->m_rdf_type = RDF_Type::int32_t; - n_unk_30->m_node_type = NodeType::Simple; - n_unk_30->m_address = base + offset; - n_unk_30->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_30); - - field_name = "unk_34"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_freakish_weather, field_name)); - auto n_unk_34 = new NodeSimple; - n_unk_34->m_field_name = field_name; - n_unk_34->m_df_type = DF_Type::int32_t; - n_unk_34->m_rdf_type = RDF_Type::int32_t; - n_unk_34->m_node_type = NodeType::Simple; - n_unk_34->m_address = base + offset; - n_unk_34->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_34); - -} -void node_from_world_data__T_mountain_peaks(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "name"; - auto n_name = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_mountain_peaks, field_name)); - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::language_name; - n_name->m_rdf_type = RDF_Type::Struct; - n_name->m_node_type = NodeType::Compound; - n_name->m_address = base + offset; - n_name->m_defined_in = "df.language.xml"; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "pos"; - auto n_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_mountain_peaks, field_name)); - n_pos->m_field_name = field_name; - n_pos->m_df_type = DF_Type::coord2d; - n_pos->m_rdf_type = RDF_Type::Struct; - n_pos->m_node_type = NodeType::Compound; - n_pos->m_address = base + offset; - n_pos->m_defined_in = "df.map.xml"; - n_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pos); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_mountain_peaks, field_name)); - auto n_flags = new NodeDFFlagArray; - n_flags->m_field_name = field_name; - n_flags->m_index_enum = DF_Type::mountain_peak_flags; - n_flags->m_df_type = DF_Type::mountain_peak_flags; - n_flags->m_size = 1; - n_flags->m_rdf_type = RDF_Type::DFFlagArray; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_defined_in = "df.world-data.xml"; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "height"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_mountain_peaks, field_name)); - auto n_height = new NodeSimple; - n_height->m_field_name = field_name; - n_height->m_df_type = DF_Type::int16_t; - n_height->m_rdf_type = RDF_Type::int16_t; - n_height->m_node_type = NodeType::Simple; - n_height->m_address = base + offset; - n_height->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_height); - -} -void node_from_world_data__T_feature_map__T_features(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "feature_init"; - auto n_feature_init = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_feature_map__T_features, field_name)); - n_feature_init->m_field_name = field_name; - n_feature_init->m_df_type = DF_Type::feature_init; - n_feature_init->m_rdf_type = RDF_Type::Array; - n_feature_init->m_node_type = NodeType::Array; - n_feature_init->m_defined_in = "df.map.xml"; - n_feature_init->m_addornements = "[16[16v*"; - n_feature_init->m_array_size = 16; - n_feature_init->m_address = base + offset; - n_feature_init->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_feature_init); - - field_name = "unk"; - auto n_unk = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_feature_map__T_features, field_name)); - n_unk->m_field_name = field_name; - n_unk->m_df_type = DF_Type::int32_t; - n_unk->m_rdf_type = RDF_Type::Array; - n_unk->m_node_type = NodeType::Array; - n_unk->m_addornements = "[16[16[30"; - n_unk->m_array_size = 16; - n_unk->m_address = base + offset; - n_unk->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk); - -} -void node_from_world_data__T_feature_map(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_feature_map, field_name)); - auto n_x = new NodeSimple; - n_x->m_field_name = field_name; - n_x->m_df_type = DF_Type::int16_t; - n_x->m_rdf_type = RDF_Type::int16_t; - n_x->m_node_type = NodeType::Simple; - n_x->m_address = base + offset; - n_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_x); - - field_name = "y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_feature_map, field_name)); - auto n_y = new NodeSimple; - n_y->m_field_name = field_name; - n_y->m_df_type = DF_Type::int16_t; - n_y->m_rdf_type = RDF_Type::int16_t; - n_y->m_node_type = NodeType::Simple; - n_y->m_address = base + offset; - n_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_y); - - field_name = "features"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_feature_map, field_name)); - auto n_features = new NodePointer; - n_features->m_field_name = field_name; - n_features->m_df_type = get_real_subtype(base+offset, DF_Type::world_data__T_feature_map__T_features); - n_features->m_rdf_type = RDF_Type::Pointer; - n_features->m_node_type = NodeType::Pointer; - n_features->m_addornements = "*"; - n_features->m_address = base + offset; - n_features->m_parent = p_node_parent; - n_features->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_features); - - field_name = "unk_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_feature_map, field_name)); - auto n_unk_8 = new NodePointer; - n_unk_8->m_field_name = field_name; - n_unk_8->m_df_type = get_real_subtype(base+offset, DF_Type::int16_t); - n_unk_8->m_rdf_type = RDF_Type::Pointer; - n_unk_8->m_node_type = NodeType::Pointer; - n_unk_8->m_addornements = "*"; - n_unk_8->m_address = base + offset; - n_unk_8->m_parent = p_node_parent; - n_unk_8->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_8); - - field_name = "unk_c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_feature_map, field_name)); - auto n_unk_c = new NodePointer; - n_unk_c->m_field_name = field_name; - n_unk_c->m_df_type = get_real_subtype(base+offset, DF_Type::int32_t); - n_unk_c->m_rdf_type = RDF_Type::Pointer; - n_unk_c->m_node_type = NodeType::Pointer; - n_unk_c->m_addornements = "*"; - n_unk_c->m_address = base + offset; - n_unk_c->m_parent = p_node_parent; - n_unk_c->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_c); - -} -void node_from_world_data__T_unk_274__T_unk_10(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk_0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_274__T_unk_10, field_name)); - auto n_unk_0 = new NodeSimple; - n_unk_0->m_field_name = field_name; - n_unk_0->m_df_type = DF_Type::int32_t; - n_unk_0->m_rdf_type = RDF_Type::int32_t; - n_unk_0->m_node_type = NodeType::Simple; - n_unk_0->m_address = base + offset; - n_unk_0->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_0); - - field_name = "race"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_274__T_unk_10, field_name)); - auto n_race = new NodeSimple; - n_race->m_field_name = field_name; - n_race->m_df_type = DF_Type::int32_t; - n_race->m_rdf_type = RDF_Type::int32_t; - n_race->m_node_type = NodeType::Simple; - n_race->m_address = base + offset; - n_race->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_race); - - field_name = "unk_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_274__T_unk_10, field_name)); - auto n_unk_8 = new NodeSimple; - n_unk_8->m_field_name = field_name; - n_unk_8->m_df_type = DF_Type::int32_t; - n_unk_8->m_rdf_type = RDF_Type::int32_t; - n_unk_8->m_node_type = NodeType::Simple; - n_unk_8->m_address = base + offset; - n_unk_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_8); - -} -void node_from_world_data__T_unk_274(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "members"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_274, field_name)); - auto n_members = new NodeVector; - n_members->m_field_name = field_name; - n_members->m_df_type = DF_Type::historical_figure; - n_members->m_rdf_type = RDF_Type::Vector; - n_members->m_node_type = NodeType::Vector; - n_members->m_defined_in = "df.history.xml"; - n_members->m_addornements = "v*"; - n_members->m_address = base + offset; - n_members->m_parent = p_node_parent; - n_members->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_members); - - field_name = "unk_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_274, field_name)); - auto n_unk_10 = new NodeVector; - n_unk_10->m_field_name = field_name; - n_unk_10->m_df_type = DF_Type::world_data__T_unk_274__T_unk_10; - n_unk_10->m_rdf_type = RDF_Type::Vector; - n_unk_10->m_node_type = NodeType::Vector; - n_unk_10->m_addornements = "v*"; - n_unk_10->m_address = base + offset; - n_unk_10->m_parent = p_node_parent; - n_unk_10->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_10); - - field_name = "entity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_274, field_name)); - auto n_entity = new NodePointer; - n_entity->m_field_name = field_name; - n_entity->m_df_type = get_real_subtype(base+offset, DF_Type::historical_entity); - n_entity->m_rdf_type = RDF_Type::Pointer; - n_entity->m_node_type = NodeType::Pointer; - n_entity->m_addornements = "*"; - n_entity->m_address = base + offset; - n_entity->m_parent = p_node_parent; - n_entity->m_defined_in = "df.entities.xml"; - n_entity->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_entity); - - field_name = "unk_24"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_274, field_name)); - auto n_unk_24 = new NodeSimple; - n_unk_24->m_field_name = field_name; - n_unk_24->m_df_type = DF_Type::int32_t; - n_unk_24->m_rdf_type = RDF_Type::int32_t; - n_unk_24->m_node_type = NodeType::Simple; - n_unk_24->m_address = base + offset; - n_unk_24->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_24); - - field_name = "unk_region_name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_274, field_name)); - auto n_unk_region_name = new NodePointer; - n_unk_region_name->m_field_name = field_name; - n_unk_region_name->m_df_type = get_real_subtype(base+offset, DF_Type::language_name); - n_unk_region_name->m_rdf_type = RDF_Type::Pointer; - n_unk_region_name->m_node_type = NodeType::Pointer; - n_unk_region_name->m_addornements = "*"; - n_unk_region_name->m_address = base + offset; - n_unk_region_name->m_parent = p_node_parent; - n_unk_region_name->m_defined_in = "df.language.xml"; - n_unk_region_name->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_region_name); - - field_name = "unk_2c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_274, field_name)); - auto n_unk_2c = new NodeSimple; - n_unk_2c->m_field_name = field_name; - n_unk_2c->m_df_type = DF_Type::int32_t; - n_unk_2c->m_rdf_type = RDF_Type::int32_t; - n_unk_2c->m_node_type = NodeType::Simple; - n_unk_2c->m_address = base + offset; - n_unk_2c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_2c); - - field_name = "unk_30"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_274, field_name)); - auto n_unk_30 = new NodeSimple; - n_unk_30->m_field_name = field_name; - n_unk_30->m_df_type = DF_Type::int32_t; - n_unk_30->m_rdf_type = RDF_Type::int32_t; - n_unk_30->m_node_type = NodeType::Simple; - n_unk_30->m_address = base + offset; - n_unk_30->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_30); - -} -void node_from_world_data__T_unk_482f8(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - auto n_anon_1 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_482f8, field_name)); - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::Array; - n_anon_1->m_node_type = NodeType::Array; - n_anon_1->m_addornements = "[320000"; - n_anon_1->m_array_size = 320000; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_482f8, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_482f8, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_482f8, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_482f8, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_482f8, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_482f8, field_name)); - auto n_anon_7 = new NodeSimple; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::int32_t; - n_anon_7->m_rdf_type = RDF_Type::int32_t; - n_anon_7->m_node_type = NodeType::Simple; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_7); - - field_name = "anon_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_482f8, field_name)); - auto n_anon_8 = new NodeSimple; - n_anon_8->m_field_name = field_name; - n_anon_8->m_df_type = DF_Type::int32_t; - n_anon_8->m_rdf_type = RDF_Type::int32_t; - n_anon_8->m_node_type = NodeType::Simple; - n_anon_8->m_address = base + offset; - n_anon_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_8); - -} -void node_from_world_data(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "name"; - auto n_name = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::language_name; - n_name->m_rdf_type = RDF_Type::Struct; - n_name->m_node_type = NodeType::Compound; - n_name->m_address = base + offset; - n_name->m_defined_in = "df.language.xml"; - n_name->m_comment = "name of the world"; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "unk1"; - auto n_unk1 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - n_unk1->m_field_name = field_name; - n_unk1->m_df_type = DF_Type::int8_t; - n_unk1->m_rdf_type = RDF_Type::Array; - n_unk1->m_node_type = NodeType::Array; - n_unk1->m_addornements = "[15"; - n_unk1->m_array_size = 15; - n_unk1->m_address = base + offset; - n_unk1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk1); - - field_name = "next_site_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_next_site_id = new NodeSimple; - n_next_site_id->m_field_name = field_name; - n_next_site_id->m_df_type = DF_Type::int32_t; - n_next_site_id->m_rdf_type = RDF_Type::int32_t; - n_next_site_id->m_node_type = NodeType::Simple; - n_next_site_id->m_address = base + offset; - n_next_site_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_next_site_id); - - field_name = "next_site_unk136_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_next_site_unk136_id = new NodeSimple; - n_next_site_unk136_id->m_field_name = field_name; - n_next_site_unk136_id->m_df_type = DF_Type::int32_t; - n_next_site_unk136_id->m_rdf_type = RDF_Type::int32_t; - n_next_site_unk136_id->m_node_type = NodeType::Simple; - n_next_site_unk136_id->m_address = base + offset; - n_next_site_unk136_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_next_site_unk136_id); - - field_name = "next_resource_allotment_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_next_resource_allotment_id = new NodeSimple; - n_next_resource_allotment_id->m_field_name = field_name; - n_next_resource_allotment_id->m_df_type = DF_Type::int32_t; - n_next_resource_allotment_id->m_rdf_type = RDF_Type::int32_t; - n_next_resource_allotment_id->m_node_type = NodeType::Simple; - n_next_resource_allotment_id->m_address = base + offset; - n_next_resource_allotment_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_next_resource_allotment_id); - - field_name = "next_unk_150_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_next_unk_150_id = new NodeSimple; - n_next_unk_150_id->m_field_name = field_name; - n_next_unk_150_id->m_df_type = DF_Type::int32_t; - n_next_unk_150_id->m_rdf_type = RDF_Type::int32_t; - n_next_unk_150_id->m_node_type = NodeType::Simple; - n_next_unk_150_id->m_address = base + offset; - n_next_unk_150_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_next_unk_150_id); - - field_name = "next_unk_170_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_next_unk_170_id = new NodeSimple; - n_next_unk_170_id->m_field_name = field_name; - n_next_unk_170_id->m_df_type = DF_Type::int32_t; - n_next_unk_170_id->m_rdf_type = RDF_Type::int32_t; - n_next_unk_170_id->m_node_type = NodeType::Simple; - n_next_unk_170_id->m_address = base + offset; - n_next_unk_170_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_next_unk_170_id); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "world_width"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_world_width = new NodeSimple; - n_world_width->m_field_name = field_name; - n_world_width->m_df_type = DF_Type::int32_t; - n_world_width->m_rdf_type = RDF_Type::int32_t; - n_world_width->m_node_type = NodeType::Simple; - n_world_width->m_address = base + offset; - n_world_width->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_world_width); - - field_name = "world_height"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_world_height = new NodeSimple; - n_world_height->m_field_name = field_name; - n_world_height->m_df_type = DF_Type::int32_t; - n_world_height->m_rdf_type = RDF_Type::int32_t; - n_world_height->m_node_type = NodeType::Simple; - n_world_height->m_address = base + offset; - n_world_height->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_world_height); - - field_name = "unk_78"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_unk_78 = new NodeSimple; - n_unk_78->m_field_name = field_name; - n_unk_78->m_df_type = DF_Type::int32_t; - n_unk_78->m_rdf_type = RDF_Type::int32_t; - n_unk_78->m_node_type = NodeType::Simple; - n_unk_78->m_address = base + offset; - n_unk_78->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_78); - - field_name = "moon_phase"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_moon_phase = new NodeSimple; - n_moon_phase->m_field_name = field_name; - n_moon_phase->m_df_type = DF_Type::int32_t; - n_moon_phase->m_rdf_type = RDF_Type::int32_t; - n_moon_phase->m_node_type = NodeType::Simple; - n_moon_phase->m_address = base + offset; - n_moon_phase->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_moon_phase); - - field_name = "flip_latitude"; - auto n_flip_latitude = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - n_flip_latitude->m_field_name = field_name; - n_flip_latitude->m_df_type = DF_Type::world_data__T_flip_latitude; - n_flip_latitude->m_rdf_type = RDF_Type::Enum; - n_flip_latitude->m_node_type = NodeType::Enum; - n_flip_latitude->m_base_type = DF_Type::int16_t; - n_flip_latitude->m_enum_type = "world_data::T_flip_latitude"; - n_flip_latitude->m_address = base + offset; - n_flip_latitude->m_first_value = -1; - n_flip_latitude->m_last_value = 2; - n_flip_latitude->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flip_latitude); - - field_name = "flip_longitude"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_flip_longitude = new NodeSimple; - n_flip_longitude->m_field_name = field_name; - n_flip_longitude->m_df_type = DF_Type::int16_t; - n_flip_longitude->m_rdf_type = RDF_Type::int16_t; - n_flip_longitude->m_node_type = NodeType::Simple; - n_flip_longitude->m_address = base + offset; - n_flip_longitude->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flip_longitude); - - field_name = "unk_84"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_unk_84 = new NodeSimple; - n_unk_84->m_field_name = field_name; - n_unk_84->m_df_type = DF_Type::int16_t; - n_unk_84->m_rdf_type = RDF_Type::int16_t; - n_unk_84->m_node_type = NodeType::Simple; - n_unk_84->m_address = base + offset; - n_unk_84->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_84); - - field_name = "unk_86"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_unk_86 = new NodeSimple; - n_unk_86->m_field_name = field_name; - n_unk_86->m_df_type = DF_Type::int16_t; - n_unk_86->m_rdf_type = RDF_Type::int16_t; - n_unk_86->m_node_type = NodeType::Simple; - n_unk_86->m_address = base + offset; - n_unk_86->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_86); - - field_name = "unk_88"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_unk_88 = new NodeSimple; - n_unk_88->m_field_name = field_name; - n_unk_88->m_df_type = DF_Type::int16_t; - n_unk_88->m_rdf_type = RDF_Type::int16_t; - n_unk_88->m_node_type = NodeType::Simple; - n_unk_88->m_address = base + offset; - n_unk_88->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_88); - - field_name = "unk_8a"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_unk_8a = new NodeSimple; - n_unk_8a->m_field_name = field_name; - n_unk_8a->m_df_type = DF_Type::int16_t; - n_unk_8a->m_rdf_type = RDF_Type::int16_t; - n_unk_8a->m_node_type = NodeType::Simple; - n_unk_8a->m_address = base + offset; - n_unk_8a->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_8a); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int16_t; - n_anon_2->m_rdf_type = RDF_Type::int16_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int16_t; - n_anon_3->m_rdf_type = RDF_Type::int16_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "unk_b4"; - auto n_unk_b4 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - n_unk_b4->m_field_name = field_name; - n_unk_b4->m_df_type = DF_Type::world_data__T_unk_b4; - n_unk_b4->m_rdf_type = RDF_Type::Compound; - n_unk_b4->m_node_type = NodeType::Compound; - n_unk_b4->m_address = base + offset; - n_unk_b4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_b4); - - field_name = "region_details"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_region_details = new NodeVector; - n_region_details->m_field_name = field_name; - n_region_details->m_df_type = DF_Type::world_region_details; - n_region_details->m_rdf_type = RDF_Type::Vector; - n_region_details->m_node_type = NodeType::Vector; - n_region_details->m_defined_in = "df.world-data.xml"; - n_region_details->m_addornements = "v*"; - n_region_details->m_address = base + offset; - n_region_details->m_parent = p_node_parent; - n_region_details->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_region_details); - - field_name = "adv_region_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_adv_region_x = new NodeSimple; - n_adv_region_x->m_field_name = field_name; - n_adv_region_x->m_df_type = DF_Type::int32_t; - n_adv_region_x->m_rdf_type = RDF_Type::int32_t; - n_adv_region_x->m_node_type = NodeType::Simple; - n_adv_region_x->m_address = base + offset; - n_adv_region_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_adv_region_x); - - field_name = "adv_region_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_adv_region_y = new NodeSimple; - n_adv_region_y->m_field_name = field_name; - n_adv_region_y->m_df_type = DF_Type::int32_t; - n_adv_region_y->m_rdf_type = RDF_Type::int32_t; - n_adv_region_y->m_node_type = NodeType::Simple; - n_adv_region_y->m_address = base + offset; - n_adv_region_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_adv_region_y); - - field_name = "adv_emb_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_adv_emb_x = new NodeSimple; - n_adv_emb_x->m_field_name = field_name; - n_adv_emb_x->m_df_type = DF_Type::int32_t; - n_adv_emb_x->m_rdf_type = RDF_Type::int32_t; - n_adv_emb_x->m_node_type = NodeType::Simple; - n_adv_emb_x->m_address = base + offset; - n_adv_emb_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_adv_emb_x); - - field_name = "adv_emb_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_adv_emb_y = new NodeSimple; - n_adv_emb_y->m_field_name = field_name; - n_adv_emb_y->m_df_type = DF_Type::int32_t; - n_adv_emb_y->m_rdf_type = RDF_Type::int32_t; - n_adv_emb_y->m_node_type = NodeType::Simple; - n_adv_emb_y->m_address = base + offset; - n_adv_emb_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_adv_emb_y); - - field_name = "unk_x1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_unk_x1 = new NodeSimple; - n_unk_x1->m_field_name = field_name; - n_unk_x1->m_df_type = DF_Type::int16_t; - n_unk_x1->m_rdf_type = RDF_Type::int16_t; - n_unk_x1->m_node_type = NodeType::Simple; - n_unk_x1->m_address = base + offset; - n_unk_x1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_x1); - - field_name = "unk_y1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_unk_y1 = new NodeSimple; - n_unk_y1->m_field_name = field_name; - n_unk_y1->m_df_type = DF_Type::int16_t; - n_unk_y1->m_rdf_type = RDF_Type::int16_t; - n_unk_y1->m_node_type = NodeType::Simple; - n_unk_y1->m_address = base + offset; - n_unk_y1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_y1); - - field_name = "unk_x2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_unk_x2 = new NodeSimple; - n_unk_x2->m_field_name = field_name; - n_unk_x2->m_df_type = DF_Type::int16_t; - n_unk_x2->m_rdf_type = RDF_Type::int16_t; - n_unk_x2->m_node_type = NodeType::Simple; - n_unk_x2->m_address = base + offset; - n_unk_x2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_x2); - - field_name = "unk_y2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_unk_y2 = new NodeSimple; - n_unk_y2->m_field_name = field_name; - n_unk_y2->m_df_type = DF_Type::int16_t; - n_unk_y2->m_rdf_type = RDF_Type::int16_t; - n_unk_y2->m_node_type = NodeType::Simple; - n_unk_y2->m_address = base + offset; - n_unk_y2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_y2); - - field_name = "constructions"; - auto n_constructions = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - n_constructions->m_field_name = field_name; - n_constructions->m_df_type = DF_Type::world_data__T_constructions; - n_constructions->m_rdf_type = RDF_Type::Compound; - n_constructions->m_node_type = NodeType::Compound; - n_constructions->m_address = base + offset; - n_constructions->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_constructions); - - field_name = "entity_claims1"; - auto n_entity_claims1 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - n_entity_claims1->m_field_name = field_name; - n_entity_claims1->m_df_type = DF_Type::entity_claim_mask; - n_entity_claims1->m_rdf_type = RDF_Type::Struct; - n_entity_claims1->m_node_type = NodeType::Compound; - n_entity_claims1->m_address = base + offset; - n_entity_claims1->m_defined_in = "df.world-data.xml"; - n_entity_claims1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity_claims1); - - field_name = "entity_claims2"; - auto n_entity_claims2 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - n_entity_claims2->m_field_name = field_name; - n_entity_claims2->m_df_type = DF_Type::entity_claim_mask; - n_entity_claims2->m_rdf_type = RDF_Type::Struct; - n_entity_claims2->m_node_type = NodeType::Compound; - n_entity_claims2->m_address = base + offset; - n_entity_claims2->m_defined_in = "df.world-data.xml"; - n_entity_claims2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity_claims2); - - field_name = "sites"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_sites = new NodeVector; - n_sites->m_field_name = field_name; - n_sites->m_df_type = DF_Type::world_site; - n_sites->m_rdf_type = RDF_Type::Vector; - n_sites->m_node_type = NodeType::Vector; - n_sites->m_defined_in = "df.world-site.xml"; - n_sites->m_addornements = "v*"; - n_sites->m_address = base + offset; - n_sites->m_parent = p_node_parent; - n_sites->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_sites); - - field_name = "site_unk130"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_site_unk130 = new NodeVector; - n_site_unk130->m_field_name = field_name; - n_site_unk130->m_df_type = DF_Type::world_site_unk130; - n_site_unk130->m_rdf_type = RDF_Type::Vector; - n_site_unk130->m_node_type = NodeType::Vector; - n_site_unk130->m_defined_in = "df.world-data.xml"; - n_site_unk130->m_addornements = "v*"; - n_site_unk130->m_address = base + offset; - n_site_unk130->m_parent = p_node_parent; - n_site_unk130->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_site_unk130); - - field_name = "resource_allotments"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_resource_allotments = new NodeVector; - n_resource_allotments->m_field_name = field_name; - n_resource_allotments->m_df_type = DF_Type::resource_allotment_data; - n_resource_allotments->m_rdf_type = RDF_Type::Vector; - n_resource_allotments->m_node_type = NodeType::Vector; - n_resource_allotments->m_defined_in = "df.resource.xml"; - n_resource_allotments->m_addornements = "v*"; - n_resource_allotments->m_address = base + offset; - n_resource_allotments->m_parent = p_node_parent; - n_resource_allotments->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_resource_allotments); - - field_name = "unk_150"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_unk_150 = new NodeVector; - n_unk_150->m_field_name = field_name; - n_unk_150->m_df_type = DF_Type::world_data__T_unk_150; - n_unk_150->m_rdf_type = RDF_Type::Vector; - n_unk_150->m_node_type = NodeType::Vector; - n_unk_150->m_addornements = "v*"; - n_unk_150->m_address = base + offset; - n_unk_150->m_parent = p_node_parent; - n_unk_150->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_150); - - field_name = "unk_170"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_unk_170 = new NodeVector; - n_unk_170->m_field_name = field_name; - n_unk_170->m_df_type = DF_Type::world_data__T_unk_170; - n_unk_170->m_rdf_type = RDF_Type::Vector; - n_unk_170->m_node_type = NodeType::Vector; - n_unk_170->m_addornements = "v*"; - n_unk_170->m_address = base + offset; - n_unk_170->m_parent = p_node_parent; - n_unk_170->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_170); - - field_name = "freakish_weather"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_freakish_weather = new NodeVector; - n_freakish_weather->m_field_name = field_name; - n_freakish_weather->m_df_type = DF_Type::world_data__T_freakish_weather; - n_freakish_weather->m_rdf_type = RDF_Type::Vector; - n_freakish_weather->m_node_type = NodeType::Vector; - n_freakish_weather->m_addornements = "v*"; - n_freakish_weather->m_address = base + offset; - n_freakish_weather->m_parent = p_node_parent; - n_freakish_weather->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_freakish_weather); - - field_name = "object_data"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_object_data = new NodeVector; - n_object_data->m_field_name = field_name; - n_object_data->m_df_type = DF_Type::world_object_data; - n_object_data->m_rdf_type = RDF_Type::Vector; - n_object_data->m_node_type = NodeType::Vector; - n_object_data->m_defined_in = "df.world-data.xml"; - n_object_data->m_addornements = "v*"; - n_object_data->m_address = base + offset; - n_object_data->m_parent = p_node_parent; - n_object_data->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_object_data); - - field_name = "landmasses"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_landmasses = new NodeVector; - n_landmasses->m_field_name = field_name; - n_landmasses->m_df_type = DF_Type::world_landmass; - n_landmasses->m_rdf_type = RDF_Type::Vector; - n_landmasses->m_node_type = NodeType::Vector; - n_landmasses->m_defined_in = "df.world-data.xml"; - n_landmasses->m_addornements = "v*"; - n_landmasses->m_address = base + offset; - n_landmasses->m_parent = p_node_parent; - n_landmasses->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_landmasses); - - field_name = "regions"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_regions = new NodeVector; - n_regions->m_field_name = field_name; - n_regions->m_df_type = DF_Type::world_region; - n_regions->m_rdf_type = RDF_Type::Vector; - n_regions->m_node_type = NodeType::Vector; - n_regions->m_defined_in = "df.world-data.xml"; - n_regions->m_addornements = "v*"; - n_regions->m_address = base + offset; - n_regions->m_parent = p_node_parent; - n_regions->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_regions); - - field_name = "underground_regions"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_underground_regions = new NodeVector; - n_underground_regions->m_field_name = field_name; - n_underground_regions->m_df_type = DF_Type::world_underground_region; - n_underground_regions->m_rdf_type = RDF_Type::Vector; - n_underground_regions->m_node_type = NodeType::Vector; - n_underground_regions->m_defined_in = "df.world-data.xml"; - n_underground_regions->m_addornements = "v*"; - n_underground_regions->m_address = base + offset; - n_underground_regions->m_parent = p_node_parent; - n_underground_regions->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_underground_regions); - - field_name = "geo_biomes"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_geo_biomes = new NodeVector; - n_geo_biomes->m_field_name = field_name; - n_geo_biomes->m_df_type = DF_Type::world_geo_biome; - n_geo_biomes->m_rdf_type = RDF_Type::Vector; - n_geo_biomes->m_node_type = NodeType::Vector; - n_geo_biomes->m_defined_in = "df.world-data.xml"; - n_geo_biomes->m_addornements = "v*"; - n_geo_biomes->m_address = base + offset; - n_geo_biomes->m_parent = p_node_parent; - n_geo_biomes->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_geo_biomes); - - field_name = "mountain_peaks"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_mountain_peaks = new NodeVector; - n_mountain_peaks->m_field_name = field_name; - n_mountain_peaks->m_df_type = DF_Type::world_data__T_mountain_peaks; - n_mountain_peaks->m_rdf_type = RDF_Type::Vector; - n_mountain_peaks->m_node_type = NodeType::Vector; - n_mountain_peaks->m_addornements = "v*"; - n_mountain_peaks->m_address = base + offset; - n_mountain_peaks->m_parent = p_node_parent; - n_mountain_peaks->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_mountain_peaks); - - field_name = "rivers"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_rivers = new NodeVector; - n_rivers->m_field_name = field_name; - n_rivers->m_df_type = DF_Type::world_river; - n_rivers->m_rdf_type = RDF_Type::Vector; - n_rivers->m_node_type = NodeType::Vector; - n_rivers->m_defined_in = "df.world-data.xml"; - n_rivers->m_addornements = "v*"; - n_rivers->m_address = base + offset; - n_rivers->m_parent = p_node_parent; - n_rivers->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_rivers); - - field_name = "region_map"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_region_map = new NodePointer; - n_region_map->m_field_name = field_name; - n_region_map->m_df_type = DF_Type::region_map_entry; - n_region_map->m_rdf_type = RDF_Type::Pointer; - n_region_map->m_node_type = NodeType::Pointer; - n_region_map->m_addornements = "**"; - n_region_map->m_address = base + offset; - n_region_map->m_parent = p_node_parent; - n_region_map->m_defined_in = "df.world-data.xml"; - n_region_map->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_region_map); - - field_name = "unk_1c4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_unk_1c4 = new NodePointer; - n_unk_1c4->m_field_name = field_name; - n_unk_1c4->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_unk_1c4->m_rdf_type = RDF_Type::Pointer; - n_unk_1c4->m_node_type = NodeType::Pointer; - n_unk_1c4->m_addornements = "*"; - n_unk_1c4->m_address = base + offset; - n_unk_1c4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_1c4); - - field_name = "unk_1c8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_unk_1c8= new NodePadding; - n_unk_1c8->m_field_name = field_name; - n_unk_1c8->m_df_type = DF_Type::Padding; - n_unk_1c8->m_rdf_type = RDF_Type::Padding; - n_unk_1c8->m_node_type = NodeType::Padding; - n_unk_1c8->m_address = base + offset; - n_unk_1c8->m_size = 4; - n_unk_1c8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_1c8); - - field_name = "embark_notes"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_embark_notes = new NodeVector; - n_embark_notes->m_field_name = field_name; - n_embark_notes->m_df_type = DF_Type::embark_note; - n_embark_notes->m_rdf_type = RDF_Type::Vector; - n_embark_notes->m_node_type = NodeType::Vector; - n_embark_notes->m_defined_in = "df.world-data.xml"; - n_embark_notes->m_addornements = "v*"; - n_embark_notes->m_address = base + offset; - n_embark_notes->m_parent = p_node_parent; - n_embark_notes->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_embark_notes); - - field_name = "unk_1dc"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_unk_1dc = new NodePointer; - n_unk_1dc->m_field_name = field_name; - n_unk_1dc->m_df_type = DF_Type::Void; - n_unk_1dc->m_rdf_type = RDF_Type::Pointer; - n_unk_1dc->m_node_type = NodeType::Pointer; - n_unk_1dc->m_addornements = "**v"; - n_unk_1dc->m_address = base + offset; - n_unk_1dc->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_1dc); - - field_name = "unk_1e0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_unk_1e0 = new NodePointer; - n_unk_1e0->m_field_name = field_name; - n_unk_1e0->m_df_type = DF_Type::Void; - n_unk_1e0->m_rdf_type = RDF_Type::Pointer; - n_unk_1e0->m_node_type = NodeType::Pointer; - n_unk_1e0->m_addornements = "**v"; - n_unk_1e0->m_address = base + offset; - n_unk_1e0->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_1e0); - - field_name = "unk_1e4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_unk_1e4 = new NodePointer; - n_unk_1e4->m_field_name = field_name; - n_unk_1e4->m_df_type = DF_Type::Void; - n_unk_1e4->m_rdf_type = RDF_Type::Pointer; - n_unk_1e4->m_node_type = NodeType::Pointer; - n_unk_1e4->m_addornements = "**v"; - n_unk_1e4->m_address = base + offset; - n_unk_1e4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_1e4); - - field_name = "unk_1e8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_unk_1e8 = new NodePointer; - n_unk_1e8->m_field_name = field_name; - n_unk_1e8->m_df_type = DF_Type::Void; - n_unk_1e8->m_rdf_type = RDF_Type::Pointer; - n_unk_1e8->m_node_type = NodeType::Pointer; - n_unk_1e8->m_addornements = "**v"; - n_unk_1e8->m_address = base + offset; - n_unk_1e8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_1e8); - - field_name = "unk_1ec"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_unk_1ec = new NodePointer; - n_unk_1ec->m_field_name = field_name; - n_unk_1ec->m_df_type = DF_Type::Void; - n_unk_1ec->m_rdf_type = RDF_Type::Pointer; - n_unk_1ec->m_node_type = NodeType::Pointer; - n_unk_1ec->m_addornements = "**v"; - n_unk_1ec->m_address = base + offset; - n_unk_1ec->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_1ec); - - field_name = "unk_1f0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_unk_1f0 = new NodePointer; - n_unk_1f0->m_field_name = field_name; - n_unk_1f0->m_df_type = DF_Type::Void; - n_unk_1f0->m_rdf_type = RDF_Type::Pointer; - n_unk_1f0->m_node_type = NodeType::Pointer; - n_unk_1f0->m_addornements = "**v"; - n_unk_1f0->m_address = base + offset; - n_unk_1f0->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_1f0); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_anon_5 = new NodePointer; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_anon_5->m_rdf_type = RDF_Type::Pointer; - n_anon_5->m_node_type = NodeType::Pointer; - n_anon_5->m_addornements = "*"; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_anon_6 = new NodePointer; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_anon_6->m_rdf_type = RDF_Type::Pointer; - n_anon_6->m_node_type = NodeType::Pointer; - n_anon_6->m_addornements = "*"; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_anon_7 = new NodePointer; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_anon_7->m_rdf_type = RDF_Type::Pointer; - n_anon_7->m_node_type = NodeType::Pointer; - n_anon_7->m_addornements = "*"; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_7); - - field_name = "anon_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_anon_8 = new NodePointer; - n_anon_8->m_field_name = field_name; - n_anon_8->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_anon_8->m_rdf_type = RDF_Type::Pointer; - n_anon_8->m_node_type = NodeType::Pointer; - n_anon_8->m_addornements = "*"; - n_anon_8->m_address = base + offset; - n_anon_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_8); - - field_name = "anon_9"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_anon_9 = new NodePointer; - n_anon_9->m_field_name = field_name; - n_anon_9->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_anon_9->m_rdf_type = RDF_Type::Pointer; - n_anon_9->m_node_type = NodeType::Pointer; - n_anon_9->m_addornements = "*"; - n_anon_9->m_address = base + offset; - n_anon_9->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_9); - - field_name = "anon_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_anon_10 = new NodePointer; - n_anon_10->m_field_name = field_name; - n_anon_10->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_anon_10->m_rdf_type = RDF_Type::Pointer; - n_anon_10->m_node_type = NodeType::Pointer; - n_anon_10->m_addornements = "*"; - n_anon_10->m_address = base + offset; - n_anon_10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_10); - - field_name = "anon_11"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_anon_11 = new NodePointer; - n_anon_11->m_field_name = field_name; - n_anon_11->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_anon_11->m_rdf_type = RDF_Type::Pointer; - n_anon_11->m_node_type = NodeType::Pointer; - n_anon_11->m_addornements = "*"; - n_anon_11->m_address = base + offset; - n_anon_11->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_11); - - field_name = "anon_12"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_anon_12 = new NodePointer; - n_anon_12->m_field_name = field_name; - n_anon_12->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_anon_12->m_rdf_type = RDF_Type::Pointer; - n_anon_12->m_node_type = NodeType::Pointer; - n_anon_12->m_addornements = "*"; - n_anon_12->m_address = base + offset; - n_anon_12->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_12); - - field_name = "anon_13"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_anon_13 = new NodePointer; - n_anon_13->m_field_name = field_name; - n_anon_13->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_anon_13->m_rdf_type = RDF_Type::Pointer; - n_anon_13->m_node_type = NodeType::Pointer; - n_anon_13->m_addornements = "*"; - n_anon_13->m_address = base + offset; - n_anon_13->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_13); - - field_name = "anon_14"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_anon_14 = new NodePointer; - n_anon_14->m_field_name = field_name; - n_anon_14->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_anon_14->m_rdf_type = RDF_Type::Pointer; - n_anon_14->m_node_type = NodeType::Pointer; - n_anon_14->m_addornements = "*"; - n_anon_14->m_address = base + offset; - n_anon_14->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_14); - - field_name = "anon_15"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_anon_15 = new NodePointer; - n_anon_15->m_field_name = field_name; - n_anon_15->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_anon_15->m_rdf_type = RDF_Type::Pointer; - n_anon_15->m_node_type = NodeType::Pointer; - n_anon_15->m_addornements = "*"; - n_anon_15->m_address = base + offset; - n_anon_15->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_15); - - field_name = "anon_16"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_anon_16 = new NodePointer; - n_anon_16->m_field_name = field_name; - n_anon_16->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_anon_16->m_rdf_type = RDF_Type::Pointer; - n_anon_16->m_node_type = NodeType::Pointer; - n_anon_16->m_addornements = "*"; - n_anon_16->m_address = base + offset; - n_anon_16->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_16); - - field_name = "anon_17"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_anon_17 = new NodePointer; - n_anon_17->m_field_name = field_name; - n_anon_17->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_anon_17->m_rdf_type = RDF_Type::Pointer; - n_anon_17->m_node_type = NodeType::Pointer; - n_anon_17->m_addornements = "*"; - n_anon_17->m_address = base + offset; - n_anon_17->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_17); - - field_name = "anon_18"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_anon_18 = new NodePointer; - n_anon_18->m_field_name = field_name; - n_anon_18->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_anon_18->m_rdf_type = RDF_Type::Pointer; - n_anon_18->m_node_type = NodeType::Pointer; - n_anon_18->m_addornements = "*"; - n_anon_18->m_address = base + offset; - n_anon_18->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_18); - - field_name = "anon_19"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_anon_19 = new NodePointer; - n_anon_19->m_field_name = field_name; - n_anon_19->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_anon_19->m_rdf_type = RDF_Type::Pointer; - n_anon_19->m_node_type = NodeType::Pointer; - n_anon_19->m_addornements = "*"; - n_anon_19->m_address = base + offset; - n_anon_19->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_19); - - field_name = "anon_20"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_anon_20= new NodePadding; - n_anon_20->m_field_name = field_name; - n_anon_20->m_df_type = DF_Type::Padding; - n_anon_20->m_rdf_type = RDF_Type::Padding; - n_anon_20->m_node_type = NodeType::Padding; - n_anon_20->m_address = base + offset; - n_anon_20->m_size = 294920; - n_anon_20->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_20); - - field_name = "anon_21"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_anon_21 = new NodeSimple; - n_anon_21->m_field_name = field_name; - n_anon_21->m_df_type = DF_Type::int8_t; - n_anon_21->m_rdf_type = RDF_Type::int8_t; - n_anon_21->m_node_type = NodeType::Simple; - n_anon_21->m_address = base + offset; - n_anon_21->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_21); - - field_name = "anon_22"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_anon_22 = new NodeSimple; - n_anon_22->m_field_name = field_name; - n_anon_22->m_df_type = DF_Type::int8_t; - n_anon_22->m_rdf_type = RDF_Type::int8_t; - n_anon_22->m_node_type = NodeType::Simple; - n_anon_22->m_address = base + offset; - n_anon_22->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_22); - - field_name = "active_site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_active_site = new NodeVector; - n_active_site->m_field_name = field_name; - n_active_site->m_df_type = DF_Type::world_site; - n_active_site->m_rdf_type = RDF_Type::Vector; - n_active_site->m_node_type = NodeType::Vector; - n_active_site->m_defined_in = "df.world-site.xml"; - n_active_site->m_addornements = "v*"; - n_active_site->m_address = base + offset; - n_active_site->m_parent = p_node_parent; - n_active_site->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_active_site); - - field_name = "feature_map"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_feature_map = new NodePointer; - n_feature_map->m_field_name = field_name; - n_feature_map->m_df_type = DF_Type::world_data__T_feature_map; - n_feature_map->m_rdf_type = RDF_Type::Pointer; - n_feature_map->m_node_type = NodeType::Pointer; - n_feature_map->m_addornements = "**"; - n_feature_map->m_address = base + offset; - n_feature_map->m_comment = "Additional feature_map information: The feature_map is a two dimensional structure dividing the world into 16 * 16 world tile 'feature shells' (and remember that there's a single tile wide shell at the end of each dimension, so a pocket world has a shell dimension of 2 * 2). These shells are loaded and unloaded dynamically, which means trying to access a shell that isn't the one in DF's focus (where the fortress/adventurer/pre embark cursor is) is invalid and can lead to DF crashing. The 'features.feature_init' 16 * 16 structure contains the features of each of the corresponding world tiles within the shell. However, DF only loads the feature vectors for the world tiles in focus, although they seem to remain loaded until the shell is unloaded. Until loaded the vectors have a size of 0. Manipulation of the features is usually preserved as feature vectors are unloaded/reloaded, so spires can be elongated and rivers added, but some details, such as river fauna, seem to be generated on loading. Added features may not necessarily be reloaded at the vector index they were created at."; - n_feature_map->m_parent = p_node_parent; - n_feature_map->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_feature_map); - - field_name = "old_sites"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_old_sites = new NodeVector; - n_old_sites->m_field_name = field_name; - n_old_sites->m_df_type = DF_Type::int32_t; - n_old_sites->m_rdf_type = RDF_Type::Vector; - n_old_sites->m_node_type = NodeType::Vector; - n_old_sites->m_addornements = "v"; - n_old_sites->m_address = base + offset; - n_old_sites->m_parent = p_node_parent; - n_old_sites->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_old_sites); - - field_name = "old_site_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_old_site_x = new NodeVector; - n_old_site_x->m_field_name = field_name; - n_old_site_x->m_df_type = DF_Type::int32_t; - n_old_site_x->m_rdf_type = RDF_Type::Vector; - n_old_site_x->m_node_type = NodeType::Vector; - n_old_site_x->m_addornements = "v"; - n_old_site_x->m_address = base + offset; - n_old_site_x->m_parent = p_node_parent; - n_old_site_x->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_old_site_x); - - field_name = "old_site_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_old_site_y = new NodeVector; - n_old_site_y->m_field_name = field_name; - n_old_site_y->m_df_type = DF_Type::int32_t; - n_old_site_y->m_rdf_type = RDF_Type::Vector; - n_old_site_y->m_node_type = NodeType::Vector; - n_old_site_y->m_addornements = "v"; - n_old_site_y->m_address = base + offset; - n_old_site_y->m_parent = p_node_parent; - n_old_site_y->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_old_site_y); - - field_name = "land_rgns"; - auto n_land_rgns = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - n_land_rgns->m_field_name = field_name; - n_land_rgns->m_df_type = DF_Type::coord2d_path; - n_land_rgns->m_rdf_type = RDF_Type::Struct; - n_land_rgns->m_node_type = NodeType::Compound; - n_land_rgns->m_address = base + offset; - n_land_rgns->m_defined_in = "df.map.xml"; - n_land_rgns->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_land_rgns); - - field_name = "unk_260"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_unk_260 = new NodeSimple; - n_unk_260->m_field_name = field_name; - n_unk_260->m_df_type = DF_Type::int32_t; - n_unk_260->m_rdf_type = RDF_Type::int32_t; - n_unk_260->m_node_type = NodeType::Simple; - n_unk_260->m_address = base + offset; - n_unk_260->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_260); - - field_name = "unk_264"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_unk_264 = new NodeSimple; - n_unk_264->m_field_name = field_name; - n_unk_264->m_df_type = DF_Type::int8_t; - n_unk_264->m_rdf_type = RDF_Type::int8_t; - n_unk_264->m_node_type = NodeType::Simple; - n_unk_264->m_address = base + offset; - n_unk_264->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_264); - - field_name = "unk_268"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_unk_268 = new NodeSimple; - n_unk_268->m_field_name = field_name; - n_unk_268->m_df_type = DF_Type::int32_t; - n_unk_268->m_rdf_type = RDF_Type::int32_t; - n_unk_268->m_node_type = NodeType::Simple; - n_unk_268->m_address = base + offset; - n_unk_268->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_268); - - field_name = "unk_26c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_unk_26c = new NodeSimple; - n_unk_26c->m_field_name = field_name; - n_unk_26c->m_df_type = DF_Type::int8_t; - n_unk_26c->m_rdf_type = RDF_Type::int8_t; - n_unk_26c->m_node_type = NodeType::Simple; - n_unk_26c->m_address = base + offset; - n_unk_26c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_26c); - - field_name = "unk_270"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_unk_270 = new NodeSimple; - n_unk_270->m_field_name = field_name; - n_unk_270->m_df_type = DF_Type::int32_t; - n_unk_270->m_rdf_type = RDF_Type::int32_t; - n_unk_270->m_node_type = NodeType::Simple; - n_unk_270->m_address = base + offset; - n_unk_270->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_270); - - field_name = "unk_274"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - auto n_unk_274 = new NodeVector; - n_unk_274->m_field_name = field_name; - n_unk_274->m_df_type = DF_Type::world_data__T_unk_274; - n_unk_274->m_rdf_type = RDF_Type::Vector; - n_unk_274->m_node_type = NodeType::Vector; - n_unk_274->m_addornements = "v*"; - n_unk_274->m_address = base + offset; - n_unk_274->m_parent = p_node_parent; - n_unk_274->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_274); - - field_name = "unk_482f8"; - auto n_unk_482f8 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); - n_unk_482f8->m_field_name = field_name; - n_unk_482f8->m_df_type = DF_Type::world_data__T_unk_482f8; - n_unk_482f8->m_rdf_type = RDF_Type::Compound; - n_unk_482f8->m_node_type = NodeType::Compound; - n_unk_482f8->m_address = base + offset; - n_unk_482f8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_482f8); - -} -void node_from_site_reputation_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "reports"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_reputation_info, field_name)); - auto n_reports = new NodeVector; - n_reports->m_field_name = field_name; - n_reports->m_df_type = DF_Type::site_reputation_report; - n_reports->m_rdf_type = RDF_Type::Vector; - n_reports->m_node_type = NodeType::Vector; - n_reports->m_defined_in = "df.world-site.xml"; - n_reports->m_addornements = "v*"; - n_reports->m_address = base + offset; - n_reports->m_parent = p_node_parent; - n_reports->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_reports); - -} -void node_from_location_scribe_jobs(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "scribejobs"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::location_scribe_jobs, field_name)); - auto n_scribejobs = new NodeVector; - n_scribejobs->m_field_name = field_name; - n_scribejobs->m_df_type = DF_Type::scribejob; - n_scribejobs->m_rdf_type = RDF_Type::Vector; - n_scribejobs->m_node_type = NodeType::Vector; - n_scribejobs->m_defined_in = "df.world-site.xml"; - n_scribejobs->m_addornements = "v*"; - n_scribejobs->m_address = base + offset; - n_scribejobs->m_parent = p_node_parent; - n_scribejobs->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_scribejobs); - - field_name = "nextidmaybe"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::location_scribe_jobs, field_name)); - auto n_nextidmaybe = new NodeSimple; - n_nextidmaybe->m_field_name = field_name; - n_nextidmaybe->m_df_type = DF_Type::int32_t; - n_nextidmaybe->m_rdf_type = RDF_Type::int32_t; - n_nextidmaybe->m_node_type = NodeType::Simple; - n_nextidmaybe->m_address = base + offset; - n_nextidmaybe->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_nextidmaybe); - - field_name = "year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::location_scribe_jobs, field_name)); - auto n_year = new NodeSimple; - n_year->m_field_name = field_name; - n_year->m_df_type = DF_Type::int32_t; - n_year->m_rdf_type = RDF_Type::int32_t; - n_year->m_node_type = NodeType::Simple; - n_year->m_address = base + offset; - n_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_year); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::location_scribe_jobs, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::uint16_t; - n_anon_1->m_rdf_type = RDF_Type::uint16_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::location_scribe_jobs, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int16_t; - n_anon_2->m_rdf_type = RDF_Type::int16_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::location_scribe_jobs, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::location_scribe_jobs, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::location_scribe_jobs, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - -} -void node_from_abstract_building_unk__T_anon_1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_unk__T_anon_1, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "race"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_unk__T_anon_1, field_name)); - auto n_race = new NodeSimple; - n_race->m_field_name = field_name; - n_race->m_df_type = DF_Type::int32_t; - n_race->m_rdf_type = RDF_Type::int32_t; - n_race->m_node_type = NodeType::Simple; - n_race->m_address = base + offset; - n_race->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_race); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_unk__T_anon_1, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_unk__T_anon_1, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_unk__T_anon_1, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_unk__T_anon_1, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_unk__T_anon_1, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_unk__T_anon_1, field_name)); - auto n_anon_7 = new NodeSimple; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::int32_t; - n_anon_7->m_rdf_type = RDF_Type::int32_t; - n_anon_7->m_node_type = NodeType::Simple; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_7); - -} -void node_from_abstract_building_unk(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_unk, field_name)); - auto n_anon_1 = new NodeVector; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::abstract_building_unk__T_anon_1; - n_anon_1->m_rdf_type = RDF_Type::Vector; - n_anon_1->m_node_type = NodeType::Vector; - n_anon_1->m_addornements = "v*"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "histfigs"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_unk, field_name)); - auto n_histfigs = new NodeVector; - n_histfigs->m_field_name = field_name; - n_histfigs->m_df_type = DF_Type::int32_t; - n_histfigs->m_rdf_type = RDF_Type::Vector; - n_histfigs->m_node_type = NodeType::Vector; - n_histfigs->m_addornements = "v"; - n_histfigs->m_address = base + offset; - n_histfigs->m_parent = p_node_parent; - n_histfigs->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_histfigs); - -} -void node_from_abstract_building__T_inhabitants(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building__T_inhabitants, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int16_t; - n_anon_1->m_rdf_type = RDF_Type::int16_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "histfig_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building__T_inhabitants, field_name)); - auto n_histfig_id = new NodeSimple; - n_histfig_id->m_field_name = field_name; - n_histfig_id->m_df_type = DF_Type::int32_t; - n_histfig_id->m_rdf_type = RDF_Type::int32_t; - n_histfig_id->m_node_type = NodeType::Simple; - n_histfig_id->m_address = base + offset; - n_histfig_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_histfig_id); - -} -void node_from_abstract_building__T_unk1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "hfig"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building__T_unk1, field_name)); - auto n_hfig = new NodeVector; - n_hfig->m_field_name = field_name; - n_hfig->m_df_type = DF_Type::int32_t; - n_hfig->m_rdf_type = RDF_Type::Vector; - n_hfig->m_node_type = NodeType::Vector; - n_hfig->m_addornements = "v"; - n_hfig->m_address = base + offset; - n_hfig->m_parent = p_node_parent; - n_hfig->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_hfig); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building__T_unk1, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building__T_unk1, field_name)); - auto n_anon_2 = new NodeVector; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int16_t; - n_anon_2->m_rdf_type = RDF_Type::Vector; - n_anon_2->m_node_type = NodeType::Vector; - n_anon_2->m_addornements = "v"; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - n_anon_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building__T_unk1, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_comment = "just a guess"; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building__T_unk1, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - -} -void node_from_abstract_building(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "inhabitants"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building, field_name)); - auto n_inhabitants = new NodeVector; - n_inhabitants->m_field_name = field_name; - n_inhabitants->m_df_type = DF_Type::abstract_building__T_inhabitants; - n_inhabitants->m_rdf_type = RDF_Type::Vector; - n_inhabitants->m_node_type = NodeType::Vector; - n_inhabitants->m_addornements = "v*"; - n_inhabitants->m_address = base + offset; - n_inhabitants->m_parent = p_node_parent; - n_inhabitants->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_inhabitants); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building, field_name)); - auto n_flags = new NodeDFFlagArray; - n_flags->m_field_name = field_name; - n_flags->m_index_enum = DF_Type::abstract_building_flags; - n_flags->m_df_type = DF_Type::abstract_building_flags; - n_flags->m_size = 8; - n_flags->m_rdf_type = RDF_Type::DFFlagArray; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_defined_in = "df.world-site.xml"; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "unk1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building, field_name)); - auto n_unk1 = new NodePointer; - n_unk1->m_field_name = field_name; - n_unk1->m_df_type = get_real_subtype(base+offset, DF_Type::abstract_building__T_unk1); - n_unk1->m_rdf_type = RDF_Type::Pointer; - n_unk1->m_node_type = NodeType::Pointer; - n_unk1->m_addornements = "*"; - n_unk1->m_address = base + offset; - n_unk1->m_comment = "in temples; hfig is the god"; - n_unk1->m_parent = p_node_parent; - n_unk1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk1); - - field_name = "unk2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building, field_name)); - auto n_unk2 = new NodeVector; - n_unk2->m_field_name = field_name; - n_unk2->m_df_type = DF_Type::int32_t; - n_unk2->m_rdf_type = RDF_Type::Vector; - n_unk2->m_node_type = NodeType::Vector; - n_unk2->m_addornements = "v"; - n_unk2->m_address = base + offset; - n_unk2->m_parent = p_node_parent; - n_unk2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk2); - - field_name = "unk3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building, field_name)); - auto n_unk3 = new NodeSimple; - n_unk3->m_field_name = field_name; - n_unk3->m_df_type = DF_Type::int32_t; - n_unk3->m_rdf_type = RDF_Type::int32_t; - n_unk3->m_node_type = NodeType::Simple; - n_unk3->m_address = base + offset; - n_unk3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk3); - - field_name = "unk4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building, field_name)); - auto n_unk4 = new NodeVector; - n_unk4->m_field_name = field_name; - n_unk4->m_df_type = DF_Type::int32_t; - n_unk4->m_rdf_type = RDF_Type::Vector; - n_unk4->m_node_type = NodeType::Vector; - n_unk4->m_addornements = "v"; - n_unk4->m_address = base + offset; - n_unk4->m_parent = p_node_parent; - n_unk4->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk4); - - field_name = "site_owner_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building, field_name)); - auto n_site_owner_id = new NodeSimple; - n_site_owner_id->m_field_name = field_name; - n_site_owner_id->m_df_type = DF_Type::int32_t; - n_site_owner_id->m_rdf_type = RDF_Type::int32_t; - n_site_owner_id->m_node_type = NodeType::Simple; - n_site_owner_id->m_address = base + offset; - n_site_owner_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_owner_id); - - field_name = "scribeinfo"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building, field_name)); - auto n_scribeinfo = new NodePointer; - n_scribeinfo->m_field_name = field_name; - n_scribeinfo->m_df_type = get_real_subtype(base+offset, DF_Type::location_scribe_jobs); - n_scribeinfo->m_rdf_type = RDF_Type::Pointer; - n_scribeinfo->m_node_type = NodeType::Pointer; - n_scribeinfo->m_addornements = "*"; - n_scribeinfo->m_address = base + offset; - n_scribeinfo->m_parent = p_node_parent; - n_scribeinfo->m_defined_in = "df.world-site.xml"; - n_scribeinfo->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_scribeinfo); - - field_name = "reputation_reports"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building, field_name)); - auto n_reputation_reports = new NodePointer; - n_reputation_reports->m_field_name = field_name; - n_reputation_reports->m_df_type = get_real_subtype(base+offset, DF_Type::site_reputation_info); - n_reputation_reports->m_rdf_type = RDF_Type::Pointer; - n_reputation_reports->m_node_type = NodeType::Pointer; - n_reputation_reports->m_addornements = "*"; - n_reputation_reports->m_address = base + offset; - n_reputation_reports->m_parent = p_node_parent; - n_reputation_reports->m_defined_in = "df.world-site.xml"; - n_reputation_reports->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_reputation_reports); - - field_name = "unk_v42_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building, field_name)); - auto n_unk_v42_3 = new NodePointer; - n_unk_v42_3->m_field_name = field_name; - n_unk_v42_3->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_unk_v42_3->m_rdf_type = RDF_Type::Pointer; - n_unk_v42_3->m_node_type = NodeType::Pointer; - n_unk_v42_3->m_addornements = "*"; - n_unk_v42_3->m_address = base + offset; - n_unk_v42_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v42_3); - - field_name = "site_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building, field_name)); - auto n_site_id = new NodeSimple; - n_site_id->m_field_name = field_name; - n_site_id->m_df_type = DF_Type::int32_t; - n_site_id->m_rdf_type = RDF_Type::int32_t; - n_site_id->m_node_type = NodeType::Simple; - n_site_id->m_address = base + offset; - n_site_id->m_comment = "not initialized/saved/loaded, assumed member of base class"; - n_site_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_id); - - field_name = "pos"; - auto n_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building, field_name)); - n_pos->m_field_name = field_name; - n_pos->m_df_type = DF_Type::coord2d; - n_pos->m_rdf_type = RDF_Type::Struct; - n_pos->m_node_type = NodeType::Compound; - n_pos->m_address = base + offset; - n_pos->m_defined_in = "df.map.xml"; - n_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pos); - - field_name = "occupations"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building, field_name)); - auto n_occupations = new NodeVector; - n_occupations->m_field_name = field_name; - n_occupations->m_df_type = DF_Type::occupation; - n_occupations->m_rdf_type = RDF_Type::Vector; - n_occupations->m_node_type = NodeType::Vector; - n_occupations->m_defined_in = "df.art.xml"; - n_occupations->m_addornements = "v*"; - n_occupations->m_address = base + offset; - n_occupations->m_parent = p_node_parent; - n_occupations->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_occupations); - -} -void node_from_abstract_building_keepst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::abstract_building; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_abstract_building(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "name"; - auto n_name = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_keepst, field_name)); - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::language_name; - n_name->m_rdf_type = RDF_Type::Struct; - n_name->m_node_type = NodeType::Compound; - n_name->m_address = base + offset; - n_name->m_defined_in = "df.language.xml"; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - -} -void node_from_abstract_building_templest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::abstract_building; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_abstract_building(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "deity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_templest, field_name)); - auto n_deity = new NodeSimple; - n_deity->m_field_name = field_name; - n_deity->m_df_type = DF_Type::int32_t; - n_deity->m_rdf_type = RDF_Type::int32_t; - n_deity->m_node_type = NodeType::Simple; - n_deity->m_address = base + offset; - n_deity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_deity); - - field_name = "religion"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_templest, field_name)); - auto n_religion = new NodeSimple; - n_religion->m_field_name = field_name; - n_religion->m_df_type = DF_Type::int32_t; - n_religion->m_rdf_type = RDF_Type::int32_t; - n_religion->m_node_type = NodeType::Simple; - n_religion->m_address = base + offset; - n_religion->m_comment = "returned by the vmethod after the destructor"; - n_religion->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_religion); - - field_name = "name"; - auto n_name = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_templest, field_name)); - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::language_name; - n_name->m_rdf_type = RDF_Type::Struct; - n_name->m_node_type = NodeType::Compound; - n_name->m_address = base + offset; - n_name->m_defined_in = "df.language.xml"; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "contents"; - auto n_contents = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_templest, field_name)); - n_contents->m_field_name = field_name; - n_contents->m_df_type = DF_Type::abstract_building_contents; - n_contents->m_rdf_type = RDF_Type::Struct; - n_contents->m_node_type = NodeType::Compound; - n_contents->m_address = base + offset; - n_contents->m_defined_in = "df.world-site.xml"; - n_contents->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_contents); - -} -void node_from_abstract_building_dark_towerst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::abstract_building; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_abstract_building(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "name"; - auto n_name = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_dark_towerst, field_name)); - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::language_name; - n_name->m_rdf_type = RDF_Type::Struct; - n_name->m_node_type = NodeType::Compound; - n_name->m_address = base + offset; - n_name->m_defined_in = "df.language.xml"; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - -} -void node_from_abstract_building_marketst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::abstract_building; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_abstract_building(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "name"; - auto n_name = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_marketst, field_name)); - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::language_name; - n_name->m_rdf_type = RDF_Type::Struct; - n_name->m_node_type = NodeType::Compound; - n_name->m_address = base + offset; - n_name->m_defined_in = "df.language.xml"; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - -} -void node_from_abstract_building_tombst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::abstract_building; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_abstract_building(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "name"; - auto n_name = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_tombst, field_name)); - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::language_name; - n_name->m_rdf_type = RDF_Type::Struct; - n_name->m_node_type = NodeType::Compound; - n_name->m_address = base + offset; - n_name->m_defined_in = "df.language.xml"; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "unk"; - auto n_unk = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_tombst, field_name)); - n_unk->m_field_name = field_name; - n_unk->m_df_type = DF_Type::abstract_building_unk; - n_unk->m_rdf_type = RDF_Type::Struct; - n_unk->m_node_type = NodeType::Compound; - n_unk->m_address = base + offset; - n_unk->m_defined_in = "df.world-site.xml"; - n_unk->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_tombst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_abstract_building_dungeonst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::abstract_building; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_abstract_building(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "name"; - auto n_name = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_dungeonst, field_name)); - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::language_name; - n_name->m_rdf_type = RDF_Type::Struct; - n_name->m_node_type = NodeType::Compound; - n_name->m_address = base + offset; - n_name->m_defined_in = "df.language.xml"; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "dungeon_type"; - auto n_dungeon_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_dungeonst, field_name)); - n_dungeon_type->m_field_name = field_name; - n_dungeon_type->m_df_type = DF_Type::abstract_building_dungeonst__T_dungeon_type; - n_dungeon_type->m_rdf_type = RDF_Type::Enum; - n_dungeon_type->m_node_type = NodeType::Enum; - n_dungeon_type->m_base_type = DF_Type::int16_t; - n_dungeon_type->m_enum_type = "abstract_building_dungeonst::T_dungeon_type"; - n_dungeon_type->m_address = base + offset; - n_dungeon_type->m_first_value = 0; - n_dungeon_type->m_last_value = 2; - n_dungeon_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dungeon_type); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_dungeonst, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "unk"; - auto n_unk = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_dungeonst, field_name)); - n_unk->m_field_name = field_name; - n_unk->m_df_type = DF_Type::abstract_building_unk; - n_unk->m_rdf_type = RDF_Type::Struct; - n_unk->m_node_type = NodeType::Compound; - n_unk->m_address = base + offset; - n_unk->m_defined_in = "df.world-site.xml"; - n_unk->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_dungeonst, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_dungeonst, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_comment = "not saved"; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_dungeonst, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_comment = "not saved"; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - -} -void node_from_abstract_building_underworld_spirest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::abstract_building; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_abstract_building(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "name"; - auto n_name = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_underworld_spirest, field_name)); - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::language_name; - n_name->m_rdf_type = RDF_Type::Struct; - n_name->m_node_type = NodeType::Compound; - n_name->m_address = base + offset; - n_name->m_defined_in = "df.language.xml"; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "unk_bc"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_underworld_spirest, field_name)); - auto n_unk_bc = new NodeSimple; - n_unk_bc->m_field_name = field_name; - n_unk_bc->m_df_type = DF_Type::int32_t; - n_unk_bc->m_rdf_type = RDF_Type::int32_t; - n_unk_bc->m_node_type = NodeType::Simple; - n_unk_bc->m_address = base + offset; - n_unk_bc->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_bc); - -} -void node_from_abstract_building_inn_tavernst__T_room_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_inn_tavernst__T_room_info, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_inn_tavernst__T_room_info, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::Stl_string; - n_anon_1->m_rdf_type = RDF_Type::Stl_string; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "world_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_inn_tavernst__T_room_info, field_name)); - auto n_world_x = new NodeSimple; - n_world_x->m_field_name = field_name; - n_world_x->m_df_type = DF_Type::int32_t; - n_world_x->m_rdf_type = RDF_Type::int32_t; - n_world_x->m_node_type = NodeType::Simple; - n_world_x->m_address = base + offset; - n_world_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_world_x); - - field_name = "world_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_inn_tavernst__T_room_info, field_name)); - auto n_world_y = new NodeSimple; - n_world_y->m_field_name = field_name; - n_world_y->m_df_type = DF_Type::int32_t; - n_world_y->m_rdf_type = RDF_Type::int32_t; - n_world_y->m_node_type = NodeType::Simple; - n_world_y->m_address = base + offset; - n_world_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_world_y); - - field_name = "world_z"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_inn_tavernst__T_room_info, field_name)); - auto n_world_z = new NodeSimple; - n_world_z->m_field_name = field_name; - n_world_z->m_df_type = DF_Type::int32_t; - n_world_z->m_rdf_type = RDF_Type::int32_t; - n_world_z->m_node_type = NodeType::Simple; - n_world_z->m_address = base + offset; - n_world_z->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_world_z); - -} -void node_from_abstract_building_inn_tavernst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::abstract_building; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_abstract_building(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "name"; - auto n_name = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_inn_tavernst, field_name)); - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::language_name; - n_name->m_rdf_type = RDF_Type::Struct; - n_name->m_node_type = NodeType::Compound; - n_name->m_address = base + offset; - n_name->m_defined_in = "df.language.xml"; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "contents"; - auto n_contents = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_inn_tavernst, field_name)); - n_contents->m_field_name = field_name; - n_contents->m_df_type = DF_Type::abstract_building_contents; - n_contents->m_rdf_type = RDF_Type::Struct; - n_contents->m_node_type = NodeType::Compound; - n_contents->m_address = base + offset; - n_contents->m_defined_in = "df.world-site.xml"; - n_contents->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_contents); - - field_name = "room_info"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_inn_tavernst, field_name)); - auto n_room_info = new NodeVector; - n_room_info->m_field_name = field_name; - n_room_info->m_df_type = DF_Type::abstract_building_inn_tavernst__T_room_info; - n_room_info->m_rdf_type = RDF_Type::Vector; - n_room_info->m_node_type = NodeType::Vector; - n_room_info->m_addornements = "v*"; - n_room_info->m_address = base + offset; - n_room_info->m_parent = p_node_parent; - n_room_info->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_room_info); - - field_name = "next_room_info_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_inn_tavernst, field_name)); - auto n_next_room_info_id = new NodeSimple; - n_next_room_info_id->m_field_name = field_name; - n_next_room_info_id->m_df_type = DF_Type::int32_t; - n_next_room_info_id->m_rdf_type = RDF_Type::int32_t; - n_next_room_info_id->m_node_type = NodeType::Simple; - n_next_room_info_id->m_address = base + offset; - n_next_room_info_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_next_room_info_id); - -} -void node_from_abstract_building_libraryst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::abstract_building; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_abstract_building(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "name"; - auto n_name = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_libraryst, field_name)); - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::language_name; - n_name->m_rdf_type = RDF_Type::Struct; - n_name->m_node_type = NodeType::Compound; - n_name->m_address = base + offset; - n_name->m_defined_in = "df.language.xml"; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_libraryst, field_name)); - auto n_anon_1 = new NodeVector; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::Vector; - n_anon_1->m_node_type = NodeType::Vector; - n_anon_1->m_addornements = "v"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_libraryst, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_libraryst, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_libraryst, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_libraryst, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "contents"; - auto n_contents = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_libraryst, field_name)); - n_contents->m_field_name = field_name; - n_contents->m_df_type = DF_Type::abstract_building_contents; - n_contents->m_rdf_type = RDF_Type::Struct; - n_contents->m_node_type = NodeType::Compound; - n_contents->m_address = base + offset; - n_contents->m_defined_in = "df.world-site.xml"; - n_contents->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_contents); - -} -void node_from_world_site__T_unk_1__T_units(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unit_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_1__T_units, field_name)); - auto n_unit_id = new NodeSimple; - n_unit_id->m_field_name = field_name; - n_unit_id->m_df_type = DF_Type::int32_t; - n_unit_id->m_rdf_type = RDF_Type::int32_t; - n_unit_id->m_node_type = NodeType::Simple; - n_unit_id->m_address = base + offset; - n_unit_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unit_id); - - field_name = "pos_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_1__T_units, field_name)); - auto n_pos_x = new NodeSimple; - n_pos_x->m_field_name = field_name; - n_pos_x->m_df_type = DF_Type::int32_t; - n_pos_x->m_rdf_type = RDF_Type::int32_t; - n_pos_x->m_node_type = NodeType::Simple; - n_pos_x->m_address = base + offset; - n_pos_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pos_x); - - field_name = "pos_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_1__T_units, field_name)); - auto n_pos_y = new NodeSimple; - n_pos_y->m_field_name = field_name; - n_pos_y->m_df_type = DF_Type::int32_t; - n_pos_y->m_rdf_type = RDF_Type::int32_t; - n_pos_y->m_node_type = NodeType::Simple; - n_pos_y->m_address = base + offset; - n_pos_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pos_y); - - field_name = "pos_z"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_1__T_units, field_name)); - auto n_pos_z = new NodeSimple; - n_pos_z->m_field_name = field_name; - n_pos_z->m_df_type = DF_Type::int32_t; - n_pos_z->m_rdf_type = RDF_Type::int32_t; - n_pos_z->m_node_type = NodeType::Simple; - n_pos_z->m_address = base + offset; - n_pos_z->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pos_z); - - field_name = "unk_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_1__T_units, field_name)); - auto n_unk_10 = new NodeSimple; - n_unk_10->m_field_name = field_name; - n_unk_10->m_df_type = DF_Type::int32_t; - n_unk_10->m_rdf_type = RDF_Type::int32_t; - n_unk_10->m_node_type = NodeType::Simple; - n_unk_10->m_address = base + offset; - n_unk_10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_10); - -} -void node_from_world_site__T_unk_1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "nemesis"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_1, field_name)); - auto n_nemesis = new NodeVector; - n_nemesis->m_field_name = field_name; - n_nemesis->m_df_type = DF_Type::int32_t; - n_nemesis->m_rdf_type = RDF_Type::Vector; - n_nemesis->m_node_type = NodeType::Vector; - n_nemesis->m_addornements = "v"; - n_nemesis->m_address = base + offset; - n_nemesis->m_parent = p_node_parent; - n_nemesis->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_nemesis); - - field_name = "artifacts"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_1, field_name)); - auto n_artifacts = new NodeVector; - n_artifacts->m_field_name = field_name; - n_artifacts->m_df_type = DF_Type::artifact_record; - n_artifacts->m_rdf_type = RDF_Type::Vector; - n_artifacts->m_node_type = NodeType::Vector; - n_artifacts->m_defined_in = "df.legends.xml"; - n_artifacts->m_addornements = "v*"; - n_artifacts->m_address = base + offset; - n_artifacts->m_parent = p_node_parent; - n_artifacts->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_artifacts); - - field_name = "animals"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_1, field_name)); - auto n_animals = new NodeVector; - n_animals->m_field_name = field_name; - n_animals->m_df_type = DF_Type::world_population; - n_animals->m_rdf_type = RDF_Type::Vector; - n_animals->m_node_type = NodeType::Vector; - n_animals->m_defined_in = "df.world-data.xml"; - n_animals->m_addornements = "v*"; - n_animals->m_address = base + offset; - n_animals->m_parent = p_node_parent; - n_animals->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_animals); - - field_name = "inhabitants"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_1, field_name)); - auto n_inhabitants = new NodeVector; - n_inhabitants->m_field_name = field_name; - n_inhabitants->m_df_type = DF_Type::world_site_inhabitant; - n_inhabitants->m_rdf_type = RDF_Type::Vector; - n_inhabitants->m_node_type = NodeType::Vector; - n_inhabitants->m_defined_in = "df.world-site.xml"; - n_inhabitants->m_addornements = "v*"; - n_inhabitants->m_address = base + offset; - n_inhabitants->m_parent = p_node_parent; - n_inhabitants->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_inhabitants); - - field_name = "units"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_1, field_name)); - auto n_units = new NodeVector; - n_units->m_field_name = field_name; - n_units->m_df_type = DF_Type::world_site__T_unk_1__T_units; - n_units->m_rdf_type = RDF_Type::Vector; - n_units->m_node_type = NodeType::Vector; - n_units->m_addornements = "v*"; - n_units->m_address = base + offset; - n_units->m_parent = p_node_parent; - n_units->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_units); - - field_name = "unk_d4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_1, field_name)); - auto n_unk_d4 = new NodeVector; - n_unk_d4->m_field_name = field_name; - n_unk_d4->m_df_type = DF_Type::int32_t; - n_unk_d4->m_rdf_type = RDF_Type::Vector; - n_unk_d4->m_node_type = NodeType::Vector; - n_unk_d4->m_addornements = "v"; - n_unk_d4->m_address = base + offset; - n_unk_d4->m_parent = p_node_parent; - n_unk_d4->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_d4); - - field_name = "unk_v40_1a"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_1, field_name)); - auto n_unk_v40_1a = new NodeVector; - n_unk_v40_1a->m_field_name = field_name; - n_unk_v40_1a->m_df_type = DF_Type::historical_figure; - n_unk_v40_1a->m_rdf_type = RDF_Type::Vector; - n_unk_v40_1a->m_node_type = NodeType::Vector; - n_unk_v40_1a->m_defined_in = "df.history.xml"; - n_unk_v40_1a->m_addornements = "v*"; - n_unk_v40_1a->m_address = base + offset; - n_unk_v40_1a->m_parent = p_node_parent; - n_unk_v40_1a->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_v40_1a); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_1, field_name)); - auto n_anon_1= new NodePadding; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::Padding; - n_anon_1->m_rdf_type = RDF_Type::Padding; - n_anon_1->m_node_type = NodeType::Padding; - n_anon_1->m_address = base + offset; - n_anon_1->m_size = 4; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "unk_v40_1b"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_1, field_name)); - auto n_unk_v40_1b = new NodeVector; - n_unk_v40_1b->m_field_name = field_name; - n_unk_v40_1b->m_df_type = DF_Type::nemesis_record; - n_unk_v40_1b->m_rdf_type = RDF_Type::Vector; - n_unk_v40_1b->m_node_type = NodeType::Vector; - n_unk_v40_1b->m_defined_in = "df.legends.xml"; - n_unk_v40_1b->m_addornements = "v*"; - n_unk_v40_1b->m_address = base + offset; - n_unk_v40_1b->m_parent = p_node_parent; - n_unk_v40_1b->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_v40_1b); - - field_name = "unk_v40_1c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_1, field_name)); - auto n_unk_v40_1c = new NodeVector; - n_unk_v40_1c->m_field_name = field_name; - n_unk_v40_1c->m_df_type = DF_Type::nemesis_record; - n_unk_v40_1c->m_rdf_type = RDF_Type::Vector; - n_unk_v40_1c->m_node_type = NodeType::Vector; - n_unk_v40_1c->m_defined_in = "df.legends.xml"; - n_unk_v40_1c->m_addornements = "v*"; - n_unk_v40_1c->m_address = base + offset; - n_unk_v40_1c->m_parent = p_node_parent; - n_unk_v40_1c->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_v40_1c); - - field_name = "unk_v40_1d"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_1, field_name)); - auto n_unk_v40_1d = new NodeVector; - n_unk_v40_1d->m_field_name = field_name; - n_unk_v40_1d->m_df_type = DF_Type::nemesis_record; - n_unk_v40_1d->m_rdf_type = RDF_Type::Vector; - n_unk_v40_1d->m_node_type = NodeType::Vector; - n_unk_v40_1d->m_defined_in = "df.legends.xml"; - n_unk_v40_1d->m_addornements = "v*"; - n_unk_v40_1d->m_address = base + offset; - n_unk_v40_1d->m_parent = p_node_parent; - n_unk_v40_1d->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_v40_1d); - - field_name = "unk_v40_1e"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_1, field_name)); - auto n_unk_v40_1e = new NodeVector; - n_unk_v40_1e->m_field_name = field_name; - n_unk_v40_1e->m_df_type = DF_Type::nemesis_record; - n_unk_v40_1e->m_rdf_type = RDF_Type::Vector; - n_unk_v40_1e->m_node_type = NodeType::Vector; - n_unk_v40_1e->m_defined_in = "df.legends.xml"; - n_unk_v40_1e->m_addornements = "v*"; - n_unk_v40_1e->m_address = base + offset; - n_unk_v40_1e->m_parent = p_node_parent; - n_unk_v40_1e->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_v40_1e); - - field_name = "unk_v40_1f"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_1, field_name)); - auto n_unk_v40_1f = new NodeVector; - n_unk_v40_1f->m_field_name = field_name; - n_unk_v40_1f->m_df_type = DF_Type::nemesis_record; - n_unk_v40_1f->m_rdf_type = RDF_Type::Vector; - n_unk_v40_1f->m_node_type = NodeType::Vector; - n_unk_v40_1f->m_defined_in = "df.legends.xml"; - n_unk_v40_1f->m_addornements = "v*"; - n_unk_v40_1f->m_address = base + offset; - n_unk_v40_1f->m_parent = p_node_parent; - n_unk_v40_1f->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_v40_1f); - - field_name = "unk_v40_1g"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_1, field_name)); - auto n_unk_v40_1g = new NodeVector; - n_unk_v40_1g->m_field_name = field_name; - n_unk_v40_1g->m_df_type = DF_Type::nemesis_record; - n_unk_v40_1g->m_rdf_type = RDF_Type::Vector; - n_unk_v40_1g->m_node_type = NodeType::Vector; - n_unk_v40_1g->m_defined_in = "df.legends.xml"; - n_unk_v40_1g->m_addornements = "v*"; - n_unk_v40_1g->m_address = base + offset; - n_unk_v40_1g->m_parent = p_node_parent; - n_unk_v40_1g->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_v40_1g); - - field_name = "unk_v40_1h"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_1, field_name)); - auto n_unk_v40_1h = new NodeVector; - n_unk_v40_1h->m_field_name = field_name; - n_unk_v40_1h->m_df_type = DF_Type::nemesis_record; - n_unk_v40_1h->m_rdf_type = RDF_Type::Vector; - n_unk_v40_1h->m_node_type = NodeType::Vector; - n_unk_v40_1h->m_defined_in = "df.legends.xml"; - n_unk_v40_1h->m_addornements = "v*"; - n_unk_v40_1h->m_address = base + offset; - n_unk_v40_1h->m_parent = p_node_parent; - n_unk_v40_1h->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_v40_1h); - -} -void node_from_world_site__T_unk_118(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_118, field_name)); - auto n_anon_1 = new NodeVector; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int16_t; - n_anon_1->m_rdf_type = RDF_Type::Vector; - n_anon_1->m_node_type = NodeType::Vector; - n_anon_1->m_addornements = "v"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_118, field_name)); - auto n_anon_2 = new NodeVector; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int16_t; - n_anon_2->m_rdf_type = RDF_Type::Vector; - n_anon_2->m_node_type = NodeType::Vector; - n_anon_2->m_addornements = "v"; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - n_anon_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_118, field_name)); - auto n_anon_3 = new NodeVector; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int16_t; - n_anon_3->m_rdf_type = RDF_Type::Vector; - n_anon_3->m_node_type = NodeType::Vector; - n_anon_3->m_addornements = "v"; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - n_anon_3->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_118, field_name)); - auto n_anon_4 = new NodeVector; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::Vector; - n_anon_4->m_node_type = NodeType::Vector; - n_anon_4->m_addornements = "v"; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - n_anon_4->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_118, field_name)); - auto n_anon_5 = new NodeVector; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::Vector; - n_anon_5->m_node_type = NodeType::Vector; - n_anon_5->m_addornements = "v"; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - n_anon_5->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_118, field_name)); - auto n_anon_6 = new NodeVector; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::Vector; - n_anon_6->m_node_type = NodeType::Vector; - n_anon_6->m_addornements = "v"; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - n_anon_6->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_6); - -} -void node_from_world_site__T_unk_13c(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk_0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_13c, field_name)); - auto n_unk_0 = new NodeSimple; - n_unk_0->m_field_name = field_name; - n_unk_0->m_df_type = DF_Type::int32_t; - n_unk_0->m_rdf_type = RDF_Type::int32_t; - n_unk_0->m_node_type = NodeType::Simple; - n_unk_0->m_address = base + offset; - n_unk_0->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_0); - - field_name = "unk_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_13c, field_name)); - auto n_unk_4 = new NodeSimple; - n_unk_4->m_field_name = field_name; - n_unk_4->m_df_type = DF_Type::int32_t; - n_unk_4->m_rdf_type = RDF_Type::int32_t; - n_unk_4->m_node_type = NodeType::Simple; - n_unk_4->m_address = base + offset; - n_unk_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_4); - - field_name = "unk_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_13c, field_name)); - auto n_unk_8 = new NodeSimple; - n_unk_8->m_field_name = field_name; - n_unk_8->m_df_type = DF_Type::int32_t; - n_unk_8->m_rdf_type = RDF_Type::int32_t; - n_unk_8->m_node_type = NodeType::Simple; - n_unk_8->m_address = base + offset; - n_unk_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_8); - - field_name = "unk_c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_13c, field_name)); - auto n_unk_c = new NodeSimple; - n_unk_c->m_field_name = field_name; - n_unk_c->m_df_type = DF_Type::int32_t; - n_unk_c->m_rdf_type = RDF_Type::int32_t; - n_unk_c->m_node_type = NodeType::Simple; - n_unk_c->m_address = base + offset; - n_unk_c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_c); - - field_name = "unk_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_13c, field_name)); - auto n_unk_10 = new NodeVector; - n_unk_10->m_field_name = field_name; - n_unk_10->m_df_type = DF_Type::Void; - n_unk_10->m_rdf_type = RDF_Type::Vector; - n_unk_10->m_node_type = NodeType::Vector; - n_unk_10->m_addornements = "v"; - n_unk_10->m_address = base + offset; - n_unk_10->m_parent = p_node_parent; - n_unk_10->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_10); - - field_name = "unk_20"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_13c, field_name)); - auto n_unk_20 = new NodeVector; - n_unk_20->m_field_name = field_name; - n_unk_20->m_df_type = DF_Type::Void; - n_unk_20->m_rdf_type = RDF_Type::Vector; - n_unk_20->m_node_type = NodeType::Vector; - n_unk_20->m_addornements = "v"; - n_unk_20->m_address = base + offset; - n_unk_20->m_parent = p_node_parent; - n_unk_20->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_20); - - field_name = "unk_30"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_13c, field_name)); - auto n_unk_30 = new NodeSimple; - n_unk_30->m_field_name = field_name; - n_unk_30->m_df_type = DF_Type::int32_t; - n_unk_30->m_rdf_type = RDF_Type::int32_t; - n_unk_30->m_node_type = NodeType::Simple; - n_unk_30->m_address = base + offset; - n_unk_30->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_30); - -} -void node_from_world_site__T_unk_v40_2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk_0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_2, field_name)); - auto n_unk_0 = new NodeSimple; - n_unk_0->m_field_name = field_name; - n_unk_0->m_df_type = DF_Type::int32_t; - n_unk_0->m_rdf_type = RDF_Type::int32_t; - n_unk_0->m_node_type = NodeType::Simple; - n_unk_0->m_address = base + offset; - n_unk_0->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_0); - - field_name = "unk_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_2, field_name)); - auto n_unk_4 = new NodeSimple; - n_unk_4->m_field_name = field_name; - n_unk_4->m_df_type = DF_Type::int32_t; - n_unk_4->m_rdf_type = RDF_Type::int32_t; - n_unk_4->m_node_type = NodeType::Simple; - n_unk_4->m_address = base + offset; - n_unk_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_4); - - field_name = "unk_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_2, field_name)); - auto n_unk_8 = new NodeSimple; - n_unk_8->m_field_name = field_name; - n_unk_8->m_df_type = DF_Type::int32_t; - n_unk_8->m_rdf_type = RDF_Type::int32_t; - n_unk_8->m_node_type = NodeType::Simple; - n_unk_8->m_address = base + offset; - n_unk_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_8); - - field_name = "unk_c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_2, field_name)); - auto n_unk_c = new NodeSimple; - n_unk_c->m_field_name = field_name; - n_unk_c->m_df_type = DF_Type::int32_t; - n_unk_c->m_rdf_type = RDF_Type::int32_t; - n_unk_c->m_node_type = NodeType::Simple; - n_unk_c->m_address = base + offset; - n_unk_c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_c); - - field_name = "unk_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_2, field_name)); - auto n_unk_10 = new NodeVector; - n_unk_10->m_field_name = field_name; - n_unk_10->m_df_type = DF_Type::int32_t; - n_unk_10->m_rdf_type = RDF_Type::Vector; - n_unk_10->m_node_type = NodeType::Vector; - n_unk_10->m_addornements = "v"; - n_unk_10->m_address = base + offset; - n_unk_10->m_parent = p_node_parent; - n_unk_10->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_10); - - field_name = "unk_20"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_2, field_name)); - auto n_unk_20 = new NodeVector; - n_unk_20->m_field_name = field_name; - n_unk_20->m_df_type = DF_Type::int32_t; - n_unk_20->m_rdf_type = RDF_Type::Vector; - n_unk_20->m_node_type = NodeType::Vector; - n_unk_20->m_addornements = "v"; - n_unk_20->m_address = base + offset; - n_unk_20->m_parent = p_node_parent; - n_unk_20->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_20); - - field_name = "unk_30"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_2, field_name)); - auto n_unk_30 = new NodeSimple; - n_unk_30->m_field_name = field_name; - n_unk_30->m_df_type = DF_Type::int32_t; - n_unk_30->m_rdf_type = RDF_Type::int32_t; - n_unk_30->m_node_type = NodeType::Simple; - n_unk_30->m_address = base + offset; - n_unk_30->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_30); - -} -void node_from_world_site__T_subtype_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "is_tower"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_subtype_info, field_name)); - auto n_is_tower = new NodeSimple; - n_is_tower->m_field_name = field_name; - n_is_tower->m_df_type = DF_Type::int16_t; - n_is_tower->m_rdf_type = RDF_Type::int16_t; - n_is_tower->m_node_type = NodeType::Simple; - n_is_tower->m_address = base + offset; - n_is_tower->m_comment = "1 => not fortress"; - n_is_tower->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_is_tower); - - field_name = "is_monument"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_subtype_info, field_name)); - auto n_is_monument = new NodeSimple; - n_is_monument->m_field_name = field_name; - n_is_monument->m_df_type = DF_Type::int16_t; - n_is_monument->m_rdf_type = RDF_Type::int16_t; - n_is_monument->m_node_type = NodeType::Simple; - n_is_monument->m_address = base + offset; - n_is_monument->m_comment = "not tomb"; - n_is_monument->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_is_monument); - - field_name = "lair_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_subtype_info, field_name)); - auto n_lair_type = new NodeSimple; - n_lair_type->m_field_name = field_name; - n_lair_type->m_df_type = DF_Type::int16_t; - n_lair_type->m_rdf_type = RDF_Type::int16_t; - n_lair_type->m_node_type = NodeType::Simple; - n_lair_type->m_address = base + offset; - n_lair_type->m_comment = "2 monument, 3 shrine"; - n_lair_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_lair_type); - - field_name = "unk_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_subtype_info, field_name)); - auto n_unk_8 = new NodeVector; - n_unk_8->m_field_name = field_name; - n_unk_8->m_df_type = DF_Type::int16_t; - n_unk_8->m_rdf_type = RDF_Type::Vector; - n_unk_8->m_node_type = NodeType::Vector; - n_unk_8->m_addornements = "v"; - n_unk_8->m_address = base + offset; - n_unk_8->m_parent = p_node_parent; - n_unk_8->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_8); - - field_name = "unk_14"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_subtype_info, field_name)); - auto n_unk_14 = new NodeSimple; - n_unk_14->m_field_name = field_name; - n_unk_14->m_df_type = DF_Type::int32_t; - n_unk_14->m_rdf_type = RDF_Type::int32_t; - n_unk_14->m_node_type = NodeType::Simple; - n_unk_14->m_address = base + offset; - n_unk_14->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_14); - - field_name = "unk_18"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_subtype_info, field_name)); - auto n_unk_18 = new NodeSimple; - n_unk_18->m_field_name = field_name; - n_unk_18->m_df_type = DF_Type::int32_t; - n_unk_18->m_rdf_type = RDF_Type::int32_t; - n_unk_18->m_node_type = NodeType::Simple; - n_unk_18->m_address = base + offset; - n_unk_18->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_18); - - field_name = "unk_1c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_subtype_info, field_name)); - auto n_unk_1c = new NodeSimple; - n_unk_1c->m_field_name = field_name; - n_unk_1c->m_df_type = DF_Type::int32_t; - n_unk_1c->m_rdf_type = RDF_Type::int32_t; - n_unk_1c->m_node_type = NodeType::Simple; - n_unk_1c->m_address = base + offset; - n_unk_1c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_1c); - - field_name = "creator"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_subtype_info, field_name)); - auto n_creator = new NodeSimple; - n_creator->m_field_name = field_name; - n_creator->m_df_type = DF_Type::int32_t; - n_creator->m_rdf_type = RDF_Type::int32_t; - n_creator->m_node_type = NodeType::Simple; - n_creator->m_address = base + offset; - n_creator->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_creator); - - field_name = "unk_28"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_subtype_info, field_name)); - auto n_unk_28 = new NodeSimple; - n_unk_28->m_field_name = field_name; - n_unk_28->m_df_type = DF_Type::int32_t; - n_unk_28->m_rdf_type = RDF_Type::int32_t; - n_unk_28->m_node_type = NodeType::Simple; - n_unk_28->m_address = base + offset; - n_unk_28->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_28); - -} -void node_from_world_site__T_unk_21c(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk_0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_21c, field_name)); - auto n_unk_0 = new NodeSimple; - n_unk_0->m_field_name = field_name; - n_unk_0->m_df_type = DF_Type::int32_t; - n_unk_0->m_rdf_type = RDF_Type::int32_t; - n_unk_0->m_node_type = NodeType::Simple; - n_unk_0->m_address = base + offset; - n_unk_0->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_0); - - field_name = "race"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_21c, field_name)); - auto n_race = new NodeSimple; - n_race->m_field_name = field_name; - n_race->m_df_type = DF_Type::int32_t; - n_race->m_rdf_type = RDF_Type::int32_t; - n_race->m_node_type = NodeType::Simple; - n_race->m_address = base + offset; - n_race->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_race); - - field_name = "entity_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_21c, field_name)); - auto n_entity_id = new NodeSimple; - n_entity_id->m_field_name = field_name; - n_entity_id->m_df_type = DF_Type::int32_t; - n_entity_id->m_rdf_type = RDF_Type::int32_t; - n_entity_id->m_node_type = NodeType::Simple; - n_entity_id->m_address = base + offset; - n_entity_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity_id); - - field_name = "unk_c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_21c, field_name)); - auto n_unk_c = new NodeSimple; - n_unk_c->m_field_name = field_name; - n_unk_c->m_df_type = DF_Type::int32_t; - n_unk_c->m_rdf_type = RDF_Type::int32_t; - n_unk_c->m_node_type = NodeType::Simple; - n_unk_c->m_address = base + offset; - n_unk_c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_c); - - field_name = "unk_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_21c, field_name)); - auto n_unk_10 = new NodeSimple; - n_unk_10->m_field_name = field_name; - n_unk_10->m_df_type = DF_Type::int32_t; - n_unk_10->m_rdf_type = RDF_Type::int32_t; - n_unk_10->m_node_type = NodeType::Simple; - n_unk_10->m_address = base + offset; - n_unk_10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_10); - - field_name = "unk_14"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_21c, field_name)); - auto n_unk_14 = new NodeSimple; - n_unk_14->m_field_name = field_name; - n_unk_14->m_df_type = DF_Type::int32_t; - n_unk_14->m_rdf_type = RDF_Type::int32_t; - n_unk_14->m_node_type = NodeType::Simple; - n_unk_14->m_address = base + offset; - n_unk_14->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_14); - - field_name = "unk_18"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_21c, field_name)); - auto n_unk_18 = new NodeSimple; - n_unk_18->m_field_name = field_name; - n_unk_18->m_df_type = DF_Type::int32_t; - n_unk_18->m_rdf_type = RDF_Type::int32_t; - n_unk_18->m_node_type = NodeType::Simple; - n_unk_18->m_address = base + offset; - n_unk_18->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_18); - - field_name = "unk_1c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_21c, field_name)); - auto n_unk_1c = new NodeSimple; - n_unk_1c->m_field_name = field_name; - n_unk_1c->m_df_type = DF_Type::int32_t; - n_unk_1c->m_rdf_type = RDF_Type::int32_t; - n_unk_1c->m_node_type = NodeType::Simple; - n_unk_1c->m_address = base + offset; - n_unk_1c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_1c); - -} -void node_from_world_site__T_unk_v40_4a(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk_0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_4a, field_name)); - auto n_unk_0 = new NodeSimple; - n_unk_0->m_field_name = field_name; - n_unk_0->m_df_type = DF_Type::int32_t; - n_unk_0->m_rdf_type = RDF_Type::int32_t; - n_unk_0->m_node_type = NodeType::Simple; - n_unk_0->m_address = base + offset; - n_unk_0->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_0); - - field_name = "entity_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_4a, field_name)); - auto n_entity_id = new NodeSimple; - n_entity_id->m_field_name = field_name; - n_entity_id->m_df_type = DF_Type::int32_t; - n_entity_id->m_rdf_type = RDF_Type::int32_t; - n_entity_id->m_node_type = NodeType::Simple; - n_entity_id->m_address = base + offset; - n_entity_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity_id); - - field_name = "year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_4a, field_name)); - auto n_year = new NodeSimple; - n_year->m_field_name = field_name; - n_year->m_df_type = DF_Type::int32_t; - n_year->m_rdf_type = RDF_Type::int32_t; - n_year->m_node_type = NodeType::Simple; - n_year->m_address = base + offset; - n_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_year); - - field_name = "year_tick"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_4a, field_name)); - auto n_year_tick = new NodeSimple; - n_year_tick->m_field_name = field_name; - n_year_tick->m_df_type = DF_Type::int32_t; - n_year_tick->m_rdf_type = RDF_Type::int32_t; - n_year_tick->m_node_type = NodeType::Simple; - n_year_tick->m_address = base + offset; - n_year_tick->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_year_tick); - - field_name = "unk_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_4a, field_name)); - auto n_unk_10 = new NodeSimple; - n_unk_10->m_field_name = field_name; - n_unk_10->m_df_type = DF_Type::int32_t; - n_unk_10->m_rdf_type = RDF_Type::int32_t; - n_unk_10->m_node_type = NodeType::Simple; - n_unk_10->m_address = base + offset; - n_unk_10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_10); - - field_name = "unk_14"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_4a, field_name)); - auto n_unk_14 = new NodeSimple; - n_unk_14->m_field_name = field_name; - n_unk_14->m_df_type = DF_Type::int32_t; - n_unk_14->m_rdf_type = RDF_Type::int32_t; - n_unk_14->m_node_type = NodeType::Simple; - n_unk_14->m_address = base + offset; - n_unk_14->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_14); - -} -void node_from_world_site__T_unk_v40_4b(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_4b, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_4b, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - -} -void node_from_world_site__T_unk_v40_4c(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_4c, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_4c, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_4c, field_name)); - auto n_anon_3 = new NodeVector; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::Vector; - n_anon_3->m_node_type = NodeType::Vector; - n_anon_3->m_addornements = "v"; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - n_anon_3->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_4c, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_4c, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - -} -void node_from_world_site__T_unk_v40_4d__T_anon_2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_4d__T_anon_2, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_4d__T_anon_2, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_4d__T_anon_2, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_4d__T_anon_2, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_4d__T_anon_2, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_4d__T_anon_2, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_4d__T_anon_2, field_name)); - auto n_anon_7 = new NodeSimple; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::int32_t; - n_anon_7->m_rdf_type = RDF_Type::int32_t; - n_anon_7->m_node_type = NodeType::Simple; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_7); - - field_name = "anon_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_4d__T_anon_2, field_name)); - auto n_anon_8 = new NodeSimple; - n_anon_8->m_field_name = field_name; - n_anon_8->m_df_type = DF_Type::int32_t; - n_anon_8->m_rdf_type = RDF_Type::int32_t; - n_anon_8->m_node_type = NodeType::Simple; - n_anon_8->m_address = base + offset; - n_anon_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_8); - -} -void node_from_world_site__T_unk_v40_4d(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_4d, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_4d, field_name)); - auto n_anon_2 = new NodeVector; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::world_site__T_unk_v40_4d__T_anon_2; - n_anon_2->m_rdf_type = RDF_Type::Vector; - n_anon_2->m_node_type = NodeType::Vector; - n_anon_2->m_addornements = "v*"; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - n_anon_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_4d, field_name)); - auto n_anon_3 = new NodeVector; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::Vector; - n_anon_3->m_node_type = NodeType::Vector; - n_anon_3->m_addornements = "v"; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - n_anon_3->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_4d, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - -} -void node_from_world_site__T_unk_v43_2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v43_2, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v43_2, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v43_2, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - auto n_anon_4 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v43_2, field_name)); - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::Array; - n_anon_4->m_node_type = NodeType::Array; - n_anon_4->m_addornements = "[16[16"; - n_anon_4->m_array_size = 16; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - auto n_anon_5 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v43_2, field_name)); - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::Array; - n_anon_5->m_node_type = NodeType::Array; - n_anon_5->m_addornements = "[16[16"; - n_anon_5->m_array_size = 16; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - auto n_anon_6 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v43_2, field_name)); - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::Array; - n_anon_6->m_node_type = NodeType::Array; - n_anon_6->m_addornements = "[16[16"; - n_anon_6->m_array_size = 16; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - auto n_anon_7 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v43_2, field_name)); - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::int32_t; - n_anon_7->m_rdf_type = RDF_Type::Array; - n_anon_7->m_node_type = NodeType::Array; - n_anon_7->m_addornements = "[16[16"; - n_anon_7->m_array_size = 16; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_7); - - field_name = "anon_8"; - auto n_anon_8 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v43_2, field_name)); - n_anon_8->m_field_name = field_name; - n_anon_8->m_df_type = DF_Type::int32_t; - n_anon_8->m_rdf_type = RDF_Type::Array; - n_anon_8->m_node_type = NodeType::Array; - n_anon_8->m_addornements = "[16[16"; - n_anon_8->m_array_size = 16; - n_anon_8->m_address = base + offset; - n_anon_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_8); - - field_name = "anon_9"; - auto n_anon_9 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v43_2, field_name)); - n_anon_9->m_field_name = field_name; - n_anon_9->m_df_type = DF_Type::int32_t; - n_anon_9->m_rdf_type = RDF_Type::Array; - n_anon_9->m_node_type = NodeType::Array; - n_anon_9->m_addornements = "[16[16"; - n_anon_9->m_array_size = 16; - n_anon_9->m_address = base + offset; - n_anon_9->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_9); - - field_name = "anon_10"; - auto n_anon_10 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v43_2, field_name)); - n_anon_10->m_field_name = field_name; - n_anon_10->m_df_type = DF_Type::int32_t; - n_anon_10->m_rdf_type = RDF_Type::Array; - n_anon_10->m_node_type = NodeType::Array; - n_anon_10->m_addornements = "[16[16"; - n_anon_10->m_array_size = 16; - n_anon_10->m_address = base + offset; - n_anon_10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_10); - - field_name = "anon_11"; - auto n_anon_11 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v43_2, field_name)); - n_anon_11->m_field_name = field_name; - n_anon_11->m_df_type = DF_Type::int32_t; - n_anon_11->m_rdf_type = RDF_Type::Array; - n_anon_11->m_node_type = NodeType::Array; - n_anon_11->m_addornements = "[16[16"; - n_anon_11->m_array_size = 16; - n_anon_11->m_address = base + offset; - n_anon_11->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_11); - - field_name = "anon_12"; - auto n_anon_12 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v43_2, field_name)); - n_anon_12->m_field_name = field_name; - n_anon_12->m_df_type = DF_Type::int32_t; - n_anon_12->m_rdf_type = RDF_Type::Array; - n_anon_12->m_node_type = NodeType::Array; - n_anon_12->m_addornements = "[16[16"; - n_anon_12->m_array_size = 16; - n_anon_12->m_address = base + offset; - n_anon_12->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_12); - - field_name = "anon_13"; - auto n_anon_13 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v43_2, field_name)); - n_anon_13->m_field_name = field_name; - n_anon_13->m_df_type = DF_Type::int32_t; - n_anon_13->m_rdf_type = RDF_Type::Array; - n_anon_13->m_node_type = NodeType::Array; - n_anon_13->m_addornements = "[16[16"; - n_anon_13->m_array_size = 16; - n_anon_13->m_address = base + offset; - n_anon_13->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_13); - - field_name = "anon_14"; - auto n_anon_14 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v43_2, field_name)); - n_anon_14->m_field_name = field_name; - n_anon_14->m_df_type = DF_Type::int32_t; - n_anon_14->m_rdf_type = RDF_Type::Array; - n_anon_14->m_node_type = NodeType::Array; - n_anon_14->m_addornements = "[16[16"; - n_anon_14->m_array_size = 16; - n_anon_14->m_address = base + offset; - n_anon_14->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_14); - - field_name = "anon_15"; - auto n_anon_15 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v43_2, field_name)); - n_anon_15->m_field_name = field_name; - n_anon_15->m_df_type = DF_Type::int32_t; - n_anon_15->m_rdf_type = RDF_Type::Array; - n_anon_15->m_node_type = NodeType::Array; - n_anon_15->m_addornements = "[16[16"; - n_anon_15->m_array_size = 16; - n_anon_15->m_address = base + offset; - n_anon_15->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_15); - - field_name = "anon_16"; - auto n_anon_16 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v43_2, field_name)); - n_anon_16->m_field_name = field_name; - n_anon_16->m_df_type = DF_Type::int32_t; - n_anon_16->m_rdf_type = RDF_Type::Array; - n_anon_16->m_node_type = NodeType::Array; - n_anon_16->m_addornements = "[16[16"; - n_anon_16->m_array_size = 16; - n_anon_16->m_address = base + offset; - n_anon_16->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_16); - - field_name = "anon_17"; - auto n_anon_17 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v43_2, field_name)); - n_anon_17->m_field_name = field_name; - n_anon_17->m_df_type = DF_Type::int32_t; - n_anon_17->m_rdf_type = RDF_Type::Array; - n_anon_17->m_node_type = NodeType::Array; - n_anon_17->m_addornements = "[16[16"; - n_anon_17->m_array_size = 16; - n_anon_17->m_address = base + offset; - n_anon_17->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_17); - -} -void node_from_world_site__T_unk_188__T_unk1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_188__T_unk1, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_188__T_unk1, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_188__T_unk1, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_188__T_unk1, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_188__T_unk1, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - -} -void node_from_world_site__T_unk_188(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_188, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_188, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_188, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_188, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "unk1"; - auto n_unk1 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_188, field_name)); - n_unk1->m_field_name = field_name; - n_unk1->m_df_type = DF_Type::world_site__T_unk_188__T_unk1; - n_unk1->m_rdf_type = RDF_Type::Compound; - n_unk1->m_node_type = NodeType::Compound; - n_unk1->m_address = base + offset; - n_unk1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk1); - -} -void node_from_world_site(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "name"; - auto n_name = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::language_name; - n_name->m_rdf_type = RDF_Type::Struct; - n_name->m_node_type = NodeType::Compound; - n_name->m_address = base + offset; - n_name->m_defined_in = "df.language.xml"; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "civ_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); - auto n_civ_id = new NodeSimple; - n_civ_id->m_field_name = field_name; - n_civ_id->m_df_type = DF_Type::int32_t; - n_civ_id->m_rdf_type = RDF_Type::int32_t; - n_civ_id->m_node_type = NodeType::Simple; - n_civ_id->m_address = base + offset; - n_civ_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_civ_id); - - field_name = "cur_owner_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); - auto n_cur_owner_id = new NodeSimple; - n_cur_owner_id->m_field_name = field_name; - n_cur_owner_id->m_df_type = DF_Type::int32_t; - n_cur_owner_id->m_rdf_type = RDF_Type::int32_t; - n_cur_owner_id->m_node_type = NodeType::Simple; - n_cur_owner_id->m_address = base + offset; - n_cur_owner_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cur_owner_id); - - field_name = "type"; - auto n_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::world_site_type; - n_type->m_rdf_type = RDF_Type::Enum; - n_type->m_node_type = NodeType::Enum; - n_type->m_base_type = DF_Type::int16_t; - n_type->m_enum_type = "world_site_type"; - n_type->m_address = base + offset; - n_type->m_defined_in = "df.world-site.xml"; - n_type->m_first_value = 0; - n_type->m_last_value = 10; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - - field_name = "pos"; - auto n_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); - n_pos->m_field_name = field_name; - n_pos->m_df_type = DF_Type::coord2d; - n_pos->m_rdf_type = RDF_Type::Struct; - n_pos->m_node_type = NodeType::Compound; - n_pos->m_address = base + offset; - n_pos->m_defined_in = "df.map.xml"; - n_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pos); - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "unk_1"; - auto n_unk_1 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); - n_unk_1->m_field_name = field_name; - n_unk_1->m_df_type = DF_Type::world_site__T_unk_1; - n_unk_1->m_rdf_type = RDF_Type::Compound; - n_unk_1->m_node_type = NodeType::Compound; - n_unk_1->m_address = base + offset; - n_unk_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_1); - - field_name = "index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); - auto n_index = new NodeSimple; - n_index->m_field_name = field_name; - n_index->m_df_type = DF_Type::int32_t; - n_index->m_rdf_type = RDF_Type::int32_t; - n_index->m_node_type = NodeType::Simple; - n_index->m_address = base + offset; - n_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_index); - - field_name = "rgn_min_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); - auto n_rgn_min_x = new NodeSimple; - n_rgn_min_x->m_field_name = field_name; - n_rgn_min_x->m_df_type = DF_Type::int16_t; - n_rgn_min_x->m_rdf_type = RDF_Type::int16_t; - n_rgn_min_x->m_node_type = NodeType::Simple; - n_rgn_min_x->m_address = base + offset; - n_rgn_min_x->m_comment = "in embark tiles"; - n_rgn_min_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rgn_min_x); - - field_name = "rgn_max_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); - auto n_rgn_max_x = new NodeSimple; - n_rgn_max_x->m_field_name = field_name; - n_rgn_max_x->m_df_type = DF_Type::int16_t; - n_rgn_max_x->m_rdf_type = RDF_Type::int16_t; - n_rgn_max_x->m_node_type = NodeType::Simple; - n_rgn_max_x->m_address = base + offset; - n_rgn_max_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rgn_max_x); - - field_name = "rgn_min_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); - auto n_rgn_min_y = new NodeSimple; - n_rgn_min_y->m_field_name = field_name; - n_rgn_min_y->m_df_type = DF_Type::int16_t; - n_rgn_min_y->m_rdf_type = RDF_Type::int16_t; - n_rgn_min_y->m_node_type = NodeType::Simple; - n_rgn_min_y->m_address = base + offset; - n_rgn_min_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rgn_min_y); - - field_name = "rgn_max_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); - auto n_rgn_max_y = new NodeSimple; - n_rgn_max_y->m_field_name = field_name; - n_rgn_max_y->m_df_type = DF_Type::int16_t; - n_rgn_max_y->m_rdf_type = RDF_Type::int16_t; - n_rgn_max_y->m_node_type = NodeType::Simple; - n_rgn_max_y->m_address = base + offset; - n_rgn_max_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rgn_max_y); - - field_name = "rgn_min_z"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); - auto n_rgn_min_z = new NodeSimple; - n_rgn_min_z->m_field_name = field_name; - n_rgn_min_z->m_df_type = DF_Type::int16_t; - n_rgn_min_z->m_rdf_type = RDF_Type::int16_t; - n_rgn_min_z->m_node_type = NodeType::Simple; - n_rgn_min_z->m_address = base + offset; - n_rgn_min_z->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rgn_min_z); - - field_name = "rgn_max_z"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); - auto n_rgn_max_z = new NodeSimple; - n_rgn_max_z->m_field_name = field_name; - n_rgn_max_z->m_df_type = DF_Type::int16_t; - n_rgn_max_z->m_rdf_type = RDF_Type::int16_t; - n_rgn_max_z->m_node_type = NodeType::Simple; - n_rgn_max_z->m_address = base + offset; - n_rgn_max_z->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rgn_max_z); - - field_name = "global_min_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); - auto n_global_min_x = new NodeSimple; - n_global_min_x->m_field_name = field_name; - n_global_min_x->m_df_type = DF_Type::int32_t; - n_global_min_x->m_rdf_type = RDF_Type::int32_t; - n_global_min_x->m_node_type = NodeType::Simple; - n_global_min_x->m_address = base + offset; - n_global_min_x->m_comment = "in embark tiles"; - n_global_min_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_global_min_x); - - field_name = "global_min_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); - auto n_global_min_y = new NodeSimple; - n_global_min_y->m_field_name = field_name; - n_global_min_y->m_df_type = DF_Type::int32_t; - n_global_min_y->m_rdf_type = RDF_Type::int32_t; - n_global_min_y->m_node_type = NodeType::Simple; - n_global_min_y->m_address = base + offset; - n_global_min_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_global_min_y); - - field_name = "global_max_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); - auto n_global_max_x = new NodeSimple; - n_global_max_x->m_field_name = field_name; - n_global_max_x->m_df_type = DF_Type::int32_t; - n_global_max_x->m_rdf_type = RDF_Type::int32_t; - n_global_max_x->m_node_type = NodeType::Simple; - n_global_max_x->m_address = base + offset; - n_global_max_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_global_max_x); - - field_name = "global_max_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); - auto n_global_max_y = new NodeSimple; - n_global_max_y->m_field_name = field_name; - n_global_max_y->m_df_type = DF_Type::int32_t; - n_global_max_y->m_rdf_type = RDF_Type::int32_t; - n_global_max_y->m_node_type = NodeType::Simple; - n_global_max_y->m_address = base + offset; - n_global_max_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_global_max_y); - - field_name = "seed1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); - auto n_seed1 = new NodeSimple; - n_seed1->m_field_name = field_name; - n_seed1->m_df_type = DF_Type::uint32_t; - n_seed1->m_rdf_type = RDF_Type::uint32_t; - n_seed1->m_node_type = NodeType::Simple; - n_seed1->m_address = base + offset; - n_seed1->m_comment = "random"; - n_seed1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_seed1); - - field_name = "seed2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); - auto n_seed2 = new NodeSimple; - n_seed2->m_field_name = field_name; - n_seed2->m_df_type = DF_Type::uint32_t; - n_seed2->m_rdf_type = RDF_Type::uint32_t; - n_seed2->m_node_type = NodeType::Simple; - n_seed2->m_address = base + offset; - n_seed2->m_comment = "random"; - n_seed2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_seed2); - - field_name = "resident_count"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); - auto n_resident_count = new NodeSimple; - n_resident_count->m_field_name = field_name; - n_resident_count->m_df_type = DF_Type::int32_t; - n_resident_count->m_rdf_type = RDF_Type::int32_t; - n_resident_count->m_node_type = NodeType::Simple; - n_resident_count->m_address = base + offset; - n_resident_count->m_comment = "count living in houses and shops"; - n_resident_count->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_resident_count); - - field_name = "unk_110"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); - auto n_unk_110 = new NodeSimple; - n_unk_110->m_field_name = field_name; - n_unk_110->m_df_type = DF_Type::int32_t; - n_unk_110->m_rdf_type = RDF_Type::int32_t; - n_unk_110->m_node_type = NodeType::Simple; - n_unk_110->m_address = base + offset; - n_unk_110->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_110); - - field_name = "unk_114"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); - auto n_unk_114 = new NodeSimple; - n_unk_114->m_field_name = field_name; - n_unk_114->m_df_type = DF_Type::int32_t; - n_unk_114->m_rdf_type = RDF_Type::int32_t; - n_unk_114->m_node_type = NodeType::Simple; - n_unk_114->m_address = base + offset; - n_unk_114->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_114); - - field_name = "unk_118"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); - auto n_unk_118 = new NodePointer; - n_unk_118->m_field_name = field_name; - n_unk_118->m_df_type = get_real_subtype(base+offset, DF_Type::world_site__T_unk_118); - n_unk_118->m_rdf_type = RDF_Type::Pointer; - n_unk_118->m_node_type = NodeType::Pointer; - n_unk_118->m_addornements = "*"; - n_unk_118->m_address = base + offset; - n_unk_118->m_parent = p_node_parent; - n_unk_118->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_118); - - field_name = "unk_11c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); - auto n_unk_11c = new NodeSimple; - n_unk_11c->m_field_name = field_name; - n_unk_11c->m_df_type = DF_Type::int32_t; - n_unk_11c->m_rdf_type = RDF_Type::int32_t; - n_unk_11c->m_node_type = NodeType::Simple; - n_unk_11c->m_address = base + offset; - n_unk_11c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_11c); - - field_name = "unk_120"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); - auto n_unk_120 = new NodeSimple; - n_unk_120->m_field_name = field_name; - n_unk_120->m_df_type = DF_Type::int32_t; - n_unk_120->m_rdf_type = RDF_Type::int32_t; - n_unk_120->m_node_type = NodeType::Simple; - n_unk_120->m_address = base + offset; - n_unk_120->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_120); - - field_name = "unk_124"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); - auto n_unk_124 = new NodeSimple; - n_unk_124->m_field_name = field_name; - n_unk_124->m_df_type = DF_Type::int32_t; - n_unk_124->m_rdf_type = RDF_Type::int32_t; - n_unk_124->m_node_type = NodeType::Simple; - n_unk_124->m_address = base + offset; - n_unk_124->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_124); - - field_name = "unk_128"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); - auto n_unk_128 = new NodeSimple; - n_unk_128->m_field_name = field_name; - n_unk_128->m_df_type = DF_Type::int32_t; - n_unk_128->m_rdf_type = RDF_Type::int32_t; - n_unk_128->m_node_type = NodeType::Simple; - n_unk_128->m_address = base + offset; - n_unk_128->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_128); - - field_name = "anon_1"; - auto n_anon_1 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::Array; - n_anon_1->m_node_type = NodeType::Array; - n_anon_1->m_addornements = "[8"; - n_anon_1->m_array_size = 8; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "unk_13c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); - auto n_unk_13c = new NodeVector; - n_unk_13c->m_field_name = field_name; - n_unk_13c->m_df_type = DF_Type::world_site__T_unk_13c; - n_unk_13c->m_rdf_type = RDF_Type::Vector; - n_unk_13c->m_node_type = NodeType::Vector; - n_unk_13c->m_addornements = "v*"; - n_unk_13c->m_address = base + offset; - n_unk_13c->m_comment = "mountain halls"; - n_unk_13c->m_parent = p_node_parent; - n_unk_13c->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_13c); - - field_name = "unk_v40_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); - auto n_unk_v40_2 = new NodeVector; - n_unk_v40_2->m_field_name = field_name; - n_unk_v40_2->m_df_type = DF_Type::world_site__T_unk_v40_2; - n_unk_v40_2->m_rdf_type = RDF_Type::Vector; - n_unk_v40_2->m_node_type = NodeType::Vector; - n_unk_v40_2->m_addornements = "v*"; - n_unk_v40_2->m_address = base + offset; - n_unk_v40_2->m_comment = "forest retreat"; - n_unk_v40_2->m_parent = p_node_parent; - n_unk_v40_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_v40_2); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); - auto n_flags = new NodeDFFlagArray; - n_flags->m_field_name = field_name; - n_flags->m_index_enum = DF_Type::world_site_flags; - n_flags->m_df_type = DF_Type::world_site_flags; - n_flags->m_size = 4; - n_flags->m_rdf_type = RDF_Type::DFFlagArray; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_defined_in = "df.world-site.xml"; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "buildings"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); - auto n_buildings = new NodeVector; - n_buildings->m_field_name = field_name; - n_buildings->m_df_type = DF_Type::abstract_building; - n_buildings->m_rdf_type = RDF_Type::Vector; - n_buildings->m_node_type = NodeType::Vector; - n_buildings->m_defined_in = "df.world-site.xml"; - n_buildings->m_addornements = "v*"; - n_buildings->m_address = base + offset; - n_buildings->m_parent = p_node_parent; - n_buildings->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_buildings); - - field_name = "next_building_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); - auto n_next_building_id = new NodeSimple; - n_next_building_id->m_field_name = field_name; - n_next_building_id->m_df_type = DF_Type::int32_t; - n_next_building_id->m_rdf_type = RDF_Type::int32_t; - n_next_building_id->m_node_type = NodeType::Simple; - n_next_building_id->m_address = base + offset; - n_next_building_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_next_building_id); - - field_name = "created_tick"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); - auto n_created_tick = new NodeSimple; - n_created_tick->m_field_name = field_name; - n_created_tick->m_df_type = DF_Type::int32_t; - n_created_tick->m_rdf_type = RDF_Type::int32_t; - n_created_tick->m_node_type = NodeType::Simple; - n_created_tick->m_address = base + offset; - n_created_tick->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_created_tick); - - field_name = "created_year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); - auto n_created_year = new NodeSimple; - n_created_year->m_field_name = field_name; - n_created_year->m_df_type = DF_Type::int32_t; - n_created_year->m_rdf_type = RDF_Type::int32_t; - n_created_year->m_node_type = NodeType::Simple; - n_created_year->m_address = base + offset; - n_created_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_created_year); - - field_name = "unk_170"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); - auto n_unk_170 = new NodeSimple; - n_unk_170->m_field_name = field_name; - n_unk_170->m_df_type = DF_Type::int32_t; - n_unk_170->m_rdf_type = RDF_Type::int32_t; - n_unk_170->m_node_type = NodeType::Simple; - n_unk_170->m_address = base + offset; - n_unk_170->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_170); - - field_name = "unk_174"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); - auto n_unk_174 = new NodeSimple; - n_unk_174->m_field_name = field_name; - n_unk_174->m_df_type = DF_Type::int32_t; - n_unk_174->m_rdf_type = RDF_Type::int32_t; - n_unk_174->m_node_type = NodeType::Simple; - n_unk_174->m_address = base + offset; - n_unk_174->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_174); - - field_name = "unk_178"; - auto n_unk_178 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); - n_unk_178->m_field_name = field_name; - n_unk_178->m_df_type = DF_Type::coord; - n_unk_178->m_rdf_type = RDF_Type::Struct; - n_unk_178->m_node_type = NodeType::Compound; - n_unk_178->m_address = base + offset; - n_unk_178->m_defined_in = "df.map.xml"; - n_unk_178->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_178); - - field_name = "realization"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); - auto n_realization = new NodePointer; - n_realization->m_field_name = field_name; - n_realization->m_df_type = get_real_subtype(base+offset, DF_Type::world_site_realization); - n_realization->m_rdf_type = RDF_Type::Pointer; - n_realization->m_node_type = NodeType::Pointer; - n_realization->m_addornements = "*"; - n_realization->m_address = base + offset; - n_realization->m_parent = p_node_parent; - n_realization->m_defined_in = "df.world-site.xml"; - n_realization->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_realization); - - field_name = "subtype_info"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); - auto n_subtype_info = new NodePointer; - n_subtype_info->m_field_name = field_name; - n_subtype_info->m_df_type = get_real_subtype(base+offset, DF_Type::world_site__T_subtype_info); - n_subtype_info->m_rdf_type = RDF_Type::Pointer; - n_subtype_info->m_node_type = NodeType::Pointer; - n_subtype_info->m_addornements = "*"; - n_subtype_info->m_address = base + offset; - n_subtype_info->m_parent = p_node_parent; - n_subtype_info->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_subtype_info); - - field_name = "unk_21c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); - auto n_unk_21c = new NodeVector; - n_unk_21c->m_field_name = field_name; - n_unk_21c->m_df_type = DF_Type::world_site__T_unk_21c; - n_unk_21c->m_rdf_type = RDF_Type::Vector; - n_unk_21c->m_node_type = NodeType::Vector; - n_unk_21c->m_addornements = "v*"; - n_unk_21c->m_address = base + offset; - n_unk_21c->m_parent = p_node_parent; - n_unk_21c->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_21c); - - field_name = "unk_22c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); - auto n_unk_22c = new NodeVector; - n_unk_22c->m_field_name = field_name; - n_unk_22c->m_df_type = DF_Type::int32_t; - n_unk_22c->m_rdf_type = RDF_Type::Vector; - n_unk_22c->m_node_type = NodeType::Vector; - n_unk_22c->m_addornements = "v"; - n_unk_22c->m_address = base + offset; - n_unk_22c->m_parent = p_node_parent; - n_unk_22c->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_22c); - - field_name = "is_mountain_halls"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); - auto n_is_mountain_halls = new NodeSimple; - n_is_mountain_halls->m_field_name = field_name; - n_is_mountain_halls->m_df_type = DF_Type::int32_t; - n_is_mountain_halls->m_rdf_type = RDF_Type::int32_t; - n_is_mountain_halls->m_node_type = NodeType::Simple; - n_is_mountain_halls->m_address = base + offset; - n_is_mountain_halls->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_is_mountain_halls); - - field_name = "is_fortress"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); - auto n_is_fortress = new NodeSimple; - n_is_fortress->m_field_name = field_name; - n_is_fortress->m_df_type = DF_Type::int32_t; - n_is_fortress->m_rdf_type = RDF_Type::int32_t; - n_is_fortress->m_node_type = NodeType::Simple; - n_is_fortress->m_address = base + offset; - n_is_fortress->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_is_fortress); - - field_name = "unk_v40_4a"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); - auto n_unk_v40_4a = new NodeVector; - n_unk_v40_4a->m_field_name = field_name; - n_unk_v40_4a->m_df_type = DF_Type::world_site__T_unk_v40_4a; - n_unk_v40_4a->m_rdf_type = RDF_Type::Vector; - n_unk_v40_4a->m_node_type = NodeType::Vector; - n_unk_v40_4a->m_addornements = "v*"; - n_unk_v40_4a->m_address = base + offset; - n_unk_v40_4a->m_parent = p_node_parent; - n_unk_v40_4a->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_v40_4a); - - field_name = "unk_v40_4b"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); - auto n_unk_v40_4b = new NodeVector; - n_unk_v40_4b->m_field_name = field_name; - n_unk_v40_4b->m_df_type = DF_Type::world_site__T_unk_v40_4b; - n_unk_v40_4b->m_rdf_type = RDF_Type::Vector; - n_unk_v40_4b->m_node_type = NodeType::Vector; - n_unk_v40_4b->m_addornements = "v*"; - n_unk_v40_4b->m_address = base + offset; - n_unk_v40_4b->m_parent = p_node_parent; - n_unk_v40_4b->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_v40_4b); - - field_name = "unk_v40_4c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); - auto n_unk_v40_4c = new NodeVector; - n_unk_v40_4c->m_field_name = field_name; - n_unk_v40_4c->m_df_type = DF_Type::world_site__T_unk_v40_4c; - n_unk_v40_4c->m_rdf_type = RDF_Type::Vector; - n_unk_v40_4c->m_node_type = NodeType::Vector; - n_unk_v40_4c->m_addornements = "v*"; - n_unk_v40_4c->m_address = base + offset; - n_unk_v40_4c->m_parent = p_node_parent; - n_unk_v40_4c->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_v40_4c); - - field_name = "unk_v40_4d"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); - auto n_unk_v40_4d = new NodeVector; - n_unk_v40_4d->m_field_name = field_name; - n_unk_v40_4d->m_df_type = DF_Type::world_site__T_unk_v40_4d; - n_unk_v40_4d->m_rdf_type = RDF_Type::Vector; - n_unk_v40_4d->m_node_type = NodeType::Vector; - n_unk_v40_4d->m_addornements = "v*"; - n_unk_v40_4d->m_address = base + offset; - n_unk_v40_4d->m_parent = p_node_parent; - n_unk_v40_4d->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_v40_4d); - - field_name = "unk_v43_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); - auto n_unk_v43_1 = new NodeSimple; - n_unk_v43_1->m_field_name = field_name; - n_unk_v43_1->m_df_type = DF_Type::int32_t; - n_unk_v43_1->m_rdf_type = RDF_Type::int32_t; - n_unk_v43_1->m_node_type = NodeType::Simple; - n_unk_v43_1->m_address = base + offset; - n_unk_v43_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v43_1); - - field_name = "unk_v43_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); - auto n_unk_v43_2 = new NodeVector; - n_unk_v43_2->m_field_name = field_name; - n_unk_v43_2->m_df_type = DF_Type::world_site__T_unk_v43_2; - n_unk_v43_2->m_rdf_type = RDF_Type::Vector; - n_unk_v43_2->m_node_type = NodeType::Vector; - n_unk_v43_2->m_addornements = "v*"; - n_unk_v43_2->m_address = base + offset; - n_unk_v43_2->m_parent = p_node_parent; - n_unk_v43_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_v43_2); - - field_name = "unk_v43_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); - auto n_unk_v43_3 = new NodeSimple; - n_unk_v43_3->m_field_name = field_name; - n_unk_v43_3->m_df_type = DF_Type::int32_t; - n_unk_v43_3->m_rdf_type = RDF_Type::int32_t; - n_unk_v43_3->m_node_type = NodeType::Simple; - n_unk_v43_3->m_address = base + offset; - n_unk_v43_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v43_3); - - field_name = "unk_v40_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); - auto n_unk_v40_5 = new NodeSimple; - n_unk_v40_5->m_field_name = field_name; - n_unk_v40_5->m_df_type = DF_Type::int32_t; - n_unk_v40_5->m_rdf_type = RDF_Type::int32_t; - n_unk_v40_5->m_node_type = NodeType::Simple; - n_unk_v40_5->m_address = base + offset; - n_unk_v40_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_5); - - field_name = "unk_188"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); - auto n_unk_188 = new NodePointer; - n_unk_188->m_field_name = field_name; - n_unk_188->m_df_type = get_real_subtype(base+offset, DF_Type::world_site__T_unk_188); - n_unk_188->m_rdf_type = RDF_Type::Pointer; - n_unk_188->m_node_type = NodeType::Pointer; - n_unk_188->m_addornements = "*v*"; - n_unk_188->m_address = base + offset; - n_unk_188->m_parent = p_node_parent; - n_unk_188->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_188); - - field_name = "unk_3a8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); - auto n_unk_3a8 = new NodeSimple; - n_unk_3a8->m_field_name = field_name; - n_unk_3a8->m_df_type = DF_Type::int32_t; - n_unk_3a8->m_rdf_type = RDF_Type::int32_t; - n_unk_3a8->m_node_type = NodeType::Simple; - n_unk_3a8->m_address = base + offset; - n_unk_3a8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_3a8); - - field_name = "unk_3b0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); - auto n_unk_3b0 = new NodePointer; - n_unk_3b0->m_field_name = field_name; - n_unk_3b0->m_df_type = get_real_subtype(base+offset, DF_Type::world_site_unk130); - n_unk_3b0->m_rdf_type = RDF_Type::Pointer; - n_unk_3b0->m_node_type = NodeType::Pointer; - n_unk_3b0->m_addornements = "*"; - n_unk_3b0->m_address = base + offset; - n_unk_3b0->m_parent = p_node_parent; - n_unk_3b0->m_defined_in = "df.world-data.xml"; - n_unk_3b0->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_3b0); - - field_name = "unk_18c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); - auto n_unk_18c = new NodeVector; - n_unk_18c->m_field_name = field_name; - n_unk_18c->m_df_type = DF_Type::Void; - n_unk_18c->m_rdf_type = RDF_Type::Vector; - n_unk_18c->m_node_type = NodeType::Vector; - n_unk_18c->m_addornements = "v"; - n_unk_18c->m_address = base + offset; - n_unk_18c->m_parent = p_node_parent; - n_unk_18c->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_18c); - - field_name = "unk_19c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); - auto n_unk_19c = new NodeVector; - n_unk_19c->m_field_name = field_name; - n_unk_19c->m_df_type = DF_Type::Void; - n_unk_19c->m_rdf_type = RDF_Type::Vector; - n_unk_19c->m_node_type = NodeType::Vector; - n_unk_19c->m_addornements = "v"; - n_unk_19c->m_address = base + offset; - n_unk_19c->m_parent = p_node_parent; - n_unk_19c->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_19c); - - field_name = "entity_links"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); - auto n_entity_links = new NodeVector; - n_entity_links->m_field_name = field_name; - n_entity_links->m_df_type = DF_Type::entity_site_link; - n_entity_links->m_rdf_type = RDF_Type::Vector; - n_entity_links->m_node_type = NodeType::Vector; - n_entity_links->m_defined_in = "df.refs.xml"; - n_entity_links->m_addornements = "v*"; - n_entity_links->m_address = base + offset; - n_entity_links->m_parent = p_node_parent; - n_entity_links->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_entity_links); - - field_name = "cultural_identities"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); - auto n_cultural_identities = new NodeVector; - n_cultural_identities->m_field_name = field_name; - n_cultural_identities->m_df_type = DF_Type::cultural_identity; - n_cultural_identities->m_rdf_type = RDF_Type::Vector; - n_cultural_identities->m_node_type = NodeType::Vector; - n_cultural_identities->m_defined_in = "df.world-site.xml"; - n_cultural_identities->m_addornements = "v*"; - n_cultural_identities->m_address = base + offset; - n_cultural_identities->m_parent = p_node_parent; - n_cultural_identities->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_cultural_identities); - - field_name = "unk_v42_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); - auto n_unk_v42_1 = new NodeVector; - n_unk_v42_1->m_field_name = field_name; - n_unk_v42_1->m_df_type = DF_Type::occupation; - n_unk_v42_1->m_rdf_type = RDF_Type::Vector; - n_unk_v42_1->m_node_type = NodeType::Vector; - n_unk_v42_1->m_defined_in = "df.art.xml"; - n_unk_v42_1->m_addornements = "v*"; - n_unk_v42_1->m_address = base + offset; - n_unk_v42_1->m_parent = p_node_parent; - n_unk_v42_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_v42_1); - - field_name = "unk_v43_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); - auto n_unk_v43_4 = new NodeSimple; - n_unk_v43_4->m_field_name = field_name; - n_unk_v43_4->m_df_type = DF_Type::int32_t; - n_unk_v43_4->m_rdf_type = RDF_Type::int32_t; - n_unk_v43_4->m_node_type = NodeType::Simple; - n_unk_v43_4->m_address = base + offset; - n_unk_v43_4->m_comment = "uninitialized"; - n_unk_v43_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v43_4); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); - auto n_anon_2 = new NodeVector; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::Void; - n_anon_2->m_rdf_type = RDF_Type::Vector; - n_anon_2->m_node_type = NodeType::Vector; - n_anon_2->m_addornements = "v"; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - n_anon_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_2); - -} -void node_from_cultural_identity__T_group_log(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "group_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cultural_identity__T_group_log, field_name)); - auto n_group_id = new NodeSimple; - n_group_id->m_field_name = field_name; - n_group_id->m_df_type = DF_Type::int32_t; - n_group_id->m_rdf_type = RDF_Type::int32_t; - n_group_id->m_node_type = NodeType::Simple; - n_group_id->m_address = base + offset; - n_group_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_group_id); - - field_name = "start_year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cultural_identity__T_group_log, field_name)); - auto n_start_year = new NodeSimple; - n_start_year->m_field_name = field_name; - n_start_year->m_df_type = DF_Type::int32_t; - n_start_year->m_rdf_type = RDF_Type::int32_t; - n_start_year->m_node_type = NodeType::Simple; - n_start_year->m_address = base + offset; - n_start_year->m_comment = "when the group joined the culture, or -1 if it founded the culture"; - n_start_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_start_year); - - field_name = "start_tick"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cultural_identity__T_group_log, field_name)); - auto n_start_tick = new NodeSimple; - n_start_tick->m_field_name = field_name; - n_start_tick->m_df_type = DF_Type::int32_t; - n_start_tick->m_rdf_type = RDF_Type::int32_t; - n_start_tick->m_node_type = NodeType::Simple; - n_start_tick->m_address = base + offset; - n_start_tick->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_start_tick); - - field_name = "end_year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cultural_identity__T_group_log, field_name)); - auto n_end_year = new NodeSimple; - n_end_year->m_field_name = field_name; - n_end_year->m_df_type = DF_Type::int32_t; - n_end_year->m_rdf_type = RDF_Type::int32_t; - n_end_year->m_node_type = NodeType::Simple; - n_end_year->m_address = base + offset; - n_end_year->m_comment = "when the group left the culture, or -1 if it has not left"; - n_end_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_end_year); - - field_name = "end_tick"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cultural_identity__T_group_log, field_name)); - auto n_end_tick = new NodeSimple; - n_end_tick->m_field_name = field_name; - n_end_tick->m_df_type = DF_Type::int32_t; - n_end_tick->m_rdf_type = RDF_Type::int32_t; - n_end_tick->m_node_type = NodeType::Simple; - n_end_tick->m_address = base + offset; - n_end_tick->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_end_tick); - - field_name = "unk_14"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cultural_identity__T_group_log, field_name)); - auto n_unk_14 = new NodeSimple; - n_unk_14->m_field_name = field_name; - n_unk_14->m_df_type = DF_Type::int32_t; - n_unk_14->m_rdf_type = RDF_Type::int32_t; - n_unk_14->m_node_type = NodeType::Simple; - n_unk_14->m_address = base + offset; - n_unk_14->m_comment = "copy of start_year"; - n_unk_14->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_14); - - field_name = "unk_18"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cultural_identity__T_group_log, field_name)); - auto n_unk_18 = new NodeSimple; - n_unk_18->m_field_name = field_name; - n_unk_18->m_df_type = DF_Type::int32_t; - n_unk_18->m_rdf_type = RDF_Type::int32_t; - n_unk_18->m_node_type = NodeType::Simple; - n_unk_18->m_address = base + offset; - n_unk_18->m_comment = "copy of start_tick"; - n_unk_18->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_18); - - field_name = "join_type"; - auto n_join_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cultural_identity__T_group_log, field_name)); - n_join_type->m_field_name = field_name; - n_join_type->m_df_type = DF_Type::cultural_identity__T_group_log__T_join_type; - n_join_type->m_rdf_type = RDF_Type::Enum; - n_join_type->m_node_type = NodeType::Enum; - n_join_type->m_base_type = enum_base_type(n_join_type->m_df_type); - n_join_type->m_enum_type = "cultural_identity::T_group_log::T_join_type"; - n_join_type->m_address = base + offset; - n_join_type->m_first_value = 0; - n_join_type->m_last_value = 2; - n_join_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_join_type); - - field_name = "unk_20"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cultural_identity__T_group_log, field_name)); - auto n_unk_20 = new NodeSimple; - n_unk_20->m_field_name = field_name; - n_unk_20->m_df_type = DF_Type::int32_t; - n_unk_20->m_rdf_type = RDF_Type::int32_t; - n_unk_20->m_node_type = NodeType::Simple; - n_unk_20->m_address = base + offset; - n_unk_20->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_20); - - field_name = "unk_24"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cultural_identity__T_group_log, field_name)); - auto n_unk_24 = new NodeVector; - n_unk_24->m_field_name = field_name; - n_unk_24->m_df_type = DF_Type::int32_t; - n_unk_24->m_rdf_type = RDF_Type::Vector; - n_unk_24->m_node_type = NodeType::Vector; - n_unk_24->m_addornements = "v"; - n_unk_24->m_address = base + offset; - n_unk_24->m_parent = p_node_parent; - n_unk_24->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_24); - - field_name = "unk_34"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cultural_identity__T_group_log, field_name)); - auto n_unk_34 = new NodeVector; - n_unk_34->m_field_name = field_name; - n_unk_34->m_df_type = DF_Type::int32_t; - n_unk_34->m_rdf_type = RDF_Type::Vector; - n_unk_34->m_node_type = NodeType::Vector; - n_unk_34->m_addornements = "v"; - n_unk_34->m_address = base + offset; - n_unk_34->m_comment = "same length as unk_24; elements always sum to 10000"; - n_unk_34->m_parent = p_node_parent; - n_unk_34->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_34); - - field_name = "unk_44"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cultural_identity__T_group_log, field_name)); - auto n_unk_44 = new NodeSimple; - n_unk_44->m_field_name = field_name; - n_unk_44->m_df_type = DF_Type::int32_t; - n_unk_44->m_rdf_type = RDF_Type::int32_t; - n_unk_44->m_node_type = NodeType::Simple; - n_unk_44->m_address = base + offset; - n_unk_44->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_44); - -} -void node_from_cultural_identity(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cultural_identity, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "site_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cultural_identity, field_name)); - auto n_site_id = new NodeSimple; - n_site_id->m_field_name = field_name; - n_site_id->m_df_type = DF_Type::int32_t; - n_site_id->m_rdf_type = RDF_Type::int32_t; - n_site_id->m_node_type = NodeType::Simple; - n_site_id->m_address = base + offset; - n_site_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_id); - - field_name = "civ_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cultural_identity, field_name)); - auto n_civ_id = new NodeSimple; - n_civ_id->m_field_name = field_name; - n_civ_id->m_df_type = DF_Type::int32_t; - n_civ_id->m_rdf_type = RDF_Type::int32_t; - n_civ_id->m_node_type = NodeType::Simple; - n_civ_id->m_address = base + offset; - n_civ_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_civ_id); - - field_name = "group_log"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cultural_identity, field_name)); - auto n_group_log = new NodeVector; - n_group_log->m_field_name = field_name; - n_group_log->m_df_type = DF_Type::cultural_identity__T_group_log; - n_group_log->m_rdf_type = RDF_Type::Vector; - n_group_log->m_node_type = NodeType::Vector; - n_group_log->m_addornements = "v*"; - n_group_log->m_address = base + offset; - n_group_log->m_comment = "the circumstances of groups joining or leaving this culture"; - n_group_log->m_parent = p_node_parent; - n_group_log->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_group_log); - - field_name = "ethic"; - auto n_ethic = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cultural_identity, field_name)); - n_ethic->m_field_name = field_name; - n_ethic->m_df_type = DF_Type::ethic_response; - n_ethic->m_rdf_type = RDF_Type::Array; - n_ethic->m_node_type = NodeType::Array; - n_ethic->m_index_enum = DF_Type::ethic_type; - n_ethic->m_enum_base = DF_Type::int16_t; - n_ethic->m_defined_in = "df.entity-raws.xml"; - n_ethic->m_addornements = "[22"; - n_ethic->m_array_size = 22; - n_ethic->m_address = base + offset; - n_ethic->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ethic); - - field_name = "values"; - auto n_values = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cultural_identity, field_name)); - n_values->m_field_name = field_name; - n_values->m_df_type = DF_Type::int32_t; - n_values->m_rdf_type = RDF_Type::Array; - n_values->m_node_type = NodeType::Array; - n_values->m_index_enum = DF_Type::value_type; - n_values->m_addornements = "[64"; - n_values->m_array_size = 64; - n_values->m_address = base + offset; - n_values->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_values); - - field_name = "events"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cultural_identity, field_name)); - auto n_events = new NodeVector; - n_events->m_field_name = field_name; - n_events->m_df_type = DF_Type::entity_event; - n_events->m_rdf_type = RDF_Type::Vector; - n_events->m_node_type = NodeType::Vector; - n_events->m_defined_in = "df.entities.xml"; - n_events->m_addornements = "v*"; - n_events->m_address = base + offset; - n_events->m_parent = p_node_parent; - n_events->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_events); - - field_name = "unk_d8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cultural_identity, field_name)); - auto n_unk_d8 = new NodeSimple; - n_unk_d8->m_field_name = field_name; - n_unk_d8->m_df_type = DF_Type::int32_t; - n_unk_d8->m_rdf_type = RDF_Type::int32_t; - n_unk_d8->m_node_type = NodeType::Simple; - n_unk_d8->m_address = base + offset; - n_unk_d8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_d8); - - field_name = "unk_dc"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cultural_identity, field_name)); - auto n_unk_dc = new NodeVector; - n_unk_dc->m_field_name = field_name; - n_unk_dc->m_df_type = DF_Type::int32_t; - n_unk_dc->m_rdf_type = RDF_Type::Vector; - n_unk_dc->m_node_type = NodeType::Vector; - n_unk_dc->m_addornements = "v"; - n_unk_dc->m_address = base + offset; - n_unk_dc->m_parent = p_node_parent; - n_unk_dc->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_dc); - - field_name = "unk_ec"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cultural_identity, field_name)); - auto n_unk_ec = new NodeSimple; - n_unk_ec->m_field_name = field_name; - n_unk_ec->m_df_type = DF_Type::int32_t; - n_unk_ec->m_rdf_type = RDF_Type::int32_t; - n_unk_ec->m_node_type = NodeType::Simple; - n_unk_ec->m_address = base + offset; - n_unk_ec->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_ec); - - field_name = "unk_f0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cultural_identity, field_name)); - auto n_unk_f0 = new NodeSimple; - n_unk_f0->m_field_name = field_name; - n_unk_f0->m_df_type = DF_Type::int32_t; - n_unk_f0->m_rdf_type = RDF_Type::int32_t; - n_unk_f0->m_node_type = NodeType::Simple; - n_unk_f0->m_address = base + offset; - n_unk_f0->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_f0); - - field_name = "unk_f4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cultural_identity, field_name)); - auto n_unk_f4 = new NodeSimple; - n_unk_f4->m_field_name = field_name; - n_unk_f4->m_df_type = DF_Type::int32_t; - n_unk_f4->m_rdf_type = RDF_Type::int32_t; - n_unk_f4->m_node_type = NodeType::Simple; - n_unk_f4->m_address = base + offset; - n_unk_f4->m_comment = "0 or 800000"; - n_unk_f4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_f4); - - field_name = "unk_f8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cultural_identity, field_name)); - auto n_unk_f8 = new NodeSimple; - n_unk_f8->m_field_name = field_name; - n_unk_f8->m_df_type = DF_Type::int32_t; - n_unk_f8->m_rdf_type = RDF_Type::int32_t; - n_unk_f8->m_node_type = NodeType::Simple; - n_unk_f8->m_address = base + offset; - n_unk_f8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_f8); - -} -void node_from_site_realization_crossroads(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "road_min_y"; - auto n_road_min_y = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); - n_road_min_y->m_field_name = field_name; - n_road_min_y->m_df_type = DF_Type::int32_t; - n_road_min_y->m_rdf_type = RDF_Type::Array; - n_road_min_y->m_node_type = NodeType::Array; - n_road_min_y->m_addornements = "[48"; - n_road_min_y->m_array_size = 48; - n_road_min_y->m_address = base + offset; - n_road_min_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_road_min_y); - - field_name = "road_max_y"; - auto n_road_max_y = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); - n_road_max_y->m_field_name = field_name; - n_road_max_y->m_df_type = DF_Type::int32_t; - n_road_max_y->m_rdf_type = RDF_Type::Array; - n_road_max_y->m_node_type = NodeType::Array; - n_road_max_y->m_addornements = "[48"; - n_road_max_y->m_array_size = 48; - n_road_max_y->m_address = base + offset; - n_road_max_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_road_max_y); - - field_name = "road_min_x"; - auto n_road_min_x = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); - n_road_min_x->m_field_name = field_name; - n_road_min_x->m_df_type = DF_Type::int32_t; - n_road_min_x->m_rdf_type = RDF_Type::Array; - n_road_min_x->m_node_type = NodeType::Array; - n_road_min_x->m_addornements = "[48"; - n_road_min_x->m_array_size = 48; - n_road_min_x->m_address = base + offset; - n_road_min_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_road_min_x); - - field_name = "road_max_x"; - auto n_road_max_x = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); - n_road_max_x->m_field_name = field_name; - n_road_max_x->m_df_type = DF_Type::int32_t; - n_road_max_x->m_rdf_type = RDF_Type::Array; - n_road_max_x->m_node_type = NodeType::Array; - n_road_max_x->m_addornements = "[48"; - n_road_max_x->m_array_size = 48; - n_road_max_x->m_address = base + offset; - n_road_max_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_road_max_x); - - field_name = "idx_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); - auto n_idx_x = new NodeSimple; - n_idx_x->m_field_name = field_name; - n_idx_x->m_df_type = DF_Type::int32_t; - n_idx_x->m_rdf_type = RDF_Type::int32_t; - n_idx_x->m_node_type = NodeType::Simple; - n_idx_x->m_address = base + offset; - n_idx_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_idx_x); - - field_name = "idx_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); - auto n_idx_y = new NodeSimple; - n_idx_y->m_field_name = field_name; - n_idx_y->m_df_type = DF_Type::int32_t; - n_idx_y->m_rdf_type = RDF_Type::int32_t; - n_idx_y->m_node_type = NodeType::Simple; - n_idx_y->m_address = base + offset; - n_idx_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_idx_y); - - field_name = "tile_width"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); - auto n_tile_width = new NodeSimple; - n_tile_width->m_field_name = field_name; - n_tile_width->m_df_type = DF_Type::int32_t; - n_tile_width->m_rdf_type = RDF_Type::int32_t; - n_tile_width->m_node_type = NodeType::Simple; - n_tile_width->m_address = base + offset; - n_tile_width->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tile_width); - - field_name = "tile_height"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); - auto n_tile_height = new NodeSimple; - n_tile_height->m_field_name = field_name; - n_tile_height->m_df_type = DF_Type::int32_t; - n_tile_height->m_rdf_type = RDF_Type::int32_t; - n_tile_height->m_node_type = NodeType::Simple; - n_tile_height->m_address = base + offset; - n_tile_height->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tile_height); - - field_name = "unk_310"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); - auto n_unk_310 = new NodeSimple; - n_unk_310->m_field_name = field_name; - n_unk_310->m_df_type = DF_Type::int32_t; - n_unk_310->m_rdf_type = RDF_Type::int32_t; - n_unk_310->m_node_type = NodeType::Simple; - n_unk_310->m_address = base + offset; - n_unk_310->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_310); - - field_name = "unk_314"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); - auto n_unk_314 = new NodeSimple; - n_unk_314->m_field_name = field_name; - n_unk_314->m_df_type = DF_Type::int32_t; - n_unk_314->m_rdf_type = RDF_Type::int32_t; - n_unk_314->m_node_type = NodeType::Simple; - n_unk_314->m_address = base + offset; - n_unk_314->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_314); - - field_name = "unk_318"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); - auto n_unk_318 = new NodeSimple; - n_unk_318->m_field_name = field_name; - n_unk_318->m_df_type = DF_Type::int32_t; - n_unk_318->m_rdf_type = RDF_Type::int32_t; - n_unk_318->m_node_type = NodeType::Simple; - n_unk_318->m_address = base + offset; - n_unk_318->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_318); - - field_name = "unk_31c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); - auto n_unk_31c = new NodeSimple; - n_unk_31c->m_field_name = field_name; - n_unk_31c->m_df_type = DF_Type::int32_t; - n_unk_31c->m_rdf_type = RDF_Type::int32_t; - n_unk_31c->m_node_type = NodeType::Simple; - n_unk_31c->m_address = base + offset; - n_unk_31c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_31c); - - field_name = "unk_320"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); - auto n_unk_320 = new NodeSimple; - n_unk_320->m_field_name = field_name; - n_unk_320->m_df_type = DF_Type::int32_t; - n_unk_320->m_rdf_type = RDF_Type::int32_t; - n_unk_320->m_node_type = NodeType::Simple; - n_unk_320->m_address = base + offset; - n_unk_320->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_320); - - field_name = "unk_324"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); - auto n_unk_324 = new NodeSimple; - n_unk_324->m_field_name = field_name; - n_unk_324->m_df_type = DF_Type::int32_t; - n_unk_324->m_rdf_type = RDF_Type::int32_t; - n_unk_324->m_node_type = NodeType::Simple; - n_unk_324->m_address = base + offset; - n_unk_324->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_324); - - field_name = "unk_328"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); - auto n_unk_328 = new NodeSimple; - n_unk_328->m_field_name = field_name; - n_unk_328->m_df_type = DF_Type::int32_t; - n_unk_328->m_rdf_type = RDF_Type::int32_t; - n_unk_328->m_node_type = NodeType::Simple; - n_unk_328->m_address = base + offset; - n_unk_328->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_328); - - field_name = "unk_32c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); - auto n_unk_32c = new NodeSimple; - n_unk_32c->m_field_name = field_name; - n_unk_32c->m_df_type = DF_Type::int32_t; - n_unk_32c->m_rdf_type = RDF_Type::int32_t; - n_unk_32c->m_node_type = NodeType::Simple; - n_unk_32c->m_address = base + offset; - n_unk_32c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_32c); - - field_name = "center_x_tile"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); - auto n_center_x_tile = new NodeSimple; - n_center_x_tile->m_field_name = field_name; - n_center_x_tile->m_df_type = DF_Type::int32_t; - n_center_x_tile->m_rdf_type = RDF_Type::int32_t; - n_center_x_tile->m_node_type = NodeType::Simple; - n_center_x_tile->m_address = base + offset; - n_center_x_tile->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_center_x_tile); - - field_name = "center_y_tile"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); - auto n_center_y_tile = new NodeSimple; - n_center_y_tile->m_field_name = field_name; - n_center_y_tile->m_df_type = DF_Type::int32_t; - n_center_y_tile->m_rdf_type = RDF_Type::int32_t; - n_center_y_tile->m_node_type = NodeType::Simple; - n_center_y_tile->m_address = base + offset; - n_center_y_tile->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_center_y_tile); - - field_name = "up"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); - auto n_up = new NodePointer; - n_up->m_field_name = field_name; - n_up->m_df_type = get_real_subtype(base+offset, DF_Type::site_realization_crossroads); - n_up->m_rdf_type = RDF_Type::Pointer; - n_up->m_node_type = NodeType::Pointer; - n_up->m_addornements = "*"; - n_up->m_address = base + offset; - n_up->m_parent = p_node_parent; - n_up->m_defined_in = "df.world-site.xml"; - n_up->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_up); - - field_name = "down"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); - auto n_down = new NodePointer; - n_down->m_field_name = field_name; - n_down->m_df_type = get_real_subtype(base+offset, DF_Type::site_realization_crossroads); - n_down->m_rdf_type = RDF_Type::Pointer; - n_down->m_node_type = NodeType::Pointer; - n_down->m_addornements = "*"; - n_down->m_address = base + offset; - n_down->m_parent = p_node_parent; - n_down->m_defined_in = "df.world-site.xml"; - n_down->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_down); - - field_name = "right"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); - auto n_right = new NodePointer; - n_right->m_field_name = field_name; - n_right->m_df_type = get_real_subtype(base+offset, DF_Type::site_realization_crossroads); - n_right->m_rdf_type = RDF_Type::Pointer; - n_right->m_node_type = NodeType::Pointer; - n_right->m_addornements = "*"; - n_right->m_address = base + offset; - n_right->m_parent = p_node_parent; - n_right->m_defined_in = "df.world-site.xml"; - n_right->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_right); - - field_name = "left"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); - auto n_left = new NodePointer; - n_left->m_field_name = field_name; - n_left->m_df_type = get_real_subtype(base+offset, DF_Type::site_realization_crossroads); - n_left->m_rdf_type = RDF_Type::Pointer; - n_left->m_node_type = NodeType::Pointer; - n_left->m_addornements = "*"; - n_left->m_address = base + offset; - n_left->m_parent = p_node_parent; - n_left->m_defined_in = "df.world-site.xml"; - n_left->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_left); - - field_name = "unk_348"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); - auto n_unk_348 = new NodeSimple; - n_unk_348->m_field_name = field_name; - n_unk_348->m_df_type = DF_Type::int8_t; - n_unk_348->m_rdf_type = RDF_Type::int8_t; - n_unk_348->m_node_type = NodeType::Simple; - n_unk_348->m_address = base + offset; - n_unk_348->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_348); - - field_name = "unk_349"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); - auto n_unk_349 = new NodeSimple; - n_unk_349->m_field_name = field_name; - n_unk_349->m_df_type = DF_Type::int8_t; - n_unk_349->m_rdf_type = RDF_Type::int8_t; - n_unk_349->m_node_type = NodeType::Simple; - n_unk_349->m_address = base + offset; - n_unk_349->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_349); - - field_name = "unk_34c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); - auto n_unk_34c = new NodeSimple; - n_unk_34c->m_field_name = field_name; - n_unk_34c->m_df_type = DF_Type::int32_t; - n_unk_34c->m_rdf_type = RDF_Type::int32_t; - n_unk_34c->m_node_type = NodeType::Simple; - n_unk_34c->m_address = base + offset; - n_unk_34c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_34c); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int8_t; - n_anon_1->m_rdf_type = RDF_Type::int8_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int8_t; - n_anon_2->m_rdf_type = RDF_Type::int8_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int8_t; - n_anon_3->m_rdf_type = RDF_Type::int8_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int8_t; - n_anon_4->m_rdf_type = RDF_Type::int8_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int8_t; - n_anon_5->m_rdf_type = RDF_Type::int8_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int8_t; - n_anon_6->m_rdf_type = RDF_Type::int8_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "unk_356"; - auto n_unk_356 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); - n_unk_356->m_field_name = field_name; - n_unk_356->m_df_type = DF_Type::coord; - n_unk_356->m_rdf_type = RDF_Type::Array; - n_unk_356->m_node_type = NodeType::Array; - n_unk_356->m_defined_in = "df.map.xml"; - n_unk_356->m_addornements = "[32"; - n_unk_356->m_array_size = 32; - n_unk_356->m_address = base + offset; - n_unk_356->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_356); - -} -void node_from_site_building_item(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "race"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_building_item, field_name)); - auto n_race = new NodeSimple; - n_race->m_field_name = field_name; - n_race->m_df_type = DF_Type::int32_t; - n_race->m_rdf_type = RDF_Type::int32_t; - n_race->m_node_type = NodeType::Simple; - n_race->m_address = base + offset; - n_race->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_race); - - field_name = "item_type"; - auto n_item_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_building_item, field_name)); - n_item_type->m_field_name = field_name; - n_item_type->m_df_type = DF_Type::item_type; - n_item_type->m_rdf_type = RDF_Type::Enum; - n_item_type->m_node_type = NodeType::Enum; - n_item_type->m_base_type = DF_Type::int16_t; - n_item_type->m_enum_type = "item_type"; - n_item_type->m_address = base + offset; - n_item_type->m_defined_in = "df.item-raws.xml"; - n_item_type->m_first_value = -1; - n_item_type->m_last_value = 90; - n_item_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_type); - - field_name = "item_subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_building_item, field_name)); - auto n_item_subtype = new NodeSimple; - n_item_subtype->m_field_name = field_name; - n_item_subtype->m_df_type = DF_Type::int16_t; - n_item_subtype->m_rdf_type = RDF_Type::int16_t; - n_item_subtype->m_node_type = NodeType::Simple; - n_item_subtype->m_address = base + offset; - n_item_subtype->m_refers_to = "(item-subtype-target $$._parent.item_type $)"; - n_item_subtype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_subtype); - - field_name = "mat_type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_building_item, field_name)); - auto n_mat_type = new NodeSimple; - n_mat_type->m_field_name = field_name; - n_mat_type->m_df_type = DF_Type::int16_t; - n_mat_type->m_rdf_type = RDF_Type::int16_t; - n_mat_type->m_node_type = NodeType::Simple; - n_mat_type->m_address = base + offset; - n_mat_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_type); - - field_name = "mat_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_building_item, field_name)); - auto n_mat_index = new NodeSimple; - n_mat_index->m_field_name = field_name; - n_mat_index->m_df_type = DF_Type::int32_t; - n_mat_index->m_rdf_type = RDF_Type::int32_t; - n_mat_index->m_node_type = NodeType::Simple; - n_mat_index->m_address = base + offset; - n_mat_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mat_index); - -} -void node_from_abstract_building_mead_hallst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::abstract_building; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_abstract_building(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "name"; - auto n_name = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_mead_hallst, field_name)); - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::language_name; - n_name->m_rdf_type = RDF_Type::Struct; - n_name->m_node_type = NodeType::Compound; - n_name->m_address = base + offset; - n_name->m_defined_in = "df.language.xml"; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "item1"; - auto n_item1 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_mead_hallst, field_name)); - n_item1->m_field_name = field_name; - n_item1->m_df_type = DF_Type::site_building_item; - n_item1->m_rdf_type = RDF_Type::Struct; - n_item1->m_node_type = NodeType::Compound; - n_item1->m_address = base + offset; - n_item1->m_defined_in = "df.world-site.xml"; - n_item1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item1); - - field_name = "item2"; - auto n_item2 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_mead_hallst, field_name)); - n_item2->m_field_name = field_name; - n_item2->m_df_type = DF_Type::site_building_item; - n_item2->m_rdf_type = RDF_Type::Struct; - n_item2->m_node_type = NodeType::Compound; - n_item2->m_address = base + offset; - n_item2->m_defined_in = "df.world-site.xml"; - n_item2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item2); - -} -void node_from_site_realization_building__T_unk_4c(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk_0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building__T_unk_4c, field_name)); - auto n_unk_0 = new NodeSimple; - n_unk_0->m_field_name = field_name; - n_unk_0->m_df_type = DF_Type::int32_t; - n_unk_0->m_rdf_type = RDF_Type::int32_t; - n_unk_0->m_node_type = NodeType::Simple; - n_unk_0->m_address = base + offset; - n_unk_0->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_0); - - field_name = "unk_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building__T_unk_4c, field_name)); - auto n_unk_4 = new NodeSimple; - n_unk_4->m_field_name = field_name; - n_unk_4->m_df_type = DF_Type::int32_t; - n_unk_4->m_rdf_type = RDF_Type::int32_t; - n_unk_4->m_node_type = NodeType::Simple; - n_unk_4->m_address = base + offset; - n_unk_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_4); - - field_name = "owner"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building__T_unk_4c, field_name)); - auto n_owner = new NodeSimple; - n_owner->m_field_name = field_name; - n_owner->m_df_type = DF_Type::int32_t; - n_owner->m_rdf_type = RDF_Type::int32_t; - n_owner->m_node_type = NodeType::Simple; - n_owner->m_address = base + offset; - n_owner->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_owner); - - field_name = "unk_c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building__T_unk_4c, field_name)); - auto n_unk_c = new NodeSimple; - n_unk_c->m_field_name = field_name; - n_unk_c->m_df_type = DF_Type::int32_t; - n_unk_c->m_rdf_type = RDF_Type::int32_t; - n_unk_c->m_node_type = NodeType::Simple; - n_unk_c->m_address = base + offset; - n_unk_c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_c); - - field_name = "unk_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building__T_unk_4c, field_name)); - auto n_unk_10 = new NodeSimple; - n_unk_10->m_field_name = field_name; - n_unk_10->m_df_type = DF_Type::int32_t; - n_unk_10->m_rdf_type = RDF_Type::int32_t; - n_unk_10->m_node_type = NodeType::Simple; - n_unk_10->m_address = base + offset; - n_unk_10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_10); - - field_name = "unk_14"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building__T_unk_4c, field_name)); - auto n_unk_14 = new NodeSimple; - n_unk_14->m_field_name = field_name; - n_unk_14->m_df_type = DF_Type::int32_t; - n_unk_14->m_rdf_type = RDF_Type::int32_t; - n_unk_14->m_node_type = NodeType::Simple; - n_unk_14->m_address = base + offset; - n_unk_14->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_14); - -} -void node_from_site_realization_building(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "type"; - auto n_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building, field_name)); - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::site_realization_building_type; - n_type->m_rdf_type = RDF_Type::Enum; - n_type->m_node_type = NodeType::Enum; - n_type->m_base_type = enum_base_type(n_type->m_df_type); - n_type->m_enum_type = "site_realization_building_type"; - n_type->m_address = base + offset; - n_type->m_defined_in = "df.world-site.xml"; - n_type->m_first_value = 0; - n_type->m_last_value = 22; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - - field_name = "min_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building, field_name)); - auto n_min_x = new NodeSimple; - n_min_x->m_field_name = field_name; - n_min_x->m_df_type = DF_Type::int32_t; - n_min_x->m_rdf_type = RDF_Type::int32_t; - n_min_x->m_node_type = NodeType::Simple; - n_min_x->m_address = base + offset; - n_min_x->m_comment = "in tiles relative to site"; - n_min_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_min_x); - - field_name = "min_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building, field_name)); - auto n_min_y = new NodeSimple; - n_min_y->m_field_name = field_name; - n_min_y->m_df_type = DF_Type::int32_t; - n_min_y->m_rdf_type = RDF_Type::int32_t; - n_min_y->m_node_type = NodeType::Simple; - n_min_y->m_address = base + offset; - n_min_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_min_y); - - field_name = "max_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building, field_name)); - auto n_max_x = new NodeSimple; - n_max_x->m_field_name = field_name; - n_max_x->m_df_type = DF_Type::int32_t; - n_max_x->m_rdf_type = RDF_Type::int32_t; - n_max_x->m_node_type = NodeType::Simple; - n_max_x->m_address = base + offset; - n_max_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_max_x); - - field_name = "max_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building, field_name)); - auto n_max_y = new NodeSimple; - n_max_y->m_field_name = field_name; - n_max_y->m_df_type = DF_Type::int32_t; - n_max_y->m_rdf_type = RDF_Type::int32_t; - n_max_y->m_node_type = NodeType::Simple; - n_max_y->m_address = base + offset; - n_max_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_max_y); - - field_name = "unk_18"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building, field_name)); - auto n_unk_18 = new NodeSimple; - n_unk_18->m_field_name = field_name; - n_unk_18->m_df_type = DF_Type::int32_t; - n_unk_18->m_rdf_type = RDF_Type::int32_t; - n_unk_18->m_node_type = NodeType::Simple; - n_unk_18->m_address = base + offset; - n_unk_18->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_18); - - field_name = "inhabitants"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building, field_name)); - auto n_inhabitants = new NodeVector; - n_inhabitants->m_field_name = field_name; - n_inhabitants->m_df_type = DF_Type::world_site_inhabitant; - n_inhabitants->m_rdf_type = RDF_Type::Vector; - n_inhabitants->m_node_type = NodeType::Vector; - n_inhabitants->m_defined_in = "df.world-site.xml"; - n_inhabitants->m_addornements = "v*"; - n_inhabitants->m_address = base + offset; - n_inhabitants->m_parent = p_node_parent; - n_inhabitants->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_inhabitants); - - field_name = "unk_2c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building, field_name)); - auto n_unk_2c = new NodeSimple; - n_unk_2c->m_field_name = field_name; - n_unk_2c->m_df_type = DF_Type::int32_t; - n_unk_2c->m_rdf_type = RDF_Type::int32_t; - n_unk_2c->m_node_type = NodeType::Simple; - n_unk_2c->m_address = base + offset; - n_unk_2c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_2c); - - field_name = "item"; - auto n_item = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building, field_name)); - n_item->m_field_name = field_name; - n_item->m_df_type = DF_Type::site_building_item; - n_item->m_rdf_type = RDF_Type::Struct; - n_item->m_node_type = NodeType::Compound; - n_item->m_address = base + offset; - n_item->m_defined_in = "df.world-site.xml"; - n_item->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item); - - field_name = "abstract_building_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building, field_name)); - auto n_abstract_building_id = new NodeSimple; - n_abstract_building_id->m_field_name = field_name; - n_abstract_building_id->m_df_type = DF_Type::int32_t; - n_abstract_building_id->m_rdf_type = RDF_Type::int32_t; - n_abstract_building_id->m_node_type = NodeType::Simple; - n_abstract_building_id->m_address = base + offset; - n_abstract_building_id->m_comment = "used for temple and mead hall"; - n_abstract_building_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_abstract_building_id); - - field_name = "unk_44"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building, field_name)); - auto n_unk_44 = new NodeSimple; - n_unk_44->m_field_name = field_name; - n_unk_44->m_df_type = DF_Type::int32_t; - n_unk_44->m_rdf_type = RDF_Type::int32_t; - n_unk_44->m_node_type = NodeType::Simple; - n_unk_44->m_address = base + offset; - n_unk_44->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_44); - - field_name = "building_info"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building, field_name)); - auto n_building_info = new NodePointer; - n_building_info->m_field_name = field_name; - n_building_info->m_df_type = get_real_subtype(base+offset, DF_Type::site_realization_building_infost); - n_building_info->m_rdf_type = RDF_Type::Pointer; - n_building_info->m_node_type = NodeType::Pointer; - n_building_info->m_addornements = "*"; - n_building_info->m_address = base + offset; - n_building_info->m_parent = p_node_parent; - n_building_info->m_defined_in = "df.world-site.xml"; - n_building_info->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_building_info); - - field_name = "unk_4c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building, field_name)); - auto n_unk_4c = new NodeVector; - n_unk_4c->m_field_name = field_name; - n_unk_4c->m_df_type = DF_Type::site_realization_building__T_unk_4c; - n_unk_4c->m_rdf_type = RDF_Type::Vector; - n_unk_4c->m_node_type = NodeType::Vector; - n_unk_4c->m_addornements = "v*"; - n_unk_4c->m_address = base + offset; - n_unk_4c->m_parent = p_node_parent; - n_unk_4c->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_4c); - - field_name = "unk_5c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building, field_name)); - auto n_unk_5c = new NodeSimple; - n_unk_5c->m_field_name = field_name; - n_unk_5c->m_df_type = DF_Type::int32_t; - n_unk_5c->m_rdf_type = RDF_Type::int32_t; - n_unk_5c->m_node_type = NodeType::Simple; - n_unk_5c->m_address = base + offset; - n_unk_5c->m_comment = "bit 0x01 == abandoned"; - n_unk_5c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_5c); - - field_name = "unk_60"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building, field_name)); - auto n_unk_60 = new NodeVector; - n_unk_60->m_field_name = field_name; - n_unk_60->m_df_type = DF_Type::Void; - n_unk_60->m_rdf_type = RDF_Type::Vector; - n_unk_60->m_node_type = NodeType::Vector; - n_unk_60->m_addornements = "v"; - n_unk_60->m_address = base + offset; - n_unk_60->m_parent = p_node_parent; - n_unk_60->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_60); - - field_name = "unk_v40_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building, field_name)); - auto n_unk_v40_1 = new NodeSimple; - n_unk_v40_1->m_field_name = field_name; - n_unk_v40_1->m_df_type = DF_Type::int32_t; - n_unk_v40_1->m_rdf_type = RDF_Type::int32_t; - n_unk_v40_1->m_node_type = NodeType::Simple; - n_unk_v40_1->m_address = base + offset; - n_unk_v40_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_1); - -} -void node_from_world_site_realization__T_river_map(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "start"; - auto n_start = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_river_map, field_name)); - n_start->m_field_name = field_name; - n_start->m_df_type = DF_Type::int32_t; - n_start->m_rdf_type = RDF_Type::Array; - n_start->m_node_type = NodeType::Array; - n_start->m_addornements = "[48"; - n_start->m_array_size = 48; - n_start->m_address = base + offset; - n_start->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_start); - - field_name = "end"; - auto n_end = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_river_map, field_name)); - n_end->m_field_name = field_name; - n_end->m_df_type = DF_Type::int32_t; - n_end->m_rdf_type = RDF_Type::Array; - n_end->m_node_type = NodeType::Array; - n_end->m_addornements = "[48"; - n_end->m_array_size = 48; - n_end->m_address = base + offset; - n_end->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_end); - - field_name = "unk_180"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_river_map, field_name)); - auto n_unk_180 = new NodeSimple; - n_unk_180->m_field_name = field_name; - n_unk_180->m_df_type = DF_Type::int32_t; - n_unk_180->m_rdf_type = RDF_Type::int32_t; - n_unk_180->m_node_type = NodeType::Simple; - n_unk_180->m_address = base + offset; - n_unk_180->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_180); - - field_name = "unk_184"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_river_map, field_name)); - auto n_unk_184 = new NodeSimple; - n_unk_184->m_field_name = field_name; - n_unk_184->m_df_type = DF_Type::int32_t; - n_unk_184->m_rdf_type = RDF_Type::int32_t; - n_unk_184->m_node_type = NodeType::Simple; - n_unk_184->m_address = base + offset; - n_unk_184->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_184); - - field_name = "start_array_limits"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_river_map, field_name)); - auto n_start_array_limits = new NodeSimple; - n_start_array_limits->m_field_name = field_name; - n_start_array_limits->m_df_type = DF_Type::int32_t; - n_start_array_limits->m_rdf_type = RDF_Type::int32_t; - n_start_array_limits->m_node_type = NodeType::Simple; - n_start_array_limits->m_address = base + offset; - n_start_array_limits->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_start_array_limits); - - field_name = "end_array_limits"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_river_map, field_name)); - auto n_end_array_limits = new NodeSimple; - n_end_array_limits->m_field_name = field_name; - n_end_array_limits->m_df_type = DF_Type::int32_t; - n_end_array_limits->m_rdf_type = RDF_Type::int32_t; - n_end_array_limits->m_node_type = NodeType::Simple; - n_end_array_limits->m_address = base + offset; - n_end_array_limits->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_end_array_limits); - -} -void node_from_world_site_realization__T_unk_55e8__T_unk_v40_2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk_0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8__T_unk_v40_2, field_name)); - auto n_unk_0 = new NodeSimple; - n_unk_0->m_field_name = field_name; - n_unk_0->m_df_type = DF_Type::int32_t; - n_unk_0->m_rdf_type = RDF_Type::int32_t; - n_unk_0->m_node_type = NodeType::Simple; - n_unk_0->m_address = base + offset; - n_unk_0->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_0); - - field_name = "unk_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8__T_unk_v40_2, field_name)); - auto n_unk_4 = new NodeSimple; - n_unk_4->m_field_name = field_name; - n_unk_4->m_df_type = DF_Type::int32_t; - n_unk_4->m_rdf_type = RDF_Type::int32_t; - n_unk_4->m_node_type = NodeType::Simple; - n_unk_4->m_address = base + offset; - n_unk_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_4); - - field_name = "unk_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8__T_unk_v40_2, field_name)); - auto n_unk_8 = new NodeSimple; - n_unk_8->m_field_name = field_name; - n_unk_8->m_df_type = DF_Type::int16_t; - n_unk_8->m_rdf_type = RDF_Type::int16_t; - n_unk_8->m_node_type = NodeType::Simple; - n_unk_8->m_address = base + offset; - n_unk_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_8); - - field_name = "unk_a"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8__T_unk_v40_2, field_name)); - auto n_unk_a = new NodeSimple; - n_unk_a->m_field_name = field_name; - n_unk_a->m_df_type = DF_Type::int16_t; - n_unk_a->m_rdf_type = RDF_Type::int16_t; - n_unk_a->m_node_type = NodeType::Simple; - n_unk_a->m_address = base + offset; - n_unk_a->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_a); - - field_name = "unk_c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8__T_unk_v40_2, field_name)); - auto n_unk_c = new NodeSimple; - n_unk_c->m_field_name = field_name; - n_unk_c->m_df_type = DF_Type::int32_t; - n_unk_c->m_rdf_type = RDF_Type::int32_t; - n_unk_c->m_node_type = NodeType::Simple; - n_unk_c->m_address = base + offset; - n_unk_c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_c); - - field_name = "unk_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8__T_unk_v40_2, field_name)); - auto n_unk_10 = new NodeSimple; - n_unk_10->m_field_name = field_name; - n_unk_10->m_df_type = DF_Type::int32_t; - n_unk_10->m_rdf_type = RDF_Type::int32_t; - n_unk_10->m_node_type = NodeType::Simple; - n_unk_10->m_address = base + offset; - n_unk_10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_10); - - field_name = "unk_14"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8__T_unk_v40_2, field_name)); - auto n_unk_14 = new NodeSimple; - n_unk_14->m_field_name = field_name; - n_unk_14->m_df_type = DF_Type::int16_t; - n_unk_14->m_rdf_type = RDF_Type::int16_t; - n_unk_14->m_node_type = NodeType::Simple; - n_unk_14->m_address = base + offset; - n_unk_14->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_14); - - field_name = "unk_16"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8__T_unk_v40_2, field_name)); - auto n_unk_16 = new NodeSimple; - n_unk_16->m_field_name = field_name; - n_unk_16->m_df_type = DF_Type::int16_t; - n_unk_16->m_rdf_type = RDF_Type::int16_t; - n_unk_16->m_node_type = NodeType::Simple; - n_unk_16->m_address = base + offset; - n_unk_16->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_16); - - field_name = "unk_18"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8__T_unk_v40_2, field_name)); - auto n_unk_18 = new NodeSimple; - n_unk_18->m_field_name = field_name; - n_unk_18->m_df_type = DF_Type::int32_t; - n_unk_18->m_rdf_type = RDF_Type::int32_t; - n_unk_18->m_node_type = NodeType::Simple; - n_unk_18->m_address = base + offset; - n_unk_18->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_18); - - field_name = "unk_1c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8__T_unk_v40_2, field_name)); - auto n_unk_1c = new NodeSimple; - n_unk_1c->m_field_name = field_name; - n_unk_1c->m_df_type = DF_Type::int32_t; - n_unk_1c->m_rdf_type = RDF_Type::int32_t; - n_unk_1c->m_node_type = NodeType::Simple; - n_unk_1c->m_address = base + offset; - n_unk_1c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_1c); - -} -void node_from_world_site_realization__T_unk_55e8(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk_55e8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8, field_name)); - auto n_unk_55e8 = new NodeSimple; - n_unk_55e8->m_field_name = field_name; - n_unk_55e8->m_df_type = DF_Type::int32_t; - n_unk_55e8->m_rdf_type = RDF_Type::int32_t; - n_unk_55e8->m_node_type = NodeType::Simple; - n_unk_55e8->m_address = base + offset; - n_unk_55e8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_55e8); - - field_name = "unk_55ec"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8, field_name)); - auto n_unk_55ec = new NodeSimple; - n_unk_55ec->m_field_name = field_name; - n_unk_55ec->m_df_type = DF_Type::int32_t; - n_unk_55ec->m_rdf_type = RDF_Type::int32_t; - n_unk_55ec->m_node_type = NodeType::Simple; - n_unk_55ec->m_address = base + offset; - n_unk_55ec->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_55ec); - - field_name = "unk_v40_1a"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8, field_name)); - auto n_unk_v40_1a = new NodeSimple; - n_unk_v40_1a->m_field_name = field_name; - n_unk_v40_1a->m_df_type = DF_Type::int32_t; - n_unk_v40_1a->m_rdf_type = RDF_Type::int32_t; - n_unk_v40_1a->m_node_type = NodeType::Simple; - n_unk_v40_1a->m_address = base + offset; - n_unk_v40_1a->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_1a); - - field_name = "unk_v40_1b"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8, field_name)); - auto n_unk_v40_1b = new NodeSimple; - n_unk_v40_1b->m_field_name = field_name; - n_unk_v40_1b->m_df_type = DF_Type::int32_t; - n_unk_v40_1b->m_rdf_type = RDF_Type::int32_t; - n_unk_v40_1b->m_node_type = NodeType::Simple; - n_unk_v40_1b->m_address = base + offset; - n_unk_v40_1b->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_1b); - - field_name = "unk_v40_1c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8, field_name)); - auto n_unk_v40_1c = new NodeSimple; - n_unk_v40_1c->m_field_name = field_name; - n_unk_v40_1c->m_df_type = DF_Type::int32_t; - n_unk_v40_1c->m_rdf_type = RDF_Type::int32_t; - n_unk_v40_1c->m_node_type = NodeType::Simple; - n_unk_v40_1c->m_address = base + offset; - n_unk_v40_1c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_1c); - - field_name = "unk_v40_1d"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8, field_name)); - auto n_unk_v40_1d = new NodeSimple; - n_unk_v40_1d->m_field_name = field_name; - n_unk_v40_1d->m_df_type = DF_Type::int32_t; - n_unk_v40_1d->m_rdf_type = RDF_Type::int32_t; - n_unk_v40_1d->m_node_type = NodeType::Simple; - n_unk_v40_1d->m_address = base + offset; - n_unk_v40_1d->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_1d); - - field_name = "unk_v40_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8, field_name)); - auto n_unk_v40_2 = new NodeVector; - n_unk_v40_2->m_field_name = field_name; - n_unk_v40_2->m_df_type = DF_Type::world_site_realization__T_unk_55e8__T_unk_v40_2; - n_unk_v40_2->m_rdf_type = RDF_Type::Vector; - n_unk_v40_2->m_node_type = NodeType::Vector; - n_unk_v40_2->m_addornements = "v*"; - n_unk_v40_2->m_address = base + offset; - n_unk_v40_2->m_parent = p_node_parent; - n_unk_v40_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_v40_2); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8, field_name)); - auto n_anon_1 = new NodeVector; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::Void; - n_anon_1->m_rdf_type = RDF_Type::Vector; - n_anon_1->m_node_type = NodeType::Vector; - n_anon_1->m_addornements = "v"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "unk_55f0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8, field_name)); - auto n_unk_55f0 = new NodeSimple; - n_unk_55f0->m_field_name = field_name; - n_unk_55f0->m_df_type = DF_Type::int32_t; - n_unk_55f0->m_rdf_type = RDF_Type::int32_t; - n_unk_55f0->m_node_type = NodeType::Simple; - n_unk_55f0->m_address = base + offset; - n_unk_55f0->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_55f0); - - field_name = "unk_55f4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8, field_name)); - auto n_unk_55f4 = new NodeSimple; - n_unk_55f4->m_field_name = field_name; - n_unk_55f4->m_df_type = DF_Type::int32_t; - n_unk_55f4->m_rdf_type = RDF_Type::int32_t; - n_unk_55f4->m_node_type = NodeType::Simple; - n_unk_55f4->m_address = base + offset; - n_unk_55f4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_55f4); - - field_name = "unk_55f8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8, field_name)); - auto n_unk_55f8 = new NodeSimple; - n_unk_55f8->m_field_name = field_name; - n_unk_55f8->m_df_type = DF_Type::int16_t; - n_unk_55f8->m_rdf_type = RDF_Type::int16_t; - n_unk_55f8->m_node_type = NodeType::Simple; - n_unk_55f8->m_address = base + offset; - n_unk_55f8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_55f8); - - field_name = "unk_55fa"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8, field_name)); - auto n_unk_55fa = new NodeSimple; - n_unk_55fa->m_field_name = field_name; - n_unk_55fa->m_df_type = DF_Type::int16_t; - n_unk_55fa->m_rdf_type = RDF_Type::int16_t; - n_unk_55fa->m_node_type = NodeType::Simple; - n_unk_55fa->m_address = base + offset; - n_unk_55fa->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_55fa); - - field_name = "unk_55fc"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8, field_name)); - auto n_unk_55fc = new NodeSimple; - n_unk_55fc->m_field_name = field_name; - n_unk_55fc->m_df_type = DF_Type::int32_t; - n_unk_55fc->m_rdf_type = RDF_Type::int32_t; - n_unk_55fc->m_node_type = NodeType::Simple; - n_unk_55fc->m_address = base + offset; - n_unk_55fc->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_55fc); - - field_name = "unk_5600"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8, field_name)); - auto n_unk_5600 = new NodeSimple; - n_unk_5600->m_field_name = field_name; - n_unk_5600->m_df_type = DF_Type::int32_t; - n_unk_5600->m_rdf_type = RDF_Type::int32_t; - n_unk_5600->m_node_type = NodeType::Simple; - n_unk_5600->m_address = base + offset; - n_unk_5600->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_5600); - - field_name = "unk_5604"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8, field_name)); - auto n_unk_5604 = new NodeSimple; - n_unk_5604->m_field_name = field_name; - n_unk_5604->m_df_type = DF_Type::int32_t; - n_unk_5604->m_rdf_type = RDF_Type::int32_t; - n_unk_5604->m_node_type = NodeType::Simple; - n_unk_5604->m_address = base + offset; - n_unk_5604->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_5604); - - field_name = "unk_5608"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8, field_name)); - auto n_unk_5608 = new NodeSimple; - n_unk_5608->m_field_name = field_name; - n_unk_5608->m_df_type = DF_Type::int32_t; - n_unk_5608->m_rdf_type = RDF_Type::int32_t; - n_unk_5608->m_node_type = NodeType::Simple; - n_unk_5608->m_address = base + offset; - n_unk_5608->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_5608); - - field_name = "unk_560c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8, field_name)); - auto n_unk_560c = new NodeSimple; - n_unk_560c->m_field_name = field_name; - n_unk_560c->m_df_type = DF_Type::int32_t; - n_unk_560c->m_rdf_type = RDF_Type::int32_t; - n_unk_560c->m_node_type = NodeType::Simple; - n_unk_560c->m_address = base + offset; - n_unk_560c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_560c); - - field_name = "unk_5610"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8, field_name)); - auto n_unk_5610 = new NodeSimple; - n_unk_5610->m_field_name = field_name; - n_unk_5610->m_df_type = DF_Type::int32_t; - n_unk_5610->m_rdf_type = RDF_Type::int32_t; - n_unk_5610->m_node_type = NodeType::Simple; - n_unk_5610->m_address = base + offset; - n_unk_5610->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_5610); - - field_name = "unk_5614"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8, field_name)); - auto n_unk_5614 = new NodeSimple; - n_unk_5614->m_field_name = field_name; - n_unk_5614->m_df_type = DF_Type::int32_t; - n_unk_5614->m_rdf_type = RDF_Type::int32_t; - n_unk_5614->m_node_type = NodeType::Simple; - n_unk_5614->m_address = base + offset; - n_unk_5614->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_5614); - - field_name = "unk_5618"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8, field_name)); - auto n_unk_5618 = new NodeVector; - n_unk_5618->m_field_name = field_name; - n_unk_5618->m_df_type = DF_Type::Void; - n_unk_5618->m_rdf_type = RDF_Type::Vector; - n_unk_5618->m_node_type = NodeType::Vector; - n_unk_5618->m_addornements = "v"; - n_unk_5618->m_address = base + offset; - n_unk_5618->m_parent = p_node_parent; - n_unk_5618->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_5618); - - field_name = "unk_5628"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8, field_name)); - auto n_unk_5628 = new NodeSimple; - n_unk_5628->m_field_name = field_name; - n_unk_5628->m_df_type = DF_Type::int32_t; - n_unk_5628->m_rdf_type = RDF_Type::int32_t; - n_unk_5628->m_node_type = NodeType::Simple; - n_unk_5628->m_address = base + offset; - n_unk_5628->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_5628); - - field_name = "unk_562c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8, field_name)); - auto n_unk_562c = new NodeSimple; - n_unk_562c->m_field_name = field_name; - n_unk_562c->m_df_type = DF_Type::int32_t; - n_unk_562c->m_rdf_type = RDF_Type::int32_t; - n_unk_562c->m_node_type = NodeType::Simple; - n_unk_562c->m_address = base + offset; - n_unk_562c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_562c); - - field_name = "unk_5630"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8, field_name)); - auto n_unk_5630 = new NodeSimple; - n_unk_5630->m_field_name = field_name; - n_unk_5630->m_df_type = DF_Type::int32_t; - n_unk_5630->m_rdf_type = RDF_Type::int32_t; - n_unk_5630->m_node_type = NodeType::Simple; - n_unk_5630->m_address = base + offset; - n_unk_5630->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_5630); - - field_name = "unk_5634"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8, field_name)); - auto n_unk_5634 = new NodeSimple; - n_unk_5634->m_field_name = field_name; - n_unk_5634->m_df_type = DF_Type::int32_t; - n_unk_5634->m_rdf_type = RDF_Type::int32_t; - n_unk_5634->m_node_type = NodeType::Simple; - n_unk_5634->m_address = base + offset; - n_unk_5634->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_5634); - - field_name = "unk_v40_3a"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8, field_name)); - auto n_unk_v40_3a = new NodeSimple; - n_unk_v40_3a->m_field_name = field_name; - n_unk_v40_3a->m_df_type = DF_Type::int32_t; - n_unk_v40_3a->m_rdf_type = RDF_Type::int32_t; - n_unk_v40_3a->m_node_type = NodeType::Simple; - n_unk_v40_3a->m_address = base + offset; - n_unk_v40_3a->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_3a); - - field_name = "unk_v40_3b"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8, field_name)); - auto n_unk_v40_3b = new NodeSimple; - n_unk_v40_3b->m_field_name = field_name; - n_unk_v40_3b->m_df_type = DF_Type::int32_t; - n_unk_v40_3b->m_rdf_type = RDF_Type::int32_t; - n_unk_v40_3b->m_node_type = NodeType::Simple; - n_unk_v40_3b->m_address = base + offset; - n_unk_v40_3b->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_3b); - - field_name = "unk_v40_3c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8, field_name)); - auto n_unk_v40_3c = new NodeSimple; - n_unk_v40_3c->m_field_name = field_name; - n_unk_v40_3c->m_df_type = DF_Type::int32_t; - n_unk_v40_3c->m_rdf_type = RDF_Type::int32_t; - n_unk_v40_3c->m_node_type = NodeType::Simple; - n_unk_v40_3c->m_address = base + offset; - n_unk_v40_3c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_3c); - - field_name = "unk_v40_3d"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8, field_name)); - auto n_unk_v40_3d = new NodeSimple; - n_unk_v40_3d->m_field_name = field_name; - n_unk_v40_3d->m_df_type = DF_Type::int32_t; - n_unk_v40_3d->m_rdf_type = RDF_Type::int32_t; - n_unk_v40_3d->m_node_type = NodeType::Simple; - n_unk_v40_3d->m_address = base + offset; - n_unk_v40_3d->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_3d); - -} -void node_from_world_site_realization__T_building_map(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_building_map, field_name)); - auto n_unk0 = new NodeSimple; - n_unk0->m_field_name = field_name; - n_unk0->m_df_type = DF_Type::int32_t; - n_unk0->m_rdf_type = RDF_Type::int32_t; - n_unk0->m_node_type = NodeType::Simple; - n_unk0->m_address = base + offset; - n_unk0->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk0); - - field_name = "buildings"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_building_map, field_name)); - auto n_buildings = new NodeVector; - n_buildings->m_field_name = field_name; - n_buildings->m_df_type = DF_Type::site_realization_building; - n_buildings->m_rdf_type = RDF_Type::Vector; - n_buildings->m_node_type = NodeType::Vector; - n_buildings->m_defined_in = "df.world-site.xml"; - n_buildings->m_addornements = "v*"; - n_buildings->m_address = base + offset; - n_buildings->m_parent = p_node_parent; - n_buildings->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_buildings); - - field_name = "unk4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_building_map, field_name)); - auto n_unk4 = new NodeSimple; - n_unk4->m_field_name = field_name; - n_unk4->m_df_type = DF_Type::int32_t; - n_unk4->m_rdf_type = RDF_Type::int32_t; - n_unk4->m_node_type = NodeType::Simple; - n_unk4->m_address = base + offset; - n_unk4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk4); - - field_name = "unk5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_building_map, field_name)); - auto n_unk5 = new NodeSimple; - n_unk5->m_field_name = field_name; - n_unk5->m_df_type = DF_Type::uint32_t; - n_unk5->m_rdf_type = RDF_Type::uint32_t; - n_unk5->m_node_type = NodeType::Simple; - n_unk5->m_address = base + offset; - n_unk5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk5); - - field_name = "unk6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_building_map, field_name)); - auto n_unk6 = new NodeVector; - n_unk6->m_field_name = field_name; - n_unk6->m_df_type = DF_Type::int32_t; - n_unk6->m_rdf_type = RDF_Type::Vector; - n_unk6->m_node_type = NodeType::Vector; - n_unk6->m_addornements = "v"; - n_unk6->m_address = base + offset; - n_unk6->m_parent = p_node_parent; - n_unk6->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk6); - -} -void node_from_world_site_realization__T_areas(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "type"; - auto n_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_areas, field_name)); - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::world_site_realization__T_areas__T_type; - n_type->m_rdf_type = RDF_Type::Enum; - n_type->m_node_type = NodeType::Enum; - n_type->m_base_type = DF_Type::int32_t; - n_type->m_enum_type = "world_site_realization::T_areas::T_type"; - n_type->m_address = base + offset; - n_type->m_first_value = 0; - n_type->m_last_value = 8; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - - field_name = "index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_areas, field_name)); - auto n_index = new NodeSimple; - n_index->m_field_name = field_name; - n_index->m_df_type = DF_Type::int32_t; - n_index->m_rdf_type = RDF_Type::int32_t; - n_index->m_node_type = NodeType::Simple; - n_index->m_address = base + offset; - n_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_index); - - field_name = "unk_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_areas, field_name)); - auto n_unk_8 = new NodeSimple; - n_unk_8->m_field_name = field_name; - n_unk_8->m_df_type = DF_Type::int32_t; - n_unk_8->m_rdf_type = RDF_Type::int32_t; - n_unk_8->m_node_type = NodeType::Simple; - n_unk_8->m_address = base + offset; - n_unk_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_8); - - field_name = "min_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_areas, field_name)); - auto n_min_x = new NodeSimple; - n_min_x->m_field_name = field_name; - n_min_x->m_df_type = DF_Type::int32_t; - n_min_x->m_rdf_type = RDF_Type::int32_t; - n_min_x->m_node_type = NodeType::Simple; - n_min_x->m_address = base + offset; - n_min_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_min_x); - - field_name = "max_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_areas, field_name)); - auto n_max_x = new NodeSimple; - n_max_x->m_field_name = field_name; - n_max_x->m_df_type = DF_Type::int32_t; - n_max_x->m_rdf_type = RDF_Type::int32_t; - n_max_x->m_node_type = NodeType::Simple; - n_max_x->m_address = base + offset; - n_max_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_max_x); - - field_name = "min_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_areas, field_name)); - auto n_min_y = new NodeSimple; - n_min_y->m_field_name = field_name; - n_min_y->m_df_type = DF_Type::int32_t; - n_min_y->m_rdf_type = RDF_Type::int32_t; - n_min_y->m_node_type = NodeType::Simple; - n_min_y->m_address = base + offset; - n_min_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_min_y); - - field_name = "max_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_areas, field_name)); - auto n_max_y = new NodeSimple; - n_max_y->m_field_name = field_name; - n_max_y->m_df_type = DF_Type::int32_t; - n_max_y->m_rdf_type = RDF_Type::int32_t; - n_max_y->m_node_type = NodeType::Simple; - n_max_y->m_address = base + offset; - n_max_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_max_y); - - field_name = "unk_1c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_areas, field_name)); - auto n_unk_1c = new NodeSimple; - n_unk_1c->m_field_name = field_name; - n_unk_1c->m_df_type = DF_Type::int32_t; - n_unk_1c->m_rdf_type = RDF_Type::int32_t; - n_unk_1c->m_node_type = NodeType::Simple; - n_unk_1c->m_address = base + offset; - n_unk_1c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_1c); - - field_name = "unk_20"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_areas, field_name)); - auto n_unk_20 = new NodeSimple; - n_unk_20->m_field_name = field_name; - n_unk_20->m_df_type = DF_Type::int32_t; - n_unk_20->m_rdf_type = RDF_Type::int32_t; - n_unk_20->m_node_type = NodeType::Simple; - n_unk_20->m_address = base + offset; - n_unk_20->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_20); - -} -void node_from_world_site_realization__T_unk_193bc__T_unk_8(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_193bc__T_unk_8, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_193bc__T_unk_8, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_193bc__T_unk_8, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_193bc__T_unk_8, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_193bc__T_unk_8, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_193bc__T_unk_8, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_193bc__T_unk_8, field_name)); - auto n_anon_7 = new NodeSimple; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::int32_t; - n_anon_7->m_rdf_type = RDF_Type::int32_t; - n_anon_7->m_node_type = NodeType::Simple; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_7); - - field_name = "anon_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_193bc__T_unk_8, field_name)); - auto n_anon_8 = new NodeSimple; - n_anon_8->m_field_name = field_name; - n_anon_8->m_df_type = DF_Type::int32_t; - n_anon_8->m_rdf_type = RDF_Type::int32_t; - n_anon_8->m_node_type = NodeType::Simple; - n_anon_8->m_address = base + offset; - n_anon_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_8); - - field_name = "anon_9"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_193bc__T_unk_8, field_name)); - auto n_anon_9 = new NodeSimple; - n_anon_9->m_field_name = field_name; - n_anon_9->m_df_type = DF_Type::int32_t; - n_anon_9->m_rdf_type = RDF_Type::int32_t; - n_anon_9->m_node_type = NodeType::Simple; - n_anon_9->m_address = base + offset; - n_anon_9->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_9); - -} -void node_from_world_site_realization__T_unk_193bc(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_193bc, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_193bc, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "unk_8"; - auto n_unk_8 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_193bc, field_name)); - n_unk_8->m_field_name = field_name; - n_unk_8->m_df_type = DF_Type::world_site_realization__T_unk_193bc__T_unk_8; - n_unk_8->m_rdf_type = RDF_Type::Compound; - n_unk_8->m_node_type = NodeType::Compound; - n_unk_8->m_address = base + offset; - n_unk_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_8); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_193bc, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_193bc, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int16_t; - n_anon_4->m_rdf_type = RDF_Type::int16_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_193bc, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int16_t; - n_anon_5->m_rdf_type = RDF_Type::int16_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_193bc, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int16_t; - n_anon_6->m_rdf_type = RDF_Type::int16_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_193bc, field_name)); - auto n_anon_7 = new NodeSimple; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::int16_t; - n_anon_7->m_rdf_type = RDF_Type::int16_t; - n_anon_7->m_node_type = NodeType::Simple; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_7); - - field_name = "anon_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_193bc, field_name)); - auto n_anon_8 = new NodeSimple; - n_anon_8->m_field_name = field_name; - n_anon_8->m_df_type = DF_Type::int16_t; - n_anon_8->m_rdf_type = RDF_Type::int16_t; - n_anon_8->m_node_type = NodeType::Simple; - n_anon_8->m_address = base + offset; - n_anon_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_8); - - field_name = "anon_9"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_193bc, field_name)); - auto n_anon_9 = new NodeSimple; - n_anon_9->m_field_name = field_name; - n_anon_9->m_df_type = DF_Type::int16_t; - n_anon_9->m_rdf_type = RDF_Type::int16_t; - n_anon_9->m_node_type = NodeType::Simple; - n_anon_9->m_address = base + offset; - n_anon_9->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_9); - - field_name = "anon_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_193bc, field_name)); - auto n_anon_10 = new NodeSimple; - n_anon_10->m_field_name = field_name; - n_anon_10->m_df_type = DF_Type::int32_t; - n_anon_10->m_rdf_type = RDF_Type::int32_t; - n_anon_10->m_node_type = NodeType::Simple; - n_anon_10->m_address = base + offset; - n_anon_10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_10); - - field_name = "anon_11"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_193bc, field_name)); - auto n_anon_11 = new NodeSimple; - n_anon_11->m_field_name = field_name; - n_anon_11->m_df_type = DF_Type::int32_t; - n_anon_11->m_rdf_type = RDF_Type::int32_t; - n_anon_11->m_node_type = NodeType::Simple; - n_anon_11->m_address = base + offset; - n_anon_11->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_11); - - field_name = "anon_12"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_193bc, field_name)); - auto n_anon_12 = new NodeSimple; - n_anon_12->m_field_name = field_name; - n_anon_12->m_df_type = DF_Type::int32_t; - n_anon_12->m_rdf_type = RDF_Type::int32_t; - n_anon_12->m_node_type = NodeType::Simple; - n_anon_12->m_address = base + offset; - n_anon_12->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_12); - - field_name = "anon_13"; - auto n_anon_13 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_193bc, field_name)); - n_anon_13->m_field_name = field_name; - n_anon_13->m_df_type = DF_Type::int32_t; - n_anon_13->m_rdf_type = RDF_Type::Array; - n_anon_13->m_node_type = NodeType::Array; - n_anon_13->m_addornements = "[20"; - n_anon_13->m_array_size = 20; - n_anon_13->m_address = base + offset; - n_anon_13->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_13); - - field_name = "anon_14"; - auto n_anon_14 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_193bc, field_name)); - n_anon_14->m_field_name = field_name; - n_anon_14->m_df_type = DF_Type::int32_t; - n_anon_14->m_rdf_type = RDF_Type::Array; - n_anon_14->m_node_type = NodeType::Array; - n_anon_14->m_addornements = "[20"; - n_anon_14->m_array_size = 20; - n_anon_14->m_address = base + offset; - n_anon_14->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_14); - - field_name = "anon_15"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_193bc, field_name)); - auto n_anon_15 = new NodeSimple; - n_anon_15->m_field_name = field_name; - n_anon_15->m_df_type = DF_Type::int16_t; - n_anon_15->m_rdf_type = RDF_Type::int16_t; - n_anon_15->m_node_type = NodeType::Simple; - n_anon_15->m_address = base + offset; - n_anon_15->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_15); - - field_name = "anon_16"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_193bc, field_name)); - auto n_anon_16 = new NodeSimple; - n_anon_16->m_field_name = field_name; - n_anon_16->m_df_type = DF_Type::int16_t; - n_anon_16->m_rdf_type = RDF_Type::int16_t; - n_anon_16->m_node_type = NodeType::Simple; - n_anon_16->m_address = base + offset; - n_anon_16->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_16); - - field_name = "anon_17"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_193bc, field_name)); - auto n_anon_17 = new NodeSimple; - n_anon_17->m_field_name = field_name; - n_anon_17->m_df_type = DF_Type::int32_t; - n_anon_17->m_rdf_type = RDF_Type::int32_t; - n_anon_17->m_node_type = NodeType::Simple; - n_anon_17->m_address = base + offset; - n_anon_17->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_17); - - field_name = "anon_18"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_193bc, field_name)); - auto n_anon_18 = new NodeSimple; - n_anon_18->m_field_name = field_name; - n_anon_18->m_df_type = DF_Type::int32_t; - n_anon_18->m_rdf_type = RDF_Type::int32_t; - n_anon_18->m_node_type = NodeType::Simple; - n_anon_18->m_address = base + offset; - n_anon_18->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_18); - -} -void node_from_world_site_realization(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "buildings"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); - auto n_buildings = new NodeVector; - n_buildings->m_field_name = field_name; - n_buildings->m_df_type = DF_Type::site_realization_building; - n_buildings->m_rdf_type = RDF_Type::Vector; - n_buildings->m_node_type = NodeType::Vector; - n_buildings->m_defined_in = "df.world-site.xml"; - n_buildings->m_addornements = "v*"; - n_buildings->m_address = base + offset; - n_buildings->m_parent = p_node_parent; - n_buildings->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_buildings); - - field_name = "num_buildings"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); - auto n_num_buildings = new NodeSimple; - n_num_buildings->m_field_name = field_name; - n_num_buildings->m_df_type = DF_Type::int32_t; - n_num_buildings->m_rdf_type = RDF_Type::int32_t; - n_num_buildings->m_node_type = NodeType::Simple; - n_num_buildings->m_address = base + offset; - n_num_buildings->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_num_buildings); - - field_name = "unk_14"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); - auto n_unk_14 = new NodeSimple; - n_unk_14->m_field_name = field_name; - n_unk_14->m_df_type = DF_Type::int32_t; - n_unk_14->m_rdf_type = RDF_Type::int32_t; - n_unk_14->m_node_type = NodeType::Simple; - n_unk_14->m_address = base + offset; - n_unk_14->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_14); - - field_name = "num_areas"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); - auto n_num_areas = new NodeSimple; - n_num_areas->m_field_name = field_name; - n_num_areas->m_df_type = DF_Type::int32_t; - n_num_areas->m_rdf_type = RDF_Type::int32_t; - n_num_areas->m_node_type = NodeType::Simple; - n_num_areas->m_address = base + offset; - n_num_areas->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_num_areas); - - field_name = "mini_rivers"; - auto n_mini_rivers = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); - n_mini_rivers->m_field_name = field_name; - n_mini_rivers->m_df_type = DF_Type::int8_t; - n_mini_rivers->m_rdf_type = RDF_Type::Array; - n_mini_rivers->m_node_type = NodeType::Array; - n_mini_rivers->m_addornements = "[17[17"; - n_mini_rivers->m_array_size = 17; - n_mini_rivers->m_address = base + offset; - n_mini_rivers->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mini_rivers); - - field_name = "mini_tiles"; - auto n_mini_tiles = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); - n_mini_tiles->m_field_name = field_name; - n_mini_tiles->m_df_type = DF_Type::uint8_t; - n_mini_tiles->m_rdf_type = RDF_Type::Array; - n_mini_tiles->m_node_type = NodeType::Array; - n_mini_tiles->m_addornements = "[17[17"; - n_mini_tiles->m_array_size = 17; - n_mini_tiles->m_address = base + offset; - n_mini_tiles->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mini_tiles); - - field_name = "mini_colors"; - auto n_mini_colors = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); - n_mini_colors->m_field_name = field_name; - n_mini_colors->m_df_type = DF_Type::int16_t; - n_mini_colors->m_rdf_type = RDF_Type::Array; - n_mini_colors->m_node_type = NodeType::Array; - n_mini_colors->m_addornements = "[17[17"; - n_mini_colors->m_array_size = 17; - n_mini_colors->m_address = base + offset; - n_mini_colors->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mini_colors); - - field_name = "road_map"; - auto n_road_map = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); - n_road_map->m_field_name = field_name; - n_road_map->m_df_type = DF_Type::site_realization_crossroads; - n_road_map->m_rdf_type = RDF_Type::Array; - n_road_map->m_node_type = NodeType::Array; - n_road_map->m_defined_in = "df.world-site.xml"; - n_road_map->m_addornements = "[51[51"; - n_road_map->m_array_size = 51; - n_road_map->m_address = base + offset; - n_road_map->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_road_map); - - field_name = "river_map"; - auto n_river_map = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); - n_river_map->m_field_name = field_name; - n_river_map->m_df_type = DF_Type::world_site_realization__T_river_map; - n_river_map->m_rdf_type = RDF_Type::Array; - n_river_map->m_node_type = NodeType::Array; - n_river_map->m_addornements = "[51[51*"; - n_river_map->m_array_size = 51; - n_river_map->m_address = base + offset; - n_river_map->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_river_map); - - field_name = "unk_55e8"; - auto n_unk_55e8 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); - n_unk_55e8->m_field_name = field_name; - n_unk_55e8->m_df_type = DF_Type::world_site_realization__T_unk_55e8; - n_unk_55e8->m_rdf_type = RDF_Type::Array; - n_unk_55e8->m_node_type = NodeType::Array; - n_unk_55e8->m_addornements = "[17[17"; - n_unk_55e8->m_array_size = 17; - n_unk_55e8->m_address = base + offset; - n_unk_55e8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_55e8); - - field_name = "building_map"; - auto n_building_map = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); - n_building_map->m_field_name = field_name; - n_building_map->m_df_type = DF_Type::world_site_realization__T_building_map; - n_building_map->m_rdf_type = RDF_Type::Array; - n_building_map->m_node_type = NodeType::Array; - n_building_map->m_addornements = "[17[17"; - n_building_map->m_array_size = 17; - n_building_map->m_address = base + offset; - n_building_map->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_building_map); - - field_name = "flags_map"; - auto n_flags_map = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); - n_flags_map->m_field_name = field_name; - n_flags_map->m_df_type = DF_Type::uint32_t; - n_flags_map->m_rdf_type = RDF_Type::Array; - n_flags_map->m_node_type = NodeType::Array; - n_flags_map->m_addornements = "[51[51"; - n_flags_map->m_array_size = 51; - n_flags_map->m_address = base + offset; - n_flags_map->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags_map); - - field_name = "zoom_tiles"; - auto n_zoom_tiles = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); - n_zoom_tiles->m_field_name = field_name; - n_zoom_tiles->m_df_type = DF_Type::uint8_t; - n_zoom_tiles->m_rdf_type = RDF_Type::Array; - n_zoom_tiles->m_node_type = NodeType::Array; - n_zoom_tiles->m_addornements = "[51[51"; - n_zoom_tiles->m_array_size = 51; - n_zoom_tiles->m_address = base + offset; - n_zoom_tiles->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_zoom_tiles); - - field_name = "zoom_colors"; - auto n_zoom_colors = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); - n_zoom_colors->m_field_name = field_name; - n_zoom_colors->m_df_type = DF_Type::int16_t; - n_zoom_colors->m_rdf_type = RDF_Type::Array; - n_zoom_colors->m_node_type = NodeType::Array; - n_zoom_colors->m_addornements = "[51[51"; - n_zoom_colors->m_array_size = 51; - n_zoom_colors->m_address = base + offset; - n_zoom_colors->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_zoom_colors); - - field_name = "zoom_movemask"; - auto n_zoom_movemask = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); - n_zoom_movemask->m_field_name = field_name; - n_zoom_movemask->m_df_type = DF_Type::int8_t; - n_zoom_movemask->m_rdf_type = RDF_Type::Array; - n_zoom_movemask->m_node_type = NodeType::Array; - n_zoom_movemask->m_addornements = "[51[51"; - n_zoom_movemask->m_array_size = 51; - n_zoom_movemask->m_address = base + offset; - n_zoom_movemask->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_zoom_movemask); - - field_name = "area_map"; - auto n_area_map = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); - n_area_map->m_field_name = field_name; - n_area_map->m_df_type = DF_Type::int32_t; - n_area_map->m_rdf_type = RDF_Type::Array; - n_area_map->m_node_type = NodeType::Array; - n_area_map->m_addornements = "[52[52"; - n_area_map->m_array_size = 52; - n_area_map->m_address = base + offset; - n_area_map->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_area_map); - - field_name = "areas"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); - auto n_areas = new NodeVector; - n_areas->m_field_name = field_name; - n_areas->m_df_type = DF_Type::world_site_realization__T_areas; - n_areas->m_rdf_type = RDF_Type::Vector; - n_areas->m_node_type = NodeType::Vector; - n_areas->m_addornements = "v*"; - n_areas->m_address = base + offset; - n_areas->m_parent = p_node_parent; - n_areas->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_areas); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "army_controller_pos_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); - auto n_army_controller_pos_x = new NodeSimple; - n_army_controller_pos_x->m_field_name = field_name; - n_army_controller_pos_x->m_df_type = DF_Type::int32_t; - n_army_controller_pos_x->m_rdf_type = RDF_Type::int32_t; - n_army_controller_pos_x->m_node_type = NodeType::Simple; - n_army_controller_pos_x->m_address = base + offset; - n_army_controller_pos_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_army_controller_pos_x); - - field_name = "army_controller_pos_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); - auto n_army_controller_pos_y = new NodeSimple; - n_army_controller_pos_y->m_field_name = field_name; - n_army_controller_pos_y->m_df_type = DF_Type::int32_t; - n_army_controller_pos_y->m_rdf_type = RDF_Type::int32_t; - n_army_controller_pos_y->m_node_type = NodeType::Simple; - n_army_controller_pos_y->m_address = base + offset; - n_army_controller_pos_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_army_controller_pos_y); - - field_name = "unk_193bc"; - auto n_unk_193bc = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); - n_unk_193bc->m_field_name = field_name; - n_unk_193bc->m_df_type = DF_Type::world_site_realization__T_unk_193bc; - n_unk_193bc->m_rdf_type = RDF_Type::Array; - n_unk_193bc->m_node_type = NodeType::Array; - n_unk_193bc->m_addornements = "[500"; - n_unk_193bc->m_array_size = 500; - n_unk_193bc->m_address = base + offset; - n_unk_193bc->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_193bc); - - field_name = "num_unk_193bc"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); - auto n_num_unk_193bc = new NodeSimple; - n_num_unk_193bc->m_field_name = field_name; - n_num_unk_193bc->m_df_type = DF_Type::int32_t; - n_num_unk_193bc->m_rdf_type = RDF_Type::int32_t; - n_num_unk_193bc->m_node_type = NodeType::Simple; - n_num_unk_193bc->m_address = base + offset; - n_num_unk_193bc->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_num_unk_193bc); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "building_well"; - auto n_building_well = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); - n_building_well->m_field_name = field_name; - n_building_well->m_df_type = DF_Type::site_realization_building; - n_building_well->m_rdf_type = RDF_Type::Array; - n_building_well->m_node_type = NodeType::Array; - n_building_well->m_defined_in = "df.world-site.xml"; - n_building_well->m_addornements = "[20"; - n_building_well->m_array_size = 20; - n_building_well->m_address = base + offset; - n_building_well->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_building_well); - - field_name = "num_building_well"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); - auto n_num_building_well = new NodeSimple; - n_num_building_well->m_field_name = field_name; - n_num_building_well->m_df_type = DF_Type::int32_t; - n_num_building_well->m_rdf_type = RDF_Type::int32_t; - n_num_building_well->m_node_type = NodeType::Simple; - n_num_building_well->m_address = base + offset; - n_num_building_well->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_num_building_well); - - field_name = "building_temple"; - auto n_building_temple = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); - n_building_temple->m_field_name = field_name; - n_building_temple->m_df_type = DF_Type::site_realization_building; - n_building_temple->m_rdf_type = RDF_Type::Array; - n_building_temple->m_node_type = NodeType::Array; - n_building_temple->m_defined_in = "df.world-site.xml"; - n_building_temple->m_addornements = "[20"; - n_building_temple->m_array_size = 20; - n_building_temple->m_address = base + offset; - n_building_temple->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_building_temple); - - field_name = "num_building_temple"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); - auto n_num_building_temple = new NodeSimple; - n_num_building_temple->m_field_name = field_name; - n_num_building_temple->m_df_type = DF_Type::int32_t; - n_num_building_temple->m_rdf_type = RDF_Type::int32_t; - n_num_building_temple->m_node_type = NodeType::Simple; - n_num_building_temple->m_address = base + offset; - n_num_building_temple->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_num_building_temple); - - field_name = "building_type22"; - auto n_building_type22 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); - n_building_type22->m_field_name = field_name; - n_building_type22->m_df_type = DF_Type::site_realization_building; - n_building_type22->m_rdf_type = RDF_Type::Array; - n_building_type22->m_node_type = NodeType::Array; - n_building_type22->m_defined_in = "df.world-site.xml"; - n_building_type22->m_addornements = "[20"; - n_building_type22->m_array_size = 20; - n_building_type22->m_address = base + offset; - n_building_type22->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_building_type22); - - field_name = "num_building_type22"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); - auto n_num_building_type22 = new NodeSimple; - n_num_building_type22->m_field_name = field_name; - n_num_building_type22->m_df_type = DF_Type::int32_t; - n_num_building_type22->m_rdf_type = RDF_Type::int32_t; - n_num_building_type22->m_node_type = NodeType::Simple; - n_num_building_type22->m_address = base + offset; - n_num_building_type22->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_num_building_type22); - - field_name = "building_type21"; - auto n_building_type21 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); - n_building_type21->m_field_name = field_name; - n_building_type21->m_df_type = DF_Type::site_realization_building; - n_building_type21->m_rdf_type = RDF_Type::Array; - n_building_type21->m_node_type = NodeType::Array; - n_building_type21->m_defined_in = "df.world-site.xml"; - n_building_type21->m_addornements = "[20"; - n_building_type21->m_array_size = 20; - n_building_type21->m_address = base + offset; - n_building_type21->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_building_type21); - - field_name = "num_building_type21"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); - auto n_num_building_type21 = new NodeSimple; - n_num_building_type21->m_field_name = field_name; - n_num_building_type21->m_df_type = DF_Type::int32_t; - n_num_building_type21->m_rdf_type = RDF_Type::int32_t; - n_num_building_type21->m_node_type = NodeType::Simple; - n_num_building_type21->m_address = base + offset; - n_num_building_type21->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_num_building_type21); - - field_name = "unk_wsr_vector"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); - auto n_unk_wsr_vector = new NodeVector; - n_unk_wsr_vector->m_field_name = field_name; - n_unk_wsr_vector->m_df_type = DF_Type::Void; - n_unk_wsr_vector->m_rdf_type = RDF_Type::Vector; - n_unk_wsr_vector->m_node_type = NodeType::Vector; - n_unk_wsr_vector->m_addornements = "v"; - n_unk_wsr_vector->m_address = base + offset; - n_unk_wsr_vector->m_parent = p_node_parent; - n_unk_wsr_vector->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_wsr_vector); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); - auto n_anon_4= new NodePadding; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::Padding; - n_anon_4->m_rdf_type = RDF_Type::Padding; - n_anon_4->m_node_type = NodeType::Padding; - n_anon_4->m_address = base + offset; - n_anon_4->m_size = 68; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); - auto n_anon_7 = new NodeSimple; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::int32_t; - n_anon_7->m_rdf_type = RDF_Type::int32_t; - n_anon_7->m_node_type = NodeType::Simple; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_7); - - field_name = "anon_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); - auto n_anon_8 = new NodeSimple; - n_anon_8->m_field_name = field_name; - n_anon_8->m_df_type = DF_Type::int32_t; - n_anon_8->m_rdf_type = RDF_Type::int32_t; - n_anon_8->m_node_type = NodeType::Simple; - n_anon_8->m_address = base + offset; - n_anon_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_8); - -} -void node_from_site_realization_building_info_castle_wallst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::site_realization_building_infost; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_site_realization_building_infost(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "length"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_castle_wallst, field_name)); - auto n_length = new NodeSimple; - n_length->m_field_name = field_name; - n_length->m_df_type = DF_Type::int32_t; - n_length->m_rdf_type = RDF_Type::int32_t; - n_length->m_node_type = NodeType::Simple; - n_length->m_address = base + offset; - n_length->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_length); - - field_name = "door_pos"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_castle_wallst, field_name)); - auto n_door_pos = new NodeSimple; - n_door_pos->m_field_name = field_name; - n_door_pos->m_df_type = DF_Type::int32_t; - n_door_pos->m_rdf_type = RDF_Type::int32_t; - n_door_pos->m_node_type = NodeType::Simple; - n_door_pos->m_address = base + offset; - n_door_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_door_pos); - - field_name = "start_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_castle_wallst, field_name)); - auto n_start_x = new NodeSimple; - n_start_x->m_field_name = field_name; - n_start_x->m_df_type = DF_Type::int32_t; - n_start_x->m_rdf_type = RDF_Type::int32_t; - n_start_x->m_node_type = NodeType::Simple; - n_start_x->m_address = base + offset; - n_start_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_start_x); - - field_name = "start_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_castle_wallst, field_name)); - auto n_start_y = new NodeSimple; - n_start_y->m_field_name = field_name; - n_start_y->m_df_type = DF_Type::int32_t; - n_start_y->m_rdf_type = RDF_Type::int32_t; - n_start_y->m_node_type = NodeType::Simple; - n_start_y->m_address = base + offset; - n_start_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_start_y); - - field_name = "start_z"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_castle_wallst, field_name)); - auto n_start_z = new NodeSimple; - n_start_z->m_field_name = field_name; - n_start_z->m_df_type = DF_Type::int32_t; - n_start_z->m_rdf_type = RDF_Type::int32_t; - n_start_z->m_node_type = NodeType::Simple; - n_start_z->m_address = base + offset; - n_start_z->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_start_z); - - field_name = "end_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_castle_wallst, field_name)); - auto n_end_x = new NodeSimple; - n_end_x->m_field_name = field_name; - n_end_x->m_df_type = DF_Type::int32_t; - n_end_x->m_rdf_type = RDF_Type::int32_t; - n_end_x->m_node_type = NodeType::Simple; - n_end_x->m_address = base + offset; - n_end_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_end_x); - - field_name = "end_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_castle_wallst, field_name)); - auto n_end_y = new NodeSimple; - n_end_y->m_field_name = field_name; - n_end_y->m_df_type = DF_Type::int32_t; - n_end_y->m_rdf_type = RDF_Type::int32_t; - n_end_y->m_node_type = NodeType::Simple; - n_end_y->m_address = base + offset; - n_end_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_end_y); - - field_name = "end_z"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_castle_wallst, field_name)); - auto n_end_z = new NodeSimple; - n_end_z->m_field_name = field_name; - n_end_z->m_df_type = DF_Type::int32_t; - n_end_z->m_rdf_type = RDF_Type::int32_t; - n_end_z->m_node_type = NodeType::Simple; - n_end_z->m_address = base + offset; - n_end_z->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_end_z); - - field_name = "wall_item"; - auto n_wall_item = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_castle_wallst, field_name)); - n_wall_item->m_field_name = field_name; - n_wall_item->m_df_type = DF_Type::site_building_item; - n_wall_item->m_rdf_type = RDF_Type::Struct; - n_wall_item->m_node_type = NodeType::Compound; - n_wall_item->m_address = base + offset; - n_wall_item->m_defined_in = "df.world-site.xml"; - n_wall_item->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_wall_item); - - field_name = "door_item"; - auto n_door_item = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_castle_wallst, field_name)); - n_door_item->m_field_name = field_name; - n_door_item->m_df_type = DF_Type::site_building_item; - n_door_item->m_rdf_type = RDF_Type::Struct; - n_door_item->m_node_type = NodeType::Compound; - n_door_item->m_address = base + offset; - n_door_item->m_defined_in = "df.world-site.xml"; - n_door_item->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_door_item); - -} -void node_from_site_realization_building_info_castle_towerst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::site_realization_building_infost; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_site_realization_building_infost(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "roof_z"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_castle_towerst, field_name)); - auto n_roof_z = new NodeSimple; - n_roof_z->m_field_name = field_name; - n_roof_z->m_df_type = DF_Type::int32_t; - n_roof_z->m_rdf_type = RDF_Type::int32_t; - n_roof_z->m_node_type = NodeType::Simple; - n_roof_z->m_address = base + offset; - n_roof_z->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_roof_z); - - field_name = "base_z"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_castle_towerst, field_name)); - auto n_base_z = new NodeSimple; - n_base_z->m_field_name = field_name; - n_base_z->m_df_type = DF_Type::int32_t; - n_base_z->m_rdf_type = RDF_Type::int32_t; - n_base_z->m_node_type = NodeType::Simple; - n_base_z->m_address = base + offset; - n_base_z->m_comment = "can be below ground, but not above ground"; - n_base_z->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_base_z); - - field_name = "door_n_elevation"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_castle_towerst, field_name)); - auto n_door_n_elevation = new NodeSimple; - n_door_n_elevation->m_field_name = field_name; - n_door_n_elevation->m_df_type = DF_Type::int32_t; - n_door_n_elevation->m_rdf_type = RDF_Type::int32_t; - n_door_n_elevation->m_node_type = NodeType::Simple; - n_door_n_elevation->m_address = base + offset; - n_door_n_elevation->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_door_n_elevation); - - field_name = "door_s_elevation"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_castle_towerst, field_name)); - auto n_door_s_elevation = new NodeSimple; - n_door_s_elevation->m_field_name = field_name; - n_door_s_elevation->m_df_type = DF_Type::int32_t; - n_door_s_elevation->m_rdf_type = RDF_Type::int32_t; - n_door_s_elevation->m_node_type = NodeType::Simple; - n_door_s_elevation->m_address = base + offset; - n_door_s_elevation->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_door_s_elevation); - - field_name = "door_e_elevation"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_castle_towerst, field_name)); - auto n_door_e_elevation = new NodeSimple; - n_door_e_elevation->m_field_name = field_name; - n_door_e_elevation->m_df_type = DF_Type::int32_t; - n_door_e_elevation->m_rdf_type = RDF_Type::int32_t; - n_door_e_elevation->m_node_type = NodeType::Simple; - n_door_e_elevation->m_address = base + offset; - n_door_e_elevation->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_door_e_elevation); - - field_name = "door_w_elevation"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_castle_towerst, field_name)); - auto n_door_w_elevation = new NodeSimple; - n_door_w_elevation->m_field_name = field_name; - n_door_w_elevation->m_df_type = DF_Type::int32_t; - n_door_w_elevation->m_rdf_type = RDF_Type::int32_t; - n_door_w_elevation->m_node_type = NodeType::Simple; - n_door_w_elevation->m_address = base + offset; - n_door_w_elevation->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_door_w_elevation); - - field_name = "door_item"; - auto n_door_item = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_castle_towerst, field_name)); - n_door_item->m_field_name = field_name; - n_door_item->m_df_type = DF_Type::site_building_item; - n_door_item->m_rdf_type = RDF_Type::Struct; - n_door_item->m_node_type = NodeType::Compound; - n_door_item->m_address = base + offset; - n_door_item->m_defined_in = "df.world-site.xml"; - n_door_item->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_door_item); - - field_name = "wall_item"; - auto n_wall_item = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_castle_towerst, field_name)); - n_wall_item->m_field_name = field_name; - n_wall_item->m_df_type = DF_Type::site_building_item; - n_wall_item->m_rdf_type = RDF_Type::Struct; - n_wall_item->m_node_type = NodeType::Compound; - n_wall_item->m_address = base + offset; - n_wall_item->m_defined_in = "df.world-site.xml"; - n_wall_item->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_wall_item); - - field_name = "shape"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_castle_towerst, field_name)); - auto n_shape = new NodeBitfield; - n_shape->m_field_name = field_name; - n_shape->m_df_type = DF_Type::tower_shape; - n_shape->m_rdf_type = RDF_Type::Bitfield; - n_shape->m_node_type = NodeType::Bitfield; - n_shape->m_address = base + offset; - n_shape->m_defined_in = "df.world-site.xml"; - n_shape->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_shape); - - field_name = "unk_40"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_castle_towerst, field_name)); - auto n_unk_40 = new NodeSimple; - n_unk_40->m_field_name = field_name; - n_unk_40->m_df_type = DF_Type::int32_t; - n_unk_40->m_rdf_type = RDF_Type::int32_t; - n_unk_40->m_node_type = NodeType::Simple; - n_unk_40->m_address = base + offset; - n_unk_40->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_40); - - field_name = "unk_44"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_castle_towerst, field_name)); - auto n_unk_44 = new NodeSimple; - n_unk_44->m_field_name = field_name; - n_unk_44->m_df_type = DF_Type::int32_t; - n_unk_44->m_rdf_type = RDF_Type::int32_t; - n_unk_44->m_node_type = NodeType::Simple; - n_unk_44->m_address = base + offset; - n_unk_44->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_44); - -} -void node_from_site_realization_building_info_shop_housest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::site_realization_building_infost; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_site_realization_building_infost(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "type"; - auto n_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_shop_housest, field_name)); - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::site_shop_type; - n_type->m_rdf_type = RDF_Type::Enum; - n_type->m_node_type = NodeType::Enum; - n_type->m_base_type = DF_Type::int32_t; - n_type->m_enum_type = "site_shop_type"; - n_type->m_address = base + offset; - n_type->m_defined_in = "df.world-site.xml"; - n_type->m_first_value = 0; - n_type->m_last_value = 25; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - - field_name = "name"; - auto n_name = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_shop_housest, field_name)); - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::language_name; - n_name->m_rdf_type = RDF_Type::Struct; - n_name->m_node_type = NodeType::Compound; - n_name->m_address = base + offset; - n_name->m_defined_in = "df.language.xml"; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - -} -void node_from_site_realization_building_info_market_squarest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::site_realization_building_infost; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_site_realization_building_infost(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "type"; - auto n_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_market_squarest, field_name)); - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::site_shop_type; - n_type->m_rdf_type = RDF_Type::Enum; - n_type->m_node_type = NodeType::Enum; - n_type->m_base_type = DF_Type::int32_t; - n_type->m_enum_type = "site_shop_type"; - n_type->m_address = base + offset; - n_type->m_defined_in = "df.world-site.xml"; - n_type->m_first_value = 0; - n_type->m_last_value = 25; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - -} -void node_from_site_realization_building_info_trenchesst__T_spokes(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "mound_min"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_trenchesst__T_spokes, field_name)); - auto n_mound_min = new NodeSimple; - n_mound_min->m_field_name = field_name; - n_mound_min->m_df_type = DF_Type::int32_t; - n_mound_min->m_rdf_type = RDF_Type::int32_t; - n_mound_min->m_node_type = NodeType::Simple; - n_mound_min->m_address = base + offset; - n_mound_min->m_comment = "-30000 = nothing here"; - n_mound_min->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mound_min); - - field_name = "trench_min"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_trenchesst__T_spokes, field_name)); - auto n_trench_min = new NodeSimple; - n_trench_min->m_field_name = field_name; - n_trench_min->m_df_type = DF_Type::int32_t; - n_trench_min->m_rdf_type = RDF_Type::int32_t; - n_trench_min->m_node_type = NodeType::Simple; - n_trench_min->m_address = base + offset; - n_trench_min->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_trench_min); - - field_name = "trench_max"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_trenchesst__T_spokes, field_name)); - auto n_trench_max = new NodeSimple; - n_trench_max->m_field_name = field_name; - n_trench_max->m_df_type = DF_Type::int32_t; - n_trench_max->m_rdf_type = RDF_Type::int32_t; - n_trench_max->m_node_type = NodeType::Simple; - n_trench_max->m_address = base + offset; - n_trench_max->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_trench_max); - - field_name = "mound_max"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_trenchesst__T_spokes, field_name)); - auto n_mound_max = new NodeSimple; - n_mound_max->m_field_name = field_name; - n_mound_max->m_df_type = DF_Type::int32_t; - n_mound_max->m_rdf_type = RDF_Type::int32_t; - n_mound_max->m_node_type = NodeType::Simple; - n_mound_max->m_address = base + offset; - n_mound_max->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mound_max); - -} -void node_from_site_realization_building_info_trenchesst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::site_realization_building_infost; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_site_realization_building_infost(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_trenchesst, field_name)); - auto n_unk_4 = new NodeSimple; - n_unk_4->m_field_name = field_name; - n_unk_4->m_df_type = DF_Type::int32_t; - n_unk_4->m_rdf_type = RDF_Type::int32_t; - n_unk_4->m_node_type = NodeType::Simple; - n_unk_4->m_address = base + offset; - n_unk_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_4); - - field_name = "spokes"; - auto n_spokes = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_trenchesst, field_name)); - n_spokes->m_field_name = field_name; - n_spokes->m_df_type = DF_Type::site_realization_building_info_trenchesst__T_spokes; - n_spokes->m_rdf_type = RDF_Type::Array; - n_spokes->m_comment = "N, S, E, W"; - n_spokes->m_node_type = NodeType::Array; - n_spokes->m_addornements = "[4"; - n_spokes->m_array_size = 4; - n_spokes->m_address = base + offset; - n_spokes->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_spokes); - -} -void node_from_site_realization_building_info_tree_housest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::site_realization_building_infost; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_site_realization_building_infost(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "type"; - auto n_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_tree_housest, field_name)); - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::tree_house_type; - n_type->m_rdf_type = RDF_Type::Enum; - n_type->m_node_type = NodeType::Enum; - n_type->m_base_type = DF_Type::int32_t; - n_type->m_enum_type = "tree_house_type"; - n_type->m_address = base + offset; - n_type->m_defined_in = "df.world-site.xml"; - n_type->m_first_value = 0; - n_type->m_last_value = 5; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - - field_name = "unk_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_tree_housest, field_name)); - auto n_unk_8 = new NodeSimple; - n_unk_8->m_field_name = field_name; - n_unk_8->m_df_type = DF_Type::int32_t; - n_unk_8->m_rdf_type = RDF_Type::int32_t; - n_unk_8->m_node_type = NodeType::Simple; - n_unk_8->m_address = base + offset; - n_unk_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_8); - - field_name = "name"; - auto n_name = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_tree_housest, field_name)); - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::language_name; - n_name->m_rdf_type = RDF_Type::Struct; - n_name->m_node_type = NodeType::Compound; - n_name->m_address = base + offset; - n_name->m_defined_in = "df.language.xml"; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - -} -void node_from_site_realization_building_info_hillock_housest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::site_realization_building_infost; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_site_realization_building_infost(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "type"; - auto n_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_hillock_housest, field_name)); - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::hillock_house_type; - n_type->m_rdf_type = RDF_Type::Enum; - n_type->m_node_type = NodeType::Enum; - n_type->m_base_type = DF_Type::int32_t; - n_type->m_enum_type = "hillock_house_type"; - n_type->m_address = base + offset; - n_type->m_defined_in = "df.world-site.xml"; - n_type->m_first_value = 0; - n_type->m_last_value = 3; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - -} -void node_from_creation_zone_pwg_alteration_location_deathst__T_unk_1__T_anon_1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creation_zone_pwg_alteration_location_deathst__T_unk_1__T_anon_1, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creation_zone_pwg_alteration_location_deathst__T_unk_1__T_anon_1, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creation_zone_pwg_alteration_location_deathst__T_unk_1__T_anon_1, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creation_zone_pwg_alteration_location_deathst__T_unk_1__T_anon_1, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creation_zone_pwg_alteration_location_deathst__T_unk_1__T_anon_1, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creation_zone_pwg_alteration_location_deathst__T_unk_1__T_anon_1, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creation_zone_pwg_alteration_location_deathst__T_unk_1__T_anon_1, field_name)); - auto n_anon_7 = new NodeSimple; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::int32_t; - n_anon_7->m_rdf_type = RDF_Type::int32_t; - n_anon_7->m_node_type = NodeType::Simple; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_7); - - field_name = "anon_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creation_zone_pwg_alteration_location_deathst__T_unk_1__T_anon_1, field_name)); - auto n_anon_8 = new NodeSimple; - n_anon_8->m_field_name = field_name; - n_anon_8->m_df_type = DF_Type::int32_t; - n_anon_8->m_rdf_type = RDF_Type::int32_t; - n_anon_8->m_node_type = NodeType::Simple; - n_anon_8->m_address = base + offset; - n_anon_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_8); - -} -void node_from_creation_zone_pwg_alteration_location_deathst__T_unk_1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creation_zone_pwg_alteration_location_deathst__T_unk_1, field_name)); - auto n_anon_1 = new NodeVector; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::creation_zone_pwg_alteration_location_deathst__T_unk_1__T_anon_1; - n_anon_1->m_rdf_type = RDF_Type::Vector; - n_anon_1->m_node_type = NodeType::Vector; - n_anon_1->m_addornements = "v*"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creation_zone_pwg_alteration_location_deathst__T_unk_1, field_name)); - auto n_anon_2 = new NodeVector; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::Vector; - n_anon_2->m_node_type = NodeType::Vector; - n_anon_2->m_addornements = "v"; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - n_anon_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_2); - -} -void node_from_creation_zone_pwg_alteration_location_deathst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - // Base class - auto node_poly = new NodeCompound; - node_poly->m_df_type = DF_Type::creation_zone_pwg_alterationst; - node_poly->m_rdf_type = RDF_Type::Compound; - node_poly->m_address = p_df_structure; - node_poly->m_field_name = "super"; - node_poly->m_parent = p_node_parent; - p_node_parent->m_children.push_back(node_poly); - node_from_creation_zone_pwg_alterationst(p_df_structure, node_poly); - - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk_1"; - auto n_unk_1 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creation_zone_pwg_alteration_location_deathst, field_name)); - n_unk_1->m_field_name = field_name; - n_unk_1->m_df_type = DF_Type::creation_zone_pwg_alteration_location_deathst__T_unk_1; - n_unk_1->m_rdf_type = RDF_Type::Compound; - n_unk_1->m_node_type = NodeType::Compound; - n_unk_1->m_address = base + offset; - n_unk_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_1); - - field_name = "unk_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creation_zone_pwg_alteration_location_deathst, field_name)); - auto n_unk_2 = new NodeSimple; - n_unk_2->m_field_name = field_name; - n_unk_2->m_df_type = DF_Type::int32_t; - n_unk_2->m_rdf_type = RDF_Type::int32_t; - n_unk_2->m_node_type = NodeType::Simple; - n_unk_2->m_address = base + offset; - n_unk_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_2); - -} -void node_from_incident__T_unk_v42_1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = true) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "t6_performance"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident__T_unk_v42_1, field_name)); - auto n_t6_performance = new NodePointer; - n_t6_performance->m_field_name = field_name; - n_t6_performance->m_df_type = get_real_subtype(base+offset, DF_Type::incident_sub6_performance); - n_t6_performance->m_rdf_type = RDF_Type::Pointer; - n_t6_performance->m_node_type = NodeType::Pointer; - n_t6_performance->m_addornements = "*"; - n_t6_performance->m_address = base + offset; - n_t6_performance->m_parent = p_node_parent; - n_t6_performance->m_defined_in = "df.world.xml"; - n_t6_performance->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_t6_performance); - - field_name = "t7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident__T_unk_v42_1, field_name)); - auto n_t7 = new NodePointer; - n_t7->m_field_name = field_name; - n_t7->m_df_type = get_real_subtype(base+offset, DF_Type::incident_sub7); - n_t7->m_rdf_type = RDF_Type::Pointer; - n_t7->m_node_type = NodeType::Pointer; - n_t7->m_addornements = "*"; - n_t7->m_address = base + offset; - n_t7->m_parent = p_node_parent; - n_t7->m_defined_in = "df.world.xml"; - n_t7->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_t7); - - field_name = "t8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident__T_unk_v42_1, field_name)); - auto n_t8 = new NodePointer; - n_t8->m_field_name = field_name; - n_t8->m_df_type = get_real_subtype(base+offset, DF_Type::incident_sub8); - n_t8->m_rdf_type = RDF_Type::Pointer; - n_t8->m_node_type = NodeType::Pointer; - n_t8->m_addornements = "*"; - n_t8->m_address = base + offset; - n_t8->m_parent = p_node_parent; - n_t8->m_defined_in = "df.world.xml"; - n_t8->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_t8); - - field_name = "t9"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident__T_unk_v42_1, field_name)); - auto n_t9 = new NodePointer; - n_t9->m_field_name = field_name; - n_t9->m_df_type = get_real_subtype(base+offset, DF_Type::incident_sub9); - n_t9->m_rdf_type = RDF_Type::Pointer; - n_t9->m_node_type = NodeType::Pointer; - n_t9->m_addornements = "*"; - n_t9->m_address = base + offset; - n_t9->m_parent = p_node_parent; - n_t9->m_defined_in = "df.world.xml"; - n_t9->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_t9); - - field_name = "t10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident__T_unk_v42_1, field_name)); - auto n_t10 = new NodePointer; - n_t10->m_field_name = field_name; - n_t10->m_df_type = get_real_subtype(base+offset, DF_Type::incident_sub10); - n_t10->m_rdf_type = RDF_Type::Pointer; - n_t10->m_node_type = NodeType::Pointer; - n_t10->m_addornements = "*"; - n_t10->m_address = base + offset; - n_t10->m_parent = p_node_parent; - n_t10->m_defined_in = "df.world.xml"; - n_t10->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_t10); - -} -void node_from_incident(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); - auto n_subtype = new NodeSimple; - n_subtype->m_field_name = field_name; - n_subtype->m_df_type = DF_Type::int32_t; - n_subtype->m_rdf_type = RDF_Type::int32_t; - n_subtype->m_node_type = NodeType::Simple; - n_subtype->m_address = base + offset; - n_subtype->m_comment = "0=combat, 6=performance, others=unidentified"; - n_subtype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_subtype); - - field_name = "witnesses"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); - auto n_witnesses = new NodeVector; - n_witnesses->m_field_name = field_name; - n_witnesses->m_df_type = DF_Type::int32_t; - n_witnesses->m_rdf_type = RDF_Type::Vector; - n_witnesses->m_node_type = NodeType::Vector; - n_witnesses->m_addornements = "v"; - n_witnesses->m_address = base + offset; - n_witnesses->m_parent = p_node_parent; - n_witnesses->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_witnesses); - - field_name = "unk_v44_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); - auto n_unk_v44_1 = new NodeSimple; - n_unk_v44_1->m_field_name = field_name; - n_unk_v44_1->m_df_type = DF_Type::int32_t; - n_unk_v44_1->m_rdf_type = RDF_Type::int32_t; - n_unk_v44_1->m_node_type = NodeType::Simple; - n_unk_v44_1->m_address = base + offset; - n_unk_v44_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v44_1); - - field_name = "unk_v44_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); - auto n_unk_v44_2 = new NodeSimple; - n_unk_v44_2->m_field_name = field_name; - n_unk_v44_2->m_df_type = DF_Type::int32_t; - n_unk_v44_2->m_rdf_type = RDF_Type::int32_t; - n_unk_v44_2->m_node_type = NodeType::Simple; - n_unk_v44_2->m_address = base + offset; - n_unk_v44_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v44_2); - - field_name = "victim"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); - auto n_victim = new NodeSimple; - n_victim->m_field_name = field_name; - n_victim->m_df_type = DF_Type::int32_t; - n_victim->m_rdf_type = RDF_Type::int32_t; - n_victim->m_node_type = NodeType::Simple; - n_victim->m_address = base + offset; - n_victim->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_victim); - - field_name = "victim_hf"; - auto n_victim_hf = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); - n_victim_hf->m_field_name = field_name; - n_victim_hf->m_df_type = DF_Type::incident_hfid; - n_victim_hf->m_rdf_type = RDF_Type::Struct; - n_victim_hf->m_node_type = NodeType::Compound; - n_victim_hf->m_address = base + offset; - n_victim_hf->m_defined_in = "df.world.xml"; - n_victim_hf->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_victim_hf); - - field_name = "victim_race"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); - auto n_victim_race = new NodeSimple; - n_victim_race->m_field_name = field_name; - n_victim_race->m_df_type = DF_Type::int32_t; - n_victim_race->m_rdf_type = RDF_Type::int32_t; - n_victim_race->m_node_type = NodeType::Simple; - n_victim_race->m_address = base + offset; - n_victim_race->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_victim_race); - - field_name = "victim_caste"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); - auto n_victim_caste = new NodeSimple; - n_victim_caste->m_field_name = field_name; - n_victim_caste->m_df_type = DF_Type::int32_t; - n_victim_caste->m_rdf_type = RDF_Type::int32_t; - n_victim_caste->m_node_type = NodeType::Simple; - n_victim_caste->m_address = base + offset; - n_victim_caste->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_victim_caste); - - field_name = "unk_v40_1b"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); - auto n_unk_v40_1b = new NodeSimple; - n_unk_v40_1b->m_field_name = field_name; - n_unk_v40_1b->m_df_type = DF_Type::int32_t; - n_unk_v40_1b->m_rdf_type = RDF_Type::int32_t; - n_unk_v40_1b->m_node_type = NodeType::Simple; - n_unk_v40_1b->m_address = base + offset; - n_unk_v40_1b->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_1b); - - field_name = "unk_v40_1c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); - auto n_unk_v40_1c = new NodeSimple; - n_unk_v40_1c->m_field_name = field_name; - n_unk_v40_1c->m_df_type = DF_Type::int32_t; - n_unk_v40_1c->m_rdf_type = RDF_Type::int32_t; - n_unk_v40_1c->m_node_type = NodeType::Simple; - n_unk_v40_1c->m_address = base + offset; - n_unk_v40_1c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_1c); - - field_name = "killer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); - auto n_killer = new NodeSimple; - n_killer->m_field_name = field_name; - n_killer->m_df_type = DF_Type::int32_t; - n_killer->m_rdf_type = RDF_Type::int32_t; - n_killer->m_node_type = NodeType::Simple; - n_killer->m_address = base + offset; - n_killer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_killer); - - field_name = "killer_hf"; - auto n_killer_hf = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); - n_killer_hf->m_field_name = field_name; - n_killer_hf->m_df_type = DF_Type::incident_hfid; - n_killer_hf->m_rdf_type = RDF_Type::Struct; - n_killer_hf->m_node_type = NodeType::Compound; - n_killer_hf->m_address = base + offset; - n_killer_hf->m_defined_in = "df.world.xml"; - n_killer_hf->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_killer_hf); - - field_name = "killer_race"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); - auto n_killer_race = new NodeSimple; - n_killer_race->m_field_name = field_name; - n_killer_race->m_df_type = DF_Type::int32_t; - n_killer_race->m_rdf_type = RDF_Type::int32_t; - n_killer_race->m_node_type = NodeType::Simple; - n_killer_race->m_address = base + offset; - n_killer_race->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_killer_race); - - field_name = "killer_caste"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); - auto n_killer_caste = new NodeSimple; - n_killer_caste->m_field_name = field_name; - n_killer_caste->m_df_type = DF_Type::int32_t; - n_killer_caste->m_rdf_type = RDF_Type::int32_t; - n_killer_caste->m_node_type = NodeType::Simple; - n_killer_caste->m_address = base + offset; - n_killer_caste->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_killer_caste); - - field_name = "entity1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); - auto n_entity1 = new NodeSimple; - n_entity1->m_field_name = field_name; - n_entity1->m_df_type = DF_Type::int32_t; - n_entity1->m_rdf_type = RDF_Type::int32_t; - n_entity1->m_node_type = NodeType::Simple; - n_entity1->m_address = base + offset; - n_entity1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity1); - - field_name = "unk_v40_2c"; - auto n_unk_v40_2c = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); - n_unk_v40_2c->m_field_name = field_name; - n_unk_v40_2c->m_df_type = DF_Type::incident_hfid; - n_unk_v40_2c->m_rdf_type = RDF_Type::Struct; - n_unk_v40_2c->m_node_type = NodeType::Compound; - n_unk_v40_2c->m_address = base + offset; - n_unk_v40_2c->m_defined_in = "df.world.xml"; - n_unk_v40_2c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_2c); - - field_name = "crime_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); - auto n_crime_id = new NodeSimple; - n_crime_id->m_field_name = field_name; - n_crime_id->m_df_type = DF_Type::int32_t; - n_crime_id->m_rdf_type = RDF_Type::int32_t; - n_crime_id->m_node_type = NodeType::Simple; - n_crime_id->m_address = base + offset; - n_crime_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_crime_id); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "unk_v40_3a"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); - auto n_unk_v40_3a = new NodeSimple; - n_unk_v40_3a->m_field_name = field_name; - n_unk_v40_3a->m_df_type = DF_Type::int32_t; - n_unk_v40_3a->m_rdf_type = RDF_Type::int32_t; - n_unk_v40_3a->m_node_type = NodeType::Simple; - n_unk_v40_3a->m_address = base + offset; - n_unk_v40_3a->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_3a); - - field_name = "unk_v40_3b"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); - auto n_unk_v40_3b = new NodeSimple; - n_unk_v40_3b->m_field_name = field_name; - n_unk_v40_3b->m_df_type = DF_Type::int32_t; - n_unk_v40_3b->m_rdf_type = RDF_Type::int32_t; - n_unk_v40_3b->m_node_type = NodeType::Simple; - n_unk_v40_3b->m_address = base + offset; - n_unk_v40_3b->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_3b); - - field_name = "entity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); - auto n_entity = new NodeSimple; - n_entity->m_field_name = field_name; - n_entity->m_df_type = DF_Type::int32_t; - n_entity->m_rdf_type = RDF_Type::int32_t; - n_entity->m_node_type = NodeType::Simple; - n_entity->m_address = base + offset; - n_entity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity); - - field_name = "event_year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); - auto n_event_year = new NodeSimple; - n_event_year->m_field_name = field_name; - n_event_year->m_df_type = DF_Type::int32_t; - n_event_year->m_rdf_type = RDF_Type::int32_t; - n_event_year->m_node_type = NodeType::Simple; - n_event_year->m_address = base + offset; - n_event_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_event_year); - - field_name = "event_time"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); - auto n_event_time = new NodeSimple; - n_event_time->m_field_name = field_name; - n_event_time->m_df_type = DF_Type::int32_t; - n_event_time->m_rdf_type = RDF_Type::int32_t; - n_event_time->m_node_type = NodeType::Simple; - n_event_time->m_address = base + offset; - n_event_time->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_event_time); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::incident__T_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "death_cause"; - auto n_death_cause = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); - n_death_cause->m_field_name = field_name; - n_death_cause->m_df_type = DF_Type::death_type; - n_death_cause->m_rdf_type = RDF_Type::Enum; - n_death_cause->m_node_type = NodeType::Enum; - n_death_cause->m_base_type = DF_Type::int16_t; - n_death_cause->m_enum_type = "death_type"; - n_death_cause->m_address = base + offset; - n_death_cause->m_defined_in = "df.history.xml"; - n_death_cause->m_first_value = -1; - n_death_cause->m_last_value = 53; - n_death_cause->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_death_cause); - - field_name = "conflict_level"; - auto n_conflict_level = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); - n_conflict_level->m_field_name = field_name; - n_conflict_level->m_df_type = DF_Type::conflict_level; - n_conflict_level->m_rdf_type = RDF_Type::Enum; - n_conflict_level->m_node_type = NodeType::Enum; - n_conflict_level->m_base_type = enum_base_type(n_conflict_level->m_df_type); - n_conflict_level->m_enum_type = "conflict_level"; - n_conflict_level->m_address = base + offset; - n_conflict_level->m_defined_in = "df.world.xml"; - n_conflict_level->m_first_value = -1; - n_conflict_level->m_last_value = 6; - n_conflict_level->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_conflict_level); - - field_name = "activity_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); - auto n_activity_id = new NodeSimple; - n_activity_id->m_field_name = field_name; - n_activity_id->m_df_type = DF_Type::int32_t; - n_activity_id->m_rdf_type = RDF_Type::int32_t; - n_activity_id->m_node_type = NodeType::Simple; - n_activity_id->m_address = base + offset; - n_activity_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_activity_id); - - field_name = "world_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); - auto n_world_x = new NodeSimple; - n_world_x->m_field_name = field_name; - n_world_x->m_df_type = DF_Type::int32_t; - n_world_x->m_rdf_type = RDF_Type::int32_t; - n_world_x->m_node_type = NodeType::Simple; - n_world_x->m_address = base + offset; - n_world_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_world_x); - - field_name = "world_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); - auto n_world_y = new NodeSimple; - n_world_y->m_field_name = field_name; - n_world_y->m_df_type = DF_Type::int32_t; - n_world_y->m_rdf_type = RDF_Type::int32_t; - n_world_y->m_node_type = NodeType::Simple; - n_world_y->m_address = base + offset; - n_world_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_world_y); - - field_name = "world_z"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); - auto n_world_z = new NodeSimple; - n_world_z->m_field_name = field_name; - n_world_z->m_df_type = DF_Type::int32_t; - n_world_z->m_rdf_type = RDF_Type::int32_t; - n_world_z->m_node_type = NodeType::Simple; - n_world_z->m_address = base + offset; - n_world_z->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_world_z); - - field_name = "unk_80"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); - auto n_unk_80 = new NodeSimple; - n_unk_80->m_field_name = field_name; - n_unk_80->m_df_type = DF_Type::int32_t; - n_unk_80->m_rdf_type = RDF_Type::int32_t; - n_unk_80->m_node_type = NodeType::Simple; - n_unk_80->m_address = base + offset; - n_unk_80->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_80); - - field_name = "unk_v42_1"; - auto n_unk_v42_1 = new NodeUnion; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); - n_unk_v42_1->m_field_name = field_name; - n_unk_v42_1->m_df_type = DF_Type::incident__T_unk_v42_1; - n_unk_v42_1->m_rdf_type = RDF_Type::Union; - n_unk_v42_1->m_node_type = NodeType::Union; - n_unk_v42_1->m_address = base + offset; - n_unk_v42_1->m_comment = "based on subtype"; - n_unk_v42_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v42_1); - -} -void node_from_incident_sub6_performance__T_participants(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "performance_event"; - auto n_performance_event = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub6_performance__T_participants, field_name)); - n_performance_event->m_field_name = field_name; - n_performance_event->m_df_type = DF_Type::performance_event_type; - n_performance_event->m_rdf_type = RDF_Type::Enum; - n_performance_event->m_node_type = NodeType::Enum; - n_performance_event->m_base_type = DF_Type::int32_t; - n_performance_event->m_enum_type = "performance_event_type"; - n_performance_event->m_address = base + offset; - n_performance_event->m_comment = "can e.g. be music for a dance musician"; - n_performance_event->m_defined_in = "df.meeting.xml"; - n_performance_event->m_first_value = 0; - n_performance_event->m_last_value = 3; - n_performance_event->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_performance_event); - - field_name = "role_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub6_performance__T_participants, field_name)); - auto n_role_index = new NodeSimple; - n_role_index->m_field_name = field_name; - n_role_index->m_df_type = DF_Type::int32_t; - n_role_index->m_rdf_type = RDF_Type::int32_t; - n_role_index->m_node_type = NodeType::Simple; - n_role_index->m_address = base + offset; - n_role_index->m_comment = "index into the voices vector for music, with corresponding roles for other forms, possibly a dance_form_sub1 entry for dances"; - n_role_index->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_role_index); - - field_name = "anon_1"; - auto n_anon_1 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub6_performance__T_participants, field_name)); - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::incident_hfid; - n_anon_1->m_rdf_type = RDF_Type::Struct; - n_anon_1->m_node_type = NodeType::Compound; - n_anon_1->m_address = base + offset; - n_anon_1->m_defined_in = "df.world.xml"; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub6_performance__T_participants, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - -} -void node_from_incident_sub6_performance(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "performance_event"; - auto n_performance_event = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub6_performance, field_name)); - n_performance_event->m_field_name = field_name; - n_performance_event->m_df_type = DF_Type::performance_event_type; - n_performance_event->m_rdf_type = RDF_Type::Enum; - n_performance_event->m_node_type = NodeType::Enum; - n_performance_event->m_base_type = DF_Type::int32_t; - n_performance_event->m_enum_type = "performance_event_type"; - n_performance_event->m_address = base + offset; - n_performance_event->m_defined_in = "df.meeting.xml"; - n_performance_event->m_first_value = 0; - n_performance_event->m_last_value = 3; - n_performance_event->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_performance_event); - - field_name = "participants"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub6_performance, field_name)); - auto n_participants = new NodeVector; - n_participants->m_field_name = field_name; - n_participants->m_df_type = DF_Type::incident_sub6_performance__T_participants; - n_participants->m_rdf_type = RDF_Type::Vector; - n_participants->m_node_type = NodeType::Vector; - n_participants->m_addornements = "v*"; - n_participants->m_address = base + offset; - n_participants->m_parent = p_node_parent; - n_participants->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_participants); - - field_name = "reference_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub6_performance, field_name)); - auto n_reference_id = new NodeSimple; - n_reference_id->m_field_name = field_name; - n_reference_id->m_df_type = DF_Type::int32_t; - n_reference_id->m_rdf_type = RDF_Type::int32_t; - n_reference_id->m_node_type = NodeType::Simple; - n_reference_id->m_address = base + offset; - n_reference_id->m_comment = "history_event id/poetic_form id/musical_form id/dance_form_id or -1"; - n_reference_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_reference_id); - - field_name = "written_content_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub6_performance, field_name)); - auto n_written_content_id = new NodeSimple; - n_written_content_id->m_field_name = field_name; - n_written_content_id->m_df_type = DF_Type::int32_t; - n_written_content_id->m_rdf_type = RDF_Type::int32_t; - n_written_content_id->m_node_type = NodeType::Simple; - n_written_content_id->m_address = base + offset; - n_written_content_id->m_comment = "-1 if not used"; - n_written_content_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_written_content_id); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub6_performance, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "poetic_form_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub6_performance, field_name)); - auto n_poetic_form_id = new NodeSimple; - n_poetic_form_id->m_field_name = field_name; - n_poetic_form_id->m_df_type = DF_Type::int32_t; - n_poetic_form_id->m_rdf_type = RDF_Type::int32_t; - n_poetic_form_id->m_node_type = NodeType::Simple; - n_poetic_form_id->m_address = base + offset; - n_poetic_form_id->m_comment = "More than one form can be used in a performance, e.g. dance to music"; - n_poetic_form_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_poetic_form_id); - - field_name = "musical_form_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub6_performance, field_name)); - auto n_musical_form_id = new NodeSimple; - n_musical_form_id->m_field_name = field_name; - n_musical_form_id->m_df_type = DF_Type::int32_t; - n_musical_form_id->m_rdf_type = RDF_Type::int32_t; - n_musical_form_id->m_node_type = NodeType::Simple; - n_musical_form_id->m_address = base + offset; - n_musical_form_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_musical_form_id); - - field_name = "dance_form_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub6_performance, field_name)); - auto n_dance_form_id = new NodeSimple; - n_dance_form_id->m_field_name = field_name; - n_dance_form_id->m_df_type = DF_Type::int32_t; - n_dance_form_id->m_rdf_type = RDF_Type::int32_t; - n_dance_form_id->m_node_type = NodeType::Simple; - n_dance_form_id->m_address = base + offset; - n_dance_form_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dance_form_id); - -} -void node_from_incident_sub7(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub7, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub7, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - auto n_anon_3 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub7, field_name)); - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::incident_hfid; - n_anon_3->m_rdf_type = RDF_Type::Struct; - n_anon_3->m_node_type = NodeType::Compound; - n_anon_3->m_address = base + offset; - n_anon_3->m_defined_in = "df.world.xml"; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - auto n_anon_4 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub7, field_name)); - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::incident_hfid; - n_anon_4->m_rdf_type = RDF_Type::Struct; - n_anon_4->m_node_type = NodeType::Compound; - n_anon_4->m_address = base + offset; - n_anon_4->m_defined_in = "df.world.xml"; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub7, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub7, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub7, field_name)); - auto n_anon_7 = new NodeSimple; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::int32_t; - n_anon_7->m_rdf_type = RDF_Type::int32_t; - n_anon_7->m_node_type = NodeType::Simple; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_7); - - field_name = "anon_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub7, field_name)); - auto n_anon_8 = new NodeSimple; - n_anon_8->m_field_name = field_name; - n_anon_8->m_df_type = DF_Type::int32_t; - n_anon_8->m_rdf_type = RDF_Type::int32_t; - n_anon_8->m_node_type = NodeType::Simple; - n_anon_8->m_address = base + offset; - n_anon_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_8); - - field_name = "anon_9"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub7, field_name)); - auto n_anon_9 = new NodeVector; - n_anon_9->m_field_name = field_name; - n_anon_9->m_df_type = DF_Type::int32_t; - n_anon_9->m_rdf_type = RDF_Type::Vector; - n_anon_9->m_node_type = NodeType::Vector; - n_anon_9->m_addornements = "v"; - n_anon_9->m_address = base + offset; - n_anon_9->m_parent = p_node_parent; - n_anon_9->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_9); - - field_name = "anon_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub7, field_name)); - auto n_anon_10 = new NodeSimple; - n_anon_10->m_field_name = field_name; - n_anon_10->m_df_type = DF_Type::int32_t; - n_anon_10->m_rdf_type = RDF_Type::int32_t; - n_anon_10->m_node_type = NodeType::Simple; - n_anon_10->m_address = base + offset; - n_anon_10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_10); - -} -void node_from_incident_sub8(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub8, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub8, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - auto n_anon_3 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub8, field_name)); - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::incident_hfid; - n_anon_3->m_rdf_type = RDF_Type::Struct; - n_anon_3->m_node_type = NodeType::Compound; - n_anon_3->m_address = base + offset; - n_anon_3->m_defined_in = "df.world.xml"; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - auto n_anon_4 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub8, field_name)); - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::incident_hfid; - n_anon_4->m_rdf_type = RDF_Type::Struct; - n_anon_4->m_node_type = NodeType::Compound; - n_anon_4->m_address = base + offset; - n_anon_4->m_defined_in = "df.world.xml"; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub8, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub8, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub8, field_name)); - auto n_anon_7 = new NodeSimple; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::int32_t; - n_anon_7->m_rdf_type = RDF_Type::int32_t; - n_anon_7->m_node_type = NodeType::Simple; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_7); - - field_name = "anon_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub8, field_name)); - auto n_anon_8 = new NodeSimple; - n_anon_8->m_field_name = field_name; - n_anon_8->m_df_type = DF_Type::int32_t; - n_anon_8->m_rdf_type = RDF_Type::int32_t; - n_anon_8->m_node_type = NodeType::Simple; - n_anon_8->m_address = base + offset; - n_anon_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_8); - - field_name = "anon_9"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub8, field_name)); - auto n_anon_9 = new NodeVector; - n_anon_9->m_field_name = field_name; - n_anon_9->m_df_type = DF_Type::int32_t; - n_anon_9->m_rdf_type = RDF_Type::Vector; - n_anon_9->m_node_type = NodeType::Vector; - n_anon_9->m_addornements = "v"; - n_anon_9->m_address = base + offset; - n_anon_9->m_parent = p_node_parent; - n_anon_9->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_9); - - field_name = "anon_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub8, field_name)); - auto n_anon_10 = new NodeSimple; - n_anon_10->m_field_name = field_name; - n_anon_10->m_df_type = DF_Type::int32_t; - n_anon_10->m_rdf_type = RDF_Type::int32_t; - n_anon_10->m_node_type = NodeType::Simple; - n_anon_10->m_address = base + offset; - n_anon_10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_10); - -} -void node_from_incident_sub9(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub9, field_name)); - auto n_anon_1 = new NodeVector; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::incident_hfid; - n_anon_1->m_rdf_type = RDF_Type::Vector; - n_anon_1->m_node_type = NodeType::Vector; - n_anon_1->m_defined_in = "df.world.xml"; - n_anon_1->m_addornements = "v*"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_incident_sub10(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub10, field_name)); - auto n_anon_1 = new NodeVector; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::incident_hfid; - n_anon_1->m_rdf_type = RDF_Type::Vector; - n_anon_1->m_node_type = NodeType::Vector; - n_anon_1->m_defined_in = "df.world.xml"; - n_anon_1->m_addornements = "v*"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_crime__T_punishment(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "hammerstrikes"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::crime__T_punishment, field_name)); - auto n_hammerstrikes = new NodeSimple; - n_hammerstrikes->m_field_name = field_name; - n_hammerstrikes->m_df_type = DF_Type::int32_t; - n_hammerstrikes->m_rdf_type = RDF_Type::int32_t; - n_hammerstrikes->m_node_type = NodeType::Simple; - n_hammerstrikes->m_address = base + offset; - n_hammerstrikes->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_hammerstrikes); - - field_name = "prison_time"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::crime__T_punishment, field_name)); - auto n_prison_time = new NodeSimple; - n_prison_time->m_field_name = field_name; - n_prison_time->m_df_type = DF_Type::int32_t; - n_prison_time->m_rdf_type = RDF_Type::int32_t; - n_prison_time->m_node_type = NodeType::Simple; - n_prison_time->m_address = base + offset; - n_prison_time->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_prison_time); - - field_name = "give_beating"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::crime__T_punishment, field_name)); - auto n_give_beating = new NodeSimple; - n_give_beating->m_field_name = field_name; - n_give_beating->m_df_type = DF_Type::int32_t; - n_give_beating->m_rdf_type = RDF_Type::int32_t; - n_give_beating->m_node_type = NodeType::Simple; - n_give_beating->m_address = base + offset; - n_give_beating->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_give_beating); - -} -void node_from_crime__T_reports(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "death_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::crime__T_reports, field_name)); - auto n_death_id = new NodeSimple; - n_death_id->m_field_name = field_name; - n_death_id->m_df_type = DF_Type::int32_t; - n_death_id->m_rdf_type = RDF_Type::int32_t; - n_death_id->m_node_type = NodeType::Simple; - n_death_id->m_address = base + offset; - n_death_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_death_id); - - field_name = "crime_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::crime__T_reports, field_name)); - auto n_crime_id = new NodeSimple; - n_crime_id->m_field_name = field_name; - n_crime_id->m_df_type = DF_Type::int32_t; - n_crime_id->m_rdf_type = RDF_Type::int32_t; - n_crime_id->m_node_type = NodeType::Simple; - n_crime_id->m_address = base + offset; - n_crime_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_crime_id); - - field_name = "unk1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::crime__T_reports, field_name)); - auto n_unk1 = new NodeSimple; - n_unk1->m_field_name = field_name; - n_unk1->m_df_type = DF_Type::int32_t; - n_unk1->m_rdf_type = RDF_Type::int32_t; - n_unk1->m_node_type = NodeType::Simple; - n_unk1->m_address = base + offset; - n_unk1->m_comment = "unk1 of witness_reports; 1 = found body?"; - n_unk1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk1); - - field_name = "event_year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::crime__T_reports, field_name)); - auto n_event_year = new NodeSimple; - n_event_year->m_field_name = field_name; - n_event_year->m_df_type = DF_Type::int32_t; - n_event_year->m_rdf_type = RDF_Type::int32_t; - n_event_year->m_node_type = NodeType::Simple; - n_event_year->m_address = base + offset; - n_event_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_event_year); - - field_name = "event_time"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::crime__T_reports, field_name)); - auto n_event_time = new NodeSimple; - n_event_time->m_field_name = field_name; - n_event_time->m_df_type = DF_Type::int32_t; - n_event_time->m_rdf_type = RDF_Type::int32_t; - n_event_time->m_node_type = NodeType::Simple; - n_event_time->m_address = base + offset; - n_event_time->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_event_time); - - field_name = "witness"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::crime__T_reports, field_name)); - auto n_witness = new NodeSimple; - n_witness->m_field_name = field_name; - n_witness->m_df_type = DF_Type::int32_t; - n_witness->m_rdf_type = RDF_Type::int32_t; - n_witness->m_node_type = NodeType::Simple; - n_witness->m_address = base + offset; - n_witness->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_witness); - - field_name = "accuses"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::crime__T_reports, field_name)); - auto n_accuses = new NodeSimple; - n_accuses->m_field_name = field_name; - n_accuses->m_df_type = DF_Type::int32_t; - n_accuses->m_rdf_type = RDF_Type::int32_t; - n_accuses->m_node_type = NodeType::Simple; - n_accuses->m_address = base + offset; - n_accuses->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_accuses); - - field_name = "report_year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::crime__T_reports, field_name)); - auto n_report_year = new NodeSimple; - n_report_year->m_field_name = field_name; - n_report_year->m_df_type = DF_Type::int32_t; - n_report_year->m_rdf_type = RDF_Type::int32_t; - n_report_year->m_node_type = NodeType::Simple; - n_report_year->m_address = base + offset; - n_report_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_report_year); - - field_name = "report_time"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::crime__T_reports, field_name)); - auto n_report_time = new NodeSimple; - n_report_time->m_field_name = field_name; - n_report_time->m_df_type = DF_Type::int32_t; - n_report_time->m_rdf_type = RDF_Type::int32_t; - n_report_time->m_node_type = NodeType::Simple; - n_report_time->m_address = base + offset; - n_report_time->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_report_time); - -} -void node_from_crime(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::crime, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "mode"; - auto n_mode = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::crime, field_name)); - n_mode->m_field_name = field_name; - n_mode->m_df_type = DF_Type::crime__T_mode; - n_mode->m_rdf_type = RDF_Type::Enum; - n_mode->m_node_type = NodeType::Enum; - n_mode->m_base_type = DF_Type::int32_t; - n_mode->m_enum_type = "crime::T_mode"; - n_mode->m_address = base + offset; - n_mode->m_first_value = 0; - n_mode->m_last_value = 10; - n_mode->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mode); - - field_name = "punishment"; - auto n_punishment = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::crime, field_name)); - n_punishment->m_field_name = field_name; - n_punishment->m_df_type = DF_Type::crime__T_punishment; - n_punishment->m_rdf_type = RDF_Type::Compound; - n_punishment->m_node_type = NodeType::Compound; - n_punishment->m_address = base + offset; - n_punishment->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_punishment); - - field_name = "criminal"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::crime, field_name)); - auto n_criminal = new NodeSimple; - n_criminal->m_field_name = field_name; - n_criminal->m_df_type = DF_Type::int32_t; - n_criminal->m_rdf_type = RDF_Type::int32_t; - n_criminal->m_node_type = NodeType::Simple; - n_criminal->m_address = base + offset; - n_criminal->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_criminal); - - field_name = "convicted"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::crime, field_name)); - auto n_convicted = new NodeSimple; - n_convicted->m_field_name = field_name; - n_convicted->m_df_type = DF_Type::int32_t; - n_convicted->m_rdf_type = RDF_Type::int32_t; - n_convicted->m_node_type = NodeType::Simple; - n_convicted->m_address = base + offset; - n_convicted->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_convicted); - - field_name = "victim"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::crime, field_name)); - auto n_victim = new NodeSimple; - n_victim->m_field_name = field_name; - n_victim->m_df_type = DF_Type::int32_t; - n_victim->m_rdf_type = RDF_Type::int32_t; - n_victim->m_node_type = NodeType::Simple; - n_victim->m_address = base + offset; - n_victim->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_victim); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::crime, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::crime__T_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "death_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::crime, field_name)); - auto n_death_id = new NodeSimple; - n_death_id->m_field_name = field_name; - n_death_id->m_df_type = DF_Type::int32_t; - n_death_id->m_rdf_type = RDF_Type::int32_t; - n_death_id->m_node_type = NodeType::Simple; - n_death_id->m_address = base + offset; - n_death_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_death_id); - - field_name = "event_year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::crime, field_name)); - auto n_event_year = new NodeSimple; - n_event_year->m_field_name = field_name; - n_event_year->m_df_type = DF_Type::int32_t; - n_event_year->m_rdf_type = RDF_Type::int32_t; - n_event_year->m_node_type = NodeType::Simple; - n_event_year->m_address = base + offset; - n_event_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_event_year); - - field_name = "event_time"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::crime, field_name)); - auto n_event_time = new NodeSimple; - n_event_time->m_field_name = field_name; - n_event_time->m_df_type = DF_Type::int32_t; - n_event_time->m_rdf_type = RDF_Type::int32_t; - n_event_time->m_node_type = NodeType::Simple; - n_event_time->m_address = base + offset; - n_event_time->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_event_time); - - field_name = "discovered_year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::crime, field_name)); - auto n_discovered_year = new NodeSimple; - n_discovered_year->m_field_name = field_name; - n_discovered_year->m_df_type = DF_Type::int32_t; - n_discovered_year->m_rdf_type = RDF_Type::int32_t; - n_discovered_year->m_node_type = NodeType::Simple; - n_discovered_year->m_address = base + offset; - n_discovered_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_discovered_year); - - field_name = "discovered_time"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::crime, field_name)); - auto n_discovered_time = new NodeSimple; - n_discovered_time->m_field_name = field_name; - n_discovered_time->m_df_type = DF_Type::int32_t; - n_discovered_time->m_rdf_type = RDF_Type::int32_t; - n_discovered_time->m_node_type = NodeType::Simple; - n_discovered_time->m_address = base + offset; - n_discovered_time->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_discovered_time); - - field_name = "site"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::crime, field_name)); - auto n_site = new NodeSimple; - n_site->m_field_name = field_name; - n_site->m_df_type = DF_Type::int32_t; - n_site->m_rdf_type = RDF_Type::int32_t; - n_site->m_node_type = NodeType::Simple; - n_site->m_address = base + offset; - n_site->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site); - - field_name = "entity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::crime, field_name)); - auto n_entity = new NodeSimple; - n_entity->m_field_name = field_name; - n_entity->m_df_type = DF_Type::int32_t; - n_entity->m_rdf_type = RDF_Type::int32_t; - n_entity->m_node_type = NodeType::Simple; - n_entity->m_address = base + offset; - n_entity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entity); - - field_name = "reports"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::crime, field_name)); - auto n_reports = new NodeVector; - n_reports->m_field_name = field_name; - n_reports->m_df_type = DF_Type::crime__T_reports; - n_reports->m_rdf_type = RDF_Type::Vector; - n_reports->m_node_type = NodeType::Vector; - n_reports->m_addornements = "v*"; - n_reports->m_address = base + offset; - n_reports->m_parent = p_node_parent; - n_reports->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_reports); - -} -void node_from_mission_report(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "campaigns"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission_report, field_name)); - auto n_campaigns = new NodeVector; - n_campaigns->m_field_name = field_name; - n_campaigns->m_df_type = DF_Type::mission_campaign_report; - n_campaigns->m_rdf_type = RDF_Type::Vector; - n_campaigns->m_node_type = NodeType::Vector; - n_campaigns->m_defined_in = "df.world.xml"; - n_campaigns->m_addornements = "v*"; - n_campaigns->m_address = base + offset; - n_campaigns->m_parent = p_node_parent; - n_campaigns->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_campaigns); - - field_name = "unk_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission_report, field_name)); - auto n_unk_2 = new NodeSimple; - n_unk_2->m_field_name = field_name; - n_unk_2->m_df_type = DF_Type::int32_t; - n_unk_2->m_rdf_type = RDF_Type::int32_t; - n_unk_2->m_node_type = NodeType::Simple; - n_unk_2->m_address = base + offset; - n_unk_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_2); - - field_name = "origin_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission_report, field_name)); - auto n_origin_x = new NodeSimple; - n_origin_x->m_field_name = field_name; - n_origin_x->m_df_type = DF_Type::int32_t; - n_origin_x->m_rdf_type = RDF_Type::int32_t; - n_origin_x->m_node_type = NodeType::Simple; - n_origin_x->m_address = base + offset; - n_origin_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_origin_x); - - field_name = "origin_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission_report, field_name)); - auto n_origin_y = new NodeSimple; - n_origin_y->m_field_name = field_name; - n_origin_y->m_df_type = DF_Type::int32_t; - n_origin_y->m_rdf_type = RDF_Type::int32_t; - n_origin_y->m_node_type = NodeType::Simple; - n_origin_y->m_address = base + offset; - n_origin_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_origin_y); - - field_name = "unk_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission_report, field_name)); - auto n_unk_5 = new NodeSimple; - n_unk_5->m_field_name = field_name; - n_unk_5->m_df_type = DF_Type::int32_t; - n_unk_5->m_rdf_type = RDF_Type::int32_t; - n_unk_5->m_node_type = NodeType::Simple; - n_unk_5->m_address = base + offset; - n_unk_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_5); - - field_name = "title"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission_report, field_name)); - auto n_title = new NodeSimple; - n_title->m_field_name = field_name; - n_title->m_df_type = DF_Type::Stl_string; - n_title->m_rdf_type = RDF_Type::Stl_string; - n_title->m_node_type = NodeType::Simple; - n_title->m_address = base + offset; - n_title->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_title); - - field_name = "unk_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission_report, field_name)); - auto n_unk_7 = new NodeSimple; - n_unk_7->m_field_name = field_name; - n_unk_7->m_df_type = DF_Type::int32_t; - n_unk_7->m_rdf_type = RDF_Type::int32_t; - n_unk_7->m_node_type = NodeType::Simple; - n_unk_7->m_address = base + offset; - n_unk_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_7); - - field_name = "year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission_report, field_name)); - auto n_year = new NodeSimple; - n_year->m_field_name = field_name; - n_year->m_df_type = DF_Type::int32_t; - n_year->m_rdf_type = RDF_Type::int32_t; - n_year->m_node_type = NodeType::Simple; - n_year->m_address = base + offset; - n_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_year); - - field_name = "year_tick"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission_report, field_name)); - auto n_year_tick = new NodeSimple; - n_year_tick->m_field_name = field_name; - n_year_tick->m_df_type = DF_Type::int32_t; - n_year_tick->m_rdf_type = RDF_Type::int32_t; - n_year_tick->m_node_type = NodeType::Simple; - n_year_tick->m_address = base + offset; - n_year_tick->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_year_tick); - - field_name = "unk_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission_report, field_name)); - auto n_unk_10 = new NodeVector; - n_unk_10->m_field_name = field_name; - n_unk_10->m_df_type = DF_Type::Void; - n_unk_10->m_rdf_type = RDF_Type::Vector; - n_unk_10->m_node_type = NodeType::Vector; - n_unk_10->m_addornements = "v"; - n_unk_10->m_address = base + offset; - n_unk_10->m_parent = p_node_parent; - n_unk_10->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_10); - - field_name = "unk_11"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission_report, field_name)); - auto n_unk_11 = new NodeSimple; - n_unk_11->m_field_name = field_name; - n_unk_11->m_df_type = DF_Type::int32_t; - n_unk_11->m_rdf_type = RDF_Type::int32_t; - n_unk_11->m_node_type = NodeType::Simple; - n_unk_11->m_address = base + offset; - n_unk_11->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_11); - - field_name = "unk_12"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission_report, field_name)); - auto n_unk_12 = new NodeSimple; - n_unk_12->m_field_name = field_name; - n_unk_12->m_df_type = DF_Type::int32_t; - n_unk_12->m_rdf_type = RDF_Type::int32_t; - n_unk_12->m_node_type = NodeType::Simple; - n_unk_12->m_address = base + offset; - n_unk_12->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_12); - -} -void node_from_spoils_report(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "title"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::spoils_report, field_name)); - auto n_title = new NodeSimple; - n_title->m_field_name = field_name; - n_title->m_df_type = DF_Type::Stl_string; - n_title->m_rdf_type = RDF_Type::Stl_string; - n_title->m_node_type = NodeType::Simple; - n_title->m_address = base + offset; - n_title->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_title); - - field_name = "unk_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::spoils_report, field_name)); - auto n_unk_1 = new NodeSimple; - n_unk_1->m_field_name = field_name; - n_unk_1->m_df_type = DF_Type::int32_t; - n_unk_1->m_rdf_type = RDF_Type::int32_t; - n_unk_1->m_node_type = NodeType::Simple; - n_unk_1->m_address = base + offset; - n_unk_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_1); - - field_name = "year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::spoils_report, field_name)); - auto n_year = new NodeSimple; - n_year->m_field_name = field_name; - n_year->m_df_type = DF_Type::int32_t; - n_year->m_rdf_type = RDF_Type::int32_t; - n_year->m_node_type = NodeType::Simple; - n_year->m_address = base + offset; - n_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_year); - - field_name = "year_tick"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::spoils_report, field_name)); - auto n_year_tick = new NodeSimple; - n_year_tick->m_field_name = field_name; - n_year_tick->m_df_type = DF_Type::int32_t; - n_year_tick->m_rdf_type = RDF_Type::int32_t; - n_year_tick->m_node_type = NodeType::Simple; - n_year_tick->m_address = base + offset; - n_year_tick->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_year_tick); - - field_name = "unk_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::spoils_report, field_name)); - auto n_unk_4 = new NodeSimple; - n_unk_4->m_field_name = field_name; - n_unk_4->m_df_type = DF_Type::int32_t; - n_unk_4->m_rdf_type = RDF_Type::int32_t; - n_unk_4->m_node_type = NodeType::Simple; - n_unk_4->m_address = base + offset; - n_unk_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_4); - - field_name = "item_types"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::spoils_report, field_name)); - auto n_item_types = new NodeVector; - n_item_types->m_field_name = field_name; - n_item_types->m_df_type = DF_Type::item_type; - n_item_types->m_rdf_type = RDF_Type::Vector; - n_item_types->m_node_type = NodeType::Vector; - n_item_types->m_enum_base = DF_Type::int16_t; - n_item_types->m_defined_in = "df.item-raws.xml"; - n_item_types->m_addornements = "v"; - n_item_types->m_address = base + offset; - n_item_types->m_parent = p_node_parent; - n_item_types->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_item_types); - - field_name = "item_subtypes"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::spoils_report, field_name)); - auto n_item_subtypes = new NodeVector; - n_item_subtypes->m_field_name = field_name; - n_item_subtypes->m_df_type = DF_Type::int16_t; - n_item_subtypes->m_rdf_type = RDF_Type::Vector; - n_item_subtypes->m_node_type = NodeType::Vector; - n_item_subtypes->m_addornements = "v"; - n_item_subtypes->m_address = base + offset; - n_item_subtypes->m_parent = p_node_parent; - n_item_subtypes->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_item_subtypes); - - field_name = "mat_types"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::spoils_report, field_name)); - auto n_mat_types = new NodeVector; - n_mat_types->m_field_name = field_name; - n_mat_types->m_df_type = DF_Type::int16_t; - n_mat_types->m_rdf_type = RDF_Type::Vector; - n_mat_types->m_node_type = NodeType::Vector; - n_mat_types->m_addornements = "v"; - n_mat_types->m_address = base + offset; - n_mat_types->m_parent = p_node_parent; - n_mat_types->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_mat_types); - - field_name = "mat_indices"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::spoils_report, field_name)); - auto n_mat_indices = new NodeVector; - n_mat_indices->m_field_name = field_name; - n_mat_indices->m_df_type = DF_Type::int32_t; - n_mat_indices->m_rdf_type = RDF_Type::Vector; - n_mat_indices->m_node_type = NodeType::Vector; - n_mat_indices->m_addornements = "v"; - n_mat_indices->m_address = base + offset; - n_mat_indices->m_parent = p_node_parent; - n_mat_indices->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_mat_indices); - - field_name = "item_counts"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::spoils_report, field_name)); - auto n_item_counts = new NodeVector; - n_item_counts->m_field_name = field_name; - n_item_counts->m_df_type = DF_Type::int32_t; - n_item_counts->m_rdf_type = RDF_Type::Vector; - n_item_counts->m_node_type = NodeType::Vector; - n_item_counts->m_addornements = "v"; - n_item_counts->m_address = base + offset; - n_item_counts->m_parent = p_node_parent; - n_item_counts->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_item_counts); - - field_name = "creature_races"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::spoils_report, field_name)); - auto n_creature_races = new NodeVector; - n_creature_races->m_field_name = field_name; - n_creature_races->m_df_type = DF_Type::int32_t; - n_creature_races->m_rdf_type = RDF_Type::Vector; - n_creature_races->m_node_type = NodeType::Vector; - n_creature_races->m_addornements = "v"; - n_creature_races->m_address = base + offset; - n_creature_races->m_parent = p_node_parent; - n_creature_races->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_creature_races); - - field_name = "creature_castes"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::spoils_report, field_name)); - auto n_creature_castes = new NodeVector; - n_creature_castes->m_field_name = field_name; - n_creature_castes->m_df_type = DF_Type::int32_t; - n_creature_castes->m_rdf_type = RDF_Type::Vector; - n_creature_castes->m_node_type = NodeType::Vector; - n_creature_castes->m_addornements = "v"; - n_creature_castes->m_address = base + offset; - n_creature_castes->m_parent = p_node_parent; - n_creature_castes->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_creature_castes); - - field_name = "creature_counts"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::spoils_report, field_name)); - auto n_creature_counts = new NodeVector; - n_creature_counts->m_field_name = field_name; - n_creature_counts->m_df_type = DF_Type::int32_t; - n_creature_counts->m_rdf_type = RDF_Type::Vector; - n_creature_counts->m_node_type = NodeType::Vector; - n_creature_counts->m_addornements = "v"; - n_creature_counts->m_address = base + offset; - n_creature_counts->m_parent = p_node_parent; - n_creature_counts->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_creature_counts); - -} -void node_from_world_unk_20__T_anon_7(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_20__T_anon_7, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_20__T_anon_7, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_20__T_anon_7, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_20__T_anon_7, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_20__T_anon_7, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_20__T_anon_7, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - -} -void node_from_world_unk_20(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_20, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int8_t; - n_anon_1->m_rdf_type = RDF_Type::int8_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_20, field_name)); - auto n_anon_2 = new NodeVector; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::Vector; - n_anon_2->m_node_type = NodeType::Vector; - n_anon_2->m_addornements = "v"; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - n_anon_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_20, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_20, field_name)); - auto n_anon_4 = new NodeVector; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::Vector; - n_anon_4->m_node_type = NodeType::Vector; - n_anon_4->m_addornements = "v"; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - n_anon_4->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_20, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_20, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_20, field_name)); - auto n_anon_7 = new NodeVector; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::world_unk_20__T_anon_7; - n_anon_7->m_rdf_type = RDF_Type::Vector; - n_anon_7->m_node_type = NodeType::Vector; - n_anon_7->m_addornements = "v*"; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - n_anon_7->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_7); - - field_name = "anon_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_20, field_name)); - auto n_anon_8 = new NodeSimple; - n_anon_8->m_field_name = field_name; - n_anon_8->m_df_type = DF_Type::int16_t; - n_anon_8->m_rdf_type = RDF_Type::int16_t; - n_anon_8->m_node_type = NodeType::Simple; - n_anon_8->m_address = base + offset; - n_anon_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_8); - - field_name = "anon_9"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_20, field_name)); - auto n_anon_9 = new NodeSimple; - n_anon_9->m_field_name = field_name; - n_anon_9->m_df_type = DF_Type::int16_t; - n_anon_9->m_rdf_type = RDF_Type::int16_t; - n_anon_9->m_node_type = NodeType::Simple; - n_anon_9->m_address = base + offset; - n_anon_9->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_9); - - field_name = "anon_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_20, field_name)); - auto n_anon_10 = new NodeSimple; - n_anon_10->m_field_name = field_name; - n_anon_10->m_df_type = DF_Type::int16_t; - n_anon_10->m_rdf_type = RDF_Type::int16_t; - n_anon_10->m_node_type = NodeType::Simple; - n_anon_10->m_address = base + offset; - n_anon_10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_10); - -} -void node_from_world_unk_6c(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - auto n_anon_1 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_6c, field_name)); - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::coord; - n_anon_1->m_rdf_type = RDF_Type::Struct; - n_anon_1->m_node_type = NodeType::Compound; - n_anon_1->m_address = base + offset; - n_anon_1->m_defined_in = "df.map.xml"; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_6c, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int8_t; - n_anon_2->m_rdf_type = RDF_Type::int8_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_6c, field_name)); - auto n_anon_3 = new NodeVector; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int16_t; - n_anon_3->m_rdf_type = RDF_Type::Vector; - n_anon_3->m_node_type = NodeType::Vector; - n_anon_3->m_addornements = "v"; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - n_anon_3->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_6c, field_name)); - auto n_anon_4 = new NodeVector; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int16_t; - n_anon_4->m_rdf_type = RDF_Type::Vector; - n_anon_4->m_node_type = NodeType::Vector; - n_anon_4->m_addornements = "v"; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - n_anon_4->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_6c, field_name)); - auto n_anon_5 = new NodeVector; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int16_t; - n_anon_5->m_rdf_type = RDF_Type::Vector; - n_anon_5->m_node_type = NodeType::Vector; - n_anon_5->m_addornements = "v"; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - n_anon_5->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_6c, field_name)); - auto n_anon_6 = new NodeVector; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int16_t; - n_anon_6->m_rdf_type = RDF_Type::Vector; - n_anon_6->m_node_type = NodeType::Vector; - n_anon_6->m_addornements = "v"; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - n_anon_6->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_6); - -} -void node_from_world_unk_9c(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "region"; - auto n_region = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_9c, field_name)); - n_region->m_field_name = field_name; - n_region->m_df_type = DF_Type::coord2d; - n_region->m_rdf_type = RDF_Type::Struct; - n_region->m_node_type = NodeType::Compound; - n_region->m_address = base + offset; - n_region->m_defined_in = "df.map.xml"; - n_region->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region); - - field_name = "embark"; - auto n_embark = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_9c, field_name)); - n_embark->m_field_name = field_name; - n_embark->m_df_type = DF_Type::coord2d; - n_embark->m_rdf_type = RDF_Type::Struct; - n_embark->m_node_type = NodeType::Compound; - n_embark->m_address = base + offset; - n_embark->m_defined_in = "df.map.xml"; - n_embark->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_embark); - - field_name = "local_feature_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_9c, field_name)); - auto n_local_feature_idx = new NodeSimple; - n_local_feature_idx->m_field_name = field_name; - n_local_feature_idx->m_df_type = DF_Type::int16_t; - n_local_feature_idx->m_rdf_type = RDF_Type::int16_t; - n_local_feature_idx->m_node_type = NodeType::Simple; - n_local_feature_idx->m_address = base + offset; - n_local_feature_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_local_feature_idx); - - field_name = "global_feature_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_9c, field_name)); - auto n_global_feature_idx = new NodeSimple; - n_global_feature_idx->m_field_name = field_name; - n_global_feature_idx->m_df_type = DF_Type::int32_t; - n_global_feature_idx->m_rdf_type = RDF_Type::int32_t; - n_global_feature_idx->m_node_type = NodeType::Simple; - n_global_feature_idx->m_address = base + offset; - n_global_feature_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_global_feature_idx); - - field_name = "unk10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_9c, field_name)); - auto n_unk10 = new NodeSimple; - n_unk10->m_field_name = field_name; - n_unk10->m_df_type = DF_Type::int32_t; - n_unk10->m_rdf_type = RDF_Type::int32_t; - n_unk10->m_node_type = NodeType::Simple; - n_unk10->m_address = base + offset; - n_unk10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk10); - - field_name = "unk14"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_9c, field_name)); - auto n_unk14 = new NodeSimple; - n_unk14->m_field_name = field_name; - n_unk14->m_df_type = DF_Type::int16_t; - n_unk14->m_rdf_type = RDF_Type::int16_t; - n_unk14->m_node_type = NodeType::Simple; - n_unk14->m_address = base + offset; - n_unk14->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk14); - - field_name = "local"; - auto n_local = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_9c, field_name)); - n_local->m_field_name = field_name; - n_local->m_df_type = DF_Type::coord2d; - n_local->m_rdf_type = RDF_Type::Struct; - n_local->m_node_type = NodeType::Compound; - n_local->m_address = base + offset; - n_local->m_defined_in = "df.map.xml"; - n_local->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_local); - - field_name = "z_min"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_9c, field_name)); - auto n_z_min = new NodeSimple; - n_z_min->m_field_name = field_name; - n_z_min->m_df_type = DF_Type::int16_t; - n_z_min->m_rdf_type = RDF_Type::int16_t; - n_z_min->m_node_type = NodeType::Simple; - n_z_min->m_address = base + offset; - n_z_min->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_z_min); - - field_name = "z_max"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_9c, field_name)); - auto n_z_max = new NodeSimple; - n_z_max->m_field_name = field_name; - n_z_max->m_df_type = DF_Type::int16_t; - n_z_max->m_rdf_type = RDF_Type::int16_t; - n_z_max->m_node_type = NodeType::Simple; - n_z_max->m_address = base + offset; - n_z_max->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_z_max); - -} -void node_from_world_unk_c0__T_anon_7(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_c0__T_anon_7, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_c0__T_anon_7, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_c0__T_anon_7, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_c0__T_anon_7, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_c0__T_anon_7, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_c0__T_anon_7, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - -} -void node_from_world_unk_c0(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_c0, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int8_t; - n_anon_1->m_rdf_type = RDF_Type::int8_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_c0, field_name)); - auto n_anon_2 = new NodeVector; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::Vector; - n_anon_2->m_node_type = NodeType::Vector; - n_anon_2->m_addornements = "v"; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - n_anon_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_c0, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_c0, field_name)); - auto n_anon_4 = new NodeVector; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::Vector; - n_anon_4->m_node_type = NodeType::Vector; - n_anon_4->m_addornements = "v"; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - n_anon_4->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_c0, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_c0, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_c0, field_name)); - auto n_anon_7 = new NodeVector; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::world_unk_c0__T_anon_7; - n_anon_7->m_rdf_type = RDF_Type::Vector; - n_anon_7->m_node_type = NodeType::Vector; - n_anon_7->m_addornements = "v*"; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - n_anon_7->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_7); - - field_name = "anon_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_c0, field_name)); - auto n_anon_8 = new NodeSimple; - n_anon_8->m_field_name = field_name; - n_anon_8->m_df_type = DF_Type::int16_t; - n_anon_8->m_rdf_type = RDF_Type::int16_t; - n_anon_8->m_node_type = NodeType::Simple; - n_anon_8->m_address = base + offset; - n_anon_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_8); - - field_name = "anon_9"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_c0, field_name)); - auto n_anon_9 = new NodeSimple; - n_anon_9->m_field_name = field_name; - n_anon_9->m_df_type = DF_Type::int16_t; - n_anon_9->m_rdf_type = RDF_Type::int16_t; - n_anon_9->m_node_type = NodeType::Simple; - n_anon_9->m_address = base + offset; - n_anon_9->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_9); - - field_name = "anon_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_c0, field_name)); - auto n_anon_10 = new NodeSimple; - n_anon_10->m_field_name = field_name; - n_anon_10->m_df_type = DF_Type::int16_t; - n_anon_10->m_rdf_type = RDF_Type::int16_t; - n_anon_10->m_node_type = NodeType::Simple; - n_anon_10->m_address = base + offset; - n_anon_10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_10); - -} -void node_from_glowing_barrier(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "triggered"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::glowing_barrier, field_name)); - auto n_triggered = new NodeSimple; - n_triggered->m_field_name = field_name; - n_triggered->m_df_type = DF_Type::Bool; - n_triggered->m_rdf_type = RDF_Type::Bool; - n_triggered->m_node_type = NodeType::Simple; - n_triggered->m_address = base + offset; - n_triggered->m_comment = "set when the glowing barrier vanishes, preventing later HFS events"; - n_triggered->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_triggered); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::glowing_barrier, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "buildings"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::glowing_barrier, field_name)); - auto n_buildings = new NodeVector; - n_buildings->m_field_name = field_name; - n_buildings->m_df_type = DF_Type::int32_t; - n_buildings->m_rdf_type = RDF_Type::Vector; - n_buildings->m_node_type = NodeType::Vector; - n_buildings->m_addornements = "v"; - n_buildings->m_address = base + offset; - n_buildings->m_comment = "when building is deconstructed, causes glowing barrier at pos to vanish and (in fort mode) spawns HFS one z-level below if it has not been set off already"; - n_buildings->m_parent = p_node_parent; - n_buildings->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_buildings); - - field_name = "pos"; - auto n_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::glowing_barrier, field_name)); - n_pos->m_field_name = field_name; - n_pos->m_df_type = DF_Type::coord; - n_pos->m_rdf_type = RDF_Type::Struct; - n_pos->m_node_type = NodeType::Compound; - n_pos->m_address = base + offset; - n_pos->m_defined_in = "df.map.xml"; - n_pos->m_comment = "coordinates of a GlowingBarrier or GlowingFloor tiletype"; - n_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pos); - -} -void node_from_deep_vein_hollow(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "triggered"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::deep_vein_hollow, field_name)); - auto n_triggered = new NodeSimple; - n_triggered->m_field_name = field_name; - n_triggered->m_df_type = DF_Type::Bool; - n_triggered->m_rdf_type = RDF_Type::Bool; - n_triggered->m_node_type = NodeType::Simple; - n_triggered->m_address = base + offset; - n_triggered->m_comment = "set when the underworld spire is breached, preventing subsequent HFS events"; - n_triggered->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_triggered); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::deep_vein_hollow, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "tiles"; - auto n_tiles = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::deep_vein_hollow, field_name)); - n_tiles->m_field_name = field_name; - n_tiles->m_df_type = DF_Type::coord_path; - n_tiles->m_rdf_type = RDF_Type::Struct; - n_tiles->m_node_type = NodeType::Compound; - n_tiles->m_address = base + offset; - n_tiles->m_defined_in = "df.map.xml"; - n_tiles->m_comment = "tile coordinates correspond to open spaces within an underworld spire; revealing one of these tiles triggers the HFS demon wave"; - n_tiles->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tiles); - - field_name = "pos"; - auto n_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::deep_vein_hollow, field_name)); - n_pos->m_field_name = field_name; - n_pos->m_df_type = DF_Type::coord; - n_pos->m_rdf_type = RDF_Type::Struct; - n_pos->m_node_type = NodeType::Compound; - n_pos->m_address = base + offset; - n_pos->m_defined_in = "df.map.xml"; - n_pos->m_comment = "seemingly unused"; - n_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pos); - -} -void node_from_campfire(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "pos"; - auto n_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::campfire, field_name)); - n_pos->m_field_name = field_name; - n_pos->m_df_type = DF_Type::coord; - n_pos->m_rdf_type = RDF_Type::Struct; - n_pos->m_node_type = NodeType::Compound; - n_pos->m_address = base + offset; - n_pos->m_defined_in = "df.map.xml"; - n_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pos); - - field_name = "timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::campfire, field_name)); - auto n_timer = new NodeSimple; - n_timer->m_field_name = field_name; - n_timer->m_df_type = DF_Type::int32_t; - n_timer->m_rdf_type = RDF_Type::int32_t; - n_timer->m_node_type = NodeType::Simple; - n_timer->m_address = base + offset; - n_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_timer); - -} -void node_from_web_cluster(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::web_cluster, field_name)); - auto n_x = new NodeVector; - n_x->m_field_name = field_name; - n_x->m_df_type = DF_Type::int16_t; - n_x->m_rdf_type = RDF_Type::Vector; - n_x->m_node_type = NodeType::Vector; - n_x->m_addornements = "v"; - n_x->m_address = base + offset; - n_x->m_parent = p_node_parent; - n_x->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_x); - - field_name = "y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::web_cluster, field_name)); - auto n_y = new NodeVector; - n_y->m_field_name = field_name; - n_y->m_df_type = DF_Type::int16_t; - n_y->m_rdf_type = RDF_Type::Vector; - n_y->m_node_type = NodeType::Vector; - n_y->m_addornements = "v"; - n_y->m_address = base + offset; - n_y->m_parent = p_node_parent; - n_y->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_y); - - field_name = "z"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::web_cluster, field_name)); - auto n_z = new NodeSimple; - n_z->m_field_name = field_name; - n_z->m_df_type = DF_Type::int16_t; - n_z->m_rdf_type = RDF_Type::int16_t; - n_z->m_node_type = NodeType::Simple; - n_z->m_address = base + offset; - n_z->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_z); - - field_name = "race"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::web_cluster, field_name)); - auto n_race = new NodeSimple; - n_race->m_field_name = field_name; - n_race->m_df_type = DF_Type::int16_t; - n_race->m_rdf_type = RDF_Type::int16_t; - n_race->m_node_type = NodeType::Simple; - n_race->m_address = base + offset; - n_race->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_race); - - field_name = "caste"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::web_cluster, field_name)); - auto n_caste = new NodeSimple; - n_caste->m_field_name = field_name; - n_caste->m_df_type = DF_Type::int16_t; - n_caste->m_rdf_type = RDF_Type::int16_t; - n_caste->m_node_type = NodeType::Simple; - n_caste->m_address = base + offset; - n_caste->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_caste); - - field_name = "pos_min"; - auto n_pos_min = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::web_cluster, field_name)); - n_pos_min->m_field_name = field_name; - n_pos_min->m_df_type = DF_Type::coord2d; - n_pos_min->m_rdf_type = RDF_Type::Struct; - n_pos_min->m_node_type = NodeType::Compound; - n_pos_min->m_address = base + offset; - n_pos_min->m_defined_in = "df.map.xml"; - n_pos_min->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pos_min); - - field_name = "pos_max"; - auto n_pos_max = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::web_cluster, field_name)); - n_pos_max->m_field_name = field_name; - n_pos_max->m_df_type = DF_Type::coord2d; - n_pos_max->m_rdf_type = RDF_Type::Struct; - n_pos_max->m_node_type = NodeType::Compound; - n_pos_max->m_address = base + offset; - n_pos_max->m_defined_in = "df.map.xml"; - n_pos_max->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pos_max); - - field_name = "ambushers"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::web_cluster, field_name)); - auto n_ambushers = new NodeVector; - n_ambushers->m_field_name = field_name; - n_ambushers->m_df_type = DF_Type::int32_t; - n_ambushers->m_rdf_type = RDF_Type::Vector; - n_ambushers->m_node_type = NodeType::Vector; - n_ambushers->m_addornements = "v"; - n_ambushers->m_address = base + offset; - n_ambushers->m_parent = p_node_parent; - n_ambushers->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_ambushers); - -} -void node_from_fire(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "pos"; - auto n_pos = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::fire, field_name)); - n_pos->m_field_name = field_name; - n_pos->m_df_type = DF_Type::coord; - n_pos->m_rdf_type = RDF_Type::Struct; - n_pos->m_node_type = NodeType::Compound; - n_pos->m_address = base + offset; - n_pos->m_defined_in = "df.map.xml"; - n_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pos); - - field_name = "timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::fire, field_name)); - auto n_timer = new NodeSimple; - n_timer->m_field_name = field_name; - n_timer->m_df_type = DF_Type::int16_t; - n_timer->m_rdf_type = RDF_Type::int16_t; - n_timer->m_node_type = NodeType::Simple; - n_timer->m_address = base + offset; - n_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_timer); - - field_name = "temperature"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::fire, field_name)); - auto n_temperature = new NodeSimple; - n_temperature->m_field_name = field_name; - n_temperature->m_df_type = DF_Type::uint16_t; - n_temperature->m_rdf_type = RDF_Type::uint16_t; - n_temperature->m_node_type = NodeType::Simple; - n_temperature->m_address = base + offset; - n_temperature->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_temperature); - - field_name = "temp_unk1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::fire, field_name)); - auto n_temp_unk1 = new NodeSimple; - n_temp_unk1->m_field_name = field_name; - n_temp_unk1->m_df_type = DF_Type::uint16_t; - n_temp_unk1->m_rdf_type = RDF_Type::uint16_t; - n_temp_unk1->m_node_type = NodeType::Simple; - n_temp_unk1->m_address = base + offset; - n_temp_unk1->m_comment = "10000"; - n_temp_unk1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_temp_unk1); - - field_name = "temp_unk2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::fire, field_name)); - auto n_temp_unk2 = new NodeSimple; - n_temp_unk2->m_field_name = field_name; - n_temp_unk2->m_df_type = DF_Type::uint16_t; - n_temp_unk2->m_rdf_type = RDF_Type::uint16_t; - n_temp_unk2->m_node_type = NodeType::Simple; - n_temp_unk2->m_address = base + offset; - n_temp_unk2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_temp_unk2); - - field_name = "temp_unk3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::fire, field_name)); - auto n_temp_unk3 = new NodeSimple; - n_temp_unk3->m_field_name = field_name; - n_temp_unk3->m_df_type = DF_Type::uint16_t; - n_temp_unk3->m_rdf_type = RDF_Type::uint16_t; - n_temp_unk3->m_node_type = NodeType::Simple; - n_temp_unk3->m_address = base + offset; - n_temp_unk3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_temp_unk3); - -} -void node_from_job_handler__T_postings(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_handler__T_postings, field_name)); - auto n_idx = new NodeSimple; - n_idx->m_field_name = field_name; - n_idx->m_df_type = DF_Type::int32_t; - n_idx->m_rdf_type = RDF_Type::int32_t; - n_idx->m_node_type = NodeType::Simple; - n_idx->m_address = base + offset; - n_idx->m_comment = "equal to position in vector"; - n_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_idx); - - field_name = "job"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_handler__T_postings, field_name)); - auto n_job = new NodePointer; - n_job->m_field_name = field_name; - n_job->m_df_type = get_real_subtype(base+offset, DF_Type::job); - n_job->m_rdf_type = RDF_Type::Pointer; - n_job->m_node_type = NodeType::Pointer; - n_job->m_addornements = "*"; - n_job->m_address = base + offset; - n_job->m_comment = "bad if dead flag is set"; - n_job->m_parent = p_node_parent; - n_job->m_defined_in = "df.jobs.xml"; - n_job->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_job); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_handler__T_postings, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::job_handler__T_postings__T_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_handler__T_postings, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_comment = "not saved"; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_job_handler__T_anon_1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_handler__T_anon_1, field_name)); - auto n_anon_1 = new NodePointer; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_anon_1->m_rdf_type = RDF_Type::Pointer; - n_anon_1->m_node_type = NodeType::Pointer; - n_anon_1->m_addornements = "*"; - n_anon_1->m_address = base + offset; - n_anon_1->m_comment = "List seems to be processed index 0 first and then removal swaps last to first"; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_handler__T_anon_1, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_comment = "Seems to have very few bits set in lower half, (not copied with the pointer?)"; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_handler__T_anon_1, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_comment = "Seems to have many bits set in lower half, (not copied with the pointer?)"; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - -} -void node_from_job_handler(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "list"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_handler, field_name)); - auto n_list= new NodeCompound; - n_list->m_field_name = field_name; - n_list->m_df_type = DF_Type::job_list_link; - n_list->m_rdf_type = RDF_Type::DFLinkedList; - n_list->m_node_type = NodeType::Compound; - n_list->m_address = base + offset; - n_list->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_list); - - field_name = "postings"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_handler, field_name)); - auto n_postings = new NodeVector; - n_postings->m_field_name = field_name; - n_postings->m_df_type = DF_Type::job_handler__T_postings; - n_postings->m_rdf_type = RDF_Type::Vector; - n_postings->m_node_type = NodeType::Vector; - n_postings->m_addornements = "v*"; - n_postings->m_address = base + offset; - n_postings->m_comment = "entries never removed"; - n_postings->m_parent = p_node_parent; - n_postings->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_postings); - - field_name = "anon_1"; - auto n_anon_1 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_handler, field_name)); - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::job_handler__T_anon_1; - n_anon_1->m_rdf_type = RDF_Type::Array; - n_anon_1->m_node_type = NodeType::Array; - n_anon_1->m_addornements = "[2000"; - n_anon_1->m_array_size = 2000; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_handler, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_comment = "next slot"; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - -} -void node_from_building_handler(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "all"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_handler, field_name)); - auto n_all = new NodeVector; - n_all->m_field_name = field_name; - n_all->m_df_type = DF_Type::building; - n_all->m_rdf_type = RDF_Type::Vector; - n_all->m_node_type = NodeType::Vector; - n_all->m_defined_in = "df.buildings.xml"; - n_all->m_addornements = "v*"; - n_all->m_address = base + offset; - n_all->m_parent = p_node_parent; - n_all->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_all); - - field_name = "other"; - auto n_other = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_handler, field_name)); - n_other->m_field_name = field_name; - n_other->m_df_type = DF_Type::building; - n_other->m_rdf_type = RDF_Type::Array; - n_other->m_node_type = NodeType::Array; - n_other->m_index_enum = DF_Type::buildings_other_id; - n_other->m_defined_in = "df.buildings.xml"; - n_other->m_addornements = "[91v*"; - n_other->m_array_size = 91; - n_other->m_address = base + offset; - n_other->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_other); - - field_name = "bad"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_handler, field_name)); - auto n_bad = new NodeVector; - n_bad->m_field_name = field_name; - n_bad->m_df_type = DF_Type::building; - n_bad->m_rdf_type = RDF_Type::Vector; - n_bad->m_node_type = NodeType::Vector; - n_bad->m_defined_in = "df.buildings.xml"; - n_bad->m_addornements = "v*"; - n_bad->m_address = base + offset; - n_bad->m_parent = p_node_parent; - n_bad->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bad); - - field_name = "check_bridge_collapse"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_handler, field_name)); - auto n_check_bridge_collapse = new NodeSimple; - n_check_bridge_collapse->m_field_name = field_name; - n_check_bridge_collapse->m_df_type = DF_Type::Bool; - n_check_bridge_collapse->m_rdf_type = RDF_Type::Bool; - n_check_bridge_collapse->m_node_type = NodeType::Simple; - n_check_bridge_collapse->m_address = base + offset; - n_check_bridge_collapse->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_check_bridge_collapse); - - field_name = "check_machine_collapse"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_handler, field_name)); - auto n_check_machine_collapse = new NodeSimple; - n_check_machine_collapse->m_field_name = field_name; - n_check_machine_collapse->m_df_type = DF_Type::Bool; - n_check_machine_collapse->m_rdf_type = RDF_Type::Bool; - n_check_machine_collapse->m_node_type = NodeType::Simple; - n_check_machine_collapse->m_address = base + offset; - n_check_machine_collapse->m_comment = "?"; - n_check_machine_collapse->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_check_machine_collapse); - -} -void node_from_machine_handler(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "all"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::machine_handler, field_name)); - auto n_all = new NodeVector; - n_all->m_field_name = field_name; - n_all->m_df_type = DF_Type::machine; - n_all->m_rdf_type = RDF_Type::Vector; - n_all->m_node_type = NodeType::Vector; - n_all->m_defined_in = "df.machines.xml"; - n_all->m_addornements = "v*"; - n_all->m_address = base + offset; - n_all->m_parent = p_node_parent; - n_all->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_all); - - field_name = "bad"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::machine_handler, field_name)); - auto n_bad = new NodeVector; - n_bad->m_field_name = field_name; - n_bad->m_df_type = DF_Type::machine; - n_bad->m_rdf_type = RDF_Type::Vector; - n_bad->m_node_type = NodeType::Vector; - n_bad->m_defined_in = "df.machines.xml"; - n_bad->m_addornements = "v*"; - n_bad->m_address = base + offset; - n_bad->m_parent = p_node_parent; - n_bad->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bad); - -} -void node_from_mental_picture(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "elements"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture, field_name)); - auto n_elements = new NodeVector; - n_elements->m_field_name = field_name; - n_elements->m_df_type = DF_Type::mental_picture_elementst; - n_elements->m_rdf_type = RDF_Type::Vector; - n_elements->m_node_type = NodeType::Vector; - n_elements->m_defined_in = "df.history.xml"; - n_elements->m_addornements = "v*"; - n_elements->m_address = base + offset; - n_elements->m_parent = p_node_parent; - n_elements->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_elements); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "properties"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture, field_name)); - auto n_properties = new NodeVector; - n_properties->m_field_name = field_name; - n_properties->m_df_type = DF_Type::mental_picture_propertyst; - n_properties->m_rdf_type = RDF_Type::Vector; - n_properties->m_node_type = NodeType::Vector; - n_properties->m_defined_in = "df.history.xml"; - n_properties->m_addornements = "v*"; - n_properties->m_address = base + offset; - n_properties->m_parent = p_node_parent; - n_properties->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_properties); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture, field_name)); - auto n_anon_2 = new NodePointer; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_anon_2->m_rdf_type = RDF_Type::Pointer; - n_anon_2->m_node_type = NodeType::Pointer; - n_anon_2->m_addornements = "*"; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - -} -void node_from_belief_system(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_id = new NodeSimple; - n_id->m_field_name = field_name; - n_id->m_df_type = DF_Type::int32_t; - n_id->m_rdf_type = RDF_Type::int32_t; - n_id->m_node_type = NodeType::Simple; - n_id->m_address = base + offset; - n_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_id); - - field_name = "mental_pictures"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_mental_pictures = new NodeVector; - n_mental_pictures->m_field_name = field_name; - n_mental_pictures->m_df_type = DF_Type::mental_picture; - n_mental_pictures->m_rdf_type = RDF_Type::Vector; - n_mental_pictures->m_node_type = NodeType::Vector; - n_mental_pictures->m_defined_in = "df.world.xml"; - n_mental_pictures->m_addornements = "v*v*"; - n_mental_pictures->m_address = base + offset; - n_mental_pictures->m_parent = p_node_parent; - n_mental_pictures->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_mental_pictures); - - field_name = "deities"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_deities = new NodeVector; - n_deities->m_field_name = field_name; - n_deities->m_df_type = DF_Type::int32_t; - n_deities->m_rdf_type = RDF_Type::Vector; - n_deities->m_node_type = NodeType::Vector; - n_deities->m_addornements = "v"; - n_deities->m_address = base + offset; - n_deities->m_comment = "historical figure ID of gods the belief system is concerned with"; - n_deities->m_parent = p_node_parent; - n_deities->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_deities); - - field_name = "worship_levels"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_worship_levels = new NodeVector; - n_worship_levels->m_field_name = field_name; - n_worship_levels->m_df_type = DF_Type::int32_t; - n_worship_levels->m_rdf_type = RDF_Type::Vector; - n_worship_levels->m_node_type = NodeType::Vector; - n_worship_levels->m_addornements = "v"; - n_worship_levels->m_address = base + offset; - n_worship_levels->m_comment = "worship level for each god referenced in the deities field"; - n_worship_levels->m_parent = p_node_parent; - n_worship_levels->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_worship_levels); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_7 = new NodeSimple; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::int32_t; - n_anon_7->m_rdf_type = RDF_Type::int32_t; - n_anon_7->m_node_type = NodeType::Simple; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_7); - - field_name = "anon_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_8 = new NodeSimple; - n_anon_8->m_field_name = field_name; - n_anon_8->m_df_type = DF_Type::int32_t; - n_anon_8->m_rdf_type = RDF_Type::int32_t; - n_anon_8->m_node_type = NodeType::Simple; - n_anon_8->m_address = base + offset; - n_anon_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_8); - - field_name = "anon_9"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_9 = new NodeSimple; - n_anon_9->m_field_name = field_name; - n_anon_9->m_df_type = DF_Type::int32_t; - n_anon_9->m_rdf_type = RDF_Type::int32_t; - n_anon_9->m_node_type = NodeType::Simple; - n_anon_9->m_address = base + offset; - n_anon_9->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_9); - - field_name = "anon_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_10 = new NodeSimple; - n_anon_10->m_field_name = field_name; - n_anon_10->m_df_type = DF_Type::int32_t; - n_anon_10->m_rdf_type = RDF_Type::int32_t; - n_anon_10->m_node_type = NodeType::Simple; - n_anon_10->m_address = base + offset; - n_anon_10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_10); - - field_name = "anon_11"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_11 = new NodeSimple; - n_anon_11->m_field_name = field_name; - n_anon_11->m_df_type = DF_Type::int32_t; - n_anon_11->m_rdf_type = RDF_Type::int32_t; - n_anon_11->m_node_type = NodeType::Simple; - n_anon_11->m_address = base + offset; - n_anon_11->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_11); - - field_name = "anon_12"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_12 = new NodeSimple; - n_anon_12->m_field_name = field_name; - n_anon_12->m_df_type = DF_Type::int32_t; - n_anon_12->m_rdf_type = RDF_Type::int32_t; - n_anon_12->m_node_type = NodeType::Simple; - n_anon_12->m_address = base + offset; - n_anon_12->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_12); - - field_name = "anon_13"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_13 = new NodeSimple; - n_anon_13->m_field_name = field_name; - n_anon_13->m_df_type = DF_Type::int32_t; - n_anon_13->m_rdf_type = RDF_Type::int32_t; - n_anon_13->m_node_type = NodeType::Simple; - n_anon_13->m_address = base + offset; - n_anon_13->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_13); - - field_name = "anon_14"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_14 = new NodeSimple; - n_anon_14->m_field_name = field_name; - n_anon_14->m_df_type = DF_Type::int32_t; - n_anon_14->m_rdf_type = RDF_Type::int32_t; - n_anon_14->m_node_type = NodeType::Simple; - n_anon_14->m_address = base + offset; - n_anon_14->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_14); - - field_name = "anon_15"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_15 = new NodeSimple; - n_anon_15->m_field_name = field_name; - n_anon_15->m_df_type = DF_Type::int32_t; - n_anon_15->m_rdf_type = RDF_Type::int32_t; - n_anon_15->m_node_type = NodeType::Simple; - n_anon_15->m_address = base + offset; - n_anon_15->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_15); - - field_name = "anon_16"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_16 = new NodeSimple; - n_anon_16->m_field_name = field_name; - n_anon_16->m_df_type = DF_Type::int32_t; - n_anon_16->m_rdf_type = RDF_Type::int32_t; - n_anon_16->m_node_type = NodeType::Simple; - n_anon_16->m_address = base + offset; - n_anon_16->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_16); - - field_name = "anon_17"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_17 = new NodeSimple; - n_anon_17->m_field_name = field_name; - n_anon_17->m_df_type = DF_Type::int32_t; - n_anon_17->m_rdf_type = RDF_Type::int32_t; - n_anon_17->m_node_type = NodeType::Simple; - n_anon_17->m_address = base + offset; - n_anon_17->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_17); - - field_name = "anon_18"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_18 = new NodeSimple; - n_anon_18->m_field_name = field_name; - n_anon_18->m_df_type = DF_Type::int32_t; - n_anon_18->m_rdf_type = RDF_Type::int32_t; - n_anon_18->m_node_type = NodeType::Simple; - n_anon_18->m_address = base + offset; - n_anon_18->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_18); - - field_name = "anon_19"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_19 = new NodeSimple; - n_anon_19->m_field_name = field_name; - n_anon_19->m_df_type = DF_Type::int32_t; - n_anon_19->m_rdf_type = RDF_Type::int32_t; - n_anon_19->m_node_type = NodeType::Simple; - n_anon_19->m_address = base + offset; - n_anon_19->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_19); - - field_name = "anon_20"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_20 = new NodeSimple; - n_anon_20->m_field_name = field_name; - n_anon_20->m_df_type = DF_Type::int32_t; - n_anon_20->m_rdf_type = RDF_Type::int32_t; - n_anon_20->m_node_type = NodeType::Simple; - n_anon_20->m_address = base + offset; - n_anon_20->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_20); - - field_name = "anon_21"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_21 = new NodeSimple; - n_anon_21->m_field_name = field_name; - n_anon_21->m_df_type = DF_Type::int32_t; - n_anon_21->m_rdf_type = RDF_Type::int32_t; - n_anon_21->m_node_type = NodeType::Simple; - n_anon_21->m_address = base + offset; - n_anon_21->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_21); - - field_name = "anon_22"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_22 = new NodeSimple; - n_anon_22->m_field_name = field_name; - n_anon_22->m_df_type = DF_Type::int32_t; - n_anon_22->m_rdf_type = RDF_Type::int32_t; - n_anon_22->m_node_type = NodeType::Simple; - n_anon_22->m_address = base + offset; - n_anon_22->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_22); - - field_name = "anon_23"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_23 = new NodeSimple; - n_anon_23->m_field_name = field_name; - n_anon_23->m_df_type = DF_Type::int32_t; - n_anon_23->m_rdf_type = RDF_Type::int32_t; - n_anon_23->m_node_type = NodeType::Simple; - n_anon_23->m_address = base + offset; - n_anon_23->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_23); - - field_name = "anon_24"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_24 = new NodeSimple; - n_anon_24->m_field_name = field_name; - n_anon_24->m_df_type = DF_Type::int32_t; - n_anon_24->m_rdf_type = RDF_Type::int32_t; - n_anon_24->m_node_type = NodeType::Simple; - n_anon_24->m_address = base + offset; - n_anon_24->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_24); - - field_name = "anon_25"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_25 = new NodeSimple; - n_anon_25->m_field_name = field_name; - n_anon_25->m_df_type = DF_Type::int32_t; - n_anon_25->m_rdf_type = RDF_Type::int32_t; - n_anon_25->m_node_type = NodeType::Simple; - n_anon_25->m_address = base + offset; - n_anon_25->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_25); - - field_name = "anon_26"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_26 = new NodeSimple; - n_anon_26->m_field_name = field_name; - n_anon_26->m_df_type = DF_Type::int32_t; - n_anon_26->m_rdf_type = RDF_Type::int32_t; - n_anon_26->m_node_type = NodeType::Simple; - n_anon_26->m_address = base + offset; - n_anon_26->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_26); - - field_name = "anon_27"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_27 = new NodeSimple; - n_anon_27->m_field_name = field_name; - n_anon_27->m_df_type = DF_Type::int32_t; - n_anon_27->m_rdf_type = RDF_Type::int32_t; - n_anon_27->m_node_type = NodeType::Simple; - n_anon_27->m_address = base + offset; - n_anon_27->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_27); - - field_name = "anon_28"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_28 = new NodeSimple; - n_anon_28->m_field_name = field_name; - n_anon_28->m_df_type = DF_Type::int32_t; - n_anon_28->m_rdf_type = RDF_Type::int32_t; - n_anon_28->m_node_type = NodeType::Simple; - n_anon_28->m_address = base + offset; - n_anon_28->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_28); - - field_name = "anon_29"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_29 = new NodeSimple; - n_anon_29->m_field_name = field_name; - n_anon_29->m_df_type = DF_Type::int32_t; - n_anon_29->m_rdf_type = RDF_Type::int32_t; - n_anon_29->m_node_type = NodeType::Simple; - n_anon_29->m_address = base + offset; - n_anon_29->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_29); - - field_name = "anon_30"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_30 = new NodeSimple; - n_anon_30->m_field_name = field_name; - n_anon_30->m_df_type = DF_Type::int32_t; - n_anon_30->m_rdf_type = RDF_Type::int32_t; - n_anon_30->m_node_type = NodeType::Simple; - n_anon_30->m_address = base + offset; - n_anon_30->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_30); - - field_name = "anon_31"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_31 = new NodeSimple; - n_anon_31->m_field_name = field_name; - n_anon_31->m_df_type = DF_Type::int32_t; - n_anon_31->m_rdf_type = RDF_Type::int32_t; - n_anon_31->m_node_type = NodeType::Simple; - n_anon_31->m_address = base + offset; - n_anon_31->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_31); - - field_name = "anon_32"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_32 = new NodeSimple; - n_anon_32->m_field_name = field_name; - n_anon_32->m_df_type = DF_Type::int32_t; - n_anon_32->m_rdf_type = RDF_Type::int32_t; - n_anon_32->m_node_type = NodeType::Simple; - n_anon_32->m_address = base + offset; - n_anon_32->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_32); - - field_name = "anon_33"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_33 = new NodeSimple; - n_anon_33->m_field_name = field_name; - n_anon_33->m_df_type = DF_Type::int32_t; - n_anon_33->m_rdf_type = RDF_Type::int32_t; - n_anon_33->m_node_type = NodeType::Simple; - n_anon_33->m_address = base + offset; - n_anon_33->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_33); - - field_name = "anon_34"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_34 = new NodeSimple; - n_anon_34->m_field_name = field_name; - n_anon_34->m_df_type = DF_Type::int32_t; - n_anon_34->m_rdf_type = RDF_Type::int32_t; - n_anon_34->m_node_type = NodeType::Simple; - n_anon_34->m_address = base + offset; - n_anon_34->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_34); - - field_name = "anon_35"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_35 = new NodeSimple; - n_anon_35->m_field_name = field_name; - n_anon_35->m_df_type = DF_Type::int32_t; - n_anon_35->m_rdf_type = RDF_Type::int32_t; - n_anon_35->m_node_type = NodeType::Simple; - n_anon_35->m_address = base + offset; - n_anon_35->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_35); - - field_name = "anon_36"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_36 = new NodeSimple; - n_anon_36->m_field_name = field_name; - n_anon_36->m_df_type = DF_Type::int32_t; - n_anon_36->m_rdf_type = RDF_Type::int32_t; - n_anon_36->m_node_type = NodeType::Simple; - n_anon_36->m_address = base + offset; - n_anon_36->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_36); - - field_name = "anon_37"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_37 = new NodeSimple; - n_anon_37->m_field_name = field_name; - n_anon_37->m_df_type = DF_Type::int32_t; - n_anon_37->m_rdf_type = RDF_Type::int32_t; - n_anon_37->m_node_type = NodeType::Simple; - n_anon_37->m_address = base + offset; - n_anon_37->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_37); - - field_name = "anon_38"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_38 = new NodeSimple; - n_anon_38->m_field_name = field_name; - n_anon_38->m_df_type = DF_Type::int32_t; - n_anon_38->m_rdf_type = RDF_Type::int32_t; - n_anon_38->m_node_type = NodeType::Simple; - n_anon_38->m_address = base + offset; - n_anon_38->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_38); - - field_name = "anon_39"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_39 = new NodeSimple; - n_anon_39->m_field_name = field_name; - n_anon_39->m_df_type = DF_Type::int32_t; - n_anon_39->m_rdf_type = RDF_Type::int32_t; - n_anon_39->m_node_type = NodeType::Simple; - n_anon_39->m_address = base + offset; - n_anon_39->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_39); - - field_name = "anon_40"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_40 = new NodeSimple; - n_anon_40->m_field_name = field_name; - n_anon_40->m_df_type = DF_Type::int32_t; - n_anon_40->m_rdf_type = RDF_Type::int32_t; - n_anon_40->m_node_type = NodeType::Simple; - n_anon_40->m_address = base + offset; - n_anon_40->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_40); - - field_name = "anon_41"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_41 = new NodeSimple; - n_anon_41->m_field_name = field_name; - n_anon_41->m_df_type = DF_Type::int32_t; - n_anon_41->m_rdf_type = RDF_Type::int32_t; - n_anon_41->m_node_type = NodeType::Simple; - n_anon_41->m_address = base + offset; - n_anon_41->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_41); - - field_name = "anon_42"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_42 = new NodeSimple; - n_anon_42->m_field_name = field_name; - n_anon_42->m_df_type = DF_Type::int32_t; - n_anon_42->m_rdf_type = RDF_Type::int32_t; - n_anon_42->m_node_type = NodeType::Simple; - n_anon_42->m_address = base + offset; - n_anon_42->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_42); - - field_name = "anon_43"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_43 = new NodeSimple; - n_anon_43->m_field_name = field_name; - n_anon_43->m_df_type = DF_Type::int32_t; - n_anon_43->m_rdf_type = RDF_Type::int32_t; - n_anon_43->m_node_type = NodeType::Simple; - n_anon_43->m_address = base + offset; - n_anon_43->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_43); - - field_name = "anon_44"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_44 = new NodeSimple; - n_anon_44->m_field_name = field_name; - n_anon_44->m_df_type = DF_Type::int32_t; - n_anon_44->m_rdf_type = RDF_Type::int32_t; - n_anon_44->m_node_type = NodeType::Simple; - n_anon_44->m_address = base + offset; - n_anon_44->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_44); - - field_name = "anon_45"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_45 = new NodeSimple; - n_anon_45->m_field_name = field_name; - n_anon_45->m_df_type = DF_Type::int32_t; - n_anon_45->m_rdf_type = RDF_Type::int32_t; - n_anon_45->m_node_type = NodeType::Simple; - n_anon_45->m_address = base + offset; - n_anon_45->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_45); - - field_name = "anon_46"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_46 = new NodeSimple; - n_anon_46->m_field_name = field_name; - n_anon_46->m_df_type = DF_Type::int32_t; - n_anon_46->m_rdf_type = RDF_Type::int32_t; - n_anon_46->m_node_type = NodeType::Simple; - n_anon_46->m_address = base + offset; - n_anon_46->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_46); - - field_name = "anon_47"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_47 = new NodeSimple; - n_anon_47->m_field_name = field_name; - n_anon_47->m_df_type = DF_Type::int32_t; - n_anon_47->m_rdf_type = RDF_Type::int32_t; - n_anon_47->m_node_type = NodeType::Simple; - n_anon_47->m_address = base + offset; - n_anon_47->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_47); - - field_name = "anon_48"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_48 = new NodeSimple; - n_anon_48->m_field_name = field_name; - n_anon_48->m_df_type = DF_Type::int32_t; - n_anon_48->m_rdf_type = RDF_Type::int32_t; - n_anon_48->m_node_type = NodeType::Simple; - n_anon_48->m_address = base + offset; - n_anon_48->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_48); - - field_name = "anon_49"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_49 = new NodeSimple; - n_anon_49->m_field_name = field_name; - n_anon_49->m_df_type = DF_Type::int32_t; - n_anon_49->m_rdf_type = RDF_Type::int32_t; - n_anon_49->m_node_type = NodeType::Simple; - n_anon_49->m_address = base + offset; - n_anon_49->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_49); - - field_name = "anon_50"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_50 = new NodeSimple; - n_anon_50->m_field_name = field_name; - n_anon_50->m_df_type = DF_Type::int32_t; - n_anon_50->m_rdf_type = RDF_Type::int32_t; - n_anon_50->m_node_type = NodeType::Simple; - n_anon_50->m_address = base + offset; - n_anon_50->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_50); - - field_name = "anon_51"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_51 = new NodeSimple; - n_anon_51->m_field_name = field_name; - n_anon_51->m_df_type = DF_Type::int32_t; - n_anon_51->m_rdf_type = RDF_Type::int32_t; - n_anon_51->m_node_type = NodeType::Simple; - n_anon_51->m_address = base + offset; - n_anon_51->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_51); - - field_name = "anon_52"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_52 = new NodeSimple; - n_anon_52->m_field_name = field_name; - n_anon_52->m_df_type = DF_Type::int32_t; - n_anon_52->m_rdf_type = RDF_Type::int32_t; - n_anon_52->m_node_type = NodeType::Simple; - n_anon_52->m_address = base + offset; - n_anon_52->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_52); - - field_name = "anon_53"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_53 = new NodeSimple; - n_anon_53->m_field_name = field_name; - n_anon_53->m_df_type = DF_Type::int32_t; - n_anon_53->m_rdf_type = RDF_Type::int32_t; - n_anon_53->m_node_type = NodeType::Simple; - n_anon_53->m_address = base + offset; - n_anon_53->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_53); - - field_name = "anon_54"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_54 = new NodeSimple; - n_anon_54->m_field_name = field_name; - n_anon_54->m_df_type = DF_Type::int32_t; - n_anon_54->m_rdf_type = RDF_Type::int32_t; - n_anon_54->m_node_type = NodeType::Simple; - n_anon_54->m_address = base + offset; - n_anon_54->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_54); - - field_name = "anon_55"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_55 = new NodeSimple; - n_anon_55->m_field_name = field_name; - n_anon_55->m_df_type = DF_Type::int32_t; - n_anon_55->m_rdf_type = RDF_Type::int32_t; - n_anon_55->m_node_type = NodeType::Simple; - n_anon_55->m_address = base + offset; - n_anon_55->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_55); - - field_name = "anon_56"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_56 = new NodeSimple; - n_anon_56->m_field_name = field_name; - n_anon_56->m_df_type = DF_Type::int32_t; - n_anon_56->m_rdf_type = RDF_Type::int32_t; - n_anon_56->m_node_type = NodeType::Simple; - n_anon_56->m_address = base + offset; - n_anon_56->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_56); - - field_name = "anon_57"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_57 = new NodeSimple; - n_anon_57->m_field_name = field_name; - n_anon_57->m_df_type = DF_Type::int32_t; - n_anon_57->m_rdf_type = RDF_Type::int32_t; - n_anon_57->m_node_type = NodeType::Simple; - n_anon_57->m_address = base + offset; - n_anon_57->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_57); - - field_name = "anon_58"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_58 = new NodeSimple; - n_anon_58->m_field_name = field_name; - n_anon_58->m_df_type = DF_Type::int32_t; - n_anon_58->m_rdf_type = RDF_Type::int32_t; - n_anon_58->m_node_type = NodeType::Simple; - n_anon_58->m_address = base + offset; - n_anon_58->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_58); - - field_name = "anon_59"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_59 = new NodeSimple; - n_anon_59->m_field_name = field_name; - n_anon_59->m_df_type = DF_Type::int32_t; - n_anon_59->m_rdf_type = RDF_Type::int32_t; - n_anon_59->m_node_type = NodeType::Simple; - n_anon_59->m_address = base + offset; - n_anon_59->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_59); - - field_name = "anon_60"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_60 = new NodeSimple; - n_anon_60->m_field_name = field_name; - n_anon_60->m_df_type = DF_Type::int32_t; - n_anon_60->m_rdf_type = RDF_Type::int32_t; - n_anon_60->m_node_type = NodeType::Simple; - n_anon_60->m_address = base + offset; - n_anon_60->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_60); - - field_name = "anon_61"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_61 = new NodeSimple; - n_anon_61->m_field_name = field_name; - n_anon_61->m_df_type = DF_Type::int32_t; - n_anon_61->m_rdf_type = RDF_Type::int32_t; - n_anon_61->m_node_type = NodeType::Simple; - n_anon_61->m_address = base + offset; - n_anon_61->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_61); - - field_name = "anon_62"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_62 = new NodeSimple; - n_anon_62->m_field_name = field_name; - n_anon_62->m_df_type = DF_Type::int32_t; - n_anon_62->m_rdf_type = RDF_Type::int32_t; - n_anon_62->m_node_type = NodeType::Simple; - n_anon_62->m_address = base + offset; - n_anon_62->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_62); - - field_name = "anon_63"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_63 = new NodeSimple; - n_anon_63->m_field_name = field_name; - n_anon_63->m_df_type = DF_Type::int32_t; - n_anon_63->m_rdf_type = RDF_Type::int32_t; - n_anon_63->m_node_type = NodeType::Simple; - n_anon_63->m_address = base + offset; - n_anon_63->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_63); - - field_name = "anon_64"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); - auto n_anon_64 = new NodeSimple; - n_anon_64->m_field_name = field_name; - n_anon_64->m_df_type = DF_Type::int32_t; - n_anon_64->m_rdf_type = RDF_Type::int32_t; - n_anon_64->m_node_type = NodeType::Simple; - n_anon_64->m_address = base + offset; - n_anon_64->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_64); - -} -void node_from_world__T_vermin(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "all"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_vermin, field_name)); - auto n_all = new NodeVector; - n_all->m_field_name = field_name; - n_all->m_df_type = DF_Type::vermin; - n_all->m_rdf_type = RDF_Type::Vector; - n_all->m_node_type = NodeType::Vector; - n_all->m_defined_in = "df.vermin.xml"; - n_all->m_addornements = "v*"; - n_all->m_address = base + offset; - n_all->m_parent = p_node_parent; - n_all->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_all); - - field_name = "colonies"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_vermin, field_name)); - auto n_colonies = new NodeVector; - n_colonies->m_field_name = field_name; - n_colonies->m_df_type = DF_Type::vermin; - n_colonies->m_rdf_type = RDF_Type::Vector; - n_colonies->m_node_type = NodeType::Vector; - n_colonies->m_defined_in = "df.vermin.xml"; - n_colonies->m_addornements = "v*"; - n_colonies->m_address = base + offset; - n_colonies->m_parent = p_node_parent; - n_colonies->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_colonies); - -} -void node_from_world__T_entities(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "all"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_entities, field_name)); - auto n_all = new NodeVector; - n_all->m_field_name = field_name; - n_all->m_df_type = DF_Type::historical_entity; - n_all->m_rdf_type = RDF_Type::Vector; - n_all->m_node_type = NodeType::Vector; - n_all->m_defined_in = "df.entities.xml"; - n_all->m_addornements = "v*"; - n_all->m_address = base + offset; - n_all->m_parent = p_node_parent; - n_all->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_all); - - field_name = "bad"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_entities, field_name)); - auto n_bad = new NodeVector; - n_bad->m_field_name = field_name; - n_bad->m_df_type = DF_Type::historical_entity; - n_bad->m_rdf_type = RDF_Type::Vector; - n_bad->m_node_type = NodeType::Vector; - n_bad->m_defined_in = "df.entities.xml"; - n_bad->m_addornements = "v*"; - n_bad->m_address = base + offset; - n_bad->m_parent = p_node_parent; - n_bad->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bad); - -} -void node_from_world__T_worldgen_coord_buf(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "slots"; - auto n_slots = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_coord_buf, field_name)); - n_slots->m_field_name = field_name; - n_slots->m_df_type = DF_Type::coord2d; - n_slots->m_rdf_type = RDF_Type::Array; - n_slots->m_node_type = NodeType::Array; - n_slots->m_defined_in = "df.map.xml"; - n_slots->m_addornements = "[20000"; - n_slots->m_array_size = 20000; - n_slots->m_address = base + offset; - n_slots->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_slots); - - field_name = "next_slot"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_coord_buf, field_name)); - auto n_next_slot = new NodeSimple; - n_next_slot->m_field_name = field_name; - n_next_slot->m_df_type = DF_Type::int16_t; - n_next_slot->m_rdf_type = RDF_Type::int16_t; - n_next_slot->m_node_type = NodeType::Simple; - n_next_slot->m_address = base + offset; - n_next_slot->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_next_slot); - -} -void node_from_world__T_units(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "all"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_units, field_name)); - auto n_all = new NodeVector; - n_all->m_field_name = field_name; - n_all->m_df_type = DF_Type::unit; - n_all->m_rdf_type = RDF_Type::Vector; - n_all->m_node_type = NodeType::Vector; - n_all->m_defined_in = "df.units.xml"; - n_all->m_addornements = "v*"; - n_all->m_address = base + offset; - n_all->m_parent = p_node_parent; - n_all->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_all); - - field_name = "active"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_units, field_name)); - auto n_active = new NodeVector; - n_active->m_field_name = field_name; - n_active->m_df_type = DF_Type::unit; - n_active->m_rdf_type = RDF_Type::Vector; - n_active->m_node_type = NodeType::Vector; - n_active->m_defined_in = "df.units.xml"; - n_active->m_addornements = "v*"; - n_active->m_address = base + offset; - n_active->m_comment = "not sorted, entry 0 is adventurer"; - n_active->m_parent = p_node_parent; - n_active->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_active); - - field_name = "other"; - auto n_other = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_units, field_name)); - n_other->m_field_name = field_name; - n_other->m_df_type = DF_Type::unit; - n_other->m_rdf_type = RDF_Type::Array; - n_other->m_node_type = NodeType::Array; - n_other->m_index_enum = DF_Type::units_other_id; - n_other->m_defined_in = "df.units.xml"; - n_other->m_addornements = "[2v*"; - n_other->m_array_size = 2; - n_other->m_address = base + offset; - n_other->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_other); - - field_name = "bad"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_units, field_name)); - auto n_bad = new NodeVector; - n_bad->m_field_name = field_name; - n_bad->m_df_type = DF_Type::unit; - n_bad->m_rdf_type = RDF_Type::Vector; - n_bad->m_node_type = NodeType::Vector; - n_bad->m_defined_in = "df.units.xml"; - n_bad->m_addornements = "v*"; - n_bad->m_address = base + offset; - n_bad->m_parent = p_node_parent; - n_bad->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bad); - - field_name = "unknown"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_units, field_name)); - auto n_unknown = new NodeVector; - n_unknown->m_field_name = field_name; - n_unknown->m_df_type = DF_Type::Void; - n_unknown->m_rdf_type = RDF_Type::Vector; - n_unknown->m_node_type = NodeType::Vector; - n_unknown->m_addornements = "v"; - n_unknown->m_address = base + offset; - n_unknown->m_parent = p_node_parent; - n_unknown->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unknown); - -} -void node_from_world__T_nemesis(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "all"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_nemesis, field_name)); - auto n_all = new NodeVector; - n_all->m_field_name = field_name; - n_all->m_df_type = DF_Type::nemesis_record; - n_all->m_rdf_type = RDF_Type::Vector; - n_all->m_node_type = NodeType::Vector; - n_all->m_defined_in = "df.legends.xml"; - n_all->m_addornements = "v*"; - n_all->m_address = base + offset; - n_all->m_parent = p_node_parent; - n_all->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_all); - - field_name = "other"; - auto n_other = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_nemesis, field_name)); - n_other->m_field_name = field_name; - n_other->m_df_type = DF_Type::nemesis_record; - n_other->m_rdf_type = RDF_Type::Array; - n_other->m_node_type = NodeType::Array; - n_other->m_defined_in = "df.legends.xml"; - n_other->m_addornements = "[2v*"; - n_other->m_array_size = 2; - n_other->m_address = base + offset; - n_other->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_other); - - field_name = "bad"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_nemesis, field_name)); - auto n_bad = new NodeVector; - n_bad->m_field_name = field_name; - n_bad->m_df_type = DF_Type::nemesis_record; - n_bad->m_rdf_type = RDF_Type::Vector; - n_bad->m_node_type = NodeType::Vector; - n_bad->m_defined_in = "df.legends.xml"; - n_bad->m_addornements = "v*"; - n_bad->m_address = base + offset; - n_bad->m_parent = p_node_parent; - n_bad->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bad); - - field_name = "unk4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_nemesis, field_name)); - auto n_unk4 = new NodeSimple; - n_unk4->m_field_name = field_name; - n_unk4->m_df_type = DF_Type::Bool; - n_unk4->m_rdf_type = RDF_Type::Bool; - n_unk4->m_node_type = NodeType::Simple; - n_unk4->m_address = base + offset; - n_unk4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk4); - -} -void node_from_world__T_items(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "all"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_items, field_name)); - auto n_all = new NodeVector; - n_all->m_field_name = field_name; - n_all->m_df_type = DF_Type::item; - n_all->m_rdf_type = RDF_Type::Vector; - n_all->m_node_type = NodeType::Vector; - n_all->m_defined_in = "df.items.xml"; - n_all->m_addornements = "v*"; - n_all->m_address = base + offset; - n_all->m_parent = p_node_parent; - n_all->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_all); - - field_name = "other"; - auto n_other = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_items, field_name)); - n_other->m_field_name = field_name; - n_other->m_df_type = DF_Type::item; - n_other->m_rdf_type = RDF_Type::Array; - n_other->m_node_type = NodeType::Array; - n_other->m_index_enum = DF_Type::items_other_id; - n_other->m_defined_in = "df.items.xml"; - n_other->m_addornements = "[132v*"; - n_other->m_array_size = 132; - n_other->m_address = base + offset; - n_other->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_other); - - field_name = "bad"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_items, field_name)); - auto n_bad = new NodeVector; - n_bad->m_field_name = field_name; - n_bad->m_df_type = DF_Type::item; - n_bad->m_rdf_type = RDF_Type::Vector; - n_bad->m_node_type = NodeType::Vector; - n_bad->m_defined_in = "df.items.xml"; - n_bad->m_addornements = "v*"; - n_bad->m_address = base + offset; - n_bad->m_parent = p_node_parent; - n_bad->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bad); - - field_name = "bad_tag"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_items, field_name)); - auto n_bad_tag = new NodeVector; - n_bad_tag->m_field_name = field_name; - n_bad_tag->m_df_type = DF_Type::int32_t; - n_bad_tag->m_rdf_type = RDF_Type::Vector; - n_bad_tag->m_node_type = NodeType::Vector; - n_bad_tag->m_addornements = "v"; - n_bad_tag->m_address = base + offset; - n_bad_tag->m_parent = p_node_parent; - n_bad_tag->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bad_tag); - -} -void node_from_world__T_artifacts(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "all"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_artifacts, field_name)); - auto n_all = new NodeVector; - n_all->m_field_name = field_name; - n_all->m_df_type = DF_Type::artifact_record; - n_all->m_rdf_type = RDF_Type::Vector; - n_all->m_node_type = NodeType::Vector; - n_all->m_defined_in = "df.legends.xml"; - n_all->m_addornements = "v*"; - n_all->m_address = base + offset; - n_all->m_parent = p_node_parent; - n_all->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_all); - - field_name = "bad"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_artifacts, field_name)); - auto n_bad = new NodeVector; - n_bad->m_field_name = field_name; - n_bad->m_df_type = DF_Type::artifact_record; - n_bad->m_rdf_type = RDF_Type::Vector; - n_bad->m_node_type = NodeType::Vector; - n_bad->m_defined_in = "df.legends.xml"; - n_bad->m_addornements = "v*"; - n_bad->m_address = base + offset; - n_bad->m_parent = p_node_parent; - n_bad->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bad); - -} -void node_from_world__T_flow_guides(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "all"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_flow_guides, field_name)); - auto n_all = new NodeVector; - n_all->m_field_name = field_name; - n_all->m_df_type = DF_Type::flow_guide; - n_all->m_rdf_type = RDF_Type::Vector; - n_all->m_node_type = NodeType::Vector; - n_all->m_defined_in = "df.map.xml"; - n_all->m_addornements = "v*"; - n_all->m_address = base + offset; - n_all->m_parent = p_node_parent; - n_all->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_all); - - field_name = "bad"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_flow_guides, field_name)); - auto n_bad = new NodeVector; - n_bad->m_field_name = field_name; - n_bad->m_df_type = DF_Type::flow_guide; - n_bad->m_rdf_type = RDF_Type::Vector; - n_bad->m_node_type = NodeType::Vector; - n_bad->m_defined_in = "df.map.xml"; - n_bad->m_addornements = "v*"; - n_bad->m_address = base + offset; - n_bad->m_parent = p_node_parent; - n_bad->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bad); - -} -void node_from_world__T_stockpile__T_simple1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile__T_simple1, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int8_t; - n_anon_1->m_rdf_type = RDF_Type::int8_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "food"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile__T_simple1, field_name)); - auto n_food = new NodeSimple; - n_food->m_field_name = field_name; - n_food->m_df_type = DF_Type::int8_t; - n_food->m_rdf_type = RDF_Type::int8_t; - n_food->m_node_type = NodeType::Simple; - n_food->m_address = base + offset; - n_food->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_food); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile__T_simple1, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int8_t; - n_anon_2->m_rdf_type = RDF_Type::int8_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile__T_simple1, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int8_t; - n_anon_3->m_rdf_type = RDF_Type::int8_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - -} -void node_from_world__T_stockpile__T_simple2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "seeds"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile__T_simple2, field_name)); - auto n_seeds = new NodeSimple; - n_seeds->m_field_name = field_name; - n_seeds->m_df_type = DF_Type::int8_t; - n_seeds->m_rdf_type = RDF_Type::int8_t; - n_seeds->m_node_type = NodeType::Simple; - n_seeds->m_address = base + offset; - n_seeds->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_seeds); - - field_name = "plants"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile__T_simple2, field_name)); - auto n_plants = new NodeSimple; - n_plants->m_field_name = field_name; - n_plants->m_df_type = DF_Type::int8_t; - n_plants->m_rdf_type = RDF_Type::int8_t; - n_plants->m_node_type = NodeType::Simple; - n_plants->m_address = base + offset; - n_plants->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_plants); - - field_name = "cheese"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile__T_simple2, field_name)); - auto n_cheese = new NodeSimple; - n_cheese->m_field_name = field_name; - n_cheese->m_df_type = DF_Type::int8_t; - n_cheese->m_rdf_type = RDF_Type::int8_t; - n_cheese->m_node_type = NodeType::Simple; - n_cheese->m_address = base + offset; - n_cheese->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cheese); - - field_name = "fish"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile__T_simple2, field_name)); - auto n_fish = new NodeSimple; - n_fish->m_field_name = field_name; - n_fish->m_df_type = DF_Type::int8_t; - n_fish->m_rdf_type = RDF_Type::int8_t; - n_fish->m_node_type = NodeType::Simple; - n_fish->m_address = base + offset; - n_fish->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_fish); - - field_name = "meat"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile__T_simple2, field_name)); - auto n_meat = new NodeSimple; - n_meat->m_field_name = field_name; - n_meat->m_df_type = DF_Type::int8_t; - n_meat->m_rdf_type = RDF_Type::int8_t; - n_meat->m_node_type = NodeType::Simple; - n_meat->m_address = base + offset; - n_meat->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_meat); - - field_name = "leaves"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile__T_simple2, field_name)); - auto n_leaves = new NodeSimple; - n_leaves->m_field_name = field_name; - n_leaves->m_df_type = DF_Type::int8_t; - n_leaves->m_rdf_type = RDF_Type::int8_t; - n_leaves->m_node_type = NodeType::Simple; - n_leaves->m_address = base + offset; - n_leaves->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_leaves); - - field_name = "powder"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile__T_simple2, field_name)); - auto n_powder = new NodeSimple; - n_powder->m_field_name = field_name; - n_powder->m_df_type = DF_Type::int8_t; - n_powder->m_rdf_type = RDF_Type::int8_t; - n_powder->m_node_type = NodeType::Simple; - n_powder->m_address = base + offset; - n_powder->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_powder); - - field_name = "eggs"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile__T_simple2, field_name)); - auto n_eggs = new NodeSimple; - n_eggs->m_field_name = field_name; - n_eggs->m_df_type = DF_Type::int8_t; - n_eggs->m_rdf_type = RDF_Type::int8_t; - n_eggs->m_node_type = NodeType::Simple; - n_eggs->m_address = base + offset; - n_eggs->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_eggs); - -} -void node_from_world__T_stockpile__T_simple3(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "glob_fat"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile__T_simple3, field_name)); - auto n_glob_fat = new NodeSimple; - n_glob_fat->m_field_name = field_name; - n_glob_fat->m_df_type = DF_Type::int8_t; - n_glob_fat->m_rdf_type = RDF_Type::int8_t; - n_glob_fat->m_node_type = NodeType::Simple; - n_glob_fat->m_address = base + offset; - n_glob_fat->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_glob_fat); - - field_name = "glob_tallow"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile__T_simple3, field_name)); - auto n_glob_tallow = new NodeSimple; - n_glob_tallow->m_field_name = field_name; - n_glob_tallow->m_df_type = DF_Type::int8_t; - n_glob_tallow->m_rdf_type = RDF_Type::int8_t; - n_glob_tallow->m_node_type = NodeType::Simple; - n_glob_tallow->m_address = base + offset; - n_glob_tallow->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_glob_tallow); - - field_name = "glob_paste"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile__T_simple3, field_name)); - auto n_glob_paste = new NodeSimple; - n_glob_paste->m_field_name = field_name; - n_glob_paste->m_df_type = DF_Type::int8_t; - n_glob_paste->m_rdf_type = RDF_Type::int8_t; - n_glob_paste->m_node_type = NodeType::Simple; - n_glob_paste->m_address = base + offset; - n_glob_paste->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_glob_paste); - - field_name = "glob_pressed"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile__T_simple3, field_name)); - auto n_glob_pressed = new NodeSimple; - n_glob_pressed->m_field_name = field_name; - n_glob_pressed->m_df_type = DF_Type::int8_t; - n_glob_pressed->m_rdf_type = RDF_Type::int8_t; - n_glob_pressed->m_node_type = NodeType::Simple; - n_glob_pressed->m_address = base + offset; - n_glob_pressed->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_glob_pressed); - - field_name = "weapons"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile__T_simple3, field_name)); - auto n_weapons = new NodeSimple; - n_weapons->m_field_name = field_name; - n_weapons->m_df_type = DF_Type::int8_t; - n_weapons->m_rdf_type = RDF_Type::int8_t; - n_weapons->m_node_type = NodeType::Simple; - n_weapons->m_address = base + offset; - n_weapons->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_weapons); - - field_name = "shields"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile__T_simple3, field_name)); - auto n_shields = new NodeSimple; - n_shields->m_field_name = field_name; - n_shields->m_df_type = DF_Type::int8_t; - n_shields->m_rdf_type = RDF_Type::int8_t; - n_shields->m_node_type = NodeType::Simple; - n_shields->m_address = base + offset; - n_shields->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_shields); - - field_name = "ammo"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile__T_simple3, field_name)); - auto n_ammo = new NodeSimple; - n_ammo->m_field_name = field_name; - n_ammo->m_df_type = DF_Type::int8_t; - n_ammo->m_rdf_type = RDF_Type::int8_t; - n_ammo->m_node_type = NodeType::Simple; - n_ammo->m_address = base + offset; - n_ammo->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ammo); - - field_name = "coins"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile__T_simple3, field_name)); - auto n_coins = new NodeSimple; - n_coins->m_field_name = field_name; - n_coins->m_df_type = DF_Type::int8_t; - n_coins->m_rdf_type = RDF_Type::int8_t; - n_coins->m_node_type = NodeType::Simple; - n_coins->m_address = base + offset; - n_coins->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_coins); - - field_name = "bar_blocks"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile__T_simple3, field_name)); - auto n_bar_blocks = new NodeSimple; - n_bar_blocks->m_field_name = field_name; - n_bar_blocks->m_df_type = DF_Type::int8_t; - n_bar_blocks->m_rdf_type = RDF_Type::int8_t; - n_bar_blocks->m_node_type = NodeType::Simple; - n_bar_blocks->m_address = base + offset; - n_bar_blocks->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_bar_blocks); - - field_name = "gems"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile__T_simple3, field_name)); - auto n_gems = new NodeSimple; - n_gems->m_field_name = field_name; - n_gems->m_df_type = DF_Type::int8_t; - n_gems->m_rdf_type = RDF_Type::int8_t; - n_gems->m_node_type = NodeType::Simple; - n_gems->m_address = base + offset; - n_gems->m_comment = "not large"; - n_gems->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_gems); - - field_name = "finished_goods"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile__T_simple3, field_name)); - auto n_finished_goods = new NodeSimple; - n_finished_goods->m_field_name = field_name; - n_finished_goods->m_df_type = DF_Type::int8_t; - n_finished_goods->m_rdf_type = RDF_Type::int8_t; - n_finished_goods->m_node_type = NodeType::Simple; - n_finished_goods->m_address = base + offset; - n_finished_goods->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_finished_goods); - - field_name = "tanned_skins"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile__T_simple3, field_name)); - auto n_tanned_skins = new NodeSimple; - n_tanned_skins->m_field_name = field_name; - n_tanned_skins->m_df_type = DF_Type::int8_t; - n_tanned_skins->m_rdf_type = RDF_Type::int8_t; - n_tanned_skins->m_node_type = NodeType::Simple; - n_tanned_skins->m_address = base + offset; - n_tanned_skins->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tanned_skins); - - field_name = "thread_cloth"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile__T_simple3, field_name)); - auto n_thread_cloth = new NodeSimple; - n_thread_cloth->m_field_name = field_name; - n_thread_cloth->m_df_type = DF_Type::int8_t; - n_thread_cloth->m_rdf_type = RDF_Type::int8_t; - n_thread_cloth->m_node_type = NodeType::Simple; - n_thread_cloth->m_address = base + offset; - n_thread_cloth->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_thread_cloth); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile__T_simple3, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int8_t; - n_anon_1->m_rdf_type = RDF_Type::int8_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile__T_simple3, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int8_t; - n_anon_2->m_rdf_type = RDF_Type::int8_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile__T_simple3, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int8_t; - n_anon_3->m_rdf_type = RDF_Type::int8_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - -} -void node_from_world__T_stockpile(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "num_jobs"; - auto n_num_jobs = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile, field_name)); - n_num_jobs->m_field_name = field_name; - n_num_jobs->m_df_type = DF_Type::int32_t; - n_num_jobs->m_rdf_type = RDF_Type::Array; - n_num_jobs->m_node_type = NodeType::Array; - n_num_jobs->m_index_enum = DF_Type::hauler_type; - n_num_jobs->m_addornements = "[10"; - n_num_jobs->m_array_size = 10; - n_num_jobs->m_address = base + offset; - n_num_jobs->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_num_jobs); - - field_name = "num_haulers"; - auto n_num_haulers = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile, field_name)); - n_num_haulers->m_field_name = field_name; - n_num_haulers->m_df_type = DF_Type::int32_t; - n_num_haulers->m_rdf_type = RDF_Type::Array; - n_num_haulers->m_node_type = NodeType::Array; - n_num_haulers->m_index_enum = DF_Type::hauler_type; - n_num_haulers->m_addornements = "[10"; - n_num_haulers->m_array_size = 10; - n_num_haulers->m_address = base + offset; - n_num_haulers->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_num_haulers); - - field_name = "simple1"; - auto n_simple1 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile, field_name)); - n_simple1->m_field_name = field_name; - n_simple1->m_df_type = DF_Type::world__T_stockpile__T_simple1; - n_simple1->m_rdf_type = RDF_Type::Compound; - n_simple1->m_node_type = NodeType::Compound; - n_simple1->m_address = base + offset; - n_simple1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_simple1); - - field_name = "seeds"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile, field_name)); - auto n_seeds = new NodeVector; - n_seeds->m_field_name = field_name; - n_seeds->m_df_type = DF_Type::int8_t; - n_seeds->m_rdf_type = RDF_Type::Vector; - n_seeds->m_node_type = NodeType::Vector; - n_seeds->m_addornements = "v"; - n_seeds->m_address = base + offset; - n_seeds->m_refers_to = "(find-plant-raw $)"; - n_seeds->m_parent = p_node_parent; - n_seeds->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_seeds); - - field_name = "plants"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile, field_name)); - auto n_plants = new NodeVector; - n_plants->m_field_name = field_name; - n_plants->m_df_type = DF_Type::int8_t; - n_plants->m_rdf_type = RDF_Type::Vector; - n_plants->m_node_type = NodeType::Vector; - n_plants->m_addornements = "v"; - n_plants->m_address = base + offset; - n_plants->m_refers_to = "(find-plant-raw $)"; - n_plants->m_parent = p_node_parent; - n_plants->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_plants); - - field_name = "cheese"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile, field_name)); - auto n_cheese = new NodeVector; - n_cheese->m_field_name = field_name; - n_cheese->m_df_type = DF_Type::int8_t; - n_cheese->m_rdf_type = RDF_Type::Vector; - n_cheese->m_node_type = NodeType::Vector; - n_cheese->m_addornements = "v"; - n_cheese->m_address = base + offset; - n_cheese->m_refers_to = "(find-creature $)"; - n_cheese->m_parent = p_node_parent; - n_cheese->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_cheese); - - field_name = "meat_fish"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile, field_name)); - auto n_meat_fish = new NodeVector; - n_meat_fish->m_field_name = field_name; - n_meat_fish->m_df_type = DF_Type::int8_t; - n_meat_fish->m_rdf_type = RDF_Type::Vector; - n_meat_fish->m_node_type = NodeType::Vector; - n_meat_fish->m_addornements = "v"; - n_meat_fish->m_address = base + offset; - n_meat_fish->m_refers_to = "(find-creature $)"; - n_meat_fish->m_parent = p_node_parent; - n_meat_fish->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_meat_fish); - - field_name = "eggs"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile, field_name)); - auto n_eggs = new NodeVector; - n_eggs->m_field_name = field_name; - n_eggs->m_df_type = DF_Type::int8_t; - n_eggs->m_rdf_type = RDF_Type::Vector; - n_eggs->m_node_type = NodeType::Vector; - n_eggs->m_addornements = "v"; - n_eggs->m_address = base + offset; - n_eggs->m_refers_to = "(find-creature $)"; - n_eggs->m_parent = p_node_parent; - n_eggs->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_eggs); - - field_name = "leaves"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile, field_name)); - auto n_leaves = new NodeVector; - n_leaves->m_field_name = field_name; - n_leaves->m_df_type = DF_Type::int8_t; - n_leaves->m_rdf_type = RDF_Type::Vector; - n_leaves->m_node_type = NodeType::Vector; - n_leaves->m_addornements = "v"; - n_leaves->m_address = base + offset; - n_leaves->m_refers_to = "(find-plant-raw $)"; - n_leaves->m_parent = p_node_parent; - n_leaves->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_leaves); - - field_name = "plant_powder"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile, field_name)); - auto n_plant_powder = new NodeVector; - n_plant_powder->m_field_name = field_name; - n_plant_powder->m_df_type = DF_Type::int8_t; - n_plant_powder->m_rdf_type = RDF_Type::Vector; - n_plant_powder->m_node_type = NodeType::Vector; - n_plant_powder->m_addornements = "v"; - n_plant_powder->m_address = base + offset; - n_plant_powder->m_refers_to = "(find-plant-raw $)"; - n_plant_powder->m_parent = p_node_parent; - n_plant_powder->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_plant_powder); - - field_name = "simple2"; - auto n_simple2 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile, field_name)); - n_simple2->m_field_name = field_name; - n_simple2->m_df_type = DF_Type::world__T_stockpile__T_simple2; - n_simple2->m_rdf_type = RDF_Type::Compound; - n_simple2->m_node_type = NodeType::Compound; - n_simple2->m_address = base + offset; - n_simple2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_simple2); - - field_name = "liquid_plant"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile, field_name)); - auto n_liquid_plant = new NodeVector; - n_liquid_plant->m_field_name = field_name; - n_liquid_plant->m_df_type = DF_Type::int8_t; - n_liquid_plant->m_rdf_type = RDF_Type::Vector; - n_liquid_plant->m_node_type = NodeType::Vector; - n_liquid_plant->m_addornements = "v"; - n_liquid_plant->m_address = base + offset; - n_liquid_plant->m_refers_to = "(find-plant-raw $)"; - n_liquid_plant->m_parent = p_node_parent; - n_liquid_plant->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_liquid_plant); - - field_name = "liquid_animal"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile, field_name)); - auto n_liquid_animal = new NodeVector; - n_liquid_animal->m_field_name = field_name; - n_liquid_animal->m_df_type = DF_Type::int8_t; - n_liquid_animal->m_rdf_type = RDF_Type::Vector; - n_liquid_animal->m_node_type = NodeType::Vector; - n_liquid_animal->m_addornements = "v"; - n_liquid_animal->m_address = base + offset; - n_liquid_animal->m_refers_to = "(find-creature $)"; - n_liquid_animal->m_parent = p_node_parent; - n_liquid_animal->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_liquid_animal); - - field_name = "liquid_builtin"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile, field_name)); - auto n_liquid_builtin = new NodeVector; - n_liquid_builtin->m_field_name = field_name; - n_liquid_builtin->m_df_type = DF_Type::int8_t; - n_liquid_builtin->m_rdf_type = RDF_Type::Vector; - n_liquid_builtin->m_node_type = NodeType::Vector; - n_liquid_builtin->m_addornements = "v"; - n_liquid_builtin->m_address = base + offset; - n_liquid_builtin->m_refers_to = "(material-by-id $ -1)"; - n_liquid_builtin->m_parent = p_node_parent; - n_liquid_builtin->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_liquid_builtin); - - field_name = "simple3"; - auto n_simple3 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile, field_name)); - n_simple3->m_field_name = field_name; - n_simple3->m_df_type = DF_Type::world__T_stockpile__T_simple3; - n_simple3->m_rdf_type = RDF_Type::Compound; - n_simple3->m_node_type = NodeType::Compound; - n_simple3->m_address = base + offset; - n_simple3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_simple3); - -} -void node_from_world__T_plants(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "all"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_plants, field_name)); - auto n_all = new NodeVector; - n_all->m_field_name = field_name; - n_all->m_df_type = DF_Type::plant; - n_all->m_rdf_type = RDF_Type::Vector; - n_all->m_node_type = NodeType::Vector; - n_all->m_defined_in = "df.plants.xml"; - n_all->m_addornements = "v*"; - n_all->m_address = base + offset; - n_all->m_parent = p_node_parent; - n_all->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_all); - - field_name = "shrub_dry"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_plants, field_name)); - auto n_shrub_dry = new NodeVector; - n_shrub_dry->m_field_name = field_name; - n_shrub_dry->m_df_type = DF_Type::plant; - n_shrub_dry->m_rdf_type = RDF_Type::Vector; - n_shrub_dry->m_node_type = NodeType::Vector; - n_shrub_dry->m_defined_in = "df.plants.xml"; - n_shrub_dry->m_addornements = "v*"; - n_shrub_dry->m_address = base + offset; - n_shrub_dry->m_parent = p_node_parent; - n_shrub_dry->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_shrub_dry); - - field_name = "shrub_wet"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_plants, field_name)); - auto n_shrub_wet = new NodeVector; - n_shrub_wet->m_field_name = field_name; - n_shrub_wet->m_df_type = DF_Type::plant; - n_shrub_wet->m_rdf_type = RDF_Type::Vector; - n_shrub_wet->m_node_type = NodeType::Vector; - n_shrub_wet->m_defined_in = "df.plants.xml"; - n_shrub_wet->m_addornements = "v*"; - n_shrub_wet->m_address = base + offset; - n_shrub_wet->m_parent = p_node_parent; - n_shrub_wet->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_shrub_wet); - - field_name = "tree_dry"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_plants, field_name)); - auto n_tree_dry = new NodeVector; - n_tree_dry->m_field_name = field_name; - n_tree_dry->m_df_type = DF_Type::plant; - n_tree_dry->m_rdf_type = RDF_Type::Vector; - n_tree_dry->m_node_type = NodeType::Vector; - n_tree_dry->m_defined_in = "df.plants.xml"; - n_tree_dry->m_addornements = "v*"; - n_tree_dry->m_address = base + offset; - n_tree_dry->m_parent = p_node_parent; - n_tree_dry->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_tree_dry); - - field_name = "tree_wet"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_plants, field_name)); - auto n_tree_wet = new NodeVector; - n_tree_wet->m_field_name = field_name; - n_tree_wet->m_df_type = DF_Type::plant; - n_tree_wet->m_rdf_type = RDF_Type::Vector; - n_tree_wet->m_node_type = NodeType::Vector; - n_tree_wet->m_defined_in = "df.plants.xml"; - n_tree_wet->m_addornements = "v*"; - n_tree_wet->m_address = base + offset; - n_tree_wet->m_parent = p_node_parent; - n_tree_wet->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_tree_wet); - - field_name = "empty"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_plants, field_name)); - auto n_empty = new NodeVector; - n_empty->m_field_name = field_name; - n_empty->m_df_type = DF_Type::plant; - n_empty->m_rdf_type = RDF_Type::Vector; - n_empty->m_node_type = NodeType::Vector; - n_empty->m_defined_in = "df.plants.xml"; - n_empty->m_addornements = "v*"; - n_empty->m_address = base + offset; - n_empty->m_parent = p_node_parent; - n_empty->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_empty); - -} -void node_from_world__T_enemy_status_cache(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "slot_used"; - auto n_slot_used = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_enemy_status_cache, field_name)); - n_slot_used->m_field_name = field_name; - n_slot_used->m_df_type = DF_Type::Bool; - n_slot_used->m_rdf_type = RDF_Type::Array; - n_slot_used->m_node_type = NodeType::Array; - n_slot_used->m_addornements = "[500"; - n_slot_used->m_array_size = 500; - n_slot_used->m_address = base + offset; - n_slot_used->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_slot_used); - - field_name = "rel_map"; - auto n_rel_map = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_enemy_status_cache, field_name)); - n_rel_map->m_field_name = field_name; - n_rel_map->m_df_type = DF_Type::int32_t; - n_rel_map->m_rdf_type = RDF_Type::Array; - n_rel_map->m_node_type = NodeType::Array; - n_rel_map->m_addornements = "[500[500"; - n_rel_map->m_array_size = 500; - n_rel_map->m_address = base + offset; - n_rel_map->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rel_map); - - field_name = "next_slot"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_enemy_status_cache, field_name)); - auto n_next_slot = new NodeSimple; - n_next_slot->m_field_name = field_name; - n_next_slot->m_df_type = DF_Type::int32_t; - n_next_slot->m_rdf_type = RDF_Type::int32_t; - n_next_slot->m_node_type = NodeType::Simple; - n_next_slot->m_address = base + offset; - n_next_slot->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_next_slot); - -} -void node_from_world__T_schedules(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "all"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_schedules, field_name)); - auto n_all = new NodeVector; - n_all->m_field_name = field_name; - n_all->m_df_type = DF_Type::schedule_info; - n_all->m_rdf_type = RDF_Type::Vector; - n_all->m_node_type = NodeType::Vector; - n_all->m_defined_in = "df.meeting.xml"; - n_all->m_addornements = "v*"; - n_all->m_address = base + offset; - n_all->m_parent = p_node_parent; - n_all->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_all); - - field_name = "bad"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_schedules, field_name)); - auto n_bad = new NodeVector; - n_bad->m_field_name = field_name; - n_bad->m_df_type = DF_Type::schedule_info; - n_bad->m_rdf_type = RDF_Type::Vector; - n_bad->m_node_type = NodeType::Vector; - n_bad->m_defined_in = "df.meeting.xml"; - n_bad->m_addornements = "v*"; - n_bad->m_address = base + offset; - n_bad->m_parent = p_node_parent; - n_bad->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bad); - -} -void node_from_world__T_squads(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "all"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_squads, field_name)); - auto n_all = new NodeVector; - n_all->m_field_name = field_name; - n_all->m_df_type = DF_Type::squad; - n_all->m_rdf_type = RDF_Type::Vector; - n_all->m_node_type = NodeType::Vector; - n_all->m_defined_in = "df.military.xml"; - n_all->m_addornements = "v*"; - n_all->m_address = base + offset; - n_all->m_parent = p_node_parent; - n_all->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_all); - - field_name = "bad"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_squads, field_name)); - auto n_bad = new NodeVector; - n_bad->m_field_name = field_name; - n_bad->m_df_type = DF_Type::squad; - n_bad->m_rdf_type = RDF_Type::Vector; - n_bad->m_node_type = NodeType::Vector; - n_bad->m_defined_in = "df.military.xml"; - n_bad->m_addornements = "v*"; - n_bad->m_address = base + offset; - n_bad->m_parent = p_node_parent; - n_bad->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bad); - -} -void node_from_world__T_formations(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "all"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_formations, field_name)); - auto n_all = new NodeVector; - n_all->m_field_name = field_name; - n_all->m_df_type = DF_Type::int32_t; - n_all->m_rdf_type = RDF_Type::Vector; - n_all->m_node_type = NodeType::Vector; - n_all->m_addornements = "v*"; - n_all->m_address = base + offset; - n_all->m_parent = p_node_parent; - n_all->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_all); - - field_name = "bad"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_formations, field_name)); - auto n_bad = new NodeVector; - n_bad->m_field_name = field_name; - n_bad->m_df_type = DF_Type::Void; - n_bad->m_rdf_type = RDF_Type::Vector; - n_bad->m_node_type = NodeType::Vector; - n_bad->m_addornements = "v*"; - n_bad->m_address = base + offset; - n_bad->m_parent = p_node_parent; - n_bad->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bad); - -} -void node_from_world__T_activities(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "all"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_activities, field_name)); - auto n_all = new NodeVector; - n_all->m_field_name = field_name; - n_all->m_df_type = DF_Type::activity_entry; - n_all->m_rdf_type = RDF_Type::Vector; - n_all->m_node_type = NodeType::Vector; - n_all->m_defined_in = "df.meeting.xml"; - n_all->m_addornements = "v*"; - n_all->m_address = base + offset; - n_all->m_parent = p_node_parent; - n_all->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_all); - - field_name = "bad"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_activities, field_name)); - auto n_bad = new NodeVector; - n_bad->m_field_name = field_name; - n_bad->m_df_type = DF_Type::activity_entry; - n_bad->m_rdf_type = RDF_Type::Vector; - n_bad->m_node_type = NodeType::Vector; - n_bad->m_defined_in = "df.meeting.xml"; - n_bad->m_addornements = "v*"; - n_bad->m_address = base + offset; - n_bad->m_parent = p_node_parent; - n_bad->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bad); - -} -void node_from_world__T_status__T_slots(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "type"; - auto n_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_status__T_slots, field_name)); - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::combat_report_event_type; - n_type->m_rdf_type = RDF_Type::Enum; - n_type->m_node_type = NodeType::Enum; - n_type->m_base_type = enum_base_type(n_type->m_df_type); - n_type->m_enum_type = "combat_report_event_type"; - n_type->m_address = base + offset; - n_type->m_defined_in = "df.world.xml"; - n_type->m_first_value = 0; - n_type->m_last_value = 34; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - - field_name = "item"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_status__T_slots, field_name)); - auto n_item = new NodeSimple; - n_item->m_field_name = field_name; - n_item->m_df_type = DF_Type::int32_t; - n_item->m_rdf_type = RDF_Type::int32_t; - n_item->m_node_type = NodeType::Simple; - n_item->m_address = base + offset; - n_item->m_comment = "or body part layer"; - n_item->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item); - - field_name = "unk1b"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_status__T_slots, field_name)); - auto n_unk1b = new NodeSimple; - n_unk1b->m_field_name = field_name; - n_unk1b->m_df_type = DF_Type::int32_t; - n_unk1b->m_rdf_type = RDF_Type::int32_t; - n_unk1b->m_node_type = NodeType::Simple; - n_unk1b->m_address = base + offset; - n_unk1b->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk1b); - - field_name = "unk1c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_status__T_slots, field_name)); - auto n_unk1c = new NodeSimple; - n_unk1c->m_field_name = field_name; - n_unk1c->m_df_type = DF_Type::int32_t; - n_unk1c->m_rdf_type = RDF_Type::int32_t; - n_unk1c->m_node_type = NodeType::Simple; - n_unk1c->m_address = base + offset; - n_unk1c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk1c); - - field_name = "unk1d"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_status__T_slots, field_name)); - auto n_unk1d = new NodeSimple; - n_unk1d->m_field_name = field_name; - n_unk1d->m_df_type = DF_Type::int32_t; - n_unk1d->m_rdf_type = RDF_Type::int32_t; - n_unk1d->m_node_type = NodeType::Simple; - n_unk1d->m_address = base + offset; - n_unk1d->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk1d); - - field_name = "body_part"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_status__T_slots, field_name)); - auto n_body_part = new NodeSimple; - n_body_part->m_field_name = field_name; - n_body_part->m_df_type = DF_Type::int16_t; - n_body_part->m_rdf_type = RDF_Type::int16_t; - n_body_part->m_node_type = NodeType::Simple; - n_body_part->m_address = base + offset; - n_body_part->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_body_part); - - field_name = "unk2b"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_status__T_slots, field_name)); - auto n_unk2b = new NodeSimple; - n_unk2b->m_field_name = field_name; - n_unk2b->m_df_type = DF_Type::int16_t; - n_unk2b->m_rdf_type = RDF_Type::int16_t; - n_unk2b->m_node_type = NodeType::Simple; - n_unk2b->m_address = base + offset; - n_unk2b->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk2b); - - field_name = "unk2c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_status__T_slots, field_name)); - auto n_unk2c = new NodeSimple; - n_unk2c->m_field_name = field_name; - n_unk2c->m_df_type = DF_Type::int16_t; - n_unk2c->m_rdf_type = RDF_Type::int16_t; - n_unk2c->m_node_type = NodeType::Simple; - n_unk2c->m_address = base + offset; - n_unk2c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk2c); - - field_name = "unk2d"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_status__T_slots, field_name)); - auto n_unk2d = new NodeSimple; - n_unk2d->m_field_name = field_name; - n_unk2d->m_df_type = DF_Type::int16_t; - n_unk2d->m_rdf_type = RDF_Type::int16_t; - n_unk2d->m_node_type = NodeType::Simple; - n_unk2d->m_address = base + offset; - n_unk2d->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk2d); - - field_name = "target_bp_name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_status__T_slots, field_name)); - auto n_target_bp_name = new NodeSimple; - n_target_bp_name->m_field_name = field_name; - n_target_bp_name->m_df_type = DF_Type::Stl_string; - n_target_bp_name->m_rdf_type = RDF_Type::Stl_string; - n_target_bp_name->m_node_type = NodeType::Simple; - n_target_bp_name->m_address = base + offset; - n_target_bp_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_target_bp_name); - - field_name = "verb"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_status__T_slots, field_name)); - auto n_verb = new NodeSimple; - n_verb->m_field_name = field_name; - n_verb->m_df_type = DF_Type::Stl_string; - n_verb->m_rdf_type = RDF_Type::Stl_string; - n_verb->m_node_type = NodeType::Simple; - n_verb->m_address = base + offset; - n_verb->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_verb); - - field_name = "with_item_name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_status__T_slots, field_name)); - auto n_with_item_name = new NodeSimple; - n_with_item_name->m_field_name = field_name; - n_with_item_name->m_df_type = DF_Type::Stl_string; - n_with_item_name->m_rdf_type = RDF_Type::Stl_string; - n_with_item_name->m_node_type = NodeType::Simple; - n_with_item_name->m_address = base + offset; - n_with_item_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_with_item_name); - - field_name = "unk3d"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_status__T_slots, field_name)); - auto n_unk3d = new NodeSimple; - n_unk3d->m_field_name = field_name; - n_unk3d->m_df_type = DF_Type::Stl_string; - n_unk3d->m_rdf_type = RDF_Type::Stl_string; - n_unk3d->m_node_type = NodeType::Simple; - n_unk3d->m_address = base + offset; - n_unk3d->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk3d); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_status__T_slots, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::world__T_status__T_slots__T_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - -} -void node_from_world__T_status(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "reports"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_status, field_name)); - auto n_reports = new NodeVector; - n_reports->m_field_name = field_name; - n_reports->m_df_type = DF_Type::report; - n_reports->m_rdf_type = RDF_Type::Vector; - n_reports->m_node_type = NodeType::Vector; - n_reports->m_defined_in = "df.announcements.xml"; - n_reports->m_addornements = "v*"; - n_reports->m_address = base + offset; - n_reports->m_parent = p_node_parent; - n_reports->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_reports); - - field_name = "announcements"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_status, field_name)); - auto n_announcements = new NodeVector; - n_announcements->m_field_name = field_name; - n_announcements->m_df_type = DF_Type::report; - n_announcements->m_rdf_type = RDF_Type::Vector; - n_announcements->m_node_type = NodeType::Vector; - n_announcements->m_defined_in = "df.announcements.xml"; - n_announcements->m_addornements = "v*"; - n_announcements->m_address = base + offset; - n_announcements->m_parent = p_node_parent; - n_announcements->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_announcements); - - field_name = "popups"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_status, field_name)); - auto n_popups = new NodeVector; - n_popups->m_field_name = field_name; - n_popups->m_df_type = DF_Type::popup_message; - n_popups->m_rdf_type = RDF_Type::Vector; - n_popups->m_node_type = NodeType::Vector; - n_popups->m_defined_in = "df.announcements.xml"; - n_popups->m_addornements = "v*"; - n_popups->m_address = base + offset; - n_popups->m_parent = p_node_parent; - n_popups->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_popups); - - field_name = "next_report_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_status, field_name)); - auto n_next_report_id = new NodeSimple; - n_next_report_id->m_field_name = field_name; - n_next_report_id->m_df_type = DF_Type::int32_t; - n_next_report_id->m_rdf_type = RDF_Type::int32_t; - n_next_report_id->m_node_type = NodeType::Simple; - n_next_report_id->m_address = base + offset; - n_next_report_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_next_report_id); - - field_name = "flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_status, field_name)); - auto n_flags = new NodeBitfield; - n_flags->m_field_name = field_name; - n_flags->m_df_type = DF_Type::world__T_status__T_flags; - n_flags->m_rdf_type = RDF_Type::Bitfield; - n_flags->m_node_type = NodeType::Bitfield; - n_flags->m_address = base + offset; - n_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flags); - - field_name = "anon_1"; - auto n_anon_1 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_status, field_name)); - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::Array; - n_anon_1->m_node_type = NodeType::Array; - n_anon_1->m_addornements = "[9"; - n_anon_1->m_array_size = 9; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "mission_reports"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_status, field_name)); - auto n_mission_reports = new NodeVector; - n_mission_reports->m_field_name = field_name; - n_mission_reports->m_df_type = DF_Type::mission_report; - n_mission_reports->m_rdf_type = RDF_Type::Vector; - n_mission_reports->m_node_type = NodeType::Vector; - n_mission_reports->m_defined_in = "df.world.xml"; - n_mission_reports->m_addornements = "v*"; - n_mission_reports->m_address = base + offset; - n_mission_reports->m_parent = p_node_parent; - n_mission_reports->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_mission_reports); - - field_name = "spoils_reports"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_status, field_name)); - auto n_spoils_reports = new NodeVector; - n_spoils_reports->m_field_name = field_name; - n_spoils_reports->m_df_type = DF_Type::spoils_report; - n_spoils_reports->m_rdf_type = RDF_Type::Vector; - n_spoils_reports->m_node_type = NodeType::Vector; - n_spoils_reports->m_defined_in = "df.world.xml"; - n_spoils_reports->m_addornements = "v*"; - n_spoils_reports->m_address = base + offset; - n_spoils_reports->m_parent = p_node_parent; - n_spoils_reports->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_spoils_reports); - - field_name = "display_timer"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_status, field_name)); - auto n_display_timer = new NodeSimple; - n_display_timer->m_field_name = field_name; - n_display_timer->m_df_type = DF_Type::int32_t; - n_display_timer->m_rdf_type = RDF_Type::int32_t; - n_display_timer->m_node_type = NodeType::Simple; - n_display_timer->m_address = base + offset; - n_display_timer->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_display_timer); - - field_name = "slots"; - auto n_slots = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_status, field_name)); - n_slots->m_field_name = field_name; - n_slots->m_df_type = DF_Type::world__T_status__T_slots; - n_slots->m_rdf_type = RDF_Type::Array; - n_slots->m_comment = "Written to by code at 0x80fd7b0"; - n_slots->m_node_type = NodeType::Array; - n_slots->m_addornements = "[100"; - n_slots->m_array_size = 100; - n_slots->m_address = base + offset; - n_slots->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_slots); - - field_name = "slot_id_used"; - auto n_slot_id_used = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_status, field_name)); - n_slot_id_used->m_field_name = field_name; - n_slot_id_used->m_df_type = DF_Type::int16_t; - n_slot_id_used->m_rdf_type = RDF_Type::Array; - n_slot_id_used->m_node_type = NodeType::Array; - n_slot_id_used->m_index_enum = DF_Type::combat_report_event_type; - n_slot_id_used->m_addornements = "[38"; - n_slot_id_used->m_array_size = 38; - n_slot_id_used->m_address = base + offset; - n_slot_id_used->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_slot_id_used); - - field_name = "slot_id_idx1"; - auto n_slot_id_idx1 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_status, field_name)); - n_slot_id_idx1->m_field_name = field_name; - n_slot_id_idx1->m_df_type = DF_Type::int16_t; - n_slot_id_idx1->m_rdf_type = RDF_Type::Array; - n_slot_id_idx1->m_node_type = NodeType::Array; - n_slot_id_idx1->m_index_enum = DF_Type::combat_report_event_type; - n_slot_id_idx1->m_addornements = "[38"; - n_slot_id_idx1->m_array_size = 38; - n_slot_id_idx1->m_address = base + offset; - n_slot_id_idx1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_slot_id_idx1); - - field_name = "slot_id_idx2"; - auto n_slot_id_idx2 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_status, field_name)); - n_slot_id_idx2->m_field_name = field_name; - n_slot_id_idx2->m_df_type = DF_Type::int16_t; - n_slot_id_idx2->m_rdf_type = RDF_Type::Array; - n_slot_id_idx2->m_node_type = NodeType::Array; - n_slot_id_idx2->m_index_enum = DF_Type::combat_report_event_type; - n_slot_id_idx2->m_addornements = "[38"; - n_slot_id_idx2->m_array_size = 38; - n_slot_id_idx2->m_address = base + offset; - n_slot_id_idx2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_slot_id_idx2); - - field_name = "slots_used"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_status, field_name)); - auto n_slots_used = new NodeSimple; - n_slots_used->m_field_name = field_name; - n_slots_used->m_df_type = DF_Type::int16_t; - n_slots_used->m_rdf_type = RDF_Type::int16_t; - n_slots_used->m_node_type = NodeType::Simple; - n_slots_used->m_address = base + offset; - n_slots_used->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_slots_used); - -} -void node_from_world__T_interaction_instances(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "all"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_interaction_instances, field_name)); - auto n_all = new NodeVector; - n_all->m_field_name = field_name; - n_all->m_df_type = DF_Type::interaction_instance; - n_all->m_rdf_type = RDF_Type::Vector; - n_all->m_node_type = NodeType::Vector; - n_all->m_defined_in = "df.interaction.xml"; - n_all->m_addornements = "v*"; - n_all->m_address = base + offset; - n_all->m_parent = p_node_parent; - n_all->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_all); - - field_name = "bad"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_interaction_instances, field_name)); - auto n_bad = new NodeVector; - n_bad->m_field_name = field_name; - n_bad->m_df_type = DF_Type::interaction_instance; - n_bad->m_rdf_type = RDF_Type::Vector; - n_bad->m_node_type = NodeType::Vector; - n_bad->m_defined_in = "df.interaction.xml"; - n_bad->m_addornements = "v*"; - n_bad->m_address = base + offset; - n_bad->m_parent = p_node_parent; - n_bad->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bad); - -} -void node_from_world__T_written_contents(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "all"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_written_contents, field_name)); - auto n_all = new NodeVector; - n_all->m_field_name = field_name; - n_all->m_df_type = DF_Type::written_content; - n_all->m_rdf_type = RDF_Type::Vector; - n_all->m_node_type = NodeType::Vector; - n_all->m_defined_in = "df.itemimprovements.xml"; - n_all->m_addornements = "v*"; - n_all->m_address = base + offset; - n_all->m_parent = p_node_parent; - n_all->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_all); - - field_name = "bad"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_written_contents, field_name)); - auto n_bad = new NodeVector; - n_bad->m_field_name = field_name; - n_bad->m_df_type = DF_Type::written_content; - n_bad->m_rdf_type = RDF_Type::Vector; - n_bad->m_node_type = NodeType::Vector; - n_bad->m_defined_in = "df.itemimprovements.xml"; - n_bad->m_addornements = "v*"; - n_bad->m_address = base + offset; - n_bad->m_parent = p_node_parent; - n_bad->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bad); - -} -void node_from_world__T_identities(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "all"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_identities, field_name)); - auto n_all = new NodeVector; - n_all->m_field_name = field_name; - n_all->m_df_type = DF_Type::identity; - n_all->m_rdf_type = RDF_Type::Vector; - n_all->m_node_type = NodeType::Vector; - n_all->m_defined_in = "df.history.xml"; - n_all->m_addornements = "v*"; - n_all->m_address = base + offset; - n_all->m_parent = p_node_parent; - n_all->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_all); - - field_name = "bad"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_identities, field_name)); - auto n_bad = new NodeVector; - n_bad->m_field_name = field_name; - n_bad->m_df_type = DF_Type::identity; - n_bad->m_rdf_type = RDF_Type::Vector; - n_bad->m_node_type = NodeType::Vector; - n_bad->m_defined_in = "df.history.xml"; - n_bad->m_addornements = "v*"; - n_bad->m_address = base + offset; - n_bad->m_parent = p_node_parent; - n_bad->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bad); - -} -void node_from_world__T_incidents(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "all"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_incidents, field_name)); - auto n_all = new NodeVector; - n_all->m_field_name = field_name; - n_all->m_df_type = DF_Type::incident; - n_all->m_rdf_type = RDF_Type::Vector; - n_all->m_node_type = NodeType::Vector; - n_all->m_defined_in = "df.world.xml"; - n_all->m_addornements = "v*"; - n_all->m_address = base + offset; - n_all->m_parent = p_node_parent; - n_all->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_all); - - field_name = "bad"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_incidents, field_name)); - auto n_bad = new NodeVector; - n_bad->m_field_name = field_name; - n_bad->m_df_type = DF_Type::incident; - n_bad->m_rdf_type = RDF_Type::Vector; - n_bad->m_node_type = NodeType::Vector; - n_bad->m_defined_in = "df.world.xml"; - n_bad->m_addornements = "v*"; - n_bad->m_address = base + offset; - n_bad->m_parent = p_node_parent; - n_bad->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bad); - -} -void node_from_world__T_crimes(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "all"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_crimes, field_name)); - auto n_all = new NodeVector; - n_all->m_field_name = field_name; - n_all->m_df_type = DF_Type::crime; - n_all->m_rdf_type = RDF_Type::Vector; - n_all->m_node_type = NodeType::Vector; - n_all->m_defined_in = "df.world.xml"; - n_all->m_addornements = "v*"; - n_all->m_address = base + offset; - n_all->m_parent = p_node_parent; - n_all->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_all); - - field_name = "bad"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_crimes, field_name)); - auto n_bad = new NodeVector; - n_bad->m_field_name = field_name; - n_bad->m_df_type = DF_Type::crime; - n_bad->m_rdf_type = RDF_Type::Vector; - n_bad->m_node_type = NodeType::Vector; - n_bad->m_defined_in = "df.world.xml"; - n_bad->m_addornements = "v*"; - n_bad->m_address = base + offset; - n_bad->m_parent = p_node_parent; - n_bad->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bad); - -} -void node_from_world__T_vehicles(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "all"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_vehicles, field_name)); - auto n_all = new NodeVector; - n_all->m_field_name = field_name; - n_all->m_df_type = DF_Type::vehicle; - n_all->m_rdf_type = RDF_Type::Vector; - n_all->m_node_type = NodeType::Vector; - n_all->m_defined_in = "df.stockpile.xml"; - n_all->m_addornements = "v*"; - n_all->m_address = base + offset; - n_all->m_parent = p_node_parent; - n_all->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_all); - - field_name = "active"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_vehicles, field_name)); - auto n_active = new NodeVector; - n_active->m_field_name = field_name; - n_active->m_df_type = DF_Type::vehicle; - n_active->m_rdf_type = RDF_Type::Vector; - n_active->m_node_type = NodeType::Vector; - n_active->m_defined_in = "df.stockpile.xml"; - n_active->m_addornements = "v*"; - n_active->m_address = base + offset; - n_active->m_parent = p_node_parent; - n_active->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_active); - - field_name = "bad"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_vehicles, field_name)); - auto n_bad = new NodeVector; - n_bad->m_field_name = field_name; - n_bad->m_df_type = DF_Type::vehicle; - n_bad->m_rdf_type = RDF_Type::Vector; - n_bad->m_node_type = NodeType::Vector; - n_bad->m_defined_in = "df.stockpile.xml"; - n_bad->m_addornements = "v*"; - n_bad->m_address = base + offset; - n_bad->m_parent = p_node_parent; - n_bad->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bad); - -} -void node_from_world__T_armies(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "all"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_armies, field_name)); - auto n_all = new NodeVector; - n_all->m_field_name = field_name; - n_all->m_df_type = DF_Type::army; - n_all->m_rdf_type = RDF_Type::Vector; - n_all->m_node_type = NodeType::Vector; - n_all->m_defined_in = "df.military.xml"; - n_all->m_addornements = "v*"; - n_all->m_address = base + offset; - n_all->m_parent = p_node_parent; - n_all->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_all); - - field_name = "bad"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_armies, field_name)); - auto n_bad = new NodeVector; - n_bad->m_field_name = field_name; - n_bad->m_df_type = DF_Type::army; - n_bad->m_rdf_type = RDF_Type::Vector; - n_bad->m_node_type = NodeType::Vector; - n_bad->m_defined_in = "df.military.xml"; - n_bad->m_addornements = "v*"; - n_bad->m_address = base + offset; - n_bad->m_parent = p_node_parent; - n_bad->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bad); - -} -void node_from_world__T_army_controllers(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "all"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_army_controllers, field_name)); - auto n_all = new NodeVector; - n_all->m_field_name = field_name; - n_all->m_df_type = DF_Type::army_controller; - n_all->m_rdf_type = RDF_Type::Vector; - n_all->m_node_type = NodeType::Vector; - n_all->m_defined_in = "df.military.xml"; - n_all->m_addornements = "v*"; - n_all->m_address = base + offset; - n_all->m_parent = p_node_parent; - n_all->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_all); - - field_name = "bad"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_army_controllers, field_name)); - auto n_bad = new NodeVector; - n_bad->m_field_name = field_name; - n_bad->m_df_type = DF_Type::army_controller; - n_bad->m_rdf_type = RDF_Type::Vector; - n_bad->m_node_type = NodeType::Vector; - n_bad->m_defined_in = "df.military.xml"; - n_bad->m_addornements = "v*"; - n_bad->m_address = base + offset; - n_bad->m_parent = p_node_parent; - n_bad->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bad); - -} -void node_from_world__T_army_tracking_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "all"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_army_tracking_info, field_name)); - auto n_all = new NodeVector; - n_all->m_field_name = field_name; - n_all->m_df_type = DF_Type::Void; - n_all->m_rdf_type = RDF_Type::Vector; - n_all->m_node_type = NodeType::Vector; - n_all->m_addornements = "v"; - n_all->m_address = base + offset; - n_all->m_parent = p_node_parent; - n_all->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_all); - - field_name = "bad"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_army_tracking_info, field_name)); - auto n_bad = new NodeVector; - n_bad->m_field_name = field_name; - n_bad->m_df_type = DF_Type::Void; - n_bad->m_rdf_type = RDF_Type::Vector; - n_bad->m_node_type = NodeType::Vector; - n_bad->m_addornements = "v"; - n_bad->m_address = base + offset; - n_bad->m_parent = p_node_parent; - n_bad->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bad); - -} -void node_from_world__T_cultural_identities(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "all"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_cultural_identities, field_name)); - auto n_all = new NodeVector; - n_all->m_field_name = field_name; - n_all->m_df_type = DF_Type::cultural_identity; - n_all->m_rdf_type = RDF_Type::Vector; - n_all->m_node_type = NodeType::Vector; - n_all->m_defined_in = "df.world-site.xml"; - n_all->m_addornements = "v*"; - n_all->m_address = base + offset; - n_all->m_parent = p_node_parent; - n_all->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_all); - - field_name = "bad"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_cultural_identities, field_name)); - auto n_bad = new NodeVector; - n_bad->m_field_name = field_name; - n_bad->m_df_type = DF_Type::cultural_identity; - n_bad->m_rdf_type = RDF_Type::Vector; - n_bad->m_node_type = NodeType::Vector; - n_bad->m_defined_in = "df.world-site.xml"; - n_bad->m_addornements = "v*"; - n_bad->m_address = base + offset; - n_bad->m_parent = p_node_parent; - n_bad->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bad); - -} -void node_from_world__T_agreements(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "all"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_agreements, field_name)); - auto n_all = new NodeVector; - n_all->m_field_name = field_name; - n_all->m_df_type = DF_Type::agreement; - n_all->m_rdf_type = RDF_Type::Vector; - n_all->m_node_type = NodeType::Vector; - n_all->m_defined_in = "df.entities.xml"; - n_all->m_addornements = "v*"; - n_all->m_address = base + offset; - n_all->m_parent = p_node_parent; - n_all->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_all); - - field_name = "bad"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_agreements, field_name)); - auto n_bad = new NodeVector; - n_bad->m_field_name = field_name; - n_bad->m_df_type = DF_Type::agreement; - n_bad->m_rdf_type = RDF_Type::Vector; - n_bad->m_node_type = NodeType::Vector; - n_bad->m_defined_in = "df.entities.xml"; - n_bad->m_addornements = "v*"; - n_bad->m_address = base + offset; - n_bad->m_parent = p_node_parent; - n_bad->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bad); - -} -void node_from_world__T_poetic_forms(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "all"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_poetic_forms, field_name)); - auto n_all = new NodeVector; - n_all->m_field_name = field_name; - n_all->m_df_type = DF_Type::poetic_form; - n_all->m_rdf_type = RDF_Type::Vector; - n_all->m_node_type = NodeType::Vector; - n_all->m_defined_in = "df.art.xml"; - n_all->m_addornements = "v*"; - n_all->m_address = base + offset; - n_all->m_parent = p_node_parent; - n_all->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_all); - - field_name = "bad"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_poetic_forms, field_name)); - auto n_bad = new NodeVector; - n_bad->m_field_name = field_name; - n_bad->m_df_type = DF_Type::poetic_form; - n_bad->m_rdf_type = RDF_Type::Vector; - n_bad->m_node_type = NodeType::Vector; - n_bad->m_defined_in = "df.art.xml"; - n_bad->m_addornements = "v*"; - n_bad->m_address = base + offset; - n_bad->m_parent = p_node_parent; - n_bad->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bad); - -} -void node_from_world__T_musical_forms(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "all"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_musical_forms, field_name)); - auto n_all = new NodeVector; - n_all->m_field_name = field_name; - n_all->m_df_type = DF_Type::musical_form; - n_all->m_rdf_type = RDF_Type::Vector; - n_all->m_node_type = NodeType::Vector; - n_all->m_defined_in = "df.art.xml"; - n_all->m_addornements = "v*"; - n_all->m_address = base + offset; - n_all->m_parent = p_node_parent; - n_all->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_all); - - field_name = "bad"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_musical_forms, field_name)); - auto n_bad = new NodeVector; - n_bad->m_field_name = field_name; - n_bad->m_df_type = DF_Type::musical_form; - n_bad->m_rdf_type = RDF_Type::Vector; - n_bad->m_node_type = NodeType::Vector; - n_bad->m_defined_in = "df.art.xml"; - n_bad->m_addornements = "v*"; - n_bad->m_address = base + offset; - n_bad->m_parent = p_node_parent; - n_bad->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bad); - -} -void node_from_world__T_dance_forms(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "all"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_dance_forms, field_name)); - auto n_all = new NodeVector; - n_all->m_field_name = field_name; - n_all->m_df_type = DF_Type::dance_form; - n_all->m_rdf_type = RDF_Type::Vector; - n_all->m_node_type = NodeType::Vector; - n_all->m_defined_in = "df.art.xml"; - n_all->m_addornements = "v*"; - n_all->m_address = base + offset; - n_all->m_parent = p_node_parent; - n_all->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_all); - - field_name = "bad"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_dance_forms, field_name)); - auto n_bad = new NodeVector; - n_bad->m_field_name = field_name; - n_bad->m_df_type = DF_Type::dance_form; - n_bad->m_rdf_type = RDF_Type::Vector; - n_bad->m_node_type = NodeType::Vector; - n_bad->m_defined_in = "df.art.xml"; - n_bad->m_addornements = "v*"; - n_bad->m_address = base + offset; - n_bad->m_parent = p_node_parent; - n_bad->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bad); - -} -void node_from_world__T_scales(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "all"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_scales, field_name)); - auto n_all = new NodeVector; - n_all->m_field_name = field_name; - n_all->m_df_type = DF_Type::scale; - n_all->m_rdf_type = RDF_Type::Vector; - n_all->m_node_type = NodeType::Vector; - n_all->m_defined_in = "df.art.xml"; - n_all->m_addornements = "v*"; - n_all->m_address = base + offset; - n_all->m_parent = p_node_parent; - n_all->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_all); - - field_name = "bad"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_scales, field_name)); - auto n_bad = new NodeVector; - n_bad->m_field_name = field_name; - n_bad->m_df_type = DF_Type::scale; - n_bad->m_rdf_type = RDF_Type::Vector; - n_bad->m_node_type = NodeType::Vector; - n_bad->m_defined_in = "df.art.xml"; - n_bad->m_addornements = "v*"; - n_bad->m_address = base + offset; - n_bad->m_parent = p_node_parent; - n_bad->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bad); - -} -void node_from_world__T_rhythms(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "all"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_rhythms, field_name)); - auto n_all = new NodeVector; - n_all->m_field_name = field_name; - n_all->m_df_type = DF_Type::rhythm; - n_all->m_rdf_type = RDF_Type::Vector; - n_all->m_node_type = NodeType::Vector; - n_all->m_defined_in = "df.art.xml"; - n_all->m_addornements = "v*"; - n_all->m_address = base + offset; - n_all->m_parent = p_node_parent; - n_all->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_all); - - field_name = "bad"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_rhythms, field_name)); - auto n_bad = new NodeVector; - n_bad->m_field_name = field_name; - n_bad->m_df_type = DF_Type::rhythm; - n_bad->m_rdf_type = RDF_Type::Vector; - n_bad->m_node_type = NodeType::Vector; - n_bad->m_defined_in = "df.art.xml"; - n_bad->m_addornements = "v*"; - n_bad->m_address = base + offset; - n_bad->m_parent = p_node_parent; - n_bad->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bad); - -} -void node_from_world__T_occupations(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "all"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_occupations, field_name)); - auto n_all = new NodeVector; - n_all->m_field_name = field_name; - n_all->m_df_type = DF_Type::occupation; - n_all->m_rdf_type = RDF_Type::Vector; - n_all->m_node_type = NodeType::Vector; - n_all->m_defined_in = "df.art.xml"; - n_all->m_addornements = "v*"; - n_all->m_address = base + offset; - n_all->m_parent = p_node_parent; - n_all->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_all); - - field_name = "bad"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_occupations, field_name)); - auto n_bad = new NodeVector; - n_bad->m_field_name = field_name; - n_bad->m_df_type = DF_Type::occupation; - n_bad->m_rdf_type = RDF_Type::Vector; - n_bad->m_node_type = NodeType::Vector; - n_bad->m_defined_in = "df.art.xml"; - n_bad->m_addornements = "v*"; - n_bad->m_address = base + offset; - n_bad->m_parent = p_node_parent; - n_bad->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bad); - -} -void node_from_world__T_belief_systems(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "all"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_belief_systems, field_name)); - auto n_all = new NodeVector; - n_all->m_field_name = field_name; - n_all->m_df_type = DF_Type::belief_system; - n_all->m_rdf_type = RDF_Type::Vector; - n_all->m_node_type = NodeType::Vector; - n_all->m_defined_in = "df.world.xml"; - n_all->m_addornements = "v*"; - n_all->m_address = base + offset; - n_all->m_parent = p_node_parent; - n_all->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_all); - - field_name = "bad"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_belief_systems, field_name)); - auto n_bad = new NodeVector; - n_bad->m_field_name = field_name; - n_bad->m_df_type = DF_Type::belief_system; - n_bad->m_rdf_type = RDF_Type::Vector; - n_bad->m_node_type = NodeType::Vector; - n_bad->m_defined_in = "df.world.xml"; - n_bad->m_addornements = "v*"; - n_bad->m_address = base + offset; - n_bad->m_parent = p_node_parent; - n_bad->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_bad); - -} -void node_from_world__T_map(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "map_blocks"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_map, field_name)); - auto n_map_blocks = new NodeVector; - n_map_blocks->m_field_name = field_name; - n_map_blocks->m_df_type = DF_Type::map_block; - n_map_blocks->m_rdf_type = RDF_Type::Vector; - n_map_blocks->m_node_type = NodeType::Vector; - n_map_blocks->m_defined_in = "df.map.xml"; - n_map_blocks->m_addornements = "v*"; - n_map_blocks->m_address = base + offset; - n_map_blocks->m_parent = p_node_parent; - n_map_blocks->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_map_blocks); - - field_name = "block_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_map, field_name)); - auto n_block_index = new NodePointer; - n_block_index->m_field_name = field_name; - n_block_index->m_df_type = DF_Type::map_block; - n_block_index->m_rdf_type = RDF_Type::Pointer; - n_block_index->m_node_type = NodeType::Pointer; - n_block_index->m_addornements = "****"; - n_block_index->m_address = base + offset; - n_block_index->m_parent = p_node_parent; - n_block_index->m_defined_in = "df.map.xml"; - n_block_index->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_block_index); - - field_name = "map_block_columns"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_map, field_name)); - auto n_map_block_columns = new NodeVector; - n_map_block_columns->m_field_name = field_name; - n_map_block_columns->m_df_type = DF_Type::map_block_column; - n_map_block_columns->m_rdf_type = RDF_Type::Vector; - n_map_block_columns->m_node_type = NodeType::Vector; - n_map_block_columns->m_defined_in = "df.map.xml"; - n_map_block_columns->m_addornements = "v*"; - n_map_block_columns->m_address = base + offset; - n_map_block_columns->m_parent = p_node_parent; - n_map_block_columns->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_map_block_columns); - - field_name = "column_index"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_map, field_name)); - auto n_column_index = new NodePointer; - n_column_index->m_field_name = field_name; - n_column_index->m_df_type = DF_Type::map_block_column; - n_column_index->m_rdf_type = RDF_Type::Pointer; - n_column_index->m_node_type = NodeType::Pointer; - n_column_index->m_addornements = "***"; - n_column_index->m_address = base + offset; - n_column_index->m_parent = p_node_parent; - n_column_index->m_defined_in = "df.map.xml"; - n_column_index->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_column_index); - - field_name = "x_count_block"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_map, field_name)); - auto n_x_count_block = new NodeSimple; - n_x_count_block->m_field_name = field_name; - n_x_count_block->m_df_type = DF_Type::int32_t; - n_x_count_block->m_rdf_type = RDF_Type::int32_t; - n_x_count_block->m_node_type = NodeType::Simple; - n_x_count_block->m_address = base + offset; - n_x_count_block->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_x_count_block); - - field_name = "y_count_block"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_map, field_name)); - auto n_y_count_block = new NodeSimple; - n_y_count_block->m_field_name = field_name; - n_y_count_block->m_df_type = DF_Type::int32_t; - n_y_count_block->m_rdf_type = RDF_Type::int32_t; - n_y_count_block->m_node_type = NodeType::Simple; - n_y_count_block->m_address = base + offset; - n_y_count_block->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_y_count_block); - - field_name = "z_count_block"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_map, field_name)); - auto n_z_count_block = new NodeSimple; - n_z_count_block->m_field_name = field_name; - n_z_count_block->m_df_type = DF_Type::int32_t; - n_z_count_block->m_rdf_type = RDF_Type::int32_t; - n_z_count_block->m_node_type = NodeType::Simple; - n_z_count_block->m_address = base + offset; - n_z_count_block->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_z_count_block); - - field_name = "x_count"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_map, field_name)); - auto n_x_count = new NodeSimple; - n_x_count->m_field_name = field_name; - n_x_count->m_df_type = DF_Type::int32_t; - n_x_count->m_rdf_type = RDF_Type::int32_t; - n_x_count->m_node_type = NodeType::Simple; - n_x_count->m_address = base + offset; - n_x_count->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_x_count); - - field_name = "y_count"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_map, field_name)); - auto n_y_count = new NodeSimple; - n_y_count->m_field_name = field_name; - n_y_count->m_df_type = DF_Type::int32_t; - n_y_count->m_rdf_type = RDF_Type::int32_t; - n_y_count->m_node_type = NodeType::Simple; - n_y_count->m_address = base + offset; - n_y_count->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_y_count); - - field_name = "z_count"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_map, field_name)); - auto n_z_count = new NodeSimple; - n_z_count->m_field_name = field_name; - n_z_count->m_df_type = DF_Type::int32_t; - n_z_count->m_rdf_type = RDF_Type::int32_t; - n_z_count->m_node_type = NodeType::Simple; - n_z_count->m_address = base + offset; - n_z_count->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_z_count); - - field_name = "region_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_map, field_name)); - auto n_region_x = new NodeSimple; - n_region_x->m_field_name = field_name; - n_region_x->m_df_type = DF_Type::int32_t; - n_region_x->m_rdf_type = RDF_Type::int32_t; - n_region_x->m_node_type = NodeType::Simple; - n_region_x->m_address = base + offset; - n_region_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region_x); - - field_name = "region_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_map, field_name)); - auto n_region_y = new NodeSimple; - n_region_y->m_field_name = field_name; - n_region_y->m_df_type = DF_Type::int32_t; - n_region_y->m_rdf_type = RDF_Type::int32_t; - n_region_y->m_node_type = NodeType::Simple; - n_region_y->m_address = base + offset; - n_region_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region_y); - - field_name = "region_z"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_map, field_name)); - auto n_region_z = new NodeSimple; - n_region_z->m_field_name = field_name; - n_region_z->m_df_type = DF_Type::int32_t; - n_region_z->m_rdf_type = RDF_Type::int32_t; - n_region_z->m_node_type = NodeType::Simple; - n_region_z->m_address = base + offset; - n_region_z->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region_z); - - field_name = "distance_lookup"; - auto n_distance_lookup = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_map, field_name)); - n_distance_lookup->m_field_name = field_name; - n_distance_lookup->m_df_type = DF_Type::int16_t; - n_distance_lookup->m_rdf_type = RDF_Type::Array; - n_distance_lookup->m_node_type = NodeType::Array; - n_distance_lookup->m_addornements = "[53[53"; - n_distance_lookup->m_array_size = 53; - n_distance_lookup->m_address = base + offset; - n_distance_lookup->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_distance_lookup); - -} -void node_from_world__T_profession_skills(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "primary"; - auto n_primary = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_profession_skills, field_name)); - n_primary->m_field_name = field_name; - n_primary->m_df_type = DF_Type::job_skill; - n_primary->m_rdf_type = RDF_Type::Array; - n_primary->m_node_type = NodeType::Array; - n_primary->m_index_enum = DF_Type::profession; - n_primary->m_enum_base = DF_Type::int16_t; - n_primary->m_defined_in = "df.skills.xml"; - n_primary->m_addornements = "[135v"; - n_primary->m_array_size = 135; - n_primary->m_address = base + offset; - n_primary->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_primary); - - field_name = "secondary"; - auto n_secondary = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_profession_skills, field_name)); - n_secondary->m_field_name = field_name; - n_secondary->m_df_type = DF_Type::job_skill; - n_secondary->m_rdf_type = RDF_Type::Array; - n_secondary->m_node_type = NodeType::Array; - n_secondary->m_index_enum = DF_Type::profession; - n_secondary->m_enum_base = DF_Type::int16_t; - n_secondary->m_defined_in = "df.skills.xml"; - n_secondary->m_addornements = "[135v"; - n_secondary->m_array_size = 135; - n_secondary->m_address = base + offset; - n_secondary->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_secondary); - -} -void node_from_world__T_math__T_approx(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "cos"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_math__T_approx, field_name)); - auto n_cos = new NodeSimple; - n_cos->m_field_name = field_name; - n_cos->m_df_type = DF_Type::int32_t; - n_cos->m_rdf_type = RDF_Type::int32_t; - n_cos->m_node_type = NodeType::Simple; - n_cos->m_address = base + offset; - n_cos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cos); - - field_name = "sin"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_math__T_approx, field_name)); - auto n_sin = new NodeSimple; - n_sin->m_field_name = field_name; - n_sin->m_df_type = DF_Type::int32_t; - n_sin->m_rdf_type = RDF_Type::int32_t; - n_sin->m_node_type = NodeType::Simple; - n_sin->m_address = base + offset; - n_sin->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_sin); - -} -void node_from_world__T_math(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "approx"; - auto n_approx = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_math, field_name)); - n_approx->m_field_name = field_name; - n_approx->m_df_type = DF_Type::world__T_math__T_approx; - n_approx->m_rdf_type = RDF_Type::Array; - n_approx->m_comment = "10 * cosine/sine of the index in units of 1/40 of a circle, rounded towards 0"; - n_approx->m_node_type = NodeType::Array; - n_approx->m_addornements = "[40"; - n_approx->m_array_size = 40; - n_approx->m_address = base + offset; - n_approx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_approx); - - field_name = "cos"; - auto n_cos = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_math, field_name)); - n_cos->m_field_name = field_name; - n_cos->m_df_type = DF_Type::D_float; - n_cos->m_rdf_type = RDF_Type::Array; - n_cos->m_comment = "100 * cosine of the index in degrees"; - n_cos->m_node_type = NodeType::Array; - n_cos->m_addornements = "[181"; - n_cos->m_array_size = 181; - n_cos->m_address = base + offset; - n_cos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cos); - - field_name = "hypot"; - auto n_hypot = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_math, field_name)); - n_hypot->m_field_name = field_name; - n_hypot->m_df_type = DF_Type::D_float; - n_hypot->m_rdf_type = RDF_Type::Array; - n_hypot->m_comment = "square root of the sum of the squares of the indices"; - n_hypot->m_node_type = NodeType::Array; - n_hypot->m_addornements = "[11[11"; - n_hypot->m_array_size = 11; - n_hypot->m_address = base + offset; - n_hypot->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_hypot); - -} -void node_from_world__T_map_extras(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "rotation"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_map_extras, field_name)); - auto n_rotation = new NodeSimple; - n_rotation->m_field_name = field_name; - n_rotation->m_df_type = DF_Type::uint8_t; - n_rotation->m_rdf_type = RDF_Type::uint8_t; - n_rotation->m_node_type = NodeType::Simple; - n_rotation->m_address = base + offset; - n_rotation->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rotation); - - field_name = "z_level_flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_map_extras, field_name)); - auto n_z_level_flags = new NodePointer; - n_z_level_flags->m_field_name = field_name; - n_z_level_flags->m_df_type = get_real_subtype(base+offset, DF_Type::z_level_flags); - n_z_level_flags->m_rdf_type = RDF_Type::Pointer; - n_z_level_flags->m_node_type = NodeType::Pointer; - n_z_level_flags->m_addornements = "*"; - n_z_level_flags->m_address = base + offset; - n_z_level_flags->m_parent = p_node_parent; - n_z_level_flags->m_defined_in = "df.map.xml"; - n_z_level_flags->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_z_level_flags); - - field_name = "unk_v40_3a"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_map_extras, field_name)); - auto n_unk_v40_3a = new NodeVector; - n_unk_v40_3a->m_field_name = field_name; - n_unk_v40_3a->m_df_type = DF_Type::block_square_event; - n_unk_v40_3a->m_rdf_type = RDF_Type::Vector; - n_unk_v40_3a->m_node_type = NodeType::Vector; - n_unk_v40_3a->m_defined_in = "df.map.xml"; - n_unk_v40_3a->m_addornements = "v*"; - n_unk_v40_3a->m_address = base + offset; - n_unk_v40_3a->m_parent = p_node_parent; - n_unk_v40_3a->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_v40_3a); - - field_name = "unk_v40_3b"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_map_extras, field_name)); - auto n_unk_v40_3b = new NodeVector; - n_unk_v40_3b->m_field_name = field_name; - n_unk_v40_3b->m_df_type = DF_Type::int16_t; - n_unk_v40_3b->m_rdf_type = RDF_Type::Vector; - n_unk_v40_3b->m_node_type = NodeType::Vector; - n_unk_v40_3b->m_addornements = "v"; - n_unk_v40_3b->m_address = base + offset; - n_unk_v40_3b->m_parent = p_node_parent; - n_unk_v40_3b->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_v40_3b); - - field_name = "unk_v40_3c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_map_extras, field_name)); - auto n_unk_v40_3c = new NodeVector; - n_unk_v40_3c->m_field_name = field_name; - n_unk_v40_3c->m_df_type = DF_Type::int16_t; - n_unk_v40_3c->m_rdf_type = RDF_Type::Vector; - n_unk_v40_3c->m_node_type = NodeType::Vector; - n_unk_v40_3c->m_addornements = "v"; - n_unk_v40_3c->m_address = base + offset; - n_unk_v40_3c->m_parent = p_node_parent; - n_unk_v40_3c->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_v40_3c); - - field_name = "unk_v40_3d"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_map_extras, field_name)); - auto n_unk_v40_3d = new NodeVector; - n_unk_v40_3d->m_field_name = field_name; - n_unk_v40_3d->m_df_type = DF_Type::int16_t; - n_unk_v40_3d->m_rdf_type = RDF_Type::Vector; - n_unk_v40_3d->m_node_type = NodeType::Vector; - n_unk_v40_3d->m_addornements = "v"; - n_unk_v40_3d->m_address = base + offset; - n_unk_v40_3d->m_parent = p_node_parent; - n_unk_v40_3d->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_v40_3d); - -} -void node_from_world__T_worldgen_status(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "state"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_state = new NodeSimple; - n_state->m_field_name = field_name; - n_state->m_df_type = DF_Type::int16_t; - n_state->m_rdf_type = RDF_Type::int16_t; - n_state->m_node_type = NodeType::Simple; - n_state->m_address = base + offset; - n_state->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_state); - - field_name = "num_rejects"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_num_rejects = new NodeSimple; - n_num_rejects->m_field_name = field_name; - n_num_rejects->m_df_type = DF_Type::int32_t; - n_num_rejects->m_rdf_type = RDF_Type::int32_t; - n_num_rejects->m_node_type = NodeType::Simple; - n_num_rejects->m_address = base + offset; - n_num_rejects->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_num_rejects); - - field_name = "anon_1"; - auto n_anon_1 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::Array; - n_anon_1->m_node_type = NodeType::Array; - n_anon_1->m_addornements = "[53"; - n_anon_1->m_array_size = 53; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - auto n_anon_2 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::Array; - n_anon_2->m_node_type = NodeType::Array; - n_anon_2->m_addornements = "[53"; - n_anon_2->m_array_size = 53; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "rejection_reason"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_rejection_reason = new NodeSimple; - n_rejection_reason->m_field_name = field_name; - n_rejection_reason->m_df_type = DF_Type::int16_t; - n_rejection_reason->m_rdf_type = RDF_Type::int16_t; - n_rejection_reason->m_node_type = NodeType::Simple; - n_rejection_reason->m_address = base + offset; - n_rejection_reason->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rejection_reason); - - field_name = "lakes_total"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_lakes_total = new NodeSimple; - n_lakes_total->m_field_name = field_name; - n_lakes_total->m_df_type = DF_Type::int32_t; - n_lakes_total->m_rdf_type = RDF_Type::int32_t; - n_lakes_total->m_node_type = NodeType::Simple; - n_lakes_total->m_address = base + offset; - n_lakes_total->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_lakes_total); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int16_t; - n_anon_4->m_rdf_type = RDF_Type::int16_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "lakes_cur"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_lakes_cur = new NodeSimple; - n_lakes_cur->m_field_name = field_name; - n_lakes_cur->m_df_type = DF_Type::int32_t; - n_lakes_cur->m_rdf_type = RDF_Type::int32_t; - n_lakes_cur->m_node_type = NodeType::Simple; - n_lakes_cur->m_address = base + offset; - n_lakes_cur->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_lakes_cur); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "geo_layers"; - auto n_geo_layers = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - n_geo_layers->m_field_name = field_name; - n_geo_layers->m_df_type = DF_Type::world_geo_layer; - n_geo_layers->m_rdf_type = RDF_Type::Array; - n_geo_layers->m_node_type = NodeType::Array; - n_geo_layers->m_defined_in = "df.world-data.xml"; - n_geo_layers->m_addornements = "[100"; - n_geo_layers->m_array_size = 100; - n_geo_layers->m_address = base + offset; - n_geo_layers->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_geo_layers); - - field_name = "anon_7"; - auto n_anon_7 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::int8_t; - n_anon_7->m_rdf_type = RDF_Type::Array; - n_anon_7->m_node_type = NodeType::Array; - n_anon_7->m_addornements = "[100"; - n_anon_7->m_array_size = 100; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_7); - - field_name = "anon_8"; - auto n_anon_8 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - n_anon_8->m_field_name = field_name; - n_anon_8->m_df_type = DF_Type::int16_t; - n_anon_8->m_rdf_type = RDF_Type::Array; - n_anon_8->m_node_type = NodeType::Array; - n_anon_8->m_addornements = "[100"; - n_anon_8->m_array_size = 100; - n_anon_8->m_address = base + offset; - n_anon_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_8); - - field_name = "anon_9"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_anon_9 = new NodeSimple; - n_anon_9->m_field_name = field_name; - n_anon_9->m_df_type = DF_Type::int32_t; - n_anon_9->m_rdf_type = RDF_Type::int32_t; - n_anon_9->m_node_type = NodeType::Simple; - n_anon_9->m_address = base + offset; - n_anon_9->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_9); - - field_name = "finalized_civ_mats"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_finalized_civ_mats = new NodeSimple; - n_finalized_civ_mats->m_field_name = field_name; - n_finalized_civ_mats->m_df_type = DF_Type::int32_t; - n_finalized_civ_mats->m_rdf_type = RDF_Type::int32_t; - n_finalized_civ_mats->m_node_type = NodeType::Simple; - n_finalized_civ_mats->m_address = base + offset; - n_finalized_civ_mats->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_finalized_civ_mats); - - field_name = "finalized_art"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_finalized_art = new NodeSimple; - n_finalized_art->m_field_name = field_name; - n_finalized_art->m_df_type = DF_Type::int32_t; - n_finalized_art->m_rdf_type = RDF_Type::int32_t; - n_finalized_art->m_node_type = NodeType::Simple; - n_finalized_art->m_address = base + offset; - n_finalized_art->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_finalized_art); - - field_name = "finalized_uniforms"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_finalized_uniforms = new NodeSimple; - n_finalized_uniforms->m_field_name = field_name; - n_finalized_uniforms->m_df_type = DF_Type::int32_t; - n_finalized_uniforms->m_rdf_type = RDF_Type::int32_t; - n_finalized_uniforms->m_node_type = NodeType::Simple; - n_finalized_uniforms->m_address = base + offset; - n_finalized_uniforms->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_finalized_uniforms); - - field_name = "finalized_sites"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_finalized_sites = new NodeSimple; - n_finalized_sites->m_field_name = field_name; - n_finalized_sites->m_df_type = DF_Type::int32_t; - n_finalized_sites->m_rdf_type = RDF_Type::int32_t; - n_finalized_sites->m_node_type = NodeType::Simple; - n_finalized_sites->m_address = base + offset; - n_finalized_sites->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_finalized_sites); - - field_name = "anon_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_anon_10 = new NodeSimple; - n_anon_10->m_field_name = field_name; - n_anon_10->m_df_type = DF_Type::int32_t; - n_anon_10->m_rdf_type = RDF_Type::int32_t; - n_anon_10->m_node_type = NodeType::Simple; - n_anon_10->m_address = base + offset; - n_anon_10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_10); - - field_name = "anon_11"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_anon_11 = new NodeSimple; - n_anon_11->m_field_name = field_name; - n_anon_11->m_df_type = DF_Type::int32_t; - n_anon_11->m_rdf_type = RDF_Type::int32_t; - n_anon_11->m_node_type = NodeType::Simple; - n_anon_11->m_address = base + offset; - n_anon_11->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_11); - - field_name = "anon_12"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_anon_12 = new NodeSimple; - n_anon_12->m_field_name = field_name; - n_anon_12->m_df_type = DF_Type::int32_t; - n_anon_12->m_rdf_type = RDF_Type::int32_t; - n_anon_12->m_node_type = NodeType::Simple; - n_anon_12->m_address = base + offset; - n_anon_12->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_12); - - field_name = "entities"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_entities = new NodeVector; - n_entities->m_field_name = field_name; - n_entities->m_df_type = DF_Type::historical_entity; - n_entities->m_rdf_type = RDF_Type::Vector; - n_entities->m_node_type = NodeType::Vector; - n_entities->m_defined_in = "df.entities.xml"; - n_entities->m_addornements = "v*"; - n_entities->m_address = base + offset; - n_entities->m_parent = p_node_parent; - n_entities->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_entities); - - field_name = "sites"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_sites = new NodeVector; - n_sites->m_field_name = field_name; - n_sites->m_df_type = DF_Type::world_site; - n_sites->m_rdf_type = RDF_Type::Vector; - n_sites->m_node_type = NodeType::Vector; - n_sites->m_defined_in = "df.world-site.xml"; - n_sites->m_addornements = "v*"; - n_sites->m_address = base + offset; - n_sites->m_parent = p_node_parent; - n_sites->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_sites); - - field_name = "cursor_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_cursor_x = new NodeSimple; - n_cursor_x->m_field_name = field_name; - n_cursor_x->m_df_type = DF_Type::int32_t; - n_cursor_x->m_rdf_type = RDF_Type::int32_t; - n_cursor_x->m_node_type = NodeType::Simple; - n_cursor_x->m_address = base + offset; - n_cursor_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cursor_x); - - field_name = "cursor_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_cursor_y = new NodeSimple; - n_cursor_y->m_field_name = field_name; - n_cursor_y->m_df_type = DF_Type::int32_t; - n_cursor_y->m_rdf_type = RDF_Type::int32_t; - n_cursor_y->m_node_type = NodeType::Simple; - n_cursor_y->m_address = base + offset; - n_cursor_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cursor_y); - - field_name = "anon_13"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_anon_13 = new NodeVector; - n_anon_13->m_field_name = field_name; - n_anon_13->m_df_type = DF_Type::Void; - n_anon_13->m_rdf_type = RDF_Type::Vector; - n_anon_13->m_node_type = NodeType::Vector; - n_anon_13->m_addornements = "v"; - n_anon_13->m_address = base + offset; - n_anon_13->m_parent = p_node_parent; - n_anon_13->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_13); - - field_name = "anon_14"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_anon_14 = new NodeVector; - n_anon_14->m_field_name = field_name; - n_anon_14->m_df_type = DF_Type::Void; - n_anon_14->m_rdf_type = RDF_Type::Vector; - n_anon_14->m_node_type = NodeType::Vector; - n_anon_14->m_addornements = "v"; - n_anon_14->m_address = base + offset; - n_anon_14->m_parent = p_node_parent; - n_anon_14->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_14); - - field_name = "rivers_total"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_rivers_total = new NodeSimple; - n_rivers_total->m_field_name = field_name; - n_rivers_total->m_df_type = DF_Type::int32_t; - n_rivers_total->m_rdf_type = RDF_Type::int32_t; - n_rivers_total->m_node_type = NodeType::Simple; - n_rivers_total->m_address = base + offset; - n_rivers_total->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rivers_total); - - field_name = "rivers_cur"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_rivers_cur = new NodeSimple; - n_rivers_cur->m_field_name = field_name; - n_rivers_cur->m_df_type = DF_Type::int32_t; - n_rivers_cur->m_rdf_type = RDF_Type::int32_t; - n_rivers_cur->m_node_type = NodeType::Simple; - n_rivers_cur->m_address = base + offset; - n_rivers_cur->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rivers_cur); - - field_name = "anon_15"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_anon_15 = new NodeSimple; - n_anon_15->m_field_name = field_name; - n_anon_15->m_df_type = DF_Type::int8_t; - n_anon_15->m_rdf_type = RDF_Type::int8_t; - n_anon_15->m_node_type = NodeType::Simple; - n_anon_15->m_address = base + offset; - n_anon_15->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_15); - - field_name = "last_param_set"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_last_param_set = new NodeSimple; - n_last_param_set->m_field_name = field_name; - n_last_param_set->m_df_type = DF_Type::Stl_string; - n_last_param_set->m_rdf_type = RDF_Type::Stl_string; - n_last_param_set->m_node_type = NodeType::Simple; - n_last_param_set->m_address = base + offset; - n_last_param_set->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_last_param_set); - - field_name = "last_seed"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_last_seed = new NodeSimple; - n_last_seed->m_field_name = field_name; - n_last_seed->m_df_type = DF_Type::Stl_string; - n_last_seed->m_rdf_type = RDF_Type::Stl_string; - n_last_seed->m_node_type = NodeType::Simple; - n_last_seed->m_address = base + offset; - n_last_seed->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_last_seed); - - field_name = "last_name_seed"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_last_name_seed = new NodeSimple; - n_last_name_seed->m_field_name = field_name; - n_last_name_seed->m_df_type = DF_Type::Stl_string; - n_last_name_seed->m_rdf_type = RDF_Type::Stl_string; - n_last_name_seed->m_node_type = NodeType::Simple; - n_last_name_seed->m_address = base + offset; - n_last_name_seed->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_last_name_seed); - - field_name = "last_history_seed"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_last_history_seed = new NodeSimple; - n_last_history_seed->m_field_name = field_name; - n_last_history_seed->m_df_type = DF_Type::Stl_string; - n_last_history_seed->m_rdf_type = RDF_Type::Stl_string; - n_last_history_seed->m_node_type = NodeType::Simple; - n_last_history_seed->m_address = base + offset; - n_last_history_seed->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_last_history_seed); - - field_name = "last_creature_seed"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_last_creature_seed = new NodeSimple; - n_last_creature_seed->m_field_name = field_name; - n_last_creature_seed->m_df_type = DF_Type::Stl_string; - n_last_creature_seed->m_rdf_type = RDF_Type::Stl_string; - n_last_creature_seed->m_node_type = NodeType::Simple; - n_last_creature_seed->m_address = base + offset; - n_last_creature_seed->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_last_creature_seed); - - field_name = "place_caves"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_place_caves = new NodeSimple; - n_place_caves->m_field_name = field_name; - n_place_caves->m_df_type = DF_Type::Bool; - n_place_caves->m_rdf_type = RDF_Type::Bool; - n_place_caves->m_node_type = NodeType::Simple; - n_place_caves->m_address = base + offset; - n_place_caves->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_place_caves); - - field_name = "place_good_evil"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_place_good_evil = new NodeSimple; - n_place_good_evil->m_field_name = field_name; - n_place_good_evil->m_df_type = DF_Type::Bool; - n_place_good_evil->m_rdf_type = RDF_Type::Bool; - n_place_good_evil->m_node_type = NodeType::Simple; - n_place_good_evil->m_address = base + offset; - n_place_good_evil->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_place_good_evil); - - field_name = "place_megabeasts"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_place_megabeasts = new NodeSimple; - n_place_megabeasts->m_field_name = field_name; - n_place_megabeasts->m_df_type = DF_Type::Bool; - n_place_megabeasts->m_rdf_type = RDF_Type::Bool; - n_place_megabeasts->m_node_type = NodeType::Simple; - n_place_megabeasts->m_address = base + offset; - n_place_megabeasts->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_place_megabeasts); - - field_name = "place_other_beasts"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_place_other_beasts = new NodeSimple; - n_place_other_beasts->m_field_name = field_name; - n_place_other_beasts->m_df_type = DF_Type::Bool; - n_place_other_beasts->m_rdf_type = RDF_Type::Bool; - n_place_other_beasts->m_node_type = NodeType::Simple; - n_place_other_beasts->m_address = base + offset; - n_place_other_beasts->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_place_other_beasts); - - field_name = "make_cave_pops"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_make_cave_pops = new NodeSimple; - n_make_cave_pops->m_field_name = field_name; - n_make_cave_pops->m_df_type = DF_Type::Bool; - n_make_cave_pops->m_rdf_type = RDF_Type::Bool; - n_make_cave_pops->m_node_type = NodeType::Simple; - n_make_cave_pops->m_address = base + offset; - n_make_cave_pops->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_make_cave_pops); - - field_name = "make_cave_civs"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_make_cave_civs = new NodeSimple; - n_make_cave_civs->m_field_name = field_name; - n_make_cave_civs->m_df_type = DF_Type::Bool; - n_make_cave_civs->m_rdf_type = RDF_Type::Bool; - n_make_cave_civs->m_node_type = NodeType::Simple; - n_make_cave_civs->m_address = base + offset; - n_make_cave_civs->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_make_cave_civs); - - field_name = "place_civs"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_place_civs = new NodeSimple; - n_place_civs->m_field_name = field_name; - n_place_civs->m_df_type = DF_Type::Bool; - n_place_civs->m_rdf_type = RDF_Type::Bool; - n_place_civs->m_node_type = NodeType::Simple; - n_place_civs->m_address = base + offset; - n_place_civs->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_place_civs); - - field_name = "finished_prehistory"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_finished_prehistory = new NodeSimple; - n_finished_prehistory->m_field_name = field_name; - n_finished_prehistory->m_df_type = DF_Type::Bool; - n_finished_prehistory->m_rdf_type = RDF_Type::Bool; - n_finished_prehistory->m_node_type = NodeType::Simple; - n_finished_prehistory->m_address = base + offset; - n_finished_prehistory->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_finished_prehistory); - - field_name = "sites2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_sites2 = new NodeVector; - n_sites2->m_field_name = field_name; - n_sites2->m_df_type = DF_Type::world_site; - n_sites2->m_rdf_type = RDF_Type::Vector; - n_sites2->m_node_type = NodeType::Vector; - n_sites2->m_defined_in = "df.world-site.xml"; - n_sites2->m_addornements = "v*"; - n_sites2->m_address = base + offset; - n_sites2->m_parent = p_node_parent; - n_sites2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_sites2); - - field_name = "sites3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_sites3 = new NodeVector; - n_sites3->m_field_name = field_name; - n_sites3->m_df_type = DF_Type::world_site; - n_sites3->m_rdf_type = RDF_Type::Vector; - n_sites3->m_node_type = NodeType::Vector; - n_sites3->m_defined_in = "df.world-site.xml"; - n_sites3->m_addornements = "v*"; - n_sites3->m_address = base + offset; - n_sites3->m_parent = p_node_parent; - n_sites3->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_sites3); - - field_name = "anon_16"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_anon_16 = new NodeSimple; - n_anon_16->m_field_name = field_name; - n_anon_16->m_df_type = DF_Type::int32_t; - n_anon_16->m_rdf_type = RDF_Type::int32_t; - n_anon_16->m_node_type = NodeType::Simple; - n_anon_16->m_address = base + offset; - n_anon_16->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_16); - - field_name = "anon_17"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_anon_17 = new NodeSimple; - n_anon_17->m_field_name = field_name; - n_anon_17->m_df_type = DF_Type::int8_t; - n_anon_17->m_rdf_type = RDF_Type::int8_t; - n_anon_17->m_node_type = NodeType::Simple; - n_anon_17->m_address = base + offset; - n_anon_17->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_17); - - field_name = "anon_18"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_anon_18 = new NodeSimple; - n_anon_18->m_field_name = field_name; - n_anon_18->m_df_type = DF_Type::int8_t; - n_anon_18->m_rdf_type = RDF_Type::int8_t; - n_anon_18->m_node_type = NodeType::Simple; - n_anon_18->m_address = base + offset; - n_anon_18->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_18); - - field_name = "anon_19"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_anon_19 = new NodeSimple; - n_anon_19->m_field_name = field_name; - n_anon_19->m_df_type = DF_Type::int8_t; - n_anon_19->m_rdf_type = RDF_Type::int8_t; - n_anon_19->m_node_type = NodeType::Simple; - n_anon_19->m_address = base + offset; - n_anon_19->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_19); - - field_name = "anon_20"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_anon_20 = new NodeSimple; - n_anon_20->m_field_name = field_name; - n_anon_20->m_df_type = DF_Type::int8_t; - n_anon_20->m_rdf_type = RDF_Type::int8_t; - n_anon_20->m_node_type = NodeType::Simple; - n_anon_20->m_address = base + offset; - n_anon_20->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_20); - - field_name = "entity_raws"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_entity_raws = new NodeVector; - n_entity_raws->m_field_name = field_name; - n_entity_raws->m_df_type = DF_Type::entity_raw; - n_entity_raws->m_rdf_type = RDF_Type::Vector; - n_entity_raws->m_node_type = NodeType::Vector; - n_entity_raws->m_defined_in = "df.entity-raws.xml"; - n_entity_raws->m_addornements = "v*"; - n_entity_raws->m_address = base + offset; - n_entity_raws->m_parent = p_node_parent; - n_entity_raws->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_entity_raws); - - field_name = "anon_21"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_anon_21 = new NodeVector; - n_anon_21->m_field_name = field_name; - n_anon_21->m_df_type = DF_Type::int32_t; - n_anon_21->m_rdf_type = RDF_Type::Vector; - n_anon_21->m_node_type = NodeType::Vector; - n_anon_21->m_addornements = "v"; - n_anon_21->m_address = base + offset; - n_anon_21->m_parent = p_node_parent; - n_anon_21->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_21); - - field_name = "civ_count"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_civ_count = new NodeSimple; - n_civ_count->m_field_name = field_name; - n_civ_count->m_df_type = DF_Type::int32_t; - n_civ_count->m_rdf_type = RDF_Type::int32_t; - n_civ_count->m_node_type = NodeType::Simple; - n_civ_count->m_address = base + offset; - n_civ_count->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_civ_count); - - field_name = "civs_left_to_place"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_civs_left_to_place = new NodeSimple; - n_civs_left_to_place->m_field_name = field_name; - n_civs_left_to_place->m_df_type = DF_Type::int32_t; - n_civs_left_to_place->m_rdf_type = RDF_Type::int32_t; - n_civs_left_to_place->m_node_type = NodeType::Simple; - n_civs_left_to_place->m_address = base + offset; - n_civs_left_to_place->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_civs_left_to_place); - - field_name = "regions1"; - auto n_regions1 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - n_regions1->m_field_name = field_name; - n_regions1->m_df_type = DF_Type::world_region; - n_regions1->m_rdf_type = RDF_Type::Array; - n_regions1->m_node_type = NodeType::Array; - n_regions1->m_defined_in = "df.world-data.xml"; - n_regions1->m_addornements = "[10v*"; - n_regions1->m_array_size = 10; - n_regions1->m_address = base + offset; - n_regions1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_regions1); - - field_name = "regions2"; - auto n_regions2 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - n_regions2->m_field_name = field_name; - n_regions2->m_df_type = DF_Type::world_region; - n_regions2->m_rdf_type = RDF_Type::Array; - n_regions2->m_node_type = NodeType::Array; - n_regions2->m_defined_in = "df.world-data.xml"; - n_regions2->m_addornements = "[10v*"; - n_regions2->m_array_size = 10; - n_regions2->m_address = base + offset; - n_regions2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_regions2); - - field_name = "regions3"; - auto n_regions3 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - n_regions3->m_field_name = field_name; - n_regions3->m_df_type = DF_Type::world_region; - n_regions3->m_rdf_type = RDF_Type::Array; - n_regions3->m_node_type = NodeType::Array; - n_regions3->m_defined_in = "df.world-data.xml"; - n_regions3->m_addornements = "[10v*"; - n_regions3->m_array_size = 10; - n_regions3->m_address = base + offset; - n_regions3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_regions3); - - field_name = "anon_22"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_anon_22 = new NodeVector; - n_anon_22->m_field_name = field_name; - n_anon_22->m_df_type = DF_Type::int32_t; - n_anon_22->m_rdf_type = RDF_Type::Vector; - n_anon_22->m_node_type = NodeType::Vector; - n_anon_22->m_addornements = "v"; - n_anon_22->m_address = base + offset; - n_anon_22->m_parent = p_node_parent; - n_anon_22->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_22); - - field_name = "anon_23"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_anon_23 = new NodeVector; - n_anon_23->m_field_name = field_name; - n_anon_23->m_df_type = DF_Type::int32_t; - n_anon_23->m_rdf_type = RDF_Type::Vector; - n_anon_23->m_node_type = NodeType::Vector; - n_anon_23->m_addornements = "v"; - n_anon_23->m_address = base + offset; - n_anon_23->m_parent = p_node_parent; - n_anon_23->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_23); - - field_name = "anon_24"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_anon_24 = new NodeVector; - n_anon_24->m_field_name = field_name; - n_anon_24->m_df_type = DF_Type::int32_t; - n_anon_24->m_rdf_type = RDF_Type::Vector; - n_anon_24->m_node_type = NodeType::Vector; - n_anon_24->m_addornements = "v"; - n_anon_24->m_address = base + offset; - n_anon_24->m_parent = p_node_parent; - n_anon_24->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_24); - - field_name = "anon_25"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_anon_25 = new NodeVector; - n_anon_25->m_field_name = field_name; - n_anon_25->m_df_type = DF_Type::int32_t; - n_anon_25->m_rdf_type = RDF_Type::Vector; - n_anon_25->m_node_type = NodeType::Vector; - n_anon_25->m_addornements = "v"; - n_anon_25->m_address = base + offset; - n_anon_25->m_parent = p_node_parent; - n_anon_25->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_25); - - field_name = "anon_26"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_anon_26 = new NodeVector; - n_anon_26->m_field_name = field_name; - n_anon_26->m_df_type = DF_Type::int32_t; - n_anon_26->m_rdf_type = RDF_Type::Vector; - n_anon_26->m_node_type = NodeType::Vector; - n_anon_26->m_addornements = "v"; - n_anon_26->m_address = base + offset; - n_anon_26->m_parent = p_node_parent; - n_anon_26->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_26); - - field_name = "anon_27"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_anon_27 = new NodeVector; - n_anon_27->m_field_name = field_name; - n_anon_27->m_df_type = DF_Type::int32_t; - n_anon_27->m_rdf_type = RDF_Type::Vector; - n_anon_27->m_node_type = NodeType::Vector; - n_anon_27->m_addornements = "v"; - n_anon_27->m_address = base + offset; - n_anon_27->m_parent = p_node_parent; - n_anon_27->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_27); - - field_name = "anon_28"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_anon_28 = new NodeSimple; - n_anon_28->m_field_name = field_name; - n_anon_28->m_df_type = DF_Type::int32_t; - n_anon_28->m_rdf_type = RDF_Type::int32_t; - n_anon_28->m_node_type = NodeType::Simple; - n_anon_28->m_address = base + offset; - n_anon_28->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_28); - - field_name = "anon_29"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_anon_29 = new NodeSimple; - n_anon_29->m_field_name = field_name; - n_anon_29->m_df_type = DF_Type::int32_t; - n_anon_29->m_rdf_type = RDF_Type::int32_t; - n_anon_29->m_node_type = NodeType::Simple; - n_anon_29->m_address = base + offset; - n_anon_29->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_29); - - field_name = "unk_10d298"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_unk_10d298 = new NodeVector; - n_unk_10d298->m_field_name = field_name; - n_unk_10d298->m_df_type = DF_Type::int32_t; - n_unk_10d298->m_rdf_type = RDF_Type::Vector; - n_unk_10d298->m_node_type = NodeType::Vector; - n_unk_10d298->m_addornements = "v"; - n_unk_10d298->m_address = base + offset; - n_unk_10d298->m_parent = p_node_parent; - n_unk_10d298->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_10d298); - - field_name = "unk_10d2a4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_unk_10d2a4 = new NodeVector; - n_unk_10d2a4->m_field_name = field_name; - n_unk_10d2a4->m_df_type = DF_Type::int32_t; - n_unk_10d2a4->m_rdf_type = RDF_Type::Vector; - n_unk_10d2a4->m_node_type = NodeType::Vector; - n_unk_10d2a4->m_addornements = "v"; - n_unk_10d2a4->m_address = base + offset; - n_unk_10d2a4->m_parent = p_node_parent; - n_unk_10d2a4->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_10d2a4); - - field_name = "libraries"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_libraries = new NodeVector; - n_libraries->m_field_name = field_name; - n_libraries->m_df_type = DF_Type::abstract_building; - n_libraries->m_rdf_type = RDF_Type::Vector; - n_libraries->m_node_type = NodeType::Vector; - n_libraries->m_defined_in = "df.world-site.xml"; - n_libraries->m_addornements = "v*"; - n_libraries->m_address = base + offset; - n_libraries->m_parent = p_node_parent; - n_libraries->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_libraries); - - field_name = "anon_30"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_anon_30 = new NodeSimple; - n_anon_30->m_field_name = field_name; - n_anon_30->m_df_type = DF_Type::int32_t; - n_anon_30->m_rdf_type = RDF_Type::int32_t; - n_anon_30->m_node_type = NodeType::Simple; - n_anon_30->m_address = base + offset; - n_anon_30->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_30); - - field_name = "temples"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_temples = new NodeVector; - n_temples->m_field_name = field_name; - n_temples->m_df_type = DF_Type::abstract_building; - n_temples->m_rdf_type = RDF_Type::Vector; - n_temples->m_node_type = NodeType::Vector; - n_temples->m_defined_in = "df.world-site.xml"; - n_temples->m_addornements = "v*"; - n_temples->m_address = base + offset; - n_temples->m_parent = p_node_parent; - n_temples->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_temples); - - field_name = "some_artifacts"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); - auto n_some_artifacts = new NodeVector; - n_some_artifacts->m_field_name = field_name; - n_some_artifacts->m_df_type = DF_Type::artifact_record; - n_some_artifacts->m_rdf_type = RDF_Type::Vector; - n_some_artifacts->m_node_type = NodeType::Vector; - n_some_artifacts->m_defined_in = "df.legends.xml"; - n_some_artifacts->m_addornements = "v*"; - n_some_artifacts->m_address = base + offset; - n_some_artifacts->m_parent = p_node_parent; - n_some_artifacts->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_some_artifacts); - -} -void node_from_world__T_unk_59dc4__T_unk1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "ref"; - auto n_ref = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_59dc4__T_unk1, field_name)); - n_ref->m_field_name = field_name; - n_ref->m_df_type = DF_Type::world_population_ref; - n_ref->m_rdf_type = RDF_Type::Struct; - n_ref->m_node_type = NodeType::Compound; - n_ref->m_address = base + offset; - n_ref->m_defined_in = "df.world-data.xml"; - n_ref->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ref); - - field_name = "unk"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_59dc4__T_unk1, field_name)); - auto n_unk = new NodeVector; - n_unk->m_field_name = field_name; - n_unk->m_df_type = DF_Type::int32_t; - n_unk->m_rdf_type = RDF_Type::Vector; - n_unk->m_node_type = NodeType::Vector; - n_unk->m_addornements = "v"; - n_unk->m_address = base + offset; - n_unk->m_parent = p_node_parent; - n_unk->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk); - -} -void node_from_world__T_unk_59dc4(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "regions"; - auto n_regions = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_59dc4, field_name)); - n_regions->m_field_name = field_name; - n_regions->m_df_type = DF_Type::coord2d_path; - n_regions->m_rdf_type = RDF_Type::Struct; - n_regions->m_node_type = NodeType::Compound; - n_regions->m_address = base + offset; - n_regions->m_defined_in = "df.map.xml"; - n_regions->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_regions); - - field_name = "unk1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_59dc4, field_name)); - auto n_unk1 = new NodeVector; - n_unk1->m_field_name = field_name; - n_unk1->m_df_type = DF_Type::world__T_unk_59dc4__T_unk1; - n_unk1->m_rdf_type = RDF_Type::Vector; - n_unk1->m_node_type = NodeType::Vector; - n_unk1->m_addornements = "v*"; - n_unk1->m_address = base + offset; - n_unk1->m_parent = p_node_parent; - n_unk1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk1); - -} -void node_from_world__T_flow_engine(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "rnd_16"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_flow_engine, field_name)); - auto n_rnd_16 = new NodeSimple; - n_rnd_16->m_field_name = field_name; - n_rnd_16->m_df_type = DF_Type::int8_t; - n_rnd_16->m_rdf_type = RDF_Type::int8_t; - n_rnd_16->m_node_type = NodeType::Simple; - n_rnd_16->m_address = base + offset; - n_rnd_16->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rnd_16); - - field_name = "rnd_256"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_flow_engine, field_name)); - auto n_rnd_256 = new NodeSimple; - n_rnd_256->m_field_name = field_name; - n_rnd_256->m_df_type = DF_Type::int16_t; - n_rnd_256->m_rdf_type = RDF_Type::int16_t; - n_rnd_256->m_node_type = NodeType::Simple; - n_rnd_256->m_address = base + offset; - n_rnd_256->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rnd_256); - - field_name = "rnd_pos"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_flow_engine, field_name)); - auto n_rnd_pos = new NodeSimple; - n_rnd_pos->m_field_name = field_name; - n_rnd_pos->m_df_type = DF_Type::int16_t; - n_rnd_pos->m_rdf_type = RDF_Type::int16_t; - n_rnd_pos->m_node_type = NodeType::Simple; - n_rnd_pos->m_address = base + offset; - n_rnd_pos->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rnd_pos); - - field_name = "rnd_x"; - auto n_rnd_x = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_flow_engine, field_name)); - n_rnd_x->m_field_name = field_name; - n_rnd_x->m_df_type = DF_Type::int16_t; - n_rnd_x->m_rdf_type = RDF_Type::Array; - n_rnd_x->m_node_type = NodeType::Array; - n_rnd_x->m_addornements = "[16"; - n_rnd_x->m_array_size = 16; - n_rnd_x->m_address = base + offset; - n_rnd_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rnd_x); - - field_name = "rnd_y"; - auto n_rnd_y = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_flow_engine, field_name)); - n_rnd_y->m_field_name = field_name; - n_rnd_y->m_df_type = DF_Type::int16_t; - n_rnd_y->m_rdf_type = RDF_Type::Array; - n_rnd_y->m_node_type = NodeType::Array; - n_rnd_y->m_addornements = "[16"; - n_rnd_y->m_array_size = 16; - n_rnd_y->m_address = base + offset; - n_rnd_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rnd_y); - - field_name = "block_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_flow_engine, field_name)); - auto n_block_idx = new NodeSimple; - n_block_idx->m_field_name = field_name; - n_block_idx->m_df_type = DF_Type::int32_t; - n_block_idx->m_rdf_type = RDF_Type::int32_t; - n_block_idx->m_node_type = NodeType::Simple; - n_block_idx->m_address = base + offset; - n_block_idx->m_refers_to = "$$._global.map.map_blocks[$]"; - n_block_idx->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_block_idx); - - field_name = "unk7a"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_flow_engine, field_name)); - auto n_unk7a = new NodeVector; - n_unk7a->m_field_name = field_name; - n_unk7a->m_df_type = DF_Type::int16_t; - n_unk7a->m_rdf_type = RDF_Type::Vector; - n_unk7a->m_node_type = NodeType::Vector; - n_unk7a->m_addornements = "v"; - n_unk7a->m_address = base + offset; - n_unk7a->m_parent = p_node_parent; - n_unk7a->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk7a); - - field_name = "unk7b"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_flow_engine, field_name)); - auto n_unk7b = new NodeVector; - n_unk7b->m_field_name = field_name; - n_unk7b->m_df_type = DF_Type::int16_t; - n_unk7b->m_rdf_type = RDF_Type::Vector; - n_unk7b->m_node_type = NodeType::Vector; - n_unk7b->m_addornements = "v"; - n_unk7b->m_address = base + offset; - n_unk7b->m_parent = p_node_parent; - n_unk7b->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk7b); - - field_name = "unk7c"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_flow_engine, field_name)); - auto n_unk7c = new NodeVector; - n_unk7c->m_field_name = field_name; - n_unk7c->m_df_type = DF_Type::int16_t; - n_unk7c->m_rdf_type = RDF_Type::Vector; - n_unk7c->m_node_type = NodeType::Vector; - n_unk7c->m_addornements = "v"; - n_unk7c->m_address = base + offset; - n_unk7c->m_parent = p_node_parent; - n_unk7c->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk7c); - - field_name = "unk7_cntdn"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_flow_engine, field_name)); - auto n_unk7_cntdn = new NodeVector; - n_unk7_cntdn->m_field_name = field_name; - n_unk7_cntdn->m_df_type = DF_Type::int16_t; - n_unk7_cntdn->m_rdf_type = RDF_Type::Vector; - n_unk7_cntdn->m_node_type = NodeType::Vector; - n_unk7_cntdn->m_addornements = "v"; - n_unk7_cntdn->m_address = base + offset; - n_unk7_cntdn->m_parent = p_node_parent; - n_unk7_cntdn->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk7_cntdn); - -} -void node_from_world__T_worldgen__T_worldgen_parms(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "title"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_title = new NodeSimple; - n_title->m_field_name = field_name; - n_title->m_df_type = DF_Type::Stl_string; - n_title->m_rdf_type = RDF_Type::Stl_string; - n_title->m_node_type = NodeType::Simple; - n_title->m_address = base + offset; - n_title->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_title); - - field_name = "seed"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_seed = new NodeSimple; - n_seed->m_field_name = field_name; - n_seed->m_df_type = DF_Type::Stl_string; - n_seed->m_rdf_type = RDF_Type::Stl_string; - n_seed->m_node_type = NodeType::Simple; - n_seed->m_address = base + offset; - n_seed->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_seed); - - field_name = "history_seed"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_history_seed = new NodeSimple; - n_history_seed->m_field_name = field_name; - n_history_seed->m_df_type = DF_Type::Stl_string; - n_history_seed->m_rdf_type = RDF_Type::Stl_string; - n_history_seed->m_node_type = NodeType::Simple; - n_history_seed->m_address = base + offset; - n_history_seed->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_history_seed); - - field_name = "name_seed"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_name_seed = new NodeSimple; - n_name_seed->m_field_name = field_name; - n_name_seed->m_df_type = DF_Type::Stl_string; - n_name_seed->m_rdf_type = RDF_Type::Stl_string; - n_name_seed->m_node_type = NodeType::Simple; - n_name_seed->m_address = base + offset; - n_name_seed->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name_seed); - - field_name = "creature_seed"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_creature_seed = new NodeSimple; - n_creature_seed->m_field_name = field_name; - n_creature_seed->m_df_type = DF_Type::Stl_string; - n_creature_seed->m_rdf_type = RDF_Type::Stl_string; - n_creature_seed->m_node_type = NodeType::Simple; - n_creature_seed->m_address = base + offset; - n_creature_seed->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_creature_seed); - - field_name = "dim_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_dim_x = new NodeSimple; - n_dim_x->m_field_name = field_name; - n_dim_x->m_df_type = DF_Type::int32_t; - n_dim_x->m_rdf_type = RDF_Type::int32_t; - n_dim_x->m_node_type = NodeType::Simple; - n_dim_x->m_address = base + offset; - n_dim_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dim_x); - - field_name = "dim_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_dim_y = new NodeSimple; - n_dim_y->m_field_name = field_name; - n_dim_y->m_df_type = DF_Type::int32_t; - n_dim_y->m_rdf_type = RDF_Type::int32_t; - n_dim_y->m_node_type = NodeType::Simple; - n_dim_y->m_address = base + offset; - n_dim_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dim_y); - - field_name = "custom_name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_custom_name = new NodeSimple; - n_custom_name->m_field_name = field_name; - n_custom_name->m_df_type = DF_Type::Stl_string; - n_custom_name->m_rdf_type = RDF_Type::Stl_string; - n_custom_name->m_node_type = NodeType::Simple; - n_custom_name->m_address = base + offset; - n_custom_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_custom_name); - - field_name = "has_seed"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_has_seed = new NodeSimple; - n_has_seed->m_field_name = field_name; - n_has_seed->m_df_type = DF_Type::Bool; - n_has_seed->m_rdf_type = RDF_Type::Bool; - n_has_seed->m_node_type = NodeType::Simple; - n_has_seed->m_address = base + offset; - n_has_seed->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_has_seed); - - field_name = "has_history_seed"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_has_history_seed = new NodeSimple; - n_has_history_seed->m_field_name = field_name; - n_has_history_seed->m_df_type = DF_Type::Bool; - n_has_history_seed->m_rdf_type = RDF_Type::Bool; - n_has_history_seed->m_node_type = NodeType::Simple; - n_has_history_seed->m_address = base + offset; - n_has_history_seed->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_has_history_seed); - - field_name = "has_name_seed"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_has_name_seed = new NodeSimple; - n_has_name_seed->m_field_name = field_name; - n_has_name_seed->m_df_type = DF_Type::Bool; - n_has_name_seed->m_rdf_type = RDF_Type::Bool; - n_has_name_seed->m_node_type = NodeType::Simple; - n_has_name_seed->m_address = base + offset; - n_has_name_seed->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_has_name_seed); - - field_name = "has_creature_seed"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_has_creature_seed = new NodeSimple; - n_has_creature_seed->m_field_name = field_name; - n_has_creature_seed->m_df_type = DF_Type::Bool; - n_has_creature_seed->m_rdf_type = RDF_Type::Bool; - n_has_creature_seed->m_node_type = NodeType::Simple; - n_has_creature_seed->m_address = base + offset; - n_has_creature_seed->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_has_creature_seed); - - field_name = "embark_points"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_embark_points = new NodeSimple; - n_embark_points->m_field_name = field_name; - n_embark_points->m_df_type = DF_Type::int32_t; - n_embark_points->m_rdf_type = RDF_Type::int32_t; - n_embark_points->m_node_type = NodeType::Simple; - n_embark_points->m_address = base + offset; - n_embark_points->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_embark_points); - - field_name = "peak_number_min"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_peak_number_min = new NodeSimple; - n_peak_number_min->m_field_name = field_name; - n_peak_number_min->m_df_type = DF_Type::int32_t; - n_peak_number_min->m_rdf_type = RDF_Type::int32_t; - n_peak_number_min->m_node_type = NodeType::Simple; - n_peak_number_min->m_address = base + offset; - n_peak_number_min->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_peak_number_min); - - field_name = "partial_ocean_edge_min"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_partial_ocean_edge_min = new NodeSimple; - n_partial_ocean_edge_min->m_field_name = field_name; - n_partial_ocean_edge_min->m_df_type = DF_Type::int32_t; - n_partial_ocean_edge_min->m_rdf_type = RDF_Type::int32_t; - n_partial_ocean_edge_min->m_node_type = NodeType::Simple; - n_partial_ocean_edge_min->m_address = base + offset; - n_partial_ocean_edge_min->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_partial_ocean_edge_min); - - field_name = "complete_ocean_edge_min"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_complete_ocean_edge_min = new NodeSimple; - n_complete_ocean_edge_min->m_field_name = field_name; - n_complete_ocean_edge_min->m_df_type = DF_Type::int32_t; - n_complete_ocean_edge_min->m_rdf_type = RDF_Type::int32_t; - n_complete_ocean_edge_min->m_node_type = NodeType::Simple; - n_complete_ocean_edge_min->m_address = base + offset; - n_complete_ocean_edge_min->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_complete_ocean_edge_min); - - field_name = "volcano_min"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_volcano_min = new NodeSimple; - n_volcano_min->m_field_name = field_name; - n_volcano_min->m_df_type = DF_Type::int32_t; - n_volcano_min->m_rdf_type = RDF_Type::int32_t; - n_volcano_min->m_node_type = NodeType::Simple; - n_volcano_min->m_address = base + offset; - n_volcano_min->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_volcano_min); - - field_name = "region_counts"; - auto n_region_counts = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - n_region_counts->m_field_name = field_name; - n_region_counts->m_df_type = DF_Type::int32_t; - n_region_counts->m_rdf_type = RDF_Type::Array; - n_region_counts->m_node_type = NodeType::Array; - n_region_counts->m_addornements = "[3[10"; - n_region_counts->m_array_size = 3; - n_region_counts->m_address = base + offset; - n_region_counts->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_region_counts); - - field_name = "river_mins"; - auto n_river_mins = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - n_river_mins->m_field_name = field_name; - n_river_mins->m_df_type = DF_Type::int32_t; - n_river_mins->m_rdf_type = RDF_Type::Array; - n_river_mins->m_node_type = NodeType::Array; - n_river_mins->m_addornements = "[2"; - n_river_mins->m_array_size = 2; - n_river_mins->m_address = base + offset; - n_river_mins->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_river_mins); - - field_name = "subregion_max"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_subregion_max = new NodeSimple; - n_subregion_max->m_field_name = field_name; - n_subregion_max->m_df_type = DF_Type::int32_t; - n_subregion_max->m_rdf_type = RDF_Type::int32_t; - n_subregion_max->m_node_type = NodeType::Simple; - n_subregion_max->m_address = base + offset; - n_subregion_max->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_subregion_max); - - field_name = "cavern_layer_count"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_cavern_layer_count = new NodeSimple; - n_cavern_layer_count->m_field_name = field_name; - n_cavern_layer_count->m_df_type = DF_Type::int32_t; - n_cavern_layer_count->m_rdf_type = RDF_Type::int32_t; - n_cavern_layer_count->m_node_type = NodeType::Simple; - n_cavern_layer_count->m_address = base + offset; - n_cavern_layer_count->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cavern_layer_count); - - field_name = "cavern_layer_openness_min"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_cavern_layer_openness_min = new NodeSimple; - n_cavern_layer_openness_min->m_field_name = field_name; - n_cavern_layer_openness_min->m_df_type = DF_Type::int32_t; - n_cavern_layer_openness_min->m_rdf_type = RDF_Type::int32_t; - n_cavern_layer_openness_min->m_node_type = NodeType::Simple; - n_cavern_layer_openness_min->m_address = base + offset; - n_cavern_layer_openness_min->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cavern_layer_openness_min); - - field_name = "cavern_layer_openness_max"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_cavern_layer_openness_max = new NodeSimple; - n_cavern_layer_openness_max->m_field_name = field_name; - n_cavern_layer_openness_max->m_df_type = DF_Type::int32_t; - n_cavern_layer_openness_max->m_rdf_type = RDF_Type::int32_t; - n_cavern_layer_openness_max->m_node_type = NodeType::Simple; - n_cavern_layer_openness_max->m_address = base + offset; - n_cavern_layer_openness_max->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cavern_layer_openness_max); - - field_name = "cavern_layer_passage_density_min"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_cavern_layer_passage_density_min = new NodeSimple; - n_cavern_layer_passage_density_min->m_field_name = field_name; - n_cavern_layer_passage_density_min->m_df_type = DF_Type::int32_t; - n_cavern_layer_passage_density_min->m_rdf_type = RDF_Type::int32_t; - n_cavern_layer_passage_density_min->m_node_type = NodeType::Simple; - n_cavern_layer_passage_density_min->m_address = base + offset; - n_cavern_layer_passage_density_min->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cavern_layer_passage_density_min); - - field_name = "cavern_layer_passage_density_max"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_cavern_layer_passage_density_max = new NodeSimple; - n_cavern_layer_passage_density_max->m_field_name = field_name; - n_cavern_layer_passage_density_max->m_df_type = DF_Type::int32_t; - n_cavern_layer_passage_density_max->m_rdf_type = RDF_Type::int32_t; - n_cavern_layer_passage_density_max->m_node_type = NodeType::Simple; - n_cavern_layer_passage_density_max->m_address = base + offset; - n_cavern_layer_passage_density_max->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cavern_layer_passage_density_max); - - field_name = "cavern_layer_water_min"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_cavern_layer_water_min = new NodeSimple; - n_cavern_layer_water_min->m_field_name = field_name; - n_cavern_layer_water_min->m_df_type = DF_Type::int32_t; - n_cavern_layer_water_min->m_rdf_type = RDF_Type::int32_t; - n_cavern_layer_water_min->m_node_type = NodeType::Simple; - n_cavern_layer_water_min->m_address = base + offset; - n_cavern_layer_water_min->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cavern_layer_water_min); - - field_name = "cavern_layer_water_max"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_cavern_layer_water_max = new NodeSimple; - n_cavern_layer_water_max->m_field_name = field_name; - n_cavern_layer_water_max->m_df_type = DF_Type::int32_t; - n_cavern_layer_water_max->m_rdf_type = RDF_Type::int32_t; - n_cavern_layer_water_max->m_node_type = NodeType::Simple; - n_cavern_layer_water_max->m_address = base + offset; - n_cavern_layer_water_max->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cavern_layer_water_max); - - field_name = "have_bottom_layer_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_have_bottom_layer_1 = new NodeSimple; - n_have_bottom_layer_1->m_field_name = field_name; - n_have_bottom_layer_1->m_df_type = DF_Type::Bool; - n_have_bottom_layer_1->m_rdf_type = RDF_Type::Bool; - n_have_bottom_layer_1->m_node_type = NodeType::Simple; - n_have_bottom_layer_1->m_address = base + offset; - n_have_bottom_layer_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_have_bottom_layer_1); - - field_name = "have_bottom_layer_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_have_bottom_layer_2 = new NodeSimple; - n_have_bottom_layer_2->m_field_name = field_name; - n_have_bottom_layer_2->m_df_type = DF_Type::Bool; - n_have_bottom_layer_2->m_rdf_type = RDF_Type::Bool; - n_have_bottom_layer_2->m_node_type = NodeType::Simple; - n_have_bottom_layer_2->m_address = base + offset; - n_have_bottom_layer_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_have_bottom_layer_2); - - field_name = "levels_above_ground"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_levels_above_ground = new NodeSimple; - n_levels_above_ground->m_field_name = field_name; - n_levels_above_ground->m_df_type = DF_Type::int32_t; - n_levels_above_ground->m_rdf_type = RDF_Type::int32_t; - n_levels_above_ground->m_node_type = NodeType::Simple; - n_levels_above_ground->m_address = base + offset; - n_levels_above_ground->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_levels_above_ground); - - field_name = "levels_above_layer_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_levels_above_layer_1 = new NodeSimple; - n_levels_above_layer_1->m_field_name = field_name; - n_levels_above_layer_1->m_df_type = DF_Type::int32_t; - n_levels_above_layer_1->m_rdf_type = RDF_Type::int32_t; - n_levels_above_layer_1->m_node_type = NodeType::Simple; - n_levels_above_layer_1->m_address = base + offset; - n_levels_above_layer_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_levels_above_layer_1); - - field_name = "levels_above_layer_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_levels_above_layer_2 = new NodeSimple; - n_levels_above_layer_2->m_field_name = field_name; - n_levels_above_layer_2->m_df_type = DF_Type::int32_t; - n_levels_above_layer_2->m_rdf_type = RDF_Type::int32_t; - n_levels_above_layer_2->m_node_type = NodeType::Simple; - n_levels_above_layer_2->m_address = base + offset; - n_levels_above_layer_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_levels_above_layer_2); - - field_name = "levels_above_layer_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_levels_above_layer_3 = new NodeSimple; - n_levels_above_layer_3->m_field_name = field_name; - n_levels_above_layer_3->m_df_type = DF_Type::int32_t; - n_levels_above_layer_3->m_rdf_type = RDF_Type::int32_t; - n_levels_above_layer_3->m_node_type = NodeType::Simple; - n_levels_above_layer_3->m_address = base + offset; - n_levels_above_layer_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_levels_above_layer_3); - - field_name = "levels_above_layer_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_levels_above_layer_4 = new NodeSimple; - n_levels_above_layer_4->m_field_name = field_name; - n_levels_above_layer_4->m_df_type = DF_Type::int32_t; - n_levels_above_layer_4->m_rdf_type = RDF_Type::int32_t; - n_levels_above_layer_4->m_node_type = NodeType::Simple; - n_levels_above_layer_4->m_address = base + offset; - n_levels_above_layer_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_levels_above_layer_4); - - field_name = "levels_above_layer_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_levels_above_layer_5 = new NodeSimple; - n_levels_above_layer_5->m_field_name = field_name; - n_levels_above_layer_5->m_df_type = DF_Type::int32_t; - n_levels_above_layer_5->m_rdf_type = RDF_Type::int32_t; - n_levels_above_layer_5->m_node_type = NodeType::Simple; - n_levels_above_layer_5->m_address = base + offset; - n_levels_above_layer_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_levels_above_layer_5); - - field_name = "levels_at_bottom"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_levels_at_bottom = new NodeSimple; - n_levels_at_bottom->m_field_name = field_name; - n_levels_at_bottom->m_df_type = DF_Type::int32_t; - n_levels_at_bottom->m_rdf_type = RDF_Type::int32_t; - n_levels_at_bottom->m_node_type = NodeType::Simple; - n_levels_at_bottom->m_address = base + offset; - n_levels_at_bottom->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_levels_at_bottom); - - field_name = "cave_min_size"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_cave_min_size = new NodeSimple; - n_cave_min_size->m_field_name = field_name; - n_cave_min_size->m_df_type = DF_Type::int32_t; - n_cave_min_size->m_rdf_type = RDF_Type::int32_t; - n_cave_min_size->m_node_type = NodeType::Simple; - n_cave_min_size->m_address = base + offset; - n_cave_min_size->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cave_min_size); - - field_name = "cave_max_size"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_cave_max_size = new NodeSimple; - n_cave_max_size->m_field_name = field_name; - n_cave_max_size->m_df_type = DF_Type::int32_t; - n_cave_max_size->m_rdf_type = RDF_Type::int32_t; - n_cave_max_size->m_node_type = NodeType::Simple; - n_cave_max_size->m_address = base + offset; - n_cave_max_size->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cave_max_size); - - field_name = "mountain_cave_min"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_mountain_cave_min = new NodeSimple; - n_mountain_cave_min->m_field_name = field_name; - n_mountain_cave_min->m_df_type = DF_Type::int32_t; - n_mountain_cave_min->m_rdf_type = RDF_Type::int32_t; - n_mountain_cave_min->m_node_type = NodeType::Simple; - n_mountain_cave_min->m_address = base + offset; - n_mountain_cave_min->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mountain_cave_min); - - field_name = "non_mountain_cave_min"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_non_mountain_cave_min = new NodeSimple; - n_non_mountain_cave_min->m_field_name = field_name; - n_non_mountain_cave_min->m_df_type = DF_Type::int32_t; - n_non_mountain_cave_min->m_rdf_type = RDF_Type::int32_t; - n_non_mountain_cave_min->m_node_type = NodeType::Simple; - n_non_mountain_cave_min->m_address = base + offset; - n_non_mountain_cave_min->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_non_mountain_cave_min); - - field_name = "total_civ_number"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_total_civ_number = new NodeSimple; - n_total_civ_number->m_field_name = field_name; - n_total_civ_number->m_df_type = DF_Type::int32_t; - n_total_civ_number->m_rdf_type = RDF_Type::int32_t; - n_total_civ_number->m_node_type = NodeType::Simple; - n_total_civ_number->m_address = base + offset; - n_total_civ_number->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_total_civ_number); - - field_name = "rain_ranges_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_rain_ranges_1 = new NodeSimple; - n_rain_ranges_1->m_field_name = field_name; - n_rain_ranges_1->m_df_type = DF_Type::int32_t; - n_rain_ranges_1->m_rdf_type = RDF_Type::int32_t; - n_rain_ranges_1->m_node_type = NodeType::Simple; - n_rain_ranges_1->m_address = base + offset; - n_rain_ranges_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rain_ranges_1); - - field_name = "rain_ranges_0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_rain_ranges_0 = new NodeSimple; - n_rain_ranges_0->m_field_name = field_name; - n_rain_ranges_0->m_df_type = DF_Type::int32_t; - n_rain_ranges_0->m_rdf_type = RDF_Type::int32_t; - n_rain_ranges_0->m_node_type = NodeType::Simple; - n_rain_ranges_0->m_address = base + offset; - n_rain_ranges_0->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rain_ranges_0); - - field_name = "rain_ranges_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_rain_ranges_2 = new NodeSimple; - n_rain_ranges_2->m_field_name = field_name; - n_rain_ranges_2->m_df_type = DF_Type::int32_t; - n_rain_ranges_2->m_rdf_type = RDF_Type::int32_t; - n_rain_ranges_2->m_node_type = NodeType::Simple; - n_rain_ranges_2->m_address = base + offset; - n_rain_ranges_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rain_ranges_2); - - field_name = "drainage_ranges_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_drainage_ranges_1 = new NodeSimple; - n_drainage_ranges_1->m_field_name = field_name; - n_drainage_ranges_1->m_df_type = DF_Type::int32_t; - n_drainage_ranges_1->m_rdf_type = RDF_Type::int32_t; - n_drainage_ranges_1->m_node_type = NodeType::Simple; - n_drainage_ranges_1->m_address = base + offset; - n_drainage_ranges_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_drainage_ranges_1); - - field_name = "drainage_ranges_0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_drainage_ranges_0 = new NodeSimple; - n_drainage_ranges_0->m_field_name = field_name; - n_drainage_ranges_0->m_df_type = DF_Type::int32_t; - n_drainage_ranges_0->m_rdf_type = RDF_Type::int32_t; - n_drainage_ranges_0->m_node_type = NodeType::Simple; - n_drainage_ranges_0->m_address = base + offset; - n_drainage_ranges_0->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_drainage_ranges_0); - - field_name = "drainage_ranges_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_drainage_ranges_2 = new NodeSimple; - n_drainage_ranges_2->m_field_name = field_name; - n_drainage_ranges_2->m_df_type = DF_Type::int32_t; - n_drainage_ranges_2->m_rdf_type = RDF_Type::int32_t; - n_drainage_ranges_2->m_node_type = NodeType::Simple; - n_drainage_ranges_2->m_address = base + offset; - n_drainage_ranges_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_drainage_ranges_2); - - field_name = "savagery_ranges_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_savagery_ranges_1 = new NodeSimple; - n_savagery_ranges_1->m_field_name = field_name; - n_savagery_ranges_1->m_df_type = DF_Type::int32_t; - n_savagery_ranges_1->m_rdf_type = RDF_Type::int32_t; - n_savagery_ranges_1->m_node_type = NodeType::Simple; - n_savagery_ranges_1->m_address = base + offset; - n_savagery_ranges_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_savagery_ranges_1); - - field_name = "savagery_ranges_0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_savagery_ranges_0 = new NodeSimple; - n_savagery_ranges_0->m_field_name = field_name; - n_savagery_ranges_0->m_df_type = DF_Type::int32_t; - n_savagery_ranges_0->m_rdf_type = RDF_Type::int32_t; - n_savagery_ranges_0->m_node_type = NodeType::Simple; - n_savagery_ranges_0->m_address = base + offset; - n_savagery_ranges_0->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_savagery_ranges_0); - - field_name = "savagery_ranges_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_savagery_ranges_2 = new NodeSimple; - n_savagery_ranges_2->m_field_name = field_name; - n_savagery_ranges_2->m_df_type = DF_Type::int32_t; - n_savagery_ranges_2->m_rdf_type = RDF_Type::int32_t; - n_savagery_ranges_2->m_node_type = NodeType::Simple; - n_savagery_ranges_2->m_address = base + offset; - n_savagery_ranges_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_savagery_ranges_2); - - field_name = "volcanism_ranges_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_volcanism_ranges_1 = new NodeSimple; - n_volcanism_ranges_1->m_field_name = field_name; - n_volcanism_ranges_1->m_df_type = DF_Type::int32_t; - n_volcanism_ranges_1->m_rdf_type = RDF_Type::int32_t; - n_volcanism_ranges_1->m_node_type = NodeType::Simple; - n_volcanism_ranges_1->m_address = base + offset; - n_volcanism_ranges_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_volcanism_ranges_1); - - field_name = "volcanism_ranges_0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_volcanism_ranges_0 = new NodeSimple; - n_volcanism_ranges_0->m_field_name = field_name; - n_volcanism_ranges_0->m_df_type = DF_Type::int32_t; - n_volcanism_ranges_0->m_rdf_type = RDF_Type::int32_t; - n_volcanism_ranges_0->m_node_type = NodeType::Simple; - n_volcanism_ranges_0->m_address = base + offset; - n_volcanism_ranges_0->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_volcanism_ranges_0); - - field_name = "volcanism_ranges_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_volcanism_ranges_2 = new NodeSimple; - n_volcanism_ranges_2->m_field_name = field_name; - n_volcanism_ranges_2->m_df_type = DF_Type::int32_t; - n_volcanism_ranges_2->m_rdf_type = RDF_Type::int32_t; - n_volcanism_ranges_2->m_node_type = NodeType::Simple; - n_volcanism_ranges_2->m_address = base + offset; - n_volcanism_ranges_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_volcanism_ranges_2); - - field_name = "ranges"; - auto n_ranges = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - n_ranges->m_field_name = field_name; - n_ranges->m_df_type = DF_Type::int32_t; - n_ranges->m_rdf_type = RDF_Type::Array; - n_ranges->m_node_type = NodeType::Array; - n_ranges->m_addornements = "[4[24"; - n_ranges->m_array_size = 4; - n_ranges->m_address = base + offset; - n_ranges->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ranges); - - field_name = "beast_end_year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_beast_end_year = new NodeSimple; - n_beast_end_year->m_field_name = field_name; - n_beast_end_year->m_df_type = DF_Type::int32_t; - n_beast_end_year->m_rdf_type = RDF_Type::int32_t; - n_beast_end_year->m_node_type = NodeType::Simple; - n_beast_end_year->m_address = base + offset; - n_beast_end_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_beast_end_year); - - field_name = "end_year"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_end_year = new NodeSimple; - n_end_year->m_field_name = field_name; - n_end_year->m_df_type = DF_Type::int32_t; - n_end_year->m_rdf_type = RDF_Type::int32_t; - n_end_year->m_node_type = NodeType::Simple; - n_end_year->m_address = base + offset; - n_end_year->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_end_year); - - field_name = "beast_end_year_percent"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_beast_end_year_percent = new NodeSimple; - n_beast_end_year_percent->m_field_name = field_name; - n_beast_end_year_percent->m_df_type = DF_Type::int32_t; - n_beast_end_year_percent->m_rdf_type = RDF_Type::int32_t; - n_beast_end_year_percent->m_node_type = NodeType::Simple; - n_beast_end_year_percent->m_address = base + offset; - n_beast_end_year_percent->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_beast_end_year_percent); - - field_name = "total_civ_population"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_total_civ_population = new NodeSimple; - n_total_civ_population->m_field_name = field_name; - n_total_civ_population->m_df_type = DF_Type::int32_t; - n_total_civ_population->m_rdf_type = RDF_Type::int32_t; - n_total_civ_population->m_node_type = NodeType::Simple; - n_total_civ_population->m_address = base + offset; - n_total_civ_population->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_total_civ_population); - - field_name = "site_cap"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_site_cap = new NodeSimple; - n_site_cap->m_field_name = field_name; - n_site_cap->m_df_type = DF_Type::int32_t; - n_site_cap->m_rdf_type = RDF_Type::int32_t; - n_site_cap->m_node_type = NodeType::Simple; - n_site_cap->m_address = base + offset; - n_site_cap->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_site_cap); - - field_name = "elevation_ranges_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_elevation_ranges_1 = new NodeSimple; - n_elevation_ranges_1->m_field_name = field_name; - n_elevation_ranges_1->m_df_type = DF_Type::int32_t; - n_elevation_ranges_1->m_rdf_type = RDF_Type::int32_t; - n_elevation_ranges_1->m_node_type = NodeType::Simple; - n_elevation_ranges_1->m_address = base + offset; - n_elevation_ranges_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_elevation_ranges_1); - - field_name = "elevation_ranges_0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_elevation_ranges_0 = new NodeSimple; - n_elevation_ranges_0->m_field_name = field_name; - n_elevation_ranges_0->m_df_type = DF_Type::int32_t; - n_elevation_ranges_0->m_rdf_type = RDF_Type::int32_t; - n_elevation_ranges_0->m_node_type = NodeType::Simple; - n_elevation_ranges_0->m_address = base + offset; - n_elevation_ranges_0->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_elevation_ranges_0); - - field_name = "elevation_ranges_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_elevation_ranges_2 = new NodeSimple; - n_elevation_ranges_2->m_field_name = field_name; - n_elevation_ranges_2->m_df_type = DF_Type::int32_t; - n_elevation_ranges_2->m_rdf_type = RDF_Type::int32_t; - n_elevation_ranges_2->m_node_type = NodeType::Simple; - n_elevation_ranges_2->m_address = base + offset; - n_elevation_ranges_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_elevation_ranges_2); - - field_name = "mineral_scarcity"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_mineral_scarcity = new NodeSimple; - n_mineral_scarcity->m_field_name = field_name; - n_mineral_scarcity->m_df_type = DF_Type::int32_t; - n_mineral_scarcity->m_rdf_type = RDF_Type::int32_t; - n_mineral_scarcity->m_node_type = NodeType::Simple; - n_mineral_scarcity->m_address = base + offset; - n_mineral_scarcity->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mineral_scarcity); - - field_name = "megabeast_cap"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_megabeast_cap = new NodeSimple; - n_megabeast_cap->m_field_name = field_name; - n_megabeast_cap->m_df_type = DF_Type::int32_t; - n_megabeast_cap->m_rdf_type = RDF_Type::int32_t; - n_megabeast_cap->m_node_type = NodeType::Simple; - n_megabeast_cap->m_address = base + offset; - n_megabeast_cap->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_megabeast_cap); - - field_name = "semimegabeast_cap"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_semimegabeast_cap = new NodeSimple; - n_semimegabeast_cap->m_field_name = field_name; - n_semimegabeast_cap->m_df_type = DF_Type::int32_t; - n_semimegabeast_cap->m_rdf_type = RDF_Type::int32_t; - n_semimegabeast_cap->m_node_type = NodeType::Simple; - n_semimegabeast_cap->m_address = base + offset; - n_semimegabeast_cap->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_semimegabeast_cap); - - field_name = "titan_number"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_titan_number = new NodeSimple; - n_titan_number->m_field_name = field_name; - n_titan_number->m_df_type = DF_Type::int32_t; - n_titan_number->m_rdf_type = RDF_Type::int32_t; - n_titan_number->m_node_type = NodeType::Simple; - n_titan_number->m_address = base + offset; - n_titan_number->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_titan_number); - - field_name = "titan_attack_trigger"; - auto n_titan_attack_trigger = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - n_titan_attack_trigger->m_field_name = field_name; - n_titan_attack_trigger->m_df_type = DF_Type::int32_t; - n_titan_attack_trigger->m_rdf_type = RDF_Type::Array; - n_titan_attack_trigger->m_node_type = NodeType::Array; - n_titan_attack_trigger->m_addornements = "[3"; - n_titan_attack_trigger->m_array_size = 3; - n_titan_attack_trigger->m_address = base + offset; - n_titan_attack_trigger->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_titan_attack_trigger); - - field_name = "demon_number"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_demon_number = new NodeSimple; - n_demon_number->m_field_name = field_name; - n_demon_number->m_df_type = DF_Type::int32_t; - n_demon_number->m_rdf_type = RDF_Type::int32_t; - n_demon_number->m_node_type = NodeType::Simple; - n_demon_number->m_address = base + offset; - n_demon_number->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_demon_number); - - field_name = "night_troll_number"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_night_troll_number = new NodeSimple; - n_night_troll_number->m_field_name = field_name; - n_night_troll_number->m_df_type = DF_Type::int32_t; - n_night_troll_number->m_rdf_type = RDF_Type::int32_t; - n_night_troll_number->m_node_type = NodeType::Simple; - n_night_troll_number->m_address = base + offset; - n_night_troll_number->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_night_troll_number); - - field_name = "bogeyman_number"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_bogeyman_number = new NodeSimple; - n_bogeyman_number->m_field_name = field_name; - n_bogeyman_number->m_df_type = DF_Type::int32_t; - n_bogeyman_number->m_rdf_type = RDF_Type::int32_t; - n_bogeyman_number->m_node_type = NodeType::Simple; - n_bogeyman_number->m_address = base + offset; - n_bogeyman_number->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_bogeyman_number); - - field_name = "vampire_number"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_vampire_number = new NodeSimple; - n_vampire_number->m_field_name = field_name; - n_vampire_number->m_df_type = DF_Type::int32_t; - n_vampire_number->m_rdf_type = RDF_Type::int32_t; - n_vampire_number->m_node_type = NodeType::Simple; - n_vampire_number->m_address = base + offset; - n_vampire_number->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_vampire_number); - - field_name = "werebeast_number"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_werebeast_number = new NodeSimple; - n_werebeast_number->m_field_name = field_name; - n_werebeast_number->m_df_type = DF_Type::int32_t; - n_werebeast_number->m_rdf_type = RDF_Type::int32_t; - n_werebeast_number->m_node_type = NodeType::Simple; - n_werebeast_number->m_address = base + offset; - n_werebeast_number->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_werebeast_number); - - field_name = "secret_number"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_secret_number = new NodeSimple; - n_secret_number->m_field_name = field_name; - n_secret_number->m_df_type = DF_Type::int32_t; - n_secret_number->m_rdf_type = RDF_Type::int32_t; - n_secret_number->m_node_type = NodeType::Simple; - n_secret_number->m_address = base + offset; - n_secret_number->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_secret_number); - - field_name = "regional_interaction_number"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_regional_interaction_number = new NodeSimple; - n_regional_interaction_number->m_field_name = field_name; - n_regional_interaction_number->m_df_type = DF_Type::int32_t; - n_regional_interaction_number->m_rdf_type = RDF_Type::int32_t; - n_regional_interaction_number->m_node_type = NodeType::Simple; - n_regional_interaction_number->m_address = base + offset; - n_regional_interaction_number->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_regional_interaction_number); - - field_name = "disturbance_interaction_number"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_disturbance_interaction_number = new NodeSimple; - n_disturbance_interaction_number->m_field_name = field_name; - n_disturbance_interaction_number->m_df_type = DF_Type::int32_t; - n_disturbance_interaction_number->m_rdf_type = RDF_Type::int32_t; - n_disturbance_interaction_number->m_node_type = NodeType::Simple; - n_disturbance_interaction_number->m_address = base + offset; - n_disturbance_interaction_number->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_disturbance_interaction_number); - - field_name = "evil_cloud_number"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_evil_cloud_number = new NodeSimple; - n_evil_cloud_number->m_field_name = field_name; - n_evil_cloud_number->m_df_type = DF_Type::int32_t; - n_evil_cloud_number->m_rdf_type = RDF_Type::int32_t; - n_evil_cloud_number->m_node_type = NodeType::Simple; - n_evil_cloud_number->m_address = base + offset; - n_evil_cloud_number->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_evil_cloud_number); - - field_name = "evil_rain_number"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_evil_rain_number = new NodeSimple; - n_evil_rain_number->m_field_name = field_name; - n_evil_rain_number->m_df_type = DF_Type::int32_t; - n_evil_rain_number->m_rdf_type = RDF_Type::int32_t; - n_evil_rain_number->m_node_type = NodeType::Simple; - n_evil_rain_number->m_address = base + offset; - n_evil_rain_number->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_evil_rain_number); - - field_name = "generate_divine_materials"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_generate_divine_materials = new NodeSimple; - n_generate_divine_materials->m_field_name = field_name; - n_generate_divine_materials->m_df_type = DF_Type::int32_t; - n_generate_divine_materials->m_rdf_type = RDF_Type::int32_t; - n_generate_divine_materials->m_node_type = NodeType::Simple; - n_generate_divine_materials->m_address = base + offset; - n_generate_divine_materials->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_generate_divine_materials); - - field_name = "good_sq_counts_0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_good_sq_counts_0 = new NodeSimple; - n_good_sq_counts_0->m_field_name = field_name; - n_good_sq_counts_0->m_df_type = DF_Type::int32_t; - n_good_sq_counts_0->m_rdf_type = RDF_Type::int32_t; - n_good_sq_counts_0->m_node_type = NodeType::Simple; - n_good_sq_counts_0->m_address = base + offset; - n_good_sq_counts_0->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_good_sq_counts_0); - - field_name = "evil_sq_counts_0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_evil_sq_counts_0 = new NodeSimple; - n_evil_sq_counts_0->m_field_name = field_name; - n_evil_sq_counts_0->m_df_type = DF_Type::int32_t; - n_evil_sq_counts_0->m_rdf_type = RDF_Type::int32_t; - n_evil_sq_counts_0->m_node_type = NodeType::Simple; - n_evil_sq_counts_0->m_address = base + offset; - n_evil_sq_counts_0->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_evil_sq_counts_0); - - field_name = "good_sq_counts_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_good_sq_counts_1 = new NodeSimple; - n_good_sq_counts_1->m_field_name = field_name; - n_good_sq_counts_1->m_df_type = DF_Type::int32_t; - n_good_sq_counts_1->m_rdf_type = RDF_Type::int32_t; - n_good_sq_counts_1->m_node_type = NodeType::Simple; - n_good_sq_counts_1->m_address = base + offset; - n_good_sq_counts_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_good_sq_counts_1); - - field_name = "evil_sq_counts_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_evil_sq_counts_1 = new NodeSimple; - n_evil_sq_counts_1->m_field_name = field_name; - n_evil_sq_counts_1->m_df_type = DF_Type::int32_t; - n_evil_sq_counts_1->m_rdf_type = RDF_Type::int32_t; - n_evil_sq_counts_1->m_node_type = NodeType::Simple; - n_evil_sq_counts_1->m_address = base + offset; - n_evil_sq_counts_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_evil_sq_counts_1); - - field_name = "good_sq_counts_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_good_sq_counts_2 = new NodeSimple; - n_good_sq_counts_2->m_field_name = field_name; - n_good_sq_counts_2->m_df_type = DF_Type::int32_t; - n_good_sq_counts_2->m_rdf_type = RDF_Type::int32_t; - n_good_sq_counts_2->m_node_type = NodeType::Simple; - n_good_sq_counts_2->m_address = base + offset; - n_good_sq_counts_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_good_sq_counts_2); - - field_name = "evil_sq_counts_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_evil_sq_counts_2 = new NodeSimple; - n_evil_sq_counts_2->m_field_name = field_name; - n_evil_sq_counts_2->m_df_type = DF_Type::int32_t; - n_evil_sq_counts_2->m_rdf_type = RDF_Type::int32_t; - n_evil_sq_counts_2->m_node_type = NodeType::Simple; - n_evil_sq_counts_2->m_address = base + offset; - n_evil_sq_counts_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_evil_sq_counts_2); - - field_name = "elevation_frequency"; - auto n_elevation_frequency = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - n_elevation_frequency->m_field_name = field_name; - n_elevation_frequency->m_df_type = DF_Type::int32_t; - n_elevation_frequency->m_rdf_type = RDF_Type::Array; - n_elevation_frequency->m_node_type = NodeType::Array; - n_elevation_frequency->m_addornements = "[6"; - n_elevation_frequency->m_array_size = 6; - n_elevation_frequency->m_address = base + offset; - n_elevation_frequency->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_elevation_frequency); - - field_name = "rain_frequency"; - auto n_rain_frequency = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - n_rain_frequency->m_field_name = field_name; - n_rain_frequency->m_df_type = DF_Type::int32_t; - n_rain_frequency->m_rdf_type = RDF_Type::Array; - n_rain_frequency->m_node_type = NodeType::Array; - n_rain_frequency->m_addornements = "[6"; - n_rain_frequency->m_array_size = 6; - n_rain_frequency->m_address = base + offset; - n_rain_frequency->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rain_frequency); - - field_name = "drainage_frequency"; - auto n_drainage_frequency = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - n_drainage_frequency->m_field_name = field_name; - n_drainage_frequency->m_df_type = DF_Type::int32_t; - n_drainage_frequency->m_rdf_type = RDF_Type::Array; - n_drainage_frequency->m_node_type = NodeType::Array; - n_drainage_frequency->m_addornements = "[6"; - n_drainage_frequency->m_array_size = 6; - n_drainage_frequency->m_address = base + offset; - n_drainage_frequency->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_drainage_frequency); - - field_name = "savagery_frequency"; - auto n_savagery_frequency = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - n_savagery_frequency->m_field_name = field_name; - n_savagery_frequency->m_df_type = DF_Type::int32_t; - n_savagery_frequency->m_rdf_type = RDF_Type::Array; - n_savagery_frequency->m_node_type = NodeType::Array; - n_savagery_frequency->m_addornements = "[6"; - n_savagery_frequency->m_array_size = 6; - n_savagery_frequency->m_address = base + offset; - n_savagery_frequency->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_savagery_frequency); - - field_name = "temperature_frequency"; - auto n_temperature_frequency = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - n_temperature_frequency->m_field_name = field_name; - n_temperature_frequency->m_df_type = DF_Type::int32_t; - n_temperature_frequency->m_rdf_type = RDF_Type::Array; - n_temperature_frequency->m_node_type = NodeType::Array; - n_temperature_frequency->m_addornements = "[6"; - n_temperature_frequency->m_array_size = 6; - n_temperature_frequency->m_address = base + offset; - n_temperature_frequency->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_temperature_frequency); - - field_name = "volcanism_frequency"; - auto n_volcanism_frequency = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - n_volcanism_frequency->m_field_name = field_name; - n_volcanism_frequency->m_df_type = DF_Type::int32_t; - n_volcanism_frequency->m_rdf_type = RDF_Type::Array; - n_volcanism_frequency->m_node_type = NodeType::Array; - n_volcanism_frequency->m_addornements = "[6"; - n_volcanism_frequency->m_array_size = 6; - n_volcanism_frequency->m_address = base + offset; - n_volcanism_frequency->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_volcanism_frequency); - - field_name = "ps"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_ps = new NodePointer; - n_ps->m_field_name = field_name; - n_ps->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_ps->m_rdf_type = RDF_Type::Pointer; - n_ps->m_node_type = NodeType::Pointer; - n_ps->m_addornements = "*"; - n_ps->m_address = base + offset; - n_ps->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_ps); - - field_name = "reveal_all_history"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_reveal_all_history = new NodeSimple; - n_reveal_all_history->m_field_name = field_name; - n_reveal_all_history->m_df_type = DF_Type::int32_t; - n_reveal_all_history->m_rdf_type = RDF_Type::int32_t; - n_reveal_all_history->m_node_type = NodeType::Simple; - n_reveal_all_history->m_address = base + offset; - n_reveal_all_history->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_reveal_all_history); - - field_name = "cull_historical_figures"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_cull_historical_figures = new NodeSimple; - n_cull_historical_figures->m_field_name = field_name; - n_cull_historical_figures->m_df_type = DF_Type::int32_t; - n_cull_historical_figures->m_rdf_type = RDF_Type::int32_t; - n_cull_historical_figures->m_node_type = NodeType::Simple; - n_cull_historical_figures->m_address = base + offset; - n_cull_historical_figures->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cull_historical_figures); - - field_name = "erosion_cycle_count"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_erosion_cycle_count = new NodeSimple; - n_erosion_cycle_count->m_field_name = field_name; - n_erosion_cycle_count->m_df_type = DF_Type::int32_t; - n_erosion_cycle_count->m_rdf_type = RDF_Type::int32_t; - n_erosion_cycle_count->m_node_type = NodeType::Simple; - n_erosion_cycle_count->m_address = base + offset; - n_erosion_cycle_count->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_erosion_cycle_count); - - field_name = "periodically_erode_extremes"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_periodically_erode_extremes = new NodeSimple; - n_periodically_erode_extremes->m_field_name = field_name; - n_periodically_erode_extremes->m_df_type = DF_Type::int32_t; - n_periodically_erode_extremes->m_rdf_type = RDF_Type::int32_t; - n_periodically_erode_extremes->m_node_type = NodeType::Simple; - n_periodically_erode_extremes->m_address = base + offset; - n_periodically_erode_extremes->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_periodically_erode_extremes); - - field_name = "orographic_precipitation"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_orographic_precipitation = new NodeSimple; - n_orographic_precipitation->m_field_name = field_name; - n_orographic_precipitation->m_df_type = DF_Type::int32_t; - n_orographic_precipitation->m_rdf_type = RDF_Type::int32_t; - n_orographic_precipitation->m_node_type = NodeType::Simple; - n_orographic_precipitation->m_address = base + offset; - n_orographic_precipitation->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_orographic_precipitation); - - field_name = "playable_civilization_required"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_playable_civilization_required = new NodeSimple; - n_playable_civilization_required->m_field_name = field_name; - n_playable_civilization_required->m_df_type = DF_Type::int32_t; - n_playable_civilization_required->m_rdf_type = RDF_Type::int32_t; - n_playable_civilization_required->m_node_type = NodeType::Simple; - n_playable_civilization_required->m_address = base + offset; - n_playable_civilization_required->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_playable_civilization_required); - - field_name = "all_caves_visible"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_all_caves_visible = new NodeSimple; - n_all_caves_visible->m_field_name = field_name; - n_all_caves_visible->m_df_type = DF_Type::int32_t; - n_all_caves_visible->m_rdf_type = RDF_Type::int32_t; - n_all_caves_visible->m_node_type = NodeType::Simple; - n_all_caves_visible->m_address = base + offset; - n_all_caves_visible->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_all_caves_visible); - - field_name = "show_embark_tunnel"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_show_embark_tunnel = new NodeSimple; - n_show_embark_tunnel->m_field_name = field_name; - n_show_embark_tunnel->m_df_type = DF_Type::int32_t; - n_show_embark_tunnel->m_rdf_type = RDF_Type::int32_t; - n_show_embark_tunnel->m_node_type = NodeType::Simple; - n_show_embark_tunnel->m_address = base + offset; - n_show_embark_tunnel->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_show_embark_tunnel); - - field_name = "pole"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_pole = new NodeSimple; - n_pole->m_field_name = field_name; - n_pole->m_df_type = DF_Type::int32_t; - n_pole->m_rdf_type = RDF_Type::int32_t; - n_pole->m_node_type = NodeType::Simple; - n_pole->m_address = base + offset; - n_pole->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pole); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::Bool; - n_anon_1->m_rdf_type = RDF_Type::Bool; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_world__T_worldgen(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "version"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen, field_name)); - auto n_version = new NodeSimple; - n_version->m_field_name = field_name; - n_version->m_df_type = DF_Type::Stl_string; - n_version->m_rdf_type = RDF_Type::Stl_string; - n_version->m_node_type = NodeType::Simple; - n_version->m_address = base + offset; - n_version->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_version); - - field_name = "next_unit_chunk_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen, field_name)); - auto n_next_unit_chunk_id = new NodeSimple; - n_next_unit_chunk_id->m_field_name = field_name; - n_next_unit_chunk_id->m_df_type = DF_Type::int32_t; - n_next_unit_chunk_id->m_rdf_type = RDF_Type::int32_t; - n_next_unit_chunk_id->m_node_type = NodeType::Simple; - n_next_unit_chunk_id->m_address = base + offset; - n_next_unit_chunk_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_next_unit_chunk_id); - - field_name = "next_unit_chunk_offset"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen, field_name)); - auto n_next_unit_chunk_offset = new NodeSimple; - n_next_unit_chunk_offset->m_field_name = field_name; - n_next_unit_chunk_offset->m_df_type = DF_Type::int16_t; - n_next_unit_chunk_offset->m_rdf_type = RDF_Type::int16_t; - n_next_unit_chunk_offset->m_node_type = NodeType::Simple; - n_next_unit_chunk_offset->m_address = base + offset; - n_next_unit_chunk_offset->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_next_unit_chunk_offset); - - field_name = "next_art_image_chunk_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen, field_name)); - auto n_next_art_image_chunk_id = new NodeSimple; - n_next_art_image_chunk_id->m_field_name = field_name; - n_next_art_image_chunk_id->m_df_type = DF_Type::int32_t; - n_next_art_image_chunk_id->m_rdf_type = RDF_Type::int32_t; - n_next_art_image_chunk_id->m_node_type = NodeType::Simple; - n_next_art_image_chunk_id->m_address = base + offset; - n_next_art_image_chunk_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_next_art_image_chunk_id); - - field_name = "next_art_image_chunk_offset"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen, field_name)); - auto n_next_art_image_chunk_offset = new NodeSimple; - n_next_art_image_chunk_offset->m_field_name = field_name; - n_next_art_image_chunk_offset->m_df_type = DF_Type::int16_t; - n_next_art_image_chunk_offset->m_rdf_type = RDF_Type::int16_t; - n_next_art_image_chunk_offset->m_node_type = NodeType::Simple; - n_next_art_image_chunk_offset->m_address = base + offset; - n_next_art_image_chunk_offset->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_next_art_image_chunk_offset); - - field_name = "worldgen_parms"; - auto n_worldgen_parms = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen, field_name)); - n_worldgen_parms->m_field_name = field_name; - n_worldgen_parms->m_df_type = DF_Type::world__T_worldgen__T_worldgen_parms; - n_worldgen_parms->m_rdf_type = RDF_Type::Compound; - n_worldgen_parms->m_node_type = NodeType::Compound; - n_worldgen_parms->m_address = base + offset; - n_worldgen_parms->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_worldgen_parms); - -} -void node_from_world__T_unk_v40_6(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk1"; - auto n_unk1 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_v40_6, field_name)); - n_unk1->m_field_name = field_name; - n_unk1->m_df_type = DF_Type::int32_t; - n_unk1->m_rdf_type = RDF_Type::Array; - n_unk1->m_node_type = NodeType::Array; - n_unk1->m_addornements = "[336v"; - n_unk1->m_array_size = 336; - n_unk1->m_address = base + offset; - n_unk1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk1); - - field_name = "unk2"; - auto n_unk2 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_v40_6, field_name)); - n_unk2->m_field_name = field_name; - n_unk2->m_df_type = DF_Type::int32_t; - n_unk2->m_rdf_type = RDF_Type::Array; - n_unk2->m_node_type = NodeType::Array; - n_unk2->m_addornements = "[336v"; - n_unk2->m_array_size = 336; - n_unk2->m_address = base + offset; - n_unk2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk2); - - field_name = "unk3"; - auto n_unk3 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_v40_6, field_name)); - n_unk3->m_field_name = field_name; - n_unk3->m_df_type = DF_Type::int32_t; - n_unk3->m_rdf_type = RDF_Type::Array; - n_unk3->m_node_type = NodeType::Array; - n_unk3->m_addornements = "[336v"; - n_unk3->m_array_size = 336; - n_unk3->m_address = base + offset; - n_unk3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk3); - - field_name = "unk4"; - auto n_unk4 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_v40_6, field_name)); - n_unk4->m_field_name = field_name; - n_unk4->m_df_type = DF_Type::int32_t; - n_unk4->m_rdf_type = RDF_Type::Array; - n_unk4->m_node_type = NodeType::Array; - n_unk4->m_addornements = "[336v"; - n_unk4->m_array_size = 336; - n_unk4->m_address = base + offset; - n_unk4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk4); - - field_name = "unk5"; - auto n_unk5 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_v40_6, field_name)); - n_unk5->m_field_name = field_name; - n_unk5->m_df_type = DF_Type::int32_t; - n_unk5->m_rdf_type = RDF_Type::Array; - n_unk5->m_node_type = NodeType::Array; - n_unk5->m_addornements = "[336v"; - n_unk5->m_array_size = 336; - n_unk5->m_address = base + offset; - n_unk5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk5); - - field_name = "unk6"; - auto n_unk6 = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_v40_6, field_name)); - n_unk6->m_field_name = field_name; - n_unk6->m_df_type = DF_Type::int32_t; - n_unk6->m_rdf_type = RDF_Type::Array; - n_unk6->m_node_type = NodeType::Array; - n_unk6->m_addornements = "[336v"; - n_unk6->m_array_size = 336; - n_unk6->m_address = base + offset; - n_unk6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk6); - -} -void node_from_world__T_unk_131ec0(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_131ec0, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_131ec0, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_131ec0, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_131ec0, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_131ec0, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_131ec0, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_131ec0, field_name)); - auto n_anon_7 = new NodeSimple; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::int32_t; - n_anon_7->m_rdf_type = RDF_Type::int32_t; - n_anon_7->m_node_type = NodeType::Simple; - n_anon_7->m_address = base + offset; - n_anon_7->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_7); - - field_name = "anon_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_131ec0, field_name)); - auto n_anon_8 = new NodeSimple; - n_anon_8->m_field_name = field_name; - n_anon_8->m_df_type = DF_Type::int32_t; - n_anon_8->m_rdf_type = RDF_Type::int32_t; - n_anon_8->m_node_type = NodeType::Simple; - n_anon_8->m_address = base + offset; - n_anon_8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_8); - - field_name = "anon_9"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_131ec0, field_name)); - auto n_anon_9 = new NodeSimple; - n_anon_9->m_field_name = field_name; - n_anon_9->m_df_type = DF_Type::int32_t; - n_anon_9->m_rdf_type = RDF_Type::int32_t; - n_anon_9->m_node_type = NodeType::Simple; - n_anon_9->m_address = base + offset; - n_anon_9->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_9); - - field_name = "anon_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_131ec0, field_name)); - auto n_anon_10 = new NodeSimple; - n_anon_10->m_field_name = field_name; - n_anon_10->m_df_type = DF_Type::int32_t; - n_anon_10->m_rdf_type = RDF_Type::int32_t; - n_anon_10->m_node_type = NodeType::Simple; - n_anon_10->m_address = base + offset; - n_anon_10->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_10); - - field_name = "anon_11"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_131ec0, field_name)); - auto n_anon_11 = new NodeSimple; - n_anon_11->m_field_name = field_name; - n_anon_11->m_df_type = DF_Type::int32_t; - n_anon_11->m_rdf_type = RDF_Type::int32_t; - n_anon_11->m_node_type = NodeType::Simple; - n_anon_11->m_address = base + offset; - n_anon_11->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_11); - - field_name = "anon_12"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_131ec0, field_name)); - auto n_anon_12 = new NodeSimple; - n_anon_12->m_field_name = field_name; - n_anon_12->m_df_type = DF_Type::int32_t; - n_anon_12->m_rdf_type = RDF_Type::int32_t; - n_anon_12->m_node_type = NodeType::Simple; - n_anon_12->m_address = base + offset; - n_anon_12->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_12); - - field_name = "anon_13"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_131ec0, field_name)); - auto n_anon_13 = new NodeSimple; - n_anon_13->m_field_name = field_name; - n_anon_13->m_df_type = DF_Type::int32_t; - n_anon_13->m_rdf_type = RDF_Type::int32_t; - n_anon_13->m_node_type = NodeType::Simple; - n_anon_13->m_address = base + offset; - n_anon_13->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_13); - - field_name = "anon_14"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_131ec0, field_name)); - auto n_anon_14 = new NodeSimple; - n_anon_14->m_field_name = field_name; - n_anon_14->m_df_type = DF_Type::int32_t; - n_anon_14->m_rdf_type = RDF_Type::int32_t; - n_anon_14->m_node_type = NodeType::Simple; - n_anon_14->m_address = base + offset; - n_anon_14->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_14); - - field_name = "anon_15"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_131ec0, field_name)); - auto n_anon_15 = new NodeSimple; - n_anon_15->m_field_name = field_name; - n_anon_15->m_df_type = DF_Type::int32_t; - n_anon_15->m_rdf_type = RDF_Type::int32_t; - n_anon_15->m_node_type = NodeType::Simple; - n_anon_15->m_address = base + offset; - n_anon_15->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_15); - - field_name = "anon_16"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_131ec0, field_name)); - auto n_anon_16 = new NodeSimple; - n_anon_16->m_field_name = field_name; - n_anon_16->m_df_type = DF_Type::int32_t; - n_anon_16->m_rdf_type = RDF_Type::int32_t; - n_anon_16->m_node_type = NodeType::Simple; - n_anon_16->m_address = base + offset; - n_anon_16->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_16); - -} -void node_from_world__T_languages(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "name"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_languages, field_name)); - auto n_name = new NodeSimple; - n_name->m_field_name = field_name; - n_name->m_df_type = DF_Type::Stl_string; - n_name->m_rdf_type = RDF_Type::Stl_string; - n_name->m_node_type = NodeType::Simple; - n_name->m_address = base + offset; - n_name->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_name); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_languages, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_languages, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - -} -void node_from_world__T_unk_131ef0__T_unk_2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_131ef0__T_unk_2, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_131ef0__T_unk_2, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_131ef0__T_unk_2, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_131ef0__T_unk_2, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_131ef0__T_unk_2, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - -} -void node_from_world__T_unk_131ef0(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "unk_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_131ef0, field_name)); - auto n_unk_1 = new NodeSimple; - n_unk_1->m_field_name = field_name; - n_unk_1->m_df_type = DF_Type::int32_t; - n_unk_1->m_rdf_type = RDF_Type::int32_t; - n_unk_1->m_node_type = NodeType::Simple; - n_unk_1->m_address = base + offset; - n_unk_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_1); - - field_name = "unk_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_131ef0, field_name)); - auto n_unk_2 = new NodeVector; - n_unk_2->m_field_name = field_name; - n_unk_2->m_df_type = DF_Type::world__T_unk_131ef0__T_unk_2; - n_unk_2->m_rdf_type = RDF_Type::Vector; - n_unk_2->m_node_type = NodeType::Vector; - n_unk_2->m_addornements = "v*"; - n_unk_2->m_address = base + offset; - n_unk_2->m_parent = p_node_parent; - n_unk_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_2); - - field_name = "unk_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_131ef0, field_name)); - auto n_unk_3 = new NodeSimple; - n_unk_3->m_field_name = field_name; - n_unk_3->m_df_type = DF_Type::int32_t; - n_unk_3->m_rdf_type = RDF_Type::int32_t; - n_unk_3->m_node_type = NodeType::Simple; - n_unk_3->m_address = base + offset; - n_unk_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_3); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_131ef0, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int32_t; - n_anon_1->m_rdf_type = RDF_Type::int32_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_131ef0, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - -} -void node_from_world__T_pathfinder__T_boundary_heap(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "total_cost"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_pathfinder__T_boundary_heap, field_name)); - auto n_total_cost = new NodeSimple; - n_total_cost->m_field_name = field_name; - n_total_cost->m_df_type = DF_Type::int32_t; - n_total_cost->m_rdf_type = RDF_Type::int32_t; - n_total_cost->m_node_type = NodeType::Simple; - n_total_cost->m_address = base + offset; - n_total_cost->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_total_cost); - - field_name = "local_cost"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_pathfinder__T_boundary_heap, field_name)); - auto n_local_cost = new NodeSimple; - n_local_cost->m_field_name = field_name; - n_local_cost->m_df_type = DF_Type::int32_t; - n_local_cost->m_rdf_type = RDF_Type::int32_t; - n_local_cost->m_node_type = NodeType::Simple; - n_local_cost->m_address = base + offset; - n_local_cost->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_local_cost); - - field_name = "x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_pathfinder__T_boundary_heap, field_name)); - auto n_x = new NodeSimple; - n_x->m_field_name = field_name; - n_x->m_df_type = DF_Type::int16_t; - n_x->m_rdf_type = RDF_Type::int16_t; - n_x->m_node_type = NodeType::Simple; - n_x->m_address = base + offset; - n_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_x); - - field_name = "y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_pathfinder__T_boundary_heap, field_name)); - auto n_y = new NodeSimple; - n_y->m_field_name = field_name; - n_y->m_df_type = DF_Type::int16_t; - n_y->m_rdf_type = RDF_Type::int16_t; - n_y->m_node_type = NodeType::Simple; - n_y->m_address = base + offset; - n_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_y); - - field_name = "z"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_pathfinder__T_boundary_heap, field_name)); - auto n_z = new NodeSimple; - n_z->m_field_name = field_name; - n_z->m_df_type = DF_Type::int32_t; - n_z->m_rdf_type = RDF_Type::int32_t; - n_z->m_node_type = NodeType::Simple; - n_z->m_address = base + offset; - n_z->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_z); - -} -void node_from_world__T_pathfinder(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "boundary_heap"; - auto n_boundary_heap = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_pathfinder, field_name)); - n_boundary_heap->m_field_name = field_name; - n_boundary_heap->m_df_type = DF_Type::world__T_pathfinder__T_boundary_heap; - n_boundary_heap->m_rdf_type = RDF_Type::Array; - n_boundary_heap->m_comment = "A heap of current boundary tiles."; - n_boundary_heap->m_node_type = NodeType::Array; - n_boundary_heap->m_addornements = "[80000"; - n_boundary_heap->m_array_size = 80000; - n_boundary_heap->m_address = base + offset; - n_boundary_heap->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_boundary_heap); - - field_name = "heap_count"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_pathfinder, field_name)); - auto n_heap_count = new NodeSimple; - n_heap_count->m_field_name = field_name; - n_heap_count->m_df_type = DF_Type::int32_t; - n_heap_count->m_rdf_type = RDF_Type::int32_t; - n_heap_count->m_node_type = NodeType::Simple; - n_heap_count->m_address = base + offset; - n_heap_count->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_heap_count); - - field_name = "pos1"; - auto n_pos1 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_pathfinder, field_name)); - n_pos1->m_field_name = field_name; - n_pos1->m_df_type = DF_Type::coord; - n_pos1->m_rdf_type = RDF_Type::Struct; - n_pos1->m_node_type = NodeType::Compound; - n_pos1->m_address = base + offset; - n_pos1->m_defined_in = "df.map.xml"; - n_pos1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pos1); - - field_name = "pos2"; - auto n_pos2 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_pathfinder, field_name)); - n_pos2->m_field_name = field_name; - n_pos2->m_df_type = DF_Type::coord; - n_pos2->m_rdf_type = RDF_Type::Struct; - n_pos2->m_node_type = NodeType::Compound; - n_pos2->m_address = base + offset; - n_pos2->m_defined_in = "df.map.xml"; - n_pos2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pos2); - - field_name = "dist_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_pathfinder, field_name)); - auto n_dist_x = new NodeSimple; - n_dist_x->m_field_name = field_name; - n_dist_x->m_df_type = DF_Type::int32_t; - n_dist_x->m_rdf_type = RDF_Type::int32_t; - n_dist_x->m_node_type = NodeType::Simple; - n_dist_x->m_address = base + offset; - n_dist_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dist_x); - - field_name = "dist_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_pathfinder, field_name)); - auto n_dist_y = new NodeSimple; - n_dist_y->m_field_name = field_name; - n_dist_y->m_df_type = DF_Type::int32_t; - n_dist_y->m_rdf_type = RDF_Type::int32_t; - n_dist_y->m_node_type = NodeType::Simple; - n_dist_y->m_address = base + offset; - n_dist_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dist_y); - - field_name = "dist_z"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_pathfinder, field_name)); - auto n_dist_z = new NodeSimple; - n_dist_z->m_field_name = field_name; - n_dist_z->m_df_type = DF_Type::int32_t; - n_dist_z->m_rdf_type = RDF_Type::int32_t; - n_dist_z->m_node_type = NodeType::Simple; - n_dist_z->m_address = base + offset; - n_dist_z->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dist_z); - - field_name = "next_path_cost"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_pathfinder, field_name)); - auto n_next_path_cost = new NodeSimple; - n_next_path_cost->m_field_name = field_name; - n_next_path_cost->m_df_type = DF_Type::int32_t; - n_next_path_cost->m_rdf_type = RDF_Type::int32_t; - n_next_path_cost->m_node_type = NodeType::Simple; - n_next_path_cost->m_address = base + offset; - n_next_path_cost->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_next_path_cost); - - field_name = "wipe_path_cost"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_pathfinder, field_name)); - auto n_wipe_path_cost = new NodeSimple; - n_wipe_path_cost->m_field_name = field_name; - n_wipe_path_cost->m_df_type = DF_Type::Bool; - n_wipe_path_cost->m_rdf_type = RDF_Type::Bool; - n_wipe_path_cost->m_node_type = NodeType::Simple; - n_wipe_path_cost->m_address = base + offset; - n_wipe_path_cost->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_wipe_path_cost); - - field_name = "next_path_tag"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_pathfinder, field_name)); - auto n_next_path_tag = new NodeSimple; - n_next_path_tag->m_field_name = field_name; - n_next_path_tag->m_df_type = DF_Type::uint16_t; - n_next_path_tag->m_rdf_type = RDF_Type::uint16_t; - n_next_path_tag->m_node_type = NodeType::Simple; - n_next_path_tag->m_address = base + offset; - n_next_path_tag->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_next_path_tag); - - field_name = "wipe_path_tag"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_pathfinder, field_name)); - auto n_wipe_path_tag = new NodeSimple; - n_wipe_path_tag->m_field_name = field_name; - n_wipe_path_tag->m_df_type = DF_Type::Bool; - n_wipe_path_tag->m_rdf_type = RDF_Type::Bool; - n_wipe_path_tag->m_node_type = NodeType::Simple; - n_wipe_path_tag->m_address = base + offset; - n_wipe_path_tag->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_wipe_path_tag); - - field_name = "next_walkable_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_pathfinder, field_name)); - auto n_next_walkable_id = new NodeSimple; - n_next_walkable_id->m_field_name = field_name; - n_next_walkable_id->m_df_type = DF_Type::int16_t; - n_next_walkable_id->m_rdf_type = RDF_Type::int16_t; - n_next_walkable_id->m_node_type = NodeType::Simple; - n_next_walkable_id->m_address = base + offset; - n_next_walkable_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_next_walkable_id); - - field_name = "plant_update_step"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_pathfinder, field_name)); - auto n_plant_update_step = new NodeSimple; - n_plant_update_step->m_field_name = field_name; - n_plant_update_step->m_df_type = DF_Type::int16_t; - n_plant_update_step->m_rdf_type = RDF_Type::int16_t; - n_plant_update_step->m_node_type = NodeType::Simple; - n_plant_update_step->m_address = base + offset; - n_plant_update_step->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_plant_update_step); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_pathfinder, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::Bool; - n_anon_1->m_rdf_type = RDF_Type::Bool; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_world__T_cur_savegame(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "save_dir"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_cur_savegame, field_name)); - auto n_save_dir = new NodeSimple; - n_save_dir->m_field_name = field_name; - n_save_dir->m_df_type = DF_Type::Stl_string; - n_save_dir->m_rdf_type = RDF_Type::Stl_string; - n_save_dir->m_node_type = NodeType::Simple; - n_save_dir->m_address = base + offset; - n_save_dir->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_save_dir); - - field_name = "unk_v40_0s"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_cur_savegame, field_name)); - auto n_unk_v40_0s = new NodeSimple; - n_unk_v40_0s->m_field_name = field_name; - n_unk_v40_0s->m_df_type = DF_Type::int32_t; - n_unk_v40_0s->m_rdf_type = RDF_Type::int32_t; - n_unk_v40_0s->m_node_type = NodeType::Simple; - n_unk_v40_0s->m_address = base + offset; - n_unk_v40_0s->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_0s); - - field_name = "unk_v40_1s"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_cur_savegame, field_name)); - auto n_unk_v40_1s = new NodeSimple; - n_unk_v40_1s->m_field_name = field_name; - n_unk_v40_1s->m_df_type = DF_Type::int32_t; - n_unk_v40_1s->m_rdf_type = RDF_Type::int32_t; - n_unk_v40_1s->m_node_type = NodeType::Simple; - n_unk_v40_1s->m_address = base + offset; - n_unk_v40_1s->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_1s); - - field_name = "unk_v40_2s"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_cur_savegame, field_name)); - auto n_unk_v40_2s = new NodeSimple; - n_unk_v40_2s->m_field_name = field_name; - n_unk_v40_2s->m_df_type = DF_Type::int32_t; - n_unk_v40_2s->m_rdf_type = RDF_Type::int32_t; - n_unk_v40_2s->m_node_type = NodeType::Simple; - n_unk_v40_2s->m_address = base + offset; - n_unk_v40_2s->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_2s); - -} -void node_from_world__T_features(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "map_features"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_features, field_name)); - auto n_map_features = new NodeVector; - n_map_features->m_field_name = field_name; - n_map_features->m_df_type = DF_Type::feature_init; - n_map_features->m_rdf_type = RDF_Type::Vector; - n_map_features->m_node_type = NodeType::Vector; - n_map_features->m_defined_in = "df.map.xml"; - n_map_features->m_addornements = "v*"; - n_map_features->m_address = base + offset; - n_map_features->m_parent = p_node_parent; - n_map_features->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_map_features); - - field_name = "feature_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_features, field_name)); - auto n_feature_x = new NodeVector; - n_feature_x->m_field_name = field_name; - n_feature_x->m_df_type = DF_Type::int16_t; - n_feature_x->m_rdf_type = RDF_Type::Vector; - n_feature_x->m_node_type = NodeType::Vector; - n_feature_x->m_addornements = "v"; - n_feature_x->m_address = base + offset; - n_feature_x->m_parent = p_node_parent; - n_feature_x->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_feature_x); - - field_name = "feature_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_features, field_name)); - auto n_feature_y = new NodeVector; - n_feature_y->m_field_name = field_name; - n_feature_y->m_df_type = DF_Type::int16_t; - n_feature_y->m_rdf_type = RDF_Type::Vector; - n_feature_y->m_node_type = NodeType::Vector; - n_feature_y->m_addornements = "v"; - n_feature_y->m_address = base + offset; - n_feature_y->m_parent = p_node_parent; - n_feature_y->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_feature_y); - - field_name = "feature_local_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_features, field_name)); - auto n_feature_local_idx = new NodeVector; - n_feature_local_idx->m_field_name = field_name; - n_feature_local_idx->m_df_type = DF_Type::int16_t; - n_feature_local_idx->m_rdf_type = RDF_Type::Vector; - n_feature_local_idx->m_node_type = NodeType::Vector; - n_feature_local_idx->m_addornements = "v"; - n_feature_local_idx->m_address = base + offset; - n_feature_local_idx->m_comment = "same as map_block.local_feature"; - n_feature_local_idx->m_parent = p_node_parent; - n_feature_local_idx->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_feature_local_idx); - - field_name = "feature_global_idx"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_features, field_name)); - auto n_feature_global_idx = new NodeVector; - n_feature_global_idx->m_field_name = field_name; - n_feature_global_idx->m_df_type = DF_Type::int32_t; - n_feature_global_idx->m_rdf_type = RDF_Type::Vector; - n_feature_global_idx->m_node_type = NodeType::Vector; - n_feature_global_idx->m_addornements = "v"; - n_feature_global_idx->m_address = base + offset; - n_feature_global_idx->m_parent = p_node_parent; - n_feature_global_idx->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_feature_global_idx); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_features, field_name)); - auto n_anon_1 = new NodeVector; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::feature_init; - n_anon_1->m_rdf_type = RDF_Type::Vector; - n_anon_1->m_node_type = NodeType::Vector; - n_anon_1->m_defined_in = "df.map.xml"; - n_anon_1->m_addornements = "v*"; - n_anon_1->m_address = base + offset; - n_anon_1->m_comment = "from unk_9C"; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_features, field_name)); - auto n_anon_2 = new NodeVector; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int16_t; - n_anon_2->m_rdf_type = RDF_Type::Vector; - n_anon_2->m_node_type = NodeType::Vector; - n_anon_2->m_addornements = "v"; - n_anon_2->m_address = base + offset; - n_anon_2->m_comment = "unk_9C.region.x"; - n_anon_2->m_parent = p_node_parent; - n_anon_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_features, field_name)); - auto n_anon_3 = new NodeVector; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int16_t; - n_anon_3->m_rdf_type = RDF_Type::Vector; - n_anon_3->m_node_type = NodeType::Vector; - n_anon_3->m_addornements = "v"; - n_anon_3->m_address = base + offset; - n_anon_3->m_comment = "unk_9C.region.y"; - n_anon_3->m_parent = p_node_parent; - n_anon_3->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_features, field_name)); - auto n_anon_4 = new NodeVector; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int16_t; - n_anon_4->m_rdf_type = RDF_Type::Vector; - n_anon_4->m_node_type = NodeType::Vector; - n_anon_4->m_addornements = "v"; - n_anon_4->m_address = base + offset; - n_anon_4->m_comment = "unk_9C.embark.x"; - n_anon_4->m_parent = p_node_parent; - n_anon_4->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_features, field_name)); - auto n_anon_5 = new NodeVector; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int16_t; - n_anon_5->m_rdf_type = RDF_Type::Vector; - n_anon_5->m_node_type = NodeType::Vector; - n_anon_5->m_addornements = "v"; - n_anon_5->m_address = base + offset; - n_anon_5->m_comment = "unk_9C.embark.y"; - n_anon_5->m_parent = p_node_parent; - n_anon_5->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_features, field_name)); - auto n_anon_6 = new NodeVector; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int16_t; - n_anon_6->m_rdf_type = RDF_Type::Vector; - n_anon_6->m_node_type = NodeType::Vector; - n_anon_6->m_addornements = "v"; - n_anon_6->m_address = base + offset; - n_anon_6->m_comment = "unk_9C.local_feature_idx"; - n_anon_6->m_parent = p_node_parent; - n_anon_6->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_6); - - field_name = "anon_7"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_features, field_name)); - auto n_anon_7 = new NodeVector; - n_anon_7->m_field_name = field_name; - n_anon_7->m_df_type = DF_Type::int32_t; - n_anon_7->m_rdf_type = RDF_Type::Vector; - n_anon_7->m_node_type = NodeType::Vector; - n_anon_7->m_addornements = "v"; - n_anon_7->m_address = base + offset; - n_anon_7->m_comment = "unk_9C.global_feature_idx"; - n_anon_7->m_parent = p_node_parent; - n_anon_7->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_7); - - field_name = "anon_8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_features, field_name)); - auto n_anon_8 = new NodeVector; - n_anon_8->m_field_name = field_name; - n_anon_8->m_df_type = DF_Type::int32_t; - n_anon_8->m_rdf_type = RDF_Type::Vector; - n_anon_8->m_node_type = NodeType::Vector; - n_anon_8->m_addornements = "v"; - n_anon_8->m_address = base + offset; - n_anon_8->m_comment = "unk_9C.unk10"; - n_anon_8->m_parent = p_node_parent; - n_anon_8->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_8); - - field_name = "anon_9"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_features, field_name)); - auto n_anon_9 = new NodeVector; - n_anon_9->m_field_name = field_name; - n_anon_9->m_df_type = DF_Type::int16_t; - n_anon_9->m_rdf_type = RDF_Type::Vector; - n_anon_9->m_node_type = NodeType::Vector; - n_anon_9->m_addornements = "v"; - n_anon_9->m_address = base + offset; - n_anon_9->m_comment = "unk_9C.unk14"; - n_anon_9->m_parent = p_node_parent; - n_anon_9->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_9); - - field_name = "anon_10"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_features, field_name)); - auto n_anon_10 = new NodeVector; - n_anon_10->m_field_name = field_name; - n_anon_10->m_df_type = DF_Type::int16_t; - n_anon_10->m_rdf_type = RDF_Type::Vector; - n_anon_10->m_node_type = NodeType::Vector; - n_anon_10->m_addornements = "v"; - n_anon_10->m_address = base + offset; - n_anon_10->m_comment = "unk_9C.local.x"; - n_anon_10->m_parent = p_node_parent; - n_anon_10->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_10); - - field_name = "anon_11"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_features, field_name)); - auto n_anon_11 = new NodeVector; - n_anon_11->m_field_name = field_name; - n_anon_11->m_df_type = DF_Type::int16_t; - n_anon_11->m_rdf_type = RDF_Type::Vector; - n_anon_11->m_node_type = NodeType::Vector; - n_anon_11->m_addornements = "v"; - n_anon_11->m_address = base + offset; - n_anon_11->m_comment = "unk_9C.local.y"; - n_anon_11->m_parent = p_node_parent; - n_anon_11->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_11); - - field_name = "anon_12"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_features, field_name)); - auto n_anon_12 = new NodeVector; - n_anon_12->m_field_name = field_name; - n_anon_12->m_df_type = DF_Type::int16_t; - n_anon_12->m_rdf_type = RDF_Type::Vector; - n_anon_12->m_node_type = NodeType::Vector; - n_anon_12->m_addornements = "v"; - n_anon_12->m_address = base + offset; - n_anon_12->m_comment = "unk_9C.z_min"; - n_anon_12->m_parent = p_node_parent; - n_anon_12->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_12); - - field_name = "anon_13"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_features, field_name)); - auto n_anon_13 = new NodeVector; - n_anon_13->m_field_name = field_name; - n_anon_13->m_df_type = DF_Type::int16_t; - n_anon_13->m_rdf_type = RDF_Type::Vector; - n_anon_13->m_node_type = NodeType::Vector; - n_anon_13->m_addornements = "v"; - n_anon_13->m_address = base + offset; - n_anon_13->m_comment = "unk_9C.z_min; yes, seemingly duplicate"; - n_anon_13->m_parent = p_node_parent; - n_anon_13->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_13); - - field_name = "anon_14"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_features, field_name)); - auto n_anon_14 = new NodeVector; - n_anon_14->m_field_name = field_name; - n_anon_14->m_df_type = DF_Type::int16_t; - n_anon_14->m_rdf_type = RDF_Type::Vector; - n_anon_14->m_node_type = NodeType::Vector; - n_anon_14->m_addornements = "v"; - n_anon_14->m_address = base + offset; - n_anon_14->m_comment = "unk_9C.z_max"; - n_anon_14->m_parent = p_node_parent; - n_anon_14->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_14); - - field_name = "anon_15"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_features, field_name)); - auto n_anon_15 = new NodeVector; - n_anon_15->m_field_name = field_name; - n_anon_15->m_df_type = DF_Type::Bool; - n_anon_15->m_rdf_type = RDF_Type::Vector; - n_anon_15->m_node_type = NodeType::Vector; - n_anon_15->m_addornements = "v"; - n_anon_15->m_address = base + offset; - n_anon_15->m_parent = p_node_parent; - n_anon_15->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_15); - -} -void node_from_world__T_arena_spawn__T_item_types(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "item_type"; - auto n_item_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_spawn__T_item_types, field_name)); - n_item_type->m_field_name = field_name; - n_item_type->m_df_type = DF_Type::item_type; - n_item_type->m_rdf_type = RDF_Type::Enum; - n_item_type->m_node_type = NodeType::Enum; - n_item_type->m_base_type = DF_Type::int16_t; - n_item_type->m_enum_type = "item_type"; - n_item_type->m_address = base + offset; - n_item_type->m_defined_in = "df.item-raws.xml"; - n_item_type->m_first_value = -1; - n_item_type->m_last_value = 90; - n_item_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_type); - - field_name = "item_subtype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_spawn__T_item_types, field_name)); - auto n_item_subtype = new NodeSimple; - n_item_subtype->m_field_name = field_name; - n_item_subtype->m_df_type = DF_Type::int16_t; - n_item_subtype->m_rdf_type = RDF_Type::int16_t; - n_item_subtype->m_node_type = NodeType::Simple; - n_item_subtype->m_address = base + offset; - n_item_subtype->m_refers_to = "(item-subtype-target $$._parent.item_type $)"; - n_item_subtype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_subtype); - - field_name = "mattype"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_spawn__T_item_types, field_name)); - auto n_mattype = new NodeSimple; - n_mattype->m_field_name = field_name; - n_mattype->m_df_type = DF_Type::int16_t; - n_mattype->m_rdf_type = RDF_Type::int16_t; - n_mattype->m_node_type = NodeType::Simple; - n_mattype->m_address = base + offset; - n_mattype->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_mattype); - - field_name = "matindex"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_spawn__T_item_types, field_name)); - auto n_matindex = new NodeSimple; - n_matindex->m_field_name = field_name; - n_matindex->m_df_type = DF_Type::int32_t; - n_matindex->m_rdf_type = RDF_Type::int32_t; - n_matindex->m_node_type = NodeType::Simple; - n_matindex->m_address = base + offset; - n_matindex->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_matindex); - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_spawn__T_item_types, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::Bool; - n_anon_1->m_rdf_type = RDF_Type::Bool; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - -} -void node_from_world__T_arena_spawn__T_equipment(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "skills"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_spawn__T_equipment, field_name)); - auto n_skills = new NodeVector; - n_skills->m_field_name = field_name; - n_skills->m_df_type = DF_Type::job_skill; - n_skills->m_rdf_type = RDF_Type::Vector; - n_skills->m_node_type = NodeType::Vector; - n_skills->m_enum_base = DF_Type::int16_t; - n_skills->m_defined_in = "df.skills.xml"; - n_skills->m_addornements = "v"; - n_skills->m_address = base + offset; - n_skills->m_parent = p_node_parent; - n_skills->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_skills); - - field_name = "skill_levels"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_spawn__T_equipment, field_name)); - auto n_skill_levels = new NodeVector; - n_skill_levels->m_field_name = field_name; - n_skill_levels->m_df_type = DF_Type::int32_t; - n_skill_levels->m_rdf_type = RDF_Type::Vector; - n_skill_levels->m_node_type = NodeType::Vector; - n_skill_levels->m_addornements = "v"; - n_skill_levels->m_address = base + offset; - n_skill_levels->m_refers_to = "$$._parent.skills[$]"; - n_skill_levels->m_parent = p_node_parent; - n_skill_levels->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_skill_levels); - - field_name = "item_types"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_spawn__T_equipment, field_name)); - auto n_item_types = new NodeVector; - n_item_types->m_field_name = field_name; - n_item_types->m_df_type = DF_Type::item_type; - n_item_types->m_rdf_type = RDF_Type::Vector; - n_item_types->m_node_type = NodeType::Vector; - n_item_types->m_enum_base = DF_Type::int16_t; - n_item_types->m_defined_in = "df.item-raws.xml"; - n_item_types->m_addornements = "v"; - n_item_types->m_address = base + offset; - n_item_types->m_parent = p_node_parent; - n_item_types->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_item_types); - - field_name = "item_subtypes"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_spawn__T_equipment, field_name)); - auto n_item_subtypes = new NodeVector; - n_item_subtypes->m_field_name = field_name; - n_item_subtypes->m_df_type = DF_Type::int16_t; - n_item_subtypes->m_rdf_type = RDF_Type::Vector; - n_item_subtypes->m_node_type = NodeType::Vector; - n_item_subtypes->m_addornements = "v"; - n_item_subtypes->m_address = base + offset; - n_item_subtypes->m_parent = p_node_parent; - n_item_subtypes->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_item_subtypes); - - field_name = "item_materials"; - auto n_item_materials = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_spawn__T_equipment, field_name)); - n_item_materials->m_field_name = field_name; - n_item_materials->m_df_type = DF_Type::material_vec_ref; - n_item_materials->m_rdf_type = RDF_Type::Struct; - n_item_materials->m_node_type = NodeType::Compound; - n_item_materials->m_address = base + offset; - n_item_materials->m_defined_in = "df.materials.xml"; - n_item_materials->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_materials); - - field_name = "item_counts"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_spawn__T_equipment, field_name)); - auto n_item_counts = new NodeVector; - n_item_counts->m_field_name = field_name; - n_item_counts->m_df_type = DF_Type::int32_t; - n_item_counts->m_rdf_type = RDF_Type::Vector; - n_item_counts->m_node_type = NodeType::Vector; - n_item_counts->m_addornements = "v"; - n_item_counts->m_address = base + offset; - n_item_counts->m_parent = p_node_parent; - n_item_counts->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_item_counts); - -} -void node_from_world__T_arena_spawn(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "race"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_spawn, field_name)); - auto n_race = new NodeVector; - n_race->m_field_name = field_name; - n_race->m_df_type = DF_Type::int16_t; - n_race->m_rdf_type = RDF_Type::Vector; - n_race->m_node_type = NodeType::Vector; - n_race->m_addornements = "v"; - n_race->m_address = base + offset; - n_race->m_parent = p_node_parent; - n_race->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_race); - - field_name = "caste"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_spawn, field_name)); - auto n_caste = new NodeVector; - n_caste->m_field_name = field_name; - n_caste->m_df_type = DF_Type::int16_t; - n_caste->m_rdf_type = RDF_Type::Vector; - n_caste->m_node_type = NodeType::Vector; - n_caste->m_addornements = "v"; - n_caste->m_address = base + offset; - n_caste->m_parent = p_node_parent; - n_caste->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_caste); - - field_name = "type"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_spawn, field_name)); - auto n_type = new NodeSimple; - n_type->m_field_name = field_name; - n_type->m_df_type = DF_Type::int32_t; - n_type->m_rdf_type = RDF_Type::int32_t; - n_type->m_node_type = NodeType::Simple; - n_type->m_address = base + offset; - n_type->m_refers_to = "$$._parent.caste[$].ref-target"; - n_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_type); - - field_name = "filter"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_spawn, field_name)); - auto n_filter = new NodeSimple; - n_filter->m_field_name = field_name; - n_filter->m_df_type = DF_Type::Stl_string; - n_filter->m_rdf_type = RDF_Type::Stl_string; - n_filter->m_node_type = NodeType::Simple; - n_filter->m_address = base + offset; - n_filter->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_filter); - - field_name = "item_types"; - auto n_item_types = new NodeArray; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_spawn, field_name)); - n_item_types->m_field_name = field_name; - n_item_types->m_df_type = DF_Type::world__T_arena_spawn__T_item_types; - n_item_types->m_rdf_type = RDF_Type::Array; - n_item_types->m_comment = "true array"; - n_item_types->m_node_type = NodeType::Array; - n_item_types->m_addornements = "[107v*"; - n_item_types->m_array_size = 107; - n_item_types->m_address = base + offset; - n_item_types->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_item_types); - - field_name = "unk_vec1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_spawn, field_name)); - auto n_unk_vec1 = new NodeVector; - n_unk_vec1->m_field_name = field_name; - n_unk_vec1->m_df_type = DF_Type::Void; - n_unk_vec1->m_rdf_type = RDF_Type::Vector; - n_unk_vec1->m_node_type = NodeType::Vector; - n_unk_vec1->m_addornements = "v"; - n_unk_vec1->m_address = base + offset; - n_unk_vec1->m_parent = p_node_parent; - n_unk_vec1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_vec1); - - field_name = "unk_vec2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_spawn, field_name)); - auto n_unk_vec2 = new NodeVector; - n_unk_vec2->m_field_name = field_name; - n_unk_vec2->m_df_type = DF_Type::Void; - n_unk_vec2->m_rdf_type = RDF_Type::Vector; - n_unk_vec2->m_node_type = NodeType::Vector; - n_unk_vec2->m_addornements = "v"; - n_unk_vec2->m_address = base + offset; - n_unk_vec2->m_parent = p_node_parent; - n_unk_vec2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_vec2); - - field_name = "unk_vec3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_spawn, field_name)); - auto n_unk_vec3 = new NodeVector; - n_unk_vec3->m_field_name = field_name; - n_unk_vec3->m_df_type = DF_Type::Void; - n_unk_vec3->m_rdf_type = RDF_Type::Vector; - n_unk_vec3->m_node_type = NodeType::Vector; - n_unk_vec3->m_addornements = "v"; - n_unk_vec3->m_address = base + offset; - n_unk_vec3->m_parent = p_node_parent; - n_unk_vec3->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_vec3); - - field_name = "equipment"; - auto n_equipment = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_spawn, field_name)); - n_equipment->m_field_name = field_name; - n_equipment->m_df_type = DF_Type::world__T_arena_spawn__T_equipment; - n_equipment->m_rdf_type = RDF_Type::Compound; - n_equipment->m_node_type = NodeType::Compound; - n_equipment->m_address = base + offset; - n_equipment->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_equipment); - - field_name = "side"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_spawn, field_name)); - auto n_side = new NodeSimple; - n_side->m_field_name = field_name; - n_side->m_df_type = DF_Type::int32_t; - n_side->m_rdf_type = RDF_Type::int32_t; - n_side->m_node_type = NodeType::Simple; - n_side->m_address = base + offset; - n_side->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_side); - - field_name = "interaction"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_spawn, field_name)); - auto n_interaction = new NodeSimple; - n_interaction->m_field_name = field_name; - n_interaction->m_df_type = DF_Type::int32_t; - n_interaction->m_rdf_type = RDF_Type::int32_t; - n_interaction->m_node_type = NodeType::Simple; - n_interaction->m_address = base + offset; - n_interaction->m_refers_to = "$$._parent.interactions[$]"; - n_interaction->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_interaction); - - field_name = "interactions"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_spawn, field_name)); - auto n_interactions = new NodeVector; - n_interactions->m_field_name = field_name; - n_interactions->m_df_type = DF_Type::interaction_effect; - n_interactions->m_rdf_type = RDF_Type::Vector; - n_interactions->m_node_type = NodeType::Vector; - n_interactions->m_defined_in = "df.interaction.xml"; - n_interactions->m_addornements = "v*"; - n_interactions->m_address = base + offset; - n_interactions->m_parent = p_node_parent; - n_interactions->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_interactions); - - field_name = "creature_cnt"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_spawn, field_name)); - auto n_creature_cnt = new NodeVector; - n_creature_cnt->m_field_name = field_name; - n_creature_cnt->m_df_type = DF_Type::int32_t; - n_creature_cnt->m_rdf_type = RDF_Type::Vector; - n_creature_cnt->m_node_type = NodeType::Vector; - n_creature_cnt->m_addornements = "v"; - n_creature_cnt->m_address = base + offset; - n_creature_cnt->m_refers_to = "(find-instance $creature_raw $)"; - n_creature_cnt->m_parent = p_node_parent; - n_creature_cnt->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_creature_cnt); - - field_name = "unk_int1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_spawn, field_name)); - auto n_unk_int1 = new NodeSimple; - n_unk_int1->m_field_name = field_name; - n_unk_int1->m_df_type = DF_Type::int32_t; - n_unk_int1->m_rdf_type = RDF_Type::int32_t; - n_unk_int1->m_node_type = NodeType::Simple; - n_unk_int1->m_address = base + offset; - n_unk_int1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_int1); - -} -void node_from_world__T_arena_settings(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "conflict_level"; - auto n_conflict_level = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_settings, field_name)); - n_conflict_level->m_field_name = field_name; - n_conflict_level->m_df_type = DF_Type::conflict_level; - n_conflict_level->m_rdf_type = RDF_Type::Enum; - n_conflict_level->m_node_type = NodeType::Enum; - n_conflict_level->m_base_type = enum_base_type(n_conflict_level->m_df_type); - n_conflict_level->m_enum_type = "conflict_level"; - n_conflict_level->m_address = base + offset; - n_conflict_level->m_defined_in = "df.world.xml"; - n_conflict_level->m_first_value = -1; - n_conflict_level->m_last_value = 6; - n_conflict_level->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_conflict_level); - - field_name = "morale_enable"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_settings, field_name)); - auto n_morale_enable = new NodeSimple; - n_morale_enable->m_field_name = field_name; - n_morale_enable->m_df_type = DF_Type::Bool; - n_morale_enable->m_rdf_type = RDF_Type::Bool; - n_morale_enable->m_node_type = NodeType::Simple; - n_morale_enable->m_address = base + offset; - n_morale_enable->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_morale_enable); - - field_name = "unk1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_settings, field_name)); - auto n_unk1 = new NodeSimple; - n_unk1->m_field_name = field_name; - n_unk1->m_df_type = DF_Type::int16_t; - n_unk1->m_rdf_type = RDF_Type::int16_t; - n_unk1->m_node_type = NodeType::Simple; - n_unk1->m_address = base + offset; - n_unk1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk1); - - field_name = "temperature"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_settings, field_name)); - auto n_temperature = new NodeSimple; - n_temperature->m_field_name = field_name; - n_temperature->m_df_type = DF_Type::uint16_t; - n_temperature->m_rdf_type = RDF_Type::uint16_t; - n_temperature->m_node_type = NodeType::Simple; - n_temperature->m_address = base + offset; - n_temperature->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_temperature); - - field_name = "time"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_settings, field_name)); - auto n_time = new NodeSimple; - n_time->m_field_name = field_name; - n_time->m_df_type = DF_Type::int16_t; - n_time->m_rdf_type = RDF_Type::int16_t; - n_time->m_node_type = NodeType::Simple; - n_time->m_address = base + offset; - n_time->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_time); - - field_name = "weather_column"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_settings, field_name)); - auto n_weather_column = new NodeSimple; - n_weather_column->m_field_name = field_name; - n_weather_column->m_df_type = DF_Type::int32_t; - n_weather_column->m_rdf_type = RDF_Type::int32_t; - n_weather_column->m_node_type = NodeType::Simple; - n_weather_column->m_address = base + offset; - n_weather_column->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_weather_column); - - field_name = "weather_row"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_settings, field_name)); - auto n_weather_row = new NodeSimple; - n_weather_row->m_field_name = field_name; - n_weather_row->m_df_type = DF_Type::int32_t; - n_weather_row->m_rdf_type = RDF_Type::int32_t; - n_weather_row->m_node_type = NodeType::Simple; - n_weather_row->m_address = base + offset; - n_weather_row->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_weather_row); - - field_name = "tree_types"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_settings, field_name)); - auto n_tree_types = new NodeVector; - n_tree_types->m_field_name = field_name; - n_tree_types->m_df_type = DF_Type::plant_raw; - n_tree_types->m_rdf_type = RDF_Type::Vector; - n_tree_types->m_node_type = NodeType::Vector; - n_tree_types->m_defined_in = "df.plant-raws.xml"; - n_tree_types->m_addornements = "v*"; - n_tree_types->m_address = base + offset; - n_tree_types->m_parent = p_node_parent; - n_tree_types->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_tree_types); - - field_name = "tree_cursor"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_settings, field_name)); - auto n_tree_cursor = new NodeSimple; - n_tree_cursor->m_field_name = field_name; - n_tree_cursor->m_df_type = DF_Type::int32_t; - n_tree_cursor->m_rdf_type = RDF_Type::int32_t; - n_tree_cursor->m_node_type = NodeType::Simple; - n_tree_cursor->m_address = base + offset; - n_tree_cursor->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tree_cursor); - - field_name = "tree_age"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_settings, field_name)); - auto n_tree_age = new NodeSimple; - n_tree_age->m_field_name = field_name; - n_tree_age->m_df_type = DF_Type::int32_t; - n_tree_age->m_rdf_type = RDF_Type::int32_t; - n_tree_age->m_node_type = NodeType::Simple; - n_tree_age->m_address = base + offset; - n_tree_age->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tree_age); - - field_name = "tree_filter"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_settings, field_name)); - auto n_tree_filter = new NodeSimple; - n_tree_filter->m_field_name = field_name; - n_tree_filter->m_df_type = DF_Type::Stl_string; - n_tree_filter->m_rdf_type = RDF_Type::Stl_string; - n_tree_filter->m_node_type = NodeType::Simple; - n_tree_filter->m_address = base + offset; - n_tree_filter->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tree_filter); - - field_name = "tree_age_str"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_settings, field_name)); - auto n_tree_age_str = new NodeSimple; - n_tree_age_str->m_field_name = field_name; - n_tree_age_str->m_df_type = DF_Type::Stl_string; - n_tree_age_str->m_rdf_type = RDF_Type::Stl_string; - n_tree_age_str->m_node_type = NodeType::Simple; - n_tree_age_str->m_address = base + offset; - n_tree_age_str->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_tree_age_str); - -} -void node_from_world__T_unk_19325c__T_anon_1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_19325c__T_anon_1, field_name)); - auto n_anon_1 = new NodePointer; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_anon_1->m_rdf_type = RDF_Type::Pointer; - n_anon_1->m_node_type = NodeType::Pointer; - n_anon_1->m_addornements = "*"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_19325c__T_anon_1, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_19325c__T_anon_1, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int16_t; - n_anon_3->m_rdf_type = RDF_Type::int16_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_19325c__T_anon_1, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_19325c__T_anon_1, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_19325c__T_anon_1, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - -} -void node_from_world__T_unk_19325c__T_anon_2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_19325c__T_anon_2, field_name)); - auto n_anon_1 = new NodePointer; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_anon_1->m_rdf_type = RDF_Type::Pointer; - n_anon_1->m_node_type = NodeType::Pointer; - n_anon_1->m_addornements = "*"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_19325c__T_anon_2, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_19325c__T_anon_2, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - -} -void node_from_world__T_unk_19325c__T_anon_3(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_19325c__T_anon_3, field_name)); - auto n_anon_1 = new NodeSimple; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::int16_t; - n_anon_1->m_rdf_type = RDF_Type::int16_t; - n_anon_1->m_node_type = NodeType::Simple; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_19325c__T_anon_3, field_name)); - auto n_anon_2 = new NodeSimple; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::int32_t; - n_anon_2->m_rdf_type = RDF_Type::int32_t; - n_anon_2->m_node_type = NodeType::Simple; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_19325c__T_anon_3, field_name)); - auto n_anon_3 = new NodeSimple; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::int32_t; - n_anon_3->m_rdf_type = RDF_Type::int32_t; - n_anon_3->m_node_type = NodeType::Simple; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_19325c__T_anon_3, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - -} -void node_from_world__T_unk_19325c(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "anon_1"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_19325c, field_name)); - auto n_anon_1 = new NodeVector; - n_anon_1->m_field_name = field_name; - n_anon_1->m_df_type = DF_Type::world__T_unk_19325c__T_anon_1; - n_anon_1->m_rdf_type = RDF_Type::Vector; - n_anon_1->m_node_type = NodeType::Vector; - n_anon_1->m_addornements = "v*"; - n_anon_1->m_address = base + offset; - n_anon_1->m_parent = p_node_parent; - n_anon_1->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_1); - - field_name = "anon_2"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_19325c, field_name)); - auto n_anon_2 = new NodeVector; - n_anon_2->m_field_name = field_name; - n_anon_2->m_df_type = DF_Type::world__T_unk_19325c__T_anon_2; - n_anon_2->m_rdf_type = RDF_Type::Vector; - n_anon_2->m_node_type = NodeType::Vector; - n_anon_2->m_addornements = "v*"; - n_anon_2->m_address = base + offset; - n_anon_2->m_parent = p_node_parent; - n_anon_2->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_2); - - field_name = "anon_3"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_19325c, field_name)); - auto n_anon_3 = new NodeVector; - n_anon_3->m_field_name = field_name; - n_anon_3->m_df_type = DF_Type::world__T_unk_19325c__T_anon_3; - n_anon_3->m_rdf_type = RDF_Type::Vector; - n_anon_3->m_node_type = NodeType::Vector; - n_anon_3->m_addornements = "v*"; - n_anon_3->m_address = base + offset; - n_anon_3->m_parent = p_node_parent; - n_anon_3->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_anon_3); - - field_name = "anon_4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_19325c, field_name)); - auto n_anon_4 = new NodeSimple; - n_anon_4->m_field_name = field_name; - n_anon_4->m_df_type = DF_Type::int32_t; - n_anon_4->m_rdf_type = RDF_Type::int32_t; - n_anon_4->m_node_type = NodeType::Simple; - n_anon_4->m_address = base + offset; - n_anon_4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_4); - - field_name = "anon_5"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_19325c, field_name)); - auto n_anon_5 = new NodeSimple; - n_anon_5->m_field_name = field_name; - n_anon_5->m_df_type = DF_Type::int32_t; - n_anon_5->m_rdf_type = RDF_Type::int32_t; - n_anon_5->m_node_type = NodeType::Simple; - n_anon_5->m_address = base + offset; - n_anon_5->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_5); - - field_name = "anon_6"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_19325c, field_name)); - auto n_anon_6 = new NodeSimple; - n_anon_6->m_field_name = field_name; - n_anon_6->m_df_type = DF_Type::int32_t; - n_anon_6->m_rdf_type = RDF_Type::int32_t; - n_anon_6->m_node_type = NodeType::Simple; - n_anon_6->m_address = base + offset; - n_anon_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_anon_6); - -} -void node_from_world(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "glowing_barriers"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - auto n_glowing_barriers = new NodeVector; - n_glowing_barriers->m_field_name = field_name; - n_glowing_barriers->m_df_type = DF_Type::glowing_barrier; - n_glowing_barriers->m_rdf_type = RDF_Type::Vector; - n_glowing_barriers->m_node_type = NodeType::Vector; - n_glowing_barriers->m_defined_in = "df.world.xml"; - n_glowing_barriers->m_addornements = "v*"; - n_glowing_barriers->m_address = base + offset; - n_glowing_barriers->m_parent = p_node_parent; - n_glowing_barriers->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_glowing_barriers); - - field_name = "deep_vein_hollows"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - auto n_deep_vein_hollows = new NodeVector; - n_deep_vein_hollows->m_field_name = field_name; - n_deep_vein_hollows->m_df_type = DF_Type::deep_vein_hollow; - n_deep_vein_hollows->m_rdf_type = RDF_Type::Vector; - n_deep_vein_hollows->m_node_type = NodeType::Vector; - n_deep_vein_hollows->m_defined_in = "df.world.xml"; - n_deep_vein_hollows->m_addornements = "v*"; - n_deep_vein_hollows->m_address = base + offset; - n_deep_vein_hollows->m_parent = p_node_parent; - n_deep_vein_hollows->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_deep_vein_hollows); - - field_name = "unk_20"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - auto n_unk_20 = new NodeVector; - n_unk_20->m_field_name = field_name; - n_unk_20->m_df_type = DF_Type::world_unk_20; - n_unk_20->m_rdf_type = RDF_Type::Vector; - n_unk_20->m_node_type = NodeType::Vector; - n_unk_20->m_defined_in = "df.world.xml"; - n_unk_20->m_addornements = "v*"; - n_unk_20->m_address = base + offset; - n_unk_20->m_parent = p_node_parent; - n_unk_20->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_20); - - field_name = "engravings"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - auto n_engravings = new NodeVector; - n_engravings->m_field_name = field_name; - n_engravings->m_df_type = DF_Type::engraving; - n_engravings->m_rdf_type = RDF_Type::Vector; - n_engravings->m_node_type = NodeType::Vector; - n_engravings->m_defined_in = "df.itemimprovements.xml"; - n_engravings->m_addornements = "v*"; - n_engravings->m_address = base + offset; - n_engravings->m_parent = p_node_parent; - n_engravings->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_engravings); - - field_name = "vermin"; - auto n_vermin = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - n_vermin->m_field_name = field_name; - n_vermin->m_df_type = DF_Type::world__T_vermin; - n_vermin->m_rdf_type = RDF_Type::Compound; - n_vermin->m_node_type = NodeType::Compound; - n_vermin->m_address = base + offset; - n_vermin->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_vermin); - - field_name = "unk_3C"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - auto n_unk_3C = new NodeVector; - n_unk_3C->m_field_name = field_name; - n_unk_3C->m_df_type = DF_Type::coord; - n_unk_3C->m_rdf_type = RDF_Type::Vector; - n_unk_3C->m_node_type = NodeType::Vector; - n_unk_3C->m_defined_in = "df.map.xml"; - n_unk_3C->m_addornements = "v*"; - n_unk_3C->m_address = base + offset; - n_unk_3C->m_parent = p_node_parent; - n_unk_3C->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_3C); - - field_name = "campfires"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - auto n_campfires = new NodeVector; - n_campfires->m_field_name = field_name; - n_campfires->m_df_type = DF_Type::campfire; - n_campfires->m_rdf_type = RDF_Type::Vector; - n_campfires->m_node_type = NodeType::Vector; - n_campfires->m_defined_in = "df.world.xml"; - n_campfires->m_addornements = "v*"; - n_campfires->m_address = base + offset; - n_campfires->m_parent = p_node_parent; - n_campfires->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_campfires); - - field_name = "web_clusters"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - auto n_web_clusters = new NodeVector; - n_web_clusters->m_field_name = field_name; - n_web_clusters->m_df_type = DF_Type::web_cluster; - n_web_clusters->m_rdf_type = RDF_Type::Vector; - n_web_clusters->m_node_type = NodeType::Vector; - n_web_clusters->m_defined_in = "df.world.xml"; - n_web_clusters->m_addornements = "v*"; - n_web_clusters->m_address = base + offset; - n_web_clusters->m_parent = p_node_parent; - n_web_clusters->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_web_clusters); - - field_name = "fires"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - auto n_fires = new NodeVector; - n_fires->m_field_name = field_name; - n_fires->m_df_type = DF_Type::fire; - n_fires->m_rdf_type = RDF_Type::Vector; - n_fires->m_node_type = NodeType::Vector; - n_fires->m_defined_in = "df.world.xml"; - n_fires->m_addornements = "v*"; - n_fires->m_address = base + offset; - n_fires->m_parent = p_node_parent; - n_fires->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_fires); - - field_name = "unk_6C"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - auto n_unk_6C = new NodeVector; - n_unk_6C->m_field_name = field_name; - n_unk_6C->m_df_type = DF_Type::world_unk_6c; - n_unk_6C->m_rdf_type = RDF_Type::Vector; - n_unk_6C->m_node_type = NodeType::Vector; - n_unk_6C->m_defined_in = "df.world.xml"; - n_unk_6C->m_addornements = "v*"; - n_unk_6C->m_address = base + offset; - n_unk_6C->m_parent = p_node_parent; - n_unk_6C->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_6C); - - field_name = "ocean_waves"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - auto n_ocean_waves = new NodeVector; - n_ocean_waves->m_field_name = field_name; - n_ocean_waves->m_df_type = DF_Type::ocean_wave; - n_ocean_waves->m_rdf_type = RDF_Type::Vector; - n_ocean_waves->m_node_type = NodeType::Vector; - n_ocean_waves->m_defined_in = "df.world.xml"; - n_ocean_waves->m_addornements = "v*"; - n_ocean_waves->m_address = base + offset; - n_ocean_waves->m_parent = p_node_parent; - n_ocean_waves->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_ocean_waves); - - field_name = "constructions"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - auto n_constructions = new NodeVector; - n_constructions->m_field_name = field_name; - n_constructions->m_df_type = DF_Type::construction; - n_constructions->m_rdf_type = RDF_Type::Vector; - n_constructions->m_node_type = NodeType::Vector; - n_constructions->m_defined_in = "df.map.xml"; - n_constructions->m_addornements = "v*"; - n_constructions->m_address = base + offset; - n_constructions->m_parent = p_node_parent; - n_constructions->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_constructions); - - field_name = "murky_pools"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - auto n_murky_pools = new NodeVector; - n_murky_pools->m_field_name = field_name; - n_murky_pools->m_df_type = DF_Type::coord_rect; - n_murky_pools->m_rdf_type = RDF_Type::Vector; - n_murky_pools->m_node_type = NodeType::Vector; - n_murky_pools->m_defined_in = "df.world.xml"; - n_murky_pools->m_addornements = "v*"; - n_murky_pools->m_address = base + offset; - n_murky_pools->m_parent = p_node_parent; - n_murky_pools->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_murky_pools); - - field_name = "unk_9C"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - auto n_unk_9C = new NodeVector; - n_unk_9C->m_field_name = field_name; - n_unk_9C->m_df_type = DF_Type::world_unk_9c; - n_unk_9C->m_rdf_type = RDF_Type::Vector; - n_unk_9C->m_node_type = NodeType::Vector; - n_unk_9C->m_defined_in = "df.world.xml"; - n_unk_9C->m_addornements = "v*"; - n_unk_9C->m_address = base + offset; - n_unk_9C->m_parent = p_node_parent; - n_unk_9C->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_9C); - - field_name = "unk_A8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - auto n_unk_A8 = new NodeVector; - n_unk_A8->m_field_name = field_name; - n_unk_A8->m_df_type = DF_Type::world_unk_a8; - n_unk_A8->m_rdf_type = RDF_Type::Vector; - n_unk_A8->m_node_type = NodeType::Vector; - n_unk_A8->m_defined_in = "df.world.xml"; - n_unk_A8->m_addornements = "v*"; - n_unk_A8->m_address = base + offset; - n_unk_A8->m_parent = p_node_parent; - n_unk_A8->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_A8); - - field_name = "unk_B4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - auto n_unk_B4 = new NodeVector; - n_unk_B4->m_field_name = field_name; - n_unk_B4->m_df_type = DF_Type::world_unk_b4; - n_unk_B4->m_rdf_type = RDF_Type::Vector; - n_unk_B4->m_node_type = NodeType::Vector; - n_unk_B4->m_defined_in = "df.world.xml"; - n_unk_B4->m_addornements = "v*"; - n_unk_B4->m_address = base + offset; - n_unk_B4->m_parent = p_node_parent; - n_unk_B4->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_B4); - - field_name = "unk_C0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - auto n_unk_C0 = new NodeVector; - n_unk_C0->m_field_name = field_name; - n_unk_C0->m_df_type = DF_Type::world_unk_c0; - n_unk_C0->m_rdf_type = RDF_Type::Vector; - n_unk_C0->m_node_type = NodeType::Vector; - n_unk_C0->m_defined_in = "df.world.xml"; - n_unk_C0->m_addornements = "v*"; - n_unk_C0->m_address = base + offset; - n_unk_C0->m_parent = p_node_parent; - n_unk_C0->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_C0); - - field_name = "unk_CC"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - auto n_unk_CC = new NodeVector; - n_unk_CC->m_field_name = field_name; - n_unk_CC->m_df_type = DF_Type::engraving; - n_unk_CC->m_rdf_type = RDF_Type::Vector; - n_unk_CC->m_node_type = NodeType::Vector; - n_unk_CC->m_defined_in = "df.itemimprovements.xml"; - n_unk_CC->m_addornements = "v*"; - n_unk_CC->m_address = base + offset; - n_unk_CC->m_parent = p_node_parent; - n_unk_CC->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_CC); - - field_name = "unk_D8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - auto n_unk_D8 = new NodeVector; - n_unk_D8->m_field_name = field_name; - n_unk_D8->m_df_type = DF_Type::construction; - n_unk_D8->m_rdf_type = RDF_Type::Vector; - n_unk_D8->m_node_type = NodeType::Vector; - n_unk_D8->m_defined_in = "df.map.xml"; - n_unk_D8->m_addornements = "v*"; - n_unk_D8->m_address = base + offset; - n_unk_D8->m_parent = p_node_parent; - n_unk_D8->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_D8); - - field_name = "unk_E4"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - auto n_unk_E4 = new NodeVector; - n_unk_E4->m_field_name = field_name; - n_unk_E4->m_df_type = DF_Type::world_unk_9c; - n_unk_E4->m_rdf_type = RDF_Type::Vector; - n_unk_E4->m_node_type = NodeType::Vector; - n_unk_E4->m_defined_in = "df.world.xml"; - n_unk_E4->m_addornements = "v*"; - n_unk_E4->m_address = base + offset; - n_unk_E4->m_parent = p_node_parent; - n_unk_E4->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_E4); - - field_name = "unk_F0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - auto n_unk_F0 = new NodeVector; - n_unk_F0->m_field_name = field_name; - n_unk_F0->m_df_type = DF_Type::world_unk_6c; - n_unk_F0->m_rdf_type = RDF_Type::Vector; - n_unk_F0->m_node_type = NodeType::Vector; - n_unk_F0->m_defined_in = "df.world.xml"; - n_unk_F0->m_addornements = "v*"; - n_unk_F0->m_address = base + offset; - n_unk_F0->m_parent = p_node_parent; - n_unk_F0->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_F0); - - field_name = "unk_FC"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - auto n_unk_FC = new NodeVector; - n_unk_FC->m_field_name = field_name; - n_unk_FC->m_df_type = DF_Type::coord_rect; - n_unk_FC->m_rdf_type = RDF_Type::Vector; - n_unk_FC->m_node_type = NodeType::Vector; - n_unk_FC->m_defined_in = "df.world.xml"; - n_unk_FC->m_addornements = "v*"; - n_unk_FC->m_address = base + offset; - n_unk_FC->m_parent = p_node_parent; - n_unk_FC->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_FC); - - field_name = "effects"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - auto n_effects = new NodeVector; - n_effects->m_field_name = field_name; - n_effects->m_df_type = DF_Type::effect_info; - n_effects->m_rdf_type = RDF_Type::Vector; - n_effects->m_node_type = NodeType::Vector; - n_effects->m_defined_in = "df.map.xml"; - n_effects->m_addornements = "v*"; - n_effects->m_address = base + offset; - n_effects->m_parent = p_node_parent; - n_effects->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_effects); - - field_name = "coin_batches"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - auto n_coin_batches = new NodeVector; - n_coin_batches->m_field_name = field_name; - n_coin_batches->m_df_type = DF_Type::coin_batch; - n_coin_batches->m_rdf_type = RDF_Type::Vector; - n_coin_batches->m_node_type = NodeType::Vector; - n_coin_batches->m_defined_in = "df.world.xml"; - n_coin_batches->m_addornements = "v*"; - n_coin_batches->m_address = base + offset; - n_coin_batches->m_parent = p_node_parent; - n_coin_batches->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_coin_batches); - - field_name = "populations"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - auto n_populations = new NodeVector; - n_populations->m_field_name = field_name; - n_populations->m_df_type = DF_Type::local_population; - n_populations->m_rdf_type = RDF_Type::Vector; - n_populations->m_node_type = NodeType::Vector; - n_populations->m_defined_in = "df.world-data.xml"; - n_populations->m_addornements = "v*"; - n_populations->m_address = base + offset; - n_populations->m_parent = p_node_parent; - n_populations->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_populations); - - field_name = "manager_orders"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - auto n_manager_orders = new NodeVector; - n_manager_orders->m_field_name = field_name; - n_manager_orders->m_df_type = DF_Type::manager_order; - n_manager_orders->m_rdf_type = RDF_Type::Vector; - n_manager_orders->m_node_type = NodeType::Vector; - n_manager_orders->m_defined_in = "df.jobs.xml"; - n_manager_orders->m_addornements = "v*"; - n_manager_orders->m_address = base + offset; - n_manager_orders->m_parent = p_node_parent; - n_manager_orders->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_manager_orders); - - field_name = "manager_order_next_id"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - auto n_manager_order_next_id = new NodeSimple; - n_manager_order_next_id->m_field_name = field_name; - n_manager_order_next_id->m_df_type = DF_Type::int32_t; - n_manager_order_next_id->m_rdf_type = RDF_Type::int32_t; - n_manager_order_next_id->m_node_type = NodeType::Simple; - n_manager_order_next_id->m_address = base + offset; - n_manager_order_next_id->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_manager_order_next_id); - - field_name = "mandates"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - auto n_mandates = new NodeVector; - n_mandates->m_field_name = field_name; - n_mandates->m_df_type = DF_Type::mandate; - n_mandates->m_rdf_type = RDF_Type::Vector; - n_mandates->m_node_type = NodeType::Vector; - n_mandates->m_defined_in = "df.jobs.xml"; - n_mandates->m_addornements = "v*"; - n_mandates->m_address = base + offset; - n_mandates->m_parent = p_node_parent; - n_mandates->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_mandates); - - field_name = "entities"; - auto n_entities = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - n_entities->m_field_name = field_name; - n_entities->m_df_type = DF_Type::world__T_entities; - n_entities->m_rdf_type = RDF_Type::Compound; - n_entities->m_node_type = NodeType::Compound; - n_entities->m_address = base + offset; - n_entities->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_entities); - - field_name = "worldgen_coord_buf"; - auto n_worldgen_coord_buf = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - n_worldgen_coord_buf->m_field_name = field_name; - n_worldgen_coord_buf->m_df_type = DF_Type::world__T_worldgen_coord_buf; - n_worldgen_coord_buf->m_rdf_type = RDF_Type::Compound; - n_worldgen_coord_buf->m_node_type = NodeType::Compound; - n_worldgen_coord_buf->m_address = base + offset; - n_worldgen_coord_buf->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_worldgen_coord_buf); - - field_name = "units"; - auto n_units = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - n_units->m_field_name = field_name; - n_units->m_df_type = DF_Type::world__T_units; - n_units->m_rdf_type = RDF_Type::Compound; - n_units->m_node_type = NodeType::Compound; - n_units->m_address = base + offset; - n_units->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_units); - - field_name = "unit_chunks"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - auto n_unit_chunks = new NodeVector; - n_unit_chunks->m_field_name = field_name; - n_unit_chunks->m_df_type = DF_Type::unit_chunk; - n_unit_chunks->m_rdf_type = RDF_Type::Vector; - n_unit_chunks->m_node_type = NodeType::Vector; - n_unit_chunks->m_defined_in = "df.units.xml"; - n_unit_chunks->m_addornements = "v*"; - n_unit_chunks->m_address = base + offset; - n_unit_chunks->m_parent = p_node_parent; - n_unit_chunks->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unit_chunks); - - field_name = "art_image_chunks"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - auto n_art_image_chunks = new NodeVector; - n_art_image_chunks->m_field_name = field_name; - n_art_image_chunks->m_df_type = DF_Type::art_image_chunk; - n_art_image_chunks->m_rdf_type = RDF_Type::Vector; - n_art_image_chunks->m_node_type = NodeType::Vector; - n_art_image_chunks->m_defined_in = "df.art.xml"; - n_art_image_chunks->m_addornements = "v*"; - n_art_image_chunks->m_address = base + offset; - n_art_image_chunks->m_parent = p_node_parent; - n_art_image_chunks->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_art_image_chunks); - - field_name = "nemesis"; - auto n_nemesis = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - n_nemesis->m_field_name = field_name; - n_nemesis->m_df_type = DF_Type::world__T_nemesis; - n_nemesis->m_rdf_type = RDF_Type::Compound; - n_nemesis->m_node_type = NodeType::Compound; - n_nemesis->m_address = base + offset; - n_nemesis->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_nemesis); - - field_name = "items"; - auto n_items = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - n_items->m_field_name = field_name; - n_items->m_df_type = DF_Type::world__T_items; - n_items->m_rdf_type = RDF_Type::Compound; - n_items->m_node_type = NodeType::Compound; - n_items->m_address = base + offset; - n_items->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_items); - - field_name = "artifacts"; - auto n_artifacts = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - n_artifacts->m_field_name = field_name; - n_artifacts->m_df_type = DF_Type::world__T_artifacts; - n_artifacts->m_rdf_type = RDF_Type::Compound; - n_artifacts->m_node_type = NodeType::Compound; - n_artifacts->m_address = base + offset; - n_artifacts->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_artifacts); - - field_name = "jobs"; - auto n_jobs = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - n_jobs->m_field_name = field_name; - n_jobs->m_df_type = DF_Type::job_handler; - n_jobs->m_rdf_type = RDF_Type::Class; - n_jobs->m_node_type = NodeType::Compound; - n_jobs->m_address = base + offset; - n_jobs->m_defined_in = "df.world.xml"; - n_jobs->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_jobs); - - field_name = "proj_list"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - auto n_proj_list= new NodeCompound; - n_proj_list->m_field_name = field_name; - n_proj_list->m_df_type = DF_Type::proj_list_link; - n_proj_list->m_rdf_type = RDF_Type::DFLinkedList; - n_proj_list->m_node_type = NodeType::Compound; - n_proj_list->m_address = base + offset; - n_proj_list->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_proj_list); - - field_name = "buildings"; - auto n_buildings = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - n_buildings->m_field_name = field_name; - n_buildings->m_df_type = DF_Type::building_handler; - n_buildings->m_rdf_type = RDF_Type::Class; - n_buildings->m_node_type = NodeType::Compound; - n_buildings->m_address = base + offset; - n_buildings->m_defined_in = "df.world.xml"; - n_buildings->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_buildings); - - field_name = "machines"; - auto n_machines = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - n_machines->m_field_name = field_name; - n_machines->m_df_type = DF_Type::machine_handler; - n_machines->m_rdf_type = RDF_Type::Class; - n_machines->m_node_type = NodeType::Compound; - n_machines->m_address = base + offset; - n_machines->m_defined_in = "df.world.xml"; - n_machines->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_machines); - - field_name = "flow_guides"; - auto n_flow_guides = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - n_flow_guides->m_field_name = field_name; - n_flow_guides->m_df_type = DF_Type::world__T_flow_guides; - n_flow_guides->m_rdf_type = RDF_Type::Compound; - n_flow_guides->m_node_type = NodeType::Compound; - n_flow_guides->m_address = base + offset; - n_flow_guides->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flow_guides); - - field_name = "stockpile"; - auto n_stockpile = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - n_stockpile->m_field_name = field_name; - n_stockpile->m_df_type = DF_Type::world__T_stockpile; - n_stockpile->m_rdf_type = RDF_Type::Compound; - n_stockpile->m_node_type = NodeType::Compound; - n_stockpile->m_address = base + offset; - n_stockpile->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_stockpile); - - field_name = "plants"; - auto n_plants = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - n_plants->m_field_name = field_name; - n_plants->m_df_type = DF_Type::world__T_plants; - n_plants->m_rdf_type = RDF_Type::Compound; - n_plants->m_node_type = NodeType::Compound; - n_plants->m_address = base + offset; - n_plants->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_plants); - - field_name = "enemy_status_cache"; - auto n_enemy_status_cache = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - n_enemy_status_cache->m_field_name = field_name; - n_enemy_status_cache->m_df_type = DF_Type::world__T_enemy_status_cache; - n_enemy_status_cache->m_rdf_type = RDF_Type::Compound; - n_enemy_status_cache->m_node_type = NodeType::Compound; - n_enemy_status_cache->m_address = base + offset; - n_enemy_status_cache->m_comment = "?"; - n_enemy_status_cache->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_enemy_status_cache); - - field_name = "schedules"; - auto n_schedules = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - n_schedules->m_field_name = field_name; - n_schedules->m_df_type = DF_Type::world__T_schedules; - n_schedules->m_rdf_type = RDF_Type::Compound; - n_schedules->m_node_type = NodeType::Compound; - n_schedules->m_address = base + offset; - n_schedules->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_schedules); - - field_name = "squads"; - auto n_squads = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - n_squads->m_field_name = field_name; - n_squads->m_df_type = DF_Type::world__T_squads; - n_squads->m_rdf_type = RDF_Type::Compound; - n_squads->m_node_type = NodeType::Compound; - n_squads->m_address = base + offset; - n_squads->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_squads); - - field_name = "formations"; - auto n_formations = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - n_formations->m_field_name = field_name; - n_formations->m_df_type = DF_Type::world__T_formations; - n_formations->m_rdf_type = RDF_Type::Compound; - n_formations->m_node_type = NodeType::Compound; - n_formations->m_address = base + offset; - n_formations->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_formations); - - field_name = "activities"; - auto n_activities = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - n_activities->m_field_name = field_name; - n_activities->m_df_type = DF_Type::world__T_activities; - n_activities->m_rdf_type = RDF_Type::Compound; - n_activities->m_node_type = NodeType::Compound; - n_activities->m_address = base + offset; - n_activities->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_activities); - - field_name = "status"; - auto n_status = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - n_status->m_field_name = field_name; - n_status->m_df_type = DF_Type::world__T_status; - n_status->m_rdf_type = RDF_Type::Compound; - n_status->m_node_type = NodeType::Compound; - n_status->m_address = base + offset; - n_status->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_status); - - field_name = "interaction_instances"; - auto n_interaction_instances = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - n_interaction_instances->m_field_name = field_name; - n_interaction_instances->m_df_type = DF_Type::world__T_interaction_instances; - n_interaction_instances->m_rdf_type = RDF_Type::Compound; - n_interaction_instances->m_node_type = NodeType::Compound; - n_interaction_instances->m_address = base + offset; - n_interaction_instances->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_interaction_instances); - - field_name = "written_contents"; - auto n_written_contents = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - n_written_contents->m_field_name = field_name; - n_written_contents->m_df_type = DF_Type::world__T_written_contents; - n_written_contents->m_rdf_type = RDF_Type::Compound; - n_written_contents->m_node_type = NodeType::Compound; - n_written_contents->m_address = base + offset; - n_written_contents->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_written_contents); - - field_name = "identities"; - auto n_identities = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - n_identities->m_field_name = field_name; - n_identities->m_df_type = DF_Type::world__T_identities; - n_identities->m_rdf_type = RDF_Type::Compound; - n_identities->m_node_type = NodeType::Compound; - n_identities->m_address = base + offset; - n_identities->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_identities); - - field_name = "incidents"; - auto n_incidents = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - n_incidents->m_field_name = field_name; - n_incidents->m_df_type = DF_Type::world__T_incidents; - n_incidents->m_rdf_type = RDF_Type::Compound; - n_incidents->m_node_type = NodeType::Compound; - n_incidents->m_address = base + offset; - n_incidents->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_incidents); - - field_name = "crimes"; - auto n_crimes = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - n_crimes->m_field_name = field_name; - n_crimes->m_df_type = DF_Type::world__T_crimes; - n_crimes->m_rdf_type = RDF_Type::Compound; - n_crimes->m_node_type = NodeType::Compound; - n_crimes->m_address = base + offset; - n_crimes->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_crimes); - - field_name = "vehicles"; - auto n_vehicles = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - n_vehicles->m_field_name = field_name; - n_vehicles->m_df_type = DF_Type::world__T_vehicles; - n_vehicles->m_rdf_type = RDF_Type::Compound; - n_vehicles->m_node_type = NodeType::Compound; - n_vehicles->m_address = base + offset; - n_vehicles->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_vehicles); - - field_name = "armies"; - auto n_armies = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - n_armies->m_field_name = field_name; - n_armies->m_df_type = DF_Type::world__T_armies; - n_armies->m_rdf_type = RDF_Type::Compound; - n_armies->m_node_type = NodeType::Compound; - n_armies->m_address = base + offset; - n_armies->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_armies); - - field_name = "army_controllers"; - auto n_army_controllers = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - n_army_controllers->m_field_name = field_name; - n_army_controllers->m_df_type = DF_Type::world__T_army_controllers; - n_army_controllers->m_rdf_type = RDF_Type::Compound; - n_army_controllers->m_node_type = NodeType::Compound; - n_army_controllers->m_address = base + offset; - n_army_controllers->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_army_controllers); - - field_name = "army_tracking_info"; - auto n_army_tracking_info = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - n_army_tracking_info->m_field_name = field_name; - n_army_tracking_info->m_df_type = DF_Type::world__T_army_tracking_info; - n_army_tracking_info->m_rdf_type = RDF_Type::Compound; - n_army_tracking_info->m_node_type = NodeType::Compound; - n_army_tracking_info->m_address = base + offset; - n_army_tracking_info->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_army_tracking_info); - - field_name = "cultural_identities"; - auto n_cultural_identities = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - n_cultural_identities->m_field_name = field_name; - n_cultural_identities->m_df_type = DF_Type::world__T_cultural_identities; - n_cultural_identities->m_rdf_type = RDF_Type::Compound; - n_cultural_identities->m_node_type = NodeType::Compound; - n_cultural_identities->m_address = base + offset; - n_cultural_identities->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cultural_identities); - - field_name = "agreements"; - auto n_agreements = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - n_agreements->m_field_name = field_name; - n_agreements->m_df_type = DF_Type::world__T_agreements; - n_agreements->m_rdf_type = RDF_Type::Compound; - n_agreements->m_node_type = NodeType::Compound; - n_agreements->m_address = base + offset; - n_agreements->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_agreements); - - field_name = "poetic_forms"; - auto n_poetic_forms = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - n_poetic_forms->m_field_name = field_name; - n_poetic_forms->m_df_type = DF_Type::world__T_poetic_forms; - n_poetic_forms->m_rdf_type = RDF_Type::Compound; - n_poetic_forms->m_node_type = NodeType::Compound; - n_poetic_forms->m_address = base + offset; - n_poetic_forms->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_poetic_forms); - - field_name = "musical_forms"; - auto n_musical_forms = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - n_musical_forms->m_field_name = field_name; - n_musical_forms->m_df_type = DF_Type::world__T_musical_forms; - n_musical_forms->m_rdf_type = RDF_Type::Compound; - n_musical_forms->m_node_type = NodeType::Compound; - n_musical_forms->m_address = base + offset; - n_musical_forms->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_musical_forms); - - field_name = "dance_forms"; - auto n_dance_forms = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - n_dance_forms->m_field_name = field_name; - n_dance_forms->m_df_type = DF_Type::world__T_dance_forms; - n_dance_forms->m_rdf_type = RDF_Type::Compound; - n_dance_forms->m_node_type = NodeType::Compound; - n_dance_forms->m_address = base + offset; - n_dance_forms->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_dance_forms); - - field_name = "scales"; - auto n_scales = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - n_scales->m_field_name = field_name; - n_scales->m_df_type = DF_Type::world__T_scales; - n_scales->m_rdf_type = RDF_Type::Compound; - n_scales->m_node_type = NodeType::Compound; - n_scales->m_address = base + offset; - n_scales->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_scales); - - field_name = "rhythms"; - auto n_rhythms = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - n_rhythms->m_field_name = field_name; - n_rhythms->m_df_type = DF_Type::world__T_rhythms; - n_rhythms->m_rdf_type = RDF_Type::Compound; - n_rhythms->m_node_type = NodeType::Compound; - n_rhythms->m_address = base + offset; - n_rhythms->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_rhythms); - - field_name = "occupations"; - auto n_occupations = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - n_occupations->m_field_name = field_name; - n_occupations->m_df_type = DF_Type::world__T_occupations; - n_occupations->m_rdf_type = RDF_Type::Compound; - n_occupations->m_node_type = NodeType::Compound; - n_occupations->m_address = base + offset; - n_occupations->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_occupations); - - field_name = "belief_systems"; - auto n_belief_systems = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - n_belief_systems->m_field_name = field_name; - n_belief_systems->m_df_type = DF_Type::world__T_belief_systems; - n_belief_systems->m_rdf_type = RDF_Type::Compound; - n_belief_systems->m_node_type = NodeType::Compound; - n_belief_systems->m_address = base + offset; - n_belief_systems->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_belief_systems); - - field_name = "selected_building"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - auto n_selected_building = new NodePointer; - n_selected_building->m_field_name = field_name; - n_selected_building->m_df_type = get_real_subtype(base+offset, DF_Type::building); - n_selected_building->m_rdf_type = RDF_Type::Pointer; - n_selected_building->m_node_type = NodeType::Pointer; - n_selected_building->m_addornements = "*"; - n_selected_building->m_address = base + offset; - n_selected_building->m_parent = p_node_parent; - n_selected_building->m_defined_in = "df.buildings.xml"; - n_selected_building->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_selected_building); - - field_name = "selected_stockpile_type"; - auto n_selected_stockpile_type = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - n_selected_stockpile_type->m_field_name = field_name; - n_selected_stockpile_type->m_df_type = DF_Type::stockpile_category; - n_selected_stockpile_type->m_rdf_type = RDF_Type::Enum; - n_selected_stockpile_type->m_node_type = NodeType::Enum; - n_selected_stockpile_type->m_base_type = DF_Type::int16_t; - n_selected_stockpile_type->m_enum_type = "stockpile_category"; - n_selected_stockpile_type->m_address = base + offset; - n_selected_stockpile_type->m_defined_in = "df.stockpile.xml"; - n_selected_stockpile_type->m_first_value = -1; - n_selected_stockpile_type->m_last_value = 18; - n_selected_stockpile_type->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_selected_stockpile_type); - - field_name = "update_selected_building"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - auto n_update_selected_building = new NodeSimple; - n_update_selected_building->m_field_name = field_name; - n_update_selected_building->m_df_type = DF_Type::Bool; - n_update_selected_building->m_rdf_type = RDF_Type::Bool; - n_update_selected_building->m_node_type = NodeType::Simple; - n_update_selected_building->m_address = base + offset; - n_update_selected_building->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_update_selected_building); - - field_name = "building_width"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - auto n_building_width = new NodeSimple; - n_building_width->m_field_name = field_name; - n_building_width->m_df_type = DF_Type::int16_t; - n_building_width->m_rdf_type = RDF_Type::int16_t; - n_building_width->m_node_type = NodeType::Simple; - n_building_width->m_address = base + offset; - n_building_width->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_building_width); - - field_name = "building_height"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - auto n_building_height = new NodeSimple; - n_building_height->m_field_name = field_name; - n_building_height->m_df_type = DF_Type::int16_t; - n_building_height->m_rdf_type = RDF_Type::int16_t; - n_building_height->m_node_type = NodeType::Simple; - n_building_height->m_address = base + offset; - n_building_height->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_building_height); - - field_name = "selected_direction"; - auto n_selected_direction = new NodeEnum; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - n_selected_direction->m_field_name = field_name; - n_selected_direction->m_df_type = DF_Type::screw_pump_direction; - n_selected_direction->m_rdf_type = RDF_Type::Enum; - n_selected_direction->m_node_type = NodeType::Enum; - n_selected_direction->m_base_type = DF_Type::int8_t; - n_selected_direction->m_enum_type = "screw_pump_direction"; - n_selected_direction->m_address = base + offset; - n_selected_direction->m_defined_in = "df.machines.xml"; - n_selected_direction->m_first_value = 0; - n_selected_direction->m_last_value = 3; - n_selected_direction->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_selected_direction); - - field_name = "map"; - auto n_map = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - n_map->m_field_name = field_name; - n_map->m_df_type = DF_Type::world__T_map; - n_map->m_rdf_type = RDF_Type::Compound; - n_map->m_node_type = NodeType::Compound; - n_map->m_address = base + offset; - n_map->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_map); - - field_name = "profession_skills"; - auto n_profession_skills = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - n_profession_skills->m_field_name = field_name; - n_profession_skills->m_df_type = DF_Type::world__T_profession_skills; - n_profession_skills->m_rdf_type = RDF_Type::Compound; - n_profession_skills->m_node_type = NodeType::Compound; - n_profession_skills->m_address = base + offset; - n_profession_skills->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_profession_skills); - - field_name = "math"; - auto n_math = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - n_math->m_field_name = field_name; - n_math->m_df_type = DF_Type::world__T_math; - n_math->m_rdf_type = RDF_Type::Compound; - n_math->m_node_type = NodeType::Compound; - n_math->m_address = base + offset; - n_math->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_math); - - field_name = "map_extras"; - auto n_map_extras = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - n_map_extras->m_field_name = field_name; - n_map_extras->m_df_type = DF_Type::world__T_map_extras; - n_map_extras->m_rdf_type = RDF_Type::Compound; - n_map_extras->m_node_type = NodeType::Compound; - n_map_extras->m_address = base + offset; - n_map_extras->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_map_extras); - - field_name = "world_data"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - auto n_world_data = new NodePointer; - n_world_data->m_field_name = field_name; - n_world_data->m_df_type = get_real_subtype(base+offset, DF_Type::world_data); - n_world_data->m_rdf_type = RDF_Type::Pointer; - n_world_data->m_node_type = NodeType::Pointer; - n_world_data->m_addornements = "*"; - n_world_data->m_address = base + offset; - n_world_data->m_parent = p_node_parent; - n_world_data->m_defined_in = "df.world-data.xml"; - n_world_data->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_world_data); - - field_name = "worldgen_status"; - auto n_worldgen_status = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - n_worldgen_status->m_field_name = field_name; - n_worldgen_status->m_df_type = DF_Type::world__T_worldgen_status; - n_worldgen_status->m_rdf_type = RDF_Type::Compound; - n_worldgen_status->m_node_type = NodeType::Compound; - n_worldgen_status->m_address = base + offset; - n_worldgen_status->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_worldgen_status); - - field_name = "orphaned_flow_pool"; - auto n_orphaned_flow_pool = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - n_orphaned_flow_pool->m_field_name = field_name; - n_orphaned_flow_pool->m_df_type = DF_Type::flow_reuse_pool; - n_orphaned_flow_pool->m_rdf_type = RDF_Type::Struct; - n_orphaned_flow_pool->m_node_type = NodeType::Compound; - n_orphaned_flow_pool->m_address = base + offset; - n_orphaned_flow_pool->m_defined_in = "df.map.xml"; - n_orphaned_flow_pool->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_orphaned_flow_pool); - - field_name = "raws"; - auto n_raws = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - n_raws->m_field_name = field_name; - n_raws->m_df_type = DF_Type::world_raws; - n_raws->m_rdf_type = RDF_Type::Struct; - n_raws->m_node_type = NodeType::Compound; - n_raws->m_address = base + offset; - n_raws->m_defined_in = "df.raws.xml"; - n_raws->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_raws); - - field_name = "unk_59dc4"; - auto n_unk_59dc4 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - n_unk_59dc4->m_field_name = field_name; - n_unk_59dc4->m_df_type = DF_Type::world__T_unk_59dc4; - n_unk_59dc4->m_rdf_type = RDF_Type::Compound; - n_unk_59dc4->m_node_type = NodeType::Compound; - n_unk_59dc4->m_address = base + offset; - n_unk_59dc4->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_59dc4); - - field_name = "flow_engine"; - auto n_flow_engine = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - n_flow_engine->m_field_name = field_name; - n_flow_engine->m_df_type = DF_Type::world__T_flow_engine; - n_flow_engine->m_rdf_type = RDF_Type::Compound; - n_flow_engine->m_node_type = NodeType::Compound; - n_flow_engine->m_address = base + offset; - n_flow_engine->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_flow_engine); - - field_name = "busy_buildings"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - auto n_busy_buildings = new NodeVector; - n_busy_buildings->m_field_name = field_name; - n_busy_buildings->m_df_type = DF_Type::int32_t; - n_busy_buildings->m_rdf_type = RDF_Type::Vector; - n_busy_buildings->m_node_type = NodeType::Vector; - n_busy_buildings->m_addornements = "v"; - n_busy_buildings->m_address = base + offset; - n_busy_buildings->m_comment = "buildings with nonempty getUsers"; - n_busy_buildings->m_parent = p_node_parent; - n_busy_buildings->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_busy_buildings); - - field_name = "cavein_flags"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - auto n_cavein_flags = new NodeDFFlagArray; - n_cavein_flags->m_field_name = field_name; - n_cavein_flags->m_df_type = DF_Type::int32_t; - n_cavein_flags->m_size = 32; - n_cavein_flags->m_rdf_type = RDF_Type::DFFlagArray; - n_cavein_flags->m_node_type = NodeType::Bitfield; - n_cavein_flags->m_address = base + offset; - n_cavein_flags->m_comment = "flag 0 means process cave columns"; - n_cavein_flags->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cavein_flags); - - field_name = "original_save_version"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - auto n_original_save_version = new NodeSimple; - n_original_save_version->m_field_name = field_name; - n_original_save_version->m_df_type = DF_Type::int32_t; - n_original_save_version->m_rdf_type = RDF_Type::int32_t; - n_original_save_version->m_node_type = NodeType::Simple; - n_original_save_version->m_address = base + offset; - n_original_save_version->m_comment = "DF version on which the world was first created"; - n_original_save_version->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_original_save_version); - - field_name = "worldgen"; - auto n_worldgen = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - n_worldgen->m_field_name = field_name; - n_worldgen->m_df_type = DF_Type::world__T_worldgen; - n_worldgen->m_rdf_type = RDF_Type::Compound; - n_worldgen->m_node_type = NodeType::Compound; - n_worldgen->m_address = base + offset; - n_worldgen->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_worldgen); - - field_name = "history"; - auto n_history = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - n_history->m_field_name = field_name; - n_history->m_df_type = DF_Type::world_history; - n_history->m_rdf_type = RDF_Type::Struct; - n_history->m_node_type = NodeType::Compound; - n_history->m_address = base + offset; - n_history->m_defined_in = "df.history.xml"; - n_history->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_history); - - field_name = "entity_populations"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - auto n_entity_populations = new NodeVector; - n_entity_populations->m_field_name = field_name; - n_entity_populations->m_df_type = DF_Type::entity_population; - n_entity_populations->m_rdf_type = RDF_Type::Vector; - n_entity_populations->m_node_type = NodeType::Vector; - n_entity_populations->m_defined_in = "df.legends.xml"; - n_entity_populations->m_addornements = "v*"; - n_entity_populations->m_address = base + offset; - n_entity_populations->m_parent = p_node_parent; - n_entity_populations->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_entity_populations); - - field_name = "unk_v40_6"; - auto n_unk_v40_6 = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - n_unk_v40_6->m_field_name = field_name; - n_unk_v40_6->m_df_type = DF_Type::world__T_unk_v40_6; - n_unk_v40_6->m_rdf_type = RDF_Type::Compound; - n_unk_v40_6->m_node_type = NodeType::Compound; - n_unk_v40_6->m_address = base + offset; - n_unk_v40_6->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_6); - - field_name = "unk_131ec0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - auto n_unk_131ec0 = new NodeVector; - n_unk_131ec0->m_field_name = field_name; - n_unk_131ec0->m_df_type = DF_Type::world__T_unk_131ec0; - n_unk_131ec0->m_rdf_type = RDF_Type::Vector; - n_unk_131ec0->m_node_type = NodeType::Vector; - n_unk_131ec0->m_addornements = "v*"; - n_unk_131ec0->m_address = base + offset; - n_unk_131ec0->m_parent = p_node_parent; - n_unk_131ec0->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_131ec0); - - field_name = "languages"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - auto n_languages = new NodeVector; - n_languages->m_field_name = field_name; - n_languages->m_df_type = DF_Type::world__T_languages; - n_languages->m_rdf_type = RDF_Type::Vector; - n_languages->m_node_type = NodeType::Vector; - n_languages->m_addornements = "v*"; - n_languages->m_address = base + offset; - n_languages->m_parent = p_node_parent; - n_languages->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_languages); - - field_name = "unk_131ef0"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - auto n_unk_131ef0 = new NodeVector; - n_unk_131ef0->m_field_name = field_name; - n_unk_131ef0->m_df_type = DF_Type::world__T_unk_131ef0; - n_unk_131ef0->m_rdf_type = RDF_Type::Vector; - n_unk_131ef0->m_node_type = NodeType::Vector; - n_unk_131ef0->m_addornements = "v*"; - n_unk_131ef0->m_address = base + offset; - n_unk_131ef0->m_parent = p_node_parent; - n_unk_131ef0->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_131ef0); - - field_name = "unk_131f08"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - auto n_unk_131f08 = new NodeSimple; - n_unk_131f08->m_field_name = field_name; - n_unk_131f08->m_df_type = DF_Type::int32_t; - n_unk_131f08->m_rdf_type = RDF_Type::int32_t; - n_unk_131f08->m_node_type = NodeType::Simple; - n_unk_131f08->m_address = base + offset; - n_unk_131f08->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_131f08); - - field_name = "reindex_pathfinding"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - auto n_reindex_pathfinding = new NodeSimple; - n_reindex_pathfinding->m_field_name = field_name; - n_reindex_pathfinding->m_df_type = DF_Type::Bool; - n_reindex_pathfinding->m_rdf_type = RDF_Type::Bool; - n_reindex_pathfinding->m_node_type = NodeType::Simple; - n_reindex_pathfinding->m_address = base + offset; - n_reindex_pathfinding->m_comment = "forces map_block.passable to be recomputed"; - n_reindex_pathfinding->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_reindex_pathfinding); - - field_name = "frame_counter"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - auto n_frame_counter = new NodeSimple; - n_frame_counter->m_field_name = field_name; - n_frame_counter->m_df_type = DF_Type::int32_t; - n_frame_counter->m_rdf_type = RDF_Type::int32_t; - n_frame_counter->m_node_type = NodeType::Simple; - n_frame_counter->m_address = base + offset; - n_frame_counter->m_comment = "increases by 1 every time . is pressed"; - n_frame_counter->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_frame_counter); - - field_name = "orphaned_flows"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - auto n_orphaned_flows = new NodeVector; - n_orphaned_flows->m_field_name = field_name; - n_orphaned_flows->m_df_type = DF_Type::flow_info; - n_orphaned_flows->m_rdf_type = RDF_Type::Vector; - n_orphaned_flows->m_node_type = NodeType::Vector; - n_orphaned_flows->m_defined_in = "df.map.xml"; - n_orphaned_flows->m_addornements = "v*"; - n_orphaned_flows->m_address = base + offset; - n_orphaned_flows->m_comment = "flows that are not tied to a map_block"; - n_orphaned_flows->m_parent = p_node_parent; - n_orphaned_flows->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_orphaned_flows); - - field_name = "pathfinder"; - auto n_pathfinder = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - n_pathfinder->m_field_name = field_name; - n_pathfinder->m_df_type = DF_Type::world__T_pathfinder; - n_pathfinder->m_rdf_type = RDF_Type::Compound; - n_pathfinder->m_node_type = NodeType::Compound; - n_pathfinder->m_address = base + offset; - n_pathfinder->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_pathfinder); - - field_name = "save_version"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - auto n_save_version = new NodeSimple; - n_save_version->m_field_name = field_name; - n_save_version->m_df_type = DF_Type::int32_t; - n_save_version->m_rdf_type = RDF_Type::int32_t; - n_save_version->m_node_type = NodeType::Simple; - n_save_version->m_address = base + offset; - n_save_version->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_save_version); - - field_name = "cur_savegame"; - auto n_cur_savegame = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - n_cur_savegame->m_field_name = field_name; - n_cur_savegame->m_df_type = DF_Type::world__T_cur_savegame; - n_cur_savegame->m_rdf_type = RDF_Type::Compound; - n_cur_savegame->m_node_type = NodeType::Compound; - n_cur_savegame->m_address = base + offset; - n_cur_savegame->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_cur_savegame); - - field_name = "unk_v40_3s"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - auto n_unk_v40_3s = new NodeSimple; - n_unk_v40_3s->m_field_name = field_name; - n_unk_v40_3s->m_df_type = DF_Type::int32_t; - n_unk_v40_3s->m_rdf_type = RDF_Type::int32_t; - n_unk_v40_3s->m_node_type = NodeType::Simple; - n_unk_v40_3s->m_address = base + offset; - n_unk_v40_3s->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_3s); - - field_name = "unk_v40_4s"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - auto n_unk_v40_4s = new NodeSimple; - n_unk_v40_4s->m_field_name = field_name; - n_unk_v40_4s->m_df_type = DF_Type::int32_t; - n_unk_v40_4s->m_rdf_type = RDF_Type::int32_t; - n_unk_v40_4s->m_node_type = NodeType::Simple; - n_unk_v40_4s->m_address = base + offset; - n_unk_v40_4s->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_4s); - - field_name = "unk_v40_5s"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - auto n_unk_v40_5s = new NodeVector; - n_unk_v40_5s->m_field_name = field_name; - n_unk_v40_5s->m_df_type = DF_Type::Void; - n_unk_v40_5s->m_rdf_type = RDF_Type::Vector; - n_unk_v40_5s->m_node_type = NodeType::Vector; - n_unk_v40_5s->m_addornements = "v"; - n_unk_v40_5s->m_address = base + offset; - n_unk_v40_5s->m_parent = p_node_parent; - n_unk_v40_5s->m_children.push_back(rdf::dummy()); - p_node_parent->m_children.push_back(n_unk_v40_5s); - - field_name = "unk_v40_6s"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - auto n_unk_v40_6s = new NodeSimple; - n_unk_v40_6s->m_field_name = field_name; - n_unk_v40_6s->m_df_type = DF_Type::int32_t; - n_unk_v40_6s->m_rdf_type = RDF_Type::int32_t; - n_unk_v40_6s->m_node_type = NodeType::Simple; - n_unk_v40_6s->m_address = base + offset; - n_unk_v40_6s->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_6s); - - field_name = "unk_v40_7s"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - auto n_unk_v40_7s = new NodePointer; - n_unk_v40_7s->m_field_name = field_name; - n_unk_v40_7s->m_df_type = get_real_subtype(base+offset, DF_Type::Void); - n_unk_v40_7s->m_rdf_type = RDF_Type::Pointer; - n_unk_v40_7s->m_node_type = NodeType::Pointer; - n_unk_v40_7s->m_addornements = "*"; - n_unk_v40_7s->m_address = base + offset; - n_unk_v40_7s->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_v40_7s); - - field_name = "features"; - auto n_features = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - n_features->m_field_name = field_name; - n_features->m_df_type = DF_Type::world__T_features; - n_features->m_rdf_type = RDF_Type::Compound; - n_features->m_node_type = NodeType::Compound; - n_features->m_address = base + offset; - n_features->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_features); - - field_name = "unk_26a9a8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - auto n_unk_26a9a8 = new NodeSimple; - n_unk_26a9a8->m_field_name = field_name; - n_unk_26a9a8->m_df_type = DF_Type::Bool; - n_unk_26a9a8->m_rdf_type = RDF_Type::Bool; - n_unk_26a9a8->m_node_type = NodeType::Simple; - n_unk_26a9a8->m_address = base + offset; - n_unk_26a9a8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_26a9a8); - - field_name = "unk_26a9a9"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - auto n_unk_26a9a9 = new NodeSimple; - n_unk_26a9a9->m_field_name = field_name; - n_unk_26a9a9->m_df_type = DF_Type::Bool; - n_unk_26a9a9->m_rdf_type = RDF_Type::Bool; - n_unk_26a9a9->m_node_type = NodeType::Simple; - n_unk_26a9a9->m_address = base + offset; - n_unk_26a9a9->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_26a9a9); - - field_name = "unk_26a9aa"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - auto n_unk_26a9aa = new NodeSimple; - n_unk_26a9aa->m_field_name = field_name; - n_unk_26a9aa->m_df_type = DF_Type::Bool; - n_unk_26a9aa->m_rdf_type = RDF_Type::Bool; - n_unk_26a9aa->m_node_type = NodeType::Simple; - n_unk_26a9aa->m_address = base + offset; - n_unk_26a9aa->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_26a9aa); - - field_name = "arena_spawn"; - auto n_arena_spawn = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - n_arena_spawn->m_field_name = field_name; - n_arena_spawn->m_df_type = DF_Type::world__T_arena_spawn; - n_arena_spawn->m_rdf_type = RDF_Type::Compound; - n_arena_spawn->m_node_type = NodeType::Compound; - n_arena_spawn->m_address = base + offset; - n_arena_spawn->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_arena_spawn); - - field_name = "arena_settings"; - auto n_arena_settings = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - n_arena_settings->m_field_name = field_name; - n_arena_settings->m_df_type = DF_Type::world__T_arena_settings; - n_arena_settings->m_rdf_type = RDF_Type::Compound; - n_arena_settings->m_node_type = NodeType::Compound; - n_arena_settings->m_address = base + offset; - n_arena_settings->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_arena_settings); - - field_name = "unk_26b5b8"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - auto n_unk_26b5b8 = new NodeSimple; - n_unk_26b5b8->m_field_name = field_name; - n_unk_26b5b8->m_df_type = DF_Type::int8_t; - n_unk_26b5b8->m_rdf_type = RDF_Type::int8_t; - n_unk_26b5b8->m_node_type = NodeType::Simple; - n_unk_26b5b8->m_address = base + offset; - n_unk_26b5b8->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_26b5b8); - - field_name = "unk_26b5b9"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - auto n_unk_26b5b9 = new NodeSimple; - n_unk_26b5b9->m_field_name = field_name; - n_unk_26b5b9->m_df_type = DF_Type::int8_t; - n_unk_26b5b9->m_rdf_type = RDF_Type::int8_t; - n_unk_26b5b9->m_node_type = NodeType::Simple; - n_unk_26b5b9->m_address = base + offset; - n_unk_26b5b9->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_26b5b9); - - field_name = "unk_19325c"; - auto n_unk_19325c = new NodeCompound; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - n_unk_19325c->m_field_name = field_name; - n_unk_19325c->m_df_type = DF_Type::world__T_unk_19325c; - n_unk_19325c->m_rdf_type = RDF_Type::Compound; - n_unk_19325c->m_node_type = NodeType::Compound; - n_unk_19325c->m_address = base + offset; - n_unk_19325c->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_19325c); - - field_name = "unk_26b618"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); - auto n_unk_26b618 = new NodeSimple; - n_unk_26b618->m_field_name = field_name; - n_unk_26b618->m_df_type = DF_Type::int32_t; - n_unk_26b618->m_rdf_type = RDF_Type::int32_t; - n_unk_26b618->m_node_type = NodeType::Simple; - n_unk_26b618->m_address = base + offset; - n_unk_26b618->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_unk_26b618); - -} -void node_from_T_cursor(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::T_cursor, field_name)); - auto n_x = new NodeSimple; - n_x->m_field_name = field_name; - n_x->m_df_type = DF_Type::int32_t; - n_x->m_rdf_type = RDF_Type::int32_t; - n_x->m_node_type = NodeType::Simple; - n_x->m_address = base + offset; - n_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_x); - - field_name = "y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::T_cursor, field_name)); - auto n_y = new NodeSimple; - n_y->m_field_name = field_name; - n_y->m_df_type = DF_Type::int32_t; - n_y->m_rdf_type = RDF_Type::int32_t; - n_y->m_node_type = NodeType::Simple; - n_y->m_address = base + offset; - n_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_y); - - field_name = "z"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::T_cursor, field_name)); - auto n_z = new NodeSimple; - n_z->m_field_name = field_name; - n_z->m_df_type = DF_Type::int32_t; - n_z->m_rdf_type = RDF_Type::int32_t; - n_z->m_node_type = NodeType::Simple; - n_z->m_address = base + offset; - n_z->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_z); - -} -void node_from_T_selection_rect(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) -{ - uint64_t offset; - std::string field_name; - uint64_t base = p_df_structure; - - field_name = "start_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::T_selection_rect, field_name)); - auto n_start_x = new NodeSimple; - n_start_x->m_field_name = field_name; - n_start_x->m_df_type = DF_Type::int32_t; - n_start_x->m_rdf_type = RDF_Type::int32_t; - n_start_x->m_node_type = NodeType::Simple; - n_start_x->m_address = base + offset; - n_start_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_start_x); - - field_name = "start_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::T_selection_rect, field_name)); - auto n_start_y = new NodeSimple; - n_start_y->m_field_name = field_name; - n_start_y->m_df_type = DF_Type::int32_t; - n_start_y->m_rdf_type = RDF_Type::int32_t; - n_start_y->m_node_type = NodeType::Simple; - n_start_y->m_address = base + offset; - n_start_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_start_y); - - field_name = "start_z"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::T_selection_rect, field_name)); - auto n_start_z = new NodeSimple; - n_start_z->m_field_name = field_name; - n_start_z->m_df_type = DF_Type::int32_t; - n_start_z->m_rdf_type = RDF_Type::int32_t; - n_start_z->m_node_type = NodeType::Simple; - n_start_z->m_address = base + offset; - n_start_z->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_start_z); - - field_name = "end_x"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::T_selection_rect, field_name)); - auto n_end_x = new NodeSimple; - n_end_x->m_field_name = field_name; - n_end_x->m_df_type = DF_Type::int32_t; - n_end_x->m_rdf_type = RDF_Type::int32_t; - n_end_x->m_node_type = NodeType::Simple; - n_end_x->m_address = base + offset; - n_end_x->m_comment = "only valid for an instant while its being completed"; - n_end_x->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_end_x); - - field_name = "end_y"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::T_selection_rect, field_name)); - auto n_end_y = new NodeSimple; - n_end_y->m_field_name = field_name; - n_end_y->m_df_type = DF_Type::int32_t; - n_end_y->m_rdf_type = RDF_Type::int32_t; - n_end_y->m_node_type = NodeType::Simple; - n_end_y->m_address = base + offset; - n_end_y->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_end_y); - - field_name = "end_z"; - offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::T_selection_rect, field_name)); - auto n_end_z = new NodeSimple; - n_end_z->m_field_name = field_name; - n_end_z->m_df_type = DF_Type::int32_t; - n_end_z->m_rdf_type = RDF_Type::int32_t; - n_end_z->m_node_type = NodeType::Simple; - n_end_z->m_address = base + offset; - n_end_z->m_parent = p_node_parent; - p_node_parent->m_children.push_back(n_end_z); - -} -void fill_node(uint64_t p_address, Node* p_node_parent) -{ - switch(p_node_parent->m_df_type) - { - case DF_Type::text_info_elementst: node_from_text_info_elementst(p_address, p_node_parent); break; - case DF_Type::text_info_element_longst: node_from_text_info_element_longst(p_address, p_node_parent); break; - case DF_Type::text_info_element_stringst: node_from_text_info_element_stringst(p_address, p_node_parent); break; - case DF_Type::adventure_optionst: node_from_adventure_optionst(p_address, p_node_parent); break; - case DF_Type::adventure_item_interact_choicest: node_from_adventure_item_interact_choicest(p_address, p_node_parent); break; - case DF_Type::adventure_item_interact_pull_outst: node_from_adventure_item_interact_pull_outst(p_address, p_node_parent); break; - case DF_Type::adventure_item_interact_readst: node_from_adventure_item_interact_readst(p_address, p_node_parent); break; - case DF_Type::adventure_item_interact_strugglest: node_from_adventure_item_interact_strugglest(p_address, p_node_parent); break; - case DF_Type::popup_message: node_from_popup_message(p_address, p_node_parent); break; - case DF_Type::art_image_element: node_from_art_image_element(p_address, p_node_parent); break; - case DF_Type::art_image_element_creaturest: node_from_art_image_element_creaturest(p_address, p_node_parent); break; - case DF_Type::art_image_element_plantst: node_from_art_image_element_plantst(p_address, p_node_parent); break; - case DF_Type::art_image_element_treest: node_from_art_image_element_treest(p_address, p_node_parent); break; - case DF_Type::art_image_element_shapest: node_from_art_image_element_shapest(p_address, p_node_parent); break; - case DF_Type::art_image_property: node_from_art_image_property(p_address, p_node_parent); break; - case DF_Type::art_image_ref: node_from_art_image_ref(p_address, p_node_parent); break; - case DF_Type::poetic_form_perspective: node_from_poetic_form_perspective(p_address, p_node_parent); break; - case DF_Type::musical_form_sub4: node_from_musical_form_sub4(p_address, p_node_parent); break; - case DF_Type::musical_form_interval: node_from_musical_form_interval(p_address, p_node_parent); break; - case DF_Type::dance_form_sub1: node_from_dance_form_sub1(p_address, p_node_parent); break; - case DF_Type::dance_form_sub2: node_from_dance_form_sub2(p_address, p_node_parent); break; - case DF_Type::scale_sub1: node_from_scale_sub1(p_address, p_node_parent); break; - case DF_Type::scale_sub2: node_from_scale_sub2(p_address, p_node_parent); break; - case DF_Type::rhythm_sub2: node_from_rhythm_sub2(p_address, p_node_parent); break; - case DF_Type::occupation_sub1: node_from_occupation_sub1(p_address, p_node_parent); break; - case DF_Type::building_extents: node_from_building_extents(p_address, p_node_parent); break; - case DF_Type::building_drawbuffer: node_from_building_drawbuffer(p_address, p_node_parent); break; - case DF_Type::hospital_supplies: node_from_hospital_supplies(p_address, p_node_parent); break; - case DF_Type::building_users: node_from_building_users(p_address, p_node_parent); break; - case DF_Type::pressure_plate_info: node_from_pressure_plate_info(p_address, p_node_parent); break; - case DF_Type::body_part_layer_raw: node_from_body_part_layer_raw(p_address, p_node_parent); break; - case DF_Type::color_modifier_raw: node_from_color_modifier_raw(p_address, p_node_parent); break; - case DF_Type::gait_info: node_from_gait_info(p_address, p_node_parent); break; - case DF_Type::creature_graphics_appointment: node_from_creature_graphics_appointment(p_address, p_node_parent); break; - case DF_Type::creature_variation_convert_tag: node_from_creature_variation_convert_tag(p_address, p_node_parent); break; - case DF_Type::body_detail_plan: node_from_body_detail_plan(p_address, p_node_parent); break; - case DF_Type::descriptor_color: node_from_descriptor_color(p_address, p_node_parent); break; - case DF_Type::descriptor_shape: node_from_descriptor_shape(p_address, p_node_parent); break; - case DF_Type::entity_activity_statistics__T_food: node_from_entity_activity_statistics__T_food(p_address, p_node_parent); break; - case DF_Type::entity_activity_statistics__T_wealth: node_from_entity_activity_statistics__T_wealth(p_address, p_node_parent); break; - case DF_Type::entity_activity_statistics: node_from_entity_activity_statistics(p_address, p_node_parent); break; - case DF_Type::entity_sell_requests: node_from_entity_sell_requests(p_address, p_node_parent); break; - case DF_Type::entity_tissue_style: node_from_entity_tissue_style(p_address, p_node_parent); break; - case DF_Type::entity_position: node_from_entity_position(p_address, p_node_parent); break; - case DF_Type::entity_position_assignment: node_from_entity_position_assignment(p_address, p_node_parent); break; - case DF_Type::entity_animal_raw: node_from_entity_animal_raw(p_address, p_node_parent); break; - case DF_Type::large_integer___struct0: node_from_large_integer___struct0(p_address, p_node_parent); break; - case DF_Type::large_integer__T_u: node_from_large_integer__T_u(p_address, p_node_parent); break; - case DF_Type::large_integer: node_from_large_integer(p_address, p_node_parent); break; - case DF_Type::renderer: node_from_renderer(p_address, p_node_parent); break; - case DF_Type::identity_unk_94: node_from_identity_unk_94(p_address, p_node_parent); break; - case DF_Type::mental_picture_propertyst: node_from_mental_picture_propertyst(p_address, p_node_parent); break; - case DF_Type::mental_picture_property_datest: node_from_mental_picture_property_datest(p_address, p_node_parent); break; - case DF_Type::mental_picture_property_actionst: node_from_mental_picture_property_actionst(p_address, p_node_parent); break; - case DF_Type::mental_picture_property_toolst: node_from_mental_picture_property_toolst(p_address, p_node_parent); break; - case DF_Type::mental_picture_property_emotionst: node_from_mental_picture_property_emotionst(p_address, p_node_parent); break; - case DF_Type::mental_picture_property_color_patternst: node_from_mental_picture_property_color_patternst(p_address, p_node_parent); break; - case DF_Type::mental_picture_property_shapest: node_from_mental_picture_property_shapest(p_address, p_node_parent); break; - case DF_Type::mental_picture_property_adjectivest: node_from_mental_picture_property_adjectivest(p_address, p_node_parent); break; - case DF_Type::mental_picture_property_positionst: node_from_mental_picture_property_positionst(p_address, p_node_parent); break; - case DF_Type::mental_picture_property_timest: node_from_mental_picture_property_timest(p_address, p_node_parent); break; - case DF_Type::mental_picture_elementst: node_from_mental_picture_elementst(p_address, p_node_parent); break; - case DF_Type::mental_picture_element_hfst: node_from_mental_picture_element_hfst(p_address, p_node_parent); break; - case DF_Type::mental_picture_element_sitest: node_from_mental_picture_element_sitest(p_address, p_node_parent); break; - case DF_Type::mental_picture_element_regionst: node_from_mental_picture_element_regionst(p_address, p_node_parent); break; - case DF_Type::history_event_context: node_from_history_event_context(p_address, p_node_parent); break; - case DF_Type::history_event: node_from_history_event(p_address, p_node_parent); break; - case DF_Type::history_event_war_attacked_sitest: node_from_history_event_war_attacked_sitest(p_address, p_node_parent); break; - case DF_Type::history_event_war_destroyed_sitest: node_from_history_event_war_destroyed_sitest(p_address, p_node_parent); break; - case DF_Type::history_event_created_sitest: node_from_history_event_created_sitest(p_address, p_node_parent); break; - case DF_Type::history_event_entity_expels_hfst: node_from_history_event_entity_expels_hfst(p_address, p_node_parent); break; - case DF_Type::history_event_first_contactst: node_from_history_event_first_contactst(p_address, p_node_parent); break; - case DF_Type::history_event_first_contact_failedst: node_from_history_event_first_contact_failedst(p_address, p_node_parent); break; - case DF_Type::history_event_diplomat_lostst: node_from_history_event_diplomat_lostst(p_address, p_node_parent); break; - case DF_Type::history_event_agreements_voidedst: node_from_history_event_agreements_voidedst(p_address, p_node_parent); break; - case DF_Type::history_event_merchantst: node_from_history_event_merchantst(p_address, p_node_parent); break; - case DF_Type::history_event_artifact_hiddenst: node_from_history_event_artifact_hiddenst(p_address, p_node_parent); break; - case DF_Type::history_event_artifact_createdst: node_from_history_event_artifact_createdst(p_address, p_node_parent); break; - case DF_Type::history_event_artifact_lostst: node_from_history_event_artifact_lostst(p_address, p_node_parent); break; - case DF_Type::history_event_artifact_foundst: node_from_history_event_artifact_foundst(p_address, p_node_parent); break; - case DF_Type::history_event_artifact_recoveredst: node_from_history_event_artifact_recoveredst(p_address, p_node_parent); break; - case DF_Type::history_event_artifact_droppedst: node_from_history_event_artifact_droppedst(p_address, p_node_parent); break; - case DF_Type::history_event_reclaim_sitest: node_from_history_event_reclaim_sitest(p_address, p_node_parent); break; - case DF_Type::history_event_hf_destroyed_sitest: node_from_history_event_hf_destroyed_sitest(p_address, p_node_parent); break; - case DF_Type::history_event_site_diedst: node_from_history_event_site_diedst(p_address, p_node_parent); break; - case DF_Type::history_event_site_retiredst: node_from_history_event_site_retiredst(p_address, p_node_parent); break; - case DF_Type::history_event_entity_createdst: node_from_history_event_entity_createdst(p_address, p_node_parent); break; - case DF_Type::history_event_entity_incorporatedst: node_from_history_event_entity_incorporatedst(p_address, p_node_parent); break; - case DF_Type::history_event_created_buildingst: node_from_history_event_created_buildingst(p_address, p_node_parent); break; - case DF_Type::history_event_replaced_buildingst: node_from_history_event_replaced_buildingst(p_address, p_node_parent); break; - case DF_Type::history_event_entity_razed_buildingst: node_from_history_event_entity_razed_buildingst(p_address, p_node_parent); break; - case DF_Type::history_event_masterpiece_createdst: node_from_history_event_masterpiece_createdst(p_address, p_node_parent); break; - case DF_Type::history_event_masterpiece_created_arch_designst: node_from_history_event_masterpiece_created_arch_designst(p_address, p_node_parent); break; - case DF_Type::history_event_masterpiece_created_arch_constructst: node_from_history_event_masterpiece_created_arch_constructst(p_address, p_node_parent); break; - case DF_Type::history_event_masterpiece_created_foodst: node_from_history_event_masterpiece_created_foodst(p_address, p_node_parent); break; - case DF_Type::history_event_war_plundered_sitest: node_from_history_event_war_plundered_sitest(p_address, p_node_parent); break; - case DF_Type::history_event_war_site_new_leaderst: node_from_history_event_war_site_new_leaderst(p_address, p_node_parent); break; - case DF_Type::history_event_war_site_tribute_forcedst: node_from_history_event_war_site_tribute_forcedst(p_address, p_node_parent); break; - case DF_Type::history_event_war_site_taken_overst: node_from_history_event_war_site_taken_overst(p_address, p_node_parent); break; - case DF_Type::history_event_site_surrenderedst: node_from_history_event_site_surrenderedst(p_address, p_node_parent); break; - case DF_Type::history_event_hist_figure_abductedst: node_from_history_event_hist_figure_abductedst(p_address, p_node_parent); break; - case DF_Type::history_event_hf_razed_buildingst: node_from_history_event_hf_razed_buildingst(p_address, p_node_parent); break; - case DF_Type::history_event_creature_devouredst: node_from_history_event_creature_devouredst(p_address, p_node_parent); break; - case DF_Type::history_event_hist_figure_woundedst: node_from_history_event_hist_figure_woundedst(p_address, p_node_parent); break; - case DF_Type::history_event_created_world_constructionst: node_from_history_event_created_world_constructionst(p_address, p_node_parent); break; - case DF_Type::history_event_hist_figure_reunionst: node_from_history_event_hist_figure_reunionst(p_address, p_node_parent); break; - case DF_Type::history_event_assume_identityst: node_from_history_event_assume_identityst(p_address, p_node_parent); break; - case DF_Type::history_event_create_entity_positionst: node_from_history_event_create_entity_positionst(p_address, p_node_parent); break; - case DF_Type::history_event_change_creature_typest: node_from_history_event_change_creature_typest(p_address, p_node_parent); break; - case DF_Type::history_event_hf_learns_secretst: node_from_history_event_hf_learns_secretst(p_address, p_node_parent); break; - case DF_Type::history_event_hf_act_on_buildingst: node_from_history_event_hf_act_on_buildingst(p_address, p_node_parent); break; - case DF_Type::history_event_hf_does_interactionst: node_from_history_event_hf_does_interactionst(p_address, p_node_parent); break; - case DF_Type::history_event_entity_lawst: node_from_history_event_entity_lawst(p_address, p_node_parent); break; - case DF_Type::history_event_artifact_storedst: node_from_history_event_artifact_storedst(p_address, p_node_parent); break; - case DF_Type::history_event_agreement_formedst: node_from_history_event_agreement_formedst(p_address, p_node_parent); break; - case DF_Type::history_event_insurrection_startedst: node_from_history_event_insurrection_startedst(p_address, p_node_parent); break; - case DF_Type::history_event_hf_attacked_sitest: node_from_history_event_hf_attacked_sitest(p_address, p_node_parent); break; - case DF_Type::history_event_performancest: node_from_history_event_performancest(p_address, p_node_parent); break; - case DF_Type::history_event_competitionst: node_from_history_event_competitionst(p_address, p_node_parent); break; - case DF_Type::history_event_processionst: node_from_history_event_processionst(p_address, p_node_parent); break; - case DF_Type::history_event_ceremonyst: node_from_history_event_ceremonyst(p_address, p_node_parent); break; - case DF_Type::history_event_artifact_transformedst: node_from_history_event_artifact_transformedst(p_address, p_node_parent); break; - case DF_Type::history_event_artifact_destroyedst: node_from_history_event_artifact_destroyedst(p_address, p_node_parent); break; - case DF_Type::history_event_regionpop_incorporated_into_entityst: node_from_history_event_regionpop_incorporated_into_entityst(p_address, p_node_parent); break; - case DF_Type::history_event_hf_act_on_artifactst: node_from_history_event_hf_act_on_artifactst(p_address, p_node_parent); break; - case DF_Type::history_event_artifact_copiedst: node_from_history_event_artifact_copiedst(p_address, p_node_parent); break; - case DF_Type::history_event_sneak_into_sitest: node_from_history_event_sneak_into_sitest(p_address, p_node_parent); break; - case DF_Type::history_event_spotted_leaving_sitest: node_from_history_event_spotted_leaving_sitest(p_address, p_node_parent); break; - case DF_Type::history_event_entity_searched_sitest: node_from_history_event_entity_searched_sitest(p_address, p_node_parent); break; - case DF_Type::history_event_hf_freedst: node_from_history_event_hf_freedst(p_address, p_node_parent); break; - case DF_Type::history_event_hist_figure_simple_actionst: node_from_history_event_hist_figure_simple_actionst(p_address, p_node_parent); break; - case DF_Type::history_event_entity_rampaged_in_sitest: node_from_history_event_entity_rampaged_in_sitest(p_address, p_node_parent); break; - case DF_Type::history_event_entity_fled_sitest: node_from_history_event_entity_fled_sitest(p_address, p_node_parent); break; - case DF_Type::history_event_squad_vs_squadst: node_from_history_event_squad_vs_squadst(p_address, p_node_parent); break; - case DF_Type::history_event_collection: node_from_history_event_collection(p_address, p_node_parent); break; - case DF_Type::history_event_collection_site_conqueredst: node_from_history_event_collection_site_conqueredst(p_address, p_node_parent); break; - case DF_Type::history_event_collection_journeyst: node_from_history_event_collection_journeyst(p_address, p_node_parent); break; - case DF_Type::history_event_collection_insurrectionst: node_from_history_event_collection_insurrectionst(p_address, p_node_parent); break; - case DF_Type::history_event_collection_occasionst: node_from_history_event_collection_occasionst(p_address, p_node_parent); break; - case DF_Type::history_event_collection_performancest: node_from_history_event_collection_performancest(p_address, p_node_parent); break; - case DF_Type::history_event_collection_competitionst: node_from_history_event_collection_competitionst(p_address, p_node_parent); break; - case DF_Type::history_event_collection_processionst: node_from_history_event_collection_processionst(p_address, p_node_parent); break; - case DF_Type::history_event_collection_ceremonyst: node_from_history_event_collection_ceremonyst(p_address, p_node_parent); break; - case DF_Type::history_event_collection_purgest: node_from_history_event_collection_purgest(p_address, p_node_parent); break; - case DF_Type::init_media: node_from_init_media(p_address, p_node_parent); break; - case DF_Type::init_input: node_from_init_input(p_address, p_node_parent); break; - case DF_Type::init_window: node_from_init_window(p_address, p_node_parent); break; - case DF_Type::tile_page: node_from_tile_page(p_address, p_node_parent); break; - case DF_Type::interaction_source: node_from_interaction_source(p_address, p_node_parent); break; - case DF_Type::interaction_source_regionst: node_from_interaction_source_regionst(p_address, p_node_parent); break; - case DF_Type::interaction_source_disturbancest: node_from_interaction_source_disturbancest(p_address, p_node_parent); break; - case DF_Type::interaction_source_attackst: node_from_interaction_source_attackst(p_address, p_node_parent); break; - case DF_Type::interaction_source_ingestionst: node_from_interaction_source_ingestionst(p_address, p_node_parent); break; - case DF_Type::interaction_source_creature_actionst: node_from_interaction_source_creature_actionst(p_address, p_node_parent); break; - case DF_Type::interaction_source_underground_specialst: node_from_interaction_source_underground_specialst(p_address, p_node_parent); break; - case DF_Type::interaction_target_info: node_from_interaction_target_info(p_address, p_node_parent); break; - case DF_Type::interaction_instance: node_from_interaction_instance(p_address, p_node_parent); break; - case DF_Type::weapon_attack: node_from_weapon_attack(p_address, p_node_parent); break; - case DF_Type::itemdef: node_from_itemdef(p_address, p_node_parent); break; - case DF_Type::armor_properties: node_from_armor_properties(p_address, p_node_parent); break; - case DF_Type::itemdef_foodst: node_from_itemdef_foodst(p_address, p_node_parent); break; - case DF_Type::instrument_piece: node_from_instrument_piece(p_address, p_node_parent); break; - case DF_Type::itemdef_shieldst: node_from_itemdef_shieldst(p_address, p_node_parent); break; - case DF_Type::itemdef_siegeammost: node_from_itemdef_siegeammost(p_address, p_node_parent); break; - case DF_Type::itemdef_toyst: node_from_itemdef_toyst(p_address, p_node_parent); break; - case DF_Type::temperaturest: node_from_temperaturest(p_address, p_node_parent); break; - case DF_Type::body_size_info: node_from_body_size_info(p_address, p_node_parent); break; - case DF_Type::item_stockpile_ref: node_from_item_stockpile_ref(p_address, p_node_parent); break; - case DF_Type::job_art_specification: node_from_job_art_specification(p_address, p_node_parent); break; - case DF_Type::manager_order_condition_order: node_from_manager_order_condition_order(p_address, p_node_parent); break; - case DF_Type::training_assignment: node_from_training_assignment(p_address, p_node_parent); break; - case DF_Type::language_translation: node_from_language_translation(p_address, p_node_parent); break; - case DF_Type::language_symbol: node_from_language_symbol(p_address, p_node_parent); break; - case DF_Type::invasion_info: node_from_invasion_info(p_address, p_node_parent); break; - case DF_Type::machine_info: node_from_machine_info(p_address, p_node_parent); break; - case DF_Type::power_info: node_from_power_info(p_address, p_node_parent); break; - case DF_Type::coord2d: node_from_coord2d(p_address, p_node_parent); break; - case DF_Type::coord2d_path: node_from_coord2d_path(p_address, p_node_parent); break; - case DF_Type::coord: node_from_coord(p_address, p_node_parent); break; - case DF_Type::coord_path: node_from_coord_path(p_address, p_node_parent); break; - case DF_Type::tile_bitmask: node_from_tile_bitmask(p_address, p_node_parent); break; - case DF_Type::cave_column: node_from_cave_column(p_address, p_node_parent); break; - case DF_Type::cave_column_rectangle: node_from_cave_column_rectangle(p_address, p_node_parent); break; - case DF_Type::block_square_event: node_from_block_square_event(p_address, p_node_parent); break; - case DF_Type::block_square_event_material_spatterst: node_from_block_square_event_material_spatterst(p_address, p_node_parent); break; - case DF_Type::block_square_event_grassst: node_from_block_square_event_grassst(p_address, p_node_parent); break; - case DF_Type::block_square_event_spoorst: node_from_block_square_event_spoorst(p_address, p_node_parent); break; - case DF_Type::block_square_event_designation_priorityst: node_from_block_square_event_designation_priorityst(p_address, p_node_parent); break; - case DF_Type::feature_alteration: node_from_feature_alteration(p_address, p_node_parent); break; - case DF_Type::feature_alteration_new_pop_maxst: node_from_feature_alteration_new_pop_maxst(p_address, p_node_parent); break; - case DF_Type::feature_alteration_new_lava_fill_zst: node_from_feature_alteration_new_lava_fill_zst(p_address, p_node_parent); break; - case DF_Type::flow_reuse_pool: node_from_flow_reuse_pool(p_address, p_node_parent); break; - case DF_Type::flow_guide: node_from_flow_guide(p_address, p_node_parent); break; - case DF_Type::region_block_eventst: node_from_region_block_eventst(p_address, p_node_parent); break; - case DF_Type::region_block_event_sphere_fieldst: node_from_region_block_event_sphere_fieldst(p_address, p_node_parent); break; - case DF_Type::material_vec_ref: node_from_material_vec_ref(p_address, p_node_parent); break; - case DF_Type::script_stepst: node_from_script_stepst(p_address, p_node_parent); break; - case DF_Type::script_step_setvarst: node_from_script_step_setvarst(p_address, p_node_parent); break; - case DF_Type::script_step_simpleactionst: node_from_script_step_simpleactionst(p_address, p_node_parent); break; - case DF_Type::script_step_conditionalst__T_condition: node_from_script_step_conditionalst__T_condition(p_address, p_node_parent); break; - case DF_Type::script_step_conditionalst: node_from_script_step_conditionalst(p_address, p_node_parent); break; - case DF_Type::script_step_textviewerst: node_from_script_step_textviewerst(p_address, p_node_parent); break; - case DF_Type::script_step_diphistoryst: node_from_script_step_diphistoryst(p_address, p_node_parent); break; - case DF_Type::script_step_discussst: node_from_script_step_discussst(p_address, p_node_parent); break; - case DF_Type::script_step_topicdiscussionst: node_from_script_step_topicdiscussionst(p_address, p_node_parent); break; - case DF_Type::script_step_constructtopiclistst: node_from_script_step_constructtopiclistst(p_address, p_node_parent); break; - case DF_Type::script_step_eventst: node_from_script_step_eventst(p_address, p_node_parent); break; - case DF_Type::script_step_dipeventst: node_from_script_step_dipeventst(p_address, p_node_parent); break; - case DF_Type::script_step_invasionst: node_from_script_step_invasionst(p_address, p_node_parent); break; - case DF_Type::script_varst: node_from_script_varst(p_address, p_node_parent); break; - case DF_Type::script_var_unitst: node_from_script_var_unitst(p_address, p_node_parent); break; - case DF_Type::script_var_longst: node_from_script_var_longst(p_address, p_node_parent); break; - case DF_Type::active_script_varst: node_from_active_script_varst(p_address, p_node_parent); break; - case DF_Type::active_script_var_longst: node_from_active_script_var_longst(p_address, p_node_parent); break; - case DF_Type::activity_event_participants: node_from_activity_event_participants(p_address, p_node_parent); break; - case DF_Type::schedule_slot: node_from_schedule_slot(p_address, p_node_parent); break; - case DF_Type::squad_order: node_from_squad_order(p_address, p_node_parent); break; - case DF_Type::squad_order_kill_listst: node_from_squad_order_kill_listst(p_address, p_node_parent); break; - case DF_Type::squad_order_defend_burrowsst: node_from_squad_order_defend_burrowsst(p_address, p_node_parent); break; - case DF_Type::squad_order_patrol_routest: node_from_squad_order_patrol_routest(p_address, p_node_parent); break; - case DF_Type::squad_order_trainst: node_from_squad_order_trainst(p_address, p_node_parent); break; - case DF_Type::squad_order_drive_entity_off_sitest: node_from_squad_order_drive_entity_off_sitest(p_address, p_node_parent); break; - case DF_Type::squad_order_cause_trouble_for_entityst: node_from_squad_order_cause_trouble_for_entityst(p_address, p_node_parent); break; - case DF_Type::squad_order_kill_hfst: node_from_squad_order_kill_hfst(p_address, p_node_parent); break; - case DF_Type::squad_order_drive_armies_from_sitest: node_from_squad_order_drive_armies_from_sitest(p_address, p_node_parent); break; - case DF_Type::army_controller_sub1: node_from_army_controller_sub1(p_address, p_node_parent); break; - case DF_Type::army_controller_sub4: node_from_army_controller_sub4(p_address, p_node_parent); break; - case DF_Type::army_controller_sub5: node_from_army_controller_sub5(p_address, p_node_parent); break; - case DF_Type::army_controller_sub6: node_from_army_controller_sub6(p_address, p_node_parent); break; - case DF_Type::army_controller_sub16: node_from_army_controller_sub16(p_address, p_node_parent); break; - case DF_Type::army_controller_sub17: node_from_army_controller_sub17(p_address, p_node_parent); break; - case DF_Type::army_controller_sub18: node_from_army_controller_sub18(p_address, p_node_parent); break; - case DF_Type::plant_growth_print: node_from_plant_growth_print(p_address, p_node_parent); break; - case DF_Type::reaction_category: node_from_reaction_category(p_address, p_node_parent); break; - case DF_Type::reaction_product: node_from_reaction_product(p_address, p_node_parent); break; - case DF_Type::general_ref: node_from_general_ref(p_address, p_node_parent); break; - case DF_Type::general_ref_artifact: node_from_general_ref_artifact(p_address, p_node_parent); break; - case DF_Type::general_ref_nemesis: node_from_general_ref_nemesis(p_address, p_node_parent); break; - case DF_Type::general_ref_item: node_from_general_ref_item(p_address, p_node_parent); break; - case DF_Type::general_ref_coinbatch: node_from_general_ref_coinbatch(p_address, p_node_parent); break; - case DF_Type::general_ref_entity_art_image: node_from_general_ref_entity_art_image(p_address, p_node_parent); break; - case DF_Type::general_ref_projectile: node_from_general_ref_projectile(p_address, p_node_parent); break; - case DF_Type::general_ref_unit: node_from_general_ref_unit(p_address, p_node_parent); break; - case DF_Type::general_ref_building: node_from_general_ref_building(p_address, p_node_parent); break; - case DF_Type::general_ref_entity: node_from_general_ref_entity(p_address, p_node_parent); break; - case DF_Type::general_ref_locationst: node_from_general_ref_locationst(p_address, p_node_parent); break; - case DF_Type::general_ref_interactionst: node_from_general_ref_interactionst(p_address, p_node_parent); break; - case DF_Type::general_ref_abstract_buildingst: node_from_general_ref_abstract_buildingst(p_address, p_node_parent); break; - case DF_Type::general_ref_historical_eventst: node_from_general_ref_historical_eventst(p_address, p_node_parent); break; - case DF_Type::general_ref_sitest: node_from_general_ref_sitest(p_address, p_node_parent); break; - case DF_Type::general_ref_subregionst: node_from_general_ref_subregionst(p_address, p_node_parent); break; - case DF_Type::general_ref_feature_layerst: node_from_general_ref_feature_layerst(p_address, p_node_parent); break; - case DF_Type::general_ref_historical_figurest: node_from_general_ref_historical_figurest(p_address, p_node_parent); break; - case DF_Type::general_ref_entity_popst: node_from_general_ref_entity_popst(p_address, p_node_parent); break; - case DF_Type::general_ref_creaturest: node_from_general_ref_creaturest(p_address, p_node_parent); break; - case DF_Type::general_ref_activity_eventst: node_from_general_ref_activity_eventst(p_address, p_node_parent); break; - case DF_Type::general_ref_languagest: node_from_general_ref_languagest(p_address, p_node_parent); break; - case DF_Type::general_ref_written_contentst: node_from_general_ref_written_contentst(p_address, p_node_parent); break; - case DF_Type::general_ref_poetic_formst: node_from_general_ref_poetic_formst(p_address, p_node_parent); break; - case DF_Type::general_ref_musical_formst: node_from_general_ref_musical_formst(p_address, p_node_parent); break; - case DF_Type::general_ref_dance_formst: node_from_general_ref_dance_formst(p_address, p_node_parent); break; - case DF_Type::general_ref_is_artifactst: node_from_general_ref_is_artifactst(p_address, p_node_parent); break; - case DF_Type::general_ref_is_nemesisst: node_from_general_ref_is_nemesisst(p_address, p_node_parent); break; - case DF_Type::general_ref_contains_unitst: node_from_general_ref_contains_unitst(p_address, p_node_parent); break; - case DF_Type::general_ref_contains_itemst: node_from_general_ref_contains_itemst(p_address, p_node_parent); break; - case DF_Type::general_ref_contained_in_itemst: node_from_general_ref_contained_in_itemst(p_address, p_node_parent); break; - case DF_Type::general_ref_unit_milkeest: node_from_general_ref_unit_milkeest(p_address, p_node_parent); break; - case DF_Type::general_ref_unit_traineest: node_from_general_ref_unit_traineest(p_address, p_node_parent); break; - case DF_Type::general_ref_unit_itemownerst: node_from_general_ref_unit_itemownerst(p_address, p_node_parent); break; - case DF_Type::general_ref_unit_tradebringerst: node_from_general_ref_unit_tradebringerst(p_address, p_node_parent); break; - case DF_Type::general_ref_unit_holderst: node_from_general_ref_unit_holderst(p_address, p_node_parent); break; - case DF_Type::general_ref_unit_workerst: node_from_general_ref_unit_workerst(p_address, p_node_parent); break; - case DF_Type::general_ref_unit_cageest: node_from_general_ref_unit_cageest(p_address, p_node_parent); break; - case DF_Type::general_ref_unit_beateest: node_from_general_ref_unit_beateest(p_address, p_node_parent); break; - case DF_Type::general_ref_unit_foodreceiverst: node_from_general_ref_unit_foodreceiverst(p_address, p_node_parent); break; - case DF_Type::general_ref_unit_kidnapeest: node_from_general_ref_unit_kidnapeest(p_address, p_node_parent); break; - case DF_Type::general_ref_unit_patientst: node_from_general_ref_unit_patientst(p_address, p_node_parent); break; - case DF_Type::general_ref_unit_infantst: node_from_general_ref_unit_infantst(p_address, p_node_parent); break; - case DF_Type::general_ref_unit_slaughtereest: node_from_general_ref_unit_slaughtereest(p_address, p_node_parent); break; - case DF_Type::general_ref_unit_sheareest: node_from_general_ref_unit_sheareest(p_address, p_node_parent); break; - case DF_Type::general_ref_unit_suckeest: node_from_general_ref_unit_suckeest(p_address, p_node_parent); break; - case DF_Type::general_ref_unit_reporteest: node_from_general_ref_unit_reporteest(p_address, p_node_parent); break; - case DF_Type::general_ref_unit_riderst: node_from_general_ref_unit_riderst(p_address, p_node_parent); break; - case DF_Type::general_ref_unit_climberst: node_from_general_ref_unit_climberst(p_address, p_node_parent); break; - case DF_Type::general_ref_unit_geldeest: node_from_general_ref_unit_geldeest(p_address, p_node_parent); break; - case DF_Type::general_ref_building_civzone_assignedst: node_from_general_ref_building_civzone_assignedst(p_address, p_node_parent); break; - case DF_Type::general_ref_building_triggerst: node_from_general_ref_building_triggerst(p_address, p_node_parent); break; - case DF_Type::general_ref_building_triggertargetst: node_from_general_ref_building_triggertargetst(p_address, p_node_parent); break; - case DF_Type::general_ref_building_chainst: node_from_general_ref_building_chainst(p_address, p_node_parent); break; - case DF_Type::general_ref_building_cagedst: node_from_general_ref_building_cagedst(p_address, p_node_parent); break; - case DF_Type::general_ref_building_holderst: node_from_general_ref_building_holderst(p_address, p_node_parent); break; - case DF_Type::general_ref_building_well_tag: node_from_general_ref_building_well_tag(p_address, p_node_parent); break; - case DF_Type::general_ref_building_use_target_1st: node_from_general_ref_building_use_target_1st(p_address, p_node_parent); break; - case DF_Type::general_ref_building_use_target_2st: node_from_general_ref_building_use_target_2st(p_address, p_node_parent); break; - case DF_Type::general_ref_building_destinationst: node_from_general_ref_building_destinationst(p_address, p_node_parent); break; - case DF_Type::general_ref_building_nest_boxst: node_from_general_ref_building_nest_boxst(p_address, p_node_parent); break; - case DF_Type::general_ref_building_display_furniturest: node_from_general_ref_building_display_furniturest(p_address, p_node_parent); break; - case DF_Type::general_ref_entity_stolenst: node_from_general_ref_entity_stolenst(p_address, p_node_parent); break; - case DF_Type::general_ref_entity_offeredst: node_from_general_ref_entity_offeredst(p_address, p_node_parent); break; - case DF_Type::general_ref_entity_itemownerst: node_from_general_ref_entity_itemownerst(p_address, p_node_parent); break; - case DF_Type::histfig_entity_link: node_from_histfig_entity_link(p_address, p_node_parent); break; - case DF_Type::histfig_entity_link_memberst: node_from_histfig_entity_link_memberst(p_address, p_node_parent); break; - case DF_Type::histfig_entity_link_former_memberst: node_from_histfig_entity_link_former_memberst(p_address, p_node_parent); break; - case DF_Type::histfig_entity_link_mercenaryst: node_from_histfig_entity_link_mercenaryst(p_address, p_node_parent); break; - case DF_Type::histfig_entity_link_former_mercenaryst: node_from_histfig_entity_link_former_mercenaryst(p_address, p_node_parent); break; - case DF_Type::histfig_entity_link_slavest: node_from_histfig_entity_link_slavest(p_address, p_node_parent); break; - case DF_Type::histfig_entity_link_former_slavest: node_from_histfig_entity_link_former_slavest(p_address, p_node_parent); break; - case DF_Type::histfig_entity_link_prisonerst: node_from_histfig_entity_link_prisonerst(p_address, p_node_parent); break; - case DF_Type::histfig_entity_link_former_prisonerst: node_from_histfig_entity_link_former_prisonerst(p_address, p_node_parent); break; - case DF_Type::histfig_entity_link_enemyst: node_from_histfig_entity_link_enemyst(p_address, p_node_parent); break; - case DF_Type::histfig_entity_link_criminalst: node_from_histfig_entity_link_criminalst(p_address, p_node_parent); break; - case DF_Type::histfig_entity_link_positionst: node_from_histfig_entity_link_positionst(p_address, p_node_parent); break; - case DF_Type::histfig_entity_link_former_positionst: node_from_histfig_entity_link_former_positionst(p_address, p_node_parent); break; - case DF_Type::histfig_entity_link_position_claimst: node_from_histfig_entity_link_position_claimst(p_address, p_node_parent); break; - case DF_Type::histfig_entity_link_squadst: node_from_histfig_entity_link_squadst(p_address, p_node_parent); break; - case DF_Type::histfig_entity_link_former_squadst: node_from_histfig_entity_link_former_squadst(p_address, p_node_parent); break; - case DF_Type::histfig_entity_link_occupationst: node_from_histfig_entity_link_occupationst(p_address, p_node_parent); break; - case DF_Type::histfig_entity_link_former_occupationst: node_from_histfig_entity_link_former_occupationst(p_address, p_node_parent); break; - case DF_Type::histfig_site_link: node_from_histfig_site_link(p_address, p_node_parent); break; - case DF_Type::histfig_site_link_seat_of_powerst: node_from_histfig_site_link_seat_of_powerst(p_address, p_node_parent); break; - case DF_Type::histfig_site_link_hangoutst: node_from_histfig_site_link_hangoutst(p_address, p_node_parent); break; - case DF_Type::histfig_site_link_home_site_abstract_buildingst: node_from_histfig_site_link_home_site_abstract_buildingst(p_address, p_node_parent); break; - case DF_Type::histfig_site_link_home_site_realization_buildingst: node_from_histfig_site_link_home_site_realization_buildingst(p_address, p_node_parent); break; - case DF_Type::histfig_site_link_lairst: node_from_histfig_site_link_lairst(p_address, p_node_parent); break; - case DF_Type::histfig_site_link_home_site_realization_sulst: node_from_histfig_site_link_home_site_realization_sulst(p_address, p_node_parent); break; - case DF_Type::histfig_site_link_home_site_saved_civzonest: node_from_histfig_site_link_home_site_saved_civzonest(p_address, p_node_parent); break; - case DF_Type::histfig_site_link_occupationst: node_from_histfig_site_link_occupationst(p_address, p_node_parent); break; - case DF_Type::histfig_hf_link: node_from_histfig_hf_link(p_address, p_node_parent); break; - case DF_Type::histfig_hf_link_motherst: node_from_histfig_hf_link_motherst(p_address, p_node_parent); break; - case DF_Type::histfig_hf_link_fatherst: node_from_histfig_hf_link_fatherst(p_address, p_node_parent); break; - case DF_Type::histfig_hf_link_spousest: node_from_histfig_hf_link_spousest(p_address, p_node_parent); break; - case DF_Type::histfig_hf_link_childst: node_from_histfig_hf_link_childst(p_address, p_node_parent); break; - case DF_Type::histfig_hf_link_deityst: node_from_histfig_hf_link_deityst(p_address, p_node_parent); break; - case DF_Type::histfig_hf_link_loverst: node_from_histfig_hf_link_loverst(p_address, p_node_parent); break; - case DF_Type::histfig_hf_link_prisonerst: node_from_histfig_hf_link_prisonerst(p_address, p_node_parent); break; - case DF_Type::histfig_hf_link_imprisonerst: node_from_histfig_hf_link_imprisonerst(p_address, p_node_parent); break; - case DF_Type::histfig_hf_link_masterst: node_from_histfig_hf_link_masterst(p_address, p_node_parent); break; - case DF_Type::histfig_hf_link_apprenticest: node_from_histfig_hf_link_apprenticest(p_address, p_node_parent); break; - case DF_Type::histfig_hf_link_companionst: node_from_histfig_hf_link_companionst(p_address, p_node_parent); break; - case DF_Type::histfig_hf_link_former_apprenticest: node_from_histfig_hf_link_former_apprenticest(p_address, p_node_parent); break; - case DF_Type::histfig_hf_link_former_masterst: node_from_histfig_hf_link_former_masterst(p_address, p_node_parent); break; - case DF_Type::histfig_hf_link_pet_ownerst: node_from_histfig_hf_link_pet_ownerst(p_address, p_node_parent); break; - case DF_Type::resource_allotment_specifier: node_from_resource_allotment_specifier(p_address, p_node_parent); break; - case DF_Type::resource_allotment_specifier_cropst: node_from_resource_allotment_specifier_cropst(p_address, p_node_parent); break; - case DF_Type::resource_allotment_specifier_stonest: node_from_resource_allotment_specifier_stonest(p_address, p_node_parent); break; - case DF_Type::resource_allotment_specifier_metalst: node_from_resource_allotment_specifier_metalst(p_address, p_node_parent); break; - case DF_Type::resource_allotment_specifier_woodst: node_from_resource_allotment_specifier_woodst(p_address, p_node_parent); break; - case DF_Type::resource_allotment_specifier_armor_bodyst: node_from_resource_allotment_specifier_armor_bodyst(p_address, p_node_parent); break; - case DF_Type::resource_allotment_specifier_armor_pantsst: node_from_resource_allotment_specifier_armor_pantsst(p_address, p_node_parent); break; - case DF_Type::resource_allotment_specifier_armor_glovesst: node_from_resource_allotment_specifier_armor_glovesst(p_address, p_node_parent); break; - case DF_Type::resource_allotment_specifier_armor_bootsst: node_from_resource_allotment_specifier_armor_bootsst(p_address, p_node_parent); break; - case DF_Type::resource_allotment_specifier_armor_helmst: node_from_resource_allotment_specifier_armor_helmst(p_address, p_node_parent); break; - case DF_Type::resource_allotment_specifier_clothing_bodyst: node_from_resource_allotment_specifier_clothing_bodyst(p_address, p_node_parent); break; - case DF_Type::resource_allotment_specifier_clothing_pantsst: node_from_resource_allotment_specifier_clothing_pantsst(p_address, p_node_parent); break; - case DF_Type::resource_allotment_specifier_clothing_glovesst: node_from_resource_allotment_specifier_clothing_glovesst(p_address, p_node_parent); break; - case DF_Type::resource_allotment_specifier_clothing_bootsst: node_from_resource_allotment_specifier_clothing_bootsst(p_address, p_node_parent); break; - case DF_Type::resource_allotment_specifier_clothing_helmst: node_from_resource_allotment_specifier_clothing_helmst(p_address, p_node_parent); break; - case DF_Type::resource_allotment_specifier_weapon_meleest: node_from_resource_allotment_specifier_weapon_meleest(p_address, p_node_parent); break; - case DF_Type::resource_allotment_specifier_weapon_rangedst: node_from_resource_allotment_specifier_weapon_rangedst(p_address, p_node_parent); break; - case DF_Type::resource_allotment_specifier_ammost: node_from_resource_allotment_specifier_ammost(p_address, p_node_parent); break; - case DF_Type::resource_allotment_specifier_anvilst: node_from_resource_allotment_specifier_anvilst(p_address, p_node_parent); break; - case DF_Type::resource_allotment_specifier_gemsst: node_from_resource_allotment_specifier_gemsst(p_address, p_node_parent); break; - case DF_Type::resource_allotment_specifier_threadst: node_from_resource_allotment_specifier_threadst(p_address, p_node_parent); break; - case DF_Type::resource_allotment_specifier_clothst: node_from_resource_allotment_specifier_clothst(p_address, p_node_parent); break; - case DF_Type::resource_allotment_specifier_leatherst: node_from_resource_allotment_specifier_leatherst(p_address, p_node_parent); break; - case DF_Type::resource_allotment_specifier_quiverst: node_from_resource_allotment_specifier_quiverst(p_address, p_node_parent); break; - case DF_Type::resource_allotment_specifier_backpackst: node_from_resource_allotment_specifier_backpackst(p_address, p_node_parent); break; - case DF_Type::resource_allotment_specifier_flaskst: node_from_resource_allotment_specifier_flaskst(p_address, p_node_parent); break; - case DF_Type::resource_allotment_specifier_bagst: node_from_resource_allotment_specifier_bagst(p_address, p_node_parent); break; - case DF_Type::resource_allotment_specifier_tablest: node_from_resource_allotment_specifier_tablest(p_address, p_node_parent); break; - case DF_Type::resource_allotment_specifier_cabinetst: node_from_resource_allotment_specifier_cabinetst(p_address, p_node_parent); break; - case DF_Type::resource_allotment_specifier_chairst: node_from_resource_allotment_specifier_chairst(p_address, p_node_parent); break; - case DF_Type::resource_allotment_specifier_boxst: node_from_resource_allotment_specifier_boxst(p_address, p_node_parent); break; - case DF_Type::resource_allotment_specifier_bedst: node_from_resource_allotment_specifier_bedst(p_address, p_node_parent); break; - case DF_Type::resource_allotment_specifier_craftsst: node_from_resource_allotment_specifier_craftsst(p_address, p_node_parent); break; - case DF_Type::resource_allotment_specifier_meatst: node_from_resource_allotment_specifier_meatst(p_address, p_node_parent); break; - case DF_Type::resource_allotment_specifier_bonest: node_from_resource_allotment_specifier_bonest(p_address, p_node_parent); break; - case DF_Type::resource_allotment_specifier_hornst: node_from_resource_allotment_specifier_hornst(p_address, p_node_parent); break; - case DF_Type::resource_allotment_specifier_shellst: node_from_resource_allotment_specifier_shellst(p_address, p_node_parent); break; - case DF_Type::resource_allotment_specifier_tallowst: node_from_resource_allotment_specifier_tallowst(p_address, p_node_parent); break; - case DF_Type::resource_allotment_specifier_toothst: node_from_resource_allotment_specifier_toothst(p_address, p_node_parent); break; - case DF_Type::resource_allotment_specifier_pearlst: node_from_resource_allotment_specifier_pearlst(p_address, p_node_parent); break; - case DF_Type::resource_allotment_specifier_soapst: node_from_resource_allotment_specifier_soapst(p_address, p_node_parent); break; - case DF_Type::resource_allotment_specifier_extractst: node_from_resource_allotment_specifier_extractst(p_address, p_node_parent); break; - case DF_Type::resource_allotment_specifier_cheesest: node_from_resource_allotment_specifier_cheesest(p_address, p_node_parent); break; - case DF_Type::resource_allotment_specifier_skinst: node_from_resource_allotment_specifier_skinst(p_address, p_node_parent); break; - case DF_Type::resource_allotment_specifier_powderst: node_from_resource_allotment_specifier_powderst(p_address, p_node_parent); break; - case DF_Type::route_stockpile_link: node_from_route_stockpile_link(p_address, p_node_parent); break; - case DF_Type::build_req_choicest: node_from_build_req_choicest(p_address, p_node_parent); break; - case DF_Type::burrow: node_from_burrow(p_address, p_node_parent); break; - case DF_Type::ui_hotkey___union4: node_from_ui_hotkey___union4(p_address, p_node_parent); break; - case DF_Type::ui_hotkey: node_from_ui_hotkey(p_address, p_node_parent); break; - case DF_Type::map_viewport: node_from_map_viewport(p_address, p_node_parent); break; - case DF_Type::unit_genes: node_from_unit_genes(p_address, p_node_parent); break; - case DF_Type::unit_attribute: node_from_unit_attribute(p_address, p_node_parent); break; - case DF_Type::curse_attr_change: node_from_curse_attr_change(p_address, p_node_parent); break; - case DF_Type::unit_item_wrestle: node_from_unit_item_wrestle(p_address, p_node_parent); break; - case DF_Type::unit_item_use: node_from_unit_item_use(p_address, p_node_parent); break; - case DF_Type::unit_unk_138: node_from_unit_unk_138(p_address, p_node_parent); break; - case DF_Type::unit_coin_debt: node_from_unit_coin_debt(p_address, p_node_parent); break; - case DF_Type::file_compressorst: node_from_file_compressorst(p_address, p_node_parent); break; - case DF_Type::layer_object: node_from_layer_object(p_address, p_node_parent); break; - case DF_Type::layer_object_buttonst: node_from_layer_object_buttonst(p_address, p_node_parent); break; - case DF_Type::widget_menu: node_from_widget_menu(p_address, p_node_parent); break; - case DF_Type::widget_textbox: node_from_widget_textbox(p_address, p_node_parent); break; - case DF_Type::adventure_log_item: node_from_adventure_log_item(p_address, p_node_parent); break; - case DF_Type::world_gen_param_basest: node_from_world_gen_param_basest(p_address, p_node_parent); break; - case DF_Type::world_gen_param_seedst: node_from_world_gen_param_seedst(p_address, p_node_parent); break; - case DF_Type::world_gen_param_valuest: node_from_world_gen_param_valuest(p_address, p_node_parent); break; - case DF_Type::world_gen_param_charst: node_from_world_gen_param_charst(p_address, p_node_parent); break; - case DF_Type::world_gen_param_memberst: node_from_world_gen_param_memberst(p_address, p_node_parent); break; - case DF_Type::matgloss_list: node_from_matgloss_list(p_address, p_node_parent); break; - case DF_Type::world_population_ref: node_from_world_population_ref(p_address, p_node_parent); break; - case DF_Type::scribejob: node_from_scribejob(p_address, p_node_parent); break; - case DF_Type::site_reputation_report: node_from_site_reputation_report(p_address, p_node_parent); break; - case DF_Type::abstract_building_contents: node_from_abstract_building_contents(p_address, p_node_parent); break; - case DF_Type::world_site_inhabitant: node_from_world_site_inhabitant(p_address, p_node_parent); break; - case DF_Type::site_realization_building_infost: node_from_site_realization_building_infost(p_address, p_node_parent); break; - case DF_Type::site_realization_building_info_castle_courtyardst: node_from_site_realization_building_info_castle_courtyardst(p_address, p_node_parent); break; - case DF_Type::creation_zone_pwg_alterationst: node_from_creation_zone_pwg_alterationst(p_address, p_node_parent); break; - case DF_Type::creation_zone_pwg_alteration_campst: node_from_creation_zone_pwg_alteration_campst(p_address, p_node_parent); break; - case DF_Type::creation_zone_pwg_alteration_srb_ruinedst: node_from_creation_zone_pwg_alteration_srb_ruinedst(p_address, p_node_parent); break; - case DF_Type::creation_zone_pwg_alteration_srp_ruinedst: node_from_creation_zone_pwg_alteration_srp_ruinedst(p_address, p_node_parent); break; - case DF_Type::incident_hfid: node_from_incident_hfid(p_address, p_node_parent); break; - case DF_Type::mission_campaign_report: node_from_mission_campaign_report(p_address, p_node_parent); break; - case DF_Type::coord_rect: node_from_coord_rect(p_address, p_node_parent); break; - case DF_Type::world_unk_a8: node_from_world_unk_a8(p_address, p_node_parent); break; - case DF_Type::world_unk_b4: node_from_world_unk_b4(p_address, p_node_parent); break; - case DF_Type::ocean_wave: node_from_ocean_wave(p_address, p_node_parent); break; - case DF_Type::coin_batch__T_image_front: node_from_coin_batch__T_image_front(p_address, p_node_parent); break; - case DF_Type::coin_batch__T_image_back: node_from_coin_batch__T_image_back(p_address, p_node_parent); break; - case DF_Type::coin_batch: node_from_coin_batch(p_address, p_node_parent); break; - case DF_Type::conversation__T_speech: node_from_conversation__T_speech(p_address, p_node_parent); break; - case DF_Type::conversation: node_from_conversation(p_address, p_node_parent); break; - case DF_Type::talk_choice__T_unk: node_from_talk_choice__T_unk(p_address, p_node_parent); break; - case DF_Type::talk_choice: node_from_talk_choice(p_address, p_node_parent); break; - case DF_Type::adventure_option_eat_item_contaminantst: node_from_adventure_option_eat_item_contaminantst(p_address, p_node_parent); break; - case DF_Type::adventure_environment_optionst: node_from_adventure_environment_optionst(p_address, p_node_parent); break; - case DF_Type::adventure_environment_place_in_it_containerst: node_from_adventure_environment_place_in_it_containerst(p_address, p_node_parent); break; - case DF_Type::adventure_environment_ingest_from_containerst: node_from_adventure_environment_ingest_from_containerst(p_address, p_node_parent); break; - case DF_Type::adventure_environment_pickup_ignite_vegst: node_from_adventure_environment_pickup_ignite_vegst(p_address, p_node_parent); break; - case DF_Type::adventure_environment_ingest_materialst: node_from_adventure_environment_ingest_materialst(p_address, p_node_parent); break; - case DF_Type::adventure_environment_pickup_make_campfirest: node_from_adventure_environment_pickup_make_campfirest(p_address, p_node_parent); break; - case DF_Type::adventure_environment_place_in_bld_containerst: node_from_adventure_environment_place_in_bld_containerst(p_address, p_node_parent); break; - case DF_Type::adventure_environment_pickup_vermin_eventst: node_from_adventure_environment_pickup_vermin_eventst(p_address, p_node_parent); break; - case DF_Type::adventure_environment_pickup_chop_treest: node_from_adventure_environment_pickup_chop_treest(p_address, p_node_parent); break; - case DF_Type::adventure_environment_unit_suck_bloodst: node_from_adventure_environment_unit_suck_bloodst(p_address, p_node_parent); break; - case DF_Type::adventure_movement_optionst: node_from_adventure_movement_optionst(p_address, p_node_parent); break; - case DF_Type::adventure_movement_release_hold_itemst: node_from_adventure_movement_release_hold_itemst(p_address, p_node_parent); break; - case DF_Type::adventure_movement_release_hold_tilest: node_from_adventure_movement_release_hold_tilest(p_address, p_node_parent); break; - case DF_Type::adventure_movement_attack_creaturest: node_from_adventure_movement_attack_creaturest(p_address, p_node_parent); break; - case DF_Type::adventure_movement_hold_tilest: node_from_adventure_movement_hold_tilest(p_address, p_node_parent); break; - case DF_Type::adventure_movement_movest: node_from_adventure_movement_movest(p_address, p_node_parent); break; - case DF_Type::adventure_movement_climbst: node_from_adventure_movement_climbst(p_address, p_node_parent); break; - case DF_Type::adventure_movement_hold_itemst: node_from_adventure_movement_hold_itemst(p_address, p_node_parent); break; - case DF_Type::adventure_movement_building_interactst: node_from_adventure_movement_building_interactst(p_address, p_node_parent); break; - case DF_Type::adventure_movement_item_interactst: node_from_adventure_movement_item_interactst(p_address, p_node_parent); break; - case DF_Type::adventure_movement_item_interact_guidest: node_from_adventure_movement_item_interact_guidest(p_address, p_node_parent); break; - case DF_Type::adventure_movement_item_interact_ridest: node_from_adventure_movement_item_interact_ridest(p_address, p_node_parent); break; - case DF_Type::adventure_movement_item_interact_pushst: node_from_adventure_movement_item_interact_pushst(p_address, p_node_parent); break; - case DF_Type::adventure_item_interact_heat_from_tilest: node_from_adventure_item_interact_heat_from_tilest(p_address, p_node_parent); break; - case DF_Type::adventure_item_interact_fill_from_containerst: node_from_adventure_item_interact_fill_from_containerst(p_address, p_node_parent); break; - case DF_Type::adventure_item_interact_fill_with_materialst: node_from_adventure_item_interact_fill_with_materialst(p_address, p_node_parent); break; - case DF_Type::adventure_item_interact_give_namest: node_from_adventure_item_interact_give_namest(p_address, p_node_parent); break; - case DF_Type::announcements: node_from_announcements(p_address, p_node_parent); break; - case DF_Type::report: node_from_report(p_address, p_node_parent); break; - case DF_Type::art_image_element_itemst: node_from_art_image_element_itemst(p_address, p_node_parent); break; - case DF_Type::art_image_property_transitive_verbst: node_from_art_image_property_transitive_verbst(p_address, p_node_parent); break; - case DF_Type::art_image_property_intransitive_verbst: node_from_art_image_property_intransitive_verbst(p_address, p_node_parent); break; - case DF_Type::art_image_chunk: node_from_art_image_chunk(p_address, p_node_parent); break; - case DF_Type::poetic_form_part__T_line_subject_targets: node_from_poetic_form_part__T_line_subject_targets(p_address, p_node_parent); break; - case DF_Type::poetic_form_part: node_from_poetic_form_part(p_address, p_node_parent); break; - case DF_Type::musical_form_vocals: node_from_musical_form_vocals(p_address, p_node_parent); break; - case DF_Type::musical_form_instruments: node_from_musical_form_instruments(p_address, p_node_parent); break; - case DF_Type::musical_form_melodies: node_from_musical_form_melodies(p_address, p_node_parent); break; - case DF_Type::scale__T_unk1: node_from_scale__T_unk1(p_address, p_node_parent); break; - case DF_Type::scale: node_from_scale(p_address, p_node_parent); break; - case DF_Type::rhythm: node_from_rhythm(p_address, p_node_parent); break; - case DF_Type::rhythm_sub1__T_anon_1: node_from_rhythm_sub1__T_anon_1(p_address, p_node_parent); break; - case DF_Type::rhythm_sub1: node_from_rhythm_sub1(p_address, p_node_parent); break; - case DF_Type::occupation: node_from_occupation(p_address, p_node_parent); break; - case DF_Type::building_def: node_from_building_def(p_address, p_node_parent); break; - case DF_Type::building_def_item: node_from_building_def_item(p_address, p_node_parent); break; - case DF_Type::building_def_workshopst: node_from_building_def_workshopst(p_address, p_node_parent); break; - case DF_Type::building_def_furnacest: node_from_building_def_furnacest(p_address, p_node_parent); break; - case DF_Type::building__T_job_claim_suppress: node_from_building__T_job_claim_suppress(p_address, p_node_parent); break; - case DF_Type::building__T_activities: node_from_building__T_activities(p_address, p_node_parent); break; - case DF_Type::building: node_from_building(p_address, p_node_parent); break; - case DF_Type::stockpile_links: node_from_stockpile_links(p_address, p_node_parent); break; - case DF_Type::building_civzonest: node_from_building_civzonest(p_address, p_node_parent); break; - case DF_Type::building_actual__T_contained_items: node_from_building_actual__T_contained_items(p_address, p_node_parent); break; - case DF_Type::building_actual: node_from_building_actual(p_address, p_node_parent); break; - case DF_Type::building_design: node_from_building_design(p_address, p_node_parent); break; - case DF_Type::workshop_profile: node_from_workshop_profile(p_address, p_node_parent); break; - case DF_Type::building_furnacest: node_from_building_furnacest(p_address, p_node_parent); break; - case DF_Type::building_workshopst: node_from_building_workshopst(p_address, p_node_parent); break; - case DF_Type::building_animaltrapst: node_from_building_animaltrapst(p_address, p_node_parent); break; - case DF_Type::building_archerytargetst: node_from_building_archerytargetst(p_address, p_node_parent); break; - case DF_Type::building_armorstandst: node_from_building_armorstandst(p_address, p_node_parent); break; - case DF_Type::building_bars_verticalst: node_from_building_bars_verticalst(p_address, p_node_parent); break; - case DF_Type::building_bars_floorst: node_from_building_bars_floorst(p_address, p_node_parent); break; - case DF_Type::building_bedst: node_from_building_bedst(p_address, p_node_parent); break; - case DF_Type::building_bookcasest: node_from_building_bookcasest(p_address, p_node_parent); break; - case DF_Type::building_boxst: node_from_building_boxst(p_address, p_node_parent); break; - case DF_Type::building_bridgest: node_from_building_bridgest(p_address, p_node_parent); break; - case DF_Type::building_cabinetst: node_from_building_cabinetst(p_address, p_node_parent); break; - case DF_Type::building_cagest: node_from_building_cagest(p_address, p_node_parent); break; - case DF_Type::building_chainst: node_from_building_chainst(p_address, p_node_parent); break; - case DF_Type::building_chairst: node_from_building_chairst(p_address, p_node_parent); break; - case DF_Type::building_coffinst: node_from_building_coffinst(p_address, p_node_parent); break; - case DF_Type::building_constructionst: node_from_building_constructionst(p_address, p_node_parent); break; - case DF_Type::building_display_furniturest: node_from_building_display_furniturest(p_address, p_node_parent); break; - case DF_Type::building_doorst: node_from_building_doorst(p_address, p_node_parent); break; - case DF_Type::building_farmplotst: node_from_building_farmplotst(p_address, p_node_parent); break; - case DF_Type::building_floodgatest: node_from_building_floodgatest(p_address, p_node_parent); break; - case DF_Type::building_grate_floorst: node_from_building_grate_floorst(p_address, p_node_parent); break; - case DF_Type::building_grate_wallst: node_from_building_grate_wallst(p_address, p_node_parent); break; - case DF_Type::building_hatchst: node_from_building_hatchst(p_address, p_node_parent); break; - case DF_Type::building_hivest: node_from_building_hivest(p_address, p_node_parent); break; - case DF_Type::building_instrumentst: node_from_building_instrumentst(p_address, p_node_parent); break; - case DF_Type::building_nestst: node_from_building_nestst(p_address, p_node_parent); break; - case DF_Type::building_nest_boxst: node_from_building_nest_boxst(p_address, p_node_parent); break; - case DF_Type::building_roadst: node_from_building_roadst(p_address, p_node_parent); break; - case DF_Type::building_road_dirtst: node_from_building_road_dirtst(p_address, p_node_parent); break; - case DF_Type::building_road_pavedst: node_from_building_road_pavedst(p_address, p_node_parent); break; - case DF_Type::building_shopst: node_from_building_shopst(p_address, p_node_parent); break; - case DF_Type::building_siegeenginest: node_from_building_siegeenginest(p_address, p_node_parent); break; - case DF_Type::building_slabst: node_from_building_slabst(p_address, p_node_parent); break; - case DF_Type::building_statuest: node_from_building_statuest(p_address, p_node_parent); break; - case DF_Type::building_supportst: node_from_building_supportst(p_address, p_node_parent); break; - case DF_Type::building_tablest: node_from_building_tablest(p_address, p_node_parent); break; - case DF_Type::building_traction_benchst: node_from_building_traction_benchst(p_address, p_node_parent); break; - case DF_Type::building_tradedepotst: node_from_building_tradedepotst(p_address, p_node_parent); break; - case DF_Type::building_trapst: node_from_building_trapst(p_address, p_node_parent); break; - case DF_Type::building_wagonst: node_from_building_wagonst(p_address, p_node_parent); break; - case DF_Type::building_weaponst: node_from_building_weaponst(p_address, p_node_parent); break; - case DF_Type::building_squad_use: node_from_building_squad_use(p_address, p_node_parent); break; - case DF_Type::building_weaponrackst: node_from_building_weaponrackst(p_address, p_node_parent); break; - case DF_Type::building_wellst: node_from_building_wellst(p_address, p_node_parent); break; - case DF_Type::building_windowst: node_from_building_windowst(p_address, p_node_parent); break; - case DF_Type::building_window_glassst: node_from_building_window_glassst(p_address, p_node_parent); break; - case DF_Type::building_window_gemst: node_from_building_window_gemst(p_address, p_node_parent); break; - case DF_Type::body_part_raw: node_from_body_part_raw(p_address, p_node_parent); break; - case DF_Type::body_appearance_modifier: node_from_body_appearance_modifier(p_address, p_node_parent); break; - case DF_Type::bp_appearance_modifier: node_from_bp_appearance_modifier(p_address, p_node_parent); break; - case DF_Type::caste_clothing_item: node_from_caste_clothing_item(p_address, p_node_parent); break; - case DF_Type::caste_attack: node_from_caste_attack(p_address, p_node_parent); break; - case DF_Type::creature_interaction: node_from_creature_interaction(p_address, p_node_parent); break; - case DF_Type::caste_body_info__T_interactions: node_from_caste_body_info__T_interactions(p_address, p_node_parent); break; - case DF_Type::caste_body_info__T_extra_butcher_objects: node_from_caste_body_info__T_extra_butcher_objects(p_address, p_node_parent); break; - case DF_Type::caste_body_info: node_from_caste_body_info(p_address, p_node_parent); break; - case DF_Type::caste_raw__T_misc: node_from_caste_raw__T_misc(p_address, p_node_parent); break; - case DF_Type::caste_raw__T_personality: node_from_caste_raw__T_personality(p_address, p_node_parent); break; - case DF_Type::caste_raw__T_attributes: node_from_caste_raw__T_attributes(p_address, p_node_parent); break; - case DF_Type::caste_raw__T_bp_appearance: node_from_caste_raw__T_bp_appearance(p_address, p_node_parent); break; - case DF_Type::caste_raw__T_shearable_tissue_layer: node_from_caste_raw__T_shearable_tissue_layer(p_address, p_node_parent); break; - case DF_Type::caste_raw__T_caste_profession_name: node_from_caste_raw__T_caste_profession_name(p_address, p_node_parent); break; - case DF_Type::caste_raw__T_extracts: node_from_caste_raw__T_extracts(p_address, p_node_parent); break; - case DF_Type::caste_raw__T_secretion: node_from_caste_raw__T_secretion(p_address, p_node_parent); break; - case DF_Type::caste_raw__T_unknown2: node_from_caste_raw__T_unknown2(p_address, p_node_parent); break; - case DF_Type::caste_raw: node_from_caste_raw(p_address, p_node_parent); break; - case DF_Type::tissue_style_raw: node_from_tissue_style_raw(p_address, p_node_parent); break; - case DF_Type::creature_raw__T_graphics: node_from_creature_raw__T_graphics(p_address, p_node_parent); break; - case DF_Type::creature_raw__T_profession_name: node_from_creature_raw__T_profession_name(p_address, p_node_parent); break; - case DF_Type::creature_raw__T_hive_product: node_from_creature_raw__T_hive_product(p_address, p_node_parent); break; - case DF_Type::creature_raw: node_from_creature_raw(p_address, p_node_parent); break; - case DF_Type::creature_variation: node_from_creature_variation(p_address, p_node_parent); break; - case DF_Type::body_part_template: node_from_body_part_template(p_address, p_node_parent); break; - case DF_Type::body_template: node_from_body_template(p_address, p_node_parent); break; - case DF_Type::tissue_template: node_from_tissue_template(p_address, p_node_parent); break; - case DF_Type::tissue: node_from_tissue(p_address, p_node_parent); break; - case DF_Type::d_init__T_wound_color: node_from_d_init__T_wound_color(p_address, p_node_parent); break; - case DF_Type::d_init__T_store_dist: node_from_d_init__T_store_dist(p_address, p_node_parent); break; - case DF_Type::d_init: node_from_d_init(p_address, p_node_parent); break; - case DF_Type::descriptor_pattern: node_from_descriptor_pattern(p_address, p_node_parent); break; - case DF_Type::entity_occasion_info: node_from_entity_occasion_info(p_address, p_node_parent); break; - case DF_Type::entity_occasion_schedule: node_from_entity_occasion_schedule(p_address, p_node_parent); break; - case DF_Type::entity_occasion_schedule_feature: node_from_entity_occasion_schedule_feature(p_address, p_node_parent); break; - case DF_Type::caravan_state: node_from_caravan_state(p_address, p_node_parent); break; - case DF_Type::entity_buy_prices: node_from_entity_buy_prices(p_address, p_node_parent); break; - case DF_Type::entity_buy_requests: node_from_entity_buy_requests(p_address, p_node_parent); break; - case DF_Type::entity_sell_prices: node_from_entity_sell_prices(p_address, p_node_parent); break; - case DF_Type::entity_recipe: node_from_entity_recipe(p_address, p_node_parent); break; - case DF_Type::entity_uniform_item: node_from_entity_uniform_item(p_address, p_node_parent); break; - case DF_Type::entity_uniform: node_from_entity_uniform(p_address, p_node_parent); break; - case DF_Type::entity_event__T_data__T_invasion: node_from_entity_event__T_data__T_invasion(p_address, p_node_parent); break; - case DF_Type::entity_event__T_data__T_abduction: node_from_entity_event__T_data__T_abduction(p_address, p_node_parent); break; - case DF_Type::entity_event__T_data__T_incident: node_from_entity_event__T_data__T_incident(p_address, p_node_parent); break; - case DF_Type::entity_event__T_data__T_occupation: node_from_entity_event__T_data__T_occupation(p_address, p_node_parent); break; - case DF_Type::entity_event__T_data__T_beast: node_from_entity_event__T_data__T_beast(p_address, p_node_parent); break; - case DF_Type::entity_event__T_data__T_group: node_from_entity_event__T_data__T_group(p_address, p_node_parent); break; - case DF_Type::entity_event__T_data__T_harass: node_from_entity_event__T_data__T_harass(p_address, p_node_parent); break; - case DF_Type::entity_event__T_data__T_flee: node_from_entity_event__T_data__T_flee(p_address, p_node_parent); break; - case DF_Type::entity_event__T_data__T_abandon: node_from_entity_event__T_data__T_abandon(p_address, p_node_parent); break; - case DF_Type::entity_event__T_data__T_reclaimed: node_from_entity_event__T_data__T_reclaimed(p_address, p_node_parent); break; - case DF_Type::entity_event__T_data__T_founded: node_from_entity_event__T_data__T_founded(p_address, p_node_parent); break; - case DF_Type::entity_event__T_data__T_reclaiming: node_from_entity_event__T_data__T_reclaiming(p_address, p_node_parent); break; - case DF_Type::entity_event__T_data__T_founding: node_from_entity_event__T_data__T_founding(p_address, p_node_parent); break; - case DF_Type::entity_event__T_data__T_leave: node_from_entity_event__T_data__T_leave(p_address, p_node_parent); break; - case DF_Type::entity_event__T_data__T_insurrection: node_from_entity_event__T_data__T_insurrection(p_address, p_node_parent); break; - case DF_Type::entity_event__T_data__T_insurrection_end: node_from_entity_event__T_data__T_insurrection_end(p_address, p_node_parent); break; - case DF_Type::entity_event__T_data__T_succession: node_from_entity_event__T_data__T_succession(p_address, p_node_parent); break; - case DF_Type::entity_event__T_data__T_claim: node_from_entity_event__T_data__T_claim(p_address, p_node_parent); break; - case DF_Type::entity_event__T_data__T_accept_tribute_offer: node_from_entity_event__T_data__T_accept_tribute_offer(p_address, p_node_parent); break; - case DF_Type::entity_event__T_data__T_refuse_tribute_offer: node_from_entity_event__T_data__T_refuse_tribute_offer(p_address, p_node_parent); break; - case DF_Type::entity_event__T_data__T_accept_tribute_demand: node_from_entity_event__T_data__T_accept_tribute_demand(p_address, p_node_parent); break; - case DF_Type::entity_event__T_data__T_refuse_tribute_demand: node_from_entity_event__T_data__T_refuse_tribute_demand(p_address, p_node_parent); break; - case DF_Type::entity_event__T_data__T_accept_peace_offer: node_from_entity_event__T_data__T_accept_peace_offer(p_address, p_node_parent); break; - case DF_Type::entity_event__T_data__T_refuse_peace_offer: node_from_entity_event__T_data__T_refuse_peace_offer(p_address, p_node_parent); break; - case DF_Type::entity_event__T_data__T_cease_tribute_offer: node_from_entity_event__T_data__T_cease_tribute_offer(p_address, p_node_parent); break; - case DF_Type::entity_event__T_data__T_artifact_in_site: node_from_entity_event__T_data__T_artifact_in_site(p_address, p_node_parent); break; - case DF_Type::entity_event__T_data__T_artifact_in_subregion: node_from_entity_event__T_data__T_artifact_in_subregion(p_address, p_node_parent); break; - case DF_Type::entity_event__T_data__T_artifact_in_feature_layer: node_from_entity_event__T_data__T_artifact_in_feature_layer(p_address, p_node_parent); break; - case DF_Type::entity_event__T_data__T_artifact_in_inventory: node_from_entity_event__T_data__T_artifact_in_inventory(p_address, p_node_parent); break; - case DF_Type::entity_event__T_data__T_artifact_not_in_site: node_from_entity_event__T_data__T_artifact_not_in_site(p_address, p_node_parent); break; - case DF_Type::entity_event__T_data__T_artifact_not_in_subregion: node_from_entity_event__T_data__T_artifact_not_in_subregion(p_address, p_node_parent); break; - case DF_Type::entity_event__T_data__T_artifact_not_in_feature_layer: node_from_entity_event__T_data__T_artifact_not_in_feature_layer(p_address, p_node_parent); break; - case DF_Type::entity_event__T_data__T_artifact_not_in_inventory: node_from_entity_event__T_data__T_artifact_not_in_inventory(p_address, p_node_parent); break; - case DF_Type::entity_event__T_data__T_artifact_destroyed: node_from_entity_event__T_data__T_artifact_destroyed(p_address, p_node_parent); break; - case DF_Type::entity_event__T_data: node_from_entity_event__T_data(p_address, p_node_parent); break; - case DF_Type::entity_event: node_from_entity_event(p_address, p_node_parent); break; - case DF_Type::agreement__T_parties__T_anon_1: node_from_agreement__T_parties__T_anon_1(p_address, p_node_parent); break; - case DF_Type::agreement__T_parties: node_from_agreement__T_parties(p_address, p_node_parent); break; - case DF_Type::agreement__T_details__T_data__T_data0: node_from_agreement__T_details__T_data__T_data0(p_address, p_node_parent); break; - case DF_Type::agreement__T_details__T_data__T_data1: node_from_agreement__T_details__T_data__T_data1(p_address, p_node_parent); break; - case DF_Type::agreement__T_details__T_data: node_from_agreement__T_details__T_data(p_address, p_node_parent); break; - case DF_Type::agreement__T_details: node_from_agreement__T_details(p_address, p_node_parent); break; - case DF_Type::agreement: node_from_agreement(p_address, p_node_parent); break; - case DF_Type::entity_position_raw: node_from_entity_position_raw(p_address, p_node_parent); break; - case DF_Type::graphic: node_from_graphic(p_address, p_node_parent); break; - case DF_Type::historical_kills: node_from_historical_kills(p_address, p_node_parent); break; - case DF_Type::history_hit_item: node_from_history_hit_item(p_address, p_node_parent); break; - case DF_Type::history_event_hist_figure_diedst: node_from_history_event_hist_figure_diedst(p_address, p_node_parent); break; - case DF_Type::history_event_add_hf_entity_linkst: node_from_history_event_add_hf_entity_linkst(p_address, p_node_parent); break; - case DF_Type::history_event_remove_hf_entity_linkst: node_from_history_event_remove_hf_entity_linkst(p_address, p_node_parent); break; - case DF_Type::history_event_topicagreement_concludedst: node_from_history_event_topicagreement_concludedst(p_address, p_node_parent); break; - case DF_Type::history_event_topicagreement_rejectedst: node_from_history_event_topicagreement_rejectedst(p_address, p_node_parent); break; - case DF_Type::history_event_topicagreement_madest: node_from_history_event_topicagreement_madest(p_address, p_node_parent); break; - case DF_Type::history_event_war_peace_acceptedst: node_from_history_event_war_peace_acceptedst(p_address, p_node_parent); break; - case DF_Type::history_event_war_peace_rejectedst: node_from_history_event_war_peace_rejectedst(p_address, p_node_parent); break; - case DF_Type::history_event_artifact_possessedst: node_from_history_event_artifact_possessedst(p_address, p_node_parent); break; - case DF_Type::history_event_entity_actionst: node_from_history_event_entity_actionst(p_address, p_node_parent); break; - case DF_Type::history_event_add_hf_site_linkst: node_from_history_event_add_hf_site_linkst(p_address, p_node_parent); break; - case DF_Type::history_event_remove_hf_site_linkst: node_from_history_event_remove_hf_site_linkst(p_address, p_node_parent); break; - case DF_Type::history_event_add_hf_hf_linkst: node_from_history_event_add_hf_hf_linkst(p_address, p_node_parent); break; - case DF_Type::history_event_remove_hf_hf_linkst: node_from_history_event_remove_hf_hf_linkst(p_address, p_node_parent); break; - case DF_Type::history_event_masterpiece_created_itemst: node_from_history_event_masterpiece_created_itemst(p_address, p_node_parent); break; - case DF_Type::history_event_masterpiece_created_dye_itemst: node_from_history_event_masterpiece_created_dye_itemst(p_address, p_node_parent); break; - case DF_Type::history_event_masterpiece_created_item_improvementst: node_from_history_event_masterpiece_created_item_improvementst(p_address, p_node_parent); break; - case DF_Type::history_event_masterpiece_created_engravingst: node_from_history_event_masterpiece_created_engravingst(p_address, p_node_parent); break; - case DF_Type::history_event_masterpiece_lostst: node_from_history_event_masterpiece_lostst(p_address, p_node_parent); break; - case DF_Type::history_event_change_hf_statest: node_from_history_event_change_hf_statest(p_address, p_node_parent); break; - case DF_Type::history_event_change_hf_jobst: node_from_history_event_change_hf_jobst(p_address, p_node_parent); break; - case DF_Type::history_event_war_field_battlest: node_from_history_event_war_field_battlest(p_address, p_node_parent); break; - case DF_Type::history_event_body_abusedst__T_props__T_item: node_from_history_event_body_abusedst__T_props__T_item(p_address, p_node_parent); break; - case DF_Type::history_event_body_abusedst__T_props__T_hung: node_from_history_event_body_abusedst__T_props__T_hung(p_address, p_node_parent); break; - case DF_Type::history_event_body_abusedst__T_props: node_from_history_event_body_abusedst__T_props(p_address, p_node_parent); break; - case DF_Type::history_event_body_abusedst: node_from_history_event_body_abusedst(p_address, p_node_parent); break; - case DF_Type::history_event_item_stolenst: node_from_history_event_item_stolenst(p_address, p_node_parent); break; - case DF_Type::history_event_hist_figure_simple_battle_eventst: node_from_history_event_hist_figure_simple_battle_eventst(p_address, p_node_parent); break; - case DF_Type::history_event_hist_figure_reach_summitst: node_from_history_event_hist_figure_reach_summitst(p_address, p_node_parent); break; - case DF_Type::history_event_hist_figure_travelst: node_from_history_event_hist_figure_travelst(p_address, p_node_parent); break; - case DF_Type::history_event_hist_figure_new_petst: node_from_history_event_hist_figure_new_petst(p_address, p_node_parent); break; - case DF_Type::history_event_hist_figure_revivedst: node_from_history_event_hist_figure_revivedst(p_address, p_node_parent); break; - case DF_Type::history_event_change_hf_body_statest: node_from_history_event_change_hf_body_statest(p_address, p_node_parent); break; - case DF_Type::history_event_hf_confrontedst: node_from_history_event_hf_confrontedst(p_address, p_node_parent); break; - case DF_Type::history_event_hf_gains_secret_goalst: node_from_history_event_hf_gains_secret_goalst(p_address, p_node_parent); break; - case DF_Type::history_event_site_disputest: node_from_history_event_site_disputest(p_address, p_node_parent); break; - case DF_Type::history_event_agreement_concludedst: node_from_history_event_agreement_concludedst(p_address, p_node_parent); break; - case DF_Type::history_event_insurrection_endedst: node_from_history_event_insurrection_endedst(p_address, p_node_parent); break; - case DF_Type::history_event_hf_relationship_deniedst: node_from_history_event_hf_relationship_deniedst(p_address, p_node_parent); break; - case DF_Type::history_event_poetic_form_createdst: node_from_history_event_poetic_form_createdst(p_address, p_node_parent); break; - case DF_Type::history_event_musical_form_createdst: node_from_history_event_musical_form_createdst(p_address, p_node_parent); break; - case DF_Type::history_event_dance_form_createdst: node_from_history_event_dance_form_createdst(p_address, p_node_parent); break; - case DF_Type::history_event_written_content_composedst: node_from_history_event_written_content_composedst(p_address, p_node_parent); break; - case DF_Type::history_event_change_hf_moodst: node_from_history_event_change_hf_moodst(p_address, p_node_parent); break; - case DF_Type::history_event_artifact_claim_formedst: node_from_history_event_artifact_claim_formedst(p_address, p_node_parent); break; - case DF_Type::history_event_artifact_givenst: node_from_history_event_artifact_givenst(p_address, p_node_parent); break; - case DF_Type::history_event_hf_recruited_unit_type_for_entityst: node_from_history_event_hf_recruited_unit_type_for_entityst(p_address, p_node_parent); break; - case DF_Type::history_event_hfs_formed_reputation_relationshipst: node_from_history_event_hfs_formed_reputation_relationshipst(p_address, p_node_parent); break; - case DF_Type::history_event_tactical_situationst: node_from_history_event_tactical_situationst(p_address, p_node_parent); break; - case DF_Type::history_event_collection_duelst: node_from_history_event_collection_duelst(p_address, p_node_parent); break; - case DF_Type::history_event_collection_abductionst: node_from_history_event_collection_abductionst(p_address, p_node_parent); break; - case DF_Type::history_event_collection_theftst: node_from_history_event_collection_theftst(p_address, p_node_parent); break; - case DF_Type::history_event_collection_beast_attackst: node_from_history_event_collection_beast_attackst(p_address, p_node_parent); break; - case DF_Type::history_event_collection_raidst: node_from_history_event_collection_raidst(p_address, p_node_parent); break; - case DF_Type::history_era__T_title: node_from_history_era__T_title(p_address, p_node_parent); break; - case DF_Type::history_era__T_details: node_from_history_era__T_details(p_address, p_node_parent); break; - case DF_Type::history_era: node_from_history_era(p_address, p_node_parent); break; - case DF_Type::init_display: node_from_init_display(p_address, p_node_parent); break; - case DF_Type::init_font: node_from_init_font(p_address, p_node_parent); break; - case DF_Type::init: node_from_init(p_address, p_node_parent); break; - case DF_Type::texture_handler: node_from_texture_handler(p_address, p_node_parent); break; - case DF_Type::interaction: node_from_interaction(p_address, p_node_parent); break; - case DF_Type::interaction_effect: node_from_interaction_effect(p_address, p_node_parent); break; - case DF_Type::interaction_effect_animatest: node_from_interaction_effect_animatest(p_address, p_node_parent); break; - case DF_Type::interaction_effect_add_syndromest: node_from_interaction_effect_add_syndromest(p_address, p_node_parent); break; - case DF_Type::interaction_effect_resurrectst: node_from_interaction_effect_resurrectst(p_address, p_node_parent); break; - case DF_Type::interaction_effect_cleanst: node_from_interaction_effect_cleanst(p_address, p_node_parent); break; - case DF_Type::interaction_effect_contactst: node_from_interaction_effect_contactst(p_address, p_node_parent); break; - case DF_Type::interaction_effect_material_emissionst: node_from_interaction_effect_material_emissionst(p_address, p_node_parent); break; - case DF_Type::interaction_effect_hidest: node_from_interaction_effect_hidest(p_address, p_node_parent); break; - case DF_Type::interaction_source_secretst: node_from_interaction_source_secretst(p_address, p_node_parent); break; - case DF_Type::interaction_source_deityst: node_from_interaction_source_deityst(p_address, p_node_parent); break; - case DF_Type::interaction_target: node_from_interaction_target(p_address, p_node_parent); break; - case DF_Type::interaction_target_corpsest: node_from_interaction_target_corpsest(p_address, p_node_parent); break; - case DF_Type::interaction_target_creaturest: node_from_interaction_target_creaturest(p_address, p_node_parent); break; - case DF_Type::interaction_target_materialst: node_from_interaction_target_materialst(p_address, p_node_parent); break; - case DF_Type::interaction_target_locationst: node_from_interaction_target_locationst(p_address, p_node_parent); break; - case DF_Type::itemdef_ammost: node_from_itemdef_ammost(p_address, p_node_parent); break; - case DF_Type::itemdef_armorst: node_from_itemdef_armorst(p_address, p_node_parent); break; - case DF_Type::itemdef_glovesst: node_from_itemdef_glovesst(p_address, p_node_parent); break; - case DF_Type::itemdef_helmst: node_from_itemdef_helmst(p_address, p_node_parent); break; - case DF_Type::itemdef_instrumentst: node_from_itemdef_instrumentst(p_address, p_node_parent); break; - case DF_Type::instrument_register: node_from_instrument_register(p_address, p_node_parent); break; - case DF_Type::itemdef_pantsst: node_from_itemdef_pantsst(p_address, p_node_parent); break; - case DF_Type::itemdef_shoesst: node_from_itemdef_shoesst(p_address, p_node_parent); break; - case DF_Type::itemdef_toolst__T_default_improvements: node_from_itemdef_toolst__T_default_improvements(p_address, p_node_parent); break; - case DF_Type::itemdef_toolst: node_from_itemdef_toolst(p_address, p_node_parent); break; - case DF_Type::itemdef_trapcompst: node_from_itemdef_trapcompst(p_address, p_node_parent); break; - case DF_Type::itemdef_weaponst: node_from_itemdef_weaponst(p_address, p_node_parent); break; - case DF_Type::dye_info: node_from_dye_info(p_address, p_node_parent); break; - case DF_Type::itemimprovement: node_from_itemimprovement(p_address, p_node_parent); break; - case DF_Type::itemimprovement_art_imagest: node_from_itemimprovement_art_imagest(p_address, p_node_parent); break; - case DF_Type::itemimprovement_coveredst: node_from_itemimprovement_coveredst(p_address, p_node_parent); break; - case DF_Type::itemimprovement_rings_hangingst: node_from_itemimprovement_rings_hangingst(p_address, p_node_parent); break; - case DF_Type::itemimprovement_bandsst: node_from_itemimprovement_bandsst(p_address, p_node_parent); break; - case DF_Type::itemimprovement_spikesst: node_from_itemimprovement_spikesst(p_address, p_node_parent); break; - case DF_Type::itemimprovement_itemspecificst: node_from_itemimprovement_itemspecificst(p_address, p_node_parent); break; - case DF_Type::itemimprovement_threadst: node_from_itemimprovement_threadst(p_address, p_node_parent); break; - case DF_Type::itemimprovement_clothst: node_from_itemimprovement_clothst(p_address, p_node_parent); break; - case DF_Type::itemimprovement_sewn_imagest__T_cloth: node_from_itemimprovement_sewn_imagest__T_cloth(p_address, p_node_parent); break; - case DF_Type::itemimprovement_sewn_imagest: node_from_itemimprovement_sewn_imagest(p_address, p_node_parent); break; - case DF_Type::itemimprovement_pagesst: node_from_itemimprovement_pagesst(p_address, p_node_parent); break; - case DF_Type::itemimprovement_illustrationst: node_from_itemimprovement_illustrationst(p_address, p_node_parent); break; - case DF_Type::itemimprovement_instrument_piecest: node_from_itemimprovement_instrument_piecest(p_address, p_node_parent); break; - case DF_Type::itemimprovement_writingst: node_from_itemimprovement_writingst(p_address, p_node_parent); break; - case DF_Type::written_content: node_from_written_content(p_address, p_node_parent); break; - case DF_Type::engraving: node_from_engraving(p_address, p_node_parent); break; - case DF_Type::item_magicness: node_from_item_magicness(p_address, p_node_parent); break; - case DF_Type::spatter_common: node_from_spatter_common(p_address, p_node_parent); break; - case DF_Type::adventure_option_eat_unit_contaminantst: node_from_adventure_option_eat_unit_contaminantst(p_address, p_node_parent); break; - case DF_Type::adventure_option_view_contaminantst: node_from_adventure_option_view_contaminantst(p_address, p_node_parent); break; - case DF_Type::spatter: node_from_spatter(p_address, p_node_parent); break; - case DF_Type::item: node_from_item(p_address, p_node_parent); break; - case DF_Type::item_kill_info: node_from_item_kill_info(p_address, p_node_parent); break; - case DF_Type::item_history_info: node_from_item_history_info(p_address, p_node_parent); break; - case DF_Type::item_actual: node_from_item_actual(p_address, p_node_parent); break; - case DF_Type::item_crafted: node_from_item_crafted(p_address, p_node_parent); break; - case DF_Type::item_constructed: node_from_item_constructed(p_address, p_node_parent); break; - case DF_Type::body_component_info: node_from_body_component_info(p_address, p_node_parent); break; - case DF_Type::item_body_component__T_body: node_from_item_body_component__T_body(p_address, p_node_parent); break; - case DF_Type::item_body_component__T_appearance: node_from_item_body_component__T_appearance(p_address, p_node_parent); break; - case DF_Type::item_body_component__T_bone1: node_from_item_body_component__T_bone1(p_address, p_node_parent); break; - case DF_Type::item_body_component__T_bone2: node_from_item_body_component__T_bone2(p_address, p_node_parent); break; - case DF_Type::item_body_component: node_from_item_body_component(p_address, p_node_parent); break; - case DF_Type::item_corpsest: node_from_item_corpsest(p_address, p_node_parent); break; - case DF_Type::item_corpsepiecest: node_from_item_corpsepiecest(p_address, p_node_parent); break; - case DF_Type::item_liquipowder: node_from_item_liquipowder(p_address, p_node_parent); break; - case DF_Type::item_liquid: node_from_item_liquid(p_address, p_node_parent); break; - case DF_Type::item_powder: node_from_item_powder(p_address, p_node_parent); break; - case DF_Type::item_barst: node_from_item_barst(p_address, p_node_parent); break; - case DF_Type::item_smallgemst: node_from_item_smallgemst(p_address, p_node_parent); break; - case DF_Type::item_blocksst: node_from_item_blocksst(p_address, p_node_parent); break; - case DF_Type::item_roughst: node_from_item_roughst(p_address, p_node_parent); break; - case DF_Type::item_boulderst: node_from_item_boulderst(p_address, p_node_parent); break; - case DF_Type::item_woodst: node_from_item_woodst(p_address, p_node_parent); break; - case DF_Type::item_branchst: node_from_item_branchst(p_address, p_node_parent); break; - case DF_Type::item_rockst: node_from_item_rockst(p_address, p_node_parent); break; - case DF_Type::item_seedsst: node_from_item_seedsst(p_address, p_node_parent); break; - case DF_Type::item_skin_tannedst: node_from_item_skin_tannedst(p_address, p_node_parent); break; - case DF_Type::item_meatst: node_from_item_meatst(p_address, p_node_parent); break; - case DF_Type::item_plantst: node_from_item_plantst(p_address, p_node_parent); break; - case DF_Type::item_plant_growthst: node_from_item_plant_growthst(p_address, p_node_parent); break; - case DF_Type::item_cheesest: node_from_item_cheesest(p_address, p_node_parent); break; - case DF_Type::item_globst: node_from_item_globst(p_address, p_node_parent); break; - case DF_Type::item_remainsst: node_from_item_remainsst(p_address, p_node_parent); break; - case DF_Type::item_fishst: node_from_item_fishst(p_address, p_node_parent); break; - case DF_Type::item_fish_rawst: node_from_item_fish_rawst(p_address, p_node_parent); break; - case DF_Type::item_foodst__T_ingredients: node_from_item_foodst__T_ingredients(p_address, p_node_parent); break; - case DF_Type::item_foodst: node_from_item_foodst(p_address, p_node_parent); break; - case DF_Type::item_drinkst: node_from_item_drinkst(p_address, p_node_parent); break; - case DF_Type::item_powder_miscst: node_from_item_powder_miscst(p_address, p_node_parent); break; - case DF_Type::item_liquid_miscst: node_from_item_liquid_miscst(p_address, p_node_parent); break; - case DF_Type::item_threadst: node_from_item_threadst(p_address, p_node_parent); break; - case DF_Type::item_eggst: node_from_item_eggst(p_address, p_node_parent); break; - case DF_Type::item_doorst: node_from_item_doorst(p_address, p_node_parent); break; - case DF_Type::item_floodgatest: node_from_item_floodgatest(p_address, p_node_parent); break; - case DF_Type::item_bedst: node_from_item_bedst(p_address, p_node_parent); break; - case DF_Type::item_chairst: node_from_item_chairst(p_address, p_node_parent); break; - case DF_Type::item_chainst: node_from_item_chainst(p_address, p_node_parent); break; - case DF_Type::item_flaskst: node_from_item_flaskst(p_address, p_node_parent); break; - case DF_Type::item_gobletst: node_from_item_gobletst(p_address, p_node_parent); break; - case DF_Type::item_windowst: node_from_item_windowst(p_address, p_node_parent); break; - case DF_Type::item_cagest: node_from_item_cagest(p_address, p_node_parent); break; - case DF_Type::item_bucketst: node_from_item_bucketst(p_address, p_node_parent); break; - case DF_Type::item_animaltrapst: node_from_item_animaltrapst(p_address, p_node_parent); break; - case DF_Type::item_tablest: node_from_item_tablest(p_address, p_node_parent); break; - case DF_Type::item_coffinst: node_from_item_coffinst(p_address, p_node_parent); break; - case DF_Type::item_boxst: node_from_item_boxst(p_address, p_node_parent); break; - case DF_Type::item_armorstandst: node_from_item_armorstandst(p_address, p_node_parent); break; - case DF_Type::item_weaponrackst: node_from_item_weaponrackst(p_address, p_node_parent); break; - case DF_Type::item_cabinetst: node_from_item_cabinetst(p_address, p_node_parent); break; - case DF_Type::item_amuletst: node_from_item_amuletst(p_address, p_node_parent); break; - case DF_Type::item_scepterst: node_from_item_scepterst(p_address, p_node_parent); break; - case DF_Type::item_crownst: node_from_item_crownst(p_address, p_node_parent); break; - case DF_Type::item_ringst: node_from_item_ringst(p_address, p_node_parent); break; - case DF_Type::item_earringst: node_from_item_earringst(p_address, p_node_parent); break; - case DF_Type::item_braceletst: node_from_item_braceletst(p_address, p_node_parent); break; - case DF_Type::item_anvilst: node_from_item_anvilst(p_address, p_node_parent); break; - case DF_Type::item_backpackst: node_from_item_backpackst(p_address, p_node_parent); break; - case DF_Type::item_quiverst: node_from_item_quiverst(p_address, p_node_parent); break; - case DF_Type::item_catapultpartsst: node_from_item_catapultpartsst(p_address, p_node_parent); break; - case DF_Type::item_ballistapartsst: node_from_item_ballistapartsst(p_address, p_node_parent); break; - case DF_Type::item_trappartsst: node_from_item_trappartsst(p_address, p_node_parent); break; - case DF_Type::item_pipe_sectionst: node_from_item_pipe_sectionst(p_address, p_node_parent); break; - case DF_Type::item_hatch_coverst: node_from_item_hatch_coverst(p_address, p_node_parent); break; - case DF_Type::item_gratest: node_from_item_gratest(p_address, p_node_parent); break; - case DF_Type::item_quernst: node_from_item_quernst(p_address, p_node_parent); break; - case DF_Type::item_millstonest: node_from_item_millstonest(p_address, p_node_parent); break; - case DF_Type::item_splintst: node_from_item_splintst(p_address, p_node_parent); break; - case DF_Type::item_crutchst: node_from_item_crutchst(p_address, p_node_parent); break; - case DF_Type::item_traction_benchst: node_from_item_traction_benchst(p_address, p_node_parent); break; - case DF_Type::item_instrumentst: node_from_item_instrumentst(p_address, p_node_parent); break; - case DF_Type::item_toyst: node_from_item_toyst(p_address, p_node_parent); break; - case DF_Type::item_armorst: node_from_item_armorst(p_address, p_node_parent); break; - case DF_Type::item_shoesst: node_from_item_shoesst(p_address, p_node_parent); break; - case DF_Type::item_shieldst: node_from_item_shieldst(p_address, p_node_parent); break; - case DF_Type::item_helmst: node_from_item_helmst(p_address, p_node_parent); break; - case DF_Type::item_glovesst: node_from_item_glovesst(p_address, p_node_parent); break; - case DF_Type::item_pantsst: node_from_item_pantsst(p_address, p_node_parent); break; - case DF_Type::item_siegeammost: node_from_item_siegeammost(p_address, p_node_parent); break; - case DF_Type::item_weaponst: node_from_item_weaponst(p_address, p_node_parent); break; - case DF_Type::item_ammost: node_from_item_ammost(p_address, p_node_parent); break; - case DF_Type::item_trapcompst: node_from_item_trapcompst(p_address, p_node_parent); break; - case DF_Type::item_toolst: node_from_item_toolst(p_address, p_node_parent); break; - case DF_Type::item_barrelst: node_from_item_barrelst(p_address, p_node_parent); break; - case DF_Type::item_binst: node_from_item_binst(p_address, p_node_parent); break; - case DF_Type::item_gemst: node_from_item_gemst(p_address, p_node_parent); break; - case DF_Type::item_statuest: node_from_item_statuest(p_address, p_node_parent); break; - case DF_Type::item_figurinest: node_from_item_figurinest(p_address, p_node_parent); break; - case DF_Type::item_slabst: node_from_item_slabst(p_address, p_node_parent); break; - case DF_Type::item_orthopedic_castst: node_from_item_orthopedic_castst(p_address, p_node_parent); break; - case DF_Type::item_coinst: node_from_item_coinst(p_address, p_node_parent); break; - case DF_Type::item_totemst: node_from_item_totemst(p_address, p_node_parent); break; - case DF_Type::item_clothst: node_from_item_clothst(p_address, p_node_parent); break; - case DF_Type::item_bookst: node_from_item_bookst(p_address, p_node_parent); break; - case DF_Type::item_ballistaarrowheadst: node_from_item_ballistaarrowheadst(p_address, p_node_parent); break; - case DF_Type::item_sheetst: node_from_item_sheetst(p_address, p_node_parent); break; - case DF_Type::job_list_link: node_from_job_list_link(p_address, p_node_parent); break; - case DF_Type::job: node_from_job(p_address, p_node_parent); break; - case DF_Type::job_item_ref: node_from_job_item_ref(p_address, p_node_parent); break; - case DF_Type::job_item: node_from_job_item(p_address, p_node_parent); break; - case DF_Type::job_item_filter: node_from_job_item_filter(p_address, p_node_parent); break; - case DF_Type::manager_order: node_from_manager_order(p_address, p_node_parent); break; - case DF_Type::manager_order_condition_item: node_from_manager_order_condition_item(p_address, p_node_parent); break; - case DF_Type::manager_order_template: node_from_manager_order_template(p_address, p_node_parent); break; - case DF_Type::mandate__T_punishment: node_from_mandate__T_punishment(p_address, p_node_parent); break; - case DF_Type::mandate: node_from_mandate(p_address, p_node_parent); break; - case DF_Type::unit_demand: node_from_unit_demand(p_address, p_node_parent); break; - case DF_Type::knowledge_scholar_category_flag__T_flags: node_from_knowledge_scholar_category_flag__T_flags(p_address, p_node_parent); break; - case DF_Type::knowledge_scholar_category_flag: node_from_knowledge_scholar_category_flag(p_address, p_node_parent); break; - case DF_Type::history_event_knowledge_discoveredst: node_from_history_event_knowledge_discoveredst(p_address, p_node_parent); break; - case DF_Type::language_word: node_from_language_word(p_address, p_node_parent); break; - case DF_Type::language_name: node_from_language_name(p_address, p_node_parent); break; - case DF_Type::ui_advmode__T_unk_v40_1: node_from_ui_advmode__T_unk_v40_1(p_address, p_node_parent); break; - case DF_Type::ui_advmode__T_unk_3170__T_unk_2: node_from_ui_advmode__T_unk_3170__T_unk_2(p_address, p_node_parent); break; - case DF_Type::ui_advmode__T_unk_3170: node_from_ui_advmode__T_unk_3170(p_address, p_node_parent); break; - case DF_Type::ui_advmode__T_unk_3124: node_from_ui_advmode__T_unk_3124(p_address, p_node_parent); break; - case DF_Type::ui_advmode__T_conversation__T_choices: node_from_ui_advmode__T_conversation__T_choices(p_address, p_node_parent); break; - case DF_Type::ui_advmode__T_conversation__T_targets: node_from_ui_advmode__T_conversation__T_targets(p_address, p_node_parent); break; - case DF_Type::ui_advmode__T_conversation: node_from_ui_advmode__T_conversation(p_address, p_node_parent); break; - case DF_Type::ui_advmode__T_companions: node_from_ui_advmode__T_companions(p_address, p_node_parent); break; - case DF_Type::ui_advmode__T_interactions: node_from_ui_advmode__T_interactions(p_address, p_node_parent); break; - case DF_Type::ui_advmode__T_unk_v40_2: node_from_ui_advmode__T_unk_v40_2(p_address, p_node_parent); break; - case DF_Type::ui_advmode__T_unk_v40_3: node_from_ui_advmode__T_unk_v40_3(p_address, p_node_parent); break; - case DF_Type::ui_advmode__T_unk_v40_4__T_unk_v40_4a: node_from_ui_advmode__T_unk_v40_4__T_unk_v40_4a(p_address, p_node_parent); break; - case DF_Type::ui_advmode__T_unk_v40_4: node_from_ui_advmode__T_unk_v40_4(p_address, p_node_parent); break; - case DF_Type::ui_advmode__T_unk_v40_5: node_from_ui_advmode__T_unk_v40_5(p_address, p_node_parent); break; - case DF_Type::ui_advmode__T_unk_v42_1: node_from_ui_advmode__T_unk_v42_1(p_address, p_node_parent); break; - case DF_Type::ui_advmode__T_assume_identity: node_from_ui_advmode__T_assume_identity(p_address, p_node_parent); break; - case DF_Type::ui_advmode: node_from_ui_advmode(p_address, p_node_parent); break; - case DF_Type::art_image: node_from_art_image(p_address, p_node_parent); break; - case DF_Type::poetic_form___union0: node_from_poetic_form___union0(p_address, p_node_parent); break; - case DF_Type::poetic_form: node_from_poetic_form(p_address, p_node_parent); break; - case DF_Type::musical_form: node_from_musical_form(p_address, p_node_parent); break; - case DF_Type::dance_form: node_from_dance_form(p_address, p_node_parent); break; - case DF_Type::entity_occasion: node_from_entity_occasion(p_address, p_node_parent); break; - case DF_Type::historical_entity__T_resources__T_metal: node_from_historical_entity__T_resources__T_metal(p_address, p_node_parent); break; - case DF_Type::historical_entity__T_resources__T_organic: node_from_historical_entity__T_resources__T_organic(p_address, p_node_parent); break; - case DF_Type::historical_entity__T_resources__T_refuse: node_from_historical_entity__T_resources__T_refuse(p_address, p_node_parent); break; - case DF_Type::historical_entity__T_resources__T_misc_mat: node_from_historical_entity__T_resources__T_misc_mat(p_address, p_node_parent); break; - case DF_Type::historical_entity__T_resources__T_wood_products: node_from_historical_entity__T_resources__T_wood_products(p_address, p_node_parent); break; - case DF_Type::historical_entity__T_resources__T_animals: node_from_historical_entity__T_resources__T_animals(p_address, p_node_parent); break; - case DF_Type::historical_entity__T_resources__T_unk13: node_from_historical_entity__T_resources__T_unk13(p_address, p_node_parent); break; - case DF_Type::historical_entity__T_resources: node_from_historical_entity__T_resources(p_address, p_node_parent); break; - case DF_Type::historical_entity__T_unknown1b__T_unk32e: node_from_historical_entity__T_unknown1b__T_unk32e(p_address, p_node_parent); break; - case DF_Type::historical_entity__T_unknown1b__T_diplomacy: node_from_historical_entity__T_unknown1b__T_diplomacy(p_address, p_node_parent); break; - case DF_Type::historical_entity__T_unknown1b: node_from_historical_entity__T_unknown1b(p_address, p_node_parent); break; - case DF_Type::historical_entity__T_positions: node_from_historical_entity__T_positions(p_address, p_node_parent); break; - case DF_Type::historical_entity__T_tissue_styles: node_from_historical_entity__T_tissue_styles(p_address, p_node_parent); break; - case DF_Type::historical_entity__T_unknown1d: node_from_historical_entity__T_unknown1d(p_address, p_node_parent); break; - case DF_Type::historical_entity__T_training_knowledge: node_from_historical_entity__T_training_knowledge(p_address, p_node_parent); break; - case DF_Type::historical_entity__T_unknown1e: node_from_historical_entity__T_unknown1e(p_address, p_node_parent); break; - case DF_Type::historical_entity__T_derived_resources: node_from_historical_entity__T_derived_resources(p_address, p_node_parent); break; - case DF_Type::historical_entity__T_claims: node_from_historical_entity__T_claims(p_address, p_node_parent); break; - case DF_Type::historical_entity__T_unknown2: node_from_historical_entity__T_unknown2(p_address, p_node_parent); break; - case DF_Type::historical_entity: node_from_historical_entity(p_address, p_node_parent); break; - case DF_Type::historical_figure__T_unk_fc: node_from_historical_figure__T_unk_fc(p_address, p_node_parent); break; - case DF_Type::historical_figure: node_from_historical_figure(p_address, p_node_parent); break; - case DF_Type::identity: node_from_identity(p_address, p_node_parent); break; - case DF_Type::history_event_collection_warst__T_unk: node_from_history_event_collection_warst__T_unk(p_address, p_node_parent); break; - case DF_Type::history_event_collection_warst: node_from_history_event_collection_warst(p_address, p_node_parent); break; - case DF_Type::history_event_collection_battlest: node_from_history_event_collection_battlest(p_address, p_node_parent); break; - case DF_Type::world_history__T_event_collections: node_from_world_history__T_event_collections(p_address, p_node_parent); break; - case DF_Type::world_history: node_from_world_history(p_address, p_node_parent); break; - case DF_Type::item_critter: node_from_item_critter(p_address, p_node_parent); break; - case DF_Type::item_verminst: node_from_item_verminst(p_address, p_node_parent); break; - case DF_Type::item_petst: node_from_item_petst(p_address, p_node_parent); break; - case DF_Type::language_word_table: node_from_language_word_table(p_address, p_node_parent); break; - case DF_Type::entity_raw__T_equipment: node_from_entity_raw__T_equipment(p_address, p_node_parent); break; - case DF_Type::entity_raw__T_symbols: node_from_entity_raw__T_symbols(p_address, p_node_parent); break; - case DF_Type::entity_raw__T_progress_trigger: node_from_entity_raw__T_progress_trigger(p_address, p_node_parent); break; - case DF_Type::entity_raw__T_jobs: node_from_entity_raw__T_jobs(p_address, p_node_parent); break; - case DF_Type::entity_raw__T_tissue_styles: node_from_entity_raw__T_tissue_styles(p_address, p_node_parent); break; - case DF_Type::entity_raw__T_workshops: node_from_entity_raw__T_workshops(p_address, p_node_parent); break; - case DF_Type::entity_raw__T_land_holder_trigger: node_from_entity_raw__T_land_holder_trigger(p_address, p_node_parent); break; - case DF_Type::entity_raw: node_from_entity_raw(p_address, p_node_parent); break; - case DF_Type::entity_population_unk4__T_anon_1: node_from_entity_population_unk4__T_anon_1(p_address, p_node_parent); break; - case DF_Type::entity_population_unk4__T_anon_3: node_from_entity_population_unk4__T_anon_3(p_address, p_node_parent); break; - case DF_Type::entity_population_unk4: node_from_entity_population_unk4(p_address, p_node_parent); break; - case DF_Type::entity_population: node_from_entity_population(p_address, p_node_parent); break; - case DF_Type::nemesis_record: node_from_nemesis_record(p_address, p_node_parent); break; - case DF_Type::artifact_record: node_from_artifact_record(p_address, p_node_parent); break; - case DF_Type::machine_tile_set: node_from_machine_tile_set(p_address, p_node_parent); break; - case DF_Type::machine__T_components: node_from_machine__T_components(p_address, p_node_parent); break; - case DF_Type::machine: node_from_machine(p_address, p_node_parent); break; - case DF_Type::machine_standardst: node_from_machine_standardst(p_address, p_node_parent); break; - case DF_Type::building_axle_horizontalst: node_from_building_axle_horizontalst(p_address, p_node_parent); break; - case DF_Type::building_axle_verticalst: node_from_building_axle_verticalst(p_address, p_node_parent); break; - case DF_Type::building_gear_assemblyst: node_from_building_gear_assemblyst(p_address, p_node_parent); break; - case DF_Type::building_windmillst: node_from_building_windmillst(p_address, p_node_parent); break; - case DF_Type::building_water_wheelst: node_from_building_water_wheelst(p_address, p_node_parent); break; - case DF_Type::building_screw_pumpst: node_from_building_screw_pumpst(p_address, p_node_parent); break; - case DF_Type::building_rollersst: node_from_building_rollersst(p_address, p_node_parent); break; - case DF_Type::block_burrow: node_from_block_burrow(p_address, p_node_parent); break; - case DF_Type::block_burrow_link: node_from_block_burrow_link(p_address, p_node_parent); break; - case DF_Type::map_block: node_from_map_block(p_address, p_node_parent); break; - case DF_Type::cave_column_link: node_from_cave_column_link(p_address, p_node_parent); break; - case DF_Type::map_block_column__T_unmined_glyphs: node_from_map_block_column__T_unmined_glyphs(p_address, p_node_parent); break; - case DF_Type::map_block_column: node_from_map_block_column(p_address, p_node_parent); break; - case DF_Type::block_square_event_mineralst: node_from_block_square_event_mineralst(p_address, p_node_parent); break; - case DF_Type::block_square_event_frozen_liquidst: node_from_block_square_event_frozen_liquidst(p_address, p_node_parent); break; - case DF_Type::block_square_event_world_constructionst: node_from_block_square_event_world_constructionst(p_address, p_node_parent); break; - case DF_Type::block_square_event_item_spatterst: node_from_block_square_event_item_spatterst(p_address, p_node_parent); break; - case DF_Type::feature: node_from_feature(p_address, p_node_parent); break; - case DF_Type::feature_outdoor_riverst: node_from_feature_outdoor_riverst(p_address, p_node_parent); break; - case DF_Type::feature_cavest: node_from_feature_cavest(p_address, p_node_parent); break; - case DF_Type::feature_pitst: node_from_feature_pitst(p_address, p_node_parent); break; - case DF_Type::feature_magma_poolst: node_from_feature_magma_poolst(p_address, p_node_parent); break; - case DF_Type::feature_volcanost: node_from_feature_volcanost(p_address, p_node_parent); break; - case DF_Type::feature_deep_special_tubest: node_from_feature_deep_special_tubest(p_address, p_node_parent); break; - case DF_Type::feature_deep_surface_portalst: node_from_feature_deep_surface_portalst(p_address, p_node_parent); break; - case DF_Type::feature_subterranean_from_layerst: node_from_feature_subterranean_from_layerst(p_address, p_node_parent); break; - case DF_Type::feature_magma_core_from_layerst: node_from_feature_magma_core_from_layerst(p_address, p_node_parent); break; - case DF_Type::feature_underworld_from_layerst: node_from_feature_underworld_from_layerst(p_address, p_node_parent); break; - case DF_Type::feature_init: node_from_feature_init(p_address, p_node_parent); break; - case DF_Type::feature_init_outdoor_riverst: node_from_feature_init_outdoor_riverst(p_address, p_node_parent); break; - case DF_Type::feature_init_cavest: node_from_feature_init_cavest(p_address, p_node_parent); break; - case DF_Type::feature_init_pitst: node_from_feature_init_pitst(p_address, p_node_parent); break; - case DF_Type::feature_init_magma_poolst: node_from_feature_init_magma_poolst(p_address, p_node_parent); break; - case DF_Type::feature_init_volcanost: node_from_feature_init_volcanost(p_address, p_node_parent); break; - case DF_Type::feature_init_deep_special_tubest: node_from_feature_init_deep_special_tubest(p_address, p_node_parent); break; - case DF_Type::feature_init_deep_surface_portalst: node_from_feature_init_deep_surface_portalst(p_address, p_node_parent); break; - case DF_Type::feature_init_subterranean_from_layerst: node_from_feature_init_subterranean_from_layerst(p_address, p_node_parent); break; - case DF_Type::feature_init_magma_core_from_layerst: node_from_feature_init_magma_core_from_layerst(p_address, p_node_parent); break; - case DF_Type::feature_init_underworld_from_layerst: node_from_feature_init_underworld_from_layerst(p_address, p_node_parent); break; - case DF_Type::world_construction_square: node_from_world_construction_square(p_address, p_node_parent); break; - case DF_Type::world_construction_square_roadst: node_from_world_construction_square_roadst(p_address, p_node_parent); break; - case DF_Type::world_construction_square_tunnelst: node_from_world_construction_square_tunnelst(p_address, p_node_parent); break; - case DF_Type::world_construction_square_bridgest: node_from_world_construction_square_bridgest(p_address, p_node_parent); break; - case DF_Type::world_construction_square_wallst: node_from_world_construction_square_wallst(p_address, p_node_parent); break; - case DF_Type::world_construction: node_from_world_construction(p_address, p_node_parent); break; - case DF_Type::world_construction_roadst: node_from_world_construction_roadst(p_address, p_node_parent); break; - case DF_Type::world_construction_tunnelst: node_from_world_construction_tunnelst(p_address, p_node_parent); break; - case DF_Type::world_construction_bridgest: node_from_world_construction_bridgest(p_address, p_node_parent); break; - case DF_Type::world_construction_wallst: node_from_world_construction_wallst(p_address, p_node_parent); break; - case DF_Type::construction: node_from_construction(p_address, p_node_parent); break; - case DF_Type::flow_info: node_from_flow_info(p_address, p_node_parent); break; - case DF_Type::flow_guide_trailing_flowst: node_from_flow_guide_trailing_flowst(p_address, p_node_parent); break; - case DF_Type::flow_guide_item_cloudst: node_from_flow_guide_item_cloudst(p_address, p_node_parent); break; - case DF_Type::effect_info: node_from_effect_info(p_address, p_node_parent); break; - case DF_Type::material_common__T_heat: node_from_material_common__T_heat(p_address, p_node_parent); break; - case DF_Type::material_common__T_strength: node_from_material_common__T_strength(p_address, p_node_parent); break; - case DF_Type::material_common__T_reaction_product: node_from_material_common__T_reaction_product(p_address, p_node_parent); break; - case DF_Type::material_common__T_hardens_with_water: node_from_material_common__T_hardens_with_water(p_address, p_node_parent); break; - case DF_Type::material_common: node_from_material_common(p_address, p_node_parent); break; - case DF_Type::material: node_from_material(p_address, p_node_parent); break; - case DF_Type::material_template: node_from_material_template(p_address, p_node_parent); break; - case DF_Type::inorganic_raw__T_metal_ore: node_from_inorganic_raw__T_metal_ore(p_address, p_node_parent); break; - case DF_Type::inorganic_raw__T_thread_metal: node_from_inorganic_raw__T_thread_metal(p_address, p_node_parent); break; - case DF_Type::inorganic_raw__T_environment_spec: node_from_inorganic_raw__T_environment_spec(p_address, p_node_parent); break; - case DF_Type::inorganic_raw__T_environment: node_from_inorganic_raw__T_environment(p_address, p_node_parent); break; - case DF_Type::inorganic_raw: node_from_inorganic_raw(p_address, p_node_parent); break; - case DF_Type::special_mat_table: node_from_special_mat_table(p_address, p_node_parent); break; - case DF_Type::dipscript_info: node_from_dipscript_info(p_address, p_node_parent); break; - case DF_Type::dipscript_popup: node_from_dipscript_popup(p_address, p_node_parent); break; - case DF_Type::active_script_var_unitst: node_from_active_script_var_unitst(p_address, p_node_parent); break; - case DF_Type::meeting_context: node_from_meeting_context(p_address, p_node_parent); break; - case DF_Type::meeting_diplomat_info: node_from_meeting_diplomat_info(p_address, p_node_parent); break; - case DF_Type::meeting_event: node_from_meeting_event(p_address, p_node_parent); break; - case DF_Type::activity_info: node_from_activity_info(p_address, p_node_parent); break; - case DF_Type::party_info: node_from_party_info(p_address, p_node_parent); break; - case DF_Type::room_rent_info: node_from_room_rent_info(p_address, p_node_parent); break; - case DF_Type::activity_entry: node_from_activity_entry(p_address, p_node_parent); break; - case DF_Type::activity_event__T_unk_v42_1: node_from_activity_event__T_unk_v42_1(p_address, p_node_parent); break; - case DF_Type::activity_event__T_unk_v42_2: node_from_activity_event__T_unk_v42_2(p_address, p_node_parent); break; - case DF_Type::activity_event: node_from_activity_event(p_address, p_node_parent); break; - case DF_Type::activity_event_training_sessionst: node_from_activity_event_training_sessionst(p_address, p_node_parent); break; - case DF_Type::activity_event_combat_trainingst: node_from_activity_event_combat_trainingst(p_address, p_node_parent); break; - case DF_Type::activity_event_skill_demonstrationst: node_from_activity_event_skill_demonstrationst(p_address, p_node_parent); break; - case DF_Type::activity_event_individual_skill_drillst: node_from_activity_event_individual_skill_drillst(p_address, p_node_parent); break; - case DF_Type::activity_event_sparringst__T_groups: node_from_activity_event_sparringst__T_groups(p_address, p_node_parent); break; - case DF_Type::activity_event_sparringst: node_from_activity_event_sparringst(p_address, p_node_parent); break; - case DF_Type::activity_event_ranged_practicest: node_from_activity_event_ranged_practicest(p_address, p_node_parent); break; - case DF_Type::activity_event_harassmentst__T_anon_2: node_from_activity_event_harassmentst__T_anon_2(p_address, p_node_parent); break; - case DF_Type::activity_event_harassmentst: node_from_activity_event_harassmentst(p_address, p_node_parent); break; - case DF_Type::activity_event_conversationst__T_participants: node_from_activity_event_conversationst__T_participants(p_address, p_node_parent); break; - case DF_Type::activity_event_conversationst__T_anon_6: node_from_activity_event_conversationst__T_anon_6(p_address, p_node_parent); break; - case DF_Type::activity_event_conversationst__T_unk_b4: node_from_activity_event_conversationst__T_unk_b4(p_address, p_node_parent); break; - case DF_Type::activity_event_conversationst__T_turns: node_from_activity_event_conversationst__T_turns(p_address, p_node_parent); break; - case DF_Type::activity_event_conversationst__T_unk2: node_from_activity_event_conversationst__T_unk2(p_address, p_node_parent); break; - case DF_Type::activity_event_conversationst: node_from_activity_event_conversationst(p_address, p_node_parent); break; - case DF_Type::activity_event_conflictst__T_sides__T_enemies: node_from_activity_event_conflictst__T_sides__T_enemies(p_address, p_node_parent); break; - case DF_Type::activity_event_conflictst__T_sides: node_from_activity_event_conflictst__T_sides(p_address, p_node_parent); break; - case DF_Type::activity_event_conflictst: node_from_activity_event_conflictst(p_address, p_node_parent); break; - case DF_Type::activity_event_guardst: node_from_activity_event_guardst(p_address, p_node_parent); break; - case DF_Type::activity_event_reunionst: node_from_activity_event_reunionst(p_address, p_node_parent); break; - case DF_Type::activity_event_prayerst: node_from_activity_event_prayerst(p_address, p_node_parent); break; - case DF_Type::activity_event_socializest: node_from_activity_event_socializest(p_address, p_node_parent); break; - case DF_Type::activity_event_worshipst: node_from_activity_event_worshipst(p_address, p_node_parent); break; - case DF_Type::activity_event_performancest__T_participant_actions: node_from_activity_event_performancest__T_participant_actions(p_address, p_node_parent); break; - case DF_Type::activity_event_performancest: node_from_activity_event_performancest(p_address, p_node_parent); break; - case DF_Type::performance_play_orderst__T_anon_4: node_from_performance_play_orderst__T_anon_4(p_address, p_node_parent); break; - case DF_Type::performance_play_orderst: node_from_performance_play_orderst(p_address, p_node_parent); break; - case DF_Type::activity_event_researchst: node_from_activity_event_researchst(p_address, p_node_parent); break; - case DF_Type::activity_event_ponder_topicst: node_from_activity_event_ponder_topicst(p_address, p_node_parent); break; - case DF_Type::activity_event_discuss_topicst: node_from_activity_event_discuss_topicst(p_address, p_node_parent); break; - case DF_Type::activity_event_readst: node_from_activity_event_readst(p_address, p_node_parent); break; - case DF_Type::activity_event_fill_service_orderst: node_from_activity_event_fill_service_orderst(p_address, p_node_parent); break; - case DF_Type::activity_event_writest: node_from_activity_event_writest(p_address, p_node_parent); break; - case DF_Type::activity_event_copy_written_contentst: node_from_activity_event_copy_written_contentst(p_address, p_node_parent); break; - case DF_Type::activity_event_teach_topicst: node_from_activity_event_teach_topicst(p_address, p_node_parent); break; - case DF_Type::activity_event_playst: node_from_activity_event_playst(p_address, p_node_parent); break; - case DF_Type::activity_event_make_believest: node_from_activity_event_make_believest(p_address, p_node_parent); break; - case DF_Type::activity_event_play_with_toyst__T_unk: node_from_activity_event_play_with_toyst__T_unk(p_address, p_node_parent); break; - case DF_Type::activity_event_play_with_toyst: node_from_activity_event_play_with_toyst(p_address, p_node_parent); break; - case DF_Type::activity_event_encounterst__T_anon_1: node_from_activity_event_encounterst__T_anon_1(p_address, p_node_parent); break; - case DF_Type::activity_event_encounterst__T_anon_2: node_from_activity_event_encounterst__T_anon_2(p_address, p_node_parent); break; - case DF_Type::activity_event_encounterst: node_from_activity_event_encounterst(p_address, p_node_parent); break; - case DF_Type::activity_event_store_objectst: node_from_activity_event_store_objectst(p_address, p_node_parent); break; - case DF_Type::schedule_info: node_from_schedule_info(p_address, p_node_parent); break; - case DF_Type::item_filter_spec: node_from_item_filter_spec(p_address, p_node_parent); break; - case DF_Type::squad_uniform_spec: node_from_squad_uniform_spec(p_address, p_node_parent); break; - case DF_Type::squad_ammo_spec: node_from_squad_ammo_spec(p_address, p_node_parent); break; - case DF_Type::squad_position: node_from_squad_position(p_address, p_node_parent); break; - case DF_Type::squad_schedule_order: node_from_squad_schedule_order(p_address, p_node_parent); break; - case DF_Type::squad_schedule_entry: node_from_squad_schedule_entry(p_address, p_node_parent); break; - case DF_Type::squad__T_rooms: node_from_squad__T_rooms(p_address, p_node_parent); break; - case DF_Type::squad: node_from_squad(p_address, p_node_parent); break; - case DF_Type::squad_order_movest: node_from_squad_order_movest(p_address, p_node_parent); break; - case DF_Type::squad_order_retrieve_artifactst: node_from_squad_order_retrieve_artifactst(p_address, p_node_parent); break; - case DF_Type::squad_order_raid_sitest: node_from_squad_order_raid_sitest(p_address, p_node_parent); break; - case DF_Type::squad_order_rescue_hfst: node_from_squad_order_rescue_hfst(p_address, p_node_parent); break; - case DF_Type::army_controller__T_unk_64: node_from_army_controller__T_unk_64(p_address, p_node_parent); break; - case DF_Type::army_controller: node_from_army_controller(p_address, p_node_parent); break; - case DF_Type::army_controller_sub2__T_anon_5: node_from_army_controller_sub2__T_anon_5(p_address, p_node_parent); break; - case DF_Type::army_controller_sub2: node_from_army_controller_sub2(p_address, p_node_parent); break; - case DF_Type::army_controller_sub7__T_anon_3: node_from_army_controller_sub7__T_anon_3(p_address, p_node_parent); break; - case DF_Type::army_controller_sub7: node_from_army_controller_sub7(p_address, p_node_parent); break; - case DF_Type::army_controller_sub11__T_anon_3: node_from_army_controller_sub11__T_anon_3(p_address, p_node_parent); break; - case DF_Type::army_controller_sub11: node_from_army_controller_sub11(p_address, p_node_parent); break; - case DF_Type::army_controller_sub12__T_anon_4: node_from_army_controller_sub12__T_anon_4(p_address, p_node_parent); break; - case DF_Type::army_controller_sub12: node_from_army_controller_sub12(p_address, p_node_parent); break; - case DF_Type::army_controller_sub13__T_anon_4: node_from_army_controller_sub13__T_anon_4(p_address, p_node_parent); break; - case DF_Type::army_controller_sub13: node_from_army_controller_sub13(p_address, p_node_parent); break; - case DF_Type::army_controller_sub14__T_anon_4: node_from_army_controller_sub14__T_anon_4(p_address, p_node_parent); break; - case DF_Type::army_controller_sub14: node_from_army_controller_sub14(p_address, p_node_parent); break; - case DF_Type::army_controller_sub15__T_anon_3: node_from_army_controller_sub15__T_anon_3(p_address, p_node_parent); break; - case DF_Type::army_controller_sub15: node_from_army_controller_sub15(p_address, p_node_parent); break; - case DF_Type::army__T_members: node_from_army__T_members(p_address, p_node_parent); break; - case DF_Type::army__T_unk_2c: node_from_army__T_unk_2c(p_address, p_node_parent); break; - case DF_Type::army: node_from_army(p_address, p_node_parent); break; - case DF_Type::plant_raw__T_tiles: node_from_plant_raw__T_tiles(p_address, p_node_parent); break; - case DF_Type::plant_raw__T_colors: node_from_plant_raw__T_colors(p_address, p_node_parent); break; - case DF_Type::plant_raw__T_material_defs: node_from_plant_raw__T_material_defs(p_address, p_node_parent); break; - case DF_Type::plant_raw: node_from_plant_raw(p_address, p_node_parent); break; - case DF_Type::plant_growth: node_from_plant_growth(p_address, p_node_parent); break; - case DF_Type::plant: node_from_plant(p_address, p_node_parent); break; - case DF_Type::plant_tree_info: node_from_plant_tree_info(p_address, p_node_parent); break; - case DF_Type::proj_list_link: node_from_proj_list_link(p_address, p_node_parent); break; - case DF_Type::projectile: node_from_projectile(p_address, p_node_parent); break; - case DF_Type::proj_itemst: node_from_proj_itemst(p_address, p_node_parent); break; - case DF_Type::proj_unitst: node_from_proj_unitst(p_address, p_node_parent); break; - case DF_Type::proj_magicst: node_from_proj_magicst(p_address, p_node_parent); break; - case DF_Type::creature_handler: node_from_creature_handler(p_address, p_node_parent); break; - case DF_Type::world_raws__T_plants: node_from_world_raws__T_plants(p_address, p_node_parent); break; - case DF_Type::world_raws__T_bodyglosses: node_from_world_raws__T_bodyglosses(p_address, p_node_parent); break; - case DF_Type::world_raws__T_itemdefs: node_from_world_raws__T_itemdefs(p_address, p_node_parent); break; - case DF_Type::world_raws__T_language: node_from_world_raws__T_language(p_address, p_node_parent); break; - case DF_Type::world_raws__T_descriptors: node_from_world_raws__T_descriptors(p_address, p_node_parent); break; - case DF_Type::world_raws__T_reactions: node_from_world_raws__T_reactions(p_address, p_node_parent); break; - case DF_Type::world_raws__T_buildings: node_from_world_raws__T_buildings(p_address, p_node_parent); break; - case DF_Type::world_raws__T_syndromes: node_from_world_raws__T_syndromes(p_address, p_node_parent); break; - case DF_Type::world_raws__T_effects: node_from_world_raws__T_effects(p_address, p_node_parent); break; - case DF_Type::world_raws: node_from_world_raws(p_address, p_node_parent); break; - case DF_Type::reaction__T_building: node_from_reaction__T_building(p_address, p_node_parent); break; - case DF_Type::reaction: node_from_reaction(p_address, p_node_parent); break; - case DF_Type::reaction_description: node_from_reaction_description(p_address, p_node_parent); break; - case DF_Type::reaction_reagent: node_from_reaction_reagent(p_address, p_node_parent); break; - case DF_Type::reaction_reagent_itemst: node_from_reaction_reagent_itemst(p_address, p_node_parent); break; - case DF_Type::reaction_product_itemst__T_get_material: node_from_reaction_product_itemst__T_get_material(p_address, p_node_parent); break; - case DF_Type::reaction_product_itemst: node_from_reaction_product_itemst(p_address, p_node_parent); break; - case DF_Type::reaction_product_item_improvementst__T_get_material: node_from_reaction_product_item_improvementst__T_get_material(p_address, p_node_parent); break; - case DF_Type::reaction_product_item_improvementst: node_from_reaction_product_item_improvementst(p_address, p_node_parent); break; - case DF_Type::general_ref_item_type: node_from_general_ref_item_type(p_address, p_node_parent); break; - case DF_Type::general_ref_mapsquare: node_from_general_ref_mapsquare(p_address, p_node_parent); break; - case DF_Type::general_ref_spherest: node_from_general_ref_spherest(p_address, p_node_parent); break; - case DF_Type::general_ref_knowledge_scholar_flagst: node_from_general_ref_knowledge_scholar_flagst(p_address, p_node_parent); break; - case DF_Type::general_ref_value_levelst: node_from_general_ref_value_levelst(p_address, p_node_parent); break; - case DF_Type::specific_ref___union2: node_from_specific_ref___union2(p_address, p_node_parent); break; - case DF_Type::specific_ref__T_arg2: node_from_specific_ref__T_arg2(p_address, p_node_parent); break; - case DF_Type::specific_ref: node_from_specific_ref(p_address, p_node_parent); break; - case DF_Type::meeting_variable: node_from_meeting_variable(p_address, p_node_parent); break; - case DF_Type::entity_entity_link: node_from_entity_entity_link(p_address, p_node_parent); break; - case DF_Type::entity_site_link__T_anon_8: node_from_entity_site_link__T_anon_8(p_address, p_node_parent); break; - case DF_Type::entity_site_link: node_from_entity_site_link(p_address, p_node_parent); break; - case DF_Type::resource_allotment_data__T_unk_654: node_from_resource_allotment_data__T_unk_654(p_address, p_node_parent); break; - case DF_Type::resource_allotment_data: node_from_resource_allotment_data(p_address, p_node_parent); break; - case DF_Type::stockpile_settings__T_animals: node_from_stockpile_settings__T_animals(p_address, p_node_parent); break; - case DF_Type::stockpile_settings__T_food: node_from_stockpile_settings__T_food(p_address, p_node_parent); break; - case DF_Type::stockpile_settings__T_furniture: node_from_stockpile_settings__T_furniture(p_address, p_node_parent); break; - case DF_Type::stockpile_settings__T_refuse: node_from_stockpile_settings__T_refuse(p_address, p_node_parent); break; - case DF_Type::stockpile_settings__T_stone: node_from_stockpile_settings__T_stone(p_address, p_node_parent); break; - case DF_Type::stockpile_settings__T_ore: node_from_stockpile_settings__T_ore(p_address, p_node_parent); break; - case DF_Type::stockpile_settings__T_ammo: node_from_stockpile_settings__T_ammo(p_address, p_node_parent); break; - case DF_Type::stockpile_settings__T_coins: node_from_stockpile_settings__T_coins(p_address, p_node_parent); break; - case DF_Type::stockpile_settings__T_bars_blocks: node_from_stockpile_settings__T_bars_blocks(p_address, p_node_parent); break; - case DF_Type::stockpile_settings__T_gems: node_from_stockpile_settings__T_gems(p_address, p_node_parent); break; - case DF_Type::stockpile_settings__T_finished_goods: node_from_stockpile_settings__T_finished_goods(p_address, p_node_parent); break; - case DF_Type::stockpile_settings__T_leather: node_from_stockpile_settings__T_leather(p_address, p_node_parent); break; - case DF_Type::stockpile_settings__T_cloth: node_from_stockpile_settings__T_cloth(p_address, p_node_parent); break; - case DF_Type::stockpile_settings__T_wood: node_from_stockpile_settings__T_wood(p_address, p_node_parent); break; - case DF_Type::stockpile_settings__T_weapons: node_from_stockpile_settings__T_weapons(p_address, p_node_parent); break; - case DF_Type::stockpile_settings__T_armor: node_from_stockpile_settings__T_armor(p_address, p_node_parent); break; - case DF_Type::stockpile_settings__T_sheet: node_from_stockpile_settings__T_sheet(p_address, p_node_parent); break; - case DF_Type::stockpile_settings: node_from_stockpile_settings(p_address, p_node_parent); break; - case DF_Type::building_stockpilest: node_from_building_stockpilest(p_address, p_node_parent); break; - case DF_Type::hauling_route: node_from_hauling_route(p_address, p_node_parent); break; - case DF_Type::hauling_stop: node_from_hauling_stop(p_address, p_node_parent); break; - case DF_Type::stop_depart_condition: node_from_stop_depart_condition(p_address, p_node_parent); break; - case DF_Type::vehicle: node_from_vehicle(p_address, p_node_parent); break; - case DF_Type::creature_interaction_effect_target: node_from_creature_interaction_effect_target(p_address, p_node_parent); break; - case DF_Type::creature_interaction_effect__T_counter_trigger: node_from_creature_interaction_effect__T_counter_trigger(p_address, p_node_parent); break; - case DF_Type::creature_interaction_effect: node_from_creature_interaction_effect(p_address, p_node_parent); break; - case DF_Type::creature_interaction_effect_painst: node_from_creature_interaction_effect_painst(p_address, p_node_parent); break; - case DF_Type::creature_interaction_effect_swellingst: node_from_creature_interaction_effect_swellingst(p_address, p_node_parent); break; - case DF_Type::creature_interaction_effect_oozingst: node_from_creature_interaction_effect_oozingst(p_address, p_node_parent); break; - case DF_Type::creature_interaction_effect_bruisingst: node_from_creature_interaction_effect_bruisingst(p_address, p_node_parent); break; - case DF_Type::creature_interaction_effect_blistersst: node_from_creature_interaction_effect_blistersst(p_address, p_node_parent); break; - case DF_Type::creature_interaction_effect_numbnessst: node_from_creature_interaction_effect_numbnessst(p_address, p_node_parent); break; - case DF_Type::creature_interaction_effect_paralysisst: node_from_creature_interaction_effect_paralysisst(p_address, p_node_parent); break; - case DF_Type::creature_interaction_effect_feverst: node_from_creature_interaction_effect_feverst(p_address, p_node_parent); break; - case DF_Type::creature_interaction_effect_bleedingst: node_from_creature_interaction_effect_bleedingst(p_address, p_node_parent); break; - case DF_Type::creature_interaction_effect_cough_bloodst: node_from_creature_interaction_effect_cough_bloodst(p_address, p_node_parent); break; - case DF_Type::creature_interaction_effect_vomit_bloodst: node_from_creature_interaction_effect_vomit_bloodst(p_address, p_node_parent); break; - case DF_Type::creature_interaction_effect_nauseast: node_from_creature_interaction_effect_nauseast(p_address, p_node_parent); break; - case DF_Type::creature_interaction_effect_unconsciousnessst: node_from_creature_interaction_effect_unconsciousnessst(p_address, p_node_parent); break; - case DF_Type::creature_interaction_effect_necrosisst: node_from_creature_interaction_effect_necrosisst(p_address, p_node_parent); break; - case DF_Type::creature_interaction_effect_impair_functionst: node_from_creature_interaction_effect_impair_functionst(p_address, p_node_parent); break; - case DF_Type::creature_interaction_effect_drowsinessst: node_from_creature_interaction_effect_drowsinessst(p_address, p_node_parent); break; - case DF_Type::creature_interaction_effect_dizzinessst: node_from_creature_interaction_effect_dizzinessst(p_address, p_node_parent); break; - case DF_Type::creature_interaction_effect_display_namest: node_from_creature_interaction_effect_display_namest(p_address, p_node_parent); break; - case DF_Type::creature_interaction_effect_body_appearance_modifierst: node_from_creature_interaction_effect_body_appearance_modifierst(p_address, p_node_parent); break; - case DF_Type::creature_interaction_effect_bp_appearance_modifierst: node_from_creature_interaction_effect_bp_appearance_modifierst(p_address, p_node_parent); break; - case DF_Type::creature_interaction_effect_body_transformationst: node_from_creature_interaction_effect_body_transformationst(p_address, p_node_parent); break; - case DF_Type::creature_interaction_effect_skill_roll_adjustst: node_from_creature_interaction_effect_skill_roll_adjustst(p_address, p_node_parent); break; - case DF_Type::creature_interaction_effect_display_symbolst: node_from_creature_interaction_effect_display_symbolst(p_address, p_node_parent); break; - case DF_Type::creature_interaction_effect_flash_symbolst: node_from_creature_interaction_effect_flash_symbolst(p_address, p_node_parent); break; - case DF_Type::creature_interaction_effect_phys_att_changest: node_from_creature_interaction_effect_phys_att_changest(p_address, p_node_parent); break; - case DF_Type::creature_interaction_effect_ment_att_changest: node_from_creature_interaction_effect_ment_att_changest(p_address, p_node_parent); break; - case DF_Type::creature_interaction_effect_add_simple_flagst: node_from_creature_interaction_effect_add_simple_flagst(p_address, p_node_parent); break; - case DF_Type::creature_interaction_effect_remove_simple_flagst: node_from_creature_interaction_effect_remove_simple_flagst(p_address, p_node_parent); break; - case DF_Type::creature_interaction_effect_speed_changest: node_from_creature_interaction_effect_speed_changest(p_address, p_node_parent); break; - case DF_Type::creature_interaction_effect_body_mat_interactionst: node_from_creature_interaction_effect_body_mat_interactionst(p_address, p_node_parent); break; - case DF_Type::creature_interaction_effect_material_force_adjustst: node_from_creature_interaction_effect_material_force_adjustst(p_address, p_node_parent); break; - case DF_Type::creature_interaction_effect_can_do_interactionst: node_from_creature_interaction_effect_can_do_interactionst(p_address, p_node_parent); break; - case DF_Type::creature_interaction_effect_sense_creature_classst: node_from_creature_interaction_effect_sense_creature_classst(p_address, p_node_parent); break; - case DF_Type::creature_interaction_effect_feel_emotionst: node_from_creature_interaction_effect_feel_emotionst(p_address, p_node_parent); break; - case DF_Type::creature_interaction_effect_change_personalityst: node_from_creature_interaction_effect_change_personalityst(p_address, p_node_parent); break; - case DF_Type::creature_interaction_effect_erratic_behaviorst: node_from_creature_interaction_effect_erratic_behaviorst(p_address, p_node_parent); break; - case DF_Type::syndrome: node_from_syndrome(p_address, p_node_parent); break; - case DF_Type::ui_build_item_req: node_from_ui_build_item_req(p_address, p_node_parent); break; - case DF_Type::build_req_choice_genst: node_from_build_req_choice_genst(p_address, p_node_parent); break; - case DF_Type::build_req_choice_specst: node_from_build_req_choice_specst(p_address, p_node_parent); break; - case DF_Type::ui_build_selector: node_from_ui_build_selector(p_address, p_node_parent); break; - case DF_Type::interface_button: node_from_interface_button(p_address, p_node_parent); break; - case DF_Type::interface_button_buildingst: node_from_interface_button_buildingst(p_address, p_node_parent); break; - case DF_Type::interface_button_building_category_selectorst: node_from_interface_button_building_category_selectorst(p_address, p_node_parent); break; - case DF_Type::interface_button_building_material_selectorst: node_from_interface_button_building_material_selectorst(p_address, p_node_parent); break; - case DF_Type::interface_button_building_new_jobst: node_from_interface_button_building_new_jobst(p_address, p_node_parent); break; - case DF_Type::interface_button_building_custom_category_selectorst: node_from_interface_button_building_custom_category_selectorst(p_address, p_node_parent); break; - case DF_Type::interface_button_constructionst: node_from_interface_button_constructionst(p_address, p_node_parent); break; - case DF_Type::interface_button_construction_donest: node_from_interface_button_construction_donest(p_address, p_node_parent); break; - case DF_Type::interface_button_construction_category_selectorst: node_from_interface_button_construction_category_selectorst(p_address, p_node_parent); break; - case DF_Type::interface_button_construction_building_selectorst: node_from_interface_button_construction_building_selectorst(p_address, p_node_parent); break; - case DF_Type::ui_sidebar_menus__T_designation: node_from_ui_sidebar_menus__T_designation(p_address, p_node_parent); break; - case DF_Type::ui_sidebar_menus__T_workshop_job: node_from_ui_sidebar_menus__T_workshop_job(p_address, p_node_parent); break; - case DF_Type::ui_sidebar_menus__T_building: node_from_ui_sidebar_menus__T_building(p_address, p_node_parent); break; - case DF_Type::ui_sidebar_menus__T_zone: node_from_ui_sidebar_menus__T_zone(p_address, p_node_parent); break; - case DF_Type::ui_sidebar_menus__T_unit: node_from_ui_sidebar_menus__T_unit(p_address, p_node_parent); break; - case DF_Type::ui_sidebar_menus__T_hospital: node_from_ui_sidebar_menus__T_hospital(p_address, p_node_parent); break; - case DF_Type::ui_sidebar_menus__T_location: node_from_ui_sidebar_menus__T_location(p_address, p_node_parent); break; - case DF_Type::ui_sidebar_menus__T_job_details: node_from_ui_sidebar_menus__T_job_details(p_address, p_node_parent); break; - case DF_Type::ui_sidebar_menus__T_unit_cursor: node_from_ui_sidebar_menus__T_unit_cursor(p_address, p_node_parent); break; - case DF_Type::ui_sidebar_menus__T_unit_skills: node_from_ui_sidebar_menus__T_unit_skills(p_address, p_node_parent); break; - case DF_Type::ui_sidebar_menus__T_barracks: node_from_ui_sidebar_menus__T_barracks(p_address, p_node_parent); break; - case DF_Type::ui_sidebar_menus__T_minimap: node_from_ui_sidebar_menus__T_minimap(p_address, p_node_parent); break; - case DF_Type::ui_sidebar_menus__T_command_line: node_from_ui_sidebar_menus__T_command_line(p_address, p_node_parent); break; - case DF_Type::ui_sidebar_menus: node_from_ui_sidebar_menus(p_address, p_node_parent); break; - case DF_Type::ui_look_list__T_items___union3: node_from_ui_look_list__T_items___union3(p_address, p_node_parent); break; - case DF_Type::ui_look_list__T_items: node_from_ui_look_list__T_items(p_address, p_node_parent); break; - case DF_Type::ui_look_list: node_from_ui_look_list(p_address, p_node_parent); break; - case DF_Type::ui_unit_view_mode: node_from_ui_unit_view_mode(p_address, p_node_parent); break; - case DF_Type::punishment: node_from_punishment(p_address, p_node_parent); break; - case DF_Type::timed_event: node_from_timed_event(p_address, p_node_parent); break; - case DF_Type::map_renderer__T_anon_4: node_from_map_renderer__T_anon_4(p_address, p_node_parent); break; - case DF_Type::map_renderer: node_from_map_renderer(p_address, p_node_parent); break; - case DF_Type::unit__T_path: node_from_unit__T_path(p_address, p_node_parent); break; - case DF_Type::unit__T_meeting: node_from_unit__T_meeting(p_address, p_node_parent); break; - case DF_Type::unit__T_military: node_from_unit__T_military(p_address, p_node_parent); break; - case DF_Type::unit__T_animal: node_from_unit__T_animal(p_address, p_node_parent); break; - case DF_Type::unit__T_opponent: node_from_unit__T_opponent(p_address, p_node_parent); break; - case DF_Type::unit__T_job: node_from_unit__T_job(p_address, p_node_parent); break; - case DF_Type::unit__T_body: node_from_unit__T_body(p_address, p_node_parent); break; - case DF_Type::unit__T_appearance: node_from_unit__T_appearance(p_address, p_node_parent); break; - case DF_Type::unit__T_counters: node_from_unit__T_counters(p_address, p_node_parent); break; - case DF_Type::unit__T_curse: node_from_unit__T_curse(p_address, p_node_parent); break; - case DF_Type::unit__T_counters2: node_from_unit__T_counters2(p_address, p_node_parent); break; - case DF_Type::unit__T_status__T_eat_history__T_food: node_from_unit__T_status__T_eat_history__T_food(p_address, p_node_parent); break; - case DF_Type::unit__T_status__T_eat_history__T_drink: node_from_unit__T_status__T_eat_history__T_drink(p_address, p_node_parent); break; - case DF_Type::unit__T_status__T_eat_history: node_from_unit__T_status__T_eat_history(p_address, p_node_parent); break; - case DF_Type::unit__T_status: node_from_unit__T_status(p_address, p_node_parent); break; - case DF_Type::unit__T_status2: node_from_unit__T_status2(p_address, p_node_parent); break; - case DF_Type::unit__T_unknown7: node_from_unit__T_unknown7(p_address, p_node_parent); break; - case DF_Type::unit__T_syndromes: node_from_unit__T_syndromes(p_address, p_node_parent); break; - case DF_Type::unit__T_reports: node_from_unit__T_reports(p_address, p_node_parent); break; - case DF_Type::unit__T_enemy__T_undead: node_from_unit__T_enemy__T_undead(p_address, p_node_parent); break; - case DF_Type::unit__T_enemy__T_witness_reports: node_from_unit__T_enemy__T_witness_reports(p_address, p_node_parent); break; - case DF_Type::unit__T_enemy__T_unk_448__T_unk: node_from_unit__T_enemy__T_unk_448__T_unk(p_address, p_node_parent); break; - case DF_Type::unit__T_enemy__T_unk_448: node_from_unit__T_enemy__T_unk_448(p_address, p_node_parent); break; - case DF_Type::unit__T_enemy__T_unk_44c: node_from_unit__T_enemy__T_unk_44c(p_address, p_node_parent); break; - case DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_2: node_from_unit__T_enemy__T_unk_v40_sub3__T_unk_2(p_address, p_node_parent); break; - case DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_6: node_from_unit__T_enemy__T_unk_v40_sub3__T_unk_6(p_address, p_node_parent); break; - case DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7__T_unk_sub1: node_from_unit__T_enemy__T_unk_v40_sub3__T_unk_7__T_unk_sub1(p_address, p_node_parent); break; - case DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7: node_from_unit__T_enemy__T_unk_v40_sub3__T_unk_7(p_address, p_node_parent); break; - case DF_Type::unit__T_enemy__T_unk_v40_sub3: node_from_unit__T_enemy__T_unk_v40_sub3(p_address, p_node_parent); break; - case DF_Type::unit__T_enemy: node_from_unit__T_enemy(p_address, p_node_parent); break; - case DF_Type::unit: node_from_unit(p_address, p_node_parent); break; - case DF_Type::unit_ghost_info__T_target: node_from_unit_ghost_info__T_target(p_address, p_node_parent); break; - case DF_Type::unit_ghost_info: node_from_unit_ghost_info(p_address, p_node_parent); break; - case DF_Type::unit_inventory_item: node_from_unit_inventory_item(p_address, p_node_parent); break; - case DF_Type::unit_syndrome__T_symptoms: node_from_unit_syndrome__T_symptoms(p_address, p_node_parent); break; - case DF_Type::unit_syndrome: node_from_unit_syndrome(p_address, p_node_parent); break; - case DF_Type::unit_wound__T_parts: node_from_unit_wound__T_parts(p_address, p_node_parent); break; - case DF_Type::unit_wound: node_from_unit_wound(p_address, p_node_parent); break; - case DF_Type::wound_curse_info: node_from_wound_curse_info(p_address, p_node_parent); break; - case DF_Type::unit_misc_trait: node_from_unit_misc_trait(p_address, p_node_parent); break; - case DF_Type::unit_health_info__T_op_history__T_info__T_crutch: node_from_unit_health_info__T_op_history__T_info__T_crutch(p_address, p_node_parent); break; - case DF_Type::unit_health_info__T_op_history__T_info__T_bandage: node_from_unit_health_info__T_op_history__T_info__T_bandage(p_address, p_node_parent); break; - case DF_Type::unit_health_info__T_op_history__T_info: node_from_unit_health_info__T_op_history__T_info(p_address, p_node_parent); break; - case DF_Type::unit_health_info__T_op_history: node_from_unit_health_info__T_op_history(p_address, p_node_parent); break; - case DF_Type::unit_health_info: node_from_unit_health_info(p_address, p_node_parent); break; - case DF_Type::unit_instrument_skill: node_from_unit_instrument_skill(p_address, p_node_parent); break; - case DF_Type::unit_poetic_skill: node_from_unit_poetic_skill(p_address, p_node_parent); break; - case DF_Type::unit_musical_skill: node_from_unit_musical_skill(p_address, p_node_parent); break; - case DF_Type::unit_dance_skill: node_from_unit_dance_skill(p_address, p_node_parent); break; - case DF_Type::unit_personality__T_values: node_from_unit_personality__T_values(p_address, p_node_parent); break; - case DF_Type::unit_personality__T_unk_v40_2: node_from_unit_personality__T_unk_v40_2(p_address, p_node_parent); break; - case DF_Type::unit_personality__T_emotions: node_from_unit_personality__T_emotions(p_address, p_node_parent); break; - case DF_Type::unit_personality__T_dreams: node_from_unit_personality__T_dreams(p_address, p_node_parent); break; - case DF_Type::unit_personality__T_unk_v40_6: node_from_unit_personality__T_unk_v40_6(p_address, p_node_parent); break; - case DF_Type::unit_personality__T_unk5: node_from_unit_personality__T_unk5(p_address, p_node_parent); break; - case DF_Type::unit_personality__T_needs: node_from_unit_personality__T_needs(p_address, p_node_parent); break; - case DF_Type::unit_personality: node_from_unit_personality(p_address, p_node_parent); break; - case DF_Type::historical_figure_info__T_skills: node_from_historical_figure_info__T_skills(p_address, p_node_parent); break; - case DF_Type::historical_figure_info__T_personality: node_from_historical_figure_info__T_personality(p_address, p_node_parent); break; - case DF_Type::historical_figure_info__T_masterpieces: node_from_historical_figure_info__T_masterpieces(p_address, p_node_parent); break; - case DF_Type::historical_figure_info__T_unk_14: node_from_historical_figure_info__T_unk_14(p_address, p_node_parent); break; - case DF_Type::historical_figure_info__T_wounds: node_from_historical_figure_info__T_wounds(p_address, p_node_parent); break; - case DF_Type::historical_figure_info__T_secret__T_anon_1: node_from_historical_figure_info__T_secret__T_anon_1(p_address, p_node_parent); break; - case DF_Type::historical_figure_info__T_secret__T_anon_7: node_from_historical_figure_info__T_secret__T_anon_7(p_address, p_node_parent); break; - case DF_Type::historical_figure_info__T_secret__T_knowledge: node_from_historical_figure_info__T_secret__T_knowledge(p_address, p_node_parent); break; - case DF_Type::historical_figure_info__T_secret__T_unk_a8: node_from_historical_figure_info__T_secret__T_unk_a8(p_address, p_node_parent); break; - case DF_Type::historical_figure_info__T_secret: node_from_historical_figure_info__T_secret(p_address, p_node_parent); break; - case DF_Type::historical_figure_info__T_curse: node_from_historical_figure_info__T_curse(p_address, p_node_parent); break; - case DF_Type::historical_figure_info__T_books: node_from_historical_figure_info__T_books(p_address, p_node_parent); break; - case DF_Type::historical_figure_info__T_reputation__T_wanted: node_from_historical_figure_info__T_reputation__T_wanted(p_address, p_node_parent); break; - case DF_Type::historical_figure_info__T_reputation__T_anon_1: node_from_historical_figure_info__T_reputation__T_anon_1(p_address, p_node_parent); break; - case DF_Type::historical_figure_info__T_reputation__T_unk_2c__T_anon_12: node_from_historical_figure_info__T_reputation__T_unk_2c__T_anon_12(p_address, p_node_parent); break; - case DF_Type::historical_figure_info__T_reputation__T_unk_2c: node_from_historical_figure_info__T_reputation__T_unk_2c(p_address, p_node_parent); break; - case DF_Type::historical_figure_info__T_reputation: node_from_historical_figure_info__T_reputation(p_address, p_node_parent); break; - case DF_Type::historical_figure_info__T_relationships__T_list: node_from_historical_figure_info__T_relationships__T_list(p_address, p_node_parent); break; - case DF_Type::historical_figure_info__T_relationships__T_anon_1: node_from_historical_figure_info__T_relationships__T_anon_1(p_address, p_node_parent); break; - case DF_Type::historical_figure_info__T_relationships__T_anon_2: node_from_historical_figure_info__T_relationships__T_anon_2(p_address, p_node_parent); break; - case DF_Type::historical_figure_info__T_relationships__T_anon_3: node_from_historical_figure_info__T_relationships__T_anon_3(p_address, p_node_parent); break; - case DF_Type::historical_figure_info__T_relationships: node_from_historical_figure_info__T_relationships(p_address, p_node_parent); break; - case DF_Type::historical_figure_info: node_from_historical_figure_info(p_address, p_node_parent); break; - case DF_Type::unit_soul__T_performance_skills: node_from_unit_soul__T_performance_skills(p_address, p_node_parent); break; - case DF_Type::unit_soul: node_from_unit_soul(p_address, p_node_parent); break; - case DF_Type::unit_action__T_data__T_move: node_from_unit_action__T_data__T_move(p_address, p_node_parent); break; - case DF_Type::unit_action__T_data__T_attack__T_unk_4: node_from_unit_action__T_data__T_attack__T_unk_4(p_address, p_node_parent); break; - case DF_Type::unit_action__T_data__T_attack: node_from_unit_action__T_data__T_attack(p_address, p_node_parent); break; - case DF_Type::unit_action__T_data__T_jump: node_from_unit_action__T_data__T_jump(p_address, p_node_parent); break; - case DF_Type::unit_action__T_data__T_holdterrain: node_from_unit_action__T_data__T_holdterrain(p_address, p_node_parent); break; - case DF_Type::unit_action__T_data__T_releaseterrain: node_from_unit_action__T_data__T_releaseterrain(p_address, p_node_parent); break; - case DF_Type::unit_action__T_data__T_climb: node_from_unit_action__T_data__T_climb(p_address, p_node_parent); break; - case DF_Type::unit_action__T_data__T_job: node_from_unit_action__T_data__T_job(p_address, p_node_parent); break; - case DF_Type::unit_action__T_data__T_talk: node_from_unit_action__T_data__T_talk(p_address, p_node_parent); break; - case DF_Type::unit_action__T_data__T_unsteady: node_from_unit_action__T_data__T_unsteady(p_address, p_node_parent); break; - case DF_Type::unit_action__T_data__T_parry: node_from_unit_action__T_data__T_parry(p_address, p_node_parent); break; - case DF_Type::unit_action__T_data__T_block: node_from_unit_action__T_data__T_block(p_address, p_node_parent); break; - case DF_Type::unit_action__T_data__T_dodge: node_from_unit_action__T_data__T_dodge(p_address, p_node_parent); break; - case DF_Type::unit_action__T_data__T_recover: node_from_unit_action__T_data__T_recover(p_address, p_node_parent); break; - case DF_Type::unit_action__T_data__T_standup: node_from_unit_action__T_data__T_standup(p_address, p_node_parent); break; - case DF_Type::unit_action__T_data__T_liedown: node_from_unit_action__T_data__T_liedown(p_address, p_node_parent); break; - case DF_Type::unit_action__T_data__T_job2: node_from_unit_action__T_data__T_job2(p_address, p_node_parent); break; - case DF_Type::unit_action__T_data__T_pushobject: node_from_unit_action__T_data__T_pushobject(p_address, p_node_parent); break; - case DF_Type::unit_action__T_data__T_suckblood: node_from_unit_action__T_data__T_suckblood(p_address, p_node_parent); break; - case DF_Type::unit_action__T_data__T_holditem: node_from_unit_action__T_data__T_holditem(p_address, p_node_parent); break; - case DF_Type::unit_action__T_data__T_releaseitem: node_from_unit_action__T_data__T_releaseitem(p_address, p_node_parent); break; - case DF_Type::unit_action__T_data: node_from_unit_action__T_data(p_address, p_node_parent); break; - case DF_Type::unit_action: node_from_unit_action(p_address, p_node_parent); break; - case DF_Type::unit_skill: node_from_unit_skill(p_address, p_node_parent); break; - case DF_Type::unit_preference___union5: node_from_unit_preference___union5(p_address, p_node_parent); break; - case DF_Type::unit_preference: node_from_unit_preference(p_address, p_node_parent); break; - case DF_Type::unit_complaint: node_from_unit_complaint(p_address, p_node_parent); break; - case DF_Type::unit_request: node_from_unit_request(p_address, p_node_parent); break; - case DF_Type::unit_chunk__T_units: node_from_unit_chunk__T_units(p_address, p_node_parent); break; - case DF_Type::unit_chunk: node_from_unit_chunk(p_address, p_node_parent); break; - case DF_Type::unit_appearance: node_from_unit_appearance(p_address, p_node_parent); break; - case DF_Type::vermin: node_from_vermin(p_address, p_node_parent); break; - case DF_Type::viewscreen: node_from_viewscreen(p_address, p_node_parent); break; - case DF_Type::viewscreen_layer: node_from_viewscreen_layer(p_address, p_node_parent); break; - case DF_Type::interfacest: node_from_interfacest(p_address, p_node_parent); break; - case DF_Type::layer_object_listst: node_from_layer_object_listst(p_address, p_node_parent); break; - case DF_Type::KeybindingScreen: node_from_KeybindingScreen(p_address, p_node_parent); break; - case DF_Type::MacroScreenLoad: node_from_MacroScreenLoad(p_address, p_node_parent); break; - case DF_Type::MacroScreenSave: node_from_MacroScreenSave(p_address, p_node_parent); break; - case DF_Type::world_dat_summary: node_from_world_dat_summary(p_address, p_node_parent); break; - case DF_Type::viewscreen_adopt_regionst: node_from_viewscreen_adopt_regionst(p_address, p_node_parent); break; - case DF_Type::viewscreen_adventure_logst: node_from_viewscreen_adventure_logst(p_address, p_node_parent); break; - case DF_Type::viewscreen_announcelistst: node_from_viewscreen_announcelistst(p_address, p_node_parent); break; - case DF_Type::viewscreen_assign_display_itemst: node_from_viewscreen_assign_display_itemst(p_address, p_node_parent); break; - case DF_Type::viewscreen_barterst: node_from_viewscreen_barterst(p_address, p_node_parent); break; - case DF_Type::viewscreen_buildingst: node_from_viewscreen_buildingst(p_address, p_node_parent); break; - case DF_Type::viewscreen_buildinglistst: node_from_viewscreen_buildinglistst(p_address, p_node_parent); break; - case DF_Type::embark_location: node_from_embark_location(p_address, p_node_parent); break; - case DF_Type::viewscreen_choose_start_sitest__T_finder: node_from_viewscreen_choose_start_sitest__T_finder(p_address, p_node_parent); break; - case DF_Type::viewscreen_choose_start_sitest: node_from_viewscreen_choose_start_sitest(p_address, p_node_parent); break; - case DF_Type::mission__T_details__T_raid: node_from_mission__T_details__T_raid(p_address, p_node_parent); break; - case DF_Type::mission__T_details__T_recovery: node_from_mission__T_details__T_recovery(p_address, p_node_parent); break; - case DF_Type::mission__T_details__T_rescue: node_from_mission__T_details__T_rescue(p_address, p_node_parent); break; - case DF_Type::mission__T_details__T_request: node_from_mission__T_details__T_request(p_address, p_node_parent); break; - case DF_Type::mission__T_details: node_from_mission__T_details(p_address, p_node_parent); break; - case DF_Type::mission: node_from_mission(p_address, p_node_parent); break; - case DF_Type::viewscreen_civlistst__T_artifact_details: node_from_viewscreen_civlistst__T_artifact_details(p_address, p_node_parent); break; - case DF_Type::viewscreen_civlistst__T_rumors: node_from_viewscreen_civlistst__T_rumors(p_address, p_node_parent); break; - case DF_Type::viewscreen_civlistst__T_unk_cache__T_tmp1: node_from_viewscreen_civlistst__T_unk_cache__T_tmp1(p_address, p_node_parent); break; - case DF_Type::viewscreen_civlistst__T_unk_cache__T_tmp2: node_from_viewscreen_civlistst__T_unk_cache__T_tmp2(p_address, p_node_parent); break; - case DF_Type::viewscreen_civlistst__T_unk_cache: node_from_viewscreen_civlistst__T_unk_cache(p_address, p_node_parent); break; - case DF_Type::viewscreen_civlistst: node_from_viewscreen_civlistst(p_address, p_node_parent); break; - case DF_Type::viewscreen_createquotast: node_from_viewscreen_createquotast(p_address, p_node_parent); break; - case DF_Type::viewscreen_customize_unitst: node_from_viewscreen_customize_unitst(p_address, p_node_parent); break; - case DF_Type::viewscreen_dungeon_monsterstatusst: node_from_viewscreen_dungeon_monsterstatusst(p_address, p_node_parent); break; - case DF_Type::viewscreen_dungeon_wrestlest__T_unk1: node_from_viewscreen_dungeon_wrestlest__T_unk1(p_address, p_node_parent); break; - case DF_Type::viewscreen_dungeon_wrestlest: node_from_viewscreen_dungeon_wrestlest(p_address, p_node_parent); break; - case DF_Type::viewscreen_dungeonmodest: node_from_viewscreen_dungeonmodest(p_address, p_node_parent); break; - case DF_Type::viewscreen_dwarfmodest: node_from_viewscreen_dwarfmodest(p_address, p_node_parent); break; - case DF_Type::viewscreen_entityst: node_from_viewscreen_entityst(p_address, p_node_parent); break; - case DF_Type::viewscreen_export_graphical_mapst: node_from_viewscreen_export_graphical_mapst(p_address, p_node_parent); break; - case DF_Type::viewscreen_export_regionst__T_unk1: node_from_viewscreen_export_regionst__T_unk1(p_address, p_node_parent); break; - case DF_Type::viewscreen_export_regionst: node_from_viewscreen_export_regionst(p_address, p_node_parent); break; - case DF_Type::viewscreen_game_cleanerst: node_from_viewscreen_game_cleanerst(p_address, p_node_parent); break; - case DF_Type::viewscreen_image_creatorst__T_descriptions: node_from_viewscreen_image_creatorst__T_descriptions(p_address, p_node_parent); break; - case DF_Type::viewscreen_image_creatorst__T_sites: node_from_viewscreen_image_creatorst__T_sites(p_address, p_node_parent); break; - case DF_Type::viewscreen_image_creatorst__T_entities: node_from_viewscreen_image_creatorst__T_entities(p_address, p_node_parent); break; - case DF_Type::viewscreen_image_creatorst__T_plants: node_from_viewscreen_image_creatorst__T_plants(p_address, p_node_parent); break; - case DF_Type::viewscreen_image_creatorst__T_trees: node_from_viewscreen_image_creatorst__T_trees(p_address, p_node_parent); break; - case DF_Type::viewscreen_image_creatorst__T_shapes: node_from_viewscreen_image_creatorst__T_shapes(p_address, p_node_parent); break; - case DF_Type::viewscreen_image_creatorst__T_objects: node_from_viewscreen_image_creatorst__T_objects(p_address, p_node_parent); break; - case DF_Type::viewscreen_image_creatorst__T_artifacts: node_from_viewscreen_image_creatorst__T_artifacts(p_address, p_node_parent); break; - case DF_Type::viewscreen_image_creatorst: node_from_viewscreen_image_creatorst(p_address, p_node_parent); break; - case DF_Type::viewscreen_itemst: node_from_viewscreen_itemst(p_address, p_node_parent); break; - case DF_Type::viewscreen_jobst: node_from_viewscreen_jobst(p_address, p_node_parent); break; - case DF_Type::viewscreen_joblistst: node_from_viewscreen_joblistst(p_address, p_node_parent); break; - case DF_Type::viewscreen_jobmanagementst: node_from_viewscreen_jobmanagementst(p_address, p_node_parent); break; - case DF_Type::viewscreen_justicest: node_from_viewscreen_justicest(p_address, p_node_parent); break; - case DF_Type::viewscreen_kitchenprefst: node_from_viewscreen_kitchenprefst(p_address, p_node_parent); break; - case DF_Type::viewscreen_layer_arena_creaturest: node_from_viewscreen_layer_arena_creaturest(p_address, p_node_parent); break; - case DF_Type::assign_trade_status: node_from_assign_trade_status(p_address, p_node_parent); break; - case DF_Type::viewscreen_layer_assigntradest: node_from_viewscreen_layer_assigntradest(p_address, p_node_parent); break; - case DF_Type::viewscreen_layer_choose_language_namest: node_from_viewscreen_layer_choose_language_namest(p_address, p_node_parent); break; - case DF_Type::viewscreen_layer_currencyst: node_from_viewscreen_layer_currencyst(p_address, p_node_parent); break; - case DF_Type::viewscreen_layer_export_play_mapst: node_from_viewscreen_layer_export_play_mapst(p_address, p_node_parent); break; - case DF_Type::viewscreen_layer_militaryst__T_squads: node_from_viewscreen_layer_militaryst__T_squads(p_address, p_node_parent); break; - case DF_Type::viewscreen_layer_militaryst__T_positions: node_from_viewscreen_layer_militaryst__T_positions(p_address, p_node_parent); break; - case DF_Type::viewscreen_layer_militaryst__T_squad_members: node_from_viewscreen_layer_militaryst__T_squad_members(p_address, p_node_parent); break; - case DF_Type::viewscreen_layer_militaryst__T_equip__T_assigned: node_from_viewscreen_layer_militaryst__T_equip__T_assigned(p_address, p_node_parent); break; - case DF_Type::viewscreen_layer_militaryst__T_equip__T_uniform: node_from_viewscreen_layer_militaryst__T_equip__T_uniform(p_address, p_node_parent); break; - case DF_Type::viewscreen_layer_militaryst__T_equip__T_add_item: node_from_viewscreen_layer_militaryst__T_equip__T_add_item(p_address, p_node_parent); break; - case DF_Type::viewscreen_layer_militaryst__T_equip__T_material: node_from_viewscreen_layer_militaryst__T_equip__T_material(p_address, p_node_parent); break; - case DF_Type::viewscreen_layer_militaryst__T_equip__T_color: node_from_viewscreen_layer_militaryst__T_equip__T_color(p_address, p_node_parent); break; - case DF_Type::viewscreen_layer_militaryst__T_equip: node_from_viewscreen_layer_militaryst__T_equip(p_address, p_node_parent); break; - case DF_Type::viewscreen_layer_militaryst__T_ammo__T_add_item: node_from_viewscreen_layer_militaryst__T_ammo__T_add_item(p_address, p_node_parent); break; - case DF_Type::viewscreen_layer_militaryst__T_ammo__T_material: node_from_viewscreen_layer_militaryst__T_ammo__T_material(p_address, p_node_parent); break; - case DF_Type::viewscreen_layer_militaryst__T_ammo: node_from_viewscreen_layer_militaryst__T_ammo(p_address, p_node_parent); break; - case DF_Type::viewscreen_layer_militaryst: node_from_viewscreen_layer_militaryst(p_address, p_node_parent); break; - case DF_Type::viewscreen_layer_musicsoundst: node_from_viewscreen_layer_musicsoundst(p_address, p_node_parent); break; - case DF_Type::unit_storage_status: node_from_unit_storage_status(p_address, p_node_parent); break; - case DF_Type::viewscreen_layer_noblelistst__T_info: node_from_viewscreen_layer_noblelistst__T_info(p_address, p_node_parent); break; - case DF_Type::viewscreen_layer_noblelistst__T_candidates: node_from_viewscreen_layer_noblelistst__T_candidates(p_address, p_node_parent); break; - case DF_Type::viewscreen_layer_noblelistst: node_from_viewscreen_layer_noblelistst(p_address, p_node_parent); break; - case DF_Type::viewscreen_layer_overall_healthst: node_from_viewscreen_layer_overall_healthst(p_address, p_node_parent); break; - case DF_Type::viewscreen_layer_reactionst: node_from_viewscreen_layer_reactionst(p_address, p_node_parent); break; - case DF_Type::viewscreen_layer_squad_schedulest: node_from_viewscreen_layer_squad_schedulest(p_address, p_node_parent); break; - case DF_Type::viewscreen_layer_stockpilest: node_from_viewscreen_layer_stockpilest(p_address, p_node_parent); break; - case DF_Type::viewscreen_layer_stone_restrictionst: node_from_viewscreen_layer_stone_restrictionst(p_address, p_node_parent); break; - case DF_Type::viewscreen_layer_unit_actionst: node_from_viewscreen_layer_unit_actionst(p_address, p_node_parent); break; - case DF_Type::viewscreen_layer_unit_healthst: node_from_viewscreen_layer_unit_healthst(p_address, p_node_parent); break; - case DF_Type::viewscreen_layer_unit_relationshipst: node_from_viewscreen_layer_unit_relationshipst(p_address, p_node_parent); break; - case DF_Type::viewscreen_layer_world_gen_paramst__T_unk1: node_from_viewscreen_layer_world_gen_paramst__T_unk1(p_address, p_node_parent); break; - case DF_Type::viewscreen_layer_world_gen_paramst: node_from_viewscreen_layer_world_gen_paramst(p_address, p_node_parent); break; - case DF_Type::viewscreen_layer_world_gen_param_presetst: node_from_viewscreen_layer_world_gen_param_presetst(p_address, p_node_parent); break; - case DF_Type::viewscreen_legendsst__T_anon_7__T_anon_3: node_from_viewscreen_legendsst__T_anon_7__T_anon_3(p_address, p_node_parent); break; - case DF_Type::viewscreen_legendsst__T_anon_7: node_from_viewscreen_legendsst__T_anon_7(p_address, p_node_parent); break; - case DF_Type::viewscreen_legendsst: node_from_viewscreen_legendsst(p_address, p_node_parent); break; - case DF_Type::viewscreen_locationsst: node_from_viewscreen_locationsst(p_address, p_node_parent); break; - case DF_Type::loadgame_save_info: node_from_loadgame_save_info(p_address, p_node_parent); break; - case DF_Type::viewscreen_loadgamest: node_from_viewscreen_loadgamest(p_address, p_node_parent); break; - case DF_Type::viewscreen_meetingst: node_from_viewscreen_meetingst(p_address, p_node_parent); break; - case DF_Type::viewscreen_movieplayerst: node_from_viewscreen_movieplayerst(p_address, p_node_parent); break; - case DF_Type::viewscreen_new_regionst: node_from_viewscreen_new_regionst(p_address, p_node_parent); break; - case DF_Type::viewscreen_noblest: node_from_viewscreen_noblest(p_address, p_node_parent); break; - case DF_Type::viewscreen_optionst: node_from_viewscreen_optionst(p_address, p_node_parent); break; - case DF_Type::viewscreen_overallstatusst: node_from_viewscreen_overallstatusst(p_address, p_node_parent); break; - case DF_Type::viewscreen_petitionsst: node_from_viewscreen_petitionsst(p_address, p_node_parent); break; - case DF_Type::viewscreen_petst__T_animal: node_from_viewscreen_petst__T_animal(p_address, p_node_parent); break; - case DF_Type::viewscreen_petst: node_from_viewscreen_petst(p_address, p_node_parent); break; - case DF_Type::viewscreen_pricest: node_from_viewscreen_pricest(p_address, p_node_parent); break; - case DF_Type::viewscreen_reportlistst: node_from_viewscreen_reportlistst(p_address, p_node_parent); break; - case DF_Type::viewscreen_requestagreementst: node_from_viewscreen_requestagreementst(p_address, p_node_parent); break; - case DF_Type::nemesis_offload: node_from_nemesis_offload(p_address, p_node_parent); break; - case DF_Type::ui__T_tax_collection: node_from_ui__T_tax_collection(p_address, p_node_parent); break; - case DF_Type::ui__T_becoming_capital: node_from_ui__T_becoming_capital(p_address, p_node_parent); break; - case DF_Type::ui__T_invasions: node_from_ui__T_invasions(p_address, p_node_parent); break; - case DF_Type::ui__T_kitchen: node_from_ui__T_kitchen(p_address, p_node_parent); break; - case DF_Type::ui__T_economy_prices__T_price_adjustment: node_from_ui__T_economy_prices__T_price_adjustment(p_address, p_node_parent); break; - case DF_Type::ui__T_economy_prices__T_price_setter: node_from_ui__T_economy_prices__T_price_setter(p_address, p_node_parent); break; - case DF_Type::ui__T_economy_prices: node_from_ui__T_economy_prices(p_address, p_node_parent); break; - case DF_Type::ui__T_stockpile: node_from_ui__T_stockpile(p_address, p_node_parent); break; - case DF_Type::ui__T_unk2a8c: node_from_ui__T_unk2a8c(p_address, p_node_parent); break; - case DF_Type::ui__T_map_edge: node_from_ui__T_map_edge(p_address, p_node_parent); break; - case DF_Type::ui__T_waypoints__T_points: node_from_ui__T_waypoints__T_points(p_address, p_node_parent); break; - case DF_Type::ui__T_waypoints__T_routes: node_from_ui__T_waypoints__T_routes(p_address, p_node_parent); break; - case DF_Type::ui__T_waypoints: node_from_ui__T_waypoints(p_address, p_node_parent); break; - case DF_Type::ui__T_burrows: node_from_ui__T_burrows(p_address, p_node_parent); break; - case DF_Type::ui__T_alerts__T_list: node_from_ui__T_alerts__T_list(p_address, p_node_parent); break; - case DF_Type::ui__T_alerts: node_from_ui__T_alerts(p_address, p_node_parent); break; - case DF_Type::ui__T_equipment: node_from_ui__T_equipment(p_address, p_node_parent); break; - case DF_Type::ui__T_hauling: node_from_ui__T_hauling(p_address, p_node_parent); break; - case DF_Type::ui__T_main__T_dead_citizens: node_from_ui__T_main__T_dead_citizens(p_address, p_node_parent); break; - case DF_Type::ui__T_main: node_from_ui__T_main(p_address, p_node_parent); break; - case DF_Type::ui__T_squads: node_from_ui__T_squads(p_address, p_node_parent); break; - case DF_Type::ui: node_from_ui(p_address, p_node_parent); break; - case DF_Type::viewscreen_savegamest: node_from_viewscreen_savegamest(p_address, p_node_parent); break; - case DF_Type::viewscreen_selectitemst: node_from_viewscreen_selectitemst(p_address, p_node_parent); break; - case DF_Type::setup_character_info: node_from_setup_character_info(p_address, p_node_parent); break; - case DF_Type::viewscreen_setupadventurest__T_races_info: node_from_viewscreen_setupadventurest__T_races_info(p_address, p_node_parent); break; - case DF_Type::viewscreen_setupadventurest: node_from_viewscreen_setupadventurest(p_address, p_node_parent); break; - case DF_Type::embark_item_choice__T_list: node_from_embark_item_choice__T_list(p_address, p_node_parent); break; - case DF_Type::embark_item_choice: node_from_embark_item_choice(p_address, p_node_parent); break; - case DF_Type::embark_profile: node_from_embark_profile(p_address, p_node_parent); break; - case DF_Type::viewscreen_setupdwarfgamest__T_animals: node_from_viewscreen_setupdwarfgamest__T_animals(p_address, p_node_parent); break; - case DF_Type::viewscreen_setupdwarfgamest__T_unk_v43__T_unk_v43_sub9: node_from_viewscreen_setupdwarfgamest__T_unk_v43__T_unk_v43_sub9(p_address, p_node_parent); break; - case DF_Type::viewscreen_setupdwarfgamest__T_unk_v43: node_from_viewscreen_setupdwarfgamest__T_unk_v43(p_address, p_node_parent); break; - case DF_Type::viewscreen_setupdwarfgamest: node_from_viewscreen_setupdwarfgamest(p_address, p_node_parent); break; - case DF_Type::viewscreen_storesst: node_from_viewscreen_storesst(p_address, p_node_parent); break; - case DF_Type::viewscreen_textviewerst__T_formatted_text: node_from_viewscreen_textviewerst__T_formatted_text(p_address, p_node_parent); break; - case DF_Type::viewscreen_textviewerst: node_from_viewscreen_textviewerst(p_address, p_node_parent); break; - case DF_Type::viewscreen_titlest__T_start_savegames: node_from_viewscreen_titlest__T_start_savegames(p_address, p_node_parent); break; - case DF_Type::viewscreen_titlest: node_from_viewscreen_titlest(p_address, p_node_parent); break; - case DF_Type::viewscreen_topicmeetingst: node_from_viewscreen_topicmeetingst(p_address, p_node_parent); break; - case DF_Type::viewscreen_topicmeeting_fill_land_holder_positionsst: node_from_viewscreen_topicmeeting_fill_land_holder_positionsst(p_address, p_node_parent); break; - case DF_Type::viewscreen_topicmeeting_takerequestsst: node_from_viewscreen_topicmeeting_takerequestsst(p_address, p_node_parent); break; - case DF_Type::viewscreen_tradeagreementst: node_from_viewscreen_tradeagreementst(p_address, p_node_parent); break; - case DF_Type::viewscreen_tradegoodsst: node_from_viewscreen_tradegoodsst(p_address, p_node_parent); break; - case DF_Type::viewscreen_tradelistst: node_from_viewscreen_tradelistst(p_address, p_node_parent); break; - case DF_Type::viewscreen_treasurelistst: node_from_viewscreen_treasurelistst(p_address, p_node_parent); break; - case DF_Type::viewscreen_unitst: node_from_viewscreen_unitst(p_address, p_node_parent); break; - case DF_Type::viewscreen_unitlistst: node_from_viewscreen_unitlistst(p_address, p_node_parent); break; - case DF_Type::viewscreen_wagesst: node_from_viewscreen_wagesst(p_address, p_node_parent); break; - case DF_Type::viewscreen_workquota_conditionst__T_traits: node_from_viewscreen_workquota_conditionst__T_traits(p_address, p_node_parent); break; - case DF_Type::viewscreen_workquota_conditionst: node_from_viewscreen_workquota_conditionst(p_address, p_node_parent); break; - case DF_Type::viewscreen_workquota_detailsst: node_from_viewscreen_workquota_detailsst(p_address, p_node_parent); break; - case DF_Type::viewscreen_workshop_profilest: node_from_viewscreen_workshop_profilest(p_address, p_node_parent); break; - case DF_Type::viewscreen_update_regionst: node_from_viewscreen_update_regionst(p_address, p_node_parent); break; - case DF_Type::world_site_unk130__T_unk_4: node_from_world_site_unk130__T_unk_4(p_address, p_node_parent); break; - case DF_Type::world_site_unk130: node_from_world_site_unk130(p_address, p_node_parent); break; - case DF_Type::embark_note: node_from_embark_note(p_address, p_node_parent); break; - case DF_Type::local_population___union6: node_from_local_population___union6(p_address, p_node_parent); break; - case DF_Type::local_population: node_from_local_population(p_address, p_node_parent); break; - case DF_Type::world_population___union7: node_from_world_population___union7(p_address, p_node_parent); break; - case DF_Type::world_population: node_from_world_population(p_address, p_node_parent); break; - case DF_Type::world_landmass: node_from_world_landmass(p_address, p_node_parent); break; - case DF_Type::world_region: node_from_world_region(p_address, p_node_parent); break; - case DF_Type::world_underground_region: node_from_world_underground_region(p_address, p_node_parent); break; - case DF_Type::world_river: node_from_world_river(p_address, p_node_parent); break; - case DF_Type::world_geo_layer: node_from_world_geo_layer(p_address, p_node_parent); break; - case DF_Type::world_geo_biome: node_from_world_geo_biome(p_address, p_node_parent); break; - case DF_Type::world_region_feature: node_from_world_region_feature(p_address, p_node_parent); break; - case DF_Type::world_region_details__T_edges: node_from_world_region_details__T_edges(p_address, p_node_parent); break; - case DF_Type::world_region_details__T_rivers_vertical: node_from_world_region_details__T_rivers_vertical(p_address, p_node_parent); break; - case DF_Type::world_region_details__T_rivers_horizontal: node_from_world_region_details__T_rivers_horizontal(p_address, p_node_parent); break; - case DF_Type::world_region_details: node_from_world_region_details(p_address, p_node_parent); break; - case DF_Type::region_map_entry: node_from_region_map_entry(p_address, p_node_parent); break; - case DF_Type::entity_claim_mask__T_map: node_from_entity_claim_mask__T_map(p_address, p_node_parent); break; - case DF_Type::entity_claim_mask: node_from_entity_claim_mask(p_address, p_node_parent); break; - case DF_Type::moving_party__T_members: node_from_moving_party__T_members(p_address, p_node_parent); break; - case DF_Type::moving_party: node_from_moving_party(p_address, p_node_parent); break; - case DF_Type::world_object_data__T_offloaded_items: node_from_world_object_data__T_offloaded_items(p_address, p_node_parent); break; - case DF_Type::world_object_data__T_offloaded_buildings: node_from_world_object_data__T_offloaded_buildings(p_address, p_node_parent); break; - case DF_Type::world_object_data__T_unk_94: node_from_world_object_data__T_unk_94(p_address, p_node_parent); break; - case DF_Type::world_object_data: node_from_world_object_data(p_address, p_node_parent); break; - case DF_Type::world_data__T_unk_b4: node_from_world_data__T_unk_b4(p_address, p_node_parent); break; - case DF_Type::world_data__T_constructions: node_from_world_data__T_constructions(p_address, p_node_parent); break; - case DF_Type::world_data__T_unk_150__T_unk_8: node_from_world_data__T_unk_150__T_unk_8(p_address, p_node_parent); break; - case DF_Type::world_data__T_unk_150__T_unk_18: node_from_world_data__T_unk_150__T_unk_18(p_address, p_node_parent); break; - case DF_Type::world_data__T_unk_150__T_unk_28: node_from_world_data__T_unk_150__T_unk_28(p_address, p_node_parent); break; - case DF_Type::world_data__T_unk_150: node_from_world_data__T_unk_150(p_address, p_node_parent); break; - case DF_Type::world_data__T_unk_170__T_unk_4: node_from_world_data__T_unk_170__T_unk_4(p_address, p_node_parent); break; - case DF_Type::world_data__T_unk_170: node_from_world_data__T_unk_170(p_address, p_node_parent); break; - case DF_Type::world_data__T_freakish_weather: node_from_world_data__T_freakish_weather(p_address, p_node_parent); break; - case DF_Type::world_data__T_mountain_peaks: node_from_world_data__T_mountain_peaks(p_address, p_node_parent); break; - case DF_Type::world_data__T_feature_map__T_features: node_from_world_data__T_feature_map__T_features(p_address, p_node_parent); break; - case DF_Type::world_data__T_feature_map: node_from_world_data__T_feature_map(p_address, p_node_parent); break; - case DF_Type::world_data__T_unk_274__T_unk_10: node_from_world_data__T_unk_274__T_unk_10(p_address, p_node_parent); break; - case DF_Type::world_data__T_unk_274: node_from_world_data__T_unk_274(p_address, p_node_parent); break; - case DF_Type::world_data__T_unk_482f8: node_from_world_data__T_unk_482f8(p_address, p_node_parent); break; - case DF_Type::world_data: node_from_world_data(p_address, p_node_parent); break; - case DF_Type::site_reputation_info: node_from_site_reputation_info(p_address, p_node_parent); break; - case DF_Type::location_scribe_jobs: node_from_location_scribe_jobs(p_address, p_node_parent); break; - case DF_Type::abstract_building_unk__T_anon_1: node_from_abstract_building_unk__T_anon_1(p_address, p_node_parent); break; - case DF_Type::abstract_building_unk: node_from_abstract_building_unk(p_address, p_node_parent); break; - case DF_Type::abstract_building__T_inhabitants: node_from_abstract_building__T_inhabitants(p_address, p_node_parent); break; - case DF_Type::abstract_building__T_unk1: node_from_abstract_building__T_unk1(p_address, p_node_parent); break; - case DF_Type::abstract_building: node_from_abstract_building(p_address, p_node_parent); break; - case DF_Type::abstract_building_keepst: node_from_abstract_building_keepst(p_address, p_node_parent); break; - case DF_Type::abstract_building_templest: node_from_abstract_building_templest(p_address, p_node_parent); break; - case DF_Type::abstract_building_dark_towerst: node_from_abstract_building_dark_towerst(p_address, p_node_parent); break; - case DF_Type::abstract_building_marketst: node_from_abstract_building_marketst(p_address, p_node_parent); break; - case DF_Type::abstract_building_tombst: node_from_abstract_building_tombst(p_address, p_node_parent); break; - case DF_Type::abstract_building_dungeonst: node_from_abstract_building_dungeonst(p_address, p_node_parent); break; - case DF_Type::abstract_building_underworld_spirest: node_from_abstract_building_underworld_spirest(p_address, p_node_parent); break; - case DF_Type::abstract_building_inn_tavernst__T_room_info: node_from_abstract_building_inn_tavernst__T_room_info(p_address, p_node_parent); break; - case DF_Type::abstract_building_inn_tavernst: node_from_abstract_building_inn_tavernst(p_address, p_node_parent); break; - case DF_Type::abstract_building_libraryst: node_from_abstract_building_libraryst(p_address, p_node_parent); break; - case DF_Type::world_site__T_unk_1__T_units: node_from_world_site__T_unk_1__T_units(p_address, p_node_parent); break; - case DF_Type::world_site__T_unk_1: node_from_world_site__T_unk_1(p_address, p_node_parent); break; - case DF_Type::world_site__T_unk_118: node_from_world_site__T_unk_118(p_address, p_node_parent); break; - case DF_Type::world_site__T_unk_13c: node_from_world_site__T_unk_13c(p_address, p_node_parent); break; - case DF_Type::world_site__T_unk_v40_2: node_from_world_site__T_unk_v40_2(p_address, p_node_parent); break; - case DF_Type::world_site__T_subtype_info: node_from_world_site__T_subtype_info(p_address, p_node_parent); break; - case DF_Type::world_site__T_unk_21c: node_from_world_site__T_unk_21c(p_address, p_node_parent); break; - case DF_Type::world_site__T_unk_v40_4a: node_from_world_site__T_unk_v40_4a(p_address, p_node_parent); break; - case DF_Type::world_site__T_unk_v40_4b: node_from_world_site__T_unk_v40_4b(p_address, p_node_parent); break; - case DF_Type::world_site__T_unk_v40_4c: node_from_world_site__T_unk_v40_4c(p_address, p_node_parent); break; - case DF_Type::world_site__T_unk_v40_4d__T_anon_2: node_from_world_site__T_unk_v40_4d__T_anon_2(p_address, p_node_parent); break; - case DF_Type::world_site__T_unk_v40_4d: node_from_world_site__T_unk_v40_4d(p_address, p_node_parent); break; - case DF_Type::world_site__T_unk_v43_2: node_from_world_site__T_unk_v43_2(p_address, p_node_parent); break; - case DF_Type::world_site__T_unk_188__T_unk1: node_from_world_site__T_unk_188__T_unk1(p_address, p_node_parent); break; - case DF_Type::world_site__T_unk_188: node_from_world_site__T_unk_188(p_address, p_node_parent); break; - case DF_Type::world_site: node_from_world_site(p_address, p_node_parent); break; - case DF_Type::cultural_identity__T_group_log: node_from_cultural_identity__T_group_log(p_address, p_node_parent); break; - case DF_Type::cultural_identity: node_from_cultural_identity(p_address, p_node_parent); break; - case DF_Type::site_realization_crossroads: node_from_site_realization_crossroads(p_address, p_node_parent); break; - case DF_Type::site_building_item: node_from_site_building_item(p_address, p_node_parent); break; - case DF_Type::abstract_building_mead_hallst: node_from_abstract_building_mead_hallst(p_address, p_node_parent); break; - case DF_Type::site_realization_building__T_unk_4c: node_from_site_realization_building__T_unk_4c(p_address, p_node_parent); break; - case DF_Type::site_realization_building: node_from_site_realization_building(p_address, p_node_parent); break; - case DF_Type::world_site_realization__T_river_map: node_from_world_site_realization__T_river_map(p_address, p_node_parent); break; - case DF_Type::world_site_realization__T_unk_55e8__T_unk_v40_2: node_from_world_site_realization__T_unk_55e8__T_unk_v40_2(p_address, p_node_parent); break; - case DF_Type::world_site_realization__T_unk_55e8: node_from_world_site_realization__T_unk_55e8(p_address, p_node_parent); break; - case DF_Type::world_site_realization__T_building_map: node_from_world_site_realization__T_building_map(p_address, p_node_parent); break; - case DF_Type::world_site_realization__T_areas: node_from_world_site_realization__T_areas(p_address, p_node_parent); break; - case DF_Type::world_site_realization__T_unk_193bc__T_unk_8: node_from_world_site_realization__T_unk_193bc__T_unk_8(p_address, p_node_parent); break; - case DF_Type::world_site_realization__T_unk_193bc: node_from_world_site_realization__T_unk_193bc(p_address, p_node_parent); break; - case DF_Type::world_site_realization: node_from_world_site_realization(p_address, p_node_parent); break; - case DF_Type::site_realization_building_info_castle_wallst: node_from_site_realization_building_info_castle_wallst(p_address, p_node_parent); break; - case DF_Type::site_realization_building_info_castle_towerst: node_from_site_realization_building_info_castle_towerst(p_address, p_node_parent); break; - case DF_Type::site_realization_building_info_shop_housest: node_from_site_realization_building_info_shop_housest(p_address, p_node_parent); break; - case DF_Type::site_realization_building_info_market_squarest: node_from_site_realization_building_info_market_squarest(p_address, p_node_parent); break; - case DF_Type::site_realization_building_info_trenchesst__T_spokes: node_from_site_realization_building_info_trenchesst__T_spokes(p_address, p_node_parent); break; - case DF_Type::site_realization_building_info_trenchesst: node_from_site_realization_building_info_trenchesst(p_address, p_node_parent); break; - case DF_Type::site_realization_building_info_tree_housest: node_from_site_realization_building_info_tree_housest(p_address, p_node_parent); break; - case DF_Type::site_realization_building_info_hillock_housest: node_from_site_realization_building_info_hillock_housest(p_address, p_node_parent); break; - case DF_Type::creation_zone_pwg_alteration_location_deathst__T_unk_1__T_anon_1: node_from_creation_zone_pwg_alteration_location_deathst__T_unk_1__T_anon_1(p_address, p_node_parent); break; - case DF_Type::creation_zone_pwg_alteration_location_deathst__T_unk_1: node_from_creation_zone_pwg_alteration_location_deathst__T_unk_1(p_address, p_node_parent); break; - case DF_Type::creation_zone_pwg_alteration_location_deathst: node_from_creation_zone_pwg_alteration_location_deathst(p_address, p_node_parent); break; - case DF_Type::incident__T_unk_v42_1: node_from_incident__T_unk_v42_1(p_address, p_node_parent); break; - case DF_Type::incident: node_from_incident(p_address, p_node_parent); break; - case DF_Type::incident_sub6_performance__T_participants: node_from_incident_sub6_performance__T_participants(p_address, p_node_parent); break; - case DF_Type::incident_sub6_performance: node_from_incident_sub6_performance(p_address, p_node_parent); break; - case DF_Type::incident_sub7: node_from_incident_sub7(p_address, p_node_parent); break; - case DF_Type::incident_sub8: node_from_incident_sub8(p_address, p_node_parent); break; - case DF_Type::incident_sub9: node_from_incident_sub9(p_address, p_node_parent); break; - case DF_Type::incident_sub10: node_from_incident_sub10(p_address, p_node_parent); break; - case DF_Type::crime__T_punishment: node_from_crime__T_punishment(p_address, p_node_parent); break; - case DF_Type::crime__T_reports: node_from_crime__T_reports(p_address, p_node_parent); break; - case DF_Type::crime: node_from_crime(p_address, p_node_parent); break; - case DF_Type::mission_report: node_from_mission_report(p_address, p_node_parent); break; - case DF_Type::spoils_report: node_from_spoils_report(p_address, p_node_parent); break; - case DF_Type::world_unk_20__T_anon_7: node_from_world_unk_20__T_anon_7(p_address, p_node_parent); break; - case DF_Type::world_unk_20: node_from_world_unk_20(p_address, p_node_parent); break; - case DF_Type::world_unk_6c: node_from_world_unk_6c(p_address, p_node_parent); break; - case DF_Type::world_unk_9c: node_from_world_unk_9c(p_address, p_node_parent); break; - case DF_Type::world_unk_c0__T_anon_7: node_from_world_unk_c0__T_anon_7(p_address, p_node_parent); break; - case DF_Type::world_unk_c0: node_from_world_unk_c0(p_address, p_node_parent); break; - case DF_Type::glowing_barrier: node_from_glowing_barrier(p_address, p_node_parent); break; - case DF_Type::deep_vein_hollow: node_from_deep_vein_hollow(p_address, p_node_parent); break; - case DF_Type::campfire: node_from_campfire(p_address, p_node_parent); break; - case DF_Type::web_cluster: node_from_web_cluster(p_address, p_node_parent); break; - case DF_Type::fire: node_from_fire(p_address, p_node_parent); break; - case DF_Type::job_handler__T_postings: node_from_job_handler__T_postings(p_address, p_node_parent); break; - case DF_Type::job_handler__T_anon_1: node_from_job_handler__T_anon_1(p_address, p_node_parent); break; - case DF_Type::job_handler: node_from_job_handler(p_address, p_node_parent); break; - case DF_Type::building_handler: node_from_building_handler(p_address, p_node_parent); break; - case DF_Type::machine_handler: node_from_machine_handler(p_address, p_node_parent); break; - case DF_Type::mental_picture: node_from_mental_picture(p_address, p_node_parent); break; - case DF_Type::belief_system: node_from_belief_system(p_address, p_node_parent); break; - case DF_Type::world__T_vermin: node_from_world__T_vermin(p_address, p_node_parent); break; - case DF_Type::world__T_entities: node_from_world__T_entities(p_address, p_node_parent); break; - case DF_Type::world__T_worldgen_coord_buf: node_from_world__T_worldgen_coord_buf(p_address, p_node_parent); break; - case DF_Type::world__T_units: node_from_world__T_units(p_address, p_node_parent); break; - case DF_Type::world__T_nemesis: node_from_world__T_nemesis(p_address, p_node_parent); break; - case DF_Type::world__T_items: node_from_world__T_items(p_address, p_node_parent); break; - case DF_Type::world__T_artifacts: node_from_world__T_artifacts(p_address, p_node_parent); break; - case DF_Type::world__T_flow_guides: node_from_world__T_flow_guides(p_address, p_node_parent); break; - case DF_Type::world__T_stockpile__T_simple1: node_from_world__T_stockpile__T_simple1(p_address, p_node_parent); break; - case DF_Type::world__T_stockpile__T_simple2: node_from_world__T_stockpile__T_simple2(p_address, p_node_parent); break; - case DF_Type::world__T_stockpile__T_simple3: node_from_world__T_stockpile__T_simple3(p_address, p_node_parent); break; - case DF_Type::world__T_stockpile: node_from_world__T_stockpile(p_address, p_node_parent); break; - case DF_Type::world__T_plants: node_from_world__T_plants(p_address, p_node_parent); break; - case DF_Type::world__T_enemy_status_cache: node_from_world__T_enemy_status_cache(p_address, p_node_parent); break; - case DF_Type::world__T_schedules: node_from_world__T_schedules(p_address, p_node_parent); break; - case DF_Type::world__T_squads: node_from_world__T_squads(p_address, p_node_parent); break; - case DF_Type::world__T_formations: node_from_world__T_formations(p_address, p_node_parent); break; - case DF_Type::world__T_activities: node_from_world__T_activities(p_address, p_node_parent); break; - case DF_Type::world__T_status__T_slots: node_from_world__T_status__T_slots(p_address, p_node_parent); break; - case DF_Type::world__T_status: node_from_world__T_status(p_address, p_node_parent); break; - case DF_Type::world__T_interaction_instances: node_from_world__T_interaction_instances(p_address, p_node_parent); break; - case DF_Type::world__T_written_contents: node_from_world__T_written_contents(p_address, p_node_parent); break; - case DF_Type::world__T_identities: node_from_world__T_identities(p_address, p_node_parent); break; - case DF_Type::world__T_incidents: node_from_world__T_incidents(p_address, p_node_parent); break; - case DF_Type::world__T_crimes: node_from_world__T_crimes(p_address, p_node_parent); break; - case DF_Type::world__T_vehicles: node_from_world__T_vehicles(p_address, p_node_parent); break; - case DF_Type::world__T_armies: node_from_world__T_armies(p_address, p_node_parent); break; - case DF_Type::world__T_army_controllers: node_from_world__T_army_controllers(p_address, p_node_parent); break; - case DF_Type::world__T_army_tracking_info: node_from_world__T_army_tracking_info(p_address, p_node_parent); break; - case DF_Type::world__T_cultural_identities: node_from_world__T_cultural_identities(p_address, p_node_parent); break; - case DF_Type::world__T_agreements: node_from_world__T_agreements(p_address, p_node_parent); break; - case DF_Type::world__T_poetic_forms: node_from_world__T_poetic_forms(p_address, p_node_parent); break; - case DF_Type::world__T_musical_forms: node_from_world__T_musical_forms(p_address, p_node_parent); break; - case DF_Type::world__T_dance_forms: node_from_world__T_dance_forms(p_address, p_node_parent); break; - case DF_Type::world__T_scales: node_from_world__T_scales(p_address, p_node_parent); break; - case DF_Type::world__T_rhythms: node_from_world__T_rhythms(p_address, p_node_parent); break; - case DF_Type::world__T_occupations: node_from_world__T_occupations(p_address, p_node_parent); break; - case DF_Type::world__T_belief_systems: node_from_world__T_belief_systems(p_address, p_node_parent); break; - case DF_Type::world__T_map: node_from_world__T_map(p_address, p_node_parent); break; - case DF_Type::world__T_profession_skills: node_from_world__T_profession_skills(p_address, p_node_parent); break; - case DF_Type::world__T_math__T_approx: node_from_world__T_math__T_approx(p_address, p_node_parent); break; - case DF_Type::world__T_math: node_from_world__T_math(p_address, p_node_parent); break; - case DF_Type::world__T_map_extras: node_from_world__T_map_extras(p_address, p_node_parent); break; - case DF_Type::world__T_worldgen_status: node_from_world__T_worldgen_status(p_address, p_node_parent); break; - case DF_Type::world__T_unk_59dc4__T_unk1: node_from_world__T_unk_59dc4__T_unk1(p_address, p_node_parent); break; - case DF_Type::world__T_unk_59dc4: node_from_world__T_unk_59dc4(p_address, p_node_parent); break; - case DF_Type::world__T_flow_engine: node_from_world__T_flow_engine(p_address, p_node_parent); break; - case DF_Type::world__T_worldgen__T_worldgen_parms: node_from_world__T_worldgen__T_worldgen_parms(p_address, p_node_parent); break; - case DF_Type::world__T_worldgen: node_from_world__T_worldgen(p_address, p_node_parent); break; - case DF_Type::world__T_unk_v40_6: node_from_world__T_unk_v40_6(p_address, p_node_parent); break; - case DF_Type::world__T_unk_131ec0: node_from_world__T_unk_131ec0(p_address, p_node_parent); break; - case DF_Type::world__T_languages: node_from_world__T_languages(p_address, p_node_parent); break; - case DF_Type::world__T_unk_131ef0__T_unk_2: node_from_world__T_unk_131ef0__T_unk_2(p_address, p_node_parent); break; - case DF_Type::world__T_unk_131ef0: node_from_world__T_unk_131ef0(p_address, p_node_parent); break; - case DF_Type::world__T_pathfinder__T_boundary_heap: node_from_world__T_pathfinder__T_boundary_heap(p_address, p_node_parent); break; - case DF_Type::world__T_pathfinder: node_from_world__T_pathfinder(p_address, p_node_parent); break; - case DF_Type::world__T_cur_savegame: node_from_world__T_cur_savegame(p_address, p_node_parent); break; - case DF_Type::world__T_features: node_from_world__T_features(p_address, p_node_parent); break; - case DF_Type::world__T_arena_spawn__T_item_types: node_from_world__T_arena_spawn__T_item_types(p_address, p_node_parent); break; - case DF_Type::world__T_arena_spawn__T_equipment: node_from_world__T_arena_spawn__T_equipment(p_address, p_node_parent); break; - case DF_Type::world__T_arena_spawn: node_from_world__T_arena_spawn(p_address, p_node_parent); break; - case DF_Type::world__T_arena_settings: node_from_world__T_arena_settings(p_address, p_node_parent); break; - case DF_Type::world__T_unk_19325c__T_anon_1: node_from_world__T_unk_19325c__T_anon_1(p_address, p_node_parent); break; - case DF_Type::world__T_unk_19325c__T_anon_2: node_from_world__T_unk_19325c__T_anon_2(p_address, p_node_parent); break; - case DF_Type::world__T_unk_19325c__T_anon_3: node_from_world__T_unk_19325c__T_anon_3(p_address, p_node_parent); break; - case DF_Type::world__T_unk_19325c: node_from_world__T_unk_19325c(p_address, p_node_parent); break; - case DF_Type::world: node_from_world(p_address, p_node_parent); break; - case DF_Type::T_cursor: node_from_T_cursor(p_address, p_node_parent); break; - case DF_Type::T_selection_rect: node_from_T_selection_rect(p_address, p_node_parent); break; - default: break; - } -} +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "df_all.h" +#include "node.h" +#include "offsets_cache.h" + + +using namespace rdf; + + +extern DF_Type get_df_subtype(DF_Type, uint64_t); +extern DF_Type enum_base_type(DF_Type p_enum); + +DF_Type get_real_subtype(uint64_t p_address, DF_Type p_df_type) +{ + uint64_t pointee = *(reinterpret_cast(p_address)); + if (pointee != 0) + { + DF_Type real_type = get_df_subtype(p_df_type, pointee); + if (real_type != DF_Type::None) + return real_type; + } + return p_df_type; +} + + +namespace rdf +{ + NodeDummy the_dummy; + NodeDummy* dummy() { return &the_dummy; } +} + + +void node_from_ui_advmode_menu(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_talk_choice_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_assume_identity_mode(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_text_info_elementst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_text_info_element_longst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::text_info_elementst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_text_info_elementst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "val"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::text_info_element_longst, field_name)); + auto n_val = new NodeSimple; + n_val->m_field_name = field_name; + n_val->m_df_type = DF_Type::int32_t; + n_val->m_rdf_type = RDF_Type::int32_t; + n_val->m_node_type = NodeType::Simple; + n_val->m_address = base + offset; + n_val->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_val); + +} +void node_from_text_info_element_stringst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::text_info_elementst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_text_info_elementst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "val"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::text_info_element_stringst, field_name)); + auto n_val = new NodeSimple; + n_val->m_field_name = field_name; + n_val->m_df_type = DF_Type::Stl_string; + n_val->m_rdf_type = RDF_Type::Stl_string; + n_val->m_node_type = NodeType::Simple; + n_val->m_address = base + offset; + n_val->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_val); + +} +void node_from_adventure_optionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_adventure_item_interact_choicest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_adventure_item_interact_pull_outst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::adventure_item_interact_choicest; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_adventure_item_interact_choicest(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_adventure_item_interact_readst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::adventure_item_interact_choicest; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_adventure_item_interact_choicest(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_adventure_item_interact_strugglest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::adventure_item_interact_choicest; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_adventure_item_interact_choicest(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_announcement_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_announcement_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_popup_message(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "text"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::popup_message, field_name)); + auto n_text = new NodeSimple; + n_text->m_field_name = field_name; + n_text->m_df_type = DF_Type::Stl_string; + n_text->m_rdf_type = RDF_Type::Stl_string; + n_text->m_node_type = NodeType::Simple; + n_text->m_address = base + offset; + n_text->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_text); + + field_name = "color"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::popup_message, field_name)); + auto n_color = new NodeSimple; + n_color->m_field_name = field_name; + n_color->m_df_type = DF_Type::int16_t; + n_color->m_rdf_type = RDF_Type::int16_t; + n_color->m_node_type = NodeType::Simple; + n_color->m_address = base + offset; + n_color->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_color); + + field_name = "bright"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::popup_message, field_name)); + auto n_bright = new NodeSimple; + n_bright->m_field_name = field_name; + n_bright->m_df_type = DF_Type::Bool; + n_bright->m_rdf_type = RDF_Type::Bool; + n_bright->m_node_type = NodeType::Simple; + n_bright->m_address = base + offset; + n_bright->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_bright); + +} +void node_from_art_image_element_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_art_image_element(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "count"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image_element, field_name)); + auto n_count = new NodeSimple; + n_count->m_field_name = field_name; + n_count->m_df_type = DF_Type::int32_t; + n_count->m_rdf_type = RDF_Type::int32_t; + n_count->m_node_type = NodeType::Simple; + n_count->m_address = base + offset; + n_count->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_count); + +} +void node_from_art_image_element_creaturest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::art_image_element; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_art_image_element(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "race"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image_element_creaturest, field_name)); + auto n_race = new NodeSimple; + n_race->m_field_name = field_name; + n_race->m_df_type = DF_Type::int32_t; + n_race->m_rdf_type = RDF_Type::int32_t; + n_race->m_node_type = NodeType::Simple; + n_race->m_address = base + offset; + n_race->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_race); + + field_name = "caste"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image_element_creaturest, field_name)); + auto n_caste = new NodeSimple; + n_caste->m_field_name = field_name; + n_caste->m_df_type = DF_Type::int16_t; + n_caste->m_rdf_type = RDF_Type::int16_t; + n_caste->m_node_type = NodeType::Simple; + n_caste->m_address = base + offset; + n_caste->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_caste); + + field_name = "histfig"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image_element_creaturest, field_name)); + auto n_histfig = new NodeSimple; + n_histfig->m_field_name = field_name; + n_histfig->m_df_type = DF_Type::int32_t; + n_histfig->m_rdf_type = RDF_Type::int32_t; + n_histfig->m_node_type = NodeType::Simple; + n_histfig->m_address = base + offset; + n_histfig->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig); + +} +void node_from_art_image_element_plantst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::art_image_element; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_art_image_element(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "plant_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image_element_plantst, field_name)); + auto n_plant_id = new NodeSimple; + n_plant_id->m_field_name = field_name; + n_plant_id->m_df_type = DF_Type::int32_t; + n_plant_id->m_rdf_type = RDF_Type::int32_t; + n_plant_id->m_node_type = NodeType::Simple; + n_plant_id->m_address = base + offset; + n_plant_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_plant_id); + +} +void node_from_art_image_element_treest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::art_image_element; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_art_image_element(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "plant_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image_element_treest, field_name)); + auto n_plant_id = new NodeSimple; + n_plant_id->m_field_name = field_name; + n_plant_id->m_df_type = DF_Type::int32_t; + n_plant_id->m_rdf_type = RDF_Type::int32_t; + n_plant_id->m_node_type = NodeType::Simple; + n_plant_id->m_address = base + offset; + n_plant_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_plant_id); + +} +void node_from_art_image_element_shapest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::art_image_element; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_art_image_element(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "shape_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image_element_shapest, field_name)); + auto n_shape_id = new NodeSimple; + n_shape_id->m_field_name = field_name; + n_shape_id->m_df_type = DF_Type::int32_t; + n_shape_id->m_rdf_type = RDF_Type::int32_t; + n_shape_id->m_node_type = NodeType::Simple; + n_shape_id->m_address = base + offset; + n_shape_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_shape_id); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image_element_shapest, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int16_t; + n_anon_1->m_rdf_type = RDF_Type::int16_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_art_image_property_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_art_image_property(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image_property, field_name)); + auto n_flags = new NodeDFFlagArray; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::int32_t; + n_flags->m_size = 32; + n_flags->m_rdf_type = RDF_Type::DFFlagArray; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + +} +void node_from_art_image_property_verb(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_art_facet_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_art_image_ref(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image_ref, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "subid"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image_ref, field_name)); + auto n_subid = new NodeSimple; + n_subid->m_field_name = field_name; + n_subid->m_df_type = DF_Type::int16_t; + n_subid->m_rdf_type = RDF_Type::int16_t; + n_subid->m_node_type = NodeType::Simple; + n_subid->m_address = base + offset; + n_subid->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_subid); + + field_name = "civ_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image_ref, field_name)); + auto n_civ_id = new NodeSimple; + n_civ_id->m_field_name = field_name; + n_civ_id->m_df_type = DF_Type::int32_t; + n_civ_id->m_rdf_type = RDF_Type::int32_t; + n_civ_id->m_node_type = NodeType::Simple; + n_civ_id->m_address = base + offset; + n_civ_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_civ_id); + + field_name = "site_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image_ref, field_name)); + auto n_site_id = new NodeSimple; + n_site_id->m_field_name = field_name; + n_site_id->m_df_type = DF_Type::int32_t; + n_site_id->m_rdf_type = RDF_Type::int32_t; + n_site_id->m_node_type = NodeType::Simple; + n_site_id->m_address = base + offset; + n_site_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_id); + +} +void node_from_poetic_form_action(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_poetic_form_pattern(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_poetic_form_caesura_position(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_poetic_form_mood(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_poetic_form_subject(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_poetic_form_feature(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_poetic_form_additional_feature(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_poetic_form_perspective(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "type"; + auto n_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_perspective, field_name)); + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::poetic_form_perspective__T_type; + n_type->m_rdf_type = RDF_Type::Enum; + n_type->m_node_type = NodeType::Enum; + n_type->m_base_type = DF_Type::int32_t; + n_type->m_enum_type = "poetic_form_perspective::T_type"; + n_type->m_address = base + offset; + n_type->m_first_value = 0; + n_type->m_last_value = 7; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + + field_name = "histfig"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_perspective, field_name)); + auto n_histfig = new NodeSimple; + n_histfig->m_field_name = field_name; + n_histfig->m_df_type = DF_Type::int32_t; + n_histfig->m_rdf_type = RDF_Type::int32_t; + n_histfig->m_node_type = NodeType::Simple; + n_histfig->m_address = base + offset; + n_histfig->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_perspective, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_musical_form_purpose(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_musical_form_style(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_musical_form_pitch_style(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_musical_form_feature(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_musical_form_sub4(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_sub4, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_sub4, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_sub4, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_sub4, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_sub4, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_sub4, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + +} +void node_from_musical_form_interval(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "degree"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_interval, field_name)); + auto n_degree = new NodeSimple; + n_degree->m_field_name = field_name; + n_degree->m_df_type = DF_Type::int32_t; + n_degree->m_rdf_type = RDF_Type::int32_t; + n_degree->m_node_type = NodeType::Simple; + n_degree->m_address = base + offset; + n_degree->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_degree); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_interval, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::musical_form_interval__T_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + +} +void node_from_dance_form_sub1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form_sub1, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form_sub1, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form_sub1, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form_sub1, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form_sub1, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form_sub1, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form_sub1, field_name)); + auto n_anon_7 = new NodeSimple; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::int32_t; + n_anon_7->m_rdf_type = RDF_Type::int32_t; + n_anon_7->m_node_type = NodeType::Simple; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_7); + + field_name = "anon_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form_sub1, field_name)); + auto n_anon_8 = new NodeSimple; + n_anon_8->m_field_name = field_name; + n_anon_8->m_df_type = DF_Type::int32_t; + n_anon_8->m_rdf_type = RDF_Type::int32_t; + n_anon_8->m_node_type = NodeType::Simple; + n_anon_8->m_address = base + offset; + n_anon_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_8); + + field_name = "anon_9"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form_sub1, field_name)); + auto n_anon_9 = new NodeSimple; + n_anon_9->m_field_name = field_name; + n_anon_9->m_df_type = DF_Type::int32_t; + n_anon_9->m_rdf_type = RDF_Type::int32_t; + n_anon_9->m_node_type = NodeType::Simple; + n_anon_9->m_address = base + offset; + n_anon_9->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_9); + + field_name = "anon_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form_sub1, field_name)); + auto n_anon_10 = new NodeVector; + n_anon_10->m_field_name = field_name; + n_anon_10->m_df_type = DF_Type::int32_t; + n_anon_10->m_rdf_type = RDF_Type::Vector; + n_anon_10->m_node_type = NodeType::Vector; + n_anon_10->m_addornements = "v"; + n_anon_10->m_address = base + offset; + n_anon_10->m_parent = p_node_parent; + n_anon_10->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_10); + + field_name = "anon_11"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form_sub1, field_name)); + auto n_anon_11 = new NodeSimple; + n_anon_11->m_field_name = field_name; + n_anon_11->m_df_type = DF_Type::int32_t; + n_anon_11->m_rdf_type = RDF_Type::int32_t; + n_anon_11->m_node_type = NodeType::Simple; + n_anon_11->m_address = base + offset; + n_anon_11->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_11); + + field_name = "anon_12"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form_sub1, field_name)); + auto n_anon_12 = new NodeSimple; + n_anon_12->m_field_name = field_name; + n_anon_12->m_df_type = DF_Type::int32_t; + n_anon_12->m_rdf_type = RDF_Type::int32_t; + n_anon_12->m_node_type = NodeType::Simple; + n_anon_12->m_address = base + offset; + n_anon_12->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_12); + + field_name = "anon_13"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form_sub1, field_name)); + auto n_anon_13 = new NodeSimple; + n_anon_13->m_field_name = field_name; + n_anon_13->m_df_type = DF_Type::int32_t; + n_anon_13->m_rdf_type = RDF_Type::int32_t; + n_anon_13->m_node_type = NodeType::Simple; + n_anon_13->m_address = base + offset; + n_anon_13->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_13); + + field_name = "anon_14"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form_sub1, field_name)); + auto n_anon_14 = new NodeSimple; + n_anon_14->m_field_name = field_name; + n_anon_14->m_df_type = DF_Type::int32_t; + n_anon_14->m_rdf_type = RDF_Type::int32_t; + n_anon_14->m_node_type = NodeType::Simple; + n_anon_14->m_address = base + offset; + n_anon_14->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_14); + + field_name = "anon_15"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form_sub1, field_name)); + auto n_anon_15 = new NodeVector; + n_anon_15->m_field_name = field_name; + n_anon_15->m_df_type = DF_Type::int32_t; + n_anon_15->m_rdf_type = RDF_Type::Vector; + n_anon_15->m_node_type = NodeType::Vector; + n_anon_15->m_addornements = "v"; + n_anon_15->m_address = base + offset; + n_anon_15->m_parent = p_node_parent; + n_anon_15->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_15); + + field_name = "anon_16"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form_sub1, field_name)); + auto n_anon_16 = new NodeVector; + n_anon_16->m_field_name = field_name; + n_anon_16->m_df_type = DF_Type::int32_t; + n_anon_16->m_rdf_type = RDF_Type::Vector; + n_anon_16->m_node_type = NodeType::Vector; + n_anon_16->m_addornements = "v"; + n_anon_16->m_address = base + offset; + n_anon_16->m_parent = p_node_parent; + n_anon_16->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_16); + + field_name = "anon_17"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form_sub1, field_name)); + auto n_anon_17 = new NodeVector; + n_anon_17->m_field_name = field_name; + n_anon_17->m_df_type = DF_Type::int32_t; + n_anon_17->m_rdf_type = RDF_Type::Vector; + n_anon_17->m_node_type = NodeType::Vector; + n_anon_17->m_addornements = "v"; + n_anon_17->m_address = base + offset; + n_anon_17->m_parent = p_node_parent; + n_anon_17->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_17); + + field_name = "anon_18"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form_sub1, field_name)); + auto n_anon_18 = new NodeVector; + n_anon_18->m_field_name = field_name; + n_anon_18->m_df_type = DF_Type::int32_t; + n_anon_18->m_rdf_type = RDF_Type::Vector; + n_anon_18->m_node_type = NodeType::Vector; + n_anon_18->m_addornements = "v"; + n_anon_18->m_address = base + offset; + n_anon_18->m_parent = p_node_parent; + n_anon_18->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_18); + + field_name = "anon_19"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form_sub1, field_name)); + auto n_anon_19 = new NodeSimple; + n_anon_19->m_field_name = field_name; + n_anon_19->m_df_type = DF_Type::int32_t; + n_anon_19->m_rdf_type = RDF_Type::int32_t; + n_anon_19->m_node_type = NodeType::Simple; + n_anon_19->m_address = base + offset; + n_anon_19->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_19); + +} +void node_from_dance_form_sub2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form_sub2, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::Stl_string; + n_anon_1->m_rdf_type = RDF_Type::Stl_string; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form_sub2, field_name)); + auto n_anon_2 = new NodeVector; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::Vector; + n_anon_2->m_node_type = NodeType::Vector; + n_anon_2->m_addornements = "v"; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + n_anon_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form_sub2, field_name)); + auto n_anon_3 = new NodeVector; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::Vector; + n_anon_3->m_node_type = NodeType::Vector; + n_anon_3->m_addornements = "v"; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + n_anon_3->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form_sub2, field_name)); + auto n_anon_4 = new NodeVector; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::Vector; + n_anon_4->m_node_type = NodeType::Vector; + n_anon_4->m_addornements = "v"; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + n_anon_4->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form_sub2, field_name)); + auto n_anon_5 = new NodeVector; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::Vector; + n_anon_5->m_node_type = NodeType::Vector; + n_anon_5->m_addornements = "v"; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + n_anon_5->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form_sub2, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + +} +void node_from_scale_sub1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scale_sub1, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::Stl_string; + n_anon_1->m_rdf_type = RDF_Type::Stl_string; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + auto n_anon_2 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scale_sub1, field_name)); + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::Array; + n_anon_2->m_node_type = NodeType::Array; + n_anon_2->m_addornements = "[5"; + n_anon_2->m_array_size = 5; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scale_sub1, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scale_sub1, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + +} +void node_from_scale_sub2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scale_sub2, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scale_sub2, field_name)); + auto n_name = new NodeSimple; + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Stl_string; + n_name->m_node_type = NodeType::Simple; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "anon_2"; + auto n_anon_2 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scale_sub2, field_name)); + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::Array; + n_anon_2->m_node_type = NodeType::Array; + n_anon_2->m_addornements = "[7"; + n_anon_2->m_array_size = 7; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scale_sub2, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scale_sub2, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scale_sub2, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + +} +void node_from_rhythm_sub2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::rhythm_sub2, field_name)); + auto n_name = new NodeSimple; + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Stl_string; + n_name->m_node_type = NodeType::Simple; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::rhythm_sub2, field_name)); + auto n_anon_1 = new NodeVector; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::Vector; + n_anon_1->m_node_type = NodeType::Vector; + n_anon_1->m_addornements = "v"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::rhythm_sub2, field_name)); + auto n_anon_2 = new NodeVector; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::Vector; + n_anon_2->m_node_type = NodeType::Vector; + n_anon_2->m_addornements = "v"; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + n_anon_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::rhythm_sub2, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + +} +void node_from_occupation_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_occupation_sub1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::occupation_sub1, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::occupation_sub1, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::occupation_sub1, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int16_t; + n_anon_3->m_rdf_type = RDF_Type::int16_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::occupation_sub1, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int16_t; + n_anon_4->m_rdf_type = RDF_Type::int16_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::occupation_sub1, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int16_t; + n_anon_5->m_rdf_type = RDF_Type::int16_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::occupation_sub1, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::occupation_sub1, field_name)); + auto n_anon_7 = new NodeSimple; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::int32_t; + n_anon_7->m_rdf_type = RDF_Type::int32_t; + n_anon_7->m_node_type = NodeType::Simple; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_7); + + field_name = "anon_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::occupation_sub1, field_name)); + auto n_anon_8 = new NodeSimple; + n_anon_8->m_field_name = field_name; + n_anon_8->m_df_type = DF_Type::int32_t; + n_anon_8->m_rdf_type = RDF_Type::int32_t; + n_anon_8->m_node_type = NodeType::Simple; + n_anon_8->m_address = base + offset; + n_anon_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_8); + + field_name = "anon_9"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::occupation_sub1, field_name)); + auto n_anon_9 = new NodeSimple; + n_anon_9->m_field_name = field_name; + n_anon_9->m_df_type = DF_Type::int32_t; + n_anon_9->m_rdf_type = RDF_Type::int32_t; + n_anon_9->m_node_type = NodeType::Simple; + n_anon_9->m_address = base + offset; + n_anon_9->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_9); + + field_name = "anon_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::occupation_sub1, field_name)); + auto n_anon_10 = new NodeSimple; + n_anon_10->m_field_name = field_name; + n_anon_10->m_df_type = DF_Type::int32_t; + n_anon_10->m_rdf_type = RDF_Type::int32_t; + n_anon_10->m_node_type = NodeType::Simple; + n_anon_10->m_address = base + offset; + n_anon_10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_10); + + field_name = "anon_11"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::occupation_sub1, field_name)); + auto n_anon_11 = new NodeSimple; + n_anon_11->m_field_name = field_name; + n_anon_11->m_df_type = DF_Type::int32_t; + n_anon_11->m_rdf_type = RDF_Type::int32_t; + n_anon_11->m_node_type = NodeType::Simple; + n_anon_11->m_address = base + offset; + n_anon_11->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_11); + + field_name = "anon_12"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::occupation_sub1, field_name)); + auto n_anon_12 = new NodeSimple; + n_anon_12->m_field_name = field_name; + n_anon_12->m_df_type = DF_Type::int32_t; + n_anon_12->m_rdf_type = RDF_Type::int32_t; + n_anon_12->m_node_type = NodeType::Simple; + n_anon_12->m_address = base + offset; + n_anon_12->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_12); + + field_name = "anon_13"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::occupation_sub1, field_name)); + auto n_anon_13 = new NodeSimple; + n_anon_13->m_field_name = field_name; + n_anon_13->m_df_type = DF_Type::int32_t; + n_anon_13->m_rdf_type = RDF_Type::int32_t; + n_anon_13->m_node_type = NodeType::Simple; + n_anon_13->m_address = base + offset; + n_anon_13->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_13); + + field_name = "anon_14"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::occupation_sub1, field_name)); + auto n_anon_14 = new NodeSimple; + n_anon_14->m_field_name = field_name; + n_anon_14->m_df_type = DF_Type::int32_t; + n_anon_14->m_rdf_type = RDF_Type::int32_t; + n_anon_14->m_node_type = NodeType::Simple; + n_anon_14->m_address = base + offset; + n_anon_14->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_14); + + field_name = "anon_15"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::occupation_sub1, field_name)); + auto n_anon_15 = new NodeSimple; + n_anon_15->m_field_name = field_name; + n_anon_15->m_df_type = DF_Type::int32_t; + n_anon_15->m_rdf_type = RDF_Type::int32_t; + n_anon_15->m_node_type = NodeType::Simple; + n_anon_15->m_address = base + offset; + n_anon_15->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_15); + + field_name = "anon_16"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::occupation_sub1, field_name)); + auto n_anon_16 = new NodeSimple; + n_anon_16->m_field_name = field_name; + n_anon_16->m_df_type = DF_Type::int32_t; + n_anon_16->m_rdf_type = RDF_Type::int32_t; + n_anon_16->m_node_type = NodeType::Simple; + n_anon_16->m_address = base + offset; + n_anon_16->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_16); + + field_name = "anon_17"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::occupation_sub1, field_name)); + auto n_anon_17 = new NodeSimple; + n_anon_17->m_field_name = field_name; + n_anon_17->m_df_type = DF_Type::int32_t; + n_anon_17->m_rdf_type = RDF_Type::int32_t; + n_anon_17->m_node_type = NodeType::Simple; + n_anon_17->m_address = base + offset; + n_anon_17->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_17); + + field_name = "anon_18"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::occupation_sub1, field_name)); + auto n_anon_18 = new NodeSimple; + n_anon_18->m_field_name = field_name; + n_anon_18->m_df_type = DF_Type::int32_t; + n_anon_18->m_rdf_type = RDF_Type::int32_t; + n_anon_18->m_node_type = NodeType::Simple; + n_anon_18->m_address = base + offset; + n_anon_18->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_18); + + field_name = "anon_19"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::occupation_sub1, field_name)); + auto n_anon_19 = new NodeSimple; + n_anon_19->m_field_name = field_name; + n_anon_19->m_df_type = DF_Type::int32_t; + n_anon_19->m_rdf_type = RDF_Type::int32_t; + n_anon_19->m_node_type = NodeType::Simple; + n_anon_19->m_address = base + offset; + n_anon_19->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_19); + +} +void node_from_buildings_other_id(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_building_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_building_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_door_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_gate_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_building_extents(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "extents"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_extents, field_name)); + auto n_extents = new NodePointer; + n_extents->m_field_name = field_name; + n_extents->m_df_type = get_real_subtype(base+offset, DF_Type::uint8_t); + n_extents->m_rdf_type = RDF_Type::Pointer; + n_extents->m_node_type = NodeType::Pointer; + n_extents->m_addornements = "*"; + n_extents->m_address = base + offset; + n_extents->m_parent = p_node_parent; + n_extents->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_extents); + + field_name = "x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_extents, field_name)); + auto n_x = new NodeSimple; + n_x->m_field_name = field_name; + n_x->m_df_type = DF_Type::int32_t; + n_x->m_rdf_type = RDF_Type::int32_t; + n_x->m_node_type = NodeType::Simple; + n_x->m_address = base + offset; + n_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_x); + + field_name = "y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_extents, field_name)); + auto n_y = new NodeSimple; + n_y->m_field_name = field_name; + n_y->m_df_type = DF_Type::int32_t; + n_y->m_rdf_type = RDF_Type::int32_t; + n_y->m_node_type = NodeType::Simple; + n_y->m_address = base + offset; + n_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_y); + + field_name = "width"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_extents, field_name)); + auto n_width = new NodeSimple; + n_width->m_field_name = field_name; + n_width->m_df_type = DF_Type::int32_t; + n_width->m_rdf_type = RDF_Type::int32_t; + n_width->m_node_type = NodeType::Simple; + n_width->m_address = base + offset; + n_width->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_width); + + field_name = "height"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_extents, field_name)); + auto n_height = new NodeSimple; + n_height->m_field_name = field_name; + n_height->m_df_type = DF_Type::int32_t; + n_height->m_rdf_type = RDF_Type::int32_t; + n_height->m_node_type = NodeType::Simple; + n_height->m_address = base + offset; + n_height->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_height); + +} +void node_from_building_drawbuffer(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "tile"; + auto n_tile = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_drawbuffer, field_name)); + n_tile->m_field_name = field_name; + n_tile->m_df_type = DF_Type::uint8_t; + n_tile->m_rdf_type = RDF_Type::Array; + n_tile->m_node_type = NodeType::Array; + n_tile->m_addornements = "[31[31"; + n_tile->m_array_size = 31; + n_tile->m_address = base + offset; + n_tile->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tile); + + field_name = "fore"; + auto n_fore = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_drawbuffer, field_name)); + n_fore->m_field_name = field_name; + n_fore->m_df_type = DF_Type::int8_t; + n_fore->m_rdf_type = RDF_Type::Array; + n_fore->m_node_type = NodeType::Array; + n_fore->m_addornements = "[31[31"; + n_fore->m_array_size = 31; + n_fore->m_address = base + offset; + n_fore->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_fore); + + field_name = "back"; + auto n_back = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_drawbuffer, field_name)); + n_back->m_field_name = field_name; + n_back->m_df_type = DF_Type::int8_t; + n_back->m_rdf_type = RDF_Type::Array; + n_back->m_node_type = NodeType::Array; + n_back->m_addornements = "[31[31"; + n_back->m_array_size = 31; + n_back->m_address = base + offset; + n_back->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_back); + + field_name = "bright"; + auto n_bright = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_drawbuffer, field_name)); + n_bright->m_field_name = field_name; + n_bright->m_df_type = DF_Type::int8_t; + n_bright->m_rdf_type = RDF_Type::Array; + n_bright->m_node_type = NodeType::Array; + n_bright->m_addornements = "[31[31"; + n_bright->m_array_size = 31; + n_bright->m_address = base + offset; + n_bright->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_bright); + + field_name = "x1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_drawbuffer, field_name)); + auto n_x1 = new NodeSimple; + n_x1->m_field_name = field_name; + n_x1->m_df_type = DF_Type::int16_t; + n_x1->m_rdf_type = RDF_Type::int16_t; + n_x1->m_node_type = NodeType::Simple; + n_x1->m_address = base + offset; + n_x1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_x1); + + field_name = "x2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_drawbuffer, field_name)); + auto n_x2 = new NodeSimple; + n_x2->m_field_name = field_name; + n_x2->m_df_type = DF_Type::int16_t; + n_x2->m_rdf_type = RDF_Type::int16_t; + n_x2->m_node_type = NodeType::Simple; + n_x2->m_address = base + offset; + n_x2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_x2); + + field_name = "y1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_drawbuffer, field_name)); + auto n_y1 = new NodeSimple; + n_y1->m_field_name = field_name; + n_y1->m_df_type = DF_Type::int16_t; + n_y1->m_rdf_type = RDF_Type::int16_t; + n_y1->m_node_type = NodeType::Simple; + n_y1->m_address = base + offset; + n_y1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_y1); + + field_name = "y2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_drawbuffer, field_name)); + auto n_y2 = new NodeSimple; + n_y2->m_field_name = field_name; + n_y2->m_df_type = DF_Type::int16_t; + n_y2->m_rdf_type = RDF_Type::int16_t; + n_y2->m_node_type = NodeType::Simple; + n_y2->m_address = base + offset; + n_y2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_y2); + +} +void node_from_hospital_supplies(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "supplies_needed"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::hospital_supplies, field_name)); + auto n_supplies_needed = new NodeBitfield; + n_supplies_needed->m_field_name = field_name; + n_supplies_needed->m_df_type = DF_Type::hospital_supplies__T_supplies_needed; + n_supplies_needed->m_rdf_type = RDF_Type::Bitfield; + n_supplies_needed->m_node_type = NodeType::Bitfield; + n_supplies_needed->m_address = base + offset; + n_supplies_needed->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_supplies_needed); + + field_name = "max_splints"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::hospital_supplies, field_name)); + auto n_max_splints = new NodeSimple; + n_max_splints->m_field_name = field_name; + n_max_splints->m_df_type = DF_Type::int32_t; + n_max_splints->m_rdf_type = RDF_Type::int32_t; + n_max_splints->m_node_type = NodeType::Simple; + n_max_splints->m_address = base + offset; + n_max_splints->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_max_splints); + + field_name = "max_thread"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::hospital_supplies, field_name)); + auto n_max_thread = new NodeSimple; + n_max_thread->m_field_name = field_name; + n_max_thread->m_df_type = DF_Type::int32_t; + n_max_thread->m_rdf_type = RDF_Type::int32_t; + n_max_thread->m_node_type = NodeType::Simple; + n_max_thread->m_address = base + offset; + n_max_thread->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_max_thread); + + field_name = "max_cloth"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::hospital_supplies, field_name)); + auto n_max_cloth = new NodeSimple; + n_max_cloth->m_field_name = field_name; + n_max_cloth->m_df_type = DF_Type::int32_t; + n_max_cloth->m_rdf_type = RDF_Type::int32_t; + n_max_cloth->m_node_type = NodeType::Simple; + n_max_cloth->m_address = base + offset; + n_max_cloth->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_max_cloth); + + field_name = "max_crutches"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::hospital_supplies, field_name)); + auto n_max_crutches = new NodeSimple; + n_max_crutches->m_field_name = field_name; + n_max_crutches->m_df_type = DF_Type::int32_t; + n_max_crutches->m_rdf_type = RDF_Type::int32_t; + n_max_crutches->m_node_type = NodeType::Simple; + n_max_crutches->m_address = base + offset; + n_max_crutches->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_max_crutches); + + field_name = "max_plaster"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::hospital_supplies, field_name)); + auto n_max_plaster = new NodeSimple; + n_max_plaster->m_field_name = field_name; + n_max_plaster->m_df_type = DF_Type::int32_t; + n_max_plaster->m_rdf_type = RDF_Type::int32_t; + n_max_plaster->m_node_type = NodeType::Simple; + n_max_plaster->m_address = base + offset; + n_max_plaster->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_max_plaster); + + field_name = "max_buckets"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::hospital_supplies, field_name)); + auto n_max_buckets = new NodeSimple; + n_max_buckets->m_field_name = field_name; + n_max_buckets->m_df_type = DF_Type::int32_t; + n_max_buckets->m_rdf_type = RDF_Type::int32_t; + n_max_buckets->m_node_type = NodeType::Simple; + n_max_buckets->m_address = base + offset; + n_max_buckets->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_max_buckets); + + field_name = "max_soap"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::hospital_supplies, field_name)); + auto n_max_soap = new NodeSimple; + n_max_soap->m_field_name = field_name; + n_max_soap->m_df_type = DF_Type::int32_t; + n_max_soap->m_rdf_type = RDF_Type::int32_t; + n_max_soap->m_node_type = NodeType::Simple; + n_max_soap->m_address = base + offset; + n_max_soap->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_max_soap); + + field_name = "cur_splints"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::hospital_supplies, field_name)); + auto n_cur_splints = new NodeSimple; + n_cur_splints->m_field_name = field_name; + n_cur_splints->m_df_type = DF_Type::int32_t; + n_cur_splints->m_rdf_type = RDF_Type::int32_t; + n_cur_splints->m_node_type = NodeType::Simple; + n_cur_splints->m_address = base + offset; + n_cur_splints->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cur_splints); + + field_name = "cur_thread"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::hospital_supplies, field_name)); + auto n_cur_thread = new NodeSimple; + n_cur_thread->m_field_name = field_name; + n_cur_thread->m_df_type = DF_Type::int32_t; + n_cur_thread->m_rdf_type = RDF_Type::int32_t; + n_cur_thread->m_node_type = NodeType::Simple; + n_cur_thread->m_address = base + offset; + n_cur_thread->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cur_thread); + + field_name = "cur_cloth"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::hospital_supplies, field_name)); + auto n_cur_cloth = new NodeSimple; + n_cur_cloth->m_field_name = field_name; + n_cur_cloth->m_df_type = DF_Type::int32_t; + n_cur_cloth->m_rdf_type = RDF_Type::int32_t; + n_cur_cloth->m_node_type = NodeType::Simple; + n_cur_cloth->m_address = base + offset; + n_cur_cloth->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cur_cloth); + + field_name = "cur_crutches"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::hospital_supplies, field_name)); + auto n_cur_crutches = new NodeSimple; + n_cur_crutches->m_field_name = field_name; + n_cur_crutches->m_df_type = DF_Type::int32_t; + n_cur_crutches->m_rdf_type = RDF_Type::int32_t; + n_cur_crutches->m_node_type = NodeType::Simple; + n_cur_crutches->m_address = base + offset; + n_cur_crutches->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cur_crutches); + + field_name = "cur_plaster"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::hospital_supplies, field_name)); + auto n_cur_plaster = new NodeSimple; + n_cur_plaster->m_field_name = field_name; + n_cur_plaster->m_df_type = DF_Type::int32_t; + n_cur_plaster->m_rdf_type = RDF_Type::int32_t; + n_cur_plaster->m_node_type = NodeType::Simple; + n_cur_plaster->m_address = base + offset; + n_cur_plaster->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cur_plaster); + + field_name = "cur_buckets"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::hospital_supplies, field_name)); + auto n_cur_buckets = new NodeSimple; + n_cur_buckets->m_field_name = field_name; + n_cur_buckets->m_df_type = DF_Type::int32_t; + n_cur_buckets->m_rdf_type = RDF_Type::int32_t; + n_cur_buckets->m_node_type = NodeType::Simple; + n_cur_buckets->m_address = base + offset; + n_cur_buckets->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cur_buckets); + + field_name = "cur_soap"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::hospital_supplies, field_name)); + auto n_cur_soap = new NodeSimple; + n_cur_soap->m_field_name = field_name; + n_cur_soap->m_df_type = DF_Type::int32_t; + n_cur_soap->m_rdf_type = RDF_Type::int32_t; + n_cur_soap->m_node_type = NodeType::Simple; + n_cur_soap->m_address = base + offset; + n_cur_soap->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cur_soap); + + field_name = "supply_recheck_timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::hospital_supplies, field_name)); + auto n_supply_recheck_timer = new NodeSimple; + n_supply_recheck_timer->m_field_name = field_name; + n_supply_recheck_timer->m_df_type = DF_Type::int32_t; + n_supply_recheck_timer->m_rdf_type = RDF_Type::int32_t; + n_supply_recheck_timer->m_node_type = NodeType::Simple; + n_supply_recheck_timer->m_address = base + offset; + n_supply_recheck_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_supply_recheck_timer); + +} +void node_from_civzone_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_furnace_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_workshop_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_building_users(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unit"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_users, field_name)); + auto n_unit = new NodeVector; + n_unit->m_field_name = field_name; + n_unit->m_df_type = DF_Type::int32_t; + n_unit->m_rdf_type = RDF_Type::Vector; + n_unit->m_node_type = NodeType::Vector; + n_unit->m_addornements = "v"; + n_unit->m_address = base + offset; + n_unit->m_parent = p_node_parent; + n_unit->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unit); + + field_name = "mode"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_users, field_name)); + auto n_mode = new NodeVector; + n_mode->m_field_name = field_name; + n_mode->m_df_type = DF_Type::int16_t; + n_mode->m_rdf_type = RDF_Type::Vector; + n_mode->m_node_type = NodeType::Vector; + n_mode->m_addornements = "v"; + n_mode->m_address = base + offset; + n_mode->m_parent = p_node_parent; + n_mode->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_mode); + +} +void node_from_construction_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_hive_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_shop_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_siegeengine_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_trap_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_pressure_plate_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unit_min"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::pressure_plate_info, field_name)); + auto n_unit_min = new NodeSimple; + n_unit_min->m_field_name = field_name; + n_unit_min->m_df_type = DF_Type::int32_t; + n_unit_min->m_rdf_type = RDF_Type::int32_t; + n_unit_min->m_node_type = NodeType::Simple; + n_unit_min->m_address = base + offset; + n_unit_min->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unit_min); + + field_name = "unit_max"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::pressure_plate_info, field_name)); + auto n_unit_max = new NodeSimple; + n_unit_max->m_field_name = field_name; + n_unit_max->m_df_type = DF_Type::int32_t; + n_unit_max->m_rdf_type = RDF_Type::int32_t; + n_unit_max->m_node_type = NodeType::Simple; + n_unit_max->m_address = base + offset; + n_unit_max->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unit_max); + + field_name = "water_min"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::pressure_plate_info, field_name)); + auto n_water_min = new NodeSimple; + n_water_min->m_field_name = field_name; + n_water_min->m_df_type = DF_Type::int8_t; + n_water_min->m_rdf_type = RDF_Type::int8_t; + n_water_min->m_node_type = NodeType::Simple; + n_water_min->m_address = base + offset; + n_water_min->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_water_min); + + field_name = "water_max"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::pressure_plate_info, field_name)); + auto n_water_max = new NodeSimple; + n_water_max->m_field_name = field_name; + n_water_max->m_df_type = DF_Type::int8_t; + n_water_max->m_rdf_type = RDF_Type::int8_t; + n_water_max->m_node_type = NodeType::Simple; + n_water_max->m_address = base + offset; + n_water_max->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_water_max); + + field_name = "magma_min"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::pressure_plate_info, field_name)); + auto n_magma_min = new NodeSimple; + n_magma_min->m_field_name = field_name; + n_magma_min->m_df_type = DF_Type::int8_t; + n_magma_min->m_rdf_type = RDF_Type::int8_t; + n_magma_min->m_node_type = NodeType::Simple; + n_magma_min->m_address = base + offset; + n_magma_min->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_magma_min); + + field_name = "magma_max"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::pressure_plate_info, field_name)); + auto n_magma_max = new NodeSimple; + n_magma_max->m_field_name = field_name; + n_magma_max->m_df_type = DF_Type::int8_t; + n_magma_max->m_rdf_type = RDF_Type::int8_t; + n_magma_max->m_node_type = NodeType::Simple; + n_magma_max->m_address = base + offset; + n_magma_max->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_magma_max); + + field_name = "track_min"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::pressure_plate_info, field_name)); + auto n_track_min = new NodeSimple; + n_track_min->m_field_name = field_name; + n_track_min->m_df_type = DF_Type::int32_t; + n_track_min->m_rdf_type = RDF_Type::int32_t; + n_track_min->m_node_type = NodeType::Simple; + n_track_min->m_address = base + offset; + n_track_min->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_track_min); + + field_name = "track_max"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::pressure_plate_info, field_name)); + auto n_track_max = new NodeSimple; + n_track_max->m_field_name = field_name; + n_track_max->m_df_type = DF_Type::int32_t; + n_track_max->m_rdf_type = RDF_Type::int32_t; + n_track_max->m_node_type = NodeType::Simple; + n_track_max->m_address = base + offset; + n_track_max->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_track_max); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::pressure_plate_info, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::pressure_plate_info__T_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + +} +void node_from_dfhack_room_quality_level(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_creature_raw_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_caste_raw_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_body_part_raw_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_appearance_modifier_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_body_part_layer_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_appearance_modifier_growth_interval(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_body_part_layer_raw(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "layer_name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_layer_raw, field_name)); + auto n_layer_name = new NodeSimple; + n_layer_name->m_field_name = field_name; + n_layer_name->m_df_type = DF_Type::Stl_string; + n_layer_name->m_rdf_type = RDF_Type::Stl_string; + n_layer_name->m_node_type = NodeType::Simple; + n_layer_name->m_address = base + offset; + n_layer_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_layer_name); + + field_name = "tissue_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_layer_raw, field_name)); + auto n_tissue_id = new NodeSimple; + n_tissue_id->m_field_name = field_name; + n_tissue_id->m_df_type = DF_Type::int32_t; + n_tissue_id->m_rdf_type = RDF_Type::int32_t; + n_tissue_id->m_node_type = NodeType::Simple; + n_tissue_id->m_address = base + offset; + n_tissue_id->m_refers_to = "$$._upglobal._upglobal._upglobal._upglobal._upglobal.tissue[$]"; + n_tissue_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tissue_id); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_layer_raw, field_name)); + auto n_flags = new NodeDFFlagArray; + n_flags->m_field_name = field_name; + n_flags->m_index_enum = DF_Type::body_part_layer_flags; + n_flags->m_df_type = DF_Type::body_part_layer_flags; + n_flags->m_size = 1; + n_flags->m_rdf_type = RDF_Type::DFFlagArray; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_defined_in = "df.creature-raws.xml"; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "part_fraction"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_layer_raw, field_name)); + auto n_part_fraction = new NodeSimple; + n_part_fraction->m_field_name = field_name; + n_part_fraction->m_df_type = DF_Type::int32_t; + n_part_fraction->m_rdf_type = RDF_Type::int32_t; + n_part_fraction->m_node_type = NodeType::Simple; + n_part_fraction->m_address = base + offset; + n_part_fraction->m_comment = "total 1000"; + n_part_fraction->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_part_fraction); + + field_name = "healing_rate"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_layer_raw, field_name)); + auto n_healing_rate = new NodeSimple; + n_healing_rate->m_field_name = field_name; + n_healing_rate->m_df_type = DF_Type::int32_t; + n_healing_rate->m_rdf_type = RDF_Type::int32_t; + n_healing_rate->m_node_type = NodeType::Simple; + n_healing_rate->m_address = base + offset; + n_healing_rate->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_healing_rate); + + field_name = "vascular"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_layer_raw, field_name)); + auto n_vascular = new NodeSimple; + n_vascular->m_field_name = field_name; + n_vascular->m_df_type = DF_Type::int32_t; + n_vascular->m_rdf_type = RDF_Type::int32_t; + n_vascular->m_node_type = NodeType::Simple; + n_vascular->m_address = base + offset; + n_vascular->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_vascular); + + field_name = "pain_receptors"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_layer_raw, field_name)); + auto n_pain_receptors = new NodeSimple; + n_pain_receptors->m_field_name = field_name; + n_pain_receptors->m_df_type = DF_Type::int32_t; + n_pain_receptors->m_rdf_type = RDF_Type::int32_t; + n_pain_receptors->m_node_type = NodeType::Simple; + n_pain_receptors->m_address = base + offset; + n_pain_receptors->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pain_receptors); + + field_name = "unk6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_layer_raw, field_name)); + auto n_unk6 = new NodeSimple; + n_unk6->m_field_name = field_name; + n_unk6->m_df_type = DF_Type::int32_t; + n_unk6->m_rdf_type = RDF_Type::int32_t; + n_unk6->m_node_type = NodeType::Simple; + n_unk6->m_address = base + offset; + n_unk6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk6); + + field_name = "unk7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_layer_raw, field_name)); + auto n_unk7 = new NodeSimple; + n_unk7->m_field_name = field_name; + n_unk7->m_df_type = DF_Type::int16_t; + n_unk7->m_rdf_type = RDF_Type::int16_t; + n_unk7->m_node_type = NodeType::Simple; + n_unk7->m_address = base + offset; + n_unk7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk7); + + field_name = "bp_modifiers"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_layer_raw, field_name)); + auto n_bp_modifiers = new NodeVector; + n_bp_modifiers->m_field_name = field_name; + n_bp_modifiers->m_df_type = DF_Type::int32_t; + n_bp_modifiers->m_rdf_type = RDF_Type::Vector; + n_bp_modifiers->m_node_type = NodeType::Vector; + n_bp_modifiers->m_addornements = "v"; + n_bp_modifiers->m_address = base + offset; + n_bp_modifiers->m_refers_to = "$$._global._upglobal._upglobal._upglobal.bp_appearance.modifier_idx[$].refers-to"; + n_bp_modifiers->m_parent = p_node_parent; + n_bp_modifiers->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bp_modifiers); + + field_name = "layer_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_layer_raw, field_name)); + auto n_layer_id = new NodeSimple; + n_layer_id->m_field_name = field_name; + n_layer_id->m_df_type = DF_Type::int32_t; + n_layer_id->m_rdf_type = RDF_Type::int32_t; + n_layer_id->m_node_type = NodeType::Simple; + n_layer_id->m_address = base + offset; + n_layer_id->m_comment = "across all body parts"; + n_layer_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_layer_id); + + field_name = "parent_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_layer_raw, field_name)); + auto n_parent_idx = new NodeSimple; + n_parent_idx->m_field_name = field_name; + n_parent_idx->m_df_type = DF_Type::int32_t; + n_parent_idx->m_rdf_type = RDF_Type::int32_t; + n_parent_idx->m_node_type = NodeType::Simple; + n_parent_idx->m_address = base + offset; + n_parent_idx->m_refers_to = "$$._global._upglobal.layers[$]"; + n_parent_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_parent_idx); + + field_name = "parent_layer_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_layer_raw, field_name)); + auto n_parent_layer_id = new NodeSimple; + n_parent_layer_id->m_field_name = field_name; + n_parent_layer_id->m_df_type = DF_Type::int32_t; + n_parent_layer_id->m_rdf_type = RDF_Type::int32_t; + n_parent_layer_id->m_node_type = NodeType::Simple; + n_parent_layer_id->m_address = base + offset; + n_parent_layer_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_parent_layer_id); + + field_name = "layer_depth"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_layer_raw, field_name)); + auto n_layer_depth = new NodeSimple; + n_layer_depth->m_field_name = field_name; + n_layer_depth->m_df_type = DF_Type::int32_t; + n_layer_depth->m_rdf_type = RDF_Type::int32_t; + n_layer_depth->m_node_type = NodeType::Simple; + n_layer_depth->m_address = base + offset; + n_layer_depth->m_comment = "-1 for skin and internal organs"; + n_layer_depth->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_layer_depth); + + field_name = "leak_barrier_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_layer_raw, field_name)); + auto n_leak_barrier_id = new NodeSimple; + n_leak_barrier_id->m_field_name = field_name; + n_leak_barrier_id->m_df_type = DF_Type::int32_t; + n_leak_barrier_id->m_rdf_type = RDF_Type::int32_t; + n_leak_barrier_id->m_node_type = NodeType::Simple; + n_leak_barrier_id->m_address = base + offset; + n_leak_barrier_id->m_comment = "layer that stops TISSUE_LEAKS, but unused and broken"; + n_leak_barrier_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_leak_barrier_id); + + field_name = "nonsolid_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_layer_raw, field_name)); + auto n_nonsolid_id = new NodeSimple; + n_nonsolid_id->m_field_name = field_name; + n_nonsolid_id->m_df_type = DF_Type::int32_t; + n_nonsolid_id->m_rdf_type = RDF_Type::int32_t; + n_nonsolid_id->m_node_type = NodeType::Simple; + n_nonsolid_id->m_address = base + offset; + n_nonsolid_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_nonsolid_id); + + field_name = "styleable_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_layer_raw, field_name)); + auto n_styleable_id = new NodeSimple; + n_styleable_id->m_field_name = field_name; + n_styleable_id->m_df_type = DF_Type::int32_t; + n_styleable_id->m_rdf_type = RDF_Type::int32_t; + n_styleable_id->m_node_type = NodeType::Simple; + n_styleable_id->m_address = base + offset; + n_styleable_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_styleable_id); + +} +void node_from_color_modifier_raw(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "pattern_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::color_modifier_raw, field_name)); + auto n_pattern_index = new NodeVector; + n_pattern_index->m_field_name = field_name; + n_pattern_index->m_df_type = DF_Type::int32_t; + n_pattern_index->m_rdf_type = RDF_Type::Vector; + n_pattern_index->m_node_type = NodeType::Vector; + n_pattern_index->m_addornements = "v"; + n_pattern_index->m_address = base + offset; + n_pattern_index->m_parent = p_node_parent; + n_pattern_index->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_pattern_index); + + field_name = "pattern_frequency"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::color_modifier_raw, field_name)); + auto n_pattern_frequency = new NodeVector; + n_pattern_frequency->m_field_name = field_name; + n_pattern_frequency->m_df_type = DF_Type::int32_t; + n_pattern_frequency->m_rdf_type = RDF_Type::Vector; + n_pattern_frequency->m_node_type = NodeType::Vector; + n_pattern_frequency->m_addornements = "v"; + n_pattern_frequency->m_address = base + offset; + n_pattern_frequency->m_parent = p_node_parent; + n_pattern_frequency->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_pattern_frequency); + + field_name = "body_part_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::color_modifier_raw, field_name)); + auto n_body_part_id = new NodeVector; + n_body_part_id->m_field_name = field_name; + n_body_part_id->m_df_type = DF_Type::int16_t; + n_body_part_id->m_rdf_type = RDF_Type::Vector; + n_body_part_id->m_node_type = NodeType::Vector; + n_body_part_id->m_addornements = "v"; + n_body_part_id->m_address = base + offset; + n_body_part_id->m_refers_to = "$$._global._upglobal.body_info.body_parts[$]"; + n_body_part_id->m_parent = p_node_parent; + n_body_part_id->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_body_part_id); + + field_name = "tissue_layer_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::color_modifier_raw, field_name)); + auto n_tissue_layer_id = new NodeVector; + n_tissue_layer_id->m_field_name = field_name; + n_tissue_layer_id->m_df_type = DF_Type::int16_t; + n_tissue_layer_id->m_rdf_type = RDF_Type::Vector; + n_tissue_layer_id->m_node_type = NodeType::Vector; + n_tissue_layer_id->m_addornements = "v"; + n_tissue_layer_id->m_address = base + offset; + n_tissue_layer_id->m_refers_to = "$$._global.body_part_id[$$._key].refers-to.layers[$]"; + n_tissue_layer_id->m_refers_to = "$$._global.body_part_id[$].refers-to"; + n_tissue_layer_id->m_parent = p_node_parent; + n_tissue_layer_id->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_tissue_layer_id); + + field_name = "unk5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::color_modifier_raw, field_name)); + auto n_unk5 = new NodeSimple; + n_unk5->m_field_name = field_name; + n_unk5->m_df_type = DF_Type::int16_t; + n_unk5->m_rdf_type = RDF_Type::int16_t; + n_unk5->m_node_type = NodeType::Simple; + n_unk5->m_address = base + offset; + n_unk5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk5); + + field_name = "start_date"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::color_modifier_raw, field_name)); + auto n_start_date = new NodeSimple; + n_start_date->m_field_name = field_name; + n_start_date->m_df_type = DF_Type::int32_t; + n_start_date->m_rdf_type = RDF_Type::int32_t; + n_start_date->m_node_type = NodeType::Simple; + n_start_date->m_address = base + offset; + n_start_date->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_start_date); + + field_name = "end_date"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::color_modifier_raw, field_name)); + auto n_end_date = new NodeSimple; + n_end_date->m_field_name = field_name; + n_end_date->m_df_type = DF_Type::int32_t; + n_end_date->m_rdf_type = RDF_Type::int32_t; + n_end_date->m_node_type = NodeType::Simple; + n_end_date->m_address = base + offset; + n_end_date->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_end_date); + + field_name = "unk6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::color_modifier_raw, field_name)); + auto n_unk6 = new NodeSimple; + n_unk6->m_field_name = field_name; + n_unk6->m_df_type = DF_Type::int32_t; + n_unk6->m_rdf_type = RDF_Type::int32_t; + n_unk6->m_node_type = NodeType::Simple; + n_unk6->m_address = base + offset; + n_unk6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk6); + + field_name = "part"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::color_modifier_raw, field_name)); + auto n_part = new NodeSimple; + n_part->m_field_name = field_name; + n_part->m_df_type = DF_Type::Stl_string; + n_part->m_rdf_type = RDF_Type::Stl_string; + n_part->m_node_type = NodeType::Simple; + n_part->m_address = base + offset; + n_part->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_part); + + field_name = "unk_6c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::color_modifier_raw, field_name)); + auto n_unk_6c = new NodeSimple; + n_unk_6c->m_field_name = field_name; + n_unk_6c->m_df_type = DF_Type::int16_t; + n_unk_6c->m_rdf_type = RDF_Type::int16_t; + n_unk_6c->m_node_type = NodeType::Simple; + n_unk_6c->m_address = base + offset; + n_unk_6c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_6c); + + field_name = "unk_6e"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::color_modifier_raw, field_name)); + auto n_unk_6e = new NodeSimple; + n_unk_6e->m_field_name = field_name; + n_unk_6e->m_df_type = DF_Type::int16_t; + n_unk_6e->m_rdf_type = RDF_Type::int16_t; + n_unk_6e->m_node_type = NodeType::Simple; + n_unk_6e->m_address = base + offset; + n_unk_6e->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_6e); + + field_name = "unk_70"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::color_modifier_raw, field_name)); + auto n_unk_70 = new NodeSimple; + n_unk_70->m_field_name = field_name; + n_unk_70->m_df_type = DF_Type::int32_t; + n_unk_70->m_rdf_type = RDF_Type::int32_t; + n_unk_70->m_node_type = NodeType::Simple; + n_unk_70->m_address = base + offset; + n_unk_70->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_70); + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::color_modifier_raw, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "unk_78"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::color_modifier_raw, field_name)); + auto n_unk_78 = new NodeVector; + n_unk_78->m_field_name = field_name; + n_unk_78->m_df_type = DF_Type::Void; + n_unk_78->m_rdf_type = RDF_Type::Vector; + n_unk_78->m_node_type = NodeType::Vector; + n_unk_78->m_addornements = "v*"; + n_unk_78->m_address = base + offset; + n_unk_78->m_parent = p_node_parent; + n_unk_78->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_78); + + field_name = "unk_88"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::color_modifier_raw, field_name)); + auto n_unk_88 = new NodeVector; + n_unk_88->m_field_name = field_name; + n_unk_88->m_df_type = DF_Type::Void; + n_unk_88->m_rdf_type = RDF_Type::Vector; + n_unk_88->m_node_type = NodeType::Vector; + n_unk_88->m_addornements = "v*"; + n_unk_88->m_address = base + offset; + n_unk_88->m_parent = p_node_parent; + n_unk_88->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_88); + +} +void node_from_gait_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_gait_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "action_string_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::gait_info, field_name)); + auto n_action_string_idx = new NodeSimple; + n_action_string_idx->m_field_name = field_name; + n_action_string_idx->m_df_type = DF_Type::int32_t; + n_action_string_idx->m_rdf_type = RDF_Type::int32_t; + n_action_string_idx->m_node_type = NodeType::Simple; + n_action_string_idx->m_address = base + offset; + n_action_string_idx->m_refers_to = "$global.world.raws.creatures.action_strings[$].value"; + n_action_string_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_action_string_idx); + + field_name = "full_speed"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::gait_info, field_name)); + auto n_full_speed = new NodeSimple; + n_full_speed->m_field_name = field_name; + n_full_speed->m_df_type = DF_Type::int32_t; + n_full_speed->m_rdf_type = RDF_Type::int32_t; + n_full_speed->m_node_type = NodeType::Simple; + n_full_speed->m_address = base + offset; + n_full_speed->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_full_speed); + + field_name = "buildup_time"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::gait_info, field_name)); + auto n_buildup_time = new NodeSimple; + n_buildup_time->m_field_name = field_name; + n_buildup_time->m_df_type = DF_Type::int32_t; + n_buildup_time->m_rdf_type = RDF_Type::int32_t; + n_buildup_time->m_node_type = NodeType::Simple; + n_buildup_time->m_address = base + offset; + n_buildup_time->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_buildup_time); + + field_name = "turn_max"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::gait_info, field_name)); + auto n_turn_max = new NodeSimple; + n_turn_max->m_field_name = field_name; + n_turn_max->m_df_type = DF_Type::int32_t; + n_turn_max->m_rdf_type = RDF_Type::int32_t; + n_turn_max->m_node_type = NodeType::Simple; + n_turn_max->m_address = base + offset; + n_turn_max->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_turn_max); + + field_name = "start_speed"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::gait_info, field_name)); + auto n_start_speed = new NodeSimple; + n_start_speed->m_field_name = field_name; + n_start_speed->m_df_type = DF_Type::int32_t; + n_start_speed->m_rdf_type = RDF_Type::int32_t; + n_start_speed->m_node_type = NodeType::Simple; + n_start_speed->m_address = base + offset; + n_start_speed->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_start_speed); + + field_name = "energy_use"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::gait_info, field_name)); + auto n_energy_use = new NodeSimple; + n_energy_use->m_field_name = field_name; + n_energy_use->m_df_type = DF_Type::int32_t; + n_energy_use->m_rdf_type = RDF_Type::int32_t; + n_energy_use->m_node_type = NodeType::Simple; + n_energy_use->m_address = base + offset; + n_energy_use->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_energy_use); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::gait_info, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::gait_info__T_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "stealth_slows"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::gait_info, field_name)); + auto n_stealth_slows = new NodeSimple; + n_stealth_slows->m_field_name = field_name; + n_stealth_slows->m_df_type = DF_Type::int32_t; + n_stealth_slows->m_rdf_type = RDF_Type::int32_t; + n_stealth_slows->m_node_type = NodeType::Simple; + n_stealth_slows->m_address = base + offset; + n_stealth_slows->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_stealth_slows); + +} +void node_from_creature_interaction_target_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_creature_graphics_role(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_tissue_style_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_creature_graphics_appointment(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "token"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_graphics_appointment, field_name)); + auto n_token = new NodeSimple; + n_token->m_field_name = field_name; + n_token->m_df_type = DF_Type::Stl_string; + n_token->m_rdf_type = RDF_Type::Stl_string; + n_token->m_node_type = NodeType::Simple; + n_token->m_address = base + offset; + n_token->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_token); + + field_name = "texpos"; + auto n_texpos = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_graphics_appointment, field_name)); + n_texpos->m_field_name = field_name; + n_texpos->m_df_type = DF_Type::int32_t; + n_texpos->m_rdf_type = RDF_Type::Array; + n_texpos->m_node_type = NodeType::Array; + n_texpos->m_index_enum = DF_Type::creature_graphics_role; + n_texpos->m_addornements = "[6"; + n_texpos->m_array_size = 6; + n_texpos->m_address = base + offset; + n_texpos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_texpos); + + field_name = "texpos_gs"; + auto n_texpos_gs = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_graphics_appointment, field_name)); + n_texpos_gs->m_field_name = field_name; + n_texpos_gs->m_df_type = DF_Type::int32_t; + n_texpos_gs->m_rdf_type = RDF_Type::Array; + n_texpos_gs->m_node_type = NodeType::Array; + n_texpos_gs->m_index_enum = DF_Type::creature_graphics_role; + n_texpos_gs->m_addornements = "[6"; + n_texpos_gs->m_array_size = 6; + n_texpos_gs->m_address = base + offset; + n_texpos_gs->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_texpos_gs); + + field_name = "add_color"; + auto n_add_color = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_graphics_appointment, field_name)); + n_add_color->m_field_name = field_name; + n_add_color->m_df_type = DF_Type::Bool; + n_add_color->m_rdf_type = RDF_Type::Array; + n_add_color->m_node_type = NodeType::Array; + n_add_color->m_index_enum = DF_Type::creature_graphics_role; + n_add_color->m_addornements = "[6"; + n_add_color->m_array_size = 6; + n_add_color->m_address = base + offset; + n_add_color->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_add_color); + +} +void node_from_creature_variation_convert_tag(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "cvct_master"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_variation_convert_tag, field_name)); + auto n_cvct_master = new NodeSimple; + n_cvct_master->m_field_name = field_name; + n_cvct_master->m_df_type = DF_Type::Stl_string; + n_cvct_master->m_rdf_type = RDF_Type::Stl_string; + n_cvct_master->m_node_type = NodeType::Simple; + n_cvct_master->m_address = base + offset; + n_cvct_master->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cvct_master); + + field_name = "cvct_target"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_variation_convert_tag, field_name)); + auto n_cvct_target = new NodeSimple; + n_cvct_target->m_field_name = field_name; + n_cvct_target->m_df_type = DF_Type::Stl_string; + n_cvct_target->m_rdf_type = RDF_Type::Stl_string; + n_cvct_target->m_node_type = NodeType::Simple; + n_cvct_target->m_address = base + offset; + n_cvct_target->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cvct_target); + + field_name = "cvct_replacement"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_variation_convert_tag, field_name)); + auto n_cvct_replacement = new NodeSimple; + n_cvct_replacement->m_field_name = field_name; + n_cvct_replacement->m_df_type = DF_Type::Stl_string; + n_cvct_replacement->m_rdf_type = RDF_Type::Stl_string; + n_cvct_replacement->m_node_type = NodeType::Simple; + n_cvct_replacement->m_address = base + offset; + n_cvct_replacement->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cvct_replacement); + + field_name = "unk_v40_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_variation_convert_tag, field_name)); + auto n_unk_v40_1 = new NodeSimple; + n_unk_v40_1->m_field_name = field_name; + n_unk_v40_1->m_df_type = DF_Type::int32_t; + n_unk_v40_1->m_rdf_type = RDF_Type::int32_t; + n_unk_v40_1->m_node_type = NodeType::Simple; + n_unk_v40_1->m_address = base + offset; + n_unk_v40_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_1); + + field_name = "unk_v40_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_variation_convert_tag, field_name)); + auto n_unk_v40_2 = new NodeSimple; + n_unk_v40_2->m_field_name = field_name; + n_unk_v40_2->m_df_type = DF_Type::Stl_string; + n_unk_v40_2->m_rdf_type = RDF_Type::Stl_string; + n_unk_v40_2->m_node_type = NodeType::Simple; + n_unk_v40_2->m_address = base + offset; + n_unk_v40_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_2); + +} +void node_from_body_part_template_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_body_part_template_contype(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_tissue_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_body_detail_plan(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_detail_plan, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::Stl_string; + n_id->m_rdf_type = RDF_Type::Stl_string; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "add_material_name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_detail_plan, field_name)); + auto n_add_material_name = new NodeVector; + n_add_material_name->m_field_name = field_name; + n_add_material_name->m_df_type = DF_Type::Stl_string; + n_add_material_name->m_rdf_type = RDF_Type::Vector; + n_add_material_name->m_node_type = NodeType::Vector; + n_add_material_name->m_addornements = "v*"; + n_add_material_name->m_address = base + offset; + n_add_material_name->m_parent = p_node_parent; + n_add_material_name->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_add_material_name); + + field_name = "add_material_template"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_detail_plan, field_name)); + auto n_add_material_template = new NodeVector; + n_add_material_template->m_field_name = field_name; + n_add_material_template->m_df_type = DF_Type::Stl_string; + n_add_material_template->m_rdf_type = RDF_Type::Vector; + n_add_material_template->m_node_type = NodeType::Vector; + n_add_material_template->m_addornements = "v*"; + n_add_material_template->m_address = base + offset; + n_add_material_template->m_parent = p_node_parent; + n_add_material_template->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_add_material_template); + + field_name = "add_tissue_name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_detail_plan, field_name)); + auto n_add_tissue_name = new NodeVector; + n_add_tissue_name->m_field_name = field_name; + n_add_tissue_name->m_df_type = DF_Type::Stl_string; + n_add_tissue_name->m_rdf_type = RDF_Type::Vector; + n_add_tissue_name->m_node_type = NodeType::Vector; + n_add_tissue_name->m_addornements = "v*"; + n_add_tissue_name->m_address = base + offset; + n_add_tissue_name->m_parent = p_node_parent; + n_add_tissue_name->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_add_tissue_name); + + field_name = "add_tissue_template"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_detail_plan, field_name)); + auto n_add_tissue_template = new NodeVector; + n_add_tissue_template->m_field_name = field_name; + n_add_tissue_template->m_df_type = DF_Type::Stl_string; + n_add_tissue_template->m_rdf_type = RDF_Type::Vector; + n_add_tissue_template->m_node_type = NodeType::Vector; + n_add_tissue_template->m_addornements = "v*"; + n_add_tissue_template->m_address = base + offset; + n_add_tissue_template->m_parent = p_node_parent; + n_add_tissue_template->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_add_tissue_template); + + field_name = "unk5c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_detail_plan, field_name)); + auto n_unk5c = new NodeVector; + n_unk5c->m_field_name = field_name; + n_unk5c->m_df_type = DF_Type::int16_t; + n_unk5c->m_rdf_type = RDF_Type::Vector; + n_unk5c->m_node_type = NodeType::Vector; + n_unk5c->m_addornements = "v"; + n_unk5c->m_address = base + offset; + n_unk5c->m_parent = p_node_parent; + n_unk5c->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk5c); + + field_name = "unk6c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_detail_plan, field_name)); + auto n_unk6c = new NodeVector; + n_unk6c->m_field_name = field_name; + n_unk6c->m_df_type = DF_Type::Stl_string; + n_unk6c->m_rdf_type = RDF_Type::Vector; + n_unk6c->m_node_type = NodeType::Vector; + n_unk6c->m_addornements = "v*"; + n_unk6c->m_address = base + offset; + n_unk6c->m_parent = p_node_parent; + n_unk6c->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk6c); + + field_name = "unk7c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_detail_plan, field_name)); + auto n_unk7c = new NodeVector; + n_unk7c->m_field_name = field_name; + n_unk7c->m_df_type = DF_Type::Stl_string; + n_unk7c->m_rdf_type = RDF_Type::Vector; + n_unk7c->m_node_type = NodeType::Vector; + n_unk7c->m_addornements = "v*"; + n_unk7c->m_address = base + offset; + n_unk7c->m_parent = p_node_parent; + n_unk7c->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk7c); + + field_name = "bp_layers_selection"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_detail_plan, field_name)); + auto n_bp_layers_selection = new NodeVector; + n_bp_layers_selection->m_field_name = field_name; + n_bp_layers_selection->m_df_type = DF_Type::int32_t; + n_bp_layers_selection->m_rdf_type = RDF_Type::Vector; + n_bp_layers_selection->m_node_type = NodeType::Vector; + n_bp_layers_selection->m_addornements = "v"; + n_bp_layers_selection->m_address = base + offset; + n_bp_layers_selection->m_parent = p_node_parent; + n_bp_layers_selection->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bp_layers_selection); + + field_name = "bp_layers_criteria"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_detail_plan, field_name)); + auto n_bp_layers_criteria = new NodeVector; + n_bp_layers_criteria->m_field_name = field_name; + n_bp_layers_criteria->m_df_type = DF_Type::int16_t; + n_bp_layers_criteria->m_rdf_type = RDF_Type::Vector; + n_bp_layers_criteria->m_node_type = NodeType::Vector; + n_bp_layers_criteria->m_addornements = "v"; + n_bp_layers_criteria->m_address = base + offset; + n_bp_layers_criteria->m_parent = p_node_parent; + n_bp_layers_criteria->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bp_layers_criteria); + + field_name = "bp_layers_tissue"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_detail_plan, field_name)); + auto n_bp_layers_tissue = new NodeVector; + n_bp_layers_tissue->m_field_name = field_name; + n_bp_layers_tissue->m_df_type = DF_Type::int16_t; + n_bp_layers_tissue->m_rdf_type = RDF_Type::Vector; + n_bp_layers_tissue->m_node_type = NodeType::Vector; + n_bp_layers_tissue->m_addornements = "v"; + n_bp_layers_tissue->m_address = base + offset; + n_bp_layers_tissue->m_parent = p_node_parent; + n_bp_layers_tissue->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bp_layers_tissue); + + field_name = "bp_layers_thickness"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_detail_plan, field_name)); + auto n_bp_layers_thickness = new NodeVector; + n_bp_layers_thickness->m_field_name = field_name; + n_bp_layers_thickness->m_df_type = DF_Type::Stl_string; + n_bp_layers_thickness->m_rdf_type = RDF_Type::Vector; + n_bp_layers_thickness->m_node_type = NodeType::Vector; + n_bp_layers_thickness->m_addornements = "v*"; + n_bp_layers_thickness->m_address = base + offset; + n_bp_layers_thickness->m_parent = p_node_parent; + n_bp_layers_thickness->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bp_layers_thickness); + + field_name = "bp_layers_position"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_detail_plan, field_name)); + auto n_bp_layers_position = new NodeVector; + n_bp_layers_position->m_field_name = field_name; + n_bp_layers_position->m_df_type = DF_Type::int16_t; + n_bp_layers_position->m_rdf_type = RDF_Type::Vector; + n_bp_layers_position->m_node_type = NodeType::Vector; + n_bp_layers_position->m_addornements = "v"; + n_bp_layers_position->m_address = base + offset; + n_bp_layers_position->m_parent = p_node_parent; + n_bp_layers_position->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bp_layers_position); + + field_name = "bp_layers_over_under"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_detail_plan, field_name)); + auto n_bp_layers_over_under = new NodeVector; + n_bp_layers_over_under->m_field_name = field_name; + n_bp_layers_over_under->m_df_type = DF_Type::int8_t; + n_bp_layers_over_under->m_rdf_type = RDF_Type::Vector; + n_bp_layers_over_under->m_node_type = NodeType::Vector; + n_bp_layers_over_under->m_addornements = "v"; + n_bp_layers_over_under->m_address = base + offset; + n_bp_layers_over_under->m_parent = p_node_parent; + n_bp_layers_over_under->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bp_layers_over_under); + + field_name = "bp_relsize_selection"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_detail_plan, field_name)); + auto n_bp_relsize_selection = new NodeVector; + n_bp_relsize_selection->m_field_name = field_name; + n_bp_relsize_selection->m_df_type = DF_Type::int16_t; + n_bp_relsize_selection->m_rdf_type = RDF_Type::Vector; + n_bp_relsize_selection->m_node_type = NodeType::Vector; + n_bp_relsize_selection->m_addornements = "v"; + n_bp_relsize_selection->m_address = base + offset; + n_bp_relsize_selection->m_parent = p_node_parent; + n_bp_relsize_selection->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bp_relsize_selection); + + field_name = "bp_relsize_criteria"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_detail_plan, field_name)); + auto n_bp_relsize_criteria = new NodeVector; + n_bp_relsize_criteria->m_field_name = field_name; + n_bp_relsize_criteria->m_df_type = DF_Type::Stl_string; + n_bp_relsize_criteria->m_rdf_type = RDF_Type::Vector; + n_bp_relsize_criteria->m_node_type = NodeType::Vector; + n_bp_relsize_criteria->m_addornements = "v*"; + n_bp_relsize_criteria->m_address = base + offset; + n_bp_relsize_criteria->m_parent = p_node_parent; + n_bp_relsize_criteria->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bp_relsize_criteria); + + field_name = "bp_relsize_value"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_detail_plan, field_name)); + auto n_bp_relsize_value = new NodeVector; + n_bp_relsize_value->m_field_name = field_name; + n_bp_relsize_value->m_df_type = DF_Type::int32_t; + n_bp_relsize_value->m_rdf_type = RDF_Type::Vector; + n_bp_relsize_value->m_node_type = NodeType::Vector; + n_bp_relsize_value->m_addornements = "v"; + n_bp_relsize_value->m_address = base + offset; + n_bp_relsize_value->m_parent = p_node_parent; + n_bp_relsize_value->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bp_relsize_value); + + field_name = "bp_position_selection"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_detail_plan, field_name)); + auto n_bp_position_selection = new NodeVector; + n_bp_position_selection->m_field_name = field_name; + n_bp_position_selection->m_df_type = DF_Type::int16_t; + n_bp_position_selection->m_rdf_type = RDF_Type::Vector; + n_bp_position_selection->m_node_type = NodeType::Vector; + n_bp_position_selection->m_addornements = "v"; + n_bp_position_selection->m_address = base + offset; + n_bp_position_selection->m_parent = p_node_parent; + n_bp_position_selection->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bp_position_selection); + + field_name = "bp_position_criteria"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_detail_plan, field_name)); + auto n_bp_position_criteria = new NodeVector; + n_bp_position_criteria->m_field_name = field_name; + n_bp_position_criteria->m_df_type = DF_Type::Stl_string; + n_bp_position_criteria->m_rdf_type = RDF_Type::Vector; + n_bp_position_criteria->m_node_type = NodeType::Vector; + n_bp_position_criteria->m_addornements = "v*"; + n_bp_position_criteria->m_address = base + offset; + n_bp_position_criteria->m_parent = p_node_parent; + n_bp_position_criteria->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bp_position_criteria); + + field_name = "bp_position_value"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_detail_plan, field_name)); + auto n_bp_position_value = new NodeVector; + n_bp_position_value->m_field_name = field_name; + n_bp_position_value->m_df_type = DF_Type::int16_t; + n_bp_position_value->m_rdf_type = RDF_Type::Vector; + n_bp_position_value->m_node_type = NodeType::Vector; + n_bp_position_value->m_addornements = "v"; + n_bp_position_value->m_address = base + offset; + n_bp_position_value->m_parent = p_node_parent; + n_bp_position_value->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bp_position_value); + + field_name = "bp_relation_selection_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_detail_plan, field_name)); + auto n_bp_relation_selection_1 = new NodeVector; + n_bp_relation_selection_1->m_field_name = field_name; + n_bp_relation_selection_1->m_df_type = DF_Type::int16_t; + n_bp_relation_selection_1->m_rdf_type = RDF_Type::Vector; + n_bp_relation_selection_1->m_node_type = NodeType::Vector; + n_bp_relation_selection_1->m_addornements = "v"; + n_bp_relation_selection_1->m_address = base + offset; + n_bp_relation_selection_1->m_parent = p_node_parent; + n_bp_relation_selection_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bp_relation_selection_1); + + field_name = "bp_relation_criteria_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_detail_plan, field_name)); + auto n_bp_relation_criteria_1 = new NodeVector; + n_bp_relation_criteria_1->m_field_name = field_name; + n_bp_relation_criteria_1->m_df_type = DF_Type::Stl_string; + n_bp_relation_criteria_1->m_rdf_type = RDF_Type::Vector; + n_bp_relation_criteria_1->m_node_type = NodeType::Vector; + n_bp_relation_criteria_1->m_addornements = "v*"; + n_bp_relation_criteria_1->m_address = base + offset; + n_bp_relation_criteria_1->m_parent = p_node_parent; + n_bp_relation_criteria_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bp_relation_criteria_1); + + field_name = "bp_relation_value_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_detail_plan, field_name)); + auto n_bp_relation_value_1 = new NodeVector; + n_bp_relation_value_1->m_field_name = field_name; + n_bp_relation_value_1->m_df_type = DF_Type::int16_t; + n_bp_relation_value_1->m_rdf_type = RDF_Type::Vector; + n_bp_relation_value_1->m_node_type = NodeType::Vector; + n_bp_relation_value_1->m_addornements = "v"; + n_bp_relation_value_1->m_address = base + offset; + n_bp_relation_value_1->m_parent = p_node_parent; + n_bp_relation_value_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bp_relation_value_1); + + field_name = "bp_relation_selection_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_detail_plan, field_name)); + auto n_bp_relation_selection_2 = new NodeVector; + n_bp_relation_selection_2->m_field_name = field_name; + n_bp_relation_selection_2->m_df_type = DF_Type::int16_t; + n_bp_relation_selection_2->m_rdf_type = RDF_Type::Vector; + n_bp_relation_selection_2->m_node_type = NodeType::Vector; + n_bp_relation_selection_2->m_addornements = "v"; + n_bp_relation_selection_2->m_address = base + offset; + n_bp_relation_selection_2->m_parent = p_node_parent; + n_bp_relation_selection_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bp_relation_selection_2); + + field_name = "bp_relation_criteria_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_detail_plan, field_name)); + auto n_bp_relation_criteria_2 = new NodeVector; + n_bp_relation_criteria_2->m_field_name = field_name; + n_bp_relation_criteria_2->m_df_type = DF_Type::Stl_string; + n_bp_relation_criteria_2->m_rdf_type = RDF_Type::Vector; + n_bp_relation_criteria_2->m_node_type = NodeType::Vector; + n_bp_relation_criteria_2->m_addornements = "v*"; + n_bp_relation_criteria_2->m_address = base + offset; + n_bp_relation_criteria_2->m_parent = p_node_parent; + n_bp_relation_criteria_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bp_relation_criteria_2); + + field_name = "bp_relation_extent"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_detail_plan, field_name)); + auto n_bp_relation_extent = new NodeVector; + n_bp_relation_extent->m_field_name = field_name; + n_bp_relation_extent->m_df_type = DF_Type::int16_t; + n_bp_relation_extent->m_rdf_type = RDF_Type::Vector; + n_bp_relation_extent->m_node_type = NodeType::Vector; + n_bp_relation_extent->m_addornements = "v"; + n_bp_relation_extent->m_address = base + offset; + n_bp_relation_extent->m_parent = p_node_parent; + n_bp_relation_extent->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bp_relation_extent); + +} +void node_from_d_init_nickname(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_d_init_z_view(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_d_init_embark_confirm(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_d_init_idlers(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_d_init_tunnel(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_d_init_flags1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_d_init_flags2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_d_init_flags3(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_d_init_flags4(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_pattern_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_descriptor_color(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::descriptor_color, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::Stl_string; + n_id->m_rdf_type = RDF_Type::Stl_string; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "word_unk"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::descriptor_color, field_name)); + auto n_word_unk = new NodeVector; + n_word_unk->m_field_name = field_name; + n_word_unk->m_df_type = DF_Type::Void; + n_word_unk->m_rdf_type = RDF_Type::Vector; + n_word_unk->m_node_type = NodeType::Vector; + n_word_unk->m_addornements = "v"; + n_word_unk->m_address = base + offset; + n_word_unk->m_parent = p_node_parent; + n_word_unk->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_word_unk); + + field_name = "words"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::descriptor_color, field_name)); + auto n_words = new NodeVector; + n_words->m_field_name = field_name; + n_words->m_df_type = DF_Type::int32_t; + n_words->m_rdf_type = RDF_Type::Vector; + n_words->m_node_type = NodeType::Vector; + n_words->m_addornements = "v"; + n_words->m_address = base + offset; + n_words->m_parent = p_node_parent; + n_words->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_words); + + field_name = "name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::descriptor_color, field_name)); + auto n_name = new NodeSimple; + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Stl_string; + n_name->m_node_type = NodeType::Simple; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "color"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::descriptor_color, field_name)); + auto n_color = new NodeSimple; + n_color->m_field_name = field_name; + n_color->m_df_type = DF_Type::int8_t; + n_color->m_rdf_type = RDF_Type::int8_t; + n_color->m_node_type = NodeType::Simple; + n_color->m_address = base + offset; + n_color->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_color); + + field_name = "bold"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::descriptor_color, field_name)); + auto n_bold = new NodeSimple; + n_bold->m_field_name = field_name; + n_bold->m_df_type = DF_Type::int8_t; + n_bold->m_rdf_type = RDF_Type::int8_t; + n_bold->m_node_type = NodeType::Simple; + n_bold->m_address = base + offset; + n_bold->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_bold); + + field_name = "red"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::descriptor_color, field_name)); + auto n_red = new NodeSimple; + n_red->m_field_name = field_name; + n_red->m_df_type = DF_Type::S_float; + n_red->m_rdf_type = RDF_Type::S_float; + n_red->m_node_type = NodeType::Simple; + n_red->m_address = base + offset; + n_red->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_red); + + field_name = "green"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::descriptor_color, field_name)); + auto n_green = new NodeSimple; + n_green->m_field_name = field_name; + n_green->m_df_type = DF_Type::S_float; + n_green->m_rdf_type = RDF_Type::S_float; + n_green->m_node_type = NodeType::Simple; + n_green->m_address = base + offset; + n_green->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_green); + + field_name = "blue"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::descriptor_color, field_name)); + auto n_blue = new NodeSimple; + n_blue->m_field_name = field_name; + n_blue->m_df_type = DF_Type::S_float; + n_blue->m_rdf_type = RDF_Type::S_float; + n_blue->m_node_type = NodeType::Simple; + n_blue->m_address = base + offset; + n_blue->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_blue); + +} +void node_from_descriptor_shape(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::descriptor_shape, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::Stl_string; + n_id->m_rdf_type = RDF_Type::Stl_string; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "word_unk"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::descriptor_shape, field_name)); + auto n_word_unk = new NodeVector; + n_word_unk->m_field_name = field_name; + n_word_unk->m_df_type = DF_Type::Void; + n_word_unk->m_rdf_type = RDF_Type::Vector; + n_word_unk->m_node_type = NodeType::Vector; + n_word_unk->m_addornements = "v"; + n_word_unk->m_address = base + offset; + n_word_unk->m_parent = p_node_parent; + n_word_unk->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_word_unk); + + field_name = "words"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::descriptor_shape, field_name)); + auto n_words = new NodeVector; + n_words->m_field_name = field_name; + n_words->m_df_type = DF_Type::int32_t; + n_words->m_rdf_type = RDF_Type::Vector; + n_words->m_node_type = NodeType::Vector; + n_words->m_addornements = "v"; + n_words->m_address = base + offset; + n_words->m_parent = p_node_parent; + n_words->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_words); + + field_name = "name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::descriptor_shape, field_name)); + auto n_name = new NodeSimple; + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Stl_string; + n_name->m_node_type = NodeType::Simple; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "name_plural"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::descriptor_shape, field_name)); + auto n_name_plural = new NodeSimple; + n_name_plural->m_field_name = field_name; + n_name_plural->m_df_type = DF_Type::Stl_string; + n_name_plural->m_rdf_type = RDF_Type::Stl_string; + n_name_plural->m_node_type = NodeType::Simple; + n_name_plural->m_address = base + offset; + n_name_plural->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name_plural); + + field_name = "adj"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::descriptor_shape, field_name)); + auto n_adj = new NodeVector; + n_adj->m_field_name = field_name; + n_adj->m_df_type = DF_Type::Stl_string; + n_adj->m_rdf_type = RDF_Type::Vector; + n_adj->m_node_type = NodeType::Vector; + n_adj->m_addornements = "v*"; + n_adj->m_address = base + offset; + n_adj->m_parent = p_node_parent; + n_adj->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_adj); + + field_name = "gems_use"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::descriptor_shape, field_name)); + auto n_gems_use = new NodeBitfield; + n_gems_use->m_field_name = field_name; + n_gems_use->m_df_type = DF_Type::descriptor_shape__T_gems_use; + n_gems_use->m_rdf_type = RDF_Type::Bitfield; + n_gems_use->m_node_type = NodeType::Bitfield; + n_gems_use->m_address = base + offset; + n_gems_use->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_gems_use); + + field_name = "tile"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::descriptor_shape, field_name)); + auto n_tile = new NodeSimple; + n_tile->m_field_name = field_name; + n_tile->m_df_type = DF_Type::uint8_t; + n_tile->m_rdf_type = RDF_Type::uint8_t; + n_tile->m_node_type = NodeType::Simple; + n_tile->m_address = base + offset; + n_tile->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tile); + +} +void node_from_occasion_schedule_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_occasion_schedule_feature(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_entity_activity_statistics__T_food(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "total"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics__T_food, field_name)); + auto n_total = new NodeSimple; + n_total->m_field_name = field_name; + n_total->m_df_type = DF_Type::int32_t; + n_total->m_rdf_type = RDF_Type::int32_t; + n_total->m_node_type = NodeType::Simple; + n_total->m_address = base + offset; + n_total->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_total); + + field_name = "meat"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics__T_food, field_name)); + auto n_meat = new NodeSimple; + n_meat->m_field_name = field_name; + n_meat->m_df_type = DF_Type::int32_t; + n_meat->m_rdf_type = RDF_Type::int32_t; + n_meat->m_node_type = NodeType::Simple; + n_meat->m_address = base + offset; + n_meat->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_meat); + + field_name = "fish"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics__T_food, field_name)); + auto n_fish = new NodeSimple; + n_fish->m_field_name = field_name; + n_fish->m_df_type = DF_Type::int32_t; + n_fish->m_rdf_type = RDF_Type::int32_t; + n_fish->m_node_type = NodeType::Simple; + n_fish->m_address = base + offset; + n_fish->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_fish); + + field_name = "other"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics__T_food, field_name)); + auto n_other = new NodeSimple; + n_other->m_field_name = field_name; + n_other->m_df_type = DF_Type::int32_t; + n_other->m_rdf_type = RDF_Type::int32_t; + n_other->m_node_type = NodeType::Simple; + n_other->m_address = base + offset; + n_other->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_other); + + field_name = "seeds"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics__T_food, field_name)); + auto n_seeds = new NodeSimple; + n_seeds->m_field_name = field_name; + n_seeds->m_df_type = DF_Type::int32_t; + n_seeds->m_rdf_type = RDF_Type::int32_t; + n_seeds->m_node_type = NodeType::Simple; + n_seeds->m_address = base + offset; + n_seeds->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_seeds); + + field_name = "plant"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics__T_food, field_name)); + auto n_plant = new NodeSimple; + n_plant->m_field_name = field_name; + n_plant->m_df_type = DF_Type::int32_t; + n_plant->m_rdf_type = RDF_Type::int32_t; + n_plant->m_node_type = NodeType::Simple; + n_plant->m_address = base + offset; + n_plant->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_plant); + + field_name = "drink"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics__T_food, field_name)); + auto n_drink = new NodeSimple; + n_drink->m_field_name = field_name; + n_drink->m_df_type = DF_Type::int32_t; + n_drink->m_rdf_type = RDF_Type::int32_t; + n_drink->m_node_type = NodeType::Simple; + n_drink->m_address = base + offset; + n_drink->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_drink); + +} +void node_from_entity_activity_statistics__T_wealth(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "total"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics__T_wealth, field_name)); + auto n_total = new NodeSimple; + n_total->m_field_name = field_name; + n_total->m_df_type = DF_Type::int32_t; + n_total->m_rdf_type = RDF_Type::int32_t; + n_total->m_node_type = NodeType::Simple; + n_total->m_address = base + offset; + n_total->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_total); + + field_name = "weapons"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics__T_wealth, field_name)); + auto n_weapons = new NodeSimple; + n_weapons->m_field_name = field_name; + n_weapons->m_df_type = DF_Type::int32_t; + n_weapons->m_rdf_type = RDF_Type::int32_t; + n_weapons->m_node_type = NodeType::Simple; + n_weapons->m_address = base + offset; + n_weapons->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_weapons); + + field_name = "armor"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics__T_wealth, field_name)); + auto n_armor = new NodeSimple; + n_armor->m_field_name = field_name; + n_armor->m_df_type = DF_Type::int32_t; + n_armor->m_rdf_type = RDF_Type::int32_t; + n_armor->m_node_type = NodeType::Simple; + n_armor->m_address = base + offset; + n_armor->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_armor); + + field_name = "furniture"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics__T_wealth, field_name)); + auto n_furniture = new NodeSimple; + n_furniture->m_field_name = field_name; + n_furniture->m_df_type = DF_Type::int32_t; + n_furniture->m_rdf_type = RDF_Type::int32_t; + n_furniture->m_node_type = NodeType::Simple; + n_furniture->m_address = base + offset; + n_furniture->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_furniture); + + field_name = "other"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics__T_wealth, field_name)); + auto n_other = new NodeSimple; + n_other->m_field_name = field_name; + n_other->m_df_type = DF_Type::int32_t; + n_other->m_rdf_type = RDF_Type::int32_t; + n_other->m_node_type = NodeType::Simple; + n_other->m_address = base + offset; + n_other->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_other); + + field_name = "architecture"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics__T_wealth, field_name)); + auto n_architecture = new NodeSimple; + n_architecture->m_field_name = field_name; + n_architecture->m_df_type = DF_Type::int32_t; + n_architecture->m_rdf_type = RDF_Type::int32_t; + n_architecture->m_node_type = NodeType::Simple; + n_architecture->m_address = base + offset; + n_architecture->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_architecture); + + field_name = "displayed"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics__T_wealth, field_name)); + auto n_displayed = new NodeSimple; + n_displayed->m_field_name = field_name; + n_displayed->m_df_type = DF_Type::int32_t; + n_displayed->m_rdf_type = RDF_Type::int32_t; + n_displayed->m_node_type = NodeType::Simple; + n_displayed->m_address = base + offset; + n_displayed->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_displayed); + + field_name = "held"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics__T_wealth, field_name)); + auto n_held = new NodeSimple; + n_held->m_field_name = field_name; + n_held->m_df_type = DF_Type::int32_t; + n_held->m_rdf_type = RDF_Type::int32_t; + n_held->m_node_type = NodeType::Simple; + n_held->m_address = base + offset; + n_held->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_held); + + field_name = "imported"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics__T_wealth, field_name)); + auto n_imported = new NodeSimple; + n_imported->m_field_name = field_name; + n_imported->m_df_type = DF_Type::int32_t; + n_imported->m_rdf_type = RDF_Type::int32_t; + n_imported->m_node_type = NodeType::Simple; + n_imported->m_address = base + offset; + n_imported->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_imported); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics__T_wealth, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "exported"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics__T_wealth, field_name)); + auto n_exported = new NodeSimple; + n_exported->m_field_name = field_name; + n_exported->m_df_type = DF_Type::int32_t; + n_exported->m_rdf_type = RDF_Type::int32_t; + n_exported->m_node_type = NodeType::Simple; + n_exported->m_address = base + offset; + n_exported->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_exported); + +} +void node_from_entity_activity_statistics(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "food"; + auto n_food = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); + n_food->m_field_name = field_name; + n_food->m_df_type = DF_Type::entity_activity_statistics__T_food; + n_food->m_rdf_type = RDF_Type::Compound; + n_food->m_node_type = NodeType::Compound; + n_food->m_address = base + offset; + n_food->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_food); + + field_name = "unit_counts"; + auto n_unit_counts = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); + n_unit_counts->m_field_name = field_name; + n_unit_counts->m_df_type = DF_Type::int16_t; + n_unit_counts->m_rdf_type = RDF_Type::Array; + n_unit_counts->m_node_type = NodeType::Array; + n_unit_counts->m_index_enum = DF_Type::profession; + n_unit_counts->m_addornements = "[152"; + n_unit_counts->m_array_size = 152; + n_unit_counts->m_address = base + offset; + n_unit_counts->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unit_counts); + + field_name = "population"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); + auto n_population = new NodeSimple; + n_population->m_field_name = field_name; + n_population->m_df_type = DF_Type::int16_t; + n_population->m_rdf_type = RDF_Type::int16_t; + n_population->m_node_type = NodeType::Simple; + n_population->m_address = base + offset; + n_population->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_population); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int16_t; + n_anon_1->m_rdf_type = RDF_Type::int16_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int16_t; + n_anon_2->m_rdf_type = RDF_Type::int16_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_comment = "in 0.23, omnivores"; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int16_t; + n_anon_3->m_rdf_type = RDF_Type::int16_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_comment = "in 0.23, carnivores"; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "trained_animals"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); + auto n_trained_animals = new NodeSimple; + n_trained_animals->m_field_name = field_name; + n_trained_animals->m_df_type = DF_Type::int16_t; + n_trained_animals->m_rdf_type = RDF_Type::int16_t; + n_trained_animals->m_node_type = NodeType::Simple; + n_trained_animals->m_address = base + offset; + n_trained_animals->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_trained_animals); + + field_name = "other_animals"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); + auto n_other_animals = new NodeSimple; + n_other_animals->m_field_name = field_name; + n_other_animals->m_df_type = DF_Type::int16_t; + n_other_animals->m_rdf_type = RDF_Type::int16_t; + n_other_animals->m_node_type = NodeType::Simple; + n_other_animals->m_address = base + offset; + n_other_animals->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_other_animals); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int16_t; + n_anon_4->m_rdf_type = RDF_Type::int16_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_comment = "in 0.23, potential soldiers"; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_comment = "in 0.23, combat aptitude"; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "item_counts"; + auto n_item_counts = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); + n_item_counts->m_field_name = field_name; + n_item_counts->m_df_type = DF_Type::int32_t; + n_item_counts->m_rdf_type = RDF_Type::Array; + n_item_counts->m_node_type = NodeType::Array; + n_item_counts->m_index_enum = DF_Type::item_type; + n_item_counts->m_addornements = "[112"; + n_item_counts->m_array_size = 112; + n_item_counts->m_address = base + offset; + n_item_counts->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_counts); + + field_name = "created_weapons"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); + auto n_created_weapons = new NodeVector; + n_created_weapons->m_field_name = field_name; + n_created_weapons->m_df_type = DF_Type::int32_t; + n_created_weapons->m_rdf_type = RDF_Type::Vector; + n_created_weapons->m_node_type = NodeType::Vector; + n_created_weapons->m_addornements = "v"; + n_created_weapons->m_address = base + offset; + n_created_weapons->m_refers_to = "$global.world.raws.itemdefs.weapons[$]"; + n_created_weapons->m_parent = p_node_parent; + n_created_weapons->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_created_weapons); + + field_name = "wealth"; + auto n_wealth = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); + n_wealth->m_field_name = field_name; + n_wealth->m_df_type = DF_Type::entity_activity_statistics__T_wealth; + n_wealth->m_rdf_type = RDF_Type::Compound; + n_wealth->m_node_type = NodeType::Compound; + n_wealth->m_address = base + offset; + n_wealth->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_wealth); + + field_name = "recent_jobs"; + auto n_recent_jobs = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); + n_recent_jobs->m_field_name = field_name; + n_recent_jobs->m_df_type = DF_Type::int32_t; + n_recent_jobs->m_rdf_type = RDF_Type::Array; + n_recent_jobs->m_node_type = NodeType::Array; + n_recent_jobs->m_addornements = "[7[260"; + n_recent_jobs->m_array_size = 7; + n_recent_jobs->m_address = base + offset; + n_recent_jobs->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_recent_jobs); + + field_name = "excavated_tiles"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); + auto n_excavated_tiles = new NodeSimple; + n_excavated_tiles->m_field_name = field_name; + n_excavated_tiles->m_df_type = DF_Type::int32_t; + n_excavated_tiles->m_rdf_type = RDF_Type::int32_t; + n_excavated_tiles->m_node_type = NodeType::Simple; + n_excavated_tiles->m_address = base + offset; + n_excavated_tiles->m_comment = "unhidden, subterranean, and excluding map features"; + n_excavated_tiles->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_excavated_tiles); + + field_name = "death_history"; + auto n_death_history = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); + n_death_history->m_field_name = field_name; + n_death_history->m_df_type = DF_Type::int32_t; + n_death_history->m_rdf_type = RDF_Type::Array; + n_death_history->m_node_type = NodeType::Array; + n_death_history->m_addornements = "[5"; + n_death_history->m_array_size = 5; + n_death_history->m_address = base + offset; + n_death_history->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_death_history); + + field_name = "insanity_history"; + auto n_insanity_history = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); + n_insanity_history->m_field_name = field_name; + n_insanity_history->m_df_type = DF_Type::int32_t; + n_insanity_history->m_rdf_type = RDF_Type::Array; + n_insanity_history->m_node_type = NodeType::Array; + n_insanity_history->m_addornements = "[5"; + n_insanity_history->m_array_size = 5; + n_insanity_history->m_address = base + offset; + n_insanity_history->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_insanity_history); + + field_name = "execution_history"; + auto n_execution_history = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); + n_execution_history->m_field_name = field_name; + n_execution_history->m_df_type = DF_Type::int32_t; + n_execution_history->m_rdf_type = RDF_Type::Array; + n_execution_history->m_node_type = NodeType::Array; + n_execution_history->m_addornements = "[5"; + n_execution_history->m_array_size = 5; + n_execution_history->m_address = base + offset; + n_execution_history->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_execution_history); + + field_name = "noble_death_history"; + auto n_noble_death_history = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); + n_noble_death_history->m_field_name = field_name; + n_noble_death_history->m_df_type = DF_Type::int32_t; + n_noble_death_history->m_rdf_type = RDF_Type::Array; + n_noble_death_history->m_node_type = NodeType::Array; + n_noble_death_history->m_addornements = "[5"; + n_noble_death_history->m_array_size = 5; + n_noble_death_history->m_address = base + offset; + n_noble_death_history->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_noble_death_history); + + field_name = "total_deaths"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); + auto n_total_deaths = new NodeSimple; + n_total_deaths->m_field_name = field_name; + n_total_deaths->m_df_type = DF_Type::int32_t; + n_total_deaths->m_rdf_type = RDF_Type::int32_t; + n_total_deaths->m_node_type = NodeType::Simple; + n_total_deaths->m_address = base + offset; + n_total_deaths->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_total_deaths); + + field_name = "total_insanities"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); + auto n_total_insanities = new NodeSimple; + n_total_insanities->m_field_name = field_name; + n_total_insanities->m_df_type = DF_Type::int32_t; + n_total_insanities->m_rdf_type = RDF_Type::int32_t; + n_total_insanities->m_node_type = NodeType::Simple; + n_total_insanities->m_address = base + offset; + n_total_insanities->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_total_insanities); + + field_name = "total_executions"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); + auto n_total_executions = new NodeSimple; + n_total_executions->m_field_name = field_name; + n_total_executions->m_df_type = DF_Type::int32_t; + n_total_executions->m_rdf_type = RDF_Type::int32_t; + n_total_executions->m_node_type = NodeType::Simple; + n_total_executions->m_address = base + offset; + n_total_executions->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_total_executions); + + field_name = "num_artifacts"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); + auto n_num_artifacts = new NodeSimple; + n_num_artifacts->m_field_name = field_name; + n_num_artifacts->m_df_type = DF_Type::int32_t; + n_num_artifacts->m_rdf_type = RDF_Type::int32_t; + n_num_artifacts->m_node_type = NodeType::Simple; + n_num_artifacts->m_address = base + offset; + n_num_artifacts->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_num_artifacts); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_comment = "in 0.23, total siegers"; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "discovered_creature_foods"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); + auto n_discovered_creature_foods = new NodeVector; + n_discovered_creature_foods->m_field_name = field_name; + n_discovered_creature_foods->m_df_type = DF_Type::Bool; + n_discovered_creature_foods->m_rdf_type = RDF_Type::Vector; + n_discovered_creature_foods->m_node_type = NodeType::Vector; + n_discovered_creature_foods->m_addornements = "v"; + n_discovered_creature_foods->m_address = base + offset; + n_discovered_creature_foods->m_refers_to = "(find-creature $)"; + n_discovered_creature_foods->m_parent = p_node_parent; + n_discovered_creature_foods->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_discovered_creature_foods); + + field_name = "discovered_creatures"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); + auto n_discovered_creatures = new NodeVector; + n_discovered_creatures->m_field_name = field_name; + n_discovered_creatures->m_df_type = DF_Type::Bool; + n_discovered_creatures->m_rdf_type = RDF_Type::Vector; + n_discovered_creatures->m_node_type = NodeType::Vector; + n_discovered_creatures->m_addornements = "v"; + n_discovered_creatures->m_address = base + offset; + n_discovered_creatures->m_refers_to = "(find-creature $)"; + n_discovered_creatures->m_parent = p_node_parent; + n_discovered_creatures->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_discovered_creatures); + + field_name = "discovered_plant_foods"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); + auto n_discovered_plant_foods = new NodeVector; + n_discovered_plant_foods->m_field_name = field_name; + n_discovered_plant_foods->m_df_type = DF_Type::Bool; + n_discovered_plant_foods->m_rdf_type = RDF_Type::Vector; + n_discovered_plant_foods->m_node_type = NodeType::Vector; + n_discovered_plant_foods->m_addornements = "v"; + n_discovered_plant_foods->m_address = base + offset; + n_discovered_plant_foods->m_refers_to = "(find-plant-raw $)"; + n_discovered_plant_foods->m_parent = p_node_parent; + n_discovered_plant_foods->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_discovered_plant_foods); + + field_name = "discovered_plants"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); + auto n_discovered_plants = new NodeVector; + n_discovered_plants->m_field_name = field_name; + n_discovered_plants->m_df_type = DF_Type::Bool; + n_discovered_plants->m_rdf_type = RDF_Type::Vector; + n_discovered_plants->m_node_type = NodeType::Vector; + n_discovered_plants->m_addornements = "v"; + n_discovered_plants->m_address = base + offset; + n_discovered_plants->m_comment = "allows planting of seeds"; + n_discovered_plants->m_refers_to = "(find-plant-raw $)"; + n_discovered_plants->m_parent = p_node_parent; + n_discovered_plants->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_discovered_plants); + + field_name = "discovered_water_features"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); + auto n_discovered_water_features = new NodeSimple; + n_discovered_water_features->m_field_name = field_name; + n_discovered_water_features->m_df_type = DF_Type::int16_t; + n_discovered_water_features->m_rdf_type = RDF_Type::int16_t; + n_discovered_water_features->m_node_type = NodeType::Simple; + n_discovered_water_features->m_address = base + offset; + n_discovered_water_features->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_discovered_water_features); + + field_name = "discovered_subterranean_features"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); + auto n_discovered_subterranean_features = new NodeSimple; + n_discovered_subterranean_features->m_field_name = field_name; + n_discovered_subterranean_features->m_df_type = DF_Type::int16_t; + n_discovered_subterranean_features->m_rdf_type = RDF_Type::int16_t; + n_discovered_subterranean_features->m_node_type = NodeType::Simple; + n_discovered_subterranean_features->m_address = base + offset; + n_discovered_subterranean_features->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_discovered_subterranean_features); + + field_name = "discovered_chasm_features"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); + auto n_discovered_chasm_features = new NodeSimple; + n_discovered_chasm_features->m_field_name = field_name; + n_discovered_chasm_features->m_df_type = DF_Type::int16_t; + n_discovered_chasm_features->m_rdf_type = RDF_Type::int16_t; + n_discovered_chasm_features->m_node_type = NodeType::Simple; + n_discovered_chasm_features->m_address = base + offset; + n_discovered_chasm_features->m_comment = "unused since 40d"; + n_discovered_chasm_features->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_discovered_chasm_features); + + field_name = "discovered_magma_features"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); + auto n_discovered_magma_features = new NodeSimple; + n_discovered_magma_features->m_field_name = field_name; + n_discovered_magma_features->m_df_type = DF_Type::int16_t; + n_discovered_magma_features->m_rdf_type = RDF_Type::int16_t; + n_discovered_magma_features->m_node_type = NodeType::Simple; + n_discovered_magma_features->m_address = base + offset; + n_discovered_magma_features->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_discovered_magma_features); + + field_name = "discovered_feature_layers"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); + auto n_discovered_feature_layers = new NodeSimple; + n_discovered_feature_layers->m_field_name = field_name; + n_discovered_feature_layers->m_df_type = DF_Type::int16_t; + n_discovered_feature_layers->m_rdf_type = RDF_Type::int16_t; + n_discovered_feature_layers->m_node_type = NodeType::Simple; + n_discovered_feature_layers->m_address = base + offset; + n_discovered_feature_layers->m_comment = "back in 40d, this counted HFS"; + n_discovered_feature_layers->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_discovered_feature_layers); + + field_name = "migrant_wave_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); + auto n_migrant_wave_idx = new NodeSimple; + n_migrant_wave_idx->m_field_name = field_name; + n_migrant_wave_idx->m_df_type = DF_Type::int32_t; + n_migrant_wave_idx->m_rdf_type = RDF_Type::int32_t; + n_migrant_wave_idx->m_node_type = NodeType::Simple; + n_migrant_wave_idx->m_address = base + offset; + n_migrant_wave_idx->m_comment = "when >= 2, no migrants"; + n_migrant_wave_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_migrant_wave_idx); + + field_name = "found_minerals"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); + auto n_found_minerals = new NodeVector; + n_found_minerals->m_field_name = field_name; + n_found_minerals->m_df_type = DF_Type::int32_t; + n_found_minerals->m_rdf_type = RDF_Type::Vector; + n_found_minerals->m_node_type = NodeType::Vector; + n_found_minerals->m_addornements = "v"; + n_found_minerals->m_address = base + offset; + n_found_minerals->m_comment = "Added after 'you have struck' announcement"; + n_found_minerals->m_parent = p_node_parent; + n_found_minerals->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_found_minerals); + + field_name = "found_misc"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_activity_statistics, field_name)); + auto n_found_misc = new NodeBitfield; + n_found_misc->m_field_name = field_name; + n_found_misc->m_df_type = DF_Type::entity_activity_statistics__T_found_misc; + n_found_misc->m_rdf_type = RDF_Type::Bitfield; + n_found_misc->m_node_type = NodeType::Bitfield; + n_found_misc->m_address = base + offset; + n_found_misc->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_found_misc); + +} +void node_from_entity_sell_category(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_entity_sell_requests(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "priority"; + auto n_priority = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_sell_requests, field_name)); + n_priority->m_field_name = field_name; + n_priority->m_df_type = DF_Type::int8_t; + n_priority->m_rdf_type = RDF_Type::Array; + n_priority->m_node_type = NodeType::Array; + n_priority->m_index_enum = DF_Type::entity_sell_category; + n_priority->m_addornements = "[107v"; + n_priority->m_array_size = 107; + n_priority->m_address = base + offset; + n_priority->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_priority); + +} +void node_from_historical_entity_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_entity_tissue_style(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_tissue_style, field_name)); + auto n_name = new NodeSimple; + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Stl_string; + n_name->m_node_type = NodeType::Simple; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "preferred_shapings"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_tissue_style, field_name)); + auto n_preferred_shapings = new NodeVector; + n_preferred_shapings->m_field_name = field_name; + n_preferred_shapings->m_df_type = DF_Type::int16_t; + n_preferred_shapings->m_rdf_type = RDF_Type::Vector; + n_preferred_shapings->m_node_type = NodeType::Vector; + n_preferred_shapings->m_addornements = "v"; + n_preferred_shapings->m_address = base + offset; + n_preferred_shapings->m_parent = p_node_parent; + n_preferred_shapings->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_preferred_shapings); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_tissue_style, field_name)); + auto n_anon_1 = new NodeVector; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::Vector; + n_anon_1->m_node_type = NodeType::Vector; + n_anon_1->m_addornements = "v"; + n_anon_1->m_address = base + offset; + n_anon_1->m_comment = "maybe probability?"; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "maintain_length_min"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_tissue_style, field_name)); + auto n_maintain_length_min = new NodeSimple; + n_maintain_length_min->m_field_name = field_name; + n_maintain_length_min->m_df_type = DF_Type::int32_t; + n_maintain_length_min->m_rdf_type = RDF_Type::int32_t; + n_maintain_length_min->m_node_type = NodeType::Simple; + n_maintain_length_min->m_address = base + offset; + n_maintain_length_min->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_maintain_length_min); + + field_name = "maintain_length_max"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_tissue_style, field_name)); + auto n_maintain_length_max = new NodeSimple; + n_maintain_length_max->m_field_name = field_name; + n_maintain_length_max->m_df_type = DF_Type::int32_t; + n_maintain_length_max->m_rdf_type = RDF_Type::int32_t; + n_maintain_length_max->m_node_type = NodeType::Simple; + n_maintain_length_max->m_address = base + offset; + n_maintain_length_max->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_maintain_length_max); + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_tissue_style, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + +} +void node_from_training_knowledge_level(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_entity_position_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_entity_position(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "code"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); + auto n_code = new NodeSimple; + n_code->m_field_name = field_name; + n_code->m_df_type = DF_Type::Stl_string; + n_code->m_rdf_type = RDF_Type::Stl_string; + n_code->m_node_type = NodeType::Simple; + n_code->m_address = base + offset; + n_code->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_code); + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); + auto n_flags = new NodeDFFlagArray; + n_flags->m_field_name = field_name; + n_flags->m_index_enum = DF_Type::entity_position_flags; + n_flags->m_df_type = DF_Type::entity_position_flags; + n_flags->m_size = 32; + n_flags->m_rdf_type = RDF_Type::DFFlagArray; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_defined_in = "df.entities.xml"; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "allowed_creature"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); + auto n_allowed_creature = new NodeVector; + n_allowed_creature->m_field_name = field_name; + n_allowed_creature->m_df_type = DF_Type::int32_t; + n_allowed_creature->m_rdf_type = RDF_Type::Vector; + n_allowed_creature->m_node_type = NodeType::Vector; + n_allowed_creature->m_addornements = "v"; + n_allowed_creature->m_address = base + offset; + n_allowed_creature->m_parent = p_node_parent; + n_allowed_creature->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_allowed_creature); + + field_name = "allowed_class"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); + auto n_allowed_class = new NodeVector; + n_allowed_class->m_field_name = field_name; + n_allowed_class->m_df_type = DF_Type::Stl_string; + n_allowed_class->m_rdf_type = RDF_Type::Vector; + n_allowed_class->m_node_type = NodeType::Vector; + n_allowed_class->m_addornements = "v*"; + n_allowed_class->m_address = base + offset; + n_allowed_class->m_parent = p_node_parent; + n_allowed_class->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_allowed_class); + + field_name = "rejected_creature"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); + auto n_rejected_creature = new NodeVector; + n_rejected_creature->m_field_name = field_name; + n_rejected_creature->m_df_type = DF_Type::int32_t; + n_rejected_creature->m_rdf_type = RDF_Type::Vector; + n_rejected_creature->m_node_type = NodeType::Vector; + n_rejected_creature->m_addornements = "v"; + n_rejected_creature->m_address = base + offset; + n_rejected_creature->m_parent = p_node_parent; + n_rejected_creature->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_rejected_creature); + + field_name = "rejected_class"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); + auto n_rejected_class = new NodeVector; + n_rejected_class->m_field_name = field_name; + n_rejected_class->m_df_type = DF_Type::Stl_string; + n_rejected_class->m_rdf_type = RDF_Type::Vector; + n_rejected_class->m_node_type = NodeType::Vector; + n_rejected_class->m_addornements = "v*"; + n_rejected_class->m_address = base + offset; + n_rejected_class->m_parent = p_node_parent; + n_rejected_class->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_rejected_class); + + field_name = "name"; + auto n_name = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Array; + n_name->m_node_type = NodeType::Array; + n_name->m_addornements = "[2"; + n_name->m_array_size = 2; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "name_female"; + auto n_name_female = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); + n_name_female->m_field_name = field_name; + n_name_female->m_df_type = DF_Type::Stl_string; + n_name_female->m_rdf_type = RDF_Type::Array; + n_name_female->m_node_type = NodeType::Array; + n_name_female->m_addornements = "[2"; + n_name_female->m_array_size = 2; + n_name_female->m_address = base + offset; + n_name_female->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name_female); + + field_name = "name_male"; + auto n_name_male = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); + n_name_male->m_field_name = field_name; + n_name_male->m_df_type = DF_Type::Stl_string; + n_name_male->m_rdf_type = RDF_Type::Array; + n_name_male->m_node_type = NodeType::Array; + n_name_male->m_addornements = "[2"; + n_name_male->m_array_size = 2; + n_name_male->m_address = base + offset; + n_name_male->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name_male); + + field_name = "spouse"; + auto n_spouse = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); + n_spouse->m_field_name = field_name; + n_spouse->m_df_type = DF_Type::Stl_string; + n_spouse->m_rdf_type = RDF_Type::Array; + n_spouse->m_node_type = NodeType::Array; + n_spouse->m_addornements = "[2"; + n_spouse->m_array_size = 2; + n_spouse->m_address = base + offset; + n_spouse->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_spouse); + + field_name = "spouse_female"; + auto n_spouse_female = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); + n_spouse_female->m_field_name = field_name; + n_spouse_female->m_df_type = DF_Type::Stl_string; + n_spouse_female->m_rdf_type = RDF_Type::Array; + n_spouse_female->m_node_type = NodeType::Array; + n_spouse_female->m_addornements = "[2"; + n_spouse_female->m_array_size = 2; + n_spouse_female->m_address = base + offset; + n_spouse_female->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_spouse_female); + + field_name = "spouse_male"; + auto n_spouse_male = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); + n_spouse_male->m_field_name = field_name; + n_spouse_male->m_df_type = DF_Type::Stl_string; + n_spouse_male->m_rdf_type = RDF_Type::Array; + n_spouse_male->m_node_type = NodeType::Array; + n_spouse_male->m_addornements = "[2"; + n_spouse_male->m_array_size = 2; + n_spouse_male->m_address = base + offset; + n_spouse_male->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_spouse_male); + + field_name = "squad"; + auto n_squad = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); + n_squad->m_field_name = field_name; + n_squad->m_df_type = DF_Type::Stl_string; + n_squad->m_rdf_type = RDF_Type::Array; + n_squad->m_node_type = NodeType::Array; + n_squad->m_addornements = "[2"; + n_squad->m_array_size = 2; + n_squad->m_address = base + offset; + n_squad->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_squad); + + field_name = "land_name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); + auto n_land_name = new NodeSimple; + n_land_name->m_field_name = field_name; + n_land_name->m_df_type = DF_Type::Stl_string; + n_land_name->m_rdf_type = RDF_Type::Stl_string; + n_land_name->m_node_type = NodeType::Simple; + n_land_name->m_address = base + offset; + n_land_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_land_name); + + field_name = "squad_size"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); + auto n_squad_size = new NodeSimple; + n_squad_size->m_field_name = field_name; + n_squad_size->m_df_type = DF_Type::int16_t; + n_squad_size->m_rdf_type = RDF_Type::int16_t; + n_squad_size->m_node_type = NodeType::Simple; + n_squad_size->m_address = base + offset; + n_squad_size->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_squad_size); + + field_name = "commander_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); + auto n_commander_id = new NodeVector; + n_commander_id->m_field_name = field_name; + n_commander_id->m_df_type = DF_Type::int32_t; + n_commander_id->m_rdf_type = RDF_Type::Vector; + n_commander_id->m_node_type = NodeType::Vector; + n_commander_id->m_addornements = "v"; + n_commander_id->m_address = base + offset; + n_commander_id->m_parent = p_node_parent; + n_commander_id->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_commander_id); + + field_name = "commander_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); + auto n_commander_civ = new NodeVector; + n_commander_civ->m_field_name = field_name; + n_commander_civ->m_df_type = DF_Type::int32_t; + n_commander_civ->m_rdf_type = RDF_Type::Vector; + n_commander_civ->m_node_type = NodeType::Vector; + n_commander_civ->m_addornements = "v"; + n_commander_civ->m_address = base + offset; + n_commander_civ->m_parent = p_node_parent; + n_commander_civ->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_commander_civ); + + field_name = "commander_types"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); + auto n_commander_types = new NodeVector; + n_commander_types->m_field_name = field_name; + n_commander_types->m_df_type = DF_Type::int16_t; + n_commander_types->m_rdf_type = RDF_Type::Vector; + n_commander_types->m_node_type = NodeType::Vector; + n_commander_types->m_addornements = "v"; + n_commander_types->m_address = base + offset; + n_commander_types->m_parent = p_node_parent; + n_commander_types->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_commander_types); + + field_name = "land_holder"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); + auto n_land_holder = new NodeSimple; + n_land_holder->m_field_name = field_name; + n_land_holder->m_df_type = DF_Type::int16_t; + n_land_holder->m_rdf_type = RDF_Type::int16_t; + n_land_holder->m_node_type = NodeType::Simple; + n_land_holder->m_address = base + offset; + n_land_holder->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_land_holder); + + field_name = "requires_population"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); + auto n_requires_population = new NodeSimple; + n_requires_population->m_field_name = field_name; + n_requires_population->m_df_type = DF_Type::int16_t; + n_requires_population->m_rdf_type = RDF_Type::int16_t; + n_requires_population->m_node_type = NodeType::Simple; + n_requires_population->m_address = base + offset; + n_requires_population->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_requires_population); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int16_t; + n_anon_1->m_rdf_type = RDF_Type::int16_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "precedence"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); + auto n_precedence = new NodeSimple; + n_precedence->m_field_name = field_name; + n_precedence->m_df_type = DF_Type::int32_t; + n_precedence->m_rdf_type = RDF_Type::int32_t; + n_precedence->m_node_type = NodeType::Simple; + n_precedence->m_address = base + offset; + n_precedence->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_precedence); + + field_name = "replaced_by"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); + auto n_replaced_by = new NodeSimple; + n_replaced_by->m_field_name = field_name; + n_replaced_by->m_df_type = DF_Type::int32_t; + n_replaced_by->m_rdf_type = RDF_Type::int32_t; + n_replaced_by->m_node_type = NodeType::Simple; + n_replaced_by->m_address = base + offset; + n_replaced_by->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_replaced_by); + + field_name = "number"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); + auto n_number = new NodeSimple; + n_number->m_field_name = field_name; + n_number->m_df_type = DF_Type::int16_t; + n_number->m_rdf_type = RDF_Type::int16_t; + n_number->m_node_type = NodeType::Simple; + n_number->m_address = base + offset; + n_number->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_number); + + field_name = "appointed_by"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); + auto n_appointed_by = new NodeVector; + n_appointed_by->m_field_name = field_name; + n_appointed_by->m_df_type = DF_Type::int32_t; + n_appointed_by->m_rdf_type = RDF_Type::Vector; + n_appointed_by->m_node_type = NodeType::Vector; + n_appointed_by->m_addornements = "v"; + n_appointed_by->m_address = base + offset; + n_appointed_by->m_parent = p_node_parent; + n_appointed_by->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_appointed_by); + + field_name = "appointed_by_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); + auto n_appointed_by_civ = new NodeVector; + n_appointed_by_civ->m_field_name = field_name; + n_appointed_by_civ->m_df_type = DF_Type::int32_t; + n_appointed_by_civ->m_rdf_type = RDF_Type::Vector; + n_appointed_by_civ->m_node_type = NodeType::Vector; + n_appointed_by_civ->m_addornements = "v"; + n_appointed_by_civ->m_address = base + offset; + n_appointed_by_civ->m_parent = p_node_parent; + n_appointed_by_civ->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_appointed_by_civ); + + field_name = "succession_by_position"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); + auto n_succession_by_position = new NodeVector; + n_succession_by_position->m_field_name = field_name; + n_succession_by_position->m_df_type = DF_Type::int32_t; + n_succession_by_position->m_rdf_type = RDF_Type::Vector; + n_succession_by_position->m_node_type = NodeType::Vector; + n_succession_by_position->m_addornements = "v"; + n_succession_by_position->m_address = base + offset; + n_succession_by_position->m_parent = p_node_parent; + n_succession_by_position->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_succession_by_position); + + field_name = "responsibilities"; + auto n_responsibilities = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); + n_responsibilities->m_field_name = field_name; + n_responsibilities->m_df_type = DF_Type::Bool; + n_responsibilities->m_rdf_type = RDF_Type::Array; + n_responsibilities->m_node_type = NodeType::Array; + n_responsibilities->m_index_enum = DF_Type::entity_position_responsibility; + n_responsibilities->m_addornements = "[25"; + n_responsibilities->m_array_size = 25; + n_responsibilities->m_address = base + offset; + n_responsibilities->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_responsibilities); + + field_name = "color"; + auto n_color = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); + n_color->m_field_name = field_name; + n_color->m_df_type = DF_Type::int16_t; + n_color->m_rdf_type = RDF_Type::Array; + n_color->m_node_type = NodeType::Array; + n_color->m_addornements = "[3"; + n_color->m_array_size = 3; + n_color->m_address = base + offset; + n_color->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_color); + + field_name = "required_boxes"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); + auto n_required_boxes = new NodeSimple; + n_required_boxes->m_field_name = field_name; + n_required_boxes->m_df_type = DF_Type::int32_t; + n_required_boxes->m_rdf_type = RDF_Type::int32_t; + n_required_boxes->m_node_type = NodeType::Simple; + n_required_boxes->m_address = base + offset; + n_required_boxes->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_required_boxes); + + field_name = "required_cabinets"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); + auto n_required_cabinets = new NodeSimple; + n_required_cabinets->m_field_name = field_name; + n_required_cabinets->m_df_type = DF_Type::int32_t; + n_required_cabinets->m_rdf_type = RDF_Type::int32_t; + n_required_cabinets->m_node_type = NodeType::Simple; + n_required_cabinets->m_address = base + offset; + n_required_cabinets->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_required_cabinets); + + field_name = "required_racks"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); + auto n_required_racks = new NodeSimple; + n_required_racks->m_field_name = field_name; + n_required_racks->m_df_type = DF_Type::int32_t; + n_required_racks->m_rdf_type = RDF_Type::int32_t; + n_required_racks->m_node_type = NodeType::Simple; + n_required_racks->m_address = base + offset; + n_required_racks->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_required_racks); + + field_name = "required_stands"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); + auto n_required_stands = new NodeSimple; + n_required_stands->m_field_name = field_name; + n_required_stands->m_df_type = DF_Type::int32_t; + n_required_stands->m_rdf_type = RDF_Type::int32_t; + n_required_stands->m_node_type = NodeType::Simple; + n_required_stands->m_address = base + offset; + n_required_stands->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_required_stands); + + field_name = "required_office"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); + auto n_required_office = new NodeSimple; + n_required_office->m_field_name = field_name; + n_required_office->m_df_type = DF_Type::int32_t; + n_required_office->m_rdf_type = RDF_Type::int32_t; + n_required_office->m_node_type = NodeType::Simple; + n_required_office->m_address = base + offset; + n_required_office->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_required_office); + + field_name = "required_bedroom"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); + auto n_required_bedroom = new NodeSimple; + n_required_bedroom->m_field_name = field_name; + n_required_bedroom->m_df_type = DF_Type::int32_t; + n_required_bedroom->m_rdf_type = RDF_Type::int32_t; + n_required_bedroom->m_node_type = NodeType::Simple; + n_required_bedroom->m_address = base + offset; + n_required_bedroom->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_required_bedroom); + + field_name = "required_dining"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); + auto n_required_dining = new NodeSimple; + n_required_dining->m_field_name = field_name; + n_required_dining->m_df_type = DF_Type::int32_t; + n_required_dining->m_rdf_type = RDF_Type::int32_t; + n_required_dining->m_node_type = NodeType::Simple; + n_required_dining->m_address = base + offset; + n_required_dining->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_required_dining); + + field_name = "required_tomb"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); + auto n_required_tomb = new NodeSimple; + n_required_tomb->m_field_name = field_name; + n_required_tomb->m_df_type = DF_Type::int32_t; + n_required_tomb->m_rdf_type = RDF_Type::int32_t; + n_required_tomb->m_node_type = NodeType::Simple; + n_required_tomb->m_address = base + offset; + n_required_tomb->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_required_tomb); + + field_name = "mandate_max"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); + auto n_mandate_max = new NodeSimple; + n_mandate_max->m_field_name = field_name; + n_mandate_max->m_df_type = DF_Type::int32_t; + n_mandate_max->m_rdf_type = RDF_Type::int32_t; + n_mandate_max->m_node_type = NodeType::Simple; + n_mandate_max->m_address = base + offset; + n_mandate_max->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mandate_max); + + field_name = "demand_max"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position, field_name)); + auto n_demand_max = new NodeSimple; + n_demand_max->m_field_name = field_name; + n_demand_max->m_df_type = DF_Type::int32_t; + n_demand_max->m_rdf_type = RDF_Type::int32_t; + n_demand_max->m_node_type = NodeType::Simple; + n_demand_max->m_address = base + offset; + n_demand_max->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_demand_max); + +} +void node_from_entity_position_assignment(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_assignment, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "histfig"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_assignment, field_name)); + auto n_histfig = new NodeSimple; + n_histfig->m_field_name = field_name; + n_histfig->m_df_type = DF_Type::int32_t; + n_histfig->m_rdf_type = RDF_Type::int32_t; + n_histfig->m_node_type = NodeType::Simple; + n_histfig->m_address = base + offset; + n_histfig->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig); + + field_name = "histfig2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_assignment, field_name)); + auto n_histfig2 = new NodeSimple; + n_histfig2->m_field_name = field_name; + n_histfig2->m_df_type = DF_Type::int32_t; + n_histfig2->m_rdf_type = RDF_Type::int32_t; + n_histfig2->m_node_type = NodeType::Simple; + n_histfig2->m_address = base + offset; + n_histfig2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig2); + + field_name = "position_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_assignment, field_name)); + auto n_position_id = new NodeSimple; + n_position_id->m_field_name = field_name; + n_position_id->m_df_type = DF_Type::int32_t; + n_position_id->m_rdf_type = RDF_Type::int32_t; + n_position_id->m_node_type = NodeType::Simple; + n_position_id->m_address = base + offset; + n_position_id->m_comment = "position within relevant entity"; + n_position_id->m_refers_to = "(find-by-id $$._global._parent._global.positions.own $id $)"; + n_position_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_position_id); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_assignment, field_name)); + auto n_flags = new NodeDFFlagArray; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::int32_t; + n_flags->m_size = 32; + n_flags->m_rdf_type = RDF_Type::DFFlagArray; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "squad_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_assignment, field_name)); + auto n_squad_id = new NodeSimple; + n_squad_id->m_field_name = field_name; + n_squad_id->m_df_type = DF_Type::int32_t; + n_squad_id->m_rdf_type = RDF_Type::int32_t; + n_squad_id->m_node_type = NodeType::Simple; + n_squad_id->m_address = base + offset; + n_squad_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_squad_id); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_assignment, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_assignment, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_assignment, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_assignment, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_assignment, field_name)); + auto n_anon_5 = new NodeVector; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::Void; + n_anon_5->m_rdf_type = RDF_Type::Vector; + n_anon_5->m_node_type = NodeType::Vector; + n_anon_5->m_addornements = "v"; + n_anon_5->m_address = base + offset; + n_anon_5->m_comment = "not saved"; + n_anon_5->m_parent = p_node_parent; + n_anon_5->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_5); + +} +void node_from_entity_material_category(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_entity_event_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_entity_raw_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_site_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_ethic_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_ethic_response(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_entity_name_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_entity_animal_raw(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "token"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_animal_raw, field_name)); + auto n_token = new NodeSimple; + n_token->m_field_name = field_name; + n_token->m_df_type = DF_Type::Stl_string; + n_token->m_rdf_type = RDF_Type::Stl_string; + n_token->m_node_type = NodeType::Simple; + n_token->m_address = base + offset; + n_token->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_token); + + field_name = "caste_token"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_animal_raw, field_name)); + auto n_caste_token = new NodeVector; + n_caste_token->m_field_name = field_name; + n_caste_token->m_df_type = DF_Type::Stl_string; + n_caste_token->m_rdf_type = RDF_Type::Vector; + n_caste_token->m_node_type = NodeType::Vector; + n_caste_token->m_addornements = "v*"; + n_caste_token->m_address = base + offset; + n_caste_token->m_parent = p_node_parent; + n_caste_token->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_caste_token); + + field_name = "animal_class"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_animal_raw, field_name)); + auto n_animal_class = new NodeVector; + n_animal_class->m_field_name = field_name; + n_animal_class->m_df_type = DF_Type::Stl_string; + n_animal_class->m_rdf_type = RDF_Type::Vector; + n_animal_class->m_node_type = NodeType::Vector; + n_animal_class->m_addornements = "v*"; + n_animal_class->m_address = base + offset; + n_animal_class->m_parent = p_node_parent; + n_animal_class->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_animal_class); + + field_name = "forbidden_class"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_animal_raw, field_name)); + auto n_forbidden_class = new NodeVector; + n_forbidden_class->m_field_name = field_name; + n_forbidden_class->m_df_type = DF_Type::Stl_string; + n_forbidden_class->m_rdf_type = RDF_Type::Vector; + n_forbidden_class->m_node_type = NodeType::Vector; + n_forbidden_class->m_addornements = "v*"; + n_forbidden_class->m_address = base + offset; + n_forbidden_class->m_parent = p_node_parent; + n_forbidden_class->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_forbidden_class); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_animal_raw, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::entity_animal_raw__T_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + +} +void node_from_entity_position_raw_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_entity_position_responsibility(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_weather_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_game_mode(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_game_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_lever_target_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_large_integer___struct0(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "low_part"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::large_integer, field_name)); + auto n_low_part = new NodeSimple; + n_low_part->m_field_name = field_name; + n_low_part->m_df_type = DF_Type::Long; + n_low_part->m_rdf_type = RDF_Type::Long; + n_low_part->m_node_type = NodeType::Simple; + n_low_part->m_address = base + offset; + n_low_part->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_low_part); + + field_name = "high_part"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::large_integer, field_name)); + auto n_high_part = new NodeSimple; + n_high_part->m_field_name = field_name; + n_high_part->m_df_type = DF_Type::Long; + n_high_part->m_rdf_type = RDF_Type::Long; + n_high_part->m_node_type = NodeType::Simple; + n_high_part->m_address = base + offset; + n_high_part->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_high_part); + +} +void node_from_large_integer__T_u(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "low_part"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::large_integer__T_u, field_name)); + auto n_low_part = new NodeSimple; + n_low_part->m_field_name = field_name; + n_low_part->m_df_type = DF_Type::Long; + n_low_part->m_rdf_type = RDF_Type::Long; + n_low_part->m_node_type = NodeType::Simple; + n_low_part->m_address = base + offset; + n_low_part->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_low_part); + + field_name = "high_part"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::large_integer__T_u, field_name)); + auto n_high_part = new NodeSimple; + n_high_part->m_field_name = field_name; + n_high_part->m_df_type = DF_Type::Long; + n_high_part->m_rdf_type = RDF_Type::Long; + n_high_part->m_node_type = NodeType::Simple; + n_high_part->m_address = base + offset; + n_high_part->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_high_part); + +} +void node_from_large_integer(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = true) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + auto n_$struct0 = new NodeAnonymous; + field_name = "low_part"; // first child of the anonymous struct + auto parent = reinterpret_cast(p_node_parent->m_address); + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::large_integer, field_name)); + n_$struct0->m_field_name = ""; + n_$struct0->m_df_type = DF_Type::large_integer___struct0; + n_$struct0->m_rdf_type = RDF_Type::AnonymousCompound; + n_$struct0->m_node_type = NodeType::AnonymousCompound; + n_$struct0->m_address = base + offset; + n_$struct0->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_$struct0); + + field_name = "u"; + auto n_u = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::large_integer, field_name)); + n_u->m_field_name = field_name; + n_u->m_df_type = DF_Type::large_integer__T_u; + n_u->m_rdf_type = RDF_Type::Compound; + n_u->m_node_type = NodeType::Compound; + n_u->m_address = base + offset; + n_u->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_u); + + field_name = "quad_part"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::large_integer, field_name)); + auto n_quad_part = new NodeSimple; + n_quad_part->m_field_name = field_name; + n_quad_part->m_df_type = DF_Type::int64_t; + n_quad_part->m_rdf_type = RDF_Type::int64_t; + n_quad_part->m_node_type = NodeType::Simple; + n_quad_part->m_address = base + offset; + n_quad_part->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_quad_part); + +} +void node_from_renderer(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "screen"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::renderer, field_name)); + auto n_screen = new NodePointer; + n_screen->m_field_name = field_name; + n_screen->m_df_type = get_real_subtype(base+offset, DF_Type::uint8_t); + n_screen->m_rdf_type = RDF_Type::Pointer; + n_screen->m_node_type = NodeType::Pointer; + n_screen->m_addornements = "*"; + n_screen->m_address = base + offset; + n_screen->m_parent = p_node_parent; + n_screen->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_screen); + + field_name = "screentexpos"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::renderer, field_name)); + auto n_screentexpos = new NodePointer; + n_screentexpos->m_field_name = field_name; + n_screentexpos->m_df_type = get_real_subtype(base+offset, DF_Type::Long); + n_screentexpos->m_rdf_type = RDF_Type::Pointer; + n_screentexpos->m_node_type = NodeType::Pointer; + n_screentexpos->m_addornements = "*"; + n_screentexpos->m_address = base + offset; + n_screentexpos->m_parent = p_node_parent; + n_screentexpos->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_screentexpos); + + field_name = "screentexpos_addcolor"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::renderer, field_name)); + auto n_screentexpos_addcolor = new NodePointer; + n_screentexpos_addcolor->m_field_name = field_name; + n_screentexpos_addcolor->m_df_type = get_real_subtype(base+offset, DF_Type::int8_t); + n_screentexpos_addcolor->m_rdf_type = RDF_Type::Pointer; + n_screentexpos_addcolor->m_node_type = NodeType::Pointer; + n_screentexpos_addcolor->m_addornements = "*"; + n_screentexpos_addcolor->m_address = base + offset; + n_screentexpos_addcolor->m_parent = p_node_parent; + n_screentexpos_addcolor->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_screentexpos_addcolor); + + field_name = "screentexpos_grayscale"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::renderer, field_name)); + auto n_screentexpos_grayscale = new NodePointer; + n_screentexpos_grayscale->m_field_name = field_name; + n_screentexpos_grayscale->m_df_type = get_real_subtype(base+offset, DF_Type::uint8_t); + n_screentexpos_grayscale->m_rdf_type = RDF_Type::Pointer; + n_screentexpos_grayscale->m_node_type = NodeType::Pointer; + n_screentexpos_grayscale->m_addornements = "*"; + n_screentexpos_grayscale->m_address = base + offset; + n_screentexpos_grayscale->m_parent = p_node_parent; + n_screentexpos_grayscale->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_screentexpos_grayscale); + + field_name = "screentexpos_cf"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::renderer, field_name)); + auto n_screentexpos_cf = new NodePointer; + n_screentexpos_cf->m_field_name = field_name; + n_screentexpos_cf->m_df_type = get_real_subtype(base+offset, DF_Type::uint8_t); + n_screentexpos_cf->m_rdf_type = RDF_Type::Pointer; + n_screentexpos_cf->m_node_type = NodeType::Pointer; + n_screentexpos_cf->m_addornements = "*"; + n_screentexpos_cf->m_address = base + offset; + n_screentexpos_cf->m_parent = p_node_parent; + n_screentexpos_cf->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_screentexpos_cf); + + field_name = "screentexpos_cbr"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::renderer, field_name)); + auto n_screentexpos_cbr = new NodePointer; + n_screentexpos_cbr->m_field_name = field_name; + n_screentexpos_cbr->m_df_type = get_real_subtype(base+offset, DF_Type::uint8_t); + n_screentexpos_cbr->m_rdf_type = RDF_Type::Pointer; + n_screentexpos_cbr->m_node_type = NodeType::Pointer; + n_screentexpos_cbr->m_addornements = "*"; + n_screentexpos_cbr->m_address = base + offset; + n_screentexpos_cbr->m_parent = p_node_parent; + n_screentexpos_cbr->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_screentexpos_cbr); + + field_name = "screen_old"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::renderer, field_name)); + auto n_screen_old = new NodePointer; + n_screen_old->m_field_name = field_name; + n_screen_old->m_df_type = get_real_subtype(base+offset, DF_Type::uint8_t); + n_screen_old->m_rdf_type = RDF_Type::Pointer; + n_screen_old->m_node_type = NodeType::Pointer; + n_screen_old->m_addornements = "*"; + n_screen_old->m_address = base + offset; + n_screen_old->m_parent = p_node_parent; + n_screen_old->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_screen_old); + + field_name = "screentexpos_old"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::renderer, field_name)); + auto n_screentexpos_old = new NodePointer; + n_screentexpos_old->m_field_name = field_name; + n_screentexpos_old->m_df_type = get_real_subtype(base+offset, DF_Type::Long); + n_screentexpos_old->m_rdf_type = RDF_Type::Pointer; + n_screentexpos_old->m_node_type = NodeType::Pointer; + n_screentexpos_old->m_addornements = "*"; + n_screentexpos_old->m_address = base + offset; + n_screentexpos_old->m_parent = p_node_parent; + n_screentexpos_old->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_screentexpos_old); + + field_name = "screentexpos_addcolor_old"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::renderer, field_name)); + auto n_screentexpos_addcolor_old = new NodePointer; + n_screentexpos_addcolor_old->m_field_name = field_name; + n_screentexpos_addcolor_old->m_df_type = get_real_subtype(base+offset, DF_Type::int8_t); + n_screentexpos_addcolor_old->m_rdf_type = RDF_Type::Pointer; + n_screentexpos_addcolor_old->m_node_type = NodeType::Pointer; + n_screentexpos_addcolor_old->m_addornements = "*"; + n_screentexpos_addcolor_old->m_address = base + offset; + n_screentexpos_addcolor_old->m_parent = p_node_parent; + n_screentexpos_addcolor_old->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_screentexpos_addcolor_old); + + field_name = "screentexpos_grayscale_old"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::renderer, field_name)); + auto n_screentexpos_grayscale_old = new NodePointer; + n_screentexpos_grayscale_old->m_field_name = field_name; + n_screentexpos_grayscale_old->m_df_type = get_real_subtype(base+offset, DF_Type::uint8_t); + n_screentexpos_grayscale_old->m_rdf_type = RDF_Type::Pointer; + n_screentexpos_grayscale_old->m_node_type = NodeType::Pointer; + n_screentexpos_grayscale_old->m_addornements = "*"; + n_screentexpos_grayscale_old->m_address = base + offset; + n_screentexpos_grayscale_old->m_parent = p_node_parent; + n_screentexpos_grayscale_old->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_screentexpos_grayscale_old); + + field_name = "screentexpos_cf_old"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::renderer, field_name)); + auto n_screentexpos_cf_old = new NodePointer; + n_screentexpos_cf_old->m_field_name = field_name; + n_screentexpos_cf_old->m_df_type = get_real_subtype(base+offset, DF_Type::uint8_t); + n_screentexpos_cf_old->m_rdf_type = RDF_Type::Pointer; + n_screentexpos_cf_old->m_node_type = NodeType::Pointer; + n_screentexpos_cf_old->m_addornements = "*"; + n_screentexpos_cf_old->m_address = base + offset; + n_screentexpos_cf_old->m_parent = p_node_parent; + n_screentexpos_cf_old->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_screentexpos_cf_old); + + field_name = "screentexpos_cbr_old"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::renderer, field_name)); + auto n_screentexpos_cbr_old = new NodePointer; + n_screentexpos_cbr_old->m_field_name = field_name; + n_screentexpos_cbr_old->m_df_type = get_real_subtype(base+offset, DF_Type::uint8_t); + n_screentexpos_cbr_old->m_rdf_type = RDF_Type::Pointer; + n_screentexpos_cbr_old->m_node_type = NodeType::Pointer; + n_screentexpos_cbr_old->m_addornements = "*"; + n_screentexpos_cbr_old->m_address = base + offset; + n_screentexpos_cbr_old->m_parent = p_node_parent; + n_screentexpos_cbr_old->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_screentexpos_cbr_old); + +} +void node_from_zoom_commands(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_reputation_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_histfig_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_histfig_relationship_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_identity_unk_94(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::identity_unk_94, field_name)); + auto n_anon_1 = new NodeVector; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::Vector; + n_anon_1->m_node_type = NodeType::Vector; + n_anon_1->m_addornements = "v"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::identity_unk_94, field_name)); + auto n_anon_2 = new NodeVector; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::Vector; + n_anon_2->m_node_type = NodeType::Vector; + n_anon_2->m_addornements = "v"; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + n_anon_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::identity_unk_94, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::identity_unk_94, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::identity_unk_94, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::identity_unk_94, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_comment = "uninitialized"; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + +} +void node_from_mental_picture_property_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_mental_picture_propertyst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk_0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture_propertyst, field_name)); + auto n_unk_0 = new NodeSimple; + n_unk_0->m_field_name = field_name; + n_unk_0->m_df_type = DF_Type::int32_t; + n_unk_0->m_rdf_type = RDF_Type::int32_t; + n_unk_0->m_node_type = NodeType::Simple; + n_unk_0->m_address = base + offset; + n_unk_0->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_0); + +} +void node_from_mental_picture_property_datest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::mental_picture_propertyst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_mental_picture_propertyst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture_property_datest, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture_property_datest, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + +} +void node_from_mental_picture_property_actionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::mental_picture_propertyst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_mental_picture_propertyst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture_property_actionst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture_property_actionst, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture_property_actionst, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture_property_actionst, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + +} +void node_from_mental_picture_property_toolst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::mental_picture_propertyst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_mental_picture_propertyst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture_property_toolst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture_property_toolst, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture_property_toolst, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + +} +void node_from_mental_picture_property_emotionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::mental_picture_propertyst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_mental_picture_propertyst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture_property_emotionst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture_property_emotionst, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + +} +void node_from_mental_picture_property_color_patternst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::mental_picture_propertyst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_mental_picture_propertyst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture_property_color_patternst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture_property_color_patternst, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + +} +void node_from_mental_picture_property_shapest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::mental_picture_propertyst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_mental_picture_propertyst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture_property_shapest, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture_property_shapest, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + +} +void node_from_mental_picture_property_adjectivest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::mental_picture_propertyst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_mental_picture_propertyst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture_property_adjectivest, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture_property_adjectivest, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + +} +void node_from_mental_picture_property_positionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::mental_picture_propertyst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_mental_picture_propertyst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture_property_positionst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture_property_positionst, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture_property_positionst, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + +} +void node_from_mental_picture_property_timest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::mental_picture_propertyst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_mental_picture_propertyst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture_property_timest, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture_property_timest, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture_property_timest, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + +} +void node_from_mental_picture_element_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_mental_picture_elementst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture_elementst, field_name)); + auto n_unk_1 = new NodeSimple; + n_unk_1->m_field_name = field_name; + n_unk_1->m_df_type = DF_Type::int32_t; + n_unk_1->m_rdf_type = RDF_Type::int32_t; + n_unk_1->m_node_type = NodeType::Simple; + n_unk_1->m_address = base + offset; + n_unk_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_1); + +} +void node_from_mental_picture_element_hfst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::mental_picture_elementst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_mental_picture_elementst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture_element_hfst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_mental_picture_element_sitest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::mental_picture_elementst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_mental_picture_elementst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture_element_sitest, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_mental_picture_element_regionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::mental_picture_elementst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_mental_picture_elementst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture_element_regionst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_history_event_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_history_event_reason(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_history_event_context(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_context, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_context, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "histfig_id_talker"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_context, field_name)); + auto n_histfig_id_talker = new NodeSimple; + n_histfig_id_talker->m_field_name = field_name; + n_histfig_id_talker->m_df_type = DF_Type::int32_t; + n_histfig_id_talker->m_rdf_type = RDF_Type::int32_t; + n_histfig_id_talker->m_node_type = NodeType::Simple; + n_histfig_id_talker->m_address = base + offset; + n_histfig_id_talker->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig_id_talker); + + field_name = "histfig_id_listener"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_context, field_name)); + auto n_histfig_id_listener = new NodeSimple; + n_histfig_id_listener->m_field_name = field_name; + n_histfig_id_listener->m_df_type = DF_Type::int32_t; + n_histfig_id_listener->m_rdf_type = RDF_Type::int32_t; + n_histfig_id_listener->m_node_type = NodeType::Simple; + n_histfig_id_listener->m_address = base + offset; + n_histfig_id_listener->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig_id_listener); + +} +void node_from_history_event(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event, field_name)); + auto n_year = new NodeSimple; + n_year->m_field_name = field_name; + n_year->m_df_type = DF_Type::int32_t; + n_year->m_rdf_type = RDF_Type::int32_t; + n_year->m_node_type = NodeType::Simple; + n_year->m_address = base + offset; + n_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_year); + + field_name = "seconds"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event, field_name)); + auto n_seconds = new NodeSimple; + n_seconds->m_field_name = field_name; + n_seconds->m_df_type = DF_Type::int32_t; + n_seconds->m_rdf_type = RDF_Type::int32_t; + n_seconds->m_node_type = NodeType::Simple; + n_seconds->m_address = base + offset; + n_seconds->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_seconds); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event, field_name)); + auto n_flags = new NodeDFFlagArray; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::int32_t; + n_flags->m_size = 32; + n_flags->m_rdf_type = RDF_Type::DFFlagArray; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + +} +void node_from_history_event_war_attacked_sitest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "attacker_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_attacked_sitest, field_name)); + auto n_attacker_civ = new NodeSimple; + n_attacker_civ->m_field_name = field_name; + n_attacker_civ->m_df_type = DF_Type::int32_t; + n_attacker_civ->m_rdf_type = RDF_Type::int32_t; + n_attacker_civ->m_node_type = NodeType::Simple; + n_attacker_civ->m_address = base + offset; + n_attacker_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_attacker_civ); + + field_name = "defender_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_attacked_sitest, field_name)); + auto n_defender_civ = new NodeSimple; + n_defender_civ->m_field_name = field_name; + n_defender_civ->m_df_type = DF_Type::int32_t; + n_defender_civ->m_rdf_type = RDF_Type::int32_t; + n_defender_civ->m_node_type = NodeType::Simple; + n_defender_civ->m_address = base + offset; + n_defender_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_defender_civ); + + field_name = "site_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_attacked_sitest, field_name)); + auto n_site_civ = new NodeSimple; + n_site_civ->m_field_name = field_name; + n_site_civ->m_df_type = DF_Type::int32_t; + n_site_civ->m_rdf_type = RDF_Type::int32_t; + n_site_civ->m_node_type = NodeType::Simple; + n_site_civ->m_address = base + offset; + n_site_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_civ); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_attacked_sitest, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "attacker_general_hf"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_attacked_sitest, field_name)); + auto n_attacker_general_hf = new NodeSimple; + n_attacker_general_hf->m_field_name = field_name; + n_attacker_general_hf->m_df_type = DF_Type::int32_t; + n_attacker_general_hf->m_rdf_type = RDF_Type::int32_t; + n_attacker_general_hf->m_node_type = NodeType::Simple; + n_attacker_general_hf->m_address = base + offset; + n_attacker_general_hf->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_attacker_general_hf); + + field_name = "defender_general_hf"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_attacked_sitest, field_name)); + auto n_defender_general_hf = new NodeSimple; + n_defender_general_hf->m_field_name = field_name; + n_defender_general_hf->m_df_type = DF_Type::int32_t; + n_defender_general_hf->m_rdf_type = RDF_Type::int32_t; + n_defender_general_hf->m_node_type = NodeType::Simple; + n_defender_general_hf->m_address = base + offset; + n_defender_general_hf->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_defender_general_hf); + +} +void node_from_history_event_war_destroyed_sitest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "attacker_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_destroyed_sitest, field_name)); + auto n_attacker_civ = new NodeSimple; + n_attacker_civ->m_field_name = field_name; + n_attacker_civ->m_df_type = DF_Type::int32_t; + n_attacker_civ->m_rdf_type = RDF_Type::int32_t; + n_attacker_civ->m_node_type = NodeType::Simple; + n_attacker_civ->m_address = base + offset; + n_attacker_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_attacker_civ); + + field_name = "defender_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_destroyed_sitest, field_name)); + auto n_defender_civ = new NodeSimple; + n_defender_civ->m_field_name = field_name; + n_defender_civ->m_df_type = DF_Type::int32_t; + n_defender_civ->m_rdf_type = RDF_Type::int32_t; + n_defender_civ->m_node_type = NodeType::Simple; + n_defender_civ->m_address = base + offset; + n_defender_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_defender_civ); + + field_name = "site_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_destroyed_sitest, field_name)); + auto n_site_civ = new NodeSimple; + n_site_civ->m_field_name = field_name; + n_site_civ->m_df_type = DF_Type::int32_t; + n_site_civ->m_rdf_type = RDF_Type::int32_t; + n_site_civ->m_node_type = NodeType::Simple; + n_site_civ->m_address = base + offset; + n_site_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_civ); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_destroyed_sitest, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + +} +void node_from_history_event_created_sitest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_created_sitest, field_name)); + auto n_civ = new NodeSimple; + n_civ->m_field_name = field_name; + n_civ->m_df_type = DF_Type::int32_t; + n_civ->m_rdf_type = RDF_Type::int32_t; + n_civ->m_node_type = NodeType::Simple; + n_civ->m_address = base + offset; + n_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_civ); + + field_name = "site_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_created_sitest, field_name)); + auto n_site_civ = new NodeSimple; + n_site_civ->m_field_name = field_name; + n_site_civ->m_df_type = DF_Type::int32_t; + n_site_civ->m_rdf_type = RDF_Type::int32_t; + n_site_civ->m_node_type = NodeType::Simple; + n_site_civ->m_address = base + offset; + n_site_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_civ); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_created_sitest, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "builder_hf"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_created_sitest, field_name)); + auto n_builder_hf = new NodeSimple; + n_builder_hf->m_field_name = field_name; + n_builder_hf->m_df_type = DF_Type::int32_t; + n_builder_hf->m_rdf_type = RDF_Type::int32_t; + n_builder_hf->m_node_type = NodeType::Simple; + n_builder_hf->m_address = base + offset; + n_builder_hf->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_builder_hf); + +} +void node_from_death_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_history_event_entity_expels_hfst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_entity_expels_hfst, field_name)); + auto n_civ = new NodeSimple; + n_civ->m_field_name = field_name; + n_civ->m_df_type = DF_Type::int32_t; + n_civ->m_rdf_type = RDF_Type::int32_t; + n_civ->m_node_type = NodeType::Simple; + n_civ->m_address = base + offset; + n_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_civ); + + field_name = "expelled"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_entity_expels_hfst, field_name)); + auto n_expelled = new NodeSimple; + n_expelled->m_field_name = field_name; + n_expelled->m_df_type = DF_Type::int32_t; + n_expelled->m_rdf_type = RDF_Type::int32_t; + n_expelled->m_node_type = NodeType::Simple; + n_expelled->m_address = base + offset; + n_expelled->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_expelled); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_entity_expels_hfst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + +} +void node_from_history_event_first_contactst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "contactor"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_first_contactst, field_name)); + auto n_contactor = new NodeSimple; + n_contactor->m_field_name = field_name; + n_contactor->m_df_type = DF_Type::int32_t; + n_contactor->m_rdf_type = RDF_Type::int32_t; + n_contactor->m_node_type = NodeType::Simple; + n_contactor->m_address = base + offset; + n_contactor->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_contactor); + + field_name = "contacted"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_first_contactst, field_name)); + auto n_contacted = new NodeSimple; + n_contacted->m_field_name = field_name; + n_contacted->m_df_type = DF_Type::int32_t; + n_contacted->m_rdf_type = RDF_Type::int32_t; + n_contacted->m_node_type = NodeType::Simple; + n_contacted->m_address = base + offset; + n_contacted->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_contacted); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_first_contactst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + +} +void node_from_history_event_first_contact_failedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "contactor"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_first_contact_failedst, field_name)); + auto n_contactor = new NodeSimple; + n_contactor->m_field_name = field_name; + n_contactor->m_df_type = DF_Type::int32_t; + n_contactor->m_rdf_type = RDF_Type::int32_t; + n_contactor->m_node_type = NodeType::Simple; + n_contactor->m_address = base + offset; + n_contactor->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_contactor); + + field_name = "rejector"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_first_contact_failedst, field_name)); + auto n_rejector = new NodeSimple; + n_rejector->m_field_name = field_name; + n_rejector->m_df_type = DF_Type::int32_t; + n_rejector->m_rdf_type = RDF_Type::int32_t; + n_rejector->m_node_type = NodeType::Simple; + n_rejector->m_address = base + offset; + n_rejector->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rejector); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_first_contact_failedst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + +} +void node_from_history_event_diplomat_lostst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "entity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_diplomat_lostst, field_name)); + auto n_entity = new NodeSimple; + n_entity->m_field_name = field_name; + n_entity->m_df_type = DF_Type::int32_t; + n_entity->m_rdf_type = RDF_Type::int32_t; + n_entity->m_node_type = NodeType::Simple; + n_entity->m_address = base + offset; + n_entity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity); + + field_name = "involved"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_diplomat_lostst, field_name)); + auto n_involved = new NodeSimple; + n_involved->m_field_name = field_name; + n_involved->m_df_type = DF_Type::int32_t; + n_involved->m_rdf_type = RDF_Type::int32_t; + n_involved->m_node_type = NodeType::Simple; + n_involved->m_address = base + offset; + n_involved->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_involved); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_diplomat_lostst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + +} +void node_from_history_event_agreements_voidedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "source"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_agreements_voidedst, field_name)); + auto n_source = new NodeSimple; + n_source->m_field_name = field_name; + n_source->m_df_type = DF_Type::int32_t; + n_source->m_rdf_type = RDF_Type::int32_t; + n_source->m_node_type = NodeType::Simple; + n_source->m_address = base + offset; + n_source->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_source); + + field_name = "destination"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_agreements_voidedst, field_name)); + auto n_destination = new NodeSimple; + n_destination->m_field_name = field_name; + n_destination->m_df_type = DF_Type::int32_t; + n_destination->m_rdf_type = RDF_Type::int32_t; + n_destination->m_node_type = NodeType::Simple; + n_destination->m_address = base + offset; + n_destination->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_destination); + +} +void node_from_history_event_merchantst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "source"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_merchantst, field_name)); + auto n_source = new NodeSimple; + n_source->m_field_name = field_name; + n_source->m_df_type = DF_Type::int32_t; + n_source->m_rdf_type = RDF_Type::int32_t; + n_source->m_node_type = NodeType::Simple; + n_source->m_address = base + offset; + n_source->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_source); + + field_name = "destination"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_merchantst, field_name)); + auto n_destination = new NodeSimple; + n_destination->m_field_name = field_name; + n_destination->m_df_type = DF_Type::int32_t; + n_destination->m_rdf_type = RDF_Type::int32_t; + n_destination->m_node_type = NodeType::Simple; + n_destination->m_address = base + offset; + n_destination->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_destination); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_merchantst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "flags2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_merchantst, field_name)); + auto n_flags2 = new NodeDFFlagArray; + n_flags2->m_field_name = field_name; + n_flags2->m_df_type = DF_Type::int32_t; + n_flags2->m_size = 32; + n_flags2->m_rdf_type = RDF_Type::DFFlagArray; + n_flags2->m_node_type = NodeType::Bitfield; + n_flags2->m_address = base + offset; + n_flags2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags2); + +} +void node_from_history_event_artifact_hiddenst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "artifact"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_hiddenst, field_name)); + auto n_artifact = new NodeSimple; + n_artifact->m_field_name = field_name; + n_artifact->m_df_type = DF_Type::int32_t; + n_artifact->m_rdf_type = RDF_Type::int32_t; + n_artifact->m_node_type = NodeType::Simple; + n_artifact->m_address = base + offset; + n_artifact->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_artifact); + + field_name = "unit"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_hiddenst, field_name)); + auto n_unit = new NodeSimple; + n_unit->m_field_name = field_name; + n_unit->m_df_type = DF_Type::int32_t; + n_unit->m_rdf_type = RDF_Type::int32_t; + n_unit->m_node_type = NodeType::Simple; + n_unit->m_address = base + offset; + n_unit->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unit); + + field_name = "histfig"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_hiddenst, field_name)); + auto n_histfig = new NodeSimple; + n_histfig->m_field_name = field_name; + n_histfig->m_df_type = DF_Type::int32_t; + n_histfig->m_rdf_type = RDF_Type::int32_t; + n_histfig->m_node_type = NodeType::Simple; + n_histfig->m_address = base + offset; + n_histfig->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_hiddenst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + +} +void node_from_history_event_artifact_createdst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "artifact_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_createdst, field_name)); + auto n_artifact_id = new NodeSimple; + n_artifact_id->m_field_name = field_name; + n_artifact_id->m_df_type = DF_Type::int32_t; + n_artifact_id->m_rdf_type = RDF_Type::int32_t; + n_artifact_id->m_node_type = NodeType::Simple; + n_artifact_id->m_address = base + offset; + n_artifact_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_artifact_id); + + field_name = "unit_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_createdst, field_name)); + auto n_unit_id = new NodeSimple; + n_unit_id->m_field_name = field_name; + n_unit_id->m_df_type = DF_Type::int32_t; + n_unit_id->m_rdf_type = RDF_Type::int32_t; + n_unit_id->m_node_type = NodeType::Simple; + n_unit_id->m_address = base + offset; + n_unit_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unit_id); + + field_name = "hfid"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_createdst, field_name)); + auto n_hfid = new NodeSimple; + n_hfid->m_field_name = field_name; + n_hfid->m_df_type = DF_Type::int32_t; + n_hfid->m_rdf_type = RDF_Type::int32_t; + n_hfid->m_node_type = NodeType::Simple; + n_hfid->m_address = base + offset; + n_hfid->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_hfid); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_createdst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "flags2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_createdst, field_name)); + auto n_flags2 = new NodeSimple; + n_flags2->m_field_name = field_name; + n_flags2->m_df_type = DF_Type::uint32_t; + n_flags2->m_rdf_type = RDF_Type::uint32_t; + n_flags2->m_node_type = NodeType::Simple; + n_flags2->m_address = base + offset; + n_flags2->m_comment = "1 = name_only"; + n_flags2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags2); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_createdst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_createdst, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_createdst, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_createdst, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + +} +void node_from_history_event_artifact_lostst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "artifact"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_lostst, field_name)); + auto n_artifact = new NodeSimple; + n_artifact->m_field_name = field_name; + n_artifact->m_df_type = DF_Type::int32_t; + n_artifact->m_rdf_type = RDF_Type::int32_t; + n_artifact->m_node_type = NodeType::Simple; + n_artifact->m_address = base + offset; + n_artifact->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_artifact); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_lostst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_lostst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_lostst, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + +} +void node_from_history_event_artifact_foundst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "artifact"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_foundst, field_name)); + auto n_artifact = new NodeSimple; + n_artifact->m_field_name = field_name; + n_artifact->m_df_type = DF_Type::int32_t; + n_artifact->m_rdf_type = RDF_Type::int32_t; + n_artifact->m_node_type = NodeType::Simple; + n_artifact->m_address = base + offset; + n_artifact->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_artifact); + + field_name = "unit"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_foundst, field_name)); + auto n_unit = new NodeSimple; + n_unit->m_field_name = field_name; + n_unit->m_df_type = DF_Type::int32_t; + n_unit->m_rdf_type = RDF_Type::int32_t; + n_unit->m_node_type = NodeType::Simple; + n_unit->m_address = base + offset; + n_unit->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unit); + + field_name = "histfig"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_foundst, field_name)); + auto n_histfig = new NodeSimple; + n_histfig->m_field_name = field_name; + n_histfig->m_df_type = DF_Type::int32_t; + n_histfig->m_rdf_type = RDF_Type::int32_t; + n_histfig->m_node_type = NodeType::Simple; + n_histfig->m_address = base + offset; + n_histfig->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_foundst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + +} +void node_from_history_event_artifact_recoveredst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "artifact"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_recoveredst, field_name)); + auto n_artifact = new NodeSimple; + n_artifact->m_field_name = field_name; + n_artifact->m_df_type = DF_Type::int32_t; + n_artifact->m_rdf_type = RDF_Type::int32_t; + n_artifact->m_node_type = NodeType::Simple; + n_artifact->m_address = base + offset; + n_artifact->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_artifact); + + field_name = "unit"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_recoveredst, field_name)); + auto n_unit = new NodeSimple; + n_unit->m_field_name = field_name; + n_unit->m_df_type = DF_Type::int32_t; + n_unit->m_rdf_type = RDF_Type::int32_t; + n_unit->m_node_type = NodeType::Simple; + n_unit->m_address = base + offset; + n_unit->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unit); + + field_name = "histfig"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_recoveredst, field_name)); + auto n_histfig = new NodeSimple; + n_histfig->m_field_name = field_name; + n_histfig->m_df_type = DF_Type::int32_t; + n_histfig->m_rdf_type = RDF_Type::int32_t; + n_histfig->m_node_type = NodeType::Simple; + n_histfig->m_address = base + offset; + n_histfig->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_recoveredst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "structure"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_recoveredst, field_name)); + auto n_structure = new NodeSimple; + n_structure->m_field_name = field_name; + n_structure->m_df_type = DF_Type::int32_t; + n_structure->m_rdf_type = RDF_Type::int32_t; + n_structure->m_node_type = NodeType::Simple; + n_structure->m_address = base + offset; + n_structure->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_structure); + + field_name = "region"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_recoveredst, field_name)); + auto n_region = new NodeSimple; + n_region->m_field_name = field_name; + n_region->m_df_type = DF_Type::int32_t; + n_region->m_rdf_type = RDF_Type::int32_t; + n_region->m_node_type = NodeType::Simple; + n_region->m_address = base + offset; + n_region->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region); + + field_name = "layer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_recoveredst, field_name)); + auto n_layer = new NodeSimple; + n_layer->m_field_name = field_name; + n_layer->m_df_type = DF_Type::int32_t; + n_layer->m_rdf_type = RDF_Type::int32_t; + n_layer->m_node_type = NodeType::Simple; + n_layer->m_address = base + offset; + n_layer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_layer); + +} +void node_from_history_event_artifact_droppedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "artifact"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_droppedst, field_name)); + auto n_artifact = new NodeSimple; + n_artifact->m_field_name = field_name; + n_artifact->m_df_type = DF_Type::int32_t; + n_artifact->m_rdf_type = RDF_Type::int32_t; + n_artifact->m_node_type = NodeType::Simple; + n_artifact->m_address = base + offset; + n_artifact->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_artifact); + + field_name = "unit"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_droppedst, field_name)); + auto n_unit = new NodeSimple; + n_unit->m_field_name = field_name; + n_unit->m_df_type = DF_Type::int32_t; + n_unit->m_rdf_type = RDF_Type::int32_t; + n_unit->m_node_type = NodeType::Simple; + n_unit->m_address = base + offset; + n_unit->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unit); + + field_name = "histfig"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_droppedst, field_name)); + auto n_histfig = new NodeSimple; + n_histfig->m_field_name = field_name; + n_histfig->m_df_type = DF_Type::int32_t; + n_histfig->m_rdf_type = RDF_Type::int32_t; + n_histfig->m_node_type = NodeType::Simple; + n_histfig->m_address = base + offset; + n_histfig->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_droppedst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "flags2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_droppedst, field_name)); + auto n_flags2 = new NodeDFFlagArray; + n_flags2->m_field_name = field_name; + n_flags2->m_df_type = DF_Type::int32_t; + n_flags2->m_size = 32; + n_flags2->m_rdf_type = RDF_Type::DFFlagArray; + n_flags2->m_node_type = NodeType::Bitfield; + n_flags2->m_address = base + offset; + n_flags2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags2); + +} +void node_from_history_event_reclaim_sitest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_reclaim_sitest, field_name)); + auto n_civ = new NodeSimple; + n_civ->m_field_name = field_name; + n_civ->m_df_type = DF_Type::int32_t; + n_civ->m_rdf_type = RDF_Type::int32_t; + n_civ->m_node_type = NodeType::Simple; + n_civ->m_address = base + offset; + n_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_civ); + + field_name = "site_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_reclaim_sitest, field_name)); + auto n_site_civ = new NodeSimple; + n_site_civ->m_field_name = field_name; + n_site_civ->m_df_type = DF_Type::int32_t; + n_site_civ->m_rdf_type = RDF_Type::int32_t; + n_site_civ->m_node_type = NodeType::Simple; + n_site_civ->m_address = base + offset; + n_site_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_civ); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_reclaim_sitest, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "flags2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_reclaim_sitest, field_name)); + auto n_flags2 = new NodeSimple; + n_flags2->m_field_name = field_name; + n_flags2->m_df_type = DF_Type::int32_t; + n_flags2->m_rdf_type = RDF_Type::int32_t; + n_flags2->m_node_type = NodeType::Simple; + n_flags2->m_address = base + offset; + n_flags2->m_comment = "1 = unretire"; + n_flags2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags2); + +} +void node_from_history_event_hf_destroyed_sitest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "attacker_hf"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_destroyed_sitest, field_name)); + auto n_attacker_hf = new NodeSimple; + n_attacker_hf->m_field_name = field_name; + n_attacker_hf->m_df_type = DF_Type::int32_t; + n_attacker_hf->m_rdf_type = RDF_Type::int32_t; + n_attacker_hf->m_node_type = NodeType::Simple; + n_attacker_hf->m_address = base + offset; + n_attacker_hf->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_attacker_hf); + + field_name = "defender_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_destroyed_sitest, field_name)); + auto n_defender_civ = new NodeSimple; + n_defender_civ->m_field_name = field_name; + n_defender_civ->m_df_type = DF_Type::int32_t; + n_defender_civ->m_rdf_type = RDF_Type::int32_t; + n_defender_civ->m_node_type = NodeType::Simple; + n_defender_civ->m_address = base + offset; + n_defender_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_defender_civ); + + field_name = "site_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_destroyed_sitest, field_name)); + auto n_site_civ = new NodeSimple; + n_site_civ->m_field_name = field_name; + n_site_civ->m_df_type = DF_Type::int32_t; + n_site_civ->m_rdf_type = RDF_Type::int32_t; + n_site_civ->m_node_type = NodeType::Simple; + n_site_civ->m_address = base + offset; + n_site_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_civ); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_destroyed_sitest, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + +} +void node_from_history_event_site_diedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_site_diedst, field_name)); + auto n_civ = new NodeSimple; + n_civ->m_field_name = field_name; + n_civ->m_df_type = DF_Type::int32_t; + n_civ->m_rdf_type = RDF_Type::int32_t; + n_civ->m_node_type = NodeType::Simple; + n_civ->m_address = base + offset; + n_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_civ); + + field_name = "site_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_site_diedst, field_name)); + auto n_site_civ = new NodeSimple; + n_site_civ->m_field_name = field_name; + n_site_civ->m_df_type = DF_Type::int32_t; + n_site_civ->m_rdf_type = RDF_Type::int32_t; + n_site_civ->m_node_type = NodeType::Simple; + n_site_civ->m_address = base + offset; + n_site_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_civ); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_site_diedst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "flags2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_site_diedst, field_name)); + auto n_flags2 = new NodeSimple; + n_flags2->m_field_name = field_name; + n_flags2->m_df_type = DF_Type::int32_t; + n_flags2->m_rdf_type = RDF_Type::int32_t; + n_flags2->m_node_type = NodeType::Simple; + n_flags2->m_address = base + offset; + n_flags2->m_comment = "1: abandoned"; + n_flags2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags2); + +} +void node_from_history_event_site_retiredst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_site_retiredst, field_name)); + auto n_civ = new NodeSimple; + n_civ->m_field_name = field_name; + n_civ->m_df_type = DF_Type::int32_t; + n_civ->m_rdf_type = RDF_Type::int32_t; + n_civ->m_node_type = NodeType::Simple; + n_civ->m_address = base + offset; + n_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_civ); + + field_name = "site_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_site_retiredst, field_name)); + auto n_site_civ = new NodeSimple; + n_site_civ->m_field_name = field_name; + n_site_civ->m_df_type = DF_Type::int32_t; + n_site_civ->m_rdf_type = RDF_Type::int32_t; + n_site_civ->m_node_type = NodeType::Simple; + n_site_civ->m_address = base + offset; + n_site_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_civ); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_site_retiredst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "flags2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_site_retiredst, field_name)); + auto n_flags2 = new NodeSimple; + n_flags2->m_field_name = field_name; + n_flags2->m_df_type = DF_Type::int32_t; + n_flags2->m_rdf_type = RDF_Type::int32_t; + n_flags2->m_node_type = NodeType::Simple; + n_flags2->m_address = base + offset; + n_flags2->m_comment = "1: first time"; + n_flags2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags2); + +} +void node_from_history_event_entity_createdst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "entity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_entity_createdst, field_name)); + auto n_entity = new NodeSimple; + n_entity->m_field_name = field_name; + n_entity->m_df_type = DF_Type::int32_t; + n_entity->m_rdf_type = RDF_Type::int32_t; + n_entity->m_node_type = NodeType::Simple; + n_entity->m_address = base + offset; + n_entity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_entity_createdst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "structure"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_entity_createdst, field_name)); + auto n_structure = new NodeSimple; + n_structure->m_field_name = field_name; + n_structure->m_df_type = DF_Type::int32_t; + n_structure->m_rdf_type = RDF_Type::int32_t; + n_structure->m_node_type = NodeType::Simple; + n_structure->m_address = base + offset; + n_structure->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_structure); + +} +void node_from_entity_action_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_history_event_entity_incorporatedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "migrant_entity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_entity_incorporatedst, field_name)); + auto n_migrant_entity = new NodeSimple; + n_migrant_entity->m_field_name = field_name; + n_migrant_entity->m_df_type = DF_Type::int32_t; + n_migrant_entity->m_rdf_type = RDF_Type::int32_t; + n_migrant_entity->m_node_type = NodeType::Simple; + n_migrant_entity->m_address = base + offset; + n_migrant_entity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_migrant_entity); + + field_name = "join_entity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_entity_incorporatedst, field_name)); + auto n_join_entity = new NodeSimple; + n_join_entity->m_field_name = field_name; + n_join_entity->m_df_type = DF_Type::int32_t; + n_join_entity->m_rdf_type = RDF_Type::int32_t; + n_join_entity->m_node_type = NodeType::Simple; + n_join_entity->m_address = base + offset; + n_join_entity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_join_entity); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_entity_incorporatedst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + +} +void node_from_history_event_created_buildingst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_created_buildingst, field_name)); + auto n_civ = new NodeSimple; + n_civ->m_field_name = field_name; + n_civ->m_df_type = DF_Type::int32_t; + n_civ->m_rdf_type = RDF_Type::int32_t; + n_civ->m_node_type = NodeType::Simple; + n_civ->m_address = base + offset; + n_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_civ); + + field_name = "site_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_created_buildingst, field_name)); + auto n_site_civ = new NodeSimple; + n_site_civ->m_field_name = field_name; + n_site_civ->m_df_type = DF_Type::int32_t; + n_site_civ->m_rdf_type = RDF_Type::int32_t; + n_site_civ->m_node_type = NodeType::Simple; + n_site_civ->m_address = base + offset; + n_site_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_civ); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_created_buildingst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "structure"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_created_buildingst, field_name)); + auto n_structure = new NodeSimple; + n_structure->m_field_name = field_name; + n_structure->m_df_type = DF_Type::int32_t; + n_structure->m_rdf_type = RDF_Type::int32_t; + n_structure->m_node_type = NodeType::Simple; + n_structure->m_address = base + offset; + n_structure->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_structure); + + field_name = "builder_hf"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_created_buildingst, field_name)); + auto n_builder_hf = new NodeSimple; + n_builder_hf->m_field_name = field_name; + n_builder_hf->m_df_type = DF_Type::int32_t; + n_builder_hf->m_rdf_type = RDF_Type::int32_t; + n_builder_hf->m_node_type = NodeType::Simple; + n_builder_hf->m_address = base + offset; + n_builder_hf->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_builder_hf); + +} +void node_from_history_event_replaced_buildingst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_replaced_buildingst, field_name)); + auto n_civ = new NodeSimple; + n_civ->m_field_name = field_name; + n_civ->m_df_type = DF_Type::int32_t; + n_civ->m_rdf_type = RDF_Type::int32_t; + n_civ->m_node_type = NodeType::Simple; + n_civ->m_address = base + offset; + n_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_civ); + + field_name = "site_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_replaced_buildingst, field_name)); + auto n_site_civ = new NodeSimple; + n_site_civ->m_field_name = field_name; + n_site_civ->m_df_type = DF_Type::int32_t; + n_site_civ->m_rdf_type = RDF_Type::int32_t; + n_site_civ->m_node_type = NodeType::Simple; + n_site_civ->m_address = base + offset; + n_site_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_civ); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_replaced_buildingst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "old_structure"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_replaced_buildingst, field_name)); + auto n_old_structure = new NodeSimple; + n_old_structure->m_field_name = field_name; + n_old_structure->m_df_type = DF_Type::int32_t; + n_old_structure->m_rdf_type = RDF_Type::int32_t; + n_old_structure->m_node_type = NodeType::Simple; + n_old_structure->m_address = base + offset; + n_old_structure->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_old_structure); + + field_name = "new_structure"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_replaced_buildingst, field_name)); + auto n_new_structure = new NodeSimple; + n_new_structure->m_field_name = field_name; + n_new_structure->m_df_type = DF_Type::int32_t; + n_new_structure->m_rdf_type = RDF_Type::int32_t; + n_new_structure->m_node_type = NodeType::Simple; + n_new_structure->m_address = base + offset; + n_new_structure->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_new_structure); + +} +void node_from_history_event_entity_razed_buildingst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_entity_razed_buildingst, field_name)); + auto n_civ = new NodeSimple; + n_civ->m_field_name = field_name; + n_civ->m_df_type = DF_Type::int32_t; + n_civ->m_rdf_type = RDF_Type::int32_t; + n_civ->m_node_type = NodeType::Simple; + n_civ->m_address = base + offset; + n_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_civ); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_entity_razed_buildingst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "structure"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_entity_razed_buildingst, field_name)); + auto n_structure = new NodeSimple; + n_structure->m_field_name = field_name; + n_structure->m_df_type = DF_Type::int32_t; + n_structure->m_rdf_type = RDF_Type::int32_t; + n_structure->m_node_type = NodeType::Simple; + n_structure->m_address = base + offset; + n_structure->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_structure); + +} +void node_from_history_event_masterpiece_createdst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "maker"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_createdst, field_name)); + auto n_maker = new NodeSimple; + n_maker->m_field_name = field_name; + n_maker->m_df_type = DF_Type::int32_t; + n_maker->m_rdf_type = RDF_Type::int32_t; + n_maker->m_node_type = NodeType::Simple; + n_maker->m_address = base + offset; + n_maker->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_maker); + + field_name = "maker_entity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_createdst, field_name)); + auto n_maker_entity = new NodeSimple; + n_maker_entity->m_field_name = field_name; + n_maker_entity->m_df_type = DF_Type::int32_t; + n_maker_entity->m_rdf_type = RDF_Type::int32_t; + n_maker_entity->m_node_type = NodeType::Simple; + n_maker_entity->m_address = base + offset; + n_maker_entity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_maker_entity); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_createdst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + +} +void node_from_history_event_masterpiece_created_arch_designst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event_masterpiece_createdst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event_masterpiece_createdst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_arch_designst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "building_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_arch_designst, field_name)); + auto n_building_type = new NodeSimple; + n_building_type->m_field_name = field_name; + n_building_type->m_df_type = DF_Type::int16_t; + n_building_type->m_rdf_type = RDF_Type::int16_t; + n_building_type->m_node_type = NodeType::Simple; + n_building_type->m_address = base + offset; + n_building_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_building_type); + + field_name = "building_subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_arch_designst, field_name)); + auto n_building_subtype = new NodeSimple; + n_building_subtype->m_field_name = field_name; + n_building_subtype->m_df_type = DF_Type::int16_t; + n_building_subtype->m_rdf_type = RDF_Type::int16_t; + n_building_subtype->m_node_type = NodeType::Simple; + n_building_subtype->m_address = base + offset; + n_building_subtype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_building_subtype); + + field_name = "building_custom"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_arch_designst, field_name)); + auto n_building_custom = new NodeSimple; + n_building_custom->m_field_name = field_name; + n_building_custom->m_df_type = DF_Type::int32_t; + n_building_custom->m_rdf_type = RDF_Type::int32_t; + n_building_custom->m_node_type = NodeType::Simple; + n_building_custom->m_address = base + offset; + n_building_custom->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_building_custom); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_arch_designst, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + +} +void node_from_history_event_masterpiece_created_arch_constructst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event_masterpiece_createdst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event_masterpiece_createdst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_arch_constructst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "building_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_arch_constructst, field_name)); + auto n_building_type = new NodeSimple; + n_building_type->m_field_name = field_name; + n_building_type->m_df_type = DF_Type::int16_t; + n_building_type->m_rdf_type = RDF_Type::int16_t; + n_building_type->m_node_type = NodeType::Simple; + n_building_type->m_address = base + offset; + n_building_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_building_type); + + field_name = "building_subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_arch_constructst, field_name)); + auto n_building_subtype = new NodeSimple; + n_building_subtype->m_field_name = field_name; + n_building_subtype->m_df_type = DF_Type::int16_t; + n_building_subtype->m_rdf_type = RDF_Type::int16_t; + n_building_subtype->m_node_type = NodeType::Simple; + n_building_subtype->m_address = base + offset; + n_building_subtype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_building_subtype); + + field_name = "building_custom"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_arch_constructst, field_name)); + auto n_building_custom = new NodeSimple; + n_building_custom->m_field_name = field_name; + n_building_custom->m_df_type = DF_Type::int32_t; + n_building_custom->m_rdf_type = RDF_Type::int32_t; + n_building_custom->m_node_type = NodeType::Simple; + n_building_custom->m_address = base + offset; + n_building_custom->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_building_custom); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_arch_constructst, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + +} +void node_from_history_event_masterpiece_created_foodst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event_masterpiece_createdst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event_masterpiece_createdst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "item_subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_foodst, field_name)); + auto n_item_subtype = new NodeSimple; + n_item_subtype->m_field_name = field_name; + n_item_subtype->m_df_type = DF_Type::int16_t; + n_item_subtype->m_rdf_type = RDF_Type::int16_t; + n_item_subtype->m_node_type = NodeType::Simple; + n_item_subtype->m_address = base + offset; + n_item_subtype->m_refers_to = "$global.world.raws.itemdefs.food[$]"; + n_item_subtype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_subtype); + + field_name = "item_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_foodst, field_name)); + auto n_item_id = new NodeSimple; + n_item_id->m_field_name = field_name; + n_item_id->m_df_type = DF_Type::int32_t; + n_item_id->m_rdf_type = RDF_Type::int32_t; + n_item_id->m_node_type = NodeType::Simple; + n_item_id->m_address = base + offset; + n_item_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_id); + +} +void node_from_masterpiece_loss_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_history_event_war_plundered_sitest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "attacker_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_plundered_sitest, field_name)); + auto n_attacker_civ = new NodeSimple; + n_attacker_civ->m_field_name = field_name; + n_attacker_civ->m_df_type = DF_Type::int32_t; + n_attacker_civ->m_rdf_type = RDF_Type::int32_t; + n_attacker_civ->m_node_type = NodeType::Simple; + n_attacker_civ->m_address = base + offset; + n_attacker_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_attacker_civ); + + field_name = "defender_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_plundered_sitest, field_name)); + auto n_defender_civ = new NodeSimple; + n_defender_civ->m_field_name = field_name; + n_defender_civ->m_df_type = DF_Type::int32_t; + n_defender_civ->m_rdf_type = RDF_Type::int32_t; + n_defender_civ->m_node_type = NodeType::Simple; + n_defender_civ->m_address = base + offset; + n_defender_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_defender_civ); + + field_name = "site_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_plundered_sitest, field_name)); + auto n_site_civ = new NodeSimple; + n_site_civ->m_field_name = field_name; + n_site_civ->m_df_type = DF_Type::int32_t; + n_site_civ->m_rdf_type = RDF_Type::int32_t; + n_site_civ->m_node_type = NodeType::Simple; + n_site_civ->m_address = base + offset; + n_site_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_civ); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_plundered_sitest, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + +} +void node_from_history_event_war_site_new_leaderst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "attacker_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_site_new_leaderst, field_name)); + auto n_attacker_civ = new NodeSimple; + n_attacker_civ->m_field_name = field_name; + n_attacker_civ->m_df_type = DF_Type::int32_t; + n_attacker_civ->m_rdf_type = RDF_Type::int32_t; + n_attacker_civ->m_node_type = NodeType::Simple; + n_attacker_civ->m_address = base + offset; + n_attacker_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_attacker_civ); + + field_name = "new_site_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_site_new_leaderst, field_name)); + auto n_new_site_civ = new NodeSimple; + n_new_site_civ->m_field_name = field_name; + n_new_site_civ->m_df_type = DF_Type::int32_t; + n_new_site_civ->m_rdf_type = RDF_Type::int32_t; + n_new_site_civ->m_node_type = NodeType::Simple; + n_new_site_civ->m_address = base + offset; + n_new_site_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_new_site_civ); + + field_name = "defender_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_site_new_leaderst, field_name)); + auto n_defender_civ = new NodeSimple; + n_defender_civ->m_field_name = field_name; + n_defender_civ->m_df_type = DF_Type::int32_t; + n_defender_civ->m_rdf_type = RDF_Type::int32_t; + n_defender_civ->m_node_type = NodeType::Simple; + n_defender_civ->m_address = base + offset; + n_defender_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_defender_civ); + + field_name = "site_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_site_new_leaderst, field_name)); + auto n_site_civ = new NodeSimple; + n_site_civ->m_field_name = field_name; + n_site_civ->m_df_type = DF_Type::int32_t; + n_site_civ->m_rdf_type = RDF_Type::int32_t; + n_site_civ->m_node_type = NodeType::Simple; + n_site_civ->m_address = base + offset; + n_site_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_civ); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_site_new_leaderst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "new_leaders"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_site_new_leaderst, field_name)); + auto n_new_leaders = new NodeVector; + n_new_leaders->m_field_name = field_name; + n_new_leaders->m_df_type = DF_Type::int32_t; + n_new_leaders->m_rdf_type = RDF_Type::Vector; + n_new_leaders->m_node_type = NodeType::Vector; + n_new_leaders->m_addornements = "v"; + n_new_leaders->m_address = base + offset; + n_new_leaders->m_parent = p_node_parent; + n_new_leaders->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_new_leaders); + +} +void node_from_history_event_war_site_tribute_forcedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "attacker_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_site_tribute_forcedst, field_name)); + auto n_attacker_civ = new NodeSimple; + n_attacker_civ->m_field_name = field_name; + n_attacker_civ->m_df_type = DF_Type::int32_t; + n_attacker_civ->m_rdf_type = RDF_Type::int32_t; + n_attacker_civ->m_node_type = NodeType::Simple; + n_attacker_civ->m_address = base + offset; + n_attacker_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_attacker_civ); + + field_name = "defender_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_site_tribute_forcedst, field_name)); + auto n_defender_civ = new NodeSimple; + n_defender_civ->m_field_name = field_name; + n_defender_civ->m_df_type = DF_Type::int32_t; + n_defender_civ->m_rdf_type = RDF_Type::int32_t; + n_defender_civ->m_node_type = NodeType::Simple; + n_defender_civ->m_address = base + offset; + n_defender_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_defender_civ); + + field_name = "site_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_site_tribute_forcedst, field_name)); + auto n_site_civ = new NodeSimple; + n_site_civ->m_field_name = field_name; + n_site_civ->m_df_type = DF_Type::int32_t; + n_site_civ->m_rdf_type = RDF_Type::int32_t; + n_site_civ->m_node_type = NodeType::Simple; + n_site_civ->m_address = base + offset; + n_site_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_civ); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_site_tribute_forcedst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "season"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_site_tribute_forcedst, field_name)); + auto n_season = new NodeSimple; + n_season->m_field_name = field_name; + n_season->m_df_type = DF_Type::int32_t; + n_season->m_rdf_type = RDF_Type::int32_t; + n_season->m_node_type = NodeType::Simple; + n_season->m_address = base + offset; + n_season->m_comment = "0 = spring, 1 = summer, 2 = autumn, 3 = winter"; + n_season->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_season); + + field_name = "tribute_flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_site_tribute_forcedst, field_name)); + auto n_tribute_flags = new NodeBitfield; + n_tribute_flags->m_field_name = field_name; + n_tribute_flags->m_df_type = DF_Type::history_event_war_site_tribute_forcedst__T_tribute_flags; + n_tribute_flags->m_rdf_type = RDF_Type::Bitfield; + n_tribute_flags->m_node_type = NodeType::Bitfield; + n_tribute_flags->m_address = base + offset; + n_tribute_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tribute_flags); + +} +void node_from_history_event_war_site_taken_overst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "attacker_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_site_taken_overst, field_name)); + auto n_attacker_civ = new NodeSimple; + n_attacker_civ->m_field_name = field_name; + n_attacker_civ->m_df_type = DF_Type::int32_t; + n_attacker_civ->m_rdf_type = RDF_Type::int32_t; + n_attacker_civ->m_node_type = NodeType::Simple; + n_attacker_civ->m_address = base + offset; + n_attacker_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_attacker_civ); + + field_name = "new_site_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_site_taken_overst, field_name)); + auto n_new_site_civ = new NodeSimple; + n_new_site_civ->m_field_name = field_name; + n_new_site_civ->m_df_type = DF_Type::int32_t; + n_new_site_civ->m_rdf_type = RDF_Type::int32_t; + n_new_site_civ->m_node_type = NodeType::Simple; + n_new_site_civ->m_address = base + offset; + n_new_site_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_new_site_civ); + + field_name = "defender_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_site_taken_overst, field_name)); + auto n_defender_civ = new NodeSimple; + n_defender_civ->m_field_name = field_name; + n_defender_civ->m_df_type = DF_Type::int32_t; + n_defender_civ->m_rdf_type = RDF_Type::int32_t; + n_defender_civ->m_node_type = NodeType::Simple; + n_defender_civ->m_address = base + offset; + n_defender_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_defender_civ); + + field_name = "site_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_site_taken_overst, field_name)); + auto n_site_civ = new NodeSimple; + n_site_civ->m_field_name = field_name; + n_site_civ->m_df_type = DF_Type::int32_t; + n_site_civ->m_rdf_type = RDF_Type::int32_t; + n_site_civ->m_node_type = NodeType::Simple; + n_site_civ->m_address = base + offset; + n_site_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_civ); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_site_taken_overst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + +} +void node_from_history_event_site_surrenderedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "attacker_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_site_surrenderedst, field_name)); + auto n_attacker_civ = new NodeSimple; + n_attacker_civ->m_field_name = field_name; + n_attacker_civ->m_df_type = DF_Type::int32_t; + n_attacker_civ->m_rdf_type = RDF_Type::int32_t; + n_attacker_civ->m_node_type = NodeType::Simple; + n_attacker_civ->m_address = base + offset; + n_attacker_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_attacker_civ); + + field_name = "defender_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_site_surrenderedst, field_name)); + auto n_defender_civ = new NodeSimple; + n_defender_civ->m_field_name = field_name; + n_defender_civ->m_df_type = DF_Type::int32_t; + n_defender_civ->m_rdf_type = RDF_Type::int32_t; + n_defender_civ->m_node_type = NodeType::Simple; + n_defender_civ->m_address = base + offset; + n_defender_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_defender_civ); + + field_name = "site_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_site_surrenderedst, field_name)); + auto n_site_civ = new NodeSimple; + n_site_civ->m_field_name = field_name; + n_site_civ->m_df_type = DF_Type::int32_t; + n_site_civ->m_rdf_type = RDF_Type::int32_t; + n_site_civ->m_node_type = NodeType::Simple; + n_site_civ->m_address = base + offset; + n_site_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_civ); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_site_surrenderedst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + +} +void node_from_history_event_hist_figure_abductedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "target"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_abductedst, field_name)); + auto n_target = new NodeSimple; + n_target->m_field_name = field_name; + n_target->m_df_type = DF_Type::int32_t; + n_target->m_rdf_type = RDF_Type::int32_t; + n_target->m_node_type = NodeType::Simple; + n_target->m_address = base + offset; + n_target->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_target); + + field_name = "snatcher"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_abductedst, field_name)); + auto n_snatcher = new NodeSimple; + n_snatcher->m_field_name = field_name; + n_snatcher->m_df_type = DF_Type::int32_t; + n_snatcher->m_rdf_type = RDF_Type::int32_t; + n_snatcher->m_node_type = NodeType::Simple; + n_snatcher->m_address = base + offset; + n_snatcher->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_snatcher); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_abductedst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "region"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_abductedst, field_name)); + auto n_region = new NodeSimple; + n_region->m_field_name = field_name; + n_region->m_df_type = DF_Type::int32_t; + n_region->m_rdf_type = RDF_Type::int32_t; + n_region->m_node_type = NodeType::Simple; + n_region->m_address = base + offset; + n_region->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region); + + field_name = "layer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_abductedst, field_name)); + auto n_layer = new NodeSimple; + n_layer->m_field_name = field_name; + n_layer->m_df_type = DF_Type::int32_t; + n_layer->m_rdf_type = RDF_Type::int32_t; + n_layer->m_node_type = NodeType::Simple; + n_layer->m_address = base + offset; + n_layer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_layer); + +} +void node_from_history_event_hf_razed_buildingst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "histfig"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_razed_buildingst, field_name)); + auto n_histfig = new NodeSimple; + n_histfig->m_field_name = field_name; + n_histfig->m_df_type = DF_Type::int32_t; + n_histfig->m_rdf_type = RDF_Type::int32_t; + n_histfig->m_node_type = NodeType::Simple; + n_histfig->m_address = base + offset; + n_histfig->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_razed_buildingst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "structure"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_razed_buildingst, field_name)); + auto n_structure = new NodeSimple; + n_structure->m_field_name = field_name; + n_structure->m_df_type = DF_Type::int32_t; + n_structure->m_rdf_type = RDF_Type::int32_t; + n_structure->m_node_type = NodeType::Simple; + n_structure->m_address = base + offset; + n_structure->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_structure); + +} +void node_from_history_event_creature_devouredst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "victim"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_creature_devouredst, field_name)); + auto n_victim = new NodeSimple; + n_victim->m_field_name = field_name; + n_victim->m_df_type = DF_Type::int32_t; + n_victim->m_rdf_type = RDF_Type::int32_t; + n_victim->m_node_type = NodeType::Simple; + n_victim->m_address = base + offset; + n_victim->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_victim); + + field_name = "race"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_creature_devouredst, field_name)); + auto n_race = new NodeSimple; + n_race->m_field_name = field_name; + n_race->m_df_type = DF_Type::int32_t; + n_race->m_rdf_type = RDF_Type::int32_t; + n_race->m_node_type = NodeType::Simple; + n_race->m_address = base + offset; + n_race->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_race); + + field_name = "caste"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_creature_devouredst, field_name)); + auto n_caste = new NodeSimple; + n_caste->m_field_name = field_name; + n_caste->m_df_type = DF_Type::int16_t; + n_caste->m_rdf_type = RDF_Type::int16_t; + n_caste->m_node_type = NodeType::Simple; + n_caste->m_address = base + offset; + n_caste->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_caste); + + field_name = "eater"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_creature_devouredst, field_name)); + auto n_eater = new NodeSimple; + n_eater->m_field_name = field_name; + n_eater->m_df_type = DF_Type::int32_t; + n_eater->m_rdf_type = RDF_Type::int32_t; + n_eater->m_node_type = NodeType::Simple; + n_eater->m_address = base + offset; + n_eater->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_eater); + + field_name = "entity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_creature_devouredst, field_name)); + auto n_entity = new NodeSimple; + n_entity->m_field_name = field_name; + n_entity->m_df_type = DF_Type::int32_t; + n_entity->m_rdf_type = RDF_Type::int32_t; + n_entity->m_node_type = NodeType::Simple; + n_entity->m_address = base + offset; + n_entity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_creature_devouredst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "region"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_creature_devouredst, field_name)); + auto n_region = new NodeSimple; + n_region->m_field_name = field_name; + n_region->m_df_type = DF_Type::int32_t; + n_region->m_rdf_type = RDF_Type::int32_t; + n_region->m_node_type = NodeType::Simple; + n_region->m_address = base + offset; + n_region->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region); + + field_name = "layer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_creature_devouredst, field_name)); + auto n_layer = new NodeSimple; + n_layer->m_field_name = field_name; + n_layer->m_df_type = DF_Type::int32_t; + n_layer->m_rdf_type = RDF_Type::int32_t; + n_layer->m_node_type = NodeType::Simple; + n_layer->m_address = base + offset; + n_layer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_layer); + +} +void node_from_history_event_hist_figure_woundedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "woundee"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_woundedst, field_name)); + auto n_woundee = new NodeSimple; + n_woundee->m_field_name = field_name; + n_woundee->m_df_type = DF_Type::int32_t; + n_woundee->m_rdf_type = RDF_Type::int32_t; + n_woundee->m_node_type = NodeType::Simple; + n_woundee->m_address = base + offset; + n_woundee->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_woundee); + + field_name = "wounder"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_woundedst, field_name)); + auto n_wounder = new NodeSimple; + n_wounder->m_field_name = field_name; + n_wounder->m_df_type = DF_Type::int32_t; + n_wounder->m_rdf_type = RDF_Type::int32_t; + n_wounder->m_node_type = NodeType::Simple; + n_wounder->m_address = base + offset; + n_wounder->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_wounder); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_woundedst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "region"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_woundedst, field_name)); + auto n_region = new NodeSimple; + n_region->m_field_name = field_name; + n_region->m_df_type = DF_Type::int32_t; + n_region->m_rdf_type = RDF_Type::int32_t; + n_region->m_node_type = NodeType::Simple; + n_region->m_address = base + offset; + n_region->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region); + + field_name = "layer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_woundedst, field_name)); + auto n_layer = new NodeSimple; + n_layer->m_field_name = field_name; + n_layer->m_df_type = DF_Type::int32_t; + n_layer->m_rdf_type = RDF_Type::int32_t; + n_layer->m_node_type = NodeType::Simple; + n_layer->m_address = base + offset; + n_layer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_layer); + + field_name = "woundee_race"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_woundedst, field_name)); + auto n_woundee_race = new NodeSimple; + n_woundee_race->m_field_name = field_name; + n_woundee_race->m_df_type = DF_Type::int32_t; + n_woundee_race->m_rdf_type = RDF_Type::int32_t; + n_woundee_race->m_node_type = NodeType::Simple; + n_woundee_race->m_address = base + offset; + n_woundee_race->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_woundee_race); + + field_name = "woundee_caste"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_woundedst, field_name)); + auto n_woundee_caste = new NodeSimple; + n_woundee_caste->m_field_name = field_name; + n_woundee_caste->m_df_type = DF_Type::int16_t; + n_woundee_caste->m_rdf_type = RDF_Type::int16_t; + n_woundee_caste->m_node_type = NodeType::Simple; + n_woundee_caste->m_address = base + offset; + n_woundee_caste->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_woundee_caste); + + field_name = "body_part"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_woundedst, field_name)); + auto n_body_part = new NodeSimple; + n_body_part->m_field_name = field_name; + n_body_part->m_df_type = DF_Type::int16_t; + n_body_part->m_rdf_type = RDF_Type::int16_t; + n_body_part->m_node_type = NodeType::Simple; + n_body_part->m_address = base + offset; + n_body_part->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_body_part); + + field_name = "injury_type"; + auto n_injury_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_woundedst, field_name)); + n_injury_type->m_field_name = field_name; + n_injury_type->m_df_type = DF_Type::history_event_hist_figure_woundedst__T_injury_type; + n_injury_type->m_rdf_type = RDF_Type::Enum; + n_injury_type->m_node_type = NodeType::Enum; + n_injury_type->m_base_type = DF_Type::int16_t; + n_injury_type->m_enum_type = "history_event_hist_figure_woundedst::T_injury_type"; + n_injury_type->m_address = base + offset; + n_injury_type->m_first_value = 0; + n_injury_type->m_last_value = 3; + n_injury_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_injury_type); + + field_name = "part_lost"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_woundedst, field_name)); + auto n_part_lost = new NodeSimple; + n_part_lost->m_field_name = field_name; + n_part_lost->m_df_type = DF_Type::int8_t; + n_part_lost->m_rdf_type = RDF_Type::int8_t; + n_part_lost->m_node_type = NodeType::Simple; + n_part_lost->m_address = base + offset; + n_part_lost->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_part_lost); + +} +void node_from_history_event_simple_battle_subtype(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_history_event_created_world_constructionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_created_world_constructionst, field_name)); + auto n_civ = new NodeSimple; + n_civ->m_field_name = field_name; + n_civ->m_df_type = DF_Type::int32_t; + n_civ->m_rdf_type = RDF_Type::int32_t; + n_civ->m_node_type = NodeType::Simple; + n_civ->m_address = base + offset; + n_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_civ); + + field_name = "site_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_created_world_constructionst, field_name)); + auto n_site_civ = new NodeSimple; + n_site_civ->m_field_name = field_name; + n_site_civ->m_df_type = DF_Type::int32_t; + n_site_civ->m_rdf_type = RDF_Type::int32_t; + n_site_civ->m_node_type = NodeType::Simple; + n_site_civ->m_address = base + offset; + n_site_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_civ); + + field_name = "construction"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_created_world_constructionst, field_name)); + auto n_construction = new NodeSimple; + n_construction->m_field_name = field_name; + n_construction->m_df_type = DF_Type::int32_t; + n_construction->m_rdf_type = RDF_Type::int32_t; + n_construction->m_node_type = NodeType::Simple; + n_construction->m_address = base + offset; + n_construction->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_construction); + + field_name = "master_construction"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_created_world_constructionst, field_name)); + auto n_master_construction = new NodeSimple; + n_master_construction->m_field_name = field_name; + n_master_construction->m_df_type = DF_Type::int32_t; + n_master_construction->m_rdf_type = RDF_Type::int32_t; + n_master_construction->m_node_type = NodeType::Simple; + n_master_construction->m_address = base + offset; + n_master_construction->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_master_construction); + + field_name = "site1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_created_world_constructionst, field_name)); + auto n_site1 = new NodeSimple; + n_site1->m_field_name = field_name; + n_site1->m_df_type = DF_Type::int32_t; + n_site1->m_rdf_type = RDF_Type::int32_t; + n_site1->m_node_type = NodeType::Simple; + n_site1->m_address = base + offset; + n_site1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site1); + + field_name = "site2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_created_world_constructionst, field_name)); + auto n_site2 = new NodeSimple; + n_site2->m_field_name = field_name; + n_site2->m_df_type = DF_Type::int32_t; + n_site2->m_rdf_type = RDF_Type::int32_t; + n_site2->m_node_type = NodeType::Simple; + n_site2->m_address = base + offset; + n_site2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site2); + +} +void node_from_history_event_hist_figure_reunionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "missing"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_reunionst, field_name)); + auto n_missing = new NodeVector; + n_missing->m_field_name = field_name; + n_missing->m_df_type = DF_Type::int32_t; + n_missing->m_rdf_type = RDF_Type::Vector; + n_missing->m_node_type = NodeType::Vector; + n_missing->m_addornements = "v"; + n_missing->m_address = base + offset; + n_missing->m_parent = p_node_parent; + n_missing->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_missing); + + field_name = "reunited_with"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_reunionst, field_name)); + auto n_reunited_with = new NodeVector; + n_reunited_with->m_field_name = field_name; + n_reunited_with->m_df_type = DF_Type::int32_t; + n_reunited_with->m_rdf_type = RDF_Type::Vector; + n_reunited_with->m_node_type = NodeType::Vector; + n_reunited_with->m_addornements = "v"; + n_reunited_with->m_address = base + offset; + n_reunited_with->m_parent = p_node_parent; + n_reunited_with->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_reunited_with); + + field_name = "assistant"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_reunionst, field_name)); + auto n_assistant = new NodeSimple; + n_assistant->m_field_name = field_name; + n_assistant->m_df_type = DF_Type::int32_t; + n_assistant->m_rdf_type = RDF_Type::int32_t; + n_assistant->m_node_type = NodeType::Simple; + n_assistant->m_address = base + offset; + n_assistant->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_assistant); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_reunionst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "region"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_reunionst, field_name)); + auto n_region = new NodeSimple; + n_region->m_field_name = field_name; + n_region->m_df_type = DF_Type::int32_t; + n_region->m_rdf_type = RDF_Type::int32_t; + n_region->m_node_type = NodeType::Simple; + n_region->m_address = base + offset; + n_region->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region); + + field_name = "layer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_reunionst, field_name)); + auto n_layer = new NodeSimple; + n_layer->m_field_name = field_name; + n_layer->m_df_type = DF_Type::int32_t; + n_layer->m_rdf_type = RDF_Type::int32_t; + n_layer->m_node_type = NodeType::Simple; + n_layer->m_address = base + offset; + n_layer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_layer); + +} +void node_from_history_event_assume_identityst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "trickster"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_assume_identityst, field_name)); + auto n_trickster = new NodeSimple; + n_trickster->m_field_name = field_name; + n_trickster->m_df_type = DF_Type::int32_t; + n_trickster->m_rdf_type = RDF_Type::int32_t; + n_trickster->m_node_type = NodeType::Simple; + n_trickster->m_address = base + offset; + n_trickster->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_trickster); + + field_name = "identity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_assume_identityst, field_name)); + auto n_identity = new NodeSimple; + n_identity->m_field_name = field_name; + n_identity->m_df_type = DF_Type::int32_t; + n_identity->m_rdf_type = RDF_Type::int32_t; + n_identity->m_node_type = NodeType::Simple; + n_identity->m_address = base + offset; + n_identity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_identity); + + field_name = "target"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_assume_identityst, field_name)); + auto n_target = new NodeSimple; + n_target->m_field_name = field_name; + n_target->m_df_type = DF_Type::int32_t; + n_target->m_rdf_type = RDF_Type::int32_t; + n_target->m_node_type = NodeType::Simple; + n_target->m_address = base + offset; + n_target->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_target); + +} +void node_from_history_event_create_entity_positionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "histfig"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_create_entity_positionst, field_name)); + auto n_histfig = new NodeSimple; + n_histfig->m_field_name = field_name; + n_histfig->m_df_type = DF_Type::int32_t; + n_histfig->m_rdf_type = RDF_Type::int32_t; + n_histfig->m_node_type = NodeType::Simple; + n_histfig->m_address = base + offset; + n_histfig->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig); + + field_name = "civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_create_entity_positionst, field_name)); + auto n_civ = new NodeSimple; + n_civ->m_field_name = field_name; + n_civ->m_df_type = DF_Type::int32_t; + n_civ->m_rdf_type = RDF_Type::int32_t; + n_civ->m_node_type = NodeType::Simple; + n_civ->m_address = base + offset; + n_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_civ); + + field_name = "site_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_create_entity_positionst, field_name)); + auto n_site_civ = new NodeSimple; + n_site_civ->m_field_name = field_name; + n_site_civ->m_df_type = DF_Type::int32_t; + n_site_civ->m_rdf_type = RDF_Type::int32_t; + n_site_civ->m_node_type = NodeType::Simple; + n_site_civ->m_address = base + offset; + n_site_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_civ); + + field_name = "position"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_create_entity_positionst, field_name)); + auto n_position = new NodeSimple; + n_position->m_field_name = field_name; + n_position->m_df_type = DF_Type::int32_t; + n_position->m_rdf_type = RDF_Type::int32_t; + n_position->m_node_type = NodeType::Simple; + n_position->m_address = base + offset; + n_position->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_position); + + field_name = "reason"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_create_entity_positionst, field_name)); + auto n_reason = new NodeSimple; + n_reason->m_field_name = field_name; + n_reason->m_df_type = DF_Type::int16_t; + n_reason->m_rdf_type = RDF_Type::int16_t; + n_reason->m_node_type = NodeType::Simple; + n_reason->m_address = base + offset; + n_reason->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_reason); + +} +void node_from_history_event_change_creature_typest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "changee"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_creature_typest, field_name)); + auto n_changee = new NodeSimple; + n_changee->m_field_name = field_name; + n_changee->m_df_type = DF_Type::int32_t; + n_changee->m_rdf_type = RDF_Type::int32_t; + n_changee->m_node_type = NodeType::Simple; + n_changee->m_address = base + offset; + n_changee->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_changee); + + field_name = "changer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_creature_typest, field_name)); + auto n_changer = new NodeSimple; + n_changer->m_field_name = field_name; + n_changer->m_df_type = DF_Type::int32_t; + n_changer->m_rdf_type = RDF_Type::int32_t; + n_changer->m_node_type = NodeType::Simple; + n_changer->m_address = base + offset; + n_changer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_changer); + + field_name = "old_race"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_creature_typest, field_name)); + auto n_old_race = new NodeSimple; + n_old_race->m_field_name = field_name; + n_old_race->m_df_type = DF_Type::int32_t; + n_old_race->m_rdf_type = RDF_Type::int32_t; + n_old_race->m_node_type = NodeType::Simple; + n_old_race->m_address = base + offset; + n_old_race->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_old_race); + + field_name = "old_caste"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_creature_typest, field_name)); + auto n_old_caste = new NodeSimple; + n_old_caste->m_field_name = field_name; + n_old_caste->m_df_type = DF_Type::int32_t; + n_old_caste->m_rdf_type = RDF_Type::int32_t; + n_old_caste->m_node_type = NodeType::Simple; + n_old_caste->m_address = base + offset; + n_old_caste->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_old_caste); + + field_name = "new_race"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_creature_typest, field_name)); + auto n_new_race = new NodeSimple; + n_new_race->m_field_name = field_name; + n_new_race->m_df_type = DF_Type::int32_t; + n_new_race->m_rdf_type = RDF_Type::int32_t; + n_new_race->m_node_type = NodeType::Simple; + n_new_race->m_address = base + offset; + n_new_race->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_new_race); + + field_name = "new_caste"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_creature_typest, field_name)); + auto n_new_caste = new NodeSimple; + n_new_caste->m_field_name = field_name; + n_new_caste->m_df_type = DF_Type::int32_t; + n_new_caste->m_rdf_type = RDF_Type::int32_t; + n_new_caste->m_node_type = NodeType::Simple; + n_new_caste->m_address = base + offset; + n_new_caste->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_new_caste); + +} +void node_from_history_event_hf_learns_secretst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "student"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_learns_secretst, field_name)); + auto n_student = new NodeSimple; + n_student->m_field_name = field_name; + n_student->m_df_type = DF_Type::int32_t; + n_student->m_rdf_type = RDF_Type::int32_t; + n_student->m_node_type = NodeType::Simple; + n_student->m_address = base + offset; + n_student->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_student); + + field_name = "teacher"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_learns_secretst, field_name)); + auto n_teacher = new NodeSimple; + n_teacher->m_field_name = field_name; + n_teacher->m_df_type = DF_Type::int32_t; + n_teacher->m_rdf_type = RDF_Type::int32_t; + n_teacher->m_node_type = NodeType::Simple; + n_teacher->m_address = base + offset; + n_teacher->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_teacher); + + field_name = "artifact"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_learns_secretst, field_name)); + auto n_artifact = new NodeSimple; + n_artifact->m_field_name = field_name; + n_artifact->m_df_type = DF_Type::int32_t; + n_artifact->m_rdf_type = RDF_Type::int32_t; + n_artifact->m_node_type = NodeType::Simple; + n_artifact->m_address = base + offset; + n_artifact->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_artifact); + + field_name = "interaction"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_learns_secretst, field_name)); + auto n_interaction = new NodeSimple; + n_interaction->m_field_name = field_name; + n_interaction->m_df_type = DF_Type::int32_t; + n_interaction->m_rdf_type = RDF_Type::int32_t; + n_interaction->m_node_type = NodeType::Simple; + n_interaction->m_address = base + offset; + n_interaction->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_interaction); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_learns_secretst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_histfig_body_state(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_history_event_hf_act_on_buildingst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "action"; + auto n_action = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_act_on_buildingst, field_name)); + n_action->m_field_name = field_name; + n_action->m_df_type = DF_Type::history_event_hf_act_on_buildingst__T_action; + n_action->m_rdf_type = RDF_Type::Enum; + n_action->m_node_type = NodeType::Enum; + n_action->m_base_type = DF_Type::int32_t; + n_action->m_enum_type = "history_event_hf_act_on_buildingst::T_action"; + n_action->m_address = base + offset; + n_action->m_first_value = 0; + n_action->m_last_value = 2; + n_action->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_action); + + field_name = "histfig"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_act_on_buildingst, field_name)); + auto n_histfig = new NodeSimple; + n_histfig->m_field_name = field_name; + n_histfig->m_df_type = DF_Type::int32_t; + n_histfig->m_rdf_type = RDF_Type::int32_t; + n_histfig->m_node_type = NodeType::Simple; + n_histfig->m_address = base + offset; + n_histfig->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_act_on_buildingst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "structure"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_act_on_buildingst, field_name)); + auto n_structure = new NodeSimple; + n_structure->m_field_name = field_name; + n_structure->m_df_type = DF_Type::int32_t; + n_structure->m_rdf_type = RDF_Type::int32_t; + n_structure->m_node_type = NodeType::Simple; + n_structure->m_address = base + offset; + n_structure->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_structure); + +} +void node_from_history_event_hf_does_interactionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "doer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_does_interactionst, field_name)); + auto n_doer = new NodeSimple; + n_doer->m_field_name = field_name; + n_doer->m_df_type = DF_Type::int32_t; + n_doer->m_rdf_type = RDF_Type::int32_t; + n_doer->m_node_type = NodeType::Simple; + n_doer->m_address = base + offset; + n_doer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_doer); + + field_name = "target"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_does_interactionst, field_name)); + auto n_target = new NodeSimple; + n_target->m_field_name = field_name; + n_target->m_df_type = DF_Type::int32_t; + n_target->m_rdf_type = RDF_Type::int32_t; + n_target->m_node_type = NodeType::Simple; + n_target->m_address = base + offset; + n_target->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_target); + + field_name = "interaction"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_does_interactionst, field_name)); + auto n_interaction = new NodeSimple; + n_interaction->m_field_name = field_name; + n_interaction->m_df_type = DF_Type::int32_t; + n_interaction->m_rdf_type = RDF_Type::int32_t; + n_interaction->m_node_type = NodeType::Simple; + n_interaction->m_address = base + offset; + n_interaction->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_interaction); + + field_name = "source"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_does_interactionst, field_name)); + auto n_source = new NodeSimple; + n_source->m_field_name = field_name; + n_source->m_df_type = DF_Type::int32_t; + n_source->m_rdf_type = RDF_Type::int32_t; + n_source->m_node_type = NodeType::Simple; + n_source->m_address = base + offset; + n_source->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_source); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_does_interactionst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "region"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_does_interactionst, field_name)); + auto n_region = new NodeSimple; + n_region->m_field_name = field_name; + n_region->m_df_type = DF_Type::int32_t; + n_region->m_rdf_type = RDF_Type::int32_t; + n_region->m_node_type = NodeType::Simple; + n_region->m_address = base + offset; + n_region->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region); + + field_name = "layer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_does_interactionst, field_name)); + auto n_layer = new NodeSimple; + n_layer->m_field_name = field_name; + n_layer->m_df_type = DF_Type::int32_t; + n_layer->m_rdf_type = RDF_Type::int32_t; + n_layer->m_node_type = NodeType::Simple; + n_layer->m_address = base + offset; + n_layer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_layer); + +} +void node_from_history_event_entity_lawst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "entity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_entity_lawst, field_name)); + auto n_entity = new NodeSimple; + n_entity->m_field_name = field_name; + n_entity->m_df_type = DF_Type::int32_t; + n_entity->m_rdf_type = RDF_Type::int32_t; + n_entity->m_node_type = NodeType::Simple; + n_entity->m_address = base + offset; + n_entity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity); + + field_name = "histfig"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_entity_lawst, field_name)); + auto n_histfig = new NodeSimple; + n_histfig->m_field_name = field_name; + n_histfig->m_df_type = DF_Type::int32_t; + n_histfig->m_rdf_type = RDF_Type::int32_t; + n_histfig->m_node_type = NodeType::Simple; + n_histfig->m_address = base + offset; + n_histfig->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig); + + field_name = "add_flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_entity_lawst, field_name)); + auto n_add_flags = new NodeSimple; + n_add_flags->m_field_name = field_name; + n_add_flags->m_df_type = DF_Type::int32_t; + n_add_flags->m_rdf_type = RDF_Type::int32_t; + n_add_flags->m_node_type = NodeType::Simple; + n_add_flags->m_address = base + offset; + n_add_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_add_flags); + + field_name = "remove_flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_entity_lawst, field_name)); + auto n_remove_flags = new NodeSimple; + n_remove_flags->m_field_name = field_name; + n_remove_flags->m_df_type = DF_Type::int32_t; + n_remove_flags->m_rdf_type = RDF_Type::int32_t; + n_remove_flags->m_node_type = NodeType::Simple; + n_remove_flags->m_address = base + offset; + n_remove_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_remove_flags); + +} +void node_from_history_event_artifact_storedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "artifact"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_storedst, field_name)); + auto n_artifact = new NodeSimple; + n_artifact->m_field_name = field_name; + n_artifact->m_df_type = DF_Type::int32_t; + n_artifact->m_rdf_type = RDF_Type::int32_t; + n_artifact->m_node_type = NodeType::Simple; + n_artifact->m_address = base + offset; + n_artifact->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_artifact); + + field_name = "unit"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_storedst, field_name)); + auto n_unit = new NodeSimple; + n_unit->m_field_name = field_name; + n_unit->m_df_type = DF_Type::int32_t; + n_unit->m_rdf_type = RDF_Type::int32_t; + n_unit->m_node_type = NodeType::Simple; + n_unit->m_address = base + offset; + n_unit->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unit); + + field_name = "histfig"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_storedst, field_name)); + auto n_histfig = new NodeSimple; + n_histfig->m_field_name = field_name; + n_histfig->m_df_type = DF_Type::int32_t; + n_histfig->m_rdf_type = RDF_Type::int32_t; + n_histfig->m_node_type = NodeType::Simple; + n_histfig->m_address = base + offset; + n_histfig->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_storedst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_storedst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_history_event_agreement_formedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "agreement_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_agreement_formedst, field_name)); + auto n_agreement_id = new NodeSimple; + n_agreement_id->m_field_name = field_name; + n_agreement_id->m_df_type = DF_Type::int32_t; + n_agreement_id->m_rdf_type = RDF_Type::int32_t; + n_agreement_id->m_node_type = NodeType::Simple; + n_agreement_id->m_address = base + offset; + n_agreement_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_agreement_id); + +} +void node_from_site_dispute_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_history_event_insurrection_startedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "target_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_insurrection_startedst, field_name)); + auto n_target_civ = new NodeSimple; + n_target_civ->m_field_name = field_name; + n_target_civ->m_df_type = DF_Type::int32_t; + n_target_civ->m_rdf_type = RDF_Type::int32_t; + n_target_civ->m_node_type = NodeType::Simple; + n_target_civ->m_address = base + offset; + n_target_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_target_civ); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_insurrection_startedst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + +} +void node_from_insurrection_outcome(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_history_event_hf_attacked_sitest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "attacker_hf"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_attacked_sitest, field_name)); + auto n_attacker_hf = new NodeSimple; + n_attacker_hf->m_field_name = field_name; + n_attacker_hf->m_df_type = DF_Type::int32_t; + n_attacker_hf->m_rdf_type = RDF_Type::int32_t; + n_attacker_hf->m_node_type = NodeType::Simple; + n_attacker_hf->m_address = base + offset; + n_attacker_hf->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_attacker_hf); + + field_name = "defender_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_attacked_sitest, field_name)); + auto n_defender_civ = new NodeSimple; + n_defender_civ->m_field_name = field_name; + n_defender_civ->m_df_type = DF_Type::int32_t; + n_defender_civ->m_rdf_type = RDF_Type::int32_t; + n_defender_civ->m_node_type = NodeType::Simple; + n_defender_civ->m_address = base + offset; + n_defender_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_defender_civ); + + field_name = "site_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_attacked_sitest, field_name)); + auto n_site_civ = new NodeSimple; + n_site_civ->m_field_name = field_name; + n_site_civ->m_df_type = DF_Type::int32_t; + n_site_civ->m_rdf_type = RDF_Type::int32_t; + n_site_civ->m_node_type = NodeType::Simple; + n_site_civ->m_address = base + offset; + n_site_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_civ); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_attacked_sitest, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + +} +void node_from_history_event_performancest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "entity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_performancest, field_name)); + auto n_entity = new NodeSimple; + n_entity->m_field_name = field_name; + n_entity->m_df_type = DF_Type::int32_t; + n_entity->m_rdf_type = RDF_Type::int32_t; + n_entity->m_node_type = NodeType::Simple; + n_entity->m_address = base + offset; + n_entity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity); + + field_name = "occasion"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_performancest, field_name)); + auto n_occasion = new NodeSimple; + n_occasion->m_field_name = field_name; + n_occasion->m_df_type = DF_Type::int32_t; + n_occasion->m_rdf_type = RDF_Type::int32_t; + n_occasion->m_node_type = NodeType::Simple; + n_occasion->m_address = base + offset; + n_occasion->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_occasion); + + field_name = "schedule"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_performancest, field_name)); + auto n_schedule = new NodeSimple; + n_schedule->m_field_name = field_name; + n_schedule->m_df_type = DF_Type::int32_t; + n_schedule->m_rdf_type = RDF_Type::int32_t; + n_schedule->m_node_type = NodeType::Simple; + n_schedule->m_address = base + offset; + n_schedule->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_schedule); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_performancest, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "region"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_performancest, field_name)); + auto n_region = new NodeSimple; + n_region->m_field_name = field_name; + n_region->m_df_type = DF_Type::int32_t; + n_region->m_rdf_type = RDF_Type::int32_t; + n_region->m_node_type = NodeType::Simple; + n_region->m_address = base + offset; + n_region->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region); + + field_name = "layer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_performancest, field_name)); + auto n_layer = new NodeSimple; + n_layer->m_field_name = field_name; + n_layer->m_df_type = DF_Type::int32_t; + n_layer->m_rdf_type = RDF_Type::int32_t; + n_layer->m_node_type = NodeType::Simple; + n_layer->m_address = base + offset; + n_layer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_layer); + +} +void node_from_history_event_competitionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "entity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_competitionst, field_name)); + auto n_entity = new NodeSimple; + n_entity->m_field_name = field_name; + n_entity->m_df_type = DF_Type::int32_t; + n_entity->m_rdf_type = RDF_Type::int32_t; + n_entity->m_node_type = NodeType::Simple; + n_entity->m_address = base + offset; + n_entity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity); + + field_name = "occasion"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_competitionst, field_name)); + auto n_occasion = new NodeSimple; + n_occasion->m_field_name = field_name; + n_occasion->m_df_type = DF_Type::int32_t; + n_occasion->m_rdf_type = RDF_Type::int32_t; + n_occasion->m_node_type = NodeType::Simple; + n_occasion->m_address = base + offset; + n_occasion->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_occasion); + + field_name = "schedule"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_competitionst, field_name)); + auto n_schedule = new NodeSimple; + n_schedule->m_field_name = field_name; + n_schedule->m_df_type = DF_Type::int32_t; + n_schedule->m_rdf_type = RDF_Type::int32_t; + n_schedule->m_node_type = NodeType::Simple; + n_schedule->m_address = base + offset; + n_schedule->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_schedule); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_competitionst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "region"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_competitionst, field_name)); + auto n_region = new NodeSimple; + n_region->m_field_name = field_name; + n_region->m_df_type = DF_Type::int32_t; + n_region->m_rdf_type = RDF_Type::int32_t; + n_region->m_node_type = NodeType::Simple; + n_region->m_address = base + offset; + n_region->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region); + + field_name = "layer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_competitionst, field_name)); + auto n_layer = new NodeSimple; + n_layer->m_field_name = field_name; + n_layer->m_df_type = DF_Type::int32_t; + n_layer->m_rdf_type = RDF_Type::int32_t; + n_layer->m_node_type = NodeType::Simple; + n_layer->m_address = base + offset; + n_layer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_layer); + + field_name = "competitor_hf"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_competitionst, field_name)); + auto n_competitor_hf = new NodeVector; + n_competitor_hf->m_field_name = field_name; + n_competitor_hf->m_df_type = DF_Type::int32_t; + n_competitor_hf->m_rdf_type = RDF_Type::Vector; + n_competitor_hf->m_node_type = NodeType::Vector; + n_competitor_hf->m_addornements = "v"; + n_competitor_hf->m_address = base + offset; + n_competitor_hf->m_parent = p_node_parent; + n_competitor_hf->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_competitor_hf); + + field_name = "winner_hf"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_competitionst, field_name)); + auto n_winner_hf = new NodeVector; + n_winner_hf->m_field_name = field_name; + n_winner_hf->m_df_type = DF_Type::int32_t; + n_winner_hf->m_rdf_type = RDF_Type::Vector; + n_winner_hf->m_node_type = NodeType::Vector; + n_winner_hf->m_addornements = "v"; + n_winner_hf->m_address = base + offset; + n_winner_hf->m_parent = p_node_parent; + n_winner_hf->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_winner_hf); + +} +void node_from_history_event_processionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "entity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_processionst, field_name)); + auto n_entity = new NodeSimple; + n_entity->m_field_name = field_name; + n_entity->m_df_type = DF_Type::int32_t; + n_entity->m_rdf_type = RDF_Type::int32_t; + n_entity->m_node_type = NodeType::Simple; + n_entity->m_address = base + offset; + n_entity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity); + + field_name = "occasion"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_processionst, field_name)); + auto n_occasion = new NodeSimple; + n_occasion->m_field_name = field_name; + n_occasion->m_df_type = DF_Type::int32_t; + n_occasion->m_rdf_type = RDF_Type::int32_t; + n_occasion->m_node_type = NodeType::Simple; + n_occasion->m_address = base + offset; + n_occasion->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_occasion); + + field_name = "schedule"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_processionst, field_name)); + auto n_schedule = new NodeSimple; + n_schedule->m_field_name = field_name; + n_schedule->m_df_type = DF_Type::int32_t; + n_schedule->m_rdf_type = RDF_Type::int32_t; + n_schedule->m_node_type = NodeType::Simple; + n_schedule->m_address = base + offset; + n_schedule->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_schedule); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_processionst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "region"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_processionst, field_name)); + auto n_region = new NodeSimple; + n_region->m_field_name = field_name; + n_region->m_df_type = DF_Type::int32_t; + n_region->m_rdf_type = RDF_Type::int32_t; + n_region->m_node_type = NodeType::Simple; + n_region->m_address = base + offset; + n_region->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region); + + field_name = "layer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_processionst, field_name)); + auto n_layer = new NodeSimple; + n_layer->m_field_name = field_name; + n_layer->m_df_type = DF_Type::int32_t; + n_layer->m_rdf_type = RDF_Type::int32_t; + n_layer->m_node_type = NodeType::Simple; + n_layer->m_address = base + offset; + n_layer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_layer); + +} +void node_from_history_event_ceremonyst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "entity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_ceremonyst, field_name)); + auto n_entity = new NodeSimple; + n_entity->m_field_name = field_name; + n_entity->m_df_type = DF_Type::int32_t; + n_entity->m_rdf_type = RDF_Type::int32_t; + n_entity->m_node_type = NodeType::Simple; + n_entity->m_address = base + offset; + n_entity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity); + + field_name = "occasion"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_ceremonyst, field_name)); + auto n_occasion = new NodeSimple; + n_occasion->m_field_name = field_name; + n_occasion->m_df_type = DF_Type::int32_t; + n_occasion->m_rdf_type = RDF_Type::int32_t; + n_occasion->m_node_type = NodeType::Simple; + n_occasion->m_address = base + offset; + n_occasion->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_occasion); + + field_name = "schedule"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_ceremonyst, field_name)); + auto n_schedule = new NodeSimple; + n_schedule->m_field_name = field_name; + n_schedule->m_df_type = DF_Type::int32_t; + n_schedule->m_rdf_type = RDF_Type::int32_t; + n_schedule->m_node_type = NodeType::Simple; + n_schedule->m_address = base + offset; + n_schedule->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_schedule); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_ceremonyst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "region"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_ceremonyst, field_name)); + auto n_region = new NodeSimple; + n_region->m_field_name = field_name; + n_region->m_df_type = DF_Type::int32_t; + n_region->m_rdf_type = RDF_Type::int32_t; + n_region->m_node_type = NodeType::Simple; + n_region->m_address = base + offset; + n_region->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region); + + field_name = "layer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_ceremonyst, field_name)); + auto n_layer = new NodeSimple; + n_layer->m_field_name = field_name; + n_layer->m_df_type = DF_Type::int32_t; + n_layer->m_rdf_type = RDF_Type::int32_t; + n_layer->m_node_type = NodeType::Simple; + n_layer->m_address = base + offset; + n_layer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_layer); + +} +void node_from_history_event_artifact_transformedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "new_artifact"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_transformedst, field_name)); + auto n_new_artifact = new NodeSimple; + n_new_artifact->m_field_name = field_name; + n_new_artifact->m_df_type = DF_Type::int32_t; + n_new_artifact->m_rdf_type = RDF_Type::int32_t; + n_new_artifact->m_node_type = NodeType::Simple; + n_new_artifact->m_address = base + offset; + n_new_artifact->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_new_artifact); + + field_name = "old_artifact"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_transformedst, field_name)); + auto n_old_artifact = new NodeVector; + n_old_artifact->m_field_name = field_name; + n_old_artifact->m_df_type = DF_Type::int32_t; + n_old_artifact->m_rdf_type = RDF_Type::Vector; + n_old_artifact->m_node_type = NodeType::Vector; + n_old_artifact->m_addornements = "v"; + n_old_artifact->m_address = base + offset; + n_old_artifact->m_parent = p_node_parent; + n_old_artifact->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_old_artifact); + + field_name = "unit"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_transformedst, field_name)); + auto n_unit = new NodeSimple; + n_unit->m_field_name = field_name; + n_unit->m_df_type = DF_Type::int32_t; + n_unit->m_rdf_type = RDF_Type::int32_t; + n_unit->m_node_type = NodeType::Simple; + n_unit->m_address = base + offset; + n_unit->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unit); + + field_name = "histfig"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_transformedst, field_name)); + auto n_histfig = new NodeSimple; + n_histfig->m_field_name = field_name; + n_histfig->m_df_type = DF_Type::int32_t; + n_histfig->m_rdf_type = RDF_Type::int32_t; + n_histfig->m_node_type = NodeType::Simple; + n_histfig->m_address = base + offset; + n_histfig->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_transformedst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + +} +void node_from_history_event_artifact_destroyedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "artifact"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_destroyedst, field_name)); + auto n_artifact = new NodeSimple; + n_artifact->m_field_name = field_name; + n_artifact->m_df_type = DF_Type::int32_t; + n_artifact->m_rdf_type = RDF_Type::int32_t; + n_artifact->m_node_type = NodeType::Simple; + n_artifact->m_address = base + offset; + n_artifact->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_artifact); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_destroyedst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "destroyer_hf"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_destroyedst, field_name)); + auto n_destroyer_hf = new NodeSimple; + n_destroyer_hf->m_field_name = field_name; + n_destroyer_hf->m_df_type = DF_Type::int32_t; + n_destroyer_hf->m_rdf_type = RDF_Type::int32_t; + n_destroyer_hf->m_node_type = NodeType::Simple; + n_destroyer_hf->m_address = base + offset; + n_destroyer_hf->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_destroyer_hf); + + field_name = "destroyer_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_destroyedst, field_name)); + auto n_destroyer_civ = new NodeSimple; + n_destroyer_civ->m_field_name = field_name; + n_destroyer_civ->m_df_type = DF_Type::int32_t; + n_destroyer_civ->m_rdf_type = RDF_Type::int32_t; + n_destroyer_civ->m_node_type = NodeType::Simple; + n_destroyer_civ->m_address = base + offset; + n_destroyer_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_destroyer_civ); + +} +void node_from_history_event_regionpop_incorporated_into_entityst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "pop_race"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_regionpop_incorporated_into_entityst, field_name)); + auto n_pop_race = new NodeSimple; + n_pop_race->m_field_name = field_name; + n_pop_race->m_df_type = DF_Type::int32_t; + n_pop_race->m_rdf_type = RDF_Type::int32_t; + n_pop_race->m_node_type = NodeType::Simple; + n_pop_race->m_address = base + offset; + n_pop_race->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pop_race); + + field_name = "number_moved"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_regionpop_incorporated_into_entityst, field_name)); + auto n_number_moved = new NodeSimple; + n_number_moved->m_field_name = field_name; + n_number_moved->m_df_type = DF_Type::int32_t; + n_number_moved->m_rdf_type = RDF_Type::int32_t; + n_number_moved->m_node_type = NodeType::Simple; + n_number_moved->m_address = base + offset; + n_number_moved->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_number_moved); + + field_name = "pop_region"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_regionpop_incorporated_into_entityst, field_name)); + auto n_pop_region = new NodeSimple; + n_pop_region->m_field_name = field_name; + n_pop_region->m_df_type = DF_Type::int32_t; + n_pop_region->m_rdf_type = RDF_Type::int32_t; + n_pop_region->m_node_type = NodeType::Simple; + n_pop_region->m_address = base + offset; + n_pop_region->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pop_region); + + field_name = "pop_layer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_regionpop_incorporated_into_entityst, field_name)); + auto n_pop_layer = new NodeSimple; + n_pop_layer->m_field_name = field_name; + n_pop_layer->m_df_type = DF_Type::int32_t; + n_pop_layer->m_rdf_type = RDF_Type::int32_t; + n_pop_layer->m_node_type = NodeType::Simple; + n_pop_layer->m_address = base + offset; + n_pop_layer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pop_layer); + + field_name = "join_entity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_regionpop_incorporated_into_entityst, field_name)); + auto n_join_entity = new NodeSimple; + n_join_entity->m_field_name = field_name; + n_join_entity->m_df_type = DF_Type::int32_t; + n_join_entity->m_rdf_type = RDF_Type::int32_t; + n_join_entity->m_node_type = NodeType::Simple; + n_join_entity->m_address = base + offset; + n_join_entity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_join_entity); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_regionpop_incorporated_into_entityst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + +} +void node_from_history_event_hf_act_on_artifactst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "action"; + auto n_action = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_act_on_artifactst, field_name)); + n_action->m_field_name = field_name; + n_action->m_df_type = DF_Type::history_event_hf_act_on_artifactst__T_action; + n_action->m_rdf_type = RDF_Type::Enum; + n_action->m_node_type = NodeType::Enum; + n_action->m_base_type = DF_Type::int32_t; + n_action->m_enum_type = "history_event_hf_act_on_artifactst::T_action"; + n_action->m_address = base + offset; + n_action->m_first_value = 0; + n_action->m_last_value = 1; + n_action->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_action); + + field_name = "artifact"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_act_on_artifactst, field_name)); + auto n_artifact = new NodeSimple; + n_artifact->m_field_name = field_name; + n_artifact->m_df_type = DF_Type::int32_t; + n_artifact->m_rdf_type = RDF_Type::int32_t; + n_artifact->m_node_type = NodeType::Simple; + n_artifact->m_address = base + offset; + n_artifact->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_artifact); + + field_name = "histfig"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_act_on_artifactst, field_name)); + auto n_histfig = new NodeSimple; + n_histfig->m_field_name = field_name; + n_histfig->m_df_type = DF_Type::int32_t; + n_histfig->m_rdf_type = RDF_Type::int32_t; + n_histfig->m_node_type = NodeType::Simple; + n_histfig->m_address = base + offset; + n_histfig->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_act_on_artifactst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "structure"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_act_on_artifactst, field_name)); + auto n_structure = new NodeSimple; + n_structure->m_field_name = field_name; + n_structure->m_df_type = DF_Type::int32_t; + n_structure->m_rdf_type = RDF_Type::int32_t; + n_structure->m_node_type = NodeType::Simple; + n_structure->m_address = base + offset; + n_structure->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_structure); + +} +void node_from_history_event_artifact_copiedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "artifact"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_copiedst, field_name)); + auto n_artifact = new NodeSimple; + n_artifact->m_field_name = field_name; + n_artifact->m_df_type = DF_Type::int32_t; + n_artifact->m_rdf_type = RDF_Type::int32_t; + n_artifact->m_node_type = NodeType::Simple; + n_artifact->m_address = base + offset; + n_artifact->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_artifact); + + field_name = "entity_dest"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_copiedst, field_name)); + auto n_entity_dest = new NodeSimple; + n_entity_dest->m_field_name = field_name; + n_entity_dest->m_df_type = DF_Type::int32_t; + n_entity_dest->m_rdf_type = RDF_Type::int32_t; + n_entity_dest->m_node_type = NodeType::Simple; + n_entity_dest->m_address = base + offset; + n_entity_dest->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity_dest); + + field_name = "entity_src"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_copiedst, field_name)); + auto n_entity_src = new NodeSimple; + n_entity_src->m_field_name = field_name; + n_entity_src->m_df_type = DF_Type::int32_t; + n_entity_src->m_rdf_type = RDF_Type::int32_t; + n_entity_src->m_node_type = NodeType::Simple; + n_entity_src->m_address = base + offset; + n_entity_src->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity_src); + + field_name = "site_dest"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_copiedst, field_name)); + auto n_site_dest = new NodeSimple; + n_site_dest->m_field_name = field_name; + n_site_dest->m_df_type = DF_Type::int32_t; + n_site_dest->m_rdf_type = RDF_Type::int32_t; + n_site_dest->m_node_type = NodeType::Simple; + n_site_dest->m_address = base + offset; + n_site_dest->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_dest); + + field_name = "site_src"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_copiedst, field_name)); + auto n_site_src = new NodeSimple; + n_site_src->m_field_name = field_name; + n_site_src->m_df_type = DF_Type::int32_t; + n_site_src->m_rdf_type = RDF_Type::int32_t; + n_site_src->m_node_type = NodeType::Simple; + n_site_src->m_address = base + offset; + n_site_src->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_src); + + field_name = "structure_dest"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_copiedst, field_name)); + auto n_structure_dest = new NodeSimple; + n_structure_dest->m_field_name = field_name; + n_structure_dest->m_df_type = DF_Type::int32_t; + n_structure_dest->m_rdf_type = RDF_Type::int32_t; + n_structure_dest->m_node_type = NodeType::Simple; + n_structure_dest->m_address = base + offset; + n_structure_dest->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_structure_dest); + + field_name = "structure_src"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_copiedst, field_name)); + auto n_structure_src = new NodeSimple; + n_structure_src->m_field_name = field_name; + n_structure_src->m_df_type = DF_Type::int32_t; + n_structure_src->m_rdf_type = RDF_Type::int32_t; + n_structure_src->m_node_type = NodeType::Simple; + n_structure_src->m_address = base + offset; + n_structure_src->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_structure_src); + + field_name = "flags2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_copiedst, field_name)); + auto n_flags2 = new NodeBitfield; + n_flags2->m_field_name = field_name; + n_flags2->m_df_type = DF_Type::history_event_artifact_copiedst__T_flags2; + n_flags2->m_rdf_type = RDF_Type::Bitfield; + n_flags2->m_node_type = NodeType::Bitfield; + n_flags2->m_address = base + offset; + n_flags2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags2); + +} +void node_from_history_event_sneak_into_sitest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "attacker_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_sneak_into_sitest, field_name)); + auto n_attacker_civ = new NodeSimple; + n_attacker_civ->m_field_name = field_name; + n_attacker_civ->m_df_type = DF_Type::int32_t; + n_attacker_civ->m_rdf_type = RDF_Type::int32_t; + n_attacker_civ->m_node_type = NodeType::Simple; + n_attacker_civ->m_address = base + offset; + n_attacker_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_attacker_civ); + + field_name = "defender_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_sneak_into_sitest, field_name)); + auto n_defender_civ = new NodeSimple; + n_defender_civ->m_field_name = field_name; + n_defender_civ->m_df_type = DF_Type::int32_t; + n_defender_civ->m_rdf_type = RDF_Type::int32_t; + n_defender_civ->m_node_type = NodeType::Simple; + n_defender_civ->m_address = base + offset; + n_defender_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_defender_civ); + + field_name = "site_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_sneak_into_sitest, field_name)); + auto n_site_civ = new NodeSimple; + n_site_civ->m_field_name = field_name; + n_site_civ->m_df_type = DF_Type::int32_t; + n_site_civ->m_rdf_type = RDF_Type::int32_t; + n_site_civ->m_node_type = NodeType::Simple; + n_site_civ->m_address = base + offset; + n_site_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_civ); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_sneak_into_sitest, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + +} +void node_from_history_event_spotted_leaving_sitest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "spotter_hf"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_spotted_leaving_sitest, field_name)); + auto n_spotter_hf = new NodeSimple; + n_spotter_hf->m_field_name = field_name; + n_spotter_hf->m_df_type = DF_Type::int32_t; + n_spotter_hf->m_rdf_type = RDF_Type::int32_t; + n_spotter_hf->m_node_type = NodeType::Simple; + n_spotter_hf->m_address = base + offset; + n_spotter_hf->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_spotter_hf); + + field_name = "leaver_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_spotted_leaving_sitest, field_name)); + auto n_leaver_civ = new NodeSimple; + n_leaver_civ->m_field_name = field_name; + n_leaver_civ->m_df_type = DF_Type::int32_t; + n_leaver_civ->m_rdf_type = RDF_Type::int32_t; + n_leaver_civ->m_node_type = NodeType::Simple; + n_leaver_civ->m_address = base + offset; + n_leaver_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_leaver_civ); + + field_name = "site_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_spotted_leaving_sitest, field_name)); + auto n_site_civ = new NodeSimple; + n_site_civ->m_field_name = field_name; + n_site_civ->m_df_type = DF_Type::int32_t; + n_site_civ->m_rdf_type = RDF_Type::int32_t; + n_site_civ->m_node_type = NodeType::Simple; + n_site_civ->m_address = base + offset; + n_site_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_civ); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_spotted_leaving_sitest, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + +} +void node_from_history_event_entity_searched_sitest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "searcher_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_entity_searched_sitest, field_name)); + auto n_searcher_civ = new NodeSimple; + n_searcher_civ->m_field_name = field_name; + n_searcher_civ->m_df_type = DF_Type::int32_t; + n_searcher_civ->m_rdf_type = RDF_Type::int32_t; + n_searcher_civ->m_node_type = NodeType::Simple; + n_searcher_civ->m_address = base + offset; + n_searcher_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_searcher_civ); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_entity_searched_sitest, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "result"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_entity_searched_sitest, field_name)); + auto n_result = new NodeSimple; + n_result->m_field_name = field_name; + n_result->m_df_type = DF_Type::int32_t; + n_result->m_rdf_type = RDF_Type::int32_t; + n_result->m_node_type = NodeType::Simple; + n_result->m_address = base + offset; + n_result->m_comment = "0 = found nothing"; + n_result->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_result); + +} +void node_from_history_event_hf_freedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "freeing_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_freedst, field_name)); + auto n_freeing_civ = new NodeSimple; + n_freeing_civ->m_field_name = field_name; + n_freeing_civ->m_df_type = DF_Type::int32_t; + n_freeing_civ->m_rdf_type = RDF_Type::int32_t; + n_freeing_civ->m_node_type = NodeType::Simple; + n_freeing_civ->m_address = base + offset; + n_freeing_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_freeing_civ); + + field_name = "freeing_hf"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_freedst, field_name)); + auto n_freeing_hf = new NodeSimple; + n_freeing_hf->m_field_name = field_name; + n_freeing_hf->m_df_type = DF_Type::int32_t; + n_freeing_hf->m_rdf_type = RDF_Type::int32_t; + n_freeing_hf->m_node_type = NodeType::Simple; + n_freeing_hf->m_address = base + offset; + n_freeing_hf->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_freeing_hf); + + field_name = "holding_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_freedst, field_name)); + auto n_holding_civ = new NodeSimple; + n_holding_civ->m_field_name = field_name; + n_holding_civ->m_df_type = DF_Type::int32_t; + n_holding_civ->m_rdf_type = RDF_Type::int32_t; + n_holding_civ->m_node_type = NodeType::Simple; + n_holding_civ->m_address = base + offset; + n_holding_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_holding_civ); + + field_name = "site_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_freedst, field_name)); + auto n_site_civ = new NodeSimple; + n_site_civ->m_field_name = field_name; + n_site_civ->m_df_type = DF_Type::int32_t; + n_site_civ->m_rdf_type = RDF_Type::int32_t; + n_site_civ->m_node_type = NodeType::Simple; + n_site_civ->m_address = base + offset; + n_site_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_civ); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_freedst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "rescued_hfs"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_freedst, field_name)); + auto n_rescued_hfs = new NodeVector; + n_rescued_hfs->m_field_name = field_name; + n_rescued_hfs->m_df_type = DF_Type::int32_t; + n_rescued_hfs->m_rdf_type = RDF_Type::Vector; + n_rescued_hfs->m_node_type = NodeType::Vector; + n_rescued_hfs->m_addornements = "v"; + n_rescued_hfs->m_address = base + offset; + n_rescued_hfs->m_parent = p_node_parent; + n_rescued_hfs->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_rescued_hfs); + +} +void node_from_history_event_hist_figure_simple_actionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "group_hfs"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_simple_actionst, field_name)); + auto n_group_hfs = new NodeVector; + n_group_hfs->m_field_name = field_name; + n_group_hfs->m_df_type = DF_Type::int32_t; + n_group_hfs->m_rdf_type = RDF_Type::Vector; + n_group_hfs->m_node_type = NodeType::Vector; + n_group_hfs->m_addornements = "v"; + n_group_hfs->m_address = base + offset; + n_group_hfs->m_parent = p_node_parent; + n_group_hfs->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_group_hfs); + + field_name = "type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_simple_actionst, field_name)); + auto n_type = new NodeSimple; + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::int32_t; + n_type->m_rdf_type = RDF_Type::int32_t; + n_type->m_node_type = NodeType::Simple; + n_type->m_address = base + offset; + n_type->m_comment = "0 = hf carouse"; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_simple_actionst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "structure"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_simple_actionst, field_name)); + auto n_structure = new NodeSimple; + n_structure->m_field_name = field_name; + n_structure->m_df_type = DF_Type::int32_t; + n_structure->m_rdf_type = RDF_Type::int32_t; + n_structure->m_node_type = NodeType::Simple; + n_structure->m_address = base + offset; + n_structure->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_structure); + + field_name = "region"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_simple_actionst, field_name)); + auto n_region = new NodeSimple; + n_region->m_field_name = field_name; + n_region->m_df_type = DF_Type::int32_t; + n_region->m_rdf_type = RDF_Type::int32_t; + n_region->m_node_type = NodeType::Simple; + n_region->m_address = base + offset; + n_region->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region); + + field_name = "layer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_simple_actionst, field_name)); + auto n_layer = new NodeSimple; + n_layer->m_field_name = field_name; + n_layer->m_df_type = DF_Type::int32_t; + n_layer->m_rdf_type = RDF_Type::int32_t; + n_layer->m_node_type = NodeType::Simple; + n_layer->m_address = base + offset; + n_layer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_layer); + +} +void node_from_history_event_entity_rampaged_in_sitest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "rampage_civ_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_entity_rampaged_in_sitest, field_name)); + auto n_rampage_civ_id = new NodeSimple; + n_rampage_civ_id->m_field_name = field_name; + n_rampage_civ_id->m_df_type = DF_Type::int32_t; + n_rampage_civ_id->m_rdf_type = RDF_Type::int32_t; + n_rampage_civ_id->m_node_type = NodeType::Simple; + n_rampage_civ_id->m_address = base + offset; + n_rampage_civ_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rampage_civ_id); + + field_name = "site_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_entity_rampaged_in_sitest, field_name)); + auto n_site_id = new NodeSimple; + n_site_id->m_field_name = field_name; + n_site_id->m_df_type = DF_Type::int32_t; + n_site_id->m_rdf_type = RDF_Type::int32_t; + n_site_id->m_node_type = NodeType::Simple; + n_site_id->m_address = base + offset; + n_site_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_id); + +} +void node_from_history_event_entity_fled_sitest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "fled_civ_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_entity_fled_sitest, field_name)); + auto n_fled_civ_id = new NodeSimple; + n_fled_civ_id->m_field_name = field_name; + n_fled_civ_id->m_df_type = DF_Type::int32_t; + n_fled_civ_id->m_rdf_type = RDF_Type::int32_t; + n_fled_civ_id->m_node_type = NodeType::Simple; + n_fled_civ_id->m_address = base + offset; + n_fled_civ_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_fled_civ_id); + + field_name = "site_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_entity_fled_sitest, field_name)); + auto n_site_id = new NodeSimple; + n_site_id->m_field_name = field_name; + n_site_id->m_df_type = DF_Type::int32_t; + n_site_id->m_rdf_type = RDF_Type::int32_t; + n_site_id->m_node_type = NodeType::Simple; + n_site_id->m_address = base + offset; + n_site_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_id); + +} +void node_from_tactical_situation(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_history_event_squad_vs_squadst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "a_leader_hfid"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_squad_vs_squadst, field_name)); + auto n_a_leader_hfid = new NodeSimple; + n_a_leader_hfid->m_field_name = field_name; + n_a_leader_hfid->m_df_type = DF_Type::int32_t; + n_a_leader_hfid->m_rdf_type = RDF_Type::int32_t; + n_a_leader_hfid->m_node_type = NodeType::Simple; + n_a_leader_hfid->m_address = base + offset; + n_a_leader_hfid->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_a_leader_hfid); + + field_name = "a_leadership_roll"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_squad_vs_squadst, field_name)); + auto n_a_leadership_roll = new NodeSimple; + n_a_leadership_roll->m_field_name = field_name; + n_a_leadership_roll->m_df_type = DF_Type::int32_t; + n_a_leadership_roll->m_rdf_type = RDF_Type::int32_t; + n_a_leadership_roll->m_node_type = NodeType::Simple; + n_a_leadership_roll->m_address = base + offset; + n_a_leadership_roll->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_a_leadership_roll); + + field_name = "a_hfid"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_squad_vs_squadst, field_name)); + auto n_a_hfid = new NodeVector; + n_a_hfid->m_field_name = field_name; + n_a_hfid->m_df_type = DF_Type::int32_t; + n_a_hfid->m_rdf_type = RDF_Type::Vector; + n_a_hfid->m_node_type = NodeType::Vector; + n_a_hfid->m_addornements = "v"; + n_a_hfid->m_address = base + offset; + n_a_hfid->m_parent = p_node_parent; + n_a_hfid->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_a_hfid); + + field_name = "a_squad_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_squad_vs_squadst, field_name)); + auto n_a_squad_id = new NodeSimple; + n_a_squad_id->m_field_name = field_name; + n_a_squad_id->m_df_type = DF_Type::int32_t; + n_a_squad_id->m_rdf_type = RDF_Type::int32_t; + n_a_squad_id->m_node_type = NodeType::Simple; + n_a_squad_id->m_address = base + offset; + n_a_squad_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_a_squad_id); + + field_name = "a_race"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_squad_vs_squadst, field_name)); + auto n_a_race = new NodeSimple; + n_a_race->m_field_name = field_name; + n_a_race->m_df_type = DF_Type::int32_t; + n_a_race->m_rdf_type = RDF_Type::int32_t; + n_a_race->m_node_type = NodeType::Simple; + n_a_race->m_address = base + offset; + n_a_race->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_a_race); + + field_name = "a_interaction"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_squad_vs_squadst, field_name)); + auto n_a_interaction = new NodeSimple; + n_a_interaction->m_field_name = field_name; + n_a_interaction->m_df_type = DF_Type::int32_t; + n_a_interaction->m_rdf_type = RDF_Type::int32_t; + n_a_interaction->m_node_type = NodeType::Simple; + n_a_interaction->m_address = base + offset; + n_a_interaction->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_a_interaction); + + field_name = "a_effect"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_squad_vs_squadst, field_name)); + auto n_a_effect = new NodeSimple; + n_a_effect->m_field_name = field_name; + n_a_effect->m_df_type = DF_Type::int32_t; + n_a_effect->m_rdf_type = RDF_Type::int32_t; + n_a_effect->m_node_type = NodeType::Simple; + n_a_effect->m_address = base + offset; + n_a_effect->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_a_effect); + + field_name = "a_number"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_squad_vs_squadst, field_name)); + auto n_a_number = new NodeSimple; + n_a_number->m_field_name = field_name; + n_a_number->m_df_type = DF_Type::int32_t; + n_a_number->m_rdf_type = RDF_Type::int32_t; + n_a_number->m_node_type = NodeType::Simple; + n_a_number->m_address = base + offset; + n_a_number->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_a_number); + + field_name = "a_slain"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_squad_vs_squadst, field_name)); + auto n_a_slain = new NodeSimple; + n_a_slain->m_field_name = field_name; + n_a_slain->m_df_type = DF_Type::int32_t; + n_a_slain->m_rdf_type = RDF_Type::int32_t; + n_a_slain->m_node_type = NodeType::Simple; + n_a_slain->m_address = base + offset; + n_a_slain->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_a_slain); + + field_name = "d_leader_hfid"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_squad_vs_squadst, field_name)); + auto n_d_leader_hfid = new NodeSimple; + n_d_leader_hfid->m_field_name = field_name; + n_d_leader_hfid->m_df_type = DF_Type::int32_t; + n_d_leader_hfid->m_rdf_type = RDF_Type::int32_t; + n_d_leader_hfid->m_node_type = NodeType::Simple; + n_d_leader_hfid->m_address = base + offset; + n_d_leader_hfid->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_d_leader_hfid); + + field_name = "d_leadership_roll"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_squad_vs_squadst, field_name)); + auto n_d_leadership_roll = new NodeSimple; + n_d_leadership_roll->m_field_name = field_name; + n_d_leadership_roll->m_df_type = DF_Type::int32_t; + n_d_leadership_roll->m_rdf_type = RDF_Type::int32_t; + n_d_leadership_roll->m_node_type = NodeType::Simple; + n_d_leadership_roll->m_address = base + offset; + n_d_leadership_roll->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_d_leadership_roll); + + field_name = "d_hfid"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_squad_vs_squadst, field_name)); + auto n_d_hfid = new NodeVector; + n_d_hfid->m_field_name = field_name; + n_d_hfid->m_df_type = DF_Type::int32_t; + n_d_hfid->m_rdf_type = RDF_Type::Vector; + n_d_hfid->m_node_type = NodeType::Vector; + n_d_hfid->m_addornements = "v"; + n_d_hfid->m_address = base + offset; + n_d_hfid->m_parent = p_node_parent; + n_d_hfid->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_d_hfid); + + field_name = "d_squad_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_squad_vs_squadst, field_name)); + auto n_d_squad_id = new NodeSimple; + n_d_squad_id->m_field_name = field_name; + n_d_squad_id->m_df_type = DF_Type::int32_t; + n_d_squad_id->m_rdf_type = RDF_Type::int32_t; + n_d_squad_id->m_node_type = NodeType::Simple; + n_d_squad_id->m_address = base + offset; + n_d_squad_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_d_squad_id); + + field_name = "d_race"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_squad_vs_squadst, field_name)); + auto n_d_race = new NodeSimple; + n_d_race->m_field_name = field_name; + n_d_race->m_df_type = DF_Type::int32_t; + n_d_race->m_rdf_type = RDF_Type::int32_t; + n_d_race->m_node_type = NodeType::Simple; + n_d_race->m_address = base + offset; + n_d_race->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_d_race); + + field_name = "d_interaction"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_squad_vs_squadst, field_name)); + auto n_d_interaction = new NodeSimple; + n_d_interaction->m_field_name = field_name; + n_d_interaction->m_df_type = DF_Type::int32_t; + n_d_interaction->m_rdf_type = RDF_Type::int32_t; + n_d_interaction->m_node_type = NodeType::Simple; + n_d_interaction->m_address = base + offset; + n_d_interaction->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_d_interaction); + + field_name = "d_effect"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_squad_vs_squadst, field_name)); + auto n_d_effect = new NodeSimple; + n_d_effect->m_field_name = field_name; + n_d_effect->m_df_type = DF_Type::int32_t; + n_d_effect->m_rdf_type = RDF_Type::int32_t; + n_d_effect->m_node_type = NodeType::Simple; + n_d_effect->m_address = base + offset; + n_d_effect->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_d_effect); + + field_name = "d_number"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_squad_vs_squadst, field_name)); + auto n_d_number = new NodeSimple; + n_d_number->m_field_name = field_name; + n_d_number->m_df_type = DF_Type::int32_t; + n_d_number->m_rdf_type = RDF_Type::int32_t; + n_d_number->m_node_type = NodeType::Simple; + n_d_number->m_address = base + offset; + n_d_number->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_d_number); + + field_name = "d_slain"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_squad_vs_squadst, field_name)); + auto n_d_slain = new NodeSimple; + n_d_slain->m_field_name = field_name; + n_d_slain->m_df_type = DF_Type::int32_t; + n_d_slain->m_rdf_type = RDF_Type::int32_t; + n_d_slain->m_node_type = NodeType::Simple; + n_d_slain->m_address = base + offset; + n_d_slain->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_d_slain); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_squad_vs_squadst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "structure"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_squad_vs_squadst, field_name)); + auto n_structure = new NodeSimple; + n_structure->m_field_name = field_name; + n_structure->m_df_type = DF_Type::int32_t; + n_structure->m_rdf_type = RDF_Type::int32_t; + n_structure->m_node_type = NodeType::Simple; + n_structure->m_address = base + offset; + n_structure->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_structure); + + field_name = "subregion"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_squad_vs_squadst, field_name)); + auto n_subregion = new NodeSimple; + n_subregion->m_field_name = field_name; + n_subregion->m_df_type = DF_Type::int32_t; + n_subregion->m_rdf_type = RDF_Type::int32_t; + n_subregion->m_node_type = NodeType::Simple; + n_subregion->m_address = base + offset; + n_subregion->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_subregion); + + field_name = "feature_layer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_squad_vs_squadst, field_name)); + auto n_feature_layer = new NodeSimple; + n_feature_layer->m_field_name = field_name; + n_feature_layer->m_df_type = DF_Type::int32_t; + n_feature_layer->m_rdf_type = RDF_Type::int32_t; + n_feature_layer->m_node_type = NodeType::Simple; + n_feature_layer->m_address = base + offset; + n_feature_layer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_feature_layer); + +} +void node_from_history_event_collection_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_history_event_collection(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "events"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection, field_name)); + auto n_events = new NodeVector; + n_events->m_field_name = field_name; + n_events->m_df_type = DF_Type::int32_t; + n_events->m_rdf_type = RDF_Type::Vector; + n_events->m_node_type = NodeType::Vector; + n_events->m_addornements = "v"; + n_events->m_address = base + offset; + n_events->m_parent = p_node_parent; + n_events->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_events); + + field_name = "collections"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection, field_name)); + auto n_collections = new NodeVector; + n_collections->m_field_name = field_name; + n_collections->m_df_type = DF_Type::int32_t; + n_collections->m_rdf_type = RDF_Type::Vector; + n_collections->m_node_type = NodeType::Vector; + n_collections->m_addornements = "v"; + n_collections->m_address = base + offset; + n_collections->m_parent = p_node_parent; + n_collections->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_collections); + + field_name = "start_year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection, field_name)); + auto n_start_year = new NodeSimple; + n_start_year->m_field_name = field_name; + n_start_year->m_df_type = DF_Type::int32_t; + n_start_year->m_rdf_type = RDF_Type::int32_t; + n_start_year->m_node_type = NodeType::Simple; + n_start_year->m_address = base + offset; + n_start_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_start_year); + + field_name = "end_year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection, field_name)); + auto n_end_year = new NodeSimple; + n_end_year->m_field_name = field_name; + n_end_year->m_df_type = DF_Type::int32_t; + n_end_year->m_rdf_type = RDF_Type::int32_t; + n_end_year->m_node_type = NodeType::Simple; + n_end_year->m_address = base + offset; + n_end_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_end_year); + + field_name = "start_seconds"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection, field_name)); + auto n_start_seconds = new NodeSimple; + n_start_seconds->m_field_name = field_name; + n_start_seconds->m_df_type = DF_Type::int32_t; + n_start_seconds->m_rdf_type = RDF_Type::int32_t; + n_start_seconds->m_node_type = NodeType::Simple; + n_start_seconds->m_address = base + offset; + n_start_seconds->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_start_seconds); + + field_name = "end_seconds"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection, field_name)); + auto n_end_seconds = new NodeSimple; + n_end_seconds->m_field_name = field_name; + n_end_seconds->m_df_type = DF_Type::int32_t; + n_end_seconds->m_rdf_type = RDF_Type::int32_t; + n_end_seconds->m_node_type = NodeType::Simple; + n_end_seconds->m_address = base + offset; + n_end_seconds->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_end_seconds); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection, field_name)); + auto n_flags = new NodeDFFlagArray; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::int32_t; + n_flags->m_size = 32; + n_flags->m_rdf_type = RDF_Type::DFFlagArray; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + +} +void node_from_history_event_collection_site_conqueredst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event_collection; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event_collection(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "parent_collection"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_site_conqueredst, field_name)); + auto n_parent_collection = new NodeSimple; + n_parent_collection->m_field_name = field_name; + n_parent_collection->m_df_type = DF_Type::int32_t; + n_parent_collection->m_rdf_type = RDF_Type::int32_t; + n_parent_collection->m_node_type = NodeType::Simple; + n_parent_collection->m_address = base + offset; + n_parent_collection->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_parent_collection); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_site_conqueredst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "attacker_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_site_conqueredst, field_name)); + auto n_attacker_civ = new NodeVector; + n_attacker_civ->m_field_name = field_name; + n_attacker_civ->m_df_type = DF_Type::int32_t; + n_attacker_civ->m_rdf_type = RDF_Type::Vector; + n_attacker_civ->m_node_type = NodeType::Vector; + n_attacker_civ->m_addornements = "v"; + n_attacker_civ->m_address = base + offset; + n_attacker_civ->m_parent = p_node_parent; + n_attacker_civ->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_attacker_civ); + + field_name = "defender_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_site_conqueredst, field_name)); + auto n_defender_civ = new NodeVector; + n_defender_civ->m_field_name = field_name; + n_defender_civ->m_df_type = DF_Type::int32_t; + n_defender_civ->m_rdf_type = RDF_Type::Vector; + n_defender_civ->m_node_type = NodeType::Vector; + n_defender_civ->m_addornements = "v"; + n_defender_civ->m_address = base + offset; + n_defender_civ->m_parent = p_node_parent; + n_defender_civ->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_defender_civ); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_site_conqueredst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int16_t; + n_anon_1->m_rdf_type = RDF_Type::int16_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_comment = "uninitialized"; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "ordinal"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_site_conqueredst, field_name)); + auto n_ordinal = new NodeSimple; + n_ordinal->m_field_name = field_name; + n_ordinal->m_df_type = DF_Type::int32_t; + n_ordinal->m_rdf_type = RDF_Type::int32_t; + n_ordinal->m_node_type = NodeType::Simple; + n_ordinal->m_address = base + offset; + n_ordinal->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ordinal); + +} +void node_from_history_event_collection_journeyst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event_collection; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event_collection(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "traveler_hf"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_journeyst, field_name)); + auto n_traveler_hf = new NodeVector; + n_traveler_hf->m_field_name = field_name; + n_traveler_hf->m_df_type = DF_Type::int32_t; + n_traveler_hf->m_rdf_type = RDF_Type::Vector; + n_traveler_hf->m_node_type = NodeType::Vector; + n_traveler_hf->m_addornements = "v"; + n_traveler_hf->m_address = base + offset; + n_traveler_hf->m_parent = p_node_parent; + n_traveler_hf->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_traveler_hf); + + field_name = "ordinal"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_journeyst, field_name)); + auto n_ordinal = new NodeSimple; + n_ordinal->m_field_name = field_name; + n_ordinal->m_df_type = DF_Type::int32_t; + n_ordinal->m_rdf_type = RDF_Type::int32_t; + n_ordinal->m_node_type = NodeType::Simple; + n_ordinal->m_address = base + offset; + n_ordinal->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ordinal); + +} +void node_from_history_event_collection_insurrectionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event_collection; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event_collection(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_insurrectionst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "target_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_insurrectionst, field_name)); + auto n_target_civ = new NodeSimple; + n_target_civ->m_field_name = field_name; + n_target_civ->m_df_type = DF_Type::int32_t; + n_target_civ->m_rdf_type = RDF_Type::int32_t; + n_target_civ->m_node_type = NodeType::Simple; + n_target_civ->m_address = base + offset; + n_target_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_target_civ); + + field_name = "ordinal"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_insurrectionst, field_name)); + auto n_ordinal = new NodeSimple; + n_ordinal->m_field_name = field_name; + n_ordinal->m_df_type = DF_Type::int32_t; + n_ordinal->m_rdf_type = RDF_Type::int32_t; + n_ordinal->m_node_type = NodeType::Simple; + n_ordinal->m_address = base + offset; + n_ordinal->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ordinal); + +} +void node_from_history_event_collection_occasionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event_collection; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event_collection(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_occasionst, field_name)); + auto n_civ = new NodeSimple; + n_civ->m_field_name = field_name; + n_civ->m_df_type = DF_Type::int32_t; + n_civ->m_rdf_type = RDF_Type::int32_t; + n_civ->m_node_type = NodeType::Simple; + n_civ->m_address = base + offset; + n_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_civ); + + field_name = "occasion"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_occasionst, field_name)); + auto n_occasion = new NodeSimple; + n_occasion->m_field_name = field_name; + n_occasion->m_df_type = DF_Type::int32_t; + n_occasion->m_rdf_type = RDF_Type::int32_t; + n_occasion->m_node_type = NodeType::Simple; + n_occasion->m_address = base + offset; + n_occasion->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_occasion); + + field_name = "ordinal"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_occasionst, field_name)); + auto n_ordinal = new NodeSimple; + n_ordinal->m_field_name = field_name; + n_ordinal->m_df_type = DF_Type::int32_t; + n_ordinal->m_rdf_type = RDF_Type::int32_t; + n_ordinal->m_node_type = NodeType::Simple; + n_ordinal->m_address = base + offset; + n_ordinal->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ordinal); + +} +void node_from_history_event_collection_performancest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event_collection; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event_collection(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_performancest, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_performancest, field_name)); + auto n_civ = new NodeSimple; + n_civ->m_field_name = field_name; + n_civ->m_df_type = DF_Type::int32_t; + n_civ->m_rdf_type = RDF_Type::int32_t; + n_civ->m_node_type = NodeType::Simple; + n_civ->m_address = base + offset; + n_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_civ); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_performancest, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_performancest, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "ordinal"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_performancest, field_name)); + auto n_ordinal = new NodeSimple; + n_ordinal->m_field_name = field_name; + n_ordinal->m_df_type = DF_Type::int32_t; + n_ordinal->m_rdf_type = RDF_Type::int32_t; + n_ordinal->m_node_type = NodeType::Simple; + n_ordinal->m_address = base + offset; + n_ordinal->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ordinal); + +} +void node_from_history_event_collection_competitionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event_collection; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event_collection(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_competitionst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_competitionst, field_name)); + auto n_civ = new NodeSimple; + n_civ->m_field_name = field_name; + n_civ->m_df_type = DF_Type::int32_t; + n_civ->m_rdf_type = RDF_Type::int32_t; + n_civ->m_node_type = NodeType::Simple; + n_civ->m_address = base + offset; + n_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_civ); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_competitionst, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_competitionst, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "ordinal"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_competitionst, field_name)); + auto n_ordinal = new NodeSimple; + n_ordinal->m_field_name = field_name; + n_ordinal->m_df_type = DF_Type::int32_t; + n_ordinal->m_rdf_type = RDF_Type::int32_t; + n_ordinal->m_node_type = NodeType::Simple; + n_ordinal->m_address = base + offset; + n_ordinal->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ordinal); + +} +void node_from_history_event_collection_processionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event_collection; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event_collection(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_processionst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_processionst, field_name)); + auto n_civ = new NodeSimple; + n_civ->m_field_name = field_name; + n_civ->m_df_type = DF_Type::int32_t; + n_civ->m_rdf_type = RDF_Type::int32_t; + n_civ->m_node_type = NodeType::Simple; + n_civ->m_address = base + offset; + n_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_civ); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_processionst, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_processionst, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "ordinal"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_processionst, field_name)); + auto n_ordinal = new NodeSimple; + n_ordinal->m_field_name = field_name; + n_ordinal->m_df_type = DF_Type::int32_t; + n_ordinal->m_rdf_type = RDF_Type::int32_t; + n_ordinal->m_node_type = NodeType::Simple; + n_ordinal->m_address = base + offset; + n_ordinal->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ordinal); + +} +void node_from_history_event_collection_ceremonyst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event_collection; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event_collection(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_ceremonyst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_ceremonyst, field_name)); + auto n_civ = new NodeSimple; + n_civ->m_field_name = field_name; + n_civ->m_df_type = DF_Type::int32_t; + n_civ->m_rdf_type = RDF_Type::int32_t; + n_civ->m_node_type = NodeType::Simple; + n_civ->m_address = base + offset; + n_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_civ); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_ceremonyst, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_ceremonyst, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "ordinal"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_ceremonyst, field_name)); + auto n_ordinal = new NodeSimple; + n_ordinal->m_field_name = field_name; + n_ordinal->m_df_type = DF_Type::int32_t; + n_ordinal->m_rdf_type = RDF_Type::int32_t; + n_ordinal->m_node_type = NodeType::Simple; + n_ordinal->m_address = base + offset; + n_ordinal->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ordinal); + +} +void node_from_history_event_collection_purgest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event_collection; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event_collection(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_purgest, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "adjective"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_purgest, field_name)); + auto n_adjective = new NodeSimple; + n_adjective->m_field_name = field_name; + n_adjective->m_df_type = DF_Type::Stl_string; + n_adjective->m_rdf_type = RDF_Type::Stl_string; + n_adjective->m_node_type = NodeType::Simple; + n_adjective->m_address = base + offset; + n_adjective->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_adjective); + + field_name = "ordinal"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_purgest, field_name)); + auto n_ordinal = new NodeSimple; + n_ordinal->m_field_name = field_name; + n_ordinal->m_df_type = DF_Type::int32_t; + n_ordinal->m_rdf_type = RDF_Type::int32_t; + n_ordinal->m_node_type = NodeType::Simple; + n_ordinal->m_address = base + offset; + n_ordinal->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ordinal); + +} +void node_from_era_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_init_display_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_init_media_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_init_media(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "flag"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_media, field_name)); + auto n_flag = new NodeDFFlagArray; + n_flag->m_field_name = field_name; + n_flag->m_index_enum = DF_Type::init_media_flags; + n_flag->m_df_type = DF_Type::init_media_flags; + n_flag->m_size = 3; + n_flag->m_rdf_type = RDF_Type::DFFlagArray; + n_flag->m_node_type = NodeType::Bitfield; + n_flag->m_address = base + offset; + n_flag->m_defined_in = "df.init.xml"; + n_flag->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flag); + + field_name = "volume"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_media, field_name)); + auto n_volume = new NodeSimple; + n_volume->m_field_name = field_name; + n_volume->m_df_type = DF_Type::int32_t; + n_volume->m_rdf_type = RDF_Type::int32_t; + n_volume->m_node_type = NodeType::Simple; + n_volume->m_address = base + offset; + n_volume->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_volume); + +} +void node_from_init_input_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_init_input(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "hold_time"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_input, field_name)); + auto n_hold_time = new NodeSimple; + n_hold_time->m_field_name = field_name; + n_hold_time->m_df_type = DF_Type::Long; + n_hold_time->m_rdf_type = RDF_Type::Long; + n_hold_time->m_node_type = NodeType::Simple; + n_hold_time->m_address = base + offset; + n_hold_time->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_hold_time); + + field_name = "repeat_time"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_input, field_name)); + auto n_repeat_time = new NodeSimple; + n_repeat_time->m_field_name = field_name; + n_repeat_time->m_df_type = DF_Type::Long; + n_repeat_time->m_rdf_type = RDF_Type::Long; + n_repeat_time->m_node_type = NodeType::Simple; + n_repeat_time->m_address = base + offset; + n_repeat_time->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_repeat_time); + + field_name = "macro_time"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_input, field_name)); + auto n_macro_time = new NodeSimple; + n_macro_time->m_field_name = field_name; + n_macro_time->m_df_type = DF_Type::Long; + n_macro_time->m_rdf_type = RDF_Type::Long; + n_macro_time->m_node_type = NodeType::Simple; + n_macro_time->m_address = base + offset; + n_macro_time->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_macro_time); + + field_name = "pause_zoom_no_interface_ms"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_input, field_name)); + auto n_pause_zoom_no_interface_ms = new NodeSimple; + n_pause_zoom_no_interface_ms->m_field_name = field_name; + n_pause_zoom_no_interface_ms->m_df_type = DF_Type::Long; + n_pause_zoom_no_interface_ms->m_rdf_type = RDF_Type::Long; + n_pause_zoom_no_interface_ms->m_node_type = NodeType::Simple; + n_pause_zoom_no_interface_ms->m_address = base + offset; + n_pause_zoom_no_interface_ms->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pause_zoom_no_interface_ms); + + field_name = "flag"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_input, field_name)); + auto n_flag = new NodeDFFlagArray; + n_flag->m_field_name = field_name; + n_flag->m_index_enum = DF_Type::init_input_flags; + n_flag->m_df_type = DF_Type::init_input_flags; + n_flag->m_size = 2; + n_flag->m_rdf_type = RDF_Type::DFFlagArray; + n_flag->m_node_type = NodeType::Bitfield; + n_flag->m_address = base + offset; + n_flag->m_defined_in = "df.init.xml"; + n_flag->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flag); + + field_name = "zoom_speed"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_input, field_name)); + auto n_zoom_speed = new NodeSimple; + n_zoom_speed->m_field_name = field_name; + n_zoom_speed->m_df_type = DF_Type::Long; + n_zoom_speed->m_rdf_type = RDF_Type::Long; + n_zoom_speed->m_node_type = NodeType::Simple; + n_zoom_speed->m_address = base + offset; + n_zoom_speed->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_zoom_speed); + + field_name = "repeat_accel_start"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_input, field_name)); + auto n_repeat_accel_start = new NodeSimple; + n_repeat_accel_start->m_field_name = field_name; + n_repeat_accel_start->m_df_type = DF_Type::int32_t; + n_repeat_accel_start->m_rdf_type = RDF_Type::int32_t; + n_repeat_accel_start->m_node_type = NodeType::Simple; + n_repeat_accel_start->m_address = base + offset; + n_repeat_accel_start->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_repeat_accel_start); + + field_name = "repeat_accel_limit"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_input, field_name)); + auto n_repeat_accel_limit = new NodeSimple; + n_repeat_accel_limit->m_field_name = field_name; + n_repeat_accel_limit->m_df_type = DF_Type::int32_t; + n_repeat_accel_limit->m_rdf_type = RDF_Type::int32_t; + n_repeat_accel_limit->m_node_type = NodeType::Simple; + n_repeat_accel_limit->m_address = base + offset; + n_repeat_accel_limit->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_repeat_accel_limit); + +} +void node_from_init_window_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_init_window(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "flag"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_window, field_name)); + auto n_flag = new NodeDFFlagArray; + n_flag->m_field_name = field_name; + n_flag->m_index_enum = DF_Type::init_window_flags; + n_flag->m_df_type = DF_Type::init_window_flags; + n_flag->m_size = 4; + n_flag->m_rdf_type = RDF_Type::DFFlagArray; + n_flag->m_node_type = NodeType::Bitfield; + n_flag->m_address = base + offset; + n_flag->m_defined_in = "df.init.xml"; + n_flag->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flag); + +} +void node_from_tile_page(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "token"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tile_page, field_name)); + auto n_token = new NodeSimple; + n_token->m_field_name = field_name; + n_token->m_df_type = DF_Type::Stl_string; + n_token->m_rdf_type = RDF_Type::Stl_string; + n_token->m_node_type = NodeType::Simple; + n_token->m_address = base + offset; + n_token->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_token); + + field_name = "filename"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tile_page, field_name)); + auto n_filename = new NodeSimple; + n_filename->m_field_name = field_name; + n_filename->m_df_type = DF_Type::Stl_string; + n_filename->m_rdf_type = RDF_Type::Stl_string; + n_filename->m_node_type = NodeType::Simple; + n_filename->m_address = base + offset; + n_filename->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_filename); + + field_name = "tile_dim_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tile_page, field_name)); + auto n_tile_dim_x = new NodeSimple; + n_tile_dim_x->m_field_name = field_name; + n_tile_dim_x->m_df_type = DF_Type::int16_t; + n_tile_dim_x->m_rdf_type = RDF_Type::int16_t; + n_tile_dim_x->m_node_type = NodeType::Simple; + n_tile_dim_x->m_address = base + offset; + n_tile_dim_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tile_dim_x); + + field_name = "tile_dim_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tile_page, field_name)); + auto n_tile_dim_y = new NodeSimple; + n_tile_dim_y->m_field_name = field_name; + n_tile_dim_y->m_df_type = DF_Type::int16_t; + n_tile_dim_y->m_rdf_type = RDF_Type::int16_t; + n_tile_dim_y->m_node_type = NodeType::Simple; + n_tile_dim_y->m_address = base + offset; + n_tile_dim_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tile_dim_y); + + field_name = "page_dim_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tile_page, field_name)); + auto n_page_dim_x = new NodeSimple; + n_page_dim_x->m_field_name = field_name; + n_page_dim_x->m_df_type = DF_Type::int16_t; + n_page_dim_x->m_rdf_type = RDF_Type::int16_t; + n_page_dim_x->m_node_type = NodeType::Simple; + n_page_dim_x->m_address = base + offset; + n_page_dim_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_page_dim_x); + + field_name = "page_dim_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tile_page, field_name)); + auto n_page_dim_y = new NodeSimple; + n_page_dim_y->m_field_name = field_name; + n_page_dim_y->m_df_type = DF_Type::int16_t; + n_page_dim_y->m_rdf_type = RDF_Type::int16_t; + n_page_dim_y->m_node_type = NodeType::Simple; + n_page_dim_y->m_address = base + offset; + n_page_dim_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_page_dim_y); + + field_name = "texpos"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tile_page, field_name)); + auto n_texpos = new NodeVector; + n_texpos->m_field_name = field_name; + n_texpos->m_df_type = DF_Type::int32_t; + n_texpos->m_rdf_type = RDF_Type::Vector; + n_texpos->m_node_type = NodeType::Vector; + n_texpos->m_addornements = "v"; + n_texpos->m_address = base + offset; + n_texpos->m_parent = p_node_parent; + n_texpos->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_texpos); + + field_name = "datapos"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tile_page, field_name)); + auto n_datapos = new NodeVector; + n_datapos->m_field_name = field_name; + n_datapos->m_df_type = DF_Type::int32_t; + n_datapos->m_rdf_type = RDF_Type::Vector; + n_datapos->m_node_type = NodeType::Vector; + n_datapos->m_addornements = "v"; + n_datapos->m_address = base + offset; + n_datapos->m_parent = p_node_parent; + n_datapos->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_datapos); + + field_name = "texpos_gs"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tile_page, field_name)); + auto n_texpos_gs = new NodeVector; + n_texpos_gs->m_field_name = field_name; + n_texpos_gs->m_df_type = DF_Type::int32_t; + n_texpos_gs->m_rdf_type = RDF_Type::Vector; + n_texpos_gs->m_node_type = NodeType::Vector; + n_texpos_gs->m_addornements = "v"; + n_texpos_gs->m_address = base + offset; + n_texpos_gs->m_parent = p_node_parent; + n_texpos_gs->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_texpos_gs); + + field_name = "datapos_gs"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tile_page, field_name)); + auto n_datapos_gs = new NodeVector; + n_datapos_gs->m_field_name = field_name; + n_datapos_gs->m_df_type = DF_Type::int32_t; + n_datapos_gs->m_rdf_type = RDF_Type::Vector; + n_datapos_gs->m_node_type = NodeType::Vector; + n_datapos_gs->m_addornements = "v"; + n_datapos_gs->m_address = base + offset; + n_datapos_gs->m_parent = p_node_parent; + n_datapos_gs->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_datapos_gs); + + field_name = "loaded"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tile_page, field_name)); + auto n_loaded = new NodeSimple; + n_loaded->m_field_name = field_name; + n_loaded->m_df_type = DF_Type::Bool; + n_loaded->m_rdf_type = RDF_Type::Bool; + n_loaded->m_node_type = NodeType::Simple; + n_loaded->m_address = base + offset; + n_loaded->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_loaded); + +} +void node_from_interaction_effect_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_interaction_effect_location_hint(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_interaction_source_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_interaction_source(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_source, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "frequency"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_source, field_name)); + auto n_frequency = new NodeSimple; + n_frequency->m_field_name = field_name; + n_frequency->m_df_type = DF_Type::int32_t; + n_frequency->m_rdf_type = RDF_Type::int32_t; + n_frequency->m_node_type = NodeType::Simple; + n_frequency->m_address = base + offset; + n_frequency->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_frequency); + + field_name = "name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_source, field_name)); + auto n_name = new NodeSimple; + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Stl_string; + n_name->m_node_type = NodeType::Simple; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "hist_string_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_source, field_name)); + auto n_hist_string_1 = new NodeSimple; + n_hist_string_1->m_field_name = field_name; + n_hist_string_1->m_df_type = DF_Type::Stl_string; + n_hist_string_1->m_rdf_type = RDF_Type::Stl_string; + n_hist_string_1->m_node_type = NodeType::Simple; + n_hist_string_1->m_address = base + offset; + n_hist_string_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_hist_string_1); + + field_name = "hist_string_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_source, field_name)); + auto n_hist_string_2 = new NodeSimple; + n_hist_string_2->m_field_name = field_name; + n_hist_string_2->m_df_type = DF_Type::Stl_string; + n_hist_string_2->m_rdf_type = RDF_Type::Stl_string; + n_hist_string_2->m_node_type = NodeType::Simple; + n_hist_string_2->m_address = base + offset; + n_hist_string_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_hist_string_2); + +} +void node_from_interaction_source_regionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::interaction_source; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_interaction_source(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "region_flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_source_regionst, field_name)); + auto n_region_flags = new NodeBitfield; + n_region_flags->m_field_name = field_name; + n_region_flags->m_df_type = DF_Type::interaction_source_regionst__T_region_flags; + n_region_flags->m_rdf_type = RDF_Type::Bitfield; + n_region_flags->m_node_type = NodeType::Bitfield; + n_region_flags->m_address = base + offset; + n_region_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region_flags); + + field_name = "regions"; + auto n_regions = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_source_regionst, field_name)); + n_regions->m_field_name = field_name; + n_regions->m_df_type = DF_Type::int8_t; + n_regions->m_rdf_type = RDF_Type::Array; + n_regions->m_node_type = NodeType::Array; + n_regions->m_index_enum = DF_Type::worldgen_region_type; + n_regions->m_addornements = "[10"; + n_regions->m_array_size = 10; + n_regions->m_address = base + offset; + n_regions->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_regions); + +} +void node_from_interaction_source_disturbancest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::interaction_source; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_interaction_source(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_source_disturbancest, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_interaction_source_usage_hint(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_interaction_source_attackst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::interaction_source; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_interaction_source(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_source_attackst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_interaction_source_ingestionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::interaction_source; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_interaction_source(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_source_ingestionst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_interaction_source_creature_actionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::interaction_source; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_interaction_source(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_source_creature_actionst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_interaction_source_underground_specialst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::interaction_source; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_interaction_source(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_interaction_target_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_interaction_target_location_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_interaction_target_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "affected_creature_str"; + auto n_affected_creature_str = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_target_info, field_name)); + n_affected_creature_str->m_field_name = field_name; + n_affected_creature_str->m_df_type = DF_Type::Stl_string; + n_affected_creature_str->m_rdf_type = RDF_Type::Array; + n_affected_creature_str->m_node_type = NodeType::Array; + n_affected_creature_str->m_addornements = "[2v*"; + n_affected_creature_str->m_array_size = 2; + n_affected_creature_str->m_address = base + offset; + n_affected_creature_str->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_affected_creature_str); + + field_name = "affected_creature"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_target_info, field_name)); + auto n_affected_creature = new NodeVector; + n_affected_creature->m_field_name = field_name; + n_affected_creature->m_df_type = DF_Type::int32_t; + n_affected_creature->m_rdf_type = RDF_Type::Vector; + n_affected_creature->m_node_type = NodeType::Vector; + n_affected_creature->m_addornements = "v"; + n_affected_creature->m_address = base + offset; + n_affected_creature->m_parent = p_node_parent; + n_affected_creature->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_affected_creature); + + field_name = "affected_class"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_target_info, field_name)); + auto n_affected_class = new NodeVector; + n_affected_class->m_field_name = field_name; + n_affected_class->m_df_type = DF_Type::Stl_string; + n_affected_class->m_rdf_type = RDF_Type::Vector; + n_affected_class->m_node_type = NodeType::Vector; + n_affected_class->m_addornements = "v*"; + n_affected_class->m_address = base + offset; + n_affected_class->m_parent = p_node_parent; + n_affected_class->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_affected_class); + + field_name = "immune_creature_str"; + auto n_immune_creature_str = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_target_info, field_name)); + n_immune_creature_str->m_field_name = field_name; + n_immune_creature_str->m_df_type = DF_Type::Stl_string; + n_immune_creature_str->m_rdf_type = RDF_Type::Array; + n_immune_creature_str->m_node_type = NodeType::Array; + n_immune_creature_str->m_addornements = "[2v*"; + n_immune_creature_str->m_array_size = 2; + n_immune_creature_str->m_address = base + offset; + n_immune_creature_str->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_immune_creature_str); + + field_name = "immune_creature"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_target_info, field_name)); + auto n_immune_creature = new NodeVector; + n_immune_creature->m_field_name = field_name; + n_immune_creature->m_df_type = DF_Type::int32_t; + n_immune_creature->m_rdf_type = RDF_Type::Vector; + n_immune_creature->m_node_type = NodeType::Vector; + n_immune_creature->m_addornements = "v"; + n_immune_creature->m_address = base + offset; + n_immune_creature->m_parent = p_node_parent; + n_immune_creature->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_immune_creature); + + field_name = "immune_class"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_target_info, field_name)); + auto n_immune_class = new NodeVector; + n_immune_class->m_field_name = field_name; + n_immune_class->m_df_type = DF_Type::Stl_string; + n_immune_class->m_rdf_type = RDF_Type::Vector; + n_immune_class->m_node_type = NodeType::Vector; + n_immune_class->m_addornements = "v*"; + n_immune_class->m_address = base + offset; + n_immune_class->m_parent = p_node_parent; + n_immune_class->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_immune_class); + + field_name = "forbidden_syndrome_class"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_target_info, field_name)); + auto n_forbidden_syndrome_class = new NodeVector; + n_forbidden_syndrome_class->m_field_name = field_name; + n_forbidden_syndrome_class->m_df_type = DF_Type::Stl_string; + n_forbidden_syndrome_class->m_rdf_type = RDF_Type::Vector; + n_forbidden_syndrome_class->m_node_type = NodeType::Vector; + n_forbidden_syndrome_class->m_addornements = "v*"; + n_forbidden_syndrome_class->m_address = base + offset; + n_forbidden_syndrome_class->m_parent = p_node_parent; + n_forbidden_syndrome_class->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_forbidden_syndrome_class); + + field_name = "requires_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_target_info, field_name)); + auto n_requires_1 = new NodeSimple; + n_requires_1->m_field_name = field_name; + n_requires_1->m_df_type = DF_Type::int32_t; + n_requires_1->m_rdf_type = RDF_Type::int32_t; + n_requires_1->m_node_type = NodeType::Simple; + n_requires_1->m_address = base + offset; + n_requires_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_requires_1); + + field_name = "requires_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_target_info, field_name)); + auto n_requires_2 = new NodeSimple; + n_requires_2->m_field_name = field_name; + n_requires_2->m_df_type = DF_Type::int32_t; + n_requires_2->m_rdf_type = RDF_Type::int32_t; + n_requires_2->m_node_type = NodeType::Simple; + n_requires_2->m_address = base + offset; + n_requires_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_requires_2); + + field_name = "forbidden_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_target_info, field_name)); + auto n_forbidden_1 = new NodeSimple; + n_forbidden_1->m_field_name = field_name; + n_forbidden_1->m_df_type = DF_Type::int32_t; + n_forbidden_1->m_rdf_type = RDF_Type::int32_t; + n_forbidden_1->m_node_type = NodeType::Simple; + n_forbidden_1->m_address = base + offset; + n_forbidden_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_forbidden_1); + + field_name = "forbidden_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_target_info, field_name)); + auto n_forbidden_2 = new NodeSimple; + n_forbidden_2->m_field_name = field_name; + n_forbidden_2->m_df_type = DF_Type::int32_t; + n_forbidden_2->m_rdf_type = RDF_Type::int32_t; + n_forbidden_2->m_node_type = NodeType::Simple; + n_forbidden_2->m_address = base + offset; + n_forbidden_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_forbidden_2); + + field_name = "restrictions"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_target_info, field_name)); + auto n_restrictions = new NodeBitfield; + n_restrictions->m_field_name = field_name; + n_restrictions->m_df_type = DF_Type::interaction_target_info__T_restrictions; + n_restrictions->m_rdf_type = RDF_Type::Bitfield; + n_restrictions->m_node_type = NodeType::Bitfield; + n_restrictions->m_address = base + offset; + n_restrictions->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_restrictions); + +} +void node_from_breath_attack_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_interaction_instance(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_instance, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "interaction_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_instance, field_name)); + auto n_interaction_id = new NodeSimple; + n_interaction_id->m_field_name = field_name; + n_interaction_id->m_df_type = DF_Type::int32_t; + n_interaction_id->m_rdf_type = RDF_Type::int32_t; + n_interaction_id->m_node_type = NodeType::Simple; + n_interaction_id->m_address = base + offset; + n_interaction_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_interaction_id); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_instance, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "region_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_instance, field_name)); + auto n_region_index = new NodeSimple; + n_region_index->m_field_name = field_name; + n_region_index->m_df_type = DF_Type::int32_t; + n_region_index->m_rdf_type = RDF_Type::int32_t; + n_region_index->m_node_type = NodeType::Simple; + n_region_index->m_address = base + offset; + n_region_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region_index); + + field_name = "affected_units"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_instance, field_name)); + auto n_affected_units = new NodeVector; + n_affected_units->m_field_name = field_name; + n_affected_units->m_df_type = DF_Type::int32_t; + n_affected_units->m_rdf_type = RDF_Type::Vector; + n_affected_units->m_node_type = NodeType::Vector; + n_affected_units->m_addornements = "v"; + n_affected_units->m_address = base + offset; + n_affected_units->m_comment = "IDs of units affected by the regional interaction"; + n_affected_units->m_parent = p_node_parent; + n_affected_units->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_affected_units); + +} +void node_from_item_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_weapon_attack(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "edged"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::weapon_attack, field_name)); + auto n_edged = new NodeSimple; + n_edged->m_field_name = field_name; + n_edged->m_df_type = DF_Type::Bool; + n_edged->m_rdf_type = RDF_Type::Bool; + n_edged->m_node_type = NodeType::Simple; + n_edged->m_address = base + offset; + n_edged->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_edged); + + field_name = "contact"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::weapon_attack, field_name)); + auto n_contact = new NodeSimple; + n_contact->m_field_name = field_name; + n_contact->m_df_type = DF_Type::int32_t; + n_contact->m_rdf_type = RDF_Type::int32_t; + n_contact->m_node_type = NodeType::Simple; + n_contact->m_address = base + offset; + n_contact->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_contact); + + field_name = "penetration"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::weapon_attack, field_name)); + auto n_penetration = new NodeSimple; + n_penetration->m_field_name = field_name; + n_penetration->m_df_type = DF_Type::int32_t; + n_penetration->m_rdf_type = RDF_Type::int32_t; + n_penetration->m_node_type = NodeType::Simple; + n_penetration->m_address = base + offset; + n_penetration->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_penetration); + + field_name = "velocity_mult"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::weapon_attack, field_name)); + auto n_velocity_mult = new NodeSimple; + n_velocity_mult->m_field_name = field_name; + n_velocity_mult->m_df_type = DF_Type::int32_t; + n_velocity_mult->m_rdf_type = RDF_Type::int32_t; + n_velocity_mult->m_node_type = NodeType::Simple; + n_velocity_mult->m_address = base + offset; + n_velocity_mult->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_velocity_mult); + + field_name = "verb_2nd"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::weapon_attack, field_name)); + auto n_verb_2nd = new NodeSimple; + n_verb_2nd->m_field_name = field_name; + n_verb_2nd->m_df_type = DF_Type::Stl_string; + n_verb_2nd->m_rdf_type = RDF_Type::Stl_string; + n_verb_2nd->m_node_type = NodeType::Simple; + n_verb_2nd->m_address = base + offset; + n_verb_2nd->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_verb_2nd); + + field_name = "verb_3rd"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::weapon_attack, field_name)); + auto n_verb_3rd = new NodeSimple; + n_verb_3rd->m_field_name = field_name; + n_verb_3rd->m_df_type = DF_Type::Stl_string; + n_verb_3rd->m_rdf_type = RDF_Type::Stl_string; + n_verb_3rd->m_node_type = NodeType::Simple; + n_verb_3rd->m_address = base + offset; + n_verb_3rd->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_verb_3rd); + + field_name = "noun"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::weapon_attack, field_name)); + auto n_noun = new NodeSimple; + n_noun->m_field_name = field_name; + n_noun->m_df_type = DF_Type::Stl_string; + n_noun->m_rdf_type = RDF_Type::Stl_string; + n_noun->m_node_type = NodeType::Simple; + n_noun->m_address = base + offset; + n_noun->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_noun); + + field_name = "prepare"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::weapon_attack, field_name)); + auto n_prepare = new NodeSimple; + n_prepare->m_field_name = field_name; + n_prepare->m_df_type = DF_Type::int32_t; + n_prepare->m_rdf_type = RDF_Type::int32_t; + n_prepare->m_node_type = NodeType::Simple; + n_prepare->m_address = base + offset; + n_prepare->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_prepare); + + field_name = "recover"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::weapon_attack, field_name)); + auto n_recover = new NodeSimple; + n_recover->m_field_name = field_name; + n_recover->m_df_type = DF_Type::int32_t; + n_recover->m_rdf_type = RDF_Type::int32_t; + n_recover->m_node_type = NodeType::Simple; + n_recover->m_address = base + offset; + n_recover->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_recover); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::weapon_attack, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::weapon_attack__T_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + +} +void node_from_itemdef(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::Stl_string; + n_id->m_rdf_type = RDF_Type::Stl_string; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef, field_name)); + auto n_subtype = new NodeSimple; + n_subtype->m_field_name = field_name; + n_subtype->m_df_type = DF_Type::int16_t; + n_subtype->m_rdf_type = RDF_Type::int16_t; + n_subtype->m_node_type = NodeType::Simple; + n_subtype->m_address = base + offset; + n_subtype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_subtype); + + field_name = "base_flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef, field_name)); + auto n_base_flags = new NodeDFFlagArray; + n_base_flags->m_field_name = field_name; + n_base_flags->m_df_type = DF_Type::int32_t; + n_base_flags->m_size = 32; + n_base_flags->m_rdf_type = RDF_Type::DFFlagArray; + n_base_flags->m_node_type = NodeType::Bitfield; + n_base_flags->m_address = base + offset; + n_base_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_base_flags); + + field_name = "source_hfid"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef, field_name)); + auto n_source_hfid = new NodeSimple; + n_source_hfid->m_field_name = field_name; + n_source_hfid->m_df_type = DF_Type::int32_t; + n_source_hfid->m_rdf_type = RDF_Type::int32_t; + n_source_hfid->m_node_type = NodeType::Simple; + n_source_hfid->m_address = base + offset; + n_source_hfid->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_source_hfid); + + field_name = "source_enid"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef, field_name)); + auto n_source_enid = new NodeSimple; + n_source_enid->m_field_name = field_name; + n_source_enid->m_df_type = DF_Type::int32_t; + n_source_enid->m_rdf_type = RDF_Type::int32_t; + n_source_enid->m_node_type = NodeType::Simple; + n_source_enid->m_address = base + offset; + n_source_enid->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_source_enid); + + field_name = "raw_strings"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef, field_name)); + auto n_raw_strings = new NodeVector; + n_raw_strings->m_field_name = field_name; + n_raw_strings->m_df_type = DF_Type::Stl_string; + n_raw_strings->m_rdf_type = RDF_Type::Vector; + n_raw_strings->m_node_type = NodeType::Vector; + n_raw_strings->m_addornements = "v*"; + n_raw_strings->m_address = base + offset; + n_raw_strings->m_parent = p_node_parent; + n_raw_strings->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_raw_strings); + +} +void node_from_ammo_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_armor_general_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_armor_properties(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::armor_properties, field_name)); + auto n_flags = new NodeDFFlagArray; + n_flags->m_field_name = field_name; + n_flags->m_index_enum = DF_Type::armor_general_flags; + n_flags->m_df_type = DF_Type::armor_general_flags; + n_flags->m_size = 11; + n_flags->m_rdf_type = RDF_Type::DFFlagArray; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_defined_in = "df.item-raws.xml"; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "layer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::armor_properties, field_name)); + auto n_layer = new NodeSimple; + n_layer->m_field_name = field_name; + n_layer->m_df_type = DF_Type::int32_t; + n_layer->m_rdf_type = RDF_Type::int32_t; + n_layer->m_node_type = NodeType::Simple; + n_layer->m_address = base + offset; + n_layer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_layer); + + field_name = "layer_size"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::armor_properties, field_name)); + auto n_layer_size = new NodeSimple; + n_layer_size->m_field_name = field_name; + n_layer_size->m_df_type = DF_Type::int16_t; + n_layer_size->m_rdf_type = RDF_Type::int16_t; + n_layer_size->m_node_type = NodeType::Simple; + n_layer_size->m_address = base + offset; + n_layer_size->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_layer_size); + + field_name = "layer_permit"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::armor_properties, field_name)); + auto n_layer_permit = new NodeSimple; + n_layer_permit->m_field_name = field_name; + n_layer_permit->m_df_type = DF_Type::int16_t; + n_layer_permit->m_rdf_type = RDF_Type::int16_t; + n_layer_permit->m_node_type = NodeType::Simple; + n_layer_permit->m_address = base + offset; + n_layer_permit->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_layer_permit); + + field_name = "coverage"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::armor_properties, field_name)); + auto n_coverage = new NodeSimple; + n_coverage->m_field_name = field_name; + n_coverage->m_df_type = DF_Type::int16_t; + n_coverage->m_rdf_type = RDF_Type::int16_t; + n_coverage->m_node_type = NodeType::Simple; + n_coverage->m_address = base + offset; + n_coverage->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_coverage); + +} +void node_from_armor_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_itemdef_foodst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::itemdef; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_itemdef(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_foodst, field_name)); + auto n_name = new NodeSimple; + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Stl_string; + n_name->m_node_type = NodeType::Simple; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "level"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_foodst, field_name)); + auto n_level = new NodeSimple; + n_level->m_field_name = field_name; + n_level->m_df_type = DF_Type::int16_t; + n_level->m_rdf_type = RDF_Type::int16_t; + n_level->m_node_type = NodeType::Simple; + n_level->m_address = base + offset; + n_level->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_level); + +} +void node_from_gloves_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_helm_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_instrument_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_sound_production_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_pitch_choice_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_tuning_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_timbre_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_instrument_piece(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::instrument_piece, field_name)); + auto n_type = new NodeSimple; + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::Stl_string; + n_type->m_rdf_type = RDF_Type::Stl_string; + n_type->m_node_type = NodeType::Simple; + n_type->m_address = base + offset; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::instrument_piece, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::Stl_string; + n_id->m_rdf_type = RDF_Type::Stl_string; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::instrument_piece, field_name)); + auto n_index = new NodeSimple; + n_index->m_field_name = field_name; + n_index->m_df_type = DF_Type::int32_t; + n_index->m_rdf_type = RDF_Type::int32_t; + n_index->m_node_type = NodeType::Simple; + n_index->m_address = base + offset; + n_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_index); + + field_name = "name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::instrument_piece, field_name)); + auto n_name = new NodeSimple; + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Stl_string; + n_name->m_node_type = NodeType::Simple; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "name_plural"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::instrument_piece, field_name)); + auto n_name_plural = new NodeSimple; + n_name_plural->m_field_name = field_name; + n_name_plural->m_df_type = DF_Type::Stl_string; + n_name_plural->m_rdf_type = RDF_Type::Stl_string; + n_name_plural->m_node_type = NodeType::Simple; + n_name_plural->m_address = base + offset; + n_name_plural->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name_plural); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::instrument_piece, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::instrument_piece__T_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + +} +void node_from_pants_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_itemdef_shieldst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::itemdef; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_itemdef(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_shieldst, field_name)); + auto n_name = new NodeSimple; + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Stl_string; + n_name->m_node_type = NodeType::Simple; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "name_plural"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_shieldst, field_name)); + auto n_name_plural = new NodeSimple; + n_name_plural->m_field_name = field_name; + n_name_plural->m_df_type = DF_Type::Stl_string; + n_name_plural->m_rdf_type = RDF_Type::Stl_string; + n_name_plural->m_node_type = NodeType::Simple; + n_name_plural->m_address = base + offset; + n_name_plural->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name_plural); + + field_name = "adjective"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_shieldst, field_name)); + auto n_adjective = new NodeSimple; + n_adjective->m_field_name = field_name; + n_adjective->m_df_type = DF_Type::Stl_string; + n_adjective->m_rdf_type = RDF_Type::Stl_string; + n_adjective->m_node_type = NodeType::Simple; + n_adjective->m_address = base + offset; + n_adjective->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_adjective); + + field_name = "value"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_shieldst, field_name)); + auto n_value = new NodeSimple; + n_value->m_field_name = field_name; + n_value->m_df_type = DF_Type::int32_t; + n_value->m_rdf_type = RDF_Type::int32_t; + n_value->m_node_type = NodeType::Simple; + n_value->m_address = base + offset; + n_value->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_value); + + field_name = "blockchance"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_shieldst, field_name)); + auto n_blockchance = new NodeSimple; + n_blockchance->m_field_name = field_name; + n_blockchance->m_df_type = DF_Type::int32_t; + n_blockchance->m_rdf_type = RDF_Type::int32_t; + n_blockchance->m_node_type = NodeType::Simple; + n_blockchance->m_address = base + offset; + n_blockchance->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_blockchance); + + field_name = "armorlevel"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_shieldst, field_name)); + auto n_armorlevel = new NodeSimple; + n_armorlevel->m_field_name = field_name; + n_armorlevel->m_df_type = DF_Type::int8_t; + n_armorlevel->m_rdf_type = RDF_Type::int8_t; + n_armorlevel->m_node_type = NodeType::Simple; + n_armorlevel->m_address = base + offset; + n_armorlevel->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_armorlevel); + + field_name = "upstep"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_shieldst, field_name)); + auto n_upstep = new NodeSimple; + n_upstep->m_field_name = field_name; + n_upstep->m_df_type = DF_Type::int16_t; + n_upstep->m_rdf_type = RDF_Type::int16_t; + n_upstep->m_node_type = NodeType::Simple; + n_upstep->m_address = base + offset; + n_upstep->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_upstep); + + field_name = "material_size"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_shieldst, field_name)); + auto n_material_size = new NodeSimple; + n_material_size->m_field_name = field_name; + n_material_size->m_df_type = DF_Type::int32_t; + n_material_size->m_rdf_type = RDF_Type::int32_t; + n_material_size->m_node_type = NodeType::Simple; + n_material_size->m_address = base + offset; + n_material_size->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_material_size); + +} +void node_from_shoes_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_itemdef_siegeammost(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::itemdef; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_itemdef(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_siegeammost, field_name)); + auto n_name = new NodeSimple; + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Stl_string; + n_name->m_node_type = NodeType::Simple; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "name_plural"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_siegeammost, field_name)); + auto n_name_plural = new NodeSimple; + n_name_plural->m_field_name = field_name; + n_name_plural->m_df_type = DF_Type::Stl_string; + n_name_plural->m_rdf_type = RDF_Type::Stl_string; + n_name_plural->m_node_type = NodeType::Simple; + n_name_plural->m_address = base + offset; + n_name_plural->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name_plural); + + field_name = "ammo_class"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_siegeammost, field_name)); + auto n_ammo_class = new NodeSimple; + n_ammo_class->m_field_name = field_name; + n_ammo_class->m_df_type = DF_Type::Stl_string; + n_ammo_class->m_rdf_type = RDF_Type::Stl_string; + n_ammo_class->m_node_type = NodeType::Simple; + n_ammo_class->m_address = base + offset; + n_ammo_class->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ammo_class); + +} +void node_from_tool_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_tool_uses(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_toy_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_itemdef_toyst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::itemdef; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_itemdef(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_toyst, field_name)); + auto n_name = new NodeSimple; + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Stl_string; + n_name->m_node_type = NodeType::Simple; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "name_plural"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_toyst, field_name)); + auto n_name_plural = new NodeSimple; + n_name_plural->m_field_name = field_name; + n_name_plural->m_df_type = DF_Type::Stl_string; + n_name_plural->m_rdf_type = RDF_Type::Stl_string; + n_name_plural->m_node_type = NodeType::Simple; + n_name_plural->m_address = base + offset; + n_name_plural->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name_plural); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_toyst, field_name)); + auto n_flags = new NodeDFFlagArray; + n_flags->m_field_name = field_name; + n_flags->m_index_enum = DF_Type::toy_flags; + n_flags->m_df_type = DF_Type::toy_flags; + n_flags->m_size = 1; + n_flags->m_rdf_type = RDF_Type::DFFlagArray; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_defined_in = "df.item-raws.xml"; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + +} +void node_from_trapcomp_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_weapon_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_items_other_id(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_job_item_vector_id(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_improvement_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_itemimprovement_specific_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_written_content_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_written_content_style(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_engraving_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_item_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_item_flags2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_item_magicness_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_temperaturest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "whole"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::temperaturest, field_name)); + auto n_whole = new NodeSimple; + n_whole->m_field_name = field_name; + n_whole->m_df_type = DF_Type::uint16_t; + n_whole->m_rdf_type = RDF_Type::uint16_t; + n_whole->m_node_type = NodeType::Simple; + n_whole->m_address = base + offset; + n_whole->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_whole); + + field_name = "fraction"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::temperaturest, field_name)); + auto n_fraction = new NodeSimple; + n_fraction->m_field_name = field_name; + n_fraction->m_df_type = DF_Type::int16_t; + n_fraction->m_rdf_type = RDF_Type::int16_t; + n_fraction->m_node_type = NodeType::Simple; + n_fraction->m_address = base + offset; + n_fraction->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_fraction); + +} +void node_from_item_quality(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_slab_engraving_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_body_part_status(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_body_layer_status(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_body_size_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "size_cur"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_size_info, field_name)); + auto n_size_cur = new NodeSimple; + n_size_cur->m_field_name = field_name; + n_size_cur->m_df_type = DF_Type::int32_t; + n_size_cur->m_rdf_type = RDF_Type::int32_t; + n_size_cur->m_node_type = NodeType::Simple; + n_size_cur->m_address = base + offset; + n_size_cur->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_size_cur); + + field_name = "size_base"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_size_info, field_name)); + auto n_size_base = new NodeSimple; + n_size_base->m_field_name = field_name; + n_size_base->m_df_type = DF_Type::int32_t; + n_size_base->m_rdf_type = RDF_Type::int32_t; + n_size_base->m_node_type = NodeType::Simple; + n_size_base->m_address = base + offset; + n_size_base->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_size_base); + + field_name = "area_cur"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_size_info, field_name)); + auto n_area_cur = new NodeSimple; + n_area_cur->m_field_name = field_name; + n_area_cur->m_df_type = DF_Type::int32_t; + n_area_cur->m_rdf_type = RDF_Type::int32_t; + n_area_cur->m_node_type = NodeType::Simple; + n_area_cur->m_address = base + offset; + n_area_cur->m_comment = "size_cur^0.666"; + n_area_cur->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_area_cur); + + field_name = "area_base"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_size_info, field_name)); + auto n_area_base = new NodeSimple; + n_area_base->m_field_name = field_name; + n_area_base->m_df_type = DF_Type::int32_t; + n_area_base->m_rdf_type = RDF_Type::int32_t; + n_area_base->m_node_type = NodeType::Simple; + n_area_base->m_address = base + offset; + n_area_base->m_comment = "size_base^0.666"; + n_area_base->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_area_base); + + field_name = "length_cur"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_size_info, field_name)); + auto n_length_cur = new NodeSimple; + n_length_cur->m_field_name = field_name; + n_length_cur->m_df_type = DF_Type::int32_t; + n_length_cur->m_rdf_type = RDF_Type::int32_t; + n_length_cur->m_node_type = NodeType::Simple; + n_length_cur->m_address = base + offset; + n_length_cur->m_comment = "(size_cur*10000)^0.333"; + n_length_cur->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_length_cur); + + field_name = "length_base"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_size_info, field_name)); + auto n_length_base = new NodeSimple; + n_length_base->m_field_name = field_name; + n_length_base->m_df_type = DF_Type::int32_t; + n_length_base->m_rdf_type = RDF_Type::int32_t; + n_length_base->m_node_type = NodeType::Simple; + n_length_base->m_address = base + offset; + n_length_base->m_comment = "(size_base*10000)^0.333"; + n_length_base->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_length_base); + +} +void node_from_corpse_material_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_item_matstate(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_item_stockpile_ref(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_stockpile_ref, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_stockpile_ref, field_name)); + auto n_x = new NodeSimple; + n_x->m_field_name = field_name; + n_x->m_df_type = DF_Type::int16_t; + n_x->m_rdf_type = RDF_Type::int16_t; + n_x->m_node_type = NodeType::Simple; + n_x->m_address = base + offset; + n_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_x); + + field_name = "y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_stockpile_ref, field_name)); + auto n_y = new NodeSimple; + n_y->m_field_name = field_name; + n_y->m_df_type = DF_Type::int16_t; + n_y->m_rdf_type = RDF_Type::int16_t; + n_y->m_node_type = NodeType::Simple; + n_y->m_address = base + offset; + n_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_y); + +} +void node_from_job_type_class(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_job_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_job_material_category(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_dfhack_material_category(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_job_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_job_subtype_surgery(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_job_item_flags1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_job_item_flags2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_job_item_flags3(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_manager_order_status(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_job_art_specification(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "type"; + auto n_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_art_specification, field_name)); + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::job_art_specification__T_type; + n_type->m_rdf_type = RDF_Type::Enum; + n_type->m_node_type = NodeType::Enum; + n_type->m_base_type = DF_Type::int32_t; + n_type->m_enum_type = "job_art_specification::T_type"; + n_type->m_address = base + offset; + n_type->m_first_value = -1; + n_type->m_last_value = 3; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_art_specification, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "subid"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_art_specification, field_name)); + auto n_subid = new NodeSimple; + n_subid->m_field_name = field_name; + n_subid->m_df_type = DF_Type::int32_t; + n_subid->m_rdf_type = RDF_Type::int32_t; + n_subid->m_node_type = NodeType::Simple; + n_subid->m_address = base + offset; + n_subid->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_subid); + +} +void node_from_manager_order_condition_order(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "order_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order_condition_order, field_name)); + auto n_order_id = new NodeSimple; + n_order_id->m_field_name = field_name; + n_order_id->m_df_type = DF_Type::int32_t; + n_order_id->m_rdf_type = RDF_Type::int32_t; + n_order_id->m_node_type = NodeType::Simple; + n_order_id->m_address = base + offset; + n_order_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_order_id); + + field_name = "condition"; + auto n_condition = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order_condition_order, field_name)); + n_condition->m_field_name = field_name; + n_condition->m_df_type = DF_Type::manager_order_condition_order__T_condition; + n_condition->m_rdf_type = RDF_Type::Enum; + n_condition->m_node_type = NodeType::Enum; + n_condition->m_base_type = DF_Type::int32_t; + n_condition->m_enum_type = "manager_order_condition_order::T_condition"; + n_condition->m_address = base + offset; + n_condition->m_first_value = 0; + n_condition->m_last_value = 1; + n_condition->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_condition); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order_condition_order, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_guild_id(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_training_assignment(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "animal_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::training_assignment, field_name)); + auto n_animal_id = new NodeSimple; + n_animal_id->m_field_name = field_name; + n_animal_id->m_df_type = DF_Type::int32_t; + n_animal_id->m_rdf_type = RDF_Type::int32_t; + n_animal_id->m_node_type = NodeType::Simple; + n_animal_id->m_address = base + offset; + n_animal_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_animal_id); + + field_name = "trainer_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::training_assignment, field_name)); + auto n_trainer_id = new NodeSimple; + n_trainer_id->m_field_name = field_name; + n_trainer_id->m_df_type = DF_Type::int32_t; + n_trainer_id->m_rdf_type = RDF_Type::int32_t; + n_trainer_id->m_node_type = NodeType::Simple; + n_trainer_id->m_address = base + offset; + n_trainer_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_trainer_id); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::training_assignment, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::training_assignment__T_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + +} +void node_from_interface_key(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_knowledge_scholar_flags_0(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_knowledge_scholar_flags_1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_knowledge_scholar_flags_2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_knowledge_scholar_flags_3(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_knowledge_scholar_flags_4(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_knowledge_scholar_flags_5(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_knowledge_scholar_flags_6(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_knowledge_scholar_flags_7(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_knowledge_scholar_flags_8(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_knowledge_scholar_flags_9(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_knowledge_scholar_flags_10(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_knowledge_scholar_flags_11(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_knowledge_scholar_flags_12(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_knowledge_scholar_flags_13(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_dfhack_knowledge_scholar_flag(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_language_word_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_part_of_speech(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_sphere_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_language_translation(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::language_translation, field_name)); + auto n_name = new NodeSimple; + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Stl_string; + n_name->m_node_type = NodeType::Simple; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "unknown1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::language_translation, field_name)); + auto n_unknown1 = new NodeVector; + n_unknown1->m_field_name = field_name; + n_unknown1->m_df_type = DF_Type::Void; + n_unknown1->m_rdf_type = RDF_Type::Vector; + n_unknown1->m_node_type = NodeType::Vector; + n_unknown1->m_addornements = "v"; + n_unknown1->m_address = base + offset; + n_unknown1->m_comment = "empty"; + n_unknown1->m_parent = p_node_parent; + n_unknown1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unknown1); + + field_name = "unknown2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::language_translation, field_name)); + auto n_unknown2 = new NodeVector; + n_unknown2->m_field_name = field_name; + n_unknown2->m_df_type = DF_Type::Void; + n_unknown2->m_rdf_type = RDF_Type::Vector; + n_unknown2->m_node_type = NodeType::Vector; + n_unknown2->m_addornements = "v"; + n_unknown2->m_address = base + offset; + n_unknown2->m_comment = "empty"; + n_unknown2->m_parent = p_node_parent; + n_unknown2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unknown2); + + field_name = "words"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::language_translation, field_name)); + auto n_words = new NodeVector; + n_words->m_field_name = field_name; + n_words->m_df_type = DF_Type::Stl_string; + n_words->m_rdf_type = RDF_Type::Vector; + n_words->m_node_type = NodeType::Vector; + n_words->m_addornements = "v*"; + n_words->m_address = base + offset; + n_words->m_refers_to = "$global.world.raws.language.words[$]"; + n_words->m_parent = p_node_parent; + n_words->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_words); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::language_translation, field_name)); + auto n_flags = new NodeSimple; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::int32_t; + n_flags->m_rdf_type = RDF_Type::int32_t; + n_flags->m_node_type = NodeType::Simple; + n_flags->m_address = base + offset; + n_flags->m_comment = "1 = generated"; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "str"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::language_translation, field_name)); + auto n_str = new NodeVector; + n_str->m_field_name = field_name; + n_str->m_df_type = DF_Type::Stl_string; + n_str->m_rdf_type = RDF_Type::Vector; + n_str->m_node_type = NodeType::Vector; + n_str->m_addornements = "v*"; + n_str->m_address = base + offset; + n_str->m_parent = p_node_parent; + n_str->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_str); + +} +void node_from_language_symbol(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::language_symbol, field_name)); + auto n_name = new NodeSimple; + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Stl_string; + n_name->m_node_type = NodeType::Simple; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "unknown"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::language_symbol, field_name)); + auto n_unknown = new NodeVector; + n_unknown->m_field_name = field_name; + n_unknown->m_df_type = DF_Type::Void; + n_unknown->m_rdf_type = RDF_Type::Vector; + n_unknown->m_node_type = NodeType::Vector; + n_unknown->m_addornements = "v"; + n_unknown->m_address = base + offset; + n_unknown->m_comment = "empty"; + n_unknown->m_parent = p_node_parent; + n_unknown->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unknown); + + field_name = "words"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::language_symbol, field_name)); + auto n_words = new NodeVector; + n_words->m_field_name = field_name; + n_words->m_df_type = DF_Type::int32_t; + n_words->m_rdf_type = RDF_Type::Vector; + n_words->m_node_type = NodeType::Vector; + n_words->m_addornements = "v"; + n_words->m_address = base + offset; + n_words->m_parent = p_node_parent; + n_words->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_words); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::language_symbol, field_name)); + auto n_flags = new NodeSimple; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::int32_t; + n_flags->m_rdf_type = RDF_Type::int32_t; + n_flags->m_node_type = NodeType::Simple; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "str"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::language_symbol, field_name)); + auto n_str = new NodeVector; + n_str->m_field_name = field_name; + n_str->m_df_type = DF_Type::Stl_string; + n_str->m_rdf_type = RDF_Type::Vector; + n_str->m_node_type = NodeType::Vector; + n_str->m_addornements = "v*"; + n_str->m_address = base + offset; + n_str->m_parent = p_node_parent; + n_str->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_str); + +} +void node_from_language_name_category(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_invasion_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::invasion_info, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "civ_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::invasion_info, field_name)); + auto n_civ_id = new NodeSimple; + n_civ_id->m_field_name = field_name; + n_civ_id->m_df_type = DF_Type::int32_t; + n_civ_id->m_rdf_type = RDF_Type::int32_t; + n_civ_id->m_node_type = NodeType::Simple; + n_civ_id->m_address = base + offset; + n_civ_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_civ_id); + + field_name = "active_size1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::invasion_info, field_name)); + auto n_active_size1 = new NodeSimple; + n_active_size1->m_field_name = field_name; + n_active_size1->m_df_type = DF_Type::int32_t; + n_active_size1->m_rdf_type = RDF_Type::int32_t; + n_active_size1->m_node_type = NodeType::Simple; + n_active_size1->m_address = base + offset; + n_active_size1->m_comment = "0 unless active"; + n_active_size1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_active_size1); + + field_name = "active_size2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::invasion_info, field_name)); + auto n_active_size2 = new NodeSimple; + n_active_size2->m_field_name = field_name; + n_active_size2->m_df_type = DF_Type::int32_t; + n_active_size2->m_rdf_type = RDF_Type::int32_t; + n_active_size2->m_node_type = NodeType::Simple; + n_active_size2->m_address = base + offset; + n_active_size2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_active_size2); + + field_name = "size"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::invasion_info, field_name)); + auto n_size = new NodeSimple; + n_size->m_field_name = field_name; + n_size->m_df_type = DF_Type::int32_t; + n_size->m_rdf_type = RDF_Type::int32_t; + n_size->m_node_type = NodeType::Simple; + n_size->m_address = base + offset; + n_size->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_size); + + field_name = "duration_counter"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::invasion_info, field_name)); + auto n_duration_counter = new NodeSimple; + n_duration_counter->m_field_name = field_name; + n_duration_counter->m_df_type = DF_Type::int32_t; + n_duration_counter->m_rdf_type = RDF_Type::int32_t; + n_duration_counter->m_node_type = NodeType::Simple; + n_duration_counter->m_address = base + offset; + n_duration_counter->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_duration_counter); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::invasion_info, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::invasion_info__T_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "unk4b"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::invasion_info, field_name)); + auto n_unk4b = new NodeSimple; + n_unk4b->m_field_name = field_name; + n_unk4b->m_df_type = DF_Type::int16_t; + n_unk4b->m_rdf_type = RDF_Type::int16_t; + n_unk4b->m_node_type = NodeType::Simple; + n_unk4b->m_address = base + offset; + n_unk4b->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk4b); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::invasion_info, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::invasion_info, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::invasion_info, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::invasion_info, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::invasion_info, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + +} +void node_from_nemesis_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_machine_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_machine_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "machine_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::machine_info, field_name)); + auto n_machine_id = new NodeSimple; + n_machine_id->m_field_name = field_name; + n_machine_id->m_df_type = DF_Type::int32_t; + n_machine_id->m_rdf_type = RDF_Type::int32_t; + n_machine_id->m_node_type = NodeType::Simple; + n_machine_id->m_address = base + offset; + n_machine_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_machine_id); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::machine_info, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::machine_info__T_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + +} +void node_from_power_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "produced"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::power_info, field_name)); + auto n_produced = new NodeSimple; + n_produced->m_field_name = field_name; + n_produced->m_df_type = DF_Type::int32_t; + n_produced->m_rdf_type = RDF_Type::int32_t; + n_produced->m_node_type = NodeType::Simple; + n_produced->m_address = base + offset; + n_produced->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_produced); + + field_name = "consumed"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::power_info, field_name)); + auto n_consumed = new NodeSimple; + n_consumed->m_field_name = field_name; + n_consumed->m_df_type = DF_Type::int32_t; + n_consumed->m_rdf_type = RDF_Type::int32_t; + n_consumed->m_node_type = NodeType::Simple; + n_consumed->m_address = base + offset; + n_consumed->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_consumed); + +} +void node_from_machine_conn_modes(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_screw_pump_direction(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_coord2d(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::coord2d, field_name)); + auto n_x = new NodeSimple; + n_x->m_field_name = field_name; + n_x->m_df_type = DF_Type::int16_t; + n_x->m_rdf_type = RDF_Type::int16_t; + n_x->m_node_type = NodeType::Simple; + n_x->m_address = base + offset; + n_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_x); + + field_name = "y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::coord2d, field_name)); + auto n_y = new NodeSimple; + n_y->m_field_name = field_name; + n_y->m_df_type = DF_Type::int16_t; + n_y->m_rdf_type = RDF_Type::int16_t; + n_y->m_node_type = NodeType::Simple; + n_y->m_address = base + offset; + n_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_y); + +} +void node_from_coord2d_path(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::coord2d_path, field_name)); + auto n_x = new NodeVector; + n_x->m_field_name = field_name; + n_x->m_df_type = DF_Type::int16_t; + n_x->m_rdf_type = RDF_Type::Vector; + n_x->m_node_type = NodeType::Vector; + n_x->m_addornements = "v"; + n_x->m_address = base + offset; + n_x->m_parent = p_node_parent; + n_x->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_x); + + field_name = "y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::coord2d_path, field_name)); + auto n_y = new NodeVector; + n_y->m_field_name = field_name; + n_y->m_df_type = DF_Type::int16_t; + n_y->m_rdf_type = RDF_Type::Vector; + n_y->m_node_type = NodeType::Vector; + n_y->m_addornements = "v"; + n_y->m_address = base + offset; + n_y->m_parent = p_node_parent; + n_y->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_y); + +} +void node_from_coord(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::coord, field_name)); + auto n_x = new NodeSimple; + n_x->m_field_name = field_name; + n_x->m_df_type = DF_Type::int16_t; + n_x->m_rdf_type = RDF_Type::int16_t; + n_x->m_node_type = NodeType::Simple; + n_x->m_address = base + offset; + n_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_x); + + field_name = "y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::coord, field_name)); + auto n_y = new NodeSimple; + n_y->m_field_name = field_name; + n_y->m_df_type = DF_Type::int16_t; + n_y->m_rdf_type = RDF_Type::int16_t; + n_y->m_node_type = NodeType::Simple; + n_y->m_address = base + offset; + n_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_y); + + field_name = "z"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::coord, field_name)); + auto n_z = new NodeSimple; + n_z->m_field_name = field_name; + n_z->m_df_type = DF_Type::int16_t; + n_z->m_rdf_type = RDF_Type::int16_t; + n_z->m_node_type = NodeType::Simple; + n_z->m_address = base + offset; + n_z->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_z); + +} +void node_from_coord_path(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::coord_path, field_name)); + auto n_x = new NodeVector; + n_x->m_field_name = field_name; + n_x->m_df_type = DF_Type::int16_t; + n_x->m_rdf_type = RDF_Type::Vector; + n_x->m_node_type = NodeType::Vector; + n_x->m_addornements = "v"; + n_x->m_address = base + offset; + n_x->m_parent = p_node_parent; + n_x->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_x); + + field_name = "y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::coord_path, field_name)); + auto n_y = new NodeVector; + n_y->m_field_name = field_name; + n_y->m_df_type = DF_Type::int16_t; + n_y->m_rdf_type = RDF_Type::Vector; + n_y->m_node_type = NodeType::Vector; + n_y->m_addornements = "v"; + n_y->m_address = base + offset; + n_y->m_parent = p_node_parent; + n_y->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_y); + + field_name = "z"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::coord_path, field_name)); + auto n_z = new NodeVector; + n_z->m_field_name = field_name; + n_z->m_df_type = DF_Type::int16_t; + n_z->m_rdf_type = RDF_Type::Vector; + n_z->m_node_type = NodeType::Vector; + n_z->m_addornements = "v"; + n_z->m_address = base + offset; + n_z->m_parent = p_node_parent; + n_z->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_z); + +} +void node_from_tile_traffic(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_tile_dig_designation(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_tile_liquid(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_tile_designation(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_tile_building_occ(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_tile_occupancy(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_block_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_z_level_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_tile_liquid_flow_dir(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_tile_liquid_flow(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_tile_bitmask(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "bits"; + auto n_bits = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tile_bitmask, field_name)); + n_bits->m_field_name = field_name; + n_bits->m_df_type = DF_Type::uint16_t; + n_bits->m_rdf_type = RDF_Type::Array; + n_bits->m_node_type = NodeType::Array; + n_bits->m_addornements = "[16"; + n_bits->m_array_size = 16; + n_bits->m_address = base + offset; + n_bits->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_bits); + +} +void node_from_cave_column(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cave_column, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int16_t; + n_anon_1->m_rdf_type = RDF_Type::int16_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cave_column, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int16_t; + n_anon_2->m_rdf_type = RDF_Type::int16_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cave_column, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int16_t; + n_anon_3->m_rdf_type = RDF_Type::int16_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cave_column, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int8_t; + n_anon_4->m_rdf_type = RDF_Type::int8_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + +} +void node_from_cave_column_rectangle(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cave_column_rectangle, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cave_column_rectangle, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int16_t; + n_anon_2->m_rdf_type = RDF_Type::int16_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cave_column_rectangle, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int16_t; + n_anon_3->m_rdf_type = RDF_Type::int16_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cave_column_rectangle, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int16_t; + n_anon_4->m_rdf_type = RDF_Type::int16_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cave_column_rectangle, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int16_t; + n_anon_5->m_rdf_type = RDF_Type::int16_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cave_column_rectangle, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int16_t; + n_anon_6->m_rdf_type = RDF_Type::int16_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cave_column_rectangle, field_name)); + auto n_anon_7 = new NodeVector; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::int16_t; + n_anon_7->m_rdf_type = RDF_Type::Vector; + n_anon_7->m_node_type = NodeType::Vector; + n_anon_7->m_addornements = "v"; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + n_anon_7->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_7); + + field_name = "anon_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cave_column_rectangle, field_name)); + auto n_anon_8 = new NodeVector; + n_anon_8->m_field_name = field_name; + n_anon_8->m_df_type = DF_Type::int16_t; + n_anon_8->m_rdf_type = RDF_Type::Vector; + n_anon_8->m_node_type = NodeType::Vector; + n_anon_8->m_addornements = "v"; + n_anon_8->m_address = base + offset; + n_anon_8->m_parent = p_node_parent; + n_anon_8->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_8); + + field_name = "anon_9"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cave_column_rectangle, field_name)); + auto n_anon_9 = new NodeVector; + n_anon_9->m_field_name = field_name; + n_anon_9->m_df_type = DF_Type::int16_t; + n_anon_9->m_rdf_type = RDF_Type::Vector; + n_anon_9->m_node_type = NodeType::Vector; + n_anon_9->m_addornements = "v"; + n_anon_9->m_address = base + offset; + n_anon_9->m_parent = p_node_parent; + n_anon_9->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_9); + + field_name = "anon_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cave_column_rectangle, field_name)); + auto n_anon_10 = new NodeSimple; + n_anon_10->m_field_name = field_name; + n_anon_10->m_df_type = DF_Type::int32_t; + n_anon_10->m_rdf_type = RDF_Type::int32_t; + n_anon_10->m_node_type = NodeType::Simple; + n_anon_10->m_address = base + offset; + n_anon_10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_10); + +} +void node_from_block_square_event_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_block_square_event(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_block_square_event_material_spatterst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::block_square_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_block_square_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_material_spatterst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_material_spatterst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "mat_state"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_material_spatterst, field_name)); + auto n_mat_state = new NodeSimple; + n_mat_state->m_field_name = field_name; + n_mat_state->m_df_type = DF_Type::int16_t; + n_mat_state->m_rdf_type = RDF_Type::int16_t; + n_mat_state->m_node_type = NodeType::Simple; + n_mat_state->m_address = base + offset; + n_mat_state->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_state); + + field_name = "amount"; + auto n_amount = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_material_spatterst, field_name)); + n_amount->m_field_name = field_name; + n_amount->m_df_type = DF_Type::uint8_t; + n_amount->m_rdf_type = RDF_Type::Array; + n_amount->m_node_type = NodeType::Array; + n_amount->m_addornements = "[16[16"; + n_amount->m_array_size = 16; + n_amount->m_address = base + offset; + n_amount->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_amount); + + field_name = "min_temperature"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_material_spatterst, field_name)); + auto n_min_temperature = new NodeSimple; + n_min_temperature->m_field_name = field_name; + n_min_temperature->m_df_type = DF_Type::uint16_t; + n_min_temperature->m_rdf_type = RDF_Type::uint16_t; + n_min_temperature->m_node_type = NodeType::Simple; + n_min_temperature->m_address = base + offset; + n_min_temperature->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_min_temperature); + + field_name = "max_temperature"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_material_spatterst, field_name)); + auto n_max_temperature = new NodeSimple; + n_max_temperature->m_field_name = field_name; + n_max_temperature->m_df_type = DF_Type::uint16_t; + n_max_temperature->m_rdf_type = RDF_Type::uint16_t; + n_max_temperature->m_node_type = NodeType::Simple; + n_max_temperature->m_address = base + offset; + n_max_temperature->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_max_temperature); + +} +void node_from_block_square_event_grassst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::block_square_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_block_square_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "plant_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_grassst, field_name)); + auto n_plant_index = new NodeSimple; + n_plant_index->m_field_name = field_name; + n_plant_index->m_df_type = DF_Type::int32_t; + n_plant_index->m_rdf_type = RDF_Type::int32_t; + n_plant_index->m_node_type = NodeType::Simple; + n_plant_index->m_address = base + offset; + n_plant_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_plant_index); + + field_name = "amount"; + auto n_amount = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_grassst, field_name)); + n_amount->m_field_name = field_name; + n_amount->m_df_type = DF_Type::int8_t; + n_amount->m_rdf_type = RDF_Type::Array; + n_amount->m_node_type = NodeType::Array; + n_amount->m_addornements = "[16[16"; + n_amount->m_array_size = 16; + n_amount->m_address = base + offset; + n_amount->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_amount); + +} +void node_from_block_square_event_spoorst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::block_square_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_block_square_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + auto n_anon_1 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_spoorst, field_name)); + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int16_t; + n_anon_1->m_rdf_type = RDF_Type::Array; + n_anon_1->m_node_type = NodeType::Array; + n_anon_1->m_addornements = "[16[16"; + n_anon_1->m_array_size = 16; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + auto n_anon_2 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_spoorst, field_name)); + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int8_t; + n_anon_2->m_rdf_type = RDF_Type::Array; + n_anon_2->m_node_type = NodeType::Array; + n_anon_2->m_addornements = "[16[16"; + n_anon_2->m_array_size = 16; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + auto n_anon_3 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_spoorst, field_name)); + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::Array; + n_anon_3->m_node_type = NodeType::Array; + n_anon_3->m_addornements = "[16[16"; + n_anon_3->m_array_size = 16; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + auto n_anon_4 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_spoorst, field_name)); + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::Array; + n_anon_4->m_node_type = NodeType::Array; + n_anon_4->m_addornements = "[16[16"; + n_anon_4->m_array_size = 16; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + auto n_anon_5 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_spoorst, field_name)); + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::Array; + n_anon_5->m_node_type = NodeType::Array; + n_anon_5->m_addornements = "[16[16"; + n_anon_5->m_array_size = 16; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + auto n_anon_6 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_spoorst, field_name)); + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::Array; + n_anon_6->m_node_type = NodeType::Array; + n_anon_6->m_addornements = "[16[16"; + n_anon_6->m_array_size = 16; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_spoorst, field_name)); + auto n_anon_7 = new NodeSimple; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::int32_t; + n_anon_7->m_rdf_type = RDF_Type::int32_t; + n_anon_7->m_node_type = NodeType::Simple; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_7); + + field_name = "anon_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_spoorst, field_name)); + auto n_anon_8 = new NodeSimple; + n_anon_8->m_field_name = field_name; + n_anon_8->m_df_type = DF_Type::int32_t; + n_anon_8->m_rdf_type = RDF_Type::int32_t; + n_anon_8->m_node_type = NodeType::Simple; + n_anon_8->m_address = base + offset; + n_anon_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_8); + +} +void node_from_block_square_event_designation_priorityst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::block_square_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_block_square_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "priority"; + auto n_priority = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_designation_priorityst, field_name)); + n_priority->m_field_name = field_name; + n_priority->m_df_type = DF_Type::int32_t; + n_priority->m_rdf_type = RDF_Type::Array; + n_priority->m_node_type = NodeType::Array; + n_priority->m_addornements = "[16[16"; + n_priority->m_array_size = 16; + n_priority->m_address = base + offset; + n_priority->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_priority); + +} +void node_from_feature_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_feature_init_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_feature_alteration_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_feature_alteration(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_feature_alteration_new_pop_maxst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::feature_alteration; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_feature_alteration(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_alteration_new_pop_maxst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_alteration_new_pop_maxst, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + +} +void node_from_feature_alteration_new_lava_fill_zst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::feature_alteration; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_feature_alteration(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "magma_fill_z"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_alteration_new_lava_fill_zst, field_name)); + auto n_magma_fill_z = new NodeSimple; + n_magma_fill_z->m_field_name = field_name; + n_magma_fill_z->m_df_type = DF_Type::int32_t; + n_magma_fill_z->m_rdf_type = RDF_Type::int32_t; + n_magma_fill_z->m_node_type = NodeType::Simple; + n_magma_fill_z->m_address = base + offset; + n_magma_fill_z->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_magma_fill_z); + +} +void node_from_world_construction_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_biome_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_construction_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_flow_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_flow_reuse_pool(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "reuse_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::flow_reuse_pool, field_name)); + auto n_reuse_idx = new NodeSimple; + n_reuse_idx->m_field_name = field_name; + n_reuse_idx->m_df_type = DF_Type::int32_t; + n_reuse_idx->m_rdf_type = RDF_Type::int32_t; + n_reuse_idx->m_node_type = NodeType::Simple; + n_reuse_idx->m_address = base + offset; + n_reuse_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_reuse_idx); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::flow_reuse_pool, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::flow_reuse_pool__T_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + +} +void node_from_flow_guide_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_flow_guide(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::flow_guide, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "unk_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::flow_guide, field_name)); + auto n_unk_8 = new NodeSimple; + n_unk_8->m_field_name = field_name; + n_unk_8->m_df_type = DF_Type::int8_t; + n_unk_8->m_rdf_type = RDF_Type::int8_t; + n_unk_8->m_node_type = NodeType::Simple; + n_unk_8->m_address = base + offset; + n_unk_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_8); + +} +void node_from_region_block_event_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_region_block_eventst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_region_block_event_sphere_fieldst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::region_block_eventst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_region_block_eventst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + auto n_anon_1 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::region_block_event_sphere_fieldst, field_name)); + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int16_t; + n_anon_1->m_rdf_type = RDF_Type::Array; + n_anon_1->m_node_type = NodeType::Array; + n_anon_1->m_addornements = "[16"; + n_anon_1->m_array_size = 16; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_craft_material_class(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_builtin_mats(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_material_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_matter_state(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_strain_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_material_vec_ref(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_vec_ref, field_name)); + auto n_mat_type = new NodeVector; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::Vector; + n_mat_type->m_node_type = NodeType::Vector; + n_mat_type->m_addornements = "v"; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + n_mat_type->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_vec_ref, field_name)); + auto n_mat_index = new NodeVector; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::Vector; + n_mat_index->m_node_type = NodeType::Vector; + n_mat_index->m_addornements = "v"; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + n_mat_index->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_mat_index); + +} +void node_from_inorganic_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_environment_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_inclusion_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_organic_mat_category(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_script_stepst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "next_step_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::script_stepst, field_name)); + auto n_next_step_idx = new NodeSimple; + n_next_step_idx->m_field_name = field_name; + n_next_step_idx->m_df_type = DF_Type::int32_t; + n_next_step_idx->m_rdf_type = RDF_Type::int32_t; + n_next_step_idx->m_node_type = NodeType::Simple; + n_next_step_idx->m_address = base + offset; + n_next_step_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_next_step_idx); + +} +void node_from_script_step_setvarst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::script_stepst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_script_stepst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "dest_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::script_step_setvarst, field_name)); + auto n_dest_type = new NodeSimple; + n_dest_type->m_field_name = field_name; + n_dest_type->m_df_type = DF_Type::Stl_string; + n_dest_type->m_rdf_type = RDF_Type::Stl_string; + n_dest_type->m_node_type = NodeType::Simple; + n_dest_type->m_address = base + offset; + n_dest_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dest_type); + + field_name = "dest_name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::script_step_setvarst, field_name)); + auto n_dest_name = new NodeSimple; + n_dest_name->m_field_name = field_name; + n_dest_name->m_df_type = DF_Type::Stl_string; + n_dest_name->m_rdf_type = RDF_Type::Stl_string; + n_dest_name->m_node_type = NodeType::Simple; + n_dest_name->m_address = base + offset; + n_dest_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dest_name); + + field_name = "src_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::script_step_setvarst, field_name)); + auto n_src_type = new NodeSimple; + n_src_type->m_field_name = field_name; + n_src_type->m_df_type = DF_Type::Stl_string; + n_src_type->m_rdf_type = RDF_Type::Stl_string; + n_src_type->m_node_type = NodeType::Simple; + n_src_type->m_address = base + offset; + n_src_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_src_type); + + field_name = "src_name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::script_step_setvarst, field_name)); + auto n_src_name = new NodeSimple; + n_src_name->m_field_name = field_name; + n_src_name->m_df_type = DF_Type::Stl_string; + n_src_name->m_rdf_type = RDF_Type::Stl_string; + n_src_name->m_node_type = NodeType::Simple; + n_src_name->m_address = base + offset; + n_src_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_src_name); + +} +void node_from_script_step_simpleactionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::script_stepst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_script_stepst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::script_step_simpleactionst, field_name)); + auto n_type = new NodeSimple; + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::Stl_string; + n_type->m_rdf_type = RDF_Type::Stl_string; + n_type->m_node_type = NodeType::Simple; + n_type->m_address = base + offset; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + + field_name = "subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::script_step_simpleactionst, field_name)); + auto n_subtype = new NodeSimple; + n_subtype->m_field_name = field_name; + n_subtype->m_df_type = DF_Type::Stl_string; + n_subtype->m_rdf_type = RDF_Type::Stl_string; + n_subtype->m_node_type = NodeType::Simple; + n_subtype->m_address = base + offset; + n_subtype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_subtype); + +} +void node_from_script_step_conditionalst__T_condition(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "var1_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::script_step_conditionalst__T_condition, field_name)); + auto n_var1_type = new NodeSimple; + n_var1_type->m_field_name = field_name; + n_var1_type->m_df_type = DF_Type::Stl_string; + n_var1_type->m_rdf_type = RDF_Type::Stl_string; + n_var1_type->m_node_type = NodeType::Simple; + n_var1_type->m_address = base + offset; + n_var1_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_var1_type); + + field_name = "var1_name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::script_step_conditionalst__T_condition, field_name)); + auto n_var1_name = new NodeSimple; + n_var1_name->m_field_name = field_name; + n_var1_name->m_df_type = DF_Type::Stl_string; + n_var1_name->m_rdf_type = RDF_Type::Stl_string; + n_var1_name->m_node_type = NodeType::Simple; + n_var1_name->m_address = base + offset; + n_var1_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_var1_name); + + field_name = "comparison"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::script_step_conditionalst__T_condition, field_name)); + auto n_comparison = new NodeSimple; + n_comparison->m_field_name = field_name; + n_comparison->m_df_type = DF_Type::Stl_string; + n_comparison->m_rdf_type = RDF_Type::Stl_string; + n_comparison->m_node_type = NodeType::Simple; + n_comparison->m_address = base + offset; + n_comparison->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_comparison); + + field_name = "var2_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::script_step_conditionalst__T_condition, field_name)); + auto n_var2_type = new NodeSimple; + n_var2_type->m_field_name = field_name; + n_var2_type->m_df_type = DF_Type::Stl_string; + n_var2_type->m_rdf_type = RDF_Type::Stl_string; + n_var2_type->m_node_type = NodeType::Simple; + n_var2_type->m_address = base + offset; + n_var2_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_var2_type); + + field_name = "var2_name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::script_step_conditionalst__T_condition, field_name)); + auto n_var2_name = new NodeSimple; + n_var2_name->m_field_name = field_name; + n_var2_name->m_df_type = DF_Type::Stl_string; + n_var2_name->m_rdf_type = RDF_Type::Stl_string; + n_var2_name->m_node_type = NodeType::Simple; + n_var2_name->m_address = base + offset; + n_var2_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_var2_name); + +} +void node_from_script_step_conditionalst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::script_stepst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_script_stepst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "condition"; + auto n_condition = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::script_step_conditionalst, field_name)); + n_condition->m_field_name = field_name; + n_condition->m_df_type = DF_Type::script_step_conditionalst__T_condition; + n_condition->m_rdf_type = RDF_Type::Compound; + n_condition->m_node_type = NodeType::Compound; + n_condition->m_address = base + offset; + n_condition->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_condition); + + field_name = "conditional_next_step_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::script_step_conditionalst, field_name)); + auto n_conditional_next_step_idx = new NodeSimple; + n_conditional_next_step_idx->m_field_name = field_name; + n_conditional_next_step_idx->m_df_type = DF_Type::int32_t; + n_conditional_next_step_idx->m_rdf_type = RDF_Type::int32_t; + n_conditional_next_step_idx->m_node_type = NodeType::Simple; + n_conditional_next_step_idx->m_address = base + offset; + n_conditional_next_step_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_conditional_next_step_idx); + +} +void node_from_script_step_textviewerst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::script_stepst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_script_stepst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "filename"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::script_step_textviewerst, field_name)); + auto n_filename = new NodeSimple; + n_filename->m_field_name = field_name; + n_filename->m_df_type = DF_Type::Stl_string; + n_filename->m_rdf_type = RDF_Type::Stl_string; + n_filename->m_node_type = NodeType::Simple; + n_filename->m_address = base + offset; + n_filename->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_filename); + + field_name = "outvar_name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::script_step_textviewerst, field_name)); + auto n_outvar_name = new NodeSimple; + n_outvar_name->m_field_name = field_name; + n_outvar_name->m_df_type = DF_Type::Stl_string; + n_outvar_name->m_rdf_type = RDF_Type::Stl_string; + n_outvar_name->m_node_type = NodeType::Simple; + n_outvar_name->m_address = base + offset; + n_outvar_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_outvar_name); + +} +void node_from_script_step_diphistoryst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::script_stepst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_script_stepst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "event"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::script_step_diphistoryst, field_name)); + auto n_event = new NodeSimple; + n_event->m_field_name = field_name; + n_event->m_df_type = DF_Type::Stl_string; + n_event->m_rdf_type = RDF_Type::Stl_string; + n_event->m_node_type = NodeType::Simple; + n_event->m_address = base + offset; + n_event->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_event); + +} +void node_from_script_step_discussst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::script_stepst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_script_stepst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "event"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::script_step_discussst, field_name)); + auto n_event = new NodeSimple; + n_event->m_field_name = field_name; + n_event->m_df_type = DF_Type::Stl_string; + n_event->m_rdf_type = RDF_Type::Stl_string; + n_event->m_node_type = NodeType::Simple; + n_event->m_address = base + offset; + n_event->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_event); + +} +void node_from_script_step_topicdiscussionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::script_stepst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_script_stepst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_script_step_constructtopiclistst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::script_stepst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_script_stepst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_script_step_eventst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::script_stepst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_script_stepst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_script_step_dipeventst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::script_step_eventst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_script_step_eventst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "parm1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::script_step_dipeventst, field_name)); + auto n_parm1 = new NodeSimple; + n_parm1->m_field_name = field_name; + n_parm1->m_df_type = DF_Type::Stl_string; + n_parm1->m_rdf_type = RDF_Type::Stl_string; + n_parm1->m_node_type = NodeType::Simple; + n_parm1->m_address = base + offset; + n_parm1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_parm1); + + field_name = "parm2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::script_step_dipeventst, field_name)); + auto n_parm2 = new NodeSimple; + n_parm2->m_field_name = field_name; + n_parm2->m_df_type = DF_Type::Stl_string; + n_parm2->m_rdf_type = RDF_Type::Stl_string; + n_parm2->m_node_type = NodeType::Simple; + n_parm2->m_address = base + offset; + n_parm2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_parm2); + + field_name = "parm3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::script_step_dipeventst, field_name)); + auto n_parm3 = new NodeSimple; + n_parm3->m_field_name = field_name; + n_parm3->m_df_type = DF_Type::Stl_string; + n_parm3->m_rdf_type = RDF_Type::Stl_string; + n_parm3->m_node_type = NodeType::Simple; + n_parm3->m_address = base + offset; + n_parm3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_parm3); + + field_name = "parm4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::script_step_dipeventst, field_name)); + auto n_parm4 = new NodeSimple; + n_parm4->m_field_name = field_name; + n_parm4->m_df_type = DF_Type::Stl_string; + n_parm4->m_rdf_type = RDF_Type::Stl_string; + n_parm4->m_node_type = NodeType::Simple; + n_parm4->m_address = base + offset; + n_parm4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_parm4); + + field_name = "parm5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::script_step_dipeventst, field_name)); + auto n_parm5 = new NodeSimple; + n_parm5->m_field_name = field_name; + n_parm5->m_df_type = DF_Type::Stl_string; + n_parm5->m_rdf_type = RDF_Type::Stl_string; + n_parm5->m_node_type = NodeType::Simple; + n_parm5->m_address = base + offset; + n_parm5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_parm5); + +} +void node_from_script_step_invasionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::script_step_eventst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_script_step_eventst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "parm"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::script_step_invasionst, field_name)); + auto n_parm = new NodeSimple; + n_parm->m_field_name = field_name; + n_parm->m_df_type = DF_Type::Stl_string; + n_parm->m_rdf_type = RDF_Type::Stl_string; + n_parm->m_node_type = NodeType::Simple; + n_parm->m_address = base + offset; + n_parm->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_parm); + +} +void node_from_script_varst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::script_varst, field_name)); + auto n_name = new NodeSimple; + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Stl_string; + n_name->m_node_type = NodeType::Simple; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + +} +void node_from_script_var_unitst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::script_varst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_script_varst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_script_var_longst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::script_varst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_script_varst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_active_script_varst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::active_script_varst, field_name)); + auto n_name = new NodeSimple; + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Stl_string; + n_name->m_node_type = NodeType::Simple; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + +} +void node_from_active_script_var_longst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::active_script_varst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_active_script_varst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "value"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::active_script_var_longst, field_name)); + auto n_value = new NodeSimple; + n_value->m_field_name = field_name; + n_value->m_df_type = DF_Type::int32_t; + n_value->m_rdf_type = RDF_Type::int32_t; + n_value->m_node_type = NodeType::Simple; + n_value->m_address = base + offset; + n_value->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_value); + +} +void node_from_meeting_topic(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_meeting_event_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_activity_event_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_activity_event_participants(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "histfigs"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_participants, field_name)); + auto n_histfigs = new NodeVector; + n_histfigs->m_field_name = field_name; + n_histfigs->m_df_type = DF_Type::int32_t; + n_histfigs->m_rdf_type = RDF_Type::Vector; + n_histfigs->m_node_type = NodeType::Vector; + n_histfigs->m_addornements = "v"; + n_histfigs->m_address = base + offset; + n_histfigs->m_parent = p_node_parent; + n_histfigs->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_histfigs); + + field_name = "units"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_participants, field_name)); + auto n_units = new NodeVector; + n_units->m_field_name = field_name; + n_units->m_df_type = DF_Type::int32_t; + n_units->m_rdf_type = RDF_Type::Vector; + n_units->m_node_type = NodeType::Vector; + n_units->m_addornements = "v"; + n_units->m_address = base + offset; + n_units->m_parent = p_node_parent; + n_units->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_units); + + field_name = "free_histfigs"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_participants, field_name)); + auto n_free_histfigs = new NodeVector; + n_free_histfigs->m_field_name = field_name; + n_free_histfigs->m_df_type = DF_Type::int32_t; + n_free_histfigs->m_rdf_type = RDF_Type::Vector; + n_free_histfigs->m_node_type = NodeType::Vector; + n_free_histfigs->m_addornements = "v"; + n_free_histfigs->m_address = base + offset; + n_free_histfigs->m_parent = p_node_parent; + n_free_histfigs->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_free_histfigs); + + field_name = "free_units"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_participants, field_name)); + auto n_free_units = new NodeVector; + n_free_units->m_field_name = field_name; + n_free_units->m_df_type = DF_Type::int32_t; + n_free_units->m_rdf_type = RDF_Type::Vector; + n_free_units->m_node_type = NodeType::Vector; + n_free_units->m_addornements = "v"; + n_free_units->m_address = base + offset; + n_free_units->m_parent = p_node_parent; + n_free_units->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_free_units); + + field_name = "activity_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_participants, field_name)); + auto n_activity_id = new NodeSimple; + n_activity_id->m_field_name = field_name; + n_activity_id->m_df_type = DF_Type::int32_t; + n_activity_id->m_rdf_type = RDF_Type::int32_t; + n_activity_id->m_node_type = NodeType::Simple; + n_activity_id->m_address = base + offset; + n_activity_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_activity_id); + + field_name = "event_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_participants, field_name)); + auto n_event_id = new NodeSimple; + n_event_id->m_field_name = field_name; + n_event_id->m_df_type = DF_Type::int32_t; + n_event_id->m_rdf_type = RDF_Type::int32_t; + n_event_id->m_node_type = NodeType::Simple; + n_event_id->m_address = base + offset; + n_event_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_event_id); + +} +void node_from_conversation_menu(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_performance_event_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_performance_participant_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_schedule_slot(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::schedule_slot, field_name)); + auto n_type = new NodeSimple; + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::int16_t; + n_type->m_rdf_type = RDF_Type::int16_t; + n_type->m_node_type = NodeType::Simple; + n_type->m_address = base + offset; + n_type->m_comment = "0:Eat, 1:Sleep, 2-4:???"; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + + field_name = "start_time"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::schedule_slot, field_name)); + auto n_start_time = new NodeSimple; + n_start_time->m_field_name = field_name; + n_start_time->m_df_type = DF_Type::int16_t; + n_start_time->m_rdf_type = RDF_Type::int16_t; + n_start_time->m_node_type = NodeType::Simple; + n_start_time->m_address = base + offset; + n_start_time->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_start_time); + + field_name = "end_time"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::schedule_slot, field_name)); + auto n_end_time = new NodeSimple; + n_end_time->m_field_name = field_name; + n_end_time->m_df_type = DF_Type::int16_t; + n_end_time->m_rdf_type = RDF_Type::int16_t; + n_end_time->m_node_type = NodeType::Simple; + n_end_time->m_address = base + offset; + n_end_time->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_end_time); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::schedule_slot, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int16_t; + n_anon_1->m_rdf_type = RDF_Type::int16_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "processed"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::schedule_slot, field_name)); + auto n_processed = new NodeSimple; + n_processed->m_field_name = field_name; + n_processed->m_df_type = DF_Type::int8_t; + n_processed->m_rdf_type = RDF_Type::int8_t; + n_processed->m_node_type = NodeType::Simple; + n_processed->m_address = base + offset; + n_processed->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_processed); + +} +void node_from_uniform_indiv_choice(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_squad_use_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_uniform_category(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_uniform_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_barrack_preference_category(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_squad_event_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_squad_order_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_squad_order_cannot_reason(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_squad_order(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk_v40_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_order, field_name)); + auto n_unk_v40_1 = new NodeSimple; + n_unk_v40_1->m_field_name = field_name; + n_unk_v40_1->m_df_type = DF_Type::int32_t; + n_unk_v40_1->m_rdf_type = RDF_Type::int32_t; + n_unk_v40_1->m_node_type = NodeType::Simple; + n_unk_v40_1->m_address = base + offset; + n_unk_v40_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_1); + + field_name = "unk_v40_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_order, field_name)); + auto n_unk_v40_2 = new NodeSimple; + n_unk_v40_2->m_field_name = field_name; + n_unk_v40_2->m_df_type = DF_Type::int32_t; + n_unk_v40_2->m_rdf_type = RDF_Type::int32_t; + n_unk_v40_2->m_node_type = NodeType::Simple; + n_unk_v40_2->m_address = base + offset; + n_unk_v40_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_2); + + field_name = "year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_order, field_name)); + auto n_year = new NodeSimple; + n_year->m_field_name = field_name; + n_year->m_df_type = DF_Type::int32_t; + n_year->m_rdf_type = RDF_Type::int32_t; + n_year->m_node_type = NodeType::Simple; + n_year->m_address = base + offset; + n_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_year); + + field_name = "year_tick"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_order, field_name)); + auto n_year_tick = new NodeSimple; + n_year_tick->m_field_name = field_name; + n_year_tick->m_df_type = DF_Type::int32_t; + n_year_tick->m_rdf_type = RDF_Type::int32_t; + n_year_tick->m_node_type = NodeType::Simple; + n_year_tick->m_address = base + offset; + n_year_tick->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_year_tick); + + field_name = "unk_v40_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_order, field_name)); + auto n_unk_v40_3 = new NodeSimple; + n_unk_v40_3->m_field_name = field_name; + n_unk_v40_3->m_df_type = DF_Type::int32_t; + n_unk_v40_3->m_rdf_type = RDF_Type::int32_t; + n_unk_v40_3->m_node_type = NodeType::Simple; + n_unk_v40_3->m_address = base + offset; + n_unk_v40_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_3); + + field_name = "unk_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_order, field_name)); + auto n_unk_1 = new NodeSimple; + n_unk_1->m_field_name = field_name; + n_unk_1->m_df_type = DF_Type::int32_t; + n_unk_1->m_rdf_type = RDF_Type::int32_t; + n_unk_1->m_node_type = NodeType::Simple; + n_unk_1->m_address = base + offset; + n_unk_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_1); + +} +void node_from_squad_order_kill_listst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::squad_order; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_squad_order(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "units"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_order_kill_listst, field_name)); + auto n_units = new NodeVector; + n_units->m_field_name = field_name; + n_units->m_df_type = DF_Type::int32_t; + n_units->m_rdf_type = RDF_Type::Vector; + n_units->m_node_type = NodeType::Vector; + n_units->m_addornements = "v"; + n_units->m_address = base + offset; + n_units->m_parent = p_node_parent; + n_units->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_units); + + field_name = "histfigs"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_order_kill_listst, field_name)); + auto n_histfigs = new NodeVector; + n_histfigs->m_field_name = field_name; + n_histfigs->m_df_type = DF_Type::int32_t; + n_histfigs->m_rdf_type = RDF_Type::Vector; + n_histfigs->m_node_type = NodeType::Vector; + n_histfigs->m_addornements = "v"; + n_histfigs->m_address = base + offset; + n_histfigs->m_parent = p_node_parent; + n_histfigs->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_histfigs); + + field_name = "title"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_order_kill_listst, field_name)); + auto n_title = new NodeSimple; + n_title->m_field_name = field_name; + n_title->m_df_type = DF_Type::Stl_string; + n_title->m_rdf_type = RDF_Type::Stl_string; + n_title->m_node_type = NodeType::Simple; + n_title->m_address = base + offset; + n_title->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_title); + +} +void node_from_squad_order_defend_burrowsst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::squad_order; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_squad_order(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "burrows"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_order_defend_burrowsst, field_name)); + auto n_burrows = new NodeVector; + n_burrows->m_field_name = field_name; + n_burrows->m_df_type = DF_Type::int32_t; + n_burrows->m_rdf_type = RDF_Type::Vector; + n_burrows->m_node_type = NodeType::Vector; + n_burrows->m_addornements = "v"; + n_burrows->m_address = base + offset; + n_burrows->m_parent = p_node_parent; + n_burrows->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_burrows); + +} +void node_from_squad_order_patrol_routest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::squad_order; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_squad_order(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "route_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_order_patrol_routest, field_name)); + auto n_route_id = new NodeSimple; + n_route_id->m_field_name = field_name; + n_route_id->m_df_type = DF_Type::int32_t; + n_route_id->m_rdf_type = RDF_Type::int32_t; + n_route_id->m_node_type = NodeType::Simple; + n_route_id->m_address = base + offset; + n_route_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_route_id); + +} +void node_from_squad_order_trainst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::squad_order; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_squad_order(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_squad_order_drive_entity_off_sitest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::squad_order; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_squad_order(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_order_drive_entity_off_sitest, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_order_drive_entity_off_sitest, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_order_drive_entity_off_sitest, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::Stl_string; + n_anon_3->m_rdf_type = RDF_Type::Stl_string; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + +} +void node_from_squad_order_cause_trouble_for_entityst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::squad_order; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_squad_order(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_order_cause_trouble_for_entityst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_order_cause_trouble_for_entityst, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::Stl_string; + n_anon_2->m_rdf_type = RDF_Type::Stl_string; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + +} +void node_from_squad_order_kill_hfst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::squad_order; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_squad_order(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "histfig_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_order_kill_hfst, field_name)); + auto n_histfig_id = new NodeSimple; + n_histfig_id->m_field_name = field_name; + n_histfig_id->m_df_type = DF_Type::int32_t; + n_histfig_id->m_rdf_type = RDF_Type::int32_t; + n_histfig_id->m_node_type = NodeType::Simple; + n_histfig_id->m_address = base + offset; + n_histfig_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig_id); + + field_name = "title"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_order_kill_hfst, field_name)); + auto n_title = new NodeSimple; + n_title->m_field_name = field_name; + n_title->m_df_type = DF_Type::Stl_string; + n_title->m_rdf_type = RDF_Type::Stl_string; + n_title->m_node_type = NodeType::Simple; + n_title->m_address = base + offset; + n_title->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_title); + +} +void node_from_squad_order_drive_armies_from_sitest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::squad_order; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_squad_order(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_order_drive_armies_from_sitest, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_order_drive_armies_from_sitest, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_order_drive_armies_from_sitest, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::Stl_string; + n_anon_3->m_rdf_type = RDF_Type::Stl_string; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + +} +void node_from_army_controller_sub1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub1, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub1, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub1, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + +} +void node_from_army_controller_sub4(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub4, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "unk_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub4, field_name)); + auto n_unk_2 = new NodeBitfield; + n_unk_2->m_field_name = field_name; + n_unk_2->m_df_type = DF_Type::army_controller_sub4__T_unk_2; + n_unk_2->m_rdf_type = RDF_Type::Bitfield; + n_unk_2->m_node_type = NodeType::Bitfield; + n_unk_2->m_address = base + offset; + n_unk_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_2); + +} +void node_from_army_controller_sub5(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub5, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub5, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub5, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub5, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub5, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + +} +void node_from_army_controller_sub6(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub6, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub6, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub6, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub6, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub6, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub6, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub6, field_name)); + auto n_anon_7 = new NodeSimple; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::int32_t; + n_anon_7->m_rdf_type = RDF_Type::int32_t; + n_anon_7->m_node_type = NodeType::Simple; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_7); + + field_name = "anon_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub6, field_name)); + auto n_anon_8 = new NodeSimple; + n_anon_8->m_field_name = field_name; + n_anon_8->m_df_type = DF_Type::int32_t; + n_anon_8->m_rdf_type = RDF_Type::int32_t; + n_anon_8->m_node_type = NodeType::Simple; + n_anon_8->m_address = base + offset; + n_anon_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_8); + + field_name = "anon_9"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub6, field_name)); + auto n_anon_9 = new NodeSimple; + n_anon_9->m_field_name = field_name; + n_anon_9->m_df_type = DF_Type::int32_t; + n_anon_9->m_rdf_type = RDF_Type::int32_t; + n_anon_9->m_node_type = NodeType::Simple; + n_anon_9->m_address = base + offset; + n_anon_9->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_9); + +} +void node_from_army_controller_sub16(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub16, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_army_controller_sub17(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub17, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub17, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + +} +void node_from_army_controller_sub18(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub18, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub18, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + +} +void node_from_army_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_unit_path_goal(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_unit_station_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_plant_raw_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_plant_growth_print(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "priority"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_growth_print, field_name)); + auto n_priority = new NodeSimple; + n_priority->m_field_name = field_name; + n_priority->m_df_type = DF_Type::int32_t; + n_priority->m_rdf_type = RDF_Type::int32_t; + n_priority->m_node_type = NodeType::Simple; + n_priority->m_address = base + offset; + n_priority->m_comment = "final token in list"; + n_priority->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_priority); + + field_name = "tile_growth"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_growth_print, field_name)); + auto n_tile_growth = new NodeSimple; + n_tile_growth->m_field_name = field_name; + n_tile_growth->m_df_type = DF_Type::uint8_t; + n_tile_growth->m_rdf_type = RDF_Type::uint8_t; + n_tile_growth->m_node_type = NodeType::Simple; + n_tile_growth->m_address = base + offset; + n_tile_growth->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tile_growth); + + field_name = "tile_item"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_growth_print, field_name)); + auto n_tile_item = new NodeSimple; + n_tile_item->m_field_name = field_name; + n_tile_item->m_df_type = DF_Type::uint8_t; + n_tile_item->m_rdf_type = RDF_Type::uint8_t; + n_tile_item->m_node_type = NodeType::Simple; + n_tile_item->m_address = base + offset; + n_tile_item->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tile_item); + + field_name = "color"; + auto n_color = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_growth_print, field_name)); + n_color->m_field_name = field_name; + n_color->m_df_type = DF_Type::int16_t; + n_color->m_rdf_type = RDF_Type::Array; + n_color->m_node_type = NodeType::Array; + n_color->m_addornements = "[3"; + n_color->m_array_size = 3; + n_color->m_address = base + offset; + n_color->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_color); + + field_name = "timing_start"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_growth_print, field_name)); + auto n_timing_start = new NodeSimple; + n_timing_start->m_field_name = field_name; + n_timing_start->m_df_type = DF_Type::int32_t; + n_timing_start->m_rdf_type = RDF_Type::int32_t; + n_timing_start->m_node_type = NodeType::Simple; + n_timing_start->m_address = base + offset; + n_timing_start->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_timing_start); + + field_name = "timing_end"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_growth_print, field_name)); + auto n_timing_end = new NodeSimple; + n_timing_end->m_field_name = field_name; + n_timing_end->m_df_type = DF_Type::int32_t; + n_timing_end->m_rdf_type = RDF_Type::int32_t; + n_timing_end->m_node_type = NodeType::Simple; + n_timing_end->m_address = base + offset; + n_timing_end->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_timing_end); + +} +void node_from_plant_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_plant_tree_tile(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_projectile_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_projectile_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_reaction_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_reaction_category(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_category, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::Stl_string; + n_id->m_rdf_type = RDF_Type::Stl_string; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "parent"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_category, field_name)); + auto n_parent = new NodeSimple; + n_parent->m_field_name = field_name; + n_parent->m_df_type = DF_Type::Stl_string; + n_parent->m_rdf_type = RDF_Type::Stl_string; + n_parent->m_node_type = NodeType::Simple; + n_parent->m_address = base + offset; + n_parent->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_parent); + + field_name = "name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_category, field_name)); + auto n_name = new NodeSimple; + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Stl_string; + n_name->m_node_type = NodeType::Simple; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "key"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_category, field_name)); + auto n_key = new NodeSimple; + n_key->m_field_name = field_name; + n_key->m_df_type = DF_Type::int32_t; + n_key->m_rdf_type = RDF_Type::int32_t; + n_key->m_node_type = NodeType::Simple; + n_key->m_address = base + offset; + n_key->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_key); + + field_name = "description"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_category, field_name)); + auto n_description = new NodeSimple; + n_description->m_field_name = field_name; + n_description->m_df_type = DF_Type::Stl_string; + n_description->m_rdf_type = RDF_Type::Stl_string; + n_description->m_node_type = NodeType::Simple; + n_description->m_address = base + offset; + n_description->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_description); + +} +void node_from_reaction_reagent_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_reaction_reagent_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_reaction_product_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_reaction_product(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk_v4201_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_product, field_name)); + auto n_unk_v4201_1 = new NodeSimple; + n_unk_v4201_1->m_field_name = field_name; + n_unk_v4201_1->m_df_type = DF_Type::Stl_string; + n_unk_v4201_1->m_rdf_type = RDF_Type::Stl_string; + n_unk_v4201_1->m_node_type = NodeType::Simple; + n_unk_v4201_1->m_address = base + offset; + n_unk_v4201_1->m_comment = "unknown if really here"; + n_unk_v4201_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v4201_1); + + field_name = "product_to_container"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_product, field_name)); + auto n_product_to_container = new NodeSimple; + n_product_to_container->m_field_name = field_name; + n_product_to_container->m_df_type = DF_Type::Stl_string; + n_product_to_container->m_rdf_type = RDF_Type::Stl_string; + n_product_to_container->m_node_type = NodeType::Simple; + n_product_to_container->m_address = base + offset; + n_product_to_container->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_product_to_container); + +} +void node_from_reaction_product_item_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_reaction_product_improvement_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_general_ref_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_general_ref(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_general_ref_artifact(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "artifact_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_artifact, field_name)); + auto n_artifact_id = new NodeSimple; + n_artifact_id->m_field_name = field_name; + n_artifact_id->m_df_type = DF_Type::int32_t; + n_artifact_id->m_rdf_type = RDF_Type::int32_t; + n_artifact_id->m_node_type = NodeType::Simple; + n_artifact_id->m_address = base + offset; + n_artifact_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_artifact_id); + +} +void node_from_general_ref_nemesis(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "nemesis_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_nemesis, field_name)); + auto n_nemesis_id = new NodeSimple; + n_nemesis_id->m_field_name = field_name; + n_nemesis_id->m_df_type = DF_Type::int32_t; + n_nemesis_id->m_rdf_type = RDF_Type::int32_t; + n_nemesis_id->m_node_type = NodeType::Simple; + n_nemesis_id->m_address = base + offset; + n_nemesis_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_nemesis_id); + +} +void node_from_general_ref_item(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "item_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_item, field_name)); + auto n_item_id = new NodeSimple; + n_item_id->m_field_name = field_name; + n_item_id->m_df_type = DF_Type::int32_t; + n_item_id->m_rdf_type = RDF_Type::int32_t; + n_item_id->m_node_type = NodeType::Simple; + n_item_id->m_address = base + offset; + n_item_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_id); + + field_name = "cached_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_item, field_name)); + auto n_cached_index = new NodeSimple; + n_cached_index->m_field_name = field_name; + n_cached_index->m_df_type = DF_Type::int32_t; + n_cached_index->m_rdf_type = RDF_Type::int32_t; + n_cached_index->m_node_type = NodeType::Simple; + n_cached_index->m_address = base + offset; + n_cached_index->m_comment = "lookup optimization, tries before binary search"; + n_cached_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cached_index); + +} +void node_from_general_ref_coinbatch(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "batch"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_coinbatch, field_name)); + auto n_batch = new NodeSimple; + n_batch->m_field_name = field_name; + n_batch->m_df_type = DF_Type::int32_t; + n_batch->m_rdf_type = RDF_Type::int32_t; + n_batch->m_node_type = NodeType::Simple; + n_batch->m_address = base + offset; + n_batch->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_batch); + +} +void node_from_general_ref_entity_art_image(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "entity_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_entity_art_image, field_name)); + auto n_entity_id = new NodeSimple; + n_entity_id->m_field_name = field_name; + n_entity_id->m_df_type = DF_Type::int32_t; + n_entity_id->m_rdf_type = RDF_Type::int32_t; + n_entity_id->m_node_type = NodeType::Simple; + n_entity_id->m_address = base + offset; + n_entity_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity_id); + + field_name = "index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_entity_art_image, field_name)); + auto n_index = new NodeSimple; + n_index->m_field_name = field_name; + n_index->m_df_type = DF_Type::int32_t; + n_index->m_rdf_type = RDF_Type::int32_t; + n_index->m_node_type = NodeType::Simple; + n_index->m_address = base + offset; + n_index->m_comment = "lookup in entity.resources.art_image_*"; + n_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_index); + +} +void node_from_general_ref_projectile(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "projectile_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_projectile, field_name)); + auto n_projectile_id = new NodeSimple; + n_projectile_id->m_field_name = field_name; + n_projectile_id->m_df_type = DF_Type::int32_t; + n_projectile_id->m_rdf_type = RDF_Type::int32_t; + n_projectile_id->m_node_type = NodeType::Simple; + n_projectile_id->m_address = base + offset; + n_projectile_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_projectile_id); + +} +void node_from_general_ref_unit(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unit_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_unit, field_name)); + auto n_unit_id = new NodeSimple; + n_unit_id->m_field_name = field_name; + n_unit_id->m_df_type = DF_Type::int32_t; + n_unit_id->m_rdf_type = RDF_Type::int32_t; + n_unit_id->m_node_type = NodeType::Simple; + n_unit_id->m_address = base + offset; + n_unit_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unit_id); + + field_name = "cached_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_unit, field_name)); + auto n_cached_index = new NodeSimple; + n_cached_index->m_field_name = field_name; + n_cached_index->m_df_type = DF_Type::int32_t; + n_cached_index->m_rdf_type = RDF_Type::int32_t; + n_cached_index->m_node_type = NodeType::Simple; + n_cached_index->m_address = base + offset; + n_cached_index->m_comment = "lookup optimization, tries before binary search"; + n_cached_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cached_index); + +} +void node_from_general_ref_building(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "building_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_building, field_name)); + auto n_building_id = new NodeSimple; + n_building_id->m_field_name = field_name; + n_building_id->m_df_type = DF_Type::int32_t; + n_building_id->m_rdf_type = RDF_Type::int32_t; + n_building_id->m_node_type = NodeType::Simple; + n_building_id->m_address = base + offset; + n_building_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_building_id); + +} +void node_from_general_ref_entity(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "entity_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_entity, field_name)); + auto n_entity_id = new NodeSimple; + n_entity_id->m_field_name = field_name; + n_entity_id->m_df_type = DF_Type::int32_t; + n_entity_id->m_rdf_type = RDF_Type::int32_t; + n_entity_id->m_node_type = NodeType::Simple; + n_entity_id->m_address = base + offset; + n_entity_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity_id); + +} +void node_from_general_ref_locationst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_locationst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_locationst, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_locationst, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + +} +void node_from_general_ref_interactionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "interaction_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_interactionst, field_name)); + auto n_interaction_id = new NodeSimple; + n_interaction_id->m_field_name = field_name; + n_interaction_id->m_df_type = DF_Type::int32_t; + n_interaction_id->m_rdf_type = RDF_Type::int32_t; + n_interaction_id->m_node_type = NodeType::Simple; + n_interaction_id->m_address = base + offset; + n_interaction_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_interaction_id); + + field_name = "source_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_interactionst, field_name)); + auto n_source_id = new NodeSimple; + n_source_id->m_field_name = field_name; + n_source_id->m_df_type = DF_Type::int32_t; + n_source_id->m_rdf_type = RDF_Type::int32_t; + n_source_id->m_node_type = NodeType::Simple; + n_source_id->m_address = base + offset; + n_source_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_source_id); + + field_name = "unk_08"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_interactionst, field_name)); + auto n_unk_08 = new NodeSimple; + n_unk_08->m_field_name = field_name; + n_unk_08->m_df_type = DF_Type::int32_t; + n_unk_08->m_rdf_type = RDF_Type::int32_t; + n_unk_08->m_node_type = NodeType::Simple; + n_unk_08->m_address = base + offset; + n_unk_08->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_08); + + field_name = "unk_0c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_interactionst, field_name)); + auto n_unk_0c = new NodeSimple; + n_unk_0c->m_field_name = field_name; + n_unk_0c->m_df_type = DF_Type::int32_t; + n_unk_0c->m_rdf_type = RDF_Type::int32_t; + n_unk_0c->m_node_type = NodeType::Simple; + n_unk_0c->m_address = base + offset; + n_unk_0c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_0c); + +} +void node_from_general_ref_abstract_buildingst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "site_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_abstract_buildingst, field_name)); + auto n_site_id = new NodeSimple; + n_site_id->m_field_name = field_name; + n_site_id->m_df_type = DF_Type::int32_t; + n_site_id->m_rdf_type = RDF_Type::int32_t; + n_site_id->m_node_type = NodeType::Simple; + n_site_id->m_address = base + offset; + n_site_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_id); + + field_name = "building_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_abstract_buildingst, field_name)); + auto n_building_id = new NodeSimple; + n_building_id->m_field_name = field_name; + n_building_id->m_df_type = DF_Type::int32_t; + n_building_id->m_rdf_type = RDF_Type::int32_t; + n_building_id->m_node_type = NodeType::Simple; + n_building_id->m_address = base + offset; + n_building_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_building_id); + +} +void node_from_general_ref_historical_eventst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "event_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_historical_eventst, field_name)); + auto n_event_id = new NodeSimple; + n_event_id->m_field_name = field_name; + n_event_id->m_df_type = DF_Type::int32_t; + n_event_id->m_rdf_type = RDF_Type::int32_t; + n_event_id->m_node_type = NodeType::Simple; + n_event_id->m_address = base + offset; + n_event_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_event_id); + +} +void node_from_general_ref_sitest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "site_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_sitest, field_name)); + auto n_site_id = new NodeSimple; + n_site_id->m_field_name = field_name; + n_site_id->m_df_type = DF_Type::int32_t; + n_site_id->m_rdf_type = RDF_Type::int32_t; + n_site_id->m_node_type = NodeType::Simple; + n_site_id->m_address = base + offset; + n_site_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_id); + +} +void node_from_general_ref_subregionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "region_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_subregionst, field_name)); + auto n_region_id = new NodeSimple; + n_region_id->m_field_name = field_name; + n_region_id->m_df_type = DF_Type::int32_t; + n_region_id->m_rdf_type = RDF_Type::int32_t; + n_region_id->m_node_type = NodeType::Simple; + n_region_id->m_address = base + offset; + n_region_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region_id); + +} +void node_from_general_ref_feature_layerst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "underground_region_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_feature_layerst, field_name)); + auto n_underground_region_id = new NodeSimple; + n_underground_region_id->m_field_name = field_name; + n_underground_region_id->m_df_type = DF_Type::int32_t; + n_underground_region_id->m_rdf_type = RDF_Type::int32_t; + n_underground_region_id->m_node_type = NodeType::Simple; + n_underground_region_id->m_address = base + offset; + n_underground_region_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_underground_region_id); + +} +void node_from_general_ref_historical_figurest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "hist_figure_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_historical_figurest, field_name)); + auto n_hist_figure_id = new NodeSimple; + n_hist_figure_id->m_field_name = field_name; + n_hist_figure_id->m_df_type = DF_Type::int32_t; + n_hist_figure_id->m_rdf_type = RDF_Type::int32_t; + n_hist_figure_id->m_node_type = NodeType::Simple; + n_hist_figure_id->m_address = base + offset; + n_hist_figure_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_hist_figure_id); + +} +void node_from_general_ref_entity_popst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_entity_popst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "race"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_entity_popst, field_name)); + auto n_race = new NodeSimple; + n_race->m_field_name = field_name; + n_race->m_df_type = DF_Type::int32_t; + n_race->m_rdf_type = RDF_Type::int32_t; + n_race->m_node_type = NodeType::Simple; + n_race->m_address = base + offset; + n_race->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_race); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_entity_popst, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_entity_popst, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::general_ref_entity_popst__T_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + +} +void node_from_general_ref_creaturest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "race"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_creaturest, field_name)); + auto n_race = new NodeSimple; + n_race->m_field_name = field_name; + n_race->m_df_type = DF_Type::int32_t; + n_race->m_rdf_type = RDF_Type::int32_t; + n_race->m_node_type = NodeType::Simple; + n_race->m_address = base + offset; + n_race->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_race); + + field_name = "caste"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_creaturest, field_name)); + auto n_caste = new NodeSimple; + n_caste->m_field_name = field_name; + n_caste->m_df_type = DF_Type::int32_t; + n_caste->m_rdf_type = RDF_Type::int32_t; + n_caste->m_node_type = NodeType::Simple; + n_caste->m_address = base + offset; + n_caste->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_caste); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_creaturest, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_creaturest, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_creaturest, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::general_ref_creaturest__T_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + +} +void node_from_general_ref_activity_eventst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "activity_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_activity_eventst, field_name)); + auto n_activity_id = new NodeSimple; + n_activity_id->m_field_name = field_name; + n_activity_id->m_df_type = DF_Type::int32_t; + n_activity_id->m_rdf_type = RDF_Type::int32_t; + n_activity_id->m_node_type = NodeType::Simple; + n_activity_id->m_address = base + offset; + n_activity_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_activity_id); + + field_name = "event_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_activity_eventst, field_name)); + auto n_event_id = new NodeSimple; + n_event_id->m_field_name = field_name; + n_event_id->m_df_type = DF_Type::int32_t; + n_event_id->m_rdf_type = RDF_Type::int32_t; + n_event_id->m_node_type = NodeType::Simple; + n_event_id->m_address = base + offset; + n_event_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_event_id); + +} +void node_from_general_ref_languagest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_languagest, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_general_ref_written_contentst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "written_content_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_written_contentst, field_name)); + auto n_written_content_id = new NodeSimple; + n_written_content_id->m_field_name = field_name; + n_written_content_id->m_df_type = DF_Type::int32_t; + n_written_content_id->m_rdf_type = RDF_Type::int32_t; + n_written_content_id->m_node_type = NodeType::Simple; + n_written_content_id->m_address = base + offset; + n_written_content_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_written_content_id); + +} +void node_from_general_ref_poetic_formst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "poetic_form_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_poetic_formst, field_name)); + auto n_poetic_form_id = new NodeSimple; + n_poetic_form_id->m_field_name = field_name; + n_poetic_form_id->m_df_type = DF_Type::int32_t; + n_poetic_form_id->m_rdf_type = RDF_Type::int32_t; + n_poetic_form_id->m_node_type = NodeType::Simple; + n_poetic_form_id->m_address = base + offset; + n_poetic_form_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_poetic_form_id); + +} +void node_from_general_ref_musical_formst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "musical_form_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_musical_formst, field_name)); + auto n_musical_form_id = new NodeSimple; + n_musical_form_id->m_field_name = field_name; + n_musical_form_id->m_df_type = DF_Type::int32_t; + n_musical_form_id->m_rdf_type = RDF_Type::int32_t; + n_musical_form_id->m_node_type = NodeType::Simple; + n_musical_form_id->m_address = base + offset; + n_musical_form_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_musical_form_id); + +} +void node_from_general_ref_dance_formst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "dance_form_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_dance_formst, field_name)); + auto n_dance_form_id = new NodeSimple; + n_dance_form_id->m_field_name = field_name; + n_dance_form_id->m_df_type = DF_Type::int32_t; + n_dance_form_id->m_rdf_type = RDF_Type::int32_t; + n_dance_form_id->m_node_type = NodeType::Simple; + n_dance_form_id->m_address = base + offset; + n_dance_form_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dance_form_id); + +} +void node_from_general_ref_is_artifactst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref_artifact; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref_artifact(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_general_ref_is_nemesisst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref_nemesis; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref_nemesis(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_general_ref_contains_unitst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref_unit; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref_unit(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_general_ref_contains_itemst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref_item; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref_item(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_general_ref_contained_in_itemst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref_item; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref_item(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_general_ref_unit_milkeest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref_unit; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref_unit(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_general_ref_unit_traineest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref_unit; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref_unit(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_general_ref_unit_itemownerst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref_unit; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref_unit(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_unit_itemownerst, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::general_ref_unit_itemownerst__T_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + +} +void node_from_general_ref_unit_tradebringerst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref_unit; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref_unit(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_general_ref_unit_holderst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref_unit; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref_unit(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_general_ref_unit_workerst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref_unit; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref_unit(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_general_ref_unit_cageest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref_unit; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref_unit(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_general_ref_unit_beateest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref_unit; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref_unit(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_general_ref_unit_foodreceiverst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref_unit; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref_unit(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_general_ref_unit_kidnapeest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref_unit; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref_unit(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_general_ref_unit_patientst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref_unit; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref_unit(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_general_ref_unit_infantst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref_unit; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref_unit(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_general_ref_unit_slaughtereest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref_unit; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref_unit(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_general_ref_unit_sheareest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref_unit; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref_unit(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_general_ref_unit_suckeest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref_unit; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref_unit(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_general_ref_unit_reporteest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref_unit; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref_unit(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_general_ref_unit_riderst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref_unit; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref_unit(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_general_ref_unit_climberst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref_unit; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref_unit(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_general_ref_unit_geldeest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref_unit; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref_unit(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_general_ref_building_civzone_assignedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref_building; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref_building(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_general_ref_building_triggerst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref_building; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref_building(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_general_ref_building_triggertargetst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref_building; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref_building(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_general_ref_building_chainst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref_building; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref_building(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_general_ref_building_cagedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref_building; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref_building(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_general_ref_building_holderst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref_building; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref_building(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_general_ref_building_well_tag(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref_building; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref_building(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "direction"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_building_well_tag, field_name)); + auto n_direction = new NodeSimple; + n_direction->m_field_name = field_name; + n_direction->m_df_type = DF_Type::int8_t; + n_direction->m_rdf_type = RDF_Type::int8_t; + n_direction->m_node_type = NodeType::Simple; + n_direction->m_address = base + offset; + n_direction->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_direction); + +} +void node_from_general_ref_building_use_target_1st(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref_building; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref_building(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_general_ref_building_use_target_2st(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref_building; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref_building(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_general_ref_building_destinationst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref_building; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref_building(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_general_ref_building_nest_boxst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref_building; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref_building(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_general_ref_building_display_furniturest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref_building; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref_building(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_general_ref_entity_stolenst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref_entity; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref_entity(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_general_ref_entity_offeredst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref_entity; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref_entity(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_general_ref_entity_itemownerst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref_entity; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref_entity(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_specific_ref_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_histfig_entity_link_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_histfig_entity_link(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "entity_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::histfig_entity_link, field_name)); + auto n_entity_id = new NodeSimple; + n_entity_id->m_field_name = field_name; + n_entity_id->m_df_type = DF_Type::int32_t; + n_entity_id->m_rdf_type = RDF_Type::int32_t; + n_entity_id->m_node_type = NodeType::Simple; + n_entity_id->m_address = base + offset; + n_entity_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity_id); + + field_name = "link_strength"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::histfig_entity_link, field_name)); + auto n_link_strength = new NodeSimple; + n_link_strength->m_field_name = field_name; + n_link_strength->m_df_type = DF_Type::int16_t; + n_link_strength->m_rdf_type = RDF_Type::int16_t; + n_link_strength->m_node_type = NodeType::Simple; + n_link_strength->m_address = base + offset; + n_link_strength->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_link_strength); + +} +void node_from_histfig_entity_link_memberst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::histfig_entity_link; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_histfig_entity_link(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_histfig_entity_link_former_memberst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::histfig_entity_link; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_histfig_entity_link(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_histfig_entity_link_mercenaryst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::histfig_entity_link; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_histfig_entity_link(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_histfig_entity_link_former_mercenaryst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::histfig_entity_link; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_histfig_entity_link(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_histfig_entity_link_slavest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::histfig_entity_link; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_histfig_entity_link(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_histfig_entity_link_former_slavest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::histfig_entity_link; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_histfig_entity_link(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_histfig_entity_link_prisonerst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::histfig_entity_link; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_histfig_entity_link(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_histfig_entity_link_former_prisonerst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::histfig_entity_link; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_histfig_entity_link(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_histfig_entity_link_enemyst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::histfig_entity_link; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_histfig_entity_link(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_histfig_entity_link_criminalst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::histfig_entity_link; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_histfig_entity_link(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_histfig_entity_link_positionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::histfig_entity_link; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_histfig_entity_link(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "assignment_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::histfig_entity_link_positionst, field_name)); + auto n_assignment_id = new NodeSimple; + n_assignment_id->m_field_name = field_name; + n_assignment_id->m_df_type = DF_Type::int32_t; + n_assignment_id->m_rdf_type = RDF_Type::int32_t; + n_assignment_id->m_node_type = NodeType::Simple; + n_assignment_id->m_address = base + offset; + n_assignment_id->m_refers_to = "(find-by-id $$._global.entity_id.ref-target.positions.assignments $id $)"; + n_assignment_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_assignment_id); + + field_name = "start_year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::histfig_entity_link_positionst, field_name)); + auto n_start_year = new NodeSimple; + n_start_year->m_field_name = field_name; + n_start_year->m_df_type = DF_Type::int32_t; + n_start_year->m_rdf_type = RDF_Type::int32_t; + n_start_year->m_node_type = NodeType::Simple; + n_start_year->m_address = base + offset; + n_start_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_start_year); + +} +void node_from_histfig_entity_link_former_positionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::histfig_entity_link; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_histfig_entity_link(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "assignment_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::histfig_entity_link_former_positionst, field_name)); + auto n_assignment_id = new NodeSimple; + n_assignment_id->m_field_name = field_name; + n_assignment_id->m_df_type = DF_Type::int32_t; + n_assignment_id->m_rdf_type = RDF_Type::int32_t; + n_assignment_id->m_node_type = NodeType::Simple; + n_assignment_id->m_address = base + offset; + n_assignment_id->m_refers_to = "(find-by-id $$._global.entity_id.ref-target.positions.assignments $id $)"; + n_assignment_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_assignment_id); + + field_name = "start_year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::histfig_entity_link_former_positionst, field_name)); + auto n_start_year = new NodeSimple; + n_start_year->m_field_name = field_name; + n_start_year->m_df_type = DF_Type::int32_t; + n_start_year->m_rdf_type = RDF_Type::int32_t; + n_start_year->m_node_type = NodeType::Simple; + n_start_year->m_address = base + offset; + n_start_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_start_year); + + field_name = "end_year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::histfig_entity_link_former_positionst, field_name)); + auto n_end_year = new NodeSimple; + n_end_year->m_field_name = field_name; + n_end_year->m_df_type = DF_Type::int32_t; + n_end_year->m_rdf_type = RDF_Type::int32_t; + n_end_year->m_node_type = NodeType::Simple; + n_end_year->m_address = base + offset; + n_end_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_end_year); + +} +void node_from_histfig_entity_link_position_claimst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::histfig_entity_link; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_histfig_entity_link(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "assignment_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::histfig_entity_link_position_claimst, field_name)); + auto n_assignment_id = new NodeSimple; + n_assignment_id->m_field_name = field_name; + n_assignment_id->m_df_type = DF_Type::int32_t; + n_assignment_id->m_rdf_type = RDF_Type::int32_t; + n_assignment_id->m_node_type = NodeType::Simple; + n_assignment_id->m_address = base + offset; + n_assignment_id->m_refers_to = "(find-by-id $$._global.entity_id.ref-target.positions.assignments $id $)"; + n_assignment_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_assignment_id); + + field_name = "start_year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::histfig_entity_link_position_claimst, field_name)); + auto n_start_year = new NodeSimple; + n_start_year->m_field_name = field_name; + n_start_year->m_df_type = DF_Type::int32_t; + n_start_year->m_rdf_type = RDF_Type::int32_t; + n_start_year->m_node_type = NodeType::Simple; + n_start_year->m_address = base + offset; + n_start_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_start_year); + +} +void node_from_histfig_entity_link_squadst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::histfig_entity_link; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_histfig_entity_link(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "squad_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::histfig_entity_link_squadst, field_name)); + auto n_squad_id = new NodeSimple; + n_squad_id->m_field_name = field_name; + n_squad_id->m_df_type = DF_Type::int32_t; + n_squad_id->m_rdf_type = RDF_Type::int32_t; + n_squad_id->m_node_type = NodeType::Simple; + n_squad_id->m_address = base + offset; + n_squad_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_squad_id); + + field_name = "squad_position"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::histfig_entity_link_squadst, field_name)); + auto n_squad_position = new NodeSimple; + n_squad_position->m_field_name = field_name; + n_squad_position->m_df_type = DF_Type::int32_t; + n_squad_position->m_rdf_type = RDF_Type::int32_t; + n_squad_position->m_node_type = NodeType::Simple; + n_squad_position->m_address = base + offset; + n_squad_position->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_squad_position); + + field_name = "start_year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::histfig_entity_link_squadst, field_name)); + auto n_start_year = new NodeSimple; + n_start_year->m_field_name = field_name; + n_start_year->m_df_type = DF_Type::int32_t; + n_start_year->m_rdf_type = RDF_Type::int32_t; + n_start_year->m_node_type = NodeType::Simple; + n_start_year->m_address = base + offset; + n_start_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_start_year); + +} +void node_from_histfig_entity_link_former_squadst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::histfig_entity_link; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_histfig_entity_link(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "squad_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::histfig_entity_link_former_squadst, field_name)); + auto n_squad_id = new NodeSimple; + n_squad_id->m_field_name = field_name; + n_squad_id->m_df_type = DF_Type::int32_t; + n_squad_id->m_rdf_type = RDF_Type::int32_t; + n_squad_id->m_node_type = NodeType::Simple; + n_squad_id->m_address = base + offset; + n_squad_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_squad_id); + + field_name = "start_year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::histfig_entity_link_former_squadst, field_name)); + auto n_start_year = new NodeSimple; + n_start_year->m_field_name = field_name; + n_start_year->m_df_type = DF_Type::int32_t; + n_start_year->m_rdf_type = RDF_Type::int32_t; + n_start_year->m_node_type = NodeType::Simple; + n_start_year->m_address = base + offset; + n_start_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_start_year); + + field_name = "end_year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::histfig_entity_link_former_squadst, field_name)); + auto n_end_year = new NodeSimple; + n_end_year->m_field_name = field_name; + n_end_year->m_df_type = DF_Type::int32_t; + n_end_year->m_rdf_type = RDF_Type::int32_t; + n_end_year->m_node_type = NodeType::Simple; + n_end_year->m_address = base + offset; + n_end_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_end_year); + +} +void node_from_histfig_entity_link_occupationst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::histfig_entity_link; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_histfig_entity_link(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "occupation_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::histfig_entity_link_occupationst, field_name)); + auto n_occupation_id = new NodeSimple; + n_occupation_id->m_field_name = field_name; + n_occupation_id->m_df_type = DF_Type::int32_t; + n_occupation_id->m_rdf_type = RDF_Type::int32_t; + n_occupation_id->m_node_type = NodeType::Simple; + n_occupation_id->m_address = base + offset; + n_occupation_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_occupation_id); + + field_name = "start_year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::histfig_entity_link_occupationst, field_name)); + auto n_start_year = new NodeSimple; + n_start_year->m_field_name = field_name; + n_start_year->m_df_type = DF_Type::int32_t; + n_start_year->m_rdf_type = RDF_Type::int32_t; + n_start_year->m_node_type = NodeType::Simple; + n_start_year->m_address = base + offset; + n_start_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_start_year); + +} +void node_from_histfig_entity_link_former_occupationst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::histfig_entity_link; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_histfig_entity_link(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "occupation_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::histfig_entity_link_former_occupationst, field_name)); + auto n_occupation_id = new NodeSimple; + n_occupation_id->m_field_name = field_name; + n_occupation_id->m_df_type = DF_Type::int32_t; + n_occupation_id->m_rdf_type = RDF_Type::int32_t; + n_occupation_id->m_node_type = NodeType::Simple; + n_occupation_id->m_address = base + offset; + n_occupation_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_occupation_id); + + field_name = "start_year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::histfig_entity_link_former_occupationst, field_name)); + auto n_start_year = new NodeSimple; + n_start_year->m_field_name = field_name; + n_start_year->m_df_type = DF_Type::int32_t; + n_start_year->m_rdf_type = RDF_Type::int32_t; + n_start_year->m_node_type = NodeType::Simple; + n_start_year->m_address = base + offset; + n_start_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_start_year); + + field_name = "end_year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::histfig_entity_link_former_occupationst, field_name)); + auto n_end_year = new NodeSimple; + n_end_year->m_field_name = field_name; + n_end_year->m_df_type = DF_Type::int32_t; + n_end_year->m_rdf_type = RDF_Type::int32_t; + n_end_year->m_node_type = NodeType::Simple; + n_end_year->m_address = base + offset; + n_end_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_end_year); + +} +void node_from_histfig_site_link_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_histfig_site_link(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::histfig_site_link, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "sub_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::histfig_site_link, field_name)); + auto n_sub_id = new NodeSimple; + n_sub_id->m_field_name = field_name; + n_sub_id->m_df_type = DF_Type::int32_t; + n_sub_id->m_rdf_type = RDF_Type::int32_t; + n_sub_id->m_node_type = NodeType::Simple; + n_sub_id->m_address = base + offset; + n_sub_id->m_comment = "from XML"; + n_sub_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sub_id); + + field_name = "entity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::histfig_site_link, field_name)); + auto n_entity = new NodeSimple; + n_entity->m_field_name = field_name; + n_entity->m_df_type = DF_Type::int32_t; + n_entity->m_rdf_type = RDF_Type::int32_t; + n_entity->m_node_type = NodeType::Simple; + n_entity->m_address = base + offset; + n_entity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity); + +} +void node_from_histfig_site_link_seat_of_powerst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::histfig_site_link; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_histfig_site_link(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_histfig_site_link_hangoutst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::histfig_site_link; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_histfig_site_link(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_histfig_site_link_home_site_abstract_buildingst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::histfig_site_link; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_histfig_site_link(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_histfig_site_link_home_site_realization_buildingst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::histfig_site_link; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_histfig_site_link(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_histfig_site_link_lairst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::histfig_site_link; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_histfig_site_link(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_histfig_site_link_home_site_realization_sulst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::histfig_site_link; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_histfig_site_link(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_histfig_site_link_home_site_saved_civzonest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::histfig_site_link; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_histfig_site_link(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_histfig_site_link_occupationst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::histfig_site_link; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_histfig_site_link(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::histfig_site_link_occupationst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_histfig_hf_link_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_histfig_hf_link(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "target_hf"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::histfig_hf_link, field_name)); + auto n_target_hf = new NodeSimple; + n_target_hf->m_field_name = field_name; + n_target_hf->m_df_type = DF_Type::int32_t; + n_target_hf->m_rdf_type = RDF_Type::int32_t; + n_target_hf->m_node_type = NodeType::Simple; + n_target_hf->m_address = base + offset; + n_target_hf->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_target_hf); + + field_name = "link_strength"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::histfig_hf_link, field_name)); + auto n_link_strength = new NodeSimple; + n_link_strength->m_field_name = field_name; + n_link_strength->m_df_type = DF_Type::int16_t; + n_link_strength->m_rdf_type = RDF_Type::int16_t; + n_link_strength->m_node_type = NodeType::Simple; + n_link_strength->m_address = base + offset; + n_link_strength->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_link_strength); + +} +void node_from_histfig_hf_link_motherst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::histfig_hf_link; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_histfig_hf_link(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_histfig_hf_link_fatherst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::histfig_hf_link; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_histfig_hf_link(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_histfig_hf_link_spousest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::histfig_hf_link; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_histfig_hf_link(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_histfig_hf_link_childst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::histfig_hf_link; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_histfig_hf_link(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_histfig_hf_link_deityst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::histfig_hf_link; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_histfig_hf_link(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_histfig_hf_link_loverst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::histfig_hf_link; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_histfig_hf_link(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_histfig_hf_link_prisonerst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::histfig_hf_link; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_histfig_hf_link(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_histfig_hf_link_imprisonerst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::histfig_hf_link; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_histfig_hf_link(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_histfig_hf_link_masterst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::histfig_hf_link; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_histfig_hf_link(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_histfig_hf_link_apprenticest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::histfig_hf_link; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_histfig_hf_link(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_histfig_hf_link_companionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::histfig_hf_link; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_histfig_hf_link(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::histfig_hf_link_companionst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::histfig_hf_link_companionst, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + +} +void node_from_histfig_hf_link_former_apprenticest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::histfig_hf_link; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_histfig_hf_link(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_histfig_hf_link_former_masterst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::histfig_hf_link; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_histfig_hf_link(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_histfig_hf_link_pet_ownerst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::histfig_hf_link; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_histfig_hf_link(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_entity_entity_link_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_resource_allotment_specifier_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_resource_allotment_specifier(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier, field_name)); + auto n_unk_1 = new NodeSimple; + n_unk_1->m_field_name = field_name; + n_unk_1->m_df_type = DF_Type::int32_t; + n_unk_1->m_rdf_type = RDF_Type::int32_t; + n_unk_1->m_node_type = NodeType::Simple; + n_unk_1->m_address = base + offset; + n_unk_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_1); + + field_name = "unk_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier, field_name)); + auto n_unk_2 = new NodeSimple; + n_unk_2->m_field_name = field_name; + n_unk_2->m_df_type = DF_Type::int32_t; + n_unk_2->m_rdf_type = RDF_Type::int32_t; + n_unk_2->m_node_type = NodeType::Simple; + n_unk_2->m_address = base + offset; + n_unk_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_2); + + field_name = "unk_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier, field_name)); + auto n_unk_3 = new NodeSimple; + n_unk_3->m_field_name = field_name; + n_unk_3->m_df_type = DF_Type::int32_t; + n_unk_3->m_rdf_type = RDF_Type::int32_t; + n_unk_3->m_node_type = NodeType::Simple; + n_unk_3->m_address = base + offset; + n_unk_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_3); + +} +void node_from_resource_allotment_specifier_cropst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::resource_allotment_specifier; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_resource_allotment_specifier(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_cropst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int32_t; + n_mat_type->m_rdf_type = RDF_Type::int32_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_comment = "index to world.raws.plant.all"; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_cropst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "unk_v40_01"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_cropst, field_name)); + auto n_unk_v40_01 = new NodeSimple; + n_unk_v40_01->m_field_name = field_name; + n_unk_v40_01->m_df_type = DF_Type::int32_t; + n_unk_v40_01->m_rdf_type = RDF_Type::int32_t; + n_unk_v40_01->m_node_type = NodeType::Simple; + n_unk_v40_01->m_address = base + offset; + n_unk_v40_01->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_01); + + field_name = "anon_2"; + auto n_anon_2 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_cropst, field_name)); + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::Array; + n_anon_2->m_node_type = NodeType::Array; + n_anon_2->m_addornements = "[5"; + n_anon_2->m_array_size = 5; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + +} +void node_from_resource_allotment_specifier_stonest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::resource_allotment_specifier; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_resource_allotment_specifier(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_stonest, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_stonest, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_stonest, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_stonest, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + auto n_anon_3 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_stonest, field_name)); + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::Array; + n_anon_3->m_node_type = NodeType::Array; + n_anon_3->m_addornements = "[5"; + n_anon_3->m_array_size = 5; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + +} +void node_from_resource_allotment_specifier_metalst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::resource_allotment_specifier; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_resource_allotment_specifier(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_metalst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_metalst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_metalst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + auto n_anon_2 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_metalst, field_name)); + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::Array; + n_anon_2->m_node_type = NodeType::Array; + n_anon_2->m_addornements = "[12"; + n_anon_2->m_array_size = 12; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + +} +void node_from_resource_allotment_specifier_woodst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::resource_allotment_specifier; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_resource_allotment_specifier(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_woodst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_woodst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_woodst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_woodst, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_woodst, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_woodst, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_woodst, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_woodst, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + +} +void node_from_resource_allotment_specifier_armor_bodyst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::resource_allotment_specifier; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_resource_allotment_specifier(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_armor_bodyst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_armor_bodyst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + +} +void node_from_resource_allotment_specifier_armor_pantsst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::resource_allotment_specifier; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_resource_allotment_specifier(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_armor_pantsst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_armor_pantsst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + +} +void node_from_resource_allotment_specifier_armor_glovesst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::resource_allotment_specifier; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_resource_allotment_specifier(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_armor_glovesst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_armor_glovesst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + +} +void node_from_resource_allotment_specifier_armor_bootsst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::resource_allotment_specifier; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_resource_allotment_specifier(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_armor_bootsst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_armor_bootsst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + +} +void node_from_resource_allotment_specifier_armor_helmst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::resource_allotment_specifier; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_resource_allotment_specifier(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_armor_helmst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_armor_helmst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + +} +void node_from_resource_allotment_specifier_clothing_bodyst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::resource_allotment_specifier; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_resource_allotment_specifier(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_clothing_bodyst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_clothing_bodyst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + +} +void node_from_resource_allotment_specifier_clothing_pantsst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::resource_allotment_specifier; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_resource_allotment_specifier(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_clothing_pantsst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_clothing_pantsst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + +} +void node_from_resource_allotment_specifier_clothing_glovesst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::resource_allotment_specifier; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_resource_allotment_specifier(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_clothing_glovesst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_clothing_glovesst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + +} +void node_from_resource_allotment_specifier_clothing_bootsst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::resource_allotment_specifier; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_resource_allotment_specifier(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_clothing_bootsst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_clothing_bootsst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + +} +void node_from_resource_allotment_specifier_clothing_helmst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::resource_allotment_specifier; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_resource_allotment_specifier(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_clothing_helmst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_clothing_helmst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + +} +void node_from_resource_allotment_specifier_weapon_meleest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::resource_allotment_specifier; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_resource_allotment_specifier(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_weapon_meleest, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_weapon_meleest, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + +} +void node_from_resource_allotment_specifier_weapon_rangedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::resource_allotment_specifier; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_resource_allotment_specifier(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_weapon_rangedst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_weapon_rangedst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + +} +void node_from_resource_allotment_specifier_ammost(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::resource_allotment_specifier; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_resource_allotment_specifier(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_ammost, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_ammost, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + +} +void node_from_resource_allotment_specifier_anvilst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::resource_allotment_specifier; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_resource_allotment_specifier(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_anvilst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_anvilst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + +} +void node_from_resource_allotment_specifier_gemsst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::resource_allotment_specifier; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_resource_allotment_specifier(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_gemsst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_gemsst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + +} +void node_from_resource_allotment_specifier_threadst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::resource_allotment_specifier; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_resource_allotment_specifier(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_threadst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_threadst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_threadst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_resource_allotment_specifier_clothst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::resource_allotment_specifier; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_resource_allotment_specifier(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_clothst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_clothst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_clothst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_clothst, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_clothst, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_clothst, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_clothst, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + +} +void node_from_resource_allotment_specifier_leatherst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::resource_allotment_specifier; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_resource_allotment_specifier(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_leatherst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_leatherst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_leatherst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_leatherst, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_leatherst, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_leatherst, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_leatherst, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_leatherst, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_leatherst, field_name)); + auto n_anon_7 = new NodeSimple; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::int32_t; + n_anon_7->m_rdf_type = RDF_Type::int32_t; + n_anon_7->m_node_type = NodeType::Simple; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_7); + + field_name = "anon_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_leatherst, field_name)); + auto n_anon_8 = new NodeSimple; + n_anon_8->m_field_name = field_name; + n_anon_8->m_df_type = DF_Type::int32_t; + n_anon_8->m_rdf_type = RDF_Type::int32_t; + n_anon_8->m_node_type = NodeType::Simple; + n_anon_8->m_address = base + offset; + n_anon_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_8); + + field_name = "anon_9"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_leatherst, field_name)); + auto n_anon_9 = new NodeSimple; + n_anon_9->m_field_name = field_name; + n_anon_9->m_df_type = DF_Type::int32_t; + n_anon_9->m_rdf_type = RDF_Type::int32_t; + n_anon_9->m_node_type = NodeType::Simple; + n_anon_9->m_address = base + offset; + n_anon_9->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_9); + + field_name = "anon_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_leatherst, field_name)); + auto n_anon_10 = new NodeSimple; + n_anon_10->m_field_name = field_name; + n_anon_10->m_df_type = DF_Type::int32_t; + n_anon_10->m_rdf_type = RDF_Type::int32_t; + n_anon_10->m_node_type = NodeType::Simple; + n_anon_10->m_address = base + offset; + n_anon_10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_10); + +} +void node_from_resource_allotment_specifier_quiverst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::resource_allotment_specifier; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_resource_allotment_specifier(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_quiverst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_quiverst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + +} +void node_from_resource_allotment_specifier_backpackst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::resource_allotment_specifier; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_resource_allotment_specifier(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_backpackst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_backpackst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + +} +void node_from_resource_allotment_specifier_flaskst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::resource_allotment_specifier; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_resource_allotment_specifier(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_flaskst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_flaskst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + +} +void node_from_resource_allotment_specifier_bagst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::resource_allotment_specifier; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_resource_allotment_specifier(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_bagst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_bagst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + +} +void node_from_resource_allotment_specifier_tablest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::resource_allotment_specifier; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_resource_allotment_specifier(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_tablest, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_tablest, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + +} +void node_from_resource_allotment_specifier_cabinetst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::resource_allotment_specifier; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_resource_allotment_specifier(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_cabinetst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_cabinetst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + +} +void node_from_resource_allotment_specifier_chairst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::resource_allotment_specifier; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_resource_allotment_specifier(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_chairst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_chairst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + +} +void node_from_resource_allotment_specifier_boxst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::resource_allotment_specifier; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_resource_allotment_specifier(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_boxst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_boxst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + +} +void node_from_resource_allotment_specifier_bedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::resource_allotment_specifier; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_resource_allotment_specifier(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_bedst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_bedst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + +} +void node_from_resource_allotment_specifier_craftsst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::resource_allotment_specifier; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_resource_allotment_specifier(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_craftsst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_craftsst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + +} +void node_from_resource_allotment_specifier_meatst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::resource_allotment_specifier; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_resource_allotment_specifier(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_meatst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_meatst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + +} +void node_from_resource_allotment_specifier_bonest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::resource_allotment_specifier; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_resource_allotment_specifier(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_bonest, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_bonest, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_bonest, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_resource_allotment_specifier_hornst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::resource_allotment_specifier; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_resource_allotment_specifier(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_hornst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_hornst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_hornst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_resource_allotment_specifier_shellst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::resource_allotment_specifier; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_resource_allotment_specifier(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_shellst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_shellst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_shellst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_resource_allotment_specifier_tallowst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::resource_allotment_specifier; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_resource_allotment_specifier(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_tallowst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_tallowst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + +} +void node_from_resource_allotment_specifier_toothst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::resource_allotment_specifier; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_resource_allotment_specifier(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_toothst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_toothst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_toothst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_resource_allotment_specifier_pearlst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::resource_allotment_specifier; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_resource_allotment_specifier(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_pearlst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_pearlst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + +} +void node_from_resource_allotment_specifier_soapst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::resource_allotment_specifier; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_resource_allotment_specifier(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_soapst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_soapst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + +} +void node_from_resource_allotment_specifier_extractst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::resource_allotment_specifier; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_resource_allotment_specifier(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_extractst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_extractst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_extractst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "mat_type2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_extractst, field_name)); + auto n_mat_type2 = new NodeSimple; + n_mat_type2->m_field_name = field_name; + n_mat_type2->m_df_type = DF_Type::int16_t; + n_mat_type2->m_rdf_type = RDF_Type::int16_t; + n_mat_type2->m_node_type = NodeType::Simple; + n_mat_type2->m_address = base + offset; + n_mat_type2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type2); + + field_name = "mat_index2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_extractst, field_name)); + auto n_mat_index2 = new NodeSimple; + n_mat_index2->m_field_name = field_name; + n_mat_index2->m_df_type = DF_Type::int32_t; + n_mat_index2->m_rdf_type = RDF_Type::int32_t; + n_mat_index2->m_node_type = NodeType::Simple; + n_mat_index2->m_address = base + offset; + n_mat_index2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index2); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_extractst, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_comment = "uninitialized"; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + +} +void node_from_resource_allotment_specifier_cheesest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::resource_allotment_specifier; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_resource_allotment_specifier(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_cheesest, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_cheesest, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + +} +void node_from_resource_allotment_specifier_skinst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::resource_allotment_specifier; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_resource_allotment_specifier(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_skinst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_skinst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "mat_type2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_skinst, field_name)); + auto n_mat_type2 = new NodeSimple; + n_mat_type2->m_field_name = field_name; + n_mat_type2->m_df_type = DF_Type::int16_t; + n_mat_type2->m_rdf_type = RDF_Type::int16_t; + n_mat_type2->m_node_type = NodeType::Simple; + n_mat_type2->m_address = base + offset; + n_mat_type2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type2); + + field_name = "mat_index2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_skinst, field_name)); + auto n_mat_index2 = new NodeSimple; + n_mat_index2->m_field_name = field_name; + n_mat_index2->m_df_type = DF_Type::int32_t; + n_mat_index2->m_rdf_type = RDF_Type::int32_t; + n_mat_index2->m_node_type = NodeType::Simple; + n_mat_index2->m_address = base + offset; + n_mat_index2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index2); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_skinst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_resource_allotment_specifier_powderst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::resource_allotment_specifier; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_resource_allotment_specifier(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_powderst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_powderst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_specifier_powderst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_profession(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_unit_labor_category(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_unit_labor(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_job_skill_class(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_job_skill(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_hauler_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_furniture_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_stockpile_category(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_stockpile_group_set(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_stockpile_list(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_route_stockpile_link(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "building_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::route_stockpile_link, field_name)); + auto n_building_id = new NodeSimple; + n_building_id->m_field_name = field_name; + n_building_id->m_df_type = DF_Type::int32_t; + n_building_id->m_rdf_type = RDF_Type::int32_t; + n_building_id->m_node_type = NodeType::Simple; + n_building_id->m_address = base + offset; + n_building_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_building_id); + + field_name = "mode"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::route_stockpile_link, field_name)); + auto n_mode = new NodeBitfield; + n_mode->m_field_name = field_name; + n_mode->m_df_type = DF_Type::route_stockpile_link__T_mode; + n_mode->m_rdf_type = RDF_Type::Bitfield; + n_mode->m_node_type = NodeType::Bitfield; + n_mode->m_address = base + offset; + n_mode->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mode); + +} +void node_from_creature_interaction_effect_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_creature_interaction_effect_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_cie_add_tag_mask1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_cie_add_tag_mask2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_creature_interaction_effect_target_mode(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_syndrome_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_tiletype_shape_basic(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_tiletype_shape(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_tiletype_material(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_tiletype_variant(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_tiletype_special(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_tiletype(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_build_req_choice_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_build_req_choicest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "distance"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::build_req_choicest, field_name)); + auto n_distance = new NodeSimple; + n_distance->m_field_name = field_name; + n_distance->m_df_type = DF_Type::int32_t; + n_distance->m_rdf_type = RDF_Type::int32_t; + n_distance->m_node_type = NodeType::Simple; + n_distance->m_address = base + offset; + n_distance->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_distance); + +} +void node_from_burrow(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::burrow, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::burrow, field_name)); + auto n_name = new NodeSimple; + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Stl_string; + n_name->m_node_type = NodeType::Simple; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "tile"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::burrow, field_name)); + auto n_tile = new NodeSimple; + n_tile->m_field_name = field_name; + n_tile->m_df_type = DF_Type::uint8_t; + n_tile->m_rdf_type = RDF_Type::uint8_t; + n_tile->m_node_type = NodeType::Simple; + n_tile->m_address = base + offset; + n_tile->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tile); + + field_name = "fg_color"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::burrow, field_name)); + auto n_fg_color = new NodeSimple; + n_fg_color->m_field_name = field_name; + n_fg_color->m_df_type = DF_Type::int16_t; + n_fg_color->m_rdf_type = RDF_Type::int16_t; + n_fg_color->m_node_type = NodeType::Simple; + n_fg_color->m_address = base + offset; + n_fg_color->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_fg_color); + + field_name = "bg_color"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::burrow, field_name)); + auto n_bg_color = new NodeSimple; + n_bg_color->m_field_name = field_name; + n_bg_color->m_df_type = DF_Type::int16_t; + n_bg_color->m_rdf_type = RDF_Type::int16_t; + n_bg_color->m_node_type = NodeType::Simple; + n_bg_color->m_address = base + offset; + n_bg_color->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_bg_color); + + field_name = "block_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::burrow, field_name)); + auto n_block_x = new NodeVector; + n_block_x->m_field_name = field_name; + n_block_x->m_df_type = DF_Type::int32_t; + n_block_x->m_rdf_type = RDF_Type::Vector; + n_block_x->m_node_type = NodeType::Vector; + n_block_x->m_addornements = "v"; + n_block_x->m_address = base + offset; + n_block_x->m_parent = p_node_parent; + n_block_x->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_block_x); + + field_name = "block_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::burrow, field_name)); + auto n_block_y = new NodeVector; + n_block_y->m_field_name = field_name; + n_block_y->m_df_type = DF_Type::int32_t; + n_block_y->m_rdf_type = RDF_Type::Vector; + n_block_y->m_node_type = NodeType::Vector; + n_block_y->m_addornements = "v"; + n_block_y->m_address = base + offset; + n_block_y->m_parent = p_node_parent; + n_block_y->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_block_y); + + field_name = "block_z"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::burrow, field_name)); + auto n_block_z = new NodeVector; + n_block_z->m_field_name = field_name; + n_block_z->m_df_type = DF_Type::int32_t; + n_block_z->m_rdf_type = RDF_Type::Vector; + n_block_z->m_node_type = NodeType::Vector; + n_block_z->m_addornements = "v"; + n_block_z->m_address = base + offset; + n_block_z->m_parent = p_node_parent; + n_block_z->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_block_z); + + field_name = "units"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::burrow, field_name)); + auto n_units = new NodeVector; + n_units->m_field_name = field_name; + n_units->m_df_type = DF_Type::int32_t; + n_units->m_rdf_type = RDF_Type::Vector; + n_units->m_node_type = NodeType::Vector; + n_units->m_addornements = "v"; + n_units->m_address = base + offset; + n_units->m_parent = p_node_parent; + n_units->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_units); + + field_name = "limit_workshops"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::burrow, field_name)); + auto n_limit_workshops = new NodeSimple; + n_limit_workshops->m_field_name = field_name; + n_limit_workshops->m_df_type = DF_Type::int32_t; + n_limit_workshops->m_rdf_type = RDF_Type::int32_t; + n_limit_workshops->m_node_type = NodeType::Simple; + n_limit_workshops->m_address = base + offset; + n_limit_workshops->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_limit_workshops); + +} +void node_from_ui_hotkey___union4(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = true) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unit_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_hotkey, field_name)); + auto n_unit_id = new NodeSimple; + n_unit_id->m_field_name = field_name; + n_unit_id->m_df_type = DF_Type::int32_t; + n_unit_id->m_rdf_type = RDF_Type::int32_t; + n_unit_id->m_node_type = NodeType::Simple; + n_unit_id->m_address = base + offset; + n_unit_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unit_id); + + field_name = "item_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_hotkey, field_name)); + auto n_item_id = new NodeSimple; + n_item_id->m_field_name = field_name; + n_item_id->m_df_type = DF_Type::int32_t; + n_item_id->m_rdf_type = RDF_Type::int32_t; + n_item_id->m_node_type = NodeType::Simple; + n_item_id->m_address = base + offset; + n_item_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_id); + +} +void node_from_ui_hotkey(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_hotkey, field_name)); + auto n_name = new NodeSimple; + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Stl_string; + n_name->m_node_type = NodeType::Simple; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "cmd"; + auto n_cmd = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_hotkey, field_name)); + n_cmd->m_field_name = field_name; + n_cmd->m_df_type = DF_Type::ui_hotkey__T_cmd; + n_cmd->m_rdf_type = RDF_Type::Enum; + n_cmd->m_node_type = NodeType::Enum; + n_cmd->m_base_type = DF_Type::int16_t; + n_cmd->m_enum_type = "ui_hotkey::T_cmd"; + n_cmd->m_address = base + offset; + n_cmd->m_first_value = -1; + n_cmd->m_last_value = 2; + n_cmd->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cmd); + + field_name = "x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_hotkey, field_name)); + auto n_x = new NodeSimple; + n_x->m_field_name = field_name; + n_x->m_df_type = DF_Type::int32_t; + n_x->m_rdf_type = RDF_Type::int32_t; + n_x->m_node_type = NodeType::Simple; + n_x->m_address = base + offset; + n_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_x); + + field_name = "y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_hotkey, field_name)); + auto n_y = new NodeSimple; + n_y->m_field_name = field_name; + n_y->m_df_type = DF_Type::int32_t; + n_y->m_rdf_type = RDF_Type::int32_t; + n_y->m_node_type = NodeType::Simple; + n_y->m_address = base + offset; + n_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_y); + + field_name = "z"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_hotkey, field_name)); + auto n_z = new NodeSimple; + n_z->m_field_name = field_name; + n_z->m_df_type = DF_Type::int32_t; + n_z->m_rdf_type = RDF_Type::int32_t; + n_z->m_node_type = NodeType::Simple; + n_z->m_address = base + offset; + n_z->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_z); + + auto n_$union4 = new NodeAnonymous; + field_name = "unit_id"; // One child of the anonymous union + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_hotkey, field_name)); + n_$union4->m_field_name = "N/A"; + n_$union4->m_df_type = DF_Type::ui_hotkey___union4; + n_$union4->m_rdf_type = RDF_Type::AnonymousUnion; + n_$union4->m_node_type = NodeType::AnonymousUnion; + n_$union4->m_address = base + offset; + n_$union4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_$union4); + +} +void node_from_ui_sidebar_mode(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_kitchen_exc_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_timed_event_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_map_viewport(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "adv_mode"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_viewport, field_name)); + auto n_adv_mode = new NodeSimple; + n_adv_mode->m_field_name = field_name; + n_adv_mode->m_df_type = DF_Type::Bool; + n_adv_mode->m_rdf_type = RDF_Type::Bool; + n_adv_mode->m_node_type = NodeType::Simple; + n_adv_mode->m_address = base + offset; + n_adv_mode->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_adv_mode); + + field_name = "unk1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_viewport, field_name)); + auto n_unk1 = new NodeSimple; + n_unk1->m_field_name = field_name; + n_unk1->m_df_type = DF_Type::Bool; + n_unk1->m_rdf_type = RDF_Type::Bool; + n_unk1->m_node_type = NodeType::Simple; + n_unk1->m_address = base + offset; + n_unk1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk1); + + field_name = "map_rotation"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_viewport, field_name)); + auto n_map_rotation = new NodeSimple; + n_map_rotation->m_field_name = field_name; + n_map_rotation->m_df_type = DF_Type::uint8_t; + n_map_rotation->m_rdf_type = RDF_Type::uint8_t; + n_map_rotation->m_node_type = NodeType::Simple; + n_map_rotation->m_address = base + offset; + n_map_rotation->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_map_rotation); + + field_name = "min_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_viewport, field_name)); + auto n_min_x = new NodeSimple; + n_min_x->m_field_name = field_name; + n_min_x->m_df_type = DF_Type::int16_t; + n_min_x->m_rdf_type = RDF_Type::int16_t; + n_min_x->m_node_type = NodeType::Simple; + n_min_x->m_address = base + offset; + n_min_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_min_x); + + field_name = "min_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_viewport, field_name)); + auto n_min_y = new NodeSimple; + n_min_y->m_field_name = field_name; + n_min_y->m_df_type = DF_Type::int16_t; + n_min_y->m_rdf_type = RDF_Type::int16_t; + n_min_y->m_node_type = NodeType::Simple; + n_min_y->m_address = base + offset; + n_min_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_min_y); + + field_name = "max_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_viewport, field_name)); + auto n_max_x = new NodeSimple; + n_max_x->m_field_name = field_name; + n_max_x->m_df_type = DF_Type::int16_t; + n_max_x->m_rdf_type = RDF_Type::int16_t; + n_max_x->m_node_type = NodeType::Simple; + n_max_x->m_address = base + offset; + n_max_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_max_x); + + field_name = "max_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_viewport, field_name)); + auto n_max_y = new NodeSimple; + n_max_y->m_field_name = field_name; + n_max_y->m_df_type = DF_Type::int16_t; + n_max_y->m_rdf_type = RDF_Type::int16_t; + n_max_y->m_node_type = NodeType::Simple; + n_max_y->m_address = base + offset; + n_max_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_max_y); + + field_name = "window_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_viewport, field_name)); + auto n_window_x = new NodeSimple; + n_window_x->m_field_name = field_name; + n_window_x->m_df_type = DF_Type::int16_t; + n_window_x->m_rdf_type = RDF_Type::int16_t; + n_window_x->m_node_type = NodeType::Simple; + n_window_x->m_address = base + offset; + n_window_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_window_x); + + field_name = "window_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_viewport, field_name)); + auto n_window_y = new NodeSimple; + n_window_y->m_field_name = field_name; + n_window_y->m_df_type = DF_Type::int16_t; + n_window_y->m_rdf_type = RDF_Type::int16_t; + n_window_y->m_node_type = NodeType::Simple; + n_window_y->m_address = base + offset; + n_window_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_window_y); + + field_name = "window_z"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_viewport, field_name)); + auto n_window_z = new NodeSimple; + n_window_z->m_field_name = field_name; + n_window_z->m_df_type = DF_Type::int16_t; + n_window_z->m_rdf_type = RDF_Type::int16_t; + n_window_z->m_node_type = NodeType::Simple; + n_window_z->m_address = base + offset; + n_window_z->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_window_z); + +} +void node_from_emotion_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_unit_thought_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_unit_flags1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_unit_flags2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_unit_flags3(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_unit_flags4(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_value_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_goal_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_personality_facet_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_physical_attribute_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_mental_attribute_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_mood_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_ghost_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_animal_training_level(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_unit_report_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_skill_rating(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_unit_relationship_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_need_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_ghost_goal(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_unit_genes(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "appearance"; + auto n_appearance = new NodeDFArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_genes, field_name)); + n_appearance->m_field_name = field_name; + n_appearance->m_df_type = DF_Type::uint8_t; + n_appearance->m_rdf_type = RDF_Type::DFArray; + n_appearance->m_node_type = NodeType::Array; + n_appearance->m_addornements = ""; + n_appearance->m_address = base + offset; + n_appearance->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_appearance); + + field_name = "colors"; + auto n_colors = new NodeDFArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_genes, field_name)); + n_colors->m_field_name = field_name; + n_colors->m_df_type = DF_Type::int16_t; + n_colors->m_rdf_type = RDF_Type::DFArray; + n_colors->m_node_type = NodeType::Array; + n_colors->m_addornements = ""; + n_colors->m_address = base + offset; + n_colors->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_colors); + +} +void node_from_unit_attribute(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "value"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_attribute, field_name)); + auto n_value = new NodeSimple; + n_value->m_field_name = field_name; + n_value->m_df_type = DF_Type::int32_t; + n_value->m_rdf_type = RDF_Type::int32_t; + n_value->m_node_type = NodeType::Simple; + n_value->m_address = base + offset; + n_value->m_comment = "effective = value - soft_demotion"; + n_value->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_value); + + field_name = "max_value"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_attribute, field_name)); + auto n_max_value = new NodeSimple; + n_max_value->m_field_name = field_name; + n_max_value->m_df_type = DF_Type::int32_t; + n_max_value->m_rdf_type = RDF_Type::int32_t; + n_max_value->m_node_type = NodeType::Simple; + n_max_value->m_address = base + offset; + n_max_value->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_max_value); + + field_name = "improve_counter"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_attribute, field_name)); + auto n_improve_counter = new NodeSimple; + n_improve_counter->m_field_name = field_name; + n_improve_counter->m_df_type = DF_Type::int32_t; + n_improve_counter->m_rdf_type = RDF_Type::int32_t; + n_improve_counter->m_node_type = NodeType::Simple; + n_improve_counter->m_address = base + offset; + n_improve_counter->m_comment = "counts to PHYS_ATT_RATES improve cost; then value++"; + n_improve_counter->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_improve_counter); + + field_name = "unused_counter"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_attribute, field_name)); + auto n_unused_counter = new NodeSimple; + n_unused_counter->m_field_name = field_name; + n_unused_counter->m_df_type = DF_Type::int32_t; + n_unused_counter->m_rdf_type = RDF_Type::int32_t; + n_unused_counter->m_node_type = NodeType::Simple; + n_unused_counter->m_address = base + offset; + n_unused_counter->m_comment = "counts to PHYS_ATT_RATES unused rate; then rust_counter++"; + n_unused_counter->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unused_counter); + + field_name = "soft_demotion"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_attribute, field_name)); + auto n_soft_demotion = new NodeSimple; + n_soft_demotion->m_field_name = field_name; + n_soft_demotion->m_df_type = DF_Type::int32_t; + n_soft_demotion->m_rdf_type = RDF_Type::int32_t; + n_soft_demotion->m_node_type = NodeType::Simple; + n_soft_demotion->m_address = base + offset; + n_soft_demotion->m_comment = "0-100; when not 0 blocks improve_counter"; + n_soft_demotion->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_soft_demotion); + + field_name = "rust_counter"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_attribute, field_name)); + auto n_rust_counter = new NodeSimple; + n_rust_counter->m_field_name = field_name; + n_rust_counter->m_df_type = DF_Type::int32_t; + n_rust_counter->m_rdf_type = RDF_Type::int32_t; + n_rust_counter->m_node_type = NodeType::Simple; + n_rust_counter->m_address = base + offset; + n_rust_counter->m_comment = "counts to PHYS_ATT_RATES rust; then demotion_counter++"; + n_rust_counter->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rust_counter); + + field_name = "demotion_counter"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_attribute, field_name)); + auto n_demotion_counter = new NodeSimple; + n_demotion_counter->m_field_name = field_name; + n_demotion_counter->m_df_type = DF_Type::int32_t; + n_demotion_counter->m_rdf_type = RDF_Type::int32_t; + n_demotion_counter->m_node_type = NodeType::Simple; + n_demotion_counter->m_address = base + offset; + n_demotion_counter->m_comment = "counts to PHYS_ATT_RATES demotion; then value--; soft_demotion++"; + n_demotion_counter->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_demotion_counter); + +} +void node_from_wound_effect_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_wound_damage_flags1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_wound_damage_flags2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_curse_attr_change(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "phys_att_perc"; + auto n_phys_att_perc = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::curse_attr_change, field_name)); + n_phys_att_perc->m_field_name = field_name; + n_phys_att_perc->m_df_type = DF_Type::int32_t; + n_phys_att_perc->m_rdf_type = RDF_Type::Array; + n_phys_att_perc->m_node_type = NodeType::Array; + n_phys_att_perc->m_index_enum = DF_Type::physical_attribute_type; + n_phys_att_perc->m_addornements = "[6"; + n_phys_att_perc->m_array_size = 6; + n_phys_att_perc->m_address = base + offset; + n_phys_att_perc->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_phys_att_perc); + + field_name = "phys_att_add"; + auto n_phys_att_add = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::curse_attr_change, field_name)); + n_phys_att_add->m_field_name = field_name; + n_phys_att_add->m_df_type = DF_Type::int32_t; + n_phys_att_add->m_rdf_type = RDF_Type::Array; + n_phys_att_add->m_node_type = NodeType::Array; + n_phys_att_add->m_index_enum = DF_Type::physical_attribute_type; + n_phys_att_add->m_addornements = "[6"; + n_phys_att_add->m_array_size = 6; + n_phys_att_add->m_address = base + offset; + n_phys_att_add->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_phys_att_add); + + field_name = "ment_att_perc"; + auto n_ment_att_perc = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::curse_attr_change, field_name)); + n_ment_att_perc->m_field_name = field_name; + n_ment_att_perc->m_df_type = DF_Type::int32_t; + n_ment_att_perc->m_rdf_type = RDF_Type::Array; + n_ment_att_perc->m_node_type = NodeType::Array; + n_ment_att_perc->m_index_enum = DF_Type::mental_attribute_type; + n_ment_att_perc->m_addornements = "[13"; + n_ment_att_perc->m_array_size = 13; + n_ment_att_perc->m_address = base + offset; + n_ment_att_perc->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ment_att_perc); + + field_name = "ment_att_add"; + auto n_ment_att_add = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::curse_attr_change, field_name)); + n_ment_att_add->m_field_name = field_name; + n_ment_att_add->m_df_type = DF_Type::int32_t; + n_ment_att_add->m_rdf_type = RDF_Type::Array; + n_ment_att_add->m_node_type = NodeType::Array; + n_ment_att_add->m_index_enum = DF_Type::mental_attribute_type; + n_ment_att_add->m_addornements = "[13"; + n_ment_att_add->m_array_size = 13; + n_ment_att_add->m_address = base + offset; + n_ment_att_add->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ment_att_add); + +} +void node_from_misc_trait_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_unit_item_wrestle(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unit"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_item_wrestle, field_name)); + auto n_unit = new NodeSimple; + n_unit->m_field_name = field_name; + n_unit->m_df_type = DF_Type::int32_t; + n_unit->m_rdf_type = RDF_Type::int32_t; + n_unit->m_node_type = NodeType::Simple; + n_unit->m_address = base + offset; + n_unit->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unit); + + field_name = "self_bp"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_item_wrestle, field_name)); + auto n_self_bp = new NodeSimple; + n_self_bp->m_field_name = field_name; + n_self_bp->m_df_type = DF_Type::int32_t; + n_self_bp->m_rdf_type = RDF_Type::int32_t; + n_self_bp->m_node_type = NodeType::Simple; + n_self_bp->m_address = base + offset; + n_self_bp->m_refers_to = "$$._parent._upglobal.body.body_plan.body_parts[$]"; + n_self_bp->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_self_bp); + + field_name = "other_bp"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_item_wrestle, field_name)); + auto n_other_bp = new NodeSimple; + n_other_bp->m_field_name = field_name; + n_other_bp->m_df_type = DF_Type::int32_t; + n_other_bp->m_rdf_type = RDF_Type::int32_t; + n_other_bp->m_node_type = NodeType::Simple; + n_other_bp->m_address = base + offset; + n_other_bp->m_refers_to = "$$._parent.unit.ref-target.body.body_plan.body_parts[$]"; + n_other_bp->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_other_bp); + + field_name = "unk_c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_item_wrestle, field_name)); + auto n_unk_c = new NodeSimple; + n_unk_c->m_field_name = field_name; + n_unk_c->m_df_type = DF_Type::int32_t; + n_unk_c->m_rdf_type = RDF_Type::int32_t; + n_unk_c->m_node_type = NodeType::Simple; + n_unk_c->m_address = base + offset; + n_unk_c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_c); + + field_name = "unk_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_item_wrestle, field_name)); + auto n_unk_10 = new NodeSimple; + n_unk_10->m_field_name = field_name; + n_unk_10->m_df_type = DF_Type::int32_t; + n_unk_10->m_rdf_type = RDF_Type::int32_t; + n_unk_10->m_node_type = NodeType::Simple; + n_unk_10->m_address = base + offset; + n_unk_10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_10); + + field_name = "item1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_item_wrestle, field_name)); + auto n_item1 = new NodeSimple; + n_item1->m_field_name = field_name; + n_item1->m_df_type = DF_Type::int32_t; + n_item1->m_rdf_type = RDF_Type::int32_t; + n_item1->m_node_type = NodeType::Simple; + n_item1->m_address = base + offset; + n_item1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item1); + + field_name = "item2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_item_wrestle, field_name)); + auto n_item2 = new NodeSimple; + n_item2->m_field_name = field_name; + n_item2->m_df_type = DF_Type::int32_t; + n_item2->m_rdf_type = RDF_Type::int32_t; + n_item2->m_node_type = NodeType::Simple; + n_item2->m_address = base + offset; + n_item2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item2); + + field_name = "unk_1c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_item_wrestle, field_name)); + auto n_unk_1c = new NodeSimple; + n_unk_1c->m_field_name = field_name; + n_unk_1c->m_df_type = DF_Type::int16_t; + n_unk_1c->m_rdf_type = RDF_Type::int16_t; + n_unk_1c->m_node_type = NodeType::Simple; + n_unk_1c->m_address = base + offset; + n_unk_1c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_1c); + + field_name = "unk_1e"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_item_wrestle, field_name)); + auto n_unk_1e = new NodeSimple; + n_unk_1e->m_field_name = field_name; + n_unk_1e->m_df_type = DF_Type::int8_t; + n_unk_1e->m_rdf_type = RDF_Type::int8_t; + n_unk_1e->m_node_type = NodeType::Simple; + n_unk_1e->m_address = base + offset; + n_unk_1e->m_comment = "1 grabs, -1 grabbed"; + n_unk_1e->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_1e); + + field_name = "unk_20"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_item_wrestle, field_name)); + auto n_unk_20 = new NodeSimple; + n_unk_20->m_field_name = field_name; + n_unk_20->m_df_type = DF_Type::int32_t; + n_unk_20->m_rdf_type = RDF_Type::int32_t; + n_unk_20->m_node_type = NodeType::Simple; + n_unk_20->m_address = base + offset; + n_unk_20->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_20); + +} +void node_from_unit_item_use(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_item_use, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "time_in_use"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_item_use, field_name)); + auto n_time_in_use = new NodeSimple; + n_time_in_use->m_field_name = field_name; + n_time_in_use->m_df_type = DF_Type::int32_t; + n_time_in_use->m_rdf_type = RDF_Type::int32_t; + n_time_in_use->m_node_type = NodeType::Simple; + n_time_in_use->m_address = base + offset; + n_time_in_use->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_time_in_use); + + field_name = "has_grown_attached"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_item_use, field_name)); + auto n_has_grown_attached = new NodeSimple; + n_has_grown_attached->m_field_name = field_name; + n_has_grown_attached->m_df_type = DF_Type::int32_t; + n_has_grown_attached->m_rdf_type = RDF_Type::int32_t; + n_has_grown_attached->m_node_type = NodeType::Simple; + n_has_grown_attached->m_address = base + offset; + n_has_grown_attached->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_has_grown_attached); + + field_name = "affection_level"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_item_use, field_name)); + auto n_affection_level = new NodeSimple; + n_affection_level->m_field_name = field_name; + n_affection_level->m_df_type = DF_Type::int32_t; + n_affection_level->m_rdf_type = RDF_Type::int32_t; + n_affection_level->m_node_type = NodeType::Simple; + n_affection_level->m_address = base + offset; + n_affection_level->m_comment = "min 50 for attached, 1000 for name"; + n_affection_level->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_affection_level); + +} +void node_from_unit_health_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_unit_bp_health_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_orientation_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_unit_action_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_unit_unk_138(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_unk_138, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_unk_138, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_unk_138, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_unk_138, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + +} +void node_from_unit_coin_debt(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "recipient"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_coin_debt, field_name)); + auto n_recipient = new NodeSimple; + n_recipient->m_field_name = field_name; + n_recipient->m_df_type = DF_Type::int32_t; + n_recipient->m_rdf_type = RDF_Type::int32_t; + n_recipient->m_node_type = NodeType::Simple; + n_recipient->m_address = base + offset; + n_recipient->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_recipient); + + field_name = "amount"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_coin_debt, field_name)); + auto n_amount = new NodeSimple; + n_amount->m_field_name = field_name; + n_amount->m_df_type = DF_Type::int32_t; + n_amount->m_rdf_type = RDF_Type::int32_t; + n_amount->m_node_type = NodeType::Simple; + n_amount->m_address = base + offset; + n_amount->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_amount); + +} +void node_from_vermin_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_file_compressorst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "compressed"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::file_compressorst, field_name)); + auto n_compressed = new NodeSimple; + n_compressed->m_field_name = field_name; + n_compressed->m_df_type = DF_Type::Bool; + n_compressed->m_rdf_type = RDF_Type::Bool; + n_compressed->m_node_type = NodeType::Simple; + n_compressed->m_address = base + offset; + n_compressed->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_compressed); + + field_name = "in_buffer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::file_compressorst, field_name)); + auto n_in_buffer = new NodePointer; + n_in_buffer->m_field_name = field_name; + n_in_buffer->m_df_type = get_real_subtype(base+offset, DF_Type::uint8_t); + n_in_buffer->m_rdf_type = RDF_Type::Pointer; + n_in_buffer->m_node_type = NodeType::Pointer; + n_in_buffer->m_addornements = "*"; + n_in_buffer->m_address = base + offset; + n_in_buffer->m_parent = p_node_parent; + n_in_buffer->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_in_buffer); + + field_name = "in_buffersize"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::file_compressorst, field_name)); + auto n_in_buffersize = new NodeSimple; + n_in_buffersize->m_field_name = field_name; + n_in_buffersize->m_df_type = DF_Type::Long; + n_in_buffersize->m_rdf_type = RDF_Type::Long; + n_in_buffersize->m_node_type = NodeType::Simple; + n_in_buffersize->m_address = base + offset; + n_in_buffersize->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_in_buffersize); + + field_name = "in_buffer_amount_loaded"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::file_compressorst, field_name)); + auto n_in_buffer_amount_loaded = new NodeSimple; + n_in_buffer_amount_loaded->m_field_name = field_name; + n_in_buffer_amount_loaded->m_df_type = DF_Type::Long; + n_in_buffer_amount_loaded->m_rdf_type = RDF_Type::Long; + n_in_buffer_amount_loaded->m_node_type = NodeType::Simple; + n_in_buffer_amount_loaded->m_address = base + offset; + n_in_buffer_amount_loaded->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_in_buffer_amount_loaded); + + field_name = "in_buffer_position"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::file_compressorst, field_name)); + auto n_in_buffer_position = new NodeSimple; + n_in_buffer_position->m_field_name = field_name; + n_in_buffer_position->m_df_type = DF_Type::Long; + n_in_buffer_position->m_rdf_type = RDF_Type::Long; + n_in_buffer_position->m_node_type = NodeType::Simple; + n_in_buffer_position->m_address = base + offset; + n_in_buffer_position->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_in_buffer_position); + + field_name = "out_buffer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::file_compressorst, field_name)); + auto n_out_buffer = new NodePointer; + n_out_buffer->m_field_name = field_name; + n_out_buffer->m_df_type = get_real_subtype(base+offset, DF_Type::uint8_t); + n_out_buffer->m_rdf_type = RDF_Type::Pointer; + n_out_buffer->m_node_type = NodeType::Pointer; + n_out_buffer->m_addornements = "*"; + n_out_buffer->m_address = base + offset; + n_out_buffer->m_parent = p_node_parent; + n_out_buffer->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_out_buffer); + + field_name = "out_buffersize"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::file_compressorst, field_name)); + auto n_out_buffersize = new NodeSimple; + n_out_buffersize->m_field_name = field_name; + n_out_buffersize->m_df_type = DF_Type::Long; + n_out_buffersize->m_rdf_type = RDF_Type::Long; + n_out_buffersize->m_node_type = NodeType::Simple; + n_out_buffersize->m_address = base + offset; + n_out_buffersize->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_out_buffersize); + + field_name = "out_buffer_amount_written"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::file_compressorst, field_name)); + auto n_out_buffer_amount_written = new NodeSimple; + n_out_buffer_amount_written->m_field_name = field_name; + n_out_buffer_amount_written->m_df_type = DF_Type::int32_t; + n_out_buffer_amount_written->m_rdf_type = RDF_Type::int32_t; + n_out_buffer_amount_written->m_node_type = NodeType::Simple; + n_out_buffer_amount_written->m_address = base + offset; + n_out_buffer_amount_written->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_out_buffer_amount_written); + +} +void node_from_interface_breakdown_types(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_layer_object(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "enabled"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::layer_object, field_name)); + auto n_enabled = new NodeSimple; + n_enabled->m_field_name = field_name; + n_enabled->m_df_type = DF_Type::Bool; + n_enabled->m_rdf_type = RDF_Type::Bool; + n_enabled->m_node_type = NodeType::Simple; + n_enabled->m_address = base + offset; + n_enabled->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_enabled); + + field_name = "active"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::layer_object, field_name)); + auto n_active = new NodeSimple; + n_active->m_field_name = field_name; + n_active->m_df_type = DF_Type::Bool; + n_active->m_rdf_type = RDF_Type::Bool; + n_active->m_node_type = NodeType::Simple; + n_active->m_address = base + offset; + n_active->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_active); + +} +void node_from_layer_object_buttonst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::layer_object; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_layer_object(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "x1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::layer_object_buttonst, field_name)); + auto n_x1 = new NodeSimple; + n_x1->m_field_name = field_name; + n_x1->m_df_type = DF_Type::int32_t; + n_x1->m_rdf_type = RDF_Type::int32_t; + n_x1->m_node_type = NodeType::Simple; + n_x1->m_address = base + offset; + n_x1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_x1); + + field_name = "y1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::layer_object_buttonst, field_name)); + auto n_y1 = new NodeSimple; + n_y1->m_field_name = field_name; + n_y1->m_df_type = DF_Type::int32_t; + n_y1->m_rdf_type = RDF_Type::int32_t; + n_y1->m_node_type = NodeType::Simple; + n_y1->m_address = base + offset; + n_y1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_y1); + + field_name = "x2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::layer_object_buttonst, field_name)); + auto n_x2 = new NodeSimple; + n_x2->m_field_name = field_name; + n_x2->m_df_type = DF_Type::int32_t; + n_x2->m_rdf_type = RDF_Type::int32_t; + n_x2->m_node_type = NodeType::Simple; + n_x2->m_address = base + offset; + n_x2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_x2); + + field_name = "y2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::layer_object_buttonst, field_name)); + auto n_y2 = new NodeSimple; + n_y2->m_field_name = field_name; + n_y2->m_df_type = DF_Type::int32_t; + n_y2->m_rdf_type = RDF_Type::int32_t; + n_y2->m_node_type = NodeType::Simple; + n_y2->m_address = base + offset; + n_y2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_y2); + + field_name = "has_mouse_lclick"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::layer_object_buttonst, field_name)); + auto n_has_mouse_lclick = new NodeSimple; + n_has_mouse_lclick->m_field_name = field_name; + n_has_mouse_lclick->m_df_type = DF_Type::int32_t; + n_has_mouse_lclick->m_rdf_type = RDF_Type::int32_t; + n_has_mouse_lclick->m_node_type = NodeType::Simple; + n_has_mouse_lclick->m_address = base + offset; + n_has_mouse_lclick->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_has_mouse_lclick); + + field_name = "has_mouse_rclick"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::layer_object_buttonst, field_name)); + auto n_has_mouse_rclick = new NodeSimple; + n_has_mouse_rclick->m_field_name = field_name; + n_has_mouse_rclick->m_df_type = DF_Type::int32_t; + n_has_mouse_rclick->m_rdf_type = RDF_Type::int32_t; + n_has_mouse_rclick->m_node_type = NodeType::Simple; + n_has_mouse_rclick->m_address = base + offset; + n_has_mouse_rclick->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_has_mouse_rclick); + + field_name = "mouse_lclick_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::layer_object_buttonst, field_name)); + auto n_mouse_lclick_x = new NodeSimple; + n_mouse_lclick_x->m_field_name = field_name; + n_mouse_lclick_x->m_df_type = DF_Type::int32_t; + n_mouse_lclick_x->m_rdf_type = RDF_Type::int32_t; + n_mouse_lclick_x->m_node_type = NodeType::Simple; + n_mouse_lclick_x->m_address = base + offset; + n_mouse_lclick_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mouse_lclick_x); + + field_name = "mouse_lclick_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::layer_object_buttonst, field_name)); + auto n_mouse_lclick_y = new NodeSimple; + n_mouse_lclick_y->m_field_name = field_name; + n_mouse_lclick_y->m_df_type = DF_Type::int32_t; + n_mouse_lclick_y->m_rdf_type = RDF_Type::int32_t; + n_mouse_lclick_y->m_node_type = NodeType::Simple; + n_mouse_lclick_y->m_address = base + offset; + n_mouse_lclick_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mouse_lclick_y); + + field_name = "mouse_rclick_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::layer_object_buttonst, field_name)); + auto n_mouse_rclick_x = new NodeSimple; + n_mouse_rclick_x->m_field_name = field_name; + n_mouse_rclick_x->m_df_type = DF_Type::int32_t; + n_mouse_rclick_x->m_rdf_type = RDF_Type::int32_t; + n_mouse_rclick_x->m_node_type = NodeType::Simple; + n_mouse_rclick_x->m_address = base + offset; + n_mouse_rclick_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mouse_rclick_x); + + field_name = "mouse_rclick_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::layer_object_buttonst, field_name)); + auto n_mouse_rclick_y = new NodeSimple; + n_mouse_rclick_y->m_field_name = field_name; + n_mouse_rclick_y->m_df_type = DF_Type::int32_t; + n_mouse_rclick_y->m_rdf_type = RDF_Type::int32_t; + n_mouse_rclick_y->m_node_type = NodeType::Simple; + n_mouse_rclick_y->m_address = base + offset; + n_mouse_rclick_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mouse_rclick_y); + + field_name = "mouse_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::layer_object_buttonst, field_name)); + auto n_mouse_x = new NodeSimple; + n_mouse_x->m_field_name = field_name; + n_mouse_x->m_df_type = DF_Type::int32_t; + n_mouse_x->m_rdf_type = RDF_Type::int32_t; + n_mouse_x->m_node_type = NodeType::Simple; + n_mouse_x->m_address = base + offset; + n_mouse_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mouse_x); + + field_name = "mouse_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::layer_object_buttonst, field_name)); + auto n_mouse_y = new NodeSimple; + n_mouse_y->m_field_name = field_name; + n_mouse_y->m_df_type = DF_Type::int32_t; + n_mouse_y->m_rdf_type = RDF_Type::int32_t; + n_mouse_y->m_node_type = NodeType::Simple; + n_mouse_y->m_address = base + offset; + n_mouse_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mouse_y); + + field_name = "mouse_x_old"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::layer_object_buttonst, field_name)); + auto n_mouse_x_old = new NodeSimple; + n_mouse_x_old->m_field_name = field_name; + n_mouse_x_old->m_df_type = DF_Type::int32_t; + n_mouse_x_old->m_rdf_type = RDF_Type::int32_t; + n_mouse_x_old->m_node_type = NodeType::Simple; + n_mouse_x_old->m_address = base + offset; + n_mouse_x_old->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mouse_x_old); + + field_name = "mouse_y_old"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::layer_object_buttonst, field_name)); + auto n_mouse_y_old = new NodeSimple; + n_mouse_y_old->m_field_name = field_name; + n_mouse_y_old->m_df_type = DF_Type::int32_t; + n_mouse_y_old->m_rdf_type = RDF_Type::int32_t; + n_mouse_y_old->m_node_type = NodeType::Simple; + n_mouse_y_old->m_address = base + offset; + n_mouse_y_old->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mouse_y_old); + + field_name = "handle_mouselbtndown"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::layer_object_buttonst, field_name)); + auto n_handle_mouselbtndown = new NodeSimple; + n_handle_mouselbtndown->m_field_name = field_name; + n_handle_mouselbtndown->m_df_type = DF_Type::int8_t; + n_handle_mouselbtndown->m_rdf_type = RDF_Type::int8_t; + n_handle_mouselbtndown->m_node_type = NodeType::Simple; + n_handle_mouselbtndown->m_address = base + offset; + n_handle_mouselbtndown->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_handle_mouselbtndown); + + field_name = "handle_mouserbtndown"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::layer_object_buttonst, field_name)); + auto n_handle_mouserbtndown = new NodeSimple; + n_handle_mouserbtndown->m_field_name = field_name; + n_handle_mouserbtndown->m_df_type = DF_Type::int8_t; + n_handle_mouserbtndown->m_rdf_type = RDF_Type::int8_t; + n_handle_mouserbtndown->m_node_type = NodeType::Simple; + n_handle_mouserbtndown->m_address = base + offset; + n_handle_mouserbtndown->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_handle_mouserbtndown); + +} +void node_from_widget_menu(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::widget_menu, field_name)); + auto n_anon_1= new NodePadding; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::Padding; + n_anon_1->m_rdf_type = RDF_Type::Padding; + n_anon_1->m_node_type = NodeType::Padding; + n_anon_1->m_address = base + offset; + n_anon_1->m_comment = "lines, std::map"; + n_anon_1->m_size = 24; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "selection"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::widget_menu, field_name)); + auto n_selection = new NodeSimple; + n_selection->m_field_name = field_name; + n_selection->m_df_type = DF_Type::int32_t; + n_selection->m_rdf_type = RDF_Type::int32_t; + n_selection->m_node_type = NodeType::Simple; + n_selection->m_address = base + offset; + n_selection->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_selection); + + field_name = "last_displayheight"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::widget_menu, field_name)); + auto n_last_displayheight = new NodeSimple; + n_last_displayheight->m_field_name = field_name; + n_last_displayheight->m_df_type = DF_Type::int32_t; + n_last_displayheight->m_rdf_type = RDF_Type::int32_t; + n_last_displayheight->m_node_type = NodeType::Simple; + n_last_displayheight->m_address = base + offset; + n_last_displayheight->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_last_displayheight); + + field_name = "bleached"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::widget_menu, field_name)); + auto n_bleached = new NodeSimple; + n_bleached->m_field_name = field_name; + n_bleached->m_df_type = DF_Type::Bool; + n_bleached->m_rdf_type = RDF_Type::Bool; + n_bleached->m_node_type = NodeType::Simple; + n_bleached->m_address = base + offset; + n_bleached->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_bleached); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::widget_menu, field_name)); + auto n_anon_2= new NodePadding; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::Padding; + n_anon_2->m_rdf_type = RDF_Type::Padding; + n_anon_2->m_node_type = NodeType::Padding; + n_anon_2->m_address = base + offset; + n_anon_2->m_comment = "colors, std::map"; + n_anon_2->m_size = 24; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + +} +void node_from_widget_textbox(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "text"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::widget_textbox, field_name)); + auto n_text = new NodeSimple; + n_text->m_field_name = field_name; + n_text->m_df_type = DF_Type::Stl_string; + n_text->m_rdf_type = RDF_Type::Stl_string; + n_text->m_node_type = NodeType::Simple; + n_text->m_address = base + offset; + n_text->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_text); + + field_name = "keep"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::widget_textbox, field_name)); + auto n_keep = new NodeSimple; + n_keep->m_field_name = field_name; + n_keep->m_df_type = DF_Type::Bool; + n_keep->m_rdf_type = RDF_Type::Bool; + n_keep->m_node_type = NodeType::Simple; + n_keep->m_address = base + offset; + n_keep->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_keep); + +} +void node_from_adventure_log_item(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "object"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_log_item, field_name)); + auto n_object = new NodePointer; + n_object->m_field_name = field_name; + n_object->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_object->m_rdf_type = RDF_Type::Pointer; + n_object->m_node_type = NodeType::Pointer; + n_object->m_addornements = "*"; + n_object->m_address = base + offset; + n_object->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_object); + + field_name = "str1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_log_item, field_name)); + auto n_str1 = new NodeSimple; + n_str1->m_field_name = field_name; + n_str1->m_df_type = DF_Type::Stl_string; + n_str1->m_rdf_type = RDF_Type::Stl_string; + n_str1->m_node_type = NodeType::Simple; + n_str1->m_address = base + offset; + n_str1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_str1); + + field_name = "str2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_log_item, field_name)); + auto n_str2 = new NodeSimple; + n_str2->m_field_name = field_name; + n_str2->m_df_type = DF_Type::Stl_string; + n_str2->m_rdf_type = RDF_Type::Stl_string; + n_str2->m_node_type = NodeType::Simple; + n_str2->m_address = base + offset; + n_str2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_str2); + + field_name = "str3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_log_item, field_name)); + auto n_str3 = new NodeSimple; + n_str3->m_field_name = field_name; + n_str3->m_df_type = DF_Type::Stl_string; + n_str3->m_rdf_type = RDF_Type::Stl_string; + n_str3->m_node_type = NodeType::Simple; + n_str3->m_address = base + offset; + n_str3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_str3); + + field_name = "info"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_log_item, field_name)); + auto n_info = new NodeVector; + n_info->m_field_name = field_name; + n_info->m_df_type = DF_Type::Stl_string; + n_info->m_rdf_type = RDF_Type::Vector; + n_info->m_node_type = NodeType::Vector; + n_info->m_addornements = "v*"; + n_info->m_address = base + offset; + n_info->m_parent = p_node_parent; + n_info->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_info); + +} +void node_from_embark_finder_option(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_viewscreen_image_creator_mode(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_viewscreen_kitchenpref_page(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_kitchen_pref_flag(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_health_view_bits1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_health_view_bits2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_health_view_bits3(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_world_gen_param_basest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_gen_param_basest, field_name)); + auto n_name = new NodeSimple; + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Stl_string; + n_name->m_node_type = NodeType::Simple; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + +} +void node_from_world_gen_param_seedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::world_gen_param_basest; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_world_gen_param_basest(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_gen_param_seedst, field_name)); + auto n_anon_1 = new NodePointer; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = get_real_subtype(base+offset, DF_Type::Stl_string); + n_anon_1->m_rdf_type = RDF_Type::Pointer; + n_anon_1->m_node_type = NodeType::Pointer; + n_anon_1->m_addornements = "*"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_world_gen_param_valuest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::world_gen_param_basest; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_world_gen_param_basest(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_gen_param_valuest, field_name)); + auto n_unk_1 = new NodeSimple; + n_unk_1->m_field_name = field_name; + n_unk_1->m_df_type = DF_Type::Stl_string; + n_unk_1->m_rdf_type = RDF_Type::Stl_string; + n_unk_1->m_node_type = NodeType::Simple; + n_unk_1->m_address = base + offset; + n_unk_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_1); + + field_name = "unk_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_gen_param_valuest, field_name)); + auto n_unk_2 = new NodeSimple; + n_unk_2->m_field_name = field_name; + n_unk_2->m_df_type = DF_Type::int32_t; + n_unk_2->m_rdf_type = RDF_Type::int32_t; + n_unk_2->m_node_type = NodeType::Simple; + n_unk_2->m_address = base + offset; + n_unk_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_2); + + field_name = "unk_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_gen_param_valuest, field_name)); + auto n_unk_3 = new NodeVector; + n_unk_3->m_field_name = field_name; + n_unk_3->m_df_type = DF_Type::Void; + n_unk_3->m_rdf_type = RDF_Type::Vector; + n_unk_3->m_node_type = NodeType::Vector; + n_unk_3->m_addornements = "v"; + n_unk_3->m_address = base + offset; + n_unk_3->m_parent = p_node_parent; + n_unk_3->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_3); + +} +void node_from_world_gen_param_charst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::world_gen_param_valuest; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_world_gen_param_valuest(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_gen_param_charst, field_name)); + auto n_anon_1 = new NodePointer; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = get_real_subtype(base+offset, DF_Type::int8_t); + n_anon_1->m_rdf_type = RDF_Type::Pointer; + n_anon_1->m_node_type = NodeType::Pointer; + n_anon_1->m_addornements = "*"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "min_val"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_gen_param_charst, field_name)); + auto n_min_val = new NodeSimple; + n_min_val->m_field_name = field_name; + n_min_val->m_df_type = DF_Type::int8_t; + n_min_val->m_rdf_type = RDF_Type::int8_t; + n_min_val->m_node_type = NodeType::Simple; + n_min_val->m_address = base + offset; + n_min_val->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_min_val); + + field_name = "max_val"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_gen_param_charst, field_name)); + auto n_max_val = new NodeSimple; + n_max_val->m_field_name = field_name; + n_max_val->m_df_type = DF_Type::int8_t; + n_max_val->m_rdf_type = RDF_Type::int8_t; + n_max_val->m_node_type = NodeType::Simple; + n_max_val->m_address = base + offset; + n_max_val->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_max_val); + + field_name = "initial_val"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_gen_param_charst, field_name)); + auto n_initial_val = new NodeSimple; + n_initial_val->m_field_name = field_name; + n_initial_val->m_df_type = DF_Type::int8_t; + n_initial_val->m_rdf_type = RDF_Type::int8_t; + n_initial_val->m_node_type = NodeType::Simple; + n_initial_val->m_address = base + offset; + n_initial_val->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_initial_val); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_gen_param_charst, field_name)); + auto n_anon_2 = new NodeVector; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int8_t; + n_anon_2->m_rdf_type = RDF_Type::Vector; + n_anon_2->m_node_type = NodeType::Vector; + n_anon_2->m_addornements = "v"; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + n_anon_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_2); + +} +void node_from_world_gen_param_memberst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::world_gen_param_valuest; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_world_gen_param_valuest(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_gen_param_memberst, field_name)); + auto n_anon_1 = new NodePointer; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = get_real_subtype(base+offset, DF_Type::int32_t); + n_anon_1->m_rdf_type = RDF_Type::Pointer; + n_anon_1->m_node_type = NodeType::Pointer; + n_anon_1->m_addornements = "*"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "min_val"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_gen_param_memberst, field_name)); + auto n_min_val = new NodeSimple; + n_min_val->m_field_name = field_name; + n_min_val->m_df_type = DF_Type::int32_t; + n_min_val->m_rdf_type = RDF_Type::int32_t; + n_min_val->m_node_type = NodeType::Simple; + n_min_val->m_address = base + offset; + n_min_val->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_min_val); + + field_name = "max_val"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_gen_param_memberst, field_name)); + auto n_max_val = new NodeSimple; + n_max_val->m_field_name = field_name; + n_max_val->m_df_type = DF_Type::int32_t; + n_max_val->m_rdf_type = RDF_Type::int32_t; + n_max_val->m_node_type = NodeType::Simple; + n_max_val->m_address = base + offset; + n_max_val->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_max_val); + + field_name = "initial_val"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_gen_param_memberst, field_name)); + auto n_initial_val = new NodeSimple; + n_initial_val->m_field_name = field_name; + n_initial_val->m_df_type = DF_Type::int32_t; + n_initial_val->m_rdf_type = RDF_Type::int32_t; + n_initial_val->m_node_type = NodeType::Simple; + n_initial_val->m_address = base + offset; + n_initial_val->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_initial_val); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_gen_param_memberst, field_name)); + auto n_anon_2 = new NodeVector; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::Vector; + n_anon_2->m_node_type = NodeType::Vector; + n_anon_2->m_addornements = "v"; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + n_anon_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_2); + +} +void node_from_matgloss_list(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::matgloss_list, field_name)); + auto n_anon_1 = new NodeVector; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::Void; + n_anon_1->m_rdf_type = RDF_Type::Vector; + n_anon_1->m_node_type = NodeType::Vector; + n_anon_1->m_addornements = "v"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "generated_inorganics"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::matgloss_list, field_name)); + auto n_generated_inorganics = new NodeVector; + n_generated_inorganics->m_field_name = field_name; + n_generated_inorganics->m_df_type = DF_Type::Void; + n_generated_inorganics->m_rdf_type = RDF_Type::Vector; + n_generated_inorganics->m_node_type = NodeType::Vector; + n_generated_inorganics->m_addornements = "v"; + n_generated_inorganics->m_address = base + offset; + n_generated_inorganics->m_parent = p_node_parent; + n_generated_inorganics->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_generated_inorganics); + + field_name = "generated_plants"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::matgloss_list, field_name)); + auto n_generated_plants = new NodeVector; + n_generated_plants->m_field_name = field_name; + n_generated_plants->m_df_type = DF_Type::Void; + n_generated_plants->m_rdf_type = RDF_Type::Vector; + n_generated_plants->m_node_type = NodeType::Vector; + n_generated_plants->m_addornements = "v"; + n_generated_plants->m_address = base + offset; + n_generated_plants->m_parent = p_node_parent; + n_generated_plants->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_generated_plants); + + field_name = "generated_items"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::matgloss_list, field_name)); + auto n_generated_items = new NodeVector; + n_generated_items->m_field_name = field_name; + n_generated_items->m_df_type = DF_Type::Void; + n_generated_items->m_rdf_type = RDF_Type::Vector; + n_generated_items->m_node_type = NodeType::Vector; + n_generated_items->m_addornements = "v"; + n_generated_items->m_address = base + offset; + n_generated_items->m_parent = p_node_parent; + n_generated_items->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_generated_items); + + field_name = "generated_creatures"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::matgloss_list, field_name)); + auto n_generated_creatures = new NodeVector; + n_generated_creatures->m_field_name = field_name; + n_generated_creatures->m_df_type = DF_Type::Void; + n_generated_creatures->m_rdf_type = RDF_Type::Vector; + n_generated_creatures->m_node_type = NodeType::Vector; + n_generated_creatures->m_addornements = "v"; + n_generated_creatures->m_address = base + offset; + n_generated_creatures->m_parent = p_node_parent; + n_generated_creatures->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_generated_creatures); + + field_name = "generated_entities"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::matgloss_list, field_name)); + auto n_generated_entities = new NodeVector; + n_generated_entities->m_field_name = field_name; + n_generated_entities->m_df_type = DF_Type::Void; + n_generated_entities->m_rdf_type = RDF_Type::Vector; + n_generated_entities->m_node_type = NodeType::Vector; + n_generated_entities->m_addornements = "v"; + n_generated_entities->m_address = base + offset; + n_generated_entities->m_parent = p_node_parent; + n_generated_entities->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_generated_entities); + + field_name = "generated_interactions"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::matgloss_list, field_name)); + auto n_generated_interactions = new NodeVector; + n_generated_interactions->m_field_name = field_name; + n_generated_interactions->m_df_type = DF_Type::Void; + n_generated_interactions->m_rdf_type = RDF_Type::Vector; + n_generated_interactions->m_node_type = NodeType::Vector; + n_generated_interactions->m_addornements = "v"; + n_generated_interactions->m_address = base + offset; + n_generated_interactions->m_parent = p_node_parent; + n_generated_interactions->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_generated_interactions); + + field_name = "generated_languages"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::matgloss_list, field_name)); + auto n_generated_languages = new NodeVector; + n_generated_languages->m_field_name = field_name; + n_generated_languages->m_df_type = DF_Type::Void; + n_generated_languages->m_rdf_type = RDF_Type::Vector; + n_generated_languages->m_node_type = NodeType::Vector; + n_generated_languages->m_addornements = "v"; + n_generated_languages->m_address = base + offset; + n_generated_languages->m_parent = p_node_parent; + n_generated_languages->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_generated_languages); + + field_name = "inorganics"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::matgloss_list, field_name)); + auto n_inorganics = new NodeVector; + n_inorganics->m_field_name = field_name; + n_inorganics->m_df_type = DF_Type::Stl_string; + n_inorganics->m_rdf_type = RDF_Type::Vector; + n_inorganics->m_node_type = NodeType::Vector; + n_inorganics->m_addornements = "v*"; + n_inorganics->m_address = base + offset; + n_inorganics->m_parent = p_node_parent; + n_inorganics->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_inorganics); + + field_name = "plants"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::matgloss_list, field_name)); + auto n_plants = new NodeVector; + n_plants->m_field_name = field_name; + n_plants->m_df_type = DF_Type::Stl_string; + n_plants->m_rdf_type = RDF_Type::Vector; + n_plants->m_node_type = NodeType::Vector; + n_plants->m_addornements = "v*"; + n_plants->m_address = base + offset; + n_plants->m_parent = p_node_parent; + n_plants->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_plants); + + field_name = "bodies"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::matgloss_list, field_name)); + auto n_bodies = new NodeVector; + n_bodies->m_field_name = field_name; + n_bodies->m_df_type = DF_Type::Stl_string; + n_bodies->m_rdf_type = RDF_Type::Vector; + n_bodies->m_node_type = NodeType::Vector; + n_bodies->m_addornements = "v*"; + n_bodies->m_address = base + offset; + n_bodies->m_parent = p_node_parent; + n_bodies->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bodies); + + field_name = "bodyglosses"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::matgloss_list, field_name)); + auto n_bodyglosses = new NodeVector; + n_bodyglosses->m_field_name = field_name; + n_bodyglosses->m_df_type = DF_Type::Stl_string; + n_bodyglosses->m_rdf_type = RDF_Type::Vector; + n_bodyglosses->m_node_type = NodeType::Vector; + n_bodyglosses->m_addornements = "v*"; + n_bodyglosses->m_address = base + offset; + n_bodyglosses->m_parent = p_node_parent; + n_bodyglosses->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bodyglosses); + + field_name = "creatures"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::matgloss_list, field_name)); + auto n_creatures = new NodeVector; + n_creatures->m_field_name = field_name; + n_creatures->m_df_type = DF_Type::Stl_string; + n_creatures->m_rdf_type = RDF_Type::Vector; + n_creatures->m_node_type = NodeType::Vector; + n_creatures->m_addornements = "v*"; + n_creatures->m_address = base + offset; + n_creatures->m_parent = p_node_parent; + n_creatures->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_creatures); + + field_name = "items"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::matgloss_list, field_name)); + auto n_items = new NodeVector; + n_items->m_field_name = field_name; + n_items->m_df_type = DF_Type::Stl_string; + n_items->m_rdf_type = RDF_Type::Vector; + n_items->m_node_type = NodeType::Vector; + n_items->m_addornements = "v*"; + n_items->m_address = base + offset; + n_items->m_parent = p_node_parent; + n_items->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_items); + + field_name = "buildings"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::matgloss_list, field_name)); + auto n_buildings = new NodeVector; + n_buildings->m_field_name = field_name; + n_buildings->m_df_type = DF_Type::Stl_string; + n_buildings->m_rdf_type = RDF_Type::Vector; + n_buildings->m_node_type = NodeType::Vector; + n_buildings->m_addornements = "v*"; + n_buildings->m_address = base + offset; + n_buildings->m_parent = p_node_parent; + n_buildings->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_buildings); + + field_name = "entities"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::matgloss_list, field_name)); + auto n_entities = new NodeVector; + n_entities->m_field_name = field_name; + n_entities->m_df_type = DF_Type::Stl_string; + n_entities->m_rdf_type = RDF_Type::Vector; + n_entities->m_node_type = NodeType::Vector; + n_entities->m_addornements = "v*"; + n_entities->m_address = base + offset; + n_entities->m_parent = p_node_parent; + n_entities->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_entities); + + field_name = "words"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::matgloss_list, field_name)); + auto n_words = new NodeVector; + n_words->m_field_name = field_name; + n_words->m_df_type = DF_Type::Stl_string; + n_words->m_rdf_type = RDF_Type::Vector; + n_words->m_node_type = NodeType::Vector; + n_words->m_addornements = "v*"; + n_words->m_address = base + offset; + n_words->m_parent = p_node_parent; + n_words->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_words); + + field_name = "symbols"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::matgloss_list, field_name)); + auto n_symbols = new NodeVector; + n_symbols->m_field_name = field_name; + n_symbols->m_df_type = DF_Type::Stl_string; + n_symbols->m_rdf_type = RDF_Type::Vector; + n_symbols->m_node_type = NodeType::Vector; + n_symbols->m_addornements = "v*"; + n_symbols->m_address = base + offset; + n_symbols->m_parent = p_node_parent; + n_symbols->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_symbols); + + field_name = "translations"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::matgloss_list, field_name)); + auto n_translations = new NodeVector; + n_translations->m_field_name = field_name; + n_translations->m_df_type = DF_Type::Stl_string; + n_translations->m_rdf_type = RDF_Type::Vector; + n_translations->m_node_type = NodeType::Vector; + n_translations->m_addornements = "v*"; + n_translations->m_address = base + offset; + n_translations->m_parent = p_node_parent; + n_translations->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_translations); + + field_name = "colors"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::matgloss_list, field_name)); + auto n_colors = new NodeVector; + n_colors->m_field_name = field_name; + n_colors->m_df_type = DF_Type::Stl_string; + n_colors->m_rdf_type = RDF_Type::Vector; + n_colors->m_node_type = NodeType::Vector; + n_colors->m_addornements = "v*"; + n_colors->m_address = base + offset; + n_colors->m_parent = p_node_parent; + n_colors->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_colors); + + field_name = "shapes"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::matgloss_list, field_name)); + auto n_shapes = new NodeVector; + n_shapes->m_field_name = field_name; + n_shapes->m_df_type = DF_Type::Stl_string; + n_shapes->m_rdf_type = RDF_Type::Vector; + n_shapes->m_node_type = NodeType::Vector; + n_shapes->m_addornements = "v*"; + n_shapes->m_address = base + offset; + n_shapes->m_parent = p_node_parent; + n_shapes->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_shapes); + + field_name = "patterns"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::matgloss_list, field_name)); + auto n_patterns = new NodeVector; + n_patterns->m_field_name = field_name; + n_patterns->m_df_type = DF_Type::Stl_string; + n_patterns->m_rdf_type = RDF_Type::Vector; + n_patterns->m_node_type = NodeType::Vector; + n_patterns->m_addornements = "v*"; + n_patterns->m_address = base + offset; + n_patterns->m_parent = p_node_parent; + n_patterns->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_patterns); + + field_name = "reactions"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::matgloss_list, field_name)); + auto n_reactions = new NodeVector; + n_reactions->m_field_name = field_name; + n_reactions->m_df_type = DF_Type::Stl_string; + n_reactions->m_rdf_type = RDF_Type::Vector; + n_reactions->m_node_type = NodeType::Vector; + n_reactions->m_addornements = "v*"; + n_reactions->m_address = base + offset; + n_reactions->m_parent = p_node_parent; + n_reactions->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_reactions); + + field_name = "material_templates"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::matgloss_list, field_name)); + auto n_material_templates = new NodeVector; + n_material_templates->m_field_name = field_name; + n_material_templates->m_df_type = DF_Type::Stl_string; + n_material_templates->m_rdf_type = RDF_Type::Vector; + n_material_templates->m_node_type = NodeType::Vector; + n_material_templates->m_addornements = "v*"; + n_material_templates->m_address = base + offset; + n_material_templates->m_parent = p_node_parent; + n_material_templates->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_material_templates); + + field_name = "tissue_templates"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::matgloss_list, field_name)); + auto n_tissue_templates = new NodeVector; + n_tissue_templates->m_field_name = field_name; + n_tissue_templates->m_df_type = DF_Type::Stl_string; + n_tissue_templates->m_rdf_type = RDF_Type::Vector; + n_tissue_templates->m_node_type = NodeType::Vector; + n_tissue_templates->m_addornements = "v*"; + n_tissue_templates->m_address = base + offset; + n_tissue_templates->m_parent = p_node_parent; + n_tissue_templates->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_tissue_templates); + + field_name = "body_detail_plans"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::matgloss_list, field_name)); + auto n_body_detail_plans = new NodeVector; + n_body_detail_plans->m_field_name = field_name; + n_body_detail_plans->m_df_type = DF_Type::Stl_string; + n_body_detail_plans->m_rdf_type = RDF_Type::Vector; + n_body_detail_plans->m_node_type = NodeType::Vector; + n_body_detail_plans->m_addornements = "v*"; + n_body_detail_plans->m_address = base + offset; + n_body_detail_plans->m_parent = p_node_parent; + n_body_detail_plans->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_body_detail_plans); + + field_name = "creature_variations"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::matgloss_list, field_name)); + auto n_creature_variations = new NodeVector; + n_creature_variations->m_field_name = field_name; + n_creature_variations->m_df_type = DF_Type::Stl_string; + n_creature_variations->m_rdf_type = RDF_Type::Vector; + n_creature_variations->m_node_type = NodeType::Vector; + n_creature_variations->m_addornements = "v*"; + n_creature_variations->m_address = base + offset; + n_creature_variations->m_parent = p_node_parent; + n_creature_variations->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_creature_variations); + + field_name = "interactions"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::matgloss_list, field_name)); + auto n_interactions = new NodeVector; + n_interactions->m_field_name = field_name; + n_interactions->m_df_type = DF_Type::Stl_string; + n_interactions->m_rdf_type = RDF_Type::Vector; + n_interactions->m_node_type = NodeType::Vector; + n_interactions->m_addornements = "v*"; + n_interactions->m_address = base + offset; + n_interactions->m_parent = p_node_parent; + n_interactions->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_interactions); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::matgloss_list, field_name)); + auto n_anon_2 = new NodeVector; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::Void; + n_anon_2->m_rdf_type = RDF_Type::Vector; + n_anon_2->m_node_type = NodeType::Vector; + n_anon_2->m_addornements = "v"; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + n_anon_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_2); + +} +void node_from_adventurer_attribute_level(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_viewscreen_unitlist_page(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_world_population_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_world_population_ref(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "region_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_population_ref, field_name)); + auto n_region_x = new NodeSimple; + n_region_x->m_field_name = field_name; + n_region_x->m_df_type = DF_Type::int16_t; + n_region_x->m_rdf_type = RDF_Type::int16_t; + n_region_x->m_node_type = NodeType::Simple; + n_region_x->m_address = base + offset; + n_region_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region_x); + + field_name = "region_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_population_ref, field_name)); + auto n_region_y = new NodeSimple; + n_region_y->m_field_name = field_name; + n_region_y->m_df_type = DF_Type::int16_t; + n_region_y->m_rdf_type = RDF_Type::int16_t; + n_region_y->m_node_type = NodeType::Simple; + n_region_y->m_address = base + offset; + n_region_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region_y); + + field_name = "feature_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_population_ref, field_name)); + auto n_feature_idx = new NodeSimple; + n_feature_idx->m_field_name = field_name; + n_feature_idx->m_df_type = DF_Type::int16_t; + n_feature_idx->m_rdf_type = RDF_Type::int16_t; + n_feature_idx->m_node_type = NodeType::Simple; + n_feature_idx->m_address = base + offset; + n_feature_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_feature_idx); + + field_name = "cave_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_population_ref, field_name)); + auto n_cave_id = new NodeSimple; + n_cave_id->m_field_name = field_name; + n_cave_id->m_df_type = DF_Type::int32_t; + n_cave_id->m_rdf_type = RDF_Type::int32_t; + n_cave_id->m_node_type = NodeType::Simple; + n_cave_id->m_address = base + offset; + n_cave_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cave_id); + + field_name = "unk_28"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_population_ref, field_name)); + auto n_unk_28 = new NodeSimple; + n_unk_28->m_field_name = field_name; + n_unk_28->m_df_type = DF_Type::int32_t; + n_unk_28->m_rdf_type = RDF_Type::int32_t; + n_unk_28->m_node_type = NodeType::Simple; + n_unk_28->m_address = base + offset; + n_unk_28->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_28); + + field_name = "population_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_population_ref, field_name)); + auto n_population_idx = new NodeSimple; + n_population_idx->m_field_name = field_name; + n_population_idx->m_df_type = DF_Type::int32_t; + n_population_idx->m_rdf_type = RDF_Type::int32_t; + n_population_idx->m_node_type = NodeType::Simple; + n_population_idx->m_address = base + offset; + n_population_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_population_idx); + + field_name = "depth"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_population_ref, field_name)); + auto n_depth = new NodeSimple; + n_depth->m_field_name = field_name; + n_depth->m_df_type = DF_Type::int16_t; + n_depth->m_rdf_type = RDF_Type::int16_t; + n_depth->m_node_type = NodeType::Simple; + n_depth->m_address = base + offset; + n_depth->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_depth); + +} +void node_from_world_region_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_geo_layer_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_region_map_entry_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_front_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_cumulus_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_stratus_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_fog_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_mountain_peak_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_scribejob(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "idmaybe"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scribejob, field_name)); + auto n_idmaybe = new NodeSimple; + n_idmaybe->m_field_name = field_name; + n_idmaybe->m_df_type = DF_Type::int32_t; + n_idmaybe->m_rdf_type = RDF_Type::int32_t; + n_idmaybe->m_node_type = NodeType::Simple; + n_idmaybe->m_address = base + offset; + n_idmaybe->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_idmaybe); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scribejob, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_comment = "not locationid"; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "item_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scribejob, field_name)); + auto n_item_id = new NodeSimple; + n_item_id->m_field_name = field_name; + n_item_id->m_df_type = DF_Type::int32_t; + n_item_id->m_rdf_type = RDF_Type::int32_t; + n_item_id->m_node_type = NodeType::Simple; + n_item_id->m_address = base + offset; + n_item_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_id); + + field_name = "written_content_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scribejob, field_name)); + auto n_written_content_id = new NodeSimple; + n_written_content_id->m_field_name = field_name; + n_written_content_id->m_df_type = DF_Type::int32_t; + n_written_content_id->m_rdf_type = RDF_Type::int32_t; + n_written_content_id->m_node_type = NodeType::Simple; + n_written_content_id->m_address = base + offset; + n_written_content_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_written_content_id); + + field_name = "unit_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scribejob, field_name)); + auto n_unit_id = new NodeSimple; + n_unit_id->m_field_name = field_name; + n_unit_id->m_df_type = DF_Type::int32_t; + n_unit_id->m_rdf_type = RDF_Type::int32_t; + n_unit_id->m_node_type = NodeType::Simple; + n_unit_id->m_address = base + offset; + n_unit_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unit_id); + + field_name = "activity_entry_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scribejob, field_name)); + auto n_activity_entry_id = new NodeSimple; + n_activity_entry_id->m_field_name = field_name; + n_activity_entry_id->m_df_type = DF_Type::int32_t; + n_activity_entry_id->m_rdf_type = RDF_Type::int32_t; + n_activity_entry_id->m_node_type = NodeType::Simple; + n_activity_entry_id->m_address = base + offset; + n_activity_entry_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_activity_entry_id); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scribejob, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scribejob, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int16_t; + n_anon_3->m_rdf_type = RDF_Type::int16_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "locationmaybe"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scribejob, field_name)); + auto n_locationmaybe = new NodeSimple; + n_locationmaybe->m_field_name = field_name; + n_locationmaybe->m_df_type = DF_Type::int16_t; + n_locationmaybe->m_rdf_type = RDF_Type::int16_t; + n_locationmaybe->m_node_type = NodeType::Simple; + n_locationmaybe->m_address = base + offset; + n_locationmaybe->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_locationmaybe); + +} +void node_from_site_reputation_report(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "site_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_reputation_report, field_name)); + auto n_site_id = new NodeSimple; + n_site_id->m_field_name = field_name; + n_site_id->m_df_type = DF_Type::int32_t; + n_site_id->m_rdf_type = RDF_Type::int32_t; + n_site_id->m_node_type = NodeType::Simple; + n_site_id->m_address = base + offset; + n_site_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_id); + + field_name = "location_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_reputation_report, field_name)); + auto n_location_id = new NodeSimple; + n_location_id->m_field_name = field_name; + n_location_id->m_df_type = DF_Type::int32_t; + n_location_id->m_rdf_type = RDF_Type::int32_t; + n_location_id->m_node_type = NodeType::Simple; + n_location_id->m_address = base + offset; + n_location_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_location_id); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_reputation_report, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_reputation_report, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_reputation_report, field_name)); + auto n_year = new NodeSimple; + n_year->m_field_name = field_name; + n_year->m_df_type = DF_Type::int32_t; + n_year->m_rdf_type = RDF_Type::int32_t; + n_year->m_node_type = NodeType::Simple; + n_year->m_address = base + offset; + n_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_year); + + field_name = "tickmaybe"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_reputation_report, field_name)); + auto n_tickmaybe = new NodeSimple; + n_tickmaybe->m_field_name = field_name; + n_tickmaybe->m_df_type = DF_Type::int32_t; + n_tickmaybe->m_rdf_type = RDF_Type::int32_t; + n_tickmaybe->m_node_type = NodeType::Simple; + n_tickmaybe->m_address = base + offset; + n_tickmaybe->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tickmaybe); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_reputation_report, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_reputation_report, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_reputation_report, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_reputation_report, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_reputation_report, field_name)); + auto n_anon_7 = new NodeSimple; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::int32_t; + n_anon_7->m_rdf_type = RDF_Type::int32_t; + n_anon_7->m_node_type = NodeType::Simple; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_7); + + field_name = "anon_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_reputation_report, field_name)); + auto n_anon_8 = new NodeSimple; + n_anon_8->m_field_name = field_name; + n_anon_8->m_df_type = DF_Type::int32_t; + n_anon_8->m_rdf_type = RDF_Type::int32_t; + n_anon_8->m_node_type = NodeType::Simple; + n_anon_8->m_address = base + offset; + n_anon_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_8); + + field_name = "anon_9"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_reputation_report, field_name)); + auto n_anon_9 = new NodeSimple; + n_anon_9->m_field_name = field_name; + n_anon_9->m_df_type = DF_Type::int32_t; + n_anon_9->m_rdf_type = RDF_Type::int32_t; + n_anon_9->m_node_type = NodeType::Simple; + n_anon_9->m_address = base + offset; + n_anon_9->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_9); + + field_name = "anon_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_reputation_report, field_name)); + auto n_anon_10 = new NodeSimple; + n_anon_10->m_field_name = field_name; + n_anon_10->m_df_type = DF_Type::int32_t; + n_anon_10->m_rdf_type = RDF_Type::int32_t; + n_anon_10->m_node_type = NodeType::Simple; + n_anon_10->m_address = base + offset; + n_anon_10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_10); + +} +void node_from_abstract_building_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_abstract_building_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_abstract_building_contents(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk_e4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_contents, field_name)); + auto n_unk_e4 = new NodeSimple; + n_unk_e4->m_field_name = field_name; + n_unk_e4->m_df_type = DF_Type::int32_t; + n_unk_e4->m_rdf_type = RDF_Type::int32_t; + n_unk_e4->m_node_type = NodeType::Simple; + n_unk_e4->m_address = base + offset; + n_unk_e4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_e4); + + field_name = "desired_goblets"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_contents, field_name)); + auto n_desired_goblets = new NodeSimple; + n_desired_goblets->m_field_name = field_name; + n_desired_goblets->m_df_type = DF_Type::int32_t; + n_desired_goblets->m_rdf_type = RDF_Type::int32_t; + n_desired_goblets->m_node_type = NodeType::Simple; + n_desired_goblets->m_address = base + offset; + n_desired_goblets->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_desired_goblets); + + field_name = "desired_instruments"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_contents, field_name)); + auto n_desired_instruments = new NodeSimple; + n_desired_instruments->m_field_name = field_name; + n_desired_instruments->m_df_type = DF_Type::int32_t; + n_desired_instruments->m_rdf_type = RDF_Type::int32_t; + n_desired_instruments->m_node_type = NodeType::Simple; + n_desired_instruments->m_address = base + offset; + n_desired_instruments->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_desired_instruments); + + field_name = "desired_paper"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_contents, field_name)); + auto n_desired_paper = new NodeSimple; + n_desired_paper->m_field_name = field_name; + n_desired_paper->m_df_type = DF_Type::int32_t; + n_desired_paper->m_rdf_type = RDF_Type::int32_t; + n_desired_paper->m_node_type = NodeType::Simple; + n_desired_paper->m_address = base + offset; + n_desired_paper->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_desired_paper); + + field_name = "desired_copies"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_contents, field_name)); + auto n_desired_copies = new NodeSimple; + n_desired_copies->m_field_name = field_name; + n_desired_copies->m_df_type = DF_Type::int32_t; + n_desired_copies->m_rdf_type = RDF_Type::int32_t; + n_desired_copies->m_node_type = NodeType::Simple; + n_desired_copies->m_address = base + offset; + n_desired_copies->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_desired_copies); + + field_name = "count_goblets"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_contents, field_name)); + auto n_count_goblets = new NodeSimple; + n_count_goblets->m_field_name = field_name; + n_count_goblets->m_df_type = DF_Type::int32_t; + n_count_goblets->m_rdf_type = RDF_Type::int32_t; + n_count_goblets->m_node_type = NodeType::Simple; + n_count_goblets->m_address = base + offset; + n_count_goblets->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_count_goblets); + + field_name = "count_instruments"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_contents, field_name)); + auto n_count_instruments = new NodeSimple; + n_count_instruments->m_field_name = field_name; + n_count_instruments->m_df_type = DF_Type::int32_t; + n_count_instruments->m_rdf_type = RDF_Type::int32_t; + n_count_instruments->m_node_type = NodeType::Simple; + n_count_instruments->m_address = base + offset; + n_count_instruments->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_count_instruments); + + field_name = "count_paper"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_contents, field_name)); + auto n_count_paper = new NodeSimple; + n_count_paper->m_field_name = field_name; + n_count_paper->m_df_type = DF_Type::int32_t; + n_count_paper->m_rdf_type = RDF_Type::int32_t; + n_count_paper->m_node_type = NodeType::Simple; + n_count_paper->m_address = base + offset; + n_count_paper->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_count_paper); + + field_name = "unk_104"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_contents, field_name)); + auto n_unk_104 = new NodeSimple; + n_unk_104->m_field_name = field_name; + n_unk_104->m_df_type = DF_Type::int32_t; + n_unk_104->m_rdf_type = RDF_Type::int32_t; + n_unk_104->m_node_type = NodeType::Simple; + n_unk_104->m_address = base + offset; + n_unk_104->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_104); + + field_name = "building_ids"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_contents, field_name)); + auto n_building_ids = new NodeVector; + n_building_ids->m_field_name = field_name; + n_building_ids->m_df_type = DF_Type::int32_t; + n_building_ids->m_rdf_type = RDF_Type::Vector; + n_building_ids->m_node_type = NodeType::Vector; + n_building_ids->m_addornements = "v"; + n_building_ids->m_address = base + offset; + n_building_ids->m_parent = p_node_parent; + n_building_ids->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_building_ids); + +} +void node_from_world_site_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_world_site_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_world_site_inhabitant(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "count"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_inhabitant, field_name)); + auto n_count = new NodeSimple; + n_count->m_field_name = field_name; + n_count->m_df_type = DF_Type::int32_t; + n_count->m_rdf_type = RDF_Type::int32_t; + n_count->m_node_type = NodeType::Simple; + n_count->m_address = base + offset; + n_count->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_count); + + field_name = "race"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_inhabitant, field_name)); + auto n_race = new NodeSimple; + n_race->m_field_name = field_name; + n_race->m_df_type = DF_Type::int32_t; + n_race->m_rdf_type = RDF_Type::int32_t; + n_race->m_node_type = NodeType::Simple; + n_race->m_address = base + offset; + n_race->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_race); + + field_name = "unk_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_inhabitant, field_name)); + auto n_unk_8 = new NodeSimple; + n_unk_8->m_field_name = field_name; + n_unk_8->m_df_type = DF_Type::int32_t; + n_unk_8->m_rdf_type = RDF_Type::int32_t; + n_unk_8->m_node_type = NodeType::Simple; + n_unk_8->m_address = base + offset; + n_unk_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_8); + + field_name = "outcast_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_inhabitant, field_name)); + auto n_outcast_id = new NodeSimple; + n_outcast_id->m_field_name = field_name; + n_outcast_id->m_df_type = DF_Type::int32_t; + n_outcast_id->m_rdf_type = RDF_Type::int32_t; + n_outcast_id->m_node_type = NodeType::Simple; + n_outcast_id->m_address = base + offset; + n_outcast_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_outcast_id); + + field_name = "unk_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_inhabitant, field_name)); + auto n_unk_10 = new NodeSimple; + n_unk_10->m_field_name = field_name; + n_unk_10->m_df_type = DF_Type::int32_t; + n_unk_10->m_rdf_type = RDF_Type::int32_t; + n_unk_10->m_node_type = NodeType::Simple; + n_unk_10->m_address = base + offset; + n_unk_10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_10); + + field_name = "unk_14"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_inhabitant, field_name)); + auto n_unk_14 = new NodeSimple; + n_unk_14->m_field_name = field_name; + n_unk_14->m_df_type = DF_Type::int32_t; + n_unk_14->m_rdf_type = RDF_Type::int32_t; + n_unk_14->m_node_type = NodeType::Simple; + n_unk_14->m_address = base + offset; + n_unk_14->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_14); + + field_name = "unk_18"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_inhabitant, field_name)); + auto n_unk_18 = new NodeSimple; + n_unk_18->m_field_name = field_name; + n_unk_18->m_df_type = DF_Type::int32_t; + n_unk_18->m_rdf_type = RDF_Type::int32_t; + n_unk_18->m_node_type = NodeType::Simple; + n_unk_18->m_address = base + offset; + n_unk_18->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_18); + + field_name = "unk_1c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_inhabitant, field_name)); + auto n_unk_1c = new NodeSimple; + n_unk_1c->m_field_name = field_name; + n_unk_1c->m_df_type = DF_Type::int32_t; + n_unk_1c->m_rdf_type = RDF_Type::int32_t; + n_unk_1c->m_node_type = NodeType::Simple; + n_unk_1c->m_address = base + offset; + n_unk_1c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_1c); + + field_name = "unk_20"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_inhabitant, field_name)); + auto n_unk_20 = new NodeSimple; + n_unk_20->m_field_name = field_name; + n_unk_20->m_df_type = DF_Type::int32_t; + n_unk_20->m_rdf_type = RDF_Type::int32_t; + n_unk_20->m_node_type = NodeType::Simple; + n_unk_20->m_address = base + offset; + n_unk_20->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_20); + + field_name = "unk_24"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_inhabitant, field_name)); + auto n_unk_24 = new NodeSimple; + n_unk_24->m_field_name = field_name; + n_unk_24->m_df_type = DF_Type::int32_t; + n_unk_24->m_rdf_type = RDF_Type::int32_t; + n_unk_24->m_node_type = NodeType::Simple; + n_unk_24->m_address = base + offset; + n_unk_24->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_24); + + field_name = "unk_28"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_inhabitant, field_name)); + auto n_unk_28 = new NodeSimple; + n_unk_28->m_field_name = field_name; + n_unk_28->m_df_type = DF_Type::int32_t; + n_unk_28->m_rdf_type = RDF_Type::int32_t; + n_unk_28->m_node_type = NodeType::Simple; + n_unk_28->m_address = base + offset; + n_unk_28->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_28); + +} +void node_from_site_realization_building_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_site_realization_building_infost(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_tower_shape(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_site_realization_building_info_castle_courtyardst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::site_realization_building_infost; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_site_realization_building_infost(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_site_shop_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_tree_house_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_hillock_house_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_creation_zone_pwg_alteration_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_creation_zone_pwg_alterationst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk_0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creation_zone_pwg_alterationst, field_name)); + auto n_unk_0 = new NodeSimple; + n_unk_0->m_field_name = field_name; + n_unk_0->m_df_type = DF_Type::int32_t; + n_unk_0->m_rdf_type = RDF_Type::int32_t; + n_unk_0->m_node_type = NodeType::Simple; + n_unk_0->m_address = base + offset; + n_unk_0->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_0); + +} +void node_from_creation_zone_pwg_alteration_campst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::creation_zone_pwg_alterationst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_creation_zone_pwg_alterationst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creation_zone_pwg_alteration_campst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creation_zone_pwg_alteration_campst, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creation_zone_pwg_alteration_campst, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creation_zone_pwg_alteration_campst, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creation_zone_pwg_alteration_campst, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creation_zone_pwg_alteration_campst, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creation_zone_pwg_alteration_campst, field_name)); + auto n_anon_7 = new NodeSimple; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::int16_t; + n_anon_7->m_rdf_type = RDF_Type::int16_t; + n_anon_7->m_node_type = NodeType::Simple; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_7); + + field_name = "anon_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creation_zone_pwg_alteration_campst, field_name)); + auto n_anon_8 = new NodeSimple; + n_anon_8->m_field_name = field_name; + n_anon_8->m_df_type = DF_Type::int16_t; + n_anon_8->m_rdf_type = RDF_Type::int16_t; + n_anon_8->m_node_type = NodeType::Simple; + n_anon_8->m_address = base + offset; + n_anon_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_8); + + field_name = "anon_9"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creation_zone_pwg_alteration_campst, field_name)); + auto n_anon_9 = new NodeSimple; + n_anon_9->m_field_name = field_name; + n_anon_9->m_df_type = DF_Type::int16_t; + n_anon_9->m_rdf_type = RDF_Type::int16_t; + n_anon_9->m_node_type = NodeType::Simple; + n_anon_9->m_address = base + offset; + n_anon_9->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_9); + + field_name = "anon_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creation_zone_pwg_alteration_campst, field_name)); + auto n_anon_10 = new NodeSimple; + n_anon_10->m_field_name = field_name; + n_anon_10->m_df_type = DF_Type::int32_t; + n_anon_10->m_rdf_type = RDF_Type::int32_t; + n_anon_10->m_node_type = NodeType::Simple; + n_anon_10->m_address = base + offset; + n_anon_10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_10); + +} +void node_from_creation_zone_pwg_alteration_srb_ruinedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::creation_zone_pwg_alterationst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_creation_zone_pwg_alterationst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creation_zone_pwg_alteration_srb_ruinedst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creation_zone_pwg_alteration_srb_ruinedst, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + +} +void node_from_creation_zone_pwg_alteration_srp_ruinedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::creation_zone_pwg_alterationst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_creation_zone_pwg_alterationst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creation_zone_pwg_alteration_srp_ruinedst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creation_zone_pwg_alteration_srp_ruinedst, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + +} +void node_from_worldgen_region_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_worldgen_range_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_units_other_id(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_conflict_level(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_incident_hfid(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "hfid"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_hfid, field_name)); + auto n_hfid = new NodeSimple; + n_hfid->m_field_name = field_name; + n_hfid->m_df_type = DF_Type::int32_t; + n_hfid->m_rdf_type = RDF_Type::int32_t; + n_hfid->m_node_type = NodeType::Simple; + n_hfid->m_address = base + offset; + n_hfid->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_hfid); + + field_name = "unk_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_hfid, field_name)); + auto n_unk_1 = new NodeSimple; + n_unk_1->m_field_name = field_name; + n_unk_1->m_df_type = DF_Type::int32_t; + n_unk_1->m_rdf_type = RDF_Type::int32_t; + n_unk_1->m_node_type = NodeType::Simple; + n_unk_1->m_address = base + offset; + n_unk_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_1); + + field_name = "unk_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_hfid, field_name)); + auto n_unk_2 = new NodeSimple; + n_unk_2->m_field_name = field_name; + n_unk_2->m_df_type = DF_Type::int32_t; + n_unk_2->m_rdf_type = RDF_Type::int32_t; + n_unk_2->m_node_type = NodeType::Simple; + n_unk_2->m_address = base + offset; + n_unk_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_2); + + field_name = "unk_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_hfid, field_name)); + auto n_unk_3 = new NodeVector; + n_unk_3->m_field_name = field_name; + n_unk_3->m_df_type = DF_Type::int32_t; + n_unk_3->m_rdf_type = RDF_Type::Vector; + n_unk_3->m_node_type = NodeType::Vector; + n_unk_3->m_addornements = "v"; + n_unk_3->m_address = base + offset; + n_unk_3->m_parent = p_node_parent; + n_unk_3->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_3); + +} +void node_from_mission_campaign_report(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "travel_x"; + auto n_travel_x = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission_campaign_report, field_name)); + n_travel_x->m_field_name = field_name; + n_travel_x->m_df_type = DF_Type::int32_t; + n_travel_x->m_rdf_type = RDF_Type::Array; + n_travel_x->m_node_type = NodeType::Array; + n_travel_x->m_addornements = "[64"; + n_travel_x->m_array_size = 64; + n_travel_x->m_address = base + offset; + n_travel_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_travel_x); + + field_name = "travel_y"; + auto n_travel_y = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission_campaign_report, field_name)); + n_travel_y->m_field_name = field_name; + n_travel_y->m_df_type = DF_Type::int32_t; + n_travel_y->m_rdf_type = RDF_Type::Array; + n_travel_y->m_node_type = NodeType::Array; + n_travel_y->m_addornements = "[64"; + n_travel_y->m_array_size = 64; + n_travel_y->m_address = base + offset; + n_travel_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_travel_y); + + field_name = "travel_year"; + auto n_travel_year = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission_campaign_report, field_name)); + n_travel_year->m_field_name = field_name; + n_travel_year->m_df_type = DF_Type::int32_t; + n_travel_year->m_rdf_type = RDF_Type::Array; + n_travel_year->m_node_type = NodeType::Array; + n_travel_year->m_addornements = "[64"; + n_travel_year->m_array_size = 64; + n_travel_year->m_address = base + offset; + n_travel_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_travel_year); + + field_name = "travel_year_tick"; + auto n_travel_year_tick = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission_campaign_report, field_name)); + n_travel_year_tick->m_field_name = field_name; + n_travel_year_tick->m_df_type = DF_Type::int32_t; + n_travel_year_tick->m_rdf_type = RDF_Type::Array; + n_travel_year_tick->m_node_type = NodeType::Array; + n_travel_year_tick->m_addornements = "[64"; + n_travel_year_tick->m_array_size = 64; + n_travel_year_tick->m_address = base + offset; + n_travel_year_tick->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_travel_year_tick); + + field_name = "travel_count"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission_campaign_report, field_name)); + auto n_travel_count = new NodeSimple; + n_travel_count->m_field_name = field_name; + n_travel_count->m_df_type = DF_Type::int32_t; + n_travel_count->m_rdf_type = RDF_Type::int32_t; + n_travel_count->m_node_type = NodeType::Simple; + n_travel_count->m_address = base + offset; + n_travel_count->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_travel_count); + + field_name = "event_id"; + auto n_event_id = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission_campaign_report, field_name)); + n_event_id->m_field_name = field_name; + n_event_id->m_df_type = DF_Type::int32_t; + n_event_id->m_rdf_type = RDF_Type::Array; + n_event_id->m_node_type = NodeType::Array; + n_event_id->m_addornements = "[64"; + n_event_id->m_array_size = 64; + n_event_id->m_address = base + offset; + n_event_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_event_id); + + field_name = "event_year"; + auto n_event_year = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission_campaign_report, field_name)); + n_event_year->m_field_name = field_name; + n_event_year->m_df_type = DF_Type::int32_t; + n_event_year->m_rdf_type = RDF_Type::Array; + n_event_year->m_node_type = NodeType::Array; + n_event_year->m_addornements = "[64"; + n_event_year->m_array_size = 64; + n_event_year->m_address = base + offset; + n_event_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_event_year); + + field_name = "event_year_tick"; + auto n_event_year_tick = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission_campaign_report, field_name)); + n_event_year_tick->m_field_name = field_name; + n_event_year_tick->m_df_type = DF_Type::int32_t; + n_event_year_tick->m_rdf_type = RDF_Type::Array; + n_event_year_tick->m_node_type = NodeType::Array; + n_event_year_tick->m_addornements = "[64"; + n_event_year_tick->m_array_size = 64; + n_event_year_tick->m_address = base + offset; + n_event_year_tick->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_event_year_tick); + + field_name = "events_count"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission_campaign_report, field_name)); + auto n_events_count = new NodeSimple; + n_events_count->m_field_name = field_name; + n_events_count->m_df_type = DF_Type::int32_t; + n_events_count->m_rdf_type = RDF_Type::int32_t; + n_events_count->m_node_type = NodeType::Simple; + n_events_count->m_address = base + offset; + n_events_count->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_events_count); + +} +void node_from_coord_rect(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "x1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::coord_rect, field_name)); + auto n_x1 = new NodeSimple; + n_x1->m_field_name = field_name; + n_x1->m_df_type = DF_Type::int16_t; + n_x1->m_rdf_type = RDF_Type::int16_t; + n_x1->m_node_type = NodeType::Simple; + n_x1->m_address = base + offset; + n_x1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_x1); + + field_name = "y1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::coord_rect, field_name)); + auto n_y1 = new NodeSimple; + n_y1->m_field_name = field_name; + n_y1->m_df_type = DF_Type::int16_t; + n_y1->m_rdf_type = RDF_Type::int16_t; + n_y1->m_node_type = NodeType::Simple; + n_y1->m_address = base + offset; + n_y1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_y1); + + field_name = "x2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::coord_rect, field_name)); + auto n_x2 = new NodeSimple; + n_x2->m_field_name = field_name; + n_x2->m_df_type = DF_Type::int16_t; + n_x2->m_rdf_type = RDF_Type::int16_t; + n_x2->m_node_type = NodeType::Simple; + n_x2->m_address = base + offset; + n_x2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_x2); + + field_name = "y2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::coord_rect, field_name)); + auto n_y2 = new NodeSimple; + n_y2->m_field_name = field_name; + n_y2->m_df_type = DF_Type::int16_t; + n_y2->m_rdf_type = RDF_Type::int16_t; + n_y2->m_node_type = NodeType::Simple; + n_y2->m_address = base + offset; + n_y2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_y2); + + field_name = "z"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::coord_rect, field_name)); + auto n_z = new NodeSimple; + n_z->m_field_name = field_name; + n_z->m_df_type = DF_Type::int16_t; + n_z->m_rdf_type = RDF_Type::int16_t; + n_z->m_node_type = NodeType::Simple; + n_z->m_address = base + offset; + n_z->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_z); + +} +void node_from_world_unk_a8(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_a8, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int8_t; + n_anon_1->m_rdf_type = RDF_Type::int8_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_a8, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_a8, field_name)); + auto n_anon_3 = new NodeVector; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::Vector; + n_anon_3->m_node_type = NodeType::Vector; + n_anon_3->m_addornements = "v"; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + n_anon_3->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_a8, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int16_t; + n_anon_4->m_rdf_type = RDF_Type::int16_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_a8, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int16_t; + n_anon_5->m_rdf_type = RDF_Type::int16_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_a8, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int16_t; + n_anon_6->m_rdf_type = RDF_Type::int16_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + +} +void node_from_world_unk_b4(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_b4, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int8_t; + n_anon_1->m_rdf_type = RDF_Type::int8_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_b4, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_b4, field_name)); + auto n_anon_3 = new NodeVector; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int16_t; + n_anon_3->m_rdf_type = RDF_Type::Vector; + n_anon_3->m_node_type = NodeType::Vector; + n_anon_3->m_addornements = "v"; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + n_anon_3->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_b4, field_name)); + auto n_anon_4 = new NodeVector; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int16_t; + n_anon_4->m_rdf_type = RDF_Type::Vector; + n_anon_4->m_node_type = NodeType::Vector; + n_anon_4->m_addornements = "v"; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + n_anon_4->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_b4, field_name)); + auto n_anon_5 = new NodeVector; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int16_t; + n_anon_5->m_rdf_type = RDF_Type::Vector; + n_anon_5->m_node_type = NodeType::Vector; + n_anon_5->m_addornements = "v"; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + n_anon_5->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_b4, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int16_t; + n_anon_6->m_rdf_type = RDF_Type::int16_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_b4, field_name)); + auto n_anon_7 = new NodeSimple; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::int16_t; + n_anon_7->m_rdf_type = RDF_Type::int16_t; + n_anon_7->m_node_type = NodeType::Simple; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_7); + + field_name = "anon_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_b4, field_name)); + auto n_anon_8 = new NodeSimple; + n_anon_8->m_field_name = field_name; + n_anon_8->m_df_type = DF_Type::int16_t; + n_anon_8->m_rdf_type = RDF_Type::int16_t; + n_anon_8->m_node_type = NodeType::Simple; + n_anon_8->m_address = base + offset; + n_anon_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_8); + +} +void node_from_combat_report_event_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_ocean_wave(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "x1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ocean_wave, field_name)); + auto n_x1 = new NodeSimple; + n_x1->m_field_name = field_name; + n_x1->m_df_type = DF_Type::int16_t; + n_x1->m_rdf_type = RDF_Type::int16_t; + n_x1->m_node_type = NodeType::Simple; + n_x1->m_address = base + offset; + n_x1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_x1); + + field_name = "y1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ocean_wave, field_name)); + auto n_y1 = new NodeSimple; + n_y1->m_field_name = field_name; + n_y1->m_df_type = DF_Type::int16_t; + n_y1->m_rdf_type = RDF_Type::int16_t; + n_y1->m_node_type = NodeType::Simple; + n_y1->m_address = base + offset; + n_y1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_y1); + + field_name = "x2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ocean_wave, field_name)); + auto n_x2 = new NodeSimple; + n_x2->m_field_name = field_name; + n_x2->m_df_type = DF_Type::int16_t; + n_x2->m_rdf_type = RDF_Type::int16_t; + n_x2->m_node_type = NodeType::Simple; + n_x2->m_address = base + offset; + n_x2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_x2); + + field_name = "y2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ocean_wave, field_name)); + auto n_y2 = new NodeSimple; + n_y2->m_field_name = field_name; + n_y2->m_df_type = DF_Type::int16_t; + n_y2->m_rdf_type = RDF_Type::int16_t; + n_y2->m_node_type = NodeType::Simple; + n_y2->m_address = base + offset; + n_y2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_y2); + + field_name = "z"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ocean_wave, field_name)); + auto n_z = new NodeSimple; + n_z->m_field_name = field_name; + n_z->m_df_type = DF_Type::int16_t; + n_z->m_rdf_type = RDF_Type::int16_t; + n_z->m_node_type = NodeType::Simple; + n_z->m_address = base + offset; + n_z->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_z); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ocean_wave, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int8_t; + n_anon_1->m_rdf_type = RDF_Type::int8_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ocean_wave, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int8_t; + n_anon_2->m_rdf_type = RDF_Type::int8_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ocean_wave, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int8_t; + n_anon_3->m_rdf_type = RDF_Type::int8_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + +} +void node_from_coin_batch__T_image_front(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::coin_batch__T_image_front, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "subid"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::coin_batch__T_image_front, field_name)); + auto n_subid = new NodeSimple; + n_subid->m_field_name = field_name; + n_subid->m_df_type = DF_Type::int16_t; + n_subid->m_rdf_type = RDF_Type::int16_t; + n_subid->m_node_type = NodeType::Simple; + n_subid->m_address = base + offset; + n_subid->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_subid); + +} +void node_from_coin_batch__T_image_back(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::coin_batch__T_image_back, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "subid"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::coin_batch__T_image_back, field_name)); + auto n_subid = new NodeSimple; + n_subid->m_field_name = field_name; + n_subid->m_df_type = DF_Type::int16_t; + n_subid->m_rdf_type = RDF_Type::int16_t; + n_subid->m_node_type = NodeType::Simple; + n_subid->m_address = base + offset; + n_subid->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_subid); + +} +void node_from_coin_batch(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::coin_batch, field_name)); + auto n_year = new NodeSimple; + n_year->m_field_name = field_name; + n_year->m_df_type = DF_Type::int32_t; + n_year->m_rdf_type = RDF_Type::int32_t; + n_year->m_node_type = NodeType::Simple; + n_year->m_address = base + offset; + n_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_year); + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::coin_batch, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::coin_batch, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "entity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::coin_batch, field_name)); + auto n_entity = new NodeSimple; + n_entity->m_field_name = field_name; + n_entity->m_df_type = DF_Type::int32_t; + n_entity->m_rdf_type = RDF_Type::int32_t; + n_entity->m_node_type = NodeType::Simple; + n_entity->m_address = base + offset; + n_entity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity); + + field_name = "ruler"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::coin_batch, field_name)); + auto n_ruler = new NodeSimple; + n_ruler->m_field_name = field_name; + n_ruler->m_df_type = DF_Type::int32_t; + n_ruler->m_rdf_type = RDF_Type::int32_t; + n_ruler->m_node_type = NodeType::Simple; + n_ruler->m_address = base + offset; + n_ruler->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ruler); + + field_name = "image_front"; + auto n_image_front = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::coin_batch, field_name)); + n_image_front->m_field_name = field_name; + n_image_front->m_df_type = DF_Type::coin_batch__T_image_front; + n_image_front->m_rdf_type = RDF_Type::Compound; + n_image_front->m_node_type = NodeType::Compound; + n_image_front->m_address = base + offset; + n_image_front->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_image_front); + + field_name = "image_back"; + auto n_image_back = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::coin_batch, field_name)); + n_image_back->m_field_name = field_name; + n_image_back->m_df_type = DF_Type::coin_batch__T_image_back; + n_image_back->m_rdf_type = RDF_Type::Compound; + n_image_back->m_node_type = NodeType::Compound; + n_image_back->m_address = base + offset; + n_image_back->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_image_back); + +} +void node_from_conversation__T_speech(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "text"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation__T_speech, field_name)); + auto n_text = new NodeVector; + n_text->m_field_name = field_name; + n_text->m_df_type = DF_Type::Stl_string; + n_text->m_rdf_type = RDF_Type::Vector; + n_text->m_node_type = NodeType::Vector; + n_text->m_addornements = "v*"; + n_text->m_address = base + offset; + n_text->m_comment = "wordwrap"; + n_text->m_parent = p_node_parent; + n_text->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_text); + + field_name = "speaker"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation__T_speech, field_name)); + auto n_speaker = new NodeSimple; + n_speaker->m_field_name = field_name; + n_speaker->m_df_type = DF_Type::int32_t; + n_speaker->m_rdf_type = RDF_Type::int32_t; + n_speaker->m_node_type = NodeType::Simple; + n_speaker->m_address = base + offset; + n_speaker->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_speaker); + + field_name = "unk_14"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation__T_speech, field_name)); + auto n_unk_14 = new NodeSimple; + n_unk_14->m_field_name = field_name; + n_unk_14->m_df_type = DF_Type::int32_t; + n_unk_14->m_rdf_type = RDF_Type::int32_t; + n_unk_14->m_node_type = NodeType::Simple; + n_unk_14->m_address = base + offset; + n_unk_14->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_14); + + field_name = "unk_18"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation__T_speech, field_name)); + auto n_unk_18 = new NodeSimple; + n_unk_18->m_field_name = field_name; + n_unk_18->m_df_type = DF_Type::int32_t; + n_unk_18->m_rdf_type = RDF_Type::int32_t; + n_unk_18->m_node_type = NodeType::Simple; + n_unk_18->m_address = base + offset; + n_unk_18->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_18); + + field_name = "fg"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation__T_speech, field_name)); + auto n_fg = new NodeSimple; + n_fg->m_field_name = field_name; + n_fg->m_df_type = DF_Type::int16_t; + n_fg->m_rdf_type = RDF_Type::int16_t; + n_fg->m_node_type = NodeType::Simple; + n_fg->m_address = base + offset; + n_fg->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_fg); + + field_name = "bg"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation__T_speech, field_name)); + auto n_bg = new NodeSimple; + n_bg->m_field_name = field_name; + n_bg->m_df_type = DF_Type::int16_t; + n_bg->m_rdf_type = RDF_Type::int16_t; + n_bg->m_node_type = NodeType::Simple; + n_bg->m_address = base + offset; + n_bg->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_bg); + + field_name = "bright"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation__T_speech, field_name)); + auto n_bright = new NodeSimple; + n_bright->m_field_name = field_name; + n_bright->m_df_type = DF_Type::int16_t; + n_bright->m_rdf_type = RDF_Type::int16_t; + n_bright->m_node_type = NodeType::Simple; + n_bright->m_address = base + offset; + n_bright->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_bright); + +} +void node_from_conversation(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "conv_title"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation, field_name)); + auto n_conv_title = new NodeSimple; + n_conv_title->m_field_name = field_name; + n_conv_title->m_df_type = DF_Type::Stl_string; + n_conv_title->m_rdf_type = RDF_Type::Stl_string; + n_conv_title->m_node_type = NodeType::Simple; + n_conv_title->m_address = base + offset; + n_conv_title->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_conv_title); + + field_name = "state"; + auto n_state = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation, field_name)); + n_state->m_field_name = field_name; + n_state->m_df_type = DF_Type::conversation__T_state; + n_state->m_rdf_type = RDF_Type::Enum; + n_state->m_node_type = NodeType::Enum; + n_state->m_base_type = DF_Type::int32_t; + n_state->m_enum_type = "conversation::T_state"; + n_state->m_address = base + offset; + n_state->m_first_value = 0; + n_state->m_last_value = 3; + n_state->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_state); + + field_name = "talk_choices"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation, field_name)); + auto n_talk_choices = new NodeVector; + n_talk_choices->m_field_name = field_name; + n_talk_choices->m_df_type = DF_Type::int16_t; + n_talk_choices->m_rdf_type = RDF_Type::Vector; + n_talk_choices->m_node_type = NodeType::Vector; + n_talk_choices->m_addornements = "v"; + n_talk_choices->m_address = base + offset; + n_talk_choices->m_parent = p_node_parent; + n_talk_choices->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_talk_choices); + + field_name = "unk_30"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation, field_name)); + auto n_unk_30 = new NodeSimple; + n_unk_30->m_field_name = field_name; + n_unk_30->m_df_type = DF_Type::int32_t; + n_unk_30->m_rdf_type = RDF_Type::int32_t; + n_unk_30->m_node_type = NodeType::Simple; + n_unk_30->m_address = base + offset; + n_unk_30->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_30); + + field_name = "unk_34"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation, field_name)); + auto n_unk_34 = new NodeSimple; + n_unk_34->m_field_name = field_name; + n_unk_34->m_df_type = DF_Type::int32_t; + n_unk_34->m_rdf_type = RDF_Type::int32_t; + n_unk_34->m_node_type = NodeType::Simple; + n_unk_34->m_address = base + offset; + n_unk_34->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_34); + + field_name = "unk_38"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation, field_name)); + auto n_unk_38 = new NodeSimple; + n_unk_38->m_field_name = field_name; + n_unk_38->m_df_type = DF_Type::int32_t; + n_unk_38->m_rdf_type = RDF_Type::int32_t; + n_unk_38->m_node_type = NodeType::Simple; + n_unk_38->m_address = base + offset; + n_unk_38->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_38); + + field_name = "unk_3c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation, field_name)); + auto n_unk_3c = new NodeSimple; + n_unk_3c->m_field_name = field_name; + n_unk_3c->m_df_type = DF_Type::int32_t; + n_unk_3c->m_rdf_type = RDF_Type::int32_t; + n_unk_3c->m_node_type = NodeType::Simple; + n_unk_3c->m_address = base + offset; + n_unk_3c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_3c); + + field_name = "unk_40"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation, field_name)); + auto n_unk_40 = new NodeSimple; + n_unk_40->m_field_name = field_name; + n_unk_40->m_df_type = DF_Type::int32_t; + n_unk_40->m_rdf_type = RDF_Type::int32_t; + n_unk_40->m_node_type = NodeType::Simple; + n_unk_40->m_address = base + offset; + n_unk_40->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_40); + + field_name = "unk_44"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation, field_name)); + auto n_unk_44 = new NodeSimple; + n_unk_44->m_field_name = field_name; + n_unk_44->m_df_type = DF_Type::int32_t; + n_unk_44->m_rdf_type = RDF_Type::int32_t; + n_unk_44->m_node_type = NodeType::Simple; + n_unk_44->m_address = base + offset; + n_unk_44->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_44); + + field_name = "unk_48"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation, field_name)); + auto n_unk_48 = new NodeSimple; + n_unk_48->m_field_name = field_name; + n_unk_48->m_df_type = DF_Type::int32_t; + n_unk_48->m_rdf_type = RDF_Type::int32_t; + n_unk_48->m_node_type = NodeType::Simple; + n_unk_48->m_address = base + offset; + n_unk_48->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_48); + + field_name = "unk_4c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation, field_name)); + auto n_unk_4c = new NodeSimple; + n_unk_4c->m_field_name = field_name; + n_unk_4c->m_df_type = DF_Type::int32_t; + n_unk_4c->m_rdf_type = RDF_Type::int32_t; + n_unk_4c->m_node_type = NodeType::Simple; + n_unk_4c->m_address = base + offset; + n_unk_4c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_4c); + + field_name = "unk_50"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation, field_name)); + auto n_unk_50 = new NodeSimple; + n_unk_50->m_field_name = field_name; + n_unk_50->m_df_type = DF_Type::int32_t; + n_unk_50->m_rdf_type = RDF_Type::int32_t; + n_unk_50->m_node_type = NodeType::Simple; + n_unk_50->m_address = base + offset; + n_unk_50->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_50); + + field_name = "unk_54"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation, field_name)); + auto n_unk_54 = new NodeVector; + n_unk_54->m_field_name = field_name; + n_unk_54->m_df_type = DF_Type::nemesis_record; + n_unk_54->m_rdf_type = RDF_Type::Vector; + n_unk_54->m_node_type = NodeType::Vector; + n_unk_54->m_defined_in = "df.legends.xml"; + n_unk_54->m_addornements = "v*"; + n_unk_54->m_address = base + offset; + n_unk_54->m_parent = p_node_parent; + n_unk_54->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_54); + + field_name = "unk_64"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation, field_name)); + auto n_unk_64 = new NodeVector; + n_unk_64->m_field_name = field_name; + n_unk_64->m_df_type = DF_Type::historical_entity; + n_unk_64->m_rdf_type = RDF_Type::Vector; + n_unk_64->m_node_type = NodeType::Vector; + n_unk_64->m_defined_in = "df.entities.xml"; + n_unk_64->m_addornements = "v*"; + n_unk_64->m_address = base + offset; + n_unk_64->m_parent = p_node_parent; + n_unk_64->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_64); + + field_name = "unk_74"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation, field_name)); + auto n_unk_74 = new NodeSimple; + n_unk_74->m_field_name = field_name; + n_unk_74->m_df_type = DF_Type::int8_t; + n_unk_74->m_rdf_type = RDF_Type::int8_t; + n_unk_74->m_node_type = NodeType::Simple; + n_unk_74->m_address = base + offset; + n_unk_74->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_74); + + field_name = "unk_78"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation, field_name)); + auto n_unk_78 = new NodeSimple; + n_unk_78->m_field_name = field_name; + n_unk_78->m_df_type = DF_Type::int32_t; + n_unk_78->m_rdf_type = RDF_Type::int32_t; + n_unk_78->m_node_type = NodeType::Simple; + n_unk_78->m_address = base + offset; + n_unk_78->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_78); + + field_name = "unk_7c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation, field_name)); + auto n_unk_7c = new NodeSimple; + n_unk_7c->m_field_name = field_name; + n_unk_7c->m_df_type = DF_Type::int32_t; + n_unk_7c->m_rdf_type = RDF_Type::int32_t; + n_unk_7c->m_node_type = NodeType::Simple; + n_unk_7c->m_address = base + offset; + n_unk_7c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_7c); + + field_name = "unk_80"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation, field_name)); + auto n_unk_80 = new NodeSimple; + n_unk_80->m_field_name = field_name; + n_unk_80->m_df_type = DF_Type::int16_t; + n_unk_80->m_rdf_type = RDF_Type::int16_t; + n_unk_80->m_node_type = NodeType::Simple; + n_unk_80->m_address = base + offset; + n_unk_80->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_80); + + field_name = "unk_84"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation, field_name)); + auto n_unk_84 = new NodeVector; + n_unk_84->m_field_name = field_name; + n_unk_84->m_df_type = DF_Type::Void; + n_unk_84->m_rdf_type = RDF_Type::Vector; + n_unk_84->m_node_type = NodeType::Vector; + n_unk_84->m_addornements = "v"; + n_unk_84->m_address = base + offset; + n_unk_84->m_parent = p_node_parent; + n_unk_84->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_84); + + field_name = "unk_94"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation, field_name)); + auto n_unk_94 = new NodeVector; + n_unk_94->m_field_name = field_name; + n_unk_94->m_df_type = DF_Type::Void; + n_unk_94->m_rdf_type = RDF_Type::Vector; + n_unk_94->m_node_type = NodeType::Vector; + n_unk_94->m_addornements = "v"; + n_unk_94->m_address = base + offset; + n_unk_94->m_parent = p_node_parent; + n_unk_94->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_94); + + field_name = "unk_a4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation, field_name)); + auto n_unk_a4 = new NodeVector; + n_unk_a4->m_field_name = field_name; + n_unk_a4->m_df_type = DF_Type::Void; + n_unk_a4->m_rdf_type = RDF_Type::Vector; + n_unk_a4->m_node_type = NodeType::Vector; + n_unk_a4->m_addornements = "v"; + n_unk_a4->m_address = base + offset; + n_unk_a4->m_parent = p_node_parent; + n_unk_a4->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_a4); + + field_name = "location"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation, field_name)); + auto n_location = new NodePointer; + n_location->m_field_name = field_name; + n_location->m_df_type = get_real_subtype(base+offset, DF_Type::building); + n_location->m_rdf_type = RDF_Type::Pointer; + n_location->m_node_type = NodeType::Pointer; + n_location->m_addornements = "*"; + n_location->m_address = base + offset; + n_location->m_comment = "civzone"; + n_location->m_parent = p_node_parent; + n_location->m_defined_in = "df.buildings.xml"; + n_location->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_location); + + field_name = "unk_b8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation, field_name)); + auto n_unk_b8 = new NodeSimple; + n_unk_b8->m_field_name = field_name; + n_unk_b8->m_df_type = DF_Type::int8_t; + n_unk_b8->m_rdf_type = RDF_Type::int8_t; + n_unk_b8->m_node_type = NodeType::Simple; + n_unk_b8->m_address = base + offset; + n_unk_b8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_b8); + + field_name = "unk_bc"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation, field_name)); + auto n_unk_bc = new NodeSimple; + n_unk_bc->m_field_name = field_name; + n_unk_bc->m_df_type = DF_Type::int32_t; + n_unk_bc->m_rdf_type = RDF_Type::int32_t; + n_unk_bc->m_node_type = NodeType::Simple; + n_unk_bc->m_address = base + offset; + n_unk_bc->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_bc); + + field_name = "speech"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::conversation, field_name)); + auto n_speech = new NodeVector; + n_speech->m_field_name = field_name; + n_speech->m_df_type = DF_Type::conversation__T_speech; + n_speech->m_rdf_type = RDF_Type::Vector; + n_speech->m_node_type = NodeType::Vector; + n_speech->m_addornements = "v*"; + n_speech->m_address = base + offset; + n_speech->m_parent = p_node_parent; + n_speech->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_speech); + +} +void node_from_talk_choice__T_unk(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "event"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::talk_choice__T_unk, field_name)); + auto n_event = new NodePointer; + n_event->m_field_name = field_name; + n_event->m_df_type = get_real_subtype(base+offset, DF_Type::entity_event); + n_event->m_rdf_type = RDF_Type::Pointer; + n_event->m_node_type = NodeType::Pointer; + n_event->m_addornements = "*"; + n_event->m_address = base + offset; + n_event->m_parent = p_node_parent; + n_event->m_defined_in = "df.entities.xml"; + n_event->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_event); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::talk_choice__T_unk, field_name)); + auto n_anon_1 = new NodePointer; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_anon_1->m_rdf_type = RDF_Type::Pointer; + n_anon_1->m_node_type = NodeType::Pointer; + n_anon_1->m_addornements = "*"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::talk_choice__T_unk, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + +} +void node_from_talk_choice(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "type"; + auto n_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::talk_choice, field_name)); + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::talk_choice_type; + n_type->m_rdf_type = RDF_Type::Enum; + n_type->m_node_type = NodeType::Enum; + n_type->m_base_type = DF_Type::int32_t; + n_type->m_enum_type = "talk_choice_type"; + n_type->m_address = base + offset; + n_type->m_defined_in = "df.advmode.xml"; + n_type->m_first_value = 0; + n_type->m_last_value = 224; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + + field_name = "unk"; + auto n_unk = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::talk_choice, field_name)); + n_unk->m_field_name = field_name; + n_unk->m_df_type = DF_Type::talk_choice__T_unk; + n_unk->m_rdf_type = RDF_Type::Compound; + n_unk->m_node_type = NodeType::Compound; + n_unk->m_address = base + offset; + n_unk->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::talk_choice, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::talk_choice, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::talk_choice, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::talk_choice, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + +} +void node_from_adventure_option_eat_item_contaminantst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::adventure_optionst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_adventure_optionst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unit"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_option_eat_item_contaminantst, field_name)); + auto n_unit = new NodePointer; + n_unit->m_field_name = field_name; + n_unit->m_df_type = get_real_subtype(base+offset, DF_Type::unit); + n_unit->m_rdf_type = RDF_Type::Pointer; + n_unit->m_node_type = NodeType::Pointer; + n_unit->m_addornements = "*"; + n_unit->m_address = base + offset; + n_unit->m_parent = p_node_parent; + n_unit->m_defined_in = "df.units.xml"; + n_unit->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unit); + + field_name = "inv_item"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_option_eat_item_contaminantst, field_name)); + auto n_inv_item = new NodePointer; + n_inv_item->m_field_name = field_name; + n_inv_item->m_df_type = get_real_subtype(base+offset, DF_Type::unit_inventory_item); + n_inv_item->m_rdf_type = RDF_Type::Pointer; + n_inv_item->m_node_type = NodeType::Pointer; + n_inv_item->m_addornements = "*"; + n_inv_item->m_address = base + offset; + n_inv_item->m_parent = p_node_parent; + n_inv_item->m_defined_in = "df.units.xml"; + n_inv_item->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_inv_item); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_option_eat_item_contaminantst, field_name)); + auto n_anon_1 = new NodePointer; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_anon_1->m_rdf_type = RDF_Type::Pointer; + n_anon_1->m_node_type = NodeType::Pointer; + n_anon_1->m_addornements = "*"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_adventure_environment_optionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::adventure_optionst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_adventure_optionst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk1"; + auto n_unk1 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_environment_optionst, field_name)); + n_unk1->m_field_name = field_name; + n_unk1->m_df_type = DF_Type::coord; + n_unk1->m_rdf_type = RDF_Type::Struct; + n_unk1->m_node_type = NodeType::Compound; + n_unk1->m_address = base + offset; + n_unk1->m_defined_in = "df.map.xml"; + n_unk1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk1); + + field_name = "unk2"; + auto n_unk2 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_environment_optionst, field_name)); + n_unk2->m_field_name = field_name; + n_unk2->m_df_type = DF_Type::coord; + n_unk2->m_rdf_type = RDF_Type::Struct; + n_unk2->m_node_type = NodeType::Compound; + n_unk2->m_address = base + offset; + n_unk2->m_defined_in = "df.map.xml"; + n_unk2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk2); + +} +void node_from_adventure_environment_place_in_it_containerst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::adventure_environment_optionst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_adventure_environment_optionst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_environment_place_in_it_containerst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_adventure_environment_ingest_from_containerst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::adventure_environment_optionst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_adventure_environment_optionst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_environment_ingest_from_containerst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_environment_ingest_from_containerst, field_name)); + auto n_anon_2 = new NodePointer; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = get_real_subtype(base+offset, DF_Type::item); + n_anon_2->m_rdf_type = RDF_Type::Pointer; + n_anon_2->m_node_type = NodeType::Pointer; + n_anon_2->m_addornements = "*"; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + n_anon_2->m_defined_in = "df.items.xml"; + n_anon_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_2); + +} +void node_from_adventure_environment_pickup_ignite_vegst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::adventure_environment_optionst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_adventure_environment_optionst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_environment_pickup_ignite_vegst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_adventure_environment_ingest_materialst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::adventure_environment_optionst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_adventure_environment_optionst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_environment_ingest_materialst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int16_t; + n_anon_1->m_rdf_type = RDF_Type::int16_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_environment_ingest_materialst, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_environment_ingest_materialst, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int16_t; + n_anon_3->m_rdf_type = RDF_Type::int16_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + +} +void node_from_adventure_environment_pickup_make_campfirest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::adventure_environment_optionst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_adventure_environment_optionst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_adventure_environment_place_in_bld_containerst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::adventure_environment_optionst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_adventure_environment_optionst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_environment_place_in_bld_containerst, field_name)); + auto n_anon_1 = new NodePointer; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = get_real_subtype(base+offset, DF_Type::building); + n_anon_1->m_rdf_type = RDF_Type::Pointer; + n_anon_1->m_node_type = NodeType::Pointer; + n_anon_1->m_addornements = "*"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_defined_in = "df.buildings.xml"; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_adventure_environment_pickup_vermin_eventst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::adventure_environment_optionst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_adventure_environment_optionst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "vermin_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_environment_pickup_vermin_eventst, field_name)); + auto n_vermin_idx = new NodeSimple; + n_vermin_idx->m_field_name = field_name; + n_vermin_idx->m_df_type = DF_Type::int32_t; + n_vermin_idx->m_rdf_type = RDF_Type::int32_t; + n_vermin_idx->m_node_type = NodeType::Simple; + n_vermin_idx->m_address = base + offset; + n_vermin_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_vermin_idx); + +} +void node_from_adventure_environment_pickup_chop_treest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::adventure_environment_optionst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_adventure_environment_optionst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_adventure_environment_unit_suck_bloodst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::adventure_environment_optionst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_adventure_environment_optionst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unit_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_environment_unit_suck_bloodst, field_name)); + auto n_unit_id = new NodeSimple; + n_unit_id->m_field_name = field_name; + n_unit_id->m_df_type = DF_Type::int32_t; + n_unit_id->m_rdf_type = RDF_Type::int32_t; + n_unit_id->m_node_type = NodeType::Simple; + n_unit_id->m_address = base + offset; + n_unit_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unit_id); + +} +void node_from_adventure_movement_optionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "dest"; + auto n_dest = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_movement_optionst, field_name)); + n_dest->m_field_name = field_name; + n_dest->m_df_type = DF_Type::coord; + n_dest->m_rdf_type = RDF_Type::Struct; + n_dest->m_node_type = NodeType::Compound; + n_dest->m_address = base + offset; + n_dest->m_defined_in = "df.map.xml"; + n_dest->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dest); + + field_name = "source"; + auto n_source = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_movement_optionst, field_name)); + n_source->m_field_name = field_name; + n_source->m_df_type = DF_Type::coord; + n_source->m_rdf_type = RDF_Type::Struct; + n_source->m_node_type = NodeType::Compound; + n_source->m_address = base + offset; + n_source->m_defined_in = "df.map.xml"; + n_source->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_source); + +} +void node_from_adventure_movement_release_hold_itemst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::adventure_movement_optionst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_adventure_movement_optionst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_adventure_movement_release_hold_tilest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::adventure_movement_optionst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_adventure_movement_optionst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_adventure_movement_attack_creaturest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::adventure_movement_optionst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_adventure_movement_optionst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_movement_attack_creaturest, field_name)); + auto n_anon_1 = new NodeVector; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::Vector; + n_anon_1->m_node_type = NodeType::Vector; + n_anon_1->m_addornements = "v"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_adventure_movement_hold_tilest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::adventure_movement_optionst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_adventure_movement_optionst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "grab"; + auto n_grab = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_movement_hold_tilest, field_name)); + n_grab->m_field_name = field_name; + n_grab->m_df_type = DF_Type::coord; + n_grab->m_rdf_type = RDF_Type::Struct; + n_grab->m_node_type = NodeType::Compound; + n_grab->m_address = base + offset; + n_grab->m_defined_in = "df.map.xml"; + n_grab->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_grab); + +} +void node_from_adventure_movement_movest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::adventure_movement_optionst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_adventure_movement_optionst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unit_path_flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_movement_movest, field_name)); + auto n_unit_path_flags = new NodeSimple; + n_unit_path_flags->m_field_name = field_name; + n_unit_path_flags->m_df_type = DF_Type::int32_t; + n_unit_path_flags->m_rdf_type = RDF_Type::int32_t; + n_unit_path_flags->m_node_type = NodeType::Simple; + n_unit_path_flags->m_address = base + offset; + n_unit_path_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unit_path_flags); + + field_name = "unk_bitfield"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_movement_movest, field_name)); + auto n_unk_bitfield = new NodeSimple; + n_unk_bitfield->m_field_name = field_name; + n_unk_bitfield->m_df_type = DF_Type::int32_t; + n_unk_bitfield->m_rdf_type = RDF_Type::int32_t; + n_unk_bitfield->m_node_type = NodeType::Simple; + n_unk_bitfield->m_address = base + offset; + n_unk_bitfield->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_bitfield); + +} +void node_from_adventure_movement_climbst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::adventure_movement_optionst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_adventure_movement_optionst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "grab"; + auto n_grab = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_movement_climbst, field_name)); + n_grab->m_field_name = field_name; + n_grab->m_df_type = DF_Type::coord; + n_grab->m_rdf_type = RDF_Type::Struct; + n_grab->m_node_type = NodeType::Compound; + n_grab->m_address = base + offset; + n_grab->m_defined_in = "df.map.xml"; + n_grab->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_grab); + +} +void node_from_adventure_movement_hold_itemst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::adventure_movement_optionst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_adventure_movement_optionst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "item_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_movement_hold_itemst, field_name)); + auto n_item_id = new NodeSimple; + n_item_id->m_field_name = field_name; + n_item_id->m_df_type = DF_Type::int32_t; + n_item_id->m_rdf_type = RDF_Type::int32_t; + n_item_id->m_node_type = NodeType::Simple; + n_item_id->m_address = base + offset; + n_item_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_id); + +} +void node_from_adventure_movement_building_interactst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::adventure_movement_optionst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_adventure_movement_optionst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "building_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_movement_building_interactst, field_name)); + auto n_building_id = new NodeSimple; + n_building_id->m_field_name = field_name; + n_building_id->m_df_type = DF_Type::int32_t; + n_building_id->m_rdf_type = RDF_Type::int32_t; + n_building_id->m_node_type = NodeType::Simple; + n_building_id->m_address = base + offset; + n_building_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_building_id); + +} +void node_from_adventure_movement_item_interactst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::adventure_movement_optionst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_adventure_movement_optionst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "item_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_movement_item_interactst, field_name)); + auto n_item_id = new NodeSimple; + n_item_id->m_field_name = field_name; + n_item_id->m_df_type = DF_Type::int32_t; + n_item_id->m_rdf_type = RDF_Type::int32_t; + n_item_id->m_node_type = NodeType::Simple; + n_item_id->m_address = base + offset; + n_item_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_id); + +} +void node_from_adventure_movement_item_interact_guidest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::adventure_movement_item_interactst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_adventure_movement_item_interactst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_adventure_movement_item_interact_ridest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::adventure_movement_item_interactst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_adventure_movement_item_interactst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_adventure_movement_item_interact_pushst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::adventure_movement_item_interactst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_adventure_movement_item_interactst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_adventure_item_interact_heat_from_tilest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::adventure_item_interact_choicest; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_adventure_item_interact_choicest(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_item_interact_heat_from_tilest, field_name)); + auto n_anon_1 = new NodePointer; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = get_real_subtype(base+offset, DF_Type::item); + n_anon_1->m_rdf_type = RDF_Type::Pointer; + n_anon_1->m_node_type = NodeType::Pointer; + n_anon_1->m_addornements = "*"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_defined_in = "df.items.xml"; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + auto n_anon_2 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_item_interact_heat_from_tilest, field_name)); + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::coord; + n_anon_2->m_rdf_type = RDF_Type::Struct; + n_anon_2->m_node_type = NodeType::Compound; + n_anon_2->m_address = base + offset; + n_anon_2->m_defined_in = "df.map.xml"; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + auto n_anon_3 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_item_interact_heat_from_tilest, field_name)); + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::coord; + n_anon_3->m_rdf_type = RDF_Type::Struct; + n_anon_3->m_node_type = NodeType::Compound; + n_anon_3->m_address = base + offset; + n_anon_3->m_defined_in = "df.map.xml"; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + +} +void node_from_adventure_item_interact_fill_from_containerst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::adventure_item_interact_choicest; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_adventure_item_interact_choicest(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_item_interact_fill_from_containerst, field_name)); + auto n_anon_1 = new NodePointer; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = get_real_subtype(base+offset, DF_Type::item); + n_anon_1->m_rdf_type = RDF_Type::Pointer; + n_anon_1->m_node_type = NodeType::Pointer; + n_anon_1->m_addornements = "*"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_defined_in = "df.items.xml"; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_item_interact_fill_from_containerst, field_name)); + auto n_anon_2 = new NodePointer; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = get_real_subtype(base+offset, DF_Type::item); + n_anon_2->m_rdf_type = RDF_Type::Pointer; + n_anon_2->m_node_type = NodeType::Pointer; + n_anon_2->m_addornements = "*"; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + n_anon_2->m_defined_in = "df.items.xml"; + n_anon_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + auto n_anon_3 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_item_interact_fill_from_containerst, field_name)); + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::coord; + n_anon_3->m_rdf_type = RDF_Type::Struct; + n_anon_3->m_node_type = NodeType::Compound; + n_anon_3->m_address = base + offset; + n_anon_3->m_defined_in = "df.map.xml"; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + auto n_anon_4 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_item_interact_fill_from_containerst, field_name)); + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::coord; + n_anon_4->m_rdf_type = RDF_Type::Struct; + n_anon_4->m_node_type = NodeType::Compound; + n_anon_4->m_address = base + offset; + n_anon_4->m_defined_in = "df.map.xml"; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + +} +void node_from_adventure_item_interact_fill_with_materialst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::adventure_item_interact_choicest; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_adventure_item_interact_choicest(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_item_interact_fill_with_materialst, field_name)); + auto n_anon_1 = new NodePointer; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = get_real_subtype(base+offset, DF_Type::item); + n_anon_1->m_rdf_type = RDF_Type::Pointer; + n_anon_1->m_node_type = NodeType::Pointer; + n_anon_1->m_addornements = "*"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_defined_in = "df.items.xml"; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + auto n_anon_2 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_item_interact_fill_with_materialst, field_name)); + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::coord; + n_anon_2->m_rdf_type = RDF_Type::Struct; + n_anon_2->m_node_type = NodeType::Compound; + n_anon_2->m_address = base + offset; + n_anon_2->m_defined_in = "df.map.xml"; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + auto n_anon_3 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_item_interact_fill_with_materialst, field_name)); + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::coord; + n_anon_3->m_rdf_type = RDF_Type::Struct; + n_anon_3->m_node_type = NodeType::Compound; + n_anon_3->m_address = base + offset; + n_anon_3->m_defined_in = "df.map.xml"; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_item_interact_fill_with_materialst, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int16_t; + n_anon_4->m_rdf_type = RDF_Type::int16_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_item_interact_fill_with_materialst, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_item_interact_fill_with_materialst, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int16_t; + n_anon_6->m_rdf_type = RDF_Type::int16_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + +} +void node_from_adventure_item_interact_give_namest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::adventure_item_interact_choicest; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_adventure_item_interact_choicest(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_item_interact_give_namest, field_name)); + auto n_anon_1 = new NodePointer; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = get_real_subtype(base+offset, DF_Type::item); + n_anon_1->m_rdf_type = RDF_Type::Pointer; + n_anon_1->m_node_type = NodeType::Pointer; + n_anon_1->m_addornements = "*"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_defined_in = "df.items.xml"; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_announcements(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "flags"; + auto n_flags = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::announcements, field_name)); + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::announcement_flags; + n_flags->m_rdf_type = RDF_Type::Array; + n_flags->m_node_type = NodeType::Array; + n_flags->m_index_enum = DF_Type::announcement_type; + n_flags->m_defined_in = "df.announcements.xml"; + n_flags->m_addornements = "[325"; + n_flags->m_array_size = 325; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "unused"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::announcements, field_name)); + auto n_unused = new NodePointer; + n_unused->m_field_name = field_name; + n_unused->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_unused->m_rdf_type = RDF_Type::Pointer; + n_unused->m_node_type = NodeType::Pointer; + n_unused->m_addornements = "*"; + n_unused->m_address = base + offset; + n_unused->m_comment = "needed to fix alignment on 64-bit platforms"; + n_unused->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unused); + +} +void node_from_report(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "type"; + auto n_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::report, field_name)); + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::announcement_type; + n_type->m_rdf_type = RDF_Type::Enum; + n_type->m_node_type = NodeType::Enum; + n_type->m_base_type = DF_Type::int16_t; + n_type->m_enum_type = "announcement_type"; + n_type->m_address = base + offset; + n_type->m_comment = "valid only if coordinates are"; + n_type->m_defined_in = "df.announcements.xml"; + n_type->m_first_value = 0; + n_type->m_last_value = 324; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + + field_name = "text"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::report, field_name)); + auto n_text = new NodeSimple; + n_text->m_field_name = field_name; + n_text->m_df_type = DF_Type::Stl_string; + n_text->m_rdf_type = RDF_Type::Stl_string; + n_text->m_node_type = NodeType::Simple; + n_text->m_address = base + offset; + n_text->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_text); + + field_name = "color"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::report, field_name)); + auto n_color = new NodeSimple; + n_color->m_field_name = field_name; + n_color->m_df_type = DF_Type::int16_t; + n_color->m_rdf_type = RDF_Type::int16_t; + n_color->m_node_type = NodeType::Simple; + n_color->m_address = base + offset; + n_color->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_color); + + field_name = "bright"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::report, field_name)); + auto n_bright = new NodeSimple; + n_bright->m_field_name = field_name; + n_bright->m_df_type = DF_Type::Bool; + n_bright->m_rdf_type = RDF_Type::Bool; + n_bright->m_node_type = NodeType::Simple; + n_bright->m_address = base + offset; + n_bright->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_bright); + + field_name = "duration"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::report, field_name)); + auto n_duration = new NodeSimple; + n_duration->m_field_name = field_name; + n_duration->m_df_type = DF_Type::int32_t; + n_duration->m_rdf_type = RDF_Type::int32_t; + n_duration->m_node_type = NodeType::Simple; + n_duration->m_address = base + offset; + n_duration->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_duration); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::report, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::report__T_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "repeat_count"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::report, field_name)); + auto n_repeat_count = new NodeSimple; + n_repeat_count->m_field_name = field_name; + n_repeat_count->m_df_type = DF_Type::int32_t; + n_repeat_count->m_rdf_type = RDF_Type::int32_t; + n_repeat_count->m_node_type = NodeType::Simple; + n_repeat_count->m_address = base + offset; + n_repeat_count->m_comment = "100 => displays: x101"; + n_repeat_count->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_repeat_count); + + field_name = "unk_4410_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::report, field_name)); + auto n_unk_4410_1 = new NodeSimple; + n_unk_4410_1->m_field_name = field_name; + n_unk_4410_1->m_df_type = DF_Type::int32_t; + n_unk_4410_1->m_rdf_type = RDF_Type::int32_t; + n_unk_4410_1->m_node_type = NodeType::Simple; + n_unk_4410_1->m_address = base + offset; + n_unk_4410_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_4410_1); + + field_name = "pos"; + auto n_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::report, field_name)); + n_pos->m_field_name = field_name; + n_pos->m_df_type = DF_Type::coord; + n_pos->m_rdf_type = RDF_Type::Struct; + n_pos->m_node_type = NodeType::Compound; + n_pos->m_address = base + offset; + n_pos->m_defined_in = "df.map.xml"; + n_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pos); + + field_name = "unk_4410_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::report, field_name)); + auto n_unk_4410_2 = new NodeSimple; + n_unk_4410_2->m_field_name = field_name; + n_unk_4410_2->m_df_type = DF_Type::int32_t; + n_unk_4410_2->m_rdf_type = RDF_Type::int32_t; + n_unk_4410_2->m_node_type = NodeType::Simple; + n_unk_4410_2->m_address = base + offset; + n_unk_4410_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_4410_2); + + field_name = "unit_pos"; + auto n_unit_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::report, field_name)); + n_unit_pos->m_field_name = field_name; + n_unit_pos->m_df_type = DF_Type::coord; + n_unit_pos->m_rdf_type = RDF_Type::Struct; + n_unit_pos->m_node_type = NodeType::Compound; + n_unit_pos->m_address = base + offset; + n_unit_pos->m_defined_in = "df.map.xml"; + n_unit_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unit_pos); + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::report, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::report, field_name)); + auto n_year = new NodeSimple; + n_year->m_field_name = field_name; + n_year->m_df_type = DF_Type::int32_t; + n_year->m_rdf_type = RDF_Type::int32_t; + n_year->m_node_type = NodeType::Simple; + n_year->m_address = base + offset; + n_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_year); + + field_name = "time"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::report, field_name)); + auto n_time = new NodeSimple; + n_time->m_field_name = field_name; + n_time->m_df_type = DF_Type::int32_t; + n_time->m_rdf_type = RDF_Type::int32_t; + n_time->m_node_type = NodeType::Simple; + n_time->m_address = base + offset; + n_time->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_time); + + field_name = "unk_v40_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::report, field_name)); + auto n_unk_v40_1 = new NodeSimple; + n_unk_v40_1->m_field_name = field_name; + n_unk_v40_1->m_df_type = DF_Type::int32_t; + n_unk_v40_1->m_rdf_type = RDF_Type::int32_t; + n_unk_v40_1->m_node_type = NodeType::Simple; + n_unk_v40_1->m_address = base + offset; + n_unk_v40_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_1); + + field_name = "unk_v40_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::report, field_name)); + auto n_unk_v40_2 = new NodeSimple; + n_unk_v40_2->m_field_name = field_name; + n_unk_v40_2->m_df_type = DF_Type::int32_t; + n_unk_v40_2->m_rdf_type = RDF_Type::int32_t; + n_unk_v40_2->m_node_type = NodeType::Simple; + n_unk_v40_2->m_address = base + offset; + n_unk_v40_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_2); + + field_name = "speaker_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::report, field_name)); + auto n_speaker_id = new NodeSimple; + n_speaker_id->m_field_name = field_name; + n_speaker_id->m_df_type = DF_Type::int32_t; + n_speaker_id->m_rdf_type = RDF_Type::int32_t; + n_speaker_id->m_node_type = NodeType::Simple; + n_speaker_id->m_address = base + offset; + n_speaker_id->m_comment = "unit speaking the conversation"; + n_speaker_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_speaker_id); + +} +void node_from_art_image_element_itemst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::art_image_element; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_art_image_element(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "item_type"; + auto n_item_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image_element_itemst, field_name)); + n_item_type->m_field_name = field_name; + n_item_type->m_df_type = DF_Type::item_type; + n_item_type->m_rdf_type = RDF_Type::Enum; + n_item_type->m_node_type = NodeType::Enum; + n_item_type->m_base_type = DF_Type::int16_t; + n_item_type->m_enum_type = "item_type"; + n_item_type->m_address = base + offset; + n_item_type->m_defined_in = "df.item-raws.xml"; + n_item_type->m_first_value = -1; + n_item_type->m_last_value = 90; + n_item_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_type); + + field_name = "item_subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image_element_itemst, field_name)); + auto n_item_subtype = new NodeSimple; + n_item_subtype->m_field_name = field_name; + n_item_subtype->m_df_type = DF_Type::int16_t; + n_item_subtype->m_rdf_type = RDF_Type::int16_t; + n_item_subtype->m_node_type = NodeType::Simple; + n_item_subtype->m_address = base + offset; + n_item_subtype->m_refers_to = "(item-subtype-target $$._parent.item_type $)"; + n_item_subtype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_subtype); + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image_element_itemst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image_element_itemst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int16_t; + n_mat_index->m_rdf_type = RDF_Type::int16_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image_element_itemst, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::item_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_defined_in = "df.items.xml"; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "item_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image_element_itemst, field_name)); + auto n_item_id = new NodeSimple; + n_item_id->m_field_name = field_name; + n_item_id->m_df_type = DF_Type::int32_t; + n_item_id->m_rdf_type = RDF_Type::int32_t; + n_item_id->m_node_type = NodeType::Simple; + n_item_id->m_address = base + offset; + n_item_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_id); + +} +void node_from_art_image_property_transitive_verbst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::art_image_property; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_art_image_property(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "subject"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image_property_transitive_verbst, field_name)); + auto n_subject = new NodeSimple; + n_subject->m_field_name = field_name; + n_subject->m_df_type = DF_Type::int32_t; + n_subject->m_rdf_type = RDF_Type::int32_t; + n_subject->m_node_type = NodeType::Simple; + n_subject->m_address = base + offset; + n_subject->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_subject); + + field_name = "object"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image_property_transitive_verbst, field_name)); + auto n_object = new NodeSimple; + n_object->m_field_name = field_name; + n_object->m_df_type = DF_Type::int32_t; + n_object->m_rdf_type = RDF_Type::int32_t; + n_object->m_node_type = NodeType::Simple; + n_object->m_address = base + offset; + n_object->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_object); + + field_name = "verb"; + auto n_verb = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image_property_transitive_verbst, field_name)); + n_verb->m_field_name = field_name; + n_verb->m_df_type = DF_Type::art_image_property_verb; + n_verb->m_rdf_type = RDF_Type::Enum; + n_verb->m_node_type = NodeType::Enum; + n_verb->m_base_type = DF_Type::int16_t; + n_verb->m_enum_type = "art_image_property_verb"; + n_verb->m_address = base + offset; + n_verb->m_defined_in = "df.art.xml"; + n_verb->m_first_value = 0; + n_verb->m_last_value = 47; + n_verb->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_verb); + +} +void node_from_art_image_property_intransitive_verbst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::art_image_property; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_art_image_property(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "subject"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image_property_intransitive_verbst, field_name)); + auto n_subject = new NodeSimple; + n_subject->m_field_name = field_name; + n_subject->m_df_type = DF_Type::int32_t; + n_subject->m_rdf_type = RDF_Type::int32_t; + n_subject->m_node_type = NodeType::Simple; + n_subject->m_address = base + offset; + n_subject->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_subject); + + field_name = "verb"; + auto n_verb = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image_property_intransitive_verbst, field_name)); + n_verb->m_field_name = field_name; + n_verb->m_df_type = DF_Type::art_image_property_verb; + n_verb->m_rdf_type = RDF_Type::Enum; + n_verb->m_node_type = NodeType::Enum; + n_verb->m_base_type = DF_Type::int16_t; + n_verb->m_enum_type = "art_image_property_verb"; + n_verb->m_address = base + offset; + n_verb->m_defined_in = "df.art.xml"; + n_verb->m_first_value = 0; + n_verb->m_last_value = 47; + n_verb->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_verb); + +} +void node_from_art_image_chunk(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image_chunk, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_comment = "art_image_*.dat"; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "images"; + auto n_images = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image_chunk, field_name)); + n_images->m_field_name = field_name; + n_images->m_df_type = DF_Type::art_image; + n_images->m_rdf_type = RDF_Type::Array; + n_images->m_node_type = NodeType::Array; + n_images->m_defined_in = "df.art.xml"; + n_images->m_addornements = "[500*"; + n_images->m_array_size = 500; + n_images->m_address = base + offset; + n_images->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_images); + +} +void node_from_poetic_form_part__T_line_subject_targets(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = true) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "subject_histfig"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part__T_line_subject_targets, field_name)); + auto n_subject_histfig = new NodeSimple; + n_subject_histfig->m_field_name = field_name; + n_subject_histfig->m_df_type = DF_Type::int32_t; + n_subject_histfig->m_rdf_type = RDF_Type::int32_t; + n_subject_histfig->m_node_type = NodeType::Simple; + n_subject_histfig->m_address = base + offset; + n_subject_histfig->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_subject_histfig); + + field_name = "subject_topic"; + auto n_subject_topic = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part__T_line_subject_targets, field_name)); + n_subject_topic->m_field_name = field_name; + n_subject_topic->m_df_type = DF_Type::sphere_type; + n_subject_topic->m_rdf_type = RDF_Type::Enum; + n_subject_topic->m_node_type = NodeType::Enum; + n_subject_topic->m_base_type = DF_Type::int32_t; + n_subject_topic->m_enum_type = "sphere_type"; + n_subject_topic->m_address = base + offset; + n_subject_topic->m_defined_in = "df.language.xml"; + n_subject_topic->m_first_value = 0; + n_subject_topic->m_last_value = 129; + n_subject_topic->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_subject_topic); + +} +void node_from_poetic_form_part(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::poetic_form_part__T_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "count_min"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part, field_name)); + auto n_count_min = new NodeSimple; + n_count_min->m_field_name = field_name; + n_count_min->m_df_type = DF_Type::int32_t; + n_count_min->m_rdf_type = RDF_Type::int32_t; + n_count_min->m_node_type = NodeType::Simple; + n_count_min->m_address = base + offset; + n_count_min->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_count_min); + + field_name = "count_max"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part, field_name)); + auto n_count_max = new NodeSimple; + n_count_max->m_field_name = field_name; + n_count_max->m_df_type = DF_Type::int32_t; + n_count_max->m_rdf_type = RDF_Type::int32_t; + n_count_max->m_node_type = NodeType::Simple; + n_count_max->m_address = base + offset; + n_count_max->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_count_max); + + field_name = "size"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part, field_name)); + auto n_size = new NodeSimple; + n_size->m_field_name = field_name; + n_size->m_df_type = DF_Type::int32_t; + n_size->m_rdf_type = RDF_Type::int32_t; + n_size->m_node_type = NodeType::Simple; + n_size->m_address = base + offset; + n_size->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_size); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "line_endings"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part, field_name)); + auto n_line_endings = new NodeVector; + n_line_endings->m_field_name = field_name; + n_line_endings->m_df_type = DF_Type::int32_t; + n_line_endings->m_rdf_type = RDF_Type::Vector; + n_line_endings->m_node_type = NodeType::Vector; + n_line_endings->m_addornements = "v"; + n_line_endings->m_address = base + offset; + n_line_endings->m_parent = p_node_parent; + n_line_endings->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_line_endings); + + field_name = "line_feet"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part, field_name)); + auto n_line_feet = new NodeVector; + n_line_feet->m_field_name = field_name; + n_line_feet->m_df_type = DF_Type::int32_t; + n_line_feet->m_rdf_type = RDF_Type::Vector; + n_line_feet->m_node_type = NodeType::Vector; + n_line_feet->m_addornements = "v"; + n_line_feet->m_address = base + offset; + n_line_feet->m_parent = p_node_parent; + n_line_feet->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_line_feet); + + field_name = "line_patterns"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part, field_name)); + auto n_line_patterns = new NodeVector; + n_line_patterns->m_field_name = field_name; + n_line_patterns->m_df_type = DF_Type::poetic_form_pattern; + n_line_patterns->m_rdf_type = RDF_Type::Vector; + n_line_patterns->m_node_type = NodeType::Vector; + n_line_patterns->m_enum_base = DF_Type::int32_t; + n_line_patterns->m_defined_in = "df.art.xml"; + n_line_patterns->m_addornements = "v"; + n_line_patterns->m_address = base + offset; + n_line_patterns->m_parent = p_node_parent; + n_line_patterns->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_line_patterns); + + field_name = "line_caesura_positions"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part, field_name)); + auto n_line_caesura_positions = new NodeVector; + n_line_caesura_positions->m_field_name = field_name; + n_line_caesura_positions->m_df_type = DF_Type::poetic_form_caesura_position; + n_line_caesura_positions->m_rdf_type = RDF_Type::Vector; + n_line_caesura_positions->m_node_type = NodeType::Vector; + n_line_caesura_positions->m_enum_base = DF_Type::int32_t; + n_line_caesura_positions->m_defined_in = "df.art.xml"; + n_line_caesura_positions->m_addornements = "v"; + n_line_caesura_positions->m_address = base + offset; + n_line_caesura_positions->m_parent = p_node_parent; + n_line_caesura_positions->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_line_caesura_positions); + + field_name = "line_features"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part, field_name)); + auto n_line_features = new NodeVector; + n_line_features->m_field_name = field_name; + n_line_features->m_df_type = DF_Type::poetic_form_feature; + n_line_features->m_rdf_type = RDF_Type::Vector; + n_line_features->m_node_type = NodeType::Vector; + n_line_features->m_defined_in = "df.art.xml"; + n_line_features->m_addornements = "v"; + n_line_features->m_address = base + offset; + n_line_features->m_parent = p_node_parent; + n_line_features->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_line_features); + + field_name = "additional_features"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part, field_name)); + auto n_additional_features = new NodeVector; + n_additional_features->m_field_name = field_name; + n_additional_features->m_df_type = DF_Type::poetic_form_additional_feature; + n_additional_features->m_rdf_type = RDF_Type::Vector; + n_additional_features->m_node_type = NodeType::Vector; + n_additional_features->m_enum_base = DF_Type::int32_t; + n_additional_features->m_defined_in = "df.art.xml"; + n_additional_features->m_addornements = "v"; + n_additional_features->m_address = base + offset; + n_additional_features->m_parent = p_node_parent; + n_additional_features->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_additional_features); + + field_name = "additional_targets"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part, field_name)); + auto n_additional_targets = new NodeVector; + n_additional_targets->m_field_name = field_name; + n_additional_targets->m_df_type = DF_Type::int32_t; + n_additional_targets->m_rdf_type = RDF_Type::Vector; + n_additional_targets->m_node_type = NodeType::Vector; + n_additional_targets->m_addornements = "v"; + n_additional_targets->m_address = base + offset; + n_additional_targets->m_parent = p_node_parent; + n_additional_targets->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_additional_targets); + + field_name = "additional_lines"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part, field_name)); + auto n_additional_lines = new NodeVector; + n_additional_lines->m_field_name = field_name; + n_additional_lines->m_df_type = DF_Type::int32_t; + n_additional_lines->m_rdf_type = RDF_Type::Vector; + n_additional_lines->m_node_type = NodeType::Vector; + n_additional_lines->m_addornements = "v"; + n_additional_lines->m_address = base + offset; + n_additional_lines->m_parent = p_node_parent; + n_additional_lines->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_additional_lines); + + field_name = "line_moods"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part, field_name)); + auto n_line_moods = new NodeVector; + n_line_moods->m_field_name = field_name; + n_line_moods->m_df_type = DF_Type::poetic_form_mood; + n_line_moods->m_rdf_type = RDF_Type::Vector; + n_line_moods->m_node_type = NodeType::Vector; + n_line_moods->m_enum_base = DF_Type::int32_t; + n_line_moods->m_defined_in = "df.art.xml"; + n_line_moods->m_addornements = "v"; + n_line_moods->m_address = base + offset; + n_line_moods->m_parent = p_node_parent; + n_line_moods->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_line_moods); + + field_name = "line_subjects"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part, field_name)); + auto n_line_subjects = new NodeVector; + n_line_subjects->m_field_name = field_name; + n_line_subjects->m_df_type = DF_Type::poetic_form_subject; + n_line_subjects->m_rdf_type = RDF_Type::Vector; + n_line_subjects->m_node_type = NodeType::Vector; + n_line_subjects->m_enum_base = DF_Type::int32_t; + n_line_subjects->m_defined_in = "df.art.xml"; + n_line_subjects->m_addornements = "v"; + n_line_subjects->m_address = base + offset; + n_line_subjects->m_parent = p_node_parent; + n_line_subjects->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_line_subjects); + + field_name = "line_subject_targets"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part, field_name)); + auto n_line_subject_targets = new NodeVector; + n_line_subject_targets->m_field_name = field_name; + n_line_subject_targets->m_df_type = DF_Type::poetic_form_part__T_line_subject_targets; + n_line_subject_targets->m_rdf_type = RDF_Type::Vector; + n_line_subject_targets->m_node_type = NodeType::Vector; + n_line_subject_targets->m_addornements = "v"; + n_line_subject_targets->m_address = base + offset; + n_line_subject_targets->m_parent = p_node_parent; + n_line_subject_targets->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_line_subject_targets); + + field_name = "line_actions"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part, field_name)); + auto n_line_actions = new NodeVector; + n_line_actions->m_field_name = field_name; + n_line_actions->m_df_type = DF_Type::poetic_form_action; + n_line_actions->m_rdf_type = RDF_Type::Vector; + n_line_actions->m_node_type = NodeType::Vector; + n_line_actions->m_enum_base = DF_Type::int32_t; + n_line_actions->m_defined_in = "df.art.xml"; + n_line_actions->m_addornements = "v"; + n_line_actions->m_address = base + offset; + n_line_actions->m_parent = p_node_parent; + n_line_actions->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_line_actions); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part, field_name)); + auto n_anon_5 = new NodeVector; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::Vector; + n_anon_5->m_node_type = NodeType::Vector; + n_anon_5->m_addornements = "v"; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + n_anon_5->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "some_lines_syllables"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part, field_name)); + auto n_some_lines_syllables = new NodeSimple; + n_some_lines_syllables->m_field_name = field_name; + n_some_lines_syllables->m_df_type = DF_Type::int32_t; + n_some_lines_syllables->m_rdf_type = RDF_Type::int32_t; + n_some_lines_syllables->m_node_type = NodeType::Simple; + n_some_lines_syllables->m_address = base + offset; + n_some_lines_syllables->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_some_lines_syllables); + + field_name = "some_lines_pattern"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part, field_name)); + auto n_some_lines_pattern = new NodeSimple; + n_some_lines_pattern->m_field_name = field_name; + n_some_lines_pattern->m_df_type = DF_Type::int32_t; + n_some_lines_pattern->m_rdf_type = RDF_Type::int32_t; + n_some_lines_pattern->m_node_type = NodeType::Simple; + n_some_lines_pattern->m_address = base + offset; + n_some_lines_pattern->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_some_lines_pattern); + + field_name = "each_line_caesura_position"; + auto n_each_line_caesura_position = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part, field_name)); + n_each_line_caesura_position->m_field_name = field_name; + n_each_line_caesura_position->m_df_type = DF_Type::poetic_form_caesura_position; + n_each_line_caesura_position->m_rdf_type = RDF_Type::Enum; + n_each_line_caesura_position->m_node_type = NodeType::Enum; + n_each_line_caesura_position->m_base_type = DF_Type::int32_t; + n_each_line_caesura_position->m_enum_type = "poetic_form_caesura_position"; + n_each_line_caesura_position->m_address = base + offset; + n_each_line_caesura_position->m_defined_in = "df.art.xml"; + n_each_line_caesura_position->m_first_value = 0; + n_each_line_caesura_position->m_last_value = 2; + n_each_line_caesura_position->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_each_line_caesura_position); + + field_name = "certain_lines_additional_features"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part, field_name)); + auto n_certain_lines_additional_features = new NodeVector; + n_certain_lines_additional_features->m_field_name = field_name; + n_certain_lines_additional_features->m_df_type = DF_Type::poetic_form_additional_feature; + n_certain_lines_additional_features->m_rdf_type = RDF_Type::Vector; + n_certain_lines_additional_features->m_node_type = NodeType::Vector; + n_certain_lines_additional_features->m_enum_base = DF_Type::int32_t; + n_certain_lines_additional_features->m_defined_in = "df.art.xml"; + n_certain_lines_additional_features->m_addornements = "v"; + n_certain_lines_additional_features->m_address = base + offset; + n_certain_lines_additional_features->m_parent = p_node_parent; + n_certain_lines_additional_features->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_certain_lines_additional_features); + + field_name = "mood"; + auto n_mood = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part, field_name)); + n_mood->m_field_name = field_name; + n_mood->m_df_type = DF_Type::poetic_form_mood; + n_mood->m_rdf_type = RDF_Type::Enum; + n_mood->m_node_type = NodeType::Enum; + n_mood->m_base_type = DF_Type::int32_t; + n_mood->m_enum_type = "poetic_form_mood"; + n_mood->m_address = base + offset; + n_mood->m_defined_in = "df.art.xml"; + n_mood->m_first_value = 0; + n_mood->m_last_value = 6; + n_mood->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mood); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part, field_name)); + auto n_anon_7 = new NodeSimple; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::int32_t; + n_anon_7->m_rdf_type = RDF_Type::int32_t; + n_anon_7->m_node_type = NodeType::Simple; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_7); + + field_name = "action"; + auto n_action = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part, field_name)); + n_action->m_field_name = field_name; + n_action->m_df_type = DF_Type::poetic_form_action; + n_action->m_rdf_type = RDF_Type::Enum; + n_action->m_node_type = NodeType::Enum; + n_action->m_base_type = DF_Type::int32_t; + n_action->m_enum_type = "poetic_form_action"; + n_action->m_address = base + offset; + n_action->m_defined_in = "df.art.xml"; + n_action->m_first_value = 0; + n_action->m_last_value = 21; + n_action->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_action); + + field_name = "anon_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part, field_name)); + auto n_anon_8 = new NodeSimple; + n_anon_8->m_field_name = field_name; + n_anon_8->m_df_type = DF_Type::int32_t; + n_anon_8->m_rdf_type = RDF_Type::int32_t; + n_anon_8->m_node_type = NodeType::Simple; + n_anon_8->m_address = base + offset; + n_anon_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_8); + + field_name = "anon_9"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form_part, field_name)); + auto n_anon_9 = new NodeSimple; + n_anon_9->m_field_name = field_name; + n_anon_9->m_df_type = DF_Type::int32_t; + n_anon_9->m_rdf_type = RDF_Type::int32_t; + n_anon_9->m_node_type = NodeType::Simple; + n_anon_9->m_address = base + offset; + n_anon_9->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_9); + +} +void node_from_musical_form_vocals(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_vocals, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_vocals, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_vocals, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_vocals, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_vocals, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_vocals, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_vocals, field_name)); + auto n_anon_7 = new NodeSimple; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::int32_t; + n_anon_7->m_rdf_type = RDF_Type::int32_t; + n_anon_7->m_node_type = NodeType::Simple; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_7); + + field_name = "anon_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_vocals, field_name)); + auto n_anon_8 = new NodeSimple; + n_anon_8->m_field_name = field_name; + n_anon_8->m_df_type = DF_Type::int32_t; + n_anon_8->m_rdf_type = RDF_Type::int32_t; + n_anon_8->m_node_type = NodeType::Simple; + n_anon_8->m_address = base + offset; + n_anon_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_8); + + field_name = "anon_9"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_vocals, field_name)); + auto n_anon_9 = new NodeSimple; + n_anon_9->m_field_name = field_name; + n_anon_9->m_df_type = DF_Type::int32_t; + n_anon_9->m_rdf_type = RDF_Type::int32_t; + n_anon_9->m_node_type = NodeType::Simple; + n_anon_9->m_address = base + offset; + n_anon_9->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_9); + + field_name = "anon_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_vocals, field_name)); + auto n_anon_10 = new NodeSimple; + n_anon_10->m_field_name = field_name; + n_anon_10->m_df_type = DF_Type::int32_t; + n_anon_10->m_rdf_type = RDF_Type::int32_t; + n_anon_10->m_node_type = NodeType::Simple; + n_anon_10->m_address = base + offset; + n_anon_10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_10); + + field_name = "anon_11"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_vocals, field_name)); + auto n_anon_11 = new NodeSimple; + n_anon_11->m_field_name = field_name; + n_anon_11->m_df_type = DF_Type::int32_t; + n_anon_11->m_rdf_type = RDF_Type::int32_t; + n_anon_11->m_node_type = NodeType::Simple; + n_anon_11->m_address = base + offset; + n_anon_11->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_11); + + field_name = "anon_12"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_vocals, field_name)); + auto n_anon_12 = new NodeSimple; + n_anon_12->m_field_name = field_name; + n_anon_12->m_df_type = DF_Type::int32_t; + n_anon_12->m_rdf_type = RDF_Type::int32_t; + n_anon_12->m_node_type = NodeType::Simple; + n_anon_12->m_address = base + offset; + n_anon_12->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_12); + + field_name = "anon_13"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_vocals, field_name)); + auto n_anon_13 = new NodeVector; + n_anon_13->m_field_name = field_name; + n_anon_13->m_df_type = DF_Type::int32_t; + n_anon_13->m_rdf_type = RDF_Type::Vector; + n_anon_13->m_node_type = NodeType::Vector; + n_anon_13->m_addornements = "v"; + n_anon_13->m_address = base + offset; + n_anon_13->m_parent = p_node_parent; + n_anon_13->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_13); + + field_name = "vocal_components"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_vocals, field_name)); + auto n_vocal_components = new NodeVector; + n_vocal_components->m_field_name = field_name; + n_vocal_components->m_df_type = DF_Type::int32_t; + n_vocal_components->m_rdf_type = RDF_Type::Vector; + n_vocal_components->m_node_type = NodeType::Vector; + n_vocal_components->m_addornements = "v"; + n_vocal_components->m_address = base + offset; + n_vocal_components->m_parent = p_node_parent; + n_vocal_components->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_vocal_components); + + field_name = "phrase_lengths"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_vocals, field_name)); + auto n_phrase_lengths = new NodeVector; + n_phrase_lengths->m_field_name = field_name; + n_phrase_lengths->m_df_type = DF_Type::int32_t; + n_phrase_lengths->m_rdf_type = RDF_Type::Vector; + n_phrase_lengths->m_node_type = NodeType::Vector; + n_phrase_lengths->m_addornements = "v"; + n_phrase_lengths->m_address = base + offset; + n_phrase_lengths->m_parent = p_node_parent; + n_phrase_lengths->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_phrase_lengths); + + field_name = "anon_14"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_vocals, field_name)); + auto n_anon_14 = new NodeVector; + n_anon_14->m_field_name = field_name; + n_anon_14->m_df_type = DF_Type::int32_t; + n_anon_14->m_rdf_type = RDF_Type::Vector; + n_anon_14->m_node_type = NodeType::Vector; + n_anon_14->m_addornements = "v"; + n_anon_14->m_address = base + offset; + n_anon_14->m_parent = p_node_parent; + n_anon_14->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_14); + + field_name = "anon_15"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_vocals, field_name)); + auto n_anon_15 = new NodeVector; + n_anon_15->m_field_name = field_name; + n_anon_15->m_df_type = DF_Type::int32_t; + n_anon_15->m_rdf_type = RDF_Type::Vector; + n_anon_15->m_node_type = NodeType::Vector; + n_anon_15->m_addornements = "v"; + n_anon_15->m_address = base + offset; + n_anon_15->m_parent = p_node_parent; + n_anon_15->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_15); + + field_name = "anon_16"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_vocals, field_name)); + auto n_anon_16 = new NodeSimple; + n_anon_16->m_field_name = field_name; + n_anon_16->m_df_type = DF_Type::int32_t; + n_anon_16->m_rdf_type = RDF_Type::int32_t; + n_anon_16->m_node_type = NodeType::Simple; + n_anon_16->m_address = base + offset; + n_anon_16->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_16); + + field_name = "anon_17"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_vocals, field_name)); + auto n_anon_17 = new NodeSimple; + n_anon_17->m_field_name = field_name; + n_anon_17->m_df_type = DF_Type::int32_t; + n_anon_17->m_rdf_type = RDF_Type::int32_t; + n_anon_17->m_node_type = NodeType::Simple; + n_anon_17->m_address = base + offset; + n_anon_17->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_17); + + field_name = "anon_18"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_vocals, field_name)); + auto n_anon_18 = new NodeSimple; + n_anon_18->m_field_name = field_name; + n_anon_18->m_df_type = DF_Type::int32_t; + n_anon_18->m_rdf_type = RDF_Type::int32_t; + n_anon_18->m_node_type = NodeType::Simple; + n_anon_18->m_address = base + offset; + n_anon_18->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_18); + + field_name = "anon_19"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_vocals, field_name)); + auto n_anon_19 = new NodeSimple; + n_anon_19->m_field_name = field_name; + n_anon_19->m_df_type = DF_Type::int32_t; + n_anon_19->m_rdf_type = RDF_Type::int32_t; + n_anon_19->m_node_type = NodeType::Simple; + n_anon_19->m_address = base + offset; + n_anon_19->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_19); + + field_name = "anon_20"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_vocals, field_name)); + auto n_anon_20 = new NodeSimple; + n_anon_20->m_field_name = field_name; + n_anon_20->m_df_type = DF_Type::int32_t; + n_anon_20->m_rdf_type = RDF_Type::int32_t; + n_anon_20->m_node_type = NodeType::Simple; + n_anon_20->m_address = base + offset; + n_anon_20->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_20); + + field_name = "anon_21"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_vocals, field_name)); + auto n_anon_21 = new NodeVector; + n_anon_21->m_field_name = field_name; + n_anon_21->m_df_type = DF_Type::musical_form_melodies; + n_anon_21->m_rdf_type = RDF_Type::Vector; + n_anon_21->m_node_type = NodeType::Vector; + n_anon_21->m_defined_in = "df.art.xml"; + n_anon_21->m_addornements = "v*"; + n_anon_21->m_address = base + offset; + n_anon_21->m_parent = p_node_parent; + n_anon_21->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_21); + + field_name = "anon_22"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_vocals, field_name)); + auto n_anon_22 = new NodeSimple; + n_anon_22->m_field_name = field_name; + n_anon_22->m_df_type = DF_Type::int32_t; + n_anon_22->m_rdf_type = RDF_Type::int32_t; + n_anon_22->m_node_type = NodeType::Simple; + n_anon_22->m_address = base + offset; + n_anon_22->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_22); + + field_name = "anon_23"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_vocals, field_name)); + auto n_anon_23 = new NodeSimple; + n_anon_23->m_field_name = field_name; + n_anon_23->m_df_type = DF_Type::int32_t; + n_anon_23->m_rdf_type = RDF_Type::int32_t; + n_anon_23->m_node_type = NodeType::Simple; + n_anon_23->m_address = base + offset; + n_anon_23->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_23); + +} +void node_from_musical_form_instruments(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "instrument_subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_instruments, field_name)); + auto n_instrument_subtype = new NodeSimple; + n_instrument_subtype->m_field_name = field_name; + n_instrument_subtype->m_df_type = DF_Type::int32_t; + n_instrument_subtype->m_rdf_type = RDF_Type::int32_t; + n_instrument_subtype->m_node_type = NodeType::Simple; + n_instrument_subtype->m_address = base + offset; + n_instrument_subtype->m_comment = "-1 = vocal"; + n_instrument_subtype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_instrument_subtype); + + field_name = "substitutions"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_instruments, field_name)); + auto n_substitutions = new NodeBitfield; + n_substitutions->m_field_name = field_name; + n_substitutions->m_df_type = DF_Type::musical_form_instruments__T_substitutions; + n_substitutions->m_rdf_type = RDF_Type::Bitfield; + n_substitutions->m_node_type = NodeType::Bitfield; + n_substitutions->m_address = base + offset; + n_substitutions->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_substitutions); + + field_name = "features"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_instruments, field_name)); + auto n_features = new NodeBitfield; + n_features->m_field_name = field_name; + n_features->m_df_type = DF_Type::musical_form_feature; + n_features->m_rdf_type = RDF_Type::Bitfield; + n_features->m_node_type = NodeType::Bitfield; + n_features->m_address = base + offset; + n_features->m_defined_in = "df.art.xml"; + n_features->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_features); + + field_name = "minimum_required"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_instruments, field_name)); + auto n_minimum_required = new NodeSimple; + n_minimum_required->m_field_name = field_name; + n_minimum_required->m_df_type = DF_Type::int32_t; + n_minimum_required->m_rdf_type = RDF_Type::int32_t; + n_minimum_required->m_node_type = NodeType::Simple; + n_minimum_required->m_address = base + offset; + n_minimum_required->m_comment = "tentative"; + n_minimum_required->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_minimum_required); + + field_name = "maximum_permitted"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_instruments, field_name)); + auto n_maximum_permitted = new NodeSimple; + n_maximum_permitted->m_field_name = field_name; + n_maximum_permitted->m_df_type = DF_Type::int32_t; + n_maximum_permitted->m_rdf_type = RDF_Type::int32_t; + n_maximum_permitted->m_node_type = NodeType::Simple; + n_maximum_permitted->m_address = base + offset; + n_maximum_permitted->m_comment = "tentative"; + n_maximum_permitted->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_maximum_permitted); + + field_name = "dynamic_style"; + auto n_dynamic_style = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_instruments, field_name)); + n_dynamic_style->m_field_name = field_name; + n_dynamic_style->m_df_type = DF_Type::musical_form_style; + n_dynamic_style->m_rdf_type = RDF_Type::Enum; + n_dynamic_style->m_node_type = NodeType::Enum; + n_dynamic_style->m_base_type = DF_Type::int32_t; + n_dynamic_style->m_enum_type = "musical_form_style"; + n_dynamic_style->m_address = base + offset; + n_dynamic_style->m_defined_in = "df.art.xml"; + n_dynamic_style->m_first_value = -1; + n_dynamic_style->m_last_value = 71; + n_dynamic_style->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dynamic_style); + + field_name = "overall_style"; + auto n_overall_style = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_instruments, field_name)); + n_overall_style->m_field_name = field_name; + n_overall_style->m_df_type = DF_Type::musical_form_style; + n_overall_style->m_rdf_type = RDF_Type::Enum; + n_overall_style->m_node_type = NodeType::Enum; + n_overall_style->m_base_type = DF_Type::int32_t; + n_overall_style->m_enum_type = "musical_form_style"; + n_overall_style->m_address = base + offset; + n_overall_style->m_defined_in = "df.art.xml"; + n_overall_style->m_first_value = -1; + n_overall_style->m_last_value = 71; + n_overall_style->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_overall_style); + +} +void node_from_musical_form_melodies(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "style"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_melodies, field_name)); + auto n_style = new NodeSimple; + n_style->m_field_name = field_name; + n_style->m_df_type = DF_Type::int32_t; + n_style->m_rdf_type = RDF_Type::int32_t; + n_style->m_node_type = NodeType::Simple; + n_style->m_address = base + offset; + n_style->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_style); + + field_name = "frequency"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_melodies, field_name)); + auto n_frequency = new NodeSimple; + n_frequency->m_field_name = field_name; + n_frequency->m_df_type = DF_Type::int32_t; + n_frequency->m_rdf_type = RDF_Type::int32_t; + n_frequency->m_node_type = NodeType::Simple; + n_frequency->m_address = base + offset; + n_frequency->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_frequency); + + field_name = "intervals"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_melodies, field_name)); + auto n_intervals = new NodeVector; + n_intervals->m_field_name = field_name; + n_intervals->m_df_type = DF_Type::musical_form_interval; + n_intervals->m_rdf_type = RDF_Type::Vector; + n_intervals->m_node_type = NodeType::Vector; + n_intervals->m_defined_in = "df.art.xml"; + n_intervals->m_addornements = "v*"; + n_intervals->m_address = base + offset; + n_intervals->m_parent = p_node_parent; + n_intervals->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_intervals); + + field_name = "features"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form_melodies, field_name)); + auto n_features = new NodeBitfield; + n_features->m_field_name = field_name; + n_features->m_df_type = DF_Type::musical_form_feature; + n_features->m_rdf_type = RDF_Type::Bitfield; + n_features->m_node_type = NodeType::Bitfield; + n_features->m_address = base + offset; + n_features->m_defined_in = "df.art.xml"; + n_features->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_features); + +} +void node_from_scale__T_unk1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scale__T_unk1, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + auto n_anon_2 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scale__T_unk1, field_name)); + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::Stl_string; + n_anon_2->m_rdf_type = RDF_Type::Array; + n_anon_2->m_node_type = NodeType::Array; + n_anon_2->m_addornements = "[25"; + n_anon_2->m_array_size = 25; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + auto n_anon_3 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scale__T_unk1, field_name)); + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::Stl_string; + n_anon_3->m_rdf_type = RDF_Type::Array; + n_anon_3->m_node_type = NodeType::Array; + n_anon_3->m_addornements = "[25"; + n_anon_3->m_array_size = 25; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + auto n_anon_4 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scale__T_unk1, field_name)); + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::Array; + n_anon_4->m_node_type = NodeType::Array; + n_anon_4->m_addornements = "[25"; + n_anon_4->m_array_size = 25; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scale__T_unk1, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + +} +void node_from_scale(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scale, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scale, field_name)); + auto n_flags = new NodeSimple; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::int32_t; + n_flags->m_rdf_type = RDF_Type::int32_t; + n_flags->m_node_type = NodeType::Simple; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scale, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + auto n_anon_2 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scale, field_name)); + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::Array; + n_anon_2->m_node_type = NodeType::Array; + n_anon_2->m_addornements = "[25"; + n_anon_2->m_array_size = 25; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scale, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scale, field_name)); + auto n_anon_4 = new NodeVector; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::scale_sub1; + n_anon_4->m_rdf_type = RDF_Type::Vector; + n_anon_4->m_node_type = NodeType::Vector; + n_anon_4->m_defined_in = "df.art.xml"; + n_anon_4->m_addornements = "v*"; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + n_anon_4->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scale, field_name)); + auto n_anon_5 = new NodeVector; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::scale_sub2; + n_anon_5->m_rdf_type = RDF_Type::Vector; + n_anon_5->m_node_type = NodeType::Vector; + n_anon_5->m_defined_in = "df.art.xml"; + n_anon_5->m_addornements = "v*"; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + n_anon_5->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "unk1"; + auto n_unk1 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::scale, field_name)); + n_unk1->m_field_name = field_name; + n_unk1->m_df_type = DF_Type::scale__T_unk1; + n_unk1->m_rdf_type = RDF_Type::Compound; + n_unk1->m_node_type = NodeType::Compound; + n_unk1->m_address = base + offset; + n_unk1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk1); + +} +void node_from_rhythm(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::rhythm, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::rhythm, field_name)); + auto n_anon_1 = new NodeVector; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::rhythm_sub1; + n_anon_1->m_rdf_type = RDF_Type::Vector; + n_anon_1->m_node_type = NodeType::Vector; + n_anon_1->m_defined_in = "df.art.xml"; + n_anon_1->m_addornements = "v*"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::rhythm, field_name)); + auto n_anon_2 = new NodeVector; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::rhythm_sub2; + n_anon_2->m_rdf_type = RDF_Type::Vector; + n_anon_2->m_node_type = NodeType::Vector; + n_anon_2->m_defined_in = "df.art.xml"; + n_anon_2->m_addornements = "v*"; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + n_anon_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::rhythm, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + +} +void node_from_rhythm_sub1__T_anon_1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::rhythm_sub1__T_anon_1, field_name)); + auto n_anon_1 = new NodePointer; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = get_real_subtype(base+offset, DF_Type::int32_t); + n_anon_1->m_rdf_type = RDF_Type::Pointer; + n_anon_1->m_node_type = NodeType::Pointer; + n_anon_1->m_addornements = "*"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "length"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::rhythm_sub1__T_anon_1, field_name)); + auto n_length = new NodeSimple; + n_length->m_field_name = field_name; + n_length->m_df_type = DF_Type::int32_t; + n_length->m_rdf_type = RDF_Type::int32_t; + n_length->m_node_type = NodeType::Simple; + n_length->m_address = base + offset; + n_length->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_length); + +} +void node_from_rhythm_sub1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::rhythm_sub1, field_name)); + auto n_name = new NodeSimple; + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Stl_string; + n_name->m_node_type = NodeType::Simple; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::rhythm_sub1, field_name)); + auto n_anon_1 = new NodeVector; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::rhythm_sub1__T_anon_1; + n_anon_1->m_rdf_type = RDF_Type::Vector; + n_anon_1->m_node_type = NodeType::Vector; + n_anon_1->m_addornements = "v*"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::rhythm_sub1, field_name)); + auto n_anon_2 = new NodePointer; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = get_real_subtype(base+offset, DF_Type::Stl_string); + n_anon_2->m_rdf_type = RDF_Type::Pointer; + n_anon_2->m_node_type = NodeType::Pointer; + n_anon_2->m_addornements = "*"; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + n_anon_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::rhythm_sub1, field_name)); + auto n_anon_3 = new NodePointer; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = get_real_subtype(base+offset, DF_Type::Stl_string); + n_anon_3->m_rdf_type = RDF_Type::Pointer; + n_anon_3->m_node_type = NodeType::Pointer; + n_anon_3->m_addornements = "*"; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + n_anon_3->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::rhythm_sub1, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + +} +void node_from_occupation(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::occupation, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "type"; + auto n_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::occupation, field_name)); + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::occupation_type; + n_type->m_rdf_type = RDF_Type::Enum; + n_type->m_node_type = NodeType::Enum; + n_type->m_base_type = DF_Type::int32_t; + n_type->m_enum_type = "occupation_type"; + n_type->m_address = base + offset; + n_type->m_defined_in = "df.art.xml"; + n_type->m_first_value = 0; + n_type->m_last_value = 6; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + + field_name = "histfig_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::occupation, field_name)); + auto n_histfig_id = new NodeSimple; + n_histfig_id->m_field_name = field_name; + n_histfig_id->m_df_type = DF_Type::int32_t; + n_histfig_id->m_rdf_type = RDF_Type::int32_t; + n_histfig_id->m_node_type = NodeType::Simple; + n_histfig_id->m_address = base + offset; + n_histfig_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig_id); + + field_name = "unit_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::occupation, field_name)); + auto n_unit_id = new NodeSimple; + n_unit_id->m_field_name = field_name; + n_unit_id->m_df_type = DF_Type::int32_t; + n_unit_id->m_rdf_type = RDF_Type::int32_t; + n_unit_id->m_node_type = NodeType::Simple; + n_unit_id->m_address = base + offset; + n_unit_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unit_id); + + field_name = "location_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::occupation, field_name)); + auto n_location_id = new NodeSimple; + n_location_id->m_field_name = field_name; + n_location_id->m_df_type = DF_Type::int32_t; + n_location_id->m_rdf_type = RDF_Type::int32_t; + n_location_id->m_node_type = NodeType::Simple; + n_location_id->m_address = base + offset; + n_location_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_location_id); + + field_name = "site_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::occupation, field_name)); + auto n_site_id = new NodeSimple; + n_site_id->m_field_name = field_name; + n_site_id->m_df_type = DF_Type::int32_t; + n_site_id->m_rdf_type = RDF_Type::int32_t; + n_site_id->m_node_type = NodeType::Simple; + n_site_id->m_address = base + offset; + n_site_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_id); + + field_name = "group_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::occupation, field_name)); + auto n_group_id = new NodeSimple; + n_group_id->m_field_name = field_name; + n_group_id->m_df_type = DF_Type::int32_t; + n_group_id->m_rdf_type = RDF_Type::int32_t; + n_group_id->m_node_type = NodeType::Simple; + n_group_id->m_address = base + offset; + n_group_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_group_id); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::occupation, field_name)); + auto n_anon_1 = new NodeVector; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::occupation_sub1; + n_anon_1->m_rdf_type = RDF_Type::Vector; + n_anon_1->m_node_type = NodeType::Vector; + n_anon_1->m_defined_in = "df.art.xml"; + n_anon_1->m_addornements = "v*"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::occupation, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::occupation, field_name)); + auto n_anon_3 = new NodePointer; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_anon_3->m_rdf_type = RDF_Type::Pointer; + n_anon_3->m_node_type = NodeType::Pointer; + n_anon_3->m_addornements = "*"; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::occupation, field_name)); + auto n_anon_4 = new NodePointer; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_anon_4->m_rdf_type = RDF_Type::Pointer; + n_anon_4->m_node_type = NodeType::Pointer; + n_anon_4->m_addornements = "*"; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + +} +void node_from_building_def(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "code"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def, field_name)); + auto n_code = new NodeSimple; + n_code->m_field_name = field_name; + n_code->m_df_type = DF_Type::Stl_string; + n_code->m_rdf_type = RDF_Type::Stl_string; + n_code->m_node_type = NodeType::Simple; + n_code->m_address = base + offset; + n_code->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_code); + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def, field_name)); + auto n_name = new NodeSimple; + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Stl_string; + n_name->m_node_type = NodeType::Simple; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "building_type"; + auto n_building_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def, field_name)); + n_building_type->m_field_name = field_name; + n_building_type->m_df_type = DF_Type::building_type; + n_building_type->m_rdf_type = RDF_Type::Enum; + n_building_type->m_node_type = NodeType::Enum; + n_building_type->m_base_type = DF_Type::int32_t; + n_building_type->m_enum_type = "building_type"; + n_building_type->m_address = base + offset; + n_building_type->m_defined_in = "df.buildings.xml"; + n_building_type->m_first_value = -1; + n_building_type->m_last_value = 53; + n_building_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_building_type); + + field_name = "building_subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def, field_name)); + auto n_building_subtype = new NodeSimple; + n_building_subtype->m_field_name = field_name; + n_building_subtype->m_df_type = DF_Type::int32_t; + n_building_subtype->m_rdf_type = RDF_Type::int32_t; + n_building_subtype->m_node_type = NodeType::Simple; + n_building_subtype->m_address = base + offset; + n_building_subtype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_building_subtype); + + field_name = "name_color"; + auto n_name_color = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def, field_name)); + n_name_color->m_field_name = field_name; + n_name_color->m_df_type = DF_Type::int16_t; + n_name_color->m_rdf_type = RDF_Type::Array; + n_name_color->m_node_type = NodeType::Array; + n_name_color->m_addornements = "[3"; + n_name_color->m_array_size = 3; + n_name_color->m_address = base + offset; + n_name_color->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name_color); + + field_name = "tile"; + auto n_tile = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def, field_name)); + n_tile->m_field_name = field_name; + n_tile->m_df_type = DF_Type::uint8_t; + n_tile->m_rdf_type = RDF_Type::Array; + n_tile->m_node_type = NodeType::Array; + n_tile->m_addornements = "[4[31[31"; + n_tile->m_array_size = 4; + n_tile->m_address = base + offset; + n_tile->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tile); + + field_name = "tile_color"; + auto n_tile_color = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def, field_name)); + n_tile_color->m_field_name = field_name; + n_tile_color->m_df_type = DF_Type::uint8_t; + n_tile_color->m_rdf_type = RDF_Type::Array; + n_tile_color->m_node_type = NodeType::Array; + n_tile_color->m_addornements = "[3[4[31[31"; + n_tile_color->m_array_size = 3; + n_tile_color->m_address = base + offset; + n_tile_color->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tile_color); + + field_name = "tile_block"; + auto n_tile_block = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def, field_name)); + n_tile_block->m_field_name = field_name; + n_tile_block->m_df_type = DF_Type::uint8_t; + n_tile_block->m_rdf_type = RDF_Type::Array; + n_tile_block->m_node_type = NodeType::Array; + n_tile_block->m_addornements = "[31[31"; + n_tile_block->m_array_size = 31; + n_tile_block->m_address = base + offset; + n_tile_block->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tile_block); + + field_name = "build_key"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def, field_name)); + auto n_build_key = new NodeSimple; + n_build_key->m_field_name = field_name; + n_build_key->m_df_type = DF_Type::Long; + n_build_key->m_rdf_type = RDF_Type::Long; + n_build_key->m_node_type = NodeType::Simple; + n_build_key->m_address = base + offset; + n_build_key->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_build_key); + + field_name = "needs_magma"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def, field_name)); + auto n_needs_magma = new NodeSimple; + n_needs_magma->m_field_name = field_name; + n_needs_magma->m_df_type = DF_Type::Bool; + n_needs_magma->m_rdf_type = RDF_Type::Bool; + n_needs_magma->m_node_type = NodeType::Simple; + n_needs_magma->m_address = base + offset; + n_needs_magma->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_needs_magma); + + field_name = "build_items"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def, field_name)); + auto n_build_items = new NodeVector; + n_build_items->m_field_name = field_name; + n_build_items->m_df_type = DF_Type::building_def_item; + n_build_items->m_rdf_type = RDF_Type::Vector; + n_build_items->m_node_type = NodeType::Vector; + n_build_items->m_defined_in = "df.building-raws.xml"; + n_build_items->m_addornements = "v*"; + n_build_items->m_address = base + offset; + n_build_items->m_parent = p_node_parent; + n_build_items->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_build_items); + + field_name = "dim_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def, field_name)); + auto n_dim_x = new NodeSimple; + n_dim_x->m_field_name = field_name; + n_dim_x->m_df_type = DF_Type::int32_t; + n_dim_x->m_rdf_type = RDF_Type::int32_t; + n_dim_x->m_node_type = NodeType::Simple; + n_dim_x->m_address = base + offset; + n_dim_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dim_x); + + field_name = "dim_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def, field_name)); + auto n_dim_y = new NodeSimple; + n_dim_y->m_field_name = field_name; + n_dim_y->m_df_type = DF_Type::int32_t; + n_dim_y->m_rdf_type = RDF_Type::int32_t; + n_dim_y->m_node_type = NodeType::Simple; + n_dim_y->m_address = base + offset; + n_dim_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dim_y); + + field_name = "workloc_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def, field_name)); + auto n_workloc_x = new NodeSimple; + n_workloc_x->m_field_name = field_name; + n_workloc_x->m_df_type = DF_Type::int32_t; + n_workloc_x->m_rdf_type = RDF_Type::int32_t; + n_workloc_x->m_node_type = NodeType::Simple; + n_workloc_x->m_address = base + offset; + n_workloc_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_workloc_x); + + field_name = "workloc_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def, field_name)); + auto n_workloc_y = new NodeSimple; + n_workloc_y->m_field_name = field_name; + n_workloc_y->m_df_type = DF_Type::int32_t; + n_workloc_y->m_rdf_type = RDF_Type::int32_t; + n_workloc_y->m_node_type = NodeType::Simple; + n_workloc_y->m_address = base + offset; + n_workloc_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_workloc_y); + + field_name = "build_labors"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def, field_name)); + auto n_build_labors = new NodeVector; + n_build_labors->m_field_name = field_name; + n_build_labors->m_df_type = DF_Type::unit_labor; + n_build_labors->m_rdf_type = RDF_Type::Vector; + n_build_labors->m_node_type = NodeType::Vector; + n_build_labors->m_enum_base = DF_Type::int32_t; + n_build_labors->m_defined_in = "df.skills.xml"; + n_build_labors->m_addornements = "v"; + n_build_labors->m_address = base + offset; + n_build_labors->m_parent = p_node_parent; + n_build_labors->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_build_labors); + + field_name = "labor_description"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def, field_name)); + auto n_labor_description = new NodeSimple; + n_labor_description->m_field_name = field_name; + n_labor_description->m_df_type = DF_Type::Stl_string; + n_labor_description->m_rdf_type = RDF_Type::Stl_string; + n_labor_description->m_node_type = NodeType::Simple; + n_labor_description->m_address = base + offset; + n_labor_description->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_labor_description); + + field_name = "build_stages"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def, field_name)); + auto n_build_stages = new NodeSimple; + n_build_stages->m_field_name = field_name; + n_build_stages->m_df_type = DF_Type::int32_t; + n_build_stages->m_rdf_type = RDF_Type::int32_t; + n_build_stages->m_node_type = NodeType::Simple; + n_build_stages->m_address = base + offset; + n_build_stages->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_build_stages); + +} +void node_from_building_def_item(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "item_type"; + auto n_item_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def_item, field_name)); + n_item_type->m_field_name = field_name; + n_item_type->m_df_type = DF_Type::item_type; + n_item_type->m_rdf_type = RDF_Type::Enum; + n_item_type->m_node_type = NodeType::Enum; + n_item_type->m_base_type = DF_Type::int16_t; + n_item_type->m_enum_type = "item_type"; + n_item_type->m_address = base + offset; + n_item_type->m_defined_in = "df.item-raws.xml"; + n_item_type->m_first_value = -1; + n_item_type->m_last_value = 90; + n_item_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_type); + + field_name = "item_subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def_item, field_name)); + auto n_item_subtype = new NodeSimple; + n_item_subtype->m_field_name = field_name; + n_item_subtype->m_df_type = DF_Type::int16_t; + n_item_subtype->m_rdf_type = RDF_Type::int16_t; + n_item_subtype->m_node_type = NodeType::Simple; + n_item_subtype->m_address = base + offset; + n_item_subtype->m_refers_to = "(item-subtype-target $$._parent.item_type $)"; + n_item_subtype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_subtype); + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def_item, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def_item, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int16_t; + n_mat_index->m_rdf_type = RDF_Type::int16_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "reaction_class"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def_item, field_name)); + auto n_reaction_class = new NodeSimple; + n_reaction_class->m_field_name = field_name; + n_reaction_class->m_df_type = DF_Type::Stl_string; + n_reaction_class->m_rdf_type = RDF_Type::Stl_string; + n_reaction_class->m_node_type = NodeType::Simple; + n_reaction_class->m_address = base + offset; + n_reaction_class->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_reaction_class); + + field_name = "has_material_reaction_product"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def_item, field_name)); + auto n_has_material_reaction_product = new NodeSimple; + n_has_material_reaction_product->m_field_name = field_name; + n_has_material_reaction_product->m_df_type = DF_Type::Stl_string; + n_has_material_reaction_product->m_rdf_type = RDF_Type::Stl_string; + n_has_material_reaction_product->m_node_type = NodeType::Simple; + n_has_material_reaction_product->m_address = base + offset; + n_has_material_reaction_product->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_has_material_reaction_product); + + field_name = "flags1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def_item, field_name)); + auto n_flags1 = new NodeBitfield; + n_flags1->m_field_name = field_name; + n_flags1->m_df_type = DF_Type::job_item_flags1; + n_flags1->m_rdf_type = RDF_Type::Bitfield; + n_flags1->m_node_type = NodeType::Bitfield; + n_flags1->m_address = base + offset; + n_flags1->m_defined_in = "df.jobs.xml"; + n_flags1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags1); + + field_name = "flags2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def_item, field_name)); + auto n_flags2 = new NodeBitfield; + n_flags2->m_field_name = field_name; + n_flags2->m_df_type = DF_Type::job_item_flags2; + n_flags2->m_rdf_type = RDF_Type::Bitfield; + n_flags2->m_node_type = NodeType::Bitfield; + n_flags2->m_address = base + offset; + n_flags2->m_defined_in = "df.jobs.xml"; + n_flags2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags2); + + field_name = "flags3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def_item, field_name)); + auto n_flags3 = new NodeBitfield; + n_flags3->m_field_name = field_name; + n_flags3->m_df_type = DF_Type::job_item_flags3; + n_flags3->m_rdf_type = RDF_Type::Bitfield; + n_flags3->m_node_type = NodeType::Bitfield; + n_flags3->m_address = base + offset; + n_flags3->m_defined_in = "df.jobs.xml"; + n_flags3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags3); + + field_name = "flags4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def_item, field_name)); + auto n_flags4 = new NodeSimple; + n_flags4->m_field_name = field_name; + n_flags4->m_df_type = DF_Type::uint32_t; + n_flags4->m_rdf_type = RDF_Type::uint32_t; + n_flags4->m_node_type = NodeType::Simple; + n_flags4->m_address = base + offset; + n_flags4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags4); + + field_name = "flags5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def_item, field_name)); + auto n_flags5 = new NodeSimple; + n_flags5->m_field_name = field_name; + n_flags5->m_df_type = DF_Type::uint32_t; + n_flags5->m_rdf_type = RDF_Type::uint32_t; + n_flags5->m_node_type = NodeType::Simple; + n_flags5->m_address = base + offset; + n_flags5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags5); + + field_name = "metal_ore"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def_item, field_name)); + auto n_metal_ore = new NodeSimple; + n_metal_ore->m_field_name = field_name; + n_metal_ore->m_df_type = DF_Type::int32_t; + n_metal_ore->m_rdf_type = RDF_Type::int32_t; + n_metal_ore->m_node_type = NodeType::Simple; + n_metal_ore->m_address = base + offset; + n_metal_ore->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_metal_ore); + + field_name = "min_dimension"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def_item, field_name)); + auto n_min_dimension = new NodeSimple; + n_min_dimension->m_field_name = field_name; + n_min_dimension->m_df_type = DF_Type::int32_t; + n_min_dimension->m_rdf_type = RDF_Type::int32_t; + n_min_dimension->m_node_type = NodeType::Simple; + n_min_dimension->m_address = base + offset; + n_min_dimension->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_min_dimension); + + field_name = "quantity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def_item, field_name)); + auto n_quantity = new NodeSimple; + n_quantity->m_field_name = field_name; + n_quantity->m_df_type = DF_Type::int32_t; + n_quantity->m_rdf_type = RDF_Type::int32_t; + n_quantity->m_node_type = NodeType::Simple; + n_quantity->m_address = base + offset; + n_quantity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_quantity); + + field_name = "has_tool_use"; + auto n_has_tool_use = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def_item, field_name)); + n_has_tool_use->m_field_name = field_name; + n_has_tool_use->m_df_type = DF_Type::tool_uses; + n_has_tool_use->m_rdf_type = RDF_Type::Enum; + n_has_tool_use->m_node_type = NodeType::Enum; + n_has_tool_use->m_base_type = DF_Type::int16_t; + n_has_tool_use->m_enum_type = "tool_uses"; + n_has_tool_use->m_address = base + offset; + n_has_tool_use->m_defined_in = "df.item-raws.xml"; + n_has_tool_use->m_first_value = -1; + n_has_tool_use->m_last_value = 22; + n_has_tool_use->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_has_tool_use); + + field_name = "item_str"; + auto n_item_str = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def_item, field_name)); + n_item_str->m_field_name = field_name; + n_item_str->m_df_type = DF_Type::Stl_string; + n_item_str->m_rdf_type = RDF_Type::Array; + n_item_str->m_node_type = NodeType::Array; + n_item_str->m_addornements = "[2"; + n_item_str->m_array_size = 2; + n_item_str->m_address = base + offset; + n_item_str->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_str); + + field_name = "material_str"; + auto n_material_str = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def_item, field_name)); + n_material_str->m_field_name = field_name; + n_material_str->m_df_type = DF_Type::Stl_string; + n_material_str->m_rdf_type = RDF_Type::Array; + n_material_str->m_node_type = NodeType::Array; + n_material_str->m_addornements = "[3"; + n_material_str->m_array_size = 3; + n_material_str->m_address = base + offset; + n_material_str->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_material_str); + + field_name = "metal_ore_str"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_def_item, field_name)); + auto n_metal_ore_str = new NodeSimple; + n_metal_ore_str->m_field_name = field_name; + n_metal_ore_str->m_df_type = DF_Type::Stl_string; + n_metal_ore_str->m_rdf_type = RDF_Type::Stl_string; + n_metal_ore_str->m_node_type = NodeType::Simple; + n_metal_ore_str->m_address = base + offset; + n_metal_ore_str->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_metal_ore_str); + +} +void node_from_building_def_workshopst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::building_def; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_building_def(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_building_def_furnacest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::building_def; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_building_def(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_building__T_job_claim_suppress(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unit"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building__T_job_claim_suppress, field_name)); + auto n_unit = new NodePointer; + n_unit->m_field_name = field_name; + n_unit->m_df_type = get_real_subtype(base+offset, DF_Type::unit); + n_unit->m_rdf_type = RDF_Type::Pointer; + n_unit->m_node_type = NodeType::Pointer; + n_unit->m_addornements = "*"; + n_unit->m_address = base + offset; + n_unit->m_parent = p_node_parent; + n_unit->m_defined_in = "df.units.xml"; + n_unit->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unit); + + field_name = "timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building__T_job_claim_suppress, field_name)); + auto n_timer = new NodeSimple; + n_timer->m_field_name = field_name; + n_timer->m_df_type = DF_Type::int32_t; + n_timer->m_rdf_type = RDF_Type::int32_t; + n_timer->m_node_type = NodeType::Simple; + n_timer->m_address = base + offset; + n_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_timer); + +} +void node_from_building__T_activities(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "activity_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building__T_activities, field_name)); + auto n_activity_id = new NodeSimple; + n_activity_id->m_field_name = field_name; + n_activity_id->m_df_type = DF_Type::int32_t; + n_activity_id->m_rdf_type = RDF_Type::int32_t; + n_activity_id->m_node_type = NodeType::Simple; + n_activity_id->m_address = base + offset; + n_activity_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_activity_id); + + field_name = "event_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building__T_activities, field_name)); + auto n_event_id = new NodeSimple; + n_event_id->m_field_name = field_name; + n_event_id->m_df_type = DF_Type::int32_t; + n_event_id->m_rdf_type = RDF_Type::int32_t; + n_event_id->m_node_type = NodeType::Simple; + n_event_id->m_address = base + offset; + n_event_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_event_id); + +} +void node_from_building(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "x1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building, field_name)); + auto n_x1 = new NodeSimple; + n_x1->m_field_name = field_name; + n_x1->m_df_type = DF_Type::int32_t; + n_x1->m_rdf_type = RDF_Type::int32_t; + n_x1->m_node_type = NodeType::Simple; + n_x1->m_address = base + offset; + n_x1->m_comment = "top left"; + n_x1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_x1); + + field_name = "y1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building, field_name)); + auto n_y1 = new NodeSimple; + n_y1->m_field_name = field_name; + n_y1->m_df_type = DF_Type::int32_t; + n_y1->m_rdf_type = RDF_Type::int32_t; + n_y1->m_node_type = NodeType::Simple; + n_y1->m_address = base + offset; + n_y1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_y1); + + field_name = "centerx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building, field_name)); + auto n_centerx = new NodeSimple; + n_centerx->m_field_name = field_name; + n_centerx->m_df_type = DF_Type::int32_t; + n_centerx->m_rdf_type = RDF_Type::int32_t; + n_centerx->m_node_type = NodeType::Simple; + n_centerx->m_address = base + offset; + n_centerx->m_comment = "work location"; + n_centerx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_centerx); + + field_name = "x2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building, field_name)); + auto n_x2 = new NodeSimple; + n_x2->m_field_name = field_name; + n_x2->m_df_type = DF_Type::int32_t; + n_x2->m_rdf_type = RDF_Type::int32_t; + n_x2->m_node_type = NodeType::Simple; + n_x2->m_address = base + offset; + n_x2->m_comment = "bottom right"; + n_x2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_x2); + + field_name = "y2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building, field_name)); + auto n_y2 = new NodeSimple; + n_y2->m_field_name = field_name; + n_y2->m_df_type = DF_Type::int32_t; + n_y2->m_rdf_type = RDF_Type::int32_t; + n_y2->m_node_type = NodeType::Simple; + n_y2->m_address = base + offset; + n_y2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_y2); + + field_name = "centery"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building, field_name)); + auto n_centery = new NodeSimple; + n_centery->m_field_name = field_name; + n_centery->m_df_type = DF_Type::int32_t; + n_centery->m_rdf_type = RDF_Type::int32_t; + n_centery->m_node_type = NodeType::Simple; + n_centery->m_address = base + offset; + n_centery->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_centery); + + field_name = "z"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building, field_name)); + auto n_z = new NodeSimple; + n_z->m_field_name = field_name; + n_z->m_df_type = DF_Type::int32_t; + n_z->m_rdf_type = RDF_Type::int32_t; + n_z->m_node_type = NodeType::Simple; + n_z->m_address = base + offset; + n_z->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_z); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::building_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_defined_in = "df.buildings.xml"; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "room"; + auto n_room = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building, field_name)); + n_room->m_field_name = field_name; + n_room->m_df_type = DF_Type::building_extents; + n_room->m_rdf_type = RDF_Type::Struct; + n_room->m_node_type = NodeType::Compound; + n_room->m_address = base + offset; + n_room->m_defined_in = "df.buildings.xml"; + n_room->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_room); + + field_name = "age"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building, field_name)); + auto n_age = new NodeSimple; + n_age->m_field_name = field_name; + n_age->m_df_type = DF_Type::int32_t; + n_age->m_rdf_type = RDF_Type::int32_t; + n_age->m_node_type = NodeType::Simple; + n_age->m_address = base + offset; + n_age->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_age); + + field_name = "race"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building, field_name)); + auto n_race = new NodeSimple; + n_race->m_field_name = field_name; + n_race->m_df_type = DF_Type::int16_t; + n_race->m_rdf_type = RDF_Type::int16_t; + n_race->m_node_type = NodeType::Simple; + n_race->m_address = base + offset; + n_race->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_race); + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "jobs"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building, field_name)); + auto n_jobs = new NodeVector; + n_jobs->m_field_name = field_name; + n_jobs->m_df_type = DF_Type::job; + n_jobs->m_rdf_type = RDF_Type::Vector; + n_jobs->m_node_type = NodeType::Vector; + n_jobs->m_defined_in = "df.jobs.xml"; + n_jobs->m_addornements = "v*"; + n_jobs->m_address = base + offset; + n_jobs->m_parent = p_node_parent; + n_jobs->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_jobs); + + field_name = "specific_refs"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building, field_name)); + auto n_specific_refs = new NodeVector; + n_specific_refs->m_field_name = field_name; + n_specific_refs->m_df_type = DF_Type::specific_ref; + n_specific_refs->m_rdf_type = RDF_Type::Vector; + n_specific_refs->m_node_type = NodeType::Vector; + n_specific_refs->m_defined_in = "df.refs.xml"; + n_specific_refs->m_addornements = "v*"; + n_specific_refs->m_address = base + offset; + n_specific_refs->m_parent = p_node_parent; + n_specific_refs->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_specific_refs); + + field_name = "general_refs"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building, field_name)); + auto n_general_refs = new NodeVector; + n_general_refs->m_field_name = field_name; + n_general_refs->m_df_type = DF_Type::general_ref; + n_general_refs->m_rdf_type = RDF_Type::Vector; + n_general_refs->m_node_type = NodeType::Vector; + n_general_refs->m_defined_in = "df.refs.xml"; + n_general_refs->m_addornements = "v*"; + n_general_refs->m_address = base + offset; + n_general_refs->m_parent = p_node_parent; + n_general_refs->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_general_refs); + + field_name = "is_room"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building, field_name)); + auto n_is_room = new NodeSimple; + n_is_room->m_field_name = field_name; + n_is_room->m_df_type = DF_Type::Bool; + n_is_room->m_rdf_type = RDF_Type::Bool; + n_is_room->m_node_type = NodeType::Simple; + n_is_room->m_address = base + offset; + n_is_room->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_is_room); + + field_name = "children"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building, field_name)); + auto n_children = new NodeVector; + n_children->m_field_name = field_name; + n_children->m_df_type = DF_Type::building; + n_children->m_rdf_type = RDF_Type::Vector; + n_children->m_node_type = NodeType::Vector; + n_children->m_defined_in = "df.buildings.xml"; + n_children->m_addornements = "v*"; + n_children->m_address = base + offset; + n_children->m_comment = "other buildings within this room"; + n_children->m_parent = p_node_parent; + n_children->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_children); + + field_name = "parents"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building, field_name)); + auto n_parents = new NodeVector; + n_parents->m_field_name = field_name; + n_parents->m_df_type = DF_Type::building; + n_parents->m_rdf_type = RDF_Type::Vector; + n_parents->m_node_type = NodeType::Vector; + n_parents->m_defined_in = "df.buildings.xml"; + n_parents->m_addornements = "v*"; + n_parents->m_address = base + offset; + n_parents->m_comment = "rooms this building belongs to"; + n_parents->m_parent = p_node_parent; + n_parents->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_parents); + + field_name = "owner_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building, field_name)); + auto n_owner_id = new NodeSimple; + n_owner_id->m_field_name = field_name; + n_owner_id->m_df_type = DF_Type::int32_t; + n_owner_id->m_rdf_type = RDF_Type::int32_t; + n_owner_id->m_node_type = NodeType::Simple; + n_owner_id->m_address = base + offset; + n_owner_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_owner_id); + + field_name = "owner"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building, field_name)); + auto n_owner = new NodePointer; + n_owner->m_field_name = field_name; + n_owner->m_df_type = get_real_subtype(base+offset, DF_Type::unit); + n_owner->m_rdf_type = RDF_Type::Pointer; + n_owner->m_node_type = NodeType::Pointer; + n_owner->m_addornements = "*"; + n_owner->m_address = base + offset; + n_owner->m_parent = p_node_parent; + n_owner->m_defined_in = "df.units.xml"; + n_owner->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_owner); + + field_name = "job_claim_suppress"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building, field_name)); + auto n_job_claim_suppress = new NodeVector; + n_job_claim_suppress->m_field_name = field_name; + n_job_claim_suppress->m_df_type = DF_Type::building__T_job_claim_suppress; + n_job_claim_suppress->m_rdf_type = RDF_Type::Vector; + n_job_claim_suppress->m_node_type = NodeType::Vector; + n_job_claim_suppress->m_addornements = "v*"; + n_job_claim_suppress->m_address = base + offset; + n_job_claim_suppress->m_comment = "after Remv Cre, prevents unit from taking jobs at building"; + n_job_claim_suppress->m_parent = p_node_parent; + n_job_claim_suppress->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_job_claim_suppress); + + field_name = "name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building, field_name)); + auto n_name = new NodeSimple; + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Stl_string; + n_name->m_node_type = NodeType::Simple; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "activities"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building, field_name)); + auto n_activities = new NodeVector; + n_activities->m_field_name = field_name; + n_activities->m_df_type = DF_Type::building__T_activities; + n_activities->m_rdf_type = RDF_Type::Vector; + n_activities->m_node_type = NodeType::Vector; + n_activities->m_addornements = "v*"; + n_activities->m_address = base + offset; + n_activities->m_parent = p_node_parent; + n_activities->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_activities); + + field_name = "world_data_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building, field_name)); + auto n_world_data_id = new NodeSimple; + n_world_data_id->m_field_name = field_name; + n_world_data_id->m_df_type = DF_Type::int32_t; + n_world_data_id->m_rdf_type = RDF_Type::int32_t; + n_world_data_id->m_node_type = NodeType::Simple; + n_world_data_id->m_address = base + offset; + n_world_data_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_world_data_id); + + field_name = "world_data_subid"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building, field_name)); + auto n_world_data_subid = new NodeSimple; + n_world_data_subid->m_field_name = field_name; + n_world_data_subid->m_df_type = DF_Type::int32_t; + n_world_data_subid->m_rdf_type = RDF_Type::int32_t; + n_world_data_subid->m_node_type = NodeType::Simple; + n_world_data_subid->m_address = base + offset; + n_world_data_subid->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_world_data_subid); + + field_name = "unk_v40_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building, field_name)); + auto n_unk_v40_2 = new NodeSimple; + n_unk_v40_2->m_field_name = field_name; + n_unk_v40_2->m_df_type = DF_Type::int32_t; + n_unk_v40_2->m_rdf_type = RDF_Type::int32_t; + n_unk_v40_2->m_node_type = NodeType::Simple; + n_unk_v40_2->m_address = base + offset; + n_unk_v40_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_2); + + field_name = "site_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building, field_name)); + auto n_site_id = new NodeSimple; + n_site_id->m_field_name = field_name; + n_site_id->m_df_type = DF_Type::int32_t; + n_site_id->m_rdf_type = RDF_Type::int32_t; + n_site_id->m_node_type = NodeType::Simple; + n_site_id->m_address = base + offset; + n_site_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_id); + + field_name = "location_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building, field_name)); + auto n_location_id = new NodeSimple; + n_location_id->m_field_name = field_name; + n_location_id->m_df_type = DF_Type::int32_t; + n_location_id->m_rdf_type = RDF_Type::int32_t; + n_location_id->m_node_type = NodeType::Simple; + n_location_id->m_address = base + offset; + n_location_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_location_id); + + field_name = "unk_v40_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building, field_name)); + auto n_unk_v40_3 = new NodeSimple; + n_unk_v40_3->m_field_name = field_name; + n_unk_v40_3->m_df_type = DF_Type::int32_t; + n_unk_v40_3->m_rdf_type = RDF_Type::int32_t; + n_unk_v40_3->m_node_type = NodeType::Simple; + n_unk_v40_3->m_address = base + offset; + n_unk_v40_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_3); + +} +void node_from_stockpile_links(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "give_to_pile"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_links, field_name)); + auto n_give_to_pile = new NodeVector; + n_give_to_pile->m_field_name = field_name; + n_give_to_pile->m_df_type = DF_Type::building; + n_give_to_pile->m_rdf_type = RDF_Type::Vector; + n_give_to_pile->m_node_type = NodeType::Vector; + n_give_to_pile->m_defined_in = "df.buildings.xml"; + n_give_to_pile->m_addornements = "v*"; + n_give_to_pile->m_address = base + offset; + n_give_to_pile->m_parent = p_node_parent; + n_give_to_pile->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_give_to_pile); + + field_name = "take_from_pile"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_links, field_name)); + auto n_take_from_pile = new NodeVector; + n_take_from_pile->m_field_name = field_name; + n_take_from_pile->m_df_type = DF_Type::building; + n_take_from_pile->m_rdf_type = RDF_Type::Vector; + n_take_from_pile->m_node_type = NodeType::Vector; + n_take_from_pile->m_defined_in = "df.buildings.xml"; + n_take_from_pile->m_addornements = "v*"; + n_take_from_pile->m_address = base + offset; + n_take_from_pile->m_parent = p_node_parent; + n_take_from_pile->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_take_from_pile); + + field_name = "give_to_workshop"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_links, field_name)); + auto n_give_to_workshop = new NodeVector; + n_give_to_workshop->m_field_name = field_name; + n_give_to_workshop->m_df_type = DF_Type::building; + n_give_to_workshop->m_rdf_type = RDF_Type::Vector; + n_give_to_workshop->m_node_type = NodeType::Vector; + n_give_to_workshop->m_defined_in = "df.buildings.xml"; + n_give_to_workshop->m_addornements = "v*"; + n_give_to_workshop->m_address = base + offset; + n_give_to_workshop->m_parent = p_node_parent; + n_give_to_workshop->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_give_to_workshop); + + field_name = "take_from_workshop"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_links, field_name)); + auto n_take_from_workshop = new NodeVector; + n_take_from_workshop->m_field_name = field_name; + n_take_from_workshop->m_df_type = DF_Type::building; + n_take_from_workshop->m_rdf_type = RDF_Type::Vector; + n_take_from_workshop->m_node_type = NodeType::Vector; + n_take_from_workshop->m_defined_in = "df.buildings.xml"; + n_take_from_workshop->m_addornements = "v*"; + n_take_from_workshop->m_address = base + offset; + n_take_from_workshop->m_parent = p_node_parent; + n_take_from_workshop->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_take_from_workshop); + +} +void node_from_building_civzonest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::building; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_building(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "assigned_units"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_civzonest, field_name)); + auto n_assigned_units = new NodeVector; + n_assigned_units->m_field_name = field_name; + n_assigned_units->m_df_type = DF_Type::int32_t; + n_assigned_units->m_rdf_type = RDF_Type::Vector; + n_assigned_units->m_node_type = NodeType::Vector; + n_assigned_units->m_addornements = "v"; + n_assigned_units->m_address = base + offset; + n_assigned_units->m_parent = p_node_parent; + n_assigned_units->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_assigned_units); + + field_name = "assigned_items"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_civzonest, field_name)); + auto n_assigned_items = new NodeVector; + n_assigned_items->m_field_name = field_name; + n_assigned_items->m_df_type = DF_Type::int32_t; + n_assigned_items->m_rdf_type = RDF_Type::Vector; + n_assigned_items->m_node_type = NodeType::Vector; + n_assigned_items->m_addornements = "v"; + n_assigned_items->m_address = base + offset; + n_assigned_items->m_parent = p_node_parent; + n_assigned_items->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_assigned_items); + + field_name = "type"; + auto n_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_civzonest, field_name)); + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::civzone_type; + n_type->m_rdf_type = RDF_Type::Enum; + n_type->m_node_type = NodeType::Enum; + n_type->m_base_type = DF_Type::int32_t; + n_type->m_enum_type = "civzone_type"; + n_type->m_address = base + offset; + n_type->m_comment = "only saved as int16"; + n_type->m_defined_in = "df.buildings.xml"; + n_type->m_first_value = 0; + n_type->m_last_value = 68; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + + field_name = "zone_flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_civzonest, field_name)); + auto n_zone_flags = new NodeBitfield; + n_zone_flags->m_field_name = field_name; + n_zone_flags->m_df_type = DF_Type::building_civzonest__T_zone_flags; + n_zone_flags->m_rdf_type = RDF_Type::Bitfield; + n_zone_flags->m_node_type = NodeType::Bitfield; + n_zone_flags->m_address = base + offset; + n_zone_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_zone_flags); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_civzonest, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_civzonest, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "zone_num"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_civzonest, field_name)); + auto n_zone_num = new NodeSimple; + n_zone_num->m_field_name = field_name; + n_zone_num->m_df_type = DF_Type::int32_t; + n_zone_num->m_rdf_type = RDF_Type::int32_t; + n_zone_num->m_node_type = NodeType::Simple; + n_zone_num->m_address = base + offset; + n_zone_num->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_zone_num); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_civzonest, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "pit_flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_civzonest, field_name)); + auto n_pit_flags = new NodeBitfield; + n_pit_flags->m_field_name = field_name; + n_pit_flags->m_df_type = DF_Type::building_civzonest__T_pit_flags; + n_pit_flags->m_rdf_type = RDF_Type::Bitfield; + n_pit_flags->m_node_type = NodeType::Bitfield; + n_pit_flags->m_address = base + offset; + n_pit_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pit_flags); + + field_name = "fill_timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_civzonest, field_name)); + auto n_fill_timer = new NodeSimple; + n_fill_timer->m_field_name = field_name; + n_fill_timer->m_df_type = DF_Type::int16_t; + n_fill_timer->m_rdf_type = RDF_Type::int16_t; + n_fill_timer->m_node_type = NodeType::Simple; + n_fill_timer->m_address = base + offset; + n_fill_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_fill_timer); + + field_name = "hospital"; + auto n_hospital = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_civzonest, field_name)); + n_hospital->m_field_name = field_name; + n_hospital->m_df_type = DF_Type::hospital_supplies; + n_hospital->m_rdf_type = RDF_Type::Struct; + n_hospital->m_node_type = NodeType::Compound; + n_hospital->m_address = base + offset; + n_hospital->m_defined_in = "df.buildings.xml"; + n_hospital->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_hospital); + + field_name = "gather_flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_civzonest, field_name)); + auto n_gather_flags = new NodeBitfield; + n_gather_flags->m_field_name = field_name; + n_gather_flags->m_df_type = DF_Type::building_civzonest__T_gather_flags; + n_gather_flags->m_rdf_type = RDF_Type::Bitfield; + n_gather_flags->m_node_type = NodeType::Bitfield; + n_gather_flags->m_address = base + offset; + n_gather_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_gather_flags); + + field_name = "unk_v4014_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_civzonest, field_name)); + auto n_unk_v4014_1 = new NodeSimple; + n_unk_v4014_1->m_field_name = field_name; + n_unk_v4014_1->m_df_type = DF_Type::int32_t; + n_unk_v4014_1->m_rdf_type = RDF_Type::int32_t; + n_unk_v4014_1->m_node_type = NodeType::Simple; + n_unk_v4014_1->m_address = base + offset; + n_unk_v4014_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v4014_1); + + field_name = "unk_v43_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_civzonest, field_name)); + auto n_unk_v43_1 = new NodeVector; + n_unk_v43_1->m_field_name = field_name; + n_unk_v43_1->m_df_type = DF_Type::Void; + n_unk_v43_1->m_rdf_type = RDF_Type::Vector; + n_unk_v43_1->m_node_type = NodeType::Vector; + n_unk_v43_1->m_addornements = "v"; + n_unk_v43_1->m_address = base + offset; + n_unk_v43_1->m_parent = p_node_parent; + n_unk_v43_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_v43_1); + +} +void node_from_building_actual__T_contained_items(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "item"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_actual__T_contained_items, field_name)); + auto n_item = new NodePointer; + n_item->m_field_name = field_name; + n_item->m_df_type = get_real_subtype(base+offset, DF_Type::item); + n_item->m_rdf_type = RDF_Type::Pointer; + n_item->m_node_type = NodeType::Pointer; + n_item->m_addornements = "*"; + n_item->m_address = base + offset; + n_item->m_parent = p_node_parent; + n_item->m_defined_in = "df.items.xml"; + n_item->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_item); + + field_name = "use_mode"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_actual__T_contained_items, field_name)); + auto n_use_mode = new NodeSimple; + n_use_mode->m_field_name = field_name; + n_use_mode->m_df_type = DF_Type::int16_t; + n_use_mode->m_rdf_type = RDF_Type::int16_t; + n_use_mode->m_node_type = NodeType::Simple; + n_use_mode->m_address = base + offset; + n_use_mode->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_use_mode); + +} +void node_from_building_actual(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::building; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_building(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "construction_stage"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_actual, field_name)); + auto n_construction_stage = new NodeSimple; + n_construction_stage->m_field_name = field_name; + n_construction_stage->m_df_type = DF_Type::int16_t; + n_construction_stage->m_rdf_type = RDF_Type::int16_t; + n_construction_stage->m_node_type = NodeType::Simple; + n_construction_stage->m_address = base + offset; + n_construction_stage->m_comment = "0 not started, then 1 or 3 max depending on type"; + n_construction_stage->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_construction_stage); + + field_name = "contained_items"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_actual, field_name)); + auto n_contained_items = new NodeVector; + n_contained_items->m_field_name = field_name; + n_contained_items->m_df_type = DF_Type::building_actual__T_contained_items; + n_contained_items->m_rdf_type = RDF_Type::Vector; + n_contained_items->m_node_type = NodeType::Vector; + n_contained_items->m_addornements = "v*"; + n_contained_items->m_address = base + offset; + n_contained_items->m_parent = p_node_parent; + n_contained_items->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_contained_items); + + field_name = "design"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_actual, field_name)); + auto n_design = new NodePointer; + n_design->m_field_name = field_name; + n_design->m_df_type = get_real_subtype(base+offset, DF_Type::building_design); + n_design->m_rdf_type = RDF_Type::Pointer; + n_design->m_node_type = NodeType::Pointer; + n_design->m_addornements = "*"; + n_design->m_address = base + offset; + n_design->m_parent = p_node_parent; + n_design->m_defined_in = "df.buildings.xml"; + n_design->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_design); + +} +void node_from_building_design(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "architect"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_design, field_name)); + auto n_architect = new NodeSimple; + n_architect->m_field_name = field_name; + n_architect->m_df_type = DF_Type::int32_t; + n_architect->m_rdf_type = RDF_Type::int32_t; + n_architect->m_node_type = NodeType::Simple; + n_architect->m_address = base + offset; + n_architect->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_architect); + + field_name = "unk2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_design, field_name)); + auto n_unk2 = new NodeSimple; + n_unk2->m_field_name = field_name; + n_unk2->m_df_type = DF_Type::int32_t; + n_unk2->m_rdf_type = RDF_Type::int32_t; + n_unk2->m_node_type = NodeType::Simple; + n_unk2->m_address = base + offset; + n_unk2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk2); + + field_name = "design_skill"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_design, field_name)); + auto n_design_skill = new NodeSimple; + n_design_skill->m_field_name = field_name; + n_design_skill->m_df_type = DF_Type::int16_t; + n_design_skill->m_rdf_type = RDF_Type::int16_t; + n_design_skill->m_node_type = NodeType::Simple; + n_design_skill->m_address = base + offset; + n_design_skill->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_design_skill); + + field_name = "builder1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_design, field_name)); + auto n_builder1 = new NodeSimple; + n_builder1->m_field_name = field_name; + n_builder1->m_df_type = DF_Type::int32_t; + n_builder1->m_rdf_type = RDF_Type::int32_t; + n_builder1->m_node_type = NodeType::Simple; + n_builder1->m_address = base + offset; + n_builder1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_builder1); + + field_name = "unk5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_design, field_name)); + auto n_unk5 = new NodeSimple; + n_unk5->m_field_name = field_name; + n_unk5->m_df_type = DF_Type::int32_t; + n_unk5->m_rdf_type = RDF_Type::int32_t; + n_unk5->m_node_type = NodeType::Simple; + n_unk5->m_address = base + offset; + n_unk5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk5); + + field_name = "build_skill"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_design, field_name)); + auto n_build_skill = new NodeSimple; + n_build_skill->m_field_name = field_name; + n_build_skill->m_df_type = DF_Type::int16_t; + n_build_skill->m_rdf_type = RDF_Type::int16_t; + n_build_skill->m_node_type = NodeType::Simple; + n_build_skill->m_address = base + offset; + n_build_skill->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_build_skill); + + field_name = "build_timer1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_design, field_name)); + auto n_build_timer1 = new NodeSimple; + n_build_timer1->m_field_name = field_name; + n_build_timer1->m_df_type = DF_Type::int16_t; + n_build_timer1->m_rdf_type = RDF_Type::int16_t; + n_build_timer1->m_node_type = NodeType::Simple; + n_build_timer1->m_address = base + offset; + n_build_timer1->m_comment = "+1 per 10 frames while building"; + n_build_timer1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_build_timer1); + + field_name = "builder2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_design, field_name)); + auto n_builder2 = new NodeSimple; + n_builder2->m_field_name = field_name; + n_builder2->m_df_type = DF_Type::int32_t; + n_builder2->m_rdf_type = RDF_Type::int32_t; + n_builder2->m_node_type = NodeType::Simple; + n_builder2->m_address = base + offset; + n_builder2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_builder2); + + field_name = "build_timer2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_design, field_name)); + auto n_build_timer2 = new NodeSimple; + n_build_timer2->m_field_name = field_name; + n_build_timer2->m_df_type = DF_Type::int16_t; + n_build_timer2->m_rdf_type = RDF_Type::int16_t; + n_build_timer2->m_node_type = NodeType::Simple; + n_build_timer2->m_address = base + offset; + n_build_timer2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_build_timer2); + + field_name = "quality1"; + auto n_quality1 = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_design, field_name)); + n_quality1->m_field_name = field_name; + n_quality1->m_df_type = DF_Type::item_quality; + n_quality1->m_rdf_type = RDF_Type::Enum; + n_quality1->m_node_type = NodeType::Enum; + n_quality1->m_base_type = DF_Type::int16_t; + n_quality1->m_enum_type = "item_quality"; + n_quality1->m_address = base + offset; + n_quality1->m_defined_in = "df.items.xml"; + n_quality1->m_first_value = 0; + n_quality1->m_last_value = 6; + n_quality1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_quality1); + + field_name = "quality2"; + auto n_quality2 = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_design, field_name)); + n_quality2->m_field_name = field_name; + n_quality2->m_df_type = DF_Type::item_quality; + n_quality2->m_rdf_type = RDF_Type::Enum; + n_quality2->m_node_type = NodeType::Enum; + n_quality2->m_base_type = DF_Type::int16_t; + n_quality2->m_enum_type = "item_quality"; + n_quality2->m_address = base + offset; + n_quality2->m_defined_in = "df.items.xml"; + n_quality2->m_first_value = 0; + n_quality2->m_last_value = 6; + n_quality2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_quality2); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_design, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::building_design__T_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "hitpoints"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_design, field_name)); + auto n_hitpoints = new NodeSimple; + n_hitpoints->m_field_name = field_name; + n_hitpoints->m_df_type = DF_Type::int32_t; + n_hitpoints->m_rdf_type = RDF_Type::int32_t; + n_hitpoints->m_node_type = NodeType::Simple; + n_hitpoints->m_address = base + offset; + n_hitpoints->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_hitpoints); + + field_name = "max_hitpoints"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_design, field_name)); + auto n_max_hitpoints = new NodeSimple; + n_max_hitpoints->m_field_name = field_name; + n_max_hitpoints->m_df_type = DF_Type::int32_t; + n_max_hitpoints->m_rdf_type = RDF_Type::int32_t; + n_max_hitpoints->m_node_type = NodeType::Simple; + n_max_hitpoints->m_address = base + offset; + n_max_hitpoints->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_max_hitpoints); + +} +void node_from_workshop_profile(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "permitted_workers"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::workshop_profile, field_name)); + auto n_permitted_workers = new NodeVector; + n_permitted_workers->m_field_name = field_name; + n_permitted_workers->m_df_type = DF_Type::int32_t; + n_permitted_workers->m_rdf_type = RDF_Type::Vector; + n_permitted_workers->m_node_type = NodeType::Vector; + n_permitted_workers->m_addornements = "v"; + n_permitted_workers->m_address = base + offset; + n_permitted_workers->m_parent = p_node_parent; + n_permitted_workers->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_permitted_workers); + + field_name = "min_level"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::workshop_profile, field_name)); + auto n_min_level = new NodeSimple; + n_min_level->m_field_name = field_name; + n_min_level->m_df_type = DF_Type::int32_t; + n_min_level->m_rdf_type = RDF_Type::int32_t; + n_min_level->m_node_type = NodeType::Simple; + n_min_level->m_address = base + offset; + n_min_level->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_min_level); + + field_name = "max_level"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::workshop_profile, field_name)); + auto n_max_level = new NodeSimple; + n_max_level->m_field_name = field_name; + n_max_level->m_df_type = DF_Type::int32_t; + n_max_level->m_rdf_type = RDF_Type::int32_t; + n_max_level->m_node_type = NodeType::Simple; + n_max_level->m_address = base + offset; + n_max_level->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_max_level); + + field_name = "links"; + auto n_links = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::workshop_profile, field_name)); + n_links->m_field_name = field_name; + n_links->m_df_type = DF_Type::stockpile_links; + n_links->m_rdf_type = RDF_Type::Struct; + n_links->m_node_type = NodeType::Compound; + n_links->m_address = base + offset; + n_links->m_defined_in = "df.buildings.xml"; + n_links->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_links); + + field_name = "max_general_orders"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::workshop_profile, field_name)); + auto n_max_general_orders = new NodeSimple; + n_max_general_orders->m_field_name = field_name; + n_max_general_orders->m_df_type = DF_Type::int32_t; + n_max_general_orders->m_rdf_type = RDF_Type::int32_t; + n_max_general_orders->m_node_type = NodeType::Simple; + n_max_general_orders->m_address = base + offset; + n_max_general_orders->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_max_general_orders); + + field_name = "block_general_orders"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::workshop_profile, field_name)); + auto n_block_general_orders = new NodeSimple; + n_block_general_orders->m_field_name = field_name; + n_block_general_orders->m_df_type = DF_Type::Bool; + n_block_general_orders->m_rdf_type = RDF_Type::Bool; + n_block_general_orders->m_node_type = NodeType::Simple; + n_block_general_orders->m_address = base + offset; + n_block_general_orders->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_block_general_orders); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::workshop_profile, field_name)); + auto n_anon_1= new NodePadding; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::Padding; + n_anon_1->m_rdf_type = RDF_Type::Padding; + n_anon_1->m_node_type = NodeType::Padding; + n_anon_1->m_address = base + offset; + n_anon_1->m_size = 3; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "blocked_labors"; + auto n_blocked_labors = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::workshop_profile, field_name)); + n_blocked_labors->m_field_name = field_name; + n_blocked_labors->m_df_type = DF_Type::Bool; + n_blocked_labors->m_rdf_type = RDF_Type::Array; + n_blocked_labors->m_node_type = NodeType::Array; + n_blocked_labors->m_index_enum = DF_Type::unit_labor; + n_blocked_labors->m_addornements = "[94"; + n_blocked_labors->m_array_size = 94; + n_blocked_labors->m_address = base + offset; + n_blocked_labors->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_blocked_labors); + +} +void node_from_building_furnacest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::building_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_building_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "melt_remainder"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_furnacest, field_name)); + auto n_melt_remainder = new NodeVector; + n_melt_remainder->m_field_name = field_name; + n_melt_remainder->m_df_type = DF_Type::int32_t; + n_melt_remainder->m_rdf_type = RDF_Type::Vector; + n_melt_remainder->m_node_type = NodeType::Vector; + n_melt_remainder->m_addornements = "v"; + n_melt_remainder->m_address = base + offset; + n_melt_remainder->m_refers_to = "(material-by-id 0 $)"; + n_melt_remainder->m_parent = p_node_parent; + n_melt_remainder->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_melt_remainder); + + field_name = "unk_108"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_furnacest, field_name)); + auto n_unk_108 = new NodeSimple; + n_unk_108->m_field_name = field_name; + n_unk_108->m_df_type = DF_Type::int16_t; + n_unk_108->m_rdf_type = RDF_Type::int16_t; + n_unk_108->m_node_type = NodeType::Simple; + n_unk_108->m_address = base + offset; + n_unk_108->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_108); + + field_name = "type"; + auto n_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_furnacest, field_name)); + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::furnace_type; + n_type->m_rdf_type = RDF_Type::Enum; + n_type->m_node_type = NodeType::Enum; + n_type->m_base_type = DF_Type::int16_t; + n_type->m_enum_type = "furnace_type"; + n_type->m_address = base + offset; + n_type->m_defined_in = "df.buildings.xml"; + n_type->m_first_value = 0; + n_type->m_last_value = 7; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + + field_name = "profile"; + auto n_profile = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_furnacest, field_name)); + n_profile->m_field_name = field_name; + n_profile->m_df_type = DF_Type::workshop_profile; + n_profile->m_rdf_type = RDF_Type::Struct; + n_profile->m_node_type = NodeType::Compound; + n_profile->m_address = base + offset; + n_profile->m_defined_in = "df.buildings.xml"; + n_profile->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_profile); + + field_name = "custom_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_furnacest, field_name)); + auto n_custom_type = new NodeSimple; + n_custom_type->m_field_name = field_name; + n_custom_type->m_df_type = DF_Type::int32_t; + n_custom_type->m_rdf_type = RDF_Type::int32_t; + n_custom_type->m_node_type = NodeType::Simple; + n_custom_type->m_address = base + offset; + n_custom_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_custom_type); + +} +void node_from_building_workshopst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::building_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_building_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "type"; + auto n_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_workshopst, field_name)); + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::workshop_type; + n_type->m_rdf_type = RDF_Type::Enum; + n_type->m_node_type = NodeType::Enum; + n_type->m_base_type = DF_Type::int16_t; + n_type->m_enum_type = "workshop_type"; + n_type->m_address = base + offset; + n_type->m_defined_in = "df.buildings.xml"; + n_type->m_first_value = 0; + n_type->m_last_value = 24; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + + field_name = "profile"; + auto n_profile = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_workshopst, field_name)); + n_profile->m_field_name = field_name; + n_profile->m_df_type = DF_Type::workshop_profile; + n_profile->m_rdf_type = RDF_Type::Struct; + n_profile->m_node_type = NodeType::Compound; + n_profile->m_address = base + offset; + n_profile->m_defined_in = "df.buildings.xml"; + n_profile->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_profile); + + field_name = "machine"; + auto n_machine = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_workshopst, field_name)); + n_machine->m_field_name = field_name; + n_machine->m_df_type = DF_Type::machine_info; + n_machine->m_rdf_type = RDF_Type::Struct; + n_machine->m_node_type = NodeType::Compound; + n_machine->m_address = base + offset; + n_machine->m_defined_in = "df.machines.xml"; + n_machine->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_machine); + + field_name = "custom_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_workshopst, field_name)); + auto n_custom_type = new NodeSimple; + n_custom_type->m_field_name = field_name; + n_custom_type->m_df_type = DF_Type::int32_t; + n_custom_type->m_rdf_type = RDF_Type::int32_t; + n_custom_type->m_node_type = NodeType::Simple; + n_custom_type->m_address = base + offset; + n_custom_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_custom_type); + +} +void node_from_building_animaltrapst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::building_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_building_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "bait_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_animaltrapst, field_name)); + auto n_bait_type = new NodeSimple; + n_bait_type->m_field_name = field_name; + n_bait_type->m_df_type = DF_Type::int16_t; + n_bait_type->m_rdf_type = RDF_Type::int16_t; + n_bait_type->m_node_type = NodeType::Simple; + n_bait_type->m_address = base + offset; + n_bait_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_bait_type); + + field_name = "fill_timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_animaltrapst, field_name)); + auto n_fill_timer = new NodeSimple; + n_fill_timer->m_field_name = field_name; + n_fill_timer->m_df_type = DF_Type::int16_t; + n_fill_timer->m_rdf_type = RDF_Type::int16_t; + n_fill_timer->m_node_type = NodeType::Simple; + n_fill_timer->m_address = base + offset; + n_fill_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_fill_timer); + +} +void node_from_building_archerytargetst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::building_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_building_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "archery_direction"; + auto n_archery_direction = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_archerytargetst, field_name)); + n_archery_direction->m_field_name = field_name; + n_archery_direction->m_df_type = DF_Type::building_archerytargetst__T_archery_direction; + n_archery_direction->m_rdf_type = RDF_Type::Enum; + n_archery_direction->m_node_type = NodeType::Enum; + n_archery_direction->m_base_type = DF_Type::int8_t; + n_archery_direction->m_enum_type = "building_archerytargetst::T_archery_direction"; + n_archery_direction->m_address = base + offset; + n_archery_direction->m_first_value = 0; + n_archery_direction->m_last_value = 3; + n_archery_direction->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_archery_direction); + +} +void node_from_building_armorstandst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::building_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_building_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk_c0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_armorstandst, field_name)); + auto n_unk_c0 = new NodeSimple; + n_unk_c0->m_field_name = field_name; + n_unk_c0->m_df_type = DF_Type::int16_t; + n_unk_c0->m_rdf_type = RDF_Type::int16_t; + n_unk_c0->m_node_type = NodeType::Simple; + n_unk_c0->m_address = base + offset; + n_unk_c0->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_c0); + + field_name = "squads"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_armorstandst, field_name)); + auto n_squads = new NodeVector; + n_squads->m_field_name = field_name; + n_squads->m_df_type = DF_Type::building_squad_use; + n_squads->m_rdf_type = RDF_Type::Vector; + n_squads->m_node_type = NodeType::Vector; + n_squads->m_defined_in = "df.buildings.xml"; + n_squads->m_addornements = "v*"; + n_squads->m_address = base + offset; + n_squads->m_parent = p_node_parent; + n_squads->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_squads); + + field_name = "specific_squad"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_armorstandst, field_name)); + auto n_specific_squad = new NodeSimple; + n_specific_squad->m_field_name = field_name; + n_specific_squad->m_df_type = DF_Type::int32_t; + n_specific_squad->m_rdf_type = RDF_Type::int32_t; + n_specific_squad->m_node_type = NodeType::Simple; + n_specific_squad->m_address = base + offset; + n_specific_squad->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_specific_squad); + + field_name = "specific_position"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_armorstandst, field_name)); + auto n_specific_position = new NodeSimple; + n_specific_position->m_field_name = field_name; + n_specific_position->m_df_type = DF_Type::int32_t; + n_specific_position->m_rdf_type = RDF_Type::int32_t; + n_specific_position->m_node_type = NodeType::Simple; + n_specific_position->m_address = base + offset; + n_specific_position->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_specific_position); + +} +void node_from_building_bars_verticalst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::building_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_building_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "gate_flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_bars_verticalst, field_name)); + auto n_gate_flags = new NodeBitfield; + n_gate_flags->m_field_name = field_name; + n_gate_flags->m_df_type = DF_Type::gate_flags; + n_gate_flags->m_rdf_type = RDF_Type::Bitfield; + n_gate_flags->m_node_type = NodeType::Bitfield; + n_gate_flags->m_address = base + offset; + n_gate_flags->m_defined_in = "df.buildings.xml"; + n_gate_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_gate_flags); + + field_name = "timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_bars_verticalst, field_name)); + auto n_timer = new NodeSimple; + n_timer->m_field_name = field_name; + n_timer->m_df_type = DF_Type::int8_t; + n_timer->m_rdf_type = RDF_Type::int8_t; + n_timer->m_node_type = NodeType::Simple; + n_timer->m_address = base + offset; + n_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_timer); + +} +void node_from_building_bars_floorst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::building_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_building_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "gate_flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_bars_floorst, field_name)); + auto n_gate_flags = new NodeBitfield; + n_gate_flags->m_field_name = field_name; + n_gate_flags->m_df_type = DF_Type::gate_flags; + n_gate_flags->m_rdf_type = RDF_Type::Bitfield; + n_gate_flags->m_node_type = NodeType::Bitfield; + n_gate_flags->m_address = base + offset; + n_gate_flags->m_defined_in = "df.buildings.xml"; + n_gate_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_gate_flags); + + field_name = "timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_bars_floorst, field_name)); + auto n_timer = new NodeSimple; + n_timer->m_field_name = field_name; + n_timer->m_df_type = DF_Type::int8_t; + n_timer->m_rdf_type = RDF_Type::int8_t; + n_timer->m_node_type = NodeType::Simple; + n_timer->m_address = base + offset; + n_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_timer); + +} +void node_from_building_bedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::building_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_building_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "bed_flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_bedst, field_name)); + auto n_bed_flags = new NodeBitfield; + n_bed_flags->m_field_name = field_name; + n_bed_flags->m_df_type = DF_Type::building_bedst__T_bed_flags; + n_bed_flags->m_rdf_type = RDF_Type::Bitfield; + n_bed_flags->m_node_type = NodeType::Bitfield; + n_bed_flags->m_address = base + offset; + n_bed_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_bed_flags); + + field_name = "squads"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_bedst, field_name)); + auto n_squads = new NodeVector; + n_squads->m_field_name = field_name; + n_squads->m_df_type = DF_Type::building_squad_use; + n_squads->m_rdf_type = RDF_Type::Vector; + n_squads->m_node_type = NodeType::Vector; + n_squads->m_defined_in = "df.buildings.xml"; + n_squads->m_addornements = "v*"; + n_squads->m_address = base + offset; + n_squads->m_parent = p_node_parent; + n_squads->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_squads); + + field_name = "specific_squad"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_bedst, field_name)); + auto n_specific_squad = new NodeSimple; + n_specific_squad->m_field_name = field_name; + n_specific_squad->m_df_type = DF_Type::int32_t; + n_specific_squad->m_rdf_type = RDF_Type::int32_t; + n_specific_squad->m_node_type = NodeType::Simple; + n_specific_squad->m_address = base + offset; + n_specific_squad->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_specific_squad); + + field_name = "specific_position"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_bedst, field_name)); + auto n_specific_position = new NodeSimple; + n_specific_position->m_field_name = field_name; + n_specific_position->m_df_type = DF_Type::int32_t; + n_specific_position->m_rdf_type = RDF_Type::int32_t; + n_specific_position->m_node_type = NodeType::Simple; + n_specific_position->m_address = base + offset; + n_specific_position->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_specific_position); + + field_name = "users"; + auto n_users = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_bedst, field_name)); + n_users->m_field_name = field_name; + n_users->m_df_type = DF_Type::building_users; + n_users->m_rdf_type = RDF_Type::Struct; + n_users->m_node_type = NodeType::Compound; + n_users->m_address = base + offset; + n_users->m_defined_in = "df.buildings.xml"; + n_users->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_users); + +} +void node_from_building_bookcasest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::building_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_building_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_building_boxst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::building_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_building_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_boxst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int16_t; + n_anon_1->m_rdf_type = RDF_Type::int16_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "squads"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_boxst, field_name)); + auto n_squads = new NodeVector; + n_squads->m_field_name = field_name; + n_squads->m_df_type = DF_Type::building_squad_use; + n_squads->m_rdf_type = RDF_Type::Vector; + n_squads->m_node_type = NodeType::Vector; + n_squads->m_defined_in = "df.buildings.xml"; + n_squads->m_addornements = "v*"; + n_squads->m_address = base + offset; + n_squads->m_parent = p_node_parent; + n_squads->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_squads); + + field_name = "specific_squad"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_boxst, field_name)); + auto n_specific_squad = new NodeSimple; + n_specific_squad->m_field_name = field_name; + n_specific_squad->m_df_type = DF_Type::int32_t; + n_specific_squad->m_rdf_type = RDF_Type::int32_t; + n_specific_squad->m_node_type = NodeType::Simple; + n_specific_squad->m_address = base + offset; + n_specific_squad->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_specific_squad); + + field_name = "specific_position"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_boxst, field_name)); + auto n_specific_position = new NodeSimple; + n_specific_position->m_field_name = field_name; + n_specific_position->m_df_type = DF_Type::int32_t; + n_specific_position->m_rdf_type = RDF_Type::int32_t; + n_specific_position->m_node_type = NodeType::Simple; + n_specific_position->m_address = base + offset; + n_specific_position->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_specific_position); + +} +void node_from_building_bridgest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::building_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_building_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "gate_flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_bridgest, field_name)); + auto n_gate_flags = new NodeBitfield; + n_gate_flags->m_field_name = field_name; + n_gate_flags->m_df_type = DF_Type::gate_flags; + n_gate_flags->m_rdf_type = RDF_Type::Bitfield; + n_gate_flags->m_node_type = NodeType::Bitfield; + n_gate_flags->m_address = base + offset; + n_gate_flags->m_defined_in = "df.buildings.xml"; + n_gate_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_gate_flags); + + field_name = "timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_bridgest, field_name)); + auto n_timer = new NodeSimple; + n_timer->m_field_name = field_name; + n_timer->m_df_type = DF_Type::int8_t; + n_timer->m_rdf_type = RDF_Type::int8_t; + n_timer->m_node_type = NodeType::Simple; + n_timer->m_address = base + offset; + n_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_timer); + + field_name = "direction"; + auto n_direction = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_bridgest, field_name)); + n_direction->m_field_name = field_name; + n_direction->m_df_type = DF_Type::building_bridgest__T_direction; + n_direction->m_rdf_type = RDF_Type::Enum; + n_direction->m_node_type = NodeType::Enum; + n_direction->m_base_type = DF_Type::int8_t; + n_direction->m_enum_type = "building_bridgest::T_direction"; + n_direction->m_address = base + offset; + n_direction->m_first_value = -1; + n_direction->m_last_value = 3; + n_direction->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_direction); + + field_name = "material_amount"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_bridgest, field_name)); + auto n_material_amount = new NodeSimple; + n_material_amount->m_field_name = field_name; + n_material_amount->m_df_type = DF_Type::int32_t; + n_material_amount->m_rdf_type = RDF_Type::int32_t; + n_material_amount->m_node_type = NodeType::Simple; + n_material_amount->m_address = base + offset; + n_material_amount->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_material_amount); + +} +void node_from_building_cabinetst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::building_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_building_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_cabinetst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int16_t; + n_anon_1->m_rdf_type = RDF_Type::int16_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "squads"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_cabinetst, field_name)); + auto n_squads = new NodeVector; + n_squads->m_field_name = field_name; + n_squads->m_df_type = DF_Type::building_squad_use; + n_squads->m_rdf_type = RDF_Type::Vector; + n_squads->m_node_type = NodeType::Vector; + n_squads->m_defined_in = "df.buildings.xml"; + n_squads->m_addornements = "v*"; + n_squads->m_address = base + offset; + n_squads->m_parent = p_node_parent; + n_squads->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_squads); + + field_name = "specific_squad"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_cabinetst, field_name)); + auto n_specific_squad = new NodeSimple; + n_specific_squad->m_field_name = field_name; + n_specific_squad->m_df_type = DF_Type::int32_t; + n_specific_squad->m_rdf_type = RDF_Type::int32_t; + n_specific_squad->m_node_type = NodeType::Simple; + n_specific_squad->m_address = base + offset; + n_specific_squad->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_specific_squad); + + field_name = "specific_position"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_cabinetst, field_name)); + auto n_specific_position = new NodeSimple; + n_specific_position->m_field_name = field_name; + n_specific_position->m_df_type = DF_Type::int32_t; + n_specific_position->m_rdf_type = RDF_Type::int32_t; + n_specific_position->m_node_type = NodeType::Simple; + n_specific_position->m_address = base + offset; + n_specific_position->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_specific_position); + +} +void node_from_building_cagest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::building_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_building_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "assigned_units"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_cagest, field_name)); + auto n_assigned_units = new NodeVector; + n_assigned_units->m_field_name = field_name; + n_assigned_units->m_df_type = DF_Type::int32_t; + n_assigned_units->m_rdf_type = RDF_Type::Vector; + n_assigned_units->m_node_type = NodeType::Vector; + n_assigned_units->m_addornements = "v"; + n_assigned_units->m_address = base + offset; + n_assigned_units->m_parent = p_node_parent; + n_assigned_units->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_assigned_units); + + field_name = "assigned_items"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_cagest, field_name)); + auto n_assigned_items = new NodeVector; + n_assigned_items->m_field_name = field_name; + n_assigned_items->m_df_type = DF_Type::int32_t; + n_assigned_items->m_rdf_type = RDF_Type::Vector; + n_assigned_items->m_node_type = NodeType::Vector; + n_assigned_items->m_addornements = "v"; + n_assigned_items->m_address = base + offset; + n_assigned_items->m_parent = p_node_parent; + n_assigned_items->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_assigned_items); + + field_name = "cage_flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_cagest, field_name)); + auto n_cage_flags = new NodeBitfield; + n_cage_flags->m_field_name = field_name; + n_cage_flags->m_df_type = DF_Type::building_cagest__T_cage_flags; + n_cage_flags->m_rdf_type = RDF_Type::Bitfield; + n_cage_flags->m_node_type = NodeType::Bitfield; + n_cage_flags->m_address = base + offset; + n_cage_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cage_flags); + + field_name = "fill_timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_cagest, field_name)); + auto n_fill_timer = new NodeSimple; + n_fill_timer->m_field_name = field_name; + n_fill_timer->m_df_type = DF_Type::int16_t; + n_fill_timer->m_rdf_type = RDF_Type::int16_t; + n_fill_timer->m_node_type = NodeType::Simple; + n_fill_timer->m_address = base + offset; + n_fill_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_fill_timer); + +} +void node_from_building_chainst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::building_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_building_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "assigned"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_chainst, field_name)); + auto n_assigned = new NodePointer; + n_assigned->m_field_name = field_name; + n_assigned->m_df_type = get_real_subtype(base+offset, DF_Type::unit); + n_assigned->m_rdf_type = RDF_Type::Pointer; + n_assigned->m_node_type = NodeType::Pointer; + n_assigned->m_addornements = "*"; + n_assigned->m_address = base + offset; + n_assigned->m_parent = p_node_parent; + n_assigned->m_defined_in = "df.units.xml"; + n_assigned->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_assigned); + + field_name = "chained"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_chainst, field_name)); + auto n_chained = new NodePointer; + n_chained->m_field_name = field_name; + n_chained->m_df_type = get_real_subtype(base+offset, DF_Type::unit); + n_chained->m_rdf_type = RDF_Type::Pointer; + n_chained->m_node_type = NodeType::Pointer; + n_chained->m_addornements = "*"; + n_chained->m_address = base + offset; + n_chained->m_parent = p_node_parent; + n_chained->m_defined_in = "df.units.xml"; + n_chained->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_chained); + + field_name = "chain_flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_chainst, field_name)); + auto n_chain_flags = new NodeBitfield; + n_chain_flags->m_field_name = field_name; + n_chain_flags->m_df_type = DF_Type::building_chainst__T_chain_flags; + n_chain_flags->m_rdf_type = RDF_Type::Bitfield; + n_chain_flags->m_node_type = NodeType::Bitfield; + n_chain_flags->m_address = base + offset; + n_chain_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_chain_flags); + +} +void node_from_building_chairst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::building_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_building_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_chairst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int16_t; + n_anon_1->m_rdf_type = RDF_Type::int16_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "users"; + auto n_users = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_chairst, field_name)); + n_users->m_field_name = field_name; + n_users->m_df_type = DF_Type::building_users; + n_users->m_rdf_type = RDF_Type::Struct; + n_users->m_node_type = NodeType::Compound; + n_users->m_address = base + offset; + n_users->m_defined_in = "df.buildings.xml"; + n_users->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_users); + +} +void node_from_building_coffinst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::building_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_building_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "burial_mode"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_coffinst, field_name)); + auto n_burial_mode = new NodeBitfield; + n_burial_mode->m_field_name = field_name; + n_burial_mode->m_df_type = DF_Type::building_coffinst__T_burial_mode; + n_burial_mode->m_rdf_type = RDF_Type::Bitfield; + n_burial_mode->m_node_type = NodeType::Bitfield; + n_burial_mode->m_address = base + offset; + n_burial_mode->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_burial_mode); + +} +void node_from_building_constructionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::building_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_building_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "type"; + auto n_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_constructionst, field_name)); + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::construction_type; + n_type->m_rdf_type = RDF_Type::Enum; + n_type->m_node_type = NodeType::Enum; + n_type->m_base_type = DF_Type::int16_t; + n_type->m_enum_type = "construction_type"; + n_type->m_address = base + offset; + n_type->m_defined_in = "df.buildings.xml"; + n_type->m_first_value = -1; + n_type->m_last_value = 36; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + +} +void node_from_building_display_furniturest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::building_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_building_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "displayed_items"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_display_furniturest, field_name)); + auto n_displayed_items = new NodeVector; + n_displayed_items->m_field_name = field_name; + n_displayed_items->m_df_type = DF_Type::int32_t; + n_displayed_items->m_rdf_type = RDF_Type::Vector; + n_displayed_items->m_node_type = NodeType::Vector; + n_displayed_items->m_addornements = "v"; + n_displayed_items->m_address = base + offset; + n_displayed_items->m_parent = p_node_parent; + n_displayed_items->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_displayed_items); + +} +void node_from_building_doorst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::building_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_building_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "door_flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_doorst, field_name)); + auto n_door_flags = new NodeBitfield; + n_door_flags->m_field_name = field_name; + n_door_flags->m_df_type = DF_Type::door_flags; + n_door_flags->m_rdf_type = RDF_Type::Bitfield; + n_door_flags->m_node_type = NodeType::Bitfield; + n_door_flags->m_address = base + offset; + n_door_flags->m_defined_in = "df.buildings.xml"; + n_door_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_door_flags); + + field_name = "close_timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_doorst, field_name)); + auto n_close_timer = new NodeSimple; + n_close_timer->m_field_name = field_name; + n_close_timer->m_df_type = DF_Type::int16_t; + n_close_timer->m_rdf_type = RDF_Type::int16_t; + n_close_timer->m_node_type = NodeType::Simple; + n_close_timer->m_address = base + offset; + n_close_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_close_timer); + +} +void node_from_building_farmplotst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::building_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_building_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "plant_id"; + auto n_plant_id = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_farmplotst, field_name)); + n_plant_id->m_field_name = field_name; + n_plant_id->m_df_type = DF_Type::int16_t; + n_plant_id->m_rdf_type = RDF_Type::Array; + n_plant_id->m_node_type = NodeType::Array; + n_plant_id->m_addornements = "[4"; + n_plant_id->m_array_size = 4; + n_plant_id->m_address = base + offset; + n_plant_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_plant_id); + + field_name = "material_amount"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_farmplotst, field_name)); + auto n_material_amount = new NodeSimple; + n_material_amount->m_field_name = field_name; + n_material_amount->m_df_type = DF_Type::int32_t; + n_material_amount->m_rdf_type = RDF_Type::int32_t; + n_material_amount->m_node_type = NodeType::Simple; + n_material_amount->m_address = base + offset; + n_material_amount->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_material_amount); + + field_name = "seasonal_fertilize"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_farmplotst, field_name)); + auto n_seasonal_fertilize = new NodeSimple; + n_seasonal_fertilize->m_field_name = field_name; + n_seasonal_fertilize->m_df_type = DF_Type::int32_t; + n_seasonal_fertilize->m_rdf_type = RDF_Type::int32_t; + n_seasonal_fertilize->m_node_type = NodeType::Simple; + n_seasonal_fertilize->m_address = base + offset; + n_seasonal_fertilize->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_seasonal_fertilize); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_farmplotst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int8_t; + n_anon_1->m_rdf_type = RDF_Type::int8_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "current_fertilization"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_farmplotst, field_name)); + auto n_current_fertilization = new NodeSimple; + n_current_fertilization->m_field_name = field_name; + n_current_fertilization->m_df_type = DF_Type::int32_t; + n_current_fertilization->m_rdf_type = RDF_Type::int32_t; + n_current_fertilization->m_node_type = NodeType::Simple; + n_current_fertilization->m_address = base + offset; + n_current_fertilization->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_current_fertilization); + + field_name = "max_fertilization"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_farmplotst, field_name)); + auto n_max_fertilization = new NodeSimple; + n_max_fertilization->m_field_name = field_name; + n_max_fertilization->m_df_type = DF_Type::int32_t; + n_max_fertilization->m_rdf_type = RDF_Type::int32_t; + n_max_fertilization->m_node_type = NodeType::Simple; + n_max_fertilization->m_address = base + offset; + n_max_fertilization->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_max_fertilization); + + field_name = "terrain_purge_timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_farmplotst, field_name)); + auto n_terrain_purge_timer = new NodeSimple; + n_terrain_purge_timer->m_field_name = field_name; + n_terrain_purge_timer->m_df_type = DF_Type::int16_t; + n_terrain_purge_timer->m_rdf_type = RDF_Type::int16_t; + n_terrain_purge_timer->m_node_type = NodeType::Simple; + n_terrain_purge_timer->m_address = base + offset; + n_terrain_purge_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_terrain_purge_timer); + +} +void node_from_building_floodgatest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::building_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_building_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "gate_flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_floodgatest, field_name)); + auto n_gate_flags = new NodeBitfield; + n_gate_flags->m_field_name = field_name; + n_gate_flags->m_df_type = DF_Type::gate_flags; + n_gate_flags->m_rdf_type = RDF_Type::Bitfield; + n_gate_flags->m_node_type = NodeType::Bitfield; + n_gate_flags->m_address = base + offset; + n_gate_flags->m_defined_in = "df.buildings.xml"; + n_gate_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_gate_flags); + + field_name = "timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_floodgatest, field_name)); + auto n_timer = new NodeSimple; + n_timer->m_field_name = field_name; + n_timer->m_df_type = DF_Type::int8_t; + n_timer->m_rdf_type = RDF_Type::int8_t; + n_timer->m_node_type = NodeType::Simple; + n_timer->m_address = base + offset; + n_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_timer); + +} +void node_from_building_grate_floorst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::building_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_building_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "gate_flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_grate_floorst, field_name)); + auto n_gate_flags = new NodeBitfield; + n_gate_flags->m_field_name = field_name; + n_gate_flags->m_df_type = DF_Type::gate_flags; + n_gate_flags->m_rdf_type = RDF_Type::Bitfield; + n_gate_flags->m_node_type = NodeType::Bitfield; + n_gate_flags->m_address = base + offset; + n_gate_flags->m_defined_in = "df.buildings.xml"; + n_gate_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_gate_flags); + + field_name = "timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_grate_floorst, field_name)); + auto n_timer = new NodeSimple; + n_timer->m_field_name = field_name; + n_timer->m_df_type = DF_Type::int8_t; + n_timer->m_rdf_type = RDF_Type::int8_t; + n_timer->m_node_type = NodeType::Simple; + n_timer->m_address = base + offset; + n_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_timer); + +} +void node_from_building_grate_wallst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::building_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_building_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "gate_flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_grate_wallst, field_name)); + auto n_gate_flags = new NodeBitfield; + n_gate_flags->m_field_name = field_name; + n_gate_flags->m_df_type = DF_Type::gate_flags; + n_gate_flags->m_rdf_type = RDF_Type::Bitfield; + n_gate_flags->m_node_type = NodeType::Bitfield; + n_gate_flags->m_address = base + offset; + n_gate_flags->m_defined_in = "df.buildings.xml"; + n_gate_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_gate_flags); + + field_name = "timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_grate_wallst, field_name)); + auto n_timer = new NodeSimple; + n_timer->m_field_name = field_name; + n_timer->m_df_type = DF_Type::int8_t; + n_timer->m_rdf_type = RDF_Type::int8_t; + n_timer->m_node_type = NodeType::Simple; + n_timer->m_address = base + offset; + n_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_timer); + +} +void node_from_building_hatchst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::building_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_building_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "door_flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_hatchst, field_name)); + auto n_door_flags = new NodeBitfield; + n_door_flags->m_field_name = field_name; + n_door_flags->m_df_type = DF_Type::door_flags; + n_door_flags->m_rdf_type = RDF_Type::Bitfield; + n_door_flags->m_node_type = NodeType::Bitfield; + n_door_flags->m_address = base + offset; + n_door_flags->m_defined_in = "df.buildings.xml"; + n_door_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_door_flags); + + field_name = "close_timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_hatchst, field_name)); + auto n_close_timer = new NodeSimple; + n_close_timer->m_field_name = field_name; + n_close_timer->m_df_type = DF_Type::int16_t; + n_close_timer->m_rdf_type = RDF_Type::int16_t; + n_close_timer->m_node_type = NodeType::Simple; + n_close_timer->m_address = base + offset; + n_close_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_close_timer); + +} +void node_from_building_hivest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::building_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_building_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "hive_flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_hivest, field_name)); + auto n_hive_flags = new NodeBitfield; + n_hive_flags->m_field_name = field_name; + n_hive_flags->m_df_type = DF_Type::hive_flags; + n_hive_flags->m_rdf_type = RDF_Type::Bitfield; + n_hive_flags->m_node_type = NodeType::Bitfield; + n_hive_flags->m_address = base + offset; + n_hive_flags->m_defined_in = "df.buildings.xml"; + n_hive_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_hive_flags); + + field_name = "split_timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_hivest, field_name)); + auto n_split_timer = new NodeSimple; + n_split_timer->m_field_name = field_name; + n_split_timer->m_df_type = DF_Type::int32_t; + n_split_timer->m_rdf_type = RDF_Type::int32_t; + n_split_timer->m_node_type = NodeType::Simple; + n_split_timer->m_address = base + offset; + n_split_timer->m_comment = "up to 100800"; + n_split_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_split_timer); + + field_name = "activity_timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_hivest, field_name)); + auto n_activity_timer = new NodeSimple; + n_activity_timer->m_field_name = field_name; + n_activity_timer->m_df_type = DF_Type::int32_t; + n_activity_timer->m_rdf_type = RDF_Type::int32_t; + n_activity_timer->m_node_type = NodeType::Simple; + n_activity_timer->m_address = base + offset; + n_activity_timer->m_comment = "up to 100800000; checks timer%hive_product.time[i]==0"; + n_activity_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_activity_timer); + + field_name = "install_timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_hivest, field_name)); + auto n_install_timer = new NodeSimple; + n_install_timer->m_field_name = field_name; + n_install_timer->m_df_type = DF_Type::int32_t; + n_install_timer->m_rdf_type = RDF_Type::int32_t; + n_install_timer->m_node_type = NodeType::Simple; + n_install_timer->m_address = base + offset; + n_install_timer->m_comment = "down from 1200"; + n_install_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_install_timer); + + field_name = "gather_timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_hivest, field_name)); + auto n_gather_timer = new NodeSimple; + n_gather_timer->m_field_name = field_name; + n_gather_timer->m_df_type = DF_Type::int32_t; + n_gather_timer->m_rdf_type = RDF_Type::int32_t; + n_gather_timer->m_node_type = NodeType::Simple; + n_gather_timer->m_address = base + offset; + n_gather_timer->m_comment = "down from 1200"; + n_gather_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_gather_timer); + +} +void node_from_building_instrumentst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::building_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_building_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_instrumentst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_building_nestst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::building_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_building_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_building_nest_boxst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::building_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_building_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "claimed_by"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_nest_boxst, field_name)); + auto n_claimed_by = new NodeSimple; + n_claimed_by->m_field_name = field_name; + n_claimed_by->m_df_type = DF_Type::int32_t; + n_claimed_by->m_rdf_type = RDF_Type::int32_t; + n_claimed_by->m_node_type = NodeType::Simple; + n_claimed_by->m_address = base + offset; + n_claimed_by->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_claimed_by); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_nest_boxst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_building_roadst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::building_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_building_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_building_road_dirtst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::building_roadst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_building_roadst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "material_amount"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_road_dirtst, field_name)); + auto n_material_amount = new NodeSimple; + n_material_amount->m_field_name = field_name; + n_material_amount->m_df_type = DF_Type::int32_t; + n_material_amount->m_rdf_type = RDF_Type::int32_t; + n_material_amount->m_node_type = NodeType::Simple; + n_material_amount->m_address = base + offset; + n_material_amount->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_material_amount); + +} +void node_from_building_road_pavedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::building_roadst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_building_roadst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "material_amount"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_road_pavedst, field_name)); + auto n_material_amount = new NodeSimple; + n_material_amount->m_field_name = field_name; + n_material_amount->m_df_type = DF_Type::int32_t; + n_material_amount->m_rdf_type = RDF_Type::int32_t; + n_material_amount->m_node_type = NodeType::Simple; + n_material_amount->m_address = base + offset; + n_material_amount->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_material_amount); + + field_name = "terrain_purge_timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_road_pavedst, field_name)); + auto n_terrain_purge_timer = new NodeSimple; + n_terrain_purge_timer->m_field_name = field_name; + n_terrain_purge_timer->m_df_type = DF_Type::int16_t; + n_terrain_purge_timer->m_rdf_type = RDF_Type::int16_t; + n_terrain_purge_timer->m_node_type = NodeType::Simple; + n_terrain_purge_timer->m_address = base + offset; + n_terrain_purge_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_terrain_purge_timer); + +} +void node_from_building_shopst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::building_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_building_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "owner"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_shopst, field_name)); + auto n_owner = new NodePointer; + n_owner->m_field_name = field_name; + n_owner->m_df_type = get_real_subtype(base+offset, DF_Type::unit); + n_owner->m_rdf_type = RDF_Type::Pointer; + n_owner->m_node_type = NodeType::Pointer; + n_owner->m_addornements = "*"; + n_owner->m_address = base + offset; + n_owner->m_parent = p_node_parent; + n_owner->m_defined_in = "df.units.xml"; + n_owner->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_owner); + + field_name = "timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_shopst, field_name)); + auto n_timer = new NodeSimple; + n_timer->m_field_name = field_name; + n_timer->m_df_type = DF_Type::int32_t; + n_timer->m_rdf_type = RDF_Type::int32_t; + n_timer->m_node_type = NodeType::Simple; + n_timer->m_address = base + offset; + n_timer->m_comment = "increments until reaching 200,000,000"; + n_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_timer); + + field_name = "shop_flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_shopst, field_name)); + auto n_shop_flags = new NodeBitfield; + n_shop_flags->m_field_name = field_name; + n_shop_flags->m_df_type = DF_Type::building_shopst__T_shop_flags; + n_shop_flags->m_rdf_type = RDF_Type::Bitfield; + n_shop_flags->m_node_type = NodeType::Bitfield; + n_shop_flags->m_address = base + offset; + n_shop_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_shop_flags); + + field_name = "type"; + auto n_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_shopst, field_name)); + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::shop_type; + n_type->m_rdf_type = RDF_Type::Enum; + n_type->m_node_type = NodeType::Enum; + n_type->m_base_type = DF_Type::int16_t; + n_type->m_enum_type = "shop_type"; + n_type->m_address = base + offset; + n_type->m_defined_in = "df.buildings.xml"; + n_type->m_first_value = 0; + n_type->m_last_value = 3; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + +} +void node_from_building_siegeenginest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::building_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_building_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "type"; + auto n_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_siegeenginest, field_name)); + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::siegeengine_type; + n_type->m_rdf_type = RDF_Type::Enum; + n_type->m_node_type = NodeType::Enum; + n_type->m_base_type = DF_Type::int16_t; + n_type->m_enum_type = "siegeengine_type"; + n_type->m_address = base + offset; + n_type->m_defined_in = "df.buildings.xml"; + n_type->m_first_value = 0; + n_type->m_last_value = 1; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + + field_name = "facing"; + auto n_facing = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_siegeenginest, field_name)); + n_facing->m_field_name = field_name; + n_facing->m_df_type = DF_Type::building_siegeenginest__T_facing; + n_facing->m_rdf_type = RDF_Type::Enum; + n_facing->m_node_type = NodeType::Enum; + n_facing->m_base_type = DF_Type::int8_t; + n_facing->m_enum_type = "building_siegeenginest::T_facing"; + n_facing->m_address = base + offset; + n_facing->m_first_value = 0; + n_facing->m_last_value = 3; + n_facing->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_facing); + + field_name = "action"; + auto n_action = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_siegeenginest, field_name)); + n_action->m_field_name = field_name; + n_action->m_df_type = DF_Type::building_siegeenginest__T_action; + n_action->m_rdf_type = RDF_Type::Enum; + n_action->m_node_type = NodeType::Enum; + n_action->m_base_type = DF_Type::int8_t; + n_action->m_enum_type = "building_siegeenginest::T_action"; + n_action->m_address = base + offset; + n_action->m_first_value = 0; + n_action->m_last_value = 2; + n_action->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_action); + + field_name = "fire_timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_siegeenginest, field_name)); + auto n_fire_timer = new NodeSimple; + n_fire_timer->m_field_name = field_name; + n_fire_timer->m_df_type = DF_Type::int8_t; + n_fire_timer->m_rdf_type = RDF_Type::int8_t; + n_fire_timer->m_node_type = NodeType::Simple; + n_fire_timer->m_address = base + offset; + n_fire_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_fire_timer); + + field_name = "fill_timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_siegeenginest, field_name)); + auto n_fill_timer = new NodeSimple; + n_fill_timer->m_field_name = field_name; + n_fill_timer->m_df_type = DF_Type::int16_t; + n_fill_timer->m_rdf_type = RDF_Type::int16_t; + n_fill_timer->m_node_type = NodeType::Simple; + n_fill_timer->m_address = base + offset; + n_fill_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_fill_timer); + +} +void node_from_building_slabst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::building_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_building_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_slabst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int16_t; + n_anon_1->m_rdf_type = RDF_Type::int16_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_building_statuest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::building_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_building_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_statuest, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int16_t; + n_anon_1->m_rdf_type = RDF_Type::int16_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_building_supportst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::building_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_building_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "support_flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_supportst, field_name)); + auto n_support_flags = new NodeBitfield; + n_support_flags->m_field_name = field_name; + n_support_flags->m_df_type = DF_Type::building_supportst__T_support_flags; + n_support_flags->m_rdf_type = RDF_Type::Bitfield; + n_support_flags->m_node_type = NodeType::Bitfield; + n_support_flags->m_address = base + offset; + n_support_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_support_flags); + +} +void node_from_building_tablest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::building_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_building_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "table_flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_tablest, field_name)); + auto n_table_flags = new NodeBitfield; + n_table_flags->m_field_name = field_name; + n_table_flags->m_df_type = DF_Type::building_tablest__T_table_flags; + n_table_flags->m_rdf_type = RDF_Type::Bitfield; + n_table_flags->m_node_type = NodeType::Bitfield; + n_table_flags->m_address = base + offset; + n_table_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_table_flags); + + field_name = "users"; + auto n_users = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_tablest, field_name)); + n_users->m_field_name = field_name; + n_users->m_df_type = DF_Type::building_users; + n_users->m_rdf_type = RDF_Type::Struct; + n_users->m_node_type = NodeType::Compound; + n_users->m_address = base + offset; + n_users->m_defined_in = "df.buildings.xml"; + n_users->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_users); + +} +void node_from_building_traction_benchst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::building_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_building_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_traction_benchst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int16_t; + n_anon_1->m_rdf_type = RDF_Type::int16_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "users"; + auto n_users = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_traction_benchst, field_name)); + n_users->m_field_name = field_name; + n_users->m_df_type = DF_Type::building_users; + n_users->m_rdf_type = RDF_Type::Struct; + n_users->m_node_type = NodeType::Compound; + n_users->m_address = base + offset; + n_users->m_defined_in = "df.buildings.xml"; + n_users->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_users); + +} +void node_from_building_tradedepotst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::building_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_building_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "trade_flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_tradedepotst, field_name)); + auto n_trade_flags = new NodeBitfield; + n_trade_flags->m_field_name = field_name; + n_trade_flags->m_df_type = DF_Type::building_tradedepotst__T_trade_flags; + n_trade_flags->m_rdf_type = RDF_Type::Bitfield; + n_trade_flags->m_node_type = NodeType::Bitfield; + n_trade_flags->m_address = base + offset; + n_trade_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_trade_flags); + + field_name = "accessible"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_tradedepotst, field_name)); + auto n_accessible = new NodeSimple; + n_accessible->m_field_name = field_name; + n_accessible->m_df_type = DF_Type::int8_t; + n_accessible->m_rdf_type = RDF_Type::int8_t; + n_accessible->m_node_type = NodeType::Simple; + n_accessible->m_address = base + offset; + n_accessible->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_accessible); + +} +void node_from_building_trapst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::building_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_building_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "trap_type"; + auto n_trap_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_trapst, field_name)); + n_trap_type->m_field_name = field_name; + n_trap_type->m_df_type = DF_Type::trap_type; + n_trap_type->m_rdf_type = RDF_Type::Enum; + n_trap_type->m_node_type = NodeType::Enum; + n_trap_type->m_base_type = DF_Type::int16_t; + n_trap_type->m_enum_type = "trap_type"; + n_trap_type->m_address = base + offset; + n_trap_type->m_defined_in = "df.buildings.xml"; + n_trap_type->m_first_value = 0; + n_trap_type->m_last_value = 5; + n_trap_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_trap_type); + + field_name = "state"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_trapst, field_name)); + auto n_state = new NodeSimple; + n_state->m_field_name = field_name; + n_state->m_df_type = DF_Type::uint8_t; + n_state->m_rdf_type = RDF_Type::uint8_t; + n_state->m_node_type = NodeType::Simple; + n_state->m_address = base + offset; + n_state->m_comment = "!=0 = pulled, tripped/needs reloading"; + n_state->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_state); + + field_name = "ready_timeout"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_trapst, field_name)); + auto n_ready_timeout = new NodeSimple; + n_ready_timeout->m_field_name = field_name; + n_ready_timeout->m_df_type = DF_Type::int16_t; + n_ready_timeout->m_rdf_type = RDF_Type::int16_t; + n_ready_timeout->m_node_type = NodeType::Simple; + n_ready_timeout->m_address = base + offset; + n_ready_timeout->m_comment = "plate not active if > 0"; + n_ready_timeout->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ready_timeout); + + field_name = "fill_timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_trapst, field_name)); + auto n_fill_timer = new NodeSimple; + n_fill_timer->m_field_name = field_name; + n_fill_timer->m_df_type = DF_Type::int16_t; + n_fill_timer->m_rdf_type = RDF_Type::int16_t; + n_fill_timer->m_node_type = NodeType::Simple; + n_fill_timer->m_address = base + offset; + n_fill_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_fill_timer); + + field_name = "stop_flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_trapst, field_name)); + auto n_stop_flags = new NodeBitfield; + n_stop_flags->m_field_name = field_name; + n_stop_flags->m_df_type = DF_Type::building_trapst__T_stop_flags; + n_stop_flags->m_rdf_type = RDF_Type::Bitfield; + n_stop_flags->m_node_type = NodeType::Bitfield; + n_stop_flags->m_address = base + offset; + n_stop_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_stop_flags); + + field_name = "linked_mechanisms"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_trapst, field_name)); + auto n_linked_mechanisms = new NodeVector; + n_linked_mechanisms->m_field_name = field_name; + n_linked_mechanisms->m_df_type = DF_Type::item; + n_linked_mechanisms->m_rdf_type = RDF_Type::Vector; + n_linked_mechanisms->m_node_type = NodeType::Vector; + n_linked_mechanisms->m_defined_in = "df.items.xml"; + n_linked_mechanisms->m_addornements = "v*"; + n_linked_mechanisms->m_address = base + offset; + n_linked_mechanisms->m_parent = p_node_parent; + n_linked_mechanisms->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_linked_mechanisms); + + field_name = "observed_by_civs"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_trapst, field_name)); + auto n_observed_by_civs = new NodeVector; + n_observed_by_civs->m_field_name = field_name; + n_observed_by_civs->m_df_type = DF_Type::int32_t; + n_observed_by_civs->m_rdf_type = RDF_Type::Vector; + n_observed_by_civs->m_node_type = NodeType::Vector; + n_observed_by_civs->m_addornements = "v"; + n_observed_by_civs->m_address = base + offset; + n_observed_by_civs->m_parent = p_node_parent; + n_observed_by_civs->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_observed_by_civs); + + field_name = "profile"; + auto n_profile = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_trapst, field_name)); + n_profile->m_field_name = field_name; + n_profile->m_df_type = DF_Type::workshop_profile; + n_profile->m_rdf_type = RDF_Type::Struct; + n_profile->m_node_type = NodeType::Compound; + n_profile->m_address = base + offset; + n_profile->m_defined_in = "df.buildings.xml"; + n_profile->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_profile); + + field_name = "plate_info"; + auto n_plate_info = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_trapst, field_name)); + n_plate_info->m_field_name = field_name; + n_plate_info->m_df_type = DF_Type::pressure_plate_info; + n_plate_info->m_rdf_type = RDF_Type::Struct; + n_plate_info->m_node_type = NodeType::Compound; + n_plate_info->m_address = base + offset; + n_plate_info->m_defined_in = "df.buildings.xml"; + n_plate_info->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_plate_info); + + field_name = "friction"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_trapst, field_name)); + auto n_friction = new NodeSimple; + n_friction->m_field_name = field_name; + n_friction->m_df_type = DF_Type::int32_t; + n_friction->m_rdf_type = RDF_Type::int32_t; + n_friction->m_node_type = NodeType::Simple; + n_friction->m_address = base + offset; + n_friction->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_friction); + + field_name = "use_dump"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_trapst, field_name)); + auto n_use_dump = new NodeSimple; + n_use_dump->m_field_name = field_name; + n_use_dump->m_df_type = DF_Type::int32_t; + n_use_dump->m_rdf_type = RDF_Type::int32_t; + n_use_dump->m_node_type = NodeType::Simple; + n_use_dump->m_address = base + offset; + n_use_dump->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_use_dump); + + field_name = "dump_x_shift"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_trapst, field_name)); + auto n_dump_x_shift = new NodeSimple; + n_dump_x_shift->m_field_name = field_name; + n_dump_x_shift->m_df_type = DF_Type::int32_t; + n_dump_x_shift->m_rdf_type = RDF_Type::int32_t; + n_dump_x_shift->m_node_type = NodeType::Simple; + n_dump_x_shift->m_address = base + offset; + n_dump_x_shift->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dump_x_shift); + + field_name = "dump_y_shift"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_trapst, field_name)); + auto n_dump_y_shift = new NodeSimple; + n_dump_y_shift->m_field_name = field_name; + n_dump_y_shift->m_df_type = DF_Type::int32_t; + n_dump_y_shift->m_rdf_type = RDF_Type::int32_t; + n_dump_y_shift->m_node_type = NodeType::Simple; + n_dump_y_shift->m_address = base + offset; + n_dump_y_shift->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dump_y_shift); + + field_name = "stop_trigger_timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_trapst, field_name)); + auto n_stop_trigger_timer = new NodeSimple; + n_stop_trigger_timer->m_field_name = field_name; + n_stop_trigger_timer->m_df_type = DF_Type::int8_t; + n_stop_trigger_timer->m_rdf_type = RDF_Type::int8_t; + n_stop_trigger_timer->m_node_type = NodeType::Simple; + n_stop_trigger_timer->m_address = base + offset; + n_stop_trigger_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_stop_trigger_timer); + +} +void node_from_building_wagonst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::building_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_building_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_building_weaponst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::building_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_building_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "gate_flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_weaponst, field_name)); + auto n_gate_flags = new NodeBitfield; + n_gate_flags->m_field_name = field_name; + n_gate_flags->m_df_type = DF_Type::gate_flags; + n_gate_flags->m_rdf_type = RDF_Type::Bitfield; + n_gate_flags->m_node_type = NodeType::Bitfield; + n_gate_flags->m_address = base + offset; + n_gate_flags->m_defined_in = "df.buildings.xml"; + n_gate_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_gate_flags); + + field_name = "timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_weaponst, field_name)); + auto n_timer = new NodeSimple; + n_timer->m_field_name = field_name; + n_timer->m_df_type = DF_Type::int8_t; + n_timer->m_rdf_type = RDF_Type::int8_t; + n_timer->m_node_type = NodeType::Simple; + n_timer->m_address = base + offset; + n_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_timer); + +} +void node_from_building_squad_use(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "squad_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_squad_use, field_name)); + auto n_squad_id = new NodeSimple; + n_squad_id->m_field_name = field_name; + n_squad_id->m_df_type = DF_Type::int32_t; + n_squad_id->m_rdf_type = RDF_Type::int32_t; + n_squad_id->m_node_type = NodeType::Simple; + n_squad_id->m_address = base + offset; + n_squad_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_squad_id); + + field_name = "mode"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_squad_use, field_name)); + auto n_mode = new NodeBitfield; + n_mode->m_field_name = field_name; + n_mode->m_df_type = DF_Type::squad_use_flags; + n_mode->m_rdf_type = RDF_Type::Bitfield; + n_mode->m_node_type = NodeType::Bitfield; + n_mode->m_address = base + offset; + n_mode->m_defined_in = "df.military.xml"; + n_mode->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mode); + +} +void node_from_building_weaponrackst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::building_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_building_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk_c0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_weaponrackst, field_name)); + auto n_unk_c0 = new NodeSimple; + n_unk_c0->m_field_name = field_name; + n_unk_c0->m_df_type = DF_Type::int16_t; + n_unk_c0->m_rdf_type = RDF_Type::int16_t; + n_unk_c0->m_node_type = NodeType::Simple; + n_unk_c0->m_address = base + offset; + n_unk_c0->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_c0); + + field_name = "squads"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_weaponrackst, field_name)); + auto n_squads = new NodeVector; + n_squads->m_field_name = field_name; + n_squads->m_df_type = DF_Type::building_squad_use; + n_squads->m_rdf_type = RDF_Type::Vector; + n_squads->m_node_type = NodeType::Vector; + n_squads->m_defined_in = "df.buildings.xml"; + n_squads->m_addornements = "v*"; + n_squads->m_address = base + offset; + n_squads->m_parent = p_node_parent; + n_squads->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_squads); + + field_name = "specific_squad"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_weaponrackst, field_name)); + auto n_specific_squad = new NodeSimple; + n_specific_squad->m_field_name = field_name; + n_specific_squad->m_df_type = DF_Type::int32_t; + n_specific_squad->m_rdf_type = RDF_Type::int32_t; + n_specific_squad->m_node_type = NodeType::Simple; + n_specific_squad->m_address = base + offset; + n_specific_squad->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_specific_squad); + +} +void node_from_building_wellst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::building_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_building_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "well_flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_wellst, field_name)); + auto n_well_flags = new NodeBitfield; + n_well_flags->m_field_name = field_name; + n_well_flags->m_df_type = DF_Type::building_wellst__T_well_flags; + n_well_flags->m_rdf_type = RDF_Type::Bitfield; + n_well_flags->m_node_type = NodeType::Bitfield; + n_well_flags->m_address = base + offset; + n_well_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_well_flags); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_wellst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int8_t; + n_anon_1->m_rdf_type = RDF_Type::int8_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "bucket_z"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_wellst, field_name)); + auto n_bucket_z = new NodeSimple; + n_bucket_z->m_field_name = field_name; + n_bucket_z->m_df_type = DF_Type::int16_t; + n_bucket_z->m_rdf_type = RDF_Type::int16_t; + n_bucket_z->m_node_type = NodeType::Simple; + n_bucket_z->m_address = base + offset; + n_bucket_z->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_bucket_z); + + field_name = "bucket_timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_wellst, field_name)); + auto n_bucket_timer = new NodeSimple; + n_bucket_timer->m_field_name = field_name; + n_bucket_timer->m_df_type = DF_Type::int8_t; + n_bucket_timer->m_rdf_type = RDF_Type::int8_t; + n_bucket_timer->m_node_type = NodeType::Simple; + n_bucket_timer->m_address = base + offset; + n_bucket_timer->m_comment = "0-9; counts up when raising, down when lowering"; + n_bucket_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_bucket_timer); + + field_name = "check_water_timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_wellst, field_name)); + auto n_check_water_timer = new NodeSimple; + n_check_water_timer->m_field_name = field_name; + n_check_water_timer->m_df_type = DF_Type::int16_t; + n_check_water_timer->m_rdf_type = RDF_Type::int16_t; + n_check_water_timer->m_node_type = NodeType::Simple; + n_check_water_timer->m_address = base + offset; + n_check_water_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_check_water_timer); + +} +void node_from_building_windowst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::building_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_building_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_windowst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int16_t; + n_anon_1->m_rdf_type = RDF_Type::int16_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_building_window_glassst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::building_windowst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_building_windowst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_building_window_gemst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::building_windowst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_building_windowst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_body_part_raw(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "token"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_raw, field_name)); + auto n_token = new NodeSimple; + n_token->m_field_name = field_name; + n_token->m_df_type = DF_Type::Stl_string; + n_token->m_rdf_type = RDF_Type::Stl_string; + n_token->m_node_type = NodeType::Simple; + n_token->m_address = base + offset; + n_token->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_token); + + field_name = "category"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_raw, field_name)); + auto n_category = new NodeSimple; + n_category->m_field_name = field_name; + n_category->m_df_type = DF_Type::Stl_string; + n_category->m_rdf_type = RDF_Type::Stl_string; + n_category->m_node_type = NodeType::Simple; + n_category->m_address = base + offset; + n_category->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_category); + + field_name = "con_part_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_raw, field_name)); + auto n_con_part_id = new NodeSimple; + n_con_part_id->m_field_name = field_name; + n_con_part_id->m_df_type = DF_Type::int16_t; + n_con_part_id->m_rdf_type = RDF_Type::int16_t; + n_con_part_id->m_node_type = NodeType::Simple; + n_con_part_id->m_address = base + offset; + n_con_part_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_con_part_id); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_raw, field_name)); + auto n_flags = new NodeDFFlagArray; + n_flags->m_field_name = field_name; + n_flags->m_index_enum = DF_Type::body_part_raw_flags; + n_flags->m_df_type = DF_Type::body_part_raw_flags; + n_flags->m_size = 39; + n_flags->m_rdf_type = RDF_Type::DFFlagArray; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_defined_in = "df.creature-raws.xml"; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "layers"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_raw, field_name)); + auto n_layers = new NodeVector; + n_layers->m_field_name = field_name; + n_layers->m_df_type = DF_Type::body_part_layer_raw; + n_layers->m_rdf_type = RDF_Type::Vector; + n_layers->m_node_type = NodeType::Vector; + n_layers->m_defined_in = "df.creature-raws.xml"; + n_layers->m_addornements = "v*"; + n_layers->m_address = base + offset; + n_layers->m_parent = p_node_parent; + n_layers->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_layers); + + field_name = "fraction_total"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_raw, field_name)); + auto n_fraction_total = new NodeSimple; + n_fraction_total->m_field_name = field_name; + n_fraction_total->m_df_type = DF_Type::int32_t; + n_fraction_total->m_rdf_type = RDF_Type::int32_t; + n_fraction_total->m_node_type = NodeType::Simple; + n_fraction_total->m_address = base + offset; + n_fraction_total->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_fraction_total); + + field_name = "fraction_base"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_raw, field_name)); + auto n_fraction_base = new NodeSimple; + n_fraction_base->m_field_name = field_name; + n_fraction_base->m_df_type = DF_Type::int32_t; + n_fraction_base->m_rdf_type = RDF_Type::int32_t; + n_fraction_base->m_node_type = NodeType::Simple; + n_fraction_base->m_address = base + offset; + n_fraction_base->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_fraction_base); + + field_name = "fraction_fat"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_raw, field_name)); + auto n_fraction_fat = new NodeSimple; + n_fraction_fat->m_field_name = field_name; + n_fraction_fat->m_df_type = DF_Type::int32_t; + n_fraction_fat->m_rdf_type = RDF_Type::int32_t; + n_fraction_fat->m_node_type = NodeType::Simple; + n_fraction_fat->m_address = base + offset; + n_fraction_fat->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_fraction_fat); + + field_name = "fraction_muscle"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_raw, field_name)); + auto n_fraction_muscle = new NodeSimple; + n_fraction_muscle->m_field_name = field_name; + n_fraction_muscle->m_df_type = DF_Type::int32_t; + n_fraction_muscle->m_rdf_type = RDF_Type::int32_t; + n_fraction_muscle->m_node_type = NodeType::Simple; + n_fraction_muscle->m_address = base + offset; + n_fraction_muscle->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_fraction_muscle); + + field_name = "relsize"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_raw, field_name)); + auto n_relsize = new NodeSimple; + n_relsize->m_field_name = field_name; + n_relsize->m_df_type = DF_Type::int32_t; + n_relsize->m_rdf_type = RDF_Type::int32_t; + n_relsize->m_node_type = NodeType::Simple; + n_relsize->m_address = base + offset; + n_relsize->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_relsize); + + field_name = "number"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_raw, field_name)); + auto n_number = new NodeSimple; + n_number->m_field_name = field_name; + n_number->m_df_type = DF_Type::int32_t; + n_number->m_rdf_type = RDF_Type::int32_t; + n_number->m_node_type = NodeType::Simple; + n_number->m_address = base + offset; + n_number->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_number); + + field_name = "unk7b"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_raw, field_name)); + auto n_unk7b = new NodeSimple; + n_unk7b->m_field_name = field_name; + n_unk7b->m_df_type = DF_Type::int16_t; + n_unk7b->m_rdf_type = RDF_Type::int16_t; + n_unk7b->m_node_type = NodeType::Simple; + n_unk7b->m_address = base + offset; + n_unk7b->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk7b); + + field_name = "name_singular"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_raw, field_name)); + auto n_name_singular = new NodeVector; + n_name_singular->m_field_name = field_name; + n_name_singular->m_df_type = DF_Type::Stl_string; + n_name_singular->m_rdf_type = RDF_Type::Vector; + n_name_singular->m_node_type = NodeType::Vector; + n_name_singular->m_addornements = "v*"; + n_name_singular->m_address = base + offset; + n_name_singular->m_parent = p_node_parent; + n_name_singular->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_name_singular); + + field_name = "name_plural"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_raw, field_name)); + auto n_name_plural = new NodeVector; + n_name_plural->m_field_name = field_name; + n_name_plural->m_df_type = DF_Type::Stl_string; + n_name_plural->m_rdf_type = RDF_Type::Vector; + n_name_plural->m_node_type = NodeType::Vector; + n_name_plural->m_addornements = "v*"; + n_name_plural->m_address = base + offset; + n_name_plural->m_parent = p_node_parent; + n_name_plural->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_name_plural); + + field_name = "bp_relation_part_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_raw, field_name)); + auto n_bp_relation_part_id = new NodePointer; + n_bp_relation_part_id->m_field_name = field_name; + n_bp_relation_part_id->m_df_type = get_real_subtype(base+offset, DF_Type::int16_t); + n_bp_relation_part_id->m_rdf_type = RDF_Type::Pointer; + n_bp_relation_part_id->m_node_type = NodeType::Pointer; + n_bp_relation_part_id->m_addornements = "*v"; + n_bp_relation_part_id->m_address = base + offset; + n_bp_relation_part_id->m_parent = p_node_parent; + n_bp_relation_part_id->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bp_relation_part_id); + + field_name = "bp_relation_code"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_raw, field_name)); + auto n_bp_relation_code = new NodePointer; + n_bp_relation_code->m_field_name = field_name; + n_bp_relation_code->m_df_type = get_real_subtype(base+offset, DF_Type::int16_t); + n_bp_relation_code->m_rdf_type = RDF_Type::Pointer; + n_bp_relation_code->m_node_type = NodeType::Pointer; + n_bp_relation_code->m_addornements = "*v"; + n_bp_relation_code->m_address = base + offset; + n_bp_relation_code->m_parent = p_node_parent; + n_bp_relation_code->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bp_relation_code); + + field_name = "bp_relation_coverage"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_raw, field_name)); + auto n_bp_relation_coverage = new NodePointer; + n_bp_relation_coverage->m_field_name = field_name; + n_bp_relation_coverage->m_df_type = get_real_subtype(base+offset, DF_Type::int16_t); + n_bp_relation_coverage->m_rdf_type = RDF_Type::Pointer; + n_bp_relation_coverage->m_node_type = NodeType::Pointer; + n_bp_relation_coverage->m_addornements = "*v"; + n_bp_relation_coverage->m_address = base + offset; + n_bp_relation_coverage->m_parent = p_node_parent; + n_bp_relation_coverage->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bp_relation_coverage); + + field_name = "min_temp"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_raw, field_name)); + auto n_min_temp = new NodeSimple; + n_min_temp->m_field_name = field_name; + n_min_temp->m_df_type = DF_Type::uint16_t; + n_min_temp->m_rdf_type = RDF_Type::uint16_t; + n_min_temp->m_node_type = NodeType::Simple; + n_min_temp->m_address = base + offset; + n_min_temp->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_min_temp); + + field_name = "max_temp"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_raw, field_name)); + auto n_max_temp = new NodeSimple; + n_max_temp->m_field_name = field_name; + n_max_temp->m_df_type = DF_Type::uint16_t; + n_max_temp->m_rdf_type = RDF_Type::uint16_t; + n_max_temp->m_node_type = NodeType::Simple; + n_max_temp->m_address = base + offset; + n_max_temp->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_max_temp); + + field_name = "temp_factor"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_raw, field_name)); + auto n_temp_factor = new NodeSimple; + n_temp_factor->m_field_name = field_name; + n_temp_factor->m_df_type = DF_Type::uint16_t; + n_temp_factor->m_rdf_type = RDF_Type::uint16_t; + n_temp_factor->m_node_type = NodeType::Simple; + n_temp_factor->m_address = base + offset; + n_temp_factor->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_temp_factor); + + field_name = "numbered_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_raw, field_name)); + auto n_numbered_idx = new NodeSimple; + n_numbered_idx->m_field_name = field_name; + n_numbered_idx->m_df_type = DF_Type::int32_t; + n_numbered_idx->m_rdf_type = RDF_Type::int32_t; + n_numbered_idx->m_node_type = NodeType::Simple; + n_numbered_idx->m_address = base + offset; + n_numbered_idx->m_comment = "defined only if number field nonzero"; + n_numbered_idx->m_refers_to = "$$._global._upglobal.numbered_masks[$]"; + n_numbered_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_numbered_idx); + + field_name = "insulation_fat"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_raw, field_name)); + auto n_insulation_fat = new NodeSimple; + n_insulation_fat->m_field_name = field_name; + n_insulation_fat->m_df_type = DF_Type::int16_t; + n_insulation_fat->m_rdf_type = RDF_Type::int16_t; + n_insulation_fat->m_node_type = NodeType::Simple; + n_insulation_fat->m_address = base + offset; + n_insulation_fat->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_insulation_fat); + + field_name = "insulation_muscle"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_raw, field_name)); + auto n_insulation_muscle = new NodeSimple; + n_insulation_muscle->m_field_name = field_name; + n_insulation_muscle->m_df_type = DF_Type::int16_t; + n_insulation_muscle->m_rdf_type = RDF_Type::int16_t; + n_insulation_muscle->m_node_type = NodeType::Simple; + n_insulation_muscle->m_address = base + offset; + n_insulation_muscle->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_insulation_muscle); + + field_name = "insulation_base"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_raw, field_name)); + auto n_insulation_base = new NodeSimple; + n_insulation_base->m_field_name = field_name; + n_insulation_base->m_df_type = DF_Type::int16_t; + n_insulation_base->m_rdf_type = RDF_Type::int16_t; + n_insulation_base->m_node_type = NodeType::Simple; + n_insulation_base->m_address = base + offset; + n_insulation_base->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_insulation_base); + + field_name = "clothing_item_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_raw, field_name)); + auto n_clothing_item_id = new NodeSimple; + n_clothing_item_id->m_field_name = field_name; + n_clothing_item_id->m_df_type = DF_Type::int32_t; + n_clothing_item_id->m_rdf_type = RDF_Type::int32_t; + n_clothing_item_id->m_node_type = NodeType::Simple; + n_clothing_item_id->m_address = base + offset; + n_clothing_item_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_clothing_item_id); + +} +void node_from_body_appearance_modifier(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "type"; + auto n_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_appearance_modifier, field_name)); + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::appearance_modifier_type; + n_type->m_rdf_type = RDF_Type::Enum; + n_type->m_node_type = NodeType::Enum; + n_type->m_base_type = DF_Type::int16_t; + n_type->m_enum_type = "appearance_modifier_type"; + n_type->m_address = base + offset; + n_type->m_defined_in = "df.creature-raws.xml"; + n_type->m_first_value = 0; + n_type->m_last_value = 23; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + + field_name = "ranges"; + auto n_ranges = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_appearance_modifier, field_name)); + n_ranges->m_field_name = field_name; + n_ranges->m_df_type = DF_Type::int32_t; + n_ranges->m_rdf_type = RDF_Type::Array; + n_ranges->m_node_type = NodeType::Array; + n_ranges->m_addornements = "[7"; + n_ranges->m_array_size = 7; + n_ranges->m_address = base + offset; + n_ranges->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ranges); + + field_name = "desc_range"; + auto n_desc_range = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_appearance_modifier, field_name)); + n_desc_range->m_field_name = field_name; + n_desc_range->m_df_type = DF_Type::int32_t; + n_desc_range->m_rdf_type = RDF_Type::Array; + n_desc_range->m_node_type = NodeType::Array; + n_desc_range->m_addornements = "[6"; + n_desc_range->m_array_size = 6; + n_desc_range->m_address = base + offset; + n_desc_range->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_desc_range); + + field_name = "growth_rate"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_appearance_modifier, field_name)); + auto n_growth_rate = new NodeSimple; + n_growth_rate->m_field_name = field_name; + n_growth_rate->m_df_type = DF_Type::int32_t; + n_growth_rate->m_rdf_type = RDF_Type::int32_t; + n_growth_rate->m_node_type = NodeType::Simple; + n_growth_rate->m_address = base + offset; + n_growth_rate->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_growth_rate); + + field_name = "growth_interval"; + auto n_growth_interval = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_appearance_modifier, field_name)); + n_growth_interval->m_field_name = field_name; + n_growth_interval->m_df_type = DF_Type::appearance_modifier_growth_interval; + n_growth_interval->m_rdf_type = RDF_Type::Enum; + n_growth_interval->m_node_type = NodeType::Enum; + n_growth_interval->m_base_type = DF_Type::int16_t; + n_growth_interval->m_enum_type = "appearance_modifier_growth_interval"; + n_growth_interval->m_address = base + offset; + n_growth_interval->m_defined_in = "df.creature-raws.xml"; + n_growth_interval->m_first_value = 0; + n_growth_interval->m_last_value = 3; + n_growth_interval->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_growth_interval); + + field_name = "growth_min"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_appearance_modifier, field_name)); + auto n_growth_min = new NodeSimple; + n_growth_min->m_field_name = field_name; + n_growth_min->m_df_type = DF_Type::int32_t; + n_growth_min->m_rdf_type = RDF_Type::int32_t; + n_growth_min->m_node_type = NodeType::Simple; + n_growth_min->m_address = base + offset; + n_growth_min->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_growth_min); + + field_name = "growth_max"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_appearance_modifier, field_name)); + auto n_growth_max = new NodeSimple; + n_growth_max->m_field_name = field_name; + n_growth_max->m_df_type = DF_Type::int32_t; + n_growth_max->m_rdf_type = RDF_Type::int32_t; + n_growth_max->m_node_type = NodeType::Simple; + n_growth_max->m_address = base + offset; + n_growth_max->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_growth_max); + + field_name = "growth_start"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_appearance_modifier, field_name)); + auto n_growth_start = new NodeSimple; + n_growth_start->m_field_name = field_name; + n_growth_start->m_df_type = DF_Type::int32_t; + n_growth_start->m_rdf_type = RDF_Type::int32_t; + n_growth_start->m_node_type = NodeType::Simple; + n_growth_start->m_address = base + offset; + n_growth_start->m_comment = "in days"; + n_growth_start->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_growth_start); + + field_name = "growth_end"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_appearance_modifier, field_name)); + auto n_growth_end = new NodeSimple; + n_growth_end->m_field_name = field_name; + n_growth_end->m_df_type = DF_Type::int32_t; + n_growth_end->m_rdf_type = RDF_Type::int32_t; + n_growth_end->m_node_type = NodeType::Simple; + n_growth_end->m_address = base + offset; + n_growth_end->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_growth_end); + + field_name = "importance"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_appearance_modifier, field_name)); + auto n_importance = new NodeSimple; + n_importance->m_field_name = field_name; + n_importance->m_df_type = DF_Type::int32_t; + n_importance->m_rdf_type = RDF_Type::int32_t; + n_importance->m_node_type = NodeType::Simple; + n_importance->m_address = base + offset; + n_importance->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_importance); + + field_name = "noun"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_appearance_modifier, field_name)); + auto n_noun = new NodeSimple; + n_noun->m_field_name = field_name; + n_noun->m_df_type = DF_Type::Stl_string; + n_noun->m_rdf_type = RDF_Type::Stl_string; + n_noun->m_node_type = NodeType::Simple; + n_noun->m_address = base + offset; + n_noun->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_noun); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_appearance_modifier, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int16_t; + n_anon_1->m_rdf_type = RDF_Type::int16_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_appearance_modifier, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int16_t; + n_anon_2->m_rdf_type = RDF_Type::int16_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_appearance_modifier, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "id2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_appearance_modifier, field_name)); + auto n_id2 = new NodeSimple; + n_id2->m_field_name = field_name; + n_id2->m_df_type = DF_Type::int32_t; + n_id2->m_rdf_type = RDF_Type::int32_t; + n_id2->m_node_type = NodeType::Simple; + n_id2->m_address = base + offset; + n_id2->m_comment = "same as id"; + n_id2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id2); + +} +void node_from_bp_appearance_modifier(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "type"; + auto n_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::bp_appearance_modifier, field_name)); + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::appearance_modifier_type; + n_type->m_rdf_type = RDF_Type::Enum; + n_type->m_node_type = NodeType::Enum; + n_type->m_base_type = DF_Type::int16_t; + n_type->m_enum_type = "appearance_modifier_type"; + n_type->m_address = base + offset; + n_type->m_defined_in = "df.creature-raws.xml"; + n_type->m_first_value = 0; + n_type->m_last_value = 23; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + + field_name = "ranges"; + auto n_ranges = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::bp_appearance_modifier, field_name)); + n_ranges->m_field_name = field_name; + n_ranges->m_df_type = DF_Type::int32_t; + n_ranges->m_rdf_type = RDF_Type::Array; + n_ranges->m_node_type = NodeType::Array; + n_ranges->m_addornements = "[7"; + n_ranges->m_array_size = 7; + n_ranges->m_address = base + offset; + n_ranges->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ranges); + + field_name = "desc_range"; + auto n_desc_range = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::bp_appearance_modifier, field_name)); + n_desc_range->m_field_name = field_name; + n_desc_range->m_df_type = DF_Type::int32_t; + n_desc_range->m_rdf_type = RDF_Type::Array; + n_desc_range->m_node_type = NodeType::Array; + n_desc_range->m_addornements = "[6"; + n_desc_range->m_array_size = 6; + n_desc_range->m_address = base + offset; + n_desc_range->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_desc_range); + + field_name = "growth_rate"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::bp_appearance_modifier, field_name)); + auto n_growth_rate = new NodeSimple; + n_growth_rate->m_field_name = field_name; + n_growth_rate->m_df_type = DF_Type::int32_t; + n_growth_rate->m_rdf_type = RDF_Type::int32_t; + n_growth_rate->m_node_type = NodeType::Simple; + n_growth_rate->m_address = base + offset; + n_growth_rate->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_growth_rate); + + field_name = "growth_interval"; + auto n_growth_interval = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::bp_appearance_modifier, field_name)); + n_growth_interval->m_field_name = field_name; + n_growth_interval->m_df_type = DF_Type::appearance_modifier_growth_interval; + n_growth_interval->m_rdf_type = RDF_Type::Enum; + n_growth_interval->m_node_type = NodeType::Enum; + n_growth_interval->m_base_type = DF_Type::int16_t; + n_growth_interval->m_enum_type = "appearance_modifier_growth_interval"; + n_growth_interval->m_address = base + offset; + n_growth_interval->m_defined_in = "df.creature-raws.xml"; + n_growth_interval->m_first_value = 0; + n_growth_interval->m_last_value = 3; + n_growth_interval->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_growth_interval); + + field_name = "growth_min"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::bp_appearance_modifier, field_name)); + auto n_growth_min = new NodeSimple; + n_growth_min->m_field_name = field_name; + n_growth_min->m_df_type = DF_Type::int32_t; + n_growth_min->m_rdf_type = RDF_Type::int32_t; + n_growth_min->m_node_type = NodeType::Simple; + n_growth_min->m_address = base + offset; + n_growth_min->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_growth_min); + + field_name = "growth_max"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::bp_appearance_modifier, field_name)); + auto n_growth_max = new NodeSimple; + n_growth_max->m_field_name = field_name; + n_growth_max->m_df_type = DF_Type::int32_t; + n_growth_max->m_rdf_type = RDF_Type::int32_t; + n_growth_max->m_node_type = NodeType::Simple; + n_growth_max->m_address = base + offset; + n_growth_max->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_growth_max); + + field_name = "growth_start"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::bp_appearance_modifier, field_name)); + auto n_growth_start = new NodeSimple; + n_growth_start->m_field_name = field_name; + n_growth_start->m_df_type = DF_Type::int32_t; + n_growth_start->m_rdf_type = RDF_Type::int32_t; + n_growth_start->m_node_type = NodeType::Simple; + n_growth_start->m_address = base + offset; + n_growth_start->m_comment = "in days"; + n_growth_start->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_growth_start); + + field_name = "growth_end"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::bp_appearance_modifier, field_name)); + auto n_growth_end = new NodeSimple; + n_growth_end->m_field_name = field_name; + n_growth_end->m_df_type = DF_Type::int32_t; + n_growth_end->m_rdf_type = RDF_Type::int32_t; + n_growth_end->m_node_type = NodeType::Simple; + n_growth_end->m_address = base + offset; + n_growth_end->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_growth_end); + + field_name = "importance"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::bp_appearance_modifier, field_name)); + auto n_importance = new NodeSimple; + n_importance->m_field_name = field_name; + n_importance->m_df_type = DF_Type::int32_t; + n_importance->m_rdf_type = RDF_Type::int32_t; + n_importance->m_node_type = NodeType::Simple; + n_importance->m_address = base + offset; + n_importance->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_importance); + + field_name = "noun"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::bp_appearance_modifier, field_name)); + auto n_noun = new NodeSimple; + n_noun->m_field_name = field_name; + n_noun->m_df_type = DF_Type::Stl_string; + n_noun->m_rdf_type = RDF_Type::Stl_string; + n_noun->m_node_type = NodeType::Simple; + n_noun->m_address = base + offset; + n_noun->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_noun); + + field_name = "single_plural"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::bp_appearance_modifier, field_name)); + auto n_single_plural = new NodeSimple; + n_single_plural->m_field_name = field_name; + n_single_plural->m_df_type = DF_Type::int16_t; + n_single_plural->m_rdf_type = RDF_Type::int16_t; + n_single_plural->m_node_type = NodeType::Simple; + n_single_plural->m_address = base + offset; + n_single_plural->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_single_plural); + + field_name = "unk1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::bp_appearance_modifier, field_name)); + auto n_unk1 = new NodeSimple; + n_unk1->m_field_name = field_name; + n_unk1->m_df_type = DF_Type::int16_t; + n_unk1->m_rdf_type = RDF_Type::int16_t; + n_unk1->m_node_type = NodeType::Simple; + n_unk1->m_address = base + offset; + n_unk1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk1); + + field_name = "id1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::bp_appearance_modifier, field_name)); + auto n_id1 = new NodeSimple; + n_id1->m_field_name = field_name; + n_id1->m_df_type = DF_Type::int32_t; + n_id1->m_rdf_type = RDF_Type::int32_t; + n_id1->m_node_type = NodeType::Simple; + n_id1->m_address = base + offset; + n_id1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id1); + + field_name = "body_parts"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::bp_appearance_modifier, field_name)); + auto n_body_parts = new NodeVector; + n_body_parts->m_field_name = field_name; + n_body_parts->m_df_type = DF_Type::int16_t; + n_body_parts->m_rdf_type = RDF_Type::Vector; + n_body_parts->m_node_type = NodeType::Vector; + n_body_parts->m_addornements = "v"; + n_body_parts->m_address = base + offset; + n_body_parts->m_parent = p_node_parent; + n_body_parts->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_body_parts); + + field_name = "tissue_layer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::bp_appearance_modifier, field_name)); + auto n_tissue_layer = new NodeVector; + n_tissue_layer->m_field_name = field_name; + n_tissue_layer->m_df_type = DF_Type::int16_t; + n_tissue_layer->m_rdf_type = RDF_Type::Vector; + n_tissue_layer->m_node_type = NodeType::Vector; + n_tissue_layer->m_addornements = "v"; + n_tissue_layer->m_address = base + offset; + n_tissue_layer->m_parent = p_node_parent; + n_tissue_layer->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_tissue_layer); + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::bp_appearance_modifier, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + +} +void node_from_caste_clothing_item(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "body_part_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_clothing_item, field_name)); + auto n_body_part_id = new NodeSimple; + n_body_part_id->m_field_name = field_name; + n_body_part_id->m_df_type = DF_Type::int16_t; + n_body_part_id->m_rdf_type = RDF_Type::int16_t; + n_body_part_id->m_node_type = NodeType::Simple; + n_body_part_id->m_address = base + offset; + n_body_part_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_body_part_id); + + field_name = "unk_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_clothing_item, field_name)); + auto n_unk_4 = new NodeSimple; + n_unk_4->m_field_name = field_name; + n_unk_4->m_df_type = DF_Type::int32_t; + n_unk_4->m_rdf_type = RDF_Type::int32_t; + n_unk_4->m_node_type = NodeType::Simple; + n_unk_4->m_address = base + offset; + n_unk_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_4); + + field_name = "item"; + auto n_item = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_clothing_item, field_name)); + n_item->m_field_name = field_name; + n_item->m_df_type = DF_Type::item; + n_item->m_rdf_type = RDF_Type::Array; + n_item->m_comment = "under, over, cover"; + n_item->m_node_type = NodeType::Array; + n_item->m_defined_in = "df.items.xml"; + n_item->m_addornements = "[3*"; + n_item->m_array_size = 3; + n_item->m_address = base + offset; + n_item->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item); + + field_name = "unk_14"; + auto n_unk_14 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_clothing_item, field_name)); + n_unk_14->m_field_name = field_name; + n_unk_14->m_df_type = DF_Type::int32_t; + n_unk_14->m_rdf_type = RDF_Type::Array; + n_unk_14->m_node_type = NodeType::Array; + n_unk_14->m_addornements = "[3"; + n_unk_14->m_array_size = 3; + n_unk_14->m_address = base + offset; + n_unk_14->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_14); + + field_name = "size"; + auto n_size = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_clothing_item, field_name)); + n_size->m_field_name = field_name; + n_size->m_df_type = DF_Type::int32_t; + n_size->m_rdf_type = RDF_Type::Array; + n_size->m_node_type = NodeType::Array; + n_size->m_addornements = "[3"; + n_size->m_array_size = 3; + n_size->m_address = base + offset; + n_size->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_size); + + field_name = "permit"; + auto n_permit = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_clothing_item, field_name)); + n_permit->m_field_name = field_name; + n_permit->m_df_type = DF_Type::int32_t; + n_permit->m_rdf_type = RDF_Type::Array; + n_permit->m_node_type = NodeType::Array; + n_permit->m_addornements = "[3"; + n_permit->m_array_size = 3; + n_permit->m_address = base + offset; + n_permit->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_permit); + + field_name = "unk_38"; + auto n_unk_38 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_clothing_item, field_name)); + n_unk_38->m_field_name = field_name; + n_unk_38->m_df_type = DF_Type::int32_t; + n_unk_38->m_rdf_type = RDF_Type::Array; + n_unk_38->m_node_type = NodeType::Array; + n_unk_38->m_addornements = "[3"; + n_unk_38->m_array_size = 3; + n_unk_38->m_address = base + offset; + n_unk_38->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_38); + +} +void node_from_caste_attack(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_attack, field_name)); + auto n_name = new NodeSimple; + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Stl_string; + n_name->m_node_type = NodeType::Simple; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "verb_3rd"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_attack, field_name)); + auto n_verb_3rd = new NodeSimple; + n_verb_3rd->m_field_name = field_name; + n_verb_3rd->m_df_type = DF_Type::Stl_string; + n_verb_3rd->m_rdf_type = RDF_Type::Stl_string; + n_verb_3rd->m_node_type = NodeType::Simple; + n_verb_3rd->m_address = base + offset; + n_verb_3rd->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_verb_3rd); + + field_name = "verb_2nd"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_attack, field_name)); + auto n_verb_2nd = new NodeSimple; + n_verb_2nd->m_field_name = field_name; + n_verb_2nd->m_df_type = DF_Type::Stl_string; + n_verb_2nd->m_rdf_type = RDF_Type::Stl_string; + n_verb_2nd->m_node_type = NodeType::Simple; + n_verb_2nd->m_address = base + offset; + n_verb_2nd->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_verb_2nd); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_attack, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::caste_attack__T_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "specialattack_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_attack, field_name)); + auto n_specialattack_type = new NodeVector; + n_specialattack_type->m_field_name = field_name; + n_specialattack_type->m_df_type = DF_Type::int32_t; + n_specialattack_type->m_rdf_type = RDF_Type::Vector; + n_specialattack_type->m_node_type = NodeType::Vector; + n_specialattack_type->m_addornements = "v"; + n_specialattack_type->m_address = base + offset; + n_specialattack_type->m_comment = "0 = inject extract, 1 = suck blood, 2 = perform interaction"; + n_specialattack_type->m_parent = p_node_parent; + n_specialattack_type->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_specialattack_type); + + field_name = "specialattack_mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_attack, field_name)); + auto n_specialattack_mat_type = new NodeVector; + n_specialattack_mat_type->m_field_name = field_name; + n_specialattack_mat_type->m_df_type = DF_Type::int16_t; + n_specialattack_mat_type->m_rdf_type = RDF_Type::Vector; + n_specialattack_mat_type->m_node_type = NodeType::Vector; + n_specialattack_mat_type->m_addornements = "v"; + n_specialattack_mat_type->m_address = base + offset; + n_specialattack_mat_type->m_comment = "extract injected"; + n_specialattack_mat_type->m_parent = p_node_parent; + n_specialattack_mat_type->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_specialattack_mat_type); + + field_name = "specialattack_mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_attack, field_name)); + auto n_specialattack_mat_index = new NodeVector; + n_specialattack_mat_index->m_field_name = field_name; + n_specialattack_mat_index->m_df_type = DF_Type::int32_t; + n_specialattack_mat_index->m_rdf_type = RDF_Type::Vector; + n_specialattack_mat_index->m_node_type = NodeType::Vector; + n_specialattack_mat_index->m_addornements = "v"; + n_specialattack_mat_index->m_address = base + offset; + n_specialattack_mat_index->m_parent = p_node_parent; + n_specialattack_mat_index->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_specialattack_mat_index); + + field_name = "specialattack_mat_state"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_attack, field_name)); + auto n_specialattack_mat_state = new NodeVector; + n_specialattack_mat_state->m_field_name = field_name; + n_specialattack_mat_state->m_df_type = DF_Type::matter_state; + n_specialattack_mat_state->m_rdf_type = RDF_Type::Vector; + n_specialattack_mat_state->m_node_type = NodeType::Vector; + n_specialattack_mat_state->m_enum_base = DF_Type::int16_t; + n_specialattack_mat_state->m_defined_in = "df.materials.xml"; + n_specialattack_mat_state->m_addornements = "v"; + n_specialattack_mat_state->m_address = base + offset; + n_specialattack_mat_state->m_parent = p_node_parent; + n_specialattack_mat_state->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_specialattack_mat_state); + + field_name = "specialattack_temp_mat"; + auto n_specialattack_temp_mat = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_attack, field_name)); + n_specialattack_temp_mat->m_field_name = field_name; + n_specialattack_temp_mat->m_df_type = DF_Type::Stl_string; + n_specialattack_temp_mat->m_rdf_type = RDF_Type::Array; + n_specialattack_temp_mat->m_comment = "parsed during second pass"; + n_specialattack_temp_mat->m_node_type = NodeType::Array; + n_specialattack_temp_mat->m_addornements = "[3v*"; + n_specialattack_temp_mat->m_array_size = 3; + n_specialattack_temp_mat->m_address = base + offset; + n_specialattack_temp_mat->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_specialattack_temp_mat); + + field_name = "specialattack_min"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_attack, field_name)); + auto n_specialattack_min = new NodeVector; + n_specialattack_min->m_field_name = field_name; + n_specialattack_min->m_df_type = DF_Type::int32_t; + n_specialattack_min->m_rdf_type = RDF_Type::Vector; + n_specialattack_min->m_node_type = NodeType::Vector; + n_specialattack_min->m_addornements = "v"; + n_specialattack_min->m_address = base + offset; + n_specialattack_min->m_comment = "amount of extract injected or blood sucked"; + n_specialattack_min->m_parent = p_node_parent; + n_specialattack_min->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_specialattack_min); + + field_name = "specialattack_max"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_attack, field_name)); + auto n_specialattack_max = new NodeVector; + n_specialattack_max->m_field_name = field_name; + n_specialattack_max->m_df_type = DF_Type::int32_t; + n_specialattack_max->m_rdf_type = RDF_Type::Vector; + n_specialattack_max->m_node_type = NodeType::Vector; + n_specialattack_max->m_addornements = "v"; + n_specialattack_max->m_address = base + offset; + n_specialattack_max->m_parent = p_node_parent; + n_specialattack_max->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_specialattack_max); + + field_name = "contact_perc"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_attack, field_name)); + auto n_contact_perc = new NodeSimple; + n_contact_perc->m_field_name = field_name; + n_contact_perc->m_df_type = DF_Type::int32_t; + n_contact_perc->m_rdf_type = RDF_Type::int32_t; + n_contact_perc->m_node_type = NodeType::Simple; + n_contact_perc->m_address = base + offset; + n_contact_perc->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_contact_perc); + + field_name = "penetration_perc"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_attack, field_name)); + auto n_penetration_perc = new NodeSimple; + n_penetration_perc->m_field_name = field_name; + n_penetration_perc->m_df_type = DF_Type::int32_t; + n_penetration_perc->m_rdf_type = RDF_Type::int32_t; + n_penetration_perc->m_node_type = NodeType::Simple; + n_penetration_perc->m_address = base + offset; + n_penetration_perc->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_penetration_perc); + + field_name = "unk_v40_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_attack, field_name)); + auto n_unk_v40_1 = new NodeSimple; + n_unk_v40_1->m_field_name = field_name; + n_unk_v40_1->m_df_type = DF_Type::int16_t; + n_unk_v40_1->m_rdf_type = RDF_Type::int16_t; + n_unk_v40_1->m_node_type = NodeType::Simple; + n_unk_v40_1->m_address = base + offset; + n_unk_v40_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_1); + + field_name = "unk_v40_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_attack, field_name)); + auto n_unk_v40_2 = new NodeSimple; + n_unk_v40_2->m_field_name = field_name; + n_unk_v40_2->m_df_type = DF_Type::int16_t; + n_unk_v40_2->m_rdf_type = RDF_Type::int16_t; + n_unk_v40_2->m_node_type = NodeType::Simple; + n_unk_v40_2->m_address = base + offset; + n_unk_v40_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_2); + + field_name = "body_part_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_attack, field_name)); + auto n_body_part_idx = new NodeVector; + n_body_part_idx->m_field_name = field_name; + n_body_part_idx->m_df_type = DF_Type::int16_t; + n_body_part_idx->m_rdf_type = RDF_Type::Vector; + n_body_part_idx->m_node_type = NodeType::Vector; + n_body_part_idx->m_addornements = "v"; + n_body_part_idx->m_address = base + offset; + n_body_part_idx->m_parent = p_node_parent; + n_body_part_idx->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_body_part_idx); + + field_name = "tissue_layer_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_attack, field_name)); + auto n_tissue_layer_idx = new NodeVector; + n_tissue_layer_idx->m_field_name = field_name; + n_tissue_layer_idx->m_df_type = DF_Type::int16_t; + n_tissue_layer_idx->m_rdf_type = RDF_Type::Vector; + n_tissue_layer_idx->m_node_type = NodeType::Vector; + n_tissue_layer_idx->m_addornements = "v"; + n_tissue_layer_idx->m_address = base + offset; + n_tissue_layer_idx->m_parent = p_node_parent; + n_tissue_layer_idx->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_tissue_layer_idx); + + field_name = "skill"; + auto n_skill = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_attack, field_name)); + n_skill->m_field_name = field_name; + n_skill->m_df_type = DF_Type::job_skill; + n_skill->m_rdf_type = RDF_Type::Enum; + n_skill->m_node_type = NodeType::Enum; + n_skill->m_base_type = DF_Type::int16_t; + n_skill->m_enum_type = "job_skill"; + n_skill->m_address = base + offset; + n_skill->m_defined_in = "df.skills.xml"; + n_skill->m_first_value = -1; + n_skill->m_last_value = 134; + n_skill->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_skill); + + field_name = "velocity_modifier"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_attack, field_name)); + auto n_velocity_modifier = new NodeSimple; + n_velocity_modifier->m_field_name = field_name; + n_velocity_modifier->m_df_type = DF_Type::int32_t; + n_velocity_modifier->m_rdf_type = RDF_Type::int32_t; + n_velocity_modifier->m_node_type = NodeType::Simple; + n_velocity_modifier->m_address = base + offset; + n_velocity_modifier->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_velocity_modifier); + + field_name = "specialattack_interaction_tmp_name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_attack, field_name)); + auto n_specialattack_interaction_tmp_name = new NodeVector; + n_specialattack_interaction_tmp_name->m_field_name = field_name; + n_specialattack_interaction_tmp_name->m_df_type = DF_Type::Stl_string; + n_specialattack_interaction_tmp_name->m_rdf_type = RDF_Type::Vector; + n_specialattack_interaction_tmp_name->m_node_type = NodeType::Vector; + n_specialattack_interaction_tmp_name->m_addornements = "v*"; + n_specialattack_interaction_tmp_name->m_address = base + offset; + n_specialattack_interaction_tmp_name->m_comment = "parsed during second pass"; + n_specialattack_interaction_tmp_name->m_parent = p_node_parent; + n_specialattack_interaction_tmp_name->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_specialattack_interaction_tmp_name); + + field_name = "specialattack_interaction_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_attack, field_name)); + auto n_specialattack_interaction_id = new NodeVector; + n_specialattack_interaction_id->m_field_name = field_name; + n_specialattack_interaction_id->m_df_type = DF_Type::int32_t; + n_specialattack_interaction_id->m_rdf_type = RDF_Type::Vector; + n_specialattack_interaction_id->m_node_type = NodeType::Vector; + n_specialattack_interaction_id->m_addornements = "v"; + n_specialattack_interaction_id->m_address = base + offset; + n_specialattack_interaction_id->m_parent = p_node_parent; + n_specialattack_interaction_id->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_specialattack_interaction_id); + + field_name = "unk_v40_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_attack, field_name)); + auto n_unk_v40_3 = new NodeSimple; + n_unk_v40_3->m_field_name = field_name; + n_unk_v40_3->m_df_type = DF_Type::int32_t; + n_unk_v40_3->m_rdf_type = RDF_Type::int32_t; + n_unk_v40_3->m_node_type = NodeType::Simple; + n_unk_v40_3->m_address = base + offset; + n_unk_v40_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_3); + + field_name = "unk_v40_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_attack, field_name)); + auto n_unk_v40_4 = new NodeSimple; + n_unk_v40_4->m_field_name = field_name; + n_unk_v40_4->m_df_type = DF_Type::int32_t; + n_unk_v40_4->m_rdf_type = RDF_Type::int32_t; + n_unk_v40_4->m_node_type = NodeType::Simple; + n_unk_v40_4->m_address = base + offset; + n_unk_v40_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_4); + +} +void node_from_creature_interaction(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "bp_required_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction, field_name)); + auto n_bp_required_type = new NodeVector; + n_bp_required_type->m_field_name = field_name; + n_bp_required_type->m_df_type = DF_Type::Stl_string; + n_bp_required_type->m_rdf_type = RDF_Type::Vector; + n_bp_required_type->m_node_type = NodeType::Vector; + n_bp_required_type->m_addornements = "v*"; + n_bp_required_type->m_address = base + offset; + n_bp_required_type->m_parent = p_node_parent; + n_bp_required_type->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bp_required_type); + + field_name = "bp_required_name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction, field_name)); + auto n_bp_required_name = new NodeVector; + n_bp_required_name->m_field_name = field_name; + n_bp_required_name->m_df_type = DF_Type::Stl_string; + n_bp_required_name->m_rdf_type = RDF_Type::Vector; + n_bp_required_name->m_node_type = NodeType::Vector; + n_bp_required_name->m_addornements = "v*"; + n_bp_required_name->m_address = base + offset; + n_bp_required_name->m_parent = p_node_parent; + n_bp_required_name->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bp_required_name); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::Stl_string; + n_anon_1->m_rdf_type = RDF_Type::Stl_string; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::Stl_string; + n_anon_2->m_rdf_type = RDF_Type::Stl_string; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "material_str0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction, field_name)); + auto n_material_str0 = new NodeSimple; + n_material_str0->m_field_name = field_name; + n_material_str0->m_df_type = DF_Type::Stl_string; + n_material_str0->m_rdf_type = RDF_Type::Stl_string; + n_material_str0->m_node_type = NodeType::Simple; + n_material_str0->m_address = base + offset; + n_material_str0->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_material_str0); + + field_name = "material_str1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction, field_name)); + auto n_material_str1 = new NodeSimple; + n_material_str1->m_field_name = field_name; + n_material_str1->m_df_type = DF_Type::Stl_string; + n_material_str1->m_rdf_type = RDF_Type::Stl_string; + n_material_str1->m_node_type = NodeType::Simple; + n_material_str1->m_address = base + offset; + n_material_str1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_material_str1); + + field_name = "material_str2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction, field_name)); + auto n_material_str2 = new NodeSimple; + n_material_str2->m_field_name = field_name; + n_material_str2->m_df_type = DF_Type::Stl_string; + n_material_str2->m_rdf_type = RDF_Type::Stl_string; + n_material_str2->m_node_type = NodeType::Simple; + n_material_str2->m_address = base + offset; + n_material_str2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_material_str2); + + field_name = "material_breath"; + auto n_material_breath = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction, field_name)); + n_material_breath->m_field_name = field_name; + n_material_breath->m_df_type = DF_Type::breath_attack_type; + n_material_breath->m_rdf_type = RDF_Type::Enum; + n_material_breath->m_node_type = NodeType::Enum; + n_material_breath->m_base_type = enum_base_type(n_material_breath->m_df_type); + n_material_breath->m_enum_type = "breath_attack_type"; + n_material_breath->m_address = base + offset; + n_material_breath->m_defined_in = "df.interaction.xml"; + n_material_breath->m_first_value = 0; + n_material_breath->m_last_value = 20; + n_material_breath->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_material_breath); + + field_name = "verb_2nd"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction, field_name)); + auto n_verb_2nd = new NodeSimple; + n_verb_2nd->m_field_name = field_name; + n_verb_2nd->m_df_type = DF_Type::Stl_string; + n_verb_2nd->m_rdf_type = RDF_Type::Stl_string; + n_verb_2nd->m_node_type = NodeType::Simple; + n_verb_2nd->m_address = base + offset; + n_verb_2nd->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_verb_2nd); + + field_name = "verb_3rd"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction, field_name)); + auto n_verb_3rd = new NodeSimple; + n_verb_3rd->m_field_name = field_name; + n_verb_3rd->m_df_type = DF_Type::Stl_string; + n_verb_3rd->m_rdf_type = RDF_Type::Stl_string; + n_verb_3rd->m_node_type = NodeType::Simple; + n_verb_3rd->m_address = base + offset; + n_verb_3rd->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_verb_3rd); + + field_name = "verb_mutual"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction, field_name)); + auto n_verb_mutual = new NodeSimple; + n_verb_mutual->m_field_name = field_name; + n_verb_mutual->m_df_type = DF_Type::Stl_string; + n_verb_mutual->m_rdf_type = RDF_Type::Stl_string; + n_verb_mutual->m_node_type = NodeType::Simple; + n_verb_mutual->m_address = base + offset; + n_verb_mutual->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_verb_mutual); + + field_name = "verb_reverse_2nd"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction, field_name)); + auto n_verb_reverse_2nd = new NodeSimple; + n_verb_reverse_2nd->m_field_name = field_name; + n_verb_reverse_2nd->m_df_type = DF_Type::Stl_string; + n_verb_reverse_2nd->m_rdf_type = RDF_Type::Stl_string; + n_verb_reverse_2nd->m_node_type = NodeType::Simple; + n_verb_reverse_2nd->m_address = base + offset; + n_verb_reverse_2nd->m_comment = "for RETRACT_INTO_BP, e.g. 'unroll'"; + n_verb_reverse_2nd->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_verb_reverse_2nd); + + field_name = "verb_reverse_3rd"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction, field_name)); + auto n_verb_reverse_3rd = new NodeSimple; + n_verb_reverse_3rd->m_field_name = field_name; + n_verb_reverse_3rd->m_df_type = DF_Type::Stl_string; + n_verb_reverse_3rd->m_rdf_type = RDF_Type::Stl_string; + n_verb_reverse_3rd->m_node_type = NodeType::Simple; + n_verb_reverse_3rd->m_address = base + offset; + n_verb_reverse_3rd->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_verb_reverse_3rd); + + field_name = "target_verb_2nd"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction, field_name)); + auto n_target_verb_2nd = new NodeSimple; + n_target_verb_2nd->m_field_name = field_name; + n_target_verb_2nd->m_df_type = DF_Type::Stl_string; + n_target_verb_2nd->m_rdf_type = RDF_Type::Stl_string; + n_target_verb_2nd->m_node_type = NodeType::Simple; + n_target_verb_2nd->m_address = base + offset; + n_target_verb_2nd->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_target_verb_2nd); + + field_name = "target_verb_3rd"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction, field_name)); + auto n_target_verb_3rd = new NodeSimple; + n_target_verb_3rd->m_field_name = field_name; + n_target_verb_3rd->m_df_type = DF_Type::Stl_string; + n_target_verb_3rd->m_rdf_type = RDF_Type::Stl_string; + n_target_verb_3rd->m_node_type = NodeType::Simple; + n_target_verb_3rd->m_address = base + offset; + n_target_verb_3rd->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_target_verb_3rd); + + field_name = "interaction_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction, field_name)); + auto n_interaction_type = new NodeSimple; + n_interaction_type->m_field_name = field_name; + n_interaction_type->m_df_type = DF_Type::Stl_string; + n_interaction_type->m_rdf_type = RDF_Type::Stl_string; + n_interaction_type->m_node_type = NodeType::Simple; + n_interaction_type->m_address = base + offset; + n_interaction_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_interaction_type); + + field_name = "type_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction, field_name)); + auto n_type_id = new NodeSimple; + n_type_id->m_field_name = field_name; + n_type_id->m_df_type = DF_Type::int32_t; + n_type_id->m_rdf_type = RDF_Type::int32_t; + n_type_id->m_node_type = NodeType::Simple; + n_type_id->m_address = base + offset; + n_type_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type_id); + + field_name = "usage_hint"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction, field_name)); + auto n_usage_hint = new NodeVector; + n_usage_hint->m_field_name = field_name; + n_usage_hint->m_df_type = DF_Type::interaction_source_usage_hint; + n_usage_hint->m_rdf_type = RDF_Type::Vector; + n_usage_hint->m_node_type = NodeType::Vector; + n_usage_hint->m_enum_base = DF_Type::int32_t; + n_usage_hint->m_defined_in = "df.interaction.xml"; + n_usage_hint->m_addornements = "v"; + n_usage_hint->m_address = base + offset; + n_usage_hint->m_parent = p_node_parent; + n_usage_hint->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_usage_hint); + + field_name = "location_hint"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction, field_name)); + auto n_location_hint = new NodeVector; + n_location_hint->m_field_name = field_name; + n_location_hint->m_df_type = DF_Type::interaction_effect_location_hint; + n_location_hint->m_rdf_type = RDF_Type::Vector; + n_location_hint->m_node_type = NodeType::Vector; + n_location_hint->m_enum_base = DF_Type::int32_t; + n_location_hint->m_defined_in = "df.interaction.xml"; + n_location_hint->m_addornements = "v"; + n_location_hint->m_address = base + offset; + n_location_hint->m_parent = p_node_parent; + n_location_hint->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_location_hint); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::creature_interaction__T_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction, field_name)); + auto n_anon_3 = new NodeVector; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::Void; + n_anon_3->m_rdf_type = RDF_Type::Vector; + n_anon_3->m_node_type = NodeType::Vector; + n_anon_3->m_addornements = "v"; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + n_anon_3->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "target_flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction, field_name)); + auto n_target_flags = new NodeVector; + n_target_flags->m_field_name = field_name; + n_target_flags->m_df_type = DF_Type::creature_interaction_target_flags; + n_target_flags->m_rdf_type = RDF_Type::Vector; + n_target_flags->m_node_type = NodeType::Vector; + n_target_flags->m_defined_in = "df.creature-raws.xml"; + n_target_flags->m_addornements = "v"; + n_target_flags->m_address = base + offset; + n_target_flags->m_parent = p_node_parent; + n_target_flags->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_target_flags); + + field_name = "target_ranges"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction, field_name)); + auto n_target_ranges = new NodeVector; + n_target_ranges->m_field_name = field_name; + n_target_ranges->m_df_type = DF_Type::int32_t; + n_target_ranges->m_rdf_type = RDF_Type::Vector; + n_target_ranges->m_node_type = NodeType::Vector; + n_target_ranges->m_addornements = "v"; + n_target_ranges->m_address = base + offset; + n_target_ranges->m_parent = p_node_parent; + n_target_ranges->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_target_ranges); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction, field_name)); + auto n_anon_4 = new NodeVector; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::Void; + n_anon_4->m_rdf_type = RDF_Type::Vector; + n_anon_4->m_node_type = NodeType::Vector; + n_anon_4->m_addornements = "v"; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + n_anon_4->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "max_target_numbers"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction, field_name)); + auto n_max_target_numbers = new NodeVector; + n_max_target_numbers->m_field_name = field_name; + n_max_target_numbers->m_df_type = DF_Type::int32_t; + n_max_target_numbers->m_rdf_type = RDF_Type::Vector; + n_max_target_numbers->m_node_type = NodeType::Vector; + n_max_target_numbers->m_addornements = "v"; + n_max_target_numbers->m_address = base + offset; + n_max_target_numbers->m_parent = p_node_parent; + n_max_target_numbers->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_max_target_numbers); + + field_name = "verbal_speeches"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction, field_name)); + auto n_verbal_speeches = new NodeVector; + n_verbal_speeches->m_field_name = field_name; + n_verbal_speeches->m_df_type = DF_Type::int32_t; + n_verbal_speeches->m_rdf_type = RDF_Type::Vector; + n_verbal_speeches->m_node_type = NodeType::Vector; + n_verbal_speeches->m_addornements = "v"; + n_verbal_speeches->m_address = base + offset; + n_verbal_speeches->m_parent = p_node_parent; + n_verbal_speeches->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_verbal_speeches); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction, field_name)); + auto n_anon_5 = new NodeVector; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::Void; + n_anon_5->m_rdf_type = RDF_Type::Vector; + n_anon_5->m_node_type = NodeType::Vector; + n_anon_5->m_addornements = "v"; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + n_anon_5->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "adv_name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction, field_name)); + auto n_adv_name = new NodeSimple; + n_adv_name->m_field_name = field_name; + n_adv_name->m_df_type = DF_Type::Stl_string; + n_adv_name->m_rdf_type = RDF_Type::Stl_string; + n_adv_name->m_node_type = NodeType::Simple; + n_adv_name->m_address = base + offset; + n_adv_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_adv_name); + + field_name = "wait_period"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction, field_name)); + auto n_wait_period = new NodeSimple; + n_wait_period->m_field_name = field_name; + n_wait_period->m_df_type = DF_Type::int32_t; + n_wait_period->m_rdf_type = RDF_Type::int32_t; + n_wait_period->m_node_type = NodeType::Simple; + n_wait_period->m_address = base + offset; + n_wait_period->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_wait_period); + +} +void node_from_caste_body_info__T_interactions(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "type"; + auto n_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info__T_interactions, field_name)); + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::caste_body_info__T_interactions__T_type; + n_type->m_rdf_type = RDF_Type::Enum; + n_type->m_node_type = NodeType::Enum; + n_type->m_base_type = DF_Type::int32_t; + n_type->m_enum_type = "caste_body_info::T_interactions::T_type"; + n_type->m_address = base + offset; + n_type->m_first_value = 0; + n_type->m_last_value = 2; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + + field_name = "interaction"; + auto n_interaction = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info__T_interactions, field_name)); + n_interaction->m_field_name = field_name; + n_interaction->m_df_type = DF_Type::creature_interaction; + n_interaction->m_rdf_type = RDF_Type::Struct; + n_interaction->m_node_type = NodeType::Compound; + n_interaction->m_address = base + offset; + n_interaction->m_defined_in = "df.creature-raws.xml"; + n_interaction->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_interaction); + +} +void node_from_caste_body_info__T_extra_butcher_objects(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info__T_extra_butcher_objects, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int16_t; + n_anon_1->m_rdf_type = RDF_Type::int16_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info__T_extra_butcher_objects, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::Stl_string; + n_anon_2->m_rdf_type = RDF_Type::Stl_string; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info__T_extra_butcher_objects, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info__T_extra_butcher_objects, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::Stl_string; + n_anon_4->m_rdf_type = RDF_Type::Stl_string; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info__T_extra_butcher_objects, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::Stl_string; + n_anon_5->m_rdf_type = RDF_Type::Stl_string; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info__T_extra_butcher_objects, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::Stl_string; + n_anon_6->m_rdf_type = RDF_Type::Stl_string; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info__T_extra_butcher_objects, field_name)); + auto n_anon_7 = new NodeSimple; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::Stl_string; + n_anon_7->m_rdf_type = RDF_Type::Stl_string; + n_anon_7->m_node_type = NodeType::Simple; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_7); + + field_name = "anon_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info__T_extra_butcher_objects, field_name)); + auto n_anon_8 = new NodeSimple; + n_anon_8->m_field_name = field_name; + n_anon_8->m_df_type = DF_Type::Stl_string; + n_anon_8->m_rdf_type = RDF_Type::Stl_string; + n_anon_8->m_node_type = NodeType::Simple; + n_anon_8->m_address = base + offset; + n_anon_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_8); + + field_name = "anon_9"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info__T_extra_butcher_objects, field_name)); + auto n_anon_9 = new NodeSimple; + n_anon_9->m_field_name = field_name; + n_anon_9->m_df_type = DF_Type::int16_t; + n_anon_9->m_rdf_type = RDF_Type::int16_t; + n_anon_9->m_node_type = NodeType::Simple; + n_anon_9->m_address = base + offset; + n_anon_9->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_9); + + field_name = "anon_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info__T_extra_butcher_objects, field_name)); + auto n_anon_10 = new NodeSimple; + n_anon_10->m_field_name = field_name; + n_anon_10->m_df_type = DF_Type::int16_t; + n_anon_10->m_rdf_type = RDF_Type::int16_t; + n_anon_10->m_node_type = NodeType::Simple; + n_anon_10->m_address = base + offset; + n_anon_10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_10); + + field_name = "anon_11"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info__T_extra_butcher_objects, field_name)); + auto n_anon_11 = new NodeSimple; + n_anon_11->m_field_name = field_name; + n_anon_11->m_df_type = DF_Type::int16_t; + n_anon_11->m_rdf_type = RDF_Type::int16_t; + n_anon_11->m_node_type = NodeType::Simple; + n_anon_11->m_address = base + offset; + n_anon_11->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_11); + + field_name = "anon_12"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info__T_extra_butcher_objects, field_name)); + auto n_anon_12 = new NodeSimple; + n_anon_12->m_field_name = field_name; + n_anon_12->m_df_type = DF_Type::int32_t; + n_anon_12->m_rdf_type = RDF_Type::int32_t; + n_anon_12->m_node_type = NodeType::Simple; + n_anon_12->m_address = base + offset; + n_anon_12->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_12); + + field_name = "anon_13"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info__T_extra_butcher_objects, field_name)); + auto n_anon_13 = new NodeSimple; + n_anon_13->m_field_name = field_name; + n_anon_13->m_df_type = DF_Type::int32_t; + n_anon_13->m_rdf_type = RDF_Type::int32_t; + n_anon_13->m_node_type = NodeType::Simple; + n_anon_13->m_address = base + offset; + n_anon_13->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_13); + +} +void node_from_caste_body_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "body_parts"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info, field_name)); + auto n_body_parts = new NodeVector; + n_body_parts->m_field_name = field_name; + n_body_parts->m_df_type = DF_Type::body_part_raw; + n_body_parts->m_rdf_type = RDF_Type::Vector; + n_body_parts->m_node_type = NodeType::Vector; + n_body_parts->m_defined_in = "df.creature-raws.xml"; + n_body_parts->m_addornements = "v*"; + n_body_parts->m_address = base + offset; + n_body_parts->m_parent = p_node_parent; + n_body_parts->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_body_parts); + + field_name = "attacks"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info, field_name)); + auto n_attacks = new NodeVector; + n_attacks->m_field_name = field_name; + n_attacks->m_df_type = DF_Type::caste_attack; + n_attacks->m_rdf_type = RDF_Type::Vector; + n_attacks->m_node_type = NodeType::Vector; + n_attacks->m_defined_in = "df.creature-raws.xml"; + n_attacks->m_addornements = "v*"; + n_attacks->m_address = base + offset; + n_attacks->m_parent = p_node_parent; + n_attacks->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_attacks); + + field_name = "interactions"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info, field_name)); + auto n_interactions = new NodeVector; + n_interactions->m_field_name = field_name; + n_interactions->m_df_type = DF_Type::caste_body_info__T_interactions; + n_interactions->m_rdf_type = RDF_Type::Vector; + n_interactions->m_node_type = NodeType::Vector; + n_interactions->m_addornements = "v*"; + n_interactions->m_address = base + offset; + n_interactions->m_parent = p_node_parent; + n_interactions->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_interactions); + + field_name = "extra_butcher_objects"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info, field_name)); + auto n_extra_butcher_objects = new NodeVector; + n_extra_butcher_objects->m_field_name = field_name; + n_extra_butcher_objects->m_df_type = DF_Type::caste_body_info__T_extra_butcher_objects; + n_extra_butcher_objects->m_rdf_type = RDF_Type::Vector; + n_extra_butcher_objects->m_node_type = NodeType::Vector; + n_extra_butcher_objects->m_addornements = "v*"; + n_extra_butcher_objects->m_address = base + offset; + n_extra_butcher_objects->m_parent = p_node_parent; + n_extra_butcher_objects->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_extra_butcher_objects); + + field_name = "total_relsize"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info, field_name)); + auto n_total_relsize = new NodeSimple; + n_total_relsize->m_field_name = field_name; + n_total_relsize->m_df_type = DF_Type::int32_t; + n_total_relsize->m_rdf_type = RDF_Type::int32_t; + n_total_relsize->m_node_type = NodeType::Simple; + n_total_relsize->m_address = base + offset; + n_total_relsize->m_comment = "unless INTERNAL or EMBEDDED"; + n_total_relsize->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_total_relsize); + + field_name = "layer_part"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info, field_name)); + auto n_layer_part = new NodeVector; + n_layer_part->m_field_name = field_name; + n_layer_part->m_df_type = DF_Type::int16_t; + n_layer_part->m_rdf_type = RDF_Type::Vector; + n_layer_part->m_node_type = NodeType::Vector; + n_layer_part->m_addornements = "v"; + n_layer_part->m_address = base + offset; + n_layer_part->m_refers_to = "$$._global.layer_idx[$].refers-to"; + n_layer_part->m_parent = p_node_parent; + n_layer_part->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_layer_part); + + field_name = "layer_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info, field_name)); + auto n_layer_idx = new NodeVector; + n_layer_idx->m_field_name = field_name; + n_layer_idx->m_df_type = DF_Type::int16_t; + n_layer_idx->m_rdf_type = RDF_Type::Vector; + n_layer_idx->m_node_type = NodeType::Vector; + n_layer_idx->m_addornements = "v"; + n_layer_idx->m_address = base + offset; + n_layer_idx->m_parent = p_node_parent; + n_layer_idx->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_layer_idx); + + field_name = "numbered_masks"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info, field_name)); + auto n_numbered_masks = new NodeVector; + n_numbered_masks->m_field_name = field_name; + n_numbered_masks->m_df_type = DF_Type::uint32_t; + n_numbered_masks->m_rdf_type = RDF_Type::Vector; + n_numbered_masks->m_node_type = NodeType::Vector; + n_numbered_masks->m_addornements = "v"; + n_numbered_masks->m_address = base + offset; + n_numbered_masks->m_comment = "1 bit per instance of a numbered body part"; + n_numbered_masks->m_parent = p_node_parent; + n_numbered_masks->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_numbered_masks); + + field_name = "layer_nonsolid"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info, field_name)); + auto n_layer_nonsolid = new NodeVector; + n_layer_nonsolid->m_field_name = field_name; + n_layer_nonsolid->m_df_type = DF_Type::int32_t; + n_layer_nonsolid->m_rdf_type = RDF_Type::Vector; + n_layer_nonsolid->m_node_type = NodeType::Vector; + n_layer_nonsolid->m_addornements = "v"; + n_layer_nonsolid->m_address = base + offset; + n_layer_nonsolid->m_refers_to = "$$._global.layer_part[$].refers-to"; + n_layer_nonsolid->m_parent = p_node_parent; + n_layer_nonsolid->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_layer_nonsolid); + + field_name = "nonsolid_layers"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info, field_name)); + auto n_nonsolid_layers = new NodeVector; + n_nonsolid_layers->m_field_name = field_name; + n_nonsolid_layers->m_df_type = DF_Type::int32_t; + n_nonsolid_layers->m_rdf_type = RDF_Type::Vector; + n_nonsolid_layers->m_node_type = NodeType::Vector; + n_nonsolid_layers->m_addornements = "v"; + n_nonsolid_layers->m_address = base + offset; + n_nonsolid_layers->m_parent = p_node_parent; + n_nonsolid_layers->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_nonsolid_layers); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::caste_body_info__T_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "gait_info"; + auto n_gait_info = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info, field_name)); + n_gait_info->m_field_name = field_name; + n_gait_info->m_df_type = DF_Type::gait_info; + n_gait_info->m_rdf_type = RDF_Type::Array; + n_gait_info->m_node_type = NodeType::Array; + n_gait_info->m_index_enum = DF_Type::gait_type; + n_gait_info->m_defined_in = "df.creature-raws.xml"; + n_gait_info->m_addornements = "[5v*"; + n_gait_info->m_array_size = 5; + n_gait_info->m_address = base + offset; + n_gait_info->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_gait_info); + + field_name = "materials"; + auto n_materials = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info, field_name)); + n_materials->m_field_name = field_name; + n_materials->m_df_type = DF_Type::material_vec_ref; + n_materials->m_rdf_type = RDF_Type::Struct; + n_materials->m_node_type = NodeType::Compound; + n_materials->m_address = base + offset; + n_materials->m_defined_in = "df.materials.xml"; + n_materials->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_materials); + + field_name = "fraction_total"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info, field_name)); + auto n_fraction_total = new NodeSimple; + n_fraction_total->m_field_name = field_name; + n_fraction_total->m_df_type = DF_Type::int32_t; + n_fraction_total->m_rdf_type = RDF_Type::int32_t; + n_fraction_total->m_node_type = NodeType::Simple; + n_fraction_total->m_address = base + offset; + n_fraction_total->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_fraction_total); + + field_name = "fraction_base"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info, field_name)); + auto n_fraction_base = new NodeSimple; + n_fraction_base->m_field_name = field_name; + n_fraction_base->m_df_type = DF_Type::int32_t; + n_fraction_base->m_rdf_type = RDF_Type::int32_t; + n_fraction_base->m_node_type = NodeType::Simple; + n_fraction_base->m_address = base + offset; + n_fraction_base->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_fraction_base); + + field_name = "fraction_fat"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info, field_name)); + auto n_fraction_fat = new NodeSimple; + n_fraction_fat->m_field_name = field_name; + n_fraction_fat->m_df_type = DF_Type::int32_t; + n_fraction_fat->m_rdf_type = RDF_Type::int32_t; + n_fraction_fat->m_node_type = NodeType::Simple; + n_fraction_fat->m_address = base + offset; + n_fraction_fat->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_fraction_fat); + + field_name = "fraction_muscle"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info, field_name)); + auto n_fraction_muscle = new NodeSimple; + n_fraction_muscle->m_field_name = field_name; + n_fraction_muscle->m_df_type = DF_Type::int32_t; + n_fraction_muscle->m_rdf_type = RDF_Type::int32_t; + n_fraction_muscle->m_node_type = NodeType::Simple; + n_fraction_muscle->m_address = base + offset; + n_fraction_muscle->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_fraction_muscle); + + field_name = "unk_v40_2"; + auto n_unk_v40_2 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_body_info, field_name)); + n_unk_v40_2->m_field_name = field_name; + n_unk_v40_2->m_df_type = DF_Type::int32_t; + n_unk_v40_2->m_rdf_type = RDF_Type::Array; + n_unk_v40_2->m_node_type = NodeType::Array; + n_unk_v40_2->m_addornements = "[11"; + n_unk_v40_2->m_array_size = 11; + n_unk_v40_2->m_address = base + offset; + n_unk_v40_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_2); + +} +void node_from_caste_raw__T_misc(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "litter_size_min"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); + auto n_litter_size_min = new NodeSimple; + n_litter_size_min->m_field_name = field_name; + n_litter_size_min->m_df_type = DF_Type::int16_t; + n_litter_size_min->m_rdf_type = RDF_Type::int16_t; + n_litter_size_min->m_node_type = NodeType::Simple; + n_litter_size_min->m_address = base + offset; + n_litter_size_min->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_litter_size_min); + + field_name = "litter_size_max"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); + auto n_litter_size_max = new NodeSimple; + n_litter_size_max->m_field_name = field_name; + n_litter_size_max->m_df_type = DF_Type::int16_t; + n_litter_size_max->m_rdf_type = RDF_Type::int16_t; + n_litter_size_max->m_node_type = NodeType::Simple; + n_litter_size_max->m_address = base + offset; + n_litter_size_max->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_litter_size_max); + + field_name = "penetratepower"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); + auto n_penetratepower = new NodeSimple; + n_penetratepower->m_field_name = field_name; + n_penetratepower->m_df_type = DF_Type::int16_t; + n_penetratepower->m_rdf_type = RDF_Type::int16_t; + n_penetratepower->m_node_type = NodeType::Simple; + n_penetratepower->m_address = base + offset; + n_penetratepower->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_penetratepower); + + field_name = "vermin_bite_chance"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); + auto n_vermin_bite_chance = new NodeSimple; + n_vermin_bite_chance->m_field_name = field_name; + n_vermin_bite_chance->m_df_type = DF_Type::int16_t; + n_vermin_bite_chance->m_rdf_type = RDF_Type::int16_t; + n_vermin_bite_chance->m_node_type = NodeType::Simple; + n_vermin_bite_chance->m_address = base + offset; + n_vermin_bite_chance->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_vermin_bite_chance); + + field_name = "grasstrample"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); + auto n_grasstrample = new NodeSimple; + n_grasstrample->m_field_name = field_name; + n_grasstrample->m_df_type = DF_Type::int16_t; + n_grasstrample->m_rdf_type = RDF_Type::int16_t; + n_grasstrample->m_node_type = NodeType::Simple; + n_grasstrample->m_address = base + offset; + n_grasstrample->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_grasstrample); + + field_name = "buildingdestroyer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); + auto n_buildingdestroyer = new NodeSimple; + n_buildingdestroyer->m_field_name = field_name; + n_buildingdestroyer->m_df_type = DF_Type::int16_t; + n_buildingdestroyer->m_rdf_type = RDF_Type::int16_t; + n_buildingdestroyer->m_node_type = NodeType::Simple; + n_buildingdestroyer->m_address = base + offset; + n_buildingdestroyer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_buildingdestroyer); + + field_name = "itemcorpse_itemtype"; + auto n_itemcorpse_itemtype = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); + n_itemcorpse_itemtype->m_field_name = field_name; + n_itemcorpse_itemtype->m_df_type = DF_Type::item_type; + n_itemcorpse_itemtype->m_rdf_type = RDF_Type::Enum; + n_itemcorpse_itemtype->m_node_type = NodeType::Enum; + n_itemcorpse_itemtype->m_base_type = DF_Type::int16_t; + n_itemcorpse_itemtype->m_enum_type = "item_type"; + n_itemcorpse_itemtype->m_address = base + offset; + n_itemcorpse_itemtype->m_defined_in = "df.item-raws.xml"; + n_itemcorpse_itemtype->m_first_value = -1; + n_itemcorpse_itemtype->m_last_value = 90; + n_itemcorpse_itemtype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_itemcorpse_itemtype); + + field_name = "itemcorpse_itemsubtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); + auto n_itemcorpse_itemsubtype = new NodeSimple; + n_itemcorpse_itemsubtype->m_field_name = field_name; + n_itemcorpse_itemsubtype->m_df_type = DF_Type::int16_t; + n_itemcorpse_itemsubtype->m_rdf_type = RDF_Type::int16_t; + n_itemcorpse_itemsubtype->m_node_type = NodeType::Simple; + n_itemcorpse_itemsubtype->m_address = base + offset; + n_itemcorpse_itemsubtype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_itemcorpse_itemsubtype); + + field_name = "itemcorpse_materialtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); + auto n_itemcorpse_materialtype = new NodeSimple; + n_itemcorpse_materialtype->m_field_name = field_name; + n_itemcorpse_materialtype->m_df_type = DF_Type::int16_t; + n_itemcorpse_materialtype->m_rdf_type = RDF_Type::int16_t; + n_itemcorpse_materialtype->m_node_type = NodeType::Simple; + n_itemcorpse_materialtype->m_address = base + offset; + n_itemcorpse_materialtype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_itemcorpse_materialtype); + + field_name = "itemcorpse_materialindex"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); + auto n_itemcorpse_materialindex = new NodeSimple; + n_itemcorpse_materialindex->m_field_name = field_name; + n_itemcorpse_materialindex->m_df_type = DF_Type::int16_t; + n_itemcorpse_materialindex->m_rdf_type = RDF_Type::int16_t; + n_itemcorpse_materialindex->m_node_type = NodeType::Simple; + n_itemcorpse_materialindex->m_address = base + offset; + n_itemcorpse_materialindex->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_itemcorpse_materialindex); + + field_name = "itemcorpse_quality"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); + auto n_itemcorpse_quality = new NodeSimple; + n_itemcorpse_quality->m_field_name = field_name; + n_itemcorpse_quality->m_df_type = DF_Type::int16_t; + n_itemcorpse_quality->m_rdf_type = RDF_Type::int16_t; + n_itemcorpse_quality->m_node_type = NodeType::Simple; + n_itemcorpse_quality->m_address = base + offset; + n_itemcorpse_quality->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_itemcorpse_quality); + + field_name = "remains_color"; + auto n_remains_color = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); + n_remains_color->m_field_name = field_name; + n_remains_color->m_df_type = DF_Type::int16_t; + n_remains_color->m_rdf_type = RDF_Type::Array; + n_remains_color->m_node_type = NodeType::Array; + n_remains_color->m_addornements = "[3"; + n_remains_color->m_array_size = 3; + n_remains_color->m_address = base + offset; + n_remains_color->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_remains_color); + + field_name = "difficulty"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); + auto n_difficulty = new NodeSimple; + n_difficulty->m_field_name = field_name; + n_difficulty->m_df_type = DF_Type::int16_t; + n_difficulty->m_rdf_type = RDF_Type::int16_t; + n_difficulty->m_node_type = NodeType::Simple; + n_difficulty->m_address = base + offset; + n_difficulty->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_difficulty); + + field_name = "caste_glowcolor"; + auto n_caste_glowcolor = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); + n_caste_glowcolor->m_field_name = field_name; + n_caste_glowcolor->m_df_type = DF_Type::int16_t; + n_caste_glowcolor->m_rdf_type = RDF_Type::Array; + n_caste_glowcolor->m_node_type = NodeType::Array; + n_caste_glowcolor->m_addornements = "[3"; + n_caste_glowcolor->m_array_size = 3; + n_caste_glowcolor->m_address = base + offset; + n_caste_glowcolor->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_caste_glowcolor); + + field_name = "beach_frequency"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); + auto n_beach_frequency = new NodeSimple; + n_beach_frequency->m_field_name = field_name; + n_beach_frequency->m_df_type = DF_Type::int16_t; + n_beach_frequency->m_rdf_type = RDF_Type::int16_t; + n_beach_frequency->m_node_type = NodeType::Simple; + n_beach_frequency->m_address = base + offset; + n_beach_frequency->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_beach_frequency); + + field_name = "clutch_size_min"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); + auto n_clutch_size_min = new NodeSimple; + n_clutch_size_min->m_field_name = field_name; + n_clutch_size_min->m_df_type = DF_Type::int16_t; + n_clutch_size_min->m_rdf_type = RDF_Type::int16_t; + n_clutch_size_min->m_node_type = NodeType::Simple; + n_clutch_size_min->m_address = base + offset; + n_clutch_size_min->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_clutch_size_min); + + field_name = "clutch_size_max"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); + auto n_clutch_size_max = new NodeSimple; + n_clutch_size_max->m_field_name = field_name; + n_clutch_size_max->m_df_type = DF_Type::int16_t; + n_clutch_size_max->m_rdf_type = RDF_Type::int16_t; + n_clutch_size_max->m_node_type = NodeType::Simple; + n_clutch_size_max->m_address = base + offset; + n_clutch_size_max->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_clutch_size_max); + + field_name = "vision_arc_min"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); + auto n_vision_arc_min = new NodeSimple; + n_vision_arc_min->m_field_name = field_name; + n_vision_arc_min->m_df_type = DF_Type::int16_t; + n_vision_arc_min->m_rdf_type = RDF_Type::int16_t; + n_vision_arc_min->m_node_type = NodeType::Simple; + n_vision_arc_min->m_address = base + offset; + n_vision_arc_min->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_vision_arc_min); + + field_name = "vision_arc_max"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); + auto n_vision_arc_max = new NodeSimple; + n_vision_arc_max->m_field_name = field_name; + n_vision_arc_max->m_df_type = DF_Type::int16_t; + n_vision_arc_max->m_rdf_type = RDF_Type::int16_t; + n_vision_arc_max->m_node_type = NodeType::Simple; + n_vision_arc_max->m_address = base + offset; + n_vision_arc_max->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_vision_arc_max); + + field_name = "speed"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); + auto n_speed = new NodeSimple; + n_speed->m_field_name = field_name; + n_speed->m_df_type = DF_Type::int32_t; + n_speed->m_rdf_type = RDF_Type::int32_t; + n_speed->m_node_type = NodeType::Simple; + n_speed->m_address = base + offset; + n_speed->m_comment = "no longer used"; + n_speed->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_speed); + + field_name = "modvalue"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); + auto n_modvalue = new NodeSimple; + n_modvalue->m_field_name = field_name; + n_modvalue->m_df_type = DF_Type::int32_t; + n_modvalue->m_rdf_type = RDF_Type::int32_t; + n_modvalue->m_node_type = NodeType::Simple; + n_modvalue->m_address = base + offset; + n_modvalue->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_modvalue); + + field_name = "petvalue"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); + auto n_petvalue = new NodeSimple; + n_petvalue->m_field_name = field_name; + n_petvalue->m_df_type = DF_Type::int32_t; + n_petvalue->m_rdf_type = RDF_Type::int32_t; + n_petvalue->m_node_type = NodeType::Simple; + n_petvalue->m_address = base + offset; + n_petvalue->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_petvalue); + + field_name = "milkable"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); + auto n_milkable = new NodeSimple; + n_milkable->m_field_name = field_name; + n_milkable->m_df_type = DF_Type::int32_t; + n_milkable->m_rdf_type = RDF_Type::int32_t; + n_milkable->m_node_type = NodeType::Simple; + n_milkable->m_address = base + offset; + n_milkable->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_milkable); + + field_name = "viewrange"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); + auto n_viewrange = new NodeSimple; + n_viewrange->m_field_name = field_name; + n_viewrange->m_df_type = DF_Type::int32_t; + n_viewrange->m_rdf_type = RDF_Type::int32_t; + n_viewrange->m_node_type = NodeType::Simple; + n_viewrange->m_address = base + offset; + n_viewrange->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_viewrange); + + field_name = "maxage_min"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); + auto n_maxage_min = new NodeSimple; + n_maxage_min->m_field_name = field_name; + n_maxage_min->m_df_type = DF_Type::int32_t; + n_maxage_min->m_rdf_type = RDF_Type::int32_t; + n_maxage_min->m_node_type = NodeType::Simple; + n_maxage_min->m_address = base + offset; + n_maxage_min->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_maxage_min); + + field_name = "maxage_max"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); + auto n_maxage_max = new NodeSimple; + n_maxage_max->m_field_name = field_name; + n_maxage_max->m_df_type = DF_Type::int32_t; + n_maxage_max->m_rdf_type = RDF_Type::int32_t; + n_maxage_max->m_node_type = NodeType::Simple; + n_maxage_max->m_address = base + offset; + n_maxage_max->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_maxage_max); + + field_name = "baby_age"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); + auto n_baby_age = new NodeSimple; + n_baby_age->m_field_name = field_name; + n_baby_age->m_df_type = DF_Type::int32_t; + n_baby_age->m_rdf_type = RDF_Type::int32_t; + n_baby_age->m_node_type = NodeType::Simple; + n_baby_age->m_address = base + offset; + n_baby_age->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_baby_age); + + field_name = "child_age"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); + auto n_child_age = new NodeSimple; + n_child_age->m_field_name = field_name; + n_child_age->m_df_type = DF_Type::int32_t; + n_child_age->m_rdf_type = RDF_Type::int32_t; + n_child_age->m_node_type = NodeType::Simple; + n_child_age->m_address = base + offset; + n_child_age->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_child_age); + + field_name = "swim_speed"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); + auto n_swim_speed = new NodeSimple; + n_swim_speed->m_field_name = field_name; + n_swim_speed->m_df_type = DF_Type::int32_t; + n_swim_speed->m_rdf_type = RDF_Type::int32_t; + n_swim_speed->m_node_type = NodeType::Simple; + n_swim_speed->m_address = base + offset; + n_swim_speed->m_comment = "no longer used"; + n_swim_speed->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_swim_speed); + + field_name = "trade_capacity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); + auto n_trade_capacity = new NodeSimple; + n_trade_capacity->m_field_name = field_name; + n_trade_capacity->m_df_type = DF_Type::int32_t; + n_trade_capacity->m_rdf_type = RDF_Type::int32_t; + n_trade_capacity->m_node_type = NodeType::Simple; + n_trade_capacity->m_address = base + offset; + n_trade_capacity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_trade_capacity); + + field_name = "unk4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); + auto n_unk4 = new NodeSimple; + n_unk4->m_field_name = field_name; + n_unk4->m_df_type = DF_Type::int32_t; + n_unk4->m_rdf_type = RDF_Type::int32_t; + n_unk4->m_node_type = NodeType::Simple; + n_unk4->m_address = base + offset; + n_unk4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk4); + + field_name = "pop_ratio"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); + auto n_pop_ratio = new NodeSimple; + n_pop_ratio->m_field_name = field_name; + n_pop_ratio->m_df_type = DF_Type::int32_t; + n_pop_ratio->m_rdf_type = RDF_Type::int32_t; + n_pop_ratio->m_node_type = NodeType::Simple; + n_pop_ratio->m_address = base + offset; + n_pop_ratio->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pop_ratio); + + field_name = "adult_size"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); + auto n_adult_size = new NodeSimple; + n_adult_size->m_field_name = field_name; + n_adult_size->m_df_type = DF_Type::int32_t; + n_adult_size->m_rdf_type = RDF_Type::int32_t; + n_adult_size->m_node_type = NodeType::Simple; + n_adult_size->m_address = base + offset; + n_adult_size->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_adult_size); + + field_name = "bone_mat"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); + auto n_bone_mat = new NodeSimple; + n_bone_mat->m_field_name = field_name; + n_bone_mat->m_df_type = DF_Type::int32_t; + n_bone_mat->m_rdf_type = RDF_Type::int32_t; + n_bone_mat->m_node_type = NodeType::Simple; + n_bone_mat->m_address = base + offset; + n_bone_mat->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_bone_mat); + + field_name = "bone_matidx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); + auto n_bone_matidx = new NodeSimple; + n_bone_matidx->m_field_name = field_name; + n_bone_matidx->m_df_type = DF_Type::int32_t; + n_bone_matidx->m_rdf_type = RDF_Type::int32_t; + n_bone_matidx->m_node_type = NodeType::Simple; + n_bone_matidx->m_address = base + offset; + n_bone_matidx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_bone_matidx); + + field_name = "fish_mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); + auto n_fish_mat_index = new NodeSimple; + n_fish_mat_index->m_field_name = field_name; + n_fish_mat_index->m_df_type = DF_Type::int32_t; + n_fish_mat_index->m_rdf_type = RDF_Type::int32_t; + n_fish_mat_index->m_node_type = NodeType::Simple; + n_fish_mat_index->m_address = base + offset; + n_fish_mat_index->m_refers_to = "(food-mat-by-idx $Fish $)"; + n_fish_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_fish_mat_index); + + field_name = "egg_mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); + auto n_egg_mat_index = new NodeSimple; + n_egg_mat_index->m_field_name = field_name; + n_egg_mat_index->m_df_type = DF_Type::int32_t; + n_egg_mat_index->m_rdf_type = RDF_Type::int32_t; + n_egg_mat_index->m_node_type = NodeType::Simple; + n_egg_mat_index->m_address = base + offset; + n_egg_mat_index->m_refers_to = "(food-mat-by-idx $Eggs $)"; + n_egg_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_egg_mat_index); + + field_name = "attack_trigger"; + auto n_attack_trigger = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); + n_attack_trigger->m_field_name = field_name; + n_attack_trigger->m_df_type = DF_Type::int32_t; + n_attack_trigger->m_rdf_type = RDF_Type::Array; + n_attack_trigger->m_node_type = NodeType::Array; + n_attack_trigger->m_addornements = "[3"; + n_attack_trigger->m_array_size = 3; + n_attack_trigger->m_address = base + offset; + n_attack_trigger->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_attack_trigger); + + field_name = "egg_size"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); + auto n_egg_size = new NodeSimple; + n_egg_size->m_field_name = field_name; + n_egg_size->m_df_type = DF_Type::int32_t; + n_egg_size->m_rdf_type = RDF_Type::int32_t; + n_egg_size->m_node_type = NodeType::Simple; + n_egg_size->m_address = base + offset; + n_egg_size->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_egg_size); + + field_name = "grazer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); + auto n_grazer = new NodeSimple; + n_grazer->m_field_name = field_name; + n_grazer->m_df_type = DF_Type::int32_t; + n_grazer->m_rdf_type = RDF_Type::int32_t; + n_grazer->m_node_type = NodeType::Simple; + n_grazer->m_address = base + offset; + n_grazer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_grazer); + + field_name = "petvalue_divisor"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); + auto n_petvalue_divisor = new NodeSimple; + n_petvalue_divisor->m_field_name = field_name; + n_petvalue_divisor->m_df_type = DF_Type::int32_t; + n_petvalue_divisor->m_rdf_type = RDF_Type::int32_t; + n_petvalue_divisor->m_node_type = NodeType::Simple; + n_petvalue_divisor->m_address = base + offset; + n_petvalue_divisor->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_petvalue_divisor); + + field_name = "prone_to_rage"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); + auto n_prone_to_rage = new NodeSimple; + n_prone_to_rage->m_field_name = field_name; + n_prone_to_rage->m_df_type = DF_Type::int32_t; + n_prone_to_rage->m_rdf_type = RDF_Type::int32_t; + n_prone_to_rage->m_node_type = NodeType::Simple; + n_prone_to_rage->m_address = base + offset; + n_prone_to_rage->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_prone_to_rage); + + field_name = "unk6"; + auto n_unk6 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_misc, field_name)); + n_unk6->m_field_name = field_name; + n_unk6->m_df_type = DF_Type::int32_t; + n_unk6->m_rdf_type = RDF_Type::Array; + n_unk6->m_node_type = NodeType::Array; + n_unk6->m_addornements = "[29"; + n_unk6->m_array_size = 29; + n_unk6->m_address = base + offset; + n_unk6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk6); + +} +void node_from_caste_raw__T_personality(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "a"; + auto n_a = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_personality, field_name)); + n_a->m_field_name = field_name; + n_a->m_df_type = DF_Type::int16_t; + n_a->m_rdf_type = RDF_Type::Array; + n_a->m_node_type = NodeType::Array; + n_a->m_index_enum = DF_Type::personality_facet_type; + n_a->m_addornements = "[50"; + n_a->m_array_size = 50; + n_a->m_address = base + offset; + n_a->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_a); + + field_name = "b"; + auto n_b = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_personality, field_name)); + n_b->m_field_name = field_name; + n_b->m_df_type = DF_Type::int16_t; + n_b->m_rdf_type = RDF_Type::Array; + n_b->m_node_type = NodeType::Array; + n_b->m_index_enum = DF_Type::personality_facet_type; + n_b->m_addornements = "[50"; + n_b->m_array_size = 50; + n_b->m_address = base + offset; + n_b->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_b); + + field_name = "c"; + auto n_c = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_personality, field_name)); + n_c->m_field_name = field_name; + n_c->m_df_type = DF_Type::int16_t; + n_c->m_rdf_type = RDF_Type::Array; + n_c->m_node_type = NodeType::Array; + n_c->m_index_enum = DF_Type::personality_facet_type; + n_c->m_addornements = "[50"; + n_c->m_array_size = 50; + n_c->m_address = base + offset; + n_c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_c); + +} +void node_from_caste_raw__T_attributes(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "phys_att_range"; + auto n_phys_att_range = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_attributes, field_name)); + n_phys_att_range->m_field_name = field_name; + n_phys_att_range->m_df_type = DF_Type::int32_t; + n_phys_att_range->m_rdf_type = RDF_Type::Array; + n_phys_att_range->m_node_type = NodeType::Array; + n_phys_att_range->m_index_enum = DF_Type::physical_attribute_type; + n_phys_att_range->m_addornements = "[6[7"; + n_phys_att_range->m_array_size = 6; + n_phys_att_range->m_address = base + offset; + n_phys_att_range->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_phys_att_range); + + field_name = "ment_att_range"; + auto n_ment_att_range = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_attributes, field_name)); + n_ment_att_range->m_field_name = field_name; + n_ment_att_range->m_df_type = DF_Type::int32_t; + n_ment_att_range->m_rdf_type = RDF_Type::Array; + n_ment_att_range->m_node_type = NodeType::Array; + n_ment_att_range->m_index_enum = DF_Type::mental_attribute_type; + n_ment_att_range->m_addornements = "[13[7"; + n_ment_att_range->m_array_size = 13; + n_ment_att_range->m_address = base + offset; + n_ment_att_range->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ment_att_range); + + field_name = "phys_att_rates"; + auto n_phys_att_rates = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_attributes, field_name)); + n_phys_att_rates->m_field_name = field_name; + n_phys_att_rates->m_df_type = DF_Type::int32_t; + n_phys_att_rates->m_rdf_type = RDF_Type::Array; + n_phys_att_rates->m_node_type = NodeType::Array; + n_phys_att_rates->m_index_enum = DF_Type::physical_attribute_type; + n_phys_att_rates->m_addornements = "[6[4"; + n_phys_att_rates->m_array_size = 6; + n_phys_att_rates->m_address = base + offset; + n_phys_att_rates->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_phys_att_rates); + + field_name = "ment_att_rates"; + auto n_ment_att_rates = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_attributes, field_name)); + n_ment_att_rates->m_field_name = field_name; + n_ment_att_rates->m_df_type = DF_Type::int32_t; + n_ment_att_rates->m_rdf_type = RDF_Type::Array; + n_ment_att_rates->m_node_type = NodeType::Array; + n_ment_att_rates->m_index_enum = DF_Type::mental_attribute_type; + n_ment_att_rates->m_addornements = "[13[4"; + n_ment_att_rates->m_array_size = 13; + n_ment_att_rates->m_address = base + offset; + n_ment_att_rates->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ment_att_rates); + + field_name = "phys_att_cap_perc"; + auto n_phys_att_cap_perc = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_attributes, field_name)); + n_phys_att_cap_perc->m_field_name = field_name; + n_phys_att_cap_perc->m_df_type = DF_Type::int32_t; + n_phys_att_cap_perc->m_rdf_type = RDF_Type::Array; + n_phys_att_cap_perc->m_node_type = NodeType::Array; + n_phys_att_cap_perc->m_index_enum = DF_Type::physical_attribute_type; + n_phys_att_cap_perc->m_addornements = "[6"; + n_phys_att_cap_perc->m_array_size = 6; + n_phys_att_cap_perc->m_address = base + offset; + n_phys_att_cap_perc->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_phys_att_cap_perc); + + field_name = "ment_att_cap_perc"; + auto n_ment_att_cap_perc = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_attributes, field_name)); + n_ment_att_cap_perc->m_field_name = field_name; + n_ment_att_cap_perc->m_df_type = DF_Type::int32_t; + n_ment_att_cap_perc->m_rdf_type = RDF_Type::Array; + n_ment_att_cap_perc->m_node_type = NodeType::Array; + n_ment_att_cap_perc->m_index_enum = DF_Type::mental_attribute_type; + n_ment_att_cap_perc->m_addornements = "[13"; + n_ment_att_cap_perc->m_array_size = 13; + n_ment_att_cap_perc->m_address = base + offset; + n_ment_att_cap_perc->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ment_att_cap_perc); + +} +void node_from_caste_raw__T_bp_appearance(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "modifiers"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_bp_appearance, field_name)); + auto n_modifiers = new NodeVector; + n_modifiers->m_field_name = field_name; + n_modifiers->m_df_type = DF_Type::bp_appearance_modifier; + n_modifiers->m_rdf_type = RDF_Type::Vector; + n_modifiers->m_node_type = NodeType::Vector; + n_modifiers->m_defined_in = "df.creature-raws.xml"; + n_modifiers->m_addornements = "v*"; + n_modifiers->m_address = base + offset; + n_modifiers->m_parent = p_node_parent; + n_modifiers->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_modifiers); + + field_name = "modifier_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_bp_appearance, field_name)); + auto n_modifier_idx = new NodeVector; + n_modifier_idx->m_field_name = field_name; + n_modifier_idx->m_df_type = DF_Type::int32_t; + n_modifier_idx->m_rdf_type = RDF_Type::Vector; + n_modifier_idx->m_node_type = NodeType::Vector; + n_modifier_idx->m_addornements = "v"; + n_modifier_idx->m_address = base + offset; + n_modifier_idx->m_refers_to = "$$._parent._parent.modifiers[$]"; + n_modifier_idx->m_refers_to = "$$._parent.part_idx[$].refers-to"; + n_modifier_idx->m_parent = p_node_parent; + n_modifier_idx->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_modifier_idx); + + field_name = "part_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_bp_appearance, field_name)); + auto n_part_idx = new NodeVector; + n_part_idx->m_field_name = field_name; + n_part_idx->m_df_type = DF_Type::int16_t; + n_part_idx->m_rdf_type = RDF_Type::Vector; + n_part_idx->m_node_type = NodeType::Vector; + n_part_idx->m_addornements = "v"; + n_part_idx->m_address = base + offset; + n_part_idx->m_refers_to = "$$._global.body_info.body_parts[$]"; + n_part_idx->m_parent = p_node_parent; + n_part_idx->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_part_idx); + + field_name = "layer_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_bp_appearance, field_name)); + auto n_layer_idx = new NodeVector; + n_layer_idx->m_field_name = field_name; + n_layer_idx->m_df_type = DF_Type::int16_t; + n_layer_idx->m_rdf_type = RDF_Type::Vector; + n_layer_idx->m_node_type = NodeType::Vector; + n_layer_idx->m_addornements = "v"; + n_layer_idx->m_address = base + offset; + n_layer_idx->m_refers_to = "$$._parent._parent.part_idx[$$._key].refers-to.layers[$]"; + n_layer_idx->m_refers_to = "$$._parent.part_idx[$].refers-to"; + n_layer_idx->m_parent = p_node_parent; + n_layer_idx->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_layer_idx); + + field_name = "style_part_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_bp_appearance, field_name)); + auto n_style_part_idx = new NodeVector; + n_style_part_idx->m_field_name = field_name; + n_style_part_idx->m_df_type = DF_Type::int16_t; + n_style_part_idx->m_rdf_type = RDF_Type::Vector; + n_style_part_idx->m_node_type = NodeType::Vector; + n_style_part_idx->m_addornements = "v"; + n_style_part_idx->m_address = base + offset; + n_style_part_idx->m_refers_to = "$$._global.body_info.body_parts[$]"; + n_style_part_idx->m_parent = p_node_parent; + n_style_part_idx->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_style_part_idx); + + field_name = "style_layer_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_bp_appearance, field_name)); + auto n_style_layer_idx = new NodeVector; + n_style_layer_idx->m_field_name = field_name; + n_style_layer_idx->m_df_type = DF_Type::int16_t; + n_style_layer_idx->m_rdf_type = RDF_Type::Vector; + n_style_layer_idx->m_node_type = NodeType::Vector; + n_style_layer_idx->m_addornements = "v"; + n_style_layer_idx->m_address = base + offset; + n_style_layer_idx->m_refers_to = "$$._parent._parent.style_part_idx[$$._key].refers-to.layers[$]"; + n_style_layer_idx->m_refers_to = "$$._parent.style_part_idx[$].refers-to"; + n_style_layer_idx->m_parent = p_node_parent; + n_style_layer_idx->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_style_layer_idx); + + field_name = "style_list_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_bp_appearance, field_name)); + auto n_style_list_idx = new NodeVector; + n_style_list_idx->m_field_name = field_name; + n_style_list_idx->m_df_type = DF_Type::int32_t; + n_style_list_idx->m_rdf_type = RDF_Type::Vector; + n_style_list_idx->m_node_type = NodeType::Vector; + n_style_list_idx->m_addornements = "v"; + n_style_list_idx->m_address = base + offset; + n_style_list_idx->m_refers_to = "$$._parent._parent.modifier_idx[$].refers-to"; + n_style_list_idx->m_refers_to = "$$._parent.style_layer_idx[$].refers-to"; + n_style_list_idx->m_parent = p_node_parent; + n_style_list_idx->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_style_list_idx); + +} +void node_from_caste_raw__T_shearable_tissue_layer(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk_0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_shearable_tissue_layer, field_name)); + auto n_unk_0 = new NodeSimple; + n_unk_0->m_field_name = field_name; + n_unk_0->m_df_type = DF_Type::int8_t; + n_unk_0->m_rdf_type = RDF_Type::int8_t; + n_unk_0->m_node_type = NodeType::Simple; + n_unk_0->m_address = base + offset; + n_unk_0->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_0); + + field_name = "unk_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_shearable_tissue_layer, field_name)); + auto n_unk_1 = new NodeSimple; + n_unk_1->m_field_name = field_name; + n_unk_1->m_df_type = DF_Type::int8_t; + n_unk_1->m_rdf_type = RDF_Type::int8_t; + n_unk_1->m_node_type = NodeType::Simple; + n_unk_1->m_address = base + offset; + n_unk_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_1); + + field_name = "length"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_shearable_tissue_layer, field_name)); + auto n_length = new NodeSimple; + n_length->m_field_name = field_name; + n_length->m_df_type = DF_Type::int32_t; + n_length->m_rdf_type = RDF_Type::int32_t; + n_length->m_node_type = NodeType::Simple; + n_length->m_address = base + offset; + n_length->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_length); + + field_name = "part_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_shearable_tissue_layer, field_name)); + auto n_part_idx = new NodeVector; + n_part_idx->m_field_name = field_name; + n_part_idx->m_df_type = DF_Type::int16_t; + n_part_idx->m_rdf_type = RDF_Type::Vector; + n_part_idx->m_node_type = NodeType::Vector; + n_part_idx->m_addornements = "v"; + n_part_idx->m_address = base + offset; + n_part_idx->m_parent = p_node_parent; + n_part_idx->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_part_idx); + + field_name = "layer_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_shearable_tissue_layer, field_name)); + auto n_layer_idx = new NodeVector; + n_layer_idx->m_field_name = field_name; + n_layer_idx->m_df_type = DF_Type::int16_t; + n_layer_idx->m_rdf_type = RDF_Type::Vector; + n_layer_idx->m_node_type = NodeType::Vector; + n_layer_idx->m_addornements = "v"; + n_layer_idx->m_address = base + offset; + n_layer_idx->m_parent = p_node_parent; + n_layer_idx->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_layer_idx); + + field_name = "bp_modifiers_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_shearable_tissue_layer, field_name)); + auto n_bp_modifiers_idx = new NodeVector; + n_bp_modifiers_idx->m_field_name = field_name; + n_bp_modifiers_idx->m_df_type = DF_Type::int32_t; + n_bp_modifiers_idx->m_rdf_type = RDF_Type::Vector; + n_bp_modifiers_idx->m_node_type = NodeType::Vector; + n_bp_modifiers_idx->m_addornements = "v"; + n_bp_modifiers_idx->m_address = base + offset; + n_bp_modifiers_idx->m_parent = p_node_parent; + n_bp_modifiers_idx->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bp_modifiers_idx); + +} +void node_from_caste_raw__T_caste_profession_name(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "singular"; + auto n_singular = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_caste_profession_name, field_name)); + n_singular->m_field_name = field_name; + n_singular->m_df_type = DF_Type::Stl_string; + n_singular->m_rdf_type = RDF_Type::Array; + n_singular->m_node_type = NodeType::Array; + n_singular->m_index_enum = DF_Type::profession; + n_singular->m_addornements = "[135"; + n_singular->m_array_size = 135; + n_singular->m_address = base + offset; + n_singular->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_singular); + + field_name = "plural"; + auto n_plural = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_caste_profession_name, field_name)); + n_plural->m_field_name = field_name; + n_plural->m_df_type = DF_Type::Stl_string; + n_plural->m_rdf_type = RDF_Type::Array; + n_plural->m_node_type = NodeType::Array; + n_plural->m_index_enum = DF_Type::profession; + n_plural->m_addornements = "[135"; + n_plural->m_array_size = 135; + n_plural->m_address = base + offset; + n_plural->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_plural); + +} +void node_from_caste_raw__T_extracts(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "extract_mat"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); + auto n_extract_mat = new NodeVector; + n_extract_mat->m_field_name = field_name; + n_extract_mat->m_df_type = DF_Type::int16_t; + n_extract_mat->m_rdf_type = RDF_Type::Vector; + n_extract_mat->m_node_type = NodeType::Vector; + n_extract_mat->m_addornements = "v"; + n_extract_mat->m_address = base + offset; + n_extract_mat->m_parent = p_node_parent; + n_extract_mat->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_extract_mat); + + field_name = "extract_matidx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); + auto n_extract_matidx = new NodeVector; + n_extract_matidx->m_field_name = field_name; + n_extract_matidx->m_df_type = DF_Type::int32_t; + n_extract_matidx->m_rdf_type = RDF_Type::Vector; + n_extract_matidx->m_node_type = NodeType::Vector; + n_extract_matidx->m_addornements = "v"; + n_extract_matidx->m_address = base + offset; + n_extract_matidx->m_parent = p_node_parent; + n_extract_matidx->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_extract_matidx); + + field_name = "extract_str"; + auto n_extract_str = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); + n_extract_str->m_field_name = field_name; + n_extract_str->m_df_type = DF_Type::Stl_string; + n_extract_str->m_rdf_type = RDF_Type::Array; + n_extract_str->m_node_type = NodeType::Array; + n_extract_str->m_addornements = "[3v*"; + n_extract_str->m_array_size = 3; + n_extract_str->m_address = base + offset; + n_extract_str->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_extract_str); + + field_name = "milkable_mat"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); + auto n_milkable_mat = new NodeSimple; + n_milkable_mat->m_field_name = field_name; + n_milkable_mat->m_df_type = DF_Type::int16_t; + n_milkable_mat->m_rdf_type = RDF_Type::int16_t; + n_milkable_mat->m_node_type = NodeType::Simple; + n_milkable_mat->m_address = base + offset; + n_milkable_mat->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_milkable_mat); + + field_name = "milkable_matidx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); + auto n_milkable_matidx = new NodeSimple; + n_milkable_matidx->m_field_name = field_name; + n_milkable_matidx->m_df_type = DF_Type::int32_t; + n_milkable_matidx->m_rdf_type = RDF_Type::int32_t; + n_milkable_matidx->m_node_type = NodeType::Simple; + n_milkable_matidx->m_address = base + offset; + n_milkable_matidx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_milkable_matidx); + + field_name = "milkable_str"; + auto n_milkable_str = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); + n_milkable_str->m_field_name = field_name; + n_milkable_str->m_df_type = DF_Type::Stl_string; + n_milkable_str->m_rdf_type = RDF_Type::Array; + n_milkable_str->m_node_type = NodeType::Array; + n_milkable_str->m_addornements = "[3"; + n_milkable_str->m_array_size = 3; + n_milkable_str->m_address = base + offset; + n_milkable_str->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_milkable_str); + + field_name = "webber_mat"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); + auto n_webber_mat = new NodeSimple; + n_webber_mat->m_field_name = field_name; + n_webber_mat->m_df_type = DF_Type::int16_t; + n_webber_mat->m_rdf_type = RDF_Type::int16_t; + n_webber_mat->m_node_type = NodeType::Simple; + n_webber_mat->m_address = base + offset; + n_webber_mat->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_webber_mat); + + field_name = "webber_matidx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); + auto n_webber_matidx = new NodeSimple; + n_webber_matidx->m_field_name = field_name; + n_webber_matidx->m_df_type = DF_Type::int32_t; + n_webber_matidx->m_rdf_type = RDF_Type::int32_t; + n_webber_matidx->m_node_type = NodeType::Simple; + n_webber_matidx->m_address = base + offset; + n_webber_matidx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_webber_matidx); + + field_name = "webber_str"; + auto n_webber_str = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); + n_webber_str->m_field_name = field_name; + n_webber_str->m_df_type = DF_Type::Stl_string; + n_webber_str->m_rdf_type = RDF_Type::Array; + n_webber_str->m_node_type = NodeType::Array; + n_webber_str->m_addornements = "[3"; + n_webber_str->m_array_size = 3; + n_webber_str->m_address = base + offset; + n_webber_str->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_webber_str); + + field_name = "vermin_bite_mat"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); + auto n_vermin_bite_mat = new NodeSimple; + n_vermin_bite_mat->m_field_name = field_name; + n_vermin_bite_mat->m_df_type = DF_Type::int16_t; + n_vermin_bite_mat->m_rdf_type = RDF_Type::int16_t; + n_vermin_bite_mat->m_node_type = NodeType::Simple; + n_vermin_bite_mat->m_address = base + offset; + n_vermin_bite_mat->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_vermin_bite_mat); + + field_name = "vermin_bite_matidx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); + auto n_vermin_bite_matidx = new NodeSimple; + n_vermin_bite_matidx->m_field_name = field_name; + n_vermin_bite_matidx->m_df_type = DF_Type::int32_t; + n_vermin_bite_matidx->m_rdf_type = RDF_Type::int32_t; + n_vermin_bite_matidx->m_node_type = NodeType::Simple; + n_vermin_bite_matidx->m_address = base + offset; + n_vermin_bite_matidx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_vermin_bite_matidx); + + field_name = "vermin_bite_chance"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); + auto n_vermin_bite_chance = new NodeSimple; + n_vermin_bite_chance->m_field_name = field_name; + n_vermin_bite_chance->m_df_type = DF_Type::int16_t; + n_vermin_bite_chance->m_rdf_type = RDF_Type::int16_t; + n_vermin_bite_chance->m_node_type = NodeType::Simple; + n_vermin_bite_chance->m_address = base + offset; + n_vermin_bite_chance->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_vermin_bite_chance); + + field_name = "vermin_bite_str"; + auto n_vermin_bite_str = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); + n_vermin_bite_str->m_field_name = field_name; + n_vermin_bite_str->m_df_type = DF_Type::Stl_string; + n_vermin_bite_str->m_rdf_type = RDF_Type::Array; + n_vermin_bite_str->m_node_type = NodeType::Array; + n_vermin_bite_str->m_addornements = "[3"; + n_vermin_bite_str->m_array_size = 3; + n_vermin_bite_str->m_address = base + offset; + n_vermin_bite_str->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_vermin_bite_str); + + field_name = "tendons_mat"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); + auto n_tendons_mat = new NodeSimple; + n_tendons_mat->m_field_name = field_name; + n_tendons_mat->m_df_type = DF_Type::int16_t; + n_tendons_mat->m_rdf_type = RDF_Type::int16_t; + n_tendons_mat->m_node_type = NodeType::Simple; + n_tendons_mat->m_address = base + offset; + n_tendons_mat->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tendons_mat); + + field_name = "tendons_matidx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); + auto n_tendons_matidx = new NodeSimple; + n_tendons_matidx->m_field_name = field_name; + n_tendons_matidx->m_df_type = DF_Type::int32_t; + n_tendons_matidx->m_rdf_type = RDF_Type::int32_t; + n_tendons_matidx->m_node_type = NodeType::Simple; + n_tendons_matidx->m_address = base + offset; + n_tendons_matidx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tendons_matidx); + + field_name = "tendons_str"; + auto n_tendons_str = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); + n_tendons_str->m_field_name = field_name; + n_tendons_str->m_df_type = DF_Type::Stl_string; + n_tendons_str->m_rdf_type = RDF_Type::Array; + n_tendons_str->m_node_type = NodeType::Array; + n_tendons_str->m_addornements = "[3"; + n_tendons_str->m_array_size = 3; + n_tendons_str->m_address = base + offset; + n_tendons_str->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tendons_str); + + field_name = "tendons_heal"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); + auto n_tendons_heal = new NodeSimple; + n_tendons_heal->m_field_name = field_name; + n_tendons_heal->m_df_type = DF_Type::int32_t; + n_tendons_heal->m_rdf_type = RDF_Type::int32_t; + n_tendons_heal->m_node_type = NodeType::Simple; + n_tendons_heal->m_address = base + offset; + n_tendons_heal->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tendons_heal); + + field_name = "ligaments_mat"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); + auto n_ligaments_mat = new NodeSimple; + n_ligaments_mat->m_field_name = field_name; + n_ligaments_mat->m_df_type = DF_Type::int16_t; + n_ligaments_mat->m_rdf_type = RDF_Type::int16_t; + n_ligaments_mat->m_node_type = NodeType::Simple; + n_ligaments_mat->m_address = base + offset; + n_ligaments_mat->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ligaments_mat); + + field_name = "ligaments_matidx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); + auto n_ligaments_matidx = new NodeSimple; + n_ligaments_matidx->m_field_name = field_name; + n_ligaments_matidx->m_df_type = DF_Type::int32_t; + n_ligaments_matidx->m_rdf_type = RDF_Type::int32_t; + n_ligaments_matidx->m_node_type = NodeType::Simple; + n_ligaments_matidx->m_address = base + offset; + n_ligaments_matidx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ligaments_matidx); + + field_name = "ligaments_str"; + auto n_ligaments_str = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); + n_ligaments_str->m_field_name = field_name; + n_ligaments_str->m_df_type = DF_Type::Stl_string; + n_ligaments_str->m_rdf_type = RDF_Type::Array; + n_ligaments_str->m_node_type = NodeType::Array; + n_ligaments_str->m_addornements = "[3"; + n_ligaments_str->m_array_size = 3; + n_ligaments_str->m_address = base + offset; + n_ligaments_str->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ligaments_str); + + field_name = "ligaments_heal"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); + auto n_ligaments_heal = new NodeSimple; + n_ligaments_heal->m_field_name = field_name; + n_ligaments_heal->m_df_type = DF_Type::int32_t; + n_ligaments_heal->m_rdf_type = RDF_Type::int32_t; + n_ligaments_heal->m_node_type = NodeType::Simple; + n_ligaments_heal->m_address = base + offset; + n_ligaments_heal->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ligaments_heal); + + field_name = "blood_state"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); + auto n_blood_state = new NodeSimple; + n_blood_state->m_field_name = field_name; + n_blood_state->m_df_type = DF_Type::int16_t; + n_blood_state->m_rdf_type = RDF_Type::int16_t; + n_blood_state->m_node_type = NodeType::Simple; + n_blood_state->m_address = base + offset; + n_blood_state->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_blood_state); + + field_name = "blood_mat"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); + auto n_blood_mat = new NodeSimple; + n_blood_mat->m_field_name = field_name; + n_blood_mat->m_df_type = DF_Type::int16_t; + n_blood_mat->m_rdf_type = RDF_Type::int16_t; + n_blood_mat->m_node_type = NodeType::Simple; + n_blood_mat->m_address = base + offset; + n_blood_mat->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_blood_mat); + + field_name = "blood_matidx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); + auto n_blood_matidx = new NodeSimple; + n_blood_matidx->m_field_name = field_name; + n_blood_matidx->m_df_type = DF_Type::int32_t; + n_blood_matidx->m_rdf_type = RDF_Type::int32_t; + n_blood_matidx->m_node_type = NodeType::Simple; + n_blood_matidx->m_address = base + offset; + n_blood_matidx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_blood_matidx); + + field_name = "blood_str"; + auto n_blood_str = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); + n_blood_str->m_field_name = field_name; + n_blood_str->m_df_type = DF_Type::Stl_string; + n_blood_str->m_rdf_type = RDF_Type::Array; + n_blood_str->m_node_type = NodeType::Array; + n_blood_str->m_addornements = "[3"; + n_blood_str->m_array_size = 3; + n_blood_str->m_address = base + offset; + n_blood_str->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_blood_str); + + field_name = "pus_state"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); + auto n_pus_state = new NodeSimple; + n_pus_state->m_field_name = field_name; + n_pus_state->m_df_type = DF_Type::int16_t; + n_pus_state->m_rdf_type = RDF_Type::int16_t; + n_pus_state->m_node_type = NodeType::Simple; + n_pus_state->m_address = base + offset; + n_pus_state->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pus_state); + + field_name = "pus_mat"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); + auto n_pus_mat = new NodeSimple; + n_pus_mat->m_field_name = field_name; + n_pus_mat->m_df_type = DF_Type::int16_t; + n_pus_mat->m_rdf_type = RDF_Type::int16_t; + n_pus_mat->m_node_type = NodeType::Simple; + n_pus_mat->m_address = base + offset; + n_pus_mat->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pus_mat); + + field_name = "pus_matidx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); + auto n_pus_matidx = new NodeSimple; + n_pus_matidx->m_field_name = field_name; + n_pus_matidx->m_df_type = DF_Type::int32_t; + n_pus_matidx->m_rdf_type = RDF_Type::int32_t; + n_pus_matidx->m_node_type = NodeType::Simple; + n_pus_matidx->m_address = base + offset; + n_pus_matidx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pus_matidx); + + field_name = "pus_str"; + auto n_pus_str = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); + n_pus_str->m_field_name = field_name; + n_pus_str->m_df_type = DF_Type::Stl_string; + n_pus_str->m_rdf_type = RDF_Type::Array; + n_pus_str->m_node_type = NodeType::Array; + n_pus_str->m_addornements = "[3"; + n_pus_str->m_array_size = 3; + n_pus_str->m_address = base + offset; + n_pus_str->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pus_str); + + field_name = "egg_material_mattype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); + auto n_egg_material_mattype = new NodeVector; + n_egg_material_mattype->m_field_name = field_name; + n_egg_material_mattype->m_df_type = DF_Type::int16_t; + n_egg_material_mattype->m_rdf_type = RDF_Type::Vector; + n_egg_material_mattype->m_node_type = NodeType::Vector; + n_egg_material_mattype->m_addornements = "v"; + n_egg_material_mattype->m_address = base + offset; + n_egg_material_mattype->m_parent = p_node_parent; + n_egg_material_mattype->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_egg_material_mattype); + + field_name = "egg_material_matindex"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); + auto n_egg_material_matindex = new NodeVector; + n_egg_material_matindex->m_field_name = field_name; + n_egg_material_matindex->m_df_type = DF_Type::int32_t; + n_egg_material_matindex->m_rdf_type = RDF_Type::Vector; + n_egg_material_matindex->m_node_type = NodeType::Vector; + n_egg_material_matindex->m_addornements = "v"; + n_egg_material_matindex->m_address = base + offset; + n_egg_material_matindex->m_parent = p_node_parent; + n_egg_material_matindex->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_egg_material_matindex); + + field_name = "egg_material_str"; + auto n_egg_material_str = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); + n_egg_material_str->m_field_name = field_name; + n_egg_material_str->m_df_type = DF_Type::Stl_string; + n_egg_material_str->m_rdf_type = RDF_Type::Array; + n_egg_material_str->m_node_type = NodeType::Array; + n_egg_material_str->m_addornements = "[3v*"; + n_egg_material_str->m_array_size = 3; + n_egg_material_str->m_address = base + offset; + n_egg_material_str->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_egg_material_str); + + field_name = "lays_unusual_eggs_itemtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); + auto n_lays_unusual_eggs_itemtype = new NodeVector; + n_lays_unusual_eggs_itemtype->m_field_name = field_name; + n_lays_unusual_eggs_itemtype->m_df_type = DF_Type::item_type; + n_lays_unusual_eggs_itemtype->m_rdf_type = RDF_Type::Vector; + n_lays_unusual_eggs_itemtype->m_node_type = NodeType::Vector; + n_lays_unusual_eggs_itemtype->m_enum_base = DF_Type::int16_t; + n_lays_unusual_eggs_itemtype->m_defined_in = "df.item-raws.xml"; + n_lays_unusual_eggs_itemtype->m_addornements = "v"; + n_lays_unusual_eggs_itemtype->m_address = base + offset; + n_lays_unusual_eggs_itemtype->m_parent = p_node_parent; + n_lays_unusual_eggs_itemtype->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_lays_unusual_eggs_itemtype); + + field_name = "lays_unusual_eggs_itemsubtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); + auto n_lays_unusual_eggs_itemsubtype = new NodeVector; + n_lays_unusual_eggs_itemsubtype->m_field_name = field_name; + n_lays_unusual_eggs_itemsubtype->m_df_type = DF_Type::Void; + n_lays_unusual_eggs_itemsubtype->m_rdf_type = RDF_Type::Vector; + n_lays_unusual_eggs_itemsubtype->m_node_type = NodeType::Vector; + n_lays_unusual_eggs_itemsubtype->m_addornements = "v"; + n_lays_unusual_eggs_itemsubtype->m_address = base + offset; + n_lays_unusual_eggs_itemsubtype->m_parent = p_node_parent; + n_lays_unusual_eggs_itemsubtype->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_lays_unusual_eggs_itemsubtype); + + field_name = "lays_unusual_eggs_mattype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); + auto n_lays_unusual_eggs_mattype = new NodeVector; + n_lays_unusual_eggs_mattype->m_field_name = field_name; + n_lays_unusual_eggs_mattype->m_df_type = DF_Type::int16_t; + n_lays_unusual_eggs_mattype->m_rdf_type = RDF_Type::Vector; + n_lays_unusual_eggs_mattype->m_node_type = NodeType::Vector; + n_lays_unusual_eggs_mattype->m_addornements = "v"; + n_lays_unusual_eggs_mattype->m_address = base + offset; + n_lays_unusual_eggs_mattype->m_parent = p_node_parent; + n_lays_unusual_eggs_mattype->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_lays_unusual_eggs_mattype); + + field_name = "lays_unusual_eggs_matindex"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); + auto n_lays_unusual_eggs_matindex = new NodeVector; + n_lays_unusual_eggs_matindex->m_field_name = field_name; + n_lays_unusual_eggs_matindex->m_df_type = DF_Type::int32_t; + n_lays_unusual_eggs_matindex->m_rdf_type = RDF_Type::Vector; + n_lays_unusual_eggs_matindex->m_node_type = NodeType::Vector; + n_lays_unusual_eggs_matindex->m_addornements = "v"; + n_lays_unusual_eggs_matindex->m_address = base + offset; + n_lays_unusual_eggs_matindex->m_parent = p_node_parent; + n_lays_unusual_eggs_matindex->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_lays_unusual_eggs_matindex); + + field_name = "lays_unusual_eggs_str"; + auto n_lays_unusual_eggs_str = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_extracts, field_name)); + n_lays_unusual_eggs_str->m_field_name = field_name; + n_lays_unusual_eggs_str->m_df_type = DF_Type::Stl_string; + n_lays_unusual_eggs_str->m_rdf_type = RDF_Type::Array; + n_lays_unusual_eggs_str->m_node_type = NodeType::Array; + n_lays_unusual_eggs_str->m_addornements = "[5v*"; + n_lays_unusual_eggs_str->m_array_size = 5; + n_lays_unusual_eggs_str->m_address = base + offset; + n_lays_unusual_eggs_str->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_lays_unusual_eggs_str); + +} +void node_from_caste_raw__T_secretion(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_secretion, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_secretion, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "mat_state"; + auto n_mat_state = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_secretion, field_name)); + n_mat_state->m_field_name = field_name; + n_mat_state->m_df_type = DF_Type::matter_state; + n_mat_state->m_rdf_type = RDF_Type::Enum; + n_mat_state->m_node_type = NodeType::Enum; + n_mat_state->m_base_type = DF_Type::int16_t; + n_mat_state->m_enum_type = "matter_state"; + n_mat_state->m_address = base + offset; + n_mat_state->m_defined_in = "df.materials.xml"; + n_mat_state->m_first_value = -1; + n_mat_state->m_last_value = 5; + n_mat_state->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_state); + + field_name = "mat_type_str"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_secretion, field_name)); + auto n_mat_type_str = new NodeSimple; + n_mat_type_str->m_field_name = field_name; + n_mat_type_str->m_df_type = DF_Type::Stl_string; + n_mat_type_str->m_rdf_type = RDF_Type::Stl_string; + n_mat_type_str->m_node_type = NodeType::Simple; + n_mat_type_str->m_address = base + offset; + n_mat_type_str->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type_str); + + field_name = "mat_index_str"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_secretion, field_name)); + auto n_mat_index_str = new NodeSimple; + n_mat_index_str->m_field_name = field_name; + n_mat_index_str->m_df_type = DF_Type::Stl_string; + n_mat_index_str->m_rdf_type = RDF_Type::Stl_string; + n_mat_index_str->m_node_type = NodeType::Simple; + n_mat_index_str->m_address = base + offset; + n_mat_index_str->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index_str); + + field_name = "unk_44"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_secretion, field_name)); + auto n_unk_44 = new NodeSimple; + n_unk_44->m_field_name = field_name; + n_unk_44->m_df_type = DF_Type::Stl_string; + n_unk_44->m_rdf_type = RDF_Type::Stl_string; + n_unk_44->m_node_type = NodeType::Simple; + n_unk_44->m_address = base + offset; + n_unk_44->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_44); + + field_name = "body_part_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_secretion, field_name)); + auto n_body_part_id = new NodeVector; + n_body_part_id->m_field_name = field_name; + n_body_part_id->m_df_type = DF_Type::int16_t; + n_body_part_id->m_rdf_type = RDF_Type::Vector; + n_body_part_id->m_node_type = NodeType::Vector; + n_body_part_id->m_addornements = "v"; + n_body_part_id->m_address = base + offset; + n_body_part_id->m_refers_to = "$$._upglobal.body_info.body_parts[$]"; + n_body_part_id->m_parent = p_node_parent; + n_body_part_id->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_body_part_id); + + field_name = "layer_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_secretion, field_name)); + auto n_layer_id = new NodeVector; + n_layer_id->m_field_name = field_name; + n_layer_id->m_df_type = DF_Type::int16_t; + n_layer_id->m_rdf_type = RDF_Type::Vector; + n_layer_id->m_node_type = NodeType::Vector; + n_layer_id->m_addornements = "v"; + n_layer_id->m_address = base + offset; + n_layer_id->m_refers_to = "$$._parent._parent.body_part_id[$$._key].refers-to.layers[$]"; + n_layer_id->m_parent = p_node_parent; + n_layer_id->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_layer_id); + + field_name = "cause"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_secretion, field_name)); + auto n_cause = new NodeSimple; + n_cause->m_field_name = field_name; + n_cause->m_df_type = DF_Type::int32_t; + n_cause->m_rdf_type = RDF_Type::int32_t; + n_cause->m_node_type = NodeType::Simple; + n_cause->m_address = base + offset; + n_cause->m_comment = "2 EXERTION, 1 EXTREME_EMOTION, 0 always?"; + n_cause->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cause); + +} +void node_from_caste_raw__T_unknown2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk_v4201_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_unknown2, field_name)); + auto n_unk_v4201_1 = new NodeVector; + n_unk_v4201_1->m_field_name = field_name; + n_unk_v4201_1->m_df_type = DF_Type::Void; + n_unk_v4201_1->m_rdf_type = RDF_Type::Vector; + n_unk_v4201_1->m_node_type = NodeType::Vector; + n_unk_v4201_1->m_addornements = "v"; + n_unk_v4201_1->m_address = base + offset; + n_unk_v4201_1->m_parent = p_node_parent; + n_unk_v4201_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_v4201_1); + + field_name = "unk_v4201_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_unknown2, field_name)); + auto n_unk_v4201_2 = new NodeVector; + n_unk_v4201_2->m_field_name = field_name; + n_unk_v4201_2->m_df_type = DF_Type::Void; + n_unk_v4201_2->m_rdf_type = RDF_Type::Vector; + n_unk_v4201_2->m_node_type = NodeType::Vector; + n_unk_v4201_2->m_addornements = "v"; + n_unk_v4201_2->m_address = base + offset; + n_unk_v4201_2->m_parent = p_node_parent; + n_unk_v4201_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_v4201_2); + + field_name = "gobble_vermin_class"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_unknown2, field_name)); + auto n_gobble_vermin_class = new NodeVector; + n_gobble_vermin_class->m_field_name = field_name; + n_gobble_vermin_class->m_df_type = DF_Type::Stl_string; + n_gobble_vermin_class->m_rdf_type = RDF_Type::Vector; + n_gobble_vermin_class->m_node_type = NodeType::Vector; + n_gobble_vermin_class->m_addornements = "v*"; + n_gobble_vermin_class->m_address = base + offset; + n_gobble_vermin_class->m_parent = p_node_parent; + n_gobble_vermin_class->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_gobble_vermin_class); + + field_name = "gobble_vermin_creature_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_unknown2, field_name)); + auto n_gobble_vermin_creature_1 = new NodeVector; + n_gobble_vermin_creature_1->m_field_name = field_name; + n_gobble_vermin_creature_1->m_df_type = DF_Type::Stl_string; + n_gobble_vermin_creature_1->m_rdf_type = RDF_Type::Vector; + n_gobble_vermin_creature_1->m_node_type = NodeType::Vector; + n_gobble_vermin_creature_1->m_addornements = "v*"; + n_gobble_vermin_creature_1->m_address = base + offset; + n_gobble_vermin_creature_1->m_parent = p_node_parent; + n_gobble_vermin_creature_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_gobble_vermin_creature_1); + + field_name = "gobble_vermin_creature_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_unknown2, field_name)); + auto n_gobble_vermin_creature_2 = new NodeVector; + n_gobble_vermin_creature_2->m_field_name = field_name; + n_gobble_vermin_creature_2->m_df_type = DF_Type::Stl_string; + n_gobble_vermin_creature_2->m_rdf_type = RDF_Type::Vector; + n_gobble_vermin_creature_2->m_node_type = NodeType::Vector; + n_gobble_vermin_creature_2->m_addornements = "v*"; + n_gobble_vermin_creature_2->m_address = base + offset; + n_gobble_vermin_creature_2->m_parent = p_node_parent; + n_gobble_vermin_creature_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_gobble_vermin_creature_2); + + field_name = "infect_all"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_unknown2, field_name)); + auto n_infect_all = new NodeVector; + n_infect_all->m_field_name = field_name; + n_infect_all->m_df_type = DF_Type::int32_t; + n_infect_all->m_rdf_type = RDF_Type::Vector; + n_infect_all->m_node_type = NodeType::Vector; + n_infect_all->m_addornements = "v"; + n_infect_all->m_address = base + offset; + n_infect_all->m_comment = "for spatter applied to all bp"; + n_infect_all->m_parent = p_node_parent; + n_infect_all->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_infect_all); + + field_name = "infect_local"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_unknown2, field_name)); + auto n_infect_local = new NodeVector; + n_infect_local->m_field_name = field_name; + n_infect_local->m_df_type = DF_Type::int32_t; + n_infect_local->m_rdf_type = RDF_Type::Vector; + n_infect_local->m_node_type = NodeType::Vector; + n_infect_local->m_addornements = "v"; + n_infect_local->m_address = base + offset; + n_infect_local->m_comment = "for spatter applied to one bp"; + n_infect_local->m_parent = p_node_parent; + n_infect_local->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_infect_local); + + field_name = "unk23f"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_unknown2, field_name)); + auto n_unk23f = new NodeVector; + n_unk23f->m_field_name = field_name; + n_unk23f->m_df_type = DF_Type::int32_t; + n_unk23f->m_rdf_type = RDF_Type::Vector; + n_unk23f->m_node_type = NodeType::Vector; + n_unk23f->m_addornements = "v"; + n_unk23f->m_address = base + offset; + n_unk23f->m_parent = p_node_parent; + n_unk23f->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk23f); + + field_name = "unk23g"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_unknown2, field_name)); + auto n_unk23g = new NodeVector; + n_unk23g->m_field_name = field_name; + n_unk23g->m_df_type = DF_Type::int32_t; + n_unk23g->m_rdf_type = RDF_Type::Vector; + n_unk23g->m_node_type = NodeType::Vector; + n_unk23g->m_addornements = "v"; + n_unk23g->m_address = base + offset; + n_unk23g->m_parent = p_node_parent; + n_unk23g->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk23g); + + field_name = "unk24_flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_unknown2, field_name)); + auto n_unk24_flags = new NodeDFFlagArray; + n_unk24_flags->m_field_name = field_name; + n_unk24_flags->m_df_type = DF_Type::int32_t; + n_unk24_flags->m_size = 32; + n_unk24_flags->m_rdf_type = RDF_Type::DFFlagArray; + n_unk24_flags->m_node_type = NodeType::Bitfield; + n_unk24_flags->m_address = base + offset; + n_unk24_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk24_flags); + + field_name = "unk25_flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_unknown2, field_name)); + auto n_unk25_flags = new NodeDFFlagArray; + n_unk25_flags->m_field_name = field_name; + n_unk25_flags->m_df_type = DF_Type::int32_t; + n_unk25_flags->m_size = 32; + n_unk25_flags->m_rdf_type = RDF_Type::DFFlagArray; + n_unk25_flags->m_node_type = NodeType::Bitfield; + n_unk25_flags->m_address = base + offset; + n_unk25_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk25_flags); + + field_name = "armor_sizes"; + auto n_armor_sizes = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_unknown2, field_name)); + n_armor_sizes->m_field_name = field_name; + n_armor_sizes->m_df_type = DF_Type::int32_t; + n_armor_sizes->m_rdf_type = RDF_Type::Array; + n_armor_sizes->m_comment = "index by UBSTEP"; + n_armor_sizes->m_node_type = NodeType::Array; + n_armor_sizes->m_addornements = "[4[4"; + n_armor_sizes->m_array_size = 4; + n_armor_sizes->m_address = base + offset; + n_armor_sizes->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_armor_sizes); + + field_name = "pants_sizes"; + auto n_pants_sizes = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_unknown2, field_name)); + n_pants_sizes->m_field_name = field_name; + n_pants_sizes->m_df_type = DF_Type::int32_t; + n_pants_sizes->m_rdf_type = RDF_Type::Array; + n_pants_sizes->m_comment = "index by LBSTEP"; + n_pants_sizes->m_node_type = NodeType::Array; + n_pants_sizes->m_addornements = "[4"; + n_pants_sizes->m_array_size = 4; + n_pants_sizes->m_address = base + offset; + n_pants_sizes->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pants_sizes); + + field_name = "helm_size"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_unknown2, field_name)); + auto n_helm_size = new NodeSimple; + n_helm_size->m_field_name = field_name; + n_helm_size->m_df_type = DF_Type::int32_t; + n_helm_size->m_rdf_type = RDF_Type::int32_t; + n_helm_size->m_node_type = NodeType::Simple; + n_helm_size->m_address = base + offset; + n_helm_size->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_helm_size); + + field_name = "shield_sizes"; + auto n_shield_sizes = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_unknown2, field_name)); + n_shield_sizes->m_field_name = field_name; + n_shield_sizes->m_df_type = DF_Type::int32_t; + n_shield_sizes->m_rdf_type = RDF_Type::Array; + n_shield_sizes->m_comment = "index by UPSTEP"; + n_shield_sizes->m_node_type = NodeType::Array; + n_shield_sizes->m_addornements = "[4"; + n_shield_sizes->m_array_size = 4; + n_shield_sizes->m_address = base + offset; + n_shield_sizes->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_shield_sizes); + + field_name = "shoes_sizes"; + auto n_shoes_sizes = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_unknown2, field_name)); + n_shoes_sizes->m_field_name = field_name; + n_shoes_sizes->m_df_type = DF_Type::int32_t; + n_shoes_sizes->m_rdf_type = RDF_Type::Array; + n_shoes_sizes->m_comment = "index by UPSTEP"; + n_shoes_sizes->m_node_type = NodeType::Array; + n_shoes_sizes->m_addornements = "[4"; + n_shoes_sizes->m_array_size = 4; + n_shoes_sizes->m_address = base + offset; + n_shoes_sizes->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_shoes_sizes); + + field_name = "gloves_sizes"; + auto n_gloves_sizes = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_unknown2, field_name)); + n_gloves_sizes->m_field_name = field_name; + n_gloves_sizes->m_df_type = DF_Type::int32_t; + n_gloves_sizes->m_rdf_type = RDF_Type::Array; + n_gloves_sizes->m_comment = "index by UPSTEP"; + n_gloves_sizes->m_node_type = NodeType::Array; + n_gloves_sizes->m_addornements = "[4"; + n_gloves_sizes->m_array_size = 4; + n_gloves_sizes->m_address = base + offset; + n_gloves_sizes->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_gloves_sizes); + + field_name = "materials"; + auto n_materials = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_unknown2, field_name)); + n_materials->m_field_name = field_name; + n_materials->m_df_type = DF_Type::material_vec_ref; + n_materials->m_rdf_type = RDF_Type::Struct; + n_materials->m_node_type = NodeType::Compound; + n_materials->m_address = base + offset; + n_materials->m_defined_in = "df.materials.xml"; + n_materials->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_materials); + + field_name = "unk_2f20"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_unknown2, field_name)); + auto n_unk_2f20 = new NodeVector; + n_unk_2f20->m_field_name = field_name; + n_unk_2f20->m_df_type = DF_Type::int16_t; + n_unk_2f20->m_rdf_type = RDF_Type::Vector; + n_unk_2f20->m_node_type = NodeType::Vector; + n_unk_2f20->m_addornements = "v"; + n_unk_2f20->m_address = base + offset; + n_unk_2f20->m_parent = p_node_parent; + n_unk_2f20->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_2f20); + + field_name = "unk_2f30"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_unknown2, field_name)); + auto n_unk_2f30 = new NodeVector; + n_unk_2f30->m_field_name = field_name; + n_unk_2f30->m_df_type = DF_Type::int8_t; + n_unk_2f30->m_rdf_type = RDF_Type::Vector; + n_unk_2f30->m_node_type = NodeType::Vector; + n_unk_2f30->m_addornements = "v"; + n_unk_2f30->m_address = base + offset; + n_unk_2f30->m_parent = p_node_parent; + n_unk_2f30->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_2f30); + + field_name = "unk_2f40"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_unknown2, field_name)); + auto n_unk_2f40 = new NodeVector; + n_unk_2f40->m_field_name = field_name; + n_unk_2f40->m_df_type = DF_Type::int32_t; + n_unk_2f40->m_rdf_type = RDF_Type::Vector; + n_unk_2f40->m_node_type = NodeType::Vector; + n_unk_2f40->m_addornements = "v"; + n_unk_2f40->m_address = base + offset; + n_unk_2f40->m_parent = p_node_parent; + n_unk_2f40->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_2f40); + + field_name = "unk_2f50"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_unknown2, field_name)); + auto n_unk_2f50 = new NodeVector; + n_unk_2f50->m_field_name = field_name; + n_unk_2f50->m_df_type = DF_Type::int16_t; + n_unk_2f50->m_rdf_type = RDF_Type::Vector; + n_unk_2f50->m_node_type = NodeType::Vector; + n_unk_2f50->m_addornements = "v"; + n_unk_2f50->m_address = base + offset; + n_unk_2f50->m_parent = p_node_parent; + n_unk_2f50->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_2f50); + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_unknown2, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw__T_unknown2, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + +} +void node_from_caste_raw(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "caste_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + auto n_caste_id = new NodeSimple; + n_caste_id->m_field_name = field_name; + n_caste_id->m_df_type = DF_Type::Stl_string; + n_caste_id->m_rdf_type = RDF_Type::Stl_string; + n_caste_id->m_node_type = NodeType::Simple; + n_caste_id->m_address = base + offset; + n_caste_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_caste_id); + + field_name = "caste_name"; + auto n_caste_name = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + n_caste_name->m_field_name = field_name; + n_caste_name->m_df_type = DF_Type::Stl_string; + n_caste_name->m_rdf_type = RDF_Type::Array; + n_caste_name->m_node_type = NodeType::Array; + n_caste_name->m_addornements = "[3"; + n_caste_name->m_array_size = 3; + n_caste_name->m_address = base + offset; + n_caste_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_caste_name); + + field_name = "vermin_bite_txt"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + auto n_vermin_bite_txt = new NodeSimple; + n_vermin_bite_txt->m_field_name = field_name; + n_vermin_bite_txt->m_df_type = DF_Type::Stl_string; + n_vermin_bite_txt->m_rdf_type = RDF_Type::Stl_string; + n_vermin_bite_txt->m_node_type = NodeType::Simple; + n_vermin_bite_txt->m_address = base + offset; + n_vermin_bite_txt->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_vermin_bite_txt); + + field_name = "gnawer_txt"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + auto n_gnawer_txt = new NodeSimple; + n_gnawer_txt->m_field_name = field_name; + n_gnawer_txt->m_df_type = DF_Type::Stl_string; + n_gnawer_txt->m_rdf_type = RDF_Type::Stl_string; + n_gnawer_txt->m_node_type = NodeType::Simple; + n_gnawer_txt->m_address = base + offset; + n_gnawer_txt->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_gnawer_txt); + + field_name = "baby_name"; + auto n_baby_name = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + n_baby_name->m_field_name = field_name; + n_baby_name->m_df_type = DF_Type::Stl_string; + n_baby_name->m_rdf_type = RDF_Type::Array; + n_baby_name->m_node_type = NodeType::Array; + n_baby_name->m_addornements = "[2"; + n_baby_name->m_array_size = 2; + n_baby_name->m_address = base + offset; + n_baby_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_baby_name); + + field_name = "child_name"; + auto n_child_name = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + n_child_name->m_field_name = field_name; + n_child_name->m_df_type = DF_Type::Stl_string; + n_child_name->m_rdf_type = RDF_Type::Array; + n_child_name->m_node_type = NodeType::Array; + n_child_name->m_addornements = "[2"; + n_child_name->m_array_size = 2; + n_child_name->m_address = base + offset; + n_child_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_child_name); + + field_name = "itemcorpse_str"; + auto n_itemcorpse_str = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + n_itemcorpse_str->m_field_name = field_name; + n_itemcorpse_str->m_df_type = DF_Type::Stl_string; + n_itemcorpse_str->m_rdf_type = RDF_Type::Array; + n_itemcorpse_str->m_node_type = NodeType::Array; + n_itemcorpse_str->m_addornements = "[5"; + n_itemcorpse_str->m_array_size = 5; + n_itemcorpse_str->m_address = base + offset; + n_itemcorpse_str->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_itemcorpse_str); + + field_name = "remains"; + auto n_remains = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + n_remains->m_field_name = field_name; + n_remains->m_df_type = DF_Type::Stl_string; + n_remains->m_rdf_type = RDF_Type::Array; + n_remains->m_node_type = NodeType::Array; + n_remains->m_addornements = "[2"; + n_remains->m_array_size = 2; + n_remains->m_address = base + offset; + n_remains->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_remains); + + field_name = "description"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + auto n_description = new NodeSimple; + n_description->m_field_name = field_name; + n_description->m_df_type = DF_Type::Stl_string; + n_description->m_rdf_type = RDF_Type::Stl_string; + n_description->m_node_type = NodeType::Simple; + n_description->m_address = base + offset; + n_description->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_description); + + field_name = "mannerisms"; + auto n_mannerisms = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + n_mannerisms->m_field_name = field_name; + n_mannerisms->m_df_type = DF_Type::Stl_string; + n_mannerisms->m_rdf_type = RDF_Type::Array; + n_mannerisms->m_node_type = NodeType::Array; + n_mannerisms->m_addornements = "[17"; + n_mannerisms->m_array_size = 17; + n_mannerisms->m_address = base + offset; + n_mannerisms->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mannerisms); + + field_name = "caste_tile"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + auto n_caste_tile = new NodeSimple; + n_caste_tile->m_field_name = field_name; + n_caste_tile->m_df_type = DF_Type::uint8_t; + n_caste_tile->m_rdf_type = RDF_Type::uint8_t; + n_caste_tile->m_node_type = NodeType::Simple; + n_caste_tile->m_address = base + offset; + n_caste_tile->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_caste_tile); + + field_name = "caste_soldier_tile"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + auto n_caste_soldier_tile = new NodeSimple; + n_caste_soldier_tile->m_field_name = field_name; + n_caste_soldier_tile->m_df_type = DF_Type::uint8_t; + n_caste_soldier_tile->m_rdf_type = RDF_Type::uint8_t; + n_caste_soldier_tile->m_node_type = NodeType::Simple; + n_caste_soldier_tile->m_address = base + offset; + n_caste_soldier_tile->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_caste_soldier_tile); + + field_name = "caste_alttile"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + auto n_caste_alttile = new NodeSimple; + n_caste_alttile->m_field_name = field_name; + n_caste_alttile->m_df_type = DF_Type::uint8_t; + n_caste_alttile->m_rdf_type = RDF_Type::uint8_t; + n_caste_alttile->m_node_type = NodeType::Simple; + n_caste_alttile->m_address = base + offset; + n_caste_alttile->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_caste_alttile); + + field_name = "caste_soldier_alttile"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + auto n_caste_soldier_alttile = new NodeSimple; + n_caste_soldier_alttile->m_field_name = field_name; + n_caste_soldier_alttile->m_df_type = DF_Type::uint8_t; + n_caste_soldier_alttile->m_rdf_type = RDF_Type::uint8_t; + n_caste_soldier_alttile->m_node_type = NodeType::Simple; + n_caste_soldier_alttile->m_address = base + offset; + n_caste_soldier_alttile->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_caste_soldier_alttile); + + field_name = "caste_glowtile"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + auto n_caste_glowtile = new NodeSimple; + n_caste_glowtile->m_field_name = field_name; + n_caste_glowtile->m_df_type = DF_Type::uint8_t; + n_caste_glowtile->m_rdf_type = RDF_Type::uint8_t; + n_caste_glowtile->m_node_type = NodeType::Simple; + n_caste_glowtile->m_address = base + offset; + n_caste_glowtile->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_caste_glowtile); + + field_name = "homeotherm"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + auto n_homeotherm = new NodeSimple; + n_homeotherm->m_field_name = field_name; + n_homeotherm->m_df_type = DF_Type::uint16_t; + n_homeotherm->m_rdf_type = RDF_Type::uint16_t; + n_homeotherm->m_node_type = NodeType::Simple; + n_homeotherm->m_address = base + offset; + n_homeotherm->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_homeotherm); + + field_name = "min_temp"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + auto n_min_temp = new NodeSimple; + n_min_temp->m_field_name = field_name; + n_min_temp->m_df_type = DF_Type::uint16_t; + n_min_temp->m_rdf_type = RDF_Type::uint16_t; + n_min_temp->m_node_type = NodeType::Simple; + n_min_temp->m_address = base + offset; + n_min_temp->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_min_temp); + + field_name = "max_temp"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + auto n_max_temp = new NodeSimple; + n_max_temp->m_field_name = field_name; + n_max_temp->m_df_type = DF_Type::uint16_t; + n_max_temp->m_rdf_type = RDF_Type::uint16_t; + n_max_temp->m_node_type = NodeType::Simple; + n_max_temp->m_address = base + offset; + n_max_temp->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_max_temp); + + field_name = "fixed_temp"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + auto n_fixed_temp = new NodeSimple; + n_fixed_temp->m_field_name = field_name; + n_fixed_temp->m_df_type = DF_Type::uint16_t; + n_fixed_temp->m_rdf_type = RDF_Type::uint16_t; + n_fixed_temp->m_node_type = NodeType::Simple; + n_fixed_temp->m_address = base + offset; + n_fixed_temp->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_fixed_temp); + + field_name = "caste_color"; + auto n_caste_color = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + n_caste_color->m_field_name = field_name; + n_caste_color->m_df_type = DF_Type::int16_t; + n_caste_color->m_rdf_type = RDF_Type::Array; + n_caste_color->m_node_type = NodeType::Array; + n_caste_color->m_addornements = "[3"; + n_caste_color->m_array_size = 3; + n_caste_color->m_address = base + offset; + n_caste_color->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_caste_color); + + field_name = "misc"; + auto n_misc = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + n_misc->m_field_name = field_name; + n_misc->m_df_type = DF_Type::caste_raw__T_misc; + n_misc->m_rdf_type = RDF_Type::Compound; + n_misc->m_node_type = NodeType::Compound; + n_misc->m_address = base + offset; + n_misc->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_misc); + + field_name = "personality"; + auto n_personality = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + n_personality->m_field_name = field_name; + n_personality->m_df_type = DF_Type::caste_raw__T_personality; + n_personality->m_rdf_type = RDF_Type::Compound; + n_personality->m_node_type = NodeType::Compound; + n_personality->m_address = base + offset; + n_personality->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_personality); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + auto n_flags = new NodeDFFlagArray; + n_flags->m_field_name = field_name; + n_flags->m_index_enum = DF_Type::caste_raw_flags; + n_flags->m_df_type = DF_Type::caste_raw_flags; + n_flags->m_size = 173; + n_flags->m_rdf_type = RDF_Type::DFFlagArray; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_defined_in = "df.creature-raws.xml"; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + auto n_index = new NodeSimple; + n_index->m_field_name = field_name; + n_index->m_df_type = DF_Type::int32_t; + n_index->m_rdf_type = RDF_Type::int32_t; + n_index->m_node_type = NodeType::Simple; + n_index->m_address = base + offset; + n_index->m_comment = "global across creatures"; + n_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_index); + + field_name = "body_info"; + auto n_body_info = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + n_body_info->m_field_name = field_name; + n_body_info->m_df_type = DF_Type::caste_body_info; + n_body_info->m_rdf_type = RDF_Type::Struct; + n_body_info->m_node_type = NodeType::Compound; + n_body_info->m_address = base + offset; + n_body_info->m_defined_in = "df.creature-raws.xml"; + n_body_info->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_body_info); + + field_name = "caste_speech_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + auto n_caste_speech_1 = new NodeVector; + n_caste_speech_1->m_field_name = field_name; + n_caste_speech_1->m_df_type = DF_Type::Void; + n_caste_speech_1->m_rdf_type = RDF_Type::Vector; + n_caste_speech_1->m_node_type = NodeType::Vector; + n_caste_speech_1->m_addornements = "v"; + n_caste_speech_1->m_address = base + offset; + n_caste_speech_1->m_parent = p_node_parent; + n_caste_speech_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_caste_speech_1); + + field_name = "caste_speech_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + auto n_caste_speech_2 = new NodeVector; + n_caste_speech_2->m_field_name = field_name; + n_caste_speech_2->m_df_type = DF_Type::Void; + n_caste_speech_2->m_rdf_type = RDF_Type::Vector; + n_caste_speech_2->m_node_type = NodeType::Vector; + n_caste_speech_2->m_addornements = "v"; + n_caste_speech_2->m_address = base + offset; + n_caste_speech_2->m_parent = p_node_parent; + n_caste_speech_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_caste_speech_2); + + field_name = "skill_rates"; + auto n_skill_rates = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + n_skill_rates->m_field_name = field_name; + n_skill_rates->m_df_type = DF_Type::int32_t; + n_skill_rates->m_rdf_type = RDF_Type::Array; + n_skill_rates->m_node_type = NodeType::Array; + n_skill_rates->m_addornements = "[4[135"; + n_skill_rates->m_array_size = 4; + n_skill_rates->m_address = base + offset; + n_skill_rates->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_skill_rates); + + field_name = "attributes"; + auto n_attributes = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + n_attributes->m_field_name = field_name; + n_attributes->m_df_type = DF_Type::caste_raw__T_attributes; + n_attributes->m_rdf_type = RDF_Type::Compound; + n_attributes->m_node_type = NodeType::Compound; + n_attributes->m_address = base + offset; + n_attributes->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_attributes); + + field_name = "gender"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + auto n_gender = new NodeSimple; + n_gender->m_field_name = field_name; + n_gender->m_df_type = DF_Type::int8_t; + n_gender->m_rdf_type = RDF_Type::int8_t; + n_gender->m_node_type = NodeType::Simple; + n_gender->m_address = base + offset; + n_gender->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_gender); + + field_name = "orientation_male"; + auto n_orientation_male = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + n_orientation_male->m_field_name = field_name; + n_orientation_male->m_df_type = DF_Type::int32_t; + n_orientation_male->m_rdf_type = RDF_Type::Array; + n_orientation_male->m_node_type = NodeType::Array; + n_orientation_male->m_addornements = "[3"; + n_orientation_male->m_array_size = 3; + n_orientation_male->m_address = base + offset; + n_orientation_male->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_orientation_male); + + field_name = "orientation_female"; + auto n_orientation_female = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + n_orientation_female->m_field_name = field_name; + n_orientation_female->m_df_type = DF_Type::int32_t; + n_orientation_female->m_rdf_type = RDF_Type::Array; + n_orientation_female->m_node_type = NodeType::Array; + n_orientation_female->m_addornements = "[3"; + n_orientation_female->m_array_size = 3; + n_orientation_female->m_address = base + offset; + n_orientation_female->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_orientation_female); + + field_name = "body_size_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + auto n_body_size_1 = new NodeVector; + n_body_size_1->m_field_name = field_name; + n_body_size_1->m_df_type = DF_Type::int32_t; + n_body_size_1->m_rdf_type = RDF_Type::Vector; + n_body_size_1->m_node_type = NodeType::Vector; + n_body_size_1->m_addornements = "v"; + n_body_size_1->m_address = base + offset; + n_body_size_1->m_comment = "age in ticks"; + n_body_size_1->m_parent = p_node_parent; + n_body_size_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_body_size_1); + + field_name = "body_size_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + auto n_body_size_2 = new NodeVector; + n_body_size_2->m_field_name = field_name; + n_body_size_2->m_df_type = DF_Type::int32_t; + n_body_size_2->m_rdf_type = RDF_Type::Vector; + n_body_size_2->m_node_type = NodeType::Vector; + n_body_size_2->m_addornements = "v"; + n_body_size_2->m_address = base + offset; + n_body_size_2->m_comment = "size at the age at the same index in body_size_1"; + n_body_size_2->m_parent = p_node_parent; + n_body_size_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_body_size_2); + + field_name = "body_appearance_modifiers"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + auto n_body_appearance_modifiers = new NodeVector; + n_body_appearance_modifiers->m_field_name = field_name; + n_body_appearance_modifiers->m_df_type = DF_Type::body_appearance_modifier; + n_body_appearance_modifiers->m_rdf_type = RDF_Type::Vector; + n_body_appearance_modifiers->m_node_type = NodeType::Vector; + n_body_appearance_modifiers->m_defined_in = "df.creature-raws.xml"; + n_body_appearance_modifiers->m_addornements = "v*"; + n_body_appearance_modifiers->m_address = base + offset; + n_body_appearance_modifiers->m_parent = p_node_parent; + n_body_appearance_modifiers->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_body_appearance_modifiers); + + field_name = "bp_appearance"; + auto n_bp_appearance = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + n_bp_appearance->m_field_name = field_name; + n_bp_appearance->m_df_type = DF_Type::caste_raw__T_bp_appearance; + n_bp_appearance->m_rdf_type = RDF_Type::Compound; + n_bp_appearance->m_node_type = NodeType::Compound; + n_bp_appearance->m_address = base + offset; + n_bp_appearance->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_bp_appearance); + + field_name = "color_modifiers"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + auto n_color_modifiers = new NodeVector; + n_color_modifiers->m_field_name = field_name; + n_color_modifiers->m_df_type = DF_Type::color_modifier_raw; + n_color_modifiers->m_rdf_type = RDF_Type::Vector; + n_color_modifiers->m_node_type = NodeType::Vector; + n_color_modifiers->m_defined_in = "df.creature-raws.xml"; + n_color_modifiers->m_addornements = "v*"; + n_color_modifiers->m_address = base + offset; + n_color_modifiers->m_parent = p_node_parent; + n_color_modifiers->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_color_modifiers); + + field_name = "tissue_styles"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + auto n_tissue_styles = new NodeVector; + n_tissue_styles->m_field_name = field_name; + n_tissue_styles->m_df_type = DF_Type::tissue_style_raw; + n_tissue_styles->m_rdf_type = RDF_Type::Vector; + n_tissue_styles->m_node_type = NodeType::Vector; + n_tissue_styles->m_defined_in = "df.creature-raws.xml"; + n_tissue_styles->m_addornements = "v*"; + n_tissue_styles->m_address = base + offset; + n_tissue_styles->m_parent = p_node_parent; + n_tissue_styles->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_tissue_styles); + + field_name = "shearable_tissue_layer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + auto n_shearable_tissue_layer = new NodeVector; + n_shearable_tissue_layer->m_field_name = field_name; + n_shearable_tissue_layer->m_df_type = DF_Type::caste_raw__T_shearable_tissue_layer; + n_shearable_tissue_layer->m_rdf_type = RDF_Type::Vector; + n_shearable_tissue_layer->m_node_type = NodeType::Vector; + n_shearable_tissue_layer->m_addornements = "v*"; + n_shearable_tissue_layer->m_address = base + offset; + n_shearable_tissue_layer->m_parent = p_node_parent; + n_shearable_tissue_layer->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_shearable_tissue_layer); + + field_name = "unk16a"; + auto n_unk16a = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + n_unk16a->m_field_name = field_name; + n_unk16a->m_df_type = DF_Type::Void; + n_unk16a->m_rdf_type = RDF_Type::Array; + n_unk16a->m_node_type = NodeType::Array; + n_unk16a->m_addornements = "[4v"; + n_unk16a->m_array_size = 4; + n_unk16a->m_address = base + offset; + n_unk16a->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk16a); + + field_name = "unk16b"; + auto n_unk16b = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + n_unk16b->m_field_name = field_name; + n_unk16b->m_df_type = DF_Type::Void; + n_unk16b->m_rdf_type = RDF_Type::Array; + n_unk16b->m_node_type = NodeType::Array; + n_unk16b->m_addornements = "[4v"; + n_unk16b->m_array_size = 4; + n_unk16b->m_address = base + offset; + n_unk16b->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk16b); + + field_name = "appearance_gene_count"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + auto n_appearance_gene_count = new NodeSimple; + n_appearance_gene_count->m_field_name = field_name; + n_appearance_gene_count->m_df_type = DF_Type::int32_t; + n_appearance_gene_count->m_rdf_type = RDF_Type::int32_t; + n_appearance_gene_count->m_node_type = NodeType::Simple; + n_appearance_gene_count->m_address = base + offset; + n_appearance_gene_count->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_appearance_gene_count); + + field_name = "color_gene_count"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + auto n_color_gene_count = new NodeSimple; + n_color_gene_count->m_field_name = field_name; + n_color_gene_count->m_df_type = DF_Type::int32_t; + n_color_gene_count->m_rdf_type = RDF_Type::int32_t; + n_color_gene_count->m_node_type = NodeType::Simple; + n_color_gene_count->m_address = base + offset; + n_color_gene_count->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_color_gene_count); + + field_name = "natural_skill_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + auto n_natural_skill_id = new NodeVector; + n_natural_skill_id->m_field_name = field_name; + n_natural_skill_id->m_df_type = DF_Type::job_skill; + n_natural_skill_id->m_rdf_type = RDF_Type::Vector; + n_natural_skill_id->m_node_type = NodeType::Vector; + n_natural_skill_id->m_enum_base = DF_Type::int16_t; + n_natural_skill_id->m_defined_in = "df.skills.xml"; + n_natural_skill_id->m_addornements = "v"; + n_natural_skill_id->m_address = base + offset; + n_natural_skill_id->m_parent = p_node_parent; + n_natural_skill_id->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_natural_skill_id); + + field_name = "natural_skill_exp"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + auto n_natural_skill_exp = new NodeVector; + n_natural_skill_exp->m_field_name = field_name; + n_natural_skill_exp->m_df_type = DF_Type::int32_t; + n_natural_skill_exp->m_rdf_type = RDF_Type::Vector; + n_natural_skill_exp->m_node_type = NodeType::Vector; + n_natural_skill_exp->m_addornements = "v"; + n_natural_skill_exp->m_address = base + offset; + n_natural_skill_exp->m_parent = p_node_parent; + n_natural_skill_exp->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_natural_skill_exp); + + field_name = "natural_skill_lvl"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + auto n_natural_skill_lvl = new NodeVector; + n_natural_skill_lvl->m_field_name = field_name; + n_natural_skill_lvl->m_df_type = DF_Type::skill_rating; + n_natural_skill_lvl->m_rdf_type = RDF_Type::Vector; + n_natural_skill_lvl->m_node_type = NodeType::Vector; + n_natural_skill_lvl->m_enum_base = DF_Type::int32_t; + n_natural_skill_lvl->m_defined_in = "df.units.xml"; + n_natural_skill_lvl->m_addornements = "v"; + n_natural_skill_lvl->m_address = base + offset; + n_natural_skill_lvl->m_parent = p_node_parent; + n_natural_skill_lvl->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_natural_skill_lvl); + + field_name = "caste_profession_name"; + auto n_caste_profession_name = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + n_caste_profession_name->m_field_name = field_name; + n_caste_profession_name->m_df_type = DF_Type::caste_raw__T_caste_profession_name; + n_caste_profession_name->m_rdf_type = RDF_Type::Compound; + n_caste_profession_name->m_node_type = NodeType::Compound; + n_caste_profession_name->m_address = base + offset; + n_caste_profession_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_caste_profession_name); + + field_name = "extracts"; + auto n_extracts = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + n_extracts->m_field_name = field_name; + n_extracts->m_df_type = DF_Type::caste_raw__T_extracts; + n_extracts->m_rdf_type = RDF_Type::Compound; + n_extracts->m_node_type = NodeType::Compound; + n_extracts->m_address = base + offset; + n_extracts->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_extracts); + + field_name = "secretion"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + auto n_secretion = new NodeVector; + n_secretion->m_field_name = field_name; + n_secretion->m_df_type = DF_Type::caste_raw__T_secretion; + n_secretion->m_rdf_type = RDF_Type::Vector; + n_secretion->m_node_type = NodeType::Vector; + n_secretion->m_addornements = "v*"; + n_secretion->m_address = base + offset; + n_secretion->m_parent = p_node_parent; + n_secretion->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_secretion); + + field_name = "creature_class"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + auto n_creature_class = new NodeVector; + n_creature_class->m_field_name = field_name; + n_creature_class->m_df_type = DF_Type::Stl_string; + n_creature_class->m_rdf_type = RDF_Type::Vector; + n_creature_class->m_node_type = NodeType::Vector; + n_creature_class->m_addornements = "v*"; + n_creature_class->m_address = base + offset; + n_creature_class->m_parent = p_node_parent; + n_creature_class->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_creature_class); + + field_name = "unknown2"; + auto n_unknown2 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + n_unknown2->m_field_name = field_name; + n_unknown2->m_df_type = DF_Type::caste_raw__T_unknown2; + n_unknown2->m_rdf_type = RDF_Type::Compound; + n_unknown2->m_node_type = NodeType::Compound; + n_unknown2->m_address = base + offset; + n_unknown2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unknown2); + + field_name = "habit_num"; + auto n_habit_num = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + n_habit_num->m_field_name = field_name; + n_habit_num->m_df_type = DF_Type::int32_t; + n_habit_num->m_rdf_type = RDF_Type::Array; + n_habit_num->m_node_type = NodeType::Array; + n_habit_num->m_addornements = "[2"; + n_habit_num->m_array_size = 2; + n_habit_num->m_address = base + offset; + n_habit_num->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_habit_num); + + field_name = "habit_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + auto n_habit_1 = new NodeVector; + n_habit_1->m_field_name = field_name; + n_habit_1->m_df_type = DF_Type::int16_t; + n_habit_1->m_rdf_type = RDF_Type::Vector; + n_habit_1->m_node_type = NodeType::Vector; + n_habit_1->m_addornements = "v"; + n_habit_1->m_address = base + offset; + n_habit_1->m_parent = p_node_parent; + n_habit_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_habit_1); + + field_name = "habit_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + auto n_habit_2 = new NodeVector; + n_habit_2->m_field_name = field_name; + n_habit_2->m_df_type = DF_Type::int32_t; + n_habit_2->m_rdf_type = RDF_Type::Vector; + n_habit_2->m_node_type = NodeType::Vector; + n_habit_2->m_addornements = "v"; + n_habit_2->m_address = base + offset; + n_habit_2->m_parent = p_node_parent; + n_habit_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_habit_2); + + field_name = "lair_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + auto n_lair_1 = new NodeVector; + n_lair_1->m_field_name = field_name; + n_lair_1->m_df_type = DF_Type::int16_t; + n_lair_1->m_rdf_type = RDF_Type::Vector; + n_lair_1->m_node_type = NodeType::Vector; + n_lair_1->m_addornements = "v"; + n_lair_1->m_address = base + offset; + n_lair_1->m_parent = p_node_parent; + n_lair_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_lair_1); + + field_name = "lair_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + auto n_lair_2 = new NodeVector; + n_lair_2->m_field_name = field_name; + n_lair_2->m_df_type = DF_Type::int32_t; + n_lair_2->m_rdf_type = RDF_Type::Vector; + n_lair_2->m_node_type = NodeType::Vector; + n_lair_2->m_addornements = "v"; + n_lair_2->m_address = base + offset; + n_lair_2->m_parent = p_node_parent; + n_lair_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_lair_2); + + field_name = "lair_characteristic_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + auto n_lair_characteristic_1 = new NodeVector; + n_lair_characteristic_1->m_field_name = field_name; + n_lair_characteristic_1->m_df_type = DF_Type::int16_t; + n_lair_characteristic_1->m_rdf_type = RDF_Type::Vector; + n_lair_characteristic_1->m_node_type = NodeType::Vector; + n_lair_characteristic_1->m_addornements = "v"; + n_lair_characteristic_1->m_address = base + offset; + n_lair_characteristic_1->m_parent = p_node_parent; + n_lair_characteristic_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_lair_characteristic_1); + + field_name = "lair_characteristic_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + auto n_lair_characteristic_2 = new NodeVector; + n_lair_characteristic_2->m_field_name = field_name; + n_lair_characteristic_2->m_df_type = DF_Type::int32_t; + n_lair_characteristic_2->m_rdf_type = RDF_Type::Vector; + n_lair_characteristic_2->m_node_type = NodeType::Vector; + n_lair_characteristic_2->m_addornements = "v"; + n_lair_characteristic_2->m_address = base + offset; + n_lair_characteristic_2->m_parent = p_node_parent; + n_lair_characteristic_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_lair_characteristic_2); + + field_name = "lair_hunter_speech"; + auto n_lair_hunter_speech = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + n_lair_hunter_speech->m_field_name = field_name; + n_lair_hunter_speech->m_df_type = DF_Type::Void; + n_lair_hunter_speech->m_rdf_type = RDF_Type::Array; + n_lair_hunter_speech->m_node_type = NodeType::Array; + n_lair_hunter_speech->m_addornements = "[2v"; + n_lair_hunter_speech->m_array_size = 2; + n_lair_hunter_speech->m_address = base + offset; + n_lair_hunter_speech->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_lair_hunter_speech); + + field_name = "unk29"; + auto n_unk29 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + n_unk29->m_field_name = field_name; + n_unk29->m_df_type = DF_Type::Void; + n_unk29->m_rdf_type = RDF_Type::Array; + n_unk29->m_node_type = NodeType::Array; + n_unk29->m_addornements = "[2v"; + n_unk29->m_array_size = 2; + n_unk29->m_address = base + offset; + n_unk29->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk29); + + field_name = "specific_food"; + auto n_specific_food = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + n_specific_food->m_field_name = field_name; + n_specific_food->m_df_type = DF_Type::Void; + n_specific_food->m_rdf_type = RDF_Type::Array; + n_specific_food->m_node_type = NodeType::Array; + n_specific_food->m_addornements = "[2v"; + n_specific_food->m_array_size = 2; + n_specific_food->m_address = base + offset; + n_specific_food->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_specific_food); + + field_name = "sound"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + auto n_sound = new NodeVector; + n_sound->m_field_name = field_name; + n_sound->m_df_type = DF_Type::Void; + n_sound->m_rdf_type = RDF_Type::Vector; + n_sound->m_node_type = NodeType::Vector; + n_sound->m_addornements = "v*"; + n_sound->m_address = base + offset; + n_sound->m_parent = p_node_parent; + n_sound->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_sound); + + field_name = "sound_alert"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + auto n_sound_alert = new NodeVector; + n_sound_alert->m_field_name = field_name; + n_sound_alert->m_df_type = DF_Type::int32_t; + n_sound_alert->m_rdf_type = RDF_Type::Vector; + n_sound_alert->m_node_type = NodeType::Vector; + n_sound_alert->m_addornements = "v"; + n_sound_alert->m_address = base + offset; + n_sound_alert->m_parent = p_node_parent; + n_sound_alert->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_sound_alert); + + field_name = "sound_peaceful_intermittent"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + auto n_sound_peaceful_intermittent = new NodeVector; + n_sound_peaceful_intermittent->m_field_name = field_name; + n_sound_peaceful_intermittent->m_df_type = DF_Type::int32_t; + n_sound_peaceful_intermittent->m_rdf_type = RDF_Type::Vector; + n_sound_peaceful_intermittent->m_node_type = NodeType::Vector; + n_sound_peaceful_intermittent->m_addornements = "v"; + n_sound_peaceful_intermittent->m_address = base + offset; + n_sound_peaceful_intermittent->m_refers_to = "$$._global.sound[$]"; + n_sound_peaceful_intermittent->m_parent = p_node_parent; + n_sound_peaceful_intermittent->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_sound_peaceful_intermittent); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + auto n_anon_1 = new NodeVector; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::Void; + n_anon_1->m_rdf_type = RDF_Type::Vector; + n_anon_1->m_node_type = NodeType::Vector; + n_anon_1->m_addornements = "v"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "smell_trigger"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + auto n_smell_trigger = new NodeSimple; + n_smell_trigger->m_field_name = field_name; + n_smell_trigger->m_df_type = DF_Type::int32_t; + n_smell_trigger->m_rdf_type = RDF_Type::int32_t; + n_smell_trigger->m_node_type = NodeType::Simple; + n_smell_trigger->m_address = base + offset; + n_smell_trigger->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_smell_trigger); + + field_name = "odor_level"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + auto n_odor_level = new NodeSimple; + n_odor_level->m_field_name = field_name; + n_odor_level->m_df_type = DF_Type::int32_t; + n_odor_level->m_rdf_type = RDF_Type::int32_t; + n_odor_level->m_node_type = NodeType::Simple; + n_odor_level->m_address = base + offset; + n_odor_level->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_odor_level); + + field_name = "odor_string"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + auto n_odor_string = new NodeSimple; + n_odor_string->m_field_name = field_name; + n_odor_string->m_df_type = DF_Type::Stl_string; + n_odor_string->m_rdf_type = RDF_Type::Stl_string; + n_odor_string->m_node_type = NodeType::Simple; + n_odor_string->m_address = base + offset; + n_odor_string->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_odor_string); + + field_name = "low_light_vision"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + auto n_low_light_vision = new NodeSimple; + n_low_light_vision->m_field_name = field_name; + n_low_light_vision->m_df_type = DF_Type::int32_t; + n_low_light_vision->m_rdf_type = RDF_Type::int32_t; + n_low_light_vision->m_node_type = NodeType::Simple; + n_low_light_vision->m_address = base + offset; + n_low_light_vision->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_low_light_vision); + + field_name = "sense_creature_class_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + auto n_sense_creature_class_1 = new NodeVector; + n_sense_creature_class_1->m_field_name = field_name; + n_sense_creature_class_1->m_df_type = DF_Type::Stl_string; + n_sense_creature_class_1->m_rdf_type = RDF_Type::Vector; + n_sense_creature_class_1->m_node_type = NodeType::Vector; + n_sense_creature_class_1->m_addornements = "v*"; + n_sense_creature_class_1->m_address = base + offset; + n_sense_creature_class_1->m_parent = p_node_parent; + n_sense_creature_class_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_sense_creature_class_1); + + field_name = "sense_creature_class_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + auto n_sense_creature_class_2 = new NodeVector; + n_sense_creature_class_2->m_field_name = field_name; + n_sense_creature_class_2->m_df_type = DF_Type::int8_t; + n_sense_creature_class_2->m_rdf_type = RDF_Type::Vector; + n_sense_creature_class_2->m_node_type = NodeType::Vector; + n_sense_creature_class_2->m_addornements = "v"; + n_sense_creature_class_2->m_address = base + offset; + n_sense_creature_class_2->m_parent = p_node_parent; + n_sense_creature_class_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_sense_creature_class_2); + + field_name = "sense_creature_class_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + auto n_sense_creature_class_3 = new NodeVector; + n_sense_creature_class_3->m_field_name = field_name; + n_sense_creature_class_3->m_df_type = DF_Type::int16_t; + n_sense_creature_class_3->m_rdf_type = RDF_Type::Vector; + n_sense_creature_class_3->m_node_type = NodeType::Vector; + n_sense_creature_class_3->m_addornements = "v"; + n_sense_creature_class_3->m_address = base + offset; + n_sense_creature_class_3->m_parent = p_node_parent; + n_sense_creature_class_3->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_sense_creature_class_3); + + field_name = "sense_creature_class_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + auto n_sense_creature_class_4 = new NodeVector; + n_sense_creature_class_4->m_field_name = field_name; + n_sense_creature_class_4->m_df_type = DF_Type::int16_t; + n_sense_creature_class_4->m_rdf_type = RDF_Type::Vector; + n_sense_creature_class_4->m_node_type = NodeType::Vector; + n_sense_creature_class_4->m_addornements = "v"; + n_sense_creature_class_4->m_address = base + offset; + n_sense_creature_class_4->m_parent = p_node_parent; + n_sense_creature_class_4->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_sense_creature_class_4); + + field_name = "sense_creature_class_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caste_raw, field_name)); + auto n_sense_creature_class_5 = new NodeVector; + n_sense_creature_class_5->m_field_name = field_name; + n_sense_creature_class_5->m_df_type = DF_Type::int16_t; + n_sense_creature_class_5->m_rdf_type = RDF_Type::Vector; + n_sense_creature_class_5->m_node_type = NodeType::Vector; + n_sense_creature_class_5->m_addornements = "v"; + n_sense_creature_class_5->m_address = base + offset; + n_sense_creature_class_5->m_parent = p_node_parent; + n_sense_creature_class_5->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_sense_creature_class_5); + +} +void node_from_tissue_style_raw(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "token"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue_style_raw, field_name)); + auto n_token = new NodeSimple; + n_token->m_field_name = field_name; + n_token->m_df_type = DF_Type::Stl_string; + n_token->m_rdf_type = RDF_Type::Stl_string; + n_token->m_node_type = NodeType::Simple; + n_token->m_address = base + offset; + n_token->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_token); + + field_name = "part_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue_style_raw, field_name)); + auto n_part_idx = new NodeVector; + n_part_idx->m_field_name = field_name; + n_part_idx->m_df_type = DF_Type::int16_t; + n_part_idx->m_rdf_type = RDF_Type::Vector; + n_part_idx->m_node_type = NodeType::Vector; + n_part_idx->m_addornements = "v"; + n_part_idx->m_address = base + offset; + n_part_idx->m_refers_to = "$$._global._upglobal.body_info.body_parts[$]"; + n_part_idx->m_parent = p_node_parent; + n_part_idx->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_part_idx); + + field_name = "layer_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue_style_raw, field_name)); + auto n_layer_idx = new NodeVector; + n_layer_idx->m_field_name = field_name; + n_layer_idx->m_df_type = DF_Type::int16_t; + n_layer_idx->m_rdf_type = RDF_Type::Vector; + n_layer_idx->m_node_type = NodeType::Vector; + n_layer_idx->m_addornements = "v"; + n_layer_idx->m_address = base + offset; + n_layer_idx->m_refers_to = "$$._parent._parent.part_idx[$$._key].refers-to.layers[$]"; + n_layer_idx->m_refers_to = "$$._parent.part_idx[$].refers-to"; + n_layer_idx->m_parent = p_node_parent; + n_layer_idx->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_layer_idx); + + field_name = "styles"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue_style_raw, field_name)); + auto n_styles = new NodeVector; + n_styles->m_field_name = field_name; + n_styles->m_df_type = DF_Type::tissue_style_type; + n_styles->m_rdf_type = RDF_Type::Vector; + n_styles->m_node_type = NodeType::Vector; + n_styles->m_enum_base = DF_Type::int16_t; + n_styles->m_defined_in = "df.creature-raws.xml"; + n_styles->m_addornements = "v"; + n_styles->m_address = base + offset; + n_styles->m_parent = p_node_parent; + n_styles->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_styles); + + field_name = "list_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue_style_raw, field_name)); + auto n_list_idx = new NodeVector; + n_list_idx->m_field_name = field_name; + n_list_idx->m_df_type = DF_Type::int32_t; + n_list_idx->m_rdf_type = RDF_Type::Vector; + n_list_idx->m_node_type = NodeType::Vector; + n_list_idx->m_addornements = "v"; + n_list_idx->m_address = base + offset; + n_list_idx->m_refers_to = "$$._global._upglobal.bp_appearance.style_layer_idx[$].refers-to"; + n_list_idx->m_parent = p_node_parent; + n_list_idx->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_list_idx); + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue_style_raw, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "noun"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue_style_raw, field_name)); + auto n_noun = new NodeSimple; + n_noun->m_field_name = field_name; + n_noun->m_df_type = DF_Type::Stl_string; + n_noun->m_rdf_type = RDF_Type::Stl_string; + n_noun->m_node_type = NodeType::Simple; + n_noun->m_address = base + offset; + n_noun->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_noun); + + field_name = "word_type"; + auto n_word_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue_style_raw, field_name)); + n_word_type->m_field_name = field_name; + n_word_type->m_df_type = DF_Type::part_of_speech; + n_word_type->m_rdf_type = RDF_Type::Enum; + n_word_type->m_node_type = NodeType::Enum; + n_word_type->m_base_type = DF_Type::int16_t; + n_word_type->m_enum_type = "part_of_speech"; + n_word_type->m_address = base + offset; + n_word_type->m_comment = "0 singular, 1 plural"; + n_word_type->m_defined_in = "df.language.xml"; + n_word_type->m_first_value = 0; + n_word_type->m_last_value = 8; + n_word_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_word_type); + +} +void node_from_creature_raw__T_graphics(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "texpos"; + auto n_texpos = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw__T_graphics, field_name)); + n_texpos->m_field_name = field_name; + n_texpos->m_df_type = DF_Type::int32_t; + n_texpos->m_rdf_type = RDF_Type::Array; + n_texpos->m_node_type = NodeType::Array; + n_texpos->m_index_enum = DF_Type::creature_graphics_role; + n_texpos->m_addornements = "[6"; + n_texpos->m_array_size = 6; + n_texpos->m_address = base + offset; + n_texpos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_texpos); + + field_name = "texpos_gs"; + auto n_texpos_gs = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw__T_graphics, field_name)); + n_texpos_gs->m_field_name = field_name; + n_texpos_gs->m_df_type = DF_Type::int32_t; + n_texpos_gs->m_rdf_type = RDF_Type::Array; + n_texpos_gs->m_node_type = NodeType::Array; + n_texpos_gs->m_index_enum = DF_Type::creature_graphics_role; + n_texpos_gs->m_addornements = "[6"; + n_texpos_gs->m_array_size = 6; + n_texpos_gs->m_address = base + offset; + n_texpos_gs->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_texpos_gs); + + field_name = "entity_link_texpos"; + auto n_entity_link_texpos = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw__T_graphics, field_name)); + n_entity_link_texpos->m_field_name = field_name; + n_entity_link_texpos->m_df_type = DF_Type::int32_t; + n_entity_link_texpos->m_rdf_type = RDF_Type::Array; + n_entity_link_texpos->m_node_type = NodeType::Array; + n_entity_link_texpos->m_index_enum = DF_Type::creature_graphics_role; + n_entity_link_texpos->m_addornements = "[6[18"; + n_entity_link_texpos->m_array_size = 6; + n_entity_link_texpos->m_address = base + offset; + n_entity_link_texpos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity_link_texpos); + + field_name = "entity_link_texpos_gs"; + auto n_entity_link_texpos_gs = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw__T_graphics, field_name)); + n_entity_link_texpos_gs->m_field_name = field_name; + n_entity_link_texpos_gs->m_df_type = DF_Type::int32_t; + n_entity_link_texpos_gs->m_rdf_type = RDF_Type::Array; + n_entity_link_texpos_gs->m_node_type = NodeType::Array; + n_entity_link_texpos_gs->m_index_enum = DF_Type::creature_graphics_role; + n_entity_link_texpos_gs->m_addornements = "[6[18"; + n_entity_link_texpos_gs->m_array_size = 6; + n_entity_link_texpos_gs->m_address = base + offset; + n_entity_link_texpos_gs->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity_link_texpos_gs); + + field_name = "site_link_texpos"; + auto n_site_link_texpos = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw__T_graphics, field_name)); + n_site_link_texpos->m_field_name = field_name; + n_site_link_texpos->m_df_type = DF_Type::int32_t; + n_site_link_texpos->m_rdf_type = RDF_Type::Array; + n_site_link_texpos->m_node_type = NodeType::Array; + n_site_link_texpos->m_index_enum = DF_Type::creature_graphics_role; + n_site_link_texpos->m_addornements = "[6[8"; + n_site_link_texpos->m_array_size = 6; + n_site_link_texpos->m_address = base + offset; + n_site_link_texpos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_link_texpos); + + field_name = "site_link_texpos_gs"; + auto n_site_link_texpos_gs = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw__T_graphics, field_name)); + n_site_link_texpos_gs->m_field_name = field_name; + n_site_link_texpos_gs->m_df_type = DF_Type::int32_t; + n_site_link_texpos_gs->m_rdf_type = RDF_Type::Array; + n_site_link_texpos_gs->m_node_type = NodeType::Array; + n_site_link_texpos_gs->m_index_enum = DF_Type::creature_graphics_role; + n_site_link_texpos_gs->m_addornements = "[6[8"; + n_site_link_texpos_gs->m_array_size = 6; + n_site_link_texpos_gs->m_address = base + offset; + n_site_link_texpos_gs->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_link_texpos_gs); + + field_name = "profession_texpos"; + auto n_profession_texpos = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw__T_graphics, field_name)); + n_profession_texpos->m_field_name = field_name; + n_profession_texpos->m_df_type = DF_Type::int32_t; + n_profession_texpos->m_rdf_type = RDF_Type::Array; + n_profession_texpos->m_node_type = NodeType::Array; + n_profession_texpos->m_index_enum = DF_Type::creature_graphics_role; + n_profession_texpos->m_addornements = "[6[135"; + n_profession_texpos->m_array_size = 6; + n_profession_texpos->m_address = base + offset; + n_profession_texpos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_profession_texpos); + + field_name = "profession_texpos_gs"; + auto n_profession_texpos_gs = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw__T_graphics, field_name)); + n_profession_texpos_gs->m_field_name = field_name; + n_profession_texpos_gs->m_df_type = DF_Type::int32_t; + n_profession_texpos_gs->m_rdf_type = RDF_Type::Array; + n_profession_texpos_gs->m_node_type = NodeType::Array; + n_profession_texpos_gs->m_index_enum = DF_Type::creature_graphics_role; + n_profession_texpos_gs->m_addornements = "[6[135"; + n_profession_texpos_gs->m_array_size = 6; + n_profession_texpos_gs->m_address = base + offset; + n_profession_texpos_gs->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_profession_texpos_gs); + + field_name = "add_color"; + auto n_add_color = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw__T_graphics, field_name)); + n_add_color->m_field_name = field_name; + n_add_color->m_df_type = DF_Type::Bool; + n_add_color->m_rdf_type = RDF_Type::Array; + n_add_color->m_node_type = NodeType::Array; + n_add_color->m_index_enum = DF_Type::creature_graphics_role; + n_add_color->m_addornements = "[6"; + n_add_color->m_array_size = 6; + n_add_color->m_address = base + offset; + n_add_color->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_add_color); + + field_name = "entity_link_add_color"; + auto n_entity_link_add_color = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw__T_graphics, field_name)); + n_entity_link_add_color->m_field_name = field_name; + n_entity_link_add_color->m_df_type = DF_Type::Bool; + n_entity_link_add_color->m_rdf_type = RDF_Type::Array; + n_entity_link_add_color->m_node_type = NodeType::Array; + n_entity_link_add_color->m_index_enum = DF_Type::creature_graphics_role; + n_entity_link_add_color->m_addornements = "[6[18"; + n_entity_link_add_color->m_array_size = 6; + n_entity_link_add_color->m_address = base + offset; + n_entity_link_add_color->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity_link_add_color); + + field_name = "site_link_add_color"; + auto n_site_link_add_color = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw__T_graphics, field_name)); + n_site_link_add_color->m_field_name = field_name; + n_site_link_add_color->m_df_type = DF_Type::Bool; + n_site_link_add_color->m_rdf_type = RDF_Type::Array; + n_site_link_add_color->m_node_type = NodeType::Array; + n_site_link_add_color->m_index_enum = DF_Type::creature_graphics_role; + n_site_link_add_color->m_addornements = "[6[8"; + n_site_link_add_color->m_array_size = 6; + n_site_link_add_color->m_address = base + offset; + n_site_link_add_color->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_link_add_color); + + field_name = "profession_add_color"; + auto n_profession_add_color = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw__T_graphics, field_name)); + n_profession_add_color->m_field_name = field_name; + n_profession_add_color->m_df_type = DF_Type::Bool; + n_profession_add_color->m_rdf_type = RDF_Type::Array; + n_profession_add_color->m_node_type = NodeType::Array; + n_profession_add_color->m_index_enum = DF_Type::creature_graphics_role; + n_profession_add_color->m_addornements = "[6[135"; + n_profession_add_color->m_array_size = 6; + n_profession_add_color->m_address = base + offset; + n_profession_add_color->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_profession_add_color); + + field_name = "appointments"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw__T_graphics, field_name)); + auto n_appointments = new NodeVector; + n_appointments->m_field_name = field_name; + n_appointments->m_df_type = DF_Type::creature_graphics_appointment; + n_appointments->m_rdf_type = RDF_Type::Vector; + n_appointments->m_node_type = NodeType::Vector; + n_appointments->m_defined_in = "df.creature-raws.xml"; + n_appointments->m_addornements = "v*"; + n_appointments->m_address = base + offset; + n_appointments->m_parent = p_node_parent; + n_appointments->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_appointments); + +} +void node_from_creature_raw__T_profession_name(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "singular"; + auto n_singular = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw__T_profession_name, field_name)); + n_singular->m_field_name = field_name; + n_singular->m_df_type = DF_Type::Stl_string; + n_singular->m_rdf_type = RDF_Type::Array; + n_singular->m_node_type = NodeType::Array; + n_singular->m_index_enum = DF_Type::profession; + n_singular->m_addornements = "[135"; + n_singular->m_array_size = 135; + n_singular->m_address = base + offset; + n_singular->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_singular); + + field_name = "plural"; + auto n_plural = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw__T_profession_name, field_name)); + n_plural->m_field_name = field_name; + n_plural->m_df_type = DF_Type::Stl_string; + n_plural->m_rdf_type = RDF_Type::Array; + n_plural->m_node_type = NodeType::Array; + n_plural->m_index_enum = DF_Type::profession; + n_plural->m_addornements = "[135"; + n_plural->m_array_size = 135; + n_plural->m_address = base + offset; + n_plural->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_plural); + +} +void node_from_creature_raw__T_hive_product(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "number"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw__T_hive_product, field_name)); + auto n_number = new NodeVector; + n_number->m_field_name = field_name; + n_number->m_df_type = DF_Type::int32_t; + n_number->m_rdf_type = RDF_Type::Vector; + n_number->m_node_type = NodeType::Vector; + n_number->m_addornements = "v"; + n_number->m_address = base + offset; + n_number->m_parent = p_node_parent; + n_number->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_number); + + field_name = "time"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw__T_hive_product, field_name)); + auto n_time = new NodeVector; + n_time->m_field_name = field_name; + n_time->m_df_type = DF_Type::int32_t; + n_time->m_rdf_type = RDF_Type::Vector; + n_time->m_node_type = NodeType::Vector; + n_time->m_addornements = "v"; + n_time->m_address = base + offset; + n_time->m_parent = p_node_parent; + n_time->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_time); + + field_name = "item_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw__T_hive_product, field_name)); + auto n_item_type = new NodeVector; + n_item_type->m_field_name = field_name; + n_item_type->m_df_type = DF_Type::item_type; + n_item_type->m_rdf_type = RDF_Type::Vector; + n_item_type->m_node_type = NodeType::Vector; + n_item_type->m_enum_base = DF_Type::int16_t; + n_item_type->m_defined_in = "df.item-raws.xml"; + n_item_type->m_addornements = "v"; + n_item_type->m_address = base + offset; + n_item_type->m_parent = p_node_parent; + n_item_type->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_item_type); + + field_name = "item_subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw__T_hive_product, field_name)); + auto n_item_subtype = new NodeVector; + n_item_subtype->m_field_name = field_name; + n_item_subtype->m_df_type = DF_Type::int16_t; + n_item_subtype->m_rdf_type = RDF_Type::Vector; + n_item_subtype->m_node_type = NodeType::Vector; + n_item_subtype->m_addornements = "v"; + n_item_subtype->m_address = base + offset; + n_item_subtype->m_parent = p_node_parent; + n_item_subtype->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_item_subtype); + + field_name = "material"; + auto n_material = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw__T_hive_product, field_name)); + n_material->m_field_name = field_name; + n_material->m_df_type = DF_Type::material_vec_ref; + n_material->m_rdf_type = RDF_Type::Struct; + n_material->m_node_type = NodeType::Compound; + n_material->m_address = base + offset; + n_material->m_defined_in = "df.materials.xml"; + n_material->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_material); + + field_name = "tmpstr"; + auto n_tmpstr = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw__T_hive_product, field_name)); + n_tmpstr->m_field_name = field_name; + n_tmpstr->m_df_type = DF_Type::Stl_string; + n_tmpstr->m_rdf_type = RDF_Type::Array; + n_tmpstr->m_node_type = NodeType::Array; + n_tmpstr->m_addornements = "[5v*"; + n_tmpstr->m_array_size = 5; + n_tmpstr->m_address = base + offset; + n_tmpstr->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tmpstr); + +} +void node_from_creature_raw(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "creature_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); + auto n_creature_id = new NodeSimple; + n_creature_id->m_field_name = field_name; + n_creature_id->m_df_type = DF_Type::Stl_string; + n_creature_id->m_rdf_type = RDF_Type::Stl_string; + n_creature_id->m_node_type = NodeType::Simple; + n_creature_id->m_address = base + offset; + n_creature_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_creature_id); + + field_name = "name"; + auto n_name = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Array; + n_name->m_node_type = NodeType::Array; + n_name->m_addornements = "[3"; + n_name->m_array_size = 3; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "general_baby_name"; + auto n_general_baby_name = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); + n_general_baby_name->m_field_name = field_name; + n_general_baby_name->m_df_type = DF_Type::Stl_string; + n_general_baby_name->m_rdf_type = RDF_Type::Array; + n_general_baby_name->m_node_type = NodeType::Array; + n_general_baby_name->m_addornements = "[2"; + n_general_baby_name->m_array_size = 2; + n_general_baby_name->m_address = base + offset; + n_general_baby_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_general_baby_name); + + field_name = "general_child_name"; + auto n_general_child_name = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); + n_general_child_name->m_field_name = field_name; + n_general_child_name->m_df_type = DF_Type::Stl_string; + n_general_child_name->m_rdf_type = RDF_Type::Array; + n_general_child_name->m_node_type = NodeType::Array; + n_general_child_name->m_addornements = "[2"; + n_general_child_name->m_array_size = 2; + n_general_child_name->m_address = base + offset; + n_general_child_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_general_child_name); + + field_name = "unk_v43_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); + auto n_unk_v43_1 = new NodeSimple; + n_unk_v43_1->m_field_name = field_name; + n_unk_v43_1->m_df_type = DF_Type::Stl_string; + n_unk_v43_1->m_rdf_type = RDF_Type::Stl_string; + n_unk_v43_1->m_node_type = NodeType::Simple; + n_unk_v43_1->m_address = base + offset; + n_unk_v43_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v43_1); + + field_name = "creature_tile"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); + auto n_creature_tile = new NodeSimple; + n_creature_tile->m_field_name = field_name; + n_creature_tile->m_df_type = DF_Type::uint8_t; + n_creature_tile->m_rdf_type = RDF_Type::uint8_t; + n_creature_tile->m_node_type = NodeType::Simple; + n_creature_tile->m_address = base + offset; + n_creature_tile->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_creature_tile); + + field_name = "creature_soldier_tile"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); + auto n_creature_soldier_tile = new NodeSimple; + n_creature_soldier_tile->m_field_name = field_name; + n_creature_soldier_tile->m_df_type = DF_Type::uint8_t; + n_creature_soldier_tile->m_rdf_type = RDF_Type::uint8_t; + n_creature_soldier_tile->m_node_type = NodeType::Simple; + n_creature_soldier_tile->m_address = base + offset; + n_creature_soldier_tile->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_creature_soldier_tile); + + field_name = "alttile"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); + auto n_alttile = new NodeSimple; + n_alttile->m_field_name = field_name; + n_alttile->m_df_type = DF_Type::uint8_t; + n_alttile->m_rdf_type = RDF_Type::uint8_t; + n_alttile->m_node_type = NodeType::Simple; + n_alttile->m_address = base + offset; + n_alttile->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_alttile); + + field_name = "soldier_alttile"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); + auto n_soldier_alttile = new NodeSimple; + n_soldier_alttile->m_field_name = field_name; + n_soldier_alttile->m_df_type = DF_Type::uint8_t; + n_soldier_alttile->m_rdf_type = RDF_Type::uint8_t; + n_soldier_alttile->m_node_type = NodeType::Simple; + n_soldier_alttile->m_address = base + offset; + n_soldier_alttile->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_soldier_alttile); + + field_name = "glowtile"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); + auto n_glowtile = new NodeSimple; + n_glowtile->m_field_name = field_name; + n_glowtile->m_df_type = DF_Type::uint8_t; + n_glowtile->m_rdf_type = RDF_Type::uint8_t; + n_glowtile->m_node_type = NodeType::Simple; + n_glowtile->m_address = base + offset; + n_glowtile->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_glowtile); + + field_name = "temperature1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); + auto n_temperature1 = new NodeSimple; + n_temperature1->m_field_name = field_name; + n_temperature1->m_df_type = DF_Type::uint16_t; + n_temperature1->m_rdf_type = RDF_Type::uint16_t; + n_temperature1->m_node_type = NodeType::Simple; + n_temperature1->m_address = base + offset; + n_temperature1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_temperature1); + + field_name = "temperature2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); + auto n_temperature2 = new NodeSimple; + n_temperature2->m_field_name = field_name; + n_temperature2->m_df_type = DF_Type::uint16_t; + n_temperature2->m_rdf_type = RDF_Type::uint16_t; + n_temperature2->m_node_type = NodeType::Simple; + n_temperature2->m_address = base + offset; + n_temperature2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_temperature2); + + field_name = "frequency"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); + auto n_frequency = new NodeSimple; + n_frequency->m_field_name = field_name; + n_frequency->m_df_type = DF_Type::int16_t; + n_frequency->m_rdf_type = RDF_Type::int16_t; + n_frequency->m_node_type = NodeType::Simple; + n_frequency->m_address = base + offset; + n_frequency->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_frequency); + + field_name = "population_number"; + auto n_population_number = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); + n_population_number->m_field_name = field_name; + n_population_number->m_df_type = DF_Type::int16_t; + n_population_number->m_rdf_type = RDF_Type::Array; + n_population_number->m_node_type = NodeType::Array; + n_population_number->m_addornements = "[2"; + n_population_number->m_array_size = 2; + n_population_number->m_address = base + offset; + n_population_number->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_population_number); + + field_name = "cluster_number"; + auto n_cluster_number = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); + n_cluster_number->m_field_name = field_name; + n_cluster_number->m_df_type = DF_Type::int16_t; + n_cluster_number->m_rdf_type = RDF_Type::Array; + n_cluster_number->m_node_type = NodeType::Array; + n_cluster_number->m_addornements = "[2"; + n_cluster_number->m_array_size = 2; + n_cluster_number->m_address = base + offset; + n_cluster_number->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cluster_number); + + field_name = "triggerable_group"; + auto n_triggerable_group = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); + n_triggerable_group->m_field_name = field_name; + n_triggerable_group->m_df_type = DF_Type::int16_t; + n_triggerable_group->m_rdf_type = RDF_Type::Array; + n_triggerable_group->m_node_type = NodeType::Array; + n_triggerable_group->m_addornements = "[2"; + n_triggerable_group->m_array_size = 2; + n_triggerable_group->m_address = base + offset; + n_triggerable_group->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_triggerable_group); + + field_name = "color"; + auto n_color = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); + n_color->m_field_name = field_name; + n_color->m_df_type = DF_Type::int16_t; + n_color->m_rdf_type = RDF_Type::Array; + n_color->m_node_type = NodeType::Array; + n_color->m_addornements = "[3"; + n_color->m_array_size = 3; + n_color->m_address = base + offset; + n_color->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_color); + + field_name = "glowcolor"; + auto n_glowcolor = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); + n_glowcolor->m_field_name = field_name; + n_glowcolor->m_df_type = DF_Type::int16_t; + n_glowcolor->m_rdf_type = RDF_Type::Array; + n_glowcolor->m_node_type = NodeType::Array; + n_glowcolor->m_addornements = "[3"; + n_glowcolor->m_array_size = 3; + n_glowcolor->m_address = base + offset; + n_glowcolor->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_glowcolor); + + field_name = "adultsize"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); + auto n_adultsize = new NodeSimple; + n_adultsize->m_field_name = field_name; + n_adultsize->m_df_type = DF_Type::int32_t; + n_adultsize->m_rdf_type = RDF_Type::int32_t; + n_adultsize->m_node_type = NodeType::Simple; + n_adultsize->m_address = base + offset; + n_adultsize->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_adultsize); + + field_name = "prefstring"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); + auto n_prefstring = new NodeVector; + n_prefstring->m_field_name = field_name; + n_prefstring->m_df_type = DF_Type::Stl_string; + n_prefstring->m_rdf_type = RDF_Type::Vector; + n_prefstring->m_node_type = NodeType::Vector; + n_prefstring->m_addornements = "v*"; + n_prefstring->m_address = base + offset; + n_prefstring->m_parent = p_node_parent; + n_prefstring->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_prefstring); + + field_name = "sphere"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); + auto n_sphere = new NodeVector; + n_sphere->m_field_name = field_name; + n_sphere->m_df_type = DF_Type::int16_t; + n_sphere->m_rdf_type = RDF_Type::Vector; + n_sphere->m_node_type = NodeType::Vector; + n_sphere->m_addornements = "v"; + n_sphere->m_address = base + offset; + n_sphere->m_parent = p_node_parent; + n_sphere->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_sphere); + + field_name = "caste"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); + auto n_caste = new NodeVector; + n_caste->m_field_name = field_name; + n_caste->m_df_type = DF_Type::caste_raw; + n_caste->m_rdf_type = RDF_Type::Vector; + n_caste->m_node_type = NodeType::Vector; + n_caste->m_defined_in = "df.creature-raws.xml"; + n_caste->m_addornements = "v*"; + n_caste->m_address = base + offset; + n_caste->m_parent = p_node_parent; + n_caste->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_caste); + + field_name = "pop_ratio"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); + auto n_pop_ratio = new NodeVector; + n_pop_ratio->m_field_name = field_name; + n_pop_ratio->m_df_type = DF_Type::int32_t; + n_pop_ratio->m_rdf_type = RDF_Type::Vector; + n_pop_ratio->m_node_type = NodeType::Vector; + n_pop_ratio->m_addornements = "v"; + n_pop_ratio->m_address = base + offset; + n_pop_ratio->m_parent = p_node_parent; + n_pop_ratio->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_pop_ratio); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); + auto n_flags = new NodeDFFlagArray; + n_flags->m_field_name = field_name; + n_flags->m_index_enum = DF_Type::creature_raw_flags; + n_flags->m_df_type = DF_Type::creature_raw_flags; + n_flags->m_size = 112; + n_flags->m_rdf_type = RDF_Type::DFFlagArray; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_defined_in = "df.creature-raws.xml"; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "graphics"; + auto n_graphics = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); + n_graphics->m_field_name = field_name; + n_graphics->m_df_type = DF_Type::creature_raw__T_graphics; + n_graphics->m_rdf_type = RDF_Type::Compound; + n_graphics->m_node_type = NodeType::Compound; + n_graphics->m_address = base + offset; + n_graphics->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_graphics); + + field_name = "speech1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); + auto n_speech1 = new NodeVector; + n_speech1->m_field_name = field_name; + n_speech1->m_df_type = DF_Type::int8_t; + n_speech1->m_rdf_type = RDF_Type::Vector; + n_speech1->m_node_type = NodeType::Vector; + n_speech1->m_addornements = "v"; + n_speech1->m_address = base + offset; + n_speech1->m_parent = p_node_parent; + n_speech1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_speech1); + + field_name = "speech2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); + auto n_speech2 = new NodeVector; + n_speech2->m_field_name = field_name; + n_speech2->m_df_type = DF_Type::int32_t; + n_speech2->m_rdf_type = RDF_Type::Vector; + n_speech2->m_node_type = NodeType::Vector; + n_speech2->m_addornements = "v"; + n_speech2->m_address = base + offset; + n_speech2->m_parent = p_node_parent; + n_speech2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_speech2); + + field_name = "speech3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); + auto n_speech3 = new NodeVector; + n_speech3->m_field_name = field_name; + n_speech3->m_df_type = DF_Type::Void; + n_speech3->m_rdf_type = RDF_Type::Vector; + n_speech3->m_node_type = NodeType::Vector; + n_speech3->m_addornements = "v"; + n_speech3->m_address = base + offset; + n_speech3->m_parent = p_node_parent; + n_speech3->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_speech3); + + field_name = "material"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); + auto n_material = new NodeVector; + n_material->m_field_name = field_name; + n_material->m_df_type = DF_Type::material; + n_material->m_rdf_type = RDF_Type::Vector; + n_material->m_node_type = NodeType::Vector; + n_material->m_defined_in = "df.materials.xml"; + n_material->m_addornements = "v*"; + n_material->m_address = base + offset; + n_material->m_parent = p_node_parent; + n_material->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_material); + + field_name = "tissue"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); + auto n_tissue = new NodeVector; + n_tissue->m_field_name = field_name; + n_tissue->m_df_type = DF_Type::tissue; + n_tissue->m_rdf_type = RDF_Type::Vector; + n_tissue->m_node_type = NodeType::Vector; + n_tissue->m_defined_in = "df.creature-raws.xml"; + n_tissue->m_addornements = "v*"; + n_tissue->m_address = base + offset; + n_tissue->m_parent = p_node_parent; + n_tissue->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_tissue); + + field_name = "profession_name"; + auto n_profession_name = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); + n_profession_name->m_field_name = field_name; + n_profession_name->m_df_type = DF_Type::creature_raw__T_profession_name; + n_profession_name->m_rdf_type = RDF_Type::Compound; + n_profession_name->m_node_type = NodeType::Compound; + n_profession_name->m_address = base + offset; + n_profession_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_profession_name); + + field_name = "underground_layer_min"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); + auto n_underground_layer_min = new NodeSimple; + n_underground_layer_min->m_field_name = field_name; + n_underground_layer_min->m_df_type = DF_Type::int32_t; + n_underground_layer_min->m_rdf_type = RDF_Type::int32_t; + n_underground_layer_min->m_node_type = NodeType::Simple; + n_underground_layer_min->m_address = base + offset; + n_underground_layer_min->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_underground_layer_min); + + field_name = "underground_layer_max"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); + auto n_underground_layer_max = new NodeSimple; + n_underground_layer_max->m_field_name = field_name; + n_underground_layer_max->m_df_type = DF_Type::int32_t; + n_underground_layer_max->m_rdf_type = RDF_Type::int32_t; + n_underground_layer_max->m_node_type = NodeType::Simple; + n_underground_layer_max->m_address = base + offset; + n_underground_layer_max->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_underground_layer_max); + + field_name = "modifier_class"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); + auto n_modifier_class = new NodeVector; + n_modifier_class->m_field_name = field_name; + n_modifier_class->m_df_type = DF_Type::int32_t; + n_modifier_class->m_rdf_type = RDF_Type::Vector; + n_modifier_class->m_node_type = NodeType::Vector; + n_modifier_class->m_addornements = "v"; + n_modifier_class->m_address = base + offset; + n_modifier_class->m_parent = p_node_parent; + n_modifier_class->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_modifier_class); + + field_name = "modifier_num_patterns"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); + auto n_modifier_num_patterns = new NodeVector; + n_modifier_num_patterns->m_field_name = field_name; + n_modifier_num_patterns->m_df_type = DF_Type::int32_t; + n_modifier_num_patterns->m_rdf_type = RDF_Type::Vector; + n_modifier_num_patterns->m_node_type = NodeType::Vector; + n_modifier_num_patterns->m_addornements = "v"; + n_modifier_num_patterns->m_address = base + offset; + n_modifier_num_patterns->m_comment = "for color modifiers, == number of items in their pattern_* vectors"; + n_modifier_num_patterns->m_refers_to = "$$._parent.modifier_class[$].refers-to"; + n_modifier_num_patterns->m_parent = p_node_parent; + n_modifier_num_patterns->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_modifier_num_patterns); + + field_name = "hive_product"; + auto n_hive_product = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); + n_hive_product->m_field_name = field_name; + n_hive_product->m_df_type = DF_Type::creature_raw__T_hive_product; + n_hive_product->m_rdf_type = RDF_Type::Compound; + n_hive_product->m_node_type = NodeType::Compound; + n_hive_product->m_address = base + offset; + n_hive_product->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_hive_product); + + field_name = "source_hfid"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); + auto n_source_hfid = new NodeSimple; + n_source_hfid->m_field_name = field_name; + n_source_hfid->m_df_type = DF_Type::int32_t; + n_source_hfid->m_rdf_type = RDF_Type::int32_t; + n_source_hfid->m_node_type = NodeType::Simple; + n_source_hfid->m_address = base + offset; + n_source_hfid->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_source_hfid); + + field_name = "unk_v4201_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); + auto n_unk_v4201_1 = new NodeSimple; + n_unk_v4201_1->m_field_name = field_name; + n_unk_v4201_1->m_df_type = DF_Type::int32_t; + n_unk_v4201_1->m_rdf_type = RDF_Type::int32_t; + n_unk_v4201_1->m_node_type = NodeType::Simple; + n_unk_v4201_1->m_address = base + offset; + n_unk_v4201_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v4201_1); + + field_name = "next_modifier_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); + auto n_next_modifier_id = new NodeSimple; + n_next_modifier_id->m_field_name = field_name; + n_next_modifier_id->m_df_type = DF_Type::int32_t; + n_next_modifier_id->m_rdf_type = RDF_Type::int32_t; + n_next_modifier_id->m_node_type = NodeType::Simple; + n_next_modifier_id->m_address = base + offset; + n_next_modifier_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_next_modifier_id); + + field_name = "raws"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_raw, field_name)); + auto n_raws = new NodeVector; + n_raws->m_field_name = field_name; + n_raws->m_df_type = DF_Type::Stl_string; + n_raws->m_rdf_type = RDF_Type::Vector; + n_raws->m_node_type = NodeType::Vector; + n_raws->m_addornements = "v*"; + n_raws->m_address = base + offset; + n_raws->m_parent = p_node_parent; + n_raws->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_raws); + +} +void node_from_creature_variation(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_variation, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::Stl_string; + n_id->m_rdf_type = RDF_Type::Stl_string; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "cv_convert_tag"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_variation, field_name)); + auto n_cv_convert_tag = new NodeVector; + n_cv_convert_tag->m_field_name = field_name; + n_cv_convert_tag->m_df_type = DF_Type::creature_variation_convert_tag; + n_cv_convert_tag->m_rdf_type = RDF_Type::Vector; + n_cv_convert_tag->m_node_type = NodeType::Vector; + n_cv_convert_tag->m_defined_in = "df.creature-raws.xml"; + n_cv_convert_tag->m_addornements = "v*"; + n_cv_convert_tag->m_address = base + offset; + n_cv_convert_tag->m_parent = p_node_parent; + n_cv_convert_tag->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_cv_convert_tag); + + field_name = "cv_new_tag"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_variation, field_name)); + auto n_cv_new_tag = new NodeVector; + n_cv_new_tag->m_field_name = field_name; + n_cv_new_tag->m_df_type = DF_Type::Stl_string; + n_cv_new_tag->m_rdf_type = RDF_Type::Vector; + n_cv_new_tag->m_node_type = NodeType::Vector; + n_cv_new_tag->m_addornements = "v*"; + n_cv_new_tag->m_address = base + offset; + n_cv_new_tag->m_parent = p_node_parent; + n_cv_new_tag->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_cv_new_tag); + + field_name = "cv_new_unk_v40_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_variation, field_name)); + auto n_cv_new_unk_v40_1 = new NodeVector; + n_cv_new_unk_v40_1->m_field_name = field_name; + n_cv_new_unk_v40_1->m_df_type = DF_Type::int32_t; + n_cv_new_unk_v40_1->m_rdf_type = RDF_Type::Vector; + n_cv_new_unk_v40_1->m_node_type = NodeType::Vector; + n_cv_new_unk_v40_1->m_addornements = "v"; + n_cv_new_unk_v40_1->m_address = base + offset; + n_cv_new_unk_v40_1->m_parent = p_node_parent; + n_cv_new_unk_v40_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_cv_new_unk_v40_1); + + field_name = "cv_new_unk_v40_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_variation, field_name)); + auto n_cv_new_unk_v40_2 = new NodeVector; + n_cv_new_unk_v40_2->m_field_name = field_name; + n_cv_new_unk_v40_2->m_df_type = DF_Type::Stl_string; + n_cv_new_unk_v40_2->m_rdf_type = RDF_Type::Vector; + n_cv_new_unk_v40_2->m_node_type = NodeType::Vector; + n_cv_new_unk_v40_2->m_addornements = "v*"; + n_cv_new_unk_v40_2->m_address = base + offset; + n_cv_new_unk_v40_2->m_parent = p_node_parent; + n_cv_new_unk_v40_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_cv_new_unk_v40_2); + + field_name = "cv_remove_tag"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_variation, field_name)); + auto n_cv_remove_tag = new NodeVector; + n_cv_remove_tag->m_field_name = field_name; + n_cv_remove_tag->m_df_type = DF_Type::Stl_string; + n_cv_remove_tag->m_rdf_type = RDF_Type::Vector; + n_cv_remove_tag->m_node_type = NodeType::Vector; + n_cv_remove_tag->m_addornements = "v*"; + n_cv_remove_tag->m_address = base + offset; + n_cv_remove_tag->m_parent = p_node_parent; + n_cv_remove_tag->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_cv_remove_tag); + + field_name = "cv_remove_unk_v40_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_variation, field_name)); + auto n_cv_remove_unk_v40_1 = new NodeVector; + n_cv_remove_unk_v40_1->m_field_name = field_name; + n_cv_remove_unk_v40_1->m_df_type = DF_Type::int32_t; + n_cv_remove_unk_v40_1->m_rdf_type = RDF_Type::Vector; + n_cv_remove_unk_v40_1->m_node_type = NodeType::Vector; + n_cv_remove_unk_v40_1->m_addornements = "v"; + n_cv_remove_unk_v40_1->m_address = base + offset; + n_cv_remove_unk_v40_1->m_parent = p_node_parent; + n_cv_remove_unk_v40_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_cv_remove_unk_v40_1); + + field_name = "cv_remove_unk_v40_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_variation, field_name)); + auto n_cv_remove_unk_v40_2 = new NodeVector; + n_cv_remove_unk_v40_2->m_field_name = field_name; + n_cv_remove_unk_v40_2->m_df_type = DF_Type::Stl_string; + n_cv_remove_unk_v40_2->m_rdf_type = RDF_Type::Vector; + n_cv_remove_unk_v40_2->m_node_type = NodeType::Vector; + n_cv_remove_unk_v40_2->m_addornements = "v*"; + n_cv_remove_unk_v40_2->m_address = base + offset; + n_cv_remove_unk_v40_2->m_parent = p_node_parent; + n_cv_remove_unk_v40_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_cv_remove_unk_v40_2); + +} +void node_from_body_part_template(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_template, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::Stl_string; + n_id->m_rdf_type = RDF_Type::Stl_string; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "con"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_template, field_name)); + auto n_con = new NodeSimple; + n_con->m_field_name = field_name; + n_con->m_df_type = DF_Type::Stl_string; + n_con->m_rdf_type = RDF_Type::Stl_string; + n_con->m_node_type = NodeType::Simple; + n_con->m_address = base + offset; + n_con->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_con); + + field_name = "category"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_template, field_name)); + auto n_category = new NodeSimple; + n_category->m_field_name = field_name; + n_category->m_df_type = DF_Type::Stl_string; + n_category->m_rdf_type = RDF_Type::Stl_string; + n_category->m_node_type = NodeType::Simple; + n_category->m_address = base + offset; + n_category->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_category); + + field_name = "con_cat"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_template, field_name)); + auto n_con_cat = new NodeSimple; + n_con_cat->m_field_name = field_name; + n_con_cat->m_df_type = DF_Type::Stl_string; + n_con_cat->m_rdf_type = RDF_Type::Stl_string; + n_con_cat->m_node_type = NodeType::Simple; + n_con_cat->m_address = base + offset; + n_con_cat->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_con_cat); + + field_name = "contype"; + auto n_contype = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_template, field_name)); + n_contype->m_field_name = field_name; + n_contype->m_df_type = DF_Type::body_part_template_contype; + n_contype->m_rdf_type = RDF_Type::Enum; + n_contype->m_node_type = NodeType::Enum; + n_contype->m_base_type = DF_Type::int16_t; + n_contype->m_enum_type = "body_part_template_contype"; + n_contype->m_address = base + offset; + n_contype->m_defined_in = "df.creature-raws.xml"; + n_contype->m_first_value = -1; + n_contype->m_last_value = 4; + n_contype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_contype); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_template, field_name)); + auto n_flags = new NodeDFFlagArray; + n_flags->m_field_name = field_name; + n_flags->m_index_enum = DF_Type::body_part_template_flags; + n_flags->m_df_type = DF_Type::body_part_template_flags; + n_flags->m_size = 31; + n_flags->m_rdf_type = RDF_Type::DFFlagArray; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_defined_in = "df.creature-raws.xml"; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "default_relsize"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_template, field_name)); + auto n_default_relsize = new NodeSimple; + n_default_relsize->m_field_name = field_name; + n_default_relsize->m_df_type = DF_Type::int32_t; + n_default_relsize->m_rdf_type = RDF_Type::int32_t; + n_default_relsize->m_node_type = NodeType::Simple; + n_default_relsize->m_address = base + offset; + n_default_relsize->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_default_relsize); + + field_name = "number"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_template, field_name)); + auto n_number = new NodeSimple; + n_number->m_field_name = field_name; + n_number->m_df_type = DF_Type::int32_t; + n_number->m_rdf_type = RDF_Type::int32_t; + n_number->m_node_type = NodeType::Simple; + n_number->m_address = base + offset; + n_number->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_number); + + field_name = "name_singular"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_template, field_name)); + auto n_name_singular = new NodeVector; + n_name_singular->m_field_name = field_name; + n_name_singular->m_df_type = DF_Type::Stl_string; + n_name_singular->m_rdf_type = RDF_Type::Vector; + n_name_singular->m_node_type = NodeType::Vector; + n_name_singular->m_addornements = "v*"; + n_name_singular->m_address = base + offset; + n_name_singular->m_comment = "first comes from BP, rest come from INDIVIDUAL_NAME"; + n_name_singular->m_parent = p_node_parent; + n_name_singular->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_name_singular); + + field_name = "name_plural"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_part_template, field_name)); + auto n_name_plural = new NodeVector; + n_name_plural->m_field_name = field_name; + n_name_plural->m_df_type = DF_Type::Stl_string; + n_name_plural->m_rdf_type = RDF_Type::Vector; + n_name_plural->m_node_type = NodeType::Vector; + n_name_plural->m_addornements = "v*"; + n_name_plural->m_address = base + offset; + n_name_plural->m_parent = p_node_parent; + n_name_plural->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_name_plural); + +} +void node_from_body_template(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_template, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::Stl_string; + n_id->m_rdf_type = RDF_Type::Stl_string; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "parts"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_template, field_name)); + auto n_parts = new NodeVector; + n_parts->m_field_name = field_name; + n_parts->m_df_type = DF_Type::body_part_template; + n_parts->m_rdf_type = RDF_Type::Vector; + n_parts->m_node_type = NodeType::Vector; + n_parts->m_defined_in = "df.creature-raws.xml"; + n_parts->m_addornements = "v*"; + n_parts->m_address = base + offset; + n_parts->m_parent = p_node_parent; + n_parts->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_parts); + +} +void node_from_tissue_template(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue_template, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::Stl_string; + n_id->m_rdf_type = RDF_Type::Stl_string; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue_template, field_name)); + auto n_flags = new NodeDFFlagArray; + n_flags->m_field_name = field_name; + n_flags->m_index_enum = DF_Type::tissue_flags; + n_flags->m_df_type = DF_Type::tissue_flags; + n_flags->m_size = 22; + n_flags->m_rdf_type = RDF_Type::DFFlagArray; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_defined_in = "df.creature-raws.xml"; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "tissue_name_singular"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue_template, field_name)); + auto n_tissue_name_singular = new NodeSimple; + n_tissue_name_singular->m_field_name = field_name; + n_tissue_name_singular->m_df_type = DF_Type::Stl_string; + n_tissue_name_singular->m_rdf_type = RDF_Type::Stl_string; + n_tissue_name_singular->m_node_type = NodeType::Simple; + n_tissue_name_singular->m_address = base + offset; + n_tissue_name_singular->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tissue_name_singular); + + field_name = "tissue_name_plural"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue_template, field_name)); + auto n_tissue_name_plural = new NodeSimple; + n_tissue_name_plural->m_field_name = field_name; + n_tissue_name_plural->m_df_type = DF_Type::Stl_string; + n_tissue_name_plural->m_rdf_type = RDF_Type::Stl_string; + n_tissue_name_plural->m_node_type = NodeType::Simple; + n_tissue_name_plural->m_address = base + offset; + n_tissue_name_plural->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tissue_name_plural); + + field_name = "tissue_material_str"; + auto n_tissue_material_str = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue_template, field_name)); + n_tissue_material_str->m_field_name = field_name; + n_tissue_material_str->m_df_type = DF_Type::Stl_string; + n_tissue_material_str->m_rdf_type = RDF_Type::Array; + n_tissue_material_str->m_node_type = NodeType::Array; + n_tissue_material_str->m_addornements = "[3"; + n_tissue_material_str->m_array_size = 3; + n_tissue_material_str->m_address = base + offset; + n_tissue_material_str->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tissue_material_str); + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue_template, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue_template, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "relative_thickness"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue_template, field_name)); + auto n_relative_thickness = new NodeSimple; + n_relative_thickness->m_field_name = field_name; + n_relative_thickness->m_df_type = DF_Type::int32_t; + n_relative_thickness->m_rdf_type = RDF_Type::int32_t; + n_relative_thickness->m_node_type = NodeType::Simple; + n_relative_thickness->m_address = base + offset; + n_relative_thickness->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_relative_thickness); + + field_name = "healing_rate"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue_template, field_name)); + auto n_healing_rate = new NodeSimple; + n_healing_rate->m_field_name = field_name; + n_healing_rate->m_df_type = DF_Type::int32_t; + n_healing_rate->m_rdf_type = RDF_Type::int32_t; + n_healing_rate->m_node_type = NodeType::Simple; + n_healing_rate->m_address = base + offset; + n_healing_rate->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_healing_rate); + + field_name = "vascular"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue_template, field_name)); + auto n_vascular = new NodeSimple; + n_vascular->m_field_name = field_name; + n_vascular->m_df_type = DF_Type::int32_t; + n_vascular->m_rdf_type = RDF_Type::int32_t; + n_vascular->m_node_type = NodeType::Simple; + n_vascular->m_address = base + offset; + n_vascular->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_vascular); + + field_name = "pain_receptors"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue_template, field_name)); + auto n_pain_receptors = new NodeSimple; + n_pain_receptors->m_field_name = field_name; + n_pain_receptors->m_df_type = DF_Type::int32_t; + n_pain_receptors->m_rdf_type = RDF_Type::int32_t; + n_pain_receptors->m_node_type = NodeType::Simple; + n_pain_receptors->m_address = base + offset; + n_pain_receptors->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pain_receptors); + + field_name = "tissue_shape"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue_template, field_name)); + auto n_tissue_shape = new NodeSimple; + n_tissue_shape->m_field_name = field_name; + n_tissue_shape->m_df_type = DF_Type::int16_t; + n_tissue_shape->m_rdf_type = RDF_Type::int16_t; + n_tissue_shape->m_node_type = NodeType::Simple; + n_tissue_shape->m_address = base + offset; + n_tissue_shape->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tissue_shape); + + field_name = "unk1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue_template, field_name)); + auto n_unk1 = new NodeSimple; + n_unk1->m_field_name = field_name; + n_unk1->m_df_type = DF_Type::int32_t; + n_unk1->m_rdf_type = RDF_Type::int32_t; + n_unk1->m_node_type = NodeType::Simple; + n_unk1->m_address = base + offset; + n_unk1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk1); + + field_name = "insulation"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue_template, field_name)); + auto n_insulation = new NodeSimple; + n_insulation->m_field_name = field_name; + n_insulation->m_df_type = DF_Type::int16_t; + n_insulation->m_rdf_type = RDF_Type::int16_t; + n_insulation->m_node_type = NodeType::Simple; + n_insulation->m_address = base + offset; + n_insulation->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_insulation); + + field_name = "subordinate_to_tissue"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue_template, field_name)); + auto n_subordinate_to_tissue = new NodeSimple; + n_subordinate_to_tissue->m_field_name = field_name; + n_subordinate_to_tissue->m_df_type = DF_Type::Stl_string; + n_subordinate_to_tissue->m_rdf_type = RDF_Type::Stl_string; + n_subordinate_to_tissue->m_node_type = NodeType::Simple; + n_subordinate_to_tissue->m_address = base + offset; + n_subordinate_to_tissue->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_subordinate_to_tissue); + + field_name = "tissue_mat_state"; + auto n_tissue_mat_state = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue_template, field_name)); + n_tissue_mat_state->m_field_name = field_name; + n_tissue_mat_state->m_df_type = DF_Type::matter_state; + n_tissue_mat_state->m_rdf_type = RDF_Type::Enum; + n_tissue_mat_state->m_node_type = NodeType::Enum; + n_tissue_mat_state->m_base_type = DF_Type::int16_t; + n_tissue_mat_state->m_enum_type = "matter_state"; + n_tissue_mat_state->m_address = base + offset; + n_tissue_mat_state->m_defined_in = "df.materials.xml"; + n_tissue_mat_state->m_first_value = -1; + n_tissue_mat_state->m_last_value = 5; + n_tissue_mat_state->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tissue_mat_state); + + field_name = "tissue_shape_str"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue_template, field_name)); + auto n_tissue_shape_str = new NodeSimple; + n_tissue_shape_str->m_field_name = field_name; + n_tissue_shape_str->m_df_type = DF_Type::Stl_string; + n_tissue_shape_str->m_rdf_type = RDF_Type::Stl_string; + n_tissue_shape_str->m_node_type = NodeType::Simple; + n_tissue_shape_str->m_address = base + offset; + n_tissue_shape_str->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tissue_shape_str); + +} +void node_from_tissue(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::Stl_string; + n_id->m_rdf_type = RDF_Type::Stl_string; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue, field_name)); + auto n_flags = new NodeDFFlagArray; + n_flags->m_field_name = field_name; + n_flags->m_index_enum = DF_Type::tissue_flags; + n_flags->m_df_type = DF_Type::tissue_flags; + n_flags->m_size = 22; + n_flags->m_rdf_type = RDF_Type::DFFlagArray; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_defined_in = "df.creature-raws.xml"; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "tissue_name_singular"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue, field_name)); + auto n_tissue_name_singular = new NodeSimple; + n_tissue_name_singular->m_field_name = field_name; + n_tissue_name_singular->m_df_type = DF_Type::Stl_string; + n_tissue_name_singular->m_rdf_type = RDF_Type::Stl_string; + n_tissue_name_singular->m_node_type = NodeType::Simple; + n_tissue_name_singular->m_address = base + offset; + n_tissue_name_singular->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tissue_name_singular); + + field_name = "tissue_name_plural"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue, field_name)); + auto n_tissue_name_plural = new NodeSimple; + n_tissue_name_plural->m_field_name = field_name; + n_tissue_name_plural->m_df_type = DF_Type::Stl_string; + n_tissue_name_plural->m_rdf_type = RDF_Type::Stl_string; + n_tissue_name_plural->m_node_type = NodeType::Simple; + n_tissue_name_plural->m_address = base + offset; + n_tissue_name_plural->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tissue_name_plural); + + field_name = "tissue_material_str"; + auto n_tissue_material_str = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue, field_name)); + n_tissue_material_str->m_field_name = field_name; + n_tissue_material_str->m_df_type = DF_Type::Stl_string; + n_tissue_material_str->m_rdf_type = RDF_Type::Array; + n_tissue_material_str->m_node_type = NodeType::Array; + n_tissue_material_str->m_addornements = "[3"; + n_tissue_material_str->m_array_size = 3; + n_tissue_material_str->m_address = base + offset; + n_tissue_material_str->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tissue_material_str); + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "relative_thickness"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue, field_name)); + auto n_relative_thickness = new NodeSimple; + n_relative_thickness->m_field_name = field_name; + n_relative_thickness->m_df_type = DF_Type::int32_t; + n_relative_thickness->m_rdf_type = RDF_Type::int32_t; + n_relative_thickness->m_node_type = NodeType::Simple; + n_relative_thickness->m_address = base + offset; + n_relative_thickness->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_relative_thickness); + + field_name = "healing_rate"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue, field_name)); + auto n_healing_rate = new NodeSimple; + n_healing_rate->m_field_name = field_name; + n_healing_rate->m_df_type = DF_Type::int32_t; + n_healing_rate->m_rdf_type = RDF_Type::int32_t; + n_healing_rate->m_node_type = NodeType::Simple; + n_healing_rate->m_address = base + offset; + n_healing_rate->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_healing_rate); + + field_name = "vascular"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue, field_name)); + auto n_vascular = new NodeSimple; + n_vascular->m_field_name = field_name; + n_vascular->m_df_type = DF_Type::int32_t; + n_vascular->m_rdf_type = RDF_Type::int32_t; + n_vascular->m_node_type = NodeType::Simple; + n_vascular->m_address = base + offset; + n_vascular->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_vascular); + + field_name = "pain_receptors"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue, field_name)); + auto n_pain_receptors = new NodeSimple; + n_pain_receptors->m_field_name = field_name; + n_pain_receptors->m_df_type = DF_Type::int32_t; + n_pain_receptors->m_rdf_type = RDF_Type::int32_t; + n_pain_receptors->m_node_type = NodeType::Simple; + n_pain_receptors->m_address = base + offset; + n_pain_receptors->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pain_receptors); + + field_name = "tissue_shape"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue, field_name)); + auto n_tissue_shape = new NodeSimple; + n_tissue_shape->m_field_name = field_name; + n_tissue_shape->m_df_type = DF_Type::int16_t; + n_tissue_shape->m_rdf_type = RDF_Type::int16_t; + n_tissue_shape->m_node_type = NodeType::Simple; + n_tissue_shape->m_address = base + offset; + n_tissue_shape->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tissue_shape); + + field_name = "unk1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue, field_name)); + auto n_unk1 = new NodeSimple; + n_unk1->m_field_name = field_name; + n_unk1->m_df_type = DF_Type::int32_t; + n_unk1->m_rdf_type = RDF_Type::int32_t; + n_unk1->m_node_type = NodeType::Simple; + n_unk1->m_address = base + offset; + n_unk1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk1); + + field_name = "insulation"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue, field_name)); + auto n_insulation = new NodeSimple; + n_insulation->m_field_name = field_name; + n_insulation->m_df_type = DF_Type::int16_t; + n_insulation->m_rdf_type = RDF_Type::int16_t; + n_insulation->m_node_type = NodeType::Simple; + n_insulation->m_address = base + offset; + n_insulation->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_insulation); + + field_name = "subordinate_to_tissue"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue, field_name)); + auto n_subordinate_to_tissue = new NodeSimple; + n_subordinate_to_tissue->m_field_name = field_name; + n_subordinate_to_tissue->m_df_type = DF_Type::Stl_string; + n_subordinate_to_tissue->m_rdf_type = RDF_Type::Stl_string; + n_subordinate_to_tissue->m_node_type = NodeType::Simple; + n_subordinate_to_tissue->m_address = base + offset; + n_subordinate_to_tissue->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_subordinate_to_tissue); + + field_name = "parent_tissue"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue, field_name)); + auto n_parent_tissue = new NodeSimple; + n_parent_tissue->m_field_name = field_name; + n_parent_tissue->m_df_type = DF_Type::int32_t; + n_parent_tissue->m_rdf_type = RDF_Type::int32_t; + n_parent_tissue->m_node_type = NodeType::Simple; + n_parent_tissue->m_address = base + offset; + n_parent_tissue->m_refers_to = "$$._global._upglobal.tissue[$]"; + n_parent_tissue->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_parent_tissue); + + field_name = "tissue_mat_state"; + auto n_tissue_mat_state = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue, field_name)); + n_tissue_mat_state->m_field_name = field_name; + n_tissue_mat_state->m_df_type = DF_Type::matter_state; + n_tissue_mat_state->m_rdf_type = RDF_Type::Enum; + n_tissue_mat_state->m_node_type = NodeType::Enum; + n_tissue_mat_state->m_base_type = DF_Type::int16_t; + n_tissue_mat_state->m_enum_type = "matter_state"; + n_tissue_mat_state->m_address = base + offset; + n_tissue_mat_state->m_defined_in = "df.materials.xml"; + n_tissue_mat_state->m_first_value = -1; + n_tissue_mat_state->m_last_value = 5; + n_tissue_mat_state->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tissue_mat_state); + + field_name = "heatdam_point"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue, field_name)); + auto n_heatdam_point = new NodeSimple; + n_heatdam_point->m_field_name = field_name; + n_heatdam_point->m_df_type = DF_Type::uint16_t; + n_heatdam_point->m_rdf_type = RDF_Type::uint16_t; + n_heatdam_point->m_node_type = NodeType::Simple; + n_heatdam_point->m_address = base + offset; + n_heatdam_point->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_heatdam_point); + + field_name = "colddam_point"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue, field_name)); + auto n_colddam_point = new NodeSimple; + n_colddam_point->m_field_name = field_name; + n_colddam_point->m_df_type = DF_Type::uint16_t; + n_colddam_point->m_rdf_type = RDF_Type::uint16_t; + n_colddam_point->m_node_type = NodeType::Simple; + n_colddam_point->m_address = base + offset; + n_colddam_point->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_colddam_point); + + field_name = "ignite_point"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue, field_name)); + auto n_ignite_point = new NodeSimple; + n_ignite_point->m_field_name = field_name; + n_ignite_point->m_df_type = DF_Type::uint16_t; + n_ignite_point->m_rdf_type = RDF_Type::uint16_t; + n_ignite_point->m_node_type = NodeType::Simple; + n_ignite_point->m_address = base + offset; + n_ignite_point->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ignite_point); + + field_name = "melting_point"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue, field_name)); + auto n_melting_point = new NodeSimple; + n_melting_point->m_field_name = field_name; + n_melting_point->m_df_type = DF_Type::uint16_t; + n_melting_point->m_rdf_type = RDF_Type::uint16_t; + n_melting_point->m_node_type = NodeType::Simple; + n_melting_point->m_address = base + offset; + n_melting_point->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_melting_point); + + field_name = "boiling_point"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue, field_name)); + auto n_boiling_point = new NodeSimple; + n_boiling_point->m_field_name = field_name; + n_boiling_point->m_df_type = DF_Type::uint16_t; + n_boiling_point->m_rdf_type = RDF_Type::uint16_t; + n_boiling_point->m_node_type = NodeType::Simple; + n_boiling_point->m_address = base + offset; + n_boiling_point->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_boiling_point); + + field_name = "spec_heat"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue, field_name)); + auto n_spec_heat = new NodeSimple; + n_spec_heat->m_field_name = field_name; + n_spec_heat->m_df_type = DF_Type::uint16_t; + n_spec_heat->m_rdf_type = RDF_Type::uint16_t; + n_spec_heat->m_node_type = NodeType::Simple; + n_spec_heat->m_address = base + offset; + n_spec_heat->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_spec_heat); + + field_name = "tissue_shape_str"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::tissue, field_name)); + auto n_tissue_shape_str = new NodeSimple; + n_tissue_shape_str->m_field_name = field_name; + n_tissue_shape_str->m_df_type = DF_Type::Stl_string; + n_tissue_shape_str->m_rdf_type = RDF_Type::Stl_string; + n_tissue_shape_str->m_node_type = NodeType::Simple; + n_tissue_shape_str->m_address = base + offset; + n_tissue_shape_str->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tissue_shape_str); + +} +void node_from_d_init__T_wound_color(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "none"; + auto n_none = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init__T_wound_color, field_name)); + n_none->m_field_name = field_name; + n_none->m_df_type = DF_Type::int16_t; + n_none->m_rdf_type = RDF_Type::Array; + n_none->m_node_type = NodeType::Array; + n_none->m_addornements = "[3"; + n_none->m_array_size = 3; + n_none->m_address = base + offset; + n_none->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_none); + + field_name = "minor"; + auto n_minor = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init__T_wound_color, field_name)); + n_minor->m_field_name = field_name; + n_minor->m_df_type = DF_Type::int16_t; + n_minor->m_rdf_type = RDF_Type::Array; + n_minor->m_node_type = NodeType::Array; + n_minor->m_addornements = "[3"; + n_minor->m_array_size = 3; + n_minor->m_address = base + offset; + n_minor->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_minor); + + field_name = "inhibited"; + auto n_inhibited = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init__T_wound_color, field_name)); + n_inhibited->m_field_name = field_name; + n_inhibited->m_df_type = DF_Type::int16_t; + n_inhibited->m_rdf_type = RDF_Type::Array; + n_inhibited->m_node_type = NodeType::Array; + n_inhibited->m_addornements = "[3"; + n_inhibited->m_array_size = 3; + n_inhibited->m_address = base + offset; + n_inhibited->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_inhibited); + + field_name = "function_loss"; + auto n_function_loss = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init__T_wound_color, field_name)); + n_function_loss->m_field_name = field_name; + n_function_loss->m_df_type = DF_Type::int16_t; + n_function_loss->m_rdf_type = RDF_Type::Array; + n_function_loss->m_node_type = NodeType::Array; + n_function_loss->m_addornements = "[3"; + n_function_loss->m_array_size = 3; + n_function_loss->m_address = base + offset; + n_function_loss->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_function_loss); + + field_name = "broken"; + auto n_broken = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init__T_wound_color, field_name)); + n_broken->m_field_name = field_name; + n_broken->m_df_type = DF_Type::int16_t; + n_broken->m_rdf_type = RDF_Type::Array; + n_broken->m_node_type = NodeType::Array; + n_broken->m_addornements = "[3"; + n_broken->m_array_size = 3; + n_broken->m_address = base + offset; + n_broken->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_broken); + + field_name = "missing"; + auto n_missing = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init__T_wound_color, field_name)); + n_missing->m_field_name = field_name; + n_missing->m_df_type = DF_Type::int16_t; + n_missing->m_rdf_type = RDF_Type::Array; + n_missing->m_node_type = NodeType::Array; + n_missing->m_addornements = "[3"; + n_missing->m_array_size = 3; + n_missing->m_address = base + offset; + n_missing->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_missing); + +} +void node_from_d_init__T_store_dist(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "item_decrease"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init__T_store_dist, field_name)); + auto n_item_decrease = new NodeSimple; + n_item_decrease->m_field_name = field_name; + n_item_decrease->m_df_type = DF_Type::int16_t; + n_item_decrease->m_rdf_type = RDF_Type::int16_t; + n_item_decrease->m_node_type = NodeType::Simple; + n_item_decrease->m_address = base + offset; + n_item_decrease->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_decrease); + + field_name = "seed_combine"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init__T_store_dist, field_name)); + auto n_seed_combine = new NodeSimple; + n_seed_combine->m_field_name = field_name; + n_seed_combine->m_df_type = DF_Type::int16_t; + n_seed_combine->m_rdf_type = RDF_Type::int16_t; + n_seed_combine->m_node_type = NodeType::Simple; + n_seed_combine->m_address = base + offset; + n_seed_combine->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_seed_combine); + + field_name = "bucket_combine"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init__T_store_dist, field_name)); + auto n_bucket_combine = new NodeSimple; + n_bucket_combine->m_field_name = field_name; + n_bucket_combine->m_df_type = DF_Type::int16_t; + n_bucket_combine->m_rdf_type = RDF_Type::int16_t; + n_bucket_combine->m_node_type = NodeType::Simple; + n_bucket_combine->m_address = base + offset; + n_bucket_combine->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_bucket_combine); + + field_name = "barrel_combine"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init__T_store_dist, field_name)); + auto n_barrel_combine = new NodeSimple; + n_barrel_combine->m_field_name = field_name; + n_barrel_combine->m_df_type = DF_Type::int16_t; + n_barrel_combine->m_rdf_type = RDF_Type::int16_t; + n_barrel_combine->m_node_type = NodeType::Simple; + n_barrel_combine->m_address = base + offset; + n_barrel_combine->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_barrel_combine); + + field_name = "bin_combine"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init__T_store_dist, field_name)); + auto n_bin_combine = new NodeSimple; + n_bin_combine->m_field_name = field_name; + n_bin_combine->m_df_type = DF_Type::int16_t; + n_bin_combine->m_rdf_type = RDF_Type::int16_t; + n_bin_combine->m_node_type = NodeType::Simple; + n_bin_combine->m_address = base + offset; + n_bin_combine->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_bin_combine); + +} +void node_from_d_init(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "flags1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); + auto n_flags1 = new NodeDFFlagArray; + n_flags1->m_field_name = field_name; + n_flags1->m_index_enum = DF_Type::d_init_flags1; + n_flags1->m_df_type = DF_Type::d_init_flags1; + n_flags1->m_size = 4; + n_flags1->m_rdf_type = RDF_Type::DFFlagArray; + n_flags1->m_node_type = NodeType::Bitfield; + n_flags1->m_address = base + offset; + n_flags1->m_defined_in = "df.d_init.xml"; + n_flags1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags1); + + field_name = "nickname"; + auto n_nickname = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); + n_nickname->m_field_name = field_name; + n_nickname->m_df_type = DF_Type::d_init_nickname; + n_nickname->m_rdf_type = RDF_Type::Array; + n_nickname->m_node_type = NodeType::Array; + n_nickname->m_index_enum = DF_Type::game_type; + n_nickname->m_enum_base = enum_base_type(n_nickname->m_df_type); + n_nickname->m_defined_in = "df.d_init.xml"; + n_nickname->m_addornements = "[10"; + n_nickname->m_array_size = 10; + n_nickname->m_address = base + offset; + n_nickname->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_nickname); + + field_name = "sky_tile"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); + auto n_sky_tile = new NodeSimple; + n_sky_tile->m_field_name = field_name; + n_sky_tile->m_df_type = DF_Type::uint8_t; + n_sky_tile->m_rdf_type = RDF_Type::uint8_t; + n_sky_tile->m_node_type = NodeType::Simple; + n_sky_tile->m_address = base + offset; + n_sky_tile->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sky_tile); + + field_name = "sky_color"; + auto n_sky_color = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); + n_sky_color->m_field_name = field_name; + n_sky_color->m_df_type = DF_Type::int16_t; + n_sky_color->m_rdf_type = RDF_Type::Array; + n_sky_color->m_node_type = NodeType::Array; + n_sky_color->m_addornements = "[3"; + n_sky_color->m_array_size = 3; + n_sky_color->m_address = base + offset; + n_sky_color->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sky_color); + + field_name = "chasm_tile"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); + auto n_chasm_tile = new NodeSimple; + n_chasm_tile->m_field_name = field_name; + n_chasm_tile->m_df_type = DF_Type::uint8_t; + n_chasm_tile->m_rdf_type = RDF_Type::uint8_t; + n_chasm_tile->m_node_type = NodeType::Simple; + n_chasm_tile->m_address = base + offset; + n_chasm_tile->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_chasm_tile); + + field_name = "pillar_tile"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); + auto n_pillar_tile = new NodeSimple; + n_pillar_tile->m_field_name = field_name; + n_pillar_tile->m_df_type = DF_Type::uint8_t; + n_pillar_tile->m_rdf_type = RDF_Type::uint8_t; + n_pillar_tile->m_node_type = NodeType::Simple; + n_pillar_tile->m_address = base + offset; + n_pillar_tile->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pillar_tile); + + field_name = "track_tiles"; + auto n_track_tiles = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); + n_track_tiles->m_field_name = field_name; + n_track_tiles->m_df_type = DF_Type::uint8_t; + n_track_tiles->m_rdf_type = RDF_Type::Array; + n_track_tiles->m_node_type = NodeType::Array; + n_track_tiles->m_addornements = "[15"; + n_track_tiles->m_array_size = 15; + n_track_tiles->m_address = base + offset; + n_track_tiles->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_track_tiles); + + field_name = "track_tile_invert"; + auto n_track_tile_invert = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); + n_track_tile_invert->m_field_name = field_name; + n_track_tile_invert->m_df_type = DF_Type::uint8_t; + n_track_tile_invert->m_rdf_type = RDF_Type::Array; + n_track_tile_invert->m_node_type = NodeType::Array; + n_track_tile_invert->m_addornements = "[15"; + n_track_tile_invert->m_array_size = 15; + n_track_tile_invert->m_address = base + offset; + n_track_tile_invert->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_track_tile_invert); + + field_name = "track_ramp_tiles"; + auto n_track_ramp_tiles = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); + n_track_ramp_tiles->m_field_name = field_name; + n_track_ramp_tiles->m_df_type = DF_Type::uint8_t; + n_track_ramp_tiles->m_rdf_type = RDF_Type::Array; + n_track_ramp_tiles->m_node_type = NodeType::Array; + n_track_ramp_tiles->m_addornements = "[15"; + n_track_ramp_tiles->m_array_size = 15; + n_track_ramp_tiles->m_address = base + offset; + n_track_ramp_tiles->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_track_ramp_tiles); + + field_name = "track_ramp_invert"; + auto n_track_ramp_invert = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); + n_track_ramp_invert->m_field_name = field_name; + n_track_ramp_invert->m_df_type = DF_Type::uint8_t; + n_track_ramp_invert->m_rdf_type = RDF_Type::Array; + n_track_ramp_invert->m_node_type = NodeType::Array; + n_track_ramp_invert->m_addornements = "[15"; + n_track_ramp_invert->m_array_size = 15; + n_track_ramp_invert->m_address = base + offset; + n_track_ramp_invert->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_track_ramp_invert); + + field_name = "tree_tiles"; + auto n_tree_tiles = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); + n_tree_tiles->m_field_name = field_name; + n_tree_tiles->m_df_type = DF_Type::uint8_t; + n_tree_tiles->m_rdf_type = RDF_Type::Array; + n_tree_tiles->m_node_type = NodeType::Array; + n_tree_tiles->m_addornements = "[104"; + n_tree_tiles->m_array_size = 104; + n_tree_tiles->m_address = base + offset; + n_tree_tiles->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tree_tiles); + + field_name = "chasm_color"; + auto n_chasm_color = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); + n_chasm_color->m_field_name = field_name; + n_chasm_color->m_df_type = DF_Type::int16_t; + n_chasm_color->m_rdf_type = RDF_Type::Array; + n_chasm_color->m_node_type = NodeType::Array; + n_chasm_color->m_addornements = "[3"; + n_chasm_color->m_array_size = 3; + n_chasm_color->m_address = base + offset; + n_chasm_color->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_chasm_color); + + field_name = "wound_color"; + auto n_wound_color = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); + n_wound_color->m_field_name = field_name; + n_wound_color->m_df_type = DF_Type::d_init__T_wound_color; + n_wound_color->m_rdf_type = RDF_Type::Compound; + n_wound_color->m_node_type = NodeType::Compound; + n_wound_color->m_address = base + offset; + n_wound_color->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_wound_color); + + field_name = "idlers"; + auto n_idlers = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); + n_idlers->m_field_name = field_name; + n_idlers->m_df_type = DF_Type::d_init_idlers; + n_idlers->m_rdf_type = RDF_Type::Enum; + n_idlers->m_node_type = NodeType::Enum; + n_idlers->m_base_type = DF_Type::int16_t; + n_idlers->m_enum_type = "d_init_idlers"; + n_idlers->m_address = base + offset; + n_idlers->m_defined_in = "df.d_init.xml"; + n_idlers->m_first_value = -1; + n_idlers->m_last_value = 1; + n_idlers->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_idlers); + + field_name = "show_embark_tunnel"; + auto n_show_embark_tunnel = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); + n_show_embark_tunnel->m_field_name = field_name; + n_show_embark_tunnel->m_df_type = DF_Type::d_init_tunnel; + n_show_embark_tunnel->m_rdf_type = RDF_Type::Enum; + n_show_embark_tunnel->m_node_type = NodeType::Enum; + n_show_embark_tunnel->m_base_type = DF_Type::int16_t; + n_show_embark_tunnel->m_enum_type = "d_init_tunnel"; + n_show_embark_tunnel->m_address = base + offset; + n_show_embark_tunnel->m_defined_in = "df.d_init.xml"; + n_show_embark_tunnel->m_first_value = 0; + n_show_embark_tunnel->m_last_value = 2; + n_show_embark_tunnel->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_show_embark_tunnel); + + field_name = "flags2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); + auto n_flags2 = new NodeDFFlagArray; + n_flags2->m_field_name = field_name; + n_flags2->m_index_enum = DF_Type::d_init_flags2; + n_flags2->m_df_type = DF_Type::d_init_flags2; + n_flags2->m_size = 3; + n_flags2->m_rdf_type = RDF_Type::DFFlagArray; + n_flags2->m_node_type = NodeType::Bitfield; + n_flags2->m_address = base + offset; + n_flags2->m_defined_in = "df.d_init.xml"; + n_flags2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags2); + + field_name = "display_length"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); + auto n_display_length = new NodeSimple; + n_display_length->m_field_name = field_name; + n_display_length->m_df_type = DF_Type::int32_t; + n_display_length->m_rdf_type = RDF_Type::int32_t; + n_display_length->m_node_type = NodeType::Simple; + n_display_length->m_address = base + offset; + n_display_length->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_display_length); + + field_name = "adventurer_z_view"; + auto n_adventurer_z_view = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); + n_adventurer_z_view->m_field_name = field_name; + n_adventurer_z_view->m_df_type = DF_Type::d_init_z_view; + n_adventurer_z_view->m_rdf_type = RDF_Type::Enum; + n_adventurer_z_view->m_node_type = NodeType::Enum; + n_adventurer_z_view->m_base_type = enum_base_type(n_adventurer_z_view->m_df_type); + n_adventurer_z_view->m_enum_type = "d_init_z_view"; + n_adventurer_z_view->m_address = base + offset; + n_adventurer_z_view->m_defined_in = "df.d_init.xml"; + n_adventurer_z_view->m_first_value = 0; + n_adventurer_z_view->m_last_value = 3; + n_adventurer_z_view->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_adventurer_z_view); + + field_name = "adventurer_z_view_size"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); + auto n_adventurer_z_view_size = new NodeSimple; + n_adventurer_z_view_size->m_field_name = field_name; + n_adventurer_z_view_size->m_df_type = DF_Type::int32_t; + n_adventurer_z_view_size->m_rdf_type = RDF_Type::int32_t; + n_adventurer_z_view_size->m_node_type = NodeType::Simple; + n_adventurer_z_view_size->m_address = base + offset; + n_adventurer_z_view_size->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_adventurer_z_view_size); + + field_name = "flags3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); + auto n_flags3 = new NodeDFFlagArray; + n_flags3->m_field_name = field_name; + n_flags3->m_index_enum = DF_Type::d_init_flags3; + n_flags3->m_df_type = DF_Type::d_init_flags3; + n_flags3->m_size = 1; + n_flags3->m_rdf_type = RDF_Type::DFFlagArray; + n_flags3->m_node_type = NodeType::Bitfield; + n_flags3->m_address = base + offset; + n_flags3->m_defined_in = "df.d_init.xml"; + n_flags3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags3); + + field_name = "population_cap"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); + auto n_population_cap = new NodeSimple; + n_population_cap->m_field_name = field_name; + n_population_cap->m_df_type = DF_Type::int32_t; + n_population_cap->m_rdf_type = RDF_Type::int32_t; + n_population_cap->m_node_type = NodeType::Simple; + n_population_cap->m_address = base + offset; + n_population_cap->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_population_cap); + + field_name = "strict_population_cap"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); + auto n_strict_population_cap = new NodeSimple; + n_strict_population_cap->m_field_name = field_name; + n_strict_population_cap->m_df_type = DF_Type::int32_t; + n_strict_population_cap->m_rdf_type = RDF_Type::int32_t; + n_strict_population_cap->m_node_type = NodeType::Simple; + n_strict_population_cap->m_address = base + offset; + n_strict_population_cap->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_strict_population_cap); + + field_name = "baby_cap_absolute"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); + auto n_baby_cap_absolute = new NodeSimple; + n_baby_cap_absolute->m_field_name = field_name; + n_baby_cap_absolute->m_df_type = DF_Type::int32_t; + n_baby_cap_absolute->m_rdf_type = RDF_Type::int32_t; + n_baby_cap_absolute->m_node_type = NodeType::Simple; + n_baby_cap_absolute->m_address = base + offset; + n_baby_cap_absolute->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_baby_cap_absolute); + + field_name = "baby_cap_percent"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); + auto n_baby_cap_percent = new NodeSimple; + n_baby_cap_percent->m_field_name = field_name; + n_baby_cap_percent->m_df_type = DF_Type::int32_t; + n_baby_cap_percent->m_rdf_type = RDF_Type::int32_t; + n_baby_cap_percent->m_node_type = NodeType::Simple; + n_baby_cap_percent->m_address = base + offset; + n_baby_cap_percent->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_baby_cap_percent); + + field_name = "visitor_cap"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); + auto n_visitor_cap = new NodeSimple; + n_visitor_cap->m_field_name = field_name; + n_visitor_cap->m_df_type = DF_Type::int32_t; + n_visitor_cap->m_rdf_type = RDF_Type::int32_t; + n_visitor_cap->m_node_type = NodeType::Simple; + n_visitor_cap->m_address = base + offset; + n_visitor_cap->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_visitor_cap); + + field_name = "specific_seed_cap"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); + auto n_specific_seed_cap = new NodeSimple; + n_specific_seed_cap->m_field_name = field_name; + n_specific_seed_cap->m_df_type = DF_Type::int32_t; + n_specific_seed_cap->m_rdf_type = RDF_Type::int32_t; + n_specific_seed_cap->m_node_type = NodeType::Simple; + n_specific_seed_cap->m_address = base + offset; + n_specific_seed_cap->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_specific_seed_cap); + + field_name = "fortress_seed_cap"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); + auto n_fortress_seed_cap = new NodeSimple; + n_fortress_seed_cap->m_field_name = field_name; + n_fortress_seed_cap->m_df_type = DF_Type::int32_t; + n_fortress_seed_cap->m_rdf_type = RDF_Type::int32_t; + n_fortress_seed_cap->m_node_type = NodeType::Simple; + n_fortress_seed_cap->m_address = base + offset; + n_fortress_seed_cap->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_fortress_seed_cap); + + field_name = "invasion_soldier_cap"; + auto n_invasion_soldier_cap = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); + n_invasion_soldier_cap->m_field_name = field_name; + n_invasion_soldier_cap->m_df_type = DF_Type::int32_t; + n_invasion_soldier_cap->m_rdf_type = RDF_Type::Array; + n_invasion_soldier_cap->m_node_type = NodeType::Array; + n_invasion_soldier_cap->m_addornements = "[3"; + n_invasion_soldier_cap->m_array_size = 3; + n_invasion_soldier_cap->m_address = base + offset; + n_invasion_soldier_cap->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_invasion_soldier_cap); + + field_name = "invasion_monster_cap"; + auto n_invasion_monster_cap = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); + n_invasion_monster_cap->m_field_name = field_name; + n_invasion_monster_cap->m_df_type = DF_Type::int32_t; + n_invasion_monster_cap->m_rdf_type = RDF_Type::Array; + n_invasion_monster_cap->m_node_type = NodeType::Array; + n_invasion_monster_cap->m_addornements = "[3"; + n_invasion_monster_cap->m_array_size = 3; + n_invasion_monster_cap->m_address = base + offset; + n_invasion_monster_cap->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_invasion_monster_cap); + + field_name = "path_cost"; + auto n_path_cost = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); + n_path_cost->m_field_name = field_name; + n_path_cost->m_df_type = DF_Type::int32_t; + n_path_cost->m_rdf_type = RDF_Type::Array; + n_path_cost->m_node_type = NodeType::Array; + n_path_cost->m_addornements = "[4"; + n_path_cost->m_array_size = 4; + n_path_cost->m_address = base + offset; + n_path_cost->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_path_cost); + + field_name = "embark_rect"; + auto n_embark_rect = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); + n_embark_rect->m_field_name = field_name; + n_embark_rect->m_df_type = DF_Type::int16_t; + n_embark_rect->m_rdf_type = RDF_Type::Array; + n_embark_rect->m_node_type = NodeType::Array; + n_embark_rect->m_addornements = "[2"; + n_embark_rect->m_array_size = 2; + n_embark_rect->m_address = base + offset; + n_embark_rect->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_embark_rect); + + field_name = "store_dist"; + auto n_store_dist = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); + n_store_dist->m_field_name = field_name; + n_store_dist->m_df_type = DF_Type::d_init__T_store_dist; + n_store_dist->m_rdf_type = RDF_Type::Compound; + n_store_dist->m_node_type = NodeType::Compound; + n_store_dist->m_address = base + offset; + n_store_dist->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_store_dist); + + field_name = "set_labor_lists"; + auto n_set_labor_lists = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); + n_set_labor_lists->m_field_name = field_name; + n_set_labor_lists->m_df_type = DF_Type::int16_t; + n_set_labor_lists->m_rdf_type = RDF_Type::Array; + n_set_labor_lists->m_node_type = NodeType::Array; + n_set_labor_lists->m_addornements = "[2"; + n_set_labor_lists->m_array_size = 2; + n_set_labor_lists->m_address = base + offset; + n_set_labor_lists->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_set_labor_lists); + + field_name = "graze_coefficient"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); + auto n_graze_coefficient = new NodeSimple; + n_graze_coefficient->m_field_name = field_name; + n_graze_coefficient->m_df_type = DF_Type::int32_t; + n_graze_coefficient->m_rdf_type = RDF_Type::int32_t; + n_graze_coefficient->m_node_type = NodeType::Simple; + n_graze_coefficient->m_address = base + offset; + n_graze_coefficient->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_graze_coefficient); + + field_name = "flags4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); + auto n_flags4 = new NodeDFFlagArray; + n_flags4->m_field_name = field_name; + n_flags4->m_index_enum = DF_Type::d_init_flags4; + n_flags4->m_df_type = DF_Type::d_init_flags4; + n_flags4->m_size = 19; + n_flags4->m_rdf_type = RDF_Type::DFFlagArray; + n_flags4->m_node_type = NodeType::Bitfield; + n_flags4->m_address = base + offset; + n_flags4->m_defined_in = "df.d_init.xml"; + n_flags4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags4); + + field_name = "post_prepare_embark_confirmation"; + auto n_post_prepare_embark_confirmation = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); + n_post_prepare_embark_confirmation->m_field_name = field_name; + n_post_prepare_embark_confirmation->m_df_type = DF_Type::d_init_embark_confirm; + n_post_prepare_embark_confirmation->m_rdf_type = RDF_Type::Enum; + n_post_prepare_embark_confirmation->m_node_type = NodeType::Enum; + n_post_prepare_embark_confirmation->m_base_type = enum_base_type(n_post_prepare_embark_confirmation->m_df_type); + n_post_prepare_embark_confirmation->m_enum_type = "d_init_embark_confirm"; + n_post_prepare_embark_confirmation->m_address = base + offset; + n_post_prepare_embark_confirmation->m_defined_in = "df.d_init.xml"; + n_post_prepare_embark_confirmation->m_first_value = 0; + n_post_prepare_embark_confirmation->m_last_value = 2; + n_post_prepare_embark_confirmation->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_post_prepare_embark_confirmation); + + field_name = "announcements"; + auto n_announcements = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::d_init, field_name)); + n_announcements->m_field_name = field_name; + n_announcements->m_df_type = DF_Type::announcements; + n_announcements->m_rdf_type = RDF_Type::Struct; + n_announcements->m_node_type = NodeType::Compound; + n_announcements->m_address = base + offset; + n_announcements->m_defined_in = "df.announcements.xml"; + n_announcements->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_announcements); + +} +void node_from_descriptor_pattern(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::descriptor_pattern, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::Stl_string; + n_id->m_rdf_type = RDF_Type::Stl_string; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "colors"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::descriptor_pattern, field_name)); + auto n_colors = new NodeVector; + n_colors->m_field_name = field_name; + n_colors->m_df_type = DF_Type::int16_t; + n_colors->m_rdf_type = RDF_Type::Vector; + n_colors->m_node_type = NodeType::Vector; + n_colors->m_addornements = "v"; + n_colors->m_address = base + offset; + n_colors->m_parent = p_node_parent; + n_colors->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_colors); + + field_name = "pattern"; + auto n_pattern = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::descriptor_pattern, field_name)); + n_pattern->m_field_name = field_name; + n_pattern->m_df_type = DF_Type::pattern_type; + n_pattern->m_rdf_type = RDF_Type::Enum; + n_pattern->m_node_type = NodeType::Enum; + n_pattern->m_base_type = DF_Type::int16_t; + n_pattern->m_enum_type = "pattern_type"; + n_pattern->m_address = base + offset; + n_pattern->m_defined_in = "df.descriptors.xml"; + n_pattern->m_first_value = 0; + n_pattern->m_last_value = 5; + n_pattern->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pattern); + + field_name = "cp_color"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::descriptor_pattern, field_name)); + auto n_cp_color = new NodeVector; + n_cp_color->m_field_name = field_name; + n_cp_color->m_df_type = DF_Type::Void; + n_cp_color->m_rdf_type = RDF_Type::Vector; + n_cp_color->m_node_type = NodeType::Vector; + n_cp_color->m_addornements = "v"; + n_cp_color->m_address = base + offset; + n_cp_color->m_parent = p_node_parent; + n_cp_color->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_cp_color); + +} +void node_from_entity_occasion_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "occasions"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_occasion_info, field_name)); + auto n_occasions = new NodeVector; + n_occasions->m_field_name = field_name; + n_occasions->m_df_type = DF_Type::entity_occasion; + n_occasions->m_rdf_type = RDF_Type::Vector; + n_occasions->m_node_type = NodeType::Vector; + n_occasions->m_defined_in = "df.entities.xml"; + n_occasions->m_addornements = "v*"; + n_occasions->m_address = base + offset; + n_occasions->m_parent = p_node_parent; + n_occasions->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_occasions); + + field_name = "next_occasion_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_occasion_info, field_name)); + auto n_next_occasion_id = new NodeSimple; + n_next_occasion_id->m_field_name = field_name; + n_next_occasion_id->m_df_type = DF_Type::int32_t; + n_next_occasion_id->m_rdf_type = RDF_Type::int32_t; + n_next_occasion_id->m_node_type = NodeType::Simple; + n_next_occasion_id->m_address = base + offset; + n_next_occasion_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_next_occasion_id); + + field_name = "anon_1"; + auto n_anon_1 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_occasion_info, field_name)); + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::Array; + n_anon_1->m_node_type = NodeType::Array; + n_anon_1->m_addornements = "[10"; + n_anon_1->m_array_size = 10; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_occasion_info, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + +} +void node_from_entity_occasion_schedule(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "type"; + auto n_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_occasion_schedule, field_name)); + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::occasion_schedule_type; + n_type->m_rdf_type = RDF_Type::Enum; + n_type->m_node_type = NodeType::Enum; + n_type->m_base_type = DF_Type::int32_t; + n_type->m_enum_type = "occasion_schedule_type"; + n_type->m_address = base + offset; + n_type->m_defined_in = "df.entities.xml"; + n_type->m_first_value = 0; + n_type->m_last_value = 14; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + + field_name = "reference"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_occasion_schedule, field_name)); + auto n_reference = new NodeSimple; + n_reference->m_field_name = field_name; + n_reference->m_df_type = DF_Type::int32_t; + n_reference->m_rdf_type = RDF_Type::int32_t; + n_reference->m_node_type = NodeType::Simple; + n_reference->m_address = base + offset; + n_reference->m_comment = "art form / event / item_type"; + n_reference->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_reference); + + field_name = "reference2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_occasion_schedule, field_name)); + auto n_reference2 = new NodeSimple; + n_reference2->m_field_name = field_name; + n_reference2->m_df_type = DF_Type::int32_t; + n_reference2->m_rdf_type = RDF_Type::int32_t; + n_reference2->m_node_type = NodeType::Simple; + n_reference2->m_address = base + offset; + n_reference2->m_comment = "item_subtype"; + n_reference2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_reference2); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_occasion_schedule, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_occasion_schedule, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_occasion_schedule, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "features"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_occasion_schedule, field_name)); + auto n_features = new NodeVector; + n_features->m_field_name = field_name; + n_features->m_df_type = DF_Type::entity_occasion_schedule_feature; + n_features->m_rdf_type = RDF_Type::Vector; + n_features->m_node_type = NodeType::Vector; + n_features->m_defined_in = "df.entities.xml"; + n_features->m_addornements = "v*"; + n_features->m_address = base + offset; + n_features->m_parent = p_node_parent; + n_features->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_features); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_occasion_schedule, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_occasion_schedule, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + +} +void node_from_entity_occasion_schedule_feature(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "feature"; + auto n_feature = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_occasion_schedule_feature, field_name)); + n_feature->m_field_name = field_name; + n_feature->m_df_type = DF_Type::occasion_schedule_feature; + n_feature->m_rdf_type = RDF_Type::Enum; + n_feature->m_node_type = NodeType::Enum; + n_feature->m_base_type = DF_Type::int32_t; + n_feature->m_enum_type = "occasion_schedule_feature"; + n_feature->m_address = base + offset; + n_feature->m_defined_in = "df.entities.xml"; + n_feature->m_first_value = 0; + n_feature->m_last_value = 18; + n_feature->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_feature); + + field_name = "reference"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_occasion_schedule_feature, field_name)); + auto n_reference = new NodeSimple; + n_reference->m_field_name = field_name; + n_reference->m_df_type = DF_Type::int32_t; + n_reference->m_rdf_type = RDF_Type::int32_t; + n_reference->m_node_type = NodeType::Simple; + n_reference->m_address = base + offset; + n_reference->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_reference); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_occasion_schedule_feature, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_occasion_schedule_feature, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_occasion_schedule_feature, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + +} +void node_from_caravan_state(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "total_capacity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caravan_state, field_name)); + auto n_total_capacity = new NodeSimple; + n_total_capacity->m_field_name = field_name; + n_total_capacity->m_df_type = DF_Type::int32_t; + n_total_capacity->m_rdf_type = RDF_Type::int32_t; + n_total_capacity->m_node_type = NodeType::Simple; + n_total_capacity->m_address = base + offset; + n_total_capacity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_total_capacity); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caravan_state, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "trade_state"; + auto n_trade_state = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caravan_state, field_name)); + n_trade_state->m_field_name = field_name; + n_trade_state->m_df_type = DF_Type::caravan_state__T_trade_state; + n_trade_state->m_rdf_type = RDF_Type::Enum; + n_trade_state->m_node_type = NodeType::Enum; + n_trade_state->m_base_type = DF_Type::int8_t; + n_trade_state->m_enum_type = "caravan_state::T_trade_state"; + n_trade_state->m_address = base + offset; + n_trade_state->m_first_value = 0; + n_trade_state->m_last_value = 4; + n_trade_state->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_trade_state); + + field_name = "depot_notified"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caravan_state, field_name)); + auto n_depot_notified = new NodeSimple; + n_depot_notified->m_field_name = field_name; + n_depot_notified->m_df_type = DF_Type::int8_t; + n_depot_notified->m_rdf_type = RDF_Type::int8_t; + n_depot_notified->m_node_type = NodeType::Simple; + n_depot_notified->m_address = base + offset; + n_depot_notified->m_comment = "has it warned you that you need a depot"; + n_depot_notified->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_depot_notified); + + field_name = "time_remaining"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caravan_state, field_name)); + auto n_time_remaining = new NodeSimple; + n_time_remaining->m_field_name = field_name; + n_time_remaining->m_df_type = DF_Type::int16_t; + n_time_remaining->m_rdf_type = RDF_Type::int16_t; + n_time_remaining->m_node_type = NodeType::Simple; + n_time_remaining->m_address = base + offset; + n_time_remaining->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_time_remaining); + + field_name = "entity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caravan_state, field_name)); + auto n_entity = new NodeSimple; + n_entity->m_field_name = field_name; + n_entity->m_df_type = DF_Type::int32_t; + n_entity->m_rdf_type = RDF_Type::int32_t; + n_entity->m_node_type = NodeType::Simple; + n_entity->m_address = base + offset; + n_entity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity); + + field_name = "activity_stats"; + auto n_activity_stats = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caravan_state, field_name)); + n_activity_stats->m_field_name = field_name; + n_activity_stats->m_df_type = DF_Type::entity_activity_statistics; + n_activity_stats->m_rdf_type = RDF_Type::Struct; + n_activity_stats->m_node_type = NodeType::Compound; + n_activity_stats->m_address = base + offset; + n_activity_stats->m_defined_in = "df.entities.xml"; + n_activity_stats->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_activity_stats); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caravan_state, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::caravan_state__T_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "import_value"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caravan_state, field_name)); + auto n_import_value = new NodeSimple; + n_import_value->m_field_name = field_name; + n_import_value->m_df_type = DF_Type::int32_t; + n_import_value->m_rdf_type = RDF_Type::int32_t; + n_import_value->m_node_type = NodeType::Simple; + n_import_value->m_address = base + offset; + n_import_value->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_import_value); + + field_name = "export_value_total"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caravan_state, field_name)); + auto n_export_value_total = new NodeSimple; + n_export_value_total->m_field_name = field_name; + n_export_value_total->m_df_type = DF_Type::int32_t; + n_export_value_total->m_rdf_type = RDF_Type::int32_t; + n_export_value_total->m_node_type = NodeType::Simple; + n_export_value_total->m_address = base + offset; + n_export_value_total->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_export_value_total); + + field_name = "export_value_personal"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caravan_state, field_name)); + auto n_export_value_personal = new NodeSimple; + n_export_value_personal->m_field_name = field_name; + n_export_value_personal->m_df_type = DF_Type::int32_t; + n_export_value_personal->m_rdf_type = RDF_Type::int32_t; + n_export_value_personal->m_node_type = NodeType::Simple; + n_export_value_personal->m_address = base + offset; + n_export_value_personal->m_comment = "excluding foreign-produced items"; + n_export_value_personal->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_export_value_personal); + + field_name = "offer_value"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caravan_state, field_name)); + auto n_offer_value = new NodeSimple; + n_offer_value->m_field_name = field_name; + n_offer_value->m_df_type = DF_Type::int32_t; + n_offer_value->m_rdf_type = RDF_Type::int32_t; + n_offer_value->m_node_type = NodeType::Simple; + n_offer_value->m_address = base + offset; + n_offer_value->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_offer_value); + + field_name = "animals"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caravan_state, field_name)); + auto n_animals = new NodeVector; + n_animals->m_field_name = field_name; + n_animals->m_df_type = DF_Type::int32_t; + n_animals->m_rdf_type = RDF_Type::Vector; + n_animals->m_node_type = NodeType::Vector; + n_animals->m_addornements = "v"; + n_animals->m_address = base + offset; + n_animals->m_parent = p_node_parent; + n_animals->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_animals); + + field_name = "sell_prices"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caravan_state, field_name)); + auto n_sell_prices = new NodePointer; + n_sell_prices->m_field_name = field_name; + n_sell_prices->m_df_type = get_real_subtype(base+offset, DF_Type::entity_sell_prices); + n_sell_prices->m_rdf_type = RDF_Type::Pointer; + n_sell_prices->m_node_type = NodeType::Pointer; + n_sell_prices->m_addornements = "*"; + n_sell_prices->m_address = base + offset; + n_sell_prices->m_parent = p_node_parent; + n_sell_prices->m_defined_in = "df.entities.xml"; + n_sell_prices->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_sell_prices); + + field_name = "buy_prices"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caravan_state, field_name)); + auto n_buy_prices = new NodePointer; + n_buy_prices->m_field_name = field_name; + n_buy_prices->m_df_type = get_real_subtype(base+offset, DF_Type::entity_buy_prices); + n_buy_prices->m_rdf_type = RDF_Type::Pointer; + n_buy_prices->m_node_type = NodeType::Pointer; + n_buy_prices->m_addornements = "*"; + n_buy_prices->m_address = base + offset; + n_buy_prices->m_parent = p_node_parent; + n_buy_prices->m_defined_in = "df.entities.xml"; + n_buy_prices->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_buy_prices); + + field_name = "goods"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caravan_state, field_name)); + auto n_goods = new NodeVector; + n_goods->m_field_name = field_name; + n_goods->m_df_type = DF_Type::int32_t; + n_goods->m_rdf_type = RDF_Type::Vector; + n_goods->m_node_type = NodeType::Vector; + n_goods->m_addornements = "v"; + n_goods->m_address = base + offset; + n_goods->m_parent = p_node_parent; + n_goods->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_goods); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caravan_state, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::caravan_state, field_name)); + auto n_anon_3 = new NodePointer; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_anon_3->m_rdf_type = RDF_Type::Pointer; + n_anon_3->m_node_type = NodeType::Pointer; + n_anon_3->m_addornements = "*"; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + +} +void node_from_entity_buy_prices(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "items"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_buy_prices, field_name)); + auto n_items = new NodePointer; + n_items->m_field_name = field_name; + n_items->m_df_type = get_real_subtype(base+offset, DF_Type::entity_buy_requests); + n_items->m_rdf_type = RDF_Type::Pointer; + n_items->m_node_type = NodeType::Pointer; + n_items->m_addornements = "*"; + n_items->m_address = base + offset; + n_items->m_parent = p_node_parent; + n_items->m_defined_in = "df.entities.xml"; + n_items->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_items); + + field_name = "price"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_buy_prices, field_name)); + auto n_price = new NodeVector; + n_price->m_field_name = field_name; + n_price->m_df_type = DF_Type::int32_t; + n_price->m_rdf_type = RDF_Type::Vector; + n_price->m_node_type = NodeType::Vector; + n_price->m_addornements = "v"; + n_price->m_address = base + offset; + n_price->m_parent = p_node_parent; + n_price->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_price); + +} +void node_from_entity_buy_requests(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "item_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_buy_requests, field_name)); + auto n_item_type = new NodeVector; + n_item_type->m_field_name = field_name; + n_item_type->m_df_type = DF_Type::item_type; + n_item_type->m_rdf_type = RDF_Type::Vector; + n_item_type->m_node_type = NodeType::Vector; + n_item_type->m_enum_base = DF_Type::int16_t; + n_item_type->m_defined_in = "df.item-raws.xml"; + n_item_type->m_addornements = "v"; + n_item_type->m_address = base + offset; + n_item_type->m_comment = "guess"; + n_item_type->m_parent = p_node_parent; + n_item_type->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_item_type); + + field_name = "item_subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_buy_requests, field_name)); + auto n_item_subtype = new NodeVector; + n_item_subtype->m_field_name = field_name; + n_item_subtype->m_df_type = DF_Type::int16_t; + n_item_subtype->m_rdf_type = RDF_Type::Vector; + n_item_subtype->m_node_type = NodeType::Vector; + n_item_subtype->m_addornements = "v"; + n_item_subtype->m_address = base + offset; + n_item_subtype->m_comment = "guess"; + n_item_subtype->m_parent = p_node_parent; + n_item_subtype->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_item_subtype); + + field_name = "mat_types"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_buy_requests, field_name)); + auto n_mat_types = new NodeVector; + n_mat_types->m_field_name = field_name; + n_mat_types->m_df_type = DF_Type::int16_t; + n_mat_types->m_rdf_type = RDF_Type::Vector; + n_mat_types->m_node_type = NodeType::Vector; + n_mat_types->m_addornements = "v"; + n_mat_types->m_address = base + offset; + n_mat_types->m_parent = p_node_parent; + n_mat_types->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_mat_types); + + field_name = "mat_indices"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_buy_requests, field_name)); + auto n_mat_indices = new NodeVector; + n_mat_indices->m_field_name = field_name; + n_mat_indices->m_df_type = DF_Type::int16_t; + n_mat_indices->m_rdf_type = RDF_Type::Vector; + n_mat_indices->m_node_type = NodeType::Vector; + n_mat_indices->m_addornements = "v"; + n_mat_indices->m_address = base + offset; + n_mat_indices->m_parent = p_node_parent; + n_mat_indices->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_mat_indices); + + field_name = "mat_cats"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_buy_requests, field_name)); + auto n_mat_cats = new NodeVector; + n_mat_cats->m_field_name = field_name; + n_mat_cats->m_df_type = DF_Type::job_material_category; + n_mat_cats->m_rdf_type = RDF_Type::Vector; + n_mat_cats->m_node_type = NodeType::Vector; + n_mat_cats->m_defined_in = "df.jobs.xml"; + n_mat_cats->m_addornements = "v"; + n_mat_cats->m_address = base + offset; + n_mat_cats->m_parent = p_node_parent; + n_mat_cats->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_mat_cats); + + field_name = "priority"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_buy_requests, field_name)); + auto n_priority = new NodeVector; + n_priority->m_field_name = field_name; + n_priority->m_df_type = DF_Type::int8_t; + n_priority->m_rdf_type = RDF_Type::Vector; + n_priority->m_node_type = NodeType::Vector; + n_priority->m_addornements = "v"; + n_priority->m_address = base + offset; + n_priority->m_parent = p_node_parent; + n_priority->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_priority); + +} +void node_from_entity_sell_prices(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "items"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_sell_prices, field_name)); + auto n_items = new NodePointer; + n_items->m_field_name = field_name; + n_items->m_df_type = get_real_subtype(base+offset, DF_Type::entity_sell_requests); + n_items->m_rdf_type = RDF_Type::Pointer; + n_items->m_node_type = NodeType::Pointer; + n_items->m_addornements = "*"; + n_items->m_address = base + offset; + n_items->m_parent = p_node_parent; + n_items->m_defined_in = "df.entities.xml"; + n_items->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_items); + + field_name = "price"; + auto n_price = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_sell_prices, field_name)); + n_price->m_field_name = field_name; + n_price->m_df_type = DF_Type::int32_t; + n_price->m_rdf_type = RDF_Type::Array; + n_price->m_node_type = NodeType::Array; + n_price->m_index_enum = DF_Type::entity_sell_category; + n_price->m_addornements = "[107v"; + n_price->m_array_size = 107; + n_price->m_address = base + offset; + n_price->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_price); + +} +void node_from_entity_recipe(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_recipe, field_name)); + auto n_subtype = new NodeSimple; + n_subtype->m_field_name = field_name; + n_subtype->m_df_type = DF_Type::int16_t; + n_subtype->m_rdf_type = RDF_Type::int16_t; + n_subtype->m_node_type = NodeType::Simple; + n_subtype->m_address = base + offset; + n_subtype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_subtype); + + field_name = "item_types"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_recipe, field_name)); + auto n_item_types = new NodeVector; + n_item_types->m_field_name = field_name; + n_item_types->m_df_type = DF_Type::item_type; + n_item_types->m_rdf_type = RDF_Type::Vector; + n_item_types->m_node_type = NodeType::Vector; + n_item_types->m_enum_base = DF_Type::int16_t; + n_item_types->m_defined_in = "df.item-raws.xml"; + n_item_types->m_addornements = "v"; + n_item_types->m_address = base + offset; + n_item_types->m_parent = p_node_parent; + n_item_types->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_item_types); + + field_name = "item_subtypes"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_recipe, field_name)); + auto n_item_subtypes = new NodeVector; + n_item_subtypes->m_field_name = field_name; + n_item_subtypes->m_df_type = DF_Type::int16_t; + n_item_subtypes->m_rdf_type = RDF_Type::Vector; + n_item_subtypes->m_node_type = NodeType::Vector; + n_item_subtypes->m_addornements = "v"; + n_item_subtypes->m_address = base + offset; + n_item_subtypes->m_parent = p_node_parent; + n_item_subtypes->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_item_subtypes); + + field_name = "mat_types"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_recipe, field_name)); + auto n_mat_types = new NodeVector; + n_mat_types->m_field_name = field_name; + n_mat_types->m_df_type = DF_Type::int16_t; + n_mat_types->m_rdf_type = RDF_Type::Vector; + n_mat_types->m_node_type = NodeType::Vector; + n_mat_types->m_addornements = "v"; + n_mat_types->m_address = base + offset; + n_mat_types->m_parent = p_node_parent; + n_mat_types->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_mat_types); + + field_name = "mat_indices"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_recipe, field_name)); + auto n_mat_indices = new NodeVector; + n_mat_indices->m_field_name = field_name; + n_mat_indices->m_df_type = DF_Type::int16_t; + n_mat_indices->m_rdf_type = RDF_Type::Vector; + n_mat_indices->m_node_type = NodeType::Vector; + n_mat_indices->m_addornements = "v"; + n_mat_indices->m_address = base + offset; + n_mat_indices->m_parent = p_node_parent; + n_mat_indices->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_mat_indices); + +} +void node_from_entity_uniform_item(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "random_dye"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_uniform_item, field_name)); + auto n_random_dye = new NodeSimple; + n_random_dye->m_field_name = field_name; + n_random_dye->m_df_type = DF_Type::int8_t; + n_random_dye->m_rdf_type = RDF_Type::int8_t; + n_random_dye->m_node_type = NodeType::Simple; + n_random_dye->m_address = base + offset; + n_random_dye->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_random_dye); + + field_name = "armorlevel"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_uniform_item, field_name)); + auto n_armorlevel = new NodeSimple; + n_armorlevel->m_field_name = field_name; + n_armorlevel->m_df_type = DF_Type::int8_t; + n_armorlevel->m_rdf_type = RDF_Type::int8_t; + n_armorlevel->m_node_type = NodeType::Simple; + n_armorlevel->m_address = base + offset; + n_armorlevel->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_armorlevel); + + field_name = "item_color"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_uniform_item, field_name)); + auto n_item_color = new NodeSimple; + n_item_color->m_field_name = field_name; + n_item_color->m_df_type = DF_Type::int16_t; + n_item_color->m_rdf_type = RDF_Type::int16_t; + n_item_color->m_node_type = NodeType::Simple; + n_item_color->m_address = base + offset; + n_item_color->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_color); + + field_name = "art_image_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_uniform_item, field_name)); + auto n_art_image_id = new NodeSimple; + n_art_image_id->m_field_name = field_name; + n_art_image_id->m_df_type = DF_Type::int32_t; + n_art_image_id->m_rdf_type = RDF_Type::int32_t; + n_art_image_id->m_node_type = NodeType::Simple; + n_art_image_id->m_address = base + offset; + n_art_image_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_art_image_id); + + field_name = "art_image_subid"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_uniform_item, field_name)); + auto n_art_image_subid = new NodeSimple; + n_art_image_subid->m_field_name = field_name; + n_art_image_subid->m_df_type = DF_Type::int16_t; + n_art_image_subid->m_rdf_type = RDF_Type::int16_t; + n_art_image_subid->m_node_type = NodeType::Simple; + n_art_image_subid->m_address = base + offset; + n_art_image_subid->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_art_image_subid); + + field_name = "image_thread_color"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_uniform_item, field_name)); + auto n_image_thread_color = new NodeSimple; + n_image_thread_color->m_field_name = field_name; + n_image_thread_color->m_df_type = DF_Type::int16_t; + n_image_thread_color->m_rdf_type = RDF_Type::int16_t; + n_image_thread_color->m_node_type = NodeType::Simple; + n_image_thread_color->m_address = base + offset; + n_image_thread_color->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_image_thread_color); + + field_name = "image_material_class"; + auto n_image_material_class = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_uniform_item, field_name)); + n_image_material_class->m_field_name = field_name; + n_image_material_class->m_df_type = DF_Type::entity_material_category; + n_image_material_class->m_rdf_type = RDF_Type::Enum; + n_image_material_class->m_node_type = NodeType::Enum; + n_image_material_class->m_base_type = DF_Type::int16_t; + n_image_material_class->m_enum_type = "entity_material_category"; + n_image_material_class->m_address = base + offset; + n_image_material_class->m_defined_in = "df.entities.xml"; + n_image_material_class->m_first_value = -1; + n_image_material_class->m_last_value = 31; + n_image_material_class->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_image_material_class); + + field_name = "maker_race"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_uniform_item, field_name)); + auto n_maker_race = new NodeSimple; + n_maker_race->m_field_name = field_name; + n_maker_race->m_df_type = DF_Type::int16_t; + n_maker_race->m_rdf_type = RDF_Type::int16_t; + n_maker_race->m_node_type = NodeType::Simple; + n_maker_race->m_address = base + offset; + n_maker_race->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_maker_race); + + field_name = "indiv_choice"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_uniform_item, field_name)); + auto n_indiv_choice = new NodeBitfield; + n_indiv_choice->m_field_name = field_name; + n_indiv_choice->m_df_type = DF_Type::uniform_indiv_choice; + n_indiv_choice->m_rdf_type = RDF_Type::Bitfield; + n_indiv_choice->m_node_type = NodeType::Bitfield; + n_indiv_choice->m_address = base + offset; + n_indiv_choice->m_defined_in = "df.military.xml"; + n_indiv_choice->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_indiv_choice); + + field_name = "mattype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_uniform_item, field_name)); + auto n_mattype = new NodeSimple; + n_mattype->m_field_name = field_name; + n_mattype->m_df_type = DF_Type::int16_t; + n_mattype->m_rdf_type = RDF_Type::int16_t; + n_mattype->m_node_type = NodeType::Simple; + n_mattype->m_address = base + offset; + n_mattype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mattype); + + field_name = "matindex"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_uniform_item, field_name)); + auto n_matindex = new NodeSimple; + n_matindex->m_field_name = field_name; + n_matindex->m_df_type = DF_Type::int32_t; + n_matindex->m_rdf_type = RDF_Type::int32_t; + n_matindex->m_node_type = NodeType::Simple; + n_matindex->m_address = base + offset; + n_matindex->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_matindex); + + field_name = "material_class"; + auto n_material_class = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_uniform_item, field_name)); + n_material_class->m_field_name = field_name; + n_material_class->m_df_type = DF_Type::entity_material_category; + n_material_class->m_rdf_type = RDF_Type::Enum; + n_material_class->m_node_type = NodeType::Enum; + n_material_class->m_base_type = DF_Type::int16_t; + n_material_class->m_enum_type = "entity_material_category"; + n_material_class->m_address = base + offset; + n_material_class->m_defined_in = "df.entities.xml"; + n_material_class->m_first_value = -1; + n_material_class->m_last_value = 31; + n_material_class->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_material_class); + +} +void node_from_entity_uniform(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_uniform, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "unk_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_uniform, field_name)); + auto n_unk_4 = new NodeSimple; + n_unk_4->m_field_name = field_name; + n_unk_4->m_df_type = DF_Type::int16_t; + n_unk_4->m_rdf_type = RDF_Type::int16_t; + n_unk_4->m_node_type = NodeType::Simple; + n_unk_4->m_address = base + offset; + n_unk_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_4); + + field_name = "uniform_item_types"; + auto n_uniform_item_types = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_uniform, field_name)); + n_uniform_item_types->m_field_name = field_name; + n_uniform_item_types->m_df_type = DF_Type::item_type; + n_uniform_item_types->m_rdf_type = RDF_Type::Array; + n_uniform_item_types->m_node_type = NodeType::Array; + n_uniform_item_types->m_index_enum = DF_Type::uniform_category; + n_uniform_item_types->m_enum_base = DF_Type::int16_t; + n_uniform_item_types->m_defined_in = "df.item-raws.xml"; + n_uniform_item_types->m_addornements = "[7v"; + n_uniform_item_types->m_array_size = 7; + n_uniform_item_types->m_address = base + offset; + n_uniform_item_types->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_uniform_item_types); + + field_name = "uniform_item_subtypes"; + auto n_uniform_item_subtypes = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_uniform, field_name)); + n_uniform_item_subtypes->m_field_name = field_name; + n_uniform_item_subtypes->m_df_type = DF_Type::int16_t; + n_uniform_item_subtypes->m_rdf_type = RDF_Type::Array; + n_uniform_item_subtypes->m_node_type = NodeType::Array; + n_uniform_item_subtypes->m_index_enum = DF_Type::uniform_category; + n_uniform_item_subtypes->m_addornements = "[7v"; + n_uniform_item_subtypes->m_array_size = 7; + n_uniform_item_subtypes->m_address = base + offset; + n_uniform_item_subtypes->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_uniform_item_subtypes); + + field_name = "uniform_item_info"; + auto n_uniform_item_info = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_uniform, field_name)); + n_uniform_item_info->m_field_name = field_name; + n_uniform_item_info->m_df_type = DF_Type::entity_uniform_item; + n_uniform_item_info->m_rdf_type = RDF_Type::Array; + n_uniform_item_info->m_node_type = NodeType::Array; + n_uniform_item_info->m_index_enum = DF_Type::uniform_category; + n_uniform_item_info->m_defined_in = "df.entities.xml"; + n_uniform_item_info->m_addornements = "[7v*"; + n_uniform_item_info->m_array_size = 7; + n_uniform_item_info->m_address = base + offset; + n_uniform_item_info->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_uniform_item_info); + + field_name = "name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_uniform, field_name)); + auto n_name = new NodeSimple; + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Stl_string; + n_name->m_node_type = NodeType::Simple; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_uniform, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::uniform_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_defined_in = "df.military.xml"; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + +} +void node_from_entity_event__T_data__T_invasion(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "entity_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_invasion, field_name)); + auto n_entity_id = new NodeSimple; + n_entity_id->m_field_name = field_name; + n_entity_id->m_df_type = DF_Type::int32_t; + n_entity_id->m_rdf_type = RDF_Type::int32_t; + n_entity_id->m_node_type = NodeType::Simple; + n_entity_id->m_address = base + offset; + n_entity_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity_id); + + field_name = "site_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_invasion, field_name)); + auto n_site_id = new NodeSimple; + n_site_id->m_field_name = field_name; + n_site_id->m_df_type = DF_Type::int32_t; + n_site_id->m_rdf_type = RDF_Type::int32_t; + n_site_id->m_node_type = NodeType::Simple; + n_site_id->m_address = base + offset; + n_site_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_id); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_invasion, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_invasion, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + +} +void node_from_entity_event__T_data__T_abduction(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "histfig_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_abduction, field_name)); + auto n_histfig_id = new NodeSimple; + n_histfig_id->m_field_name = field_name; + n_histfig_id->m_df_type = DF_Type::int32_t; + n_histfig_id->m_rdf_type = RDF_Type::int32_t; + n_histfig_id->m_node_type = NodeType::Simple; + n_histfig_id->m_address = base + offset; + n_histfig_id->m_comment = "abductee"; + n_histfig_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig_id); + + field_name = "site_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_abduction, field_name)); + auto n_site_id = new NodeSimple; + n_site_id->m_field_name = field_name; + n_site_id->m_df_type = DF_Type::int32_t; + n_site_id->m_rdf_type = RDF_Type::int32_t; + n_site_id->m_node_type = NodeType::Simple; + n_site_id->m_address = base + offset; + n_site_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_id); + + field_name = "abductor_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_abduction, field_name)); + auto n_abductor_id = new NodeSimple; + n_abductor_id->m_field_name = field_name; + n_abductor_id->m_df_type = DF_Type::int32_t; + n_abductor_id->m_rdf_type = RDF_Type::int32_t; + n_abductor_id->m_node_type = NodeType::Simple; + n_abductor_id->m_address = base + offset; + n_abductor_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_abductor_id); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_abduction, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_entity_event__T_data__T_incident(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_incident, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "incident_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_incident, field_name)); + auto n_incident_id = new NodeSimple; + n_incident_id->m_field_name = field_name; + n_incident_id->m_df_type = DF_Type::int32_t; + n_incident_id->m_rdf_type = RDF_Type::int32_t; + n_incident_id->m_node_type = NodeType::Simple; + n_incident_id->m_address = base + offset; + n_incident_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_incident_id); + +} +void node_from_entity_event__T_data__T_occupation(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "site_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_occupation, field_name)); + auto n_site_id = new NodeSimple; + n_site_id->m_field_name = field_name; + n_site_id->m_df_type = DF_Type::int32_t; + n_site_id->m_rdf_type = RDF_Type::int32_t; + n_site_id->m_node_type = NodeType::Simple; + n_site_id->m_address = base + offset; + n_site_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_id); + + field_name = "entity_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_occupation, field_name)); + auto n_entity_id = new NodeSimple; + n_entity_id->m_field_name = field_name; + n_entity_id->m_df_type = DF_Type::int32_t; + n_entity_id->m_rdf_type = RDF_Type::int32_t; + n_entity_id->m_node_type = NodeType::Simple; + n_entity_id->m_address = base + offset; + n_entity_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity_id); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_occupation, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_occupation, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + +} +void node_from_entity_event__T_data__T_beast(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "histfig_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_beast, field_name)); + auto n_histfig_id = new NodeSimple; + n_histfig_id->m_field_name = field_name; + n_histfig_id->m_df_type = DF_Type::int32_t; + n_histfig_id->m_rdf_type = RDF_Type::int32_t; + n_histfig_id->m_node_type = NodeType::Simple; + n_histfig_id->m_address = base + offset; + n_histfig_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig_id); + + field_name = "site_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_beast, field_name)); + auto n_site_id = new NodeSimple; + n_site_id->m_field_name = field_name; + n_site_id->m_df_type = DF_Type::int32_t; + n_site_id->m_rdf_type = RDF_Type::int32_t; + n_site_id->m_node_type = NodeType::Simple; + n_site_id->m_address = base + offset; + n_site_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_id); + + field_name = "region_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_beast, field_name)); + auto n_region_id = new NodeSimple; + n_region_id->m_field_name = field_name; + n_region_id->m_df_type = DF_Type::int32_t; + n_region_id->m_rdf_type = RDF_Type::int32_t; + n_region_id->m_node_type = NodeType::Simple; + n_region_id->m_address = base + offset; + n_region_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region_id); + +} +void node_from_entity_event__T_data__T_group(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "entity_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_group, field_name)); + auto n_entity_id = new NodeSimple; + n_entity_id->m_field_name = field_name; + n_entity_id->m_df_type = DF_Type::int32_t; + n_entity_id->m_rdf_type = RDF_Type::int32_t; + n_entity_id->m_node_type = NodeType::Simple; + n_entity_id->m_address = base + offset; + n_entity_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity_id); + + field_name = "site_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_group, field_name)); + auto n_site_id = new NodeSimple; + n_site_id->m_field_name = field_name; + n_site_id->m_df_type = DF_Type::int32_t; + n_site_id->m_rdf_type = RDF_Type::int32_t; + n_site_id->m_node_type = NodeType::Simple; + n_site_id->m_address = base + offset; + n_site_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_id); + +} +void node_from_entity_event__T_data__T_harass(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "entity_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_harass, field_name)); + auto n_entity_id = new NodeSimple; + n_entity_id->m_field_name = field_name; + n_entity_id->m_df_type = DF_Type::int32_t; + n_entity_id->m_rdf_type = RDF_Type::int32_t; + n_entity_id->m_node_type = NodeType::Simple; + n_entity_id->m_address = base + offset; + n_entity_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity_id); + + field_name = "site_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_harass, field_name)); + auto n_site_id = new NodeSimple; + n_site_id->m_field_name = field_name; + n_site_id->m_df_type = DF_Type::int32_t; + n_site_id->m_rdf_type = RDF_Type::int32_t; + n_site_id->m_node_type = NodeType::Simple; + n_site_id->m_address = base + offset; + n_site_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_id); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_harass, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_entity_event__T_data__T_flee(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "refugee_entity_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_flee, field_name)); + auto n_refugee_entity_id = new NodeSimple; + n_refugee_entity_id->m_field_name = field_name; + n_refugee_entity_id->m_df_type = DF_Type::int32_t; + n_refugee_entity_id->m_rdf_type = RDF_Type::int32_t; + n_refugee_entity_id->m_node_type = NodeType::Simple; + n_refugee_entity_id->m_address = base + offset; + n_refugee_entity_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_refugee_entity_id); + + field_name = "from_site_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_flee, field_name)); + auto n_from_site_id = new NodeSimple; + n_from_site_id->m_field_name = field_name; + n_from_site_id->m_df_type = DF_Type::int32_t; + n_from_site_id->m_rdf_type = RDF_Type::int32_t; + n_from_site_id->m_node_type = NodeType::Simple; + n_from_site_id->m_address = base + offset; + n_from_site_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_from_site_id); + + field_name = "army_entity_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_flee, field_name)); + auto n_army_entity_id = new NodeSimple; + n_army_entity_id->m_field_name = field_name; + n_army_entity_id->m_df_type = DF_Type::int32_t; + n_army_entity_id->m_rdf_type = RDF_Type::int32_t; + n_army_entity_id->m_node_type = NodeType::Simple; + n_army_entity_id->m_address = base + offset; + n_army_entity_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_army_entity_id); + + field_name = "army_leader_hf_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_flee, field_name)); + auto n_army_leader_hf_id = new NodeSimple; + n_army_leader_hf_id->m_field_name = field_name; + n_army_leader_hf_id->m_df_type = DF_Type::int32_t; + n_army_leader_hf_id->m_rdf_type = RDF_Type::int32_t; + n_army_leader_hf_id->m_node_type = NodeType::Simple; + n_army_leader_hf_id->m_address = base + offset; + n_army_leader_hf_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_army_leader_hf_id); + +} +void node_from_entity_event__T_data__T_abandon(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "entity_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_abandon, field_name)); + auto n_entity_id = new NodeSimple; + n_entity_id->m_field_name = field_name; + n_entity_id->m_df_type = DF_Type::int32_t; + n_entity_id->m_rdf_type = RDF_Type::int32_t; + n_entity_id->m_node_type = NodeType::Simple; + n_entity_id->m_address = base + offset; + n_entity_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity_id); + + field_name = "site_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_abandon, field_name)); + auto n_site_id = new NodeSimple; + n_site_id->m_field_name = field_name; + n_site_id->m_df_type = DF_Type::int32_t; + n_site_id->m_rdf_type = RDF_Type::int32_t; + n_site_id->m_node_type = NodeType::Simple; + n_site_id->m_address = base + offset; + n_site_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_id); + + field_name = "parent_entity_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_abandon, field_name)); + auto n_parent_entity_id = new NodeSimple; + n_parent_entity_id->m_field_name = field_name; + n_parent_entity_id->m_df_type = DF_Type::int32_t; + n_parent_entity_id->m_rdf_type = RDF_Type::int32_t; + n_parent_entity_id->m_node_type = NodeType::Simple; + n_parent_entity_id->m_address = base + offset; + n_parent_entity_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_parent_entity_id); + +} +void node_from_entity_event__T_data__T_reclaimed(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "behalf_entity_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_reclaimed, field_name)); + auto n_behalf_entity_id = new NodeSimple; + n_behalf_entity_id->m_field_name = field_name; + n_behalf_entity_id->m_df_type = DF_Type::int32_t; + n_behalf_entity_id->m_rdf_type = RDF_Type::int32_t; + n_behalf_entity_id->m_node_type = NodeType::Simple; + n_behalf_entity_id->m_address = base + offset; + n_behalf_entity_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_behalf_entity_id); + + field_name = "site_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_reclaimed, field_name)); + auto n_site_id = new NodeSimple; + n_site_id->m_field_name = field_name; + n_site_id->m_df_type = DF_Type::int32_t; + n_site_id->m_rdf_type = RDF_Type::int32_t; + n_site_id->m_node_type = NodeType::Simple; + n_site_id->m_address = base + offset; + n_site_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_id); + + field_name = "reclaimer_entity_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_reclaimed, field_name)); + auto n_reclaimer_entity_id = new NodeSimple; + n_reclaimer_entity_id->m_field_name = field_name; + n_reclaimer_entity_id->m_df_type = DF_Type::int32_t; + n_reclaimer_entity_id->m_rdf_type = RDF_Type::int32_t; + n_reclaimer_entity_id->m_node_type = NodeType::Simple; + n_reclaimer_entity_id->m_address = base + offset; + n_reclaimer_entity_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_reclaimer_entity_id); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_reclaimed, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_entity_event__T_data__T_founded(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "entity_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_founded, field_name)); + auto n_entity_id = new NodeSimple; + n_entity_id->m_field_name = field_name; + n_entity_id->m_df_type = DF_Type::int32_t; + n_entity_id->m_rdf_type = RDF_Type::int32_t; + n_entity_id->m_node_type = NodeType::Simple; + n_entity_id->m_address = base + offset; + n_entity_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity_id); + + field_name = "site_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_founded, field_name)); + auto n_site_id = new NodeSimple; + n_site_id->m_field_name = field_name; + n_site_id->m_df_type = DF_Type::int32_t; + n_site_id->m_rdf_type = RDF_Type::int32_t; + n_site_id->m_node_type = NodeType::Simple; + n_site_id->m_address = base + offset; + n_site_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_id); + + field_name = "parent_entity_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_founded, field_name)); + auto n_parent_entity_id = new NodeSimple; + n_parent_entity_id->m_field_name = field_name; + n_parent_entity_id->m_df_type = DF_Type::int32_t; + n_parent_entity_id->m_rdf_type = RDF_Type::int32_t; + n_parent_entity_id->m_node_type = NodeType::Simple; + n_parent_entity_id->m_address = base + offset; + n_parent_entity_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_parent_entity_id); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_founded, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_entity_event__T_data__T_reclaiming(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "entity_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_reclaiming, field_name)); + auto n_entity_id = new NodeSimple; + n_entity_id->m_field_name = field_name; + n_entity_id->m_df_type = DF_Type::int32_t; + n_entity_id->m_rdf_type = RDF_Type::int32_t; + n_entity_id->m_node_type = NodeType::Simple; + n_entity_id->m_address = base + offset; + n_entity_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity_id); + + field_name = "site_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_reclaiming, field_name)); + auto n_site_id = new NodeSimple; + n_site_id->m_field_name = field_name; + n_site_id->m_df_type = DF_Type::int32_t; + n_site_id->m_rdf_type = RDF_Type::int32_t; + n_site_id->m_node_type = NodeType::Simple; + n_site_id->m_address = base + offset; + n_site_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_id); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_reclaiming, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_reclaiming, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + +} +void node_from_entity_event__T_data__T_founding(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "entity_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_founding, field_name)); + auto n_entity_id = new NodeSimple; + n_entity_id->m_field_name = field_name; + n_entity_id->m_df_type = DF_Type::int32_t; + n_entity_id->m_rdf_type = RDF_Type::int32_t; + n_entity_id->m_node_type = NodeType::Simple; + n_entity_id->m_address = base + offset; + n_entity_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity_id); + + field_name = "region_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_founding, field_name)); + auto n_region_id = new NodeSimple; + n_region_id->m_field_name = field_name; + n_region_id->m_df_type = DF_Type::int32_t; + n_region_id->m_rdf_type = RDF_Type::int32_t; + n_region_id->m_node_type = NodeType::Simple; + n_region_id->m_address = base + offset; + n_region_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region_id); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_founding, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_founding, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + +} +void node_from_entity_event__T_data__T_leave(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "entity_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_leave, field_name)); + auto n_entity_id = new NodeSimple; + n_entity_id->m_field_name = field_name; + n_entity_id->m_df_type = DF_Type::int32_t; + n_entity_id->m_rdf_type = RDF_Type::int32_t; + n_entity_id->m_node_type = NodeType::Simple; + n_entity_id->m_address = base + offset; + n_entity_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity_id); + + field_name = "site_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_leave, field_name)); + auto n_site_id = new NodeSimple; + n_site_id->m_field_name = field_name; + n_site_id->m_df_type = DF_Type::int32_t; + n_site_id->m_rdf_type = RDF_Type::int32_t; + n_site_id->m_node_type = NodeType::Simple; + n_site_id->m_address = base + offset; + n_site_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_id); + +} +void node_from_entity_event__T_data__T_insurrection(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "site_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_insurrection, field_name)); + auto n_site_id = new NodeSimple; + n_site_id->m_field_name = field_name; + n_site_id->m_df_type = DF_Type::int32_t; + n_site_id->m_rdf_type = RDF_Type::int32_t; + n_site_id->m_node_type = NodeType::Simple; + n_site_id->m_address = base + offset; + n_site_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_id); + + field_name = "entity_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_insurrection, field_name)); + auto n_entity_id = new NodeSimple; + n_entity_id->m_field_name = field_name; + n_entity_id->m_df_type = DF_Type::int32_t; + n_entity_id->m_rdf_type = RDF_Type::int32_t; + n_entity_id->m_node_type = NodeType::Simple; + n_entity_id->m_address = base + offset; + n_entity_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity_id); + +} +void node_from_entity_event__T_data__T_insurrection_end(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "site_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_insurrection_end, field_name)); + auto n_site_id = new NodeSimple; + n_site_id->m_field_name = field_name; + n_site_id->m_df_type = DF_Type::int32_t; + n_site_id->m_rdf_type = RDF_Type::int32_t; + n_site_id->m_node_type = NodeType::Simple; + n_site_id->m_address = base + offset; + n_site_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_id); + + field_name = "entity_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_insurrection_end, field_name)); + auto n_entity_id = new NodeSimple; + n_entity_id->m_field_name = field_name; + n_entity_id->m_df_type = DF_Type::int32_t; + n_entity_id->m_rdf_type = RDF_Type::int32_t; + n_entity_id->m_node_type = NodeType::Simple; + n_entity_id->m_address = base + offset; + n_entity_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity_id); + + field_name = "result"; + auto n_result = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_insurrection_end, field_name)); + n_result->m_field_name = field_name; + n_result->m_df_type = DF_Type::entity_event__T_data__T_insurrection_end__T_result; + n_result->m_rdf_type = RDF_Type::Enum; + n_result->m_node_type = NodeType::Enum; + n_result->m_base_type = enum_base_type(n_result->m_df_type); + n_result->m_enum_type = "entity_event::T_data::T_insurrection_end::T_result"; + n_result->m_address = base + offset; + n_result->m_first_value = 0; + n_result->m_last_value = 2; + n_result->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_result); + +} +void node_from_entity_event__T_data__T_succession(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "histfig_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_succession, field_name)); + auto n_histfig_id = new NodeSimple; + n_histfig_id->m_field_name = field_name; + n_histfig_id->m_df_type = DF_Type::int32_t; + n_histfig_id->m_rdf_type = RDF_Type::int32_t; + n_histfig_id->m_node_type = NodeType::Simple; + n_histfig_id->m_address = base + offset; + n_histfig_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig_id); + + field_name = "former_histfig_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_succession, field_name)); + auto n_former_histfig_id = new NodeSimple; + n_former_histfig_id->m_field_name = field_name; + n_former_histfig_id->m_df_type = DF_Type::int32_t; + n_former_histfig_id->m_rdf_type = RDF_Type::int32_t; + n_former_histfig_id->m_node_type = NodeType::Simple; + n_former_histfig_id->m_address = base + offset; + n_former_histfig_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_former_histfig_id); + + field_name = "entity_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_succession, field_name)); + auto n_entity_id = new NodeSimple; + n_entity_id->m_field_name = field_name; + n_entity_id->m_df_type = DF_Type::int32_t; + n_entity_id->m_rdf_type = RDF_Type::int32_t; + n_entity_id->m_node_type = NodeType::Simple; + n_entity_id->m_address = base + offset; + n_entity_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity_id); + + field_name = "position_assignment_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_succession, field_name)); + auto n_position_assignment_id = new NodeSimple; + n_position_assignment_id->m_field_name = field_name; + n_position_assignment_id->m_df_type = DF_Type::int32_t; + n_position_assignment_id->m_rdf_type = RDF_Type::int32_t; + n_position_assignment_id->m_node_type = NodeType::Simple; + n_position_assignment_id->m_address = base + offset; + n_position_assignment_id->m_refers_to = "$(find-entity $$._parent.entity_id).positions.assignments[$]"; + n_position_assignment_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_position_assignment_id); + +} +void node_from_entity_event__T_data__T_claim(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "entity_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_claim, field_name)); + auto n_entity_id = new NodeSimple; + n_entity_id->m_field_name = field_name; + n_entity_id->m_df_type = DF_Type::int32_t; + n_entity_id->m_rdf_type = RDF_Type::int32_t; + n_entity_id->m_node_type = NodeType::Simple; + n_entity_id->m_address = base + offset; + n_entity_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity_id); + + field_name = "site_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_claim, field_name)); + auto n_site_id = new NodeSimple; + n_site_id->m_field_name = field_name; + n_site_id->m_df_type = DF_Type::int32_t; + n_site_id->m_rdf_type = RDF_Type::int32_t; + n_site_id->m_node_type = NodeType::Simple; + n_site_id->m_address = base + offset; + n_site_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_id); + + field_name = "histfig_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_claim, field_name)); + auto n_histfig_id = new NodeSimple; + n_histfig_id->m_field_name = field_name; + n_histfig_id->m_df_type = DF_Type::int32_t; + n_histfig_id->m_rdf_type = RDF_Type::int32_t; + n_histfig_id->m_node_type = NodeType::Simple; + n_histfig_id->m_address = base + offset; + n_histfig_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig_id); + +} +void node_from_entity_event__T_data__T_accept_tribute_offer(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "entity1_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_accept_tribute_offer, field_name)); + auto n_entity1_id = new NodeSimple; + n_entity1_id->m_field_name = field_name; + n_entity1_id->m_df_type = DF_Type::int32_t; + n_entity1_id->m_rdf_type = RDF_Type::int32_t; + n_entity1_id->m_node_type = NodeType::Simple; + n_entity1_id->m_address = base + offset; + n_entity1_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity1_id); + + field_name = "histfig1_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_accept_tribute_offer, field_name)); + auto n_histfig1_id = new NodeSimple; + n_histfig1_id->m_field_name = field_name; + n_histfig1_id->m_df_type = DF_Type::int32_t; + n_histfig1_id->m_rdf_type = RDF_Type::int32_t; + n_histfig1_id->m_node_type = NodeType::Simple; + n_histfig1_id->m_address = base + offset; + n_histfig1_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig1_id); + + field_name = "entity2_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_accept_tribute_offer, field_name)); + auto n_entity2_id = new NodeSimple; + n_entity2_id->m_field_name = field_name; + n_entity2_id->m_df_type = DF_Type::int32_t; + n_entity2_id->m_rdf_type = RDF_Type::int32_t; + n_entity2_id->m_node_type = NodeType::Simple; + n_entity2_id->m_address = base + offset; + n_entity2_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity2_id); + + field_name = "histfig2_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_accept_tribute_offer, field_name)); + auto n_histfig2_id = new NodeSimple; + n_histfig2_id->m_field_name = field_name; + n_histfig2_id->m_df_type = DF_Type::int32_t; + n_histfig2_id->m_rdf_type = RDF_Type::int32_t; + n_histfig2_id->m_node_type = NodeType::Simple; + n_histfig2_id->m_address = base + offset; + n_histfig2_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig2_id); + +} +void node_from_entity_event__T_data__T_refuse_tribute_offer(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "entity1_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_refuse_tribute_offer, field_name)); + auto n_entity1_id = new NodeSimple; + n_entity1_id->m_field_name = field_name; + n_entity1_id->m_df_type = DF_Type::int32_t; + n_entity1_id->m_rdf_type = RDF_Type::int32_t; + n_entity1_id->m_node_type = NodeType::Simple; + n_entity1_id->m_address = base + offset; + n_entity1_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity1_id); + + field_name = "histfig1_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_refuse_tribute_offer, field_name)); + auto n_histfig1_id = new NodeSimple; + n_histfig1_id->m_field_name = field_name; + n_histfig1_id->m_df_type = DF_Type::int32_t; + n_histfig1_id->m_rdf_type = RDF_Type::int32_t; + n_histfig1_id->m_node_type = NodeType::Simple; + n_histfig1_id->m_address = base + offset; + n_histfig1_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig1_id); + + field_name = "entity2_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_refuse_tribute_offer, field_name)); + auto n_entity2_id = new NodeSimple; + n_entity2_id->m_field_name = field_name; + n_entity2_id->m_df_type = DF_Type::int32_t; + n_entity2_id->m_rdf_type = RDF_Type::int32_t; + n_entity2_id->m_node_type = NodeType::Simple; + n_entity2_id->m_address = base + offset; + n_entity2_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity2_id); + + field_name = "histfig2_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_refuse_tribute_offer, field_name)); + auto n_histfig2_id = new NodeSimple; + n_histfig2_id->m_field_name = field_name; + n_histfig2_id->m_df_type = DF_Type::int32_t; + n_histfig2_id->m_rdf_type = RDF_Type::int32_t; + n_histfig2_id->m_node_type = NodeType::Simple; + n_histfig2_id->m_address = base + offset; + n_histfig2_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig2_id); + +} +void node_from_entity_event__T_data__T_accept_tribute_demand(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "entity1_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_accept_tribute_demand, field_name)); + auto n_entity1_id = new NodeSimple; + n_entity1_id->m_field_name = field_name; + n_entity1_id->m_df_type = DF_Type::int32_t; + n_entity1_id->m_rdf_type = RDF_Type::int32_t; + n_entity1_id->m_node_type = NodeType::Simple; + n_entity1_id->m_address = base + offset; + n_entity1_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity1_id); + + field_name = "histfig1_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_accept_tribute_demand, field_name)); + auto n_histfig1_id = new NodeSimple; + n_histfig1_id->m_field_name = field_name; + n_histfig1_id->m_df_type = DF_Type::int32_t; + n_histfig1_id->m_rdf_type = RDF_Type::int32_t; + n_histfig1_id->m_node_type = NodeType::Simple; + n_histfig1_id->m_address = base + offset; + n_histfig1_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig1_id); + + field_name = "entity2_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_accept_tribute_demand, field_name)); + auto n_entity2_id = new NodeSimple; + n_entity2_id->m_field_name = field_name; + n_entity2_id->m_df_type = DF_Type::int32_t; + n_entity2_id->m_rdf_type = RDF_Type::int32_t; + n_entity2_id->m_node_type = NodeType::Simple; + n_entity2_id->m_address = base + offset; + n_entity2_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity2_id); + + field_name = "histfig2_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_accept_tribute_demand, field_name)); + auto n_histfig2_id = new NodeSimple; + n_histfig2_id->m_field_name = field_name; + n_histfig2_id->m_df_type = DF_Type::int32_t; + n_histfig2_id->m_rdf_type = RDF_Type::int32_t; + n_histfig2_id->m_node_type = NodeType::Simple; + n_histfig2_id->m_address = base + offset; + n_histfig2_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig2_id); + +} +void node_from_entity_event__T_data__T_refuse_tribute_demand(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "entity1_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_refuse_tribute_demand, field_name)); + auto n_entity1_id = new NodeSimple; + n_entity1_id->m_field_name = field_name; + n_entity1_id->m_df_type = DF_Type::int32_t; + n_entity1_id->m_rdf_type = RDF_Type::int32_t; + n_entity1_id->m_node_type = NodeType::Simple; + n_entity1_id->m_address = base + offset; + n_entity1_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity1_id); + + field_name = "histfig1_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_refuse_tribute_demand, field_name)); + auto n_histfig1_id = new NodeSimple; + n_histfig1_id->m_field_name = field_name; + n_histfig1_id->m_df_type = DF_Type::int32_t; + n_histfig1_id->m_rdf_type = RDF_Type::int32_t; + n_histfig1_id->m_node_type = NodeType::Simple; + n_histfig1_id->m_address = base + offset; + n_histfig1_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig1_id); + + field_name = "entity2_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_refuse_tribute_demand, field_name)); + auto n_entity2_id = new NodeSimple; + n_entity2_id->m_field_name = field_name; + n_entity2_id->m_df_type = DF_Type::int32_t; + n_entity2_id->m_rdf_type = RDF_Type::int32_t; + n_entity2_id->m_node_type = NodeType::Simple; + n_entity2_id->m_address = base + offset; + n_entity2_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity2_id); + + field_name = "histfig2_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_refuse_tribute_demand, field_name)); + auto n_histfig2_id = new NodeSimple; + n_histfig2_id->m_field_name = field_name; + n_histfig2_id->m_df_type = DF_Type::int32_t; + n_histfig2_id->m_rdf_type = RDF_Type::int32_t; + n_histfig2_id->m_node_type = NodeType::Simple; + n_histfig2_id->m_address = base + offset; + n_histfig2_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig2_id); + +} +void node_from_entity_event__T_data__T_accept_peace_offer(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "entity1_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_accept_peace_offer, field_name)); + auto n_entity1_id = new NodeSimple; + n_entity1_id->m_field_name = field_name; + n_entity1_id->m_df_type = DF_Type::int32_t; + n_entity1_id->m_rdf_type = RDF_Type::int32_t; + n_entity1_id->m_node_type = NodeType::Simple; + n_entity1_id->m_address = base + offset; + n_entity1_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity1_id); + + field_name = "histfig1_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_accept_peace_offer, field_name)); + auto n_histfig1_id = new NodeSimple; + n_histfig1_id->m_field_name = field_name; + n_histfig1_id->m_df_type = DF_Type::int32_t; + n_histfig1_id->m_rdf_type = RDF_Type::int32_t; + n_histfig1_id->m_node_type = NodeType::Simple; + n_histfig1_id->m_address = base + offset; + n_histfig1_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig1_id); + + field_name = "entity2_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_accept_peace_offer, field_name)); + auto n_entity2_id = new NodeSimple; + n_entity2_id->m_field_name = field_name; + n_entity2_id->m_df_type = DF_Type::int32_t; + n_entity2_id->m_rdf_type = RDF_Type::int32_t; + n_entity2_id->m_node_type = NodeType::Simple; + n_entity2_id->m_address = base + offset; + n_entity2_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity2_id); + + field_name = "histfig2_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_accept_peace_offer, field_name)); + auto n_histfig2_id = new NodeSimple; + n_histfig2_id->m_field_name = field_name; + n_histfig2_id->m_df_type = DF_Type::int32_t; + n_histfig2_id->m_rdf_type = RDF_Type::int32_t; + n_histfig2_id->m_node_type = NodeType::Simple; + n_histfig2_id->m_address = base + offset; + n_histfig2_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig2_id); + +} +void node_from_entity_event__T_data__T_refuse_peace_offer(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "entity1_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_refuse_peace_offer, field_name)); + auto n_entity1_id = new NodeSimple; + n_entity1_id->m_field_name = field_name; + n_entity1_id->m_df_type = DF_Type::int32_t; + n_entity1_id->m_rdf_type = RDF_Type::int32_t; + n_entity1_id->m_node_type = NodeType::Simple; + n_entity1_id->m_address = base + offset; + n_entity1_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity1_id); + + field_name = "histfig1_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_refuse_peace_offer, field_name)); + auto n_histfig1_id = new NodeSimple; + n_histfig1_id->m_field_name = field_name; + n_histfig1_id->m_df_type = DF_Type::int32_t; + n_histfig1_id->m_rdf_type = RDF_Type::int32_t; + n_histfig1_id->m_node_type = NodeType::Simple; + n_histfig1_id->m_address = base + offset; + n_histfig1_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig1_id); + + field_name = "entity2_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_refuse_peace_offer, field_name)); + auto n_entity2_id = new NodeSimple; + n_entity2_id->m_field_name = field_name; + n_entity2_id->m_df_type = DF_Type::int32_t; + n_entity2_id->m_rdf_type = RDF_Type::int32_t; + n_entity2_id->m_node_type = NodeType::Simple; + n_entity2_id->m_address = base + offset; + n_entity2_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity2_id); + + field_name = "histfig2_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_refuse_peace_offer, field_name)); + auto n_histfig2_id = new NodeSimple; + n_histfig2_id->m_field_name = field_name; + n_histfig2_id->m_df_type = DF_Type::int32_t; + n_histfig2_id->m_rdf_type = RDF_Type::int32_t; + n_histfig2_id->m_node_type = NodeType::Simple; + n_histfig2_id->m_address = base + offset; + n_histfig2_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig2_id); + +} +void node_from_entity_event__T_data__T_cease_tribute_offer(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "entity1_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_cease_tribute_offer, field_name)); + auto n_entity1_id = new NodeSimple; + n_entity1_id->m_field_name = field_name; + n_entity1_id->m_df_type = DF_Type::int32_t; + n_entity1_id->m_rdf_type = RDF_Type::int32_t; + n_entity1_id->m_node_type = NodeType::Simple; + n_entity1_id->m_address = base + offset; + n_entity1_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity1_id); + + field_name = "histfig1_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_cease_tribute_offer, field_name)); + auto n_histfig1_id = new NodeSimple; + n_histfig1_id->m_field_name = field_name; + n_histfig1_id->m_df_type = DF_Type::int32_t; + n_histfig1_id->m_rdf_type = RDF_Type::int32_t; + n_histfig1_id->m_node_type = NodeType::Simple; + n_histfig1_id->m_address = base + offset; + n_histfig1_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig1_id); + + field_name = "entity2_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_cease_tribute_offer, field_name)); + auto n_entity2_id = new NodeSimple; + n_entity2_id->m_field_name = field_name; + n_entity2_id->m_df_type = DF_Type::int32_t; + n_entity2_id->m_rdf_type = RDF_Type::int32_t; + n_entity2_id->m_node_type = NodeType::Simple; + n_entity2_id->m_address = base + offset; + n_entity2_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity2_id); + + field_name = "histfig2_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_cease_tribute_offer, field_name)); + auto n_histfig2_id = new NodeSimple; + n_histfig2_id->m_field_name = field_name; + n_histfig2_id->m_df_type = DF_Type::int32_t; + n_histfig2_id->m_rdf_type = RDF_Type::int32_t; + n_histfig2_id->m_node_type = NodeType::Simple; + n_histfig2_id->m_address = base + offset; + n_histfig2_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig2_id); + +} +void node_from_entity_event__T_data__T_artifact_in_site(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "artifact_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_in_site, field_name)); + auto n_artifact_id = new NodeSimple; + n_artifact_id->m_field_name = field_name; + n_artifact_id->m_df_type = DF_Type::int32_t; + n_artifact_id->m_rdf_type = RDF_Type::int32_t; + n_artifact_id->m_node_type = NodeType::Simple; + n_artifact_id->m_address = base + offset; + n_artifact_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_artifact_id); + + field_name = "site_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_in_site, field_name)); + auto n_site_id = new NodeSimple; + n_site_id->m_field_name = field_name; + n_site_id->m_df_type = DF_Type::int32_t; + n_site_id->m_rdf_type = RDF_Type::int32_t; + n_site_id->m_node_type = NodeType::Simple; + n_site_id->m_address = base + offset; + n_site_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_id); + + field_name = "structure_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_in_site, field_name)); + auto n_structure_id = new NodeSimple; + n_structure_id->m_field_name = field_name; + n_structure_id->m_df_type = DF_Type::int32_t; + n_structure_id->m_rdf_type = RDF_Type::int32_t; + n_structure_id->m_node_type = NodeType::Simple; + n_structure_id->m_address = base + offset; + n_structure_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_structure_id); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_in_site, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_entity_event__T_data__T_artifact_in_subregion(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "artifact_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_in_subregion, field_name)); + auto n_artifact_id = new NodeSimple; + n_artifact_id->m_field_name = field_name; + n_artifact_id->m_df_type = DF_Type::int32_t; + n_artifact_id->m_rdf_type = RDF_Type::int32_t; + n_artifact_id->m_node_type = NodeType::Simple; + n_artifact_id->m_address = base + offset; + n_artifact_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_artifact_id); + + field_name = "subregion_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_in_subregion, field_name)); + auto n_subregion_id = new NodeSimple; + n_subregion_id->m_field_name = field_name; + n_subregion_id->m_df_type = DF_Type::int32_t; + n_subregion_id->m_rdf_type = RDF_Type::int32_t; + n_subregion_id->m_node_type = NodeType::Simple; + n_subregion_id->m_address = base + offset; + n_subregion_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_subregion_id); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_in_subregion, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_in_subregion, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + +} +void node_from_entity_event__T_data__T_artifact_in_feature_layer(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "artifact_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_in_feature_layer, field_name)); + auto n_artifact_id = new NodeSimple; + n_artifact_id->m_field_name = field_name; + n_artifact_id->m_df_type = DF_Type::int32_t; + n_artifact_id->m_rdf_type = RDF_Type::int32_t; + n_artifact_id->m_node_type = NodeType::Simple; + n_artifact_id->m_address = base + offset; + n_artifact_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_artifact_id); + + field_name = "feature_layer_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_in_feature_layer, field_name)); + auto n_feature_layer_id = new NodeSimple; + n_feature_layer_id->m_field_name = field_name; + n_feature_layer_id->m_df_type = DF_Type::int32_t; + n_feature_layer_id->m_rdf_type = RDF_Type::int32_t; + n_feature_layer_id->m_node_type = NodeType::Simple; + n_feature_layer_id->m_address = base + offset; + n_feature_layer_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_feature_layer_id); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_in_feature_layer, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_in_feature_layer, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + +} +void node_from_entity_event__T_data__T_artifact_in_inventory(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "artifact_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_in_inventory, field_name)); + auto n_artifact_id = new NodeSimple; + n_artifact_id->m_field_name = field_name; + n_artifact_id->m_df_type = DF_Type::int32_t; + n_artifact_id->m_rdf_type = RDF_Type::int32_t; + n_artifact_id->m_node_type = NodeType::Simple; + n_artifact_id->m_address = base + offset; + n_artifact_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_artifact_id); + + field_name = "hist_figure_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_in_inventory, field_name)); + auto n_hist_figure_id = new NodeSimple; + n_hist_figure_id->m_field_name = field_name; + n_hist_figure_id->m_df_type = DF_Type::int32_t; + n_hist_figure_id->m_rdf_type = RDF_Type::int32_t; + n_hist_figure_id->m_node_type = NodeType::Simple; + n_hist_figure_id->m_address = base + offset; + n_hist_figure_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_hist_figure_id); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_in_inventory, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_in_inventory, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + +} +void node_from_entity_event__T_data__T_artifact_not_in_site(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "artifact_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_not_in_site, field_name)); + auto n_artifact_id = new NodeSimple; + n_artifact_id->m_field_name = field_name; + n_artifact_id->m_df_type = DF_Type::int32_t; + n_artifact_id->m_rdf_type = RDF_Type::int32_t; + n_artifact_id->m_node_type = NodeType::Simple; + n_artifact_id->m_address = base + offset; + n_artifact_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_artifact_id); + + field_name = "site_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_not_in_site, field_name)); + auto n_site_id = new NodeSimple; + n_site_id->m_field_name = field_name; + n_site_id->m_df_type = DF_Type::int32_t; + n_site_id->m_rdf_type = RDF_Type::int32_t; + n_site_id->m_node_type = NodeType::Simple; + n_site_id->m_address = base + offset; + n_site_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_id); + + field_name = "structure_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_not_in_site, field_name)); + auto n_structure_id = new NodeSimple; + n_structure_id->m_field_name = field_name; + n_structure_id->m_df_type = DF_Type::int32_t; + n_structure_id->m_rdf_type = RDF_Type::int32_t; + n_structure_id->m_node_type = NodeType::Simple; + n_structure_id->m_address = base + offset; + n_structure_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_structure_id); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_not_in_site, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_entity_event__T_data__T_artifact_not_in_subregion(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "artifact_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_not_in_subregion, field_name)); + auto n_artifact_id = new NodeSimple; + n_artifact_id->m_field_name = field_name; + n_artifact_id->m_df_type = DF_Type::int32_t; + n_artifact_id->m_rdf_type = RDF_Type::int32_t; + n_artifact_id->m_node_type = NodeType::Simple; + n_artifact_id->m_address = base + offset; + n_artifact_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_artifact_id); + + field_name = "subregion_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_not_in_subregion, field_name)); + auto n_subregion_id = new NodeSimple; + n_subregion_id->m_field_name = field_name; + n_subregion_id->m_df_type = DF_Type::int32_t; + n_subregion_id->m_rdf_type = RDF_Type::int32_t; + n_subregion_id->m_node_type = NodeType::Simple; + n_subregion_id->m_address = base + offset; + n_subregion_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_subregion_id); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_not_in_subregion, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_not_in_subregion, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + +} +void node_from_entity_event__T_data__T_artifact_not_in_feature_layer(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "artifact_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_not_in_feature_layer, field_name)); + auto n_artifact_id = new NodeSimple; + n_artifact_id->m_field_name = field_name; + n_artifact_id->m_df_type = DF_Type::int32_t; + n_artifact_id->m_rdf_type = RDF_Type::int32_t; + n_artifact_id->m_node_type = NodeType::Simple; + n_artifact_id->m_address = base + offset; + n_artifact_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_artifact_id); + + field_name = "feature_layer_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_not_in_feature_layer, field_name)); + auto n_feature_layer_id = new NodeSimple; + n_feature_layer_id->m_field_name = field_name; + n_feature_layer_id->m_df_type = DF_Type::int32_t; + n_feature_layer_id->m_rdf_type = RDF_Type::int32_t; + n_feature_layer_id->m_node_type = NodeType::Simple; + n_feature_layer_id->m_address = base + offset; + n_feature_layer_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_feature_layer_id); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_not_in_feature_layer, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_not_in_feature_layer, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + +} +void node_from_entity_event__T_data__T_artifact_not_in_inventory(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "artifact_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_not_in_inventory, field_name)); + auto n_artifact_id = new NodeSimple; + n_artifact_id->m_field_name = field_name; + n_artifact_id->m_df_type = DF_Type::int32_t; + n_artifact_id->m_rdf_type = RDF_Type::int32_t; + n_artifact_id->m_node_type = NodeType::Simple; + n_artifact_id->m_address = base + offset; + n_artifact_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_artifact_id); + + field_name = "hist_figure_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_not_in_inventory, field_name)); + auto n_hist_figure_id = new NodeSimple; + n_hist_figure_id->m_field_name = field_name; + n_hist_figure_id->m_df_type = DF_Type::int32_t; + n_hist_figure_id->m_rdf_type = RDF_Type::int32_t; + n_hist_figure_id->m_node_type = NodeType::Simple; + n_hist_figure_id->m_address = base + offset; + n_hist_figure_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_hist_figure_id); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_not_in_inventory, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_not_in_inventory, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + +} +void node_from_entity_event__T_data__T_artifact_destroyed(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "artifact_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_destroyed, field_name)); + auto n_artifact_id = new NodeSimple; + n_artifact_id->m_field_name = field_name; + n_artifact_id->m_df_type = DF_Type::int32_t; + n_artifact_id->m_rdf_type = RDF_Type::int32_t; + n_artifact_id->m_node_type = NodeType::Simple; + n_artifact_id->m_address = base + offset; + n_artifact_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_artifact_id); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_destroyed, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_destroyed, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data__T_artifact_destroyed, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + +} +void node_from_entity_event__T_data(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = true) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "invasion"; + auto n_invasion = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); + n_invasion->m_field_name = field_name; + n_invasion->m_df_type = DF_Type::entity_event__T_data__T_invasion; + n_invasion->m_rdf_type = RDF_Type::Compound; + n_invasion->m_node_type = NodeType::Compound; + n_invasion->m_address = base + offset; + n_invasion->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_invasion); + + field_name = "abduction"; + auto n_abduction = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); + n_abduction->m_field_name = field_name; + n_abduction->m_df_type = DF_Type::entity_event__T_data__T_abduction; + n_abduction->m_rdf_type = RDF_Type::Compound; + n_abduction->m_node_type = NodeType::Compound; + n_abduction->m_address = base + offset; + n_abduction->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_abduction); + + field_name = "incident"; + auto n_incident = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); + n_incident->m_field_name = field_name; + n_incident->m_df_type = DF_Type::entity_event__T_data__T_incident; + n_incident->m_rdf_type = RDF_Type::Compound; + n_incident->m_node_type = NodeType::Compound; + n_incident->m_address = base + offset; + n_incident->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_incident); + + field_name = "occupation"; + auto n_occupation = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); + n_occupation->m_field_name = field_name; + n_occupation->m_df_type = DF_Type::entity_event__T_data__T_occupation; + n_occupation->m_rdf_type = RDF_Type::Compound; + n_occupation->m_node_type = NodeType::Compound; + n_occupation->m_address = base + offset; + n_occupation->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_occupation); + + field_name = "beast"; + auto n_beast = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); + n_beast->m_field_name = field_name; + n_beast->m_df_type = DF_Type::entity_event__T_data__T_beast; + n_beast->m_rdf_type = RDF_Type::Compound; + n_beast->m_node_type = NodeType::Compound; + n_beast->m_address = base + offset; + n_beast->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_beast); + + field_name = "group"; + auto n_group = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); + n_group->m_field_name = field_name; + n_group->m_df_type = DF_Type::entity_event__T_data__T_group; + n_group->m_rdf_type = RDF_Type::Compound; + n_group->m_node_type = NodeType::Compound; + n_group->m_address = base + offset; + n_group->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_group); + + field_name = "harass"; + auto n_harass = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); + n_harass->m_field_name = field_name; + n_harass->m_df_type = DF_Type::entity_event__T_data__T_harass; + n_harass->m_rdf_type = RDF_Type::Compound; + n_harass->m_node_type = NodeType::Compound; + n_harass->m_address = base + offset; + n_harass->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_harass); + + field_name = "flee"; + auto n_flee = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); + n_flee->m_field_name = field_name; + n_flee->m_df_type = DF_Type::entity_event__T_data__T_flee; + n_flee->m_rdf_type = RDF_Type::Compound; + n_flee->m_node_type = NodeType::Compound; + n_flee->m_address = base + offset; + n_flee->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flee); + + field_name = "abandon"; + auto n_abandon = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); + n_abandon->m_field_name = field_name; + n_abandon->m_df_type = DF_Type::entity_event__T_data__T_abandon; + n_abandon->m_rdf_type = RDF_Type::Compound; + n_abandon->m_node_type = NodeType::Compound; + n_abandon->m_address = base + offset; + n_abandon->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_abandon); + + field_name = "reclaimed"; + auto n_reclaimed = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); + n_reclaimed->m_field_name = field_name; + n_reclaimed->m_df_type = DF_Type::entity_event__T_data__T_reclaimed; + n_reclaimed->m_rdf_type = RDF_Type::Compound; + n_reclaimed->m_node_type = NodeType::Compound; + n_reclaimed->m_address = base + offset; + n_reclaimed->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_reclaimed); + + field_name = "founded"; + auto n_founded = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); + n_founded->m_field_name = field_name; + n_founded->m_df_type = DF_Type::entity_event__T_data__T_founded; + n_founded->m_rdf_type = RDF_Type::Compound; + n_founded->m_node_type = NodeType::Compound; + n_founded->m_address = base + offset; + n_founded->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_founded); + + field_name = "reclaiming"; + auto n_reclaiming = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); + n_reclaiming->m_field_name = field_name; + n_reclaiming->m_df_type = DF_Type::entity_event__T_data__T_reclaiming; + n_reclaiming->m_rdf_type = RDF_Type::Compound; + n_reclaiming->m_node_type = NodeType::Compound; + n_reclaiming->m_address = base + offset; + n_reclaiming->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_reclaiming); + + field_name = "founding"; + auto n_founding = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); + n_founding->m_field_name = field_name; + n_founding->m_df_type = DF_Type::entity_event__T_data__T_founding; + n_founding->m_rdf_type = RDF_Type::Compound; + n_founding->m_node_type = NodeType::Compound; + n_founding->m_address = base + offset; + n_founding->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_founding); + + field_name = "leave"; + auto n_leave = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); + n_leave->m_field_name = field_name; + n_leave->m_df_type = DF_Type::entity_event__T_data__T_leave; + n_leave->m_rdf_type = RDF_Type::Compound; + n_leave->m_node_type = NodeType::Compound; + n_leave->m_address = base + offset; + n_leave->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_leave); + + field_name = "insurrection"; + auto n_insurrection = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); + n_insurrection->m_field_name = field_name; + n_insurrection->m_df_type = DF_Type::entity_event__T_data__T_insurrection; + n_insurrection->m_rdf_type = RDF_Type::Compound; + n_insurrection->m_node_type = NodeType::Compound; + n_insurrection->m_address = base + offset; + n_insurrection->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_insurrection); + + field_name = "insurrection_end"; + auto n_insurrection_end = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); + n_insurrection_end->m_field_name = field_name; + n_insurrection_end->m_df_type = DF_Type::entity_event__T_data__T_insurrection_end; + n_insurrection_end->m_rdf_type = RDF_Type::Compound; + n_insurrection_end->m_node_type = NodeType::Compound; + n_insurrection_end->m_address = base + offset; + n_insurrection_end->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_insurrection_end); + + field_name = "succession"; + auto n_succession = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); + n_succession->m_field_name = field_name; + n_succession->m_df_type = DF_Type::entity_event__T_data__T_succession; + n_succession->m_rdf_type = RDF_Type::Compound; + n_succession->m_node_type = NodeType::Compound; + n_succession->m_address = base + offset; + n_succession->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_succession); + + field_name = "claim"; + auto n_claim = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); + n_claim->m_field_name = field_name; + n_claim->m_df_type = DF_Type::entity_event__T_data__T_claim; + n_claim->m_rdf_type = RDF_Type::Compound; + n_claim->m_node_type = NodeType::Compound; + n_claim->m_address = base + offset; + n_claim->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_claim); + + field_name = "accept_tribute_offer"; + auto n_accept_tribute_offer = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); + n_accept_tribute_offer->m_field_name = field_name; + n_accept_tribute_offer->m_df_type = DF_Type::entity_event__T_data__T_accept_tribute_offer; + n_accept_tribute_offer->m_rdf_type = RDF_Type::Compound; + n_accept_tribute_offer->m_node_type = NodeType::Compound; + n_accept_tribute_offer->m_address = base + offset; + n_accept_tribute_offer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_accept_tribute_offer); + + field_name = "refuse_tribute_offer"; + auto n_refuse_tribute_offer = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); + n_refuse_tribute_offer->m_field_name = field_name; + n_refuse_tribute_offer->m_df_type = DF_Type::entity_event__T_data__T_refuse_tribute_offer; + n_refuse_tribute_offer->m_rdf_type = RDF_Type::Compound; + n_refuse_tribute_offer->m_node_type = NodeType::Compound; + n_refuse_tribute_offer->m_address = base + offset; + n_refuse_tribute_offer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_refuse_tribute_offer); + + field_name = "accept_tribute_demand"; + auto n_accept_tribute_demand = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); + n_accept_tribute_demand->m_field_name = field_name; + n_accept_tribute_demand->m_df_type = DF_Type::entity_event__T_data__T_accept_tribute_demand; + n_accept_tribute_demand->m_rdf_type = RDF_Type::Compound; + n_accept_tribute_demand->m_node_type = NodeType::Compound; + n_accept_tribute_demand->m_address = base + offset; + n_accept_tribute_demand->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_accept_tribute_demand); + + field_name = "refuse_tribute_demand"; + auto n_refuse_tribute_demand = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); + n_refuse_tribute_demand->m_field_name = field_name; + n_refuse_tribute_demand->m_df_type = DF_Type::entity_event__T_data__T_refuse_tribute_demand; + n_refuse_tribute_demand->m_rdf_type = RDF_Type::Compound; + n_refuse_tribute_demand->m_node_type = NodeType::Compound; + n_refuse_tribute_demand->m_address = base + offset; + n_refuse_tribute_demand->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_refuse_tribute_demand); + + field_name = "accept_peace_offer"; + auto n_accept_peace_offer = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); + n_accept_peace_offer->m_field_name = field_name; + n_accept_peace_offer->m_df_type = DF_Type::entity_event__T_data__T_accept_peace_offer; + n_accept_peace_offer->m_rdf_type = RDF_Type::Compound; + n_accept_peace_offer->m_node_type = NodeType::Compound; + n_accept_peace_offer->m_address = base + offset; + n_accept_peace_offer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_accept_peace_offer); + + field_name = "refuse_peace_offer"; + auto n_refuse_peace_offer = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); + n_refuse_peace_offer->m_field_name = field_name; + n_refuse_peace_offer->m_df_type = DF_Type::entity_event__T_data__T_refuse_peace_offer; + n_refuse_peace_offer->m_rdf_type = RDF_Type::Compound; + n_refuse_peace_offer->m_node_type = NodeType::Compound; + n_refuse_peace_offer->m_address = base + offset; + n_refuse_peace_offer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_refuse_peace_offer); + + field_name = "cease_tribute_offer"; + auto n_cease_tribute_offer = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); + n_cease_tribute_offer->m_field_name = field_name; + n_cease_tribute_offer->m_df_type = DF_Type::entity_event__T_data__T_cease_tribute_offer; + n_cease_tribute_offer->m_rdf_type = RDF_Type::Compound; + n_cease_tribute_offer->m_node_type = NodeType::Compound; + n_cease_tribute_offer->m_address = base + offset; + n_cease_tribute_offer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cease_tribute_offer); + + field_name = "artifact_in_site"; + auto n_artifact_in_site = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); + n_artifact_in_site->m_field_name = field_name; + n_artifact_in_site->m_df_type = DF_Type::entity_event__T_data__T_artifact_in_site; + n_artifact_in_site->m_rdf_type = RDF_Type::Compound; + n_artifact_in_site->m_node_type = NodeType::Compound; + n_artifact_in_site->m_address = base + offset; + n_artifact_in_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_artifact_in_site); + + field_name = "artifact_in_subregion"; + auto n_artifact_in_subregion = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); + n_artifact_in_subregion->m_field_name = field_name; + n_artifact_in_subregion->m_df_type = DF_Type::entity_event__T_data__T_artifact_in_subregion; + n_artifact_in_subregion->m_rdf_type = RDF_Type::Compound; + n_artifact_in_subregion->m_node_type = NodeType::Compound; + n_artifact_in_subregion->m_address = base + offset; + n_artifact_in_subregion->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_artifact_in_subregion); + + field_name = "artifact_in_feature_layer"; + auto n_artifact_in_feature_layer = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); + n_artifact_in_feature_layer->m_field_name = field_name; + n_artifact_in_feature_layer->m_df_type = DF_Type::entity_event__T_data__T_artifact_in_feature_layer; + n_artifact_in_feature_layer->m_rdf_type = RDF_Type::Compound; + n_artifact_in_feature_layer->m_node_type = NodeType::Compound; + n_artifact_in_feature_layer->m_address = base + offset; + n_artifact_in_feature_layer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_artifact_in_feature_layer); + + field_name = "artifact_in_inventory"; + auto n_artifact_in_inventory = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); + n_artifact_in_inventory->m_field_name = field_name; + n_artifact_in_inventory->m_df_type = DF_Type::entity_event__T_data__T_artifact_in_inventory; + n_artifact_in_inventory->m_rdf_type = RDF_Type::Compound; + n_artifact_in_inventory->m_node_type = NodeType::Compound; + n_artifact_in_inventory->m_address = base + offset; + n_artifact_in_inventory->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_artifact_in_inventory); + + field_name = "artifact_not_in_site"; + auto n_artifact_not_in_site = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); + n_artifact_not_in_site->m_field_name = field_name; + n_artifact_not_in_site->m_df_type = DF_Type::entity_event__T_data__T_artifact_not_in_site; + n_artifact_not_in_site->m_rdf_type = RDF_Type::Compound; + n_artifact_not_in_site->m_node_type = NodeType::Compound; + n_artifact_not_in_site->m_address = base + offset; + n_artifact_not_in_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_artifact_not_in_site); + + field_name = "artifact_not_in_subregion"; + auto n_artifact_not_in_subregion = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); + n_artifact_not_in_subregion->m_field_name = field_name; + n_artifact_not_in_subregion->m_df_type = DF_Type::entity_event__T_data__T_artifact_not_in_subregion; + n_artifact_not_in_subregion->m_rdf_type = RDF_Type::Compound; + n_artifact_not_in_subregion->m_node_type = NodeType::Compound; + n_artifact_not_in_subregion->m_address = base + offset; + n_artifact_not_in_subregion->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_artifact_not_in_subregion); + + field_name = "artifact_not_in_feature_layer"; + auto n_artifact_not_in_feature_layer = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); + n_artifact_not_in_feature_layer->m_field_name = field_name; + n_artifact_not_in_feature_layer->m_df_type = DF_Type::entity_event__T_data__T_artifact_not_in_feature_layer; + n_artifact_not_in_feature_layer->m_rdf_type = RDF_Type::Compound; + n_artifact_not_in_feature_layer->m_node_type = NodeType::Compound; + n_artifact_not_in_feature_layer->m_address = base + offset; + n_artifact_not_in_feature_layer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_artifact_not_in_feature_layer); + + field_name = "artifact_not_in_inventory"; + auto n_artifact_not_in_inventory = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); + n_artifact_not_in_inventory->m_field_name = field_name; + n_artifact_not_in_inventory->m_df_type = DF_Type::entity_event__T_data__T_artifact_not_in_inventory; + n_artifact_not_in_inventory->m_rdf_type = RDF_Type::Compound; + n_artifact_not_in_inventory->m_node_type = NodeType::Compound; + n_artifact_not_in_inventory->m_address = base + offset; + n_artifact_not_in_inventory->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_artifact_not_in_inventory); + + field_name = "artifact_destroyed"; + auto n_artifact_destroyed = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event__T_data, field_name)); + n_artifact_destroyed->m_field_name = field_name; + n_artifact_destroyed->m_df_type = DF_Type::entity_event__T_data__T_artifact_destroyed; + n_artifact_destroyed->m_rdf_type = RDF_Type::Compound; + n_artifact_destroyed->m_node_type = NodeType::Compound; + n_artifact_destroyed->m_address = base + offset; + n_artifact_destroyed->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_artifact_destroyed); + +} +void node_from_entity_event(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "data"; + auto n_data = new NodeUnion; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event, field_name)); + n_data->m_field_name = field_name; + n_data->m_df_type = DF_Type::entity_event__T_data; + n_data->m_rdf_type = RDF_Type::Union; + n_data->m_node_type = NodeType::Union; + n_data->m_address = base + offset; + n_data->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_data); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event, field_name)); + auto n_year = new NodeSimple; + n_year->m_field_name = field_name; + n_year->m_df_type = DF_Type::int32_t; + n_year->m_rdf_type = RDF_Type::int32_t; + n_year->m_node_type = NodeType::Simple; + n_year->m_address = base + offset; + n_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_year); + + field_name = "year_tick"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event, field_name)); + auto n_year_tick = new NodeSimple; + n_year_tick->m_field_name = field_name; + n_year_tick->m_df_type = DF_Type::int32_t; + n_year_tick->m_rdf_type = RDF_Type::int32_t; + n_year_tick->m_node_type = NodeType::Simple; + n_year_tick->m_address = base + offset; + n_year_tick->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_year_tick); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "type"; + auto n_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_event, field_name)); + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::entity_event_type; + n_type->m_rdf_type = RDF_Type::Enum; + n_type->m_node_type = NodeType::Enum; + n_type->m_base_type = enum_base_type(n_type->m_df_type); + n_type->m_enum_type = "entity_event_type"; + n_type->m_address = base + offset; + n_type->m_defined_in = "df.entities.xml"; + n_type->m_first_value = 0; + n_type->m_last_value = 33; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + +} +void node_from_agreement__T_parties__T_anon_1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement__T_parties__T_anon_1, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement__T_parties__T_anon_1, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement__T_parties__T_anon_1, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement__T_parties__T_anon_1, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + +} +void node_from_agreement__T_parties(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement__T_parties, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "histfig_ids"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement__T_parties, field_name)); + auto n_histfig_ids = new NodeVector; + n_histfig_ids->m_field_name = field_name; + n_histfig_ids->m_df_type = DF_Type::int32_t; + n_histfig_ids->m_rdf_type = RDF_Type::Vector; + n_histfig_ids->m_node_type = NodeType::Vector; + n_histfig_ids->m_addornements = "v"; + n_histfig_ids->m_address = base + offset; + n_histfig_ids->m_parent = p_node_parent; + n_histfig_ids->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_histfig_ids); + + field_name = "entity_ids"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement__T_parties, field_name)); + auto n_entity_ids = new NodeVector; + n_entity_ids->m_field_name = field_name; + n_entity_ids->m_df_type = DF_Type::int32_t; + n_entity_ids->m_rdf_type = RDF_Type::Vector; + n_entity_ids->m_node_type = NodeType::Vector; + n_entity_ids->m_addornements = "v"; + n_entity_ids->m_address = base + offset; + n_entity_ids->m_parent = p_node_parent; + n_entity_ids->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_entity_ids); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement__T_parties, field_name)); + auto n_anon_1 = new NodeVector; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::agreement__T_parties__T_anon_1; + n_anon_1->m_rdf_type = RDF_Type::Vector; + n_anon_1->m_node_type = NodeType::Vector; + n_anon_1->m_addornements = "v*"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_agreement__T_details__T_data__T_data0(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement__T_details__T_data__T_data0, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement__T_details__T_data__T_data0, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement__T_details__T_data__T_data0, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement__T_details__T_data__T_data0, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement__T_details__T_data__T_data0, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement__T_details__T_data__T_data0, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + +} +void node_from_agreement__T_details__T_data__T_data1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "reason"; + auto n_reason = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement__T_details__T_data__T_data1, field_name)); + n_reason->m_field_name = field_name; + n_reason->m_df_type = DF_Type::history_event_reason; + n_reason->m_rdf_type = RDF_Type::Enum; + n_reason->m_node_type = NodeType::Enum; + n_reason->m_base_type = DF_Type::int32_t; + n_reason->m_enum_type = "history_event_reason"; + n_reason->m_address = base + offset; + n_reason->m_defined_in = "df.history.xml"; + n_reason->m_first_value = -1; + n_reason->m_last_value = 77; + n_reason->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_reason); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement__T_details__T_data__T_data1, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement__T_details__T_data__T_data1, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement__T_details__T_data__T_data1, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "artifact"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement__T_details__T_data__T_data1, field_name)); + auto n_artifact = new NodeSimple; + n_artifact->m_field_name = field_name; + n_artifact->m_df_type = DF_Type::int32_t; + n_artifact->m_rdf_type = RDF_Type::int32_t; + n_artifact->m_node_type = NodeType::Simple; + n_artifact->m_address = base + offset; + n_artifact->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_artifact); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement__T_details__T_data__T_data1, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + +} +void node_from_agreement__T_details__T_data(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = true) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "data0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement__T_details__T_data, field_name)); + auto n_data0 = new NodePointer; + n_data0->m_field_name = field_name; + n_data0->m_df_type = get_real_subtype(base+offset, DF_Type::agreement__T_details__T_data__T_data0); + n_data0->m_rdf_type = RDF_Type::Pointer; + n_data0->m_node_type = NodeType::Pointer; + n_data0->m_addornements = "*"; + n_data0->m_address = base + offset; + n_data0->m_parent = p_node_parent; + n_data0->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_data0); + + field_name = "data1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement__T_details__T_data, field_name)); + auto n_data1 = new NodePointer; + n_data1->m_field_name = field_name; + n_data1->m_df_type = get_real_subtype(base+offset, DF_Type::agreement__T_details__T_data__T_data1); + n_data1->m_rdf_type = RDF_Type::Pointer; + n_data1->m_node_type = NodeType::Pointer; + n_data1->m_addornements = "*"; + n_data1->m_address = base + offset; + n_data1->m_parent = p_node_parent; + n_data1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_data1); + +} +void node_from_agreement__T_details(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement__T_details, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement__T_details, field_name)); + auto n_year = new NodeSimple; + n_year->m_field_name = field_name; + n_year->m_df_type = DF_Type::int32_t; + n_year->m_rdf_type = RDF_Type::int32_t; + n_year->m_node_type = NodeType::Simple; + n_year->m_address = base + offset; + n_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_year); + + field_name = "year_tick"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement__T_details, field_name)); + auto n_year_tick = new NodeSimple; + n_year_tick->m_field_name = field_name; + n_year_tick->m_df_type = DF_Type::int32_t; + n_year_tick->m_rdf_type = RDF_Type::int32_t; + n_year_tick->m_node_type = NodeType::Simple; + n_year_tick->m_address = base + offset; + n_year_tick->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_year_tick); + + field_name = "data"; + auto n_data = new NodeUnion; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement__T_details, field_name)); + n_data->m_field_name = field_name; + n_data->m_df_type = DF_Type::agreement__T_details__T_data; + n_data->m_rdf_type = RDF_Type::Union; + n_data->m_node_type = NodeType::Union; + n_data->m_address = base + offset; + n_data->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_data); + + field_name = "type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement__T_details, field_name)); + auto n_type = new NodeSimple; + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::int32_t; + n_type->m_rdf_type = RDF_Type::int32_t; + n_type->m_node_type = NodeType::Simple; + n_type->m_address = base + offset; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + +} +void node_from_agreement(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "parties"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement, field_name)); + auto n_parties = new NodeVector; + n_parties->m_field_name = field_name; + n_parties->m_df_type = DF_Type::agreement__T_parties; + n_parties->m_rdf_type = RDF_Type::Vector; + n_parties->m_node_type = NodeType::Vector; + n_parties->m_addornements = "v*"; + n_parties->m_address = base + offset; + n_parties->m_parent = p_node_parent; + n_parties->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_parties); + + field_name = "next_party_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement, field_name)); + auto n_next_party_id = new NodeSimple; + n_next_party_id->m_field_name = field_name; + n_next_party_id->m_df_type = DF_Type::int32_t; + n_next_party_id->m_rdf_type = RDF_Type::int32_t; + n_next_party_id->m_node_type = NodeType::Simple; + n_next_party_id->m_address = base + offset; + n_next_party_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_next_party_id); + + field_name = "details"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement, field_name)); + auto n_details = new NodeVector; + n_details->m_field_name = field_name; + n_details->m_df_type = DF_Type::agreement__T_details; + n_details->m_rdf_type = RDF_Type::Vector; + n_details->m_node_type = NodeType::Vector; + n_details->m_addornements = "v*"; + n_details->m_address = base + offset; + n_details->m_parent = p_node_parent; + n_details->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_details); + + field_name = "next_details_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement, field_name)); + auto n_next_details_id = new NodeSimple; + n_next_details_id->m_field_name = field_name; + n_next_details_id->m_df_type = DF_Type::int32_t; + n_next_details_id->m_rdf_type = RDF_Type::int32_t; + n_next_details_id->m_node_type = NodeType::Simple; + n_next_details_id->m_address = base + offset; + n_next_details_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_next_details_id); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::agreement, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + +} +void node_from_entity_position_raw(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "code"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); + auto n_code = new NodeSimple; + n_code->m_field_name = field_name; + n_code->m_df_type = DF_Type::Stl_string; + n_code->m_rdf_type = RDF_Type::Stl_string; + n_code->m_node_type = NodeType::Simple; + n_code->m_address = base + offset; + n_code->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_code); + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); + auto n_flags = new NodeDFFlagArray; + n_flags->m_field_name = field_name; + n_flags->m_index_enum = DF_Type::entity_position_raw_flags; + n_flags->m_df_type = DF_Type::entity_position_raw_flags; + n_flags->m_size = 25; + n_flags->m_rdf_type = RDF_Type::DFFlagArray; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_defined_in = "df.entity-raws.xml"; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "allowed_creature_str"; + auto n_allowed_creature_str = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); + n_allowed_creature_str->m_field_name = field_name; + n_allowed_creature_str->m_df_type = DF_Type::Stl_string; + n_allowed_creature_str->m_rdf_type = RDF_Type::Array; + n_allowed_creature_str->m_node_type = NodeType::Array; + n_allowed_creature_str->m_addornements = "[2v*"; + n_allowed_creature_str->m_array_size = 2; + n_allowed_creature_str->m_address = base + offset; + n_allowed_creature_str->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_allowed_creature_str); + + field_name = "allowed_creature"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); + auto n_allowed_creature = new NodeVector; + n_allowed_creature->m_field_name = field_name; + n_allowed_creature->m_df_type = DF_Type::int32_t; + n_allowed_creature->m_rdf_type = RDF_Type::Vector; + n_allowed_creature->m_node_type = NodeType::Vector; + n_allowed_creature->m_addornements = "v"; + n_allowed_creature->m_address = base + offset; + n_allowed_creature->m_parent = p_node_parent; + n_allowed_creature->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_allowed_creature); + + field_name = "allowed_class"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); + auto n_allowed_class = new NodeVector; + n_allowed_class->m_field_name = field_name; + n_allowed_class->m_df_type = DF_Type::Stl_string; + n_allowed_class->m_rdf_type = RDF_Type::Vector; + n_allowed_class->m_node_type = NodeType::Vector; + n_allowed_class->m_addornements = "v*"; + n_allowed_class->m_address = base + offset; + n_allowed_class->m_parent = p_node_parent; + n_allowed_class->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_allowed_class); + + field_name = "rejected_creature_str"; + auto n_rejected_creature_str = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); + n_rejected_creature_str->m_field_name = field_name; + n_rejected_creature_str->m_df_type = DF_Type::Stl_string; + n_rejected_creature_str->m_rdf_type = RDF_Type::Array; + n_rejected_creature_str->m_node_type = NodeType::Array; + n_rejected_creature_str->m_addornements = "[2v*"; + n_rejected_creature_str->m_array_size = 2; + n_rejected_creature_str->m_address = base + offset; + n_rejected_creature_str->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rejected_creature_str); + + field_name = "rejected_creature"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); + auto n_rejected_creature = new NodeVector; + n_rejected_creature->m_field_name = field_name; + n_rejected_creature->m_df_type = DF_Type::int32_t; + n_rejected_creature->m_rdf_type = RDF_Type::Vector; + n_rejected_creature->m_node_type = NodeType::Vector; + n_rejected_creature->m_addornements = "v"; + n_rejected_creature->m_address = base + offset; + n_rejected_creature->m_parent = p_node_parent; + n_rejected_creature->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_rejected_creature); + + field_name = "rejected_class"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); + auto n_rejected_class = new NodeVector; + n_rejected_class->m_field_name = field_name; + n_rejected_class->m_df_type = DF_Type::Stl_string; + n_rejected_class->m_rdf_type = RDF_Type::Vector; + n_rejected_class->m_node_type = NodeType::Vector; + n_rejected_class->m_addornements = "v*"; + n_rejected_class->m_address = base + offset; + n_rejected_class->m_parent = p_node_parent; + n_rejected_class->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_rejected_class); + + field_name = "name"; + auto n_name = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Array; + n_name->m_node_type = NodeType::Array; + n_name->m_addornements = "[2"; + n_name->m_array_size = 2; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "name_female"; + auto n_name_female = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); + n_name_female->m_field_name = field_name; + n_name_female->m_df_type = DF_Type::Stl_string; + n_name_female->m_rdf_type = RDF_Type::Array; + n_name_female->m_node_type = NodeType::Array; + n_name_female->m_addornements = "[2"; + n_name_female->m_array_size = 2; + n_name_female->m_address = base + offset; + n_name_female->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name_female); + + field_name = "name_male"; + auto n_name_male = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); + n_name_male->m_field_name = field_name; + n_name_male->m_df_type = DF_Type::Stl_string; + n_name_male->m_rdf_type = RDF_Type::Array; + n_name_male->m_node_type = NodeType::Array; + n_name_male->m_addornements = "[2"; + n_name_male->m_array_size = 2; + n_name_male->m_address = base + offset; + n_name_male->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name_male); + + field_name = "spouse"; + auto n_spouse = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); + n_spouse->m_field_name = field_name; + n_spouse->m_df_type = DF_Type::Stl_string; + n_spouse->m_rdf_type = RDF_Type::Array; + n_spouse->m_node_type = NodeType::Array; + n_spouse->m_addornements = "[2"; + n_spouse->m_array_size = 2; + n_spouse->m_address = base + offset; + n_spouse->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_spouse); + + field_name = "spouse_female"; + auto n_spouse_female = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); + n_spouse_female->m_field_name = field_name; + n_spouse_female->m_df_type = DF_Type::Stl_string; + n_spouse_female->m_rdf_type = RDF_Type::Array; + n_spouse_female->m_node_type = NodeType::Array; + n_spouse_female->m_addornements = "[2"; + n_spouse_female->m_array_size = 2; + n_spouse_female->m_address = base + offset; + n_spouse_female->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_spouse_female); + + field_name = "spouse_male"; + auto n_spouse_male = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); + n_spouse_male->m_field_name = field_name; + n_spouse_male->m_df_type = DF_Type::Stl_string; + n_spouse_male->m_rdf_type = RDF_Type::Array; + n_spouse_male->m_node_type = NodeType::Array; + n_spouse_male->m_addornements = "[2"; + n_spouse_male->m_array_size = 2; + n_spouse_male->m_address = base + offset; + n_spouse_male->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_spouse_male); + + field_name = "squad"; + auto n_squad = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); + n_squad->m_field_name = field_name; + n_squad->m_df_type = DF_Type::Stl_string; + n_squad->m_rdf_type = RDF_Type::Array; + n_squad->m_node_type = NodeType::Array; + n_squad->m_addornements = "[2"; + n_squad->m_array_size = 2; + n_squad->m_address = base + offset; + n_squad->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_squad); + + field_name = "land_name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); + auto n_land_name = new NodeSimple; + n_land_name->m_field_name = field_name; + n_land_name->m_df_type = DF_Type::Stl_string; + n_land_name->m_rdf_type = RDF_Type::Stl_string; + n_land_name->m_node_type = NodeType::Simple; + n_land_name->m_address = base + offset; + n_land_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_land_name); + + field_name = "squad_size"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); + auto n_squad_size = new NodeSimple; + n_squad_size->m_field_name = field_name; + n_squad_size->m_df_type = DF_Type::int16_t; + n_squad_size->m_rdf_type = RDF_Type::int16_t; + n_squad_size->m_node_type = NodeType::Simple; + n_squad_size->m_address = base + offset; + n_squad_size->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_squad_size); + + field_name = "commander_str"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); + auto n_commander_str = new NodeVector; + n_commander_str->m_field_name = field_name; + n_commander_str->m_df_type = DF_Type::Stl_string; + n_commander_str->m_rdf_type = RDF_Type::Vector; + n_commander_str->m_node_type = NodeType::Vector; + n_commander_str->m_addornements = "v*"; + n_commander_str->m_address = base + offset; + n_commander_str->m_parent = p_node_parent; + n_commander_str->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_commander_str); + + field_name = "commander_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); + auto n_commander_id = new NodeVector; + n_commander_id->m_field_name = field_name; + n_commander_id->m_df_type = DF_Type::int32_t; + n_commander_id->m_rdf_type = RDF_Type::Vector; + n_commander_id->m_node_type = NodeType::Vector; + n_commander_id->m_addornements = "v"; + n_commander_id->m_address = base + offset; + n_commander_id->m_parent = p_node_parent; + n_commander_id->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_commander_id); + + field_name = "commander_types"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); + auto n_commander_types = new NodeVector; + n_commander_types->m_field_name = field_name; + n_commander_types->m_df_type = DF_Type::int16_t; + n_commander_types->m_rdf_type = RDF_Type::Vector; + n_commander_types->m_node_type = NodeType::Vector; + n_commander_types->m_addornements = "v"; + n_commander_types->m_address = base + offset; + n_commander_types->m_parent = p_node_parent; + n_commander_types->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_commander_types); + + field_name = "land_holder"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); + auto n_land_holder = new NodeSimple; + n_land_holder->m_field_name = field_name; + n_land_holder->m_df_type = DF_Type::int16_t; + n_land_holder->m_rdf_type = RDF_Type::int16_t; + n_land_holder->m_node_type = NodeType::Simple; + n_land_holder->m_address = base + offset; + n_land_holder->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_land_holder); + + field_name = "number"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); + auto n_number = new NodeSimple; + n_number->m_field_name = field_name; + n_number->m_df_type = DF_Type::int16_t; + n_number->m_rdf_type = RDF_Type::int16_t; + n_number->m_node_type = NodeType::Simple; + n_number->m_address = base + offset; + n_number->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_number); + + field_name = "requires_population"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); + auto n_requires_population = new NodeSimple; + n_requires_population->m_field_name = field_name; + n_requires_population->m_df_type = DF_Type::int16_t; + n_requires_population->m_rdf_type = RDF_Type::int16_t; + n_requires_population->m_node_type = NodeType::Simple; + n_requires_population->m_address = base + offset; + n_requires_population->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_requires_population); + + field_name = "execution_skill"; + auto n_execution_skill = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); + n_execution_skill->m_field_name = field_name; + n_execution_skill->m_df_type = DF_Type::job_skill; + n_execution_skill->m_rdf_type = RDF_Type::Enum; + n_execution_skill->m_node_type = NodeType::Enum; + n_execution_skill->m_base_type = DF_Type::int16_t; + n_execution_skill->m_enum_type = "job_skill"; + n_execution_skill->m_address = base + offset; + n_execution_skill->m_defined_in = "df.skills.xml"; + n_execution_skill->m_first_value = -1; + n_execution_skill->m_last_value = 134; + n_execution_skill->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_execution_skill); + + field_name = "precedence"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); + auto n_precedence = new NodeSimple; + n_precedence->m_field_name = field_name; + n_precedence->m_df_type = DF_Type::int32_t; + n_precedence->m_rdf_type = RDF_Type::int32_t; + n_precedence->m_node_type = NodeType::Simple; + n_precedence->m_address = base + offset; + n_precedence->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_precedence); + + field_name = "replaced_by_str"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); + auto n_replaced_by_str = new NodeSimple; + n_replaced_by_str->m_field_name = field_name; + n_replaced_by_str->m_df_type = DF_Type::Stl_string; + n_replaced_by_str->m_rdf_type = RDF_Type::Stl_string; + n_replaced_by_str->m_node_type = NodeType::Simple; + n_replaced_by_str->m_address = base + offset; + n_replaced_by_str->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_replaced_by_str); + + field_name = "replaced_by"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); + auto n_replaced_by = new NodeSimple; + n_replaced_by->m_field_name = field_name; + n_replaced_by->m_df_type = DF_Type::int32_t; + n_replaced_by->m_rdf_type = RDF_Type::int32_t; + n_replaced_by->m_node_type = NodeType::Simple; + n_replaced_by->m_address = base + offset; + n_replaced_by->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_replaced_by); + + field_name = "appointed_by_str"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); + auto n_appointed_by_str = new NodeVector; + n_appointed_by_str->m_field_name = field_name; + n_appointed_by_str->m_df_type = DF_Type::Stl_string; + n_appointed_by_str->m_rdf_type = RDF_Type::Vector; + n_appointed_by_str->m_node_type = NodeType::Vector; + n_appointed_by_str->m_addornements = "v*"; + n_appointed_by_str->m_address = base + offset; + n_appointed_by_str->m_parent = p_node_parent; + n_appointed_by_str->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_appointed_by_str); + + field_name = "appointed_by"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); + auto n_appointed_by = new NodeVector; + n_appointed_by->m_field_name = field_name; + n_appointed_by->m_df_type = DF_Type::int32_t; + n_appointed_by->m_rdf_type = RDF_Type::Vector; + n_appointed_by->m_node_type = NodeType::Vector; + n_appointed_by->m_addornements = "v"; + n_appointed_by->m_address = base + offset; + n_appointed_by->m_parent = p_node_parent; + n_appointed_by->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_appointed_by); + + field_name = "succession_by_position_str"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); + auto n_succession_by_position_str = new NodeVector; + n_succession_by_position_str->m_field_name = field_name; + n_succession_by_position_str->m_df_type = DF_Type::Stl_string; + n_succession_by_position_str->m_rdf_type = RDF_Type::Vector; + n_succession_by_position_str->m_node_type = NodeType::Vector; + n_succession_by_position_str->m_addornements = "v*"; + n_succession_by_position_str->m_address = base + offset; + n_succession_by_position_str->m_parent = p_node_parent; + n_succession_by_position_str->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_succession_by_position_str); + + field_name = "succession_by_position"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); + auto n_succession_by_position = new NodeVector; + n_succession_by_position->m_field_name = field_name; + n_succession_by_position->m_df_type = DF_Type::int32_t; + n_succession_by_position->m_rdf_type = RDF_Type::Vector; + n_succession_by_position->m_node_type = NodeType::Vector; + n_succession_by_position->m_addornements = "v"; + n_succession_by_position->m_address = base + offset; + n_succession_by_position->m_parent = p_node_parent; + n_succession_by_position->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_succession_by_position); + + field_name = "responsibilities"; + auto n_responsibilities = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); + n_responsibilities->m_field_name = field_name; + n_responsibilities->m_df_type = DF_Type::Bool; + n_responsibilities->m_rdf_type = RDF_Type::Array; + n_responsibilities->m_node_type = NodeType::Array; + n_responsibilities->m_index_enum = DF_Type::entity_position_responsibility; + n_responsibilities->m_addornements = "[25"; + n_responsibilities->m_array_size = 25; + n_responsibilities->m_address = base + offset; + n_responsibilities->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_responsibilities); + + field_name = "color"; + auto n_color = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); + n_color->m_field_name = field_name; + n_color->m_df_type = DF_Type::int16_t; + n_color->m_rdf_type = RDF_Type::Array; + n_color->m_node_type = NodeType::Array; + n_color->m_addornements = "[3"; + n_color->m_array_size = 3; + n_color->m_address = base + offset; + n_color->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_color); + + field_name = "required_boxes"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); + auto n_required_boxes = new NodeSimple; + n_required_boxes->m_field_name = field_name; + n_required_boxes->m_df_type = DF_Type::int32_t; + n_required_boxes->m_rdf_type = RDF_Type::int32_t; + n_required_boxes->m_node_type = NodeType::Simple; + n_required_boxes->m_address = base + offset; + n_required_boxes->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_required_boxes); + + field_name = "required_cabinets"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); + auto n_required_cabinets = new NodeSimple; + n_required_cabinets->m_field_name = field_name; + n_required_cabinets->m_df_type = DF_Type::int32_t; + n_required_cabinets->m_rdf_type = RDF_Type::int32_t; + n_required_cabinets->m_node_type = NodeType::Simple; + n_required_cabinets->m_address = base + offset; + n_required_cabinets->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_required_cabinets); + + field_name = "required_racks"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); + auto n_required_racks = new NodeSimple; + n_required_racks->m_field_name = field_name; + n_required_racks->m_df_type = DF_Type::int32_t; + n_required_racks->m_rdf_type = RDF_Type::int32_t; + n_required_racks->m_node_type = NodeType::Simple; + n_required_racks->m_address = base + offset; + n_required_racks->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_required_racks); + + field_name = "required_stands"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); + auto n_required_stands = new NodeSimple; + n_required_stands->m_field_name = field_name; + n_required_stands->m_df_type = DF_Type::int32_t; + n_required_stands->m_rdf_type = RDF_Type::int32_t; + n_required_stands->m_node_type = NodeType::Simple; + n_required_stands->m_address = base + offset; + n_required_stands->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_required_stands); + + field_name = "required_office"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); + auto n_required_office = new NodeSimple; + n_required_office->m_field_name = field_name; + n_required_office->m_df_type = DF_Type::int32_t; + n_required_office->m_rdf_type = RDF_Type::int32_t; + n_required_office->m_node_type = NodeType::Simple; + n_required_office->m_address = base + offset; + n_required_office->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_required_office); + + field_name = "required_bedroom"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); + auto n_required_bedroom = new NodeSimple; + n_required_bedroom->m_field_name = field_name; + n_required_bedroom->m_df_type = DF_Type::int32_t; + n_required_bedroom->m_rdf_type = RDF_Type::int32_t; + n_required_bedroom->m_node_type = NodeType::Simple; + n_required_bedroom->m_address = base + offset; + n_required_bedroom->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_required_bedroom); + + field_name = "required_dining"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); + auto n_required_dining = new NodeSimple; + n_required_dining->m_field_name = field_name; + n_required_dining->m_df_type = DF_Type::int32_t; + n_required_dining->m_rdf_type = RDF_Type::int32_t; + n_required_dining->m_node_type = NodeType::Simple; + n_required_dining->m_address = base + offset; + n_required_dining->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_required_dining); + + field_name = "required_tomb"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); + auto n_required_tomb = new NodeSimple; + n_required_tomb->m_field_name = field_name; + n_required_tomb->m_df_type = DF_Type::int32_t; + n_required_tomb->m_rdf_type = RDF_Type::int32_t; + n_required_tomb->m_node_type = NodeType::Simple; + n_required_tomb->m_address = base + offset; + n_required_tomb->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_required_tomb); + + field_name = "mandate_max"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); + auto n_mandate_max = new NodeSimple; + n_mandate_max->m_field_name = field_name; + n_mandate_max->m_df_type = DF_Type::int32_t; + n_mandate_max->m_rdf_type = RDF_Type::int32_t; + n_mandate_max->m_node_type = NodeType::Simple; + n_mandate_max->m_address = base + offset; + n_mandate_max->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mandate_max); + + field_name = "demand_max"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_position_raw, field_name)); + auto n_demand_max = new NodeSimple; + n_demand_max->m_field_name = field_name; + n_demand_max->m_df_type = DF_Type::int32_t; + n_demand_max->m_rdf_type = RDF_Type::int32_t; + n_demand_max->m_node_type = NodeType::Simple; + n_demand_max->m_address = base + offset; + n_demand_max->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_demand_max); + +} +void node_from_graphic(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "screenx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::graphic, field_name)); + auto n_screenx = new NodeSimple; + n_screenx->m_field_name = field_name; + n_screenx->m_df_type = DF_Type::Long; + n_screenx->m_rdf_type = RDF_Type::Long; + n_screenx->m_node_type = NodeType::Simple; + n_screenx->m_address = base + offset; + n_screenx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_screenx); + + field_name = "screeny"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::graphic, field_name)); + auto n_screeny = new NodeSimple; + n_screeny->m_field_name = field_name; + n_screeny->m_df_type = DF_Type::Long; + n_screeny->m_rdf_type = RDF_Type::Long; + n_screeny->m_node_type = NodeType::Simple; + n_screeny->m_address = base + offset; + n_screeny->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_screeny); + + field_name = "screenf"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::graphic, field_name)); + auto n_screenf = new NodeSimple; + n_screenf->m_field_name = field_name; + n_screenf->m_df_type = DF_Type::int8_t; + n_screenf->m_rdf_type = RDF_Type::int8_t; + n_screenf->m_node_type = NodeType::Simple; + n_screenf->m_address = base + offset; + n_screenf->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_screenf); + + field_name = "screenb"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::graphic, field_name)); + auto n_screenb = new NodeSimple; + n_screenb->m_field_name = field_name; + n_screenb->m_df_type = DF_Type::int8_t; + n_screenb->m_rdf_type = RDF_Type::int8_t; + n_screenb->m_node_type = NodeType::Simple; + n_screenb->m_address = base + offset; + n_screenb->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_screenb); + + field_name = "screenbright"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::graphic, field_name)); + auto n_screenbright = new NodeSimple; + n_screenbright->m_field_name = field_name; + n_screenbright->m_df_type = DF_Type::int8_t; + n_screenbright->m_rdf_type = RDF_Type::int8_t; + n_screenbright->m_node_type = NodeType::Simple; + n_screenbright->m_address = base + offset; + n_screenbright->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_screenbright); + + field_name = "screen"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::graphic, field_name)); + auto n_screen = new NodePointer; + n_screen->m_field_name = field_name; + n_screen->m_df_type = get_real_subtype(base+offset, DF_Type::uint8_t); + n_screen->m_rdf_type = RDF_Type::Pointer; + n_screen->m_node_type = NodeType::Pointer; + n_screen->m_addornements = "*"; + n_screen->m_address = base + offset; + n_screen->m_parent = p_node_parent; + n_screen->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_screen); + + field_name = "screentexpos"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::graphic, field_name)); + auto n_screentexpos = new NodePointer; + n_screentexpos->m_field_name = field_name; + n_screentexpos->m_df_type = get_real_subtype(base+offset, DF_Type::Long); + n_screentexpos->m_rdf_type = RDF_Type::Pointer; + n_screentexpos->m_node_type = NodeType::Pointer; + n_screentexpos->m_addornements = "*"; + n_screentexpos->m_address = base + offset; + n_screentexpos->m_parent = p_node_parent; + n_screentexpos->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_screentexpos); + + field_name = "screentexpos_addcolor"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::graphic, field_name)); + auto n_screentexpos_addcolor = new NodePointer; + n_screentexpos_addcolor->m_field_name = field_name; + n_screentexpos_addcolor->m_df_type = get_real_subtype(base+offset, DF_Type::int8_t); + n_screentexpos_addcolor->m_rdf_type = RDF_Type::Pointer; + n_screentexpos_addcolor->m_node_type = NodeType::Pointer; + n_screentexpos_addcolor->m_addornements = "*"; + n_screentexpos_addcolor->m_address = base + offset; + n_screentexpos_addcolor->m_parent = p_node_parent; + n_screentexpos_addcolor->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_screentexpos_addcolor); + + field_name = "screentexpos_grayscale"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::graphic, field_name)); + auto n_screentexpos_grayscale = new NodePointer; + n_screentexpos_grayscale->m_field_name = field_name; + n_screentexpos_grayscale->m_df_type = get_real_subtype(base+offset, DF_Type::uint8_t); + n_screentexpos_grayscale->m_rdf_type = RDF_Type::Pointer; + n_screentexpos_grayscale->m_node_type = NodeType::Pointer; + n_screentexpos_grayscale->m_addornements = "*"; + n_screentexpos_grayscale->m_address = base + offset; + n_screentexpos_grayscale->m_parent = p_node_parent; + n_screentexpos_grayscale->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_screentexpos_grayscale); + + field_name = "screentexpos_cf"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::graphic, field_name)); + auto n_screentexpos_cf = new NodePointer; + n_screentexpos_cf->m_field_name = field_name; + n_screentexpos_cf->m_df_type = get_real_subtype(base+offset, DF_Type::uint8_t); + n_screentexpos_cf->m_rdf_type = RDF_Type::Pointer; + n_screentexpos_cf->m_node_type = NodeType::Pointer; + n_screentexpos_cf->m_addornements = "*"; + n_screentexpos_cf->m_address = base + offset; + n_screentexpos_cf->m_parent = p_node_parent; + n_screentexpos_cf->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_screentexpos_cf); + + field_name = "screentexpos_cbr"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::graphic, field_name)); + auto n_screentexpos_cbr = new NodePointer; + n_screentexpos_cbr->m_field_name = field_name; + n_screentexpos_cbr->m_df_type = get_real_subtype(base+offset, DF_Type::uint8_t); + n_screentexpos_cbr->m_rdf_type = RDF_Type::Pointer; + n_screentexpos_cbr->m_node_type = NodeType::Pointer; + n_screentexpos_cbr->m_addornements = "*"; + n_screentexpos_cbr->m_address = base + offset; + n_screentexpos_cbr->m_parent = p_node_parent; + n_screentexpos_cbr->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_screentexpos_cbr); + + field_name = "clipx"; + auto n_clipx = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::graphic, field_name)); + n_clipx->m_field_name = field_name; + n_clipx->m_df_type = DF_Type::Long; + n_clipx->m_rdf_type = RDF_Type::Array; + n_clipx->m_node_type = NodeType::Array; + n_clipx->m_addornements = "[2"; + n_clipx->m_array_size = 2; + n_clipx->m_address = base + offset; + n_clipx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_clipx); + + field_name = "clipy"; + auto n_clipy = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::graphic, field_name)); + n_clipy->m_field_name = field_name; + n_clipy->m_df_type = DF_Type::Long; + n_clipy->m_rdf_type = RDF_Type::Array; + n_clipy->m_node_type = NodeType::Array; + n_clipy->m_addornements = "[2"; + n_clipy->m_array_size = 2; + n_clipy->m_address = base + offset; + n_clipy->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_clipy); + + field_name = "tex_pos"; + auto n_tex_pos = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::graphic, field_name)); + n_tex_pos->m_field_name = field_name; + n_tex_pos->m_df_type = DF_Type::Long; + n_tex_pos->m_rdf_type = RDF_Type::Array; + n_tex_pos->m_node_type = NodeType::Array; + n_tex_pos->m_addornements = "[1"; + n_tex_pos->m_array_size = 1; + n_tex_pos->m_address = base + offset; + n_tex_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tex_pos); + + field_name = "rect_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::graphic, field_name)); + auto n_rect_id = new NodeSimple; + n_rect_id->m_field_name = field_name; + n_rect_id->m_df_type = DF_Type::Long; + n_rect_id->m_rdf_type = RDF_Type::Long; + n_rect_id->m_node_type = NodeType::Simple; + n_rect_id->m_address = base + offset; + n_rect_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rect_id); + + field_name = "print_time"; + auto n_print_time = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::graphic, field_name)); + n_print_time->m_field_name = field_name; + n_print_time->m_df_type = DF_Type::large_integer; + n_print_time->m_rdf_type = RDF_Type::Array; + n_print_time->m_node_type = NodeType::Array; + n_print_time->m_defined_in = "df.graphics.xml"; + n_print_time->m_addornements = "[100"; + n_print_time->m_array_size = 100; + n_print_time->m_address = base + offset; + n_print_time->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_print_time); + + field_name = "print_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::graphic, field_name)); + auto n_print_index = new NodeSimple; + n_print_index->m_field_name = field_name; + n_print_index->m_df_type = DF_Type::Long; + n_print_index->m_rdf_type = RDF_Type::Long; + n_print_index->m_node_type = NodeType::Simple; + n_print_index->m_address = base + offset; + n_print_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_print_index); + + field_name = "display_frames"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::graphic, field_name)); + auto n_display_frames = new NodeSimple; + n_display_frames->m_field_name = field_name; + n_display_frames->m_df_type = DF_Type::int8_t; + n_display_frames->m_rdf_type = RDF_Type::int8_t; + n_display_frames->m_node_type = NodeType::Simple; + n_display_frames->m_address = base + offset; + n_display_frames->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_display_frames); + + field_name = "force_full_display_count"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::graphic, field_name)); + auto n_force_full_display_count = new NodeSimple; + n_force_full_display_count->m_field_name = field_name; + n_force_full_display_count->m_df_type = DF_Type::int16_t; + n_force_full_display_count->m_rdf_type = RDF_Type::int16_t; + n_force_full_display_count->m_node_type = NodeType::Simple; + n_force_full_display_count->m_address = base + offset; + n_force_full_display_count->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_force_full_display_count); + + field_name = "original_rect"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::graphic, field_name)); + auto n_original_rect = new NodeSimple; + n_original_rect->m_field_name = field_name; + n_original_rect->m_df_type = DF_Type::int8_t; + n_original_rect->m_rdf_type = RDF_Type::int8_t; + n_original_rect->m_node_type = NodeType::Simple; + n_original_rect->m_address = base + offset; + n_original_rect->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_original_rect); + + field_name = "dimx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::graphic, field_name)); + auto n_dimx = new NodeSimple; + n_dimx->m_field_name = field_name; + n_dimx->m_df_type = DF_Type::int32_t; + n_dimx->m_rdf_type = RDF_Type::int32_t; + n_dimx->m_node_type = NodeType::Simple; + n_dimx->m_address = base + offset; + n_dimx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dimx); + + field_name = "dimy"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::graphic, field_name)); + auto n_dimy = new NodeSimple; + n_dimy->m_field_name = field_name; + n_dimy->m_df_type = DF_Type::int32_t; + n_dimy->m_rdf_type = RDF_Type::int32_t; + n_dimy->m_node_type = NodeType::Simple; + n_dimy->m_address = base + offset; + n_dimy->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dimy); + + field_name = "mouse_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::graphic, field_name)); + auto n_mouse_x = new NodeSimple; + n_mouse_x->m_field_name = field_name; + n_mouse_x->m_df_type = DF_Type::int32_t; + n_mouse_x->m_rdf_type = RDF_Type::int32_t; + n_mouse_x->m_node_type = NodeType::Simple; + n_mouse_x->m_address = base + offset; + n_mouse_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mouse_x); + + field_name = "mouse_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::graphic, field_name)); + auto n_mouse_y = new NodeSimple; + n_mouse_y->m_field_name = field_name; + n_mouse_y->m_df_type = DF_Type::int32_t; + n_mouse_y->m_rdf_type = RDF_Type::int32_t; + n_mouse_y->m_node_type = NodeType::Simple; + n_mouse_y->m_address = base + offset; + n_mouse_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mouse_y); + + field_name = "screen_limit"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::graphic, field_name)); + auto n_screen_limit = new NodePointer; + n_screen_limit->m_field_name = field_name; + n_screen_limit->m_df_type = get_real_subtype(base+offset, DF_Type::uint8_t); + n_screen_limit->m_rdf_type = RDF_Type::Pointer; + n_screen_limit->m_node_type = NodeType::Pointer; + n_screen_limit->m_addornements = "*"; + n_screen_limit->m_address = base + offset; + n_screen_limit->m_parent = p_node_parent; + n_screen_limit->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_screen_limit); + +} +void node_from_historical_kills(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "events"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_kills, field_name)); + auto n_events = new NodeVector; + n_events->m_field_name = field_name; + n_events->m_df_type = DF_Type::int32_t; + n_events->m_rdf_type = RDF_Type::Vector; + n_events->m_node_type = NodeType::Vector; + n_events->m_addornements = "v"; + n_events->m_address = base + offset; + n_events->m_parent = p_node_parent; + n_events->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_events); + + field_name = "killed_race"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_kills, field_name)); + auto n_killed_race = new NodeVector; + n_killed_race->m_field_name = field_name; + n_killed_race->m_df_type = DF_Type::int16_t; + n_killed_race->m_rdf_type = RDF_Type::Vector; + n_killed_race->m_node_type = NodeType::Vector; + n_killed_race->m_addornements = "v"; + n_killed_race->m_address = base + offset; + n_killed_race->m_parent = p_node_parent; + n_killed_race->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_killed_race); + + field_name = "killed_caste"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_kills, field_name)); + auto n_killed_caste = new NodeVector; + n_killed_caste->m_field_name = field_name; + n_killed_caste->m_df_type = DF_Type::int16_t; + n_killed_caste->m_rdf_type = RDF_Type::Vector; + n_killed_caste->m_node_type = NodeType::Vector; + n_killed_caste->m_addornements = "v"; + n_killed_caste->m_address = base + offset; + n_killed_caste->m_parent = p_node_parent; + n_killed_caste->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_killed_caste); + + field_name = "killed_underground_region"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_kills, field_name)); + auto n_killed_underground_region = new NodeVector; + n_killed_underground_region->m_field_name = field_name; + n_killed_underground_region->m_df_type = DF_Type::int32_t; + n_killed_underground_region->m_rdf_type = RDF_Type::Vector; + n_killed_underground_region->m_node_type = NodeType::Vector; + n_killed_underground_region->m_addornements = "v"; + n_killed_underground_region->m_address = base + offset; + n_killed_underground_region->m_parent = p_node_parent; + n_killed_underground_region->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_killed_underground_region); + + field_name = "killed_region"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_kills, field_name)); + auto n_killed_region = new NodeVector; + n_killed_region->m_field_name = field_name; + n_killed_region->m_df_type = DF_Type::int32_t; + n_killed_region->m_rdf_type = RDF_Type::Vector; + n_killed_region->m_node_type = NodeType::Vector; + n_killed_region->m_addornements = "v"; + n_killed_region->m_address = base + offset; + n_killed_region->m_parent = p_node_parent; + n_killed_region->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_killed_region); + + field_name = "killed_site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_kills, field_name)); + auto n_killed_site = new NodeVector; + n_killed_site->m_field_name = field_name; + n_killed_site->m_df_type = DF_Type::int32_t; + n_killed_site->m_rdf_type = RDF_Type::Vector; + n_killed_site->m_node_type = NodeType::Vector; + n_killed_site->m_addornements = "v"; + n_killed_site->m_address = base + offset; + n_killed_site->m_parent = p_node_parent; + n_killed_site->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_killed_site); + + field_name = "killed_undead"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_kills, field_name)); + auto n_killed_undead = new NodeVector; + n_killed_undead->m_field_name = field_name; + n_killed_undead->m_df_type = DF_Type::historical_kills__T_killed_undead; + n_killed_undead->m_rdf_type = RDF_Type::Vector; + n_killed_undead->m_node_type = NodeType::Vector; + n_killed_undead->m_addornements = "v"; + n_killed_undead->m_address = base + offset; + n_killed_undead->m_parent = p_node_parent; + n_killed_undead->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_killed_undead); + + field_name = "killed_count"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_kills, field_name)); + auto n_killed_count = new NodeVector; + n_killed_count->m_field_name = field_name; + n_killed_count->m_df_type = DF_Type::int32_t; + n_killed_count->m_rdf_type = RDF_Type::Vector; + n_killed_count->m_node_type = NodeType::Vector; + n_killed_count->m_addornements = "v"; + n_killed_count->m_address = base + offset; + n_killed_count->m_parent = p_node_parent; + n_killed_count->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_killed_count); + +} +void node_from_history_hit_item(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "item"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_hit_item, field_name)); + auto n_item = new NodeSimple; + n_item->m_field_name = field_name; + n_item->m_df_type = DF_Type::int32_t; + n_item->m_rdf_type = RDF_Type::int32_t; + n_item->m_node_type = NodeType::Simple; + n_item->m_address = base + offset; + n_item->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item); + + field_name = "item_type"; + auto n_item_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_hit_item, field_name)); + n_item_type->m_field_name = field_name; + n_item_type->m_df_type = DF_Type::item_type; + n_item_type->m_rdf_type = RDF_Type::Enum; + n_item_type->m_node_type = NodeType::Enum; + n_item_type->m_base_type = DF_Type::int16_t; + n_item_type->m_enum_type = "item_type"; + n_item_type->m_address = base + offset; + n_item_type->m_defined_in = "df.item-raws.xml"; + n_item_type->m_first_value = -1; + n_item_type->m_last_value = 90; + n_item_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_type); + + field_name = "item_subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_hit_item, field_name)); + auto n_item_subtype = new NodeSimple; + n_item_subtype->m_field_name = field_name; + n_item_subtype->m_df_type = DF_Type::int16_t; + n_item_subtype->m_rdf_type = RDF_Type::int16_t; + n_item_subtype->m_node_type = NodeType::Simple; + n_item_subtype->m_address = base + offset; + n_item_subtype->m_refers_to = "(item-subtype-target $$._parent.item_type $)"; + n_item_subtype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_subtype); + + field_name = "mattype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_hit_item, field_name)); + auto n_mattype = new NodeSimple; + n_mattype->m_field_name = field_name; + n_mattype->m_df_type = DF_Type::int16_t; + n_mattype->m_rdf_type = RDF_Type::int16_t; + n_mattype->m_node_type = NodeType::Simple; + n_mattype->m_address = base + offset; + n_mattype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mattype); + + field_name = "matindex"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_hit_item, field_name)); + auto n_matindex = new NodeSimple; + n_matindex->m_field_name = field_name; + n_matindex->m_df_type = DF_Type::int32_t; + n_matindex->m_rdf_type = RDF_Type::int32_t; + n_matindex->m_node_type = NodeType::Simple; + n_matindex->m_address = base + offset; + n_matindex->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_matindex); + + field_name = "shooter_item"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_hit_item, field_name)); + auto n_shooter_item = new NodeSimple; + n_shooter_item->m_field_name = field_name; + n_shooter_item->m_df_type = DF_Type::int32_t; + n_shooter_item->m_rdf_type = RDF_Type::int32_t; + n_shooter_item->m_node_type = NodeType::Simple; + n_shooter_item->m_address = base + offset; + n_shooter_item->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_shooter_item); + + field_name = "shooter_item_type"; + auto n_shooter_item_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_hit_item, field_name)); + n_shooter_item_type->m_field_name = field_name; + n_shooter_item_type->m_df_type = DF_Type::item_type; + n_shooter_item_type->m_rdf_type = RDF_Type::Enum; + n_shooter_item_type->m_node_type = NodeType::Enum; + n_shooter_item_type->m_base_type = DF_Type::int16_t; + n_shooter_item_type->m_enum_type = "item_type"; + n_shooter_item_type->m_address = base + offset; + n_shooter_item_type->m_defined_in = "df.item-raws.xml"; + n_shooter_item_type->m_first_value = -1; + n_shooter_item_type->m_last_value = 90; + n_shooter_item_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_shooter_item_type); + + field_name = "shooter_item_subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_hit_item, field_name)); + auto n_shooter_item_subtype = new NodeSimple; + n_shooter_item_subtype->m_field_name = field_name; + n_shooter_item_subtype->m_df_type = DF_Type::int16_t; + n_shooter_item_subtype->m_rdf_type = RDF_Type::int16_t; + n_shooter_item_subtype->m_node_type = NodeType::Simple; + n_shooter_item_subtype->m_address = base + offset; + n_shooter_item_subtype->m_refers_to = "(item-subtype-target $$._parent.shooter_item_type $)"; + n_shooter_item_subtype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_shooter_item_subtype); + + field_name = "shooter_mattype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_hit_item, field_name)); + auto n_shooter_mattype = new NodeSimple; + n_shooter_mattype->m_field_name = field_name; + n_shooter_mattype->m_df_type = DF_Type::int16_t; + n_shooter_mattype->m_rdf_type = RDF_Type::int16_t; + n_shooter_mattype->m_node_type = NodeType::Simple; + n_shooter_mattype->m_address = base + offset; + n_shooter_mattype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_shooter_mattype); + + field_name = "shooter_matindex"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_hit_item, field_name)); + auto n_shooter_matindex = new NodeSimple; + n_shooter_matindex->m_field_name = field_name; + n_shooter_matindex->m_df_type = DF_Type::int32_t; + n_shooter_matindex->m_rdf_type = RDF_Type::int32_t; + n_shooter_matindex->m_node_type = NodeType::Simple; + n_shooter_matindex->m_address = base + offset; + n_shooter_matindex->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_shooter_matindex); + +} +void node_from_history_event_hist_figure_diedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "victim_hf"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_diedst, field_name)); + auto n_victim_hf = new NodeSimple; + n_victim_hf->m_field_name = field_name; + n_victim_hf->m_df_type = DF_Type::int32_t; + n_victim_hf->m_rdf_type = RDF_Type::int32_t; + n_victim_hf->m_node_type = NodeType::Simple; + n_victim_hf->m_address = base + offset; + n_victim_hf->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_victim_hf); + + field_name = "slayer_hf"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_diedst, field_name)); + auto n_slayer_hf = new NodeSimple; + n_slayer_hf->m_field_name = field_name; + n_slayer_hf->m_df_type = DF_Type::int32_t; + n_slayer_hf->m_rdf_type = RDF_Type::int32_t; + n_slayer_hf->m_node_type = NodeType::Simple; + n_slayer_hf->m_address = base + offset; + n_slayer_hf->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_slayer_hf); + + field_name = "slayer_race"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_diedst, field_name)); + auto n_slayer_race = new NodeSimple; + n_slayer_race->m_field_name = field_name; + n_slayer_race->m_df_type = DF_Type::int32_t; + n_slayer_race->m_rdf_type = RDF_Type::int32_t; + n_slayer_race->m_node_type = NodeType::Simple; + n_slayer_race->m_address = base + offset; + n_slayer_race->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_slayer_race); + + field_name = "slayer_caste"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_diedst, field_name)); + auto n_slayer_caste = new NodeSimple; + n_slayer_caste->m_field_name = field_name; + n_slayer_caste->m_df_type = DF_Type::int32_t; + n_slayer_caste->m_rdf_type = RDF_Type::int32_t; + n_slayer_caste->m_node_type = NodeType::Simple; + n_slayer_caste->m_address = base + offset; + n_slayer_caste->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_slayer_caste); + + field_name = "weapon"; + auto n_weapon = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_diedst, field_name)); + n_weapon->m_field_name = field_name; + n_weapon->m_df_type = DF_Type::history_hit_item; + n_weapon->m_rdf_type = RDF_Type::Struct; + n_weapon->m_node_type = NodeType::Compound; + n_weapon->m_address = base + offset; + n_weapon->m_defined_in = "df.history.xml"; + n_weapon->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_weapon); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_diedst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "subregion"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_diedst, field_name)); + auto n_subregion = new NodeSimple; + n_subregion->m_field_name = field_name; + n_subregion->m_df_type = DF_Type::int32_t; + n_subregion->m_rdf_type = RDF_Type::int32_t; + n_subregion->m_node_type = NodeType::Simple; + n_subregion->m_address = base + offset; + n_subregion->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_subregion); + + field_name = "feature_layer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_diedst, field_name)); + auto n_feature_layer = new NodeSimple; + n_feature_layer->m_field_name = field_name; + n_feature_layer->m_df_type = DF_Type::int32_t; + n_feature_layer->m_rdf_type = RDF_Type::int32_t; + n_feature_layer->m_node_type = NodeType::Simple; + n_feature_layer->m_address = base + offset; + n_feature_layer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_feature_layer); + + field_name = "death_cause"; + auto n_death_cause = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_diedst, field_name)); + n_death_cause->m_field_name = field_name; + n_death_cause->m_df_type = DF_Type::death_type; + n_death_cause->m_rdf_type = RDF_Type::Enum; + n_death_cause->m_node_type = NodeType::Enum; + n_death_cause->m_base_type = DF_Type::int16_t; + n_death_cause->m_enum_type = "death_type"; + n_death_cause->m_address = base + offset; + n_death_cause->m_defined_in = "df.history.xml"; + n_death_cause->m_first_value = -1; + n_death_cause->m_last_value = 53; + n_death_cause->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_death_cause); + +} +void node_from_history_event_add_hf_entity_linkst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_add_hf_entity_linkst, field_name)); + auto n_civ = new NodeSimple; + n_civ->m_field_name = field_name; + n_civ->m_df_type = DF_Type::int32_t; + n_civ->m_rdf_type = RDF_Type::int32_t; + n_civ->m_node_type = NodeType::Simple; + n_civ->m_address = base + offset; + n_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_civ); + + field_name = "histfig"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_add_hf_entity_linkst, field_name)); + auto n_histfig = new NodeSimple; + n_histfig->m_field_name = field_name; + n_histfig->m_df_type = DF_Type::int32_t; + n_histfig->m_rdf_type = RDF_Type::int32_t; + n_histfig->m_node_type = NodeType::Simple; + n_histfig->m_address = base + offset; + n_histfig->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig); + + field_name = "link_type"; + auto n_link_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_add_hf_entity_linkst, field_name)); + n_link_type->m_field_name = field_name; + n_link_type->m_df_type = DF_Type::histfig_entity_link_type; + n_link_type->m_rdf_type = RDF_Type::Enum; + n_link_type->m_node_type = NodeType::Enum; + n_link_type->m_base_type = DF_Type::int32_t; + n_link_type->m_enum_type = "histfig_entity_link_type"; + n_link_type->m_address = base + offset; + n_link_type->m_defined_in = "df.refs.xml"; + n_link_type->m_first_value = 0; + n_link_type->m_last_value = 16; + n_link_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_link_type); + + field_name = "position_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_add_hf_entity_linkst, field_name)); + auto n_position_id = new NodeSimple; + n_position_id->m_field_name = field_name; + n_position_id->m_df_type = DF_Type::int32_t; + n_position_id->m_rdf_type = RDF_Type::int32_t; + n_position_id->m_node_type = NodeType::Simple; + n_position_id->m_address = base + offset; + n_position_id->m_comment = "index into entity.positions.own"; + n_position_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_position_id); + +} +void node_from_history_event_remove_hf_entity_linkst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_remove_hf_entity_linkst, field_name)); + auto n_civ = new NodeSimple; + n_civ->m_field_name = field_name; + n_civ->m_df_type = DF_Type::int32_t; + n_civ->m_rdf_type = RDF_Type::int32_t; + n_civ->m_node_type = NodeType::Simple; + n_civ->m_address = base + offset; + n_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_civ); + + field_name = "histfig"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_remove_hf_entity_linkst, field_name)); + auto n_histfig = new NodeSimple; + n_histfig->m_field_name = field_name; + n_histfig->m_df_type = DF_Type::int32_t; + n_histfig->m_rdf_type = RDF_Type::int32_t; + n_histfig->m_node_type = NodeType::Simple; + n_histfig->m_address = base + offset; + n_histfig->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig); + + field_name = "link_type"; + auto n_link_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_remove_hf_entity_linkst, field_name)); + n_link_type->m_field_name = field_name; + n_link_type->m_df_type = DF_Type::histfig_entity_link_type; + n_link_type->m_rdf_type = RDF_Type::Enum; + n_link_type->m_node_type = NodeType::Enum; + n_link_type->m_base_type = DF_Type::int32_t; + n_link_type->m_enum_type = "histfig_entity_link_type"; + n_link_type->m_address = base + offset; + n_link_type->m_defined_in = "df.refs.xml"; + n_link_type->m_first_value = 0; + n_link_type->m_last_value = 16; + n_link_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_link_type); + + field_name = "position_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_remove_hf_entity_linkst, field_name)); + auto n_position_id = new NodeSimple; + n_position_id->m_field_name = field_name; + n_position_id->m_df_type = DF_Type::int32_t; + n_position_id->m_rdf_type = RDF_Type::int32_t; + n_position_id->m_node_type = NodeType::Simple; + n_position_id->m_address = base + offset; + n_position_id->m_comment = "index into entity.positions.own"; + n_position_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_position_id); + +} +void node_from_history_event_topicagreement_concludedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "source"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_topicagreement_concludedst, field_name)); + auto n_source = new NodeSimple; + n_source->m_field_name = field_name; + n_source->m_df_type = DF_Type::int32_t; + n_source->m_rdf_type = RDF_Type::int32_t; + n_source->m_node_type = NodeType::Simple; + n_source->m_address = base + offset; + n_source->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_source); + + field_name = "destination"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_topicagreement_concludedst, field_name)); + auto n_destination = new NodeSimple; + n_destination->m_field_name = field_name; + n_destination->m_df_type = DF_Type::int32_t; + n_destination->m_rdf_type = RDF_Type::int32_t; + n_destination->m_node_type = NodeType::Simple; + n_destination->m_address = base + offset; + n_destination->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_destination); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_topicagreement_concludedst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "topic"; + auto n_topic = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_topicagreement_concludedst, field_name)); + n_topic->m_field_name = field_name; + n_topic->m_df_type = DF_Type::meeting_topic; + n_topic->m_rdf_type = RDF_Type::Enum; + n_topic->m_node_type = NodeType::Enum; + n_topic->m_base_type = DF_Type::int16_t; + n_topic->m_enum_type = "meeting_topic"; + n_topic->m_address = base + offset; + n_topic->m_defined_in = "df.meeting.xml"; + n_topic->m_first_value = 0; + n_topic->m_last_value = 9; + n_topic->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_topic); + + field_name = "result"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_topicagreement_concludedst, field_name)); + auto n_result = new NodeSimple; + n_result->m_field_name = field_name; + n_result->m_df_type = DF_Type::int32_t; + n_result->m_rdf_type = RDF_Type::int32_t; + n_result->m_node_type = NodeType::Simple; + n_result->m_address = base + offset; + n_result->m_comment = "range from -3 to +2"; + n_result->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_result); + +} +void node_from_history_event_topicagreement_rejectedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "topic"; + auto n_topic = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_topicagreement_rejectedst, field_name)); + n_topic->m_field_name = field_name; + n_topic->m_df_type = DF_Type::meeting_topic; + n_topic->m_rdf_type = RDF_Type::Enum; + n_topic->m_node_type = NodeType::Enum; + n_topic->m_base_type = DF_Type::int16_t; + n_topic->m_enum_type = "meeting_topic"; + n_topic->m_address = base + offset; + n_topic->m_defined_in = "df.meeting.xml"; + n_topic->m_first_value = 0; + n_topic->m_last_value = 9; + n_topic->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_topic); + + field_name = "source"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_topicagreement_rejectedst, field_name)); + auto n_source = new NodeSimple; + n_source->m_field_name = field_name; + n_source->m_df_type = DF_Type::int32_t; + n_source->m_rdf_type = RDF_Type::int32_t; + n_source->m_node_type = NodeType::Simple; + n_source->m_address = base + offset; + n_source->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_source); + + field_name = "destination"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_topicagreement_rejectedst, field_name)); + auto n_destination = new NodeSimple; + n_destination->m_field_name = field_name; + n_destination->m_df_type = DF_Type::int32_t; + n_destination->m_rdf_type = RDF_Type::int32_t; + n_destination->m_node_type = NodeType::Simple; + n_destination->m_address = base + offset; + n_destination->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_destination); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_topicagreement_rejectedst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + +} +void node_from_history_event_topicagreement_madest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "topic"; + auto n_topic = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_topicagreement_madest, field_name)); + n_topic->m_field_name = field_name; + n_topic->m_df_type = DF_Type::meeting_topic; + n_topic->m_rdf_type = RDF_Type::Enum; + n_topic->m_node_type = NodeType::Enum; + n_topic->m_base_type = DF_Type::int16_t; + n_topic->m_enum_type = "meeting_topic"; + n_topic->m_address = base + offset; + n_topic->m_defined_in = "df.meeting.xml"; + n_topic->m_first_value = 0; + n_topic->m_last_value = 9; + n_topic->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_topic); + + field_name = "source"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_topicagreement_madest, field_name)); + auto n_source = new NodeSimple; + n_source->m_field_name = field_name; + n_source->m_df_type = DF_Type::int32_t; + n_source->m_rdf_type = RDF_Type::int32_t; + n_source->m_node_type = NodeType::Simple; + n_source->m_address = base + offset; + n_source->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_source); + + field_name = "destination"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_topicagreement_madest, field_name)); + auto n_destination = new NodeSimple; + n_destination->m_field_name = field_name; + n_destination->m_df_type = DF_Type::int32_t; + n_destination->m_rdf_type = RDF_Type::int32_t; + n_destination->m_node_type = NodeType::Simple; + n_destination->m_address = base + offset; + n_destination->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_destination); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_topicagreement_madest, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + +} +void node_from_history_event_war_peace_acceptedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "topic"; + auto n_topic = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_peace_acceptedst, field_name)); + n_topic->m_field_name = field_name; + n_topic->m_df_type = DF_Type::meeting_topic; + n_topic->m_rdf_type = RDF_Type::Enum; + n_topic->m_node_type = NodeType::Enum; + n_topic->m_base_type = DF_Type::int16_t; + n_topic->m_enum_type = "meeting_topic"; + n_topic->m_address = base + offset; + n_topic->m_defined_in = "df.meeting.xml"; + n_topic->m_first_value = 0; + n_topic->m_last_value = 9; + n_topic->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_topic); + + field_name = "source"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_peace_acceptedst, field_name)); + auto n_source = new NodeSimple; + n_source->m_field_name = field_name; + n_source->m_df_type = DF_Type::int32_t; + n_source->m_rdf_type = RDF_Type::int32_t; + n_source->m_node_type = NodeType::Simple; + n_source->m_address = base + offset; + n_source->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_source); + + field_name = "destination"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_peace_acceptedst, field_name)); + auto n_destination = new NodeSimple; + n_destination->m_field_name = field_name; + n_destination->m_df_type = DF_Type::int32_t; + n_destination->m_rdf_type = RDF_Type::int32_t; + n_destination->m_node_type = NodeType::Simple; + n_destination->m_address = base + offset; + n_destination->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_destination); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_peace_acceptedst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + +} +void node_from_history_event_war_peace_rejectedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "topic"; + auto n_topic = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_peace_rejectedst, field_name)); + n_topic->m_field_name = field_name; + n_topic->m_df_type = DF_Type::meeting_topic; + n_topic->m_rdf_type = RDF_Type::Enum; + n_topic->m_node_type = NodeType::Enum; + n_topic->m_base_type = DF_Type::int16_t; + n_topic->m_enum_type = "meeting_topic"; + n_topic->m_address = base + offset; + n_topic->m_defined_in = "df.meeting.xml"; + n_topic->m_first_value = 0; + n_topic->m_last_value = 9; + n_topic->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_topic); + + field_name = "source"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_peace_rejectedst, field_name)); + auto n_source = new NodeSimple; + n_source->m_field_name = field_name; + n_source->m_df_type = DF_Type::int32_t; + n_source->m_rdf_type = RDF_Type::int32_t; + n_source->m_node_type = NodeType::Simple; + n_source->m_address = base + offset; + n_source->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_source); + + field_name = "destination"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_peace_rejectedst, field_name)); + auto n_destination = new NodeSimple; + n_destination->m_field_name = field_name; + n_destination->m_df_type = DF_Type::int32_t; + n_destination->m_rdf_type = RDF_Type::int32_t; + n_destination->m_node_type = NodeType::Simple; + n_destination->m_address = base + offset; + n_destination->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_destination); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_peace_rejectedst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + +} +void node_from_history_event_artifact_possessedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "artifact"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_possessedst, field_name)); + auto n_artifact = new NodeSimple; + n_artifact->m_field_name = field_name; + n_artifact->m_df_type = DF_Type::int32_t; + n_artifact->m_rdf_type = RDF_Type::int32_t; + n_artifact->m_node_type = NodeType::Simple; + n_artifact->m_address = base + offset; + n_artifact->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_artifact); + + field_name = "unit"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_possessedst, field_name)); + auto n_unit = new NodeSimple; + n_unit->m_field_name = field_name; + n_unit->m_df_type = DF_Type::int32_t; + n_unit->m_rdf_type = RDF_Type::int32_t; + n_unit->m_node_type = NodeType::Simple; + n_unit->m_address = base + offset; + n_unit->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unit); + + field_name = "histfig"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_possessedst, field_name)); + auto n_histfig = new NodeSimple; + n_histfig->m_field_name = field_name; + n_histfig->m_df_type = DF_Type::int32_t; + n_histfig->m_rdf_type = RDF_Type::int32_t; + n_histfig->m_node_type = NodeType::Simple; + n_histfig->m_address = base + offset; + n_histfig->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_possessedst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_possessedst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_possessedst, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "circumstance"; + auto n_circumstance = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_possessedst, field_name)); + n_circumstance->m_field_name = field_name; + n_circumstance->m_df_type = DF_Type::unit_thought_type; + n_circumstance->m_rdf_type = RDF_Type::Enum; + n_circumstance->m_node_type = NodeType::Enum; + n_circumstance->m_base_type = DF_Type::int32_t; + n_circumstance->m_enum_type = "unit_thought_type"; + n_circumstance->m_address = base + offset; + n_circumstance->m_defined_in = "df.unit-thoughts.xml"; + n_circumstance->m_first_value = -1; + n_circumstance->m_last_value = 242; + n_circumstance->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_circumstance); + + field_name = "circumstance_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_possessedst, field_name)); + auto n_circumstance_id = new NodeSimple; + n_circumstance_id->m_field_name = field_name; + n_circumstance_id->m_df_type = DF_Type::int32_t; + n_circumstance_id->m_rdf_type = RDF_Type::int32_t; + n_circumstance_id->m_node_type = NodeType::Simple; + n_circumstance_id->m_address = base + offset; + n_circumstance_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_circumstance_id); + + field_name = "reason"; + auto n_reason = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_possessedst, field_name)); + n_reason->m_field_name = field_name; + n_reason->m_df_type = DF_Type::history_event_reason; + n_reason->m_rdf_type = RDF_Type::Enum; + n_reason->m_node_type = NodeType::Enum; + n_reason->m_base_type = DF_Type::int32_t; + n_reason->m_enum_type = "history_event_reason"; + n_reason->m_address = base + offset; + n_reason->m_defined_in = "df.history.xml"; + n_reason->m_first_value = -1; + n_reason->m_last_value = 77; + n_reason->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_reason); + + field_name = "reason_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_possessedst, field_name)); + auto n_reason_id = new NodeSimple; + n_reason_id->m_field_name = field_name; + n_reason_id->m_df_type = DF_Type::int32_t; + n_reason_id->m_rdf_type = RDF_Type::int32_t; + n_reason_id->m_node_type = NodeType::Simple; + n_reason_id->m_address = base + offset; + n_reason_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_reason_id); + +} +void node_from_history_event_entity_actionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "entity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_entity_actionst, field_name)); + auto n_entity = new NodeSimple; + n_entity->m_field_name = field_name; + n_entity->m_df_type = DF_Type::int32_t; + n_entity->m_rdf_type = RDF_Type::int32_t; + n_entity->m_node_type = NodeType::Simple; + n_entity->m_address = base + offset; + n_entity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_entity_actionst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "structure"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_entity_actionst, field_name)); + auto n_structure = new NodeSimple; + n_structure->m_field_name = field_name; + n_structure->m_df_type = DF_Type::int32_t; + n_structure->m_rdf_type = RDF_Type::int32_t; + n_structure->m_node_type = NodeType::Simple; + n_structure->m_address = base + offset; + n_structure->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_structure); + + field_name = "action"; + auto n_action = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_entity_actionst, field_name)); + n_action->m_field_name = field_name; + n_action->m_df_type = DF_Type::entity_action_type; + n_action->m_rdf_type = RDF_Type::Enum; + n_action->m_node_type = NodeType::Enum; + n_action->m_base_type = DF_Type::int32_t; + n_action->m_enum_type = "entity_action_type"; + n_action->m_address = base + offset; + n_action->m_defined_in = "df.history.xml"; + n_action->m_first_value = 0; + n_action->m_last_value = 1; + n_action->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_action); + +} +void node_from_history_event_add_hf_site_linkst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_add_hf_site_linkst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "structure"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_add_hf_site_linkst, field_name)); + auto n_structure = new NodeSimple; + n_structure->m_field_name = field_name; + n_structure->m_df_type = DF_Type::int32_t; + n_structure->m_rdf_type = RDF_Type::int32_t; + n_structure->m_node_type = NodeType::Simple; + n_structure->m_address = base + offset; + n_structure->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_structure); + + field_name = "histfig"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_add_hf_site_linkst, field_name)); + auto n_histfig = new NodeSimple; + n_histfig->m_field_name = field_name; + n_histfig->m_df_type = DF_Type::int32_t; + n_histfig->m_rdf_type = RDF_Type::int32_t; + n_histfig->m_node_type = NodeType::Simple; + n_histfig->m_address = base + offset; + n_histfig->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig); + + field_name = "civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_add_hf_site_linkst, field_name)); + auto n_civ = new NodeSimple; + n_civ->m_field_name = field_name; + n_civ->m_df_type = DF_Type::int32_t; + n_civ->m_rdf_type = RDF_Type::int32_t; + n_civ->m_node_type = NodeType::Simple; + n_civ->m_address = base + offset; + n_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_civ); + + field_name = "type"; + auto n_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_add_hf_site_linkst, field_name)); + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::histfig_site_link_type; + n_type->m_rdf_type = RDF_Type::Enum; + n_type->m_node_type = NodeType::Enum; + n_type->m_base_type = DF_Type::int32_t; + n_type->m_enum_type = "histfig_site_link_type"; + n_type->m_address = base + offset; + n_type->m_defined_in = "df.refs.xml"; + n_type->m_first_value = 0; + n_type->m_last_value = 7; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + +} +void node_from_history_event_remove_hf_site_linkst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_remove_hf_site_linkst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "structure"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_remove_hf_site_linkst, field_name)); + auto n_structure = new NodeSimple; + n_structure->m_field_name = field_name; + n_structure->m_df_type = DF_Type::int32_t; + n_structure->m_rdf_type = RDF_Type::int32_t; + n_structure->m_node_type = NodeType::Simple; + n_structure->m_address = base + offset; + n_structure->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_structure); + + field_name = "histfig"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_remove_hf_site_linkst, field_name)); + auto n_histfig = new NodeSimple; + n_histfig->m_field_name = field_name; + n_histfig->m_df_type = DF_Type::int32_t; + n_histfig->m_rdf_type = RDF_Type::int32_t; + n_histfig->m_node_type = NodeType::Simple; + n_histfig->m_address = base + offset; + n_histfig->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig); + + field_name = "civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_remove_hf_site_linkst, field_name)); + auto n_civ = new NodeSimple; + n_civ->m_field_name = field_name; + n_civ->m_df_type = DF_Type::int32_t; + n_civ->m_rdf_type = RDF_Type::int32_t; + n_civ->m_node_type = NodeType::Simple; + n_civ->m_address = base + offset; + n_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_civ); + + field_name = "type"; + auto n_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_remove_hf_site_linkst, field_name)); + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::histfig_site_link_type; + n_type->m_rdf_type = RDF_Type::Enum; + n_type->m_node_type = NodeType::Enum; + n_type->m_base_type = DF_Type::int32_t; + n_type->m_enum_type = "histfig_site_link_type"; + n_type->m_address = base + offset; + n_type->m_defined_in = "df.refs.xml"; + n_type->m_first_value = 0; + n_type->m_last_value = 7; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + +} +void node_from_history_event_add_hf_hf_linkst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "hf"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_add_hf_hf_linkst, field_name)); + auto n_hf = new NodeSimple; + n_hf->m_field_name = field_name; + n_hf->m_df_type = DF_Type::int32_t; + n_hf->m_rdf_type = RDF_Type::int32_t; + n_hf->m_node_type = NodeType::Simple; + n_hf->m_address = base + offset; + n_hf->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_hf); + + field_name = "hf_target"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_add_hf_hf_linkst, field_name)); + auto n_hf_target = new NodeSimple; + n_hf_target->m_field_name = field_name; + n_hf_target->m_df_type = DF_Type::int32_t; + n_hf_target->m_rdf_type = RDF_Type::int32_t; + n_hf_target->m_node_type = NodeType::Simple; + n_hf_target->m_address = base + offset; + n_hf_target->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_hf_target); + + field_name = "type"; + auto n_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_add_hf_hf_linkst, field_name)); + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::histfig_hf_link_type; + n_type->m_rdf_type = RDF_Type::Enum; + n_type->m_node_type = NodeType::Enum; + n_type->m_base_type = DF_Type::int32_t; + n_type->m_enum_type = "histfig_hf_link_type"; + n_type->m_address = base + offset; + n_type->m_defined_in = "df.refs.xml"; + n_type->m_first_value = 0; + n_type->m_last_value = 13; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + +} +void node_from_history_event_remove_hf_hf_linkst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "hf"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_remove_hf_hf_linkst, field_name)); + auto n_hf = new NodeSimple; + n_hf->m_field_name = field_name; + n_hf->m_df_type = DF_Type::int32_t; + n_hf->m_rdf_type = RDF_Type::int32_t; + n_hf->m_node_type = NodeType::Simple; + n_hf->m_address = base + offset; + n_hf->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_hf); + + field_name = "hf_target"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_remove_hf_hf_linkst, field_name)); + auto n_hf_target = new NodeSimple; + n_hf_target->m_field_name = field_name; + n_hf_target->m_df_type = DF_Type::int32_t; + n_hf_target->m_rdf_type = RDF_Type::int32_t; + n_hf_target->m_node_type = NodeType::Simple; + n_hf_target->m_address = base + offset; + n_hf_target->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_hf_target); + + field_name = "type"; + auto n_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_remove_hf_hf_linkst, field_name)); + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::histfig_hf_link_type; + n_type->m_rdf_type = RDF_Type::Enum; + n_type->m_node_type = NodeType::Enum; + n_type->m_base_type = DF_Type::int32_t; + n_type->m_enum_type = "histfig_hf_link_type"; + n_type->m_address = base + offset; + n_type->m_defined_in = "df.refs.xml"; + n_type->m_first_value = 0; + n_type->m_last_value = 13; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + +} +void node_from_history_event_masterpiece_created_itemst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event_masterpiece_createdst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event_masterpiece_createdst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "skill_used"; + auto n_skill_used = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_itemst, field_name)); + n_skill_used->m_field_name = field_name; + n_skill_used->m_df_type = DF_Type::job_skill; + n_skill_used->m_rdf_type = RDF_Type::Enum; + n_skill_used->m_node_type = NodeType::Enum; + n_skill_used->m_base_type = DF_Type::int32_t; + n_skill_used->m_enum_type = "job_skill"; + n_skill_used->m_address = base + offset; + n_skill_used->m_defined_in = "df.skills.xml"; + n_skill_used->m_first_value = -1; + n_skill_used->m_last_value = 134; + n_skill_used->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_skill_used); + + field_name = "item_type"; + auto n_item_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_itemst, field_name)); + n_item_type->m_field_name = field_name; + n_item_type->m_df_type = DF_Type::item_type; + n_item_type->m_rdf_type = RDF_Type::Enum; + n_item_type->m_node_type = NodeType::Enum; + n_item_type->m_base_type = DF_Type::int16_t; + n_item_type->m_enum_type = "item_type"; + n_item_type->m_address = base + offset; + n_item_type->m_defined_in = "df.item-raws.xml"; + n_item_type->m_first_value = -1; + n_item_type->m_last_value = 90; + n_item_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_type); + + field_name = "item_subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_itemst, field_name)); + auto n_item_subtype = new NodeSimple; + n_item_subtype->m_field_name = field_name; + n_item_subtype->m_df_type = DF_Type::int16_t; + n_item_subtype->m_rdf_type = RDF_Type::int16_t; + n_item_subtype->m_node_type = NodeType::Simple; + n_item_subtype->m_address = base + offset; + n_item_subtype->m_refers_to = "(item-subtype-target $$._parent.item_type $)"; + n_item_subtype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_subtype); + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_itemst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_itemst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int16_t; + n_mat_index->m_rdf_type = RDF_Type::int16_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "item_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_itemst, field_name)); + auto n_item_id = new NodeSimple; + n_item_id->m_field_name = field_name; + n_item_id->m_df_type = DF_Type::int32_t; + n_item_id->m_rdf_type = RDF_Type::int32_t; + n_item_id->m_node_type = NodeType::Simple; + n_item_id->m_address = base + offset; + n_item_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_id); + +} +void node_from_history_event_masterpiece_created_dye_itemst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event_masterpiece_createdst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event_masterpiece_createdst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_dye_itemst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "item_type"; + auto n_item_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_dye_itemst, field_name)); + n_item_type->m_field_name = field_name; + n_item_type->m_df_type = DF_Type::item_type; + n_item_type->m_rdf_type = RDF_Type::Enum; + n_item_type->m_node_type = NodeType::Enum; + n_item_type->m_base_type = DF_Type::int16_t; + n_item_type->m_enum_type = "item_type"; + n_item_type->m_address = base + offset; + n_item_type->m_defined_in = "df.item-raws.xml"; + n_item_type->m_first_value = -1; + n_item_type->m_last_value = 90; + n_item_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_type); + + field_name = "item_subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_dye_itemst, field_name)); + auto n_item_subtype = new NodeSimple; + n_item_subtype->m_field_name = field_name; + n_item_subtype->m_df_type = DF_Type::int16_t; + n_item_subtype->m_rdf_type = RDF_Type::int16_t; + n_item_subtype->m_node_type = NodeType::Simple; + n_item_subtype->m_address = base + offset; + n_item_subtype->m_refers_to = "(item-subtype-target $$._parent.item_type $)"; + n_item_subtype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_subtype); + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_dye_itemst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_dye_itemst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_dye_itemst, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "dye_mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_dye_itemst, field_name)); + auto n_dye_mat_type = new NodeSimple; + n_dye_mat_type->m_field_name = field_name; + n_dye_mat_type->m_df_type = DF_Type::int16_t; + n_dye_mat_type->m_rdf_type = RDF_Type::int16_t; + n_dye_mat_type->m_node_type = NodeType::Simple; + n_dye_mat_type->m_address = base + offset; + n_dye_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dye_mat_type); + + field_name = "dye_mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_dye_itemst, field_name)); + auto n_dye_mat_index = new NodeSimple; + n_dye_mat_index->m_field_name = field_name; + n_dye_mat_index->m_df_type = DF_Type::int32_t; + n_dye_mat_index->m_rdf_type = RDF_Type::int32_t; + n_dye_mat_index->m_node_type = NodeType::Simple; + n_dye_mat_index->m_address = base + offset; + n_dye_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dye_mat_index); + +} +void node_from_history_event_masterpiece_created_item_improvementst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event_masterpiece_createdst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event_masterpiece_createdst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_item_improvementst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "item_type"; + auto n_item_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_item_improvementst, field_name)); + n_item_type->m_field_name = field_name; + n_item_type->m_df_type = DF_Type::item_type; + n_item_type->m_rdf_type = RDF_Type::Enum; + n_item_type->m_node_type = NodeType::Enum; + n_item_type->m_base_type = DF_Type::int16_t; + n_item_type->m_enum_type = "item_type"; + n_item_type->m_address = base + offset; + n_item_type->m_defined_in = "df.item-raws.xml"; + n_item_type->m_first_value = -1; + n_item_type->m_last_value = 90; + n_item_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_type); + + field_name = "item_subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_item_improvementst, field_name)); + auto n_item_subtype = new NodeSimple; + n_item_subtype->m_field_name = field_name; + n_item_subtype->m_df_type = DF_Type::int16_t; + n_item_subtype->m_rdf_type = RDF_Type::int16_t; + n_item_subtype->m_node_type = NodeType::Simple; + n_item_subtype->m_address = base + offset; + n_item_subtype->m_refers_to = "(item-subtype-target $$._parent.item_type $)"; + n_item_subtype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_subtype); + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_item_improvementst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_item_improvementst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_item_improvementst, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "improvement_type"; + auto n_improvement_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_item_improvementst, field_name)); + n_improvement_type->m_field_name = field_name; + n_improvement_type->m_df_type = DF_Type::improvement_type; + n_improvement_type->m_rdf_type = RDF_Type::Enum; + n_improvement_type->m_node_type = NodeType::Enum; + n_improvement_type->m_base_type = DF_Type::int16_t; + n_improvement_type->m_enum_type = "improvement_type"; + n_improvement_type->m_address = base + offset; + n_improvement_type->m_defined_in = "df.itemimprovements.xml"; + n_improvement_type->m_first_value = 0; + n_improvement_type->m_last_value = 12; + n_improvement_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_improvement_type); + + field_name = "improvement_subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_item_improvementst, field_name)); + auto n_improvement_subtype = new NodeSimple; + n_improvement_subtype->m_field_name = field_name; + n_improvement_subtype->m_df_type = DF_Type::int32_t; + n_improvement_subtype->m_rdf_type = RDF_Type::int32_t; + n_improvement_subtype->m_node_type = NodeType::Simple; + n_improvement_subtype->m_address = base + offset; + n_improvement_subtype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_improvement_subtype); + + field_name = "imp_mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_item_improvementst, field_name)); + auto n_imp_mat_type = new NodeSimple; + n_imp_mat_type->m_field_name = field_name; + n_imp_mat_type->m_df_type = DF_Type::int16_t; + n_imp_mat_type->m_rdf_type = RDF_Type::int16_t; + n_imp_mat_type->m_node_type = NodeType::Simple; + n_imp_mat_type->m_address = base + offset; + n_imp_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_imp_mat_type); + + field_name = "imp_mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_item_improvementst, field_name)); + auto n_imp_mat_index = new NodeSimple; + n_imp_mat_index->m_field_name = field_name; + n_imp_mat_index->m_df_type = DF_Type::int32_t; + n_imp_mat_index->m_rdf_type = RDF_Type::int32_t; + n_imp_mat_index->m_node_type = NodeType::Simple; + n_imp_mat_index->m_address = base + offset; + n_imp_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_imp_mat_index); + + field_name = "art_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_item_improvementst, field_name)); + auto n_art_id = new NodeSimple; + n_art_id->m_field_name = field_name; + n_art_id->m_df_type = DF_Type::int32_t; + n_art_id->m_rdf_type = RDF_Type::int32_t; + n_art_id->m_node_type = NodeType::Simple; + n_art_id->m_address = base + offset; + n_art_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_art_id); + + field_name = "art_subid"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_item_improvementst, field_name)); + auto n_art_subid = new NodeSimple; + n_art_subid->m_field_name = field_name; + n_art_subid->m_df_type = DF_Type::int16_t; + n_art_subid->m_rdf_type = RDF_Type::int16_t; + n_art_subid->m_node_type = NodeType::Simple; + n_art_subid->m_address = base + offset; + n_art_subid->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_art_subid); + +} +void node_from_history_event_masterpiece_created_engravingst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event_masterpiece_createdst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event_masterpiece_createdst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "skill_rating"; + auto n_skill_rating = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_engravingst, field_name)); + n_skill_rating->m_field_name = field_name; + n_skill_rating->m_df_type = DF_Type::skill_rating; + n_skill_rating->m_rdf_type = RDF_Type::Enum; + n_skill_rating->m_node_type = NodeType::Enum; + n_skill_rating->m_base_type = DF_Type::int32_t; + n_skill_rating->m_enum_type = "skill_rating"; + n_skill_rating->m_address = base + offset; + n_skill_rating->m_comment = "at the moment of creation"; + n_skill_rating->m_defined_in = "df.units.xml"; + n_skill_rating->m_first_value = 0; + n_skill_rating->m_last_value = 20; + n_skill_rating->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_skill_rating); + + field_name = "art_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_engravingst, field_name)); + auto n_art_id = new NodeSimple; + n_art_id->m_field_name = field_name; + n_art_id->m_df_type = DF_Type::int32_t; + n_art_id->m_rdf_type = RDF_Type::int32_t; + n_art_id->m_node_type = NodeType::Simple; + n_art_id->m_address = base + offset; + n_art_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_art_id); + + field_name = "art_subid"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_created_engravingst, field_name)); + auto n_art_subid = new NodeSimple; + n_art_subid->m_field_name = field_name; + n_art_subid->m_df_type = DF_Type::int16_t; + n_art_subid->m_rdf_type = RDF_Type::int16_t; + n_art_subid->m_node_type = NodeType::Simple; + n_art_subid->m_address = base + offset; + n_art_subid->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_art_subid); + +} +void node_from_history_event_masterpiece_lostst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "creation_event"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_lostst, field_name)); + auto n_creation_event = new NodeSimple; + n_creation_event->m_field_name = field_name; + n_creation_event->m_df_type = DF_Type::int32_t; + n_creation_event->m_rdf_type = RDF_Type::int32_t; + n_creation_event->m_node_type = NodeType::Simple; + n_creation_event->m_address = base + offset; + n_creation_event->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_creation_event); + + field_name = "histfig"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_lostst, field_name)); + auto n_histfig = new NodeSimple; + n_histfig->m_field_name = field_name; + n_histfig->m_df_type = DF_Type::int32_t; + n_histfig->m_rdf_type = RDF_Type::int32_t; + n_histfig->m_node_type = NodeType::Simple; + n_histfig->m_address = base + offset; + n_histfig->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_lostst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "method"; + auto n_method = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_masterpiece_lostst, field_name)); + n_method->m_field_name = field_name; + n_method->m_df_type = DF_Type::masterpiece_loss_type; + n_method->m_rdf_type = RDF_Type::Enum; + n_method->m_node_type = NodeType::Enum; + n_method->m_base_type = DF_Type::int16_t; + n_method->m_enum_type = "masterpiece_loss_type"; + n_method->m_address = base + offset; + n_method->m_defined_in = "df.history.xml"; + n_method->m_first_value = 0; + n_method->m_last_value = 5; + n_method->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_method); + +} +void node_from_history_event_change_hf_statest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "hfid"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_hf_statest, field_name)); + auto n_hfid = new NodeSimple; + n_hfid->m_field_name = field_name; + n_hfid->m_df_type = DF_Type::int32_t; + n_hfid->m_rdf_type = RDF_Type::int32_t; + n_hfid->m_node_type = NodeType::Simple; + n_hfid->m_address = base + offset; + n_hfid->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_hfid); + + field_name = "state"; + auto n_state = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_hf_statest, field_name)); + n_state->m_field_name = field_name; + n_state->m_df_type = DF_Type::history_event_change_hf_statest__T_state; + n_state->m_rdf_type = RDF_Type::Enum; + n_state->m_node_type = NodeType::Enum; + n_state->m_base_type = DF_Type::int16_t; + n_state->m_enum_type = "history_event_change_hf_statest::T_state"; + n_state->m_address = base + offset; + n_state->m_first_value = 0; + n_state->m_last_value = 5; + n_state->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_state); + + field_name = "reason"; + auto n_reason = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_hf_statest, field_name)); + n_reason->m_field_name = field_name; + n_reason->m_df_type = DF_Type::history_event_reason; + n_reason->m_rdf_type = RDF_Type::Enum; + n_reason->m_node_type = NodeType::Enum; + n_reason->m_base_type = DF_Type::int32_t; + n_reason->m_enum_type = "history_event_reason"; + n_reason->m_address = base + offset; + n_reason->m_defined_in = "df.history.xml"; + n_reason->m_first_value = -1; + n_reason->m_last_value = 77; + n_reason->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_reason); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_hf_statest, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "region"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_hf_statest, field_name)); + auto n_region = new NodeSimple; + n_region->m_field_name = field_name; + n_region->m_df_type = DF_Type::int32_t; + n_region->m_rdf_type = RDF_Type::int32_t; + n_region->m_node_type = NodeType::Simple; + n_region->m_address = base + offset; + n_region->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region); + + field_name = "layer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_hf_statest, field_name)); + auto n_layer = new NodeSimple; + n_layer->m_field_name = field_name; + n_layer->m_df_type = DF_Type::int32_t; + n_layer->m_rdf_type = RDF_Type::int32_t; + n_layer->m_node_type = NodeType::Simple; + n_layer->m_address = base + offset; + n_layer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_layer); + + field_name = "region_pos"; + auto n_region_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_hf_statest, field_name)); + n_region_pos->m_field_name = field_name; + n_region_pos->m_df_type = DF_Type::coord2d; + n_region_pos->m_rdf_type = RDF_Type::Struct; + n_region_pos->m_node_type = NodeType::Compound; + n_region_pos->m_address = base + offset; + n_region_pos->m_defined_in = "df.map.xml"; + n_region_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region_pos); + +} +void node_from_history_event_change_hf_jobst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "hfid"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_hf_jobst, field_name)); + auto n_hfid = new NodeSimple; + n_hfid->m_field_name = field_name; + n_hfid->m_df_type = DF_Type::int32_t; + n_hfid->m_rdf_type = RDF_Type::int32_t; + n_hfid->m_node_type = NodeType::Simple; + n_hfid->m_address = base + offset; + n_hfid->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_hfid); + + field_name = "new_job"; + auto n_new_job = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_hf_jobst, field_name)); + n_new_job->m_field_name = field_name; + n_new_job->m_df_type = DF_Type::profession; + n_new_job->m_rdf_type = RDF_Type::Enum; + n_new_job->m_node_type = NodeType::Enum; + n_new_job->m_base_type = DF_Type::int16_t; + n_new_job->m_enum_type = "profession"; + n_new_job->m_address = base + offset; + n_new_job->m_defined_in = "df.skills.xml"; + n_new_job->m_first_value = -1; + n_new_job->m_last_value = 134; + n_new_job->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_new_job); + + field_name = "old_job"; + auto n_old_job = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_hf_jobst, field_name)); + n_old_job->m_field_name = field_name; + n_old_job->m_df_type = DF_Type::profession; + n_old_job->m_rdf_type = RDF_Type::Enum; + n_old_job->m_node_type = NodeType::Enum; + n_old_job->m_base_type = DF_Type::int16_t; + n_old_job->m_enum_type = "profession"; + n_old_job->m_address = base + offset; + n_old_job->m_defined_in = "df.skills.xml"; + n_old_job->m_first_value = -1; + n_old_job->m_last_value = 134; + n_old_job->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_old_job); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_hf_jobst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "region"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_hf_jobst, field_name)); + auto n_region = new NodeSimple; + n_region->m_field_name = field_name; + n_region->m_df_type = DF_Type::int32_t; + n_region->m_rdf_type = RDF_Type::int32_t; + n_region->m_node_type = NodeType::Simple; + n_region->m_address = base + offset; + n_region->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region); + + field_name = "layer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_hf_jobst, field_name)); + auto n_layer = new NodeSimple; + n_layer->m_field_name = field_name; + n_layer->m_df_type = DF_Type::int32_t; + n_layer->m_rdf_type = RDF_Type::int32_t; + n_layer->m_node_type = NodeType::Simple; + n_layer->m_address = base + offset; + n_layer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_layer); + +} +void node_from_history_event_war_field_battlest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "attacker_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_field_battlest, field_name)); + auto n_attacker_civ = new NodeSimple; + n_attacker_civ->m_field_name = field_name; + n_attacker_civ->m_df_type = DF_Type::int32_t; + n_attacker_civ->m_rdf_type = RDF_Type::int32_t; + n_attacker_civ->m_node_type = NodeType::Simple; + n_attacker_civ->m_address = base + offset; + n_attacker_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_attacker_civ); + + field_name = "defender_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_field_battlest, field_name)); + auto n_defender_civ = new NodeSimple; + n_defender_civ->m_field_name = field_name; + n_defender_civ->m_df_type = DF_Type::int32_t; + n_defender_civ->m_rdf_type = RDF_Type::int32_t; + n_defender_civ->m_node_type = NodeType::Simple; + n_defender_civ->m_address = base + offset; + n_defender_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_defender_civ); + + field_name = "region"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_field_battlest, field_name)); + auto n_region = new NodeSimple; + n_region->m_field_name = field_name; + n_region->m_df_type = DF_Type::int32_t; + n_region->m_rdf_type = RDF_Type::int32_t; + n_region->m_node_type = NodeType::Simple; + n_region->m_address = base + offset; + n_region->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region); + + field_name = "layer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_field_battlest, field_name)); + auto n_layer = new NodeSimple; + n_layer->m_field_name = field_name; + n_layer->m_df_type = DF_Type::int32_t; + n_layer->m_rdf_type = RDF_Type::int32_t; + n_layer->m_node_type = NodeType::Simple; + n_layer->m_address = base + offset; + n_layer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_layer); + + field_name = "region_pos"; + auto n_region_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_field_battlest, field_name)); + n_region_pos->m_field_name = field_name; + n_region_pos->m_df_type = DF_Type::coord2d; + n_region_pos->m_rdf_type = RDF_Type::Struct; + n_region_pos->m_node_type = NodeType::Compound; + n_region_pos->m_address = base + offset; + n_region_pos->m_defined_in = "df.map.xml"; + n_region_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region_pos); + + field_name = "attacker_general_hf"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_field_battlest, field_name)); + auto n_attacker_general_hf = new NodeSimple; + n_attacker_general_hf->m_field_name = field_name; + n_attacker_general_hf->m_df_type = DF_Type::int32_t; + n_attacker_general_hf->m_rdf_type = RDF_Type::int32_t; + n_attacker_general_hf->m_node_type = NodeType::Simple; + n_attacker_general_hf->m_address = base + offset; + n_attacker_general_hf->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_attacker_general_hf); + + field_name = "defender_general_hf"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_war_field_battlest, field_name)); + auto n_defender_general_hf = new NodeSimple; + n_defender_general_hf->m_field_name = field_name; + n_defender_general_hf->m_df_type = DF_Type::int32_t; + n_defender_general_hf->m_rdf_type = RDF_Type::int32_t; + n_defender_general_hf->m_node_type = NodeType::Simple; + n_defender_general_hf->m_address = base + offset; + n_defender_general_hf->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_defender_general_hf); + +} +void node_from_history_event_body_abusedst__T_props__T_item(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "item_type"; + auto n_item_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_body_abusedst__T_props__T_item, field_name)); + n_item_type->m_field_name = field_name; + n_item_type->m_df_type = DF_Type::item_type; + n_item_type->m_rdf_type = RDF_Type::Enum; + n_item_type->m_node_type = NodeType::Enum; + n_item_type->m_base_type = DF_Type::int16_t; + n_item_type->m_enum_type = "item_type"; + n_item_type->m_address = base + offset; + n_item_type->m_comment = "always WEAPON?"; + n_item_type->m_defined_in = "df.item-raws.xml"; + n_item_type->m_first_value = -1; + n_item_type->m_last_value = 90; + n_item_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_type); + + field_name = "item_subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_body_abusedst__T_props__T_item, field_name)); + auto n_item_subtype = new NodeSimple; + n_item_subtype->m_field_name = field_name; + n_item_subtype->m_df_type = DF_Type::int32_t; + n_item_subtype->m_rdf_type = RDF_Type::int32_t; + n_item_subtype->m_node_type = NodeType::Simple; + n_item_subtype->m_address = base + offset; + n_item_subtype->m_refers_to = "(item-subtype-target $$._parent.item_type $)"; + n_item_subtype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_subtype); + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_body_abusedst__T_props__T_item, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_body_abusedst__T_props__T_item, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + +} +void node_from_history_event_body_abusedst__T_props__T_hung(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "tree"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_body_abusedst__T_props__T_hung, field_name)); + auto n_tree = new NodeSimple; + n_tree->m_field_name = field_name; + n_tree->m_df_type = DF_Type::int32_t; + n_tree->m_rdf_type = RDF_Type::int32_t; + n_tree->m_node_type = NodeType::Simple; + n_tree->m_address = base + offset; + n_tree->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tree); + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_body_abusedst__T_props__T_hung, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_comment = "rope"; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_body_abusedst__T_props__T_hung, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_comment = "rope"; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + +} +void node_from_history_event_body_abusedst__T_props(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = true) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "item"; + auto n_item = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_body_abusedst__T_props, field_name)); + n_item->m_field_name = field_name; + n_item->m_df_type = DF_Type::history_event_body_abusedst__T_props__T_item; + n_item->m_rdf_type = RDF_Type::Compound; + n_item->m_node_type = NodeType::Compound; + n_item->m_address = base + offset; + n_item->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item); + + field_name = "structure"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_body_abusedst__T_props, field_name)); + auto n_structure = new NodeSimple; + n_structure->m_field_name = field_name; + n_structure->m_df_type = DF_Type::int32_t; + n_structure->m_rdf_type = RDF_Type::int32_t; + n_structure->m_node_type = NodeType::Simple; + n_structure->m_address = base + offset; + n_structure->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_structure); + + field_name = "pile_type"; + auto n_pile_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_body_abusedst__T_props, field_name)); + n_pile_type->m_field_name = field_name; + n_pile_type->m_df_type = DF_Type::history_event_body_abusedst__T_props__T_pile_type; + n_pile_type->m_rdf_type = RDF_Type::Enum; + n_pile_type->m_node_type = NodeType::Enum; + n_pile_type->m_base_type = DF_Type::int32_t; + n_pile_type->m_enum_type = "history_event_body_abusedst::T_props::T_pile_type"; + n_pile_type->m_address = base + offset; + n_pile_type->m_first_value = 0; + n_pile_type->m_last_value = 2; + n_pile_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pile_type); + + field_name = "hung"; + auto n_hung = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_body_abusedst__T_props, field_name)); + n_hung->m_field_name = field_name; + n_hung->m_df_type = DF_Type::history_event_body_abusedst__T_props__T_hung; + n_hung->m_rdf_type = RDF_Type::Compound; + n_hung->m_node_type = NodeType::Compound; + n_hung->m_address = base + offset; + n_hung->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_hung); + +} +void node_from_history_event_body_abusedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "bodies"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_body_abusedst, field_name)); + auto n_bodies = new NodeVector; + n_bodies->m_field_name = field_name; + n_bodies->m_df_type = DF_Type::int32_t; + n_bodies->m_rdf_type = RDF_Type::Vector; + n_bodies->m_node_type = NodeType::Vector; + n_bodies->m_addornements = "v"; + n_bodies->m_address = base + offset; + n_bodies->m_parent = p_node_parent; + n_bodies->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bodies); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_body_abusedst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_body_abusedst, field_name)); + auto n_civ = new NodeSimple; + n_civ->m_field_name = field_name; + n_civ->m_df_type = DF_Type::int32_t; + n_civ->m_rdf_type = RDF_Type::int32_t; + n_civ->m_node_type = NodeType::Simple; + n_civ->m_address = base + offset; + n_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_civ); + + field_name = "histfig"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_body_abusedst, field_name)); + auto n_histfig = new NodeSimple; + n_histfig->m_field_name = field_name; + n_histfig->m_df_type = DF_Type::int32_t; + n_histfig->m_rdf_type = RDF_Type::int32_t; + n_histfig->m_node_type = NodeType::Simple; + n_histfig->m_address = base + offset; + n_histfig->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_body_abusedst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "region"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_body_abusedst, field_name)); + auto n_region = new NodeSimple; + n_region->m_field_name = field_name; + n_region->m_df_type = DF_Type::int32_t; + n_region->m_rdf_type = RDF_Type::int32_t; + n_region->m_node_type = NodeType::Simple; + n_region->m_address = base + offset; + n_region->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region); + + field_name = "layer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_body_abusedst, field_name)); + auto n_layer = new NodeSimple; + n_layer->m_field_name = field_name; + n_layer->m_df_type = DF_Type::int32_t; + n_layer->m_rdf_type = RDF_Type::int32_t; + n_layer->m_node_type = NodeType::Simple; + n_layer->m_address = base + offset; + n_layer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_layer); + + field_name = "region_pos"; + auto n_region_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_body_abusedst, field_name)); + n_region_pos->m_field_name = field_name; + n_region_pos->m_df_type = DF_Type::coord2d; + n_region_pos->m_rdf_type = RDF_Type::Struct; + n_region_pos->m_node_type = NodeType::Compound; + n_region_pos->m_address = base + offset; + n_region_pos->m_defined_in = "df.map.xml"; + n_region_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region_pos); + + field_name = "abuse_type"; + auto n_abuse_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_body_abusedst, field_name)); + n_abuse_type->m_field_name = field_name; + n_abuse_type->m_df_type = DF_Type::history_event_body_abusedst__T_abuse_type; + n_abuse_type->m_rdf_type = RDF_Type::Enum; + n_abuse_type->m_node_type = NodeType::Enum; + n_abuse_type->m_base_type = DF_Type::int16_t; + n_abuse_type->m_enum_type = "history_event_body_abusedst::T_abuse_type"; + n_abuse_type->m_address = base + offset; + n_abuse_type->m_first_value = 0; + n_abuse_type->m_last_value = 5; + n_abuse_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_abuse_type); + + field_name = "props"; + auto n_props = new NodeUnion; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_body_abusedst, field_name)); + n_props->m_field_name = field_name; + n_props->m_df_type = DF_Type::history_event_body_abusedst__T_props; + n_props->m_rdf_type = RDF_Type::Union; + n_props->m_node_type = NodeType::Union; + n_props->m_address = base + offset; + n_props->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_props); + +} +void node_from_history_event_item_stolenst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "item_type"; + auto n_item_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_item_stolenst, field_name)); + n_item_type->m_field_name = field_name; + n_item_type->m_df_type = DF_Type::item_type; + n_item_type->m_rdf_type = RDF_Type::Enum; + n_item_type->m_node_type = NodeType::Enum; + n_item_type->m_base_type = DF_Type::int16_t; + n_item_type->m_enum_type = "item_type"; + n_item_type->m_address = base + offset; + n_item_type->m_defined_in = "df.item-raws.xml"; + n_item_type->m_first_value = -1; + n_item_type->m_last_value = 90; + n_item_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_type); + + field_name = "item_subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_item_stolenst, field_name)); + auto n_item_subtype = new NodeSimple; + n_item_subtype->m_field_name = field_name; + n_item_subtype->m_df_type = DF_Type::int16_t; + n_item_subtype->m_rdf_type = RDF_Type::int16_t; + n_item_subtype->m_node_type = NodeType::Simple; + n_item_subtype->m_address = base + offset; + n_item_subtype->m_refers_to = "(item-subtype-target $$._parent.item_type $)"; + n_item_subtype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_subtype); + + field_name = "mattype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_item_stolenst, field_name)); + auto n_mattype = new NodeSimple; + n_mattype->m_field_name = field_name; + n_mattype->m_df_type = DF_Type::int16_t; + n_mattype->m_rdf_type = RDF_Type::int16_t; + n_mattype->m_node_type = NodeType::Simple; + n_mattype->m_address = base + offset; + n_mattype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mattype); + + field_name = "matindex"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_item_stolenst, field_name)); + auto n_matindex = new NodeSimple; + n_matindex->m_field_name = field_name; + n_matindex->m_df_type = DF_Type::int32_t; + n_matindex->m_rdf_type = RDF_Type::int32_t; + n_matindex->m_node_type = NodeType::Simple; + n_matindex->m_address = base + offset; + n_matindex->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_matindex); + + field_name = "item"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_item_stolenst, field_name)); + auto n_item = new NodeSimple; + n_item->m_field_name = field_name; + n_item->m_df_type = DF_Type::int32_t; + n_item->m_rdf_type = RDF_Type::int32_t; + n_item->m_node_type = NodeType::Simple; + n_item->m_address = base + offset; + n_item->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item); + + field_name = "entity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_item_stolenst, field_name)); + auto n_entity = new NodeSimple; + n_entity->m_field_name = field_name; + n_entity->m_df_type = DF_Type::int32_t; + n_entity->m_rdf_type = RDF_Type::int32_t; + n_entity->m_node_type = NodeType::Simple; + n_entity->m_address = base + offset; + n_entity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity); + + field_name = "histfig"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_item_stolenst, field_name)); + auto n_histfig = new NodeSimple; + n_histfig->m_field_name = field_name; + n_histfig->m_df_type = DF_Type::int32_t; + n_histfig->m_rdf_type = RDF_Type::int32_t; + n_histfig->m_node_type = NodeType::Simple; + n_histfig->m_address = base + offset; + n_histfig->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_item_stolenst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "structure"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_item_stolenst, field_name)); + auto n_structure = new NodeSimple; + n_structure->m_field_name = field_name; + n_structure->m_df_type = DF_Type::int32_t; + n_structure->m_rdf_type = RDF_Type::int32_t; + n_structure->m_node_type = NodeType::Simple; + n_structure->m_address = base + offset; + n_structure->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_structure); + + field_name = "region"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_item_stolenst, field_name)); + auto n_region = new NodeSimple; + n_region->m_field_name = field_name; + n_region->m_df_type = DF_Type::int32_t; + n_region->m_rdf_type = RDF_Type::int32_t; + n_region->m_node_type = NodeType::Simple; + n_region->m_address = base + offset; + n_region->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region); + + field_name = "layer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_item_stolenst, field_name)); + auto n_layer = new NodeSimple; + n_layer->m_field_name = field_name; + n_layer->m_df_type = DF_Type::int32_t; + n_layer->m_rdf_type = RDF_Type::int32_t; + n_layer->m_node_type = NodeType::Simple; + n_layer->m_address = base + offset; + n_layer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_layer); + + field_name = "region_pos"; + auto n_region_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_item_stolenst, field_name)); + n_region_pos->m_field_name = field_name; + n_region_pos->m_df_type = DF_Type::coord2d; + n_region_pos->m_rdf_type = RDF_Type::Struct; + n_region_pos->m_node_type = NodeType::Compound; + n_region_pos->m_address = base + offset; + n_region_pos->m_defined_in = "df.map.xml"; + n_region_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region_pos); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_item_stolenst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "circumstance"; + auto n_circumstance = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_item_stolenst, field_name)); + n_circumstance->m_field_name = field_name; + n_circumstance->m_df_type = DF_Type::unit_thought_type; + n_circumstance->m_rdf_type = RDF_Type::Enum; + n_circumstance->m_node_type = NodeType::Enum; + n_circumstance->m_base_type = DF_Type::int32_t; + n_circumstance->m_enum_type = "unit_thought_type"; + n_circumstance->m_address = base + offset; + n_circumstance->m_defined_in = "df.unit-thoughts.xml"; + n_circumstance->m_first_value = -1; + n_circumstance->m_last_value = 242; + n_circumstance->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_circumstance); + + field_name = "circumstance_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_item_stolenst, field_name)); + auto n_circumstance_id = new NodeSimple; + n_circumstance_id->m_field_name = field_name; + n_circumstance_id->m_df_type = DF_Type::int32_t; + n_circumstance_id->m_rdf_type = RDF_Type::int32_t; + n_circumstance_id->m_node_type = NodeType::Simple; + n_circumstance_id->m_address = base + offset; + n_circumstance_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_circumstance_id); + + field_name = "reason"; + auto n_reason = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_item_stolenst, field_name)); + n_reason->m_field_name = field_name; + n_reason->m_df_type = DF_Type::history_event_reason; + n_reason->m_rdf_type = RDF_Type::Enum; + n_reason->m_node_type = NodeType::Enum; + n_reason->m_base_type = DF_Type::int32_t; + n_reason->m_enum_type = "history_event_reason"; + n_reason->m_address = base + offset; + n_reason->m_defined_in = "df.history.xml"; + n_reason->m_first_value = -1; + n_reason->m_last_value = 77; + n_reason->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_reason); + + field_name = "reason_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_item_stolenst, field_name)); + auto n_reason_id = new NodeSimple; + n_reason_id->m_field_name = field_name; + n_reason_id->m_df_type = DF_Type::int32_t; + n_reason_id->m_rdf_type = RDF_Type::int32_t; + n_reason_id->m_node_type = NodeType::Simple; + n_reason_id->m_address = base + offset; + n_reason_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_reason_id); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_item_stolenst, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + +} +void node_from_history_event_hist_figure_simple_battle_eventst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "group1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_simple_battle_eventst, field_name)); + auto n_group1 = new NodeVector; + n_group1->m_field_name = field_name; + n_group1->m_df_type = DF_Type::int32_t; + n_group1->m_rdf_type = RDF_Type::Vector; + n_group1->m_node_type = NodeType::Vector; + n_group1->m_addornements = "v"; + n_group1->m_address = base + offset; + n_group1->m_parent = p_node_parent; + n_group1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_group1); + + field_name = "group2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_simple_battle_eventst, field_name)); + auto n_group2 = new NodeVector; + n_group2->m_field_name = field_name; + n_group2->m_df_type = DF_Type::int32_t; + n_group2->m_rdf_type = RDF_Type::Vector; + n_group2->m_node_type = NodeType::Vector; + n_group2->m_addornements = "v"; + n_group2->m_address = base + offset; + n_group2->m_parent = p_node_parent; + n_group2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_group2); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_simple_battle_eventst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "region"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_simple_battle_eventst, field_name)); + auto n_region = new NodeSimple; + n_region->m_field_name = field_name; + n_region->m_df_type = DF_Type::int32_t; + n_region->m_rdf_type = RDF_Type::int32_t; + n_region->m_node_type = NodeType::Simple; + n_region->m_address = base + offset; + n_region->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region); + + field_name = "layer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_simple_battle_eventst, field_name)); + auto n_layer = new NodeSimple; + n_layer->m_field_name = field_name; + n_layer->m_df_type = DF_Type::int32_t; + n_layer->m_rdf_type = RDF_Type::int32_t; + n_layer->m_node_type = NodeType::Simple; + n_layer->m_address = base + offset; + n_layer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_layer); + + field_name = "subtype"; + auto n_subtype = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_simple_battle_eventst, field_name)); + n_subtype->m_field_name = field_name; + n_subtype->m_df_type = DF_Type::history_event_simple_battle_subtype; + n_subtype->m_rdf_type = RDF_Type::Enum; + n_subtype->m_node_type = NodeType::Enum; + n_subtype->m_base_type = DF_Type::int16_t; + n_subtype->m_enum_type = "history_event_simple_battle_subtype"; + n_subtype->m_address = base + offset; + n_subtype->m_defined_in = "df.history.xml"; + n_subtype->m_first_value = 0; + n_subtype->m_last_value = 9; + n_subtype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_subtype); + +} +void node_from_history_event_hist_figure_reach_summitst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "group"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_reach_summitst, field_name)); + auto n_group = new NodeVector; + n_group->m_field_name = field_name; + n_group->m_df_type = DF_Type::int32_t; + n_group->m_rdf_type = RDF_Type::Vector; + n_group->m_node_type = NodeType::Vector; + n_group->m_addornements = "v"; + n_group->m_address = base + offset; + n_group->m_parent = p_node_parent; + n_group->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_group); + + field_name = "region"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_reach_summitst, field_name)); + auto n_region = new NodeSimple; + n_region->m_field_name = field_name; + n_region->m_df_type = DF_Type::int32_t; + n_region->m_rdf_type = RDF_Type::int32_t; + n_region->m_node_type = NodeType::Simple; + n_region->m_address = base + offset; + n_region->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region); + + field_name = "layer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_reach_summitst, field_name)); + auto n_layer = new NodeSimple; + n_layer->m_field_name = field_name; + n_layer->m_df_type = DF_Type::int32_t; + n_layer->m_rdf_type = RDF_Type::int32_t; + n_layer->m_node_type = NodeType::Simple; + n_layer->m_address = base + offset; + n_layer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_layer); + + field_name = "region_pos"; + auto n_region_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_reach_summitst, field_name)); + n_region_pos->m_field_name = field_name; + n_region_pos->m_df_type = DF_Type::coord2d; + n_region_pos->m_rdf_type = RDF_Type::Struct; + n_region_pos->m_node_type = NodeType::Compound; + n_region_pos->m_address = base + offset; + n_region_pos->m_defined_in = "df.map.xml"; + n_region_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region_pos); + +} +void node_from_history_event_hist_figure_travelst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "group"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_travelst, field_name)); + auto n_group = new NodeVector; + n_group->m_field_name = field_name; + n_group->m_df_type = DF_Type::int32_t; + n_group->m_rdf_type = RDF_Type::Vector; + n_group->m_node_type = NodeType::Vector; + n_group->m_addornements = "v"; + n_group->m_address = base + offset; + n_group->m_parent = p_node_parent; + n_group->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_group); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_travelst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "region"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_travelst, field_name)); + auto n_region = new NodeSimple; + n_region->m_field_name = field_name; + n_region->m_df_type = DF_Type::int32_t; + n_region->m_rdf_type = RDF_Type::int32_t; + n_region->m_node_type = NodeType::Simple; + n_region->m_address = base + offset; + n_region->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region); + + field_name = "layer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_travelst, field_name)); + auto n_layer = new NodeSimple; + n_layer->m_field_name = field_name; + n_layer->m_df_type = DF_Type::int32_t; + n_layer->m_rdf_type = RDF_Type::int32_t; + n_layer->m_node_type = NodeType::Simple; + n_layer->m_address = base + offset; + n_layer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_layer); + + field_name = "reason"; + auto n_reason = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_travelst, field_name)); + n_reason->m_field_name = field_name; + n_reason->m_df_type = DF_Type::history_event_hist_figure_travelst__T_reason; + n_reason->m_rdf_type = RDF_Type::Enum; + n_reason->m_node_type = NodeType::Enum; + n_reason->m_base_type = DF_Type::int32_t; + n_reason->m_enum_type = "history_event_hist_figure_travelst::T_reason"; + n_reason->m_address = base + offset; + n_reason->m_first_value = 0; + n_reason->m_last_value = 2; + n_reason->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_reason); + + field_name = "region_pos"; + auto n_region_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_travelst, field_name)); + n_region_pos->m_field_name = field_name; + n_region_pos->m_df_type = DF_Type::coord2d; + n_region_pos->m_rdf_type = RDF_Type::Struct; + n_region_pos->m_node_type = NodeType::Compound; + n_region_pos->m_address = base + offset; + n_region_pos->m_defined_in = "df.map.xml"; + n_region_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region_pos); + +} +void node_from_history_event_hist_figure_new_petst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "group"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_new_petst, field_name)); + auto n_group = new NodeVector; + n_group->m_field_name = field_name; + n_group->m_df_type = DF_Type::int32_t; + n_group->m_rdf_type = RDF_Type::Vector; + n_group->m_node_type = NodeType::Vector; + n_group->m_addornements = "v"; + n_group->m_address = base + offset; + n_group->m_parent = p_node_parent; + n_group->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_group); + + field_name = "pets"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_new_petst, field_name)); + auto n_pets = new NodeVector; + n_pets->m_field_name = field_name; + n_pets->m_df_type = DF_Type::int16_t; + n_pets->m_rdf_type = RDF_Type::Vector; + n_pets->m_node_type = NodeType::Vector; + n_pets->m_addornements = "v"; + n_pets->m_address = base + offset; + n_pets->m_parent = p_node_parent; + n_pets->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_pets); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_new_petst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "region"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_new_petst, field_name)); + auto n_region = new NodeSimple; + n_region->m_field_name = field_name; + n_region->m_df_type = DF_Type::int32_t; + n_region->m_rdf_type = RDF_Type::int32_t; + n_region->m_node_type = NodeType::Simple; + n_region->m_address = base + offset; + n_region->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region); + + field_name = "layer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_new_petst, field_name)); + auto n_layer = new NodeSimple; + n_layer->m_field_name = field_name; + n_layer->m_df_type = DF_Type::int32_t; + n_layer->m_rdf_type = RDF_Type::int32_t; + n_layer->m_node_type = NodeType::Simple; + n_layer->m_address = base + offset; + n_layer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_layer); + + field_name = "region_pos"; + auto n_region_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_new_petst, field_name)); + n_region_pos->m_field_name = field_name; + n_region_pos->m_df_type = DF_Type::coord2d; + n_region_pos->m_rdf_type = RDF_Type::Struct; + n_region_pos->m_node_type = NodeType::Compound; + n_region_pos->m_address = base + offset; + n_region_pos->m_defined_in = "df.map.xml"; + n_region_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region_pos); + +} +void node_from_history_event_hist_figure_revivedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "histfig"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_revivedst, field_name)); + auto n_histfig = new NodeSimple; + n_histfig->m_field_name = field_name; + n_histfig->m_df_type = DF_Type::int32_t; + n_histfig->m_rdf_type = RDF_Type::int32_t; + n_histfig->m_node_type = NodeType::Simple; + n_histfig->m_address = base + offset; + n_histfig->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_revivedst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "region"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_revivedst, field_name)); + auto n_region = new NodeSimple; + n_region->m_field_name = field_name; + n_region->m_df_type = DF_Type::int32_t; + n_region->m_rdf_type = RDF_Type::int32_t; + n_region->m_node_type = NodeType::Simple; + n_region->m_address = base + offset; + n_region->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region); + + field_name = "layer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_revivedst, field_name)); + auto n_layer = new NodeSimple; + n_layer->m_field_name = field_name; + n_layer->m_df_type = DF_Type::int32_t; + n_layer->m_rdf_type = RDF_Type::int32_t; + n_layer->m_node_type = NodeType::Simple; + n_layer->m_address = base + offset; + n_layer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_layer); + + field_name = "ghost_type"; + auto n_ghost_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_revivedst, field_name)); + n_ghost_type->m_field_name = field_name; + n_ghost_type->m_df_type = DF_Type::ghost_type; + n_ghost_type->m_rdf_type = RDF_Type::Enum; + n_ghost_type->m_node_type = NodeType::Enum; + n_ghost_type->m_base_type = DF_Type::int16_t; + n_ghost_type->m_enum_type = "ghost_type"; + n_ghost_type->m_address = base + offset; + n_ghost_type->m_defined_in = "df.units.xml"; + n_ghost_type->m_first_value = 0; + n_ghost_type->m_last_value = 10; + n_ghost_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ghost_type); + + field_name = "flags2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hist_figure_revivedst, field_name)); + auto n_flags2 = new NodeSimple; + n_flags2->m_field_name = field_name; + n_flags2->m_df_type = DF_Type::int32_t; + n_flags2->m_rdf_type = RDF_Type::int32_t; + n_flags2->m_node_type = NodeType::Simple; + n_flags2->m_address = base + offset; + n_flags2->m_comment = "1:again"; + n_flags2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags2); + +} +void node_from_history_event_change_hf_body_statest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "histfig"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_hf_body_statest, field_name)); + auto n_histfig = new NodeSimple; + n_histfig->m_field_name = field_name; + n_histfig->m_df_type = DF_Type::int32_t; + n_histfig->m_rdf_type = RDF_Type::int32_t; + n_histfig->m_node_type = NodeType::Simple; + n_histfig->m_address = base + offset; + n_histfig->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig); + + field_name = "body_state"; + auto n_body_state = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_hf_body_statest, field_name)); + n_body_state->m_field_name = field_name; + n_body_state->m_df_type = DF_Type::histfig_body_state; + n_body_state->m_rdf_type = RDF_Type::Enum; + n_body_state->m_node_type = NodeType::Enum; + n_body_state->m_base_type = DF_Type::int8_t; + n_body_state->m_enum_type = "histfig_body_state"; + n_body_state->m_address = base + offset; + n_body_state->m_defined_in = "df.history.xml"; + n_body_state->m_first_value = 0; + n_body_state->m_last_value = 6; + n_body_state->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_body_state); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_hf_body_statest, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "structure"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_hf_body_statest, field_name)); + auto n_structure = new NodeSimple; + n_structure->m_field_name = field_name; + n_structure->m_df_type = DF_Type::int32_t; + n_structure->m_rdf_type = RDF_Type::int32_t; + n_structure->m_node_type = NodeType::Simple; + n_structure->m_address = base + offset; + n_structure->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_structure); + + field_name = "region"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_hf_body_statest, field_name)); + auto n_region = new NodeSimple; + n_region->m_field_name = field_name; + n_region->m_df_type = DF_Type::int32_t; + n_region->m_rdf_type = RDF_Type::int32_t; + n_region->m_node_type = NodeType::Simple; + n_region->m_address = base + offset; + n_region->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region); + + field_name = "layer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_hf_body_statest, field_name)); + auto n_layer = new NodeSimple; + n_layer->m_field_name = field_name; + n_layer->m_df_type = DF_Type::int32_t; + n_layer->m_rdf_type = RDF_Type::int32_t; + n_layer->m_node_type = NodeType::Simple; + n_layer->m_address = base + offset; + n_layer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_layer); + + field_name = "region_pos"; + auto n_region_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_hf_body_statest, field_name)); + n_region_pos->m_field_name = field_name; + n_region_pos->m_df_type = DF_Type::coord2d; + n_region_pos->m_rdf_type = RDF_Type::Struct; + n_region_pos->m_node_type = NodeType::Compound; + n_region_pos->m_address = base + offset; + n_region_pos->m_defined_in = "df.map.xml"; + n_region_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region_pos); + +} +void node_from_history_event_hf_confrontedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "target"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_confrontedst, field_name)); + auto n_target = new NodeSimple; + n_target->m_field_name = field_name; + n_target->m_df_type = DF_Type::int32_t; + n_target->m_rdf_type = RDF_Type::int32_t; + n_target->m_node_type = NodeType::Simple; + n_target->m_address = base + offset; + n_target->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_target); + + field_name = "accuser"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_confrontedst, field_name)); + auto n_accuser = new NodeSimple; + n_accuser->m_field_name = field_name; + n_accuser->m_df_type = DF_Type::int32_t; + n_accuser->m_rdf_type = RDF_Type::int32_t; + n_accuser->m_node_type = NodeType::Simple; + n_accuser->m_address = base + offset; + n_accuser->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_accuser); + + field_name = "reasons"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_confrontedst, field_name)); + auto n_reasons = new NodeVector; + n_reasons->m_field_name = field_name; + n_reasons->m_df_type = DF_Type::int32_t; + n_reasons->m_rdf_type = RDF_Type::Vector; + n_reasons->m_node_type = NodeType::Vector; + n_reasons->m_addornements = "v"; + n_reasons->m_address = base + offset; + n_reasons->m_parent = p_node_parent; + n_reasons->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_reasons); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_confrontedst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "region"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_confrontedst, field_name)); + auto n_region = new NodeSimple; + n_region->m_field_name = field_name; + n_region->m_df_type = DF_Type::int32_t; + n_region->m_rdf_type = RDF_Type::int32_t; + n_region->m_node_type = NodeType::Simple; + n_region->m_address = base + offset; + n_region->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region); + + field_name = "layer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_confrontedst, field_name)); + auto n_layer = new NodeSimple; + n_layer->m_field_name = field_name; + n_layer->m_df_type = DF_Type::int32_t; + n_layer->m_rdf_type = RDF_Type::int32_t; + n_layer->m_node_type = NodeType::Simple; + n_layer->m_address = base + offset; + n_layer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_layer); + + field_name = "region_pos"; + auto n_region_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_confrontedst, field_name)); + n_region_pos->m_field_name = field_name; + n_region_pos->m_df_type = DF_Type::coord2d; + n_region_pos->m_rdf_type = RDF_Type::Struct; + n_region_pos->m_node_type = NodeType::Compound; + n_region_pos->m_address = base + offset; + n_region_pos->m_defined_in = "df.map.xml"; + n_region_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region_pos); + +} +void node_from_history_event_hf_gains_secret_goalst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "histfig"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_gains_secret_goalst, field_name)); + auto n_histfig = new NodeSimple; + n_histfig->m_field_name = field_name; + n_histfig->m_df_type = DF_Type::int32_t; + n_histfig->m_rdf_type = RDF_Type::int32_t; + n_histfig->m_node_type = NodeType::Simple; + n_histfig->m_address = base + offset; + n_histfig->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig); + + field_name = "goal"; + auto n_goal = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_gains_secret_goalst, field_name)); + n_goal->m_field_name = field_name; + n_goal->m_df_type = DF_Type::goal_type; + n_goal->m_rdf_type = RDF_Type::Enum; + n_goal->m_node_type = NodeType::Enum; + n_goal->m_base_type = DF_Type::int32_t; + n_goal->m_enum_type = "goal_type"; + n_goal->m_address = base + offset; + n_goal->m_defined_in = "df.units.xml"; + n_goal->m_first_value = 0; + n_goal->m_last_value = 12; + n_goal->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_goal); + +} +void node_from_history_event_site_disputest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "dispute_type"; + auto n_dispute_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_site_disputest, field_name)); + n_dispute_type->m_field_name = field_name; + n_dispute_type->m_df_type = DF_Type::site_dispute_type; + n_dispute_type->m_rdf_type = RDF_Type::Enum; + n_dispute_type->m_node_type = NodeType::Enum; + n_dispute_type->m_base_type = DF_Type::int32_t; + n_dispute_type->m_enum_type = "site_dispute_type"; + n_dispute_type->m_address = base + offset; + n_dispute_type->m_defined_in = "df.history.xml"; + n_dispute_type->m_first_value = 0; + n_dispute_type->m_last_value = 5; + n_dispute_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dispute_type); + + field_name = "entity_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_site_disputest, field_name)); + auto n_entity_1 = new NodeSimple; + n_entity_1->m_field_name = field_name; + n_entity_1->m_df_type = DF_Type::int32_t; + n_entity_1->m_rdf_type = RDF_Type::int32_t; + n_entity_1->m_node_type = NodeType::Simple; + n_entity_1->m_address = base + offset; + n_entity_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity_1); + + field_name = "entity_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_site_disputest, field_name)); + auto n_entity_2 = new NodeSimple; + n_entity_2->m_field_name = field_name; + n_entity_2->m_df_type = DF_Type::int32_t; + n_entity_2->m_rdf_type = RDF_Type::int32_t; + n_entity_2->m_node_type = NodeType::Simple; + n_entity_2->m_address = base + offset; + n_entity_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity_2); + + field_name = "site_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_site_disputest, field_name)); + auto n_site_1 = new NodeSimple; + n_site_1->m_field_name = field_name; + n_site_1->m_df_type = DF_Type::int32_t; + n_site_1->m_rdf_type = RDF_Type::int32_t; + n_site_1->m_node_type = NodeType::Simple; + n_site_1->m_address = base + offset; + n_site_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_1); + + field_name = "site_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_site_disputest, field_name)); + auto n_site_2 = new NodeSimple; + n_site_2->m_field_name = field_name; + n_site_2->m_df_type = DF_Type::int32_t; + n_site_2->m_rdf_type = RDF_Type::int32_t; + n_site_2->m_node_type = NodeType::Simple; + n_site_2->m_address = base + offset; + n_site_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_2); + +} +void node_from_history_event_agreement_concludedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "agreement_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_agreement_concludedst, field_name)); + auto n_agreement_id = new NodeSimple; + n_agreement_id->m_field_name = field_name; + n_agreement_id->m_df_type = DF_Type::int32_t; + n_agreement_id->m_rdf_type = RDF_Type::int32_t; + n_agreement_id->m_node_type = NodeType::Simple; + n_agreement_id->m_address = base + offset; + n_agreement_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_agreement_id); + + field_name = "subject_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_agreement_concludedst, field_name)); + auto n_subject_id = new NodeSimple; + n_subject_id->m_field_name = field_name; + n_subject_id->m_df_type = DF_Type::int32_t; + n_subject_id->m_rdf_type = RDF_Type::int32_t; + n_subject_id->m_node_type = NodeType::Simple; + n_subject_id->m_address = base + offset; + n_subject_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_subject_id); + + field_name = "reason"; + auto n_reason = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_agreement_concludedst, field_name)); + n_reason->m_field_name = field_name; + n_reason->m_df_type = DF_Type::history_event_reason; + n_reason->m_rdf_type = RDF_Type::Enum; + n_reason->m_node_type = NodeType::Enum; + n_reason->m_base_type = DF_Type::int32_t; + n_reason->m_enum_type = "history_event_reason"; + n_reason->m_address = base + offset; + n_reason->m_defined_in = "df.history.xml"; + n_reason->m_first_value = -1; + n_reason->m_last_value = 77; + n_reason->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_reason); + + field_name = "concluder_hf"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_agreement_concludedst, field_name)); + auto n_concluder_hf = new NodeSimple; + n_concluder_hf->m_field_name = field_name; + n_concluder_hf->m_df_type = DF_Type::int32_t; + n_concluder_hf->m_rdf_type = RDF_Type::int32_t; + n_concluder_hf->m_node_type = NodeType::Simple; + n_concluder_hf->m_address = base + offset; + n_concluder_hf->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_concluder_hf); + +} +void node_from_history_event_insurrection_endedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "target_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_insurrection_endedst, field_name)); + auto n_target_civ = new NodeSimple; + n_target_civ->m_field_name = field_name; + n_target_civ->m_df_type = DF_Type::int32_t; + n_target_civ->m_rdf_type = RDF_Type::int32_t; + n_target_civ->m_node_type = NodeType::Simple; + n_target_civ->m_address = base + offset; + n_target_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_target_civ); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_insurrection_endedst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "outcome"; + auto n_outcome = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_insurrection_endedst, field_name)); + n_outcome->m_field_name = field_name; + n_outcome->m_df_type = DF_Type::insurrection_outcome; + n_outcome->m_rdf_type = RDF_Type::Enum; + n_outcome->m_node_type = NodeType::Enum; + n_outcome->m_base_type = DF_Type::int32_t; + n_outcome->m_enum_type = "insurrection_outcome"; + n_outcome->m_address = base + offset; + n_outcome->m_defined_in = "df.history.xml"; + n_outcome->m_first_value = 0; + n_outcome->m_last_value = 2; + n_outcome->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_outcome); + +} +void node_from_history_event_hf_relationship_deniedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "seeker_hf"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_relationship_deniedst, field_name)); + auto n_seeker_hf = new NodeSimple; + n_seeker_hf->m_field_name = field_name; + n_seeker_hf->m_df_type = DF_Type::int32_t; + n_seeker_hf->m_rdf_type = RDF_Type::int32_t; + n_seeker_hf->m_node_type = NodeType::Simple; + n_seeker_hf->m_address = base + offset; + n_seeker_hf->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_seeker_hf); + + field_name = "target_hf"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_relationship_deniedst, field_name)); + auto n_target_hf = new NodeSimple; + n_target_hf->m_field_name = field_name; + n_target_hf->m_df_type = DF_Type::int32_t; + n_target_hf->m_rdf_type = RDF_Type::int32_t; + n_target_hf->m_node_type = NodeType::Simple; + n_target_hf->m_address = base + offset; + n_target_hf->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_target_hf); + + field_name = "type"; + auto n_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_relationship_deniedst, field_name)); + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::unit_relationship_type; + n_type->m_rdf_type = RDF_Type::Enum; + n_type->m_node_type = NodeType::Enum; + n_type->m_base_type = DF_Type::int32_t; + n_type->m_enum_type = "unit_relationship_type"; + n_type->m_address = base + offset; + n_type->m_defined_in = "df.units.xml"; + n_type->m_first_value = -1; + n_type->m_last_value = 47; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + + field_name = "reason"; + auto n_reason = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_relationship_deniedst, field_name)); + n_reason->m_field_name = field_name; + n_reason->m_df_type = DF_Type::history_event_reason; + n_reason->m_rdf_type = RDF_Type::Enum; + n_reason->m_node_type = NodeType::Enum; + n_reason->m_base_type = DF_Type::int32_t; + n_reason->m_enum_type = "history_event_reason"; + n_reason->m_address = base + offset; + n_reason->m_defined_in = "df.history.xml"; + n_reason->m_first_value = -1; + n_reason->m_last_value = 77; + n_reason->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_reason); + + field_name = "reason_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_relationship_deniedst, field_name)); + auto n_reason_id = new NodeSimple; + n_reason_id->m_field_name = field_name; + n_reason_id->m_df_type = DF_Type::int32_t; + n_reason_id->m_rdf_type = RDF_Type::int32_t; + n_reason_id->m_node_type = NodeType::Simple; + n_reason_id->m_address = base + offset; + n_reason_id->m_comment = "the historical figure that the reason describes"; + n_reason_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_reason_id); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_relationship_deniedst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "region"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_relationship_deniedst, field_name)); + auto n_region = new NodeSimple; + n_region->m_field_name = field_name; + n_region->m_df_type = DF_Type::int32_t; + n_region->m_rdf_type = RDF_Type::int32_t; + n_region->m_node_type = NodeType::Simple; + n_region->m_address = base + offset; + n_region->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region); + + field_name = "layer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_relationship_deniedst, field_name)); + auto n_layer = new NodeSimple; + n_layer->m_field_name = field_name; + n_layer->m_df_type = DF_Type::int32_t; + n_layer->m_rdf_type = RDF_Type::int32_t; + n_layer->m_node_type = NodeType::Simple; + n_layer->m_address = base + offset; + n_layer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_layer); + +} +void node_from_history_event_poetic_form_createdst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "histfig"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_poetic_form_createdst, field_name)); + auto n_histfig = new NodeSimple; + n_histfig->m_field_name = field_name; + n_histfig->m_df_type = DF_Type::int32_t; + n_histfig->m_rdf_type = RDF_Type::int32_t; + n_histfig->m_node_type = NodeType::Simple; + n_histfig->m_address = base + offset; + n_histfig->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig); + + field_name = "form"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_poetic_form_createdst, field_name)); + auto n_form = new NodeSimple; + n_form->m_field_name = field_name; + n_form->m_df_type = DF_Type::int32_t; + n_form->m_rdf_type = RDF_Type::int32_t; + n_form->m_node_type = NodeType::Simple; + n_form->m_address = base + offset; + n_form->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_form); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_poetic_form_createdst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "region"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_poetic_form_createdst, field_name)); + auto n_region = new NodeSimple; + n_region->m_field_name = field_name; + n_region->m_df_type = DF_Type::int32_t; + n_region->m_rdf_type = RDF_Type::int32_t; + n_region->m_node_type = NodeType::Simple; + n_region->m_address = base + offset; + n_region->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region); + + field_name = "layer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_poetic_form_createdst, field_name)); + auto n_layer = new NodeSimple; + n_layer->m_field_name = field_name; + n_layer->m_df_type = DF_Type::int32_t; + n_layer->m_rdf_type = RDF_Type::int32_t; + n_layer->m_node_type = NodeType::Simple; + n_layer->m_address = base + offset; + n_layer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_layer); + + field_name = "circumstance"; + auto n_circumstance = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_poetic_form_createdst, field_name)); + n_circumstance->m_field_name = field_name; + n_circumstance->m_df_type = DF_Type::unit_thought_type; + n_circumstance->m_rdf_type = RDF_Type::Enum; + n_circumstance->m_node_type = NodeType::Enum; + n_circumstance->m_base_type = DF_Type::int32_t; + n_circumstance->m_enum_type = "unit_thought_type"; + n_circumstance->m_address = base + offset; + n_circumstance->m_defined_in = "df.unit-thoughts.xml"; + n_circumstance->m_first_value = -1; + n_circumstance->m_last_value = 242; + n_circumstance->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_circumstance); + + field_name = "circumstance_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_poetic_form_createdst, field_name)); + auto n_circumstance_id = new NodeSimple; + n_circumstance_id->m_field_name = field_name; + n_circumstance_id->m_df_type = DF_Type::int32_t; + n_circumstance_id->m_rdf_type = RDF_Type::int32_t; + n_circumstance_id->m_node_type = NodeType::Simple; + n_circumstance_id->m_address = base + offset; + n_circumstance_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_circumstance_id); + + field_name = "reason"; + auto n_reason = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_poetic_form_createdst, field_name)); + n_reason->m_field_name = field_name; + n_reason->m_df_type = DF_Type::history_event_reason; + n_reason->m_rdf_type = RDF_Type::Enum; + n_reason->m_node_type = NodeType::Enum; + n_reason->m_base_type = DF_Type::int32_t; + n_reason->m_enum_type = "history_event_reason"; + n_reason->m_address = base + offset; + n_reason->m_defined_in = "df.history.xml"; + n_reason->m_first_value = -1; + n_reason->m_last_value = 77; + n_reason->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_reason); + + field_name = "reason_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_poetic_form_createdst, field_name)); + auto n_reason_id = new NodeSimple; + n_reason_id->m_field_name = field_name; + n_reason_id->m_df_type = DF_Type::int32_t; + n_reason_id->m_rdf_type = RDF_Type::int32_t; + n_reason_id->m_node_type = NodeType::Simple; + n_reason_id->m_address = base + offset; + n_reason_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_reason_id); + +} +void node_from_history_event_musical_form_createdst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "histfig"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_musical_form_createdst, field_name)); + auto n_histfig = new NodeSimple; + n_histfig->m_field_name = field_name; + n_histfig->m_df_type = DF_Type::int32_t; + n_histfig->m_rdf_type = RDF_Type::int32_t; + n_histfig->m_node_type = NodeType::Simple; + n_histfig->m_address = base + offset; + n_histfig->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig); + + field_name = "form"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_musical_form_createdst, field_name)); + auto n_form = new NodeSimple; + n_form->m_field_name = field_name; + n_form->m_df_type = DF_Type::int32_t; + n_form->m_rdf_type = RDF_Type::int32_t; + n_form->m_node_type = NodeType::Simple; + n_form->m_address = base + offset; + n_form->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_form); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_musical_form_createdst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "region"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_musical_form_createdst, field_name)); + auto n_region = new NodeSimple; + n_region->m_field_name = field_name; + n_region->m_df_type = DF_Type::int32_t; + n_region->m_rdf_type = RDF_Type::int32_t; + n_region->m_node_type = NodeType::Simple; + n_region->m_address = base + offset; + n_region->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region); + + field_name = "layer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_musical_form_createdst, field_name)); + auto n_layer = new NodeSimple; + n_layer->m_field_name = field_name; + n_layer->m_df_type = DF_Type::int32_t; + n_layer->m_rdf_type = RDF_Type::int32_t; + n_layer->m_node_type = NodeType::Simple; + n_layer->m_address = base + offset; + n_layer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_layer); + + field_name = "circumstance"; + auto n_circumstance = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_musical_form_createdst, field_name)); + n_circumstance->m_field_name = field_name; + n_circumstance->m_df_type = DF_Type::unit_thought_type; + n_circumstance->m_rdf_type = RDF_Type::Enum; + n_circumstance->m_node_type = NodeType::Enum; + n_circumstance->m_base_type = DF_Type::int32_t; + n_circumstance->m_enum_type = "unit_thought_type"; + n_circumstance->m_address = base + offset; + n_circumstance->m_defined_in = "df.unit-thoughts.xml"; + n_circumstance->m_first_value = -1; + n_circumstance->m_last_value = 242; + n_circumstance->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_circumstance); + + field_name = "circumstance_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_musical_form_createdst, field_name)); + auto n_circumstance_id = new NodeSimple; + n_circumstance_id->m_field_name = field_name; + n_circumstance_id->m_df_type = DF_Type::int32_t; + n_circumstance_id->m_rdf_type = RDF_Type::int32_t; + n_circumstance_id->m_node_type = NodeType::Simple; + n_circumstance_id->m_address = base + offset; + n_circumstance_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_circumstance_id); + + field_name = "reason"; + auto n_reason = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_musical_form_createdst, field_name)); + n_reason->m_field_name = field_name; + n_reason->m_df_type = DF_Type::history_event_reason; + n_reason->m_rdf_type = RDF_Type::Enum; + n_reason->m_node_type = NodeType::Enum; + n_reason->m_base_type = DF_Type::int32_t; + n_reason->m_enum_type = "history_event_reason"; + n_reason->m_address = base + offset; + n_reason->m_defined_in = "df.history.xml"; + n_reason->m_first_value = -1; + n_reason->m_last_value = 77; + n_reason->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_reason); + + field_name = "reason_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_musical_form_createdst, field_name)); + auto n_reason_id = new NodeSimple; + n_reason_id->m_field_name = field_name; + n_reason_id->m_df_type = DF_Type::int32_t; + n_reason_id->m_rdf_type = RDF_Type::int32_t; + n_reason_id->m_node_type = NodeType::Simple; + n_reason_id->m_address = base + offset; + n_reason_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_reason_id); + +} +void node_from_history_event_dance_form_createdst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "histfig"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_dance_form_createdst, field_name)); + auto n_histfig = new NodeSimple; + n_histfig->m_field_name = field_name; + n_histfig->m_df_type = DF_Type::int32_t; + n_histfig->m_rdf_type = RDF_Type::int32_t; + n_histfig->m_node_type = NodeType::Simple; + n_histfig->m_address = base + offset; + n_histfig->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig); + + field_name = "form"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_dance_form_createdst, field_name)); + auto n_form = new NodeSimple; + n_form->m_field_name = field_name; + n_form->m_df_type = DF_Type::int32_t; + n_form->m_rdf_type = RDF_Type::int32_t; + n_form->m_node_type = NodeType::Simple; + n_form->m_address = base + offset; + n_form->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_form); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_dance_form_createdst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "region"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_dance_form_createdst, field_name)); + auto n_region = new NodeSimple; + n_region->m_field_name = field_name; + n_region->m_df_type = DF_Type::int32_t; + n_region->m_rdf_type = RDF_Type::int32_t; + n_region->m_node_type = NodeType::Simple; + n_region->m_address = base + offset; + n_region->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region); + + field_name = "layer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_dance_form_createdst, field_name)); + auto n_layer = new NodeSimple; + n_layer->m_field_name = field_name; + n_layer->m_df_type = DF_Type::int32_t; + n_layer->m_rdf_type = RDF_Type::int32_t; + n_layer->m_node_type = NodeType::Simple; + n_layer->m_address = base + offset; + n_layer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_layer); + + field_name = "circumstance"; + auto n_circumstance = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_dance_form_createdst, field_name)); + n_circumstance->m_field_name = field_name; + n_circumstance->m_df_type = DF_Type::unit_thought_type; + n_circumstance->m_rdf_type = RDF_Type::Enum; + n_circumstance->m_node_type = NodeType::Enum; + n_circumstance->m_base_type = DF_Type::int32_t; + n_circumstance->m_enum_type = "unit_thought_type"; + n_circumstance->m_address = base + offset; + n_circumstance->m_defined_in = "df.unit-thoughts.xml"; + n_circumstance->m_first_value = -1; + n_circumstance->m_last_value = 242; + n_circumstance->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_circumstance); + + field_name = "circumstance_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_dance_form_createdst, field_name)); + auto n_circumstance_id = new NodeSimple; + n_circumstance_id->m_field_name = field_name; + n_circumstance_id->m_df_type = DF_Type::int32_t; + n_circumstance_id->m_rdf_type = RDF_Type::int32_t; + n_circumstance_id->m_node_type = NodeType::Simple; + n_circumstance_id->m_address = base + offset; + n_circumstance_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_circumstance_id); + + field_name = "reason"; + auto n_reason = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_dance_form_createdst, field_name)); + n_reason->m_field_name = field_name; + n_reason->m_df_type = DF_Type::history_event_reason; + n_reason->m_rdf_type = RDF_Type::Enum; + n_reason->m_node_type = NodeType::Enum; + n_reason->m_base_type = DF_Type::int32_t; + n_reason->m_enum_type = "history_event_reason"; + n_reason->m_address = base + offset; + n_reason->m_defined_in = "df.history.xml"; + n_reason->m_first_value = -1; + n_reason->m_last_value = 77; + n_reason->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_reason); + + field_name = "reason_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_dance_form_createdst, field_name)); + auto n_reason_id = new NodeSimple; + n_reason_id->m_field_name = field_name; + n_reason_id->m_df_type = DF_Type::int32_t; + n_reason_id->m_rdf_type = RDF_Type::int32_t; + n_reason_id->m_node_type = NodeType::Simple; + n_reason_id->m_address = base + offset; + n_reason_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_reason_id); + +} +void node_from_history_event_written_content_composedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "histfig"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_written_content_composedst, field_name)); + auto n_histfig = new NodeSimple; + n_histfig->m_field_name = field_name; + n_histfig->m_df_type = DF_Type::int32_t; + n_histfig->m_rdf_type = RDF_Type::int32_t; + n_histfig->m_node_type = NodeType::Simple; + n_histfig->m_address = base + offset; + n_histfig->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig); + + field_name = "content"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_written_content_composedst, field_name)); + auto n_content = new NodeSimple; + n_content->m_field_name = field_name; + n_content->m_df_type = DF_Type::int32_t; + n_content->m_rdf_type = RDF_Type::int32_t; + n_content->m_node_type = NodeType::Simple; + n_content->m_address = base + offset; + n_content->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_content); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_written_content_composedst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "region"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_written_content_composedst, field_name)); + auto n_region = new NodeSimple; + n_region->m_field_name = field_name; + n_region->m_df_type = DF_Type::int32_t; + n_region->m_rdf_type = RDF_Type::int32_t; + n_region->m_node_type = NodeType::Simple; + n_region->m_address = base + offset; + n_region->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region); + + field_name = "layer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_written_content_composedst, field_name)); + auto n_layer = new NodeSimple; + n_layer->m_field_name = field_name; + n_layer->m_df_type = DF_Type::int32_t; + n_layer->m_rdf_type = RDF_Type::int32_t; + n_layer->m_node_type = NodeType::Simple; + n_layer->m_address = base + offset; + n_layer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_layer); + + field_name = "circumstance"; + auto n_circumstance = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_written_content_composedst, field_name)); + n_circumstance->m_field_name = field_name; + n_circumstance->m_df_type = DF_Type::unit_thought_type; + n_circumstance->m_rdf_type = RDF_Type::Enum; + n_circumstance->m_node_type = NodeType::Enum; + n_circumstance->m_base_type = DF_Type::int32_t; + n_circumstance->m_enum_type = "unit_thought_type"; + n_circumstance->m_address = base + offset; + n_circumstance->m_defined_in = "df.unit-thoughts.xml"; + n_circumstance->m_first_value = -1; + n_circumstance->m_last_value = 242; + n_circumstance->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_circumstance); + + field_name = "circumstance_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_written_content_composedst, field_name)); + auto n_circumstance_id = new NodeSimple; + n_circumstance_id->m_field_name = field_name; + n_circumstance_id->m_df_type = DF_Type::int32_t; + n_circumstance_id->m_rdf_type = RDF_Type::int32_t; + n_circumstance_id->m_node_type = NodeType::Simple; + n_circumstance_id->m_address = base + offset; + n_circumstance_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_circumstance_id); + + field_name = "reason"; + auto n_reason = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_written_content_composedst, field_name)); + n_reason->m_field_name = field_name; + n_reason->m_df_type = DF_Type::history_event_reason; + n_reason->m_rdf_type = RDF_Type::Enum; + n_reason->m_node_type = NodeType::Enum; + n_reason->m_base_type = DF_Type::int32_t; + n_reason->m_enum_type = "history_event_reason"; + n_reason->m_address = base + offset; + n_reason->m_defined_in = "df.history.xml"; + n_reason->m_first_value = -1; + n_reason->m_last_value = 77; + n_reason->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_reason); + + field_name = "reason_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_written_content_composedst, field_name)); + auto n_reason_id = new NodeSimple; + n_reason_id->m_field_name = field_name; + n_reason_id->m_df_type = DF_Type::int32_t; + n_reason_id->m_rdf_type = RDF_Type::int32_t; + n_reason_id->m_node_type = NodeType::Simple; + n_reason_id->m_address = base + offset; + n_reason_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_reason_id); + +} +void node_from_history_event_change_hf_moodst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "histfig"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_hf_moodst, field_name)); + auto n_histfig = new NodeSimple; + n_histfig->m_field_name = field_name; + n_histfig->m_df_type = DF_Type::int32_t; + n_histfig->m_rdf_type = RDF_Type::int32_t; + n_histfig->m_node_type = NodeType::Simple; + n_histfig->m_address = base + offset; + n_histfig->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig); + + field_name = "mood"; + auto n_mood = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_hf_moodst, field_name)); + n_mood->m_field_name = field_name; + n_mood->m_df_type = DF_Type::mood_type; + n_mood->m_rdf_type = RDF_Type::Enum; + n_mood->m_node_type = NodeType::Enum; + n_mood->m_base_type = DF_Type::int16_t; + n_mood->m_enum_type = "mood_type"; + n_mood->m_address = base + offset; + n_mood->m_defined_in = "df.units.xml"; + n_mood->m_first_value = -1; + n_mood->m_last_value = 9; + n_mood->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mood); + + field_name = "reason"; + auto n_reason = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_hf_moodst, field_name)); + n_reason->m_field_name = field_name; + n_reason->m_df_type = DF_Type::history_event_reason; + n_reason->m_rdf_type = RDF_Type::Enum; + n_reason->m_node_type = NodeType::Enum; + n_reason->m_base_type = DF_Type::int32_t; + n_reason->m_enum_type = "history_event_reason"; + n_reason->m_address = base + offset; + n_reason->m_defined_in = "df.history.xml"; + n_reason->m_first_value = -1; + n_reason->m_last_value = 77; + n_reason->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_reason); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_hf_moodst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "region"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_hf_moodst, field_name)); + auto n_region = new NodeSimple; + n_region->m_field_name = field_name; + n_region->m_df_type = DF_Type::int32_t; + n_region->m_rdf_type = RDF_Type::int32_t; + n_region->m_node_type = NodeType::Simple; + n_region->m_address = base + offset; + n_region->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region); + + field_name = "layer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_hf_moodst, field_name)); + auto n_layer = new NodeSimple; + n_layer->m_field_name = field_name; + n_layer->m_df_type = DF_Type::int32_t; + n_layer->m_rdf_type = RDF_Type::int32_t; + n_layer->m_node_type = NodeType::Simple; + n_layer->m_address = base + offset; + n_layer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_layer); + + field_name = "region_pos"; + auto n_region_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_change_hf_moodst, field_name)); + n_region_pos->m_field_name = field_name; + n_region_pos->m_df_type = DF_Type::coord2d; + n_region_pos->m_rdf_type = RDF_Type::Struct; + n_region_pos->m_node_type = NodeType::Compound; + n_region_pos->m_address = base + offset; + n_region_pos->m_defined_in = "df.map.xml"; + n_region_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region_pos); + +} +void node_from_history_event_artifact_claim_formedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "artifact"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_claim_formedst, field_name)); + auto n_artifact = new NodeSimple; + n_artifact->m_field_name = field_name; + n_artifact->m_df_type = DF_Type::int32_t; + n_artifact->m_rdf_type = RDF_Type::int32_t; + n_artifact->m_node_type = NodeType::Simple; + n_artifact->m_address = base + offset; + n_artifact->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_artifact); + + field_name = "histfig"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_claim_formedst, field_name)); + auto n_histfig = new NodeSimple; + n_histfig->m_field_name = field_name; + n_histfig->m_df_type = DF_Type::int32_t; + n_histfig->m_rdf_type = RDF_Type::int32_t; + n_histfig->m_node_type = NodeType::Simple; + n_histfig->m_address = base + offset; + n_histfig->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig); + + field_name = "entity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_claim_formedst, field_name)); + auto n_entity = new NodeSimple; + n_entity->m_field_name = field_name; + n_entity->m_df_type = DF_Type::int32_t; + n_entity->m_rdf_type = RDF_Type::int32_t; + n_entity->m_node_type = NodeType::Simple; + n_entity->m_address = base + offset; + n_entity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity); + + field_name = "position_profile"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_claim_formedst, field_name)); + auto n_position_profile = new NodeSimple; + n_position_profile->m_field_name = field_name; + n_position_profile->m_df_type = DF_Type::int32_t; + n_position_profile->m_rdf_type = RDF_Type::int32_t; + n_position_profile->m_node_type = NodeType::Simple; + n_position_profile->m_address = base + offset; + n_position_profile->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_position_profile); + + field_name = "claim_type"; + auto n_claim_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_claim_formedst, field_name)); + n_claim_type->m_field_name = field_name; + n_claim_type->m_df_type = DF_Type::history_event_artifact_claim_formedst__T_claim_type; + n_claim_type->m_rdf_type = RDF_Type::Enum; + n_claim_type->m_node_type = NodeType::Enum; + n_claim_type->m_base_type = DF_Type::int32_t; + n_claim_type->m_enum_type = "history_event_artifact_claim_formedst::T_claim_type"; + n_claim_type->m_address = base + offset; + n_claim_type->m_first_value = 0; + n_claim_type->m_last_value = 3; + n_claim_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_claim_type); + + field_name = "circumstance"; + auto n_circumstance = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_claim_formedst, field_name)); + n_circumstance->m_field_name = field_name; + n_circumstance->m_df_type = DF_Type::unit_thought_type; + n_circumstance->m_rdf_type = RDF_Type::Enum; + n_circumstance->m_node_type = NodeType::Enum; + n_circumstance->m_base_type = DF_Type::int32_t; + n_circumstance->m_enum_type = "unit_thought_type"; + n_circumstance->m_address = base + offset; + n_circumstance->m_defined_in = "df.unit-thoughts.xml"; + n_circumstance->m_first_value = -1; + n_circumstance->m_last_value = 242; + n_circumstance->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_circumstance); + + field_name = "circumstance_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_claim_formedst, field_name)); + auto n_circumstance_id = new NodeSimple; + n_circumstance_id->m_field_name = field_name; + n_circumstance_id->m_df_type = DF_Type::int32_t; + n_circumstance_id->m_rdf_type = RDF_Type::int32_t; + n_circumstance_id->m_node_type = NodeType::Simple; + n_circumstance_id->m_address = base + offset; + n_circumstance_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_circumstance_id); + + field_name = "reason"; + auto n_reason = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_claim_formedst, field_name)); + n_reason->m_field_name = field_name; + n_reason->m_df_type = DF_Type::history_event_reason; + n_reason->m_rdf_type = RDF_Type::Enum; + n_reason->m_node_type = NodeType::Enum; + n_reason->m_base_type = DF_Type::int32_t; + n_reason->m_enum_type = "history_event_reason"; + n_reason->m_address = base + offset; + n_reason->m_defined_in = "df.history.xml"; + n_reason->m_first_value = -1; + n_reason->m_last_value = 77; + n_reason->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_reason); + + field_name = "reason_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_claim_formedst, field_name)); + auto n_reason_id = new NodeSimple; + n_reason_id->m_field_name = field_name; + n_reason_id->m_df_type = DF_Type::int32_t; + n_reason_id->m_rdf_type = RDF_Type::int32_t; + n_reason_id->m_node_type = NodeType::Simple; + n_reason_id->m_address = base + offset; + n_reason_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_reason_id); + +} +void node_from_history_event_artifact_givenst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "artifact"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_givenst, field_name)); + auto n_artifact = new NodeSimple; + n_artifact->m_field_name = field_name; + n_artifact->m_df_type = DF_Type::int32_t; + n_artifact->m_rdf_type = RDF_Type::int32_t; + n_artifact->m_node_type = NodeType::Simple; + n_artifact->m_address = base + offset; + n_artifact->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_artifact); + + field_name = "giver_hf"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_givenst, field_name)); + auto n_giver_hf = new NodeSimple; + n_giver_hf->m_field_name = field_name; + n_giver_hf->m_df_type = DF_Type::int32_t; + n_giver_hf->m_rdf_type = RDF_Type::int32_t; + n_giver_hf->m_node_type = NodeType::Simple; + n_giver_hf->m_address = base + offset; + n_giver_hf->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_giver_hf); + + field_name = "giver_entity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_givenst, field_name)); + auto n_giver_entity = new NodeSimple; + n_giver_entity->m_field_name = field_name; + n_giver_entity->m_df_type = DF_Type::int32_t; + n_giver_entity->m_rdf_type = RDF_Type::int32_t; + n_giver_entity->m_node_type = NodeType::Simple; + n_giver_entity->m_address = base + offset; + n_giver_entity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_giver_entity); + + field_name = "receiver_hf"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_givenst, field_name)); + auto n_receiver_hf = new NodeSimple; + n_receiver_hf->m_field_name = field_name; + n_receiver_hf->m_df_type = DF_Type::int32_t; + n_receiver_hf->m_rdf_type = RDF_Type::int32_t; + n_receiver_hf->m_node_type = NodeType::Simple; + n_receiver_hf->m_address = base + offset; + n_receiver_hf->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_receiver_hf); + + field_name = "receiver_entity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_givenst, field_name)); + auto n_receiver_entity = new NodeSimple; + n_receiver_entity->m_field_name = field_name; + n_receiver_entity->m_df_type = DF_Type::int32_t; + n_receiver_entity->m_rdf_type = RDF_Type::int32_t; + n_receiver_entity->m_node_type = NodeType::Simple; + n_receiver_entity->m_address = base + offset; + n_receiver_entity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_receiver_entity); + + field_name = "circumstance"; + auto n_circumstance = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_givenst, field_name)); + n_circumstance->m_field_name = field_name; + n_circumstance->m_df_type = DF_Type::unit_thought_type; + n_circumstance->m_rdf_type = RDF_Type::Enum; + n_circumstance->m_node_type = NodeType::Enum; + n_circumstance->m_base_type = DF_Type::int32_t; + n_circumstance->m_enum_type = "unit_thought_type"; + n_circumstance->m_address = base + offset; + n_circumstance->m_defined_in = "df.unit-thoughts.xml"; + n_circumstance->m_first_value = -1; + n_circumstance->m_last_value = 242; + n_circumstance->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_circumstance); + + field_name = "circumstance_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_givenst, field_name)); + auto n_circumstance_id = new NodeSimple; + n_circumstance_id->m_field_name = field_name; + n_circumstance_id->m_df_type = DF_Type::int32_t; + n_circumstance_id->m_rdf_type = RDF_Type::int32_t; + n_circumstance_id->m_node_type = NodeType::Simple; + n_circumstance_id->m_address = base + offset; + n_circumstance_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_circumstance_id); + + field_name = "reason"; + auto n_reason = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_givenst, field_name)); + n_reason->m_field_name = field_name; + n_reason->m_df_type = DF_Type::history_event_reason; + n_reason->m_rdf_type = RDF_Type::Enum; + n_reason->m_node_type = NodeType::Enum; + n_reason->m_base_type = DF_Type::int32_t; + n_reason->m_enum_type = "history_event_reason"; + n_reason->m_address = base + offset; + n_reason->m_defined_in = "df.history.xml"; + n_reason->m_first_value = -1; + n_reason->m_last_value = 77; + n_reason->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_reason); + + field_name = "reason_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_artifact_givenst, field_name)); + auto n_reason_id = new NodeSimple; + n_reason_id->m_field_name = field_name; + n_reason_id->m_df_type = DF_Type::int32_t; + n_reason_id->m_rdf_type = RDF_Type::int32_t; + n_reason_id->m_node_type = NodeType::Simple; + n_reason_id->m_address = base + offset; + n_reason_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_reason_id); + +} +void node_from_history_event_hf_recruited_unit_type_for_entityst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "entity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_recruited_unit_type_for_entityst, field_name)); + auto n_entity = new NodeSimple; + n_entity->m_field_name = field_name; + n_entity->m_df_type = DF_Type::int32_t; + n_entity->m_rdf_type = RDF_Type::int32_t; + n_entity->m_node_type = NodeType::Simple; + n_entity->m_address = base + offset; + n_entity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity); + + field_name = "histfig"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_recruited_unit_type_for_entityst, field_name)); + auto n_histfig = new NodeSimple; + n_histfig->m_field_name = field_name; + n_histfig->m_df_type = DF_Type::int32_t; + n_histfig->m_rdf_type = RDF_Type::int32_t; + n_histfig->m_node_type = NodeType::Simple; + n_histfig->m_address = base + offset; + n_histfig->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig); + + field_name = "profession"; + auto n_profession = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_recruited_unit_type_for_entityst, field_name)); + n_profession->m_field_name = field_name; + n_profession->m_df_type = DF_Type::profession; + n_profession->m_rdf_type = RDF_Type::Enum; + n_profession->m_node_type = NodeType::Enum; + n_profession->m_base_type = DF_Type::int16_t; + n_profession->m_enum_type = "profession"; + n_profession->m_address = base + offset; + n_profession->m_defined_in = "df.skills.xml"; + n_profession->m_first_value = -1; + n_profession->m_last_value = 134; + n_profession->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_profession); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_recruited_unit_type_for_entityst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "region"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_recruited_unit_type_for_entityst, field_name)); + auto n_region = new NodeSimple; + n_region->m_field_name = field_name; + n_region->m_df_type = DF_Type::int32_t; + n_region->m_rdf_type = RDF_Type::int32_t; + n_region->m_node_type = NodeType::Simple; + n_region->m_address = base + offset; + n_region->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region); + + field_name = "layer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hf_recruited_unit_type_for_entityst, field_name)); + auto n_layer = new NodeSimple; + n_layer->m_field_name = field_name; + n_layer->m_df_type = DF_Type::int32_t; + n_layer->m_rdf_type = RDF_Type::int32_t; + n_layer->m_node_type = NodeType::Simple; + n_layer->m_address = base + offset; + n_layer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_layer); + +} +void node_from_history_event_hfs_formed_reputation_relationshipst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "histfig1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hfs_formed_reputation_relationshipst, field_name)); + auto n_histfig1 = new NodeSimple; + n_histfig1->m_field_name = field_name; + n_histfig1->m_df_type = DF_Type::int32_t; + n_histfig1->m_rdf_type = RDF_Type::int32_t; + n_histfig1->m_node_type = NodeType::Simple; + n_histfig1->m_address = base + offset; + n_histfig1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig1); + + field_name = "identity1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hfs_formed_reputation_relationshipst, field_name)); + auto n_identity1 = new NodeSimple; + n_identity1->m_field_name = field_name; + n_identity1->m_df_type = DF_Type::int32_t; + n_identity1->m_rdf_type = RDF_Type::int32_t; + n_identity1->m_node_type = NodeType::Simple; + n_identity1->m_address = base + offset; + n_identity1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_identity1); + + field_name = "histfig2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hfs_formed_reputation_relationshipst, field_name)); + auto n_histfig2 = new NodeSimple; + n_histfig2->m_field_name = field_name; + n_histfig2->m_df_type = DF_Type::int32_t; + n_histfig2->m_rdf_type = RDF_Type::int32_t; + n_histfig2->m_node_type = NodeType::Simple; + n_histfig2->m_address = base + offset; + n_histfig2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig2); + + field_name = "identity2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hfs_formed_reputation_relationshipst, field_name)); + auto n_identity2 = new NodeSimple; + n_identity2->m_field_name = field_name; + n_identity2->m_df_type = DF_Type::int32_t; + n_identity2->m_rdf_type = RDF_Type::int32_t; + n_identity2->m_node_type = NodeType::Simple; + n_identity2->m_address = base + offset; + n_identity2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_identity2); + + field_name = "rep1"; + auto n_rep1 = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hfs_formed_reputation_relationshipst, field_name)); + n_rep1->m_field_name = field_name; + n_rep1->m_df_type = DF_Type::reputation_type; + n_rep1->m_rdf_type = RDF_Type::Enum; + n_rep1->m_node_type = NodeType::Enum; + n_rep1->m_base_type = DF_Type::int32_t; + n_rep1->m_enum_type = "reputation_type"; + n_rep1->m_address = base + offset; + n_rep1->m_defined_in = "df.history.xml"; + n_rep1->m_first_value = 0; + n_rep1->m_last_value = 31; + n_rep1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rep1); + + field_name = "rep2"; + auto n_rep2 = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hfs_formed_reputation_relationshipst, field_name)); + n_rep2->m_field_name = field_name; + n_rep2->m_df_type = DF_Type::reputation_type; + n_rep2->m_rdf_type = RDF_Type::Enum; + n_rep2->m_node_type = NodeType::Enum; + n_rep2->m_base_type = DF_Type::int32_t; + n_rep2->m_enum_type = "reputation_type"; + n_rep2->m_address = base + offset; + n_rep2->m_defined_in = "df.history.xml"; + n_rep2->m_first_value = 0; + n_rep2->m_last_value = 31; + n_rep2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rep2); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hfs_formed_reputation_relationshipst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "region"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hfs_formed_reputation_relationshipst, field_name)); + auto n_region = new NodeSimple; + n_region->m_field_name = field_name; + n_region->m_df_type = DF_Type::int32_t; + n_region->m_rdf_type = RDF_Type::int32_t; + n_region->m_node_type = NodeType::Simple; + n_region->m_address = base + offset; + n_region->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region); + + field_name = "layer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_hfs_formed_reputation_relationshipst, field_name)); + auto n_layer = new NodeSimple; + n_layer->m_field_name = field_name; + n_layer->m_df_type = DF_Type::int32_t; + n_layer->m_rdf_type = RDF_Type::int32_t; + n_layer->m_node_type = NodeType::Simple; + n_layer->m_address = base + offset; + n_layer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_layer); + +} +void node_from_history_event_tactical_situationst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "a_tactician_hfid"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_tactical_situationst, field_name)); + auto n_a_tactician_hfid = new NodeSimple; + n_a_tactician_hfid->m_field_name = field_name; + n_a_tactician_hfid->m_df_type = DF_Type::int32_t; + n_a_tactician_hfid->m_rdf_type = RDF_Type::int32_t; + n_a_tactician_hfid->m_node_type = NodeType::Simple; + n_a_tactician_hfid->m_address = base + offset; + n_a_tactician_hfid->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_a_tactician_hfid); + + field_name = "d_tactician_hfid"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_tactical_situationst, field_name)); + auto n_d_tactician_hfid = new NodeSimple; + n_d_tactician_hfid->m_field_name = field_name; + n_d_tactician_hfid->m_df_type = DF_Type::int32_t; + n_d_tactician_hfid->m_rdf_type = RDF_Type::int32_t; + n_d_tactician_hfid->m_node_type = NodeType::Simple; + n_d_tactician_hfid->m_address = base + offset; + n_d_tactician_hfid->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_d_tactician_hfid); + + field_name = "a_tactics_roll"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_tactical_situationst, field_name)); + auto n_a_tactics_roll = new NodeSimple; + n_a_tactics_roll->m_field_name = field_name; + n_a_tactics_roll->m_df_type = DF_Type::int32_t; + n_a_tactics_roll->m_rdf_type = RDF_Type::int32_t; + n_a_tactics_roll->m_node_type = NodeType::Simple; + n_a_tactics_roll->m_address = base + offset; + n_a_tactics_roll->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_a_tactics_roll); + + field_name = "d_tactics_roll"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_tactical_situationst, field_name)); + auto n_d_tactics_roll = new NodeSimple; + n_d_tactics_roll->m_field_name = field_name; + n_d_tactics_roll->m_df_type = DF_Type::int32_t; + n_d_tactics_roll->m_rdf_type = RDF_Type::int32_t; + n_d_tactics_roll->m_node_type = NodeType::Simple; + n_d_tactics_roll->m_address = base + offset; + n_d_tactics_roll->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_d_tactics_roll); + + field_name = "situation"; + auto n_situation = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_tactical_situationst, field_name)); + n_situation->m_field_name = field_name; + n_situation->m_df_type = DF_Type::tactical_situation; + n_situation->m_rdf_type = RDF_Type::Enum; + n_situation->m_node_type = NodeType::Enum; + n_situation->m_base_type = DF_Type::int32_t; + n_situation->m_enum_type = "tactical_situation"; + n_situation->m_address = base + offset; + n_situation->m_defined_in = "df.history.xml"; + n_situation->m_first_value = 0; + n_situation->m_last_value = 6; + n_situation->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_situation); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_tactical_situationst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "structure"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_tactical_situationst, field_name)); + auto n_structure = new NodeSimple; + n_structure->m_field_name = field_name; + n_structure->m_df_type = DF_Type::int32_t; + n_structure->m_rdf_type = RDF_Type::int32_t; + n_structure->m_node_type = NodeType::Simple; + n_structure->m_address = base + offset; + n_structure->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_structure); + + field_name = "subregion"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_tactical_situationst, field_name)); + auto n_subregion = new NodeSimple; + n_subregion->m_field_name = field_name; + n_subregion->m_df_type = DF_Type::int32_t; + n_subregion->m_rdf_type = RDF_Type::int32_t; + n_subregion->m_node_type = NodeType::Simple; + n_subregion->m_address = base + offset; + n_subregion->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_subregion); + + field_name = "feature_layer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_tactical_situationst, field_name)); + auto n_feature_layer = new NodeSimple; + n_feature_layer->m_field_name = field_name; + n_feature_layer->m_df_type = DF_Type::int32_t; + n_feature_layer->m_rdf_type = RDF_Type::int32_t; + n_feature_layer->m_node_type = NodeType::Simple; + n_feature_layer->m_address = base + offset; + n_feature_layer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_feature_layer); + + field_name = "tactics_flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_tactical_situationst, field_name)); + auto n_tactics_flags = new NodeBitfield; + n_tactics_flags->m_field_name = field_name; + n_tactics_flags->m_df_type = DF_Type::history_event_tactical_situationst__T_tactics_flags; + n_tactics_flags->m_rdf_type = RDF_Type::Bitfield; + n_tactics_flags->m_node_type = NodeType::Bitfield; + n_tactics_flags->m_address = base + offset; + n_tactics_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tactics_flags); + +} +void node_from_history_event_collection_duelst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event_collection; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event_collection(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "parent_collection"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_duelst, field_name)); + auto n_parent_collection = new NodeSimple; + n_parent_collection->m_field_name = field_name; + n_parent_collection->m_df_type = DF_Type::int32_t; + n_parent_collection->m_rdf_type = RDF_Type::int32_t; + n_parent_collection->m_node_type = NodeType::Simple; + n_parent_collection->m_address = base + offset; + n_parent_collection->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_parent_collection); + + field_name = "region"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_duelst, field_name)); + auto n_region = new NodeSimple; + n_region->m_field_name = field_name; + n_region->m_df_type = DF_Type::int32_t; + n_region->m_rdf_type = RDF_Type::int32_t; + n_region->m_node_type = NodeType::Simple; + n_region->m_address = base + offset; + n_region->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region); + + field_name = "layer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_duelst, field_name)); + auto n_layer = new NodeSimple; + n_layer->m_field_name = field_name; + n_layer->m_df_type = DF_Type::int32_t; + n_layer->m_rdf_type = RDF_Type::int32_t; + n_layer->m_node_type = NodeType::Simple; + n_layer->m_address = base + offset; + n_layer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_layer); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_duelst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "region_pos"; + auto n_region_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_duelst, field_name)); + n_region_pos->m_field_name = field_name; + n_region_pos->m_df_type = DF_Type::coord2d; + n_region_pos->m_rdf_type = RDF_Type::Struct; + n_region_pos->m_node_type = NodeType::Compound; + n_region_pos->m_address = base + offset; + n_region_pos->m_defined_in = "df.map.xml"; + n_region_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region_pos); + + field_name = "attacker_hf"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_duelst, field_name)); + auto n_attacker_hf = new NodeSimple; + n_attacker_hf->m_field_name = field_name; + n_attacker_hf->m_df_type = DF_Type::int32_t; + n_attacker_hf->m_rdf_type = RDF_Type::int32_t; + n_attacker_hf->m_node_type = NodeType::Simple; + n_attacker_hf->m_address = base + offset; + n_attacker_hf->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_attacker_hf); + + field_name = "defender_hf"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_duelst, field_name)); + auto n_defender_hf = new NodeSimple; + n_defender_hf->m_field_name = field_name; + n_defender_hf->m_df_type = DF_Type::int32_t; + n_defender_hf->m_rdf_type = RDF_Type::int32_t; + n_defender_hf->m_node_type = NodeType::Simple; + n_defender_hf->m_address = base + offset; + n_defender_hf->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_defender_hf); + + field_name = "ordinal"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_duelst, field_name)); + auto n_ordinal = new NodeSimple; + n_ordinal->m_field_name = field_name; + n_ordinal->m_df_type = DF_Type::int32_t; + n_ordinal->m_rdf_type = RDF_Type::int32_t; + n_ordinal->m_node_type = NodeType::Simple; + n_ordinal->m_address = base + offset; + n_ordinal->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ordinal); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_duelst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int8_t; + n_anon_1->m_rdf_type = RDF_Type::int8_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_history_event_collection_abductionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event_collection; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event_collection(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "parent_collection"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_abductionst, field_name)); + auto n_parent_collection = new NodeSimple; + n_parent_collection->m_field_name = field_name; + n_parent_collection->m_df_type = DF_Type::int32_t; + n_parent_collection->m_rdf_type = RDF_Type::int32_t; + n_parent_collection->m_node_type = NodeType::Simple; + n_parent_collection->m_address = base + offset; + n_parent_collection->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_parent_collection); + + field_name = "region"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_abductionst, field_name)); + auto n_region = new NodeSimple; + n_region->m_field_name = field_name; + n_region->m_df_type = DF_Type::int32_t; + n_region->m_rdf_type = RDF_Type::int32_t; + n_region->m_node_type = NodeType::Simple; + n_region->m_address = base + offset; + n_region->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region); + + field_name = "layer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_abductionst, field_name)); + auto n_layer = new NodeSimple; + n_layer->m_field_name = field_name; + n_layer->m_df_type = DF_Type::int32_t; + n_layer->m_rdf_type = RDF_Type::int32_t; + n_layer->m_node_type = NodeType::Simple; + n_layer->m_address = base + offset; + n_layer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_layer); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_abductionst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "region_pos"; + auto n_region_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_abductionst, field_name)); + n_region_pos->m_field_name = field_name; + n_region_pos->m_df_type = DF_Type::coord2d; + n_region_pos->m_rdf_type = RDF_Type::Struct; + n_region_pos->m_node_type = NodeType::Compound; + n_region_pos->m_address = base + offset; + n_region_pos->m_defined_in = "df.map.xml"; + n_region_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region_pos); + + field_name = "attacker_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_abductionst, field_name)); + auto n_attacker_civ = new NodeSimple; + n_attacker_civ->m_field_name = field_name; + n_attacker_civ->m_df_type = DF_Type::int32_t; + n_attacker_civ->m_rdf_type = RDF_Type::int32_t; + n_attacker_civ->m_node_type = NodeType::Simple; + n_attacker_civ->m_address = base + offset; + n_attacker_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_attacker_civ); + + field_name = "defender_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_abductionst, field_name)); + auto n_defender_civ = new NodeSimple; + n_defender_civ->m_field_name = field_name; + n_defender_civ->m_df_type = DF_Type::int32_t; + n_defender_civ->m_rdf_type = RDF_Type::int32_t; + n_defender_civ->m_node_type = NodeType::Simple; + n_defender_civ->m_address = base + offset; + n_defender_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_defender_civ); + + field_name = "snatcher_hf"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_abductionst, field_name)); + auto n_snatcher_hf = new NodeVector; + n_snatcher_hf->m_field_name = field_name; + n_snatcher_hf->m_df_type = DF_Type::int32_t; + n_snatcher_hf->m_rdf_type = RDF_Type::Vector; + n_snatcher_hf->m_node_type = NodeType::Vector; + n_snatcher_hf->m_addornements = "v"; + n_snatcher_hf->m_address = base + offset; + n_snatcher_hf->m_parent = p_node_parent; + n_snatcher_hf->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_snatcher_hf); + + field_name = "victim_hf"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_abductionst, field_name)); + auto n_victim_hf = new NodeVector; + n_victim_hf->m_field_name = field_name; + n_victim_hf->m_df_type = DF_Type::int32_t; + n_victim_hf->m_rdf_type = RDF_Type::Vector; + n_victim_hf->m_node_type = NodeType::Vector; + n_victim_hf->m_addornements = "v"; + n_victim_hf->m_address = base + offset; + n_victim_hf->m_parent = p_node_parent; + n_victim_hf->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_victim_hf); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_abductionst, field_name)); + auto n_anon_1 = new NodeVector; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::Vector; + n_anon_1->m_node_type = NodeType::Vector; + n_anon_1->m_addornements = "v"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "ordinal"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_abductionst, field_name)); + auto n_ordinal = new NodeSimple; + n_ordinal->m_field_name = field_name; + n_ordinal->m_df_type = DF_Type::int32_t; + n_ordinal->m_rdf_type = RDF_Type::int32_t; + n_ordinal->m_node_type = NodeType::Simple; + n_ordinal->m_address = base + offset; + n_ordinal->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ordinal); + +} +void node_from_history_event_collection_theftst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event_collection; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event_collection(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "parent_collection"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_theftst, field_name)); + auto n_parent_collection = new NodeSimple; + n_parent_collection->m_field_name = field_name; + n_parent_collection->m_df_type = DF_Type::int32_t; + n_parent_collection->m_rdf_type = RDF_Type::int32_t; + n_parent_collection->m_node_type = NodeType::Simple; + n_parent_collection->m_address = base + offset; + n_parent_collection->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_parent_collection); + + field_name = "region"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_theftst, field_name)); + auto n_region = new NodeSimple; + n_region->m_field_name = field_name; + n_region->m_df_type = DF_Type::int32_t; + n_region->m_rdf_type = RDF_Type::int32_t; + n_region->m_node_type = NodeType::Simple; + n_region->m_address = base + offset; + n_region->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region); + + field_name = "layer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_theftst, field_name)); + auto n_layer = new NodeSimple; + n_layer->m_field_name = field_name; + n_layer->m_df_type = DF_Type::int32_t; + n_layer->m_rdf_type = RDF_Type::int32_t; + n_layer->m_node_type = NodeType::Simple; + n_layer->m_address = base + offset; + n_layer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_layer); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_theftst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "region_pos"; + auto n_region_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_theftst, field_name)); + n_region_pos->m_field_name = field_name; + n_region_pos->m_df_type = DF_Type::coord2d; + n_region_pos->m_rdf_type = RDF_Type::Struct; + n_region_pos->m_node_type = NodeType::Compound; + n_region_pos->m_address = base + offset; + n_region_pos->m_defined_in = "df.map.xml"; + n_region_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region_pos); + + field_name = "thief_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_theftst, field_name)); + auto n_thief_civ = new NodeSimple; + n_thief_civ->m_field_name = field_name; + n_thief_civ->m_df_type = DF_Type::int32_t; + n_thief_civ->m_rdf_type = RDF_Type::int32_t; + n_thief_civ->m_node_type = NodeType::Simple; + n_thief_civ->m_address = base + offset; + n_thief_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_thief_civ); + + field_name = "victim_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_theftst, field_name)); + auto n_victim_civ = new NodeSimple; + n_victim_civ->m_field_name = field_name; + n_victim_civ->m_df_type = DF_Type::int32_t; + n_victim_civ->m_rdf_type = RDF_Type::int32_t; + n_victim_civ->m_node_type = NodeType::Simple; + n_victim_civ->m_address = base + offset; + n_victim_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_victim_civ); + + field_name = "thief_hf"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_theftst, field_name)); + auto n_thief_hf = new NodeVector; + n_thief_hf->m_field_name = field_name; + n_thief_hf->m_df_type = DF_Type::int32_t; + n_thief_hf->m_rdf_type = RDF_Type::Vector; + n_thief_hf->m_node_type = NodeType::Vector; + n_thief_hf->m_addornements = "v"; + n_thief_hf->m_address = base + offset; + n_thief_hf->m_parent = p_node_parent; + n_thief_hf->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_thief_hf); + + field_name = "stolen_item_types"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_theftst, field_name)); + auto n_stolen_item_types = new NodeVector; + n_stolen_item_types->m_field_name = field_name; + n_stolen_item_types->m_df_type = DF_Type::item_type; + n_stolen_item_types->m_rdf_type = RDF_Type::Vector; + n_stolen_item_types->m_node_type = NodeType::Vector; + n_stolen_item_types->m_enum_base = DF_Type::int16_t; + n_stolen_item_types->m_defined_in = "df.item-raws.xml"; + n_stolen_item_types->m_addornements = "v"; + n_stolen_item_types->m_address = base + offset; + n_stolen_item_types->m_parent = p_node_parent; + n_stolen_item_types->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_stolen_item_types); + + field_name = "stolen_item_subtypes"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_theftst, field_name)); + auto n_stolen_item_subtypes = new NodeVector; + n_stolen_item_subtypes->m_field_name = field_name; + n_stolen_item_subtypes->m_df_type = DF_Type::int16_t; + n_stolen_item_subtypes->m_rdf_type = RDF_Type::Vector; + n_stolen_item_subtypes->m_node_type = NodeType::Vector; + n_stolen_item_subtypes->m_addornements = "v"; + n_stolen_item_subtypes->m_address = base + offset; + n_stolen_item_subtypes->m_parent = p_node_parent; + n_stolen_item_subtypes->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_stolen_item_subtypes); + + field_name = "stolen_mat_types"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_theftst, field_name)); + auto n_stolen_mat_types = new NodeVector; + n_stolen_mat_types->m_field_name = field_name; + n_stolen_mat_types->m_df_type = DF_Type::int16_t; + n_stolen_mat_types->m_rdf_type = RDF_Type::Vector; + n_stolen_mat_types->m_node_type = NodeType::Vector; + n_stolen_mat_types->m_addornements = "v"; + n_stolen_mat_types->m_address = base + offset; + n_stolen_mat_types->m_parent = p_node_parent; + n_stolen_mat_types->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_stolen_mat_types); + + field_name = "stolen_mat_indices"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_theftst, field_name)); + auto n_stolen_mat_indices = new NodeVector; + n_stolen_mat_indices->m_field_name = field_name; + n_stolen_mat_indices->m_df_type = DF_Type::int32_t; + n_stolen_mat_indices->m_rdf_type = RDF_Type::Vector; + n_stolen_mat_indices->m_node_type = NodeType::Vector; + n_stolen_mat_indices->m_addornements = "v"; + n_stolen_mat_indices->m_address = base + offset; + n_stolen_mat_indices->m_parent = p_node_parent; + n_stolen_mat_indices->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_stolen_mat_indices); + + field_name = "stolen_item_ids"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_theftst, field_name)); + auto n_stolen_item_ids = new NodeVector; + n_stolen_item_ids->m_field_name = field_name; + n_stolen_item_ids->m_df_type = DF_Type::int32_t; + n_stolen_item_ids->m_rdf_type = RDF_Type::Vector; + n_stolen_item_ids->m_node_type = NodeType::Vector; + n_stolen_item_ids->m_addornements = "v"; + n_stolen_item_ids->m_address = base + offset; + n_stolen_item_ids->m_parent = p_node_parent; + n_stolen_item_ids->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_stolen_item_ids); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_theftst, field_name)); + auto n_anon_1 = new NodeVector; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::Vector; + n_anon_1->m_node_type = NodeType::Vector; + n_anon_1->m_addornements = "v"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_theftst, field_name)); + auto n_anon_2 = new NodeVector; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int16_t; + n_anon_2->m_rdf_type = RDF_Type::Vector; + n_anon_2->m_node_type = NodeType::Vector; + n_anon_2->m_addornements = "v"; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + n_anon_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_theftst, field_name)); + auto n_anon_3 = new NodeVector; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int16_t; + n_anon_3->m_rdf_type = RDF_Type::Vector; + n_anon_3->m_node_type = NodeType::Vector; + n_anon_3->m_addornements = "v"; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + n_anon_3->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_theftst, field_name)); + auto n_anon_4 = new NodeVector; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int16_t; + n_anon_4->m_rdf_type = RDF_Type::Vector; + n_anon_4->m_node_type = NodeType::Vector; + n_anon_4->m_addornements = "v"; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + n_anon_4->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_theftst, field_name)); + auto n_anon_5 = new NodeVector; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::Vector; + n_anon_5->m_node_type = NodeType::Vector; + n_anon_5->m_addornements = "v"; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + n_anon_5->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_theftst, field_name)); + auto n_anon_6 = new NodeVector; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::Vector; + n_anon_6->m_node_type = NodeType::Vector; + n_anon_6->m_addornements = "v"; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + n_anon_6->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_theftst, field_name)); + auto n_anon_7 = new NodeVector; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::int32_t; + n_anon_7->m_rdf_type = RDF_Type::Vector; + n_anon_7->m_node_type = NodeType::Vector; + n_anon_7->m_addornements = "v"; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + n_anon_7->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_7); + + field_name = "ordinal"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_theftst, field_name)); + auto n_ordinal = new NodeSimple; + n_ordinal->m_field_name = field_name; + n_ordinal->m_df_type = DF_Type::int32_t; + n_ordinal->m_rdf_type = RDF_Type::int32_t; + n_ordinal->m_node_type = NodeType::Simple; + n_ordinal->m_address = base + offset; + n_ordinal->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ordinal); + +} +void node_from_history_event_collection_beast_attackst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event_collection; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event_collection(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "parent_collection"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_beast_attackst, field_name)); + auto n_parent_collection = new NodeSimple; + n_parent_collection->m_field_name = field_name; + n_parent_collection->m_df_type = DF_Type::int32_t; + n_parent_collection->m_rdf_type = RDF_Type::int32_t; + n_parent_collection->m_node_type = NodeType::Simple; + n_parent_collection->m_address = base + offset; + n_parent_collection->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_parent_collection); + + field_name = "region"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_beast_attackst, field_name)); + auto n_region = new NodeSimple; + n_region->m_field_name = field_name; + n_region->m_df_type = DF_Type::int32_t; + n_region->m_rdf_type = RDF_Type::int32_t; + n_region->m_node_type = NodeType::Simple; + n_region->m_address = base + offset; + n_region->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region); + + field_name = "layer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_beast_attackst, field_name)); + auto n_layer = new NodeSimple; + n_layer->m_field_name = field_name; + n_layer->m_df_type = DF_Type::int32_t; + n_layer->m_rdf_type = RDF_Type::int32_t; + n_layer->m_node_type = NodeType::Simple; + n_layer->m_address = base + offset; + n_layer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_layer); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_beast_attackst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "region_pos"; + auto n_region_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_beast_attackst, field_name)); + n_region_pos->m_field_name = field_name; + n_region_pos->m_df_type = DF_Type::coord2d; + n_region_pos->m_rdf_type = RDF_Type::Struct; + n_region_pos->m_node_type = NodeType::Compound; + n_region_pos->m_address = base + offset; + n_region_pos->m_defined_in = "df.map.xml"; + n_region_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region_pos); + + field_name = "defender_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_beast_attackst, field_name)); + auto n_defender_civ = new NodeSimple; + n_defender_civ->m_field_name = field_name; + n_defender_civ->m_df_type = DF_Type::int32_t; + n_defender_civ->m_rdf_type = RDF_Type::int32_t; + n_defender_civ->m_node_type = NodeType::Simple; + n_defender_civ->m_address = base + offset; + n_defender_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_defender_civ); + + field_name = "attacker_hf"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_beast_attackst, field_name)); + auto n_attacker_hf = new NodeVector; + n_attacker_hf->m_field_name = field_name; + n_attacker_hf->m_df_type = DF_Type::int32_t; + n_attacker_hf->m_rdf_type = RDF_Type::Vector; + n_attacker_hf->m_node_type = NodeType::Vector; + n_attacker_hf->m_addornements = "v"; + n_attacker_hf->m_address = base + offset; + n_attacker_hf->m_parent = p_node_parent; + n_attacker_hf->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_attacker_hf); + + field_name = "ordinal"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_beast_attackst, field_name)); + auto n_ordinal = new NodeSimple; + n_ordinal->m_field_name = field_name; + n_ordinal->m_df_type = DF_Type::int32_t; + n_ordinal->m_rdf_type = RDF_Type::int32_t; + n_ordinal->m_node_type = NodeType::Simple; + n_ordinal->m_address = base + offset; + n_ordinal->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ordinal); + +} +void node_from_history_event_collection_raidst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event_collection; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event_collection(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "parent_collection"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_raidst, field_name)); + auto n_parent_collection = new NodeSimple; + n_parent_collection->m_field_name = field_name; + n_parent_collection->m_df_type = DF_Type::int32_t; + n_parent_collection->m_rdf_type = RDF_Type::int32_t; + n_parent_collection->m_node_type = NodeType::Simple; + n_parent_collection->m_address = base + offset; + n_parent_collection->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_parent_collection); + + field_name = "region"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_raidst, field_name)); + auto n_region = new NodeSimple; + n_region->m_field_name = field_name; + n_region->m_df_type = DF_Type::int32_t; + n_region->m_rdf_type = RDF_Type::int32_t; + n_region->m_node_type = NodeType::Simple; + n_region->m_address = base + offset; + n_region->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region); + + field_name = "layer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_raidst, field_name)); + auto n_layer = new NodeSimple; + n_layer->m_field_name = field_name; + n_layer->m_df_type = DF_Type::int32_t; + n_layer->m_rdf_type = RDF_Type::int32_t; + n_layer->m_node_type = NodeType::Simple; + n_layer->m_address = base + offset; + n_layer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_layer); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_raidst, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "region_pos"; + auto n_region_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_raidst, field_name)); + n_region_pos->m_field_name = field_name; + n_region_pos->m_df_type = DF_Type::coord2d; + n_region_pos->m_rdf_type = RDF_Type::Struct; + n_region_pos->m_node_type = NodeType::Compound; + n_region_pos->m_address = base + offset; + n_region_pos->m_defined_in = "df.map.xml"; + n_region_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region_pos); + + field_name = "attacker_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_raidst, field_name)); + auto n_attacker_civ = new NodeSimple; + n_attacker_civ->m_field_name = field_name; + n_attacker_civ->m_df_type = DF_Type::int32_t; + n_attacker_civ->m_rdf_type = RDF_Type::int32_t; + n_attacker_civ->m_node_type = NodeType::Simple; + n_attacker_civ->m_address = base + offset; + n_attacker_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_attacker_civ); + + field_name = "defender_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_raidst, field_name)); + auto n_defender_civ = new NodeSimple; + n_defender_civ->m_field_name = field_name; + n_defender_civ->m_df_type = DF_Type::int32_t; + n_defender_civ->m_rdf_type = RDF_Type::int32_t; + n_defender_civ->m_node_type = NodeType::Simple; + n_defender_civ->m_address = base + offset; + n_defender_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_defender_civ); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_raidst, field_name)); + auto n_anon_1 = new NodeVector; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::Vector; + n_anon_1->m_node_type = NodeType::Vector; + n_anon_1->m_addornements = "v"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "ordinal"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_raidst, field_name)); + auto n_ordinal = new NodeSimple; + n_ordinal->m_field_name = field_name; + n_ordinal->m_df_type = DF_Type::int32_t; + n_ordinal->m_rdf_type = RDF_Type::int32_t; + n_ordinal->m_node_type = NodeType::Simple; + n_ordinal->m_address = base + offset; + n_ordinal->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ordinal); + +} +void node_from_history_era__T_title(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "type"; + auto n_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_era__T_title, field_name)); + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::era_type; + n_type->m_rdf_type = RDF_Type::Enum; + n_type->m_node_type = NodeType::Enum; + n_type->m_base_type = enum_base_type(n_type->m_df_type); + n_type->m_enum_type = "era_type"; + n_type->m_address = base + offset; + n_type->m_defined_in = "df.history.xml"; + n_type->m_first_value = 0; + n_type->m_last_value = 12; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + + field_name = "histfig_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_era__T_title, field_name)); + auto n_histfig_1 = new NodeSimple; + n_histfig_1->m_field_name = field_name; + n_histfig_1->m_df_type = DF_Type::int32_t; + n_histfig_1->m_rdf_type = RDF_Type::int32_t; + n_histfig_1->m_node_type = NodeType::Simple; + n_histfig_1->m_address = base + offset; + n_histfig_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig_1); + + field_name = "histfig_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_era__T_title, field_name)); + auto n_histfig_2 = new NodeSimple; + n_histfig_2->m_field_name = field_name; + n_histfig_2->m_df_type = DF_Type::int32_t; + n_histfig_2->m_rdf_type = RDF_Type::int32_t; + n_histfig_2->m_node_type = NodeType::Simple; + n_histfig_2->m_address = base + offset; + n_histfig_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig_2); + + field_name = "ordinal"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_era__T_title, field_name)); + auto n_ordinal = new NodeSimple; + n_ordinal->m_field_name = field_name; + n_ordinal->m_df_type = DF_Type::int32_t; + n_ordinal->m_rdf_type = RDF_Type::int32_t; + n_ordinal->m_node_type = NodeType::Simple; + n_ordinal->m_address = base + offset; + n_ordinal->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ordinal); + + field_name = "name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_era__T_title, field_name)); + auto n_name = new NodeSimple; + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Stl_string; + n_name->m_node_type = NodeType::Simple; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "percent"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_era__T_title, field_name)); + auto n_percent = new NodeSimple; + n_percent->m_field_name = field_name; + n_percent->m_df_type = DF_Type::int32_t; + n_percent->m_rdf_type = RDF_Type::int32_t; + n_percent->m_node_type = NodeType::Simple; + n_percent->m_address = base + offset; + n_percent->m_comment = "either percentage of single race or percentage of mundane"; + n_percent->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_percent); + +} +void node_from_history_era__T_details(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "living_powers"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_era__T_details, field_name)); + auto n_living_powers = new NodeSimple; + n_living_powers->m_field_name = field_name; + n_living_powers->m_df_type = DF_Type::int32_t; + n_living_powers->m_rdf_type = RDF_Type::int32_t; + n_living_powers->m_node_type = NodeType::Simple; + n_living_powers->m_address = base + offset; + n_living_powers->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_living_powers); + + field_name = "living_megabeasts"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_era__T_details, field_name)); + auto n_living_megabeasts = new NodeSimple; + n_living_megabeasts->m_field_name = field_name; + n_living_megabeasts->m_df_type = DF_Type::int32_t; + n_living_megabeasts->m_rdf_type = RDF_Type::int32_t; + n_living_megabeasts->m_node_type = NodeType::Simple; + n_living_megabeasts->m_address = base + offset; + n_living_megabeasts->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_living_megabeasts); + + field_name = "living_semimegabeasts"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_era__T_details, field_name)); + auto n_living_semimegabeasts = new NodeSimple; + n_living_semimegabeasts->m_field_name = field_name; + n_living_semimegabeasts->m_df_type = DF_Type::int32_t; + n_living_semimegabeasts->m_rdf_type = RDF_Type::int32_t; + n_living_semimegabeasts->m_node_type = NodeType::Simple; + n_living_semimegabeasts->m_address = base + offset; + n_living_semimegabeasts->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_living_semimegabeasts); + + field_name = "power_hf1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_era__T_details, field_name)); + auto n_power_hf1 = new NodeSimple; + n_power_hf1->m_field_name = field_name; + n_power_hf1->m_df_type = DF_Type::int32_t; + n_power_hf1->m_rdf_type = RDF_Type::int32_t; + n_power_hf1->m_node_type = NodeType::Simple; + n_power_hf1->m_address = base + offset; + n_power_hf1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_power_hf1); + + field_name = "power_hf2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_era__T_details, field_name)); + auto n_power_hf2 = new NodeSimple; + n_power_hf2->m_field_name = field_name; + n_power_hf2->m_df_type = DF_Type::int32_t; + n_power_hf2->m_rdf_type = RDF_Type::int32_t; + n_power_hf2->m_node_type = NodeType::Simple; + n_power_hf2->m_address = base + offset; + n_power_hf2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_power_hf2); + + field_name = "power_hf3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_era__T_details, field_name)); + auto n_power_hf3 = new NodeSimple; + n_power_hf3->m_field_name = field_name; + n_power_hf3->m_df_type = DF_Type::int32_t; + n_power_hf3->m_rdf_type = RDF_Type::int32_t; + n_power_hf3->m_node_type = NodeType::Simple; + n_power_hf3->m_address = base + offset; + n_power_hf3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_power_hf3); + + field_name = "civilized_races"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_era__T_details, field_name)); + auto n_civilized_races = new NodeVector; + n_civilized_races->m_field_name = field_name; + n_civilized_races->m_df_type = DF_Type::int32_t; + n_civilized_races->m_rdf_type = RDF_Type::Vector; + n_civilized_races->m_node_type = NodeType::Vector; + n_civilized_races->m_addornements = "v"; + n_civilized_races->m_address = base + offset; + n_civilized_races->m_refers_to = "(find-creature $)"; + n_civilized_races->m_parent = p_node_parent; + n_civilized_races->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_civilized_races); + + field_name = "civilized_total"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_era__T_details, field_name)); + auto n_civilized_total = new NodeSimple; + n_civilized_total->m_field_name = field_name; + n_civilized_total->m_df_type = DF_Type::int32_t; + n_civilized_total->m_rdf_type = RDF_Type::int32_t; + n_civilized_total->m_node_type = NodeType::Simple; + n_civilized_total->m_address = base + offset; + n_civilized_total->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_civilized_total); + + field_name = "civilized_mundane"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_era__T_details, field_name)); + auto n_civilized_mundane = new NodeSimple; + n_civilized_mundane->m_field_name = field_name; + n_civilized_mundane->m_df_type = DF_Type::int32_t; + n_civilized_mundane->m_rdf_type = RDF_Type::int32_t; + n_civilized_mundane->m_node_type = NodeType::Simple; + n_civilized_mundane->m_address = base + offset; + n_civilized_mundane->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_civilized_mundane); + +} +void node_from_history_era(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_era, field_name)); + auto n_year = new NodeSimple; + n_year->m_field_name = field_name; + n_year->m_df_type = DF_Type::int32_t; + n_year->m_rdf_type = RDF_Type::int32_t; + n_year->m_node_type = NodeType::Simple; + n_year->m_address = base + offset; + n_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_year); + + field_name = "title"; + auto n_title = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_era, field_name)); + n_title->m_field_name = field_name; + n_title->m_df_type = DF_Type::history_era__T_title; + n_title->m_rdf_type = RDF_Type::Compound; + n_title->m_node_type = NodeType::Compound; + n_title->m_address = base + offset; + n_title->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_title); + + field_name = "details"; + auto n_details = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_era, field_name)); + n_details->m_field_name = field_name; + n_details->m_df_type = DF_Type::history_era__T_details; + n_details->m_rdf_type = RDF_Type::Compound; + n_details->m_node_type = NodeType::Compound; + n_details->m_address = base + offset; + n_details->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_details); + +} +void node_from_init_display(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "flag"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_display, field_name)); + auto n_flag = new NodeDFFlagArray; + n_flag->m_field_name = field_name; + n_flag->m_index_enum = DF_Type::init_display_flags; + n_flag->m_df_type = DF_Type::init_display_flags; + n_flag->m_size = 15; + n_flag->m_rdf_type = RDF_Type::DFFlagArray; + n_flag->m_node_type = NodeType::Bitfield; + n_flag->m_address = base + offset; + n_flag->m_defined_in = "df.init.xml"; + n_flag->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flag); + + field_name = "windowed"; + auto n_windowed = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_display, field_name)); + n_windowed->m_field_name = field_name; + n_windowed->m_df_type = DF_Type::init_display__T_windowed; + n_windowed->m_rdf_type = RDF_Type::Enum; + n_windowed->m_node_type = NodeType::Enum; + n_windowed->m_base_type = enum_base_type(n_windowed->m_df_type); + n_windowed->m_enum_type = "init_display::T_windowed"; + n_windowed->m_address = base + offset; + n_windowed->m_first_value = 0; + n_windowed->m_last_value = 2; + n_windowed->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_windowed); + + field_name = "grid_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_display, field_name)); + auto n_grid_x = new NodeSimple; + n_grid_x->m_field_name = field_name; + n_grid_x->m_df_type = DF_Type::int32_t; + n_grid_x->m_rdf_type = RDF_Type::int32_t; + n_grid_x->m_node_type = NodeType::Simple; + n_grid_x->m_address = base + offset; + n_grid_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_grid_x); + + field_name = "grid_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_display, field_name)); + auto n_grid_y = new NodeSimple; + n_grid_y->m_field_name = field_name; + n_grid_y->m_df_type = DF_Type::int32_t; + n_grid_y->m_rdf_type = RDF_Type::int32_t; + n_grid_y->m_node_type = NodeType::Simple; + n_grid_y->m_address = base + offset; + n_grid_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_grid_y); + + field_name = "desired_fullscreen_width"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_display, field_name)); + auto n_desired_fullscreen_width = new NodeSimple; + n_desired_fullscreen_width->m_field_name = field_name; + n_desired_fullscreen_width->m_df_type = DF_Type::int32_t; + n_desired_fullscreen_width->m_rdf_type = RDF_Type::int32_t; + n_desired_fullscreen_width->m_node_type = NodeType::Simple; + n_desired_fullscreen_width->m_address = base + offset; + n_desired_fullscreen_width->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_desired_fullscreen_width); + + field_name = "desired_fullscreen_height"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_display, field_name)); + auto n_desired_fullscreen_height = new NodeSimple; + n_desired_fullscreen_height->m_field_name = field_name; + n_desired_fullscreen_height->m_df_type = DF_Type::int32_t; + n_desired_fullscreen_height->m_rdf_type = RDF_Type::int32_t; + n_desired_fullscreen_height->m_node_type = NodeType::Simple; + n_desired_fullscreen_height->m_address = base + offset; + n_desired_fullscreen_height->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_desired_fullscreen_height); + + field_name = "desired_windowed_width"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_display, field_name)); + auto n_desired_windowed_width = new NodeSimple; + n_desired_windowed_width->m_field_name = field_name; + n_desired_windowed_width->m_df_type = DF_Type::int32_t; + n_desired_windowed_width->m_rdf_type = RDF_Type::int32_t; + n_desired_windowed_width->m_node_type = NodeType::Simple; + n_desired_windowed_width->m_address = base + offset; + n_desired_windowed_width->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_desired_windowed_width); + + field_name = "desired_windowed_height"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_display, field_name)); + auto n_desired_windowed_height = new NodeSimple; + n_desired_windowed_height->m_field_name = field_name; + n_desired_windowed_height->m_df_type = DF_Type::int32_t; + n_desired_windowed_height->m_rdf_type = RDF_Type::int32_t; + n_desired_windowed_height->m_node_type = NodeType::Simple; + n_desired_windowed_height->m_address = base + offset; + n_desired_windowed_height->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_desired_windowed_height); + + field_name = "partial_print_count"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_display, field_name)); + auto n_partial_print_count = new NodeSimple; + n_partial_print_count->m_field_name = field_name; + n_partial_print_count->m_df_type = DF_Type::int8_t; + n_partial_print_count->m_rdf_type = RDF_Type::int8_t; + n_partial_print_count->m_node_type = NodeType::Simple; + n_partial_print_count->m_address = base + offset; + n_partial_print_count->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_partial_print_count); + +} +void node_from_init_font(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "small_font_texpos"; + auto n_small_font_texpos = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_font, field_name)); + n_small_font_texpos->m_field_name = field_name; + n_small_font_texpos->m_df_type = DF_Type::Long; + n_small_font_texpos->m_rdf_type = RDF_Type::Array; + n_small_font_texpos->m_node_type = NodeType::Array; + n_small_font_texpos->m_addornements = "[256"; + n_small_font_texpos->m_array_size = 256; + n_small_font_texpos->m_address = base + offset; + n_small_font_texpos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_small_font_texpos); + + field_name = "large_font_texpos"; + auto n_large_font_texpos = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_font, field_name)); + n_large_font_texpos->m_field_name = field_name; + n_large_font_texpos->m_df_type = DF_Type::Long; + n_large_font_texpos->m_rdf_type = RDF_Type::Array; + n_large_font_texpos->m_node_type = NodeType::Array; + n_large_font_texpos->m_addornements = "[256"; + n_large_font_texpos->m_array_size = 256; + n_large_font_texpos->m_address = base + offset; + n_large_font_texpos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_large_font_texpos); + + field_name = "small_font_datapos"; + auto n_small_font_datapos = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_font, field_name)); + n_small_font_datapos->m_field_name = field_name; + n_small_font_datapos->m_df_type = DF_Type::Long; + n_small_font_datapos->m_rdf_type = RDF_Type::Array; + n_small_font_datapos->m_node_type = NodeType::Array; + n_small_font_datapos->m_addornements = "[256"; + n_small_font_datapos->m_array_size = 256; + n_small_font_datapos->m_address = base + offset; + n_small_font_datapos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_small_font_datapos); + + field_name = "large_font_datapos"; + auto n_large_font_datapos = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_font, field_name)); + n_large_font_datapos->m_field_name = field_name; + n_large_font_datapos->m_df_type = DF_Type::Long; + n_large_font_datapos->m_rdf_type = RDF_Type::Array; + n_large_font_datapos->m_node_type = NodeType::Array; + n_large_font_datapos->m_addornements = "[256"; + n_large_font_datapos->m_array_size = 256; + n_large_font_datapos->m_address = base + offset; + n_large_font_datapos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_large_font_datapos); + + field_name = "small_font_adjx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_font, field_name)); + auto n_small_font_adjx = new NodeSimple; + n_small_font_adjx->m_field_name = field_name; + n_small_font_adjx->m_df_type = DF_Type::S_float; + n_small_font_adjx->m_rdf_type = RDF_Type::S_float; + n_small_font_adjx->m_node_type = NodeType::Simple; + n_small_font_adjx->m_address = base + offset; + n_small_font_adjx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_small_font_adjx); + + field_name = "small_font_adjy"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_font, field_name)); + auto n_small_font_adjy = new NodeSimple; + n_small_font_adjy->m_field_name = field_name; + n_small_font_adjy->m_df_type = DF_Type::S_float; + n_small_font_adjy->m_rdf_type = RDF_Type::S_float; + n_small_font_adjy->m_node_type = NodeType::Simple; + n_small_font_adjy->m_address = base + offset; + n_small_font_adjy->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_small_font_adjy); + + field_name = "large_font_adjx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_font, field_name)); + auto n_large_font_adjx = new NodeSimple; + n_large_font_adjx->m_field_name = field_name; + n_large_font_adjx->m_df_type = DF_Type::S_float; + n_large_font_adjx->m_rdf_type = RDF_Type::S_float; + n_large_font_adjx->m_node_type = NodeType::Simple; + n_large_font_adjx->m_address = base + offset; + n_large_font_adjx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_large_font_adjx); + + field_name = "large_font_adjy"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_font, field_name)); + auto n_large_font_adjy = new NodeSimple; + n_large_font_adjy->m_field_name = field_name; + n_large_font_adjy->m_df_type = DF_Type::S_float; + n_large_font_adjy->m_rdf_type = RDF_Type::S_float; + n_large_font_adjy->m_node_type = NodeType::Simple; + n_large_font_adjy->m_address = base + offset; + n_large_font_adjy->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_large_font_adjy); + + field_name = "small_font_dispx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_font, field_name)); + auto n_small_font_dispx = new NodeSimple; + n_small_font_dispx->m_field_name = field_name; + n_small_font_dispx->m_df_type = DF_Type::Long; + n_small_font_dispx->m_rdf_type = RDF_Type::Long; + n_small_font_dispx->m_node_type = NodeType::Simple; + n_small_font_dispx->m_address = base + offset; + n_small_font_dispx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_small_font_dispx); + + field_name = "small_font_dispy"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_font, field_name)); + auto n_small_font_dispy = new NodeSimple; + n_small_font_dispy->m_field_name = field_name; + n_small_font_dispy->m_df_type = DF_Type::Long; + n_small_font_dispy->m_rdf_type = RDF_Type::Long; + n_small_font_dispy->m_node_type = NodeType::Simple; + n_small_font_dispy->m_address = base + offset; + n_small_font_dispy->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_small_font_dispy); + + field_name = "large_font_dispx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_font, field_name)); + auto n_large_font_dispx = new NodeSimple; + n_large_font_dispx->m_field_name = field_name; + n_large_font_dispx->m_df_type = DF_Type::Long; + n_large_font_dispx->m_rdf_type = RDF_Type::Long; + n_large_font_dispx->m_node_type = NodeType::Simple; + n_large_font_dispx->m_address = base + offset; + n_large_font_dispx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_large_font_dispx); + + field_name = "large_font_dispy"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_font, field_name)); + auto n_large_font_dispy = new NodeSimple; + n_large_font_dispy->m_field_name = field_name; + n_large_font_dispy->m_df_type = DF_Type::Long; + n_large_font_dispy->m_rdf_type = RDF_Type::Long; + n_large_font_dispy->m_node_type = NodeType::Simple; + n_large_font_dispy->m_address = base + offset; + n_large_font_dispy->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_large_font_dispy); + + field_name = "use_ttf"; + auto n_use_ttf = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_font, field_name)); + n_use_ttf->m_field_name = field_name; + n_use_ttf->m_df_type = DF_Type::init_font__T_use_ttf; + n_use_ttf->m_rdf_type = RDF_Type::Enum; + n_use_ttf->m_node_type = NodeType::Enum; + n_use_ttf->m_base_type = enum_base_type(n_use_ttf->m_df_type); + n_use_ttf->m_enum_type = "init_font::T_use_ttf"; + n_use_ttf->m_address = base + offset; + n_use_ttf->m_first_value = 0; + n_use_ttf->m_last_value = 2; + n_use_ttf->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_use_ttf); + + field_name = "ttf_limit"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init_font, field_name)); + auto n_ttf_limit = new NodeSimple; + n_ttf_limit->m_field_name = field_name; + n_ttf_limit->m_df_type = DF_Type::int32_t; + n_ttf_limit->m_rdf_type = RDF_Type::int32_t; + n_ttf_limit->m_node_type = NodeType::Simple; + n_ttf_limit->m_address = base + offset; + n_ttf_limit->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ttf_limit); + +} +void node_from_init(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "display"; + auto n_display = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init, field_name)); + n_display->m_field_name = field_name; + n_display->m_df_type = DF_Type::init_display; + n_display->m_rdf_type = RDF_Type::Struct; + n_display->m_node_type = NodeType::Compound; + n_display->m_address = base + offset; + n_display->m_defined_in = "df.init.xml"; + n_display->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_display); + + field_name = "media"; + auto n_media = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init, field_name)); + n_media->m_field_name = field_name; + n_media->m_df_type = DF_Type::init_media; + n_media->m_rdf_type = RDF_Type::Struct; + n_media->m_node_type = NodeType::Compound; + n_media->m_address = base + offset; + n_media->m_defined_in = "df.init.xml"; + n_media->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_media); + + field_name = "input"; + auto n_input = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init, field_name)); + n_input->m_field_name = field_name; + n_input->m_df_type = DF_Type::init_input; + n_input->m_rdf_type = RDF_Type::Struct; + n_input->m_node_type = NodeType::Compound; + n_input->m_address = base + offset; + n_input->m_defined_in = "df.init.xml"; + n_input->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_input); + + field_name = "font"; + auto n_font = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init, field_name)); + n_font->m_field_name = field_name; + n_font->m_df_type = DF_Type::init_font; + n_font->m_rdf_type = RDF_Type::Struct; + n_font->m_node_type = NodeType::Compound; + n_font->m_address = base + offset; + n_font->m_defined_in = "df.init.xml"; + n_font->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_font); + + field_name = "window"; + auto n_window = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::init, field_name)); + n_window->m_field_name = field_name; + n_window->m_df_type = DF_Type::init_window; + n_window->m_rdf_type = RDF_Type::Struct; + n_window->m_node_type = NodeType::Compound; + n_window->m_address = base + offset; + n_window->m_defined_in = "df.init.xml"; + n_window->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_window); + +} +void node_from_texture_handler(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "page"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::texture_handler, field_name)); + auto n_page = new NodeVector; + n_page->m_field_name = field_name; + n_page->m_df_type = DF_Type::tile_page; + n_page->m_rdf_type = RDF_Type::Vector; + n_page->m_node_type = NodeType::Vector; + n_page->m_defined_in = "df.init.xml"; + n_page->m_addornements = "v*"; + n_page->m_address = base + offset; + n_page->m_parent = p_node_parent; + n_page->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_page); + + field_name = "texpos"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::texture_handler, field_name)); + auto n_texpos = new NodeVector; + n_texpos->m_field_name = field_name; + n_texpos->m_df_type = DF_Type::int32_t; + n_texpos->m_rdf_type = RDF_Type::Vector; + n_texpos->m_node_type = NodeType::Vector; + n_texpos->m_addornements = "v"; + n_texpos->m_address = base + offset; + n_texpos->m_parent = p_node_parent; + n_texpos->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_texpos); + + field_name = "datapos"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::texture_handler, field_name)); + auto n_datapos = new NodeVector; + n_datapos->m_field_name = field_name; + n_datapos->m_df_type = DF_Type::int32_t; + n_datapos->m_rdf_type = RDF_Type::Vector; + n_datapos->m_node_type = NodeType::Vector; + n_datapos->m_addornements = "v"; + n_datapos->m_address = base + offset; + n_datapos->m_parent = p_node_parent; + n_datapos->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_datapos); + +} +void node_from_interaction(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction, field_name)); + auto n_name = new NodeSimple; + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Stl_string; + n_name->m_node_type = NodeType::Simple; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "str"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction, field_name)); + auto n_str = new NodeVector; + n_str->m_field_name = field_name; + n_str->m_df_type = DF_Type::Stl_string; + n_str->m_rdf_type = RDF_Type::Vector; + n_str->m_node_type = NodeType::Vector; + n_str->m_addornements = "v*"; + n_str->m_address = base + offset; + n_str->m_parent = p_node_parent; + n_str->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_str); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction, field_name)); + auto n_flags = new NodeDFFlagArray; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::int32_t; + n_flags->m_size = 32; + n_flags->m_rdf_type = RDF_Type::DFFlagArray; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "sources"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction, field_name)); + auto n_sources = new NodeVector; + n_sources->m_field_name = field_name; + n_sources->m_df_type = DF_Type::interaction_source; + n_sources->m_rdf_type = RDF_Type::Vector; + n_sources->m_node_type = NodeType::Vector; + n_sources->m_defined_in = "df.interaction.xml"; + n_sources->m_addornements = "v*"; + n_sources->m_address = base + offset; + n_sources->m_parent = p_node_parent; + n_sources->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_sources); + + field_name = "targets"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction, field_name)); + auto n_targets = new NodeVector; + n_targets->m_field_name = field_name; + n_targets->m_df_type = DF_Type::interaction_target; + n_targets->m_rdf_type = RDF_Type::Vector; + n_targets->m_node_type = NodeType::Vector; + n_targets->m_defined_in = "df.interaction.xml"; + n_targets->m_addornements = "v*"; + n_targets->m_address = base + offset; + n_targets->m_parent = p_node_parent; + n_targets->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_targets); + + field_name = "effects"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction, field_name)); + auto n_effects = new NodeVector; + n_effects->m_field_name = field_name; + n_effects->m_df_type = DF_Type::interaction_effect; + n_effects->m_rdf_type = RDF_Type::Vector; + n_effects->m_node_type = NodeType::Vector; + n_effects->m_defined_in = "df.interaction.xml"; + n_effects->m_addornements = "v*"; + n_effects->m_address = base + offset; + n_effects->m_parent = p_node_parent; + n_effects->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_effects); + + field_name = "source_hfid"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction, field_name)); + auto n_source_hfid = new NodeSimple; + n_source_hfid->m_field_name = field_name; + n_source_hfid->m_df_type = DF_Type::int32_t; + n_source_hfid->m_rdf_type = RDF_Type::int32_t; + n_source_hfid->m_node_type = NodeType::Simple; + n_source_hfid->m_address = base + offset; + n_source_hfid->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_source_hfid); + + field_name = "unk_v4201_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction, field_name)); + auto n_unk_v4201_1 = new NodeSimple; + n_unk_v4201_1->m_field_name = field_name; + n_unk_v4201_1->m_df_type = DF_Type::int32_t; + n_unk_v4201_1->m_rdf_type = RDF_Type::int32_t; + n_unk_v4201_1->m_node_type = NodeType::Simple; + n_unk_v4201_1->m_address = base + offset; + n_unk_v4201_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v4201_1); + +} +void node_from_interaction_effect(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_effect, field_name)); + auto n_unk_1 = new NodeSimple; + n_unk_1->m_field_name = field_name; + n_unk_1->m_df_type = DF_Type::int32_t; + n_unk_1->m_rdf_type = RDF_Type::int32_t; + n_unk_1->m_node_type = NodeType::Simple; + n_unk_1->m_address = base + offset; + n_unk_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_1); + + field_name = "targets"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_effect, field_name)); + auto n_targets = new NodeVector; + n_targets->m_field_name = field_name; + n_targets->m_df_type = DF_Type::Stl_string; + n_targets->m_rdf_type = RDF_Type::Vector; + n_targets->m_node_type = NodeType::Vector; + n_targets->m_addornements = "v*"; + n_targets->m_address = base + offset; + n_targets->m_parent = p_node_parent; + n_targets->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_targets); + + field_name = "unk_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_effect, field_name)); + auto n_unk_2 = new NodeVector; + n_unk_2->m_field_name = field_name; + n_unk_2->m_df_type = DF_Type::int32_t; + n_unk_2->m_rdf_type = RDF_Type::Vector; + n_unk_2->m_node_type = NodeType::Vector; + n_unk_2->m_addornements = "v"; + n_unk_2->m_address = base + offset; + n_unk_2->m_parent = p_node_parent; + n_unk_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_2); + + field_name = "intermittent"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_effect, field_name)); + auto n_intermittent = new NodeSimple; + n_intermittent->m_field_name = field_name; + n_intermittent->m_df_type = DF_Type::int32_t; + n_intermittent->m_rdf_type = RDF_Type::int32_t; + n_intermittent->m_node_type = NodeType::Simple; + n_intermittent->m_address = base + offset; + n_intermittent->m_comment = "0 = weekly"; + n_intermittent->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_intermittent); + + field_name = "locations"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_effect, field_name)); + auto n_locations = new NodeVector; + n_locations->m_field_name = field_name; + n_locations->m_df_type = DF_Type::interaction_effect_location_hint; + n_locations->m_rdf_type = RDF_Type::Vector; + n_locations->m_node_type = NodeType::Vector; + n_locations->m_enum_base = DF_Type::int32_t; + n_locations->m_defined_in = "df.interaction.xml"; + n_locations->m_addornements = "v"; + n_locations->m_address = base + offset; + n_locations->m_parent = p_node_parent; + n_locations->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_locations); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_effect, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::interaction_effect__T_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "unk_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_effect, field_name)); + auto n_unk_3 = new NodeSimple; + n_unk_3->m_field_name = field_name; + n_unk_3->m_df_type = DF_Type::int32_t; + n_unk_3->m_rdf_type = RDF_Type::int32_t; + n_unk_3->m_node_type = NodeType::Simple; + n_unk_3->m_address = base + offset; + n_unk_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_3); + + field_name = "arena_name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_effect, field_name)); + auto n_arena_name = new NodeSimple; + n_arena_name->m_field_name = field_name; + n_arena_name->m_df_type = DF_Type::Stl_string; + n_arena_name->m_rdf_type = RDF_Type::Stl_string; + n_arena_name->m_node_type = NodeType::Simple; + n_arena_name->m_address = base + offset; + n_arena_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_arena_name); + +} +void node_from_interaction_effect_animatest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::interaction_effect; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_interaction_effect(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_effect_animatest, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "syndrome"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_effect_animatest, field_name)); + auto n_syndrome = new NodeVector; + n_syndrome->m_field_name = field_name; + n_syndrome->m_df_type = DF_Type::syndrome; + n_syndrome->m_rdf_type = RDF_Type::Vector; + n_syndrome->m_node_type = NodeType::Vector; + n_syndrome->m_defined_in = "df.syndrome.xml"; + n_syndrome->m_addornements = "v*"; + n_syndrome->m_address = base + offset; + n_syndrome->m_parent = p_node_parent; + n_syndrome->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_syndrome); + +} +void node_from_interaction_effect_add_syndromest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::interaction_effect; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_interaction_effect(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_effect_add_syndromest, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "syndrome"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_effect_add_syndromest, field_name)); + auto n_syndrome = new NodeVector; + n_syndrome->m_field_name = field_name; + n_syndrome->m_df_type = DF_Type::syndrome; + n_syndrome->m_rdf_type = RDF_Type::Vector; + n_syndrome->m_node_type = NodeType::Vector; + n_syndrome->m_defined_in = "df.syndrome.xml"; + n_syndrome->m_addornements = "v*"; + n_syndrome->m_address = base + offset; + n_syndrome->m_parent = p_node_parent; + n_syndrome->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_syndrome); + +} +void node_from_interaction_effect_resurrectst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::interaction_effect; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_interaction_effect(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_effect_resurrectst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "syndrome"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_effect_resurrectst, field_name)); + auto n_syndrome = new NodeVector; + n_syndrome->m_field_name = field_name; + n_syndrome->m_df_type = DF_Type::syndrome; + n_syndrome->m_rdf_type = RDF_Type::Vector; + n_syndrome->m_node_type = NodeType::Vector; + n_syndrome->m_defined_in = "df.syndrome.xml"; + n_syndrome->m_addornements = "v*"; + n_syndrome->m_address = base + offset; + n_syndrome->m_parent = p_node_parent; + n_syndrome->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_syndrome); + +} +void node_from_interaction_effect_cleanst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::interaction_effect; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_interaction_effect(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "grime_level"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_effect_cleanst, field_name)); + auto n_grime_level = new NodeSimple; + n_grime_level->m_field_name = field_name; + n_grime_level->m_df_type = DF_Type::int32_t; + n_grime_level->m_rdf_type = RDF_Type::int32_t; + n_grime_level->m_node_type = NodeType::Simple; + n_grime_level->m_address = base + offset; + n_grime_level->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_grime_level); + + field_name = "syndrome_tag"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_effect_cleanst, field_name)); + auto n_syndrome_tag = new NodeBitfield; + n_syndrome_tag->m_field_name = field_name; + n_syndrome_tag->m_df_type = DF_Type::syndrome_flags; + n_syndrome_tag->m_rdf_type = RDF_Type::Bitfield; + n_syndrome_tag->m_node_type = NodeType::Bitfield; + n_syndrome_tag->m_address = base + offset; + n_syndrome_tag->m_defined_in = "df.syndrome.xml"; + n_syndrome_tag->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_syndrome_tag); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_effect_cleanst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_interaction_effect_contactst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::interaction_effect; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_interaction_effect(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_effect_contactst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_interaction_effect_material_emissionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::interaction_effect; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_interaction_effect(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_effect_material_emissionst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_interaction_effect_hidest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::interaction_effect; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_interaction_effect(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_effect_hidest, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_interaction_source_secretst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::interaction_source; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_interaction_source(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "learn_flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_source_secretst, field_name)); + auto n_learn_flags = new NodeBitfield; + n_learn_flags->m_field_name = field_name; + n_learn_flags->m_df_type = DF_Type::interaction_source_secretst__T_learn_flags; + n_learn_flags->m_rdf_type = RDF_Type::Bitfield; + n_learn_flags->m_node_type = NodeType::Bitfield; + n_learn_flags->m_address = base + offset; + n_learn_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_learn_flags); + + field_name = "spheres"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_source_secretst, field_name)); + auto n_spheres = new NodeVector; + n_spheres->m_field_name = field_name; + n_spheres->m_df_type = DF_Type::sphere_type; + n_spheres->m_rdf_type = RDF_Type::Vector; + n_spheres->m_node_type = NodeType::Vector; + n_spheres->m_enum_base = DF_Type::int16_t; + n_spheres->m_defined_in = "df.language.xml"; + n_spheres->m_addornements = "v"; + n_spheres->m_address = base + offset; + n_spheres->m_parent = p_node_parent; + n_spheres->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_spheres); + + field_name = "goals"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_source_secretst, field_name)); + auto n_goals = new NodeVector; + n_goals->m_field_name = field_name; + n_goals->m_df_type = DF_Type::goal_type; + n_goals->m_rdf_type = RDF_Type::Vector; + n_goals->m_node_type = NodeType::Vector; + n_goals->m_enum_base = DF_Type::int32_t; + n_goals->m_defined_in = "df.units.xml"; + n_goals->m_addornements = "v"; + n_goals->m_address = base + offset; + n_goals->m_parent = p_node_parent; + n_goals->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_goals); + + field_name = "book_title_filename"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_source_secretst, field_name)); + auto n_book_title_filename = new NodeSimple; + n_book_title_filename->m_field_name = field_name; + n_book_title_filename->m_df_type = DF_Type::Stl_string; + n_book_title_filename->m_rdf_type = RDF_Type::Stl_string; + n_book_title_filename->m_node_type = NodeType::Simple; + n_book_title_filename->m_address = base + offset; + n_book_title_filename->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_book_title_filename); + + field_name = "book_name_filename"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_source_secretst, field_name)); + auto n_book_name_filename = new NodeSimple; + n_book_name_filename->m_field_name = field_name; + n_book_name_filename->m_df_type = DF_Type::Stl_string; + n_book_name_filename->m_rdf_type = RDF_Type::Stl_string; + n_book_name_filename->m_node_type = NodeType::Simple; + n_book_name_filename->m_address = base + offset; + n_book_name_filename->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_book_name_filename); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_source_secretst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_source_secretst, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + +} +void node_from_interaction_source_deityst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::interaction_source; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_interaction_source(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_source_deityst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "usage_hint"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_source_deityst, field_name)); + auto n_usage_hint = new NodeVector; + n_usage_hint->m_field_name = field_name; + n_usage_hint->m_df_type = DF_Type::interaction_source_usage_hint; + n_usage_hint->m_rdf_type = RDF_Type::Vector; + n_usage_hint->m_node_type = NodeType::Vector; + n_usage_hint->m_enum_base = DF_Type::int32_t; + n_usage_hint->m_defined_in = "df.interaction.xml"; + n_usage_hint->m_addornements = "v"; + n_usage_hint->m_address = base + offset; + n_usage_hint->m_parent = p_node_parent; + n_usage_hint->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_usage_hint); + +} +void node_from_interaction_target(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_target, field_name)); + auto n_index = new NodeSimple; + n_index->m_field_name = field_name; + n_index->m_df_type = DF_Type::int32_t; + n_index->m_rdf_type = RDF_Type::int32_t; + n_index->m_node_type = NodeType::Simple; + n_index->m_address = base + offset; + n_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_index); + + field_name = "unk_0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_target, field_name)); + auto n_unk_0 = new NodeSimple; + n_unk_0->m_field_name = field_name; + n_unk_0->m_df_type = DF_Type::Stl_string; + n_unk_0->m_rdf_type = RDF_Type::Stl_string; + n_unk_0->m_node_type = NodeType::Simple; + n_unk_0->m_address = base + offset; + n_unk_0->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_0); + + field_name = "manual_input"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_target, field_name)); + auto n_manual_input = new NodeSimple; + n_manual_input->m_field_name = field_name; + n_manual_input->m_df_type = DF_Type::Stl_string; + n_manual_input->m_rdf_type = RDF_Type::Stl_string; + n_manual_input->m_node_type = NodeType::Simple; + n_manual_input->m_address = base + offset; + n_manual_input->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_manual_input); + + field_name = "location"; + auto n_location = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_target, field_name)); + n_location->m_field_name = field_name; + n_location->m_df_type = DF_Type::interaction_target_location_type; + n_location->m_rdf_type = RDF_Type::Enum; + n_location->m_node_type = NodeType::Enum; + n_location->m_base_type = enum_base_type(n_location->m_df_type); + n_location->m_enum_type = "interaction_target_location_type"; + n_location->m_address = base + offset; + n_location->m_defined_in = "df.interaction.xml"; + n_location->m_first_value = -1; + n_location->m_last_value = 5; + n_location->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_location); + +} +void node_from_interaction_target_corpsest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::interaction_target; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_interaction_target(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + auto n_anon_1 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_target_corpsest, field_name)); + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::interaction_target_info; + n_anon_1->m_rdf_type = RDF_Type::Struct; + n_anon_1->m_node_type = NodeType::Compound; + n_anon_1->m_address = base + offset; + n_anon_1->m_defined_in = "df.interaction.xml"; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_interaction_target_creaturest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::interaction_target; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_interaction_target(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + auto n_anon_1 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_target_creaturest, field_name)); + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::interaction_target_info; + n_anon_1->m_rdf_type = RDF_Type::Struct; + n_anon_1->m_node_type = NodeType::Compound; + n_anon_1->m_address = base + offset; + n_anon_1->m_defined_in = "df.interaction.xml"; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_interaction_target_materialst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::interaction_target; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_interaction_target(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "material_str"; + auto n_material_str = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_target_materialst, field_name)); + n_material_str->m_field_name = field_name; + n_material_str->m_df_type = DF_Type::Stl_string; + n_material_str->m_rdf_type = RDF_Type::Array; + n_material_str->m_node_type = NodeType::Array; + n_material_str->m_addornements = "[3"; + n_material_str->m_array_size = 3; + n_material_str->m_address = base + offset; + n_material_str->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_material_str); + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_target_materialst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_target_materialst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "parent_interaction_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_target_materialst, field_name)); + auto n_parent_interaction_index = new NodeSimple; + n_parent_interaction_index->m_field_name = field_name; + n_parent_interaction_index->m_df_type = DF_Type::int16_t; + n_parent_interaction_index->m_rdf_type = RDF_Type::int16_t; + n_parent_interaction_index->m_node_type = NodeType::Simple; + n_parent_interaction_index->m_address = base + offset; + n_parent_interaction_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_parent_interaction_index); + + field_name = "breath_attack_type"; + auto n_breath_attack_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_target_materialst, field_name)); + n_breath_attack_type->m_field_name = field_name; + n_breath_attack_type->m_df_type = DF_Type::breath_attack_type; + n_breath_attack_type->m_rdf_type = RDF_Type::Enum; + n_breath_attack_type->m_node_type = NodeType::Enum; + n_breath_attack_type->m_base_type = enum_base_type(n_breath_attack_type->m_df_type); + n_breath_attack_type->m_enum_type = "breath_attack_type"; + n_breath_attack_type->m_address = base + offset; + n_breath_attack_type->m_defined_in = "df.interaction.xml"; + n_breath_attack_type->m_first_value = 0; + n_breath_attack_type->m_last_value = 20; + n_breath_attack_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_breath_attack_type); + + field_name = "restrictions"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interaction_target_materialst, field_name)); + auto n_restrictions = new NodeBitfield; + n_restrictions->m_field_name = field_name; + n_restrictions->m_df_type = DF_Type::interaction_target_materialst__T_restrictions; + n_restrictions->m_rdf_type = RDF_Type::Bitfield; + n_restrictions->m_node_type = NodeType::Bitfield; + n_restrictions->m_address = base + offset; + n_restrictions->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_restrictions); + +} +void node_from_interaction_target_locationst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::interaction_target; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_interaction_target(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_itemdef_ammost(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::itemdef; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_itemdef(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_ammost, field_name)); + auto n_name = new NodeSimple; + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Stl_string; + n_name->m_node_type = NodeType::Simple; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "name_plural"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_ammost, field_name)); + auto n_name_plural = new NodeSimple; + n_name_plural->m_field_name = field_name; + n_name_plural->m_df_type = DF_Type::Stl_string; + n_name_plural->m_rdf_type = RDF_Type::Stl_string; + n_name_plural->m_node_type = NodeType::Simple; + n_name_plural->m_address = base + offset; + n_name_plural->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name_plural); + + field_name = "adjective"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_ammost, field_name)); + auto n_adjective = new NodeSimple; + n_adjective->m_field_name = field_name; + n_adjective->m_df_type = DF_Type::Stl_string; + n_adjective->m_rdf_type = RDF_Type::Stl_string; + n_adjective->m_node_type = NodeType::Simple; + n_adjective->m_address = base + offset; + n_adjective->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_adjective); + + field_name = "ammo_class"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_ammost, field_name)); + auto n_ammo_class = new NodeSimple; + n_ammo_class->m_field_name = field_name; + n_ammo_class->m_df_type = DF_Type::Stl_string; + n_ammo_class->m_rdf_type = RDF_Type::Stl_string; + n_ammo_class->m_node_type = NodeType::Simple; + n_ammo_class->m_address = base + offset; + n_ammo_class->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ammo_class); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_ammost, field_name)); + auto n_flags = new NodeDFFlagArray; + n_flags->m_field_name = field_name; + n_flags->m_index_enum = DF_Type::ammo_flags; + n_flags->m_df_type = DF_Type::ammo_flags; + n_flags->m_size = 1; + n_flags->m_rdf_type = RDF_Type::DFFlagArray; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_defined_in = "df.item-raws.xml"; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "size"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_ammost, field_name)); + auto n_size = new NodeSimple; + n_size->m_field_name = field_name; + n_size->m_df_type = DF_Type::int32_t; + n_size->m_rdf_type = RDF_Type::int32_t; + n_size->m_node_type = NodeType::Simple; + n_size->m_address = base + offset; + n_size->m_comment = "divided by 10"; + n_size->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_size); + + field_name = "value"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_ammost, field_name)); + auto n_value = new NodeSimple; + n_value->m_field_name = field_name; + n_value->m_df_type = DF_Type::int32_t; + n_value->m_rdf_type = RDF_Type::int32_t; + n_value->m_node_type = NodeType::Simple; + n_value->m_address = base + offset; + n_value->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_value); + + field_name = "attacks"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_ammost, field_name)); + auto n_attacks = new NodeVector; + n_attacks->m_field_name = field_name; + n_attacks->m_df_type = DF_Type::weapon_attack; + n_attacks->m_rdf_type = RDF_Type::Vector; + n_attacks->m_node_type = NodeType::Vector; + n_attacks->m_defined_in = "df.item-raws.xml"; + n_attacks->m_addornements = "v*"; + n_attacks->m_address = base + offset; + n_attacks->m_parent = p_node_parent; + n_attacks->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_attacks); + +} +void node_from_itemdef_armorst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::itemdef; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_itemdef(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_armorst, field_name)); + auto n_name = new NodeSimple; + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Stl_string; + n_name->m_node_type = NodeType::Simple; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "name_plural"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_armorst, field_name)); + auto n_name_plural = new NodeSimple; + n_name_plural->m_field_name = field_name; + n_name_plural->m_df_type = DF_Type::Stl_string; + n_name_plural->m_rdf_type = RDF_Type::Stl_string; + n_name_plural->m_node_type = NodeType::Simple; + n_name_plural->m_address = base + offset; + n_name_plural->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name_plural); + + field_name = "name_preplural"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_armorst, field_name)); + auto n_name_preplural = new NodeSimple; + n_name_preplural->m_field_name = field_name; + n_name_preplural->m_df_type = DF_Type::Stl_string; + n_name_preplural->m_rdf_type = RDF_Type::Stl_string; + n_name_preplural->m_node_type = NodeType::Simple; + n_name_preplural->m_address = base + offset; + n_name_preplural->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name_preplural); + + field_name = "material_placeholder"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_armorst, field_name)); + auto n_material_placeholder = new NodeSimple; + n_material_placeholder->m_field_name = field_name; + n_material_placeholder->m_df_type = DF_Type::Stl_string; + n_material_placeholder->m_rdf_type = RDF_Type::Stl_string; + n_material_placeholder->m_node_type = NodeType::Simple; + n_material_placeholder->m_address = base + offset; + n_material_placeholder->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_material_placeholder); + + field_name = "adjective"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_armorst, field_name)); + auto n_adjective = new NodeSimple; + n_adjective->m_field_name = field_name; + n_adjective->m_df_type = DF_Type::Stl_string; + n_adjective->m_rdf_type = RDF_Type::Stl_string; + n_adjective->m_node_type = NodeType::Simple; + n_adjective->m_address = base + offset; + n_adjective->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_adjective); + + field_name = "value"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_armorst, field_name)); + auto n_value = new NodeSimple; + n_value->m_field_name = field_name; + n_value->m_df_type = DF_Type::int32_t; + n_value->m_rdf_type = RDF_Type::int32_t; + n_value->m_node_type = NodeType::Simple; + n_value->m_address = base + offset; + n_value->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_value); + + field_name = "armorlevel"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_armorst, field_name)); + auto n_armorlevel = new NodeSimple; + n_armorlevel->m_field_name = field_name; + n_armorlevel->m_df_type = DF_Type::int8_t; + n_armorlevel->m_rdf_type = RDF_Type::int8_t; + n_armorlevel->m_node_type = NodeType::Simple; + n_armorlevel->m_address = base + offset; + n_armorlevel->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_armorlevel); + + field_name = "ubstep"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_armorst, field_name)); + auto n_ubstep = new NodeSimple; + n_ubstep->m_field_name = field_name; + n_ubstep->m_df_type = DF_Type::int16_t; + n_ubstep->m_rdf_type = RDF_Type::int16_t; + n_ubstep->m_node_type = NodeType::Simple; + n_ubstep->m_address = base + offset; + n_ubstep->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ubstep); + + field_name = "lbstep"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_armorst, field_name)); + auto n_lbstep = new NodeSimple; + n_lbstep->m_field_name = field_name; + n_lbstep->m_df_type = DF_Type::int16_t; + n_lbstep->m_rdf_type = RDF_Type::int16_t; + n_lbstep->m_node_type = NodeType::Simple; + n_lbstep->m_address = base + offset; + n_lbstep->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_lbstep); + + field_name = "material_size"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_armorst, field_name)); + auto n_material_size = new NodeSimple; + n_material_size->m_field_name = field_name; + n_material_size->m_df_type = DF_Type::int32_t; + n_material_size->m_rdf_type = RDF_Type::int32_t; + n_material_size->m_node_type = NodeType::Simple; + n_material_size->m_address = base + offset; + n_material_size->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_material_size); + + field_name = "props"; + auto n_props = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_armorst, field_name)); + n_props->m_field_name = field_name; + n_props->m_df_type = DF_Type::armor_properties; + n_props->m_rdf_type = RDF_Type::Struct; + n_props->m_node_type = NodeType::Compound; + n_props->m_address = base + offset; + n_props->m_defined_in = "df.item-raws.xml"; + n_props->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_props); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_armorst, field_name)); + auto n_flags = new NodeDFFlagArray; + n_flags->m_field_name = field_name; + n_flags->m_index_enum = DF_Type::armor_flags; + n_flags->m_df_type = DF_Type::armor_flags; + n_flags->m_size = 1; + n_flags->m_rdf_type = RDF_Type::DFFlagArray; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_defined_in = "df.item-raws.xml"; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + +} +void node_from_itemdef_glovesst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::itemdef; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_itemdef(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_glovesst, field_name)); + auto n_name = new NodeSimple; + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Stl_string; + n_name->m_node_type = NodeType::Simple; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "name_plural"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_glovesst, field_name)); + auto n_name_plural = new NodeSimple; + n_name_plural->m_field_name = field_name; + n_name_plural->m_df_type = DF_Type::Stl_string; + n_name_plural->m_rdf_type = RDF_Type::Stl_string; + n_name_plural->m_node_type = NodeType::Simple; + n_name_plural->m_address = base + offset; + n_name_plural->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name_plural); + + field_name = "adjective"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_glovesst, field_name)); + auto n_adjective = new NodeSimple; + n_adjective->m_field_name = field_name; + n_adjective->m_df_type = DF_Type::Stl_string; + n_adjective->m_rdf_type = RDF_Type::Stl_string; + n_adjective->m_node_type = NodeType::Simple; + n_adjective->m_address = base + offset; + n_adjective->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_adjective); + + field_name = "value"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_glovesst, field_name)); + auto n_value = new NodeSimple; + n_value->m_field_name = field_name; + n_value->m_df_type = DF_Type::int32_t; + n_value->m_rdf_type = RDF_Type::int32_t; + n_value->m_node_type = NodeType::Simple; + n_value->m_address = base + offset; + n_value->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_value); + + field_name = "armorlevel"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_glovesst, field_name)); + auto n_armorlevel = new NodeSimple; + n_armorlevel->m_field_name = field_name; + n_armorlevel->m_df_type = DF_Type::int8_t; + n_armorlevel->m_rdf_type = RDF_Type::int8_t; + n_armorlevel->m_node_type = NodeType::Simple; + n_armorlevel->m_address = base + offset; + n_armorlevel->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_armorlevel); + + field_name = "upstep"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_glovesst, field_name)); + auto n_upstep = new NodeSimple; + n_upstep->m_field_name = field_name; + n_upstep->m_df_type = DF_Type::int16_t; + n_upstep->m_rdf_type = RDF_Type::int16_t; + n_upstep->m_node_type = NodeType::Simple; + n_upstep->m_address = base + offset; + n_upstep->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_upstep); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_glovesst, field_name)); + auto n_flags = new NodeDFFlagArray; + n_flags->m_field_name = field_name; + n_flags->m_index_enum = DF_Type::gloves_flags; + n_flags->m_df_type = DF_Type::gloves_flags; + n_flags->m_size = 1; + n_flags->m_rdf_type = RDF_Type::DFFlagArray; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_defined_in = "df.item-raws.xml"; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "material_size"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_glovesst, field_name)); + auto n_material_size = new NodeSimple; + n_material_size->m_field_name = field_name; + n_material_size->m_df_type = DF_Type::int32_t; + n_material_size->m_rdf_type = RDF_Type::int32_t; + n_material_size->m_node_type = NodeType::Simple; + n_material_size->m_address = base + offset; + n_material_size->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_material_size); + + field_name = "props"; + auto n_props = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_glovesst, field_name)); + n_props->m_field_name = field_name; + n_props->m_df_type = DF_Type::armor_properties; + n_props->m_rdf_type = RDF_Type::Struct; + n_props->m_node_type = NodeType::Compound; + n_props->m_address = base + offset; + n_props->m_defined_in = "df.item-raws.xml"; + n_props->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_props); + +} +void node_from_itemdef_helmst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::itemdef; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_itemdef(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_helmst, field_name)); + auto n_name = new NodeSimple; + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Stl_string; + n_name->m_node_type = NodeType::Simple; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "name_plural"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_helmst, field_name)); + auto n_name_plural = new NodeSimple; + n_name_plural->m_field_name = field_name; + n_name_plural->m_df_type = DF_Type::Stl_string; + n_name_plural->m_rdf_type = RDF_Type::Stl_string; + n_name_plural->m_node_type = NodeType::Simple; + n_name_plural->m_address = base + offset; + n_name_plural->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name_plural); + + field_name = "adjective"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_helmst, field_name)); + auto n_adjective = new NodeSimple; + n_adjective->m_field_name = field_name; + n_adjective->m_df_type = DF_Type::Stl_string; + n_adjective->m_rdf_type = RDF_Type::Stl_string; + n_adjective->m_node_type = NodeType::Simple; + n_adjective->m_address = base + offset; + n_adjective->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_adjective); + + field_name = "value"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_helmst, field_name)); + auto n_value = new NodeSimple; + n_value->m_field_name = field_name; + n_value->m_df_type = DF_Type::int32_t; + n_value->m_rdf_type = RDF_Type::int32_t; + n_value->m_node_type = NodeType::Simple; + n_value->m_address = base + offset; + n_value->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_value); + + field_name = "armorlevel"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_helmst, field_name)); + auto n_armorlevel = new NodeSimple; + n_armorlevel->m_field_name = field_name; + n_armorlevel->m_df_type = DF_Type::int8_t; + n_armorlevel->m_rdf_type = RDF_Type::int8_t; + n_armorlevel->m_node_type = NodeType::Simple; + n_armorlevel->m_address = base + offset; + n_armorlevel->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_armorlevel); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_helmst, field_name)); + auto n_flags = new NodeDFFlagArray; + n_flags->m_field_name = field_name; + n_flags->m_index_enum = DF_Type::helm_flags; + n_flags->m_df_type = DF_Type::helm_flags; + n_flags->m_size = 1; + n_flags->m_rdf_type = RDF_Type::DFFlagArray; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_defined_in = "df.item-raws.xml"; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "material_size"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_helmst, field_name)); + auto n_material_size = new NodeSimple; + n_material_size->m_field_name = field_name; + n_material_size->m_df_type = DF_Type::int32_t; + n_material_size->m_rdf_type = RDF_Type::int32_t; + n_material_size->m_node_type = NodeType::Simple; + n_material_size->m_address = base + offset; + n_material_size->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_material_size); + + field_name = "props"; + auto n_props = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_helmst, field_name)); + n_props->m_field_name = field_name; + n_props->m_df_type = DF_Type::armor_properties; + n_props->m_rdf_type = RDF_Type::Struct; + n_props->m_node_type = NodeType::Compound; + n_props->m_address = base + offset; + n_props->m_defined_in = "df.item-raws.xml"; + n_props->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_props); + +} +void node_from_itemdef_instrumentst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::itemdef; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_itemdef(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_instrumentst, field_name)); + auto n_name = new NodeSimple; + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Stl_string; + n_name->m_node_type = NodeType::Simple; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "name_plural"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_instrumentst, field_name)); + auto n_name_plural = new NodeSimple; + n_name_plural->m_field_name = field_name; + n_name_plural->m_df_type = DF_Type::Stl_string; + n_name_plural->m_rdf_type = RDF_Type::Stl_string; + n_name_plural->m_node_type = NodeType::Simple; + n_name_plural->m_address = base + offset; + n_name_plural->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name_plural); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_instrumentst, field_name)); + auto n_flags = new NodeDFFlagArray; + n_flags->m_field_name = field_name; + n_flags->m_index_enum = DF_Type::instrument_flags; + n_flags->m_df_type = DF_Type::instrument_flags; + n_flags->m_size = 9; + n_flags->m_rdf_type = RDF_Type::DFFlagArray; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_defined_in = "df.item-raws.xml"; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "music_skill"; + auto n_music_skill = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_instrumentst, field_name)); + n_music_skill->m_field_name = field_name; + n_music_skill->m_df_type = DF_Type::job_skill; + n_music_skill->m_rdf_type = RDF_Type::Enum; + n_music_skill->m_node_type = NodeType::Enum; + n_music_skill->m_base_type = enum_base_type(n_music_skill->m_df_type); + n_music_skill->m_enum_type = "job_skill"; + n_music_skill->m_address = base + offset; + n_music_skill->m_defined_in = "df.skills.xml"; + n_music_skill->m_first_value = -1; + n_music_skill->m_last_value = 134; + n_music_skill->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_music_skill); + + field_name = "size"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_instrumentst, field_name)); + auto n_size = new NodeSimple; + n_size->m_field_name = field_name; + n_size->m_df_type = DF_Type::int32_t; + n_size->m_rdf_type = RDF_Type::int32_t; + n_size->m_node_type = NodeType::Simple; + n_size->m_address = base + offset; + n_size->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_size); + + field_name = "value"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_instrumentst, field_name)); + auto n_value = new NodeSimple; + n_value->m_field_name = field_name; + n_value->m_df_type = DF_Type::int32_t; + n_value->m_rdf_type = RDF_Type::int32_t; + n_value->m_node_type = NodeType::Simple; + n_value->m_address = base + offset; + n_value->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_value); + + field_name = "material_size"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_instrumentst, field_name)); + auto n_material_size = new NodeSimple; + n_material_size->m_field_name = field_name; + n_material_size->m_df_type = DF_Type::int32_t; + n_material_size->m_rdf_type = RDF_Type::int32_t; + n_material_size->m_node_type = NodeType::Simple; + n_material_size->m_address = base + offset; + n_material_size->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_material_size); + + field_name = "pieces"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_instrumentst, field_name)); + auto n_pieces = new NodeVector; + n_pieces->m_field_name = field_name; + n_pieces->m_df_type = DF_Type::instrument_piece; + n_pieces->m_rdf_type = RDF_Type::Vector; + n_pieces->m_node_type = NodeType::Vector; + n_pieces->m_defined_in = "df.item-raws.xml"; + n_pieces->m_addornements = "v*"; + n_pieces->m_address = base + offset; + n_pieces->m_parent = p_node_parent; + n_pieces->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_pieces); + + field_name = "dominant_instrument_piece"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_instrumentst, field_name)); + auto n_dominant_instrument_piece = new NodeSimple; + n_dominant_instrument_piece->m_field_name = field_name; + n_dominant_instrument_piece->m_df_type = DF_Type::Stl_string; + n_dominant_instrument_piece->m_rdf_type = RDF_Type::Stl_string; + n_dominant_instrument_piece->m_node_type = NodeType::Simple; + n_dominant_instrument_piece->m_address = base + offset; + n_dominant_instrument_piece->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dominant_instrument_piece); + + field_name = "pitch_range_min"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_instrumentst, field_name)); + auto n_pitch_range_min = new NodeSimple; + n_pitch_range_min->m_field_name = field_name; + n_pitch_range_min->m_df_type = DF_Type::int32_t; + n_pitch_range_min->m_rdf_type = RDF_Type::int32_t; + n_pitch_range_min->m_node_type = NodeType::Simple; + n_pitch_range_min->m_address = base + offset; + n_pitch_range_min->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pitch_range_min); + + field_name = "pitch_range_max"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_instrumentst, field_name)); + auto n_pitch_range_max = new NodeSimple; + n_pitch_range_max->m_field_name = field_name; + n_pitch_range_max->m_df_type = DF_Type::int32_t; + n_pitch_range_max->m_rdf_type = RDF_Type::int32_t; + n_pitch_range_max->m_node_type = NodeType::Simple; + n_pitch_range_max->m_address = base + offset; + n_pitch_range_max->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pitch_range_max); + + field_name = "volume_mb_min"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_instrumentst, field_name)); + auto n_volume_mb_min = new NodeSimple; + n_volume_mb_min->m_field_name = field_name; + n_volume_mb_min->m_df_type = DF_Type::int32_t; + n_volume_mb_min->m_rdf_type = RDF_Type::int32_t; + n_volume_mb_min->m_node_type = NodeType::Simple; + n_volume_mb_min->m_address = base + offset; + n_volume_mb_min->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_volume_mb_min); + + field_name = "volume_mb_max"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_instrumentst, field_name)); + auto n_volume_mb_max = new NodeSimple; + n_volume_mb_max->m_field_name = field_name; + n_volume_mb_max->m_df_type = DF_Type::int32_t; + n_volume_mb_max->m_rdf_type = RDF_Type::int32_t; + n_volume_mb_max->m_node_type = NodeType::Simple; + n_volume_mb_max->m_address = base + offset; + n_volume_mb_max->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_volume_mb_max); + + field_name = "sound_production"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_instrumentst, field_name)); + auto n_sound_production = new NodeVector; + n_sound_production->m_field_name = field_name; + n_sound_production->m_df_type = DF_Type::sound_production_type; + n_sound_production->m_rdf_type = RDF_Type::Vector; + n_sound_production->m_node_type = NodeType::Vector; + n_sound_production->m_enum_base = enum_base_type(n_sound_production->m_df_type); + n_sound_production->m_defined_in = "df.item-raws.xml"; + n_sound_production->m_addornements = "v"; + n_sound_production->m_address = base + offset; + n_sound_production->m_parent = p_node_parent; + n_sound_production->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_sound_production); + + field_name = "sound_production_parm1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_instrumentst, field_name)); + auto n_sound_production_parm1 = new NodeVector; + n_sound_production_parm1->m_field_name = field_name; + n_sound_production_parm1->m_df_type = DF_Type::Stl_string; + n_sound_production_parm1->m_rdf_type = RDF_Type::Vector; + n_sound_production_parm1->m_node_type = NodeType::Vector; + n_sound_production_parm1->m_addornements = "v*"; + n_sound_production_parm1->m_address = base + offset; + n_sound_production_parm1->m_parent = p_node_parent; + n_sound_production_parm1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_sound_production_parm1); + + field_name = "sound_production_parm2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_instrumentst, field_name)); + auto n_sound_production_parm2 = new NodeVector; + n_sound_production_parm2->m_field_name = field_name; + n_sound_production_parm2->m_df_type = DF_Type::Stl_string; + n_sound_production_parm2->m_rdf_type = RDF_Type::Vector; + n_sound_production_parm2->m_node_type = NodeType::Vector; + n_sound_production_parm2->m_addornements = "v*"; + n_sound_production_parm2->m_address = base + offset; + n_sound_production_parm2->m_parent = p_node_parent; + n_sound_production_parm2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_sound_production_parm2); + + field_name = "unk_100"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_instrumentst, field_name)); + auto n_unk_100 = new NodeVector; + n_unk_100->m_field_name = field_name; + n_unk_100->m_df_type = DF_Type::Void; + n_unk_100->m_rdf_type = RDF_Type::Vector; + n_unk_100->m_node_type = NodeType::Vector; + n_unk_100->m_addornements = "v"; + n_unk_100->m_address = base + offset; + n_unk_100->m_parent = p_node_parent; + n_unk_100->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_100); + + field_name = "unk_110"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_instrumentst, field_name)); + auto n_unk_110 = new NodeVector; + n_unk_110->m_field_name = field_name; + n_unk_110->m_df_type = DF_Type::Void; + n_unk_110->m_rdf_type = RDF_Type::Vector; + n_unk_110->m_node_type = NodeType::Vector; + n_unk_110->m_addornements = "v"; + n_unk_110->m_address = base + offset; + n_unk_110->m_parent = p_node_parent; + n_unk_110->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_110); + + field_name = "pitch_choice"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_instrumentst, field_name)); + auto n_pitch_choice = new NodeVector; + n_pitch_choice->m_field_name = field_name; + n_pitch_choice->m_df_type = DF_Type::pitch_choice_type; + n_pitch_choice->m_rdf_type = RDF_Type::Vector; + n_pitch_choice->m_node_type = NodeType::Vector; + n_pitch_choice->m_enum_base = enum_base_type(n_pitch_choice->m_df_type); + n_pitch_choice->m_defined_in = "df.item-raws.xml"; + n_pitch_choice->m_addornements = "v"; + n_pitch_choice->m_address = base + offset; + n_pitch_choice->m_parent = p_node_parent; + n_pitch_choice->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_pitch_choice); + + field_name = "pitch_choice_parm1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_instrumentst, field_name)); + auto n_pitch_choice_parm1 = new NodeVector; + n_pitch_choice_parm1->m_field_name = field_name; + n_pitch_choice_parm1->m_df_type = DF_Type::Stl_string; + n_pitch_choice_parm1->m_rdf_type = RDF_Type::Vector; + n_pitch_choice_parm1->m_node_type = NodeType::Vector; + n_pitch_choice_parm1->m_addornements = "v*"; + n_pitch_choice_parm1->m_address = base + offset; + n_pitch_choice_parm1->m_parent = p_node_parent; + n_pitch_choice_parm1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_pitch_choice_parm1); + + field_name = "pitch_choice_parm2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_instrumentst, field_name)); + auto n_pitch_choice_parm2 = new NodeVector; + n_pitch_choice_parm2->m_field_name = field_name; + n_pitch_choice_parm2->m_df_type = DF_Type::Stl_string; + n_pitch_choice_parm2->m_rdf_type = RDF_Type::Vector; + n_pitch_choice_parm2->m_node_type = NodeType::Vector; + n_pitch_choice_parm2->m_addornements = "v*"; + n_pitch_choice_parm2->m_address = base + offset; + n_pitch_choice_parm2->m_parent = p_node_parent; + n_pitch_choice_parm2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_pitch_choice_parm2); + + field_name = "unk_150"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_instrumentst, field_name)); + auto n_unk_150 = new NodeVector; + n_unk_150->m_field_name = field_name; + n_unk_150->m_df_type = DF_Type::Void; + n_unk_150->m_rdf_type = RDF_Type::Vector; + n_unk_150->m_node_type = NodeType::Vector; + n_unk_150->m_addornements = "v"; + n_unk_150->m_address = base + offset; + n_unk_150->m_parent = p_node_parent; + n_unk_150->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_150); + + field_name = "unk_160"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_instrumentst, field_name)); + auto n_unk_160 = new NodeVector; + n_unk_160->m_field_name = field_name; + n_unk_160->m_df_type = DF_Type::Void; + n_unk_160->m_rdf_type = RDF_Type::Vector; + n_unk_160->m_node_type = NodeType::Vector; + n_unk_160->m_addornements = "v"; + n_unk_160->m_address = base + offset; + n_unk_160->m_parent = p_node_parent; + n_unk_160->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_160); + + field_name = "tuning"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_instrumentst, field_name)); + auto n_tuning = new NodeVector; + n_tuning->m_field_name = field_name; + n_tuning->m_df_type = DF_Type::tuning_type; + n_tuning->m_rdf_type = RDF_Type::Vector; + n_tuning->m_node_type = NodeType::Vector; + n_tuning->m_enum_base = enum_base_type(n_tuning->m_df_type); + n_tuning->m_defined_in = "df.item-raws.xml"; + n_tuning->m_addornements = "v"; + n_tuning->m_address = base + offset; + n_tuning->m_parent = p_node_parent; + n_tuning->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_tuning); + + field_name = "tuning_parm"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_instrumentst, field_name)); + auto n_tuning_parm = new NodeVector; + n_tuning_parm->m_field_name = field_name; + n_tuning_parm->m_df_type = DF_Type::Stl_string; + n_tuning_parm->m_rdf_type = RDF_Type::Vector; + n_tuning_parm->m_node_type = NodeType::Vector; + n_tuning_parm->m_addornements = "v*"; + n_tuning_parm->m_address = base + offset; + n_tuning_parm->m_parent = p_node_parent; + n_tuning_parm->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_tuning_parm); + + field_name = "unk_190"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_instrumentst, field_name)); + auto n_unk_190 = new NodeVector; + n_unk_190->m_field_name = field_name; + n_unk_190->m_df_type = DF_Type::Void; + n_unk_190->m_rdf_type = RDF_Type::Vector; + n_unk_190->m_node_type = NodeType::Vector; + n_unk_190->m_addornements = "v"; + n_unk_190->m_address = base + offset; + n_unk_190->m_parent = p_node_parent; + n_unk_190->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_190); + + field_name = "registers"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_instrumentst, field_name)); + auto n_registers = new NodeVector; + n_registers->m_field_name = field_name; + n_registers->m_df_type = DF_Type::instrument_register; + n_registers->m_rdf_type = RDF_Type::Vector; + n_registers->m_node_type = NodeType::Vector; + n_registers->m_defined_in = "df.item-raws.xml"; + n_registers->m_addornements = "v*"; + n_registers->m_address = base + offset; + n_registers->m_parent = p_node_parent; + n_registers->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_registers); + + field_name = "timbre"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_instrumentst, field_name)); + auto n_timbre = new NodeVector; + n_timbre->m_field_name = field_name; + n_timbre->m_df_type = DF_Type::timbre_type; + n_timbre->m_rdf_type = RDF_Type::Vector; + n_timbre->m_node_type = NodeType::Vector; + n_timbre->m_enum_base = enum_base_type(n_timbre->m_df_type); + n_timbre->m_defined_in = "df.item-raws.xml"; + n_timbre->m_addornements = "v"; + n_timbre->m_address = base + offset; + n_timbre->m_parent = p_node_parent; + n_timbre->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_timbre); + + field_name = "description"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_instrumentst, field_name)); + auto n_description = new NodeSimple; + n_description->m_field_name = field_name; + n_description->m_df_type = DF_Type::Stl_string; + n_description->m_rdf_type = RDF_Type::Stl_string; + n_description->m_node_type = NodeType::Simple; + n_description->m_address = base + offset; + n_description->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_description); + +} +void node_from_instrument_register(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "pitch_range_min"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::instrument_register, field_name)); + auto n_pitch_range_min = new NodeSimple; + n_pitch_range_min->m_field_name = field_name; + n_pitch_range_min->m_df_type = DF_Type::int32_t; + n_pitch_range_min->m_rdf_type = RDF_Type::int32_t; + n_pitch_range_min->m_node_type = NodeType::Simple; + n_pitch_range_min->m_address = base + offset; + n_pitch_range_min->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pitch_range_min); + + field_name = "pitch_range_max"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::instrument_register, field_name)); + auto n_pitch_range_max = new NodeSimple; + n_pitch_range_max->m_field_name = field_name; + n_pitch_range_max->m_df_type = DF_Type::int32_t; + n_pitch_range_max->m_rdf_type = RDF_Type::int32_t; + n_pitch_range_max->m_node_type = NodeType::Simple; + n_pitch_range_max->m_address = base + offset; + n_pitch_range_max->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pitch_range_max); + + field_name = "timbres"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::instrument_register, field_name)); + auto n_timbres = new NodeVector; + n_timbres->m_field_name = field_name; + n_timbres->m_df_type = DF_Type::timbre_type; + n_timbres->m_rdf_type = RDF_Type::Vector; + n_timbres->m_node_type = NodeType::Vector; + n_timbres->m_enum_base = enum_base_type(n_timbres->m_df_type); + n_timbres->m_defined_in = "df.item-raws.xml"; + n_timbres->m_addornements = "v"; + n_timbres->m_address = base + offset; + n_timbres->m_parent = p_node_parent; + n_timbres->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_timbres); + +} +void node_from_itemdef_pantsst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::itemdef; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_itemdef(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_pantsst, field_name)); + auto n_name = new NodeSimple; + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Stl_string; + n_name->m_node_type = NodeType::Simple; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "name_plural"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_pantsst, field_name)); + auto n_name_plural = new NodeSimple; + n_name_plural->m_field_name = field_name; + n_name_plural->m_df_type = DF_Type::Stl_string; + n_name_plural->m_rdf_type = RDF_Type::Stl_string; + n_name_plural->m_node_type = NodeType::Simple; + n_name_plural->m_address = base + offset; + n_name_plural->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name_plural); + + field_name = "name_preplural"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_pantsst, field_name)); + auto n_name_preplural = new NodeSimple; + n_name_preplural->m_field_name = field_name; + n_name_preplural->m_df_type = DF_Type::Stl_string; + n_name_preplural->m_rdf_type = RDF_Type::Stl_string; + n_name_preplural->m_node_type = NodeType::Simple; + n_name_preplural->m_address = base + offset; + n_name_preplural->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name_preplural); + + field_name = "material_placeholder"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_pantsst, field_name)); + auto n_material_placeholder = new NodeSimple; + n_material_placeholder->m_field_name = field_name; + n_material_placeholder->m_df_type = DF_Type::Stl_string; + n_material_placeholder->m_rdf_type = RDF_Type::Stl_string; + n_material_placeholder->m_node_type = NodeType::Simple; + n_material_placeholder->m_address = base + offset; + n_material_placeholder->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_material_placeholder); + + field_name = "adjective"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_pantsst, field_name)); + auto n_adjective = new NodeSimple; + n_adjective->m_field_name = field_name; + n_adjective->m_df_type = DF_Type::Stl_string; + n_adjective->m_rdf_type = RDF_Type::Stl_string; + n_adjective->m_node_type = NodeType::Simple; + n_adjective->m_address = base + offset; + n_adjective->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_adjective); + + field_name = "value"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_pantsst, field_name)); + auto n_value = new NodeSimple; + n_value->m_field_name = field_name; + n_value->m_df_type = DF_Type::int32_t; + n_value->m_rdf_type = RDF_Type::int32_t; + n_value->m_node_type = NodeType::Simple; + n_value->m_address = base + offset; + n_value->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_value); + + field_name = "armorlevel"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_pantsst, field_name)); + auto n_armorlevel = new NodeSimple; + n_armorlevel->m_field_name = field_name; + n_armorlevel->m_df_type = DF_Type::int8_t; + n_armorlevel->m_rdf_type = RDF_Type::int8_t; + n_armorlevel->m_node_type = NodeType::Simple; + n_armorlevel->m_address = base + offset; + n_armorlevel->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_armorlevel); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_pantsst, field_name)); + auto n_flags = new NodeDFFlagArray; + n_flags->m_field_name = field_name; + n_flags->m_index_enum = DF_Type::pants_flags; + n_flags->m_df_type = DF_Type::pants_flags; + n_flags->m_size = 1; + n_flags->m_rdf_type = RDF_Type::DFFlagArray; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_defined_in = "df.item-raws.xml"; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "material_size"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_pantsst, field_name)); + auto n_material_size = new NodeSimple; + n_material_size->m_field_name = field_name; + n_material_size->m_df_type = DF_Type::int32_t; + n_material_size->m_rdf_type = RDF_Type::int32_t; + n_material_size->m_node_type = NodeType::Simple; + n_material_size->m_address = base + offset; + n_material_size->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_material_size); + + field_name = "lbstep"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_pantsst, field_name)); + auto n_lbstep = new NodeSimple; + n_lbstep->m_field_name = field_name; + n_lbstep->m_df_type = DF_Type::int16_t; + n_lbstep->m_rdf_type = RDF_Type::int16_t; + n_lbstep->m_node_type = NodeType::Simple; + n_lbstep->m_address = base + offset; + n_lbstep->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_lbstep); + + field_name = "props"; + auto n_props = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_pantsst, field_name)); + n_props->m_field_name = field_name; + n_props->m_df_type = DF_Type::armor_properties; + n_props->m_rdf_type = RDF_Type::Struct; + n_props->m_node_type = NodeType::Compound; + n_props->m_address = base + offset; + n_props->m_defined_in = "df.item-raws.xml"; + n_props->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_props); + +} +void node_from_itemdef_shoesst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::itemdef; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_itemdef(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_shoesst, field_name)); + auto n_name = new NodeSimple; + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Stl_string; + n_name->m_node_type = NodeType::Simple; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "name_plural"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_shoesst, field_name)); + auto n_name_plural = new NodeSimple; + n_name_plural->m_field_name = field_name; + n_name_plural->m_df_type = DF_Type::Stl_string; + n_name_plural->m_rdf_type = RDF_Type::Stl_string; + n_name_plural->m_node_type = NodeType::Simple; + n_name_plural->m_address = base + offset; + n_name_plural->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name_plural); + + field_name = "adjective"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_shoesst, field_name)); + auto n_adjective = new NodeSimple; + n_adjective->m_field_name = field_name; + n_adjective->m_df_type = DF_Type::Stl_string; + n_adjective->m_rdf_type = RDF_Type::Stl_string; + n_adjective->m_node_type = NodeType::Simple; + n_adjective->m_address = base + offset; + n_adjective->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_adjective); + + field_name = "value"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_shoesst, field_name)); + auto n_value = new NodeSimple; + n_value->m_field_name = field_name; + n_value->m_df_type = DF_Type::int32_t; + n_value->m_rdf_type = RDF_Type::int32_t; + n_value->m_node_type = NodeType::Simple; + n_value->m_address = base + offset; + n_value->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_value); + + field_name = "armorlevel"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_shoesst, field_name)); + auto n_armorlevel = new NodeSimple; + n_armorlevel->m_field_name = field_name; + n_armorlevel->m_df_type = DF_Type::int8_t; + n_armorlevel->m_rdf_type = RDF_Type::int8_t; + n_armorlevel->m_node_type = NodeType::Simple; + n_armorlevel->m_address = base + offset; + n_armorlevel->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_armorlevel); + + field_name = "upstep"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_shoesst, field_name)); + auto n_upstep = new NodeSimple; + n_upstep->m_field_name = field_name; + n_upstep->m_df_type = DF_Type::int16_t; + n_upstep->m_rdf_type = RDF_Type::int16_t; + n_upstep->m_node_type = NodeType::Simple; + n_upstep->m_address = base + offset; + n_upstep->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_upstep); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_shoesst, field_name)); + auto n_flags = new NodeDFFlagArray; + n_flags->m_field_name = field_name; + n_flags->m_index_enum = DF_Type::shoes_flags; + n_flags->m_df_type = DF_Type::shoes_flags; + n_flags->m_size = 1; + n_flags->m_rdf_type = RDF_Type::DFFlagArray; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_defined_in = "df.item-raws.xml"; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "material_size"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_shoesst, field_name)); + auto n_material_size = new NodeSimple; + n_material_size->m_field_name = field_name; + n_material_size->m_df_type = DF_Type::int32_t; + n_material_size->m_rdf_type = RDF_Type::int32_t; + n_material_size->m_node_type = NodeType::Simple; + n_material_size->m_address = base + offset; + n_material_size->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_material_size); + + field_name = "props"; + auto n_props = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_shoesst, field_name)); + n_props->m_field_name = field_name; + n_props->m_df_type = DF_Type::armor_properties; + n_props->m_rdf_type = RDF_Type::Struct; + n_props->m_node_type = NodeType::Compound; + n_props->m_address = base + offset; + n_props->m_defined_in = "df.item-raws.xml"; + n_props->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_props); + +} +void node_from_itemdef_toolst__T_default_improvements(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "type"; + auto n_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_toolst__T_default_improvements, field_name)); + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::improvement_type; + n_type->m_rdf_type = RDF_Type::Enum; + n_type->m_node_type = NodeType::Enum; + n_type->m_base_type = DF_Type::int32_t; + n_type->m_enum_type = "improvement_type"; + n_type->m_address = base + offset; + n_type->m_defined_in = "df.itemimprovements.xml"; + n_type->m_first_value = 0; + n_type->m_last_value = 12; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + + field_name = "specific_type"; + auto n_specific_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_toolst__T_default_improvements, field_name)); + n_specific_type->m_field_name = field_name; + n_specific_type->m_df_type = DF_Type::itemimprovement_specific_type; + n_specific_type->m_rdf_type = RDF_Type::Enum; + n_specific_type->m_node_type = NodeType::Enum; + n_specific_type->m_base_type = DF_Type::int32_t; + n_specific_type->m_enum_type = "itemimprovement_specific_type"; + n_specific_type->m_address = base + offset; + n_specific_type->m_defined_in = "df.itemimprovements.xml"; + n_specific_type->m_first_value = 0; + n_specific_type->m_last_value = 1; + n_specific_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_specific_type); + + field_name = "instrument_part"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_toolst__T_default_improvements, field_name)); + auto n_instrument_part = new NodeSimple; + n_instrument_part->m_field_name = field_name; + n_instrument_part->m_df_type = DF_Type::Stl_string; + n_instrument_part->m_rdf_type = RDF_Type::Stl_string; + n_instrument_part->m_node_type = NodeType::Simple; + n_instrument_part->m_address = base + offset; + n_instrument_part->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_instrument_part); + + field_name = "restriction"; + auto n_restriction = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_toolst__T_default_improvements, field_name)); + n_restriction->m_field_name = field_name; + n_restriction->m_df_type = DF_Type::tool_flags; + n_restriction->m_rdf_type = RDF_Type::Enum; + n_restriction->m_node_type = NodeType::Enum; + n_restriction->m_base_type = DF_Type::int32_t; + n_restriction->m_enum_type = "tool_flags"; + n_restriction->m_address = base + offset; + n_restriction->m_defined_in = "df.item-raws.xml"; + n_restriction->m_first_value = 0; + n_restriction->m_last_value = 19; + n_restriction->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_restriction); + +} +void node_from_itemdef_toolst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::itemdef; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_itemdef(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_toolst, field_name)); + auto n_name = new NodeSimple; + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Stl_string; + n_name->m_node_type = NodeType::Simple; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "name_plural"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_toolst, field_name)); + auto n_name_plural = new NodeSimple; + n_name_plural->m_field_name = field_name; + n_name_plural->m_df_type = DF_Type::Stl_string; + n_name_plural->m_rdf_type = RDF_Type::Stl_string; + n_name_plural->m_node_type = NodeType::Simple; + n_name_plural->m_address = base + offset; + n_name_plural->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name_plural); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_toolst, field_name)); + auto n_flags = new NodeDFFlagArray; + n_flags->m_field_name = field_name; + n_flags->m_index_enum = DF_Type::tool_flags; + n_flags->m_df_type = DF_Type::tool_flags; + n_flags->m_size = 20; + n_flags->m_rdf_type = RDF_Type::DFFlagArray; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_defined_in = "df.item-raws.xml"; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "value"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_toolst, field_name)); + auto n_value = new NodeSimple; + n_value->m_field_name = field_name; + n_value->m_df_type = DF_Type::int32_t; + n_value->m_rdf_type = RDF_Type::int32_t; + n_value->m_node_type = NodeType::Simple; + n_value->m_address = base + offset; + n_value->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_value); + + field_name = "tile"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_toolst, field_name)); + auto n_tile = new NodeSimple; + n_tile->m_field_name = field_name; + n_tile->m_df_type = DF_Type::uint8_t; + n_tile->m_rdf_type = RDF_Type::uint8_t; + n_tile->m_node_type = NodeType::Simple; + n_tile->m_address = base + offset; + n_tile->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tile); + + field_name = "tool_use"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_toolst, field_name)); + auto n_tool_use = new NodeVector; + n_tool_use->m_field_name = field_name; + n_tool_use->m_df_type = DF_Type::tool_uses; + n_tool_use->m_rdf_type = RDF_Type::Vector; + n_tool_use->m_node_type = NodeType::Vector; + n_tool_use->m_enum_base = DF_Type::int16_t; + n_tool_use->m_defined_in = "df.item-raws.xml"; + n_tool_use->m_addornements = "v"; + n_tool_use->m_address = base + offset; + n_tool_use->m_parent = p_node_parent; + n_tool_use->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_tool_use); + + field_name = "adjective"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_toolst, field_name)); + auto n_adjective = new NodeSimple; + n_adjective->m_field_name = field_name; + n_adjective->m_df_type = DF_Type::Stl_string; + n_adjective->m_rdf_type = RDF_Type::Stl_string; + n_adjective->m_node_type = NodeType::Simple; + n_adjective->m_address = base + offset; + n_adjective->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_adjective); + + field_name = "size"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_toolst, field_name)); + auto n_size = new NodeSimple; + n_size->m_field_name = field_name; + n_size->m_df_type = DF_Type::int32_t; + n_size->m_rdf_type = RDF_Type::int32_t; + n_size->m_node_type = NodeType::Simple; + n_size->m_address = base + offset; + n_size->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_size); + + field_name = "skill_melee"; + auto n_skill_melee = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_toolst, field_name)); + n_skill_melee->m_field_name = field_name; + n_skill_melee->m_df_type = DF_Type::job_skill; + n_skill_melee->m_rdf_type = RDF_Type::Enum; + n_skill_melee->m_node_type = NodeType::Enum; + n_skill_melee->m_base_type = DF_Type::int16_t; + n_skill_melee->m_enum_type = "job_skill"; + n_skill_melee->m_address = base + offset; + n_skill_melee->m_defined_in = "df.skills.xml"; + n_skill_melee->m_first_value = -1; + n_skill_melee->m_last_value = 134; + n_skill_melee->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_skill_melee); + + field_name = "skill_ranged"; + auto n_skill_ranged = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_toolst, field_name)); + n_skill_ranged->m_field_name = field_name; + n_skill_ranged->m_df_type = DF_Type::job_skill; + n_skill_ranged->m_rdf_type = RDF_Type::Enum; + n_skill_ranged->m_node_type = NodeType::Enum; + n_skill_ranged->m_base_type = DF_Type::int16_t; + n_skill_ranged->m_enum_type = "job_skill"; + n_skill_ranged->m_address = base + offset; + n_skill_ranged->m_defined_in = "df.skills.xml"; + n_skill_ranged->m_first_value = -1; + n_skill_ranged->m_last_value = 134; + n_skill_ranged->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_skill_ranged); + + field_name = "ranged_ammo"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_toolst, field_name)); + auto n_ranged_ammo = new NodeSimple; + n_ranged_ammo->m_field_name = field_name; + n_ranged_ammo->m_df_type = DF_Type::Stl_string; + n_ranged_ammo->m_rdf_type = RDF_Type::Stl_string; + n_ranged_ammo->m_node_type = NodeType::Simple; + n_ranged_ammo->m_address = base + offset; + n_ranged_ammo->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ranged_ammo); + + field_name = "two_handed"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_toolst, field_name)); + auto n_two_handed = new NodeSimple; + n_two_handed->m_field_name = field_name; + n_two_handed->m_df_type = DF_Type::int32_t; + n_two_handed->m_rdf_type = RDF_Type::int32_t; + n_two_handed->m_node_type = NodeType::Simple; + n_two_handed->m_address = base + offset; + n_two_handed->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_two_handed); + + field_name = "minimum_size"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_toolst, field_name)); + auto n_minimum_size = new NodeSimple; + n_minimum_size->m_field_name = field_name; + n_minimum_size->m_df_type = DF_Type::int32_t; + n_minimum_size->m_rdf_type = RDF_Type::int32_t; + n_minimum_size->m_node_type = NodeType::Simple; + n_minimum_size->m_address = base + offset; + n_minimum_size->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_minimum_size); + + field_name = "material_size"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_toolst, field_name)); + auto n_material_size = new NodeSimple; + n_material_size->m_field_name = field_name; + n_material_size->m_df_type = DF_Type::int32_t; + n_material_size->m_rdf_type = RDF_Type::int32_t; + n_material_size->m_node_type = NodeType::Simple; + n_material_size->m_address = base + offset; + n_material_size->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_material_size); + + field_name = "attacks"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_toolst, field_name)); + auto n_attacks = new NodeVector; + n_attacks->m_field_name = field_name; + n_attacks->m_df_type = DF_Type::weapon_attack; + n_attacks->m_rdf_type = RDF_Type::Vector; + n_attacks->m_node_type = NodeType::Vector; + n_attacks->m_defined_in = "df.item-raws.xml"; + n_attacks->m_addornements = "v*"; + n_attacks->m_address = base + offset; + n_attacks->m_parent = p_node_parent; + n_attacks->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_attacks); + + field_name = "shoot_force"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_toolst, field_name)); + auto n_shoot_force = new NodeSimple; + n_shoot_force->m_field_name = field_name; + n_shoot_force->m_df_type = DF_Type::int32_t; + n_shoot_force->m_rdf_type = RDF_Type::int32_t; + n_shoot_force->m_node_type = NodeType::Simple; + n_shoot_force->m_address = base + offset; + n_shoot_force->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_shoot_force); + + field_name = "shoot_maxvel"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_toolst, field_name)); + auto n_shoot_maxvel = new NodeSimple; + n_shoot_maxvel->m_field_name = field_name; + n_shoot_maxvel->m_df_type = DF_Type::int32_t; + n_shoot_maxvel->m_rdf_type = RDF_Type::int32_t; + n_shoot_maxvel->m_node_type = NodeType::Simple; + n_shoot_maxvel->m_address = base + offset; + n_shoot_maxvel->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_shoot_maxvel); + + field_name = "container_capacity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_toolst, field_name)); + auto n_container_capacity = new NodeSimple; + n_container_capacity->m_field_name = field_name; + n_container_capacity->m_df_type = DF_Type::int32_t; + n_container_capacity->m_rdf_type = RDF_Type::int32_t; + n_container_capacity->m_node_type = NodeType::Simple; + n_container_capacity->m_address = base + offset; + n_container_capacity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_container_capacity); + + field_name = "description"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_toolst, field_name)); + auto n_description = new NodeSimple; + n_description->m_field_name = field_name; + n_description->m_df_type = DF_Type::Stl_string; + n_description->m_rdf_type = RDF_Type::Stl_string; + n_description->m_node_type = NodeType::Simple; + n_description->m_address = base + offset; + n_description->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_description); + + field_name = "default_improvements"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_toolst, field_name)); + auto n_default_improvements = new NodeVector; + n_default_improvements->m_field_name = field_name; + n_default_improvements->m_df_type = DF_Type::itemdef_toolst__T_default_improvements; + n_default_improvements->m_rdf_type = RDF_Type::Vector; + n_default_improvements->m_node_type = NodeType::Vector; + n_default_improvements->m_addornements = "v*"; + n_default_improvements->m_address = base + offset; + n_default_improvements->m_parent = p_node_parent; + n_default_improvements->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_default_improvements); + +} +void node_from_itemdef_trapcompst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::itemdef; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_itemdef(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_trapcompst, field_name)); + auto n_name = new NodeSimple; + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Stl_string; + n_name->m_node_type = NodeType::Simple; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "name_plural"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_trapcompst, field_name)); + auto n_name_plural = new NodeSimple; + n_name_plural->m_field_name = field_name; + n_name_plural->m_df_type = DF_Type::Stl_string; + n_name_plural->m_rdf_type = RDF_Type::Stl_string; + n_name_plural->m_node_type = NodeType::Simple; + n_name_plural->m_address = base + offset; + n_name_plural->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name_plural); + + field_name = "adjective"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_trapcompst, field_name)); + auto n_adjective = new NodeSimple; + n_adjective->m_field_name = field_name; + n_adjective->m_df_type = DF_Type::Stl_string; + n_adjective->m_rdf_type = RDF_Type::Stl_string; + n_adjective->m_node_type = NodeType::Simple; + n_adjective->m_address = base + offset; + n_adjective->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_adjective); + + field_name = "size"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_trapcompst, field_name)); + auto n_size = new NodeSimple; + n_size->m_field_name = field_name; + n_size->m_df_type = DF_Type::int32_t; + n_size->m_rdf_type = RDF_Type::int32_t; + n_size->m_node_type = NodeType::Simple; + n_size->m_address = base + offset; + n_size->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_size); + + field_name = "value"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_trapcompst, field_name)); + auto n_value = new NodeSimple; + n_value->m_field_name = field_name; + n_value->m_df_type = DF_Type::int32_t; + n_value->m_rdf_type = RDF_Type::int32_t; + n_value->m_node_type = NodeType::Simple; + n_value->m_address = base + offset; + n_value->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_value); + + field_name = "hits"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_trapcompst, field_name)); + auto n_hits = new NodeSimple; + n_hits->m_field_name = field_name; + n_hits->m_df_type = DF_Type::int32_t; + n_hits->m_rdf_type = RDF_Type::int32_t; + n_hits->m_node_type = NodeType::Simple; + n_hits->m_address = base + offset; + n_hits->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_hits); + + field_name = "material_size"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_trapcompst, field_name)); + auto n_material_size = new NodeSimple; + n_material_size->m_field_name = field_name; + n_material_size->m_df_type = DF_Type::int32_t; + n_material_size->m_rdf_type = RDF_Type::int32_t; + n_material_size->m_node_type = NodeType::Simple; + n_material_size->m_address = base + offset; + n_material_size->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_material_size); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_trapcompst, field_name)); + auto n_flags = new NodeDFFlagArray; + n_flags->m_field_name = field_name; + n_flags->m_index_enum = DF_Type::trapcomp_flags; + n_flags->m_df_type = DF_Type::trapcomp_flags; + n_flags->m_size = 5; + n_flags->m_rdf_type = RDF_Type::DFFlagArray; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_defined_in = "df.item-raws.xml"; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "attacks"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_trapcompst, field_name)); + auto n_attacks = new NodeVector; + n_attacks->m_field_name = field_name; + n_attacks->m_df_type = DF_Type::weapon_attack; + n_attacks->m_rdf_type = RDF_Type::Vector; + n_attacks->m_node_type = NodeType::Vector; + n_attacks->m_defined_in = "df.item-raws.xml"; + n_attacks->m_addornements = "v*"; + n_attacks->m_address = base + offset; + n_attacks->m_parent = p_node_parent; + n_attacks->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_attacks); + +} +void node_from_itemdef_weaponst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::itemdef; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_itemdef(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_weaponst, field_name)); + auto n_name = new NodeSimple; + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Stl_string; + n_name->m_node_type = NodeType::Simple; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "name_plural"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_weaponst, field_name)); + auto n_name_plural = new NodeSimple; + n_name_plural->m_field_name = field_name; + n_name_plural->m_df_type = DF_Type::Stl_string; + n_name_plural->m_rdf_type = RDF_Type::Stl_string; + n_name_plural->m_node_type = NodeType::Simple; + n_name_plural->m_address = base + offset; + n_name_plural->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name_plural); + + field_name = "adjective"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_weaponst, field_name)); + auto n_adjective = new NodeSimple; + n_adjective->m_field_name = field_name; + n_adjective->m_df_type = DF_Type::Stl_string; + n_adjective->m_rdf_type = RDF_Type::Stl_string; + n_adjective->m_node_type = NodeType::Simple; + n_adjective->m_address = base + offset; + n_adjective->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_adjective); + + field_name = "size"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_weaponst, field_name)); + auto n_size = new NodeSimple; + n_size->m_field_name = field_name; + n_size->m_df_type = DF_Type::int32_t; + n_size->m_rdf_type = RDF_Type::int32_t; + n_size->m_node_type = NodeType::Simple; + n_size->m_address = base + offset; + n_size->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_size); + + field_name = "value"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_weaponst, field_name)); + auto n_value = new NodeSimple; + n_value->m_field_name = field_name; + n_value->m_df_type = DF_Type::int32_t; + n_value->m_rdf_type = RDF_Type::int32_t; + n_value->m_node_type = NodeType::Simple; + n_value->m_address = base + offset; + n_value->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_value); + + field_name = "skill_melee"; + auto n_skill_melee = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_weaponst, field_name)); + n_skill_melee->m_field_name = field_name; + n_skill_melee->m_df_type = DF_Type::job_skill; + n_skill_melee->m_rdf_type = RDF_Type::Enum; + n_skill_melee->m_node_type = NodeType::Enum; + n_skill_melee->m_base_type = DF_Type::int16_t; + n_skill_melee->m_enum_type = "job_skill"; + n_skill_melee->m_address = base + offset; + n_skill_melee->m_defined_in = "df.skills.xml"; + n_skill_melee->m_first_value = -1; + n_skill_melee->m_last_value = 134; + n_skill_melee->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_skill_melee); + + field_name = "skill_ranged"; + auto n_skill_ranged = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_weaponst, field_name)); + n_skill_ranged->m_field_name = field_name; + n_skill_ranged->m_df_type = DF_Type::job_skill; + n_skill_ranged->m_rdf_type = RDF_Type::Enum; + n_skill_ranged->m_node_type = NodeType::Enum; + n_skill_ranged->m_base_type = DF_Type::int16_t; + n_skill_ranged->m_enum_type = "job_skill"; + n_skill_ranged->m_address = base + offset; + n_skill_ranged->m_defined_in = "df.skills.xml"; + n_skill_ranged->m_first_value = -1; + n_skill_ranged->m_last_value = 134; + n_skill_ranged->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_skill_ranged); + + field_name = "ranged_ammo"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_weaponst, field_name)); + auto n_ranged_ammo = new NodeSimple; + n_ranged_ammo->m_field_name = field_name; + n_ranged_ammo->m_df_type = DF_Type::Stl_string; + n_ranged_ammo->m_rdf_type = RDF_Type::Stl_string; + n_ranged_ammo->m_node_type = NodeType::Simple; + n_ranged_ammo->m_address = base + offset; + n_ranged_ammo->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ranged_ammo); + + field_name = "two_handed"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_weaponst, field_name)); + auto n_two_handed = new NodeSimple; + n_two_handed->m_field_name = field_name; + n_two_handed->m_df_type = DF_Type::int32_t; + n_two_handed->m_rdf_type = RDF_Type::int32_t; + n_two_handed->m_node_type = NodeType::Simple; + n_two_handed->m_address = base + offset; + n_two_handed->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_two_handed); + + field_name = "minimum_size"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_weaponst, field_name)); + auto n_minimum_size = new NodeSimple; + n_minimum_size->m_field_name = field_name; + n_minimum_size->m_df_type = DF_Type::int32_t; + n_minimum_size->m_rdf_type = RDF_Type::int32_t; + n_minimum_size->m_node_type = NodeType::Simple; + n_minimum_size->m_address = base + offset; + n_minimum_size->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_minimum_size); + + field_name = "material_size"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_weaponst, field_name)); + auto n_material_size = new NodeSimple; + n_material_size->m_field_name = field_name; + n_material_size->m_df_type = DF_Type::int32_t; + n_material_size->m_rdf_type = RDF_Type::int32_t; + n_material_size->m_node_type = NodeType::Simple; + n_material_size->m_address = base + offset; + n_material_size->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_material_size); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_weaponst, field_name)); + auto n_flags = new NodeDFFlagArray; + n_flags->m_field_name = field_name; + n_flags->m_index_enum = DF_Type::weapon_flags; + n_flags->m_df_type = DF_Type::weapon_flags; + n_flags->m_size = 3; + n_flags->m_rdf_type = RDF_Type::DFFlagArray; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_defined_in = "df.item-raws.xml"; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "attacks"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_weaponst, field_name)); + auto n_attacks = new NodeVector; + n_attacks->m_field_name = field_name; + n_attacks->m_df_type = DF_Type::weapon_attack; + n_attacks->m_rdf_type = RDF_Type::Vector; + n_attacks->m_node_type = NodeType::Vector; + n_attacks->m_defined_in = "df.item-raws.xml"; + n_attacks->m_addornements = "v*"; + n_attacks->m_address = base + offset; + n_attacks->m_parent = p_node_parent; + n_attacks->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_attacks); + + field_name = "shoot_force"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_weaponst, field_name)); + auto n_shoot_force = new NodeSimple; + n_shoot_force->m_field_name = field_name; + n_shoot_force->m_df_type = DF_Type::int32_t; + n_shoot_force->m_rdf_type = RDF_Type::int32_t; + n_shoot_force->m_node_type = NodeType::Simple; + n_shoot_force->m_address = base + offset; + n_shoot_force->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_shoot_force); + + field_name = "shoot_maxvel"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemdef_weaponst, field_name)); + auto n_shoot_maxvel = new NodeSimple; + n_shoot_maxvel->m_field_name = field_name; + n_shoot_maxvel->m_df_type = DF_Type::int32_t; + n_shoot_maxvel->m_rdf_type = RDF_Type::int32_t; + n_shoot_maxvel->m_node_type = NodeType::Simple; + n_shoot_maxvel->m_address = base + offset; + n_shoot_maxvel->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_shoot_maxvel); + +} +void node_from_dye_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dye_info, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dye_info, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "dyer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dye_info, field_name)); + auto n_dyer = new NodeSimple; + n_dyer->m_field_name = field_name; + n_dyer->m_df_type = DF_Type::int32_t; + n_dyer->m_rdf_type = RDF_Type::int32_t; + n_dyer->m_node_type = NodeType::Simple; + n_dyer->m_address = base + offset; + n_dyer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dyer); + + field_name = "quality"; + auto n_quality = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dye_info, field_name)); + n_quality->m_field_name = field_name; + n_quality->m_df_type = DF_Type::item_quality; + n_quality->m_rdf_type = RDF_Type::Enum; + n_quality->m_node_type = NodeType::Enum; + n_quality->m_base_type = DF_Type::int16_t; + n_quality->m_enum_type = "item_quality"; + n_quality->m_address = base + offset; + n_quality->m_defined_in = "df.items.xml"; + n_quality->m_first_value = 0; + n_quality->m_last_value = 6; + n_quality->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_quality); + + field_name = "skill_rating"; + auto n_skill_rating = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dye_info, field_name)); + n_skill_rating->m_field_name = field_name; + n_skill_rating->m_df_type = DF_Type::skill_rating; + n_skill_rating->m_rdf_type = RDF_Type::Enum; + n_skill_rating->m_node_type = NodeType::Enum; + n_skill_rating->m_base_type = DF_Type::int16_t; + n_skill_rating->m_enum_type = "skill_rating"; + n_skill_rating->m_address = base + offset; + n_skill_rating->m_comment = "at the moment of creation"; + n_skill_rating->m_defined_in = "df.units.xml"; + n_skill_rating->m_first_value = 0; + n_skill_rating->m_last_value = 20; + n_skill_rating->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_skill_rating); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dye_info, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_itemimprovement(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemimprovement, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemimprovement, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "maker"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemimprovement, field_name)); + auto n_maker = new NodeSimple; + n_maker->m_field_name = field_name; + n_maker->m_df_type = DF_Type::int32_t; + n_maker->m_rdf_type = RDF_Type::int32_t; + n_maker->m_node_type = NodeType::Simple; + n_maker->m_address = base + offset; + n_maker->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_maker); + + field_name = "masterpiece_event"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemimprovement, field_name)); + auto n_masterpiece_event = new NodeSimple; + n_masterpiece_event->m_field_name = field_name; + n_masterpiece_event->m_df_type = DF_Type::int32_t; + n_masterpiece_event->m_rdf_type = RDF_Type::int32_t; + n_masterpiece_event->m_node_type = NodeType::Simple; + n_masterpiece_event->m_address = base + offset; + n_masterpiece_event->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_masterpiece_event); + + field_name = "quality"; + auto n_quality = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemimprovement, field_name)); + n_quality->m_field_name = field_name; + n_quality->m_df_type = DF_Type::item_quality; + n_quality->m_rdf_type = RDF_Type::Enum; + n_quality->m_node_type = NodeType::Enum; + n_quality->m_base_type = DF_Type::int16_t; + n_quality->m_enum_type = "item_quality"; + n_quality->m_address = base + offset; + n_quality->m_defined_in = "df.items.xml"; + n_quality->m_first_value = 0; + n_quality->m_last_value = 6; + n_quality->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_quality); + + field_name = "skill_rating"; + auto n_skill_rating = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemimprovement, field_name)); + n_skill_rating->m_field_name = field_name; + n_skill_rating->m_df_type = DF_Type::skill_rating; + n_skill_rating->m_rdf_type = RDF_Type::Enum; + n_skill_rating->m_node_type = NodeType::Enum; + n_skill_rating->m_base_type = DF_Type::int32_t; + n_skill_rating->m_enum_type = "skill_rating"; + n_skill_rating->m_address = base + offset; + n_skill_rating->m_comment = "at the moment of creation"; + n_skill_rating->m_defined_in = "df.units.xml"; + n_skill_rating->m_first_value = 0; + n_skill_rating->m_last_value = 20; + n_skill_rating->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_skill_rating); + + field_name = "unk_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemimprovement, field_name)); + auto n_unk_1 = new NodeSimple; + n_unk_1->m_field_name = field_name; + n_unk_1->m_df_type = DF_Type::int32_t; + n_unk_1->m_rdf_type = RDF_Type::int32_t; + n_unk_1->m_node_type = NodeType::Simple; + n_unk_1->m_address = base + offset; + n_unk_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_1); + +} +void node_from_itemimprovement_art_imagest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::itemimprovement; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_itemimprovement(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "image"; + auto n_image = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemimprovement_art_imagest, field_name)); + n_image->m_field_name = field_name; + n_image->m_df_type = DF_Type::art_image_ref; + n_image->m_rdf_type = RDF_Type::Struct; + n_image->m_node_type = NodeType::Compound; + n_image->m_address = base + offset; + n_image->m_defined_in = "df.art.xml"; + n_image->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_image); + +} +void node_from_itemimprovement_coveredst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::itemimprovement; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_itemimprovement(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "cover_flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemimprovement_coveredst, field_name)); + auto n_cover_flags = new NodeBitfield; + n_cover_flags->m_field_name = field_name; + n_cover_flags->m_df_type = DF_Type::itemimprovement_coveredst__T_cover_flags; + n_cover_flags->m_rdf_type = RDF_Type::Bitfield; + n_cover_flags->m_node_type = NodeType::Bitfield; + n_cover_flags->m_address = base + offset; + n_cover_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cover_flags); + + field_name = "shape"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemimprovement_coveredst, field_name)); + auto n_shape = new NodeSimple; + n_shape->m_field_name = field_name; + n_shape->m_df_type = DF_Type::int32_t; + n_shape->m_rdf_type = RDF_Type::int32_t; + n_shape->m_node_type = NodeType::Simple; + n_shape->m_address = base + offset; + n_shape->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_shape); + +} +void node_from_itemimprovement_rings_hangingst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::itemimprovement; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_itemimprovement(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_itemimprovement_bandsst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::itemimprovement; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_itemimprovement(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "shape"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemimprovement_bandsst, field_name)); + auto n_shape = new NodeSimple; + n_shape->m_field_name = field_name; + n_shape->m_df_type = DF_Type::int32_t; + n_shape->m_rdf_type = RDF_Type::int32_t; + n_shape->m_node_type = NodeType::Simple; + n_shape->m_address = base + offset; + n_shape->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_shape); + +} +void node_from_itemimprovement_spikesst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::itemimprovement; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_itemimprovement(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_itemimprovement_itemspecificst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::itemimprovement; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_itemimprovement(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "type"; + auto n_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemimprovement_itemspecificst, field_name)); + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::itemimprovement_specific_type; + n_type->m_rdf_type = RDF_Type::Enum; + n_type->m_node_type = NodeType::Enum; + n_type->m_base_type = DF_Type::int32_t; + n_type->m_enum_type = "itemimprovement_specific_type"; + n_type->m_address = base + offset; + n_type->m_defined_in = "df.itemimprovements.xml"; + n_type->m_first_value = 0; + n_type->m_last_value = 1; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + +} +void node_from_itemimprovement_threadst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::itemimprovement; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_itemimprovement(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "dye"; + auto n_dye = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemimprovement_threadst, field_name)); + n_dye->m_field_name = field_name; + n_dye->m_df_type = DF_Type::dye_info; + n_dye->m_rdf_type = RDF_Type::Struct; + n_dye->m_node_type = NodeType::Compound; + n_dye->m_address = base + offset; + n_dye->m_defined_in = "df.itemimprovements.xml"; + n_dye->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dye); + +} +void node_from_itemimprovement_clothst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::itemimprovement; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_itemimprovement(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_itemimprovement_sewn_imagest__T_cloth(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unit_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemimprovement_sewn_imagest__T_cloth, field_name)); + auto n_unit_id = new NodeSimple; + n_unit_id->m_field_name = field_name; + n_unit_id->m_df_type = DF_Type::int32_t; + n_unit_id->m_rdf_type = RDF_Type::int32_t; + n_unit_id->m_node_type = NodeType::Simple; + n_unit_id->m_address = base + offset; + n_unit_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unit_id); + + field_name = "quality"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemimprovement_sewn_imagest__T_cloth, field_name)); + auto n_quality = new NodeSimple; + n_quality->m_field_name = field_name; + n_quality->m_df_type = DF_Type::int16_t; + n_quality->m_rdf_type = RDF_Type::int16_t; + n_quality->m_node_type = NodeType::Simple; + n_quality->m_address = base + offset; + n_quality->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_quality); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemimprovement_sewn_imagest__T_cloth, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int16_t; + n_anon_1->m_rdf_type = RDF_Type::int16_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_itemimprovement_sewn_imagest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::itemimprovement; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_itemimprovement(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "image"; + auto n_image = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemimprovement_sewn_imagest, field_name)); + n_image->m_field_name = field_name; + n_image->m_df_type = DF_Type::art_image_ref; + n_image->m_rdf_type = RDF_Type::Struct; + n_image->m_node_type = NodeType::Compound; + n_image->m_address = base + offset; + n_image->m_defined_in = "df.art.xml"; + n_image->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_image); + + field_name = "cloth"; + auto n_cloth = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemimprovement_sewn_imagest, field_name)); + n_cloth->m_field_name = field_name; + n_cloth->m_df_type = DF_Type::itemimprovement_sewn_imagest__T_cloth; + n_cloth->m_rdf_type = RDF_Type::Compound; + n_cloth->m_node_type = NodeType::Compound; + n_cloth->m_address = base + offset; + n_cloth->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cloth); + + field_name = "dye"; + auto n_dye = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemimprovement_sewn_imagest, field_name)); + n_dye->m_field_name = field_name; + n_dye->m_df_type = DF_Type::dye_info; + n_dye->m_rdf_type = RDF_Type::Struct; + n_dye->m_node_type = NodeType::Compound; + n_dye->m_address = base + offset; + n_dye->m_defined_in = "df.itemimprovements.xml"; + n_dye->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dye); + +} +void node_from_itemimprovement_pagesst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::itemimprovement; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_itemimprovement(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "count"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemimprovement_pagesst, field_name)); + auto n_count = new NodeSimple; + n_count->m_field_name = field_name; + n_count->m_df_type = DF_Type::int32_t; + n_count->m_rdf_type = RDF_Type::int32_t; + n_count->m_node_type = NodeType::Simple; + n_count->m_address = base + offset; + n_count->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_count); + + field_name = "contents"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemimprovement_pagesst, field_name)); + auto n_contents = new NodeVector; + n_contents->m_field_name = field_name; + n_contents->m_df_type = DF_Type::int32_t; + n_contents->m_rdf_type = RDF_Type::Vector; + n_contents->m_node_type = NodeType::Vector; + n_contents->m_addornements = "v"; + n_contents->m_address = base + offset; + n_contents->m_parent = p_node_parent; + n_contents->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_contents); + +} +void node_from_itemimprovement_illustrationst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::itemimprovement; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_itemimprovement(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "image"; + auto n_image = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemimprovement_illustrationst, field_name)); + n_image->m_field_name = field_name; + n_image->m_df_type = DF_Type::art_image_ref; + n_image->m_rdf_type = RDF_Type::Struct; + n_image->m_node_type = NodeType::Compound; + n_image->m_address = base + offset; + n_image->m_defined_in = "df.art.xml"; + n_image->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_image); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemimprovement_illustrationst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_itemimprovement_instrument_piecest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::itemimprovement; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_itemimprovement(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemimprovement_instrument_piecest, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::Stl_string; + n_anon_1->m_rdf_type = RDF_Type::Stl_string; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_itemimprovement_writingst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::itemimprovement; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_itemimprovement(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "contents"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::itemimprovement_writingst, field_name)); + auto n_contents = new NodeVector; + n_contents->m_field_name = field_name; + n_contents->m_df_type = DF_Type::int32_t; + n_contents->m_rdf_type = RDF_Type::Vector; + n_contents->m_node_type = NodeType::Vector; + n_contents->m_addornements = "v"; + n_contents->m_address = base + offset; + n_contents->m_parent = p_node_parent; + n_contents->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_contents); + +} +void node_from_written_content(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::written_content, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "title"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::written_content, field_name)); + auto n_title = new NodeSimple; + n_title->m_field_name = field_name; + n_title->m_df_type = DF_Type::Stl_string; + n_title->m_rdf_type = RDF_Type::Stl_string; + n_title->m_node_type = NodeType::Simple; + n_title->m_address = base + offset; + n_title->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_title); + + field_name = "page_start"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::written_content, field_name)); + auto n_page_start = new NodeSimple; + n_page_start->m_field_name = field_name; + n_page_start->m_df_type = DF_Type::int32_t; + n_page_start->m_rdf_type = RDF_Type::int32_t; + n_page_start->m_node_type = NodeType::Simple; + n_page_start->m_address = base + offset; + n_page_start->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_page_start); + + field_name = "page_end"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::written_content, field_name)); + auto n_page_end = new NodeSimple; + n_page_end->m_field_name = field_name; + n_page_end->m_df_type = DF_Type::int32_t; + n_page_end->m_rdf_type = RDF_Type::int32_t; + n_page_end->m_node_type = NodeType::Simple; + n_page_end->m_address = base + offset; + n_page_end->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_page_end); + + field_name = "refs"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::written_content, field_name)); + auto n_refs = new NodeVector; + n_refs->m_field_name = field_name; + n_refs->m_df_type = DF_Type::general_ref; + n_refs->m_rdf_type = RDF_Type::Vector; + n_refs->m_node_type = NodeType::Vector; + n_refs->m_defined_in = "df.refs.xml"; + n_refs->m_addornements = "v*"; + n_refs->m_address = base + offset; + n_refs->m_comment = "interactions learned"; + n_refs->m_parent = p_node_parent; + n_refs->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_refs); + + field_name = "ref_aux"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::written_content, field_name)); + auto n_ref_aux = new NodeVector; + n_ref_aux->m_field_name = field_name; + n_ref_aux->m_df_type = DF_Type::int32_t; + n_ref_aux->m_rdf_type = RDF_Type::Vector; + n_ref_aux->m_node_type = NodeType::Vector; + n_ref_aux->m_addornements = "v"; + n_ref_aux->m_address = base + offset; + n_ref_aux->m_comment = "if nonzero, corresponding ref is ignored"; + n_ref_aux->m_parent = p_node_parent; + n_ref_aux->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_ref_aux); + + field_name = "unk1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::written_content, field_name)); + auto n_unk1 = new NodeSimple; + n_unk1->m_field_name = field_name; + n_unk1->m_df_type = DF_Type::int32_t; + n_unk1->m_rdf_type = RDF_Type::int32_t; + n_unk1->m_node_type = NodeType::Simple; + n_unk1->m_address = base + offset; + n_unk1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk1); + + field_name = "unk2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::written_content, field_name)); + auto n_unk2 = new NodeSimple; + n_unk2->m_field_name = field_name; + n_unk2->m_df_type = DF_Type::int32_t; + n_unk2->m_rdf_type = RDF_Type::int32_t; + n_unk2->m_node_type = NodeType::Simple; + n_unk2->m_address = base + offset; + n_unk2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk2); + + field_name = "type"; + auto n_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::written_content, field_name)); + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::written_content_type; + n_type->m_rdf_type = RDF_Type::Enum; + n_type->m_node_type = NodeType::Enum; + n_type->m_base_type = enum_base_type(n_type->m_df_type); + n_type->m_enum_type = "written_content_type"; + n_type->m_address = base + offset; + n_type->m_defined_in = "df.itemimprovements.xml"; + n_type->m_first_value = 0; + n_type->m_last_value = 25; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + + field_name = "poetic_form"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::written_content, field_name)); + auto n_poetic_form = new NodeSimple; + n_poetic_form->m_field_name = field_name; + n_poetic_form->m_df_type = DF_Type::int32_t; + n_poetic_form->m_rdf_type = RDF_Type::int32_t; + n_poetic_form->m_node_type = NodeType::Simple; + n_poetic_form->m_address = base + offset; + n_poetic_form->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_poetic_form); + + field_name = "styles"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::written_content, field_name)); + auto n_styles = new NodeVector; + n_styles->m_field_name = field_name; + n_styles->m_df_type = DF_Type::written_content_style; + n_styles->m_rdf_type = RDF_Type::Vector; + n_styles->m_node_type = NodeType::Vector; + n_styles->m_enum_base = DF_Type::int32_t; + n_styles->m_defined_in = "df.itemimprovements.xml"; + n_styles->m_addornements = "v"; + n_styles->m_address = base + offset; + n_styles->m_parent = p_node_parent; + n_styles->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_styles); + + field_name = "style_strength"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::written_content, field_name)); + auto n_style_strength = new NodeVector; + n_style_strength->m_field_name = field_name; + n_style_strength->m_df_type = DF_Type::int32_t; + n_style_strength->m_rdf_type = RDF_Type::Vector; + n_style_strength->m_node_type = NodeType::Vector; + n_style_strength->m_addornements = "v"; + n_style_strength->m_address = base + offset; + n_style_strength->m_comment = "0 = maximum, 1 = significant, 2 = partial"; + n_style_strength->m_parent = p_node_parent; + n_style_strength->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_style_strength); + + field_name = "author"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::written_content, field_name)); + auto n_author = new NodeSimple; + n_author->m_field_name = field_name; + n_author->m_df_type = DF_Type::int32_t; + n_author->m_rdf_type = RDF_Type::int32_t; + n_author->m_node_type = NodeType::Simple; + n_author->m_address = base + offset; + n_author->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_author); + + field_name = "author_roll"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::written_content, field_name)); + auto n_author_roll = new NodeSimple; + n_author_roll->m_field_name = field_name; + n_author_roll->m_df_type = DF_Type::int32_t; + n_author_roll->m_rdf_type = RDF_Type::int32_t; + n_author_roll->m_node_type = NodeType::Simple; + n_author_roll->m_address = base + offset; + n_author_roll->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_author_roll); + +} +void node_from_engraving(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "artist"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::engraving, field_name)); + auto n_artist = new NodeSimple; + n_artist->m_field_name = field_name; + n_artist->m_df_type = DF_Type::int32_t; + n_artist->m_rdf_type = RDF_Type::int32_t; + n_artist->m_node_type = NodeType::Simple; + n_artist->m_address = base + offset; + n_artist->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_artist); + + field_name = "masterpiece_event"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::engraving, field_name)); + auto n_masterpiece_event = new NodeSimple; + n_masterpiece_event->m_field_name = field_name; + n_masterpiece_event->m_df_type = DF_Type::int32_t; + n_masterpiece_event->m_rdf_type = RDF_Type::int32_t; + n_masterpiece_event->m_node_type = NodeType::Simple; + n_masterpiece_event->m_address = base + offset; + n_masterpiece_event->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_masterpiece_event); + + field_name = "skill_rating"; + auto n_skill_rating = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::engraving, field_name)); + n_skill_rating->m_field_name = field_name; + n_skill_rating->m_df_type = DF_Type::skill_rating; + n_skill_rating->m_rdf_type = RDF_Type::Enum; + n_skill_rating->m_node_type = NodeType::Enum; + n_skill_rating->m_base_type = DF_Type::int32_t; + n_skill_rating->m_enum_type = "skill_rating"; + n_skill_rating->m_address = base + offset; + n_skill_rating->m_comment = "at the moment of creation"; + n_skill_rating->m_defined_in = "df.units.xml"; + n_skill_rating->m_first_value = 0; + n_skill_rating->m_last_value = 20; + n_skill_rating->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_skill_rating); + + field_name = "pos"; + auto n_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::engraving, field_name)); + n_pos->m_field_name = field_name; + n_pos->m_df_type = DF_Type::coord; + n_pos->m_rdf_type = RDF_Type::Struct; + n_pos->m_node_type = NodeType::Compound; + n_pos->m_address = base + offset; + n_pos->m_defined_in = "df.map.xml"; + n_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pos); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::engraving, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::engraving_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_defined_in = "df.itemimprovements.xml"; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "tile"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::engraving, field_name)); + auto n_tile = new NodeSimple; + n_tile->m_field_name = field_name; + n_tile->m_df_type = DF_Type::int8_t; + n_tile->m_rdf_type = RDF_Type::int8_t; + n_tile->m_node_type = NodeType::Simple; + n_tile->m_address = base + offset; + n_tile->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tile); + + field_name = "art_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::engraving, field_name)); + auto n_art_id = new NodeSimple; + n_art_id->m_field_name = field_name; + n_art_id->m_df_type = DF_Type::int32_t; + n_art_id->m_rdf_type = RDF_Type::int32_t; + n_art_id->m_node_type = NodeType::Simple; + n_art_id->m_address = base + offset; + n_art_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_art_id); + + field_name = "art_subid"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::engraving, field_name)); + auto n_art_subid = new NodeSimple; + n_art_subid->m_field_name = field_name; + n_art_subid->m_df_type = DF_Type::int16_t; + n_art_subid->m_rdf_type = RDF_Type::int16_t; + n_art_subid->m_node_type = NodeType::Simple; + n_art_subid->m_address = base + offset; + n_art_subid->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_art_subid); + + field_name = "quality"; + auto n_quality = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::engraving, field_name)); + n_quality->m_field_name = field_name; + n_quality->m_df_type = DF_Type::item_quality; + n_quality->m_rdf_type = RDF_Type::Enum; + n_quality->m_node_type = NodeType::Enum; + n_quality->m_base_type = DF_Type::int16_t; + n_quality->m_enum_type = "item_quality"; + n_quality->m_address = base + offset; + n_quality->m_defined_in = "df.items.xml"; + n_quality->m_first_value = 0; + n_quality->m_last_value = 6; + n_quality->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_quality); + + field_name = "unk1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::engraving, field_name)); + auto n_unk1 = new NodeSimple; + n_unk1->m_field_name = field_name; + n_unk1->m_df_type = DF_Type::int32_t; + n_unk1->m_rdf_type = RDF_Type::int32_t; + n_unk1->m_node_type = NodeType::Simple; + n_unk1->m_address = base + offset; + n_unk1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk1); + + field_name = "unk2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::engraving, field_name)); + auto n_unk2 = new NodeSimple; + n_unk2->m_field_name = field_name; + n_unk2->m_df_type = DF_Type::int32_t; + n_unk2->m_rdf_type = RDF_Type::int32_t; + n_unk2->m_node_type = NodeType::Simple; + n_unk2->m_address = base + offset; + n_unk2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk2); + +} +void node_from_item_magicness(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "type"; + auto n_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_magicness, field_name)); + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::item_magicness_type; + n_type->m_rdf_type = RDF_Type::Enum; + n_type->m_node_type = NodeType::Enum; + n_type->m_base_type = DF_Type::int16_t; + n_type->m_enum_type = "item_magicness_type"; + n_type->m_address = base + offset; + n_type->m_defined_in = "df.items.xml"; + n_type->m_first_value = 0; + n_type->m_last_value = 8; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + + field_name = "value"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_magicness, field_name)); + auto n_value = new NodeSimple; + n_value->m_field_name = field_name; + n_value->m_df_type = DF_Type::int16_t; + n_value->m_rdf_type = RDF_Type::int16_t; + n_value->m_node_type = NodeType::Simple; + n_value->m_address = base + offset; + n_value->m_comment = "boosts item value by 50*this"; + n_value->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_value); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_magicness, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int16_t; + n_anon_1->m_rdf_type = RDF_Type::int16_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_magicness, field_name)); + auto n_flags = new NodeSimple; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::int32_t; + n_flags->m_rdf_type = RDF_Type::int32_t; + n_flags->m_node_type = NodeType::Simple; + n_flags->m_address = base + offset; + n_flags->m_comment = "1=does not show up in item description or alter item value"; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + +} +void node_from_spatter_common(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::spatter_common, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::spatter_common, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "mat_state"; + auto n_mat_state = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::spatter_common, field_name)); + n_mat_state->m_field_name = field_name; + n_mat_state->m_df_type = DF_Type::matter_state; + n_mat_state->m_rdf_type = RDF_Type::Enum; + n_mat_state->m_node_type = NodeType::Enum; + n_mat_state->m_base_type = DF_Type::int16_t; + n_mat_state->m_enum_type = "matter_state"; + n_mat_state->m_address = base + offset; + n_mat_state->m_defined_in = "df.materials.xml"; + n_mat_state->m_first_value = -1; + n_mat_state->m_last_value = 5; + n_mat_state->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_state); + + field_name = "temperature"; + auto n_temperature = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::spatter_common, field_name)); + n_temperature->m_field_name = field_name; + n_temperature->m_df_type = DF_Type::temperaturest; + n_temperature->m_rdf_type = RDF_Type::Struct; + n_temperature->m_node_type = NodeType::Compound; + n_temperature->m_address = base + offset; + n_temperature->m_defined_in = "df.items.xml"; + n_temperature->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_temperature); + + field_name = "size"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::spatter_common, field_name)); + auto n_size = new NodeSimple; + n_size->m_field_name = field_name; + n_size->m_df_type = DF_Type::int32_t; + n_size->m_rdf_type = RDF_Type::int32_t; + n_size->m_node_type = NodeType::Simple; + n_size->m_address = base + offset; + n_size->m_comment = "1-24=spatter, 25-49=smear, 50-* = coating"; + n_size->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_size); + + field_name = "base_flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::spatter_common, field_name)); + auto n_base_flags = new NodeBitfield; + n_base_flags->m_field_name = field_name; + n_base_flags->m_df_type = DF_Type::spatter_common__T_base_flags; + n_base_flags->m_rdf_type = RDF_Type::Bitfield; + n_base_flags->m_node_type = NodeType::Bitfield; + n_base_flags->m_address = base + offset; + n_base_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_base_flags); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::spatter_common, field_name)); + auto n_anon_1= new NodePadding; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::Padding; + n_anon_1->m_rdf_type = RDF_Type::Padding; + n_anon_1->m_node_type = NodeType::Padding; + n_anon_1->m_address = base + offset; + n_anon_1->m_comment = "needed for proper alignment of spatter on gcc"; + n_anon_1->m_size = 2; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_adventure_option_eat_unit_contaminantst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::adventure_optionst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_adventure_optionst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unit"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_option_eat_unit_contaminantst, field_name)); + auto n_unit = new NodePointer; + n_unit->m_field_name = field_name; + n_unit->m_df_type = get_real_subtype(base+offset, DF_Type::unit); + n_unit->m_rdf_type = RDF_Type::Pointer; + n_unit->m_node_type = NodeType::Pointer; + n_unit->m_addornements = "*"; + n_unit->m_address = base + offset; + n_unit->m_parent = p_node_parent; + n_unit->m_defined_in = "df.units.xml"; + n_unit->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unit); + + field_name = "spatter"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_option_eat_unit_contaminantst, field_name)); + auto n_spatter = new NodePointer; + n_spatter->m_field_name = field_name; + n_spatter->m_df_type = get_real_subtype(base+offset, DF_Type::spatter); + n_spatter->m_rdf_type = RDF_Type::Pointer; + n_spatter->m_node_type = NodeType::Pointer; + n_spatter->m_addornements = "*"; + n_spatter->m_address = base + offset; + n_spatter->m_parent = p_node_parent; + n_spatter->m_defined_in = "df.items.xml"; + n_spatter->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_spatter); + +} +void node_from_adventure_option_view_contaminantst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::adventure_optionst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_adventure_optionst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unit"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_option_view_contaminantst, field_name)); + auto n_unit = new NodePointer; + n_unit->m_field_name = field_name; + n_unit->m_df_type = get_real_subtype(base+offset, DF_Type::unit); + n_unit->m_rdf_type = RDF_Type::Pointer; + n_unit->m_node_type = NodeType::Pointer; + n_unit->m_addornements = "*"; + n_unit->m_address = base + offset; + n_unit->m_parent = p_node_parent; + n_unit->m_defined_in = "df.units.xml"; + n_unit->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unit); + + field_name = "spatter"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::adventure_option_view_contaminantst, field_name)); + auto n_spatter = new NodePointer; + n_spatter->m_field_name = field_name; + n_spatter->m_df_type = get_real_subtype(base+offset, DF_Type::spatter); + n_spatter->m_rdf_type = RDF_Type::Pointer; + n_spatter->m_node_type = NodeType::Pointer; + n_spatter->m_addornements = "*"; + n_spatter->m_address = base + offset; + n_spatter->m_parent = p_node_parent; + n_spatter->m_defined_in = "df.items.xml"; + n_spatter->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_spatter); + +} +void node_from_spatter(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::spatter_common; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_spatter_common(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "body_part_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::spatter, field_name)); + auto n_body_part_id = new NodeSimple; + n_body_part_id->m_field_name = field_name; + n_body_part_id->m_df_type = DF_Type::int16_t; + n_body_part_id->m_rdf_type = RDF_Type::int16_t; + n_body_part_id->m_node_type = NodeType::Simple; + n_body_part_id->m_address = base + offset; + n_body_part_id->m_refers_to = "$$._global._parent._global.body.body_plan.body_parts[$]"; + n_body_part_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_body_part_id); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::spatter, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::spatter__T_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + +} +void node_from_item(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "pos"; + auto n_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item, field_name)); + n_pos->m_field_name = field_name; + n_pos->m_df_type = DF_Type::coord; + n_pos->m_rdf_type = RDF_Type::Struct; + n_pos->m_node_type = NodeType::Compound; + n_pos->m_address = base + offset; + n_pos->m_defined_in = "df.map.xml"; + n_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pos); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::item_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_defined_in = "df.items.xml"; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "flags2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item, field_name)); + auto n_flags2 = new NodeBitfield; + n_flags2->m_field_name = field_name; + n_flags2->m_df_type = DF_Type::item_flags2; + n_flags2->m_rdf_type = RDF_Type::Bitfield; + n_flags2->m_node_type = NodeType::Bitfield; + n_flags2->m_address = base + offset; + n_flags2->m_defined_in = "df.items.xml"; + n_flags2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags2); + + field_name = "age"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item, field_name)); + auto n_age = new NodeSimple; + n_age->m_field_name = field_name; + n_age->m_df_type = DF_Type::uint32_t; + n_age->m_rdf_type = RDF_Type::uint32_t; + n_age->m_node_type = NodeType::Simple; + n_age->m_address = base + offset; + n_age->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_age); + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "specific_refs"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item, field_name)); + auto n_specific_refs = new NodeVector; + n_specific_refs->m_field_name = field_name; + n_specific_refs->m_df_type = DF_Type::specific_ref; + n_specific_refs->m_rdf_type = RDF_Type::Vector; + n_specific_refs->m_node_type = NodeType::Vector; + n_specific_refs->m_defined_in = "df.refs.xml"; + n_specific_refs->m_addornements = "v*"; + n_specific_refs->m_address = base + offset; + n_specific_refs->m_parent = p_node_parent; + n_specific_refs->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_specific_refs); + + field_name = "general_refs"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item, field_name)); + auto n_general_refs = new NodeVector; + n_general_refs->m_field_name = field_name; + n_general_refs->m_df_type = DF_Type::general_ref; + n_general_refs->m_rdf_type = RDF_Type::Vector; + n_general_refs->m_node_type = NodeType::Vector; + n_general_refs->m_defined_in = "df.refs.xml"; + n_general_refs->m_addornements = "v*"; + n_general_refs->m_address = base + offset; + n_general_refs->m_parent = p_node_parent; + n_general_refs->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_general_refs); + + field_name = "world_data_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item, field_name)); + auto n_world_data_id = new NodeSimple; + n_world_data_id->m_field_name = field_name; + n_world_data_id->m_df_type = DF_Type::int32_t; + n_world_data_id->m_rdf_type = RDF_Type::int32_t; + n_world_data_id->m_node_type = NodeType::Simple; + n_world_data_id->m_address = base + offset; + n_world_data_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_world_data_id); + + field_name = "world_data_subid"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item, field_name)); + auto n_world_data_subid = new NodeSimple; + n_world_data_subid->m_field_name = field_name; + n_world_data_subid->m_df_type = DF_Type::int32_t; + n_world_data_subid->m_rdf_type = RDF_Type::int32_t; + n_world_data_subid->m_node_type = NodeType::Simple; + n_world_data_subid->m_address = base + offset; + n_world_data_subid->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_world_data_subid); + + field_name = "stockpile_countdown"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item, field_name)); + auto n_stockpile_countdown = new NodeSimple; + n_stockpile_countdown->m_field_name = field_name; + n_stockpile_countdown->m_df_type = DF_Type::uint8_t; + n_stockpile_countdown->m_rdf_type = RDF_Type::uint8_t; + n_stockpile_countdown->m_node_type = NodeType::Simple; + n_stockpile_countdown->m_address = base + offset; + n_stockpile_countdown->m_comment = "-1 per 50 frames; then check if needs moving"; + n_stockpile_countdown->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_stockpile_countdown); + + field_name = "stockpile_delay"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item, field_name)); + auto n_stockpile_delay = new NodeSimple; + n_stockpile_delay->m_field_name = field_name; + n_stockpile_delay->m_df_type = DF_Type::uint8_t; + n_stockpile_delay->m_rdf_type = RDF_Type::uint8_t; + n_stockpile_delay->m_node_type = NodeType::Simple; + n_stockpile_delay->m_address = base + offset; + n_stockpile_delay->m_comment = "used to reset countdown; randomly varies"; + n_stockpile_delay->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_stockpile_delay); + + field_name = "unk2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item, field_name)); + auto n_unk2 = new NodeSimple; + n_unk2->m_field_name = field_name; + n_unk2->m_df_type = DF_Type::int16_t; + n_unk2->m_rdf_type = RDF_Type::int16_t; + n_unk2->m_node_type = NodeType::Simple; + n_unk2->m_address = base + offset; + n_unk2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk2); + + field_name = "base_uniform_score"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item, field_name)); + auto n_base_uniform_score = new NodeSimple; + n_base_uniform_score->m_field_name = field_name; + n_base_uniform_score->m_df_type = DF_Type::int32_t; + n_base_uniform_score->m_rdf_type = RDF_Type::int32_t; + n_base_uniform_score->m_node_type = NodeType::Simple; + n_base_uniform_score->m_address = base + offset; + n_base_uniform_score->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_base_uniform_score); + + field_name = "walkable_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item, field_name)); + auto n_walkable_id = new NodeSimple; + n_walkable_id->m_field_name = field_name; + n_walkable_id->m_df_type = DF_Type::int16_t; + n_walkable_id->m_rdf_type = RDF_Type::int16_t; + n_walkable_id->m_node_type = NodeType::Simple; + n_walkable_id->m_address = base + offset; + n_walkable_id->m_comment = "from map_block.walkable"; + n_walkable_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_walkable_id); + + field_name = "spec_heat"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item, field_name)); + auto n_spec_heat = new NodeSimple; + n_spec_heat->m_field_name = field_name; + n_spec_heat->m_df_type = DF_Type::uint16_t; + n_spec_heat->m_rdf_type = RDF_Type::uint16_t; + n_spec_heat->m_node_type = NodeType::Simple; + n_spec_heat->m_address = base + offset; + n_spec_heat->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_spec_heat); + + field_name = "ignite_point"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item, field_name)); + auto n_ignite_point = new NodeSimple; + n_ignite_point->m_field_name = field_name; + n_ignite_point->m_df_type = DF_Type::uint16_t; + n_ignite_point->m_rdf_type = RDF_Type::uint16_t; + n_ignite_point->m_node_type = NodeType::Simple; + n_ignite_point->m_address = base + offset; + n_ignite_point->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ignite_point); + + field_name = "heatdam_point"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item, field_name)); + auto n_heatdam_point = new NodeSimple; + n_heatdam_point->m_field_name = field_name; + n_heatdam_point->m_df_type = DF_Type::uint16_t; + n_heatdam_point->m_rdf_type = RDF_Type::uint16_t; + n_heatdam_point->m_node_type = NodeType::Simple; + n_heatdam_point->m_address = base + offset; + n_heatdam_point->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_heatdam_point); + + field_name = "colddam_point"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item, field_name)); + auto n_colddam_point = new NodeSimple; + n_colddam_point->m_field_name = field_name; + n_colddam_point->m_df_type = DF_Type::uint16_t; + n_colddam_point->m_rdf_type = RDF_Type::uint16_t; + n_colddam_point->m_node_type = NodeType::Simple; + n_colddam_point->m_address = base + offset; + n_colddam_point->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_colddam_point); + + field_name = "boiling_point"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item, field_name)); + auto n_boiling_point = new NodeSimple; + n_boiling_point->m_field_name = field_name; + n_boiling_point->m_df_type = DF_Type::uint16_t; + n_boiling_point->m_rdf_type = RDF_Type::uint16_t; + n_boiling_point->m_node_type = NodeType::Simple; + n_boiling_point->m_address = base + offset; + n_boiling_point->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_boiling_point); + + field_name = "melting_point"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item, field_name)); + auto n_melting_point = new NodeSimple; + n_melting_point->m_field_name = field_name; + n_melting_point->m_df_type = DF_Type::uint16_t; + n_melting_point->m_rdf_type = RDF_Type::uint16_t; + n_melting_point->m_node_type = NodeType::Simple; + n_melting_point->m_address = base + offset; + n_melting_point->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_melting_point); + + field_name = "fixed_temp"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item, field_name)); + auto n_fixed_temp = new NodeSimple; + n_fixed_temp->m_field_name = field_name; + n_fixed_temp->m_df_type = DF_Type::uint16_t; + n_fixed_temp->m_rdf_type = RDF_Type::uint16_t; + n_fixed_temp->m_node_type = NodeType::Simple; + n_fixed_temp->m_address = base + offset; + n_fixed_temp->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_fixed_temp); + + field_name = "weight"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item, field_name)); + auto n_weight = new NodeSimple; + n_weight->m_field_name = field_name; + n_weight->m_df_type = DF_Type::int32_t; + n_weight->m_rdf_type = RDF_Type::int32_t; + n_weight->m_node_type = NodeType::Simple; + n_weight->m_address = base + offset; + n_weight->m_comment = "if flags.weight_computed"; + n_weight->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_weight); + + field_name = "weight_fraction"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item, field_name)); + auto n_weight_fraction = new NodeSimple; + n_weight_fraction->m_field_name = field_name; + n_weight_fraction->m_df_type = DF_Type::int32_t; + n_weight_fraction->m_rdf_type = RDF_Type::int32_t; + n_weight_fraction->m_node_type = NodeType::Simple; + n_weight_fraction->m_address = base + offset; + n_weight_fraction->m_comment = "1e-6"; + n_weight_fraction->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_weight_fraction); + +} +void node_from_item_kill_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "targets"; + auto n_targets = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_kill_info, field_name)); + n_targets->m_field_name = field_name; + n_targets->m_df_type = DF_Type::historical_kills; + n_targets->m_rdf_type = RDF_Type::Struct; + n_targets->m_node_type = NodeType::Compound; + n_targets->m_address = base + offset; + n_targets->m_defined_in = "df.history.xml"; + n_targets->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_targets); + + field_name = "slayers"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_kill_info, field_name)); + auto n_slayers = new NodeVector; + n_slayers->m_field_name = field_name; + n_slayers->m_df_type = DF_Type::int32_t; + n_slayers->m_rdf_type = RDF_Type::Vector; + n_slayers->m_node_type = NodeType::Vector; + n_slayers->m_addornements = "v"; + n_slayers->m_address = base + offset; + n_slayers->m_parent = p_node_parent; + n_slayers->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_slayers); + + field_name = "slayer_kill_counts"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_kill_info, field_name)); + auto n_slayer_kill_counts = new NodeVector; + n_slayer_kill_counts->m_field_name = field_name; + n_slayer_kill_counts->m_df_type = DF_Type::int32_t; + n_slayer_kill_counts->m_rdf_type = RDF_Type::Vector; + n_slayer_kill_counts->m_node_type = NodeType::Vector; + n_slayer_kill_counts->m_addornements = "v"; + n_slayer_kill_counts->m_address = base + offset; + n_slayer_kill_counts->m_parent = p_node_parent; + n_slayer_kill_counts->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_slayer_kill_counts); + +} +void node_from_item_history_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "kills"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_history_info, field_name)); + auto n_kills = new NodePointer; + n_kills->m_field_name = field_name; + n_kills->m_df_type = get_real_subtype(base+offset, DF_Type::item_kill_info); + n_kills->m_rdf_type = RDF_Type::Pointer; + n_kills->m_node_type = NodeType::Pointer; + n_kills->m_addornements = "*"; + n_kills->m_address = base + offset; + n_kills->m_parent = p_node_parent; + n_kills->m_defined_in = "df.items.xml"; + n_kills->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_kills); + + field_name = "attack_counter"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_history_info, field_name)); + auto n_attack_counter = new NodeSimple; + n_attack_counter->m_field_name = field_name; + n_attack_counter->m_df_type = DF_Type::int32_t; + n_attack_counter->m_rdf_type = RDF_Type::int32_t; + n_attack_counter->m_node_type = NodeType::Simple; + n_attack_counter->m_address = base + offset; + n_attack_counter->m_comment = "increments by 1 each time the item is fired, thrown or used in an attack"; + n_attack_counter->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_attack_counter); + + field_name = "defence_counter"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_history_info, field_name)); + auto n_defence_counter = new NodeSimple; + n_defence_counter->m_field_name = field_name; + n_defence_counter->m_df_type = DF_Type::int32_t; + n_defence_counter->m_rdf_type = RDF_Type::int32_t; + n_defence_counter->m_node_type = NodeType::Simple; + n_defence_counter->m_address = base + offset; + n_defence_counter->m_comment = "increments by 1 each time the item is used in an attempt to block or parry"; + n_defence_counter->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_defence_counter); + +} +void node_from_item_actual(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "stack_size"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_actual, field_name)); + auto n_stack_size = new NodeSimple; + n_stack_size->m_field_name = field_name; + n_stack_size->m_df_type = DF_Type::int32_t; + n_stack_size->m_rdf_type = RDF_Type::int32_t; + n_stack_size->m_node_type = NodeType::Simple; + n_stack_size->m_address = base + offset; + n_stack_size->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_stack_size); + + field_name = "history_info"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_actual, field_name)); + auto n_history_info = new NodePointer; + n_history_info->m_field_name = field_name; + n_history_info->m_df_type = DF_Type::item_history_info; + n_history_info->m_rdf_type = RDF_Type::Pointer; + n_history_info->m_node_type = NodeType::Pointer; + n_history_info->m_addornements = "**"; + n_history_info->m_address = base + offset; + n_history_info->m_parent = p_node_parent; + n_history_info->m_defined_in = "df.items.xml"; + n_history_info->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_history_info); + + field_name = "magic"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_actual, field_name)); + auto n_magic = new NodePointer; + n_magic->m_field_name = field_name; + n_magic->m_df_type = get_real_subtype(base+offset, DF_Type::item_magicness); + n_magic->m_rdf_type = RDF_Type::Pointer; + n_magic->m_node_type = NodeType::Pointer; + n_magic->m_addornements = "*v*"; + n_magic->m_address = base + offset; + n_magic->m_parent = p_node_parent; + n_magic->m_defined_in = "df.items.xml"; + n_magic->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_magic); + + field_name = "contaminants"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_actual, field_name)); + auto n_contaminants = new NodePointer; + n_contaminants->m_field_name = field_name; + n_contaminants->m_df_type = get_real_subtype(base+offset, DF_Type::spatter); + n_contaminants->m_rdf_type = RDF_Type::Pointer; + n_contaminants->m_node_type = NodeType::Pointer; + n_contaminants->m_addornements = "*v*"; + n_contaminants->m_address = base + offset; + n_contaminants->m_parent = p_node_parent; + n_contaminants->m_defined_in = "df.items.xml"; + n_contaminants->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_contaminants); + + field_name = "temperature"; + auto n_temperature = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_actual, field_name)); + n_temperature->m_field_name = field_name; + n_temperature->m_df_type = DF_Type::temperaturest; + n_temperature->m_rdf_type = RDF_Type::Struct; + n_temperature->m_node_type = NodeType::Compound; + n_temperature->m_address = base + offset; + n_temperature->m_defined_in = "df.items.xml"; + n_temperature->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_temperature); + + field_name = "wear"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_actual, field_name)); + auto n_wear = new NodeSimple; + n_wear->m_field_name = field_name; + n_wear->m_df_type = DF_Type::int16_t; + n_wear->m_rdf_type = RDF_Type::int16_t; + n_wear->m_node_type = NodeType::Simple; + n_wear->m_address = base + offset; + n_wear->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_wear); + + field_name = "wear_timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_actual, field_name)); + auto n_wear_timer = new NodeSimple; + n_wear_timer->m_field_name = field_name; + n_wear_timer->m_df_type = DF_Type::int32_t; + n_wear_timer->m_rdf_type = RDF_Type::int32_t; + n_wear_timer->m_node_type = NodeType::Simple; + n_wear_timer->m_address = base + offset; + n_wear_timer->m_comment = "counts up to 806400"; + n_wear_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_wear_timer); + + field_name = "unk_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_actual, field_name)); + auto n_unk_1 = new NodeSimple; + n_unk_1->m_field_name = field_name; + n_unk_1->m_df_type = DF_Type::int32_t; + n_unk_1->m_rdf_type = RDF_Type::int32_t; + n_unk_1->m_node_type = NodeType::Simple; + n_unk_1->m_address = base + offset; + n_unk_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_1); + + field_name = "temp_updated_frame"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_actual, field_name)); + auto n_temp_updated_frame = new NodeSimple; + n_temp_updated_frame->m_field_name = field_name; + n_temp_updated_frame->m_df_type = DF_Type::int32_t; + n_temp_updated_frame->m_rdf_type = RDF_Type::int32_t; + n_temp_updated_frame->m_node_type = NodeType::Simple; + n_temp_updated_frame->m_address = base + offset; + n_temp_updated_frame->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_temp_updated_frame); + +} +void node_from_item_crafted(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_crafted, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_crafted, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "maker_race"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_crafted, field_name)); + auto n_maker_race = new NodeSimple; + n_maker_race->m_field_name = field_name; + n_maker_race->m_df_type = DF_Type::int16_t; + n_maker_race->m_rdf_type = RDF_Type::int16_t; + n_maker_race->m_node_type = NodeType::Simple; + n_maker_race->m_address = base + offset; + n_maker_race->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_maker_race); + + field_name = "quality"; + auto n_quality = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_crafted, field_name)); + n_quality->m_field_name = field_name; + n_quality->m_df_type = DF_Type::item_quality; + n_quality->m_rdf_type = RDF_Type::Enum; + n_quality->m_node_type = NodeType::Enum; + n_quality->m_base_type = DF_Type::int16_t; + n_quality->m_enum_type = "item_quality"; + n_quality->m_address = base + offset; + n_quality->m_defined_in = "df.items.xml"; + n_quality->m_first_value = 0; + n_quality->m_last_value = 6; + n_quality->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_quality); + + field_name = "skill_used"; + auto n_skill_used = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_crafted, field_name)); + n_skill_used->m_field_name = field_name; + n_skill_used->m_df_type = DF_Type::job_skill; + n_skill_used->m_rdf_type = RDF_Type::Enum; + n_skill_used->m_node_type = NodeType::Enum; + n_skill_used->m_base_type = DF_Type::int32_t; + n_skill_used->m_enum_type = "job_skill"; + n_skill_used->m_address = base + offset; + n_skill_used->m_defined_in = "df.skills.xml"; + n_skill_used->m_first_value = -1; + n_skill_used->m_last_value = 134; + n_skill_used->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_skill_used); + + field_name = "maker"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_crafted, field_name)); + auto n_maker = new NodeSimple; + n_maker->m_field_name = field_name; + n_maker->m_df_type = DF_Type::int32_t; + n_maker->m_rdf_type = RDF_Type::int32_t; + n_maker->m_node_type = NodeType::Simple; + n_maker->m_address = base + offset; + n_maker->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_maker); + + field_name = "masterpiece_event"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_crafted, field_name)); + auto n_masterpiece_event = new NodeSimple; + n_masterpiece_event->m_field_name = field_name; + n_masterpiece_event->m_df_type = DF_Type::int32_t; + n_masterpiece_event->m_rdf_type = RDF_Type::int32_t; + n_masterpiece_event->m_node_type = NodeType::Simple; + n_masterpiece_event->m_address = base + offset; + n_masterpiece_event->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_masterpiece_event); + +} +void node_from_item_constructed(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_crafted; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_crafted(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "improvements"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_constructed, field_name)); + auto n_improvements = new NodeVector; + n_improvements->m_field_name = field_name; + n_improvements->m_df_type = DF_Type::itemimprovement; + n_improvements->m_rdf_type = RDF_Type::Vector; + n_improvements->m_node_type = NodeType::Vector; + n_improvements->m_defined_in = "df.itemimprovements.xml"; + n_improvements->m_addornements = "v*"; + n_improvements->m_address = base + offset; + n_improvements->m_parent = p_node_parent; + n_improvements->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_improvements); + +} +void node_from_body_component_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "body_part_status"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_component_info, field_name)); + auto n_body_part_status = new NodeVector; + n_body_part_status->m_field_name = field_name; + n_body_part_status->m_df_type = DF_Type::body_part_status; + n_body_part_status->m_rdf_type = RDF_Type::Vector; + n_body_part_status->m_node_type = NodeType::Vector; + n_body_part_status->m_defined_in = "df.items.xml"; + n_body_part_status->m_addornements = "v"; + n_body_part_status->m_address = base + offset; + n_body_part_status->m_refers_to = "$$._global._upglobal.caste.ref-target.body_info.body_parts[$]"; + n_body_part_status->m_parent = p_node_parent; + n_body_part_status->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_body_part_status); + + field_name = "numbered_masks"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_component_info, field_name)); + auto n_numbered_masks = new NodeVector; + n_numbered_masks->m_field_name = field_name; + n_numbered_masks->m_df_type = DF_Type::uint32_t; + n_numbered_masks->m_rdf_type = RDF_Type::Vector; + n_numbered_masks->m_node_type = NodeType::Vector; + n_numbered_masks->m_addornements = "v"; + n_numbered_masks->m_address = base + offset; + n_numbered_masks->m_comment = "1 bit per instance of a numbered body part"; + n_numbered_masks->m_parent = p_node_parent; + n_numbered_masks->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_numbered_masks); + + field_name = "nonsolid_remaining"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_component_info, field_name)); + auto n_nonsolid_remaining = new NodeVector; + n_nonsolid_remaining->m_field_name = field_name; + n_nonsolid_remaining->m_df_type = DF_Type::uint32_t; + n_nonsolid_remaining->m_rdf_type = RDF_Type::Vector; + n_nonsolid_remaining->m_node_type = NodeType::Vector; + n_nonsolid_remaining->m_addornements = "v"; + n_nonsolid_remaining->m_address = base + offset; + n_nonsolid_remaining->m_comment = "0-100%"; + n_nonsolid_remaining->m_refers_to = "$$._global._upglobal.caste.ref-target.body_info.nonsolid_layers[$].refers-to"; + n_nonsolid_remaining->m_parent = p_node_parent; + n_nonsolid_remaining->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_nonsolid_remaining); + + field_name = "layer_status"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_component_info, field_name)); + auto n_layer_status = new NodeVector; + n_layer_status->m_field_name = field_name; + n_layer_status->m_df_type = DF_Type::body_layer_status; + n_layer_status->m_rdf_type = RDF_Type::Vector; + n_layer_status->m_node_type = NodeType::Vector; + n_layer_status->m_defined_in = "df.items.xml"; + n_layer_status->m_addornements = "v"; + n_layer_status->m_address = base + offset; + n_layer_status->m_refers_to = "$$._global._upglobal.caste.ref-target.body_info.layer_idx[$].refers-to"; + n_layer_status->m_parent = p_node_parent; + n_layer_status->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_layer_status); + + field_name = "layer_wound_area"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_component_info, field_name)); + auto n_layer_wound_area = new NodeVector; + n_layer_wound_area->m_field_name = field_name; + n_layer_wound_area->m_df_type = DF_Type::uint32_t; + n_layer_wound_area->m_rdf_type = RDF_Type::Vector; + n_layer_wound_area->m_node_type = NodeType::Vector; + n_layer_wound_area->m_addornements = "v"; + n_layer_wound_area->m_address = base + offset; + n_layer_wound_area->m_refers_to = "$$._global._upglobal.caste.ref-target.body_info.layer_idx[$].refers-to"; + n_layer_wound_area->m_parent = p_node_parent; + n_layer_wound_area->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_layer_wound_area); + + field_name = "layer_cut_fraction"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_component_info, field_name)); + auto n_layer_cut_fraction = new NodeVector; + n_layer_cut_fraction->m_field_name = field_name; + n_layer_cut_fraction->m_df_type = DF_Type::uint32_t; + n_layer_cut_fraction->m_rdf_type = RDF_Type::Vector; + n_layer_cut_fraction->m_node_type = NodeType::Vector; + n_layer_cut_fraction->m_addornements = "v"; + n_layer_cut_fraction->m_address = base + offset; + n_layer_cut_fraction->m_comment = "0-10000"; + n_layer_cut_fraction->m_refers_to = "$$._global._upglobal.caste.ref-target.body_info.layer_idx[$].refers-to"; + n_layer_cut_fraction->m_parent = p_node_parent; + n_layer_cut_fraction->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_layer_cut_fraction); + + field_name = "layer_dent_fraction"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_component_info, field_name)); + auto n_layer_dent_fraction = new NodeVector; + n_layer_dent_fraction->m_field_name = field_name; + n_layer_dent_fraction->m_df_type = DF_Type::uint32_t; + n_layer_dent_fraction->m_rdf_type = RDF_Type::Vector; + n_layer_dent_fraction->m_node_type = NodeType::Vector; + n_layer_dent_fraction->m_addornements = "v"; + n_layer_dent_fraction->m_address = base + offset; + n_layer_dent_fraction->m_comment = "0-10000"; + n_layer_dent_fraction->m_refers_to = "$$._global._upglobal.caste.ref-target.body_info.layer_idx[$].refers-to"; + n_layer_dent_fraction->m_parent = p_node_parent; + n_layer_dent_fraction->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_layer_dent_fraction); + + field_name = "layer_effect_fraction"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::body_component_info, field_name)); + auto n_layer_effect_fraction = new NodeVector; + n_layer_effect_fraction->m_field_name = field_name; + n_layer_effect_fraction->m_df_type = DF_Type::uint32_t; + n_layer_effect_fraction->m_rdf_type = RDF_Type::Vector; + n_layer_effect_fraction->m_node_type = NodeType::Vector; + n_layer_effect_fraction->m_addornements = "v"; + n_layer_effect_fraction->m_address = base + offset; + n_layer_effect_fraction->m_comment = "0-1000000000"; + n_layer_effect_fraction->m_refers_to = "$$._global._upglobal.caste.ref-target.body_info.layer_idx[$].refers-to"; + n_layer_effect_fraction->m_parent = p_node_parent; + n_layer_effect_fraction->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_layer_effect_fraction); + +} +void node_from_item_body_component__T_body(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "wounds"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component__T_body, field_name)); + auto n_wounds = new NodeVector; + n_wounds->m_field_name = field_name; + n_wounds->m_df_type = DF_Type::unit_wound; + n_wounds->m_rdf_type = RDF_Type::Vector; + n_wounds->m_node_type = NodeType::Vector; + n_wounds->m_defined_in = "df.units.xml"; + n_wounds->m_addornements = "v*"; + n_wounds->m_address = base + offset; + n_wounds->m_parent = p_node_parent; + n_wounds->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_wounds); + + field_name = "unk_100"; + auto n_unk_100 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component__T_body, field_name)); + n_unk_100->m_field_name = field_name; + n_unk_100->m_df_type = DF_Type::int32_t; + n_unk_100->m_rdf_type = RDF_Type::Array; + n_unk_100->m_node_type = NodeType::Array; + n_unk_100->m_addornements = "[10"; + n_unk_100->m_array_size = 10; + n_unk_100->m_address = base + offset; + n_unk_100->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_100); + + field_name = "unk_c8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component__T_body, field_name)); + auto n_unk_c8 = new NodeSimple; + n_unk_c8->m_field_name = field_name; + n_unk_c8->m_df_type = DF_Type::int32_t; + n_unk_c8->m_rdf_type = RDF_Type::int32_t; + n_unk_c8->m_node_type = NodeType::Simple; + n_unk_c8->m_address = base + offset; + n_unk_c8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_c8); + + field_name = "components"; + auto n_components = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component__T_body, field_name)); + n_components->m_field_name = field_name; + n_components->m_df_type = DF_Type::body_component_info; + n_components->m_rdf_type = RDF_Type::Struct; + n_components->m_node_type = NodeType::Compound; + n_components->m_address = base + offset; + n_components->m_defined_in = "df.items.xml"; + n_components->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_components); + + field_name = "physical_attr_value"; + auto n_physical_attr_value = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component__T_body, field_name)); + n_physical_attr_value->m_field_name = field_name; + n_physical_attr_value->m_df_type = DF_Type::int32_t; + n_physical_attr_value->m_rdf_type = RDF_Type::Array; + n_physical_attr_value->m_node_type = NodeType::Array; + n_physical_attr_value->m_index_enum = DF_Type::physical_attribute_type; + n_physical_attr_value->m_addornements = "[6"; + n_physical_attr_value->m_array_size = 6; + n_physical_attr_value->m_address = base + offset; + n_physical_attr_value->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_physical_attr_value); + + field_name = "physical_attr_unk2"; + auto n_physical_attr_unk2 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component__T_body, field_name)); + n_physical_attr_unk2->m_field_name = field_name; + n_physical_attr_unk2->m_df_type = DF_Type::int32_t; + n_physical_attr_unk2->m_rdf_type = RDF_Type::Array; + n_physical_attr_unk2->m_node_type = NodeType::Array; + n_physical_attr_unk2->m_index_enum = DF_Type::physical_attribute_type; + n_physical_attr_unk2->m_addornements = "[6"; + n_physical_attr_unk2->m_array_size = 6; + n_physical_attr_unk2->m_address = base + offset; + n_physical_attr_unk2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_physical_attr_unk2); + + field_name = "size_info"; + auto n_size_info = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component__T_body, field_name)); + n_size_info->m_field_name = field_name; + n_size_info->m_df_type = DF_Type::body_size_info; + n_size_info->m_rdf_type = RDF_Type::Struct; + n_size_info->m_node_type = NodeType::Compound; + n_size_info->m_address = base + offset; + n_size_info->m_defined_in = "df.items.xml"; + n_size_info->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_size_info); + + field_name = "body_part_relsize"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component__T_body, field_name)); + auto n_body_part_relsize = new NodeVector; + n_body_part_relsize->m_field_name = field_name; + n_body_part_relsize->m_df_type = DF_Type::int32_t; + n_body_part_relsize->m_rdf_type = RDF_Type::Vector; + n_body_part_relsize->m_node_type = NodeType::Vector; + n_body_part_relsize->m_addornements = "v"; + n_body_part_relsize->m_address = base + offset; + n_body_part_relsize->m_comment = "=unit.enemy.body_part_relsize"; + n_body_part_relsize->m_parent = p_node_parent; + n_body_part_relsize->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_body_part_relsize); + + field_name = "body_modifiers"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component__T_body, field_name)); + auto n_body_modifiers = new NodeVector; + n_body_modifiers->m_field_name = field_name; + n_body_modifiers->m_df_type = DF_Type::int32_t; + n_body_modifiers->m_rdf_type = RDF_Type::Vector; + n_body_modifiers->m_node_type = NodeType::Vector; + n_body_modifiers->m_addornements = "v"; + n_body_modifiers->m_address = base + offset; + n_body_modifiers->m_refers_to = "$$._global.caste.ref-target.body_appearance_modifiers[$]"; + n_body_modifiers->m_parent = p_node_parent; + n_body_modifiers->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_body_modifiers); + + field_name = "bp_modifiers"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component__T_body, field_name)); + auto n_bp_modifiers = new NodeVector; + n_bp_modifiers->m_field_name = field_name; + n_bp_modifiers->m_df_type = DF_Type::int32_t; + n_bp_modifiers->m_rdf_type = RDF_Type::Vector; + n_bp_modifiers->m_node_type = NodeType::Vector; + n_bp_modifiers->m_addornements = "v"; + n_bp_modifiers->m_address = base + offset; + n_bp_modifiers->m_refers_to = "$$._global.caste.ref-target.bp_appearance.modifier_idx[$].refers-to"; + n_bp_modifiers->m_parent = p_node_parent; + n_bp_modifiers->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bp_modifiers); + + field_name = "size_modifier"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component__T_body, field_name)); + auto n_size_modifier = new NodeSimple; + n_size_modifier->m_field_name = field_name; + n_size_modifier->m_df_type = DF_Type::int32_t; + n_size_modifier->m_rdf_type = RDF_Type::int32_t; + n_size_modifier->m_node_type = NodeType::Simple; + n_size_modifier->m_address = base + offset; + n_size_modifier->m_comment = "=unit.appearance.size_modifier"; + n_size_modifier->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_size_modifier); + +} +void node_from_item_body_component__T_appearance(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "colors"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component__T_appearance, field_name)); + auto n_colors = new NodeVector; + n_colors->m_field_name = field_name; + n_colors->m_df_type = DF_Type::int32_t; + n_colors->m_rdf_type = RDF_Type::Vector; + n_colors->m_node_type = NodeType::Vector; + n_colors->m_addornements = "v"; + n_colors->m_address = base + offset; + n_colors->m_parent = p_node_parent; + n_colors->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_colors); + + field_name = "unk_1e8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component__T_appearance, field_name)); + auto n_unk_1e8 = new NodeVector; + n_unk_1e8->m_field_name = field_name; + n_unk_1e8->m_df_type = DF_Type::int16_t; + n_unk_1e8->m_rdf_type = RDF_Type::Vector; + n_unk_1e8->m_node_type = NodeType::Vector; + n_unk_1e8->m_addornements = "v"; + n_unk_1e8->m_address = base + offset; + n_unk_1e8->m_parent = p_node_parent; + n_unk_1e8->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_1e8); + + field_name = "unk_1f8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component__T_appearance, field_name)); + auto n_unk_1f8 = new NodeVector; + n_unk_1f8->m_field_name = field_name; + n_unk_1f8->m_df_type = DF_Type::int32_t; + n_unk_1f8->m_rdf_type = RDF_Type::Vector; + n_unk_1f8->m_node_type = NodeType::Vector; + n_unk_1f8->m_addornements = "v"; + n_unk_1f8->m_address = base + offset; + n_unk_1f8->m_parent = p_node_parent; + n_unk_1f8->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_1f8); + + field_name = "unk_208"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component__T_appearance, field_name)); + auto n_unk_208 = new NodeVector; + n_unk_208->m_field_name = field_name; + n_unk_208->m_df_type = DF_Type::int32_t; + n_unk_208->m_rdf_type = RDF_Type::Vector; + n_unk_208->m_node_type = NodeType::Vector; + n_unk_208->m_addornements = "v"; + n_unk_208->m_address = base + offset; + n_unk_208->m_parent = p_node_parent; + n_unk_208->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_208); + + field_name = "unk_218"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component__T_appearance, field_name)); + auto n_unk_218 = new NodeVector; + n_unk_218->m_field_name = field_name; + n_unk_218->m_df_type = DF_Type::int32_t; + n_unk_218->m_rdf_type = RDF_Type::Vector; + n_unk_218->m_node_type = NodeType::Vector; + n_unk_218->m_addornements = "v"; + n_unk_218->m_address = base + offset; + n_unk_218->m_parent = p_node_parent; + n_unk_218->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_218); + +} +void node_from_item_body_component__T_bone1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component__T_bone1, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component__T_bone1, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + +} +void node_from_item_body_component__T_bone2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component__T_bone2, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component__T_bone2, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + +} +void node_from_item_body_component(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "race"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component, field_name)); + auto n_race = new NodeSimple; + n_race->m_field_name = field_name; + n_race->m_df_type = DF_Type::int16_t; + n_race->m_rdf_type = RDF_Type::int16_t; + n_race->m_node_type = NodeType::Simple; + n_race->m_address = base + offset; + n_race->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_race); + + field_name = "hist_figure_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component, field_name)); + auto n_hist_figure_id = new NodeSimple; + n_hist_figure_id->m_field_name = field_name; + n_hist_figure_id->m_df_type = DF_Type::int32_t; + n_hist_figure_id->m_rdf_type = RDF_Type::int32_t; + n_hist_figure_id->m_node_type = NodeType::Simple; + n_hist_figure_id->m_address = base + offset; + n_hist_figure_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_hist_figure_id); + + field_name = "unit_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component, field_name)); + auto n_unit_id = new NodeSimple; + n_unit_id->m_field_name = field_name; + n_unit_id->m_df_type = DF_Type::int32_t; + n_unit_id->m_rdf_type = RDF_Type::int32_t; + n_unit_id->m_node_type = NodeType::Simple; + n_unit_id->m_address = base + offset; + n_unit_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unit_id); + + field_name = "caste"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component, field_name)); + auto n_caste = new NodeSimple; + n_caste->m_field_name = field_name; + n_caste->m_df_type = DF_Type::int16_t; + n_caste->m_rdf_type = RDF_Type::int16_t; + n_caste->m_node_type = NodeType::Simple; + n_caste->m_address = base + offset; + n_caste->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_caste); + + field_name = "sex"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component, field_name)); + auto n_sex = new NodeSimple; + n_sex->m_field_name = field_name; + n_sex->m_df_type = DF_Type::int8_t; + n_sex->m_rdf_type = RDF_Type::int8_t; + n_sex->m_node_type = NodeType::Simple; + n_sex->m_address = base + offset; + n_sex->m_comment = "-1 n/a, 0 female, 1 male"; + n_sex->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sex); + + field_name = "race2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component, field_name)); + auto n_race2 = new NodeSimple; + n_race2->m_field_name = field_name; + n_race2->m_df_type = DF_Type::int16_t; + n_race2->m_rdf_type = RDF_Type::int16_t; + n_race2->m_node_type = NodeType::Simple; + n_race2->m_address = base + offset; + n_race2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_race2); + + field_name = "caste2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component, field_name)); + auto n_caste2 = new NodeSimple; + n_caste2->m_field_name = field_name; + n_caste2->m_df_type = DF_Type::int16_t; + n_caste2->m_rdf_type = RDF_Type::int16_t; + n_caste2->m_node_type = NodeType::Simple; + n_caste2->m_address = base + offset; + n_caste2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_caste2); + + field_name = "rot_timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component, field_name)); + auto n_rot_timer = new NodeSimple; + n_rot_timer->m_field_name = field_name; + n_rot_timer->m_df_type = DF_Type::int32_t; + n_rot_timer->m_rdf_type = RDF_Type::int32_t; + n_rot_timer->m_node_type = NodeType::Simple; + n_rot_timer->m_address = base + offset; + n_rot_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rot_timer); + + field_name = "unk_8c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component, field_name)); + auto n_unk_8c = new NodeSimple; + n_unk_8c->m_field_name = field_name; + n_unk_8c->m_df_type = DF_Type::int8_t; + n_unk_8c->m_rdf_type = RDF_Type::int8_t; + n_unk_8c->m_node_type = NodeType::Simple; + n_unk_8c->m_address = base + offset; + n_unk_8c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_8c); + + field_name = "body"; + auto n_body = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component, field_name)); + n_body->m_field_name = field_name; + n_body->m_df_type = DF_Type::item_body_component__T_body; + n_body->m_rdf_type = RDF_Type::Compound; + n_body->m_node_type = NodeType::Compound; + n_body->m_address = base + offset; + n_body->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_body); + + field_name = "birth_year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component, field_name)); + auto n_birth_year = new NodeSimple; + n_birth_year->m_field_name = field_name; + n_birth_year->m_df_type = DF_Type::int32_t; + n_birth_year->m_rdf_type = RDF_Type::int32_t; + n_birth_year->m_node_type = NodeType::Simple; + n_birth_year->m_address = base + offset; + n_birth_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_birth_year); + + field_name = "birth_time"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component, field_name)); + auto n_birth_time = new NodeSimple; + n_birth_time->m_field_name = field_name; + n_birth_time->m_df_type = DF_Type::int32_t; + n_birth_time->m_rdf_type = RDF_Type::int32_t; + n_birth_time->m_node_type = NodeType::Simple; + n_birth_time->m_address = base + offset; + n_birth_time->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_birth_time); + + field_name = "curse_year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component, field_name)); + auto n_curse_year = new NodeSimple; + n_curse_year->m_field_name = field_name; + n_curse_year->m_df_type = DF_Type::int32_t; + n_curse_year->m_rdf_type = RDF_Type::int32_t; + n_curse_year->m_node_type = NodeType::Simple; + n_curse_year->m_address = base + offset; + n_curse_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_curse_year); + + field_name = "curse_time"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component, field_name)); + auto n_curse_time = new NodeSimple; + n_curse_time->m_field_name = field_name; + n_curse_time->m_df_type = DF_Type::int32_t; + n_curse_time->m_rdf_type = RDF_Type::int32_t; + n_curse_time->m_node_type = NodeType::Simple; + n_curse_time->m_address = base + offset; + n_curse_time->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_curse_time); + + field_name = "birth_year_bias"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component, field_name)); + auto n_birth_year_bias = new NodeSimple; + n_birth_year_bias->m_field_name = field_name; + n_birth_year_bias->m_df_type = DF_Type::int32_t; + n_birth_year_bias->m_rdf_type = RDF_Type::int32_t; + n_birth_year_bias->m_node_type = NodeType::Simple; + n_birth_year_bias->m_address = base + offset; + n_birth_year_bias->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_birth_year_bias); + + field_name = "birth_time_bias"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component, field_name)); + auto n_birth_time_bias = new NodeSimple; + n_birth_time_bias->m_field_name = field_name; + n_birth_time_bias->m_df_type = DF_Type::int32_t; + n_birth_time_bias->m_rdf_type = RDF_Type::int32_t; + n_birth_time_bias->m_node_type = NodeType::Simple; + n_birth_time_bias->m_address = base + offset; + n_birth_time_bias->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_birth_time_bias); + + field_name = "death_year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component, field_name)); + auto n_death_year = new NodeSimple; + n_death_year->m_field_name = field_name; + n_death_year->m_df_type = DF_Type::int32_t; + n_death_year->m_rdf_type = RDF_Type::int32_t; + n_death_year->m_node_type = NodeType::Simple; + n_death_year->m_address = base + offset; + n_death_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_death_year); + + field_name = "death_time"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component, field_name)); + auto n_death_time = new NodeSimple; + n_death_time->m_field_name = field_name; + n_death_time->m_df_type = DF_Type::int32_t; + n_death_time->m_rdf_type = RDF_Type::int32_t; + n_death_time->m_node_type = NodeType::Simple; + n_death_time->m_address = base + offset; + n_death_time->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_death_time); + + field_name = "appearance"; + auto n_appearance = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component, field_name)); + n_appearance->m_field_name = field_name; + n_appearance->m_df_type = DF_Type::item_body_component__T_appearance; + n_appearance->m_rdf_type = RDF_Type::Compound; + n_appearance->m_node_type = NodeType::Compound; + n_appearance->m_address = base + offset; + n_appearance->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_appearance); + + field_name = "blood_count"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component, field_name)); + auto n_blood_count = new NodeSimple; + n_blood_count->m_field_name = field_name; + n_blood_count->m_df_type = DF_Type::int32_t; + n_blood_count->m_rdf_type = RDF_Type::int32_t; + n_blood_count->m_node_type = NodeType::Simple; + n_blood_count->m_address = base + offset; + n_blood_count->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_blood_count); + + field_name = "stored_fat"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component, field_name)); + auto n_stored_fat = new NodeSimple; + n_stored_fat->m_field_name = field_name; + n_stored_fat->m_df_type = DF_Type::int32_t; + n_stored_fat->m_rdf_type = RDF_Type::int32_t; + n_stored_fat->m_node_type = NodeType::Simple; + n_stored_fat->m_address = base + offset; + n_stored_fat->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_stored_fat); + + field_name = "hist_figure_id2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component, field_name)); + auto n_hist_figure_id2 = new NodeSimple; + n_hist_figure_id2->m_field_name = field_name; + n_hist_figure_id2->m_df_type = DF_Type::int32_t; + n_hist_figure_id2->m_rdf_type = RDF_Type::int32_t; + n_hist_figure_id2->m_node_type = NodeType::Simple; + n_hist_figure_id2->m_address = base + offset; + n_hist_figure_id2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_hist_figure_id2); + + field_name = "corpse_flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component, field_name)); + auto n_corpse_flags = new NodeBitfield; + n_corpse_flags->m_field_name = field_name; + n_corpse_flags->m_df_type = DF_Type::item_body_component__T_corpse_flags; + n_corpse_flags->m_rdf_type = RDF_Type::Bitfield; + n_corpse_flags->m_node_type = NodeType::Bitfield; + n_corpse_flags->m_address = base + offset; + n_corpse_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_corpse_flags); + + field_name = "unit_id2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component, field_name)); + auto n_unit_id2 = new NodeSimple; + n_unit_id2->m_field_name = field_name; + n_unit_id2->m_df_type = DF_Type::int32_t; + n_unit_id2->m_rdf_type = RDF_Type::int32_t; + n_unit_id2->m_node_type = NodeType::Simple; + n_unit_id2->m_address = base + offset; + n_unit_id2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unit_id2); + + field_name = "unk_3401"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component, field_name)); + auto n_unk_3401 = new NodeSimple; + n_unk_3401->m_field_name = field_name; + n_unk_3401->m_df_type = DF_Type::int32_t; + n_unk_3401->m_rdf_type = RDF_Type::int32_t; + n_unk_3401->m_node_type = NodeType::Simple; + n_unk_3401->m_address = base + offset; + n_unk_3401->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_3401); + + field_name = "material_amount"; + auto n_material_amount = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component, field_name)); + n_material_amount->m_field_name = field_name; + n_material_amount->m_df_type = DF_Type::int32_t; + n_material_amount->m_rdf_type = RDF_Type::Array; + n_material_amount->m_node_type = NodeType::Array; + n_material_amount->m_index_enum = DF_Type::corpse_material_type; + n_material_amount->m_addornements = "[19"; + n_material_amount->m_array_size = 19; + n_material_amount->m_address = base + offset; + n_material_amount->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_material_amount); + + field_name = "bone1"; + auto n_bone1 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component, field_name)); + n_bone1->m_field_name = field_name; + n_bone1->m_df_type = DF_Type::item_body_component__T_bone1; + n_bone1->m_rdf_type = RDF_Type::Compound; + n_bone1->m_node_type = NodeType::Compound; + n_bone1->m_address = base + offset; + n_bone1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_bone1); + + field_name = "bone2"; + auto n_bone2 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_body_component, field_name)); + n_bone2->m_field_name = field_name; + n_bone2->m_df_type = DF_Type::item_body_component__T_bone2; + n_bone2->m_rdf_type = RDF_Type::Compound; + n_bone2->m_node_type = NodeType::Compound; + n_bone2->m_address = base + offset; + n_bone2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_bone2); + +} +void node_from_item_corpsest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_body_component; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_body_component(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_item_corpsepiecest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_body_component; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_body_component(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_item_liquipowder(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_state"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_liquipowder, field_name)); + auto n_mat_state = new NodeBitfield; + n_mat_state->m_field_name = field_name; + n_mat_state->m_df_type = DF_Type::item_matstate; + n_mat_state->m_rdf_type = RDF_Type::Bitfield; + n_mat_state->m_node_type = NodeType::Bitfield; + n_mat_state->m_address = base + offset; + n_mat_state->m_defined_in = "df.items.xml"; + n_mat_state->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_state); + + field_name = "dimension"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_liquipowder, field_name)); + auto n_dimension = new NodeSimple; + n_dimension->m_field_name = field_name; + n_dimension->m_df_type = DF_Type::int32_t; + n_dimension->m_rdf_type = RDF_Type::int32_t; + n_dimension->m_node_type = NodeType::Simple; + n_dimension->m_address = base + offset; + n_dimension->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dimension); + +} +void node_from_item_liquid(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_liquipowder; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_liquipowder(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_liquid, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_liquid, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + +} +void node_from_item_powder(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_liquipowder; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_liquipowder(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_powder, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_powder, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + +} +void node_from_item_barst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_barst, field_name)); + auto n_subtype = new NodeSimple; + n_subtype->m_field_name = field_name; + n_subtype->m_df_type = DF_Type::int16_t; + n_subtype->m_rdf_type = RDF_Type::int16_t; + n_subtype->m_node_type = NodeType::Simple; + n_subtype->m_address = base + offset; + n_subtype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_subtype); + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_barst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_barst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "dimension"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_barst, field_name)); + auto n_dimension = new NodeSimple; + n_dimension->m_field_name = field_name; + n_dimension->m_df_type = DF_Type::int32_t; + n_dimension->m_rdf_type = RDF_Type::int32_t; + n_dimension->m_node_type = NodeType::Simple; + n_dimension->m_address = base + offset; + n_dimension->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dimension); + +} +void node_from_item_smallgemst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_smallgemst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_smallgemst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "shape"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_smallgemst, field_name)); + auto n_shape = new NodeSimple; + n_shape->m_field_name = field_name; + n_shape->m_df_type = DF_Type::int32_t; + n_shape->m_rdf_type = RDF_Type::int32_t; + n_shape->m_node_type = NodeType::Simple; + n_shape->m_address = base + offset; + n_shape->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_shape); + +} +void node_from_item_blocksst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_blocksst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_blocksst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + +} +void node_from_item_roughst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_roughst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_roughst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + +} +void node_from_item_boulderst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_boulderst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_boulderst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + +} +void node_from_item_woodst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_woodst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_woodst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + +} +void node_from_item_branchst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_branchst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_branchst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + +} +void node_from_item_rockst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_rockst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_rockst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "sharpness"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_rockst, field_name)); + auto n_sharpness = new NodeSimple; + n_sharpness->m_field_name = field_name; + n_sharpness->m_df_type = DF_Type::int32_t; + n_sharpness->m_rdf_type = RDF_Type::int32_t; + n_sharpness->m_node_type = NodeType::Simple; + n_sharpness->m_address = base + offset; + n_sharpness->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sharpness); + + field_name = "unk_84"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_rockst, field_name)); + auto n_unk_84 = new NodeSimple; + n_unk_84->m_field_name = field_name; + n_unk_84->m_df_type = DF_Type::int32_t; + n_unk_84->m_rdf_type = RDF_Type::int32_t; + n_unk_84->m_node_type = NodeType::Simple; + n_unk_84->m_address = base + offset; + n_unk_84->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_84); + +} +void node_from_item_seedsst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_seedsst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_seedsst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "grow_counter"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_seedsst, field_name)); + auto n_grow_counter = new NodeSimple; + n_grow_counter->m_field_name = field_name; + n_grow_counter->m_df_type = DF_Type::int32_t; + n_grow_counter->m_rdf_type = RDF_Type::int32_t; + n_grow_counter->m_node_type = NodeType::Simple; + n_grow_counter->m_address = base + offset; + n_grow_counter->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_grow_counter); + + field_name = "planting_skill"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_seedsst, field_name)); + auto n_planting_skill = new NodeSimple; + n_planting_skill->m_field_name = field_name; + n_planting_skill->m_df_type = DF_Type::int32_t; + n_planting_skill->m_rdf_type = RDF_Type::int32_t; + n_planting_skill->m_node_type = NodeType::Simple; + n_planting_skill->m_address = base + offset; + n_planting_skill->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_planting_skill); + +} +void node_from_item_skin_tannedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_skin_tannedst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_skin_tannedst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "unk_80"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_skin_tannedst, field_name)); + auto n_unk_80 = new NodeSimple; + n_unk_80->m_field_name = field_name; + n_unk_80->m_df_type = DF_Type::int32_t; + n_unk_80->m_rdf_type = RDF_Type::int32_t; + n_unk_80->m_node_type = NodeType::Simple; + n_unk_80->m_address = base + offset; + n_unk_80->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_80); + +} +void node_from_item_meatst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_meatst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_meatst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "rot_timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_meatst, field_name)); + auto n_rot_timer = new NodeSimple; + n_rot_timer->m_field_name = field_name; + n_rot_timer->m_df_type = DF_Type::int32_t; + n_rot_timer->m_rdf_type = RDF_Type::int32_t; + n_rot_timer->m_node_type = NodeType::Simple; + n_rot_timer->m_address = base + offset; + n_rot_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rot_timer); + +} +void node_from_item_plantst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_plantst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_plantst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "rot_timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_plantst, field_name)); + auto n_rot_timer = new NodeSimple; + n_rot_timer->m_field_name = field_name; + n_rot_timer->m_df_type = DF_Type::int32_t; + n_rot_timer->m_rdf_type = RDF_Type::int32_t; + n_rot_timer->m_node_type = NodeType::Simple; + n_rot_timer->m_address = base + offset; + n_rot_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rot_timer); + +} +void node_from_item_plant_growthst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_plant_growthst, field_name)); + auto n_subtype = new NodeSimple; + n_subtype->m_field_name = field_name; + n_subtype->m_df_type = DF_Type::int16_t; + n_subtype->m_rdf_type = RDF_Type::int16_t; + n_subtype->m_node_type = NodeType::Simple; + n_subtype->m_address = base + offset; + n_subtype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_subtype); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_plant_growthst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_plant_growthst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_plant_growthst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "rot_timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_plant_growthst, field_name)); + auto n_rot_timer = new NodeSimple; + n_rot_timer->m_field_name = field_name; + n_rot_timer->m_df_type = DF_Type::int32_t; + n_rot_timer->m_rdf_type = RDF_Type::int32_t; + n_rot_timer->m_node_type = NodeType::Simple; + n_rot_timer->m_address = base + offset; + n_rot_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rot_timer); + +} +void node_from_item_cheesest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_cheesest, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_cheesest, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "rot_timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_cheesest, field_name)); + auto n_rot_timer = new NodeSimple; + n_rot_timer->m_field_name = field_name; + n_rot_timer->m_df_type = DF_Type::int32_t; + n_rot_timer->m_rdf_type = RDF_Type::int32_t; + n_rot_timer->m_node_type = NodeType::Simple; + n_rot_timer->m_address = base + offset; + n_rot_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rot_timer); + +} +void node_from_item_globst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_globst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_globst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "rot_timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_globst, field_name)); + auto n_rot_timer = new NodeSimple; + n_rot_timer->m_field_name = field_name; + n_rot_timer->m_df_type = DF_Type::int32_t; + n_rot_timer->m_rdf_type = RDF_Type::int32_t; + n_rot_timer->m_node_type = NodeType::Simple; + n_rot_timer->m_address = base + offset; + n_rot_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rot_timer); + + field_name = "mat_state"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_globst, field_name)); + auto n_mat_state = new NodeBitfield; + n_mat_state->m_field_name = field_name; + n_mat_state->m_df_type = DF_Type::item_matstate; + n_mat_state->m_rdf_type = RDF_Type::Bitfield; + n_mat_state->m_node_type = NodeType::Bitfield; + n_mat_state->m_address = base + offset; + n_mat_state->m_defined_in = "df.items.xml"; + n_mat_state->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_state); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_globst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_item_remainsst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "race"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_remainsst, field_name)); + auto n_race = new NodeSimple; + n_race->m_field_name = field_name; + n_race->m_df_type = DF_Type::int16_t; + n_race->m_rdf_type = RDF_Type::int16_t; + n_race->m_node_type = NodeType::Simple; + n_race->m_address = base + offset; + n_race->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_race); + + field_name = "caste"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_remainsst, field_name)); + auto n_caste = new NodeSimple; + n_caste->m_field_name = field_name; + n_caste->m_df_type = DF_Type::int16_t; + n_caste->m_rdf_type = RDF_Type::int16_t; + n_caste->m_node_type = NodeType::Simple; + n_caste->m_address = base + offset; + n_caste->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_caste); + + field_name = "rot_timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_remainsst, field_name)); + auto n_rot_timer = new NodeSimple; + n_rot_timer->m_field_name = field_name; + n_rot_timer->m_df_type = DF_Type::int32_t; + n_rot_timer->m_rdf_type = RDF_Type::int32_t; + n_rot_timer->m_node_type = NodeType::Simple; + n_rot_timer->m_address = base + offset; + n_rot_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rot_timer); + +} +void node_from_item_fishst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "race"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_fishst, field_name)); + auto n_race = new NodeSimple; + n_race->m_field_name = field_name; + n_race->m_df_type = DF_Type::int16_t; + n_race->m_rdf_type = RDF_Type::int16_t; + n_race->m_node_type = NodeType::Simple; + n_race->m_address = base + offset; + n_race->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_race); + + field_name = "caste"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_fishst, field_name)); + auto n_caste = new NodeSimple; + n_caste->m_field_name = field_name; + n_caste->m_df_type = DF_Type::int16_t; + n_caste->m_rdf_type = RDF_Type::int16_t; + n_caste->m_node_type = NodeType::Simple; + n_caste->m_address = base + offset; + n_caste->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_caste); + + field_name = "rot_timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_fishst, field_name)); + auto n_rot_timer = new NodeSimple; + n_rot_timer->m_field_name = field_name; + n_rot_timer->m_df_type = DF_Type::int32_t; + n_rot_timer->m_rdf_type = RDF_Type::int32_t; + n_rot_timer->m_node_type = NodeType::Simple; + n_rot_timer->m_address = base + offset; + n_rot_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rot_timer); + +} +void node_from_item_fish_rawst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "race"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_fish_rawst, field_name)); + auto n_race = new NodeSimple; + n_race->m_field_name = field_name; + n_race->m_df_type = DF_Type::int16_t; + n_race->m_rdf_type = RDF_Type::int16_t; + n_race->m_node_type = NodeType::Simple; + n_race->m_address = base + offset; + n_race->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_race); + + field_name = "caste"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_fish_rawst, field_name)); + auto n_caste = new NodeSimple; + n_caste->m_field_name = field_name; + n_caste->m_df_type = DF_Type::int16_t; + n_caste->m_rdf_type = RDF_Type::int16_t; + n_caste->m_node_type = NodeType::Simple; + n_caste->m_address = base + offset; + n_caste->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_caste); + + field_name = "rot_timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_fish_rawst, field_name)); + auto n_rot_timer = new NodeSimple; + n_rot_timer->m_field_name = field_name; + n_rot_timer->m_df_type = DF_Type::int32_t; + n_rot_timer->m_rdf_type = RDF_Type::int32_t; + n_rot_timer->m_node_type = NodeType::Simple; + n_rot_timer->m_address = base + offset; + n_rot_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rot_timer); + +} +void node_from_item_foodst__T_ingredients(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_foodst__T_ingredients, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int16_t; + n_anon_1->m_rdf_type = RDF_Type::int16_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "item_type"; + auto n_item_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_foodst__T_ingredients, field_name)); + n_item_type->m_field_name = field_name; + n_item_type->m_df_type = DF_Type::item_type; + n_item_type->m_rdf_type = RDF_Type::Enum; + n_item_type->m_node_type = NodeType::Enum; + n_item_type->m_base_type = DF_Type::int16_t; + n_item_type->m_enum_type = "item_type"; + n_item_type->m_address = base + offset; + n_item_type->m_defined_in = "df.item-raws.xml"; + n_item_type->m_first_value = -1; + n_item_type->m_last_value = 90; + n_item_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_type); + + field_name = "unk_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_foodst__T_ingredients, field_name)); + auto n_unk_4 = new NodeSimple; + n_unk_4->m_field_name = field_name; + n_unk_4->m_df_type = DF_Type::int16_t; + n_unk_4->m_rdf_type = RDF_Type::int16_t; + n_unk_4->m_node_type = NodeType::Simple; + n_unk_4->m_address = base + offset; + n_unk_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_4); + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_foodst__T_ingredients, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_foodst__T_ingredients, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "maker"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_foodst__T_ingredients, field_name)); + auto n_maker = new NodeSimple; + n_maker->m_field_name = field_name; + n_maker->m_df_type = DF_Type::int32_t; + n_maker->m_rdf_type = RDF_Type::int32_t; + n_maker->m_node_type = NodeType::Simple; + n_maker->m_address = base + offset; + n_maker->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_maker); + + field_name = "quality"; + auto n_quality = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_foodst__T_ingredients, field_name)); + n_quality->m_field_name = field_name; + n_quality->m_df_type = DF_Type::item_quality; + n_quality->m_rdf_type = RDF_Type::Enum; + n_quality->m_node_type = NodeType::Enum; + n_quality->m_base_type = DF_Type::int16_t; + n_quality->m_enum_type = "item_quality"; + n_quality->m_address = base + offset; + n_quality->m_defined_in = "df.items.xml"; + n_quality->m_first_value = 0; + n_quality->m_last_value = 6; + n_quality->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_quality); + + field_name = "unk_14"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_foodst__T_ingredients, field_name)); + auto n_unk_14 = new NodeSimple; + n_unk_14->m_field_name = field_name; + n_unk_14->m_df_type = DF_Type::int32_t; + n_unk_14->m_rdf_type = RDF_Type::int32_t; + n_unk_14->m_node_type = NodeType::Simple; + n_unk_14->m_address = base + offset; + n_unk_14->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_14); + + field_name = "unk_18"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_foodst__T_ingredients, field_name)); + auto n_unk_18 = new NodeSimple; + n_unk_18->m_field_name = field_name; + n_unk_18->m_df_type = DF_Type::int32_t; + n_unk_18->m_rdf_type = RDF_Type::int32_t; + n_unk_18->m_node_type = NodeType::Simple; + n_unk_18->m_address = base + offset; + n_unk_18->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_18); + +} +void node_from_item_foodst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_crafted; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_crafted(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_foodst, field_name)); + auto n_subtype = new NodePointer; + n_subtype->m_field_name = field_name; + n_subtype->m_df_type = get_real_subtype(base+offset, DF_Type::itemdef_foodst); + n_subtype->m_rdf_type = RDF_Type::Pointer; + n_subtype->m_node_type = NodeType::Pointer; + n_subtype->m_addornements = "*"; + n_subtype->m_address = base + offset; + n_subtype->m_parent = p_node_parent; + n_subtype->m_defined_in = "df.item-raws.xml"; + n_subtype->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_subtype); + + field_name = "entity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_foodst, field_name)); + auto n_entity = new NodeSimple; + n_entity->m_field_name = field_name; + n_entity->m_df_type = DF_Type::int32_t; + n_entity->m_rdf_type = RDF_Type::int32_t; + n_entity->m_node_type = NodeType::Simple; + n_entity->m_address = base + offset; + n_entity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity); + + field_name = "recipe_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_foodst, field_name)); + auto n_recipe_id = new NodeSimple; + n_recipe_id->m_field_name = field_name; + n_recipe_id->m_df_type = DF_Type::int16_t; + n_recipe_id->m_rdf_type = RDF_Type::int16_t; + n_recipe_id->m_node_type = NodeType::Simple; + n_recipe_id->m_address = base + offset; + n_recipe_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_recipe_id); + + field_name = "ingredients"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_foodst, field_name)); + auto n_ingredients = new NodeVector; + n_ingredients->m_field_name = field_name; + n_ingredients->m_df_type = DF_Type::item_foodst__T_ingredients; + n_ingredients->m_rdf_type = RDF_Type::Vector; + n_ingredients->m_node_type = NodeType::Vector; + n_ingredients->m_addornements = "v*"; + n_ingredients->m_address = base + offset; + n_ingredients->m_parent = p_node_parent; + n_ingredients->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_ingredients); + + field_name = "rot_timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_foodst, field_name)); + auto n_rot_timer = new NodeSimple; + n_rot_timer->m_field_name = field_name; + n_rot_timer->m_df_type = DF_Type::int32_t; + n_rot_timer->m_rdf_type = RDF_Type::int32_t; + n_rot_timer->m_node_type = NodeType::Simple; + n_rot_timer->m_address = base + offset; + n_rot_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rot_timer); + +} +void node_from_item_drinkst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_liquid; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_liquid(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_item_powder_miscst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_powder; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_powder(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_item_liquid_miscst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_liquid; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_liquid(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk_88"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_liquid_miscst, field_name)); + auto n_unk_88 = new NodeSimple; + n_unk_88->m_field_name = field_name; + n_unk_88->m_df_type = DF_Type::int32_t; + n_unk_88->m_rdf_type = RDF_Type::int32_t; + n_unk_88->m_node_type = NodeType::Simple; + n_unk_88->m_address = base + offset; + n_unk_88->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_88); + +} +void node_from_item_threadst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_threadst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_threadst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "dye_mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_threadst, field_name)); + auto n_dye_mat_type = new NodeSimple; + n_dye_mat_type->m_field_name = field_name; + n_dye_mat_type->m_df_type = DF_Type::int16_t; + n_dye_mat_type->m_rdf_type = RDF_Type::int16_t; + n_dye_mat_type->m_node_type = NodeType::Simple; + n_dye_mat_type->m_address = base + offset; + n_dye_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dye_mat_type); + + field_name = "dye_mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_threadst, field_name)); + auto n_dye_mat_index = new NodeSimple; + n_dye_mat_index->m_field_name = field_name; + n_dye_mat_index->m_df_type = DF_Type::int32_t; + n_dye_mat_index->m_rdf_type = RDF_Type::int32_t; + n_dye_mat_index->m_node_type = NodeType::Simple; + n_dye_mat_index->m_address = base + offset; + n_dye_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dye_mat_index); + + field_name = "unk_88"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_threadst, field_name)); + auto n_unk_88 = new NodeSimple; + n_unk_88->m_field_name = field_name; + n_unk_88->m_df_type = DF_Type::int32_t; + n_unk_88->m_rdf_type = RDF_Type::int32_t; + n_unk_88->m_node_type = NodeType::Simple; + n_unk_88->m_address = base + offset; + n_unk_88->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_88); + + field_name = "unk_8c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_threadst, field_name)); + auto n_unk_8c = new NodeSimple; + n_unk_8c->m_field_name = field_name; + n_unk_8c->m_df_type = DF_Type::int32_t; + n_unk_8c->m_rdf_type = RDF_Type::int32_t; + n_unk_8c->m_node_type = NodeType::Simple; + n_unk_8c->m_address = base + offset; + n_unk_8c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_8c); + + field_name = "dye_quality"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_threadst, field_name)); + auto n_dye_quality = new NodeSimple; + n_dye_quality->m_field_name = field_name; + n_dye_quality->m_df_type = DF_Type::int16_t; + n_dye_quality->m_rdf_type = RDF_Type::int16_t; + n_dye_quality->m_node_type = NodeType::Simple; + n_dye_quality->m_address = base + offset; + n_dye_quality->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dye_quality); + + field_name = "unk_92"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_threadst, field_name)); + auto n_unk_92 = new NodeSimple; + n_unk_92->m_field_name = field_name; + n_unk_92->m_df_type = DF_Type::int16_t; + n_unk_92->m_rdf_type = RDF_Type::int16_t; + n_unk_92->m_node_type = NodeType::Simple; + n_unk_92->m_address = base + offset; + n_unk_92->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_92); + + field_name = "unk_94"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_threadst, field_name)); + auto n_unk_94 = new NodeSimple; + n_unk_94->m_field_name = field_name; + n_unk_94->m_df_type = DF_Type::int32_t; + n_unk_94->m_rdf_type = RDF_Type::int32_t; + n_unk_94->m_node_type = NodeType::Simple; + n_unk_94->m_address = base + offset; + n_unk_94->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_94); + + field_name = "unk_98"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_threadst, field_name)); + auto n_unk_98 = new NodeSimple; + n_unk_98->m_field_name = field_name; + n_unk_98->m_df_type = DF_Type::int8_t; + n_unk_98->m_rdf_type = RDF_Type::int8_t; + n_unk_98->m_node_type = NodeType::Simple; + n_unk_98->m_address = base + offset; + n_unk_98->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_98); + + field_name = "dimension"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_threadst, field_name)); + auto n_dimension = new NodeSimple; + n_dimension->m_field_name = field_name; + n_dimension->m_df_type = DF_Type::int32_t; + n_dimension->m_rdf_type = RDF_Type::int32_t; + n_dimension->m_node_type = NodeType::Simple; + n_dimension->m_address = base + offset; + n_dimension->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dimension); + +} +void node_from_item_eggst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "race"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_eggst, field_name)); + auto n_race = new NodeSimple; + n_race->m_field_name = field_name; + n_race->m_df_type = DF_Type::int16_t; + n_race->m_rdf_type = RDF_Type::int16_t; + n_race->m_node_type = NodeType::Simple; + n_race->m_address = base + offset; + n_race->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_race); + + field_name = "caste"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_eggst, field_name)); + auto n_caste = new NodeSimple; + n_caste->m_field_name = field_name; + n_caste->m_df_type = DF_Type::int16_t; + n_caste->m_rdf_type = RDF_Type::int16_t; + n_caste->m_node_type = NodeType::Simple; + n_caste->m_address = base + offset; + n_caste->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_caste); + + field_name = "unk_7c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_eggst, field_name)); + auto n_unk_7c = new NodeSimple; + n_unk_7c->m_field_name = field_name; + n_unk_7c->m_df_type = DF_Type::int32_t; + n_unk_7c->m_rdf_type = RDF_Type::int32_t; + n_unk_7c->m_node_type = NodeType::Simple; + n_unk_7c->m_address = base + offset; + n_unk_7c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_7c); + + field_name = "egg_materials"; + auto n_egg_materials = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_eggst, field_name)); + n_egg_materials->m_field_name = field_name; + n_egg_materials->m_df_type = DF_Type::material_vec_ref; + n_egg_materials->m_rdf_type = RDF_Type::Struct; + n_egg_materials->m_node_type = NodeType::Compound; + n_egg_materials->m_address = base + offset; + n_egg_materials->m_defined_in = "df.materials.xml"; + n_egg_materials->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_egg_materials); + + field_name = "egg_flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_eggst, field_name)); + auto n_egg_flags = new NodeBitfield; + n_egg_flags->m_field_name = field_name; + n_egg_flags->m_df_type = DF_Type::item_eggst__T_egg_flags; + n_egg_flags->m_rdf_type = RDF_Type::Bitfield; + n_egg_flags->m_node_type = NodeType::Bitfield; + n_egg_flags->m_address = base + offset; + n_egg_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_egg_flags); + + field_name = "incubation_counter"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_eggst, field_name)); + auto n_incubation_counter = new NodeSimple; + n_incubation_counter->m_field_name = field_name; + n_incubation_counter->m_df_type = DF_Type::int32_t; + n_incubation_counter->m_rdf_type = RDF_Type::int32_t; + n_incubation_counter->m_node_type = NodeType::Simple; + n_incubation_counter->m_address = base + offset; + n_incubation_counter->m_comment = "increments when fertile in unforbidden nestbox, hatch at >= 100800 (3 months)"; + n_incubation_counter->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_incubation_counter); + + field_name = "hatchling_civ_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_eggst, field_name)); + auto n_hatchling_civ_id = new NodeSimple; + n_hatchling_civ_id->m_field_name = field_name; + n_hatchling_civ_id->m_df_type = DF_Type::int32_t; + n_hatchling_civ_id->m_rdf_type = RDF_Type::int32_t; + n_hatchling_civ_id->m_node_type = NodeType::Simple; + n_hatchling_civ_id->m_address = base + offset; + n_hatchling_civ_id->m_comment = "hatchlings will have this civ_id"; + n_hatchling_civ_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_hatchling_civ_id); + + field_name = "hatchling_population_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_eggst, field_name)); + auto n_hatchling_population_id = new NodeSimple; + n_hatchling_population_id->m_field_name = field_name; + n_hatchling_population_id->m_df_type = DF_Type::int32_t; + n_hatchling_population_id->m_rdf_type = RDF_Type::int32_t; + n_hatchling_population_id->m_node_type = NodeType::Simple; + n_hatchling_population_id->m_address = base + offset; + n_hatchling_population_id->m_comment = "hatchlings will have this population_id"; + n_hatchling_population_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_hatchling_population_id); + + field_name = "hatchling_unit_unk_c0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_eggst, field_name)); + auto n_hatchling_unit_unk_c0 = new NodeSimple; + n_hatchling_unit_unk_c0->m_field_name = field_name; + n_hatchling_unit_unk_c0->m_df_type = DF_Type::int32_t; + n_hatchling_unit_unk_c0->m_rdf_type = RDF_Type::int32_t; + n_hatchling_unit_unk_c0->m_node_type = NodeType::Simple; + n_hatchling_unit_unk_c0->m_address = base + offset; + n_hatchling_unit_unk_c0->m_comment = "hatchlings will have this unit.unk_c0 value"; + n_hatchling_unit_unk_c0->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_hatchling_unit_unk_c0); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_eggst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "mothers_genes"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_eggst, field_name)); + auto n_mothers_genes = new NodePointer; + n_mothers_genes->m_field_name = field_name; + n_mothers_genes->m_df_type = get_real_subtype(base+offset, DF_Type::unit_genes); + n_mothers_genes->m_rdf_type = RDF_Type::Pointer; + n_mothers_genes->m_node_type = NodeType::Pointer; + n_mothers_genes->m_addornements = "*"; + n_mothers_genes->m_address = base + offset; + n_mothers_genes->m_comment = "object owned by egg item"; + n_mothers_genes->m_parent = p_node_parent; + n_mothers_genes->m_defined_in = "df.units.xml"; + n_mothers_genes->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_mothers_genes); + + field_name = "mothers_caste"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_eggst, field_name)); + auto n_mothers_caste = new NodeSimple; + n_mothers_caste->m_field_name = field_name; + n_mothers_caste->m_df_type = DF_Type::int16_t; + n_mothers_caste->m_rdf_type = RDF_Type::int16_t; + n_mothers_caste->m_node_type = NodeType::Simple; + n_mothers_caste->m_address = base + offset; + n_mothers_caste->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mothers_caste); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_eggst, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "fathers_genes"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_eggst, field_name)); + auto n_fathers_genes = new NodePointer; + n_fathers_genes->m_field_name = field_name; + n_fathers_genes->m_df_type = get_real_subtype(base+offset, DF_Type::unit_genes); + n_fathers_genes->m_rdf_type = RDF_Type::Pointer; + n_fathers_genes->m_node_type = NodeType::Pointer; + n_fathers_genes->m_addornements = "*"; + n_fathers_genes->m_address = base + offset; + n_fathers_genes->m_comment = "object owned by egg item"; + n_fathers_genes->m_parent = p_node_parent; + n_fathers_genes->m_defined_in = "df.units.xml"; + n_fathers_genes->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_fathers_genes); + + field_name = "fathers_caste"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_eggst, field_name)); + auto n_fathers_caste = new NodeSimple; + n_fathers_caste->m_field_name = field_name; + n_fathers_caste->m_df_type = DF_Type::int16_t; + n_fathers_caste->m_rdf_type = RDF_Type::int16_t; + n_fathers_caste->m_node_type = NodeType::Simple; + n_fathers_caste->m_address = base + offset; + n_fathers_caste->m_comment = "-1 if no father genes"; + n_fathers_caste->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_fathers_caste); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_eggst, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "hatchling_flags1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_eggst, field_name)); + auto n_hatchling_flags1 = new NodeBitfield; + n_hatchling_flags1->m_field_name = field_name; + n_hatchling_flags1->m_df_type = DF_Type::unit_flags1; + n_hatchling_flags1->m_rdf_type = RDF_Type::Bitfield; + n_hatchling_flags1->m_node_type = NodeType::Bitfield; + n_hatchling_flags1->m_address = base + offset; + n_hatchling_flags1->m_comment = "used primarily for bit_flag:tame"; + n_hatchling_flags1->m_defined_in = "df.units.xml"; + n_hatchling_flags1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_hatchling_flags1); + + field_name = "hatchling_flags2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_eggst, field_name)); + auto n_hatchling_flags2 = new NodeBitfield; + n_hatchling_flags2->m_field_name = field_name; + n_hatchling_flags2->m_df_type = DF_Type::unit_flags2; + n_hatchling_flags2->m_rdf_type = RDF_Type::Bitfield; + n_hatchling_flags2->m_node_type = NodeType::Bitfield; + n_hatchling_flags2->m_address = base + offset; + n_hatchling_flags2->m_comment = "used primarily for bit_flag:roaming_wilderness_population_source"; + n_hatchling_flags2->m_defined_in = "df.units.xml"; + n_hatchling_flags2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_hatchling_flags2); + + field_name = "hatchling_flags3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_eggst, field_name)); + auto n_hatchling_flags3 = new NodeBitfield; + n_hatchling_flags3->m_field_name = field_name; + n_hatchling_flags3->m_df_type = DF_Type::unit_flags3; + n_hatchling_flags3->m_rdf_type = RDF_Type::Bitfield; + n_hatchling_flags3->m_node_type = NodeType::Bitfield; + n_hatchling_flags3->m_address = base + offset; + n_hatchling_flags3->m_comment = "not normally used, most/all do not stick"; + n_hatchling_flags3->m_defined_in = "df.units.xml"; + n_hatchling_flags3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_hatchling_flags3); + + field_name = "unk_v42_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_eggst, field_name)); + auto n_unk_v42_1 = new NodeSimple; + n_unk_v42_1->m_field_name = field_name; + n_unk_v42_1->m_df_type = DF_Type::int32_t; + n_unk_v42_1->m_rdf_type = RDF_Type::int32_t; + n_unk_v42_1->m_node_type = NodeType::Simple; + n_unk_v42_1->m_address = base + offset; + n_unk_v42_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v42_1); + + field_name = "hatchling_training_level"; + auto n_hatchling_training_level = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_eggst, field_name)); + n_hatchling_training_level->m_field_name = field_name; + n_hatchling_training_level->m_df_type = DF_Type::animal_training_level; + n_hatchling_training_level->m_rdf_type = RDF_Type::Enum; + n_hatchling_training_level->m_node_type = NodeType::Enum; + n_hatchling_training_level->m_base_type = DF_Type::int32_t; + n_hatchling_training_level->m_enum_type = "animal_training_level"; + n_hatchling_training_level->m_address = base + offset; + n_hatchling_training_level->m_defined_in = "df.units.xml"; + n_hatchling_training_level->m_first_value = 0; + n_hatchling_training_level->m_last_value = 9; + n_hatchling_training_level->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_hatchling_training_level); + + field_name = "hatchling_animal_population"; + auto n_hatchling_animal_population = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_eggst, field_name)); + n_hatchling_animal_population->m_field_name = field_name; + n_hatchling_animal_population->m_df_type = DF_Type::world_population_ref; + n_hatchling_animal_population->m_rdf_type = RDF_Type::Struct; + n_hatchling_animal_population->m_node_type = NodeType::Compound; + n_hatchling_animal_population->m_address = base + offset; + n_hatchling_animal_population->m_defined_in = "df.world-data.xml"; + n_hatchling_animal_population->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_hatchling_animal_population); + + field_name = "hatchling_mother_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_eggst, field_name)); + auto n_hatchling_mother_id = new NodeSimple; + n_hatchling_mother_id->m_field_name = field_name; + n_hatchling_mother_id->m_df_type = DF_Type::int32_t; + n_hatchling_mother_id->m_rdf_type = RDF_Type::int32_t; + n_hatchling_mother_id->m_node_type = NodeType::Simple; + n_hatchling_mother_id->m_address = base + offset; + n_hatchling_mother_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_hatchling_mother_id); + + field_name = "size"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_eggst, field_name)); + auto n_size = new NodeSimple; + n_size->m_field_name = field_name; + n_size->m_df_type = DF_Type::int32_t; + n_size->m_rdf_type = RDF_Type::int32_t; + n_size->m_node_type = NodeType::Simple; + n_size->m_address = base + offset; + n_size->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_size); + +} +void node_from_item_doorst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_constructed; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_constructed(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_item_floodgatest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_constructed; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_constructed(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_item_bedst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_constructed; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_constructed(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_item_chairst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_constructed; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_constructed(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_item_chainst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_constructed; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_constructed(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_item_flaskst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_constructed; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_constructed(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_item_gobletst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_constructed; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_constructed(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_item_windowst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_constructed; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_constructed(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_item_cagest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_constructed; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_constructed(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_item_bucketst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_constructed; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_constructed(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_item_animaltrapst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_constructed; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_constructed(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_item_tablest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_constructed; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_constructed(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_item_coffinst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_constructed; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_constructed(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_item_boxst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_constructed; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_constructed(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_item_armorstandst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_constructed; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_constructed(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_item_weaponrackst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_constructed; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_constructed(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_item_cabinetst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_constructed; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_constructed(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_item_amuletst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_constructed; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_constructed(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_item_scepterst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_constructed; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_constructed(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_item_crownst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_constructed; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_constructed(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_item_ringst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_constructed; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_constructed(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_item_earringst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_constructed; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_constructed(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_item_braceletst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_constructed; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_constructed(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_item_anvilst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_constructed; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_constructed(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_item_backpackst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_constructed; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_constructed(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_item_quiverst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_constructed; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_constructed(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_item_catapultpartsst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_constructed; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_constructed(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_item_ballistapartsst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_constructed; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_constructed(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_item_trappartsst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_constructed; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_constructed(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_item_pipe_sectionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_constructed; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_constructed(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_item_hatch_coverst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_constructed; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_constructed(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_item_gratest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_constructed; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_constructed(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_item_quernst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_constructed; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_constructed(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_item_millstonest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_constructed; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_constructed(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_item_splintst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_constructed; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_constructed(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_item_crutchst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_constructed; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_constructed(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_item_traction_benchst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_constructed; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_constructed(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_item_instrumentst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_constructed; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_constructed(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_instrumentst, field_name)); + auto n_subtype = new NodePointer; + n_subtype->m_field_name = field_name; + n_subtype->m_df_type = get_real_subtype(base+offset, DF_Type::itemdef_instrumentst); + n_subtype->m_rdf_type = RDF_Type::Pointer; + n_subtype->m_node_type = NodeType::Pointer; + n_subtype->m_addornements = "*"; + n_subtype->m_address = base + offset; + n_subtype->m_parent = p_node_parent; + n_subtype->m_defined_in = "df.item-raws.xml"; + n_subtype->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_subtype); + +} +void node_from_item_toyst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_constructed; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_constructed(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_toyst, field_name)); + auto n_subtype = new NodePointer; + n_subtype->m_field_name = field_name; + n_subtype->m_df_type = get_real_subtype(base+offset, DF_Type::itemdef_toyst); + n_subtype->m_rdf_type = RDF_Type::Pointer; + n_subtype->m_node_type = NodeType::Pointer; + n_subtype->m_addornements = "*"; + n_subtype->m_address = base + offset; + n_subtype->m_parent = p_node_parent; + n_subtype->m_defined_in = "df.item-raws.xml"; + n_subtype->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_subtype); + +} +void node_from_item_armorst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_constructed; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_constructed(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_armorst, field_name)); + auto n_subtype = new NodePointer; + n_subtype->m_field_name = field_name; + n_subtype->m_df_type = get_real_subtype(base+offset, DF_Type::itemdef_armorst); + n_subtype->m_rdf_type = RDF_Type::Pointer; + n_subtype->m_node_type = NodeType::Pointer; + n_subtype->m_addornements = "*"; + n_subtype->m_address = base + offset; + n_subtype->m_parent = p_node_parent; + n_subtype->m_defined_in = "df.item-raws.xml"; + n_subtype->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_subtype); + +} +void node_from_item_shoesst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_constructed; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_constructed(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_shoesst, field_name)); + auto n_subtype = new NodePointer; + n_subtype->m_field_name = field_name; + n_subtype->m_df_type = get_real_subtype(base+offset, DF_Type::itemdef_shoesst); + n_subtype->m_rdf_type = RDF_Type::Pointer; + n_subtype->m_node_type = NodeType::Pointer; + n_subtype->m_addornements = "*"; + n_subtype->m_address = base + offset; + n_subtype->m_parent = p_node_parent; + n_subtype->m_defined_in = "df.item-raws.xml"; + n_subtype->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_subtype); + +} +void node_from_item_shieldst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_constructed; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_constructed(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_shieldst, field_name)); + auto n_subtype = new NodePointer; + n_subtype->m_field_name = field_name; + n_subtype->m_df_type = get_real_subtype(base+offset, DF_Type::itemdef_shieldst); + n_subtype->m_rdf_type = RDF_Type::Pointer; + n_subtype->m_node_type = NodeType::Pointer; + n_subtype->m_addornements = "*"; + n_subtype->m_address = base + offset; + n_subtype->m_parent = p_node_parent; + n_subtype->m_defined_in = "df.item-raws.xml"; + n_subtype->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_subtype); + +} +void node_from_item_helmst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_constructed; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_constructed(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_helmst, field_name)); + auto n_subtype = new NodePointer; + n_subtype->m_field_name = field_name; + n_subtype->m_df_type = get_real_subtype(base+offset, DF_Type::itemdef_helmst); + n_subtype->m_rdf_type = RDF_Type::Pointer; + n_subtype->m_node_type = NodeType::Pointer; + n_subtype->m_addornements = "*"; + n_subtype->m_address = base + offset; + n_subtype->m_parent = p_node_parent; + n_subtype->m_defined_in = "df.item-raws.xml"; + n_subtype->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_subtype); + +} +void node_from_item_glovesst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_constructed; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_constructed(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_glovesst, field_name)); + auto n_subtype = new NodePointer; + n_subtype->m_field_name = field_name; + n_subtype->m_df_type = get_real_subtype(base+offset, DF_Type::itemdef_glovesst); + n_subtype->m_rdf_type = RDF_Type::Pointer; + n_subtype->m_node_type = NodeType::Pointer; + n_subtype->m_addornements = "*"; + n_subtype->m_address = base + offset; + n_subtype->m_parent = p_node_parent; + n_subtype->m_defined_in = "df.item-raws.xml"; + n_subtype->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_subtype); + + field_name = "handedness"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_glovesst, field_name)); + auto n_handedness = new NodeDFFlagArray; + n_handedness->m_field_name = field_name; + n_handedness->m_df_type = DF_Type::int32_t; + n_handedness->m_size = 32; + n_handedness->m_rdf_type = RDF_Type::DFFlagArray; + n_handedness->m_node_type = NodeType::Bitfield; + n_handedness->m_address = base + offset; + n_handedness->m_comment = "1 right, 2 left"; + n_handedness->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_handedness); + +} +void node_from_item_pantsst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_constructed; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_constructed(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_pantsst, field_name)); + auto n_subtype = new NodePointer; + n_subtype->m_field_name = field_name; + n_subtype->m_df_type = get_real_subtype(base+offset, DF_Type::itemdef_pantsst); + n_subtype->m_rdf_type = RDF_Type::Pointer; + n_subtype->m_node_type = NodeType::Pointer; + n_subtype->m_addornements = "*"; + n_subtype->m_address = base + offset; + n_subtype->m_parent = p_node_parent; + n_subtype->m_defined_in = "df.item-raws.xml"; + n_subtype->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_subtype); + +} +void node_from_item_siegeammost(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_constructed; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_constructed(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_siegeammost, field_name)); + auto n_subtype = new NodePointer; + n_subtype->m_field_name = field_name; + n_subtype->m_df_type = get_real_subtype(base+offset, DF_Type::itemdef_siegeammost); + n_subtype->m_rdf_type = RDF_Type::Pointer; + n_subtype->m_node_type = NodeType::Pointer; + n_subtype->m_addornements = "*"; + n_subtype->m_address = base + offset; + n_subtype->m_parent = p_node_parent; + n_subtype->m_defined_in = "df.item-raws.xml"; + n_subtype->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_subtype); + + field_name = "sharpness"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_siegeammost, field_name)); + auto n_sharpness = new NodeSimple; + n_sharpness->m_field_name = field_name; + n_sharpness->m_df_type = DF_Type::int32_t; + n_sharpness->m_rdf_type = RDF_Type::int32_t; + n_sharpness->m_node_type = NodeType::Simple; + n_sharpness->m_address = base + offset; + n_sharpness->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sharpness); + +} +void node_from_item_weaponst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_constructed; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_constructed(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_weaponst, field_name)); + auto n_subtype = new NodePointer; + n_subtype->m_field_name = field_name; + n_subtype->m_df_type = get_real_subtype(base+offset, DF_Type::itemdef_weaponst); + n_subtype->m_rdf_type = RDF_Type::Pointer; + n_subtype->m_node_type = NodeType::Pointer; + n_subtype->m_addornements = "*"; + n_subtype->m_address = base + offset; + n_subtype->m_parent = p_node_parent; + n_subtype->m_defined_in = "df.item-raws.xml"; + n_subtype->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_subtype); + + field_name = "sharpness"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_weaponst, field_name)); + auto n_sharpness = new NodeSimple; + n_sharpness->m_field_name = field_name; + n_sharpness->m_df_type = DF_Type::int32_t; + n_sharpness->m_rdf_type = RDF_Type::int32_t; + n_sharpness->m_node_type = NodeType::Simple; + n_sharpness->m_address = base + offset; + n_sharpness->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sharpness); + +} +void node_from_item_ammost(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_constructed; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_constructed(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_ammost, field_name)); + auto n_subtype = new NodePointer; + n_subtype->m_field_name = field_name; + n_subtype->m_df_type = get_real_subtype(base+offset, DF_Type::itemdef_ammost); + n_subtype->m_rdf_type = RDF_Type::Pointer; + n_subtype->m_node_type = NodeType::Pointer; + n_subtype->m_addornements = "*"; + n_subtype->m_address = base + offset; + n_subtype->m_parent = p_node_parent; + n_subtype->m_defined_in = "df.item-raws.xml"; + n_subtype->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_subtype); + + field_name = "sharpness"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_ammost, field_name)); + auto n_sharpness = new NodeSimple; + n_sharpness->m_field_name = field_name; + n_sharpness->m_df_type = DF_Type::int32_t; + n_sharpness->m_rdf_type = RDF_Type::int32_t; + n_sharpness->m_node_type = NodeType::Simple; + n_sharpness->m_address = base + offset; + n_sharpness->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sharpness); + +} +void node_from_item_trapcompst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_constructed; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_constructed(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_trapcompst, field_name)); + auto n_subtype = new NodePointer; + n_subtype->m_field_name = field_name; + n_subtype->m_df_type = get_real_subtype(base+offset, DF_Type::itemdef_trapcompst); + n_subtype->m_rdf_type = RDF_Type::Pointer; + n_subtype->m_node_type = NodeType::Pointer; + n_subtype->m_addornements = "*"; + n_subtype->m_address = base + offset; + n_subtype->m_parent = p_node_parent; + n_subtype->m_defined_in = "df.item-raws.xml"; + n_subtype->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_subtype); + + field_name = "sharpness"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_trapcompst, field_name)); + auto n_sharpness = new NodeSimple; + n_sharpness->m_field_name = field_name; + n_sharpness->m_df_type = DF_Type::int32_t; + n_sharpness->m_rdf_type = RDF_Type::int32_t; + n_sharpness->m_node_type = NodeType::Simple; + n_sharpness->m_address = base + offset; + n_sharpness->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sharpness); + +} +void node_from_item_toolst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_constructed; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_constructed(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_toolst, field_name)); + auto n_subtype = new NodePointer; + n_subtype->m_field_name = field_name; + n_subtype->m_df_type = get_real_subtype(base+offset, DF_Type::itemdef_toolst); + n_subtype->m_rdf_type = RDF_Type::Pointer; + n_subtype->m_node_type = NodeType::Pointer; + n_subtype->m_addornements = "*"; + n_subtype->m_address = base + offset; + n_subtype->m_parent = p_node_parent; + n_subtype->m_defined_in = "df.item-raws.xml"; + n_subtype->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_subtype); + + field_name = "sharpness"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_toolst, field_name)); + auto n_sharpness = new NodeSimple; + n_sharpness->m_field_name = field_name; + n_sharpness->m_df_type = DF_Type::int32_t; + n_sharpness->m_rdf_type = RDF_Type::int32_t; + n_sharpness->m_node_type = NodeType::Simple; + n_sharpness->m_address = base + offset; + n_sharpness->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sharpness); + + field_name = "stockpile"; + auto n_stockpile = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_toolst, field_name)); + n_stockpile->m_field_name = field_name; + n_stockpile->m_df_type = DF_Type::item_stockpile_ref; + n_stockpile->m_rdf_type = RDF_Type::Struct; + n_stockpile->m_node_type = NodeType::Compound; + n_stockpile->m_address = base + offset; + n_stockpile->m_defined_in = "df.items.xml"; + n_stockpile->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_stockpile); + + field_name = "vehicle_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_toolst, field_name)); + auto n_vehicle_id = new NodeSimple; + n_vehicle_id->m_field_name = field_name; + n_vehicle_id->m_df_type = DF_Type::int32_t; + n_vehicle_id->m_rdf_type = RDF_Type::int32_t; + n_vehicle_id->m_node_type = NodeType::Simple; + n_vehicle_id->m_address = base + offset; + n_vehicle_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_vehicle_id); + +} +void node_from_item_barrelst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_constructed; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_constructed(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "stockpile"; + auto n_stockpile = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_barrelst, field_name)); + n_stockpile->m_field_name = field_name; + n_stockpile->m_df_type = DF_Type::item_stockpile_ref; + n_stockpile->m_rdf_type = RDF_Type::Struct; + n_stockpile->m_node_type = NodeType::Compound; + n_stockpile->m_address = base + offset; + n_stockpile->m_defined_in = "df.items.xml"; + n_stockpile->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_stockpile); + +} +void node_from_item_binst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_constructed; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_constructed(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "stockpile"; + auto n_stockpile = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_binst, field_name)); + n_stockpile->m_field_name = field_name; + n_stockpile->m_df_type = DF_Type::item_stockpile_ref; + n_stockpile->m_rdf_type = RDF_Type::Struct; + n_stockpile->m_node_type = NodeType::Compound; + n_stockpile->m_address = base + offset; + n_stockpile->m_defined_in = "df.items.xml"; + n_stockpile->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_stockpile); + +} +void node_from_item_gemst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_constructed; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_constructed(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "shape"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_gemst, field_name)); + auto n_shape = new NodeSimple; + n_shape->m_field_name = field_name; + n_shape->m_df_type = DF_Type::int32_t; + n_shape->m_rdf_type = RDF_Type::int32_t; + n_shape->m_node_type = NodeType::Simple; + n_shape->m_address = base + offset; + n_shape->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_shape); + +} +void node_from_item_statuest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_constructed; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_constructed(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "image"; + auto n_image = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_statuest, field_name)); + n_image->m_field_name = field_name; + n_image->m_df_type = DF_Type::art_image_ref; + n_image->m_rdf_type = RDF_Type::Struct; + n_image->m_node_type = NodeType::Compound; + n_image->m_address = base + offset; + n_image->m_defined_in = "df.art.xml"; + n_image->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_image); + + field_name = "description"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_statuest, field_name)); + auto n_description = new NodeSimple; + n_description->m_field_name = field_name; + n_description->m_df_type = DF_Type::Stl_string; + n_description->m_rdf_type = RDF_Type::Stl_string; + n_description->m_node_type = NodeType::Simple; + n_description->m_address = base + offset; + n_description->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_description); + +} +void node_from_item_figurinest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_constructed; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_constructed(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "image"; + auto n_image = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_figurinest, field_name)); + n_image->m_field_name = field_name; + n_image->m_df_type = DF_Type::art_image_ref; + n_image->m_rdf_type = RDF_Type::Struct; + n_image->m_node_type = NodeType::Compound; + n_image->m_address = base + offset; + n_image->m_defined_in = "df.art.xml"; + n_image->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_image); + + field_name = "description"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_figurinest, field_name)); + auto n_description = new NodeSimple; + n_description->m_field_name = field_name; + n_description->m_df_type = DF_Type::Stl_string; + n_description->m_rdf_type = RDF_Type::Stl_string; + n_description->m_node_type = NodeType::Simple; + n_description->m_address = base + offset; + n_description->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_description); + +} +void node_from_item_slabst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_constructed; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_constructed(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "description"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_slabst, field_name)); + auto n_description = new NodeSimple; + n_description->m_field_name = field_name; + n_description->m_df_type = DF_Type::Stl_string; + n_description->m_rdf_type = RDF_Type::Stl_string; + n_description->m_node_type = NodeType::Simple; + n_description->m_address = base + offset; + n_description->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_description); + + field_name = "topic"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_slabst, field_name)); + auto n_topic = new NodeSimple; + n_topic->m_field_name = field_name; + n_topic->m_df_type = DF_Type::int32_t; + n_topic->m_rdf_type = RDF_Type::int32_t; + n_topic->m_node_type = NodeType::Simple; + n_topic->m_address = base + offset; + n_topic->m_comment = "or interaction id for secrets?"; + n_topic->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_topic); + + field_name = "engraving_type"; + auto n_engraving_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_slabst, field_name)); + n_engraving_type->m_field_name = field_name; + n_engraving_type->m_df_type = DF_Type::slab_engraving_type; + n_engraving_type->m_rdf_type = RDF_Type::Enum; + n_engraving_type->m_node_type = NodeType::Enum; + n_engraving_type->m_base_type = DF_Type::int16_t; + n_engraving_type->m_enum_type = "slab_engraving_type"; + n_engraving_type->m_address = base + offset; + n_engraving_type->m_defined_in = "df.items.xml"; + n_engraving_type->m_first_value = -1; + n_engraving_type->m_last_value = 26; + n_engraving_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_engraving_type); + +} +void node_from_item_orthopedic_castst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_constructed; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_constructed(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "body_part"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_orthopedic_castst, field_name)); + auto n_body_part = new NodeSimple; + n_body_part->m_field_name = field_name; + n_body_part->m_df_type = DF_Type::Stl_string; + n_body_part->m_rdf_type = RDF_Type::Stl_string; + n_body_part->m_node_type = NodeType::Simple; + n_body_part->m_address = base + offset; + n_body_part->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_body_part); + + field_name = "material"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_orthopedic_castst, field_name)); + auto n_material = new NodeSimple; + n_material->m_field_name = field_name; + n_material->m_df_type = DF_Type::Stl_string; + n_material->m_rdf_type = RDF_Type::Stl_string; + n_material->m_node_type = NodeType::Simple; + n_material->m_address = base + offset; + n_material->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_material); + +} +void node_from_item_coinst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_constructed; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_constructed(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "coin_batch"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_coinst, field_name)); + auto n_coin_batch = new NodeSimple; + n_coin_batch->m_field_name = field_name; + n_coin_batch->m_df_type = DF_Type::int16_t; + n_coin_batch->m_rdf_type = RDF_Type::int16_t; + n_coin_batch->m_node_type = NodeType::Simple; + n_coin_batch->m_address = base + offset; + n_coin_batch->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_coin_batch); + +} +void node_from_item_totemst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_constructed; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_constructed(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "race"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_totemst, field_name)); + auto n_race = new NodeSimple; + n_race->m_field_name = field_name; + n_race->m_df_type = DF_Type::int16_t; + n_race->m_rdf_type = RDF_Type::int16_t; + n_race->m_node_type = NodeType::Simple; + n_race->m_address = base + offset; + n_race->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_race); + + field_name = "caste"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_totemst, field_name)); + auto n_caste = new NodeSimple; + n_caste->m_field_name = field_name; + n_caste->m_df_type = DF_Type::int16_t; + n_caste->m_rdf_type = RDF_Type::int16_t; + n_caste->m_node_type = NodeType::Simple; + n_caste->m_address = base + offset; + n_caste->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_caste); + + field_name = "body_part_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_totemst, field_name)); + auto n_body_part_idx = new NodeSimple; + n_body_part_idx->m_field_name = field_name; + n_body_part_idx->m_df_type = DF_Type::int16_t; + n_body_part_idx->m_rdf_type = RDF_Type::int16_t; + n_body_part_idx->m_node_type = NodeType::Simple; + n_body_part_idx->m_address = base + offset; + n_body_part_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_body_part_idx); + +} +void node_from_item_clothst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_constructed; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_constructed(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "dimension"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_clothst, field_name)); + auto n_dimension = new NodeSimple; + n_dimension->m_field_name = field_name; + n_dimension->m_df_type = DF_Type::int32_t; + n_dimension->m_rdf_type = RDF_Type::int32_t; + n_dimension->m_node_type = NodeType::Simple; + n_dimension->m_address = base + offset; + n_dimension->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dimension); + +} +void node_from_item_bookst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_constructed; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_constructed(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "title"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_bookst, field_name)); + auto n_title = new NodeSimple; + n_title->m_field_name = field_name; + n_title->m_df_type = DF_Type::Stl_string; + n_title->m_rdf_type = RDF_Type::Stl_string; + n_title->m_node_type = NodeType::Simple; + n_title->m_address = base + offset; + n_title->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_title); + +} +void node_from_item_ballistaarrowheadst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_ballistaarrowheadst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_ballistaarrowheadst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "sharpness"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_ballistaarrowheadst, field_name)); + auto n_sharpness = new NodeSimple; + n_sharpness->m_field_name = field_name; + n_sharpness->m_df_type = DF_Type::int32_t; + n_sharpness->m_rdf_type = RDF_Type::int32_t; + n_sharpness->m_node_type = NodeType::Simple; + n_sharpness->m_address = base + offset; + n_sharpness->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sharpness); + +} +void node_from_item_sheetst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_constructed; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_constructed(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_sheetst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_sheetst, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + +} +void node_from_job_list_link(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "item"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_list_link, field_name)); + auto n_item = new NodePointer; + n_item->m_field_name = field_name; + n_item->m_df_type = get_real_subtype(base+offset, DF_Type::job); + n_item->m_rdf_type = RDF_Type::Pointer; + n_item->m_node_type = NodeType::Pointer; + n_item->m_addornements = "*"; + n_item->m_address = base + offset; + n_item->m_parent = p_node_parent; + n_item->m_defined_in = "df.jobs.xml"; + n_item->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_item); + + field_name = "prev"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_list_link, field_name)); + auto n_prev = new NodePointer; + n_prev->m_field_name = field_name; + n_prev->m_df_type = get_real_subtype(base+offset, DF_Type::job_list_link); + n_prev->m_rdf_type = RDF_Type::Pointer; + n_prev->m_node_type = NodeType::Pointer; + n_prev->m_addornements = "*"; + n_prev->m_address = base + offset; + n_prev->m_parent = p_node_parent; + n_prev->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_prev); + + field_name = "next"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_list_link, field_name)); + auto n_next = new NodePointer; + n_next->m_field_name = field_name; + n_next->m_df_type = get_real_subtype(base+offset, DF_Type::job_list_link); + n_next->m_rdf_type = RDF_Type::Pointer; + n_next->m_node_type = NodeType::Pointer; + n_next->m_addornements = "*"; + n_next->m_address = base + offset; + n_next->m_parent = p_node_parent; + n_next->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_next); + +} +void node_from_job(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "list_link"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job, field_name)); + auto n_list_link = new NodePointer; + n_list_link->m_field_name = field_name; + n_list_link->m_df_type = get_real_subtype(base+offset, DF_Type::job_list_link); + n_list_link->m_rdf_type = RDF_Type::Pointer; + n_list_link->m_node_type = NodeType::Pointer; + n_list_link->m_addornements = "*"; + n_list_link->m_address = base + offset; + n_list_link->m_parent = p_node_parent; + n_list_link->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_list_link); + + field_name = "posting_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job, field_name)); + auto n_posting_index = new NodeSimple; + n_posting_index->m_field_name = field_name; + n_posting_index->m_df_type = DF_Type::int32_t; + n_posting_index->m_rdf_type = RDF_Type::int32_t; + n_posting_index->m_node_type = NodeType::Simple; + n_posting_index->m_address = base + offset; + n_posting_index->m_comment = "index into world.job_postings"; + n_posting_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_posting_index); + + field_name = "job_type"; + auto n_job_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job, field_name)); + n_job_type->m_field_name = field_name; + n_job_type->m_df_type = DF_Type::job_type; + n_job_type->m_rdf_type = RDF_Type::Enum; + n_job_type->m_node_type = NodeType::Enum; + n_job_type->m_base_type = DF_Type::int16_t; + n_job_type->m_enum_type = "job_type"; + n_job_type->m_address = base + offset; + n_job_type->m_defined_in = "df.job-types.xml"; + n_job_type->m_first_value = -1; + n_job_type->m_last_value = 240; + n_job_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_job_type); + + field_name = "job_subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job, field_name)); + auto n_job_subtype = new NodeSimple; + n_job_subtype->m_field_name = field_name; + n_job_subtype->m_df_type = DF_Type::int32_t; + n_job_subtype->m_rdf_type = RDF_Type::int32_t; + n_job_subtype->m_node_type = NodeType::Simple; + n_job_subtype->m_address = base + offset; + n_job_subtype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_job_subtype); + + field_name = "pos"; + auto n_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job, field_name)); + n_pos->m_field_name = field_name; + n_pos->m_df_type = DF_Type::coord; + n_pos->m_rdf_type = RDF_Type::Struct; + n_pos->m_node_type = NodeType::Compound; + n_pos->m_address = base + offset; + n_pos->m_defined_in = "df.map.xml"; + n_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pos); + + field_name = "completion_timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job, field_name)); + auto n_completion_timer = new NodeSimple; + n_completion_timer->m_field_name = field_name; + n_completion_timer->m_df_type = DF_Type::int32_t; + n_completion_timer->m_rdf_type = RDF_Type::int32_t; + n_completion_timer->m_node_type = NodeType::Simple; + n_completion_timer->m_address = base + offset; + n_completion_timer->m_comment = "-1 every time unit.counters.job_counter is below 0"; + n_completion_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_completion_timer); + + field_name = "unk4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job, field_name)); + auto n_unk4 = new NodeSimple; + n_unk4->m_field_name = field_name; + n_unk4->m_df_type = DF_Type::uint32_t; + n_unk4->m_rdf_type = RDF_Type::uint32_t; + n_unk4->m_node_type = NodeType::Simple; + n_unk4->m_address = base + offset; + n_unk4->m_comment = "garbage, but serialized"; + n_unk4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk4); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::job_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_defined_in = "df.jobs.xml"; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "unk5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job, field_name)); + auto n_unk5 = new NodeSimple; + n_unk5->m_field_name = field_name; + n_unk5->m_df_type = DF_Type::int16_t; + n_unk5->m_rdf_type = RDF_Type::int16_t; + n_unk5->m_node_type = NodeType::Simple; + n_unk5->m_address = base + offset; + n_unk5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk5); + + field_name = "item_type"; + auto n_item_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job, field_name)); + n_item_type->m_field_name = field_name; + n_item_type->m_df_type = DF_Type::item_type; + n_item_type->m_rdf_type = RDF_Type::Enum; + n_item_type->m_node_type = NodeType::Enum; + n_item_type->m_base_type = DF_Type::int16_t; + n_item_type->m_enum_type = "item_type"; + n_item_type->m_address = base + offset; + n_item_type->m_comment = "for Bait Trap jobs"; + n_item_type->m_defined_in = "df.item-raws.xml"; + n_item_type->m_first_value = -1; + n_item_type->m_last_value = 90; + n_item_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_type); + + field_name = "item_subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job, field_name)); + auto n_item_subtype = new NodeSimple; + n_item_subtype->m_field_name = field_name; + n_item_subtype->m_df_type = DF_Type::int16_t; + n_item_subtype->m_rdf_type = RDF_Type::int16_t; + n_item_subtype->m_node_type = NodeType::Simple; + n_item_subtype->m_address = base + offset; + n_item_subtype->m_comment = "for StoreInStockpile: hauler_type"; + n_item_subtype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_subtype); + + field_name = "item_category"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job, field_name)); + auto n_item_category = new NodeBitfield; + n_item_category->m_field_name = field_name; + n_item_category->m_df_type = DF_Type::stockpile_group_set; + n_item_category->m_rdf_type = RDF_Type::Bitfield; + n_item_category->m_node_type = NodeType::Bitfield; + n_item_category->m_address = base + offset; + n_item_category->m_defined_in = "df.stockpile.xml"; + n_item_category->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_category); + + field_name = "hist_figure_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job, field_name)); + auto n_hist_figure_id = new NodeSimple; + n_hist_figure_id->m_field_name = field_name; + n_hist_figure_id->m_df_type = DF_Type::int32_t; + n_hist_figure_id->m_rdf_type = RDF_Type::int32_t; + n_hist_figure_id->m_node_type = NodeType::Simple; + n_hist_figure_id->m_address = base + offset; + n_hist_figure_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_hist_figure_id); + + field_name = "material_category"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job, field_name)); + auto n_material_category = new NodeBitfield; + n_material_category->m_field_name = field_name; + n_material_category->m_df_type = DF_Type::job_material_category; + n_material_category->m_rdf_type = RDF_Type::Bitfield; + n_material_category->m_node_type = NodeType::Bitfield; + n_material_category->m_address = base + offset; + n_material_category->m_defined_in = "df.jobs.xml"; + n_material_category->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_material_category); + + field_name = "reaction_name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job, field_name)); + auto n_reaction_name = new NodeSimple; + n_reaction_name->m_field_name = field_name; + n_reaction_name->m_df_type = DF_Type::Stl_string; + n_reaction_name->m_rdf_type = RDF_Type::Stl_string; + n_reaction_name->m_node_type = NodeType::Simple; + n_reaction_name->m_address = base + offset; + n_reaction_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_reaction_name); + + field_name = "expire_timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job, field_name)); + auto n_expire_timer = new NodeSimple; + n_expire_timer->m_field_name = field_name; + n_expire_timer->m_df_type = DF_Type::int32_t; + n_expire_timer->m_rdf_type = RDF_Type::int32_t; + n_expire_timer->m_node_type = NodeType::Simple; + n_expire_timer->m_address = base + offset; + n_expire_timer->m_comment = "for stockpiling, +1 per 50 ticks if no worker; del when 20"; + n_expire_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_expire_timer); + + field_name = "recheck_cntdn"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job, field_name)); + auto n_recheck_cntdn = new NodeSimple; + n_recheck_cntdn->m_field_name = field_name; + n_recheck_cntdn->m_df_type = DF_Type::int16_t; + n_recheck_cntdn->m_rdf_type = RDF_Type::int16_t; + n_recheck_cntdn->m_node_type = NodeType::Simple; + n_recheck_cntdn->m_address = base + offset; + n_recheck_cntdn->m_comment = "for process_jobs"; + n_recheck_cntdn->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_recheck_cntdn); + + field_name = "wait_timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job, field_name)); + auto n_wait_timer = new NodeSimple; + n_wait_timer->m_field_name = field_name; + n_wait_timer->m_df_type = DF_Type::int16_t; + n_wait_timer->m_rdf_type = RDF_Type::int16_t; + n_wait_timer->m_node_type = NodeType::Simple; + n_wait_timer->m_address = base + offset; + n_wait_timer->m_comment = "for units to leave build sites; to recheck stockpiles"; + n_wait_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_wait_timer); + + field_name = "unk11"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job, field_name)); + auto n_unk11 = new NodeSimple; + n_unk11->m_field_name = field_name; + n_unk11->m_df_type = DF_Type::int32_t; + n_unk11->m_rdf_type = RDF_Type::int32_t; + n_unk11->m_node_type = NodeType::Simple; + n_unk11->m_address = base + offset; + n_unk11->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk11); + + field_name = "items"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job, field_name)); + auto n_items = new NodeVector; + n_items->m_field_name = field_name; + n_items->m_df_type = DF_Type::job_item_ref; + n_items->m_rdf_type = RDF_Type::Vector; + n_items->m_node_type = NodeType::Vector; + n_items->m_defined_in = "df.jobs.xml"; + n_items->m_addornements = "v*"; + n_items->m_address = base + offset; + n_items->m_parent = p_node_parent; + n_items->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_items); + + field_name = "specific_refs"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job, field_name)); + auto n_specific_refs = new NodeVector; + n_specific_refs->m_field_name = field_name; + n_specific_refs->m_df_type = DF_Type::specific_ref; + n_specific_refs->m_rdf_type = RDF_Type::Vector; + n_specific_refs->m_node_type = NodeType::Vector; + n_specific_refs->m_defined_in = "df.refs.xml"; + n_specific_refs->m_addornements = "v*"; + n_specific_refs->m_address = base + offset; + n_specific_refs->m_parent = p_node_parent; + n_specific_refs->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_specific_refs); + + field_name = "general_refs"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job, field_name)); + auto n_general_refs = new NodeVector; + n_general_refs->m_field_name = field_name; + n_general_refs->m_df_type = DF_Type::general_ref; + n_general_refs->m_rdf_type = RDF_Type::Vector; + n_general_refs->m_node_type = NodeType::Vector; + n_general_refs->m_defined_in = "df.refs.xml"; + n_general_refs->m_addornements = "v*"; + n_general_refs->m_address = base + offset; + n_general_refs->m_parent = p_node_parent; + n_general_refs->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_general_refs); + + field_name = "job_items"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job, field_name)); + auto n_job_items = new NodeVector; + n_job_items->m_field_name = field_name; + n_job_items->m_df_type = DF_Type::job_item; + n_job_items->m_rdf_type = RDF_Type::Vector; + n_job_items->m_node_type = NodeType::Vector; + n_job_items->m_defined_in = "df.jobs.xml"; + n_job_items->m_addornements = "v*"; + n_job_items->m_address = base + offset; + n_job_items->m_parent = p_node_parent; + n_job_items->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_job_items); + + field_name = "guide_path"; + auto n_guide_path = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job, field_name)); + n_guide_path->m_field_name = field_name; + n_guide_path->m_df_type = DF_Type::coord_path; + n_guide_path->m_rdf_type = RDF_Type::Struct; + n_guide_path->m_node_type = NodeType::Compound; + n_guide_path->m_address = base + offset; + n_guide_path->m_defined_in = "df.map.xml"; + n_guide_path->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_guide_path); + + field_name = "cur_path_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job, field_name)); + auto n_cur_path_index = new NodeSimple; + n_cur_path_index->m_field_name = field_name; + n_cur_path_index->m_df_type = DF_Type::int32_t; + n_cur_path_index->m_rdf_type = RDF_Type::int32_t; + n_cur_path_index->m_node_type = NodeType::Simple; + n_cur_path_index->m_address = base + offset; + n_cur_path_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cur_path_index); + + field_name = "unk_v4020_2"; + auto n_unk_v4020_2 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job, field_name)); + n_unk_v4020_2->m_field_name = field_name; + n_unk_v4020_2->m_df_type = DF_Type::coord; + n_unk_v4020_2->m_rdf_type = RDF_Type::Struct; + n_unk_v4020_2->m_node_type = NodeType::Compound; + n_unk_v4020_2->m_address = base + offset; + n_unk_v4020_2->m_defined_in = "df.map.xml"; + n_unk_v4020_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v4020_2); + + field_name = "art_spec"; + auto n_art_spec = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job, field_name)); + n_art_spec->m_field_name = field_name; + n_art_spec->m_df_type = DF_Type::job_art_specification; + n_art_spec->m_rdf_type = RDF_Type::Struct; + n_art_spec->m_node_type = NodeType::Compound; + n_art_spec->m_address = base + offset; + n_art_spec->m_defined_in = "df.jobs.xml"; + n_art_spec->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_art_spec); + + field_name = "unk_v43_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job, field_name)); + auto n_unk_v43_4 = new NodeSimple; + n_unk_v43_4->m_field_name = field_name; + n_unk_v43_4->m_df_type = DF_Type::int32_t; + n_unk_v43_4->m_rdf_type = RDF_Type::int32_t; + n_unk_v43_4->m_node_type = NodeType::Simple; + n_unk_v43_4->m_address = base + offset; + n_unk_v43_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v43_4); + +} +void node_from_job_item_ref(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "item"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_ref, field_name)); + auto n_item = new NodePointer; + n_item->m_field_name = field_name; + n_item->m_df_type = get_real_subtype(base+offset, DF_Type::item); + n_item->m_rdf_type = RDF_Type::Pointer; + n_item->m_node_type = NodeType::Pointer; + n_item->m_addornements = "*"; + n_item->m_address = base + offset; + n_item->m_parent = p_node_parent; + n_item->m_defined_in = "df.items.xml"; + n_item->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_item); + + field_name = "role"; + auto n_role = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_ref, field_name)); + n_role->m_field_name = field_name; + n_role->m_df_type = DF_Type::job_item_ref__T_role; + n_role->m_rdf_type = RDF_Type::Enum; + n_role->m_node_type = NodeType::Enum; + n_role->m_base_type = DF_Type::int32_t; + n_role->m_enum_type = "job_item_ref::T_role"; + n_role->m_address = base + offset; + n_role->m_first_value = 0; + n_role->m_last_value = 8; + n_role->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_role); + + field_name = "is_fetching"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_ref, field_name)); + auto n_is_fetching = new NodeSimple; + n_is_fetching->m_field_name = field_name; + n_is_fetching->m_df_type = DF_Type::int32_t; + n_is_fetching->m_rdf_type = RDF_Type::int32_t; + n_is_fetching->m_node_type = NodeType::Simple; + n_is_fetching->m_address = base + offset; + n_is_fetching->m_comment = "0 immediately once taken to be brought"; + n_is_fetching->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_is_fetching); + + field_name = "job_item_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_ref, field_name)); + auto n_job_item_idx = new NodeSimple; + n_job_item_idx->m_field_name = field_name; + n_job_item_idx->m_df_type = DF_Type::int32_t; + n_job_item_idx->m_rdf_type = RDF_Type::int32_t; + n_job_item_idx->m_node_type = NodeType::Simple; + n_job_item_idx->m_address = base + offset; + n_job_item_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_job_item_idx); + +} +void node_from_job_item(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "item_type"; + auto n_item_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item, field_name)); + n_item_type->m_field_name = field_name; + n_item_type->m_df_type = DF_Type::item_type; + n_item_type->m_rdf_type = RDF_Type::Enum; + n_item_type->m_node_type = NodeType::Enum; + n_item_type->m_base_type = DF_Type::int16_t; + n_item_type->m_enum_type = "item_type"; + n_item_type->m_address = base + offset; + n_item_type->m_defined_in = "df.item-raws.xml"; + n_item_type->m_first_value = -1; + n_item_type->m_last_value = 90; + n_item_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_type); + + field_name = "item_subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item, field_name)); + auto n_item_subtype = new NodeSimple; + n_item_subtype->m_field_name = field_name; + n_item_subtype->m_df_type = DF_Type::int16_t; + n_item_subtype->m_rdf_type = RDF_Type::int16_t; + n_item_subtype->m_node_type = NodeType::Simple; + n_item_subtype->m_address = base + offset; + n_item_subtype->m_refers_to = "(item-subtype-target $$._parent.item_type $)"; + n_item_subtype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_subtype); + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "flags1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item, field_name)); + auto n_flags1 = new NodeBitfield; + n_flags1->m_field_name = field_name; + n_flags1->m_df_type = DF_Type::job_item_flags1; + n_flags1->m_rdf_type = RDF_Type::Bitfield; + n_flags1->m_node_type = NodeType::Bitfield; + n_flags1->m_address = base + offset; + n_flags1->m_defined_in = "df.jobs.xml"; + n_flags1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags1); + + field_name = "quantity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item, field_name)); + auto n_quantity = new NodeSimple; + n_quantity->m_field_name = field_name; + n_quantity->m_df_type = DF_Type::int32_t; + n_quantity->m_rdf_type = RDF_Type::int32_t; + n_quantity->m_node_type = NodeType::Simple; + n_quantity->m_address = base + offset; + n_quantity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_quantity); + + field_name = "vector_id"; + auto n_vector_id = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item, field_name)); + n_vector_id->m_field_name = field_name; + n_vector_id->m_df_type = DF_Type::job_item_vector_id; + n_vector_id->m_rdf_type = RDF_Type::Enum; + n_vector_id->m_node_type = NodeType::Enum; + n_vector_id->m_base_type = DF_Type::int16_t; + n_vector_id->m_enum_type = "job_item_vector_id"; + n_vector_id->m_address = base + offset; + n_vector_id->m_defined_in = "df.item-vectors.xml"; + n_vector_id->m_first_value = 0; + n_vector_id->m_last_value = 129; + n_vector_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_vector_id); + + field_name = "flags2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item, field_name)); + auto n_flags2 = new NodeBitfield; + n_flags2->m_field_name = field_name; + n_flags2->m_df_type = DF_Type::job_item_flags2; + n_flags2->m_rdf_type = RDF_Type::Bitfield; + n_flags2->m_node_type = NodeType::Bitfield; + n_flags2->m_address = base + offset; + n_flags2->m_defined_in = "df.jobs.xml"; + n_flags2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags2); + + field_name = "flags3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item, field_name)); + auto n_flags3 = new NodeBitfield; + n_flags3->m_field_name = field_name; + n_flags3->m_df_type = DF_Type::job_item_flags3; + n_flags3->m_rdf_type = RDF_Type::Bitfield; + n_flags3->m_node_type = NodeType::Bitfield; + n_flags3->m_address = base + offset; + n_flags3->m_defined_in = "df.jobs.xml"; + n_flags3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags3); + + field_name = "flags4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item, field_name)); + auto n_flags4 = new NodeSimple; + n_flags4->m_field_name = field_name; + n_flags4->m_df_type = DF_Type::uint32_t; + n_flags4->m_rdf_type = RDF_Type::uint32_t; + n_flags4->m_node_type = NodeType::Simple; + n_flags4->m_address = base + offset; + n_flags4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags4); + + field_name = "flags5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item, field_name)); + auto n_flags5 = new NodeSimple; + n_flags5->m_field_name = field_name; + n_flags5->m_df_type = DF_Type::uint32_t; + n_flags5->m_rdf_type = RDF_Type::uint32_t; + n_flags5->m_node_type = NodeType::Simple; + n_flags5->m_address = base + offset; + n_flags5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags5); + + field_name = "metal_ore"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item, field_name)); + auto n_metal_ore = new NodeSimple; + n_metal_ore->m_field_name = field_name; + n_metal_ore->m_df_type = DF_Type::int32_t; + n_metal_ore->m_rdf_type = RDF_Type::int32_t; + n_metal_ore->m_node_type = NodeType::Simple; + n_metal_ore->m_address = base + offset; + n_metal_ore->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_metal_ore); + + field_name = "reaction_class"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item, field_name)); + auto n_reaction_class = new NodeSimple; + n_reaction_class->m_field_name = field_name; + n_reaction_class->m_df_type = DF_Type::Stl_string; + n_reaction_class->m_rdf_type = RDF_Type::Stl_string; + n_reaction_class->m_node_type = NodeType::Simple; + n_reaction_class->m_address = base + offset; + n_reaction_class->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_reaction_class); + + field_name = "has_material_reaction_product"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item, field_name)); + auto n_has_material_reaction_product = new NodeSimple; + n_has_material_reaction_product->m_field_name = field_name; + n_has_material_reaction_product->m_df_type = DF_Type::Stl_string; + n_has_material_reaction_product->m_rdf_type = RDF_Type::Stl_string; + n_has_material_reaction_product->m_node_type = NodeType::Simple; + n_has_material_reaction_product->m_address = base + offset; + n_has_material_reaction_product->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_has_material_reaction_product); + + field_name = "min_dimension"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item, field_name)); + auto n_min_dimension = new NodeSimple; + n_min_dimension->m_field_name = field_name; + n_min_dimension->m_df_type = DF_Type::int32_t; + n_min_dimension->m_rdf_type = RDF_Type::int32_t; + n_min_dimension->m_node_type = NodeType::Simple; + n_min_dimension->m_address = base + offset; + n_min_dimension->m_comment = "pure guess by context"; + n_min_dimension->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_min_dimension); + + field_name = "reagent_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item, field_name)); + auto n_reagent_index = new NodeSimple; + n_reagent_index->m_field_name = field_name; + n_reagent_index->m_df_type = DF_Type::int32_t; + n_reagent_index->m_rdf_type = RDF_Type::int32_t; + n_reagent_index->m_node_type = NodeType::Simple; + n_reagent_index->m_address = base + offset; + n_reagent_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_reagent_index); + + field_name = "contains"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item, field_name)); + auto n_contains = new NodeVector; + n_contains->m_field_name = field_name; + n_contains->m_df_type = DF_Type::int32_t; + n_contains->m_rdf_type = RDF_Type::Vector; + n_contains->m_node_type = NodeType::Vector; + n_contains->m_addornements = "v"; + n_contains->m_address = base + offset; + n_contains->m_comment = "used with custom reactions"; + n_contains->m_parent = p_node_parent; + n_contains->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_contains); + + field_name = "reaction_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item, field_name)); + auto n_reaction_id = new NodeSimple; + n_reaction_id->m_field_name = field_name; + n_reaction_id->m_df_type = DF_Type::int32_t; + n_reaction_id->m_rdf_type = RDF_Type::int32_t; + n_reaction_id->m_node_type = NodeType::Simple; + n_reaction_id->m_address = base + offset; + n_reaction_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_reaction_id); + + field_name = "has_tool_use"; + auto n_has_tool_use = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item, field_name)); + n_has_tool_use->m_field_name = field_name; + n_has_tool_use->m_df_type = DF_Type::tool_uses; + n_has_tool_use->m_rdf_type = RDF_Type::Enum; + n_has_tool_use->m_node_type = NodeType::Enum; + n_has_tool_use->m_base_type = DF_Type::int16_t; + n_has_tool_use->m_enum_type = "tool_uses"; + n_has_tool_use->m_address = base + offset; + n_has_tool_use->m_defined_in = "df.item-raws.xml"; + n_has_tool_use->m_first_value = -1; + n_has_tool_use->m_last_value = 22; + n_has_tool_use->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_has_tool_use); + + field_name = "unk_v43_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item, field_name)); + auto n_unk_v43_1 = new NodeSimple; + n_unk_v43_1->m_field_name = field_name; + n_unk_v43_1->m_df_type = DF_Type::int32_t; + n_unk_v43_1->m_rdf_type = RDF_Type::int32_t; + n_unk_v43_1->m_node_type = NodeType::Simple; + n_unk_v43_1->m_address = base + offset; + n_unk_v43_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v43_1); + + field_name = "unk_v43_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item, field_name)); + auto n_unk_v43_2 = new NodeSimple; + n_unk_v43_2->m_field_name = field_name; + n_unk_v43_2->m_df_type = DF_Type::int16_t; + n_unk_v43_2->m_rdf_type = RDF_Type::int16_t; + n_unk_v43_2->m_node_type = NodeType::Simple; + n_unk_v43_2->m_address = base + offset; + n_unk_v43_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v43_2); + + field_name = "unk_v43_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item, field_name)); + auto n_unk_v43_3 = new NodeSimple; + n_unk_v43_3->m_field_name = field_name; + n_unk_v43_3->m_df_type = DF_Type::int32_t; + n_unk_v43_3->m_rdf_type = RDF_Type::int32_t; + n_unk_v43_3->m_node_type = NodeType::Simple; + n_unk_v43_3->m_address = base + offset; + n_unk_v43_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v43_3); + + field_name = "unk_v43_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item, field_name)); + auto n_unk_v43_4 = new NodeSimple; + n_unk_v43_4->m_field_name = field_name; + n_unk_v43_4->m_df_type = DF_Type::int32_t; + n_unk_v43_4->m_rdf_type = RDF_Type::int32_t; + n_unk_v43_4->m_node_type = NodeType::Simple; + n_unk_v43_4->m_address = base + offset; + n_unk_v43_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v43_4); + +} +void node_from_job_item_filter(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "item_type"; + auto n_item_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); + n_item_type->m_field_name = field_name; + n_item_type->m_df_type = DF_Type::item_type; + n_item_type->m_rdf_type = RDF_Type::Enum; + n_item_type->m_node_type = NodeType::Enum; + n_item_type->m_base_type = DF_Type::int16_t; + n_item_type->m_enum_type = "item_type"; + n_item_type->m_address = base + offset; + n_item_type->m_defined_in = "df.item-raws.xml"; + n_item_type->m_first_value = -1; + n_item_type->m_last_value = 90; + n_item_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_type); + + field_name = "item_subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); + auto n_item_subtype = new NodeSimple; + n_item_subtype->m_field_name = field_name; + n_item_subtype->m_df_type = DF_Type::int16_t; + n_item_subtype->m_rdf_type = RDF_Type::int16_t; + n_item_subtype->m_node_type = NodeType::Simple; + n_item_subtype->m_address = base + offset; + n_item_subtype->m_refers_to = "(item-subtype-target $$._parent.item_type $)"; + n_item_subtype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_subtype); + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "flags1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); + auto n_flags1 = new NodeBitfield; + n_flags1->m_field_name = field_name; + n_flags1->m_df_type = DF_Type::job_item_flags1; + n_flags1->m_rdf_type = RDF_Type::Bitfield; + n_flags1->m_node_type = NodeType::Bitfield; + n_flags1->m_address = base + offset; + n_flags1->m_defined_in = "df.jobs.xml"; + n_flags1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags1); + + field_name = "item_vector"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); + auto n_item_vector = new NodePointer; + n_item_vector->m_field_name = field_name; + n_item_vector->m_df_type = get_real_subtype(base+offset, DF_Type::item); + n_item_vector->m_rdf_type = RDF_Type::Pointer; + n_item_vector->m_node_type = NodeType::Pointer; + n_item_vector->m_addornements = "*v*"; + n_item_vector->m_address = base + offset; + n_item_vector->m_parent = p_node_parent; + n_item_vector->m_defined_in = "df.items.xml"; + n_item_vector->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_item_vector); + + field_name = "use_mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); + auto n_use_mat_index = new NodeSimple; + n_use_mat_index->m_field_name = field_name; + n_use_mat_index->m_df_type = DF_Type::Bool; + n_use_mat_index->m_rdf_type = RDF_Type::Bool; + n_use_mat_index->m_node_type = NodeType::Simple; + n_use_mat_index->m_address = base + offset; + n_use_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_use_mat_index); + + field_name = "flags2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); + auto n_flags2 = new NodeBitfield; + n_flags2->m_field_name = field_name; + n_flags2->m_df_type = DF_Type::job_item_flags2; + n_flags2->m_rdf_type = RDF_Type::Bitfield; + n_flags2->m_node_type = NodeType::Bitfield; + n_flags2->m_address = base + offset; + n_flags2->m_defined_in = "df.jobs.xml"; + n_flags2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags2); + + field_name = "use_flags2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); + auto n_use_flags2 = new NodeSimple; + n_use_flags2->m_field_name = field_name; + n_use_flags2->m_df_type = DF_Type::Bool; + n_use_flags2->m_rdf_type = RDF_Type::Bool; + n_use_flags2->m_node_type = NodeType::Simple; + n_use_flags2->m_address = base + offset; + n_use_flags2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_use_flags2); + + field_name = "flags3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); + auto n_flags3 = new NodeBitfield; + n_flags3->m_field_name = field_name; + n_flags3->m_df_type = DF_Type::job_item_flags3; + n_flags3->m_rdf_type = RDF_Type::Bitfield; + n_flags3->m_node_type = NodeType::Bitfield; + n_flags3->m_address = base + offset; + n_flags3->m_defined_in = "df.jobs.xml"; + n_flags3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags3); + + field_name = "use_flags3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); + auto n_use_flags3 = new NodeSimple; + n_use_flags3->m_field_name = field_name; + n_use_flags3->m_df_type = DF_Type::Bool; + n_use_flags3->m_rdf_type = RDF_Type::Bool; + n_use_flags3->m_node_type = NodeType::Simple; + n_use_flags3->m_address = base + offset; + n_use_flags3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_use_flags3); + + field_name = "flags4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); + auto n_flags4 = new NodeSimple; + n_flags4->m_field_name = field_name; + n_flags4->m_df_type = DF_Type::uint32_t; + n_flags4->m_rdf_type = RDF_Type::uint32_t; + n_flags4->m_node_type = NodeType::Simple; + n_flags4->m_address = base + offset; + n_flags4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags4); + + field_name = "use_flags4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); + auto n_use_flags4 = new NodeSimple; + n_use_flags4->m_field_name = field_name; + n_use_flags4->m_df_type = DF_Type::Bool; + n_use_flags4->m_rdf_type = RDF_Type::Bool; + n_use_flags4->m_node_type = NodeType::Simple; + n_use_flags4->m_address = base + offset; + n_use_flags4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_use_flags4); + + field_name = "flags5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); + auto n_flags5 = new NodeSimple; + n_flags5->m_field_name = field_name; + n_flags5->m_df_type = DF_Type::uint32_t; + n_flags5->m_rdf_type = RDF_Type::uint32_t; + n_flags5->m_node_type = NodeType::Simple; + n_flags5->m_address = base + offset; + n_flags5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags5); + + field_name = "use_flags5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); + auto n_use_flags5 = new NodeSimple; + n_use_flags5->m_field_name = field_name; + n_use_flags5->m_df_type = DF_Type::Bool; + n_use_flags5->m_rdf_type = RDF_Type::Bool; + n_use_flags5->m_node_type = NodeType::Simple; + n_use_flags5->m_address = base + offset; + n_use_flags5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_use_flags5); + + field_name = "reaction_class"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); + auto n_reaction_class = new NodeSimple; + n_reaction_class->m_field_name = field_name; + n_reaction_class->m_df_type = DF_Type::Stl_string; + n_reaction_class->m_rdf_type = RDF_Type::Stl_string; + n_reaction_class->m_node_type = NodeType::Simple; + n_reaction_class->m_address = base + offset; + n_reaction_class->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_reaction_class); + + field_name = "has_material_reaction_product"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); + auto n_has_material_reaction_product = new NodeSimple; + n_has_material_reaction_product->m_field_name = field_name; + n_has_material_reaction_product->m_df_type = DF_Type::Stl_string; + n_has_material_reaction_product->m_rdf_type = RDF_Type::Stl_string; + n_has_material_reaction_product->m_node_type = NodeType::Simple; + n_has_material_reaction_product->m_address = base + offset; + n_has_material_reaction_product->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_has_material_reaction_product); + + field_name = "metal_ore"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); + auto n_metal_ore = new NodeSimple; + n_metal_ore->m_field_name = field_name; + n_metal_ore->m_df_type = DF_Type::int32_t; + n_metal_ore->m_rdf_type = RDF_Type::int32_t; + n_metal_ore->m_node_type = NodeType::Simple; + n_metal_ore->m_address = base + offset; + n_metal_ore->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_metal_ore); + + field_name = "use_metal_ore"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); + auto n_use_metal_ore = new NodeSimple; + n_use_metal_ore->m_field_name = field_name; + n_use_metal_ore->m_df_type = DF_Type::Bool; + n_use_metal_ore->m_rdf_type = RDF_Type::Bool; + n_use_metal_ore->m_node_type = NodeType::Simple; + n_use_metal_ore->m_address = base + offset; + n_use_metal_ore->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_use_metal_ore); + + field_name = "use_reaction_class"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); + auto n_use_reaction_class = new NodeSimple; + n_use_reaction_class->m_field_name = field_name; + n_use_reaction_class->m_df_type = DF_Type::Bool; + n_use_reaction_class->m_rdf_type = RDF_Type::Bool; + n_use_reaction_class->m_node_type = NodeType::Simple; + n_use_reaction_class->m_address = base + offset; + n_use_reaction_class->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_use_reaction_class); + + field_name = "use_reaction_product"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); + auto n_use_reaction_product = new NodeSimple; + n_use_reaction_product->m_field_name = field_name; + n_use_reaction_product->m_df_type = DF_Type::Bool; + n_use_reaction_product->m_rdf_type = RDF_Type::Bool; + n_use_reaction_product->m_node_type = NodeType::Simple; + n_use_reaction_product->m_address = base + offset; + n_use_reaction_product->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_use_reaction_product); + + field_name = "min_dimension"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); + auto n_min_dimension = new NodeSimple; + n_min_dimension->m_field_name = field_name; + n_min_dimension->m_df_type = DF_Type::int32_t; + n_min_dimension->m_rdf_type = RDF_Type::int32_t; + n_min_dimension->m_node_type = NodeType::Simple; + n_min_dimension->m_address = base + offset; + n_min_dimension->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_min_dimension); + + field_name = "reaction_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); + auto n_reaction_id = new NodeSimple; + n_reaction_id->m_field_name = field_name; + n_reaction_id->m_df_type = DF_Type::int32_t; + n_reaction_id->m_rdf_type = RDF_Type::int32_t; + n_reaction_id->m_node_type = NodeType::Simple; + n_reaction_id->m_address = base + offset; + n_reaction_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_reaction_id); + + field_name = "contains"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); + auto n_contains = new NodeVector; + n_contains->m_field_name = field_name; + n_contains->m_df_type = DF_Type::int32_t; + n_contains->m_rdf_type = RDF_Type::Vector; + n_contains->m_node_type = NodeType::Vector; + n_contains->m_addornements = "v"; + n_contains->m_address = base + offset; + n_contains->m_parent = p_node_parent; + n_contains->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_contains); + + field_name = "use_contains"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); + auto n_use_contains = new NodeSimple; + n_use_contains->m_field_name = field_name; + n_use_contains->m_df_type = DF_Type::Bool; + n_use_contains->m_rdf_type = RDF_Type::Bool; + n_use_contains->m_node_type = NodeType::Simple; + n_use_contains->m_address = base + offset; + n_use_contains->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_use_contains); + + field_name = "has_tool_use"; + auto n_has_tool_use = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); + n_has_tool_use->m_field_name = field_name; + n_has_tool_use->m_df_type = DF_Type::tool_uses; + n_has_tool_use->m_rdf_type = RDF_Type::Enum; + n_has_tool_use->m_node_type = NodeType::Enum; + n_has_tool_use->m_base_type = DF_Type::int16_t; + n_has_tool_use->m_enum_type = "tool_uses"; + n_has_tool_use->m_address = base + offset; + n_has_tool_use->m_defined_in = "df.item-raws.xml"; + n_has_tool_use->m_first_value = -1; + n_has_tool_use->m_last_value = 22; + n_has_tool_use->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_has_tool_use); + + field_name = "has_melee_skill"; + auto n_has_melee_skill = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); + n_has_melee_skill->m_field_name = field_name; + n_has_melee_skill->m_df_type = DF_Type::job_skill; + n_has_melee_skill->m_rdf_type = RDF_Type::Enum; + n_has_melee_skill->m_node_type = NodeType::Enum; + n_has_melee_skill->m_base_type = DF_Type::int16_t; + n_has_melee_skill->m_enum_type = "job_skill"; + n_has_melee_skill->m_address = base + offset; + n_has_melee_skill->m_defined_in = "df.skills.xml"; + n_has_melee_skill->m_first_value = -1; + n_has_melee_skill->m_last_value = 134; + n_has_melee_skill->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_has_melee_skill); + + field_name = "unk_v40_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); + auto n_unk_v40_1 = new NodeSimple; + n_unk_v40_1->m_field_name = field_name; + n_unk_v40_1->m_df_type = DF_Type::int8_t; + n_unk_v40_1->m_rdf_type = RDF_Type::int8_t; + n_unk_v40_1->m_node_type = NodeType::Simple; + n_unk_v40_1->m_address = base + offset; + n_unk_v40_1->m_comment = "noticed in v0.40.24"; + n_unk_v40_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_1); + + field_name = "pos"; + auto n_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); + n_pos->m_field_name = field_name; + n_pos->m_df_type = DF_Type::coord; + n_pos->m_rdf_type = RDF_Type::Struct; + n_pos->m_node_type = NodeType::Compound; + n_pos->m_address = base + offset; + n_pos->m_defined_in = "df.map.xml"; + n_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pos); + + field_name = "unit"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); + auto n_unit = new NodePointer; + n_unit->m_field_name = field_name; + n_unit->m_df_type = get_real_subtype(base+offset, DF_Type::unit); + n_unit->m_rdf_type = RDF_Type::Pointer; + n_unit->m_node_type = NodeType::Pointer; + n_unit->m_addornements = "*"; + n_unit->m_address = base + offset; + n_unit->m_parent = p_node_parent; + n_unit->m_defined_in = "df.units.xml"; + n_unit->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unit); + + field_name = "job"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); + auto n_job = new NodePointer; + n_job->m_field_name = field_name; + n_job->m_df_type = get_real_subtype(base+offset, DF_Type::job); + n_job->m_rdf_type = RDF_Type::Pointer; + n_job->m_node_type = NodeType::Pointer; + n_job->m_addornements = "*"; + n_job->m_address = base + offset; + n_job->m_parent = p_node_parent; + n_job->m_defined_in = "df.jobs.xml"; + n_job->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_job); + + field_name = "building"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); + auto n_building = new NodePointer; + n_building->m_field_name = field_name; + n_building->m_df_type = get_real_subtype(base+offset, DF_Type::building); + n_building->m_rdf_type = RDF_Type::Pointer; + n_building->m_node_type = NodeType::Pointer; + n_building->m_addornements = "*"; + n_building->m_address = base + offset; + n_building->m_parent = p_node_parent; + n_building->m_defined_in = "df.buildings.xml"; + n_building->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_building); + + field_name = "unk_74"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); + auto n_unk_74 = new NodePointer; + n_unk_74->m_field_name = field_name; + n_unk_74->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_unk_74->m_rdf_type = RDF_Type::Pointer; + n_unk_74->m_node_type = NodeType::Pointer; + n_unk_74->m_addornements = "*"; + n_unk_74->m_address = base + offset; + n_unk_74->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_74); + + field_name = "unk_v4305_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); + auto n_unk_v4305_1 = new NodeSimple; + n_unk_v4305_1->m_field_name = field_name; + n_unk_v4305_1->m_df_type = DF_Type::int32_t; + n_unk_v4305_1->m_rdf_type = RDF_Type::int32_t; + n_unk_v4305_1->m_node_type = NodeType::Simple; + n_unk_v4305_1->m_address = base + offset; + n_unk_v4305_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v4305_1); + + field_name = "burrows"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); + auto n_burrows = new NodeVector; + n_burrows->m_field_name = field_name; + n_burrows->m_df_type = DF_Type::int32_t; + n_burrows->m_rdf_type = RDF_Type::Vector; + n_burrows->m_node_type = NodeType::Vector; + n_burrows->m_addornements = "v"; + n_burrows->m_address = base + offset; + n_burrows->m_parent = p_node_parent; + n_burrows->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_burrows); + + field_name = "use_burrows"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); + auto n_use_burrows = new NodeSimple; + n_use_burrows->m_field_name = field_name; + n_use_burrows->m_df_type = DF_Type::Bool; + n_use_burrows->m_rdf_type = RDF_Type::Bool; + n_use_burrows->m_node_type = NodeType::Simple; + n_use_burrows->m_address = base + offset; + n_use_burrows->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_use_burrows); + + field_name = "take_from"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_item_filter, field_name)); + auto n_take_from = new NodePointer; + n_take_from->m_field_name = field_name; + n_take_from->m_df_type = get_real_subtype(base+offset, DF_Type::building); + n_take_from->m_rdf_type = RDF_Type::Pointer; + n_take_from->m_node_type = NodeType::Pointer; + n_take_from->m_addornements = "*v*"; + n_take_from->m_address = base + offset; + n_take_from->m_parent = p_node_parent; + n_take_from->m_defined_in = "df.buildings.xml"; + n_take_from->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_take_from); + +} +void node_from_manager_order(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "job_type"; + auto n_job_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order, field_name)); + n_job_type->m_field_name = field_name; + n_job_type->m_df_type = DF_Type::job_type; + n_job_type->m_rdf_type = RDF_Type::Enum; + n_job_type->m_node_type = NodeType::Enum; + n_job_type->m_base_type = DF_Type::int16_t; + n_job_type->m_enum_type = "job_type"; + n_job_type->m_address = base + offset; + n_job_type->m_defined_in = "df.job-types.xml"; + n_job_type->m_first_value = -1; + n_job_type->m_last_value = 240; + n_job_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_job_type); + + field_name = "item_type"; + auto n_item_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order, field_name)); + n_item_type->m_field_name = field_name; + n_item_type->m_df_type = DF_Type::item_type; + n_item_type->m_rdf_type = RDF_Type::Enum; + n_item_type->m_node_type = NodeType::Enum; + n_item_type->m_base_type = DF_Type::int16_t; + n_item_type->m_enum_type = "item_type"; + n_item_type->m_address = base + offset; + n_item_type->m_defined_in = "df.item-raws.xml"; + n_item_type->m_first_value = -1; + n_item_type->m_last_value = 90; + n_item_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_type); + + field_name = "item_subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order, field_name)); + auto n_item_subtype = new NodeSimple; + n_item_subtype->m_field_name = field_name; + n_item_subtype->m_df_type = DF_Type::int16_t; + n_item_subtype->m_rdf_type = RDF_Type::int16_t; + n_item_subtype->m_node_type = NodeType::Simple; + n_item_subtype->m_address = base + offset; + n_item_subtype->m_refers_to = "(item-subtype-target $$._parent.item_type $)"; + n_item_subtype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_subtype); + + field_name = "reaction_name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order, field_name)); + auto n_reaction_name = new NodeSimple; + n_reaction_name->m_field_name = field_name; + n_reaction_name->m_df_type = DF_Type::Stl_string; + n_reaction_name->m_rdf_type = RDF_Type::Stl_string; + n_reaction_name->m_node_type = NodeType::Simple; + n_reaction_name->m_address = base + offset; + n_reaction_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_reaction_name); + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "item_category"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order, field_name)); + auto n_item_category = new NodeBitfield; + n_item_category->m_field_name = field_name; + n_item_category->m_df_type = DF_Type::stockpile_group_set; + n_item_category->m_rdf_type = RDF_Type::Bitfield; + n_item_category->m_node_type = NodeType::Bitfield; + n_item_category->m_address = base + offset; + n_item_category->m_defined_in = "df.stockpile.xml"; + n_item_category->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_category); + + field_name = "hist_figure_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order, field_name)); + auto n_hist_figure_id = new NodeSimple; + n_hist_figure_id->m_field_name = field_name; + n_hist_figure_id->m_df_type = DF_Type::int32_t; + n_hist_figure_id->m_rdf_type = RDF_Type::int32_t; + n_hist_figure_id->m_node_type = NodeType::Simple; + n_hist_figure_id->m_address = base + offset; + n_hist_figure_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_hist_figure_id); + + field_name = "material_category"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order, field_name)); + auto n_material_category = new NodeBitfield; + n_material_category->m_field_name = field_name; + n_material_category->m_df_type = DF_Type::job_material_category; + n_material_category->m_rdf_type = RDF_Type::Bitfield; + n_material_category->m_node_type = NodeType::Bitfield; + n_material_category->m_address = base + offset; + n_material_category->m_defined_in = "df.jobs.xml"; + n_material_category->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_material_category); + + field_name = "art_spec"; + auto n_art_spec = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order, field_name)); + n_art_spec->m_field_name = field_name; + n_art_spec->m_df_type = DF_Type::job_art_specification; + n_art_spec->m_rdf_type = RDF_Type::Struct; + n_art_spec->m_node_type = NodeType::Compound; + n_art_spec->m_address = base + offset; + n_art_spec->m_defined_in = "df.jobs.xml"; + n_art_spec->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_art_spec); + + field_name = "amount_left"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order, field_name)); + auto n_amount_left = new NodeSimple; + n_amount_left->m_field_name = field_name; + n_amount_left->m_df_type = DF_Type::int16_t; + n_amount_left->m_rdf_type = RDF_Type::int16_t; + n_amount_left->m_node_type = NodeType::Simple; + n_amount_left->m_address = base + offset; + n_amount_left->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_amount_left); + + field_name = "amount_total"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order, field_name)); + auto n_amount_total = new NodeSimple; + n_amount_total->m_field_name = field_name; + n_amount_total->m_df_type = DF_Type::int16_t; + n_amount_total->m_rdf_type = RDF_Type::int16_t; + n_amount_total->m_node_type = NodeType::Simple; + n_amount_total->m_address = base + offset; + n_amount_total->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_amount_total); + + field_name = "status"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order, field_name)); + auto n_status = new NodeBitfield; + n_status->m_field_name = field_name; + n_status->m_df_type = DF_Type::manager_order_status; + n_status->m_rdf_type = RDF_Type::Bitfield; + n_status->m_node_type = NodeType::Bitfield; + n_status->m_address = base + offset; + n_status->m_defined_in = "df.jobs.xml"; + n_status->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_status); + + field_name = "frequency"; + auto n_frequency = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order, field_name)); + n_frequency->m_field_name = field_name; + n_frequency->m_df_type = DF_Type::manager_order__T_frequency; + n_frequency->m_rdf_type = RDF_Type::Enum; + n_frequency->m_node_type = NodeType::Enum; + n_frequency->m_base_type = DF_Type::int32_t; + n_frequency->m_enum_type = "manager_order::T_frequency"; + n_frequency->m_address = base + offset; + n_frequency->m_first_value = 0; + n_frequency->m_last_value = 4; + n_frequency->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_frequency); + + field_name = "finished_year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order, field_name)); + auto n_finished_year = new NodeSimple; + n_finished_year->m_field_name = field_name; + n_finished_year->m_df_type = DF_Type::int32_t; + n_finished_year->m_rdf_type = RDF_Type::int32_t; + n_finished_year->m_node_type = NodeType::Simple; + n_finished_year->m_address = base + offset; + n_finished_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_finished_year); + + field_name = "finished_year_tick"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order, field_name)); + auto n_finished_year_tick = new NodeSimple; + n_finished_year_tick->m_field_name = field_name; + n_finished_year_tick->m_df_type = DF_Type::int32_t; + n_finished_year_tick->m_rdf_type = RDF_Type::int32_t; + n_finished_year_tick->m_node_type = NodeType::Simple; + n_finished_year_tick->m_address = base + offset; + n_finished_year_tick->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_finished_year_tick); + + field_name = "workshop_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order, field_name)); + auto n_workshop_id = new NodeSimple; + n_workshop_id->m_field_name = field_name; + n_workshop_id->m_df_type = DF_Type::int32_t; + n_workshop_id->m_rdf_type = RDF_Type::int32_t; + n_workshop_id->m_node_type = NodeType::Simple; + n_workshop_id->m_address = base + offset; + n_workshop_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_workshop_id); + + field_name = "max_workshops"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order, field_name)); + auto n_max_workshops = new NodeSimple; + n_max_workshops->m_field_name = field_name; + n_max_workshops->m_df_type = DF_Type::int32_t; + n_max_workshops->m_rdf_type = RDF_Type::int32_t; + n_max_workshops->m_node_type = NodeType::Simple; + n_max_workshops->m_address = base + offset; + n_max_workshops->m_comment = "0 is unlimited"; + n_max_workshops->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_max_workshops); + + field_name = "item_conditions"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order, field_name)); + auto n_item_conditions = new NodeVector; + n_item_conditions->m_field_name = field_name; + n_item_conditions->m_df_type = DF_Type::manager_order_condition_item; + n_item_conditions->m_rdf_type = RDF_Type::Vector; + n_item_conditions->m_node_type = NodeType::Vector; + n_item_conditions->m_defined_in = "df.jobs.xml"; + n_item_conditions->m_addornements = "v*"; + n_item_conditions->m_address = base + offset; + n_item_conditions->m_parent = p_node_parent; + n_item_conditions->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_item_conditions); + + field_name = "order_conditions"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order, field_name)); + auto n_order_conditions = new NodeVector; + n_order_conditions->m_field_name = field_name; + n_order_conditions->m_df_type = DF_Type::manager_order_condition_order; + n_order_conditions->m_rdf_type = RDF_Type::Vector; + n_order_conditions->m_node_type = NodeType::Vector; + n_order_conditions->m_defined_in = "df.jobs.xml"; + n_order_conditions->m_addornements = "v*"; + n_order_conditions->m_address = base + offset; + n_order_conditions->m_parent = p_node_parent; + n_order_conditions->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_order_conditions); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order, field_name)); + auto n_anon_1 = new NodePointer; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = get_real_subtype(base+offset, DF_Type::job_item); + n_anon_1->m_rdf_type = RDF_Type::Pointer; + n_anon_1->m_node_type = NodeType::Pointer; + n_anon_1->m_addornements = "*v*"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_defined_in = "df.jobs.xml"; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_manager_order_condition_item(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "compare_type"; + auto n_compare_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order_condition_item, field_name)); + n_compare_type->m_field_name = field_name; + n_compare_type->m_df_type = DF_Type::manager_order_condition_item__T_compare_type; + n_compare_type->m_rdf_type = RDF_Type::Enum; + n_compare_type->m_node_type = NodeType::Enum; + n_compare_type->m_base_type = DF_Type::int32_t; + n_compare_type->m_enum_type = "manager_order_condition_item::T_compare_type"; + n_compare_type->m_address = base + offset; + n_compare_type->m_first_value = 0; + n_compare_type->m_last_value = 5; + n_compare_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_compare_type); + + field_name = "compare_val"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order_condition_item, field_name)); + auto n_compare_val = new NodeSimple; + n_compare_val->m_field_name = field_name; + n_compare_val->m_df_type = DF_Type::int32_t; + n_compare_val->m_rdf_type = RDF_Type::int32_t; + n_compare_val->m_node_type = NodeType::Simple; + n_compare_val->m_address = base + offset; + n_compare_val->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_compare_val); + + field_name = "item_type"; + auto n_item_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order_condition_item, field_name)); + n_item_type->m_field_name = field_name; + n_item_type->m_df_type = DF_Type::item_type; + n_item_type->m_rdf_type = RDF_Type::Enum; + n_item_type->m_node_type = NodeType::Enum; + n_item_type->m_base_type = DF_Type::int16_t; + n_item_type->m_enum_type = "item_type"; + n_item_type->m_address = base + offset; + n_item_type->m_defined_in = "df.item-raws.xml"; + n_item_type->m_first_value = -1; + n_item_type->m_last_value = 90; + n_item_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_type); + + field_name = "item_subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order_condition_item, field_name)); + auto n_item_subtype = new NodeSimple; + n_item_subtype->m_field_name = field_name; + n_item_subtype->m_df_type = DF_Type::int16_t; + n_item_subtype->m_rdf_type = RDF_Type::int16_t; + n_item_subtype->m_node_type = NodeType::Simple; + n_item_subtype->m_address = base + offset; + n_item_subtype->m_refers_to = "(item-subtype-target $$._parent.item_type $)"; + n_item_subtype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_subtype); + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order_condition_item, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order_condition_item, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "flags1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order_condition_item, field_name)); + auto n_flags1 = new NodeBitfield; + n_flags1->m_field_name = field_name; + n_flags1->m_df_type = DF_Type::job_item_flags1; + n_flags1->m_rdf_type = RDF_Type::Bitfield; + n_flags1->m_node_type = NodeType::Bitfield; + n_flags1->m_address = base + offset; + n_flags1->m_defined_in = "df.jobs.xml"; + n_flags1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags1); + + field_name = "flags2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order_condition_item, field_name)); + auto n_flags2 = new NodeBitfield; + n_flags2->m_field_name = field_name; + n_flags2->m_df_type = DF_Type::job_item_flags2; + n_flags2->m_rdf_type = RDF_Type::Bitfield; + n_flags2->m_node_type = NodeType::Bitfield; + n_flags2->m_address = base + offset; + n_flags2->m_defined_in = "df.jobs.xml"; + n_flags2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags2); + + field_name = "flags3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order_condition_item, field_name)); + auto n_flags3 = new NodeBitfield; + n_flags3->m_field_name = field_name; + n_flags3->m_df_type = DF_Type::job_item_flags3; + n_flags3->m_rdf_type = RDF_Type::Bitfield; + n_flags3->m_node_type = NodeType::Bitfield; + n_flags3->m_address = base + offset; + n_flags3->m_defined_in = "df.jobs.xml"; + n_flags3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags3); + + field_name = "flags4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order_condition_item, field_name)); + auto n_flags4 = new NodeSimple; + n_flags4->m_field_name = field_name; + n_flags4->m_df_type = DF_Type::uint32_t; + n_flags4->m_rdf_type = RDF_Type::uint32_t; + n_flags4->m_node_type = NodeType::Simple; + n_flags4->m_address = base + offset; + n_flags4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags4); + + field_name = "flags5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order_condition_item, field_name)); + auto n_flags5 = new NodeSimple; + n_flags5->m_field_name = field_name; + n_flags5->m_df_type = DF_Type::uint32_t; + n_flags5->m_rdf_type = RDF_Type::uint32_t; + n_flags5->m_node_type = NodeType::Simple; + n_flags5->m_address = base + offset; + n_flags5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags5); + + field_name = "reaction_class"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order_condition_item, field_name)); + auto n_reaction_class = new NodeSimple; + n_reaction_class->m_field_name = field_name; + n_reaction_class->m_df_type = DF_Type::Stl_string; + n_reaction_class->m_rdf_type = RDF_Type::Stl_string; + n_reaction_class->m_node_type = NodeType::Simple; + n_reaction_class->m_address = base + offset; + n_reaction_class->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_reaction_class); + + field_name = "has_material_reaction_product"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order_condition_item, field_name)); + auto n_has_material_reaction_product = new NodeSimple; + n_has_material_reaction_product->m_field_name = field_name; + n_has_material_reaction_product->m_df_type = DF_Type::Stl_string; + n_has_material_reaction_product->m_rdf_type = RDF_Type::Stl_string; + n_has_material_reaction_product->m_node_type = NodeType::Simple; + n_has_material_reaction_product->m_address = base + offset; + n_has_material_reaction_product->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_has_material_reaction_product); + + field_name = "inorganic_bearing"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order_condition_item, field_name)); + auto n_inorganic_bearing = new NodeSimple; + n_inorganic_bearing->m_field_name = field_name; + n_inorganic_bearing->m_df_type = DF_Type::int32_t; + n_inorganic_bearing->m_rdf_type = RDF_Type::int32_t; + n_inorganic_bearing->m_node_type = NodeType::Simple; + n_inorganic_bearing->m_address = base + offset; + n_inorganic_bearing->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_inorganic_bearing); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order_condition_item, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order_condition_item, field_name)); + auto n_anon_2 = new NodeVector; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::Vector; + n_anon_2->m_node_type = NodeType::Vector; + n_anon_2->m_addornements = "v"; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + n_anon_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order_condition_item, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "has_tool_use"; + auto n_has_tool_use = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order_condition_item, field_name)); + n_has_tool_use->m_field_name = field_name; + n_has_tool_use->m_df_type = DF_Type::tool_uses; + n_has_tool_use->m_rdf_type = RDF_Type::Enum; + n_has_tool_use->m_node_type = NodeType::Enum; + n_has_tool_use->m_base_type = DF_Type::int16_t; + n_has_tool_use->m_enum_type = "tool_uses"; + n_has_tool_use->m_address = base + offset; + n_has_tool_use->m_defined_in = "df.item-raws.xml"; + n_has_tool_use->m_first_value = -1; + n_has_tool_use->m_last_value = 22; + n_has_tool_use->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_has_tool_use); + +} +void node_from_manager_order_template(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "job_type"; + auto n_job_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order_template, field_name)); + n_job_type->m_field_name = field_name; + n_job_type->m_df_type = DF_Type::job_type; + n_job_type->m_rdf_type = RDF_Type::Enum; + n_job_type->m_node_type = NodeType::Enum; + n_job_type->m_base_type = DF_Type::int16_t; + n_job_type->m_enum_type = "job_type"; + n_job_type->m_address = base + offset; + n_job_type->m_defined_in = "df.job-types.xml"; + n_job_type->m_first_value = -1; + n_job_type->m_last_value = 240; + n_job_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_job_type); + + field_name = "reaction_name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order_template, field_name)); + auto n_reaction_name = new NodeSimple; + n_reaction_name->m_field_name = field_name; + n_reaction_name->m_df_type = DF_Type::Stl_string; + n_reaction_name->m_rdf_type = RDF_Type::Stl_string; + n_reaction_name->m_node_type = NodeType::Simple; + n_reaction_name->m_address = base + offset; + n_reaction_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_reaction_name); + + field_name = "item_type"; + auto n_item_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order_template, field_name)); + n_item_type->m_field_name = field_name; + n_item_type->m_df_type = DF_Type::item_type; + n_item_type->m_rdf_type = RDF_Type::Enum; + n_item_type->m_node_type = NodeType::Enum; + n_item_type->m_base_type = DF_Type::int16_t; + n_item_type->m_enum_type = "item_type"; + n_item_type->m_address = base + offset; + n_item_type->m_defined_in = "df.item-raws.xml"; + n_item_type->m_first_value = -1; + n_item_type->m_last_value = 90; + n_item_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_type); + + field_name = "item_subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order_template, field_name)); + auto n_item_subtype = new NodeSimple; + n_item_subtype->m_field_name = field_name; + n_item_subtype->m_df_type = DF_Type::int16_t; + n_item_subtype->m_rdf_type = RDF_Type::int16_t; + n_item_subtype->m_node_type = NodeType::Simple; + n_item_subtype->m_address = base + offset; + n_item_subtype->m_refers_to = "(item-subtype-target $$._parent.item_type $)"; + n_item_subtype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_subtype); + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order_template, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order_template, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "item_category"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order_template, field_name)); + auto n_item_category = new NodeBitfield; + n_item_category->m_field_name = field_name; + n_item_category->m_df_type = DF_Type::stockpile_group_set; + n_item_category->m_rdf_type = RDF_Type::Bitfield; + n_item_category->m_node_type = NodeType::Bitfield; + n_item_category->m_address = base + offset; + n_item_category->m_defined_in = "df.stockpile.xml"; + n_item_category->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_category); + + field_name = "hist_figure_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order_template, field_name)); + auto n_hist_figure_id = new NodeSimple; + n_hist_figure_id->m_field_name = field_name; + n_hist_figure_id->m_df_type = DF_Type::int32_t; + n_hist_figure_id->m_rdf_type = RDF_Type::int32_t; + n_hist_figure_id->m_node_type = NodeType::Simple; + n_hist_figure_id->m_address = base + offset; + n_hist_figure_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_hist_figure_id); + + field_name = "material_category"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order_template, field_name)); + auto n_material_category = new NodeBitfield; + n_material_category->m_field_name = field_name; + n_material_category->m_df_type = DF_Type::job_material_category; + n_material_category->m_rdf_type = RDF_Type::Bitfield; + n_material_category->m_node_type = NodeType::Bitfield; + n_material_category->m_address = base + offset; + n_material_category->m_defined_in = "df.jobs.xml"; + n_material_category->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_material_category); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::manager_order_template, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_mandate__T_punishment(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "hammerstrikes"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mandate__T_punishment, field_name)); + auto n_hammerstrikes = new NodeSimple; + n_hammerstrikes->m_field_name = field_name; + n_hammerstrikes->m_df_type = DF_Type::int32_t; + n_hammerstrikes->m_rdf_type = RDF_Type::int32_t; + n_hammerstrikes->m_node_type = NodeType::Simple; + n_hammerstrikes->m_address = base + offset; + n_hammerstrikes->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_hammerstrikes); + + field_name = "prison_time"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mandate__T_punishment, field_name)); + auto n_prison_time = new NodeSimple; + n_prison_time->m_field_name = field_name; + n_prison_time->m_df_type = DF_Type::int32_t; + n_prison_time->m_rdf_type = RDF_Type::int32_t; + n_prison_time->m_node_type = NodeType::Simple; + n_prison_time->m_address = base + offset; + n_prison_time->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_prison_time); + + field_name = "give_beating"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mandate__T_punishment, field_name)); + auto n_give_beating = new NodeSimple; + n_give_beating->m_field_name = field_name; + n_give_beating->m_df_type = DF_Type::int32_t; + n_give_beating->m_rdf_type = RDF_Type::int32_t; + n_give_beating->m_node_type = NodeType::Simple; + n_give_beating->m_address = base + offset; + n_give_beating->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_give_beating); + +} +void node_from_mandate(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unit"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mandate, field_name)); + auto n_unit = new NodePointer; + n_unit->m_field_name = field_name; + n_unit->m_df_type = get_real_subtype(base+offset, DF_Type::unit); + n_unit->m_rdf_type = RDF_Type::Pointer; + n_unit->m_node_type = NodeType::Pointer; + n_unit->m_addornements = "*"; + n_unit->m_address = base + offset; + n_unit->m_parent = p_node_parent; + n_unit->m_defined_in = "df.units.xml"; + n_unit->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unit); + + field_name = "mode"; + auto n_mode = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mandate, field_name)); + n_mode->m_field_name = field_name; + n_mode->m_df_type = DF_Type::mandate__T_mode; + n_mode->m_rdf_type = RDF_Type::Enum; + n_mode->m_node_type = NodeType::Enum; + n_mode->m_base_type = DF_Type::int16_t; + n_mode->m_enum_type = "mandate::T_mode"; + n_mode->m_address = base + offset; + n_mode->m_first_value = 0; + n_mode->m_last_value = 2; + n_mode->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mode); + + field_name = "item_type"; + auto n_item_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mandate, field_name)); + n_item_type->m_field_name = field_name; + n_item_type->m_df_type = DF_Type::item_type; + n_item_type->m_rdf_type = RDF_Type::Enum; + n_item_type->m_node_type = NodeType::Enum; + n_item_type->m_base_type = DF_Type::int16_t; + n_item_type->m_enum_type = "item_type"; + n_item_type->m_address = base + offset; + n_item_type->m_defined_in = "df.item-raws.xml"; + n_item_type->m_first_value = -1; + n_item_type->m_last_value = 90; + n_item_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_type); + + field_name = "item_subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mandate, field_name)); + auto n_item_subtype = new NodeSimple; + n_item_subtype->m_field_name = field_name; + n_item_subtype->m_df_type = DF_Type::int16_t; + n_item_subtype->m_rdf_type = RDF_Type::int16_t; + n_item_subtype->m_node_type = NodeType::Simple; + n_item_subtype->m_address = base + offset; + n_item_subtype->m_refers_to = "(item-subtype-target $$._parent.item_type $)"; + n_item_subtype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_subtype); + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mandate, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mandate, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "amount_total"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mandate, field_name)); + auto n_amount_total = new NodeSimple; + n_amount_total->m_field_name = field_name; + n_amount_total->m_df_type = DF_Type::int16_t; + n_amount_total->m_rdf_type = RDF_Type::int16_t; + n_amount_total->m_node_type = NodeType::Simple; + n_amount_total->m_address = base + offset; + n_amount_total->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_amount_total); + + field_name = "amount_remaining"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mandate, field_name)); + auto n_amount_remaining = new NodeSimple; + n_amount_remaining->m_field_name = field_name; + n_amount_remaining->m_df_type = DF_Type::int16_t; + n_amount_remaining->m_rdf_type = RDF_Type::int16_t; + n_amount_remaining->m_node_type = NodeType::Simple; + n_amount_remaining->m_address = base + offset; + n_amount_remaining->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_amount_remaining); + + field_name = "timeout_counter"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mandate, field_name)); + auto n_timeout_counter = new NodeSimple; + n_timeout_counter->m_field_name = field_name; + n_timeout_counter->m_df_type = DF_Type::int32_t; + n_timeout_counter->m_rdf_type = RDF_Type::int32_t; + n_timeout_counter->m_node_type = NodeType::Simple; + n_timeout_counter->m_address = base + offset; + n_timeout_counter->m_comment = "counts once per 10 frames"; + n_timeout_counter->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_timeout_counter); + + field_name = "timeout_limit"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mandate, field_name)); + auto n_timeout_limit = new NodeSimple; + n_timeout_limit->m_field_name = field_name; + n_timeout_limit->m_df_type = DF_Type::int32_t; + n_timeout_limit->m_rdf_type = RDF_Type::int32_t; + n_timeout_limit->m_node_type = NodeType::Simple; + n_timeout_limit->m_address = base + offset; + n_timeout_limit->m_comment = "once counter passes limit, mandate ends"; + n_timeout_limit->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_timeout_limit); + + field_name = "punishment"; + auto n_punishment = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mandate, field_name)); + n_punishment->m_field_name = field_name; + n_punishment->m_df_type = DF_Type::mandate__T_punishment; + n_punishment->m_rdf_type = RDF_Type::Compound; + n_punishment->m_node_type = NodeType::Compound; + n_punishment->m_address = base + offset; + n_punishment->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_punishment); + + field_name = "punish_multiple"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mandate, field_name)); + auto n_punish_multiple = new NodeSimple; + n_punish_multiple->m_field_name = field_name; + n_punish_multiple->m_df_type = DF_Type::uint8_t; + n_punish_multiple->m_rdf_type = RDF_Type::uint8_t; + n_punish_multiple->m_node_type = NodeType::Simple; + n_punish_multiple->m_address = base + offset; + n_punish_multiple->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_punish_multiple); + + field_name = "unk4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mandate, field_name)); + auto n_unk4 = new NodeSimple; + n_unk4->m_field_name = field_name; + n_unk4->m_df_type = DF_Type::int32_t; + n_unk4->m_rdf_type = RDF_Type::int32_t; + n_unk4->m_node_type = NodeType::Simple; + n_unk4->m_address = base + offset; + n_unk4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk4); + +} +void node_from_unit_demand(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk_0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_demand, field_name)); + auto n_unk_0 = new NodeSimple; + n_unk_0->m_field_name = field_name; + n_unk_0->m_df_type = DF_Type::int16_t; + n_unk_0->m_rdf_type = RDF_Type::int16_t; + n_unk_0->m_node_type = NodeType::Simple; + n_unk_0->m_address = base + offset; + n_unk_0->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_0); + + field_name = "place"; + auto n_place = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_demand, field_name)); + n_place->m_field_name = field_name; + n_place->m_df_type = DF_Type::unit_demand__T_place; + n_place->m_rdf_type = RDF_Type::Enum; + n_place->m_node_type = NodeType::Enum; + n_place->m_base_type = DF_Type::int16_t; + n_place->m_enum_type = "unit_demand::T_place"; + n_place->m_address = base + offset; + n_place->m_first_value = 0; + n_place->m_last_value = 3; + n_place->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_place); + + field_name = "item_type"; + auto n_item_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_demand, field_name)); + n_item_type->m_field_name = field_name; + n_item_type->m_df_type = DF_Type::item_type; + n_item_type->m_rdf_type = RDF_Type::Enum; + n_item_type->m_node_type = NodeType::Enum; + n_item_type->m_base_type = DF_Type::int16_t; + n_item_type->m_enum_type = "item_type"; + n_item_type->m_address = base + offset; + n_item_type->m_defined_in = "df.item-raws.xml"; + n_item_type->m_first_value = -1; + n_item_type->m_last_value = 90; + n_item_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_type); + + field_name = "item_subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_demand, field_name)); + auto n_item_subtype = new NodeSimple; + n_item_subtype->m_field_name = field_name; + n_item_subtype->m_df_type = DF_Type::int16_t; + n_item_subtype->m_rdf_type = RDF_Type::int16_t; + n_item_subtype->m_node_type = NodeType::Simple; + n_item_subtype->m_address = base + offset; + n_item_subtype->m_refers_to = "(item-subtype-target $$._parent.item_type $)"; + n_item_subtype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_subtype); + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_demand, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_demand, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "timeout_counter"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_demand, field_name)); + auto n_timeout_counter = new NodeSimple; + n_timeout_counter->m_field_name = field_name; + n_timeout_counter->m_df_type = DF_Type::int32_t; + n_timeout_counter->m_rdf_type = RDF_Type::int32_t; + n_timeout_counter->m_node_type = NodeType::Simple; + n_timeout_counter->m_address = base + offset; + n_timeout_counter->m_comment = "counts once per 10 frames"; + n_timeout_counter->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_timeout_counter); + + field_name = "timeout_limit"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_demand, field_name)); + auto n_timeout_limit = new NodeSimple; + n_timeout_limit->m_field_name = field_name; + n_timeout_limit->m_df_type = DF_Type::int32_t; + n_timeout_limit->m_rdf_type = RDF_Type::int32_t; + n_timeout_limit->m_node_type = NodeType::Simple; + n_timeout_limit->m_address = base + offset; + n_timeout_limit->m_comment = "once counter passes limit, mandate ends"; + n_timeout_limit->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_timeout_limit); + +} +void node_from_knowledge_scholar_category_flag__T_flags(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = true) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "flags_0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::knowledge_scholar_category_flag__T_flags, field_name)); + auto n_flags_0 = new NodeBitfield; + n_flags_0->m_field_name = field_name; + n_flags_0->m_df_type = DF_Type::knowledge_scholar_flags_0; + n_flags_0->m_rdf_type = RDF_Type::Bitfield; + n_flags_0->m_node_type = NodeType::Bitfield; + n_flags_0->m_address = base + offset; + n_flags_0->m_defined_in = "df.knowledge.xml"; + n_flags_0->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags_0); + + field_name = "flags_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::knowledge_scholar_category_flag__T_flags, field_name)); + auto n_flags_1 = new NodeBitfield; + n_flags_1->m_field_name = field_name; + n_flags_1->m_df_type = DF_Type::knowledge_scholar_flags_1; + n_flags_1->m_rdf_type = RDF_Type::Bitfield; + n_flags_1->m_node_type = NodeType::Bitfield; + n_flags_1->m_address = base + offset; + n_flags_1->m_defined_in = "df.knowledge.xml"; + n_flags_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags_1); + + field_name = "flags_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::knowledge_scholar_category_flag__T_flags, field_name)); + auto n_flags_2 = new NodeBitfield; + n_flags_2->m_field_name = field_name; + n_flags_2->m_df_type = DF_Type::knowledge_scholar_flags_2; + n_flags_2->m_rdf_type = RDF_Type::Bitfield; + n_flags_2->m_node_type = NodeType::Bitfield; + n_flags_2->m_address = base + offset; + n_flags_2->m_defined_in = "df.knowledge.xml"; + n_flags_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags_2); + + field_name = "flags_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::knowledge_scholar_category_flag__T_flags, field_name)); + auto n_flags_3 = new NodeBitfield; + n_flags_3->m_field_name = field_name; + n_flags_3->m_df_type = DF_Type::knowledge_scholar_flags_3; + n_flags_3->m_rdf_type = RDF_Type::Bitfield; + n_flags_3->m_node_type = NodeType::Bitfield; + n_flags_3->m_address = base + offset; + n_flags_3->m_defined_in = "df.knowledge.xml"; + n_flags_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags_3); + + field_name = "flags_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::knowledge_scholar_category_flag__T_flags, field_name)); + auto n_flags_4 = new NodeBitfield; + n_flags_4->m_field_name = field_name; + n_flags_4->m_df_type = DF_Type::knowledge_scholar_flags_4; + n_flags_4->m_rdf_type = RDF_Type::Bitfield; + n_flags_4->m_node_type = NodeType::Bitfield; + n_flags_4->m_address = base + offset; + n_flags_4->m_defined_in = "df.knowledge.xml"; + n_flags_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags_4); + + field_name = "flags_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::knowledge_scholar_category_flag__T_flags, field_name)); + auto n_flags_5 = new NodeBitfield; + n_flags_5->m_field_name = field_name; + n_flags_5->m_df_type = DF_Type::knowledge_scholar_flags_5; + n_flags_5->m_rdf_type = RDF_Type::Bitfield; + n_flags_5->m_node_type = NodeType::Bitfield; + n_flags_5->m_address = base + offset; + n_flags_5->m_defined_in = "df.knowledge.xml"; + n_flags_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags_5); + + field_name = "flags_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::knowledge_scholar_category_flag__T_flags, field_name)); + auto n_flags_6 = new NodeBitfield; + n_flags_6->m_field_name = field_name; + n_flags_6->m_df_type = DF_Type::knowledge_scholar_flags_6; + n_flags_6->m_rdf_type = RDF_Type::Bitfield; + n_flags_6->m_node_type = NodeType::Bitfield; + n_flags_6->m_address = base + offset; + n_flags_6->m_defined_in = "df.knowledge.xml"; + n_flags_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags_6); + + field_name = "flags_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::knowledge_scholar_category_flag__T_flags, field_name)); + auto n_flags_7 = new NodeBitfield; + n_flags_7->m_field_name = field_name; + n_flags_7->m_df_type = DF_Type::knowledge_scholar_flags_7; + n_flags_7->m_rdf_type = RDF_Type::Bitfield; + n_flags_7->m_node_type = NodeType::Bitfield; + n_flags_7->m_address = base + offset; + n_flags_7->m_defined_in = "df.knowledge.xml"; + n_flags_7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags_7); + + field_name = "flags_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::knowledge_scholar_category_flag__T_flags, field_name)); + auto n_flags_8 = new NodeBitfield; + n_flags_8->m_field_name = field_name; + n_flags_8->m_df_type = DF_Type::knowledge_scholar_flags_8; + n_flags_8->m_rdf_type = RDF_Type::Bitfield; + n_flags_8->m_node_type = NodeType::Bitfield; + n_flags_8->m_address = base + offset; + n_flags_8->m_defined_in = "df.knowledge.xml"; + n_flags_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags_8); + + field_name = "flags_9"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::knowledge_scholar_category_flag__T_flags, field_name)); + auto n_flags_9 = new NodeBitfield; + n_flags_9->m_field_name = field_name; + n_flags_9->m_df_type = DF_Type::knowledge_scholar_flags_9; + n_flags_9->m_rdf_type = RDF_Type::Bitfield; + n_flags_9->m_node_type = NodeType::Bitfield; + n_flags_9->m_address = base + offset; + n_flags_9->m_defined_in = "df.knowledge.xml"; + n_flags_9->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags_9); + + field_name = "flags_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::knowledge_scholar_category_flag__T_flags, field_name)); + auto n_flags_10 = new NodeBitfield; + n_flags_10->m_field_name = field_name; + n_flags_10->m_df_type = DF_Type::knowledge_scholar_flags_10; + n_flags_10->m_rdf_type = RDF_Type::Bitfield; + n_flags_10->m_node_type = NodeType::Bitfield; + n_flags_10->m_address = base + offset; + n_flags_10->m_defined_in = "df.knowledge.xml"; + n_flags_10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags_10); + + field_name = "flags_11"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::knowledge_scholar_category_flag__T_flags, field_name)); + auto n_flags_11 = new NodeBitfield; + n_flags_11->m_field_name = field_name; + n_flags_11->m_df_type = DF_Type::knowledge_scholar_flags_11; + n_flags_11->m_rdf_type = RDF_Type::Bitfield; + n_flags_11->m_node_type = NodeType::Bitfield; + n_flags_11->m_address = base + offset; + n_flags_11->m_defined_in = "df.knowledge.xml"; + n_flags_11->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags_11); + + field_name = "flags_12"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::knowledge_scholar_category_flag__T_flags, field_name)); + auto n_flags_12 = new NodeBitfield; + n_flags_12->m_field_name = field_name; + n_flags_12->m_df_type = DF_Type::knowledge_scholar_flags_12; + n_flags_12->m_rdf_type = RDF_Type::Bitfield; + n_flags_12->m_node_type = NodeType::Bitfield; + n_flags_12->m_address = base + offset; + n_flags_12->m_defined_in = "df.knowledge.xml"; + n_flags_12->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags_12); + + field_name = "flags_13"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::knowledge_scholar_category_flag__T_flags, field_name)); + auto n_flags_13 = new NodeBitfield; + n_flags_13->m_field_name = field_name; + n_flags_13->m_df_type = DF_Type::knowledge_scholar_flags_13; + n_flags_13->m_rdf_type = RDF_Type::Bitfield; + n_flags_13->m_node_type = NodeType::Bitfield; + n_flags_13->m_address = base + offset; + n_flags_13->m_defined_in = "df.knowledge.xml"; + n_flags_13->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags_13); + + field_name = "whole"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::knowledge_scholar_category_flag__T_flags, field_name)); + auto n_whole = new NodeSimple; + n_whole->m_field_name = field_name; + n_whole->m_df_type = DF_Type::uint32_t; + n_whole->m_rdf_type = RDF_Type::uint32_t; + n_whole->m_node_type = NodeType::Simple; + n_whole->m_address = base + offset; + n_whole->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_whole); + +} +void node_from_knowledge_scholar_category_flag(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "category"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::knowledge_scholar_category_flag, field_name)); + auto n_category = new NodeSimple; + n_category->m_field_name = field_name; + n_category->m_df_type = DF_Type::int32_t; + n_category->m_rdf_type = RDF_Type::int32_t; + n_category->m_node_type = NodeType::Simple; + n_category->m_address = base + offset; + n_category->m_comment = "determines which bitflags to use"; + n_category->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_category); + + field_name = "flags"; + auto n_flags = new NodeUnion; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::knowledge_scholar_category_flag, field_name)); + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::knowledge_scholar_category_flag__T_flags; + n_flags->m_rdf_type = RDF_Type::Union; + n_flags->m_node_type = NodeType::Union; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + +} +void node_from_history_event_knowledge_discoveredst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "hf"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_knowledge_discoveredst, field_name)); + auto n_hf = new NodeSimple; + n_hf->m_field_name = field_name; + n_hf->m_df_type = DF_Type::int32_t; + n_hf->m_rdf_type = RDF_Type::int32_t; + n_hf->m_node_type = NodeType::Simple; + n_hf->m_address = base + offset; + n_hf->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_hf); + + field_name = "knowledge"; + auto n_knowledge = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_knowledge_discoveredst, field_name)); + n_knowledge->m_field_name = field_name; + n_knowledge->m_df_type = DF_Type::knowledge_scholar_category_flag; + n_knowledge->m_rdf_type = RDF_Type::Struct; + n_knowledge->m_node_type = NodeType::Compound; + n_knowledge->m_address = base + offset; + n_knowledge->m_defined_in = "df.knowledge.xml"; + n_knowledge->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_knowledge); + + field_name = "first"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_knowledge_discoveredst, field_name)); + auto n_first = new NodeSimple; + n_first->m_field_name = field_name; + n_first->m_df_type = DF_Type::int8_t; + n_first->m_rdf_type = RDF_Type::int8_t; + n_first->m_node_type = NodeType::Simple; + n_first->m_address = base + offset; + n_first->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_first); + +} +void node_from_language_word(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "word"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::language_word, field_name)); + auto n_word = new NodeSimple; + n_word->m_field_name = field_name; + n_word->m_df_type = DF_Type::Stl_string; + n_word->m_rdf_type = RDF_Type::Stl_string; + n_word->m_node_type = NodeType::Simple; + n_word->m_address = base + offset; + n_word->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_word); + + field_name = "forms"; + auto n_forms = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::language_word, field_name)); + n_forms->m_field_name = field_name; + n_forms->m_df_type = DF_Type::Stl_string; + n_forms->m_rdf_type = RDF_Type::Array; + n_forms->m_node_type = NodeType::Array; + n_forms->m_index_enum = DF_Type::part_of_speech; + n_forms->m_addornements = "[9"; + n_forms->m_array_size = 9; + n_forms->m_address = base + offset; + n_forms->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_forms); + + field_name = "adj_dist"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::language_word, field_name)); + auto n_adj_dist = new NodeSimple; + n_adj_dist->m_field_name = field_name; + n_adj_dist->m_df_type = DF_Type::uint8_t; + n_adj_dist->m_rdf_type = RDF_Type::uint8_t; + n_adj_dist->m_node_type = NodeType::Simple; + n_adj_dist->m_address = base + offset; + n_adj_dist->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_adj_dist); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::language_word, field_name)); + auto n_anon_1= new NodePadding; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::Padding; + n_anon_1->m_rdf_type = RDF_Type::Padding; + n_anon_1->m_node_type = NodeType::Padding; + n_anon_1->m_address = base + offset; + n_anon_1->m_comment = "looks like garbage"; + n_anon_1->m_size = 7; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::language_word, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::language_word_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_defined_in = "df.language.xml"; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "str"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::language_word, field_name)); + auto n_str = new NodeVector; + n_str->m_field_name = field_name; + n_str->m_df_type = DF_Type::Stl_string; + n_str->m_rdf_type = RDF_Type::Vector; + n_str->m_node_type = NodeType::Vector; + n_str->m_addornements = "v*"; + n_str->m_address = base + offset; + n_str->m_parent = p_node_parent; + n_str->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_str); + +} +void node_from_language_name(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "first_name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::language_name, field_name)); + auto n_first_name = new NodeSimple; + n_first_name->m_field_name = field_name; + n_first_name->m_df_type = DF_Type::Stl_string; + n_first_name->m_rdf_type = RDF_Type::Stl_string; + n_first_name->m_node_type = NodeType::Simple; + n_first_name->m_address = base + offset; + n_first_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_first_name); + + field_name = "nickname"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::language_name, field_name)); + auto n_nickname = new NodeSimple; + n_nickname->m_field_name = field_name; + n_nickname->m_df_type = DF_Type::Stl_string; + n_nickname->m_rdf_type = RDF_Type::Stl_string; + n_nickname->m_node_type = NodeType::Simple; + n_nickname->m_address = base + offset; + n_nickname->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_nickname); + + field_name = "words"; + auto n_words = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::language_name, field_name)); + n_words->m_field_name = field_name; + n_words->m_df_type = DF_Type::int32_t; + n_words->m_rdf_type = RDF_Type::Array; + n_words->m_node_type = NodeType::Array; + n_words->m_addornements = "[7"; + n_words->m_array_size = 7; + n_words->m_address = base + offset; + n_words->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_words); + + field_name = "parts_of_speech"; + auto n_parts_of_speech = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::language_name, field_name)); + n_parts_of_speech->m_field_name = field_name; + n_parts_of_speech->m_df_type = DF_Type::part_of_speech; + n_parts_of_speech->m_rdf_type = RDF_Type::Array; + n_parts_of_speech->m_node_type = NodeType::Array; + n_parts_of_speech->m_enum_base = DF_Type::int16_t; + n_parts_of_speech->m_defined_in = "df.language.xml"; + n_parts_of_speech->m_addornements = "[7"; + n_parts_of_speech->m_array_size = 7; + n_parts_of_speech->m_address = base + offset; + n_parts_of_speech->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_parts_of_speech); + + field_name = "language"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::language_name, field_name)); + auto n_language = new NodeSimple; + n_language->m_field_name = field_name; + n_language->m_df_type = DF_Type::int32_t; + n_language->m_rdf_type = RDF_Type::int32_t; + n_language->m_node_type = NodeType::Simple; + n_language->m_address = base + offset; + n_language->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_language); + + field_name = "unknown"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::language_name, field_name)); + auto n_unknown = new NodeSimple; + n_unknown->m_field_name = field_name; + n_unknown->m_df_type = DF_Type::int16_t; + n_unknown->m_rdf_type = RDF_Type::int16_t; + n_unknown->m_node_type = NodeType::Simple; + n_unknown->m_address = base + offset; + n_unknown->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unknown); + + field_name = "has_name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::language_name, field_name)); + auto n_has_name = new NodeSimple; + n_has_name->m_field_name = field_name; + n_has_name->m_df_type = DF_Type::Bool; + n_has_name->m_rdf_type = RDF_Type::Bool; + n_has_name->m_node_type = NodeType::Simple; + n_has_name->m_address = base + offset; + n_has_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_has_name); + +} +void node_from_ui_advmode__T_unk_v40_1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk_s1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_1, field_name)); + auto n_unk_s1 = new NodeSimple; + n_unk_s1->m_field_name = field_name; + n_unk_s1->m_df_type = DF_Type::int16_t; + n_unk_s1->m_rdf_type = RDF_Type::int16_t; + n_unk_s1->m_node_type = NodeType::Simple; + n_unk_s1->m_address = base + offset; + n_unk_s1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_s1); + + field_name = "unk_s2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_1, field_name)); + auto n_unk_s2 = new NodeSimple; + n_unk_s2->m_field_name = field_name; + n_unk_s2->m_df_type = DF_Type::int8_t; + n_unk_s2->m_rdf_type = RDF_Type::int8_t; + n_unk_s2->m_node_type = NodeType::Simple; + n_unk_s2->m_address = base + offset; + n_unk_s2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_s2); + + field_name = "unk_s3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_1, field_name)); + auto n_unk_s3 = new NodeSimple; + n_unk_s3->m_field_name = field_name; + n_unk_s3->m_df_type = DF_Type::int32_t; + n_unk_s3->m_rdf_type = RDF_Type::int32_t; + n_unk_s3->m_node_type = NodeType::Simple; + n_unk_s3->m_address = base + offset; + n_unk_s3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_s3); + + field_name = "unk_s4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_1, field_name)); + auto n_unk_s4 = new NodeSimple; + n_unk_s4->m_field_name = field_name; + n_unk_s4->m_df_type = DF_Type::int32_t; + n_unk_s4->m_rdf_type = RDF_Type::int32_t; + n_unk_s4->m_node_type = NodeType::Simple; + n_unk_s4->m_address = base + offset; + n_unk_s4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_s4); + + field_name = "unk_s5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_1, field_name)); + auto n_unk_s5 = new NodeSimple; + n_unk_s5->m_field_name = field_name; + n_unk_s5->m_df_type = DF_Type::int32_t; + n_unk_s5->m_rdf_type = RDF_Type::int32_t; + n_unk_s5->m_node_type = NodeType::Simple; + n_unk_s5->m_address = base + offset; + n_unk_s5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_s5); + +} +void node_from_ui_advmode__T_unk_3170__T_unk_2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3170__T_unk_2, field_name)); + auto n_unk_1 = new NodeVector; + n_unk_1->m_field_name = field_name; + n_unk_1->m_df_type = DF_Type::Void; + n_unk_1->m_rdf_type = RDF_Type::Vector; + n_unk_1->m_node_type = NodeType::Vector; + n_unk_1->m_addornements = "v"; + n_unk_1->m_address = base + offset; + n_unk_1->m_parent = p_node_parent; + n_unk_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_1); + + field_name = "unk_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3170__T_unk_2, field_name)); + auto n_unk_2 = new NodeVector; + n_unk_2->m_field_name = field_name; + n_unk_2->m_df_type = DF_Type::Void; + n_unk_2->m_rdf_type = RDF_Type::Vector; + n_unk_2->m_node_type = NodeType::Vector; + n_unk_2->m_addornements = "v"; + n_unk_2->m_address = base + offset; + n_unk_2->m_parent = p_node_parent; + n_unk_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_2); + +} +void node_from_ui_advmode__T_unk_3170(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3170, field_name)); + auto n_unk_1 = new NodeVector; + n_unk_1->m_field_name = field_name; + n_unk_1->m_df_type = DF_Type::Void; + n_unk_1->m_rdf_type = RDF_Type::Vector; + n_unk_1->m_node_type = NodeType::Vector; + n_unk_1->m_addornements = "v"; + n_unk_1->m_address = base + offset; + n_unk_1->m_parent = p_node_parent; + n_unk_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_1); + + field_name = "unk_2"; + auto n_unk_2 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3170, field_name)); + n_unk_2->m_field_name = field_name; + n_unk_2->m_df_type = DF_Type::ui_advmode__T_unk_3170__T_unk_2; + n_unk_2->m_rdf_type = RDF_Type::Array; + n_unk_2->m_node_type = NodeType::Array; + n_unk_2->m_addornements = "[17"; + n_unk_2->m_array_size = 17; + n_unk_2->m_address = base + offset; + n_unk_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_2); + +} +void node_from_ui_advmode__T_unk_3124(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); + auto n_unk_1 = new NodeSimple; + n_unk_1->m_field_name = field_name; + n_unk_1->m_df_type = DF_Type::int16_t; + n_unk_1->m_rdf_type = RDF_Type::int16_t; + n_unk_1->m_node_type = NodeType::Simple; + n_unk_1->m_address = base + offset; + n_unk_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_1); + + field_name = "unk_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); + auto n_unk_2 = new NodeSimple; + n_unk_2->m_field_name = field_name; + n_unk_2->m_df_type = DF_Type::int16_t; + n_unk_2->m_rdf_type = RDF_Type::int16_t; + n_unk_2->m_node_type = NodeType::Simple; + n_unk_2->m_address = base + offset; + n_unk_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_2); + + field_name = "unk_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); + auto n_unk_3 = new NodeSimple; + n_unk_3->m_field_name = field_name; + n_unk_3->m_df_type = DF_Type::int16_t; + n_unk_3->m_rdf_type = RDF_Type::int16_t; + n_unk_3->m_node_type = NodeType::Simple; + n_unk_3->m_address = base + offset; + n_unk_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_3); + + field_name = "unk_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); + auto n_unk_4 = new NodeSimple; + n_unk_4->m_field_name = field_name; + n_unk_4->m_df_type = DF_Type::int16_t; + n_unk_4->m_rdf_type = RDF_Type::int16_t; + n_unk_4->m_node_type = NodeType::Simple; + n_unk_4->m_address = base + offset; + n_unk_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_4); + + field_name = "unk_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); + auto n_unk_5 = new NodeSimple; + n_unk_5->m_field_name = field_name; + n_unk_5->m_df_type = DF_Type::int16_t; + n_unk_5->m_rdf_type = RDF_Type::int16_t; + n_unk_5->m_node_type = NodeType::Simple; + n_unk_5->m_address = base + offset; + n_unk_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_5); + + field_name = "unk_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); + auto n_unk_6 = new NodeSimple; + n_unk_6->m_field_name = field_name; + n_unk_6->m_df_type = DF_Type::int16_t; + n_unk_6->m_rdf_type = RDF_Type::int16_t; + n_unk_6->m_node_type = NodeType::Simple; + n_unk_6->m_address = base + offset; + n_unk_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_6); + + field_name = "unk_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); + auto n_unk_7 = new NodeSimple; + n_unk_7->m_field_name = field_name; + n_unk_7->m_df_type = DF_Type::int32_t; + n_unk_7->m_rdf_type = RDF_Type::int32_t; + n_unk_7->m_node_type = NodeType::Simple; + n_unk_7->m_address = base + offset; + n_unk_7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_7); + + field_name = "unk_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); + auto n_unk_8 = new NodeSimple; + n_unk_8->m_field_name = field_name; + n_unk_8->m_df_type = DF_Type::int32_t; + n_unk_8->m_rdf_type = RDF_Type::int32_t; + n_unk_8->m_node_type = NodeType::Simple; + n_unk_8->m_address = base + offset; + n_unk_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_8); + + field_name = "unk_9"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); + auto n_unk_9 = new NodeSimple; + n_unk_9->m_field_name = field_name; + n_unk_9->m_df_type = DF_Type::int32_t; + n_unk_9->m_rdf_type = RDF_Type::int32_t; + n_unk_9->m_node_type = NodeType::Simple; + n_unk_9->m_address = base + offset; + n_unk_9->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_9); + + field_name = "unk_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); + auto n_unk_10 = new NodeSimple; + n_unk_10->m_field_name = field_name; + n_unk_10->m_df_type = DF_Type::int32_t; + n_unk_10->m_rdf_type = RDF_Type::int32_t; + n_unk_10->m_node_type = NodeType::Simple; + n_unk_10->m_address = base + offset; + n_unk_10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_10); + + field_name = "unk_11"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); + auto n_unk_11 = new NodeSimple; + n_unk_11->m_field_name = field_name; + n_unk_11->m_df_type = DF_Type::int32_t; + n_unk_11->m_rdf_type = RDF_Type::int32_t; + n_unk_11->m_node_type = NodeType::Simple; + n_unk_11->m_address = base + offset; + n_unk_11->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_11); + + field_name = "unk_12"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); + auto n_unk_12 = new NodeSimple; + n_unk_12->m_field_name = field_name; + n_unk_12->m_df_type = DF_Type::int32_t; + n_unk_12->m_rdf_type = RDF_Type::int32_t; + n_unk_12->m_node_type = NodeType::Simple; + n_unk_12->m_address = base + offset; + n_unk_12->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_12); + + field_name = "unk_13"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); + auto n_unk_13 = new NodeSimple; + n_unk_13->m_field_name = field_name; + n_unk_13->m_df_type = DF_Type::int32_t; + n_unk_13->m_rdf_type = RDF_Type::int32_t; + n_unk_13->m_node_type = NodeType::Simple; + n_unk_13->m_address = base + offset; + n_unk_13->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_13); + + field_name = "unk_14"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); + auto n_unk_14 = new NodeSimple; + n_unk_14->m_field_name = field_name; + n_unk_14->m_df_type = DF_Type::int32_t; + n_unk_14->m_rdf_type = RDF_Type::int32_t; + n_unk_14->m_node_type = NodeType::Simple; + n_unk_14->m_address = base + offset; + n_unk_14->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_14); + + field_name = "unk_15"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); + auto n_unk_15 = new NodeSimple; + n_unk_15->m_field_name = field_name; + n_unk_15->m_df_type = DF_Type::int32_t; + n_unk_15->m_rdf_type = RDF_Type::int32_t; + n_unk_15->m_node_type = NodeType::Simple; + n_unk_15->m_address = base + offset; + n_unk_15->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_15); + + field_name = "unk_16"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); + auto n_unk_16 = new NodeSimple; + n_unk_16->m_field_name = field_name; + n_unk_16->m_df_type = DF_Type::int32_t; + n_unk_16->m_rdf_type = RDF_Type::int32_t; + n_unk_16->m_node_type = NodeType::Simple; + n_unk_16->m_address = base + offset; + n_unk_16->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_16); + + field_name = "unk_17"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); + auto n_unk_17 = new NodeSimple; + n_unk_17->m_field_name = field_name; + n_unk_17->m_df_type = DF_Type::int8_t; + n_unk_17->m_rdf_type = RDF_Type::int8_t; + n_unk_17->m_node_type = NodeType::Simple; + n_unk_17->m_address = base + offset; + n_unk_17->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_17); + + field_name = "unk_18"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); + auto n_unk_18 = new NodeSimple; + n_unk_18->m_field_name = field_name; + n_unk_18->m_df_type = DF_Type::int8_t; + n_unk_18->m_rdf_type = RDF_Type::int8_t; + n_unk_18->m_node_type = NodeType::Simple; + n_unk_18->m_address = base + offset; + n_unk_18->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_18); + + field_name = "unk_19"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); + auto n_unk_19 = new NodeSimple; + n_unk_19->m_field_name = field_name; + n_unk_19->m_df_type = DF_Type::int8_t; + n_unk_19->m_rdf_type = RDF_Type::int8_t; + n_unk_19->m_node_type = NodeType::Simple; + n_unk_19->m_address = base + offset; + n_unk_19->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_19); + + field_name = "unk_20"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); + auto n_unk_20 = new NodeVector; + n_unk_20->m_field_name = field_name; + n_unk_20->m_df_type = DF_Type::Void; + n_unk_20->m_rdf_type = RDF_Type::Vector; + n_unk_20->m_node_type = NodeType::Vector; + n_unk_20->m_addornements = "v"; + n_unk_20->m_address = base + offset; + n_unk_20->m_parent = p_node_parent; + n_unk_20->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_20); + + field_name = "unk_21"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); + auto n_unk_21 = new NodeSimple; + n_unk_21->m_field_name = field_name; + n_unk_21->m_df_type = DF_Type::int32_t; + n_unk_21->m_rdf_type = RDF_Type::int32_t; + n_unk_21->m_node_type = NodeType::Simple; + n_unk_21->m_address = base + offset; + n_unk_21->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_21); + + field_name = "unk_22"; + auto n_unk_22 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); + n_unk_22->m_field_name = field_name; + n_unk_22->m_df_type = DF_Type::int8_t; + n_unk_22->m_rdf_type = RDF_Type::Array; + n_unk_22->m_node_type = NodeType::Array; + n_unk_22->m_addornements = "[20736"; + n_unk_22->m_array_size = 20736; + n_unk_22->m_address = base + offset; + n_unk_22->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_22); + + field_name = "unk_23"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); + auto n_unk_23 = new NodeSimple; + n_unk_23->m_field_name = field_name; + n_unk_23->m_df_type = DF_Type::int8_t; + n_unk_23->m_rdf_type = RDF_Type::int8_t; + n_unk_23->m_node_type = NodeType::Simple; + n_unk_23->m_address = base + offset; + n_unk_23->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_23); + + field_name = "unk_24"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); + auto n_unk_24 = new NodeSimple; + n_unk_24->m_field_name = field_name; + n_unk_24->m_df_type = DF_Type::int8_t; + n_unk_24->m_rdf_type = RDF_Type::int8_t; + n_unk_24->m_node_type = NodeType::Simple; + n_unk_24->m_address = base + offset; + n_unk_24->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_24); + + field_name = "unk_25"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); + auto n_unk_25 = new NodeSimple; + n_unk_25->m_field_name = field_name; + n_unk_25->m_df_type = DF_Type::int16_t; + n_unk_25->m_rdf_type = RDF_Type::int16_t; + n_unk_25->m_node_type = NodeType::Simple; + n_unk_25->m_address = base + offset; + n_unk_25->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_25); + + field_name = "unk_26"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); + auto n_unk_26 = new NodeSimple; + n_unk_26->m_field_name = field_name; + n_unk_26->m_df_type = DF_Type::int16_t; + n_unk_26->m_rdf_type = RDF_Type::int16_t; + n_unk_26->m_node_type = NodeType::Simple; + n_unk_26->m_address = base + offset; + n_unk_26->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_26); + + field_name = "unk_27"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); + auto n_unk_27 = new NodeSimple; + n_unk_27->m_field_name = field_name; + n_unk_27->m_df_type = DF_Type::int16_t; + n_unk_27->m_rdf_type = RDF_Type::int16_t; + n_unk_27->m_node_type = NodeType::Simple; + n_unk_27->m_address = base + offset; + n_unk_27->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_27); + + field_name = "unk_28"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); + auto n_unk_28 = new NodePointer; + n_unk_28->m_field_name = field_name; + n_unk_28->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_unk_28->m_rdf_type = RDF_Type::Pointer; + n_unk_28->m_node_type = NodeType::Pointer; + n_unk_28->m_addornements = "*"; + n_unk_28->m_address = base + offset; + n_unk_28->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_28); + + field_name = "unk_29"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); + auto n_unk_29 = new NodeVector; + n_unk_29->m_field_name = field_name; + n_unk_29->m_df_type = DF_Type::Void; + n_unk_29->m_rdf_type = RDF_Type::Vector; + n_unk_29->m_node_type = NodeType::Vector; + n_unk_29->m_addornements = "v"; + n_unk_29->m_address = base + offset; + n_unk_29->m_parent = p_node_parent; + n_unk_29->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_29); + + field_name = "unk_30"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); + auto n_unk_30 = new NodePointer; + n_unk_30->m_field_name = field_name; + n_unk_30->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_unk_30->m_rdf_type = RDF_Type::Pointer; + n_unk_30->m_node_type = NodeType::Pointer; + n_unk_30->m_addornements = "*"; + n_unk_30->m_address = base + offset; + n_unk_30->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_30); + + field_name = "unk_31"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); + auto n_unk_31 = new NodeVector; + n_unk_31->m_field_name = field_name; + n_unk_31->m_df_type = DF_Type::Void; + n_unk_31->m_rdf_type = RDF_Type::Vector; + n_unk_31->m_node_type = NodeType::Vector; + n_unk_31->m_addornements = "v"; + n_unk_31->m_address = base + offset; + n_unk_31->m_parent = p_node_parent; + n_unk_31->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_31); + + field_name = "unk_32"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); + auto n_unk_32 = new NodePointer; + n_unk_32->m_field_name = field_name; + n_unk_32->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_unk_32->m_rdf_type = RDF_Type::Pointer; + n_unk_32->m_node_type = NodeType::Pointer; + n_unk_32->m_addornements = "*"; + n_unk_32->m_address = base + offset; + n_unk_32->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_32); + + field_name = "unk_33"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); + auto n_unk_33 = new NodeVector; + n_unk_33->m_field_name = field_name; + n_unk_33->m_df_type = DF_Type::Void; + n_unk_33->m_rdf_type = RDF_Type::Vector; + n_unk_33->m_node_type = NodeType::Vector; + n_unk_33->m_addornements = "v"; + n_unk_33->m_address = base + offset; + n_unk_33->m_parent = p_node_parent; + n_unk_33->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_33); + + field_name = "unk_34"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); + auto n_unk_34 = new NodePointer; + n_unk_34->m_field_name = field_name; + n_unk_34->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_unk_34->m_rdf_type = RDF_Type::Pointer; + n_unk_34->m_node_type = NodeType::Pointer; + n_unk_34->m_addornements = "*"; + n_unk_34->m_address = base + offset; + n_unk_34->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_34); + + field_name = "unk_35"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); + auto n_unk_35 = new NodeSimple; + n_unk_35->m_field_name = field_name; + n_unk_35->m_df_type = DF_Type::int8_t; + n_unk_35->m_rdf_type = RDF_Type::int8_t; + n_unk_35->m_node_type = NodeType::Simple; + n_unk_35->m_address = base + offset; + n_unk_35->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_35); + + field_name = "unk_36"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); + auto n_unk_36 = new NodeSimple; + n_unk_36->m_field_name = field_name; + n_unk_36->m_df_type = DF_Type::int8_t; + n_unk_36->m_rdf_type = RDF_Type::int8_t; + n_unk_36->m_node_type = NodeType::Simple; + n_unk_36->m_address = base + offset; + n_unk_36->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_36); + + field_name = "unk_37"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); + auto n_unk_37 = new NodeVector; + n_unk_37->m_field_name = field_name; + n_unk_37->m_df_type = DF_Type::Void; + n_unk_37->m_rdf_type = RDF_Type::Vector; + n_unk_37->m_node_type = NodeType::Vector; + n_unk_37->m_addornements = "v"; + n_unk_37->m_address = base + offset; + n_unk_37->m_parent = p_node_parent; + n_unk_37->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_37); + + field_name = "unk_38"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); + auto n_unk_38 = new NodeVector; + n_unk_38->m_field_name = field_name; + n_unk_38->m_df_type = DF_Type::Void; + n_unk_38->m_rdf_type = RDF_Type::Vector; + n_unk_38->m_node_type = NodeType::Vector; + n_unk_38->m_addornements = "v"; + n_unk_38->m_address = base + offset; + n_unk_38->m_parent = p_node_parent; + n_unk_38->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_38); + + field_name = "unk_39"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); + auto n_unk_39 = new NodeVector; + n_unk_39->m_field_name = field_name; + n_unk_39->m_df_type = DF_Type::Void; + n_unk_39->m_rdf_type = RDF_Type::Vector; + n_unk_39->m_node_type = NodeType::Vector; + n_unk_39->m_addornements = "v"; + n_unk_39->m_address = base + offset; + n_unk_39->m_parent = p_node_parent; + n_unk_39->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_39); + + field_name = "unk_40"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); + auto n_unk_40 = new NodeVector; + n_unk_40->m_field_name = field_name; + n_unk_40->m_df_type = DF_Type::Void; + n_unk_40->m_rdf_type = RDF_Type::Vector; + n_unk_40->m_node_type = NodeType::Vector; + n_unk_40->m_addornements = "v"; + n_unk_40->m_address = base + offset; + n_unk_40->m_parent = p_node_parent; + n_unk_40->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_40); + + field_name = "unk_41"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); + auto n_unk_41 = new NodeVector; + n_unk_41->m_field_name = field_name; + n_unk_41->m_df_type = DF_Type::Void; + n_unk_41->m_rdf_type = RDF_Type::Vector; + n_unk_41->m_node_type = NodeType::Vector; + n_unk_41->m_addornements = "v"; + n_unk_41->m_address = base + offset; + n_unk_41->m_parent = p_node_parent; + n_unk_41->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_41); + + field_name = "unk_42"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); + auto n_unk_42 = new NodeVector; + n_unk_42->m_field_name = field_name; + n_unk_42->m_df_type = DF_Type::Void; + n_unk_42->m_rdf_type = RDF_Type::Vector; + n_unk_42->m_node_type = NodeType::Vector; + n_unk_42->m_addornements = "v"; + n_unk_42->m_address = base + offset; + n_unk_42->m_parent = p_node_parent; + n_unk_42->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_42); + + field_name = "unk_43"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); + auto n_unk_43 = new NodeVector; + n_unk_43->m_field_name = field_name; + n_unk_43->m_df_type = DF_Type::Void; + n_unk_43->m_rdf_type = RDF_Type::Vector; + n_unk_43->m_node_type = NodeType::Vector; + n_unk_43->m_addornements = "v"; + n_unk_43->m_address = base + offset; + n_unk_43->m_parent = p_node_parent; + n_unk_43->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_43); + + field_name = "unk_44"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); + auto n_unk_44 = new NodeVector; + n_unk_44->m_field_name = field_name; + n_unk_44->m_df_type = DF_Type::Void; + n_unk_44->m_rdf_type = RDF_Type::Vector; + n_unk_44->m_node_type = NodeType::Vector; + n_unk_44->m_addornements = "v"; + n_unk_44->m_address = base + offset; + n_unk_44->m_parent = p_node_parent; + n_unk_44->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_44); + + field_name = "unk_45"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); + auto n_unk_45 = new NodePointer; + n_unk_45->m_field_name = field_name; + n_unk_45->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_unk_45->m_rdf_type = RDF_Type::Pointer; + n_unk_45->m_node_type = NodeType::Pointer; + n_unk_45->m_addornements = "*"; + n_unk_45->m_address = base + offset; + n_unk_45->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_45); + + field_name = "unk_46"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); + auto n_unk_46 = new NodeSimple; + n_unk_46->m_field_name = field_name; + n_unk_46->m_df_type = DF_Type::Stl_string; + n_unk_46->m_rdf_type = RDF_Type::Stl_string; + n_unk_46->m_node_type = NodeType::Simple; + n_unk_46->m_address = base + offset; + n_unk_46->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_46); + + field_name = "unk_47"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); + auto n_unk_47 = new NodeSimple; + n_unk_47->m_field_name = field_name; + n_unk_47->m_df_type = DF_Type::int8_t; + n_unk_47->m_rdf_type = RDF_Type::int8_t; + n_unk_47->m_node_type = NodeType::Simple; + n_unk_47->m_address = base + offset; + n_unk_47->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_47); + + field_name = "unk_48"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); + auto n_unk_48 = new NodeSimple; + n_unk_48->m_field_name = field_name; + n_unk_48->m_df_type = DF_Type::int8_t; + n_unk_48->m_rdf_type = RDF_Type::int8_t; + n_unk_48->m_node_type = NodeType::Simple; + n_unk_48->m_address = base + offset; + n_unk_48->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_48); + + field_name = "unk_49"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); + auto n_unk_49 = new NodeSimple; + n_unk_49->m_field_name = field_name; + n_unk_49->m_df_type = DF_Type::int8_t; + n_unk_49->m_rdf_type = RDF_Type::int8_t; + n_unk_49->m_node_type = NodeType::Simple; + n_unk_49->m_address = base + offset; + n_unk_49->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_49); + + field_name = "unk_50"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); + auto n_unk_50 = new NodeVector; + n_unk_50->m_field_name = field_name; + n_unk_50->m_df_type = DF_Type::Void; + n_unk_50->m_rdf_type = RDF_Type::Vector; + n_unk_50->m_node_type = NodeType::Vector; + n_unk_50->m_addornements = "v"; + n_unk_50->m_address = base + offset; + n_unk_50->m_parent = p_node_parent; + n_unk_50->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_50); + + field_name = "unk_51"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); + auto n_unk_51 = new NodeVector; + n_unk_51->m_field_name = field_name; + n_unk_51->m_df_type = DF_Type::Bool; + n_unk_51->m_rdf_type = RDF_Type::Vector; + n_unk_51->m_node_type = NodeType::Vector; + n_unk_51->m_addornements = "v"; + n_unk_51->m_address = base + offset; + n_unk_51->m_parent = p_node_parent; + n_unk_51->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_51); + + field_name = "unk_52"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); + auto n_unk_52 = new NodeVector; + n_unk_52->m_field_name = field_name; + n_unk_52->m_df_type = DF_Type::Bool; + n_unk_52->m_rdf_type = RDF_Type::Vector; + n_unk_52->m_node_type = NodeType::Vector; + n_unk_52->m_addornements = "v"; + n_unk_52->m_address = base + offset; + n_unk_52->m_parent = p_node_parent; + n_unk_52->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_52); + + field_name = "unk_53"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); + auto n_unk_53 = new NodeSimple; + n_unk_53->m_field_name = field_name; + n_unk_53->m_df_type = DF_Type::int32_t; + n_unk_53->m_rdf_type = RDF_Type::int32_t; + n_unk_53->m_node_type = NodeType::Simple; + n_unk_53->m_address = base + offset; + n_unk_53->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_53); + + field_name = "unk_54"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); + auto n_unk_54 = new NodeVector; + n_unk_54->m_field_name = field_name; + n_unk_54->m_df_type = DF_Type::Void; + n_unk_54->m_rdf_type = RDF_Type::Vector; + n_unk_54->m_node_type = NodeType::Vector; + n_unk_54->m_addornements = "v"; + n_unk_54->m_address = base + offset; + n_unk_54->m_parent = p_node_parent; + n_unk_54->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_54); + + field_name = "unk_55"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); + auto n_unk_55 = new NodeVector; + n_unk_55->m_field_name = field_name; + n_unk_55->m_df_type = DF_Type::Void; + n_unk_55->m_rdf_type = RDF_Type::Vector; + n_unk_55->m_node_type = NodeType::Vector; + n_unk_55->m_addornements = "v"; + n_unk_55->m_address = base + offset; + n_unk_55->m_parent = p_node_parent; + n_unk_55->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_55); + + field_name = "unk_56"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); + auto n_unk_56 = new NodeVector; + n_unk_56->m_field_name = field_name; + n_unk_56->m_df_type = DF_Type::Void; + n_unk_56->m_rdf_type = RDF_Type::Vector; + n_unk_56->m_node_type = NodeType::Vector; + n_unk_56->m_addornements = "v"; + n_unk_56->m_address = base + offset; + n_unk_56->m_parent = p_node_parent; + n_unk_56->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_56); + + field_name = "unk_57"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); + auto n_unk_57 = new NodeVector; + n_unk_57->m_field_name = field_name; + n_unk_57->m_df_type = DF_Type::Void; + n_unk_57->m_rdf_type = RDF_Type::Vector; + n_unk_57->m_node_type = NodeType::Vector; + n_unk_57->m_addornements = "v"; + n_unk_57->m_address = base + offset; + n_unk_57->m_parent = p_node_parent; + n_unk_57->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_57); + + field_name = "unk_58"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); + auto n_unk_58 = new NodeVector; + n_unk_58->m_field_name = field_name; + n_unk_58->m_df_type = DF_Type::Void; + n_unk_58->m_rdf_type = RDF_Type::Vector; + n_unk_58->m_node_type = NodeType::Vector; + n_unk_58->m_addornements = "v"; + n_unk_58->m_address = base + offset; + n_unk_58->m_parent = p_node_parent; + n_unk_58->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_58); + + field_name = "unk_59"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); + auto n_unk_59 = new NodeVector; + n_unk_59->m_field_name = field_name; + n_unk_59->m_df_type = DF_Type::Void; + n_unk_59->m_rdf_type = RDF_Type::Vector; + n_unk_59->m_node_type = NodeType::Vector; + n_unk_59->m_addornements = "v"; + n_unk_59->m_address = base + offset; + n_unk_59->m_parent = p_node_parent; + n_unk_59->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_59); + + field_name = "unk_60"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); + auto n_unk_60 = new NodeVector; + n_unk_60->m_field_name = field_name; + n_unk_60->m_df_type = DF_Type::Void; + n_unk_60->m_rdf_type = RDF_Type::Vector; + n_unk_60->m_node_type = NodeType::Vector; + n_unk_60->m_addornements = "v"; + n_unk_60->m_address = base + offset; + n_unk_60->m_parent = p_node_parent; + n_unk_60->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_60); + + field_name = "unk_61"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); + auto n_unk_61 = new NodeVector; + n_unk_61->m_field_name = field_name; + n_unk_61->m_df_type = DF_Type::Void; + n_unk_61->m_rdf_type = RDF_Type::Vector; + n_unk_61->m_node_type = NodeType::Vector; + n_unk_61->m_addornements = "v"; + n_unk_61->m_address = base + offset; + n_unk_61->m_parent = p_node_parent; + n_unk_61->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_61); + + field_name = "unk_62"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_3124, field_name)); + auto n_unk_62 = new NodeVector; + n_unk_62->m_field_name = field_name; + n_unk_62->m_df_type = DF_Type::Void; + n_unk_62->m_rdf_type = RDF_Type::Vector; + n_unk_62->m_node_type = NodeType::Vector; + n_unk_62->m_addornements = "v"; + n_unk_62->m_address = base + offset; + n_unk_62->m_parent = p_node_parent; + n_unk_62->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_62); + +} +void node_from_ui_advmode__T_conversation__T_choices(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "choice"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_conversation__T_choices, field_name)); + auto n_choice = new NodePointer; + n_choice->m_field_name = field_name; + n_choice->m_df_type = get_real_subtype(base+offset, DF_Type::talk_choice); + n_choice->m_rdf_type = RDF_Type::Pointer; + n_choice->m_node_type = NodeType::Pointer; + n_choice->m_addornements = "*"; + n_choice->m_address = base + offset; + n_choice->m_parent = p_node_parent; + n_choice->m_defined_in = "df.advmode.xml"; + n_choice->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_choice); + + field_name = "keywords"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_conversation__T_choices, field_name)); + auto n_keywords = new NodeVector; + n_keywords->m_field_name = field_name; + n_keywords->m_df_type = DF_Type::Stl_string; + n_keywords->m_rdf_type = RDF_Type::Vector; + n_keywords->m_node_type = NodeType::Vector; + n_keywords->m_addornements = "v*"; + n_keywords->m_address = base + offset; + n_keywords->m_parent = p_node_parent; + n_keywords->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_keywords); + + field_name = "title"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_conversation__T_choices, field_name)); + auto n_title = new NodeVector; + n_title->m_field_name = field_name; + n_title->m_df_type = DF_Type::Stl_string; + n_title->m_rdf_type = RDF_Type::Vector; + n_title->m_node_type = NodeType::Vector; + n_title->m_addornements = "v*"; + n_title->m_address = base + offset; + n_title->m_parent = p_node_parent; + n_title->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_title); + + field_name = "orig_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_conversation__T_choices, field_name)); + auto n_orig_index = new NodeSimple; + n_orig_index->m_field_name = field_name; + n_orig_index->m_df_type = DF_Type::int32_t; + n_orig_index->m_rdf_type = RDF_Type::int32_t; + n_orig_index->m_node_type = NodeType::Simple; + n_orig_index->m_address = base + offset; + n_orig_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_orig_index); + + field_name = "ranking"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_conversation__T_choices, field_name)); + auto n_ranking = new NodeSimple; + n_ranking->m_field_name = field_name; + n_ranking->m_df_type = DF_Type::int32_t; + n_ranking->m_rdf_type = RDF_Type::int32_t; + n_ranking->m_node_type = NodeType::Simple; + n_ranking->m_address = base + offset; + n_ranking->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ranking); + +} +void node_from_ui_advmode__T_conversation__T_targets(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unit_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_conversation__T_targets, field_name)); + auto n_unit_id = new NodeSimple; + n_unit_id->m_field_name = field_name; + n_unit_id->m_df_type = DF_Type::int32_t; + n_unit_id->m_rdf_type = RDF_Type::int32_t; + n_unit_id->m_node_type = NodeType::Simple; + n_unit_id->m_address = base + offset; + n_unit_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unit_id); + + field_name = "histfig_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_conversation__T_targets, field_name)); + auto n_histfig_id = new NodeSimple; + n_histfig_id->m_field_name = field_name; + n_histfig_id->m_df_type = DF_Type::int32_t; + n_histfig_id->m_rdf_type = RDF_Type::int32_t; + n_histfig_id->m_node_type = NodeType::Simple; + n_histfig_id->m_address = base + offset; + n_histfig_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig_id); + + field_name = "type"; + auto n_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_conversation__T_targets, field_name)); + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::ui_advmode__T_conversation__T_targets__T_type; + n_type->m_rdf_type = RDF_Type::Enum; + n_type->m_node_type = NodeType::Enum; + n_type->m_base_type = DF_Type::int32_t; + n_type->m_enum_type = "ui_advmode::T_conversation::T_targets::T_type"; + n_type->m_address = base + offset; + n_type->m_first_value = 0; + n_type->m_last_value = 4; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + +} +void node_from_ui_advmode__T_conversation(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "activity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_conversation, field_name)); + auto n_activity = new NodeVector; + n_activity->m_field_name = field_name; + n_activity->m_df_type = DF_Type::activity_entry; + n_activity->m_rdf_type = RDF_Type::Vector; + n_activity->m_node_type = NodeType::Vector; + n_activity->m_defined_in = "df.meeting.xml"; + n_activity->m_addornements = "v*"; + n_activity->m_address = base + offset; + n_activity->m_parent = p_node_parent; + n_activity->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_activity); + + field_name = "activity_event"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_conversation, field_name)); + auto n_activity_event = new NodeVector; + n_activity_event->m_field_name = field_name; + n_activity_event->m_df_type = DF_Type::activity_event; + n_activity_event->m_rdf_type = RDF_Type::Vector; + n_activity_event->m_node_type = NodeType::Vector; + n_activity_event->m_defined_in = "df.meeting.xml"; + n_activity_event->m_addornements = "v*"; + n_activity_event->m_address = base + offset; + n_activity_event->m_parent = p_node_parent; + n_activity_event->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_activity_event); + + field_name = "cursor_activity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_conversation, field_name)); + auto n_cursor_activity = new NodeSimple; + n_cursor_activity->m_field_name = field_name; + n_cursor_activity->m_df_type = DF_Type::int32_t; + n_cursor_activity->m_rdf_type = RDF_Type::int32_t; + n_cursor_activity->m_node_type = NodeType::Simple; + n_cursor_activity->m_address = base + offset; + n_cursor_activity->m_refers_to = "$$._parent.activity[$]"; + n_cursor_activity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cursor_activity); + + field_name = "cursor_choice"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_conversation, field_name)); + auto n_cursor_choice = new NodeSimple; + n_cursor_choice->m_field_name = field_name; + n_cursor_choice->m_df_type = DF_Type::int32_t; + n_cursor_choice->m_rdf_type = RDF_Type::int32_t; + n_cursor_choice->m_node_type = NodeType::Simple; + n_cursor_choice->m_address = base + offset; + n_cursor_choice->m_refers_to = "$$._parent.choices[$]"; + n_cursor_choice->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cursor_choice); + + field_name = "current_page"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_conversation, field_name)); + auto n_current_page = new NodeSimple; + n_current_page->m_field_name = field_name; + n_current_page->m_df_type = DF_Type::int32_t; + n_current_page->m_rdf_type = RDF_Type::int32_t; + n_current_page->m_node_type = NodeType::Simple; + n_current_page->m_address = base + offset; + n_current_page->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_current_page); + + field_name = "page_top_choices"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_conversation, field_name)); + auto n_page_top_choices = new NodeVector; + n_page_top_choices->m_field_name = field_name; + n_page_top_choices->m_df_type = DF_Type::int32_t; + n_page_top_choices->m_rdf_type = RDF_Type::Vector; + n_page_top_choices->m_node_type = NodeType::Vector; + n_page_top_choices->m_addornements = "v"; + n_page_top_choices->m_address = base + offset; + n_page_top_choices->m_parent = p_node_parent; + n_page_top_choices->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_page_top_choices); + + field_name = "page_bottom_choices"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_conversation, field_name)); + auto n_page_bottom_choices = new NodeVector; + n_page_bottom_choices->m_field_name = field_name; + n_page_bottom_choices->m_df_type = DF_Type::int32_t; + n_page_bottom_choices->m_rdf_type = RDF_Type::Vector; + n_page_bottom_choices->m_node_type = NodeType::Vector; + n_page_bottom_choices->m_addornements = "v"; + n_page_bottom_choices->m_address = base + offset; + n_page_bottom_choices->m_parent = p_node_parent; + n_page_bottom_choices->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_page_bottom_choices); + + field_name = "choices"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_conversation, field_name)); + auto n_choices = new NodeVector; + n_choices->m_field_name = field_name; + n_choices->m_df_type = DF_Type::ui_advmode__T_conversation__T_choices; + n_choices->m_rdf_type = RDF_Type::Vector; + n_choices->m_node_type = NodeType::Vector; + n_choices->m_addornements = "v*"; + n_choices->m_address = base + offset; + n_choices->m_parent = p_node_parent; + n_choices->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_choices); + + field_name = "filter"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_conversation, field_name)); + auto n_filter = new NodeSimple; + n_filter->m_field_name = field_name; + n_filter->m_df_type = DF_Type::Stl_string; + n_filter->m_rdf_type = RDF_Type::Stl_string; + n_filter->m_node_type = NodeType::Simple; + n_filter->m_address = base + offset; + n_filter->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_filter); + + field_name = "targets"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_conversation, field_name)); + auto n_targets = new NodeVector; + n_targets->m_field_name = field_name; + n_targets->m_df_type = DF_Type::ui_advmode__T_conversation__T_targets; + n_targets->m_rdf_type = RDF_Type::Vector; + n_targets->m_node_type = NodeType::Vector; + n_targets->m_addornements = "v*"; + n_targets->m_address = base + offset; + n_targets->m_parent = p_node_parent; + n_targets->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_targets); + + field_name = "cursor_target"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_conversation, field_name)); + auto n_cursor_target = new NodeSimple; + n_cursor_target->m_field_name = field_name; + n_cursor_target->m_df_type = DF_Type::int32_t; + n_cursor_target->m_rdf_type = RDF_Type::int32_t; + n_cursor_target->m_node_type = NodeType::Simple; + n_cursor_target->m_address = base + offset; + n_cursor_target->m_refers_to = "$$._parent.targets[$]"; + n_cursor_target->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cursor_target); + +} +void node_from_ui_advmode__T_companions(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unit"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_companions, field_name)); + auto n_unit = new NodeVector; + n_unit->m_field_name = field_name; + n_unit->m_df_type = DF_Type::unit; + n_unit->m_rdf_type = RDF_Type::Vector; + n_unit->m_node_type = NodeType::Vector; + n_unit->m_defined_in = "df.units.xml"; + n_unit->m_addornements = "v*"; + n_unit->m_address = base + offset; + n_unit->m_parent = p_node_parent; + n_unit->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unit); + + field_name = "unit_visible"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_companions, field_name)); + auto n_unit_visible = new NodeVector; + n_unit_visible->m_field_name = field_name; + n_unit_visible->m_df_type = DF_Type::Bool; + n_unit_visible->m_rdf_type = RDF_Type::Vector; + n_unit_visible->m_node_type = NodeType::Vector; + n_unit_visible->m_addornements = "v"; + n_unit_visible->m_address = base + offset; + n_unit_visible->m_parent = p_node_parent; + n_unit_visible->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unit_visible); + + field_name = "unit_position"; + auto n_unit_position = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_companions, field_name)); + n_unit_position->m_field_name = field_name; + n_unit_position->m_df_type = DF_Type::coord_path; + n_unit_position->m_rdf_type = RDF_Type::Struct; + n_unit_position->m_node_type = NodeType::Compound; + n_unit_position->m_address = base + offset; + n_unit_position->m_defined_in = "df.map.xml"; + n_unit_position->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unit_position); + + field_name = "all_histfigs"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_companions, field_name)); + auto n_all_histfigs = new NodeVector; + n_all_histfigs->m_field_name = field_name; + n_all_histfigs->m_df_type = DF_Type::int32_t; + n_all_histfigs->m_rdf_type = RDF_Type::Vector; + n_all_histfigs->m_node_type = NodeType::Vector; + n_all_histfigs->m_addornements = "v"; + n_all_histfigs->m_address = base + offset; + n_all_histfigs->m_comment = "includes dead"; + n_all_histfigs->m_parent = p_node_parent; + n_all_histfigs->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_all_histfigs); + +} +void node_from_ui_advmode__T_interactions(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk_85"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_interactions, field_name)); + auto n_unk_85 = new NodeVector; + n_unk_85->m_field_name = field_name; + n_unk_85->m_df_type = DF_Type::Void; + n_unk_85->m_rdf_type = RDF_Type::Vector; + n_unk_85->m_node_type = NodeType::Vector; + n_unk_85->m_addornements = "v"; + n_unk_85->m_address = base + offset; + n_unk_85->m_parent = p_node_parent; + n_unk_85->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_85); + + field_name = "unk_86"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_interactions, field_name)); + auto n_unk_86 = new NodeVector; + n_unk_86->m_field_name = field_name; + n_unk_86->m_df_type = DF_Type::Void; + n_unk_86->m_rdf_type = RDF_Type::Vector; + n_unk_86->m_node_type = NodeType::Vector; + n_unk_86->m_addornements = "v"; + n_unk_86->m_address = base + offset; + n_unk_86->m_parent = p_node_parent; + n_unk_86->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_86); + + field_name = "unk_1e4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_interactions, field_name)); + auto n_unk_1e4 = new NodePointer; + n_unk_1e4->m_field_name = field_name; + n_unk_1e4->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_unk_1e4->m_rdf_type = RDF_Type::Pointer; + n_unk_1e4->m_node_type = NodeType::Pointer; + n_unk_1e4->m_addornements = "*"; + n_unk_1e4->m_address = base + offset; + n_unk_1e4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_1e4); + + field_name = "selected_ability"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_interactions, field_name)); + auto n_selected_ability = new NodeSimple; + n_selected_ability->m_field_name = field_name; + n_selected_ability->m_df_type = DF_Type::int32_t; + n_selected_ability->m_rdf_type = RDF_Type::int32_t; + n_selected_ability->m_node_type = NodeType::Simple; + n_selected_ability->m_address = base + offset; + n_selected_ability->m_comment = "natural ability"; + n_selected_ability->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_selected_ability); + + field_name = "selected_power"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_interactions, field_name)); + auto n_selected_power = new NodeSimple; + n_selected_power->m_field_name = field_name; + n_selected_power->m_df_type = DF_Type::int32_t; + n_selected_power->m_rdf_type = RDF_Type::int32_t; + n_selected_power->m_node_type = NodeType::Simple; + n_selected_power->m_address = base + offset; + n_selected_power->m_comment = "acquired power"; + n_selected_power->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_selected_power); + + field_name = "unk_1f0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_interactions, field_name)); + auto n_unk_1f0 = new NodePointer; + n_unk_1f0->m_field_name = field_name; + n_unk_1f0->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_unk_1f0->m_rdf_type = RDF_Type::Pointer; + n_unk_1f0->m_node_type = NodeType::Pointer; + n_unk_1f0->m_addornements = "*"; + n_unk_1f0->m_address = base + offset; + n_unk_1f0->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_1f0); + + field_name = "max_target_number"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_interactions, field_name)); + auto n_max_target_number = new NodeSimple; + n_max_target_number->m_field_name = field_name; + n_max_target_number->m_df_type = DF_Type::int32_t; + n_max_target_number->m_rdf_type = RDF_Type::int32_t; + n_max_target_number->m_node_type = NodeType::Simple; + n_max_target_number->m_address = base + offset; + n_max_target_number->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_max_target_number); + + field_name = "target_range"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_interactions, field_name)); + auto n_target_range = new NodeSimple; + n_target_range->m_field_name = field_name; + n_target_range->m_df_type = DF_Type::int32_t; + n_target_range->m_rdf_type = RDF_Type::int32_t; + n_target_range->m_node_type = NodeType::Simple; + n_target_range->m_address = base + offset; + n_target_range->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_target_range); + + field_name = "target_flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_interactions, field_name)); + auto n_target_flags = new NodeBitfield; + n_target_flags->m_field_name = field_name; + n_target_flags->m_df_type = DF_Type::creature_interaction_target_flags; + n_target_flags->m_rdf_type = RDF_Type::Bitfield; + n_target_flags->m_node_type = NodeType::Bitfield; + n_target_flags->m_address = base + offset; + n_target_flags->m_defined_in = "df.creature-raws.xml"; + n_target_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_target_flags); + + field_name = "unk_200"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_interactions, field_name)); + auto n_unk_200 = new NodePointer; + n_unk_200->m_field_name = field_name; + n_unk_200->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_unk_200->m_rdf_type = RDF_Type::Pointer; + n_unk_200->m_node_type = NodeType::Pointer; + n_unk_200->m_addornements = "*"; + n_unk_200->m_address = base + offset; + n_unk_200->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_200); + +} +void node_from_ui_advmode__T_unk_v40_2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk_s1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_2, field_name)); + auto n_unk_s1 = new NodeVector; + n_unk_s1->m_field_name = field_name; + n_unk_s1->m_df_type = DF_Type::Void; + n_unk_s1->m_rdf_type = RDF_Type::Vector; + n_unk_s1->m_node_type = NodeType::Vector; + n_unk_s1->m_addornements = "v"; + n_unk_s1->m_address = base + offset; + n_unk_s1->m_parent = p_node_parent; + n_unk_s1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_s1); + + field_name = "unk_s2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_2, field_name)); + auto n_unk_s2 = new NodeVector; + n_unk_s2->m_field_name = field_name; + n_unk_s2->m_df_type = DF_Type::Void; + n_unk_s2->m_rdf_type = RDF_Type::Vector; + n_unk_s2->m_node_type = NodeType::Vector; + n_unk_s2->m_addornements = "v"; + n_unk_s2->m_address = base + offset; + n_unk_s2->m_parent = p_node_parent; + n_unk_s2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_s2); + + field_name = "unk_s3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_2, field_name)); + auto n_unk_s3 = new NodeVector; + n_unk_s3->m_field_name = field_name; + n_unk_s3->m_df_type = DF_Type::Void; + n_unk_s3->m_rdf_type = RDF_Type::Vector; + n_unk_s3->m_node_type = NodeType::Vector; + n_unk_s3->m_addornements = "v"; + n_unk_s3->m_address = base + offset; + n_unk_s3->m_parent = p_node_parent; + n_unk_s3->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_s3); + + field_name = "unk_s4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_2, field_name)); + auto n_unk_s4 = new NodeVector; + n_unk_s4->m_field_name = field_name; + n_unk_s4->m_df_type = DF_Type::Void; + n_unk_s4->m_rdf_type = RDF_Type::Vector; + n_unk_s4->m_node_type = NodeType::Vector; + n_unk_s4->m_addornements = "v"; + n_unk_s4->m_address = base + offset; + n_unk_s4->m_parent = p_node_parent; + n_unk_s4->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_s4); + + field_name = "unk_s5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_2, field_name)); + auto n_unk_s5 = new NodeSimple; + n_unk_s5->m_field_name = field_name; + n_unk_s5->m_df_type = DF_Type::int8_t; + n_unk_s5->m_rdf_type = RDF_Type::int8_t; + n_unk_s5->m_node_type = NodeType::Simple; + n_unk_s5->m_address = base + offset; + n_unk_s5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_s5); + + field_name = "unk_s6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_2, field_name)); + auto n_unk_s6 = new NodeVector; + n_unk_s6->m_field_name = field_name; + n_unk_s6->m_df_type = DF_Type::Void; + n_unk_s6->m_rdf_type = RDF_Type::Vector; + n_unk_s6->m_node_type = NodeType::Vector; + n_unk_s6->m_addornements = "v"; + n_unk_s6->m_address = base + offset; + n_unk_s6->m_parent = p_node_parent; + n_unk_s6->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_s6); + + field_name = "unk_s7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_2, field_name)); + auto n_unk_s7 = new NodeVector; + n_unk_s7->m_field_name = field_name; + n_unk_s7->m_df_type = DF_Type::Void; + n_unk_s7->m_rdf_type = RDF_Type::Vector; + n_unk_s7->m_node_type = NodeType::Vector; + n_unk_s7->m_addornements = "v"; + n_unk_s7->m_address = base + offset; + n_unk_s7->m_parent = p_node_parent; + n_unk_s7->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_s7); + +} +void node_from_ui_advmode__T_unk_v40_3(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk_s1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_3, field_name)); + auto n_unk_s1 = new NodeSimple; + n_unk_s1->m_field_name = field_name; + n_unk_s1->m_df_type = DF_Type::int32_t; + n_unk_s1->m_rdf_type = RDF_Type::int32_t; + n_unk_s1->m_node_type = NodeType::Simple; + n_unk_s1->m_address = base + offset; + n_unk_s1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_s1); + + field_name = "unk_s2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_3, field_name)); + auto n_unk_s2 = new NodeVector; + n_unk_s2->m_field_name = field_name; + n_unk_s2->m_df_type = DF_Type::Void; + n_unk_s2->m_rdf_type = RDF_Type::Vector; + n_unk_s2->m_node_type = NodeType::Vector; + n_unk_s2->m_addornements = "v"; + n_unk_s2->m_address = base + offset; + n_unk_s2->m_parent = p_node_parent; + n_unk_s2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_s2); + +} +void node_from_ui_advmode__T_unk_v40_4__T_unk_v40_4a(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk_s1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_4__T_unk_v40_4a, field_name)); + auto n_unk_s1 = new NodeSimple; + n_unk_s1->m_field_name = field_name; + n_unk_s1->m_df_type = DF_Type::int32_t; + n_unk_s1->m_rdf_type = RDF_Type::int32_t; + n_unk_s1->m_node_type = NodeType::Simple; + n_unk_s1->m_address = base + offset; + n_unk_s1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_s1); + + field_name = "unk_s2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_4__T_unk_v40_4a, field_name)); + auto n_unk_s2 = new NodeSimple; + n_unk_s2->m_field_name = field_name; + n_unk_s2->m_df_type = DF_Type::int16_t; + n_unk_s2->m_rdf_type = RDF_Type::int16_t; + n_unk_s2->m_node_type = NodeType::Simple; + n_unk_s2->m_address = base + offset; + n_unk_s2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_s2); + + field_name = "unk_s3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_4__T_unk_v40_4a, field_name)); + auto n_unk_s3 = new NodeSimple; + n_unk_s3->m_field_name = field_name; + n_unk_s3->m_df_type = DF_Type::int16_t; + n_unk_s3->m_rdf_type = RDF_Type::int16_t; + n_unk_s3->m_node_type = NodeType::Simple; + n_unk_s3->m_address = base + offset; + n_unk_s3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_s3); + + field_name = "unk_s4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_4__T_unk_v40_4a, field_name)); + auto n_unk_s4 = new NodeSimple; + n_unk_s4->m_field_name = field_name; + n_unk_s4->m_df_type = DF_Type::int16_t; + n_unk_s4->m_rdf_type = RDF_Type::int16_t; + n_unk_s4->m_node_type = NodeType::Simple; + n_unk_s4->m_address = base + offset; + n_unk_s4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_s4); + + field_name = "unk_s5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_4__T_unk_v40_4a, field_name)); + auto n_unk_s5 = new NodeSimple; + n_unk_s5->m_field_name = field_name; + n_unk_s5->m_df_type = DF_Type::int16_t; + n_unk_s5->m_rdf_type = RDF_Type::int16_t; + n_unk_s5->m_node_type = NodeType::Simple; + n_unk_s5->m_address = base + offset; + n_unk_s5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_s5); + + field_name = "unk_s6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_4__T_unk_v40_4a, field_name)); + auto n_unk_s6 = new NodeSimple; + n_unk_s6->m_field_name = field_name; + n_unk_s6->m_df_type = DF_Type::int16_t; + n_unk_s6->m_rdf_type = RDF_Type::int16_t; + n_unk_s6->m_node_type = NodeType::Simple; + n_unk_s6->m_address = base + offset; + n_unk_s6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_s6); + + field_name = "unk_s7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_4__T_unk_v40_4a, field_name)); + auto n_unk_s7 = new NodeSimple; + n_unk_s7->m_field_name = field_name; + n_unk_s7->m_df_type = DF_Type::int16_t; + n_unk_s7->m_rdf_type = RDF_Type::int16_t; + n_unk_s7->m_node_type = NodeType::Simple; + n_unk_s7->m_address = base + offset; + n_unk_s7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_s7); + + field_name = "unk_s8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_4__T_unk_v40_4a, field_name)); + auto n_unk_s8 = new NodeSimple; + n_unk_s8->m_field_name = field_name; + n_unk_s8->m_df_type = DF_Type::int16_t; + n_unk_s8->m_rdf_type = RDF_Type::int16_t; + n_unk_s8->m_node_type = NodeType::Simple; + n_unk_s8->m_address = base + offset; + n_unk_s8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_s8); + + field_name = "unk_s9"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_4__T_unk_v40_4a, field_name)); + auto n_unk_s9 = new NodeSimple; + n_unk_s9->m_field_name = field_name; + n_unk_s9->m_df_type = DF_Type::int32_t; + n_unk_s9->m_rdf_type = RDF_Type::int32_t; + n_unk_s9->m_node_type = NodeType::Simple; + n_unk_s9->m_address = base + offset; + n_unk_s9->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_s9); + + field_name = "unk_s10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_4__T_unk_v40_4a, field_name)); + auto n_unk_s10 = new NodeSimple; + n_unk_s10->m_field_name = field_name; + n_unk_s10->m_df_type = DF_Type::int32_t; + n_unk_s10->m_rdf_type = RDF_Type::int32_t; + n_unk_s10->m_node_type = NodeType::Simple; + n_unk_s10->m_address = base + offset; + n_unk_s10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_s10); + +} +void node_from_ui_advmode__T_unk_v40_4(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk_v40_4a"; + auto n_unk_v40_4a = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_4, field_name)); + n_unk_v40_4a->m_field_name = field_name; + n_unk_v40_4a->m_df_type = DF_Type::ui_advmode__T_unk_v40_4__T_unk_v40_4a; + n_unk_v40_4a->m_rdf_type = RDF_Type::Array; + n_unk_v40_4a->m_node_type = NodeType::Array; + n_unk_v40_4a->m_addornements = "[100"; + n_unk_v40_4a->m_array_size = 100; + n_unk_v40_4a->m_address = base + offset; + n_unk_v40_4a->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_4a); + + field_name = "unk_v40_4b"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_4, field_name)); + auto n_unk_v40_4b = new NodeSimple; + n_unk_v40_4b->m_field_name = field_name; + n_unk_v40_4b->m_df_type = DF_Type::int32_t; + n_unk_v40_4b->m_rdf_type = RDF_Type::int32_t; + n_unk_v40_4b->m_node_type = NodeType::Simple; + n_unk_v40_4b->m_address = base + offset; + n_unk_v40_4b->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_4b); + +} +void node_from_ui_advmode__T_unk_v40_5(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk_s1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_5, field_name)); + auto n_unk_s1 = new NodeVector; + n_unk_s1->m_field_name = field_name; + n_unk_s1->m_df_type = DF_Type::Void; + n_unk_s1->m_rdf_type = RDF_Type::Vector; + n_unk_s1->m_node_type = NodeType::Vector; + n_unk_s1->m_addornements = "v"; + n_unk_s1->m_address = base + offset; + n_unk_s1->m_parent = p_node_parent; + n_unk_s1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_s1); + + field_name = "unk_s2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_5, field_name)); + auto n_unk_s2 = new NodeVector; + n_unk_s2->m_field_name = field_name; + n_unk_s2->m_df_type = DF_Type::Void; + n_unk_s2->m_rdf_type = RDF_Type::Vector; + n_unk_s2->m_node_type = NodeType::Vector; + n_unk_s2->m_addornements = "v"; + n_unk_s2->m_address = base + offset; + n_unk_s2->m_parent = p_node_parent; + n_unk_s2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_s2); + + field_name = "unk_s3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_5, field_name)); + auto n_unk_s3 = new NodeVector; + n_unk_s3->m_field_name = field_name; + n_unk_s3->m_df_type = DF_Type::Void; + n_unk_s3->m_rdf_type = RDF_Type::Vector; + n_unk_s3->m_node_type = NodeType::Vector; + n_unk_s3->m_addornements = "v"; + n_unk_s3->m_address = base + offset; + n_unk_s3->m_parent = p_node_parent; + n_unk_s3->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_s3); + + field_name = "unk_s4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_5, field_name)); + auto n_unk_s4 = new NodeSimple; + n_unk_s4->m_field_name = field_name; + n_unk_s4->m_df_type = DF_Type::int32_t; + n_unk_s4->m_rdf_type = RDF_Type::int32_t; + n_unk_s4->m_node_type = NodeType::Simple; + n_unk_s4->m_address = base + offset; + n_unk_s4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_s4); + + field_name = "unk_s5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_5, field_name)); + auto n_unk_s5 = new NodeVector; + n_unk_s5->m_field_name = field_name; + n_unk_s5->m_df_type = DF_Type::Void; + n_unk_s5->m_rdf_type = RDF_Type::Vector; + n_unk_s5->m_node_type = NodeType::Vector; + n_unk_s5->m_addornements = "v"; + n_unk_s5->m_address = base + offset; + n_unk_s5->m_parent = p_node_parent; + n_unk_s5->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_s5); + + field_name = "unk_s6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v40_5, field_name)); + auto n_unk_s6 = new NodeVector; + n_unk_s6->m_field_name = field_name; + n_unk_s6->m_df_type = DF_Type::Void; + n_unk_s6->m_rdf_type = RDF_Type::Vector; + n_unk_s6->m_node_type = NodeType::Vector; + n_unk_s6->m_addornements = "v"; + n_unk_s6->m_address = base + offset; + n_unk_s6->m_parent = p_node_parent; + n_unk_s6->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_s6); + +} +void node_from_ui_advmode__T_unk_v42_1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk_s1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v42_1, field_name)); + auto n_unk_s1 = new NodeSimple; + n_unk_s1->m_field_name = field_name; + n_unk_s1->m_df_type = DF_Type::int32_t; + n_unk_s1->m_rdf_type = RDF_Type::int32_t; + n_unk_s1->m_node_type = NodeType::Simple; + n_unk_s1->m_address = base + offset; + n_unk_s1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_s1); + + field_name = "unk_s2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v42_1, field_name)); + auto n_unk_s2 = new NodeVector; + n_unk_s2->m_field_name = field_name; + n_unk_s2->m_df_type = DF_Type::Void; + n_unk_s2->m_rdf_type = RDF_Type::Vector; + n_unk_s2->m_node_type = NodeType::Vector; + n_unk_s2->m_addornements = "v"; + n_unk_s2->m_address = base + offset; + n_unk_s2->m_parent = p_node_parent; + n_unk_s2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_s2); + + field_name = "unk_s3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v42_1, field_name)); + auto n_unk_s3 = new NodeVector; + n_unk_s3->m_field_name = field_name; + n_unk_s3->m_df_type = DF_Type::Void; + n_unk_s3->m_rdf_type = RDF_Type::Vector; + n_unk_s3->m_node_type = NodeType::Vector; + n_unk_s3->m_addornements = "v"; + n_unk_s3->m_address = base + offset; + n_unk_s3->m_parent = p_node_parent; + n_unk_s3->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_s3); + + field_name = "unk_s4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v42_1, field_name)); + auto n_unk_s4 = new NodeSimple; + n_unk_s4->m_field_name = field_name; + n_unk_s4->m_df_type = DF_Type::Stl_string; + n_unk_s4->m_rdf_type = RDF_Type::Stl_string; + n_unk_s4->m_node_type = NodeType::Simple; + n_unk_s4->m_address = base + offset; + n_unk_s4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_s4); + + field_name = "unk_s5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v42_1, field_name)); + auto n_unk_s5 = new NodeSimple; + n_unk_s5->m_field_name = field_name; + n_unk_s5->m_df_type = DF_Type::int8_t; + n_unk_s5->m_rdf_type = RDF_Type::int8_t; + n_unk_s5->m_node_type = NodeType::Simple; + n_unk_s5->m_address = base + offset; + n_unk_s5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_s5); + + field_name = "unk_s6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v42_1, field_name)); + auto n_unk_s6 = new NodeSimple; + n_unk_s6->m_field_name = field_name; + n_unk_s6->m_df_type = DF_Type::int32_t; + n_unk_s6->m_rdf_type = RDF_Type::int32_t; + n_unk_s6->m_node_type = NodeType::Simple; + n_unk_s6->m_address = base + offset; + n_unk_s6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_s6); + + field_name = "unk_s7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v42_1, field_name)); + auto n_unk_s7 = new NodeSimple; + n_unk_s7->m_field_name = field_name; + n_unk_s7->m_df_type = DF_Type::int32_t; + n_unk_s7->m_rdf_type = RDF_Type::int32_t; + n_unk_s7->m_node_type = NodeType::Simple; + n_unk_s7->m_address = base + offset; + n_unk_s7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_s7); + + field_name = "unk_s8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v42_1, field_name)); + auto n_unk_s8 = new NodeSimple; + n_unk_s8->m_field_name = field_name; + n_unk_s8->m_df_type = DF_Type::int32_t; + n_unk_s8->m_rdf_type = RDF_Type::int32_t; + n_unk_s8->m_node_type = NodeType::Simple; + n_unk_s8->m_address = base + offset; + n_unk_s8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_s8); + + field_name = "unk_s9"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_unk_v42_1, field_name)); + auto n_unk_s9 = new NodeVector; + n_unk_s9->m_field_name = field_name; + n_unk_s9->m_df_type = DF_Type::Void; + n_unk_s9->m_rdf_type = RDF_Type::Vector; + n_unk_s9->m_node_type = NodeType::Vector; + n_unk_s9->m_addornements = "v"; + n_unk_s9->m_address = base + offset; + n_unk_s9->m_parent = p_node_parent; + n_unk_s9->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_s9); + +} +void node_from_ui_advmode__T_assume_identity(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mode"; + auto n_mode = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_assume_identity, field_name)); + n_mode->m_field_name = field_name; + n_mode->m_df_type = DF_Type::assume_identity_mode; + n_mode->m_rdf_type = RDF_Type::Enum; + n_mode->m_node_type = NodeType::Enum; + n_mode->m_base_type = DF_Type::int32_t; + n_mode->m_enum_type = "assume_identity_mode"; + n_mode->m_address = base + offset; + n_mode->m_defined_in = "df.advmode.xml"; + n_mode->m_first_value = 0; + n_mode->m_last_value = 4; + n_mode->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mode); + + field_name = "name"; + auto n_name = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_assume_identity, field_name)); + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::language_name; + n_name->m_rdf_type = RDF_Type::Struct; + n_name->m_node_type = NodeType::Compound; + n_name->m_address = base + offset; + n_name->m_defined_in = "df.language.xml"; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "worship_object"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_assume_identity, field_name)); + auto n_worship_object = new NodeSimple; + n_worship_object->m_field_name = field_name; + n_worship_object->m_df_type = DF_Type::int32_t; + n_worship_object->m_rdf_type = RDF_Type::int32_t; + n_worship_object->m_node_type = NodeType::Simple; + n_worship_object->m_address = base + offset; + n_worship_object->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_worship_object); + + field_name = "profession"; + auto n_profession = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_assume_identity, field_name)); + n_profession->m_field_name = field_name; + n_profession->m_df_type = DF_Type::profession; + n_profession->m_rdf_type = RDF_Type::Enum; + n_profession->m_node_type = NodeType::Enum; + n_profession->m_base_type = DF_Type::int32_t; + n_profession->m_enum_type = "profession"; + n_profession->m_address = base + offset; + n_profession->m_defined_in = "df.skills.xml"; + n_profession->m_first_value = -1; + n_profession->m_last_value = 134; + n_profession->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_profession); + + field_name = "origin"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_assume_identity, field_name)); + auto n_origin = new NodeSimple; + n_origin->m_field_name = field_name; + n_origin->m_df_type = DF_Type::int32_t; + n_origin->m_rdf_type = RDF_Type::int32_t; + n_origin->m_node_type = NodeType::Simple; + n_origin->m_address = base + offset; + n_origin->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_origin); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_assume_identity, field_name)); + auto n_anon_1 = new NodeVector; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::Void; + n_anon_1->m_rdf_type = RDF_Type::Vector; + n_anon_1->m_node_type = NodeType::Vector; + n_anon_1->m_addornements = "v"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_assume_identity, field_name)); + auto n_anon_2 = new NodeVector; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::Void; + n_anon_2->m_rdf_type = RDF_Type::Vector; + n_anon_2->m_node_type = NodeType::Vector; + n_anon_2->m_addornements = "v"; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + n_anon_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "filter"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_assume_identity, field_name)); + auto n_filter = new NodeSimple; + n_filter->m_field_name = field_name; + n_filter->m_df_type = DF_Type::Stl_string; + n_filter->m_rdf_type = RDF_Type::Stl_string; + n_filter->m_node_type = NodeType::Simple; + n_filter->m_address = base + offset; + n_filter->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_filter); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_assume_identity, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int8_t; + n_anon_3->m_rdf_type = RDF_Type::int8_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode__T_assume_identity, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + +} +void node_from_ui_advmode(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "menu"; + auto n_menu = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + n_menu->m_field_name = field_name; + n_menu->m_df_type = DF_Type::ui_advmode_menu; + n_menu->m_rdf_type = RDF_Type::Enum; + n_menu->m_node_type = NodeType::Enum; + n_menu->m_base_type = DF_Type::int16_t; + n_menu->m_enum_type = "ui_advmode_menu"; + n_menu->m_address = base + offset; + n_menu->m_defined_in = "df.advmode.xml"; + n_menu->m_first_value = 0; + n_menu->m_last_value = 48; + n_menu->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_menu); + + field_name = "site_level_zoom"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_site_level_zoom = new NodeSimple; + n_site_level_zoom->m_field_name = field_name; + n_site_level_zoom->m_df_type = DF_Type::int8_t; + n_site_level_zoom->m_rdf_type = RDF_Type::int8_t; + n_site_level_zoom->m_node_type = NodeType::Simple; + n_site_level_zoom->m_address = base + offset; + n_site_level_zoom->m_comment = "when set, the travel map is zoomed in to show site details"; + n_site_level_zoom->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_level_zoom); + + field_name = "travel_origin_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_travel_origin_x = new NodeSimple; + n_travel_origin_x->m_field_name = field_name; + n_travel_origin_x->m_df_type = DF_Type::int32_t; + n_travel_origin_x->m_rdf_type = RDF_Type::int32_t; + n_travel_origin_x->m_node_type = NodeType::Simple; + n_travel_origin_x->m_address = base + offset; + n_travel_origin_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_travel_origin_x); + + field_name = "travel_origin_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_travel_origin_y = new NodeSimple; + n_travel_origin_y->m_field_name = field_name; + n_travel_origin_y->m_df_type = DF_Type::int32_t; + n_travel_origin_y->m_rdf_type = RDF_Type::int32_t; + n_travel_origin_y->m_node_type = NodeType::Simple; + n_travel_origin_y->m_address = base + offset; + n_travel_origin_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_travel_origin_y); + + field_name = "travel_origin_z"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_travel_origin_z = new NodeSimple; + n_travel_origin_z->m_field_name = field_name; + n_travel_origin_z->m_df_type = DF_Type::int32_t; + n_travel_origin_z->m_rdf_type = RDF_Type::int32_t; + n_travel_origin_z->m_node_type = NodeType::Simple; + n_travel_origin_z->m_address = base + offset; + n_travel_origin_z->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_travel_origin_z); + + field_name = "travel_clouds"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_travel_clouds = new NodeSimple; + n_travel_clouds->m_field_name = field_name; + n_travel_clouds->m_df_type = DF_Type::Bool; + n_travel_clouds->m_rdf_type = RDF_Type::Bool; + n_travel_clouds->m_node_type = NodeType::Simple; + n_travel_clouds->m_address = base + offset; + n_travel_clouds->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_travel_clouds); + + field_name = "travel_right_map"; + auto n_travel_right_map = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + n_travel_right_map->m_field_name = field_name; + n_travel_right_map->m_df_type = DF_Type::ui_advmode__T_travel_right_map; + n_travel_right_map->m_rdf_type = RDF_Type::Enum; + n_travel_right_map->m_node_type = NodeType::Enum; + n_travel_right_map->m_base_type = DF_Type::int8_t; + n_travel_right_map->m_enum_type = "ui_advmode::T_travel_right_map"; + n_travel_right_map->m_address = base + offset; + n_travel_right_map->m_first_value = 0; + n_travel_right_map->m_last_value = 2; + n_travel_right_map->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_travel_right_map); + + field_name = "show_menu"; + auto n_show_menu = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + n_show_menu->m_field_name = field_name; + n_show_menu->m_df_type = DF_Type::ui_advmode__T_show_menu; + n_show_menu->m_rdf_type = RDF_Type::Enum; + n_show_menu->m_node_type = NodeType::Enum; + n_show_menu->m_base_type = DF_Type::int8_t; + n_show_menu->m_enum_type = "ui_advmode::T_show_menu"; + n_show_menu->m_address = base + offset; + n_show_menu->m_comment = "bottom menu in travel mode"; + n_show_menu->m_first_value = -1; + n_show_menu->m_last_value = 3; + n_show_menu->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_show_menu); + + field_name = "message"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_message = new NodeSimple; + n_message->m_field_name = field_name; + n_message->m_df_type = DF_Type::Stl_string; + n_message->m_rdf_type = RDF_Type::Stl_string; + n_message->m_node_type = NodeType::Simple; + n_message->m_address = base + offset; + n_message->m_comment = "you must move from surrounding obstacles"; + n_message->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_message); + + field_name = "message_color"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_message_color = new NodeSimple; + n_message_color->m_field_name = field_name; + n_message_color->m_df_type = DF_Type::int16_t; + n_message_color->m_rdf_type = RDF_Type::int16_t; + n_message_color->m_node_type = NodeType::Simple; + n_message_color->m_address = base + offset; + n_message_color->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_message_color); + + field_name = "message_brightness"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_message_brightness = new NodeSimple; + n_message_brightness->m_field_name = field_name; + n_message_brightness->m_df_type = DF_Type::int8_t; + n_message_brightness->m_rdf_type = RDF_Type::int8_t; + n_message_brightness->m_node_type = NodeType::Simple; + n_message_brightness->m_address = base + offset; + n_message_brightness->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_message_brightness); + + field_name = "travel_not_moved"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_travel_not_moved = new NodeSimple; + n_travel_not_moved->m_field_name = field_name; + n_travel_not_moved->m_df_type = DF_Type::Bool; + n_travel_not_moved->m_rdf_type = RDF_Type::Bool; + n_travel_not_moved->m_node_type = NodeType::Simple; + n_travel_not_moved->m_address = base + offset; + n_travel_not_moved->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_travel_not_moved); + + field_name = "unk4b"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk4b = new NodeSimple; + n_unk4b->m_field_name = field_name; + n_unk4b->m_df_type = DF_Type::int8_t; + n_unk4b->m_rdf_type = RDF_Type::int8_t; + n_unk4b->m_node_type = NodeType::Simple; + n_unk4b->m_address = base + offset; + n_unk4b->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk4b); + + field_name = "travel_move_countdown"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_travel_move_countdown = new NodeSimple; + n_travel_move_countdown->m_field_name = field_name; + n_travel_move_countdown->m_df_type = DF_Type::uint8_t; + n_travel_move_countdown->m_rdf_type = RDF_Type::uint8_t; + n_travel_move_countdown->m_node_type = NodeType::Simple; + n_travel_move_countdown->m_address = base + offset; + n_travel_move_countdown->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_travel_move_countdown); + + field_name = "unk_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_4 = new NodeSimple; + n_unk_4->m_field_name = field_name; + n_unk_4->m_df_type = DF_Type::int32_t; + n_unk_4->m_rdf_type = RDF_Type::int32_t; + n_unk_4->m_node_type = NodeType::Simple; + n_unk_4->m_address = base + offset; + n_unk_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_4); + + field_name = "unk_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_5 = new NodeSimple; + n_unk_5->m_field_name = field_name; + n_unk_5->m_df_type = DF_Type::int32_t; + n_unk_5->m_rdf_type = RDF_Type::int32_t; + n_unk_5->m_node_type = NodeType::Simple; + n_unk_5->m_address = base + offset; + n_unk_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_5); + + field_name = "unk_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_6 = new NodeSimple; + n_unk_6->m_field_name = field_name; + n_unk_6->m_df_type = DF_Type::int32_t; + n_unk_6->m_rdf_type = RDF_Type::int32_t; + n_unk_6->m_node_type = NodeType::Simple; + n_unk_6->m_address = base + offset; + n_unk_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_6); + + field_name = "unk_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_7 = new NodeSimple; + n_unk_7->m_field_name = field_name; + n_unk_7->m_df_type = DF_Type::int32_t; + n_unk_7->m_rdf_type = RDF_Type::int32_t; + n_unk_7->m_node_type = NodeType::Simple; + n_unk_7->m_address = base + offset; + n_unk_7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_7); + + field_name = "unk_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_8 = new NodePointer; + n_unk_8->m_field_name = field_name; + n_unk_8->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_unk_8->m_rdf_type = RDF_Type::Pointer; + n_unk_8->m_node_type = NodeType::Pointer; + n_unk_8->m_addornements = "*"; + n_unk_8->m_address = base + offset; + n_unk_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_8); + + field_name = "unk_9"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_9 = new NodeSimple; + n_unk_9->m_field_name = field_name; + n_unk_9->m_df_type = DF_Type::int32_t; + n_unk_9->m_rdf_type = RDF_Type::int32_t; + n_unk_9->m_node_type = NodeType::Simple; + n_unk_9->m_address = base + offset; + n_unk_9->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_9); + + field_name = "unk_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_10 = new NodeSimple; + n_unk_10->m_field_name = field_name; + n_unk_10->m_df_type = DF_Type::int32_t; + n_unk_10->m_rdf_type = RDF_Type::int32_t; + n_unk_10->m_node_type = NodeType::Simple; + n_unk_10->m_address = base + offset; + n_unk_10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_10); + + field_name = "unk_11"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_11 = new NodeSimple; + n_unk_11->m_field_name = field_name; + n_unk_11->m_df_type = DF_Type::int32_t; + n_unk_11->m_rdf_type = RDF_Type::int32_t; + n_unk_11->m_node_type = NodeType::Simple; + n_unk_11->m_address = base + offset; + n_unk_11->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_11); + + field_name = "unk_12"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_12 = new NodeSimple; + n_unk_12->m_field_name = field_name; + n_unk_12->m_df_type = DF_Type::int32_t; + n_unk_12->m_rdf_type = RDF_Type::int32_t; + n_unk_12->m_node_type = NodeType::Simple; + n_unk_12->m_address = base + offset; + n_unk_12->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_12); + + field_name = "unk_13"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_13 = new NodeSimple; + n_unk_13->m_field_name = field_name; + n_unk_13->m_df_type = DF_Type::int32_t; + n_unk_13->m_rdf_type = RDF_Type::int32_t; + n_unk_13->m_node_type = NodeType::Simple; + n_unk_13->m_address = base + offset; + n_unk_13->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_13); + + field_name = "unk_14"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_14 = new NodeSimple; + n_unk_14->m_field_name = field_name; + n_unk_14->m_df_type = DF_Type::int8_t; + n_unk_14->m_rdf_type = RDF_Type::int8_t; + n_unk_14->m_node_type = NodeType::Simple; + n_unk_14->m_address = base + offset; + n_unk_14->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_14); + + field_name = "tick_counter"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_tick_counter = new NodeSimple; + n_tick_counter->m_field_name = field_name; + n_tick_counter->m_df_type = DF_Type::int32_t; + n_tick_counter->m_rdf_type = RDF_Type::int32_t; + n_tick_counter->m_node_type = NodeType::Simple; + n_tick_counter->m_address = base + offset; + n_tick_counter->m_comment = "goes up to XXX"; + n_tick_counter->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tick_counter); + + field_name = "frame_counter"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_frame_counter = new NodeSimple; + n_frame_counter->m_field_name = field_name; + n_frame_counter->m_df_type = DF_Type::int32_t; + n_frame_counter->m_rdf_type = RDF_Type::int32_t; + n_frame_counter->m_node_type = NodeType::Simple; + n_frame_counter->m_address = base + offset; + n_frame_counter->m_comment = "goes up to 10000 (ticks?)"; + n_frame_counter->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_frame_counter); + + field_name = "unk_15"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_15 = new NodeSimple; + n_unk_15->m_field_name = field_name; + n_unk_15->m_df_type = DF_Type::int16_t; + n_unk_15->m_rdf_type = RDF_Type::int16_t; + n_unk_15->m_node_type = NodeType::Simple; + n_unk_15->m_address = base + offset; + n_unk_15->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_15); + + field_name = "sleeping"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_sleeping = new NodeSimple; + n_sleeping->m_field_name = field_name; + n_sleeping->m_df_type = DF_Type::Bool; + n_sleeping->m_rdf_type = RDF_Type::Bool; + n_sleeping->m_node_type = NodeType::Simple; + n_sleeping->m_address = base + offset; + n_sleeping->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sleeping); + + field_name = "unk_16"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_16 = new NodeSimple; + n_unk_16->m_field_name = field_name; + n_unk_16->m_df_type = DF_Type::int8_t; + n_unk_16->m_rdf_type = RDF_Type::int8_t; + n_unk_16->m_node_type = NodeType::Simple; + n_unk_16->m_address = base + offset; + n_unk_16->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_16); + + field_name = "bogeymen_timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_bogeymen_timer = new NodeSimple; + n_bogeymen_timer->m_field_name = field_name; + n_bogeymen_timer->m_df_type = DF_Type::int32_t; + n_bogeymen_timer->m_rdf_type = RDF_Type::int32_t; + n_bogeymen_timer->m_node_type = NodeType::Simple; + n_bogeymen_timer->m_address = base + offset; + n_bogeymen_timer->m_comment = "initialized to 4-7 when the cackling starts"; + n_bogeymen_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_bogeymen_timer); + + field_name = "bogeymen_killed"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_bogeymen_killed = new NodeSimple; + n_bogeymen_killed->m_field_name = field_name; + n_bogeymen_killed->m_df_type = DF_Type::int32_t; + n_bogeymen_killed->m_rdf_type = RDF_Type::int32_t; + n_bogeymen_killed->m_node_type = NodeType::Simple; + n_bogeymen_killed->m_address = base + offset; + n_bogeymen_killed->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_bogeymen_killed); + + field_name = "bogeymen_ambush_delay"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_bogeymen_ambush_delay = new NodeSimple; + n_bogeymen_ambush_delay->m_field_name = field_name; + n_bogeymen_ambush_delay->m_df_type = DF_Type::int32_t; + n_bogeymen_ambush_delay->m_rdf_type = RDF_Type::int32_t; + n_bogeymen_ambush_delay->m_node_type = NodeType::Simple; + n_bogeymen_ambush_delay->m_address = base + offset; + n_bogeymen_ambush_delay->m_comment = "initialized to 60 when the cackling starts, prevents bogeyman ambushes until it decreases to 0"; + n_bogeymen_ambush_delay->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_bogeymen_ambush_delay); + + field_name = "unk_18"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_18 = new NodeSimple; + n_unk_18->m_field_name = field_name; + n_unk_18->m_df_type = DF_Type::int32_t; + n_unk_18->m_rdf_type = RDF_Type::int32_t; + n_unk_18->m_node_type = NodeType::Simple; + n_unk_18->m_address = base + offset; + n_unk_18->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_18); + + field_name = "searched_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_searched_x = new NodeVector; + n_searched_x->m_field_name = field_name; + n_searched_x->m_df_type = DF_Type::int32_t; + n_searched_x->m_rdf_type = RDF_Type::Vector; + n_searched_x->m_node_type = NodeType::Vector; + n_searched_x->m_addornements = "v"; + n_searched_x->m_address = base + offset; + n_searched_x->m_parent = p_node_parent; + n_searched_x->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_searched_x); + + field_name = "searched_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_searched_y = new NodeVector; + n_searched_y->m_field_name = field_name; + n_searched_y->m_df_type = DF_Type::int32_t; + n_searched_y->m_rdf_type = RDF_Type::Vector; + n_searched_y->m_node_type = NodeType::Vector; + n_searched_y->m_addornements = "v"; + n_searched_y->m_address = base + offset; + n_searched_y->m_parent = p_node_parent; + n_searched_y->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_searched_y); + + field_name = "searched_z"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_searched_z = new NodeVector; + n_searched_z->m_field_name = field_name; + n_searched_z->m_df_type = DF_Type::int32_t; + n_searched_z->m_rdf_type = RDF_Type::Vector; + n_searched_z->m_node_type = NodeType::Vector; + n_searched_z->m_addornements = "v"; + n_searched_z->m_address = base + offset; + n_searched_z->m_parent = p_node_parent; + n_searched_z->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_searched_z); + + field_name = "searched_timeout"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_searched_timeout = new NodeVector; + n_searched_timeout->m_field_name = field_name; + n_searched_timeout->m_df_type = DF_Type::int32_t; + n_searched_timeout->m_rdf_type = RDF_Type::Vector; + n_searched_timeout->m_node_type = NodeType::Vector; + n_searched_timeout->m_addornements = "v"; + n_searched_timeout->m_address = base + offset; + n_searched_timeout->m_parent = p_node_parent; + n_searched_timeout->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_searched_timeout); + + field_name = "unk_19"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_19 = new NodeSimple; + n_unk_19->m_field_name = field_name; + n_unk_19->m_df_type = DF_Type::int8_t; + n_unk_19->m_rdf_type = RDF_Type::int8_t; + n_unk_19->m_node_type = NodeType::Simple; + n_unk_19->m_address = base + offset; + n_unk_19->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_19); + + field_name = "unk_20"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_20 = new NodeSimple; + n_unk_20->m_field_name = field_name; + n_unk_20->m_df_type = DF_Type::int32_t; + n_unk_20->m_rdf_type = RDF_Type::int32_t; + n_unk_20->m_node_type = NodeType::Simple; + n_unk_20->m_address = base + offset; + n_unk_20->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_20); + + field_name = "unk_21"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_21 = new NodeSimple; + n_unk_21->m_field_name = field_name; + n_unk_21->m_df_type = DF_Type::int32_t; + n_unk_21->m_rdf_type = RDF_Type::int32_t; + n_unk_21->m_node_type = NodeType::Simple; + n_unk_21->m_address = base + offset; + n_unk_21->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_21); + + field_name = "unk_22"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_22 = new NodeSimple; + n_unk_22->m_field_name = field_name; + n_unk_22->m_df_type = DF_Type::int32_t; + n_unk_22->m_rdf_type = RDF_Type::int32_t; + n_unk_22->m_node_type = NodeType::Simple; + n_unk_22->m_address = base + offset; + n_unk_22->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_22); + + field_name = "unk_23"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_23 = new NodeSimple; + n_unk_23->m_field_name = field_name; + n_unk_23->m_df_type = DF_Type::int8_t; + n_unk_23->m_rdf_type = RDF_Type::int8_t; + n_unk_23->m_node_type = NodeType::Simple; + n_unk_23->m_address = base + offset; + n_unk_23->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_23); + + field_name = "unk_24"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_24 = new NodeVector; + n_unk_24->m_field_name = field_name; + n_unk_24->m_df_type = DF_Type::int32_t; + n_unk_24->m_rdf_type = RDF_Type::Vector; + n_unk_24->m_node_type = NodeType::Vector; + n_unk_24->m_addornements = "v"; + n_unk_24->m_address = base + offset; + n_unk_24->m_parent = p_node_parent; + n_unk_24->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_24); + + field_name = "unk_25"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_25 = new NodeVector; + n_unk_25->m_field_name = field_name; + n_unk_25->m_df_type = DF_Type::int32_t; + n_unk_25->m_rdf_type = RDF_Type::Vector; + n_unk_25->m_node_type = NodeType::Vector; + n_unk_25->m_addornements = "v"; + n_unk_25->m_address = base + offset; + n_unk_25->m_parent = p_node_parent; + n_unk_25->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_25); + + field_name = "unk_26"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_26 = new NodeVector; + n_unk_26->m_field_name = field_name; + n_unk_26->m_df_type = DF_Type::int32_t; + n_unk_26->m_rdf_type = RDF_Type::Vector; + n_unk_26->m_node_type = NodeType::Vector; + n_unk_26->m_addornements = "v"; + n_unk_26->m_address = base + offset; + n_unk_26->m_parent = p_node_parent; + n_unk_26->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_26); + + field_name = "unk_27"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_27 = new NodeSimple; + n_unk_27->m_field_name = field_name; + n_unk_27->m_df_type = DF_Type::int32_t; + n_unk_27->m_rdf_type = RDF_Type::int32_t; + n_unk_27->m_node_type = NodeType::Simple; + n_unk_27->m_address = base + offset; + n_unk_27->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_27); + + field_name = "unk_28"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_28 = new NodeSimple; + n_unk_28->m_field_name = field_name; + n_unk_28->m_df_type = DF_Type::int32_t; + n_unk_28->m_rdf_type = RDF_Type::int32_t; + n_unk_28->m_node_type = NodeType::Simple; + n_unk_28->m_address = base + offset; + n_unk_28->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_28); + + field_name = "unk_29"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_29 = new NodeSimple; + n_unk_29->m_field_name = field_name; + n_unk_29->m_df_type = DF_Type::int8_t; + n_unk_29->m_rdf_type = RDF_Type::int8_t; + n_unk_29->m_node_type = NodeType::Simple; + n_unk_29->m_address = base + offset; + n_unk_29->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_29); + + field_name = "unk_30"; + auto n_unk_30 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + n_unk_30->m_field_name = field_name; + n_unk_30->m_df_type = DF_Type::int32_t; + n_unk_30->m_rdf_type = RDF_Type::Array; + n_unk_30->m_node_type = NodeType::Array; + n_unk_30->m_addornements = "[1000"; + n_unk_30->m_array_size = 1000; + n_unk_30->m_address = base + offset; + n_unk_30->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_30); + + field_name = "unk_31"; + auto n_unk_31 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + n_unk_31->m_field_name = field_name; + n_unk_31->m_df_type = DF_Type::int32_t; + n_unk_31->m_rdf_type = RDF_Type::Array; + n_unk_31->m_node_type = NodeType::Array; + n_unk_31->m_addornements = "[1000"; + n_unk_31->m_array_size = 1000; + n_unk_31->m_address = base + offset; + n_unk_31->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_31); + + field_name = "unk_32"; + auto n_unk_32 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + n_unk_32->m_field_name = field_name; + n_unk_32->m_df_type = DF_Type::int32_t; + n_unk_32->m_rdf_type = RDF_Type::Array; + n_unk_32->m_node_type = NodeType::Array; + n_unk_32->m_addornements = "[1000"; + n_unk_32->m_array_size = 1000; + n_unk_32->m_address = base + offset; + n_unk_32->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_32); + + field_name = "unk_33"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_33 = new NodeSimple; + n_unk_33->m_field_name = field_name; + n_unk_33->m_df_type = DF_Type::int32_t; + n_unk_33->m_rdf_type = RDF_Type::int32_t; + n_unk_33->m_node_type = NodeType::Simple; + n_unk_33->m_address = base + offset; + n_unk_33->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_33); + + field_name = "view_tracks_odors"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_view_tracks_odors = new NodeSimple; + n_view_tracks_odors->m_field_name = field_name; + n_view_tracks_odors->m_df_type = DF_Type::int32_t; + n_view_tracks_odors->m_rdf_type = RDF_Type::int32_t; + n_view_tracks_odors->m_node_type = NodeType::Simple; + n_view_tracks_odors->m_address = base + offset; + n_view_tracks_odors->m_comment = "The value of view_tracks_odors determines the combination of local/travel mode track/odor screens currently displayed. Opening the local tracks screen increments this value by 1, opening travel mode tracks+odors increments by 2, opening local odors increments by 4. Closing the screens decrements respectively."; + n_view_tracks_odors->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_view_tracks_odors); + + field_name = "tracks_visible"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_tracks_visible = new NodeSimple; + n_tracks_visible->m_field_name = field_name; + n_tracks_visible->m_df_type = DF_Type::int32_t; + n_tracks_visible->m_rdf_type = RDF_Type::int32_t; + n_tracks_visible->m_node_type = NodeType::Simple; + n_tracks_visible->m_address = base + offset; + n_tracks_visible->m_comment = "The quantity of visible tracks."; + n_tracks_visible->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tracks_visible); + + field_name = "unk_36"; + auto n_unk_36 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + n_unk_36->m_field_name = field_name; + n_unk_36->m_df_type = DF_Type::int16_t; + n_unk_36->m_rdf_type = RDF_Type::Array; + n_unk_36->m_node_type = NodeType::Array; + n_unk_36->m_addornements = "[9"; + n_unk_36->m_array_size = 9; + n_unk_36->m_address = base + offset; + n_unk_36->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_36); + + field_name = "unk_37"; + auto n_unk_37 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + n_unk_37->m_field_name = field_name; + n_unk_37->m_df_type = DF_Type::int16_t; + n_unk_37->m_rdf_type = RDF_Type::Array; + n_unk_37->m_node_type = NodeType::Array; + n_unk_37->m_addornements = "[9"; + n_unk_37->m_array_size = 9; + n_unk_37->m_address = base + offset; + n_unk_37->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_37); + + field_name = "unk_38"; + auto n_unk_38 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + n_unk_38->m_field_name = field_name; + n_unk_38->m_df_type = DF_Type::int16_t; + n_unk_38->m_rdf_type = RDF_Type::Array; + n_unk_38->m_node_type = NodeType::Array; + n_unk_38->m_addornements = "[9"; + n_unk_38->m_array_size = 9; + n_unk_38->m_address = base + offset; + n_unk_38->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_38); + + field_name = "unk_v40_1"; + auto n_unk_v40_1 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + n_unk_v40_1->m_field_name = field_name; + n_unk_v40_1->m_df_type = DF_Type::ui_advmode__T_unk_v40_1; + n_unk_v40_1->m_rdf_type = RDF_Type::Array; + n_unk_v40_1->m_node_type = NodeType::Array; + n_unk_v40_1->m_addornements = "[9"; + n_unk_v40_1->m_array_size = 9; + n_unk_v40_1->m_address = base + offset; + n_unk_v40_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_1); + + field_name = "unk_39"; + auto n_unk_39 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + n_unk_39->m_field_name = field_name; + n_unk_39->m_df_type = DF_Type::int8_t; + n_unk_39->m_rdf_type = RDF_Type::Array; + n_unk_39->m_node_type = NodeType::Array; + n_unk_39->m_addornements = "[9"; + n_unk_39->m_array_size = 9; + n_unk_39->m_address = base + offset; + n_unk_39->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_39); + + field_name = "unk_40"; + auto n_unk_40 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + n_unk_40->m_field_name = field_name; + n_unk_40->m_df_type = DF_Type::int8_t; + n_unk_40->m_rdf_type = RDF_Type::Array; + n_unk_40->m_node_type = NodeType::Array; + n_unk_40->m_addornements = "[9"; + n_unk_40->m_array_size = 9; + n_unk_40->m_address = base + offset; + n_unk_40->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_40); + + field_name = "unk_41"; + auto n_unk_41 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + n_unk_41->m_field_name = field_name; + n_unk_41->m_df_type = DF_Type::int32_t; + n_unk_41->m_rdf_type = RDF_Type::Array; + n_unk_41->m_node_type = NodeType::Array; + n_unk_41->m_addornements = "[9"; + n_unk_41->m_array_size = 9; + n_unk_41->m_address = base + offset; + n_unk_41->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_41); + + field_name = "unk_42"; + auto n_unk_42 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + n_unk_42->m_field_name = field_name; + n_unk_42->m_df_type = DF_Type::int8_t; + n_unk_42->m_rdf_type = RDF_Type::Array; + n_unk_42->m_node_type = NodeType::Array; + n_unk_42->m_addornements = "[9"; + n_unk_42->m_array_size = 9; + n_unk_42->m_address = base + offset; + n_unk_42->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_42); + + field_name = "odor_race"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_odor_race = new NodeSimple; + n_odor_race->m_field_name = field_name; + n_odor_race->m_df_type = DF_Type::int32_t; + n_odor_race->m_rdf_type = RDF_Type::int32_t; + n_odor_race->m_node_type = NodeType::Simple; + n_odor_race->m_address = base + offset; + n_odor_race->m_comment = "race ID of strongest odor creature"; + n_odor_race->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_odor_race); + + field_name = "odor_caste"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_odor_caste = new NodeSimple; + n_odor_caste->m_field_name = field_name; + n_odor_caste->m_df_type = DF_Type::int32_t; + n_odor_caste->m_rdf_type = RDF_Type::int32_t; + n_odor_caste->m_node_type = NodeType::Simple; + n_odor_caste->m_address = base + offset; + n_odor_caste->m_comment = "caste ID of strongest odor creature"; + n_odor_caste->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_odor_caste); + + field_name = "odor_death"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_odor_death = new NodeSimple; + n_odor_death->m_field_name = field_name; + n_odor_death->m_df_type = DF_Type::int8_t; + n_odor_death->m_rdf_type = RDF_Type::int8_t; + n_odor_death->m_node_type = NodeType::Simple; + n_odor_death->m_address = base + offset; + n_odor_death->m_comment = "Overrides creature odor with odor of Death"; + n_odor_death->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_odor_death); + + field_name = "travel_odor_race"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_travel_odor_race = new NodeSimple; + n_travel_odor_race->m_field_name = field_name; + n_travel_odor_race->m_df_type = DF_Type::int32_t; + n_travel_odor_race->m_rdf_type = RDF_Type::int32_t; + n_travel_odor_race->m_node_type = NodeType::Simple; + n_travel_odor_race->m_address = base + offset; + n_travel_odor_race->m_comment = "race ID of strongest odor creature in fast travel mode"; + n_travel_odor_race->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_travel_odor_race); + + field_name = "travel_odor_caste"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_travel_odor_caste = new NodeSimple; + n_travel_odor_caste->m_field_name = field_name; + n_travel_odor_caste->m_df_type = DF_Type::int32_t; + n_travel_odor_caste->m_rdf_type = RDF_Type::int32_t; + n_travel_odor_caste->m_node_type = NodeType::Simple; + n_travel_odor_caste->m_address = base + offset; + n_travel_odor_caste->m_comment = "caste ID of strongest odor creature in fast travel mode"; + n_travel_odor_caste->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_travel_odor_caste); + + field_name = "unk_46"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_46 = new NodeSimple; + n_unk_46->m_field_name = field_name; + n_unk_46->m_df_type = DF_Type::int8_t; + n_unk_46->m_rdf_type = RDF_Type::int8_t; + n_unk_46->m_node_type = NodeType::Simple; + n_unk_46->m_address = base + offset; + n_unk_46->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_46); + + field_name = "unk_47"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_47 = new NodeSimple; + n_unk_47->m_field_name = field_name; + n_unk_47->m_df_type = DF_Type::int32_t; + n_unk_47->m_rdf_type = RDF_Type::int32_t; + n_unk_47->m_node_type = NodeType::Simple; + n_unk_47->m_address = base + offset; + n_unk_47->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_47); + + field_name = "unk_3170"; + auto n_unk_3170 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + n_unk_3170->m_field_name = field_name; + n_unk_3170->m_df_type = DF_Type::ui_advmode__T_unk_3170; + n_unk_3170->m_rdf_type = RDF_Type::Compound; + n_unk_3170->m_node_type = NodeType::Compound; + n_unk_3170->m_address = base + offset; + n_unk_3170->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_3170); + + field_name = "unk_3124"; + auto n_unk_3124 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + n_unk_3124->m_field_name = field_name; + n_unk_3124->m_df_type = DF_Type::ui_advmode__T_unk_3124; + n_unk_3124->m_rdf_type = RDF_Type::Compound; + n_unk_3124->m_node_type = NodeType::Compound; + n_unk_3124->m_address = base + offset; + n_unk_3124->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_3124); + + field_name = "unk_48"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_48 = new NodeSimple; + n_unk_48->m_field_name = field_name; + n_unk_48->m_df_type = DF_Type::int32_t; + n_unk_48->m_rdf_type = RDF_Type::int32_t; + n_unk_48->m_node_type = NodeType::Simple; + n_unk_48->m_address = base + offset; + n_unk_48->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_48); + + field_name = "unk_49"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_49 = new NodeSimple; + n_unk_49->m_field_name = field_name; + n_unk_49->m_df_type = DF_Type::int32_t; + n_unk_49->m_rdf_type = RDF_Type::int32_t; + n_unk_49->m_node_type = NodeType::Simple; + n_unk_49->m_address = base + offset; + n_unk_49->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_49); + + field_name = "unk_50"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_50 = new NodeSimple; + n_unk_50->m_field_name = field_name; + n_unk_50->m_df_type = DF_Type::int32_t; + n_unk_50->m_rdf_type = RDF_Type::int32_t; + n_unk_50->m_node_type = NodeType::Simple; + n_unk_50->m_address = base + offset; + n_unk_50->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_50); + + field_name = "unk_51"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_51 = new NodeSimple; + n_unk_51->m_field_name = field_name; + n_unk_51->m_df_type = DF_Type::int32_t; + n_unk_51->m_rdf_type = RDF_Type::int32_t; + n_unk_51->m_node_type = NodeType::Simple; + n_unk_51->m_address = base + offset; + n_unk_51->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_51); + + field_name = "unk_52"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_52 = new NodeSimple; + n_unk_52->m_field_name = field_name; + n_unk_52->m_df_type = DF_Type::int32_t; + n_unk_52->m_rdf_type = RDF_Type::int32_t; + n_unk_52->m_node_type = NodeType::Simple; + n_unk_52->m_address = base + offset; + n_unk_52->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_52); + + field_name = "unk_53"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_53 = new NodeSimple; + n_unk_53->m_field_name = field_name; + n_unk_53->m_df_type = DF_Type::int32_t; + n_unk_53->m_rdf_type = RDF_Type::int32_t; + n_unk_53->m_node_type = NodeType::Simple; + n_unk_53->m_address = base + offset; + n_unk_53->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_53); + + field_name = "unk_54"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_54 = new NodeSimple; + n_unk_54->m_field_name = field_name; + n_unk_54->m_df_type = DF_Type::int32_t; + n_unk_54->m_rdf_type = RDF_Type::int32_t; + n_unk_54->m_node_type = NodeType::Simple; + n_unk_54->m_address = base + offset; + n_unk_54->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_54); + + field_name = "unk_55"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_55 = new NodeSimple; + n_unk_55->m_field_name = field_name; + n_unk_55->m_df_type = DF_Type::int8_t; + n_unk_55->m_rdf_type = RDF_Type::int8_t; + n_unk_55->m_node_type = NodeType::Simple; + n_unk_55->m_address = base + offset; + n_unk_55->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_55); + + field_name = "unk_56"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_56 = new NodeSimple; + n_unk_56->m_field_name = field_name; + n_unk_56->m_df_type = DF_Type::int32_t; + n_unk_56->m_rdf_type = RDF_Type::int32_t; + n_unk_56->m_node_type = NodeType::Simple; + n_unk_56->m_address = base + offset; + n_unk_56->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_56); + + field_name = "unk_57"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_57 = new NodeSimple; + n_unk_57->m_field_name = field_name; + n_unk_57->m_df_type = DF_Type::int32_t; + n_unk_57->m_rdf_type = RDF_Type::int32_t; + n_unk_57->m_node_type = NodeType::Simple; + n_unk_57->m_address = base + offset; + n_unk_57->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_57); + + field_name = "unk_58"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_58 = new NodeSimple; + n_unk_58->m_field_name = field_name; + n_unk_58->m_df_type = DF_Type::int32_t; + n_unk_58->m_rdf_type = RDF_Type::int32_t; + n_unk_58->m_node_type = NodeType::Simple; + n_unk_58->m_address = base + offset; + n_unk_58->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_58); + + field_name = "unk_59"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_59 = new NodeVector; + n_unk_59->m_field_name = field_name; + n_unk_59->m_df_type = DF_Type::Void; + n_unk_59->m_rdf_type = RDF_Type::Vector; + n_unk_59->m_node_type = NodeType::Vector; + n_unk_59->m_addornements = "v"; + n_unk_59->m_address = base + offset; + n_unk_59->m_parent = p_node_parent; + n_unk_59->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_59); + + field_name = "unk_60"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_60 = new NodeSimple; + n_unk_60->m_field_name = field_name; + n_unk_60->m_df_type = DF_Type::int32_t; + n_unk_60->m_rdf_type = RDF_Type::int32_t; + n_unk_60->m_node_type = NodeType::Simple; + n_unk_60->m_address = base + offset; + n_unk_60->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_60); + + field_name = "unk_61"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_61 = new NodeSimple; + n_unk_61->m_field_name = field_name; + n_unk_61->m_df_type = DF_Type::int8_t; + n_unk_61->m_rdf_type = RDF_Type::int8_t; + n_unk_61->m_node_type = NodeType::Simple; + n_unk_61->m_address = base + offset; + n_unk_61->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_61); + + field_name = "unk_62"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_62 = new NodeSimple; + n_unk_62->m_field_name = field_name; + n_unk_62->m_df_type = DF_Type::int16_t; + n_unk_62->m_rdf_type = RDF_Type::int16_t; + n_unk_62->m_node_type = NodeType::Simple; + n_unk_62->m_address = base + offset; + n_unk_62->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_62); + + field_name = "travel_start_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_travel_start_x = new NodeSimple; + n_travel_start_x->m_field_name = field_name; + n_travel_start_x->m_df_type = DF_Type::int16_t; + n_travel_start_x->m_rdf_type = RDF_Type::int16_t; + n_travel_start_x->m_node_type = NodeType::Simple; + n_travel_start_x->m_address = base + offset; + n_travel_start_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_travel_start_x); + + field_name = "travel_start_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_travel_start_y = new NodeSimple; + n_travel_start_y->m_field_name = field_name; + n_travel_start_y->m_df_type = DF_Type::int16_t; + n_travel_start_y->m_rdf_type = RDF_Type::int16_t; + n_travel_start_y->m_node_type = NodeType::Simple; + n_travel_start_y->m_address = base + offset; + n_travel_start_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_travel_start_y); + + field_name = "travel_start_z"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_travel_start_z = new NodeSimple; + n_travel_start_z->m_field_name = field_name; + n_travel_start_z->m_df_type = DF_Type::int16_t; + n_travel_start_z->m_rdf_type = RDF_Type::int16_t; + n_travel_start_z->m_node_type = NodeType::Simple; + n_travel_start_z->m_address = base + offset; + n_travel_start_z->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_travel_start_z); + + field_name = "player_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_player_id = new NodeSimple; + n_player_id->m_field_name = field_name; + n_player_id->m_df_type = DF_Type::int32_t; + n_player_id->m_rdf_type = RDF_Type::int32_t; + n_player_id->m_node_type = NodeType::Simple; + n_player_id->m_address = base + offset; + n_player_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_player_id); + + field_name = "unk_66"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_66 = new NodeSimple; + n_unk_66->m_field_name = field_name; + n_unk_66->m_df_type = DF_Type::int16_t; + n_unk_66->m_rdf_type = RDF_Type::int16_t; + n_unk_66->m_node_type = NodeType::Simple; + n_unk_66->m_address = base + offset; + n_unk_66->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_66); + + field_name = "unk_67"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_67 = new NodeSimple; + n_unk_67->m_field_name = field_name; + n_unk_67->m_df_type = DF_Type::int16_t; + n_unk_67->m_rdf_type = RDF_Type::int16_t; + n_unk_67->m_node_type = NodeType::Simple; + n_unk_67->m_address = base + offset; + n_unk_67->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_67); + + field_name = "unk_68"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_68 = new NodePointer; + n_unk_68->m_field_name = field_name; + n_unk_68->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_unk_68->m_rdf_type = RDF_Type::Pointer; + n_unk_68->m_node_type = NodeType::Pointer; + n_unk_68->m_addornements = "*"; + n_unk_68->m_address = base + offset; + n_unk_68->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_68); + + field_name = "unk_69"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_69 = new NodePointer; + n_unk_69->m_field_name = field_name; + n_unk_69->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_unk_69->m_rdf_type = RDF_Type::Pointer; + n_unk_69->m_node_type = NodeType::Pointer; + n_unk_69->m_addornements = "*"; + n_unk_69->m_address = base + offset; + n_unk_69->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_69); + + field_name = "conversation"; + auto n_conversation = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + n_conversation->m_field_name = field_name; + n_conversation->m_df_type = DF_Type::ui_advmode__T_conversation; + n_conversation->m_rdf_type = RDF_Type::Compound; + n_conversation->m_node_type = NodeType::Compound; + n_conversation->m_address = base + offset; + n_conversation->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_conversation); + + field_name = "unk_70"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_70 = new NodeVector; + n_unk_70->m_field_name = field_name; + n_unk_70->m_df_type = DF_Type::Void; + n_unk_70->m_rdf_type = RDF_Type::Vector; + n_unk_70->m_node_type = NodeType::Vector; + n_unk_70->m_addornements = "v"; + n_unk_70->m_address = base + offset; + n_unk_70->m_parent = p_node_parent; + n_unk_70->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_70); + + field_name = "unk_71"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_71 = new NodeSimple; + n_unk_71->m_field_name = field_name; + n_unk_71->m_df_type = DF_Type::int32_t; + n_unk_71->m_rdf_type = RDF_Type::int32_t; + n_unk_71->m_node_type = NodeType::Simple; + n_unk_71->m_address = base + offset; + n_unk_71->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_71); + + field_name = "unk_72"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_72 = new NodeVector; + n_unk_72->m_field_name = field_name; + n_unk_72->m_df_type = DF_Type::Void; + n_unk_72->m_rdf_type = RDF_Type::Vector; + n_unk_72->m_node_type = NodeType::Vector; + n_unk_72->m_addornements = "v"; + n_unk_72->m_address = base + offset; + n_unk_72->m_parent = p_node_parent; + n_unk_72->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_72); + + field_name = "interacts"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_interacts = new NodeVector; + n_interacts->m_field_name = field_name; + n_interacts->m_df_type = DF_Type::adventure_item_interact_choicest; + n_interacts->m_rdf_type = RDF_Type::Vector; + n_interacts->m_node_type = NodeType::Vector; + n_interacts->m_defined_in = "df.advmode.xml"; + n_interacts->m_addornements = "v*"; + n_interacts->m_address = base + offset; + n_interacts->m_parent = p_node_parent; + n_interacts->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_interacts); + + field_name = "commands"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_commands = new NodeVector; + n_commands->m_field_name = field_name; + n_commands->m_df_type = DF_Type::adventure_optionst; + n_commands->m_rdf_type = RDF_Type::Vector; + n_commands->m_node_type = NodeType::Vector; + n_commands->m_defined_in = "df.advmode.xml"; + n_commands->m_addornements = "v*"; + n_commands->m_address = base + offset; + n_commands->m_parent = p_node_parent; + n_commands->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_commands); + + field_name = "movements"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_movements = new NodeVector; + n_movements->m_field_name = field_name; + n_movements->m_df_type = DF_Type::adventure_movement_optionst; + n_movements->m_rdf_type = RDF_Type::Vector; + n_movements->m_node_type = NodeType::Vector; + n_movements->m_defined_in = "df.advmode.xml"; + n_movements->m_addornements = "v*"; + n_movements->m_address = base + offset; + n_movements->m_parent = p_node_parent; + n_movements->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_movements); + + field_name = "unk_75"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_75 = new NodeVector; + n_unk_75->m_field_name = field_name; + n_unk_75->m_df_type = DF_Type::Void; + n_unk_75->m_rdf_type = RDF_Type::Vector; + n_unk_75->m_node_type = NodeType::Vector; + n_unk_75->m_addornements = "v"; + n_unk_75->m_address = base + offset; + n_unk_75->m_parent = p_node_parent; + n_unk_75->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_75); + + field_name = "sleep_hours"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_sleep_hours = new NodeSimple; + n_sleep_hours->m_field_name = field_name; + n_sleep_hours->m_df_type = DF_Type::int32_t; + n_sleep_hours->m_rdf_type = RDF_Type::int32_t; + n_sleep_hours->m_node_type = NodeType::Simple; + n_sleep_hours->m_address = base + offset; + n_sleep_hours->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sleep_hours); + + field_name = "sleep_until_dawn"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_sleep_until_dawn = new NodeSimple; + n_sleep_until_dawn->m_field_name = field_name; + n_sleep_until_dawn->m_df_type = DF_Type::Bool; + n_sleep_until_dawn->m_rdf_type = RDF_Type::Bool; + n_sleep_until_dawn->m_node_type = NodeType::Simple; + n_sleep_until_dawn->m_address = base + offset; + n_sleep_until_dawn->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sleep_until_dawn); + + field_name = "unk_78"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_78 = new NodeSimple; + n_unk_78->m_field_name = field_name; + n_unk_78->m_df_type = DF_Type::int8_t; + n_unk_78->m_rdf_type = RDF_Type::int8_t; + n_unk_78->m_node_type = NodeType::Simple; + n_unk_78->m_address = base + offset; + n_unk_78->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_78); + + field_name = "wait"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_wait = new NodeSimple; + n_wait->m_field_name = field_name; + n_wait->m_df_type = DF_Type::Bool; + n_wait->m_rdf_type = RDF_Type::Bool; + n_wait->m_node_type = NodeType::Simple; + n_wait->m_address = base + offset; + n_wait->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_wait); + + field_name = "unk_80"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_80 = new NodeSimple; + n_unk_80->m_field_name = field_name; + n_unk_80->m_df_type = DF_Type::int8_t; + n_unk_80->m_rdf_type = RDF_Type::int8_t; + n_unk_80->m_node_type = NodeType::Simple; + n_unk_80->m_address = base + offset; + n_unk_80->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_80); + + field_name = "unk_81"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_81 = new NodeSimple; + n_unk_81->m_field_name = field_name; + n_unk_81->m_df_type = DF_Type::int8_t; + n_unk_81->m_rdf_type = RDF_Type::int8_t; + n_unk_81->m_node_type = NodeType::Simple; + n_unk_81->m_address = base + offset; + n_unk_81->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_81); + + field_name = "player_control_state"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_player_control_state = new NodeSimple; + n_player_control_state->m_field_name = field_name; + n_player_control_state->m_df_type = DF_Type::int8_t; + n_player_control_state->m_rdf_type = RDF_Type::int8_t; + n_player_control_state->m_node_type = NodeType::Simple; + n_player_control_state->m_address = base + offset; + n_player_control_state->m_comment = "Set to 2 when adventurer is unconscious, etc to prevent player from controlling the unit"; + n_player_control_state->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_player_control_state); + + field_name = "unk_83"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_83 = new NodeSimple; + n_unk_83->m_field_name = field_name; + n_unk_83->m_df_type = DF_Type::int8_t; + n_unk_83->m_rdf_type = RDF_Type::int8_t; + n_unk_83->m_node_type = NodeType::Simple; + n_unk_83->m_address = base + offset; + n_unk_83->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_83); + + field_name = "unk_84"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_84 = new NodeSimple; + n_unk_84->m_field_name = field_name; + n_unk_84->m_df_type = DF_Type::int32_t; + n_unk_84->m_rdf_type = RDF_Type::int32_t; + n_unk_84->m_node_type = NodeType::Simple; + n_unk_84->m_address = base + offset; + n_unk_84->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_84); + + field_name = "companions"; + auto n_companions = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + n_companions->m_field_name = field_name; + n_companions->m_df_type = DF_Type::ui_advmode__T_companions; + n_companions->m_rdf_type = RDF_Type::Compound; + n_companions->m_node_type = NodeType::Compound; + n_companions->m_address = base + offset; + n_companions->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_companions); + + field_name = "interactions"; + auto n_interactions = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + n_interactions->m_field_name = field_name; + n_interactions->m_df_type = DF_Type::ui_advmode__T_interactions; + n_interactions->m_rdf_type = RDF_Type::Compound; + n_interactions->m_node_type = NodeType::Compound; + n_interactions->m_address = base + offset; + n_interactions->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_interactions); + + field_name = "unk_87"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_87 = new NodeSimple; + n_unk_87->m_field_name = field_name; + n_unk_87->m_df_type = DF_Type::Stl_string; + n_unk_87->m_rdf_type = RDF_Type::Stl_string; + n_unk_87->m_node_type = NodeType::Simple; + n_unk_87->m_address = base + offset; + n_unk_87->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_87); + + field_name = "unk_220"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_220 = new NodeSimple; + n_unk_220->m_field_name = field_name; + n_unk_220->m_df_type = DF_Type::int32_t; + n_unk_220->m_rdf_type = RDF_Type::int32_t; + n_unk_220->m_node_type = NodeType::Simple; + n_unk_220->m_address = base + offset; + n_unk_220->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_220); + + field_name = "unk_224"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_224 = new NodeSimple; + n_unk_224->m_field_name = field_name; + n_unk_224->m_df_type = DF_Type::int32_t; + n_unk_224->m_rdf_type = RDF_Type::int32_t; + n_unk_224->m_node_type = NodeType::Simple; + n_unk_224->m_address = base + offset; + n_unk_224->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_224); + + field_name = "unk_v40_2"; + auto n_unk_v40_2 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + n_unk_v40_2->m_field_name = field_name; + n_unk_v40_2->m_df_type = DF_Type::ui_advmode__T_unk_v40_2; + n_unk_v40_2->m_rdf_type = RDF_Type::Compound; + n_unk_v40_2->m_node_type = NodeType::Compound; + n_unk_v40_2->m_address = base + offset; + n_unk_v40_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_2); + + field_name = "unk_v40_3"; + auto n_unk_v40_3 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + n_unk_v40_3->m_field_name = field_name; + n_unk_v40_3->m_df_type = DF_Type::ui_advmode__T_unk_v40_3; + n_unk_v40_3->m_rdf_type = RDF_Type::Compound; + n_unk_v40_3->m_node_type = NodeType::Compound; + n_unk_v40_3->m_address = base + offset; + n_unk_v40_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_3); + + field_name = "unk_88"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_88 = new NodePointer; + n_unk_88->m_field_name = field_name; + n_unk_88->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_unk_88->m_rdf_type = RDF_Type::Pointer; + n_unk_88->m_node_type = NodeType::Pointer; + n_unk_88->m_addornements = "*"; + n_unk_88->m_address = base + offset; + n_unk_88->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_88); + + field_name = "unk_89"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_89 = new NodeSimple; + n_unk_89->m_field_name = field_name; + n_unk_89->m_df_type = DF_Type::int32_t; + n_unk_89->m_rdf_type = RDF_Type::int32_t; + n_unk_89->m_node_type = NodeType::Simple; + n_unk_89->m_address = base + offset; + n_unk_89->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_89); + + field_name = "unk_90"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_90 = new NodeSimple; + n_unk_90->m_field_name = field_name; + n_unk_90->m_df_type = DF_Type::int32_t; + n_unk_90->m_rdf_type = RDF_Type::int32_t; + n_unk_90->m_node_type = NodeType::Simple; + n_unk_90->m_address = base + offset; + n_unk_90->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_90); + + field_name = "unk_v40_4"; + auto n_unk_v40_4 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + n_unk_v40_4->m_field_name = field_name; + n_unk_v40_4->m_df_type = DF_Type::ui_advmode__T_unk_v40_4; + n_unk_v40_4->m_rdf_type = RDF_Type::Compound; + n_unk_v40_4->m_node_type = NodeType::Compound; + n_unk_v40_4->m_address = base + offset; + n_unk_v40_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_4); + + field_name = "unk_v40_5"; + auto n_unk_v40_5 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + n_unk_v40_5->m_field_name = field_name; + n_unk_v40_5->m_df_type = DF_Type::ui_advmode__T_unk_v40_5; + n_unk_v40_5->m_rdf_type = RDF_Type::Compound; + n_unk_v40_5->m_node_type = NodeType::Compound; + n_unk_v40_5->m_address = base + offset; + n_unk_v40_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_5); + + field_name = "unk_v42_1"; + auto n_unk_v42_1 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + n_unk_v42_1->m_field_name = field_name; + n_unk_v42_1->m_df_type = DF_Type::ui_advmode__T_unk_v42_1; + n_unk_v42_1->m_rdf_type = RDF_Type::Compound; + n_unk_v42_1->m_node_type = NodeType::Compound; + n_unk_v42_1->m_address = base + offset; + n_unk_v42_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v42_1); + + field_name = "unk_91"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_91 = new NodePointer; + n_unk_91->m_field_name = field_name; + n_unk_91->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_unk_91->m_rdf_type = RDF_Type::Pointer; + n_unk_91->m_node_type = NodeType::Pointer; + n_unk_91->m_addornements = "*"; + n_unk_91->m_address = base + offset; + n_unk_91->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_91); + + field_name = "assume_identity"; + auto n_assume_identity = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + n_assume_identity->m_field_name = field_name; + n_assume_identity->m_df_type = DF_Type::ui_advmode__T_assume_identity; + n_assume_identity->m_rdf_type = RDF_Type::Compound; + n_assume_identity->m_node_type = NodeType::Compound; + n_assume_identity->m_address = base + offset; + n_assume_identity->m_comment = "Manages the Assume Identity UI when the AssumeIdentity menu is open"; + n_assume_identity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_assume_identity); + + field_name = "unk_92"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_92 = new NodeSimple; + n_unk_92->m_field_name = field_name; + n_unk_92->m_df_type = DF_Type::int16_t; + n_unk_92->m_rdf_type = RDF_Type::int16_t; + n_unk_92->m_node_type = NodeType::Simple; + n_unk_92->m_address = base + offset; + n_unk_92->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_92); + + field_name = "unk_93"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_93 = new NodeSimple; + n_unk_93->m_field_name = field_name; + n_unk_93->m_df_type = DF_Type::int16_t; + n_unk_93->m_rdf_type = RDF_Type::int16_t; + n_unk_93->m_node_type = NodeType::Simple; + n_unk_93->m_address = base + offset; + n_unk_93->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_93); + + field_name = "unk_94"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_94 = new NodeSimple; + n_unk_94->m_field_name = field_name; + n_unk_94->m_df_type = DF_Type::int16_t; + n_unk_94->m_rdf_type = RDF_Type::int16_t; + n_unk_94->m_node_type = NodeType::Simple; + n_unk_94->m_address = base + offset; + n_unk_94->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_94); + + field_name = "unk_95"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_95 = new NodeSimple; + n_unk_95->m_field_name = field_name; + n_unk_95->m_df_type = DF_Type::int8_t; + n_unk_95->m_rdf_type = RDF_Type::int8_t; + n_unk_95->m_node_type = NodeType::Simple; + n_unk_95->m_address = base + offset; + n_unk_95->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_95); + + field_name = "unk_96"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_96 = new NodeSimple; + n_unk_96->m_field_name = field_name; + n_unk_96->m_df_type = DF_Type::int8_t; + n_unk_96->m_rdf_type = RDF_Type::int8_t; + n_unk_96->m_node_type = NodeType::Simple; + n_unk_96->m_address = base + offset; + n_unk_96->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_96); + + field_name = "unk_97"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_97 = new NodeSimple; + n_unk_97->m_field_name = field_name; + n_unk_97->m_df_type = DF_Type::int16_t; + n_unk_97->m_rdf_type = RDF_Type::int16_t; + n_unk_97->m_node_type = NodeType::Simple; + n_unk_97->m_address = base + offset; + n_unk_97->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_97); + + field_name = "unk_98"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_98 = new NodeSimple; + n_unk_98->m_field_name = field_name; + n_unk_98->m_df_type = DF_Type::int16_t; + n_unk_98->m_rdf_type = RDF_Type::int16_t; + n_unk_98->m_node_type = NodeType::Simple; + n_unk_98->m_address = base + offset; + n_unk_98->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_98); + + field_name = "unk_99"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_unk_99 = new NodeSimple; + n_unk_99->m_field_name = field_name; + n_unk_99->m_df_type = DF_Type::Stl_string; + n_unk_99->m_rdf_type = RDF_Type::Stl_string; + n_unk_99->m_node_type = NodeType::Simple; + n_unk_99->m_address = base + offset; + n_unk_99->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_99); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "name_item"; + auto n_name_item = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_advmode, field_name)); + n_name_item->m_field_name = field_name; + n_name_item->m_df_type = DF_Type::language_name; + n_name_item->m_rdf_type = RDF_Type::Struct; + n_name_item->m_node_type = NodeType::Compound; + n_name_item->m_address = base + offset; + n_name_item->m_defined_in = "df.language.xml"; + n_name_item->m_comment = "used when naming items"; + n_name_item->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name_item); + +} +void node_from_art_image(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "elements"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image, field_name)); + auto n_elements = new NodeVector; + n_elements->m_field_name = field_name; + n_elements->m_df_type = DF_Type::art_image_element; + n_elements->m_rdf_type = RDF_Type::Vector; + n_elements->m_node_type = NodeType::Vector; + n_elements->m_defined_in = "df.art.xml"; + n_elements->m_addornements = "v*"; + n_elements->m_address = base + offset; + n_elements->m_parent = p_node_parent; + n_elements->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_elements); + + field_name = "properties"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image, field_name)); + auto n_properties = new NodeVector; + n_properties->m_field_name = field_name; + n_properties->m_df_type = DF_Type::art_image_property; + n_properties->m_rdf_type = RDF_Type::Vector; + n_properties->m_node_type = NodeType::Vector; + n_properties->m_defined_in = "df.art.xml"; + n_properties->m_addornements = "v*"; + n_properties->m_address = base + offset; + n_properties->m_parent = p_node_parent; + n_properties->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_properties); + + field_name = "event"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image, field_name)); + auto n_event = new NodeSimple; + n_event->m_field_name = field_name; + n_event->m_df_type = DF_Type::int32_t; + n_event->m_rdf_type = RDF_Type::int32_t; + n_event->m_node_type = NodeType::Simple; + n_event->m_address = base + offset; + n_event->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_event); + + field_name = "name"; + auto n_name = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image, field_name)); + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::language_name; + n_name->m_rdf_type = RDF_Type::Struct; + n_name->m_node_type = NodeType::Compound; + n_name->m_address = base + offset; + n_name->m_defined_in = "df.language.xml"; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "spec_ref_type"; + auto n_spec_ref_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image, field_name)); + n_spec_ref_type->m_field_name = field_name; + n_spec_ref_type->m_df_type = DF_Type::specific_ref_type; + n_spec_ref_type->m_rdf_type = RDF_Type::Enum; + n_spec_ref_type->m_node_type = NodeType::Enum; + n_spec_ref_type->m_base_type = DF_Type::int32_t; + n_spec_ref_type->m_enum_type = "specific_ref_type"; + n_spec_ref_type->m_address = base + offset; + n_spec_ref_type->m_defined_in = "df.refs.xml"; + n_spec_ref_type->m_first_value = 0; + n_spec_ref_type->m_last_value = 30; + n_spec_ref_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_spec_ref_type); + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "quality"; + auto n_quality = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image, field_name)); + n_quality->m_field_name = field_name; + n_quality->m_df_type = DF_Type::item_quality; + n_quality->m_rdf_type = RDF_Type::Enum; + n_quality->m_node_type = NodeType::Enum; + n_quality->m_base_type = DF_Type::int16_t; + n_quality->m_enum_type = "item_quality"; + n_quality->m_address = base + offset; + n_quality->m_defined_in = "df.items.xml"; + n_quality->m_first_value = 0; + n_quality->m_last_value = 6; + n_quality->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_quality); + + field_name = "artist"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image, field_name)); + auto n_artist = new NodeSimple; + n_artist->m_field_name = field_name; + n_artist->m_df_type = DF_Type::int32_t; + n_artist->m_rdf_type = RDF_Type::int32_t; + n_artist->m_node_type = NodeType::Simple; + n_artist->m_address = base + offset; + n_artist->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_artist); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image, field_name)); + auto n_anon_1 = new NodePointer; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = get_real_subtype(base+offset, DF_Type::general_ref); + n_anon_1->m_rdf_type = RDF_Type::Pointer; + n_anon_1->m_node_type = NodeType::Pointer; + n_anon_1->m_addornements = "*"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_defined_in = "df.refs.xml"; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image, field_name)); + auto n_year = new NodeSimple; + n_year->m_field_name = field_name; + n_year->m_df_type = DF_Type::int32_t; + n_year->m_rdf_type = RDF_Type::int32_t; + n_year->m_node_type = NodeType::Simple; + n_year->m_address = base + offset; + n_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_year); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "subid"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::art_image, field_name)); + auto n_subid = new NodeSimple; + n_subid->m_field_name = field_name; + n_subid->m_df_type = DF_Type::int16_t; + n_subid->m_rdf_type = RDF_Type::int16_t; + n_subid->m_node_type = NodeType::Simple; + n_subid->m_address = base + offset; + n_subid->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_subid); + +} +void node_from_poetic_form___union0(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = true) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "subject_histfig"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form, field_name)); + auto n_subject_histfig = new NodeSimple; + n_subject_histfig->m_field_name = field_name; + n_subject_histfig->m_df_type = DF_Type::int32_t; + n_subject_histfig->m_rdf_type = RDF_Type::int32_t; + n_subject_histfig->m_node_type = NodeType::Simple; + n_subject_histfig->m_address = base + offset; + n_subject_histfig->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_subject_histfig); + + field_name = "subject_topic"; + auto n_subject_topic = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form, field_name)); + n_subject_topic->m_field_name = field_name; + n_subject_topic->m_df_type = DF_Type::sphere_type; + n_subject_topic->m_rdf_type = RDF_Type::Enum; + n_subject_topic->m_node_type = NodeType::Enum; + n_subject_topic->m_base_type = DF_Type::int32_t; + n_subject_topic->m_enum_type = "sphere_type"; + n_subject_topic->m_address = base + offset; + n_subject_topic->m_defined_in = "df.language.xml"; + n_subject_topic->m_first_value = 0; + n_subject_topic->m_last_value = 129; + n_subject_topic->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_subject_topic); + +} +void node_from_poetic_form(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "name"; + auto n_name = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form, field_name)); + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::language_name; + n_name->m_rdf_type = RDF_Type::Struct; + n_name->m_node_type = NodeType::Compound; + n_name->m_address = base + offset; + n_name->m_defined_in = "df.language.xml"; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "originating_entity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form, field_name)); + auto n_originating_entity = new NodeSimple; + n_originating_entity->m_field_name = field_name; + n_originating_entity->m_df_type = DF_Type::int32_t; + n_originating_entity->m_rdf_type = RDF_Type::int32_t; + n_originating_entity->m_node_type = NodeType::Simple; + n_originating_entity->m_address = base + offset; + n_originating_entity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_originating_entity); + + field_name = "original_author"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form, field_name)); + auto n_original_author = new NodeSimple; + n_original_author->m_field_name = field_name; + n_original_author->m_df_type = DF_Type::int32_t; + n_original_author->m_rdf_type = RDF_Type::int32_t; + n_original_author->m_node_type = NodeType::Simple; + n_original_author->m_address = base + offset; + n_original_author->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_original_author); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::poetic_form__T_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "parts"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form, field_name)); + auto n_parts = new NodeVector; + n_parts->m_field_name = field_name; + n_parts->m_df_type = DF_Type::poetic_form_part; + n_parts->m_rdf_type = RDF_Type::Vector; + n_parts->m_node_type = NodeType::Vector; + n_parts->m_defined_in = "df.art.xml"; + n_parts->m_addornements = "v*"; + n_parts->m_address = base + offset; + n_parts->m_parent = p_node_parent; + n_parts->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_parts); + + field_name = "each_line_feet"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form, field_name)); + auto n_each_line_feet = new NodeSimple; + n_each_line_feet->m_field_name = field_name; + n_each_line_feet->m_df_type = DF_Type::int32_t; + n_each_line_feet->m_rdf_type = RDF_Type::int32_t; + n_each_line_feet->m_node_type = NodeType::Simple; + n_each_line_feet->m_address = base + offset; + n_each_line_feet->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_each_line_feet); + + field_name = "each_line_pattern"; + auto n_each_line_pattern = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form, field_name)); + n_each_line_pattern->m_field_name = field_name; + n_each_line_pattern->m_df_type = DF_Type::poetic_form_pattern; + n_each_line_pattern->m_rdf_type = RDF_Type::Enum; + n_each_line_pattern->m_node_type = NodeType::Enum; + n_each_line_pattern->m_base_type = DF_Type::int32_t; + n_each_line_pattern->m_enum_type = "poetic_form_pattern"; + n_each_line_pattern->m_address = base + offset; + n_each_line_pattern->m_defined_in = "df.art.xml"; + n_each_line_pattern->m_first_value = 0; + n_each_line_pattern->m_last_value = 11; + n_each_line_pattern->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_each_line_pattern); + + field_name = "every_line_caesura_position"; + auto n_every_line_caesura_position = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form, field_name)); + n_every_line_caesura_position->m_field_name = field_name; + n_every_line_caesura_position->m_df_type = DF_Type::poetic_form_caesura_position; + n_every_line_caesura_position->m_rdf_type = RDF_Type::Enum; + n_every_line_caesura_position->m_node_type = NodeType::Enum; + n_every_line_caesura_position->m_base_type = DF_Type::int32_t; + n_every_line_caesura_position->m_enum_type = "poetic_form_caesura_position"; + n_every_line_caesura_position->m_address = base + offset; + n_every_line_caesura_position->m_defined_in = "df.art.xml"; + n_every_line_caesura_position->m_first_value = 0; + n_every_line_caesura_position->m_last_value = 2; + n_every_line_caesura_position->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_every_line_caesura_position); + + field_name = "common_features"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form, field_name)); + auto n_common_features = new NodeVector; + n_common_features->m_field_name = field_name; + n_common_features->m_df_type = DF_Type::poetic_form_additional_feature; + n_common_features->m_rdf_type = RDF_Type::Vector; + n_common_features->m_node_type = NodeType::Vector; + n_common_features->m_enum_base = DF_Type::int32_t; + n_common_features->m_defined_in = "df.art.xml"; + n_common_features->m_addornements = "v"; + n_common_features->m_address = base + offset; + n_common_features->m_parent = p_node_parent; + n_common_features->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_common_features); + + field_name = "mood"; + auto n_mood = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form, field_name)); + n_mood->m_field_name = field_name; + n_mood->m_df_type = DF_Type::poetic_form_mood; + n_mood->m_rdf_type = RDF_Type::Enum; + n_mood->m_node_type = NodeType::Enum; + n_mood->m_base_type = DF_Type::int32_t; + n_mood->m_enum_type = "poetic_form_mood"; + n_mood->m_address = base + offset; + n_mood->m_defined_in = "df.art.xml"; + n_mood->m_first_value = 0; + n_mood->m_last_value = 6; + n_mood->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mood); + + field_name = "subject"; + auto n_subject = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form, field_name)); + n_subject->m_field_name = field_name; + n_subject->m_df_type = DF_Type::poetic_form_subject; + n_subject->m_rdf_type = RDF_Type::Enum; + n_subject->m_node_type = NodeType::Enum; + n_subject->m_base_type = DF_Type::int32_t; + n_subject->m_enum_type = "poetic_form_subject"; + n_subject->m_address = base + offset; + n_subject->m_defined_in = "df.art.xml"; + n_subject->m_first_value = -1; + n_subject->m_last_value = 20; + n_subject->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_subject); + + auto n_$union0 = new NodeAnonymous; + field_name = "subject_histfig"; // One child of the anonymous union + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form, field_name)); + n_$union0->m_field_name = "N/A"; + n_$union0->m_df_type = DF_Type::poetic_form___union0; + n_$union0->m_rdf_type = RDF_Type::AnonymousUnion; + n_$union0->m_node_type = NodeType::AnonymousUnion; + n_$union0->m_address = base + offset; + n_$union0->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_$union0); + + field_name = "action"; + auto n_action = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form, field_name)); + n_action->m_field_name = field_name; + n_action->m_df_type = DF_Type::poetic_form_action; + n_action->m_rdf_type = RDF_Type::Enum; + n_action->m_node_type = NodeType::Enum; + n_action->m_base_type = DF_Type::int32_t; + n_action->m_enum_type = "poetic_form_action"; + n_action->m_address = base + offset; + n_action->m_defined_in = "df.art.xml"; + n_action->m_first_value = 0; + n_action->m_last_value = 21; + n_action->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_action); + + field_name = "preferred_perspective"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form, field_name)); + auto n_preferred_perspective = new NodeSimple; + n_preferred_perspective->m_field_name = field_name; + n_preferred_perspective->m_df_type = DF_Type::int32_t; + n_preferred_perspective->m_rdf_type = RDF_Type::int32_t; + n_preferred_perspective->m_node_type = NodeType::Simple; + n_preferred_perspective->m_address = base + offset; + n_preferred_perspective->m_comment = "if not -1, ALWAYS written from that perspective"; + n_preferred_perspective->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_preferred_perspective); + + field_name = "features"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form, field_name)); + auto n_features = new NodeBitfield; + n_features->m_field_name = field_name; + n_features->m_df_type = DF_Type::poetic_form_feature; + n_features->m_rdf_type = RDF_Type::Bitfield; + n_features->m_node_type = NodeType::Bitfield; + n_features->m_address = base + offset; + n_features->m_defined_in = "df.art.xml"; + n_features->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_features); + + field_name = "perspectives"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::poetic_form, field_name)); + auto n_perspectives = new NodeVector; + n_perspectives->m_field_name = field_name; + n_perspectives->m_df_type = DF_Type::poetic_form_perspective; + n_perspectives->m_rdf_type = RDF_Type::Vector; + n_perspectives->m_node_type = NodeType::Vector; + n_perspectives->m_defined_in = "df.art.xml"; + n_perspectives->m_addornements = "v*"; + n_perspectives->m_address = base + offset; + n_perspectives->m_parent = p_node_parent; + n_perspectives->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_perspectives); + +} +void node_from_musical_form(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "name"; + auto n_name = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form, field_name)); + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::language_name; + n_name->m_rdf_type = RDF_Type::Struct; + n_name->m_node_type = NodeType::Compound; + n_name->m_address = base + offset; + n_name->m_defined_in = "df.language.xml"; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "originating_entity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form, field_name)); + auto n_originating_entity = new NodeSimple; + n_originating_entity->m_field_name = field_name; + n_originating_entity->m_df_type = DF_Type::int32_t; + n_originating_entity->m_rdf_type = RDF_Type::int32_t; + n_originating_entity->m_node_type = NodeType::Simple; + n_originating_entity->m_address = base + offset; + n_originating_entity->m_comment = "ID of the entity from which the musical form originated."; + n_originating_entity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_originating_entity); + + field_name = "original_author"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form, field_name)); + auto n_original_author = new NodeSimple; + n_original_author->m_field_name = field_name; + n_original_author->m_df_type = DF_Type::int32_t; + n_original_author->m_rdf_type = RDF_Type::int32_t; + n_original_author->m_node_type = NodeType::Simple; + n_original_author->m_address = base + offset; + n_original_author->m_comment = "historical figure ID of the composer"; + n_original_author->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_original_author); + + field_name = "scales"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form, field_name)); + auto n_scales = new NodeVector; + n_scales->m_field_name = field_name; + n_scales->m_df_type = DF_Type::musical_form_vocals; + n_scales->m_rdf_type = RDF_Type::Vector; + n_scales->m_node_type = NodeType::Vector; + n_scales->m_defined_in = "df.art.xml"; + n_scales->m_addornements = "v*"; + n_scales->m_address = base + offset; + n_scales->m_parent = p_node_parent; + n_scales->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_scales); + + field_name = "instruments"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form, field_name)); + auto n_instruments = new NodeVector; + n_instruments->m_field_name = field_name; + n_instruments->m_df_type = DF_Type::musical_form_instruments; + n_instruments->m_rdf_type = RDF_Type::Vector; + n_instruments->m_node_type = NodeType::Vector; + n_instruments->m_defined_in = "df.art.xml"; + n_instruments->m_addornements = "v*"; + n_instruments->m_address = base + offset; + n_instruments->m_parent = p_node_parent; + n_instruments->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_instruments); + + field_name = "melodies"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form, field_name)); + auto n_melodies = new NodeVector; + n_melodies->m_field_name = field_name; + n_melodies->m_df_type = DF_Type::musical_form_melodies; + n_melodies->m_rdf_type = RDF_Type::Vector; + n_melodies->m_node_type = NodeType::Vector; + n_melodies->m_defined_in = "df.art.xml"; + n_melodies->m_addornements = "v*"; + n_melodies->m_address = base + offset; + n_melodies->m_parent = p_node_parent; + n_melodies->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_melodies); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form, field_name)); + auto n_anon_1 = new NodeVector; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::musical_form_sub4; + n_anon_1->m_rdf_type = RDF_Type::Vector; + n_anon_1->m_node_type = NodeType::Vector; + n_anon_1->m_defined_in = "df.art.xml"; + n_anon_1->m_addornements = "v*"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "tempo_style"; + auto n_tempo_style = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form, field_name)); + n_tempo_style->m_field_name = field_name; + n_tempo_style->m_df_type = DF_Type::musical_form_style; + n_tempo_style->m_rdf_type = RDF_Type::Enum; + n_tempo_style->m_node_type = NodeType::Enum; + n_tempo_style->m_base_type = DF_Type::int32_t; + n_tempo_style->m_enum_type = "musical_form_style"; + n_tempo_style->m_address = base + offset; + n_tempo_style->m_defined_in = "df.art.xml"; + n_tempo_style->m_first_value = -1; + n_tempo_style->m_last_value = 71; + n_tempo_style->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tempo_style); + + field_name = "dynamic_style"; + auto n_dynamic_style = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form, field_name)); + n_dynamic_style->m_field_name = field_name; + n_dynamic_style->m_df_type = DF_Type::musical_form_style; + n_dynamic_style->m_rdf_type = RDF_Type::Enum; + n_dynamic_style->m_node_type = NodeType::Enum; + n_dynamic_style->m_base_type = DF_Type::int32_t; + n_dynamic_style->m_enum_type = "musical_form_style"; + n_dynamic_style->m_address = base + offset; + n_dynamic_style->m_defined_in = "df.art.xml"; + n_dynamic_style->m_first_value = -1; + n_dynamic_style->m_last_value = 71; + n_dynamic_style->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dynamic_style); + + field_name = "overall_style"; + auto n_overall_style = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form, field_name)); + n_overall_style->m_field_name = field_name; + n_overall_style->m_df_type = DF_Type::musical_form_style; + n_overall_style->m_rdf_type = RDF_Type::Enum; + n_overall_style->m_node_type = NodeType::Enum; + n_overall_style->m_base_type = DF_Type::int32_t; + n_overall_style->m_enum_type = "musical_form_style"; + n_overall_style->m_address = base + offset; + n_overall_style->m_defined_in = "df.art.xml"; + n_overall_style->m_first_value = -1; + n_overall_style->m_last_value = 71; + n_overall_style->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_overall_style); + + field_name = "poetic_form_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form, field_name)); + auto n_poetic_form_id = new NodeSimple; + n_poetic_form_id->m_field_name = field_name; + n_poetic_form_id->m_df_type = DF_Type::int32_t; + n_poetic_form_id->m_rdf_type = RDF_Type::int32_t; + n_poetic_form_id->m_node_type = NodeType::Simple; + n_poetic_form_id->m_address = base + offset; + n_poetic_form_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_poetic_form_id); + + field_name = "written_content_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form, field_name)); + auto n_written_content_id = new NodeSimple; + n_written_content_id->m_field_name = field_name; + n_written_content_id->m_df_type = DF_Type::int32_t; + n_written_content_id->m_rdf_type = RDF_Type::int32_t; + n_written_content_id->m_node_type = NodeType::Simple; + n_written_content_id->m_address = base + offset; + n_written_content_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_written_content_id); + + field_name = "scale_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form, field_name)); + auto n_scale_id = new NodeSimple; + n_scale_id->m_field_name = field_name; + n_scale_id->m_df_type = DF_Type::int32_t; + n_scale_id->m_rdf_type = RDF_Type::int32_t; + n_scale_id->m_node_type = NodeType::Simple; + n_scale_id->m_address = base + offset; + n_scale_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_scale_id); + + field_name = "scale_subid"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form, field_name)); + auto n_scale_subid = new NodeSimple; + n_scale_subid->m_field_name = field_name; + n_scale_subid->m_df_type = DF_Type::int32_t; + n_scale_subid->m_rdf_type = RDF_Type::int32_t; + n_scale_subid->m_node_type = NodeType::Simple; + n_scale_subid->m_address = base + offset; + n_scale_subid->m_comment = "reference to scale_sub2"; + n_scale_subid->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_scale_subid); + + field_name = "rhythm_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form, field_name)); + auto n_rhythm_id = new NodeSimple; + n_rhythm_id->m_field_name = field_name; + n_rhythm_id->m_df_type = DF_Type::int32_t; + n_rhythm_id->m_rdf_type = RDF_Type::int32_t; + n_rhythm_id->m_node_type = NodeType::Simple; + n_rhythm_id->m_address = base + offset; + n_rhythm_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rhythm_id); + + field_name = "rhythm_subid2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form, field_name)); + auto n_rhythm_subid2 = new NodeSimple; + n_rhythm_subid2->m_field_name = field_name; + n_rhythm_subid2->m_df_type = DF_Type::int32_t; + n_rhythm_subid2->m_rdf_type = RDF_Type::int32_t; + n_rhythm_subid2->m_node_type = NodeType::Simple; + n_rhythm_subid2->m_address = base + offset; + n_rhythm_subid2->m_comment = "reference to rhythm_sub2"; + n_rhythm_subid2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rhythm_subid2); + + field_name = "rhythm_subid1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form, field_name)); + auto n_rhythm_subid1 = new NodeSimple; + n_rhythm_subid1->m_field_name = field_name; + n_rhythm_subid1->m_df_type = DF_Type::int32_t; + n_rhythm_subid1->m_rdf_type = RDF_Type::int32_t; + n_rhythm_subid1->m_node_type = NodeType::Simple; + n_rhythm_subid1->m_address = base + offset; + n_rhythm_subid1->m_comment = "reference to rhythm_sub1"; + n_rhythm_subid1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rhythm_subid1); + + field_name = "features"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form, field_name)); + auto n_features = new NodeBitfield; + n_features->m_field_name = field_name; + n_features->m_df_type = DF_Type::musical_form_feature; + n_features->m_rdf_type = RDF_Type::Bitfield; + n_features->m_node_type = NodeType::Bitfield; + n_features->m_address = base + offset; + n_features->m_defined_in = "df.art.xml"; + n_features->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_features); + + field_name = "pitch_style"; + auto n_pitch_style = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form, field_name)); + n_pitch_style->m_field_name = field_name; + n_pitch_style->m_df_type = DF_Type::musical_form_pitch_style; + n_pitch_style->m_rdf_type = RDF_Type::Enum; + n_pitch_style->m_node_type = NodeType::Enum; + n_pitch_style->m_base_type = DF_Type::int32_t; + n_pitch_style->m_enum_type = "musical_form_pitch_style"; + n_pitch_style->m_address = base + offset; + n_pitch_style->m_defined_in = "df.art.xml"; + n_pitch_style->m_first_value = 0; + n_pitch_style->m_last_value = 4; + n_pitch_style->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pitch_style); + + field_name = "purpose"; + auto n_purpose = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form, field_name)); + n_purpose->m_field_name = field_name; + n_purpose->m_df_type = DF_Type::musical_form_purpose; + n_purpose->m_rdf_type = RDF_Type::Enum; + n_purpose->m_node_type = NodeType::Enum; + n_purpose->m_base_type = DF_Type::int32_t; + n_purpose->m_enum_type = "musical_form_purpose"; + n_purpose->m_address = base + offset; + n_purpose->m_defined_in = "df.art.xml"; + n_purpose->m_first_value = 0; + n_purpose->m_last_value = 3; + n_purpose->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_purpose); + + field_name = "devotion_target"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form, field_name)); + auto n_devotion_target = new NodeSimple; + n_devotion_target->m_field_name = field_name; + n_devotion_target->m_df_type = DF_Type::int32_t; + n_devotion_target->m_rdf_type = RDF_Type::int32_t; + n_devotion_target->m_node_type = NodeType::Simple; + n_devotion_target->m_address = base + offset; + n_devotion_target->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_devotion_target); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::musical_form, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::musical_form__T_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + +} +void node_from_dance_form(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "name"; + auto n_name = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form, field_name)); + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::language_name; + n_name->m_rdf_type = RDF_Type::Struct; + n_name->m_node_type = NodeType::Compound; + n_name->m_address = base + offset; + n_name->m_defined_in = "df.language.xml"; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "musical_form_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form, field_name)); + auto n_musical_form_id = new NodeSimple; + n_musical_form_id->m_field_name = field_name; + n_musical_form_id->m_df_type = DF_Type::int32_t; + n_musical_form_id->m_rdf_type = RDF_Type::int32_t; + n_musical_form_id->m_node_type = NodeType::Simple; + n_musical_form_id->m_address = base + offset; + n_musical_form_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_musical_form_id); + + field_name = "music_written_content_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form, field_name)); + auto n_music_written_content_id = new NodeSimple; + n_music_written_content_id->m_field_name = field_name; + n_music_written_content_id->m_df_type = DF_Type::int32_t; + n_music_written_content_id->m_rdf_type = RDF_Type::int32_t; + n_music_written_content_id->m_node_type = NodeType::Simple; + n_music_written_content_id->m_address = base + offset; + n_music_written_content_id->m_comment = "at most one of this and musical_form_id is non null"; + n_music_written_content_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_music_written_content_id); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "originating_entity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form, field_name)); + auto n_originating_entity = new NodeSimple; + n_originating_entity->m_field_name = field_name; + n_originating_entity->m_df_type = DF_Type::int32_t; + n_originating_entity->m_rdf_type = RDF_Type::int32_t; + n_originating_entity->m_node_type = NodeType::Simple; + n_originating_entity->m_address = base + offset; + n_originating_entity->m_comment = "ID of the entity from which the dance form originated."; + n_originating_entity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_originating_entity); + + field_name = "original_author"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form, field_name)); + auto n_original_author = new NodeSimple; + n_original_author->m_field_name = field_name; + n_original_author->m_df_type = DF_Type::int32_t; + n_original_author->m_rdf_type = RDF_Type::int32_t; + n_original_author->m_node_type = NodeType::Simple; + n_original_author->m_address = base + offset; + n_original_author->m_comment = "ID of the historical figure who developed the dance form."; + n_original_author->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_original_author); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form, field_name)); + auto n_anon_7 = new NodeSimple; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::int32_t; + n_anon_7->m_rdf_type = RDF_Type::int32_t; + n_anon_7->m_node_type = NodeType::Simple; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_7); + + field_name = "anon_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form, field_name)); + auto n_anon_8 = new NodeSimple; + n_anon_8->m_field_name = field_name; + n_anon_8->m_df_type = DF_Type::int32_t; + n_anon_8->m_rdf_type = RDF_Type::int32_t; + n_anon_8->m_node_type = NodeType::Simple; + n_anon_8->m_address = base + offset; + n_anon_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_8); + + field_name = "anon_9"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form, field_name)); + auto n_anon_9 = new NodeSimple; + n_anon_9->m_field_name = field_name; + n_anon_9->m_df_type = DF_Type::int32_t; + n_anon_9->m_rdf_type = RDF_Type::int32_t; + n_anon_9->m_node_type = NodeType::Simple; + n_anon_9->m_address = base + offset; + n_anon_9->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_9); + + field_name = "anon_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form, field_name)); + auto n_anon_10 = new NodeSimple; + n_anon_10->m_field_name = field_name; + n_anon_10->m_df_type = DF_Type::int32_t; + n_anon_10->m_rdf_type = RDF_Type::int32_t; + n_anon_10->m_node_type = NodeType::Simple; + n_anon_10->m_address = base + offset; + n_anon_10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_10); + + field_name = "anon_11"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form, field_name)); + auto n_anon_11 = new NodeSimple; + n_anon_11->m_field_name = field_name; + n_anon_11->m_df_type = DF_Type::int32_t; + n_anon_11->m_rdf_type = RDF_Type::int32_t; + n_anon_11->m_node_type = NodeType::Simple; + n_anon_11->m_address = base + offset; + n_anon_11->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_11); + + field_name = "anon_12"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form, field_name)); + auto n_anon_12 = new NodeVector; + n_anon_12->m_field_name = field_name; + n_anon_12->m_df_type = DF_Type::int32_t; + n_anon_12->m_rdf_type = RDF_Type::Vector; + n_anon_12->m_node_type = NodeType::Vector; + n_anon_12->m_addornements = "v"; + n_anon_12->m_address = base + offset; + n_anon_12->m_parent = p_node_parent; + n_anon_12->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_12); + + field_name = "anon_13"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form, field_name)); + auto n_anon_13 = new NodeSimple; + n_anon_13->m_field_name = field_name; + n_anon_13->m_df_type = DF_Type::int32_t; + n_anon_13->m_rdf_type = RDF_Type::int32_t; + n_anon_13->m_node_type = NodeType::Simple; + n_anon_13->m_address = base + offset; + n_anon_13->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_13); + + field_name = "anon_14"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form, field_name)); + auto n_anon_14 = new NodeSimple; + n_anon_14->m_field_name = field_name; + n_anon_14->m_df_type = DF_Type::int32_t; + n_anon_14->m_rdf_type = RDF_Type::int32_t; + n_anon_14->m_node_type = NodeType::Simple; + n_anon_14->m_address = base + offset; + n_anon_14->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_14); + + field_name = "anon_15"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form, field_name)); + auto n_anon_15 = new NodeSimple; + n_anon_15->m_field_name = field_name; + n_anon_15->m_df_type = DF_Type::int32_t; + n_anon_15->m_rdf_type = RDF_Type::int32_t; + n_anon_15->m_node_type = NodeType::Simple; + n_anon_15->m_address = base + offset; + n_anon_15->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_15); + + field_name = "anon_16"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form, field_name)); + auto n_anon_16 = new NodeSimple; + n_anon_16->m_field_name = field_name; + n_anon_16->m_df_type = DF_Type::int32_t; + n_anon_16->m_rdf_type = RDF_Type::int32_t; + n_anon_16->m_node_type = NodeType::Simple; + n_anon_16->m_address = base + offset; + n_anon_16->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_16); + + field_name = "anon_17"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form, field_name)); + auto n_anon_17 = new NodeVector; + n_anon_17->m_field_name = field_name; + n_anon_17->m_df_type = DF_Type::int32_t; + n_anon_17->m_rdf_type = RDF_Type::Vector; + n_anon_17->m_node_type = NodeType::Vector; + n_anon_17->m_addornements = "v"; + n_anon_17->m_address = base + offset; + n_anon_17->m_parent = p_node_parent; + n_anon_17->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_17); + + field_name = "anon_18"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form, field_name)); + auto n_anon_18 = new NodeVector; + n_anon_18->m_field_name = field_name; + n_anon_18->m_df_type = DF_Type::int32_t; + n_anon_18->m_rdf_type = RDF_Type::Vector; + n_anon_18->m_node_type = NodeType::Vector; + n_anon_18->m_addornements = "v"; + n_anon_18->m_address = base + offset; + n_anon_18->m_parent = p_node_parent; + n_anon_18->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_18); + + field_name = "anon_19"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form, field_name)); + auto n_anon_19 = new NodeVector; + n_anon_19->m_field_name = field_name; + n_anon_19->m_df_type = DF_Type::int32_t; + n_anon_19->m_rdf_type = RDF_Type::Vector; + n_anon_19->m_node_type = NodeType::Vector; + n_anon_19->m_addornements = "v"; + n_anon_19->m_address = base + offset; + n_anon_19->m_parent = p_node_parent; + n_anon_19->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_19); + + field_name = "anon_20"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form, field_name)); + auto n_anon_20 = new NodeVector; + n_anon_20->m_field_name = field_name; + n_anon_20->m_df_type = DF_Type::int32_t; + n_anon_20->m_rdf_type = RDF_Type::Vector; + n_anon_20->m_node_type = NodeType::Vector; + n_anon_20->m_addornements = "v"; + n_anon_20->m_address = base + offset; + n_anon_20->m_parent = p_node_parent; + n_anon_20->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_20); + + field_name = "anon_21"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form, field_name)); + auto n_anon_21 = new NodeVector; + n_anon_21->m_field_name = field_name; + n_anon_21->m_df_type = DF_Type::dance_form_sub1; + n_anon_21->m_rdf_type = RDF_Type::Vector; + n_anon_21->m_node_type = NodeType::Vector; + n_anon_21->m_defined_in = "df.art.xml"; + n_anon_21->m_addornements = "v*"; + n_anon_21->m_address = base + offset; + n_anon_21->m_parent = p_node_parent; + n_anon_21->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_21); + + field_name = "anon_22"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dance_form, field_name)); + auto n_anon_22 = new NodeVector; + n_anon_22->m_field_name = field_name; + n_anon_22->m_df_type = DF_Type::dance_form_sub2; + n_anon_22->m_rdf_type = RDF_Type::Vector; + n_anon_22->m_node_type = NodeType::Vector; + n_anon_22->m_defined_in = "df.art.xml"; + n_anon_22->m_addornements = "v*"; + n_anon_22->m_address = base + offset; + n_anon_22->m_parent = p_node_parent; + n_anon_22->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_22); + +} +void node_from_entity_occasion(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_occasion, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_occasion, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_occasion, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_occasion, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "name"; + auto n_name = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_occasion, field_name)); + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::language_name; + n_name->m_rdf_type = RDF_Type::Struct; + n_name->m_node_type = NodeType::Compound; + n_name->m_address = base + offset; + n_name->m_defined_in = "df.language.xml"; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_occasion, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_occasion, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_occasion, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "event"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_occasion, field_name)); + auto n_event = new NodeSimple; + n_event->m_field_name = field_name; + n_event->m_df_type = DF_Type::int32_t; + n_event->m_rdf_type = RDF_Type::int32_t; + n_event->m_node_type = NodeType::Simple; + n_event->m_address = base + offset; + n_event->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_event); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_occasion, field_name)); + auto n_anon_7 = new NodeSimple; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::int32_t; + n_anon_7->m_rdf_type = RDF_Type::int32_t; + n_anon_7->m_node_type = NodeType::Simple; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_7); + + field_name = "schedule"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_occasion, field_name)); + auto n_schedule = new NodeVector; + n_schedule->m_field_name = field_name; + n_schedule->m_df_type = DF_Type::entity_occasion_schedule; + n_schedule->m_rdf_type = RDF_Type::Vector; + n_schedule->m_node_type = NodeType::Vector; + n_schedule->m_defined_in = "df.entities.xml"; + n_schedule->m_addornements = "v*"; + n_schedule->m_address = base + offset; + n_schedule->m_parent = p_node_parent; + n_schedule->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_schedule); + + field_name = "anon_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_occasion, field_name)); + auto n_anon_8 = new NodeSimple; + n_anon_8->m_field_name = field_name; + n_anon_8->m_df_type = DF_Type::int32_t; + n_anon_8->m_rdf_type = RDF_Type::int32_t; + n_anon_8->m_node_type = NodeType::Simple; + n_anon_8->m_address = base + offset; + n_anon_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_8); + +} +void node_from_historical_entity__T_resources__T_metal(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "pick"; + auto n_pick = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_metal, field_name)); + n_pick->m_field_name = field_name; + n_pick->m_df_type = DF_Type::material_vec_ref; + n_pick->m_rdf_type = RDF_Type::Struct; + n_pick->m_node_type = NodeType::Compound; + n_pick->m_address = base + offset; + n_pick->m_defined_in = "df.materials.xml"; + n_pick->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pick); + + field_name = "weapon"; + auto n_weapon = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_metal, field_name)); + n_weapon->m_field_name = field_name; + n_weapon->m_df_type = DF_Type::material_vec_ref; + n_weapon->m_rdf_type = RDF_Type::Struct; + n_weapon->m_node_type = NodeType::Compound; + n_weapon->m_address = base + offset; + n_weapon->m_defined_in = "df.materials.xml"; + n_weapon->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_weapon); + + field_name = "ranged"; + auto n_ranged = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_metal, field_name)); + n_ranged->m_field_name = field_name; + n_ranged->m_df_type = DF_Type::material_vec_ref; + n_ranged->m_rdf_type = RDF_Type::Struct; + n_ranged->m_node_type = NodeType::Compound; + n_ranged->m_address = base + offset; + n_ranged->m_defined_in = "df.materials.xml"; + n_ranged->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ranged); + + field_name = "ammo"; + auto n_ammo = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_metal, field_name)); + n_ammo->m_field_name = field_name; + n_ammo->m_df_type = DF_Type::material_vec_ref; + n_ammo->m_rdf_type = RDF_Type::Struct; + n_ammo->m_node_type = NodeType::Compound; + n_ammo->m_address = base + offset; + n_ammo->m_defined_in = "df.materials.xml"; + n_ammo->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ammo); + + field_name = "ammo2"; + auto n_ammo2 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_metal, field_name)); + n_ammo2->m_field_name = field_name; + n_ammo2->m_df_type = DF_Type::material_vec_ref; + n_ammo2->m_rdf_type = RDF_Type::Struct; + n_ammo2->m_node_type = NodeType::Compound; + n_ammo2->m_address = base + offset; + n_ammo2->m_defined_in = "df.materials.xml"; + n_ammo2->m_comment = "maybe intended for siege ammo"; + n_ammo2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ammo2); + + field_name = "armor"; + auto n_armor = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_metal, field_name)); + n_armor->m_field_name = field_name; + n_armor->m_df_type = DF_Type::material_vec_ref; + n_armor->m_rdf_type = RDF_Type::Struct; + n_armor->m_node_type = NodeType::Compound; + n_armor->m_address = base + offset; + n_armor->m_defined_in = "df.materials.xml"; + n_armor->m_comment = "also instruments, toys, and tools"; + n_armor->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_armor); + + field_name = "anvil"; + auto n_anvil = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_metal, field_name)); + n_anvil->m_field_name = field_name; + n_anvil->m_df_type = DF_Type::material_vec_ref; + n_anvil->m_rdf_type = RDF_Type::Struct; + n_anvil->m_node_type = NodeType::Compound; + n_anvil->m_address = base + offset; + n_anvil->m_defined_in = "df.materials.xml"; + n_anvil->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anvil); + +} +void node_from_historical_entity__T_resources__T_organic(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "leather"; + auto n_leather = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_organic, field_name)); + n_leather->m_field_name = field_name; + n_leather->m_df_type = DF_Type::material_vec_ref; + n_leather->m_rdf_type = RDF_Type::Struct; + n_leather->m_node_type = NodeType::Compound; + n_leather->m_address = base + offset; + n_leather->m_defined_in = "df.materials.xml"; + n_leather->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_leather); + + field_name = "parchment"; + auto n_parchment = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_organic, field_name)); + n_parchment->m_field_name = field_name; + n_parchment->m_df_type = DF_Type::material_vec_ref; + n_parchment->m_rdf_type = RDF_Type::Struct; + n_parchment->m_node_type = NodeType::Compound; + n_parchment->m_address = base + offset; + n_parchment->m_defined_in = "df.materials.xml"; + n_parchment->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_parchment); + + field_name = "fiber"; + auto n_fiber = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_organic, field_name)); + n_fiber->m_field_name = field_name; + n_fiber->m_df_type = DF_Type::material_vec_ref; + n_fiber->m_rdf_type = RDF_Type::Struct; + n_fiber->m_node_type = NodeType::Compound; + n_fiber->m_address = base + offset; + n_fiber->m_defined_in = "df.materials.xml"; + n_fiber->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_fiber); + + field_name = "silk"; + auto n_silk = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_organic, field_name)); + n_silk->m_field_name = field_name; + n_silk->m_df_type = DF_Type::material_vec_ref; + n_silk->m_rdf_type = RDF_Type::Struct; + n_silk->m_node_type = NodeType::Compound; + n_silk->m_address = base + offset; + n_silk->m_defined_in = "df.materials.xml"; + n_silk->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_silk); + + field_name = "wool"; + auto n_wool = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_organic, field_name)); + n_wool->m_field_name = field_name; + n_wool->m_df_type = DF_Type::material_vec_ref; + n_wool->m_rdf_type = RDF_Type::Struct; + n_wool->m_node_type = NodeType::Compound; + n_wool->m_address = base + offset; + n_wool->m_defined_in = "df.materials.xml"; + n_wool->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_wool); + + field_name = "wood"; + auto n_wood = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_organic, field_name)); + n_wood->m_field_name = field_name; + n_wood->m_df_type = DF_Type::material_vec_ref; + n_wood->m_rdf_type = RDF_Type::Struct; + n_wood->m_node_type = NodeType::Compound; + n_wood->m_address = base + offset; + n_wood->m_defined_in = "df.materials.xml"; + n_wood->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_wood); + +} +void node_from_historical_entity__T_resources__T_refuse(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "bone"; + auto n_bone = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_refuse, field_name)); + n_bone->m_field_name = field_name; + n_bone->m_df_type = DF_Type::material_vec_ref; + n_bone->m_rdf_type = RDF_Type::Struct; + n_bone->m_node_type = NodeType::Compound; + n_bone->m_address = base + offset; + n_bone->m_defined_in = "df.materials.xml"; + n_bone->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_bone); + + field_name = "shell"; + auto n_shell = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_refuse, field_name)); + n_shell->m_field_name = field_name; + n_shell->m_df_type = DF_Type::material_vec_ref; + n_shell->m_rdf_type = RDF_Type::Struct; + n_shell->m_node_type = NodeType::Compound; + n_shell->m_address = base + offset; + n_shell->m_defined_in = "df.materials.xml"; + n_shell->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_shell); + + field_name = "pearl"; + auto n_pearl = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_refuse, field_name)); + n_pearl->m_field_name = field_name; + n_pearl->m_df_type = DF_Type::material_vec_ref; + n_pearl->m_rdf_type = RDF_Type::Struct; + n_pearl->m_node_type = NodeType::Compound; + n_pearl->m_address = base + offset; + n_pearl->m_defined_in = "df.materials.xml"; + n_pearl->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pearl); + + field_name = "ivory"; + auto n_ivory = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_refuse, field_name)); + n_ivory->m_field_name = field_name; + n_ivory->m_df_type = DF_Type::material_vec_ref; + n_ivory->m_rdf_type = RDF_Type::Struct; + n_ivory->m_node_type = NodeType::Compound; + n_ivory->m_address = base + offset; + n_ivory->m_defined_in = "df.materials.xml"; + n_ivory->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ivory); + + field_name = "horn"; + auto n_horn = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_refuse, field_name)); + n_horn->m_field_name = field_name; + n_horn->m_df_type = DF_Type::material_vec_ref; + n_horn->m_rdf_type = RDF_Type::Struct; + n_horn->m_node_type = NodeType::Compound; + n_horn->m_address = base + offset; + n_horn->m_defined_in = "df.materials.xml"; + n_horn->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_horn); + +} +void node_from_historical_entity__T_resources__T_misc_mat(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "others"; + auto n_others = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_misc_mat, field_name)); + n_others->m_field_name = field_name; + n_others->m_df_type = DF_Type::material_vec_ref; + n_others->m_rdf_type = RDF_Type::Struct; + n_others->m_node_type = NodeType::Compound; + n_others->m_address = base + offset; + n_others->m_defined_in = "df.materials.xml"; + n_others->m_comment = "amber and coral"; + n_others->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_others); + + field_name = "glass"; + auto n_glass = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_misc_mat, field_name)); + n_glass->m_field_name = field_name; + n_glass->m_df_type = DF_Type::material_vec_ref; + n_glass->m_rdf_type = RDF_Type::Struct; + n_glass->m_node_type = NodeType::Compound; + n_glass->m_address = base + offset; + n_glass->m_defined_in = "df.materials.xml"; + n_glass->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_glass); + + field_name = "sand"; + auto n_sand = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_misc_mat, field_name)); + n_sand->m_field_name = field_name; + n_sand->m_df_type = DF_Type::material_vec_ref; + n_sand->m_rdf_type = RDF_Type::Struct; + n_sand->m_node_type = NodeType::Compound; + n_sand->m_address = base + offset; + n_sand->m_defined_in = "df.materials.xml"; + n_sand->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sand); + + field_name = "clay"; + auto n_clay = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_misc_mat, field_name)); + n_clay->m_field_name = field_name; + n_clay->m_df_type = DF_Type::material_vec_ref; + n_clay->m_rdf_type = RDF_Type::Struct; + n_clay->m_node_type = NodeType::Compound; + n_clay->m_address = base + offset; + n_clay->m_defined_in = "df.materials.xml"; + n_clay->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_clay); + + field_name = "crafts"; + auto n_crafts = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_misc_mat, field_name)); + n_crafts->m_field_name = field_name; + n_crafts->m_df_type = DF_Type::material_vec_ref; + n_crafts->m_rdf_type = RDF_Type::Struct; + n_crafts->m_node_type = NodeType::Compound; + n_crafts->m_address = base + offset; + n_crafts->m_defined_in = "df.materials.xml"; + n_crafts->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_crafts); + + field_name = "glass_unused"; + auto n_glass_unused = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_misc_mat, field_name)); + n_glass_unused->m_field_name = field_name; + n_glass_unused->m_df_type = DF_Type::material_vec_ref; + n_glass_unused->m_rdf_type = RDF_Type::Struct; + n_glass_unused->m_node_type = NodeType::Compound; + n_glass_unused->m_address = base + offset; + n_glass_unused->m_defined_in = "df.materials.xml"; + n_glass_unused->m_comment = "used for vial extracts on embark"; + n_glass_unused->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_glass_unused); + + field_name = "barrels"; + auto n_barrels = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_misc_mat, field_name)); + n_barrels->m_field_name = field_name; + n_barrels->m_df_type = DF_Type::material_vec_ref; + n_barrels->m_rdf_type = RDF_Type::Struct; + n_barrels->m_node_type = NodeType::Compound; + n_barrels->m_address = base + offset; + n_barrels->m_defined_in = "df.materials.xml"; + n_barrels->m_comment = "also buckets, splints, and crutches"; + n_barrels->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_barrels); + + field_name = "flasks"; + auto n_flasks = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_misc_mat, field_name)); + n_flasks->m_field_name = field_name; + n_flasks->m_df_type = DF_Type::material_vec_ref; + n_flasks->m_rdf_type = RDF_Type::Struct; + n_flasks->m_node_type = NodeType::Compound; + n_flasks->m_address = base + offset; + n_flasks->m_defined_in = "df.materials.xml"; + n_flasks->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flasks); + + field_name = "quivers"; + auto n_quivers = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_misc_mat, field_name)); + n_quivers->m_field_name = field_name; + n_quivers->m_df_type = DF_Type::material_vec_ref; + n_quivers->m_rdf_type = RDF_Type::Struct; + n_quivers->m_node_type = NodeType::Compound; + n_quivers->m_address = base + offset; + n_quivers->m_defined_in = "df.materials.xml"; + n_quivers->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_quivers); + + field_name = "backpacks"; + auto n_backpacks = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_misc_mat, field_name)); + n_backpacks->m_field_name = field_name; + n_backpacks->m_df_type = DF_Type::material_vec_ref; + n_backpacks->m_rdf_type = RDF_Type::Struct; + n_backpacks->m_node_type = NodeType::Compound; + n_backpacks->m_address = base + offset; + n_backpacks->m_defined_in = "df.materials.xml"; + n_backpacks->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_backpacks); + + field_name = "cages"; + auto n_cages = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_misc_mat, field_name)); + n_cages->m_field_name = field_name; + n_cages->m_df_type = DF_Type::material_vec_ref; + n_cages->m_rdf_type = RDF_Type::Struct; + n_cages->m_node_type = NodeType::Compound; + n_cages->m_address = base + offset; + n_cages->m_defined_in = "df.materials.xml"; + n_cages->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cages); + + field_name = "wood2"; + auto n_wood2 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_misc_mat, field_name)); + n_wood2->m_field_name = field_name; + n_wood2->m_df_type = DF_Type::material_vec_ref; + n_wood2->m_rdf_type = RDF_Type::Struct; + n_wood2->m_node_type = NodeType::Compound; + n_wood2->m_address = base + offset; + n_wood2->m_defined_in = "df.materials.xml"; + n_wood2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_wood2); + + field_name = "rock_metal"; + auto n_rock_metal = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_misc_mat, field_name)); + n_rock_metal->m_field_name = field_name; + n_rock_metal->m_df_type = DF_Type::material_vec_ref; + n_rock_metal->m_rdf_type = RDF_Type::Struct; + n_rock_metal->m_node_type = NodeType::Compound; + n_rock_metal->m_address = base + offset; + n_rock_metal->m_defined_in = "df.materials.xml"; + n_rock_metal->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rock_metal); + + field_name = "booze"; + auto n_booze = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_misc_mat, field_name)); + n_booze->m_field_name = field_name; + n_booze->m_df_type = DF_Type::material_vec_ref; + n_booze->m_rdf_type = RDF_Type::Struct; + n_booze->m_node_type = NodeType::Compound; + n_booze->m_address = base + offset; + n_booze->m_defined_in = "df.materials.xml"; + n_booze->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_booze); + + field_name = "cheese"; + auto n_cheese = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_misc_mat, field_name)); + n_cheese->m_field_name = field_name; + n_cheese->m_df_type = DF_Type::material_vec_ref; + n_cheese->m_rdf_type = RDF_Type::Struct; + n_cheese->m_node_type = NodeType::Compound; + n_cheese->m_address = base + offset; + n_cheese->m_defined_in = "df.materials.xml"; + n_cheese->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cheese); + + field_name = "powders"; + auto n_powders = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_misc_mat, field_name)); + n_powders->m_field_name = field_name; + n_powders->m_df_type = DF_Type::material_vec_ref; + n_powders->m_rdf_type = RDF_Type::Struct; + n_powders->m_node_type = NodeType::Compound; + n_powders->m_address = base + offset; + n_powders->m_defined_in = "df.materials.xml"; + n_powders->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_powders); + + field_name = "extracts"; + auto n_extracts = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_misc_mat, field_name)); + n_extracts->m_field_name = field_name; + n_extracts->m_df_type = DF_Type::material_vec_ref; + n_extracts->m_rdf_type = RDF_Type::Struct; + n_extracts->m_node_type = NodeType::Compound; + n_extracts->m_address = base + offset; + n_extracts->m_defined_in = "df.materials.xml"; + n_extracts->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_extracts); + + field_name = "meat"; + auto n_meat = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_misc_mat, field_name)); + n_meat->m_field_name = field_name; + n_meat->m_df_type = DF_Type::material_vec_ref; + n_meat->m_rdf_type = RDF_Type::Struct; + n_meat->m_node_type = NodeType::Compound; + n_meat->m_address = base + offset; + n_meat->m_defined_in = "df.materials.xml"; + n_meat->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_meat); + +} +void node_from_historical_entity__T_resources__T_wood_products(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "item_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_wood_products, field_name)); + auto n_item_type = new NodeVector; + n_item_type->m_field_name = field_name; + n_item_type->m_df_type = DF_Type::item_type; + n_item_type->m_rdf_type = RDF_Type::Vector; + n_item_type->m_node_type = NodeType::Vector; + n_item_type->m_enum_base = DF_Type::int16_t; + n_item_type->m_defined_in = "df.item-raws.xml"; + n_item_type->m_addornements = "v"; + n_item_type->m_address = base + offset; + n_item_type->m_parent = p_node_parent; + n_item_type->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_item_type); + + field_name = "item_subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_wood_products, field_name)); + auto n_item_subtype = new NodeVector; + n_item_subtype->m_field_name = field_name; + n_item_subtype->m_df_type = DF_Type::int16_t; + n_item_subtype->m_rdf_type = RDF_Type::Vector; + n_item_subtype->m_node_type = NodeType::Vector; + n_item_subtype->m_addornements = "v"; + n_item_subtype->m_address = base + offset; + n_item_subtype->m_parent = p_node_parent; + n_item_subtype->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_item_subtype); + + field_name = "material"; + auto n_material = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_wood_products, field_name)); + n_material->m_field_name = field_name; + n_material->m_df_type = DF_Type::material_vec_ref; + n_material->m_rdf_type = RDF_Type::Struct; + n_material->m_node_type = NodeType::Compound; + n_material->m_address = base + offset; + n_material->m_defined_in = "df.materials.xml"; + n_material->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_material); + +} +void node_from_historical_entity__T_resources__T_animals(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "pet_races"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_animals, field_name)); + auto n_pet_races = new NodeVector; + n_pet_races->m_field_name = field_name; + n_pet_races->m_df_type = DF_Type::int32_t; + n_pet_races->m_rdf_type = RDF_Type::Vector; + n_pet_races->m_node_type = NodeType::Vector; + n_pet_races->m_addornements = "v"; + n_pet_races->m_address = base + offset; + n_pet_races->m_parent = p_node_parent; + n_pet_races->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_pet_races); + + field_name = "wagon_races"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_animals, field_name)); + auto n_wagon_races = new NodeVector; + n_wagon_races->m_field_name = field_name; + n_wagon_races->m_df_type = DF_Type::int32_t; + n_wagon_races->m_rdf_type = RDF_Type::Vector; + n_wagon_races->m_node_type = NodeType::Vector; + n_wagon_races->m_addornements = "v"; + n_wagon_races->m_address = base + offset; + n_wagon_races->m_parent = p_node_parent; + n_wagon_races->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_wagon_races); + + field_name = "pack_animal_races"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_animals, field_name)); + auto n_pack_animal_races = new NodeVector; + n_pack_animal_races->m_field_name = field_name; + n_pack_animal_races->m_df_type = DF_Type::int32_t; + n_pack_animal_races->m_rdf_type = RDF_Type::Vector; + n_pack_animal_races->m_node_type = NodeType::Vector; + n_pack_animal_races->m_addornements = "v"; + n_pack_animal_races->m_address = base + offset; + n_pack_animal_races->m_parent = p_node_parent; + n_pack_animal_races->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_pack_animal_races); + + field_name = "wagon_puller_races"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_animals, field_name)); + auto n_wagon_puller_races = new NodeVector; + n_wagon_puller_races->m_field_name = field_name; + n_wagon_puller_races->m_df_type = DF_Type::int32_t; + n_wagon_puller_races->m_rdf_type = RDF_Type::Vector; + n_wagon_puller_races->m_node_type = NodeType::Vector; + n_wagon_puller_races->m_addornements = "v"; + n_wagon_puller_races->m_address = base + offset; + n_wagon_puller_races->m_parent = p_node_parent; + n_wagon_puller_races->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_wagon_puller_races); + + field_name = "mount_races"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_animals, field_name)); + auto n_mount_races = new NodeVector; + n_mount_races->m_field_name = field_name; + n_mount_races->m_df_type = DF_Type::int32_t; + n_mount_races->m_rdf_type = RDF_Type::Vector; + n_mount_races->m_node_type = NodeType::Vector; + n_mount_races->m_addornements = "v"; + n_mount_races->m_address = base + offset; + n_mount_races->m_parent = p_node_parent; + n_mount_races->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_mount_races); + + field_name = "minion_races"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_animals, field_name)); + auto n_minion_races = new NodeVector; + n_minion_races->m_field_name = field_name; + n_minion_races->m_df_type = DF_Type::int32_t; + n_minion_races->m_rdf_type = RDF_Type::Vector; + n_minion_races->m_node_type = NodeType::Vector; + n_minion_races->m_addornements = "v"; + n_minion_races->m_address = base + offset; + n_minion_races->m_parent = p_node_parent; + n_minion_races->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_minion_races); + + field_name = "exotic_pet_races"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_animals, field_name)); + auto n_exotic_pet_races = new NodeVector; + n_exotic_pet_races->m_field_name = field_name; + n_exotic_pet_races->m_df_type = DF_Type::int32_t; + n_exotic_pet_races->m_rdf_type = RDF_Type::Vector; + n_exotic_pet_races->m_node_type = NodeType::Vector; + n_exotic_pet_races->m_addornements = "v"; + n_exotic_pet_races->m_address = base + offset; + n_exotic_pet_races->m_parent = p_node_parent; + n_exotic_pet_races->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_exotic_pet_races); + + field_name = "pet_castes"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_animals, field_name)); + auto n_pet_castes = new NodeVector; + n_pet_castes->m_field_name = field_name; + n_pet_castes->m_df_type = DF_Type::int16_t; + n_pet_castes->m_rdf_type = RDF_Type::Vector; + n_pet_castes->m_node_type = NodeType::Vector; + n_pet_castes->m_addornements = "v"; + n_pet_castes->m_address = base + offset; + n_pet_castes->m_parent = p_node_parent; + n_pet_castes->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_pet_castes); + + field_name = "wagon_castes"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_animals, field_name)); + auto n_wagon_castes = new NodeVector; + n_wagon_castes->m_field_name = field_name; + n_wagon_castes->m_df_type = DF_Type::int16_t; + n_wagon_castes->m_rdf_type = RDF_Type::Vector; + n_wagon_castes->m_node_type = NodeType::Vector; + n_wagon_castes->m_addornements = "v"; + n_wagon_castes->m_address = base + offset; + n_wagon_castes->m_parent = p_node_parent; + n_wagon_castes->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_wagon_castes); + + field_name = "pack_animal_castes"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_animals, field_name)); + auto n_pack_animal_castes = new NodeVector; + n_pack_animal_castes->m_field_name = field_name; + n_pack_animal_castes->m_df_type = DF_Type::int16_t; + n_pack_animal_castes->m_rdf_type = RDF_Type::Vector; + n_pack_animal_castes->m_node_type = NodeType::Vector; + n_pack_animal_castes->m_addornements = "v"; + n_pack_animal_castes->m_address = base + offset; + n_pack_animal_castes->m_parent = p_node_parent; + n_pack_animal_castes->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_pack_animal_castes); + + field_name = "wagon_puller_castes"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_animals, field_name)); + auto n_wagon_puller_castes = new NodeVector; + n_wagon_puller_castes->m_field_name = field_name; + n_wagon_puller_castes->m_df_type = DF_Type::int16_t; + n_wagon_puller_castes->m_rdf_type = RDF_Type::Vector; + n_wagon_puller_castes->m_node_type = NodeType::Vector; + n_wagon_puller_castes->m_addornements = "v"; + n_wagon_puller_castes->m_address = base + offset; + n_wagon_puller_castes->m_parent = p_node_parent; + n_wagon_puller_castes->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_wagon_puller_castes); + + field_name = "mount_castes"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_animals, field_name)); + auto n_mount_castes = new NodeVector; + n_mount_castes->m_field_name = field_name; + n_mount_castes->m_df_type = DF_Type::int16_t; + n_mount_castes->m_rdf_type = RDF_Type::Vector; + n_mount_castes->m_node_type = NodeType::Vector; + n_mount_castes->m_addornements = "v"; + n_mount_castes->m_address = base + offset; + n_mount_castes->m_parent = p_node_parent; + n_mount_castes->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_mount_castes); + + field_name = "minion_castes"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_animals, field_name)); + auto n_minion_castes = new NodeVector; + n_minion_castes->m_field_name = field_name; + n_minion_castes->m_df_type = DF_Type::int16_t; + n_minion_castes->m_rdf_type = RDF_Type::Vector; + n_minion_castes->m_node_type = NodeType::Vector; + n_minion_castes->m_addornements = "v"; + n_minion_castes->m_address = base + offset; + n_minion_castes->m_parent = p_node_parent; + n_minion_castes->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_minion_castes); + + field_name = "exotic_pet_castes"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_animals, field_name)); + auto n_exotic_pet_castes = new NodeVector; + n_exotic_pet_castes->m_field_name = field_name; + n_exotic_pet_castes->m_df_type = DF_Type::int16_t; + n_exotic_pet_castes->m_rdf_type = RDF_Type::Vector; + n_exotic_pet_castes->m_node_type = NodeType::Vector; + n_exotic_pet_castes->m_addornements = "v"; + n_exotic_pet_castes->m_address = base + offset; + n_exotic_pet_castes->m_parent = p_node_parent; + n_exotic_pet_castes->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_exotic_pet_castes); + +} +void node_from_historical_entity__T_resources__T_unk13(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_unk13, field_name)); + auto n_unk1 = new NodeSimple; + n_unk1->m_field_name = field_name; + n_unk1->m_df_type = DF_Type::int16_t; + n_unk1->m_rdf_type = RDF_Type::int16_t; + n_unk1->m_node_type = NodeType::Simple; + n_unk1->m_address = base + offset; + n_unk1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk1); + + field_name = "unk2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources__T_unk13, field_name)); + auto n_unk2 = new NodeSimple; + n_unk2->m_field_name = field_name; + n_unk2->m_df_type = DF_Type::int32_t; + n_unk2->m_rdf_type = RDF_Type::int32_t; + n_unk2->m_node_type = NodeType::Simple; + n_unk2->m_address = base + offset; + n_unk2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk2); + +} +void node_from_historical_entity__T_resources(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "digger_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); + auto n_digger_type = new NodeVector; + n_digger_type->m_field_name = field_name; + n_digger_type->m_df_type = DF_Type::int16_t; + n_digger_type->m_rdf_type = RDF_Type::Vector; + n_digger_type->m_node_type = NodeType::Vector; + n_digger_type->m_addornements = "v"; + n_digger_type->m_address = base + offset; + n_digger_type->m_parent = p_node_parent; + n_digger_type->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_digger_type); + + field_name = "weapon_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); + auto n_weapon_type = new NodeVector; + n_weapon_type->m_field_name = field_name; + n_weapon_type->m_df_type = DF_Type::int16_t; + n_weapon_type->m_rdf_type = RDF_Type::Vector; + n_weapon_type->m_node_type = NodeType::Vector; + n_weapon_type->m_addornements = "v"; + n_weapon_type->m_address = base + offset; + n_weapon_type->m_parent = p_node_parent; + n_weapon_type->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_weapon_type); + + field_name = "training_weapon_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); + auto n_training_weapon_type = new NodeVector; + n_training_weapon_type->m_field_name = field_name; + n_training_weapon_type->m_df_type = DF_Type::int16_t; + n_training_weapon_type->m_rdf_type = RDF_Type::Vector; + n_training_weapon_type->m_node_type = NodeType::Vector; + n_training_weapon_type->m_addornements = "v"; + n_training_weapon_type->m_address = base + offset; + n_training_weapon_type->m_parent = p_node_parent; + n_training_weapon_type->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_training_weapon_type); + + field_name = "armor_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); + auto n_armor_type = new NodeVector; + n_armor_type->m_field_name = field_name; + n_armor_type->m_df_type = DF_Type::int16_t; + n_armor_type->m_rdf_type = RDF_Type::Vector; + n_armor_type->m_node_type = NodeType::Vector; + n_armor_type->m_addornements = "v"; + n_armor_type->m_address = base + offset; + n_armor_type->m_parent = p_node_parent; + n_armor_type->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_armor_type); + + field_name = "ammo_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); + auto n_ammo_type = new NodeVector; + n_ammo_type->m_field_name = field_name; + n_ammo_type->m_df_type = DF_Type::int16_t; + n_ammo_type->m_rdf_type = RDF_Type::Vector; + n_ammo_type->m_node_type = NodeType::Vector; + n_ammo_type->m_addornements = "v"; + n_ammo_type->m_address = base + offset; + n_ammo_type->m_parent = p_node_parent; + n_ammo_type->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_ammo_type); + + field_name = "helm_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); + auto n_helm_type = new NodeVector; + n_helm_type->m_field_name = field_name; + n_helm_type->m_df_type = DF_Type::int16_t; + n_helm_type->m_rdf_type = RDF_Type::Vector; + n_helm_type->m_node_type = NodeType::Vector; + n_helm_type->m_addornements = "v"; + n_helm_type->m_address = base + offset; + n_helm_type->m_parent = p_node_parent; + n_helm_type->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_helm_type); + + field_name = "gloves_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); + auto n_gloves_type = new NodeVector; + n_gloves_type->m_field_name = field_name; + n_gloves_type->m_df_type = DF_Type::int16_t; + n_gloves_type->m_rdf_type = RDF_Type::Vector; + n_gloves_type->m_node_type = NodeType::Vector; + n_gloves_type->m_addornements = "v"; + n_gloves_type->m_address = base + offset; + n_gloves_type->m_parent = p_node_parent; + n_gloves_type->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_gloves_type); + + field_name = "shoes_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); + auto n_shoes_type = new NodeVector; + n_shoes_type->m_field_name = field_name; + n_shoes_type->m_df_type = DF_Type::int16_t; + n_shoes_type->m_rdf_type = RDF_Type::Vector; + n_shoes_type->m_node_type = NodeType::Vector; + n_shoes_type->m_addornements = "v"; + n_shoes_type->m_address = base + offset; + n_shoes_type->m_parent = p_node_parent; + n_shoes_type->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_shoes_type); + + field_name = "pants_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); + auto n_pants_type = new NodeVector; + n_pants_type->m_field_name = field_name; + n_pants_type->m_df_type = DF_Type::int16_t; + n_pants_type->m_rdf_type = RDF_Type::Vector; + n_pants_type->m_node_type = NodeType::Vector; + n_pants_type->m_addornements = "v"; + n_pants_type->m_address = base + offset; + n_pants_type->m_parent = p_node_parent; + n_pants_type->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_pants_type); + + field_name = "shield_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); + auto n_shield_type = new NodeVector; + n_shield_type->m_field_name = field_name; + n_shield_type->m_df_type = DF_Type::int16_t; + n_shield_type->m_rdf_type = RDF_Type::Vector; + n_shield_type->m_node_type = NodeType::Vector; + n_shield_type->m_addornements = "v"; + n_shield_type->m_address = base + offset; + n_shield_type->m_parent = p_node_parent; + n_shield_type->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_shield_type); + + field_name = "trapcomp_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); + auto n_trapcomp_type = new NodeVector; + n_trapcomp_type->m_field_name = field_name; + n_trapcomp_type->m_df_type = DF_Type::int16_t; + n_trapcomp_type->m_rdf_type = RDF_Type::Vector; + n_trapcomp_type->m_node_type = NodeType::Vector; + n_trapcomp_type->m_addornements = "v"; + n_trapcomp_type->m_address = base + offset; + n_trapcomp_type->m_parent = p_node_parent; + n_trapcomp_type->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_trapcomp_type); + + field_name = "toy_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); + auto n_toy_type = new NodeVector; + n_toy_type->m_field_name = field_name; + n_toy_type->m_df_type = DF_Type::int16_t; + n_toy_type->m_rdf_type = RDF_Type::Vector; + n_toy_type->m_node_type = NodeType::Vector; + n_toy_type->m_addornements = "v"; + n_toy_type->m_address = base + offset; + n_toy_type->m_parent = p_node_parent; + n_toy_type->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_toy_type); + + field_name = "instrument_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); + auto n_instrument_type = new NodeVector; + n_instrument_type->m_field_name = field_name; + n_instrument_type->m_df_type = DF_Type::int16_t; + n_instrument_type->m_rdf_type = RDF_Type::Vector; + n_instrument_type->m_node_type = NodeType::Vector; + n_instrument_type->m_addornements = "v"; + n_instrument_type->m_address = base + offset; + n_instrument_type->m_parent = p_node_parent; + n_instrument_type->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_instrument_type); + + field_name = "siegeammo_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); + auto n_siegeammo_type = new NodeVector; + n_siegeammo_type->m_field_name = field_name; + n_siegeammo_type->m_df_type = DF_Type::int16_t; + n_siegeammo_type->m_rdf_type = RDF_Type::Vector; + n_siegeammo_type->m_node_type = NodeType::Vector; + n_siegeammo_type->m_addornements = "v"; + n_siegeammo_type->m_address = base + offset; + n_siegeammo_type->m_parent = p_node_parent; + n_siegeammo_type->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_siegeammo_type); + + field_name = "tool_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); + auto n_tool_type = new NodeVector; + n_tool_type->m_field_name = field_name; + n_tool_type->m_df_type = DF_Type::int16_t; + n_tool_type->m_rdf_type = RDF_Type::Vector; + n_tool_type->m_node_type = NodeType::Vector; + n_tool_type->m_addornements = "v"; + n_tool_type->m_address = base + offset; + n_tool_type->m_parent = p_node_parent; + n_tool_type->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_tool_type); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); + auto n_anon_1 = new NodeVector; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int16_t; + n_anon_1->m_rdf_type = RDF_Type::Vector; + n_anon_1->m_node_type = NodeType::Vector; + n_anon_1->m_addornements = "v"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "metal"; + auto n_metal = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); + n_metal->m_field_name = field_name; + n_metal->m_df_type = DF_Type::historical_entity__T_resources__T_metal; + n_metal->m_rdf_type = RDF_Type::Compound; + n_metal->m_node_type = NodeType::Compound; + n_metal->m_address = base + offset; + n_metal->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_metal); + + field_name = "organic"; + auto n_organic = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); + n_organic->m_field_name = field_name; + n_organic->m_df_type = DF_Type::historical_entity__T_resources__T_organic; + n_organic->m_rdf_type = RDF_Type::Compound; + n_organic->m_node_type = NodeType::Compound; + n_organic->m_address = base + offset; + n_organic->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_organic); + + field_name = "metals"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); + auto n_metals = new NodeVector; + n_metals->m_field_name = field_name; + n_metals->m_df_type = DF_Type::int32_t; + n_metals->m_rdf_type = RDF_Type::Vector; + n_metals->m_node_type = NodeType::Vector; + n_metals->m_addornements = "v"; + n_metals->m_address = base + offset; + n_metals->m_comment = "bars"; + n_metals->m_parent = p_node_parent; + n_metals->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_metals); + + field_name = "stones"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); + auto n_stones = new NodeVector; + n_stones->m_field_name = field_name; + n_stones->m_df_type = DF_Type::int32_t; + n_stones->m_rdf_type = RDF_Type::Vector; + n_stones->m_node_type = NodeType::Vector; + n_stones->m_addornements = "v"; + n_stones->m_address = base + offset; + n_stones->m_comment = "boulders and blocks"; + n_stones->m_parent = p_node_parent; + n_stones->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_stones); + + field_name = "gems"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); + auto n_gems = new NodeVector; + n_gems->m_field_name = field_name; + n_gems->m_df_type = DF_Type::int32_t; + n_gems->m_rdf_type = RDF_Type::Vector; + n_gems->m_node_type = NodeType::Vector; + n_gems->m_addornements = "v"; + n_gems->m_address = base + offset; + n_gems->m_comment = "small and large cut"; + n_gems->m_parent = p_node_parent; + n_gems->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_gems); + + field_name = "refuse"; + auto n_refuse = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); + n_refuse->m_field_name = field_name; + n_refuse->m_df_type = DF_Type::historical_entity__T_resources__T_refuse; + n_refuse->m_rdf_type = RDF_Type::Compound; + n_refuse->m_node_type = NodeType::Compound; + n_refuse->m_address = base + offset; + n_refuse->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_refuse); + + field_name = "misc_mat"; + auto n_misc_mat = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); + n_misc_mat->m_field_name = field_name; + n_misc_mat->m_df_type = DF_Type::historical_entity__T_resources__T_misc_mat; + n_misc_mat->m_rdf_type = RDF_Type::Compound; + n_misc_mat->m_node_type = NodeType::Compound; + n_misc_mat->m_address = base + offset; + n_misc_mat->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_misc_mat); + + field_name = "fish_races"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); + auto n_fish_races = new NodeVector; + n_fish_races->m_field_name = field_name; + n_fish_races->m_df_type = DF_Type::int32_t; + n_fish_races->m_rdf_type = RDF_Type::Vector; + n_fish_races->m_node_type = NodeType::Vector; + n_fish_races->m_addornements = "v"; + n_fish_races->m_address = base + offset; + n_fish_races->m_parent = p_node_parent; + n_fish_races->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_fish_races); + + field_name = "fish_castes"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); + auto n_fish_castes = new NodeVector; + n_fish_castes->m_field_name = field_name; + n_fish_castes->m_df_type = DF_Type::int16_t; + n_fish_castes->m_rdf_type = RDF_Type::Vector; + n_fish_castes->m_node_type = NodeType::Vector; + n_fish_castes->m_addornements = "v"; + n_fish_castes->m_address = base + offset; + n_fish_castes->m_parent = p_node_parent; + n_fish_castes->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_fish_castes); + + field_name = "egg_races"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); + auto n_egg_races = new NodeVector; + n_egg_races->m_field_name = field_name; + n_egg_races->m_df_type = DF_Type::int32_t; + n_egg_races->m_rdf_type = RDF_Type::Vector; + n_egg_races->m_node_type = NodeType::Vector; + n_egg_races->m_addornements = "v"; + n_egg_races->m_address = base + offset; + n_egg_races->m_parent = p_node_parent; + n_egg_races->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_egg_races); + + field_name = "egg_castes"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); + auto n_egg_castes = new NodeVector; + n_egg_castes->m_field_name = field_name; + n_egg_castes->m_df_type = DF_Type::int16_t; + n_egg_castes->m_rdf_type = RDF_Type::Vector; + n_egg_castes->m_node_type = NodeType::Vector; + n_egg_castes->m_addornements = "v"; + n_egg_castes->m_address = base + offset; + n_egg_castes->m_parent = p_node_parent; + n_egg_castes->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_egg_castes); + + field_name = "plants"; + auto n_plants = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); + n_plants->m_field_name = field_name; + n_plants->m_df_type = DF_Type::material_vec_ref; + n_plants->m_rdf_type = RDF_Type::Struct; + n_plants->m_node_type = NodeType::Compound; + n_plants->m_address = base + offset; + n_plants->m_defined_in = "df.materials.xml"; + n_plants->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_plants); + + field_name = "tree_fruit_plants"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); + auto n_tree_fruit_plants = new NodeVector; + n_tree_fruit_plants->m_field_name = field_name; + n_tree_fruit_plants->m_df_type = DF_Type::int32_t; + n_tree_fruit_plants->m_rdf_type = RDF_Type::Vector; + n_tree_fruit_plants->m_node_type = NodeType::Vector; + n_tree_fruit_plants->m_addornements = "v"; + n_tree_fruit_plants->m_address = base + offset; + n_tree_fruit_plants->m_parent = p_node_parent; + n_tree_fruit_plants->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_tree_fruit_plants); + + field_name = "tree_fruit_growths"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); + auto n_tree_fruit_growths = new NodeVector; + n_tree_fruit_growths->m_field_name = field_name; + n_tree_fruit_growths->m_df_type = DF_Type::int16_t; + n_tree_fruit_growths->m_rdf_type = RDF_Type::Vector; + n_tree_fruit_growths->m_node_type = NodeType::Vector; + n_tree_fruit_growths->m_addornements = "v"; + n_tree_fruit_growths->m_address = base + offset; + n_tree_fruit_growths->m_parent = p_node_parent; + n_tree_fruit_growths->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_tree_fruit_growths); + + field_name = "shrub_fruit_plants"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); + auto n_shrub_fruit_plants = new NodeVector; + n_shrub_fruit_plants->m_field_name = field_name; + n_shrub_fruit_plants->m_df_type = DF_Type::int32_t; + n_shrub_fruit_plants->m_rdf_type = RDF_Type::Vector; + n_shrub_fruit_plants->m_node_type = NodeType::Vector; + n_shrub_fruit_plants->m_addornements = "v"; + n_shrub_fruit_plants->m_address = base + offset; + n_shrub_fruit_plants->m_parent = p_node_parent; + n_shrub_fruit_plants->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_shrub_fruit_plants); + + field_name = "shrub_fruit_growths"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); + auto n_shrub_fruit_growths = new NodeVector; + n_shrub_fruit_growths->m_field_name = field_name; + n_shrub_fruit_growths->m_df_type = DF_Type::int16_t; + n_shrub_fruit_growths->m_rdf_type = RDF_Type::Vector; + n_shrub_fruit_growths->m_node_type = NodeType::Vector; + n_shrub_fruit_growths->m_addornements = "v"; + n_shrub_fruit_growths->m_address = base + offset; + n_shrub_fruit_growths->m_parent = p_node_parent; + n_shrub_fruit_growths->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_shrub_fruit_growths); + + field_name = "seeds"; + auto n_seeds = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); + n_seeds->m_field_name = field_name; + n_seeds->m_df_type = DF_Type::material_vec_ref; + n_seeds->m_rdf_type = RDF_Type::Struct; + n_seeds->m_node_type = NodeType::Compound; + n_seeds->m_address = base + offset; + n_seeds->m_defined_in = "df.materials.xml"; + n_seeds->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_seeds); + + field_name = "wood_products"; + auto n_wood_products = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); + n_wood_products->m_field_name = field_name; + n_wood_products->m_df_type = DF_Type::historical_entity__T_resources__T_wood_products; + n_wood_products->m_rdf_type = RDF_Type::Compound; + n_wood_products->m_node_type = NodeType::Compound; + n_wood_products->m_address = base + offset; + n_wood_products->m_comment = "lye, charcoal, potash, pearlash, and coke"; + n_wood_products->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_wood_products); + + field_name = "animals"; + auto n_animals = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); + n_animals->m_field_name = field_name; + n_animals->m_df_type = DF_Type::historical_entity__T_resources__T_animals; + n_animals->m_rdf_type = RDF_Type::Compound; + n_animals->m_node_type = NodeType::Compound; + n_animals->m_address = base + offset; + n_animals->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_animals); + + field_name = "meat_fish_recipes"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); + auto n_meat_fish_recipes = new NodeVector; + n_meat_fish_recipes->m_field_name = field_name; + n_meat_fish_recipes->m_df_type = DF_Type::entity_recipe; + n_meat_fish_recipes->m_rdf_type = RDF_Type::Vector; + n_meat_fish_recipes->m_node_type = NodeType::Vector; + n_meat_fish_recipes->m_defined_in = "df.entities.xml"; + n_meat_fish_recipes->m_addornements = "v*"; + n_meat_fish_recipes->m_address = base + offset; + n_meat_fish_recipes->m_parent = p_node_parent; + n_meat_fish_recipes->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_meat_fish_recipes); + + field_name = "other_recipes"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); + auto n_other_recipes = new NodeVector; + n_other_recipes->m_field_name = field_name; + n_other_recipes->m_df_type = DF_Type::entity_recipe; + n_other_recipes->m_rdf_type = RDF_Type::Vector; + n_other_recipes->m_node_type = NodeType::Vector; + n_other_recipes->m_defined_in = "df.entities.xml"; + n_other_recipes->m_addornements = "v*"; + n_other_recipes->m_address = base + offset; + n_other_recipes->m_parent = p_node_parent; + n_other_recipes->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_other_recipes); + + field_name = "unk13"; + auto n_unk13 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); + n_unk13->m_field_name = field_name; + n_unk13->m_df_type = DF_Type::historical_entity__T_resources__T_unk13; + n_unk13->m_rdf_type = RDF_Type::Array; + n_unk13->m_comment = "in 0.23, these were material/matgloss pairs, never used for anything"; + n_unk13->m_node_type = NodeType::Array; + n_unk13->m_addornements = "[3"; + n_unk13->m_array_size = 3; + n_unk13->m_address = base + offset; + n_unk13->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk13); + + field_name = "unk14"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); + auto n_unk14 = new NodeVector; + n_unk14->m_field_name = field_name; + n_unk14->m_df_type = DF_Type::item; + n_unk14->m_rdf_type = RDF_Type::Vector; + n_unk14->m_node_type = NodeType::Vector; + n_unk14->m_defined_in = "df.items.xml"; + n_unk14->m_addornements = "v*"; + n_unk14->m_address = base + offset; + n_unk14->m_comment = "in 0.23, items that would be equipped by the arriving King, never used"; + n_unk14->m_parent = p_node_parent; + n_unk14->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk14); + + field_name = "unk15a"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); + auto n_unk15a = new NodeSimple; + n_unk15a->m_field_name = field_name; + n_unk15a->m_df_type = DF_Type::int16_t; + n_unk15a->m_rdf_type = RDF_Type::int16_t; + n_unk15a->m_node_type = NodeType::Simple; + n_unk15a->m_address = base + offset; + n_unk15a->m_comment = "in 0.23, minimum temperature"; + n_unk15a->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk15a); + + field_name = "unk15b"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); + auto n_unk15b = new NodeSimple; + n_unk15b->m_field_name = field_name; + n_unk15b->m_df_type = DF_Type::int16_t; + n_unk15b->m_rdf_type = RDF_Type::int16_t; + n_unk15b->m_node_type = NodeType::Simple; + n_unk15b->m_address = base + offset; + n_unk15b->m_comment = "in 0.23, maximum temperature"; + n_unk15b->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk15b); + + field_name = "ethic"; + auto n_ethic = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); + n_ethic->m_field_name = field_name; + n_ethic->m_df_type = DF_Type::ethic_response; + n_ethic->m_rdf_type = RDF_Type::Array; + n_ethic->m_node_type = NodeType::Array; + n_ethic->m_index_enum = DF_Type::ethic_type; + n_ethic->m_enum_base = DF_Type::int16_t; + n_ethic->m_defined_in = "df.entity-raws.xml"; + n_ethic->m_addornements = "[22"; + n_ethic->m_array_size = 22; + n_ethic->m_address = base + offset; + n_ethic->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ethic); + + field_name = "values"; + auto n_values = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); + n_values->m_field_name = field_name; + n_values->m_df_type = DF_Type::int32_t; + n_values->m_rdf_type = RDF_Type::Array; + n_values->m_node_type = NodeType::Array; + n_values->m_index_enum = DF_Type::value_type; + n_values->m_addornements = "[64"; + n_values->m_array_size = 64; + n_values->m_address = base + offset; + n_values->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_values); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "permitted_skill"; + auto n_permitted_skill = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); + n_permitted_skill->m_field_name = field_name; + n_permitted_skill->m_df_type = DF_Type::Bool; + n_permitted_skill->m_rdf_type = RDF_Type::Array; + n_permitted_skill->m_node_type = NodeType::Array; + n_permitted_skill->m_index_enum = DF_Type::job_skill; + n_permitted_skill->m_addornements = "[135"; + n_permitted_skill->m_array_size = 135; + n_permitted_skill->m_address = base + offset; + n_permitted_skill->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_permitted_skill); + + field_name = "art_image_types"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); + auto n_art_image_types = new NodeVector; + n_art_image_types->m_field_name = field_name; + n_art_image_types->m_df_type = DF_Type::int16_t; + n_art_image_types->m_rdf_type = RDF_Type::Vector; + n_art_image_types->m_node_type = NodeType::Vector; + n_art_image_types->m_addornements = "v"; + n_art_image_types->m_address = base + offset; + n_art_image_types->m_comment = "0 = civilization symbol"; + n_art_image_types->m_parent = p_node_parent; + n_art_image_types->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_art_image_types); + + field_name = "art_image_ids"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); + auto n_art_image_ids = new NodeVector; + n_art_image_ids->m_field_name = field_name; + n_art_image_ids->m_df_type = DF_Type::int32_t; + n_art_image_ids->m_rdf_type = RDF_Type::Vector; + n_art_image_ids->m_node_type = NodeType::Vector; + n_art_image_ids->m_addornements = "v"; + n_art_image_ids->m_address = base + offset; + n_art_image_ids->m_parent = p_node_parent; + n_art_image_ids->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_art_image_ids); + + field_name = "art_image_subids"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); + auto n_art_image_subids = new NodeVector; + n_art_image_subids->m_field_name = field_name; + n_art_image_subids->m_df_type = DF_Type::int16_t; + n_art_image_subids->m_rdf_type = RDF_Type::Vector; + n_art_image_subids->m_node_type = NodeType::Vector; + n_art_image_subids->m_addornements = "v"; + n_art_image_subids->m_address = base + offset; + n_art_image_subids->m_parent = p_node_parent; + n_art_image_subids->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_art_image_subids); + + field_name = "discovered_creature_foods"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); + auto n_discovered_creature_foods = new NodeVector; + n_discovered_creature_foods->m_field_name = field_name; + n_discovered_creature_foods->m_df_type = DF_Type::Bool; + n_discovered_creature_foods->m_rdf_type = RDF_Type::Vector; + n_discovered_creature_foods->m_node_type = NodeType::Vector; + n_discovered_creature_foods->m_addornements = "v"; + n_discovered_creature_foods->m_address = base + offset; + n_discovered_creature_foods->m_refers_to = "(find-creature $)"; + n_discovered_creature_foods->m_parent = p_node_parent; + n_discovered_creature_foods->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_discovered_creature_foods); + + field_name = "discovered_creatures"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); + auto n_discovered_creatures = new NodeVector; + n_discovered_creatures->m_field_name = field_name; + n_discovered_creatures->m_df_type = DF_Type::Bool; + n_discovered_creatures->m_rdf_type = RDF_Type::Vector; + n_discovered_creatures->m_node_type = NodeType::Vector; + n_discovered_creatures->m_addornements = "v"; + n_discovered_creatures->m_address = base + offset; + n_discovered_creatures->m_refers_to = "(find-creature $)"; + n_discovered_creatures->m_parent = p_node_parent; + n_discovered_creatures->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_discovered_creatures); + + field_name = "discovered_plant_foods"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); + auto n_discovered_plant_foods = new NodeVector; + n_discovered_plant_foods->m_field_name = field_name; + n_discovered_plant_foods->m_df_type = DF_Type::Bool; + n_discovered_plant_foods->m_rdf_type = RDF_Type::Vector; + n_discovered_plant_foods->m_node_type = NodeType::Vector; + n_discovered_plant_foods->m_addornements = "v"; + n_discovered_plant_foods->m_address = base + offset; + n_discovered_plant_foods->m_refers_to = "(find-plant-raw $)"; + n_discovered_plant_foods->m_parent = p_node_parent; + n_discovered_plant_foods->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_discovered_plant_foods); + + field_name = "discovered_plants"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); + auto n_discovered_plants = new NodeVector; + n_discovered_plants->m_field_name = field_name; + n_discovered_plants->m_df_type = DF_Type::Bool; + n_discovered_plants->m_rdf_type = RDF_Type::Vector; + n_discovered_plants->m_node_type = NodeType::Vector; + n_discovered_plants->m_addornements = "v"; + n_discovered_plants->m_address = base + offset; + n_discovered_plants->m_refers_to = "(find-plant-raw $)"; + n_discovered_plants->m_parent = p_node_parent; + n_discovered_plants->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_discovered_plants); + + field_name = "foreground_color"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); + auto n_foreground_color = new NodeVector; + n_foreground_color->m_field_name = field_name; + n_foreground_color->m_df_type = DF_Type::int16_t; + n_foreground_color->m_rdf_type = RDF_Type::Vector; + n_foreground_color->m_node_type = NodeType::Vector; + n_foreground_color->m_addornements = "v"; + n_foreground_color->m_address = base + offset; + n_foreground_color->m_comment = "foreground color used for the entity symbol in legends mode and the historical maps."; + n_foreground_color->m_parent = p_node_parent; + n_foreground_color->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_foreground_color); + + field_name = "background_color"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_resources, field_name)); + auto n_background_color = new NodeVector; + n_background_color->m_field_name = field_name; + n_background_color->m_df_type = DF_Type::int16_t; + n_background_color->m_rdf_type = RDF_Type::Vector; + n_background_color->m_node_type = NodeType::Vector; + n_background_color->m_addornements = "v"; + n_background_color->m_address = base + offset; + n_background_color->m_comment = "background color used for the entity symbol in legends mode and the historical maps."; + n_background_color->m_parent = p_node_parent; + n_background_color->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_background_color); + +} +void node_from_historical_entity__T_unknown1b__T_unk32e(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1b__T_unk32e, field_name)); + auto n_anon_1 = new NodeVector; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int16_t; + n_anon_1->m_rdf_type = RDF_Type::Vector; + n_anon_1->m_node_type = NodeType::Vector; + n_anon_1->m_addornements = "v"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1b__T_unk32e, field_name)); + auto n_anon_2 = new NodeVector; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int16_t; + n_anon_2->m_rdf_type = RDF_Type::Vector; + n_anon_2->m_node_type = NodeType::Vector; + n_anon_2->m_addornements = "v"; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + n_anon_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1b__T_unk32e, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1b__T_unk32e, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1b__T_unk32e, field_name)); + auto n_anon_5 = new NodeVector; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::Vector; + n_anon_5->m_node_type = NodeType::Vector; + n_anon_5->m_addornements = "v"; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + n_anon_5->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1b__T_unk32e, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int16_t; + n_anon_6->m_rdf_type = RDF_Type::int16_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1b__T_unk32e, field_name)); + auto n_anon_7 = new NodeSimple; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::int16_t; + n_anon_7->m_rdf_type = RDF_Type::int16_t; + n_anon_7->m_node_type = NodeType::Simple; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_7); + +} +void node_from_historical_entity__T_unknown1b__T_diplomacy(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "group_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1b__T_diplomacy, field_name)); + auto n_group_id = new NodeSimple; + n_group_id->m_field_name = field_name; + n_group_id->m_df_type = DF_Type::int32_t; + n_group_id->m_rdf_type = RDF_Type::int32_t; + n_group_id->m_node_type = NodeType::Simple; + n_group_id->m_address = base + offset; + n_group_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_group_id); + + field_name = "relation"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1b__T_diplomacy, field_name)); + auto n_relation = new NodeSimple; + n_relation->m_field_name = field_name; + n_relation->m_df_type = DF_Type::int16_t; + n_relation->m_rdf_type = RDF_Type::int16_t; + n_relation->m_node_type = NodeType::Simple; + n_relation->m_address = base + offset; + n_relation->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_relation); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1b__T_diplomacy, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "historic_events"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1b__T_diplomacy, field_name)); + auto n_historic_events = new NodeVector; + n_historic_events->m_field_name = field_name; + n_historic_events->m_df_type = DF_Type::int32_t; + n_historic_events->m_rdf_type = RDF_Type::Vector; + n_historic_events->m_node_type = NodeType::Vector; + n_historic_events->m_addornements = "v"; + n_historic_events->m_address = base + offset; + n_historic_events->m_parent = p_node_parent; + n_historic_events->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_historic_events); + + field_name = "historic_events_collection"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1b__T_diplomacy, field_name)); + auto n_historic_events_collection = new NodeVector; + n_historic_events_collection->m_field_name = field_name; + n_historic_events_collection->m_df_type = DF_Type::int32_t; + n_historic_events_collection->m_rdf_type = RDF_Type::Vector; + n_historic_events_collection->m_node_type = NodeType::Vector; + n_historic_events_collection->m_addornements = "v"; + n_historic_events_collection->m_address = base + offset; + n_historic_events_collection->m_parent = p_node_parent; + n_historic_events_collection->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_historic_events_collection); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1b__T_diplomacy, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + +} +void node_from_historical_entity__T_unknown1b(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk32a"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1b, field_name)); + auto n_unk32a = new NodeVector; + n_unk32a->m_field_name = field_name; + n_unk32a->m_df_type = DF_Type::int32_t; + n_unk32a->m_rdf_type = RDF_Type::Vector; + n_unk32a->m_node_type = NodeType::Vector; + n_unk32a->m_addornements = "v"; + n_unk32a->m_address = base + offset; + n_unk32a->m_parent = p_node_parent; + n_unk32a->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk32a); + + field_name = "deities"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1b, field_name)); + auto n_deities = new NodeVector; + n_deities->m_field_name = field_name; + n_deities->m_df_type = DF_Type::int32_t; + n_deities->m_rdf_type = RDF_Type::Vector; + n_deities->m_node_type = NodeType::Vector; + n_deities->m_addornements = "v"; + n_deities->m_address = base + offset; + n_deities->m_parent = p_node_parent; + n_deities->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_deities); + + field_name = "worship"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1b, field_name)); + auto n_worship = new NodeVector; + n_worship->m_field_name = field_name; + n_worship->m_df_type = DF_Type::int32_t; + n_worship->m_rdf_type = RDF_Type::Vector; + n_worship->m_node_type = NodeType::Vector; + n_worship->m_addornements = "v"; + n_worship->m_address = base + offset; + n_worship->m_comment = "Same length as deities(?). Some kind of relationship strength?"; + n_worship->m_parent = p_node_parent; + n_worship->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_worship); + + field_name = "belief_systems"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1b, field_name)); + auto n_belief_systems = new NodeVector; + n_belief_systems->m_field_name = field_name; + n_belief_systems->m_df_type = DF_Type::int32_t; + n_belief_systems->m_rdf_type = RDF_Type::Vector; + n_belief_systems->m_node_type = NodeType::Vector; + n_belief_systems->m_addornements = "v"; + n_belief_systems->m_address = base + offset; + n_belief_systems->m_comment = "In Religion type entities established by prophets after having developed their own belief system, the ID of this belief system is contained here."; + n_belief_systems->m_parent = p_node_parent; + n_belief_systems->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_belief_systems); + + field_name = "unk32e"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1b, field_name)); + auto n_unk32e = new NodeVector; + n_unk32e->m_field_name = field_name; + n_unk32e->m_df_type = DF_Type::historical_entity__T_unknown1b__T_unk32e; + n_unk32e->m_rdf_type = RDF_Type::Vector; + n_unk32e->m_node_type = NodeType::Vector; + n_unk32e->m_addornements = "v*"; + n_unk32e->m_address = base + offset; + n_unk32e->m_parent = p_node_parent; + n_unk32e->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk32e); + + field_name = "diplomacy"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1b, field_name)); + auto n_diplomacy = new NodeVector; + n_diplomacy->m_field_name = field_name; + n_diplomacy->m_df_type = DF_Type::historical_entity__T_unknown1b__T_diplomacy; + n_diplomacy->m_rdf_type = RDF_Type::Vector; + n_diplomacy->m_node_type = NodeType::Vector; + n_diplomacy->m_addornements = "v*"; + n_diplomacy->m_address = base + offset; + n_diplomacy->m_parent = p_node_parent; + n_diplomacy->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_diplomacy); + + field_name = "unk33"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1b, field_name)); + auto n_unk33 = new NodeSimple; + n_unk33->m_field_name = field_name; + n_unk33->m_df_type = DF_Type::int16_t; + n_unk33->m_rdf_type = RDF_Type::int16_t; + n_unk33->m_node_type = NodeType::Simple; + n_unk33->m_address = base + offset; + n_unk33->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk33); + + field_name = "unk34a"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1b, field_name)); + auto n_unk34a = new NodeVector; + n_unk34a->m_field_name = field_name; + n_unk34a->m_df_type = DF_Type::int16_t; + n_unk34a->m_rdf_type = RDF_Type::Vector; + n_unk34a->m_node_type = NodeType::Vector; + n_unk34a->m_addornements = "v"; + n_unk34a->m_address = base + offset; + n_unk34a->m_parent = p_node_parent; + n_unk34a->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk34a); + + field_name = "unk34b"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1b, field_name)); + auto n_unk34b = new NodeVector; + n_unk34b->m_field_name = field_name; + n_unk34b->m_df_type = DF_Type::int16_t; + n_unk34b->m_rdf_type = RDF_Type::Vector; + n_unk34b->m_node_type = NodeType::Vector; + n_unk34b->m_addornements = "v"; + n_unk34b->m_address = base + offset; + n_unk34b->m_parent = p_node_parent; + n_unk34b->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk34b); + + field_name = "unk34c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1b, field_name)); + auto n_unk34c = new NodeVector; + n_unk34c->m_field_name = field_name; + n_unk34c->m_df_type = DF_Type::int32_t; + n_unk34c->m_rdf_type = RDF_Type::Vector; + n_unk34c->m_node_type = NodeType::Vector; + n_unk34c->m_addornements = "v"; + n_unk34c->m_address = base + offset; + n_unk34c->m_parent = p_node_parent; + n_unk34c->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk34c); + + field_name = "unk34d"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1b, field_name)); + auto n_unk34d = new NodeVector; + n_unk34d->m_field_name = field_name; + n_unk34d->m_df_type = DF_Type::int32_t; + n_unk34d->m_rdf_type = RDF_Type::Vector; + n_unk34d->m_node_type = NodeType::Vector; + n_unk34d->m_addornements = "v"; + n_unk34d->m_address = base + offset; + n_unk34d->m_comment = "empty"; + n_unk34d->m_parent = p_node_parent; + n_unk34d->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk34d); + + field_name = "unk34e"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1b, field_name)); + auto n_unk34e = new NodeVector; + n_unk34e->m_field_name = field_name; + n_unk34e->m_df_type = DF_Type::int32_t; + n_unk34e->m_rdf_type = RDF_Type::Vector; + n_unk34e->m_node_type = NodeType::Vector; + n_unk34e->m_addornements = "v"; + n_unk34e->m_address = base + offset; + n_unk34e->m_comment = "empty"; + n_unk34e->m_parent = p_node_parent; + n_unk34e->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk34e); + +} +void node_from_historical_entity__T_positions(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "own"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_positions, field_name)); + auto n_own = new NodeVector; + n_own->m_field_name = field_name; + n_own->m_df_type = DF_Type::entity_position; + n_own->m_rdf_type = RDF_Type::Vector; + n_own->m_node_type = NodeType::Vector; + n_own->m_defined_in = "df.entities.xml"; + n_own->m_addornements = "v*"; + n_own->m_address = base + offset; + n_own->m_parent = p_node_parent; + n_own->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_own); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_positions, field_name)); + auto n_site = new NodeVector; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::entity_position; + n_site->m_rdf_type = RDF_Type::Vector; + n_site->m_node_type = NodeType::Vector; + n_site->m_defined_in = "df.entities.xml"; + n_site->m_addornements = "v*"; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + n_site->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_site); + + field_name = "conquered_site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_positions, field_name)); + auto n_conquered_site = new NodeVector; + n_conquered_site->m_field_name = field_name; + n_conquered_site->m_df_type = DF_Type::entity_position; + n_conquered_site->m_rdf_type = RDF_Type::Vector; + n_conquered_site->m_node_type = NodeType::Vector; + n_conquered_site->m_defined_in = "df.entities.xml"; + n_conquered_site->m_addornements = "v*"; + n_conquered_site->m_address = base + offset; + n_conquered_site->m_parent = p_node_parent; + n_conquered_site->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_conquered_site); + + field_name = "next_position_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_positions, field_name)); + auto n_next_position_id = new NodeSimple; + n_next_position_id->m_field_name = field_name; + n_next_position_id->m_df_type = DF_Type::int32_t; + n_next_position_id->m_rdf_type = RDF_Type::int32_t; + n_next_position_id->m_node_type = NodeType::Simple; + n_next_position_id->m_address = base + offset; + n_next_position_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_next_position_id); + + field_name = "assignments"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_positions, field_name)); + auto n_assignments = new NodeVector; + n_assignments->m_field_name = field_name; + n_assignments->m_df_type = DF_Type::entity_position_assignment; + n_assignments->m_rdf_type = RDF_Type::Vector; + n_assignments->m_node_type = NodeType::Vector; + n_assignments->m_defined_in = "df.entities.xml"; + n_assignments->m_addornements = "v*"; + n_assignments->m_address = base + offset; + n_assignments->m_parent = p_node_parent; + n_assignments->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_assignments); + + field_name = "next_assignment_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_positions, field_name)); + auto n_next_assignment_id = new NodeSimple; + n_next_assignment_id->m_field_name = field_name; + n_next_assignment_id->m_df_type = DF_Type::int32_t; + n_next_assignment_id->m_rdf_type = RDF_Type::int32_t; + n_next_assignment_id->m_node_type = NodeType::Simple; + n_next_assignment_id->m_address = base + offset; + n_next_assignment_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_next_assignment_id); + + field_name = "unk_v40_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_positions, field_name)); + auto n_unk_v40_1 = new NodeVector; + n_unk_v40_1->m_field_name = field_name; + n_unk_v40_1->m_df_type = DF_Type::entity_position_assignment; + n_unk_v40_1->m_rdf_type = RDF_Type::Vector; + n_unk_v40_1->m_node_type = NodeType::Vector; + n_unk_v40_1->m_defined_in = "df.entities.xml"; + n_unk_v40_1->m_addornements = "v*"; + n_unk_v40_1->m_address = base + offset; + n_unk_v40_1->m_parent = p_node_parent; + n_unk_v40_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_v40_1); + + field_name = "unk_v40_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_positions, field_name)); + auto n_unk_v40_2 = new NodeVector; + n_unk_v40_2->m_field_name = field_name; + n_unk_v40_2->m_df_type = DF_Type::entity_position_assignment; + n_unk_v40_2->m_rdf_type = RDF_Type::Vector; + n_unk_v40_2->m_node_type = NodeType::Vector; + n_unk_v40_2->m_defined_in = "df.entities.xml"; + n_unk_v40_2->m_addornements = "v*"; + n_unk_v40_2->m_address = base + offset; + n_unk_v40_2->m_parent = p_node_parent; + n_unk_v40_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_v40_2); + + field_name = "unk_v40_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_positions, field_name)); + auto n_unk_v40_3 = new NodeVector; + n_unk_v40_3->m_field_name = field_name; + n_unk_v40_3->m_df_type = DF_Type::entity_position_assignment; + n_unk_v40_3->m_rdf_type = RDF_Type::Vector; + n_unk_v40_3->m_node_type = NodeType::Vector; + n_unk_v40_3->m_defined_in = "df.entities.xml"; + n_unk_v40_3->m_addornements = "v*"; + n_unk_v40_3->m_address = base + offset; + n_unk_v40_3->m_parent = p_node_parent; + n_unk_v40_3->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_v40_3); + + field_name = "unk_v40_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_positions, field_name)); + auto n_unk_v40_4 = new NodeVector; + n_unk_v40_4->m_field_name = field_name; + n_unk_v40_4->m_df_type = DF_Type::int32_t; + n_unk_v40_4->m_rdf_type = RDF_Type::Vector; + n_unk_v40_4->m_node_type = NodeType::Vector; + n_unk_v40_4->m_addornements = "v"; + n_unk_v40_4->m_address = base + offset; + n_unk_v40_4->m_parent = p_node_parent; + n_unk_v40_4->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_v40_4); + + field_name = "unk_v40_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_positions, field_name)); + auto n_unk_v40_5 = new NodeVector; + n_unk_v40_5->m_field_name = field_name; + n_unk_v40_5->m_df_type = DF_Type::int32_t; + n_unk_v40_5->m_rdf_type = RDF_Type::Vector; + n_unk_v40_5->m_node_type = NodeType::Vector; + n_unk_v40_5->m_addornements = "v"; + n_unk_v40_5->m_address = base + offset; + n_unk_v40_5->m_parent = p_node_parent; + n_unk_v40_5->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_v40_5); + +} +void node_from_historical_entity__T_tissue_styles(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "all"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_tissue_styles, field_name)); + auto n_all = new NodeVector; + n_all->m_field_name = field_name; + n_all->m_df_type = DF_Type::entity_tissue_style; + n_all->m_rdf_type = RDF_Type::Vector; + n_all->m_node_type = NodeType::Vector; + n_all->m_defined_in = "df.entities.xml"; + n_all->m_addornements = "v*"; + n_all->m_address = base + offset; + n_all->m_parent = p_node_parent; + n_all->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_all); + + field_name = "next_style_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_tissue_styles, field_name)); + auto n_next_style_id = new NodeSimple; + n_next_style_id->m_field_name = field_name; + n_next_style_id->m_df_type = DF_Type::int32_t; + n_next_style_id->m_rdf_type = RDF_Type::int32_t; + n_next_style_id->m_node_type = NodeType::Simple; + n_next_style_id->m_address = base + offset; + n_next_style_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_next_style_id); + +} +void node_from_historical_entity__T_unknown1d(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk42"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1d, field_name)); + auto n_unk42 = new NodeSimple; + n_unk42->m_field_name = field_name; + n_unk42->m_df_type = DF_Type::int32_t; + n_unk42->m_rdf_type = RDF_Type::int32_t; + n_unk42->m_node_type = NodeType::Simple; + n_unk42->m_address = base + offset; + n_unk42->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk42); + + field_name = "unk43"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1d, field_name)); + auto n_unk43 = new NodeVector; + n_unk43->m_field_name = field_name; + n_unk43->m_df_type = DF_Type::int32_t; + n_unk43->m_rdf_type = RDF_Type::Vector; + n_unk43->m_node_type = NodeType::Vector; + n_unk43->m_addornements = "v"; + n_unk43->m_address = base + offset; + n_unk43->m_comment = "empty"; + n_unk43->m_parent = p_node_parent; + n_unk43->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk43); + + field_name = "unk44"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1d, field_name)); + auto n_unk44 = new NodeSimple; + n_unk44->m_field_name = field_name; + n_unk44->m_df_type = DF_Type::int32_t; + n_unk44->m_rdf_type = RDF_Type::int32_t; + n_unk44->m_node_type = NodeType::Simple; + n_unk44->m_address = base + offset; + n_unk44->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk44); + + field_name = "unk44a"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1d, field_name)); + auto n_unk44a = new NodeSimple; + n_unk44a->m_field_name = field_name; + n_unk44a->m_df_type = DF_Type::int32_t; + n_unk44a->m_rdf_type = RDF_Type::int32_t; + n_unk44a->m_node_type = NodeType::Simple; + n_unk44a->m_address = base + offset; + n_unk44a->m_comment = "appears to be a class with a constructor?"; + n_unk44a->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk44a); + + field_name = "unk44b"; + auto n_unk44b = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1d, field_name)); + n_unk44b->m_field_name = field_name; + n_unk44b->m_df_type = DF_Type::int32_t; + n_unk44b->m_rdf_type = RDF_Type::Array; + n_unk44b->m_node_type = NodeType::Array; + n_unk44b->m_addornements = "[15"; + n_unk44b->m_array_size = 15; + n_unk44b->m_address = base + offset; + n_unk44b->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk44b); + +} +void node_from_historical_entity__T_training_knowledge(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "level"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_training_knowledge, field_name)); + auto n_level = new NodeVector; + n_level->m_field_name = field_name; + n_level->m_df_type = DF_Type::training_knowledge_level; + n_level->m_rdf_type = RDF_Type::Vector; + n_level->m_node_type = NodeType::Vector; + n_level->m_enum_base = DF_Type::int32_t; + n_level->m_defined_in = "df.entities.xml"; + n_level->m_addornements = "v"; + n_level->m_address = base + offset; + n_level->m_refers_to = "(find-instance $creature_raw $)"; + n_level->m_parent = p_node_parent; + n_level->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_level); + + field_name = "unk_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_training_knowledge, field_name)); + auto n_unk_10 = new NodeVector; + n_unk_10->m_field_name = field_name; + n_unk_10->m_df_type = DF_Type::int32_t; + n_unk_10->m_rdf_type = RDF_Type::Vector; + n_unk_10->m_node_type = NodeType::Vector; + n_unk_10->m_addornements = "v"; + n_unk_10->m_address = base + offset; + n_unk_10->m_refers_to = "(find-instance $creature_raw $)"; + n_unk_10->m_parent = p_node_parent; + n_unk_10->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_10); + +} +void node_from_historical_entity__T_unknown1e(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk47"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1e, field_name)); + auto n_unk47 = new NodeSimple; + n_unk47->m_field_name = field_name; + n_unk47->m_df_type = DF_Type::int16_t; + n_unk47->m_rdf_type = RDF_Type::int16_t; + n_unk47->m_node_type = NodeType::Simple; + n_unk47->m_address = base + offset; + n_unk47->m_comment = "in 0.23, last communicate season"; + n_unk47->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk47); + + field_name = "unk48"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1e, field_name)); + auto n_unk48 = new NodeSimple; + n_unk48->m_field_name = field_name; + n_unk48->m_df_type = DF_Type::int32_t; + n_unk48->m_rdf_type = RDF_Type::int32_t; + n_unk48->m_node_type = NodeType::Simple; + n_unk48->m_address = base + offset; + n_unk48->m_comment = "in 0.23, last communicate year"; + n_unk48->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk48); + + field_name = "unk49a"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1e, field_name)); + auto n_unk49a = new NodeSimple; + n_unk49a->m_field_name = field_name; + n_unk49a->m_df_type = DF_Type::int32_t; + n_unk49a->m_rdf_type = RDF_Type::int32_t; + n_unk49a->m_node_type = NodeType::Simple; + n_unk49a->m_address = base + offset; + n_unk49a->m_comment = "in 0.23, imports"; + n_unk49a->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk49a); + + field_name = "unk49b"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1e, field_name)); + auto n_unk49b = new NodeSimple; + n_unk49b->m_field_name = field_name; + n_unk49b->m_df_type = DF_Type::int32_t; + n_unk49b->m_rdf_type = RDF_Type::int32_t; + n_unk49b->m_node_type = NodeType::Simple; + n_unk49b->m_address = base + offset; + n_unk49b->m_comment = "in 0.23, exports"; + n_unk49b->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk49b); + + field_name = "unk49c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1e, field_name)); + auto n_unk49c = new NodeSimple; + n_unk49c->m_field_name = field_name; + n_unk49c->m_df_type = DF_Type::int32_t; + n_unk49c->m_rdf_type = RDF_Type::int32_t; + n_unk49c->m_node_type = NodeType::Simple; + n_unk49c->m_address = base + offset; + n_unk49c->m_comment = "in 0.23, recent offerings"; + n_unk49c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk49c); + + field_name = "unk49d"; + auto n_unk49d = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1e, field_name)); + n_unk49d->m_field_name = field_name; + n_unk49d->m_df_type = DF_Type::int32_t; + n_unk49d->m_rdf_type = RDF_Type::Array; + n_unk49d->m_comment = "in 0.23, offerings history"; + n_unk49d->m_node_type = NodeType::Array; + n_unk49d->m_addornements = "[10"; + n_unk49d->m_array_size = 10; + n_unk49d->m_address = base + offset; + n_unk49d->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk49d); + + field_name = "unk49e"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1e, field_name)); + auto n_unk49e = new NodeSimple; + n_unk49e->m_field_name = field_name; + n_unk49e->m_df_type = DF_Type::int32_t; + n_unk49e->m_rdf_type = RDF_Type::int32_t; + n_unk49e->m_node_type = NodeType::Simple; + n_unk49e->m_address = base + offset; + n_unk49e->m_comment = "in 0.23, hostility level - determined siege size, had a chance to reset to 1"; + n_unk49e->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk49e); + + field_name = "unk49f"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1e, field_name)); + auto n_unk49f = new NodeSimple; + n_unk49f->m_field_name = field_name; + n_unk49f->m_df_type = DF_Type::int32_t; + n_unk49f->m_rdf_type = RDF_Type::int32_t; + n_unk49f->m_node_type = NodeType::Simple; + n_unk49f->m_address = base + offset; + n_unk49f->m_comment = "in 0.23, determined siege size"; + n_unk49f->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk49f); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown1e, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_historical_entity__T_derived_resources(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mill_cookable"; + auto n_mill_cookable = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); + n_mill_cookable->m_field_name = field_name; + n_mill_cookable->m_df_type = DF_Type::material_vec_ref; + n_mill_cookable->m_rdf_type = RDF_Type::Struct; + n_mill_cookable->m_node_type = NodeType::Compound; + n_mill_cookable->m_address = base + offset; + n_mill_cookable->m_defined_in = "df.materials.xml"; + n_mill_cookable->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mill_cookable); + + field_name = "mill_dye"; + auto n_mill_dye = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); + n_mill_dye->m_field_name = field_name; + n_mill_dye->m_df_type = DF_Type::material_vec_ref; + n_mill_dye->m_rdf_type = RDF_Type::Struct; + n_mill_dye->m_node_type = NodeType::Compound; + n_mill_dye->m_address = base + offset; + n_mill_dye->m_defined_in = "df.materials.xml"; + n_mill_dye->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mill_dye); + + field_name = "armor_leather"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); + auto n_armor_leather = new NodeVector; + n_armor_leather->m_field_name = field_name; + n_armor_leather->m_df_type = DF_Type::int16_t; + n_armor_leather->m_rdf_type = RDF_Type::Vector; + n_armor_leather->m_node_type = NodeType::Vector; + n_armor_leather->m_addornements = "v"; + n_armor_leather->m_address = base + offset; + n_armor_leather->m_parent = p_node_parent; + n_armor_leather->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_armor_leather); + + field_name = "armor_chain"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); + auto n_armor_chain = new NodeVector; + n_armor_chain->m_field_name = field_name; + n_armor_chain->m_df_type = DF_Type::int16_t; + n_armor_chain->m_rdf_type = RDF_Type::Vector; + n_armor_chain->m_node_type = NodeType::Vector; + n_armor_chain->m_addornements = "v"; + n_armor_chain->m_address = base + offset; + n_armor_chain->m_parent = p_node_parent; + n_armor_chain->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_armor_chain); + + field_name = "armor_plate"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); + auto n_armor_plate = new NodeVector; + n_armor_plate->m_field_name = field_name; + n_armor_plate->m_df_type = DF_Type::int16_t; + n_armor_plate->m_rdf_type = RDF_Type::Vector; + n_armor_plate->m_node_type = NodeType::Vector; + n_armor_plate->m_addornements = "v"; + n_armor_plate->m_address = base + offset; + n_armor_plate->m_parent = p_node_parent; + n_armor_plate->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_armor_plate); + + field_name = "armor_under"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); + auto n_armor_under = new NodeVector; + n_armor_under->m_field_name = field_name; + n_armor_under->m_df_type = DF_Type::int16_t; + n_armor_under->m_rdf_type = RDF_Type::Vector; + n_armor_under->m_node_type = NodeType::Vector; + n_armor_under->m_addornements = "v"; + n_armor_under->m_address = base + offset; + n_armor_under->m_parent = p_node_parent; + n_armor_under->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_armor_under); + + field_name = "armor_over"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); + auto n_armor_over = new NodeVector; + n_armor_over->m_field_name = field_name; + n_armor_over->m_df_type = DF_Type::int16_t; + n_armor_over->m_rdf_type = RDF_Type::Vector; + n_armor_over->m_node_type = NodeType::Vector; + n_armor_over->m_addornements = "v"; + n_armor_over->m_address = base + offset; + n_armor_over->m_parent = p_node_parent; + n_armor_over->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_armor_over); + + field_name = "armor_cover"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); + auto n_armor_cover = new NodeVector; + n_armor_cover->m_field_name = field_name; + n_armor_cover->m_df_type = DF_Type::int16_t; + n_armor_cover->m_rdf_type = RDF_Type::Vector; + n_armor_cover->m_node_type = NodeType::Vector; + n_armor_cover->m_addornements = "v"; + n_armor_cover->m_address = base + offset; + n_armor_cover->m_parent = p_node_parent; + n_armor_cover->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_armor_cover); + + field_name = "pants_leather"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); + auto n_pants_leather = new NodeVector; + n_pants_leather->m_field_name = field_name; + n_pants_leather->m_df_type = DF_Type::int16_t; + n_pants_leather->m_rdf_type = RDF_Type::Vector; + n_pants_leather->m_node_type = NodeType::Vector; + n_pants_leather->m_addornements = "v"; + n_pants_leather->m_address = base + offset; + n_pants_leather->m_parent = p_node_parent; + n_pants_leather->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_pants_leather); + + field_name = "pants_chain"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); + auto n_pants_chain = new NodeVector; + n_pants_chain->m_field_name = field_name; + n_pants_chain->m_df_type = DF_Type::int16_t; + n_pants_chain->m_rdf_type = RDF_Type::Vector; + n_pants_chain->m_node_type = NodeType::Vector; + n_pants_chain->m_addornements = "v"; + n_pants_chain->m_address = base + offset; + n_pants_chain->m_parent = p_node_parent; + n_pants_chain->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_pants_chain); + + field_name = "pants_plate"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); + auto n_pants_plate = new NodeVector; + n_pants_plate->m_field_name = field_name; + n_pants_plate->m_df_type = DF_Type::int16_t; + n_pants_plate->m_rdf_type = RDF_Type::Vector; + n_pants_plate->m_node_type = NodeType::Vector; + n_pants_plate->m_addornements = "v"; + n_pants_plate->m_address = base + offset; + n_pants_plate->m_parent = p_node_parent; + n_pants_plate->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_pants_plate); + + field_name = "pants_under"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); + auto n_pants_under = new NodeVector; + n_pants_under->m_field_name = field_name; + n_pants_under->m_df_type = DF_Type::int16_t; + n_pants_under->m_rdf_type = RDF_Type::Vector; + n_pants_under->m_node_type = NodeType::Vector; + n_pants_under->m_addornements = "v"; + n_pants_under->m_address = base + offset; + n_pants_under->m_parent = p_node_parent; + n_pants_under->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_pants_under); + + field_name = "pants_over"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); + auto n_pants_over = new NodeVector; + n_pants_over->m_field_name = field_name; + n_pants_over->m_df_type = DF_Type::int16_t; + n_pants_over->m_rdf_type = RDF_Type::Vector; + n_pants_over->m_node_type = NodeType::Vector; + n_pants_over->m_addornements = "v"; + n_pants_over->m_address = base + offset; + n_pants_over->m_parent = p_node_parent; + n_pants_over->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_pants_over); + + field_name = "pants_cover"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); + auto n_pants_cover = new NodeVector; + n_pants_cover->m_field_name = field_name; + n_pants_cover->m_df_type = DF_Type::int16_t; + n_pants_cover->m_rdf_type = RDF_Type::Vector; + n_pants_cover->m_node_type = NodeType::Vector; + n_pants_cover->m_addornements = "v"; + n_pants_cover->m_address = base + offset; + n_pants_cover->m_parent = p_node_parent; + n_pants_cover->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_pants_cover); + + field_name = "helm_leather"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); + auto n_helm_leather = new NodeVector; + n_helm_leather->m_field_name = field_name; + n_helm_leather->m_df_type = DF_Type::int16_t; + n_helm_leather->m_rdf_type = RDF_Type::Vector; + n_helm_leather->m_node_type = NodeType::Vector; + n_helm_leather->m_addornements = "v"; + n_helm_leather->m_address = base + offset; + n_helm_leather->m_parent = p_node_parent; + n_helm_leather->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_helm_leather); + + field_name = "helm_chain"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); + auto n_helm_chain = new NodeVector; + n_helm_chain->m_field_name = field_name; + n_helm_chain->m_df_type = DF_Type::int16_t; + n_helm_chain->m_rdf_type = RDF_Type::Vector; + n_helm_chain->m_node_type = NodeType::Vector; + n_helm_chain->m_addornements = "v"; + n_helm_chain->m_address = base + offset; + n_helm_chain->m_parent = p_node_parent; + n_helm_chain->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_helm_chain); + + field_name = "helm_plate"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); + auto n_helm_plate = new NodeVector; + n_helm_plate->m_field_name = field_name; + n_helm_plate->m_df_type = DF_Type::int16_t; + n_helm_plate->m_rdf_type = RDF_Type::Vector; + n_helm_plate->m_node_type = NodeType::Vector; + n_helm_plate->m_addornements = "v"; + n_helm_plate->m_address = base + offset; + n_helm_plate->m_parent = p_node_parent; + n_helm_plate->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_helm_plate); + + field_name = "helm_under"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); + auto n_helm_under = new NodeVector; + n_helm_under->m_field_name = field_name; + n_helm_under->m_df_type = DF_Type::int16_t; + n_helm_under->m_rdf_type = RDF_Type::Vector; + n_helm_under->m_node_type = NodeType::Vector; + n_helm_under->m_addornements = "v"; + n_helm_under->m_address = base + offset; + n_helm_under->m_parent = p_node_parent; + n_helm_under->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_helm_under); + + field_name = "helm_over"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); + auto n_helm_over = new NodeVector; + n_helm_over->m_field_name = field_name; + n_helm_over->m_df_type = DF_Type::int16_t; + n_helm_over->m_rdf_type = RDF_Type::Vector; + n_helm_over->m_node_type = NodeType::Vector; + n_helm_over->m_addornements = "v"; + n_helm_over->m_address = base + offset; + n_helm_over->m_parent = p_node_parent; + n_helm_over->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_helm_over); + + field_name = "helm_cover"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); + auto n_helm_cover = new NodeVector; + n_helm_cover->m_field_name = field_name; + n_helm_cover->m_df_type = DF_Type::int16_t; + n_helm_cover->m_rdf_type = RDF_Type::Vector; + n_helm_cover->m_node_type = NodeType::Vector; + n_helm_cover->m_addornements = "v"; + n_helm_cover->m_address = base + offset; + n_helm_cover->m_parent = p_node_parent; + n_helm_cover->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_helm_cover); + + field_name = "shoes_leather"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); + auto n_shoes_leather = new NodeVector; + n_shoes_leather->m_field_name = field_name; + n_shoes_leather->m_df_type = DF_Type::int16_t; + n_shoes_leather->m_rdf_type = RDF_Type::Vector; + n_shoes_leather->m_node_type = NodeType::Vector; + n_shoes_leather->m_addornements = "v"; + n_shoes_leather->m_address = base + offset; + n_shoes_leather->m_parent = p_node_parent; + n_shoes_leather->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_shoes_leather); + + field_name = "shoes_chain"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); + auto n_shoes_chain = new NodeVector; + n_shoes_chain->m_field_name = field_name; + n_shoes_chain->m_df_type = DF_Type::int16_t; + n_shoes_chain->m_rdf_type = RDF_Type::Vector; + n_shoes_chain->m_node_type = NodeType::Vector; + n_shoes_chain->m_addornements = "v"; + n_shoes_chain->m_address = base + offset; + n_shoes_chain->m_parent = p_node_parent; + n_shoes_chain->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_shoes_chain); + + field_name = "shoes_plate"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); + auto n_shoes_plate = new NodeVector; + n_shoes_plate->m_field_name = field_name; + n_shoes_plate->m_df_type = DF_Type::int16_t; + n_shoes_plate->m_rdf_type = RDF_Type::Vector; + n_shoes_plate->m_node_type = NodeType::Vector; + n_shoes_plate->m_addornements = "v"; + n_shoes_plate->m_address = base + offset; + n_shoes_plate->m_parent = p_node_parent; + n_shoes_plate->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_shoes_plate); + + field_name = "shoes_under"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); + auto n_shoes_under = new NodeVector; + n_shoes_under->m_field_name = field_name; + n_shoes_under->m_df_type = DF_Type::int16_t; + n_shoes_under->m_rdf_type = RDF_Type::Vector; + n_shoes_under->m_node_type = NodeType::Vector; + n_shoes_under->m_addornements = "v"; + n_shoes_under->m_address = base + offset; + n_shoes_under->m_parent = p_node_parent; + n_shoes_under->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_shoes_under); + + field_name = "shoes_over"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); + auto n_shoes_over = new NodeVector; + n_shoes_over->m_field_name = field_name; + n_shoes_over->m_df_type = DF_Type::int16_t; + n_shoes_over->m_rdf_type = RDF_Type::Vector; + n_shoes_over->m_node_type = NodeType::Vector; + n_shoes_over->m_addornements = "v"; + n_shoes_over->m_address = base + offset; + n_shoes_over->m_parent = p_node_parent; + n_shoes_over->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_shoes_over); + + field_name = "shoes_cover"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); + auto n_shoes_cover = new NodeVector; + n_shoes_cover->m_field_name = field_name; + n_shoes_cover->m_df_type = DF_Type::int16_t; + n_shoes_cover->m_rdf_type = RDF_Type::Vector; + n_shoes_cover->m_node_type = NodeType::Vector; + n_shoes_cover->m_addornements = "v"; + n_shoes_cover->m_address = base + offset; + n_shoes_cover->m_parent = p_node_parent; + n_shoes_cover->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_shoes_cover); + + field_name = "gloves_leather"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); + auto n_gloves_leather = new NodeVector; + n_gloves_leather->m_field_name = field_name; + n_gloves_leather->m_df_type = DF_Type::int16_t; + n_gloves_leather->m_rdf_type = RDF_Type::Vector; + n_gloves_leather->m_node_type = NodeType::Vector; + n_gloves_leather->m_addornements = "v"; + n_gloves_leather->m_address = base + offset; + n_gloves_leather->m_parent = p_node_parent; + n_gloves_leather->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_gloves_leather); + + field_name = "gloves_chain"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); + auto n_gloves_chain = new NodeVector; + n_gloves_chain->m_field_name = field_name; + n_gloves_chain->m_df_type = DF_Type::int16_t; + n_gloves_chain->m_rdf_type = RDF_Type::Vector; + n_gloves_chain->m_node_type = NodeType::Vector; + n_gloves_chain->m_addornements = "v"; + n_gloves_chain->m_address = base + offset; + n_gloves_chain->m_parent = p_node_parent; + n_gloves_chain->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_gloves_chain); + + field_name = "gloves_plate"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); + auto n_gloves_plate = new NodeVector; + n_gloves_plate->m_field_name = field_name; + n_gloves_plate->m_df_type = DF_Type::int16_t; + n_gloves_plate->m_rdf_type = RDF_Type::Vector; + n_gloves_plate->m_node_type = NodeType::Vector; + n_gloves_plate->m_addornements = "v"; + n_gloves_plate->m_address = base + offset; + n_gloves_plate->m_parent = p_node_parent; + n_gloves_plate->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_gloves_plate); + + field_name = "gloves_under"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); + auto n_gloves_under = new NodeVector; + n_gloves_under->m_field_name = field_name; + n_gloves_under->m_df_type = DF_Type::int16_t; + n_gloves_under->m_rdf_type = RDF_Type::Vector; + n_gloves_under->m_node_type = NodeType::Vector; + n_gloves_under->m_addornements = "v"; + n_gloves_under->m_address = base + offset; + n_gloves_under->m_parent = p_node_parent; + n_gloves_under->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_gloves_under); + + field_name = "gloves_over"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); + auto n_gloves_over = new NodeVector; + n_gloves_over->m_field_name = field_name; + n_gloves_over->m_df_type = DF_Type::int16_t; + n_gloves_over->m_rdf_type = RDF_Type::Vector; + n_gloves_over->m_node_type = NodeType::Vector; + n_gloves_over->m_addornements = "v"; + n_gloves_over->m_address = base + offset; + n_gloves_over->m_parent = p_node_parent; + n_gloves_over->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_gloves_over); + + field_name = "gloves_cover"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_derived_resources, field_name)); + auto n_gloves_cover = new NodeVector; + n_gloves_cover->m_field_name = field_name; + n_gloves_cover->m_df_type = DF_Type::int16_t; + n_gloves_cover->m_rdf_type = RDF_Type::Vector; + n_gloves_cover->m_node_type = NodeType::Vector; + n_gloves_cover->m_addornements = "v"; + n_gloves_cover->m_address = base + offset; + n_gloves_cover->m_parent = p_node_parent; + n_gloves_cover->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_gloves_cover); + +} +void node_from_historical_entity__T_claims(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "areas"; + auto n_areas = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_claims, field_name)); + n_areas->m_field_name = field_name; + n_areas->m_df_type = DF_Type::coord2d_path; + n_areas->m_rdf_type = RDF_Type::Struct; + n_areas->m_node_type = NodeType::Compound; + n_areas->m_address = base + offset; + n_areas->m_defined_in = "df.map.xml"; + n_areas->m_comment = "in world_data.entity_claims1"; + n_areas->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_areas); + + field_name = "unk1"; + auto n_unk1 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_claims, field_name)); + n_unk1->m_field_name = field_name; + n_unk1->m_df_type = DF_Type::coord2d_path; + n_unk1->m_rdf_type = RDF_Type::Struct; + n_unk1->m_node_type = NodeType::Compound; + n_unk1->m_address = base + offset; + n_unk1->m_defined_in = "df.map.xml"; + n_unk1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk1); + + field_name = "border"; + auto n_border = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_claims, field_name)); + n_border->m_field_name = field_name; + n_border->m_df_type = DF_Type::coord2d_path; + n_border->m_rdf_type = RDF_Type::Struct; + n_border->m_node_type = NodeType::Compound; + n_border->m_address = base + offset; + n_border->m_defined_in = "df.map.xml"; + n_border->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_border); + +} +void node_from_historical_entity__T_unknown2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "metal_proficiency"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); + auto n_metal_proficiency = new NodeSimple; + n_metal_proficiency->m_field_name = field_name; + n_metal_proficiency->m_df_type = DF_Type::int32_t; + n_metal_proficiency->m_rdf_type = RDF_Type::int32_t; + n_metal_proficiency->m_node_type = NodeType::Simple; + n_metal_proficiency->m_address = base + offset; + n_metal_proficiency->m_comment = "best IMPACT_FRACTURE/10000 + MAX_EDGE/1000 for weapon mats plus best IMPACT_FRACTURE/10000 for armor mats"; + n_metal_proficiency->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_metal_proficiency); + + field_name = "unk10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); + auto n_unk10 = new NodeVector; + n_unk10->m_field_name = field_name; + n_unk10->m_df_type = DF_Type::int16_t; + n_unk10->m_rdf_type = RDF_Type::Vector; + n_unk10->m_node_type = NodeType::Vector; + n_unk10->m_addornements = "v"; + n_unk10->m_address = base + offset; + n_unk10->m_parent = p_node_parent; + n_unk10->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk10); + + field_name = "resource_allotment"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); + auto n_resource_allotment = new NodePointer; + n_resource_allotment->m_field_name = field_name; + n_resource_allotment->m_df_type = get_real_subtype(base+offset, DF_Type::resource_allotment_data); + n_resource_allotment->m_rdf_type = RDF_Type::Pointer; + n_resource_allotment->m_node_type = NodeType::Pointer; + n_resource_allotment->m_addornements = "*"; + n_resource_allotment->m_address = base + offset; + n_resource_allotment->m_parent = p_node_parent; + n_resource_allotment->m_defined_in = "df.resource.xml"; + n_resource_allotment->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_resource_allotment); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); + auto n_anon_1 = new NodeVector; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::Void; + n_anon_1->m_rdf_type = RDF_Type::Vector; + n_anon_1->m_node_type = NodeType::Vector; + n_anon_1->m_addornements = "v"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); + auto n_anon_2 = new NodeVector; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::Void; + n_anon_2->m_rdf_type = RDF_Type::Vector; + n_anon_2->m_node_type = NodeType::Vector; + n_anon_2->m_addornements = "v"; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + n_anon_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); + auto n_anon_3 = new NodeVector; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::Void; + n_anon_3->m_rdf_type = RDF_Type::Vector; + n_anon_3->m_node_type = NodeType::Vector; + n_anon_3->m_addornements = "v"; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + n_anon_3->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); + auto n_anon_4 = new NodeVector; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::Void; + n_anon_4->m_rdf_type = RDF_Type::Vector; + n_anon_4->m_node_type = NodeType::Vector; + n_anon_4->m_addornements = "v"; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + n_anon_4->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "unk12a"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); + auto n_unk12a = new NodeSimple; + n_unk12a->m_field_name = field_name; + n_unk12a->m_df_type = DF_Type::int16_t; + n_unk12a->m_rdf_type = RDF_Type::int16_t; + n_unk12a->m_node_type = NodeType::Simple; + n_unk12a->m_address = base + offset; + n_unk12a->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk12a); + + field_name = "unk12b"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); + auto n_unk12b = new NodeSimple; + n_unk12b->m_field_name = field_name; + n_unk12b->m_df_type = DF_Type::int16_t; + n_unk12b->m_rdf_type = RDF_Type::int16_t; + n_unk12b->m_node_type = NodeType::Simple; + n_unk12b->m_address = base + offset; + n_unk12b->m_comment = "uninitialized"; + n_unk12b->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk12b); + + field_name = "unk13"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); + auto n_unk13 = new NodeSimple; + n_unk13->m_field_name = field_name; + n_unk13->m_df_type = DF_Type::Bool; + n_unk13->m_rdf_type = RDF_Type::Bool; + n_unk13->m_node_type = NodeType::Simple; + n_unk13->m_address = base + offset; + n_unk13->m_comment = "0"; + n_unk13->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk13); + + field_name = "landmass"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); + auto n_landmass = new NodePointer; + n_landmass->m_field_name = field_name; + n_landmass->m_df_type = get_real_subtype(base+offset, DF_Type::world_landmass); + n_landmass->m_rdf_type = RDF_Type::Pointer; + n_landmass->m_node_type = NodeType::Pointer; + n_landmass->m_addornements = "*"; + n_landmass->m_address = base + offset; + n_landmass->m_parent = p_node_parent; + n_landmass->m_defined_in = "df.world-data.xml"; + n_landmass->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_landmass); + + field_name = "region"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); + auto n_region = new NodePointer; + n_region->m_field_name = field_name; + n_region->m_df_type = get_real_subtype(base+offset, DF_Type::world_region); + n_region->m_rdf_type = RDF_Type::Pointer; + n_region->m_node_type = NodeType::Pointer; + n_region->m_addornements = "*"; + n_region->m_address = base + offset; + n_region->m_parent = p_node_parent; + n_region->m_defined_in = "df.world-data.xml"; + n_region->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_region); + + field_name = "unk16"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); + auto n_unk16 = new NodeSimple; + n_unk16->m_field_name = field_name; + n_unk16->m_df_type = DF_Type::int32_t; + n_unk16->m_rdf_type = RDF_Type::int32_t; + n_unk16->m_node_type = NodeType::Simple; + n_unk16->m_address = base + offset; + n_unk16->m_comment = "uninitialized"; + n_unk16->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk16); + + field_name = "unk17"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); + auto n_unk17 = new NodeSimple; + n_unk17->m_field_name = field_name; + n_unk17->m_df_type = DF_Type::int16_t; + n_unk17->m_rdf_type = RDF_Type::int16_t; + n_unk17->m_node_type = NodeType::Simple; + n_unk17->m_address = base + offset; + n_unk17->m_comment = "0"; + n_unk17->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk17); + + field_name = "unk18"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); + auto n_unk18 = new NodeVector; + n_unk18->m_field_name = field_name; + n_unk18->m_df_type = DF_Type::Void; + n_unk18->m_rdf_type = RDF_Type::Vector; + n_unk18->m_node_type = NodeType::Vector; + n_unk18->m_addornements = "v"; + n_unk18->m_address = base + offset; + n_unk18->m_comment = "empty"; + n_unk18->m_parent = p_node_parent; + n_unk18->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk18); + + field_name = "unk19"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); + auto n_unk19 = new NodeVector; + n_unk19->m_field_name = field_name; + n_unk19->m_df_type = DF_Type::Void; + n_unk19->m_rdf_type = RDF_Type::Vector; + n_unk19->m_node_type = NodeType::Vector; + n_unk19->m_addornements = "v"; + n_unk19->m_address = base + offset; + n_unk19->m_comment = "empty"; + n_unk19->m_parent = p_node_parent; + n_unk19->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk19); + + field_name = "unk20"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); + auto n_unk20 = new NodeSimple; + n_unk20->m_field_name = field_name; + n_unk20->m_df_type = DF_Type::int16_t; + n_unk20->m_rdf_type = RDF_Type::int16_t; + n_unk20->m_node_type = NodeType::Simple; + n_unk20->m_address = base + offset; + n_unk20->m_comment = "0"; + n_unk20->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk20); + + field_name = "unk21"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); + auto n_unk21 = new NodeSimple; + n_unk21->m_field_name = field_name; + n_unk21->m_df_type = DF_Type::int32_t; + n_unk21->m_rdf_type = RDF_Type::int32_t; + n_unk21->m_node_type = NodeType::Simple; + n_unk21->m_address = base + offset; + n_unk21->m_comment = "0"; + n_unk21->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk21); + + field_name = "unk22"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); + auto n_unk22 = new NodeSimple; + n_unk22->m_field_name = field_name; + n_unk22->m_df_type = DF_Type::int32_t; + n_unk22->m_rdf_type = RDF_Type::int32_t; + n_unk22->m_node_type = NodeType::Simple; + n_unk22->m_address = base + offset; + n_unk22->m_comment = "0"; + n_unk22->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk22); + + field_name = "unk23"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); + auto n_unk23 = new NodeSimple; + n_unk23->m_field_name = field_name; + n_unk23->m_df_type = DF_Type::int32_t; + n_unk23->m_rdf_type = RDF_Type::int32_t; + n_unk23->m_node_type = NodeType::Simple; + n_unk23->m_address = base + offset; + n_unk23->m_comment = "0"; + n_unk23->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk23); + + field_name = "unk24"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); + auto n_unk24 = new NodeVector; + n_unk24->m_field_name = field_name; + n_unk24->m_df_type = DF_Type::Void; + n_unk24->m_rdf_type = RDF_Type::Vector; + n_unk24->m_node_type = NodeType::Vector; + n_unk24->m_addornements = "v"; + n_unk24->m_address = base + offset; + n_unk24->m_comment = "empty"; + n_unk24->m_parent = p_node_parent; + n_unk24->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk24); + + field_name = "unk25"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); + auto n_unk25 = new NodeVector; + n_unk25->m_field_name = field_name; + n_unk25->m_df_type = DF_Type::Void; + n_unk25->m_rdf_type = RDF_Type::Vector; + n_unk25->m_node_type = NodeType::Vector; + n_unk25->m_addornements = "v"; + n_unk25->m_address = base + offset; + n_unk25->m_comment = "empty"; + n_unk25->m_parent = p_node_parent; + n_unk25->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk25); + + field_name = "unk_9C"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); + auto n_unk_9C = new NodeSimple; + n_unk_9C->m_field_name = field_name; + n_unk_9C->m_df_type = DF_Type::int32_t; + n_unk_9C->m_rdf_type = RDF_Type::int32_t; + n_unk_9C->m_node_type = NodeType::Simple; + n_unk_9C->m_address = base + offset; + n_unk_9C->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_9C); + + field_name = "unk_A0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); + auto n_unk_A0 = new NodeSimple; + n_unk_A0->m_field_name = field_name; + n_unk_A0->m_df_type = DF_Type::int32_t; + n_unk_A0->m_rdf_type = RDF_Type::int32_t; + n_unk_A0->m_node_type = NodeType::Simple; + n_unk_A0->m_address = base + offset; + n_unk_A0->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_A0); + + field_name = "unk_A4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); + auto n_unk_A4 = new NodeSimple; + n_unk_A4->m_field_name = field_name; + n_unk_A4->m_df_type = DF_Type::int32_t; + n_unk_A4->m_rdf_type = RDF_Type::int32_t; + n_unk_A4->m_node_type = NodeType::Simple; + n_unk_A4->m_address = base + offset; + n_unk_A4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_A4); + + field_name = "unk_A8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); + auto n_unk_A8 = new NodeSimple; + n_unk_A8->m_field_name = field_name; + n_unk_A8->m_df_type = DF_Type::int32_t; + n_unk_A8->m_rdf_type = RDF_Type::int32_t; + n_unk_A8->m_node_type = NodeType::Simple; + n_unk_A8->m_address = base + offset; + n_unk_A8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_A8); + + field_name = "unk_AC"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); + auto n_unk_AC = new NodeSimple; + n_unk_AC->m_field_name = field_name; + n_unk_AC->m_df_type = DF_Type::int32_t; + n_unk_AC->m_rdf_type = RDF_Type::int32_t; + n_unk_AC->m_node_type = NodeType::Simple; + n_unk_AC->m_address = base + offset; + n_unk_AC->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_AC); + + field_name = "unk_B0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); + auto n_unk_B0 = new NodeSimple; + n_unk_B0->m_field_name = field_name; + n_unk_B0->m_df_type = DF_Type::int32_t; + n_unk_B0->m_rdf_type = RDF_Type::int32_t; + n_unk_B0->m_node_type = NodeType::Simple; + n_unk_B0->m_address = base + offset; + n_unk_B0->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_B0); + + field_name = "unk_B4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); + auto n_unk_B4 = new NodeSimple; + n_unk_B4->m_field_name = field_name; + n_unk_B4->m_df_type = DF_Type::int32_t; + n_unk_B4->m_rdf_type = RDF_Type::int32_t; + n_unk_B4->m_node_type = NodeType::Simple; + n_unk_B4->m_address = base + offset; + n_unk_B4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_B4); + + field_name = "unk_B8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); + auto n_unk_B8 = new NodeSimple; + n_unk_B8->m_field_name = field_name; + n_unk_B8->m_df_type = DF_Type::int32_t; + n_unk_B8->m_rdf_type = RDF_Type::int32_t; + n_unk_B8->m_node_type = NodeType::Simple; + n_unk_B8->m_address = base + offset; + n_unk_B8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_B8); + + field_name = "unk_BC"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); + auto n_unk_BC = new NodeSimple; + n_unk_BC->m_field_name = field_name; + n_unk_BC->m_df_type = DF_Type::int32_t; + n_unk_BC->m_rdf_type = RDF_Type::int32_t; + n_unk_BC->m_node_type = NodeType::Simple; + n_unk_BC->m_address = base + offset; + n_unk_BC->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_BC); + + field_name = "unk_C0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); + auto n_unk_C0 = new NodeSimple; + n_unk_C0->m_field_name = field_name; + n_unk_C0->m_df_type = DF_Type::int32_t; + n_unk_C0->m_rdf_type = RDF_Type::int32_t; + n_unk_C0->m_node_type = NodeType::Simple; + n_unk_C0->m_address = base + offset; + n_unk_C0->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_C0); + + field_name = "unk26a"; + auto n_unk26a = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); + n_unk26a->m_field_name = field_name; + n_unk26a->m_df_type = DF_Type::int32_t; + n_unk26a->m_rdf_type = RDF_Type::Array; + n_unk26a->m_node_type = NodeType::Array; + n_unk26a->m_addornements = "[38"; + n_unk26a->m_array_size = 38; + n_unk26a->m_address = base + offset; + n_unk26a->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk26a); + + field_name = "unk26b"; + auto n_unk26b = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); + n_unk26b->m_field_name = field_name; + n_unk26b->m_df_type = DF_Type::int32_t; + n_unk26b->m_rdf_type = RDF_Type::Array; + n_unk26b->m_node_type = NodeType::Array; + n_unk26b->m_addornements = "[38"; + n_unk26b->m_array_size = 38; + n_unk26b->m_address = base + offset; + n_unk26b->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk26b); + + field_name = "unk26c"; + auto n_unk26c = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); + n_unk26c->m_field_name = field_name; + n_unk26c->m_df_type = DF_Type::int32_t; + n_unk26c->m_rdf_type = RDF_Type::Array; + n_unk26c->m_node_type = NodeType::Array; + n_unk26c->m_addornements = "[38"; + n_unk26c->m_array_size = 38; + n_unk26c->m_address = base + offset; + n_unk26c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk26c); + + field_name = "unk26d"; + auto n_unk26d = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); + n_unk26d->m_field_name = field_name; + n_unk26d->m_df_type = DF_Type::int32_t; + n_unk26d->m_rdf_type = RDF_Type::Array; + n_unk26d->m_node_type = NodeType::Array; + n_unk26d->m_addornements = "[38"; + n_unk26d->m_array_size = 38; + n_unk26d->m_address = base + offset; + n_unk26d->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk26d); + + field_name = "unk26e"; + auto n_unk26e = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); + n_unk26e->m_field_name = field_name; + n_unk26e->m_df_type = DF_Type::int32_t; + n_unk26e->m_rdf_type = RDF_Type::Array; + n_unk26e->m_node_type = NodeType::Array; + n_unk26e->m_addornements = "[15"; + n_unk26e->m_array_size = 15; + n_unk26e->m_address = base + offset; + n_unk26e->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk26e); + + field_name = "unk28"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); + auto n_unk28 = new NodeVector; + n_unk28->m_field_name = field_name; + n_unk28->m_df_type = DF_Type::Void; + n_unk28->m_rdf_type = RDF_Type::Vector; + n_unk28->m_node_type = NodeType::Vector; + n_unk28->m_addornements = "v"; + n_unk28->m_address = base + offset; + n_unk28->m_comment = "empty"; + n_unk28->m_parent = p_node_parent; + n_unk28->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk28); + + field_name = "unk29"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity__T_unknown2, field_name)); + auto n_unk29 = new NodeVector; + n_unk29->m_field_name = field_name; + n_unk29->m_df_type = DF_Type::Void; + n_unk29->m_rdf_type = RDF_Type::Vector; + n_unk29->m_node_type = NodeType::Vector; + n_unk29->m_addornements = "v"; + n_unk29->m_address = base + offset; + n_unk29->m_parent = p_node_parent; + n_unk29->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk29); + +} +void node_from_historical_entity(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "type"; + auto n_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::historical_entity_type; + n_type->m_rdf_type = RDF_Type::Enum; + n_type->m_node_type = NodeType::Enum; + n_type->m_base_type = DF_Type::int16_t; + n_type->m_enum_type = "historical_entity_type"; + n_type->m_address = base + offset; + n_type->m_defined_in = "df.entities.xml"; + n_type->m_first_value = 0; + n_type->m_last_value = 8; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_comment = "index in the array"; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "entity_raw"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); + auto n_entity_raw = new NodePointer; + n_entity_raw->m_field_name = field_name; + n_entity_raw->m_df_type = get_real_subtype(base+offset, DF_Type::entity_raw); + n_entity_raw->m_rdf_type = RDF_Type::Pointer; + n_entity_raw->m_node_type = NodeType::Pointer; + n_entity_raw->m_addornements = "*"; + n_entity_raw->m_address = base + offset; + n_entity_raw->m_parent = p_node_parent; + n_entity_raw->m_defined_in = "df.entity-raws.xml"; + n_entity_raw->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_entity_raw); + + field_name = "save_file_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); + auto n_save_file_id = new NodeSimple; + n_save_file_id->m_field_name = field_name; + n_save_file_id->m_df_type = DF_Type::int32_t; + n_save_file_id->m_rdf_type = RDF_Type::int32_t; + n_save_file_id->m_node_type = NodeType::Simple; + n_save_file_id->m_address = base + offset; + n_save_file_id->m_comment = "changes once has 100 entries"; + n_save_file_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_save_file_id); + + field_name = "next_member_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); + auto n_next_member_idx = new NodeSimple; + n_next_member_idx->m_field_name = field_name; + n_next_member_idx->m_df_type = DF_Type::int16_t; + n_next_member_idx->m_rdf_type = RDF_Type::int16_t; + n_next_member_idx->m_node_type = NodeType::Simple; + n_next_member_idx->m_address = base + offset; + n_next_member_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_next_member_idx); + + field_name = "name"; + auto n_name = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::language_name; + n_name->m_rdf_type = RDF_Type::Struct; + n_name->m_node_type = NodeType::Compound; + n_name->m_address = base + offset; + n_name->m_defined_in = "df.language.xml"; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "race"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); + auto n_race = new NodeSimple; + n_race->m_field_name = field_name; + n_race->m_df_type = DF_Type::int16_t; + n_race->m_rdf_type = RDF_Type::int16_t; + n_race->m_node_type = NodeType::Simple; + n_race->m_address = base + offset; + n_race->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_race); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::historical_entity__T_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "entity_links"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); + auto n_entity_links = new NodeVector; + n_entity_links->m_field_name = field_name; + n_entity_links->m_df_type = DF_Type::entity_entity_link; + n_entity_links->m_rdf_type = RDF_Type::Vector; + n_entity_links->m_node_type = NodeType::Vector; + n_entity_links->m_defined_in = "df.refs.xml"; + n_entity_links->m_addornements = "v*"; + n_entity_links->m_address = base + offset; + n_entity_links->m_parent = p_node_parent; + n_entity_links->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_entity_links); + + field_name = "site_links"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); + auto n_site_links = new NodeVector; + n_site_links->m_field_name = field_name; + n_site_links->m_df_type = DF_Type::entity_site_link; + n_site_links->m_rdf_type = RDF_Type::Vector; + n_site_links->m_node_type = NodeType::Vector; + n_site_links->m_defined_in = "df.refs.xml"; + n_site_links->m_addornements = "v*"; + n_site_links->m_address = base + offset; + n_site_links->m_parent = p_node_parent; + n_site_links->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_site_links); + + field_name = "histfig_ids"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); + auto n_histfig_ids = new NodeVector; + n_histfig_ids->m_field_name = field_name; + n_histfig_ids->m_df_type = DF_Type::int32_t; + n_histfig_ids->m_rdf_type = RDF_Type::Vector; + n_histfig_ids->m_node_type = NodeType::Vector; + n_histfig_ids->m_addornements = "v"; + n_histfig_ids->m_address = base + offset; + n_histfig_ids->m_parent = p_node_parent; + n_histfig_ids->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_histfig_ids); + + field_name = "populations"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); + auto n_populations = new NodeVector; + n_populations->m_field_name = field_name; + n_populations->m_df_type = DF_Type::int32_t; + n_populations->m_rdf_type = RDF_Type::Vector; + n_populations->m_node_type = NodeType::Vector; + n_populations->m_addornements = "v"; + n_populations->m_address = base + offset; + n_populations->m_comment = "1st entry copies to unit.population_id for Adventurer?"; + n_populations->m_parent = p_node_parent; + n_populations->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_populations); + + field_name = "nemesis_ids"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); + auto n_nemesis_ids = new NodeVector; + n_nemesis_ids->m_field_name = field_name; + n_nemesis_ids->m_df_type = DF_Type::int32_t; + n_nemesis_ids->m_rdf_type = RDF_Type::Vector; + n_nemesis_ids->m_node_type = NodeType::Vector; + n_nemesis_ids->m_addornements = "v"; + n_nemesis_ids->m_address = base + offset; + n_nemesis_ids->m_parent = p_node_parent; + n_nemesis_ids->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_nemesis_ids); + + field_name = "resources"; + auto n_resources = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); + n_resources->m_field_name = field_name; + n_resources->m_df_type = DF_Type::historical_entity__T_resources; + n_resources->m_rdf_type = RDF_Type::Compound; + n_resources->m_node_type = NodeType::Compound; + n_resources->m_address = base + offset; + n_resources->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_resources); + + field_name = "uniforms"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); + auto n_uniforms = new NodeVector; + n_uniforms->m_field_name = field_name; + n_uniforms->m_df_type = DF_Type::entity_uniform; + n_uniforms->m_rdf_type = RDF_Type::Vector; + n_uniforms->m_node_type = NodeType::Vector; + n_uniforms->m_defined_in = "df.entities.xml"; + n_uniforms->m_addornements = "v*"; + n_uniforms->m_address = base + offset; + n_uniforms->m_parent = p_node_parent; + n_uniforms->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_uniforms); + + field_name = "next_uniform_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); + auto n_next_uniform_id = new NodeSimple; + n_next_uniform_id->m_field_name = field_name; + n_next_uniform_id->m_df_type = DF_Type::int32_t; + n_next_uniform_id->m_rdf_type = RDF_Type::int32_t; + n_next_uniform_id->m_node_type = NodeType::Simple; + n_next_uniform_id->m_address = base + offset; + n_next_uniform_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_next_uniform_id); + + field_name = "unknown1b"; + auto n_unknown1b = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); + n_unknown1b->m_field_name = field_name; + n_unknown1b->m_df_type = DF_Type::historical_entity__T_unknown1b; + n_unknown1b->m_rdf_type = RDF_Type::Compound; + n_unknown1b->m_node_type = NodeType::Compound; + n_unknown1b->m_address = base + offset; + n_unknown1b->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unknown1b); + + field_name = "positions"; + auto n_positions = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); + n_positions->m_field_name = field_name; + n_positions->m_df_type = DF_Type::historical_entity__T_positions; + n_positions->m_rdf_type = RDF_Type::Compound; + n_positions->m_node_type = NodeType::Compound; + n_positions->m_address = base + offset; + n_positions->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_positions); + + field_name = "tissue_styles"; + auto n_tissue_styles = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); + n_tissue_styles->m_field_name = field_name; + n_tissue_styles->m_df_type = DF_Type::historical_entity__T_tissue_styles; + n_tissue_styles->m_rdf_type = RDF_Type::Compound; + n_tissue_styles->m_node_type = NodeType::Compound; + n_tissue_styles->m_address = base + offset; + n_tissue_styles->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tissue_styles); + + field_name = "squads"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); + auto n_squads = new NodeVector; + n_squads->m_field_name = field_name; + n_squads->m_df_type = DF_Type::int32_t; + n_squads->m_rdf_type = RDF_Type::Vector; + n_squads->m_node_type = NodeType::Vector; + n_squads->m_addornements = "v"; + n_squads->m_address = base + offset; + n_squads->m_parent = p_node_parent; + n_squads->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_squads); + + field_name = "unknown1d"; + auto n_unknown1d = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); + n_unknown1d->m_field_name = field_name; + n_unknown1d->m_df_type = DF_Type::historical_entity__T_unknown1d; + n_unknown1d->m_rdf_type = RDF_Type::Compound; + n_unknown1d->m_node_type = NodeType::Compound; + n_unknown1d->m_address = base + offset; + n_unknown1d->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unknown1d); + + field_name = "training_knowledge"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); + auto n_training_knowledge = new NodePointer; + n_training_knowledge->m_field_name = field_name; + n_training_knowledge->m_df_type = get_real_subtype(base+offset, DF_Type::historical_entity__T_training_knowledge); + n_training_knowledge->m_rdf_type = RDF_Type::Pointer; + n_training_knowledge->m_node_type = NodeType::Pointer; + n_training_knowledge->m_addornements = "*"; + n_training_knowledge->m_address = base + offset; + n_training_knowledge->m_parent = p_node_parent; + n_training_knowledge->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_training_knowledge); + + field_name = "events"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); + auto n_events = new NodeVector; + n_events->m_field_name = field_name; + n_events->m_df_type = DF_Type::entity_event; + n_events->m_rdf_type = RDF_Type::Vector; + n_events->m_node_type = NodeType::Vector; + n_events->m_defined_in = "df.entities.xml"; + n_events->m_addornements = "v*"; + n_events->m_address = base + offset; + n_events->m_parent = p_node_parent; + n_events->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_events); + + field_name = "unk_v40_1a"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); + auto n_unk_v40_1a = new NodeSimple; + n_unk_v40_1a->m_field_name = field_name; + n_unk_v40_1a->m_df_type = DF_Type::int32_t; + n_unk_v40_1a->m_rdf_type = RDF_Type::int32_t; + n_unk_v40_1a->m_node_type = NodeType::Simple; + n_unk_v40_1a->m_address = base + offset; + n_unk_v40_1a->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_1a); + + field_name = "unk_v40_1b"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); + auto n_unk_v40_1b = new NodeSimple; + n_unk_v40_1b->m_field_name = field_name; + n_unk_v40_1b->m_df_type = DF_Type::int32_t; + n_unk_v40_1b->m_rdf_type = RDF_Type::int32_t; + n_unk_v40_1b->m_node_type = NodeType::Simple; + n_unk_v40_1b->m_address = base + offset; + n_unk_v40_1b->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_1b); + + field_name = "unk_v40_1c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); + auto n_unk_v40_1c = new NodeSimple; + n_unk_v40_1c->m_field_name = field_name; + n_unk_v40_1c->m_df_type = DF_Type::int32_t; + n_unk_v40_1c->m_rdf_type = RDF_Type::int32_t; + n_unk_v40_1c->m_node_type = NodeType::Simple; + n_unk_v40_1c->m_address = base + offset; + n_unk_v40_1c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_1c); + + field_name = "unk_v40_1d"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); + auto n_unk_v40_1d = new NodeSimple; + n_unk_v40_1d->m_field_name = field_name; + n_unk_v40_1d->m_df_type = DF_Type::int32_t; + n_unk_v40_1d->m_rdf_type = RDF_Type::int32_t; + n_unk_v40_1d->m_node_type = NodeType::Simple; + n_unk_v40_1d->m_address = base + offset; + n_unk_v40_1d->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_1d); + + field_name = "unk_v40_1e"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); + auto n_unk_v40_1e = new NodeSimple; + n_unk_v40_1e->m_field_name = field_name; + n_unk_v40_1e->m_df_type = DF_Type::int32_t; + n_unk_v40_1e->m_rdf_type = RDF_Type::int32_t; + n_unk_v40_1e->m_node_type = NodeType::Simple; + n_unk_v40_1e->m_address = base + offset; + n_unk_v40_1e->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_1e); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); + auto n_anon_1 = new NodeVector; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::Vector; + n_anon_1->m_node_type = NodeType::Vector; + n_anon_1->m_addornements = "v"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); + auto n_anon_2 = new NodeVector; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::Vector; + n_anon_2->m_node_type = NodeType::Vector; + n_anon_2->m_addornements = "v"; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + n_anon_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); + auto n_anon_3 = new NodeVector; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::Vector; + n_anon_3->m_node_type = NodeType::Vector; + n_anon_3->m_addornements = "v"; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + n_anon_3->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); + auto n_anon_4 = new NodeVector; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::Vector; + n_anon_4->m_node_type = NodeType::Vector; + n_anon_4->m_addornements = "v"; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + n_anon_4->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); + auto n_anon_5 = new NodeVector; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::Vector; + n_anon_5->m_node_type = NodeType::Vector; + n_anon_5->m_addornements = "v"; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + n_anon_5->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); + auto n_anon_6 = new NodeVector; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::Vector; + n_anon_6->m_node_type = NodeType::Vector; + n_anon_6->m_addornements = "v"; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + n_anon_6->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "occasion_info"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); + auto n_occasion_info = new NodePointer; + n_occasion_info->m_field_name = field_name; + n_occasion_info->m_df_type = get_real_subtype(base+offset, DF_Type::entity_occasion_info); + n_occasion_info->m_rdf_type = RDF_Type::Pointer; + n_occasion_info->m_node_type = NodeType::Pointer; + n_occasion_info->m_addornements = "*"; + n_occasion_info->m_address = base + offset; + n_occasion_info->m_parent = p_node_parent; + n_occasion_info->m_defined_in = "df.entities.xml"; + n_occasion_info->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_occasion_info); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); + auto n_anon_7 = new NodeVector; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::Void; + n_anon_7->m_rdf_type = RDF_Type::Vector; + n_anon_7->m_node_type = NodeType::Vector; + n_anon_7->m_addornements = "v"; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + n_anon_7->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_7); + + field_name = "meeting_events"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); + auto n_meeting_events = new NodeVector; + n_meeting_events->m_field_name = field_name; + n_meeting_events->m_df_type = DF_Type::meeting_event; + n_meeting_events->m_rdf_type = RDF_Type::Vector; + n_meeting_events->m_node_type = NodeType::Vector; + n_meeting_events->m_defined_in = "df.meeting.xml"; + n_meeting_events->m_addornements = "v*"; + n_meeting_events->m_address = base + offset; + n_meeting_events->m_parent = p_node_parent; + n_meeting_events->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_meeting_events); + + field_name = "activity_stats"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); + auto n_activity_stats = new NodePointer; + n_activity_stats->m_field_name = field_name; + n_activity_stats->m_df_type = get_real_subtype(base+offset, DF_Type::entity_activity_statistics); + n_activity_stats->m_rdf_type = RDF_Type::Pointer; + n_activity_stats->m_node_type = NodeType::Pointer; + n_activity_stats->m_addornements = "*"; + n_activity_stats->m_address = base + offset; + n_activity_stats->m_parent = p_node_parent; + n_activity_stats->m_defined_in = "df.entities.xml"; + n_activity_stats->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_activity_stats); + + field_name = "unknown1e"; + auto n_unknown1e = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); + n_unknown1e->m_field_name = field_name; + n_unknown1e->m_df_type = DF_Type::historical_entity__T_unknown1e; + n_unknown1e->m_rdf_type = RDF_Type::Compound; + n_unknown1e->m_node_type = NodeType::Compound; + n_unknown1e->m_address = base + offset; + n_unknown1e->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unknown1e); + + field_name = "armies"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); + auto n_armies = new NodeVector; + n_armies->m_field_name = field_name; + n_armies->m_df_type = DF_Type::army; + n_armies->m_rdf_type = RDF_Type::Vector; + n_armies->m_node_type = NodeType::Vector; + n_armies->m_defined_in = "df.military.xml"; + n_armies->m_addornements = "v*"; + n_armies->m_address = base + offset; + n_armies->m_parent = p_node_parent; + n_armies->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_armies); + + field_name = "army_controllers"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); + auto n_army_controllers = new NodeVector; + n_army_controllers->m_field_name = field_name; + n_army_controllers->m_df_type = DF_Type::army_controller; + n_army_controllers->m_rdf_type = RDF_Type::Vector; + n_army_controllers->m_node_type = NodeType::Vector; + n_army_controllers->m_defined_in = "df.military.xml"; + n_army_controllers->m_addornements = "v*"; + n_army_controllers->m_address = base + offset; + n_army_controllers->m_parent = p_node_parent; + n_army_controllers->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_army_controllers); + + field_name = "hist_figures"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); + auto n_hist_figures = new NodeVector; + n_hist_figures->m_field_name = field_name; + n_hist_figures->m_df_type = DF_Type::historical_figure; + n_hist_figures->m_rdf_type = RDF_Type::Vector; + n_hist_figures->m_node_type = NodeType::Vector; + n_hist_figures->m_defined_in = "df.history.xml"; + n_hist_figures->m_addornements = "v*"; + n_hist_figures->m_address = base + offset; + n_hist_figures->m_parent = p_node_parent; + n_hist_figures->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_hist_figures); + + field_name = "nemesis"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); + auto n_nemesis = new NodeVector; + n_nemesis->m_field_name = field_name; + n_nemesis->m_df_type = DF_Type::nemesis_record; + n_nemesis->m_rdf_type = RDF_Type::Vector; + n_nemesis->m_node_type = NodeType::Vector; + n_nemesis->m_defined_in = "df.legends.xml"; + n_nemesis->m_addornements = "v*"; + n_nemesis->m_address = base + offset; + n_nemesis->m_parent = p_node_parent; + n_nemesis->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_nemesis); + + field_name = "derived_resources"; + auto n_derived_resources = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); + n_derived_resources->m_field_name = field_name; + n_derived_resources->m_df_type = DF_Type::historical_entity__T_derived_resources; + n_derived_resources->m_rdf_type = RDF_Type::Compound; + n_derived_resources->m_node_type = NodeType::Compound; + n_derived_resources->m_address = base + offset; + n_derived_resources->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_derived_resources); + + field_name = "assignments_by_type"; + auto n_assignments_by_type = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); + n_assignments_by_type->m_field_name = field_name; + n_assignments_by_type->m_df_type = DF_Type::entity_position_assignment; + n_assignments_by_type->m_rdf_type = RDF_Type::Array; + n_assignments_by_type->m_node_type = NodeType::Array; + n_assignments_by_type->m_index_enum = DF_Type::entity_position_responsibility; + n_assignments_by_type->m_defined_in = "df.entities.xml"; + n_assignments_by_type->m_addornements = "[25v*"; + n_assignments_by_type->m_array_size = 25; + n_assignments_by_type->m_address = base + offset; + n_assignments_by_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_assignments_by_type); + + field_name = "claims"; + auto n_claims = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); + n_claims->m_field_name = field_name; + n_claims->m_df_type = DF_Type::historical_entity__T_claims; + n_claims->m_rdf_type = RDF_Type::Compound; + n_claims->m_node_type = NodeType::Compound; + n_claims->m_address = base + offset; + n_claims->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_claims); + + field_name = "children"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); + auto n_children = new NodeVector; + n_children->m_field_name = field_name; + n_children->m_df_type = DF_Type::int32_t; + n_children->m_rdf_type = RDF_Type::Vector; + n_children->m_node_type = NodeType::Vector; + n_children->m_addornements = "v"; + n_children->m_address = base + offset; + n_children->m_comment = "includes self"; + n_children->m_parent = p_node_parent; + n_children->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_children); + + field_name = "unknown2"; + auto n_unknown2 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_entity, field_name)); + n_unknown2->m_field_name = field_name; + n_unknown2->m_df_type = DF_Type::historical_entity__T_unknown2; + n_unknown2->m_rdf_type = RDF_Type::Compound; + n_unknown2->m_node_type = NodeType::Compound; + n_unknown2->m_address = base + offset; + n_unknown2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unknown2); + +} +void node_from_historical_figure__T_unk_fc(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk_0"; + auto n_unk_0 = new NodeDFArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure__T_unk_fc, field_name)); + n_unk_0->m_field_name = field_name; + n_unk_0->m_df_type = DF_Type::uint8_t; + n_unk_0->m_rdf_type = RDF_Type::DFArray; + n_unk_0->m_node_type = NodeType::Array; + n_unk_0->m_addornements = ""; + n_unk_0->m_address = base + offset; + n_unk_0->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_0); + + field_name = "unk_8"; + auto n_unk_8 = new NodeDFArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure__T_unk_fc, field_name)); + n_unk_8->m_field_name = field_name; + n_unk_8->m_df_type = DF_Type::int16_t; + n_unk_8->m_rdf_type = RDF_Type::DFArray; + n_unk_8->m_node_type = NodeType::Array; + n_unk_8->m_addornements = ""; + n_unk_8->m_address = base + offset; + n_unk_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_8); + +} +void node_from_historical_figure(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "profession"; + auto n_profession = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); + n_profession->m_field_name = field_name; + n_profession->m_df_type = DF_Type::profession; + n_profession->m_rdf_type = RDF_Type::Enum; + n_profession->m_node_type = NodeType::Enum; + n_profession->m_base_type = DF_Type::int16_t; + n_profession->m_enum_type = "profession"; + n_profession->m_address = base + offset; + n_profession->m_defined_in = "df.skills.xml"; + n_profession->m_first_value = -1; + n_profession->m_last_value = 134; + n_profession->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_profession); + + field_name = "race"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); + auto n_race = new NodeSimple; + n_race->m_field_name = field_name; + n_race->m_df_type = DF_Type::int16_t; + n_race->m_rdf_type = RDF_Type::int16_t; + n_race->m_node_type = NodeType::Simple; + n_race->m_address = base + offset; + n_race->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_race); + + field_name = "caste"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); + auto n_caste = new NodeSimple; + n_caste->m_field_name = field_name; + n_caste->m_df_type = DF_Type::int16_t; + n_caste->m_rdf_type = RDF_Type::int16_t; + n_caste->m_node_type = NodeType::Simple; + n_caste->m_address = base + offset; + n_caste->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_caste); + + field_name = "sex"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); + auto n_sex = new NodeSimple; + n_sex->m_field_name = field_name; + n_sex->m_df_type = DF_Type::int8_t; + n_sex->m_rdf_type = RDF_Type::int8_t; + n_sex->m_node_type = NodeType::Simple; + n_sex->m_address = base + offset; + n_sex->m_comment = "-1 n/a, 0 female, 1 male"; + n_sex->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sex); + + field_name = "orientation_flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); + auto n_orientation_flags = new NodeBitfield; + n_orientation_flags->m_field_name = field_name; + n_orientation_flags->m_df_type = DF_Type::orientation_flags; + n_orientation_flags->m_rdf_type = RDF_Type::Bitfield; + n_orientation_flags->m_node_type = NodeType::Bitfield; + n_orientation_flags->m_address = base + offset; + n_orientation_flags->m_defined_in = "df.units.xml"; + n_orientation_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_orientation_flags); + + field_name = "appeared_year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); + auto n_appeared_year = new NodeSimple; + n_appeared_year->m_field_name = field_name; + n_appeared_year->m_df_type = DF_Type::int32_t; + n_appeared_year->m_rdf_type = RDF_Type::int32_t; + n_appeared_year->m_node_type = NodeType::Simple; + n_appeared_year->m_address = base + offset; + n_appeared_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_appeared_year); + + field_name = "born_year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); + auto n_born_year = new NodeSimple; + n_born_year->m_field_name = field_name; + n_born_year->m_df_type = DF_Type::int32_t; + n_born_year->m_rdf_type = RDF_Type::int32_t; + n_born_year->m_node_type = NodeType::Simple; + n_born_year->m_address = base + offset; + n_born_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_born_year); + + field_name = "born_seconds"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); + auto n_born_seconds = new NodeSimple; + n_born_seconds->m_field_name = field_name; + n_born_seconds->m_df_type = DF_Type::int32_t; + n_born_seconds->m_rdf_type = RDF_Type::int32_t; + n_born_seconds->m_node_type = NodeType::Simple; + n_born_seconds->m_address = base + offset; + n_born_seconds->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_born_seconds); + + field_name = "curse_year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); + auto n_curse_year = new NodeSimple; + n_curse_year->m_field_name = field_name; + n_curse_year->m_df_type = DF_Type::int32_t; + n_curse_year->m_rdf_type = RDF_Type::int32_t; + n_curse_year->m_node_type = NodeType::Simple; + n_curse_year->m_address = base + offset; + n_curse_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_curse_year); + + field_name = "curse_seconds"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); + auto n_curse_seconds = new NodeSimple; + n_curse_seconds->m_field_name = field_name; + n_curse_seconds->m_df_type = DF_Type::int32_t; + n_curse_seconds->m_rdf_type = RDF_Type::int32_t; + n_curse_seconds->m_node_type = NodeType::Simple; + n_curse_seconds->m_address = base + offset; + n_curse_seconds->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_curse_seconds); + + field_name = "birth_year_bias"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); + auto n_birth_year_bias = new NodeSimple; + n_birth_year_bias->m_field_name = field_name; + n_birth_year_bias->m_df_type = DF_Type::int32_t; + n_birth_year_bias->m_rdf_type = RDF_Type::int32_t; + n_birth_year_bias->m_node_type = NodeType::Simple; + n_birth_year_bias->m_address = base + offset; + n_birth_year_bias->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_birth_year_bias); + + field_name = "birth_time_bias"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); + auto n_birth_time_bias = new NodeSimple; + n_birth_time_bias->m_field_name = field_name; + n_birth_time_bias->m_df_type = DF_Type::int32_t; + n_birth_time_bias->m_rdf_type = RDF_Type::int32_t; + n_birth_time_bias->m_node_type = NodeType::Simple; + n_birth_time_bias->m_address = base + offset; + n_birth_time_bias->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_birth_time_bias); + + field_name = "old_year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); + auto n_old_year = new NodeSimple; + n_old_year->m_field_name = field_name; + n_old_year->m_df_type = DF_Type::int32_t; + n_old_year->m_rdf_type = RDF_Type::int32_t; + n_old_year->m_node_type = NodeType::Simple; + n_old_year->m_address = base + offset; + n_old_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_old_year); + + field_name = "old_seconds"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); + auto n_old_seconds = new NodeSimple; + n_old_seconds->m_field_name = field_name; + n_old_seconds->m_df_type = DF_Type::int32_t; + n_old_seconds->m_rdf_type = RDF_Type::int32_t; + n_old_seconds->m_node_type = NodeType::Simple; + n_old_seconds->m_address = base + offset; + n_old_seconds->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_old_seconds); + + field_name = "died_year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); + auto n_died_year = new NodeSimple; + n_died_year->m_field_name = field_name; + n_died_year->m_df_type = DF_Type::int32_t; + n_died_year->m_rdf_type = RDF_Type::int32_t; + n_died_year->m_node_type = NodeType::Simple; + n_died_year->m_address = base + offset; + n_died_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_died_year); + + field_name = "died_seconds"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); + auto n_died_seconds = new NodeSimple; + n_died_seconds->m_field_name = field_name; + n_died_seconds->m_df_type = DF_Type::int32_t; + n_died_seconds->m_rdf_type = RDF_Type::int32_t; + n_died_seconds->m_node_type = NodeType::Simple; + n_died_seconds->m_address = base + offset; + n_died_seconds->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_died_seconds); + + field_name = "name"; + auto n_name = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::language_name; + n_name->m_rdf_type = RDF_Type::Struct; + n_name->m_node_type = NodeType::Compound; + n_name->m_address = base + offset; + n_name->m_defined_in = "df.language.xml"; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "civ_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); + auto n_civ_id = new NodeSimple; + n_civ_id->m_field_name = field_name; + n_civ_id->m_df_type = DF_Type::int32_t; + n_civ_id->m_rdf_type = RDF_Type::int32_t; + n_civ_id->m_node_type = NodeType::Simple; + n_civ_id->m_address = base + offset; + n_civ_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_civ_id); + + field_name = "population_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); + auto n_population_id = new NodeSimple; + n_population_id->m_field_name = field_name; + n_population_id->m_df_type = DF_Type::int32_t; + n_population_id->m_rdf_type = RDF_Type::int32_t; + n_population_id->m_node_type = NodeType::Simple; + n_population_id->m_address = base + offset; + n_population_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_population_id); + + field_name = "breed_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); + auto n_breed_id = new NodeSimple; + n_breed_id->m_field_name = field_name; + n_breed_id->m_df_type = DF_Type::int32_t; + n_breed_id->m_rdf_type = RDF_Type::int32_t; + n_breed_id->m_node_type = NodeType::Simple; + n_breed_id->m_address = base + offset; + n_breed_id->m_comment = "from legends export"; + n_breed_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_breed_id); + + field_name = "cultural_identity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); + auto n_cultural_identity = new NodeSimple; + n_cultural_identity->m_field_name = field_name; + n_cultural_identity->m_df_type = DF_Type::int32_t; + n_cultural_identity->m_rdf_type = RDF_Type::int32_t; + n_cultural_identity->m_node_type = NodeType::Simple; + n_cultural_identity->m_address = base + offset; + n_cultural_identity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cultural_identity); + + field_name = "family_head_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); + auto n_family_head_id = new NodeSimple; + n_family_head_id->m_field_name = field_name; + n_family_head_id->m_df_type = DF_Type::int32_t; + n_family_head_id->m_rdf_type = RDF_Type::int32_t; + n_family_head_id->m_node_type = NodeType::Simple; + n_family_head_id->m_address = base + offset; + n_family_head_id->m_comment = "When a unit is asked about their family in adventure mode, the historical figure corresponding to this ID is called the head of the family or ancestor."; + n_family_head_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_family_head_id); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); + auto n_flags = new NodeDFFlagArray; + n_flags->m_field_name = field_name; + n_flags->m_index_enum = DF_Type::histfig_flags; + n_flags->m_df_type = DF_Type::histfig_flags; + n_flags->m_size = 16; + n_flags->m_rdf_type = RDF_Type::DFFlagArray; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_defined_in = "df.history.xml"; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "unit_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); + auto n_unit_id = new NodeSimple; + n_unit_id->m_field_name = field_name; + n_unit_id->m_df_type = DF_Type::int32_t; + n_unit_id->m_rdf_type = RDF_Type::int32_t; + n_unit_id->m_node_type = NodeType::Simple; + n_unit_id->m_address = base + offset; + n_unit_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unit_id); + + field_name = "unit_id2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); + auto n_unit_id2 = new NodeSimple; + n_unit_id2->m_field_name = field_name; + n_unit_id2->m_df_type = DF_Type::int32_t; + n_unit_id2->m_rdf_type = RDF_Type::int32_t; + n_unit_id2->m_node_type = NodeType::Simple; + n_unit_id2->m_address = base + offset; + n_unit_id2->m_comment = "sometimes garbage"; + n_unit_id2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unit_id2); + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "unk4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); + auto n_unk4 = new NodeSimple; + n_unk4->m_field_name = field_name; + n_unk4->m_df_type = DF_Type::int32_t; + n_unk4->m_rdf_type = RDF_Type::int32_t; + n_unk4->m_node_type = NodeType::Simple; + n_unk4->m_address = base + offset; + n_unk4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk4); + + field_name = "entity_links"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); + auto n_entity_links = new NodeVector; + n_entity_links->m_field_name = field_name; + n_entity_links->m_df_type = DF_Type::histfig_entity_link; + n_entity_links->m_rdf_type = RDF_Type::Vector; + n_entity_links->m_node_type = NodeType::Vector; + n_entity_links->m_defined_in = "df.refs.xml"; + n_entity_links->m_addornements = "v*"; + n_entity_links->m_address = base + offset; + n_entity_links->m_parent = p_node_parent; + n_entity_links->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_entity_links); + + field_name = "site_links"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); + auto n_site_links = new NodeVector; + n_site_links->m_field_name = field_name; + n_site_links->m_df_type = DF_Type::histfig_site_link; + n_site_links->m_rdf_type = RDF_Type::Vector; + n_site_links->m_node_type = NodeType::Vector; + n_site_links->m_defined_in = "df.refs.xml"; + n_site_links->m_addornements = "v*"; + n_site_links->m_address = base + offset; + n_site_links->m_parent = p_node_parent; + n_site_links->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_site_links); + + field_name = "histfig_links"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); + auto n_histfig_links = new NodeVector; + n_histfig_links->m_field_name = field_name; + n_histfig_links->m_df_type = DF_Type::histfig_hf_link; + n_histfig_links->m_rdf_type = RDF_Type::Vector; + n_histfig_links->m_node_type = NodeType::Vector; + n_histfig_links->m_defined_in = "df.refs.xml"; + n_histfig_links->m_addornements = "v*"; + n_histfig_links->m_address = base + offset; + n_histfig_links->m_parent = p_node_parent; + n_histfig_links->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_histfig_links); + + field_name = "info"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); + auto n_info = new NodePointer; + n_info->m_field_name = field_name; + n_info->m_df_type = get_real_subtype(base+offset, DF_Type::historical_figure_info); + n_info->m_rdf_type = RDF_Type::Pointer; + n_info->m_node_type = NodeType::Pointer; + n_info->m_addornements = "*"; + n_info->m_address = base + offset; + n_info->m_parent = p_node_parent; + n_info->m_defined_in = "df.history.xml"; + n_info->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_info); + + field_name = "unk_f0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); + auto n_unk_f0 = new NodePointer; + n_unk_f0->m_field_name = field_name; + n_unk_f0->m_df_type = get_real_subtype(base+offset, DF_Type::world_site); + n_unk_f0->m_rdf_type = RDF_Type::Pointer; + n_unk_f0->m_node_type = NodeType::Pointer; + n_unk_f0->m_addornements = "*"; + n_unk_f0->m_address = base + offset; + n_unk_f0->m_parent = p_node_parent; + n_unk_f0->m_defined_in = "df.world-site.xml"; + n_unk_f0->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_f0); + + field_name = "unk_f4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); + auto n_unk_f4 = new NodePointer; + n_unk_f4->m_field_name = field_name; + n_unk_f4->m_df_type = get_real_subtype(base+offset, DF_Type::language_name); + n_unk_f4->m_rdf_type = RDF_Type::Pointer; + n_unk_f4->m_node_type = NodeType::Pointer; + n_unk_f4->m_addornements = "*"; + n_unk_f4->m_address = base + offset; + n_unk_f4->m_parent = p_node_parent; + n_unk_f4->m_defined_in = "df.language.xml"; + n_unk_f4->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_f4); + + field_name = "unk_f8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); + auto n_unk_f8 = new NodePointer; + n_unk_f8->m_field_name = field_name; + n_unk_f8->m_df_type = get_real_subtype(base+offset, DF_Type::world_underground_region); + n_unk_f8->m_rdf_type = RDF_Type::Pointer; + n_unk_f8->m_node_type = NodeType::Pointer; + n_unk_f8->m_addornements = "*"; + n_unk_f8->m_address = base + offset; + n_unk_f8->m_parent = p_node_parent; + n_unk_f8->m_defined_in = "df.world-data.xml"; + n_unk_f8->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_f8); + + field_name = "unk_fc"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); + auto n_unk_fc = new NodePointer; + n_unk_fc->m_field_name = field_name; + n_unk_fc->m_df_type = get_real_subtype(base+offset, DF_Type::historical_figure__T_unk_fc); + n_unk_fc->m_rdf_type = RDF_Type::Pointer; + n_unk_fc->m_node_type = NodeType::Pointer; + n_unk_fc->m_addornements = "*"; + n_unk_fc->m_address = base + offset; + n_unk_fc->m_parent = p_node_parent; + n_unk_fc->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_fc); + + field_name = "unk_100"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); + auto n_unk_100 = new NodeSimple; + n_unk_100->m_field_name = field_name; + n_unk_100->m_df_type = DF_Type::int32_t; + n_unk_100->m_rdf_type = RDF_Type::int32_t; + n_unk_100->m_node_type = NodeType::Simple; + n_unk_100->m_address = base + offset; + n_unk_100->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_100); + + field_name = "unk_v4019_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); + auto n_unk_v4019_1 = new NodeSimple; + n_unk_v4019_1->m_field_name = field_name; + n_unk_v4019_1->m_df_type = DF_Type::int32_t; + n_unk_v4019_1->m_rdf_type = RDF_Type::int32_t; + n_unk_v4019_1->m_node_type = NodeType::Simple; + n_unk_v4019_1->m_address = base + offset; + n_unk_v4019_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v4019_1); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure, field_name)); + auto n_anon_1= new NodePadding; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::Padding; + n_anon_1->m_rdf_type = RDF_Type::Padding; + n_anon_1->m_node_type = NodeType::Padding; + n_anon_1->m_address = base + offset; + n_anon_1->m_comment = "unknown size - not initialized or saved/loaded"; + n_anon_1->m_size = 1; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_identity(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::identity, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "name"; + auto n_name = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::identity, field_name)); + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::language_name; + n_name->m_rdf_type = RDF_Type::Struct; + n_name->m_node_type = NodeType::Compound; + n_name->m_address = base + offset; + n_name->m_defined_in = "df.language.xml"; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "race"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::identity, field_name)); + auto n_race = new NodeSimple; + n_race->m_field_name = field_name; + n_race->m_df_type = DF_Type::int32_t; + n_race->m_rdf_type = RDF_Type::int32_t; + n_race->m_node_type = NodeType::Simple; + n_race->m_address = base + offset; + n_race->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_race); + + field_name = "caste"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::identity, field_name)); + auto n_caste = new NodeSimple; + n_caste->m_field_name = field_name; + n_caste->m_df_type = DF_Type::int16_t; + n_caste->m_rdf_type = RDF_Type::int16_t; + n_caste->m_node_type = NodeType::Simple; + n_caste->m_address = base + offset; + n_caste->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_caste); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::identity, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "histfig_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::identity, field_name)); + auto n_histfig_id = new NodeSimple; + n_histfig_id->m_field_name = field_name; + n_histfig_id->m_df_type = DF_Type::int32_t; + n_histfig_id->m_rdf_type = RDF_Type::int32_t; + n_histfig_id->m_node_type = NodeType::Simple; + n_histfig_id->m_address = base + offset; + n_histfig_id->m_comment = "when masquerading as another historical figure"; + n_histfig_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig_id); + + field_name = "unk_4c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::identity, field_name)); + auto n_unk_4c = new NodeSimple; + n_unk_4c->m_field_name = field_name; + n_unk_4c->m_df_type = DF_Type::int32_t; + n_unk_4c->m_rdf_type = RDF_Type::int32_t; + n_unk_4c->m_node_type = NodeType::Simple; + n_unk_4c->m_address = base + offset; + n_unk_4c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_4c); + + field_name = "birth_year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::identity, field_name)); + auto n_birth_year = new NodeSimple; + n_birth_year->m_field_name = field_name; + n_birth_year->m_df_type = DF_Type::int32_t; + n_birth_year->m_rdf_type = RDF_Type::int32_t; + n_birth_year->m_node_type = NodeType::Simple; + n_birth_year->m_address = base + offset; + n_birth_year->m_comment = "the fake one, that is"; + n_birth_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_birth_year); + + field_name = "birth_second"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::identity, field_name)); + auto n_birth_second = new NodeSimple; + n_birth_second->m_field_name = field_name; + n_birth_second->m_df_type = DF_Type::int32_t; + n_birth_second->m_rdf_type = RDF_Type::int32_t; + n_birth_second->m_node_type = NodeType::Simple; + n_birth_second->m_address = base + offset; + n_birth_second->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_birth_second); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::identity, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::identity, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "profession"; + auto n_profession = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::identity, field_name)); + n_profession->m_field_name = field_name; + n_profession->m_df_type = DF_Type::profession; + n_profession->m_rdf_type = RDF_Type::Enum; + n_profession->m_node_type = NodeType::Enum; + n_profession->m_base_type = DF_Type::int16_t; + n_profession->m_enum_type = "profession"; + n_profession->m_address = base + offset; + n_profession->m_defined_in = "df.skills.xml"; + n_profession->m_first_value = -1; + n_profession->m_last_value = 134; + n_profession->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_profession); + + field_name = "civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::identity, field_name)); + auto n_civ = new NodeSimple; + n_civ->m_field_name = field_name; + n_civ->m_df_type = DF_Type::int32_t; + n_civ->m_rdf_type = RDF_Type::int32_t; + n_civ->m_node_type = NodeType::Simple; + n_civ->m_address = base + offset; + n_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_civ); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::identity, field_name)); + auto n_anon_4 = new NodeVector; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::identity_unk_94; + n_anon_4->m_rdf_type = RDF_Type::Vector; + n_anon_4->m_node_type = NodeType::Vector; + n_anon_4->m_defined_in = "df.history.xml"; + n_anon_4->m_addornements = "v*"; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + n_anon_4->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::identity, field_name)); + auto n_anon_5 = new NodeVector; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::identity_unk_94; + n_anon_5->m_rdf_type = RDF_Type::Vector; + n_anon_5->m_node_type = NodeType::Vector; + n_anon_5->m_defined_in = "df.history.xml"; + n_anon_5->m_addornements = "v*"; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + n_anon_5->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_5); + +} +void node_from_history_event_collection_warst__T_unk(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_warst__T_unk, field_name)); + auto n_anon_1 = new NodeVector; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int16_t; + n_anon_1->m_rdf_type = RDF_Type::Vector; + n_anon_1->m_node_type = NodeType::Vector; + n_anon_1->m_addornements = "v"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_warst__T_unk, field_name)); + auto n_anon_2 = new NodeVector; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::Vector; + n_anon_2->m_node_type = NodeType::Vector; + n_anon_2->m_addornements = "v"; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + n_anon_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_warst__T_unk, field_name)); + auto n_anon_3 = new NodeVector; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::Vector; + n_anon_3->m_node_type = NodeType::Vector; + n_anon_3->m_addornements = "v"; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + n_anon_3->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_warst__T_unk, field_name)); + auto n_anon_4 = new NodeVector; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::Vector; + n_anon_4->m_node_type = NodeType::Vector; + n_anon_4->m_addornements = "v"; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + n_anon_4->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_warst__T_unk, field_name)); + auto n_anon_5 = new NodeVector; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::Vector; + n_anon_5->m_node_type = NodeType::Vector; + n_anon_5->m_addornements = "v"; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + n_anon_5->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_warst__T_unk, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "ethics_unk1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_warst__T_unk, field_name)); + auto n_ethics_unk1 = new NodeVector; + n_ethics_unk1->m_field_name = field_name; + n_ethics_unk1->m_df_type = DF_Type::int16_t; + n_ethics_unk1->m_rdf_type = RDF_Type::Vector; + n_ethics_unk1->m_node_type = NodeType::Vector; + n_ethics_unk1->m_addornements = "v"; + n_ethics_unk1->m_address = base + offset; + n_ethics_unk1->m_parent = p_node_parent; + n_ethics_unk1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_ethics_unk1); + + field_name = "disputed_ethics"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_warst__T_unk, field_name)); + auto n_disputed_ethics = new NodeVector; + n_disputed_ethics->m_field_name = field_name; + n_disputed_ethics->m_df_type = DF_Type::ethic_type; + n_disputed_ethics->m_rdf_type = RDF_Type::Vector; + n_disputed_ethics->m_node_type = NodeType::Vector; + n_disputed_ethics->m_enum_base = enum_base_type(n_disputed_ethics->m_df_type); + n_disputed_ethics->m_defined_in = "df.entity-raws.xml"; + n_disputed_ethics->m_addornements = "v"; + n_disputed_ethics->m_address = base + offset; + n_disputed_ethics->m_parent = p_node_parent; + n_disputed_ethics->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_disputed_ethics); + + field_name = "ethics_unk3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_warst__T_unk, field_name)); + auto n_ethics_unk3 = new NodeVector; + n_ethics_unk3->m_field_name = field_name; + n_ethics_unk3->m_df_type = DF_Type::int32_t; + n_ethics_unk3->m_rdf_type = RDF_Type::Vector; + n_ethics_unk3->m_node_type = NodeType::Vector; + n_ethics_unk3->m_addornements = "v"; + n_ethics_unk3->m_address = base + offset; + n_ethics_unk3->m_parent = p_node_parent; + n_ethics_unk3->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_ethics_unk3); + + field_name = "dispute_severities"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_warst__T_unk, field_name)); + auto n_dispute_severities = new NodeVector; + n_dispute_severities->m_field_name = field_name; + n_dispute_severities->m_df_type = DF_Type::int32_t; + n_dispute_severities->m_rdf_type = RDF_Type::Vector; + n_dispute_severities->m_node_type = NodeType::Vector; + n_dispute_severities->m_addornements = "v"; + n_dispute_severities->m_address = base + offset; + n_dispute_severities->m_parent = p_node_parent; + n_dispute_severities->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_dispute_severities); + + field_name = "worst_severity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_warst__T_unk, field_name)); + auto n_worst_severity = new NodeSimple; + n_worst_severity->m_field_name = field_name; + n_worst_severity->m_df_type = DF_Type::int32_t; + n_worst_severity->m_rdf_type = RDF_Type::int32_t; + n_worst_severity->m_node_type = NodeType::Simple; + n_worst_severity->m_address = base + offset; + n_worst_severity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_worst_severity); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_warst__T_unk, field_name)); + auto n_anon_7 = new NodeVector; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::int16_t; + n_anon_7->m_rdf_type = RDF_Type::Vector; + n_anon_7->m_node_type = NodeType::Vector; + n_anon_7->m_addornements = "v"; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + n_anon_7->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_7); + + field_name = "anon_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_warst__T_unk, field_name)); + auto n_anon_8 = new NodeVector; + n_anon_8->m_field_name = field_name; + n_anon_8->m_df_type = DF_Type::int32_t; + n_anon_8->m_rdf_type = RDF_Type::Vector; + n_anon_8->m_node_type = NodeType::Vector; + n_anon_8->m_addornements = "v"; + n_anon_8->m_address = base + offset; + n_anon_8->m_parent = p_node_parent; + n_anon_8->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_8); + + field_name = "anon_9"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_warst__T_unk, field_name)); + auto n_anon_9 = new NodeVector; + n_anon_9->m_field_name = field_name; + n_anon_9->m_df_type = DF_Type::int32_t; + n_anon_9->m_rdf_type = RDF_Type::Vector; + n_anon_9->m_node_type = NodeType::Vector; + n_anon_9->m_addornements = "v"; + n_anon_9->m_address = base + offset; + n_anon_9->m_parent = p_node_parent; + n_anon_9->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_9); + + field_name = "anon_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_warst__T_unk, field_name)); + auto n_anon_10 = new NodeSimple; + n_anon_10->m_field_name = field_name; + n_anon_10->m_df_type = DF_Type::int32_t; + n_anon_10->m_rdf_type = RDF_Type::int32_t; + n_anon_10->m_node_type = NodeType::Simple; + n_anon_10->m_address = base + offset; + n_anon_10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_10); + +} +void node_from_history_event_collection_warst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event_collection; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event_collection(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "name"; + auto n_name = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_warst, field_name)); + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::language_name; + n_name->m_rdf_type = RDF_Type::Struct; + n_name->m_node_type = NodeType::Compound; + n_name->m_address = base + offset; + n_name->m_defined_in = "df.language.xml"; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "attacker_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_warst, field_name)); + auto n_attacker_civ = new NodeVector; + n_attacker_civ->m_field_name = field_name; + n_attacker_civ->m_df_type = DF_Type::int32_t; + n_attacker_civ->m_rdf_type = RDF_Type::Vector; + n_attacker_civ->m_node_type = NodeType::Vector; + n_attacker_civ->m_addornements = "v"; + n_attacker_civ->m_address = base + offset; + n_attacker_civ->m_parent = p_node_parent; + n_attacker_civ->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_attacker_civ); + + field_name = "defender_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_warst, field_name)); + auto n_defender_civ = new NodeVector; + n_defender_civ->m_field_name = field_name; + n_defender_civ->m_df_type = DF_Type::int32_t; + n_defender_civ->m_rdf_type = RDF_Type::Vector; + n_defender_civ->m_node_type = NodeType::Vector; + n_defender_civ->m_addornements = "v"; + n_defender_civ->m_address = base + offset; + n_defender_civ->m_parent = p_node_parent; + n_defender_civ->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_defender_civ); + + field_name = "unk"; + auto n_unk = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_warst, field_name)); + n_unk->m_field_name = field_name; + n_unk->m_df_type = DF_Type::history_event_collection_warst__T_unk; + n_unk->m_rdf_type = RDF_Type::Compound; + n_unk->m_node_type = NodeType::Compound; + n_unk->m_address = base + offset; + n_unk->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk); + +} +void node_from_history_event_collection_battlest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::history_event_collection; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_history_event_collection(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "name"; + auto n_name = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_battlest, field_name)); + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::language_name; + n_name->m_rdf_type = RDF_Type::Struct; + n_name->m_node_type = NodeType::Compound; + n_name->m_address = base + offset; + n_name->m_defined_in = "df.language.xml"; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "parent_collection"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_battlest, field_name)); + auto n_parent_collection = new NodeSimple; + n_parent_collection->m_field_name = field_name; + n_parent_collection->m_df_type = DF_Type::int32_t; + n_parent_collection->m_rdf_type = RDF_Type::int32_t; + n_parent_collection->m_node_type = NodeType::Simple; + n_parent_collection->m_address = base + offset; + n_parent_collection->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_parent_collection); + + field_name = "region"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_battlest, field_name)); + auto n_region = new NodeSimple; + n_region->m_field_name = field_name; + n_region->m_df_type = DF_Type::int32_t; + n_region->m_rdf_type = RDF_Type::int32_t; + n_region->m_node_type = NodeType::Simple; + n_region->m_address = base + offset; + n_region->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region); + + field_name = "layer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_battlest, field_name)); + auto n_layer = new NodeSimple; + n_layer->m_field_name = field_name; + n_layer->m_df_type = DF_Type::int32_t; + n_layer->m_rdf_type = RDF_Type::int32_t; + n_layer->m_node_type = NodeType::Simple; + n_layer->m_address = base + offset; + n_layer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_layer); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_battlest, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "region_pos"; + auto n_region_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_battlest, field_name)); + n_region_pos->m_field_name = field_name; + n_region_pos->m_df_type = DF_Type::coord2d; + n_region_pos->m_rdf_type = RDF_Type::Struct; + n_region_pos->m_node_type = NodeType::Compound; + n_region_pos->m_address = base + offset; + n_region_pos->m_defined_in = "df.map.xml"; + n_region_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region_pos); + + field_name = "attacker_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_battlest, field_name)); + auto n_attacker_civ = new NodeVector; + n_attacker_civ->m_field_name = field_name; + n_attacker_civ->m_df_type = DF_Type::int32_t; + n_attacker_civ->m_rdf_type = RDF_Type::Vector; + n_attacker_civ->m_node_type = NodeType::Vector; + n_attacker_civ->m_addornements = "v"; + n_attacker_civ->m_address = base + offset; + n_attacker_civ->m_parent = p_node_parent; + n_attacker_civ->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_attacker_civ); + + field_name = "defender_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_battlest, field_name)); + auto n_defender_civ = new NodeVector; + n_defender_civ->m_field_name = field_name; + n_defender_civ->m_df_type = DF_Type::int32_t; + n_defender_civ->m_rdf_type = RDF_Type::Vector; + n_defender_civ->m_node_type = NodeType::Vector; + n_defender_civ->m_addornements = "v"; + n_defender_civ->m_address = base + offset; + n_defender_civ->m_parent = p_node_parent; + n_defender_civ->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_defender_civ); + + field_name = "attacker_hf"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_battlest, field_name)); + auto n_attacker_hf = new NodeVector; + n_attacker_hf->m_field_name = field_name; + n_attacker_hf->m_df_type = DF_Type::int32_t; + n_attacker_hf->m_rdf_type = RDF_Type::Vector; + n_attacker_hf->m_node_type = NodeType::Vector; + n_attacker_hf->m_addornements = "v"; + n_attacker_hf->m_address = base + offset; + n_attacker_hf->m_parent = p_node_parent; + n_attacker_hf->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_attacker_hf); + + field_name = "defender_hf"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_battlest, field_name)); + auto n_defender_hf = new NodeVector; + n_defender_hf->m_field_name = field_name; + n_defender_hf->m_df_type = DF_Type::int32_t; + n_defender_hf->m_rdf_type = RDF_Type::Vector; + n_defender_hf->m_node_type = NodeType::Vector; + n_defender_hf->m_addornements = "v"; + n_defender_hf->m_address = base + offset; + n_defender_hf->m_parent = p_node_parent; + n_defender_hf->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_defender_hf); + + field_name = "noncombat_hf"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_battlest, field_name)); + auto n_noncombat_hf = new NodeVector; + n_noncombat_hf->m_field_name = field_name; + n_noncombat_hf->m_df_type = DF_Type::int32_t; + n_noncombat_hf->m_rdf_type = RDF_Type::Vector; + n_noncombat_hf->m_node_type = NodeType::Vector; + n_noncombat_hf->m_addornements = "v"; + n_noncombat_hf->m_address = base + offset; + n_noncombat_hf->m_parent = p_node_parent; + n_noncombat_hf->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_noncombat_hf); + + field_name = "attacker_squad_entity_pop"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_battlest, field_name)); + auto n_attacker_squad_entity_pop = new NodeVector; + n_attacker_squad_entity_pop->m_field_name = field_name; + n_attacker_squad_entity_pop->m_df_type = DF_Type::int32_t; + n_attacker_squad_entity_pop->m_rdf_type = RDF_Type::Vector; + n_attacker_squad_entity_pop->m_node_type = NodeType::Vector; + n_attacker_squad_entity_pop->m_addornements = "v"; + n_attacker_squad_entity_pop->m_address = base + offset; + n_attacker_squad_entity_pop->m_parent = p_node_parent; + n_attacker_squad_entity_pop->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_attacker_squad_entity_pop); + + field_name = "attacker_squad_counts"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_battlest, field_name)); + auto n_attacker_squad_counts = new NodeVector; + n_attacker_squad_counts->m_field_name = field_name; + n_attacker_squad_counts->m_df_type = DF_Type::int32_t; + n_attacker_squad_counts->m_rdf_type = RDF_Type::Vector; + n_attacker_squad_counts->m_node_type = NodeType::Vector; + n_attacker_squad_counts->m_addornements = "v"; + n_attacker_squad_counts->m_address = base + offset; + n_attacker_squad_counts->m_parent = p_node_parent; + n_attacker_squad_counts->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_attacker_squad_counts); + + field_name = "attacker_squad_deaths"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_battlest, field_name)); + auto n_attacker_squad_deaths = new NodeVector; + n_attacker_squad_deaths->m_field_name = field_name; + n_attacker_squad_deaths->m_df_type = DF_Type::int32_t; + n_attacker_squad_deaths->m_rdf_type = RDF_Type::Vector; + n_attacker_squad_deaths->m_node_type = NodeType::Vector; + n_attacker_squad_deaths->m_addornements = "v"; + n_attacker_squad_deaths->m_address = base + offset; + n_attacker_squad_deaths->m_parent = p_node_parent; + n_attacker_squad_deaths->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_attacker_squad_deaths); + + field_name = "attacker_squad_races"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_battlest, field_name)); + auto n_attacker_squad_races = new NodeVector; + n_attacker_squad_races->m_field_name = field_name; + n_attacker_squad_races->m_df_type = DF_Type::int32_t; + n_attacker_squad_races->m_rdf_type = RDF_Type::Vector; + n_attacker_squad_races->m_node_type = NodeType::Vector; + n_attacker_squad_races->m_addornements = "v"; + n_attacker_squad_races->m_address = base + offset; + n_attacker_squad_races->m_parent = p_node_parent; + n_attacker_squad_races->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_attacker_squad_races); + + field_name = "attacker_squad_sites"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_battlest, field_name)); + auto n_attacker_squad_sites = new NodeVector; + n_attacker_squad_sites->m_field_name = field_name; + n_attacker_squad_sites->m_df_type = DF_Type::int32_t; + n_attacker_squad_sites->m_rdf_type = RDF_Type::Vector; + n_attacker_squad_sites->m_node_type = NodeType::Vector; + n_attacker_squad_sites->m_addornements = "v"; + n_attacker_squad_sites->m_address = base + offset; + n_attacker_squad_sites->m_parent = p_node_parent; + n_attacker_squad_sites->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_attacker_squad_sites); + + field_name = "defender_squad_entity_pops"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_battlest, field_name)); + auto n_defender_squad_entity_pops = new NodeVector; + n_defender_squad_entity_pops->m_field_name = field_name; + n_defender_squad_entity_pops->m_df_type = DF_Type::int32_t; + n_defender_squad_entity_pops->m_rdf_type = RDF_Type::Vector; + n_defender_squad_entity_pops->m_node_type = NodeType::Vector; + n_defender_squad_entity_pops->m_addornements = "v"; + n_defender_squad_entity_pops->m_address = base + offset; + n_defender_squad_entity_pops->m_parent = p_node_parent; + n_defender_squad_entity_pops->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_defender_squad_entity_pops); + + field_name = "defender_squad_counts"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_battlest, field_name)); + auto n_defender_squad_counts = new NodeVector; + n_defender_squad_counts->m_field_name = field_name; + n_defender_squad_counts->m_df_type = DF_Type::int32_t; + n_defender_squad_counts->m_rdf_type = RDF_Type::Vector; + n_defender_squad_counts->m_node_type = NodeType::Vector; + n_defender_squad_counts->m_addornements = "v"; + n_defender_squad_counts->m_address = base + offset; + n_defender_squad_counts->m_parent = p_node_parent; + n_defender_squad_counts->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_defender_squad_counts); + + field_name = "defender_squad_deaths"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_battlest, field_name)); + auto n_defender_squad_deaths = new NodeVector; + n_defender_squad_deaths->m_field_name = field_name; + n_defender_squad_deaths->m_df_type = DF_Type::int32_t; + n_defender_squad_deaths->m_rdf_type = RDF_Type::Vector; + n_defender_squad_deaths->m_node_type = NodeType::Vector; + n_defender_squad_deaths->m_addornements = "v"; + n_defender_squad_deaths->m_address = base + offset; + n_defender_squad_deaths->m_parent = p_node_parent; + n_defender_squad_deaths->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_defender_squad_deaths); + + field_name = "defender_squad_races"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_battlest, field_name)); + auto n_defender_squad_races = new NodeVector; + n_defender_squad_races->m_field_name = field_name; + n_defender_squad_races->m_df_type = DF_Type::int32_t; + n_defender_squad_races->m_rdf_type = RDF_Type::Vector; + n_defender_squad_races->m_node_type = NodeType::Vector; + n_defender_squad_races->m_addornements = "v"; + n_defender_squad_races->m_address = base + offset; + n_defender_squad_races->m_parent = p_node_parent; + n_defender_squad_races->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_defender_squad_races); + + field_name = "defender_squad_sites"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_battlest, field_name)); + auto n_defender_squad_sites = new NodeVector; + n_defender_squad_sites->m_field_name = field_name; + n_defender_squad_sites->m_df_type = DF_Type::int32_t; + n_defender_squad_sites->m_rdf_type = RDF_Type::Vector; + n_defender_squad_sites->m_node_type = NodeType::Vector; + n_defender_squad_sites->m_addornements = "v"; + n_defender_squad_sites->m_address = base + offset; + n_defender_squad_sites->m_parent = p_node_parent; + n_defender_squad_sites->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_defender_squad_sites); + + field_name = "outcome"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::history_event_collection_battlest, field_name)); + auto n_outcome = new NodeSimple; + n_outcome->m_field_name = field_name; + n_outcome->m_df_type = DF_Type::int16_t; + n_outcome->m_rdf_type = RDF_Type::int16_t; + n_outcome->m_node_type = NodeType::Simple; + n_outcome->m_address = base + offset; + n_outcome->m_comment = "0 = attacker won, 1 = defender won"; + n_outcome->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_outcome); + +} +void node_from_world_history__T_event_collections(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "all"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history__T_event_collections, field_name)); + auto n_all = new NodeVector; + n_all->m_field_name = field_name; + n_all->m_df_type = DF_Type::history_event_collection; + n_all->m_rdf_type = RDF_Type::Vector; + n_all->m_node_type = NodeType::Vector; + n_all->m_defined_in = "df.history.xml"; + n_all->m_addornements = "v*"; + n_all->m_address = base + offset; + n_all->m_parent = p_node_parent; + n_all->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_all); + + field_name = "other"; + auto n_other = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history__T_event_collections, field_name)); + n_other->m_field_name = field_name; + n_other->m_df_type = DF_Type::history_event_collection; + n_other->m_rdf_type = RDF_Type::Array; + n_other->m_node_type = NodeType::Array; + n_other->m_index_enum = DF_Type::history_event_collection_type; + n_other->m_defined_in = "df.history.xml"; + n_other->m_addornements = "[16v*"; + n_other->m_array_size = 16; + n_other->m_address = base + offset; + n_other->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_other); + +} +void node_from_world_history(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "events"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); + auto n_events = new NodeVector; + n_events->m_field_name = field_name; + n_events->m_df_type = DF_Type::history_event; + n_events->m_rdf_type = RDF_Type::Vector; + n_events->m_node_type = NodeType::Vector; + n_events->m_defined_in = "df.history.xml"; + n_events->m_addornements = "v*"; + n_events->m_address = base + offset; + n_events->m_parent = p_node_parent; + n_events->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_events); + + field_name = "events_death"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); + auto n_events_death = new NodeVector; + n_events_death->m_field_name = field_name; + n_events_death->m_df_type = DF_Type::history_event; + n_events_death->m_rdf_type = RDF_Type::Vector; + n_events_death->m_node_type = NodeType::Vector; + n_events_death->m_defined_in = "df.history.xml"; + n_events_death->m_addornements = "v*"; + n_events_death->m_address = base + offset; + n_events_death->m_parent = p_node_parent; + n_events_death->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_events_death); + + field_name = "figures"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); + auto n_figures = new NodeVector; + n_figures->m_field_name = field_name; + n_figures->m_df_type = DF_Type::historical_figure; + n_figures->m_rdf_type = RDF_Type::Vector; + n_figures->m_node_type = NodeType::Vector; + n_figures->m_defined_in = "df.history.xml"; + n_figures->m_addornements = "v*"; + n_figures->m_address = base + offset; + n_figures->m_parent = p_node_parent; + n_figures->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_figures); + + field_name = "event_collections"; + auto n_event_collections = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); + n_event_collections->m_field_name = field_name; + n_event_collections->m_df_type = DF_Type::world_history__T_event_collections; + n_event_collections->m_rdf_type = RDF_Type::Compound; + n_event_collections->m_node_type = NodeType::Compound; + n_event_collections->m_address = base + offset; + n_event_collections->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_event_collections); + + field_name = "eras"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); + auto n_eras = new NodeVector; + n_eras->m_field_name = field_name; + n_eras->m_df_type = DF_Type::history_era; + n_eras->m_rdf_type = RDF_Type::Vector; + n_eras->m_node_type = NodeType::Vector; + n_eras->m_defined_in = "df.history.xml"; + n_eras->m_addornements = "v*"; + n_eras->m_address = base + offset; + n_eras->m_parent = p_node_parent; + n_eras->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_eras); + + field_name = "unk1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); + auto n_unk1 = new NodeVector; + n_unk1->m_field_name = field_name; + n_unk1->m_df_type = DF_Type::int32_t; + n_unk1->m_rdf_type = RDF_Type::Vector; + n_unk1->m_node_type = NodeType::Vector; + n_unk1->m_addornements = "v"; + n_unk1->m_address = base + offset; + n_unk1->m_parent = p_node_parent; + n_unk1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk1); + + field_name = "unk2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); + auto n_unk2 = new NodeVector; + n_unk2->m_field_name = field_name; + n_unk2->m_df_type = DF_Type::int16_t; + n_unk2->m_rdf_type = RDF_Type::Vector; + n_unk2->m_node_type = NodeType::Vector; + n_unk2->m_addornements = "v"; + n_unk2->m_address = base + offset; + n_unk2->m_parent = p_node_parent; + n_unk2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk2); + + field_name = "total_unk"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); + auto n_total_unk = new NodeSimple; + n_total_unk->m_field_name = field_name; + n_total_unk->m_df_type = DF_Type::int32_t; + n_total_unk->m_rdf_type = RDF_Type::int32_t; + n_total_unk->m_node_type = NodeType::Simple; + n_total_unk->m_address = base + offset; + n_total_unk->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_total_unk); + + field_name = "total_powers"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); + auto n_total_powers = new NodeSimple; + n_total_powers->m_field_name = field_name; + n_total_powers->m_df_type = DF_Type::int32_t; + n_total_powers->m_rdf_type = RDF_Type::int32_t; + n_total_powers->m_node_type = NodeType::Simple; + n_total_powers->m_address = base + offset; + n_total_powers->m_comment = "also includes megabeasts"; + n_total_powers->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_total_powers); + + field_name = "total_megabeasts"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); + auto n_total_megabeasts = new NodeSimple; + n_total_megabeasts->m_field_name = field_name; + n_total_megabeasts->m_df_type = DF_Type::int32_t; + n_total_megabeasts->m_rdf_type = RDF_Type::int32_t; + n_total_megabeasts->m_node_type = NodeType::Simple; + n_total_megabeasts->m_address = base + offset; + n_total_megabeasts->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_total_megabeasts); + + field_name = "total_semimegabeasts"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); + auto n_total_semimegabeasts = new NodeSimple; + n_total_semimegabeasts->m_field_name = field_name; + n_total_semimegabeasts->m_df_type = DF_Type::int32_t; + n_total_semimegabeasts->m_rdf_type = RDF_Type::int32_t; + n_total_semimegabeasts->m_node_type = NodeType::Simple; + n_total_semimegabeasts->m_address = base + offset; + n_total_semimegabeasts->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_total_semimegabeasts); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); + auto n_anon_1 = new NodeVector; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::Void; + n_anon_1->m_rdf_type = RDF_Type::Vector; + n_anon_1->m_node_type = NodeType::Vector; + n_anon_1->m_addornements = "v"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "unk_v42_1"; + auto n_unk_v42_1 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); + n_unk_v42_1->m_field_name = field_name; + n_unk_v42_1->m_df_type = DF_Type::int16_t; + n_unk_v42_1->m_rdf_type = RDF_Type::Array; + n_unk_v42_1->m_node_type = NodeType::Array; + n_unk_v42_1->m_addornements = "[28"; + n_unk_v42_1->m_array_size = 28; + n_unk_v42_1->m_address = base + offset; + n_unk_v42_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v42_1); + + field_name = "live_megabeasts"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); + auto n_live_megabeasts = new NodeVector; + n_live_megabeasts->m_field_name = field_name; + n_live_megabeasts->m_df_type = DF_Type::historical_figure; + n_live_megabeasts->m_rdf_type = RDF_Type::Vector; + n_live_megabeasts->m_node_type = NodeType::Vector; + n_live_megabeasts->m_defined_in = "df.history.xml"; + n_live_megabeasts->m_addornements = "v*"; + n_live_megabeasts->m_address = base + offset; + n_live_megabeasts->m_parent = p_node_parent; + n_live_megabeasts->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_live_megabeasts); + + field_name = "live_semimegabeasts"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); + auto n_live_semimegabeasts = new NodeVector; + n_live_semimegabeasts->m_field_name = field_name; + n_live_semimegabeasts->m_df_type = DF_Type::historical_figure; + n_live_semimegabeasts->m_rdf_type = RDF_Type::Vector; + n_live_semimegabeasts->m_node_type = NodeType::Vector; + n_live_semimegabeasts->m_defined_in = "df.history.xml"; + n_live_semimegabeasts->m_addornements = "v*"; + n_live_semimegabeasts->m_address = base + offset; + n_live_semimegabeasts->m_parent = p_node_parent; + n_live_semimegabeasts->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_live_semimegabeasts); + + field_name = "unk_histfig_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); + auto n_unk_histfig_3 = new NodeVector; + n_unk_histfig_3->m_field_name = field_name; + n_unk_histfig_3->m_df_type = DF_Type::historical_figure; + n_unk_histfig_3->m_rdf_type = RDF_Type::Vector; + n_unk_histfig_3->m_node_type = NodeType::Vector; + n_unk_histfig_3->m_defined_in = "df.history.xml"; + n_unk_histfig_3->m_addornements = "v*"; + n_unk_histfig_3->m_address = base + offset; + n_unk_histfig_3->m_parent = p_node_parent; + n_unk_histfig_3->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_histfig_3); + + field_name = "unk_histfig_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); + auto n_unk_histfig_4 = new NodeVector; + n_unk_histfig_4->m_field_name = field_name; + n_unk_histfig_4->m_df_type = DF_Type::historical_figure; + n_unk_histfig_4->m_rdf_type = RDF_Type::Vector; + n_unk_histfig_4->m_node_type = NodeType::Vector; + n_unk_histfig_4->m_defined_in = "df.history.xml"; + n_unk_histfig_4->m_addornements = "v*"; + n_unk_histfig_4->m_address = base + offset; + n_unk_histfig_4->m_parent = p_node_parent; + n_unk_histfig_4->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_histfig_4); + + field_name = "unk_histfig_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); + auto n_unk_histfig_5 = new NodeVector; + n_unk_histfig_5->m_field_name = field_name; + n_unk_histfig_5->m_df_type = DF_Type::historical_figure; + n_unk_histfig_5->m_rdf_type = RDF_Type::Vector; + n_unk_histfig_5->m_node_type = NodeType::Vector; + n_unk_histfig_5->m_defined_in = "df.history.xml"; + n_unk_histfig_5->m_addornements = "v*"; + n_unk_histfig_5->m_address = base + offset; + n_unk_histfig_5->m_parent = p_node_parent; + n_unk_histfig_5->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_histfig_5); + + field_name = "unk_v40_1"; + auto n_unk_v40_1 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); + n_unk_v40_1->m_field_name = field_name; + n_unk_v40_1->m_df_type = DF_Type::historical_figure; + n_unk_v40_1->m_rdf_type = RDF_Type::Array; + n_unk_v40_1->m_node_type = NodeType::Array; + n_unk_v40_1->m_defined_in = "df.history.xml"; + n_unk_v40_1->m_addornements = "[13v*"; + n_unk_v40_1->m_array_size = 13; + n_unk_v40_1->m_address = base + offset; + n_unk_v40_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_1); + + field_name = "unk_histfig_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); + auto n_unk_histfig_6 = new NodeVector; + n_unk_histfig_6->m_field_name = field_name; + n_unk_histfig_6->m_df_type = DF_Type::historical_figure; + n_unk_histfig_6->m_rdf_type = RDF_Type::Vector; + n_unk_histfig_6->m_node_type = NodeType::Vector; + n_unk_histfig_6->m_defined_in = "df.history.xml"; + n_unk_histfig_6->m_addornements = "v*"; + n_unk_histfig_6->m_address = base + offset; + n_unk_histfig_6->m_parent = p_node_parent; + n_unk_histfig_6->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_histfig_6); + + field_name = "unk_histfig_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); + auto n_unk_histfig_7 = new NodeVector; + n_unk_histfig_7->m_field_name = field_name; + n_unk_histfig_7->m_df_type = DF_Type::historical_figure; + n_unk_histfig_7->m_rdf_type = RDF_Type::Vector; + n_unk_histfig_7->m_node_type = NodeType::Vector; + n_unk_histfig_7->m_defined_in = "df.history.xml"; + n_unk_histfig_7->m_addornements = "v*"; + n_unk_histfig_7->m_address = base + offset; + n_unk_histfig_7->m_parent = p_node_parent; + n_unk_histfig_7->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_histfig_7); + + field_name = "unk_histfig_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); + auto n_unk_histfig_8 = new NodeVector; + n_unk_histfig_8->m_field_name = field_name; + n_unk_histfig_8->m_df_type = DF_Type::historical_figure; + n_unk_histfig_8->m_rdf_type = RDF_Type::Vector; + n_unk_histfig_8->m_node_type = NodeType::Vector; + n_unk_histfig_8->m_defined_in = "df.history.xml"; + n_unk_histfig_8->m_addornements = "v*"; + n_unk_histfig_8->m_address = base + offset; + n_unk_histfig_8->m_parent = p_node_parent; + n_unk_histfig_8->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_histfig_8); + + field_name = "unk_histfig_9"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); + auto n_unk_histfig_9 = new NodeVector; + n_unk_histfig_9->m_field_name = field_name; + n_unk_histfig_9->m_df_type = DF_Type::historical_figure; + n_unk_histfig_9->m_rdf_type = RDF_Type::Vector; + n_unk_histfig_9->m_node_type = NodeType::Vector; + n_unk_histfig_9->m_defined_in = "df.history.xml"; + n_unk_histfig_9->m_addornements = "v*"; + n_unk_histfig_9->m_address = base + offset; + n_unk_histfig_9->m_parent = p_node_parent; + n_unk_histfig_9->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_histfig_9); + + field_name = "unk_histfig_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); + auto n_unk_histfig_10 = new NodeVector; + n_unk_histfig_10->m_field_name = field_name; + n_unk_histfig_10->m_df_type = DF_Type::historical_figure; + n_unk_histfig_10->m_rdf_type = RDF_Type::Vector; + n_unk_histfig_10->m_node_type = NodeType::Vector; + n_unk_histfig_10->m_defined_in = "df.history.xml"; + n_unk_histfig_10->m_addornements = "v*"; + n_unk_histfig_10->m_address = base + offset; + n_unk_histfig_10->m_parent = p_node_parent; + n_unk_histfig_10->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_histfig_10); + + field_name = "unk_histfig_11"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); + auto n_unk_histfig_11 = new NodeVector; + n_unk_histfig_11->m_field_name = field_name; + n_unk_histfig_11->m_df_type = DF_Type::historical_figure; + n_unk_histfig_11->m_rdf_type = RDF_Type::Vector; + n_unk_histfig_11->m_node_type = NodeType::Vector; + n_unk_histfig_11->m_defined_in = "df.history.xml"; + n_unk_histfig_11->m_addornements = "v*"; + n_unk_histfig_11->m_address = base + offset; + n_unk_histfig_11->m_parent = p_node_parent; + n_unk_histfig_11->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_histfig_11); + + field_name = "unk_histfig_12"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); + auto n_unk_histfig_12 = new NodeVector; + n_unk_histfig_12->m_field_name = field_name; + n_unk_histfig_12->m_df_type = DF_Type::historical_figure; + n_unk_histfig_12->m_rdf_type = RDF_Type::Vector; + n_unk_histfig_12->m_node_type = NodeType::Vector; + n_unk_histfig_12->m_defined_in = "df.history.xml"; + n_unk_histfig_12->m_addornements = "v*"; + n_unk_histfig_12->m_address = base + offset; + n_unk_histfig_12->m_parent = p_node_parent; + n_unk_histfig_12->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_histfig_12); + + field_name = "unk_histfig_13"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); + auto n_unk_histfig_13 = new NodeVector; + n_unk_histfig_13->m_field_name = field_name; + n_unk_histfig_13->m_df_type = DF_Type::historical_figure; + n_unk_histfig_13->m_rdf_type = RDF_Type::Vector; + n_unk_histfig_13->m_node_type = NodeType::Vector; + n_unk_histfig_13->m_defined_in = "df.history.xml"; + n_unk_histfig_13->m_addornements = "v*"; + n_unk_histfig_13->m_address = base + offset; + n_unk_histfig_13->m_parent = p_node_parent; + n_unk_histfig_13->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_histfig_13); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); + auto n_anon_2 = new NodeVector; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::Void; + n_anon_2->m_rdf_type = RDF_Type::Vector; + n_anon_2->m_node_type = NodeType::Vector; + n_anon_2->m_addornements = "v"; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + n_anon_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int8_t; + n_anon_3->m_rdf_type = RDF_Type::int8_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); + auto n_anon_4 = new NodeVector; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::Void; + n_anon_4->m_rdf_type = RDF_Type::Vector; + n_anon_4->m_node_type = NodeType::Vector; + n_anon_4->m_addornements = "v"; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + n_anon_4->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int8_t; + n_anon_5->m_rdf_type = RDF_Type::int8_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); + auto n_anon_7 = new NodeSimple; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::int32_t; + n_anon_7->m_rdf_type = RDF_Type::int32_t; + n_anon_7->m_node_type = NodeType::Simple; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_7); + + field_name = "anon_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_history, field_name)); + auto n_anon_8 = new NodePointer; + n_anon_8->m_field_name = field_name; + n_anon_8->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_anon_8->m_rdf_type = RDF_Type::Pointer; + n_anon_8->m_node_type = NodeType::Pointer; + n_anon_8->m_addornements = "*"; + n_anon_8->m_address = base + offset; + n_anon_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_8); + +} +void node_from_item_critter(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "race"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_critter, field_name)); + auto n_race = new NodeSimple; + n_race->m_field_name = field_name; + n_race->m_df_type = DF_Type::int16_t; + n_race->m_rdf_type = RDF_Type::int16_t; + n_race->m_node_type = NodeType::Simple; + n_race->m_address = base + offset; + n_race->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_race); + + field_name = "caste"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_critter, field_name)); + auto n_caste = new NodeSimple; + n_caste->m_field_name = field_name; + n_caste->m_df_type = DF_Type::int16_t; + n_caste->m_rdf_type = RDF_Type::int16_t; + n_caste->m_node_type = NodeType::Simple; + n_caste->m_address = base + offset; + n_caste->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_caste); + + field_name = "milk_timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_critter, field_name)); + auto n_milk_timer = new NodeSimple; + n_milk_timer->m_field_name = field_name; + n_milk_timer->m_df_type = DF_Type::int32_t; + n_milk_timer->m_rdf_type = RDF_Type::int32_t; + n_milk_timer->m_node_type = NodeType::Simple; + n_milk_timer->m_address = base + offset; + n_milk_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_milk_timer); + + field_name = "airdrown_timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_critter, field_name)); + auto n_airdrown_timer = new NodeSimple; + n_airdrown_timer->m_field_name = field_name; + n_airdrown_timer->m_df_type = DF_Type::int32_t; + n_airdrown_timer->m_rdf_type = RDF_Type::int32_t; + n_airdrown_timer->m_node_type = NodeType::Simple; + n_airdrown_timer->m_address = base + offset; + n_airdrown_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_airdrown_timer); + + field_name = "name"; + auto n_name = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_critter, field_name)); + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::language_name; + n_name->m_rdf_type = RDF_Type::Struct; + n_name->m_node_type = NodeType::Compound; + n_name->m_address = base + offset; + n_name->m_defined_in = "df.language.xml"; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + +} +void node_from_item_verminst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_critter; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_critter(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_item_petst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::item_critter; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_item_critter(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "owner_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_petst, field_name)); + auto n_owner_id = new NodeSimple; + n_owner_id->m_field_name = field_name; + n_owner_id->m_df_type = DF_Type::int32_t; + n_owner_id->m_rdf_type = RDF_Type::int32_t; + n_owner_id->m_node_type = NodeType::Simple; + n_owner_id->m_address = base + offset; + n_owner_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_owner_id); + + field_name = "pet_flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_petst, field_name)); + auto n_pet_flags = new NodeBitfield; + n_pet_flags->m_field_name = field_name; + n_pet_flags->m_df_type = DF_Type::item_petst__T_pet_flags; + n_pet_flags->m_rdf_type = RDF_Type::Bitfield; + n_pet_flags->m_node_type = NodeType::Bitfield; + n_pet_flags->m_address = base + offset; + n_pet_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pet_flags); + +} +void node_from_language_word_table(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "words"; + auto n_words = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::language_word_table, field_name)); + n_words->m_field_name = field_name; + n_words->m_df_type = DF_Type::int32_t; + n_words->m_rdf_type = RDF_Type::Array; + n_words->m_node_type = NodeType::Array; + n_words->m_addornements = "[6v"; + n_words->m_array_size = 6; + n_words->m_address = base + offset; + n_words->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_words); + + field_name = "parts"; + auto n_parts = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::language_word_table, field_name)); + n_parts->m_field_name = field_name; + n_parts->m_df_type = DF_Type::part_of_speech; + n_parts->m_rdf_type = RDF_Type::Array; + n_parts->m_node_type = NodeType::Array; + n_parts->m_enum_base = DF_Type::int32_t; + n_parts->m_defined_in = "df.language.xml"; + n_parts->m_addornements = "[6v"; + n_parts->m_array_size = 6; + n_parts->m_address = base + offset; + n_parts->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_parts); + +} +void node_from_entity_raw__T_equipment(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "digger_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); + auto n_digger_id = new NodeVector; + n_digger_id->m_field_name = field_name; + n_digger_id->m_df_type = DF_Type::int16_t; + n_digger_id->m_rdf_type = RDF_Type::Vector; + n_digger_id->m_node_type = NodeType::Vector; + n_digger_id->m_addornements = "v"; + n_digger_id->m_address = base + offset; + n_digger_id->m_parent = p_node_parent; + n_digger_id->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_digger_id); + + field_name = "weapon_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); + auto n_weapon_id = new NodeVector; + n_weapon_id->m_field_name = field_name; + n_weapon_id->m_df_type = DF_Type::int16_t; + n_weapon_id->m_rdf_type = RDF_Type::Vector; + n_weapon_id->m_node_type = NodeType::Vector; + n_weapon_id->m_addornements = "v"; + n_weapon_id->m_address = base + offset; + n_weapon_id->m_parent = p_node_parent; + n_weapon_id->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_weapon_id); + + field_name = "armor_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); + auto n_armor_id = new NodeVector; + n_armor_id->m_field_name = field_name; + n_armor_id->m_df_type = DF_Type::int16_t; + n_armor_id->m_rdf_type = RDF_Type::Vector; + n_armor_id->m_node_type = NodeType::Vector; + n_armor_id->m_addornements = "v"; + n_armor_id->m_address = base + offset; + n_armor_id->m_parent = p_node_parent; + n_armor_id->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_armor_id); + + field_name = "ammo_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); + auto n_ammo_id = new NodeVector; + n_ammo_id->m_field_name = field_name; + n_ammo_id->m_df_type = DF_Type::int16_t; + n_ammo_id->m_rdf_type = RDF_Type::Vector; + n_ammo_id->m_node_type = NodeType::Vector; + n_ammo_id->m_addornements = "v"; + n_ammo_id->m_address = base + offset; + n_ammo_id->m_parent = p_node_parent; + n_ammo_id->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_ammo_id); + + field_name = "helm_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); + auto n_helm_id = new NodeVector; + n_helm_id->m_field_name = field_name; + n_helm_id->m_df_type = DF_Type::int16_t; + n_helm_id->m_rdf_type = RDF_Type::Vector; + n_helm_id->m_node_type = NodeType::Vector; + n_helm_id->m_addornements = "v"; + n_helm_id->m_address = base + offset; + n_helm_id->m_parent = p_node_parent; + n_helm_id->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_helm_id); + + field_name = "gloves_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); + auto n_gloves_id = new NodeVector; + n_gloves_id->m_field_name = field_name; + n_gloves_id->m_df_type = DF_Type::int16_t; + n_gloves_id->m_rdf_type = RDF_Type::Vector; + n_gloves_id->m_node_type = NodeType::Vector; + n_gloves_id->m_addornements = "v"; + n_gloves_id->m_address = base + offset; + n_gloves_id->m_parent = p_node_parent; + n_gloves_id->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_gloves_id); + + field_name = "shoes_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); + auto n_shoes_id = new NodeVector; + n_shoes_id->m_field_name = field_name; + n_shoes_id->m_df_type = DF_Type::int16_t; + n_shoes_id->m_rdf_type = RDF_Type::Vector; + n_shoes_id->m_node_type = NodeType::Vector; + n_shoes_id->m_addornements = "v"; + n_shoes_id->m_address = base + offset; + n_shoes_id->m_parent = p_node_parent; + n_shoes_id->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_shoes_id); + + field_name = "pants_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); + auto n_pants_id = new NodeVector; + n_pants_id->m_field_name = field_name; + n_pants_id->m_df_type = DF_Type::int16_t; + n_pants_id->m_rdf_type = RDF_Type::Vector; + n_pants_id->m_node_type = NodeType::Vector; + n_pants_id->m_addornements = "v"; + n_pants_id->m_address = base + offset; + n_pants_id->m_parent = p_node_parent; + n_pants_id->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_pants_id); + + field_name = "shield_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); + auto n_shield_id = new NodeVector; + n_shield_id->m_field_name = field_name; + n_shield_id->m_df_type = DF_Type::int16_t; + n_shield_id->m_rdf_type = RDF_Type::Vector; + n_shield_id->m_node_type = NodeType::Vector; + n_shield_id->m_addornements = "v"; + n_shield_id->m_address = base + offset; + n_shield_id->m_parent = p_node_parent; + n_shield_id->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_shield_id); + + field_name = "trapcomp_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); + auto n_trapcomp_id = new NodeVector; + n_trapcomp_id->m_field_name = field_name; + n_trapcomp_id->m_df_type = DF_Type::int16_t; + n_trapcomp_id->m_rdf_type = RDF_Type::Vector; + n_trapcomp_id->m_node_type = NodeType::Vector; + n_trapcomp_id->m_addornements = "v"; + n_trapcomp_id->m_address = base + offset; + n_trapcomp_id->m_parent = p_node_parent; + n_trapcomp_id->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_trapcomp_id); + + field_name = "toy_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); + auto n_toy_id = new NodeVector; + n_toy_id->m_field_name = field_name; + n_toy_id->m_df_type = DF_Type::int16_t; + n_toy_id->m_rdf_type = RDF_Type::Vector; + n_toy_id->m_node_type = NodeType::Vector; + n_toy_id->m_addornements = "v"; + n_toy_id->m_address = base + offset; + n_toy_id->m_parent = p_node_parent; + n_toy_id->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_toy_id); + + field_name = "instrument_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); + auto n_instrument_id = new NodeVector; + n_instrument_id->m_field_name = field_name; + n_instrument_id->m_df_type = DF_Type::int16_t; + n_instrument_id->m_rdf_type = RDF_Type::Vector; + n_instrument_id->m_node_type = NodeType::Vector; + n_instrument_id->m_addornements = "v"; + n_instrument_id->m_address = base + offset; + n_instrument_id->m_parent = p_node_parent; + n_instrument_id->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_instrument_id); + + field_name = "tool_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); + auto n_tool_id = new NodeVector; + n_tool_id->m_field_name = field_name; + n_tool_id->m_df_type = DF_Type::int16_t; + n_tool_id->m_rdf_type = RDF_Type::Vector; + n_tool_id->m_node_type = NodeType::Vector; + n_tool_id->m_addornements = "v"; + n_tool_id->m_address = base + offset; + n_tool_id->m_parent = p_node_parent; + n_tool_id->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_tool_id); + + field_name = "siegeammo_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); + auto n_siegeammo_id = new NodeVector; + n_siegeammo_id->m_field_name = field_name; + n_siegeammo_id->m_df_type = DF_Type::int16_t; + n_siegeammo_id->m_rdf_type = RDF_Type::Vector; + n_siegeammo_id->m_node_type = NodeType::Vector; + n_siegeammo_id->m_addornements = "v"; + n_siegeammo_id->m_address = base + offset; + n_siegeammo_id->m_parent = p_node_parent; + n_siegeammo_id->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_siegeammo_id); + + field_name = "armor_rarity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); + auto n_armor_rarity = new NodeVector; + n_armor_rarity->m_field_name = field_name; + n_armor_rarity->m_df_type = DF_Type::int8_t; + n_armor_rarity->m_rdf_type = RDF_Type::Vector; + n_armor_rarity->m_node_type = NodeType::Vector; + n_armor_rarity->m_addornements = "v"; + n_armor_rarity->m_address = base + offset; + n_armor_rarity->m_parent = p_node_parent; + n_armor_rarity->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_armor_rarity); + + field_name = "helm_rarity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); + auto n_helm_rarity = new NodeVector; + n_helm_rarity->m_field_name = field_name; + n_helm_rarity->m_df_type = DF_Type::int8_t; + n_helm_rarity->m_rdf_type = RDF_Type::Vector; + n_helm_rarity->m_node_type = NodeType::Vector; + n_helm_rarity->m_addornements = "v"; + n_helm_rarity->m_address = base + offset; + n_helm_rarity->m_parent = p_node_parent; + n_helm_rarity->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_helm_rarity); + + field_name = "gloves_rarity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); + auto n_gloves_rarity = new NodeVector; + n_gloves_rarity->m_field_name = field_name; + n_gloves_rarity->m_df_type = DF_Type::int8_t; + n_gloves_rarity->m_rdf_type = RDF_Type::Vector; + n_gloves_rarity->m_node_type = NodeType::Vector; + n_gloves_rarity->m_addornements = "v"; + n_gloves_rarity->m_address = base + offset; + n_gloves_rarity->m_parent = p_node_parent; + n_gloves_rarity->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_gloves_rarity); + + field_name = "shoes_rarity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); + auto n_shoes_rarity = new NodeVector; + n_shoes_rarity->m_field_name = field_name; + n_shoes_rarity->m_df_type = DF_Type::int8_t; + n_shoes_rarity->m_rdf_type = RDF_Type::Vector; + n_shoes_rarity->m_node_type = NodeType::Vector; + n_shoes_rarity->m_addornements = "v"; + n_shoes_rarity->m_address = base + offset; + n_shoes_rarity->m_parent = p_node_parent; + n_shoes_rarity->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_shoes_rarity); + + field_name = "pants_rarity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); + auto n_pants_rarity = new NodeVector; + n_pants_rarity->m_field_name = field_name; + n_pants_rarity->m_df_type = DF_Type::int8_t; + n_pants_rarity->m_rdf_type = RDF_Type::Vector; + n_pants_rarity->m_node_type = NodeType::Vector; + n_pants_rarity->m_addornements = "v"; + n_pants_rarity->m_address = base + offset; + n_pants_rarity->m_parent = p_node_parent; + n_pants_rarity->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_pants_rarity); + + field_name = "digger_str"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); + auto n_digger_str = new NodeVector; + n_digger_str->m_field_name = field_name; + n_digger_str->m_df_type = DF_Type::Stl_string; + n_digger_str->m_rdf_type = RDF_Type::Vector; + n_digger_str->m_node_type = NodeType::Vector; + n_digger_str->m_addornements = "v*"; + n_digger_str->m_address = base + offset; + n_digger_str->m_parent = p_node_parent; + n_digger_str->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_digger_str); + + field_name = "weapon_str"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); + auto n_weapon_str = new NodeVector; + n_weapon_str->m_field_name = field_name; + n_weapon_str->m_df_type = DF_Type::Stl_string; + n_weapon_str->m_rdf_type = RDF_Type::Vector; + n_weapon_str->m_node_type = NodeType::Vector; + n_weapon_str->m_addornements = "v*"; + n_weapon_str->m_address = base + offset; + n_weapon_str->m_parent = p_node_parent; + n_weapon_str->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_weapon_str); + + field_name = "armor_str"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); + auto n_armor_str = new NodeVector; + n_armor_str->m_field_name = field_name; + n_armor_str->m_df_type = DF_Type::Stl_string; + n_armor_str->m_rdf_type = RDF_Type::Vector; + n_armor_str->m_node_type = NodeType::Vector; + n_armor_str->m_addornements = "v*"; + n_armor_str->m_address = base + offset; + n_armor_str->m_parent = p_node_parent; + n_armor_str->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_armor_str); + + field_name = "ammo_str"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); + auto n_ammo_str = new NodeVector; + n_ammo_str->m_field_name = field_name; + n_ammo_str->m_df_type = DF_Type::Stl_string; + n_ammo_str->m_rdf_type = RDF_Type::Vector; + n_ammo_str->m_node_type = NodeType::Vector; + n_ammo_str->m_addornements = "v*"; + n_ammo_str->m_address = base + offset; + n_ammo_str->m_parent = p_node_parent; + n_ammo_str->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_ammo_str); + + field_name = "helm_str"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); + auto n_helm_str = new NodeVector; + n_helm_str->m_field_name = field_name; + n_helm_str->m_df_type = DF_Type::Stl_string; + n_helm_str->m_rdf_type = RDF_Type::Vector; + n_helm_str->m_node_type = NodeType::Vector; + n_helm_str->m_addornements = "v*"; + n_helm_str->m_address = base + offset; + n_helm_str->m_parent = p_node_parent; + n_helm_str->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_helm_str); + + field_name = "gloves_str"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); + auto n_gloves_str = new NodeVector; + n_gloves_str->m_field_name = field_name; + n_gloves_str->m_df_type = DF_Type::Stl_string; + n_gloves_str->m_rdf_type = RDF_Type::Vector; + n_gloves_str->m_node_type = NodeType::Vector; + n_gloves_str->m_addornements = "v*"; + n_gloves_str->m_address = base + offset; + n_gloves_str->m_parent = p_node_parent; + n_gloves_str->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_gloves_str); + + field_name = "shoes_str"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); + auto n_shoes_str = new NodeVector; + n_shoes_str->m_field_name = field_name; + n_shoes_str->m_df_type = DF_Type::Stl_string; + n_shoes_str->m_rdf_type = RDF_Type::Vector; + n_shoes_str->m_node_type = NodeType::Vector; + n_shoes_str->m_addornements = "v*"; + n_shoes_str->m_address = base + offset; + n_shoes_str->m_parent = p_node_parent; + n_shoes_str->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_shoes_str); + + field_name = "pants_str"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); + auto n_pants_str = new NodeVector; + n_pants_str->m_field_name = field_name; + n_pants_str->m_df_type = DF_Type::Stl_string; + n_pants_str->m_rdf_type = RDF_Type::Vector; + n_pants_str->m_node_type = NodeType::Vector; + n_pants_str->m_addornements = "v*"; + n_pants_str->m_address = base + offset; + n_pants_str->m_parent = p_node_parent; + n_pants_str->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_pants_str); + + field_name = "shield_str"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); + auto n_shield_str = new NodeVector; + n_shield_str->m_field_name = field_name; + n_shield_str->m_df_type = DF_Type::Stl_string; + n_shield_str->m_rdf_type = RDF_Type::Vector; + n_shield_str->m_node_type = NodeType::Vector; + n_shield_str->m_addornements = "v*"; + n_shield_str->m_address = base + offset; + n_shield_str->m_parent = p_node_parent; + n_shield_str->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_shield_str); + + field_name = "trapcomp_str"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); + auto n_trapcomp_str = new NodeVector; + n_trapcomp_str->m_field_name = field_name; + n_trapcomp_str->m_df_type = DF_Type::Stl_string; + n_trapcomp_str->m_rdf_type = RDF_Type::Vector; + n_trapcomp_str->m_node_type = NodeType::Vector; + n_trapcomp_str->m_addornements = "v*"; + n_trapcomp_str->m_address = base + offset; + n_trapcomp_str->m_parent = p_node_parent; + n_trapcomp_str->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_trapcomp_str); + + field_name = "toy_str"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); + auto n_toy_str = new NodeVector; + n_toy_str->m_field_name = field_name; + n_toy_str->m_df_type = DF_Type::Stl_string; + n_toy_str->m_rdf_type = RDF_Type::Vector; + n_toy_str->m_node_type = NodeType::Vector; + n_toy_str->m_addornements = "v*"; + n_toy_str->m_address = base + offset; + n_toy_str->m_parent = p_node_parent; + n_toy_str->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_toy_str); + + field_name = "instrument_str"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); + auto n_instrument_str = new NodeVector; + n_instrument_str->m_field_name = field_name; + n_instrument_str->m_df_type = DF_Type::Stl_string; + n_instrument_str->m_rdf_type = RDF_Type::Vector; + n_instrument_str->m_node_type = NodeType::Vector; + n_instrument_str->m_addornements = "v*"; + n_instrument_str->m_address = base + offset; + n_instrument_str->m_parent = p_node_parent; + n_instrument_str->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_instrument_str); + + field_name = "siegeammo_str"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); + auto n_siegeammo_str = new NodeVector; + n_siegeammo_str->m_field_name = field_name; + n_siegeammo_str->m_df_type = DF_Type::Stl_string; + n_siegeammo_str->m_rdf_type = RDF_Type::Vector; + n_siegeammo_str->m_node_type = NodeType::Vector; + n_siegeammo_str->m_addornements = "v*"; + n_siegeammo_str->m_address = base + offset; + n_siegeammo_str->m_parent = p_node_parent; + n_siegeammo_str->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_siegeammo_str); + + field_name = "tool_str"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_equipment, field_name)); + auto n_tool_str = new NodeVector; + n_tool_str->m_field_name = field_name; + n_tool_str->m_df_type = DF_Type::Stl_string; + n_tool_str->m_rdf_type = RDF_Type::Vector; + n_tool_str->m_node_type = NodeType::Vector; + n_tool_str->m_addornements = "v*"; + n_tool_str->m_address = base + offset; + n_tool_str->m_parent = p_node_parent; + n_tool_str->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_tool_str); + +} +void node_from_entity_raw__T_symbols(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "symbols1"; + auto n_symbols1 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_symbols, field_name)); + n_symbols1->m_field_name = field_name; + n_symbols1->m_df_type = DF_Type::language_word_table; + n_symbols1->m_rdf_type = RDF_Type::Array; + n_symbols1->m_node_type = NodeType::Array; + n_symbols1->m_index_enum = DF_Type::entity_name_type; + n_symbols1->m_defined_in = "df.language.xml"; + n_symbols1->m_addornements = "[16"; + n_symbols1->m_array_size = 16; + n_symbols1->m_address = base + offset; + n_symbols1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_symbols1); + + field_name = "symbols2"; + auto n_symbols2 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_symbols, field_name)); + n_symbols2->m_field_name = field_name; + n_symbols2->m_df_type = DF_Type::language_word_table; + n_symbols2->m_rdf_type = RDF_Type::Array; + n_symbols2->m_node_type = NodeType::Array; + n_symbols2->m_index_enum = DF_Type::entity_name_type; + n_symbols2->m_defined_in = "df.language.xml"; + n_symbols2->m_addornements = "[16"; + n_symbols2->m_array_size = 16; + n_symbols2->m_address = base + offset; + n_symbols2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_symbols2); + + field_name = "select_symbol"; + auto n_select_symbol = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_symbols, field_name)); + n_select_symbol->m_field_name = field_name; + n_select_symbol->m_df_type = DF_Type::Stl_string; + n_select_symbol->m_rdf_type = RDF_Type::Array; + n_select_symbol->m_node_type = NodeType::Array; + n_select_symbol->m_index_enum = DF_Type::entity_name_type; + n_select_symbol->m_addornements = "[16v*"; + n_select_symbol->m_array_size = 16; + n_select_symbol->m_address = base + offset; + n_select_symbol->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_select_symbol); + + field_name = "subselect_symbol"; + auto n_subselect_symbol = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_symbols, field_name)); + n_subselect_symbol->m_field_name = field_name; + n_subselect_symbol->m_df_type = DF_Type::Stl_string; + n_subselect_symbol->m_rdf_type = RDF_Type::Array; + n_subselect_symbol->m_node_type = NodeType::Array; + n_subselect_symbol->m_index_enum = DF_Type::entity_name_type; + n_subselect_symbol->m_addornements = "[16v*"; + n_subselect_symbol->m_array_size = 16; + n_subselect_symbol->m_address = base + offset; + n_subselect_symbol->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_subselect_symbol); + + field_name = "cull_symbol"; + auto n_cull_symbol = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_symbols, field_name)); + n_cull_symbol->m_field_name = field_name; + n_cull_symbol->m_df_type = DF_Type::Stl_string; + n_cull_symbol->m_rdf_type = RDF_Type::Array; + n_cull_symbol->m_node_type = NodeType::Array; + n_cull_symbol->m_index_enum = DF_Type::entity_name_type; + n_cull_symbol->m_addornements = "[16v*"; + n_cull_symbol->m_array_size = 16; + n_cull_symbol->m_address = base + offset; + n_cull_symbol->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cull_symbol); + +} +void node_from_entity_raw__T_progress_trigger(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "population"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_progress_trigger, field_name)); + auto n_population = new NodeSimple; + n_population->m_field_name = field_name; + n_population->m_df_type = DF_Type::int16_t; + n_population->m_rdf_type = RDF_Type::int16_t; + n_population->m_node_type = NodeType::Simple; + n_population->m_address = base + offset; + n_population->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_population); + + field_name = "production"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_progress_trigger, field_name)); + auto n_production = new NodeSimple; + n_production->m_field_name = field_name; + n_production->m_df_type = DF_Type::int16_t; + n_production->m_rdf_type = RDF_Type::int16_t; + n_production->m_node_type = NodeType::Simple; + n_production->m_address = base + offset; + n_production->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_production); + + field_name = "trade"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_progress_trigger, field_name)); + auto n_trade = new NodeSimple; + n_trade->m_field_name = field_name; + n_trade->m_df_type = DF_Type::int16_t; + n_trade->m_rdf_type = RDF_Type::int16_t; + n_trade->m_node_type = NodeType::Simple; + n_trade->m_address = base + offset; + n_trade->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_trade); + + field_name = "pop_siege"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_progress_trigger, field_name)); + auto n_pop_siege = new NodeSimple; + n_pop_siege->m_field_name = field_name; + n_pop_siege->m_df_type = DF_Type::int16_t; + n_pop_siege->m_rdf_type = RDF_Type::int16_t; + n_pop_siege->m_node_type = NodeType::Simple; + n_pop_siege->m_address = base + offset; + n_pop_siege->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pop_siege); + + field_name = "prod_siege"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_progress_trigger, field_name)); + auto n_prod_siege = new NodeSimple; + n_prod_siege->m_field_name = field_name; + n_prod_siege->m_df_type = DF_Type::int16_t; + n_prod_siege->m_rdf_type = RDF_Type::int16_t; + n_prod_siege->m_node_type = NodeType::Simple; + n_prod_siege->m_address = base + offset; + n_prod_siege->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_prod_siege); + + field_name = "trade_siege"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_progress_trigger, field_name)); + auto n_trade_siege = new NodeSimple; + n_trade_siege->m_field_name = field_name; + n_trade_siege->m_df_type = DF_Type::int16_t; + n_trade_siege->m_rdf_type = RDF_Type::int16_t; + n_trade_siege->m_node_type = NodeType::Simple; + n_trade_siege->m_address = base + offset; + n_trade_siege->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_trade_siege); + +} +void node_from_entity_raw__T_jobs(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "permitted_job"; + auto n_permitted_job = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_jobs, field_name)); + n_permitted_job->m_field_name = field_name; + n_permitted_job->m_df_type = DF_Type::Bool; + n_permitted_job->m_rdf_type = RDF_Type::Array; + n_permitted_job->m_node_type = NodeType::Array; + n_permitted_job->m_index_enum = DF_Type::profession; + n_permitted_job->m_addornements = "[135"; + n_permitted_job->m_array_size = 135; + n_permitted_job->m_address = base + offset; + n_permitted_job->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_permitted_job); + + field_name = "permitted_labor"; + auto n_permitted_labor = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_jobs, field_name)); + n_permitted_labor->m_field_name = field_name; + n_permitted_labor->m_df_type = DF_Type::Bool; + n_permitted_labor->m_rdf_type = RDF_Type::Array; + n_permitted_labor->m_node_type = NodeType::Array; + n_permitted_labor->m_index_enum = DF_Type::unit_labor; + n_permitted_labor->m_addornements = "[94"; + n_permitted_labor->m_array_size = 94; + n_permitted_labor->m_address = base + offset; + n_permitted_labor->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_permitted_labor); + + field_name = "world_construction"; + auto n_world_construction = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_jobs, field_name)); + n_world_construction->m_field_name = field_name; + n_world_construction->m_df_type = DF_Type::Bool; + n_world_construction->m_rdf_type = RDF_Type::Array; + n_world_construction->m_node_type = NodeType::Array; + n_world_construction->m_index_enum = DF_Type::world_construction_type; + n_world_construction->m_addornements = "[4"; + n_world_construction->m_array_size = 4; + n_world_construction->m_address = base + offset; + n_world_construction->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_world_construction); + +} +void node_from_entity_raw__T_tissue_styles(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_tissue_styles, field_name)); + auto n_name = new NodeSimple; + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Stl_string; + n_name->m_node_type = NodeType::Simple; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "preferred_shapings"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_tissue_styles, field_name)); + auto n_preferred_shapings = new NodeVector; + n_preferred_shapings->m_field_name = field_name; + n_preferred_shapings->m_df_type = DF_Type::int16_t; + n_preferred_shapings->m_rdf_type = RDF_Type::Vector; + n_preferred_shapings->m_node_type = NodeType::Vector; + n_preferred_shapings->m_addornements = "v"; + n_preferred_shapings->m_address = base + offset; + n_preferred_shapings->m_parent = p_node_parent; + n_preferred_shapings->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_preferred_shapings); + + field_name = "maintain_length_min"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_tissue_styles, field_name)); + auto n_maintain_length_min = new NodeSimple; + n_maintain_length_min->m_field_name = field_name; + n_maintain_length_min->m_df_type = DF_Type::int32_t; + n_maintain_length_min->m_rdf_type = RDF_Type::int32_t; + n_maintain_length_min->m_node_type = NodeType::Simple; + n_maintain_length_min->m_address = base + offset; + n_maintain_length_min->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_maintain_length_min); + + field_name = "maintain_length_max"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_tissue_styles, field_name)); + auto n_maintain_length_max = new NodeSimple; + n_maintain_length_max->m_field_name = field_name; + n_maintain_length_max->m_df_type = DF_Type::int32_t; + n_maintain_length_max->m_rdf_type = RDF_Type::int32_t; + n_maintain_length_max->m_node_type = NodeType::Simple; + n_maintain_length_max->m_address = base + offset; + n_maintain_length_max->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_maintain_length_max); + +} +void node_from_entity_raw__T_workshops(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "permitted_building_str"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_workshops, field_name)); + auto n_permitted_building_str = new NodeVector; + n_permitted_building_str->m_field_name = field_name; + n_permitted_building_str->m_df_type = DF_Type::Stl_string; + n_permitted_building_str->m_rdf_type = RDF_Type::Vector; + n_permitted_building_str->m_node_type = NodeType::Vector; + n_permitted_building_str->m_addornements = "v*"; + n_permitted_building_str->m_address = base + offset; + n_permitted_building_str->m_parent = p_node_parent; + n_permitted_building_str->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_permitted_building_str); + + field_name = "permitted_building_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_workshops, field_name)); + auto n_permitted_building_id = new NodeVector; + n_permitted_building_id->m_field_name = field_name; + n_permitted_building_id->m_df_type = DF_Type::int32_t; + n_permitted_building_id->m_rdf_type = RDF_Type::Vector; + n_permitted_building_id->m_node_type = NodeType::Vector; + n_permitted_building_id->m_addornements = "v"; + n_permitted_building_id->m_address = base + offset; + n_permitted_building_id->m_parent = p_node_parent; + n_permitted_building_id->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_permitted_building_id); + + field_name = "permitted_reaction_str"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_workshops, field_name)); + auto n_permitted_reaction_str = new NodeVector; + n_permitted_reaction_str->m_field_name = field_name; + n_permitted_reaction_str->m_df_type = DF_Type::Stl_string; + n_permitted_reaction_str->m_rdf_type = RDF_Type::Vector; + n_permitted_reaction_str->m_node_type = NodeType::Vector; + n_permitted_reaction_str->m_addornements = "v*"; + n_permitted_reaction_str->m_address = base + offset; + n_permitted_reaction_str->m_parent = p_node_parent; + n_permitted_reaction_str->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_permitted_reaction_str); + + field_name = "permitted_reaction_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_workshops, field_name)); + auto n_permitted_reaction_id = new NodeVector; + n_permitted_reaction_id->m_field_name = field_name; + n_permitted_reaction_id->m_df_type = DF_Type::int32_t; + n_permitted_reaction_id->m_rdf_type = RDF_Type::Vector; + n_permitted_reaction_id->m_node_type = NodeType::Vector; + n_permitted_reaction_id->m_addornements = "v"; + n_permitted_reaction_id->m_address = base + offset; + n_permitted_reaction_id->m_parent = p_node_parent; + n_permitted_reaction_id->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_permitted_reaction_id); + +} +void node_from_entity_raw__T_land_holder_trigger(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "num"; + auto n_num = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_land_holder_trigger, field_name)); + n_num->m_field_name = field_name; + n_num->m_df_type = DF_Type::int32_t; + n_num->m_rdf_type = RDF_Type::Array; + n_num->m_node_type = NodeType::Array; + n_num->m_addornements = "[10"; + n_num->m_array_size = 10; + n_num->m_address = base + offset; + n_num->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_num); + + field_name = "population"; + auto n_population = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_land_holder_trigger, field_name)); + n_population->m_field_name = field_name; + n_population->m_df_type = DF_Type::int32_t; + n_population->m_rdf_type = RDF_Type::Array; + n_population->m_node_type = NodeType::Array; + n_population->m_addornements = "[10"; + n_population->m_array_size = 10; + n_population->m_address = base + offset; + n_population->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_population); + + field_name = "wealth"; + auto n_wealth = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw__T_land_holder_trigger, field_name)); + n_wealth->m_field_name = field_name; + n_wealth->m_df_type = DF_Type::int32_t; + n_wealth->m_rdf_type = RDF_Type::Array; + n_wealth->m_node_type = NodeType::Array; + n_wealth->m_addornements = "[10"; + n_wealth->m_array_size = 10; + n_wealth->m_address = base + offset; + n_wealth->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_wealth); + +} +void node_from_entity_raw(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "code"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); + auto n_code = new NodeSimple; + n_code->m_field_name = field_name; + n_code->m_df_type = DF_Type::Stl_string; + n_code->m_rdf_type = RDF_Type::Stl_string; + n_code->m_node_type = NodeType::Simple; + n_code->m_address = base + offset; + n_code->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_code); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); + auto n_anon_2 = new NodeVector; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::Void; + n_anon_2->m_rdf_type = RDF_Type::Vector; + n_anon_2->m_node_type = NodeType::Vector; + n_anon_2->m_addornements = "v"; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + n_anon_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "creature_ids"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); + auto n_creature_ids = new NodeVector; + n_creature_ids->m_field_name = field_name; + n_creature_ids->m_df_type = DF_Type::int16_t; + n_creature_ids->m_rdf_type = RDF_Type::Vector; + n_creature_ids->m_node_type = NodeType::Vector; + n_creature_ids->m_addornements = "v"; + n_creature_ids->m_address = base + offset; + n_creature_ids->m_parent = p_node_parent; + n_creature_ids->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_creature_ids); + + field_name = "creatures"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); + auto n_creatures = new NodeVector; + n_creatures->m_field_name = field_name; + n_creatures->m_df_type = DF_Type::Stl_string; + n_creatures->m_rdf_type = RDF_Type::Vector; + n_creatures->m_node_type = NodeType::Vector; + n_creatures->m_addornements = "v*"; + n_creatures->m_address = base + offset; + n_creatures->m_parent = p_node_parent; + n_creatures->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_creatures); + + field_name = "equipment"; + auto n_equipment = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); + n_equipment->m_field_name = field_name; + n_equipment->m_df_type = DF_Type::entity_raw__T_equipment; + n_equipment->m_rdf_type = RDF_Type::Compound; + n_equipment->m_node_type = NodeType::Compound; + n_equipment->m_address = base + offset; + n_equipment->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_equipment); + + field_name = "currency_value"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); + auto n_currency_value = new NodeVector; + n_currency_value->m_field_name = field_name; + n_currency_value->m_df_type = DF_Type::int32_t; + n_currency_value->m_rdf_type = RDF_Type::Vector; + n_currency_value->m_node_type = NodeType::Vector; + n_currency_value->m_addornements = "v"; + n_currency_value->m_address = base + offset; + n_currency_value->m_refers_to = "(material-by-id 0 $)"; + n_currency_value->m_parent = p_node_parent; + n_currency_value->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_currency_value); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); + auto n_flags = new NodeDFFlagArray; + n_flags->m_field_name = field_name; + n_flags->m_index_enum = DF_Type::entity_raw_flags; + n_flags->m_df_type = DF_Type::entity_raw_flags; + n_flags->m_size = 74; + n_flags->m_rdf_type = RDF_Type::DFFlagArray; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_defined_in = "df.entity-raws.xml"; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "translation"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); + auto n_translation = new NodeSimple; + n_translation->m_field_name = field_name; + n_translation->m_df_type = DF_Type::Stl_string; + n_translation->m_rdf_type = RDF_Type::Stl_string; + n_translation->m_node_type = NodeType::Simple; + n_translation->m_address = base + offset; + n_translation->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_translation); + + field_name = "symbols"; + auto n_symbols = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); + n_symbols->m_field_name = field_name; + n_symbols->m_df_type = DF_Type::entity_raw__T_symbols; + n_symbols->m_rdf_type = RDF_Type::Compound; + n_symbols->m_node_type = NodeType::Compound; + n_symbols->m_address = base + offset; + n_symbols->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_symbols); + + field_name = "sphere_alignment"; + auto n_sphere_alignment = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); + n_sphere_alignment->m_field_name = field_name; + n_sphere_alignment->m_df_type = DF_Type::int32_t; + n_sphere_alignment->m_rdf_type = RDF_Type::Array; + n_sphere_alignment->m_node_type = NodeType::Array; + n_sphere_alignment->m_index_enum = DF_Type::sphere_type; + n_sphere_alignment->m_addornements = "[130"; + n_sphere_alignment->m_array_size = 130; + n_sphere_alignment->m_address = base + offset; + n_sphere_alignment->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sphere_alignment); + + field_name = "art_facet_modifier"; + auto n_art_facet_modifier = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); + n_art_facet_modifier->m_field_name = field_name; + n_art_facet_modifier->m_df_type = DF_Type::int32_t; + n_art_facet_modifier->m_rdf_type = RDF_Type::Array; + n_art_facet_modifier->m_node_type = NodeType::Array; + n_art_facet_modifier->m_index_enum = DF_Type::art_facet_type; + n_art_facet_modifier->m_addornements = "[4"; + n_art_facet_modifier->m_array_size = 4; + n_art_facet_modifier->m_address = base + offset; + n_art_facet_modifier->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_art_facet_modifier); + + field_name = "art_image_element_modifier"; + auto n_art_image_element_modifier = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); + n_art_image_element_modifier->m_field_name = field_name; + n_art_image_element_modifier->m_df_type = DF_Type::int32_t; + n_art_image_element_modifier->m_rdf_type = RDF_Type::Array; + n_art_image_element_modifier->m_node_type = NodeType::Array; + n_art_image_element_modifier->m_index_enum = DF_Type::art_image_element_type; + n_art_image_element_modifier->m_addornements = "[5"; + n_art_image_element_modifier->m_array_size = 5; + n_art_image_element_modifier->m_address = base + offset; + n_art_image_element_modifier->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_art_image_element_modifier); + + field_name = "item_improvement_modifier"; + auto n_item_improvement_modifier = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); + n_item_improvement_modifier->m_field_name = field_name; + n_item_improvement_modifier->m_df_type = DF_Type::int32_t; + n_item_improvement_modifier->m_rdf_type = RDF_Type::Array; + n_item_improvement_modifier->m_node_type = NodeType::Array; + n_item_improvement_modifier->m_index_enum = DF_Type::improvement_type; + n_item_improvement_modifier->m_addornements = "[13"; + n_item_improvement_modifier->m_array_size = 13; + n_item_improvement_modifier->m_address = base + offset; + n_item_improvement_modifier->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_improvement_modifier); + + field_name = "friendly_color"; + auto n_friendly_color = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); + n_friendly_color->m_field_name = field_name; + n_friendly_color->m_df_type = DF_Type::int16_t; + n_friendly_color->m_rdf_type = RDF_Type::Array; + n_friendly_color->m_node_type = NodeType::Array; + n_friendly_color->m_addornements = "[3"; + n_friendly_color->m_array_size = 3; + n_friendly_color->m_address = base + offset; + n_friendly_color->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_friendly_color); + + field_name = "default_site_type"; + auto n_default_site_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); + n_default_site_type->m_field_name = field_name; + n_default_site_type->m_df_type = DF_Type::world_site_type; + n_default_site_type->m_rdf_type = RDF_Type::Enum; + n_default_site_type->m_node_type = NodeType::Enum; + n_default_site_type->m_base_type = DF_Type::int32_t; + n_default_site_type->m_enum_type = "world_site_type"; + n_default_site_type->m_address = base + offset; + n_default_site_type->m_defined_in = "df.world-site.xml"; + n_default_site_type->m_first_value = 0; + n_default_site_type->m_last_value = 10; + n_default_site_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_default_site_type); + + field_name = "likes_site"; + auto n_likes_site = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); + n_likes_site->m_field_name = field_name; + n_likes_site->m_df_type = DF_Type::int8_t; + n_likes_site->m_rdf_type = RDF_Type::Array; + n_likes_site->m_node_type = NodeType::Array; + n_likes_site->m_index_enum = DF_Type::site_type; + n_likes_site->m_addornements = "[11"; + n_likes_site->m_array_size = 11; + n_likes_site->m_address = base + offset; + n_likes_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_likes_site); + + field_name = "tolerates_site"; + auto n_tolerates_site = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); + n_tolerates_site->m_field_name = field_name; + n_tolerates_site->m_df_type = DF_Type::int8_t; + n_tolerates_site->m_rdf_type = RDF_Type::Array; + n_tolerates_site->m_node_type = NodeType::Array; + n_tolerates_site->m_index_enum = DF_Type::site_type; + n_tolerates_site->m_addornements = "[11"; + n_tolerates_site->m_array_size = 11; + n_tolerates_site->m_address = base + offset; + n_tolerates_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tolerates_site); + + field_name = "biome_support"; + auto n_biome_support = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); + n_biome_support->m_field_name = field_name; + n_biome_support->m_df_type = DF_Type::int32_t; + n_biome_support->m_rdf_type = RDF_Type::Array; + n_biome_support->m_node_type = NodeType::Array; + n_biome_support->m_index_enum = DF_Type::biome_type; + n_biome_support->m_addornements = "[51"; + n_biome_support->m_array_size = 51; + n_biome_support->m_address = base + offset; + n_biome_support->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_biome_support); + + field_name = "start_biome"; + auto n_start_biome = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); + n_start_biome->m_field_name = field_name; + n_start_biome->m_df_type = DF_Type::int8_t; + n_start_biome->m_rdf_type = RDF_Type::Array; + n_start_biome->m_node_type = NodeType::Array; + n_start_biome->m_index_enum = DF_Type::biome_type; + n_start_biome->m_addornements = "[51"; + n_start_biome->m_array_size = 51; + n_start_biome->m_address = base + offset; + n_start_biome->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_start_biome); + + field_name = "settlement_biome"; + auto n_settlement_biome = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); + n_settlement_biome->m_field_name = field_name; + n_settlement_biome->m_df_type = DF_Type::int8_t; + n_settlement_biome->m_rdf_type = RDF_Type::Array; + n_settlement_biome->m_node_type = NodeType::Array; + n_settlement_biome->m_index_enum = DF_Type::biome_type; + n_settlement_biome->m_addornements = "[51"; + n_settlement_biome->m_array_size = 51; + n_settlement_biome->m_address = base + offset; + n_settlement_biome->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_settlement_biome); + + field_name = "active_season"; + auto n_active_season = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); + n_active_season->m_field_name = field_name; + n_active_season->m_df_type = DF_Type::int8_t; + n_active_season->m_rdf_type = RDF_Type::Array; + n_active_season->m_node_type = NodeType::Array; + n_active_season->m_addornements = "[4"; + n_active_season->m_array_size = 4; + n_active_season->m_address = base + offset; + n_active_season->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_active_season); + + field_name = "progress_trigger"; + auto n_progress_trigger = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); + n_progress_trigger->m_field_name = field_name; + n_progress_trigger->m_df_type = DF_Type::entity_raw__T_progress_trigger; + n_progress_trigger->m_rdf_type = RDF_Type::Compound; + n_progress_trigger->m_node_type = NodeType::Compound; + n_progress_trigger->m_address = base + offset; + n_progress_trigger->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_progress_trigger); + + field_name = "ethic"; + auto n_ethic = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); + n_ethic->m_field_name = field_name; + n_ethic->m_df_type = DF_Type::ethic_response; + n_ethic->m_rdf_type = RDF_Type::Array; + n_ethic->m_node_type = NodeType::Array; + n_ethic->m_index_enum = DF_Type::ethic_type; + n_ethic->m_enum_base = DF_Type::int16_t; + n_ethic->m_defined_in = "df.entity-raws.xml"; + n_ethic->m_addornements = "[22"; + n_ethic->m_array_size = 22; + n_ethic->m_address = base + offset; + n_ethic->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ethic); + + field_name = "values"; + auto n_values = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); + n_values->m_field_name = field_name; + n_values->m_df_type = DF_Type::int32_t; + n_values->m_rdf_type = RDF_Type::Array; + n_values->m_node_type = NodeType::Array; + n_values->m_index_enum = DF_Type::value_type; + n_values->m_addornements = "[64"; + n_values->m_array_size = 64; + n_values->m_address = base + offset; + n_values->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_values); + + field_name = "variable_value_min"; + auto n_variable_value_min = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); + n_variable_value_min->m_field_name = field_name; + n_variable_value_min->m_df_type = DF_Type::int32_t; + n_variable_value_min->m_rdf_type = RDF_Type::Array; + n_variable_value_min->m_node_type = NodeType::Array; + n_variable_value_min->m_index_enum = DF_Type::value_type; + n_variable_value_min->m_addornements = "[64"; + n_variable_value_min->m_array_size = 64; + n_variable_value_min->m_address = base + offset; + n_variable_value_min->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_variable_value_min); + + field_name = "variable_value_max"; + auto n_variable_value_max = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); + n_variable_value_max->m_field_name = field_name; + n_variable_value_max->m_df_type = DF_Type::int32_t; + n_variable_value_max->m_rdf_type = RDF_Type::Array; + n_variable_value_max->m_node_type = NodeType::Array; + n_variable_value_max->m_index_enum = DF_Type::value_type; + n_variable_value_max->m_addornements = "[64"; + n_variable_value_max->m_array_size = 64; + n_variable_value_max->m_address = base + offset; + n_variable_value_max->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_variable_value_max); + + field_name = "scholar"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); + auto n_scholar = new NodeBitfield; + n_scholar->m_field_name = field_name; + n_scholar->m_df_type = DF_Type::entity_raw__T_scholar; + n_scholar->m_rdf_type = RDF_Type::Bitfield; + n_scholar->m_node_type = NodeType::Bitfield; + n_scholar->m_address = base + offset; + n_scholar->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_scholar); + + field_name = "max_site_pop_number"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); + auto n_max_site_pop_number = new NodeSimple; + n_max_site_pop_number->m_field_name = field_name; + n_max_site_pop_number->m_df_type = DF_Type::int32_t; + n_max_site_pop_number->m_rdf_type = RDF_Type::int32_t; + n_max_site_pop_number->m_node_type = NodeType::Simple; + n_max_site_pop_number->m_address = base + offset; + n_max_site_pop_number->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_max_site_pop_number); + + field_name = "max_pop_number"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); + auto n_max_pop_number = new NodeSimple; + n_max_pop_number->m_field_name = field_name; + n_max_pop_number->m_df_type = DF_Type::int32_t; + n_max_pop_number->m_rdf_type = RDF_Type::int32_t; + n_max_pop_number->m_node_type = NodeType::Simple; + n_max_pop_number->m_address = base + offset; + n_max_pop_number->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_max_pop_number); + + field_name = "max_starting_civ_number"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); + auto n_max_starting_civ_number = new NodeSimple; + n_max_starting_civ_number->m_field_name = field_name; + n_max_starting_civ_number->m_df_type = DF_Type::int32_t; + n_max_starting_civ_number->m_rdf_type = RDF_Type::int32_t; + n_max_starting_civ_number->m_node_type = NodeType::Simple; + n_max_starting_civ_number->m_address = base + offset; + n_max_starting_civ_number->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_max_starting_civ_number); + + field_name = "religion"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); + auto n_religion = new NodeVector; + n_religion->m_field_name = field_name; + n_religion->m_df_type = DF_Type::int16_t; + n_religion->m_rdf_type = RDF_Type::Vector; + n_religion->m_node_type = NodeType::Vector; + n_religion->m_addornements = "v"; + n_religion->m_address = base + offset; + n_religion->m_parent = p_node_parent; + n_religion->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_religion); + + field_name = "religion_sphere"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); + auto n_religion_sphere = new NodeVector; + n_religion_sphere->m_field_name = field_name; + n_religion_sphere->m_df_type = DF_Type::sphere_type; + n_religion_sphere->m_rdf_type = RDF_Type::Vector; + n_religion_sphere->m_node_type = NodeType::Vector; + n_religion_sphere->m_enum_base = DF_Type::int16_t; + n_religion_sphere->m_defined_in = "df.language.xml"; + n_religion_sphere->m_addornements = "v"; + n_religion_sphere->m_address = base + offset; + n_religion_sphere->m_parent = p_node_parent; + n_religion_sphere->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_religion_sphere); + + field_name = "jobs"; + auto n_jobs = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); + n_jobs->m_field_name = field_name; + n_jobs->m_df_type = DF_Type::entity_raw__T_jobs; + n_jobs->m_rdf_type = RDF_Type::Compound; + n_jobs->m_node_type = NodeType::Compound; + n_jobs->m_address = base + offset; + n_jobs->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_jobs); + + field_name = "positions"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); + auto n_positions = new NodeVector; + n_positions->m_field_name = field_name; + n_positions->m_df_type = DF_Type::entity_position_raw; + n_positions->m_rdf_type = RDF_Type::Vector; + n_positions->m_node_type = NodeType::Vector; + n_positions->m_defined_in = "df.entity-raws.xml"; + n_positions->m_addornements = "v*"; + n_positions->m_address = base + offset; + n_positions->m_parent = p_node_parent; + n_positions->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_positions); + + field_name = "variable_positions"; + auto n_variable_positions = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); + n_variable_positions->m_field_name = field_name; + n_variable_positions->m_df_type = DF_Type::int8_t; + n_variable_positions->m_rdf_type = RDF_Type::Array; + n_variable_positions->m_node_type = NodeType::Array; + n_variable_positions->m_index_enum = DF_Type::entity_position_responsibility; + n_variable_positions->m_addornements = "[25"; + n_variable_positions->m_array_size = 25; + n_variable_positions->m_address = base + offset; + n_variable_positions->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_variable_positions); + + field_name = "site_variable_positions"; + auto n_site_variable_positions = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); + n_site_variable_positions->m_field_name = field_name; + n_site_variable_positions->m_df_type = DF_Type::int8_t; + n_site_variable_positions->m_rdf_type = RDF_Type::Array; + n_site_variable_positions->m_node_type = NodeType::Array; + n_site_variable_positions->m_index_enum = DF_Type::entity_position_responsibility; + n_site_variable_positions->m_addornements = "[25"; + n_site_variable_positions->m_array_size = 25; + n_site_variable_positions->m_address = base + offset; + n_site_variable_positions->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_variable_positions); + + field_name = "tissue_styles"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); + auto n_tissue_styles = new NodeVector; + n_tissue_styles->m_field_name = field_name; + n_tissue_styles->m_df_type = DF_Type::entity_raw__T_tissue_styles; + n_tissue_styles->m_rdf_type = RDF_Type::Vector; + n_tissue_styles->m_node_type = NodeType::Vector; + n_tissue_styles->m_addornements = "v*"; + n_tissue_styles->m_address = base + offset; + n_tissue_styles->m_parent = p_node_parent; + n_tissue_styles->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_tissue_styles); + + field_name = "workshops"; + auto n_workshops = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); + n_workshops->m_field_name = field_name; + n_workshops->m_df_type = DF_Type::entity_raw__T_workshops; + n_workshops->m_rdf_type = RDF_Type::Compound; + n_workshops->m_node_type = NodeType::Compound; + n_workshops->m_address = base + offset; + n_workshops->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_workshops); + + field_name = "land_holder_trigger"; + auto n_land_holder_trigger = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); + n_land_holder_trigger->m_field_name = field_name; + n_land_holder_trigger->m_df_type = DF_Type::entity_raw__T_land_holder_trigger; + n_land_holder_trigger->m_rdf_type = RDF_Type::Compound; + n_land_holder_trigger->m_node_type = NodeType::Compound; + n_land_holder_trigger->m_address = base + offset; + n_land_holder_trigger->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_land_holder_trigger); + + field_name = "banditry"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); + auto n_banditry = new NodeSimple; + n_banditry->m_field_name = field_name; + n_banditry->m_df_type = DF_Type::int32_t; + n_banditry->m_rdf_type = RDF_Type::int32_t; + n_banditry->m_node_type = NodeType::Simple; + n_banditry->m_address = base + offset; + n_banditry->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_banditry); + + field_name = "gem_shapes_str"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); + auto n_gem_shapes_str = new NodeVector; + n_gem_shapes_str->m_field_name = field_name; + n_gem_shapes_str->m_df_type = DF_Type::Stl_string; + n_gem_shapes_str->m_rdf_type = RDF_Type::Vector; + n_gem_shapes_str->m_node_type = NodeType::Vector; + n_gem_shapes_str->m_addornements = "v*"; + n_gem_shapes_str->m_address = base + offset; + n_gem_shapes_str->m_parent = p_node_parent; + n_gem_shapes_str->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_gem_shapes_str); + + field_name = "stone_shapes_str"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); + auto n_stone_shapes_str = new NodeVector; + n_stone_shapes_str->m_field_name = field_name; + n_stone_shapes_str->m_df_type = DF_Type::Stl_string; + n_stone_shapes_str->m_rdf_type = RDF_Type::Vector; + n_stone_shapes_str->m_node_type = NodeType::Vector; + n_stone_shapes_str->m_addornements = "v*"; + n_stone_shapes_str->m_address = base + offset; + n_stone_shapes_str->m_parent = p_node_parent; + n_stone_shapes_str->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_stone_shapes_str); + + field_name = "gem_shapes"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); + auto n_gem_shapes = new NodeVector; + n_gem_shapes->m_field_name = field_name; + n_gem_shapes->m_df_type = DF_Type::int32_t; + n_gem_shapes->m_rdf_type = RDF_Type::Vector; + n_gem_shapes->m_node_type = NodeType::Vector; + n_gem_shapes->m_addornements = "v"; + n_gem_shapes->m_address = base + offset; + n_gem_shapes->m_parent = p_node_parent; + n_gem_shapes->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_gem_shapes); + + field_name = "stone_shapes"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); + auto n_stone_shapes = new NodeVector; + n_stone_shapes->m_field_name = field_name; + n_stone_shapes->m_df_type = DF_Type::int32_t; + n_stone_shapes->m_rdf_type = RDF_Type::Vector; + n_stone_shapes->m_node_type = NodeType::Vector; + n_stone_shapes->m_addornements = "v"; + n_stone_shapes->m_address = base + offset; + n_stone_shapes->m_parent = p_node_parent; + n_stone_shapes->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_stone_shapes); + + field_name = "source_hfid"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); + auto n_source_hfid = new NodeSimple; + n_source_hfid->m_field_name = field_name; + n_source_hfid->m_df_type = DF_Type::int32_t; + n_source_hfid->m_rdf_type = RDF_Type::int32_t; + n_source_hfid->m_node_type = NodeType::Simple; + n_source_hfid->m_address = base + offset; + n_source_hfid->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_source_hfid); + + field_name = "unk_v4201_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); + auto n_unk_v4201_1 = new NodeSimple; + n_unk_v4201_1->m_field_name = field_name; + n_unk_v4201_1->m_df_type = DF_Type::int32_t; + n_unk_v4201_1->m_rdf_type = RDF_Type::int32_t; + n_unk_v4201_1->m_node_type = NodeType::Simple; + n_unk_v4201_1->m_address = base + offset; + n_unk_v4201_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v4201_1); + + field_name = "currency_str1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); + auto n_currency_str1 = new NodeVector; + n_currency_str1->m_field_name = field_name; + n_currency_str1->m_df_type = DF_Type::Stl_string; + n_currency_str1->m_rdf_type = RDF_Type::Vector; + n_currency_str1->m_node_type = NodeType::Vector; + n_currency_str1->m_addornements = "v*"; + n_currency_str1->m_address = base + offset; + n_currency_str1->m_parent = p_node_parent; + n_currency_str1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_currency_str1); + + field_name = "currency_str2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); + auto n_currency_str2 = new NodeVector; + n_currency_str2->m_field_name = field_name; + n_currency_str2->m_df_type = DF_Type::Stl_string; + n_currency_str2->m_rdf_type = RDF_Type::Vector; + n_currency_str2->m_node_type = NodeType::Vector; + n_currency_str2->m_addornements = "v*"; + n_currency_str2->m_address = base + offset; + n_currency_str2->m_parent = p_node_parent; + n_currency_str2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_currency_str2); + + field_name = "animal"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_raw, field_name)); + auto n_animal = new NodeVector; + n_animal->m_field_name = field_name; + n_animal->m_df_type = DF_Type::entity_animal_raw; + n_animal->m_rdf_type = RDF_Type::Vector; + n_animal->m_node_type = NodeType::Vector; + n_animal->m_defined_in = "df.entity-raws.xml"; + n_animal->m_addornements = "v*"; + n_animal->m_address = base + offset; + n_animal->m_parent = p_node_parent; + n_animal->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_animal); + +} +void node_from_entity_population_unk4__T_anon_1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_population_unk4__T_anon_1, field_name)); + auto n_idx = new NodeSimple; + n_idx->m_field_name = field_name; + n_idx->m_df_type = DF_Type::int32_t; + n_idx->m_rdf_type = RDF_Type::int32_t; + n_idx->m_node_type = NodeType::Simple; + n_idx->m_address = base + offset; + n_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_idx); + + field_name = "unk1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_population_unk4__T_anon_1, field_name)); + auto n_unk1 = new NodeSimple; + n_unk1->m_field_name = field_name; + n_unk1->m_df_type = DF_Type::int32_t; + n_unk1->m_rdf_type = RDF_Type::int32_t; + n_unk1->m_node_type = NodeType::Simple; + n_unk1->m_address = base + offset; + n_unk1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk1); + + field_name = "unk2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_population_unk4__T_anon_1, field_name)); + auto n_unk2 = new NodeSimple; + n_unk2->m_field_name = field_name; + n_unk2->m_df_type = DF_Type::int32_t; + n_unk2->m_rdf_type = RDF_Type::int32_t; + n_unk2->m_node_type = NodeType::Simple; + n_unk2->m_address = base + offset; + n_unk2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk2); + +} +void node_from_entity_population_unk4__T_anon_3(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_population_unk4__T_anon_3, field_name)); + auto n_idx = new NodeSimple; + n_idx->m_field_name = field_name; + n_idx->m_df_type = DF_Type::int32_t; + n_idx->m_rdf_type = RDF_Type::int32_t; + n_idx->m_node_type = NodeType::Simple; + n_idx->m_address = base + offset; + n_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_idx); + + field_name = "unk1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_population_unk4__T_anon_3, field_name)); + auto n_unk1 = new NodeSimple; + n_unk1->m_field_name = field_name; + n_unk1->m_df_type = DF_Type::int32_t; + n_unk1->m_rdf_type = RDF_Type::int32_t; + n_unk1->m_node_type = NodeType::Simple; + n_unk1->m_address = base + offset; + n_unk1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk1); + +} +void node_from_entity_population_unk4(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_population_unk4, field_name)); + auto n_anon_1 = new NodeVector; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::entity_population_unk4__T_anon_1; + n_anon_1->m_rdf_type = RDF_Type::Vector; + n_anon_1->m_node_type = NodeType::Vector; + n_anon_1->m_addornements = "v*"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_population_unk4, field_name)); + auto n_anon_2 = new NodeVector; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::Void; + n_anon_2->m_rdf_type = RDF_Type::Vector; + n_anon_2->m_node_type = NodeType::Vector; + n_anon_2->m_addornements = "v"; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + n_anon_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_population_unk4, field_name)); + auto n_anon_3 = new NodeVector; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::entity_population_unk4__T_anon_3; + n_anon_3->m_rdf_type = RDF_Type::Vector; + n_anon_3->m_node_type = NodeType::Vector; + n_anon_3->m_addornements = "v*"; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + n_anon_3->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_3); + +} +void node_from_entity_population(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "name"; + auto n_name = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_population, field_name)); + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::language_name; + n_name->m_rdf_type = RDF_Type::Struct; + n_name->m_node_type = NodeType::Compound; + n_name->m_address = base + offset; + n_name->m_defined_in = "df.language.xml"; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "races"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_population, field_name)); + auto n_races = new NodeVector; + n_races->m_field_name = field_name; + n_races->m_df_type = DF_Type::int16_t; + n_races->m_rdf_type = RDF_Type::Vector; + n_races->m_node_type = NodeType::Vector; + n_races->m_addornements = "v"; + n_races->m_address = base + offset; + n_races->m_parent = p_node_parent; + n_races->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_races); + + field_name = "counts"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_population, field_name)); + auto n_counts = new NodeVector; + n_counts->m_field_name = field_name; + n_counts->m_df_type = DF_Type::int32_t; + n_counts->m_rdf_type = RDF_Type::Vector; + n_counts->m_node_type = NodeType::Vector; + n_counts->m_addornements = "v"; + n_counts->m_address = base + offset; + n_counts->m_parent = p_node_parent; + n_counts->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_counts); + + field_name = "unk3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_population, field_name)); + auto n_unk3 = new NodeVector; + n_unk3->m_field_name = field_name; + n_unk3->m_df_type = DF_Type::int32_t; + n_unk3->m_rdf_type = RDF_Type::Vector; + n_unk3->m_node_type = NodeType::Vector; + n_unk3->m_addornements = "v"; + n_unk3->m_address = base + offset; + n_unk3->m_parent = p_node_parent; + n_unk3->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk3); + + field_name = "unk4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_population, field_name)); + auto n_unk4 = new NodeVector; + n_unk4->m_field_name = field_name; + n_unk4->m_df_type = DF_Type::entity_population_unk4; + n_unk4->m_rdf_type = RDF_Type::Vector; + n_unk4->m_node_type = NodeType::Vector; + n_unk4->m_defined_in = "df.legends.xml"; + n_unk4->m_addornements = "v*"; + n_unk4->m_address = base + offset; + n_unk4->m_parent = p_node_parent; + n_unk4->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk4); + + field_name = "unk5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_population, field_name)); + auto n_unk5 = new NodeSimple; + n_unk5->m_field_name = field_name; + n_unk5->m_df_type = DF_Type::int32_t; + n_unk5->m_rdf_type = RDF_Type::int32_t; + n_unk5->m_node_type = NodeType::Simple; + n_unk5->m_address = base + offset; + n_unk5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk5); + + field_name = "unk6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_population, field_name)); + auto n_unk6 = new NodeSimple; + n_unk6->m_field_name = field_name; + n_unk6->m_df_type = DF_Type::int32_t; + n_unk6->m_rdf_type = RDF_Type::int32_t; + n_unk6->m_node_type = NodeType::Simple; + n_unk6->m_address = base + offset; + n_unk6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk6); + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_population, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_population, field_name)); + auto n_flags = new NodeSimple; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::int32_t; + n_flags->m_rdf_type = RDF_Type::int32_t; + n_flags->m_node_type = NodeType::Simple; + n_flags->m_address = base + offset; + n_flags->m_comment = "?; unk6 == -1"; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "civ_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_population, field_name)); + auto n_civ_id = new NodeSimple; + n_civ_id->m_field_name = field_name; + n_civ_id->m_df_type = DF_Type::int32_t; + n_civ_id->m_rdf_type = RDF_Type::int32_t; + n_civ_id->m_node_type = NodeType::Simple; + n_civ_id->m_address = base + offset; + n_civ_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_civ_id); + +} +void node_from_nemesis_record(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::nemesis_record, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_comment = "sequential index in the array"; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "unit_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::nemesis_record, field_name)); + auto n_unit_id = new NodeSimple; + n_unit_id->m_field_name = field_name; + n_unit_id->m_df_type = DF_Type::int32_t; + n_unit_id->m_rdf_type = RDF_Type::int32_t; + n_unit_id->m_node_type = NodeType::Simple; + n_unit_id->m_address = base + offset; + n_unit_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unit_id); + + field_name = "save_file_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::nemesis_record, field_name)); + auto n_save_file_id = new NodeSimple; + n_save_file_id->m_field_name = field_name; + n_save_file_id->m_df_type = DF_Type::int32_t; + n_save_file_id->m_rdf_type = RDF_Type::int32_t; + n_save_file_id->m_node_type = NodeType::Simple; + n_save_file_id->m_address = base + offset; + n_save_file_id->m_comment = "unit-*.dat"; + n_save_file_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_save_file_id); + + field_name = "member_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::nemesis_record, field_name)); + auto n_member_idx = new NodeSimple; + n_member_idx->m_field_name = field_name; + n_member_idx->m_df_type = DF_Type::int16_t; + n_member_idx->m_rdf_type = RDF_Type::int16_t; + n_member_idx->m_node_type = NodeType::Simple; + n_member_idx->m_address = base + offset; + n_member_idx->m_comment = "index in the file"; + n_member_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_member_idx); + + field_name = "figure"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::nemesis_record, field_name)); + auto n_figure = new NodePointer; + n_figure->m_field_name = field_name; + n_figure->m_df_type = get_real_subtype(base+offset, DF_Type::historical_figure); + n_figure->m_rdf_type = RDF_Type::Pointer; + n_figure->m_node_type = NodeType::Pointer; + n_figure->m_addornements = "*"; + n_figure->m_address = base + offset; + n_figure->m_parent = p_node_parent; + n_figure->m_defined_in = "df.history.xml"; + n_figure->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_figure); + + field_name = "unit"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::nemesis_record, field_name)); + auto n_unit = new NodePointer; + n_unit->m_field_name = field_name; + n_unit->m_df_type = get_real_subtype(base+offset, DF_Type::unit); + n_unit->m_rdf_type = RDF_Type::Pointer; + n_unit->m_node_type = NodeType::Pointer; + n_unit->m_addornements = "*"; + n_unit->m_address = base + offset; + n_unit->m_parent = p_node_parent; + n_unit->m_defined_in = "df.units.xml"; + n_unit->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unit); + + field_name = "group_leader_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::nemesis_record, field_name)); + auto n_group_leader_id = new NodeSimple; + n_group_leader_id->m_field_name = field_name; + n_group_leader_id->m_df_type = DF_Type::int32_t; + n_group_leader_id->m_rdf_type = RDF_Type::int32_t; + n_group_leader_id->m_node_type = NodeType::Simple; + n_group_leader_id->m_address = base + offset; + n_group_leader_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_group_leader_id); + + field_name = "companions"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::nemesis_record, field_name)); + auto n_companions = new NodeVector; + n_companions->m_field_name = field_name; + n_companions->m_df_type = DF_Type::int32_t; + n_companions->m_rdf_type = RDF_Type::Vector; + n_companions->m_node_type = NodeType::Vector; + n_companions->m_addornements = "v"; + n_companions->m_address = base + offset; + n_companions->m_parent = p_node_parent; + n_companions->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_companions); + + field_name = "unk10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::nemesis_record, field_name)); + auto n_unk10 = new NodeSimple; + n_unk10->m_field_name = field_name; + n_unk10->m_df_type = DF_Type::int16_t; + n_unk10->m_rdf_type = RDF_Type::int16_t; + n_unk10->m_node_type = NodeType::Simple; + n_unk10->m_address = base + offset; + n_unk10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk10); + + field_name = "unk11"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::nemesis_record, field_name)); + auto n_unk11 = new NodeSimple; + n_unk11->m_field_name = field_name; + n_unk11->m_df_type = DF_Type::int32_t; + n_unk11->m_rdf_type = RDF_Type::int32_t; + n_unk11->m_node_type = NodeType::Simple; + n_unk11->m_address = base + offset; + n_unk11->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk11); + + field_name = "unk12"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::nemesis_record, field_name)); + auto n_unk12 = new NodeSimple; + n_unk12->m_field_name = field_name; + n_unk12->m_df_type = DF_Type::int32_t; + n_unk12->m_rdf_type = RDF_Type::int32_t; + n_unk12->m_node_type = NodeType::Simple; + n_unk12->m_address = base + offset; + n_unk12->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk12); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::nemesis_record, field_name)); + auto n_flags = new NodeDFFlagArray; + n_flags->m_field_name = field_name; + n_flags->m_index_enum = DF_Type::nemesis_flags; + n_flags->m_df_type = DF_Type::nemesis_flags; + n_flags->m_size = 3; + n_flags->m_rdf_type = RDF_Type::DFFlagArray; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_defined_in = "df.legends.xml"; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + +} +void node_from_artifact_record(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::artifact_record, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "name"; + auto n_name = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::artifact_record, field_name)); + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::language_name; + n_name->m_rdf_type = RDF_Type::Struct; + n_name->m_node_type = NodeType::Compound; + n_name->m_address = base + offset; + n_name->m_defined_in = "df.language.xml"; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::artifact_record, field_name)); + auto n_flags = new NodeDFFlagArray; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::int32_t; + n_flags->m_size = 32; + n_flags->m_rdf_type = RDF_Type::DFFlagArray; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "item"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::artifact_record, field_name)); + auto n_item = new NodePointer; + n_item->m_field_name = field_name; + n_item->m_df_type = get_real_subtype(base+offset, DF_Type::item); + n_item->m_rdf_type = RDF_Type::Pointer; + n_item->m_node_type = NodeType::Pointer; + n_item->m_addornements = "*"; + n_item->m_address = base + offset; + n_item->m_parent = p_node_parent; + n_item->m_defined_in = "df.items.xml"; + n_item->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_item); + + field_name = "abs_tile_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::artifact_record, field_name)); + auto n_abs_tile_x = new NodeSimple; + n_abs_tile_x->m_field_name = field_name; + n_abs_tile_x->m_df_type = DF_Type::int32_t; + n_abs_tile_x->m_rdf_type = RDF_Type::int32_t; + n_abs_tile_x->m_node_type = NodeType::Simple; + n_abs_tile_x->m_address = base + offset; + n_abs_tile_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_abs_tile_x); + + field_name = "abs_tile_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::artifact_record, field_name)); + auto n_abs_tile_y = new NodeSimple; + n_abs_tile_y->m_field_name = field_name; + n_abs_tile_y->m_df_type = DF_Type::int32_t; + n_abs_tile_y->m_rdf_type = RDF_Type::int32_t; + n_abs_tile_y->m_node_type = NodeType::Simple; + n_abs_tile_y->m_address = base + offset; + n_abs_tile_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_abs_tile_y); + + field_name = "abs_tile_z"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::artifact_record, field_name)); + auto n_abs_tile_z = new NodeSimple; + n_abs_tile_z->m_field_name = field_name; + n_abs_tile_z->m_df_type = DF_Type::int32_t; + n_abs_tile_z->m_rdf_type = RDF_Type::int32_t; + n_abs_tile_z->m_node_type = NodeType::Simple; + n_abs_tile_z->m_address = base + offset; + n_abs_tile_z->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_abs_tile_z); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::artifact_record, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::artifact_record, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "structure_local"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::artifact_record, field_name)); + auto n_structure_local = new NodeSimple; + n_structure_local->m_field_name = field_name; + n_structure_local->m_df_type = DF_Type::int32_t; + n_structure_local->m_rdf_type = RDF_Type::int32_t; + n_structure_local->m_node_type = NodeType::Simple; + n_structure_local->m_address = base + offset; + n_structure_local->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_structure_local); + + field_name = "subregion"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::artifact_record, field_name)); + auto n_subregion = new NodeSimple; + n_subregion->m_field_name = field_name; + n_subregion->m_df_type = DF_Type::int32_t; + n_subregion->m_rdf_type = RDF_Type::int32_t; + n_subregion->m_node_type = NodeType::Simple; + n_subregion->m_address = base + offset; + n_subregion->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_subregion); + + field_name = "feature_layer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::artifact_record, field_name)); + auto n_feature_layer = new NodeSimple; + n_feature_layer->m_field_name = field_name; + n_feature_layer->m_df_type = DF_Type::int32_t; + n_feature_layer->m_rdf_type = RDF_Type::int32_t; + n_feature_layer->m_node_type = NodeType::Simple; + n_feature_layer->m_address = base + offset; + n_feature_layer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_feature_layer); + + field_name = "holder_hf"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::artifact_record, field_name)); + auto n_holder_hf = new NodeSimple; + n_holder_hf->m_field_name = field_name; + n_holder_hf->m_df_type = DF_Type::int32_t; + n_holder_hf->m_rdf_type = RDF_Type::int32_t; + n_holder_hf->m_node_type = NodeType::Simple; + n_holder_hf->m_address = base + offset; + n_holder_hf->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_holder_hf); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::artifact_record, field_name)); + auto n_anon_2 = new NodeVector; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::Vector; + n_anon_2->m_node_type = NodeType::Vector; + n_anon_2->m_addornements = "v"; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + n_anon_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::artifact_record, field_name)); + auto n_anon_3 = new NodeVector; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::Vector; + n_anon_3->m_node_type = NodeType::Vector; + n_anon_3->m_addornements = "v"; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + n_anon_3->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::artifact_record, field_name)); + auto n_anon_4 = new NodeVector; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::Vector; + n_anon_4->m_node_type = NodeType::Vector; + n_anon_4->m_addornements = "v"; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + n_anon_4->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::artifact_record, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::artifact_record, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::artifact_record, field_name)); + auto n_anon_7 = new NodeSimple; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::int32_t; + n_anon_7->m_rdf_type = RDF_Type::int32_t; + n_anon_7->m_node_type = NodeType::Simple; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_7); + + field_name = "anon_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::artifact_record, field_name)); + auto n_anon_8 = new NodeSimple; + n_anon_8->m_field_name = field_name; + n_anon_8->m_df_type = DF_Type::int32_t; + n_anon_8->m_rdf_type = RDF_Type::int32_t; + n_anon_8->m_node_type = NodeType::Simple; + n_anon_8->m_address = base + offset; + n_anon_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_8); + + field_name = "anon_9"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::artifact_record, field_name)); + auto n_anon_9 = new NodeSimple; + n_anon_9->m_field_name = field_name; + n_anon_9->m_df_type = DF_Type::int32_t; + n_anon_9->m_rdf_type = RDF_Type::int32_t; + n_anon_9->m_node_type = NodeType::Simple; + n_anon_9->m_address = base + offset; + n_anon_9->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_9); + + field_name = "anon_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::artifact_record, field_name)); + auto n_anon_10 = new NodeSimple; + n_anon_10->m_field_name = field_name; + n_anon_10->m_df_type = DF_Type::int32_t; + n_anon_10->m_rdf_type = RDF_Type::int32_t; + n_anon_10->m_node_type = NodeType::Simple; + n_anon_10->m_address = base + offset; + n_anon_10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_10); + + field_name = "anon_11"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::artifact_record, field_name)); + auto n_anon_11 = new NodeSimple; + n_anon_11->m_field_name = field_name; + n_anon_11->m_df_type = DF_Type::int32_t; + n_anon_11->m_rdf_type = RDF_Type::int32_t; + n_anon_11->m_node_type = NodeType::Simple; + n_anon_11->m_address = base + offset; + n_anon_11->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_11); + + field_name = "anon_12"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::artifact_record, field_name)); + auto n_anon_12 = new NodeSimple; + n_anon_12->m_field_name = field_name; + n_anon_12->m_df_type = DF_Type::int32_t; + n_anon_12->m_rdf_type = RDF_Type::int32_t; + n_anon_12->m_node_type = NodeType::Simple; + n_anon_12->m_address = base + offset; + n_anon_12->m_comment = "unused?"; + n_anon_12->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_12); + +} +void node_from_machine_tile_set(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "tiles"; + auto n_tiles = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::machine_tile_set, field_name)); + n_tiles->m_field_name = field_name; + n_tiles->m_df_type = DF_Type::coord_path; + n_tiles->m_rdf_type = RDF_Type::Struct; + n_tiles->m_node_type = NodeType::Compound; + n_tiles->m_address = base + offset; + n_tiles->m_defined_in = "df.map.xml"; + n_tiles->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tiles); + + field_name = "can_connect"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::machine_tile_set, field_name)); + auto n_can_connect = new NodeVector; + n_can_connect->m_field_name = field_name; + n_can_connect->m_df_type = DF_Type::machine_conn_modes; + n_can_connect->m_rdf_type = RDF_Type::Vector; + n_can_connect->m_node_type = NodeType::Vector; + n_can_connect->m_defined_in = "df.machines.xml"; + n_can_connect->m_addornements = "v"; + n_can_connect->m_address = base + offset; + n_can_connect->m_parent = p_node_parent; + n_can_connect->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_can_connect); + +} +void node_from_machine__T_components(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "building_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::machine__T_components, field_name)); + auto n_building_id = new NodeSimple; + n_building_id->m_field_name = field_name; + n_building_id->m_df_type = DF_Type::int32_t; + n_building_id->m_rdf_type = RDF_Type::int32_t; + n_building_id->m_node_type = NodeType::Simple; + n_building_id->m_address = base + offset; + n_building_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_building_id); + + field_name = "connections"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::machine__T_components, field_name)); + auto n_connections = new NodeVector; + n_connections->m_field_name = field_name; + n_connections->m_df_type = DF_Type::int32_t; + n_connections->m_rdf_type = RDF_Type::Vector; + n_connections->m_node_type = NodeType::Vector; + n_connections->m_addornements = "v"; + n_connections->m_address = base + offset; + n_connections->m_comment = "indices into the same component vector"; + n_connections->m_parent = p_node_parent; + n_connections->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_connections); + +} +void node_from_machine(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::machine, field_name)); + auto n_x = new NodeSimple; + n_x->m_field_name = field_name; + n_x->m_df_type = DF_Type::int32_t; + n_x->m_rdf_type = RDF_Type::int32_t; + n_x->m_node_type = NodeType::Simple; + n_x->m_address = base + offset; + n_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_x); + + field_name = "y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::machine, field_name)); + auto n_y = new NodeSimple; + n_y->m_field_name = field_name; + n_y->m_df_type = DF_Type::int32_t; + n_y->m_rdf_type = RDF_Type::int32_t; + n_y->m_node_type = NodeType::Simple; + n_y->m_address = base + offset; + n_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_y); + + field_name = "z"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::machine, field_name)); + auto n_z = new NodeSimple; + n_z->m_field_name = field_name; + n_z->m_df_type = DF_Type::int32_t; + n_z->m_rdf_type = RDF_Type::int32_t; + n_z->m_node_type = NodeType::Simple; + n_z->m_address = base + offset; + n_z->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_z); + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::machine, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "components"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::machine, field_name)); + auto n_components = new NodeVector; + n_components->m_field_name = field_name; + n_components->m_df_type = DF_Type::machine__T_components; + n_components->m_rdf_type = RDF_Type::Vector; + n_components->m_node_type = NodeType::Vector; + n_components->m_addornements = "v*"; + n_components->m_address = base + offset; + n_components->m_parent = p_node_parent; + n_components->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_components); + + field_name = "cur_power"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::machine, field_name)); + auto n_cur_power = new NodeSimple; + n_cur_power->m_field_name = field_name; + n_cur_power->m_df_type = DF_Type::int32_t; + n_cur_power->m_rdf_type = RDF_Type::int32_t; + n_cur_power->m_node_type = NodeType::Simple; + n_cur_power->m_address = base + offset; + n_cur_power->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cur_power); + + field_name = "min_power"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::machine, field_name)); + auto n_min_power = new NodeSimple; + n_min_power->m_field_name = field_name; + n_min_power->m_df_type = DF_Type::int32_t; + n_min_power->m_rdf_type = RDF_Type::int32_t; + n_min_power->m_node_type = NodeType::Simple; + n_min_power->m_address = base + offset; + n_min_power->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_min_power); + + field_name = "visual_phase"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::machine, field_name)); + auto n_visual_phase = new NodeSimple; + n_visual_phase->m_field_name = field_name; + n_visual_phase->m_df_type = DF_Type::int8_t; + n_visual_phase->m_rdf_type = RDF_Type::int8_t; + n_visual_phase->m_node_type = NodeType::Simple; + n_visual_phase->m_address = base + offset; + n_visual_phase->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_visual_phase); + + field_name = "phase_timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::machine, field_name)); + auto n_phase_timer = new NodeSimple; + n_phase_timer->m_field_name = field_name; + n_phase_timer->m_df_type = DF_Type::int16_t; + n_phase_timer->m_rdf_type = RDF_Type::int16_t; + n_phase_timer->m_node_type = NodeType::Simple; + n_phase_timer->m_address = base + offset; + n_phase_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_phase_timer); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::machine, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::machine__T_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + +} +void node_from_machine_standardst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::machine; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_machine(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_building_axle_horizontalst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::building_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_building_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "machine"; + auto n_machine = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_axle_horizontalst, field_name)); + n_machine->m_field_name = field_name; + n_machine->m_df_type = DF_Type::machine_info; + n_machine->m_rdf_type = RDF_Type::Struct; + n_machine->m_node_type = NodeType::Compound; + n_machine->m_address = base + offset; + n_machine->m_defined_in = "df.machines.xml"; + n_machine->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_machine); + + field_name = "is_vertical"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_axle_horizontalst, field_name)); + auto n_is_vertical = new NodeSimple; + n_is_vertical->m_field_name = field_name; + n_is_vertical->m_df_type = DF_Type::Bool; + n_is_vertical->m_rdf_type = RDF_Type::Bool; + n_is_vertical->m_node_type = NodeType::Simple; + n_is_vertical->m_address = base + offset; + n_is_vertical->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_is_vertical); + +} +void node_from_building_axle_verticalst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::building_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_building_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "machine"; + auto n_machine = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_axle_verticalst, field_name)); + n_machine->m_field_name = field_name; + n_machine->m_df_type = DF_Type::machine_info; + n_machine->m_rdf_type = RDF_Type::Struct; + n_machine->m_node_type = NodeType::Compound; + n_machine->m_address = base + offset; + n_machine->m_defined_in = "df.machines.xml"; + n_machine->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_machine); + +} +void node_from_building_gear_assemblyst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::building_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_building_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "machine"; + auto n_machine = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_gear_assemblyst, field_name)); + n_machine->m_field_name = field_name; + n_machine->m_df_type = DF_Type::machine_info; + n_machine->m_rdf_type = RDF_Type::Struct; + n_machine->m_node_type = NodeType::Compound; + n_machine->m_address = base + offset; + n_machine->m_defined_in = "df.machines.xml"; + n_machine->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_machine); + + field_name = "gear_flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_gear_assemblyst, field_name)); + auto n_gear_flags = new NodeBitfield; + n_gear_flags->m_field_name = field_name; + n_gear_flags->m_df_type = DF_Type::building_gear_assemblyst__T_gear_flags; + n_gear_flags->m_rdf_type = RDF_Type::Bitfield; + n_gear_flags->m_node_type = NodeType::Bitfield; + n_gear_flags->m_address = base + offset; + n_gear_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_gear_flags); + +} +void node_from_building_windmillst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::building_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_building_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "machine"; + auto n_machine = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_windmillst, field_name)); + n_machine->m_field_name = field_name; + n_machine->m_df_type = DF_Type::machine_info; + n_machine->m_rdf_type = RDF_Type::Struct; + n_machine->m_node_type = NodeType::Compound; + n_machine->m_address = base + offset; + n_machine->m_defined_in = "df.machines.xml"; + n_machine->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_machine); + + field_name = "orient_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_windmillst, field_name)); + auto n_orient_x = new NodeSimple; + n_orient_x->m_field_name = field_name; + n_orient_x->m_df_type = DF_Type::int16_t; + n_orient_x->m_rdf_type = RDF_Type::int16_t; + n_orient_x->m_node_type = NodeType::Simple; + n_orient_x->m_address = base + offset; + n_orient_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_orient_x); + + field_name = "orient_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_windmillst, field_name)); + auto n_orient_y = new NodeSimple; + n_orient_y->m_field_name = field_name; + n_orient_y->m_df_type = DF_Type::int16_t; + n_orient_y->m_rdf_type = RDF_Type::int16_t; + n_orient_y->m_node_type = NodeType::Simple; + n_orient_y->m_address = base + offset; + n_orient_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_orient_y); + + field_name = "is_working"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_windmillst, field_name)); + auto n_is_working = new NodeSimple; + n_is_working->m_field_name = field_name; + n_is_working->m_df_type = DF_Type::int16_t; + n_is_working->m_rdf_type = RDF_Type::int16_t; + n_is_working->m_node_type = NodeType::Simple; + n_is_working->m_address = base + offset; + n_is_working->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_is_working); + + field_name = "visual_rotated"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_windmillst, field_name)); + auto n_visual_rotated = new NodeSimple; + n_visual_rotated->m_field_name = field_name; + n_visual_rotated->m_df_type = DF_Type::Bool; + n_visual_rotated->m_rdf_type = RDF_Type::Bool; + n_visual_rotated->m_node_type = NodeType::Simple; + n_visual_rotated->m_address = base + offset; + n_visual_rotated->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_visual_rotated); + + field_name = "rotate_timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_windmillst, field_name)); + auto n_rotate_timer = new NodeSimple; + n_rotate_timer->m_field_name = field_name; + n_rotate_timer->m_df_type = DF_Type::int16_t; + n_rotate_timer->m_rdf_type = RDF_Type::int16_t; + n_rotate_timer->m_node_type = NodeType::Simple; + n_rotate_timer->m_address = base + offset; + n_rotate_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rotate_timer); + + field_name = "orient_timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_windmillst, field_name)); + auto n_orient_timer = new NodeSimple; + n_orient_timer->m_field_name = field_name; + n_orient_timer->m_df_type = DF_Type::int16_t; + n_orient_timer->m_rdf_type = RDF_Type::int16_t; + n_orient_timer->m_node_type = NodeType::Simple; + n_orient_timer->m_address = base + offset; + n_orient_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_orient_timer); + +} +void node_from_building_water_wheelst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::building_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_building_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "machine"; + auto n_machine = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_water_wheelst, field_name)); + n_machine->m_field_name = field_name; + n_machine->m_df_type = DF_Type::machine_info; + n_machine->m_rdf_type = RDF_Type::Struct; + n_machine->m_node_type = NodeType::Compound; + n_machine->m_address = base + offset; + n_machine->m_defined_in = "df.machines.xml"; + n_machine->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_machine); + + field_name = "is_vertical"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_water_wheelst, field_name)); + auto n_is_vertical = new NodeSimple; + n_is_vertical->m_field_name = field_name; + n_is_vertical->m_df_type = DF_Type::Bool; + n_is_vertical->m_rdf_type = RDF_Type::Bool; + n_is_vertical->m_node_type = NodeType::Simple; + n_is_vertical->m_address = base + offset; + n_is_vertical->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_is_vertical); + + field_name = "gives_power"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_water_wheelst, field_name)); + auto n_gives_power = new NodeSimple; + n_gives_power->m_field_name = field_name; + n_gives_power->m_df_type = DF_Type::Bool; + n_gives_power->m_rdf_type = RDF_Type::Bool; + n_gives_power->m_node_type = NodeType::Simple; + n_gives_power->m_address = base + offset; + n_gives_power->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_gives_power); + +} +void node_from_building_screw_pumpst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::building_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_building_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "machine"; + auto n_machine = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_screw_pumpst, field_name)); + n_machine->m_field_name = field_name; + n_machine->m_df_type = DF_Type::machine_info; + n_machine->m_rdf_type = RDF_Type::Struct; + n_machine->m_node_type = NodeType::Compound; + n_machine->m_address = base + offset; + n_machine->m_defined_in = "df.machines.xml"; + n_machine->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_machine); + + field_name = "pump_energy"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_screw_pumpst, field_name)); + auto n_pump_energy = new NodeSimple; + n_pump_energy->m_field_name = field_name; + n_pump_energy->m_df_type = DF_Type::uint8_t; + n_pump_energy->m_rdf_type = RDF_Type::uint8_t; + n_pump_energy->m_node_type = NodeType::Simple; + n_pump_energy->m_address = base + offset; + n_pump_energy->m_comment = "decreases by 1 every frame. powering or manually pumping maintains near 100"; + n_pump_energy->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pump_energy); + + field_name = "direction"; + auto n_direction = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_screw_pumpst, field_name)); + n_direction->m_field_name = field_name; + n_direction->m_df_type = DF_Type::screw_pump_direction; + n_direction->m_rdf_type = RDF_Type::Enum; + n_direction->m_node_type = NodeType::Enum; + n_direction->m_base_type = DF_Type::int8_t; + n_direction->m_enum_type = "screw_pump_direction"; + n_direction->m_address = base + offset; + n_direction->m_defined_in = "df.machines.xml"; + n_direction->m_first_value = 0; + n_direction->m_last_value = 3; + n_direction->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_direction); + + field_name = "pump_manually"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_screw_pumpst, field_name)); + auto n_pump_manually = new NodeSimple; + n_pump_manually->m_field_name = field_name; + n_pump_manually->m_df_type = DF_Type::Bool; + n_pump_manually->m_rdf_type = RDF_Type::Bool; + n_pump_manually->m_node_type = NodeType::Simple; + n_pump_manually->m_address = base + offset; + n_pump_manually->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pump_manually); + +} +void node_from_building_rollersst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::building_actual; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_building_actual(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "machine"; + auto n_machine = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_rollersst, field_name)); + n_machine->m_field_name = field_name; + n_machine->m_df_type = DF_Type::machine_info; + n_machine->m_rdf_type = RDF_Type::Struct; + n_machine->m_node_type = NodeType::Compound; + n_machine->m_address = base + offset; + n_machine->m_defined_in = "df.machines.xml"; + n_machine->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_machine); + + field_name = "direction"; + auto n_direction = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_rollersst, field_name)); + n_direction->m_field_name = field_name; + n_direction->m_df_type = DF_Type::screw_pump_direction; + n_direction->m_rdf_type = RDF_Type::Enum; + n_direction->m_node_type = NodeType::Enum; + n_direction->m_base_type = DF_Type::int32_t; + n_direction->m_enum_type = "screw_pump_direction"; + n_direction->m_address = base + offset; + n_direction->m_defined_in = "df.machines.xml"; + n_direction->m_first_value = 0; + n_direction->m_last_value = 3; + n_direction->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_direction); + + field_name = "speed"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_rollersst, field_name)); + auto n_speed = new NodeSimple; + n_speed->m_field_name = field_name; + n_speed->m_df_type = DF_Type::int32_t; + n_speed->m_rdf_type = RDF_Type::int32_t; + n_speed->m_node_type = NodeType::Simple; + n_speed->m_address = base + offset; + n_speed->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_speed); + +} +void node_from_block_burrow(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_burrow, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "tile_bitmask"; + auto n_tile_bitmask = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_burrow, field_name)); + n_tile_bitmask->m_field_name = field_name; + n_tile_bitmask->m_df_type = DF_Type::tile_bitmask; + n_tile_bitmask->m_rdf_type = RDF_Type::Struct; + n_tile_bitmask->m_node_type = NodeType::Compound; + n_tile_bitmask->m_address = base + offset; + n_tile_bitmask->m_defined_in = "df.map.xml"; + n_tile_bitmask->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tile_bitmask); + + field_name = "link"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_burrow, field_name)); + auto n_link = new NodePointer; + n_link->m_field_name = field_name; + n_link->m_df_type = get_real_subtype(base+offset, DF_Type::block_burrow_link); + n_link->m_rdf_type = RDF_Type::Pointer; + n_link->m_node_type = NodeType::Pointer; + n_link->m_addornements = "*"; + n_link->m_address = base + offset; + n_link->m_parent = p_node_parent; + n_link->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_link); + +} +void node_from_block_burrow_link(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "item"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_burrow_link, field_name)); + auto n_item = new NodePointer; + n_item->m_field_name = field_name; + n_item->m_df_type = get_real_subtype(base+offset, DF_Type::block_burrow); + n_item->m_rdf_type = RDF_Type::Pointer; + n_item->m_node_type = NodeType::Pointer; + n_item->m_addornements = "*"; + n_item->m_address = base + offset; + n_item->m_parent = p_node_parent; + n_item->m_defined_in = "df.map.xml"; + n_item->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_item); + + field_name = "prev"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_burrow_link, field_name)); + auto n_prev = new NodePointer; + n_prev->m_field_name = field_name; + n_prev->m_df_type = get_real_subtype(base+offset, DF_Type::block_burrow_link); + n_prev->m_rdf_type = RDF_Type::Pointer; + n_prev->m_node_type = NodeType::Pointer; + n_prev->m_addornements = "*"; + n_prev->m_address = base + offset; + n_prev->m_parent = p_node_parent; + n_prev->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_prev); + + field_name = "next"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_burrow_link, field_name)); + auto n_next = new NodePointer; + n_next->m_field_name = field_name; + n_next->m_df_type = get_real_subtype(base+offset, DF_Type::block_burrow_link); + n_next->m_rdf_type = RDF_Type::Pointer; + n_next->m_node_type = NodeType::Pointer; + n_next->m_addornements = "*"; + n_next->m_address = base + offset; + n_next->m_parent = p_node_parent; + n_next->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_next); + +} +void node_from_map_block(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::block_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_defined_in = "df.map.xml"; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "block_events"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block, field_name)); + auto n_block_events = new NodeVector; + n_block_events->m_field_name = field_name; + n_block_events->m_df_type = DF_Type::block_square_event; + n_block_events->m_rdf_type = RDF_Type::Vector; + n_block_events->m_node_type = NodeType::Vector; + n_block_events->m_defined_in = "df.map.xml"; + n_block_events->m_addornements = "v*"; + n_block_events->m_address = base + offset; + n_block_events->m_parent = p_node_parent; + n_block_events->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_block_events); + + field_name = "block_burrows"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block, field_name)); + auto n_block_burrows= new NodeCompound; + n_block_burrows->m_field_name = field_name; + n_block_burrows->m_df_type = DF_Type::block_burrow_link; + n_block_burrows->m_rdf_type = RDF_Type::DFLinkedList; + n_block_burrows->m_node_type = NodeType::Compound; + n_block_burrows->m_address = base + offset; + n_block_burrows->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_block_burrows); + + field_name = "local_feature"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block, field_name)); + auto n_local_feature = new NodeSimple; + n_local_feature->m_field_name = field_name; + n_local_feature->m_df_type = DF_Type::int32_t; + n_local_feature->m_rdf_type = RDF_Type::int32_t; + n_local_feature->m_node_type = NodeType::Simple; + n_local_feature->m_address = base + offset; + n_local_feature->m_comment = "index into world_data.region_map"; + n_local_feature->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_local_feature); + + field_name = "global_feature"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block, field_name)); + auto n_global_feature = new NodeSimple; + n_global_feature->m_field_name = field_name; + n_global_feature->m_df_type = DF_Type::int32_t; + n_global_feature->m_rdf_type = RDF_Type::int32_t; + n_global_feature->m_node_type = NodeType::Simple; + n_global_feature->m_address = base + offset; + n_global_feature->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_global_feature); + + field_name = "unk2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block, field_name)); + auto n_unk2 = new NodeSimple; + n_unk2->m_field_name = field_name; + n_unk2->m_df_type = DF_Type::int32_t; + n_unk2->m_rdf_type = RDF_Type::int32_t; + n_unk2->m_node_type = NodeType::Simple; + n_unk2->m_address = base + offset; + n_unk2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk2); + + field_name = "layer_depth"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block, field_name)); + auto n_layer_depth = new NodeSimple; + n_layer_depth->m_field_name = field_name; + n_layer_depth->m_df_type = DF_Type::int16_t; + n_layer_depth->m_rdf_type = RDF_Type::int16_t; + n_layer_depth->m_node_type = NodeType::Simple; + n_layer_depth->m_address = base + offset; + n_layer_depth->m_comment = "uninitialized"; + n_layer_depth->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_layer_depth); + + field_name = "dsgn_check_cooldown"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block, field_name)); + auto n_dsgn_check_cooldown = new NodeSimple; + n_dsgn_check_cooldown->m_field_name = field_name; + n_dsgn_check_cooldown->m_df_type = DF_Type::int32_t; + n_dsgn_check_cooldown->m_rdf_type = RDF_Type::int32_t; + n_dsgn_check_cooldown->m_node_type = NodeType::Simple; + n_dsgn_check_cooldown->m_address = base + offset; + n_dsgn_check_cooldown->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dsgn_check_cooldown); + + field_name = "default_liquid"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block, field_name)); + auto n_default_liquid = new NodeBitfield; + n_default_liquid->m_field_name = field_name; + n_default_liquid->m_df_type = DF_Type::tile_designation; + n_default_liquid->m_rdf_type = RDF_Type::Bitfield; + n_default_liquid->m_node_type = NodeType::Bitfield; + n_default_liquid->m_address = base + offset; + n_default_liquid->m_defined_in = "df.map.xml"; + n_default_liquid->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_default_liquid); + + field_name = "items"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block, field_name)); + auto n_items = new NodeVector; + n_items->m_field_name = field_name; + n_items->m_df_type = DF_Type::int32_t; + n_items->m_rdf_type = RDF_Type::Vector; + n_items->m_node_type = NodeType::Vector; + n_items->m_addornements = "v"; + n_items->m_address = base + offset; + n_items->m_parent = p_node_parent; + n_items->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_items); + + field_name = "flows"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block, field_name)); + auto n_flows = new NodeVector; + n_flows->m_field_name = field_name; + n_flows->m_df_type = DF_Type::flow_info; + n_flows->m_rdf_type = RDF_Type::Vector; + n_flows->m_node_type = NodeType::Vector; + n_flows->m_defined_in = "df.map.xml"; + n_flows->m_addornements = "v*"; + n_flows->m_address = base + offset; + n_flows->m_parent = p_node_parent; + n_flows->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_flows); + + field_name = "flow_pool"; + auto n_flow_pool = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block, field_name)); + n_flow_pool->m_field_name = field_name; + n_flow_pool->m_df_type = DF_Type::flow_reuse_pool; + n_flow_pool->m_rdf_type = RDF_Type::Struct; + n_flow_pool->m_node_type = NodeType::Compound; + n_flow_pool->m_address = base + offset; + n_flow_pool->m_defined_in = "df.map.xml"; + n_flow_pool->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flow_pool); + + field_name = "map_pos"; + auto n_map_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block, field_name)); + n_map_pos->m_field_name = field_name; + n_map_pos->m_df_type = DF_Type::coord; + n_map_pos->m_rdf_type = RDF_Type::Struct; + n_map_pos->m_node_type = NodeType::Compound; + n_map_pos->m_address = base + offset; + n_map_pos->m_defined_in = "df.map.xml"; + n_map_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_map_pos); + + field_name = "region_pos"; + auto n_region_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block, field_name)); + n_region_pos->m_field_name = field_name; + n_region_pos->m_df_type = DF_Type::coord2d; + n_region_pos->m_rdf_type = RDF_Type::Struct; + n_region_pos->m_node_type = NodeType::Compound; + n_region_pos->m_address = base + offset; + n_region_pos->m_defined_in = "df.map.xml"; + n_region_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region_pos); + + field_name = "tiletype"; + auto n_tiletype = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block, field_name)); + n_tiletype->m_field_name = field_name; + n_tiletype->m_df_type = DF_Type::tiletype; + n_tiletype->m_rdf_type = RDF_Type::Array; + n_tiletype->m_node_type = NodeType::Array; + n_tiletype->m_enum_base = DF_Type::int16_t; + n_tiletype->m_defined_in = "df.tile-types.xml"; + n_tiletype->m_addornements = "[16[16"; + n_tiletype->m_array_size = 16; + n_tiletype->m_address = base + offset; + n_tiletype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tiletype); + + field_name = "designation"; + auto n_designation = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block, field_name)); + n_designation->m_field_name = field_name; + n_designation->m_df_type = DF_Type::tile_designation; + n_designation->m_rdf_type = RDF_Type::Array; + n_designation->m_node_type = NodeType::Array; + n_designation->m_defined_in = "df.map.xml"; + n_designation->m_addornements = "[16[16"; + n_designation->m_array_size = 16; + n_designation->m_address = base + offset; + n_designation->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_designation); + + field_name = "occupancy"; + auto n_occupancy = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block, field_name)); + n_occupancy->m_field_name = field_name; + n_occupancy->m_df_type = DF_Type::tile_occupancy; + n_occupancy->m_rdf_type = RDF_Type::Array; + n_occupancy->m_node_type = NodeType::Array; + n_occupancy->m_defined_in = "df.map.xml"; + n_occupancy->m_addornements = "[16[16"; + n_occupancy->m_array_size = 16; + n_occupancy->m_address = base + offset; + n_occupancy->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_occupancy); + + field_name = "fog_of_war"; + auto n_fog_of_war = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block, field_name)); + n_fog_of_war->m_field_name = field_name; + n_fog_of_war->m_df_type = DF_Type::uint8_t; + n_fog_of_war->m_rdf_type = RDF_Type::Array; + n_fog_of_war->m_comment = "for adventure mode"; + n_fog_of_war->m_node_type = NodeType::Array; + n_fog_of_war->m_addornements = "[16[16"; + n_fog_of_war->m_array_size = 16; + n_fog_of_war->m_address = base + offset; + n_fog_of_war->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_fog_of_war); + + field_name = "path_cost"; + auto n_path_cost = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block, field_name)); + n_path_cost->m_field_name = field_name; + n_path_cost->m_df_type = DF_Type::int32_t; + n_path_cost->m_rdf_type = RDF_Type::Array; + n_path_cost->m_comment = "flood; 256*cost for straight, 362*cost for diagonal"; + n_path_cost->m_node_type = NodeType::Array; + n_path_cost->m_addornements = "[16[16"; + n_path_cost->m_array_size = 16; + n_path_cost->m_address = base + offset; + n_path_cost->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_path_cost); + + field_name = "path_tag"; + auto n_path_tag = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block, field_name)); + n_path_tag->m_field_name = field_name; + n_path_tag->m_df_type = DF_Type::uint16_t; + n_path_tag->m_rdf_type = RDF_Type::Array; + n_path_tag->m_comment = "flood; sync to path_distance; same value; inc per run; reset to 0 on wraparound"; + n_path_tag->m_node_type = NodeType::Array; + n_path_tag->m_addornements = "[16[16"; + n_path_tag->m_array_size = 16; + n_path_tag->m_address = base + offset; + n_path_tag->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_path_tag); + + field_name = "walkable"; + auto n_walkable = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block, field_name)); + n_walkable->m_field_name = field_name; + n_walkable->m_df_type = DF_Type::uint16_t; + n_walkable->m_rdf_type = RDF_Type::Array; + n_walkable->m_comment = "0 = non-walkable; same nonzero at A and B = walkable from A to B"; + n_walkable->m_node_type = NodeType::Array; + n_walkable->m_addornements = "[16[16"; + n_walkable->m_array_size = 16; + n_walkable->m_address = base + offset; + n_walkable->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_walkable); + + field_name = "map_edge_distance"; + auto n_map_edge_distance = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block, field_name)); + n_map_edge_distance->m_field_name = field_name; + n_map_edge_distance->m_df_type = DF_Type::uint16_t; + n_map_edge_distance->m_rdf_type = RDF_Type::Array; + n_map_edge_distance->m_comment = "1 at walkable map edge; then +1 per 10 tiles it seems; 0 in dug tunnels"; + n_map_edge_distance->m_node_type = NodeType::Array; + n_map_edge_distance->m_addornements = "[16[16"; + n_map_edge_distance->m_array_size = 16; + n_map_edge_distance->m_address = base + offset; + n_map_edge_distance->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_map_edge_distance); + + field_name = "temperature_1"; + auto n_temperature_1 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block, field_name)); + n_temperature_1->m_field_name = field_name; + n_temperature_1->m_df_type = DF_Type::uint16_t; + n_temperature_1->m_rdf_type = RDF_Type::Array; + n_temperature_1->m_node_type = NodeType::Array; + n_temperature_1->m_addornements = "[16[16"; + n_temperature_1->m_array_size = 16; + n_temperature_1->m_address = base + offset; + n_temperature_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_temperature_1); + + field_name = "temperature_2"; + auto n_temperature_2 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block, field_name)); + n_temperature_2->m_field_name = field_name; + n_temperature_2->m_df_type = DF_Type::uint16_t; + n_temperature_2->m_rdf_type = RDF_Type::Array; + n_temperature_2->m_node_type = NodeType::Array; + n_temperature_2->m_addornements = "[16[16"; + n_temperature_2->m_array_size = 16; + n_temperature_2->m_address = base + offset; + n_temperature_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_temperature_2); + + field_name = "unk13"; + auto n_unk13 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block, field_name)); + n_unk13->m_field_name = field_name; + n_unk13->m_df_type = DF_Type::uint16_t; + n_unk13->m_rdf_type = RDF_Type::Array; + n_unk13->m_node_type = NodeType::Array; + n_unk13->m_addornements = "[16[16"; + n_unk13->m_array_size = 16; + n_unk13->m_address = base + offset; + n_unk13->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk13); + + field_name = "liquid_flow"; + auto n_liquid_flow = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block, field_name)); + n_liquid_flow->m_field_name = field_name; + n_liquid_flow->m_df_type = DF_Type::tile_liquid_flow; + n_liquid_flow->m_rdf_type = RDF_Type::Array; + n_liquid_flow->m_node_type = NodeType::Array; + n_liquid_flow->m_defined_in = "df.map.xml"; + n_liquid_flow->m_addornements = "[16[16"; + n_liquid_flow->m_array_size = 16; + n_liquid_flow->m_address = base + offset; + n_liquid_flow->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_liquid_flow); + + field_name = "region_offset"; + auto n_region_offset = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block, field_name)); + n_region_offset->m_field_name = field_name; + n_region_offset->m_df_type = DF_Type::uint8_t; + n_region_offset->m_rdf_type = RDF_Type::Array; + n_region_offset->m_node_type = NodeType::Array; + n_region_offset->m_addornements = "[9"; + n_region_offset->m_array_size = 9; + n_region_offset->m_address = base + offset; + n_region_offset->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region_offset); + +} +void node_from_cave_column_link(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "item"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cave_column_link, field_name)); + auto n_item = new NodePointer; + n_item->m_field_name = field_name; + n_item->m_df_type = get_real_subtype(base+offset, DF_Type::cave_column); + n_item->m_rdf_type = RDF_Type::Pointer; + n_item->m_node_type = NodeType::Pointer; + n_item->m_addornements = "*"; + n_item->m_address = base + offset; + n_item->m_parent = p_node_parent; + n_item->m_defined_in = "df.map.xml"; + n_item->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_item); + + field_name = "prev"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cave_column_link, field_name)); + auto n_prev = new NodePointer; + n_prev->m_field_name = field_name; + n_prev->m_df_type = get_real_subtype(base+offset, DF_Type::cave_column_link); + n_prev->m_rdf_type = RDF_Type::Pointer; + n_prev->m_node_type = NodeType::Pointer; + n_prev->m_addornements = "*"; + n_prev->m_address = base + offset; + n_prev->m_parent = p_node_parent; + n_prev->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_prev); + + field_name = "next"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cave_column_link, field_name)); + auto n_next = new NodePointer; + n_next->m_field_name = field_name; + n_next->m_df_type = get_real_subtype(base+offset, DF_Type::cave_column_link); + n_next->m_rdf_type = RDF_Type::Pointer; + n_next->m_node_type = NodeType::Pointer; + n_next->m_addornements = "*"; + n_next->m_address = base + offset; + n_next->m_parent = p_node_parent; + n_next->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_next); + +} +void node_from_map_block_column__T_unmined_glyphs(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "x"; + auto n_x = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block_column__T_unmined_glyphs, field_name)); + n_x->m_field_name = field_name; + n_x->m_df_type = DF_Type::int16_t; + n_x->m_rdf_type = RDF_Type::Array; + n_x->m_node_type = NodeType::Array; + n_x->m_addornements = "[4"; + n_x->m_array_size = 4; + n_x->m_address = base + offset; + n_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_x); + + field_name = "y"; + auto n_y = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block_column__T_unmined_glyphs, field_name)); + n_y->m_field_name = field_name; + n_y->m_df_type = DF_Type::int16_t; + n_y->m_rdf_type = RDF_Type::Array; + n_y->m_node_type = NodeType::Array; + n_y->m_addornements = "[4"; + n_y->m_array_size = 4; + n_y->m_address = base + offset; + n_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_y); + + field_name = "tile"; + auto n_tile = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block_column__T_unmined_glyphs, field_name)); + n_tile->m_field_name = field_name; + n_tile->m_df_type = DF_Type::uint8_t; + n_tile->m_rdf_type = RDF_Type::Array; + n_tile->m_node_type = NodeType::Array; + n_tile->m_addornements = "[4"; + n_tile->m_array_size = 4; + n_tile->m_address = base + offset; + n_tile->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tile); + +} +void node_from_map_block_column(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "sink_level"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block_column, field_name)); + auto n_sink_level = new NodeSimple; + n_sink_level->m_field_name = field_name; + n_sink_level->m_df_type = DF_Type::int16_t; + n_sink_level->m_rdf_type = RDF_Type::int16_t; + n_sink_level->m_node_type = NodeType::Simple; + n_sink_level->m_address = base + offset; + n_sink_level->m_comment = "water at or above this level sinks into aquifer tiles"; + n_sink_level->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sink_level); + + field_name = "beach_level"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block_column, field_name)); + auto n_beach_level = new NodeSimple; + n_beach_level->m_field_name = field_name; + n_beach_level->m_df_type = DF_Type::int16_t; + n_beach_level->m_rdf_type = RDF_Type::int16_t; + n_beach_level->m_node_type = NodeType::Simple; + n_beach_level->m_address = base + offset; + n_beach_level->m_comment = "water at this level disappears if above more water"; + n_beach_level->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_beach_level); + + field_name = "ground_level"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block_column, field_name)); + auto n_ground_level = new NodeSimple; + n_ground_level->m_field_name = field_name; + n_ground_level->m_df_type = DF_Type::int16_t; + n_ground_level->m_rdf_type = RDF_Type::int16_t; + n_ground_level->m_node_type = NodeType::Simple; + n_ground_level->m_address = base + offset; + n_ground_level->m_comment = "for coloring unallocated blocks"; + n_ground_level->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ground_level); + + field_name = "unmined_glyphs"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block_column, field_name)); + auto n_unmined_glyphs = new NodeVector; + n_unmined_glyphs->m_field_name = field_name; + n_unmined_glyphs->m_df_type = DF_Type::map_block_column__T_unmined_glyphs; + n_unmined_glyphs->m_rdf_type = RDF_Type::Vector; + n_unmined_glyphs->m_node_type = NodeType::Vector; + n_unmined_glyphs->m_addornements = "v*"; + n_unmined_glyphs->m_address = base + offset; + n_unmined_glyphs->m_parent = p_node_parent; + n_unmined_glyphs->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unmined_glyphs); + + field_name = "z_base"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block_column, field_name)); + auto n_z_base = new NodeSimple; + n_z_base->m_field_name = field_name; + n_z_base->m_df_type = DF_Type::int16_t; + n_z_base->m_rdf_type = RDF_Type::int16_t; + n_z_base->m_node_type = NodeType::Simple; + n_z_base->m_address = base + offset; + n_z_base->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_z_base); + + field_name = "cave_columns"; + auto n_cave_columns = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block_column, field_name)); + n_cave_columns->m_field_name = field_name; + n_cave_columns->m_df_type = DF_Type::cave_column_link; + n_cave_columns->m_rdf_type = RDF_Type::Array; + n_cave_columns->m_node_type = NodeType::Array; + n_cave_columns->m_addornements = "[16[16"; + n_cave_columns->m_array_size = 16; + n_cave_columns->m_address = base + offset; + n_cave_columns->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cave_columns); + + field_name = "column_rectangles"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block_column, field_name)); + auto n_column_rectangles = new NodeVector; + n_column_rectangles->m_field_name = field_name; + n_column_rectangles->m_df_type = DF_Type::cave_column_rectangle; + n_column_rectangles->m_rdf_type = RDF_Type::Vector; + n_column_rectangles->m_node_type = NodeType::Vector; + n_column_rectangles->m_defined_in = "df.map.xml"; + n_column_rectangles->m_addornements = "v*"; + n_column_rectangles->m_address = base + offset; + n_column_rectangles->m_parent = p_node_parent; + n_column_rectangles->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_column_rectangles); + + field_name = "z_shift"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block_column, field_name)); + auto n_z_shift = new NodeSimple; + n_z_shift->m_field_name = field_name; + n_z_shift->m_df_type = DF_Type::int16_t; + n_z_shift->m_rdf_type = RDF_Type::int16_t; + n_z_shift->m_node_type = NodeType::Simple; + n_z_shift->m_address = base + offset; + n_z_shift->m_comment = "seems to be 0 originally, but updated when map is shifted"; + n_z_shift->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_z_shift); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block_column, field_name)); + auto n_flags = new NodeDFFlagArray; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::int32_t; + n_flags->m_size = 32; + n_flags->m_rdf_type = RDF_Type::DFFlagArray; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_comment = "0 process cave columns for caveins"; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "unk_v40_1"; + auto n_unk_v40_1 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block_column, field_name)); + n_unk_v40_1->m_field_name = field_name; + n_unk_v40_1->m_df_type = DF_Type::int16_t; + n_unk_v40_1->m_rdf_type = RDF_Type::Array; + n_unk_v40_1->m_node_type = NodeType::Array; + n_unk_v40_1->m_addornements = "[16[16"; + n_unk_v40_1->m_array_size = 16; + n_unk_v40_1->m_address = base + offset; + n_unk_v40_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_1); + + field_name = "map_pos"; + auto n_map_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block_column, field_name)); + n_map_pos->m_field_name = field_name; + n_map_pos->m_df_type = DF_Type::coord2d; + n_map_pos->m_rdf_type = RDF_Type::Struct; + n_map_pos->m_node_type = NodeType::Compound; + n_map_pos->m_address = base + offset; + n_map_pos->m_defined_in = "df.map.xml"; + n_map_pos->m_comment = "top left in tiles"; + n_map_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_map_pos); + + field_name = "unk_c3c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block_column, field_name)); + auto n_unk_c3c = new NodeSimple; + n_unk_c3c->m_field_name = field_name; + n_unk_c3c->m_df_type = DF_Type::int16_t; + n_unk_c3c->m_rdf_type = RDF_Type::int16_t; + n_unk_c3c->m_node_type = NodeType::Simple; + n_unk_c3c->m_address = base + offset; + n_unk_c3c->m_comment = "uninitialized"; + n_unk_c3c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_c3c); + + field_name = "region_pos"; + auto n_region_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block_column, field_name)); + n_region_pos->m_field_name = field_name; + n_region_pos->m_df_type = DF_Type::coord2d; + n_region_pos->m_rdf_type = RDF_Type::Struct; + n_region_pos->m_node_type = NodeType::Compound; + n_region_pos->m_address = base + offset; + n_region_pos->m_defined_in = "df.map.xml"; + n_region_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region_pos); + + field_name = "plants"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_block_column, field_name)); + auto n_plants = new NodeVector; + n_plants->m_field_name = field_name; + n_plants->m_df_type = DF_Type::plant; + n_plants->m_rdf_type = RDF_Type::Vector; + n_plants->m_node_type = NodeType::Vector; + n_plants->m_defined_in = "df.plants.xml"; + n_plants->m_addornements = "v*"; + n_plants->m_address = base + offset; + n_plants->m_parent = p_node_parent; + n_plants->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_plants); + +} +void node_from_block_square_event_mineralst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::block_square_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_block_square_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "inorganic_mat"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_mineralst, field_name)); + auto n_inorganic_mat = new NodeSimple; + n_inorganic_mat->m_field_name = field_name; + n_inorganic_mat->m_df_type = DF_Type::int32_t; + n_inorganic_mat->m_rdf_type = RDF_Type::int32_t; + n_inorganic_mat->m_node_type = NodeType::Simple; + n_inorganic_mat->m_address = base + offset; + n_inorganic_mat->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_inorganic_mat); + + field_name = "tile_bitmask"; + auto n_tile_bitmask = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_mineralst, field_name)); + n_tile_bitmask->m_field_name = field_name; + n_tile_bitmask->m_df_type = DF_Type::tile_bitmask; + n_tile_bitmask->m_rdf_type = RDF_Type::Struct; + n_tile_bitmask->m_node_type = NodeType::Compound; + n_tile_bitmask->m_address = base + offset; + n_tile_bitmask->m_defined_in = "df.map.xml"; + n_tile_bitmask->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tile_bitmask); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_mineralst, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::block_square_event_mineralst__T_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + +} +void node_from_block_square_event_frozen_liquidst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::block_square_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_block_square_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "tiles"; + auto n_tiles = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_frozen_liquidst, field_name)); + n_tiles->m_field_name = field_name; + n_tiles->m_df_type = DF_Type::tiletype; + n_tiles->m_rdf_type = RDF_Type::Array; + n_tiles->m_node_type = NodeType::Array; + n_tiles->m_enum_base = DF_Type::int16_t; + n_tiles->m_defined_in = "df.tile-types.xml"; + n_tiles->m_addornements = "[16[16"; + n_tiles->m_array_size = 16; + n_tiles->m_address = base + offset; + n_tiles->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tiles); + + field_name = "liquid_type"; + auto n_liquid_type = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_frozen_liquidst, field_name)); + n_liquid_type->m_field_name = field_name; + n_liquid_type->m_df_type = DF_Type::tile_liquid; + n_liquid_type->m_rdf_type = RDF_Type::Array; + n_liquid_type->m_node_type = NodeType::Array; + n_liquid_type->m_enum_base = DF_Type::int8_t; + n_liquid_type->m_defined_in = "df.map.xml"; + n_liquid_type->m_addornements = "[16[16"; + n_liquid_type->m_array_size = 16; + n_liquid_type->m_address = base + offset; + n_liquid_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_liquid_type); + +} +void node_from_block_square_event_world_constructionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::block_square_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_block_square_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "construction_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_world_constructionst, field_name)); + auto n_construction_id = new NodeSimple; + n_construction_id->m_field_name = field_name; + n_construction_id->m_df_type = DF_Type::int32_t; + n_construction_id->m_rdf_type = RDF_Type::int32_t; + n_construction_id->m_node_type = NodeType::Simple; + n_construction_id->m_address = base + offset; + n_construction_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_construction_id); + + field_name = "tile_bitmask"; + auto n_tile_bitmask = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_world_constructionst, field_name)); + n_tile_bitmask->m_field_name = field_name; + n_tile_bitmask->m_df_type = DF_Type::tile_bitmask; + n_tile_bitmask->m_rdf_type = RDF_Type::Struct; + n_tile_bitmask->m_node_type = NodeType::Compound; + n_tile_bitmask->m_address = base + offset; + n_tile_bitmask->m_defined_in = "df.map.xml"; + n_tile_bitmask->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tile_bitmask); + +} +void node_from_block_square_event_item_spatterst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::block_square_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_block_square_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "item_type"; + auto n_item_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_item_spatterst, field_name)); + n_item_type->m_field_name = field_name; + n_item_type->m_df_type = DF_Type::item_type; + n_item_type->m_rdf_type = RDF_Type::Enum; + n_item_type->m_node_type = NodeType::Enum; + n_item_type->m_base_type = DF_Type::int16_t; + n_item_type->m_enum_type = "item_type"; + n_item_type->m_address = base + offset; + n_item_type->m_defined_in = "df.item-raws.xml"; + n_item_type->m_first_value = -1; + n_item_type->m_last_value = 90; + n_item_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_type); + + field_name = "item_subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_item_spatterst, field_name)); + auto n_item_subtype = new NodeSimple; + n_item_subtype->m_field_name = field_name; + n_item_subtype->m_df_type = DF_Type::int16_t; + n_item_subtype->m_rdf_type = RDF_Type::int16_t; + n_item_subtype->m_node_type = NodeType::Simple; + n_item_subtype->m_address = base + offset; + n_item_subtype->m_refers_to = "(item-subtype-target $$._parent.item_type $)"; + n_item_subtype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_subtype); + + field_name = "mattype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_item_spatterst, field_name)); + auto n_mattype = new NodeSimple; + n_mattype->m_field_name = field_name; + n_mattype->m_df_type = DF_Type::int16_t; + n_mattype->m_rdf_type = RDF_Type::int16_t; + n_mattype->m_node_type = NodeType::Simple; + n_mattype->m_address = base + offset; + n_mattype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mattype); + + field_name = "matindex"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_item_spatterst, field_name)); + auto n_matindex = new NodeSimple; + n_matindex->m_field_name = field_name; + n_matindex->m_df_type = DF_Type::int32_t; + n_matindex->m_rdf_type = RDF_Type::int32_t; + n_matindex->m_node_type = NodeType::Simple; + n_matindex->m_address = base + offset; + n_matindex->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_matindex); + + field_name = "unk1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_item_spatterst, field_name)); + auto n_unk1 = new NodeSimple; + n_unk1->m_field_name = field_name; + n_unk1->m_df_type = DF_Type::int32_t; + n_unk1->m_rdf_type = RDF_Type::int32_t; + n_unk1->m_node_type = NodeType::Simple; + n_unk1->m_address = base + offset; + n_unk1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk1); + + field_name = "amount"; + auto n_amount = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_item_spatterst, field_name)); + n_amount->m_field_name = field_name; + n_amount->m_df_type = DF_Type::int32_t; + n_amount->m_rdf_type = RDF_Type::Array; + n_amount->m_node_type = NodeType::Array; + n_amount->m_addornements = "[16[16"; + n_amount->m_array_size = 16; + n_amount->m_address = base + offset; + n_amount->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_amount); + + field_name = "unk2"; + auto n_unk2 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_item_spatterst, field_name)); + n_unk2->m_field_name = field_name; + n_unk2->m_df_type = DF_Type::int8_t; + n_unk2->m_rdf_type = RDF_Type::Array; + n_unk2->m_node_type = NodeType::Array; + n_unk2->m_addornements = "[16[16"; + n_unk2->m_array_size = 16; + n_unk2->m_address = base + offset; + n_unk2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk2); + + field_name = "temp1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_item_spatterst, field_name)); + auto n_temp1 = new NodeSimple; + n_temp1->m_field_name = field_name; + n_temp1->m_df_type = DF_Type::uint16_t; + n_temp1->m_rdf_type = RDF_Type::uint16_t; + n_temp1->m_node_type = NodeType::Simple; + n_temp1->m_address = base + offset; + n_temp1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_temp1); + + field_name = "temp2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::block_square_event_item_spatterst, field_name)); + auto n_temp2 = new NodeSimple; + n_temp2->m_field_name = field_name; + n_temp2->m_df_type = DF_Type::uint16_t; + n_temp2->m_rdf_type = RDF_Type::uint16_t; + n_temp2->m_node_type = NodeType::Simple; + n_temp2->m_address = base + offset; + n_temp2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_temp2); + +} +void node_from_feature(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "population"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature, field_name)); + auto n_population = new NodeVector; + n_population->m_field_name = field_name; + n_population->m_df_type = DF_Type::world_population; + n_population->m_rdf_type = RDF_Type::Vector; + n_population->m_node_type = NodeType::Vector; + n_population->m_defined_in = "df.world-data.xml"; + n_population->m_addornements = "v*"; + n_population->m_address = base + offset; + n_population->m_parent = p_node_parent; + n_population->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_population); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int16_t; + n_anon_2->m_rdf_type = RDF_Type::int16_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "embark_pos"; + auto n_embark_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature, field_name)); + n_embark_pos->m_field_name = field_name; + n_embark_pos->m_df_type = DF_Type::coord2d_path; + n_embark_pos->m_rdf_type = RDF_Type::Struct; + n_embark_pos->m_node_type = NodeType::Compound; + n_embark_pos->m_address = base + offset; + n_embark_pos->m_defined_in = "df.map.xml"; + n_embark_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_embark_pos); + + field_name = "min_map_z"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature, field_name)); + auto n_min_map_z = new NodeVector; + n_min_map_z->m_field_name = field_name; + n_min_map_z->m_df_type = DF_Type::int16_t; + n_min_map_z->m_rdf_type = RDF_Type::Vector; + n_min_map_z->m_node_type = NodeType::Vector; + n_min_map_z->m_addornements = "v"; + n_min_map_z->m_address = base + offset; + n_min_map_z->m_parent = p_node_parent; + n_min_map_z->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_min_map_z); + + field_name = "max_map_z"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature, field_name)); + auto n_max_map_z = new NodeVector; + n_max_map_z->m_field_name = field_name; + n_max_map_z->m_df_type = DF_Type::int16_t; + n_max_map_z->m_rdf_type = RDF_Type::Vector; + n_max_map_z->m_node_type = NodeType::Vector; + n_max_map_z->m_addornements = "v"; + n_max_map_z->m_address = base + offset; + n_max_map_z->m_parent = p_node_parent; + n_max_map_z->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_max_map_z); + +} +void node_from_feature_outdoor_riverst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::feature; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_feature(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_feature_cavest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::feature; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_feature(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_feature_pitst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::feature; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_feature(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_feature_magma_poolst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::feature; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_feature(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "magma_fill_z"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_magma_poolst, field_name)); + auto n_magma_fill_z = new NodeSimple; + n_magma_fill_z->m_field_name = field_name; + n_magma_fill_z->m_df_type = DF_Type::int32_t; + n_magma_fill_z->m_rdf_type = RDF_Type::int32_t; + n_magma_fill_z->m_node_type = NodeType::Simple; + n_magma_fill_z->m_address = base + offset; + n_magma_fill_z->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_magma_fill_z); + +} +void node_from_feature_volcanost(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::feature; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_feature(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "magma_fill_z"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_volcanost, field_name)); + auto n_magma_fill_z = new NodeSimple; + n_magma_fill_z->m_field_name = field_name; + n_magma_fill_z->m_df_type = DF_Type::int32_t; + n_magma_fill_z->m_rdf_type = RDF_Type::int32_t; + n_magma_fill_z->m_node_type = NodeType::Simple; + n_magma_fill_z->m_address = base + offset; + n_magma_fill_z->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_magma_fill_z); + +} +void node_from_feature_deep_special_tubest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::feature; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_feature(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_feature_deep_surface_portalst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::feature; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_feature(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_feature_subterranean_from_layerst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::feature; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_feature(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_feature_magma_core_from_layerst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::feature; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_feature(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_feature_underworld_from_layerst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::feature; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_feature(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_feature_init(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_init, field_name)); + auto n_flags = new NodeDFFlagArray; + n_flags->m_field_name = field_name; + n_flags->m_index_enum = DF_Type::feature_init_flags; + n_flags->m_df_type = DF_Type::feature_init_flags; + n_flags->m_size = 4; + n_flags->m_rdf_type = RDF_Type::DFFlagArray; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_defined_in = "df.map.xml"; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "alterations"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_init, field_name)); + auto n_alterations = new NodeVector; + n_alterations->m_field_name = field_name; + n_alterations->m_df_type = DF_Type::feature_alteration; + n_alterations->m_rdf_type = RDF_Type::Vector; + n_alterations->m_node_type = NodeType::Vector; + n_alterations->m_defined_in = "df.map.xml"; + n_alterations->m_addornements = "v*"; + n_alterations->m_address = base + offset; + n_alterations->m_parent = p_node_parent; + n_alterations->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_alterations); + + field_name = "start_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_init, field_name)); + auto n_start_x = new NodeSimple; + n_start_x->m_field_name = field_name; + n_start_x->m_df_type = DF_Type::int16_t; + n_start_x->m_rdf_type = RDF_Type::int16_t; + n_start_x->m_node_type = NodeType::Simple; + n_start_x->m_address = base + offset; + n_start_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_start_x); + + field_name = "start_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_init, field_name)); + auto n_start_y = new NodeSimple; + n_start_y->m_field_name = field_name; + n_start_y->m_df_type = DF_Type::int16_t; + n_start_y->m_rdf_type = RDF_Type::int16_t; + n_start_y->m_node_type = NodeType::Simple; + n_start_y->m_address = base + offset; + n_start_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_start_y); + + field_name = "end_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_init, field_name)); + auto n_end_x = new NodeSimple; + n_end_x->m_field_name = field_name; + n_end_x->m_df_type = DF_Type::int16_t; + n_end_x->m_rdf_type = RDF_Type::int16_t; + n_end_x->m_node_type = NodeType::Simple; + n_end_x->m_address = base + offset; + n_end_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_end_x); + + field_name = "end_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_init, field_name)); + auto n_end_y = new NodeSimple; + n_end_y->m_field_name = field_name; + n_end_y->m_df_type = DF_Type::int16_t; + n_end_y->m_rdf_type = RDF_Type::int16_t; + n_end_y->m_node_type = NodeType::Simple; + n_end_y->m_address = base + offset; + n_end_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_end_y); + + field_name = "start_depth"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_init, field_name)); + auto n_start_depth = new NodeSimple; + n_start_depth->m_field_name = field_name; + n_start_depth->m_df_type = DF_Type::int16_t; + n_start_depth->m_rdf_type = RDF_Type::int16_t; + n_start_depth->m_node_type = NodeType::Simple; + n_start_depth->m_address = base + offset; + n_start_depth->m_comment = "in underground layers"; + n_start_depth->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_start_depth); + + field_name = "end_depth"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_init, field_name)); + auto n_end_depth = new NodeSimple; + n_end_depth->m_field_name = field_name; + n_end_depth->m_df_type = DF_Type::int16_t; + n_end_depth->m_rdf_type = RDF_Type::int16_t; + n_end_depth->m_node_type = NodeType::Simple; + n_end_depth->m_address = base + offset; + n_end_depth->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_end_depth); + +} +void node_from_feature_init_outdoor_riverst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::feature_init; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_feature_init(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "feature"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_init_outdoor_riverst, field_name)); + auto n_feature = new NodePointer; + n_feature->m_field_name = field_name; + n_feature->m_df_type = get_real_subtype(base+offset, DF_Type::feature_outdoor_riverst); + n_feature->m_rdf_type = RDF_Type::Pointer; + n_feature->m_node_type = NodeType::Pointer; + n_feature->m_addornements = "*"; + n_feature->m_address = base + offset; + n_feature->m_parent = p_node_parent; + n_feature->m_defined_in = "df.map.xml"; + n_feature->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_feature); + +} +void node_from_feature_init_cavest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::feature_init; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_feature_init(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "feature"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_init_cavest, field_name)); + auto n_feature = new NodePointer; + n_feature->m_field_name = field_name; + n_feature->m_df_type = get_real_subtype(base+offset, DF_Type::feature_cavest); + n_feature->m_rdf_type = RDF_Type::Pointer; + n_feature->m_node_type = NodeType::Pointer; + n_feature->m_addornements = "*"; + n_feature->m_address = base + offset; + n_feature->m_parent = p_node_parent; + n_feature->m_defined_in = "df.map.xml"; + n_feature->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_feature); + +} +void node_from_feature_init_pitst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::feature_init; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_feature_init(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "feature"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_init_pitst, field_name)); + auto n_feature = new NodePointer; + n_feature->m_field_name = field_name; + n_feature->m_df_type = get_real_subtype(base+offset, DF_Type::feature_pitst); + n_feature->m_rdf_type = RDF_Type::Pointer; + n_feature->m_node_type = NodeType::Pointer; + n_feature->m_addornements = "*"; + n_feature->m_address = base + offset; + n_feature->m_parent = p_node_parent; + n_feature->m_defined_in = "df.map.xml"; + n_feature->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_feature); + +} +void node_from_feature_init_magma_poolst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::feature_init; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_feature_init(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "feature"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_init_magma_poolst, field_name)); + auto n_feature = new NodePointer; + n_feature->m_field_name = field_name; + n_feature->m_df_type = get_real_subtype(base+offset, DF_Type::feature_magma_poolst); + n_feature->m_rdf_type = RDF_Type::Pointer; + n_feature->m_node_type = NodeType::Pointer; + n_feature->m_addornements = "*"; + n_feature->m_address = base + offset; + n_feature->m_parent = p_node_parent; + n_feature->m_defined_in = "df.map.xml"; + n_feature->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_feature); + +} +void node_from_feature_init_volcanost(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::feature_init; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_feature_init(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "feature"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_init_volcanost, field_name)); + auto n_feature = new NodePointer; + n_feature->m_field_name = field_name; + n_feature->m_df_type = get_real_subtype(base+offset, DF_Type::feature_volcanost); + n_feature->m_rdf_type = RDF_Type::Pointer; + n_feature->m_node_type = NodeType::Pointer; + n_feature->m_addornements = "*"; + n_feature->m_address = base + offset; + n_feature->m_parent = p_node_parent; + n_feature->m_defined_in = "df.map.xml"; + n_feature->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_feature); + +} +void node_from_feature_init_deep_special_tubest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::feature_init; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_feature_init(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_init_deep_special_tubest, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_init_deep_special_tubest, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "feature"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_init_deep_special_tubest, field_name)); + auto n_feature = new NodePointer; + n_feature->m_field_name = field_name; + n_feature->m_df_type = get_real_subtype(base+offset, DF_Type::feature_deep_special_tubest); + n_feature->m_rdf_type = RDF_Type::Pointer; + n_feature->m_node_type = NodeType::Pointer; + n_feature->m_addornements = "*"; + n_feature->m_address = base + offset; + n_feature->m_parent = p_node_parent; + n_feature->m_defined_in = "df.map.xml"; + n_feature->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_feature); + +} +void node_from_feature_init_deep_surface_portalst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::feature_init; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_feature_init(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_init_deep_surface_portalst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_init_deep_surface_portalst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "feature"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_init_deep_surface_portalst, field_name)); + auto n_feature = new NodePointer; + n_feature->m_field_name = field_name; + n_feature->m_df_type = get_real_subtype(base+offset, DF_Type::feature_deep_surface_portalst); + n_feature->m_rdf_type = RDF_Type::Pointer; + n_feature->m_node_type = NodeType::Pointer; + n_feature->m_addornements = "*"; + n_feature->m_address = base + offset; + n_feature->m_parent = p_node_parent; + n_feature->m_defined_in = "df.map.xml"; + n_feature->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_feature); + +} +void node_from_feature_init_subterranean_from_layerst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::feature_init; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_feature_init(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "layer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_init_subterranean_from_layerst, field_name)); + auto n_layer = new NodeSimple; + n_layer->m_field_name = field_name; + n_layer->m_df_type = DF_Type::int32_t; + n_layer->m_rdf_type = RDF_Type::int32_t; + n_layer->m_node_type = NodeType::Simple; + n_layer->m_address = base + offset; + n_layer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_layer); + + field_name = "feature"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_init_subterranean_from_layerst, field_name)); + auto n_feature = new NodePointer; + n_feature->m_field_name = field_name; + n_feature->m_df_type = get_real_subtype(base+offset, DF_Type::feature_subterranean_from_layerst); + n_feature->m_rdf_type = RDF_Type::Pointer; + n_feature->m_node_type = NodeType::Pointer; + n_feature->m_addornements = "*"; + n_feature->m_address = base + offset; + n_feature->m_parent = p_node_parent; + n_feature->m_defined_in = "df.map.xml"; + n_feature->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_feature); + +} +void node_from_feature_init_magma_core_from_layerst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::feature_init; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_feature_init(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "layer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_init_magma_core_from_layerst, field_name)); + auto n_layer = new NodeSimple; + n_layer->m_field_name = field_name; + n_layer->m_df_type = DF_Type::int32_t; + n_layer->m_rdf_type = RDF_Type::int32_t; + n_layer->m_node_type = NodeType::Simple; + n_layer->m_address = base + offset; + n_layer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_layer); + + field_name = "feature"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_init_magma_core_from_layerst, field_name)); + auto n_feature = new NodePointer; + n_feature->m_field_name = field_name; + n_feature->m_df_type = get_real_subtype(base+offset, DF_Type::feature_magma_core_from_layerst); + n_feature->m_rdf_type = RDF_Type::Pointer; + n_feature->m_node_type = NodeType::Pointer; + n_feature->m_addornements = "*"; + n_feature->m_address = base + offset; + n_feature->m_parent = p_node_parent; + n_feature->m_defined_in = "df.map.xml"; + n_feature->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_feature); + +} +void node_from_feature_init_underworld_from_layerst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::feature_init; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_feature_init(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "layer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_init_underworld_from_layerst, field_name)); + auto n_layer = new NodeSimple; + n_layer->m_field_name = field_name; + n_layer->m_df_type = DF_Type::int32_t; + n_layer->m_rdf_type = RDF_Type::int32_t; + n_layer->m_node_type = NodeType::Simple; + n_layer->m_address = base + offset; + n_layer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_layer); + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_init_underworld_from_layerst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_init_underworld_from_layerst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "feature"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::feature_init_underworld_from_layerst, field_name)); + auto n_feature = new NodePointer; + n_feature->m_field_name = field_name; + n_feature->m_df_type = get_real_subtype(base+offset, DF_Type::feature_underworld_from_layerst); + n_feature->m_rdf_type = RDF_Type::Pointer; + n_feature->m_node_type = NodeType::Pointer; + n_feature->m_addornements = "*"; + n_feature->m_address = base + offset; + n_feature->m_parent = p_node_parent; + n_feature->m_defined_in = "df.map.xml"; + n_feature->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_feature); + +} +void node_from_world_construction_square(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "region_pos"; + auto n_region_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_construction_square, field_name)); + n_region_pos->m_field_name = field_name; + n_region_pos->m_df_type = DF_Type::coord2d; + n_region_pos->m_rdf_type = RDF_Type::Struct; + n_region_pos->m_node_type = NodeType::Compound; + n_region_pos->m_address = base + offset; + n_region_pos->m_defined_in = "df.map.xml"; + n_region_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region_pos); + + field_name = "construction_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_construction_square, field_name)); + auto n_construction_id = new NodeSimple; + n_construction_id->m_field_name = field_name; + n_construction_id->m_df_type = DF_Type::int32_t; + n_construction_id->m_rdf_type = RDF_Type::int32_t; + n_construction_id->m_node_type = NodeType::Simple; + n_construction_id->m_address = base + offset; + n_construction_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_construction_id); + + field_name = "embark_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_construction_square, field_name)); + auto n_embark_x = new NodeVector; + n_embark_x->m_field_name = field_name; + n_embark_x->m_df_type = DF_Type::int16_t; + n_embark_x->m_rdf_type = RDF_Type::Vector; + n_embark_x->m_node_type = NodeType::Vector; + n_embark_x->m_addornements = "v"; + n_embark_x->m_address = base + offset; + n_embark_x->m_parent = p_node_parent; + n_embark_x->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_embark_x); + + field_name = "embark_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_construction_square, field_name)); + auto n_embark_y = new NodeVector; + n_embark_y->m_field_name = field_name; + n_embark_y->m_df_type = DF_Type::int16_t; + n_embark_y->m_rdf_type = RDF_Type::Vector; + n_embark_y->m_node_type = NodeType::Vector; + n_embark_y->m_addornements = "v"; + n_embark_y->m_address = base + offset; + n_embark_y->m_parent = p_node_parent; + n_embark_y->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_embark_y); + + field_name = "embark_unk"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_construction_square, field_name)); + auto n_embark_unk = new NodeVector; + n_embark_unk->m_field_name = field_name; + n_embark_unk->m_df_type = DF_Type::int16_t; + n_embark_unk->m_rdf_type = RDF_Type::Vector; + n_embark_unk->m_node_type = NodeType::Vector; + n_embark_unk->m_addornements = "v"; + n_embark_unk->m_address = base + offset; + n_embark_unk->m_parent = p_node_parent; + n_embark_unk->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_embark_unk); + + field_name = "embark_z"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_construction_square, field_name)); + auto n_embark_z = new NodeVector; + n_embark_z->m_field_name = field_name; + n_embark_z->m_df_type = DF_Type::int16_t; + n_embark_z->m_rdf_type = RDF_Type::Vector; + n_embark_z->m_node_type = NodeType::Vector; + n_embark_z->m_addornements = "v"; + n_embark_z->m_address = base + offset; + n_embark_z->m_parent = p_node_parent; + n_embark_z->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_embark_z); + +} +void node_from_world_construction_square_roadst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::world_construction_square; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_world_construction_square(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "item_type"; + auto n_item_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_construction_square_roadst, field_name)); + n_item_type->m_field_name = field_name; + n_item_type->m_df_type = DF_Type::item_type; + n_item_type->m_rdf_type = RDF_Type::Enum; + n_item_type->m_node_type = NodeType::Enum; + n_item_type->m_base_type = DF_Type::int16_t; + n_item_type->m_enum_type = "item_type"; + n_item_type->m_address = base + offset; + n_item_type->m_defined_in = "df.item-raws.xml"; + n_item_type->m_first_value = -1; + n_item_type->m_last_value = 90; + n_item_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_type); + + field_name = "item_subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_construction_square_roadst, field_name)); + auto n_item_subtype = new NodeSimple; + n_item_subtype->m_field_name = field_name; + n_item_subtype->m_df_type = DF_Type::int16_t; + n_item_subtype->m_rdf_type = RDF_Type::int16_t; + n_item_subtype->m_node_type = NodeType::Simple; + n_item_subtype->m_address = base + offset; + n_item_subtype->m_refers_to = "(item-subtype-target $$._parent.item_type $)"; + n_item_subtype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_subtype); + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_construction_square_roadst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_construction_square_roadst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + +} +void node_from_world_construction_square_tunnelst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::world_construction_square; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_world_construction_square(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_world_construction_square_bridgest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::world_construction_square; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_world_construction_square(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "road_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_construction_square_bridgest, field_name)); + auto n_road_id = new NodeSimple; + n_road_id->m_field_name = field_name; + n_road_id->m_df_type = DF_Type::int32_t; + n_road_id->m_rdf_type = RDF_Type::int32_t; + n_road_id->m_node_type = NodeType::Simple; + n_road_id->m_address = base + offset; + n_road_id->m_comment = "guess"; + n_road_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_road_id); + + field_name = "item_type"; + auto n_item_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_construction_square_bridgest, field_name)); + n_item_type->m_field_name = field_name; + n_item_type->m_df_type = DF_Type::item_type; + n_item_type->m_rdf_type = RDF_Type::Enum; + n_item_type->m_node_type = NodeType::Enum; + n_item_type->m_base_type = DF_Type::int16_t; + n_item_type->m_enum_type = "item_type"; + n_item_type->m_address = base + offset; + n_item_type->m_defined_in = "df.item-raws.xml"; + n_item_type->m_first_value = -1; + n_item_type->m_last_value = 90; + n_item_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_type); + + field_name = "item_subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_construction_square_bridgest, field_name)); + auto n_item_subtype = new NodeSimple; + n_item_subtype->m_field_name = field_name; + n_item_subtype->m_df_type = DF_Type::int16_t; + n_item_subtype->m_rdf_type = RDF_Type::int16_t; + n_item_subtype->m_node_type = NodeType::Simple; + n_item_subtype->m_address = base + offset; + n_item_subtype->m_refers_to = "(item-subtype-target $$._parent.item_type $)"; + n_item_subtype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_subtype); + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_construction_square_bridgest, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_construction_square_bridgest, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + +} +void node_from_world_construction_square_wallst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::world_construction_square; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_world_construction_square(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "item_type"; + auto n_item_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_construction_square_wallst, field_name)); + n_item_type->m_field_name = field_name; + n_item_type->m_df_type = DF_Type::item_type; + n_item_type->m_rdf_type = RDF_Type::Enum; + n_item_type->m_node_type = NodeType::Enum; + n_item_type->m_base_type = DF_Type::int16_t; + n_item_type->m_enum_type = "item_type"; + n_item_type->m_address = base + offset; + n_item_type->m_defined_in = "df.item-raws.xml"; + n_item_type->m_first_value = -1; + n_item_type->m_last_value = 90; + n_item_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_type); + + field_name = "item_subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_construction_square_wallst, field_name)); + auto n_item_subtype = new NodeSimple; + n_item_subtype->m_field_name = field_name; + n_item_subtype->m_df_type = DF_Type::int16_t; + n_item_subtype->m_rdf_type = RDF_Type::int16_t; + n_item_subtype->m_node_type = NodeType::Simple; + n_item_subtype->m_address = base + offset; + n_item_subtype->m_refers_to = "(item-subtype-target $$._parent.item_type $)"; + n_item_subtype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_subtype); + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_construction_square_wallst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_construction_square_wallst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + +} +void node_from_world_construction(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_construction, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "square_obj"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_construction, field_name)); + auto n_square_obj = new NodeVector; + n_square_obj->m_field_name = field_name; + n_square_obj->m_df_type = DF_Type::world_construction_square; + n_square_obj->m_rdf_type = RDF_Type::Vector; + n_square_obj->m_node_type = NodeType::Vector; + n_square_obj->m_defined_in = "df.map.xml"; + n_square_obj->m_addornements = "v*"; + n_square_obj->m_address = base + offset; + n_square_obj->m_parent = p_node_parent; + n_square_obj->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_square_obj); + + field_name = "square_pos"; + auto n_square_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_construction, field_name)); + n_square_pos->m_field_name = field_name; + n_square_pos->m_df_type = DF_Type::coord2d_path; + n_square_pos->m_rdf_type = RDF_Type::Struct; + n_square_pos->m_node_type = NodeType::Compound; + n_square_pos->m_address = base + offset; + n_square_pos->m_defined_in = "df.map.xml"; + n_square_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_square_pos); + +} +void node_from_world_construction_roadst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::world_construction; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_world_construction(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "name"; + auto n_name = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_construction_roadst, field_name)); + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::language_name; + n_name->m_rdf_type = RDF_Type::Struct; + n_name->m_node_type = NodeType::Compound; + n_name->m_address = base + offset; + n_name->m_defined_in = "df.language.xml"; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + +} +void node_from_world_construction_tunnelst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::world_construction; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_world_construction(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "name"; + auto n_name = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_construction_tunnelst, field_name)); + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::language_name; + n_name->m_rdf_type = RDF_Type::Struct; + n_name->m_node_type = NodeType::Compound; + n_name->m_address = base + offset; + n_name->m_defined_in = "df.language.xml"; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + +} +void node_from_world_construction_bridgest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::world_construction; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_world_construction(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "name"; + auto n_name = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_construction_bridgest, field_name)); + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::language_name; + n_name->m_rdf_type = RDF_Type::Struct; + n_name->m_node_type = NodeType::Compound; + n_name->m_address = base + offset; + n_name->m_defined_in = "df.language.xml"; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + +} +void node_from_world_construction_wallst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::world_construction; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_world_construction(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "name"; + auto n_name = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_construction_wallst, field_name)); + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::language_name; + n_name->m_rdf_type = RDF_Type::Struct; + n_name->m_node_type = NodeType::Compound; + n_name->m_address = base + offset; + n_name->m_defined_in = "df.language.xml"; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + +} +void node_from_construction(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "pos"; + auto n_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::construction, field_name)); + n_pos->m_field_name = field_name; + n_pos->m_df_type = DF_Type::coord; + n_pos->m_rdf_type = RDF_Type::Struct; + n_pos->m_node_type = NodeType::Compound; + n_pos->m_address = base + offset; + n_pos->m_defined_in = "df.map.xml"; + n_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pos); + + field_name = "item_type"; + auto n_item_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::construction, field_name)); + n_item_type->m_field_name = field_name; + n_item_type->m_df_type = DF_Type::item_type; + n_item_type->m_rdf_type = RDF_Type::Enum; + n_item_type->m_node_type = NodeType::Enum; + n_item_type->m_base_type = DF_Type::int16_t; + n_item_type->m_enum_type = "item_type"; + n_item_type->m_address = base + offset; + n_item_type->m_defined_in = "df.item-raws.xml"; + n_item_type->m_first_value = -1; + n_item_type->m_last_value = 90; + n_item_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_type); + + field_name = "item_subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::construction, field_name)); + auto n_item_subtype = new NodeSimple; + n_item_subtype->m_field_name = field_name; + n_item_subtype->m_df_type = DF_Type::int16_t; + n_item_subtype->m_rdf_type = RDF_Type::int16_t; + n_item_subtype->m_node_type = NodeType::Simple; + n_item_subtype->m_address = base + offset; + n_item_subtype->m_refers_to = "(item-subtype-target $$._parent.item_type $)"; + n_item_subtype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_subtype); + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::construction, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::construction, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::construction, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::construction_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_defined_in = "df.map.xml"; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "original_tile"; + auto n_original_tile = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::construction, field_name)); + n_original_tile->m_field_name = field_name; + n_original_tile->m_df_type = DF_Type::tiletype; + n_original_tile->m_rdf_type = RDF_Type::Enum; + n_original_tile->m_node_type = NodeType::Enum; + n_original_tile->m_base_type = DF_Type::int16_t; + n_original_tile->m_enum_type = "tiletype"; + n_original_tile->m_address = base + offset; + n_original_tile->m_defined_in = "df.tile-types.xml"; + n_original_tile->m_first_value = 0; + n_original_tile->m_last_value = 694; + n_original_tile->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_original_tile); + +} +void node_from_flow_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "type"; + auto n_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::flow_info, field_name)); + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::flow_type; + n_type->m_rdf_type = RDF_Type::Enum; + n_type->m_node_type = NodeType::Enum; + n_type->m_base_type = DF_Type::int16_t; + n_type->m_enum_type = "flow_type"; + n_type->m_address = base + offset; + n_type->m_defined_in = "df.map.xml"; + n_type->m_first_value = 0; + n_type->m_last_value = 13; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::flow_info, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::flow_info, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "density"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::flow_info, field_name)); + auto n_density = new NodeSimple; + n_density->m_field_name = field_name; + n_density->m_df_type = DF_Type::int16_t; + n_density->m_rdf_type = RDF_Type::int16_t; + n_density->m_node_type = NodeType::Simple; + n_density->m_address = base + offset; + n_density->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_density); + + field_name = "pos"; + auto n_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::flow_info, field_name)); + n_pos->m_field_name = field_name; + n_pos->m_df_type = DF_Type::coord; + n_pos->m_rdf_type = RDF_Type::Struct; + n_pos->m_node_type = NodeType::Compound; + n_pos->m_address = base + offset; + n_pos->m_defined_in = "df.map.xml"; + n_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pos); + + field_name = "dest"; + auto n_dest = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::flow_info, field_name)); + n_dest->m_field_name = field_name; + n_dest->m_df_type = DF_Type::coord; + n_dest->m_rdf_type = RDF_Type::Struct; + n_dest->m_node_type = NodeType::Compound; + n_dest->m_address = base + offset; + n_dest->m_defined_in = "df.map.xml"; + n_dest->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dest); + + field_name = "expanding"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::flow_info, field_name)); + auto n_expanding = new NodeSimple; + n_expanding->m_field_name = field_name; + n_expanding->m_df_type = DF_Type::Bool; + n_expanding->m_rdf_type = RDF_Type::Bool; + n_expanding->m_node_type = NodeType::Simple; + n_expanding->m_address = base + offset; + n_expanding->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_expanding); + + field_name = "reuse"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::flow_info, field_name)); + auto n_reuse = new NodeSimple; + n_reuse->m_field_name = field_name; + n_reuse->m_df_type = DF_Type::Bool; + n_reuse->m_rdf_type = RDF_Type::Bool; + n_reuse->m_node_type = NodeType::Simple; + n_reuse->m_address = base + offset; + n_reuse->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_reuse); + + field_name = "guide_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::flow_info, field_name)); + auto n_guide_id = new NodeSimple; + n_guide_id->m_field_name = field_name; + n_guide_id->m_df_type = DF_Type::int32_t; + n_guide_id->m_rdf_type = RDF_Type::int32_t; + n_guide_id->m_node_type = NodeType::Simple; + n_guide_id->m_address = base + offset; + n_guide_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_guide_id); + +} +void node_from_flow_guide_trailing_flowst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::flow_guide; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_flow_guide(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + auto n_anon_1 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::flow_guide_trailing_flowst, field_name)); + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::coord; + n_anon_1->m_rdf_type = RDF_Type::Array; + n_anon_1->m_node_type = NodeType::Array; + n_anon_1->m_defined_in = "df.map.xml"; + n_anon_1->m_addornements = "[15"; + n_anon_1->m_array_size = 15; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_flow_guide_item_cloudst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::flow_guide; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_flow_guide(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "item_type"; + auto n_item_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::flow_guide_item_cloudst, field_name)); + n_item_type->m_field_name = field_name; + n_item_type->m_df_type = DF_Type::item_type; + n_item_type->m_rdf_type = RDF_Type::Enum; + n_item_type->m_node_type = NodeType::Enum; + n_item_type->m_base_type = DF_Type::int16_t; + n_item_type->m_enum_type = "item_type"; + n_item_type->m_address = base + offset; + n_item_type->m_defined_in = "df.item-raws.xml"; + n_item_type->m_first_value = -1; + n_item_type->m_last_value = 90; + n_item_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_type); + + field_name = "item_subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::flow_guide_item_cloudst, field_name)); + auto n_item_subtype = new NodeSimple; + n_item_subtype->m_field_name = field_name; + n_item_subtype->m_df_type = DF_Type::int16_t; + n_item_subtype->m_rdf_type = RDF_Type::int16_t; + n_item_subtype->m_node_type = NodeType::Simple; + n_item_subtype->m_address = base + offset; + n_item_subtype->m_refers_to = "(item-subtype-target $$._parent.item_type $)"; + n_item_subtype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_subtype); + + field_name = "mattype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::flow_guide_item_cloudst, field_name)); + auto n_mattype = new NodeSimple; + n_mattype->m_field_name = field_name; + n_mattype->m_df_type = DF_Type::int16_t; + n_mattype->m_rdf_type = RDF_Type::int16_t; + n_mattype->m_node_type = NodeType::Simple; + n_mattype->m_address = base + offset; + n_mattype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mattype); + + field_name = "matindex"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::flow_guide_item_cloudst, field_name)); + auto n_matindex = new NodeSimple; + n_matindex->m_field_name = field_name; + n_matindex->m_df_type = DF_Type::int32_t; + n_matindex->m_rdf_type = RDF_Type::int32_t; + n_matindex->m_node_type = NodeType::Simple; + n_matindex->m_address = base + offset; + n_matindex->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_matindex); + + field_name = "unk_18"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::flow_guide_item_cloudst, field_name)); + auto n_unk_18 = new NodeSimple; + n_unk_18->m_field_name = field_name; + n_unk_18->m_df_type = DF_Type::int32_t; + n_unk_18->m_rdf_type = RDF_Type::int32_t; + n_unk_18->m_node_type = NodeType::Simple; + n_unk_18->m_address = base + offset; + n_unk_18->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_18); + + field_name = "unk_1c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::flow_guide_item_cloudst, field_name)); + auto n_unk_1c = new NodeSimple; + n_unk_1c->m_field_name = field_name; + n_unk_1c->m_df_type = DF_Type::int32_t; + n_unk_1c->m_rdf_type = RDF_Type::int32_t; + n_unk_1c->m_node_type = NodeType::Simple; + n_unk_1c->m_address = base + offset; + n_unk_1c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_1c); + + field_name = "anon_1"; + auto n_anon_1 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::flow_guide_item_cloudst, field_name)); + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::coord; + n_anon_1->m_rdf_type = RDF_Type::Array; + n_anon_1->m_node_type = NodeType::Array; + n_anon_1->m_defined_in = "df.map.xml"; + n_anon_1->m_addornements = "[15"; + n_anon_1->m_array_size = 15; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_effect_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::effect_info, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_comment = "assigned during Save"; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::effect_info, field_name)); + auto n_anon_1 = new NodePointer; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = get_real_subtype(base+offset, DF_Type::job); + n_anon_1->m_rdf_type = RDF_Type::Pointer; + n_anon_1->m_node_type = NodeType::Pointer; + n_anon_1->m_addornements = "*"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_defined_in = "df.jobs.xml"; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::effect_info, field_name)); + auto n_type = new NodeSimple; + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::int16_t; + n_type->m_rdf_type = RDF_Type::int16_t; + n_type->m_node_type = NodeType::Simple; + n_type->m_address = base + offset; + n_type->m_comment = "2 = falling into chasm"; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + + field_name = "foreground"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::effect_info, field_name)); + auto n_foreground = new NodeSimple; + n_foreground->m_field_name = field_name; + n_foreground->m_df_type = DF_Type::int16_t; + n_foreground->m_rdf_type = RDF_Type::int16_t; + n_foreground->m_node_type = NodeType::Simple; + n_foreground->m_address = base + offset; + n_foreground->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_foreground); + + field_name = "background"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::effect_info, field_name)); + auto n_background = new NodeSimple; + n_background->m_field_name = field_name; + n_background->m_df_type = DF_Type::int16_t; + n_background->m_rdf_type = RDF_Type::int16_t; + n_background->m_node_type = NodeType::Simple; + n_background->m_address = base + offset; + n_background->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_background); + + field_name = "bright"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::effect_info, field_name)); + auto n_bright = new NodeSimple; + n_bright->m_field_name = field_name; + n_bright->m_df_type = DF_Type::int8_t; + n_bright->m_rdf_type = RDF_Type::int8_t; + n_bright->m_node_type = NodeType::Simple; + n_bright->m_address = base + offset; + n_bright->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_bright); + + field_name = "pos"; + auto n_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::effect_info, field_name)); + n_pos->m_field_name = field_name; + n_pos->m_df_type = DF_Type::coord; + n_pos->m_rdf_type = RDF_Type::Struct; + n_pos->m_node_type = NodeType::Compound; + n_pos->m_address = base + offset; + n_pos->m_defined_in = "df.map.xml"; + n_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pos); + + field_name = "timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::effect_info, field_name)); + auto n_timer = new NodeSimple; + n_timer->m_field_name = field_name; + n_timer->m_df_type = DF_Type::int32_t; + n_timer->m_rdf_type = RDF_Type::int32_t; + n_timer->m_node_type = NodeType::Simple; + n_timer->m_address = base + offset; + n_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_timer); + +} +void node_from_material_common__T_heat(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "spec_heat"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common__T_heat, field_name)); + auto n_spec_heat = new NodeSimple; + n_spec_heat->m_field_name = field_name; + n_spec_heat->m_df_type = DF_Type::uint16_t; + n_spec_heat->m_rdf_type = RDF_Type::uint16_t; + n_spec_heat->m_node_type = NodeType::Simple; + n_spec_heat->m_address = base + offset; + n_spec_heat->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_spec_heat); + + field_name = "heatdam_point"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common__T_heat, field_name)); + auto n_heatdam_point = new NodeSimple; + n_heatdam_point->m_field_name = field_name; + n_heatdam_point->m_df_type = DF_Type::uint16_t; + n_heatdam_point->m_rdf_type = RDF_Type::uint16_t; + n_heatdam_point->m_node_type = NodeType::Simple; + n_heatdam_point->m_address = base + offset; + n_heatdam_point->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_heatdam_point); + + field_name = "colddam_point"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common__T_heat, field_name)); + auto n_colddam_point = new NodeSimple; + n_colddam_point->m_field_name = field_name; + n_colddam_point->m_df_type = DF_Type::uint16_t; + n_colddam_point->m_rdf_type = RDF_Type::uint16_t; + n_colddam_point->m_node_type = NodeType::Simple; + n_colddam_point->m_address = base + offset; + n_colddam_point->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_colddam_point); + + field_name = "ignite_point"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common__T_heat, field_name)); + auto n_ignite_point = new NodeSimple; + n_ignite_point->m_field_name = field_name; + n_ignite_point->m_df_type = DF_Type::uint16_t; + n_ignite_point->m_rdf_type = RDF_Type::uint16_t; + n_ignite_point->m_node_type = NodeType::Simple; + n_ignite_point->m_address = base + offset; + n_ignite_point->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ignite_point); + + field_name = "melting_point"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common__T_heat, field_name)); + auto n_melting_point = new NodeSimple; + n_melting_point->m_field_name = field_name; + n_melting_point->m_df_type = DF_Type::uint16_t; + n_melting_point->m_rdf_type = RDF_Type::uint16_t; + n_melting_point->m_node_type = NodeType::Simple; + n_melting_point->m_address = base + offset; + n_melting_point->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_melting_point); + + field_name = "boiling_point"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common__T_heat, field_name)); + auto n_boiling_point = new NodeSimple; + n_boiling_point->m_field_name = field_name; + n_boiling_point->m_df_type = DF_Type::uint16_t; + n_boiling_point->m_rdf_type = RDF_Type::uint16_t; + n_boiling_point->m_node_type = NodeType::Simple; + n_boiling_point->m_address = base + offset; + n_boiling_point->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_boiling_point); + + field_name = "mat_fixed_temp"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common__T_heat, field_name)); + auto n_mat_fixed_temp = new NodeSimple; + n_mat_fixed_temp->m_field_name = field_name; + n_mat_fixed_temp->m_df_type = DF_Type::uint16_t; + n_mat_fixed_temp->m_rdf_type = RDF_Type::uint16_t; + n_mat_fixed_temp->m_node_type = NodeType::Simple; + n_mat_fixed_temp->m_address = base + offset; + n_mat_fixed_temp->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_fixed_temp); + +} +void node_from_material_common__T_strength(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "absorption"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common__T_strength, field_name)); + auto n_absorption = new NodeSimple; + n_absorption->m_field_name = field_name; + n_absorption->m_df_type = DF_Type::int32_t; + n_absorption->m_rdf_type = RDF_Type::int32_t; + n_absorption->m_node_type = NodeType::Simple; + n_absorption->m_address = base + offset; + n_absorption->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_absorption); + + field_name = "yield"; + auto n_yield = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common__T_strength, field_name)); + n_yield->m_field_name = field_name; + n_yield->m_df_type = DF_Type::int32_t; + n_yield->m_rdf_type = RDF_Type::Array; + n_yield->m_node_type = NodeType::Array; + n_yield->m_index_enum = DF_Type::strain_type; + n_yield->m_addornements = "[6"; + n_yield->m_array_size = 6; + n_yield->m_address = base + offset; + n_yield->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_yield); + + field_name = "fracture"; + auto n_fracture = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common__T_strength, field_name)); + n_fracture->m_field_name = field_name; + n_fracture->m_df_type = DF_Type::int32_t; + n_fracture->m_rdf_type = RDF_Type::Array; + n_fracture->m_node_type = NodeType::Array; + n_fracture->m_index_enum = DF_Type::strain_type; + n_fracture->m_addornements = "[6"; + n_fracture->m_array_size = 6; + n_fracture->m_address = base + offset; + n_fracture->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_fracture); + + field_name = "strain_at_yield"; + auto n_strain_at_yield = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common__T_strength, field_name)); + n_strain_at_yield->m_field_name = field_name; + n_strain_at_yield->m_df_type = DF_Type::int32_t; + n_strain_at_yield->m_rdf_type = RDF_Type::Array; + n_strain_at_yield->m_node_type = NodeType::Array; + n_strain_at_yield->m_index_enum = DF_Type::strain_type; + n_strain_at_yield->m_addornements = "[6"; + n_strain_at_yield->m_array_size = 6; + n_strain_at_yield->m_address = base + offset; + n_strain_at_yield->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_strain_at_yield); + + field_name = "max_edge"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common__T_strength, field_name)); + auto n_max_edge = new NodeSimple; + n_max_edge->m_field_name = field_name; + n_max_edge->m_df_type = DF_Type::int32_t; + n_max_edge->m_rdf_type = RDF_Type::int32_t; + n_max_edge->m_node_type = NodeType::Simple; + n_max_edge->m_address = base + offset; + n_max_edge->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_max_edge); + +} +void node_from_material_common__T_reaction_product(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common__T_reaction_product, field_name)); + auto n_id = new NodeVector; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::Stl_string; + n_id->m_rdf_type = RDF_Type::Vector; + n_id->m_node_type = NodeType::Vector; + n_id->m_addornements = "v*"; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + n_id->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_id); + + field_name = "item_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common__T_reaction_product, field_name)); + auto n_item_type = new NodeVector; + n_item_type->m_field_name = field_name; + n_item_type->m_df_type = DF_Type::int16_t; + n_item_type->m_rdf_type = RDF_Type::Vector; + n_item_type->m_node_type = NodeType::Vector; + n_item_type->m_addornements = "v"; + n_item_type->m_address = base + offset; + n_item_type->m_parent = p_node_parent; + n_item_type->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_item_type); + + field_name = "item_subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common__T_reaction_product, field_name)); + auto n_item_subtype = new NodeVector; + n_item_subtype->m_field_name = field_name; + n_item_subtype->m_df_type = DF_Type::int16_t; + n_item_subtype->m_rdf_type = RDF_Type::Vector; + n_item_subtype->m_node_type = NodeType::Vector; + n_item_subtype->m_addornements = "v"; + n_item_subtype->m_address = base + offset; + n_item_subtype->m_parent = p_node_parent; + n_item_subtype->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_item_subtype); + + field_name = "material"; + auto n_material = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common__T_reaction_product, field_name)); + n_material->m_field_name = field_name; + n_material->m_df_type = DF_Type::material_vec_ref; + n_material->m_rdf_type = RDF_Type::Struct; + n_material->m_node_type = NodeType::Compound; + n_material->m_address = base + offset; + n_material->m_defined_in = "df.materials.xml"; + n_material->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_material); + + field_name = "str"; + auto n_str = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common__T_reaction_product, field_name)); + n_str->m_field_name = field_name; + n_str->m_df_type = DF_Type::Stl_string; + n_str->m_rdf_type = RDF_Type::Array; + n_str->m_node_type = NodeType::Array; + n_str->m_addornements = "[5v*"; + n_str->m_array_size = 5; + n_str->m_address = base + offset; + n_str->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_str); + +} +void node_from_material_common__T_hardens_with_water(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common__T_hardens_with_water, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common__T_hardens_with_water, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "str"; + auto n_str = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common__T_hardens_with_water, field_name)); + n_str->m_field_name = field_name; + n_str->m_df_type = DF_Type::Stl_string; + n_str->m_rdf_type = RDF_Type::Array; + n_str->m_node_type = NodeType::Array; + n_str->m_addornements = "[3"; + n_str->m_array_size = 3; + n_str->m_address = base + offset; + n_str->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_str); + +} +void node_from_material_common(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::Stl_string; + n_id->m_rdf_type = RDF_Type::Stl_string; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "gem_name1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); + auto n_gem_name1 = new NodeSimple; + n_gem_name1->m_field_name = field_name; + n_gem_name1->m_df_type = DF_Type::Stl_string; + n_gem_name1->m_rdf_type = RDF_Type::Stl_string; + n_gem_name1->m_node_type = NodeType::Simple; + n_gem_name1->m_address = base + offset; + n_gem_name1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_gem_name1); + + field_name = "gem_name2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); + auto n_gem_name2 = new NodeSimple; + n_gem_name2->m_field_name = field_name; + n_gem_name2->m_df_type = DF_Type::Stl_string; + n_gem_name2->m_rdf_type = RDF_Type::Stl_string; + n_gem_name2->m_node_type = NodeType::Simple; + n_gem_name2->m_address = base + offset; + n_gem_name2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_gem_name2); + + field_name = "stone_name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); + auto n_stone_name = new NodeSimple; + n_stone_name->m_field_name = field_name; + n_stone_name->m_df_type = DF_Type::Stl_string; + n_stone_name->m_rdf_type = RDF_Type::Stl_string; + n_stone_name->m_node_type = NodeType::Simple; + n_stone_name->m_address = base + offset; + n_stone_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_stone_name); + + field_name = "heat"; + auto n_heat = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); + n_heat->m_field_name = field_name; + n_heat->m_df_type = DF_Type::material_common__T_heat; + n_heat->m_rdf_type = RDF_Type::Compound; + n_heat->m_node_type = NodeType::Compound; + n_heat->m_address = base + offset; + n_heat->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_heat); + + field_name = "solid_density"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); + auto n_solid_density = new NodeSimple; + n_solid_density->m_field_name = field_name; + n_solid_density->m_df_type = DF_Type::int32_t; + n_solid_density->m_rdf_type = RDF_Type::int32_t; + n_solid_density->m_node_type = NodeType::Simple; + n_solid_density->m_address = base + offset; + n_solid_density->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_solid_density); + + field_name = "liquid_density"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); + auto n_liquid_density = new NodeSimple; + n_liquid_density->m_field_name = field_name; + n_liquid_density->m_df_type = DF_Type::int32_t; + n_liquid_density->m_rdf_type = RDF_Type::int32_t; + n_liquid_density->m_node_type = NodeType::Simple; + n_liquid_density->m_address = base + offset; + n_liquid_density->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_liquid_density); + + field_name = "molar_mass"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); + auto n_molar_mass = new NodeSimple; + n_molar_mass->m_field_name = field_name; + n_molar_mass->m_df_type = DF_Type::int32_t; + n_molar_mass->m_rdf_type = RDF_Type::int32_t; + n_molar_mass->m_node_type = NodeType::Simple; + n_molar_mass->m_address = base + offset; + n_molar_mass->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_molar_mass); + + field_name = "state_color"; + auto n_state_color = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); + n_state_color->m_field_name = field_name; + n_state_color->m_df_type = DF_Type::int32_t; + n_state_color->m_rdf_type = RDF_Type::Array; + n_state_color->m_node_type = NodeType::Array; + n_state_color->m_index_enum = DF_Type::matter_state; + n_state_color->m_addornements = "[6"; + n_state_color->m_array_size = 6; + n_state_color->m_address = base + offset; + n_state_color->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_state_color); + + field_name = "state_name"; + auto n_state_name = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); + n_state_name->m_field_name = field_name; + n_state_name->m_df_type = DF_Type::Stl_string; + n_state_name->m_rdf_type = RDF_Type::Array; + n_state_name->m_node_type = NodeType::Array; + n_state_name->m_index_enum = DF_Type::matter_state; + n_state_name->m_addornements = "[6"; + n_state_name->m_array_size = 6; + n_state_name->m_address = base + offset; + n_state_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_state_name); + + field_name = "state_adj"; + auto n_state_adj = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); + n_state_adj->m_field_name = field_name; + n_state_adj->m_df_type = DF_Type::Stl_string; + n_state_adj->m_rdf_type = RDF_Type::Array; + n_state_adj->m_node_type = NodeType::Array; + n_state_adj->m_index_enum = DF_Type::matter_state; + n_state_adj->m_addornements = "[6"; + n_state_adj->m_array_size = 6; + n_state_adj->m_address = base + offset; + n_state_adj->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_state_adj); + + field_name = "strength"; + auto n_strength = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); + n_strength->m_field_name = field_name; + n_strength->m_df_type = DF_Type::material_common__T_strength; + n_strength->m_rdf_type = RDF_Type::Compound; + n_strength->m_node_type = NodeType::Compound; + n_strength->m_address = base + offset; + n_strength->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_strength); + + field_name = "material_value"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); + auto n_material_value = new NodeSimple; + n_material_value->m_field_name = field_name; + n_material_value->m_df_type = DF_Type::int32_t; + n_material_value->m_rdf_type = RDF_Type::int32_t; + n_material_value->m_node_type = NodeType::Simple; + n_material_value->m_address = base + offset; + n_material_value->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_material_value); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); + auto n_flags = new NodeDFFlagArray; + n_flags->m_field_name = field_name; + n_flags->m_index_enum = DF_Type::material_flags; + n_flags->m_df_type = DF_Type::material_flags; + n_flags->m_size = 75; + n_flags->m_rdf_type = RDF_Type::DFFlagArray; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_defined_in = "df.materials.xml"; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "extract_storage"; + auto n_extract_storage = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); + n_extract_storage->m_field_name = field_name; + n_extract_storage->m_df_type = DF_Type::item_type; + n_extract_storage->m_rdf_type = RDF_Type::Enum; + n_extract_storage->m_node_type = NodeType::Enum; + n_extract_storage->m_base_type = DF_Type::int16_t; + n_extract_storage->m_enum_type = "item_type"; + n_extract_storage->m_address = base + offset; + n_extract_storage->m_defined_in = "df.item-raws.xml"; + n_extract_storage->m_first_value = -1; + n_extract_storage->m_last_value = 90; + n_extract_storage->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_extract_storage); + + field_name = "butcher_special_type"; + auto n_butcher_special_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); + n_butcher_special_type->m_field_name = field_name; + n_butcher_special_type->m_df_type = DF_Type::item_type; + n_butcher_special_type->m_rdf_type = RDF_Type::Enum; + n_butcher_special_type->m_node_type = NodeType::Enum; + n_butcher_special_type->m_base_type = DF_Type::int16_t; + n_butcher_special_type->m_enum_type = "item_type"; + n_butcher_special_type->m_address = base + offset; + n_butcher_special_type->m_defined_in = "df.item-raws.xml"; + n_butcher_special_type->m_first_value = -1; + n_butcher_special_type->m_last_value = 90; + n_butcher_special_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_butcher_special_type); + + field_name = "butcher_special_subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); + auto n_butcher_special_subtype = new NodeSimple; + n_butcher_special_subtype->m_field_name = field_name; + n_butcher_special_subtype->m_df_type = DF_Type::int16_t; + n_butcher_special_subtype->m_rdf_type = RDF_Type::int16_t; + n_butcher_special_subtype->m_node_type = NodeType::Simple; + n_butcher_special_subtype->m_address = base + offset; + n_butcher_special_subtype->m_refers_to = "(item-subtype-target $$._parent.butcher_special_type $)"; + n_butcher_special_subtype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_butcher_special_subtype); + + field_name = "meat_name"; + auto n_meat_name = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); + n_meat_name->m_field_name = field_name; + n_meat_name->m_df_type = DF_Type::Stl_string; + n_meat_name->m_rdf_type = RDF_Type::Array; + n_meat_name->m_node_type = NodeType::Array; + n_meat_name->m_addornements = "[3"; + n_meat_name->m_array_size = 3; + n_meat_name->m_address = base + offset; + n_meat_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_meat_name); + + field_name = "block_name"; + auto n_block_name = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); + n_block_name->m_field_name = field_name; + n_block_name->m_df_type = DF_Type::Stl_string; + n_block_name->m_rdf_type = RDF_Type::Array; + n_block_name->m_node_type = NodeType::Array; + n_block_name->m_addornements = "[2"; + n_block_name->m_array_size = 2; + n_block_name->m_address = base + offset; + n_block_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_block_name); + + field_name = "reaction_product"; + auto n_reaction_product = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); + n_reaction_product->m_field_name = field_name; + n_reaction_product->m_df_type = DF_Type::material_common__T_reaction_product; + n_reaction_product->m_rdf_type = RDF_Type::Compound; + n_reaction_product->m_node_type = NodeType::Compound; + n_reaction_product->m_address = base + offset; + n_reaction_product->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_reaction_product); + + field_name = "hardens_with_water"; + auto n_hardens_with_water = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); + n_hardens_with_water->m_field_name = field_name; + n_hardens_with_water->m_df_type = DF_Type::material_common__T_hardens_with_water; + n_hardens_with_water->m_rdf_type = RDF_Type::Compound; + n_hardens_with_water->m_node_type = NodeType::Compound; + n_hardens_with_water->m_address = base + offset; + n_hardens_with_water->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_hardens_with_water); + + field_name = "reaction_class"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); + auto n_reaction_class = new NodeVector; + n_reaction_class->m_field_name = field_name; + n_reaction_class->m_df_type = DF_Type::Stl_string; + n_reaction_class->m_rdf_type = RDF_Type::Vector; + n_reaction_class->m_node_type = NodeType::Vector; + n_reaction_class->m_addornements = "v*"; + n_reaction_class->m_address = base + offset; + n_reaction_class->m_parent = p_node_parent; + n_reaction_class->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_reaction_class); + + field_name = "tile"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); + auto n_tile = new NodeSimple; + n_tile->m_field_name = field_name; + n_tile->m_df_type = DF_Type::uint8_t; + n_tile->m_rdf_type = RDF_Type::uint8_t; + n_tile->m_node_type = NodeType::Simple; + n_tile->m_address = base + offset; + n_tile->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tile); + + field_name = "basic_color"; + auto n_basic_color = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); + n_basic_color->m_field_name = field_name; + n_basic_color->m_df_type = DF_Type::int16_t; + n_basic_color->m_rdf_type = RDF_Type::Array; + n_basic_color->m_node_type = NodeType::Array; + n_basic_color->m_addornements = "[2"; + n_basic_color->m_array_size = 2; + n_basic_color->m_address = base + offset; + n_basic_color->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_basic_color); + + field_name = "build_color"; + auto n_build_color = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); + n_build_color->m_field_name = field_name; + n_build_color->m_df_type = DF_Type::int16_t; + n_build_color->m_rdf_type = RDF_Type::Array; + n_build_color->m_node_type = NodeType::Array; + n_build_color->m_addornements = "[3"; + n_build_color->m_array_size = 3; + n_build_color->m_address = base + offset; + n_build_color->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_build_color); + + field_name = "tile_color"; + auto n_tile_color = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); + n_tile_color->m_field_name = field_name; + n_tile_color->m_df_type = DF_Type::int16_t; + n_tile_color->m_rdf_type = RDF_Type::Array; + n_tile_color->m_node_type = NodeType::Array; + n_tile_color->m_addornements = "[3"; + n_tile_color->m_array_size = 3; + n_tile_color->m_address = base + offset; + n_tile_color->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tile_color); + + field_name = "item_symbol"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); + auto n_item_symbol = new NodeSimple; + n_item_symbol->m_field_name = field_name; + n_item_symbol->m_df_type = DF_Type::uint8_t; + n_item_symbol->m_rdf_type = RDF_Type::uint8_t; + n_item_symbol->m_node_type = NodeType::Simple; + n_item_symbol->m_address = base + offset; + n_item_symbol->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_symbol); + + field_name = "powder_dye"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); + auto n_powder_dye = new NodeSimple; + n_powder_dye->m_field_name = field_name; + n_powder_dye->m_df_type = DF_Type::int16_t; + n_powder_dye->m_rdf_type = RDF_Type::int16_t; + n_powder_dye->m_node_type = NodeType::Simple; + n_powder_dye->m_address = base + offset; + n_powder_dye->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_powder_dye); + + field_name = "temp_diet_info"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); + auto n_temp_diet_info = new NodeSimple; + n_temp_diet_info->m_field_name = field_name; + n_temp_diet_info->m_df_type = DF_Type::int16_t; + n_temp_diet_info->m_rdf_type = RDF_Type::int16_t; + n_temp_diet_info->m_node_type = NodeType::Simple; + n_temp_diet_info->m_address = base + offset; + n_temp_diet_info->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_temp_diet_info); + + field_name = "syndrome"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); + auto n_syndrome = new NodeVector; + n_syndrome->m_field_name = field_name; + n_syndrome->m_df_type = DF_Type::syndrome; + n_syndrome->m_rdf_type = RDF_Type::Vector; + n_syndrome->m_node_type = NodeType::Vector; + n_syndrome->m_defined_in = "df.syndrome.xml"; + n_syndrome->m_addornements = "v*"; + n_syndrome->m_address = base + offset; + n_syndrome->m_parent = p_node_parent; + n_syndrome->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_syndrome); + + field_name = "soap_level"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); + auto n_soap_level = new NodeSimple; + n_soap_level->m_field_name = field_name; + n_soap_level->m_df_type = DF_Type::int32_t; + n_soap_level->m_rdf_type = RDF_Type::int32_t; + n_soap_level->m_node_type = NodeType::Simple; + n_soap_level->m_address = base + offset; + n_soap_level->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_soap_level); + + field_name = "unk_41c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_common, field_name)); + auto n_unk_41c = new NodeVector; + n_unk_41c->m_field_name = field_name; + n_unk_41c->m_df_type = DF_Type::Void; + n_unk_41c->m_rdf_type = RDF_Type::Vector; + n_unk_41c->m_node_type = NodeType::Vector; + n_unk_41c->m_addornements = "v"; + n_unk_41c->m_address = base + offset; + n_unk_41c->m_parent = p_node_parent; + n_unk_41c->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_41c); + +} +void node_from_material(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::material_common; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_material_common(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "prefix"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material, field_name)); + auto n_prefix = new NodeSimple; + n_prefix->m_field_name = field_name; + n_prefix->m_df_type = DF_Type::Stl_string; + n_prefix->m_rdf_type = RDF_Type::Stl_string; + n_prefix->m_node_type = NodeType::Simple; + n_prefix->m_address = base + offset; + n_prefix->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_prefix); + + field_name = "food_mat_index"; + auto n_food_mat_index = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material, field_name)); + n_food_mat_index->m_field_name = field_name; + n_food_mat_index->m_df_type = DF_Type::int32_t; + n_food_mat_index->m_rdf_type = RDF_Type::Array; + n_food_mat_index->m_node_type = NodeType::Array; + n_food_mat_index->m_index_enum = DF_Type::organic_mat_category; + n_food_mat_index->m_addornements = "[39"; + n_food_mat_index->m_array_size = 39; + n_food_mat_index->m_address = base + offset; + n_food_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_food_mat_index); + + field_name = "powder_dye_str"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material, field_name)); + auto n_powder_dye_str = new NodeSimple; + n_powder_dye_str->m_field_name = field_name; + n_powder_dye_str->m_df_type = DF_Type::Stl_string; + n_powder_dye_str->m_rdf_type = RDF_Type::Stl_string; + n_powder_dye_str->m_node_type = NodeType::Simple; + n_powder_dye_str->m_address = base + offset; + n_powder_dye_str->m_comment = "temporary"; + n_powder_dye_str->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_powder_dye_str); + + field_name = "state_color_str"; + auto n_state_color_str = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material, field_name)); + n_state_color_str->m_field_name = field_name; + n_state_color_str->m_df_type = DF_Type::Stl_string; + n_state_color_str->m_rdf_type = RDF_Type::Array; + n_state_color_str->m_node_type = NodeType::Array; + n_state_color_str->m_index_enum = DF_Type::matter_state; + n_state_color_str->m_addornements = "[6"; + n_state_color_str->m_array_size = 6; + n_state_color_str->m_address = base + offset; + n_state_color_str->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_state_color_str); + +} +void node_from_material_template(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::material_common; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_material_common(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "powder_dye_str"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_template, field_name)); + auto n_powder_dye_str = new NodeSimple; + n_powder_dye_str->m_field_name = field_name; + n_powder_dye_str->m_df_type = DF_Type::Stl_string; + n_powder_dye_str->m_rdf_type = RDF_Type::Stl_string; + n_powder_dye_str->m_node_type = NodeType::Simple; + n_powder_dye_str->m_address = base + offset; + n_powder_dye_str->m_comment = "temporary"; + n_powder_dye_str->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_powder_dye_str); + + field_name = "state_color_str"; + auto n_state_color_str = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::material_template, field_name)); + n_state_color_str->m_field_name = field_name; + n_state_color_str->m_df_type = DF_Type::Stl_string; + n_state_color_str->m_rdf_type = RDF_Type::Array; + n_state_color_str->m_node_type = NodeType::Array; + n_state_color_str->m_index_enum = DF_Type::matter_state; + n_state_color_str->m_addornements = "[6"; + n_state_color_str->m_array_size = 6; + n_state_color_str->m_address = base + offset; + n_state_color_str->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_state_color_str); + +} +void node_from_inorganic_raw__T_metal_ore(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "str"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::inorganic_raw__T_metal_ore, field_name)); + auto n_str = new NodeVector; + n_str->m_field_name = field_name; + n_str->m_df_type = DF_Type::Stl_string; + n_str->m_rdf_type = RDF_Type::Vector; + n_str->m_node_type = NodeType::Vector; + n_str->m_addornements = "v*"; + n_str->m_address = base + offset; + n_str->m_comment = "only during parsing"; + n_str->m_parent = p_node_parent; + n_str->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_str); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::inorganic_raw__T_metal_ore, field_name)); + auto n_mat_index = new NodeVector; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int16_t; + n_mat_index->m_rdf_type = RDF_Type::Vector; + n_mat_index->m_node_type = NodeType::Vector; + n_mat_index->m_addornements = "v"; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + n_mat_index->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "probability"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::inorganic_raw__T_metal_ore, field_name)); + auto n_probability = new NodeVector; + n_probability->m_field_name = field_name; + n_probability->m_df_type = DF_Type::int16_t; + n_probability->m_rdf_type = RDF_Type::Vector; + n_probability->m_node_type = NodeType::Vector; + n_probability->m_addornements = "v"; + n_probability->m_address = base + offset; + n_probability->m_parent = p_node_parent; + n_probability->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_probability); + +} +void node_from_inorganic_raw__T_thread_metal(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "str"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::inorganic_raw__T_thread_metal, field_name)); + auto n_str = new NodeVector; + n_str->m_field_name = field_name; + n_str->m_df_type = DF_Type::Stl_string; + n_str->m_rdf_type = RDF_Type::Vector; + n_str->m_node_type = NodeType::Vector; + n_str->m_addornements = "v*"; + n_str->m_address = base + offset; + n_str->m_comment = "only during parsing"; + n_str->m_parent = p_node_parent; + n_str->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_str); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::inorganic_raw__T_thread_metal, field_name)); + auto n_mat_index = new NodeVector; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int16_t; + n_mat_index->m_rdf_type = RDF_Type::Vector; + n_mat_index->m_node_type = NodeType::Vector; + n_mat_index->m_addornements = "v"; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + n_mat_index->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "probability"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::inorganic_raw__T_thread_metal, field_name)); + auto n_probability = new NodeVector; + n_probability->m_field_name = field_name; + n_probability->m_df_type = DF_Type::int16_t; + n_probability->m_rdf_type = RDF_Type::Vector; + n_probability->m_node_type = NodeType::Vector; + n_probability->m_addornements = "v"; + n_probability->m_address = base + offset; + n_probability->m_parent = p_node_parent; + n_probability->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_probability); + +} +void node_from_inorganic_raw__T_environment_spec(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "str"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::inorganic_raw__T_environment_spec, field_name)); + auto n_str = new NodeVector; + n_str->m_field_name = field_name; + n_str->m_df_type = DF_Type::Stl_string; + n_str->m_rdf_type = RDF_Type::Vector; + n_str->m_node_type = NodeType::Vector; + n_str->m_addornements = "v*"; + n_str->m_address = base + offset; + n_str->m_comment = "only during parsing"; + n_str->m_parent = p_node_parent; + n_str->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_str); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::inorganic_raw__T_environment_spec, field_name)); + auto n_mat_index = new NodeVector; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int16_t; + n_mat_index->m_rdf_type = RDF_Type::Vector; + n_mat_index->m_node_type = NodeType::Vector; + n_mat_index->m_addornements = "v"; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + n_mat_index->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "inclusion_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::inorganic_raw__T_environment_spec, field_name)); + auto n_inclusion_type = new NodeVector; + n_inclusion_type->m_field_name = field_name; + n_inclusion_type->m_df_type = DF_Type::inclusion_type; + n_inclusion_type->m_rdf_type = RDF_Type::Vector; + n_inclusion_type->m_node_type = NodeType::Vector; + n_inclusion_type->m_enum_base = DF_Type::int16_t; + n_inclusion_type->m_defined_in = "df.materials.xml"; + n_inclusion_type->m_addornements = "v"; + n_inclusion_type->m_address = base + offset; + n_inclusion_type->m_parent = p_node_parent; + n_inclusion_type->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_inclusion_type); + + field_name = "probability"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::inorganic_raw__T_environment_spec, field_name)); + auto n_probability = new NodeVector; + n_probability->m_field_name = field_name; + n_probability->m_df_type = DF_Type::int8_t; + n_probability->m_rdf_type = RDF_Type::Vector; + n_probability->m_node_type = NodeType::Vector; + n_probability->m_addornements = "v"; + n_probability->m_address = base + offset; + n_probability->m_parent = p_node_parent; + n_probability->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_probability); + +} +void node_from_inorganic_raw__T_environment(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "location"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::inorganic_raw__T_environment, field_name)); + auto n_location = new NodeVector; + n_location->m_field_name = field_name; + n_location->m_df_type = DF_Type::environment_type; + n_location->m_rdf_type = RDF_Type::Vector; + n_location->m_node_type = NodeType::Vector; + n_location->m_enum_base = DF_Type::int16_t; + n_location->m_defined_in = "df.materials.xml"; + n_location->m_addornements = "v"; + n_location->m_address = base + offset; + n_location->m_parent = p_node_parent; + n_location->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_location); + + field_name = "type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::inorganic_raw__T_environment, field_name)); + auto n_type = new NodeVector; + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::inclusion_type; + n_type->m_rdf_type = RDF_Type::Vector; + n_type->m_node_type = NodeType::Vector; + n_type->m_enum_base = DF_Type::int16_t; + n_type->m_defined_in = "df.materials.xml"; + n_type->m_addornements = "v"; + n_type->m_address = base + offset; + n_type->m_parent = p_node_parent; + n_type->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_type); + + field_name = "probability"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::inorganic_raw__T_environment, field_name)); + auto n_probability = new NodeVector; + n_probability->m_field_name = field_name; + n_probability->m_df_type = DF_Type::int8_t; + n_probability->m_rdf_type = RDF_Type::Vector; + n_probability->m_node_type = NodeType::Vector; + n_probability->m_addornements = "v"; + n_probability->m_address = base + offset; + n_probability->m_parent = p_node_parent; + n_probability->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_probability); + +} +void node_from_inorganic_raw(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::inorganic_raw, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::Stl_string; + n_id->m_rdf_type = RDF_Type::Stl_string; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "str"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::inorganic_raw, field_name)); + auto n_str = new NodeVector; + n_str->m_field_name = field_name; + n_str->m_df_type = DF_Type::Stl_string; + n_str->m_rdf_type = RDF_Type::Vector; + n_str->m_node_type = NodeType::Vector; + n_str->m_addornements = "v*"; + n_str->m_address = base + offset; + n_str->m_parent = p_node_parent; + n_str->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_str); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::inorganic_raw, field_name)); + auto n_flags = new NodeDFFlagArray; + n_flags->m_field_name = field_name; + n_flags->m_index_enum = DF_Type::inorganic_flags; + n_flags->m_df_type = DF_Type::inorganic_flags; + n_flags->m_size = 32; + n_flags->m_rdf_type = RDF_Type::DFFlagArray; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_defined_in = "df.materials.xml"; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "source_hfid"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::inorganic_raw, field_name)); + auto n_source_hfid = new NodeSimple; + n_source_hfid->m_field_name = field_name; + n_source_hfid->m_df_type = DF_Type::int32_t; + n_source_hfid->m_rdf_type = RDF_Type::int32_t; + n_source_hfid->m_node_type = NodeType::Simple; + n_source_hfid->m_address = base + offset; + n_source_hfid->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_source_hfid); + + field_name = "unk_v4201_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::inorganic_raw, field_name)); + auto n_unk_v4201_1 = new NodeSimple; + n_unk_v4201_1->m_field_name = field_name; + n_unk_v4201_1->m_df_type = DF_Type::int32_t; + n_unk_v4201_1->m_rdf_type = RDF_Type::int32_t; + n_unk_v4201_1->m_node_type = NodeType::Simple; + n_unk_v4201_1->m_address = base + offset; + n_unk_v4201_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v4201_1); + + field_name = "metal_ore"; + auto n_metal_ore = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::inorganic_raw, field_name)); + n_metal_ore->m_field_name = field_name; + n_metal_ore->m_df_type = DF_Type::inorganic_raw__T_metal_ore; + n_metal_ore->m_rdf_type = RDF_Type::Compound; + n_metal_ore->m_node_type = NodeType::Compound; + n_metal_ore->m_address = base + offset; + n_metal_ore->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_metal_ore); + + field_name = "thread_metal"; + auto n_thread_metal = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::inorganic_raw, field_name)); + n_thread_metal->m_field_name = field_name; + n_thread_metal->m_df_type = DF_Type::inorganic_raw__T_thread_metal; + n_thread_metal->m_rdf_type = RDF_Type::Compound; + n_thread_metal->m_node_type = NodeType::Compound; + n_thread_metal->m_address = base + offset; + n_thread_metal->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_thread_metal); + + field_name = "economic_uses"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::inorganic_raw, field_name)); + auto n_economic_uses = new NodeVector; + n_economic_uses->m_field_name = field_name; + n_economic_uses->m_df_type = DF_Type::int32_t; + n_economic_uses->m_rdf_type = RDF_Type::Vector; + n_economic_uses->m_node_type = NodeType::Vector; + n_economic_uses->m_addornements = "v"; + n_economic_uses->m_address = base + offset; + n_economic_uses->m_parent = p_node_parent; + n_economic_uses->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_economic_uses); + + field_name = "environment_spec"; + auto n_environment_spec = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::inorganic_raw, field_name)); + n_environment_spec->m_field_name = field_name; + n_environment_spec->m_df_type = DF_Type::inorganic_raw__T_environment_spec; + n_environment_spec->m_rdf_type = RDF_Type::Compound; + n_environment_spec->m_node_type = NodeType::Compound; + n_environment_spec->m_address = base + offset; + n_environment_spec->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_environment_spec); + + field_name = "environment"; + auto n_environment = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::inorganic_raw, field_name)); + n_environment->m_field_name = field_name; + n_environment->m_df_type = DF_Type::inorganic_raw__T_environment; + n_environment->m_rdf_type = RDF_Type::Compound; + n_environment->m_node_type = NodeType::Compound; + n_environment->m_address = base + offset; + n_environment->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_environment); + + field_name = "unk2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::inorganic_raw, field_name)); + auto n_unk2 = new NodeSimple; + n_unk2->m_field_name = field_name; + n_unk2->m_df_type = DF_Type::int32_t; + n_unk2->m_rdf_type = RDF_Type::int32_t; + n_unk2->m_node_type = NodeType::Simple; + n_unk2->m_address = base + offset; + n_unk2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk2); + + field_name = "material"; + auto n_material = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::inorganic_raw, field_name)); + n_material->m_field_name = field_name; + n_material->m_df_type = DF_Type::material; + n_material->m_rdf_type = RDF_Type::Struct; + n_material->m_node_type = NodeType::Compound; + n_material->m_address = base + offset; + n_material->m_defined_in = "df.materials.xml"; + n_material->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_material); + +} +void node_from_special_mat_table(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "organic_types"; + auto n_organic_types = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::special_mat_table, field_name)); + n_organic_types->m_field_name = field_name; + n_organic_types->m_df_type = DF_Type::int16_t; + n_organic_types->m_rdf_type = RDF_Type::Array; + n_organic_types->m_node_type = NodeType::Array; + n_organic_types->m_index_enum = DF_Type::organic_mat_category; + n_organic_types->m_addornements = "[39v"; + n_organic_types->m_array_size = 39; + n_organic_types->m_address = base + offset; + n_organic_types->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_organic_types); + + field_name = "organic_indexes"; + auto n_organic_indexes = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::special_mat_table, field_name)); + n_organic_indexes->m_field_name = field_name; + n_organic_indexes->m_df_type = DF_Type::int32_t; + n_organic_indexes->m_rdf_type = RDF_Type::Array; + n_organic_indexes->m_node_type = NodeType::Array; + n_organic_indexes->m_index_enum = DF_Type::organic_mat_category; + n_organic_indexes->m_addornements = "[39v"; + n_organic_indexes->m_array_size = 39; + n_organic_indexes->m_address = base + offset; + n_organic_indexes->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_organic_indexes); + + field_name = "organic_unknown"; + auto n_organic_unknown = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::special_mat_table, field_name)); + n_organic_unknown->m_field_name = field_name; + n_organic_unknown->m_df_type = DF_Type::int32_t; + n_organic_unknown->m_rdf_type = RDF_Type::Array; + n_organic_unknown->m_comment = "everything 0"; + n_organic_unknown->m_node_type = NodeType::Array; + n_organic_unknown->m_index_enum = DF_Type::organic_mat_category; + n_organic_unknown->m_addornements = "[39v"; + n_organic_unknown->m_array_size = 39; + n_organic_unknown->m_address = base + offset; + n_organic_unknown->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_organic_unknown); + + field_name = "builtin"; + auto n_builtin = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::special_mat_table, field_name)); + n_builtin->m_field_name = field_name; + n_builtin->m_df_type = DF_Type::material; + n_builtin->m_rdf_type = RDF_Type::Array; + n_builtin->m_node_type = NodeType::Array; + n_builtin->m_index_enum = DF_Type::builtin_mats; + n_builtin->m_defined_in = "df.materials.xml"; + n_builtin->m_addornements = "[659*"; + n_builtin->m_array_size = 659; + n_builtin->m_address = base + offset; + n_builtin->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_builtin); + +} +void node_from_dipscript_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dipscript_info, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_comment = "assigned during Save"; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "script_file"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dipscript_info, field_name)); + auto n_script_file = new NodeSimple; + n_script_file->m_field_name = field_name; + n_script_file->m_df_type = DF_Type::Stl_string; + n_script_file->m_rdf_type = RDF_Type::Stl_string; + n_script_file->m_node_type = NodeType::Simple; + n_script_file->m_address = base + offset; + n_script_file->m_comment = "data/dipscript/dwarf_liaison"; + n_script_file->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_script_file); + + field_name = "script_steps"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dipscript_info, field_name)); + auto n_script_steps = new NodeVector; + n_script_steps->m_field_name = field_name; + n_script_steps->m_df_type = DF_Type::script_stepst; + n_script_steps->m_rdf_type = RDF_Type::Vector; + n_script_steps->m_node_type = NodeType::Vector; + n_script_steps->m_defined_in = "df.meeting.xml"; + n_script_steps->m_addornements = "v*"; + n_script_steps->m_address = base + offset; + n_script_steps->m_parent = p_node_parent; + n_script_steps->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_script_steps); + + field_name = "script_vars"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dipscript_info, field_name)); + auto n_script_vars = new NodeVector; + n_script_vars->m_field_name = field_name; + n_script_vars->m_df_type = DF_Type::script_varst; + n_script_vars->m_rdf_type = RDF_Type::Vector; + n_script_vars->m_node_type = NodeType::Vector; + n_script_vars->m_defined_in = "df.meeting.xml"; + n_script_vars->m_addornements = "v*"; + n_script_vars->m_address = base + offset; + n_script_vars->m_parent = p_node_parent; + n_script_vars->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_script_vars); + + field_name = "code"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dipscript_info, field_name)); + auto n_code = new NodeSimple; + n_code->m_field_name = field_name; + n_code->m_df_type = DF_Type::Stl_string; + n_code->m_rdf_type = RDF_Type::Stl_string; + n_code->m_node_type = NodeType::Simple; + n_code->m_address = base + offset; + n_code->m_comment = "DWARF_LIAISON etc"; + n_code->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_code); + +} +void node_from_dipscript_popup(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "meeting_holder"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dipscript_popup, field_name)); + auto n_meeting_holder = new NodePointer; + n_meeting_holder->m_field_name = field_name; + n_meeting_holder->m_df_type = get_real_subtype(base+offset, DF_Type::unit); + n_meeting_holder->m_rdf_type = RDF_Type::Pointer; + n_meeting_holder->m_node_type = NodeType::Pointer; + n_meeting_holder->m_addornements = "*"; + n_meeting_holder->m_address = base + offset; + n_meeting_holder->m_parent = p_node_parent; + n_meeting_holder->m_defined_in = "df.units.xml"; + n_meeting_holder->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_meeting_holder); + + field_name = "activity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dipscript_popup, field_name)); + auto n_activity = new NodePointer; + n_activity->m_field_name = field_name; + n_activity->m_df_type = get_real_subtype(base+offset, DF_Type::activity_info); + n_activity->m_rdf_type = RDF_Type::Pointer; + n_activity->m_node_type = NodeType::Pointer; + n_activity->m_addornements = "*"; + n_activity->m_address = base + offset; + n_activity->m_parent = p_node_parent; + n_activity->m_defined_in = "df.meeting.xml"; + n_activity->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_activity); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::dipscript_popup, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::dipscript_popup__T_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + +} +void node_from_active_script_var_unitst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::active_script_varst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_active_script_varst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unit"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::active_script_var_unitst, field_name)); + auto n_unit = new NodePointer; + n_unit->m_field_name = field_name; + n_unit->m_df_type = get_real_subtype(base+offset, DF_Type::unit); + n_unit->m_rdf_type = RDF_Type::Pointer; + n_unit->m_node_type = NodeType::Pointer; + n_unit->m_addornements = "*"; + n_unit->m_address = base + offset; + n_unit->m_parent = p_node_parent; + n_unit->m_defined_in = "df.units.xml"; + n_unit->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unit); + +} +void node_from_meeting_context(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "meeting"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_context, field_name)); + auto n_meeting = new NodePointer; + n_meeting->m_field_name = field_name; + n_meeting->m_df_type = get_real_subtype(base+offset, DF_Type::meeting_diplomat_info); + n_meeting->m_rdf_type = RDF_Type::Pointer; + n_meeting->m_node_type = NodeType::Pointer; + n_meeting->m_addornements = "*"; + n_meeting->m_address = base + offset; + n_meeting->m_parent = p_node_parent; + n_meeting->m_defined_in = "df.meeting.xml"; + n_meeting->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_meeting); + + field_name = "popup"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_context, field_name)); + auto n_popup = new NodePointer; + n_popup->m_field_name = field_name; + n_popup->m_df_type = get_real_subtype(base+offset, DF_Type::dipscript_popup); + n_popup->m_rdf_type = RDF_Type::Pointer; + n_popup->m_node_type = NodeType::Pointer; + n_popup->m_addornements = "*"; + n_popup->m_address = base + offset; + n_popup->m_parent = p_node_parent; + n_popup->m_defined_in = "df.meeting.xml"; + n_popup->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_popup); + + field_name = "unk_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_context, field_name)); + auto n_unk_2 = new NodePointer; + n_unk_2->m_field_name = field_name; + n_unk_2->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_unk_2->m_rdf_type = RDF_Type::Pointer; + n_unk_2->m_node_type = NodeType::Pointer; + n_unk_2->m_addornements = "*"; + n_unk_2->m_address = base + offset; + n_unk_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_2); + + field_name = "unk_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_context, field_name)); + auto n_unk_3 = new NodePointer; + n_unk_3->m_field_name = field_name; + n_unk_3->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_unk_3->m_rdf_type = RDF_Type::Pointer; + n_unk_3->m_node_type = NodeType::Pointer; + n_unk_3->m_addornements = "*"; + n_unk_3->m_address = base + offset; + n_unk_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_3); + +} +void node_from_meeting_diplomat_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "civ_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_diplomat_info, field_name)); + auto n_civ_id = new NodeSimple; + n_civ_id->m_field_name = field_name; + n_civ_id->m_df_type = DF_Type::int32_t; + n_civ_id->m_rdf_type = RDF_Type::int32_t; + n_civ_id->m_node_type = NodeType::Simple; + n_civ_id->m_address = base + offset; + n_civ_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_civ_id); + + field_name = "unk1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_diplomat_info, field_name)); + auto n_unk1 = new NodeSimple; + n_unk1->m_field_name = field_name; + n_unk1->m_df_type = DF_Type::int16_t; + n_unk1->m_rdf_type = RDF_Type::int16_t; + n_unk1->m_node_type = NodeType::Simple; + n_unk1->m_address = base + offset; + n_unk1->m_comment = "maybe is_first_contact"; + n_unk1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk1); + + field_name = "diplomat_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_diplomat_info, field_name)); + auto n_diplomat_id = new NodeSimple; + n_diplomat_id->m_field_name = field_name; + n_diplomat_id->m_df_type = DF_Type::int32_t; + n_diplomat_id->m_rdf_type = RDF_Type::int32_t; + n_diplomat_id->m_node_type = NodeType::Simple; + n_diplomat_id->m_address = base + offset; + n_diplomat_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_diplomat_id); + + field_name = "associate_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_diplomat_info, field_name)); + auto n_associate_id = new NodeSimple; + n_associate_id->m_field_name = field_name; + n_associate_id->m_df_type = DF_Type::int32_t; + n_associate_id->m_rdf_type = RDF_Type::int32_t; + n_associate_id->m_node_type = NodeType::Simple; + n_associate_id->m_address = base + offset; + n_associate_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_associate_id); + + field_name = "topic_list"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_diplomat_info, field_name)); + auto n_topic_list = new NodeVector; + n_topic_list->m_field_name = field_name; + n_topic_list->m_df_type = DF_Type::meeting_topic; + n_topic_list->m_rdf_type = RDF_Type::Vector; + n_topic_list->m_node_type = NodeType::Vector; + n_topic_list->m_enum_base = DF_Type::int32_t; + n_topic_list->m_defined_in = "df.meeting.xml"; + n_topic_list->m_addornements = "v"; + n_topic_list->m_address = base + offset; + n_topic_list->m_parent = p_node_parent; + n_topic_list->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_topic_list); + + field_name = "topic_parms"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_diplomat_info, field_name)); + auto n_topic_parms = new NodeVector; + n_topic_parms->m_field_name = field_name; + n_topic_parms->m_df_type = DF_Type::int32_t; + n_topic_parms->m_rdf_type = RDF_Type::Vector; + n_topic_parms->m_node_type = NodeType::Vector; + n_topic_parms->m_addornements = "v"; + n_topic_parms->m_address = base + offset; + n_topic_parms->m_parent = p_node_parent; + n_topic_parms->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_topic_parms); + + field_name = "sell_requests"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_diplomat_info, field_name)); + auto n_sell_requests = new NodePointer; + n_sell_requests->m_field_name = field_name; + n_sell_requests->m_df_type = get_real_subtype(base+offset, DF_Type::entity_sell_requests); + n_sell_requests->m_rdf_type = RDF_Type::Pointer; + n_sell_requests->m_node_type = NodeType::Pointer; + n_sell_requests->m_addornements = "*"; + n_sell_requests->m_address = base + offset; + n_sell_requests->m_parent = p_node_parent; + n_sell_requests->m_defined_in = "df.entities.xml"; + n_sell_requests->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_sell_requests); + + field_name = "buy_requests"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_diplomat_info, field_name)); + auto n_buy_requests = new NodePointer; + n_buy_requests->m_field_name = field_name; + n_buy_requests->m_df_type = get_real_subtype(base+offset, DF_Type::entity_buy_requests); + n_buy_requests->m_rdf_type = RDF_Type::Pointer; + n_buy_requests->m_node_type = NodeType::Pointer; + n_buy_requests->m_addornements = "*"; + n_buy_requests->m_address = base + offset; + n_buy_requests->m_parent = p_node_parent; + n_buy_requests->m_defined_in = "df.entities.xml"; + n_buy_requests->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_buy_requests); + + field_name = "dipscript"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_diplomat_info, field_name)); + auto n_dipscript = new NodePointer; + n_dipscript->m_field_name = field_name; + n_dipscript->m_df_type = get_real_subtype(base+offset, DF_Type::dipscript_info); + n_dipscript->m_rdf_type = RDF_Type::Pointer; + n_dipscript->m_node_type = NodeType::Pointer; + n_dipscript->m_addornements = "*"; + n_dipscript->m_address = base + offset; + n_dipscript->m_parent = p_node_parent; + n_dipscript->m_defined_in = "df.meeting.xml"; + n_dipscript->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_dipscript); + + field_name = "cur_step"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_diplomat_info, field_name)); + auto n_cur_step = new NodeSimple; + n_cur_step->m_field_name = field_name; + n_cur_step->m_df_type = DF_Type::int32_t; + n_cur_step->m_rdf_type = RDF_Type::int32_t; + n_cur_step->m_node_type = NodeType::Simple; + n_cur_step->m_address = base + offset; + n_cur_step->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cur_step); + + field_name = "active_script_vars"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_diplomat_info, field_name)); + auto n_active_script_vars = new NodeVector; + n_active_script_vars->m_field_name = field_name; + n_active_script_vars->m_df_type = DF_Type::active_script_varst; + n_active_script_vars->m_rdf_type = RDF_Type::Vector; + n_active_script_vars->m_node_type = NodeType::Vector; + n_active_script_vars->m_defined_in = "df.meeting.xml"; + n_active_script_vars->m_addornements = "v*"; + n_active_script_vars->m_address = base + offset; + n_active_script_vars->m_parent = p_node_parent; + n_active_script_vars->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_active_script_vars); + + field_name = "unk_50"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_diplomat_info, field_name)); + auto n_unk_50 = new NodeSimple; + n_unk_50->m_field_name = field_name; + n_unk_50->m_df_type = DF_Type::Stl_string; + n_unk_50->m_rdf_type = RDF_Type::Stl_string; + n_unk_50->m_node_type = NodeType::Simple; + n_unk_50->m_address = base + offset; + n_unk_50->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_50); + + field_name = "unk_6c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_diplomat_info, field_name)); + auto n_unk_6c = new NodeSimple; + n_unk_6c->m_field_name = field_name; + n_unk_6c->m_df_type = DF_Type::Stl_string; + n_unk_6c->m_rdf_type = RDF_Type::Stl_string; + n_unk_6c->m_node_type = NodeType::Simple; + n_unk_6c->m_address = base + offset; + n_unk_6c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_6c); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_diplomat_info, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::meeting_diplomat_info__T_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "events"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_diplomat_info, field_name)); + auto n_events = new NodeVector; + n_events->m_field_name = field_name; + n_events->m_df_type = DF_Type::meeting_event; + n_events->m_rdf_type = RDF_Type::Vector; + n_events->m_node_type = NodeType::Vector; + n_events->m_defined_in = "df.meeting.xml"; + n_events->m_addornements = "v*"; + n_events->m_address = base + offset; + n_events->m_parent = p_node_parent; + n_events->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_events); + + field_name = "agreement_entity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_diplomat_info, field_name)); + auto n_agreement_entity = new NodeVector; + n_agreement_entity->m_field_name = field_name; + n_agreement_entity->m_df_type = DF_Type::int32_t; + n_agreement_entity->m_rdf_type = RDF_Type::Vector; + n_agreement_entity->m_node_type = NodeType::Vector; + n_agreement_entity->m_addornements = "v"; + n_agreement_entity->m_address = base + offset; + n_agreement_entity->m_parent = p_node_parent; + n_agreement_entity->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_agreement_entity); + + field_name = "agreement_topic"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_diplomat_info, field_name)); + auto n_agreement_topic = new NodeVector; + n_agreement_topic->m_field_name = field_name; + n_agreement_topic->m_df_type = DF_Type::meeting_topic; + n_agreement_topic->m_rdf_type = RDF_Type::Vector; + n_agreement_topic->m_node_type = NodeType::Vector; + n_agreement_topic->m_enum_base = DF_Type::int16_t; + n_agreement_topic->m_defined_in = "df.meeting.xml"; + n_agreement_topic->m_addornements = "v"; + n_agreement_topic->m_address = base + offset; + n_agreement_topic->m_parent = p_node_parent; + n_agreement_topic->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_agreement_topic); + + field_name = "agreement_year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_diplomat_info, field_name)); + auto n_agreement_year = new NodeVector; + n_agreement_year->m_field_name = field_name; + n_agreement_year->m_df_type = DF_Type::int32_t; + n_agreement_year->m_rdf_type = RDF_Type::Vector; + n_agreement_year->m_node_type = NodeType::Vector; + n_agreement_year->m_addornements = "v"; + n_agreement_year->m_address = base + offset; + n_agreement_year->m_parent = p_node_parent; + n_agreement_year->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_agreement_year); + + field_name = "agreement_tick"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_diplomat_info, field_name)); + auto n_agreement_tick = new NodeVector; + n_agreement_tick->m_field_name = field_name; + n_agreement_tick->m_df_type = DF_Type::int32_t; + n_agreement_tick->m_rdf_type = RDF_Type::Vector; + n_agreement_tick->m_node_type = NodeType::Vector; + n_agreement_tick->m_addornements = "v"; + n_agreement_tick->m_address = base + offset; + n_agreement_tick->m_parent = p_node_parent; + n_agreement_tick->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_agreement_tick); + + field_name = "agreement_outcome"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_diplomat_info, field_name)); + auto n_agreement_outcome = new NodeVector; + n_agreement_outcome->m_field_name = field_name; + n_agreement_outcome->m_df_type = DF_Type::int16_t; + n_agreement_outcome->m_rdf_type = RDF_Type::Vector; + n_agreement_outcome->m_node_type = NodeType::Vector; + n_agreement_outcome->m_addornements = "v"; + n_agreement_outcome->m_address = base + offset; + n_agreement_outcome->m_parent = p_node_parent; + n_agreement_outcome->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_agreement_outcome); + + field_name = "contact_entity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_diplomat_info, field_name)); + auto n_contact_entity = new NodeVector; + n_contact_entity->m_field_name = field_name; + n_contact_entity->m_df_type = DF_Type::int32_t; + n_contact_entity->m_rdf_type = RDF_Type::Vector; + n_contact_entity->m_node_type = NodeType::Vector; + n_contact_entity->m_addornements = "v"; + n_contact_entity->m_address = base + offset; + n_contact_entity->m_parent = p_node_parent; + n_contact_entity->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_contact_entity); + + field_name = "contact_year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_diplomat_info, field_name)); + auto n_contact_year = new NodeVector; + n_contact_year->m_field_name = field_name; + n_contact_year->m_df_type = DF_Type::int32_t; + n_contact_year->m_rdf_type = RDF_Type::Vector; + n_contact_year->m_node_type = NodeType::Vector; + n_contact_year->m_addornements = "v"; + n_contact_year->m_address = base + offset; + n_contact_year->m_parent = p_node_parent; + n_contact_year->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_contact_year); + + field_name = "contact_tick"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_diplomat_info, field_name)); + auto n_contact_tick = new NodeVector; + n_contact_tick->m_field_name = field_name; + n_contact_tick->m_df_type = DF_Type::int32_t; + n_contact_tick->m_rdf_type = RDF_Type::Vector; + n_contact_tick->m_node_type = NodeType::Vector; + n_contact_tick->m_addornements = "v"; + n_contact_tick->m_address = base + offset; + n_contact_tick->m_parent = p_node_parent; + n_contact_tick->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_contact_tick); + +} +void node_from_meeting_event(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "type"; + auto n_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_event, field_name)); + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::meeting_event_type; + n_type->m_rdf_type = RDF_Type::Enum; + n_type->m_node_type = NodeType::Enum; + n_type->m_base_type = DF_Type::int16_t; + n_type->m_enum_type = "meeting_event_type"; + n_type->m_address = base + offset; + n_type->m_defined_in = "df.meeting.xml"; + n_type->m_first_value = 0; + n_type->m_last_value = 5; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + + field_name = "topic"; + auto n_topic = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_event, field_name)); + n_topic->m_field_name = field_name; + n_topic->m_df_type = DF_Type::meeting_topic; + n_topic->m_rdf_type = RDF_Type::Enum; + n_topic->m_node_type = NodeType::Enum; + n_topic->m_base_type = DF_Type::int16_t; + n_topic->m_enum_type = "meeting_topic"; + n_topic->m_address = base + offset; + n_topic->m_defined_in = "df.meeting.xml"; + n_topic->m_first_value = 0; + n_topic->m_last_value = 9; + n_topic->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_topic); + + field_name = "topic_parm"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_event, field_name)); + auto n_topic_parm = new NodeSimple; + n_topic_parm->m_field_name = field_name; + n_topic_parm->m_df_type = DF_Type::int16_t; + n_topic_parm->m_rdf_type = RDF_Type::int16_t; + n_topic_parm->m_node_type = NodeType::Simple; + n_topic_parm->m_address = base + offset; + n_topic_parm->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_topic_parm); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_event, field_name)); + auto n_anon_1 = new NodeVector; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::Vector; + n_anon_1->m_node_type = NodeType::Vector; + n_anon_1->m_addornements = "v"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_event, field_name)); + auto n_anon_2 = new NodeVector; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::Vector; + n_anon_2->m_node_type = NodeType::Vector; + n_anon_2->m_addornements = "v"; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + n_anon_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "quota_total"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_event, field_name)); + auto n_quota_total = new NodeSimple; + n_quota_total->m_field_name = field_name; + n_quota_total->m_df_type = DF_Type::int32_t; + n_quota_total->m_rdf_type = RDF_Type::int32_t; + n_quota_total->m_node_type = NodeType::Simple; + n_quota_total->m_address = base + offset; + n_quota_total->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_quota_total); + + field_name = "quota_remaining"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_event, field_name)); + auto n_quota_remaining = new NodeSimple; + n_quota_remaining->m_field_name = field_name; + n_quota_remaining->m_df_type = DF_Type::int32_t; + n_quota_remaining->m_rdf_type = RDF_Type::int32_t; + n_quota_remaining->m_node_type = NodeType::Simple; + n_quota_remaining->m_address = base + offset; + n_quota_remaining->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_quota_remaining); + + field_name = "year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_event, field_name)); + auto n_year = new NodeSimple; + n_year->m_field_name = field_name; + n_year->m_df_type = DF_Type::int32_t; + n_year->m_rdf_type = RDF_Type::int32_t; + n_year->m_node_type = NodeType::Simple; + n_year->m_address = base + offset; + n_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_year); + + field_name = "ticks"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_event, field_name)); + auto n_ticks = new NodeSimple; + n_ticks->m_field_name = field_name; + n_ticks->m_df_type = DF_Type::int32_t; + n_ticks->m_rdf_type = RDF_Type::int32_t; + n_ticks->m_node_type = NodeType::Simple; + n_ticks->m_address = base + offset; + n_ticks->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ticks); + + field_name = "sell_prices"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_event, field_name)); + auto n_sell_prices = new NodePointer; + n_sell_prices->m_field_name = field_name; + n_sell_prices->m_df_type = get_real_subtype(base+offset, DF_Type::entity_sell_prices); + n_sell_prices->m_rdf_type = RDF_Type::Pointer; + n_sell_prices->m_node_type = NodeType::Pointer; + n_sell_prices->m_addornements = "*"; + n_sell_prices->m_address = base + offset; + n_sell_prices->m_parent = p_node_parent; + n_sell_prices->m_defined_in = "df.entities.xml"; + n_sell_prices->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_sell_prices); + + field_name = "buy_prices"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_event, field_name)); + auto n_buy_prices = new NodePointer; + n_buy_prices->m_field_name = field_name; + n_buy_prices->m_df_type = get_real_subtype(base+offset, DF_Type::entity_buy_prices); + n_buy_prices->m_rdf_type = RDF_Type::Pointer; + n_buy_prices->m_node_type = NodeType::Pointer; + n_buy_prices->m_addornements = "*"; + n_buy_prices->m_address = base + offset; + n_buy_prices->m_parent = p_node_parent; + n_buy_prices->m_defined_in = "df.entities.xml"; + n_buy_prices->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_buy_prices); + +} +void node_from_activity_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_info, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_comment = "assigned during Save"; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "unit_actor"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_info, field_name)); + auto n_unit_actor = new NodePointer; + n_unit_actor->m_field_name = field_name; + n_unit_actor->m_df_type = get_real_subtype(base+offset, DF_Type::unit); + n_unit_actor->m_rdf_type = RDF_Type::Pointer; + n_unit_actor->m_node_type = NodeType::Pointer; + n_unit_actor->m_addornements = "*"; + n_unit_actor->m_address = base + offset; + n_unit_actor->m_comment = "diplomat or worker"; + n_unit_actor->m_parent = p_node_parent; + n_unit_actor->m_defined_in = "df.units.xml"; + n_unit_actor->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unit_actor); + + field_name = "unit_noble"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_info, field_name)); + auto n_unit_noble = new NodePointer; + n_unit_noble->m_field_name = field_name; + n_unit_noble->m_df_type = get_real_subtype(base+offset, DF_Type::unit); + n_unit_noble->m_rdf_type = RDF_Type::Pointer; + n_unit_noble->m_node_type = NodeType::Pointer; + n_unit_noble->m_addornements = "*"; + n_unit_noble->m_address = base + offset; + n_unit_noble->m_comment = "meeting recipient"; + n_unit_noble->m_parent = p_node_parent; + n_unit_noble->m_defined_in = "df.units.xml"; + n_unit_noble->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unit_noble); + + field_name = "place"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_info, field_name)); + auto n_place = new NodePointer; + n_place->m_field_name = field_name; + n_place->m_df_type = get_real_subtype(base+offset, DF_Type::building); + n_place->m_rdf_type = RDF_Type::Pointer; + n_place->m_node_type = NodeType::Pointer; + n_place->m_addornements = "*"; + n_place->m_address = base + offset; + n_place->m_parent = p_node_parent; + n_place->m_defined_in = "df.buildings.xml"; + n_place->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_place); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_info, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::activity_info__T_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "unk3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_info, field_name)); + auto n_unk3 = new NodeSimple; + n_unk3->m_field_name = field_name; + n_unk3->m_df_type = DF_Type::int8_t; + n_unk3->m_rdf_type = RDF_Type::int8_t; + n_unk3->m_node_type = NodeType::Simple; + n_unk3->m_address = base + offset; + n_unk3->m_comment = "3"; + n_unk3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk3); + + field_name = "delay"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_info, field_name)); + auto n_delay = new NodeSimple; + n_delay->m_field_name = field_name; + n_delay->m_df_type = DF_Type::int16_t; + n_delay->m_rdf_type = RDF_Type::int16_t; + n_delay->m_node_type = NodeType::Simple; + n_delay->m_address = base + offset; + n_delay->m_comment = "0"; + n_delay->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_delay); + + field_name = "tree_quota"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_info, field_name)); + auto n_tree_quota = new NodeSimple; + n_tree_quota->m_field_name = field_name; + n_tree_quota->m_df_type = DF_Type::int32_t; + n_tree_quota->m_rdf_type = RDF_Type::int32_t; + n_tree_quota->m_node_type = NodeType::Simple; + n_tree_quota->m_address = base + offset; + n_tree_quota->m_comment = "-1"; + n_tree_quota->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tree_quota); + +} +void node_from_party_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "units"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::party_info, field_name)); + auto n_units = new NodeVector; + n_units->m_field_name = field_name; + n_units->m_df_type = DF_Type::unit; + n_units->m_rdf_type = RDF_Type::Vector; + n_units->m_node_type = NodeType::Vector; + n_units->m_defined_in = "df.units.xml"; + n_units->m_addornements = "v*"; + n_units->m_address = base + offset; + n_units->m_parent = p_node_parent; + n_units->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_units); + + field_name = "location"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::party_info, field_name)); + auto n_location = new NodePointer; + n_location->m_field_name = field_name; + n_location->m_df_type = get_real_subtype(base+offset, DF_Type::building); + n_location->m_rdf_type = RDF_Type::Pointer; + n_location->m_node_type = NodeType::Pointer; + n_location->m_addornements = "*"; + n_location->m_address = base + offset; + n_location->m_parent = p_node_parent; + n_location->m_defined_in = "df.buildings.xml"; + n_location->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_location); + + field_name = "timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::party_info, field_name)); + auto n_timer = new NodeSimple; + n_timer->m_field_name = field_name; + n_timer->m_df_type = DF_Type::int32_t; + n_timer->m_rdf_type = RDF_Type::int32_t; + n_timer->m_node_type = NodeType::Simple; + n_timer->m_address = base + offset; + n_timer->m_comment = "-1 per 10"; + n_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_timer); + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::party_info, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_comment = "assigned during Save"; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + +} +void node_from_room_rent_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "elements"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::room_rent_info, field_name)); + auto n_elements = new NodeVector; + n_elements->m_field_name = field_name; + n_elements->m_df_type = DF_Type::building; + n_elements->m_rdf_type = RDF_Type::Vector; + n_elements->m_node_type = NodeType::Vector; + n_elements->m_defined_in = "df.buildings.xml"; + n_elements->m_addornements = "v*"; + n_elements->m_address = base + offset; + n_elements->m_parent = p_node_parent; + n_elements->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_elements); + + field_name = "rent_value"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::room_rent_info, field_name)); + auto n_rent_value = new NodeSimple; + n_rent_value->m_field_name = field_name; + n_rent_value->m_df_type = DF_Type::int32_t; + n_rent_value->m_rdf_type = RDF_Type::int32_t; + n_rent_value->m_node_type = NodeType::Simple; + n_rent_value->m_address = base + offset; + n_rent_value->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rent_value); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::room_rent_info, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::room_rent_info__T_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + +} +void node_from_activity_entry(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_entry, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_entry, field_name)); + auto n_type = new NodeSimple; + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::int16_t; + n_type->m_rdf_type = RDF_Type::int16_t; + n_type->m_node_type = NodeType::Simple; + n_type->m_address = base + offset; + n_type->m_comment = "was is_individual; 2 is associated with Conflict events"; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + + field_name = "events"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_entry, field_name)); + auto n_events = new NodeVector; + n_events->m_field_name = field_name; + n_events->m_df_type = DF_Type::activity_event; + n_events->m_rdf_type = RDF_Type::Vector; + n_events->m_node_type = NodeType::Vector; + n_events->m_defined_in = "df.meeting.xml"; + n_events->m_addornements = "v*"; + n_events->m_address = base + offset; + n_events->m_parent = p_node_parent; + n_events->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_events); + + field_name = "next_event_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_entry, field_name)); + auto n_next_event_id = new NodeSimple; + n_next_event_id->m_field_name = field_name; + n_next_event_id->m_df_type = DF_Type::int32_t; + n_next_event_id->m_rdf_type = RDF_Type::int32_t; + n_next_event_id->m_node_type = NodeType::Simple; + n_next_event_id->m_address = base + offset; + n_next_event_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_next_event_id); + + field_name = "army_controller"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_entry, field_name)); + auto n_army_controller = new NodeSimple; + n_army_controller->m_field_name = field_name; + n_army_controller->m_df_type = DF_Type::int32_t; + n_army_controller->m_rdf_type = RDF_Type::int32_t; + n_army_controller->m_node_type = NodeType::Simple; + n_army_controller->m_address = base + offset; + n_army_controller->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_army_controller); + +} +void node_from_activity_event__T_unk_v42_1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event__T_unk_v42_1, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "item_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event__T_unk_v42_1, field_name)); + auto n_item_id = new NodeSimple; + n_item_id->m_field_name = field_name; + n_item_id->m_df_type = DF_Type::int32_t; + n_item_id->m_rdf_type = RDF_Type::int32_t; + n_item_id->m_node_type = NodeType::Simple; + n_item_id->m_address = base + offset; + n_item_id->m_comment = "is artifact id for some activities ie. copy written"; + n_item_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_id); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event__T_unk_v42_1, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + +} +void node_from_activity_event__T_unk_v42_2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event__T_unk_v42_2, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event__T_unk_v42_2, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "item_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event__T_unk_v42_2, field_name)); + auto n_item_id = new NodeSimple; + n_item_id->m_field_name = field_name; + n_item_id->m_df_type = DF_Type::int32_t; + n_item_id->m_rdf_type = RDF_Type::int32_t; + n_item_id->m_node_type = NodeType::Simple; + n_item_id->m_address = base + offset; + n_item_id->m_comment = "is unit ID for writing jobs"; + n_item_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_id); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event__T_unk_v42_2, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + +} +void node_from_activity_event(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "event_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event, field_name)); + auto n_event_id = new NodeSimple; + n_event_id->m_field_name = field_name; + n_event_id->m_df_type = DF_Type::int32_t; + n_event_id->m_rdf_type = RDF_Type::int32_t; + n_event_id->m_node_type = NodeType::Simple; + n_event_id->m_address = base + offset; + n_event_id->m_comment = "mostly, but not always, the index in activity.events"; + n_event_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_event_id); + + field_name = "activity_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event, field_name)); + auto n_activity_id = new NodeSimple; + n_activity_id->m_field_name = field_name; + n_activity_id->m_df_type = DF_Type::int32_t; + n_activity_id->m_rdf_type = RDF_Type::int32_t; + n_activity_id->m_node_type = NodeType::Simple; + n_activity_id->m_address = base + offset; + n_activity_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_activity_id); + + field_name = "parent_event_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event, field_name)); + auto n_parent_event_id = new NodeSimple; + n_parent_event_id->m_field_name = field_name; + n_parent_event_id->m_df_type = DF_Type::int32_t; + n_parent_event_id->m_rdf_type = RDF_Type::int32_t; + n_parent_event_id->m_node_type = NodeType::Simple; + n_parent_event_id->m_address = base + offset; + n_parent_event_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_parent_event_id); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::activity_event__T_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "unk_v42_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event, field_name)); + auto n_unk_v42_1 = new NodeVector; + n_unk_v42_1->m_field_name = field_name; + n_unk_v42_1->m_df_type = DF_Type::activity_event__T_unk_v42_1; + n_unk_v42_1->m_rdf_type = RDF_Type::Vector; + n_unk_v42_1->m_node_type = NodeType::Vector; + n_unk_v42_1->m_addornements = "v*"; + n_unk_v42_1->m_address = base + offset; + n_unk_v42_1->m_parent = p_node_parent; + n_unk_v42_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_v42_1); + + field_name = "unk_v42_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event, field_name)); + auto n_unk_v42_2 = new NodeVector; + n_unk_v42_2->m_field_name = field_name; + n_unk_v42_2->m_df_type = DF_Type::activity_event__T_unk_v42_2; + n_unk_v42_2->m_rdf_type = RDF_Type::Vector; + n_unk_v42_2->m_node_type = NodeType::Vector; + n_unk_v42_2->m_addornements = "v*"; + n_unk_v42_2->m_address = base + offset; + n_unk_v42_2->m_parent = p_node_parent; + n_unk_v42_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_v42_2); + +} +void node_from_activity_event_training_sessionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::activity_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_activity_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "participants"; + auto n_participants = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_training_sessionst, field_name)); + n_participants->m_field_name = field_name; + n_participants->m_df_type = DF_Type::activity_event_participants; + n_participants->m_rdf_type = RDF_Type::Struct; + n_participants->m_node_type = NodeType::Compound; + n_participants->m_address = base + offset; + n_participants->m_defined_in = "df.meeting.xml"; + n_participants->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_participants); + +} +void node_from_activity_event_combat_trainingst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::activity_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_activity_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "participants"; + auto n_participants = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_combat_trainingst, field_name)); + n_participants->m_field_name = field_name; + n_participants->m_df_type = DF_Type::activity_event_participants; + n_participants->m_rdf_type = RDF_Type::Struct; + n_participants->m_node_type = NodeType::Compound; + n_participants->m_address = base + offset; + n_participants->m_defined_in = "df.meeting.xml"; + n_participants->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_participants); + + field_name = "building_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_combat_trainingst, field_name)); + auto n_building_id = new NodeSimple; + n_building_id->m_field_name = field_name; + n_building_id->m_df_type = DF_Type::int32_t; + n_building_id->m_rdf_type = RDF_Type::int32_t; + n_building_id->m_node_type = NodeType::Simple; + n_building_id->m_address = base + offset; + n_building_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_building_id); + + field_name = "hist_figure_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_combat_trainingst, field_name)); + auto n_hist_figure_id = new NodeSimple; + n_hist_figure_id->m_field_name = field_name; + n_hist_figure_id->m_df_type = DF_Type::int32_t; + n_hist_figure_id->m_rdf_type = RDF_Type::int32_t; + n_hist_figure_id->m_node_type = NodeType::Simple; + n_hist_figure_id->m_address = base + offset; + n_hist_figure_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_hist_figure_id); + + field_name = "unit_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_combat_trainingst, field_name)); + auto n_unit_id = new NodeSimple; + n_unit_id->m_field_name = field_name; + n_unit_id->m_df_type = DF_Type::int32_t; + n_unit_id->m_rdf_type = RDF_Type::int32_t; + n_unit_id->m_node_type = NodeType::Simple; + n_unit_id->m_address = base + offset; + n_unit_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unit_id); + + field_name = "organize_counter"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_combat_trainingst, field_name)); + auto n_organize_counter = new NodeSimple; + n_organize_counter->m_field_name = field_name; + n_organize_counter->m_df_type = DF_Type::int32_t; + n_organize_counter->m_rdf_type = RDF_Type::int32_t; + n_organize_counter->m_node_type = NodeType::Simple; + n_organize_counter->m_address = base + offset; + n_organize_counter->m_comment = "gt 0 => organizing, lt 0 => done"; + n_organize_counter->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_organize_counter); + +} +void node_from_activity_event_skill_demonstrationst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::activity_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_activity_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "participants"; + auto n_participants = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_skill_demonstrationst, field_name)); + n_participants->m_field_name = field_name; + n_participants->m_df_type = DF_Type::activity_event_participants; + n_participants->m_rdf_type = RDF_Type::Struct; + n_participants->m_node_type = NodeType::Compound; + n_participants->m_address = base + offset; + n_participants->m_defined_in = "df.meeting.xml"; + n_participants->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_participants); + + field_name = "building_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_skill_demonstrationst, field_name)); + auto n_building_id = new NodeSimple; + n_building_id->m_field_name = field_name; + n_building_id->m_df_type = DF_Type::int32_t; + n_building_id->m_rdf_type = RDF_Type::int32_t; + n_building_id->m_node_type = NodeType::Simple; + n_building_id->m_address = base + offset; + n_building_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_building_id); + + field_name = "hist_figure_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_skill_demonstrationst, field_name)); + auto n_hist_figure_id = new NodeSimple; + n_hist_figure_id->m_field_name = field_name; + n_hist_figure_id->m_df_type = DF_Type::int32_t; + n_hist_figure_id->m_rdf_type = RDF_Type::int32_t; + n_hist_figure_id->m_node_type = NodeType::Simple; + n_hist_figure_id->m_address = base + offset; + n_hist_figure_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_hist_figure_id); + + field_name = "unit_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_skill_demonstrationst, field_name)); + auto n_unit_id = new NodeSimple; + n_unit_id->m_field_name = field_name; + n_unit_id->m_df_type = DF_Type::int32_t; + n_unit_id->m_rdf_type = RDF_Type::int32_t; + n_unit_id->m_node_type = NodeType::Simple; + n_unit_id->m_address = base + offset; + n_unit_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unit_id); + + field_name = "skill"; + auto n_skill = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_skill_demonstrationst, field_name)); + n_skill->m_field_name = field_name; + n_skill->m_df_type = DF_Type::job_skill; + n_skill->m_rdf_type = RDF_Type::Enum; + n_skill->m_node_type = NodeType::Enum; + n_skill->m_base_type = DF_Type::int16_t; + n_skill->m_enum_type = "job_skill"; + n_skill->m_address = base + offset; + n_skill->m_defined_in = "df.skills.xml"; + n_skill->m_first_value = -1; + n_skill->m_last_value = 134; + n_skill->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_skill); + + field_name = "organize_counter"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_skill_demonstrationst, field_name)); + auto n_organize_counter = new NodeSimple; + n_organize_counter->m_field_name = field_name; + n_organize_counter->m_df_type = DF_Type::int32_t; + n_organize_counter->m_rdf_type = RDF_Type::int32_t; + n_organize_counter->m_node_type = NodeType::Simple; + n_organize_counter->m_address = base + offset; + n_organize_counter->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_organize_counter); + + field_name = "wait_countdown"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_skill_demonstrationst, field_name)); + auto n_wait_countdown = new NodeSimple; + n_wait_countdown->m_field_name = field_name; + n_wait_countdown->m_df_type = DF_Type::int32_t; + n_wait_countdown->m_rdf_type = RDF_Type::int32_t; + n_wait_countdown->m_node_type = NodeType::Simple; + n_wait_countdown->m_address = base + offset; + n_wait_countdown->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_wait_countdown); + + field_name = "train_rounds"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_skill_demonstrationst, field_name)); + auto n_train_rounds = new NodeSimple; + n_train_rounds->m_field_name = field_name; + n_train_rounds->m_df_type = DF_Type::int32_t; + n_train_rounds->m_rdf_type = RDF_Type::int32_t; + n_train_rounds->m_node_type = NodeType::Simple; + n_train_rounds->m_address = base + offset; + n_train_rounds->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_train_rounds); + + field_name = "train_countdown"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_skill_demonstrationst, field_name)); + auto n_train_countdown = new NodeSimple; + n_train_countdown->m_field_name = field_name; + n_train_countdown->m_df_type = DF_Type::int32_t; + n_train_countdown->m_rdf_type = RDF_Type::int32_t; + n_train_countdown->m_node_type = NodeType::Simple; + n_train_countdown->m_address = base + offset; + n_train_countdown->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_train_countdown); + +} +void node_from_activity_event_individual_skill_drillst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::activity_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_activity_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "participants"; + auto n_participants = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_individual_skill_drillst, field_name)); + n_participants->m_field_name = field_name; + n_participants->m_df_type = DF_Type::activity_event_participants; + n_participants->m_rdf_type = RDF_Type::Struct; + n_participants->m_node_type = NodeType::Compound; + n_participants->m_address = base + offset; + n_participants->m_defined_in = "df.meeting.xml"; + n_participants->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_participants); + + field_name = "building_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_individual_skill_drillst, field_name)); + auto n_building_id = new NodeSimple; + n_building_id->m_field_name = field_name; + n_building_id->m_df_type = DF_Type::int32_t; + n_building_id->m_rdf_type = RDF_Type::int32_t; + n_building_id->m_node_type = NodeType::Simple; + n_building_id->m_address = base + offset; + n_building_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_building_id); + + field_name = "countdown"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_individual_skill_drillst, field_name)); + auto n_countdown = new NodeSimple; + n_countdown->m_field_name = field_name; + n_countdown->m_df_type = DF_Type::int32_t; + n_countdown->m_rdf_type = RDF_Type::int32_t; + n_countdown->m_node_type = NodeType::Simple; + n_countdown->m_address = base + offset; + n_countdown->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_countdown); + +} +void node_from_activity_event_sparringst__T_groups(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "units"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_sparringst__T_groups, field_name)); + auto n_units = new NodeVector; + n_units->m_field_name = field_name; + n_units->m_df_type = DF_Type::int32_t; + n_units->m_rdf_type = RDF_Type::Vector; + n_units->m_node_type = NodeType::Vector; + n_units->m_addornements = "v"; + n_units->m_address = base + offset; + n_units->m_parent = p_node_parent; + n_units->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_units); + + field_name = "countdown"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_sparringst__T_groups, field_name)); + auto n_countdown = new NodeSimple; + n_countdown->m_field_name = field_name; + n_countdown->m_df_type = DF_Type::int32_t; + n_countdown->m_rdf_type = RDF_Type::int32_t; + n_countdown->m_node_type = NodeType::Simple; + n_countdown->m_address = base + offset; + n_countdown->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_countdown); + + field_name = "building_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_sparringst__T_groups, field_name)); + auto n_building_id = new NodeSimple; + n_building_id->m_field_name = field_name; + n_building_id->m_df_type = DF_Type::int32_t; + n_building_id->m_rdf_type = RDF_Type::int32_t; + n_building_id->m_node_type = NodeType::Simple; + n_building_id->m_address = base + offset; + n_building_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_building_id); + +} +void node_from_activity_event_sparringst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::activity_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_activity_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "participants"; + auto n_participants = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_sparringst, field_name)); + n_participants->m_field_name = field_name; + n_participants->m_df_type = DF_Type::activity_event_participants; + n_participants->m_rdf_type = RDF_Type::Struct; + n_participants->m_node_type = NodeType::Compound; + n_participants->m_address = base + offset; + n_participants->m_defined_in = "df.meeting.xml"; + n_participants->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_participants); + + field_name = "building_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_sparringst, field_name)); + auto n_building_id = new NodeSimple; + n_building_id->m_field_name = field_name; + n_building_id->m_df_type = DF_Type::int32_t; + n_building_id->m_rdf_type = RDF_Type::int32_t; + n_building_id->m_node_type = NodeType::Simple; + n_building_id->m_address = base + offset; + n_building_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_building_id); + + field_name = "groups"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_sparringst, field_name)); + auto n_groups = new NodeVector; + n_groups->m_field_name = field_name; + n_groups->m_df_type = DF_Type::activity_event_sparringst__T_groups; + n_groups->m_rdf_type = RDF_Type::Vector; + n_groups->m_node_type = NodeType::Vector; + n_groups->m_addornements = "v*"; + n_groups->m_address = base + offset; + n_groups->m_parent = p_node_parent; + n_groups->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_groups); + + field_name = "countdown"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_sparringst, field_name)); + auto n_countdown = new NodeSimple; + n_countdown->m_field_name = field_name; + n_countdown->m_df_type = DF_Type::int32_t; + n_countdown->m_rdf_type = RDF_Type::int32_t; + n_countdown->m_node_type = NodeType::Simple; + n_countdown->m_address = base + offset; + n_countdown->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_countdown); + +} +void node_from_activity_event_ranged_practicest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::activity_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_activity_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "participants"; + auto n_participants = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_ranged_practicest, field_name)); + n_participants->m_field_name = field_name; + n_participants->m_df_type = DF_Type::activity_event_participants; + n_participants->m_rdf_type = RDF_Type::Struct; + n_participants->m_node_type = NodeType::Compound; + n_participants->m_address = base + offset; + n_participants->m_defined_in = "df.meeting.xml"; + n_participants->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_participants); + + field_name = "building_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_ranged_practicest, field_name)); + auto n_building_id = new NodeSimple; + n_building_id->m_field_name = field_name; + n_building_id->m_df_type = DF_Type::int32_t; + n_building_id->m_rdf_type = RDF_Type::int32_t; + n_building_id->m_node_type = NodeType::Simple; + n_building_id->m_address = base + offset; + n_building_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_building_id); + + field_name = "uniform_lock"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_ranged_practicest, field_name)); + auto n_uniform_lock = new NodeSimple; + n_uniform_lock->m_field_name = field_name; + n_uniform_lock->m_df_type = DF_Type::int32_t; + n_uniform_lock->m_rdf_type = RDF_Type::int32_t; + n_uniform_lock->m_node_type = NodeType::Simple; + n_uniform_lock->m_address = base + offset; + n_uniform_lock->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_uniform_lock); + +} +void node_from_activity_event_harassmentst__T_anon_2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_harassmentst__T_anon_2, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + auto n_anon_2 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_harassmentst__T_anon_2, field_name)); + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::Array; + n_anon_2->m_node_type = NodeType::Array; + n_anon_2->m_addornements = "[3"; + n_anon_2->m_array_size = 3; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_harassmentst__T_anon_2, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_harassmentst__T_anon_2, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_harassmentst__T_anon_2, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_harassmentst__T_anon_2, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_harassmentst__T_anon_2, field_name)); + auto n_anon_7 = new NodeSimple; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::int32_t; + n_anon_7->m_rdf_type = RDF_Type::int32_t; + n_anon_7->m_node_type = NodeType::Simple; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_7); + + field_name = "anon_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_harassmentst__T_anon_2, field_name)); + auto n_anon_8 = new NodeSimple; + n_anon_8->m_field_name = field_name; + n_anon_8->m_df_type = DF_Type::int32_t; + n_anon_8->m_rdf_type = RDF_Type::int32_t; + n_anon_8->m_node_type = NodeType::Simple; + n_anon_8->m_address = base + offset; + n_anon_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_8); + + field_name = "anon_9"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_harassmentst__T_anon_2, field_name)); + auto n_anon_9 = new NodeSimple; + n_anon_9->m_field_name = field_name; + n_anon_9->m_df_type = DF_Type::int32_t; + n_anon_9->m_rdf_type = RDF_Type::int32_t; + n_anon_9->m_node_type = NodeType::Simple; + n_anon_9->m_address = base + offset; + n_anon_9->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_9); + + field_name = "anon_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_harassmentst__T_anon_2, field_name)); + auto n_anon_10 = new NodeSimple; + n_anon_10->m_field_name = field_name; + n_anon_10->m_df_type = DF_Type::int32_t; + n_anon_10->m_rdf_type = RDF_Type::int32_t; + n_anon_10->m_node_type = NodeType::Simple; + n_anon_10->m_address = base + offset; + n_anon_10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_10); + + field_name = "anon_11"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_harassmentst__T_anon_2, field_name)); + auto n_anon_11 = new NodeVector; + n_anon_11->m_field_name = field_name; + n_anon_11->m_df_type = DF_Type::int32_t; + n_anon_11->m_rdf_type = RDF_Type::Vector; + n_anon_11->m_node_type = NodeType::Vector; + n_anon_11->m_addornements = "v"; + n_anon_11->m_address = base + offset; + n_anon_11->m_parent = p_node_parent; + n_anon_11->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_11); + + field_name = "anon_12"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_harassmentst__T_anon_2, field_name)); + auto n_anon_12 = new NodeSimple; + n_anon_12->m_field_name = field_name; + n_anon_12->m_df_type = DF_Type::int32_t; + n_anon_12->m_rdf_type = RDF_Type::int32_t; + n_anon_12->m_node_type = NodeType::Simple; + n_anon_12->m_address = base + offset; + n_anon_12->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_12); + + field_name = "anon_13"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_harassmentst__T_anon_2, field_name)); + auto n_anon_13 = new NodeSimple; + n_anon_13->m_field_name = field_name; + n_anon_13->m_df_type = DF_Type::int32_t; + n_anon_13->m_rdf_type = RDF_Type::int32_t; + n_anon_13->m_node_type = NodeType::Simple; + n_anon_13->m_address = base + offset; + n_anon_13->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_13); + +} +void node_from_activity_event_harassmentst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::activity_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_activity_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_harassmentst, field_name)); + auto n_anon_1 = new NodeVector; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::Vector; + n_anon_1->m_node_type = NodeType::Vector; + n_anon_1->m_addornements = "v"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_harassmentst, field_name)); + auto n_anon_2 = new NodeVector; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::activity_event_harassmentst__T_anon_2; + n_anon_2->m_rdf_type = RDF_Type::Vector; + n_anon_2->m_node_type = NodeType::Vector; + n_anon_2->m_addornements = "v*"; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + n_anon_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_harassmentst, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_harassmentst, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_harassmentst, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_harassmentst, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_harassmentst, field_name)); + auto n_anon_7 = new NodeSimple; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::int32_t; + n_anon_7->m_rdf_type = RDF_Type::int32_t; + n_anon_7->m_node_type = NodeType::Simple; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_7); + + field_name = "anon_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_harassmentst, field_name)); + auto n_anon_8 = new NodeSimple; + n_anon_8->m_field_name = field_name; + n_anon_8->m_df_type = DF_Type::int32_t; + n_anon_8->m_rdf_type = RDF_Type::int32_t; + n_anon_8->m_node_type = NodeType::Simple; + n_anon_8->m_address = base + offset; + n_anon_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_8); + +} +void node_from_activity_event_conversationst__T_participants(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unit_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_participants, field_name)); + auto n_unit_id = new NodeSimple; + n_unit_id->m_field_name = field_name; + n_unit_id->m_df_type = DF_Type::int32_t; + n_unit_id->m_rdf_type = RDF_Type::int32_t; + n_unit_id->m_node_type = NodeType::Simple; + n_unit_id->m_address = base + offset; + n_unit_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unit_id); + + field_name = "histfig_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_participants, field_name)); + auto n_histfig_id = new NodeSimple; + n_histfig_id->m_field_name = field_name; + n_histfig_id->m_df_type = DF_Type::int32_t; + n_histfig_id->m_rdf_type = RDF_Type::int32_t; + n_histfig_id->m_node_type = NodeType::Simple; + n_histfig_id->m_address = base + offset; + n_histfig_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig_id); + +} +void node_from_activity_event_conversationst__T_anon_6(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_anon_6, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_anon_6, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int16_t; + n_anon_2->m_rdf_type = RDF_Type::int16_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_anon_6, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int16_t; + n_anon_3->m_rdf_type = RDF_Type::int16_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_anon_6, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int16_t; + n_anon_4->m_rdf_type = RDF_Type::int16_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_anon_6, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_anon_6, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_anon_6, field_name)); + auto n_anon_7 = new NodeSimple; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::int32_t; + n_anon_7->m_rdf_type = RDF_Type::int32_t; + n_anon_7->m_node_type = NodeType::Simple; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_7); + + field_name = "anon_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_anon_6, field_name)); + auto n_anon_8 = new NodeSimple; + n_anon_8->m_field_name = field_name; + n_anon_8->m_df_type = DF_Type::int32_t; + n_anon_8->m_rdf_type = RDF_Type::int32_t; + n_anon_8->m_node_type = NodeType::Simple; + n_anon_8->m_address = base + offset; + n_anon_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_8); + + field_name = "anon_9"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_anon_6, field_name)); + auto n_anon_9 = new NodeSimple; + n_anon_9->m_field_name = field_name; + n_anon_9->m_df_type = DF_Type::int32_t; + n_anon_9->m_rdf_type = RDF_Type::int32_t; + n_anon_9->m_node_type = NodeType::Simple; + n_anon_9->m_address = base + offset; + n_anon_9->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_9); + +} +void node_from_activity_event_conversationst__T_unk_b4(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk_b4, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk_b4, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk_b4, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk_b4, field_name)); + auto n_anon_4 = new NodeVector; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::Vector; + n_anon_4->m_node_type = NodeType::Vector; + n_anon_4->m_addornements = "v"; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + n_anon_4->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_4); + +} +void node_from_activity_event_conversationst__T_turns(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "speaker"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_turns, field_name)); + auto n_speaker = new NodeSimple; + n_speaker->m_field_name = field_name; + n_speaker->m_df_type = DF_Type::int32_t; + n_speaker->m_rdf_type = RDF_Type::int32_t; + n_speaker->m_node_type = NodeType::Simple; + n_speaker->m_address = base + offset; + n_speaker->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_speaker); + + field_name = "speaker_hfid"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_turns, field_name)); + auto n_speaker_hfid = new NodeSimple; + n_speaker_hfid->m_field_name = field_name; + n_speaker_hfid->m_df_type = DF_Type::int32_t; + n_speaker_hfid->m_rdf_type = RDF_Type::int32_t; + n_speaker_hfid->m_node_type = NodeType::Simple; + n_speaker_hfid->m_address = base + offset; + n_speaker_hfid->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_speaker_hfid); + + field_name = "type"; + auto n_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_turns, field_name)); + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::talk_choice_type; + n_type->m_rdf_type = RDF_Type::Enum; + n_type->m_node_type = NodeType::Enum; + n_type->m_base_type = enum_base_type(n_type->m_df_type); + n_type->m_enum_type = "talk_choice_type"; + n_type->m_address = base + offset; + n_type->m_defined_in = "df.advmode.xml"; + n_type->m_first_value = 0; + n_type->m_last_value = 224; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + + field_name = "event"; + auto n_event = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_turns, field_name)); + n_event->m_field_name = field_name; + n_event->m_df_type = DF_Type::entity_event; + n_event->m_rdf_type = RDF_Type::Struct; + n_event->m_node_type = NodeType::Compound; + n_event->m_address = base + offset; + n_event->m_defined_in = "df.entities.xml"; + n_event->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_event); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_turns, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "foreground"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_turns, field_name)); + auto n_foreground = new NodeSimple; + n_foreground->m_field_name = field_name; + n_foreground->m_df_type = DF_Type::int16_t; + n_foreground->m_rdf_type = RDF_Type::int16_t; + n_foreground->m_node_type = NodeType::Simple; + n_foreground->m_address = base + offset; + n_foreground->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_foreground); + + field_name = "background"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_turns, field_name)); + auto n_background = new NodeSimple; + n_background->m_field_name = field_name; + n_background->m_df_type = DF_Type::int16_t; + n_background->m_rdf_type = RDF_Type::int16_t; + n_background->m_node_type = NodeType::Simple; + n_background->m_address = base + offset; + n_background->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_background); + + field_name = "bright"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_turns, field_name)); + auto n_bright = new NodeSimple; + n_bright->m_field_name = field_name; + n_bright->m_df_type = DF_Type::int16_t; + n_bright->m_rdf_type = RDF_Type::int16_t; + n_bright->m_node_type = NodeType::Simple; + n_bright->m_address = base + offset; + n_bright->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_bright); + + field_name = "year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_turns, field_name)); + auto n_year = new NodeSimple; + n_year->m_field_name = field_name; + n_year->m_df_type = DF_Type::int32_t; + n_year->m_rdf_type = RDF_Type::int32_t; + n_year->m_node_type = NodeType::Simple; + n_year->m_address = base + offset; + n_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_year); + + field_name = "ticks"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_turns, field_name)); + auto n_ticks = new NodeSimple; + n_ticks->m_field_name = field_name; + n_ticks->m_df_type = DF_Type::int32_t; + n_ticks->m_rdf_type = RDF_Type::int32_t; + n_ticks->m_node_type = NodeType::Simple; + n_ticks->m_address = base + offset; + n_ticks->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ticks); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_turns, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_turns, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_turns, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "unk_v4014_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_turns, field_name)); + auto n_unk_v4014_1 = new NodeSimple; + n_unk_v4014_1->m_field_name = field_name; + n_unk_v4014_1->m_df_type = DF_Type::int32_t; + n_unk_v4014_1->m_rdf_type = RDF_Type::int32_t; + n_unk_v4014_1->m_node_type = NodeType::Simple; + n_unk_v4014_1->m_address = base + offset; + n_unk_v4014_1->m_comment = "uninit"; + n_unk_v4014_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v4014_1); + +} +void node_from_activity_event_conversationst__T_unk2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk2, field_name)); + auto n_anon_1 = new NodeVector; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::incident; + n_anon_1->m_rdf_type = RDF_Type::Vector; + n_anon_1->m_node_type = NodeType::Vector; + n_anon_1->m_defined_in = "df.world.xml"; + n_anon_1->m_addornements = "v*"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk2, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk2, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk2, field_name)); + auto n_anon_4 = new NodeVector; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::Vector; + n_anon_4->m_node_type = NodeType::Vector; + n_anon_4->m_addornements = "v"; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + n_anon_4->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk2, field_name)); + auto n_anon_5 = new NodeVector; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::Vector; + n_anon_5->m_node_type = NodeType::Vector; + n_anon_5->m_addornements = "v"; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + n_anon_5->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk2, field_name)); + auto n_anon_6 = new NodeVector; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::Vector; + n_anon_6->m_node_type = NodeType::Vector; + n_anon_6->m_addornements = "v"; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + n_anon_6->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk2, field_name)); + auto n_anon_7 = new NodeVector; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::int32_t; + n_anon_7->m_rdf_type = RDF_Type::Vector; + n_anon_7->m_node_type = NodeType::Vector; + n_anon_7->m_addornements = "v"; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + n_anon_7->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_7); + + field_name = "anon_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk2, field_name)); + auto n_anon_8 = new NodeVector; + n_anon_8->m_field_name = field_name; + n_anon_8->m_df_type = DF_Type::int32_t; + n_anon_8->m_rdf_type = RDF_Type::Vector; + n_anon_8->m_node_type = NodeType::Vector; + n_anon_8->m_addornements = "v"; + n_anon_8->m_address = base + offset; + n_anon_8->m_parent = p_node_parent; + n_anon_8->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_8); + + field_name = "anon_9"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk2, field_name)); + auto n_anon_9 = new NodeVector; + n_anon_9->m_field_name = field_name; + n_anon_9->m_df_type = DF_Type::int32_t; + n_anon_9->m_rdf_type = RDF_Type::Vector; + n_anon_9->m_node_type = NodeType::Vector; + n_anon_9->m_addornements = "v"; + n_anon_9->m_address = base + offset; + n_anon_9->m_parent = p_node_parent; + n_anon_9->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_9); + + field_name = "anon_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk2, field_name)); + auto n_anon_10 = new NodeVector; + n_anon_10->m_field_name = field_name; + n_anon_10->m_df_type = DF_Type::int32_t; + n_anon_10->m_rdf_type = RDF_Type::Vector; + n_anon_10->m_node_type = NodeType::Vector; + n_anon_10->m_addornements = "v"; + n_anon_10->m_address = base + offset; + n_anon_10->m_parent = p_node_parent; + n_anon_10->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_10); + + field_name = "anon_11"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk2, field_name)); + auto n_anon_11 = new NodeVector; + n_anon_11->m_field_name = field_name; + n_anon_11->m_df_type = DF_Type::int32_t; + n_anon_11->m_rdf_type = RDF_Type::Vector; + n_anon_11->m_node_type = NodeType::Vector; + n_anon_11->m_addornements = "v"; + n_anon_11->m_address = base + offset; + n_anon_11->m_parent = p_node_parent; + n_anon_11->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_11); + + field_name = "anon_12"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk2, field_name)); + auto n_anon_12 = new NodeVector; + n_anon_12->m_field_name = field_name; + n_anon_12->m_df_type = DF_Type::int32_t; + n_anon_12->m_rdf_type = RDF_Type::Vector; + n_anon_12->m_node_type = NodeType::Vector; + n_anon_12->m_addornements = "v"; + n_anon_12->m_address = base + offset; + n_anon_12->m_parent = p_node_parent; + n_anon_12->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_12); + + field_name = "anon_13"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk2, field_name)); + auto n_anon_13 = new NodeVector; + n_anon_13->m_field_name = field_name; + n_anon_13->m_df_type = DF_Type::int32_t; + n_anon_13->m_rdf_type = RDF_Type::Vector; + n_anon_13->m_node_type = NodeType::Vector; + n_anon_13->m_addornements = "v"; + n_anon_13->m_address = base + offset; + n_anon_13->m_parent = p_node_parent; + n_anon_13->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_13); + + field_name = "anon_14"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk2, field_name)); + auto n_anon_14 = new NodeVector; + n_anon_14->m_field_name = field_name; + n_anon_14->m_df_type = DF_Type::int32_t; + n_anon_14->m_rdf_type = RDF_Type::Vector; + n_anon_14->m_node_type = NodeType::Vector; + n_anon_14->m_addornements = "v"; + n_anon_14->m_address = base + offset; + n_anon_14->m_parent = p_node_parent; + n_anon_14->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_14); + + field_name = "anon_15"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk2, field_name)); + auto n_anon_15 = new NodeVector; + n_anon_15->m_field_name = field_name; + n_anon_15->m_df_type = DF_Type::int32_t; + n_anon_15->m_rdf_type = RDF_Type::Vector; + n_anon_15->m_node_type = NodeType::Vector; + n_anon_15->m_addornements = "v"; + n_anon_15->m_address = base + offset; + n_anon_15->m_parent = p_node_parent; + n_anon_15->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_15); + + field_name = "anon_16"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk2, field_name)); + auto n_anon_16 = new NodeVector; + n_anon_16->m_field_name = field_name; + n_anon_16->m_df_type = DF_Type::int32_t; + n_anon_16->m_rdf_type = RDF_Type::Vector; + n_anon_16->m_node_type = NodeType::Vector; + n_anon_16->m_addornements = "v"; + n_anon_16->m_address = base + offset; + n_anon_16->m_parent = p_node_parent; + n_anon_16->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_16); + + field_name = "anon_17"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk2, field_name)); + auto n_anon_17 = new NodeVector; + n_anon_17->m_field_name = field_name; + n_anon_17->m_df_type = DF_Type::int32_t; + n_anon_17->m_rdf_type = RDF_Type::Vector; + n_anon_17->m_node_type = NodeType::Vector; + n_anon_17->m_addornements = "v"; + n_anon_17->m_address = base + offset; + n_anon_17->m_parent = p_node_parent; + n_anon_17->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_17); + + field_name = "anon_18"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk2, field_name)); + auto n_anon_18 = new NodeSimple; + n_anon_18->m_field_name = field_name; + n_anon_18->m_df_type = DF_Type::int32_t; + n_anon_18->m_rdf_type = RDF_Type::int32_t; + n_anon_18->m_node_type = NodeType::Simple; + n_anon_18->m_address = base + offset; + n_anon_18->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_18); + + field_name = "anon_19"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk2, field_name)); + auto n_anon_19 = new NodeSimple; + n_anon_19->m_field_name = field_name; + n_anon_19->m_df_type = DF_Type::int32_t; + n_anon_19->m_rdf_type = RDF_Type::int32_t; + n_anon_19->m_node_type = NodeType::Simple; + n_anon_19->m_address = base + offset; + n_anon_19->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_19); + + field_name = "anon_20"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk2, field_name)); + auto n_anon_20 = new NodeSimple; + n_anon_20->m_field_name = field_name; + n_anon_20->m_df_type = DF_Type::int32_t; + n_anon_20->m_rdf_type = RDF_Type::int32_t; + n_anon_20->m_node_type = NodeType::Simple; + n_anon_20->m_address = base + offset; + n_anon_20->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_20); + + field_name = "anon_21"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk2, field_name)); + auto n_anon_21 = new NodeSimple; + n_anon_21->m_field_name = field_name; + n_anon_21->m_df_type = DF_Type::int32_t; + n_anon_21->m_rdf_type = RDF_Type::int32_t; + n_anon_21->m_node_type = NodeType::Simple; + n_anon_21->m_address = base + offset; + n_anon_21->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_21); + + field_name = "anon_22"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk2, field_name)); + auto n_anon_22 = new NodeSimple; + n_anon_22->m_field_name = field_name; + n_anon_22->m_df_type = DF_Type::int32_t; + n_anon_22->m_rdf_type = RDF_Type::int32_t; + n_anon_22->m_node_type = NodeType::Simple; + n_anon_22->m_address = base + offset; + n_anon_22->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_22); + + field_name = "anon_23"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk2, field_name)); + auto n_anon_23 = new NodeSimple; + n_anon_23->m_field_name = field_name; + n_anon_23->m_df_type = DF_Type::int32_t; + n_anon_23->m_rdf_type = RDF_Type::int32_t; + n_anon_23->m_node_type = NodeType::Simple; + n_anon_23->m_address = base + offset; + n_anon_23->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_23); + + field_name = "anon_24"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk2, field_name)); + auto n_anon_24 = new NodeSimple; + n_anon_24->m_field_name = field_name; + n_anon_24->m_df_type = DF_Type::int32_t; + n_anon_24->m_rdf_type = RDF_Type::int32_t; + n_anon_24->m_node_type = NodeType::Simple; + n_anon_24->m_address = base + offset; + n_anon_24->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_24); + + field_name = "anon_25"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk2, field_name)); + auto n_anon_25 = new NodeSimple; + n_anon_25->m_field_name = field_name; + n_anon_25->m_df_type = DF_Type::int32_t; + n_anon_25->m_rdf_type = RDF_Type::int32_t; + n_anon_25->m_node_type = NodeType::Simple; + n_anon_25->m_address = base + offset; + n_anon_25->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_25); + + field_name = "anon_26"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk2, field_name)); + auto n_anon_26 = new NodeSimple; + n_anon_26->m_field_name = field_name; + n_anon_26->m_df_type = DF_Type::int32_t; + n_anon_26->m_rdf_type = RDF_Type::int32_t; + n_anon_26->m_node_type = NodeType::Simple; + n_anon_26->m_address = base + offset; + n_anon_26->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_26); + + field_name = "anon_27"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk2, field_name)); + auto n_anon_27 = new NodeSimple; + n_anon_27->m_field_name = field_name; + n_anon_27->m_df_type = DF_Type::int32_t; + n_anon_27->m_rdf_type = RDF_Type::int32_t; + n_anon_27->m_node_type = NodeType::Simple; + n_anon_27->m_address = base + offset; + n_anon_27->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_27); + + field_name = "anon_28"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk2, field_name)); + auto n_anon_28 = new NodeSimple; + n_anon_28->m_field_name = field_name; + n_anon_28->m_df_type = DF_Type::int32_t; + n_anon_28->m_rdf_type = RDF_Type::int32_t; + n_anon_28->m_node_type = NodeType::Simple; + n_anon_28->m_address = base + offset; + n_anon_28->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_28); + + field_name = "anon_29"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst__T_unk2, field_name)); + auto n_anon_29 = new NodeSimple; + n_anon_29->m_field_name = field_name; + n_anon_29->m_df_type = DF_Type::int32_t; + n_anon_29->m_rdf_type = RDF_Type::int32_t; + n_anon_29->m_node_type = NodeType::Simple; + n_anon_29->m_address = base + offset; + n_anon_29->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_29); + +} +void node_from_activity_event_conversationst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::activity_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_activity_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "participants"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst, field_name)); + auto n_participants = new NodeVector; + n_participants->m_field_name = field_name; + n_participants->m_df_type = DF_Type::activity_event_conversationst__T_participants; + n_participants->m_rdf_type = RDF_Type::Vector; + n_participants->m_node_type = NodeType::Vector; + n_participants->m_addornements = "v*"; + n_participants->m_address = base + offset; + n_participants->m_parent = p_node_parent; + n_participants->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_participants); + + field_name = "menu"; + auto n_menu = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst, field_name)); + n_menu->m_field_name = field_name; + n_menu->m_df_type = DF_Type::conversation_menu; + n_menu->m_rdf_type = RDF_Type::Enum; + n_menu->m_node_type = NodeType::Enum; + n_menu->m_base_type = enum_base_type(n_menu->m_df_type); + n_menu->m_enum_type = "conversation_menu"; + n_menu->m_address = base + offset; + n_menu->m_defined_in = "df.meeting.xml"; + n_menu->m_first_value = -1; + n_menu->m_last_value = 70; + n_menu->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_menu); + + field_name = "unk1"; + auto n_unk1 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst, field_name)); + n_unk1->m_field_name = field_name; + n_unk1->m_df_type = DF_Type::entity_event; + n_unk1->m_rdf_type = RDF_Type::Struct; + n_unk1->m_node_type = NodeType::Compound; + n_unk1->m_address = base + offset; + n_unk1->m_defined_in = "df.entities.xml"; + n_unk1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk1); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "unk_v42_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst, field_name)); + auto n_unk_v42_3 = new NodeSimple; + n_unk_v42_3->m_field_name = field_name; + n_unk_v42_3->m_df_type = DF_Type::int32_t; + n_unk_v42_3->m_rdf_type = RDF_Type::int32_t; + n_unk_v42_3->m_node_type = NodeType::Simple; + n_unk_v42_3->m_address = base + offset; + n_unk_v42_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v42_3); + + field_name = "unk_v42_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst, field_name)); + auto n_unk_v42_4 = new NodeVector; + n_unk_v42_4->m_field_name = field_name; + n_unk_v42_4->m_df_type = DF_Type::int32_t; + n_unk_v42_4->m_rdf_type = RDF_Type::Vector; + n_unk_v42_4->m_node_type = NodeType::Vector; + n_unk_v42_4->m_addornements = "v"; + n_unk_v42_4->m_address = base + offset; + n_unk_v42_4->m_parent = p_node_parent; + n_unk_v42_4->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_v42_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst, field_name)); + auto n_anon_5 = new NodeVector; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::Vector; + n_anon_5->m_node_type = NodeType::Vector; + n_anon_5->m_addornements = "v"; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + n_anon_5->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst, field_name)); + auto n_anon_6 = new NodeVector; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::activity_event_conversationst__T_anon_6; + n_anon_6->m_rdf_type = RDF_Type::Vector; + n_anon_6->m_node_type = NodeType::Vector; + n_anon_6->m_addornements = "v*"; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + n_anon_6->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst, field_name)); + auto n_anon_7 = new NodeVector; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::int32_t; + n_anon_7->m_rdf_type = RDF_Type::Vector; + n_anon_7->m_node_type = NodeType::Vector; + n_anon_7->m_addornements = "v"; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + n_anon_7->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_7); + + field_name = "anon_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst, field_name)); + auto n_anon_8 = new NodeVector; + n_anon_8->m_field_name = field_name; + n_anon_8->m_df_type = DF_Type::int32_t; + n_anon_8->m_rdf_type = RDF_Type::Vector; + n_anon_8->m_node_type = NodeType::Vector; + n_anon_8->m_addornements = "v"; + n_anon_8->m_address = base + offset; + n_anon_8->m_parent = p_node_parent; + n_anon_8->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_8); + + field_name = "unk_b4"; + auto n_unk_b4 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst, field_name)); + n_unk_b4->m_field_name = field_name; + n_unk_b4->m_df_type = DF_Type::activity_event_conversationst__T_unk_b4; + n_unk_b4->m_rdf_type = RDF_Type::Compound; + n_unk_b4->m_node_type = NodeType::Compound; + n_unk_b4->m_address = base + offset; + n_unk_b4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_b4); + + field_name = "turns"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst, field_name)); + auto n_turns = new NodeVector; + n_turns->m_field_name = field_name; + n_turns->m_df_type = DF_Type::activity_event_conversationst__T_turns; + n_turns->m_rdf_type = RDF_Type::Vector; + n_turns->m_node_type = NodeType::Vector; + n_turns->m_addornements = "v*"; + n_turns->m_address = base + offset; + n_turns->m_parent = p_node_parent; + n_turns->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_turns); + + field_name = "floor_holder"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst, field_name)); + auto n_floor_holder = new NodeSimple; + n_floor_holder->m_field_name = field_name; + n_floor_holder->m_df_type = DF_Type::int32_t; + n_floor_holder->m_rdf_type = RDF_Type::int32_t; + n_floor_holder->m_node_type = NodeType::Simple; + n_floor_holder->m_address = base + offset; + n_floor_holder->m_comment = "-1 = no one's turn"; + n_floor_holder->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_floor_holder); + + field_name = "floor_holder_hfid"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst, field_name)); + auto n_floor_holder_hfid = new NodeSimple; + n_floor_holder_hfid->m_field_name = field_name; + n_floor_holder_hfid->m_df_type = DF_Type::int32_t; + n_floor_holder_hfid->m_rdf_type = RDF_Type::int32_t; + n_floor_holder_hfid->m_node_type = NodeType::Simple; + n_floor_holder_hfid->m_address = base + offset; + n_floor_holder_hfid->m_comment = "-1 = no one's turn"; + n_floor_holder_hfid->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_floor_holder_hfid); + + field_name = "pause"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst, field_name)); + auto n_pause = new NodeSimple; + n_pause->m_field_name = field_name; + n_pause->m_df_type = DF_Type::int32_t; + n_pause->m_rdf_type = RDF_Type::int32_t; + n_pause->m_node_type = NodeType::Simple; + n_pause->m_address = base + offset; + n_pause->m_comment = "ticks since the last turn"; + n_pause->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pause); + + field_name = "flags2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst, field_name)); + auto n_flags2 = new NodeBitfield; + n_flags2->m_field_name = field_name; + n_flags2->m_df_type = DF_Type::activity_event_conversationst__T_flags2; + n_flags2->m_rdf_type = RDF_Type::Bitfield; + n_flags2->m_node_type = NodeType::Bitfield; + n_flags2->m_address = base + offset; + n_flags2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags2); + + field_name = "unk2"; + auto n_unk2 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst, field_name)); + n_unk2->m_field_name = field_name; + n_unk2->m_df_type = DF_Type::activity_event_conversationst__T_unk2; + n_unk2->m_rdf_type = RDF_Type::Compound; + n_unk2->m_node_type = NodeType::Compound; + n_unk2->m_address = base + offset; + n_unk2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk2); + + field_name = "choices"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst, field_name)); + auto n_choices = new NodeVector; + n_choices->m_field_name = field_name; + n_choices->m_df_type = DF_Type::talk_choice; + n_choices->m_rdf_type = RDF_Type::Vector; + n_choices->m_node_type = NodeType::Vector; + n_choices->m_defined_in = "df.advmode.xml"; + n_choices->m_addornements = "v*"; + n_choices->m_address = base + offset; + n_choices->m_parent = p_node_parent; + n_choices->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_choices); + + field_name = "anon_9"; + auto n_anon_9 = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst, field_name)); + n_anon_9->m_field_name = field_name; + n_anon_9->m_df_type = DF_Type::conversation_menu; + n_anon_9->m_rdf_type = RDF_Type::Enum; + n_anon_9->m_node_type = NodeType::Enum; + n_anon_9->m_base_type = enum_base_type(n_anon_9->m_df_type); + n_anon_9->m_enum_type = "conversation_menu"; + n_anon_9->m_address = base + offset; + n_anon_9->m_comment = "copy of menu"; + n_anon_9->m_defined_in = "df.meeting.xml"; + n_anon_9->m_first_value = -1; + n_anon_9->m_last_value = 70; + n_anon_9->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_9); + + field_name = "anon_10"; + auto n_anon_10 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst, field_name)); + n_anon_10->m_field_name = field_name; + n_anon_10->m_df_type = DF_Type::entity_event; + n_anon_10->m_rdf_type = RDF_Type::Struct; + n_anon_10->m_node_type = NodeType::Compound; + n_anon_10->m_address = base + offset; + n_anon_10->m_defined_in = "df.entities.xml"; + n_anon_10->m_comment = "copy of unk1"; + n_anon_10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_10); + + field_name = "anon_11"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conversationst, field_name)); + auto n_anon_11 = new NodeSimple; + n_anon_11->m_field_name = field_name; + n_anon_11->m_df_type = DF_Type::int32_t; + n_anon_11->m_rdf_type = RDF_Type::int32_t; + n_anon_11->m_node_type = NodeType::Simple; + n_anon_11->m_address = base + offset; + n_anon_11->m_comment = "copy of anon_1"; + n_anon_11->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_11); + +} +void node_from_activity_event_conflictst__T_sides__T_enemies(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conflictst__T_sides__T_enemies, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "conflict_level"; + auto n_conflict_level = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conflictst__T_sides__T_enemies, field_name)); + n_conflict_level->m_field_name = field_name; + n_conflict_level->m_df_type = DF_Type::conflict_level; + n_conflict_level->m_rdf_type = RDF_Type::Enum; + n_conflict_level->m_node_type = NodeType::Enum; + n_conflict_level->m_base_type = enum_base_type(n_conflict_level->m_df_type); + n_conflict_level->m_enum_type = "conflict_level"; + n_conflict_level->m_address = base + offset; + n_conflict_level->m_defined_in = "df.world.xml"; + n_conflict_level->m_first_value = -1; + n_conflict_level->m_last_value = 6; + n_conflict_level->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_conflict_level); + +} +void node_from_activity_event_conflictst__T_sides(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conflictst__T_sides, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "histfig_ids"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conflictst__T_sides, field_name)); + auto n_histfig_ids = new NodeVector; + n_histfig_ids->m_field_name = field_name; + n_histfig_ids->m_df_type = DF_Type::int32_t; + n_histfig_ids->m_rdf_type = RDF_Type::Vector; + n_histfig_ids->m_node_type = NodeType::Vector; + n_histfig_ids->m_addornements = "v"; + n_histfig_ids->m_address = base + offset; + n_histfig_ids->m_parent = p_node_parent; + n_histfig_ids->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_histfig_ids); + + field_name = "unit_ids"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conflictst__T_sides, field_name)); + auto n_unit_ids = new NodeVector; + n_unit_ids->m_field_name = field_name; + n_unit_ids->m_df_type = DF_Type::int32_t; + n_unit_ids->m_rdf_type = RDF_Type::Vector; + n_unit_ids->m_node_type = NodeType::Vector; + n_unit_ids->m_addornements = "v"; + n_unit_ids->m_address = base + offset; + n_unit_ids->m_parent = p_node_parent; + n_unit_ids->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unit_ids); + + field_name = "enemies"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conflictst__T_sides, field_name)); + auto n_enemies = new NodeVector; + n_enemies->m_field_name = field_name; + n_enemies->m_df_type = DF_Type::activity_event_conflictst__T_sides__T_enemies; + n_enemies->m_rdf_type = RDF_Type::Vector; + n_enemies->m_node_type = NodeType::Vector; + n_enemies->m_addornements = "v*"; + n_enemies->m_address = base + offset; + n_enemies->m_comment = "relationships to other sides in this conflict"; + n_enemies->m_parent = p_node_parent; + n_enemies->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_enemies); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conflictst__T_sides, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conflictst__T_sides, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + +} +void node_from_activity_event_conflictst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::activity_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_activity_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "sides"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conflictst, field_name)); + auto n_sides = new NodeVector; + n_sides->m_field_name = field_name; + n_sides->m_df_type = DF_Type::activity_event_conflictst__T_sides; + n_sides->m_rdf_type = RDF_Type::Vector; + n_sides->m_node_type = NodeType::Vector; + n_sides->m_addornements = "v*"; + n_sides->m_address = base + offset; + n_sides->m_parent = p_node_parent; + n_sides->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_sides); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conflictst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conflictst, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conflictst, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "unk_v42_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_conflictst, field_name)); + auto n_unk_v42_3 = new NodeSimple; + n_unk_v42_3->m_field_name = field_name; + n_unk_v42_3->m_df_type = DF_Type::int32_t; + n_unk_v42_3->m_rdf_type = RDF_Type::int32_t; + n_unk_v42_3->m_node_type = NodeType::Simple; + n_unk_v42_3->m_address = base + offset; + n_unk_v42_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v42_3); + +} +void node_from_activity_event_guardst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::activity_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_activity_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_guardst, field_name)); + auto n_anon_1 = new NodeVector; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::Vector; + n_anon_1->m_node_type = NodeType::Vector; + n_anon_1->m_addornements = "v"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + auto n_anon_2 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_guardst, field_name)); + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::coord; + n_anon_2->m_rdf_type = RDF_Type::Struct; + n_anon_2->m_node_type = NodeType::Compound; + n_anon_2->m_address = base + offset; + n_anon_2->m_defined_in = "df.map.xml"; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_guardst, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + +} +void node_from_activity_event_reunionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::activity_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_activity_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_reunionst, field_name)); + auto n_anon_1 = new NodeVector; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::Vector; + n_anon_1->m_node_type = NodeType::Vector; + n_anon_1->m_addornements = "v"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_reunionst, field_name)); + auto n_anon_2 = new NodeVector; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::Vector; + n_anon_2->m_node_type = NodeType::Vector; + n_anon_2->m_addornements = "v"; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + n_anon_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_reunionst, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_reunionst, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_reunionst, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_reunionst, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_reunionst, field_name)); + auto n_anon_7 = new NodeSimple; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::int32_t; + n_anon_7->m_rdf_type = RDF_Type::int32_t; + n_anon_7->m_node_type = NodeType::Simple; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_7); + +} +void node_from_activity_event_prayerst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::activity_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_activity_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "participants"; + auto n_participants = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_prayerst, field_name)); + n_participants->m_field_name = field_name; + n_participants->m_df_type = DF_Type::activity_event_participants; + n_participants->m_rdf_type = RDF_Type::Struct; + n_participants->m_node_type = NodeType::Compound; + n_participants->m_address = base + offset; + n_participants->m_defined_in = "df.meeting.xml"; + n_participants->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_participants); + + field_name = "histfig_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_prayerst, field_name)); + auto n_histfig_id = new NodeSimple; + n_histfig_id->m_field_name = field_name; + n_histfig_id->m_df_type = DF_Type::int32_t; + n_histfig_id->m_rdf_type = RDF_Type::int32_t; + n_histfig_id->m_node_type = NodeType::Simple; + n_histfig_id->m_address = base + offset; + n_histfig_id->m_comment = "deity"; + n_histfig_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig_id); + + field_name = "topic"; + auto n_topic = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_prayerst, field_name)); + n_topic->m_field_name = field_name; + n_topic->m_df_type = DF_Type::sphere_type; + n_topic->m_rdf_type = RDF_Type::Enum; + n_topic->m_node_type = NodeType::Enum; + n_topic->m_base_type = DF_Type::int16_t; + n_topic->m_enum_type = "sphere_type"; + n_topic->m_address = base + offset; + n_topic->m_comment = "-1 when praying"; + n_topic->m_defined_in = "df.language.xml"; + n_topic->m_first_value = 0; + n_topic->m_last_value = 129; + n_topic->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_topic); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_prayerst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_prayerst, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_prayerst, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_prayerst, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + +} +void node_from_activity_event_socializest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::activity_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_activity_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "participants"; + auto n_participants = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_socializest, field_name)); + n_participants->m_field_name = field_name; + n_participants->m_df_type = DF_Type::activity_event_participants; + n_participants->m_rdf_type = RDF_Type::Struct; + n_participants->m_node_type = NodeType::Compound; + n_participants->m_address = base + offset; + n_participants->m_defined_in = "df.meeting.xml"; + n_participants->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_participants); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_socializest, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_socializest, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_socializest, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_socializest, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + +} +void node_from_activity_event_worshipst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::activity_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_activity_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "participants"; + auto n_participants = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_worshipst, field_name)); + n_participants->m_field_name = field_name; + n_participants->m_df_type = DF_Type::activity_event_participants; + n_participants->m_rdf_type = RDF_Type::Struct; + n_participants->m_node_type = NodeType::Compound; + n_participants->m_address = base + offset; + n_participants->m_defined_in = "df.meeting.xml"; + n_participants->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_participants); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_worshipst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_worshipst, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_worshipst, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_worshipst, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + +} +void node_from_activity_event_performancest__T_participant_actions(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "type"; + auto n_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest__T_participant_actions, field_name)); + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::performance_participant_type; + n_type->m_rdf_type = RDF_Type::Enum; + n_type->m_node_type = NodeType::Enum; + n_type->m_base_type = DF_Type::int32_t; + n_type->m_enum_type = "performance_participant_type"; + n_type->m_address = base + offset; + n_type->m_defined_in = "df.meeting.xml"; + n_type->m_first_value = 0; + n_type->m_last_value = 5; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + + field_name = "sub_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest__T_participant_actions, field_name)); + auto n_sub_type = new NodeSimple; + n_sub_type->m_field_name = field_name; + n_sub_type->m_df_type = DF_Type::int32_t; + n_sub_type->m_rdf_type = RDF_Type::int32_t; + n_sub_type->m_node_type = NodeType::Simple; + n_sub_type->m_address = base + offset; + n_sub_type->m_comment = "depends on type. if music: voice index in musical form"; + n_sub_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sub_type); + + field_name = "unit_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest__T_participant_actions, field_name)); + auto n_unit_id = new NodeSimple; + n_unit_id->m_field_name = field_name; + n_unit_id->m_df_type = DF_Type::int32_t; + n_unit_id->m_rdf_type = RDF_Type::int32_t; + n_unit_id->m_node_type = NodeType::Simple; + n_unit_id->m_address = base + offset; + n_unit_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unit_id); + + field_name = "histfig_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest__T_participant_actions, field_name)); + auto n_histfig_id = new NodeSimple; + n_histfig_id->m_field_name = field_name; + n_histfig_id->m_df_type = DF_Type::int32_t; + n_histfig_id->m_rdf_type = RDF_Type::int32_t; + n_histfig_id->m_node_type = NodeType::Simple; + n_histfig_id->m_address = base + offset; + n_histfig_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig_id); + + field_name = "unk_act_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest__T_participant_actions, field_name)); + auto n_unk_act_1 = new NodeSimple; + n_unk_act_1->m_field_name = field_name; + n_unk_act_1->m_df_type = DF_Type::int32_t; + n_unk_act_1->m_rdf_type = RDF_Type::int32_t; + n_unk_act_1->m_node_type = NodeType::Simple; + n_unk_act_1->m_address = base + offset; + n_unk_act_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_act_1); + + field_name = "unk_act_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest__T_participant_actions, field_name)); + auto n_unk_act_2 = new NodeSimple; + n_unk_act_2->m_field_name = field_name; + n_unk_act_2->m_df_type = DF_Type::int32_t; + n_unk_act_2->m_rdf_type = RDF_Type::int32_t; + n_unk_act_2->m_node_type = NodeType::Simple; + n_unk_act_2->m_address = base + offset; + n_unk_act_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_act_2); + + field_name = "unk_act_3"; + auto n_unk_act_3 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest__T_participant_actions, field_name)); + n_unk_act_3->m_field_name = field_name; + n_unk_act_3->m_df_type = DF_Type::coord; + n_unk_act_3->m_rdf_type = RDF_Type::Struct; + n_unk_act_3->m_node_type = NodeType::Compound; + n_unk_act_3->m_address = base + offset; + n_unk_act_3->m_defined_in = "df.map.xml"; + n_unk_act_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_act_3); + + field_name = "unk_act_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest__T_participant_actions, field_name)); + auto n_unk_act_6 = new NodeSimple; + n_unk_act_6->m_field_name = field_name; + n_unk_act_6->m_df_type = DF_Type::int32_t; + n_unk_act_6->m_rdf_type = RDF_Type::int32_t; + n_unk_act_6->m_node_type = NodeType::Simple; + n_unk_act_6->m_address = base + offset; + n_unk_act_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_act_6); + + field_name = "unk_act_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest__T_participant_actions, field_name)); + auto n_unk_act_7 = new NodeSimple; + n_unk_act_7->m_field_name = field_name; + n_unk_act_7->m_df_type = DF_Type::int32_t; + n_unk_act_7->m_rdf_type = RDF_Type::int32_t; + n_unk_act_7->m_node_type = NodeType::Simple; + n_unk_act_7->m_address = base + offset; + n_unk_act_7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_act_7); + + field_name = "unk_act_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest__T_participant_actions, field_name)); + auto n_unk_act_8 = new NodeSimple; + n_unk_act_8->m_field_name = field_name; + n_unk_act_8->m_df_type = DF_Type::int32_t; + n_unk_act_8->m_rdf_type = RDF_Type::int32_t; + n_unk_act_8->m_node_type = NodeType::Simple; + n_unk_act_8->m_address = base + offset; + n_unk_act_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_act_8); + + field_name = "unk_act_9"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest__T_participant_actions, field_name)); + auto n_unk_act_9 = new NodeSimple; + n_unk_act_9->m_field_name = field_name; + n_unk_act_9->m_df_type = DF_Type::int32_t; + n_unk_act_9->m_rdf_type = RDF_Type::int32_t; + n_unk_act_9->m_node_type = NodeType::Simple; + n_unk_act_9->m_address = base + offset; + n_unk_act_9->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_act_9); + +} +void node_from_activity_event_performancest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::activity_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_activity_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "participants"; + auto n_participants = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); + n_participants->m_field_name = field_name; + n_participants->m_df_type = DF_Type::activity_event_participants; + n_participants->m_rdf_type = RDF_Type::Struct; + n_participants->m_node_type = NodeType::Compound; + n_participants->m_address = base + offset; + n_participants->m_defined_in = "df.meeting.xml"; + n_participants->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_participants); + + field_name = "type"; + auto n_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::performance_event_type; + n_type->m_rdf_type = RDF_Type::Enum; + n_type->m_node_type = NodeType::Enum; + n_type->m_base_type = DF_Type::int32_t; + n_type->m_enum_type = "performance_event_type"; + n_type->m_address = base + offset; + n_type->m_defined_in = "df.meeting.xml"; + n_type->m_first_value = 0; + n_type->m_last_value = 3; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + + field_name = "event"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); + auto n_event = new NodeSimple; + n_event->m_field_name = field_name; + n_event->m_df_type = DF_Type::int32_t; + n_event->m_rdf_type = RDF_Type::int32_t; + n_event->m_node_type = NodeType::Simple; + n_event->m_address = base + offset; + n_event->m_comment = "used for story"; + n_event->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_event); + + field_name = "written_content_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); + auto n_written_content_id = new NodeSimple; + n_written_content_id->m_field_name = field_name; + n_written_content_id->m_df_type = DF_Type::int32_t; + n_written_content_id->m_rdf_type = RDF_Type::int32_t; + n_written_content_id->m_node_type = NodeType::Simple; + n_written_content_id->m_address = base + offset; + n_written_content_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_written_content_id); + + field_name = "poetic_form"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); + auto n_poetic_form = new NodeSimple; + n_poetic_form->m_field_name = field_name; + n_poetic_form->m_df_type = DF_Type::int32_t; + n_poetic_form->m_rdf_type = RDF_Type::int32_t; + n_poetic_form->m_node_type = NodeType::Simple; + n_poetic_form->m_address = base + offset; + n_poetic_form->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_poetic_form); + + field_name = "music_form"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); + auto n_music_form = new NodeSimple; + n_music_form->m_field_name = field_name; + n_music_form->m_df_type = DF_Type::int32_t; + n_music_form->m_rdf_type = RDF_Type::int32_t; + n_music_form->m_node_type = NodeType::Simple; + n_music_form->m_address = base + offset; + n_music_form->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_music_form); + + field_name = "dance_form"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); + auto n_dance_form = new NodeSimple; + n_dance_form->m_field_name = field_name; + n_dance_form->m_df_type = DF_Type::int32_t; + n_dance_form->m_rdf_type = RDF_Type::int32_t; + n_dance_form->m_node_type = NodeType::Simple; + n_dance_form->m_address = base + offset; + n_dance_form->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dance_form); + + field_name = "unk_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); + auto n_unk_1 = new NodeSimple; + n_unk_1->m_field_name = field_name; + n_unk_1->m_df_type = DF_Type::int32_t; + n_unk_1->m_rdf_type = RDF_Type::int32_t; + n_unk_1->m_node_type = NodeType::Simple; + n_unk_1->m_address = base + offset; + n_unk_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_1); + + field_name = "unk_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); + auto n_unk_2 = new NodeSimple; + n_unk_2->m_field_name = field_name; + n_unk_2->m_df_type = DF_Type::int32_t; + n_unk_2->m_rdf_type = RDF_Type::int32_t; + n_unk_2->m_node_type = NodeType::Simple; + n_unk_2->m_address = base + offset; + n_unk_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_2); + + field_name = "unk_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); + auto n_unk_3 = new NodeSimple; + n_unk_3->m_field_name = field_name; + n_unk_3->m_df_type = DF_Type::int32_t; + n_unk_3->m_rdf_type = RDF_Type::int32_t; + n_unk_3->m_node_type = NodeType::Simple; + n_unk_3->m_address = base + offset; + n_unk_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_3); + + field_name = "unk_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); + auto n_unk_4 = new NodeSimple; + n_unk_4->m_field_name = field_name; + n_unk_4->m_df_type = DF_Type::int32_t; + n_unk_4->m_rdf_type = RDF_Type::int32_t; + n_unk_4->m_node_type = NodeType::Simple; + n_unk_4->m_address = base + offset; + n_unk_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_4); + + field_name = "unk_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); + auto n_unk_5 = new NodeSimple; + n_unk_5->m_field_name = field_name; + n_unk_5->m_df_type = DF_Type::int32_t; + n_unk_5->m_rdf_type = RDF_Type::int32_t; + n_unk_5->m_node_type = NodeType::Simple; + n_unk_5->m_address = base + offset; + n_unk_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_5); + + field_name = "unk_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); + auto n_unk_6 = new NodeSimple; + n_unk_6->m_field_name = field_name; + n_unk_6->m_df_type = DF_Type::int32_t; + n_unk_6->m_rdf_type = RDF_Type::int32_t; + n_unk_6->m_node_type = NodeType::Simple; + n_unk_6->m_address = base + offset; + n_unk_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_6); + + field_name = "participant_actions"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); + auto n_participant_actions = new NodeVector; + n_participant_actions->m_field_name = field_name; + n_participant_actions->m_df_type = DF_Type::activity_event_performancest__T_participant_actions; + n_participant_actions->m_rdf_type = RDF_Type::Vector; + n_participant_actions->m_node_type = NodeType::Vector; + n_participant_actions->m_addornements = "v*"; + n_participant_actions->m_address = base + offset; + n_participant_actions->m_parent = p_node_parent; + n_participant_actions->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_participant_actions); + + field_name = "pos_performer_2d"; + auto n_pos_performer_2d = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); + n_pos_performer_2d->m_field_name = field_name; + n_pos_performer_2d->m_df_type = DF_Type::coord2d; + n_pos_performer_2d->m_rdf_type = RDF_Type::Struct; + n_pos_performer_2d->m_node_type = NodeType::Compound; + n_pos_performer_2d->m_address = base + offset; + n_pos_performer_2d->m_defined_in = "df.map.xml"; + n_pos_performer_2d->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pos_performer_2d); + + field_name = "pos_performer"; + auto n_pos_performer = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); + n_pos_performer->m_field_name = field_name; + n_pos_performer->m_df_type = DF_Type::coord; + n_pos_performer->m_rdf_type = RDF_Type::Struct; + n_pos_performer->m_node_type = NodeType::Compound; + n_pos_performer->m_address = base + offset; + n_pos_performer->m_defined_in = "df.map.xml"; + n_pos_performer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pos_performer); + + field_name = "unk_pos_1_x0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); + auto n_unk_pos_1_x0 = new NodeSimple; + n_unk_pos_1_x0->m_field_name = field_name; + n_unk_pos_1_x0->m_df_type = DF_Type::int16_t; + n_unk_pos_1_x0->m_rdf_type = RDF_Type::int16_t; + n_unk_pos_1_x0->m_node_type = NodeType::Simple; + n_unk_pos_1_x0->m_address = base + offset; + n_unk_pos_1_x0->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_pos_1_x0); + + field_name = "unk_pos_1_y0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); + auto n_unk_pos_1_y0 = new NodeSimple; + n_unk_pos_1_y0->m_field_name = field_name; + n_unk_pos_1_y0->m_df_type = DF_Type::int16_t; + n_unk_pos_1_y0->m_rdf_type = RDF_Type::int16_t; + n_unk_pos_1_y0->m_node_type = NodeType::Simple; + n_unk_pos_1_y0->m_address = base + offset; + n_unk_pos_1_y0->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_pos_1_y0); + + field_name = "unk_pos_1_x1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); + auto n_unk_pos_1_x1 = new NodeSimple; + n_unk_pos_1_x1->m_field_name = field_name; + n_unk_pos_1_x1->m_df_type = DF_Type::int16_t; + n_unk_pos_1_x1->m_rdf_type = RDF_Type::int16_t; + n_unk_pos_1_x1->m_node_type = NodeType::Simple; + n_unk_pos_1_x1->m_address = base + offset; + n_unk_pos_1_x1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_pos_1_x1); + + field_name = "unk_pos_1_y1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); + auto n_unk_pos_1_y1 = new NodeSimple; + n_unk_pos_1_y1->m_field_name = field_name; + n_unk_pos_1_y1->m_df_type = DF_Type::int16_t; + n_unk_pos_1_y1->m_rdf_type = RDF_Type::int16_t; + n_unk_pos_1_y1->m_node_type = NodeType::Simple; + n_unk_pos_1_y1->m_address = base + offset; + n_unk_pos_1_y1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_pos_1_y1); + + field_name = "unk_pos_1_z"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); + auto n_unk_pos_1_z = new NodeSimple; + n_unk_pos_1_z->m_field_name = field_name; + n_unk_pos_1_z->m_df_type = DF_Type::int16_t; + n_unk_pos_1_z->m_rdf_type = RDF_Type::int16_t; + n_unk_pos_1_z->m_node_type = NodeType::Simple; + n_unk_pos_1_z->m_address = base + offset; + n_unk_pos_1_z->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_pos_1_z); + + field_name = "unk_pos_2_x0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); + auto n_unk_pos_2_x0 = new NodeSimple; + n_unk_pos_2_x0->m_field_name = field_name; + n_unk_pos_2_x0->m_df_type = DF_Type::int16_t; + n_unk_pos_2_x0->m_rdf_type = RDF_Type::int16_t; + n_unk_pos_2_x0->m_node_type = NodeType::Simple; + n_unk_pos_2_x0->m_address = base + offset; + n_unk_pos_2_x0->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_pos_2_x0); + + field_name = "unk_pos_2_y0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); + auto n_unk_pos_2_y0 = new NodeSimple; + n_unk_pos_2_y0->m_field_name = field_name; + n_unk_pos_2_y0->m_df_type = DF_Type::int16_t; + n_unk_pos_2_y0->m_rdf_type = RDF_Type::int16_t; + n_unk_pos_2_y0->m_node_type = NodeType::Simple; + n_unk_pos_2_y0->m_address = base + offset; + n_unk_pos_2_y0->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_pos_2_y0); + + field_name = "unk_pos_2_x1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); + auto n_unk_pos_2_x1 = new NodeSimple; + n_unk_pos_2_x1->m_field_name = field_name; + n_unk_pos_2_x1->m_df_type = DF_Type::int16_t; + n_unk_pos_2_x1->m_rdf_type = RDF_Type::int16_t; + n_unk_pos_2_x1->m_node_type = NodeType::Simple; + n_unk_pos_2_x1->m_address = base + offset; + n_unk_pos_2_x1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_pos_2_x1); + + field_name = "unk_pos_2_y1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); + auto n_unk_pos_2_y1 = new NodeSimple; + n_unk_pos_2_y1->m_field_name = field_name; + n_unk_pos_2_y1->m_df_type = DF_Type::int16_t; + n_unk_pos_2_y1->m_rdf_type = RDF_Type::int16_t; + n_unk_pos_2_y1->m_node_type = NodeType::Simple; + n_unk_pos_2_y1->m_address = base + offset; + n_unk_pos_2_y1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_pos_2_y1); + + field_name = "unk_pos_2_z"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); + auto n_unk_pos_2_z = new NodeSimple; + n_unk_pos_2_z->m_field_name = field_name; + n_unk_pos_2_z->m_df_type = DF_Type::int16_t; + n_unk_pos_2_z->m_rdf_type = RDF_Type::int16_t; + n_unk_pos_2_z->m_node_type = NodeType::Simple; + n_unk_pos_2_z->m_address = base + offset; + n_unk_pos_2_z->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_pos_2_z); + + field_name = "play_orders"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); + auto n_play_orders = new NodeVector; + n_play_orders->m_field_name = field_name; + n_play_orders->m_df_type = DF_Type::performance_play_orderst; + n_play_orders->m_rdf_type = RDF_Type::Vector; + n_play_orders->m_node_type = NodeType::Vector; + n_play_orders->m_defined_in = "df.meeting.xml"; + n_play_orders->m_addornements = "v*"; + n_play_orders->m_address = base + offset; + n_play_orders->m_parent = p_node_parent; + n_play_orders->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_play_orders); + + field_name = "unk_11"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); + auto n_unk_11 = new NodeSimple; + n_unk_11->m_field_name = field_name; + n_unk_11->m_df_type = DF_Type::int32_t; + n_unk_11->m_rdf_type = RDF_Type::int32_t; + n_unk_11->m_node_type = NodeType::Simple; + n_unk_11->m_address = base + offset; + n_unk_11->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_11); + + field_name = "unk_12"; + auto n_unk_12 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); + n_unk_12->m_field_name = field_name; + n_unk_12->m_df_type = DF_Type::int8_t; + n_unk_12->m_rdf_type = RDF_Type::Array; + n_unk_12->m_node_type = NodeType::Array; + n_unk_12->m_addornements = "[49"; + n_unk_12->m_array_size = 49; + n_unk_12->m_address = base + offset; + n_unk_12->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_12); + + field_name = "unk_13"; + auto n_unk_13 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); + n_unk_13->m_field_name = field_name; + n_unk_13->m_df_type = DF_Type::coord; + n_unk_13->m_rdf_type = RDF_Type::Struct; + n_unk_13->m_node_type = NodeType::Compound; + n_unk_13->m_address = base + offset; + n_unk_13->m_defined_in = "df.map.xml"; + n_unk_13->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_13); + + field_name = "unk_16"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); + auto n_unk_16 = new NodeSimple; + n_unk_16->m_field_name = field_name; + n_unk_16->m_df_type = DF_Type::int32_t; + n_unk_16->m_rdf_type = RDF_Type::int32_t; + n_unk_16->m_node_type = NodeType::Simple; + n_unk_16->m_address = base + offset; + n_unk_16->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_16); + + field_name = "unk_17"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); + auto n_unk_17 = new NodeSimple; + n_unk_17->m_field_name = field_name; + n_unk_17->m_df_type = DF_Type::int32_t; + n_unk_17->m_rdf_type = RDF_Type::int32_t; + n_unk_17->m_node_type = NodeType::Simple; + n_unk_17->m_address = base + offset; + n_unk_17->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_17); + + field_name = "unk_18"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_performancest, field_name)); + auto n_unk_18 = new NodeSimple; + n_unk_18->m_field_name = field_name; + n_unk_18->m_df_type = DF_Type::int32_t; + n_unk_18->m_rdf_type = RDF_Type::int32_t; + n_unk_18->m_node_type = NodeType::Simple; + n_unk_18->m_address = base + offset; + n_unk_18->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_18); + +} +void node_from_performance_play_orderst__T_anon_4(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + auto n_anon_1 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::performance_play_orderst__T_anon_4, field_name)); + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int16_t; + n_anon_1->m_rdf_type = RDF_Type::Array; + n_anon_1->m_node_type = NodeType::Array; + n_anon_1->m_addornements = "[28"; + n_anon_1->m_array_size = 28; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + auto n_anon_2 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::performance_play_orderst__T_anon_4, field_name)); + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int16_t; + n_anon_2->m_rdf_type = RDF_Type::Array; + n_anon_2->m_node_type = NodeType::Array; + n_anon_2->m_addornements = "[28"; + n_anon_2->m_array_size = 28; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + +} +void node_from_performance_play_orderst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::performance_play_orderst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::performance_play_orderst, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::performance_play_orderst, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::performance_play_orderst, field_name)); + auto n_anon_4 = new NodeVector; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::performance_play_orderst__T_anon_4; + n_anon_4->m_rdf_type = RDF_Type::Vector; + n_anon_4->m_node_type = NodeType::Vector; + n_anon_4->m_addornements = "v*"; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + n_anon_4->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::performance_play_orderst, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + +} +void node_from_activity_event_researchst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::activity_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_activity_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "participants"; + auto n_participants = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_researchst, field_name)); + n_participants->m_field_name = field_name; + n_participants->m_df_type = DF_Type::activity_event_participants; + n_participants->m_rdf_type = RDF_Type::Struct; + n_participants->m_node_type = NodeType::Compound; + n_participants->m_address = base + offset; + n_participants->m_defined_in = "df.meeting.xml"; + n_participants->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_participants); + + field_name = "site_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_researchst, field_name)); + auto n_site_id = new NodeSimple; + n_site_id->m_field_name = field_name; + n_site_id->m_df_type = DF_Type::int32_t; + n_site_id->m_rdf_type = RDF_Type::int32_t; + n_site_id->m_node_type = NodeType::Simple; + n_site_id->m_address = base + offset; + n_site_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_id); + + field_name = "location_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_researchst, field_name)); + auto n_location_id = new NodeSimple; + n_location_id->m_field_name = field_name; + n_location_id->m_df_type = DF_Type::int32_t; + n_location_id->m_rdf_type = RDF_Type::int32_t; + n_location_id->m_node_type = NodeType::Simple; + n_location_id->m_address = base + offset; + n_location_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_location_id); + + field_name = "building_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_researchst, field_name)); + auto n_building_id = new NodeSimple; + n_building_id->m_field_name = field_name; + n_building_id->m_df_type = DF_Type::int32_t; + n_building_id->m_rdf_type = RDF_Type::int32_t; + n_building_id->m_node_type = NodeType::Simple; + n_building_id->m_address = base + offset; + n_building_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_building_id); + +} +void node_from_activity_event_ponder_topicst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::activity_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_activity_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "participants"; + auto n_participants = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_ponder_topicst, field_name)); + n_participants->m_field_name = field_name; + n_participants->m_df_type = DF_Type::activity_event_participants; + n_participants->m_rdf_type = RDF_Type::Struct; + n_participants->m_node_type = NodeType::Compound; + n_participants->m_address = base + offset; + n_participants->m_defined_in = "df.meeting.xml"; + n_participants->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_participants); + + field_name = "site_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_ponder_topicst, field_name)); + auto n_site_id = new NodeSimple; + n_site_id->m_field_name = field_name; + n_site_id->m_df_type = DF_Type::int32_t; + n_site_id->m_rdf_type = RDF_Type::int32_t; + n_site_id->m_node_type = NodeType::Simple; + n_site_id->m_address = base + offset; + n_site_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_id); + + field_name = "location_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_ponder_topicst, field_name)); + auto n_location_id = new NodeSimple; + n_location_id->m_field_name = field_name; + n_location_id->m_df_type = DF_Type::int32_t; + n_location_id->m_rdf_type = RDF_Type::int32_t; + n_location_id->m_node_type = NodeType::Simple; + n_location_id->m_address = base + offset; + n_location_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_location_id); + + field_name = "building_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_ponder_topicst, field_name)); + auto n_building_id = new NodeSimple; + n_building_id->m_field_name = field_name; + n_building_id->m_df_type = DF_Type::int32_t; + n_building_id->m_rdf_type = RDF_Type::int32_t; + n_building_id->m_node_type = NodeType::Simple; + n_building_id->m_address = base + offset; + n_building_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_building_id); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_ponder_topicst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "knowledge"; + auto n_knowledge = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_ponder_topicst, field_name)); + n_knowledge->m_field_name = field_name; + n_knowledge->m_df_type = DF_Type::knowledge_scholar_category_flag; + n_knowledge->m_rdf_type = RDF_Type::Struct; + n_knowledge->m_node_type = NodeType::Compound; + n_knowledge->m_address = base + offset; + n_knowledge->m_defined_in = "df.knowledge.xml"; + n_knowledge->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_knowledge); + + field_name = "timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_ponder_topicst, field_name)); + auto n_timer = new NodeSimple; + n_timer->m_field_name = field_name; + n_timer->m_df_type = DF_Type::int32_t; + n_timer->m_rdf_type = RDF_Type::int32_t; + n_timer->m_node_type = NodeType::Simple; + n_timer->m_address = base + offset; + n_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_timer); + +} +void node_from_activity_event_discuss_topicst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::activity_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_activity_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "participants"; + auto n_participants = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_discuss_topicst, field_name)); + n_participants->m_field_name = field_name; + n_participants->m_df_type = DF_Type::activity_event_participants; + n_participants->m_rdf_type = RDF_Type::Struct; + n_participants->m_node_type = NodeType::Compound; + n_participants->m_address = base + offset; + n_participants->m_defined_in = "df.meeting.xml"; + n_participants->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_participants); + + field_name = "site_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_discuss_topicst, field_name)); + auto n_site_id = new NodeSimple; + n_site_id->m_field_name = field_name; + n_site_id->m_df_type = DF_Type::int32_t; + n_site_id->m_rdf_type = RDF_Type::int32_t; + n_site_id->m_node_type = NodeType::Simple; + n_site_id->m_address = base + offset; + n_site_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_id); + + field_name = "location_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_discuss_topicst, field_name)); + auto n_location_id = new NodeSimple; + n_location_id->m_field_name = field_name; + n_location_id->m_df_type = DF_Type::int32_t; + n_location_id->m_rdf_type = RDF_Type::int32_t; + n_location_id->m_node_type = NodeType::Simple; + n_location_id->m_address = base + offset; + n_location_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_location_id); + + field_name = "building_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_discuss_topicst, field_name)); + auto n_building_id = new NodeSimple; + n_building_id->m_field_name = field_name; + n_building_id->m_df_type = DF_Type::int32_t; + n_building_id->m_rdf_type = RDF_Type::int32_t; + n_building_id->m_node_type = NodeType::Simple; + n_building_id->m_address = base + offset; + n_building_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_building_id); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_discuss_topicst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "knowledge"; + auto n_knowledge = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_discuss_topicst, field_name)); + n_knowledge->m_field_name = field_name; + n_knowledge->m_df_type = DF_Type::knowledge_scholar_category_flag; + n_knowledge->m_rdf_type = RDF_Type::Struct; + n_knowledge->m_node_type = NodeType::Compound; + n_knowledge->m_address = base + offset; + n_knowledge->m_defined_in = "df.knowledge.xml"; + n_knowledge->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_knowledge); + + field_name = "timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_discuss_topicst, field_name)); + auto n_timer = new NodeSimple; + n_timer->m_field_name = field_name; + n_timer->m_df_type = DF_Type::int32_t; + n_timer->m_rdf_type = RDF_Type::int32_t; + n_timer->m_node_type = NodeType::Simple; + n_timer->m_address = base + offset; + n_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_timer); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_discuss_topicst, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_discuss_topicst, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + +} +void node_from_activity_event_readst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::activity_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_activity_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "participants"; + auto n_participants = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_readst, field_name)); + n_participants->m_field_name = field_name; + n_participants->m_df_type = DF_Type::activity_event_participants; + n_participants->m_rdf_type = RDF_Type::Struct; + n_participants->m_node_type = NodeType::Compound; + n_participants->m_address = base + offset; + n_participants->m_defined_in = "df.meeting.xml"; + n_participants->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_participants); + + field_name = "building_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_readst, field_name)); + auto n_building_id = new NodeSimple; + n_building_id->m_field_name = field_name; + n_building_id->m_df_type = DF_Type::int32_t; + n_building_id->m_rdf_type = RDF_Type::int32_t; + n_building_id->m_node_type = NodeType::Simple; + n_building_id->m_address = base + offset; + n_building_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_building_id); + + field_name = "site_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_readst, field_name)); + auto n_site_id = new NodeSimple; + n_site_id->m_field_name = field_name; + n_site_id->m_df_type = DF_Type::int32_t; + n_site_id->m_rdf_type = RDF_Type::int32_t; + n_site_id->m_node_type = NodeType::Simple; + n_site_id->m_address = base + offset; + n_site_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_id); + + field_name = "location_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_readst, field_name)); + auto n_location_id = new NodeSimple; + n_location_id->m_field_name = field_name; + n_location_id->m_df_type = DF_Type::int32_t; + n_location_id->m_rdf_type = RDF_Type::int32_t; + n_location_id->m_node_type = NodeType::Simple; + n_location_id->m_address = base + offset; + n_location_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_location_id); + + field_name = "state"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_readst, field_name)); + auto n_state = new NodeSimple; + n_state->m_field_name = field_name; + n_state->m_df_type = DF_Type::int32_t; + n_state->m_rdf_type = RDF_Type::int32_t; + n_state->m_node_type = NodeType::Simple; + n_state->m_address = base + offset; + n_state->m_comment = "0 if not in progress, 1 if reading"; + n_state->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_state); + + field_name = "timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_readst, field_name)); + auto n_timer = new NodeSimple; + n_timer->m_field_name = field_name; + n_timer->m_df_type = DF_Type::int32_t; + n_timer->m_rdf_type = RDF_Type::int32_t; + n_timer->m_node_type = NodeType::Simple; + n_timer->m_address = base + offset; + n_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_timer); + +} +void node_from_activity_event_fill_service_orderst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::activity_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_activity_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "histfig_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_fill_service_orderst, field_name)); + auto n_histfig_id = new NodeSimple; + n_histfig_id->m_field_name = field_name; + n_histfig_id->m_df_type = DF_Type::int32_t; + n_histfig_id->m_rdf_type = RDF_Type::int32_t; + n_histfig_id->m_node_type = NodeType::Simple; + n_histfig_id->m_address = base + offset; + n_histfig_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig_id); + + field_name = "unit_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_fill_service_orderst, field_name)); + auto n_unit_id = new NodeSimple; + n_unit_id->m_field_name = field_name; + n_unit_id->m_df_type = DF_Type::int32_t; + n_unit_id->m_rdf_type = RDF_Type::int32_t; + n_unit_id->m_node_type = NodeType::Simple; + n_unit_id->m_address = base + offset; + n_unit_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unit_id); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_fill_service_orderst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_fill_service_orderst, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + +} +void node_from_activity_event_writest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::activity_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_activity_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "participants"; + auto n_participants = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_writest, field_name)); + n_participants->m_field_name = field_name; + n_participants->m_df_type = DF_Type::activity_event_participants; + n_participants->m_rdf_type = RDF_Type::Struct; + n_participants->m_node_type = NodeType::Compound; + n_participants->m_address = base + offset; + n_participants->m_defined_in = "df.meeting.xml"; + n_participants->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_participants); + + field_name = "building_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_writest, field_name)); + auto n_building_id = new NodeSimple; + n_building_id->m_field_name = field_name; + n_building_id->m_df_type = DF_Type::int32_t; + n_building_id->m_rdf_type = RDF_Type::int32_t; + n_building_id->m_node_type = NodeType::Simple; + n_building_id->m_address = base + offset; + n_building_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_building_id); + + field_name = "site_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_writest, field_name)); + auto n_site_id = new NodeSimple; + n_site_id->m_field_name = field_name; + n_site_id->m_df_type = DF_Type::int32_t; + n_site_id->m_rdf_type = RDF_Type::int32_t; + n_site_id->m_node_type = NodeType::Simple; + n_site_id->m_address = base + offset; + n_site_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_id); + + field_name = "location_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_writest, field_name)); + auto n_location_id = new NodeSimple; + n_location_id->m_field_name = field_name; + n_location_id->m_df_type = DF_Type::int32_t; + n_location_id->m_rdf_type = RDF_Type::int32_t; + n_location_id->m_node_type = NodeType::Simple; + n_location_id->m_address = base + offset; + n_location_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_location_id); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_writest, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_writest, field_name)); + auto n_timer = new NodeSimple; + n_timer->m_field_name = field_name; + n_timer->m_df_type = DF_Type::int32_t; + n_timer->m_rdf_type = RDF_Type::int32_t; + n_timer->m_node_type = NodeType::Simple; + n_timer->m_address = base + offset; + n_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_timer); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_writest, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_writest, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_writest, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "knowledge"; + auto n_knowledge = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_writest, field_name)); + n_knowledge->m_field_name = field_name; + n_knowledge->m_df_type = DF_Type::knowledge_scholar_category_flag; + n_knowledge->m_rdf_type = RDF_Type::Struct; + n_knowledge->m_node_type = NodeType::Compound; + n_knowledge->m_address = base + offset; + n_knowledge->m_defined_in = "df.knowledge.xml"; + n_knowledge->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_knowledge); + +} +void node_from_activity_event_copy_written_contentst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::activity_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_activity_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unit_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_copy_written_contentst, field_name)); + auto n_unit_id = new NodeSimple; + n_unit_id->m_field_name = field_name; + n_unit_id->m_df_type = DF_Type::int32_t; + n_unit_id->m_rdf_type = RDF_Type::int32_t; + n_unit_id->m_node_type = NodeType::Simple; + n_unit_id->m_address = base + offset; + n_unit_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unit_id); + + field_name = "histfig_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_copy_written_contentst, field_name)); + auto n_histfig_id = new NodeSimple; + n_histfig_id->m_field_name = field_name; + n_histfig_id->m_df_type = DF_Type::int32_t; + n_histfig_id->m_rdf_type = RDF_Type::int32_t; + n_histfig_id->m_node_type = NodeType::Simple; + n_histfig_id->m_address = base + offset; + n_histfig_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig_id); + + field_name = "occupation_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_copy_written_contentst, field_name)); + auto n_occupation_id = new NodeSimple; + n_occupation_id->m_field_name = field_name; + n_occupation_id->m_df_type = DF_Type::int32_t; + n_occupation_id->m_rdf_type = RDF_Type::int32_t; + n_occupation_id->m_node_type = NodeType::Simple; + n_occupation_id->m_address = base + offset; + n_occupation_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_occupation_id); + + field_name = "building_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_copy_written_contentst, field_name)); + auto n_building_id = new NodeSimple; + n_building_id->m_field_name = field_name; + n_building_id->m_df_type = DF_Type::int32_t; + n_building_id->m_rdf_type = RDF_Type::int32_t; + n_building_id->m_node_type = NodeType::Simple; + n_building_id->m_address = base + offset; + n_building_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_building_id); + + field_name = "site_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_copy_written_contentst, field_name)); + auto n_site_id = new NodeSimple; + n_site_id->m_field_name = field_name; + n_site_id->m_df_type = DF_Type::int32_t; + n_site_id->m_rdf_type = RDF_Type::int32_t; + n_site_id->m_node_type = NodeType::Simple; + n_site_id->m_address = base + offset; + n_site_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_id); + + field_name = "location_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_copy_written_contentst, field_name)); + auto n_location_id = new NodeSimple; + n_location_id->m_field_name = field_name; + n_location_id->m_df_type = DF_Type::int32_t; + n_location_id->m_rdf_type = RDF_Type::int32_t; + n_location_id->m_node_type = NodeType::Simple; + n_location_id->m_address = base + offset; + n_location_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_location_id); + + field_name = "flagsmaybe"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_copy_written_contentst, field_name)); + auto n_flagsmaybe = new NodeBitfield; + n_flagsmaybe->m_field_name = field_name; + n_flagsmaybe->m_df_type = DF_Type::activity_event_copy_written_contentst__T_flagsmaybe; + n_flagsmaybe->m_rdf_type = RDF_Type::Bitfield; + n_flagsmaybe->m_node_type = NodeType::Bitfield; + n_flagsmaybe->m_address = base + offset; + n_flagsmaybe->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flagsmaybe); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_copy_written_contentst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_copy_written_contentst, field_name)); + auto n_timer = new NodeSimple; + n_timer->m_field_name = field_name; + n_timer->m_df_type = DF_Type::int32_t; + n_timer->m_rdf_type = RDF_Type::int32_t; + n_timer->m_node_type = NodeType::Simple; + n_timer->m_address = base + offset; + n_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_timer); + +} +void node_from_activity_event_teach_topicst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::activity_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_activity_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "participants"; + auto n_participants = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_teach_topicst, field_name)); + n_participants->m_field_name = field_name; + n_participants->m_df_type = DF_Type::activity_event_participants; + n_participants->m_rdf_type = RDF_Type::Struct; + n_participants->m_node_type = NodeType::Compound; + n_participants->m_address = base + offset; + n_participants->m_defined_in = "df.meeting.xml"; + n_participants->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_participants); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_teach_topicst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_teach_topicst, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_teach_topicst, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_teach_topicst, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_teach_topicst, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_teach_topicst, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_teach_topicst, field_name)); + auto n_anon_7 = new NodeSimple; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::int32_t; + n_anon_7->m_rdf_type = RDF_Type::int32_t; + n_anon_7->m_node_type = NodeType::Simple; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_7); + + field_name = "anon_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_teach_topicst, field_name)); + auto n_anon_8 = new NodeSimple; + n_anon_8->m_field_name = field_name; + n_anon_8->m_df_type = DF_Type::int32_t; + n_anon_8->m_rdf_type = RDF_Type::int32_t; + n_anon_8->m_node_type = NodeType::Simple; + n_anon_8->m_address = base + offset; + n_anon_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_8); + + field_name = "anon_9"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_teach_topicst, field_name)); + auto n_anon_9 = new NodeSimple; + n_anon_9->m_field_name = field_name; + n_anon_9->m_df_type = DF_Type::int32_t; + n_anon_9->m_rdf_type = RDF_Type::int32_t; + n_anon_9->m_node_type = NodeType::Simple; + n_anon_9->m_address = base + offset; + n_anon_9->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_9); + +} +void node_from_activity_event_playst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::activity_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_activity_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "participants"; + auto n_participants = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_playst, field_name)); + n_participants->m_field_name = field_name; + n_participants->m_df_type = DF_Type::activity_event_participants; + n_participants->m_rdf_type = RDF_Type::Struct; + n_participants->m_node_type = NodeType::Compound; + n_participants->m_address = base + offset; + n_participants->m_defined_in = "df.meeting.xml"; + n_participants->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_participants); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_playst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + auto n_anon_2 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_playst, field_name)); + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int8_t; + n_anon_2->m_rdf_type = RDF_Type::Array; + n_anon_2->m_node_type = NodeType::Array; + n_anon_2->m_addornements = "[49"; + n_anon_2->m_array_size = 49; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + auto n_anon_3 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_playst, field_name)); + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::coord; + n_anon_3->m_rdf_type = RDF_Type::Struct; + n_anon_3->m_node_type = NodeType::Compound; + n_anon_3->m_address = base + offset; + n_anon_3->m_defined_in = "df.map.xml"; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + +} +void node_from_activity_event_make_believest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::activity_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_activity_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "participants"; + auto n_participants = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_make_believest, field_name)); + n_participants->m_field_name = field_name; + n_participants->m_df_type = DF_Type::activity_event_participants; + n_participants->m_rdf_type = RDF_Type::Struct; + n_participants->m_node_type = NodeType::Compound; + n_participants->m_address = base + offset; + n_participants->m_defined_in = "df.meeting.xml"; + n_participants->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_participants); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_make_believest, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_make_believest, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_make_believest, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + auto n_anon_4 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_make_believest, field_name)); + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int8_t; + n_anon_4->m_rdf_type = RDF_Type::Array; + n_anon_4->m_node_type = NodeType::Array; + n_anon_4->m_addornements = "[49"; + n_anon_4->m_array_size = 49; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + auto n_anon_5 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_make_believest, field_name)); + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::coord; + n_anon_5->m_rdf_type = RDF_Type::Struct; + n_anon_5->m_node_type = NodeType::Compound; + n_anon_5->m_address = base + offset; + n_anon_5->m_defined_in = "df.map.xml"; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + +} +void node_from_activity_event_play_with_toyst__T_unk(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + auto n_anon_1 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_play_with_toyst__T_unk, field_name)); + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int8_t; + n_anon_1->m_rdf_type = RDF_Type::Array; + n_anon_1->m_node_type = NodeType::Array; + n_anon_1->m_addornements = "[49"; + n_anon_1->m_array_size = 49; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + auto n_anon_2 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_play_with_toyst__T_unk, field_name)); + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::coord; + n_anon_2->m_rdf_type = RDF_Type::Struct; + n_anon_2->m_node_type = NodeType::Compound; + n_anon_2->m_address = base + offset; + n_anon_2->m_defined_in = "df.map.xml"; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + +} +void node_from_activity_event_play_with_toyst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::activity_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_activity_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "participants"; + auto n_participants = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_play_with_toyst, field_name)); + n_participants->m_field_name = field_name; + n_participants->m_df_type = DF_Type::activity_event_participants; + n_participants->m_rdf_type = RDF_Type::Struct; + n_participants->m_node_type = NodeType::Compound; + n_participants->m_address = base + offset; + n_participants->m_defined_in = "df.meeting.xml"; + n_participants->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_participants); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_play_with_toyst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_play_with_toyst, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_play_with_toyst, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "unk"; + auto n_unk = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_play_with_toyst, field_name)); + n_unk->m_field_name = field_name; + n_unk->m_df_type = DF_Type::activity_event_play_with_toyst__T_unk; + n_unk->m_rdf_type = RDF_Type::Compound; + n_unk->m_node_type = NodeType::Compound; + n_unk->m_address = base + offset; + n_unk->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_play_with_toyst, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_play_with_toyst, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_play_with_toyst, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + +} +void node_from_activity_event_encounterst__T_anon_1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_encounterst__T_anon_1, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_encounterst__T_anon_1, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_encounterst__T_anon_1, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_encounterst__T_anon_1, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_encounterst__T_anon_1, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_encounterst__T_anon_1, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_encounterst__T_anon_1, field_name)); + auto n_anon_7 = new NodeSimple; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::int32_t; + n_anon_7->m_rdf_type = RDF_Type::int32_t; + n_anon_7->m_node_type = NodeType::Simple; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_7); + + field_name = "anon_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_encounterst__T_anon_1, field_name)); + auto n_anon_8 = new NodeSimple; + n_anon_8->m_field_name = field_name; + n_anon_8->m_df_type = DF_Type::int32_t; + n_anon_8->m_rdf_type = RDF_Type::int32_t; + n_anon_8->m_node_type = NodeType::Simple; + n_anon_8->m_address = base + offset; + n_anon_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_8); + + field_name = "anon_9"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_encounterst__T_anon_1, field_name)); + auto n_anon_9 = new NodeSimple; + n_anon_9->m_field_name = field_name; + n_anon_9->m_df_type = DF_Type::int32_t; + n_anon_9->m_rdf_type = RDF_Type::int32_t; + n_anon_9->m_node_type = NodeType::Simple; + n_anon_9->m_address = base + offset; + n_anon_9->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_9); + + field_name = "anon_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_encounterst__T_anon_1, field_name)); + auto n_anon_10 = new NodeSimple; + n_anon_10->m_field_name = field_name; + n_anon_10->m_df_type = DF_Type::int32_t; + n_anon_10->m_rdf_type = RDF_Type::int32_t; + n_anon_10->m_node_type = NodeType::Simple; + n_anon_10->m_address = base + offset; + n_anon_10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_10); + +} +void node_from_activity_event_encounterst__T_anon_2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_encounterst__T_anon_2, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_encounterst__T_anon_2, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_encounterst__T_anon_2, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_encounterst__T_anon_2, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_encounterst__T_anon_2, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_encounterst__T_anon_2, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_encounterst__T_anon_2, field_name)); + auto n_anon_7 = new NodeSimple; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::int32_t; + n_anon_7->m_rdf_type = RDF_Type::int32_t; + n_anon_7->m_node_type = NodeType::Simple; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_7); + + field_name = "anon_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_encounterst__T_anon_2, field_name)); + auto n_anon_8 = new NodeSimple; + n_anon_8->m_field_name = field_name; + n_anon_8->m_df_type = DF_Type::int32_t; + n_anon_8->m_rdf_type = RDF_Type::int32_t; + n_anon_8->m_node_type = NodeType::Simple; + n_anon_8->m_address = base + offset; + n_anon_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_8); + +} +void node_from_activity_event_encounterst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::activity_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_activity_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_encounterst, field_name)); + auto n_anon_1 = new NodeVector; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::activity_event_encounterst__T_anon_1; + n_anon_1->m_rdf_type = RDF_Type::Vector; + n_anon_1->m_node_type = NodeType::Vector; + n_anon_1->m_addornements = "v*"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_encounterst, field_name)); + auto n_anon_2 = new NodeVector; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::activity_event_encounterst__T_anon_2; + n_anon_2->m_rdf_type = RDF_Type::Vector; + n_anon_2->m_node_type = NodeType::Vector; + n_anon_2->m_addornements = "v*"; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + n_anon_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_encounterst, field_name)); + auto n_anon_3 = new NodeVector; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::Vector; + n_anon_3->m_node_type = NodeType::Vector; + n_anon_3->m_addornements = "v"; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + n_anon_3->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_encounterst, field_name)); + auto n_anon_4 = new NodeVector; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::Vector; + n_anon_4->m_node_type = NodeType::Vector; + n_anon_4->m_addornements = "v"; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + n_anon_4->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_encounterst, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_encounterst, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_encounterst, field_name)); + auto n_anon_7 = new NodeSimple; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::int32_t; + n_anon_7->m_rdf_type = RDF_Type::int32_t; + n_anon_7->m_node_type = NodeType::Simple; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_7); + + field_name = "anon_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_encounterst, field_name)); + auto n_anon_8 = new NodeSimple; + n_anon_8->m_field_name = field_name; + n_anon_8->m_df_type = DF_Type::int32_t; + n_anon_8->m_rdf_type = RDF_Type::int32_t; + n_anon_8->m_node_type = NodeType::Simple; + n_anon_8->m_address = base + offset; + n_anon_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_8); + + field_name = "anon_9"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_encounterst, field_name)); + auto n_anon_9 = new NodeSimple; + n_anon_9->m_field_name = field_name; + n_anon_9->m_df_type = DF_Type::int32_t; + n_anon_9->m_rdf_type = RDF_Type::int32_t; + n_anon_9->m_node_type = NodeType::Simple; + n_anon_9->m_address = base + offset; + n_anon_9->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_9); + +} +void node_from_activity_event_store_objectst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::activity_event; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_activity_event(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_store_objectst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + auto n_anon_2 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_store_objectst, field_name)); + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::coord; + n_anon_2->m_rdf_type = RDF_Type::Struct; + n_anon_2->m_node_type = NodeType::Compound; + n_anon_2->m_address = base + offset; + n_anon_2->m_defined_in = "df.map.xml"; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_store_objectst, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_store_objectst, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::activity_event_store_objectst, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + +} +void node_from_schedule_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::schedule_info, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::schedule_info, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int16_t; + n_anon_1->m_rdf_type = RDF_Type::int16_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "slots"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::schedule_info, field_name)); + auto n_slots = new NodeVector; + n_slots->m_field_name = field_name; + n_slots->m_df_type = DF_Type::schedule_slot; + n_slots->m_rdf_type = RDF_Type::Vector; + n_slots->m_node_type = NodeType::Vector; + n_slots->m_defined_in = "df.meeting.xml"; + n_slots->m_addornements = "v*"; + n_slots->m_address = base + offset; + n_slots->m_parent = p_node_parent; + n_slots->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_slots); + +} +void node_from_item_filter_spec(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "item_type"; + auto n_item_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_filter_spec, field_name)); + n_item_type->m_field_name = field_name; + n_item_type->m_df_type = DF_Type::item_type; + n_item_type->m_rdf_type = RDF_Type::Enum; + n_item_type->m_node_type = NodeType::Enum; + n_item_type->m_base_type = DF_Type::int16_t; + n_item_type->m_enum_type = "item_type"; + n_item_type->m_address = base + offset; + n_item_type->m_defined_in = "df.item-raws.xml"; + n_item_type->m_first_value = -1; + n_item_type->m_last_value = 90; + n_item_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_type); + + field_name = "item_subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_filter_spec, field_name)); + auto n_item_subtype = new NodeSimple; + n_item_subtype->m_field_name = field_name; + n_item_subtype->m_df_type = DF_Type::int16_t; + n_item_subtype->m_rdf_type = RDF_Type::int16_t; + n_item_subtype->m_node_type = NodeType::Simple; + n_item_subtype->m_address = base + offset; + n_item_subtype->m_refers_to = "(item-subtype-target $$._parent.item_type $)"; + n_item_subtype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_subtype); + + field_name = "material_class"; + auto n_material_class = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_filter_spec, field_name)); + n_material_class->m_field_name = field_name; + n_material_class->m_df_type = DF_Type::entity_material_category; + n_material_class->m_rdf_type = RDF_Type::Enum; + n_material_class->m_node_type = NodeType::Enum; + n_material_class->m_base_type = DF_Type::int16_t; + n_material_class->m_enum_type = "entity_material_category"; + n_material_class->m_address = base + offset; + n_material_class->m_defined_in = "df.entities.xml"; + n_material_class->m_first_value = -1; + n_material_class->m_last_value = 31; + n_material_class->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_material_class); + + field_name = "mattype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_filter_spec, field_name)); + auto n_mattype = new NodeSimple; + n_mattype->m_field_name = field_name; + n_mattype->m_df_type = DF_Type::int16_t; + n_mattype->m_rdf_type = RDF_Type::int16_t; + n_mattype->m_node_type = NodeType::Simple; + n_mattype->m_address = base + offset; + n_mattype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mattype); + + field_name = "matindex"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::item_filter_spec, field_name)); + auto n_matindex = new NodeSimple; + n_matindex->m_field_name = field_name; + n_matindex->m_df_type = DF_Type::int32_t; + n_matindex->m_rdf_type = RDF_Type::int32_t; + n_matindex->m_node_type = NodeType::Simple; + n_matindex->m_address = base + offset; + n_matindex->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_matindex); + +} +void node_from_squad_uniform_spec(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "item"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_uniform_spec, field_name)); + auto n_item = new NodeSimple; + n_item->m_field_name = field_name; + n_item->m_df_type = DF_Type::int32_t; + n_item->m_rdf_type = RDF_Type::int32_t; + n_item->m_node_type = NodeType::Simple; + n_item->m_address = base + offset; + n_item->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item); + + field_name = "item_filter"; + auto n_item_filter = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_uniform_spec, field_name)); + n_item_filter->m_field_name = field_name; + n_item_filter->m_df_type = DF_Type::item_filter_spec; + n_item_filter->m_rdf_type = RDF_Type::Struct; + n_item_filter->m_node_type = NodeType::Compound; + n_item_filter->m_address = base + offset; + n_item_filter->m_defined_in = "df.military.xml"; + n_item_filter->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_filter); + + field_name = "color"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_uniform_spec, field_name)); + auto n_color = new NodeSimple; + n_color->m_field_name = field_name; + n_color->m_df_type = DF_Type::int32_t; + n_color->m_rdf_type = RDF_Type::int32_t; + n_color->m_node_type = NodeType::Simple; + n_color->m_address = base + offset; + n_color->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_color); + + field_name = "assigned"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_uniform_spec, field_name)); + auto n_assigned = new NodeVector; + n_assigned->m_field_name = field_name; + n_assigned->m_df_type = DF_Type::int32_t; + n_assigned->m_rdf_type = RDF_Type::Vector; + n_assigned->m_node_type = NodeType::Vector; + n_assigned->m_addornements = "v"; + n_assigned->m_address = base + offset; + n_assigned->m_parent = p_node_parent; + n_assigned->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_assigned); + + field_name = "indiv_choice"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_uniform_spec, field_name)); + auto n_indiv_choice = new NodeBitfield; + n_indiv_choice->m_field_name = field_name; + n_indiv_choice->m_df_type = DF_Type::uniform_indiv_choice; + n_indiv_choice->m_rdf_type = RDF_Type::Bitfield; + n_indiv_choice->m_node_type = NodeType::Bitfield; + n_indiv_choice->m_address = base + offset; + n_indiv_choice->m_defined_in = "df.military.xml"; + n_indiv_choice->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_indiv_choice); + +} +void node_from_squad_ammo_spec(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "item_filter"; + auto n_item_filter = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_ammo_spec, field_name)); + n_item_filter->m_field_name = field_name; + n_item_filter->m_df_type = DF_Type::item_filter_spec; + n_item_filter->m_rdf_type = RDF_Type::Struct; + n_item_filter->m_node_type = NodeType::Compound; + n_item_filter->m_address = base + offset; + n_item_filter->m_defined_in = "df.military.xml"; + n_item_filter->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_filter); + + field_name = "amount"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_ammo_spec, field_name)); + auto n_amount = new NodeSimple; + n_amount->m_field_name = field_name; + n_amount->m_df_type = DF_Type::int32_t; + n_amount->m_rdf_type = RDF_Type::int32_t; + n_amount->m_node_type = NodeType::Simple; + n_amount->m_address = base + offset; + n_amount->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_amount); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_ammo_spec, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::squad_ammo_spec__T_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "assigned"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_ammo_spec, field_name)); + auto n_assigned = new NodeVector; + n_assigned->m_field_name = field_name; + n_assigned->m_df_type = DF_Type::int32_t; + n_assigned->m_rdf_type = RDF_Type::Vector; + n_assigned->m_node_type = NodeType::Vector; + n_assigned->m_addornements = "v"; + n_assigned->m_address = base + offset; + n_assigned->m_parent = p_node_parent; + n_assigned->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_assigned); + +} +void node_from_squad_position(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "occupant"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_position, field_name)); + auto n_occupant = new NodeSimple; + n_occupant->m_field_name = field_name; + n_occupant->m_df_type = DF_Type::int32_t; + n_occupant->m_rdf_type = RDF_Type::int32_t; + n_occupant->m_node_type = NodeType::Simple; + n_occupant->m_address = base + offset; + n_occupant->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_occupant); + + field_name = "orders"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_position, field_name)); + auto n_orders = new NodeVector; + n_orders->m_field_name = field_name; + n_orders->m_df_type = DF_Type::squad_order; + n_orders->m_rdf_type = RDF_Type::Vector; + n_orders->m_node_type = NodeType::Vector; + n_orders->m_defined_in = "df.military.xml"; + n_orders->m_addornements = "v*"; + n_orders->m_address = base + offset; + n_orders->m_parent = p_node_parent; + n_orders->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_orders); + + field_name = "preferences"; + auto n_preferences = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_position, field_name)); + n_preferences->m_field_name = field_name; + n_preferences->m_df_type = DF_Type::int32_t; + n_preferences->m_rdf_type = RDF_Type::Array; + n_preferences->m_node_type = NodeType::Array; + n_preferences->m_index_enum = DF_Type::barrack_preference_category; + n_preferences->m_addornements = "[4v"; + n_preferences->m_array_size = 4; + n_preferences->m_address = base + offset; + n_preferences->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_preferences); + + field_name = "uniform"; + auto n_uniform = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_position, field_name)); + n_uniform->m_field_name = field_name; + n_uniform->m_df_type = DF_Type::squad_uniform_spec; + n_uniform->m_rdf_type = RDF_Type::Array; + n_uniform->m_node_type = NodeType::Array; + n_uniform->m_index_enum = DF_Type::uniform_category; + n_uniform->m_defined_in = "df.military.xml"; + n_uniform->m_addornements = "[7v*"; + n_uniform->m_array_size = 7; + n_uniform->m_address = base + offset; + n_uniform->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_uniform); + + field_name = "unk_c4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_position, field_name)); + auto n_unk_c4 = new NodeSimple; + n_unk_c4->m_field_name = field_name; + n_unk_c4->m_df_type = DF_Type::Stl_string; + n_unk_c4->m_rdf_type = RDF_Type::Stl_string; + n_unk_c4->m_node_type = NodeType::Simple; + n_unk_c4->m_address = base + offset; + n_unk_c4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_c4); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_position, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::uniform_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_defined_in = "df.military.xml"; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "assigned_items"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_position, field_name)); + auto n_assigned_items = new NodeVector; + n_assigned_items->m_field_name = field_name; + n_assigned_items->m_df_type = DF_Type::int32_t; + n_assigned_items->m_rdf_type = RDF_Type::Vector; + n_assigned_items->m_node_type = NodeType::Vector; + n_assigned_items->m_addornements = "v"; + n_assigned_items->m_address = base + offset; + n_assigned_items->m_parent = p_node_parent; + n_assigned_items->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_assigned_items); + + field_name = "quiver"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_position, field_name)); + auto n_quiver = new NodeSimple; + n_quiver->m_field_name = field_name; + n_quiver->m_df_type = DF_Type::int32_t; + n_quiver->m_rdf_type = RDF_Type::int32_t; + n_quiver->m_node_type = NodeType::Simple; + n_quiver->m_address = base + offset; + n_quiver->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_quiver); + + field_name = "backpack"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_position, field_name)); + auto n_backpack = new NodeSimple; + n_backpack->m_field_name = field_name; + n_backpack->m_df_type = DF_Type::int32_t; + n_backpack->m_rdf_type = RDF_Type::int32_t; + n_backpack->m_node_type = NodeType::Simple; + n_backpack->m_address = base + offset; + n_backpack->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_backpack); + + field_name = "flask"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_position, field_name)); + auto n_flask = new NodeSimple; + n_flask->m_field_name = field_name; + n_flask->m_df_type = DF_Type::int32_t; + n_flask->m_rdf_type = RDF_Type::int32_t; + n_flask->m_node_type = NodeType::Simple; + n_flask->m_address = base + offset; + n_flask->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flask); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_position, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "activities"; + auto n_activities = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_position, field_name)); + n_activities->m_field_name = field_name; + n_activities->m_df_type = DF_Type::int32_t; + n_activities->m_rdf_type = RDF_Type::Array; + n_activities->m_node_type = NodeType::Array; + n_activities->m_index_enum = DF_Type::squad_event_type; + n_activities->m_addornements = "[3"; + n_activities->m_array_size = 3; + n_activities->m_address = base + offset; + n_activities->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_activities); + + field_name = "events"; + auto n_events = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_position, field_name)); + n_events->m_field_name = field_name; + n_events->m_df_type = DF_Type::int32_t; + n_events->m_rdf_type = RDF_Type::Array; + n_events->m_node_type = NodeType::Array; + n_events->m_index_enum = DF_Type::squad_event_type; + n_events->m_addornements = "[3"; + n_events->m_array_size = 3; + n_events->m_address = base + offset; + n_events->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_events); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_position, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + +} +void node_from_squad_schedule_order(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "order"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_schedule_order, field_name)); + auto n_order = new NodePointer; + n_order->m_field_name = field_name; + n_order->m_df_type = get_real_subtype(base+offset, DF_Type::squad_order); + n_order->m_rdf_type = RDF_Type::Pointer; + n_order->m_node_type = NodeType::Pointer; + n_order->m_addornements = "*"; + n_order->m_address = base + offset; + n_order->m_parent = p_node_parent; + n_order->m_defined_in = "df.military.xml"; + n_order->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_order); + + field_name = "min_count"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_schedule_order, field_name)); + auto n_min_count = new NodeSimple; + n_min_count->m_field_name = field_name; + n_min_count->m_df_type = DF_Type::int32_t; + n_min_count->m_rdf_type = RDF_Type::int32_t; + n_min_count->m_node_type = NodeType::Simple; + n_min_count->m_address = base + offset; + n_min_count->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_min_count); + + field_name = "positions"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_schedule_order, field_name)); + auto n_positions = new NodeVector; + n_positions->m_field_name = field_name; + n_positions->m_df_type = DF_Type::Bool; + n_positions->m_rdf_type = RDF_Type::Vector; + n_positions->m_node_type = NodeType::Vector; + n_positions->m_addornements = "v"; + n_positions->m_address = base + offset; + n_positions->m_parent = p_node_parent; + n_positions->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_positions); + +} +void node_from_squad_schedule_entry(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_schedule_entry, field_name)); + auto n_name = new NodeSimple; + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Stl_string; + n_name->m_node_type = NodeType::Simple; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "sleep_mode"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_schedule_entry, field_name)); + auto n_sleep_mode = new NodeSimple; + n_sleep_mode->m_field_name = field_name; + n_sleep_mode->m_df_type = DF_Type::int16_t; + n_sleep_mode->m_rdf_type = RDF_Type::int16_t; + n_sleep_mode->m_node_type = NodeType::Simple; + n_sleep_mode->m_address = base + offset; + n_sleep_mode->m_comment = "0 room, 1 barrack will, 2 barrack need"; + n_sleep_mode->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sleep_mode); + + field_name = "uniform_mode"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_schedule_entry, field_name)); + auto n_uniform_mode = new NodeSimple; + n_uniform_mode->m_field_name = field_name; + n_uniform_mode->m_df_type = DF_Type::int16_t; + n_uniform_mode->m_rdf_type = RDF_Type::int16_t; + n_uniform_mode->m_node_type = NodeType::Simple; + n_uniform_mode->m_address = base + offset; + n_uniform_mode->m_comment = "0 uniformed, 1 civ clothes"; + n_uniform_mode->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_uniform_mode); + + field_name = "orders"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_schedule_entry, field_name)); + auto n_orders = new NodeVector; + n_orders->m_field_name = field_name; + n_orders->m_df_type = DF_Type::squad_schedule_order; + n_orders->m_rdf_type = RDF_Type::Vector; + n_orders->m_node_type = NodeType::Vector; + n_orders->m_defined_in = "df.military.xml"; + n_orders->m_addornements = "v*"; + n_orders->m_address = base + offset; + n_orders->m_parent = p_node_parent; + n_orders->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_orders); + + field_name = "order_assignments"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_schedule_entry, field_name)); + auto n_order_assignments = new NodeVector; + n_order_assignments->m_field_name = field_name; + n_order_assignments->m_df_type = DF_Type::int32_t; + n_order_assignments->m_rdf_type = RDF_Type::Vector; + n_order_assignments->m_node_type = NodeType::Vector; + n_order_assignments->m_addornements = "v*"; + n_order_assignments->m_address = base + offset; + n_order_assignments->m_refers_to = "$$._global._upglobal.positions[$]"; + n_order_assignments->m_parent = p_node_parent; + n_order_assignments->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_order_assignments); + +} +void node_from_squad__T_rooms(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "building_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad__T_rooms, field_name)); + auto n_building_id = new NodeSimple; + n_building_id->m_field_name = field_name; + n_building_id->m_df_type = DF_Type::int32_t; + n_building_id->m_rdf_type = RDF_Type::int32_t; + n_building_id->m_node_type = NodeType::Simple; + n_building_id->m_address = base + offset; + n_building_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_building_id); + + field_name = "mode"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad__T_rooms, field_name)); + auto n_mode = new NodeBitfield; + n_mode->m_field_name = field_name; + n_mode->m_df_type = DF_Type::squad_use_flags; + n_mode->m_rdf_type = RDF_Type::Bitfield; + n_mode->m_node_type = NodeType::Bitfield; + n_mode->m_address = base + offset; + n_mode->m_defined_in = "df.military.xml"; + n_mode->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mode); + +} +void node_from_squad(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "name"; + auto n_name = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad, field_name)); + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::language_name; + n_name->m_rdf_type = RDF_Type::Struct; + n_name->m_node_type = NodeType::Compound; + n_name->m_address = base + offset; + n_name->m_defined_in = "df.language.xml"; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "alias"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad, field_name)); + auto n_alias = new NodeSimple; + n_alias->m_field_name = field_name; + n_alias->m_df_type = DF_Type::Stl_string; + n_alias->m_rdf_type = RDF_Type::Stl_string; + n_alias->m_node_type = NodeType::Simple; + n_alias->m_address = base + offset; + n_alias->m_comment = "if not empty, used instead of name"; + n_alias->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_alias); + + field_name = "positions"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad, field_name)); + auto n_positions = new NodeVector; + n_positions->m_field_name = field_name; + n_positions->m_df_type = DF_Type::squad_position; + n_positions->m_rdf_type = RDF_Type::Vector; + n_positions->m_node_type = NodeType::Vector; + n_positions->m_defined_in = "df.military.xml"; + n_positions->m_addornements = "v*"; + n_positions->m_address = base + offset; + n_positions->m_parent = p_node_parent; + n_positions->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_positions); + + field_name = "orders"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad, field_name)); + auto n_orders = new NodeVector; + n_orders->m_field_name = field_name; + n_orders->m_df_type = DF_Type::squad_order; + n_orders->m_rdf_type = RDF_Type::Vector; + n_orders->m_node_type = NodeType::Vector; + n_orders->m_defined_in = "df.military.xml"; + n_orders->m_addornements = "v*"; + n_orders->m_address = base + offset; + n_orders->m_parent = p_node_parent; + n_orders->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_orders); + + field_name = "schedule"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad, field_name)); + auto n_schedule = new NodeVector; + n_schedule->m_field_name = field_name; + n_schedule->m_df_type = DF_Type::squad_schedule_entry; + n_schedule->m_rdf_type = RDF_Type::Vector; + n_schedule->m_node_type = NodeType::Vector; + n_schedule->m_defined_in = "df.military.xml"; + n_schedule->m_addornements = "v*[12"; + n_schedule->m_address = base + offset; + n_schedule->m_parent = p_node_parent; + n_schedule->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_schedule); + + field_name = "cur_alert_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad, field_name)); + auto n_cur_alert_idx = new NodeSimple; + n_cur_alert_idx->m_field_name = field_name; + n_cur_alert_idx->m_df_type = DF_Type::int32_t; + n_cur_alert_idx->m_rdf_type = RDF_Type::int32_t; + n_cur_alert_idx->m_node_type = NodeType::Simple; + n_cur_alert_idx->m_address = base + offset; + n_cur_alert_idx->m_refers_to = "$$._parent.schedule[$]"; + n_cur_alert_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cur_alert_idx); + + field_name = "rooms"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad, field_name)); + auto n_rooms = new NodeVector; + n_rooms->m_field_name = field_name; + n_rooms->m_df_type = DF_Type::squad__T_rooms; + n_rooms->m_rdf_type = RDF_Type::Vector; + n_rooms->m_node_type = NodeType::Vector; + n_rooms->m_addornements = "v*"; + n_rooms->m_address = base + offset; + n_rooms->m_parent = p_node_parent; + n_rooms->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_rooms); + + field_name = "rack_combat"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad, field_name)); + auto n_rack_combat = new NodeVector; + n_rack_combat->m_field_name = field_name; + n_rack_combat->m_df_type = DF_Type::int32_t; + n_rack_combat->m_rdf_type = RDF_Type::Vector; + n_rack_combat->m_node_type = NodeType::Vector; + n_rack_combat->m_addornements = "v"; + n_rack_combat->m_address = base + offset; + n_rack_combat->m_parent = p_node_parent; + n_rack_combat->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_rack_combat); + + field_name = "rack_training"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad, field_name)); + auto n_rack_training = new NodeVector; + n_rack_training->m_field_name = field_name; + n_rack_training->m_df_type = DF_Type::int32_t; + n_rack_training->m_rdf_type = RDF_Type::Vector; + n_rack_training->m_node_type = NodeType::Vector; + n_rack_training->m_addornements = "v"; + n_rack_training->m_address = base + offset; + n_rack_training->m_parent = p_node_parent; + n_rack_training->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_rack_training); + + field_name = "uniform_priority"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad, field_name)); + auto n_uniform_priority = new NodeSimple; + n_uniform_priority->m_field_name = field_name; + n_uniform_priority->m_df_type = DF_Type::int32_t; + n_uniform_priority->m_rdf_type = RDF_Type::int32_t; + n_uniform_priority->m_node_type = NodeType::Simple; + n_uniform_priority->m_address = base + offset; + n_uniform_priority->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_uniform_priority); + + field_name = "activity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad, field_name)); + auto n_activity = new NodeSimple; + n_activity->m_field_name = field_name; + n_activity->m_df_type = DF_Type::int32_t; + n_activity->m_rdf_type = RDF_Type::int32_t; + n_activity->m_node_type = NodeType::Simple; + n_activity->m_address = base + offset; + n_activity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_activity); + + field_name = "ammunition"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad, field_name)); + auto n_ammunition = new NodeVector; + n_ammunition->m_field_name = field_name; + n_ammunition->m_df_type = DF_Type::squad_ammo_spec; + n_ammunition->m_rdf_type = RDF_Type::Vector; + n_ammunition->m_node_type = NodeType::Vector; + n_ammunition->m_defined_in = "df.military.xml"; + n_ammunition->m_addornements = "v*"; + n_ammunition->m_address = base + offset; + n_ammunition->m_parent = p_node_parent; + n_ammunition->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_ammunition); + + field_name = "train_weapon_free"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad, field_name)); + auto n_train_weapon_free = new NodeVector; + n_train_weapon_free->m_field_name = field_name; + n_train_weapon_free->m_df_type = DF_Type::int32_t; + n_train_weapon_free->m_rdf_type = RDF_Type::Vector; + n_train_weapon_free->m_node_type = NodeType::Vector; + n_train_weapon_free->m_addornements = "v"; + n_train_weapon_free->m_address = base + offset; + n_train_weapon_free->m_parent = p_node_parent; + n_train_weapon_free->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_train_weapon_free); + + field_name = "train_weapon_inuse"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad, field_name)); + auto n_train_weapon_inuse = new NodeVector; + n_train_weapon_inuse->m_field_name = field_name; + n_train_weapon_inuse->m_df_type = DF_Type::int32_t; + n_train_weapon_inuse->m_rdf_type = RDF_Type::Vector; + n_train_weapon_inuse->m_node_type = NodeType::Vector; + n_train_weapon_inuse->m_addornements = "v"; + n_train_weapon_inuse->m_address = base + offset; + n_train_weapon_inuse->m_parent = p_node_parent; + n_train_weapon_inuse->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_train_weapon_inuse); + + field_name = "ammo_items"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad, field_name)); + auto n_ammo_items = new NodeVector; + n_ammo_items->m_field_name = field_name; + n_ammo_items->m_df_type = DF_Type::int32_t; + n_ammo_items->m_rdf_type = RDF_Type::Vector; + n_ammo_items->m_node_type = NodeType::Vector; + n_ammo_items->m_addornements = "v"; + n_ammo_items->m_address = base + offset; + n_ammo_items->m_parent = p_node_parent; + n_ammo_items->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_ammo_items); + + field_name = "ammo_units"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad, field_name)); + auto n_ammo_units = new NodeVector; + n_ammo_units->m_field_name = field_name; + n_ammo_units->m_df_type = DF_Type::int32_t; + n_ammo_units->m_rdf_type = RDF_Type::Vector; + n_ammo_units->m_node_type = NodeType::Vector; + n_ammo_units->m_addornements = "v"; + n_ammo_units->m_address = base + offset; + n_ammo_units->m_parent = p_node_parent; + n_ammo_units->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_ammo_units); + + field_name = "carry_food"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad, field_name)); + auto n_carry_food = new NodeSimple; + n_carry_food->m_field_name = field_name; + n_carry_food->m_df_type = DF_Type::int16_t; + n_carry_food->m_rdf_type = RDF_Type::int16_t; + n_carry_food->m_node_type = NodeType::Simple; + n_carry_food->m_address = base + offset; + n_carry_food->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_carry_food); + + field_name = "carry_water"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad, field_name)); + auto n_carry_water = new NodeSimple; + n_carry_water->m_field_name = field_name; + n_carry_water->m_df_type = DF_Type::int16_t; + n_carry_water->m_rdf_type = RDF_Type::int16_t; + n_carry_water->m_node_type = NodeType::Simple; + n_carry_water->m_address = base + offset; + n_carry_water->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_carry_water); + + field_name = "entity_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad, field_name)); + auto n_entity_id = new NodeSimple; + n_entity_id->m_field_name = field_name; + n_entity_id->m_df_type = DF_Type::int32_t; + n_entity_id->m_rdf_type = RDF_Type::int32_t; + n_entity_id->m_node_type = NodeType::Simple; + n_entity_id->m_address = base + offset; + n_entity_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity_id); + + field_name = "leader_position"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad, field_name)); + auto n_leader_position = new NodeSimple; + n_leader_position->m_field_name = field_name; + n_leader_position->m_df_type = DF_Type::int32_t; + n_leader_position->m_rdf_type = RDF_Type::int32_t; + n_leader_position->m_node_type = NodeType::Simple; + n_leader_position->m_address = base + offset; + n_leader_position->m_refers_to = "(find-by-id $$._global.entity_id.ref-target.positions.own $id $)"; + n_leader_position->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_leader_position); + + field_name = "leader_assignment"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad, field_name)); + auto n_leader_assignment = new NodeSimple; + n_leader_assignment->m_field_name = field_name; + n_leader_assignment->m_df_type = DF_Type::int32_t; + n_leader_assignment->m_rdf_type = RDF_Type::int32_t; + n_leader_assignment->m_node_type = NodeType::Simple; + n_leader_assignment->m_address = base + offset; + n_leader_assignment->m_refers_to = "(find-by-id $$._global.entity_id.ref-target.positions.assignments $id $)"; + n_leader_assignment->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_leader_assignment); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_squad_order_movest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::squad_order; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_squad_order(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "pos"; + auto n_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_order_movest, field_name)); + n_pos->m_field_name = field_name; + n_pos->m_df_type = DF_Type::coord; + n_pos->m_rdf_type = RDF_Type::Struct; + n_pos->m_node_type = NodeType::Compound; + n_pos->m_address = base + offset; + n_pos->m_defined_in = "df.map.xml"; + n_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pos); + + field_name = "point_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_order_movest, field_name)); + auto n_point_id = new NodeSimple; + n_point_id->m_field_name = field_name; + n_point_id->m_df_type = DF_Type::int32_t; + n_point_id->m_rdf_type = RDF_Type::int32_t; + n_point_id->m_node_type = NodeType::Simple; + n_point_id->m_address = base + offset; + n_point_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_point_id); + +} +void node_from_squad_order_retrieve_artifactst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::squad_order; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_squad_order(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_order_retrieve_artifactst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + auto n_anon_2 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_order_retrieve_artifactst, field_name)); + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::coord; + n_anon_2->m_rdf_type = RDF_Type::Struct; + n_anon_2->m_node_type = NodeType::Compound; + n_anon_2->m_address = base + offset; + n_anon_2->m_defined_in = "df.map.xml"; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + +} +void node_from_squad_order_raid_sitest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::squad_order; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_squad_order(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_order_raid_sitest, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + auto n_anon_2 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_order_raid_sitest, field_name)); + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::coord; + n_anon_2->m_rdf_type = RDF_Type::Struct; + n_anon_2->m_node_type = NodeType::Compound; + n_anon_2->m_address = base + offset; + n_anon_2->m_defined_in = "df.map.xml"; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + +} +void node_from_squad_order_rescue_hfst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::squad_order; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_squad_order(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_order_rescue_hfst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + auto n_anon_2 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::squad_order_rescue_hfst, field_name)); + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::coord; + n_anon_2->m_rdf_type = RDF_Type::Struct; + n_anon_2->m_node_type = NodeType::Compound; + n_anon_2->m_address = base + offset; + n_anon_2->m_defined_in = "df.map.xml"; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + +} +void node_from_army_controller__T_unk_64(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = true) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "t1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller__T_unk_64, field_name)); + auto n_t1 = new NodePointer; + n_t1->m_field_name = field_name; + n_t1->m_df_type = get_real_subtype(base+offset, DF_Type::army_controller_sub1); + n_t1->m_rdf_type = RDF_Type::Pointer; + n_t1->m_node_type = NodeType::Pointer; + n_t1->m_addornements = "*"; + n_t1->m_address = base + offset; + n_t1->m_parent = p_node_parent; + n_t1->m_defined_in = "df.military.xml"; + n_t1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_t1); + + field_name = "t2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller__T_unk_64, field_name)); + auto n_t2 = new NodePointer; + n_t2->m_field_name = field_name; + n_t2->m_df_type = get_real_subtype(base+offset, DF_Type::army_controller_sub2); + n_t2->m_rdf_type = RDF_Type::Pointer; + n_t2->m_node_type = NodeType::Pointer; + n_t2->m_addornements = "*"; + n_t2->m_address = base + offset; + n_t2->m_parent = p_node_parent; + n_t2->m_defined_in = "df.military.xml"; + n_t2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_t2); + + field_name = "t4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller__T_unk_64, field_name)); + auto n_t4 = new NodePointer; + n_t4->m_field_name = field_name; + n_t4->m_df_type = get_real_subtype(base+offset, DF_Type::army_controller_sub4); + n_t4->m_rdf_type = RDF_Type::Pointer; + n_t4->m_node_type = NodeType::Pointer; + n_t4->m_addornements = "*"; + n_t4->m_address = base + offset; + n_t4->m_parent = p_node_parent; + n_t4->m_defined_in = "df.military.xml"; + n_t4->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_t4); + + field_name = "t5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller__T_unk_64, field_name)); + auto n_t5 = new NodePointer; + n_t5->m_field_name = field_name; + n_t5->m_df_type = get_real_subtype(base+offset, DF_Type::army_controller_sub5); + n_t5->m_rdf_type = RDF_Type::Pointer; + n_t5->m_node_type = NodeType::Pointer; + n_t5->m_addornements = "*"; + n_t5->m_address = base + offset; + n_t5->m_parent = p_node_parent; + n_t5->m_defined_in = "df.military.xml"; + n_t5->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_t5); + + field_name = "t6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller__T_unk_64, field_name)); + auto n_t6 = new NodePointer; + n_t6->m_field_name = field_name; + n_t6->m_df_type = get_real_subtype(base+offset, DF_Type::army_controller_sub6); + n_t6->m_rdf_type = RDF_Type::Pointer; + n_t6->m_node_type = NodeType::Pointer; + n_t6->m_addornements = "*"; + n_t6->m_address = base + offset; + n_t6->m_parent = p_node_parent; + n_t6->m_defined_in = "df.military.xml"; + n_t6->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_t6); + + field_name = "t7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller__T_unk_64, field_name)); + auto n_t7 = new NodePointer; + n_t7->m_field_name = field_name; + n_t7->m_df_type = get_real_subtype(base+offset, DF_Type::army_controller_sub7); + n_t7->m_rdf_type = RDF_Type::Pointer; + n_t7->m_node_type = NodeType::Pointer; + n_t7->m_addornements = "*"; + n_t7->m_address = base + offset; + n_t7->m_parent = p_node_parent; + n_t7->m_defined_in = "df.military.xml"; + n_t7->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_t7); + + field_name = "t11"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller__T_unk_64, field_name)); + auto n_t11 = new NodePointer; + n_t11->m_field_name = field_name; + n_t11->m_df_type = get_real_subtype(base+offset, DF_Type::army_controller_sub11); + n_t11->m_rdf_type = RDF_Type::Pointer; + n_t11->m_node_type = NodeType::Pointer; + n_t11->m_addornements = "*"; + n_t11->m_address = base + offset; + n_t11->m_parent = p_node_parent; + n_t11->m_defined_in = "df.military.xml"; + n_t11->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_t11); + + field_name = "t12"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller__T_unk_64, field_name)); + auto n_t12 = new NodePointer; + n_t12->m_field_name = field_name; + n_t12->m_df_type = get_real_subtype(base+offset, DF_Type::army_controller_sub12); + n_t12->m_rdf_type = RDF_Type::Pointer; + n_t12->m_node_type = NodeType::Pointer; + n_t12->m_addornements = "*"; + n_t12->m_address = base + offset; + n_t12->m_parent = p_node_parent; + n_t12->m_defined_in = "df.military.xml"; + n_t12->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_t12); + + field_name = "t13"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller__T_unk_64, field_name)); + auto n_t13 = new NodePointer; + n_t13->m_field_name = field_name; + n_t13->m_df_type = get_real_subtype(base+offset, DF_Type::army_controller_sub13); + n_t13->m_rdf_type = RDF_Type::Pointer; + n_t13->m_node_type = NodeType::Pointer; + n_t13->m_addornements = "*"; + n_t13->m_address = base + offset; + n_t13->m_parent = p_node_parent; + n_t13->m_defined_in = "df.military.xml"; + n_t13->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_t13); + + field_name = "t14"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller__T_unk_64, field_name)); + auto n_t14 = new NodePointer; + n_t14->m_field_name = field_name; + n_t14->m_df_type = get_real_subtype(base+offset, DF_Type::army_controller_sub14); + n_t14->m_rdf_type = RDF_Type::Pointer; + n_t14->m_node_type = NodeType::Pointer; + n_t14->m_addornements = "*"; + n_t14->m_address = base + offset; + n_t14->m_parent = p_node_parent; + n_t14->m_defined_in = "df.military.xml"; + n_t14->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_t14); + + field_name = "t15"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller__T_unk_64, field_name)); + auto n_t15 = new NodePointer; + n_t15->m_field_name = field_name; + n_t15->m_df_type = get_real_subtype(base+offset, DF_Type::army_controller_sub15); + n_t15->m_rdf_type = RDF_Type::Pointer; + n_t15->m_node_type = NodeType::Pointer; + n_t15->m_addornements = "*"; + n_t15->m_address = base + offset; + n_t15->m_parent = p_node_parent; + n_t15->m_defined_in = "df.military.xml"; + n_t15->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_t15); + + field_name = "t16"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller__T_unk_64, field_name)); + auto n_t16 = new NodePointer; + n_t16->m_field_name = field_name; + n_t16->m_df_type = get_real_subtype(base+offset, DF_Type::army_controller_sub16); + n_t16->m_rdf_type = RDF_Type::Pointer; + n_t16->m_node_type = NodeType::Pointer; + n_t16->m_addornements = "*"; + n_t16->m_address = base + offset; + n_t16->m_parent = p_node_parent; + n_t16->m_defined_in = "df.military.xml"; + n_t16->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_t16); + + field_name = "t17"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller__T_unk_64, field_name)); + auto n_t17 = new NodePointer; + n_t17->m_field_name = field_name; + n_t17->m_df_type = get_real_subtype(base+offset, DF_Type::army_controller_sub17); + n_t17->m_rdf_type = RDF_Type::Pointer; + n_t17->m_node_type = NodeType::Pointer; + n_t17->m_addornements = "*"; + n_t17->m_address = base + offset; + n_t17->m_parent = p_node_parent; + n_t17->m_defined_in = "df.military.xml"; + n_t17->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_t17); + + field_name = "t18"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller__T_unk_64, field_name)); + auto n_t18 = new NodePointer; + n_t18->m_field_name = field_name; + n_t18->m_df_type = get_real_subtype(base+offset, DF_Type::army_controller_sub18); + n_t18->m_rdf_type = RDF_Type::Pointer; + n_t18->m_node_type = NodeType::Pointer; + n_t18->m_addornements = "*"; + n_t18->m_address = base + offset; + n_t18->m_parent = p_node_parent; + n_t18->m_defined_in = "df.military.xml"; + n_t18->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_t18); + +} +void node_from_army_controller(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "entity_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller, field_name)); + auto n_entity_id = new NodeSimple; + n_entity_id->m_field_name = field_name; + n_entity_id->m_df_type = DF_Type::int32_t; + n_entity_id->m_rdf_type = RDF_Type::int32_t; + n_entity_id->m_node_type = NodeType::Simple; + n_entity_id->m_address = base + offset; + n_entity_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity_id); + + field_name = "site_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller, field_name)); + auto n_site_id = new NodeSimple; + n_site_id->m_field_name = field_name; + n_site_id->m_df_type = DF_Type::int32_t; + n_site_id->m_rdf_type = RDF_Type::int32_t; + n_site_id->m_node_type = NodeType::Simple; + n_site_id->m_address = base + offset; + n_site_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_id); + + field_name = "pos_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller, field_name)); + auto n_pos_x = new NodeSimple; + n_pos_x->m_field_name = field_name; + n_pos_x->m_df_type = DF_Type::int32_t; + n_pos_x->m_rdf_type = RDF_Type::int32_t; + n_pos_x->m_node_type = NodeType::Simple; + n_pos_x->m_address = base + offset; + n_pos_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pos_x); + + field_name = "pos_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller, field_name)); + auto n_pos_y = new NodeSimple; + n_pos_y->m_field_name = field_name; + n_pos_y->m_df_type = DF_Type::int32_t; + n_pos_y->m_rdf_type = RDF_Type::int32_t; + n_pos_y->m_node_type = NodeType::Simple; + n_pos_y->m_address = base + offset; + n_pos_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pos_y); + + field_name = "unk_14"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller, field_name)); + auto n_unk_14 = new NodeSimple; + n_unk_14->m_field_name = field_name; + n_unk_14->m_df_type = DF_Type::int32_t; + n_unk_14->m_rdf_type = RDF_Type::int32_t; + n_unk_14->m_node_type = NodeType::Simple; + n_unk_14->m_address = base + offset; + n_unk_14->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_14); + + field_name = "unk_18"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller, field_name)); + auto n_unk_18 = new NodeSimple; + n_unk_18->m_field_name = field_name; + n_unk_18->m_df_type = DF_Type::int32_t; + n_unk_18->m_rdf_type = RDF_Type::int32_t; + n_unk_18->m_node_type = NodeType::Simple; + n_unk_18->m_address = base + offset; + n_unk_18->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_18); + + field_name = "unk_1c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller, field_name)); + auto n_unk_1c = new NodeSimple; + n_unk_1c->m_field_name = field_name; + n_unk_1c->m_df_type = DF_Type::int32_t; + n_unk_1c->m_rdf_type = RDF_Type::int32_t; + n_unk_1c->m_node_type = NodeType::Simple; + n_unk_1c->m_address = base + offset; + n_unk_1c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_1c); + + field_name = "unk_20"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller, field_name)); + auto n_unk_20 = new NodeVector; + n_unk_20->m_field_name = field_name; + n_unk_20->m_df_type = DF_Type::int32_t; + n_unk_20->m_rdf_type = RDF_Type::Vector; + n_unk_20->m_node_type = NodeType::Vector; + n_unk_20->m_addornements = "v"; + n_unk_20->m_address = base + offset; + n_unk_20->m_parent = p_node_parent; + n_unk_20->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_20); + + field_name = "year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller, field_name)); + auto n_year = new NodeSimple; + n_year->m_field_name = field_name; + n_year->m_df_type = DF_Type::int32_t; + n_year->m_rdf_type = RDF_Type::int32_t; + n_year->m_node_type = NodeType::Simple; + n_year->m_address = base + offset; + n_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_year); + + field_name = "year_tick"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller, field_name)); + auto n_year_tick = new NodeSimple; + n_year_tick->m_field_name = field_name; + n_year_tick->m_df_type = DF_Type::int32_t; + n_year_tick->m_rdf_type = RDF_Type::int32_t; + n_year_tick->m_node_type = NodeType::Simple; + n_year_tick->m_address = base + offset; + n_year_tick->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_year_tick); + + field_name = "unk_34"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller, field_name)); + auto n_unk_34 = new NodeSimple; + n_unk_34->m_field_name = field_name; + n_unk_34->m_df_type = DF_Type::int32_t; + n_unk_34->m_rdf_type = RDF_Type::int32_t; + n_unk_34->m_node_type = NodeType::Simple; + n_unk_34->m_address = base + offset; + n_unk_34->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_34); + + field_name = "unk_38"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller, field_name)); + auto n_unk_38 = new NodeSimple; + n_unk_38->m_field_name = field_name; + n_unk_38->m_df_type = DF_Type::int32_t; + n_unk_38->m_rdf_type = RDF_Type::int32_t; + n_unk_38->m_node_type = NodeType::Simple; + n_unk_38->m_address = base + offset; + n_unk_38->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_38); + + field_name = "unk_3c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller, field_name)); + auto n_unk_3c = new NodeSimple; + n_unk_3c->m_field_name = field_name; + n_unk_3c->m_df_type = DF_Type::int32_t; + n_unk_3c->m_rdf_type = RDF_Type::int32_t; + n_unk_3c->m_node_type = NodeType::Simple; + n_unk_3c->m_address = base + offset; + n_unk_3c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_3c); + + field_name = "unk_40"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller, field_name)); + auto n_unk_40 = new NodeSimple; + n_unk_40->m_field_name = field_name; + n_unk_40->m_df_type = DF_Type::int32_t; + n_unk_40->m_rdf_type = RDF_Type::int32_t; + n_unk_40->m_node_type = NodeType::Simple; + n_unk_40->m_address = base + offset; + n_unk_40->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_40); + + field_name = "unk_44"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller, field_name)); + auto n_unk_44 = new NodeVector; + n_unk_44->m_field_name = field_name; + n_unk_44->m_df_type = DF_Type::int32_t; + n_unk_44->m_rdf_type = RDF_Type::Vector; + n_unk_44->m_node_type = NodeType::Vector; + n_unk_44->m_addornements = "v"; + n_unk_44->m_address = base + offset; + n_unk_44->m_parent = p_node_parent; + n_unk_44->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_44); + + field_name = "unk_50"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller, field_name)); + auto n_unk_50 = new NodeSimple; + n_unk_50->m_field_name = field_name; + n_unk_50->m_df_type = DF_Type::int32_t; + n_unk_50->m_rdf_type = RDF_Type::int32_t; + n_unk_50->m_node_type = NodeType::Simple; + n_unk_50->m_address = base + offset; + n_unk_50->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_50); + + field_name = "unk_54"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller, field_name)); + auto n_unk_54 = new NodeVector; + n_unk_54->m_field_name = field_name; + n_unk_54->m_df_type = DF_Type::int32_t; + n_unk_54->m_rdf_type = RDF_Type::Vector; + n_unk_54->m_node_type = NodeType::Vector; + n_unk_54->m_addornements = "v"; + n_unk_54->m_address = base + offset; + n_unk_54->m_parent = p_node_parent; + n_unk_54->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_54); + + field_name = "mission_report"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller, field_name)); + auto n_mission_report = new NodePointer; + n_mission_report->m_field_name = field_name; + n_mission_report->m_df_type = get_real_subtype(base+offset, DF_Type::mission_report); + n_mission_report->m_rdf_type = RDF_Type::Pointer; + n_mission_report->m_node_type = NodeType::Pointer; + n_mission_report->m_addornements = "*"; + n_mission_report->m_address = base + offset; + n_mission_report->m_parent = p_node_parent; + n_mission_report->m_defined_in = "df.world.xml"; + n_mission_report->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_mission_report); + + field_name = "unk_44_11v"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller, field_name)); + auto n_unk_44_11v = new NodeVector; + n_unk_44_11v->m_field_name = field_name; + n_unk_44_11v->m_df_type = DF_Type::Void; + n_unk_44_11v->m_rdf_type = RDF_Type::Vector; + n_unk_44_11v->m_node_type = NodeType::Vector; + n_unk_44_11v->m_addornements = "v"; + n_unk_44_11v->m_address = base + offset; + n_unk_44_11v->m_parent = p_node_parent; + n_unk_44_11v->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_44_11v); + + field_name = "unk_64"; + auto n_unk_64 = new NodeUnion; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller, field_name)); + n_unk_64->m_field_name = field_name; + n_unk_64->m_df_type = DF_Type::army_controller__T_unk_64; + n_unk_64->m_rdf_type = RDF_Type::Union; + n_unk_64->m_node_type = NodeType::Union; + n_unk_64->m_address = base + offset; + n_unk_64->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_64); + + field_name = "type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller, field_name)); + auto n_type = new NodeSimple; + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::int32_t; + n_type->m_rdf_type = RDF_Type::int32_t; + n_type->m_node_type = NodeType::Simple; + n_type->m_address = base + offset; + n_type->m_comment = "12 for being sent away to tributary site"; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + +} +void node_from_army_controller_sub2__T_anon_5(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub2__T_anon_5, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub2__T_anon_5, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub2__T_anon_5, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub2__T_anon_5, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub2__T_anon_5, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub2__T_anon_5, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + +} +void node_from_army_controller_sub2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub2, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub2, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub2, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub2, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub2, field_name)); + auto n_anon_5 = new NodeVector; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::army_controller_sub2__T_anon_5; + n_anon_5->m_rdf_type = RDF_Type::Vector; + n_anon_5->m_node_type = NodeType::Vector; + n_anon_5->m_addornements = "v*"; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + n_anon_5->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub2, field_name)); + auto n_anon_6 = new NodeVector; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::Vector; + n_anon_6->m_node_type = NodeType::Vector; + n_anon_6->m_addornements = "v"; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + n_anon_6->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub2, field_name)); + auto n_anon_7 = new NodeVector; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::int32_t; + n_anon_7->m_rdf_type = RDF_Type::Vector; + n_anon_7->m_node_type = NodeType::Vector; + n_anon_7->m_addornements = "v"; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + n_anon_7->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_7); + + field_name = "anon_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub2, field_name)); + auto n_anon_8 = new NodeSimple; + n_anon_8->m_field_name = field_name; + n_anon_8->m_df_type = DF_Type::int32_t; + n_anon_8->m_rdf_type = RDF_Type::int32_t; + n_anon_8->m_node_type = NodeType::Simple; + n_anon_8->m_address = base + offset; + n_anon_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_8); + + field_name = "anon_9"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub2, field_name)); + auto n_anon_9 = new NodeSimple; + n_anon_9->m_field_name = field_name; + n_anon_9->m_df_type = DF_Type::int32_t; + n_anon_9->m_rdf_type = RDF_Type::int32_t; + n_anon_9->m_node_type = NodeType::Simple; + n_anon_9->m_address = base + offset; + n_anon_9->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_9); + + field_name = "anon_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub2, field_name)); + auto n_anon_10 = new NodeSimple; + n_anon_10->m_field_name = field_name; + n_anon_10->m_df_type = DF_Type::int32_t; + n_anon_10->m_rdf_type = RDF_Type::int32_t; + n_anon_10->m_node_type = NodeType::Simple; + n_anon_10->m_address = base + offset; + n_anon_10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_10); + +} +void node_from_army_controller_sub7__T_anon_3(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub7__T_anon_3, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub7__T_anon_3, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub7__T_anon_3, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub7__T_anon_3, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub7__T_anon_3, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub7__T_anon_3, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + +} +void node_from_army_controller_sub7(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub7, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub7, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub7, field_name)); + auto n_anon_3 = new NodeVector; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::army_controller_sub7__T_anon_3; + n_anon_3->m_rdf_type = RDF_Type::Vector; + n_anon_3->m_node_type = NodeType::Vector; + n_anon_3->m_addornements = "v*"; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + n_anon_3->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub7, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub7, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub7, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub7, field_name)); + auto n_anon_7 = new NodeSimple; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::int32_t; + n_anon_7->m_rdf_type = RDF_Type::int32_t; + n_anon_7->m_node_type = NodeType::Simple; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_7); + + field_name = "anon_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub7, field_name)); + auto n_anon_8 = new NodeSimple; + n_anon_8->m_field_name = field_name; + n_anon_8->m_df_type = DF_Type::int32_t; + n_anon_8->m_rdf_type = RDF_Type::int32_t; + n_anon_8->m_node_type = NodeType::Simple; + n_anon_8->m_address = base + offset; + n_anon_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_8); + + field_name = "anon_9"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub7, field_name)); + auto n_anon_9 = new NodeSimple; + n_anon_9->m_field_name = field_name; + n_anon_9->m_df_type = DF_Type::int32_t; + n_anon_9->m_rdf_type = RDF_Type::int32_t; + n_anon_9->m_node_type = NodeType::Simple; + n_anon_9->m_address = base + offset; + n_anon_9->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_9); + + field_name = "anon_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub7, field_name)); + auto n_anon_10 = new NodeSimple; + n_anon_10->m_field_name = field_name; + n_anon_10->m_df_type = DF_Type::int32_t; + n_anon_10->m_rdf_type = RDF_Type::int32_t; + n_anon_10->m_node_type = NodeType::Simple; + n_anon_10->m_address = base + offset; + n_anon_10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_10); + +} +void node_from_army_controller_sub11__T_anon_3(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub11__T_anon_3, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub11__T_anon_3, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub11__T_anon_3, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub11__T_anon_3, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub11__T_anon_3, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub11__T_anon_3, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + +} +void node_from_army_controller_sub11(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub11, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub11, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub11, field_name)); + auto n_anon_3 = new NodeVector; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::army_controller_sub11__T_anon_3; + n_anon_3->m_rdf_type = RDF_Type::Vector; + n_anon_3->m_node_type = NodeType::Vector; + n_anon_3->m_addornements = "v*"; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + n_anon_3->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_3); + +} +void node_from_army_controller_sub12__T_anon_4(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub12__T_anon_4, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub12__T_anon_4, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub12__T_anon_4, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub12__T_anon_4, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub12__T_anon_4, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub12__T_anon_4, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + +} +void node_from_army_controller_sub12(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub12, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub12, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub12, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub12, field_name)); + auto n_anon_4 = new NodeVector; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::army_controller_sub12__T_anon_4; + n_anon_4->m_rdf_type = RDF_Type::Vector; + n_anon_4->m_node_type = NodeType::Vector; + n_anon_4->m_addornements = "v*"; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + n_anon_4->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub12, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub12, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub12, field_name)); + auto n_anon_7 = new NodeSimple; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::int32_t; + n_anon_7->m_rdf_type = RDF_Type::int32_t; + n_anon_7->m_node_type = NodeType::Simple; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_7); + + field_name = "anon_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub12, field_name)); + auto n_anon_8 = new NodeSimple; + n_anon_8->m_field_name = field_name; + n_anon_8->m_df_type = DF_Type::int32_t; + n_anon_8->m_rdf_type = RDF_Type::int32_t; + n_anon_8->m_node_type = NodeType::Simple; + n_anon_8->m_address = base + offset; + n_anon_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_8); + +} +void node_from_army_controller_sub13__T_anon_4(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub13__T_anon_4, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub13__T_anon_4, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub13__T_anon_4, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub13__T_anon_4, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub13__T_anon_4, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub13__T_anon_4, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + +} +void node_from_army_controller_sub13(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub13, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub13, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub13, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub13, field_name)); + auto n_anon_4 = new NodeVector; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::army_controller_sub13__T_anon_4; + n_anon_4->m_rdf_type = RDF_Type::Vector; + n_anon_4->m_node_type = NodeType::Vector; + n_anon_4->m_addornements = "v*"; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + n_anon_4->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_4); + +} +void node_from_army_controller_sub14__T_anon_4(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub14__T_anon_4, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub14__T_anon_4, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub14__T_anon_4, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub14__T_anon_4, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub14__T_anon_4, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub14__T_anon_4, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + +} +void node_from_army_controller_sub14(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub14, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub14, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub14, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub14, field_name)); + auto n_anon_4 = new NodeVector; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::army_controller_sub14__T_anon_4; + n_anon_4->m_rdf_type = RDF_Type::Vector; + n_anon_4->m_node_type = NodeType::Vector; + n_anon_4->m_addornements = "v*"; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + n_anon_4->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_4); + +} +void node_from_army_controller_sub15__T_anon_3(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub15__T_anon_3, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub15__T_anon_3, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub15__T_anon_3, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub15__T_anon_3, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub15__T_anon_3, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub15__T_anon_3, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + +} +void node_from_army_controller_sub15(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub15, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub15, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub15, field_name)); + auto n_anon_3 = new NodeVector; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::army_controller_sub15__T_anon_3; + n_anon_3->m_rdf_type = RDF_Type::Vector; + n_anon_3->m_node_type = NodeType::Vector; + n_anon_3->m_addornements = "v*"; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + n_anon_3->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub15, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub15, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub15, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub15, field_name)); + auto n_anon_7 = new NodeSimple; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::int32_t; + n_anon_7->m_rdf_type = RDF_Type::int32_t; + n_anon_7->m_node_type = NodeType::Simple; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_7); + + field_name = "anon_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub15, field_name)); + auto n_anon_8 = new NodeSimple; + n_anon_8->m_field_name = field_name; + n_anon_8->m_df_type = DF_Type::int32_t; + n_anon_8->m_rdf_type = RDF_Type::int32_t; + n_anon_8->m_node_type = NodeType::Simple; + n_anon_8->m_address = base + offset; + n_anon_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_8); + + field_name = "anon_9"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub15, field_name)); + auto n_anon_9 = new NodeSimple; + n_anon_9->m_field_name = field_name; + n_anon_9->m_df_type = DF_Type::int32_t; + n_anon_9->m_rdf_type = RDF_Type::int32_t; + n_anon_9->m_node_type = NodeType::Simple; + n_anon_9->m_address = base + offset; + n_anon_9->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_9); + + field_name = "anon_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub15, field_name)); + auto n_anon_10 = new NodeSimple; + n_anon_10->m_field_name = field_name; + n_anon_10->m_df_type = DF_Type::int32_t; + n_anon_10->m_rdf_type = RDF_Type::int32_t; + n_anon_10->m_node_type = NodeType::Simple; + n_anon_10->m_address = base + offset; + n_anon_10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_10); + + field_name = "anon_11"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub15, field_name)); + auto n_anon_11 = new NodeSimple; + n_anon_11->m_field_name = field_name; + n_anon_11->m_df_type = DF_Type::int32_t; + n_anon_11->m_rdf_type = RDF_Type::int32_t; + n_anon_11->m_node_type = NodeType::Simple; + n_anon_11->m_address = base + offset; + n_anon_11->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_11); + + field_name = "anon_12"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub15, field_name)); + auto n_anon_12 = new NodeSimple; + n_anon_12->m_field_name = field_name; + n_anon_12->m_df_type = DF_Type::int32_t; + n_anon_12->m_rdf_type = RDF_Type::int32_t; + n_anon_12->m_node_type = NodeType::Simple; + n_anon_12->m_address = base + offset; + n_anon_12->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_12); + + field_name = "anon_13"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army_controller_sub15, field_name)); + auto n_anon_13 = new NodeSimple; + n_anon_13->m_field_name = field_name; + n_anon_13->m_df_type = DF_Type::int32_t; + n_anon_13->m_rdf_type = RDF_Type::int32_t; + n_anon_13->m_node_type = NodeType::Simple; + n_anon_13->m_address = base + offset; + n_anon_13->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_13); + +} +void node_from_army__T_members(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "nemesis_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army__T_members, field_name)); + auto n_nemesis_id = new NodeSimple; + n_nemesis_id->m_field_name = field_name; + n_nemesis_id->m_df_type = DF_Type::int32_t; + n_nemesis_id->m_rdf_type = RDF_Type::int32_t; + n_nemesis_id->m_node_type = NodeType::Simple; + n_nemesis_id->m_address = base + offset; + n_nemesis_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_nemesis_id); + + field_name = "hunger_timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army__T_members, field_name)); + auto n_hunger_timer = new NodeSimple; + n_hunger_timer->m_field_name = field_name; + n_hunger_timer->m_df_type = DF_Type::int32_t; + n_hunger_timer->m_rdf_type = RDF_Type::int32_t; + n_hunger_timer->m_node_type = NodeType::Simple; + n_hunger_timer->m_address = base + offset; + n_hunger_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_hunger_timer); + + field_name = "thirst_timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army__T_members, field_name)); + auto n_thirst_timer = new NodeSimple; + n_thirst_timer->m_field_name = field_name; + n_thirst_timer->m_df_type = DF_Type::int32_t; + n_thirst_timer->m_rdf_type = RDF_Type::int32_t; + n_thirst_timer->m_node_type = NodeType::Simple; + n_thirst_timer->m_address = base + offset; + n_thirst_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_thirst_timer); + + field_name = "sleepiness_timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army__T_members, field_name)); + auto n_sleepiness_timer = new NodeSimple; + n_sleepiness_timer->m_field_name = field_name; + n_sleepiness_timer->m_df_type = DF_Type::int32_t; + n_sleepiness_timer->m_rdf_type = RDF_Type::int32_t; + n_sleepiness_timer->m_node_type = NodeType::Simple; + n_sleepiness_timer->m_address = base + offset; + n_sleepiness_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sleepiness_timer); + + field_name = "stored_fat"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army__T_members, field_name)); + auto n_stored_fat = new NodeSimple; + n_stored_fat->m_field_name = field_name; + n_stored_fat->m_df_type = DF_Type::int32_t; + n_stored_fat->m_rdf_type = RDF_Type::int32_t; + n_stored_fat->m_node_type = NodeType::Simple; + n_stored_fat->m_address = base + offset; + n_stored_fat->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_stored_fat); + + field_name = "unk_14"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army__T_members, field_name)); + auto n_unk_14 = new NodeSimple; + n_unk_14->m_field_name = field_name; + n_unk_14->m_df_type = DF_Type::int32_t; + n_unk_14->m_rdf_type = RDF_Type::int32_t; + n_unk_14->m_node_type = NodeType::Simple; + n_unk_14->m_address = base + offset; + n_unk_14->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_14); + + field_name = "unk_18"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army__T_members, field_name)); + auto n_unk_18 = new NodeSimple; + n_unk_18->m_field_name = field_name; + n_unk_18->m_df_type = DF_Type::int32_t; + n_unk_18->m_rdf_type = RDF_Type::int32_t; + n_unk_18->m_node_type = NodeType::Simple; + n_unk_18->m_address = base + offset; + n_unk_18->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_18); + + field_name = "unk_1c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army__T_members, field_name)); + auto n_unk_1c = new NodeSimple; + n_unk_1c->m_field_name = field_name; + n_unk_1c->m_df_type = DF_Type::int32_t; + n_unk_1c->m_rdf_type = RDF_Type::int32_t; + n_unk_1c->m_node_type = NodeType::Simple; + n_unk_1c->m_address = base + offset; + n_unk_1c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_1c); + + field_name = "unk_20"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army__T_members, field_name)); + auto n_unk_20 = new NodeSimple; + n_unk_20->m_field_name = field_name; + n_unk_20->m_df_type = DF_Type::int32_t; + n_unk_20->m_rdf_type = RDF_Type::int32_t; + n_unk_20->m_node_type = NodeType::Simple; + n_unk_20->m_address = base + offset; + n_unk_20->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_20); + + field_name = "unk_24"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army__T_members, field_name)); + auto n_unk_24 = new NodeSimple; + n_unk_24->m_field_name = field_name; + n_unk_24->m_df_type = DF_Type::int32_t; + n_unk_24->m_rdf_type = RDF_Type::int32_t; + n_unk_24->m_node_type = NodeType::Simple; + n_unk_24->m_address = base + offset; + n_unk_24->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_24); + + field_name = "unk_28"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army__T_members, field_name)); + auto n_unk_28 = new NodeSimple; + n_unk_28->m_field_name = field_name; + n_unk_28->m_df_type = DF_Type::int32_t; + n_unk_28->m_rdf_type = RDF_Type::int32_t; + n_unk_28->m_node_type = NodeType::Simple; + n_unk_28->m_address = base + offset; + n_unk_28->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_28); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army__T_members, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "unk_2c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army__T_members, field_name)); + auto n_unk_2c = new NodeSimple; + n_unk_2c->m_field_name = field_name; + n_unk_2c->m_df_type = DF_Type::int32_t; + n_unk_2c->m_rdf_type = RDF_Type::int32_t; + n_unk_2c->m_node_type = NodeType::Simple; + n_unk_2c->m_address = base + offset; + n_unk_2c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_2c); + + field_name = "unk_30"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army__T_members, field_name)); + auto n_unk_30 = new NodeSimple; + n_unk_30->m_field_name = field_name; + n_unk_30->m_df_type = DF_Type::int32_t; + n_unk_30->m_rdf_type = RDF_Type::int32_t; + n_unk_30->m_node_type = NodeType::Simple; + n_unk_30->m_address = base + offset; + n_unk_30->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_30); + + field_name = "unk_34"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army__T_members, field_name)); + auto n_unk_34 = new NodeSimple; + n_unk_34->m_field_name = field_name; + n_unk_34->m_df_type = DF_Type::int32_t; + n_unk_34->m_rdf_type = RDF_Type::int32_t; + n_unk_34->m_node_type = NodeType::Simple; + n_unk_34->m_address = base + offset; + n_unk_34->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_34); + + field_name = "unk_38"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army__T_members, field_name)); + auto n_unk_38 = new NodeVector; + n_unk_38->m_field_name = field_name; + n_unk_38->m_df_type = DF_Type::Void; + n_unk_38->m_rdf_type = RDF_Type::Vector; + n_unk_38->m_node_type = NodeType::Vector; + n_unk_38->m_addornements = "v"; + n_unk_38->m_address = base + offset; + n_unk_38->m_parent = p_node_parent; + n_unk_38->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_38); + + field_name = "unk_v42_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army__T_members, field_name)); + auto n_unk_v42_1 = new NodeSimple; + n_unk_v42_1->m_field_name = field_name; + n_unk_v42_1->m_df_type = DF_Type::int32_t; + n_unk_v42_1->m_rdf_type = RDF_Type::int32_t; + n_unk_v42_1->m_node_type = NodeType::Simple; + n_unk_v42_1->m_address = base + offset; + n_unk_v42_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v42_1); + +} +void node_from_army__T_unk_2c(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "count"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army__T_unk_2c, field_name)); + auto n_count = new NodeSimple; + n_count->m_field_name = field_name; + n_count->m_df_type = DF_Type::int32_t; + n_count->m_rdf_type = RDF_Type::int32_t; + n_count->m_node_type = NodeType::Simple; + n_count->m_address = base + offset; + n_count->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_count); + + field_name = "race"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army__T_unk_2c, field_name)); + auto n_race = new NodeSimple; + n_race->m_field_name = field_name; + n_race->m_df_type = DF_Type::int32_t; + n_race->m_rdf_type = RDF_Type::int32_t; + n_race->m_node_type = NodeType::Simple; + n_race->m_address = base + offset; + n_race->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_race); + + field_name = "population_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army__T_unk_2c, field_name)); + auto n_population_id = new NodeSimple; + n_population_id->m_field_name = field_name; + n_population_id->m_df_type = DF_Type::int32_t; + n_population_id->m_rdf_type = RDF_Type::int32_t; + n_population_id->m_node_type = NodeType::Simple; + n_population_id->m_address = base + offset; + n_population_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_population_id); + + field_name = "civ_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army__T_unk_2c, field_name)); + auto n_civ_id = new NodeSimple; + n_civ_id->m_field_name = field_name; + n_civ_id->m_df_type = DF_Type::int32_t; + n_civ_id->m_rdf_type = RDF_Type::int32_t; + n_civ_id->m_node_type = NodeType::Simple; + n_civ_id->m_address = base + offset; + n_civ_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_civ_id); + + field_name = "unk_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army__T_unk_2c, field_name)); + auto n_unk_10 = new NodeSimple; + n_unk_10->m_field_name = field_name; + n_unk_10->m_df_type = DF_Type::int32_t; + n_unk_10->m_rdf_type = RDF_Type::int32_t; + n_unk_10->m_node_type = NodeType::Simple; + n_unk_10->m_address = base + offset; + n_unk_10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_10); + + field_name = "cultural_identity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army__T_unk_2c, field_name)); + auto n_cultural_identity = new NodeSimple; + n_cultural_identity->m_field_name = field_name; + n_cultural_identity->m_df_type = DF_Type::int32_t; + n_cultural_identity->m_rdf_type = RDF_Type::int32_t; + n_cultural_identity->m_node_type = NodeType::Simple; + n_cultural_identity->m_address = base + offset; + n_cultural_identity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cultural_identity); + + field_name = "unk_18"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army__T_unk_2c, field_name)); + auto n_unk_18 = new NodeSimple; + n_unk_18->m_field_name = field_name; + n_unk_18->m_df_type = DF_Type::int32_t; + n_unk_18->m_rdf_type = RDF_Type::int32_t; + n_unk_18->m_node_type = NodeType::Simple; + n_unk_18->m_address = base + offset; + n_unk_18->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_18); + + field_name = "unk_1c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army__T_unk_2c, field_name)); + auto n_unk_1c = new NodeSimple; + n_unk_1c->m_field_name = field_name; + n_unk_1c->m_df_type = DF_Type::int32_t; + n_unk_1c->m_rdf_type = RDF_Type::int32_t; + n_unk_1c->m_node_type = NodeType::Simple; + n_unk_1c->m_address = base + offset; + n_unk_1c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_1c); + + field_name = "unk_20"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army__T_unk_2c, field_name)); + auto n_unk_20 = new NodeSimple; + n_unk_20->m_field_name = field_name; + n_unk_20->m_df_type = DF_Type::int32_t; + n_unk_20->m_rdf_type = RDF_Type::int32_t; + n_unk_20->m_node_type = NodeType::Simple; + n_unk_20->m_address = base + offset; + n_unk_20->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_20); + + field_name = "unk_24"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army__T_unk_2c, field_name)); + auto n_unk_24 = new NodeSimple; + n_unk_24->m_field_name = field_name; + n_unk_24->m_df_type = DF_Type::int32_t; + n_unk_24->m_rdf_type = RDF_Type::int32_t; + n_unk_24->m_node_type = NodeType::Simple; + n_unk_24->m_address = base + offset; + n_unk_24->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_24); + + field_name = "unk_28"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army__T_unk_2c, field_name)); + auto n_unk_28 = new NodeSimple; + n_unk_28->m_field_name = field_name; + n_unk_28->m_df_type = DF_Type::int32_t; + n_unk_28->m_rdf_type = RDF_Type::int32_t; + n_unk_28->m_node_type = NodeType::Simple; + n_unk_28->m_address = base + offset; + n_unk_28->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_28); + +} +void node_from_army(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "pos"; + auto n_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army, field_name)); + n_pos->m_field_name = field_name; + n_pos->m_df_type = DF_Type::coord; + n_pos->m_rdf_type = RDF_Type::Struct; + n_pos->m_node_type = NodeType::Compound; + n_pos->m_address = base + offset; + n_pos->m_defined_in = "df.map.xml"; + n_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pos); + + field_name = "last_pos"; + auto n_last_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army, field_name)); + n_last_pos->m_field_name = field_name; + n_last_pos->m_df_type = DF_Type::coord; + n_last_pos->m_rdf_type = RDF_Type::Struct; + n_last_pos->m_node_type = NodeType::Compound; + n_last_pos->m_address = base + offset; + n_last_pos->m_defined_in = "df.map.xml"; + n_last_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_last_pos); + + field_name = "unk_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army, field_name)); + auto n_unk_10 = new NodeSimple; + n_unk_10->m_field_name = field_name; + n_unk_10->m_df_type = DF_Type::int16_t; + n_unk_10->m_rdf_type = RDF_Type::int16_t; + n_unk_10->m_node_type = NodeType::Simple; + n_unk_10->m_address = base + offset; + n_unk_10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_10); + + field_name = "unk_14"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army, field_name)); + auto n_unk_14 = new NodeSimple; + n_unk_14->m_field_name = field_name; + n_unk_14->m_df_type = DF_Type::int32_t; + n_unk_14->m_rdf_type = RDF_Type::int32_t; + n_unk_14->m_node_type = NodeType::Simple; + n_unk_14->m_address = base + offset; + n_unk_14->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_14); + + field_name = "unk_18"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army, field_name)); + auto n_unk_18 = new NodeSimple; + n_unk_18->m_field_name = field_name; + n_unk_18->m_df_type = DF_Type::int32_t; + n_unk_18->m_rdf_type = RDF_Type::int32_t; + n_unk_18->m_node_type = NodeType::Simple; + n_unk_18->m_address = base + offset; + n_unk_18->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_18); + + field_name = "members"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army, field_name)); + auto n_members = new NodeVector; + n_members->m_field_name = field_name; + n_members->m_df_type = DF_Type::army__T_members; + n_members->m_rdf_type = RDF_Type::Vector; + n_members->m_node_type = NodeType::Vector; + n_members->m_addornements = "v*"; + n_members->m_address = base + offset; + n_members->m_parent = p_node_parent; + n_members->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_members); + + field_name = "unk_2c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army, field_name)); + auto n_unk_2c = new NodeVector; + n_unk_2c->m_field_name = field_name; + n_unk_2c->m_df_type = DF_Type::army__T_unk_2c; + n_unk_2c->m_rdf_type = RDF_Type::Vector; + n_unk_2c->m_node_type = NodeType::Vector; + n_unk_2c->m_addornements = "v*"; + n_unk_2c->m_address = base + offset; + n_unk_2c->m_parent = p_node_parent; + n_unk_2c->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_2c); + + field_name = "unk_3c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army, field_name)); + auto n_unk_3c = new NodeSimple; + n_unk_3c->m_field_name = field_name; + n_unk_3c->m_df_type = DF_Type::int32_t; + n_unk_3c->m_rdf_type = RDF_Type::int32_t; + n_unk_3c->m_node_type = NodeType::Simple; + n_unk_3c->m_address = base + offset; + n_unk_3c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_3c); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "controller_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army, field_name)); + auto n_controller_id = new NodeSimple; + n_controller_id->m_field_name = field_name; + n_controller_id->m_df_type = DF_Type::int32_t; + n_controller_id->m_rdf_type = RDF_Type::int32_t; + n_controller_id->m_node_type = NodeType::Simple; + n_controller_id->m_address = base + offset; + n_controller_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_controller_id); + + field_name = "controller"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army, field_name)); + auto n_controller = new NodePointer; + n_controller->m_field_name = field_name; + n_controller->m_df_type = get_real_subtype(base+offset, DF_Type::army_controller); + n_controller->m_rdf_type = RDF_Type::Pointer; + n_controller->m_node_type = NodeType::Pointer; + n_controller->m_addornements = "*"; + n_controller->m_address = base + offset; + n_controller->m_parent = p_node_parent; + n_controller->m_defined_in = "df.military.xml"; + n_controller->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_controller); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army, field_name)); + auto n_flags = new NodeDFFlagArray; + n_flags->m_field_name = field_name; + n_flags->m_index_enum = DF_Type::army_flags; + n_flags->m_df_type = DF_Type::army_flags; + n_flags->m_size = 1; + n_flags->m_rdf_type = RDF_Type::DFFlagArray; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_defined_in = "df.military.xml"; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "unk_pos_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army, field_name)); + auto n_unk_pos_x = new NodeVector; + n_unk_pos_x->m_field_name = field_name; + n_unk_pos_x->m_df_type = DF_Type::int32_t; + n_unk_pos_x->m_rdf_type = RDF_Type::Vector; + n_unk_pos_x->m_node_type = NodeType::Vector; + n_unk_pos_x->m_addornements = "v"; + n_unk_pos_x->m_address = base + offset; + n_unk_pos_x->m_parent = p_node_parent; + n_unk_pos_x->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_pos_x); + + field_name = "unk_pos_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army, field_name)); + auto n_unk_pos_y = new NodeVector; + n_unk_pos_y->m_field_name = field_name; + n_unk_pos_y->m_df_type = DF_Type::int32_t; + n_unk_pos_y->m_rdf_type = RDF_Type::Vector; + n_unk_pos_y->m_node_type = NodeType::Vector; + n_unk_pos_y->m_addornements = "v"; + n_unk_pos_y->m_address = base + offset; + n_unk_pos_y->m_parent = p_node_parent; + n_unk_pos_y->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_pos_y); + + field_name = "unk_70"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army, field_name)); + auto n_unk_70 = new NodeVector; + n_unk_70->m_field_name = field_name; + n_unk_70->m_df_type = DF_Type::int32_t; + n_unk_70->m_rdf_type = RDF_Type::Vector; + n_unk_70->m_node_type = NodeType::Vector; + n_unk_70->m_addornements = "v"; + n_unk_70->m_address = base + offset; + n_unk_70->m_parent = p_node_parent; + n_unk_70->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_70); + + field_name = "unk_80"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army, field_name)); + auto n_unk_80 = new NodeVector; + n_unk_80->m_field_name = field_name; + n_unk_80->m_df_type = DF_Type::int32_t; + n_unk_80->m_rdf_type = RDF_Type::Vector; + n_unk_80->m_node_type = NodeType::Vector; + n_unk_80->m_addornements = "v"; + n_unk_80->m_address = base + offset; + n_unk_80->m_parent = p_node_parent; + n_unk_80->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_80); + + field_name = "unk_90"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army, field_name)); + auto n_unk_90 = new NodeSimple; + n_unk_90->m_field_name = field_name; + n_unk_90->m_df_type = DF_Type::int32_t; + n_unk_90->m_rdf_type = RDF_Type::int32_t; + n_unk_90->m_node_type = NodeType::Simple; + n_unk_90->m_address = base + offset; + n_unk_90->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_90); + + field_name = "unk_94"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army, field_name)); + auto n_unk_94 = new NodeSimple; + n_unk_94->m_field_name = field_name; + n_unk_94->m_df_type = DF_Type::int32_t; + n_unk_94->m_rdf_type = RDF_Type::int32_t; + n_unk_94->m_node_type = NodeType::Simple; + n_unk_94->m_address = base + offset; + n_unk_94->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_94); + + field_name = "unk_98"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army, field_name)); + auto n_unk_98 = new NodeSimple; + n_unk_98->m_field_name = field_name; + n_unk_98->m_df_type = DF_Type::int32_t; + n_unk_98->m_rdf_type = RDF_Type::int32_t; + n_unk_98->m_node_type = NodeType::Simple; + n_unk_98->m_address = base + offset; + n_unk_98->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_98); + + field_name = "unk_9c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army, field_name)); + auto n_unk_9c = new NodeSimple; + n_unk_9c->m_field_name = field_name; + n_unk_9c->m_df_type = DF_Type::int32_t; + n_unk_9c->m_rdf_type = RDF_Type::int32_t; + n_unk_9c->m_node_type = NodeType::Simple; + n_unk_9c->m_address = base + offset; + n_unk_9c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_9c); + + field_name = "unk_a0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army, field_name)); + auto n_unk_a0 = new NodeSimple; + n_unk_a0->m_field_name = field_name; + n_unk_a0->m_df_type = DF_Type::int32_t; + n_unk_a0->m_rdf_type = RDF_Type::int32_t; + n_unk_a0->m_node_type = NodeType::Simple; + n_unk_a0->m_address = base + offset; + n_unk_a0->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_a0); + + field_name = "unk_a4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army, field_name)); + auto n_unk_a4 = new NodeSimple; + n_unk_a4->m_field_name = field_name; + n_unk_a4->m_df_type = DF_Type::int32_t; + n_unk_a4->m_rdf_type = RDF_Type::int32_t; + n_unk_a4->m_node_type = NodeType::Simple; + n_unk_a4->m_address = base + offset; + n_unk_a4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_a4); + + field_name = "unk_a8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army, field_name)); + auto n_unk_a8 = new NodeVector; + n_unk_a8->m_field_name = field_name; + n_unk_a8->m_df_type = DF_Type::Void; + n_unk_a8->m_rdf_type = RDF_Type::Vector; + n_unk_a8->m_node_type = NodeType::Vector; + n_unk_a8->m_addornements = "v"; + n_unk_a8->m_address = base + offset; + n_unk_a8->m_parent = p_node_parent; + n_unk_a8->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_a8); + + field_name = "creature_class"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army, field_name)); + auto n_creature_class = new NodeVector; + n_creature_class->m_field_name = field_name; + n_creature_class->m_df_type = DF_Type::Stl_string; + n_creature_class->m_rdf_type = RDF_Type::Vector; + n_creature_class->m_node_type = NodeType::Vector; + n_creature_class->m_addornements = "v*"; + n_creature_class->m_address = base + offset; + n_creature_class->m_parent = p_node_parent; + n_creature_class->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_creature_class); + + field_name = "item_type"; + auto n_item_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army, field_name)); + n_item_type->m_field_name = field_name; + n_item_type->m_df_type = DF_Type::item_type; + n_item_type->m_rdf_type = RDF_Type::Enum; + n_item_type->m_node_type = NodeType::Enum; + n_item_type->m_base_type = DF_Type::int16_t; + n_item_type->m_enum_type = "item_type"; + n_item_type->m_address = base + offset; + n_item_type->m_defined_in = "df.item-raws.xml"; + n_item_type->m_first_value = -1; + n_item_type->m_last_value = 90; + n_item_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_type); + + field_name = "item_subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army, field_name)); + auto n_item_subtype = new NodeSimple; + n_item_subtype->m_field_name = field_name; + n_item_subtype->m_df_type = DF_Type::int16_t; + n_item_subtype->m_rdf_type = RDF_Type::int16_t; + n_item_subtype->m_node_type = NodeType::Simple; + n_item_subtype->m_address = base + offset; + n_item_subtype->m_refers_to = "(item-subtype-target $$._parent.item_type $)"; + n_item_subtype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_subtype); + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "unk_4407_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::army, field_name)); + auto n_unk_4407_1 = new NodeVector; + n_unk_4407_1->m_field_name = field_name; + n_unk_4407_1->m_df_type = DF_Type::Void; + n_unk_4407_1->m_rdf_type = RDF_Type::Vector; + n_unk_4407_1->m_node_type = NodeType::Vector; + n_unk_4407_1->m_addornements = "v"; + n_unk_4407_1->m_address = base + offset; + n_unk_4407_1->m_parent = p_node_parent; + n_unk_4407_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_4407_1); + +} +void node_from_plant_raw__T_tiles(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "picked_tile"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_tiles, field_name)); + auto n_picked_tile = new NodeSimple; + n_picked_tile->m_field_name = field_name; + n_picked_tile->m_df_type = DF_Type::uint8_t; + n_picked_tile->m_rdf_type = RDF_Type::uint8_t; + n_picked_tile->m_node_type = NodeType::Simple; + n_picked_tile->m_address = base + offset; + n_picked_tile->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_picked_tile); + + field_name = "dead_picked_tile"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_tiles, field_name)); + auto n_dead_picked_tile = new NodeSimple; + n_dead_picked_tile->m_field_name = field_name; + n_dead_picked_tile->m_df_type = DF_Type::uint8_t; + n_dead_picked_tile->m_rdf_type = RDF_Type::uint8_t; + n_dead_picked_tile->m_node_type = NodeType::Simple; + n_dead_picked_tile->m_address = base + offset; + n_dead_picked_tile->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dead_picked_tile); + + field_name = "shrub_tile"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_tiles, field_name)); + auto n_shrub_tile = new NodeSimple; + n_shrub_tile->m_field_name = field_name; + n_shrub_tile->m_df_type = DF_Type::uint8_t; + n_shrub_tile->m_rdf_type = RDF_Type::uint8_t; + n_shrub_tile->m_node_type = NodeType::Simple; + n_shrub_tile->m_address = base + offset; + n_shrub_tile->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_shrub_tile); + + field_name = "dead_shrub_tile"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_tiles, field_name)); + auto n_dead_shrub_tile = new NodeSimple; + n_dead_shrub_tile->m_field_name = field_name; + n_dead_shrub_tile->m_df_type = DF_Type::uint8_t; + n_dead_shrub_tile->m_rdf_type = RDF_Type::uint8_t; + n_dead_shrub_tile->m_node_type = NodeType::Simple; + n_dead_shrub_tile->m_address = base + offset; + n_dead_shrub_tile->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dead_shrub_tile); + + field_name = "tree_tile"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_tiles, field_name)); + auto n_tree_tile = new NodeSimple; + n_tree_tile->m_field_name = field_name; + n_tree_tile->m_df_type = DF_Type::uint8_t; + n_tree_tile->m_rdf_type = RDF_Type::uint8_t; + n_tree_tile->m_node_type = NodeType::Simple; + n_tree_tile->m_address = base + offset; + n_tree_tile->m_comment = "unused"; + n_tree_tile->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tree_tile); + + field_name = "dead_tree_tile"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_tiles, field_name)); + auto n_dead_tree_tile = new NodeSimple; + n_dead_tree_tile->m_field_name = field_name; + n_dead_tree_tile->m_df_type = DF_Type::uint8_t; + n_dead_tree_tile->m_rdf_type = RDF_Type::uint8_t; + n_dead_tree_tile->m_node_type = NodeType::Simple; + n_dead_tree_tile->m_address = base + offset; + n_dead_tree_tile->m_comment = "unused"; + n_dead_tree_tile->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dead_tree_tile); + + field_name = "sapling_tile"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_tiles, field_name)); + auto n_sapling_tile = new NodeSimple; + n_sapling_tile->m_field_name = field_name; + n_sapling_tile->m_df_type = DF_Type::uint8_t; + n_sapling_tile->m_rdf_type = RDF_Type::uint8_t; + n_sapling_tile->m_node_type = NodeType::Simple; + n_sapling_tile->m_address = base + offset; + n_sapling_tile->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sapling_tile); + + field_name = "dead_sapling_tile"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_tiles, field_name)); + auto n_dead_sapling_tile = new NodeSimple; + n_dead_sapling_tile->m_field_name = field_name; + n_dead_sapling_tile->m_df_type = DF_Type::uint8_t; + n_dead_sapling_tile->m_rdf_type = RDF_Type::uint8_t; + n_dead_sapling_tile->m_node_type = NodeType::Simple; + n_dead_sapling_tile->m_address = base + offset; + n_dead_sapling_tile->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dead_sapling_tile); + + field_name = "grass_tiles"; + auto n_grass_tiles = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_tiles, field_name)); + n_grass_tiles->m_field_name = field_name; + n_grass_tiles->m_df_type = DF_Type::uint8_t; + n_grass_tiles->m_rdf_type = RDF_Type::Array; + n_grass_tiles->m_node_type = NodeType::Array; + n_grass_tiles->m_addornements = "[16"; + n_grass_tiles->m_array_size = 16; + n_grass_tiles->m_address = base + offset; + n_grass_tiles->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_grass_tiles); + + field_name = "alt_grass_tiles"; + auto n_alt_grass_tiles = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_tiles, field_name)); + n_alt_grass_tiles->m_field_name = field_name; + n_alt_grass_tiles->m_df_type = DF_Type::uint8_t; + n_alt_grass_tiles->m_rdf_type = RDF_Type::Array; + n_alt_grass_tiles->m_node_type = NodeType::Array; + n_alt_grass_tiles->m_addornements = "[12"; + n_alt_grass_tiles->m_array_size = 12; + n_alt_grass_tiles->m_address = base + offset; + n_alt_grass_tiles->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_alt_grass_tiles); + + field_name = "tree_tiles"; + auto n_tree_tiles = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_tiles, field_name)); + n_tree_tiles->m_field_name = field_name; + n_tree_tiles->m_df_type = DF_Type::uint8_t; + n_tree_tiles->m_rdf_type = RDF_Type::Array; + n_tree_tiles->m_node_type = NodeType::Array; + n_tree_tiles->m_addornements = "[104"; + n_tree_tiles->m_array_size = 104; + n_tree_tiles->m_address = base + offset; + n_tree_tiles->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tree_tiles); + +} +void node_from_plant_raw__T_colors(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "picked_color"; + auto n_picked_color = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_colors, field_name)); + n_picked_color->m_field_name = field_name; + n_picked_color->m_df_type = DF_Type::int8_t; + n_picked_color->m_rdf_type = RDF_Type::Array; + n_picked_color->m_node_type = NodeType::Array; + n_picked_color->m_addornements = "[3"; + n_picked_color->m_array_size = 3; + n_picked_color->m_address = base + offset; + n_picked_color->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_picked_color); + + field_name = "dead_picked_color"; + auto n_dead_picked_color = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_colors, field_name)); + n_dead_picked_color->m_field_name = field_name; + n_dead_picked_color->m_df_type = DF_Type::int8_t; + n_dead_picked_color->m_rdf_type = RDF_Type::Array; + n_dead_picked_color->m_node_type = NodeType::Array; + n_dead_picked_color->m_addornements = "[3"; + n_dead_picked_color->m_array_size = 3; + n_dead_picked_color->m_address = base + offset; + n_dead_picked_color->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dead_picked_color); + + field_name = "shrub_color"; + auto n_shrub_color = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_colors, field_name)); + n_shrub_color->m_field_name = field_name; + n_shrub_color->m_df_type = DF_Type::int8_t; + n_shrub_color->m_rdf_type = RDF_Type::Array; + n_shrub_color->m_node_type = NodeType::Array; + n_shrub_color->m_addornements = "[3"; + n_shrub_color->m_array_size = 3; + n_shrub_color->m_address = base + offset; + n_shrub_color->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_shrub_color); + + field_name = "dead_shrub_color"; + auto n_dead_shrub_color = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_colors, field_name)); + n_dead_shrub_color->m_field_name = field_name; + n_dead_shrub_color->m_df_type = DF_Type::int8_t; + n_dead_shrub_color->m_rdf_type = RDF_Type::Array; + n_dead_shrub_color->m_node_type = NodeType::Array; + n_dead_shrub_color->m_addornements = "[3"; + n_dead_shrub_color->m_array_size = 3; + n_dead_shrub_color->m_address = base + offset; + n_dead_shrub_color->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dead_shrub_color); + + field_name = "seed_color"; + auto n_seed_color = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_colors, field_name)); + n_seed_color->m_field_name = field_name; + n_seed_color->m_df_type = DF_Type::int8_t; + n_seed_color->m_rdf_type = RDF_Type::Array; + n_seed_color->m_node_type = NodeType::Array; + n_seed_color->m_addornements = "[3"; + n_seed_color->m_array_size = 3; + n_seed_color->m_address = base + offset; + n_seed_color->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_seed_color); + + field_name = "tree_color"; + auto n_tree_color = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_colors, field_name)); + n_tree_color->m_field_name = field_name; + n_tree_color->m_df_type = DF_Type::int8_t; + n_tree_color->m_rdf_type = RDF_Type::Array; + n_tree_color->m_node_type = NodeType::Array; + n_tree_color->m_addornements = "[3"; + n_tree_color->m_array_size = 3; + n_tree_color->m_address = base + offset; + n_tree_color->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tree_color); + + field_name = "dead_tree_color"; + auto n_dead_tree_color = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_colors, field_name)); + n_dead_tree_color->m_field_name = field_name; + n_dead_tree_color->m_df_type = DF_Type::int8_t; + n_dead_tree_color->m_rdf_type = RDF_Type::Array; + n_dead_tree_color->m_node_type = NodeType::Array; + n_dead_tree_color->m_addornements = "[3"; + n_dead_tree_color->m_array_size = 3; + n_dead_tree_color->m_address = base + offset; + n_dead_tree_color->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dead_tree_color); + + field_name = "sapling_color"; + auto n_sapling_color = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_colors, field_name)); + n_sapling_color->m_field_name = field_name; + n_sapling_color->m_df_type = DF_Type::int8_t; + n_sapling_color->m_rdf_type = RDF_Type::Array; + n_sapling_color->m_node_type = NodeType::Array; + n_sapling_color->m_addornements = "[3"; + n_sapling_color->m_array_size = 3; + n_sapling_color->m_address = base + offset; + n_sapling_color->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sapling_color); + + field_name = "dead_sapling_color"; + auto n_dead_sapling_color = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_colors, field_name)); + n_dead_sapling_color->m_field_name = field_name; + n_dead_sapling_color->m_df_type = DF_Type::int8_t; + n_dead_sapling_color->m_rdf_type = RDF_Type::Array; + n_dead_sapling_color->m_node_type = NodeType::Array; + n_dead_sapling_color->m_addornements = "[3"; + n_dead_sapling_color->m_array_size = 3; + n_dead_sapling_color->m_address = base + offset; + n_dead_sapling_color->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dead_sapling_color); + + field_name = "grass_colors_0"; + auto n_grass_colors_0 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_colors, field_name)); + n_grass_colors_0->m_field_name = field_name; + n_grass_colors_0->m_df_type = DF_Type::int8_t; + n_grass_colors_0->m_rdf_type = RDF_Type::Array; + n_grass_colors_0->m_node_type = NodeType::Array; + n_grass_colors_0->m_addornements = "[20"; + n_grass_colors_0->m_array_size = 20; + n_grass_colors_0->m_address = base + offset; + n_grass_colors_0->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_grass_colors_0); + + field_name = "grass_colors_1"; + auto n_grass_colors_1 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_colors, field_name)); + n_grass_colors_1->m_field_name = field_name; + n_grass_colors_1->m_df_type = DF_Type::int8_t; + n_grass_colors_1->m_rdf_type = RDF_Type::Array; + n_grass_colors_1->m_node_type = NodeType::Array; + n_grass_colors_1->m_addornements = "[20"; + n_grass_colors_1->m_array_size = 20; + n_grass_colors_1->m_address = base + offset; + n_grass_colors_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_grass_colors_1); + + field_name = "grass_colors_2"; + auto n_grass_colors_2 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_colors, field_name)); + n_grass_colors_2->m_field_name = field_name; + n_grass_colors_2->m_df_type = DF_Type::int8_t; + n_grass_colors_2->m_rdf_type = RDF_Type::Array; + n_grass_colors_2->m_node_type = NodeType::Array; + n_grass_colors_2->m_addornements = "[20"; + n_grass_colors_2->m_array_size = 20; + n_grass_colors_2->m_address = base + offset; + n_grass_colors_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_grass_colors_2); + +} +void node_from_plant_raw__T_material_defs(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "type_basic_mat"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_material_defs, field_name)); + auto n_type_basic_mat = new NodeSimple; + n_type_basic_mat->m_field_name = field_name; + n_type_basic_mat->m_df_type = DF_Type::int16_t; + n_type_basic_mat->m_rdf_type = RDF_Type::int16_t; + n_type_basic_mat->m_node_type = NodeType::Simple; + n_type_basic_mat->m_address = base + offset; + n_type_basic_mat->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type_basic_mat); + + field_name = "type_tree"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_material_defs, field_name)); + auto n_type_tree = new NodeSimple; + n_type_tree->m_field_name = field_name; + n_type_tree->m_df_type = DF_Type::int16_t; + n_type_tree->m_rdf_type = RDF_Type::int16_t; + n_type_tree->m_node_type = NodeType::Simple; + n_type_tree->m_address = base + offset; + n_type_tree->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type_tree); + + field_name = "type_drink"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_material_defs, field_name)); + auto n_type_drink = new NodeSimple; + n_type_drink->m_field_name = field_name; + n_type_drink->m_df_type = DF_Type::int16_t; + n_type_drink->m_rdf_type = RDF_Type::int16_t; + n_type_drink->m_node_type = NodeType::Simple; + n_type_drink->m_address = base + offset; + n_type_drink->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type_drink); + + field_name = "type_seed"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_material_defs, field_name)); + auto n_type_seed = new NodeSimple; + n_type_seed->m_field_name = field_name; + n_type_seed->m_df_type = DF_Type::int16_t; + n_type_seed->m_rdf_type = RDF_Type::int16_t; + n_type_seed->m_node_type = NodeType::Simple; + n_type_seed->m_address = base + offset; + n_type_seed->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type_seed); + + field_name = "type_thread"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_material_defs, field_name)); + auto n_type_thread = new NodeSimple; + n_type_thread->m_field_name = field_name; + n_type_thread->m_df_type = DF_Type::int16_t; + n_type_thread->m_rdf_type = RDF_Type::int16_t; + n_type_thread->m_node_type = NodeType::Simple; + n_type_thread->m_address = base + offset; + n_type_thread->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type_thread); + + field_name = "type_mill"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_material_defs, field_name)); + auto n_type_mill = new NodeSimple; + n_type_mill->m_field_name = field_name; + n_type_mill->m_df_type = DF_Type::int16_t; + n_type_mill->m_rdf_type = RDF_Type::int16_t; + n_type_mill->m_node_type = NodeType::Simple; + n_type_mill->m_address = base + offset; + n_type_mill->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type_mill); + + field_name = "type_extract_vial"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_material_defs, field_name)); + auto n_type_extract_vial = new NodeSimple; + n_type_extract_vial->m_field_name = field_name; + n_type_extract_vial->m_df_type = DF_Type::int16_t; + n_type_extract_vial->m_rdf_type = RDF_Type::int16_t; + n_type_extract_vial->m_node_type = NodeType::Simple; + n_type_extract_vial->m_address = base + offset; + n_type_extract_vial->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type_extract_vial); + + field_name = "type_extract_barrel"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_material_defs, field_name)); + auto n_type_extract_barrel = new NodeSimple; + n_type_extract_barrel->m_field_name = field_name; + n_type_extract_barrel->m_df_type = DF_Type::int16_t; + n_type_extract_barrel->m_rdf_type = RDF_Type::int16_t; + n_type_extract_barrel->m_node_type = NodeType::Simple; + n_type_extract_barrel->m_address = base + offset; + n_type_extract_barrel->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type_extract_barrel); + + field_name = "type_extract_still_vial"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_material_defs, field_name)); + auto n_type_extract_still_vial = new NodeSimple; + n_type_extract_still_vial->m_field_name = field_name; + n_type_extract_still_vial->m_df_type = DF_Type::int16_t; + n_type_extract_still_vial->m_rdf_type = RDF_Type::int16_t; + n_type_extract_still_vial->m_node_type = NodeType::Simple; + n_type_extract_still_vial->m_address = base + offset; + n_type_extract_still_vial->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type_extract_still_vial); + + field_name = "idx_basic_mat"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_material_defs, field_name)); + auto n_idx_basic_mat = new NodeSimple; + n_idx_basic_mat->m_field_name = field_name; + n_idx_basic_mat->m_df_type = DF_Type::int32_t; + n_idx_basic_mat->m_rdf_type = RDF_Type::int32_t; + n_idx_basic_mat->m_node_type = NodeType::Simple; + n_idx_basic_mat->m_address = base + offset; + n_idx_basic_mat->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_idx_basic_mat); + + field_name = "idx_tree"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_material_defs, field_name)); + auto n_idx_tree = new NodeSimple; + n_idx_tree->m_field_name = field_name; + n_idx_tree->m_df_type = DF_Type::int32_t; + n_idx_tree->m_rdf_type = RDF_Type::int32_t; + n_idx_tree->m_node_type = NodeType::Simple; + n_idx_tree->m_address = base + offset; + n_idx_tree->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_idx_tree); + + field_name = "idx_drink"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_material_defs, field_name)); + auto n_idx_drink = new NodeSimple; + n_idx_drink->m_field_name = field_name; + n_idx_drink->m_df_type = DF_Type::int32_t; + n_idx_drink->m_rdf_type = RDF_Type::int32_t; + n_idx_drink->m_node_type = NodeType::Simple; + n_idx_drink->m_address = base + offset; + n_idx_drink->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_idx_drink); + + field_name = "idx_seed"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_material_defs, field_name)); + auto n_idx_seed = new NodeSimple; + n_idx_seed->m_field_name = field_name; + n_idx_seed->m_df_type = DF_Type::int32_t; + n_idx_seed->m_rdf_type = RDF_Type::int32_t; + n_idx_seed->m_node_type = NodeType::Simple; + n_idx_seed->m_address = base + offset; + n_idx_seed->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_idx_seed); + + field_name = "idx_thread"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_material_defs, field_name)); + auto n_idx_thread = new NodeSimple; + n_idx_thread->m_field_name = field_name; + n_idx_thread->m_df_type = DF_Type::int32_t; + n_idx_thread->m_rdf_type = RDF_Type::int32_t; + n_idx_thread->m_node_type = NodeType::Simple; + n_idx_thread->m_address = base + offset; + n_idx_thread->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_idx_thread); + + field_name = "idx_mill"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_material_defs, field_name)); + auto n_idx_mill = new NodeSimple; + n_idx_mill->m_field_name = field_name; + n_idx_mill->m_df_type = DF_Type::int32_t; + n_idx_mill->m_rdf_type = RDF_Type::int32_t; + n_idx_mill->m_node_type = NodeType::Simple; + n_idx_mill->m_address = base + offset; + n_idx_mill->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_idx_mill); + + field_name = "idx_extract_vial"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_material_defs, field_name)); + auto n_idx_extract_vial = new NodeSimple; + n_idx_extract_vial->m_field_name = field_name; + n_idx_extract_vial->m_df_type = DF_Type::int32_t; + n_idx_extract_vial->m_rdf_type = RDF_Type::int32_t; + n_idx_extract_vial->m_node_type = NodeType::Simple; + n_idx_extract_vial->m_address = base + offset; + n_idx_extract_vial->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_idx_extract_vial); + + field_name = "idx_extract_barrel"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_material_defs, field_name)); + auto n_idx_extract_barrel = new NodeSimple; + n_idx_extract_barrel->m_field_name = field_name; + n_idx_extract_barrel->m_df_type = DF_Type::int32_t; + n_idx_extract_barrel->m_rdf_type = RDF_Type::int32_t; + n_idx_extract_barrel->m_node_type = NodeType::Simple; + n_idx_extract_barrel->m_address = base + offset; + n_idx_extract_barrel->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_idx_extract_barrel); + + field_name = "idx_extract_still_vial"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_material_defs, field_name)); + auto n_idx_extract_still_vial = new NodeSimple; + n_idx_extract_still_vial->m_field_name = field_name; + n_idx_extract_still_vial->m_df_type = DF_Type::int32_t; + n_idx_extract_still_vial->m_rdf_type = RDF_Type::int32_t; + n_idx_extract_still_vial->m_node_type = NodeType::Simple; + n_idx_extract_still_vial->m_address = base + offset; + n_idx_extract_still_vial->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_idx_extract_still_vial); + + field_name = "str_basic_mat"; + auto n_str_basic_mat = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_material_defs, field_name)); + n_str_basic_mat->m_field_name = field_name; + n_str_basic_mat->m_df_type = DF_Type::Stl_string; + n_str_basic_mat->m_rdf_type = RDF_Type::Array; + n_str_basic_mat->m_node_type = NodeType::Array; + n_str_basic_mat->m_addornements = "[3"; + n_str_basic_mat->m_array_size = 3; + n_str_basic_mat->m_address = base + offset; + n_str_basic_mat->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_str_basic_mat); + + field_name = "str_tree"; + auto n_str_tree = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_material_defs, field_name)); + n_str_tree->m_field_name = field_name; + n_str_tree->m_df_type = DF_Type::Stl_string; + n_str_tree->m_rdf_type = RDF_Type::Array; + n_str_tree->m_node_type = NodeType::Array; + n_str_tree->m_addornements = "[3"; + n_str_tree->m_array_size = 3; + n_str_tree->m_address = base + offset; + n_str_tree->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_str_tree); + + field_name = "str_drink"; + auto n_str_drink = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_material_defs, field_name)); + n_str_drink->m_field_name = field_name; + n_str_drink->m_df_type = DF_Type::Stl_string; + n_str_drink->m_rdf_type = RDF_Type::Array; + n_str_drink->m_node_type = NodeType::Array; + n_str_drink->m_addornements = "[3"; + n_str_drink->m_array_size = 3; + n_str_drink->m_address = base + offset; + n_str_drink->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_str_drink); + + field_name = "str_seed"; + auto n_str_seed = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_material_defs, field_name)); + n_str_seed->m_field_name = field_name; + n_str_seed->m_df_type = DF_Type::Stl_string; + n_str_seed->m_rdf_type = RDF_Type::Array; + n_str_seed->m_node_type = NodeType::Array; + n_str_seed->m_addornements = "[3"; + n_str_seed->m_array_size = 3; + n_str_seed->m_address = base + offset; + n_str_seed->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_str_seed); + + field_name = "str_thread"; + auto n_str_thread = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_material_defs, field_name)); + n_str_thread->m_field_name = field_name; + n_str_thread->m_df_type = DF_Type::Stl_string; + n_str_thread->m_rdf_type = RDF_Type::Array; + n_str_thread->m_node_type = NodeType::Array; + n_str_thread->m_addornements = "[3"; + n_str_thread->m_array_size = 3; + n_str_thread->m_address = base + offset; + n_str_thread->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_str_thread); + + field_name = "str_mill"; + auto n_str_mill = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_material_defs, field_name)); + n_str_mill->m_field_name = field_name; + n_str_mill->m_df_type = DF_Type::Stl_string; + n_str_mill->m_rdf_type = RDF_Type::Array; + n_str_mill->m_node_type = NodeType::Array; + n_str_mill->m_addornements = "[3"; + n_str_mill->m_array_size = 3; + n_str_mill->m_address = base + offset; + n_str_mill->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_str_mill); + + field_name = "str_extract_vial"; + auto n_str_extract_vial = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_material_defs, field_name)); + n_str_extract_vial->m_field_name = field_name; + n_str_extract_vial->m_df_type = DF_Type::Stl_string; + n_str_extract_vial->m_rdf_type = RDF_Type::Array; + n_str_extract_vial->m_node_type = NodeType::Array; + n_str_extract_vial->m_addornements = "[3"; + n_str_extract_vial->m_array_size = 3; + n_str_extract_vial->m_address = base + offset; + n_str_extract_vial->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_str_extract_vial); + + field_name = "str_extract_barrel"; + auto n_str_extract_barrel = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_material_defs, field_name)); + n_str_extract_barrel->m_field_name = field_name; + n_str_extract_barrel->m_df_type = DF_Type::Stl_string; + n_str_extract_barrel->m_rdf_type = RDF_Type::Array; + n_str_extract_barrel->m_node_type = NodeType::Array; + n_str_extract_barrel->m_addornements = "[3"; + n_str_extract_barrel->m_array_size = 3; + n_str_extract_barrel->m_address = base + offset; + n_str_extract_barrel->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_str_extract_barrel); + + field_name = "str_extract_still_vial"; + auto n_str_extract_still_vial = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw__T_material_defs, field_name)); + n_str_extract_still_vial->m_field_name = field_name; + n_str_extract_still_vial->m_df_type = DF_Type::Stl_string; + n_str_extract_still_vial->m_rdf_type = RDF_Type::Array; + n_str_extract_still_vial->m_node_type = NodeType::Array; + n_str_extract_still_vial->m_addornements = "[3"; + n_str_extract_still_vial->m_array_size = 3; + n_str_extract_still_vial->m_address = base + offset; + n_str_extract_still_vial->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_str_extract_still_vial); + +} +void node_from_plant_raw(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::Stl_string; + n_id->m_rdf_type = RDF_Type::Stl_string; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); + auto n_index = new NodeSimple; + n_index->m_field_name = field_name; + n_index->m_df_type = DF_Type::int32_t; + n_index->m_rdf_type = RDF_Type::int32_t; + n_index->m_node_type = NodeType::Simple; + n_index->m_address = base + offset; + n_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_index); + + field_name = "raws"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); + auto n_raws = new NodeVector; + n_raws->m_field_name = field_name; + n_raws->m_df_type = DF_Type::Stl_string; + n_raws->m_rdf_type = RDF_Type::Vector; + n_raws->m_node_type = NodeType::Vector; + n_raws->m_addornements = "v*"; + n_raws->m_address = base + offset; + n_raws->m_parent = p_node_parent; + n_raws->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_raws); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); + auto n_flags = new NodeDFFlagArray; + n_flags->m_field_name = field_name; + n_flags->m_index_enum = DF_Type::plant_raw_flags; + n_flags->m_df_type = DF_Type::plant_raw_flags; + n_flags->m_size = 88; + n_flags->m_rdf_type = RDF_Type::DFFlagArray; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_defined_in = "df.plant-raws.xml"; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); + auto n_name = new NodeSimple; + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Stl_string; + n_name->m_node_type = NodeType::Simple; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "name_plural"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); + auto n_name_plural = new NodeSimple; + n_name_plural->m_field_name = field_name; + n_name_plural->m_df_type = DF_Type::Stl_string; + n_name_plural->m_rdf_type = RDF_Type::Stl_string; + n_name_plural->m_node_type = NodeType::Simple; + n_name_plural->m_address = base + offset; + n_name_plural->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name_plural); + + field_name = "adj"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); + auto n_adj = new NodeSimple; + n_adj->m_field_name = field_name; + n_adj->m_df_type = DF_Type::Stl_string; + n_adj->m_rdf_type = RDF_Type::Stl_string; + n_adj->m_node_type = NodeType::Simple; + n_adj->m_address = base + offset; + n_adj->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_adj); + + field_name = "seed_singular"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); + auto n_seed_singular = new NodeSimple; + n_seed_singular->m_field_name = field_name; + n_seed_singular->m_df_type = DF_Type::Stl_string; + n_seed_singular->m_rdf_type = RDF_Type::Stl_string; + n_seed_singular->m_node_type = NodeType::Simple; + n_seed_singular->m_address = base + offset; + n_seed_singular->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_seed_singular); + + field_name = "seed_plural"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); + auto n_seed_plural = new NodeSimple; + n_seed_plural->m_field_name = field_name; + n_seed_plural->m_df_type = DF_Type::Stl_string; + n_seed_plural->m_rdf_type = RDF_Type::Stl_string; + n_seed_plural->m_node_type = NodeType::Simple; + n_seed_plural->m_address = base + offset; + n_seed_plural->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_seed_plural); + + field_name = "leaves_singular"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); + auto n_leaves_singular = new NodeSimple; + n_leaves_singular->m_field_name = field_name; + n_leaves_singular->m_df_type = DF_Type::Stl_string; + n_leaves_singular->m_rdf_type = RDF_Type::Stl_string; + n_leaves_singular->m_node_type = NodeType::Simple; + n_leaves_singular->m_address = base + offset; + n_leaves_singular->m_comment = "unused"; + n_leaves_singular->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_leaves_singular); + + field_name = "leaves_plural"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); + auto n_leaves_plural = new NodeSimple; + n_leaves_plural->m_field_name = field_name; + n_leaves_plural->m_df_type = DF_Type::Stl_string; + n_leaves_plural->m_rdf_type = RDF_Type::Stl_string; + n_leaves_plural->m_node_type = NodeType::Simple; + n_leaves_plural->m_address = base + offset; + n_leaves_plural->m_comment = "unused"; + n_leaves_plural->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_leaves_plural); + + field_name = "source_hfid"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); + auto n_source_hfid = new NodeSimple; + n_source_hfid->m_field_name = field_name; + n_source_hfid->m_df_type = DF_Type::int32_t; + n_source_hfid->m_rdf_type = RDF_Type::int32_t; + n_source_hfid->m_node_type = NodeType::Simple; + n_source_hfid->m_address = base + offset; + n_source_hfid->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_source_hfid); + + field_name = "unk_v4201_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); + auto n_unk_v4201_1 = new NodeSimple; + n_unk_v4201_1->m_field_name = field_name; + n_unk_v4201_1->m_df_type = DF_Type::int32_t; + n_unk_v4201_1->m_rdf_type = RDF_Type::int32_t; + n_unk_v4201_1->m_node_type = NodeType::Simple; + n_unk_v4201_1->m_address = base + offset; + n_unk_v4201_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v4201_1); + + field_name = "unk1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); + auto n_unk1 = new NodeSimple; + n_unk1->m_field_name = field_name; + n_unk1->m_df_type = DF_Type::uint8_t; + n_unk1->m_rdf_type = RDF_Type::uint8_t; + n_unk1->m_node_type = NodeType::Simple; + n_unk1->m_address = base + offset; + n_unk1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk1); + + field_name = "unk2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); + auto n_unk2 = new NodeSimple; + n_unk2->m_field_name = field_name; + n_unk2->m_df_type = DF_Type::uint8_t; + n_unk2->m_rdf_type = RDF_Type::uint8_t; + n_unk2->m_node_type = NodeType::Simple; + n_unk2->m_address = base + offset; + n_unk2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk2); + + field_name = "tiles"; + auto n_tiles = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); + n_tiles->m_field_name = field_name; + n_tiles->m_df_type = DF_Type::plant_raw__T_tiles; + n_tiles->m_rdf_type = RDF_Type::Compound; + n_tiles->m_node_type = NodeType::Compound; + n_tiles->m_address = base + offset; + n_tiles->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tiles); + + field_name = "growdur"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); + auto n_growdur = new NodeSimple; + n_growdur->m_field_name = field_name; + n_growdur->m_df_type = DF_Type::int32_t; + n_growdur->m_rdf_type = RDF_Type::int32_t; + n_growdur->m_node_type = NodeType::Simple; + n_growdur->m_address = base + offset; + n_growdur->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_growdur); + + field_name = "value"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); + auto n_value = new NodeSimple; + n_value->m_field_name = field_name; + n_value->m_df_type = DF_Type::int32_t; + n_value->m_rdf_type = RDF_Type::int32_t; + n_value->m_node_type = NodeType::Simple; + n_value->m_address = base + offset; + n_value->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_value); + + field_name = "colors"; + auto n_colors = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); + n_colors->m_field_name = field_name; + n_colors->m_df_type = DF_Type::plant_raw__T_colors; + n_colors->m_rdf_type = RDF_Type::Compound; + n_colors->m_node_type = NodeType::Compound; + n_colors->m_address = base + offset; + n_colors->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_colors); + + field_name = "alt_period"; + auto n_alt_period = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); + n_alt_period->m_field_name = field_name; + n_alt_period->m_df_type = DF_Type::int32_t; + n_alt_period->m_rdf_type = RDF_Type::Array; + n_alt_period->m_node_type = NodeType::Array; + n_alt_period->m_addornements = "[2"; + n_alt_period->m_array_size = 2; + n_alt_period->m_address = base + offset; + n_alt_period->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_alt_period); + + field_name = "shrub_drown_level"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); + auto n_shrub_drown_level = new NodeSimple; + n_shrub_drown_level->m_field_name = field_name; + n_shrub_drown_level->m_df_type = DF_Type::int8_t; + n_shrub_drown_level->m_rdf_type = RDF_Type::int8_t; + n_shrub_drown_level->m_node_type = NodeType::Simple; + n_shrub_drown_level->m_address = base + offset; + n_shrub_drown_level->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_shrub_drown_level); + + field_name = "tree_drown_level"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); + auto n_tree_drown_level = new NodeSimple; + n_tree_drown_level->m_field_name = field_name; + n_tree_drown_level->m_df_type = DF_Type::int8_t; + n_tree_drown_level->m_rdf_type = RDF_Type::int8_t; + n_tree_drown_level->m_node_type = NodeType::Simple; + n_tree_drown_level->m_address = base + offset; + n_tree_drown_level->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tree_drown_level); + + field_name = "sapling_drown_level"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); + auto n_sapling_drown_level = new NodeSimple; + n_sapling_drown_level->m_field_name = field_name; + n_sapling_drown_level->m_df_type = DF_Type::int8_t; + n_sapling_drown_level->m_rdf_type = RDF_Type::int8_t; + n_sapling_drown_level->m_node_type = NodeType::Simple; + n_sapling_drown_level->m_address = base + offset; + n_sapling_drown_level->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sapling_drown_level); + + field_name = "frequency"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); + auto n_frequency = new NodeSimple; + n_frequency->m_field_name = field_name; + n_frequency->m_df_type = DF_Type::int16_t; + n_frequency->m_rdf_type = RDF_Type::int16_t; + n_frequency->m_node_type = NodeType::Simple; + n_frequency->m_address = base + offset; + n_frequency->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_frequency); + + field_name = "clustersize"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); + auto n_clustersize = new NodeSimple; + n_clustersize->m_field_name = field_name; + n_clustersize->m_df_type = DF_Type::int16_t; + n_clustersize->m_rdf_type = RDF_Type::int16_t; + n_clustersize->m_node_type = NodeType::Simple; + n_clustersize->m_address = base + offset; + n_clustersize->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_clustersize); + + field_name = "prefstring"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); + auto n_prefstring = new NodeVector; + n_prefstring->m_field_name = field_name; + n_prefstring->m_df_type = DF_Type::Stl_string; + n_prefstring->m_rdf_type = RDF_Type::Vector; + n_prefstring->m_node_type = NodeType::Vector; + n_prefstring->m_addornements = "v*"; + n_prefstring->m_address = base + offset; + n_prefstring->m_parent = p_node_parent; + n_prefstring->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_prefstring); + + field_name = "material"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); + auto n_material = new NodeVector; + n_material->m_field_name = field_name; + n_material->m_df_type = DF_Type::material; + n_material->m_rdf_type = RDF_Type::Vector; + n_material->m_node_type = NodeType::Vector; + n_material->m_defined_in = "df.materials.xml"; + n_material->m_addornements = "v*"; + n_material->m_address = base + offset; + n_material->m_parent = p_node_parent; + n_material->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_material); + + field_name = "material_defs"; + auto n_material_defs = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); + n_material_defs->m_field_name = field_name; + n_material_defs->m_df_type = DF_Type::plant_raw__T_material_defs; + n_material_defs->m_rdf_type = RDF_Type::Compound; + n_material_defs->m_node_type = NodeType::Compound; + n_material_defs->m_address = base + offset; + n_material_defs->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_material_defs); + + field_name = "underground_depth_min"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); + auto n_underground_depth_min = new NodeSimple; + n_underground_depth_min->m_field_name = field_name; + n_underground_depth_min->m_df_type = DF_Type::int32_t; + n_underground_depth_min->m_rdf_type = RDF_Type::int32_t; + n_underground_depth_min->m_node_type = NodeType::Simple; + n_underground_depth_min->m_address = base + offset; + n_underground_depth_min->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_underground_depth_min); + + field_name = "underground_depth_max"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); + auto n_underground_depth_max = new NodeSimple; + n_underground_depth_max->m_field_name = field_name; + n_underground_depth_max->m_df_type = DF_Type::int32_t; + n_underground_depth_max->m_rdf_type = RDF_Type::int32_t; + n_underground_depth_max->m_node_type = NodeType::Simple; + n_underground_depth_max->m_address = base + offset; + n_underground_depth_max->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_underground_depth_max); + + field_name = "growths"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); + auto n_growths = new NodeVector; + n_growths->m_field_name = field_name; + n_growths->m_df_type = DF_Type::plant_growth; + n_growths->m_rdf_type = RDF_Type::Vector; + n_growths->m_node_type = NodeType::Vector; + n_growths->m_defined_in = "df.plant-raws.xml"; + n_growths->m_addornements = "v*"; + n_growths->m_address = base + offset; + n_growths->m_parent = p_node_parent; + n_growths->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_growths); + + field_name = "root_name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); + auto n_root_name = new NodeSimple; + n_root_name->m_field_name = field_name; + n_root_name->m_df_type = DF_Type::Stl_string; + n_root_name->m_rdf_type = RDF_Type::Stl_string; + n_root_name->m_node_type = NodeType::Simple; + n_root_name->m_address = base + offset; + n_root_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_root_name); + + field_name = "trunk_name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); + auto n_trunk_name = new NodeSimple; + n_trunk_name->m_field_name = field_name; + n_trunk_name->m_df_type = DF_Type::Stl_string; + n_trunk_name->m_rdf_type = RDF_Type::Stl_string; + n_trunk_name->m_node_type = NodeType::Simple; + n_trunk_name->m_address = base + offset; + n_trunk_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_trunk_name); + + field_name = "heavy_branch_name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); + auto n_heavy_branch_name = new NodeSimple; + n_heavy_branch_name->m_field_name = field_name; + n_heavy_branch_name->m_df_type = DF_Type::Stl_string; + n_heavy_branch_name->m_rdf_type = RDF_Type::Stl_string; + n_heavy_branch_name->m_node_type = NodeType::Simple; + n_heavy_branch_name->m_address = base + offset; + n_heavy_branch_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_heavy_branch_name); + + field_name = "light_branch_name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); + auto n_light_branch_name = new NodeSimple; + n_light_branch_name->m_field_name = field_name; + n_light_branch_name->m_df_type = DF_Type::Stl_string; + n_light_branch_name->m_rdf_type = RDF_Type::Stl_string; + n_light_branch_name->m_node_type = NodeType::Simple; + n_light_branch_name->m_address = base + offset; + n_light_branch_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_light_branch_name); + + field_name = "twig_name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); + auto n_twig_name = new NodeSimple; + n_twig_name->m_field_name = field_name; + n_twig_name->m_df_type = DF_Type::Stl_string; + n_twig_name->m_rdf_type = RDF_Type::Stl_string; + n_twig_name->m_node_type = NodeType::Simple; + n_twig_name->m_address = base + offset; + n_twig_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_twig_name); + + field_name = "cap_name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); + auto n_cap_name = new NodeSimple; + n_cap_name->m_field_name = field_name; + n_cap_name->m_df_type = DF_Type::Stl_string; + n_cap_name->m_rdf_type = RDF_Type::Stl_string; + n_cap_name->m_node_type = NodeType::Simple; + n_cap_name->m_address = base + offset; + n_cap_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cap_name); + + field_name = "trunk_period"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); + auto n_trunk_period = new NodeSimple; + n_trunk_period->m_field_name = field_name; + n_trunk_period->m_df_type = DF_Type::int32_t; + n_trunk_period->m_rdf_type = RDF_Type::int32_t; + n_trunk_period->m_node_type = NodeType::Simple; + n_trunk_period->m_address = base + offset; + n_trunk_period->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_trunk_period); + + field_name = "heavy_branch_density"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); + auto n_heavy_branch_density = new NodeSimple; + n_heavy_branch_density->m_field_name = field_name; + n_heavy_branch_density->m_df_type = DF_Type::int32_t; + n_heavy_branch_density->m_rdf_type = RDF_Type::int32_t; + n_heavy_branch_density->m_node_type = NodeType::Simple; + n_heavy_branch_density->m_address = base + offset; + n_heavy_branch_density->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_heavy_branch_density); + + field_name = "light_branch_density"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); + auto n_light_branch_density = new NodeSimple; + n_light_branch_density->m_field_name = field_name; + n_light_branch_density->m_df_type = DF_Type::int32_t; + n_light_branch_density->m_rdf_type = RDF_Type::int32_t; + n_light_branch_density->m_node_type = NodeType::Simple; + n_light_branch_density->m_address = base + offset; + n_light_branch_density->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_light_branch_density); + + field_name = "max_trunk_height"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); + auto n_max_trunk_height = new NodeSimple; + n_max_trunk_height->m_field_name = field_name; + n_max_trunk_height->m_df_type = DF_Type::int32_t; + n_max_trunk_height->m_rdf_type = RDF_Type::int32_t; + n_max_trunk_height->m_node_type = NodeType::Simple; + n_max_trunk_height->m_address = base + offset; + n_max_trunk_height->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_max_trunk_height); + + field_name = "heavy_branch_radius"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); + auto n_heavy_branch_radius = new NodeSimple; + n_heavy_branch_radius->m_field_name = field_name; + n_heavy_branch_radius->m_df_type = DF_Type::int32_t; + n_heavy_branch_radius->m_rdf_type = RDF_Type::int32_t; + n_heavy_branch_radius->m_node_type = NodeType::Simple; + n_heavy_branch_radius->m_address = base + offset; + n_heavy_branch_radius->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_heavy_branch_radius); + + field_name = "light_branch_radius"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); + auto n_light_branch_radius = new NodeSimple; + n_light_branch_radius->m_field_name = field_name; + n_light_branch_radius->m_df_type = DF_Type::int32_t; + n_light_branch_radius->m_rdf_type = RDF_Type::int32_t; + n_light_branch_radius->m_node_type = NodeType::Simple; + n_light_branch_radius->m_address = base + offset; + n_light_branch_radius->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_light_branch_radius); + + field_name = "trunk_branching"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); + auto n_trunk_branching = new NodeSimple; + n_trunk_branching->m_field_name = field_name; + n_trunk_branching->m_df_type = DF_Type::int32_t; + n_trunk_branching->m_rdf_type = RDF_Type::int32_t; + n_trunk_branching->m_node_type = NodeType::Simple; + n_trunk_branching->m_address = base + offset; + n_trunk_branching->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_trunk_branching); + + field_name = "max_trunk_diameter"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); + auto n_max_trunk_diameter = new NodeSimple; + n_max_trunk_diameter->m_field_name = field_name; + n_max_trunk_diameter->m_df_type = DF_Type::int32_t; + n_max_trunk_diameter->m_rdf_type = RDF_Type::int32_t; + n_max_trunk_diameter->m_node_type = NodeType::Simple; + n_max_trunk_diameter->m_address = base + offset; + n_max_trunk_diameter->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_max_trunk_diameter); + + field_name = "trunk_width_period"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); + auto n_trunk_width_period = new NodeSimple; + n_trunk_width_period->m_field_name = field_name; + n_trunk_width_period->m_df_type = DF_Type::int32_t; + n_trunk_width_period->m_rdf_type = RDF_Type::int32_t; + n_trunk_width_period->m_node_type = NodeType::Simple; + n_trunk_width_period->m_address = base + offset; + n_trunk_width_period->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_trunk_width_period); + + field_name = "cap_period"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); + auto n_cap_period = new NodeSimple; + n_cap_period->m_field_name = field_name; + n_cap_period->m_df_type = DF_Type::int32_t; + n_cap_period->m_rdf_type = RDF_Type::int32_t; + n_cap_period->m_node_type = NodeType::Simple; + n_cap_period->m_address = base + offset; + n_cap_period->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cap_period); + + field_name = "cap_radius"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); + auto n_cap_radius = new NodeSimple; + n_cap_radius->m_field_name = field_name; + n_cap_radius->m_df_type = DF_Type::int32_t; + n_cap_radius->m_rdf_type = RDF_Type::int32_t; + n_cap_radius->m_node_type = NodeType::Simple; + n_cap_radius->m_address = base + offset; + n_cap_radius->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cap_radius); + + field_name = "root_density"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); + auto n_root_density = new NodeSimple; + n_root_density->m_field_name = field_name; + n_root_density->m_df_type = DF_Type::int32_t; + n_root_density->m_rdf_type = RDF_Type::int32_t; + n_root_density->m_node_type = NodeType::Simple; + n_root_density->m_address = base + offset; + n_root_density->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_root_density); + + field_name = "root_radius"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); + auto n_root_radius = new NodeSimple; + n_root_radius->m_field_name = field_name; + n_root_radius->m_df_type = DF_Type::int32_t; + n_root_radius->m_rdf_type = RDF_Type::int32_t; + n_root_radius->m_node_type = NodeType::Simple; + n_root_radius->m_address = base + offset; + n_root_radius->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_root_radius); + + field_name = "stockpile_growths"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); + auto n_stockpile_growths = new NodeVector; + n_stockpile_growths->m_field_name = field_name; + n_stockpile_growths->m_df_type = DF_Type::int32_t; + n_stockpile_growths->m_rdf_type = RDF_Type::Vector; + n_stockpile_growths->m_node_type = NodeType::Vector; + n_stockpile_growths->m_addornements = "v"; + n_stockpile_growths->m_address = base + offset; + n_stockpile_growths->m_comment = "indices of edible growths that are marked with STOCKPILE_PLANT_GROWTH"; + n_stockpile_growths->m_refers_to = "$$._parent._parent.growths[$]"; + n_stockpile_growths->m_parent = p_node_parent; + n_stockpile_growths->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_stockpile_growths); + + field_name = "stockpile_growth_flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_raw, field_name)); + auto n_stockpile_growth_flags = new NodeVector; + n_stockpile_growth_flags->m_field_name = field_name; + n_stockpile_growth_flags->m_df_type = DF_Type::plant_raw__T_stockpile_growth_flags; + n_stockpile_growth_flags->m_rdf_type = RDF_Type::Vector; + n_stockpile_growth_flags->m_node_type = NodeType::Vector; + n_stockpile_growth_flags->m_addornements = "v"; + n_stockpile_growth_flags->m_address = base + offset; + n_stockpile_growth_flags->m_refers_to = "$$._parent.stockpile_growths[$].refers-to"; + n_stockpile_growth_flags->m_parent = p_node_parent; + n_stockpile_growth_flags->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_stockpile_growth_flags); + +} +void node_from_plant_growth(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_growth, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::Stl_string; + n_id->m_rdf_type = RDF_Type::Stl_string; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_growth, field_name)); + auto n_name = new NodeSimple; + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Stl_string; + n_name->m_node_type = NodeType::Simple; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "name_plural"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_growth, field_name)); + auto n_name_plural = new NodeSimple; + n_name_plural->m_field_name = field_name; + n_name_plural->m_df_type = DF_Type::Stl_string; + n_name_plural->m_rdf_type = RDF_Type::Stl_string; + n_name_plural->m_node_type = NodeType::Simple; + n_name_plural->m_address = base + offset; + n_name_plural->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name_plural); + + field_name = "str_growth_item"; + auto n_str_growth_item = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_growth, field_name)); + n_str_growth_item->m_field_name = field_name; + n_str_growth_item->m_df_type = DF_Type::Stl_string; + n_str_growth_item->m_rdf_type = RDF_Type::Array; + n_str_growth_item->m_node_type = NodeType::Array; + n_str_growth_item->m_addornements = "[5"; + n_str_growth_item->m_array_size = 5; + n_str_growth_item->m_address = base + offset; + n_str_growth_item->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_str_growth_item); + + field_name = "item_type"; + auto n_item_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_growth, field_name)); + n_item_type->m_field_name = field_name; + n_item_type->m_df_type = DF_Type::item_type; + n_item_type->m_rdf_type = RDF_Type::Enum; + n_item_type->m_node_type = NodeType::Enum; + n_item_type->m_base_type = DF_Type::int16_t; + n_item_type->m_enum_type = "item_type"; + n_item_type->m_address = base + offset; + n_item_type->m_defined_in = "df.item-raws.xml"; + n_item_type->m_first_value = -1; + n_item_type->m_last_value = 90; + n_item_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_type); + + field_name = "item_subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_growth, field_name)); + auto n_item_subtype = new NodeSimple; + n_item_subtype->m_field_name = field_name; + n_item_subtype->m_df_type = DF_Type::int16_t; + n_item_subtype->m_rdf_type = RDF_Type::int16_t; + n_item_subtype->m_node_type = NodeType::Simple; + n_item_subtype->m_address = base + offset; + n_item_subtype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_subtype); + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_growth, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_growth, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "prints"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_growth, field_name)); + auto n_prints = new NodeVector; + n_prints->m_field_name = field_name; + n_prints->m_df_type = DF_Type::plant_growth_print; + n_prints->m_rdf_type = RDF_Type::Vector; + n_prints->m_node_type = NodeType::Vector; + n_prints->m_defined_in = "df.plant-raws.xml"; + n_prints->m_addornements = "v*"; + n_prints->m_address = base + offset; + n_prints->m_parent = p_node_parent; + n_prints->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_prints); + + field_name = "timing_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_growth, field_name)); + auto n_timing_1 = new NodeSimple; + n_timing_1->m_field_name = field_name; + n_timing_1->m_df_type = DF_Type::int32_t; + n_timing_1->m_rdf_type = RDF_Type::int32_t; + n_timing_1->m_node_type = NodeType::Simple; + n_timing_1->m_address = base + offset; + n_timing_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_timing_1); + + field_name = "timing_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_growth, field_name)); + auto n_timing_2 = new NodeSimple; + n_timing_2->m_field_name = field_name; + n_timing_2->m_df_type = DF_Type::int32_t; + n_timing_2->m_rdf_type = RDF_Type::int32_t; + n_timing_2->m_node_type = NodeType::Simple; + n_timing_2->m_address = base + offset; + n_timing_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_timing_2); + + field_name = "locations"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_growth, field_name)); + auto n_locations = new NodeBitfield; + n_locations->m_field_name = field_name; + n_locations->m_df_type = DF_Type::plant_growth__T_locations; + n_locations->m_rdf_type = RDF_Type::Bitfield; + n_locations->m_node_type = NodeType::Bitfield; + n_locations->m_address = base + offset; + n_locations->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_locations); + + field_name = "density"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_growth, field_name)); + auto n_density = new NodeSimple; + n_density->m_field_name = field_name; + n_density->m_df_type = DF_Type::int32_t; + n_density->m_rdf_type = RDF_Type::int32_t; + n_density->m_node_type = NodeType::Simple; + n_density->m_address = base + offset; + n_density->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_density); + + field_name = "behavior"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_growth, field_name)); + auto n_behavior = new NodeBitfield; + n_behavior->m_field_name = field_name; + n_behavior->m_df_type = DF_Type::plant_growth__T_behavior; + n_behavior->m_rdf_type = RDF_Type::Bitfield; + n_behavior->m_node_type = NodeType::Bitfield; + n_behavior->m_address = base + offset; + n_behavior->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_behavior); + + field_name = "trunk_height_perc_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_growth, field_name)); + auto n_trunk_height_perc_1 = new NodeSimple; + n_trunk_height_perc_1->m_field_name = field_name; + n_trunk_height_perc_1->m_df_type = DF_Type::int32_t; + n_trunk_height_perc_1->m_rdf_type = RDF_Type::int32_t; + n_trunk_height_perc_1->m_node_type = NodeType::Simple; + n_trunk_height_perc_1->m_address = base + offset; + n_trunk_height_perc_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_trunk_height_perc_1); + + field_name = "trunk_height_perc_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_growth, field_name)); + auto n_trunk_height_perc_2 = new NodeSimple; + n_trunk_height_perc_2->m_field_name = field_name; + n_trunk_height_perc_2->m_df_type = DF_Type::int32_t; + n_trunk_height_perc_2->m_rdf_type = RDF_Type::int32_t; + n_trunk_height_perc_2->m_node_type = NodeType::Simple; + n_trunk_height_perc_2->m_address = base + offset; + n_trunk_height_perc_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_trunk_height_perc_2); + +} +void node_from_plant(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::plant_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_defined_in = "df.plants.xml"; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "material"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant, field_name)); + auto n_material = new NodeSimple; + n_material->m_field_name = field_name; + n_material->m_df_type = DF_Type::int16_t; + n_material->m_rdf_type = RDF_Type::int16_t; + n_material->m_node_type = NodeType::Simple; + n_material->m_address = base + offset; + n_material->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_material); + + field_name = "pos"; + auto n_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant, field_name)); + n_pos->m_field_name = field_name; + n_pos->m_df_type = DF_Type::coord; + n_pos->m_rdf_type = RDF_Type::Struct; + n_pos->m_node_type = NodeType::Compound; + n_pos->m_address = base + offset; + n_pos->m_defined_in = "df.map.xml"; + n_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pos); + + field_name = "grow_counter"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant, field_name)); + auto n_grow_counter = new NodeSimple; + n_grow_counter->m_field_name = field_name; + n_grow_counter->m_df_type = DF_Type::int32_t; + n_grow_counter->m_rdf_type = RDF_Type::int32_t; + n_grow_counter->m_node_type = NodeType::Simple; + n_grow_counter->m_address = base + offset; + n_grow_counter->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_grow_counter); + + field_name = "damage_flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant, field_name)); + auto n_damage_flags = new NodeBitfield; + n_damage_flags->m_field_name = field_name; + n_damage_flags->m_df_type = DF_Type::plant__T_damage_flags; + n_damage_flags->m_rdf_type = RDF_Type::Bitfield; + n_damage_flags->m_node_type = NodeType::Bitfield; + n_damage_flags->m_address = base + offset; + n_damage_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_damage_flags); + + field_name = "hitpoints"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant, field_name)); + auto n_hitpoints = new NodeSimple; + n_hitpoints->m_field_name = field_name; + n_hitpoints->m_df_type = DF_Type::int32_t; + n_hitpoints->m_rdf_type = RDF_Type::int32_t; + n_hitpoints->m_node_type = NodeType::Simple; + n_hitpoints->m_address = base + offset; + n_hitpoints->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_hitpoints); + + field_name = "update_order"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant, field_name)); + auto n_update_order = new NodeSimple; + n_update_order->m_field_name = field_name; + n_update_order->m_df_type = DF_Type::int16_t; + n_update_order->m_rdf_type = RDF_Type::int16_t; + n_update_order->m_node_type = NodeType::Simple; + n_update_order->m_address = base + offset; + n_update_order->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_update_order); + + field_name = "site_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant, field_name)); + auto n_site_id = new NodeSimple; + n_site_id->m_field_name = field_name; + n_site_id->m_df_type = DF_Type::int32_t; + n_site_id->m_rdf_type = RDF_Type::int32_t; + n_site_id->m_node_type = NodeType::Simple; + n_site_id->m_address = base + offset; + n_site_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_id); + + field_name = "srb_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant, field_name)); + auto n_srb_id = new NodeSimple; + n_srb_id->m_field_name = field_name; + n_srb_id->m_df_type = DF_Type::int32_t; + n_srb_id->m_rdf_type = RDF_Type::int32_t; + n_srb_id->m_node_type = NodeType::Simple; + n_srb_id->m_address = base + offset; + n_srb_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_srb_id); + + field_name = "contaminants"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant, field_name)); + auto n_contaminants = new NodeVector; + n_contaminants->m_field_name = field_name; + n_contaminants->m_df_type = DF_Type::spatter_common; + n_contaminants->m_rdf_type = RDF_Type::Vector; + n_contaminants->m_node_type = NodeType::Vector; + n_contaminants->m_defined_in = "df.items.xml"; + n_contaminants->m_addornements = "v*"; + n_contaminants->m_address = base + offset; + n_contaminants->m_parent = p_node_parent; + n_contaminants->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_contaminants); + + field_name = "tree_info"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant, field_name)); + auto n_tree_info = new NodePointer; + n_tree_info->m_field_name = field_name; + n_tree_info->m_df_type = get_real_subtype(base+offset, DF_Type::plant_tree_info); + n_tree_info->m_rdf_type = RDF_Type::Pointer; + n_tree_info->m_node_type = NodeType::Pointer; + n_tree_info->m_addornements = "*"; + n_tree_info->m_address = base + offset; + n_tree_info->m_parent = p_node_parent; + n_tree_info->m_defined_in = "df.plants.xml"; + n_tree_info->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_tree_info); + +} +void node_from_plant_tree_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "body"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_tree_info, field_name)); + auto n_body = new NodePointer; + n_body->m_field_name = field_name; + n_body->m_df_type = DF_Type::plant_tree_tile; + n_body->m_rdf_type = RDF_Type::Pointer; + n_body->m_node_type = NodeType::Pointer; + n_body->m_addornements = "**"; + n_body->m_address = base + offset; + n_body->m_comment = "dimension body_height"; + n_body->m_parent = p_node_parent; + n_body->m_defined_in = "df.plants.xml"; + n_body->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_body); + + field_name = "extent_east"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_tree_info, field_name)); + auto n_extent_east = new NodePointer; + n_extent_east->m_field_name = field_name; + n_extent_east->m_df_type = get_real_subtype(base+offset, DF_Type::int16_t); + n_extent_east->m_rdf_type = RDF_Type::Pointer; + n_extent_east->m_node_type = NodeType::Pointer; + n_extent_east->m_addornements = "*"; + n_extent_east->m_address = base + offset; + n_extent_east->m_comment = "dimension body_height"; + n_extent_east->m_parent = p_node_parent; + n_extent_east->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_extent_east); + + field_name = "extent_south"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_tree_info, field_name)); + auto n_extent_south = new NodePointer; + n_extent_south->m_field_name = field_name; + n_extent_south->m_df_type = get_real_subtype(base+offset, DF_Type::int16_t); + n_extent_south->m_rdf_type = RDF_Type::Pointer; + n_extent_south->m_node_type = NodeType::Pointer; + n_extent_south->m_addornements = "*"; + n_extent_south->m_address = base + offset; + n_extent_south->m_comment = "dimension body_height"; + n_extent_south->m_parent = p_node_parent; + n_extent_south->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_extent_south); + + field_name = "extent_west"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_tree_info, field_name)); + auto n_extent_west = new NodePointer; + n_extent_west->m_field_name = field_name; + n_extent_west->m_df_type = get_real_subtype(base+offset, DF_Type::int16_t); + n_extent_west->m_rdf_type = RDF_Type::Pointer; + n_extent_west->m_node_type = NodeType::Pointer; + n_extent_west->m_addornements = "*"; + n_extent_west->m_address = base + offset; + n_extent_west->m_comment = "dimension body_height"; + n_extent_west->m_parent = p_node_parent; + n_extent_west->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_extent_west); + + field_name = "extent_north"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_tree_info, field_name)); + auto n_extent_north = new NodePointer; + n_extent_north->m_field_name = field_name; + n_extent_north->m_df_type = get_real_subtype(base+offset, DF_Type::int16_t); + n_extent_north->m_rdf_type = RDF_Type::Pointer; + n_extent_north->m_node_type = NodeType::Pointer; + n_extent_north->m_addornements = "*"; + n_extent_north->m_address = base + offset; + n_extent_north->m_comment = "dimension body_height"; + n_extent_north->m_parent = p_node_parent; + n_extent_north->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_extent_north); + + field_name = "body_height"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_tree_info, field_name)); + auto n_body_height = new NodeSimple; + n_body_height->m_field_name = field_name; + n_body_height->m_df_type = DF_Type::int32_t; + n_body_height->m_rdf_type = RDF_Type::int32_t; + n_body_height->m_node_type = NodeType::Simple; + n_body_height->m_address = base + offset; + n_body_height->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_body_height); + + field_name = "dim_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_tree_info, field_name)); + auto n_dim_x = new NodeSimple; + n_dim_x->m_field_name = field_name; + n_dim_x->m_df_type = DF_Type::int32_t; + n_dim_x->m_rdf_type = RDF_Type::int32_t; + n_dim_x->m_node_type = NodeType::Simple; + n_dim_x->m_address = base + offset; + n_dim_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dim_x); + + field_name = "dim_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_tree_info, field_name)); + auto n_dim_y = new NodeSimple; + n_dim_y->m_field_name = field_name; + n_dim_y->m_df_type = DF_Type::int32_t; + n_dim_y->m_rdf_type = RDF_Type::int32_t; + n_dim_y->m_node_type = NodeType::Simple; + n_dim_y->m_address = base + offset; + n_dim_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dim_y); + + field_name = "roots"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_tree_info, field_name)); + auto n_roots = new NodePointer; + n_roots->m_field_name = field_name; + n_roots->m_df_type = DF_Type::plant_tree_tile; + n_roots->m_rdf_type = RDF_Type::Pointer; + n_roots->m_node_type = NodeType::Pointer; + n_roots->m_addornements = "**"; + n_roots->m_address = base + offset; + n_roots->m_comment = "dimension roots_depth"; + n_roots->m_parent = p_node_parent; + n_roots->m_defined_in = "df.plants.xml"; + n_roots->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_roots); + + field_name = "roots_depth"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_tree_info, field_name)); + auto n_roots_depth = new NodeSimple; + n_roots_depth->m_field_name = field_name; + n_roots_depth->m_df_type = DF_Type::int32_t; + n_roots_depth->m_rdf_type = RDF_Type::int32_t; + n_roots_depth->m_node_type = NodeType::Simple; + n_roots_depth->m_address = base + offset; + n_roots_depth->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_roots_depth); + + field_name = "unk6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::plant_tree_info, field_name)); + auto n_unk6 = new NodeSimple; + n_unk6->m_field_name = field_name; + n_unk6->m_df_type = DF_Type::int16_t; + n_unk6->m_rdf_type = RDF_Type::int16_t; + n_unk6->m_node_type = NodeType::Simple; + n_unk6->m_address = base + offset; + n_unk6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk6); + +} +void node_from_proj_list_link(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "item"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::proj_list_link, field_name)); + auto n_item = new NodePointer; + n_item->m_field_name = field_name; + n_item->m_df_type = get_real_subtype(base+offset, DF_Type::projectile); + n_item->m_rdf_type = RDF_Type::Pointer; + n_item->m_node_type = NodeType::Pointer; + n_item->m_addornements = "*"; + n_item->m_address = base + offset; + n_item->m_parent = p_node_parent; + n_item->m_defined_in = "df.projectile.xml"; + n_item->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_item); + + field_name = "prev"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::proj_list_link, field_name)); + auto n_prev = new NodePointer; + n_prev->m_field_name = field_name; + n_prev->m_df_type = get_real_subtype(base+offset, DF_Type::proj_list_link); + n_prev->m_rdf_type = RDF_Type::Pointer; + n_prev->m_node_type = NodeType::Pointer; + n_prev->m_addornements = "*"; + n_prev->m_address = base + offset; + n_prev->m_parent = p_node_parent; + n_prev->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_prev); + + field_name = "next"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::proj_list_link, field_name)); + auto n_next = new NodePointer; + n_next->m_field_name = field_name; + n_next->m_df_type = get_real_subtype(base+offset, DF_Type::proj_list_link); + n_next->m_rdf_type = RDF_Type::Pointer; + n_next->m_node_type = NodeType::Pointer; + n_next->m_addornements = "*"; + n_next->m_address = base + offset; + n_next->m_parent = p_node_parent; + n_next->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_next); + +} +void node_from_projectile(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "link"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::projectile, field_name)); + auto n_link = new NodePointer; + n_link->m_field_name = field_name; + n_link->m_df_type = get_real_subtype(base+offset, DF_Type::proj_list_link); + n_link->m_rdf_type = RDF_Type::Pointer; + n_link->m_node_type = NodeType::Pointer; + n_link->m_addornements = "*"; + n_link->m_address = base + offset; + n_link->m_parent = p_node_parent; + n_link->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_link); + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::projectile, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "firer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::projectile, field_name)); + auto n_firer = new NodePointer; + n_firer->m_field_name = field_name; + n_firer->m_df_type = get_real_subtype(base+offset, DF_Type::unit); + n_firer->m_rdf_type = RDF_Type::Pointer; + n_firer->m_node_type = NodeType::Pointer; + n_firer->m_addornements = "*"; + n_firer->m_address = base + offset; + n_firer->m_parent = p_node_parent; + n_firer->m_defined_in = "df.units.xml"; + n_firer->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_firer); + + field_name = "origin_pos"; + auto n_origin_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::projectile, field_name)); + n_origin_pos->m_field_name = field_name; + n_origin_pos->m_df_type = DF_Type::coord; + n_origin_pos->m_rdf_type = RDF_Type::Struct; + n_origin_pos->m_node_type = NodeType::Compound; + n_origin_pos->m_address = base + offset; + n_origin_pos->m_defined_in = "df.map.xml"; + n_origin_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_origin_pos); + + field_name = "target_pos"; + auto n_target_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::projectile, field_name)); + n_target_pos->m_field_name = field_name; + n_target_pos->m_df_type = DF_Type::coord; + n_target_pos->m_rdf_type = RDF_Type::Struct; + n_target_pos->m_node_type = NodeType::Compound; + n_target_pos->m_address = base + offset; + n_target_pos->m_defined_in = "df.map.xml"; + n_target_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_target_pos); + + field_name = "cur_pos"; + auto n_cur_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::projectile, field_name)); + n_cur_pos->m_field_name = field_name; + n_cur_pos->m_df_type = DF_Type::coord; + n_cur_pos->m_rdf_type = RDF_Type::Struct; + n_cur_pos->m_node_type = NodeType::Compound; + n_cur_pos->m_address = base + offset; + n_cur_pos->m_defined_in = "df.map.xml"; + n_cur_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cur_pos); + + field_name = "prev_pos"; + auto n_prev_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::projectile, field_name)); + n_prev_pos->m_field_name = field_name; + n_prev_pos->m_df_type = DF_Type::coord; + n_prev_pos->m_rdf_type = RDF_Type::Struct; + n_prev_pos->m_node_type = NodeType::Compound; + n_prev_pos->m_address = base + offset; + n_prev_pos->m_defined_in = "df.map.xml"; + n_prev_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_prev_pos); + + field_name = "distance_flown"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::projectile, field_name)); + auto n_distance_flown = new NodeSimple; + n_distance_flown->m_field_name = field_name; + n_distance_flown->m_df_type = DF_Type::int32_t; + n_distance_flown->m_rdf_type = RDF_Type::int32_t; + n_distance_flown->m_node_type = NodeType::Simple; + n_distance_flown->m_address = base + offset; + n_distance_flown->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_distance_flown); + + field_name = "fall_threshold"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::projectile, field_name)); + auto n_fall_threshold = new NodeSimple; + n_fall_threshold->m_field_name = field_name; + n_fall_threshold->m_df_type = DF_Type::int32_t; + n_fall_threshold->m_rdf_type = RDF_Type::int32_t; + n_fall_threshold->m_node_type = NodeType::Simple; + n_fall_threshold->m_address = base + offset; + n_fall_threshold->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_fall_threshold); + + field_name = "min_hit_distance"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::projectile, field_name)); + auto n_min_hit_distance = new NodeSimple; + n_min_hit_distance->m_field_name = field_name; + n_min_hit_distance->m_df_type = DF_Type::int32_t; + n_min_hit_distance->m_rdf_type = RDF_Type::int32_t; + n_min_hit_distance->m_node_type = NodeType::Simple; + n_min_hit_distance->m_address = base + offset; + n_min_hit_distance->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_min_hit_distance); + + field_name = "min_ground_distance"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::projectile, field_name)); + auto n_min_ground_distance = new NodeSimple; + n_min_ground_distance->m_field_name = field_name; + n_min_ground_distance->m_df_type = DF_Type::int32_t; + n_min_ground_distance->m_rdf_type = RDF_Type::int32_t; + n_min_ground_distance->m_node_type = NodeType::Simple; + n_min_ground_distance->m_address = base + offset; + n_min_ground_distance->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_min_ground_distance); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::projectile, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::projectile_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_defined_in = "df.projectile.xml"; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "fall_counter"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::projectile, field_name)); + auto n_fall_counter = new NodeSimple; + n_fall_counter->m_field_name = field_name; + n_fall_counter->m_df_type = DF_Type::int16_t; + n_fall_counter->m_rdf_type = RDF_Type::int16_t; + n_fall_counter->m_node_type = NodeType::Simple; + n_fall_counter->m_address = base + offset; + n_fall_counter->m_comment = "counts down from delay to 0, then it moves"; + n_fall_counter->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_fall_counter); + + field_name = "fall_delay"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::projectile, field_name)); + auto n_fall_delay = new NodeSimple; + n_fall_delay->m_field_name = field_name; + n_fall_delay->m_df_type = DF_Type::int16_t; + n_fall_delay->m_rdf_type = RDF_Type::int16_t; + n_fall_delay->m_node_type = NodeType::Simple; + n_fall_delay->m_address = base + offset; + n_fall_delay->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_fall_delay); + + field_name = "hit_rating"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::projectile, field_name)); + auto n_hit_rating = new NodeSimple; + n_hit_rating->m_field_name = field_name; + n_hit_rating->m_df_type = DF_Type::int32_t; + n_hit_rating->m_rdf_type = RDF_Type::int32_t; + n_hit_rating->m_node_type = NodeType::Simple; + n_hit_rating->m_address = base + offset; + n_hit_rating->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_hit_rating); + + field_name = "unk21"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::projectile, field_name)); + auto n_unk21 = new NodeSimple; + n_unk21->m_field_name = field_name; + n_unk21->m_df_type = DF_Type::int32_t; + n_unk21->m_rdf_type = RDF_Type::int32_t; + n_unk21->m_node_type = NodeType::Simple; + n_unk21->m_address = base + offset; + n_unk21->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk21); + + field_name = "unk22"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::projectile, field_name)); + auto n_unk22 = new NodeSimple; + n_unk22->m_field_name = field_name; + n_unk22->m_df_type = DF_Type::int32_t; + n_unk22->m_rdf_type = RDF_Type::int32_t; + n_unk22->m_node_type = NodeType::Simple; + n_unk22->m_address = base + offset; + n_unk22->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk22); + + field_name = "bow_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::projectile, field_name)); + auto n_bow_id = new NodeSimple; + n_bow_id->m_field_name = field_name; + n_bow_id->m_df_type = DF_Type::int32_t; + n_bow_id->m_rdf_type = RDF_Type::int32_t; + n_bow_id->m_node_type = NodeType::Simple; + n_bow_id->m_address = base + offset; + n_bow_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_bow_id); + + field_name = "unk_item_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::projectile, field_name)); + auto n_unk_item_id = new NodeSimple; + n_unk_item_id->m_field_name = field_name; + n_unk_item_id->m_df_type = DF_Type::int32_t; + n_unk_item_id->m_rdf_type = RDF_Type::int32_t; + n_unk_item_id->m_node_type = NodeType::Simple; + n_unk_item_id->m_address = base + offset; + n_unk_item_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_item_id); + + field_name = "unk_unit_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::projectile, field_name)); + auto n_unk_unit_id = new NodeSimple; + n_unk_unit_id->m_field_name = field_name; + n_unk_unit_id->m_df_type = DF_Type::int32_t; + n_unk_unit_id->m_rdf_type = RDF_Type::int32_t; + n_unk_unit_id->m_node_type = NodeType::Simple; + n_unk_unit_id->m_address = base + offset; + n_unk_unit_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_unit_id); + + field_name = "unk_v40_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::projectile, field_name)); + auto n_unk_v40_1 = new NodeSimple; + n_unk_v40_1->m_field_name = field_name; + n_unk_v40_1->m_df_type = DF_Type::int32_t; + n_unk_v40_1->m_rdf_type = RDF_Type::int32_t; + n_unk_v40_1->m_node_type = NodeType::Simple; + n_unk_v40_1->m_address = base + offset; + n_unk_v40_1->m_comment = "uninitialized+saved"; + n_unk_v40_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_1); + + field_name = "pos_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::projectile, field_name)); + auto n_pos_x = new NodeSimple; + n_pos_x->m_field_name = field_name; + n_pos_x->m_df_type = DF_Type::int32_t; + n_pos_x->m_rdf_type = RDF_Type::int32_t; + n_pos_x->m_node_type = NodeType::Simple; + n_pos_x->m_address = base + offset; + n_pos_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pos_x); + + field_name = "pos_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::projectile, field_name)); + auto n_pos_y = new NodeSimple; + n_pos_y->m_field_name = field_name; + n_pos_y->m_df_type = DF_Type::int32_t; + n_pos_y->m_rdf_type = RDF_Type::int32_t; + n_pos_y->m_node_type = NodeType::Simple; + n_pos_y->m_address = base + offset; + n_pos_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pos_y); + + field_name = "pos_z"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::projectile, field_name)); + auto n_pos_z = new NodeSimple; + n_pos_z->m_field_name = field_name; + n_pos_z->m_df_type = DF_Type::int32_t; + n_pos_z->m_rdf_type = RDF_Type::int32_t; + n_pos_z->m_node_type = NodeType::Simple; + n_pos_z->m_address = base + offset; + n_pos_z->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pos_z); + + field_name = "speed_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::projectile, field_name)); + auto n_speed_x = new NodeSimple; + n_speed_x->m_field_name = field_name; + n_speed_x->m_df_type = DF_Type::int32_t; + n_speed_x->m_rdf_type = RDF_Type::int32_t; + n_speed_x->m_node_type = NodeType::Simple; + n_speed_x->m_address = base + offset; + n_speed_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_speed_x); + + field_name = "speed_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::projectile, field_name)); + auto n_speed_y = new NodeSimple; + n_speed_y->m_field_name = field_name; + n_speed_y->m_df_type = DF_Type::int32_t; + n_speed_y->m_rdf_type = RDF_Type::int32_t; + n_speed_y->m_node_type = NodeType::Simple; + n_speed_y->m_address = base + offset; + n_speed_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_speed_y); + + field_name = "speed_z"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::projectile, field_name)); + auto n_speed_z = new NodeSimple; + n_speed_z->m_field_name = field_name; + n_speed_z->m_df_type = DF_Type::int32_t; + n_speed_z->m_rdf_type = RDF_Type::int32_t; + n_speed_z->m_node_type = NodeType::Simple; + n_speed_z->m_address = base + offset; + n_speed_z->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_speed_z); + + field_name = "accel_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::projectile, field_name)); + auto n_accel_x = new NodeSimple; + n_accel_x->m_field_name = field_name; + n_accel_x->m_df_type = DF_Type::int32_t; + n_accel_x->m_rdf_type = RDF_Type::int32_t; + n_accel_x->m_node_type = NodeType::Simple; + n_accel_x->m_address = base + offset; + n_accel_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_accel_x); + + field_name = "accel_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::projectile, field_name)); + auto n_accel_y = new NodeSimple; + n_accel_y->m_field_name = field_name; + n_accel_y->m_df_type = DF_Type::int32_t; + n_accel_y->m_rdf_type = RDF_Type::int32_t; + n_accel_y->m_node_type = NodeType::Simple; + n_accel_y->m_address = base + offset; + n_accel_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_accel_y); + + field_name = "accel_z"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::projectile, field_name)); + auto n_accel_z = new NodeSimple; + n_accel_z->m_field_name = field_name; + n_accel_z->m_df_type = DF_Type::int32_t; + n_accel_z->m_rdf_type = RDF_Type::int32_t; + n_accel_z->m_node_type = NodeType::Simple; + n_accel_z->m_address = base + offset; + n_accel_z->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_accel_z); + +} +void node_from_proj_itemst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::projectile; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_projectile(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "item"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::proj_itemst, field_name)); + auto n_item = new NodePointer; + n_item->m_field_name = field_name; + n_item->m_df_type = get_real_subtype(base+offset, DF_Type::item); + n_item->m_rdf_type = RDF_Type::Pointer; + n_item->m_node_type = NodeType::Pointer; + n_item->m_addornements = "*"; + n_item->m_address = base + offset; + n_item->m_parent = p_node_parent; + n_item->m_defined_in = "df.items.xml"; + n_item->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_item); + +} +void node_from_proj_unitst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::projectile; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_projectile(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unit"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::proj_unitst, field_name)); + auto n_unit = new NodePointer; + n_unit->m_field_name = field_name; + n_unit->m_df_type = get_real_subtype(base+offset, DF_Type::unit); + n_unit->m_rdf_type = RDF_Type::Pointer; + n_unit->m_node_type = NodeType::Pointer; + n_unit->m_addornements = "*"; + n_unit->m_address = base + offset; + n_unit->m_comment = "?"; + n_unit->m_parent = p_node_parent; + n_unit->m_defined_in = "df.units.xml"; + n_unit->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unit); + +} +void node_from_proj_magicst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::projectile; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_projectile(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::proj_magicst, field_name)); + auto n_unk = new NodePointer; + n_unk->m_field_name = field_name; + n_unk->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_unk->m_rdf_type = RDF_Type::Pointer; + n_unk->m_node_type = NodeType::Pointer; + n_unk->m_addornements = "*"; + n_unk->m_address = base + offset; + n_unk->m_comment = "?"; + n_unk->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk); + +} +void node_from_creature_handler(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "alphabetic"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_handler, field_name)); + auto n_alphabetic = new NodeVector; + n_alphabetic->m_field_name = field_name; + n_alphabetic->m_df_type = DF_Type::creature_raw; + n_alphabetic->m_rdf_type = RDF_Type::Vector; + n_alphabetic->m_node_type = NodeType::Vector; + n_alphabetic->m_defined_in = "df.creature-raws.xml"; + n_alphabetic->m_addornements = "v*"; + n_alphabetic->m_address = base + offset; + n_alphabetic->m_parent = p_node_parent; + n_alphabetic->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_alphabetic); + + field_name = "all"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_handler, field_name)); + auto n_all = new NodeVector; + n_all->m_field_name = field_name; + n_all->m_df_type = DF_Type::creature_raw; + n_all->m_rdf_type = RDF_Type::Vector; + n_all->m_node_type = NodeType::Vector; + n_all->m_defined_in = "df.creature-raws.xml"; + n_all->m_addornements = "v*"; + n_all->m_address = base + offset; + n_all->m_parent = p_node_parent; + n_all->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_all); + + field_name = "num_caste"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_handler, field_name)); + auto n_num_caste = new NodeSimple; + n_num_caste->m_field_name = field_name; + n_num_caste->m_df_type = DF_Type::int32_t; + n_num_caste->m_rdf_type = RDF_Type::int32_t; + n_num_caste->m_node_type = NodeType::Simple; + n_num_caste->m_address = base + offset; + n_num_caste->m_comment = "seems equal to length of vectors below"; + n_num_caste->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_num_caste); + + field_name = "list_creature"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_handler, field_name)); + auto n_list_creature = new NodeVector; + n_list_creature->m_field_name = field_name; + n_list_creature->m_df_type = DF_Type::int32_t; + n_list_creature->m_rdf_type = RDF_Type::Vector; + n_list_creature->m_node_type = NodeType::Vector; + n_list_creature->m_addornements = "v"; + n_list_creature->m_address = base + offset; + n_list_creature->m_comment = "Together with list_caste, a list of all caste indexes in order."; + n_list_creature->m_parent = p_node_parent; + n_list_creature->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_list_creature); + + field_name = "list_caste"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_handler, field_name)); + auto n_list_caste = new NodeVector; + n_list_caste->m_field_name = field_name; + n_list_caste->m_df_type = DF_Type::int32_t; + n_list_caste->m_rdf_type = RDF_Type::Vector; + n_list_caste->m_node_type = NodeType::Vector; + n_list_caste->m_addornements = "v"; + n_list_caste->m_address = base + offset; + n_list_caste->m_parent = p_node_parent; + n_list_caste->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_list_caste); + + field_name = "action_strings"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_handler, field_name)); + auto n_action_strings = new NodeVector; + n_action_strings->m_field_name = field_name; + n_action_strings->m_df_type = DF_Type::Stl_string; + n_action_strings->m_rdf_type = RDF_Type::Vector; + n_action_strings->m_node_type = NodeType::Vector; + n_action_strings->m_addornements = "v*"; + n_action_strings->m_address = base + offset; + n_action_strings->m_parent = p_node_parent; + n_action_strings->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_action_strings); + +} +void node_from_world_raws__T_plants(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "all"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_plants, field_name)); + auto n_all = new NodeVector; + n_all->m_field_name = field_name; + n_all->m_df_type = DF_Type::plant_raw; + n_all->m_rdf_type = RDF_Type::Vector; + n_all->m_node_type = NodeType::Vector; + n_all->m_defined_in = "df.plant-raws.xml"; + n_all->m_addornements = "v*"; + n_all->m_address = base + offset; + n_all->m_parent = p_node_parent; + n_all->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_all); + + field_name = "bushes"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_plants, field_name)); + auto n_bushes = new NodeVector; + n_bushes->m_field_name = field_name; + n_bushes->m_df_type = DF_Type::plant_raw; + n_bushes->m_rdf_type = RDF_Type::Vector; + n_bushes->m_node_type = NodeType::Vector; + n_bushes->m_defined_in = "df.plant-raws.xml"; + n_bushes->m_addornements = "v*"; + n_bushes->m_address = base + offset; + n_bushes->m_parent = p_node_parent; + n_bushes->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bushes); + + field_name = "bushes_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_plants, field_name)); + auto n_bushes_idx = new NodeVector; + n_bushes_idx->m_field_name = field_name; + n_bushes_idx->m_df_type = DF_Type::int32_t; + n_bushes_idx->m_rdf_type = RDF_Type::Vector; + n_bushes_idx->m_node_type = NodeType::Vector; + n_bushes_idx->m_addornements = "v"; + n_bushes_idx->m_address = base + offset; + n_bushes_idx->m_refers_to = "$$._parent.bushes[$]"; + n_bushes_idx->m_parent = p_node_parent; + n_bushes_idx->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bushes_idx); + + field_name = "trees"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_plants, field_name)); + auto n_trees = new NodeVector; + n_trees->m_field_name = field_name; + n_trees->m_df_type = DF_Type::plant_raw; + n_trees->m_rdf_type = RDF_Type::Vector; + n_trees->m_node_type = NodeType::Vector; + n_trees->m_defined_in = "df.plant-raws.xml"; + n_trees->m_addornements = "v*"; + n_trees->m_address = base + offset; + n_trees->m_parent = p_node_parent; + n_trees->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_trees); + + field_name = "trees_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_plants, field_name)); + auto n_trees_idx = new NodeVector; + n_trees_idx->m_field_name = field_name; + n_trees_idx->m_df_type = DF_Type::int32_t; + n_trees_idx->m_rdf_type = RDF_Type::Vector; + n_trees_idx->m_node_type = NodeType::Vector; + n_trees_idx->m_addornements = "v"; + n_trees_idx->m_address = base + offset; + n_trees_idx->m_refers_to = "$$._parent.trees[$]"; + n_trees_idx->m_parent = p_node_parent; + n_trees_idx->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_trees_idx); + + field_name = "grasses"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_plants, field_name)); + auto n_grasses = new NodeVector; + n_grasses->m_field_name = field_name; + n_grasses->m_df_type = DF_Type::plant_raw; + n_grasses->m_rdf_type = RDF_Type::Vector; + n_grasses->m_node_type = NodeType::Vector; + n_grasses->m_defined_in = "df.plant-raws.xml"; + n_grasses->m_addornements = "v*"; + n_grasses->m_address = base + offset; + n_grasses->m_parent = p_node_parent; + n_grasses->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_grasses); + + field_name = "grasses_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_plants, field_name)); + auto n_grasses_idx = new NodeVector; + n_grasses_idx->m_field_name = field_name; + n_grasses_idx->m_df_type = DF_Type::int32_t; + n_grasses_idx->m_rdf_type = RDF_Type::Vector; + n_grasses_idx->m_node_type = NodeType::Vector; + n_grasses_idx->m_addornements = "v"; + n_grasses_idx->m_address = base + offset; + n_grasses_idx->m_refers_to = "$$._parent.grasses[$]"; + n_grasses_idx->m_parent = p_node_parent; + n_grasses_idx->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_grasses_idx); + +} +void node_from_world_raws__T_bodyglosses(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_bodyglosses, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::Stl_string; + n_id->m_rdf_type = RDF_Type::Stl_string; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "old_singular"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_bodyglosses, field_name)); + auto n_old_singular = new NodeSimple; + n_old_singular->m_field_name = field_name; + n_old_singular->m_df_type = DF_Type::Stl_string; + n_old_singular->m_rdf_type = RDF_Type::Stl_string; + n_old_singular->m_node_type = NodeType::Simple; + n_old_singular->m_address = base + offset; + n_old_singular->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_old_singular); + + field_name = "new_singular"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_bodyglosses, field_name)); + auto n_new_singular = new NodeSimple; + n_new_singular->m_field_name = field_name; + n_new_singular->m_df_type = DF_Type::Stl_string; + n_new_singular->m_rdf_type = RDF_Type::Stl_string; + n_new_singular->m_node_type = NodeType::Simple; + n_new_singular->m_address = base + offset; + n_new_singular->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_new_singular); + + field_name = "old_plural"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_bodyglosses, field_name)); + auto n_old_plural = new NodeSimple; + n_old_plural->m_field_name = field_name; + n_old_plural->m_df_type = DF_Type::Stl_string; + n_old_plural->m_rdf_type = RDF_Type::Stl_string; + n_old_plural->m_node_type = NodeType::Simple; + n_old_plural->m_address = base + offset; + n_old_plural->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_old_plural); + + field_name = "new_plural"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_bodyglosses, field_name)); + auto n_new_plural = new NodeSimple; + n_new_plural->m_field_name = field_name; + n_new_plural->m_df_type = DF_Type::Stl_string; + n_new_plural->m_rdf_type = RDF_Type::Stl_string; + n_new_plural->m_node_type = NodeType::Simple; + n_new_plural->m_address = base + offset; + n_new_plural->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_new_plural); + +} +void node_from_world_raws__T_itemdefs(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "all"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_itemdefs, field_name)); + auto n_all = new NodeVector; + n_all->m_field_name = field_name; + n_all->m_df_type = DF_Type::itemdef; + n_all->m_rdf_type = RDF_Type::Vector; + n_all->m_node_type = NodeType::Vector; + n_all->m_defined_in = "df.item-raws.xml"; + n_all->m_addornements = "v*"; + n_all->m_address = base + offset; + n_all->m_parent = p_node_parent; + n_all->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_all); + + field_name = "weapons"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_itemdefs, field_name)); + auto n_weapons = new NodeVector; + n_weapons->m_field_name = field_name; + n_weapons->m_df_type = DF_Type::itemdef_weaponst; + n_weapons->m_rdf_type = RDF_Type::Vector; + n_weapons->m_node_type = NodeType::Vector; + n_weapons->m_defined_in = "df.item-raws.xml"; + n_weapons->m_addornements = "v*"; + n_weapons->m_address = base + offset; + n_weapons->m_parent = p_node_parent; + n_weapons->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_weapons); + + field_name = "trapcomps"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_itemdefs, field_name)); + auto n_trapcomps = new NodeVector; + n_trapcomps->m_field_name = field_name; + n_trapcomps->m_df_type = DF_Type::itemdef_trapcompst; + n_trapcomps->m_rdf_type = RDF_Type::Vector; + n_trapcomps->m_node_type = NodeType::Vector; + n_trapcomps->m_defined_in = "df.item-raws.xml"; + n_trapcomps->m_addornements = "v*"; + n_trapcomps->m_address = base + offset; + n_trapcomps->m_parent = p_node_parent; + n_trapcomps->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_trapcomps); + + field_name = "toys"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_itemdefs, field_name)); + auto n_toys = new NodeVector; + n_toys->m_field_name = field_name; + n_toys->m_df_type = DF_Type::itemdef_toyst; + n_toys->m_rdf_type = RDF_Type::Vector; + n_toys->m_node_type = NodeType::Vector; + n_toys->m_defined_in = "df.item-raws.xml"; + n_toys->m_addornements = "v*"; + n_toys->m_address = base + offset; + n_toys->m_parent = p_node_parent; + n_toys->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_toys); + + field_name = "tools"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_itemdefs, field_name)); + auto n_tools = new NodeVector; + n_tools->m_field_name = field_name; + n_tools->m_df_type = DF_Type::itemdef_toolst; + n_tools->m_rdf_type = RDF_Type::Vector; + n_tools->m_node_type = NodeType::Vector; + n_tools->m_defined_in = "df.item-raws.xml"; + n_tools->m_addornements = "v*"; + n_tools->m_address = base + offset; + n_tools->m_parent = p_node_parent; + n_tools->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_tools); + + field_name = "tools_by_type"; + auto n_tools_by_type = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_itemdefs, field_name)); + n_tools_by_type->m_field_name = field_name; + n_tools_by_type->m_df_type = DF_Type::itemdef_toolst; + n_tools_by_type->m_rdf_type = RDF_Type::Array; + n_tools_by_type->m_node_type = NodeType::Array; + n_tools_by_type->m_index_enum = DF_Type::tool_uses; + n_tools_by_type->m_defined_in = "df.item-raws.xml"; + n_tools_by_type->m_addornements = "[23v*"; + n_tools_by_type->m_array_size = 23; + n_tools_by_type->m_address = base + offset; + n_tools_by_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tools_by_type); + + field_name = "instruments"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_itemdefs, field_name)); + auto n_instruments = new NodeVector; + n_instruments->m_field_name = field_name; + n_instruments->m_df_type = DF_Type::itemdef_instrumentst; + n_instruments->m_rdf_type = RDF_Type::Vector; + n_instruments->m_node_type = NodeType::Vector; + n_instruments->m_defined_in = "df.item-raws.xml"; + n_instruments->m_addornements = "v*"; + n_instruments->m_address = base + offset; + n_instruments->m_parent = p_node_parent; + n_instruments->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_instruments); + + field_name = "armor"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_itemdefs, field_name)); + auto n_armor = new NodeVector; + n_armor->m_field_name = field_name; + n_armor->m_df_type = DF_Type::itemdef_armorst; + n_armor->m_rdf_type = RDF_Type::Vector; + n_armor->m_node_type = NodeType::Vector; + n_armor->m_defined_in = "df.item-raws.xml"; + n_armor->m_addornements = "v*"; + n_armor->m_address = base + offset; + n_armor->m_parent = p_node_parent; + n_armor->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_armor); + + field_name = "ammo"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_itemdefs, field_name)); + auto n_ammo = new NodeVector; + n_ammo->m_field_name = field_name; + n_ammo->m_df_type = DF_Type::itemdef_ammost; + n_ammo->m_rdf_type = RDF_Type::Vector; + n_ammo->m_node_type = NodeType::Vector; + n_ammo->m_defined_in = "df.item-raws.xml"; + n_ammo->m_addornements = "v*"; + n_ammo->m_address = base + offset; + n_ammo->m_parent = p_node_parent; + n_ammo->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_ammo); + + field_name = "siege_ammo"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_itemdefs, field_name)); + auto n_siege_ammo = new NodeVector; + n_siege_ammo->m_field_name = field_name; + n_siege_ammo->m_df_type = DF_Type::itemdef_siegeammost; + n_siege_ammo->m_rdf_type = RDF_Type::Vector; + n_siege_ammo->m_node_type = NodeType::Vector; + n_siege_ammo->m_defined_in = "df.item-raws.xml"; + n_siege_ammo->m_addornements = "v*"; + n_siege_ammo->m_address = base + offset; + n_siege_ammo->m_parent = p_node_parent; + n_siege_ammo->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_siege_ammo); + + field_name = "gloves"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_itemdefs, field_name)); + auto n_gloves = new NodeVector; + n_gloves->m_field_name = field_name; + n_gloves->m_df_type = DF_Type::itemdef_glovesst; + n_gloves->m_rdf_type = RDF_Type::Vector; + n_gloves->m_node_type = NodeType::Vector; + n_gloves->m_defined_in = "df.item-raws.xml"; + n_gloves->m_addornements = "v*"; + n_gloves->m_address = base + offset; + n_gloves->m_parent = p_node_parent; + n_gloves->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_gloves); + + field_name = "shoes"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_itemdefs, field_name)); + auto n_shoes = new NodeVector; + n_shoes->m_field_name = field_name; + n_shoes->m_df_type = DF_Type::itemdef_shoesst; + n_shoes->m_rdf_type = RDF_Type::Vector; + n_shoes->m_node_type = NodeType::Vector; + n_shoes->m_defined_in = "df.item-raws.xml"; + n_shoes->m_addornements = "v*"; + n_shoes->m_address = base + offset; + n_shoes->m_parent = p_node_parent; + n_shoes->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_shoes); + + field_name = "shields"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_itemdefs, field_name)); + auto n_shields = new NodeVector; + n_shields->m_field_name = field_name; + n_shields->m_df_type = DF_Type::itemdef_shieldst; + n_shields->m_rdf_type = RDF_Type::Vector; + n_shields->m_node_type = NodeType::Vector; + n_shields->m_defined_in = "df.item-raws.xml"; + n_shields->m_addornements = "v*"; + n_shields->m_address = base + offset; + n_shields->m_parent = p_node_parent; + n_shields->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_shields); + + field_name = "helms"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_itemdefs, field_name)); + auto n_helms = new NodeVector; + n_helms->m_field_name = field_name; + n_helms->m_df_type = DF_Type::itemdef_helmst; + n_helms->m_rdf_type = RDF_Type::Vector; + n_helms->m_node_type = NodeType::Vector; + n_helms->m_defined_in = "df.item-raws.xml"; + n_helms->m_addornements = "v*"; + n_helms->m_address = base + offset; + n_helms->m_parent = p_node_parent; + n_helms->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_helms); + + field_name = "pants"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_itemdefs, field_name)); + auto n_pants = new NodeVector; + n_pants->m_field_name = field_name; + n_pants->m_df_type = DF_Type::itemdef_pantsst; + n_pants->m_rdf_type = RDF_Type::Vector; + n_pants->m_node_type = NodeType::Vector; + n_pants->m_defined_in = "df.item-raws.xml"; + n_pants->m_addornements = "v*"; + n_pants->m_address = base + offset; + n_pants->m_parent = p_node_parent; + n_pants->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_pants); + + field_name = "food"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_itemdefs, field_name)); + auto n_food = new NodeVector; + n_food->m_field_name = field_name; + n_food->m_df_type = DF_Type::itemdef_foodst; + n_food->m_rdf_type = RDF_Type::Vector; + n_food->m_node_type = NodeType::Vector; + n_food->m_defined_in = "df.item-raws.xml"; + n_food->m_addornements = "v*"; + n_food->m_address = base + offset; + n_food->m_parent = p_node_parent; + n_food->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_food); + +} +void node_from_world_raws__T_language(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "words"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_language, field_name)); + auto n_words = new NodeVector; + n_words->m_field_name = field_name; + n_words->m_df_type = DF_Type::language_word; + n_words->m_rdf_type = RDF_Type::Vector; + n_words->m_node_type = NodeType::Vector; + n_words->m_defined_in = "df.language.xml"; + n_words->m_addornements = "v*"; + n_words->m_address = base + offset; + n_words->m_parent = p_node_parent; + n_words->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_words); + + field_name = "symbols"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_language, field_name)); + auto n_symbols = new NodeVector; + n_symbols->m_field_name = field_name; + n_symbols->m_df_type = DF_Type::language_symbol; + n_symbols->m_rdf_type = RDF_Type::Vector; + n_symbols->m_node_type = NodeType::Vector; + n_symbols->m_defined_in = "df.language.xml"; + n_symbols->m_addornements = "v*"; + n_symbols->m_address = base + offset; + n_symbols->m_parent = p_node_parent; + n_symbols->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_symbols); + + field_name = "translations"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_language, field_name)); + auto n_translations = new NodeVector; + n_translations->m_field_name = field_name; + n_translations->m_df_type = DF_Type::language_translation; + n_translations->m_rdf_type = RDF_Type::Vector; + n_translations->m_node_type = NodeType::Vector; + n_translations->m_defined_in = "df.language.xml"; + n_translations->m_addornements = "v*"; + n_translations->m_address = base + offset; + n_translations->m_parent = p_node_parent; + n_translations->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_translations); + + field_name = "word_table"; + auto n_word_table = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_language, field_name)); + n_word_table->m_field_name = field_name; + n_word_table->m_df_type = DF_Type::language_word_table; + n_word_table->m_rdf_type = RDF_Type::Array; + n_word_table->m_node_type = NodeType::Array; + n_word_table->m_defined_in = "df.language.xml"; + n_word_table->m_addornements = "[2[62"; + n_word_table->m_array_size = 2; + n_word_table->m_address = base + offset; + n_word_table->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_word_table); + +} +void node_from_world_raws__T_descriptors(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "colors"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_descriptors, field_name)); + auto n_colors = new NodeVector; + n_colors->m_field_name = field_name; + n_colors->m_df_type = DF_Type::descriptor_color; + n_colors->m_rdf_type = RDF_Type::Vector; + n_colors->m_node_type = NodeType::Vector; + n_colors->m_defined_in = "df.descriptors.xml"; + n_colors->m_addornements = "v*"; + n_colors->m_address = base + offset; + n_colors->m_parent = p_node_parent; + n_colors->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_colors); + + field_name = "shapes"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_descriptors, field_name)); + auto n_shapes = new NodeVector; + n_shapes->m_field_name = field_name; + n_shapes->m_df_type = DF_Type::descriptor_shape; + n_shapes->m_rdf_type = RDF_Type::Vector; + n_shapes->m_node_type = NodeType::Vector; + n_shapes->m_defined_in = "df.descriptors.xml"; + n_shapes->m_addornements = "v*"; + n_shapes->m_address = base + offset; + n_shapes->m_parent = p_node_parent; + n_shapes->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_shapes); + + field_name = "patterns"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_descriptors, field_name)); + auto n_patterns = new NodeVector; + n_patterns->m_field_name = field_name; + n_patterns->m_df_type = DF_Type::descriptor_pattern; + n_patterns->m_rdf_type = RDF_Type::Vector; + n_patterns->m_node_type = NodeType::Vector; + n_patterns->m_defined_in = "df.descriptors.xml"; + n_patterns->m_addornements = "v*"; + n_patterns->m_address = base + offset; + n_patterns->m_parent = p_node_parent; + n_patterns->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_patterns); + +} +void node_from_world_raws__T_reactions(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "reactions"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_reactions, field_name)); + auto n_reactions = new NodeVector; + n_reactions->m_field_name = field_name; + n_reactions->m_df_type = DF_Type::reaction; + n_reactions->m_rdf_type = RDF_Type::Vector; + n_reactions->m_node_type = NodeType::Vector; + n_reactions->m_defined_in = "df.reaction-raws.xml"; + n_reactions->m_addornements = "v*"; + n_reactions->m_address = base + offset; + n_reactions->m_parent = p_node_parent; + n_reactions->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_reactions); + + field_name = "reaction_categories"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_reactions, field_name)); + auto n_reaction_categories = new NodeVector; + n_reaction_categories->m_field_name = field_name; + n_reaction_categories->m_df_type = DF_Type::reaction_category; + n_reaction_categories->m_rdf_type = RDF_Type::Vector; + n_reaction_categories->m_node_type = NodeType::Vector; + n_reaction_categories->m_defined_in = "df.reaction-raws.xml"; + n_reaction_categories->m_addornements = "v*"; + n_reaction_categories->m_address = base + offset; + n_reaction_categories->m_parent = p_node_parent; + n_reaction_categories->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_reaction_categories); + +} +void node_from_world_raws__T_buildings(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "all"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_buildings, field_name)); + auto n_all = new NodeVector; + n_all->m_field_name = field_name; + n_all->m_df_type = DF_Type::building_def; + n_all->m_rdf_type = RDF_Type::Vector; + n_all->m_node_type = NodeType::Vector; + n_all->m_defined_in = "df.building-raws.xml"; + n_all->m_addornements = "v*"; + n_all->m_address = base + offset; + n_all->m_parent = p_node_parent; + n_all->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_all); + + field_name = "workshops"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_buildings, field_name)); + auto n_workshops = new NodeVector; + n_workshops->m_field_name = field_name; + n_workshops->m_df_type = DF_Type::building_def_workshopst; + n_workshops->m_rdf_type = RDF_Type::Vector; + n_workshops->m_node_type = NodeType::Vector; + n_workshops->m_defined_in = "df.building-raws.xml"; + n_workshops->m_addornements = "v*"; + n_workshops->m_address = base + offset; + n_workshops->m_parent = p_node_parent; + n_workshops->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_workshops); + + field_name = "furnaces"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_buildings, field_name)); + auto n_furnaces = new NodeVector; + n_furnaces->m_field_name = field_name; + n_furnaces->m_df_type = DF_Type::building_def_furnacest; + n_furnaces->m_rdf_type = RDF_Type::Vector; + n_furnaces->m_node_type = NodeType::Vector; + n_furnaces->m_defined_in = "df.building-raws.xml"; + n_furnaces->m_addornements = "v*"; + n_furnaces->m_address = base + offset; + n_furnaces->m_parent = p_node_parent; + n_furnaces->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_furnaces); + + field_name = "next_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_buildings, field_name)); + auto n_next_id = new NodeSimple; + n_next_id->m_field_name = field_name; + n_next_id->m_df_type = DF_Type::int32_t; + n_next_id->m_rdf_type = RDF_Type::int32_t; + n_next_id->m_node_type = NodeType::Simple; + n_next_id->m_address = base + offset; + n_next_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_next_id); + +} +void node_from_world_raws__T_syndromes(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_types"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_syndromes, field_name)); + auto n_mat_types = new NodeVector; + n_mat_types->m_field_name = field_name; + n_mat_types->m_df_type = DF_Type::int16_t; + n_mat_types->m_rdf_type = RDF_Type::Vector; + n_mat_types->m_node_type = NodeType::Vector; + n_mat_types->m_addornements = "v"; + n_mat_types->m_address = base + offset; + n_mat_types->m_refers_to = "$$._parent.all[$]"; + n_mat_types->m_parent = p_node_parent; + n_mat_types->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_mat_types); + + field_name = "mat_indexes"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_syndromes, field_name)); + auto n_mat_indexes = new NodeVector; + n_mat_indexes->m_field_name = field_name; + n_mat_indexes->m_df_type = DF_Type::int32_t; + n_mat_indexes->m_rdf_type = RDF_Type::Vector; + n_mat_indexes->m_node_type = NodeType::Vector; + n_mat_indexes->m_addornements = "v"; + n_mat_indexes->m_address = base + offset; + n_mat_indexes->m_parent = p_node_parent; + n_mat_indexes->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_mat_indexes); + + field_name = "interactions"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_syndromes, field_name)); + auto n_interactions = new NodeVector; + n_interactions->m_field_name = field_name; + n_interactions->m_df_type = DF_Type::int32_t; + n_interactions->m_rdf_type = RDF_Type::Vector; + n_interactions->m_node_type = NodeType::Vector; + n_interactions->m_addornements = "v"; + n_interactions->m_address = base + offset; + n_interactions->m_parent = p_node_parent; + n_interactions->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_interactions); + + field_name = "all"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_syndromes, field_name)); + auto n_all = new NodeVector; + n_all->m_field_name = field_name; + n_all->m_df_type = DF_Type::syndrome; + n_all->m_rdf_type = RDF_Type::Vector; + n_all->m_node_type = NodeType::Vector; + n_all->m_defined_in = "df.syndrome.xml"; + n_all->m_addornements = "v*"; + n_all->m_address = base + offset; + n_all->m_parent = p_node_parent; + n_all->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_all); + +} +void node_from_world_raws__T_effects(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_types"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_effects, field_name)); + auto n_mat_types = new NodeVector; + n_mat_types->m_field_name = field_name; + n_mat_types->m_df_type = DF_Type::int16_t; + n_mat_types->m_rdf_type = RDF_Type::Vector; + n_mat_types->m_node_type = NodeType::Vector; + n_mat_types->m_addornements = "v"; + n_mat_types->m_address = base + offset; + n_mat_types->m_refers_to = "$$._parent.all[$]"; + n_mat_types->m_parent = p_node_parent; + n_mat_types->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_mat_types); + + field_name = "mat_indexes"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_effects, field_name)); + auto n_mat_indexes = new NodeVector; + n_mat_indexes->m_field_name = field_name; + n_mat_indexes->m_df_type = DF_Type::int32_t; + n_mat_indexes->m_rdf_type = RDF_Type::Vector; + n_mat_indexes->m_node_type = NodeType::Vector; + n_mat_indexes->m_addornements = "v"; + n_mat_indexes->m_address = base + offset; + n_mat_indexes->m_parent = p_node_parent; + n_mat_indexes->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_mat_indexes); + + field_name = "interactions"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_effects, field_name)); + auto n_interactions = new NodeVector; + n_interactions->m_field_name = field_name; + n_interactions->m_df_type = DF_Type::int32_t; + n_interactions->m_rdf_type = RDF_Type::Vector; + n_interactions->m_node_type = NodeType::Vector; + n_interactions->m_addornements = "v"; + n_interactions->m_address = base + offset; + n_interactions->m_parent = p_node_parent; + n_interactions->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_interactions); + + field_name = "all"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws__T_effects, field_name)); + auto n_all = new NodeVector; + n_all->m_field_name = field_name; + n_all->m_df_type = DF_Type::creature_interaction_effect; + n_all->m_rdf_type = RDF_Type::Vector; + n_all->m_node_type = NodeType::Vector; + n_all->m_defined_in = "df.syndrome.xml"; + n_all->m_addornements = "v*"; + n_all->m_address = base + offset; + n_all->m_parent = p_node_parent; + n_all->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_all); + +} +void node_from_world_raws(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "material_templates"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws, field_name)); + auto n_material_templates = new NodeVector; + n_material_templates->m_field_name = field_name; + n_material_templates->m_df_type = DF_Type::material_template; + n_material_templates->m_rdf_type = RDF_Type::Vector; + n_material_templates->m_node_type = NodeType::Vector; + n_material_templates->m_defined_in = "df.materials.xml"; + n_material_templates->m_addornements = "v*"; + n_material_templates->m_address = base + offset; + n_material_templates->m_parent = p_node_parent; + n_material_templates->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_material_templates); + + field_name = "inorganics"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws, field_name)); + auto n_inorganics = new NodeVector; + n_inorganics->m_field_name = field_name; + n_inorganics->m_df_type = DF_Type::inorganic_raw; + n_inorganics->m_rdf_type = RDF_Type::Vector; + n_inorganics->m_node_type = NodeType::Vector; + n_inorganics->m_defined_in = "df.materials.xml"; + n_inorganics->m_addornements = "v*"; + n_inorganics->m_address = base + offset; + n_inorganics->m_parent = p_node_parent; + n_inorganics->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_inorganics); + + field_name = "inorganics_subset"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws, field_name)); + auto n_inorganics_subset = new NodeVector; + n_inorganics_subset->m_field_name = field_name; + n_inorganics_subset->m_df_type = DF_Type::inorganic_raw; + n_inorganics_subset->m_rdf_type = RDF_Type::Vector; + n_inorganics_subset->m_node_type = NodeType::Vector; + n_inorganics_subset->m_defined_in = "df.materials.xml"; + n_inorganics_subset->m_addornements = "v*"; + n_inorganics_subset->m_address = base + offset; + n_inorganics_subset->m_comment = "all inorganics with value less than 4"; + n_inorganics_subset->m_parent = p_node_parent; + n_inorganics_subset->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_inorganics_subset); + + field_name = "plants"; + auto n_plants = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws, field_name)); + n_plants->m_field_name = field_name; + n_plants->m_df_type = DF_Type::world_raws__T_plants; + n_plants->m_rdf_type = RDF_Type::Compound; + n_plants->m_node_type = NodeType::Compound; + n_plants->m_address = base + offset; + n_plants->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_plants); + + field_name = "tissue_templates"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws, field_name)); + auto n_tissue_templates = new NodeVector; + n_tissue_templates->m_field_name = field_name; + n_tissue_templates->m_df_type = DF_Type::tissue_template; + n_tissue_templates->m_rdf_type = RDF_Type::Vector; + n_tissue_templates->m_node_type = NodeType::Vector; + n_tissue_templates->m_defined_in = "df.creature-raws.xml"; + n_tissue_templates->m_addornements = "v*"; + n_tissue_templates->m_address = base + offset; + n_tissue_templates->m_parent = p_node_parent; + n_tissue_templates->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_tissue_templates); + + field_name = "body_detail_plans"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws, field_name)); + auto n_body_detail_plans = new NodeVector; + n_body_detail_plans->m_field_name = field_name; + n_body_detail_plans->m_df_type = DF_Type::body_detail_plan; + n_body_detail_plans->m_rdf_type = RDF_Type::Vector; + n_body_detail_plans->m_node_type = NodeType::Vector; + n_body_detail_plans->m_defined_in = "df.creature-raws.xml"; + n_body_detail_plans->m_addornements = "v*"; + n_body_detail_plans->m_address = base + offset; + n_body_detail_plans->m_parent = p_node_parent; + n_body_detail_plans->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_body_detail_plans); + + field_name = "body_templates"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws, field_name)); + auto n_body_templates = new NodeVector; + n_body_templates->m_field_name = field_name; + n_body_templates->m_df_type = DF_Type::body_template; + n_body_templates->m_rdf_type = RDF_Type::Vector; + n_body_templates->m_node_type = NodeType::Vector; + n_body_templates->m_defined_in = "df.creature-raws.xml"; + n_body_templates->m_addornements = "v*"; + n_body_templates->m_address = base + offset; + n_body_templates->m_parent = p_node_parent; + n_body_templates->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_body_templates); + + field_name = "bodyglosses"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws, field_name)); + auto n_bodyglosses = new NodeVector; + n_bodyglosses->m_field_name = field_name; + n_bodyglosses->m_df_type = DF_Type::world_raws__T_bodyglosses; + n_bodyglosses->m_rdf_type = RDF_Type::Vector; + n_bodyglosses->m_node_type = NodeType::Vector; + n_bodyglosses->m_addornements = "v*"; + n_bodyglosses->m_address = base + offset; + n_bodyglosses->m_parent = p_node_parent; + n_bodyglosses->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bodyglosses); + + field_name = "creature_variations"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws, field_name)); + auto n_creature_variations = new NodeVector; + n_creature_variations->m_field_name = field_name; + n_creature_variations->m_df_type = DF_Type::creature_variation; + n_creature_variations->m_rdf_type = RDF_Type::Vector; + n_creature_variations->m_node_type = NodeType::Vector; + n_creature_variations->m_defined_in = "df.creature-raws.xml"; + n_creature_variations->m_addornements = "v*"; + n_creature_variations->m_address = base + offset; + n_creature_variations->m_parent = p_node_parent; + n_creature_variations->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_creature_variations); + + field_name = "creatures"; + auto n_creatures = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws, field_name)); + n_creatures->m_field_name = field_name; + n_creatures->m_df_type = DF_Type::creature_handler; + n_creatures->m_rdf_type = RDF_Type::Class; + n_creatures->m_node_type = NodeType::Compound; + n_creatures->m_address = base + offset; + n_creatures->m_defined_in = "df.raws.xml"; + n_creatures->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_creatures); + + field_name = "itemdefs"; + auto n_itemdefs = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws, field_name)); + n_itemdefs->m_field_name = field_name; + n_itemdefs->m_df_type = DF_Type::world_raws__T_itemdefs; + n_itemdefs->m_rdf_type = RDF_Type::Compound; + n_itemdefs->m_node_type = NodeType::Compound; + n_itemdefs->m_address = base + offset; + n_itemdefs->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_itemdefs); + + field_name = "entities"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws, field_name)); + auto n_entities = new NodeVector; + n_entities->m_field_name = field_name; + n_entities->m_df_type = DF_Type::entity_raw; + n_entities->m_rdf_type = RDF_Type::Vector; + n_entities->m_node_type = NodeType::Vector; + n_entities->m_defined_in = "df.entity-raws.xml"; + n_entities->m_addornements = "v*"; + n_entities->m_address = base + offset; + n_entities->m_parent = p_node_parent; + n_entities->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_entities); + + field_name = "language"; + auto n_language = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws, field_name)); + n_language->m_field_name = field_name; + n_language->m_df_type = DF_Type::world_raws__T_language; + n_language->m_rdf_type = RDF_Type::Compound; + n_language->m_node_type = NodeType::Compound; + n_language->m_address = base + offset; + n_language->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_language); + + field_name = "descriptors"; + auto n_descriptors = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws, field_name)); + n_descriptors->m_field_name = field_name; + n_descriptors->m_df_type = DF_Type::world_raws__T_descriptors; + n_descriptors->m_rdf_type = RDF_Type::Compound; + n_descriptors->m_node_type = NodeType::Compound; + n_descriptors->m_address = base + offset; + n_descriptors->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_descriptors); + + field_name = "reactions"; + auto n_reactions = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws, field_name)); + n_reactions->m_field_name = field_name; + n_reactions->m_df_type = DF_Type::world_raws__T_reactions; + n_reactions->m_rdf_type = RDF_Type::Compound; + n_reactions->m_node_type = NodeType::Compound; + n_reactions->m_address = base + offset; + n_reactions->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_reactions); + + field_name = "buildings"; + auto n_buildings = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws, field_name)); + n_buildings->m_field_name = field_name; + n_buildings->m_df_type = DF_Type::world_raws__T_buildings; + n_buildings->m_rdf_type = RDF_Type::Compound; + n_buildings->m_node_type = NodeType::Compound; + n_buildings->m_address = base + offset; + n_buildings->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_buildings); + + field_name = "interactions"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws, field_name)); + auto n_interactions = new NodeVector; + n_interactions->m_field_name = field_name; + n_interactions->m_df_type = DF_Type::interaction; + n_interactions->m_rdf_type = RDF_Type::Vector; + n_interactions->m_node_type = NodeType::Vector; + n_interactions->m_defined_in = "df.interaction.xml"; + n_interactions->m_addornements = "v*"; + n_interactions->m_address = base + offset; + n_interactions->m_parent = p_node_parent; + n_interactions->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_interactions); + + field_name = "mat_table"; + auto n_mat_table = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws, field_name)); + n_mat_table->m_field_name = field_name; + n_mat_table->m_df_type = DF_Type::special_mat_table; + n_mat_table->m_rdf_type = RDF_Type::Struct; + n_mat_table->m_node_type = NodeType::Compound; + n_mat_table->m_address = base + offset; + n_mat_table->m_defined_in = "df.materials.xml"; + n_mat_table->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_table); + + field_name = "syndromes"; + auto n_syndromes = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws, field_name)); + n_syndromes->m_field_name = field_name; + n_syndromes->m_df_type = DF_Type::world_raws__T_syndromes; + n_syndromes->m_rdf_type = RDF_Type::Compound; + n_syndromes->m_node_type = NodeType::Compound; + n_syndromes->m_address = base + offset; + n_syndromes->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_syndromes); + + field_name = "effects"; + auto n_effects = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws, field_name)); + n_effects->m_field_name = field_name; + n_effects->m_df_type = DF_Type::world_raws__T_effects; + n_effects->m_rdf_type = RDF_Type::Compound; + n_effects->m_node_type = NodeType::Compound; + n_effects->m_address = base + offset; + n_effects->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_effects); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_raws, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + +} +void node_from_reaction__T_building(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "str"; + auto n_str = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction__T_building, field_name)); + n_str->m_field_name = field_name; + n_str->m_df_type = DF_Type::Stl_string; + n_str->m_rdf_type = RDF_Type::Array; + n_str->m_node_type = NodeType::Array; + n_str->m_addornements = "[2v*"; + n_str->m_array_size = 2; + n_str->m_address = base + offset; + n_str->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_str); + + field_name = "type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction__T_building, field_name)); + auto n_type = new NodeVector; + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::building_type; + n_type->m_rdf_type = RDF_Type::Vector; + n_type->m_node_type = NodeType::Vector; + n_type->m_enum_base = DF_Type::int32_t; + n_type->m_defined_in = "df.buildings.xml"; + n_type->m_addornements = "v"; + n_type->m_address = base + offset; + n_type->m_parent = p_node_parent; + n_type->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_type); + + field_name = "subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction__T_building, field_name)); + auto n_subtype = new NodeVector; + n_subtype->m_field_name = field_name; + n_subtype->m_df_type = DF_Type::int32_t; + n_subtype->m_rdf_type = RDF_Type::Vector; + n_subtype->m_node_type = NodeType::Vector; + n_subtype->m_addornements = "v"; + n_subtype->m_address = base + offset; + n_subtype->m_parent = p_node_parent; + n_subtype->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_subtype); + + field_name = "custom"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction__T_building, field_name)); + auto n_custom = new NodeVector; + n_custom->m_field_name = field_name; + n_custom->m_df_type = DF_Type::int32_t; + n_custom->m_rdf_type = RDF_Type::Vector; + n_custom->m_node_type = NodeType::Vector; + n_custom->m_addornements = "v"; + n_custom->m_address = base + offset; + n_custom->m_parent = p_node_parent; + n_custom->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_custom); + + field_name = "hotkey"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction__T_building, field_name)); + auto n_hotkey = new NodeVector; + n_hotkey->m_field_name = field_name; + n_hotkey->m_df_type = DF_Type::int32_t; + n_hotkey->m_rdf_type = RDF_Type::Vector; + n_hotkey->m_node_type = NodeType::Vector; + n_hotkey->m_addornements = "v"; + n_hotkey->m_address = base + offset; + n_hotkey->m_parent = p_node_parent; + n_hotkey->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_hotkey); + +} +void node_from_reaction(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "code"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction, field_name)); + auto n_code = new NodeSimple; + n_code->m_field_name = field_name; + n_code->m_df_type = DF_Type::Stl_string; + n_code->m_rdf_type = RDF_Type::Stl_string; + n_code->m_node_type = NodeType::Simple; + n_code->m_address = base + offset; + n_code->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_code); + + field_name = "name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction, field_name)); + auto n_name = new NodeSimple; + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Stl_string; + n_name->m_node_type = NodeType::Simple; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction, field_name)); + auto n_flags = new NodeDFFlagArray; + n_flags->m_field_name = field_name; + n_flags->m_index_enum = DF_Type::reaction_flags; + n_flags->m_df_type = DF_Type::reaction_flags; + n_flags->m_size = 3; + n_flags->m_rdf_type = RDF_Type::DFFlagArray; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_defined_in = "df.reaction-raws.xml"; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "reagents"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction, field_name)); + auto n_reagents = new NodeVector; + n_reagents->m_field_name = field_name; + n_reagents->m_df_type = DF_Type::reaction_reagent; + n_reagents->m_rdf_type = RDF_Type::Vector; + n_reagents->m_node_type = NodeType::Vector; + n_reagents->m_defined_in = "df.reaction-raws.xml"; + n_reagents->m_addornements = "v*"; + n_reagents->m_address = base + offset; + n_reagents->m_parent = p_node_parent; + n_reagents->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_reagents); + + field_name = "products"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction, field_name)); + auto n_products = new NodeVector; + n_products->m_field_name = field_name; + n_products->m_df_type = DF_Type::reaction_product; + n_products->m_rdf_type = RDF_Type::Vector; + n_products->m_node_type = NodeType::Vector; + n_products->m_defined_in = "df.reaction-raws.xml"; + n_products->m_addornements = "v*"; + n_products->m_address = base + offset; + n_products->m_parent = p_node_parent; + n_products->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_products); + + field_name = "skill"; + auto n_skill = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction, field_name)); + n_skill->m_field_name = field_name; + n_skill->m_df_type = DF_Type::job_skill; + n_skill->m_rdf_type = RDF_Type::Enum; + n_skill->m_node_type = NodeType::Enum; + n_skill->m_base_type = DF_Type::int16_t; + n_skill->m_enum_type = "job_skill"; + n_skill->m_address = base + offset; + n_skill->m_defined_in = "df.skills.xml"; + n_skill->m_first_value = -1; + n_skill->m_last_value = 134; + n_skill->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_skill); + + field_name = "max_multiplier"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction, field_name)); + auto n_max_multiplier = new NodeSimple; + n_max_multiplier->m_field_name = field_name; + n_max_multiplier->m_df_type = DF_Type::int32_t; + n_max_multiplier->m_rdf_type = RDF_Type::int32_t; + n_max_multiplier->m_node_type = NodeType::Simple; + n_max_multiplier->m_address = base + offset; + n_max_multiplier->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_max_multiplier); + + field_name = "building"; + auto n_building = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction, field_name)); + n_building->m_field_name = field_name; + n_building->m_df_type = DF_Type::reaction__T_building; + n_building->m_rdf_type = RDF_Type::Compound; + n_building->m_node_type = NodeType::Compound; + n_building->m_address = base + offset; + n_building->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_building); + + field_name = "index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction, field_name)); + auto n_index = new NodeSimple; + n_index->m_field_name = field_name; + n_index->m_df_type = DF_Type::int32_t; + n_index->m_rdf_type = RDF_Type::int32_t; + n_index->m_node_type = NodeType::Simple; + n_index->m_address = base + offset; + n_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_index); + + field_name = "source_hfid"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction, field_name)); + auto n_source_hfid = new NodeSimple; + n_source_hfid->m_field_name = field_name; + n_source_hfid->m_df_type = DF_Type::int32_t; + n_source_hfid->m_rdf_type = RDF_Type::int32_t; + n_source_hfid->m_node_type = NodeType::Simple; + n_source_hfid->m_address = base + offset; + n_source_hfid->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_source_hfid); + + field_name = "source_enid"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction, field_name)); + auto n_source_enid = new NodeSimple; + n_source_enid->m_field_name = field_name; + n_source_enid->m_df_type = DF_Type::int32_t; + n_source_enid->m_rdf_type = RDF_Type::int32_t; + n_source_enid->m_node_type = NodeType::Simple; + n_source_enid->m_address = base + offset; + n_source_enid->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_source_enid); + + field_name = "raw_strings"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction, field_name)); + auto n_raw_strings = new NodeVector; + n_raw_strings->m_field_name = field_name; + n_raw_strings->m_df_type = DF_Type::Stl_string; + n_raw_strings->m_rdf_type = RDF_Type::Vector; + n_raw_strings->m_node_type = NodeType::Vector; + n_raw_strings->m_addornements = "v*"; + n_raw_strings->m_address = base + offset; + n_raw_strings->m_parent = p_node_parent; + n_raw_strings->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_raw_strings); + + field_name = "category"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction, field_name)); + auto n_category = new NodeSimple; + n_category->m_field_name = field_name; + n_category->m_df_type = DF_Type::Stl_string; + n_category->m_rdf_type = RDF_Type::Stl_string; + n_category->m_node_type = NodeType::Simple; + n_category->m_address = base + offset; + n_category->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_category); + + field_name = "descriptions"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction, field_name)); + auto n_descriptions = new NodeVector; + n_descriptions->m_field_name = field_name; + n_descriptions->m_df_type = DF_Type::reaction_description; + n_descriptions->m_rdf_type = RDF_Type::Vector; + n_descriptions->m_node_type = NodeType::Vector; + n_descriptions->m_defined_in = "df.reaction-raws.xml"; + n_descriptions->m_addornements = "v*"; + n_descriptions->m_address = base + offset; + n_descriptions->m_parent = p_node_parent; + n_descriptions->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_descriptions); + +} +void node_from_reaction_description(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_description, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::Stl_string; + n_anon_1->m_rdf_type = RDF_Type::Stl_string; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "item_type"; + auto n_item_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_description, field_name)); + n_item_type->m_field_name = field_name; + n_item_type->m_df_type = DF_Type::item_type; + n_item_type->m_rdf_type = RDF_Type::Enum; + n_item_type->m_node_type = NodeType::Enum; + n_item_type->m_base_type = enum_base_type(n_item_type->m_df_type); + n_item_type->m_enum_type = "item_type"; + n_item_type->m_address = base + offset; + n_item_type->m_defined_in = "df.item-raws.xml"; + n_item_type->m_first_value = -1; + n_item_type->m_last_value = 90; + n_item_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_type); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_description, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::Stl_string; + n_anon_2->m_rdf_type = RDF_Type::Stl_string; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + +} +void node_from_reaction_reagent(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "code"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_reagent, field_name)); + auto n_code = new NodeSimple; + n_code->m_field_name = field_name; + n_code->m_df_type = DF_Type::Stl_string; + n_code->m_rdf_type = RDF_Type::Stl_string; + n_code->m_node_type = NodeType::Simple; + n_code->m_address = base + offset; + n_code->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_code); + + field_name = "quantity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_reagent, field_name)); + auto n_quantity = new NodeSimple; + n_quantity->m_field_name = field_name; + n_quantity->m_df_type = DF_Type::int32_t; + n_quantity->m_rdf_type = RDF_Type::int32_t; + n_quantity->m_node_type = NodeType::Simple; + n_quantity->m_address = base + offset; + n_quantity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_quantity); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_reagent, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::reaction_reagent_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_defined_in = "df.reaction-raws.xml"; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + +} +void node_from_reaction_reagent_itemst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::reaction_reagent; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_reaction_reagent(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "item_type"; + auto n_item_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_reagent_itemst, field_name)); + n_item_type->m_field_name = field_name; + n_item_type->m_df_type = DF_Type::item_type; + n_item_type->m_rdf_type = RDF_Type::Enum; + n_item_type->m_node_type = NodeType::Enum; + n_item_type->m_base_type = DF_Type::int16_t; + n_item_type->m_enum_type = "item_type"; + n_item_type->m_address = base + offset; + n_item_type->m_defined_in = "df.item-raws.xml"; + n_item_type->m_first_value = -1; + n_item_type->m_last_value = 90; + n_item_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_type); + + field_name = "item_subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_reagent_itemst, field_name)); + auto n_item_subtype = new NodeSimple; + n_item_subtype->m_field_name = field_name; + n_item_subtype->m_df_type = DF_Type::int16_t; + n_item_subtype->m_rdf_type = RDF_Type::int16_t; + n_item_subtype->m_node_type = NodeType::Simple; + n_item_subtype->m_address = base + offset; + n_item_subtype->m_refers_to = "(item-subtype-target $$._parent.item_type $)"; + n_item_subtype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_subtype); + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_reagent_itemst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_reagent_itemst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int16_t; + n_mat_index->m_rdf_type = RDF_Type::int16_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "reaction_class"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_reagent_itemst, field_name)); + auto n_reaction_class = new NodeSimple; + n_reaction_class->m_field_name = field_name; + n_reaction_class->m_df_type = DF_Type::Stl_string; + n_reaction_class->m_rdf_type = RDF_Type::Stl_string; + n_reaction_class->m_node_type = NodeType::Simple; + n_reaction_class->m_address = base + offset; + n_reaction_class->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_reaction_class); + + field_name = "has_material_reaction_product"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_reagent_itemst, field_name)); + auto n_has_material_reaction_product = new NodeSimple; + n_has_material_reaction_product->m_field_name = field_name; + n_has_material_reaction_product->m_df_type = DF_Type::Stl_string; + n_has_material_reaction_product->m_rdf_type = RDF_Type::Stl_string; + n_has_material_reaction_product->m_node_type = NodeType::Simple; + n_has_material_reaction_product->m_address = base + offset; + n_has_material_reaction_product->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_has_material_reaction_product); + + field_name = "flags1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_reagent_itemst, field_name)); + auto n_flags1 = new NodeBitfield; + n_flags1->m_field_name = field_name; + n_flags1->m_df_type = DF_Type::job_item_flags1; + n_flags1->m_rdf_type = RDF_Type::Bitfield; + n_flags1->m_node_type = NodeType::Bitfield; + n_flags1->m_address = base + offset; + n_flags1->m_defined_in = "df.jobs.xml"; + n_flags1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags1); + + field_name = "flags2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_reagent_itemst, field_name)); + auto n_flags2 = new NodeBitfield; + n_flags2->m_field_name = field_name; + n_flags2->m_df_type = DF_Type::job_item_flags2; + n_flags2->m_rdf_type = RDF_Type::Bitfield; + n_flags2->m_node_type = NodeType::Bitfield; + n_flags2->m_address = base + offset; + n_flags2->m_defined_in = "df.jobs.xml"; + n_flags2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags2); + + field_name = "flags3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_reagent_itemst, field_name)); + auto n_flags3 = new NodeBitfield; + n_flags3->m_field_name = field_name; + n_flags3->m_df_type = DF_Type::job_item_flags3; + n_flags3->m_rdf_type = RDF_Type::Bitfield; + n_flags3->m_node_type = NodeType::Bitfield; + n_flags3->m_address = base + offset; + n_flags3->m_defined_in = "df.jobs.xml"; + n_flags3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags3); + + field_name = "flags4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_reagent_itemst, field_name)); + auto n_flags4 = new NodeSimple; + n_flags4->m_field_name = field_name; + n_flags4->m_df_type = DF_Type::uint32_t; + n_flags4->m_rdf_type = RDF_Type::uint32_t; + n_flags4->m_node_type = NodeType::Simple; + n_flags4->m_address = base + offset; + n_flags4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags4); + + field_name = "flags5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_reagent_itemst, field_name)); + auto n_flags5 = new NodeSimple; + n_flags5->m_field_name = field_name; + n_flags5->m_df_type = DF_Type::uint32_t; + n_flags5->m_rdf_type = RDF_Type::uint32_t; + n_flags5->m_node_type = NodeType::Simple; + n_flags5->m_address = base + offset; + n_flags5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags5); + + field_name = "metal_ore"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_reagent_itemst, field_name)); + auto n_metal_ore = new NodeSimple; + n_metal_ore->m_field_name = field_name; + n_metal_ore->m_df_type = DF_Type::int32_t; + n_metal_ore->m_rdf_type = RDF_Type::int32_t; + n_metal_ore->m_node_type = NodeType::Simple; + n_metal_ore->m_address = base + offset; + n_metal_ore->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_metal_ore); + + field_name = "min_dimension"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_reagent_itemst, field_name)); + auto n_min_dimension = new NodeSimple; + n_min_dimension->m_field_name = field_name; + n_min_dimension->m_df_type = DF_Type::int32_t; + n_min_dimension->m_rdf_type = RDF_Type::int32_t; + n_min_dimension->m_node_type = NodeType::Simple; + n_min_dimension->m_address = base + offset; + n_min_dimension->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_min_dimension); + + field_name = "contains"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_reagent_itemst, field_name)); + auto n_contains = new NodeVector; + n_contains->m_field_name = field_name; + n_contains->m_df_type = DF_Type::int32_t; + n_contains->m_rdf_type = RDF_Type::Vector; + n_contains->m_node_type = NodeType::Vector; + n_contains->m_addornements = "v"; + n_contains->m_address = base + offset; + n_contains->m_parent = p_node_parent; + n_contains->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_contains); + + field_name = "has_tool_use"; + auto n_has_tool_use = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_reagent_itemst, field_name)); + n_has_tool_use->m_field_name = field_name; + n_has_tool_use->m_df_type = DF_Type::tool_uses; + n_has_tool_use->m_rdf_type = RDF_Type::Enum; + n_has_tool_use->m_node_type = NodeType::Enum; + n_has_tool_use->m_base_type = DF_Type::int16_t; + n_has_tool_use->m_enum_type = "tool_uses"; + n_has_tool_use->m_address = base + offset; + n_has_tool_use->m_defined_in = "df.item-raws.xml"; + n_has_tool_use->m_first_value = -1; + n_has_tool_use->m_last_value = 22; + n_has_tool_use->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_has_tool_use); + + field_name = "item_str"; + auto n_item_str = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_reagent_itemst, field_name)); + n_item_str->m_field_name = field_name; + n_item_str->m_df_type = DF_Type::Stl_string; + n_item_str->m_rdf_type = RDF_Type::Array; + n_item_str->m_node_type = NodeType::Array; + n_item_str->m_addornements = "[2"; + n_item_str->m_array_size = 2; + n_item_str->m_address = base + offset; + n_item_str->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_str); + + field_name = "material_str"; + auto n_material_str = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_reagent_itemst, field_name)); + n_material_str->m_field_name = field_name; + n_material_str->m_df_type = DF_Type::Stl_string; + n_material_str->m_rdf_type = RDF_Type::Array; + n_material_str->m_node_type = NodeType::Array; + n_material_str->m_addornements = "[3"; + n_material_str->m_array_size = 3; + n_material_str->m_address = base + offset; + n_material_str->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_material_str); + + field_name = "metal_ore_str"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_reagent_itemst, field_name)); + auto n_metal_ore_str = new NodeSimple; + n_metal_ore_str->m_field_name = field_name; + n_metal_ore_str->m_df_type = DF_Type::Stl_string; + n_metal_ore_str->m_rdf_type = RDF_Type::Stl_string; + n_metal_ore_str->m_node_type = NodeType::Simple; + n_metal_ore_str->m_address = base + offset; + n_metal_ore_str->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_metal_ore_str); + + field_name = "contains_str"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_reagent_itemst, field_name)); + auto n_contains_str = new NodeVector; + n_contains_str->m_field_name = field_name; + n_contains_str->m_df_type = DF_Type::Stl_string; + n_contains_str->m_rdf_type = RDF_Type::Vector; + n_contains_str->m_node_type = NodeType::Vector; + n_contains_str->m_addornements = "v*"; + n_contains_str->m_address = base + offset; + n_contains_str->m_parent = p_node_parent; + n_contains_str->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_contains_str); + +} +void node_from_reaction_product_itemst__T_get_material(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "reagent_code"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_product_itemst__T_get_material, field_name)); + auto n_reagent_code = new NodeSimple; + n_reagent_code->m_field_name = field_name; + n_reagent_code->m_df_type = DF_Type::Stl_string; + n_reagent_code->m_rdf_type = RDF_Type::Stl_string; + n_reagent_code->m_node_type = NodeType::Simple; + n_reagent_code->m_address = base + offset; + n_reagent_code->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_reagent_code); + + field_name = "product_code"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_product_itemst__T_get_material, field_name)); + auto n_product_code = new NodeSimple; + n_product_code->m_field_name = field_name; + n_product_code->m_df_type = DF_Type::Stl_string; + n_product_code->m_rdf_type = RDF_Type::Stl_string; + n_product_code->m_node_type = NodeType::Simple; + n_product_code->m_address = base + offset; + n_product_code->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_product_code); + +} +void node_from_reaction_product_itemst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::reaction_product; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_reaction_product(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "item_type"; + auto n_item_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_product_itemst, field_name)); + n_item_type->m_field_name = field_name; + n_item_type->m_df_type = DF_Type::item_type; + n_item_type->m_rdf_type = RDF_Type::Enum; + n_item_type->m_node_type = NodeType::Enum; + n_item_type->m_base_type = DF_Type::int16_t; + n_item_type->m_enum_type = "item_type"; + n_item_type->m_address = base + offset; + n_item_type->m_defined_in = "df.item-raws.xml"; + n_item_type->m_first_value = -1; + n_item_type->m_last_value = 90; + n_item_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_type); + + field_name = "item_subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_product_itemst, field_name)); + auto n_item_subtype = new NodeSimple; + n_item_subtype->m_field_name = field_name; + n_item_subtype->m_df_type = DF_Type::int16_t; + n_item_subtype->m_rdf_type = RDF_Type::int16_t; + n_item_subtype->m_node_type = NodeType::Simple; + n_item_subtype->m_address = base + offset; + n_item_subtype->m_refers_to = "(item-subtype-target $$._parent.item_type $)"; + n_item_subtype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_subtype); + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_product_itemst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_product_itemst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "probability"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_product_itemst, field_name)); + auto n_probability = new NodeSimple; + n_probability->m_field_name = field_name; + n_probability->m_df_type = DF_Type::int16_t; + n_probability->m_rdf_type = RDF_Type::int16_t; + n_probability->m_node_type = NodeType::Simple; + n_probability->m_address = base + offset; + n_probability->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_probability); + + field_name = "count"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_product_itemst, field_name)); + auto n_count = new NodeSimple; + n_count->m_field_name = field_name; + n_count->m_df_type = DF_Type::int16_t; + n_count->m_rdf_type = RDF_Type::int16_t; + n_count->m_node_type = NodeType::Simple; + n_count->m_address = base + offset; + n_count->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_count); + + field_name = "product_dimension"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_product_itemst, field_name)); + auto n_product_dimension = new NodeSimple; + n_product_dimension->m_field_name = field_name; + n_product_dimension->m_df_type = DF_Type::int32_t; + n_product_dimension->m_rdf_type = RDF_Type::int32_t; + n_product_dimension->m_node_type = NodeType::Simple; + n_product_dimension->m_address = base + offset; + n_product_dimension->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_product_dimension); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_product_itemst, field_name)); + auto n_flags = new NodeDFFlagArray; + n_flags->m_field_name = field_name; + n_flags->m_index_enum = DF_Type::reaction_product_item_flags; + n_flags->m_df_type = DF_Type::reaction_product_item_flags; + n_flags->m_size = 6; + n_flags->m_rdf_type = RDF_Type::DFFlagArray; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_defined_in = "df.reaction-raws.xml"; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "get_material"; + auto n_get_material = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_product_itemst, field_name)); + n_get_material->m_field_name = field_name; + n_get_material->m_df_type = DF_Type::reaction_product_itemst__T_get_material; + n_get_material->m_rdf_type = RDF_Type::Compound; + n_get_material->m_node_type = NodeType::Compound; + n_get_material->m_address = base + offset; + n_get_material->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_get_material); + + field_name = "item_str"; + auto n_item_str = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_product_itemst, field_name)); + n_item_str->m_field_name = field_name; + n_item_str->m_df_type = DF_Type::Stl_string; + n_item_str->m_rdf_type = RDF_Type::Array; + n_item_str->m_node_type = NodeType::Array; + n_item_str->m_addornements = "[2"; + n_item_str->m_array_size = 2; + n_item_str->m_address = base + offset; + n_item_str->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_str); + + field_name = "material_str"; + auto n_material_str = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_product_itemst, field_name)); + n_material_str->m_field_name = field_name; + n_material_str->m_df_type = DF_Type::Stl_string; + n_material_str->m_rdf_type = RDF_Type::Array; + n_material_str->m_node_type = NodeType::Array; + n_material_str->m_addornements = "[3"; + n_material_str->m_array_size = 3; + n_material_str->m_address = base + offset; + n_material_str->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_material_str); + +} +void node_from_reaction_product_item_improvementst__T_get_material(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "reagent_code"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_product_item_improvementst__T_get_material, field_name)); + auto n_reagent_code = new NodeSimple; + n_reagent_code->m_field_name = field_name; + n_reagent_code->m_df_type = DF_Type::Stl_string; + n_reagent_code->m_rdf_type = RDF_Type::Stl_string; + n_reagent_code->m_node_type = NodeType::Simple; + n_reagent_code->m_address = base + offset; + n_reagent_code->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_reagent_code); + + field_name = "product_code"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_product_item_improvementst__T_get_material, field_name)); + auto n_product_code = new NodeSimple; + n_product_code->m_field_name = field_name; + n_product_code->m_df_type = DF_Type::Stl_string; + n_product_code->m_rdf_type = RDF_Type::Stl_string; + n_product_code->m_node_type = NodeType::Simple; + n_product_code->m_address = base + offset; + n_product_code->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_product_code); + +} +void node_from_reaction_product_item_improvementst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::reaction_product; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_reaction_product(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "target_reagent"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_product_item_improvementst, field_name)); + auto n_target_reagent = new NodeSimple; + n_target_reagent->m_field_name = field_name; + n_target_reagent->m_df_type = DF_Type::Stl_string; + n_target_reagent->m_rdf_type = RDF_Type::Stl_string; + n_target_reagent->m_node_type = NodeType::Simple; + n_target_reagent->m_address = base + offset; + n_target_reagent->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_target_reagent); + + field_name = "improvement_type"; + auto n_improvement_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_product_item_improvementst, field_name)); + n_improvement_type->m_field_name = field_name; + n_improvement_type->m_df_type = DF_Type::improvement_type; + n_improvement_type->m_rdf_type = RDF_Type::Enum; + n_improvement_type->m_node_type = NodeType::Enum; + n_improvement_type->m_base_type = DF_Type::int32_t; + n_improvement_type->m_enum_type = "improvement_type"; + n_improvement_type->m_address = base + offset; + n_improvement_type->m_defined_in = "df.itemimprovements.xml"; + n_improvement_type->m_first_value = 0; + n_improvement_type->m_last_value = 12; + n_improvement_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_improvement_type); + + field_name = "improvement_specific_type"; + auto n_improvement_specific_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_product_item_improvementst, field_name)); + n_improvement_specific_type->m_field_name = field_name; + n_improvement_specific_type->m_df_type = DF_Type::itemimprovement_specific_type; + n_improvement_specific_type->m_rdf_type = RDF_Type::Enum; + n_improvement_specific_type->m_node_type = NodeType::Enum; + n_improvement_specific_type->m_base_type = DF_Type::int32_t; + n_improvement_specific_type->m_enum_type = "itemimprovement_specific_type"; + n_improvement_specific_type->m_address = base + offset; + n_improvement_specific_type->m_defined_in = "df.itemimprovements.xml"; + n_improvement_specific_type->m_first_value = 0; + n_improvement_specific_type->m_last_value = 1; + n_improvement_specific_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_improvement_specific_type); + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_product_item_improvementst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_product_item_improvementst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "probability"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_product_item_improvementst, field_name)); + auto n_probability = new NodeSimple; + n_probability->m_field_name = field_name; + n_probability->m_df_type = DF_Type::int16_t; + n_probability->m_rdf_type = RDF_Type::int16_t; + n_probability->m_node_type = NodeType::Simple; + n_probability->m_address = base + offset; + n_probability->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_probability); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_product_item_improvementst, field_name)); + auto n_flags = new NodeDFFlagArray; + n_flags->m_field_name = field_name; + n_flags->m_index_enum = DF_Type::reaction_product_improvement_flags; + n_flags->m_df_type = DF_Type::reaction_product_improvement_flags; + n_flags->m_size = 3; + n_flags->m_rdf_type = RDF_Type::DFFlagArray; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_defined_in = "df.reaction-raws.xml"; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "get_material"; + auto n_get_material = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_product_item_improvementst, field_name)); + n_get_material->m_field_name = field_name; + n_get_material->m_df_type = DF_Type::reaction_product_item_improvementst__T_get_material; + n_get_material->m_rdf_type = RDF_Type::Compound; + n_get_material->m_node_type = NodeType::Compound; + n_get_material->m_address = base + offset; + n_get_material->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_get_material); + + field_name = "material_str"; + auto n_material_str = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_product_item_improvementst, field_name)); + n_material_str->m_field_name = field_name; + n_material_str->m_df_type = DF_Type::Stl_string; + n_material_str->m_rdf_type = RDF_Type::Array; + n_material_str->m_node_type = NodeType::Array; + n_material_str->m_addornements = "[3"; + n_material_str->m_array_size = 3; + n_material_str->m_address = base + offset; + n_material_str->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_material_str); + + field_name = "unk_v4201_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::reaction_product_item_improvementst, field_name)); + auto n_unk_v4201_2 = new NodeSimple; + n_unk_v4201_2->m_field_name = field_name; + n_unk_v4201_2->m_df_type = DF_Type::Stl_string; + n_unk_v4201_2->m_rdf_type = RDF_Type::Stl_string; + n_unk_v4201_2->m_node_type = NodeType::Simple; + n_unk_v4201_2->m_address = base + offset; + n_unk_v4201_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v4201_2); + +} +void node_from_general_ref_item_type(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "type"; + auto n_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_item_type, field_name)); + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::item_type; + n_type->m_rdf_type = RDF_Type::Enum; + n_type->m_node_type = NodeType::Enum; + n_type->m_base_type = DF_Type::int32_t; + n_type->m_enum_type = "item_type"; + n_type->m_address = base + offset; + n_type->m_defined_in = "df.item-raws.xml"; + n_type->m_first_value = -1; + n_type->m_last_value = 90; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + + field_name = "subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_item_type, field_name)); + auto n_subtype = new NodeSimple; + n_subtype->m_field_name = field_name; + n_subtype->m_df_type = DF_Type::int32_t; + n_subtype->m_rdf_type = RDF_Type::int32_t; + n_subtype->m_node_type = NodeType::Simple; + n_subtype->m_address = base + offset; + n_subtype->m_refers_to = "(item-subtype-target $$._parent.type $)"; + n_subtype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_subtype); + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_item_type, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_item_type, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int16_t; + n_mat_index->m_rdf_type = RDF_Type::int16_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + +} +void node_from_general_ref_mapsquare(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "tiletype"; + auto n_tiletype = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_mapsquare, field_name)); + n_tiletype->m_field_name = field_name; + n_tiletype->m_df_type = DF_Type::tiletype; + n_tiletype->m_rdf_type = RDF_Type::Enum; + n_tiletype->m_node_type = NodeType::Enum; + n_tiletype->m_base_type = DF_Type::int16_t; + n_tiletype->m_enum_type = "tiletype"; + n_tiletype->m_address = base + offset; + n_tiletype->m_defined_in = "df.tile-types.xml"; + n_tiletype->m_first_value = 0; + n_tiletype->m_last_value = 694; + n_tiletype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tiletype); + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_mapsquare, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_mapsquare, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + +} +void node_from_general_ref_spherest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "sphere_type"; + auto n_sphere_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_spherest, field_name)); + n_sphere_type->m_field_name = field_name; + n_sphere_type->m_df_type = DF_Type::sphere_type; + n_sphere_type->m_rdf_type = RDF_Type::Enum; + n_sphere_type->m_node_type = NodeType::Enum; + n_sphere_type->m_base_type = DF_Type::int16_t; + n_sphere_type->m_enum_type = "sphere_type"; + n_sphere_type->m_address = base + offset; + n_sphere_type->m_defined_in = "df.language.xml"; + n_sphere_type->m_first_value = 0; + n_sphere_type->m_last_value = 129; + n_sphere_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sphere_type); + +} +void node_from_general_ref_knowledge_scholar_flagst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "knowledge"; + auto n_knowledge = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_knowledge_scholar_flagst, field_name)); + n_knowledge->m_field_name = field_name; + n_knowledge->m_df_type = DF_Type::knowledge_scholar_category_flag; + n_knowledge->m_rdf_type = RDF_Type::Struct; + n_knowledge->m_node_type = NodeType::Compound; + n_knowledge->m_address = base + offset; + n_knowledge->m_defined_in = "df.knowledge.xml"; + n_knowledge->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_knowledge); + +} +void node_from_general_ref_value_levelst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::general_ref; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_general_ref(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "value"; + auto n_value = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_value_levelst, field_name)); + n_value->m_field_name = field_name; + n_value->m_df_type = DF_Type::value_type; + n_value->m_rdf_type = RDF_Type::Enum; + n_value->m_node_type = NodeType::Enum; + n_value->m_base_type = DF_Type::int32_t; + n_value->m_enum_type = "value_type"; + n_value->m_address = base + offset; + n_value->m_defined_in = "df.units.xml"; + n_value->m_first_value = -1; + n_value->m_last_value = 32; + n_value->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_value); + + field_name = "level"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::general_ref_value_levelst, field_name)); + auto n_level = new NodeSimple; + n_level->m_field_name = field_name; + n_level->m_df_type = DF_Type::int32_t; + n_level->m_rdf_type = RDF_Type::int32_t; + n_level->m_node_type = NodeType::Simple; + n_level->m_address = base + offset; + n_level->m_comment = "see http://dwarffortresswiki.org/index.php/DF2014:Personality_trait"; + n_level->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_level); + +} +void node_from_specific_ref___union2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = true) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "object"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::specific_ref, field_name)); + auto n_object = new NodePointer; + n_object->m_field_name = field_name; + n_object->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_object->m_rdf_type = RDF_Type::Pointer; + n_object->m_node_type = NodeType::Pointer; + n_object->m_addornements = "*"; + n_object->m_address = base + offset; + n_object->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_object); + + field_name = "unit"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::specific_ref, field_name)); + auto n_unit = new NodePointer; + n_unit->m_field_name = field_name; + n_unit->m_df_type = get_real_subtype(base+offset, DF_Type::unit); + n_unit->m_rdf_type = RDF_Type::Pointer; + n_unit->m_node_type = NodeType::Pointer; + n_unit->m_addornements = "*"; + n_unit->m_address = base + offset; + n_unit->m_parent = p_node_parent; + n_unit->m_defined_in = "df.units.xml"; + n_unit->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unit); + + field_name = "activity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::specific_ref, field_name)); + auto n_activity = new NodePointer; + n_activity->m_field_name = field_name; + n_activity->m_df_type = get_real_subtype(base+offset, DF_Type::activity_info); + n_activity->m_rdf_type = RDF_Type::Pointer; + n_activity->m_node_type = NodeType::Pointer; + n_activity->m_addornements = "*"; + n_activity->m_address = base + offset; + n_activity->m_parent = p_node_parent; + n_activity->m_defined_in = "df.meeting.xml"; + n_activity->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_activity); + + field_name = "screen"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::specific_ref, field_name)); + auto n_screen = new NodePointer; + n_screen->m_field_name = field_name; + n_screen->m_df_type = get_real_subtype(base+offset, DF_Type::viewscreen); + n_screen->m_rdf_type = RDF_Type::Pointer; + n_screen->m_node_type = NodeType::Pointer; + n_screen->m_addornements = "*"; + n_screen->m_address = base + offset; + n_screen->m_parent = p_node_parent; + n_screen->m_defined_in = "df.viewscreen.xml"; + n_screen->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_screen); + + field_name = "vermin"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::specific_ref, field_name)); + auto n_vermin = new NodePointer; + n_vermin->m_field_name = field_name; + n_vermin->m_df_type = get_real_subtype(base+offset, DF_Type::vermin); + n_vermin->m_rdf_type = RDF_Type::Pointer; + n_vermin->m_node_type = NodeType::Pointer; + n_vermin->m_addornements = "*"; + n_vermin->m_address = base + offset; + n_vermin->m_parent = p_node_parent; + n_vermin->m_defined_in = "df.vermin.xml"; + n_vermin->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_vermin); + + field_name = "effect"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::specific_ref, field_name)); + auto n_effect = new NodePointer; + n_effect->m_field_name = field_name; + n_effect->m_df_type = get_real_subtype(base+offset, DF_Type::effect_info); + n_effect->m_rdf_type = RDF_Type::Pointer; + n_effect->m_node_type = NodeType::Pointer; + n_effect->m_addornements = "*"; + n_effect->m_address = base + offset; + n_effect->m_parent = p_node_parent; + n_effect->m_defined_in = "df.map.xml"; + n_effect->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_effect); + + field_name = "job"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::specific_ref, field_name)); + auto n_job = new NodePointer; + n_job->m_field_name = field_name; + n_job->m_df_type = get_real_subtype(base+offset, DF_Type::job); + n_job->m_rdf_type = RDF_Type::Pointer; + n_job->m_node_type = NodeType::Pointer; + n_job->m_addornements = "*"; + n_job->m_address = base + offset; + n_job->m_parent = p_node_parent; + n_job->m_defined_in = "df.jobs.xml"; + n_job->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_job); + +} +void node_from_specific_ref__T_arg2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = true) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "wrestle"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::specific_ref__T_arg2, field_name)); + auto n_wrestle = new NodePointer; + n_wrestle->m_field_name = field_name; + n_wrestle->m_df_type = get_real_subtype(base+offset, DF_Type::unit_item_wrestle); + n_wrestle->m_rdf_type = RDF_Type::Pointer; + n_wrestle->m_node_type = NodeType::Pointer; + n_wrestle->m_addornements = "*"; + n_wrestle->m_address = base + offset; + n_wrestle->m_parent = p_node_parent; + n_wrestle->m_defined_in = "df.units.xml"; + n_wrestle->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_wrestle); + +} +void node_from_specific_ref(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "type"; + auto n_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::specific_ref, field_name)); + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::specific_ref_type; + n_type->m_rdf_type = RDF_Type::Enum; + n_type->m_node_type = NodeType::Enum; + n_type->m_base_type = DF_Type::int32_t; + n_type->m_enum_type = "specific_ref_type"; + n_type->m_address = base + offset; + n_type->m_defined_in = "df.refs.xml"; + n_type->m_first_value = 0; + n_type->m_last_value = 30; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + + auto n_$union2 = new NodeAnonymous; + field_name = "unit"; // One child of the anonymous union + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::specific_ref, field_name)); + n_$union2->m_field_name = "N/A"; + n_$union2->m_df_type = DF_Type::specific_ref___union2; + n_$union2->m_rdf_type = RDF_Type::AnonymousUnion; + n_$union2->m_node_type = NodeType::AnonymousUnion; + n_$union2->m_address = base + offset; + n_$union2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_$union2); + + field_name = "arg2"; + auto n_arg2 = new NodeUnion; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::specific_ref, field_name)); + n_arg2->m_field_name = field_name; + n_arg2->m_df_type = DF_Type::specific_ref__T_arg2; + n_arg2->m_rdf_type = RDF_Type::Union; + n_arg2->m_node_type = NodeType::Union; + n_arg2->m_address = base + offset; + n_arg2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_arg2); + +} +void node_from_meeting_variable(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "value"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_variable, field_name)); + auto n_value = new NodeSimple; + n_value->m_field_name = field_name; + n_value->m_df_type = DF_Type::int32_t; + n_value->m_rdf_type = RDF_Type::int32_t; + n_value->m_node_type = NodeType::Simple; + n_value->m_address = base + offset; + n_value->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_value); + + field_name = "ref"; + auto n_ref = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_variable, field_name)); + n_ref->m_field_name = field_name; + n_ref->m_df_type = DF_Type::specific_ref; + n_ref->m_rdf_type = RDF_Type::Struct; + n_ref->m_node_type = NodeType::Compound; + n_ref->m_address = base + offset; + n_ref->m_defined_in = "df.refs.xml"; + n_ref->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ref); + + field_name = "active_var"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::meeting_variable, field_name)); + auto n_active_var = new NodePointer; + n_active_var->m_field_name = field_name; + n_active_var->m_df_type = get_real_subtype(base+offset, DF_Type::active_script_varst); + n_active_var->m_rdf_type = RDF_Type::Pointer; + n_active_var->m_node_type = NodeType::Pointer; + n_active_var->m_addornements = "*"; + n_active_var->m_address = base + offset; + n_active_var->m_parent = p_node_parent; + n_active_var->m_defined_in = "df.meeting.xml"; + n_active_var->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_active_var); + +} +void node_from_entity_entity_link(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "type"; + auto n_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_entity_link, field_name)); + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::entity_entity_link_type; + n_type->m_rdf_type = RDF_Type::Enum; + n_type->m_node_type = NodeType::Enum; + n_type->m_base_type = DF_Type::int16_t; + n_type->m_enum_type = "entity_entity_link_type"; + n_type->m_address = base + offset; + n_type->m_defined_in = "df.refs.xml"; + n_type->m_first_value = 0; + n_type->m_last_value = 1; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + + field_name = "target"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_entity_link, field_name)); + auto n_target = new NodeSimple; + n_target->m_field_name = field_name; + n_target->m_df_type = DF_Type::int32_t; + n_target->m_rdf_type = RDF_Type::int32_t; + n_target->m_node_type = NodeType::Simple; + n_target->m_address = base + offset; + n_target->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_target); + + field_name = "strength"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_entity_link, field_name)); + auto n_strength = new NodeSimple; + n_strength->m_field_name = field_name; + n_strength->m_df_type = DF_Type::int16_t; + n_strength->m_rdf_type = RDF_Type::int16_t; + n_strength->m_node_type = NodeType::Simple; + n_strength->m_address = base + offset; + n_strength->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_strength); + +} +void node_from_entity_site_link__T_anon_8(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_site_link__T_anon_8, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_site_link__T_anon_8, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + +} +void node_from_entity_site_link(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "target"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_site_link, field_name)); + auto n_target = new NodeSimple; + n_target->m_field_name = field_name; + n_target->m_df_type = DF_Type::int32_t; + n_target->m_rdf_type = RDF_Type::int32_t; + n_target->m_node_type = NodeType::Simple; + n_target->m_address = base + offset; + n_target->m_comment = "world.world_data.sites vector"; + n_target->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_target); + + field_name = "entity_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_site_link, field_name)); + auto n_entity_id = new NodeSimple; + n_entity_id->m_field_name = field_name; + n_entity_id->m_df_type = DF_Type::int32_t; + n_entity_id->m_rdf_type = RDF_Type::int32_t; + n_entity_id->m_node_type = NodeType::Simple; + n_entity_id->m_address = base + offset; + n_entity_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity_id); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_site_link, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_site_link, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_site_link, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_site_link, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_site_link, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::entity_site_link__T_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_site_link, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "link_strength"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_site_link, field_name)); + auto n_link_strength = new NodeSimple; + n_link_strength->m_field_name = field_name; + n_link_strength->m_df_type = DF_Type::int32_t; + n_link_strength->m_rdf_type = RDF_Type::int32_t; + n_link_strength->m_node_type = NodeType::Simple; + n_link_strength->m_address = base + offset; + n_link_strength->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_link_strength); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_site_link, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_site_link, field_name)); + auto n_anon_7 = new NodeSimple; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::int32_t; + n_anon_7->m_rdf_type = RDF_Type::int32_t; + n_anon_7->m_node_type = NodeType::Simple; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_7); + + field_name = "anon_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_site_link, field_name)); + auto n_anon_8 = new NodeVector; + n_anon_8->m_field_name = field_name; + n_anon_8->m_df_type = DF_Type::entity_site_link__T_anon_8; + n_anon_8->m_rdf_type = RDF_Type::Vector; + n_anon_8->m_node_type = NodeType::Vector; + n_anon_8->m_addornements = "v*"; + n_anon_8->m_address = base + offset; + n_anon_8->m_parent = p_node_parent; + n_anon_8->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_8); + + field_name = "target_site_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_site_link, field_name)); + auto n_target_site_x = new NodeSimple; + n_target_site_x->m_field_name = field_name; + n_target_site_x->m_df_type = DF_Type::int32_t; + n_target_site_x->m_rdf_type = RDF_Type::int32_t; + n_target_site_x->m_node_type = NodeType::Simple; + n_target_site_x->m_address = base + offset; + n_target_site_x->m_comment = "target site world coordinate x"; + n_target_site_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_target_site_x); + + field_name = "target_site_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_site_link, field_name)); + auto n_target_site_y = new NodeSimple; + n_target_site_y->m_field_name = field_name; + n_target_site_y->m_df_type = DF_Type::int32_t; + n_target_site_y->m_rdf_type = RDF_Type::int32_t; + n_target_site_y->m_node_type = NodeType::Simple; + n_target_site_y->m_address = base + offset; + n_target_site_y->m_comment = "target site world coordinate y"; + n_target_site_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_target_site_y); + + field_name = "unk_v43_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_site_link, field_name)); + auto n_unk_v43_1 = new NodeSimple; + n_unk_v43_1->m_field_name = field_name; + n_unk_v43_1->m_df_type = DF_Type::int32_t; + n_unk_v43_1->m_rdf_type = RDF_Type::int32_t; + n_unk_v43_1->m_node_type = NodeType::Simple; + n_unk_v43_1->m_address = base + offset; + n_unk_v43_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v43_1); + + field_name = "unk_v43_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_site_link, field_name)); + auto n_unk_v43_2 = new NodeSimple; + n_unk_v43_2->m_field_name = field_name; + n_unk_v43_2->m_df_type = DF_Type::int32_t; + n_unk_v43_2->m_rdf_type = RDF_Type::int32_t; + n_unk_v43_2->m_node_type = NodeType::Simple; + n_unk_v43_2->m_address = base + offset; + n_unk_v43_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v43_2); + +} +void node_from_resource_allotment_data__T_unk_654(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk_0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_data__T_unk_654, field_name)); + auto n_unk_0 = new NodeSimple; + n_unk_0->m_field_name = field_name; + n_unk_0->m_df_type = DF_Type::int32_t; + n_unk_0->m_rdf_type = RDF_Type::int32_t; + n_unk_0->m_node_type = NodeType::Simple; + n_unk_0->m_address = base + offset; + n_unk_0->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_0); + + field_name = "unk_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_data__T_unk_654, field_name)); + auto n_unk_4 = new NodeVector; + n_unk_4->m_field_name = field_name; + n_unk_4->m_df_type = DF_Type::int32_t; + n_unk_4->m_rdf_type = RDF_Type::Vector; + n_unk_4->m_node_type = NodeType::Vector; + n_unk_4->m_addornements = "v"; + n_unk_4->m_address = base + offset; + n_unk_4->m_parent = p_node_parent; + n_unk_4->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_4); + + field_name = "unk_14"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_data__T_unk_654, field_name)); + auto n_unk_14 = new NodeVector; + n_unk_14->m_field_name = field_name; + n_unk_14->m_df_type = DF_Type::int32_t; + n_unk_14->m_rdf_type = RDF_Type::Vector; + n_unk_14->m_node_type = NodeType::Vector; + n_unk_14->m_addornements = "v"; + n_unk_14->m_address = base + offset; + n_unk_14->m_parent = p_node_parent; + n_unk_14->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_14); + + field_name = "unk_24"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_data__T_unk_654, field_name)); + auto n_unk_24 = new NodeVector; + n_unk_24->m_field_name = field_name; + n_unk_24->m_df_type = DF_Type::int32_t; + n_unk_24->m_rdf_type = RDF_Type::Vector; + n_unk_24->m_node_type = NodeType::Vector; + n_unk_24->m_addornements = "v"; + n_unk_24->m_address = base + offset; + n_unk_24->m_parent = p_node_parent; + n_unk_24->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_24); + +} +void node_from_resource_allotment_data(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_data, field_name)); + auto n_index = new NodeSimple; + n_index->m_field_name = field_name; + n_index->m_df_type = DF_Type::int32_t; + n_index->m_rdf_type = RDF_Type::int32_t; + n_index->m_node_type = NodeType::Simple; + n_index->m_address = base + offset; + n_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_index); + + field_name = "resource_allotments"; + auto n_resource_allotments = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_data, field_name)); + n_resource_allotments->m_field_name = field_name; + n_resource_allotments->m_df_type = DF_Type::resource_allotment_specifier; + n_resource_allotments->m_rdf_type = RDF_Type::Array; + n_resource_allotments->m_node_type = NodeType::Array; + n_resource_allotments->m_defined_in = "df.resource.xml"; + n_resource_allotments->m_addornements = "[100v*"; + n_resource_allotments->m_array_size = 100; + n_resource_allotments->m_address = base + offset; + n_resource_allotments->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_resource_allotments); + + field_name = "unk1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_data, field_name)); + auto n_unk1 = new NodeSimple; + n_unk1->m_field_name = field_name; + n_unk1->m_df_type = DF_Type::int32_t; + n_unk1->m_rdf_type = RDF_Type::int32_t; + n_unk1->m_node_type = NodeType::Simple; + n_unk1->m_address = base + offset; + n_unk1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk1); + + field_name = "unk2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_data, field_name)); + auto n_unk2 = new NodeSimple; + n_unk2->m_field_name = field_name; + n_unk2->m_df_type = DF_Type::int32_t; + n_unk2->m_rdf_type = RDF_Type::int32_t; + n_unk2->m_node_type = NodeType::Simple; + n_unk2->m_address = base + offset; + n_unk2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk2); + + field_name = "unk3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_data, field_name)); + auto n_unk3 = new NodeSimple; + n_unk3->m_field_name = field_name; + n_unk3->m_df_type = DF_Type::int32_t; + n_unk3->m_rdf_type = RDF_Type::int32_t; + n_unk3->m_node_type = NodeType::Simple; + n_unk3->m_address = base + offset; + n_unk3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk3); + + field_name = "unk_650"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_data, field_name)); + auto n_unk_650 = new NodeSimple; + n_unk_650->m_field_name = field_name; + n_unk_650->m_df_type = DF_Type::int32_t; + n_unk_650->m_rdf_type = RDF_Type::int32_t; + n_unk_650->m_node_type = NodeType::Simple; + n_unk_650->m_address = base + offset; + n_unk_650->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_650); + + field_name = "unk_654"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::resource_allotment_data, field_name)); + auto n_unk_654 = new NodeVector; + n_unk_654->m_field_name = field_name; + n_unk_654->m_df_type = DF_Type::resource_allotment_data__T_unk_654; + n_unk_654->m_rdf_type = RDF_Type::Vector; + n_unk_654->m_node_type = NodeType::Vector; + n_unk_654->m_addornements = "v*"; + n_unk_654->m_address = base + offset; + n_unk_654->m_parent = p_node_parent; + n_unk_654->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_654); + +} +void node_from_stockpile_settings__T_animals(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "empty_cages"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_animals, field_name)); + auto n_empty_cages = new NodeSimple; + n_empty_cages->m_field_name = field_name; + n_empty_cages->m_df_type = DF_Type::Bool; + n_empty_cages->m_rdf_type = RDF_Type::Bool; + n_empty_cages->m_node_type = NodeType::Simple; + n_empty_cages->m_address = base + offset; + n_empty_cages->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_empty_cages); + + field_name = "empty_traps"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_animals, field_name)); + auto n_empty_traps = new NodeSimple; + n_empty_traps->m_field_name = field_name; + n_empty_traps->m_df_type = DF_Type::Bool; + n_empty_traps->m_rdf_type = RDF_Type::Bool; + n_empty_traps->m_node_type = NodeType::Simple; + n_empty_traps->m_address = base + offset; + n_empty_traps->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_empty_traps); + + field_name = "enabled"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_animals, field_name)); + auto n_enabled = new NodeVector; + n_enabled->m_field_name = field_name; + n_enabled->m_df_type = DF_Type::Bool; + n_enabled->m_rdf_type = RDF_Type::Vector; + n_enabled->m_node_type = NodeType::Vector; + n_enabled->m_addornements = "v"; + n_enabled->m_address = base + offset; + n_enabled->m_refers_to = "(find-creature $)"; + n_enabled->m_parent = p_node_parent; + n_enabled->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_enabled); + +} +void node_from_stockpile_settings__T_food(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "meat"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_food, field_name)); + auto n_meat = new NodeVector; + n_meat->m_field_name = field_name; + n_meat->m_df_type = DF_Type::Bool; + n_meat->m_rdf_type = RDF_Type::Vector; + n_meat->m_node_type = NodeType::Vector; + n_meat->m_addornements = "v"; + n_meat->m_address = base + offset; + n_meat->m_refers_to = "(food-mat-by-idx $Meat $)"; + n_meat->m_parent = p_node_parent; + n_meat->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_meat); + + field_name = "fish"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_food, field_name)); + auto n_fish = new NodeVector; + n_fish->m_field_name = field_name; + n_fish->m_df_type = DF_Type::Bool; + n_fish->m_rdf_type = RDF_Type::Vector; + n_fish->m_node_type = NodeType::Vector; + n_fish->m_addornements = "v"; + n_fish->m_address = base + offset; + n_fish->m_refers_to = "(food-mat-by-idx $Fish $)"; + n_fish->m_parent = p_node_parent; + n_fish->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_fish); + + field_name = "unprepared_fish"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_food, field_name)); + auto n_unprepared_fish = new NodeVector; + n_unprepared_fish->m_field_name = field_name; + n_unprepared_fish->m_df_type = DF_Type::Bool; + n_unprepared_fish->m_rdf_type = RDF_Type::Vector; + n_unprepared_fish->m_node_type = NodeType::Vector; + n_unprepared_fish->m_addornements = "v"; + n_unprepared_fish->m_address = base + offset; + n_unprepared_fish->m_refers_to = "(food-mat-by-idx $UnpreparedFish $)"; + n_unprepared_fish->m_parent = p_node_parent; + n_unprepared_fish->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unprepared_fish); + + field_name = "egg"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_food, field_name)); + auto n_egg = new NodeVector; + n_egg->m_field_name = field_name; + n_egg->m_df_type = DF_Type::Bool; + n_egg->m_rdf_type = RDF_Type::Vector; + n_egg->m_node_type = NodeType::Vector; + n_egg->m_addornements = "v"; + n_egg->m_address = base + offset; + n_egg->m_refers_to = "(food-mat-by-idx $Eggs $)"; + n_egg->m_parent = p_node_parent; + n_egg->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_egg); + + field_name = "plants"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_food, field_name)); + auto n_plants = new NodeVector; + n_plants->m_field_name = field_name; + n_plants->m_df_type = DF_Type::Bool; + n_plants->m_rdf_type = RDF_Type::Vector; + n_plants->m_node_type = NodeType::Vector; + n_plants->m_addornements = "v"; + n_plants->m_address = base + offset; + n_plants->m_refers_to = "(food-mat-by-idx $Plants $)"; + n_plants->m_parent = p_node_parent; + n_plants->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_plants); + + field_name = "drink_plant"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_food, field_name)); + auto n_drink_plant = new NodeVector; + n_drink_plant->m_field_name = field_name; + n_drink_plant->m_df_type = DF_Type::Bool; + n_drink_plant->m_rdf_type = RDF_Type::Vector; + n_drink_plant->m_node_type = NodeType::Vector; + n_drink_plant->m_addornements = "v"; + n_drink_plant->m_address = base + offset; + n_drink_plant->m_refers_to = "(food-mat-by-idx $PlantDrink $)"; + n_drink_plant->m_parent = p_node_parent; + n_drink_plant->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_drink_plant); + + field_name = "drink_animal"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_food, field_name)); + auto n_drink_animal = new NodeVector; + n_drink_animal->m_field_name = field_name; + n_drink_animal->m_df_type = DF_Type::Bool; + n_drink_animal->m_rdf_type = RDF_Type::Vector; + n_drink_animal->m_node_type = NodeType::Vector; + n_drink_animal->m_addornements = "v"; + n_drink_animal->m_address = base + offset; + n_drink_animal->m_refers_to = "(food-mat-by-idx $CreatureDrink $)"; + n_drink_animal->m_parent = p_node_parent; + n_drink_animal->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_drink_animal); + + field_name = "cheese_plant"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_food, field_name)); + auto n_cheese_plant = new NodeVector; + n_cheese_plant->m_field_name = field_name; + n_cheese_plant->m_df_type = DF_Type::Bool; + n_cheese_plant->m_rdf_type = RDF_Type::Vector; + n_cheese_plant->m_node_type = NodeType::Vector; + n_cheese_plant->m_addornements = "v"; + n_cheese_plant->m_address = base + offset; + n_cheese_plant->m_refers_to = "(food-mat-by-idx $PlantCheese $)"; + n_cheese_plant->m_parent = p_node_parent; + n_cheese_plant->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_cheese_plant); + + field_name = "cheese_animal"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_food, field_name)); + auto n_cheese_animal = new NodeVector; + n_cheese_animal->m_field_name = field_name; + n_cheese_animal->m_df_type = DF_Type::Bool; + n_cheese_animal->m_rdf_type = RDF_Type::Vector; + n_cheese_animal->m_node_type = NodeType::Vector; + n_cheese_animal->m_addornements = "v"; + n_cheese_animal->m_address = base + offset; + n_cheese_animal->m_refers_to = "(food-mat-by-idx $CreatureCheese $)"; + n_cheese_animal->m_parent = p_node_parent; + n_cheese_animal->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_cheese_animal); + + field_name = "seeds"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_food, field_name)); + auto n_seeds = new NodeVector; + n_seeds->m_field_name = field_name; + n_seeds->m_df_type = DF_Type::Bool; + n_seeds->m_rdf_type = RDF_Type::Vector; + n_seeds->m_node_type = NodeType::Vector; + n_seeds->m_addornements = "v"; + n_seeds->m_address = base + offset; + n_seeds->m_refers_to = "(food-mat-by-idx $Seed $)"; + n_seeds->m_parent = p_node_parent; + n_seeds->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_seeds); + + field_name = "leaves"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_food, field_name)); + auto n_leaves = new NodeVector; + n_leaves->m_field_name = field_name; + n_leaves->m_df_type = DF_Type::Bool; + n_leaves->m_rdf_type = RDF_Type::Vector; + n_leaves->m_node_type = NodeType::Vector; + n_leaves->m_addornements = "v"; + n_leaves->m_address = base + offset; + n_leaves->m_refers_to = "(food-mat-by-idx $Leaf $)"; + n_leaves->m_parent = p_node_parent; + n_leaves->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_leaves); + + field_name = "powder_plant"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_food, field_name)); + auto n_powder_plant = new NodeVector; + n_powder_plant->m_field_name = field_name; + n_powder_plant->m_df_type = DF_Type::Bool; + n_powder_plant->m_rdf_type = RDF_Type::Vector; + n_powder_plant->m_node_type = NodeType::Vector; + n_powder_plant->m_addornements = "v"; + n_powder_plant->m_address = base + offset; + n_powder_plant->m_refers_to = "(food-mat-by-idx $PlantPowder $)"; + n_powder_plant->m_parent = p_node_parent; + n_powder_plant->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_powder_plant); + + field_name = "powder_creature"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_food, field_name)); + auto n_powder_creature = new NodeVector; + n_powder_creature->m_field_name = field_name; + n_powder_creature->m_df_type = DF_Type::Bool; + n_powder_creature->m_rdf_type = RDF_Type::Vector; + n_powder_creature->m_node_type = NodeType::Vector; + n_powder_creature->m_addornements = "v"; + n_powder_creature->m_address = base + offset; + n_powder_creature->m_refers_to = "(food-mat-by-idx $CreaturePowder $)"; + n_powder_creature->m_parent = p_node_parent; + n_powder_creature->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_powder_creature); + + field_name = "glob"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_food, field_name)); + auto n_glob = new NodeVector; + n_glob->m_field_name = field_name; + n_glob->m_df_type = DF_Type::Bool; + n_glob->m_rdf_type = RDF_Type::Vector; + n_glob->m_node_type = NodeType::Vector; + n_glob->m_addornements = "v"; + n_glob->m_address = base + offset; + n_glob->m_refers_to = "(food-mat-by-idx $Glob $)"; + n_glob->m_parent = p_node_parent; + n_glob->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_glob); + + field_name = "glob_paste"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_food, field_name)); + auto n_glob_paste = new NodeVector; + n_glob_paste->m_field_name = field_name; + n_glob_paste->m_df_type = DF_Type::Bool; + n_glob_paste->m_rdf_type = RDF_Type::Vector; + n_glob_paste->m_node_type = NodeType::Vector; + n_glob_paste->m_addornements = "v"; + n_glob_paste->m_address = base + offset; + n_glob_paste->m_refers_to = "(food-mat-by-idx $Paste $)"; + n_glob_paste->m_parent = p_node_parent; + n_glob_paste->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_glob_paste); + + field_name = "glob_pressed"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_food, field_name)); + auto n_glob_pressed = new NodeVector; + n_glob_pressed->m_field_name = field_name; + n_glob_pressed->m_df_type = DF_Type::Bool; + n_glob_pressed->m_rdf_type = RDF_Type::Vector; + n_glob_pressed->m_node_type = NodeType::Vector; + n_glob_pressed->m_addornements = "v"; + n_glob_pressed->m_address = base + offset; + n_glob_pressed->m_refers_to = "(food-mat-by-idx $Pressed $)"; + n_glob_pressed->m_parent = p_node_parent; + n_glob_pressed->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_glob_pressed); + + field_name = "liquid_plant"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_food, field_name)); + auto n_liquid_plant = new NodeVector; + n_liquid_plant->m_field_name = field_name; + n_liquid_plant->m_df_type = DF_Type::Bool; + n_liquid_plant->m_rdf_type = RDF_Type::Vector; + n_liquid_plant->m_node_type = NodeType::Vector; + n_liquid_plant->m_addornements = "v"; + n_liquid_plant->m_address = base + offset; + n_liquid_plant->m_refers_to = "(food-mat-by-idx $PlantLiquid $)"; + n_liquid_plant->m_parent = p_node_parent; + n_liquid_plant->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_liquid_plant); + + field_name = "liquid_animal"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_food, field_name)); + auto n_liquid_animal = new NodeVector; + n_liquid_animal->m_field_name = field_name; + n_liquid_animal->m_df_type = DF_Type::Bool; + n_liquid_animal->m_rdf_type = RDF_Type::Vector; + n_liquid_animal->m_node_type = NodeType::Vector; + n_liquid_animal->m_addornements = "v"; + n_liquid_animal->m_address = base + offset; + n_liquid_animal->m_refers_to = "(food-mat-by-idx $CreatureLiquid $)"; + n_liquid_animal->m_parent = p_node_parent; + n_liquid_animal->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_liquid_animal); + + field_name = "liquid_misc"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_food, field_name)); + auto n_liquid_misc = new NodeVector; + n_liquid_misc->m_field_name = field_name; + n_liquid_misc->m_df_type = DF_Type::Bool; + n_liquid_misc->m_rdf_type = RDF_Type::Vector; + n_liquid_misc->m_node_type = NodeType::Vector; + n_liquid_misc->m_addornements = "v"; + n_liquid_misc->m_address = base + offset; + n_liquid_misc->m_refers_to = "(food-mat-by-idx $MiscLiquid $)"; + n_liquid_misc->m_parent = p_node_parent; + n_liquid_misc->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_liquid_misc); + + field_name = "prepared_meals"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_food, field_name)); + auto n_prepared_meals = new NodeSimple; + n_prepared_meals->m_field_name = field_name; + n_prepared_meals->m_df_type = DF_Type::Bool; + n_prepared_meals->m_rdf_type = RDF_Type::Bool; + n_prepared_meals->m_node_type = NodeType::Simple; + n_prepared_meals->m_address = base + offset; + n_prepared_meals->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_prepared_meals); + +} +void node_from_stockpile_settings__T_furniture(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_furniture, field_name)); + auto n_type = new NodeVector; + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::Bool; + n_type->m_rdf_type = RDF_Type::Vector; + n_type->m_node_type = NodeType::Vector; + n_type->m_index_enum = DF_Type::furniture_type; + n_type->m_addornements = "v"; + n_type->m_address = base + offset; + n_type->m_parent = p_node_parent; + n_type->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_type); + + field_name = "other_mats"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_furniture, field_name)); + auto n_other_mats = new NodeVector; + n_other_mats->m_field_name = field_name; + n_other_mats->m_df_type = DF_Type::Bool; + n_other_mats->m_rdf_type = RDF_Type::Vector; + n_other_mats->m_node_type = NodeType::Vector; + n_other_mats->m_addornements = "v"; + n_other_mats->m_address = base + offset; + n_other_mats->m_parent = p_node_parent; + n_other_mats->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_other_mats); + + field_name = "mats"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_furniture, field_name)); + auto n_mats = new NodeVector; + n_mats->m_field_name = field_name; + n_mats->m_df_type = DF_Type::Bool; + n_mats->m_rdf_type = RDF_Type::Vector; + n_mats->m_node_type = NodeType::Vector; + n_mats->m_addornements = "v"; + n_mats->m_address = base + offset; + n_mats->m_refers_to = "(material-by-id 0 $)"; + n_mats->m_parent = p_node_parent; + n_mats->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_mats); + + field_name = "quality_core"; + auto n_quality_core = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_furniture, field_name)); + n_quality_core->m_field_name = field_name; + n_quality_core->m_df_type = DF_Type::Bool; + n_quality_core->m_rdf_type = RDF_Type::Array; + n_quality_core->m_node_type = NodeType::Array; + n_quality_core->m_index_enum = DF_Type::item_quality; + n_quality_core->m_addornements = "[7"; + n_quality_core->m_array_size = 7; + n_quality_core->m_address = base + offset; + n_quality_core->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_quality_core); + + field_name = "quality_total"; + auto n_quality_total = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_furniture, field_name)); + n_quality_total->m_field_name = field_name; + n_quality_total->m_df_type = DF_Type::Bool; + n_quality_total->m_rdf_type = RDF_Type::Array; + n_quality_total->m_node_type = NodeType::Array; + n_quality_total->m_index_enum = DF_Type::item_quality; + n_quality_total->m_addornements = "[7"; + n_quality_total->m_array_size = 7; + n_quality_total->m_address = base + offset; + n_quality_total->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_quality_total); + + field_name = "sand_bags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_furniture, field_name)); + auto n_sand_bags = new NodeSimple; + n_sand_bags->m_field_name = field_name; + n_sand_bags->m_df_type = DF_Type::Bool; + n_sand_bags->m_rdf_type = RDF_Type::Bool; + n_sand_bags->m_node_type = NodeType::Simple; + n_sand_bags->m_address = base + offset; + n_sand_bags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sand_bags); + +} +void node_from_stockpile_settings__T_refuse(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_refuse, field_name)); + auto n_type = new NodeVector; + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::Bool; + n_type->m_rdf_type = RDF_Type::Vector; + n_type->m_node_type = NodeType::Vector; + n_type->m_index_enum = DF_Type::item_type; + n_type->m_addornements = "v"; + n_type->m_address = base + offset; + n_type->m_parent = p_node_parent; + n_type->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_type); + + field_name = "corpses"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_refuse, field_name)); + auto n_corpses = new NodeVector; + n_corpses->m_field_name = field_name; + n_corpses->m_df_type = DF_Type::Bool; + n_corpses->m_rdf_type = RDF_Type::Vector; + n_corpses->m_node_type = NodeType::Vector; + n_corpses->m_addornements = "v"; + n_corpses->m_address = base + offset; + n_corpses->m_refers_to = "(find-creature $)"; + n_corpses->m_parent = p_node_parent; + n_corpses->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_corpses); + + field_name = "body_parts"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_refuse, field_name)); + auto n_body_parts = new NodeVector; + n_body_parts->m_field_name = field_name; + n_body_parts->m_df_type = DF_Type::Bool; + n_body_parts->m_rdf_type = RDF_Type::Vector; + n_body_parts->m_node_type = NodeType::Vector; + n_body_parts->m_addornements = "v"; + n_body_parts->m_address = base + offset; + n_body_parts->m_refers_to = "(find-creature $)"; + n_body_parts->m_parent = p_node_parent; + n_body_parts->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_body_parts); + + field_name = "skulls"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_refuse, field_name)); + auto n_skulls = new NodeVector; + n_skulls->m_field_name = field_name; + n_skulls->m_df_type = DF_Type::Bool; + n_skulls->m_rdf_type = RDF_Type::Vector; + n_skulls->m_node_type = NodeType::Vector; + n_skulls->m_addornements = "v"; + n_skulls->m_address = base + offset; + n_skulls->m_refers_to = "(find-creature $)"; + n_skulls->m_parent = p_node_parent; + n_skulls->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_skulls); + + field_name = "bones"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_refuse, field_name)); + auto n_bones = new NodeVector; + n_bones->m_field_name = field_name; + n_bones->m_df_type = DF_Type::Bool; + n_bones->m_rdf_type = RDF_Type::Vector; + n_bones->m_node_type = NodeType::Vector; + n_bones->m_addornements = "v"; + n_bones->m_address = base + offset; + n_bones->m_refers_to = "(find-creature $)"; + n_bones->m_parent = p_node_parent; + n_bones->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bones); + + field_name = "hair"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_refuse, field_name)); + auto n_hair = new NodeVector; + n_hair->m_field_name = field_name; + n_hair->m_df_type = DF_Type::Bool; + n_hair->m_rdf_type = RDF_Type::Vector; + n_hair->m_node_type = NodeType::Vector; + n_hair->m_addornements = "v"; + n_hair->m_address = base + offset; + n_hair->m_refers_to = "(find-creature $)"; + n_hair->m_parent = p_node_parent; + n_hair->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_hair); + + field_name = "shells"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_refuse, field_name)); + auto n_shells = new NodeVector; + n_shells->m_field_name = field_name; + n_shells->m_df_type = DF_Type::Bool; + n_shells->m_rdf_type = RDF_Type::Vector; + n_shells->m_node_type = NodeType::Vector; + n_shells->m_addornements = "v"; + n_shells->m_address = base + offset; + n_shells->m_refers_to = "(find-creature $)"; + n_shells->m_parent = p_node_parent; + n_shells->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_shells); + + field_name = "teeth"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_refuse, field_name)); + auto n_teeth = new NodeVector; + n_teeth->m_field_name = field_name; + n_teeth->m_df_type = DF_Type::Bool; + n_teeth->m_rdf_type = RDF_Type::Vector; + n_teeth->m_node_type = NodeType::Vector; + n_teeth->m_addornements = "v"; + n_teeth->m_address = base + offset; + n_teeth->m_refers_to = "(find-creature $)"; + n_teeth->m_parent = p_node_parent; + n_teeth->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_teeth); + + field_name = "horns"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_refuse, field_name)); + auto n_horns = new NodeVector; + n_horns->m_field_name = field_name; + n_horns->m_df_type = DF_Type::Bool; + n_horns->m_rdf_type = RDF_Type::Vector; + n_horns->m_node_type = NodeType::Vector; + n_horns->m_addornements = "v"; + n_horns->m_address = base + offset; + n_horns->m_refers_to = "(find-creature $)"; + n_horns->m_parent = p_node_parent; + n_horns->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_horns); + + field_name = "fresh_raw_hide"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_refuse, field_name)); + auto n_fresh_raw_hide = new NodeSimple; + n_fresh_raw_hide->m_field_name = field_name; + n_fresh_raw_hide->m_df_type = DF_Type::Bool; + n_fresh_raw_hide->m_rdf_type = RDF_Type::Bool; + n_fresh_raw_hide->m_node_type = NodeType::Simple; + n_fresh_raw_hide->m_address = base + offset; + n_fresh_raw_hide->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_fresh_raw_hide); + + field_name = "rotten_raw_hide"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_refuse, field_name)); + auto n_rotten_raw_hide = new NodeSimple; + n_rotten_raw_hide->m_field_name = field_name; + n_rotten_raw_hide->m_df_type = DF_Type::Bool; + n_rotten_raw_hide->m_rdf_type = RDF_Type::Bool; + n_rotten_raw_hide->m_node_type = NodeType::Simple; + n_rotten_raw_hide->m_address = base + offset; + n_rotten_raw_hide->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rotten_raw_hide); + +} +void node_from_stockpile_settings__T_stone(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mats"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_stone, field_name)); + auto n_mats = new NodeVector; + n_mats->m_field_name = field_name; + n_mats->m_df_type = DF_Type::Bool; + n_mats->m_rdf_type = RDF_Type::Vector; + n_mats->m_node_type = NodeType::Vector; + n_mats->m_addornements = "v"; + n_mats->m_address = base + offset; + n_mats->m_refers_to = "(material-by-id 0 $)"; + n_mats->m_parent = p_node_parent; + n_mats->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_mats); + +} +void node_from_stockpile_settings__T_ore(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mats"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_ore, field_name)); + auto n_mats = new NodeVector; + n_mats->m_field_name = field_name; + n_mats->m_df_type = DF_Type::Bool; + n_mats->m_rdf_type = RDF_Type::Vector; + n_mats->m_node_type = NodeType::Vector; + n_mats->m_addornements = "v"; + n_mats->m_address = base + offset; + n_mats->m_comment = "unused"; + n_mats->m_parent = p_node_parent; + n_mats->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_mats); + +} +void node_from_stockpile_settings__T_ammo(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_ammo, field_name)); + auto n_type = new NodeVector; + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::Bool; + n_type->m_rdf_type = RDF_Type::Vector; + n_type->m_node_type = NodeType::Vector; + n_type->m_addornements = "v"; + n_type->m_address = base + offset; + n_type->m_refers_to = "$global.world.raws.itemdefs.ammo[$]"; + n_type->m_parent = p_node_parent; + n_type->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_type); + + field_name = "other_mats"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_ammo, field_name)); + auto n_other_mats = new NodeVector; + n_other_mats->m_field_name = field_name; + n_other_mats->m_df_type = DF_Type::Bool; + n_other_mats->m_rdf_type = RDF_Type::Vector; + n_other_mats->m_node_type = NodeType::Vector; + n_other_mats->m_addornements = "v"; + n_other_mats->m_address = base + offset; + n_other_mats->m_parent = p_node_parent; + n_other_mats->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_other_mats); + + field_name = "mats"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_ammo, field_name)); + auto n_mats = new NodeVector; + n_mats->m_field_name = field_name; + n_mats->m_df_type = DF_Type::Bool; + n_mats->m_rdf_type = RDF_Type::Vector; + n_mats->m_node_type = NodeType::Vector; + n_mats->m_addornements = "v"; + n_mats->m_address = base + offset; + n_mats->m_refers_to = "(material-by-id 0 $)"; + n_mats->m_parent = p_node_parent; + n_mats->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_mats); + + field_name = "quality_core"; + auto n_quality_core = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_ammo, field_name)); + n_quality_core->m_field_name = field_name; + n_quality_core->m_df_type = DF_Type::Bool; + n_quality_core->m_rdf_type = RDF_Type::Array; + n_quality_core->m_node_type = NodeType::Array; + n_quality_core->m_index_enum = DF_Type::item_quality; + n_quality_core->m_addornements = "[7"; + n_quality_core->m_array_size = 7; + n_quality_core->m_address = base + offset; + n_quality_core->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_quality_core); + + field_name = "quality_total"; + auto n_quality_total = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_ammo, field_name)); + n_quality_total->m_field_name = field_name; + n_quality_total->m_df_type = DF_Type::Bool; + n_quality_total->m_rdf_type = RDF_Type::Array; + n_quality_total->m_node_type = NodeType::Array; + n_quality_total->m_index_enum = DF_Type::item_quality; + n_quality_total->m_addornements = "[7"; + n_quality_total->m_array_size = 7; + n_quality_total->m_address = base + offset; + n_quality_total->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_quality_total); + +} +void node_from_stockpile_settings__T_coins(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mats"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_coins, field_name)); + auto n_mats = new NodeVector; + n_mats->m_field_name = field_name; + n_mats->m_df_type = DF_Type::Bool; + n_mats->m_rdf_type = RDF_Type::Vector; + n_mats->m_node_type = NodeType::Vector; + n_mats->m_addornements = "v"; + n_mats->m_address = base + offset; + n_mats->m_refers_to = "(material-by-id 0 $)"; + n_mats->m_parent = p_node_parent; + n_mats->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_mats); + +} +void node_from_stockpile_settings__T_bars_blocks(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "bars_other_mats"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_bars_blocks, field_name)); + auto n_bars_other_mats = new NodeVector; + n_bars_other_mats->m_field_name = field_name; + n_bars_other_mats->m_df_type = DF_Type::Bool; + n_bars_other_mats->m_rdf_type = RDF_Type::Vector; + n_bars_other_mats->m_node_type = NodeType::Vector; + n_bars_other_mats->m_addornements = "v"; + n_bars_other_mats->m_address = base + offset; + n_bars_other_mats->m_parent = p_node_parent; + n_bars_other_mats->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bars_other_mats); + + field_name = "blocks_other_mats"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_bars_blocks, field_name)); + auto n_blocks_other_mats = new NodeVector; + n_blocks_other_mats->m_field_name = field_name; + n_blocks_other_mats->m_df_type = DF_Type::Bool; + n_blocks_other_mats->m_rdf_type = RDF_Type::Vector; + n_blocks_other_mats->m_node_type = NodeType::Vector; + n_blocks_other_mats->m_addornements = "v"; + n_blocks_other_mats->m_address = base + offset; + n_blocks_other_mats->m_parent = p_node_parent; + n_blocks_other_mats->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_blocks_other_mats); + + field_name = "bars_mats"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_bars_blocks, field_name)); + auto n_bars_mats = new NodeVector; + n_bars_mats->m_field_name = field_name; + n_bars_mats->m_df_type = DF_Type::Bool; + n_bars_mats->m_rdf_type = RDF_Type::Vector; + n_bars_mats->m_node_type = NodeType::Vector; + n_bars_mats->m_addornements = "v"; + n_bars_mats->m_address = base + offset; + n_bars_mats->m_refers_to = "(material-by-id 0 $)"; + n_bars_mats->m_parent = p_node_parent; + n_bars_mats->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bars_mats); + + field_name = "blocks_mats"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_bars_blocks, field_name)); + auto n_blocks_mats = new NodeVector; + n_blocks_mats->m_field_name = field_name; + n_blocks_mats->m_df_type = DF_Type::Bool; + n_blocks_mats->m_rdf_type = RDF_Type::Vector; + n_blocks_mats->m_node_type = NodeType::Vector; + n_blocks_mats->m_addornements = "v"; + n_blocks_mats->m_address = base + offset; + n_blocks_mats->m_refers_to = "(material-by-id 0 $)"; + n_blocks_mats->m_parent = p_node_parent; + n_blocks_mats->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_blocks_mats); + +} +void node_from_stockpile_settings__T_gems(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "rough_other_mats"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_gems, field_name)); + auto n_rough_other_mats = new NodeVector; + n_rough_other_mats->m_field_name = field_name; + n_rough_other_mats->m_df_type = DF_Type::Bool; + n_rough_other_mats->m_rdf_type = RDF_Type::Vector; + n_rough_other_mats->m_node_type = NodeType::Vector; + n_rough_other_mats->m_addornements = "v"; + n_rough_other_mats->m_address = base + offset; + n_rough_other_mats->m_refers_to = "(material-by-id $ -1)"; + n_rough_other_mats->m_parent = p_node_parent; + n_rough_other_mats->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_rough_other_mats); + + field_name = "cut_other_mats"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_gems, field_name)); + auto n_cut_other_mats = new NodeVector; + n_cut_other_mats->m_field_name = field_name; + n_cut_other_mats->m_df_type = DF_Type::Bool; + n_cut_other_mats->m_rdf_type = RDF_Type::Vector; + n_cut_other_mats->m_node_type = NodeType::Vector; + n_cut_other_mats->m_addornements = "v"; + n_cut_other_mats->m_address = base + offset; + n_cut_other_mats->m_refers_to = "(material-by-id $ -1)"; + n_cut_other_mats->m_parent = p_node_parent; + n_cut_other_mats->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_cut_other_mats); + + field_name = "rough_mats"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_gems, field_name)); + auto n_rough_mats = new NodeVector; + n_rough_mats->m_field_name = field_name; + n_rough_mats->m_df_type = DF_Type::Bool; + n_rough_mats->m_rdf_type = RDF_Type::Vector; + n_rough_mats->m_node_type = NodeType::Vector; + n_rough_mats->m_addornements = "v"; + n_rough_mats->m_address = base + offset; + n_rough_mats->m_refers_to = "(material-by-id 0 $)"; + n_rough_mats->m_parent = p_node_parent; + n_rough_mats->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_rough_mats); + + field_name = "cut_mats"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_gems, field_name)); + auto n_cut_mats = new NodeVector; + n_cut_mats->m_field_name = field_name; + n_cut_mats->m_df_type = DF_Type::Bool; + n_cut_mats->m_rdf_type = RDF_Type::Vector; + n_cut_mats->m_node_type = NodeType::Vector; + n_cut_mats->m_addornements = "v"; + n_cut_mats->m_address = base + offset; + n_cut_mats->m_refers_to = "(material-by-id 0 $)"; + n_cut_mats->m_parent = p_node_parent; + n_cut_mats->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_cut_mats); + +} +void node_from_stockpile_settings__T_finished_goods(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_finished_goods, field_name)); + auto n_type = new NodeVector; + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::Bool; + n_type->m_rdf_type = RDF_Type::Vector; + n_type->m_node_type = NodeType::Vector; + n_type->m_index_enum = DF_Type::item_type; + n_type->m_addornements = "v"; + n_type->m_address = base + offset; + n_type->m_parent = p_node_parent; + n_type->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_type); + + field_name = "other_mats"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_finished_goods, field_name)); + auto n_other_mats = new NodeVector; + n_other_mats->m_field_name = field_name; + n_other_mats->m_df_type = DF_Type::Bool; + n_other_mats->m_rdf_type = RDF_Type::Vector; + n_other_mats->m_node_type = NodeType::Vector; + n_other_mats->m_addornements = "v"; + n_other_mats->m_address = base + offset; + n_other_mats->m_parent = p_node_parent; + n_other_mats->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_other_mats); + + field_name = "mats"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_finished_goods, field_name)); + auto n_mats = new NodeVector; + n_mats->m_field_name = field_name; + n_mats->m_df_type = DF_Type::Bool; + n_mats->m_rdf_type = RDF_Type::Vector; + n_mats->m_node_type = NodeType::Vector; + n_mats->m_addornements = "v"; + n_mats->m_address = base + offset; + n_mats->m_refers_to = "(material-by-id 0 $)"; + n_mats->m_parent = p_node_parent; + n_mats->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_mats); + + field_name = "quality_core"; + auto n_quality_core = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_finished_goods, field_name)); + n_quality_core->m_field_name = field_name; + n_quality_core->m_df_type = DF_Type::Bool; + n_quality_core->m_rdf_type = RDF_Type::Array; + n_quality_core->m_node_type = NodeType::Array; + n_quality_core->m_index_enum = DF_Type::item_quality; + n_quality_core->m_addornements = "[7"; + n_quality_core->m_array_size = 7; + n_quality_core->m_address = base + offset; + n_quality_core->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_quality_core); + + field_name = "quality_total"; + auto n_quality_total = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_finished_goods, field_name)); + n_quality_total->m_field_name = field_name; + n_quality_total->m_df_type = DF_Type::Bool; + n_quality_total->m_rdf_type = RDF_Type::Array; + n_quality_total->m_node_type = NodeType::Array; + n_quality_total->m_index_enum = DF_Type::item_quality; + n_quality_total->m_addornements = "[7"; + n_quality_total->m_array_size = 7; + n_quality_total->m_address = base + offset; + n_quality_total->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_quality_total); + +} +void node_from_stockpile_settings__T_leather(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mats"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_leather, field_name)); + auto n_mats = new NodeVector; + n_mats->m_field_name = field_name; + n_mats->m_df_type = DF_Type::Bool; + n_mats->m_rdf_type = RDF_Type::Vector; + n_mats->m_node_type = NodeType::Vector; + n_mats->m_addornements = "v"; + n_mats->m_address = base + offset; + n_mats->m_refers_to = "(food-mat-by-idx $Leather $)"; + n_mats->m_parent = p_node_parent; + n_mats->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_mats); + +} +void node_from_stockpile_settings__T_cloth(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "thread_silk"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_cloth, field_name)); + auto n_thread_silk = new NodeVector; + n_thread_silk->m_field_name = field_name; + n_thread_silk->m_df_type = DF_Type::Bool; + n_thread_silk->m_rdf_type = RDF_Type::Vector; + n_thread_silk->m_node_type = NodeType::Vector; + n_thread_silk->m_addornements = "v"; + n_thread_silk->m_address = base + offset; + n_thread_silk->m_refers_to = "(food-mat-by-idx $Silk $)"; + n_thread_silk->m_parent = p_node_parent; + n_thread_silk->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_thread_silk); + + field_name = "thread_plant"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_cloth, field_name)); + auto n_thread_plant = new NodeVector; + n_thread_plant->m_field_name = field_name; + n_thread_plant->m_df_type = DF_Type::Bool; + n_thread_plant->m_rdf_type = RDF_Type::Vector; + n_thread_plant->m_node_type = NodeType::Vector; + n_thread_plant->m_addornements = "v"; + n_thread_plant->m_address = base + offset; + n_thread_plant->m_refers_to = "(food-mat-by-idx $PlantFiber $)"; + n_thread_plant->m_parent = p_node_parent; + n_thread_plant->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_thread_plant); + + field_name = "thread_yarn"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_cloth, field_name)); + auto n_thread_yarn = new NodeVector; + n_thread_yarn->m_field_name = field_name; + n_thread_yarn->m_df_type = DF_Type::Bool; + n_thread_yarn->m_rdf_type = RDF_Type::Vector; + n_thread_yarn->m_node_type = NodeType::Vector; + n_thread_yarn->m_addornements = "v"; + n_thread_yarn->m_address = base + offset; + n_thread_yarn->m_refers_to = "(food-mat-by-idx $Yarn $)"; + n_thread_yarn->m_parent = p_node_parent; + n_thread_yarn->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_thread_yarn); + + field_name = "thread_metal"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_cloth, field_name)); + auto n_thread_metal = new NodeVector; + n_thread_metal->m_field_name = field_name; + n_thread_metal->m_df_type = DF_Type::Bool; + n_thread_metal->m_rdf_type = RDF_Type::Vector; + n_thread_metal->m_node_type = NodeType::Vector; + n_thread_metal->m_addornements = "v"; + n_thread_metal->m_address = base + offset; + n_thread_metal->m_refers_to = "(food-mat-by-idx $MetalThread $)"; + n_thread_metal->m_parent = p_node_parent; + n_thread_metal->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_thread_metal); + + field_name = "cloth_silk"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_cloth, field_name)); + auto n_cloth_silk = new NodeVector; + n_cloth_silk->m_field_name = field_name; + n_cloth_silk->m_df_type = DF_Type::Bool; + n_cloth_silk->m_rdf_type = RDF_Type::Vector; + n_cloth_silk->m_node_type = NodeType::Vector; + n_cloth_silk->m_addornements = "v"; + n_cloth_silk->m_address = base + offset; + n_cloth_silk->m_refers_to = "(food-mat-by-idx $Silk $)"; + n_cloth_silk->m_parent = p_node_parent; + n_cloth_silk->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_cloth_silk); + + field_name = "cloth_plant"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_cloth, field_name)); + auto n_cloth_plant = new NodeVector; + n_cloth_plant->m_field_name = field_name; + n_cloth_plant->m_df_type = DF_Type::Bool; + n_cloth_plant->m_rdf_type = RDF_Type::Vector; + n_cloth_plant->m_node_type = NodeType::Vector; + n_cloth_plant->m_addornements = "v"; + n_cloth_plant->m_address = base + offset; + n_cloth_plant->m_refers_to = "(food-mat-by-idx $PlantFiber $)"; + n_cloth_plant->m_parent = p_node_parent; + n_cloth_plant->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_cloth_plant); + + field_name = "cloth_yarn"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_cloth, field_name)); + auto n_cloth_yarn = new NodeVector; + n_cloth_yarn->m_field_name = field_name; + n_cloth_yarn->m_df_type = DF_Type::Bool; + n_cloth_yarn->m_rdf_type = RDF_Type::Vector; + n_cloth_yarn->m_node_type = NodeType::Vector; + n_cloth_yarn->m_addornements = "v"; + n_cloth_yarn->m_address = base + offset; + n_cloth_yarn->m_refers_to = "(food-mat-by-idx $Yarn $)"; + n_cloth_yarn->m_parent = p_node_parent; + n_cloth_yarn->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_cloth_yarn); + + field_name = "cloth_metal"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_cloth, field_name)); + auto n_cloth_metal = new NodeVector; + n_cloth_metal->m_field_name = field_name; + n_cloth_metal->m_df_type = DF_Type::Bool; + n_cloth_metal->m_rdf_type = RDF_Type::Vector; + n_cloth_metal->m_node_type = NodeType::Vector; + n_cloth_metal->m_addornements = "v"; + n_cloth_metal->m_address = base + offset; + n_cloth_metal->m_refers_to = "(food-mat-by-idx $MetalThread $)"; + n_cloth_metal->m_parent = p_node_parent; + n_cloth_metal->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_cloth_metal); + +} +void node_from_stockpile_settings__T_wood(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mats"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_wood, field_name)); + auto n_mats = new NodeVector; + n_mats->m_field_name = field_name; + n_mats->m_df_type = DF_Type::Bool; + n_mats->m_rdf_type = RDF_Type::Vector; + n_mats->m_node_type = NodeType::Vector; + n_mats->m_addornements = "v"; + n_mats->m_address = base + offset; + n_mats->m_refers_to = "(find-plant-raw $)"; + n_mats->m_parent = p_node_parent; + n_mats->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_mats); + +} +void node_from_stockpile_settings__T_weapons(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "weapon_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_weapons, field_name)); + auto n_weapon_type = new NodeVector; + n_weapon_type->m_field_name = field_name; + n_weapon_type->m_df_type = DF_Type::Bool; + n_weapon_type->m_rdf_type = RDF_Type::Vector; + n_weapon_type->m_node_type = NodeType::Vector; + n_weapon_type->m_addornements = "v"; + n_weapon_type->m_address = base + offset; + n_weapon_type->m_refers_to = "$global.world.raws.itemdefs.weapons[$]"; + n_weapon_type->m_parent = p_node_parent; + n_weapon_type->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_weapon_type); + + field_name = "trapcomp_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_weapons, field_name)); + auto n_trapcomp_type = new NodeVector; + n_trapcomp_type->m_field_name = field_name; + n_trapcomp_type->m_df_type = DF_Type::Bool; + n_trapcomp_type->m_rdf_type = RDF_Type::Vector; + n_trapcomp_type->m_node_type = NodeType::Vector; + n_trapcomp_type->m_addornements = "v"; + n_trapcomp_type->m_address = base + offset; + n_trapcomp_type->m_refers_to = "$global.world.raws.itemdefs.trapcomps[$]"; + n_trapcomp_type->m_parent = p_node_parent; + n_trapcomp_type->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_trapcomp_type); + + field_name = "other_mats"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_weapons, field_name)); + auto n_other_mats = new NodeVector; + n_other_mats->m_field_name = field_name; + n_other_mats->m_df_type = DF_Type::Bool; + n_other_mats->m_rdf_type = RDF_Type::Vector; + n_other_mats->m_node_type = NodeType::Vector; + n_other_mats->m_addornements = "v"; + n_other_mats->m_address = base + offset; + n_other_mats->m_parent = p_node_parent; + n_other_mats->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_other_mats); + + field_name = "mats"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_weapons, field_name)); + auto n_mats = new NodeVector; + n_mats->m_field_name = field_name; + n_mats->m_df_type = DF_Type::Bool; + n_mats->m_rdf_type = RDF_Type::Vector; + n_mats->m_node_type = NodeType::Vector; + n_mats->m_addornements = "v"; + n_mats->m_address = base + offset; + n_mats->m_refers_to = "(material-by-id 0 $)"; + n_mats->m_parent = p_node_parent; + n_mats->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_mats); + + field_name = "quality_core"; + auto n_quality_core = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_weapons, field_name)); + n_quality_core->m_field_name = field_name; + n_quality_core->m_df_type = DF_Type::Bool; + n_quality_core->m_rdf_type = RDF_Type::Array; + n_quality_core->m_node_type = NodeType::Array; + n_quality_core->m_index_enum = DF_Type::item_quality; + n_quality_core->m_addornements = "[7"; + n_quality_core->m_array_size = 7; + n_quality_core->m_address = base + offset; + n_quality_core->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_quality_core); + + field_name = "quality_total"; + auto n_quality_total = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_weapons, field_name)); + n_quality_total->m_field_name = field_name; + n_quality_total->m_df_type = DF_Type::Bool; + n_quality_total->m_rdf_type = RDF_Type::Array; + n_quality_total->m_node_type = NodeType::Array; + n_quality_total->m_index_enum = DF_Type::item_quality; + n_quality_total->m_addornements = "[7"; + n_quality_total->m_array_size = 7; + n_quality_total->m_address = base + offset; + n_quality_total->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_quality_total); + + field_name = "usable"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_weapons, field_name)); + auto n_usable = new NodeSimple; + n_usable->m_field_name = field_name; + n_usable->m_df_type = DF_Type::Bool; + n_usable->m_rdf_type = RDF_Type::Bool; + n_usable->m_node_type = NodeType::Simple; + n_usable->m_address = base + offset; + n_usable->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_usable); + + field_name = "unusable"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_weapons, field_name)); + auto n_unusable = new NodeSimple; + n_unusable->m_field_name = field_name; + n_unusable->m_df_type = DF_Type::Bool; + n_unusable->m_rdf_type = RDF_Type::Bool; + n_unusable->m_node_type = NodeType::Simple; + n_unusable->m_address = base + offset; + n_unusable->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unusable); + +} +void node_from_stockpile_settings__T_armor(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "body"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_armor, field_name)); + auto n_body = new NodeVector; + n_body->m_field_name = field_name; + n_body->m_df_type = DF_Type::Bool; + n_body->m_rdf_type = RDF_Type::Vector; + n_body->m_node_type = NodeType::Vector; + n_body->m_addornements = "v"; + n_body->m_address = base + offset; + n_body->m_refers_to = "$global.world.raws.itemdefs.armor[$]"; + n_body->m_parent = p_node_parent; + n_body->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_body); + + field_name = "head"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_armor, field_name)); + auto n_head = new NodeVector; + n_head->m_field_name = field_name; + n_head->m_df_type = DF_Type::Bool; + n_head->m_rdf_type = RDF_Type::Vector; + n_head->m_node_type = NodeType::Vector; + n_head->m_addornements = "v"; + n_head->m_address = base + offset; + n_head->m_refers_to = "$global.world.raws.itemdefs.helms[$]"; + n_head->m_parent = p_node_parent; + n_head->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_head); + + field_name = "feet"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_armor, field_name)); + auto n_feet = new NodeVector; + n_feet->m_field_name = field_name; + n_feet->m_df_type = DF_Type::Bool; + n_feet->m_rdf_type = RDF_Type::Vector; + n_feet->m_node_type = NodeType::Vector; + n_feet->m_addornements = "v"; + n_feet->m_address = base + offset; + n_feet->m_refers_to = "$global.world.raws.itemdefs.shoes[$]"; + n_feet->m_parent = p_node_parent; + n_feet->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_feet); + + field_name = "hands"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_armor, field_name)); + auto n_hands = new NodeVector; + n_hands->m_field_name = field_name; + n_hands->m_df_type = DF_Type::Bool; + n_hands->m_rdf_type = RDF_Type::Vector; + n_hands->m_node_type = NodeType::Vector; + n_hands->m_addornements = "v"; + n_hands->m_address = base + offset; + n_hands->m_refers_to = "$global.world.raws.itemdefs.gloves[$]"; + n_hands->m_parent = p_node_parent; + n_hands->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_hands); + + field_name = "legs"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_armor, field_name)); + auto n_legs = new NodeVector; + n_legs->m_field_name = field_name; + n_legs->m_df_type = DF_Type::Bool; + n_legs->m_rdf_type = RDF_Type::Vector; + n_legs->m_node_type = NodeType::Vector; + n_legs->m_addornements = "v"; + n_legs->m_address = base + offset; + n_legs->m_refers_to = "$global.world.raws.itemdefs.pants[$]"; + n_legs->m_parent = p_node_parent; + n_legs->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_legs); + + field_name = "shield"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_armor, field_name)); + auto n_shield = new NodeVector; + n_shield->m_field_name = field_name; + n_shield->m_df_type = DF_Type::Bool; + n_shield->m_rdf_type = RDF_Type::Vector; + n_shield->m_node_type = NodeType::Vector; + n_shield->m_addornements = "v"; + n_shield->m_address = base + offset; + n_shield->m_refers_to = "$global.world.raws.itemdefs.shields[$]"; + n_shield->m_parent = p_node_parent; + n_shield->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_shield); + + field_name = "other_mats"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_armor, field_name)); + auto n_other_mats = new NodeVector; + n_other_mats->m_field_name = field_name; + n_other_mats->m_df_type = DF_Type::Bool; + n_other_mats->m_rdf_type = RDF_Type::Vector; + n_other_mats->m_node_type = NodeType::Vector; + n_other_mats->m_addornements = "v"; + n_other_mats->m_address = base + offset; + n_other_mats->m_parent = p_node_parent; + n_other_mats->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_other_mats); + + field_name = "mats"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_armor, field_name)); + auto n_mats = new NodeVector; + n_mats->m_field_name = field_name; + n_mats->m_df_type = DF_Type::Bool; + n_mats->m_rdf_type = RDF_Type::Vector; + n_mats->m_node_type = NodeType::Vector; + n_mats->m_addornements = "v"; + n_mats->m_address = base + offset; + n_mats->m_refers_to = "(material-by-id 0 $)"; + n_mats->m_parent = p_node_parent; + n_mats->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_mats); + + field_name = "quality_core"; + auto n_quality_core = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_armor, field_name)); + n_quality_core->m_field_name = field_name; + n_quality_core->m_df_type = DF_Type::Bool; + n_quality_core->m_rdf_type = RDF_Type::Array; + n_quality_core->m_node_type = NodeType::Array; + n_quality_core->m_index_enum = DF_Type::item_quality; + n_quality_core->m_addornements = "[7"; + n_quality_core->m_array_size = 7; + n_quality_core->m_address = base + offset; + n_quality_core->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_quality_core); + + field_name = "quality_total"; + auto n_quality_total = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_armor, field_name)); + n_quality_total->m_field_name = field_name; + n_quality_total->m_df_type = DF_Type::Bool; + n_quality_total->m_rdf_type = RDF_Type::Array; + n_quality_total->m_node_type = NodeType::Array; + n_quality_total->m_index_enum = DF_Type::item_quality; + n_quality_total->m_addornements = "[7"; + n_quality_total->m_array_size = 7; + n_quality_total->m_address = base + offset; + n_quality_total->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_quality_total); + + field_name = "usable"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_armor, field_name)); + auto n_usable = new NodeSimple; + n_usable->m_field_name = field_name; + n_usable->m_df_type = DF_Type::Bool; + n_usable->m_rdf_type = RDF_Type::Bool; + n_usable->m_node_type = NodeType::Simple; + n_usable->m_address = base + offset; + n_usable->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_usable); + + field_name = "unusable"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_armor, field_name)); + auto n_unusable = new NodeSimple; + n_unusable->m_field_name = field_name; + n_unusable->m_df_type = DF_Type::Bool; + n_unusable->m_rdf_type = RDF_Type::Bool; + n_unusable->m_node_type = NodeType::Simple; + n_unusable->m_address = base + offset; + n_unusable->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unusable); + +} +void node_from_stockpile_settings__T_sheet(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "paper"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_sheet, field_name)); + auto n_paper = new NodeVector; + n_paper->m_field_name = field_name; + n_paper->m_df_type = DF_Type::Bool; + n_paper->m_rdf_type = RDF_Type::Vector; + n_paper->m_node_type = NodeType::Vector; + n_paper->m_addornements = "v"; + n_paper->m_address = base + offset; + n_paper->m_parent = p_node_parent; + n_paper->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_paper); + + field_name = "parchment"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings__T_sheet, field_name)); + auto n_parchment = new NodeVector; + n_parchment->m_field_name = field_name; + n_parchment->m_df_type = DF_Type::Bool; + n_parchment->m_rdf_type = RDF_Type::Vector; + n_parchment->m_node_type = NodeType::Vector; + n_parchment->m_addornements = "v"; + n_parchment->m_address = base + offset; + n_parchment->m_parent = p_node_parent; + n_parchment->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_parchment); + +} +void node_from_stockpile_settings(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::stockpile_group_set; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_defined_in = "df.stockpile.xml"; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "animals"; + auto n_animals = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings, field_name)); + n_animals->m_field_name = field_name; + n_animals->m_df_type = DF_Type::stockpile_settings__T_animals; + n_animals->m_rdf_type = RDF_Type::Compound; + n_animals->m_node_type = NodeType::Compound; + n_animals->m_address = base + offset; + n_animals->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_animals); + + field_name = "food"; + auto n_food = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings, field_name)); + n_food->m_field_name = field_name; + n_food->m_df_type = DF_Type::stockpile_settings__T_food; + n_food->m_rdf_type = RDF_Type::Compound; + n_food->m_node_type = NodeType::Compound; + n_food->m_address = base + offset; + n_food->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_food); + + field_name = "furniture"; + auto n_furniture = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings, field_name)); + n_furniture->m_field_name = field_name; + n_furniture->m_df_type = DF_Type::stockpile_settings__T_furniture; + n_furniture->m_rdf_type = RDF_Type::Compound; + n_furniture->m_node_type = NodeType::Compound; + n_furniture->m_address = base + offset; + n_furniture->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_furniture); + + field_name = "unk1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings, field_name)); + auto n_unk1 = new NodeSimple; + n_unk1->m_field_name = field_name; + n_unk1->m_df_type = DF_Type::int32_t; + n_unk1->m_rdf_type = RDF_Type::int32_t; + n_unk1->m_node_type = NodeType::Simple; + n_unk1->m_address = base + offset; + n_unk1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk1); + + field_name = "refuse"; + auto n_refuse = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings, field_name)); + n_refuse->m_field_name = field_name; + n_refuse->m_df_type = DF_Type::stockpile_settings__T_refuse; + n_refuse->m_rdf_type = RDF_Type::Compound; + n_refuse->m_node_type = NodeType::Compound; + n_refuse->m_address = base + offset; + n_refuse->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_refuse); + + field_name = "stone"; + auto n_stone = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings, field_name)); + n_stone->m_field_name = field_name; + n_stone->m_df_type = DF_Type::stockpile_settings__T_stone; + n_stone->m_rdf_type = RDF_Type::Compound; + n_stone->m_node_type = NodeType::Compound; + n_stone->m_address = base + offset; + n_stone->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_stone); + + field_name = "ore"; + auto n_ore = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings, field_name)); + n_ore->m_field_name = field_name; + n_ore->m_df_type = DF_Type::stockpile_settings__T_ore; + n_ore->m_rdf_type = RDF_Type::Compound; + n_ore->m_node_type = NodeType::Compound; + n_ore->m_address = base + offset; + n_ore->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ore); + + field_name = "ammo"; + auto n_ammo = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings, field_name)); + n_ammo->m_field_name = field_name; + n_ammo->m_df_type = DF_Type::stockpile_settings__T_ammo; + n_ammo->m_rdf_type = RDF_Type::Compound; + n_ammo->m_node_type = NodeType::Compound; + n_ammo->m_address = base + offset; + n_ammo->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ammo); + + field_name = "coins"; + auto n_coins = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings, field_name)); + n_coins->m_field_name = field_name; + n_coins->m_df_type = DF_Type::stockpile_settings__T_coins; + n_coins->m_rdf_type = RDF_Type::Compound; + n_coins->m_node_type = NodeType::Compound; + n_coins->m_address = base + offset; + n_coins->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_coins); + + field_name = "bars_blocks"; + auto n_bars_blocks = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings, field_name)); + n_bars_blocks->m_field_name = field_name; + n_bars_blocks->m_df_type = DF_Type::stockpile_settings__T_bars_blocks; + n_bars_blocks->m_rdf_type = RDF_Type::Compound; + n_bars_blocks->m_node_type = NodeType::Compound; + n_bars_blocks->m_address = base + offset; + n_bars_blocks->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_bars_blocks); + + field_name = "gems"; + auto n_gems = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings, field_name)); + n_gems->m_field_name = field_name; + n_gems->m_df_type = DF_Type::stockpile_settings__T_gems; + n_gems->m_rdf_type = RDF_Type::Compound; + n_gems->m_node_type = NodeType::Compound; + n_gems->m_address = base + offset; + n_gems->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_gems); + + field_name = "finished_goods"; + auto n_finished_goods = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings, field_name)); + n_finished_goods->m_field_name = field_name; + n_finished_goods->m_df_type = DF_Type::stockpile_settings__T_finished_goods; + n_finished_goods->m_rdf_type = RDF_Type::Compound; + n_finished_goods->m_node_type = NodeType::Compound; + n_finished_goods->m_address = base + offset; + n_finished_goods->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_finished_goods); + + field_name = "leather"; + auto n_leather = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings, field_name)); + n_leather->m_field_name = field_name; + n_leather->m_df_type = DF_Type::stockpile_settings__T_leather; + n_leather->m_rdf_type = RDF_Type::Compound; + n_leather->m_node_type = NodeType::Compound; + n_leather->m_address = base + offset; + n_leather->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_leather); + + field_name = "cloth"; + auto n_cloth = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings, field_name)); + n_cloth->m_field_name = field_name; + n_cloth->m_df_type = DF_Type::stockpile_settings__T_cloth; + n_cloth->m_rdf_type = RDF_Type::Compound; + n_cloth->m_node_type = NodeType::Compound; + n_cloth->m_address = base + offset; + n_cloth->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cloth); + + field_name = "wood"; + auto n_wood = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings, field_name)); + n_wood->m_field_name = field_name; + n_wood->m_df_type = DF_Type::stockpile_settings__T_wood; + n_wood->m_rdf_type = RDF_Type::Compound; + n_wood->m_node_type = NodeType::Compound; + n_wood->m_address = base + offset; + n_wood->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_wood); + + field_name = "weapons"; + auto n_weapons = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings, field_name)); + n_weapons->m_field_name = field_name; + n_weapons->m_df_type = DF_Type::stockpile_settings__T_weapons; + n_weapons->m_rdf_type = RDF_Type::Compound; + n_weapons->m_node_type = NodeType::Compound; + n_weapons->m_address = base + offset; + n_weapons->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_weapons); + + field_name = "armor"; + auto n_armor = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings, field_name)); + n_armor->m_field_name = field_name; + n_armor->m_df_type = DF_Type::stockpile_settings__T_armor; + n_armor->m_rdf_type = RDF_Type::Compound; + n_armor->m_node_type = NodeType::Compound; + n_armor->m_address = base + offset; + n_armor->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_armor); + + field_name = "sheet"; + auto n_sheet = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings, field_name)); + n_sheet->m_field_name = field_name; + n_sheet->m_df_type = DF_Type::stockpile_settings__T_sheet; + n_sheet->m_rdf_type = RDF_Type::Compound; + n_sheet->m_node_type = NodeType::Compound; + n_sheet->m_address = base + offset; + n_sheet->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sheet); + + field_name = "allow_organic"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings, field_name)); + auto n_allow_organic = new NodeSimple; + n_allow_organic->m_field_name = field_name; + n_allow_organic->m_df_type = DF_Type::Bool; + n_allow_organic->m_rdf_type = RDF_Type::Bool; + n_allow_organic->m_node_type = NodeType::Simple; + n_allow_organic->m_address = base + offset; + n_allow_organic->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_allow_organic); + + field_name = "allow_inorganic"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stockpile_settings, field_name)); + auto n_allow_inorganic = new NodeSimple; + n_allow_inorganic->m_field_name = field_name; + n_allow_inorganic->m_df_type = DF_Type::Bool; + n_allow_inorganic->m_rdf_type = RDF_Type::Bool; + n_allow_inorganic->m_node_type = NodeType::Simple; + n_allow_inorganic->m_address = base + offset; + n_allow_inorganic->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_allow_inorganic); + +} +void node_from_building_stockpilest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::building; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_building(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "settings"; + auto n_settings = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_stockpilest, field_name)); + n_settings->m_field_name = field_name; + n_settings->m_df_type = DF_Type::stockpile_settings; + n_settings->m_rdf_type = RDF_Type::Struct; + n_settings->m_node_type = NodeType::Compound; + n_settings->m_address = base + offset; + n_settings->m_defined_in = "df.stockpile.xml"; + n_settings->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_settings); + + field_name = "max_barrels"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_stockpilest, field_name)); + auto n_max_barrels = new NodeSimple; + n_max_barrels->m_field_name = field_name; + n_max_barrels->m_df_type = DF_Type::int16_t; + n_max_barrels->m_rdf_type = RDF_Type::int16_t; + n_max_barrels->m_node_type = NodeType::Simple; + n_max_barrels->m_address = base + offset; + n_max_barrels->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_max_barrels); + + field_name = "max_bins"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_stockpilest, field_name)); + auto n_max_bins = new NodeSimple; + n_max_bins->m_field_name = field_name; + n_max_bins->m_df_type = DF_Type::int16_t; + n_max_bins->m_rdf_type = RDF_Type::int16_t; + n_max_bins->m_node_type = NodeType::Simple; + n_max_bins->m_address = base + offset; + n_max_bins->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_max_bins); + + field_name = "max_wheelbarrows"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_stockpilest, field_name)); + auto n_max_wheelbarrows = new NodeSimple; + n_max_wheelbarrows->m_field_name = field_name; + n_max_wheelbarrows->m_df_type = DF_Type::int16_t; + n_max_wheelbarrows->m_rdf_type = RDF_Type::int16_t; + n_max_wheelbarrows->m_node_type = NodeType::Simple; + n_max_wheelbarrows->m_address = base + offset; + n_max_wheelbarrows->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_max_wheelbarrows); + + field_name = "container_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_stockpilest, field_name)); + auto n_container_type = new NodeVector; + n_container_type->m_field_name = field_name; + n_container_type->m_df_type = DF_Type::item_type; + n_container_type->m_rdf_type = RDF_Type::Vector; + n_container_type->m_node_type = NodeType::Vector; + n_container_type->m_enum_base = DF_Type::int16_t; + n_container_type->m_defined_in = "df.item-raws.xml"; + n_container_type->m_addornements = "v"; + n_container_type->m_address = base + offset; + n_container_type->m_parent = p_node_parent; + n_container_type->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_container_type); + + field_name = "container_item_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_stockpilest, field_name)); + auto n_container_item_id = new NodeVector; + n_container_item_id->m_field_name = field_name; + n_container_item_id->m_df_type = DF_Type::int32_t; + n_container_item_id->m_rdf_type = RDF_Type::Vector; + n_container_item_id->m_node_type = NodeType::Vector; + n_container_item_id->m_addornements = "v"; + n_container_item_id->m_address = base + offset; + n_container_item_id->m_parent = p_node_parent; + n_container_item_id->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_container_item_id); + + field_name = "container_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_stockpilest, field_name)); + auto n_container_x = new NodeVector; + n_container_x->m_field_name = field_name; + n_container_x->m_df_type = DF_Type::int16_t; + n_container_x->m_rdf_type = RDF_Type::Vector; + n_container_x->m_node_type = NodeType::Vector; + n_container_x->m_addornements = "v"; + n_container_x->m_address = base + offset; + n_container_x->m_parent = p_node_parent; + n_container_x->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_container_x); + + field_name = "container_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_stockpilest, field_name)); + auto n_container_y = new NodeVector; + n_container_y->m_field_name = field_name; + n_container_y->m_df_type = DF_Type::int16_t; + n_container_y->m_rdf_type = RDF_Type::Vector; + n_container_y->m_node_type = NodeType::Vector; + n_container_y->m_addornements = "v"; + n_container_y->m_address = base + offset; + n_container_y->m_parent = p_node_parent; + n_container_y->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_container_y); + + field_name = "links"; + auto n_links = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_stockpilest, field_name)); + n_links->m_field_name = field_name; + n_links->m_df_type = DF_Type::stockpile_links; + n_links->m_rdf_type = RDF_Type::Struct; + n_links->m_node_type = NodeType::Compound; + n_links->m_address = base + offset; + n_links->m_defined_in = "df.buildings.xml"; + n_links->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_links); + + field_name = "use_links_only"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_stockpilest, field_name)); + auto n_use_links_only = new NodeSimple; + n_use_links_only->m_field_name = field_name; + n_use_links_only->m_df_type = DF_Type::int32_t; + n_use_links_only->m_rdf_type = RDF_Type::int32_t; + n_use_links_only->m_node_type = NodeType::Simple; + n_use_links_only->m_address = base + offset; + n_use_links_only->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_use_links_only); + + field_name = "stockpile_number"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_stockpilest, field_name)); + auto n_stockpile_number = new NodeSimple; + n_stockpile_number->m_field_name = field_name; + n_stockpile_number->m_df_type = DF_Type::int32_t; + n_stockpile_number->m_rdf_type = RDF_Type::int32_t; + n_stockpile_number->m_node_type = NodeType::Simple; + n_stockpile_number->m_address = base + offset; + n_stockpile_number->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_stockpile_number); + + field_name = "linked_stops"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_stockpilest, field_name)); + auto n_linked_stops = new NodeVector; + n_linked_stops->m_field_name = field_name; + n_linked_stops->m_df_type = DF_Type::hauling_stop; + n_linked_stops->m_rdf_type = RDF_Type::Vector; + n_linked_stops->m_node_type = NodeType::Vector; + n_linked_stops->m_defined_in = "df.stockpile.xml"; + n_linked_stops->m_addornements = "v*"; + n_linked_stops->m_address = base + offset; + n_linked_stops->m_parent = p_node_parent; + n_linked_stops->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_linked_stops); + +} +void node_from_hauling_route(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::hauling_route, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::hauling_route, field_name)); + auto n_name = new NodeSimple; + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Stl_string; + n_name->m_node_type = NodeType::Simple; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "stops"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::hauling_route, field_name)); + auto n_stops = new NodeVector; + n_stops->m_field_name = field_name; + n_stops->m_df_type = DF_Type::hauling_stop; + n_stops->m_rdf_type = RDF_Type::Vector; + n_stops->m_node_type = NodeType::Vector; + n_stops->m_defined_in = "df.stockpile.xml"; + n_stops->m_addornements = "v*"; + n_stops->m_address = base + offset; + n_stops->m_parent = p_node_parent; + n_stops->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_stops); + + field_name = "vehicle_ids"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::hauling_route, field_name)); + auto n_vehicle_ids = new NodeVector; + n_vehicle_ids->m_field_name = field_name; + n_vehicle_ids->m_df_type = DF_Type::int32_t; + n_vehicle_ids->m_rdf_type = RDF_Type::Vector; + n_vehicle_ids->m_node_type = NodeType::Vector; + n_vehicle_ids->m_addornements = "v"; + n_vehicle_ids->m_address = base + offset; + n_vehicle_ids->m_parent = p_node_parent; + n_vehicle_ids->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_vehicle_ids); + + field_name = "vehicle_stops"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::hauling_route, field_name)); + auto n_vehicle_stops = new NodeVector; + n_vehicle_stops->m_field_name = field_name; + n_vehicle_stops->m_df_type = DF_Type::int32_t; + n_vehicle_stops->m_rdf_type = RDF_Type::Vector; + n_vehicle_stops->m_node_type = NodeType::Vector; + n_vehicle_stops->m_addornements = "v"; + n_vehicle_stops->m_address = base + offset; + n_vehicle_stops->m_parent = p_node_parent; + n_vehicle_stops->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_vehicle_stops); + +} +void node_from_hauling_stop(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::hauling_stop, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::hauling_stop, field_name)); + auto n_name = new NodeSimple; + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Stl_string; + n_name->m_node_type = NodeType::Simple; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "pos"; + auto n_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::hauling_stop, field_name)); + n_pos->m_field_name = field_name; + n_pos->m_df_type = DF_Type::coord; + n_pos->m_rdf_type = RDF_Type::Struct; + n_pos->m_node_type = NodeType::Compound; + n_pos->m_address = base + offset; + n_pos->m_defined_in = "df.map.xml"; + n_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pos); + + field_name = "settings"; + auto n_settings = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::hauling_stop, field_name)); + n_settings->m_field_name = field_name; + n_settings->m_df_type = DF_Type::stockpile_settings; + n_settings->m_rdf_type = RDF_Type::Struct; + n_settings->m_node_type = NodeType::Compound; + n_settings->m_address = base + offset; + n_settings->m_defined_in = "df.stockpile.xml"; + n_settings->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_settings); + + field_name = "conditions"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::hauling_stop, field_name)); + auto n_conditions = new NodeVector; + n_conditions->m_field_name = field_name; + n_conditions->m_df_type = DF_Type::stop_depart_condition; + n_conditions->m_rdf_type = RDF_Type::Vector; + n_conditions->m_node_type = NodeType::Vector; + n_conditions->m_defined_in = "df.stockpile.xml"; + n_conditions->m_addornements = "v*"; + n_conditions->m_address = base + offset; + n_conditions->m_parent = p_node_parent; + n_conditions->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_conditions); + + field_name = "stockpiles"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::hauling_stop, field_name)); + auto n_stockpiles = new NodeVector; + n_stockpiles->m_field_name = field_name; + n_stockpiles->m_df_type = DF_Type::route_stockpile_link; + n_stockpiles->m_rdf_type = RDF_Type::Vector; + n_stockpiles->m_node_type = NodeType::Vector; + n_stockpiles->m_defined_in = "df.stockpile.xml"; + n_stockpiles->m_addornements = "v*"; + n_stockpiles->m_address = base + offset; + n_stockpiles->m_parent = p_node_parent; + n_stockpiles->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_stockpiles); + + field_name = "time_waiting"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::hauling_stop, field_name)); + auto n_time_waiting = new NodeSimple; + n_time_waiting->m_field_name = field_name; + n_time_waiting->m_df_type = DF_Type::int32_t; + n_time_waiting->m_rdf_type = RDF_Type::int32_t; + n_time_waiting->m_node_type = NodeType::Simple; + n_time_waiting->m_address = base + offset; + n_time_waiting->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_time_waiting); + + field_name = "cart_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::hauling_stop, field_name)); + auto n_cart_id = new NodeSimple; + n_cart_id->m_field_name = field_name; + n_cart_id->m_df_type = DF_Type::int32_t; + n_cart_id->m_rdf_type = RDF_Type::int32_t; + n_cart_id->m_node_type = NodeType::Simple; + n_cart_id->m_address = base + offset; + n_cart_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cart_id); + +} +void node_from_stop_depart_condition(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "timeout"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stop_depart_condition, field_name)); + auto n_timeout = new NodeSimple; + n_timeout->m_field_name = field_name; + n_timeout->m_df_type = DF_Type::int32_t; + n_timeout->m_rdf_type = RDF_Type::int32_t; + n_timeout->m_node_type = NodeType::Simple; + n_timeout->m_address = base + offset; + n_timeout->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_timeout); + + field_name = "direction"; + auto n_direction = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stop_depart_condition, field_name)); + n_direction->m_field_name = field_name; + n_direction->m_df_type = DF_Type::stop_depart_condition__T_direction; + n_direction->m_rdf_type = RDF_Type::Enum; + n_direction->m_node_type = NodeType::Enum; + n_direction->m_base_type = DF_Type::int32_t; + n_direction->m_enum_type = "stop_depart_condition::T_direction"; + n_direction->m_address = base + offset; + n_direction->m_first_value = 0; + n_direction->m_last_value = 3; + n_direction->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_direction); + + field_name = "mode"; + auto n_mode = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stop_depart_condition, field_name)); + n_mode->m_field_name = field_name; + n_mode->m_df_type = DF_Type::stop_depart_condition__T_mode; + n_mode->m_rdf_type = RDF_Type::Enum; + n_mode->m_node_type = NodeType::Enum; + n_mode->m_base_type = DF_Type::int32_t; + n_mode->m_enum_type = "stop_depart_condition::T_mode"; + n_mode->m_address = base + offset; + n_mode->m_first_value = 0; + n_mode->m_last_value = 2; + n_mode->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mode); + + field_name = "load_percent"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stop_depart_condition, field_name)); + auto n_load_percent = new NodeSimple; + n_load_percent->m_field_name = field_name; + n_load_percent->m_df_type = DF_Type::int32_t; + n_load_percent->m_rdf_type = RDF_Type::int32_t; + n_load_percent->m_node_type = NodeType::Simple; + n_load_percent->m_address = base + offset; + n_load_percent->m_comment = "broken display unless 0, 50 or 100"; + n_load_percent->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_load_percent); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stop_depart_condition, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::stop_depart_condition__T_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "guide_path"; + auto n_guide_path = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::stop_depart_condition, field_name)); + n_guide_path->m_field_name = field_name; + n_guide_path->m_df_type = DF_Type::coord_path; + n_guide_path->m_rdf_type = RDF_Type::Struct; + n_guide_path->m_node_type = NodeType::Compound; + n_guide_path->m_address = base + offset; + n_guide_path->m_defined_in = "df.map.xml"; + n_guide_path->m_comment = "initialized on first run, and saved"; + n_guide_path->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_guide_path); + +} +void node_from_vehicle(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::vehicle, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "item_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::vehicle, field_name)); + auto n_item_id = new NodeSimple; + n_item_id->m_field_name = field_name; + n_item_id->m_df_type = DF_Type::int32_t; + n_item_id->m_rdf_type = RDF_Type::int32_t; + n_item_id->m_node_type = NodeType::Simple; + n_item_id->m_address = base + offset; + n_item_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_id); + + field_name = "offset_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::vehicle, field_name)); + auto n_offset_x = new NodeSimple; + n_offset_x->m_field_name = field_name; + n_offset_x->m_df_type = DF_Type::int32_t; + n_offset_x->m_rdf_type = RDF_Type::int32_t; + n_offset_x->m_node_type = NodeType::Simple; + n_offset_x->m_address = base + offset; + n_offset_x->m_comment = "-50000..50000"; + n_offset_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_offset_x); + + field_name = "offset_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::vehicle, field_name)); + auto n_offset_y = new NodeSimple; + n_offset_y->m_field_name = field_name; + n_offset_y->m_df_type = DF_Type::int32_t; + n_offset_y->m_rdf_type = RDF_Type::int32_t; + n_offset_y->m_node_type = NodeType::Simple; + n_offset_y->m_address = base + offset; + n_offset_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_offset_y); + + field_name = "offset_z"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::vehicle, field_name)); + auto n_offset_z = new NodeSimple; + n_offset_z->m_field_name = field_name; + n_offset_z->m_df_type = DF_Type::int32_t; + n_offset_z->m_rdf_type = RDF_Type::int32_t; + n_offset_z->m_node_type = NodeType::Simple; + n_offset_z->m_address = base + offset; + n_offset_z->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_offset_z); + + field_name = "speed_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::vehicle, field_name)); + auto n_speed_x = new NodeSimple; + n_speed_x->m_field_name = field_name; + n_speed_x->m_df_type = DF_Type::int32_t; + n_speed_x->m_rdf_type = RDF_Type::int32_t; + n_speed_x->m_node_type = NodeType::Simple; + n_speed_x->m_address = base + offset; + n_speed_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_speed_x); + + field_name = "speed_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::vehicle, field_name)); + auto n_speed_y = new NodeSimple; + n_speed_y->m_field_name = field_name; + n_speed_y->m_df_type = DF_Type::int32_t; + n_speed_y->m_rdf_type = RDF_Type::int32_t; + n_speed_y->m_node_type = NodeType::Simple; + n_speed_y->m_address = base + offset; + n_speed_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_speed_y); + + field_name = "speed_z"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::vehicle, field_name)); + auto n_speed_z = new NodeSimple; + n_speed_z->m_field_name = field_name; + n_speed_z->m_df_type = DF_Type::int32_t; + n_speed_z->m_rdf_type = RDF_Type::int32_t; + n_speed_z->m_node_type = NodeType::Simple; + n_speed_z->m_address = base + offset; + n_speed_z->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_speed_z); + + field_name = "unk_20"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::vehicle, field_name)); + auto n_unk_20 = new NodeSimple; + n_unk_20->m_field_name = field_name; + n_unk_20->m_df_type = DF_Type::int32_t; + n_unk_20->m_rdf_type = RDF_Type::int32_t; + n_unk_20->m_node_type = NodeType::Simple; + n_unk_20->m_address = base + offset; + n_unk_20->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_20); + + field_name = "unk_24"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::vehicle, field_name)); + auto n_unk_24 = new NodeSimple; + n_unk_24->m_field_name = field_name; + n_unk_24->m_df_type = DF_Type::int32_t; + n_unk_24->m_rdf_type = RDF_Type::int32_t; + n_unk_24->m_node_type = NodeType::Simple; + n_unk_24->m_address = base + offset; + n_unk_24->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_24); + + field_name = "unk_28"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::vehicle, field_name)); + auto n_unk_28 = new NodeSimple; + n_unk_28->m_field_name = field_name; + n_unk_28->m_df_type = DF_Type::int32_t; + n_unk_28->m_rdf_type = RDF_Type::int32_t; + n_unk_28->m_node_type = NodeType::Simple; + n_unk_28->m_address = base + offset; + n_unk_28->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_28); + + field_name = "unk_2c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::vehicle, field_name)); + auto n_unk_2c = new NodeSimple; + n_unk_2c->m_field_name = field_name; + n_unk_2c->m_df_type = DF_Type::int32_t; + n_unk_2c->m_rdf_type = RDF_Type::int32_t; + n_unk_2c->m_node_type = NodeType::Simple; + n_unk_2c->m_address = base + offset; + n_unk_2c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_2c); + + field_name = "route_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::vehicle, field_name)); + auto n_route_id = new NodeSimple; + n_route_id->m_field_name = field_name; + n_route_id->m_df_type = DF_Type::int32_t; + n_route_id->m_rdf_type = RDF_Type::int32_t; + n_route_id->m_node_type = NodeType::Simple; + n_route_id->m_address = base + offset; + n_route_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_route_id); + + field_name = "pos"; + auto n_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::vehicle, field_name)); + n_pos->m_field_name = field_name; + n_pos->m_df_type = DF_Type::coord; + n_pos->m_rdf_type = RDF_Type::Struct; + n_pos->m_node_type = NodeType::Compound; + n_pos->m_address = base + offset; + n_pos->m_defined_in = "df.map.xml"; + n_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pos); + + field_name = "time_stopped"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::vehicle, field_name)); + auto n_time_stopped = new NodeSimple; + n_time_stopped->m_field_name = field_name; + n_time_stopped->m_df_type = DF_Type::int32_t; + n_time_stopped->m_rdf_type = RDF_Type::int32_t; + n_time_stopped->m_node_type = NodeType::Simple; + n_time_stopped->m_address = base + offset; + n_time_stopped->m_comment = "frames, up to 1000"; + n_time_stopped->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_time_stopped); + +} +void node_from_creature_interaction_effect_target(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mode"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_target, field_name)); + auto n_mode = new NodeVector; + n_mode->m_field_name = field_name; + n_mode->m_df_type = DF_Type::creature_interaction_effect_target_mode; + n_mode->m_rdf_type = RDF_Type::Vector; + n_mode->m_node_type = NodeType::Vector; + n_mode->m_enum_base = DF_Type::int16_t; + n_mode->m_defined_in = "df.syndrome.xml"; + n_mode->m_addornements = "v"; + n_mode->m_address = base + offset; + n_mode->m_parent = p_node_parent; + n_mode->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_mode); + + field_name = "key"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_target, field_name)); + auto n_key = new NodeVector; + n_key->m_field_name = field_name; + n_key->m_df_type = DF_Type::Stl_string; + n_key->m_rdf_type = RDF_Type::Vector; + n_key->m_node_type = NodeType::Vector; + n_key->m_addornements = "v*"; + n_key->m_address = base + offset; + n_key->m_parent = p_node_parent; + n_key->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_key); + + field_name = "tissue"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_target, field_name)); + auto n_tissue = new NodeVector; + n_tissue->m_field_name = field_name; + n_tissue->m_df_type = DF_Type::Stl_string; + n_tissue->m_rdf_type = RDF_Type::Vector; + n_tissue->m_node_type = NodeType::Vector; + n_tissue->m_addornements = "v*"; + n_tissue->m_address = base + offset; + n_tissue->m_parent = p_node_parent; + n_tissue->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_tissue); + +} +void node_from_creature_interaction_effect__T_counter_trigger(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "counter"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect__T_counter_trigger, field_name)); + auto n_counter = new NodeVector; + n_counter->m_field_name = field_name; + n_counter->m_df_type = DF_Type::misc_trait_type; + n_counter->m_rdf_type = RDF_Type::Vector; + n_counter->m_node_type = NodeType::Vector; + n_counter->m_enum_base = DF_Type::int32_t; + n_counter->m_defined_in = "df.units.xml"; + n_counter->m_addornements = "v"; + n_counter->m_address = base + offset; + n_counter->m_parent = p_node_parent; + n_counter->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_counter); + + field_name = "minval"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect__T_counter_trigger, field_name)); + auto n_minval = new NodeVector; + n_minval->m_field_name = field_name; + n_minval->m_df_type = DF_Type::int32_t; + n_minval->m_rdf_type = RDF_Type::Vector; + n_minval->m_node_type = NodeType::Vector; + n_minval->m_addornements = "v"; + n_minval->m_address = base + offset; + n_minval->m_comment = "?"; + n_minval->m_parent = p_node_parent; + n_minval->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_minval); + + field_name = "maxval"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect__T_counter_trigger, field_name)); + auto n_maxval = new NodeVector; + n_maxval->m_field_name = field_name; + n_maxval->m_df_type = DF_Type::int32_t; + n_maxval->m_rdf_type = RDF_Type::Vector; + n_maxval->m_node_type = NodeType::Vector; + n_maxval->m_addornements = "v"; + n_maxval->m_address = base + offset; + n_maxval->m_comment = "?"; + n_maxval->m_parent = p_node_parent; + n_maxval->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_maxval); + + field_name = "required"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect__T_counter_trigger, field_name)); + auto n_required = new NodeVector; + n_required->m_field_name = field_name; + n_required->m_df_type = DF_Type::int32_t; + n_required->m_rdf_type = RDF_Type::Vector; + n_required->m_node_type = NodeType::Vector; + n_required->m_addornements = "v"; + n_required->m_address = base + offset; + n_required->m_parent = p_node_parent; + n_required->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_required); + +} +void node_from_creature_interaction_effect(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::creature_interaction_effect_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_defined_in = "df.syndrome.xml"; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "prob"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect, field_name)); + auto n_prob = new NodeSimple; + n_prob->m_field_name = field_name; + n_prob->m_df_type = DF_Type::int32_t; + n_prob->m_rdf_type = RDF_Type::int32_t; + n_prob->m_node_type = NodeType::Simple; + n_prob->m_address = base + offset; + n_prob->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_prob); + + field_name = "start"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect, field_name)); + auto n_start = new NodeSimple; + n_start->m_field_name = field_name; + n_start->m_df_type = DF_Type::int32_t; + n_start->m_rdf_type = RDF_Type::int32_t; + n_start->m_node_type = NodeType::Simple; + n_start->m_address = base + offset; + n_start->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_start); + + field_name = "peak"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect, field_name)); + auto n_peak = new NodeSimple; + n_peak->m_field_name = field_name; + n_peak->m_df_type = DF_Type::int32_t; + n_peak->m_rdf_type = RDF_Type::int32_t; + n_peak->m_node_type = NodeType::Simple; + n_peak->m_address = base + offset; + n_peak->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_peak); + + field_name = "end"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect, field_name)); + auto n_end = new NodeSimple; + n_end->m_field_name = field_name; + n_end->m_df_type = DF_Type::int32_t; + n_end->m_rdf_type = RDF_Type::int32_t; + n_end->m_node_type = NodeType::Simple; + n_end->m_address = base + offset; + n_end->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_end); + + field_name = "dwf_stretch"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect, field_name)); + auto n_dwf_stretch = new NodeSimple; + n_dwf_stretch->m_field_name = field_name; + n_dwf_stretch->m_df_type = DF_Type::int32_t; + n_dwf_stretch->m_rdf_type = RDF_Type::int32_t; + n_dwf_stretch->m_node_type = NodeType::Simple; + n_dwf_stretch->m_address = base + offset; + n_dwf_stretch->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dwf_stretch); + + field_name = "syn_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect, field_name)); + auto n_syn_id = new NodeSimple; + n_syn_id->m_field_name = field_name; + n_syn_id->m_df_type = DF_Type::int32_t; + n_syn_id->m_rdf_type = RDF_Type::int32_t; + n_syn_id->m_node_type = NodeType::Simple; + n_syn_id->m_address = base + offset; + n_syn_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_syn_id); + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "syn_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect, field_name)); + auto n_syn_index = new NodeSimple; + n_syn_index->m_field_name = field_name; + n_syn_index->m_df_type = DF_Type::int32_t; + n_syn_index->m_rdf_type = RDF_Type::int32_t; + n_syn_index->m_node_type = NodeType::Simple; + n_syn_index->m_address = base + offset; + n_syn_index->m_comment = "index in syndrome"; + n_syn_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_syn_index); + + field_name = "moon_phase_min"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect, field_name)); + auto n_moon_phase_min = new NodeSimple; + n_moon_phase_min->m_field_name = field_name; + n_moon_phase_min->m_df_type = DF_Type::int32_t; + n_moon_phase_min->m_rdf_type = RDF_Type::int32_t; + n_moon_phase_min->m_node_type = NodeType::Simple; + n_moon_phase_min->m_address = base + offset; + n_moon_phase_min->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_moon_phase_min); + + field_name = "moon_phase_max"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect, field_name)); + auto n_moon_phase_max = new NodeSimple; + n_moon_phase_max->m_field_name = field_name; + n_moon_phase_max->m_df_type = DF_Type::int32_t; + n_moon_phase_max->m_rdf_type = RDF_Type::int32_t; + n_moon_phase_max->m_node_type = NodeType::Simple; + n_moon_phase_max->m_address = base + offset; + n_moon_phase_max->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_moon_phase_max); + + field_name = "counter_trigger"; + auto n_counter_trigger = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect, field_name)); + n_counter_trigger->m_field_name = field_name; + n_counter_trigger->m_df_type = DF_Type::creature_interaction_effect__T_counter_trigger; + n_counter_trigger->m_rdf_type = RDF_Type::Compound; + n_counter_trigger->m_node_type = NodeType::Compound; + n_counter_trigger->m_address = base + offset; + n_counter_trigger->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_counter_trigger); + +} +void node_from_creature_interaction_effect_painst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::creature_interaction_effect; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_creature_interaction_effect(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "sev"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_painst, field_name)); + auto n_sev = new NodeSimple; + n_sev->m_field_name = field_name; + n_sev->m_df_type = DF_Type::int32_t; + n_sev->m_rdf_type = RDF_Type::int32_t; + n_sev->m_node_type = NodeType::Simple; + n_sev->m_address = base + offset; + n_sev->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sev); + + field_name = "target"; + auto n_target = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_painst, field_name)); + n_target->m_field_name = field_name; + n_target->m_df_type = DF_Type::creature_interaction_effect_target; + n_target->m_rdf_type = RDF_Type::Struct; + n_target->m_node_type = NodeType::Compound; + n_target->m_address = base + offset; + n_target->m_defined_in = "df.syndrome.xml"; + n_target->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_target); + +} +void node_from_creature_interaction_effect_swellingst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::creature_interaction_effect; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_creature_interaction_effect(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "sev"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_swellingst, field_name)); + auto n_sev = new NodeSimple; + n_sev->m_field_name = field_name; + n_sev->m_df_type = DF_Type::int32_t; + n_sev->m_rdf_type = RDF_Type::int32_t; + n_sev->m_node_type = NodeType::Simple; + n_sev->m_address = base + offset; + n_sev->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sev); + + field_name = "target"; + auto n_target = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_swellingst, field_name)); + n_target->m_field_name = field_name; + n_target->m_df_type = DF_Type::creature_interaction_effect_target; + n_target->m_rdf_type = RDF_Type::Struct; + n_target->m_node_type = NodeType::Compound; + n_target->m_address = base + offset; + n_target->m_defined_in = "df.syndrome.xml"; + n_target->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_target); + +} +void node_from_creature_interaction_effect_oozingst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::creature_interaction_effect; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_creature_interaction_effect(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "sev"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_oozingst, field_name)); + auto n_sev = new NodeSimple; + n_sev->m_field_name = field_name; + n_sev->m_df_type = DF_Type::int32_t; + n_sev->m_rdf_type = RDF_Type::int32_t; + n_sev->m_node_type = NodeType::Simple; + n_sev->m_address = base + offset; + n_sev->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sev); + + field_name = "target"; + auto n_target = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_oozingst, field_name)); + n_target->m_field_name = field_name; + n_target->m_df_type = DF_Type::creature_interaction_effect_target; + n_target->m_rdf_type = RDF_Type::Struct; + n_target->m_node_type = NodeType::Compound; + n_target->m_address = base + offset; + n_target->m_defined_in = "df.syndrome.xml"; + n_target->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_target); + +} +void node_from_creature_interaction_effect_bruisingst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::creature_interaction_effect; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_creature_interaction_effect(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "sev"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_bruisingst, field_name)); + auto n_sev = new NodeSimple; + n_sev->m_field_name = field_name; + n_sev->m_df_type = DF_Type::int32_t; + n_sev->m_rdf_type = RDF_Type::int32_t; + n_sev->m_node_type = NodeType::Simple; + n_sev->m_address = base + offset; + n_sev->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sev); + + field_name = "target"; + auto n_target = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_bruisingst, field_name)); + n_target->m_field_name = field_name; + n_target->m_df_type = DF_Type::creature_interaction_effect_target; + n_target->m_rdf_type = RDF_Type::Struct; + n_target->m_node_type = NodeType::Compound; + n_target->m_address = base + offset; + n_target->m_defined_in = "df.syndrome.xml"; + n_target->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_target); + +} +void node_from_creature_interaction_effect_blistersst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::creature_interaction_effect; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_creature_interaction_effect(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "sev"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_blistersst, field_name)); + auto n_sev = new NodeSimple; + n_sev->m_field_name = field_name; + n_sev->m_df_type = DF_Type::int32_t; + n_sev->m_rdf_type = RDF_Type::int32_t; + n_sev->m_node_type = NodeType::Simple; + n_sev->m_address = base + offset; + n_sev->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sev); + + field_name = "target"; + auto n_target = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_blistersst, field_name)); + n_target->m_field_name = field_name; + n_target->m_df_type = DF_Type::creature_interaction_effect_target; + n_target->m_rdf_type = RDF_Type::Struct; + n_target->m_node_type = NodeType::Compound; + n_target->m_address = base + offset; + n_target->m_defined_in = "df.syndrome.xml"; + n_target->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_target); + +} +void node_from_creature_interaction_effect_numbnessst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::creature_interaction_effect; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_creature_interaction_effect(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "sev"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_numbnessst, field_name)); + auto n_sev = new NodeSimple; + n_sev->m_field_name = field_name; + n_sev->m_df_type = DF_Type::int32_t; + n_sev->m_rdf_type = RDF_Type::int32_t; + n_sev->m_node_type = NodeType::Simple; + n_sev->m_address = base + offset; + n_sev->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sev); + + field_name = "target"; + auto n_target = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_numbnessst, field_name)); + n_target->m_field_name = field_name; + n_target->m_df_type = DF_Type::creature_interaction_effect_target; + n_target->m_rdf_type = RDF_Type::Struct; + n_target->m_node_type = NodeType::Compound; + n_target->m_address = base + offset; + n_target->m_defined_in = "df.syndrome.xml"; + n_target->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_target); + +} +void node_from_creature_interaction_effect_paralysisst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::creature_interaction_effect; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_creature_interaction_effect(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "sev"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_paralysisst, field_name)); + auto n_sev = new NodeSimple; + n_sev->m_field_name = field_name; + n_sev->m_df_type = DF_Type::int32_t; + n_sev->m_rdf_type = RDF_Type::int32_t; + n_sev->m_node_type = NodeType::Simple; + n_sev->m_address = base + offset; + n_sev->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sev); + + field_name = "target"; + auto n_target = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_paralysisst, field_name)); + n_target->m_field_name = field_name; + n_target->m_df_type = DF_Type::creature_interaction_effect_target; + n_target->m_rdf_type = RDF_Type::Struct; + n_target->m_node_type = NodeType::Compound; + n_target->m_address = base + offset; + n_target->m_defined_in = "df.syndrome.xml"; + n_target->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_target); + +} +void node_from_creature_interaction_effect_feverst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::creature_interaction_effect; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_creature_interaction_effect(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "sev"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_feverst, field_name)); + auto n_sev = new NodeSimple; + n_sev->m_field_name = field_name; + n_sev->m_df_type = DF_Type::int32_t; + n_sev->m_rdf_type = RDF_Type::int32_t; + n_sev->m_node_type = NodeType::Simple; + n_sev->m_address = base + offset; + n_sev->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sev); + +} +void node_from_creature_interaction_effect_bleedingst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::creature_interaction_effect; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_creature_interaction_effect(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "sev"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_bleedingst, field_name)); + auto n_sev = new NodeSimple; + n_sev->m_field_name = field_name; + n_sev->m_df_type = DF_Type::int32_t; + n_sev->m_rdf_type = RDF_Type::int32_t; + n_sev->m_node_type = NodeType::Simple; + n_sev->m_address = base + offset; + n_sev->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sev); + + field_name = "target"; + auto n_target = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_bleedingst, field_name)); + n_target->m_field_name = field_name; + n_target->m_df_type = DF_Type::creature_interaction_effect_target; + n_target->m_rdf_type = RDF_Type::Struct; + n_target->m_node_type = NodeType::Compound; + n_target->m_address = base + offset; + n_target->m_defined_in = "df.syndrome.xml"; + n_target->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_target); + +} +void node_from_creature_interaction_effect_cough_bloodst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::creature_interaction_effect; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_creature_interaction_effect(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "sev"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_cough_bloodst, field_name)); + auto n_sev = new NodeSimple; + n_sev->m_field_name = field_name; + n_sev->m_df_type = DF_Type::int32_t; + n_sev->m_rdf_type = RDF_Type::int32_t; + n_sev->m_node_type = NodeType::Simple; + n_sev->m_address = base + offset; + n_sev->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sev); + +} +void node_from_creature_interaction_effect_vomit_bloodst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::creature_interaction_effect; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_creature_interaction_effect(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "sev"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_vomit_bloodst, field_name)); + auto n_sev = new NodeSimple; + n_sev->m_field_name = field_name; + n_sev->m_df_type = DF_Type::int32_t; + n_sev->m_rdf_type = RDF_Type::int32_t; + n_sev->m_node_type = NodeType::Simple; + n_sev->m_address = base + offset; + n_sev->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sev); + +} +void node_from_creature_interaction_effect_nauseast(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::creature_interaction_effect; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_creature_interaction_effect(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "sev"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_nauseast, field_name)); + auto n_sev = new NodeSimple; + n_sev->m_field_name = field_name; + n_sev->m_df_type = DF_Type::int32_t; + n_sev->m_rdf_type = RDF_Type::int32_t; + n_sev->m_node_type = NodeType::Simple; + n_sev->m_address = base + offset; + n_sev->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sev); + +} +void node_from_creature_interaction_effect_unconsciousnessst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::creature_interaction_effect; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_creature_interaction_effect(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "sev"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_unconsciousnessst, field_name)); + auto n_sev = new NodeSimple; + n_sev->m_field_name = field_name; + n_sev->m_df_type = DF_Type::int32_t; + n_sev->m_rdf_type = RDF_Type::int32_t; + n_sev->m_node_type = NodeType::Simple; + n_sev->m_address = base + offset; + n_sev->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sev); + +} +void node_from_creature_interaction_effect_necrosisst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::creature_interaction_effect; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_creature_interaction_effect(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "sev"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_necrosisst, field_name)); + auto n_sev = new NodeSimple; + n_sev->m_field_name = field_name; + n_sev->m_df_type = DF_Type::int32_t; + n_sev->m_rdf_type = RDF_Type::int32_t; + n_sev->m_node_type = NodeType::Simple; + n_sev->m_address = base + offset; + n_sev->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sev); + + field_name = "target"; + auto n_target = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_necrosisst, field_name)); + n_target->m_field_name = field_name; + n_target->m_df_type = DF_Type::creature_interaction_effect_target; + n_target->m_rdf_type = RDF_Type::Struct; + n_target->m_node_type = NodeType::Compound; + n_target->m_address = base + offset; + n_target->m_defined_in = "df.syndrome.xml"; + n_target->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_target); + +} +void node_from_creature_interaction_effect_impair_functionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::creature_interaction_effect; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_creature_interaction_effect(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "sev"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_impair_functionst, field_name)); + auto n_sev = new NodeSimple; + n_sev->m_field_name = field_name; + n_sev->m_df_type = DF_Type::int32_t; + n_sev->m_rdf_type = RDF_Type::int32_t; + n_sev->m_node_type = NodeType::Simple; + n_sev->m_address = base + offset; + n_sev->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sev); + + field_name = "target"; + auto n_target = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_impair_functionst, field_name)); + n_target->m_field_name = field_name; + n_target->m_df_type = DF_Type::creature_interaction_effect_target; + n_target->m_rdf_type = RDF_Type::Struct; + n_target->m_node_type = NodeType::Compound; + n_target->m_address = base + offset; + n_target->m_defined_in = "df.syndrome.xml"; + n_target->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_target); + +} +void node_from_creature_interaction_effect_drowsinessst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::creature_interaction_effect; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_creature_interaction_effect(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "sev"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_drowsinessst, field_name)); + auto n_sev = new NodeSimple; + n_sev->m_field_name = field_name; + n_sev->m_df_type = DF_Type::int32_t; + n_sev->m_rdf_type = RDF_Type::int32_t; + n_sev->m_node_type = NodeType::Simple; + n_sev->m_address = base + offset; + n_sev->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sev); + +} +void node_from_creature_interaction_effect_dizzinessst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::creature_interaction_effect; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_creature_interaction_effect(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "sev"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_dizzinessst, field_name)); + auto n_sev = new NodeSimple; + n_sev->m_field_name = field_name; + n_sev->m_df_type = DF_Type::int32_t; + n_sev->m_rdf_type = RDF_Type::int32_t; + n_sev->m_node_type = NodeType::Simple; + n_sev->m_address = base + offset; + n_sev->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sev); + +} +void node_from_creature_interaction_effect_display_namest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::creature_interaction_effect; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_creature_interaction_effect(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_display_namest, field_name)); + auto n_name = new NodeSimple; + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Stl_string; + n_name->m_node_type = NodeType::Simple; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "name_plural"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_display_namest, field_name)); + auto n_name_plural = new NodeSimple; + n_name_plural->m_field_name = field_name; + n_name_plural->m_df_type = DF_Type::Stl_string; + n_name_plural->m_rdf_type = RDF_Type::Stl_string; + n_name_plural->m_node_type = NodeType::Simple; + n_name_plural->m_address = base + offset; + n_name_plural->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name_plural); + + field_name = "name_adj"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_display_namest, field_name)); + auto n_name_adj = new NodeSimple; + n_name_adj->m_field_name = field_name; + n_name_adj->m_df_type = DF_Type::Stl_string; + n_name_adj->m_rdf_type = RDF_Type::Stl_string; + n_name_adj->m_node_type = NodeType::Simple; + n_name_adj->m_address = base + offset; + n_name_adj->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name_adj); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_display_namest, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_creature_interaction_effect_body_appearance_modifierst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::creature_interaction_effect; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_creature_interaction_effect(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk_60"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_body_appearance_modifierst, field_name)); + auto n_unk_60 = new NodeSimple; + n_unk_60->m_field_name = field_name; + n_unk_60->m_df_type = DF_Type::int16_t; + n_unk_60->m_rdf_type = RDF_Type::int16_t; + n_unk_60->m_node_type = NodeType::Simple; + n_unk_60->m_address = base + offset; + n_unk_60->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_60); + + field_name = "unk_64"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_body_appearance_modifierst, field_name)); + auto n_unk_64 = new NodeSimple; + n_unk_64->m_field_name = field_name; + n_unk_64->m_df_type = DF_Type::int32_t; + n_unk_64->m_rdf_type = RDF_Type::int32_t; + n_unk_64->m_node_type = NodeType::Simple; + n_unk_64->m_address = base + offset; + n_unk_64->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_64); + +} +void node_from_creature_interaction_effect_bp_appearance_modifierst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::creature_interaction_effect; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_creature_interaction_effect(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk_6c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_bp_appearance_modifierst, field_name)); + auto n_unk_6c = new NodeSimple; + n_unk_6c->m_field_name = field_name; + n_unk_6c->m_df_type = DF_Type::int16_t; + n_unk_6c->m_rdf_type = RDF_Type::int16_t; + n_unk_6c->m_node_type = NodeType::Simple; + n_unk_6c->m_address = base + offset; + n_unk_6c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_6c); + + field_name = "value"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_bp_appearance_modifierst, field_name)); + auto n_value = new NodeSimple; + n_value->m_field_name = field_name; + n_value->m_df_type = DF_Type::int32_t; + n_value->m_rdf_type = RDF_Type::int32_t; + n_value->m_node_type = NodeType::Simple; + n_value->m_address = base + offset; + n_value->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_value); + + field_name = "target"; + auto n_target = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_bp_appearance_modifierst, field_name)); + n_target->m_field_name = field_name; + n_target->m_df_type = DF_Type::creature_interaction_effect_target; + n_target->m_rdf_type = RDF_Type::Struct; + n_target->m_node_type = NodeType::Compound; + n_target->m_address = base + offset; + n_target->m_defined_in = "df.syndrome.xml"; + n_target->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_target); + +} +void node_from_creature_interaction_effect_body_transformationst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::creature_interaction_effect; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_creature_interaction_effect(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "chance"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_body_transformationst, field_name)); + auto n_chance = new NodeSimple; + n_chance->m_field_name = field_name; + n_chance->m_df_type = DF_Type::int32_t; + n_chance->m_rdf_type = RDF_Type::int32_t; + n_chance->m_node_type = NodeType::Simple; + n_chance->m_address = base + offset; + n_chance->m_comment = "%"; + n_chance->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_chance); + + field_name = "race_str"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_body_transformationst, field_name)); + auto n_race_str = new NodeSimple; + n_race_str->m_field_name = field_name; + n_race_str->m_df_type = DF_Type::Stl_string; + n_race_str->m_rdf_type = RDF_Type::Stl_string; + n_race_str->m_node_type = NodeType::Simple; + n_race_str->m_address = base + offset; + n_race_str->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_race_str); + + field_name = "caste_str"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_body_transformationst, field_name)); + auto n_caste_str = new NodeSimple; + n_caste_str->m_field_name = field_name; + n_caste_str->m_df_type = DF_Type::Stl_string; + n_caste_str->m_rdf_type = RDF_Type::Stl_string; + n_caste_str->m_node_type = NodeType::Simple; + n_caste_str->m_address = base + offset; + n_caste_str->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_caste_str); + + field_name = "race"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_body_transformationst, field_name)); + auto n_race = new NodeSimple; + n_race->m_field_name = field_name; + n_race->m_df_type = DF_Type::int32_t; + n_race->m_rdf_type = RDF_Type::int32_t; + n_race->m_node_type = NodeType::Simple; + n_race->m_address = base + offset; + n_race->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_race); + + field_name = "caste"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_body_transformationst, field_name)); + auto n_caste = new NodeSimple; + n_caste->m_field_name = field_name; + n_caste->m_df_type = DF_Type::int16_t; + n_caste->m_rdf_type = RDF_Type::int16_t; + n_caste->m_node_type = NodeType::Simple; + n_caste->m_address = base + offset; + n_caste->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_caste); + +} +void node_from_creature_interaction_effect_skill_roll_adjustst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::creature_interaction_effect; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_creature_interaction_effect(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "multiplier"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_skill_roll_adjustst, field_name)); + auto n_multiplier = new NodeSimple; + n_multiplier->m_field_name = field_name; + n_multiplier->m_df_type = DF_Type::int32_t; + n_multiplier->m_rdf_type = RDF_Type::int32_t; + n_multiplier->m_node_type = NodeType::Simple; + n_multiplier->m_address = base + offset; + n_multiplier->m_comment = "% change for skill"; + n_multiplier->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_multiplier); + + field_name = "chance"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_skill_roll_adjustst, field_name)); + auto n_chance = new NodeSimple; + n_chance->m_field_name = field_name; + n_chance->m_df_type = DF_Type::int32_t; + n_chance->m_rdf_type = RDF_Type::int32_t; + n_chance->m_node_type = NodeType::Simple; + n_chance->m_address = base + offset; + n_chance->m_comment = "% probability per roll"; + n_chance->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_chance); + +} +void node_from_creature_interaction_effect_display_symbolst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::creature_interaction_effect; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_creature_interaction_effect(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "tile"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_display_symbolst, field_name)); + auto n_tile = new NodeSimple; + n_tile->m_field_name = field_name; + n_tile->m_df_type = DF_Type::int32_t; + n_tile->m_rdf_type = RDF_Type::int32_t; + n_tile->m_node_type = NodeType::Simple; + n_tile->m_address = base + offset; + n_tile->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tile); + + field_name = "color"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_display_symbolst, field_name)); + auto n_color = new NodeSimple; + n_color->m_field_name = field_name; + n_color->m_df_type = DF_Type::int32_t; + n_color->m_rdf_type = RDF_Type::int32_t; + n_color->m_node_type = NodeType::Simple; + n_color->m_address = base + offset; + n_color->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_color); + +} +void node_from_creature_interaction_effect_flash_symbolst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::creature_interaction_effect; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_creature_interaction_effect(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "sym_color"; + auto n_sym_color = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_flash_symbolst, field_name)); + n_sym_color->m_field_name = field_name; + n_sym_color->m_df_type = DF_Type::uint8_t; + n_sym_color->m_rdf_type = RDF_Type::Array; + n_sym_color->m_node_type = NodeType::Array; + n_sym_color->m_addornements = "[4"; + n_sym_color->m_array_size = 4; + n_sym_color->m_address = base + offset; + n_sym_color->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sym_color); + + field_name = "period"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_flash_symbolst, field_name)); + auto n_period = new NodeSimple; + n_period->m_field_name = field_name; + n_period->m_df_type = DF_Type::int32_t; + n_period->m_rdf_type = RDF_Type::int32_t; + n_period->m_node_type = NodeType::Simple; + n_period->m_address = base + offset; + n_period->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_period); + + field_name = "time"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_flash_symbolst, field_name)); + auto n_time = new NodeSimple; + n_time->m_field_name = field_name; + n_time->m_df_type = DF_Type::int32_t; + n_time->m_rdf_type = RDF_Type::int32_t; + n_time->m_node_type = NodeType::Simple; + n_time->m_address = base + offset; + n_time->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_time); + + field_name = "unk_78"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_flash_symbolst, field_name)); + auto n_unk_78 = new NodeSimple; + n_unk_78->m_field_name = field_name; + n_unk_78->m_df_type = DF_Type::int32_t; + n_unk_78->m_rdf_type = RDF_Type::int32_t; + n_unk_78->m_node_type = NodeType::Simple; + n_unk_78->m_address = base + offset; + n_unk_78->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_78); + +} +void node_from_creature_interaction_effect_phys_att_changest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::creature_interaction_effect; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_creature_interaction_effect(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "phys_att_perc"; + auto n_phys_att_perc = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_phys_att_changest, field_name)); + n_phys_att_perc->m_field_name = field_name; + n_phys_att_perc->m_df_type = DF_Type::int32_t; + n_phys_att_perc->m_rdf_type = RDF_Type::Array; + n_phys_att_perc->m_node_type = NodeType::Array; + n_phys_att_perc->m_index_enum = DF_Type::physical_attribute_type; + n_phys_att_perc->m_addornements = "[6"; + n_phys_att_perc->m_array_size = 6; + n_phys_att_perc->m_address = base + offset; + n_phys_att_perc->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_phys_att_perc); + + field_name = "phys_att_add"; + auto n_phys_att_add = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_phys_att_changest, field_name)); + n_phys_att_add->m_field_name = field_name; + n_phys_att_add->m_df_type = DF_Type::int32_t; + n_phys_att_add->m_rdf_type = RDF_Type::Array; + n_phys_att_add->m_node_type = NodeType::Array; + n_phys_att_add->m_index_enum = DF_Type::physical_attribute_type; + n_phys_att_add->m_addornements = "[6"; + n_phys_att_add->m_array_size = 6; + n_phys_att_add->m_address = base + offset; + n_phys_att_add->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_phys_att_add); + +} +void node_from_creature_interaction_effect_ment_att_changest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::creature_interaction_effect; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_creature_interaction_effect(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "ment_att_perc"; + auto n_ment_att_perc = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_ment_att_changest, field_name)); + n_ment_att_perc->m_field_name = field_name; + n_ment_att_perc->m_df_type = DF_Type::int32_t; + n_ment_att_perc->m_rdf_type = RDF_Type::Array; + n_ment_att_perc->m_node_type = NodeType::Array; + n_ment_att_perc->m_index_enum = DF_Type::mental_attribute_type; + n_ment_att_perc->m_addornements = "[13"; + n_ment_att_perc->m_array_size = 13; + n_ment_att_perc->m_address = base + offset; + n_ment_att_perc->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ment_att_perc); + + field_name = "ment_att_add"; + auto n_ment_att_add = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_ment_att_changest, field_name)); + n_ment_att_add->m_field_name = field_name; + n_ment_att_add->m_df_type = DF_Type::int32_t; + n_ment_att_add->m_rdf_type = RDF_Type::Array; + n_ment_att_add->m_node_type = NodeType::Array; + n_ment_att_add->m_index_enum = DF_Type::mental_attribute_type; + n_ment_att_add->m_addornements = "[13"; + n_ment_att_add->m_array_size = 13; + n_ment_att_add->m_address = base + offset; + n_ment_att_add->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ment_att_add); + +} +void node_from_creature_interaction_effect_add_simple_flagst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::creature_interaction_effect; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_creature_interaction_effect(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "tags1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_add_simple_flagst, field_name)); + auto n_tags1 = new NodeBitfield; + n_tags1->m_field_name = field_name; + n_tags1->m_df_type = DF_Type::cie_add_tag_mask1; + n_tags1->m_rdf_type = RDF_Type::Bitfield; + n_tags1->m_node_type = NodeType::Bitfield; + n_tags1->m_address = base + offset; + n_tags1->m_defined_in = "df.syndrome.xml"; + n_tags1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tags1); + + field_name = "tags2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_add_simple_flagst, field_name)); + auto n_tags2 = new NodeBitfield; + n_tags2->m_field_name = field_name; + n_tags2->m_df_type = DF_Type::cie_add_tag_mask2; + n_tags2->m_rdf_type = RDF_Type::Bitfield; + n_tags2->m_node_type = NodeType::Bitfield; + n_tags2->m_address = base + offset; + n_tags2->m_defined_in = "df.syndrome.xml"; + n_tags2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tags2); + +} +void node_from_creature_interaction_effect_remove_simple_flagst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::creature_interaction_effect; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_creature_interaction_effect(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "tags1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_remove_simple_flagst, field_name)); + auto n_tags1 = new NodeBitfield; + n_tags1->m_field_name = field_name; + n_tags1->m_df_type = DF_Type::cie_add_tag_mask1; + n_tags1->m_rdf_type = RDF_Type::Bitfield; + n_tags1->m_node_type = NodeType::Bitfield; + n_tags1->m_address = base + offset; + n_tags1->m_defined_in = "df.syndrome.xml"; + n_tags1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tags1); + + field_name = "tags2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_remove_simple_flagst, field_name)); + auto n_tags2 = new NodeBitfield; + n_tags2->m_field_name = field_name; + n_tags2->m_df_type = DF_Type::cie_add_tag_mask2; + n_tags2->m_rdf_type = RDF_Type::Bitfield; + n_tags2->m_node_type = NodeType::Bitfield; + n_tags2->m_address = base + offset; + n_tags2->m_defined_in = "df.syndrome.xml"; + n_tags2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tags2); + +} +void node_from_creature_interaction_effect_speed_changest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::creature_interaction_effect; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_creature_interaction_effect(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "bonus_add"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_speed_changest, field_name)); + auto n_bonus_add = new NodeSimple; + n_bonus_add->m_field_name = field_name; + n_bonus_add->m_df_type = DF_Type::int32_t; + n_bonus_add->m_rdf_type = RDF_Type::int32_t; + n_bonus_add->m_node_type = NodeType::Simple; + n_bonus_add->m_address = base + offset; + n_bonus_add->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_bonus_add); + + field_name = "bonus_perc"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_speed_changest, field_name)); + auto n_bonus_perc = new NodeSimple; + n_bonus_perc->m_field_name = field_name; + n_bonus_perc->m_df_type = DF_Type::int32_t; + n_bonus_perc->m_rdf_type = RDF_Type::int32_t; + n_bonus_perc->m_node_type = NodeType::Simple; + n_bonus_perc->m_address = base + offset; + n_bonus_perc->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_bonus_perc); + +} +void node_from_creature_interaction_effect_body_mat_interactionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::creature_interaction_effect; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_creature_interaction_effect(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk_6c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_body_mat_interactionst, field_name)); + auto n_unk_6c = new NodeSimple; + n_unk_6c->m_field_name = field_name; + n_unk_6c->m_df_type = DF_Type::Stl_string; + n_unk_6c->m_rdf_type = RDF_Type::Stl_string; + n_unk_6c->m_node_type = NodeType::Simple; + n_unk_6c->m_address = base + offset; + n_unk_6c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_6c); + + field_name = "unk_88"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_body_mat_interactionst, field_name)); + auto n_unk_88 = new NodeSimple; + n_unk_88->m_field_name = field_name; + n_unk_88->m_df_type = DF_Type::int32_t; + n_unk_88->m_rdf_type = RDF_Type::int32_t; + n_unk_88->m_node_type = NodeType::Simple; + n_unk_88->m_address = base + offset; + n_unk_88->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_88); + + field_name = "unk_8c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_body_mat_interactionst, field_name)); + auto n_unk_8c = new NodeSimple; + n_unk_8c->m_field_name = field_name; + n_unk_8c->m_df_type = DF_Type::int32_t; + n_unk_8c->m_rdf_type = RDF_Type::int32_t; + n_unk_8c->m_node_type = NodeType::Simple; + n_unk_8c->m_address = base + offset; + n_unk_8c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_8c); + + field_name = "unk_90"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_body_mat_interactionst, field_name)); + auto n_unk_90 = new NodeSimple; + n_unk_90->m_field_name = field_name; + n_unk_90->m_df_type = DF_Type::int32_t; + n_unk_90->m_rdf_type = RDF_Type::int32_t; + n_unk_90->m_node_type = NodeType::Simple; + n_unk_90->m_address = base + offset; + n_unk_90->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_90); + + field_name = "unk_94"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_body_mat_interactionst, field_name)); + auto n_unk_94 = new NodeSimple; + n_unk_94->m_field_name = field_name; + n_unk_94->m_df_type = DF_Type::Stl_string; + n_unk_94->m_rdf_type = RDF_Type::Stl_string; + n_unk_94->m_node_type = NodeType::Simple; + n_unk_94->m_address = base + offset; + n_unk_94->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_94); + +} +void node_from_creature_interaction_effect_material_force_adjustst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::creature_interaction_effect; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_creature_interaction_effect(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk_6c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_material_force_adjustst, field_name)); + auto n_unk_6c = new NodeSimple; + n_unk_6c->m_field_name = field_name; + n_unk_6c->m_df_type = DF_Type::Stl_string; + n_unk_6c->m_rdf_type = RDF_Type::Stl_string; + n_unk_6c->m_node_type = NodeType::Simple; + n_unk_6c->m_address = base + offset; + n_unk_6c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_6c); + + field_name = "unk_88"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_material_force_adjustst, field_name)); + auto n_unk_88 = new NodeSimple; + n_unk_88->m_field_name = field_name; + n_unk_88->m_df_type = DF_Type::Stl_string; + n_unk_88->m_rdf_type = RDF_Type::Stl_string; + n_unk_88->m_node_type = NodeType::Simple; + n_unk_88->m_address = base + offset; + n_unk_88->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_88); + + field_name = "unk_a4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_material_force_adjustst, field_name)); + auto n_unk_a4 = new NodeSimple; + n_unk_a4->m_field_name = field_name; + n_unk_a4->m_df_type = DF_Type::Stl_string; + n_unk_a4->m_rdf_type = RDF_Type::Stl_string; + n_unk_a4->m_node_type = NodeType::Simple; + n_unk_a4->m_address = base + offset; + n_unk_a4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_a4); + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_material_force_adjustst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_material_force_adjustst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "fraction_mul"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_material_force_adjustst, field_name)); + auto n_fraction_mul = new NodeSimple; + n_fraction_mul->m_field_name = field_name; + n_fraction_mul->m_df_type = DF_Type::int32_t; + n_fraction_mul->m_rdf_type = RDF_Type::int32_t; + n_fraction_mul->m_node_type = NodeType::Simple; + n_fraction_mul->m_address = base + offset; + n_fraction_mul->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_fraction_mul); + + field_name = "fraction_div"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_material_force_adjustst, field_name)); + auto n_fraction_div = new NodeSimple; + n_fraction_div->m_field_name = field_name; + n_fraction_div->m_df_type = DF_Type::int32_t; + n_fraction_div->m_rdf_type = RDF_Type::int32_t; + n_fraction_div->m_node_type = NodeType::Simple; + n_fraction_div->m_address = base + offset; + n_fraction_div->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_fraction_div); + +} +void node_from_creature_interaction_effect_can_do_interactionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::creature_interaction_effect; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_creature_interaction_effect(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "interaction"; + auto n_interaction = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_can_do_interactionst, field_name)); + n_interaction->m_field_name = field_name; + n_interaction->m_df_type = DF_Type::creature_interaction; + n_interaction->m_rdf_type = RDF_Type::Struct; + n_interaction->m_node_type = NodeType::Compound; + n_interaction->m_address = base + offset; + n_interaction->m_defined_in = "df.creature-raws.xml"; + n_interaction->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_interaction); + +} +void node_from_creature_interaction_effect_sense_creature_classst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::creature_interaction_effect; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_creature_interaction_effect(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "class_name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_sense_creature_classst, field_name)); + auto n_class_name = new NodeSimple; + n_class_name->m_field_name = field_name; + n_class_name->m_df_type = DF_Type::Stl_string; + n_class_name->m_rdf_type = RDF_Type::Stl_string; + n_class_name->m_node_type = NodeType::Simple; + n_class_name->m_address = base + offset; + n_class_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_class_name); + + field_name = "unk_88"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_sense_creature_classst, field_name)); + auto n_unk_88 = new NodeSimple; + n_unk_88->m_field_name = field_name; + n_unk_88->m_df_type = DF_Type::int8_t; + n_unk_88->m_rdf_type = RDF_Type::int8_t; + n_unk_88->m_node_type = NodeType::Simple; + n_unk_88->m_address = base + offset; + n_unk_88->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_88); + + field_name = "unk_8a"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_sense_creature_classst, field_name)); + auto n_unk_8a = new NodeSimple; + n_unk_8a->m_field_name = field_name; + n_unk_8a->m_df_type = DF_Type::int16_t; + n_unk_8a->m_rdf_type = RDF_Type::int16_t; + n_unk_8a->m_node_type = NodeType::Simple; + n_unk_8a->m_address = base + offset; + n_unk_8a->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_8a); + + field_name = "unk_8c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_sense_creature_classst, field_name)); + auto n_unk_8c = new NodeSimple; + n_unk_8c->m_field_name = field_name; + n_unk_8c->m_df_type = DF_Type::int16_t; + n_unk_8c->m_rdf_type = RDF_Type::int16_t; + n_unk_8c->m_node_type = NodeType::Simple; + n_unk_8c->m_address = base + offset; + n_unk_8c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_8c); + + field_name = "unk_8e"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_sense_creature_classst, field_name)); + auto n_unk_8e = new NodeSimple; + n_unk_8e->m_field_name = field_name; + n_unk_8e->m_df_type = DF_Type::int16_t; + n_unk_8e->m_rdf_type = RDF_Type::int16_t; + n_unk_8e->m_node_type = NodeType::Simple; + n_unk_8e->m_address = base + offset; + n_unk_8e->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_8e); + +} +void node_from_creature_interaction_effect_feel_emotionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::creature_interaction_effect; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_creature_interaction_effect(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "emotion"; + auto n_emotion = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_feel_emotionst, field_name)); + n_emotion->m_field_name = field_name; + n_emotion->m_df_type = DF_Type::emotion_type; + n_emotion->m_rdf_type = RDF_Type::Enum; + n_emotion->m_node_type = NodeType::Enum; + n_emotion->m_base_type = enum_base_type(n_emotion->m_df_type); + n_emotion->m_enum_type = "emotion_type"; + n_emotion->m_address = base + offset; + n_emotion->m_defined_in = "df.unit-thoughts.xml"; + n_emotion->m_first_value = -1; + n_emotion->m_last_value = 169; + n_emotion->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_emotion); + + field_name = "sev"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_feel_emotionst, field_name)); + auto n_sev = new NodeSimple; + n_sev->m_field_name = field_name; + n_sev->m_df_type = DF_Type::int32_t; + n_sev->m_rdf_type = RDF_Type::int32_t; + n_sev->m_node_type = NodeType::Simple; + n_sev->m_address = base + offset; + n_sev->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sev); + +} +void node_from_creature_interaction_effect_change_personalityst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::creature_interaction_effect; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_creature_interaction_effect(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "facets"; + auto n_facets = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_change_personalityst, field_name)); + n_facets->m_field_name = field_name; + n_facets->m_df_type = DF_Type::int16_t; + n_facets->m_rdf_type = RDF_Type::Array; + n_facets->m_node_type = NodeType::Array; + n_facets->m_index_enum = DF_Type::personality_facet_type; + n_facets->m_addornements = "[50"; + n_facets->m_array_size = 50; + n_facets->m_address = base + offset; + n_facets->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_facets); + +} +void node_from_creature_interaction_effect_erratic_behaviorst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::creature_interaction_effect; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_creature_interaction_effect(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "sev"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creature_interaction_effect_erratic_behaviorst, field_name)); + auto n_sev = new NodeSimple; + n_sev->m_field_name = field_name; + n_sev->m_df_type = DF_Type::int32_t; + n_sev->m_rdf_type = RDF_Type::int32_t; + n_sev->m_node_type = NodeType::Simple; + n_sev->m_address = base + offset; + n_sev->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sev); + +} +void node_from_syndrome(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "syn_name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::syndrome, field_name)); + auto n_syn_name = new NodeSimple; + n_syn_name->m_field_name = field_name; + n_syn_name->m_df_type = DF_Type::Stl_string; + n_syn_name->m_rdf_type = RDF_Type::Stl_string; + n_syn_name->m_node_type = NodeType::Simple; + n_syn_name->m_address = base + offset; + n_syn_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_syn_name); + + field_name = "ce"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::syndrome, field_name)); + auto n_ce = new NodeVector; + n_ce->m_field_name = field_name; + n_ce->m_df_type = DF_Type::creature_interaction_effect; + n_ce->m_rdf_type = RDF_Type::Vector; + n_ce->m_node_type = NodeType::Vector; + n_ce->m_defined_in = "df.syndrome.xml"; + n_ce->m_addornements = "v*"; + n_ce->m_address = base + offset; + n_ce->m_parent = p_node_parent; + n_ce->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_ce); + + field_name = "syn_affected_class"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::syndrome, field_name)); + auto n_syn_affected_class = new NodeVector; + n_syn_affected_class->m_field_name = field_name; + n_syn_affected_class->m_df_type = DF_Type::Stl_string; + n_syn_affected_class->m_rdf_type = RDF_Type::Vector; + n_syn_affected_class->m_node_type = NodeType::Vector; + n_syn_affected_class->m_addornements = "v*"; + n_syn_affected_class->m_address = base + offset; + n_syn_affected_class->m_parent = p_node_parent; + n_syn_affected_class->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_syn_affected_class); + + field_name = "syn_affected_creature"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::syndrome, field_name)); + auto n_syn_affected_creature = new NodeVector; + n_syn_affected_creature->m_field_name = field_name; + n_syn_affected_creature->m_df_type = DF_Type::Stl_string; + n_syn_affected_creature->m_rdf_type = RDF_Type::Vector; + n_syn_affected_creature->m_node_type = NodeType::Vector; + n_syn_affected_creature->m_addornements = "v*"; + n_syn_affected_creature->m_address = base + offset; + n_syn_affected_creature->m_parent = p_node_parent; + n_syn_affected_creature->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_syn_affected_creature); + + field_name = "syn_affected_caste"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::syndrome, field_name)); + auto n_syn_affected_caste = new NodeVector; + n_syn_affected_caste->m_field_name = field_name; + n_syn_affected_caste->m_df_type = DF_Type::Stl_string; + n_syn_affected_caste->m_rdf_type = RDF_Type::Vector; + n_syn_affected_caste->m_node_type = NodeType::Vector; + n_syn_affected_caste->m_addornements = "v*"; + n_syn_affected_caste->m_address = base + offset; + n_syn_affected_caste->m_parent = p_node_parent; + n_syn_affected_caste->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_syn_affected_caste); + + field_name = "syn_immune_class"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::syndrome, field_name)); + auto n_syn_immune_class = new NodeVector; + n_syn_immune_class->m_field_name = field_name; + n_syn_immune_class->m_df_type = DF_Type::Stl_string; + n_syn_immune_class->m_rdf_type = RDF_Type::Vector; + n_syn_immune_class->m_node_type = NodeType::Vector; + n_syn_immune_class->m_addornements = "v*"; + n_syn_immune_class->m_address = base + offset; + n_syn_immune_class->m_parent = p_node_parent; + n_syn_immune_class->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_syn_immune_class); + + field_name = "syn_immune_creature"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::syndrome, field_name)); + auto n_syn_immune_creature = new NodeVector; + n_syn_immune_creature->m_field_name = field_name; + n_syn_immune_creature->m_df_type = DF_Type::Stl_string; + n_syn_immune_creature->m_rdf_type = RDF_Type::Vector; + n_syn_immune_creature->m_node_type = NodeType::Vector; + n_syn_immune_creature->m_addornements = "v*"; + n_syn_immune_creature->m_address = base + offset; + n_syn_immune_creature->m_parent = p_node_parent; + n_syn_immune_creature->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_syn_immune_creature); + + field_name = "syn_immune_caste"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::syndrome, field_name)); + auto n_syn_immune_caste = new NodeVector; + n_syn_immune_caste->m_field_name = field_name; + n_syn_immune_caste->m_df_type = DF_Type::Stl_string; + n_syn_immune_caste->m_rdf_type = RDF_Type::Vector; + n_syn_immune_caste->m_node_type = NodeType::Vector; + n_syn_immune_caste->m_addornements = "v*"; + n_syn_immune_caste->m_address = base + offset; + n_syn_immune_caste->m_parent = p_node_parent; + n_syn_immune_caste->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_syn_immune_caste); + + field_name = "syn_class"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::syndrome, field_name)); + auto n_syn_class = new NodeVector; + n_syn_class->m_field_name = field_name; + n_syn_class->m_df_type = DF_Type::Stl_string; + n_syn_class->m_rdf_type = RDF_Type::Vector; + n_syn_class->m_node_type = NodeType::Vector; + n_syn_class->m_addornements = "v*"; + n_syn_class->m_address = base + offset; + n_syn_class->m_parent = p_node_parent; + n_syn_class->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_syn_class); + + field_name = "syn_identifier"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::syndrome, field_name)); + auto n_syn_identifier = new NodeSimple; + n_syn_identifier->m_field_name = field_name; + n_syn_identifier->m_df_type = DF_Type::Stl_string; + n_syn_identifier->m_rdf_type = RDF_Type::Stl_string; + n_syn_identifier->m_node_type = NodeType::Simple; + n_syn_identifier->m_address = base + offset; + n_syn_identifier->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_syn_identifier); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::syndrome, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::syndrome_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_defined_in = "df.syndrome.xml"; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "syn_concentration_added"; + auto n_syn_concentration_added = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::syndrome, field_name)); + n_syn_concentration_added->m_field_name = field_name; + n_syn_concentration_added->m_df_type = DF_Type::int32_t; + n_syn_concentration_added->m_rdf_type = RDF_Type::Array; + n_syn_concentration_added->m_node_type = NodeType::Array; + n_syn_concentration_added->m_addornements = "[2"; + n_syn_concentration_added->m_array_size = 2; + n_syn_concentration_added->m_address = base + offset; + n_syn_concentration_added->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_syn_concentration_added); + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::syndrome, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + +} +void node_from_ui_build_item_req(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "filter"; + auto n_filter = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_build_item_req, field_name)); + n_filter->m_field_name = field_name; + n_filter->m_df_type = DF_Type::job_item_filter; + n_filter->m_rdf_type = RDF_Type::Struct; + n_filter->m_node_type = NodeType::Compound; + n_filter->m_address = base + offset; + n_filter->m_defined_in = "df.jobs.xml"; + n_filter->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_filter); + + field_name = "candidates"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_build_item_req, field_name)); + auto n_candidates = new NodeVector; + n_candidates->m_field_name = field_name; + n_candidates->m_df_type = DF_Type::item; + n_candidates->m_rdf_type = RDF_Type::Vector; + n_candidates->m_node_type = NodeType::Vector; + n_candidates->m_defined_in = "df.items.xml"; + n_candidates->m_addornements = "v*"; + n_candidates->m_address = base + offset; + n_candidates->m_parent = p_node_parent; + n_candidates->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_candidates); + + field_name = "candidate_selected"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_build_item_req, field_name)); + auto n_candidate_selected = new NodeVector; + n_candidate_selected->m_field_name = field_name; + n_candidate_selected->m_df_type = DF_Type::Bool; + n_candidate_selected->m_rdf_type = RDF_Type::Vector; + n_candidate_selected->m_node_type = NodeType::Vector; + n_candidate_selected->m_addornements = "v"; + n_candidate_selected->m_address = base + offset; + n_candidate_selected->m_parent = p_node_parent; + n_candidate_selected->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_candidate_selected); + + field_name = "unk_a0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_build_item_req, field_name)); + auto n_unk_a0 = new NodeVector; + n_unk_a0->m_field_name = field_name; + n_unk_a0->m_df_type = DF_Type::int16_t; + n_unk_a0->m_rdf_type = RDF_Type::Vector; + n_unk_a0->m_node_type = NodeType::Vector; + n_unk_a0->m_addornements = "v"; + n_unk_a0->m_address = base + offset; + n_unk_a0->m_parent = p_node_parent; + n_unk_a0->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_a0); + + field_name = "candidate_enabled"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_build_item_req, field_name)); + auto n_candidate_enabled = new NodeVector; + n_candidate_enabled->m_field_name = field_name; + n_candidate_enabled->m_df_type = DF_Type::Bool; + n_candidate_enabled->m_rdf_type = RDF_Type::Vector; + n_candidate_enabled->m_node_type = NodeType::Vector; + n_candidate_enabled->m_addornements = "v"; + n_candidate_enabled->m_address = base + offset; + n_candidate_enabled->m_parent = p_node_parent; + n_candidate_enabled->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_candidate_enabled); + + field_name = "count_required"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_build_item_req, field_name)); + auto n_count_required = new NodeSimple; + n_count_required->m_field_name = field_name; + n_count_required->m_df_type = DF_Type::int16_t; + n_count_required->m_rdf_type = RDF_Type::int16_t; + n_count_required->m_node_type = NodeType::Simple; + n_count_required->m_address = base + offset; + n_count_required->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_count_required); + + field_name = "count_max"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_build_item_req, field_name)); + auto n_count_max = new NodeSimple; + n_count_max->m_field_name = field_name; + n_count_max->m_df_type = DF_Type::int16_t; + n_count_max->m_rdf_type = RDF_Type::int16_t; + n_count_max->m_node_type = NodeType::Simple; + n_count_max->m_address = base + offset; + n_count_max->m_comment = "if 0, fixed at required"; + n_count_max->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_count_max); + + field_name = "count_provided"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_build_item_req, field_name)); + auto n_count_provided = new NodeSimple; + n_count_provided->m_field_name = field_name; + n_count_provided->m_df_type = DF_Type::int16_t; + n_count_provided->m_rdf_type = RDF_Type::int16_t; + n_count_provided->m_node_type = NodeType::Simple; + n_count_provided->m_address = base + offset; + n_count_provided->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_count_provided); + +} +void node_from_build_req_choice_genst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::build_req_choicest; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_build_req_choicest(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "item_type"; + auto n_item_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::build_req_choice_genst, field_name)); + n_item_type->m_field_name = field_name; + n_item_type->m_df_type = DF_Type::item_type; + n_item_type->m_rdf_type = RDF_Type::Enum; + n_item_type->m_node_type = NodeType::Enum; + n_item_type->m_base_type = DF_Type::int16_t; + n_item_type->m_enum_type = "item_type"; + n_item_type->m_address = base + offset; + n_item_type->m_defined_in = "df.item-raws.xml"; + n_item_type->m_first_value = -1; + n_item_type->m_last_value = 90; + n_item_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_type); + + field_name = "item_subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::build_req_choice_genst, field_name)); + auto n_item_subtype = new NodeSimple; + n_item_subtype->m_field_name = field_name; + n_item_subtype->m_df_type = DF_Type::int16_t; + n_item_subtype->m_rdf_type = RDF_Type::int16_t; + n_item_subtype->m_node_type = NodeType::Simple; + n_item_subtype->m_address = base + offset; + n_item_subtype->m_refers_to = "(item-subtype-target $$._parent.item_type $)"; + n_item_subtype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_subtype); + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::build_req_choice_genst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::build_req_choice_genst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "candidates"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::build_req_choice_genst, field_name)); + auto n_candidates = new NodeVector; + n_candidates->m_field_name = field_name; + n_candidates->m_df_type = DF_Type::int32_t; + n_candidates->m_rdf_type = RDF_Type::Vector; + n_candidates->m_node_type = NodeType::Vector; + n_candidates->m_addornements = "v"; + n_candidates->m_address = base + offset; + n_candidates->m_parent = p_node_parent; + n_candidates->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_candidates); + + field_name = "used_count"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::build_req_choice_genst, field_name)); + auto n_used_count = new NodeSimple; + n_used_count->m_field_name = field_name; + n_used_count->m_df_type = DF_Type::int32_t; + n_used_count->m_rdf_type = RDF_Type::int32_t; + n_used_count->m_node_type = NodeType::Simple; + n_used_count->m_address = base + offset; + n_used_count->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_used_count); + +} +void node_from_build_req_choice_specst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::build_req_choicest; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_build_req_choicest(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "candidate"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::build_req_choice_specst, field_name)); + auto n_candidate = new NodePointer; + n_candidate->m_field_name = field_name; + n_candidate->m_df_type = get_real_subtype(base+offset, DF_Type::item); + n_candidate->m_rdf_type = RDF_Type::Pointer; + n_candidate->m_node_type = NodeType::Pointer; + n_candidate->m_addornements = "*"; + n_candidate->m_address = base + offset; + n_candidate->m_parent = p_node_parent; + n_candidate->m_defined_in = "df.items.xml"; + n_candidate->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_candidate); + + field_name = "candidate_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::build_req_choice_specst, field_name)); + auto n_candidate_id = new NodeSimple; + n_candidate_id->m_field_name = field_name; + n_candidate_id->m_df_type = DF_Type::int32_t; + n_candidate_id->m_rdf_type = RDF_Type::int32_t; + n_candidate_id->m_node_type = NodeType::Simple; + n_candidate_id->m_address = base + offset; + n_candidate_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_candidate_id); + +} +void node_from_ui_build_selector(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "requirements"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_build_selector, field_name)); + auto n_requirements = new NodeVector; + n_requirements->m_field_name = field_name; + n_requirements->m_df_type = DF_Type::ui_build_item_req; + n_requirements->m_rdf_type = RDF_Type::Vector; + n_requirements->m_node_type = NodeType::Vector; + n_requirements->m_defined_in = "df.ui-menus.xml"; + n_requirements->m_addornements = "v*"; + n_requirements->m_address = base + offset; + n_requirements->m_parent = p_node_parent; + n_requirements->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_requirements); + + field_name = "choices"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_build_selector, field_name)); + auto n_choices = new NodeVector; + n_choices->m_field_name = field_name; + n_choices->m_df_type = DF_Type::build_req_choicest; + n_choices->m_rdf_type = RDF_Type::Vector; + n_choices->m_node_type = NodeType::Vector; + n_choices->m_defined_in = "df.ui-menus.xml"; + n_choices->m_addornements = "v*"; + n_choices->m_address = base + offset; + n_choices->m_parent = p_node_parent; + n_choices->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_choices); + + field_name = "building_type"; + auto n_building_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_build_selector, field_name)); + n_building_type->m_field_name = field_name; + n_building_type->m_df_type = DF_Type::building_type; + n_building_type->m_rdf_type = RDF_Type::Enum; + n_building_type->m_node_type = NodeType::Enum; + n_building_type->m_base_type = DF_Type::int32_t; + n_building_type->m_enum_type = "building_type"; + n_building_type->m_address = base + offset; + n_building_type->m_comment = "if -1, in Build menu; otherwise select item"; + n_building_type->m_defined_in = "df.buildings.xml"; + n_building_type->m_first_value = -1; + n_building_type->m_last_value = 53; + n_building_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_building_type); + + field_name = "building_subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_build_selector, field_name)); + auto n_building_subtype = new NodeSimple; + n_building_subtype->m_field_name = field_name; + n_building_subtype->m_df_type = DF_Type::int16_t; + n_building_subtype->m_rdf_type = RDF_Type::int16_t; + n_building_subtype->m_node_type = NodeType::Simple; + n_building_subtype->m_address = base + offset; + n_building_subtype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_building_subtype); + + field_name = "custom_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_build_selector, field_name)); + auto n_custom_type = new NodeSimple; + n_custom_type->m_field_name = field_name; + n_custom_type->m_df_type = DF_Type::int32_t; + n_custom_type->m_rdf_type = RDF_Type::int32_t; + n_custom_type->m_node_type = NodeType::Simple; + n_custom_type->m_address = base + offset; + n_custom_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_custom_type); + + field_name = "stage"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_build_selector, field_name)); + auto n_stage = new NodeSimple; + n_stage->m_field_name = field_name; + n_stage->m_df_type = DF_Type::int32_t; + n_stage->m_rdf_type = RDF_Type::int32_t; + n_stage->m_node_type = NodeType::Simple; + n_stage->m_address = base + offset; + n_stage->m_comment = "0 no materials, 1 place, 2 select item"; + n_stage->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_stage); + + field_name = "req_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_build_selector, field_name)); + auto n_req_index = new NodeSimple; + n_req_index->m_field_name = field_name; + n_req_index->m_df_type = DF_Type::int16_t; + n_req_index->m_rdf_type = RDF_Type::int16_t; + n_req_index->m_node_type = NodeType::Simple; + n_req_index->m_address = base + offset; + n_req_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_req_index); + + field_name = "sel_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_build_selector, field_name)); + auto n_sel_index = new NodeSimple; + n_sel_index->m_field_name = field_name; + n_sel_index->m_df_type = DF_Type::int16_t; + n_sel_index->m_rdf_type = RDF_Type::int16_t; + n_sel_index->m_node_type = NodeType::Simple; + n_sel_index->m_address = base + offset; + n_sel_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sel_index); + + field_name = "is_grouped"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_build_selector, field_name)); + auto n_is_grouped = new NodeSimple; + n_is_grouped->m_field_name = field_name; + n_is_grouped->m_df_type = DF_Type::int32_t; + n_is_grouped->m_rdf_type = RDF_Type::int32_t; + n_is_grouped->m_node_type = NodeType::Simple; + n_is_grouped->m_address = base + offset; + n_is_grouped->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_is_grouped); + + field_name = "errors"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_build_selector, field_name)); + auto n_errors = new NodeVector; + n_errors->m_field_name = field_name; + n_errors->m_df_type = DF_Type::Stl_string; + n_errors->m_rdf_type = RDF_Type::Vector; + n_errors->m_node_type = NodeType::Vector; + n_errors->m_addornements = "v*"; + n_errors->m_address = base + offset; + n_errors->m_parent = p_node_parent; + n_errors->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_errors); + + field_name = "unk4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_build_selector, field_name)); + auto n_unk4 = new NodeVector; + n_unk4->m_field_name = field_name; + n_unk4->m_df_type = DF_Type::Stl_string; + n_unk4->m_rdf_type = RDF_Type::Vector; + n_unk4->m_node_type = NodeType::Vector; + n_unk4->m_addornements = "v*"; + n_unk4->m_address = base + offset; + n_unk4->m_parent = p_node_parent; + n_unk4->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk4); + + field_name = "tiles"; + auto n_tiles = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_build_selector, field_name)); + n_tiles->m_field_name = field_name; + n_tiles->m_df_type = DF_Type::int32_t; + n_tiles->m_rdf_type = RDF_Type::Array; + n_tiles->m_node_type = NodeType::Array; + n_tiles->m_addornements = "[31[31"; + n_tiles->m_array_size = 31; + n_tiles->m_address = base + offset; + n_tiles->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tiles); + + field_name = "unk5_0a"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_build_selector, field_name)); + auto n_unk5_0a = new NodeSimple; + n_unk5_0a->m_field_name = field_name; + n_unk5_0a->m_df_type = DF_Type::int16_t; + n_unk5_0a->m_rdf_type = RDF_Type::int16_t; + n_unk5_0a->m_node_type = NodeType::Simple; + n_unk5_0a->m_address = base + offset; + n_unk5_0a->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk5_0a); + + field_name = "unk5_0b"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_build_selector, field_name)); + auto n_unk5_0b = new NodeSimple; + n_unk5_0b->m_field_name = field_name; + n_unk5_0b->m_df_type = DF_Type::int16_t; + n_unk5_0b->m_rdf_type = RDF_Type::int16_t; + n_unk5_0b->m_node_type = NodeType::Simple; + n_unk5_0b->m_address = base + offset; + n_unk5_0b->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk5_0b); + + field_name = "plate_info"; + auto n_plate_info = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_build_selector, field_name)); + n_plate_info->m_field_name = field_name; + n_plate_info->m_df_type = DF_Type::pressure_plate_info; + n_plate_info->m_rdf_type = RDF_Type::Struct; + n_plate_info->m_node_type = NodeType::Compound; + n_plate_info->m_address = base + offset; + n_plate_info->m_defined_in = "df.buildings.xml"; + n_plate_info->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_plate_info); + + field_name = "unk6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_build_selector, field_name)); + auto n_unk6 = new NodeVector; + n_unk6->m_field_name = field_name; + n_unk6->m_df_type = DF_Type::int16_t; + n_unk6->m_rdf_type = RDF_Type::Vector; + n_unk6->m_node_type = NodeType::Vector; + n_unk6->m_addornements = "v"; + n_unk6->m_address = base + offset; + n_unk6->m_parent = p_node_parent; + n_unk6->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk6); + + field_name = "unk7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_build_selector, field_name)); + auto n_unk7 = new NodeVector; + n_unk7->m_field_name = field_name; + n_unk7->m_df_type = DF_Type::int16_t; + n_unk7->m_rdf_type = RDF_Type::Vector; + n_unk7->m_node_type = NodeType::Vector; + n_unk7->m_addornements = "v"; + n_unk7->m_address = base + offset; + n_unk7->m_parent = p_node_parent; + n_unk7->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk7); + + field_name = "friction"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_build_selector, field_name)); + auto n_friction = new NodeSimple; + n_friction->m_field_name = field_name; + n_friction->m_df_type = DF_Type::int32_t; + n_friction->m_rdf_type = RDF_Type::int32_t; + n_friction->m_node_type = NodeType::Simple; + n_friction->m_address = base + offset; + n_friction->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_friction); + + field_name = "use_dump"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_build_selector, field_name)); + auto n_use_dump = new NodeSimple; + n_use_dump->m_field_name = field_name; + n_use_dump->m_df_type = DF_Type::int32_t; + n_use_dump->m_rdf_type = RDF_Type::int32_t; + n_use_dump->m_node_type = NodeType::Simple; + n_use_dump->m_address = base + offset; + n_use_dump->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_use_dump); + + field_name = "dump_x_shift"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_build_selector, field_name)); + auto n_dump_x_shift = new NodeSimple; + n_dump_x_shift->m_field_name = field_name; + n_dump_x_shift->m_df_type = DF_Type::int32_t; + n_dump_x_shift->m_rdf_type = RDF_Type::int32_t; + n_dump_x_shift->m_node_type = NodeType::Simple; + n_dump_x_shift->m_address = base + offset; + n_dump_x_shift->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dump_x_shift); + + field_name = "dump_y_shift"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_build_selector, field_name)); + auto n_dump_y_shift = new NodeSimple; + n_dump_y_shift->m_field_name = field_name; + n_dump_y_shift->m_df_type = DF_Type::int32_t; + n_dump_y_shift->m_rdf_type = RDF_Type::int32_t; + n_dump_y_shift->m_node_type = NodeType::Simple; + n_dump_y_shift->m_address = base + offset; + n_dump_y_shift->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dump_y_shift); + + field_name = "speed"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_build_selector, field_name)); + auto n_speed = new NodeSimple; + n_speed->m_field_name = field_name; + n_speed->m_df_type = DF_Type::int32_t; + n_speed->m_rdf_type = RDF_Type::int32_t; + n_speed->m_node_type = NodeType::Simple; + n_speed->m_address = base + offset; + n_speed->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_speed); + +} +void node_from_interface_button(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "hotkey_id"; + auto n_hotkey_id = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interface_button, field_name)); + n_hotkey_id->m_field_name = field_name; + n_hotkey_id->m_df_type = DF_Type::interface_key; + n_hotkey_id->m_rdf_type = RDF_Type::Enum; + n_hotkey_id->m_node_type = NodeType::Enum; + n_hotkey_id->m_base_type = DF_Type::int32_t; + n_hotkey_id->m_enum_type = "interface_key"; + n_hotkey_id->m_address = base + offset; + n_hotkey_id->m_defined_in = "df.keybindings.xml"; + n_hotkey_id->m_first_value = 0; + n_hotkey_id->m_last_value = 1587; + n_hotkey_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_hotkey_id); + + field_name = "is_hidden"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interface_button, field_name)); + auto n_is_hidden = new NodeSimple; + n_is_hidden->m_field_name = field_name; + n_is_hidden->m_df_type = DF_Type::Bool; + n_is_hidden->m_rdf_type = RDF_Type::Bool; + n_is_hidden->m_node_type = NodeType::Simple; + n_is_hidden->m_address = base + offset; + n_is_hidden->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_is_hidden); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interface_button, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_interface_button_buildingst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::interface_button; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_interface_button(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "building"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interface_button_buildingst, field_name)); + auto n_building = new NodePointer; + n_building->m_field_name = field_name; + n_building->m_df_type = get_real_subtype(base+offset, DF_Type::building); + n_building->m_rdf_type = RDF_Type::Pointer; + n_building->m_node_type = NodeType::Pointer; + n_building->m_addornements = "*"; + n_building->m_address = base + offset; + n_building->m_parent = p_node_parent; + n_building->m_defined_in = "df.buildings.xml"; + n_building->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_building); + +} +void node_from_interface_button_building_category_selectorst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::interface_button_buildingst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_interface_button_buildingst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "category_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interface_button_building_category_selectorst, field_name)); + auto n_category_id = new NodeSimple; + n_category_id->m_field_name = field_name; + n_category_id->m_df_type = DF_Type::int32_t; + n_category_id->m_rdf_type = RDF_Type::int32_t; + n_category_id->m_node_type = NodeType::Simple; + n_category_id->m_address = base + offset; + n_category_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_category_id); + + field_name = "unk_14"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interface_button_building_category_selectorst, field_name)); + auto n_unk_14 = new NodeSimple; + n_unk_14->m_field_name = field_name; + n_unk_14->m_df_type = DF_Type::int8_t; + n_unk_14->m_rdf_type = RDF_Type::int8_t; + n_unk_14->m_node_type = NodeType::Simple; + n_unk_14->m_address = base + offset; + n_unk_14->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_14); + +} +void node_from_interface_button_building_material_selectorst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::interface_button_buildingst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_interface_button_buildingst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interface_button_building_material_selectorst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interface_button_building_material_selectorst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "material_category"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interface_button_building_material_selectorst, field_name)); + auto n_material_category = new NodeBitfield; + n_material_category->m_field_name = field_name; + n_material_category->m_df_type = DF_Type::job_material_category; + n_material_category->m_rdf_type = RDF_Type::Bitfield; + n_material_category->m_node_type = NodeType::Bitfield; + n_material_category->m_address = base + offset; + n_material_category->m_defined_in = "df.jobs.xml"; + n_material_category->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_material_category); + + field_name = "unk_1c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interface_button_building_material_selectorst, field_name)); + auto n_unk_1c = new NodeSimple; + n_unk_1c->m_field_name = field_name; + n_unk_1c->m_df_type = DF_Type::int8_t; + n_unk_1c->m_rdf_type = RDF_Type::int8_t; + n_unk_1c->m_node_type = NodeType::Simple; + n_unk_1c->m_address = base + offset; + n_unk_1c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_1c); + +} +void node_from_interface_button_building_new_jobst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::interface_button_buildingst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_interface_button_buildingst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "job_type"; + auto n_job_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interface_button_building_new_jobst, field_name)); + n_job_type->m_field_name = field_name; + n_job_type->m_df_type = DF_Type::job_type; + n_job_type->m_rdf_type = RDF_Type::Enum; + n_job_type->m_node_type = NodeType::Enum; + n_job_type->m_base_type = DF_Type::int32_t; + n_job_type->m_enum_type = "job_type"; + n_job_type->m_address = base + offset; + n_job_type->m_defined_in = "df.job-types.xml"; + n_job_type->m_first_value = -1; + n_job_type->m_last_value = 240; + n_job_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_job_type); + + field_name = "reaction_name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interface_button_building_new_jobst, field_name)); + auto n_reaction_name = new NodeSimple; + n_reaction_name->m_field_name = field_name; + n_reaction_name->m_df_type = DF_Type::Stl_string; + n_reaction_name->m_rdf_type = RDF_Type::Stl_string; + n_reaction_name->m_node_type = NodeType::Simple; + n_reaction_name->m_address = base + offset; + n_reaction_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_reaction_name); + + field_name = "item_type"; + auto n_item_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interface_button_building_new_jobst, field_name)); + n_item_type->m_field_name = field_name; + n_item_type->m_df_type = DF_Type::item_type; + n_item_type->m_rdf_type = RDF_Type::Enum; + n_item_type->m_node_type = NodeType::Enum; + n_item_type->m_base_type = DF_Type::int16_t; + n_item_type->m_enum_type = "item_type"; + n_item_type->m_address = base + offset; + n_item_type->m_defined_in = "df.item-raws.xml"; + n_item_type->m_first_value = -1; + n_item_type->m_last_value = 90; + n_item_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_type); + + field_name = "item_subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interface_button_building_new_jobst, field_name)); + auto n_item_subtype = new NodeSimple; + n_item_subtype->m_field_name = field_name; + n_item_subtype->m_df_type = DF_Type::int16_t; + n_item_subtype->m_rdf_type = RDF_Type::int16_t; + n_item_subtype->m_node_type = NodeType::Simple; + n_item_subtype->m_address = base + offset; + n_item_subtype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_subtype); + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interface_button_building_new_jobst, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interface_button_building_new_jobst, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "item_category"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interface_button_building_new_jobst, field_name)); + auto n_item_category = new NodeBitfield; + n_item_category->m_field_name = field_name; + n_item_category->m_df_type = DF_Type::stockpile_group_set; + n_item_category->m_rdf_type = RDF_Type::Bitfield; + n_item_category->m_node_type = NodeType::Bitfield; + n_item_category->m_address = base + offset; + n_item_category->m_defined_in = "df.stockpile.xml"; + n_item_category->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_category); + + field_name = "hist_figure_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interface_button_building_new_jobst, field_name)); + auto n_hist_figure_id = new NodeSimple; + n_hist_figure_id->m_field_name = field_name; + n_hist_figure_id->m_df_type = DF_Type::int32_t; + n_hist_figure_id->m_rdf_type = RDF_Type::int32_t; + n_hist_figure_id->m_node_type = NodeType::Simple; + n_hist_figure_id->m_address = base + offset; + n_hist_figure_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_hist_figure_id); + + field_name = "material_category"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interface_button_building_new_jobst, field_name)); + auto n_material_category = new NodeBitfield; + n_material_category->m_field_name = field_name; + n_material_category->m_df_type = DF_Type::job_material_category; + n_material_category->m_rdf_type = RDF_Type::Bitfield; + n_material_category->m_node_type = NodeType::Bitfield; + n_material_category->m_address = base + offset; + n_material_category->m_defined_in = "df.jobs.xml"; + n_material_category->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_material_category); + + field_name = "unk_48"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interface_button_building_new_jobst, field_name)); + auto n_unk_48 = new NodeSimple; + n_unk_48->m_field_name = field_name; + n_unk_48->m_df_type = DF_Type::Bool; + n_unk_48->m_rdf_type = RDF_Type::Bool; + n_unk_48->m_node_type = NodeType::Simple; + n_unk_48->m_address = base + offset; + n_unk_48->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_48); + + field_name = "is_custom"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interface_button_building_new_jobst, field_name)); + auto n_is_custom = new NodeSimple; + n_is_custom->m_field_name = field_name; + n_is_custom->m_df_type = DF_Type::Bool; + n_is_custom->m_rdf_type = RDF_Type::Bool; + n_is_custom->m_node_type = NodeType::Simple; + n_is_custom->m_address = base + offset; + n_is_custom->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_is_custom); + +} +void node_from_interface_button_building_custom_category_selectorst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::interface_button_buildingst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_interface_button_buildingst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "category"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interface_button_building_custom_category_selectorst, field_name)); + auto n_category = new NodeSimple; + n_category->m_field_name = field_name; + n_category->m_df_type = DF_Type::Stl_string; + n_category->m_rdf_type = RDF_Type::Stl_string; + n_category->m_node_type = NodeType::Simple; + n_category->m_address = base + offset; + n_category->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_category); + +} +void node_from_interface_button_constructionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::interface_button; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_interface_button(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unused_c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interface_button_constructionst, field_name)); + auto n_unused_c = new NodePointer; + n_unused_c->m_field_name = field_name; + n_unused_c->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_unused_c->m_rdf_type = RDF_Type::Pointer; + n_unused_c->m_node_type = NodeType::Pointer; + n_unused_c->m_addornements = "*"; + n_unused_c->m_address = base + offset; + n_unused_c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unused_c); + +} +void node_from_interface_button_construction_donest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::interface_button_constructionst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_interface_button_constructionst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_interface_button_construction_category_selectorst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::interface_button_constructionst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_interface_button_constructionst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "category_id"; + auto n_category_id = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interface_button_construction_category_selectorst, field_name)); + n_category_id->m_field_name = field_name; + n_category_id->m_df_type = DF_Type::interface_button_construction_category_selectorst__T_category_id; + n_category_id->m_rdf_type = RDF_Type::Enum; + n_category_id->m_node_type = NodeType::Enum; + n_category_id->m_base_type = DF_Type::int32_t; + n_category_id->m_enum_type = "interface_button_construction_category_selectorst::T_category_id"; + n_category_id->m_address = base + offset; + n_category_id->m_first_value = 1; + n_category_id->m_last_value = 7; + n_category_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_category_id); + +} +void node_from_interface_button_construction_building_selectorst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::interface_button_constructionst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_interface_button_constructionst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "building_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interface_button_construction_building_selectorst, field_name)); + auto n_building_type = new NodeSimple; + n_building_type->m_field_name = field_name; + n_building_type->m_df_type = DF_Type::int16_t; + n_building_type->m_rdf_type = RDF_Type::int16_t; + n_building_type->m_node_type = NodeType::Simple; + n_building_type->m_address = base + offset; + n_building_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_building_type); + + field_name = "building_subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interface_button_construction_building_selectorst, field_name)); + auto n_building_subtype = new NodeSimple; + n_building_subtype->m_field_name = field_name; + n_building_subtype->m_df_type = DF_Type::int16_t; + n_building_subtype->m_rdf_type = RDF_Type::int16_t; + n_building_subtype->m_node_type = NodeType::Simple; + n_building_subtype->m_address = base + offset; + n_building_subtype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_building_subtype); + + field_name = "custom_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interface_button_construction_building_selectorst, field_name)); + auto n_custom_type = new NodeSimple; + n_custom_type->m_field_name = field_name; + n_custom_type->m_df_type = DF_Type::int32_t; + n_custom_type->m_rdf_type = RDF_Type::int32_t; + n_custom_type->m_node_type = NodeType::Simple; + n_custom_type->m_address = base + offset; + n_custom_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_custom_type); + + field_name = "existing_count"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interface_button_construction_building_selectorst, field_name)); + auto n_existing_count = new NodeSimple; + n_existing_count->m_field_name = field_name; + n_existing_count->m_df_type = DF_Type::int32_t; + n_existing_count->m_rdf_type = RDF_Type::int32_t; + n_existing_count->m_node_type = NodeType::Simple; + n_existing_count->m_address = base + offset; + n_existing_count->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_existing_count); + +} +void node_from_ui_sidebar_menus__T_designation(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "marker_only"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_designation, field_name)); + auto n_marker_only = new NodeSimple; + n_marker_only->m_field_name = field_name; + n_marker_only->m_df_type = DF_Type::Bool; + n_marker_only->m_rdf_type = RDF_Type::Bool; + n_marker_only->m_node_type = NodeType::Simple; + n_marker_only->m_address = base + offset; + n_marker_only->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_marker_only); + + field_name = "priority_set"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_designation, field_name)); + auto n_priority_set = new NodeSimple; + n_priority_set->m_field_name = field_name; + n_priority_set->m_df_type = DF_Type::Bool; + n_priority_set->m_rdf_type = RDF_Type::Bool; + n_priority_set->m_node_type = NodeType::Simple; + n_priority_set->m_address = base + offset; + n_priority_set->m_comment = "set to one if using +/-"; + n_priority_set->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_priority_set); + + field_name = "priority"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_designation, field_name)); + auto n_priority = new NodeSimple; + n_priority->m_field_name = field_name; + n_priority->m_df_type = DF_Type::int32_t; + n_priority->m_rdf_type = RDF_Type::int32_t; + n_priority->m_node_type = NodeType::Simple; + n_priority->m_address = base + offset; + n_priority->m_comment = "*1000"; + n_priority->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_priority); + + field_name = "mine_mode"; + auto n_mine_mode = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_designation, field_name)); + n_mine_mode->m_field_name = field_name; + n_mine_mode->m_df_type = DF_Type::ui_sidebar_menus__T_designation__T_mine_mode; + n_mine_mode->m_rdf_type = RDF_Type::Enum; + n_mine_mode->m_node_type = NodeType::Enum; + n_mine_mode->m_base_type = enum_base_type(n_mine_mode->m_df_type); + n_mine_mode->m_enum_type = "ui_sidebar_menus::T_designation::T_mine_mode"; + n_mine_mode->m_address = base + offset; + n_mine_mode->m_first_value = 0; + n_mine_mode->m_last_value = 3; + n_mine_mode->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mine_mode); + +} +void node_from_ui_sidebar_menus__T_workshop_job(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "choices_all"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_workshop_job, field_name)); + auto n_choices_all = new NodeVector; + n_choices_all->m_field_name = field_name; + n_choices_all->m_df_type = DF_Type::interface_button_buildingst; + n_choices_all->m_rdf_type = RDF_Type::Vector; + n_choices_all->m_node_type = NodeType::Vector; + n_choices_all->m_defined_in = "df.ui-menus.xml"; + n_choices_all->m_addornements = "v*"; + n_choices_all->m_address = base + offset; + n_choices_all->m_parent = p_node_parent; + n_choices_all->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_choices_all); + + field_name = "choices_visible"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_workshop_job, field_name)); + auto n_choices_visible = new NodeVector; + n_choices_visible->m_field_name = field_name; + n_choices_visible->m_df_type = DF_Type::interface_button_buildingst; + n_choices_visible->m_rdf_type = RDF_Type::Vector; + n_choices_visible->m_node_type = NodeType::Vector; + n_choices_visible->m_defined_in = "df.ui-menus.xml"; + n_choices_visible->m_addornements = "v*"; + n_choices_visible->m_address = base + offset; + n_choices_visible->m_parent = p_node_parent; + n_choices_visible->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_choices_visible); + + field_name = "cursor"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_workshop_job, field_name)); + auto n_cursor = new NodeSimple; + n_cursor->m_field_name = field_name; + n_cursor->m_df_type = DF_Type::int32_t; + n_cursor->m_rdf_type = RDF_Type::int32_t; + n_cursor->m_node_type = NodeType::Simple; + n_cursor->m_address = base + offset; + n_cursor->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cursor); + + field_name = "category_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_workshop_job, field_name)); + auto n_category_id = new NodeSimple; + n_category_id->m_field_name = field_name; + n_category_id->m_df_type = DF_Type::int32_t; + n_category_id->m_rdf_type = RDF_Type::int32_t; + n_category_id->m_node_type = NodeType::Simple; + n_category_id->m_address = base + offset; + n_category_id->m_comment = "weapons, armor, etc"; + n_category_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_category_id); + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_workshop_job, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_workshop_job, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "material_category"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_workshop_job, field_name)); + auto n_material_category = new NodeBitfield; + n_material_category->m_field_name = field_name; + n_material_category->m_df_type = DF_Type::job_material_category; + n_material_category->m_rdf_type = RDF_Type::Bitfield; + n_material_category->m_node_type = NodeType::Bitfield; + n_material_category->m_address = base + offset; + n_material_category->m_defined_in = "df.jobs.xml"; + n_material_category->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_material_category); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_workshop_job, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::Stl_string; + n_anon_1->m_rdf_type = RDF_Type::Stl_string; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "use_tooltip_lines"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_workshop_job, field_name)); + auto n_use_tooltip_lines = new NodeVector; + n_use_tooltip_lines->m_field_name = field_name; + n_use_tooltip_lines->m_df_type = DF_Type::Stl_string; + n_use_tooltip_lines->m_rdf_type = RDF_Type::Vector; + n_use_tooltip_lines->m_node_type = NodeType::Vector; + n_use_tooltip_lines->m_addornements = "v*"; + n_use_tooltip_lines->m_address = base + offset; + n_use_tooltip_lines->m_parent = p_node_parent; + n_use_tooltip_lines->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_use_tooltip_lines); + +} +void node_from_ui_sidebar_menus__T_building(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "choices_all"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_building, field_name)); + auto n_choices_all = new NodeVector; + n_choices_all->m_field_name = field_name; + n_choices_all->m_df_type = DF_Type::interface_button_constructionst; + n_choices_all->m_rdf_type = RDF_Type::Vector; + n_choices_all->m_node_type = NodeType::Vector; + n_choices_all->m_defined_in = "df.ui-menus.xml"; + n_choices_all->m_addornements = "v*"; + n_choices_all->m_address = base + offset; + n_choices_all->m_parent = p_node_parent; + n_choices_all->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_choices_all); + + field_name = "choices_visible"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_building, field_name)); + auto n_choices_visible = new NodeVector; + n_choices_visible->m_field_name = field_name; + n_choices_visible->m_df_type = DF_Type::interface_button_constructionst; + n_choices_visible->m_rdf_type = RDF_Type::Vector; + n_choices_visible->m_node_type = NodeType::Vector; + n_choices_visible->m_defined_in = "df.ui-menus.xml"; + n_choices_visible->m_addornements = "v*"; + n_choices_visible->m_address = base + offset; + n_choices_visible->m_parent = p_node_parent; + n_choices_visible->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_choices_visible); + + field_name = "category_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_building, field_name)); + auto n_category_id = new NodeSimple; + n_category_id->m_field_name = field_name; + n_category_id->m_df_type = DF_Type::int32_t; + n_category_id->m_rdf_type = RDF_Type::int32_t; + n_category_id->m_node_type = NodeType::Simple; + n_category_id->m_address = base + offset; + n_category_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_category_id); + + field_name = "cursor"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_building, field_name)); + auto n_cursor = new NodeSimple; + n_cursor->m_field_name = field_name; + n_cursor->m_df_type = DF_Type::int32_t; + n_cursor->m_rdf_type = RDF_Type::int32_t; + n_cursor->m_node_type = NodeType::Simple; + n_cursor->m_address = base + offset; + n_cursor->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cursor); + +} +void node_from_ui_sidebar_menus__T_zone(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "remove"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_zone, field_name)); + auto n_remove = new NodeSimple; + n_remove->m_field_name = field_name; + n_remove->m_df_type = DF_Type::Bool; + n_remove->m_rdf_type = RDF_Type::Bool; + n_remove->m_node_type = NodeType::Simple; + n_remove->m_address = base + offset; + n_remove->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_remove); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_zone, field_name)); + auto n_anon_1= new NodePadding; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::Padding; + n_anon_1->m_rdf_type = RDF_Type::Padding; + n_anon_1->m_node_type = NodeType::Padding; + n_anon_1->m_address = base + offset; + n_anon_1->m_size = 1; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "mode"; + auto n_mode = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_zone, field_name)); + n_mode->m_field_name = field_name; + n_mode->m_df_type = DF_Type::ui_sidebar_menus__T_zone__T_mode; + n_mode->m_rdf_type = RDF_Type::Enum; + n_mode->m_node_type = NodeType::Enum; + n_mode->m_base_type = DF_Type::int16_t; + n_mode->m_enum_type = "ui_sidebar_menus::T_zone::T_mode"; + n_mode->m_address = base + offset; + n_mode->m_first_value = 0; + n_mode->m_last_value = 2; + n_mode->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mode); + + field_name = "selected"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_zone, field_name)); + auto n_selected = new NodePointer; + n_selected->m_field_name = field_name; + n_selected->m_df_type = get_real_subtype(base+offset, DF_Type::building_civzonest); + n_selected->m_rdf_type = RDF_Type::Pointer; + n_selected->m_node_type = NodeType::Pointer; + n_selected->m_addornements = "*"; + n_selected->m_address = base + offset; + n_selected->m_parent = p_node_parent; + n_selected->m_defined_in = "df.buildings.xml"; + n_selected->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_selected); + +} +void node_from_ui_sidebar_menus__T_unit(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "inv_items"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_unit, field_name)); + auto n_inv_items = new NodeVector; + n_inv_items->m_field_name = field_name; + n_inv_items->m_df_type = DF_Type::unit_inventory_item; + n_inv_items->m_rdf_type = RDF_Type::Vector; + n_inv_items->m_node_type = NodeType::Vector; + n_inv_items->m_defined_in = "df.units.xml"; + n_inv_items->m_addornements = "v*"; + n_inv_items->m_address = base + offset; + n_inv_items->m_parent = p_node_parent; + n_inv_items->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_inv_items); + + field_name = "inv_spatters"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_unit, field_name)); + auto n_inv_spatters = new NodeVector; + n_inv_spatters->m_field_name = field_name; + n_inv_spatters->m_df_type = DF_Type::spatter; + n_inv_spatters->m_rdf_type = RDF_Type::Vector; + n_inv_spatters->m_node_type = NodeType::Vector; + n_inv_spatters->m_defined_in = "df.items.xml"; + n_inv_spatters->m_addornements = "v*"; + n_inv_spatters->m_address = base + offset; + n_inv_spatters->m_parent = p_node_parent; + n_inv_spatters->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_inv_spatters); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_unit, field_name)); + auto n_anon_1 = new NodeVector; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::Void; + n_anon_1->m_rdf_type = RDF_Type::Vector; + n_anon_1->m_node_type = NodeType::Vector; + n_anon_1->m_addornements = "v"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "in_new_squad"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_unit, field_name)); + auto n_in_new_squad = new NodeSimple; + n_in_new_squad->m_field_name = field_name; + n_in_new_squad->m_df_type = DF_Type::Bool; + n_in_new_squad->m_rdf_type = RDF_Type::Bool; + n_in_new_squad->m_node_type = NodeType::Simple; + n_in_new_squad->m_address = base + offset; + n_in_new_squad->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_in_new_squad); + + field_name = "cursor_uniform"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_unit, field_name)); + auto n_cursor_uniform = new NodeSimple; + n_cursor_uniform->m_field_name = field_name; + n_cursor_uniform->m_df_type = DF_Type::int32_t; + n_cursor_uniform->m_rdf_type = RDF_Type::int32_t; + n_cursor_uniform->m_node_type = NodeType::Simple; + n_cursor_uniform->m_address = base + offset; + n_cursor_uniform->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cursor_uniform); + + field_name = "unk_88n_cursor"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_unit, field_name)); + auto n_unk_88n_cursor = new NodeSimple; + n_unk_88n_cursor->m_field_name = field_name; + n_unk_88n_cursor->m_df_type = DF_Type::int32_t; + n_unk_88n_cursor->m_rdf_type = RDF_Type::int32_t; + n_unk_88n_cursor->m_node_type = NodeType::Simple; + n_unk_88n_cursor->m_address = base + offset; + n_unk_88n_cursor->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_88n_cursor); + + field_name = "squads"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_unit, field_name)); + auto n_squads = new NodeVector; + n_squads->m_field_name = field_name; + n_squads->m_df_type = DF_Type::squad; + n_squads->m_rdf_type = RDF_Type::Vector; + n_squads->m_node_type = NodeType::Vector; + n_squads->m_defined_in = "df.military.xml"; + n_squads->m_addornements = "v*"; + n_squads->m_address = base + offset; + n_squads->m_parent = p_node_parent; + n_squads->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_squads); + + field_name = "squad_pos"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_unit, field_name)); + auto n_squad_pos = new NodeVector; + n_squad_pos->m_field_name = field_name; + n_squad_pos->m_df_type = DF_Type::entity_position; + n_squad_pos->m_rdf_type = RDF_Type::Vector; + n_squad_pos->m_node_type = NodeType::Vector; + n_squad_pos->m_defined_in = "df.entities.xml"; + n_squad_pos->m_addornements = "v*"; + n_squad_pos->m_address = base + offset; + n_squad_pos->m_parent = p_node_parent; + n_squad_pos->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_squad_pos); + + field_name = "squad_assn"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_unit, field_name)); + auto n_squad_assn = new NodeVector; + n_squad_assn->m_field_name = field_name; + n_squad_assn->m_df_type = DF_Type::entity_position_assignment; + n_squad_assn->m_rdf_type = RDF_Type::Vector; + n_squad_assn->m_node_type = NodeType::Vector; + n_squad_assn->m_defined_in = "df.entities.xml"; + n_squad_assn->m_addornements = "v*"; + n_squad_assn->m_address = base + offset; + n_squad_assn->m_parent = p_node_parent; + n_squad_assn->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_squad_assn); + + field_name = "squad_unk1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_unit, field_name)); + auto n_squad_unk1 = new NodeVector; + n_squad_unk1->m_field_name = field_name; + n_squad_unk1->m_df_type = DF_Type::Bool; + n_squad_unk1->m_rdf_type = RDF_Type::Vector; + n_squad_unk1->m_node_type = NodeType::Vector; + n_squad_unk1->m_addornements = "v"; + n_squad_unk1->m_address = base + offset; + n_squad_unk1->m_parent = p_node_parent; + n_squad_unk1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_squad_unk1); + + field_name = "squad_unk2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_unit, field_name)); + auto n_squad_unk2 = new NodeVector; + n_squad_unk2->m_field_name = field_name; + n_squad_unk2->m_df_type = DF_Type::Void; + n_squad_unk2->m_rdf_type = RDF_Type::Vector; + n_squad_unk2->m_node_type = NodeType::Vector; + n_squad_unk2->m_addornements = "v"; + n_squad_unk2->m_address = base + offset; + n_squad_unk2->m_parent = p_node_parent; + n_squad_unk2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_squad_unk2); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_unit, field_name)); + auto n_anon_2 = new NodePointer; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = get_real_subtype(base+offset, DF_Type::entity_position); + n_anon_2->m_rdf_type = RDF_Type::Pointer; + n_anon_2->m_node_type = NodeType::Pointer; + n_anon_2->m_addornements = "*"; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + n_anon_2->m_defined_in = "df.entities.xml"; + n_anon_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_unit, field_name)); + auto n_anon_3 = new NodePointer; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = get_real_subtype(base+offset, DF_Type::entity_position_assignment); + n_anon_3->m_rdf_type = RDF_Type::Pointer; + n_anon_3->m_node_type = NodeType::Pointer; + n_anon_3->m_addornements = "*"; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + n_anon_3->m_defined_in = "df.entities.xml"; + n_anon_3->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_unit, field_name)); + auto n_anon_4 = new NodePointer; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = get_real_subtype(base+offset, DF_Type::entity_position); + n_anon_4->m_rdf_type = RDF_Type::Pointer; + n_anon_4->m_node_type = NodeType::Pointer; + n_anon_4->m_addornements = "*"; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + n_anon_4->m_defined_in = "df.entities.xml"; + n_anon_4->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "unk3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_unit, field_name)); + auto n_unk3 = new NodeSimple; + n_unk3->m_field_name = field_name; + n_unk3->m_df_type = DF_Type::Bool; + n_unk3->m_rdf_type = RDF_Type::Bool; + n_unk3->m_node_type = NodeType::Simple; + n_unk3->m_address = base + offset; + n_unk3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk3); + + field_name = "unk4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_unit, field_name)); + auto n_unk4 = new NodeSimple; + n_unk4->m_field_name = field_name; + n_unk4->m_df_type = DF_Type::Bool; + n_unk4->m_rdf_type = RDF_Type::Bool; + n_unk4->m_node_type = NodeType::Simple; + n_unk4->m_address = base + offset; + n_unk4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk4); + + field_name = "squad_list_opened"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_unit, field_name)); + auto n_squad_list_opened = new NodeSimple; + n_squad_list_opened->m_field_name = field_name; + n_squad_list_opened->m_df_type = DF_Type::Bool; + n_squad_list_opened->m_rdf_type = RDF_Type::Bool; + n_squad_list_opened->m_node_type = NodeType::Simple; + n_squad_list_opened->m_address = base + offset; + n_squad_list_opened->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_squad_list_opened); + + field_name = "unk5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_unit, field_name)); + auto n_unk5 = new NodeSimple; + n_unk5->m_field_name = field_name; + n_unk5->m_df_type = DF_Type::Bool; + n_unk5->m_rdf_type = RDF_Type::Bool; + n_unk5->m_node_type = NodeType::Simple; + n_unk5->m_address = base + offset; + n_unk5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk5); + + field_name = "rename_squad"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_unit, field_name)); + auto n_rename_squad = new NodePointer; + n_rename_squad->m_field_name = field_name; + n_rename_squad->m_df_type = get_real_subtype(base+offset, DF_Type::squad); + n_rename_squad->m_rdf_type = RDF_Type::Pointer; + n_rename_squad->m_node_type = NodeType::Pointer; + n_rename_squad->m_addornements = "*"; + n_rename_squad->m_address = base + offset; + n_rename_squad->m_parent = p_node_parent; + n_rename_squad->m_defined_in = "df.military.xml"; + n_rename_squad->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_rename_squad); + + field_name = "unk_88"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_unit, field_name)); + auto n_unk_88 = new NodeVector; + n_unk_88->m_field_name = field_name; + n_unk_88->m_df_type = DF_Type::Void; + n_unk_88->m_rdf_type = RDF_Type::Vector; + n_unk_88->m_node_type = NodeType::Vector; + n_unk_88->m_addornements = "v"; + n_unk_88->m_address = base + offset; + n_unk_88->m_parent = p_node_parent; + n_unk_88->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_88); + + field_name = "unk_44_11a"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_unit, field_name)); + auto n_unk_44_11a = new NodeVector; + n_unk_44_11a->m_field_name = field_name; + n_unk_44_11a->m_df_type = DF_Type::Void; + n_unk_44_11a->m_rdf_type = RDF_Type::Vector; + n_unk_44_11a->m_node_type = NodeType::Vector; + n_unk_44_11a->m_addornements = "v"; + n_unk_44_11a->m_address = base + offset; + n_unk_44_11a->m_parent = p_node_parent; + n_unk_44_11a->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_44_11a); + + field_name = "unk_44_11b"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_unit, field_name)); + auto n_unk_44_11b = new NodeSimple; + n_unk_44_11b->m_field_name = field_name; + n_unk_44_11b->m_df_type = DF_Type::int32_t; + n_unk_44_11b->m_rdf_type = RDF_Type::int32_t; + n_unk_44_11b->m_node_type = NodeType::Simple; + n_unk_44_11b->m_address = base + offset; + n_unk_44_11b->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_44_11b); + + field_name = "unk_44_11c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_unit, field_name)); + auto n_unk_44_11c = new NodeSimple; + n_unk_44_11c->m_field_name = field_name; + n_unk_44_11c->m_df_type = DF_Type::int8_t; + n_unk_44_11c->m_rdf_type = RDF_Type::int8_t; + n_unk_44_11c->m_node_type = NodeType::Simple; + n_unk_44_11c->m_address = base + offset; + n_unk_44_11c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_44_11c); + + field_name = "expel_error"; + auto n_expel_error = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_unit, field_name)); + n_expel_error->m_field_name = field_name; + n_expel_error->m_df_type = DF_Type::ui_sidebar_menus__T_unit__T_expel_error; + n_expel_error->m_rdf_type = RDF_Type::Enum; + n_expel_error->m_node_type = NodeType::Enum; + n_expel_error->m_base_type = DF_Type::int32_t; + n_expel_error->m_enum_type = "ui_sidebar_menus::T_unit::T_expel_error"; + n_expel_error->m_address = base + offset; + n_expel_error->m_first_value = -1; + n_expel_error->m_last_value = 10; + n_expel_error->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_expel_error); + +} +void node_from_ui_sidebar_menus__T_hospital(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "selected_line"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_hospital, field_name)); + auto n_selected_line = new NodeSimple; + n_selected_line->m_field_name = field_name; + n_selected_line->m_df_type = DF_Type::int32_t; + n_selected_line->m_rdf_type = RDF_Type::int32_t; + n_selected_line->m_node_type = NodeType::Simple; + n_selected_line->m_address = base + offset; + n_selected_line->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_selected_line); + + field_name = "beds"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_hospital, field_name)); + auto n_beds = new NodeSimple; + n_beds->m_field_name = field_name; + n_beds->m_df_type = DF_Type::int32_t; + n_beds->m_rdf_type = RDF_Type::int32_t; + n_beds->m_node_type = NodeType::Simple; + n_beds->m_address = base + offset; + n_beds->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_beds); + + field_name = "tables"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_hospital, field_name)); + auto n_tables = new NodeSimple; + n_tables->m_field_name = field_name; + n_tables->m_df_type = DF_Type::int32_t; + n_tables->m_rdf_type = RDF_Type::int32_t; + n_tables->m_node_type = NodeType::Simple; + n_tables->m_address = base + offset; + n_tables->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tables); + + field_name = "traction_benches"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_hospital, field_name)); + auto n_traction_benches = new NodeSimple; + n_traction_benches->m_field_name = field_name; + n_traction_benches->m_df_type = DF_Type::int32_t; + n_traction_benches->m_rdf_type = RDF_Type::int32_t; + n_traction_benches->m_node_type = NodeType::Simple; + n_traction_benches->m_address = base + offset; + n_traction_benches->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_traction_benches); + + field_name = "containers"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_hospital, field_name)); + auto n_containers = new NodeSimple; + n_containers->m_field_name = field_name; + n_containers->m_df_type = DF_Type::int32_t; + n_containers->m_rdf_type = RDF_Type::int32_t; + n_containers->m_node_type = NodeType::Simple; + n_containers->m_address = base + offset; + n_containers->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_containers); + +} +void node_from_ui_sidebar_menus__T_location(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "list"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_location, field_name)); + auto n_list = new NodeVector; + n_list->m_field_name = field_name; + n_list->m_df_type = DF_Type::abstract_building; + n_list->m_rdf_type = RDF_Type::Vector; + n_list->m_node_type = NodeType::Vector; + n_list->m_defined_in = "df.world-site.xml"; + n_list->m_addornements = "v*"; + n_list->m_address = base + offset; + n_list->m_parent = p_node_parent; + n_list->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_list); + + field_name = "cursor"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_location, field_name)); + auto n_cursor = new NodeSimple; + n_cursor->m_field_name = field_name; + n_cursor->m_df_type = DF_Type::int32_t; + n_cursor->m_rdf_type = RDF_Type::int32_t; + n_cursor->m_node_type = NodeType::Simple; + n_cursor->m_address = base + offset; + n_cursor->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cursor); + + field_name = "deities"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_location, field_name)); + auto n_deities = new NodeVector; + n_deities->m_field_name = field_name; + n_deities->m_df_type = DF_Type::historical_figure; + n_deities->m_rdf_type = RDF_Type::Vector; + n_deities->m_node_type = NodeType::Vector; + n_deities->m_defined_in = "df.history.xml"; + n_deities->m_addornements = "v*"; + n_deities->m_address = base + offset; + n_deities->m_parent = p_node_parent; + n_deities->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_deities); + + field_name = "cursor_deity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_location, field_name)); + auto n_cursor_deity = new NodeSimple; + n_cursor_deity->m_field_name = field_name; + n_cursor_deity->m_df_type = DF_Type::int32_t; + n_cursor_deity->m_rdf_type = RDF_Type::int32_t; + n_cursor_deity->m_node_type = NodeType::Simple; + n_cursor_deity->m_address = base + offset; + n_cursor_deity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cursor_deity); + + field_name = "in_create"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_location, field_name)); + auto n_in_create = new NodeSimple; + n_in_create->m_field_name = field_name; + n_in_create->m_df_type = DF_Type::Bool; + n_in_create->m_rdf_type = RDF_Type::Bool; + n_in_create->m_node_type = NodeType::Simple; + n_in_create->m_address = base + offset; + n_in_create->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_in_create); + + field_name = "in_choose_deity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_location, field_name)); + auto n_in_choose_deity = new NodeSimple; + n_in_choose_deity->m_field_name = field_name; + n_in_choose_deity->m_df_type = DF_Type::Bool; + n_in_choose_deity->m_rdf_type = RDF_Type::Bool; + n_in_choose_deity->m_node_type = NodeType::Simple; + n_in_choose_deity->m_address = base + offset; + n_in_choose_deity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_in_choose_deity); + +} +void node_from_ui_sidebar_menus__T_job_details(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "job"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_job_details, field_name)); + auto n_job = new NodePointer; + n_job->m_field_name = field_name; + n_job->m_df_type = get_real_subtype(base+offset, DF_Type::job); + n_job->m_rdf_type = RDF_Type::Pointer; + n_job->m_node_type = NodeType::Pointer; + n_job->m_addornements = "*"; + n_job->m_address = base + offset; + n_job->m_parent = p_node_parent; + n_job->m_defined_in = "df.jobs.xml"; + n_job->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_job); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_job_details, field_name)); + auto n_anon_1= new NodePadding; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::Padding; + n_anon_1->m_rdf_type = RDF_Type::Padding; + n_anon_1->m_node_type = NodeType::Padding; + n_anon_1->m_address = base + offset; + n_anon_1->m_size = 4; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "detail_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_job_details, field_name)); + auto n_detail_type = new NodeVector; + n_detail_type->m_field_name = field_name; + n_detail_type->m_df_type = DF_Type::int32_t; + n_detail_type->m_rdf_type = RDF_Type::Vector; + n_detail_type->m_node_type = NodeType::Vector; + n_detail_type->m_addornements = "v"; + n_detail_type->m_address = base + offset; + n_detail_type->m_comment = "0-material, 1-image, 2-size, 3-type"; + n_detail_type->m_parent = p_node_parent; + n_detail_type->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_detail_type); + + field_name = "detail_material_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_job_details, field_name)); + auto n_detail_material_type = new NodeVector; + n_detail_material_type->m_field_name = field_name; + n_detail_material_type->m_df_type = DF_Type::int32_t; + n_detail_material_type->m_rdf_type = RDF_Type::Vector; + n_detail_material_type->m_node_type = NodeType::Vector; + n_detail_material_type->m_addornements = "v"; + n_detail_material_type->m_address = base + offset; + n_detail_material_type->m_parent = p_node_parent; + n_detail_material_type->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_detail_material_type); + + field_name = "detail_cursor"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_job_details, field_name)); + auto n_detail_cursor = new NodeSimple; + n_detail_cursor->m_field_name = field_name; + n_detail_cursor->m_df_type = DF_Type::int32_t; + n_detail_cursor->m_rdf_type = RDF_Type::int32_t; + n_detail_cursor->m_node_type = NodeType::Simple; + n_detail_cursor->m_address = base + offset; + n_detail_cursor->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_detail_cursor); + + field_name = "setting_detail_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_job_details, field_name)); + auto n_setting_detail_type = new NodeSimple; + n_setting_detail_type->m_field_name = field_name; + n_setting_detail_type->m_df_type = DF_Type::int32_t; + n_setting_detail_type->m_rdf_type = RDF_Type::int32_t; + n_setting_detail_type->m_node_type = NodeType::Simple; + n_setting_detail_type->m_address = base + offset; + n_setting_detail_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_setting_detail_type); + + field_name = "unk6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_job_details, field_name)); + auto n_unk6 = new NodeSimple; + n_unk6->m_field_name = field_name; + n_unk6->m_df_type = DF_Type::int32_t; + n_unk6->m_rdf_type = RDF_Type::int32_t; + n_unk6->m_node_type = NodeType::Simple; + n_unk6->m_address = base + offset; + n_unk6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk6); + + field_name = "pos"; + auto n_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_job_details, field_name)); + n_pos->m_field_name = field_name; + n_pos->m_df_type = DF_Type::coord; + n_pos->m_rdf_type = RDF_Type::Struct; + n_pos->m_node_type = NodeType::Compound; + n_pos->m_address = base + offset; + n_pos->m_defined_in = "df.map.xml"; + n_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pos); + + field_name = "workshop"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_job_details, field_name)); + auto n_workshop = new NodePointer; + n_workshop->m_field_name = field_name; + n_workshop->m_df_type = get_real_subtype(base+offset, DF_Type::building_workshopst); + n_workshop->m_rdf_type = RDF_Type::Pointer; + n_workshop->m_node_type = NodeType::Pointer; + n_workshop->m_addornements = "*"; + n_workshop->m_address = base + offset; + n_workshop->m_parent = p_node_parent; + n_workshop->m_defined_in = "df.buildings.xml"; + n_workshop->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_workshop); + + field_name = "mat_type_visible"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_job_details, field_name)); + auto n_mat_type_visible = new NodeVector; + n_mat_type_visible->m_field_name = field_name; + n_mat_type_visible->m_df_type = DF_Type::int16_t; + n_mat_type_visible->m_rdf_type = RDF_Type::Vector; + n_mat_type_visible->m_node_type = NodeType::Vector; + n_mat_type_visible->m_addornements = "v"; + n_mat_type_visible->m_address = base + offset; + n_mat_type_visible->m_parent = p_node_parent; + n_mat_type_visible->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_mat_type_visible); + + field_name = "mat_index_visible"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_job_details, field_name)); + auto n_mat_index_visible = new NodeVector; + n_mat_index_visible->m_field_name = field_name; + n_mat_index_visible->m_df_type = DF_Type::int32_t; + n_mat_index_visible->m_rdf_type = RDF_Type::Vector; + n_mat_index_visible->m_node_type = NodeType::Vector; + n_mat_index_visible->m_addornements = "v"; + n_mat_index_visible->m_address = base + offset; + n_mat_index_visible->m_parent = p_node_parent; + n_mat_index_visible->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_mat_index_visible); + + field_name = "mat_amount_visible"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_job_details, field_name)); + auto n_mat_amount_visible = new NodeVector; + n_mat_amount_visible->m_field_name = field_name; + n_mat_amount_visible->m_df_type = DF_Type::int32_t; + n_mat_amount_visible->m_rdf_type = RDF_Type::Vector; + n_mat_amount_visible->m_node_type = NodeType::Vector; + n_mat_amount_visible->m_addornements = "v"; + n_mat_amount_visible->m_address = base + offset; + n_mat_amount_visible->m_parent = p_node_parent; + n_mat_amount_visible->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_mat_amount_visible); + + field_name = "mat_type_all"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_job_details, field_name)); + auto n_mat_type_all = new NodeVector; + n_mat_type_all->m_field_name = field_name; + n_mat_type_all->m_df_type = DF_Type::int16_t; + n_mat_type_all->m_rdf_type = RDF_Type::Vector; + n_mat_type_all->m_node_type = NodeType::Vector; + n_mat_type_all->m_addornements = "v"; + n_mat_type_all->m_address = base + offset; + n_mat_type_all->m_parent = p_node_parent; + n_mat_type_all->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_mat_type_all); + + field_name = "mat_index_all"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_job_details, field_name)); + auto n_mat_index_all = new NodeVector; + n_mat_index_all->m_field_name = field_name; + n_mat_index_all->m_df_type = DF_Type::int32_t; + n_mat_index_all->m_rdf_type = RDF_Type::Vector; + n_mat_index_all->m_node_type = NodeType::Vector; + n_mat_index_all->m_addornements = "v"; + n_mat_index_all->m_address = base + offset; + n_mat_index_all->m_parent = p_node_parent; + n_mat_index_all->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_mat_index_all); + + field_name = "mat_amount_all"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_job_details, field_name)); + auto n_mat_amount_all = new NodeVector; + n_mat_amount_all->m_field_name = field_name; + n_mat_amount_all->m_df_type = DF_Type::int32_t; + n_mat_amount_all->m_rdf_type = RDF_Type::Vector; + n_mat_amount_all->m_node_type = NodeType::Vector; + n_mat_amount_all->m_addornements = "v"; + n_mat_amount_all->m_address = base + offset; + n_mat_amount_all->m_parent = p_node_parent; + n_mat_amount_all->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_mat_amount_all); + + field_name = "mat_cursor"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_job_details, field_name)); + auto n_mat_cursor = new NodeSimple; + n_mat_cursor->m_field_name = field_name; + n_mat_cursor->m_df_type = DF_Type::int32_t; + n_mat_cursor->m_rdf_type = RDF_Type::int32_t; + n_mat_cursor->m_node_type = NodeType::Simple; + n_mat_cursor->m_address = base + offset; + n_mat_cursor->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_cursor); + + field_name = "mat_filter"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_job_details, field_name)); + auto n_mat_filter = new NodeSimple; + n_mat_filter->m_field_name = field_name; + n_mat_filter->m_df_type = DF_Type::Stl_string; + n_mat_filter->m_rdf_type = RDF_Type::Stl_string; + n_mat_filter->m_node_type = NodeType::Simple; + n_mat_filter->m_address = base + offset; + n_mat_filter->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_filter); + + field_name = "editing_mat_filter"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_job_details, field_name)); + auto n_editing_mat_filter = new NodeSimple; + n_editing_mat_filter->m_field_name = field_name; + n_editing_mat_filter->m_df_type = DF_Type::Bool; + n_editing_mat_filter->m_rdf_type = RDF_Type::Bool; + n_editing_mat_filter->m_node_type = NodeType::Simple; + n_editing_mat_filter->m_address = base + offset; + n_editing_mat_filter->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_editing_mat_filter); + + field_name = "sizes_visible"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_job_details, field_name)); + auto n_sizes_visible = new NodeVector; + n_sizes_visible->m_field_name = field_name; + n_sizes_visible->m_df_type = DF_Type::int32_t; + n_sizes_visible->m_rdf_type = RDF_Type::Vector; + n_sizes_visible->m_node_type = NodeType::Vector; + n_sizes_visible->m_addornements = "v"; + n_sizes_visible->m_address = base + offset; + n_sizes_visible->m_comment = "race id"; + n_sizes_visible->m_parent = p_node_parent; + n_sizes_visible->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_sizes_visible); + + field_name = "sizes_all"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_job_details, field_name)); + auto n_sizes_all = new NodeVector; + n_sizes_all->m_field_name = field_name; + n_sizes_all->m_df_type = DF_Type::int32_t; + n_sizes_all->m_rdf_type = RDF_Type::Vector; + n_sizes_all->m_node_type = NodeType::Vector; + n_sizes_all->m_addornements = "v"; + n_sizes_all->m_address = base + offset; + n_sizes_all->m_comment = "race id"; + n_sizes_all->m_parent = p_node_parent; + n_sizes_all->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_sizes_all); + + field_name = "size_cursor"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_job_details, field_name)); + auto n_size_cursor = new NodeSimple; + n_size_cursor->m_field_name = field_name; + n_size_cursor->m_df_type = DF_Type::int32_t; + n_size_cursor->m_rdf_type = RDF_Type::int32_t; + n_size_cursor->m_node_type = NodeType::Simple; + n_size_cursor->m_address = base + offset; + n_size_cursor->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_size_cursor); + + field_name = "size_filter"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_job_details, field_name)); + auto n_size_filter = new NodeSimple; + n_size_filter->m_field_name = field_name; + n_size_filter->m_df_type = DF_Type::Stl_string; + n_size_filter->m_rdf_type = RDF_Type::Stl_string; + n_size_filter->m_node_type = NodeType::Simple; + n_size_filter->m_address = base + offset; + n_size_filter->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_size_filter); + + field_name = "editing_size_filter"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_job_details, field_name)); + auto n_editing_size_filter = new NodeSimple; + n_editing_size_filter->m_field_name = field_name; + n_editing_size_filter->m_df_type = DF_Type::Bool; + n_editing_size_filter->m_rdf_type = RDF_Type::Bool; + n_editing_size_filter->m_node_type = NodeType::Simple; + n_editing_size_filter->m_address = base + offset; + n_editing_size_filter->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_editing_size_filter); + + field_name = "decoration_types"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_job_details, field_name)); + auto n_decoration_types = new NodeVector; + n_decoration_types->m_field_name = field_name; + n_decoration_types->m_df_type = DF_Type::int32_t; + n_decoration_types->m_rdf_type = RDF_Type::Vector; + n_decoration_types->m_node_type = NodeType::Vector; + n_decoration_types->m_addornements = "v"; + n_decoration_types->m_address = base + offset; + n_decoration_types->m_comment = "0-image, 1-covered, 2-rings, 3-bands, 4-spikes"; + n_decoration_types->m_parent = p_node_parent; + n_decoration_types->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_decoration_types); + + field_name = "decoration_cursor"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_job_details, field_name)); + auto n_decoration_cursor = new NodeSimple; + n_decoration_cursor->m_field_name = field_name; + n_decoration_cursor->m_df_type = DF_Type::int32_t; + n_decoration_cursor->m_rdf_type = RDF_Type::int32_t; + n_decoration_cursor->m_node_type = NodeType::Simple; + n_decoration_cursor->m_address = base + offset; + n_decoration_cursor->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_decoration_cursor); + + field_name = "selected_display_furniture"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_job_details, field_name)); + auto n_selected_display_furniture = new NodePointer; + n_selected_display_furniture->m_field_name = field_name; + n_selected_display_furniture->m_df_type = get_real_subtype(base+offset, DF_Type::building_display_furniturest); + n_selected_display_furniture->m_rdf_type = RDF_Type::Pointer; + n_selected_display_furniture->m_node_type = NodeType::Pointer; + n_selected_display_furniture->m_addornements = "*"; + n_selected_display_furniture->m_address = base + offset; + n_selected_display_furniture->m_parent = p_node_parent; + n_selected_display_furniture->m_defined_in = "df.buildings.xml"; + n_selected_display_furniture->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_selected_display_furniture); + + field_name = "displayed_items_cursor"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_job_details, field_name)); + auto n_displayed_items_cursor = new NodeSimple; + n_displayed_items_cursor->m_field_name = field_name; + n_displayed_items_cursor->m_df_type = DF_Type::int32_t; + n_displayed_items_cursor->m_rdf_type = RDF_Type::int32_t; + n_displayed_items_cursor->m_node_type = NodeType::Simple; + n_displayed_items_cursor->m_address = base + offset; + n_displayed_items_cursor->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_displayed_items_cursor); + +} +void node_from_ui_sidebar_menus__T_unit_cursor(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "list"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_unit_cursor, field_name)); + auto n_list = new NodeVector; + n_list->m_field_name = field_name; + n_list->m_df_type = DF_Type::int32_t; + n_list->m_rdf_type = RDF_Type::Vector; + n_list->m_node_type = NodeType::Vector; + n_list->m_addornements = "v"; + n_list->m_address = base + offset; + n_list->m_refers_to = "$global.world.units.active[$]"; + n_list->m_parent = p_node_parent; + n_list->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_list); + + field_name = "unk_a0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_unit_cursor, field_name)); + auto n_unk_a0 = new NodeSimple; + n_unk_a0->m_field_name = field_name; + n_unk_a0->m_df_type = DF_Type::int8_t; + n_unk_a0->m_rdf_type = RDF_Type::int8_t; + n_unk_a0->m_node_type = NodeType::Simple; + n_unk_a0->m_address = base + offset; + n_unk_a0->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_a0); + + field_name = "unk_a1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_unit_cursor, field_name)); + auto n_unk_a1 = new NodeSimple; + n_unk_a1->m_field_name = field_name; + n_unk_a1->m_df_type = DF_Type::int8_t; + n_unk_a1->m_rdf_type = RDF_Type::int8_t; + n_unk_a1->m_node_type = NodeType::Simple; + n_unk_a1->m_address = base + offset; + n_unk_a1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_a1); + +} +void node_from_ui_sidebar_menus__T_unit_skills(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "skill_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_unit_skills, field_name)); + auto n_skill_id = new NodeVector; + n_skill_id->m_field_name = field_name; + n_skill_id->m_df_type = DF_Type::int32_t; + n_skill_id->m_rdf_type = RDF_Type::Vector; + n_skill_id->m_node_type = NodeType::Vector; + n_skill_id->m_addornements = "v"; + n_skill_id->m_address = base + offset; + n_skill_id->m_refers_to = "$global.ui_selected_unit.index.refers-to.status.current_soul.skills[$]"; + n_skill_id->m_parent = p_node_parent; + n_skill_id->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_skill_id); + + field_name = "skill_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_unit_skills, field_name)); + auto n_skill_type = new NodeVector; + n_skill_type->m_field_name = field_name; + n_skill_type->m_df_type = DF_Type::int32_t; + n_skill_type->m_rdf_type = RDF_Type::Vector; + n_skill_type->m_node_type = NodeType::Vector; + n_skill_type->m_addornements = "v"; + n_skill_type->m_address = base + offset; + n_skill_type->m_parent = p_node_parent; + n_skill_type->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_skill_type); + + field_name = "skill_subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_unit_skills, field_name)); + auto n_skill_subtype = new NodeVector; + n_skill_subtype->m_field_name = field_name; + n_skill_subtype->m_df_type = DF_Type::int32_t; + n_skill_subtype->m_rdf_type = RDF_Type::Vector; + n_skill_subtype->m_node_type = NodeType::Vector; + n_skill_subtype->m_addornements = "v"; + n_skill_subtype->m_address = base + offset; + n_skill_subtype->m_parent = p_node_parent; + n_skill_subtype->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_skill_subtype); + +} +void node_from_ui_sidebar_menus__T_barracks(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "squads"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_barracks, field_name)); + auto n_squads = new NodeVector; + n_squads->m_field_name = field_name; + n_squads->m_df_type = DF_Type::squad; + n_squads->m_rdf_type = RDF_Type::Vector; + n_squads->m_node_type = NodeType::Vector; + n_squads->m_defined_in = "df.military.xml"; + n_squads->m_addornements = "v*"; + n_squads->m_address = base + offset; + n_squads->m_parent = p_node_parent; + n_squads->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_squads); + + field_name = "uses"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_barracks, field_name)); + auto n_uses = new NodeVector; + n_uses->m_field_name = field_name; + n_uses->m_df_type = DF_Type::squad_use_flags; + n_uses->m_rdf_type = RDF_Type::Vector; + n_uses->m_node_type = NodeType::Vector; + n_uses->m_defined_in = "df.military.xml"; + n_uses->m_addornements = "v"; + n_uses->m_address = base + offset; + n_uses->m_parent = p_node_parent; + n_uses->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_uses); + + field_name = "in_rename"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_barracks, field_name)); + auto n_in_rename = new NodeSimple; + n_in_rename->m_field_name = field_name; + n_in_rename->m_df_type = DF_Type::Bool; + n_in_rename->m_rdf_type = RDF_Type::Bool; + n_in_rename->m_node_type = NodeType::Simple; + n_in_rename->m_address = base + offset; + n_in_rename->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_in_rename); + + field_name = "in_positions"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_barracks, field_name)); + auto n_in_positions = new NodeSimple; + n_in_positions->m_field_name = field_name; + n_in_positions->m_df_type = DF_Type::Bool; + n_in_positions->m_rdf_type = RDF_Type::Bool; + n_in_positions->m_node_type = NodeType::Simple; + n_in_positions->m_address = base + offset; + n_in_positions->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_in_positions); + + field_name = "position_squad"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_barracks, field_name)); + auto n_position_squad = new NodePointer; + n_position_squad->m_field_name = field_name; + n_position_squad->m_df_type = get_real_subtype(base+offset, DF_Type::squad); + n_position_squad->m_rdf_type = RDF_Type::Pointer; + n_position_squad->m_node_type = NodeType::Pointer; + n_position_squad->m_addornements = "*"; + n_position_squad->m_address = base + offset; + n_position_squad->m_parent = p_node_parent; + n_position_squad->m_defined_in = "df.military.xml"; + n_position_squad->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_position_squad); + + field_name = "position_cursor"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_barracks, field_name)); + auto n_position_cursor = new NodeSimple; + n_position_cursor->m_field_name = field_name; + n_position_cursor->m_df_type = DF_Type::int32_t; + n_position_cursor->m_rdf_type = RDF_Type::int32_t; + n_position_cursor->m_node_type = NodeType::Simple; + n_position_cursor->m_address = base + offset; + n_position_cursor->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_position_cursor); + + field_name = "in_position_squads"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_barracks, field_name)); + auto n_in_position_squads = new NodeSimple; + n_in_position_squads->m_field_name = field_name; + n_in_position_squads->m_df_type = DF_Type::Bool; + n_in_position_squads->m_rdf_type = RDF_Type::Bool; + n_in_position_squads->m_node_type = NodeType::Simple; + n_in_position_squads->m_address = base + offset; + n_in_position_squads->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_in_position_squads); + + field_name = "position_squads"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_barracks, field_name)); + auto n_position_squads = new NodeVector; + n_position_squads->m_field_name = field_name; + n_position_squads->m_df_type = DF_Type::squad; + n_position_squads->m_rdf_type = RDF_Type::Vector; + n_position_squads->m_node_type = NodeType::Vector; + n_position_squads->m_defined_in = "df.military.xml"; + n_position_squads->m_addornements = "v*"; + n_position_squads->m_address = base + offset; + n_position_squads->m_parent = p_node_parent; + n_position_squads->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_position_squads); + + field_name = "position_squad_cursor"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_barracks, field_name)); + auto n_position_squad_cursor = new NodeSimple; + n_position_squad_cursor->m_field_name = field_name; + n_position_squad_cursor->m_df_type = DF_Type::int32_t; + n_position_squad_cursor->m_rdf_type = RDF_Type::int32_t; + n_position_squad_cursor->m_node_type = NodeType::Simple; + n_position_squad_cursor->m_address = base + offset; + n_position_squad_cursor->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_position_squad_cursor); + +} +void node_from_ui_sidebar_menus__T_minimap(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "data"; + auto n_data = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_minimap, field_name)); + n_data->m_field_name = field_name; + n_data->m_df_type = DF_Type::int32_t; + n_data->m_rdf_type = RDF_Type::Array; + n_data->m_node_type = NodeType::Array; + n_data->m_addornements = "[23[23"; + n_data->m_array_size = 23; + n_data->m_address = base + offset; + n_data->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_data); + + field_name = "need_render"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_minimap, field_name)); + auto n_need_render = new NodeSimple; + n_need_render->m_field_name = field_name; + n_need_render->m_df_type = DF_Type::Bool; + n_need_render->m_rdf_type = RDF_Type::Bool; + n_need_render->m_node_type = NodeType::Simple; + n_need_render->m_address = base + offset; + n_need_render->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_need_render); + + field_name = "need_scan"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_minimap, field_name)); + auto n_need_scan = new NodeSimple; + n_need_scan->m_field_name = field_name; + n_need_scan->m_df_type = DF_Type::Bool; + n_need_scan->m_rdf_type = RDF_Type::Bool; + n_need_scan->m_node_type = NodeType::Simple; + n_need_scan->m_address = base + offset; + n_need_scan->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_need_scan); + + field_name = "z_level"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_minimap, field_name)); + auto n_z_level = new NodeSimple; + n_z_level->m_field_name = field_name; + n_z_level->m_df_type = DF_Type::int16_t; + n_z_level->m_rdf_type = RDF_Type::int16_t; + n_z_level->m_node_type = NodeType::Simple; + n_z_level->m_address = base + offset; + n_z_level->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_z_level); + + field_name = "tile"; + auto n_tile = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_minimap, field_name)); + n_tile->m_field_name = field_name; + n_tile->m_df_type = DF_Type::uint8_t; + n_tile->m_rdf_type = RDF_Type::Array; + n_tile->m_node_type = NodeType::Array; + n_tile->m_addornements = "[23[23"; + n_tile->m_array_size = 23; + n_tile->m_address = base + offset; + n_tile->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tile); + + field_name = "tile_fg"; + auto n_tile_fg = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_minimap, field_name)); + n_tile_fg->m_field_name = field_name; + n_tile_fg->m_df_type = DF_Type::int16_t; + n_tile_fg->m_rdf_type = RDF_Type::Array; + n_tile_fg->m_node_type = NodeType::Array; + n_tile_fg->m_addornements = "[23[23"; + n_tile_fg->m_array_size = 23; + n_tile_fg->m_address = base + offset; + n_tile_fg->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tile_fg); + + field_name = "tile_bg"; + auto n_tile_bg = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_minimap, field_name)); + n_tile_bg->m_field_name = field_name; + n_tile_bg->m_df_type = DF_Type::int16_t; + n_tile_bg->m_rdf_type = RDF_Type::Array; + n_tile_bg->m_node_type = NodeType::Array; + n_tile_bg->m_addornements = "[23[23"; + n_tile_bg->m_array_size = 23; + n_tile_bg->m_address = base + offset; + n_tile_bg->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tile_bg); + + field_name = "tile_bold"; + auto n_tile_bold = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_minimap, field_name)); + n_tile_bold->m_field_name = field_name; + n_tile_bold->m_df_type = DF_Type::int16_t; + n_tile_bold->m_rdf_type = RDF_Type::Array; + n_tile_bold->m_node_type = NodeType::Array; + n_tile_bold->m_addornements = "[23[23"; + n_tile_bold->m_array_size = 23; + n_tile_bold->m_address = base + offset; + n_tile_bold->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tile_bold); + +} +void node_from_ui_sidebar_menus__T_command_line(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "original"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_command_line, field_name)); + auto n_original = new NodeSimple; + n_original->m_field_name = field_name; + n_original->m_df_type = DF_Type::Stl_string; + n_original->m_rdf_type = RDF_Type::Stl_string; + n_original->m_node_type = NodeType::Simple; + n_original->m_address = base + offset; + n_original->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_original); + + field_name = "arg_vect"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_command_line, field_name)); + auto n_arg_vect = new NodeVector; + n_arg_vect->m_field_name = field_name; + n_arg_vect->m_df_type = DF_Type::Stl_string; + n_arg_vect->m_rdf_type = RDF_Type::Vector; + n_arg_vect->m_node_type = NodeType::Vector; + n_arg_vect->m_addornements = "v*"; + n_arg_vect->m_address = base + offset; + n_arg_vect->m_parent = p_node_parent; + n_arg_vect->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_arg_vect); + + field_name = "gen_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_command_line, field_name)); + auto n_gen_id = new NodeSimple; + n_gen_id->m_field_name = field_name; + n_gen_id->m_df_type = DF_Type::Long; + n_gen_id->m_rdf_type = RDF_Type::Long; + n_gen_id->m_node_type = NodeType::Simple; + n_gen_id->m_address = base + offset; + n_gen_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_gen_id); + + field_name = "world_seed"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_command_line, field_name)); + auto n_world_seed = new NodeSimple; + n_world_seed->m_field_name = field_name; + n_world_seed->m_df_type = DF_Type::Long; + n_world_seed->m_rdf_type = RDF_Type::Long; + n_world_seed->m_node_type = NodeType::Simple; + n_world_seed->m_address = base + offset; + n_world_seed->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_world_seed); + + field_name = "use_seed"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_command_line, field_name)); + auto n_use_seed = new NodeSimple; + n_use_seed->m_field_name = field_name; + n_use_seed->m_df_type = DF_Type::Bool; + n_use_seed->m_rdf_type = RDF_Type::Bool; + n_use_seed->m_node_type = NodeType::Simple; + n_use_seed->m_address = base + offset; + n_use_seed->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_use_seed); + + field_name = "world_param"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_command_line, field_name)); + auto n_world_param = new NodeSimple; + n_world_param->m_field_name = field_name; + n_world_param->m_df_type = DF_Type::Stl_string; + n_world_param->m_rdf_type = RDF_Type::Stl_string; + n_world_param->m_node_type = NodeType::Simple; + n_world_param->m_address = base + offset; + n_world_param->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_world_param); + + field_name = "use_param"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus__T_command_line, field_name)); + auto n_use_param = new NodeSimple; + n_use_param->m_field_name = field_name; + n_use_param->m_df_type = DF_Type::int8_t; + n_use_param->m_rdf_type = RDF_Type::int8_t; + n_use_param->m_node_type = NodeType::Simple; + n_use_param->m_address = base + offset; + n_use_param->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_use_param); + +} +void node_from_ui_sidebar_menus(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "designation"; + auto n_designation = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus, field_name)); + n_designation->m_field_name = field_name; + n_designation->m_df_type = DF_Type::ui_sidebar_menus__T_designation; + n_designation->m_rdf_type = RDF_Type::Compound; + n_designation->m_node_type = NodeType::Compound; + n_designation->m_address = base + offset; + n_designation->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_designation); + + field_name = "workshop_job"; + auto n_workshop_job = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus, field_name)); + n_workshop_job->m_field_name = field_name; + n_workshop_job->m_df_type = DF_Type::ui_sidebar_menus__T_workshop_job; + n_workshop_job->m_rdf_type = RDF_Type::Compound; + n_workshop_job->m_node_type = NodeType::Compound; + n_workshop_job->m_address = base + offset; + n_workshop_job->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_workshop_job); + + field_name = "building"; + auto n_building = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus, field_name)); + n_building->m_field_name = field_name; + n_building->m_df_type = DF_Type::ui_sidebar_menus__T_building; + n_building->m_rdf_type = RDF_Type::Compound; + n_building->m_node_type = NodeType::Compound; + n_building->m_address = base + offset; + n_building->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_building); + + field_name = "zone"; + auto n_zone = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus, field_name)); + n_zone->m_field_name = field_name; + n_zone->m_df_type = DF_Type::ui_sidebar_menus__T_zone; + n_zone->m_rdf_type = RDF_Type::Compound; + n_zone->m_node_type = NodeType::Compound; + n_zone->m_address = base + offset; + n_zone->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_zone); + + field_name = "unit"; + auto n_unit = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus, field_name)); + n_unit->m_field_name = field_name; + n_unit->m_df_type = DF_Type::ui_sidebar_menus__T_unit; + n_unit->m_rdf_type = RDF_Type::Compound; + n_unit->m_node_type = NodeType::Compound; + n_unit->m_address = base + offset; + n_unit->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unit); + + field_name = "hospital"; + auto n_hospital = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus, field_name)); + n_hospital->m_field_name = field_name; + n_hospital->m_df_type = DF_Type::ui_sidebar_menus__T_hospital; + n_hospital->m_rdf_type = RDF_Type::Compound; + n_hospital->m_node_type = NodeType::Compound; + n_hospital->m_address = base + offset; + n_hospital->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_hospital); + + field_name = "location"; + auto n_location = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus, field_name)); + n_location->m_field_name = field_name; + n_location->m_df_type = DF_Type::ui_sidebar_menus__T_location; + n_location->m_rdf_type = RDF_Type::Compound; + n_location->m_node_type = NodeType::Compound; + n_location->m_address = base + offset; + n_location->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_location); + + field_name = "job_details"; + auto n_job_details = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus, field_name)); + n_job_details->m_field_name = field_name; + n_job_details->m_df_type = DF_Type::ui_sidebar_menus__T_job_details; + n_job_details->m_rdf_type = RDF_Type::Compound; + n_job_details->m_node_type = NodeType::Compound; + n_job_details->m_address = base + offset; + n_job_details->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_job_details); + + field_name = "unit_cursor"; + auto n_unit_cursor = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus, field_name)); + n_unit_cursor->m_field_name = field_name; + n_unit_cursor->m_df_type = DF_Type::ui_sidebar_menus__T_unit_cursor; + n_unit_cursor->m_rdf_type = RDF_Type::Compound; + n_unit_cursor->m_node_type = NodeType::Compound; + n_unit_cursor->m_address = base + offset; + n_unit_cursor->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unit_cursor); + + field_name = "unit_skills"; + auto n_unit_skills = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus, field_name)); + n_unit_skills->m_field_name = field_name; + n_unit_skills->m_df_type = DF_Type::ui_sidebar_menus__T_unit_skills; + n_unit_skills->m_rdf_type = RDF_Type::Compound; + n_unit_skills->m_node_type = NodeType::Compound; + n_unit_skills->m_address = base + offset; + n_unit_skills->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unit_skills); + + field_name = "show_combat"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus, field_name)); + auto n_show_combat = new NodeSimple; + n_show_combat->m_field_name = field_name; + n_show_combat->m_df_type = DF_Type::Bool; + n_show_combat->m_rdf_type = RDF_Type::Bool; + n_show_combat->m_node_type = NodeType::Simple; + n_show_combat->m_address = base + offset; + n_show_combat->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_show_combat); + + field_name = "show_labor"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus, field_name)); + auto n_show_labor = new NodeSimple; + n_show_labor->m_field_name = field_name; + n_show_labor->m_df_type = DF_Type::Bool; + n_show_labor->m_rdf_type = RDF_Type::Bool; + n_show_labor->m_node_type = NodeType::Simple; + n_show_labor->m_address = base + offset; + n_show_labor->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_show_labor); + + field_name = "show_misc"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus, field_name)); + auto n_show_misc = new NodeSimple; + n_show_misc->m_field_name = field_name; + n_show_misc->m_df_type = DF_Type::Bool; + n_show_misc->m_rdf_type = RDF_Type::Bool; + n_show_misc->m_node_type = NodeType::Simple; + n_show_misc->m_address = base + offset; + n_show_misc->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_show_misc); + + field_name = "barracks_squad_cursor"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus, field_name)); + auto n_barracks_squad_cursor = new NodeSimple; + n_barracks_squad_cursor->m_field_name = field_name; + n_barracks_squad_cursor->m_df_type = DF_Type::int32_t; + n_barracks_squad_cursor->m_rdf_type = RDF_Type::int32_t; + n_barracks_squad_cursor->m_node_type = NodeType::Simple; + n_barracks_squad_cursor->m_address = base + offset; + n_barracks_squad_cursor->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_barracks_squad_cursor); + + field_name = "barracks"; + auto n_barracks = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus, field_name)); + n_barracks->m_field_name = field_name; + n_barracks->m_df_type = DF_Type::ui_sidebar_menus__T_barracks; + n_barracks->m_rdf_type = RDF_Type::Compound; + n_barracks->m_node_type = NodeType::Compound; + n_barracks->m_address = base + offset; + n_barracks->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_barracks); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus, field_name)); + auto n_anon_1 = new NodeVector; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::Void; + n_anon_1->m_rdf_type = RDF_Type::Vector; + n_anon_1->m_node_type = NodeType::Vector; + n_anon_1->m_addornements = "v"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus, field_name)); + auto n_anon_2= new NodePadding; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::Padding; + n_anon_2->m_rdf_type = RDF_Type::Padding; + n_anon_2->m_node_type = NodeType::Padding; + n_anon_2->m_address = base + offset; + n_anon_2->m_size = 4; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "minimap"; + auto n_minimap = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus, field_name)); + n_minimap->m_field_name = field_name; + n_minimap->m_df_type = DF_Type::ui_sidebar_menus__T_minimap; + n_minimap->m_rdf_type = RDF_Type::Compound; + n_minimap->m_node_type = NodeType::Compound; + n_minimap->m_address = base + offset; + n_minimap->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_minimap); + + field_name = "command_line"; + auto n_command_line = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus, field_name)); + n_command_line->m_field_name = field_name; + n_command_line->m_df_type = DF_Type::ui_sidebar_menus__T_command_line; + n_command_line->m_rdf_type = RDF_Type::Compound; + n_command_line->m_node_type = NodeType::Compound; + n_command_line->m_address = base + offset; + n_command_line->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_command_line); + + field_name = "num_speech_tokens"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus, field_name)); + auto n_num_speech_tokens = new NodeSimple; + n_num_speech_tokens->m_field_name = field_name; + n_num_speech_tokens->m_df_type = DF_Type::int32_t; + n_num_speech_tokens->m_rdf_type = RDF_Type::int32_t; + n_num_speech_tokens->m_node_type = NodeType::Simple; + n_num_speech_tokens->m_address = base + offset; + n_num_speech_tokens->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_num_speech_tokens); + + field_name = "unk_17d8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_sidebar_menus, field_name)); + auto n_unk_17d8 = new NodeSimple; + n_unk_17d8->m_field_name = field_name; + n_unk_17d8->m_df_type = DF_Type::int8_t; + n_unk_17d8->m_rdf_type = RDF_Type::int8_t; + n_unk_17d8->m_node_type = NodeType::Simple; + n_unk_17d8->m_address = base + offset; + n_unk_17d8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_17d8); + +} +void node_from_ui_look_list__T_items___union3(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = true) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "item"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_look_list__T_items, field_name)); + auto n_item = new NodePointer; + n_item->m_field_name = field_name; + n_item->m_df_type = get_real_subtype(base+offset, DF_Type::item); + n_item->m_rdf_type = RDF_Type::Pointer; + n_item->m_node_type = NodeType::Pointer; + n_item->m_addornements = "*"; + n_item->m_address = base + offset; + n_item->m_parent = p_node_parent; + n_item->m_defined_in = "df.items.xml"; + n_item->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_item); + + field_name = "unit"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_look_list__T_items, field_name)); + auto n_unit = new NodePointer; + n_unit->m_field_name = field_name; + n_unit->m_df_type = get_real_subtype(base+offset, DF_Type::unit); + n_unit->m_rdf_type = RDF_Type::Pointer; + n_unit->m_node_type = NodeType::Pointer; + n_unit->m_addornements = "*"; + n_unit->m_address = base + offset; + n_unit->m_parent = p_node_parent; + n_unit->m_defined_in = "df.units.xml"; + n_unit->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unit); + + field_name = "building"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_look_list__T_items, field_name)); + auto n_building = new NodePointer; + n_building->m_field_name = field_name; + n_building->m_df_type = get_real_subtype(base+offset, DF_Type::building); + n_building->m_rdf_type = RDF_Type::Pointer; + n_building->m_node_type = NodeType::Pointer; + n_building->m_addornements = "*"; + n_building->m_address = base + offset; + n_building->m_parent = p_node_parent; + n_building->m_defined_in = "df.buildings.xml"; + n_building->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_building); + + field_name = "vermin"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_look_list__T_items, field_name)); + auto n_vermin = new NodePointer; + n_vermin->m_field_name = field_name; + n_vermin->m_df_type = get_real_subtype(base+offset, DF_Type::vermin); + n_vermin->m_rdf_type = RDF_Type::Pointer; + n_vermin->m_node_type = NodeType::Pointer; + n_vermin->m_addornements = "*"; + n_vermin->m_address = base + offset; + n_vermin->m_parent = p_node_parent; + n_vermin->m_defined_in = "df.vermin.xml"; + n_vermin->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_vermin); + + field_name = "flow"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_look_list__T_items, field_name)); + auto n_flow = new NodePointer; + n_flow->m_field_name = field_name; + n_flow->m_df_type = get_real_subtype(base+offset, DF_Type::flow_info); + n_flow->m_rdf_type = RDF_Type::Pointer; + n_flow->m_node_type = NodeType::Pointer; + n_flow->m_addornements = "*"; + n_flow->m_address = base + offset; + n_flow->m_parent = p_node_parent; + n_flow->m_defined_in = "df.map.xml"; + n_flow->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_flow); + + field_name = "spatter_size"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_look_list__T_items, field_name)); + auto n_spatter_size = new NodeSimple; + n_spatter_size->m_field_name = field_name; + n_spatter_size->m_df_type = DF_Type::int8_t; + n_spatter_size->m_rdf_type = RDF_Type::int8_t; + n_spatter_size->m_node_type = NodeType::Simple; + n_spatter_size->m_address = base + offset; + n_spatter_size->m_comment = "also water/magma depth+flags"; + n_spatter_size->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_spatter_size); + +} +void node_from_ui_look_list__T_items(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "type"; + auto n_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_look_list__T_items, field_name)); + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::ui_look_list__T_items__T_type; + n_type->m_rdf_type = RDF_Type::Enum; + n_type->m_node_type = NodeType::Enum; + n_type->m_base_type = DF_Type::int16_t; + n_type->m_enum_type = "ui_look_list::T_items::T_type"; + n_type->m_address = base + offset; + n_type->m_first_value = 0; + n_type->m_last_value = 12; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + + field_name = "spatter_item_type"; + auto n_spatter_item_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_look_list__T_items, field_name)); + n_spatter_item_type->m_field_name = field_name; + n_spatter_item_type->m_df_type = DF_Type::item_type; + n_spatter_item_type->m_rdf_type = RDF_Type::Enum; + n_spatter_item_type->m_node_type = NodeType::Enum; + n_spatter_item_type->m_base_type = DF_Type::int16_t; + n_spatter_item_type->m_enum_type = "item_type"; + n_spatter_item_type->m_address = base + offset; + n_spatter_item_type->m_defined_in = "df.item-raws.xml"; + n_spatter_item_type->m_first_value = -1; + n_spatter_item_type->m_last_value = 90; + n_spatter_item_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_spatter_item_type); + + field_name = "spatter_item_subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_look_list__T_items, field_name)); + auto n_spatter_item_subtype = new NodeSimple; + n_spatter_item_subtype->m_field_name = field_name; + n_spatter_item_subtype->m_df_type = DF_Type::int16_t; + n_spatter_item_subtype->m_rdf_type = RDF_Type::int16_t; + n_spatter_item_subtype->m_node_type = NodeType::Simple; + n_spatter_item_subtype->m_address = base + offset; + n_spatter_item_subtype->m_refers_to = "(item-subtype-target $$._parent.spatter_item_type $)"; + n_spatter_item_subtype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_spatter_item_subtype); + + field_name = "spatter_mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_look_list__T_items, field_name)); + auto n_spatter_mat_type = new NodeSimple; + n_spatter_mat_type->m_field_name = field_name; + n_spatter_mat_type->m_df_type = DF_Type::int16_t; + n_spatter_mat_type->m_rdf_type = RDF_Type::int16_t; + n_spatter_mat_type->m_node_type = NodeType::Simple; + n_spatter_mat_type->m_address = base + offset; + n_spatter_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_spatter_mat_type); + + field_name = "spatter_mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_look_list__T_items, field_name)); + auto n_spatter_mat_index = new NodeSimple; + n_spatter_mat_index->m_field_name = field_name; + n_spatter_mat_index->m_df_type = DF_Type::int32_t; + n_spatter_mat_index->m_rdf_type = RDF_Type::int32_t; + n_spatter_mat_index->m_node_type = NodeType::Simple; + n_spatter_mat_index->m_address = base + offset; + n_spatter_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_spatter_mat_index); + + field_name = "spatter_mat_state"; + auto n_spatter_mat_state = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_look_list__T_items, field_name)); + n_spatter_mat_state->m_field_name = field_name; + n_spatter_mat_state->m_df_type = DF_Type::matter_state; + n_spatter_mat_state->m_rdf_type = RDF_Type::Enum; + n_spatter_mat_state->m_node_type = NodeType::Enum; + n_spatter_mat_state->m_base_type = DF_Type::int16_t; + n_spatter_mat_state->m_enum_type = "matter_state"; + n_spatter_mat_state->m_address = base + offset; + n_spatter_mat_state->m_defined_in = "df.materials.xml"; + n_spatter_mat_state->m_first_value = -1; + n_spatter_mat_state->m_last_value = 5; + n_spatter_mat_state->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_spatter_mat_state); + + auto n_$union3 = new NodeAnonymous; + field_name = "item"; // One child of the anonymous union + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_look_list__T_items, field_name)); + n_$union3->m_field_name = "N/A"; + n_$union3->m_df_type = DF_Type::ui_look_list__T_items___union3; + n_$union3->m_rdf_type = RDF_Type::AnonymousUnion; + n_$union3->m_node_type = NodeType::AnonymousUnion; + n_$union3->m_address = base + offset; + n_$union3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_$union3); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_look_list__T_items, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int16_t; + n_anon_1->m_rdf_type = RDF_Type::int16_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_look_list__T_items, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int16_t; + n_anon_2->m_rdf_type = RDF_Type::int16_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_look_list__T_items, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int16_t; + n_anon_3->m_rdf_type = RDF_Type::int16_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + +} +void node_from_ui_look_list(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "items"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_look_list, field_name)); + auto n_items = new NodeVector; + n_items->m_field_name = field_name; + n_items->m_df_type = DF_Type::ui_look_list__T_items; + n_items->m_rdf_type = RDF_Type::Vector; + n_items->m_node_type = NodeType::Vector; + n_items->m_addornements = "v*"; + n_items->m_address = base + offset; + n_items->m_parent = p_node_parent; + n_items->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_items); + +} +void node_from_ui_unit_view_mode(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "value"; + auto n_value = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui_unit_view_mode, field_name)); + n_value->m_field_name = field_name; + n_value->m_df_type = DF_Type::ui_unit_view_mode__T_value; + n_value->m_rdf_type = RDF_Type::Enum; + n_value->m_node_type = NodeType::Enum; + n_value->m_base_type = enum_base_type(n_value->m_df_type); + n_value->m_enum_type = "ui_unit_view_mode::T_value"; + n_value->m_address = base + offset; + n_value->m_first_value = 0; + n_value->m_last_value = 6; + n_value->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_value); + +} +void node_from_punishment(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "criminal"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::punishment, field_name)); + auto n_criminal = new NodePointer; + n_criminal->m_field_name = field_name; + n_criminal->m_df_type = get_real_subtype(base+offset, DF_Type::unit); + n_criminal->m_rdf_type = RDF_Type::Pointer; + n_criminal->m_node_type = NodeType::Pointer; + n_criminal->m_addornements = "*"; + n_criminal->m_address = base + offset; + n_criminal->m_parent = p_node_parent; + n_criminal->m_defined_in = "df.units.xml"; + n_criminal->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_criminal); + + field_name = "officer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::punishment, field_name)); + auto n_officer = new NodePointer; + n_officer->m_field_name = field_name; + n_officer->m_df_type = get_real_subtype(base+offset, DF_Type::unit); + n_officer->m_rdf_type = RDF_Type::Pointer; + n_officer->m_node_type = NodeType::Pointer; + n_officer->m_addornements = "*"; + n_officer->m_address = base + offset; + n_officer->m_parent = p_node_parent; + n_officer->m_defined_in = "df.units.xml"; + n_officer->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_officer); + + field_name = "beating"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::punishment, field_name)); + auto n_beating = new NodeSimple; + n_beating->m_field_name = field_name; + n_beating->m_df_type = DF_Type::int16_t; + n_beating->m_rdf_type = RDF_Type::int16_t; + n_beating->m_node_type = NodeType::Simple; + n_beating->m_address = base + offset; + n_beating->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_beating); + + field_name = "hammer_strikes"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::punishment, field_name)); + auto n_hammer_strikes = new NodeSimple; + n_hammer_strikes->m_field_name = field_name; + n_hammer_strikes->m_df_type = DF_Type::int16_t; + n_hammer_strikes->m_rdf_type = RDF_Type::int16_t; + n_hammer_strikes->m_node_type = NodeType::Simple; + n_hammer_strikes->m_address = base + offset; + n_hammer_strikes->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_hammer_strikes); + + field_name = "prison_counter"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::punishment, field_name)); + auto n_prison_counter = new NodeSimple; + n_prison_counter->m_field_name = field_name; + n_prison_counter->m_df_type = DF_Type::int32_t; + n_prison_counter->m_rdf_type = RDF_Type::int32_t; + n_prison_counter->m_node_type = NodeType::Simple; + n_prison_counter->m_address = base + offset; + n_prison_counter->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_prison_counter); + + field_name = "unk_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::punishment, field_name)); + auto n_unk_10 = new NodeSimple; + n_unk_10->m_field_name = field_name; + n_unk_10->m_df_type = DF_Type::int16_t; + n_unk_10->m_rdf_type = RDF_Type::int16_t; + n_unk_10->m_node_type = NodeType::Simple; + n_unk_10->m_address = base + offset; + n_unk_10->m_comment = "10080"; + n_unk_10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_10); + + field_name = "chain"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::punishment, field_name)); + auto n_chain = new NodePointer; + n_chain->m_field_name = field_name; + n_chain->m_df_type = get_real_subtype(base+offset, DF_Type::building); + n_chain->m_rdf_type = RDF_Type::Pointer; + n_chain->m_node_type = NodeType::Pointer; + n_chain->m_addornements = "*"; + n_chain->m_address = base + offset; + n_chain->m_parent = p_node_parent; + n_chain->m_defined_in = "df.buildings.xml"; + n_chain->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_chain); + + field_name = "victims"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::punishment, field_name)); + auto n_victims = new NodeVector; + n_victims->m_field_name = field_name; + n_victims->m_df_type = DF_Type::unit; + n_victims->m_rdf_type = RDF_Type::Vector; + n_victims->m_node_type = NodeType::Vector; + n_victims->m_defined_in = "df.units.xml"; + n_victims->m_addornements = "v*"; + n_victims->m_address = base + offset; + n_victims->m_parent = p_node_parent; + n_victims->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_victims); + +} +void node_from_timed_event(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "type"; + auto n_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::timed_event, field_name)); + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::timed_event_type; + n_type->m_rdf_type = RDF_Type::Enum; + n_type->m_node_type = NodeType::Enum; + n_type->m_base_type = enum_base_type(n_type->m_df_type); + n_type->m_enum_type = "timed_event_type"; + n_type->m_address = base + offset; + n_type->m_defined_in = "df.ui.xml"; + n_type->m_first_value = 0; + n_type->m_last_value = 8; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + + field_name = "season"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::timed_event, field_name)); + auto n_season = new NodeSimple; + n_season->m_field_name = field_name; + n_season->m_df_type = DF_Type::int8_t; + n_season->m_rdf_type = RDF_Type::int8_t; + n_season->m_node_type = NodeType::Simple; + n_season->m_address = base + offset; + n_season->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_season); + + field_name = "season_ticks"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::timed_event, field_name)); + auto n_season_ticks = new NodeSimple; + n_season_ticks->m_field_name = field_name; + n_season_ticks->m_df_type = DF_Type::int16_t; + n_season_ticks->m_rdf_type = RDF_Type::int16_t; + n_season_ticks->m_node_type = NodeType::Simple; + n_season_ticks->m_address = base + offset; + n_season_ticks->m_comment = "1 tick = 10 frames"; + n_season_ticks->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_season_ticks); + + field_name = "entity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::timed_event, field_name)); + auto n_entity = new NodePointer; + n_entity->m_field_name = field_name; + n_entity->m_df_type = get_real_subtype(base+offset, DF_Type::historical_entity); + n_entity->m_rdf_type = RDF_Type::Pointer; + n_entity->m_node_type = NodeType::Pointer; + n_entity->m_addornements = "*"; + n_entity->m_address = base + offset; + n_entity->m_parent = p_node_parent; + n_entity->m_defined_in = "df.entities.xml"; + n_entity->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_entity); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::timed_event, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int16_t; + n_anon_1->m_rdf_type = RDF_Type::int16_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::timed_event, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::timed_event, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int16_t; + n_anon_3->m_rdf_type = RDF_Type::int16_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::timed_event, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int16_t; + n_anon_4->m_rdf_type = RDF_Type::int16_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + +} +void node_from_map_renderer__T_anon_4(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_renderer__T_anon_4, field_name)); + auto n_x = new NodeSimple; + n_x->m_field_name = field_name; + n_x->m_df_type = DF_Type::int32_t; + n_x->m_rdf_type = RDF_Type::int32_t; + n_x->m_node_type = NodeType::Simple; + n_x->m_address = base + offset; + n_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_x); + + field_name = "y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_renderer__T_anon_4, field_name)); + auto n_y = new NodeSimple; + n_y->m_field_name = field_name; + n_y->m_df_type = DF_Type::int32_t; + n_y->m_rdf_type = RDF_Type::int32_t; + n_y->m_node_type = NodeType::Simple; + n_y->m_address = base + offset; + n_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_y); + +} +void node_from_map_renderer(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "entity"; + auto n_entity = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_renderer, field_name)); + n_entity->m_field_name = field_name; + n_entity->m_df_type = DF_Type::uint8_t; + n_entity->m_rdf_type = RDF_Type::Array; + n_entity->m_node_type = NodeType::Array; + n_entity->m_addornements = "[256[256"; + n_entity->m_array_size = 256; + n_entity->m_address = base + offset; + n_entity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity); + + field_name = "cursor_units"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_renderer, field_name)); + auto n_cursor_units = new NodeVector; + n_cursor_units->m_field_name = field_name; + n_cursor_units->m_df_type = DF_Type::unit; + n_cursor_units->m_rdf_type = RDF_Type::Vector; + n_cursor_units->m_node_type = NodeType::Vector; + n_cursor_units->m_defined_in = "df.units.xml"; + n_cursor_units->m_addornements = "v*"; + n_cursor_units->m_address = base + offset; + n_cursor_units->m_parent = p_node_parent; + n_cursor_units->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_cursor_units); + + field_name = "cursor_guts"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_renderer, field_name)); + auto n_cursor_guts = new NodePointer; + n_cursor_guts->m_field_name = field_name; + n_cursor_guts->m_df_type = get_real_subtype(base+offset, DF_Type::unit); + n_cursor_guts->m_rdf_type = RDF_Type::Pointer; + n_cursor_guts->m_node_type = NodeType::Pointer; + n_cursor_guts->m_addornements = "*"; + n_cursor_guts->m_address = base + offset; + n_cursor_guts->m_parent = p_node_parent; + n_cursor_guts->m_defined_in = "df.units.xml"; + n_cursor_guts->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_cursor_guts); + + field_name = "multiple_guts"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_renderer, field_name)); + auto n_multiple_guts = new NodeSimple; + n_multiple_guts->m_field_name = field_name; + n_multiple_guts->m_df_type = DF_Type::Bool; + n_multiple_guts->m_rdf_type = RDF_Type::Bool; + n_multiple_guts->m_node_type = NodeType::Simple; + n_multiple_guts->m_address = base + offset; + n_multiple_guts->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_multiple_guts); + + field_name = "cursor_corpse"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_renderer, field_name)); + auto n_cursor_corpse = new NodePointer; + n_cursor_corpse->m_field_name = field_name; + n_cursor_corpse->m_df_type = get_real_subtype(base+offset, DF_Type::item); + n_cursor_corpse->m_rdf_type = RDF_Type::Pointer; + n_cursor_corpse->m_node_type = NodeType::Pointer; + n_cursor_corpse->m_addornements = "*"; + n_cursor_corpse->m_address = base + offset; + n_cursor_corpse->m_parent = p_node_parent; + n_cursor_corpse->m_defined_in = "df.items.xml"; + n_cursor_corpse->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_cursor_corpse); + + field_name = "cursor_corpse_cnt"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_renderer, field_name)); + auto n_cursor_corpse_cnt = new NodeSimple; + n_cursor_corpse_cnt->m_field_name = field_name; + n_cursor_corpse_cnt->m_df_type = DF_Type::int32_t; + n_cursor_corpse_cnt->m_rdf_type = RDF_Type::int32_t; + n_cursor_corpse_cnt->m_node_type = NodeType::Simple; + n_cursor_corpse_cnt->m_address = base + offset; + n_cursor_corpse_cnt->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cursor_corpse_cnt); + + field_name = "cursor_corpsepiece"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_renderer, field_name)); + auto n_cursor_corpsepiece = new NodePointer; + n_cursor_corpsepiece->m_field_name = field_name; + n_cursor_corpsepiece->m_df_type = get_real_subtype(base+offset, DF_Type::item); + n_cursor_corpsepiece->m_rdf_type = RDF_Type::Pointer; + n_cursor_corpsepiece->m_node_type = NodeType::Pointer; + n_cursor_corpsepiece->m_addornements = "*"; + n_cursor_corpsepiece->m_address = base + offset; + n_cursor_corpsepiece->m_parent = p_node_parent; + n_cursor_corpsepiece->m_defined_in = "df.items.xml"; + n_cursor_corpsepiece->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_cursor_corpsepiece); + + field_name = "cursor_corpsepiece_cnt"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_renderer, field_name)); + auto n_cursor_corpsepiece_cnt = new NodeSimple; + n_cursor_corpsepiece_cnt->m_field_name = field_name; + n_cursor_corpsepiece_cnt->m_df_type = DF_Type::int32_t; + n_cursor_corpsepiece_cnt->m_rdf_type = RDF_Type::int32_t; + n_cursor_corpsepiece_cnt->m_node_type = NodeType::Simple; + n_cursor_corpsepiece_cnt->m_address = base + offset; + n_cursor_corpsepiece_cnt->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cursor_corpsepiece_cnt); + + field_name = "cursor_bones"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_renderer, field_name)); + auto n_cursor_bones = new NodePointer; + n_cursor_bones->m_field_name = field_name; + n_cursor_bones->m_df_type = get_real_subtype(base+offset, DF_Type::item); + n_cursor_bones->m_rdf_type = RDF_Type::Pointer; + n_cursor_bones->m_node_type = NodeType::Pointer; + n_cursor_bones->m_addornements = "*"; + n_cursor_bones->m_address = base + offset; + n_cursor_bones->m_parent = p_node_parent; + n_cursor_bones->m_defined_in = "df.items.xml"; + n_cursor_bones->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_cursor_bones); + + field_name = "cursor_bones_cnt"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_renderer, field_name)); + auto n_cursor_bones_cnt = new NodeSimple; + n_cursor_bones_cnt->m_field_name = field_name; + n_cursor_bones_cnt->m_df_type = DF_Type::int32_t; + n_cursor_bones_cnt->m_rdf_type = RDF_Type::int32_t; + n_cursor_bones_cnt->m_node_type = NodeType::Simple; + n_cursor_bones_cnt->m_address = base + offset; + n_cursor_bones_cnt->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cursor_bones_cnt); + + field_name = "cursor_other"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_renderer, field_name)); + auto n_cursor_other = new NodePointer; + n_cursor_other->m_field_name = field_name; + n_cursor_other->m_df_type = get_real_subtype(base+offset, DF_Type::item); + n_cursor_other->m_rdf_type = RDF_Type::Pointer; + n_cursor_other->m_node_type = NodeType::Pointer; + n_cursor_other->m_addornements = "*"; + n_cursor_other->m_address = base + offset; + n_cursor_other->m_parent = p_node_parent; + n_cursor_other->m_defined_in = "df.items.xml"; + n_cursor_other->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_cursor_other); + + field_name = "cursor_other_cnt"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_renderer, field_name)); + auto n_cursor_other_cnt = new NodeSimple; + n_cursor_other_cnt->m_field_name = field_name; + n_cursor_other_cnt->m_df_type = DF_Type::int32_t; + n_cursor_other_cnt->m_rdf_type = RDF_Type::int32_t; + n_cursor_other_cnt->m_node_type = NodeType::Simple; + n_cursor_other_cnt->m_address = base + offset; + n_cursor_other_cnt->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cursor_other_cnt); + + field_name = "unk_10034"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_renderer, field_name)); + auto n_unk_10034 = new NodeSimple; + n_unk_10034->m_field_name = field_name; + n_unk_10034->m_df_type = DF_Type::int8_t; + n_unk_10034->m_rdf_type = RDF_Type::int8_t; + n_unk_10034->m_node_type = NodeType::Simple; + n_unk_10034->m_address = base + offset; + n_unk_10034->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_10034); + + field_name = "unk_10035"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_renderer, field_name)); + auto n_unk_10035 = new NodeSimple; + n_unk_10035->m_field_name = field_name; + n_unk_10035->m_df_type = DF_Type::int8_t; + n_unk_10035->m_rdf_type = RDF_Type::int8_t; + n_unk_10035->m_node_type = NodeType::Simple; + n_unk_10035->m_address = base + offset; + n_unk_10035->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_10035); + + field_name = "cur_tick_count"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_renderer, field_name)); + auto n_cur_tick_count = new NodeSimple; + n_cur_tick_count->m_field_name = field_name; + n_cur_tick_count->m_df_type = DF_Type::int32_t; + n_cur_tick_count->m_rdf_type = RDF_Type::int32_t; + n_cur_tick_count->m_node_type = NodeType::Simple; + n_cur_tick_count->m_address = base + offset; + n_cur_tick_count->m_comment = "GetTickCount"; + n_cur_tick_count->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cur_tick_count); + + field_name = "tick_phase"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_renderer, field_name)); + auto n_tick_phase = new NodeSimple; + n_tick_phase->m_field_name = field_name; + n_tick_phase->m_df_type = DF_Type::int16_t; + n_tick_phase->m_rdf_type = RDF_Type::int16_t; + n_tick_phase->m_node_type = NodeType::Simple; + n_tick_phase->m_address = base + offset; + n_tick_phase->m_comment = "cur_year_tick%10080"; + n_tick_phase->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tick_phase); + + field_name = "dim_colors"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_renderer, field_name)); + auto n_dim_colors = new NodeSimple; + n_dim_colors->m_field_name = field_name; + n_dim_colors->m_df_type = DF_Type::int8_t; + n_dim_colors->m_rdf_type = RDF_Type::int8_t; + n_dim_colors->m_node_type = NodeType::Simple; + n_dim_colors->m_address = base + offset; + n_dim_colors->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dim_colors); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_renderer, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int8_t; + n_anon_1->m_rdf_type = RDF_Type::int8_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + auto n_anon_2 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_renderer, field_name)); + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::Array; + n_anon_2->m_node_type = NodeType::Array; + n_anon_2->m_addornements = "[500"; + n_anon_2->m_array_size = 500; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + auto n_anon_3 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_renderer, field_name)); + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int8_t; + n_anon_3->m_rdf_type = RDF_Type::Array; + n_anon_3->m_node_type = NodeType::Array; + n_anon_3->m_addornements = "[500"; + n_anon_3->m_array_size = 500; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + auto n_anon_4 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_renderer, field_name)); + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::map_renderer__T_anon_4; + n_anon_4->m_rdf_type = RDF_Type::Array; + n_anon_4->m_node_type = NodeType::Array; + n_anon_4->m_addornements = "[500"; + n_anon_4->m_array_size = 500; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + auto n_anon_5 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_renderer, field_name)); + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::Array; + n_anon_5->m_node_type = NodeType::Array; + n_anon_5->m_addornements = "[500"; + n_anon_5->m_array_size = 500; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_renderer, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::map_renderer, field_name)); + auto n_anon_7 = new NodeSimple; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::int32_t; + n_anon_7->m_rdf_type = RDF_Type::int32_t; + n_anon_7->m_node_type = NodeType::Simple; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_7); + +} +void node_from_unit__T_path(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "dest"; + auto n_dest = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_path, field_name)); + n_dest->m_field_name = field_name; + n_dest->m_df_type = DF_Type::coord; + n_dest->m_rdf_type = RDF_Type::Struct; + n_dest->m_node_type = NodeType::Compound; + n_dest->m_address = base + offset; + n_dest->m_defined_in = "df.map.xml"; + n_dest->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dest); + + field_name = "goal"; + auto n_goal = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_path, field_name)); + n_goal->m_field_name = field_name; + n_goal->m_df_type = DF_Type::unit_path_goal; + n_goal->m_rdf_type = RDF_Type::Enum; + n_goal->m_node_type = NodeType::Enum; + n_goal->m_base_type = DF_Type::int16_t; + n_goal->m_enum_type = "unit_path_goal"; + n_goal->m_address = base + offset; + n_goal->m_defined_in = "df.pathfinding.xml"; + n_goal->m_first_value = -1; + n_goal->m_last_value = 203; + n_goal->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_goal); + + field_name = "path"; + auto n_path = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_path, field_name)); + n_path->m_field_name = field_name; + n_path->m_df_type = DF_Type::coord_path; + n_path->m_rdf_type = RDF_Type::Struct; + n_path->m_node_type = NodeType::Compound; + n_path->m_address = base + offset; + n_path->m_defined_in = "df.map.xml"; + n_path->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_path); + +} +void node_from_unit__T_meeting(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "state"; + auto n_state = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_meeting, field_name)); + n_state->m_field_name = field_name; + n_state->m_df_type = DF_Type::unit__T_meeting__T_state; + n_state->m_rdf_type = RDF_Type::Enum; + n_state->m_node_type = NodeType::Enum; + n_state->m_base_type = DF_Type::int8_t; + n_state->m_enum_type = "unit::T_meeting::T_state"; + n_state->m_address = base + offset; + n_state->m_first_value = 0; + n_state->m_last_value = 3; + n_state->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_state); + + field_name = "target_entity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_meeting, field_name)); + auto n_target_entity = new NodeSimple; + n_target_entity->m_field_name = field_name; + n_target_entity->m_df_type = DF_Type::int32_t; + n_target_entity->m_rdf_type = RDF_Type::int32_t; + n_target_entity->m_node_type = NodeType::Simple; + n_target_entity->m_address = base + offset; + n_target_entity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_target_entity); + + field_name = "target_role"; + auto n_target_role = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_meeting, field_name)); + n_target_role->m_field_name = field_name; + n_target_role->m_df_type = DF_Type::entity_position_responsibility; + n_target_role->m_rdf_type = RDF_Type::Enum; + n_target_role->m_node_type = NodeType::Enum; + n_target_role->m_base_type = DF_Type::int16_t; + n_target_role->m_enum_type = "entity_position_responsibility"; + n_target_role->m_address = base + offset; + n_target_role->m_defined_in = "df.entity-raws.xml"; + n_target_role->m_first_value = -1; + n_target_role->m_last_value = 24; + n_target_role->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_target_role); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_meeting, field_name)); + auto n_anon_1= new NodePadding; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::Padding; + n_anon_1->m_rdf_type = RDF_Type::Padding; + n_anon_1->m_node_type = NodeType::Padding; + n_anon_1->m_address = base + offset; + n_anon_1->m_size = 2; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_unit__T_military(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "squad_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_military, field_name)); + auto n_squad_id = new NodeSimple; + n_squad_id->m_field_name = field_name; + n_squad_id->m_df_type = DF_Type::int32_t; + n_squad_id->m_rdf_type = RDF_Type::int32_t; + n_squad_id->m_node_type = NodeType::Simple; + n_squad_id->m_address = base + offset; + n_squad_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_squad_id); + + field_name = "squad_position"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_military, field_name)); + auto n_squad_position = new NodeSimple; + n_squad_position->m_field_name = field_name; + n_squad_position->m_df_type = DF_Type::int32_t; + n_squad_position->m_rdf_type = RDF_Type::int32_t; + n_squad_position->m_node_type = NodeType::Simple; + n_squad_position->m_address = base + offset; + n_squad_position->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_squad_position); + + field_name = "patrol_cooldown"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_military, field_name)); + auto n_patrol_cooldown = new NodeSimple; + n_patrol_cooldown->m_field_name = field_name; + n_patrol_cooldown->m_df_type = DF_Type::int32_t; + n_patrol_cooldown->m_rdf_type = RDF_Type::int32_t; + n_patrol_cooldown->m_node_type = NodeType::Simple; + n_patrol_cooldown->m_address = base + offset; + n_patrol_cooldown->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_patrol_cooldown); + + field_name = "patrol_timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_military, field_name)); + auto n_patrol_timer = new NodeSimple; + n_patrol_timer->m_field_name = field_name; + n_patrol_timer->m_df_type = DF_Type::int32_t; + n_patrol_timer->m_rdf_type = RDF_Type::int32_t; + n_patrol_timer->m_node_type = NodeType::Simple; + n_patrol_timer->m_address = base + offset; + n_patrol_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_patrol_timer); + + field_name = "cur_uniform"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_military, field_name)); + auto n_cur_uniform = new NodeSimple; + n_cur_uniform->m_field_name = field_name; + n_cur_uniform->m_df_type = DF_Type::int16_t; + n_cur_uniform->m_rdf_type = RDF_Type::int16_t; + n_cur_uniform->m_node_type = NodeType::Simple; + n_cur_uniform->m_address = base + offset; + n_cur_uniform->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cur_uniform); + + field_name = "unk_items"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_military, field_name)); + auto n_unk_items = new NodeVector; + n_unk_items->m_field_name = field_name; + n_unk_items->m_df_type = DF_Type::int32_t; + n_unk_items->m_rdf_type = RDF_Type::Vector; + n_unk_items->m_node_type = NodeType::Vector; + n_unk_items->m_addornements = "v"; + n_unk_items->m_address = base + offset; + n_unk_items->m_parent = p_node_parent; + n_unk_items->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_items); + + field_name = "uniforms"; + auto n_uniforms = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_military, field_name)); + n_uniforms->m_field_name = field_name; + n_uniforms->m_df_type = DF_Type::int32_t; + n_uniforms->m_rdf_type = RDF_Type::Array; + n_uniforms->m_node_type = NodeType::Array; + n_uniforms->m_addornements = "[4v"; + n_uniforms->m_array_size = 4; + n_uniforms->m_address = base + offset; + n_uniforms->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_uniforms); + + field_name = "pickup_flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_military, field_name)); + auto n_pickup_flags = new NodeBitfield; + n_pickup_flags->m_field_name = field_name; + n_pickup_flags->m_df_type = DF_Type::unit__T_military__T_pickup_flags; + n_pickup_flags->m_rdf_type = RDF_Type::Bitfield; + n_pickup_flags->m_node_type = NodeType::Bitfield; + n_pickup_flags->m_address = base + offset; + n_pickup_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pickup_flags); + + field_name = "uniform_pickup"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_military, field_name)); + auto n_uniform_pickup = new NodeVector; + n_uniform_pickup->m_field_name = field_name; + n_uniform_pickup->m_df_type = DF_Type::int32_t; + n_uniform_pickup->m_rdf_type = RDF_Type::Vector; + n_uniform_pickup->m_node_type = NodeType::Vector; + n_uniform_pickup->m_addornements = "v"; + n_uniform_pickup->m_address = base + offset; + n_uniform_pickup->m_parent = p_node_parent; + n_uniform_pickup->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_uniform_pickup); + + field_name = "uniform_drop"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_military, field_name)); + auto n_uniform_drop = new NodeVector; + n_uniform_drop->m_field_name = field_name; + n_uniform_drop->m_df_type = DF_Type::int32_t; + n_uniform_drop->m_rdf_type = RDF_Type::Vector; + n_uniform_drop->m_node_type = NodeType::Vector; + n_uniform_drop->m_addornements = "v"; + n_uniform_drop->m_address = base + offset; + n_uniform_drop->m_parent = p_node_parent; + n_uniform_drop->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_uniform_drop); + + field_name = "individual_drills"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_military, field_name)); + auto n_individual_drills = new NodeVector; + n_individual_drills->m_field_name = field_name; + n_individual_drills->m_df_type = DF_Type::int32_t; + n_individual_drills->m_rdf_type = RDF_Type::Vector; + n_individual_drills->m_node_type = NodeType::Vector; + n_individual_drills->m_addornements = "v"; + n_individual_drills->m_address = base + offset; + n_individual_drills->m_parent = p_node_parent; + n_individual_drills->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_individual_drills); + +} +void node_from_unit__T_animal(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "population"; + auto n_population = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_animal, field_name)); + n_population->m_field_name = field_name; + n_population->m_df_type = DF_Type::world_population_ref; + n_population->m_rdf_type = RDF_Type::Struct; + n_population->m_node_type = NodeType::Compound; + n_population->m_address = base + offset; + n_population->m_defined_in = "df.world-data.xml"; + n_population->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_population); + + field_name = "leave_countdown"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_animal, field_name)); + auto n_leave_countdown = new NodeSimple; + n_leave_countdown->m_field_name = field_name; + n_leave_countdown->m_df_type = DF_Type::int32_t; + n_leave_countdown->m_rdf_type = RDF_Type::int32_t; + n_leave_countdown->m_node_type = NodeType::Simple; + n_leave_countdown->m_address = base + offset; + n_leave_countdown->m_comment = "once 0, it heads for the edge and leaves"; + n_leave_countdown->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_leave_countdown); + + field_name = "vanish_countdown"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_animal, field_name)); + auto n_vanish_countdown = new NodeSimple; + n_vanish_countdown->m_field_name = field_name; + n_vanish_countdown->m_df_type = DF_Type::int32_t; + n_vanish_countdown->m_rdf_type = RDF_Type::int32_t; + n_vanish_countdown->m_node_type = NodeType::Simple; + n_vanish_countdown->m_address = base + offset; + n_vanish_countdown->m_comment = "once 0, it vanishes in a puff of smoke"; + n_vanish_countdown->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_vanish_countdown); + +} +void node_from_unit__T_opponent(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unit_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_opponent, field_name)); + auto n_unit_id = new NodeSimple; + n_unit_id->m_field_name = field_name; + n_unit_id->m_df_type = DF_Type::int32_t; + n_unit_id->m_rdf_type = RDF_Type::int32_t; + n_unit_id->m_node_type = NodeType::Simple; + n_unit_id->m_address = base + offset; + n_unit_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unit_id); + + field_name = "unit_pos"; + auto n_unit_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_opponent, field_name)); + n_unit_pos->m_field_name = field_name; + n_unit_pos->m_df_type = DF_Type::coord; + n_unit_pos->m_rdf_type = RDF_Type::Struct; + n_unit_pos->m_node_type = NodeType::Compound; + n_unit_pos->m_address = base + offset; + n_unit_pos->m_defined_in = "df.map.xml"; + n_unit_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unit_pos); + + field_name = "unk_c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_opponent, field_name)); + auto n_unk_c = new NodeSimple; + n_unk_c->m_field_name = field_name; + n_unk_c->m_df_type = DF_Type::int32_t; + n_unk_c->m_rdf_type = RDF_Type::int32_t; + n_unk_c->m_node_type = NodeType::Simple; + n_unk_c->m_address = base + offset; + n_unk_c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_c); + +} +void node_from_unit__T_job(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "account"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_job, field_name)); + auto n_account = new NodeSimple; + n_account->m_field_name = field_name; + n_account->m_df_type = DF_Type::int32_t; + n_account->m_rdf_type = RDF_Type::int32_t; + n_account->m_node_type = NodeType::Simple; + n_account->m_address = base + offset; + n_account->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_account); + + field_name = "satisfaction"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_job, field_name)); + auto n_satisfaction = new NodeSimple; + n_satisfaction->m_field_name = field_name; + n_satisfaction->m_df_type = DF_Type::int32_t; + n_satisfaction->m_rdf_type = RDF_Type::int32_t; + n_satisfaction->m_node_type = NodeType::Simple; + n_satisfaction->m_address = base + offset; + n_satisfaction->m_comment = "amount earned recently for jobs"; + n_satisfaction->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_satisfaction); + + field_name = "hunt_target"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_job, field_name)); + auto n_hunt_target = new NodePointer; + n_hunt_target->m_field_name = field_name; + n_hunt_target->m_df_type = get_real_subtype(base+offset, DF_Type::unit); + n_hunt_target->m_rdf_type = RDF_Type::Pointer; + n_hunt_target->m_node_type = NodeType::Pointer; + n_hunt_target->m_addornements = "*"; + n_hunt_target->m_address = base + offset; + n_hunt_target->m_parent = p_node_parent; + n_hunt_target->m_defined_in = "df.units.xml"; + n_hunt_target->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_hunt_target); + + field_name = "unk_v4305_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_job, field_name)); + auto n_unk_v4305_1 = new NodeSimple; + n_unk_v4305_1->m_field_name = field_name; + n_unk_v4305_1->m_df_type = DF_Type::int32_t; + n_unk_v4305_1->m_rdf_type = RDF_Type::int32_t; + n_unk_v4305_1->m_node_type = NodeType::Simple; + n_unk_v4305_1->m_address = base + offset; + n_unk_v4305_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v4305_1); + + field_name = "destroy_target"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_job, field_name)); + auto n_destroy_target = new NodePointer; + n_destroy_target->m_field_name = field_name; + n_destroy_target->m_df_type = get_real_subtype(base+offset, DF_Type::building); + n_destroy_target->m_rdf_type = RDF_Type::Pointer; + n_destroy_target->m_node_type = NodeType::Pointer; + n_destroy_target->m_addornements = "*"; + n_destroy_target->m_address = base + offset; + n_destroy_target->m_parent = p_node_parent; + n_destroy_target->m_defined_in = "df.buildings.xml"; + n_destroy_target->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_destroy_target); + + field_name = "unk_v40_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_job, field_name)); + auto n_unk_v40_1 = new NodeSimple; + n_unk_v40_1->m_field_name = field_name; + n_unk_v40_1->m_df_type = DF_Type::int32_t; + n_unk_v40_1->m_rdf_type = RDF_Type::int32_t; + n_unk_v40_1->m_node_type = NodeType::Simple; + n_unk_v40_1->m_address = base + offset; + n_unk_v40_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_1); + + field_name = "unk_v40_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_job, field_name)); + auto n_unk_v40_2 = new NodeSimple; + n_unk_v40_2->m_field_name = field_name; + n_unk_v40_2->m_df_type = DF_Type::int32_t; + n_unk_v40_2->m_rdf_type = RDF_Type::int32_t; + n_unk_v40_2->m_node_type = NodeType::Simple; + n_unk_v40_2->m_address = base + offset; + n_unk_v40_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_2); + + field_name = "unk_v40_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_job, field_name)); + auto n_unk_v40_3 = new NodeSimple; + n_unk_v40_3->m_field_name = field_name; + n_unk_v40_3->m_df_type = DF_Type::int32_t; + n_unk_v40_3->m_rdf_type = RDF_Type::int32_t; + n_unk_v40_3->m_node_type = NodeType::Simple; + n_unk_v40_3->m_address = base + offset; + n_unk_v40_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_3); + + field_name = "unk_v40_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_job, field_name)); + auto n_unk_v40_4 = new NodeSimple; + n_unk_v40_4->m_field_name = field_name; + n_unk_v40_4->m_df_type = DF_Type::int32_t; + n_unk_v40_4->m_rdf_type = RDF_Type::int32_t; + n_unk_v40_4->m_node_type = NodeType::Simple; + n_unk_v40_4->m_address = base + offset; + n_unk_v40_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_4); + + field_name = "unk_v40_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_job, field_name)); + auto n_unk_v40_5 = new NodeSimple; + n_unk_v40_5->m_field_name = field_name; + n_unk_v40_5->m_df_type = DF_Type::int8_t; + n_unk_v40_5->m_rdf_type = RDF_Type::int8_t; + n_unk_v40_5->m_node_type = NodeType::Simple; + n_unk_v40_5->m_address = base + offset; + n_unk_v40_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_5); + + field_name = "gait_buildup"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_job, field_name)); + auto n_gait_buildup = new NodeSimple; + n_gait_buildup->m_field_name = field_name; + n_gait_buildup->m_df_type = DF_Type::int32_t; + n_gait_buildup->m_rdf_type = RDF_Type::int32_t; + n_gait_buildup->m_node_type = NodeType::Simple; + n_gait_buildup->m_address = base + offset; + n_gait_buildup->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_gait_buildup); + + field_name = "climb_hold"; + auto n_climb_hold = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_job, field_name)); + n_climb_hold->m_field_name = field_name; + n_climb_hold->m_df_type = DF_Type::coord; + n_climb_hold->m_rdf_type = RDF_Type::Struct; + n_climb_hold->m_node_type = NodeType::Compound; + n_climb_hold->m_address = base + offset; + n_climb_hold->m_defined_in = "df.map.xml"; + n_climb_hold->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_climb_hold); + + field_name = "unk_v4014_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_job, field_name)); + auto n_unk_v4014_1 = new NodeSimple; + n_unk_v4014_1->m_field_name = field_name; + n_unk_v4014_1->m_df_type = DF_Type::int32_t; + n_unk_v4014_1->m_rdf_type = RDF_Type::int32_t; + n_unk_v4014_1->m_node_type = NodeType::Simple; + n_unk_v4014_1->m_address = base + offset; + n_unk_v4014_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v4014_1); + + field_name = "current_job"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_job, field_name)); + auto n_current_job = new NodePointer; + n_current_job->m_field_name = field_name; + n_current_job->m_df_type = get_real_subtype(base+offset, DF_Type::job); + n_current_job->m_rdf_type = RDF_Type::Pointer; + n_current_job->m_node_type = NodeType::Pointer; + n_current_job->m_addornements = "*"; + n_current_job->m_address = base + offset; + n_current_job->m_comment = "df_job"; + n_current_job->m_parent = p_node_parent; + n_current_job->m_defined_in = "df.jobs.xml"; + n_current_job->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_current_job); + + field_name = "mood_skill"; + auto n_mood_skill = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_job, field_name)); + n_mood_skill->m_field_name = field_name; + n_mood_skill->m_df_type = DF_Type::job_skill; + n_mood_skill->m_rdf_type = RDF_Type::Enum; + n_mood_skill->m_node_type = NodeType::Enum; + n_mood_skill->m_base_type = DF_Type::int16_t; + n_mood_skill->m_enum_type = "job_skill"; + n_mood_skill->m_address = base + offset; + n_mood_skill->m_defined_in = "df.skills.xml"; + n_mood_skill->m_first_value = -1; + n_mood_skill->m_last_value = 134; + n_mood_skill->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mood_skill); + + field_name = "mood_timeout"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_job, field_name)); + auto n_mood_timeout = new NodeSimple; + n_mood_timeout->m_field_name = field_name; + n_mood_timeout->m_df_type = DF_Type::int32_t; + n_mood_timeout->m_rdf_type = RDF_Type::int32_t; + n_mood_timeout->m_node_type = NodeType::Simple; + n_mood_timeout->m_address = base + offset; + n_mood_timeout->m_comment = "counts down from 50000, insanity upon reaching zero"; + n_mood_timeout->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mood_timeout); + + field_name = "unk_39c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_job, field_name)); + auto n_unk_39c = new NodeSimple; + n_unk_39c->m_field_name = field_name; + n_unk_39c->m_df_type = DF_Type::int32_t; + n_unk_39c->m_rdf_type = RDF_Type::int32_t; + n_unk_39c->m_node_type = NodeType::Simple; + n_unk_39c->m_address = base + offset; + n_unk_39c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_39c); + +} +void node_from_unit__T_body(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "components"; + auto n_components = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_body, field_name)); + n_components->m_field_name = field_name; + n_components->m_df_type = DF_Type::body_component_info; + n_components->m_rdf_type = RDF_Type::Struct; + n_components->m_node_type = NodeType::Compound; + n_components->m_address = base + offset; + n_components->m_defined_in = "df.items.xml"; + n_components->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_components); + + field_name = "wounds"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_body, field_name)); + auto n_wounds = new NodeVector; + n_wounds->m_field_name = field_name; + n_wounds->m_df_type = DF_Type::unit_wound; + n_wounds->m_rdf_type = RDF_Type::Vector; + n_wounds->m_node_type = NodeType::Vector; + n_wounds->m_defined_in = "df.units.xml"; + n_wounds->m_addornements = "v*"; + n_wounds->m_address = base + offset; + n_wounds->m_parent = p_node_parent; + n_wounds->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_wounds); + + field_name = "wound_next_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_body, field_name)); + auto n_wound_next_id = new NodeSimple; + n_wound_next_id->m_field_name = field_name; + n_wound_next_id->m_df_type = DF_Type::int32_t; + n_wound_next_id->m_rdf_type = RDF_Type::int32_t; + n_wound_next_id->m_node_type = NodeType::Simple; + n_wound_next_id->m_address = base + offset; + n_wound_next_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_wound_next_id); + + field_name = "unk_39c"; + auto n_unk_39c = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_body, field_name)); + n_unk_39c->m_field_name = field_name; + n_unk_39c->m_df_type = DF_Type::int32_t; + n_unk_39c->m_rdf_type = RDF_Type::Array; + n_unk_39c->m_node_type = NodeType::Array; + n_unk_39c->m_addornements = "[10"; + n_unk_39c->m_array_size = 10; + n_unk_39c->m_address = base + offset; + n_unk_39c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_39c); + + field_name = "body_plan"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_body, field_name)); + auto n_body_plan = new NodePointer; + n_body_plan->m_field_name = field_name; + n_body_plan->m_df_type = get_real_subtype(base+offset, DF_Type::caste_body_info); + n_body_plan->m_rdf_type = RDF_Type::Pointer; + n_body_plan->m_node_type = NodeType::Pointer; + n_body_plan->m_addornements = "*"; + n_body_plan->m_address = base + offset; + n_body_plan->m_parent = p_node_parent; + n_body_plan->m_defined_in = "df.creature-raws.xml"; + n_body_plan->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_body_plan); + + field_name = "weapon_bp"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_body, field_name)); + auto n_weapon_bp = new NodeSimple; + n_weapon_bp->m_field_name = field_name; + n_weapon_bp->m_df_type = DF_Type::int16_t; + n_weapon_bp->m_rdf_type = RDF_Type::int16_t; + n_weapon_bp->m_node_type = NodeType::Simple; + n_weapon_bp->m_address = base + offset; + n_weapon_bp->m_refers_to = "$$._parent.body_plan.body_parts[$]"; + n_weapon_bp->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_weapon_bp); + + field_name = "physical_attrs"; + auto n_physical_attrs = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_body, field_name)); + n_physical_attrs->m_field_name = field_name; + n_physical_attrs->m_df_type = DF_Type::unit_attribute; + n_physical_attrs->m_rdf_type = RDF_Type::Array; + n_physical_attrs->m_node_type = NodeType::Array; + n_physical_attrs->m_index_enum = DF_Type::physical_attribute_type; + n_physical_attrs->m_defined_in = "df.units.xml"; + n_physical_attrs->m_addornements = "[6"; + n_physical_attrs->m_array_size = 6; + n_physical_attrs->m_address = base + offset; + n_physical_attrs->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_physical_attrs); + + field_name = "size_info"; + auto n_size_info = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_body, field_name)); + n_size_info->m_field_name = field_name; + n_size_info->m_df_type = DF_Type::body_size_info; + n_size_info->m_rdf_type = RDF_Type::Struct; + n_size_info->m_node_type = NodeType::Compound; + n_size_info->m_address = base + offset; + n_size_info->m_defined_in = "df.items.xml"; + n_size_info->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_size_info); + + field_name = "blood_max"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_body, field_name)); + auto n_blood_max = new NodeSimple; + n_blood_max->m_field_name = field_name; + n_blood_max->m_df_type = DF_Type::uint32_t; + n_blood_max->m_rdf_type = RDF_Type::uint32_t; + n_blood_max->m_node_type = NodeType::Simple; + n_blood_max->m_address = base + offset; + n_blood_max->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_blood_max); + + field_name = "blood_count"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_body, field_name)); + auto n_blood_count = new NodeSimple; + n_blood_count->m_field_name = field_name; + n_blood_count->m_df_type = DF_Type::uint32_t; + n_blood_count->m_rdf_type = RDF_Type::uint32_t; + n_blood_count->m_node_type = NodeType::Simple; + n_blood_count->m_address = base + offset; + n_blood_count->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_blood_count); + + field_name = "infection_level"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_body, field_name)); + auto n_infection_level = new NodeSimple; + n_infection_level->m_field_name = field_name; + n_infection_level->m_df_type = DF_Type::int32_t; + n_infection_level->m_rdf_type = RDF_Type::int32_t; + n_infection_level->m_node_type = NodeType::Simple; + n_infection_level->m_address = base + offset; + n_infection_level->m_comment = "GETS_INFECTIONS_FROM_ROT sets; DISEASE_RESISTANCE reduces; >=300 causes bleeding"; + n_infection_level->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_infection_level); + + field_name = "spatters"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_body, field_name)); + auto n_spatters = new NodeVector; + n_spatters->m_field_name = field_name; + n_spatters->m_df_type = DF_Type::spatter; + n_spatters->m_rdf_type = RDF_Type::Vector; + n_spatters->m_node_type = NodeType::Vector; + n_spatters->m_defined_in = "df.items.xml"; + n_spatters->m_addornements = "v*"; + n_spatters->m_address = base + offset; + n_spatters->m_parent = p_node_parent; + n_spatters->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_spatters); + +} +void node_from_unit__T_appearance(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "body_modifiers"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_appearance, field_name)); + auto n_body_modifiers = new NodeVector; + n_body_modifiers->m_field_name = field_name; + n_body_modifiers->m_df_type = DF_Type::int32_t; + n_body_modifiers->m_rdf_type = RDF_Type::Vector; + n_body_modifiers->m_node_type = NodeType::Vector; + n_body_modifiers->m_addornements = "v"; + n_body_modifiers->m_address = base + offset; + n_body_modifiers->m_refers_to = "$$._global.caste.ref-target.body_appearance_modifiers[$]"; + n_body_modifiers->m_parent = p_node_parent; + n_body_modifiers->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_body_modifiers); + + field_name = "bp_modifiers"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_appearance, field_name)); + auto n_bp_modifiers = new NodeVector; + n_bp_modifiers->m_field_name = field_name; + n_bp_modifiers->m_df_type = DF_Type::int32_t; + n_bp_modifiers->m_rdf_type = RDF_Type::Vector; + n_bp_modifiers->m_node_type = NodeType::Vector; + n_bp_modifiers->m_addornements = "v"; + n_bp_modifiers->m_address = base + offset; + n_bp_modifiers->m_refers_to = "$$._global.caste.ref-target.bp_appearance.modifier_idx[$].refers-to"; + n_bp_modifiers->m_parent = p_node_parent; + n_bp_modifiers->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bp_modifiers); + + field_name = "size_modifier"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_appearance, field_name)); + auto n_size_modifier = new NodeSimple; + n_size_modifier->m_field_name = field_name; + n_size_modifier->m_df_type = DF_Type::int32_t; + n_size_modifier->m_rdf_type = RDF_Type::int32_t; + n_size_modifier->m_node_type = NodeType::Simple; + n_size_modifier->m_address = base + offset; + n_size_modifier->m_comment = "product of all H/B/LENGTH body modifiers, in %"; + n_size_modifier->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_size_modifier); + + field_name = "tissue_style"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_appearance, field_name)); + auto n_tissue_style = new NodeVector; + n_tissue_style->m_field_name = field_name; + n_tissue_style->m_df_type = DF_Type::int16_t; + n_tissue_style->m_rdf_type = RDF_Type::Vector; + n_tissue_style->m_node_type = NodeType::Vector; + n_tissue_style->m_addornements = "v"; + n_tissue_style->m_address = base + offset; + n_tissue_style->m_refers_to = "$$._global.caste.ref-target.bp_appearance.style_layer_idx[$].refers-to"; + n_tissue_style->m_parent = p_node_parent; + n_tissue_style->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_tissue_style); + + field_name = "tissue_style_civ_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_appearance, field_name)); + auto n_tissue_style_civ_id = new NodeVector; + n_tissue_style_civ_id->m_field_name = field_name; + n_tissue_style_civ_id->m_df_type = DF_Type::int32_t; + n_tissue_style_civ_id->m_rdf_type = RDF_Type::Vector; + n_tissue_style_civ_id->m_node_type = NodeType::Vector; + n_tissue_style_civ_id->m_addornements = "v"; + n_tissue_style_civ_id->m_address = base + offset; + n_tissue_style_civ_id->m_refers_to = "$$._parent.tissue_style.index-refers-to[$]"; + n_tissue_style_civ_id->m_parent = p_node_parent; + n_tissue_style_civ_id->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_tissue_style_civ_id); + + field_name = "tissue_style_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_appearance, field_name)); + auto n_tissue_style_id = new NodeVector; + n_tissue_style_id->m_field_name = field_name; + n_tissue_style_id->m_df_type = DF_Type::int32_t; + n_tissue_style_id->m_rdf_type = RDF_Type::Vector; + n_tissue_style_id->m_node_type = NodeType::Vector; + n_tissue_style_id->m_addornements = "v"; + n_tissue_style_id->m_address = base + offset; + n_tissue_style_id->m_refers_to = "$$._parent.tissue_style.index-refers-to[$]"; + n_tissue_style_id->m_parent = p_node_parent; + n_tissue_style_id->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_tissue_style_id); + + field_name = "tissue_style_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_appearance, field_name)); + auto n_tissue_style_type = new NodeVector; + n_tissue_style_type->m_field_name = field_name; + n_tissue_style_type->m_df_type = DF_Type::int32_t; + n_tissue_style_type->m_rdf_type = RDF_Type::Vector; + n_tissue_style_type->m_node_type = NodeType::Vector; + n_tissue_style_type->m_addornements = "v"; + n_tissue_style_type->m_address = base + offset; + n_tissue_style_type->m_refers_to = "(find-by-id $$._global.caste.ref-target.tissue_styles $id $)"; + n_tissue_style_type->m_refers_to = "$$._parent.tissue_style.index-refers-to[$]"; + n_tissue_style_type->m_parent = p_node_parent; + n_tissue_style_type->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_tissue_style_type); + + field_name = "tissue_length"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_appearance, field_name)); + auto n_tissue_length = new NodeVector; + n_tissue_length->m_field_name = field_name; + n_tissue_length->m_df_type = DF_Type::int32_t; + n_tissue_length->m_rdf_type = RDF_Type::Vector; + n_tissue_length->m_node_type = NodeType::Vector; + n_tissue_length->m_addornements = "v"; + n_tissue_length->m_address = base + offset; + n_tissue_length->m_comment = "description uses bp_modifiers[style_list_idx[index]]"; + n_tissue_length->m_refers_to = "$$._parent.tissue_style.index-refers-to[$]"; + n_tissue_length->m_parent = p_node_parent; + n_tissue_length->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_tissue_length); + + field_name = "genes"; + auto n_genes = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_appearance, field_name)); + n_genes->m_field_name = field_name; + n_genes->m_df_type = DF_Type::unit_genes; + n_genes->m_rdf_type = RDF_Type::Struct; + n_genes->m_node_type = NodeType::Compound; + n_genes->m_address = base + offset; + n_genes->m_defined_in = "df.units.xml"; + n_genes->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_genes); + + field_name = "colors"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_appearance, field_name)); + auto n_colors = new NodeVector; + n_colors->m_field_name = field_name; + n_colors->m_df_type = DF_Type::int32_t; + n_colors->m_rdf_type = RDF_Type::Vector; + n_colors->m_node_type = NodeType::Vector; + n_colors->m_addornements = "v"; + n_colors->m_address = base + offset; + n_colors->m_parent = p_node_parent; + n_colors->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_colors); + +} +void node_from_unit__T_counters(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "think_counter"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_counters, field_name)); + auto n_think_counter = new NodeSimple; + n_think_counter->m_field_name = field_name; + n_think_counter->m_df_type = DF_Type::int32_t; + n_think_counter->m_rdf_type = RDF_Type::int32_t; + n_think_counter->m_node_type = NodeType::Simple; + n_think_counter->m_address = base + offset; + n_think_counter->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_think_counter); + + field_name = "job_counter"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_counters, field_name)); + auto n_job_counter = new NodeSimple; + n_job_counter->m_field_name = field_name; + n_job_counter->m_df_type = DF_Type::int32_t; + n_job_counter->m_rdf_type = RDF_Type::int32_t; + n_job_counter->m_node_type = NodeType::Simple; + n_job_counter->m_address = base + offset; + n_job_counter->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_job_counter); + + field_name = "swap_counter"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_counters, field_name)); + auto n_swap_counter = new NodeSimple; + n_swap_counter->m_field_name = field_name; + n_swap_counter->m_df_type = DF_Type::int32_t; + n_swap_counter->m_rdf_type = RDF_Type::int32_t; + n_swap_counter->m_node_type = NodeType::Simple; + n_swap_counter->m_address = base + offset; + n_swap_counter->m_comment = "dec per job_counter reroll, can_swap if 0"; + n_swap_counter->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_swap_counter); + + field_name = "death_cause"; + auto n_death_cause = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_counters, field_name)); + n_death_cause->m_field_name = field_name; + n_death_cause->m_df_type = DF_Type::death_type; + n_death_cause->m_rdf_type = RDF_Type::Enum; + n_death_cause->m_node_type = NodeType::Enum; + n_death_cause->m_base_type = DF_Type::int16_t; + n_death_cause->m_enum_type = "death_type"; + n_death_cause->m_address = base + offset; + n_death_cause->m_defined_in = "df.history.xml"; + n_death_cause->m_first_value = -1; + n_death_cause->m_last_value = 53; + n_death_cause->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_death_cause); + + field_name = "death_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_counters, field_name)); + auto n_death_id = new NodeSimple; + n_death_id->m_field_name = field_name; + n_death_id->m_df_type = DF_Type::int32_t; + n_death_id->m_rdf_type = RDF_Type::int32_t; + n_death_id->m_node_type = NodeType::Simple; + n_death_id->m_address = base + offset; + n_death_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_death_id); + + field_name = "winded"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_counters, field_name)); + auto n_winded = new NodeSimple; + n_winded->m_field_name = field_name; + n_winded->m_df_type = DF_Type::int16_t; + n_winded->m_rdf_type = RDF_Type::int16_t; + n_winded->m_node_type = NodeType::Simple; + n_winded->m_address = base + offset; + n_winded->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_winded); + + field_name = "stunned"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_counters, field_name)); + auto n_stunned = new NodeSimple; + n_stunned->m_field_name = field_name; + n_stunned->m_df_type = DF_Type::int16_t; + n_stunned->m_rdf_type = RDF_Type::int16_t; + n_stunned->m_node_type = NodeType::Simple; + n_stunned->m_address = base + offset; + n_stunned->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_stunned); + + field_name = "unconscious"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_counters, field_name)); + auto n_unconscious = new NodeSimple; + n_unconscious->m_field_name = field_name; + n_unconscious->m_df_type = DF_Type::int16_t; + n_unconscious->m_rdf_type = RDF_Type::int16_t; + n_unconscious->m_node_type = NodeType::Simple; + n_unconscious->m_address = base + offset; + n_unconscious->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unconscious); + + field_name = "suffocation"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_counters, field_name)); + auto n_suffocation = new NodeSimple; + n_suffocation->m_field_name = field_name; + n_suffocation->m_df_type = DF_Type::int16_t; + n_suffocation->m_rdf_type = RDF_Type::int16_t; + n_suffocation->m_node_type = NodeType::Simple; + n_suffocation->m_address = base + offset; + n_suffocation->m_comment = "counts up while winded, results in death"; + n_suffocation->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_suffocation); + + field_name = "webbed"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_counters, field_name)); + auto n_webbed = new NodeSimple; + n_webbed->m_field_name = field_name; + n_webbed->m_df_type = DF_Type::int16_t; + n_webbed->m_rdf_type = RDF_Type::int16_t; + n_webbed->m_node_type = NodeType::Simple; + n_webbed->m_address = base + offset; + n_webbed->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_webbed); + + field_name = "guts_trail1"; + auto n_guts_trail1 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_counters, field_name)); + n_guts_trail1->m_field_name = field_name; + n_guts_trail1->m_df_type = DF_Type::coord; + n_guts_trail1->m_rdf_type = RDF_Type::Struct; + n_guts_trail1->m_node_type = NodeType::Compound; + n_guts_trail1->m_address = base + offset; + n_guts_trail1->m_defined_in = "df.map.xml"; + n_guts_trail1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_guts_trail1); + + field_name = "guts_trail2"; + auto n_guts_trail2 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_counters, field_name)); + n_guts_trail2->m_field_name = field_name; + n_guts_trail2->m_df_type = DF_Type::coord; + n_guts_trail2->m_rdf_type = RDF_Type::Struct; + n_guts_trail2->m_node_type = NodeType::Compound; + n_guts_trail2->m_address = base + offset; + n_guts_trail2->m_defined_in = "df.map.xml"; + n_guts_trail2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_guts_trail2); + + field_name = "soldier_mood_countdown"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_counters, field_name)); + auto n_soldier_mood_countdown = new NodeSimple; + n_soldier_mood_countdown->m_field_name = field_name; + n_soldier_mood_countdown->m_df_type = DF_Type::int16_t; + n_soldier_mood_countdown->m_rdf_type = RDF_Type::int16_t; + n_soldier_mood_countdown->m_node_type = NodeType::Simple; + n_soldier_mood_countdown->m_address = base + offset; + n_soldier_mood_countdown->m_comment = "plus a random amount"; + n_soldier_mood_countdown->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_soldier_mood_countdown); + + field_name = "soldier_mood"; + auto n_soldier_mood = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_counters, field_name)); + n_soldier_mood->m_field_name = field_name; + n_soldier_mood->m_df_type = DF_Type::unit__T_counters__T_soldier_mood; + n_soldier_mood->m_rdf_type = RDF_Type::Enum; + n_soldier_mood->m_node_type = NodeType::Enum; + n_soldier_mood->m_base_type = DF_Type::int16_t; + n_soldier_mood->m_enum_type = "unit::T_counters::T_soldier_mood"; + n_soldier_mood->m_address = base + offset; + n_soldier_mood->m_first_value = -1; + n_soldier_mood->m_last_value = 4; + n_soldier_mood->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_soldier_mood); + + field_name = "pain"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_counters, field_name)); + auto n_pain = new NodeSimple; + n_pain->m_field_name = field_name; + n_pain->m_df_type = DF_Type::uint32_t; + n_pain->m_rdf_type = RDF_Type::uint32_t; + n_pain->m_node_type = NodeType::Simple; + n_pain->m_address = base + offset; + n_pain->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pain); + + field_name = "nausea"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_counters, field_name)); + auto n_nausea = new NodeSimple; + n_nausea->m_field_name = field_name; + n_nausea->m_df_type = DF_Type::uint32_t; + n_nausea->m_rdf_type = RDF_Type::uint32_t; + n_nausea->m_node_type = NodeType::Simple; + n_nausea->m_address = base + offset; + n_nausea->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_nausea); + + field_name = "dizziness"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_counters, field_name)); + auto n_dizziness = new NodeSimple; + n_dizziness->m_field_name = field_name; + n_dizziness->m_df_type = DF_Type::uint32_t; + n_dizziness->m_rdf_type = RDF_Type::uint32_t; + n_dizziness->m_node_type = NodeType::Simple; + n_dizziness->m_address = base + offset; + n_dizziness->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dizziness); + +} +void node_from_unit__T_curse(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk_0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_curse, field_name)); + auto n_unk_0 = new NodeSimple; + n_unk_0->m_field_name = field_name; + n_unk_0->m_df_type = DF_Type::int32_t; + n_unk_0->m_rdf_type = RDF_Type::int32_t; + n_unk_0->m_node_type = NodeType::Simple; + n_unk_0->m_address = base + offset; + n_unk_0->m_comment = "moved from end of counters in 0.43.05"; + n_unk_0->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_0); + + field_name = "add_tags1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_curse, field_name)); + auto n_add_tags1 = new NodeBitfield; + n_add_tags1->m_field_name = field_name; + n_add_tags1->m_df_type = DF_Type::cie_add_tag_mask1; + n_add_tags1->m_rdf_type = RDF_Type::Bitfield; + n_add_tags1->m_node_type = NodeType::Bitfield; + n_add_tags1->m_address = base + offset; + n_add_tags1->m_defined_in = "df.syndrome.xml"; + n_add_tags1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_add_tags1); + + field_name = "rem_tags1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_curse, field_name)); + auto n_rem_tags1 = new NodeBitfield; + n_rem_tags1->m_field_name = field_name; + n_rem_tags1->m_df_type = DF_Type::cie_add_tag_mask1; + n_rem_tags1->m_rdf_type = RDF_Type::Bitfield; + n_rem_tags1->m_node_type = NodeType::Bitfield; + n_rem_tags1->m_address = base + offset; + n_rem_tags1->m_defined_in = "df.syndrome.xml"; + n_rem_tags1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rem_tags1); + + field_name = "add_tags2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_curse, field_name)); + auto n_add_tags2 = new NodeBitfield; + n_add_tags2->m_field_name = field_name; + n_add_tags2->m_df_type = DF_Type::cie_add_tag_mask2; + n_add_tags2->m_rdf_type = RDF_Type::Bitfield; + n_add_tags2->m_node_type = NodeType::Bitfield; + n_add_tags2->m_address = base + offset; + n_add_tags2->m_defined_in = "df.syndrome.xml"; + n_add_tags2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_add_tags2); + + field_name = "rem_tags2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_curse, field_name)); + auto n_rem_tags2 = new NodeBitfield; + n_rem_tags2->m_field_name = field_name; + n_rem_tags2->m_df_type = DF_Type::cie_add_tag_mask2; + n_rem_tags2->m_rdf_type = RDF_Type::Bitfield; + n_rem_tags2->m_node_type = NodeType::Bitfield; + n_rem_tags2->m_address = base + offset; + n_rem_tags2->m_defined_in = "df.syndrome.xml"; + n_rem_tags2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rem_tags2); + + field_name = "name_visible"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_curse, field_name)); + auto n_name_visible = new NodeSimple; + n_name_visible->m_field_name = field_name; + n_name_visible->m_df_type = DF_Type::Bool; + n_name_visible->m_rdf_type = RDF_Type::Bool; + n_name_visible->m_node_type = NodeType::Simple; + n_name_visible->m_address = base + offset; + n_name_visible->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name_visible); + + field_name = "name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_curse, field_name)); + auto n_name = new NodeSimple; + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Stl_string; + n_name->m_node_type = NodeType::Simple; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "name_plural"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_curse, field_name)); + auto n_name_plural = new NodeSimple; + n_name_plural->m_field_name = field_name; + n_name_plural->m_df_type = DF_Type::Stl_string; + n_name_plural->m_rdf_type = RDF_Type::Stl_string; + n_name_plural->m_node_type = NodeType::Simple; + n_name_plural->m_address = base + offset; + n_name_plural->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name_plural); + + field_name = "name_adjective"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_curse, field_name)); + auto n_name_adjective = new NodeSimple; + n_name_adjective->m_field_name = field_name; + n_name_adjective->m_df_type = DF_Type::Stl_string; + n_name_adjective->m_rdf_type = RDF_Type::Stl_string; + n_name_adjective->m_node_type = NodeType::Simple; + n_name_adjective->m_address = base + offset; + n_name_adjective->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name_adjective); + + field_name = "sym_and_color1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_curse, field_name)); + auto n_sym_and_color1 = new NodeSimple; + n_sym_and_color1->m_field_name = field_name; + n_sym_and_color1->m_df_type = DF_Type::uint32_t; + n_sym_and_color1->m_rdf_type = RDF_Type::uint32_t; + n_sym_and_color1->m_node_type = NodeType::Simple; + n_sym_and_color1->m_address = base + offset; + n_sym_and_color1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sym_and_color1); + + field_name = "sym_and_color2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_curse, field_name)); + auto n_sym_and_color2 = new NodeSimple; + n_sym_and_color2->m_field_name = field_name; + n_sym_and_color2->m_df_type = DF_Type::uint32_t; + n_sym_and_color2->m_rdf_type = RDF_Type::uint32_t; + n_sym_and_color2->m_node_type = NodeType::Simple; + n_sym_and_color2->m_address = base + offset; + n_sym_and_color2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sym_and_color2); + + field_name = "flash_period"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_curse, field_name)); + auto n_flash_period = new NodeSimple; + n_flash_period->m_field_name = field_name; + n_flash_period->m_df_type = DF_Type::uint32_t; + n_flash_period->m_rdf_type = RDF_Type::uint32_t; + n_flash_period->m_node_type = NodeType::Simple; + n_flash_period->m_address = base + offset; + n_flash_period->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flash_period); + + field_name = "flash_time2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_curse, field_name)); + auto n_flash_time2 = new NodeSimple; + n_flash_time2->m_field_name = field_name; + n_flash_time2->m_df_type = DF_Type::uint32_t; + n_flash_time2->m_rdf_type = RDF_Type::uint32_t; + n_flash_time2->m_node_type = NodeType::Simple; + n_flash_time2->m_address = base + offset; + n_flash_time2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flash_time2); + + field_name = "body_appearance"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_curse, field_name)); + auto n_body_appearance = new NodeVector; + n_body_appearance->m_field_name = field_name; + n_body_appearance->m_df_type = DF_Type::int32_t; + n_body_appearance->m_rdf_type = RDF_Type::Vector; + n_body_appearance->m_node_type = NodeType::Vector; + n_body_appearance->m_addornements = "v"; + n_body_appearance->m_address = base + offset; + n_body_appearance->m_refers_to = "$$._global.caste.ref-target.body_appearance_modifiers[$]"; + n_body_appearance->m_parent = p_node_parent; + n_body_appearance->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_body_appearance); + + field_name = "bp_appearance"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_curse, field_name)); + auto n_bp_appearance = new NodeVector; + n_bp_appearance->m_field_name = field_name; + n_bp_appearance->m_df_type = DF_Type::int32_t; + n_bp_appearance->m_rdf_type = RDF_Type::Vector; + n_bp_appearance->m_node_type = NodeType::Vector; + n_bp_appearance->m_addornements = "v"; + n_bp_appearance->m_address = base + offset; + n_bp_appearance->m_comment = "guess!"; + n_bp_appearance->m_refers_to = "$$._global.caste.ref-target.bp_appearance.modifier_idx[$].refers-to"; + n_bp_appearance->m_parent = p_node_parent; + n_bp_appearance->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bp_appearance); + + field_name = "speed_add"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_curse, field_name)); + auto n_speed_add = new NodeSimple; + n_speed_add->m_field_name = field_name; + n_speed_add->m_df_type = DF_Type::uint32_t; + n_speed_add->m_rdf_type = RDF_Type::uint32_t; + n_speed_add->m_node_type = NodeType::Simple; + n_speed_add->m_address = base + offset; + n_speed_add->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_speed_add); + + field_name = "speed_mul_percent"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_curse, field_name)); + auto n_speed_mul_percent = new NodeSimple; + n_speed_mul_percent->m_field_name = field_name; + n_speed_mul_percent->m_df_type = DF_Type::uint32_t; + n_speed_mul_percent->m_rdf_type = RDF_Type::uint32_t; + n_speed_mul_percent->m_node_type = NodeType::Simple; + n_speed_mul_percent->m_address = base + offset; + n_speed_mul_percent->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_speed_mul_percent); + + field_name = "attr_change"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_curse, field_name)); + auto n_attr_change = new NodePointer; + n_attr_change->m_field_name = field_name; + n_attr_change->m_df_type = get_real_subtype(base+offset, DF_Type::curse_attr_change); + n_attr_change->m_rdf_type = RDF_Type::Pointer; + n_attr_change->m_node_type = NodeType::Pointer; + n_attr_change->m_addornements = "*"; + n_attr_change->m_address = base + offset; + n_attr_change->m_parent = p_node_parent; + n_attr_change->m_defined_in = "df.units.xml"; + n_attr_change->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_attr_change); + + field_name = "luck_mul_percent"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_curse, field_name)); + auto n_luck_mul_percent = new NodeSimple; + n_luck_mul_percent->m_field_name = field_name; + n_luck_mul_percent->m_df_type = DF_Type::uint32_t; + n_luck_mul_percent->m_rdf_type = RDF_Type::uint32_t; + n_luck_mul_percent->m_node_type = NodeType::Simple; + n_luck_mul_percent->m_address = base + offset; + n_luck_mul_percent->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_luck_mul_percent); + + field_name = "unk_98"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_curse, field_name)); + auto n_unk_98 = new NodeSimple; + n_unk_98->m_field_name = field_name; + n_unk_98->m_df_type = DF_Type::int32_t; + n_unk_98->m_rdf_type = RDF_Type::int32_t; + n_unk_98->m_node_type = NodeType::Simple; + n_unk_98->m_address = base + offset; + n_unk_98->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_98); + + field_name = "interaction_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_curse, field_name)); + auto n_interaction_id = new NodeVector; + n_interaction_id->m_field_name = field_name; + n_interaction_id->m_df_type = DF_Type::int32_t; + n_interaction_id->m_rdf_type = RDF_Type::Vector; + n_interaction_id->m_node_type = NodeType::Vector; + n_interaction_id->m_addornements = "v"; + n_interaction_id->m_address = base + offset; + n_interaction_id->m_parent = p_node_parent; + n_interaction_id->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_interaction_id); + + field_name = "interaction_time"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_curse, field_name)); + auto n_interaction_time = new NodeVector; + n_interaction_time->m_field_name = field_name; + n_interaction_time->m_df_type = DF_Type::int32_t; + n_interaction_time->m_rdf_type = RDF_Type::Vector; + n_interaction_time->m_node_type = NodeType::Vector; + n_interaction_time->m_addornements = "v"; + n_interaction_time->m_address = base + offset; + n_interaction_time->m_parent = p_node_parent; + n_interaction_time->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_interaction_time); + + field_name = "interaction_delay"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_curse, field_name)); + auto n_interaction_delay = new NodeVector; + n_interaction_delay->m_field_name = field_name; + n_interaction_delay->m_df_type = DF_Type::int32_t; + n_interaction_delay->m_rdf_type = RDF_Type::Vector; + n_interaction_delay->m_node_type = NodeType::Vector; + n_interaction_delay->m_addornements = "v"; + n_interaction_delay->m_address = base + offset; + n_interaction_delay->m_parent = p_node_parent; + n_interaction_delay->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_interaction_delay); + + field_name = "time_on_site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_curse, field_name)); + auto n_time_on_site = new NodeSimple; + n_time_on_site->m_field_name = field_name; + n_time_on_site->m_df_type = DF_Type::int32_t; + n_time_on_site->m_rdf_type = RDF_Type::int32_t; + n_time_on_site->m_node_type = NodeType::Simple; + n_time_on_site->m_address = base + offset; + n_time_on_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_time_on_site); + + field_name = "own_interaction"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_curse, field_name)); + auto n_own_interaction = new NodeVector; + n_own_interaction->m_field_name = field_name; + n_own_interaction->m_df_type = DF_Type::int32_t; + n_own_interaction->m_rdf_type = RDF_Type::Vector; + n_own_interaction->m_node_type = NodeType::Vector; + n_own_interaction->m_addornements = "v"; + n_own_interaction->m_address = base + offset; + n_own_interaction->m_refers_to = "$$._global.body.body_plan.interactions[$]"; + n_own_interaction->m_parent = p_node_parent; + n_own_interaction->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_own_interaction); + + field_name = "own_interaction_delay"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_curse, field_name)); + auto n_own_interaction_delay = new NodeVector; + n_own_interaction_delay->m_field_name = field_name; + n_own_interaction_delay->m_df_type = DF_Type::int32_t; + n_own_interaction_delay->m_rdf_type = RDF_Type::Vector; + n_own_interaction_delay->m_node_type = NodeType::Vector; + n_own_interaction_delay->m_addornements = "v"; + n_own_interaction_delay->m_address = base + offset; + n_own_interaction_delay->m_parent = p_node_parent; + n_own_interaction_delay->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_own_interaction_delay); + +} +void node_from_unit__T_counters2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "paralysis"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_counters2, field_name)); + auto n_paralysis = new NodeSimple; + n_paralysis->m_field_name = field_name; + n_paralysis->m_df_type = DF_Type::uint32_t; + n_paralysis->m_rdf_type = RDF_Type::uint32_t; + n_paralysis->m_node_type = NodeType::Simple; + n_paralysis->m_address = base + offset; + n_paralysis->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_paralysis); + + field_name = "numbness"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_counters2, field_name)); + auto n_numbness = new NodeSimple; + n_numbness->m_field_name = field_name; + n_numbness->m_df_type = DF_Type::uint32_t; + n_numbness->m_rdf_type = RDF_Type::uint32_t; + n_numbness->m_node_type = NodeType::Simple; + n_numbness->m_address = base + offset; + n_numbness->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_numbness); + + field_name = "fever"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_counters2, field_name)); + auto n_fever = new NodeSimple; + n_fever->m_field_name = field_name; + n_fever->m_df_type = DF_Type::uint32_t; + n_fever->m_rdf_type = RDF_Type::uint32_t; + n_fever->m_node_type = NodeType::Simple; + n_fever->m_address = base + offset; + n_fever->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_fever); + + field_name = "exhaustion"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_counters2, field_name)); + auto n_exhaustion = new NodeSimple; + n_exhaustion->m_field_name = field_name; + n_exhaustion->m_df_type = DF_Type::uint32_t; + n_exhaustion->m_rdf_type = RDF_Type::uint32_t; + n_exhaustion->m_node_type = NodeType::Simple; + n_exhaustion->m_address = base + offset; + n_exhaustion->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_exhaustion); + + field_name = "hunger_timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_counters2, field_name)); + auto n_hunger_timer = new NodeSimple; + n_hunger_timer->m_field_name = field_name; + n_hunger_timer->m_df_type = DF_Type::uint32_t; + n_hunger_timer->m_rdf_type = RDF_Type::uint32_t; + n_hunger_timer->m_node_type = NodeType::Simple; + n_hunger_timer->m_address = base + offset; + n_hunger_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_hunger_timer); + + field_name = "thirst_timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_counters2, field_name)); + auto n_thirst_timer = new NodeSimple; + n_thirst_timer->m_field_name = field_name; + n_thirst_timer->m_df_type = DF_Type::uint32_t; + n_thirst_timer->m_rdf_type = RDF_Type::uint32_t; + n_thirst_timer->m_node_type = NodeType::Simple; + n_thirst_timer->m_address = base + offset; + n_thirst_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_thirst_timer); + + field_name = "sleepiness_timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_counters2, field_name)); + auto n_sleepiness_timer = new NodeSimple; + n_sleepiness_timer->m_field_name = field_name; + n_sleepiness_timer->m_df_type = DF_Type::uint32_t; + n_sleepiness_timer->m_rdf_type = RDF_Type::uint32_t; + n_sleepiness_timer->m_node_type = NodeType::Simple; + n_sleepiness_timer->m_address = base + offset; + n_sleepiness_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sleepiness_timer); + + field_name = "stomach_content"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_counters2, field_name)); + auto n_stomach_content = new NodeSimple; + n_stomach_content->m_field_name = field_name; + n_stomach_content->m_df_type = DF_Type::uint32_t; + n_stomach_content->m_rdf_type = RDF_Type::uint32_t; + n_stomach_content->m_node_type = NodeType::Simple; + n_stomach_content->m_address = base + offset; + n_stomach_content->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_stomach_content); + + field_name = "stomach_food"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_counters2, field_name)); + auto n_stomach_food = new NodeSimple; + n_stomach_food->m_field_name = field_name; + n_stomach_food->m_df_type = DF_Type::uint32_t; + n_stomach_food->m_rdf_type = RDF_Type::uint32_t; + n_stomach_food->m_node_type = NodeType::Simple; + n_stomach_food->m_address = base + offset; + n_stomach_food->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_stomach_food); + + field_name = "vomit_timeout"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_counters2, field_name)); + auto n_vomit_timeout = new NodeSimple; + n_vomit_timeout->m_field_name = field_name; + n_vomit_timeout->m_df_type = DF_Type::uint32_t; + n_vomit_timeout->m_rdf_type = RDF_Type::uint32_t; + n_vomit_timeout->m_node_type = NodeType::Simple; + n_vomit_timeout->m_address = base + offset; + n_vomit_timeout->m_comment = "blocks nausea causing vomit"; + n_vomit_timeout->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_vomit_timeout); + + field_name = "stored_fat"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_counters2, field_name)); + auto n_stored_fat = new NodeSimple; + n_stored_fat->m_field_name = field_name; + n_stored_fat->m_df_type = DF_Type::uint32_t; + n_stored_fat->m_rdf_type = RDF_Type::uint32_t; + n_stored_fat->m_node_type = NodeType::Simple; + n_stored_fat->m_address = base + offset; + n_stored_fat->m_comment = "hunger leads to death only when 0"; + n_stored_fat->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_stored_fat); + +} +void node_from_unit__T_status__T_eat_history__T_food(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "item_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status__T_eat_history__T_food, field_name)); + auto n_item_type = new NodeVector; + n_item_type->m_field_name = field_name; + n_item_type->m_df_type = DF_Type::item_type; + n_item_type->m_rdf_type = RDF_Type::Vector; + n_item_type->m_node_type = NodeType::Vector; + n_item_type->m_enum_base = DF_Type::int16_t; + n_item_type->m_defined_in = "df.item-raws.xml"; + n_item_type->m_addornements = "v"; + n_item_type->m_address = base + offset; + n_item_type->m_parent = p_node_parent; + n_item_type->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_item_type); + + field_name = "item_subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status__T_eat_history__T_food, field_name)); + auto n_item_subtype = new NodeVector; + n_item_subtype->m_field_name = field_name; + n_item_subtype->m_df_type = DF_Type::int16_t; + n_item_subtype->m_rdf_type = RDF_Type::Vector; + n_item_subtype->m_node_type = NodeType::Vector; + n_item_subtype->m_addornements = "v"; + n_item_subtype->m_address = base + offset; + n_item_subtype->m_parent = p_node_parent; + n_item_subtype->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_item_subtype); + + field_name = "material"; + auto n_material = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status__T_eat_history__T_food, field_name)); + n_material->m_field_name = field_name; + n_material->m_df_type = DF_Type::material_vec_ref; + n_material->m_rdf_type = RDF_Type::Struct; + n_material->m_node_type = NodeType::Compound; + n_material->m_address = base + offset; + n_material->m_defined_in = "df.materials.xml"; + n_material->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_material); + + field_name = "year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status__T_eat_history__T_food, field_name)); + auto n_year = new NodeVector; + n_year->m_field_name = field_name; + n_year->m_df_type = DF_Type::int32_t; + n_year->m_rdf_type = RDF_Type::Vector; + n_year->m_node_type = NodeType::Vector; + n_year->m_addornements = "v"; + n_year->m_address = base + offset; + n_year->m_parent = p_node_parent; + n_year->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_year); + + field_name = "year_time"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status__T_eat_history__T_food, field_name)); + auto n_year_time = new NodeVector; + n_year_time->m_field_name = field_name; + n_year_time->m_df_type = DF_Type::int32_t; + n_year_time->m_rdf_type = RDF_Type::Vector; + n_year_time->m_node_type = NodeType::Vector; + n_year_time->m_addornements = "v"; + n_year_time->m_address = base + offset; + n_year_time->m_parent = p_node_parent; + n_year_time->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_year_time); + +} +void node_from_unit__T_status__T_eat_history__T_drink(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "item_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status__T_eat_history__T_drink, field_name)); + auto n_item_type = new NodeVector; + n_item_type->m_field_name = field_name; + n_item_type->m_df_type = DF_Type::item_type; + n_item_type->m_rdf_type = RDF_Type::Vector; + n_item_type->m_node_type = NodeType::Vector; + n_item_type->m_enum_base = DF_Type::int16_t; + n_item_type->m_defined_in = "df.item-raws.xml"; + n_item_type->m_addornements = "v"; + n_item_type->m_address = base + offset; + n_item_type->m_parent = p_node_parent; + n_item_type->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_item_type); + + field_name = "item_subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status__T_eat_history__T_drink, field_name)); + auto n_item_subtype = new NodeVector; + n_item_subtype->m_field_name = field_name; + n_item_subtype->m_df_type = DF_Type::int16_t; + n_item_subtype->m_rdf_type = RDF_Type::Vector; + n_item_subtype->m_node_type = NodeType::Vector; + n_item_subtype->m_addornements = "v"; + n_item_subtype->m_address = base + offset; + n_item_subtype->m_parent = p_node_parent; + n_item_subtype->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_item_subtype); + + field_name = "material"; + auto n_material = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status__T_eat_history__T_drink, field_name)); + n_material->m_field_name = field_name; + n_material->m_df_type = DF_Type::material_vec_ref; + n_material->m_rdf_type = RDF_Type::Struct; + n_material->m_node_type = NodeType::Compound; + n_material->m_address = base + offset; + n_material->m_defined_in = "df.materials.xml"; + n_material->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_material); + + field_name = "year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status__T_eat_history__T_drink, field_name)); + auto n_year = new NodeVector; + n_year->m_field_name = field_name; + n_year->m_df_type = DF_Type::int32_t; + n_year->m_rdf_type = RDF_Type::Vector; + n_year->m_node_type = NodeType::Vector; + n_year->m_addornements = "v"; + n_year->m_address = base + offset; + n_year->m_parent = p_node_parent; + n_year->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_year); + + field_name = "year_time"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status__T_eat_history__T_drink, field_name)); + auto n_year_time = new NodeVector; + n_year_time->m_field_name = field_name; + n_year_time->m_df_type = DF_Type::int32_t; + n_year_time->m_rdf_type = RDF_Type::Vector; + n_year_time->m_node_type = NodeType::Vector; + n_year_time->m_addornements = "v"; + n_year_time->m_address = base + offset; + n_year_time->m_parent = p_node_parent; + n_year_time->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_year_time); + +} +void node_from_unit__T_status__T_eat_history(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "food"; + auto n_food = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status__T_eat_history, field_name)); + n_food->m_field_name = field_name; + n_food->m_df_type = DF_Type::unit__T_status__T_eat_history__T_food; + n_food->m_rdf_type = RDF_Type::Compound; + n_food->m_node_type = NodeType::Compound; + n_food->m_address = base + offset; + n_food->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_food); + + field_name = "drink"; + auto n_drink = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status__T_eat_history, field_name)); + n_drink->m_field_name = field_name; + n_drink->m_df_type = DF_Type::unit__T_status__T_eat_history__T_drink; + n_drink->m_rdf_type = RDF_Type::Compound; + n_drink->m_node_type = NodeType::Compound; + n_drink->m_address = base + offset; + n_drink->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_drink); + +} +void node_from_unit__T_status(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "misc_traits"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status, field_name)); + auto n_misc_traits = new NodeVector; + n_misc_traits->m_field_name = field_name; + n_misc_traits->m_df_type = DF_Type::unit_misc_trait; + n_misc_traits->m_rdf_type = RDF_Type::Vector; + n_misc_traits->m_node_type = NodeType::Vector; + n_misc_traits->m_defined_in = "df.units.xml"; + n_misc_traits->m_addornements = "v*"; + n_misc_traits->m_address = base + offset; + n_misc_traits->m_parent = p_node_parent; + n_misc_traits->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_misc_traits); + + field_name = "eat_history"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status, field_name)); + auto n_eat_history = new NodePointer; + n_eat_history->m_field_name = field_name; + n_eat_history->m_df_type = get_real_subtype(base+offset, DF_Type::unit__T_status__T_eat_history); + n_eat_history->m_rdf_type = RDF_Type::Pointer; + n_eat_history->m_node_type = NodeType::Pointer; + n_eat_history->m_addornements = "*"; + n_eat_history->m_address = base + offset; + n_eat_history->m_parent = p_node_parent; + n_eat_history->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_eat_history); + + field_name = "demand_timeout"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status, field_name)); + auto n_demand_timeout = new NodeSimple; + n_demand_timeout->m_field_name = field_name; + n_demand_timeout->m_df_type = DF_Type::int32_t; + n_demand_timeout->m_rdf_type = RDF_Type::int32_t; + n_demand_timeout->m_node_type = NodeType::Simple; + n_demand_timeout->m_address = base + offset; + n_demand_timeout->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_demand_timeout); + + field_name = "mandate_timeout"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status, field_name)); + auto n_mandate_timeout = new NodeSimple; + n_mandate_timeout->m_field_name = field_name; + n_mandate_timeout->m_df_type = DF_Type::int32_t; + n_mandate_timeout->m_rdf_type = RDF_Type::int32_t; + n_mandate_timeout->m_node_type = NodeType::Simple; + n_mandate_timeout->m_address = base + offset; + n_mandate_timeout->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mandate_timeout); + + field_name = "attacker_ids"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status, field_name)); + auto n_attacker_ids = new NodeVector; + n_attacker_ids->m_field_name = field_name; + n_attacker_ids->m_df_type = DF_Type::int32_t; + n_attacker_ids->m_rdf_type = RDF_Type::Vector; + n_attacker_ids->m_node_type = NodeType::Vector; + n_attacker_ids->m_addornements = "v"; + n_attacker_ids->m_address = base + offset; + n_attacker_ids->m_parent = p_node_parent; + n_attacker_ids->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_attacker_ids); + + field_name = "attacker_cntdn"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status, field_name)); + auto n_attacker_cntdn = new NodeVector; + n_attacker_cntdn->m_field_name = field_name; + n_attacker_cntdn->m_df_type = DF_Type::int16_t; + n_attacker_cntdn->m_rdf_type = RDF_Type::Vector; + n_attacker_cntdn->m_node_type = NodeType::Vector; + n_attacker_cntdn->m_addornements = "v"; + n_attacker_cntdn->m_address = base + offset; + n_attacker_cntdn->m_parent = p_node_parent; + n_attacker_cntdn->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_attacker_cntdn); + + field_name = "face_direction"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status, field_name)); + auto n_face_direction = new NodeSimple; + n_face_direction->m_field_name = field_name; + n_face_direction->m_df_type = DF_Type::uint8_t; + n_face_direction->m_rdf_type = RDF_Type::uint8_t; + n_face_direction->m_node_type = NodeType::Simple; + n_face_direction->m_address = base + offset; + n_face_direction->m_comment = "for wagons"; + n_face_direction->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_face_direction); + + field_name = "artifact_name"; + auto n_artifact_name = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status, field_name)); + n_artifact_name->m_field_name = field_name; + n_artifact_name->m_df_type = DF_Type::language_name; + n_artifact_name->m_rdf_type = RDF_Type::Struct; + n_artifact_name->m_node_type = NodeType::Compound; + n_artifact_name->m_address = base + offset; + n_artifact_name->m_defined_in = "df.language.xml"; + n_artifact_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_artifact_name); + + field_name = "souls"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status, field_name)); + auto n_souls = new NodeVector; + n_souls->m_field_name = field_name; + n_souls->m_df_type = DF_Type::unit_soul; + n_souls->m_rdf_type = RDF_Type::Vector; + n_souls->m_node_type = NodeType::Vector; + n_souls->m_defined_in = "df.units.xml"; + n_souls->m_addornements = "v*"; + n_souls->m_address = base + offset; + n_souls->m_parent = p_node_parent; + n_souls->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_souls); + + field_name = "current_soul"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status, field_name)); + auto n_current_soul = new NodePointer; + n_current_soul->m_field_name = field_name; + n_current_soul->m_df_type = get_real_subtype(base+offset, DF_Type::unit_soul); + n_current_soul->m_rdf_type = RDF_Type::Pointer; + n_current_soul->m_node_type = NodeType::Pointer; + n_current_soul->m_addornements = "*"; + n_current_soul->m_address = base + offset; + n_current_soul->m_parent = p_node_parent; + n_current_soul->m_defined_in = "df.units.xml"; + n_current_soul->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_current_soul); + + field_name = "demands"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status, field_name)); + auto n_demands = new NodeVector; + n_demands->m_field_name = field_name; + n_demands->m_df_type = DF_Type::unit_demand; + n_demands->m_rdf_type = RDF_Type::Vector; + n_demands->m_node_type = NodeType::Vector; + n_demands->m_defined_in = "df.jobs.xml"; + n_demands->m_addornements = "v*"; + n_demands->m_address = base + offset; + n_demands->m_parent = p_node_parent; + n_demands->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_demands); + + field_name = "labors"; + auto n_labors = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status, field_name)); + n_labors->m_field_name = field_name; + n_labors->m_df_type = DF_Type::Bool; + n_labors->m_rdf_type = RDF_Type::Array; + n_labors->m_node_type = NodeType::Array; + n_labors->m_index_enum = DF_Type::unit_labor; + n_labors->m_addornements = "[94"; + n_labors->m_array_size = 94; + n_labors->m_address = base + offset; + n_labors->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_labors); + + field_name = "wrestle_items"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status, field_name)); + auto n_wrestle_items = new NodeVector; + n_wrestle_items->m_field_name = field_name; + n_wrestle_items->m_df_type = DF_Type::unit_item_wrestle; + n_wrestle_items->m_rdf_type = RDF_Type::Vector; + n_wrestle_items->m_node_type = NodeType::Vector; + n_wrestle_items->m_defined_in = "df.units.xml"; + n_wrestle_items->m_addornements = "v*"; + n_wrestle_items->m_address = base + offset; + n_wrestle_items->m_parent = p_node_parent; + n_wrestle_items->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_wrestle_items); + + field_name = "observed_traps"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status, field_name)); + auto n_observed_traps = new NodeVector; + n_observed_traps->m_field_name = field_name; + n_observed_traps->m_df_type = DF_Type::int32_t; + n_observed_traps->m_rdf_type = RDF_Type::Vector; + n_observed_traps->m_node_type = NodeType::Vector; + n_observed_traps->m_addornements = "v"; + n_observed_traps->m_address = base + offset; + n_observed_traps->m_parent = p_node_parent; + n_observed_traps->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_observed_traps); + + field_name = "complaints"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status, field_name)); + auto n_complaints = new NodeVector; + n_complaints->m_field_name = field_name; + n_complaints->m_df_type = DF_Type::unit_complaint; + n_complaints->m_rdf_type = RDF_Type::Vector; + n_complaints->m_node_type = NodeType::Vector; + n_complaints->m_defined_in = "df.units.xml"; + n_complaints->m_addornements = "v*"; + n_complaints->m_address = base + offset; + n_complaints->m_parent = p_node_parent; + n_complaints->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_complaints); + + field_name = "unk_138"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status, field_name)); + auto n_unk_138 = new NodeVector; + n_unk_138->m_field_name = field_name; + n_unk_138->m_df_type = DF_Type::unit_unk_138; + n_unk_138->m_rdf_type = RDF_Type::Vector; + n_unk_138->m_node_type = NodeType::Vector; + n_unk_138->m_defined_in = "df.units.xml"; + n_unk_138->m_addornements = "v*"; + n_unk_138->m_address = base + offset; + n_unk_138->m_parent = p_node_parent; + n_unk_138->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_138); + + field_name = "requests"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status, field_name)); + auto n_requests = new NodeVector; + n_requests->m_field_name = field_name; + n_requests->m_df_type = DF_Type::unit_request; + n_requests->m_rdf_type = RDF_Type::Vector; + n_requests->m_node_type = NodeType::Vector; + n_requests->m_defined_in = "df.units.xml"; + n_requests->m_addornements = "v*"; + n_requests->m_address = base + offset; + n_requests->m_parent = p_node_parent; + n_requests->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_requests); + + field_name = "coin_debts"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status, field_name)); + auto n_coin_debts = new NodeVector; + n_coin_debts->m_field_name = field_name; + n_coin_debts->m_df_type = DF_Type::unit_coin_debt; + n_coin_debts->m_rdf_type = RDF_Type::Vector; + n_coin_debts->m_node_type = NodeType::Vector; + n_coin_debts->m_defined_in = "df.units.xml"; + n_coin_debts->m_addornements = "v*"; + n_coin_debts->m_address = base + offset; + n_coin_debts->m_parent = p_node_parent; + n_coin_debts->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_coin_debts); + + field_name = "adv_sleep_timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status, field_name)); + auto n_adv_sleep_timer = new NodeSimple; + n_adv_sleep_timer->m_field_name = field_name; + n_adv_sleep_timer->m_df_type = DF_Type::int16_t; + n_adv_sleep_timer->m_rdf_type = RDF_Type::int16_t; + n_adv_sleep_timer->m_node_type = NodeType::Simple; + n_adv_sleep_timer->m_address = base + offset; + n_adv_sleep_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_adv_sleep_timer); + + field_name = "recent_job_area"; + auto n_recent_job_area = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status, field_name)); + n_recent_job_area->m_field_name = field_name; + n_recent_job_area->m_df_type = DF_Type::coord; + n_recent_job_area->m_rdf_type = RDF_Type::Struct; + n_recent_job_area->m_node_type = NodeType::Compound; + n_recent_job_area->m_address = base + offset; + n_recent_job_area->m_defined_in = "df.map.xml"; + n_recent_job_area->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_recent_job_area); + + field_name = "recent_jobs"; + auto n_recent_jobs = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status, field_name)); + n_recent_jobs->m_field_name = field_name; + n_recent_jobs->m_df_type = DF_Type::coord_path; + n_recent_jobs->m_rdf_type = RDF_Type::Struct; + n_recent_jobs->m_node_type = NodeType::Compound; + n_recent_jobs->m_address = base + offset; + n_recent_jobs->m_defined_in = "df.map.xml"; + n_recent_jobs->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_recent_jobs); + +} +void node_from_unit__T_status2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "limbs_stand_max"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status2, field_name)); + auto n_limbs_stand_max = new NodeSimple; + n_limbs_stand_max->m_field_name = field_name; + n_limbs_stand_max->m_df_type = DF_Type::int16_t; + n_limbs_stand_max->m_rdf_type = RDF_Type::int16_t; + n_limbs_stand_max->m_node_type = NodeType::Simple; + n_limbs_stand_max->m_address = base + offset; + n_limbs_stand_max->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_limbs_stand_max); + + field_name = "limbs_stand_count"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status2, field_name)); + auto n_limbs_stand_count = new NodeSimple; + n_limbs_stand_count->m_field_name = field_name; + n_limbs_stand_count->m_df_type = DF_Type::int16_t; + n_limbs_stand_count->m_rdf_type = RDF_Type::int16_t; + n_limbs_stand_count->m_node_type = NodeType::Simple; + n_limbs_stand_count->m_address = base + offset; + n_limbs_stand_count->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_limbs_stand_count); + + field_name = "limbs_grasp_max"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status2, field_name)); + auto n_limbs_grasp_max = new NodeSimple; + n_limbs_grasp_max->m_field_name = field_name; + n_limbs_grasp_max->m_df_type = DF_Type::int16_t; + n_limbs_grasp_max->m_rdf_type = RDF_Type::int16_t; + n_limbs_grasp_max->m_node_type = NodeType::Simple; + n_limbs_grasp_max->m_address = base + offset; + n_limbs_grasp_max->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_limbs_grasp_max); + + field_name = "limbs_grasp_count"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status2, field_name)); + auto n_limbs_grasp_count = new NodeSimple; + n_limbs_grasp_count->m_field_name = field_name; + n_limbs_grasp_count->m_df_type = DF_Type::int16_t; + n_limbs_grasp_count->m_rdf_type = RDF_Type::int16_t; + n_limbs_grasp_count->m_node_type = NodeType::Simple; + n_limbs_grasp_count->m_address = base + offset; + n_limbs_grasp_count->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_limbs_grasp_count); + + field_name = "limbs_fly_max"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status2, field_name)); + auto n_limbs_fly_max = new NodeSimple; + n_limbs_fly_max->m_field_name = field_name; + n_limbs_fly_max->m_df_type = DF_Type::int16_t; + n_limbs_fly_max->m_rdf_type = RDF_Type::int16_t; + n_limbs_fly_max->m_node_type = NodeType::Simple; + n_limbs_fly_max->m_address = base + offset; + n_limbs_fly_max->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_limbs_fly_max); + + field_name = "limbs_fly_count"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status2, field_name)); + auto n_limbs_fly_count = new NodeSimple; + n_limbs_fly_count->m_field_name = field_name; + n_limbs_fly_count->m_df_type = DF_Type::int16_t; + n_limbs_fly_count->m_rdf_type = RDF_Type::int16_t; + n_limbs_fly_count->m_node_type = NodeType::Simple; + n_limbs_fly_count->m_address = base + offset; + n_limbs_fly_count->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_limbs_fly_count); + + field_name = "body_part_temperature"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status2, field_name)); + auto n_body_part_temperature = new NodeVector; + n_body_part_temperature->m_field_name = field_name; + n_body_part_temperature->m_df_type = DF_Type::temperaturest; + n_body_part_temperature->m_rdf_type = RDF_Type::Vector; + n_body_part_temperature->m_node_type = NodeType::Vector; + n_body_part_temperature->m_defined_in = "df.items.xml"; + n_body_part_temperature->m_addornements = "v*"; + n_body_part_temperature->m_address = base + offset; + n_body_part_temperature->m_parent = p_node_parent; + n_body_part_temperature->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_body_part_temperature); + + field_name = "add_path_flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status2, field_name)); + auto n_add_path_flags = new NodeSimple; + n_add_path_flags->m_field_name = field_name; + n_add_path_flags->m_df_type = DF_Type::uint32_t; + n_add_path_flags->m_rdf_type = RDF_Type::uint32_t; + n_add_path_flags->m_node_type = NodeType::Simple; + n_add_path_flags->m_address = base + offset; + n_add_path_flags->m_comment = "pathing flags to OR, set to 0 after move"; + n_add_path_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_add_path_flags); + + field_name = "liquid_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status2, field_name)); + auto n_liquid_type = new NodeBitfield; + n_liquid_type->m_field_name = field_name; + n_liquid_type->m_df_type = DF_Type::tile_designation; + n_liquid_type->m_rdf_type = RDF_Type::Bitfield; + n_liquid_type->m_node_type = NodeType::Bitfield; + n_liquid_type->m_address = base + offset; + n_liquid_type->m_defined_in = "df.map.xml"; + n_liquid_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_liquid_type); + + field_name = "liquid_depth"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status2, field_name)); + auto n_liquid_depth = new NodeSimple; + n_liquid_depth->m_field_name = field_name; + n_liquid_depth->m_df_type = DF_Type::uint8_t; + n_liquid_depth->m_rdf_type = RDF_Type::uint8_t; + n_liquid_depth->m_node_type = NodeType::Simple; + n_liquid_depth->m_address = base + offset; + n_liquid_depth->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_liquid_depth); + + field_name = "unk_7c0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_status2, field_name)); + auto n_unk_7c0 = new NodeSimple; + n_unk_7c0->m_field_name = field_name; + n_unk_7c0->m_df_type = DF_Type::int32_t; + n_unk_7c0->m_rdf_type = RDF_Type::int32_t; + n_unk_7c0->m_node_type = NodeType::Simple; + n_unk_7c0->m_address = base + offset; + n_unk_7c0->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_7c0); + +} +void node_from_unit__T_unknown7(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk_7c4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_unknown7, field_name)); + auto n_unk_7c4 = new NodeVector; + n_unk_7c4->m_field_name = field_name; + n_unk_7c4->m_df_type = DF_Type::int32_t; + n_unk_7c4->m_rdf_type = RDF_Type::Vector; + n_unk_7c4->m_node_type = NodeType::Vector; + n_unk_7c4->m_addornements = "v"; + n_unk_7c4->m_address = base + offset; + n_unk_7c4->m_parent = p_node_parent; + n_unk_7c4->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_7c4); + + field_name = "unk_c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_unknown7, field_name)); + auto n_unk_c = new NodeVector; + n_unk_c->m_field_name = field_name; + n_unk_c->m_df_type = DF_Type::int32_t; + n_unk_c->m_rdf_type = RDF_Type::Vector; + n_unk_c->m_node_type = NodeType::Vector; + n_unk_c->m_addornements = "v"; + n_unk_c->m_address = base + offset; + n_unk_c->m_parent = p_node_parent; + n_unk_c->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_c); + +} +void node_from_unit__T_syndromes(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "active"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_syndromes, field_name)); + auto n_active = new NodeVector; + n_active->m_field_name = field_name; + n_active->m_df_type = DF_Type::unit_syndrome; + n_active->m_rdf_type = RDF_Type::Vector; + n_active->m_node_type = NodeType::Vector; + n_active->m_defined_in = "df.units.xml"; + n_active->m_addornements = "v*"; + n_active->m_address = base + offset; + n_active->m_parent = p_node_parent; + n_active->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_active); + + field_name = "reinfection_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_syndromes, field_name)); + auto n_reinfection_type = new NodeVector; + n_reinfection_type->m_field_name = field_name; + n_reinfection_type->m_df_type = DF_Type::int32_t; + n_reinfection_type->m_rdf_type = RDF_Type::Vector; + n_reinfection_type->m_node_type = NodeType::Vector; + n_reinfection_type->m_addornements = "v"; + n_reinfection_type->m_address = base + offset; + n_reinfection_type->m_parent = p_node_parent; + n_reinfection_type->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_reinfection_type); + + field_name = "reinfection_count"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_syndromes, field_name)); + auto n_reinfection_count = new NodeVector; + n_reinfection_count->m_field_name = field_name; + n_reinfection_count->m_df_type = DF_Type::int16_t; + n_reinfection_count->m_rdf_type = RDF_Type::Vector; + n_reinfection_count->m_node_type = NodeType::Vector; + n_reinfection_count->m_addornements = "v"; + n_reinfection_count->m_address = base + offset; + n_reinfection_count->m_parent = p_node_parent; + n_reinfection_count->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_reinfection_count); + +} +void node_from_unit__T_reports(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "log"; + auto n_log = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_reports, field_name)); + n_log->m_field_name = field_name; + n_log->m_df_type = DF_Type::int32_t; + n_log->m_rdf_type = RDF_Type::Array; + n_log->m_node_type = NodeType::Array; + n_log->m_index_enum = DF_Type::unit_report_type; + n_log->m_addornements = "[3v"; + n_log->m_array_size = 3; + n_log->m_address = base + offset; + n_log->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_log); + + field_name = "last_year"; + auto n_last_year = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_reports, field_name)); + n_last_year->m_field_name = field_name; + n_last_year->m_df_type = DF_Type::int32_t; + n_last_year->m_rdf_type = RDF_Type::Array; + n_last_year->m_node_type = NodeType::Array; + n_last_year->m_index_enum = DF_Type::unit_report_type; + n_last_year->m_addornements = "[3"; + n_last_year->m_array_size = 3; + n_last_year->m_address = base + offset; + n_last_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_last_year); + + field_name = "last_year_tick"; + auto n_last_year_tick = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_reports, field_name)); + n_last_year_tick->m_field_name = field_name; + n_last_year_tick->m_df_type = DF_Type::int32_t; + n_last_year_tick->m_rdf_type = RDF_Type::Array; + n_last_year_tick->m_node_type = NodeType::Array; + n_last_year_tick->m_index_enum = DF_Type::unit_report_type; + n_last_year_tick->m_addornements = "[3"; + n_last_year_tick->m_array_size = 3; + n_last_year_tick->m_address = base + offset; + n_last_year_tick->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_last_year_tick); + +} +void node_from_unit__T_enemy__T_undead(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_undead, field_name)); + auto n_unk_1 = new NodeSimple; + n_unk_1->m_field_name = field_name; + n_unk_1->m_df_type = DF_Type::int32_t; + n_unk_1->m_rdf_type = RDF_Type::int32_t; + n_unk_1->m_node_type = NodeType::Simple; + n_unk_1->m_address = base + offset; + n_unk_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_1); + + field_name = "unk_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_undead, field_name)); + auto n_unk_2 = new NodeSimple; + n_unk_2->m_field_name = field_name; + n_unk_2->m_df_type = DF_Type::int32_t; + n_unk_2->m_rdf_type = RDF_Type::int32_t; + n_unk_2->m_node_type = NodeType::Simple; + n_unk_2->m_address = base + offset; + n_unk_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_2); + + field_name = "unk_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_undead, field_name)); + auto n_unk_3 = new NodeSimple; + n_unk_3->m_field_name = field_name; + n_unk_3->m_df_type = DF_Type::int32_t; + n_unk_3->m_rdf_type = RDF_Type::int32_t; + n_unk_3->m_node_type = NodeType::Simple; + n_unk_3->m_address = base + offset; + n_unk_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_3); + + field_name = "unk_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_undead, field_name)); + auto n_unk_4 = new NodeSimple; + n_unk_4->m_field_name = field_name; + n_unk_4->m_df_type = DF_Type::int32_t; + n_unk_4->m_rdf_type = RDF_Type::int32_t; + n_unk_4->m_node_type = NodeType::Simple; + n_unk_4->m_address = base + offset; + n_unk_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_4); + + field_name = "unk_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_undead, field_name)); + auto n_unk_5 = new NodeSimple; + n_unk_5->m_field_name = field_name; + n_unk_5->m_df_type = DF_Type::int32_t; + n_unk_5->m_rdf_type = RDF_Type::int32_t; + n_unk_5->m_node_type = NodeType::Simple; + n_unk_5->m_address = base + offset; + n_unk_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_5); + + field_name = "root_body_part_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_undead, field_name)); + auto n_root_body_part_id = new NodeSimple; + n_root_body_part_id->m_field_name = field_name; + n_root_body_part_id->m_df_type = DF_Type::int16_t; + n_root_body_part_id->m_rdf_type = RDF_Type::int16_t; + n_root_body_part_id->m_node_type = NodeType::Simple; + n_root_body_part_id->m_address = base + offset; + n_root_body_part_id->m_comment = "ID of the root body part in the corpse or corpse piece from which the reanimated unit was produced"; + n_root_body_part_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_root_body_part_id); + + field_name = "undead_name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_undead, field_name)); + auto n_undead_name = new NodeSimple; + n_undead_name->m_field_name = field_name; + n_undead_name->m_df_type = DF_Type::Stl_string; + n_undead_name->m_rdf_type = RDF_Type::Stl_string; + n_undead_name->m_node_type = NodeType::Simple; + n_undead_name->m_address = base + offset; + n_undead_name->m_comment = "display name of reanimated creatures"; + n_undead_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_undead_name); + + field_name = "unk_v43_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_undead, field_name)); + auto n_unk_v43_1 = new NodeSimple; + n_unk_v43_1->m_field_name = field_name; + n_unk_v43_1->m_df_type = DF_Type::int32_t; + n_unk_v43_1->m_rdf_type = RDF_Type::int32_t; + n_unk_v43_1->m_node_type = NodeType::Simple; + n_unk_v43_1->m_address = base + offset; + n_unk_v43_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v43_1); + + field_name = "unk_v43_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_undead, field_name)); + auto n_unk_v43_2 = new NodeSimple; + n_unk_v43_2->m_field_name = field_name; + n_unk_v43_2->m_df_type = DF_Type::int32_t; + n_unk_v43_2->m_rdf_type = RDF_Type::int32_t; + n_unk_v43_2->m_node_type = NodeType::Simple; + n_unk_v43_2->m_address = base + offset; + n_unk_v43_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v43_2); + +} +void node_from_unit__T_enemy__T_witness_reports(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "death_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_witness_reports, field_name)); + auto n_death_id = new NodeSimple; + n_death_id->m_field_name = field_name; + n_death_id->m_df_type = DF_Type::int32_t; + n_death_id->m_rdf_type = RDF_Type::int32_t; + n_death_id->m_node_type = NodeType::Simple; + n_death_id->m_address = base + offset; + n_death_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_death_id); + + field_name = "crime_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_witness_reports, field_name)); + auto n_crime_id = new NodeSimple; + n_crime_id->m_field_name = field_name; + n_crime_id->m_df_type = DF_Type::int32_t; + n_crime_id->m_rdf_type = RDF_Type::int32_t; + n_crime_id->m_node_type = NodeType::Simple; + n_crime_id->m_address = base + offset; + n_crime_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_crime_id); + + field_name = "unk1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_witness_reports, field_name)); + auto n_unk1 = new NodeSimple; + n_unk1->m_field_name = field_name; + n_unk1->m_df_type = DF_Type::int32_t; + n_unk1->m_rdf_type = RDF_Type::int32_t; + n_unk1->m_node_type = NodeType::Simple; + n_unk1->m_address = base + offset; + n_unk1->m_comment = "0 accuses, 1 corpse"; + n_unk1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk1); + + field_name = "year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_witness_reports, field_name)); + auto n_year = new NodeSimple; + n_year->m_field_name = field_name; + n_year->m_df_type = DF_Type::int32_t; + n_year->m_rdf_type = RDF_Type::int32_t; + n_year->m_node_type = NodeType::Simple; + n_year->m_address = base + offset; + n_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_year); + + field_name = "year_tick"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_witness_reports, field_name)); + auto n_year_tick = new NodeSimple; + n_year_tick->m_field_name = field_name; + n_year_tick->m_df_type = DF_Type::int32_t; + n_year_tick->m_rdf_type = RDF_Type::int32_t; + n_year_tick->m_node_type = NodeType::Simple; + n_year_tick->m_address = base + offset; + n_year_tick->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_year_tick); + + field_name = "unk2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_witness_reports, field_name)); + auto n_unk2 = new NodeSimple; + n_unk2->m_field_name = field_name; + n_unk2->m_df_type = DF_Type::int32_t; + n_unk2->m_rdf_type = RDF_Type::int32_t; + n_unk2->m_node_type = NodeType::Simple; + n_unk2->m_address = base + offset; + n_unk2->m_comment = "bit 0 accuses"; + n_unk2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk2); + +} +void node_from_unit__T_enemy__T_unk_448__T_unk(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_448__T_unk, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_448__T_unk, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_448__T_unk, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_448__T_unk, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_448__T_unk, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_448__T_unk, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_448__T_unk, field_name)); + auto n_anon_7 = new NodeSimple; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::int32_t; + n_anon_7->m_rdf_type = RDF_Type::int32_t; + n_anon_7->m_node_type = NodeType::Simple; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_7); + + field_name = "anon_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_448__T_unk, field_name)); + auto n_anon_8 = new NodeSimple; + n_anon_8->m_field_name = field_name; + n_anon_8->m_df_type = DF_Type::int32_t; + n_anon_8->m_rdf_type = RDF_Type::int32_t; + n_anon_8->m_node_type = NodeType::Simple; + n_anon_8->m_address = base + offset; + n_anon_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_8); + + field_name = "anon_9"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_448__T_unk, field_name)); + auto n_anon_9 = new NodeSimple; + n_anon_9->m_field_name = field_name; + n_anon_9->m_df_type = DF_Type::int32_t; + n_anon_9->m_rdf_type = RDF_Type::int32_t; + n_anon_9->m_node_type = NodeType::Simple; + n_anon_9->m_address = base + offset; + n_anon_9->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_9); + + field_name = "anon_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_448__T_unk, field_name)); + auto n_anon_10 = new NodeSimple; + n_anon_10->m_field_name = field_name; + n_anon_10->m_df_type = DF_Type::int32_t; + n_anon_10->m_rdf_type = RDF_Type::int32_t; + n_anon_10->m_node_type = NodeType::Simple; + n_anon_10->m_address = base + offset; + n_anon_10->m_comment = "not saved"; + n_anon_10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_10); + +} +void node_from_unit__T_enemy__T_unk_448(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_448, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_448, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_448, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "unk"; + auto n_unk = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_448, field_name)); + n_unk->m_field_name = field_name; + n_unk->m_df_type = DF_Type::unit__T_enemy__T_unk_448__T_unk; + n_unk->m_rdf_type = RDF_Type::Compound; + n_unk->m_node_type = NodeType::Compound; + n_unk->m_address = base + offset; + n_unk->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk); + +} +void node_from_unit__T_enemy__T_unk_44c(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_44c, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_44c, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_44c, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int16_t; + n_anon_3->m_rdf_type = RDF_Type::int16_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_44c, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_44c, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_44c, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "anon_7"; + auto n_anon_7 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_44c, field_name)); + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::int32_t; + n_anon_7->m_rdf_type = RDF_Type::Array; + n_anon_7->m_node_type = NodeType::Array; + n_anon_7->m_addornements = "[20"; + n_anon_7->m_array_size = 20; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_7); + + field_name = "anon_8"; + auto n_anon_8 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_44c, field_name)); + n_anon_8->m_field_name = field_name; + n_anon_8->m_df_type = DF_Type::int32_t; + n_anon_8->m_rdf_type = RDF_Type::Array; + n_anon_8->m_node_type = NodeType::Array; + n_anon_8->m_addornements = "[20"; + n_anon_8->m_array_size = 20; + n_anon_8->m_address = base + offset; + n_anon_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_8); + + field_name = "anon_9"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_44c, field_name)); + auto n_anon_9 = new NodeSimple; + n_anon_9->m_field_name = field_name; + n_anon_9->m_df_type = DF_Type::int16_t; + n_anon_9->m_rdf_type = RDF_Type::int16_t; + n_anon_9->m_node_type = NodeType::Simple; + n_anon_9->m_address = base + offset; + n_anon_9->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_9); + + field_name = "anon_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_44c, field_name)); + auto n_anon_10 = new NodeSimple; + n_anon_10->m_field_name = field_name; + n_anon_10->m_df_type = DF_Type::int16_t; + n_anon_10->m_rdf_type = RDF_Type::int16_t; + n_anon_10->m_node_type = NodeType::Simple; + n_anon_10->m_address = base + offset; + n_anon_10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_10); + + field_name = "anon_11"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_44c, field_name)); + auto n_anon_11 = new NodeSimple; + n_anon_11->m_field_name = field_name; + n_anon_11->m_df_type = DF_Type::int32_t; + n_anon_11->m_rdf_type = RDF_Type::int32_t; + n_anon_11->m_node_type = NodeType::Simple; + n_anon_11->m_address = base + offset; + n_anon_11->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_11); + + field_name = "anon_12"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_44c, field_name)); + auto n_anon_12 = new NodeSimple; + n_anon_12->m_field_name = field_name; + n_anon_12->m_df_type = DF_Type::int32_t; + n_anon_12->m_rdf_type = RDF_Type::int32_t; + n_anon_12->m_node_type = NodeType::Simple; + n_anon_12->m_address = base + offset; + n_anon_12->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_12); + +} +void node_from_unit__T_enemy__T_unk_v40_sub3__T_unk_2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_2, field_name)); + auto n_unk_1 = new NodeVector; + n_unk_1->m_field_name = field_name; + n_unk_1->m_df_type = DF_Type::int32_t; + n_unk_1->m_rdf_type = RDF_Type::Vector; + n_unk_1->m_node_type = NodeType::Vector; + n_unk_1->m_addornements = "v"; + n_unk_1->m_address = base + offset; + n_unk_1->m_parent = p_node_parent; + n_unk_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_1); + + field_name = "unk_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_2, field_name)); + auto n_unk_2 = new NodeVector; + n_unk_2->m_field_name = field_name; + n_unk_2->m_df_type = DF_Type::int32_t; + n_unk_2->m_rdf_type = RDF_Type::Vector; + n_unk_2->m_node_type = NodeType::Vector; + n_unk_2->m_addornements = "v"; + n_unk_2->m_address = base + offset; + n_unk_2->m_parent = p_node_parent; + n_unk_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_2); + + field_name = "unk_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_2, field_name)); + auto n_unk_3 = new NodeVector; + n_unk_3->m_field_name = field_name; + n_unk_3->m_df_type = DF_Type::int32_t; + n_unk_3->m_rdf_type = RDF_Type::Vector; + n_unk_3->m_node_type = NodeType::Vector; + n_unk_3->m_addornements = "v"; + n_unk_3->m_address = base + offset; + n_unk_3->m_parent = p_node_parent; + n_unk_3->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_3); + + field_name = "unk_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_2, field_name)); + auto n_unk_4 = new NodeVector; + n_unk_4->m_field_name = field_name; + n_unk_4->m_df_type = DF_Type::int32_t; + n_unk_4->m_rdf_type = RDF_Type::Vector; + n_unk_4->m_node_type = NodeType::Vector; + n_unk_4->m_addornements = "v"; + n_unk_4->m_address = base + offset; + n_unk_4->m_parent = p_node_parent; + n_unk_4->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_4); + +} +void node_from_unit__T_enemy__T_unk_v40_sub3__T_unk_6(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk_0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_6, field_name)); + auto n_unk_0 = new NodeVector; + n_unk_0->m_field_name = field_name; + n_unk_0->m_df_type = DF_Type::int32_t; + n_unk_0->m_rdf_type = RDF_Type::Vector; + n_unk_0->m_node_type = NodeType::Vector; + n_unk_0->m_addornements = "v"; + n_unk_0->m_address = base + offset; + n_unk_0->m_parent = p_node_parent; + n_unk_0->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_0); + + field_name = "unk_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_6, field_name)); + auto n_unk_10 = new NodeVector; + n_unk_10->m_field_name = field_name; + n_unk_10->m_df_type = DF_Type::int32_t; + n_unk_10->m_rdf_type = RDF_Type::Vector; + n_unk_10->m_node_type = NodeType::Vector; + n_unk_10->m_addornements = "v"; + n_unk_10->m_address = base + offset; + n_unk_10->m_parent = p_node_parent; + n_unk_10->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_10); + +} +void node_from_unit__T_enemy__T_unk_v40_sub3__T_unk_7__T_unk_sub1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk_sub1_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7__T_unk_sub1, field_name)); + auto n_unk_sub1_1 = new NodeSimple; + n_unk_sub1_1->m_field_name = field_name; + n_unk_sub1_1->m_df_type = DF_Type::int32_t; + n_unk_sub1_1->m_rdf_type = RDF_Type::int32_t; + n_unk_sub1_1->m_node_type = NodeType::Simple; + n_unk_sub1_1->m_address = base + offset; + n_unk_sub1_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_sub1_1); + + field_name = "unk_sub1_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7__T_unk_sub1, field_name)); + auto n_unk_sub1_2 = new NodeSimple; + n_unk_sub1_2->m_field_name = field_name; + n_unk_sub1_2->m_df_type = DF_Type::int32_t; + n_unk_sub1_2->m_rdf_type = RDF_Type::int32_t; + n_unk_sub1_2->m_node_type = NodeType::Simple; + n_unk_sub1_2->m_address = base + offset; + n_unk_sub1_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_sub1_2); + + field_name = "unk_sub1_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7__T_unk_sub1, field_name)); + auto n_unk_sub1_3 = new NodeSimple; + n_unk_sub1_3->m_field_name = field_name; + n_unk_sub1_3->m_df_type = DF_Type::int32_t; + n_unk_sub1_3->m_rdf_type = RDF_Type::int32_t; + n_unk_sub1_3->m_node_type = NodeType::Simple; + n_unk_sub1_3->m_address = base + offset; + n_unk_sub1_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_sub1_3); + + field_name = "unk_sub1_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7__T_unk_sub1, field_name)); + auto n_unk_sub1_4 = new NodeSimple; + n_unk_sub1_4->m_field_name = field_name; + n_unk_sub1_4->m_df_type = DF_Type::int32_t; + n_unk_sub1_4->m_rdf_type = RDF_Type::int32_t; + n_unk_sub1_4->m_node_type = NodeType::Simple; + n_unk_sub1_4->m_address = base + offset; + n_unk_sub1_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_sub1_4); + + field_name = "unk_sub1_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7__T_unk_sub1, field_name)); + auto n_unk_sub1_5 = new NodeSimple; + n_unk_sub1_5->m_field_name = field_name; + n_unk_sub1_5->m_df_type = DF_Type::int32_t; + n_unk_sub1_5->m_rdf_type = RDF_Type::int32_t; + n_unk_sub1_5->m_node_type = NodeType::Simple; + n_unk_sub1_5->m_address = base + offset; + n_unk_sub1_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_sub1_5); + + field_name = "unk_sub1_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7__T_unk_sub1, field_name)); + auto n_unk_sub1_6 = new NodeSimple; + n_unk_sub1_6->m_field_name = field_name; + n_unk_sub1_6->m_df_type = DF_Type::int32_t; + n_unk_sub1_6->m_rdf_type = RDF_Type::int32_t; + n_unk_sub1_6->m_node_type = NodeType::Simple; + n_unk_sub1_6->m_address = base + offset; + n_unk_sub1_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_sub1_6); + + field_name = "unk_sub1_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7__T_unk_sub1, field_name)); + auto n_unk_sub1_7 = new NodeSimple; + n_unk_sub1_7->m_field_name = field_name; + n_unk_sub1_7->m_df_type = DF_Type::int32_t; + n_unk_sub1_7->m_rdf_type = RDF_Type::int32_t; + n_unk_sub1_7->m_node_type = NodeType::Simple; + n_unk_sub1_7->m_address = base + offset; + n_unk_sub1_7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_sub1_7); + + field_name = "unk_sub1_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7__T_unk_sub1, field_name)); + auto n_unk_sub1_8 = new NodeSimple; + n_unk_sub1_8->m_field_name = field_name; + n_unk_sub1_8->m_df_type = DF_Type::int32_t; + n_unk_sub1_8->m_rdf_type = RDF_Type::int32_t; + n_unk_sub1_8->m_node_type = NodeType::Simple; + n_unk_sub1_8->m_address = base + offset; + n_unk_sub1_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_sub1_8); + + field_name = "unk_sub1_9"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7__T_unk_sub1, field_name)); + auto n_unk_sub1_9 = new NodeSimple; + n_unk_sub1_9->m_field_name = field_name; + n_unk_sub1_9->m_df_type = DF_Type::int32_t; + n_unk_sub1_9->m_rdf_type = RDF_Type::int32_t; + n_unk_sub1_9->m_node_type = NodeType::Simple; + n_unk_sub1_9->m_address = base + offset; + n_unk_sub1_9->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_sub1_9); + +} +void node_from_unit__T_enemy__T_unk_v40_sub3__T_unk_7(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk_sub1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7, field_name)); + auto n_unk_sub1 = new NodeVector; + n_unk_sub1->m_field_name = field_name; + n_unk_sub1->m_df_type = DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7__T_unk_sub1; + n_unk_sub1->m_rdf_type = RDF_Type::Vector; + n_unk_sub1->m_node_type = NodeType::Vector; + n_unk_sub1->m_addornements = "v*"; + n_unk_sub1->m_address = base + offset; + n_unk_sub1->m_parent = p_node_parent; + n_unk_sub1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_sub1); + + field_name = "unk_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7, field_name)); + auto n_unk_1 = new NodeSimple; + n_unk_1->m_field_name = field_name; + n_unk_1->m_df_type = DF_Type::int32_t; + n_unk_1->m_rdf_type = RDF_Type::int32_t; + n_unk_1->m_node_type = NodeType::Simple; + n_unk_1->m_address = base + offset; + n_unk_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_1); + + field_name = "year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7, field_name)); + auto n_year = new NodeSimple; + n_year->m_field_name = field_name; + n_year->m_df_type = DF_Type::int32_t; + n_year->m_rdf_type = RDF_Type::int32_t; + n_year->m_node_type = NodeType::Simple; + n_year->m_address = base + offset; + n_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_year); + + field_name = "year_tick"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7, field_name)); + auto n_year_tick = new NodeSimple; + n_year_tick->m_field_name = field_name; + n_year_tick->m_df_type = DF_Type::int32_t; + n_year_tick->m_rdf_type = RDF_Type::int32_t; + n_year_tick->m_node_type = NodeType::Simple; + n_year_tick->m_address = base + offset; + n_year_tick->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_year_tick); + + field_name = "unk_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7, field_name)); + auto n_unk_4 = new NodeSimple; + n_unk_4->m_field_name = field_name; + n_unk_4->m_df_type = DF_Type::int32_t; + n_unk_4->m_rdf_type = RDF_Type::int32_t; + n_unk_4->m_node_type = NodeType::Simple; + n_unk_4->m_address = base + offset; + n_unk_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_4); + + field_name = "unk_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7, field_name)); + auto n_unk_5 = new NodeSimple; + n_unk_5->m_field_name = field_name; + n_unk_5->m_df_type = DF_Type::int32_t; + n_unk_5->m_rdf_type = RDF_Type::int32_t; + n_unk_5->m_node_type = NodeType::Simple; + n_unk_5->m_address = base + offset; + n_unk_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_5); + + field_name = "unk_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7, field_name)); + auto n_unk_6 = new NodeSimple; + n_unk_6->m_field_name = field_name; + n_unk_6->m_df_type = DF_Type::int32_t; + n_unk_6->m_rdf_type = RDF_Type::int32_t; + n_unk_6->m_node_type = NodeType::Simple; + n_unk_6->m_address = base + offset; + n_unk_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_6); + + field_name = "unk_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7, field_name)); + auto n_unk_7 = new NodeSimple; + n_unk_7->m_field_name = field_name; + n_unk_7->m_df_type = DF_Type::int32_t; + n_unk_7->m_rdf_type = RDF_Type::int32_t; + n_unk_7->m_node_type = NodeType::Simple; + n_unk_7->m_address = base + offset; + n_unk_7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_7); + +} +void node_from_unit__T_enemy__T_unk_v40_sub3(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "controller"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_v40_sub3, field_name)); + auto n_controller = new NodePointer; + n_controller->m_field_name = field_name; + n_controller->m_df_type = get_real_subtype(base+offset, DF_Type::army_controller); + n_controller->m_rdf_type = RDF_Type::Pointer; + n_controller->m_node_type = NodeType::Pointer; + n_controller->m_addornements = "*"; + n_controller->m_address = base + offset; + n_controller->m_parent = p_node_parent; + n_controller->m_defined_in = "df.military.xml"; + n_controller->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_controller); + + field_name = "unk_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_v40_sub3, field_name)); + auto n_unk_2 = new NodePointer; + n_unk_2->m_field_name = field_name; + n_unk_2->m_df_type = get_real_subtype(base+offset, DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_2); + n_unk_2->m_rdf_type = RDF_Type::Pointer; + n_unk_2->m_node_type = NodeType::Pointer; + n_unk_2->m_addornements = "*"; + n_unk_2->m_address = base + offset; + n_unk_2->m_parent = p_node_parent; + n_unk_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_2); + + field_name = "unk_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_v40_sub3, field_name)); + auto n_unk_3 = new NodeVector; + n_unk_3->m_field_name = field_name; + n_unk_3->m_df_type = DF_Type::int32_t; + n_unk_3->m_rdf_type = RDF_Type::Vector; + n_unk_3->m_node_type = NodeType::Vector; + n_unk_3->m_addornements = "v"; + n_unk_3->m_address = base + offset; + n_unk_3->m_parent = p_node_parent; + n_unk_3->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_3); + + field_name = "unk_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_v40_sub3, field_name)); + auto n_unk_4 = new NodeVector; + n_unk_4->m_field_name = field_name; + n_unk_4->m_df_type = DF_Type::int32_t; + n_unk_4->m_rdf_type = RDF_Type::Vector; + n_unk_4->m_node_type = NodeType::Vector; + n_unk_4->m_addornements = "v"; + n_unk_4->m_address = base + offset; + n_unk_4->m_parent = p_node_parent; + n_unk_4->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_4); + + field_name = "unk_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_v40_sub3, field_name)); + auto n_unk_5 = new NodeVector; + n_unk_5->m_field_name = field_name; + n_unk_5->m_df_type = DF_Type::int32_t; + n_unk_5->m_rdf_type = RDF_Type::Vector; + n_unk_5->m_node_type = NodeType::Vector; + n_unk_5->m_addornements = "v"; + n_unk_5->m_address = base + offset; + n_unk_5->m_parent = p_node_parent; + n_unk_5->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_5); + + field_name = "unk_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_v40_sub3, field_name)); + auto n_unk_6 = new NodePointer; + n_unk_6->m_field_name = field_name; + n_unk_6->m_df_type = get_real_subtype(base+offset, DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_6); + n_unk_6->m_rdf_type = RDF_Type::Pointer; + n_unk_6->m_node_type = NodeType::Pointer; + n_unk_6->m_addornements = "*"; + n_unk_6->m_address = base + offset; + n_unk_6->m_parent = p_node_parent; + n_unk_6->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_6); + + field_name = "unk_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy__T_unk_v40_sub3, field_name)); + auto n_unk_7 = new NodePointer; + n_unk_7->m_field_name = field_name; + n_unk_7->m_df_type = get_real_subtype(base+offset, DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7); + n_unk_7->m_rdf_type = RDF_Type::Pointer; + n_unk_7->m_node_type = NodeType::Pointer; + n_unk_7->m_addornements = "*"; + n_unk_7->m_address = base + offset; + n_unk_7->m_parent = p_node_parent; + n_unk_7->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_7); + +} +void node_from_unit__T_enemy(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "sound_cooldown"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); + auto n_sound_cooldown = new NodeVector; + n_sound_cooldown->m_field_name = field_name; + n_sound_cooldown->m_df_type = DF_Type::int32_t; + n_sound_cooldown->m_rdf_type = RDF_Type::Vector; + n_sound_cooldown->m_node_type = NodeType::Vector; + n_sound_cooldown->m_addornements = "v"; + n_sound_cooldown->m_address = base + offset; + n_sound_cooldown->m_refers_to = "$$._global.caste.ref-target.sound[$]"; + n_sound_cooldown->m_parent = p_node_parent; + n_sound_cooldown->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_sound_cooldown); + + field_name = "undead"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); + auto n_undead = new NodePointer; + n_undead->m_field_name = field_name; + n_undead->m_df_type = get_real_subtype(base+offset, DF_Type::unit__T_enemy__T_undead); + n_undead->m_rdf_type = RDF_Type::Pointer; + n_undead->m_node_type = NodeType::Pointer; + n_undead->m_addornements = "*"; + n_undead->m_address = base + offset; + n_undead->m_parent = p_node_parent; + n_undead->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_undead); + + field_name = "were_race"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); + auto n_were_race = new NodeSimple; + n_were_race->m_field_name = field_name; + n_were_race->m_df_type = DF_Type::int32_t; + n_were_race->m_rdf_type = RDF_Type::int32_t; + n_were_race->m_node_type = NodeType::Simple; + n_were_race->m_address = base + offset; + n_were_race->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_were_race); + + field_name = "were_caste"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); + auto n_were_caste = new NodeSimple; + n_were_caste->m_field_name = field_name; + n_were_caste->m_df_type = DF_Type::int32_t; + n_were_caste->m_rdf_type = RDF_Type::int32_t; + n_were_caste->m_node_type = NodeType::Simple; + n_were_caste->m_address = base + offset; + n_were_caste->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_were_caste); + + field_name = "normal_race"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); + auto n_normal_race = new NodeSimple; + n_normal_race->m_field_name = field_name; + n_normal_race->m_df_type = DF_Type::int32_t; + n_normal_race->m_rdf_type = RDF_Type::int32_t; + n_normal_race->m_node_type = NodeType::Simple; + n_normal_race->m_address = base + offset; + n_normal_race->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_normal_race); + + field_name = "normal_caste"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); + auto n_normal_caste = new NodeSimple; + n_normal_caste->m_field_name = field_name; + n_normal_caste->m_df_type = DF_Type::int32_t; + n_normal_caste->m_rdf_type = RDF_Type::int32_t; + n_normal_caste->m_node_type = NodeType::Simple; + n_normal_caste->m_address = base + offset; + n_normal_caste->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_normal_caste); + + field_name = "interaction"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); + auto n_interaction = new NodeSimple; + n_interaction->m_field_name = field_name; + n_interaction->m_df_type = DF_Type::int32_t; + n_interaction->m_rdf_type = RDF_Type::int32_t; + n_interaction->m_node_type = NodeType::Simple; + n_interaction->m_address = base + offset; + n_interaction->m_refers_to = "$$._global.body.body_plan.interactions[$]"; + n_interaction->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_interaction); + + field_name = "appearances"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); + auto n_appearances = new NodeVector; + n_appearances->m_field_name = field_name; + n_appearances->m_df_type = DF_Type::unit_appearance; + n_appearances->m_rdf_type = RDF_Type::Vector; + n_appearances->m_node_type = NodeType::Vector; + n_appearances->m_defined_in = "df.units.xml"; + n_appearances->m_addornements = "v*"; + n_appearances->m_address = base + offset; + n_appearances->m_parent = p_node_parent; + n_appearances->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_appearances); + + field_name = "witness_reports"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); + auto n_witness_reports = new NodeVector; + n_witness_reports->m_field_name = field_name; + n_witness_reports->m_df_type = DF_Type::unit__T_enemy__T_witness_reports; + n_witness_reports->m_rdf_type = RDF_Type::Vector; + n_witness_reports->m_node_type = NodeType::Vector; + n_witness_reports->m_addornements = "v*"; + n_witness_reports->m_address = base + offset; + n_witness_reports->m_parent = p_node_parent; + n_witness_reports->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_witness_reports); + + field_name = "unk_a5c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); + auto n_unk_a5c = new NodeVector; + n_unk_a5c->m_field_name = field_name; + n_unk_a5c->m_df_type = DF_Type::entity_event; + n_unk_a5c->m_rdf_type = RDF_Type::Vector; + n_unk_a5c->m_node_type = NodeType::Vector; + n_unk_a5c->m_defined_in = "df.entities.xml"; + n_unk_a5c->m_addornements = "v*"; + n_unk_a5c->m_address = base + offset; + n_unk_a5c->m_parent = p_node_parent; + n_unk_a5c->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_a5c); + + field_name = "gait_index"; + auto n_gait_index = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); + n_gait_index->m_field_name = field_name; + n_gait_index->m_df_type = DF_Type::int32_t; + n_gait_index->m_rdf_type = RDF_Type::Array; + n_gait_index->m_node_type = NodeType::Array; + n_gait_index->m_index_enum = DF_Type::gait_type; + n_gait_index->m_addornements = "[5"; + n_gait_index->m_array_size = 5; + n_gait_index->m_address = base + offset; + n_gait_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_gait_index); + + field_name = "unk_v40_1a"; + auto n_unk_v40_1a = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); + n_unk_v40_1a->m_field_name = field_name; + n_unk_v40_1a->m_df_type = DF_Type::int32_t; + n_unk_v40_1a->m_rdf_type = RDF_Type::Array; + n_unk_v40_1a->m_node_type = NodeType::Array; + n_unk_v40_1a->m_addornements = "[10"; + n_unk_v40_1a->m_array_size = 10; + n_unk_v40_1a->m_address = base + offset; + n_unk_v40_1a->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_1a); + + field_name = "unk_v40_1b"; + auto n_unk_v40_1b = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); + n_unk_v40_1b->m_field_name = field_name; + n_unk_v40_1b->m_df_type = DF_Type::int32_t; + n_unk_v40_1b->m_rdf_type = RDF_Type::Array; + n_unk_v40_1b->m_node_type = NodeType::Array; + n_unk_v40_1b->m_addornements = "[10"; + n_unk_v40_1b->m_array_size = 10; + n_unk_v40_1b->m_address = base + offset; + n_unk_v40_1b->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_1b); + + field_name = "unk_v40_1c"; + auto n_unk_v40_1c = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); + n_unk_v40_1c->m_field_name = field_name; + n_unk_v40_1c->m_df_type = DF_Type::int32_t; + n_unk_v40_1c->m_rdf_type = RDF_Type::Array; + n_unk_v40_1c->m_node_type = NodeType::Array; + n_unk_v40_1c->m_addornements = "[10"; + n_unk_v40_1c->m_array_size = 10; + n_unk_v40_1c->m_address = base + offset; + n_unk_v40_1c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_1c); + + field_name = "unk_v40_1d"; + auto n_unk_v40_1d = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); + n_unk_v40_1d->m_field_name = field_name; + n_unk_v40_1d->m_df_type = DF_Type::int32_t; + n_unk_v40_1d->m_rdf_type = RDF_Type::Array; + n_unk_v40_1d->m_node_type = NodeType::Array; + n_unk_v40_1d->m_addornements = "[10"; + n_unk_v40_1d->m_array_size = 10; + n_unk_v40_1d->m_address = base + offset; + n_unk_v40_1d->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_1d); + + field_name = "unk_v40_1e"; + auto n_unk_v40_1e = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); + n_unk_v40_1e->m_field_name = field_name; + n_unk_v40_1e->m_df_type = DF_Type::int32_t; + n_unk_v40_1e->m_rdf_type = RDF_Type::Array; + n_unk_v40_1e->m_node_type = NodeType::Array; + n_unk_v40_1e->m_addornements = "[10"; + n_unk_v40_1e->m_array_size = 10; + n_unk_v40_1e->m_address = base + offset; + n_unk_v40_1e->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_1e); + + field_name = "unk_v40_2"; + auto n_unk_v40_2 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); + n_unk_v40_2->m_field_name = field_name; + n_unk_v40_2->m_df_type = DF_Type::int32_t; + n_unk_v40_2->m_rdf_type = RDF_Type::Array; + n_unk_v40_2->m_node_type = NodeType::Array; + n_unk_v40_2->m_addornements = "[200"; + n_unk_v40_2->m_array_size = 200; + n_unk_v40_2->m_address = base + offset; + n_unk_v40_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_2); + + field_name = "unk_v40_2_count"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); + auto n_unk_v40_2_count = new NodeSimple; + n_unk_v40_2_count->m_field_name = field_name; + n_unk_v40_2_count->m_df_type = DF_Type::int32_t; + n_unk_v40_2_count->m_rdf_type = RDF_Type::int32_t; + n_unk_v40_2_count->m_node_type = NodeType::Simple; + n_unk_v40_2_count->m_address = base + offset; + n_unk_v40_2_count->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_2_count); + + field_name = "unk_448"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); + auto n_unk_448 = new NodePointer; + n_unk_448->m_field_name = field_name; + n_unk_448->m_df_type = get_real_subtype(base+offset, DF_Type::unit__T_enemy__T_unk_448); + n_unk_448->m_rdf_type = RDF_Type::Pointer; + n_unk_448->m_node_type = NodeType::Pointer; + n_unk_448->m_addornements = "*"; + n_unk_448->m_address = base + offset; + n_unk_448->m_parent = p_node_parent; + n_unk_448->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_448); + + field_name = "unk_44c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); + auto n_unk_44c = new NodePointer; + n_unk_44c->m_field_name = field_name; + n_unk_44c->m_df_type = get_real_subtype(base+offset, DF_Type::unit__T_enemy__T_unk_44c); + n_unk_44c->m_rdf_type = RDF_Type::Pointer; + n_unk_44c->m_node_type = NodeType::Pointer; + n_unk_44c->m_addornements = "*"; + n_unk_44c->m_address = base + offset; + n_unk_44c->m_parent = p_node_parent; + n_unk_44c->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_44c); + + field_name = "unk_450"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); + auto n_unk_450 = new NodeSimple; + n_unk_450->m_field_name = field_name; + n_unk_450->m_df_type = DF_Type::int32_t; + n_unk_450->m_rdf_type = RDF_Type::int32_t; + n_unk_450->m_node_type = NodeType::Simple; + n_unk_450->m_address = base + offset; + n_unk_450->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_450); + + field_name = "unk_454"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); + auto n_unk_454 = new NodeSimple; + n_unk_454->m_field_name = field_name; + n_unk_454->m_df_type = DF_Type::int32_t; + n_unk_454->m_rdf_type = RDF_Type::int32_t; + n_unk_454->m_node_type = NodeType::Simple; + n_unk_454->m_address = base + offset; + n_unk_454->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_454); + + field_name = "army_controller_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); + auto n_army_controller_id = new NodeSimple; + n_army_controller_id->m_field_name = field_name; + n_army_controller_id->m_df_type = DF_Type::int32_t; + n_army_controller_id->m_rdf_type = RDF_Type::int32_t; + n_army_controller_id->m_node_type = NodeType::Simple; + n_army_controller_id->m_address = base + offset; + n_army_controller_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_army_controller_id); + + field_name = "unk_v40_sub3"; + auto n_unk_v40_sub3 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); + n_unk_v40_sub3->m_field_name = field_name; + n_unk_v40_sub3->m_df_type = DF_Type::unit__T_enemy__T_unk_v40_sub3; + n_unk_v40_sub3->m_rdf_type = RDF_Type::Compound; + n_unk_v40_sub3->m_node_type = NodeType::Compound; + n_unk_v40_sub3->m_address = base + offset; + n_unk_v40_sub3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_sub3); + + field_name = "enemy_status_slot"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); + auto n_enemy_status_slot = new NodeSimple; + n_enemy_status_slot->m_field_name = field_name; + n_enemy_status_slot->m_df_type = DF_Type::int32_t; + n_enemy_status_slot->m_rdf_type = RDF_Type::int32_t; + n_enemy_status_slot->m_node_type = NodeType::Simple; + n_enemy_status_slot->m_address = base + offset; + n_enemy_status_slot->m_comment = "also combat_side_id"; + n_enemy_status_slot->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_enemy_status_slot); + + field_name = "caste_flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); + auto n_caste_flags = new NodeDFFlagArray; + n_caste_flags->m_field_name = field_name; + n_caste_flags->m_index_enum = DF_Type::caste_raw_flags; + n_caste_flags->m_df_type = DF_Type::caste_raw_flags; + n_caste_flags->m_size = 173; + n_caste_flags->m_rdf_type = RDF_Type::DFFlagArray; + n_caste_flags->m_node_type = NodeType::Bitfield; + n_caste_flags->m_address = base + offset; + n_caste_flags->m_defined_in = "df.creature-raws.xml"; + n_caste_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_caste_flags); + + field_name = "unk_v4206_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); + auto n_unk_v4206_1 = new NodeSimple; + n_unk_v4206_1->m_field_name = field_name; + n_unk_v4206_1->m_df_type = DF_Type::int32_t; + n_unk_v4206_1->m_rdf_type = RDF_Type::int32_t; + n_unk_v4206_1->m_node_type = NodeType::Simple; + n_unk_v4206_1->m_address = base + offset; + n_unk_v4206_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v4206_1); + + field_name = "unk_874_cntr"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); + auto n_unk_874_cntr = new NodeSimple; + n_unk_874_cntr->m_field_name = field_name; + n_unk_874_cntr->m_df_type = DF_Type::int32_t; + n_unk_874_cntr->m_rdf_type = RDF_Type::int32_t; + n_unk_874_cntr->m_node_type = NodeType::Simple; + n_unk_874_cntr->m_address = base + offset; + n_unk_874_cntr->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_874_cntr); + + field_name = "body_part_878"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); + auto n_body_part_878 = new NodeVector; + n_body_part_878->m_field_name = field_name; + n_body_part_878->m_df_type = DF_Type::uint8_t; + n_body_part_878->m_rdf_type = RDF_Type::Vector; + n_body_part_878->m_node_type = NodeType::Vector; + n_body_part_878->m_addornements = "v"; + n_body_part_878->m_address = base + offset; + n_body_part_878->m_parent = p_node_parent; + n_body_part_878->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_body_part_878); + + field_name = "body_part_888"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); + auto n_body_part_888 = new NodeVector; + n_body_part_888->m_field_name = field_name; + n_body_part_888->m_df_type = DF_Type::uint8_t; + n_body_part_888->m_rdf_type = RDF_Type::Vector; + n_body_part_888->m_node_type = NodeType::Vector; + n_body_part_888->m_addornements = "v"; + n_body_part_888->m_address = base + offset; + n_body_part_888->m_parent = p_node_parent; + n_body_part_888->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_body_part_888); + + field_name = "body_part_relsize"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); + auto n_body_part_relsize = new NodeVector; + n_body_part_relsize->m_field_name = field_name; + n_body_part_relsize->m_df_type = DF_Type::int32_t; + n_body_part_relsize->m_rdf_type = RDF_Type::Vector; + n_body_part_relsize->m_node_type = NodeType::Vector; + n_body_part_relsize->m_addornements = "v"; + n_body_part_relsize->m_address = base + offset; + n_body_part_relsize->m_comment = "with modifiers"; + n_body_part_relsize->m_parent = p_node_parent; + n_body_part_relsize->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_body_part_relsize); + + field_name = "body_part_8a8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); + auto n_body_part_8a8 = new NodeVector; + n_body_part_8a8->m_field_name = field_name; + n_body_part_8a8->m_df_type = DF_Type::uint8_t; + n_body_part_8a8->m_rdf_type = RDF_Type::Vector; + n_body_part_8a8->m_node_type = NodeType::Vector; + n_body_part_8a8->m_addornements = "v"; + n_body_part_8a8->m_address = base + offset; + n_body_part_8a8->m_parent = p_node_parent; + n_body_part_8a8->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_body_part_8a8); + + field_name = "body_part_base_ins"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); + auto n_body_part_base_ins = new NodeVector; + n_body_part_base_ins->m_field_name = field_name; + n_body_part_base_ins->m_df_type = DF_Type::uint16_t; + n_body_part_base_ins->m_rdf_type = RDF_Type::Vector; + n_body_part_base_ins->m_node_type = NodeType::Vector; + n_body_part_base_ins->m_addornements = "v"; + n_body_part_base_ins->m_address = base + offset; + n_body_part_base_ins->m_parent = p_node_parent; + n_body_part_base_ins->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_body_part_base_ins); + + field_name = "body_part_clothing_ins"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); + auto n_body_part_clothing_ins = new NodeVector; + n_body_part_clothing_ins->m_field_name = field_name; + n_body_part_clothing_ins->m_df_type = DF_Type::uint16_t; + n_body_part_clothing_ins->m_rdf_type = RDF_Type::Vector; + n_body_part_clothing_ins->m_node_type = NodeType::Vector; + n_body_part_clothing_ins->m_addornements = "v"; + n_body_part_clothing_ins->m_address = base + offset; + n_body_part_clothing_ins->m_parent = p_node_parent; + n_body_part_clothing_ins->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_body_part_clothing_ins); + + field_name = "body_part_8d8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); + auto n_body_part_8d8 = new NodeVector; + n_body_part_8d8->m_field_name = field_name; + n_body_part_8d8->m_df_type = DF_Type::uint16_t; + n_body_part_8d8->m_rdf_type = RDF_Type::Vector; + n_body_part_8d8->m_node_type = NodeType::Vector; + n_body_part_8d8->m_addornements = "v"; + n_body_part_8d8->m_address = base + offset; + n_body_part_8d8->m_parent = p_node_parent; + n_body_part_8d8->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_body_part_8d8); + + field_name = "unk_8e8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); + auto n_unk_8e8 = new NodeVector; + n_unk_8e8->m_field_name = field_name; + n_unk_8e8->m_df_type = DF_Type::Void; + n_unk_8e8->m_rdf_type = RDF_Type::Vector; + n_unk_8e8->m_node_type = NodeType::Vector; + n_unk_8e8->m_addornements = "v"; + n_unk_8e8->m_address = base + offset; + n_unk_8e8->m_parent = p_node_parent; + n_unk_8e8->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_8e8); + + field_name = "unk_8f8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit__T_enemy, field_name)); + auto n_unk_8f8 = new NodeVector; + n_unk_8f8->m_field_name = field_name; + n_unk_8f8->m_df_type = DF_Type::uint16_t; + n_unk_8f8->m_rdf_type = RDF_Type::Vector; + n_unk_8f8->m_node_type = NodeType::Vector; + n_unk_8f8->m_addornements = "v"; + n_unk_8f8->m_address = base + offset; + n_unk_8f8->m_parent = p_node_parent; + n_unk_8f8->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_8f8); + +} +void node_from_unit(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "name"; + auto n_name = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::language_name; + n_name->m_rdf_type = RDF_Type::Struct; + n_name->m_node_type = NodeType::Compound; + n_name->m_address = base + offset; + n_name->m_defined_in = "df.language.xml"; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "custom_profession"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_custom_profession = new NodeSimple; + n_custom_profession->m_field_name = field_name; + n_custom_profession->m_df_type = DF_Type::Stl_string; + n_custom_profession->m_rdf_type = RDF_Type::Stl_string; + n_custom_profession->m_node_type = NodeType::Simple; + n_custom_profession->m_address = base + offset; + n_custom_profession->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_custom_profession); + + field_name = "profession"; + auto n_profession = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + n_profession->m_field_name = field_name; + n_profession->m_df_type = DF_Type::profession; + n_profession->m_rdf_type = RDF_Type::Enum; + n_profession->m_node_type = NodeType::Enum; + n_profession->m_base_type = DF_Type::int16_t; + n_profession->m_enum_type = "profession"; + n_profession->m_address = base + offset; + n_profession->m_defined_in = "df.skills.xml"; + n_profession->m_first_value = -1; + n_profession->m_last_value = 134; + n_profession->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_profession); + + field_name = "profession2"; + auto n_profession2 = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + n_profession2->m_field_name = field_name; + n_profession2->m_df_type = DF_Type::profession; + n_profession2->m_rdf_type = RDF_Type::Enum; + n_profession2->m_node_type = NodeType::Enum; + n_profession2->m_base_type = DF_Type::int16_t; + n_profession2->m_enum_type = "profession"; + n_profession2->m_address = base + offset; + n_profession2->m_defined_in = "df.skills.xml"; + n_profession2->m_first_value = -1; + n_profession2->m_last_value = 134; + n_profession2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_profession2); + + field_name = "race"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_race = new NodeSimple; + n_race->m_field_name = field_name; + n_race->m_df_type = DF_Type::int32_t; + n_race->m_rdf_type = RDF_Type::int32_t; + n_race->m_node_type = NodeType::Simple; + n_race->m_address = base + offset; + n_race->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_race); + + field_name = "pos"; + auto n_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + n_pos->m_field_name = field_name; + n_pos->m_df_type = DF_Type::coord; + n_pos->m_rdf_type = RDF_Type::Struct; + n_pos->m_node_type = NodeType::Compound; + n_pos->m_address = base + offset; + n_pos->m_defined_in = "df.map.xml"; + n_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pos); + + field_name = "idle_area"; + auto n_idle_area = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + n_idle_area->m_field_name = field_name; + n_idle_area->m_df_type = DF_Type::coord; + n_idle_area->m_rdf_type = RDF_Type::Struct; + n_idle_area->m_node_type = NodeType::Compound; + n_idle_area->m_address = base + offset; + n_idle_area->m_defined_in = "df.map.xml"; + n_idle_area->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_idle_area); + + field_name = "idle_area_threshold"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_idle_area_threshold = new NodeSimple; + n_idle_area_threshold->m_field_name = field_name; + n_idle_area_threshold->m_df_type = DF_Type::int32_t; + n_idle_area_threshold->m_rdf_type = RDF_Type::int32_t; + n_idle_area_threshold->m_node_type = NodeType::Simple; + n_idle_area_threshold->m_address = base + offset; + n_idle_area_threshold->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_idle_area_threshold); + + field_name = "idle_area_type"; + auto n_idle_area_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + n_idle_area_type->m_field_name = field_name; + n_idle_area_type->m_df_type = DF_Type::unit_station_type; + n_idle_area_type->m_rdf_type = RDF_Type::Enum; + n_idle_area_type->m_node_type = NodeType::Enum; + n_idle_area_type->m_base_type = DF_Type::int16_t; + n_idle_area_type->m_enum_type = "unit_station_type"; + n_idle_area_type->m_address = base + offset; + n_idle_area_type->m_defined_in = "df.pathfinding.xml"; + n_idle_area_type->m_first_value = -1; + n_idle_area_type->m_last_value = 41; + n_idle_area_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_idle_area_type); + + field_name = "follow_distance"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_follow_distance = new NodeSimple; + n_follow_distance->m_field_name = field_name; + n_follow_distance->m_df_type = DF_Type::int32_t; + n_follow_distance->m_rdf_type = RDF_Type::int32_t; + n_follow_distance->m_node_type = NodeType::Simple; + n_follow_distance->m_address = base + offset; + n_follow_distance->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_follow_distance); + + field_name = "path"; + auto n_path = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + n_path->m_field_name = field_name; + n_path->m_df_type = DF_Type::unit__T_path; + n_path->m_rdf_type = RDF_Type::Compound; + n_path->m_node_type = NodeType::Compound; + n_path->m_address = base + offset; + n_path->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_path); + + field_name = "flags1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_flags1 = new NodeBitfield; + n_flags1->m_field_name = field_name; + n_flags1->m_df_type = DF_Type::unit_flags1; + n_flags1->m_rdf_type = RDF_Type::Bitfield; + n_flags1->m_node_type = NodeType::Bitfield; + n_flags1->m_address = base + offset; + n_flags1->m_defined_in = "df.units.xml"; + n_flags1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags1); + + field_name = "flags2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_flags2 = new NodeBitfield; + n_flags2->m_field_name = field_name; + n_flags2->m_df_type = DF_Type::unit_flags2; + n_flags2->m_rdf_type = RDF_Type::Bitfield; + n_flags2->m_node_type = NodeType::Bitfield; + n_flags2->m_address = base + offset; + n_flags2->m_defined_in = "df.units.xml"; + n_flags2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags2); + + field_name = "flags3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_flags3 = new NodeBitfield; + n_flags3->m_field_name = field_name; + n_flags3->m_df_type = DF_Type::unit_flags3; + n_flags3->m_rdf_type = RDF_Type::Bitfield; + n_flags3->m_node_type = NodeType::Bitfield; + n_flags3->m_address = base + offset; + n_flags3->m_defined_in = "df.units.xml"; + n_flags3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags3); + + field_name = "flags4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_flags4 = new NodeBitfield; + n_flags4->m_field_name = field_name; + n_flags4->m_df_type = DF_Type::unit_flags4; + n_flags4->m_rdf_type = RDF_Type::Bitfield; + n_flags4->m_node_type = NodeType::Bitfield; + n_flags4->m_address = base + offset; + n_flags4->m_defined_in = "df.units.xml"; + n_flags4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags4); + + field_name = "meeting"; + auto n_meeting = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + n_meeting->m_field_name = field_name; + n_meeting->m_df_type = DF_Type::unit__T_meeting; + n_meeting->m_rdf_type = RDF_Type::Compound; + n_meeting->m_node_type = NodeType::Compound; + n_meeting->m_address = base + offset; + n_meeting->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_meeting); + + field_name = "caste"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_caste = new NodeSimple; + n_caste->m_field_name = field_name; + n_caste->m_df_type = DF_Type::int16_t; + n_caste->m_rdf_type = RDF_Type::int16_t; + n_caste->m_node_type = NodeType::Simple; + n_caste->m_address = base + offset; + n_caste->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_caste); + + field_name = "sex"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_sex = new NodeSimple; + n_sex->m_field_name = field_name; + n_sex->m_df_type = DF_Type::int8_t; + n_sex->m_rdf_type = RDF_Type::int8_t; + n_sex->m_node_type = NodeType::Simple; + n_sex->m_address = base + offset; + n_sex->m_comment = "-1 n/a, 0 female, 1 male"; + n_sex->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sex); + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "unk_100"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_unk_100 = new NodeSimple; + n_unk_100->m_field_name = field_name; + n_unk_100->m_df_type = DF_Type::int16_t; + n_unk_100->m_rdf_type = RDF_Type::int16_t; + n_unk_100->m_node_type = NodeType::Simple; + n_unk_100->m_address = base + offset; + n_unk_100->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_100); + + field_name = "training_level"; + auto n_training_level = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + n_training_level->m_field_name = field_name; + n_training_level->m_df_type = DF_Type::animal_training_level; + n_training_level->m_rdf_type = RDF_Type::Enum; + n_training_level->m_node_type = NodeType::Enum; + n_training_level->m_base_type = DF_Type::int32_t; + n_training_level->m_enum_type = "animal_training_level"; + n_training_level->m_address = base + offset; + n_training_level->m_defined_in = "df.units.xml"; + n_training_level->m_first_value = 0; + n_training_level->m_last_value = 9; + n_training_level->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_training_level); + + field_name = "schedule_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_schedule_id = new NodeSimple; + n_schedule_id->m_field_name = field_name; + n_schedule_id->m_df_type = DF_Type::int32_t; + n_schedule_id->m_rdf_type = RDF_Type::int32_t; + n_schedule_id->m_node_type = NodeType::Simple; + n_schedule_id->m_address = base + offset; + n_schedule_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_schedule_id); + + field_name = "civ_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_civ_id = new NodeSimple; + n_civ_id->m_field_name = field_name; + n_civ_id->m_df_type = DF_Type::int32_t; + n_civ_id->m_rdf_type = RDF_Type::int32_t; + n_civ_id->m_node_type = NodeType::Simple; + n_civ_id->m_address = base + offset; + n_civ_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_civ_id); + + field_name = "population_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_population_id = new NodeSimple; + n_population_id->m_field_name = field_name; + n_population_id->m_df_type = DF_Type::int32_t; + n_population_id->m_rdf_type = RDF_Type::int32_t; + n_population_id->m_node_type = NodeType::Simple; + n_population_id->m_address = base + offset; + n_population_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_population_id); + + field_name = "unk_c0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_unk_c0 = new NodeSimple; + n_unk_c0->m_field_name = field_name; + n_unk_c0->m_df_type = DF_Type::int32_t; + n_unk_c0->m_rdf_type = RDF_Type::int32_t; + n_unk_c0->m_node_type = NodeType::Simple; + n_unk_c0->m_address = base + offset; + n_unk_c0->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_c0); + + field_name = "cultural_identity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_cultural_identity = new NodeSimple; + n_cultural_identity->m_field_name = field_name; + n_cultural_identity->m_df_type = DF_Type::int32_t; + n_cultural_identity->m_rdf_type = RDF_Type::int32_t; + n_cultural_identity->m_node_type = NodeType::Simple; + n_cultural_identity->m_address = base + offset; + n_cultural_identity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cultural_identity); + + field_name = "invasion_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_invasion_id = new NodeSimple; + n_invasion_id->m_field_name = field_name; + n_invasion_id->m_df_type = DF_Type::int32_t; + n_invasion_id->m_rdf_type = RDF_Type::int32_t; + n_invasion_id->m_node_type = NodeType::Simple; + n_invasion_id->m_address = base + offset; + n_invasion_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_invasion_id); + + field_name = "patrol_route"; + auto n_patrol_route = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + n_patrol_route->m_field_name = field_name; + n_patrol_route->m_df_type = DF_Type::coord_path; + n_patrol_route->m_rdf_type = RDF_Type::Struct; + n_patrol_route->m_node_type = NodeType::Compound; + n_patrol_route->m_address = base + offset; + n_patrol_route->m_defined_in = "df.map.xml"; + n_patrol_route->m_comment = "used by necromancers for corpse locations, siegers etc"; + n_patrol_route->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_patrol_route); + + field_name = "patrol_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_patrol_index = new NodeSimple; + n_patrol_index->m_field_name = field_name; + n_patrol_index->m_df_type = DF_Type::int32_t; + n_patrol_index->m_rdf_type = RDF_Type::int32_t; + n_patrol_index->m_node_type = NodeType::Simple; + n_patrol_index->m_address = base + offset; + n_patrol_index->m_comment = "from 23a"; + n_patrol_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_patrol_index); + + field_name = "specific_refs"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_specific_refs = new NodeVector; + n_specific_refs->m_field_name = field_name; + n_specific_refs->m_df_type = DF_Type::specific_ref; + n_specific_refs->m_rdf_type = RDF_Type::Vector; + n_specific_refs->m_node_type = NodeType::Vector; + n_specific_refs->m_defined_in = "df.refs.xml"; + n_specific_refs->m_addornements = "v*"; + n_specific_refs->m_address = base + offset; + n_specific_refs->m_parent = p_node_parent; + n_specific_refs->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_specific_refs); + + field_name = "general_refs"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_general_refs = new NodeVector; + n_general_refs->m_field_name = field_name; + n_general_refs->m_df_type = DF_Type::general_ref; + n_general_refs->m_rdf_type = RDF_Type::Vector; + n_general_refs->m_node_type = NodeType::Vector; + n_general_refs->m_defined_in = "df.refs.xml"; + n_general_refs->m_addornements = "v*"; + n_general_refs->m_address = base + offset; + n_general_refs->m_parent = p_node_parent; + n_general_refs->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_general_refs); + + field_name = "military"; + auto n_military = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + n_military->m_field_name = field_name; + n_military->m_df_type = DF_Type::unit__T_military; + n_military->m_rdf_type = RDF_Type::Compound; + n_military->m_node_type = NodeType::Compound; + n_military->m_address = base + offset; + n_military->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_military); + + field_name = "social_activities"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_social_activities = new NodeVector; + n_social_activities->m_field_name = field_name; + n_social_activities->m_df_type = DF_Type::int32_t; + n_social_activities->m_rdf_type = RDF_Type::Vector; + n_social_activities->m_node_type = NodeType::Vector; + n_social_activities->m_addornements = "v"; + n_social_activities->m_address = base + offset; + n_social_activities->m_parent = p_node_parent; + n_social_activities->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_social_activities); + + field_name = "conversations"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_conversations = new NodeVector; + n_conversations->m_field_name = field_name; + n_conversations->m_df_type = DF_Type::int32_t; + n_conversations->m_rdf_type = RDF_Type::Vector; + n_conversations->m_node_type = NodeType::Vector; + n_conversations->m_addornements = "v"; + n_conversations->m_address = base + offset; + n_conversations->m_parent = p_node_parent; + n_conversations->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_conversations); + + field_name = "activities"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_activities = new NodeVector; + n_activities->m_field_name = field_name; + n_activities->m_df_type = DF_Type::int32_t; + n_activities->m_rdf_type = RDF_Type::Vector; + n_activities->m_node_type = NodeType::Vector; + n_activities->m_addornements = "v"; + n_activities->m_address = base + offset; + n_activities->m_parent = p_node_parent; + n_activities->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_activities); + + field_name = "unk_1e8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_unk_1e8 = new NodeVector; + n_unk_1e8->m_field_name = field_name; + n_unk_1e8->m_df_type = DF_Type::int32_t; + n_unk_1e8->m_rdf_type = RDF_Type::Vector; + n_unk_1e8->m_node_type = NodeType::Vector; + n_unk_1e8->m_addornements = "v"; + n_unk_1e8->m_address = base + offset; + n_unk_1e8->m_parent = p_node_parent; + n_unk_1e8->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_1e8); + + field_name = "animal"; + auto n_animal = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + n_animal->m_field_name = field_name; + n_animal->m_df_type = DF_Type::unit__T_animal; + n_animal->m_rdf_type = RDF_Type::Compound; + n_animal->m_node_type = NodeType::Compound; + n_animal->m_address = base + offset; + n_animal->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_animal); + + field_name = "opponent"; + auto n_opponent = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + n_opponent->m_field_name = field_name; + n_opponent->m_df_type = DF_Type::unit__T_opponent; + n_opponent->m_rdf_type = RDF_Type::Compound; + n_opponent->m_node_type = NodeType::Compound; + n_opponent->m_address = base + offset; + n_opponent->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_opponent); + + field_name = "mood"; + auto n_mood = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + n_mood->m_field_name = field_name; + n_mood->m_df_type = DF_Type::mood_type; + n_mood->m_rdf_type = RDF_Type::Enum; + n_mood->m_node_type = NodeType::Enum; + n_mood->m_base_type = DF_Type::int16_t; + n_mood->m_enum_type = "mood_type"; + n_mood->m_address = base + offset; + n_mood->m_defined_in = "df.units.xml"; + n_mood->m_first_value = -1; + n_mood->m_last_value = 9; + n_mood->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mood); + + field_name = "unk_18e"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_unk_18e = new NodeSimple; + n_unk_18e->m_field_name = field_name; + n_unk_18e->m_df_type = DF_Type::int16_t; + n_unk_18e->m_rdf_type = RDF_Type::int16_t; + n_unk_18e->m_node_type = NodeType::Simple; + n_unk_18e->m_address = base + offset; + n_unk_18e->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_18e); + + field_name = "pregnancy_timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_pregnancy_timer = new NodeSimple; + n_pregnancy_timer->m_field_name = field_name; + n_pregnancy_timer->m_df_type = DF_Type::uint32_t; + n_pregnancy_timer->m_rdf_type = RDF_Type::uint32_t; + n_pregnancy_timer->m_node_type = NodeType::Simple; + n_pregnancy_timer->m_address = base + offset; + n_pregnancy_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pregnancy_timer); + + field_name = "pregnancy_genes"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_pregnancy_genes = new NodePointer; + n_pregnancy_genes->m_field_name = field_name; + n_pregnancy_genes->m_df_type = get_real_subtype(base+offset, DF_Type::unit_genes); + n_pregnancy_genes->m_rdf_type = RDF_Type::Pointer; + n_pregnancy_genes->m_node_type = NodeType::Pointer; + n_pregnancy_genes->m_addornements = "*"; + n_pregnancy_genes->m_address = base + offset; + n_pregnancy_genes->m_comment = "genes from mate"; + n_pregnancy_genes->m_parent = p_node_parent; + n_pregnancy_genes->m_defined_in = "df.units.xml"; + n_pregnancy_genes->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_pregnancy_genes); + + field_name = "pregnancy_caste"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_pregnancy_caste = new NodeSimple; + n_pregnancy_caste->m_field_name = field_name; + n_pregnancy_caste->m_df_type = DF_Type::int16_t; + n_pregnancy_caste->m_rdf_type = RDF_Type::int16_t; + n_pregnancy_caste->m_node_type = NodeType::Simple; + n_pregnancy_caste->m_address = base + offset; + n_pregnancy_caste->m_comment = "caste of mate"; + n_pregnancy_caste->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pregnancy_caste); + + field_name = "pregnancy_spouse"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_pregnancy_spouse = new NodeSimple; + n_pregnancy_spouse->m_field_name = field_name; + n_pregnancy_spouse->m_df_type = DF_Type::int32_t; + n_pregnancy_spouse->m_rdf_type = RDF_Type::int32_t; + n_pregnancy_spouse->m_node_type = NodeType::Simple; + n_pregnancy_spouse->m_address = base + offset; + n_pregnancy_spouse->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pregnancy_spouse); + + field_name = "mood_copy"; + auto n_mood_copy = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + n_mood_copy->m_field_name = field_name; + n_mood_copy->m_df_type = DF_Type::mood_type; + n_mood_copy->m_rdf_type = RDF_Type::Enum; + n_mood_copy->m_node_type = NodeType::Enum; + n_mood_copy->m_base_type = DF_Type::int16_t; + n_mood_copy->m_enum_type = "mood_type"; + n_mood_copy->m_address = base + offset; + n_mood_copy->m_comment = "copied from mood type upon entering strange mood"; + n_mood_copy->m_defined_in = "df.units.xml"; + n_mood_copy->m_first_value = -1; + n_mood_copy->m_last_value = 9; + n_mood_copy->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mood_copy); + + field_name = "ghost_info"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_ghost_info = new NodePointer; + n_ghost_info->m_field_name = field_name; + n_ghost_info->m_df_type = get_real_subtype(base+offset, DF_Type::unit_ghost_info); + n_ghost_info->m_rdf_type = RDF_Type::Pointer; + n_ghost_info->m_node_type = NodeType::Pointer; + n_ghost_info->m_addornements = "*"; + n_ghost_info->m_address = base + offset; + n_ghost_info->m_parent = p_node_parent; + n_ghost_info->m_defined_in = "df.units.xml"; + n_ghost_info->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_ghost_info); + + field_name = "unk_9"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_unk_9 = new NodeSimple; + n_unk_9->m_field_name = field_name; + n_unk_9->m_df_type = DF_Type::int32_t; + n_unk_9->m_rdf_type = RDF_Type::int32_t; + n_unk_9->m_node_type = NodeType::Simple; + n_unk_9->m_address = base + offset; + n_unk_9->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_9); + + field_name = "birth_year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_birth_year = new NodeSimple; + n_birth_year->m_field_name = field_name; + n_birth_year->m_df_type = DF_Type::int32_t; + n_birth_year->m_rdf_type = RDF_Type::int32_t; + n_birth_year->m_node_type = NodeType::Simple; + n_birth_year->m_address = base + offset; + n_birth_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_birth_year); + + field_name = "birth_time"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_birth_time = new NodeSimple; + n_birth_time->m_field_name = field_name; + n_birth_time->m_df_type = DF_Type::int32_t; + n_birth_time->m_rdf_type = RDF_Type::int32_t; + n_birth_time->m_node_type = NodeType::Simple; + n_birth_time->m_address = base + offset; + n_birth_time->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_birth_time); + + field_name = "curse_year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_curse_year = new NodeSimple; + n_curse_year->m_field_name = field_name; + n_curse_year->m_df_type = DF_Type::int32_t; + n_curse_year->m_rdf_type = RDF_Type::int32_t; + n_curse_year->m_node_type = NodeType::Simple; + n_curse_year->m_address = base + offset; + n_curse_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_curse_year); + + field_name = "curse_time"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_curse_time = new NodeSimple; + n_curse_time->m_field_name = field_name; + n_curse_time->m_df_type = DF_Type::int32_t; + n_curse_time->m_rdf_type = RDF_Type::int32_t; + n_curse_time->m_node_type = NodeType::Simple; + n_curse_time->m_address = base + offset; + n_curse_time->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_curse_time); + + field_name = "birth_year_bias"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_birth_year_bias = new NodeSimple; + n_birth_year_bias->m_field_name = field_name; + n_birth_year_bias->m_df_type = DF_Type::int32_t; + n_birth_year_bias->m_rdf_type = RDF_Type::int32_t; + n_birth_year_bias->m_node_type = NodeType::Simple; + n_birth_year_bias->m_address = base + offset; + n_birth_year_bias->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_birth_year_bias); + + field_name = "birth_time_bias"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_birth_time_bias = new NodeSimple; + n_birth_time_bias->m_field_name = field_name; + n_birth_time_bias->m_df_type = DF_Type::int32_t; + n_birth_time_bias->m_rdf_type = RDF_Type::int32_t; + n_birth_time_bias->m_node_type = NodeType::Simple; + n_birth_time_bias->m_address = base + offset; + n_birth_time_bias->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_birth_time_bias); + + field_name = "old_year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_old_year = new NodeSimple; + n_old_year->m_field_name = field_name; + n_old_year->m_df_type = DF_Type::int32_t; + n_old_year->m_rdf_type = RDF_Type::int32_t; + n_old_year->m_node_type = NodeType::Simple; + n_old_year->m_address = base + offset; + n_old_year->m_comment = "could there be a death of old age time??"; + n_old_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_old_year); + + field_name = "old_time"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_old_time = new NodeSimple; + n_old_time->m_field_name = field_name; + n_old_time->m_df_type = DF_Type::int32_t; + n_old_time->m_rdf_type = RDF_Type::int32_t; + n_old_time->m_node_type = NodeType::Simple; + n_old_time->m_address = base + offset; + n_old_time->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_old_time); + + field_name = "following"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_following = new NodePointer; + n_following->m_field_name = field_name; + n_following->m_df_type = get_real_subtype(base+offset, DF_Type::unit); + n_following->m_rdf_type = RDF_Type::Pointer; + n_following->m_node_type = NodeType::Pointer; + n_following->m_addornements = "*"; + n_following->m_address = base + offset; + n_following->m_parent = p_node_parent; + n_following->m_defined_in = "df.units.xml"; + n_following->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_following); + + field_name = "unk_238"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_unk_238 = new NodeSimple; + n_unk_238->m_field_name = field_name; + n_unk_238->m_df_type = DF_Type::uint16_t; + n_unk_238->m_rdf_type = RDF_Type::uint16_t; + n_unk_238->m_node_type = NodeType::Simple; + n_unk_238->m_address = base + offset; + n_unk_238->m_comment = "invalid unless following"; + n_unk_238->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_238); + + field_name = "relationship_ids"; + auto n_relationship_ids = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + n_relationship_ids->m_field_name = field_name; + n_relationship_ids->m_df_type = DF_Type::int32_t; + n_relationship_ids->m_rdf_type = RDF_Type::Array; + n_relationship_ids->m_node_type = NodeType::Array; + n_relationship_ids->m_index_enum = DF_Type::unit_relationship_type; + n_relationship_ids->m_addornements = "[10"; + n_relationship_ids->m_array_size = 10; + n_relationship_ids->m_address = base + offset; + n_relationship_ids->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_relationship_ids); + + field_name = "mount_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_mount_type = new NodeSimple; + n_mount_type->m_field_name = field_name; + n_mount_type->m_df_type = DF_Type::int16_t; + n_mount_type->m_rdf_type = RDF_Type::int16_t; + n_mount_type->m_node_type = NodeType::Simple; + n_mount_type->m_address = base + offset; + n_mount_type->m_comment = "0 = riding, 1 = being carried, 2/3 = wagon horses, 4 = wagon merchant"; + n_mount_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mount_type); + + field_name = "last_hit"; + auto n_last_hit = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + n_last_hit->m_field_name = field_name; + n_last_hit->m_df_type = DF_Type::history_hit_item; + n_last_hit->m_rdf_type = RDF_Type::Struct; + n_last_hit->m_node_type = NodeType::Compound; + n_last_hit->m_address = base + offset; + n_last_hit->m_defined_in = "df.history.xml"; + n_last_hit->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_last_hit); + + field_name = "riding_item_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_riding_item_id = new NodeSimple; + n_riding_item_id->m_field_name = field_name; + n_riding_item_id->m_df_type = DF_Type::int32_t; + n_riding_item_id->m_rdf_type = RDF_Type::int32_t; + n_riding_item_id->m_node_type = NodeType::Simple; + n_riding_item_id->m_address = base + offset; + n_riding_item_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_riding_item_id); + + field_name = "inventory"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_inventory = new NodeVector; + n_inventory->m_field_name = field_name; + n_inventory->m_df_type = DF_Type::unit_inventory_item; + n_inventory->m_rdf_type = RDF_Type::Vector; + n_inventory->m_node_type = NodeType::Vector; + n_inventory->m_defined_in = "df.units.xml"; + n_inventory->m_addornements = "v*"; + n_inventory->m_address = base + offset; + n_inventory->m_parent = p_node_parent; + n_inventory->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_inventory); + + field_name = "owned_items"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_owned_items = new NodeVector; + n_owned_items->m_field_name = field_name; + n_owned_items->m_df_type = DF_Type::int32_t; + n_owned_items->m_rdf_type = RDF_Type::Vector; + n_owned_items->m_node_type = NodeType::Vector; + n_owned_items->m_addornements = "v"; + n_owned_items->m_address = base + offset; + n_owned_items->m_parent = p_node_parent; + n_owned_items->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_owned_items); + + field_name = "traded_items"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_traded_items = new NodeVector; + n_traded_items->m_field_name = field_name; + n_traded_items->m_df_type = DF_Type::int32_t; + n_traded_items->m_rdf_type = RDF_Type::Vector; + n_traded_items->m_node_type = NodeType::Vector; + n_traded_items->m_addornements = "v"; + n_traded_items->m_address = base + offset; + n_traded_items->m_comment = "items brought to trade depot"; + n_traded_items->m_parent = p_node_parent; + n_traded_items->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_traded_items); + + field_name = "owned_buildings"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_owned_buildings = new NodeVector; + n_owned_buildings->m_field_name = field_name; + n_owned_buildings->m_df_type = DF_Type::building; + n_owned_buildings->m_rdf_type = RDF_Type::Vector; + n_owned_buildings->m_node_type = NodeType::Vector; + n_owned_buildings->m_defined_in = "df.buildings.xml"; + n_owned_buildings->m_addornements = "v*"; + n_owned_buildings->m_address = base + offset; + n_owned_buildings->m_parent = p_node_parent; + n_owned_buildings->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_owned_buildings); + + field_name = "corpse_parts"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_corpse_parts = new NodeVector; + n_corpse_parts->m_field_name = field_name; + n_corpse_parts->m_df_type = DF_Type::int32_t; + n_corpse_parts->m_rdf_type = RDF_Type::Vector; + n_corpse_parts->m_node_type = NodeType::Vector; + n_corpse_parts->m_addornements = "v"; + n_corpse_parts->m_address = base + offset; + n_corpse_parts->m_comment = "entries remain even when items are destroyed"; + n_corpse_parts->m_parent = p_node_parent; + n_corpse_parts->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_corpse_parts); + + field_name = "job"; + auto n_job = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + n_job->m_field_name = field_name; + n_job->m_df_type = DF_Type::unit__T_job; + n_job->m_rdf_type = RDF_Type::Compound; + n_job->m_node_type = NodeType::Compound; + n_job->m_address = base + offset; + n_job->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_job); + + field_name = "body"; + auto n_body = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + n_body->m_field_name = field_name; + n_body->m_df_type = DF_Type::unit__T_body; + n_body->m_rdf_type = RDF_Type::Compound; + n_body->m_node_type = NodeType::Compound; + n_body->m_address = base + offset; + n_body->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_body); + + field_name = "appearance"; + auto n_appearance = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + n_appearance->m_field_name = field_name; + n_appearance->m_df_type = DF_Type::unit__T_appearance; + n_appearance->m_rdf_type = RDF_Type::Compound; + n_appearance->m_node_type = NodeType::Compound; + n_appearance->m_address = base + offset; + n_appearance->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_appearance); + + field_name = "actions"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_actions = new NodeVector; + n_actions->m_field_name = field_name; + n_actions->m_df_type = DF_Type::unit_action; + n_actions->m_rdf_type = RDF_Type::Vector; + n_actions->m_node_type = NodeType::Vector; + n_actions->m_defined_in = "df.units.xml"; + n_actions->m_addornements = "v*"; + n_actions->m_address = base + offset; + n_actions->m_parent = p_node_parent; + n_actions->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_actions); + + field_name = "next_action_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_next_action_id = new NodeSimple; + n_next_action_id->m_field_name = field_name; + n_next_action_id->m_df_type = DF_Type::int32_t; + n_next_action_id->m_rdf_type = RDF_Type::int32_t; + n_next_action_id->m_node_type = NodeType::Simple; + n_next_action_id->m_address = base + offset; + n_next_action_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_next_action_id); + + field_name = "counters"; + auto n_counters = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + n_counters->m_field_name = field_name; + n_counters->m_df_type = DF_Type::unit__T_counters; + n_counters->m_rdf_type = RDF_Type::Compound; + n_counters->m_node_type = NodeType::Compound; + n_counters->m_address = base + offset; + n_counters->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_counters); + + field_name = "curse"; + auto n_curse = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + n_curse->m_field_name = field_name; + n_curse->m_df_type = DF_Type::unit__T_curse; + n_curse->m_rdf_type = RDF_Type::Compound; + n_curse->m_node_type = NodeType::Compound; + n_curse->m_address = base + offset; + n_curse->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_curse); + + field_name = "counters2"; + auto n_counters2 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + n_counters2->m_field_name = field_name; + n_counters2->m_df_type = DF_Type::unit__T_counters2; + n_counters2->m_rdf_type = RDF_Type::Compound; + n_counters2->m_node_type = NodeType::Compound; + n_counters2->m_address = base + offset; + n_counters2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_counters2); + + field_name = "status"; + auto n_status = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + n_status->m_field_name = field_name; + n_status->m_df_type = DF_Type::unit__T_status; + n_status->m_rdf_type = RDF_Type::Compound; + n_status->m_node_type = NodeType::Compound; + n_status->m_address = base + offset; + n_status->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_status); + + field_name = "hist_figure_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_hist_figure_id = new NodeSimple; + n_hist_figure_id->m_field_name = field_name; + n_hist_figure_id->m_df_type = DF_Type::int32_t; + n_hist_figure_id->m_rdf_type = RDF_Type::int32_t; + n_hist_figure_id->m_node_type = NodeType::Simple; + n_hist_figure_id->m_address = base + offset; + n_hist_figure_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_hist_figure_id); + + field_name = "hist_figure_id2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_hist_figure_id2 = new NodeSimple; + n_hist_figure_id2->m_field_name = field_name; + n_hist_figure_id2->m_df_type = DF_Type::int32_t; + n_hist_figure_id2->m_rdf_type = RDF_Type::int32_t; + n_hist_figure_id2->m_node_type = NodeType::Simple; + n_hist_figure_id2->m_address = base + offset; + n_hist_figure_id2->m_comment = "used for ghost in AttackedByDead thought"; + n_hist_figure_id2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_hist_figure_id2); + + field_name = "status2"; + auto n_status2 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + n_status2->m_field_name = field_name; + n_status2->m_df_type = DF_Type::unit__T_status2; + n_status2->m_rdf_type = RDF_Type::Compound; + n_status2->m_node_type = NodeType::Compound; + n_status2->m_address = base + offset; + n_status2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_status2); + + field_name = "unknown7"; + auto n_unknown7 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + n_unknown7->m_field_name = field_name; + n_unknown7->m_df_type = DF_Type::unit__T_unknown7; + n_unknown7->m_rdf_type = RDF_Type::Compound; + n_unknown7->m_node_type = NodeType::Compound; + n_unknown7->m_address = base + offset; + n_unknown7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unknown7); + + field_name = "syndromes"; + auto n_syndromes = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + n_syndromes->m_field_name = field_name; + n_syndromes->m_df_type = DF_Type::unit__T_syndromes; + n_syndromes->m_rdf_type = RDF_Type::Compound; + n_syndromes->m_node_type = NodeType::Compound; + n_syndromes->m_address = base + offset; + n_syndromes->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_syndromes); + + field_name = "reports"; + auto n_reports = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + n_reports->m_field_name = field_name; + n_reports->m_df_type = DF_Type::unit__T_reports; + n_reports->m_rdf_type = RDF_Type::Compound; + n_reports->m_node_type = NodeType::Compound; + n_reports->m_address = base + offset; + n_reports->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_reports); + + field_name = "health"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_health = new NodePointer; + n_health->m_field_name = field_name; + n_health->m_df_type = get_real_subtype(base+offset, DF_Type::unit_health_info); + n_health->m_rdf_type = RDF_Type::Pointer; + n_health->m_node_type = NodeType::Pointer; + n_health->m_addornements = "*"; + n_health->m_address = base + offset; + n_health->m_parent = p_node_parent; + n_health->m_defined_in = "df.units.xml"; + n_health->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_health); + + field_name = "used_items"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_used_items = new NodeVector; + n_used_items->m_field_name = field_name; + n_used_items->m_df_type = DF_Type::unit_item_use; + n_used_items->m_rdf_type = RDF_Type::Vector; + n_used_items->m_node_type = NodeType::Vector; + n_used_items->m_defined_in = "df.units.xml"; + n_used_items->m_addornements = "v*"; + n_used_items->m_address = base + offset; + n_used_items->m_comment = "Contains worn clothes, armor, weapons, arrows fired by archers"; + n_used_items->m_parent = p_node_parent; + n_used_items->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_used_items); + + field_name = "enemy"; + auto n_enemy = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + n_enemy->m_field_name = field_name; + n_enemy->m_df_type = DF_Type::unit__T_enemy; + n_enemy->m_rdf_type = RDF_Type::Compound; + n_enemy->m_node_type = NodeType::Compound; + n_enemy->m_address = base + offset; + n_enemy->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_enemy); + + field_name = "healing_rate"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_healing_rate = new NodeVector; + n_healing_rate->m_field_name = field_name; + n_healing_rate->m_df_type = DF_Type::int32_t; + n_healing_rate->m_rdf_type = RDF_Type::Vector; + n_healing_rate->m_node_type = NodeType::Vector; + n_healing_rate->m_addornements = "v"; + n_healing_rate->m_address = base + offset; + n_healing_rate->m_parent = p_node_parent; + n_healing_rate->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_healing_rate); + + field_name = "effective_rate"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_effective_rate = new NodeSimple; + n_effective_rate->m_field_name = field_name; + n_effective_rate->m_df_type = DF_Type::int32_t; + n_effective_rate->m_rdf_type = RDF_Type::int32_t; + n_effective_rate->m_node_type = NodeType::Simple; + n_effective_rate->m_address = base + offset; + n_effective_rate->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_effective_rate); + + field_name = "tendons_heal"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_tendons_heal = new NodeSimple; + n_tendons_heal->m_field_name = field_name; + n_tendons_heal->m_df_type = DF_Type::int32_t; + n_tendons_heal->m_rdf_type = RDF_Type::int32_t; + n_tendons_heal->m_node_type = NodeType::Simple; + n_tendons_heal->m_address = base + offset; + n_tendons_heal->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tendons_heal); + + field_name = "ligaments_heal"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_ligaments_heal = new NodeSimple; + n_ligaments_heal->m_field_name = field_name; + n_ligaments_heal->m_df_type = DF_Type::int32_t; + n_ligaments_heal->m_rdf_type = RDF_Type::int32_t; + n_ligaments_heal->m_node_type = NodeType::Simple; + n_ligaments_heal->m_address = base + offset; + n_ligaments_heal->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ligaments_heal); + + field_name = "weight"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_weight = new NodeSimple; + n_weight->m_field_name = field_name; + n_weight->m_df_type = DF_Type::int32_t; + n_weight->m_rdf_type = RDF_Type::int32_t; + n_weight->m_node_type = NodeType::Simple; + n_weight->m_address = base + offset; + n_weight->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_weight); + + field_name = "weight_fraction"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_weight_fraction = new NodeSimple; + n_weight_fraction->m_field_name = field_name; + n_weight_fraction->m_df_type = DF_Type::int32_t; + n_weight_fraction->m_rdf_type = RDF_Type::int32_t; + n_weight_fraction->m_node_type = NodeType::Simple; + n_weight_fraction->m_address = base + offset; + n_weight_fraction->m_comment = "1e-6"; + n_weight_fraction->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_weight_fraction); + + field_name = "burrows"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_burrows = new NodeVector; + n_burrows->m_field_name = field_name; + n_burrows->m_df_type = DF_Type::int32_t; + n_burrows->m_rdf_type = RDF_Type::Vector; + n_burrows->m_node_type = NodeType::Vector; + n_burrows->m_addornements = "v"; + n_burrows->m_address = base + offset; + n_burrows->m_parent = p_node_parent; + n_burrows->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_burrows); + + field_name = "vision_cone"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_vision_cone = new NodePointer; + n_vision_cone->m_field_name = field_name; + n_vision_cone->m_df_type = get_real_subtype(base+offset, DF_Type::int8_t); + n_vision_cone->m_rdf_type = RDF_Type::Pointer; + n_vision_cone->m_node_type = NodeType::Pointer; + n_vision_cone->m_addornements = "*[21[21"; + n_vision_cone->m_address = base + offset; + n_vision_cone->m_parent = p_node_parent; + n_vision_cone->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_vision_cone); + + field_name = "occupations"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_occupations = new NodeVector; + n_occupations->m_field_name = field_name; + n_occupations->m_df_type = DF_Type::occupation; + n_occupations->m_rdf_type = RDF_Type::Vector; + n_occupations->m_node_type = NodeType::Vector; + n_occupations->m_defined_in = "df.art.xml"; + n_occupations->m_addornements = "v*"; + n_occupations->m_address = base + offset; + n_occupations->m_parent = p_node_parent; + n_occupations->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_occupations); + + field_name = "adjective"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit, field_name)); + auto n_adjective = new NodeSimple; + n_adjective->m_field_name = field_name; + n_adjective->m_df_type = DF_Type::Stl_string; + n_adjective->m_rdf_type = RDF_Type::Stl_string; + n_adjective->m_node_type = NodeType::Simple; + n_adjective->m_address = base + offset; + n_adjective->m_comment = "from physical descriptions for use in adv"; + n_adjective->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_adjective); + +} +void node_from_unit_ghost_info__T_target(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = true) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unit"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_ghost_info__T_target, field_name)); + auto n_unit = new NodeSimple; + n_unit->m_field_name = field_name; + n_unit->m_df_type = DF_Type::int32_t; + n_unit->m_rdf_type = RDF_Type::int32_t; + n_unit->m_node_type = NodeType::Simple; + n_unit->m_address = base + offset; + n_unit->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unit); + + field_name = "item"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_ghost_info__T_target, field_name)); + auto n_item = new NodeSimple; + n_item->m_field_name = field_name; + n_item->m_df_type = DF_Type::int32_t; + n_item->m_rdf_type = RDF_Type::int32_t; + n_item->m_node_type = NodeType::Simple; + n_item->m_address = base + offset; + n_item->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item); + + field_name = "building"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_ghost_info__T_target, field_name)); + auto n_building = new NodeSimple; + n_building->m_field_name = field_name; + n_building->m_df_type = DF_Type::int32_t; + n_building->m_rdf_type = RDF_Type::int32_t; + n_building->m_node_type = NodeType::Simple; + n_building->m_address = base + offset; + n_building->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_building); + +} +void node_from_unit_ghost_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "type"; + auto n_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_ghost_info, field_name)); + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::ghost_type; + n_type->m_rdf_type = RDF_Type::Enum; + n_type->m_node_type = NodeType::Enum; + n_type->m_base_type = DF_Type::int16_t; + n_type->m_enum_type = "ghost_type"; + n_type->m_address = base + offset; + n_type->m_defined_in = "df.units.xml"; + n_type->m_first_value = 0; + n_type->m_last_value = 10; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + + field_name = "type2"; + auto n_type2 = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_ghost_info, field_name)); + n_type2->m_field_name = field_name; + n_type2->m_df_type = DF_Type::ghost_type; + n_type2->m_rdf_type = RDF_Type::Enum; + n_type2->m_node_type = NodeType::Enum; + n_type2->m_base_type = DF_Type::int16_t; + n_type2->m_enum_type = "ghost_type"; + n_type2->m_address = base + offset; + n_type2->m_comment = "seems to have same value as type"; + n_type2->m_defined_in = "df.units.xml"; + n_type2->m_first_value = 0; + n_type2->m_last_value = 10; + n_type2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type2); + + field_name = "goal"; + auto n_goal = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_ghost_info, field_name)); + n_goal->m_field_name = field_name; + n_goal->m_df_type = DF_Type::ghost_goal; + n_goal->m_rdf_type = RDF_Type::Enum; + n_goal->m_node_type = NodeType::Enum; + n_goal->m_base_type = DF_Type::int16_t; + n_goal->m_enum_type = "ghost_goal"; + n_goal->m_address = base + offset; + n_goal->m_defined_in = "df.units.xml"; + n_goal->m_first_value = -1; + n_goal->m_last_value = 7; + n_goal->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_goal); + + field_name = "target"; + auto n_target = new NodeUnion; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_ghost_info, field_name)); + n_target->m_field_name = field_name; + n_target->m_df_type = DF_Type::unit_ghost_info__T_target; + n_target->m_rdf_type = RDF_Type::Union; + n_target->m_node_type = NodeType::Union; + n_target->m_address = base + offset; + n_target->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_target); + + field_name = "misplace_pos"; + auto n_misplace_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_ghost_info, field_name)); + n_misplace_pos->m_field_name = field_name; + n_misplace_pos->m_df_type = DF_Type::coord; + n_misplace_pos->m_rdf_type = RDF_Type::Struct; + n_misplace_pos->m_node_type = NodeType::Compound; + n_misplace_pos->m_address = base + offset; + n_misplace_pos->m_defined_in = "df.map.xml"; + n_misplace_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_misplace_pos); + + field_name = "action_timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_ghost_info, field_name)); + auto n_action_timer = new NodeSimple; + n_action_timer->m_field_name = field_name; + n_action_timer->m_df_type = DF_Type::int32_t; + n_action_timer->m_rdf_type = RDF_Type::int32_t; + n_action_timer->m_node_type = NodeType::Simple; + n_action_timer->m_address = base + offset; + n_action_timer->m_comment = "time since last action"; + n_action_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_action_timer); + + field_name = "unk_18"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_ghost_info, field_name)); + auto n_unk_18 = new NodeSimple; + n_unk_18->m_field_name = field_name; + n_unk_18->m_df_type = DF_Type::int32_t; + n_unk_18->m_rdf_type = RDF_Type::int32_t; + n_unk_18->m_node_type = NodeType::Simple; + n_unk_18->m_address = base + offset; + n_unk_18->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_18); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_ghost_info, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::unit_ghost_info__T_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "death_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_ghost_info, field_name)); + auto n_death_x = new NodeSimple; + n_death_x->m_field_name = field_name; + n_death_x->m_df_type = DF_Type::int32_t; + n_death_x->m_rdf_type = RDF_Type::int32_t; + n_death_x->m_node_type = NodeType::Simple; + n_death_x->m_address = base + offset; + n_death_x->m_comment = "in tiles, global to world"; + n_death_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_death_x); + + field_name = "death_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_ghost_info, field_name)); + auto n_death_y = new NodeSimple; + n_death_y->m_field_name = field_name; + n_death_y->m_df_type = DF_Type::int32_t; + n_death_y->m_rdf_type = RDF_Type::int32_t; + n_death_y->m_node_type = NodeType::Simple; + n_death_y->m_address = base + offset; + n_death_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_death_y); + + field_name = "death_z"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_ghost_info, field_name)); + auto n_death_z = new NodeSimple; + n_death_z->m_field_name = field_name; + n_death_z->m_df_type = DF_Type::int32_t; + n_death_z->m_rdf_type = RDF_Type::int32_t; + n_death_z->m_node_type = NodeType::Simple; + n_death_z->m_address = base + offset; + n_death_z->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_death_z); + +} +void node_from_unit_inventory_item(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "item"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_inventory_item, field_name)); + auto n_item = new NodePointer; + n_item->m_field_name = field_name; + n_item->m_df_type = get_real_subtype(base+offset, DF_Type::item); + n_item->m_rdf_type = RDF_Type::Pointer; + n_item->m_node_type = NodeType::Pointer; + n_item->m_addornements = "*"; + n_item->m_address = base + offset; + n_item->m_parent = p_node_parent; + n_item->m_defined_in = "df.items.xml"; + n_item->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_item); + + field_name = "mode"; + auto n_mode = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_inventory_item, field_name)); + n_mode->m_field_name = field_name; + n_mode->m_df_type = DF_Type::unit_inventory_item__T_mode; + n_mode->m_rdf_type = RDF_Type::Enum; + n_mode->m_node_type = NodeType::Enum; + n_mode->m_base_type = DF_Type::int16_t; + n_mode->m_enum_type = "unit_inventory_item::T_mode"; + n_mode->m_address = base + offset; + n_mode->m_first_value = 0; + n_mode->m_last_value = 10; + n_mode->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mode); + + field_name = "body_part_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_inventory_item, field_name)); + auto n_body_part_id = new NodeSimple; + n_body_part_id->m_field_name = field_name; + n_body_part_id->m_df_type = DF_Type::int16_t; + n_body_part_id->m_rdf_type = RDF_Type::int16_t; + n_body_part_id->m_node_type = NodeType::Simple; + n_body_part_id->m_address = base + offset; + n_body_part_id->m_refers_to = "$$._global._parent._global.body.body_plan.body_parts[$]"; + n_body_part_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_body_part_id); + + field_name = "pet_seed"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_inventory_item, field_name)); + auto n_pet_seed = new NodeSimple; + n_pet_seed->m_field_name = field_name; + n_pet_seed->m_df_type = DF_Type::int32_t; + n_pet_seed->m_rdf_type = RDF_Type::int32_t; + n_pet_seed->m_node_type = NodeType::Simple; + n_pet_seed->m_address = base + offset; + n_pet_seed->m_comment = "RNG seed for Pet mode"; + n_pet_seed->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pet_seed); + + field_name = "wound_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_inventory_item, field_name)); + auto n_wound_id = new NodeSimple; + n_wound_id->m_field_name = field_name; + n_wound_id->m_df_type = DF_Type::int32_t; + n_wound_id->m_rdf_type = RDF_Type::int32_t; + n_wound_id->m_node_type = NodeType::Simple; + n_wound_id->m_address = base + offset; + n_wound_id->m_comment = "-1 unless suture"; + n_wound_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_wound_id); + +} +void node_from_unit_syndrome__T_symptoms(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "quantity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_syndrome__T_symptoms, field_name)); + auto n_quantity = new NodeSimple; + n_quantity->m_field_name = field_name; + n_quantity->m_df_type = DF_Type::int32_t; + n_quantity->m_rdf_type = RDF_Type::int32_t; + n_quantity->m_node_type = NodeType::Simple; + n_quantity->m_address = base + offset; + n_quantity->m_comment = "from spatter size"; + n_quantity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_quantity); + + field_name = "delay"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_syndrome__T_symptoms, field_name)); + auto n_delay = new NodeSimple; + n_delay->m_field_name = field_name; + n_delay->m_df_type = DF_Type::int32_t; + n_delay->m_rdf_type = RDF_Type::int32_t; + n_delay->m_node_type = NodeType::Simple; + n_delay->m_address = base + offset; + n_delay->m_comment = "for SIZE_DELAYS"; + n_delay->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_delay); + + field_name = "ticks"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_syndrome__T_symptoms, field_name)); + auto n_ticks = new NodeSimple; + n_ticks->m_field_name = field_name; + n_ticks->m_df_type = DF_Type::int32_t; + n_ticks->m_rdf_type = RDF_Type::int32_t; + n_ticks->m_node_type = NodeType::Simple; + n_ticks->m_address = base + offset; + n_ticks->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ticks); + + field_name = "target_bp"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_syndrome__T_symptoms, field_name)); + auto n_target_bp = new NodeVector; + n_target_bp->m_field_name = field_name; + n_target_bp->m_df_type = DF_Type::int16_t; + n_target_bp->m_rdf_type = RDF_Type::Vector; + n_target_bp->m_node_type = NodeType::Vector; + n_target_bp->m_addornements = "v"; + n_target_bp->m_address = base + offset; + n_target_bp->m_parent = p_node_parent; + n_target_bp->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_target_bp); + + field_name = "target_layer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_syndrome__T_symptoms, field_name)); + auto n_target_layer = new NodeVector; + n_target_layer->m_field_name = field_name; + n_target_layer->m_df_type = DF_Type::int16_t; + n_target_layer->m_rdf_type = RDF_Type::Vector; + n_target_layer->m_node_type = NodeType::Vector; + n_target_layer->m_addornements = "v"; + n_target_layer->m_address = base + offset; + n_target_layer->m_parent = p_node_parent; + n_target_layer->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_target_layer); + + field_name = "target_quantity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_syndrome__T_symptoms, field_name)); + auto n_target_quantity = new NodeVector; + n_target_quantity->m_field_name = field_name; + n_target_quantity->m_df_type = DF_Type::int32_t; + n_target_quantity->m_rdf_type = RDF_Type::Vector; + n_target_quantity->m_node_type = NodeType::Vector; + n_target_quantity->m_addornements = "v"; + n_target_quantity->m_address = base + offset; + n_target_quantity->m_parent = p_node_parent; + n_target_quantity->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_target_quantity); + + field_name = "target_delay"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_syndrome__T_symptoms, field_name)); + auto n_target_delay = new NodeVector; + n_target_delay->m_field_name = field_name; + n_target_delay->m_df_type = DF_Type::int32_t; + n_target_delay->m_rdf_type = RDF_Type::Vector; + n_target_delay->m_node_type = NodeType::Vector; + n_target_delay->m_addornements = "v"; + n_target_delay->m_address = base + offset; + n_target_delay->m_parent = p_node_parent; + n_target_delay->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_target_delay); + + field_name = "target_ticks"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_syndrome__T_symptoms, field_name)); + auto n_target_ticks = new NodeVector; + n_target_ticks->m_field_name = field_name; + n_target_ticks->m_df_type = DF_Type::int32_t; + n_target_ticks->m_rdf_type = RDF_Type::Vector; + n_target_ticks->m_node_type = NodeType::Vector; + n_target_ticks->m_addornements = "v"; + n_target_ticks->m_address = base + offset; + n_target_ticks->m_parent = p_node_parent; + n_target_ticks->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_target_ticks); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_syndrome__T_symptoms, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::unit_syndrome__T_symptoms__T_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + +} +void node_from_unit_syndrome(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_syndrome, field_name)); + auto n_type = new NodeSimple; + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::int32_t; + n_type->m_rdf_type = RDF_Type::int32_t; + n_type->m_node_type = NodeType::Simple; + n_type->m_address = base + offset; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + + field_name = "year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_syndrome, field_name)); + auto n_year = new NodeSimple; + n_year->m_field_name = field_name; + n_year->m_df_type = DF_Type::int32_t; + n_year->m_rdf_type = RDF_Type::int32_t; + n_year->m_node_type = NodeType::Simple; + n_year->m_address = base + offset; + n_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_year); + + field_name = "year_time"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_syndrome, field_name)); + auto n_year_time = new NodeSimple; + n_year_time->m_field_name = field_name; + n_year_time->m_df_type = DF_Type::int32_t; + n_year_time->m_rdf_type = RDF_Type::int32_t; + n_year_time->m_node_type = NodeType::Simple; + n_year_time->m_address = base + offset; + n_year_time->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_year_time); + + field_name = "ticks"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_syndrome, field_name)); + auto n_ticks = new NodeSimple; + n_ticks->m_field_name = field_name; + n_ticks->m_df_type = DF_Type::int32_t; + n_ticks->m_rdf_type = RDF_Type::int32_t; + n_ticks->m_node_type = NodeType::Simple; + n_ticks->m_address = base + offset; + n_ticks->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ticks); + + field_name = "wounds"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_syndrome, field_name)); + auto n_wounds = new NodeVector; + n_wounds->m_field_name = field_name; + n_wounds->m_df_type = DF_Type::int32_t; + n_wounds->m_rdf_type = RDF_Type::Vector; + n_wounds->m_node_type = NodeType::Vector; + n_wounds->m_addornements = "v"; + n_wounds->m_address = base + offset; + n_wounds->m_comment = "refers to unit_wound by id"; + n_wounds->m_parent = p_node_parent; + n_wounds->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_wounds); + + field_name = "wound_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_syndrome, field_name)); + auto n_wound_id = new NodeSimple; + n_wound_id->m_field_name = field_name; + n_wound_id->m_df_type = DF_Type::int32_t; + n_wound_id->m_rdf_type = RDF_Type::int32_t; + n_wound_id->m_node_type = NodeType::Simple; + n_wound_id->m_address = base + offset; + n_wound_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_wound_id); + + field_name = "symptoms"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_syndrome, field_name)); + auto n_symptoms = new NodeVector; + n_symptoms->m_field_name = field_name; + n_symptoms->m_df_type = DF_Type::unit_syndrome__T_symptoms; + n_symptoms->m_rdf_type = RDF_Type::Vector; + n_symptoms->m_node_type = NodeType::Vector; + n_symptoms->m_addornements = "v*"; + n_symptoms->m_address = base + offset; + n_symptoms->m_refers_to = "$$._global.type.ref-target.ce[$]"; + n_symptoms->m_parent = p_node_parent; + n_symptoms->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_symptoms); + + field_name = "reinfection_count"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_syndrome, field_name)); + auto n_reinfection_count = new NodeSimple; + n_reinfection_count->m_field_name = field_name; + n_reinfection_count->m_df_type = DF_Type::int16_t; + n_reinfection_count->m_rdf_type = RDF_Type::int16_t; + n_reinfection_count->m_node_type = NodeType::Simple; + n_reinfection_count->m_address = base + offset; + n_reinfection_count->m_comment = "set from unit.reinfection_count[i]++"; + n_reinfection_count->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_reinfection_count); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_syndrome, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::unit_syndrome__T_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "unk4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_syndrome, field_name)); + auto n_unk4 = new NodeVector; + n_unk4->m_field_name = field_name; + n_unk4->m_df_type = DF_Type::int32_t; + n_unk4->m_rdf_type = RDF_Type::Vector; + n_unk4->m_node_type = NodeType::Vector; + n_unk4->m_addornements = "v"; + n_unk4->m_address = base + offset; + n_unk4->m_parent = p_node_parent; + n_unk4->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk4); + +} +void node_from_unit_wound__T_parts(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "global_layer_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound__T_parts, field_name)); + auto n_global_layer_idx = new NodeSimple; + n_global_layer_idx->m_field_name = field_name; + n_global_layer_idx->m_df_type = DF_Type::int32_t; + n_global_layer_idx->m_rdf_type = RDF_Type::int32_t; + n_global_layer_idx->m_node_type = NodeType::Simple; + n_global_layer_idx->m_address = base + offset; + n_global_layer_idx->m_refers_to = "$$._global._upglobal.caste.ref-target.body_info.layer_idx[$].refers-to"; + n_global_layer_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_global_layer_idx); + + field_name = "body_part_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound__T_parts, field_name)); + auto n_body_part_id = new NodeSimple; + n_body_part_id->m_field_name = field_name; + n_body_part_id->m_df_type = DF_Type::int16_t; + n_body_part_id->m_rdf_type = RDF_Type::int16_t; + n_body_part_id->m_node_type = NodeType::Simple; + n_body_part_id->m_address = base + offset; + n_body_part_id->m_refers_to = "$$._global._upglobal.caste.ref-target.body_info.body_parts[$]"; + n_body_part_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_body_part_id); + + field_name = "layer_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound__T_parts, field_name)); + auto n_layer_idx = new NodeSimple; + n_layer_idx->m_field_name = field_name; + n_layer_idx->m_df_type = DF_Type::int16_t; + n_layer_idx->m_rdf_type = RDF_Type::int16_t; + n_layer_idx->m_node_type = NodeType::Simple; + n_layer_idx->m_address = base + offset; + n_layer_idx->m_refers_to = "$$._parent.body_part_id.refers-to.layers[$]"; + n_layer_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_layer_idx); + + field_name = "contact_area"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound__T_parts, field_name)); + auto n_contact_area = new NodeSimple; + n_contact_area->m_field_name = field_name; + n_contact_area->m_df_type = DF_Type::int32_t; + n_contact_area->m_rdf_type = RDF_Type::int32_t; + n_contact_area->m_node_type = NodeType::Simple; + n_contact_area->m_address = base + offset; + n_contact_area->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_contact_area); + + field_name = "surface_perc"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound__T_parts, field_name)); + auto n_surface_perc = new NodeSimple; + n_surface_perc->m_field_name = field_name; + n_surface_perc->m_df_type = DF_Type::int16_t; + n_surface_perc->m_rdf_type = RDF_Type::int16_t; + n_surface_perc->m_node_type = NodeType::Simple; + n_surface_perc->m_address = base + offset; + n_surface_perc->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_surface_perc); + + field_name = "strain"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound__T_parts, field_name)); + auto n_strain = new NodeSimple; + n_strain->m_field_name = field_name; + n_strain->m_df_type = DF_Type::int32_t; + n_strain->m_rdf_type = RDF_Type::int32_t; + n_strain->m_node_type = NodeType::Simple; + n_strain->m_address = base + offset; + n_strain->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_strain); + + field_name = "effect_perc1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound__T_parts, field_name)); + auto n_effect_perc1 = new NodeVector; + n_effect_perc1->m_field_name = field_name; + n_effect_perc1->m_df_type = DF_Type::int16_t; + n_effect_perc1->m_rdf_type = RDF_Type::Vector; + n_effect_perc1->m_node_type = NodeType::Vector; + n_effect_perc1->m_addornements = "v"; + n_effect_perc1->m_address = base + offset; + n_effect_perc1->m_parent = p_node_parent; + n_effect_perc1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_effect_perc1); + + field_name = "effect_perc2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound__T_parts, field_name)); + auto n_effect_perc2 = new NodeVector; + n_effect_perc2->m_field_name = field_name; + n_effect_perc2->m_df_type = DF_Type::int16_t; + n_effect_perc2->m_rdf_type = RDF_Type::Vector; + n_effect_perc2->m_node_type = NodeType::Vector; + n_effect_perc2->m_addornements = "v"; + n_effect_perc2->m_address = base + offset; + n_effect_perc2->m_parent = p_node_parent; + n_effect_perc2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_effect_perc2); + + field_name = "effect_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound__T_parts, field_name)); + auto n_effect_type = new NodeVector; + n_effect_type->m_field_name = field_name; + n_effect_type->m_df_type = DF_Type::wound_effect_type; + n_effect_type->m_rdf_type = RDF_Type::Vector; + n_effect_type->m_node_type = NodeType::Vector; + n_effect_type->m_enum_base = DF_Type::int16_t; + n_effect_type->m_defined_in = "df.units.xml"; + n_effect_type->m_addornements = "v"; + n_effect_type->m_address = base + offset; + n_effect_type->m_parent = p_node_parent; + n_effect_type->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_effect_type); + + field_name = "edged_curve_perc"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound__T_parts, field_name)); + auto n_edged_curve_perc = new NodeSimple; + n_edged_curve_perc->m_field_name = field_name; + n_edged_curve_perc->m_df_type = DF_Type::int16_t; + n_edged_curve_perc->m_rdf_type = RDF_Type::int16_t; + n_edged_curve_perc->m_node_type = NodeType::Simple; + n_edged_curve_perc->m_address = base + offset; + n_edged_curve_perc->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_edged_curve_perc); + + field_name = "flags1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound__T_parts, field_name)); + auto n_flags1 = new NodeBitfield; + n_flags1->m_field_name = field_name; + n_flags1->m_df_type = DF_Type::wound_damage_flags1; + n_flags1->m_rdf_type = RDF_Type::Bitfield; + n_flags1->m_node_type = NodeType::Bitfield; + n_flags1->m_address = base + offset; + n_flags1->m_defined_in = "df.units.xml"; + n_flags1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags1); + + field_name = "flags2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound__T_parts, field_name)); + auto n_flags2 = new NodeBitfield; + n_flags2->m_field_name = field_name; + n_flags2->m_df_type = DF_Type::wound_damage_flags2; + n_flags2->m_rdf_type = RDF_Type::Bitfield; + n_flags2->m_node_type = NodeType::Bitfield; + n_flags2->m_address = base + offset; + n_flags2->m_defined_in = "df.units.xml"; + n_flags2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags2); + + field_name = "bleeding"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound__T_parts, field_name)); + auto n_bleeding = new NodeSimple; + n_bleeding->m_field_name = field_name; + n_bleeding->m_df_type = DF_Type::int32_t; + n_bleeding->m_rdf_type = RDF_Type::int32_t; + n_bleeding->m_node_type = NodeType::Simple; + n_bleeding->m_address = base + offset; + n_bleeding->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_bleeding); + + field_name = "pain"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound__T_parts, field_name)); + auto n_pain = new NodeSimple; + n_pain->m_field_name = field_name; + n_pain->m_df_type = DF_Type::int32_t; + n_pain->m_rdf_type = RDF_Type::int32_t; + n_pain->m_node_type = NodeType::Simple; + n_pain->m_address = base + offset; + n_pain->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pain); + + field_name = "nausea"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound__T_parts, field_name)); + auto n_nausea = new NodeSimple; + n_nausea->m_field_name = field_name; + n_nausea->m_df_type = DF_Type::int32_t; + n_nausea->m_rdf_type = RDF_Type::int32_t; + n_nausea->m_node_type = NodeType::Simple; + n_nausea->m_address = base + offset; + n_nausea->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_nausea); + + field_name = "dizziness"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound__T_parts, field_name)); + auto n_dizziness = new NodeSimple; + n_dizziness->m_field_name = field_name; + n_dizziness->m_df_type = DF_Type::int32_t; + n_dizziness->m_rdf_type = RDF_Type::int32_t; + n_dizziness->m_node_type = NodeType::Simple; + n_dizziness->m_address = base + offset; + n_dizziness->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dizziness); + + field_name = "paralysis"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound__T_parts, field_name)); + auto n_paralysis = new NodeSimple; + n_paralysis->m_field_name = field_name; + n_paralysis->m_df_type = DF_Type::int32_t; + n_paralysis->m_rdf_type = RDF_Type::int32_t; + n_paralysis->m_node_type = NodeType::Simple; + n_paralysis->m_address = base + offset; + n_paralysis->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_paralysis); + + field_name = "numbness"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound__T_parts, field_name)); + auto n_numbness = new NodeSimple; + n_numbness->m_field_name = field_name; + n_numbness->m_df_type = DF_Type::int32_t; + n_numbness->m_rdf_type = RDF_Type::int32_t; + n_numbness->m_node_type = NodeType::Simple; + n_numbness->m_address = base + offset; + n_numbness->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_numbness); + + field_name = "swelling"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound__T_parts, field_name)); + auto n_swelling = new NodeSimple; + n_swelling->m_field_name = field_name; + n_swelling->m_df_type = DF_Type::int32_t; + n_swelling->m_rdf_type = RDF_Type::int32_t; + n_swelling->m_node_type = NodeType::Simple; + n_swelling->m_address = base + offset; + n_swelling->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_swelling); + + field_name = "impaired"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound__T_parts, field_name)); + auto n_impaired = new NodeSimple; + n_impaired->m_field_name = field_name; + n_impaired->m_df_type = DF_Type::int32_t; + n_impaired->m_rdf_type = RDF_Type::int32_t; + n_impaired->m_node_type = NodeType::Simple; + n_impaired->m_address = base + offset; + n_impaired->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_impaired); + + field_name = "unk_v42_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound__T_parts, field_name)); + auto n_unk_v42_1 = new NodeSimple; + n_unk_v42_1->m_field_name = field_name; + n_unk_v42_1->m_df_type = DF_Type::int32_t; + n_unk_v42_1->m_rdf_type = RDF_Type::int32_t; + n_unk_v42_1->m_node_type = NodeType::Simple; + n_unk_v42_1->m_address = base + offset; + n_unk_v42_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v42_1); + + field_name = "unk_v42_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound__T_parts, field_name)); + auto n_unk_v42_2 = new NodeSimple; + n_unk_v42_2->m_field_name = field_name; + n_unk_v42_2->m_df_type = DF_Type::int32_t; + n_unk_v42_2->m_rdf_type = RDF_Type::int32_t; + n_unk_v42_2->m_node_type = NodeType::Simple; + n_unk_v42_2->m_address = base + offset; + n_unk_v42_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v42_2); + + field_name = "unk_v42_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound__T_parts, field_name)); + auto n_unk_v42_3 = new NodeSimple; + n_unk_v42_3->m_field_name = field_name; + n_unk_v42_3->m_df_type = DF_Type::int32_t; + n_unk_v42_3->m_rdf_type = RDF_Type::int32_t; + n_unk_v42_3->m_node_type = NodeType::Simple; + n_unk_v42_3->m_address = base + offset; + n_unk_v42_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v42_3); + + field_name = "cur_penetration_perc"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound__T_parts, field_name)); + auto n_cur_penetration_perc = new NodeSimple; + n_cur_penetration_perc->m_field_name = field_name; + n_cur_penetration_perc->m_df_type = DF_Type::int16_t; + n_cur_penetration_perc->m_rdf_type = RDF_Type::int16_t; + n_cur_penetration_perc->m_node_type = NodeType::Simple; + n_cur_penetration_perc->m_address = base + offset; + n_cur_penetration_perc->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cur_penetration_perc); + + field_name = "max_penetration_perc"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound__T_parts, field_name)); + auto n_max_penetration_perc = new NodeSimple; + n_max_penetration_perc->m_field_name = field_name; + n_max_penetration_perc->m_df_type = DF_Type::int16_t; + n_max_penetration_perc->m_rdf_type = RDF_Type::int16_t; + n_max_penetration_perc->m_node_type = NodeType::Simple; + n_max_penetration_perc->m_address = base + offset; + n_max_penetration_perc->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_max_penetration_perc); + + field_name = "jammed_layer_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound__T_parts, field_name)); + auto n_jammed_layer_idx = new NodeSimple; + n_jammed_layer_idx->m_field_name = field_name; + n_jammed_layer_idx->m_df_type = DF_Type::int32_t; + n_jammed_layer_idx->m_rdf_type = RDF_Type::int32_t; + n_jammed_layer_idx->m_node_type = NodeType::Simple; + n_jammed_layer_idx->m_address = base + offset; + n_jammed_layer_idx->m_comment = "in compound fracture"; + n_jammed_layer_idx->m_refers_to = "$$._global._upglobal.caste.ref-target.body_info.layer_idx[$].refers-to"; + n_jammed_layer_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_jammed_layer_idx); + + field_name = "unk_v406_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound__T_parts, field_name)); + auto n_unk_v406_1 = new NodeSimple; + n_unk_v406_1->m_field_name = field_name; + n_unk_v406_1->m_df_type = DF_Type::int32_t; + n_unk_v406_1->m_rdf_type = RDF_Type::int32_t; + n_unk_v406_1->m_node_type = NodeType::Simple; + n_unk_v406_1->m_address = base + offset; + n_unk_v406_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v406_1); + +} +void node_from_unit_wound(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "parts"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound, field_name)); + auto n_parts = new NodeVector; + n_parts->m_field_name = field_name; + n_parts->m_df_type = DF_Type::unit_wound__T_parts; + n_parts->m_rdf_type = RDF_Type::Vector; + n_parts->m_node_type = NodeType::Vector; + n_parts->m_addornements = "v*"; + n_parts->m_address = base + offset; + n_parts->m_parent = p_node_parent; + n_parts->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_parts); + + field_name = "age"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound, field_name)); + auto n_age = new NodeSimple; + n_age->m_field_name = field_name; + n_age->m_df_type = DF_Type::int32_t; + n_age->m_rdf_type = RDF_Type::int32_t; + n_age->m_node_type = NodeType::Simple; + n_age->m_address = base + offset; + n_age->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_age); + + field_name = "attacker_unit_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound, field_name)); + auto n_attacker_unit_id = new NodeSimple; + n_attacker_unit_id->m_field_name = field_name; + n_attacker_unit_id->m_df_type = DF_Type::int32_t; + n_attacker_unit_id->m_rdf_type = RDF_Type::int32_t; + n_attacker_unit_id->m_node_type = NodeType::Simple; + n_attacker_unit_id->m_address = base + offset; + n_attacker_unit_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_attacker_unit_id); + + field_name = "attacker_hist_figure_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound, field_name)); + auto n_attacker_hist_figure_id = new NodeSimple; + n_attacker_hist_figure_id->m_field_name = field_name; + n_attacker_hist_figure_id->m_df_type = DF_Type::int32_t; + n_attacker_hist_figure_id->m_rdf_type = RDF_Type::int32_t; + n_attacker_hist_figure_id->m_node_type = NodeType::Simple; + n_attacker_hist_figure_id->m_address = base + offset; + n_attacker_hist_figure_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_attacker_hist_figure_id); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::unit_wound__T_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "syndrome_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound, field_name)); + auto n_syndrome_id = new NodeSimple; + n_syndrome_id->m_field_name = field_name; + n_syndrome_id->m_df_type = DF_Type::int32_t; + n_syndrome_id->m_rdf_type = RDF_Type::int32_t; + n_syndrome_id->m_node_type = NodeType::Simple; + n_syndrome_id->m_address = base + offset; + n_syndrome_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_syndrome_id); + + field_name = "pain"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound, field_name)); + auto n_pain = new NodeSimple; + n_pain->m_field_name = field_name; + n_pain->m_df_type = DF_Type::int32_t; + n_pain->m_rdf_type = RDF_Type::int32_t; + n_pain->m_node_type = NodeType::Simple; + n_pain->m_address = base + offset; + n_pain->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pain); + + field_name = "nausea"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound, field_name)); + auto n_nausea = new NodeSimple; + n_nausea->m_field_name = field_name; + n_nausea->m_df_type = DF_Type::int32_t; + n_nausea->m_rdf_type = RDF_Type::int32_t; + n_nausea->m_node_type = NodeType::Simple; + n_nausea->m_address = base + offset; + n_nausea->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_nausea); + + field_name = "dizziness"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound, field_name)); + auto n_dizziness = new NodeSimple; + n_dizziness->m_field_name = field_name; + n_dizziness->m_df_type = DF_Type::int32_t; + n_dizziness->m_rdf_type = RDF_Type::int32_t; + n_dizziness->m_node_type = NodeType::Simple; + n_dizziness->m_address = base + offset; + n_dizziness->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dizziness); + + field_name = "paralysis"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound, field_name)); + auto n_paralysis = new NodeSimple; + n_paralysis->m_field_name = field_name; + n_paralysis->m_df_type = DF_Type::int32_t; + n_paralysis->m_rdf_type = RDF_Type::int32_t; + n_paralysis->m_node_type = NodeType::Simple; + n_paralysis->m_address = base + offset; + n_paralysis->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_paralysis); + + field_name = "numbness"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound, field_name)); + auto n_numbness = new NodeSimple; + n_numbness->m_field_name = field_name; + n_numbness->m_df_type = DF_Type::int32_t; + n_numbness->m_rdf_type = RDF_Type::int32_t; + n_numbness->m_node_type = NodeType::Simple; + n_numbness->m_address = base + offset; + n_numbness->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_numbness); + + field_name = "fever"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound, field_name)); + auto n_fever = new NodeSimple; + n_fever->m_field_name = field_name; + n_fever->m_df_type = DF_Type::int32_t; + n_fever->m_rdf_type = RDF_Type::int32_t; + n_fever->m_node_type = NodeType::Simple; + n_fever->m_address = base + offset; + n_fever->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_fever); + + field_name = "curse"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound, field_name)); + auto n_curse = new NodePointer; + n_curse->m_field_name = field_name; + n_curse->m_df_type = get_real_subtype(base+offset, DF_Type::wound_curse_info); + n_curse->m_rdf_type = RDF_Type::Pointer; + n_curse->m_node_type = NodeType::Pointer; + n_curse->m_addornements = "*"; + n_curse->m_address = base + offset; + n_curse->m_parent = p_node_parent; + n_curse->m_defined_in = "df.units.xml"; + n_curse->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_curse); + + field_name = "unk_v42_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound, field_name)); + auto n_unk_v42_1 = new NodeSimple; + n_unk_v42_1->m_field_name = field_name; + n_unk_v42_1->m_df_type = DF_Type::int32_t; + n_unk_v42_1->m_rdf_type = RDF_Type::int32_t; + n_unk_v42_1->m_node_type = NodeType::Simple; + n_unk_v42_1->m_address = base + offset; + n_unk_v42_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v42_1); + + field_name = "unk_v42_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_wound, field_name)); + auto n_unk_v42_2 = new NodeSimple; + n_unk_v42_2->m_field_name = field_name; + n_unk_v42_2->m_df_type = DF_Type::int32_t; + n_unk_v42_2->m_rdf_type = RDF_Type::int32_t; + n_unk_v42_2->m_node_type = NodeType::Simple; + n_unk_v42_2->m_address = base + offset; + n_unk_v42_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v42_2); + +} +void node_from_wound_curse_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk_v40_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::wound_curse_info, field_name)); + auto n_unk_v40_1 = new NodeSimple; + n_unk_v40_1->m_field_name = field_name; + n_unk_v40_1->m_df_type = DF_Type::int32_t; + n_unk_v40_1->m_rdf_type = RDF_Type::int32_t; + n_unk_v40_1->m_node_type = NodeType::Simple; + n_unk_v40_1->m_address = base + offset; + n_unk_v40_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_1); + + field_name = "add_tags1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::wound_curse_info, field_name)); + auto n_add_tags1 = new NodeBitfield; + n_add_tags1->m_field_name = field_name; + n_add_tags1->m_df_type = DF_Type::cie_add_tag_mask1; + n_add_tags1->m_rdf_type = RDF_Type::Bitfield; + n_add_tags1->m_node_type = NodeType::Bitfield; + n_add_tags1->m_address = base + offset; + n_add_tags1->m_defined_in = "df.syndrome.xml"; + n_add_tags1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_add_tags1); + + field_name = "rem_tags1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::wound_curse_info, field_name)); + auto n_rem_tags1 = new NodeBitfield; + n_rem_tags1->m_field_name = field_name; + n_rem_tags1->m_df_type = DF_Type::cie_add_tag_mask1; + n_rem_tags1->m_rdf_type = RDF_Type::Bitfield; + n_rem_tags1->m_node_type = NodeType::Bitfield; + n_rem_tags1->m_address = base + offset; + n_rem_tags1->m_defined_in = "df.syndrome.xml"; + n_rem_tags1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rem_tags1); + + field_name = "add_tags2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::wound_curse_info, field_name)); + auto n_add_tags2 = new NodeBitfield; + n_add_tags2->m_field_name = field_name; + n_add_tags2->m_df_type = DF_Type::cie_add_tag_mask2; + n_add_tags2->m_rdf_type = RDF_Type::Bitfield; + n_add_tags2->m_node_type = NodeType::Bitfield; + n_add_tags2->m_address = base + offset; + n_add_tags2->m_defined_in = "df.syndrome.xml"; + n_add_tags2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_add_tags2); + + field_name = "rem_tags2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::wound_curse_info, field_name)); + auto n_rem_tags2 = new NodeBitfield; + n_rem_tags2->m_field_name = field_name; + n_rem_tags2->m_df_type = DF_Type::cie_add_tag_mask2; + n_rem_tags2->m_rdf_type = RDF_Type::Bitfield; + n_rem_tags2->m_node_type = NodeType::Bitfield; + n_rem_tags2->m_address = base + offset; + n_rem_tags2->m_defined_in = "df.syndrome.xml"; + n_rem_tags2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rem_tags2); + + field_name = "name_visible"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::wound_curse_info, field_name)); + auto n_name_visible = new NodeSimple; + n_name_visible->m_field_name = field_name; + n_name_visible->m_df_type = DF_Type::Bool; + n_name_visible->m_rdf_type = RDF_Type::Bool; + n_name_visible->m_node_type = NodeType::Simple; + n_name_visible->m_address = base + offset; + n_name_visible->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name_visible); + + field_name = "name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::wound_curse_info, field_name)); + auto n_name = new NodeSimple; + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Stl_string; + n_name->m_node_type = NodeType::Simple; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "name_plural"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::wound_curse_info, field_name)); + auto n_name_plural = new NodeSimple; + n_name_plural->m_field_name = field_name; + n_name_plural->m_df_type = DF_Type::Stl_string; + n_name_plural->m_rdf_type = RDF_Type::Stl_string; + n_name_plural->m_node_type = NodeType::Simple; + n_name_plural->m_address = base + offset; + n_name_plural->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name_plural); + + field_name = "name_adjective"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::wound_curse_info, field_name)); + auto n_name_adjective = new NodeSimple; + n_name_adjective->m_field_name = field_name; + n_name_adjective->m_df_type = DF_Type::Stl_string; + n_name_adjective->m_rdf_type = RDF_Type::Stl_string; + n_name_adjective->m_node_type = NodeType::Simple; + n_name_adjective->m_address = base + offset; + n_name_adjective->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name_adjective); + + field_name = "sym_and_color1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::wound_curse_info, field_name)); + auto n_sym_and_color1 = new NodeSimple; + n_sym_and_color1->m_field_name = field_name; + n_sym_and_color1->m_df_type = DF_Type::uint32_t; + n_sym_and_color1->m_rdf_type = RDF_Type::uint32_t; + n_sym_and_color1->m_node_type = NodeType::Simple; + n_sym_and_color1->m_address = base + offset; + n_sym_and_color1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sym_and_color1); + + field_name = "sym_and_color2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::wound_curse_info, field_name)); + auto n_sym_and_color2 = new NodeSimple; + n_sym_and_color2->m_field_name = field_name; + n_sym_and_color2->m_df_type = DF_Type::uint32_t; + n_sym_and_color2->m_rdf_type = RDF_Type::uint32_t; + n_sym_and_color2->m_node_type = NodeType::Simple; + n_sym_and_color2->m_address = base + offset; + n_sym_and_color2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sym_and_color2); + + field_name = "flash_period"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::wound_curse_info, field_name)); + auto n_flash_period = new NodeSimple; + n_flash_period->m_field_name = field_name; + n_flash_period->m_df_type = DF_Type::uint32_t; + n_flash_period->m_rdf_type = RDF_Type::uint32_t; + n_flash_period->m_node_type = NodeType::Simple; + n_flash_period->m_address = base + offset; + n_flash_period->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flash_period); + + field_name = "flash_time2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::wound_curse_info, field_name)); + auto n_flash_time2 = new NodeSimple; + n_flash_time2->m_field_name = field_name; + n_flash_time2->m_df_type = DF_Type::uint32_t; + n_flash_time2->m_rdf_type = RDF_Type::uint32_t; + n_flash_time2->m_node_type = NodeType::Simple; + n_flash_time2->m_address = base + offset; + n_flash_time2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flash_time2); + + field_name = "speed_add"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::wound_curse_info, field_name)); + auto n_speed_add = new NodeSimple; + n_speed_add->m_field_name = field_name; + n_speed_add->m_df_type = DF_Type::uint32_t; + n_speed_add->m_rdf_type = RDF_Type::uint32_t; + n_speed_add->m_node_type = NodeType::Simple; + n_speed_add->m_address = base + offset; + n_speed_add->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_speed_add); + + field_name = "speed_mul_percent"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::wound_curse_info, field_name)); + auto n_speed_mul_percent = new NodeSimple; + n_speed_mul_percent->m_field_name = field_name; + n_speed_mul_percent->m_df_type = DF_Type::uint32_t; + n_speed_mul_percent->m_rdf_type = RDF_Type::uint32_t; + n_speed_mul_percent->m_node_type = NodeType::Simple; + n_speed_mul_percent->m_address = base + offset; + n_speed_mul_percent->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_speed_mul_percent); + + field_name = "attr_change"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::wound_curse_info, field_name)); + auto n_attr_change = new NodePointer; + n_attr_change->m_field_name = field_name; + n_attr_change->m_df_type = get_real_subtype(base+offset, DF_Type::curse_attr_change); + n_attr_change->m_rdf_type = RDF_Type::Pointer; + n_attr_change->m_node_type = NodeType::Pointer; + n_attr_change->m_addornements = "*"; + n_attr_change->m_address = base + offset; + n_attr_change->m_parent = p_node_parent; + n_attr_change->m_defined_in = "df.units.xml"; + n_attr_change->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_attr_change); + + field_name = "unk_v42_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::wound_curse_info, field_name)); + auto n_unk_v42_1 = new NodeSimple; + n_unk_v42_1->m_field_name = field_name; + n_unk_v42_1->m_df_type = DF_Type::int32_t; + n_unk_v42_1->m_rdf_type = RDF_Type::int32_t; + n_unk_v42_1->m_node_type = NodeType::Simple; + n_unk_v42_1->m_address = base + offset; + n_unk_v42_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v42_1); + + field_name = "luck_mul_percent"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::wound_curse_info, field_name)); + auto n_luck_mul_percent = new NodeSimple; + n_luck_mul_percent->m_field_name = field_name; + n_luck_mul_percent->m_df_type = DF_Type::uint32_t; + n_luck_mul_percent->m_rdf_type = RDF_Type::uint32_t; + n_luck_mul_percent->m_node_type = NodeType::Simple; + n_luck_mul_percent->m_address = base + offset; + n_luck_mul_percent->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_luck_mul_percent); + + field_name = "unk_v42_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::wound_curse_info, field_name)); + auto n_unk_v42_2 = new NodeSimple; + n_unk_v42_2->m_field_name = field_name; + n_unk_v42_2->m_df_type = DF_Type::int32_t; + n_unk_v42_2->m_rdf_type = RDF_Type::int32_t; + n_unk_v42_2->m_node_type = NodeType::Simple; + n_unk_v42_2->m_address = base + offset; + n_unk_v42_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v42_2); + + field_name = "interaction_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::wound_curse_info, field_name)); + auto n_interaction_id = new NodeVector; + n_interaction_id->m_field_name = field_name; + n_interaction_id->m_df_type = DF_Type::int32_t; + n_interaction_id->m_rdf_type = RDF_Type::Vector; + n_interaction_id->m_node_type = NodeType::Vector; + n_interaction_id->m_addornements = "v"; + n_interaction_id->m_address = base + offset; + n_interaction_id->m_parent = p_node_parent; + n_interaction_id->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_interaction_id); + + field_name = "interaction_time"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::wound_curse_info, field_name)); + auto n_interaction_time = new NodeVector; + n_interaction_time->m_field_name = field_name; + n_interaction_time->m_df_type = DF_Type::int32_t; + n_interaction_time->m_rdf_type = RDF_Type::Vector; + n_interaction_time->m_node_type = NodeType::Vector; + n_interaction_time->m_addornements = "v"; + n_interaction_time->m_address = base + offset; + n_interaction_time->m_parent = p_node_parent; + n_interaction_time->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_interaction_time); + + field_name = "time_counter"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::wound_curse_info, field_name)); + auto n_time_counter = new NodeSimple; + n_time_counter->m_field_name = field_name; + n_time_counter->m_df_type = DF_Type::int32_t; + n_time_counter->m_rdf_type = RDF_Type::int32_t; + n_time_counter->m_node_type = NodeType::Simple; + n_time_counter->m_address = base + offset; + n_time_counter->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_time_counter); + + field_name = "were_race"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::wound_curse_info, field_name)); + auto n_were_race = new NodeSimple; + n_were_race->m_field_name = field_name; + n_were_race->m_df_type = DF_Type::int32_t; + n_were_race->m_rdf_type = RDF_Type::int32_t; + n_were_race->m_node_type = NodeType::Simple; + n_were_race->m_address = base + offset; + n_were_race->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_were_race); + + field_name = "were_caste"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::wound_curse_info, field_name)); + auto n_were_caste = new NodeSimple; + n_were_caste->m_field_name = field_name; + n_were_caste->m_df_type = DF_Type::int32_t; + n_were_caste->m_rdf_type = RDF_Type::int32_t; + n_were_caste->m_node_type = NodeType::Simple; + n_were_caste->m_address = base + offset; + n_were_caste->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_were_caste); + + field_name = "body_appearance"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::wound_curse_info, field_name)); + auto n_body_appearance = new NodeVector; + n_body_appearance->m_field_name = field_name; + n_body_appearance->m_df_type = DF_Type::int32_t; + n_body_appearance->m_rdf_type = RDF_Type::Vector; + n_body_appearance->m_node_type = NodeType::Vector; + n_body_appearance->m_addornements = "v"; + n_body_appearance->m_address = base + offset; + n_body_appearance->m_parent = p_node_parent; + n_body_appearance->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_body_appearance); + + field_name = "bp_appearance"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::wound_curse_info, field_name)); + auto n_bp_appearance = new NodeVector; + n_bp_appearance->m_field_name = field_name; + n_bp_appearance->m_df_type = DF_Type::int32_t; + n_bp_appearance->m_rdf_type = RDF_Type::Vector; + n_bp_appearance->m_node_type = NodeType::Vector; + n_bp_appearance->m_addornements = "v"; + n_bp_appearance->m_address = base + offset; + n_bp_appearance->m_parent = p_node_parent; + n_bp_appearance->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bp_appearance); + +} +void node_from_unit_misc_trait(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + auto n_id = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_misc_trait, field_name)); + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::misc_trait_type; + n_id->m_rdf_type = RDF_Type::Enum; + n_id->m_node_type = NodeType::Enum; + n_id->m_base_type = DF_Type::int16_t; + n_id->m_enum_type = "misc_trait_type"; + n_id->m_address = base + offset; + n_id->m_defined_in = "df.units.xml"; + n_id->m_first_value = 0; + n_id->m_last_value = 58; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "value"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_misc_trait, field_name)); + auto n_value = new NodeSimple; + n_value->m_field_name = field_name; + n_value->m_df_type = DF_Type::int32_t; + n_value->m_rdf_type = RDF_Type::int32_t; + n_value->m_node_type = NodeType::Simple; + n_value->m_address = base + offset; + n_value->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_value); + +} +void node_from_unit_health_info__T_op_history__T_info__T_crutch(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "item_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_health_info__T_op_history__T_info__T_crutch, field_name)); + auto n_item_type = new NodeSimple; + n_item_type->m_field_name = field_name; + n_item_type->m_df_type = DF_Type::int32_t; + n_item_type->m_rdf_type = RDF_Type::int32_t; + n_item_type->m_node_type = NodeType::Simple; + n_item_type->m_address = base + offset; + n_item_type->m_refers_to = "(enum-to-key $item_type $)"; + n_item_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_type); + + field_name = "item_subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_health_info__T_op_history__T_info__T_crutch, field_name)); + auto n_item_subtype = new NodeSimple; + n_item_subtype->m_field_name = field_name; + n_item_subtype->m_df_type = DF_Type::int32_t; + n_item_subtype->m_rdf_type = RDF_Type::int32_t; + n_item_subtype->m_node_type = NodeType::Simple; + n_item_subtype->m_address = base + offset; + n_item_subtype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_subtype); + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_health_info__T_op_history__T_info__T_crutch, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int32_t; + n_mat_type->m_rdf_type = RDF_Type::int32_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_health_info__T_op_history__T_info__T_crutch, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "item_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_health_info__T_op_history__T_info__T_crutch, field_name)); + auto n_item_id = new NodeSimple; + n_item_id->m_field_name = field_name; + n_item_id->m_df_type = DF_Type::int32_t; + n_item_id->m_rdf_type = RDF_Type::int32_t; + n_item_id->m_node_type = NodeType::Simple; + n_item_id->m_address = base + offset; + n_item_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_id); + +} +void node_from_unit_health_info__T_op_history__T_info__T_bandage(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_health_info__T_op_history__T_info__T_bandage, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int32_t; + n_mat_type->m_rdf_type = RDF_Type::int32_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_health_info__T_op_history__T_info__T_bandage, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "body_part_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_health_info__T_op_history__T_info__T_bandage, field_name)); + auto n_body_part_id = new NodeSimple; + n_body_part_id->m_field_name = field_name; + n_body_part_id->m_df_type = DF_Type::int32_t; + n_body_part_id->m_rdf_type = RDF_Type::int32_t; + n_body_part_id->m_node_type = NodeType::Simple; + n_body_part_id->m_address = base + offset; + n_body_part_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_body_part_id); + + field_name = "item_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_health_info__T_op_history__T_info__T_bandage, field_name)); + auto n_item_id = new NodeSimple; + n_item_id->m_field_name = field_name; + n_item_id->m_df_type = DF_Type::int32_t; + n_item_id->m_rdf_type = RDF_Type::int32_t; + n_item_id->m_node_type = NodeType::Simple; + n_item_id->m_address = base + offset; + n_item_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_id); + +} +void node_from_unit_health_info__T_op_history__T_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = true) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "crutch"; + auto n_crutch = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_health_info__T_op_history__T_info, field_name)); + n_crutch->m_field_name = field_name; + n_crutch->m_df_type = DF_Type::unit_health_info__T_op_history__T_info__T_crutch; + n_crutch->m_rdf_type = RDF_Type::Compound; + n_crutch->m_node_type = NodeType::Compound; + n_crutch->m_address = base + offset; + n_crutch->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_crutch); + + field_name = "bed_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_health_info__T_op_history__T_info, field_name)); + auto n_bed_id = new NodeSimple; + n_bed_id->m_field_name = field_name; + n_bed_id->m_df_type = DF_Type::int32_t; + n_bed_id->m_rdf_type = RDF_Type::int32_t; + n_bed_id->m_node_type = NodeType::Simple; + n_bed_id->m_address = base + offset; + n_bed_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_bed_id); + + field_name = "bandage"; + auto n_bandage = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_health_info__T_op_history__T_info, field_name)); + n_bandage->m_field_name = field_name; + n_bandage->m_df_type = DF_Type::unit_health_info__T_op_history__T_info__T_bandage; + n_bandage->m_rdf_type = RDF_Type::Compound; + n_bandage->m_node_type = NodeType::Compound; + n_bandage->m_address = base + offset; + n_bandage->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_bandage); + +} +void node_from_unit_health_info__T_op_history(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "job_type"; + auto n_job_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_health_info__T_op_history, field_name)); + n_job_type->m_field_name = field_name; + n_job_type->m_df_type = DF_Type::job_type; + n_job_type->m_rdf_type = RDF_Type::Enum; + n_job_type->m_node_type = NodeType::Enum; + n_job_type->m_base_type = DF_Type::int16_t; + n_job_type->m_enum_type = "job_type"; + n_job_type->m_address = base + offset; + n_job_type->m_defined_in = "df.job-types.xml"; + n_job_type->m_first_value = -1; + n_job_type->m_last_value = 240; + n_job_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_job_type); + + field_name = "info"; + auto n_info = new NodeUnion; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_health_info__T_op_history, field_name)); + n_info->m_field_name = field_name; + n_info->m_df_type = DF_Type::unit_health_info__T_op_history__T_info; + n_info->m_rdf_type = RDF_Type::Union; + n_info->m_node_type = NodeType::Union; + n_info->m_address = base + offset; + n_info->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_info); + + field_name = "year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_health_info__T_op_history, field_name)); + auto n_year = new NodeSimple; + n_year->m_field_name = field_name; + n_year->m_df_type = DF_Type::int32_t; + n_year->m_rdf_type = RDF_Type::int32_t; + n_year->m_node_type = NodeType::Simple; + n_year->m_address = base + offset; + n_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_year); + + field_name = "year_time"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_health_info__T_op_history, field_name)); + auto n_year_time = new NodeSimple; + n_year_time->m_field_name = field_name; + n_year_time->m_df_type = DF_Type::int32_t; + n_year_time->m_rdf_type = RDF_Type::int32_t; + n_year_time->m_node_type = NodeType::Simple; + n_year_time->m_address = base + offset; + n_year_time->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_year_time); + + field_name = "doctor_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_health_info__T_op_history, field_name)); + auto n_doctor_id = new NodeSimple; + n_doctor_id->m_field_name = field_name; + n_doctor_id->m_df_type = DF_Type::int32_t; + n_doctor_id->m_rdf_type = RDF_Type::int32_t; + n_doctor_id->m_node_type = NodeType::Simple; + n_doctor_id->m_address = base + offset; + n_doctor_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_doctor_id); + +} +void node_from_unit_health_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unit_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_health_info, field_name)); + auto n_unit_id = new NodeSimple; + n_unit_id->m_field_name = field_name; + n_unit_id->m_df_type = DF_Type::int32_t; + n_unit_id->m_rdf_type = RDF_Type::int32_t; + n_unit_id->m_node_type = NodeType::Simple; + n_unit_id->m_address = base + offset; + n_unit_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unit_id); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_health_info, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::unit_health_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_defined_in = "df.units.xml"; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "body_part_flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_health_info, field_name)); + auto n_body_part_flags = new NodeVector; + n_body_part_flags->m_field_name = field_name; + n_body_part_flags->m_df_type = DF_Type::unit_bp_health_flags; + n_body_part_flags->m_rdf_type = RDF_Type::Vector; + n_body_part_flags->m_node_type = NodeType::Vector; + n_body_part_flags->m_defined_in = "df.units.xml"; + n_body_part_flags->m_addornements = "v"; + n_body_part_flags->m_address = base + offset; + n_body_part_flags->m_parent = p_node_parent; + n_body_part_flags->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_body_part_flags); + + field_name = "unk_18_cntdn"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_health_info, field_name)); + auto n_unk_18_cntdn = new NodeSimple; + n_unk_18_cntdn->m_field_name = field_name; + n_unk_18_cntdn->m_df_type = DF_Type::int16_t; + n_unk_18_cntdn->m_rdf_type = RDF_Type::int16_t; + n_unk_18_cntdn->m_node_type = NodeType::Simple; + n_unk_18_cntdn->m_address = base + offset; + n_unk_18_cntdn->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_18_cntdn); + + field_name = "immobilize_cntdn"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_health_info, field_name)); + auto n_immobilize_cntdn = new NodeSimple; + n_immobilize_cntdn->m_field_name = field_name; + n_immobilize_cntdn->m_df_type = DF_Type::int16_t; + n_immobilize_cntdn->m_rdf_type = RDF_Type::int16_t; + n_immobilize_cntdn->m_node_type = NodeType::Simple; + n_immobilize_cntdn->m_address = base + offset; + n_immobilize_cntdn->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_immobilize_cntdn); + + field_name = "dressing_cntdn"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_health_info, field_name)); + auto n_dressing_cntdn = new NodeSimple; + n_dressing_cntdn->m_field_name = field_name; + n_dressing_cntdn->m_df_type = DF_Type::int16_t; + n_dressing_cntdn->m_rdf_type = RDF_Type::int16_t; + n_dressing_cntdn->m_node_type = NodeType::Simple; + n_dressing_cntdn->m_address = base + offset; + n_dressing_cntdn->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dressing_cntdn); + + field_name = "suture_cntdn"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_health_info, field_name)); + auto n_suture_cntdn = new NodeSimple; + n_suture_cntdn->m_field_name = field_name; + n_suture_cntdn->m_df_type = DF_Type::int16_t; + n_suture_cntdn->m_rdf_type = RDF_Type::int16_t; + n_suture_cntdn->m_node_type = NodeType::Simple; + n_suture_cntdn->m_address = base + offset; + n_suture_cntdn->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_suture_cntdn); + + field_name = "crutch_cntdn"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_health_info, field_name)); + auto n_crutch_cntdn = new NodeSimple; + n_crutch_cntdn->m_field_name = field_name; + n_crutch_cntdn->m_df_type = DF_Type::int16_t; + n_crutch_cntdn->m_rdf_type = RDF_Type::int16_t; + n_crutch_cntdn->m_node_type = NodeType::Simple; + n_crutch_cntdn->m_address = base + offset; + n_crutch_cntdn->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_crutch_cntdn); + + field_name = "op_history"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_health_info, field_name)); + auto n_op_history = new NodeVector; + n_op_history->m_field_name = field_name; + n_op_history->m_df_type = DF_Type::unit_health_info__T_op_history; + n_op_history->m_rdf_type = RDF_Type::Vector; + n_op_history->m_node_type = NodeType::Vector; + n_op_history->m_addornements = "v*"; + n_op_history->m_address = base + offset; + n_op_history->m_parent = p_node_parent; + n_op_history->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_op_history); + + field_name = "unk_34"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_health_info, field_name)); + auto n_unk_34 = new NodeVector; + n_unk_34->m_field_name = field_name; + n_unk_34->m_df_type = DF_Type::Void; + n_unk_34->m_rdf_type = RDF_Type::Vector; + n_unk_34->m_node_type = NodeType::Vector; + n_unk_34->m_addornements = "v"; + n_unk_34->m_address = base + offset; + n_unk_34->m_parent = p_node_parent; + n_unk_34->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_34); + +} +void node_from_unit_instrument_skill(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_instrument_skill, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_refers_to = "$global.world.raws.itemdefs.instruments[$].name"; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "rating"; + auto n_rating = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_instrument_skill, field_name)); + n_rating->m_field_name = field_name; + n_rating->m_df_type = DF_Type::skill_rating; + n_rating->m_rdf_type = RDF_Type::Enum; + n_rating->m_node_type = NodeType::Enum; + n_rating->m_base_type = DF_Type::int32_t; + n_rating->m_enum_type = "skill_rating"; + n_rating->m_address = base + offset; + n_rating->m_defined_in = "df.units.xml"; + n_rating->m_first_value = 0; + n_rating->m_last_value = 20; + n_rating->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rating); + + field_name = "experience"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_instrument_skill, field_name)); + auto n_experience = new NodeSimple; + n_experience->m_field_name = field_name; + n_experience->m_df_type = DF_Type::int32_t; + n_experience->m_rdf_type = RDF_Type::int32_t; + n_experience->m_node_type = NodeType::Simple; + n_experience->m_address = base + offset; + n_experience->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_experience); + +} +void node_from_unit_poetic_skill(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_poetic_skill, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_refers_to = "$global.world.poetic_forms.all[$].name"; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "rating"; + auto n_rating = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_poetic_skill, field_name)); + n_rating->m_field_name = field_name; + n_rating->m_df_type = DF_Type::skill_rating; + n_rating->m_rdf_type = RDF_Type::Enum; + n_rating->m_node_type = NodeType::Enum; + n_rating->m_base_type = DF_Type::int32_t; + n_rating->m_enum_type = "skill_rating"; + n_rating->m_address = base + offset; + n_rating->m_defined_in = "df.units.xml"; + n_rating->m_first_value = 0; + n_rating->m_last_value = 20; + n_rating->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rating); + + field_name = "experience"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_poetic_skill, field_name)); + auto n_experience = new NodeSimple; + n_experience->m_field_name = field_name; + n_experience->m_df_type = DF_Type::int32_t; + n_experience->m_rdf_type = RDF_Type::int32_t; + n_experience->m_node_type = NodeType::Simple; + n_experience->m_address = base + offset; + n_experience->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_experience); + +} +void node_from_unit_musical_skill(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_musical_skill, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_refers_to = "$global.world.musical_forms.all[$].name"; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "rating"; + auto n_rating = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_musical_skill, field_name)); + n_rating->m_field_name = field_name; + n_rating->m_df_type = DF_Type::skill_rating; + n_rating->m_rdf_type = RDF_Type::Enum; + n_rating->m_node_type = NodeType::Enum; + n_rating->m_base_type = DF_Type::int32_t; + n_rating->m_enum_type = "skill_rating"; + n_rating->m_address = base + offset; + n_rating->m_defined_in = "df.units.xml"; + n_rating->m_first_value = 0; + n_rating->m_last_value = 20; + n_rating->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rating); + + field_name = "experience"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_musical_skill, field_name)); + auto n_experience = new NodeSimple; + n_experience->m_field_name = field_name; + n_experience->m_df_type = DF_Type::int32_t; + n_experience->m_rdf_type = RDF_Type::int32_t; + n_experience->m_node_type = NodeType::Simple; + n_experience->m_address = base + offset; + n_experience->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_experience); + +} +void node_from_unit_dance_skill(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_dance_skill, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_refers_to = "$global.world.dance_forms.all[$].name"; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "rating"; + auto n_rating = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_dance_skill, field_name)); + n_rating->m_field_name = field_name; + n_rating->m_df_type = DF_Type::skill_rating; + n_rating->m_rdf_type = RDF_Type::Enum; + n_rating->m_node_type = NodeType::Enum; + n_rating->m_base_type = DF_Type::int32_t; + n_rating->m_enum_type = "skill_rating"; + n_rating->m_address = base + offset; + n_rating->m_defined_in = "df.units.xml"; + n_rating->m_first_value = 0; + n_rating->m_last_value = 20; + n_rating->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rating); + + field_name = "experience"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_dance_skill, field_name)); + auto n_experience = new NodeSimple; + n_experience->m_field_name = field_name; + n_experience->m_df_type = DF_Type::int32_t; + n_experience->m_rdf_type = RDF_Type::int32_t; + n_experience->m_node_type = NodeType::Simple; + n_experience->m_address = base + offset; + n_experience->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_experience); + +} +void node_from_unit_emotion_memory(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "type"; + auto n_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_emotion_memory, field_name)); + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::emotion_type; + n_type->m_rdf_type = RDF_Type::Enum; + n_type->m_node_type = NodeType::Enum; + n_type->m_base_type = DF_Type::int32_t; + n_type->m_enum_type = "emotion_type"; + n_type->m_address = base + offset; + n_type->m_defined_in = "df.unit-thoughts.xml"; + n_type->m_first_value = -1; + n_type->m_last_value = 169; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + + field_name = "unk2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_emotion_memory, field_name)); + auto n_unk2 = new NodeSimple; + n_unk2->m_field_name = field_name; + n_unk2->m_df_type = DF_Type::int32_t; + n_unk2->m_rdf_type = RDF_Type::int32_t; + n_unk2->m_node_type = NodeType::Simple; + n_unk2->m_address = base + offset; + n_unk2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk2); + + field_name = "strength"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_emotion_memory, field_name)); + auto n_strength = new NodeSimple; + n_strength->m_field_name = field_name; + n_strength->m_df_type = DF_Type::int32_t; + n_strength->m_rdf_type = RDF_Type::int32_t; + n_strength->m_node_type = NodeType::Simple; + n_strength->m_address = base + offset; + n_strength->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_strength); + + field_name = "thought"; + auto n_thought = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_emotion_memory, field_name)); + n_thought->m_field_name = field_name; + n_thought->m_df_type = DF_Type::unit_thought_type; + n_thought->m_rdf_type = RDF_Type::Enum; + n_thought->m_node_type = NodeType::Enum; + n_thought->m_base_type = DF_Type::int32_t; + n_thought->m_enum_type = "unit_thought_type"; + n_thought->m_address = base + offset; + n_thought->m_defined_in = "df.unit-thoughts.xml"; + n_thought->m_first_value = -1; + n_thought->m_last_value = 242; + n_thought->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_thought); + + field_name = "subthought"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_emotion_memory, field_name)); + auto n_subthought = new NodeSimple; + n_subthought->m_field_name = field_name; + n_subthought->m_df_type = DF_Type::int32_t; + n_subthought->m_rdf_type = RDF_Type::int32_t; + n_subthought->m_node_type = NodeType::Simple; + n_subthought->m_address = base + offset; + n_subthought->m_comment = "for certain thoughts"; + n_subthought->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_subthought); + + field_name = "severity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_emotion_memory, field_name)); + auto n_severity = new NodeSimple; + n_severity->m_field_name = field_name; + n_severity->m_df_type = DF_Type::int32_t; + n_severity->m_rdf_type = RDF_Type::int32_t; + n_severity->m_node_type = NodeType::Simple; + n_severity->m_address = base + offset; + n_severity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_severity); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_emotion_memory, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_emotion_memory, field_name)); + auto n_year = new NodeSimple; + n_year->m_field_name = field_name; + n_year->m_df_type = DF_Type::int32_t; + n_year->m_rdf_type = RDF_Type::int32_t; + n_year->m_node_type = NodeType::Simple; + n_year->m_address = base + offset; + n_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_year); + + field_name = "year_tick"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_emotion_memory, field_name)); + auto n_year_tick = new NodeSimple; + n_year_tick->m_field_name = field_name; + n_year_tick->m_df_type = DF_Type::int32_t; + n_year_tick->m_rdf_type = RDF_Type::int32_t; + n_year_tick->m_node_type = NodeType::Simple; + n_year_tick->m_address = base + offset; + n_year_tick->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_year_tick); + +} +void node_from_unit_personality__T_values(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "type"; + auto n_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_values, field_name)); + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::value_type; + n_type->m_rdf_type = RDF_Type::Enum; + n_type->m_node_type = NodeType::Enum; + n_type->m_base_type = DF_Type::int32_t; + n_type->m_enum_type = "value_type"; + n_type->m_address = base + offset; + n_type->m_defined_in = "df.units.xml"; + n_type->m_first_value = -1; + n_type->m_last_value = 32; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + + field_name = "strength"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_values, field_name)); + auto n_strength = new NodeSimple; + n_strength->m_field_name = field_name; + n_strength->m_df_type = DF_Type::int32_t; + n_strength->m_rdf_type = RDF_Type::int32_t; + n_strength->m_node_type = NodeType::Simple; + n_strength->m_address = base + offset; + n_strength->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_strength); + +} +void node_from_unit_personality__T_unk_v40_2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_unk_v40_2, field_name)); + auto n_unk1 = new NodeSimple; + n_unk1->m_field_name = field_name; + n_unk1->m_df_type = DF_Type::int16_t; + n_unk1->m_rdf_type = RDF_Type::int16_t; + n_unk1->m_node_type = NodeType::Simple; + n_unk1->m_address = base + offset; + n_unk1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk1); + + field_name = "unk2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_unk_v40_2, field_name)); + auto n_unk2 = new NodeSimple; + n_unk2->m_field_name = field_name; + n_unk2->m_df_type = DF_Type::int16_t; + n_unk2->m_rdf_type = RDF_Type::int16_t; + n_unk2->m_node_type = NodeType::Simple; + n_unk2->m_address = base + offset; + n_unk2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk2); + +} +void node_from_unit_personality__T_emotions(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "type"; + auto n_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_emotions, field_name)); + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::emotion_type; + n_type->m_rdf_type = RDF_Type::Enum; + n_type->m_node_type = NodeType::Enum; + n_type->m_base_type = DF_Type::int32_t; + n_type->m_enum_type = "emotion_type"; + n_type->m_address = base + offset; + n_type->m_defined_in = "df.unit-thoughts.xml"; + n_type->m_first_value = -1; + n_type->m_last_value = 169; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + + field_name = "unk2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_emotions, field_name)); + auto n_unk2 = new NodeSimple; + n_unk2->m_field_name = field_name; + n_unk2->m_df_type = DF_Type::int32_t; + n_unk2->m_rdf_type = RDF_Type::int32_t; + n_unk2->m_node_type = NodeType::Simple; + n_unk2->m_address = base + offset; + n_unk2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk2); + + field_name = "strength"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_emotions, field_name)); + auto n_strength = new NodeSimple; + n_strength->m_field_name = field_name; + n_strength->m_df_type = DF_Type::int32_t; + n_strength->m_rdf_type = RDF_Type::int32_t; + n_strength->m_node_type = NodeType::Simple; + n_strength->m_address = base + offset; + n_strength->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_strength); + + field_name = "thought"; + auto n_thought = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_emotions, field_name)); + n_thought->m_field_name = field_name; + n_thought->m_df_type = DF_Type::unit_thought_type; + n_thought->m_rdf_type = RDF_Type::Enum; + n_thought->m_node_type = NodeType::Enum; + n_thought->m_base_type = DF_Type::int32_t; + n_thought->m_enum_type = "unit_thought_type"; + n_thought->m_address = base + offset; + n_thought->m_defined_in = "df.unit-thoughts.xml"; + n_thought->m_first_value = -1; + n_thought->m_last_value = 242; + n_thought->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_thought); + + field_name = "subthought"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_emotions, field_name)); + auto n_subthought = new NodeSimple; + n_subthought->m_field_name = field_name; + n_subthought->m_df_type = DF_Type::int32_t; + n_subthought->m_rdf_type = RDF_Type::int32_t; + n_subthought->m_node_type = NodeType::Simple; + n_subthought->m_address = base + offset; + n_subthought->m_comment = "for certain thoughts"; + n_subthought->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_subthought); + + field_name = "severity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_emotions, field_name)); + auto n_severity = new NodeSimple; + n_severity->m_field_name = field_name; + n_severity->m_df_type = DF_Type::int32_t; + n_severity->m_rdf_type = RDF_Type::int32_t; + n_severity->m_node_type = NodeType::Simple; + n_severity->m_address = base + offset; + n_severity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_severity); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_emotions, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::unit_personality__T_emotions__T_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "unk7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_emotions, field_name)); + auto n_unk7 = new NodeSimple; + n_unk7->m_field_name = field_name; + n_unk7->m_df_type = DF_Type::int32_t; + n_unk7->m_rdf_type = RDF_Type::int32_t; + n_unk7->m_node_type = NodeType::Simple; + n_unk7->m_address = base + offset; + n_unk7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk7); + + field_name = "year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_emotions, field_name)); + auto n_year = new NodeSimple; + n_year->m_field_name = field_name; + n_year->m_df_type = DF_Type::int32_t; + n_year->m_rdf_type = RDF_Type::int32_t; + n_year->m_node_type = NodeType::Simple; + n_year->m_address = base + offset; + n_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_year); + + field_name = "year_tick"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_emotions, field_name)); + auto n_year_tick = new NodeSimple; + n_year_tick->m_field_name = field_name; + n_year_tick->m_df_type = DF_Type::int32_t; + n_year_tick->m_rdf_type = RDF_Type::int32_t; + n_year_tick->m_node_type = NodeType::Simple; + n_year_tick->m_address = base + offset; + n_year_tick->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_year_tick); + +} +void node_from_unit_personality__T_dreams(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_dreams, field_name)); + auto n_unk1 = new NodeSimple; + n_unk1->m_field_name = field_name; + n_unk1->m_df_type = DF_Type::int32_t; + n_unk1->m_rdf_type = RDF_Type::int32_t; + n_unk1->m_node_type = NodeType::Simple; + n_unk1->m_address = base + offset; + n_unk1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk1); + + field_name = "type"; + auto n_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_dreams, field_name)); + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::goal_type; + n_type->m_rdf_type = RDF_Type::Enum; + n_type->m_node_type = NodeType::Enum; + n_type->m_base_type = DF_Type::int32_t; + n_type->m_enum_type = "goal_type"; + n_type->m_address = base + offset; + n_type->m_defined_in = "df.units.xml"; + n_type->m_first_value = 0; + n_type->m_last_value = 12; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + + field_name = "unk3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_dreams, field_name)); + auto n_unk3 = new NodeSimple; + n_unk3->m_field_name = field_name; + n_unk3->m_df_type = DF_Type::int32_t; + n_unk3->m_rdf_type = RDF_Type::int32_t; + n_unk3->m_node_type = NodeType::Simple; + n_unk3->m_address = base + offset; + n_unk3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk3); + + field_name = "unk4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_dreams, field_name)); + auto n_unk4 = new NodeVector; + n_unk4->m_field_name = field_name; + n_unk4->m_df_type = DF_Type::int32_t; + n_unk4->m_rdf_type = RDF_Type::Vector; + n_unk4->m_node_type = NodeType::Vector; + n_unk4->m_addornements = "v"; + n_unk4->m_address = base + offset; + n_unk4->m_parent = p_node_parent; + n_unk4->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk4); + + field_name = "unk8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_dreams, field_name)); + auto n_unk8 = new NodeSimple; + n_unk8->m_field_name = field_name; + n_unk8->m_df_type = DF_Type::int32_t; + n_unk8->m_rdf_type = RDF_Type::int32_t; + n_unk8->m_node_type = NodeType::Simple; + n_unk8->m_address = base + offset; + n_unk8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk8); + +} +void node_from_unit_personality__T_unk_v40_6(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_unk_v40_6, field_name)); + auto n_unk1 = new NodeSimple; + n_unk1->m_field_name = field_name; + n_unk1->m_df_type = DF_Type::int32_t; + n_unk1->m_rdf_type = RDF_Type::int32_t; + n_unk1->m_node_type = NodeType::Simple; + n_unk1->m_address = base + offset; + n_unk1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk1); + + field_name = "unk2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_unk_v40_6, field_name)); + auto n_unk2 = new NodeSimple; + n_unk2->m_field_name = field_name; + n_unk2->m_df_type = DF_Type::int32_t; + n_unk2->m_rdf_type = RDF_Type::int32_t; + n_unk2->m_node_type = NodeType::Simple; + n_unk2->m_address = base + offset; + n_unk2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk2); + + field_name = "unk3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_unk_v40_6, field_name)); + auto n_unk3 = new NodeSimple; + n_unk3->m_field_name = field_name; + n_unk3->m_df_type = DF_Type::int32_t; + n_unk3->m_rdf_type = RDF_Type::int32_t; + n_unk3->m_node_type = NodeType::Simple; + n_unk3->m_address = base + offset; + n_unk3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk3); + + field_name = "unk4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_unk_v40_6, field_name)); + auto n_unk4 = new NodeSimple; + n_unk4->m_field_name = field_name; + n_unk4->m_df_type = DF_Type::int32_t; + n_unk4->m_rdf_type = RDF_Type::int32_t; + n_unk4->m_node_type = NodeType::Simple; + n_unk4->m_address = base + offset; + n_unk4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk4); + + field_name = "unk5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_unk_v40_6, field_name)); + auto n_unk5 = new NodeSimple; + n_unk5->m_field_name = field_name; + n_unk5->m_df_type = DF_Type::int32_t; + n_unk5->m_rdf_type = RDF_Type::int32_t; + n_unk5->m_node_type = NodeType::Simple; + n_unk5->m_address = base + offset; + n_unk5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk5); + + field_name = "unk6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_unk_v40_6, field_name)); + auto n_unk6 = new NodeSimple; + n_unk6->m_field_name = field_name; + n_unk6->m_df_type = DF_Type::int32_t; + n_unk6->m_rdf_type = RDF_Type::int32_t; + n_unk6->m_node_type = NodeType::Simple; + n_unk6->m_address = base + offset; + n_unk6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk6); + +} +void node_from_unit_personality__T_unk5(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_unk5, field_name)); + auto n_unk1 = new NodeSimple; + n_unk1->m_field_name = field_name; + n_unk1->m_df_type = DF_Type::int16_t; + n_unk1->m_rdf_type = RDF_Type::int16_t; + n_unk1->m_node_type = NodeType::Simple; + n_unk1->m_address = base + offset; + n_unk1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk1); + + field_name = "unk2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_unk5, field_name)); + auto n_unk2 = new NodeSimple; + n_unk2->m_field_name = field_name; + n_unk2->m_df_type = DF_Type::int16_t; + n_unk2->m_rdf_type = RDF_Type::int16_t; + n_unk2->m_node_type = NodeType::Simple; + n_unk2->m_address = base + offset; + n_unk2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk2); + +} +void node_from_unit_personality__T_needs(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + auto n_id = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_needs, field_name)); + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::need_type; + n_id->m_rdf_type = RDF_Type::Enum; + n_id->m_node_type = NodeType::Enum; + n_id->m_base_type = DF_Type::int32_t; + n_id->m_enum_type = "need_type"; + n_id->m_address = base + offset; + n_id->m_defined_in = "df.units.xml"; + n_id->m_first_value = 0; + n_id->m_last_value = 29; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "deity_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_needs, field_name)); + auto n_deity_id = new NodeSimple; + n_deity_id->m_field_name = field_name; + n_deity_id->m_df_type = DF_Type::int32_t; + n_deity_id->m_rdf_type = RDF_Type::int32_t; + n_deity_id->m_node_type = NodeType::Simple; + n_deity_id->m_address = base + offset; + n_deity_id->m_comment = "for pray need"; + n_deity_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_deity_id); + + field_name = "focus_level"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_needs, field_name)); + auto n_focus_level = new NodeSimple; + n_focus_level->m_field_name = field_name; + n_focus_level->m_df_type = DF_Type::int32_t; + n_focus_level->m_rdf_type = RDF_Type::int32_t; + n_focus_level->m_node_type = NodeType::Simple; + n_focus_level->m_address = base + offset; + n_focus_level->m_comment = "goes to 400 when unit satisfies need"; + n_focus_level->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_focus_level); + + field_name = "need_level"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_needs, field_name)); + auto n_need_level = new NodeSimple; + n_need_level->m_field_name = field_name; + n_need_level->m_df_type = DF_Type::int32_t; + n_need_level->m_rdf_type = RDF_Type::int32_t; + n_need_level->m_node_type = NodeType::Simple; + n_need_level->m_address = base + offset; + n_need_level->m_comment = "how fast focus_level decreases when it below 0"; + n_need_level->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_need_level); + +} +void node_from_unit_personality__T_memories__T_reflected_on(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "memory"; + auto n_memory = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_memories__T_reflected_on, field_name)); + n_memory->m_field_name = field_name; + n_memory->m_df_type = DF_Type::unit_emotion_memory; + n_memory->m_rdf_type = RDF_Type::Struct; + n_memory->m_node_type = NodeType::Compound; + n_memory->m_address = base + offset; + n_memory->m_defined_in = "df.units.xml"; + n_memory->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_memory); + + field_name = "changed_facet"; + auto n_changed_facet = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_memories__T_reflected_on, field_name)); + n_changed_facet->m_field_name = field_name; + n_changed_facet->m_df_type = DF_Type::personality_facet_type; + n_changed_facet->m_rdf_type = RDF_Type::Enum; + n_changed_facet->m_node_type = NodeType::Enum; + n_changed_facet->m_base_type = DF_Type::int32_t; + n_changed_facet->m_enum_type = "personality_facet_type"; + n_changed_facet->m_address = base + offset; + n_changed_facet->m_defined_in = "df.units.xml"; + n_changed_facet->m_first_value = -1; + n_changed_facet->m_last_value = 49; + n_changed_facet->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_changed_facet); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_memories__T_reflected_on, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_memories__T_reflected_on, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "changed_value"; + auto n_changed_value = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_memories__T_reflected_on, field_name)); + n_changed_value->m_field_name = field_name; + n_changed_value->m_df_type = DF_Type::value_type; + n_changed_value->m_rdf_type = RDF_Type::Enum; + n_changed_value->m_node_type = NodeType::Enum; + n_changed_value->m_base_type = DF_Type::int32_t; + n_changed_value->m_enum_type = "value_type"; + n_changed_value->m_address = base + offset; + n_changed_value->m_defined_in = "df.units.xml"; + n_changed_value->m_first_value = -1; + n_changed_value->m_last_value = 32; + n_changed_value->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_changed_value); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_memories__T_reflected_on, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_memories__T_reflected_on, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + +} +void node_from_unit_personality__T_memories(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "shortterm"; + auto n_shortterm = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_memories, field_name)); + n_shortterm->m_field_name = field_name; + n_shortterm->m_df_type = DF_Type::unit_emotion_memory; + n_shortterm->m_rdf_type = RDF_Type::Array; + n_shortterm->m_node_type = NodeType::Array; + n_shortterm->m_defined_in = "df.units.xml"; + n_shortterm->m_addornements = "[8"; + n_shortterm->m_array_size = 8; + n_shortterm->m_address = base + offset; + n_shortterm->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_shortterm); + + field_name = "longterm"; + auto n_longterm = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_memories, field_name)); + n_longterm->m_field_name = field_name; + n_longterm->m_df_type = DF_Type::unit_emotion_memory; + n_longterm->m_rdf_type = RDF_Type::Array; + n_longterm->m_node_type = NodeType::Array; + n_longterm->m_defined_in = "df.units.xml"; + n_longterm->m_addornements = "[8"; + n_longterm->m_array_size = 8; + n_longterm->m_address = base + offset; + n_longterm->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_longterm); + + field_name = "reflected_on"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality__T_memories, field_name)); + auto n_reflected_on = new NodeVector; + n_reflected_on->m_field_name = field_name; + n_reflected_on->m_df_type = DF_Type::unit_personality__T_memories__T_reflected_on; + n_reflected_on->m_rdf_type = RDF_Type::Vector; + n_reflected_on->m_node_type = NodeType::Vector; + n_reflected_on->m_addornements = "v*"; + n_reflected_on->m_address = base + offset; + n_reflected_on->m_parent = p_node_parent; + n_reflected_on->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_reflected_on); + +} +void node_from_unit_personality(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "values"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality, field_name)); + auto n_values = new NodeVector; + n_values->m_field_name = field_name; + n_values->m_df_type = DF_Type::unit_personality__T_values; + n_values->m_rdf_type = RDF_Type::Vector; + n_values->m_node_type = NodeType::Vector; + n_values->m_addornements = "v*"; + n_values->m_address = base + offset; + n_values->m_parent = p_node_parent; + n_values->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_values); + + field_name = "unk_v40_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality, field_name)); + auto n_unk_v40_2 = new NodeVector; + n_unk_v40_2->m_field_name = field_name; + n_unk_v40_2->m_df_type = DF_Type::unit_personality__T_unk_v40_2; + n_unk_v40_2->m_rdf_type = RDF_Type::Vector; + n_unk_v40_2->m_node_type = NodeType::Vector; + n_unk_v40_2->m_addornements = "v*"; + n_unk_v40_2->m_address = base + offset; + n_unk_v40_2->m_parent = p_node_parent; + n_unk_v40_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_v40_2); + + field_name = "emotions"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality, field_name)); + auto n_emotions = new NodeVector; + n_emotions->m_field_name = field_name; + n_emotions->m_df_type = DF_Type::unit_personality__T_emotions; + n_emotions->m_rdf_type = RDF_Type::Vector; + n_emotions->m_node_type = NodeType::Vector; + n_emotions->m_addornements = "v*"; + n_emotions->m_address = base + offset; + n_emotions->m_parent = p_node_parent; + n_emotions->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_emotions); + + field_name = "dreams"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality, field_name)); + auto n_dreams = new NodeVector; + n_dreams->m_field_name = field_name; + n_dreams->m_df_type = DF_Type::unit_personality__T_dreams; + n_dreams->m_rdf_type = RDF_Type::Vector; + n_dreams->m_node_type = NodeType::Vector; + n_dreams->m_addornements = "v*"; + n_dreams->m_address = base + offset; + n_dreams->m_parent = p_node_parent; + n_dreams->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_dreams); + + field_name = "next_dream_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality, field_name)); + auto n_next_dream_id = new NodeSimple; + n_next_dream_id->m_field_name = field_name; + n_next_dream_id->m_df_type = DF_Type::int32_t; + n_next_dream_id->m_rdf_type = RDF_Type::int32_t; + n_next_dream_id->m_node_type = NodeType::Simple; + n_next_dream_id->m_address = base + offset; + n_next_dream_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_next_dream_id); + + field_name = "unk_v40_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality, field_name)); + auto n_unk_v40_6 = new NodeVector; + n_unk_v40_6->m_field_name = field_name; + n_unk_v40_6->m_df_type = DF_Type::unit_personality__T_unk_v40_6; + n_unk_v40_6->m_rdf_type = RDF_Type::Vector; + n_unk_v40_6->m_node_type = NodeType::Vector; + n_unk_v40_6->m_addornements = "v*"; + n_unk_v40_6->m_address = base + offset; + n_unk_v40_6->m_parent = p_node_parent; + n_unk_v40_6->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_v40_6); + + field_name = "traits"; + auto n_traits = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality, field_name)); + n_traits->m_field_name = field_name; + n_traits->m_df_type = DF_Type::uint16_t; + n_traits->m_rdf_type = RDF_Type::Array; + n_traits->m_node_type = NodeType::Array; + n_traits->m_index_enum = DF_Type::personality_facet_type; + n_traits->m_addornements = "[50"; + n_traits->m_array_size = 50; + n_traits->m_address = base + offset; + n_traits->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_traits); + + field_name = "civ_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality, field_name)); + auto n_civ_id = new NodeSimple; + n_civ_id->m_field_name = field_name; + n_civ_id->m_df_type = DF_Type::int32_t; + n_civ_id->m_rdf_type = RDF_Type::int32_t; + n_civ_id->m_node_type = NodeType::Simple; + n_civ_id->m_address = base + offset; + n_civ_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_civ_id); + + field_name = "cultural_identity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality, field_name)); + auto n_cultural_identity = new NodeSimple; + n_cultural_identity->m_field_name = field_name; + n_cultural_identity->m_df_type = DF_Type::int32_t; + n_cultural_identity->m_rdf_type = RDF_Type::int32_t; + n_cultural_identity->m_node_type = NodeType::Simple; + n_cultural_identity->m_address = base + offset; + n_cultural_identity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cultural_identity); + + field_name = "unk5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality, field_name)); + auto n_unk5 = new NodeVector; + n_unk5->m_field_name = field_name; + n_unk5->m_df_type = DF_Type::unit_personality__T_unk5; + n_unk5->m_rdf_type = RDF_Type::Vector; + n_unk5->m_node_type = NodeType::Vector; + n_unk5->m_addornements = "v*"; + n_unk5->m_address = base + offset; + n_unk5->m_parent = p_node_parent; + n_unk5->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk5); + + field_name = "unk6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality, field_name)); + auto n_unk6 = new NodeVector; + n_unk6->m_field_name = field_name; + n_unk6->m_df_type = DF_Type::int16_t; + n_unk6->m_rdf_type = RDF_Type::Vector; + n_unk6->m_node_type = NodeType::Vector; + n_unk6->m_addornements = "v"; + n_unk6->m_address = base + offset; + n_unk6->m_parent = p_node_parent; + n_unk6->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk6); + + field_name = "stress_level"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality, field_name)); + auto n_stress_level = new NodeSimple; + n_stress_level->m_field_name = field_name; + n_stress_level->m_df_type = DF_Type::int32_t; + n_stress_level->m_rdf_type = RDF_Type::int32_t; + n_stress_level->m_node_type = NodeType::Simple; + n_stress_level->m_address = base + offset; + n_stress_level->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_stress_level); + + field_name = "stress_drain"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality, field_name)); + auto n_stress_drain = new NodeSimple; + n_stress_drain->m_field_name = field_name; + n_stress_drain->m_df_type = DF_Type::int32_t; + n_stress_drain->m_rdf_type = RDF_Type::int32_t; + n_stress_drain->m_node_type = NodeType::Simple; + n_stress_drain->m_address = base + offset; + n_stress_drain->m_comment = "range 0-806400, higher values cause stress to decrease quicker"; + n_stress_drain->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_stress_drain); + + field_name = "stress_boost"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality, field_name)); + auto n_stress_boost = new NodeSimple; + n_stress_boost->m_field_name = field_name; + n_stress_boost->m_df_type = DF_Type::int32_t; + n_stress_boost->m_rdf_type = RDF_Type::int32_t; + n_stress_boost->m_node_type = NodeType::Simple; + n_stress_boost->m_address = base + offset; + n_stress_boost->m_comment = "range 0-806400, higher values cause stress to increase quicker"; + n_stress_boost->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_stress_boost); + + field_name = "likes_outdoors"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality, field_name)); + auto n_likes_outdoors = new NodeSimple; + n_likes_outdoors->m_field_name = field_name; + n_likes_outdoors->m_df_type = DF_Type::int32_t; + n_likes_outdoors->m_rdf_type = RDF_Type::int32_t; + n_likes_outdoors->m_node_type = NodeType::Simple; + n_likes_outdoors->m_address = base + offset; + n_likes_outdoors->m_comment = "migrated from misc_traits"; + n_likes_outdoors->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_likes_outdoors); + + field_name = "combat_hardened"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality, field_name)); + auto n_combat_hardened = new NodeSimple; + n_combat_hardened->m_field_name = field_name; + n_combat_hardened->m_df_type = DF_Type::int32_t; + n_combat_hardened->m_rdf_type = RDF_Type::int32_t; + n_combat_hardened->m_node_type = NodeType::Simple; + n_combat_hardened->m_address = base + offset; + n_combat_hardened->m_comment = "migrated from misc_traits"; + n_combat_hardened->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_combat_hardened); + + field_name = "needs"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality, field_name)); + auto n_needs = new NodeVector; + n_needs->m_field_name = field_name; + n_needs->m_df_type = DF_Type::unit_personality__T_needs; + n_needs->m_rdf_type = RDF_Type::Vector; + n_needs->m_node_type = NodeType::Vector; + n_needs->m_addornements = "v*"; + n_needs->m_address = base + offset; + n_needs->m_parent = p_node_parent; + n_needs->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_needs); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::unit_personality__T_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "temporary_trait_changes"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality, field_name)); + auto n_temporary_trait_changes = new NodePointer; + n_temporary_trait_changes->m_field_name = field_name; + n_temporary_trait_changes->m_df_type = get_real_subtype(base+offset, DF_Type::int16_t); + n_temporary_trait_changes->m_rdf_type = RDF_Type::Pointer; + n_temporary_trait_changes->m_node_type = NodeType::Pointer; + n_temporary_trait_changes->m_addornements = "*[50"; + n_temporary_trait_changes->m_address = base + offset; + n_temporary_trait_changes->m_comment = "sum of inebriation or so personality changing effects"; + n_temporary_trait_changes->m_parent = p_node_parent; + n_temporary_trait_changes->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_temporary_trait_changes); + + field_name = "unk_v4201_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality, field_name)); + auto n_unk_v4201_3 = new NodeSimple; + n_unk_v4201_3->m_field_name = field_name; + n_unk_v4201_3->m_df_type = DF_Type::int32_t; + n_unk_v4201_3->m_rdf_type = RDF_Type::int32_t; + n_unk_v4201_3->m_node_type = NodeType::Simple; + n_unk_v4201_3->m_address = base + offset; + n_unk_v4201_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v4201_3); + + field_name = "unk_v4201_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality, field_name)); + auto n_unk_v4201_4 = new NodeSimple; + n_unk_v4201_4->m_field_name = field_name; + n_unk_v4201_4->m_df_type = DF_Type::int32_t; + n_unk_v4201_4->m_rdf_type = RDF_Type::int32_t; + n_unk_v4201_4->m_node_type = NodeType::Simple; + n_unk_v4201_4->m_address = base + offset; + n_unk_v4201_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v4201_4); + + field_name = "memories"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality, field_name)); + auto n_memories = new NodePointer; + n_memories->m_field_name = field_name; + n_memories->m_df_type = get_real_subtype(base+offset, DF_Type::unit_personality__T_memories); + n_memories->m_rdf_type = RDF_Type::Pointer; + n_memories->m_node_type = NodeType::Pointer; + n_memories->m_addornements = "*"; + n_memories->m_address = base + offset; + n_memories->m_parent = p_node_parent; + n_memories->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_memories); + + field_name = "current_focus"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality, field_name)); + auto n_current_focus = new NodeSimple; + n_current_focus->m_field_name = field_name; + n_current_focus->m_df_type = DF_Type::int32_t; + n_current_focus->m_rdf_type = RDF_Type::int32_t; + n_current_focus->m_node_type = NodeType::Simple; + n_current_focus->m_address = base + offset; + n_current_focus->m_comment = "weighted sum of needs focus_level-s"; + n_current_focus->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_current_focus); + + field_name = "undistracted_focus"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_personality, field_name)); + auto n_undistracted_focus = new NodeSimple; + n_undistracted_focus->m_field_name = field_name; + n_undistracted_focus->m_df_type = DF_Type::int32_t; + n_undistracted_focus->m_rdf_type = RDF_Type::int32_t; + n_undistracted_focus->m_node_type = NodeType::Simple; + n_undistracted_focus->m_address = base + offset; + n_undistracted_focus->m_comment = "usually number of needs multiplied by 4"; + n_undistracted_focus->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_undistracted_focus); + +} +void node_from_historical_figure_info__T_skills(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "skills"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_skills, field_name)); + auto n_skills = new NodeVector; + n_skills->m_field_name = field_name; + n_skills->m_df_type = DF_Type::job_skill; + n_skills->m_rdf_type = RDF_Type::Vector; + n_skills->m_node_type = NodeType::Vector; + n_skills->m_enum_base = DF_Type::int16_t; + n_skills->m_defined_in = "df.skills.xml"; + n_skills->m_addornements = "v"; + n_skills->m_address = base + offset; + n_skills->m_parent = p_node_parent; + n_skills->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_skills); + + field_name = "points"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_skills, field_name)); + auto n_points = new NodeVector; + n_points->m_field_name = field_name; + n_points->m_df_type = DF_Type::int32_t; + n_points->m_rdf_type = RDF_Type::Vector; + n_points->m_node_type = NodeType::Vector; + n_points->m_addornements = "v"; + n_points->m_address = base + offset; + n_points->m_refers_to = "$$._parent.skills[$]"; + n_points->m_parent = p_node_parent; + n_points->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_points); + + field_name = "unk_20"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_skills, field_name)); + auto n_unk_20 = new NodeVector; + n_unk_20->m_field_name = field_name; + n_unk_20->m_df_type = DF_Type::int16_t; + n_unk_20->m_rdf_type = RDF_Type::Vector; + n_unk_20->m_node_type = NodeType::Vector; + n_unk_20->m_addornements = "v"; + n_unk_20->m_address = base + offset; + n_unk_20->m_parent = p_node_parent; + n_unk_20->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_20); + + field_name = "unk_30"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_skills, field_name)); + auto n_unk_30 = new NodeVector; + n_unk_30->m_field_name = field_name; + n_unk_30->m_df_type = DF_Type::int32_t; + n_unk_30->m_rdf_type = RDF_Type::Vector; + n_unk_30->m_node_type = NodeType::Vector; + n_unk_30->m_addornements = "v"; + n_unk_30->m_address = base + offset; + n_unk_30->m_parent = p_node_parent; + n_unk_30->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_30); + + field_name = "profession"; + auto n_profession = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_skills, field_name)); + n_profession->m_field_name = field_name; + n_profession->m_df_type = DF_Type::profession; + n_profession->m_rdf_type = RDF_Type::Enum; + n_profession->m_node_type = NodeType::Enum; + n_profession->m_base_type = DF_Type::int16_t; + n_profession->m_enum_type = "profession"; + n_profession->m_address = base + offset; + n_profession->m_defined_in = "df.skills.xml"; + n_profession->m_first_value = -1; + n_profession->m_last_value = 134; + n_profession->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_profession); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_skills, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_historical_figure_info__T_personality(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + auto n_anon_1 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_personality, field_name)); + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::unit_personality; + n_anon_1->m_rdf_type = RDF_Type::Struct; + n_anon_1->m_node_type = NodeType::Compound; + n_anon_1->m_address = base + offset; + n_anon_1->m_defined_in = "df.units.xml"; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_personality, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int16_t; + n_anon_2->m_rdf_type = RDF_Type::int16_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + +} +void node_from_historical_figure_info__T_masterpieces(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "events"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_masterpieces, field_name)); + auto n_events = new NodeVector; + n_events->m_field_name = field_name; + n_events->m_df_type = DF_Type::int32_t; + n_events->m_rdf_type = RDF_Type::Vector; + n_events->m_node_type = NodeType::Vector; + n_events->m_addornements = "v"; + n_events->m_address = base + offset; + n_events->m_parent = p_node_parent; + n_events->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_events); + + field_name = "events2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_masterpieces, field_name)); + auto n_events2 = new NodeVector; + n_events2->m_field_name = field_name; + n_events2->m_df_type = DF_Type::int32_t; + n_events2->m_rdf_type = RDF_Type::Vector; + n_events2->m_node_type = NodeType::Vector; + n_events2->m_addornements = "v"; + n_events2->m_address = base + offset; + n_events2->m_comment = "ones that were stolen or destroyed?"; + n_events2->m_parent = p_node_parent; + n_events2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_events2); + + field_name = "unk_v43_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_masterpieces, field_name)); + auto n_unk_v43_1 = new NodeVector; + n_unk_v43_1->m_field_name = field_name; + n_unk_v43_1->m_df_type = DF_Type::int32_t; + n_unk_v43_1->m_rdf_type = RDF_Type::Vector; + n_unk_v43_1->m_node_type = NodeType::Vector; + n_unk_v43_1->m_addornements = "v"; + n_unk_v43_1->m_address = base + offset; + n_unk_v43_1->m_parent = p_node_parent; + n_unk_v43_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_v43_1); + + field_name = "unk_v43_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_masterpieces, field_name)); + auto n_unk_v43_2 = new NodeVector; + n_unk_v43_2->m_field_name = field_name; + n_unk_v43_2->m_df_type = DF_Type::int16_t; + n_unk_v43_2->m_rdf_type = RDF_Type::Vector; + n_unk_v43_2->m_node_type = NodeType::Vector; + n_unk_v43_2->m_addornements = "v"; + n_unk_v43_2->m_address = base + offset; + n_unk_v43_2->m_parent = p_node_parent; + n_unk_v43_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_v43_2); + +} +void node_from_historical_figure_info__T_unk_14(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk_0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_unk_14, field_name)); + auto n_unk_0 = new NodeSimple; + n_unk_0->m_field_name = field_name; + n_unk_0->m_df_type = DF_Type::int16_t; + n_unk_0->m_rdf_type = RDF_Type::int16_t; + n_unk_0->m_node_type = NodeType::Simple; + n_unk_0->m_address = base + offset; + n_unk_0->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_0); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_unk_14, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "region_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_unk_14, field_name)); + auto n_region_id = new NodeSimple; + n_region_id->m_field_name = field_name; + n_region_id->m_df_type = DF_Type::int32_t; + n_region_id->m_rdf_type = RDF_Type::int32_t; + n_region_id->m_node_type = NodeType::Simple; + n_region_id->m_address = base + offset; + n_region_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region_id); + + field_name = "beast_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_unk_14, field_name)); + auto n_beast_id = new NodeSimple; + n_beast_id->m_field_name = field_name; + n_beast_id->m_df_type = DF_Type::int32_t; + n_beast_id->m_rdf_type = RDF_Type::int32_t; + n_beast_id->m_node_type = NodeType::Simple; + n_beast_id->m_address = base + offset; + n_beast_id->m_comment = "for FB"; + n_beast_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_beast_id); + + field_name = "army_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_unk_14, field_name)); + auto n_army_id = new NodeSimple; + n_army_id->m_field_name = field_name; + n_army_id->m_df_type = DF_Type::int32_t; + n_army_id->m_rdf_type = RDF_Type::int32_t; + n_army_id->m_node_type = NodeType::Simple; + n_army_id->m_address = base + offset; + n_army_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_army_id); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_unk_14, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_unk_14, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_unk_14, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_unk_14, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "region"; + auto n_region = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_unk_14, field_name)); + n_region->m_field_name = field_name; + n_region->m_df_type = DF_Type::coord2d; + n_region->m_rdf_type = RDF_Type::Struct; + n_region->m_node_type = NodeType::Compound; + n_region->m_address = base + offset; + n_region->m_defined_in = "df.map.xml"; + n_region->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region); + + field_name = "unk_14"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_unk_14, field_name)); + auto n_unk_14 = new NodeSimple; + n_unk_14->m_field_name = field_name; + n_unk_14->m_df_type = DF_Type::int8_t; + n_unk_14->m_rdf_type = RDF_Type::int8_t; + n_unk_14->m_node_type = NodeType::Simple; + n_unk_14->m_address = base + offset; + n_unk_14->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_14); + + field_name = "unk_18"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_unk_14, field_name)); + auto n_unk_18 = new NodeSimple; + n_unk_18->m_field_name = field_name; + n_unk_18->m_df_type = DF_Type::int32_t; + n_unk_18->m_rdf_type = RDF_Type::int32_t; + n_unk_18->m_node_type = NodeType::Simple; + n_unk_18->m_address = base + offset; + n_unk_18->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_18); + + field_name = "unk_1c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_unk_14, field_name)); + auto n_unk_1c = new NodeSimple; + n_unk_1c->m_field_name = field_name; + n_unk_1c->m_df_type = DF_Type::int32_t; + n_unk_1c->m_rdf_type = RDF_Type::int32_t; + n_unk_1c->m_node_type = NodeType::Simple; + n_unk_1c->m_address = base + offset; + n_unk_1c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_1c); + + field_name = "unk_34"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_unk_14, field_name)); + auto n_unk_34 = new NodeSimple; + n_unk_34->m_field_name = field_name; + n_unk_34->m_df_type = DF_Type::int32_t; + n_unk_34->m_rdf_type = RDF_Type::int32_t; + n_unk_34->m_node_type = NodeType::Simple; + n_unk_34->m_address = base + offset; + n_unk_34->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_34); + + field_name = "unk_38"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_unk_14, field_name)); + auto n_unk_38 = new NodeSimple; + n_unk_38->m_field_name = field_name; + n_unk_38->m_df_type = DF_Type::int16_t; + n_unk_38->m_rdf_type = RDF_Type::int16_t; + n_unk_38->m_node_type = NodeType::Simple; + n_unk_38->m_address = base + offset; + n_unk_38->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_38); + + field_name = "unk_3a"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_unk_14, field_name)); + auto n_unk_3a = new NodeSimple; + n_unk_3a->m_field_name = field_name; + n_unk_3a->m_df_type = DF_Type::int16_t; + n_unk_3a->m_rdf_type = RDF_Type::int16_t; + n_unk_3a->m_node_type = NodeType::Simple; + n_unk_3a->m_address = base + offset; + n_unk_3a->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_3a); + +} +void node_from_historical_figure_info__T_wounds(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "events"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_wounds, field_name)); + auto n_events = new NodeVector; + n_events->m_field_name = field_name; + n_events->m_df_type = DF_Type::int32_t; + n_events->m_rdf_type = RDF_Type::Vector; + n_events->m_node_type = NodeType::Vector; + n_events->m_addornements = "v"; + n_events->m_address = base + offset; + n_events->m_parent = p_node_parent; + n_events->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_events); + + field_name = "status"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_wounds, field_name)); + auto n_status = new NodeVector; + n_status->m_field_name = field_name; + n_status->m_df_type = DF_Type::Bool; + n_status->m_rdf_type = RDF_Type::Vector; + n_status->m_node_type = NodeType::Vector; + n_status->m_addornements = "v"; + n_status->m_address = base + offset; + n_status->m_parent = p_node_parent; + n_status->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_status); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_wounds, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_wounds, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_wounds, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + +} +void node_from_historical_figure_info__T_secret__T_anon_1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_anon_1, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_anon_1, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_anon_1, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_anon_1, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_anon_1, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_anon_1, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + +} +void node_from_historical_figure_info__T_secret__T_anon_7(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_anon_7, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_anon_7, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_anon_7, field_name)); + auto n_anon_3 = new NodeVector; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::Vector; + n_anon_3->m_node_type = NodeType::Vector; + n_anon_3->m_addornements = "v"; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + n_anon_3->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_anon_7, field_name)); + auto n_anon_4 = new NodeVector; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::Vector; + n_anon_4->m_node_type = NodeType::Vector; + n_anon_4->m_addornements = "v"; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + n_anon_4->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_anon_7, field_name)); + auto n_anon_5 = new NodeVector; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::Vector; + n_anon_5->m_node_type = NodeType::Vector; + n_anon_5->m_addornements = "v"; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + n_anon_5->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_5); + +} +void node_from_historical_figure_info__T_secret__T_knowledge(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "philosophy"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_knowledge, field_name)); + auto n_philosophy = new NodeBitfield; + n_philosophy->m_field_name = field_name; + n_philosophy->m_df_type = DF_Type::knowledge_scholar_flags_0; + n_philosophy->m_rdf_type = RDF_Type::Bitfield; + n_philosophy->m_node_type = NodeType::Bitfield; + n_philosophy->m_address = base + offset; + n_philosophy->m_defined_in = "df.knowledge.xml"; + n_philosophy->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_philosophy); + + field_name = "philosophy2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_knowledge, field_name)); + auto n_philosophy2 = new NodeBitfield; + n_philosophy2->m_field_name = field_name; + n_philosophy2->m_df_type = DF_Type::knowledge_scholar_flags_1; + n_philosophy2->m_rdf_type = RDF_Type::Bitfield; + n_philosophy2->m_node_type = NodeType::Bitfield; + n_philosophy2->m_address = base + offset; + n_philosophy2->m_defined_in = "df.knowledge.xml"; + n_philosophy2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_philosophy2); + + field_name = "math"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_knowledge, field_name)); + auto n_math = new NodeBitfield; + n_math->m_field_name = field_name; + n_math->m_df_type = DF_Type::knowledge_scholar_flags_2; + n_math->m_rdf_type = RDF_Type::Bitfield; + n_math->m_node_type = NodeType::Bitfield; + n_math->m_address = base + offset; + n_math->m_defined_in = "df.knowledge.xml"; + n_math->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_math); + + field_name = "math2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_knowledge, field_name)); + auto n_math2 = new NodeBitfield; + n_math2->m_field_name = field_name; + n_math2->m_df_type = DF_Type::knowledge_scholar_flags_3; + n_math2->m_rdf_type = RDF_Type::Bitfield; + n_math2->m_node_type = NodeType::Bitfield; + n_math2->m_address = base + offset; + n_math2->m_defined_in = "df.knowledge.xml"; + n_math2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_math2); + + field_name = "history"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_knowledge, field_name)); + auto n_history = new NodeBitfield; + n_history->m_field_name = field_name; + n_history->m_df_type = DF_Type::knowledge_scholar_flags_4; + n_history->m_rdf_type = RDF_Type::Bitfield; + n_history->m_node_type = NodeType::Bitfield; + n_history->m_address = base + offset; + n_history->m_defined_in = "df.knowledge.xml"; + n_history->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_history); + + field_name = "astronomy"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_knowledge, field_name)); + auto n_astronomy = new NodeBitfield; + n_astronomy->m_field_name = field_name; + n_astronomy->m_df_type = DF_Type::knowledge_scholar_flags_5; + n_astronomy->m_rdf_type = RDF_Type::Bitfield; + n_astronomy->m_node_type = NodeType::Bitfield; + n_astronomy->m_address = base + offset; + n_astronomy->m_defined_in = "df.knowledge.xml"; + n_astronomy->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_astronomy); + + field_name = "naturalist"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_knowledge, field_name)); + auto n_naturalist = new NodeBitfield; + n_naturalist->m_field_name = field_name; + n_naturalist->m_df_type = DF_Type::knowledge_scholar_flags_6; + n_naturalist->m_rdf_type = RDF_Type::Bitfield; + n_naturalist->m_node_type = NodeType::Bitfield; + n_naturalist->m_address = base + offset; + n_naturalist->m_defined_in = "df.knowledge.xml"; + n_naturalist->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_naturalist); + + field_name = "chemistry"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_knowledge, field_name)); + auto n_chemistry = new NodeBitfield; + n_chemistry->m_field_name = field_name; + n_chemistry->m_df_type = DF_Type::knowledge_scholar_flags_7; + n_chemistry->m_rdf_type = RDF_Type::Bitfield; + n_chemistry->m_node_type = NodeType::Bitfield; + n_chemistry->m_address = base + offset; + n_chemistry->m_defined_in = "df.knowledge.xml"; + n_chemistry->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_chemistry); + + field_name = "geography"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_knowledge, field_name)); + auto n_geography = new NodeBitfield; + n_geography->m_field_name = field_name; + n_geography->m_df_type = DF_Type::knowledge_scholar_flags_8; + n_geography->m_rdf_type = RDF_Type::Bitfield; + n_geography->m_node_type = NodeType::Bitfield; + n_geography->m_address = base + offset; + n_geography->m_defined_in = "df.knowledge.xml"; + n_geography->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_geography); + + field_name = "medicine"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_knowledge, field_name)); + auto n_medicine = new NodeBitfield; + n_medicine->m_field_name = field_name; + n_medicine->m_df_type = DF_Type::knowledge_scholar_flags_9; + n_medicine->m_rdf_type = RDF_Type::Bitfield; + n_medicine->m_node_type = NodeType::Bitfield; + n_medicine->m_address = base + offset; + n_medicine->m_defined_in = "df.knowledge.xml"; + n_medicine->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_medicine); + + field_name = "medicine2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_knowledge, field_name)); + auto n_medicine2 = new NodeBitfield; + n_medicine2->m_field_name = field_name; + n_medicine2->m_df_type = DF_Type::knowledge_scholar_flags_10; + n_medicine2->m_rdf_type = RDF_Type::Bitfield; + n_medicine2->m_node_type = NodeType::Bitfield; + n_medicine2->m_address = base + offset; + n_medicine2->m_defined_in = "df.knowledge.xml"; + n_medicine2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_medicine2); + + field_name = "medicine3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_knowledge, field_name)); + auto n_medicine3 = new NodeBitfield; + n_medicine3->m_field_name = field_name; + n_medicine3->m_df_type = DF_Type::knowledge_scholar_flags_11; + n_medicine3->m_rdf_type = RDF_Type::Bitfield; + n_medicine3->m_node_type = NodeType::Bitfield; + n_medicine3->m_address = base + offset; + n_medicine3->m_defined_in = "df.knowledge.xml"; + n_medicine3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_medicine3); + + field_name = "engineering"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_knowledge, field_name)); + auto n_engineering = new NodeBitfield; + n_engineering->m_field_name = field_name; + n_engineering->m_df_type = DF_Type::knowledge_scholar_flags_12; + n_engineering->m_rdf_type = RDF_Type::Bitfield; + n_engineering->m_node_type = NodeType::Bitfield; + n_engineering->m_address = base + offset; + n_engineering->m_defined_in = "df.knowledge.xml"; + n_engineering->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_engineering); + + field_name = "engineering2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_knowledge, field_name)); + auto n_engineering2 = new NodeBitfield; + n_engineering2->m_field_name = field_name; + n_engineering2->m_df_type = DF_Type::knowledge_scholar_flags_13; + n_engineering2->m_rdf_type = RDF_Type::Bitfield; + n_engineering2->m_node_type = NodeType::Bitfield; + n_engineering2->m_address = base + offset; + n_engineering2->m_defined_in = "df.knowledge.xml"; + n_engineering2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_engineering2); + + field_name = "knowledge_goal_category"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_knowledge, field_name)); + auto n_knowledge_goal_category = new NodeSimple; + n_knowledge_goal_category->m_field_name = field_name; + n_knowledge_goal_category->m_df_type = DF_Type::uint16_t; + n_knowledge_goal_category->m_rdf_type = RDF_Type::uint16_t; + n_knowledge_goal_category->m_node_type = NodeType::Simple; + n_knowledge_goal_category->m_address = base + offset; + n_knowledge_goal_category->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_knowledge_goal_category); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_knowledge, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::uint16_t; + n_anon_1->m_rdf_type = RDF_Type::uint16_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_knowledge, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::uint32_t; + n_anon_2->m_rdf_type = RDF_Type::uint32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_knowledge, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::uint32_t; + n_anon_3->m_rdf_type = RDF_Type::uint32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_knowledge, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::uint32_t; + n_anon_4->m_rdf_type = RDF_Type::uint32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "knowledge_goal"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_knowledge, field_name)); + auto n_knowledge_goal = new NodeBitfield; + n_knowledge_goal->m_field_name = field_name; + n_knowledge_goal->m_df_type = DF_Type::historical_figure_info__T_secret__T_knowledge__T_knowledge_goal; + n_knowledge_goal->m_rdf_type = RDF_Type::Bitfield; + n_knowledge_goal->m_node_type = NodeType::Bitfield; + n_knowledge_goal->m_address = base + offset; + n_knowledge_goal->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_knowledge_goal); + + field_name = "research_points"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_knowledge, field_name)); + auto n_research_points = new NodeSimple; + n_research_points->m_field_name = field_name; + n_research_points->m_df_type = DF_Type::uint32_t; + n_research_points->m_rdf_type = RDF_Type::uint32_t; + n_research_points->m_node_type = NodeType::Simple; + n_research_points->m_address = base + offset; + n_research_points->m_comment = "research is finished at 100k? amount gained depends on skills, attributes"; + n_research_points->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_research_points); + + field_name = "times_pondered"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_knowledge, field_name)); + auto n_times_pondered = new NodeSimple; + n_times_pondered->m_field_name = field_name; + n_times_pondered->m_df_type = DF_Type::uint16_t; + n_times_pondered->m_rdf_type = RDF_Type::uint16_t; + n_times_pondered->m_node_type = NodeType::Simple; + n_times_pondered->m_address = base + offset; + n_times_pondered->m_comment = "one per ponder no matter what. turns into research_points somewhere around 40-60."; + n_times_pondered->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_times_pondered); + +} +void node_from_historical_figure_info__T_secret__T_unk_a8(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_unk_a8, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_unk_a8, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_unk_a8, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_unk_a8, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_unk_a8, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_unk_a8, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "anon_7"; + auto n_anon_7 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret__T_unk_a8, field_name)); + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::int32_t; + n_anon_7->m_rdf_type = RDF_Type::Array; + n_anon_7->m_node_type = NodeType::Array; + n_anon_7->m_addornements = "[8"; + n_anon_7->m_array_size = 8; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_7); + +} +void node_from_historical_figure_info__T_secret(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "interactions"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret, field_name)); + auto n_interactions = new NodeVector; + n_interactions->m_field_name = field_name; + n_interactions->m_df_type = DF_Type::interaction; + n_interactions->m_rdf_type = RDF_Type::Vector; + n_interactions->m_node_type = NodeType::Vector; + n_interactions->m_defined_in = "df.interaction.xml"; + n_interactions->m_addornements = "v*"; + n_interactions->m_address = base + offset; + n_interactions->m_parent = p_node_parent; + n_interactions->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_interactions); + + field_name = "unk_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret, field_name)); + auto n_unk_10 = new NodeSimple; + n_unk_10->m_field_name = field_name; + n_unk_10->m_df_type = DF_Type::int32_t; + n_unk_10->m_rdf_type = RDF_Type::int32_t; + n_unk_10->m_node_type = NodeType::Simple; + n_unk_10->m_address = base + offset; + n_unk_10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_10); + + field_name = "known_written_contents"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret, field_name)); + auto n_known_written_contents = new NodeVector; + n_known_written_contents->m_field_name = field_name; + n_known_written_contents->m_df_type = DF_Type::int32_t; + n_known_written_contents->m_rdf_type = RDF_Type::Vector; + n_known_written_contents->m_node_type = NodeType::Vector; + n_known_written_contents->m_addornements = "v"; + n_known_written_contents->m_address = base + offset; + n_known_written_contents->m_comment = "ID of written_contents known to the historical figure. Aside from the contents of read books, these so-called written contents also include known derivations of poetic forms, dance forms and musical forms"; + n_known_written_contents->m_parent = p_node_parent; + n_known_written_contents->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_known_written_contents); + + field_name = "known_identities"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret, field_name)); + auto n_known_identities = new NodeVector; + n_known_identities->m_field_name = field_name; + n_known_identities->m_df_type = DF_Type::int32_t; + n_known_identities->m_rdf_type = RDF_Type::Vector; + n_known_identities->m_node_type = NodeType::Vector; + n_known_identities->m_addornements = "v"; + n_known_identities->m_address = base + offset; + n_known_identities->m_comment = "identity ID of identities known to the historical figure, such as demon true names"; + n_known_identities->m_parent = p_node_parent; + n_known_identities->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_known_identities); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret, field_name)); + auto n_anon_1 = new NodeVector; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::historical_figure_info__T_secret__T_anon_1; + n_anon_1->m_rdf_type = RDF_Type::Vector; + n_anon_1->m_node_type = NodeType::Vector; + n_anon_1->m_addornements = "v*"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret, field_name)); + auto n_anon_2 = new NodeVector; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::entity_event; + n_anon_2->m_rdf_type = RDF_Type::Vector; + n_anon_2->m_node_type = NodeType::Vector; + n_anon_2->m_defined_in = "df.entities.xml"; + n_anon_2->m_addornements = "v*"; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + n_anon_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret, field_name)); + auto n_anon_3 = new NodeVector; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::Vector; + n_anon_3->m_node_type = NodeType::Vector; + n_anon_3->m_addornements = "v"; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + n_anon_3->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret, field_name)); + auto n_anon_4 = new NodeVector; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::Vector; + n_anon_4->m_node_type = NodeType::Vector; + n_anon_4->m_addornements = "v"; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + n_anon_4->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret, field_name)); + auto n_anon_5 = new NodeVector; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::Vector; + n_anon_5->m_node_type = NodeType::Vector; + n_anon_5->m_addornements = "v"; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + n_anon_5->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret, field_name)); + auto n_anon_6 = new NodeVector; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::Vector; + n_anon_6->m_node_type = NodeType::Vector; + n_anon_6->m_addornements = "v"; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + n_anon_6->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret, field_name)); + auto n_anon_7 = new NodeVector; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::historical_figure_info__T_secret__T_anon_7; + n_anon_7->m_rdf_type = RDF_Type::Vector; + n_anon_7->m_node_type = NodeType::Vector; + n_anon_7->m_addornements = "v*"; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + n_anon_7->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_7); + + field_name = "known_poetic_forms"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret, field_name)); + auto n_known_poetic_forms = new NodeVector; + n_known_poetic_forms->m_field_name = field_name; + n_known_poetic_forms->m_df_type = DF_Type::int32_t; + n_known_poetic_forms->m_rdf_type = RDF_Type::Vector; + n_known_poetic_forms->m_node_type = NodeType::Vector; + n_known_poetic_forms->m_addornements = "v"; + n_known_poetic_forms->m_address = base + offset; + n_known_poetic_forms->m_parent = p_node_parent; + n_known_poetic_forms->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_known_poetic_forms); + + field_name = "known_musical_forms"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret, field_name)); + auto n_known_musical_forms = new NodeVector; + n_known_musical_forms->m_field_name = field_name; + n_known_musical_forms->m_df_type = DF_Type::int32_t; + n_known_musical_forms->m_rdf_type = RDF_Type::Vector; + n_known_musical_forms->m_node_type = NodeType::Vector; + n_known_musical_forms->m_addornements = "v"; + n_known_musical_forms->m_address = base + offset; + n_known_musical_forms->m_parent = p_node_parent; + n_known_musical_forms->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_known_musical_forms); + + field_name = "known_dance_forms"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret, field_name)); + auto n_known_dance_forms = new NodeVector; + n_known_dance_forms->m_field_name = field_name; + n_known_dance_forms->m_df_type = DF_Type::int32_t; + n_known_dance_forms->m_rdf_type = RDF_Type::Vector; + n_known_dance_forms->m_node_type = NodeType::Vector; + n_known_dance_forms->m_addornements = "v"; + n_known_dance_forms->m_address = base + offset; + n_known_dance_forms->m_parent = p_node_parent; + n_known_dance_forms->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_known_dance_forms); + + field_name = "knowledge"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret, field_name)); + auto n_knowledge = new NodePointer; + n_knowledge->m_field_name = field_name; + n_knowledge->m_df_type = get_real_subtype(base+offset, DF_Type::historical_figure_info__T_secret__T_knowledge); + n_knowledge->m_rdf_type = RDF_Type::Pointer; + n_knowledge->m_node_type = NodeType::Pointer; + n_knowledge->m_addornements = "*"; + n_knowledge->m_address = base + offset; + n_knowledge->m_parent = p_node_parent; + n_knowledge->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_knowledge); + + field_name = "belief_systems"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret, field_name)); + auto n_belief_systems = new NodePointer; + n_belief_systems->m_field_name = field_name; + n_belief_systems->m_df_type = get_real_subtype(base+offset, DF_Type::int32_t); + n_belief_systems->m_rdf_type = RDF_Type::Pointer; + n_belief_systems->m_node_type = NodeType::Pointer; + n_belief_systems->m_addornements = "*v"; + n_belief_systems->m_address = base + offset; + n_belief_systems->m_comment = "found in prophets; contains the ID of the belief system developed by that particular prophet"; + n_belief_systems->m_parent = p_node_parent; + n_belief_systems->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_belief_systems); + + field_name = "unk_a8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_secret, field_name)); + auto n_unk_a8 = new NodePointer; + n_unk_a8->m_field_name = field_name; + n_unk_a8->m_df_type = get_real_subtype(base+offset, DF_Type::historical_figure_info__T_secret__T_unk_a8); + n_unk_a8->m_rdf_type = RDF_Type::Pointer; + n_unk_a8->m_node_type = NodeType::Pointer; + n_unk_a8->m_addornements = "*v*"; + n_unk_a8->m_address = base + offset; + n_unk_a8->m_parent = p_node_parent; + n_unk_a8->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_a8); + +} +void node_from_historical_figure_info__T_curse(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "active_interactions"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_curse, field_name)); + auto n_active_interactions = new NodeVector; + n_active_interactions->m_field_name = field_name; + n_active_interactions->m_df_type = DF_Type::interaction; + n_active_interactions->m_rdf_type = RDF_Type::Vector; + n_active_interactions->m_node_type = NodeType::Vector; + n_active_interactions->m_defined_in = "df.interaction.xml"; + n_active_interactions->m_addornements = "v*"; + n_active_interactions->m_address = base + offset; + n_active_interactions->m_parent = p_node_parent; + n_active_interactions->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_active_interactions); + + field_name = "active_effects"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_curse, field_name)); + auto n_active_effects = new NodeVector; + n_active_effects->m_field_name = field_name; + n_active_effects->m_df_type = DF_Type::interaction_effect; + n_active_effects->m_rdf_type = RDF_Type::Vector; + n_active_effects->m_node_type = NodeType::Vector; + n_active_effects->m_defined_in = "df.interaction.xml"; + n_active_effects->m_addornements = "v*"; + n_active_effects->m_address = base + offset; + n_active_effects->m_parent = p_node_parent; + n_active_effects->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_active_effects); + + field_name = "can_do"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_curse, field_name)); + auto n_can_do = new NodeVector; + n_can_do->m_field_name = field_name; + n_can_do->m_df_type = DF_Type::interaction; + n_can_do->m_rdf_type = RDF_Type::Vector; + n_can_do->m_node_type = NodeType::Vector; + n_can_do->m_defined_in = "df.interaction.xml"; + n_can_do->m_addornements = "v*"; + n_can_do->m_address = base + offset; + n_can_do->m_parent = p_node_parent; + n_can_do->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_can_do); + + field_name = "unk_30"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_curse, field_name)); + auto n_unk_30 = new NodeSimple; + n_unk_30->m_field_name = field_name; + n_unk_30->m_df_type = DF_Type::int32_t; + n_unk_30->m_rdf_type = RDF_Type::int32_t; + n_unk_30->m_node_type = NodeType::Simple; + n_unk_30->m_address = base + offset; + n_unk_30->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_30); + + field_name = "unk_34"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_curse, field_name)); + auto n_unk_34 = new NodeSimple; + n_unk_34->m_field_name = field_name; + n_unk_34->m_df_type = DF_Type::int32_t; + n_unk_34->m_rdf_type = RDF_Type::int32_t; + n_unk_34->m_node_type = NodeType::Simple; + n_unk_34->m_address = base + offset; + n_unk_34->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_34); + + field_name = "unk_38"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_curse, field_name)); + auto n_unk_38 = new NodeSimple; + n_unk_38->m_field_name = field_name; + n_unk_38->m_df_type = DF_Type::int32_t; + n_unk_38->m_rdf_type = RDF_Type::int32_t; + n_unk_38->m_node_type = NodeType::Simple; + n_unk_38->m_address = base + offset; + n_unk_38->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_38); + + field_name = "unk_3c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_curse, field_name)); + auto n_unk_3c = new NodeSimple; + n_unk_3c->m_field_name = field_name; + n_unk_3c->m_df_type = DF_Type::int32_t; + n_unk_3c->m_rdf_type = RDF_Type::int32_t; + n_unk_3c->m_node_type = NodeType::Simple; + n_unk_3c->m_address = base + offset; + n_unk_3c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_3c); + + field_name = "unk_40"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_curse, field_name)); + auto n_unk_40 = new NodeSimple; + n_unk_40->m_field_name = field_name; + n_unk_40->m_df_type = DF_Type::int8_t; + n_unk_40->m_rdf_type = RDF_Type::int8_t; + n_unk_40->m_node_type = NodeType::Simple; + n_unk_40->m_address = base + offset; + n_unk_40->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_40); + + field_name = "name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_curse, field_name)); + auto n_name = new NodeSimple; + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Stl_string; + n_name->m_node_type = NodeType::Simple; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "name_plural"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_curse, field_name)); + auto n_name_plural = new NodeSimple; + n_name_plural->m_field_name = field_name; + n_name_plural->m_df_type = DF_Type::Stl_string; + n_name_plural->m_rdf_type = RDF_Type::Stl_string; + n_name_plural->m_node_type = NodeType::Simple; + n_name_plural->m_address = base + offset; + n_name_plural->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name_plural); + + field_name = "name_adjective"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_curse, field_name)); + auto n_name_adjective = new NodeSimple; + n_name_adjective->m_field_name = field_name; + n_name_adjective->m_df_type = DF_Type::Stl_string; + n_name_adjective->m_rdf_type = RDF_Type::Stl_string; + n_name_adjective->m_node_type = NodeType::Simple; + n_name_adjective->m_address = base + offset; + n_name_adjective->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name_adjective); + + field_name = "race"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_curse, field_name)); + auto n_race = new NodeSimple; + n_race->m_field_name = field_name; + n_race->m_df_type = DF_Type::int32_t; + n_race->m_rdf_type = RDF_Type::int32_t; + n_race->m_node_type = NodeType::Simple; + n_race->m_address = base + offset; + n_race->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_race); + + field_name = "caste"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_curse, field_name)); + auto n_caste = new NodeSimple; + n_caste->m_field_name = field_name; + n_caste->m_df_type = DF_Type::int16_t; + n_caste->m_rdf_type = RDF_Type::int16_t; + n_caste->m_node_type = NodeType::Simple; + n_caste->m_address = base + offset; + n_caste->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_caste); + + field_name = "unk_a0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_curse, field_name)); + auto n_unk_a0 = new NodeVector; + n_unk_a0->m_field_name = field_name; + n_unk_a0->m_df_type = DF_Type::int32_t; + n_unk_a0->m_rdf_type = RDF_Type::Vector; + n_unk_a0->m_node_type = NodeType::Vector; + n_unk_a0->m_addornements = "v"; + n_unk_a0->m_address = base + offset; + n_unk_a0->m_parent = p_node_parent; + n_unk_a0->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_a0); + + field_name = "unk_b0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_curse, field_name)); + auto n_unk_b0 = new NodeVector; + n_unk_b0->m_field_name = field_name; + n_unk_b0->m_df_type = DF_Type::int32_t; + n_unk_b0->m_rdf_type = RDF_Type::Vector; + n_unk_b0->m_node_type = NodeType::Vector; + n_unk_b0->m_addornements = "v"; + n_unk_b0->m_address = base + offset; + n_unk_b0->m_parent = p_node_parent; + n_unk_b0->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_b0); + + field_name = "unk_c0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_curse, field_name)); + auto n_unk_c0 = new NodeVector; + n_unk_c0->m_field_name = field_name; + n_unk_c0->m_df_type = DF_Type::int32_t; + n_unk_c0->m_rdf_type = RDF_Type::Vector; + n_unk_c0->m_node_type = NodeType::Vector; + n_unk_c0->m_addornements = "v"; + n_unk_c0->m_address = base + offset; + n_unk_c0->m_parent = p_node_parent; + n_unk_c0->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_c0); + + field_name = "original_histfig_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_curse, field_name)); + auto n_original_histfig_id = new NodeSimple; + n_original_histfig_id->m_field_name = field_name; + n_original_histfig_id->m_df_type = DF_Type::int32_t; + n_original_histfig_id->m_rdf_type = RDF_Type::int32_t; + n_original_histfig_id->m_node_type = NodeType::Simple; + n_original_histfig_id->m_address = base + offset; + n_original_histfig_id->m_comment = "ID of the historical figure who was reanimated to produce undead historical figure"; + n_original_histfig_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_original_histfig_id); + + field_name = "original_race"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_curse, field_name)); + auto n_original_race = new NodeSimple; + n_original_race->m_field_name = field_name; + n_original_race->m_df_type = DF_Type::int32_t; + n_original_race->m_rdf_type = RDF_Type::int32_t; + n_original_race->m_node_type = NodeType::Simple; + n_original_race->m_address = base + offset; + n_original_race->m_comment = "race of the historical figure who was reanimated to produce undead historical figure"; + n_original_race->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_original_race); + + field_name = "original_caste"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_curse, field_name)); + auto n_original_caste = new NodeSimple; + n_original_caste->m_field_name = field_name; + n_original_caste->m_df_type = DF_Type::int32_t; + n_original_caste->m_rdf_type = RDF_Type::int32_t; + n_original_caste->m_node_type = NodeType::Simple; + n_original_caste->m_address = base + offset; + n_original_caste->m_comment = "caste of the historical figure who was reanimated to produce undead historical figure"; + n_original_caste->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_original_caste); + + field_name = "root_body_part_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_curse, field_name)); + auto n_root_body_part_id = new NodeSimple; + n_root_body_part_id->m_field_name = field_name; + n_root_body_part_id->m_df_type = DF_Type::int32_t; + n_root_body_part_id->m_rdf_type = RDF_Type::int32_t; + n_root_body_part_id->m_node_type = NodeType::Simple; + n_root_body_part_id->m_address = base + offset; + n_root_body_part_id->m_comment = "ID of the root body part in the corpse or corpse piece which was reanimated to produce undead historical figure"; + n_root_body_part_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_root_body_part_id); + + field_name = "undead_name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_curse, field_name)); + auto n_undead_name = new NodeSimple; + n_undead_name->m_field_name = field_name; + n_undead_name->m_df_type = DF_Type::Stl_string; + n_undead_name->m_rdf_type = RDF_Type::Stl_string; + n_undead_name->m_node_type = NodeType::Simple; + n_undead_name->m_address = base + offset; + n_undead_name->m_comment = "display name of reanimated creatures in legends mode"; + n_undead_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_undead_name); + + field_name = "unk_fc"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_curse, field_name)); + auto n_unk_fc = new NodeSimple; + n_unk_fc->m_field_name = field_name; + n_unk_fc->m_df_type = DF_Type::int32_t; + n_unk_fc->m_rdf_type = RDF_Type::int32_t; + n_unk_fc->m_node_type = NodeType::Simple; + n_unk_fc->m_address = base + offset; + n_unk_fc->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_fc); + +} +void node_from_historical_figure_info__T_books(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_books, field_name)); + auto n_anon_1 = new NodeVector; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::artifact_record; + n_anon_1->m_rdf_type = RDF_Type::Vector; + n_anon_1->m_node_type = NodeType::Vector; + n_anon_1->m_defined_in = "df.legends.xml"; + n_anon_1->m_addornements = "v*"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_books, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + auto n_anon_3 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_books, field_name)); + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::Array; + n_anon_3->m_node_type = NodeType::Array; + n_anon_3->m_addornements = "[13"; + n_anon_3->m_array_size = 13; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + auto n_anon_4 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_books, field_name)); + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::Array; + n_anon_4->m_node_type = NodeType::Array; + n_anon_4->m_addornements = "[13"; + n_anon_4->m_array_size = 13; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_books, field_name)); + auto n_flags = new NodeSimple; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::int32_t; + n_flags->m_rdf_type = RDF_Type::int32_t; + n_flags->m_node_type = NodeType::Simple; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_books, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int16_t; + n_anon_5->m_rdf_type = RDF_Type::int16_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_comment = "not saved"; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + +} +void node_from_historical_figure_info__T_reputation__T_wanted(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "entity_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation__T_wanted, field_name)); + auto n_entity_id = new NodeSimple; + n_entity_id->m_field_name = field_name; + n_entity_id->m_df_type = DF_Type::int32_t; + n_entity_id->m_rdf_type = RDF_Type::int32_t; + n_entity_id->m_node_type = NodeType::Simple; + n_entity_id->m_address = base + offset; + n_entity_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity_id); + + field_name = "types"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation__T_wanted, field_name)); + auto n_types = new NodeVector; + n_types->m_field_name = field_name; + n_types->m_df_type = DF_Type::reputation_type; + n_types->m_rdf_type = RDF_Type::Vector; + n_types->m_node_type = NodeType::Vector; + n_types->m_enum_base = enum_base_type(n_types->m_df_type); + n_types->m_defined_in = "df.history.xml"; + n_types->m_addornements = "v"; + n_types->m_address = base + offset; + n_types->m_parent = p_node_parent; + n_types->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_types); + + field_name = "levels"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation__T_wanted, field_name)); + auto n_levels = new NodeVector; + n_levels->m_field_name = field_name; + n_levels->m_df_type = DF_Type::int32_t; + n_levels->m_rdf_type = RDF_Type::Vector; + n_levels->m_node_type = NodeType::Vector; + n_levels->m_addornements = "v"; + n_levels->m_address = base + offset; + n_levels->m_comment = "1 to 100: rumored to legendary"; + n_levels->m_parent = p_node_parent; + n_levels->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_levels); + + field_name = "discovered_year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation__T_wanted, field_name)); + auto n_discovered_year = new NodeSimple; + n_discovered_year->m_field_name = field_name; + n_discovered_year->m_df_type = DF_Type::int32_t; + n_discovered_year->m_rdf_type = RDF_Type::int32_t; + n_discovered_year->m_node_type = NodeType::Simple; + n_discovered_year->m_address = base + offset; + n_discovered_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_discovered_year); + + field_name = "discovered_time"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation__T_wanted, field_name)); + auto n_discovered_time = new NodeSimple; + n_discovered_time->m_field_name = field_name; + n_discovered_time->m_df_type = DF_Type::int32_t; + n_discovered_time->m_rdf_type = RDF_Type::int32_t; + n_discovered_time->m_node_type = NodeType::Simple; + n_discovered_time->m_address = base + offset; + n_discovered_time->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_discovered_time); + + field_name = "unsolved_murders"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation__T_wanted, field_name)); + auto n_unsolved_murders = new NodeSimple; + n_unsolved_murders->m_field_name = field_name; + n_unsolved_murders->m_df_type = DF_Type::int32_t; + n_unsolved_murders->m_rdf_type = RDF_Type::int32_t; + n_unsolved_murders->m_node_type = NodeType::Simple; + n_unsolved_murders->m_address = base + offset; + n_unsolved_murders->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unsolved_murders); + +} +void node_from_historical_figure_info__T_reputation__T_anon_1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "entity_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation__T_anon_1, field_name)); + auto n_entity_id = new NodeSimple; + n_entity_id->m_field_name = field_name; + n_entity_id->m_df_type = DF_Type::int32_t; + n_entity_id->m_rdf_type = RDF_Type::int32_t; + n_entity_id->m_node_type = NodeType::Simple; + n_entity_id->m_address = base + offset; + n_entity_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity_id); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation__T_anon_1, field_name)); + auto n_anon_1 = new NodeVector; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::Vector; + n_anon_1->m_node_type = NodeType::Vector; + n_anon_1->m_addornements = "v"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation__T_anon_1, field_name)); + auto n_anon_2 = new NodeVector; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::Vector; + n_anon_2->m_node_type = NodeType::Vector; + n_anon_2->m_addornements = "v"; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + n_anon_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "discovered_year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation__T_anon_1, field_name)); + auto n_discovered_year = new NodeSimple; + n_discovered_year->m_field_name = field_name; + n_discovered_year->m_df_type = DF_Type::int32_t; + n_discovered_year->m_rdf_type = RDF_Type::int32_t; + n_discovered_year->m_node_type = NodeType::Simple; + n_discovered_year->m_address = base + offset; + n_discovered_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_discovered_year); + + field_name = "discovered_time"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation__T_anon_1, field_name)); + auto n_discovered_time = new NodeSimple; + n_discovered_time->m_field_name = field_name; + n_discovered_time->m_df_type = DF_Type::int32_t; + n_discovered_time->m_rdf_type = RDF_Type::int32_t; + n_discovered_time->m_node_type = NodeType::Simple; + n_discovered_time->m_address = base + offset; + n_discovered_time->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_discovered_time); + + field_name = "unsolved_murders"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation__T_anon_1, field_name)); + auto n_unsolved_murders = new NodeSimple; + n_unsolved_murders->m_field_name = field_name; + n_unsolved_murders->m_df_type = DF_Type::int32_t; + n_unsolved_murders->m_rdf_type = RDF_Type::int32_t; + n_unsolved_murders->m_node_type = NodeType::Simple; + n_unsolved_murders->m_address = base + offset; + n_unsolved_murders->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unsolved_murders); + +} +void node_from_historical_figure_info__T_reputation__T_unk_2c__T_anon_12(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation__T_unk_2c__T_anon_12, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation__T_unk_2c__T_anon_12, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation__T_unk_2c__T_anon_12, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation__T_unk_2c__T_anon_12, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation__T_unk_2c__T_anon_12, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation__T_unk_2c__T_anon_12, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + +} +void node_from_historical_figure_info__T_reputation__T_unk_2c(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation__T_unk_2c, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation__T_unk_2c, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation__T_unk_2c, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation__T_unk_2c, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation__T_unk_2c, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation__T_unk_2c, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation__T_unk_2c, field_name)); + auto n_anon_7 = new NodeSimple; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::int32_t; + n_anon_7->m_rdf_type = RDF_Type::int32_t; + n_anon_7->m_node_type = NodeType::Simple; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_7); + + field_name = "anon_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation__T_unk_2c, field_name)); + auto n_anon_8 = new NodeSimple; + n_anon_8->m_field_name = field_name; + n_anon_8->m_df_type = DF_Type::int32_t; + n_anon_8->m_rdf_type = RDF_Type::int32_t; + n_anon_8->m_node_type = NodeType::Simple; + n_anon_8->m_address = base + offset; + n_anon_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_8); + + field_name = "anon_9"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation__T_unk_2c, field_name)); + auto n_anon_9 = new NodeSimple; + n_anon_9->m_field_name = field_name; + n_anon_9->m_df_type = DF_Type::int32_t; + n_anon_9->m_rdf_type = RDF_Type::int32_t; + n_anon_9->m_node_type = NodeType::Simple; + n_anon_9->m_address = base + offset; + n_anon_9->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_9); + + field_name = "anon_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation__T_unk_2c, field_name)); + auto n_anon_10 = new NodeSimple; + n_anon_10->m_field_name = field_name; + n_anon_10->m_df_type = DF_Type::int32_t; + n_anon_10->m_rdf_type = RDF_Type::int32_t; + n_anon_10->m_node_type = NodeType::Simple; + n_anon_10->m_address = base + offset; + n_anon_10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_10); + + field_name = "anon_11"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation__T_unk_2c, field_name)); + auto n_anon_11 = new NodeSimple; + n_anon_11->m_field_name = field_name; + n_anon_11->m_df_type = DF_Type::int32_t; + n_anon_11->m_rdf_type = RDF_Type::int32_t; + n_anon_11->m_node_type = NodeType::Simple; + n_anon_11->m_address = base + offset; + n_anon_11->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_11); + + field_name = "anon_12"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation__T_unk_2c, field_name)); + auto n_anon_12 = new NodeVector; + n_anon_12->m_field_name = field_name; + n_anon_12->m_df_type = DF_Type::historical_figure_info__T_reputation__T_unk_2c__T_anon_12; + n_anon_12->m_rdf_type = RDF_Type::Vector; + n_anon_12->m_node_type = NodeType::Vector; + n_anon_12->m_addornements = "v*"; + n_anon_12->m_address = base + offset; + n_anon_12->m_parent = p_node_parent; + n_anon_12->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_12); + + field_name = "anon_13"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation__T_unk_2c, field_name)); + auto n_anon_13 = new NodeVector; + n_anon_13->m_field_name = field_name; + n_anon_13->m_df_type = DF_Type::int32_t; + n_anon_13->m_rdf_type = RDF_Type::Vector; + n_anon_13->m_node_type = NodeType::Vector; + n_anon_13->m_addornements = "v"; + n_anon_13->m_address = base + offset; + n_anon_13->m_parent = p_node_parent; + n_anon_13->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_13); + +} +void node_from_historical_figure_info__T_reputation(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "wanted"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation, field_name)); + auto n_wanted = new NodeVector; + n_wanted->m_field_name = field_name; + n_wanted->m_df_type = DF_Type::historical_figure_info__T_reputation__T_wanted; + n_wanted->m_rdf_type = RDF_Type::Vector; + n_wanted->m_node_type = NodeType::Vector; + n_wanted->m_addornements = "v*"; + n_wanted->m_address = base + offset; + n_wanted->m_parent = p_node_parent; + n_wanted->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_wanted); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation, field_name)); + auto n_anon_1 = new NodeVector; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::historical_figure_info__T_reputation__T_anon_1; + n_anon_1->m_rdf_type = RDF_Type::Vector; + n_anon_1->m_node_type = NodeType::Vector; + n_anon_1->m_addornements = "v*"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "cur_identity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation, field_name)); + auto n_cur_identity = new NodeSimple; + n_cur_identity->m_field_name = field_name; + n_cur_identity->m_df_type = DF_Type::int32_t; + n_cur_identity->m_rdf_type = RDF_Type::int32_t; + n_cur_identity->m_node_type = NodeType::Simple; + n_cur_identity->m_address = base + offset; + n_cur_identity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cur_identity); + + field_name = "all_identities"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation, field_name)); + auto n_all_identities = new NodeVector; + n_all_identities->m_field_name = field_name; + n_all_identities->m_df_type = DF_Type::int32_t; + n_all_identities->m_rdf_type = RDF_Type::Vector; + n_all_identities->m_node_type = NodeType::Vector; + n_all_identities->m_addornements = "v"; + n_all_identities->m_address = base + offset; + n_all_identities->m_parent = p_node_parent; + n_all_identities->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_all_identities); + + field_name = "next_identity_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation, field_name)); + auto n_next_identity_idx = new NodeSimple; + n_next_identity_idx->m_field_name = field_name; + n_next_identity_idx->m_df_type = DF_Type::int32_t; + n_next_identity_idx->m_rdf_type = RDF_Type::int32_t; + n_next_identity_idx->m_node_type = NodeType::Simple; + n_next_identity_idx->m_address = base + offset; + n_next_identity_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_next_identity_idx); + + field_name = "unk_2c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_reputation, field_name)); + auto n_unk_2c = new NodePointer; + n_unk_2c->m_field_name = field_name; + n_unk_2c->m_df_type = get_real_subtype(base+offset, DF_Type::historical_figure_info__T_reputation__T_unk_2c); + n_unk_2c->m_rdf_type = RDF_Type::Pointer; + n_unk_2c->m_node_type = NodeType::Pointer; + n_unk_2c->m_addornements = "*"; + n_unk_2c->m_address = base + offset; + n_unk_2c->m_parent = p_node_parent; + n_unk_2c->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_2c); + +} +void node_from_historical_figure_info__T_relationships__T_list(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "histfig_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_relationships__T_list, field_name)); + auto n_histfig_id = new NodeSimple; + n_histfig_id->m_field_name = field_name; + n_histfig_id->m_df_type = DF_Type::int32_t; + n_histfig_id->m_rdf_type = RDF_Type::int32_t; + n_histfig_id->m_node_type = NodeType::Simple; + n_histfig_id->m_address = base + offset; + n_histfig_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig_id); + + field_name = "unk_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_relationships__T_list, field_name)); + auto n_unk_1 = new NodeSimple; + n_unk_1->m_field_name = field_name; + n_unk_1->m_df_type = DF_Type::int32_t; + n_unk_1->m_rdf_type = RDF_Type::int32_t; + n_unk_1->m_node_type = NodeType::Simple; + n_unk_1->m_address = base + offset; + n_unk_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_1); + + field_name = "unk_2v"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_relationships__T_list, field_name)); + auto n_unk_2v = new NodeVector; + n_unk_2v->m_field_name = field_name; + n_unk_2v->m_df_type = DF_Type::int32_t; + n_unk_2v->m_rdf_type = RDF_Type::Vector; + n_unk_2v->m_node_type = NodeType::Vector; + n_unk_2v->m_addornements = "v"; + n_unk_2v->m_address = base + offset; + n_unk_2v->m_parent = p_node_parent; + n_unk_2v->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_2v); + + field_name = "attitude"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_relationships__T_list, field_name)); + auto n_attitude = new NodeVector; + n_attitude->m_field_name = field_name; + n_attitude->m_df_type = DF_Type::reputation_type; + n_attitude->m_rdf_type = RDF_Type::Vector; + n_attitude->m_node_type = NodeType::Vector; + n_attitude->m_enum_base = enum_base_type(n_attitude->m_df_type); + n_attitude->m_defined_in = "df.history.xml"; + n_attitude->m_addornements = "v"; + n_attitude->m_address = base + offset; + n_attitude->m_parent = p_node_parent; + n_attitude->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_attitude); + + field_name = "counter"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_relationships__T_list, field_name)); + auto n_counter = new NodeVector; + n_counter->m_field_name = field_name; + n_counter->m_df_type = DF_Type::int32_t; + n_counter->m_rdf_type = RDF_Type::Vector; + n_counter->m_node_type = NodeType::Vector; + n_counter->m_addornements = "v"; + n_counter->m_address = base + offset; + n_counter->m_comment = "One element for each 'attitude' element"; + n_counter->m_parent = p_node_parent; + n_counter->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_counter); + + field_name = "rank"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_relationships__T_list, field_name)); + auto n_rank = new NodeSimple; + n_rank->m_field_name = field_name; + n_rank->m_df_type = DF_Type::int32_t; + n_rank->m_rdf_type = RDF_Type::int32_t; + n_rank->m_node_type = NodeType::Simple; + n_rank->m_address = base + offset; + n_rank->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rank); + + field_name = "year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_relationships__T_list, field_name)); + auto n_year = new NodeSimple; + n_year->m_field_name = field_name; + n_year->m_df_type = DF_Type::int32_t; + n_year->m_rdf_type = RDF_Type::int32_t; + n_year->m_node_type = NodeType::Simple; + n_year->m_address = base + offset; + n_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_year); + + field_name = "year_tick"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_relationships__T_list, field_name)); + auto n_year_tick = new NodeSimple; + n_year_tick->m_field_name = field_name; + n_year_tick->m_df_type = DF_Type::int32_t; + n_year_tick->m_rdf_type = RDF_Type::int32_t; + n_year_tick->m_node_type = NodeType::Simple; + n_year_tick->m_address = base + offset; + n_year_tick->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_year_tick); + + field_name = "unk_3a"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_relationships__T_list, field_name)); + auto n_unk_3a = new NodeSimple; + n_unk_3a->m_field_name = field_name; + n_unk_3a->m_df_type = DF_Type::int32_t; + n_unk_3a->m_rdf_type = RDF_Type::int32_t; + n_unk_3a->m_node_type = NodeType::Simple; + n_unk_3a->m_address = base + offset; + n_unk_3a->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_3a); + + field_name = "unk_3b"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_relationships__T_list, field_name)); + auto n_unk_3b = new NodeSimple; + n_unk_3b->m_field_name = field_name; + n_unk_3b->m_df_type = DF_Type::int32_t; + n_unk_3b->m_rdf_type = RDF_Type::int32_t; + n_unk_3b->m_node_type = NodeType::Simple; + n_unk_3b->m_address = base + offset; + n_unk_3b->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_3b); + + field_name = "unk_3c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_relationships__T_list, field_name)); + auto n_unk_3c = new NodeSimple; + n_unk_3c->m_field_name = field_name; + n_unk_3c->m_df_type = DF_Type::int32_t; + n_unk_3c->m_rdf_type = RDF_Type::int32_t; + n_unk_3c->m_node_type = NodeType::Simple; + n_unk_3c->m_address = base + offset; + n_unk_3c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_3c); + +} +void node_from_historical_figure_info__T_relationships__T_anon_1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_relationships__T_anon_1, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_relationships__T_anon_1, field_name)); + auto n_anon_2 = new NodeVector; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::Vector; + n_anon_2->m_node_type = NodeType::Vector; + n_anon_2->m_addornements = "v"; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + n_anon_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_relationships__T_anon_1, field_name)); + auto n_anon_3 = new NodeVector; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::Vector; + n_anon_3->m_node_type = NodeType::Vector; + n_anon_3->m_addornements = "v"; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + n_anon_3->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_relationships__T_anon_1, field_name)); + auto n_anon_4 = new NodeVector; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::Vector; + n_anon_4->m_node_type = NodeType::Vector; + n_anon_4->m_addornements = "v"; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + n_anon_4->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_4); + +} +void node_from_historical_figure_info__T_relationships__T_anon_2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_relationships__T_anon_2, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_relationships__T_anon_2, field_name)); + auto n_anon_2 = new NodeVector; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::Vector; + n_anon_2->m_node_type = NodeType::Vector; + n_anon_2->m_addornements = "v"; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + n_anon_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_relationships__T_anon_2, field_name)); + auto n_anon_3 = new NodeVector; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::Vector; + n_anon_3->m_node_type = NodeType::Vector; + n_anon_3->m_addornements = "v"; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + n_anon_3->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_3); + +} +void node_from_historical_figure_info__T_relationships__T_anon_3(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_relationships__T_anon_3, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_relationships__T_anon_3, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_relationships__T_anon_3, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_relationships__T_anon_3, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_relationships__T_anon_3, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + +} +void node_from_historical_figure_info__T_relationships(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "list"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_relationships, field_name)); + auto n_list = new NodeVector; + n_list->m_field_name = field_name; + n_list->m_df_type = DF_Type::historical_figure_info__T_relationships__T_list; + n_list->m_rdf_type = RDF_Type::Vector; + n_list->m_node_type = NodeType::Vector; + n_list->m_addornements = "v*"; + n_list->m_address = base + offset; + n_list->m_parent = p_node_parent; + n_list->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_list); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_relationships, field_name)); + auto n_anon_1 = new NodeVector; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::historical_figure_info__T_relationships__T_anon_1; + n_anon_1->m_rdf_type = RDF_Type::Vector; + n_anon_1->m_node_type = NodeType::Vector; + n_anon_1->m_addornements = "v*"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_relationships, field_name)); + auto n_anon_2 = new NodeVector; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::historical_figure_info__T_relationships__T_anon_2; + n_anon_2->m_rdf_type = RDF_Type::Vector; + n_anon_2->m_node_type = NodeType::Vector; + n_anon_2->m_addornements = "v*"; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + n_anon_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "identities"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_relationships, field_name)); + auto n_identities = new NodeVector; + n_identities->m_field_name = field_name; + n_identities->m_df_type = DF_Type::int32_t; + n_identities->m_rdf_type = RDF_Type::Vector; + n_identities->m_node_type = NodeType::Vector; + n_identities->m_addornements = "v"; + n_identities->m_address = base + offset; + n_identities->m_parent = p_node_parent; + n_identities->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_identities); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info__T_relationships, field_name)); + auto n_anon_3 = new NodeVector; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::historical_figure_info__T_relationships__T_anon_3; + n_anon_3->m_rdf_type = RDF_Type::Vector; + n_anon_3->m_node_type = NodeType::Vector; + n_anon_3->m_addornements = "v*"; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + n_anon_3->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_3); + +} +void node_from_historical_figure_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "spheres"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info, field_name)); + auto n_spheres = new NodePointer; + n_spheres->m_field_name = field_name; + n_spheres->m_df_type = get_real_subtype(base+offset, DF_Type::sphere_type); + n_spheres->m_rdf_type = RDF_Type::Pointer; + n_spheres->m_node_type = NodeType::Pointer; + n_spheres->m_addornements = "*v"; + n_spheres->m_address = base + offset; + n_spheres->m_parent = p_node_parent; + n_spheres->m_enum_base = DF_Type::int16_t; + n_spheres->m_defined_in = "df.language.xml"; + n_spheres->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_spheres); + + field_name = "skills"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info, field_name)); + auto n_skills = new NodePointer; + n_skills->m_field_name = field_name; + n_skills->m_df_type = get_real_subtype(base+offset, DF_Type::historical_figure_info__T_skills); + n_skills->m_rdf_type = RDF_Type::Pointer; + n_skills->m_node_type = NodeType::Pointer; + n_skills->m_addornements = "*"; + n_skills->m_address = base + offset; + n_skills->m_parent = p_node_parent; + n_skills->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_skills); + + field_name = "pets"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info, field_name)); + auto n_pets = new NodePointer; + n_pets->m_field_name = field_name; + n_pets->m_df_type = get_real_subtype(base+offset, DF_Type::int16_t); + n_pets->m_rdf_type = RDF_Type::Pointer; + n_pets->m_node_type = NodeType::Pointer; + n_pets->m_addornements = "*v"; + n_pets->m_address = base + offset; + n_pets->m_parent = p_node_parent; + n_pets->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_pets); + + field_name = "personality"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info, field_name)); + auto n_personality = new NodePointer; + n_personality->m_field_name = field_name; + n_personality->m_df_type = get_real_subtype(base+offset, DF_Type::historical_figure_info__T_personality); + n_personality->m_rdf_type = RDF_Type::Pointer; + n_personality->m_node_type = NodeType::Pointer; + n_personality->m_addornements = "*"; + n_personality->m_address = base + offset; + n_personality->m_parent = p_node_parent; + n_personality->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_personality); + + field_name = "masterpieces"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info, field_name)); + auto n_masterpieces = new NodePointer; + n_masterpieces->m_field_name = field_name; + n_masterpieces->m_df_type = get_real_subtype(base+offset, DF_Type::historical_figure_info__T_masterpieces); + n_masterpieces->m_rdf_type = RDF_Type::Pointer; + n_masterpieces->m_node_type = NodeType::Pointer; + n_masterpieces->m_addornements = "*"; + n_masterpieces->m_address = base + offset; + n_masterpieces->m_parent = p_node_parent; + n_masterpieces->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_masterpieces); + + field_name = "unk_14"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info, field_name)); + auto n_unk_14 = new NodePointer; + n_unk_14->m_field_name = field_name; + n_unk_14->m_df_type = get_real_subtype(base+offset, DF_Type::historical_figure_info__T_unk_14); + n_unk_14->m_rdf_type = RDF_Type::Pointer; + n_unk_14->m_node_type = NodeType::Pointer; + n_unk_14->m_addornements = "*"; + n_unk_14->m_address = base + offset; + n_unk_14->m_parent = p_node_parent; + n_unk_14->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_14); + + field_name = "kills"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info, field_name)); + auto n_kills = new NodePointer; + n_kills->m_field_name = field_name; + n_kills->m_df_type = get_real_subtype(base+offset, DF_Type::historical_kills); + n_kills->m_rdf_type = RDF_Type::Pointer; + n_kills->m_node_type = NodeType::Pointer; + n_kills->m_addornements = "*"; + n_kills->m_address = base + offset; + n_kills->m_parent = p_node_parent; + n_kills->m_defined_in = "df.history.xml"; + n_kills->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_kills); + + field_name = "wounds"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info, field_name)); + auto n_wounds = new NodePointer; + n_wounds->m_field_name = field_name; + n_wounds->m_df_type = get_real_subtype(base+offset, DF_Type::historical_figure_info__T_wounds); + n_wounds->m_rdf_type = RDF_Type::Pointer; + n_wounds->m_node_type = NodeType::Pointer; + n_wounds->m_addornements = "*"; + n_wounds->m_address = base + offset; + n_wounds->m_parent = p_node_parent; + n_wounds->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_wounds); + + field_name = "secret"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info, field_name)); + auto n_secret = new NodePointer; + n_secret->m_field_name = field_name; + n_secret->m_df_type = get_real_subtype(base+offset, DF_Type::historical_figure_info__T_secret); + n_secret->m_rdf_type = RDF_Type::Pointer; + n_secret->m_node_type = NodeType::Pointer; + n_secret->m_addornements = "*"; + n_secret->m_address = base + offset; + n_secret->m_parent = p_node_parent; + n_secret->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_secret); + + field_name = "curse"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info, field_name)); + auto n_curse = new NodePointer; + n_curse->m_field_name = field_name; + n_curse->m_df_type = get_real_subtype(base+offset, DF_Type::historical_figure_info__T_curse); + n_curse->m_rdf_type = RDF_Type::Pointer; + n_curse->m_node_type = NodeType::Pointer; + n_curse->m_addornements = "*"; + n_curse->m_address = base + offset; + n_curse->m_parent = p_node_parent; + n_curse->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_curse); + + field_name = "books"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info, field_name)); + auto n_books = new NodePointer; + n_books->m_field_name = field_name; + n_books->m_df_type = get_real_subtype(base+offset, DF_Type::historical_figure_info__T_books); + n_books->m_rdf_type = RDF_Type::Pointer; + n_books->m_node_type = NodeType::Pointer; + n_books->m_addornements = "*"; + n_books->m_address = base + offset; + n_books->m_parent = p_node_parent; + n_books->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_books); + + field_name = "reputation"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info, field_name)); + auto n_reputation = new NodePointer; + n_reputation->m_field_name = field_name; + n_reputation->m_df_type = get_real_subtype(base+offset, DF_Type::historical_figure_info__T_reputation); + n_reputation->m_rdf_type = RDF_Type::Pointer; + n_reputation->m_node_type = NodeType::Pointer; + n_reputation->m_addornements = "*"; + n_reputation->m_address = base + offset; + n_reputation->m_parent = p_node_parent; + n_reputation->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_reputation); + + field_name = "relationships"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::historical_figure_info, field_name)); + auto n_relationships = new NodePointer; + n_relationships->m_field_name = field_name; + n_relationships->m_df_type = get_real_subtype(base+offset, DF_Type::historical_figure_info__T_relationships); + n_relationships->m_rdf_type = RDF_Type::Pointer; + n_relationships->m_node_type = NodeType::Pointer; + n_relationships->m_addornements = "*"; + n_relationships->m_address = base + offset; + n_relationships->m_parent = p_node_parent; + n_relationships->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_relationships); + +} +void node_from_unit_soul__T_performance_skills(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "musical_instruments"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_soul__T_performance_skills, field_name)); + auto n_musical_instruments = new NodeVector; + n_musical_instruments->m_field_name = field_name; + n_musical_instruments->m_df_type = DF_Type::unit_instrument_skill; + n_musical_instruments->m_rdf_type = RDF_Type::Vector; + n_musical_instruments->m_node_type = NodeType::Vector; + n_musical_instruments->m_defined_in = "df.units.xml"; + n_musical_instruments->m_addornements = "v*"; + n_musical_instruments->m_address = base + offset; + n_musical_instruments->m_parent = p_node_parent; + n_musical_instruments->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_musical_instruments); + + field_name = "poetic_forms"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_soul__T_performance_skills, field_name)); + auto n_poetic_forms = new NodeVector; + n_poetic_forms->m_field_name = field_name; + n_poetic_forms->m_df_type = DF_Type::unit_poetic_skill; + n_poetic_forms->m_rdf_type = RDF_Type::Vector; + n_poetic_forms->m_node_type = NodeType::Vector; + n_poetic_forms->m_defined_in = "df.units.xml"; + n_poetic_forms->m_addornements = "v*"; + n_poetic_forms->m_address = base + offset; + n_poetic_forms->m_parent = p_node_parent; + n_poetic_forms->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_poetic_forms); + + field_name = "musical_forms"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_soul__T_performance_skills, field_name)); + auto n_musical_forms = new NodeVector; + n_musical_forms->m_field_name = field_name; + n_musical_forms->m_df_type = DF_Type::unit_musical_skill; + n_musical_forms->m_rdf_type = RDF_Type::Vector; + n_musical_forms->m_node_type = NodeType::Vector; + n_musical_forms->m_defined_in = "df.units.xml"; + n_musical_forms->m_addornements = "v*"; + n_musical_forms->m_address = base + offset; + n_musical_forms->m_parent = p_node_parent; + n_musical_forms->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_musical_forms); + + field_name = "dance_forms"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_soul__T_performance_skills, field_name)); + auto n_dance_forms = new NodeVector; + n_dance_forms->m_field_name = field_name; + n_dance_forms->m_df_type = DF_Type::unit_dance_skill; + n_dance_forms->m_rdf_type = RDF_Type::Vector; + n_dance_forms->m_node_type = NodeType::Vector; + n_dance_forms->m_defined_in = "df.units.xml"; + n_dance_forms->m_addornements = "v*"; + n_dance_forms->m_address = base + offset; + n_dance_forms->m_parent = p_node_parent; + n_dance_forms->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_dance_forms); + +} +void node_from_unit_soul(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_soul, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "name"; + auto n_name = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_soul, field_name)); + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::language_name; + n_name->m_rdf_type = RDF_Type::Struct; + n_name->m_node_type = NodeType::Compound; + n_name->m_address = base + offset; + n_name->m_defined_in = "df.language.xml"; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "race"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_soul, field_name)); + auto n_race = new NodeSimple; + n_race->m_field_name = field_name; + n_race->m_df_type = DF_Type::uint32_t; + n_race->m_rdf_type = RDF_Type::uint32_t; + n_race->m_node_type = NodeType::Simple; + n_race->m_address = base + offset; + n_race->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_race); + + field_name = "sex"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_soul, field_name)); + auto n_sex = new NodeSimple; + n_sex->m_field_name = field_name; + n_sex->m_df_type = DF_Type::int8_t; + n_sex->m_rdf_type = RDF_Type::int8_t; + n_sex->m_node_type = NodeType::Simple; + n_sex->m_address = base + offset; + n_sex->m_comment = "-1 n/a, 0 female, 1 male"; + n_sex->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sex); + + field_name = "caste"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_soul, field_name)); + auto n_caste = new NodeSimple; + n_caste->m_field_name = field_name; + n_caste->m_df_type = DF_Type::uint16_t; + n_caste->m_rdf_type = RDF_Type::uint16_t; + n_caste->m_node_type = NodeType::Simple; + n_caste->m_address = base + offset; + n_caste->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_caste); + + field_name = "orientation_flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_soul, field_name)); + auto n_orientation_flags = new NodeBitfield; + n_orientation_flags->m_field_name = field_name; + n_orientation_flags->m_df_type = DF_Type::orientation_flags; + n_orientation_flags->m_rdf_type = RDF_Type::Bitfield; + n_orientation_flags->m_node_type = NodeType::Bitfield; + n_orientation_flags->m_address = base + offset; + n_orientation_flags->m_defined_in = "df.units.xml"; + n_orientation_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_orientation_flags); + + field_name = "unk2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_soul, field_name)); + auto n_unk2 = new NodeSimple; + n_unk2->m_field_name = field_name; + n_unk2->m_df_type = DF_Type::int32_t; + n_unk2->m_rdf_type = RDF_Type::int32_t; + n_unk2->m_node_type = NodeType::Simple; + n_unk2->m_address = base + offset; + n_unk2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk2); + + field_name = "unk3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_soul, field_name)); + auto n_unk3 = new NodeSimple; + n_unk3->m_field_name = field_name; + n_unk3->m_df_type = DF_Type::int32_t; + n_unk3->m_rdf_type = RDF_Type::int32_t; + n_unk3->m_node_type = NodeType::Simple; + n_unk3->m_address = base + offset; + n_unk3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk3); + + field_name = "unk4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_soul, field_name)); + auto n_unk4 = new NodeSimple; + n_unk4->m_field_name = field_name; + n_unk4->m_df_type = DF_Type::int32_t; + n_unk4->m_rdf_type = RDF_Type::int32_t; + n_unk4->m_node_type = NodeType::Simple; + n_unk4->m_address = base + offset; + n_unk4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk4); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_soul, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_soul, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_soul, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_soul, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_soul, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "mental_attrs"; + auto n_mental_attrs = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_soul, field_name)); + n_mental_attrs->m_field_name = field_name; + n_mental_attrs->m_df_type = DF_Type::unit_attribute; + n_mental_attrs->m_rdf_type = RDF_Type::Array; + n_mental_attrs->m_node_type = NodeType::Array; + n_mental_attrs->m_index_enum = DF_Type::mental_attribute_type; + n_mental_attrs->m_defined_in = "df.units.xml"; + n_mental_attrs->m_addornements = "[13"; + n_mental_attrs->m_array_size = 13; + n_mental_attrs->m_address = base + offset; + n_mental_attrs->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mental_attrs); + + field_name = "skills"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_soul, field_name)); + auto n_skills = new NodeVector; + n_skills->m_field_name = field_name; + n_skills->m_df_type = DF_Type::unit_skill; + n_skills->m_rdf_type = RDF_Type::Vector; + n_skills->m_node_type = NodeType::Vector; + n_skills->m_defined_in = "df.units.xml"; + n_skills->m_addornements = "v*"; + n_skills->m_address = base + offset; + n_skills->m_parent = p_node_parent; + n_skills->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_skills); + + field_name = "preferences"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_soul, field_name)); + auto n_preferences = new NodeVector; + n_preferences->m_field_name = field_name; + n_preferences->m_df_type = DF_Type::unit_preference; + n_preferences->m_rdf_type = RDF_Type::Vector; + n_preferences->m_node_type = NodeType::Vector; + n_preferences->m_defined_in = "df.units.xml"; + n_preferences->m_addornements = "v*"; + n_preferences->m_address = base + offset; + n_preferences->m_parent = p_node_parent; + n_preferences->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_preferences); + + field_name = "personality"; + auto n_personality = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_soul, field_name)); + n_personality->m_field_name = field_name; + n_personality->m_df_type = DF_Type::unit_personality; + n_personality->m_rdf_type = RDF_Type::Struct; + n_personality->m_node_type = NodeType::Compound; + n_personality->m_address = base + offset; + n_personality->m_defined_in = "df.units.xml"; + n_personality->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_personality); + + field_name = "performance_skills"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_soul, field_name)); + auto n_performance_skills = new NodePointer; + n_performance_skills->m_field_name = field_name; + n_performance_skills->m_df_type = get_real_subtype(base+offset, DF_Type::unit_soul__T_performance_skills); + n_performance_skills->m_rdf_type = RDF_Type::Pointer; + n_performance_skills->m_node_type = NodeType::Pointer; + n_performance_skills->m_addornements = "*"; + n_performance_skills->m_address = base + offset; + n_performance_skills->m_parent = p_node_parent; + n_performance_skills->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_performance_skills); + +} +void node_from_unit_action__T_data__T_move(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_move, field_name)); + auto n_x = new NodeSimple; + n_x->m_field_name = field_name; + n_x->m_df_type = DF_Type::int16_t; + n_x->m_rdf_type = RDF_Type::int16_t; + n_x->m_node_type = NodeType::Simple; + n_x->m_address = base + offset; + n_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_x); + + field_name = "y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_move, field_name)); + auto n_y = new NodeSimple; + n_y->m_field_name = field_name; + n_y->m_df_type = DF_Type::int16_t; + n_y->m_rdf_type = RDF_Type::int16_t; + n_y->m_node_type = NodeType::Simple; + n_y->m_address = base + offset; + n_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_y); + + field_name = "z"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_move, field_name)); + auto n_z = new NodeSimple; + n_z->m_field_name = field_name; + n_z->m_df_type = DF_Type::int16_t; + n_z->m_rdf_type = RDF_Type::int16_t; + n_z->m_node_type = NodeType::Simple; + n_z->m_address = base + offset; + n_z->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_z); + + field_name = "timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_move, field_name)); + auto n_timer = new NodeSimple; + n_timer->m_field_name = field_name; + n_timer->m_df_type = DF_Type::int32_t; + n_timer->m_rdf_type = RDF_Type::int32_t; + n_timer->m_node_type = NodeType::Simple; + n_timer->m_address = base + offset; + n_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_timer); + + field_name = "timer_init"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_move, field_name)); + auto n_timer_init = new NodeSimple; + n_timer_init->m_field_name = field_name; + n_timer_init->m_df_type = DF_Type::int32_t; + n_timer_init->m_rdf_type = RDF_Type::int32_t; + n_timer_init->m_node_type = NodeType::Simple; + n_timer_init->m_address = base + offset; + n_timer_init->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_timer_init); + + field_name = "fatigue"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_move, field_name)); + auto n_fatigue = new NodeSimple; + n_fatigue->m_field_name = field_name; + n_fatigue->m_df_type = DF_Type::int32_t; + n_fatigue->m_rdf_type = RDF_Type::int32_t; + n_fatigue->m_node_type = NodeType::Simple; + n_fatigue->m_address = base + offset; + n_fatigue->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_fatigue); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_move, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::unit_action__T_data__T_move__T_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + +} +void node_from_unit_action__T_data__T_attack__T_unk_4(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "wrestle_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_attack__T_unk_4, field_name)); + auto n_wrestle_type = new NodeSimple; + n_wrestle_type->m_field_name = field_name; + n_wrestle_type->m_df_type = DF_Type::int32_t; + n_wrestle_type->m_rdf_type = RDF_Type::int32_t; + n_wrestle_type->m_node_type = NodeType::Simple; + n_wrestle_type->m_address = base + offset; + n_wrestle_type->m_comment = "0=wrestle, 1=grab"; + n_wrestle_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_wrestle_type); + + field_name = "unk_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_attack__T_unk_4, field_name)); + auto n_unk_4 = new NodeSimple; + n_unk_4->m_field_name = field_name; + n_unk_4->m_df_type = DF_Type::int16_t; + n_unk_4->m_rdf_type = RDF_Type::int16_t; + n_unk_4->m_node_type = NodeType::Simple; + n_unk_4->m_address = base + offset; + n_unk_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_4); + + field_name = "unk_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_attack__T_unk_4, field_name)); + auto n_unk_6 = new NodeSimple; + n_unk_6->m_field_name = field_name; + n_unk_6->m_df_type = DF_Type::int16_t; + n_unk_6->m_rdf_type = RDF_Type::int16_t; + n_unk_6->m_node_type = NodeType::Simple; + n_unk_6->m_address = base + offset; + n_unk_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_6); + + field_name = "unk_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_attack__T_unk_4, field_name)); + auto n_unk_8 = new NodeSimple; + n_unk_8->m_field_name = field_name; + n_unk_8->m_df_type = DF_Type::int32_t; + n_unk_8->m_rdf_type = RDF_Type::int32_t; + n_unk_8->m_node_type = NodeType::Simple; + n_unk_8->m_address = base + offset; + n_unk_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_8); + + field_name = "unk_c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_attack__T_unk_4, field_name)); + auto n_unk_c = new NodeSimple; + n_unk_c->m_field_name = field_name; + n_unk_c->m_df_type = DF_Type::int32_t; + n_unk_c->m_rdf_type = RDF_Type::int32_t; + n_unk_c->m_node_type = NodeType::Simple; + n_unk_c->m_address = base + offset; + n_unk_c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_c); + + field_name = "unk_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_attack__T_unk_4, field_name)); + auto n_unk_10 = new NodeSimple; + n_unk_10->m_field_name = field_name; + n_unk_10->m_df_type = DF_Type::int32_t; + n_unk_10->m_rdf_type = RDF_Type::int32_t; + n_unk_10->m_node_type = NodeType::Simple; + n_unk_10->m_address = base + offset; + n_unk_10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_10); + + field_name = "unk_14"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_attack__T_unk_4, field_name)); + auto n_unk_14 = new NodeSimple; + n_unk_14->m_field_name = field_name; + n_unk_14->m_df_type = DF_Type::int16_t; + n_unk_14->m_rdf_type = RDF_Type::int16_t; + n_unk_14->m_node_type = NodeType::Simple; + n_unk_14->m_address = base + offset; + n_unk_14->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_14); + +} +void node_from_unit_action__T_data__T_attack(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "target_unit_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_attack, field_name)); + auto n_target_unit_id = new NodeSimple; + n_target_unit_id->m_field_name = field_name; + n_target_unit_id->m_df_type = DF_Type::int32_t; + n_target_unit_id->m_rdf_type = RDF_Type::int32_t; + n_target_unit_id->m_node_type = NodeType::Simple; + n_target_unit_id->m_address = base + offset; + n_target_unit_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_target_unit_id); + + field_name = "unk_4"; + auto n_unk_4 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_attack, field_name)); + n_unk_4->m_field_name = field_name; + n_unk_4->m_df_type = DF_Type::unit_action__T_data__T_attack__T_unk_4; + n_unk_4->m_rdf_type = RDF_Type::Compound; + n_unk_4->m_node_type = NodeType::Compound; + n_unk_4->m_address = base + offset; + n_unk_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_4); + + field_name = "attack_item_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_attack, field_name)); + auto n_attack_item_id = new NodeSimple; + n_attack_item_id->m_field_name = field_name; + n_attack_item_id->m_df_type = DF_Type::int32_t; + n_attack_item_id->m_rdf_type = RDF_Type::int32_t; + n_attack_item_id->m_node_type = NodeType::Simple; + n_attack_item_id->m_address = base + offset; + n_attack_item_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_attack_item_id); + + field_name = "target_body_part_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_attack, field_name)); + auto n_target_body_part_id = new NodeSimple; + n_target_body_part_id->m_field_name = field_name; + n_target_body_part_id->m_df_type = DF_Type::int16_t; + n_target_body_part_id->m_rdf_type = RDF_Type::int16_t; + n_target_body_part_id->m_node_type = NodeType::Simple; + n_target_body_part_id->m_address = base + offset; + n_target_body_part_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_target_body_part_id); + + field_name = "attack_body_part_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_attack, field_name)); + auto n_attack_body_part_id = new NodeSimple; + n_attack_body_part_id->m_field_name = field_name; + n_attack_body_part_id->m_df_type = DF_Type::int16_t; + n_attack_body_part_id->m_rdf_type = RDF_Type::int16_t; + n_attack_body_part_id->m_node_type = NodeType::Simple; + n_attack_body_part_id->m_address = base + offset; + n_attack_body_part_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_attack_body_part_id); + + field_name = "attack_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_attack, field_name)); + auto n_attack_id = new NodeSimple; + n_attack_id->m_field_name = field_name; + n_attack_id->m_df_type = DF_Type::int32_t; + n_attack_id->m_rdf_type = RDF_Type::int32_t; + n_attack_id->m_node_type = NodeType::Simple; + n_attack_id->m_address = base + offset; + n_attack_id->m_comment = "refers to weapon_attack or caste_attack"; + n_attack_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_attack_id); + + field_name = "unk_28"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_attack, field_name)); + auto n_unk_28 = new NodeSimple; + n_unk_28->m_field_name = field_name; + n_unk_28->m_df_type = DF_Type::int32_t; + n_unk_28->m_rdf_type = RDF_Type::int32_t; + n_unk_28->m_node_type = NodeType::Simple; + n_unk_28->m_address = base + offset; + n_unk_28->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_28); + + field_name = "unk_2c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_attack, field_name)); + auto n_unk_2c = new NodeSimple; + n_unk_2c->m_field_name = field_name; + n_unk_2c->m_df_type = DF_Type::int32_t; + n_unk_2c->m_rdf_type = RDF_Type::int32_t; + n_unk_2c->m_node_type = NodeType::Simple; + n_unk_2c->m_address = base + offset; + n_unk_2c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_2c); + + field_name = "attack_velocity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_attack, field_name)); + auto n_attack_velocity = new NodeSimple; + n_attack_velocity->m_field_name = field_name; + n_attack_velocity->m_df_type = DF_Type::int32_t; + n_attack_velocity->m_rdf_type = RDF_Type::int32_t; + n_attack_velocity->m_node_type = NodeType::Simple; + n_attack_velocity->m_address = base + offset; + n_attack_velocity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_attack_velocity); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_attack, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::unit_action__T_data__T_attack__T_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "attack_skill"; + auto n_attack_skill = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_attack, field_name)); + n_attack_skill->m_field_name = field_name; + n_attack_skill->m_df_type = DF_Type::job_skill; + n_attack_skill->m_rdf_type = RDF_Type::Enum; + n_attack_skill->m_node_type = NodeType::Enum; + n_attack_skill->m_base_type = DF_Type::int16_t; + n_attack_skill->m_enum_type = "job_skill"; + n_attack_skill->m_address = base + offset; + n_attack_skill->m_defined_in = "df.skills.xml"; + n_attack_skill->m_first_value = -1; + n_attack_skill->m_last_value = 134; + n_attack_skill->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_attack_skill); + + field_name = "attack_accuracy"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_attack, field_name)); + auto n_attack_accuracy = new NodeSimple; + n_attack_accuracy->m_field_name = field_name; + n_attack_accuracy->m_df_type = DF_Type::int32_t; + n_attack_accuracy->m_rdf_type = RDF_Type::int32_t; + n_attack_accuracy->m_node_type = NodeType::Simple; + n_attack_accuracy->m_address = base + offset; + n_attack_accuracy->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_attack_accuracy); + + field_name = "timer1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_attack, field_name)); + auto n_timer1 = new NodeSimple; + n_timer1->m_field_name = field_name; + n_timer1->m_df_type = DF_Type::int32_t; + n_timer1->m_rdf_type = RDF_Type::int32_t; + n_timer1->m_node_type = NodeType::Simple; + n_timer1->m_address = base + offset; + n_timer1->m_comment = "prepare"; + n_timer1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_timer1); + + field_name = "timer2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_attack, field_name)); + auto n_timer2 = new NodeSimple; + n_timer2->m_field_name = field_name; + n_timer2->m_df_type = DF_Type::int32_t; + n_timer2->m_rdf_type = RDF_Type::int32_t; + n_timer2->m_node_type = NodeType::Simple; + n_timer2->m_address = base + offset; + n_timer2->m_comment = "recover"; + n_timer2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_timer2); + +} +void node_from_unit_action__T_data__T_jump(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "x1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_jump, field_name)); + auto n_x1 = new NodeSimple; + n_x1->m_field_name = field_name; + n_x1->m_df_type = DF_Type::int16_t; + n_x1->m_rdf_type = RDF_Type::int16_t; + n_x1->m_node_type = NodeType::Simple; + n_x1->m_address = base + offset; + n_x1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_x1); + + field_name = "y1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_jump, field_name)); + auto n_y1 = new NodeSimple; + n_y1->m_field_name = field_name; + n_y1->m_df_type = DF_Type::int16_t; + n_y1->m_rdf_type = RDF_Type::int16_t; + n_y1->m_node_type = NodeType::Simple; + n_y1->m_address = base + offset; + n_y1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_y1); + + field_name = "z1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_jump, field_name)); + auto n_z1 = new NodeSimple; + n_z1->m_field_name = field_name; + n_z1->m_df_type = DF_Type::int16_t; + n_z1->m_rdf_type = RDF_Type::int16_t; + n_z1->m_node_type = NodeType::Simple; + n_z1->m_address = base + offset; + n_z1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_z1); + + field_name = "x2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_jump, field_name)); + auto n_x2 = new NodeSimple; + n_x2->m_field_name = field_name; + n_x2->m_df_type = DF_Type::int16_t; + n_x2->m_rdf_type = RDF_Type::int16_t; + n_x2->m_node_type = NodeType::Simple; + n_x2->m_address = base + offset; + n_x2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_x2); + + field_name = "y2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_jump, field_name)); + auto n_y2 = new NodeSimple; + n_y2->m_field_name = field_name; + n_y2->m_df_type = DF_Type::int16_t; + n_y2->m_rdf_type = RDF_Type::int16_t; + n_y2->m_node_type = NodeType::Simple; + n_y2->m_address = base + offset; + n_y2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_y2); + + field_name = "z2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_jump, field_name)); + auto n_z2 = new NodeSimple; + n_z2->m_field_name = field_name; + n_z2->m_df_type = DF_Type::int16_t; + n_z2->m_rdf_type = RDF_Type::int16_t; + n_z2->m_node_type = NodeType::Simple; + n_z2->m_address = base + offset; + n_z2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_z2); + +} +void node_from_unit_action__T_data__T_holdterrain(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "x1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_holdterrain, field_name)); + auto n_x1 = new NodeSimple; + n_x1->m_field_name = field_name; + n_x1->m_df_type = DF_Type::int16_t; + n_x1->m_rdf_type = RDF_Type::int16_t; + n_x1->m_node_type = NodeType::Simple; + n_x1->m_address = base + offset; + n_x1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_x1); + + field_name = "y1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_holdterrain, field_name)); + auto n_y1 = new NodeSimple; + n_y1->m_field_name = field_name; + n_y1->m_df_type = DF_Type::int16_t; + n_y1->m_rdf_type = RDF_Type::int16_t; + n_y1->m_node_type = NodeType::Simple; + n_y1->m_address = base + offset; + n_y1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_y1); + + field_name = "z1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_holdterrain, field_name)); + auto n_z1 = new NodeSimple; + n_z1->m_field_name = field_name; + n_z1->m_df_type = DF_Type::int16_t; + n_z1->m_rdf_type = RDF_Type::int16_t; + n_z1->m_node_type = NodeType::Simple; + n_z1->m_address = base + offset; + n_z1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_z1); + + field_name = "x2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_holdterrain, field_name)); + auto n_x2 = new NodeSimple; + n_x2->m_field_name = field_name; + n_x2->m_df_type = DF_Type::int16_t; + n_x2->m_rdf_type = RDF_Type::int16_t; + n_x2->m_node_type = NodeType::Simple; + n_x2->m_address = base + offset; + n_x2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_x2); + + field_name = "y2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_holdterrain, field_name)); + auto n_y2 = new NodeSimple; + n_y2->m_field_name = field_name; + n_y2->m_df_type = DF_Type::int16_t; + n_y2->m_rdf_type = RDF_Type::int16_t; + n_y2->m_node_type = NodeType::Simple; + n_y2->m_address = base + offset; + n_y2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_y2); + + field_name = "z2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_holdterrain, field_name)); + auto n_z2 = new NodeSimple; + n_z2->m_field_name = field_name; + n_z2->m_df_type = DF_Type::int16_t; + n_z2->m_rdf_type = RDF_Type::int16_t; + n_z2->m_node_type = NodeType::Simple; + n_z2->m_address = base + offset; + n_z2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_z2); + + field_name = "x3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_holdterrain, field_name)); + auto n_x3 = new NodeSimple; + n_x3->m_field_name = field_name; + n_x3->m_df_type = DF_Type::int16_t; + n_x3->m_rdf_type = RDF_Type::int16_t; + n_x3->m_node_type = NodeType::Simple; + n_x3->m_address = base + offset; + n_x3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_x3); + + field_name = "y3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_holdterrain, field_name)); + auto n_y3 = new NodeSimple; + n_y3->m_field_name = field_name; + n_y3->m_df_type = DF_Type::int16_t; + n_y3->m_rdf_type = RDF_Type::int16_t; + n_y3->m_node_type = NodeType::Simple; + n_y3->m_address = base + offset; + n_y3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_y3); + + field_name = "z3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_holdterrain, field_name)); + auto n_z3 = new NodeSimple; + n_z3->m_field_name = field_name; + n_z3->m_df_type = DF_Type::int16_t; + n_z3->m_rdf_type = RDF_Type::int16_t; + n_z3->m_node_type = NodeType::Simple; + n_z3->m_address = base + offset; + n_z3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_z3); + + field_name = "timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_holdterrain, field_name)); + auto n_timer = new NodeSimple; + n_timer->m_field_name = field_name; + n_timer->m_df_type = DF_Type::int32_t; + n_timer->m_rdf_type = RDF_Type::int32_t; + n_timer->m_node_type = NodeType::Simple; + n_timer->m_address = base + offset; + n_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_timer); + + field_name = "fatigue"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_holdterrain, field_name)); + auto n_fatigue = new NodeSimple; + n_fatigue->m_field_name = field_name; + n_fatigue->m_df_type = DF_Type::int32_t; + n_fatigue->m_rdf_type = RDF_Type::int32_t; + n_fatigue->m_node_type = NodeType::Simple; + n_fatigue->m_address = base + offset; + n_fatigue->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_fatigue); + +} +void node_from_unit_action__T_data__T_releaseterrain(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_releaseterrain, field_name)); + auto n_x = new NodeSimple; + n_x->m_field_name = field_name; + n_x->m_df_type = DF_Type::int16_t; + n_x->m_rdf_type = RDF_Type::int16_t; + n_x->m_node_type = NodeType::Simple; + n_x->m_address = base + offset; + n_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_x); + + field_name = "y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_releaseterrain, field_name)); + auto n_y = new NodeSimple; + n_y->m_field_name = field_name; + n_y->m_df_type = DF_Type::int16_t; + n_y->m_rdf_type = RDF_Type::int16_t; + n_y->m_node_type = NodeType::Simple; + n_y->m_address = base + offset; + n_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_y); + + field_name = "z"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_releaseterrain, field_name)); + auto n_z = new NodeSimple; + n_z->m_field_name = field_name; + n_z->m_df_type = DF_Type::int16_t; + n_z->m_rdf_type = RDF_Type::int16_t; + n_z->m_node_type = NodeType::Simple; + n_z->m_address = base + offset; + n_z->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_z); + +} +void node_from_unit_action__T_data__T_climb(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "x1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_climb, field_name)); + auto n_x1 = new NodeSimple; + n_x1->m_field_name = field_name; + n_x1->m_df_type = DF_Type::int16_t; + n_x1->m_rdf_type = RDF_Type::int16_t; + n_x1->m_node_type = NodeType::Simple; + n_x1->m_address = base + offset; + n_x1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_x1); + + field_name = "y1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_climb, field_name)); + auto n_y1 = new NodeSimple; + n_y1->m_field_name = field_name; + n_y1->m_df_type = DF_Type::int16_t; + n_y1->m_rdf_type = RDF_Type::int16_t; + n_y1->m_node_type = NodeType::Simple; + n_y1->m_address = base + offset; + n_y1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_y1); + + field_name = "z1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_climb, field_name)); + auto n_z1 = new NodeSimple; + n_z1->m_field_name = field_name; + n_z1->m_df_type = DF_Type::int16_t; + n_z1->m_rdf_type = RDF_Type::int16_t; + n_z1->m_node_type = NodeType::Simple; + n_z1->m_address = base + offset; + n_z1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_z1); + + field_name = "x2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_climb, field_name)); + auto n_x2 = new NodeSimple; + n_x2->m_field_name = field_name; + n_x2->m_df_type = DF_Type::int16_t; + n_x2->m_rdf_type = RDF_Type::int16_t; + n_x2->m_node_type = NodeType::Simple; + n_x2->m_address = base + offset; + n_x2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_x2); + + field_name = "y2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_climb, field_name)); + auto n_y2 = new NodeSimple; + n_y2->m_field_name = field_name; + n_y2->m_df_type = DF_Type::int16_t; + n_y2->m_rdf_type = RDF_Type::int16_t; + n_y2->m_node_type = NodeType::Simple; + n_y2->m_address = base + offset; + n_y2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_y2); + + field_name = "z2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_climb, field_name)); + auto n_z2 = new NodeSimple; + n_z2->m_field_name = field_name; + n_z2->m_df_type = DF_Type::int16_t; + n_z2->m_rdf_type = RDF_Type::int16_t; + n_z2->m_node_type = NodeType::Simple; + n_z2->m_address = base + offset; + n_z2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_z2); + + field_name = "x3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_climb, field_name)); + auto n_x3 = new NodeSimple; + n_x3->m_field_name = field_name; + n_x3->m_df_type = DF_Type::int16_t; + n_x3->m_rdf_type = RDF_Type::int16_t; + n_x3->m_node_type = NodeType::Simple; + n_x3->m_address = base + offset; + n_x3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_x3); + + field_name = "y3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_climb, field_name)); + auto n_y3 = new NodeSimple; + n_y3->m_field_name = field_name; + n_y3->m_df_type = DF_Type::int16_t; + n_y3->m_rdf_type = RDF_Type::int16_t; + n_y3->m_node_type = NodeType::Simple; + n_y3->m_address = base + offset; + n_y3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_y3); + + field_name = "z3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_climb, field_name)); + auto n_z3 = new NodeSimple; + n_z3->m_field_name = field_name; + n_z3->m_df_type = DF_Type::int16_t; + n_z3->m_rdf_type = RDF_Type::int16_t; + n_z3->m_node_type = NodeType::Simple; + n_z3->m_address = base + offset; + n_z3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_z3); + + field_name = "timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_climb, field_name)); + auto n_timer = new NodeSimple; + n_timer->m_field_name = field_name; + n_timer->m_df_type = DF_Type::int32_t; + n_timer->m_rdf_type = RDF_Type::int32_t; + n_timer->m_node_type = NodeType::Simple; + n_timer->m_address = base + offset; + n_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_timer); + + field_name = "timer_init"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_climb, field_name)); + auto n_timer_init = new NodeSimple; + n_timer_init->m_field_name = field_name; + n_timer_init->m_df_type = DF_Type::int32_t; + n_timer_init->m_rdf_type = RDF_Type::int32_t; + n_timer_init->m_node_type = NodeType::Simple; + n_timer_init->m_address = base + offset; + n_timer_init->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_timer_init); + + field_name = "fatigue"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_climb, field_name)); + auto n_fatigue = new NodeSimple; + n_fatigue->m_field_name = field_name; + n_fatigue->m_df_type = DF_Type::int32_t; + n_fatigue->m_rdf_type = RDF_Type::int32_t; + n_fatigue->m_node_type = NodeType::Simple; + n_fatigue->m_address = base + offset; + n_fatigue->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_fatigue); + +} +void node_from_unit_action__T_data__T_job(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_job, field_name)); + auto n_x = new NodeSimple; + n_x->m_field_name = field_name; + n_x->m_df_type = DF_Type::int16_t; + n_x->m_rdf_type = RDF_Type::int16_t; + n_x->m_node_type = NodeType::Simple; + n_x->m_address = base + offset; + n_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_x); + + field_name = "y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_job, field_name)); + auto n_y = new NodeSimple; + n_y->m_field_name = field_name; + n_y->m_df_type = DF_Type::int16_t; + n_y->m_rdf_type = RDF_Type::int16_t; + n_y->m_node_type = NodeType::Simple; + n_y->m_address = base + offset; + n_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_y); + + field_name = "z"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_job, field_name)); + auto n_z = new NodeSimple; + n_z->m_field_name = field_name; + n_z->m_df_type = DF_Type::int16_t; + n_z->m_rdf_type = RDF_Type::int16_t; + n_z->m_node_type = NodeType::Simple; + n_z->m_address = base + offset; + n_z->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_z); + + field_name = "timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_job, field_name)); + auto n_timer = new NodeSimple; + n_timer->m_field_name = field_name; + n_timer->m_df_type = DF_Type::int32_t; + n_timer->m_rdf_type = RDF_Type::int32_t; + n_timer->m_node_type = NodeType::Simple; + n_timer->m_address = base + offset; + n_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_timer); + +} +void node_from_unit_action__T_data__T_talk(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk_0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_talk, field_name)); + auto n_unk_0 = new NodeSimple; + n_unk_0->m_field_name = field_name; + n_unk_0->m_df_type = DF_Type::int32_t; + n_unk_0->m_rdf_type = RDF_Type::int32_t; + n_unk_0->m_node_type = NodeType::Simple; + n_unk_0->m_address = base + offset; + n_unk_0->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_0); + + field_name = "activity_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_talk, field_name)); + auto n_activity_id = new NodeSimple; + n_activity_id->m_field_name = field_name; + n_activity_id->m_df_type = DF_Type::int32_t; + n_activity_id->m_rdf_type = RDF_Type::int32_t; + n_activity_id->m_node_type = NodeType::Simple; + n_activity_id->m_address = base + offset; + n_activity_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_activity_id); + + field_name = "activity_event_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_talk, field_name)); + auto n_activity_event_idx = new NodeSimple; + n_activity_event_idx->m_field_name = field_name; + n_activity_event_idx->m_df_type = DF_Type::int32_t; + n_activity_event_idx->m_rdf_type = RDF_Type::int32_t; + n_activity_event_idx->m_node_type = NodeType::Simple; + n_activity_event_idx->m_address = base + offset; + n_activity_event_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_activity_event_idx); + + field_name = "event"; + auto n_event = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_talk, field_name)); + n_event->m_field_name = field_name; + n_event->m_df_type = DF_Type::entity_event; + n_event->m_rdf_type = RDF_Type::Struct; + n_event->m_node_type = NodeType::Compound; + n_event->m_address = base + offset; + n_event->m_defined_in = "df.entities.xml"; + n_event->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_event); + + field_name = "unk_34"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_talk, field_name)); + auto n_unk_34 = new NodeSimple; + n_unk_34->m_field_name = field_name; + n_unk_34->m_df_type = DF_Type::int32_t; + n_unk_34->m_rdf_type = RDF_Type::int32_t; + n_unk_34->m_node_type = NodeType::Simple; + n_unk_34->m_address = base + offset; + n_unk_34->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_34); + + field_name = "timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_talk, field_name)); + auto n_timer = new NodeSimple; + n_timer->m_field_name = field_name; + n_timer->m_df_type = DF_Type::int32_t; + n_timer->m_rdf_type = RDF_Type::int32_t; + n_timer->m_node_type = NodeType::Simple; + n_timer->m_address = base + offset; + n_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_timer); + + field_name = "unk_3c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_talk, field_name)); + auto n_unk_3c = new NodeSimple; + n_unk_3c->m_field_name = field_name; + n_unk_3c->m_df_type = DF_Type::int32_t; + n_unk_3c->m_rdf_type = RDF_Type::int32_t; + n_unk_3c->m_node_type = NodeType::Simple; + n_unk_3c->m_address = base + offset; + n_unk_3c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_3c); + + field_name = "unk_40"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_talk, field_name)); + auto n_unk_40 = new NodeSimple; + n_unk_40->m_field_name = field_name; + n_unk_40->m_df_type = DF_Type::int32_t; + n_unk_40->m_rdf_type = RDF_Type::int32_t; + n_unk_40->m_node_type = NodeType::Simple; + n_unk_40->m_address = base + offset; + n_unk_40->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_40); + + field_name = "unk_44"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_talk, field_name)); + auto n_unk_44 = new NodeSimple; + n_unk_44->m_field_name = field_name; + n_unk_44->m_df_type = DF_Type::int32_t; + n_unk_44->m_rdf_type = RDF_Type::int32_t; + n_unk_44->m_node_type = NodeType::Simple; + n_unk_44->m_address = base + offset; + n_unk_44->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_44); + + field_name = "unk_48"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_talk, field_name)); + auto n_unk_48 = new NodeSimple; + n_unk_48->m_field_name = field_name; + n_unk_48->m_df_type = DF_Type::int32_t; + n_unk_48->m_rdf_type = RDF_Type::int32_t; + n_unk_48->m_node_type = NodeType::Simple; + n_unk_48->m_address = base + offset; + n_unk_48->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_48); + + field_name = "unk_4c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_talk, field_name)); + auto n_unk_4c = new NodeSimple; + n_unk_4c->m_field_name = field_name; + n_unk_4c->m_df_type = DF_Type::int32_t; + n_unk_4c->m_rdf_type = RDF_Type::int32_t; + n_unk_4c->m_node_type = NodeType::Simple; + n_unk_4c->m_address = base + offset; + n_unk_4c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_4c); + + field_name = "unk_50"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_talk, field_name)); + auto n_unk_50 = new NodeSimple; + n_unk_50->m_field_name = field_name; + n_unk_50->m_df_type = DF_Type::int32_t; + n_unk_50->m_rdf_type = RDF_Type::int32_t; + n_unk_50->m_node_type = NodeType::Simple; + n_unk_50->m_address = base + offset; + n_unk_50->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_50); + + field_name = "unk_54"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_talk, field_name)); + auto n_unk_54 = new NodeSimple; + n_unk_54->m_field_name = field_name; + n_unk_54->m_df_type = DF_Type::int32_t; + n_unk_54->m_rdf_type = RDF_Type::int32_t; + n_unk_54->m_node_type = NodeType::Simple; + n_unk_54->m_address = base + offset; + n_unk_54->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_54); + +} +void node_from_unit_action__T_data__T_unsteady(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_unsteady, field_name)); + auto n_timer = new NodeSimple; + n_timer->m_field_name = field_name; + n_timer->m_df_type = DF_Type::int32_t; + n_timer->m_rdf_type = RDF_Type::int32_t; + n_timer->m_node_type = NodeType::Simple; + n_timer->m_address = base + offset; + n_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_timer); + +} +void node_from_unit_action__T_data__T_parry(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unit_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_parry, field_name)); + auto n_unit_id = new NodeSimple; + n_unit_id->m_field_name = field_name; + n_unit_id->m_df_type = DF_Type::int32_t; + n_unit_id->m_rdf_type = RDF_Type::int32_t; + n_unit_id->m_node_type = NodeType::Simple; + n_unit_id->m_address = base + offset; + n_unit_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unit_id); + + field_name = "target_action"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_parry, field_name)); + auto n_target_action = new NodeSimple; + n_target_action->m_field_name = field_name; + n_target_action->m_df_type = DF_Type::int32_t; + n_target_action->m_rdf_type = RDF_Type::int32_t; + n_target_action->m_node_type = NodeType::Simple; + n_target_action->m_address = base + offset; + n_target_action->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_target_action); + + field_name = "parry_item_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_parry, field_name)); + auto n_parry_item_id = new NodeSimple; + n_parry_item_id->m_field_name = field_name; + n_parry_item_id->m_df_type = DF_Type::int32_t; + n_parry_item_id->m_rdf_type = RDF_Type::int32_t; + n_parry_item_id->m_node_type = NodeType::Simple; + n_parry_item_id->m_address = base + offset; + n_parry_item_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_parry_item_id); + +} +void node_from_unit_action__T_data__T_block(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unit_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_block, field_name)); + auto n_unit_id = new NodeSimple; + n_unit_id->m_field_name = field_name; + n_unit_id->m_df_type = DF_Type::int32_t; + n_unit_id->m_rdf_type = RDF_Type::int32_t; + n_unit_id->m_node_type = NodeType::Simple; + n_unit_id->m_address = base + offset; + n_unit_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unit_id); + + field_name = "target_action"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_block, field_name)); + auto n_target_action = new NodeSimple; + n_target_action->m_field_name = field_name; + n_target_action->m_df_type = DF_Type::int32_t; + n_target_action->m_rdf_type = RDF_Type::int32_t; + n_target_action->m_node_type = NodeType::Simple; + n_target_action->m_address = base + offset; + n_target_action->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_target_action); + + field_name = "block_item_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_block, field_name)); + auto n_block_item_id = new NodeSimple; + n_block_item_id->m_field_name = field_name; + n_block_item_id->m_df_type = DF_Type::int32_t; + n_block_item_id->m_rdf_type = RDF_Type::int32_t; + n_block_item_id->m_node_type = NodeType::Simple; + n_block_item_id->m_address = base + offset; + n_block_item_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_block_item_id); + +} +void node_from_unit_action__T_data__T_dodge(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "x1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_dodge, field_name)); + auto n_x1 = new NodeSimple; + n_x1->m_field_name = field_name; + n_x1->m_df_type = DF_Type::int16_t; + n_x1->m_rdf_type = RDF_Type::int16_t; + n_x1->m_node_type = NodeType::Simple; + n_x1->m_address = base + offset; + n_x1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_x1); + + field_name = "y1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_dodge, field_name)); + auto n_y1 = new NodeSimple; + n_y1->m_field_name = field_name; + n_y1->m_df_type = DF_Type::int16_t; + n_y1->m_rdf_type = RDF_Type::int16_t; + n_y1->m_node_type = NodeType::Simple; + n_y1->m_address = base + offset; + n_y1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_y1); + + field_name = "z1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_dodge, field_name)); + auto n_z1 = new NodeSimple; + n_z1->m_field_name = field_name; + n_z1->m_df_type = DF_Type::int16_t; + n_z1->m_rdf_type = RDF_Type::int16_t; + n_z1->m_node_type = NodeType::Simple; + n_z1->m_address = base + offset; + n_z1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_z1); + + field_name = "timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_dodge, field_name)); + auto n_timer = new NodeSimple; + n_timer->m_field_name = field_name; + n_timer->m_df_type = DF_Type::int32_t; + n_timer->m_rdf_type = RDF_Type::int32_t; + n_timer->m_node_type = NodeType::Simple; + n_timer->m_address = base + offset; + n_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_timer); + + field_name = "x2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_dodge, field_name)); + auto n_x2 = new NodeSimple; + n_x2->m_field_name = field_name; + n_x2->m_df_type = DF_Type::int16_t; + n_x2->m_rdf_type = RDF_Type::int16_t; + n_x2->m_node_type = NodeType::Simple; + n_x2->m_address = base + offset; + n_x2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_x2); + + field_name = "y2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_dodge, field_name)); + auto n_y2 = new NodeSimple; + n_y2->m_field_name = field_name; + n_y2->m_df_type = DF_Type::int16_t; + n_y2->m_rdf_type = RDF_Type::int16_t; + n_y2->m_node_type = NodeType::Simple; + n_y2->m_address = base + offset; + n_y2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_y2); + + field_name = "z2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_dodge, field_name)); + auto n_z2 = new NodeSimple; + n_z2->m_field_name = field_name; + n_z2->m_df_type = DF_Type::int16_t; + n_z2->m_rdf_type = RDF_Type::int16_t; + n_z2->m_node_type = NodeType::Simple; + n_z2->m_address = base + offset; + n_z2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_z2); + +} +void node_from_unit_action__T_data__T_recover(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_recover, field_name)); + auto n_timer = new NodeSimple; + n_timer->m_field_name = field_name; + n_timer->m_df_type = DF_Type::int32_t; + n_timer->m_rdf_type = RDF_Type::int32_t; + n_timer->m_node_type = NodeType::Simple; + n_timer->m_address = base + offset; + n_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_timer); + + field_name = "unk_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_recover, field_name)); + auto n_unk_4 = new NodeSimple; + n_unk_4->m_field_name = field_name; + n_unk_4->m_df_type = DF_Type::int32_t; + n_unk_4->m_rdf_type = RDF_Type::int32_t; + n_unk_4->m_node_type = NodeType::Simple; + n_unk_4->m_address = base + offset; + n_unk_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_4); + +} +void node_from_unit_action__T_data__T_standup(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_standup, field_name)); + auto n_timer = new NodeSimple; + n_timer->m_field_name = field_name; + n_timer->m_df_type = DF_Type::int32_t; + n_timer->m_rdf_type = RDF_Type::int32_t; + n_timer->m_node_type = NodeType::Simple; + n_timer->m_address = base + offset; + n_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_timer); + +} +void node_from_unit_action__T_data__T_liedown(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_liedown, field_name)); + auto n_timer = new NodeSimple; + n_timer->m_field_name = field_name; + n_timer->m_df_type = DF_Type::int32_t; + n_timer->m_rdf_type = RDF_Type::int32_t; + n_timer->m_node_type = NodeType::Simple; + n_timer->m_address = base + offset; + n_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_timer); + +} +void node_from_unit_action__T_data__T_job2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_job2, field_name)); + auto n_timer = new NodeSimple; + n_timer->m_field_name = field_name; + n_timer->m_df_type = DF_Type::int32_t; + n_timer->m_rdf_type = RDF_Type::int32_t; + n_timer->m_node_type = NodeType::Simple; + n_timer->m_address = base + offset; + n_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_timer); + +} +void node_from_unit_action__T_data__T_pushobject(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "x1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_pushobject, field_name)); + auto n_x1 = new NodeSimple; + n_x1->m_field_name = field_name; + n_x1->m_df_type = DF_Type::int16_t; + n_x1->m_rdf_type = RDF_Type::int16_t; + n_x1->m_node_type = NodeType::Simple; + n_x1->m_address = base + offset; + n_x1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_x1); + + field_name = "y1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_pushobject, field_name)); + auto n_y1 = new NodeSimple; + n_y1->m_field_name = field_name; + n_y1->m_df_type = DF_Type::int16_t; + n_y1->m_rdf_type = RDF_Type::int16_t; + n_y1->m_node_type = NodeType::Simple; + n_y1->m_address = base + offset; + n_y1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_y1); + + field_name = "z1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_pushobject, field_name)); + auto n_z1 = new NodeSimple; + n_z1->m_field_name = field_name; + n_z1->m_df_type = DF_Type::int16_t; + n_z1->m_rdf_type = RDF_Type::int16_t; + n_z1->m_node_type = NodeType::Simple; + n_z1->m_address = base + offset; + n_z1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_z1); + + field_name = "x2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_pushobject, field_name)); + auto n_x2 = new NodeSimple; + n_x2->m_field_name = field_name; + n_x2->m_df_type = DF_Type::int16_t; + n_x2->m_rdf_type = RDF_Type::int16_t; + n_x2->m_node_type = NodeType::Simple; + n_x2->m_address = base + offset; + n_x2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_x2); + + field_name = "y2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_pushobject, field_name)); + auto n_y2 = new NodeSimple; + n_y2->m_field_name = field_name; + n_y2->m_df_type = DF_Type::int16_t; + n_y2->m_rdf_type = RDF_Type::int16_t; + n_y2->m_node_type = NodeType::Simple; + n_y2->m_address = base + offset; + n_y2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_y2); + + field_name = "z2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_pushobject, field_name)); + auto n_z2 = new NodeSimple; + n_z2->m_field_name = field_name; + n_z2->m_df_type = DF_Type::int16_t; + n_z2->m_rdf_type = RDF_Type::int16_t; + n_z2->m_node_type = NodeType::Simple; + n_z2->m_address = base + offset; + n_z2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_z2); + + field_name = "x3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_pushobject, field_name)); + auto n_x3 = new NodeSimple; + n_x3->m_field_name = field_name; + n_x3->m_df_type = DF_Type::int16_t; + n_x3->m_rdf_type = RDF_Type::int16_t; + n_x3->m_node_type = NodeType::Simple; + n_x3->m_address = base + offset; + n_x3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_x3); + + field_name = "y3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_pushobject, field_name)); + auto n_y3 = new NodeSimple; + n_y3->m_field_name = field_name; + n_y3->m_df_type = DF_Type::int16_t; + n_y3->m_rdf_type = RDF_Type::int16_t; + n_y3->m_node_type = NodeType::Simple; + n_y3->m_address = base + offset; + n_y3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_y3); + + field_name = "z3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_pushobject, field_name)); + auto n_z3 = new NodeSimple; + n_z3->m_field_name = field_name; + n_z3->m_df_type = DF_Type::int16_t; + n_z3->m_rdf_type = RDF_Type::int16_t; + n_z3->m_node_type = NodeType::Simple; + n_z3->m_address = base + offset; + n_z3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_z3); + + field_name = "timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_pushobject, field_name)); + auto n_timer = new NodeSimple; + n_timer->m_field_name = field_name; + n_timer->m_df_type = DF_Type::int32_t; + n_timer->m_rdf_type = RDF_Type::int32_t; + n_timer->m_node_type = NodeType::Simple; + n_timer->m_address = base + offset; + n_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_timer); + + field_name = "unk_18"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_pushobject, field_name)); + auto n_unk_18 = new NodeSimple; + n_unk_18->m_field_name = field_name; + n_unk_18->m_df_type = DF_Type::int32_t; + n_unk_18->m_rdf_type = RDF_Type::int32_t; + n_unk_18->m_node_type = NodeType::Simple; + n_unk_18->m_address = base + offset; + n_unk_18->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_18); + +} +void node_from_unit_action__T_data__T_suckblood(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unit_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_suckblood, field_name)); + auto n_unit_id = new NodeSimple; + n_unit_id->m_field_name = field_name; + n_unit_id->m_df_type = DF_Type::int32_t; + n_unit_id->m_rdf_type = RDF_Type::int32_t; + n_unit_id->m_node_type = NodeType::Simple; + n_unit_id->m_address = base + offset; + n_unit_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unit_id); + + field_name = "timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_suckblood, field_name)); + auto n_timer = new NodeSimple; + n_timer->m_field_name = field_name; + n_timer->m_df_type = DF_Type::int32_t; + n_timer->m_rdf_type = RDF_Type::int32_t; + n_timer->m_node_type = NodeType::Simple; + n_timer->m_address = base + offset; + n_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_timer); + +} +void node_from_unit_action__T_data__T_holditem(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "x1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_holditem, field_name)); + auto n_x1 = new NodeSimple; + n_x1->m_field_name = field_name; + n_x1->m_df_type = DF_Type::int16_t; + n_x1->m_rdf_type = RDF_Type::int16_t; + n_x1->m_node_type = NodeType::Simple; + n_x1->m_address = base + offset; + n_x1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_x1); + + field_name = "y1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_holditem, field_name)); + auto n_y1 = new NodeSimple; + n_y1->m_field_name = field_name; + n_y1->m_df_type = DF_Type::int16_t; + n_y1->m_rdf_type = RDF_Type::int16_t; + n_y1->m_node_type = NodeType::Simple; + n_y1->m_address = base + offset; + n_y1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_y1); + + field_name = "z1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_holditem, field_name)); + auto n_z1 = new NodeSimple; + n_z1->m_field_name = field_name; + n_z1->m_df_type = DF_Type::int16_t; + n_z1->m_rdf_type = RDF_Type::int16_t; + n_z1->m_node_type = NodeType::Simple; + n_z1->m_address = base + offset; + n_z1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_z1); + + field_name = "x2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_holditem, field_name)); + auto n_x2 = new NodeSimple; + n_x2->m_field_name = field_name; + n_x2->m_df_type = DF_Type::int16_t; + n_x2->m_rdf_type = RDF_Type::int16_t; + n_x2->m_node_type = NodeType::Simple; + n_x2->m_address = base + offset; + n_x2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_x2); + + field_name = "y2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_holditem, field_name)); + auto n_y2 = new NodeSimple; + n_y2->m_field_name = field_name; + n_y2->m_df_type = DF_Type::int16_t; + n_y2->m_rdf_type = RDF_Type::int16_t; + n_y2->m_node_type = NodeType::Simple; + n_y2->m_address = base + offset; + n_y2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_y2); + + field_name = "z2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_holditem, field_name)); + auto n_z2 = new NodeSimple; + n_z2->m_field_name = field_name; + n_z2->m_df_type = DF_Type::int16_t; + n_z2->m_rdf_type = RDF_Type::int16_t; + n_z2->m_node_type = NodeType::Simple; + n_z2->m_address = base + offset; + n_z2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_z2); + + field_name = "unk_c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_holditem, field_name)); + auto n_unk_c = new NodeSimple; + n_unk_c->m_field_name = field_name; + n_unk_c->m_df_type = DF_Type::int32_t; + n_unk_c->m_rdf_type = RDF_Type::int32_t; + n_unk_c->m_node_type = NodeType::Simple; + n_unk_c->m_address = base + offset; + n_unk_c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_c); + + field_name = "unk_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_holditem, field_name)); + auto n_unk_10 = new NodeSimple; + n_unk_10->m_field_name = field_name; + n_unk_10->m_df_type = DF_Type::int32_t; + n_unk_10->m_rdf_type = RDF_Type::int32_t; + n_unk_10->m_node_type = NodeType::Simple; + n_unk_10->m_address = base + offset; + n_unk_10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_10); + + field_name = "unk_14"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_holditem, field_name)); + auto n_unk_14 = new NodeSimple; + n_unk_14->m_field_name = field_name; + n_unk_14->m_df_type = DF_Type::int32_t; + n_unk_14->m_rdf_type = RDF_Type::int32_t; + n_unk_14->m_node_type = NodeType::Simple; + n_unk_14->m_address = base + offset; + n_unk_14->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_14); + +} +void node_from_unit_action__T_data__T_releaseitem(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk_0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data__T_releaseitem, field_name)); + auto n_unk_0 = new NodeSimple; + n_unk_0->m_field_name = field_name; + n_unk_0->m_df_type = DF_Type::int32_t; + n_unk_0->m_rdf_type = RDF_Type::int32_t; + n_unk_0->m_node_type = NodeType::Simple; + n_unk_0->m_address = base + offset; + n_unk_0->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_0); + +} +void node_from_unit_action__T_data(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = true) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "move"; + auto n_move = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data, field_name)); + n_move->m_field_name = field_name; + n_move->m_df_type = DF_Type::unit_action__T_data__T_move; + n_move->m_rdf_type = RDF_Type::Compound; + n_move->m_node_type = NodeType::Compound; + n_move->m_address = base + offset; + n_move->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_move); + + field_name = "attack"; + auto n_attack = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data, field_name)); + n_attack->m_field_name = field_name; + n_attack->m_df_type = DF_Type::unit_action__T_data__T_attack; + n_attack->m_rdf_type = RDF_Type::Compound; + n_attack->m_node_type = NodeType::Compound; + n_attack->m_address = base + offset; + n_attack->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_attack); + + field_name = "jump"; + auto n_jump = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data, field_name)); + n_jump->m_field_name = field_name; + n_jump->m_df_type = DF_Type::unit_action__T_data__T_jump; + n_jump->m_rdf_type = RDF_Type::Compound; + n_jump->m_node_type = NodeType::Compound; + n_jump->m_address = base + offset; + n_jump->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_jump); + + field_name = "holdterrain"; + auto n_holdterrain = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data, field_name)); + n_holdterrain->m_field_name = field_name; + n_holdterrain->m_df_type = DF_Type::unit_action__T_data__T_holdterrain; + n_holdterrain->m_rdf_type = RDF_Type::Compound; + n_holdterrain->m_node_type = NodeType::Compound; + n_holdterrain->m_address = base + offset; + n_holdterrain->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_holdterrain); + + field_name = "releaseterrain"; + auto n_releaseterrain = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data, field_name)); + n_releaseterrain->m_field_name = field_name; + n_releaseterrain->m_df_type = DF_Type::unit_action__T_data__T_releaseterrain; + n_releaseterrain->m_rdf_type = RDF_Type::Compound; + n_releaseterrain->m_node_type = NodeType::Compound; + n_releaseterrain->m_address = base + offset; + n_releaseterrain->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_releaseterrain); + + field_name = "climb"; + auto n_climb = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data, field_name)); + n_climb->m_field_name = field_name; + n_climb->m_df_type = DF_Type::unit_action__T_data__T_climb; + n_climb->m_rdf_type = RDF_Type::Compound; + n_climb->m_node_type = NodeType::Compound; + n_climb->m_address = base + offset; + n_climb->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_climb); + + field_name = "job"; + auto n_job = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data, field_name)); + n_job->m_field_name = field_name; + n_job->m_df_type = DF_Type::unit_action__T_data__T_job; + n_job->m_rdf_type = RDF_Type::Compound; + n_job->m_node_type = NodeType::Compound; + n_job->m_address = base + offset; + n_job->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_job); + + field_name = "talk"; + auto n_talk = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data, field_name)); + n_talk->m_field_name = field_name; + n_talk->m_df_type = DF_Type::unit_action__T_data__T_talk; + n_talk->m_rdf_type = RDF_Type::Compound; + n_talk->m_node_type = NodeType::Compound; + n_talk->m_address = base + offset; + n_talk->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_talk); + + field_name = "unsteady"; + auto n_unsteady = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data, field_name)); + n_unsteady->m_field_name = field_name; + n_unsteady->m_df_type = DF_Type::unit_action__T_data__T_unsteady; + n_unsteady->m_rdf_type = RDF_Type::Compound; + n_unsteady->m_node_type = NodeType::Compound; + n_unsteady->m_address = base + offset; + n_unsteady->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unsteady); + + field_name = "parry"; + auto n_parry = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data, field_name)); + n_parry->m_field_name = field_name; + n_parry->m_df_type = DF_Type::unit_action__T_data__T_parry; + n_parry->m_rdf_type = RDF_Type::Compound; + n_parry->m_node_type = NodeType::Compound; + n_parry->m_address = base + offset; + n_parry->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_parry); + + field_name = "block"; + auto n_block = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data, field_name)); + n_block->m_field_name = field_name; + n_block->m_df_type = DF_Type::unit_action__T_data__T_block; + n_block->m_rdf_type = RDF_Type::Compound; + n_block->m_node_type = NodeType::Compound; + n_block->m_address = base + offset; + n_block->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_block); + + field_name = "dodge"; + auto n_dodge = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data, field_name)); + n_dodge->m_field_name = field_name; + n_dodge->m_df_type = DF_Type::unit_action__T_data__T_dodge; + n_dodge->m_rdf_type = RDF_Type::Compound; + n_dodge->m_node_type = NodeType::Compound; + n_dodge->m_address = base + offset; + n_dodge->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dodge); + + field_name = "recover"; + auto n_recover = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data, field_name)); + n_recover->m_field_name = field_name; + n_recover->m_df_type = DF_Type::unit_action__T_data__T_recover; + n_recover->m_rdf_type = RDF_Type::Compound; + n_recover->m_node_type = NodeType::Compound; + n_recover->m_address = base + offset; + n_recover->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_recover); + + field_name = "standup"; + auto n_standup = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data, field_name)); + n_standup->m_field_name = field_name; + n_standup->m_df_type = DF_Type::unit_action__T_data__T_standup; + n_standup->m_rdf_type = RDF_Type::Compound; + n_standup->m_node_type = NodeType::Compound; + n_standup->m_address = base + offset; + n_standup->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_standup); + + field_name = "liedown"; + auto n_liedown = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data, field_name)); + n_liedown->m_field_name = field_name; + n_liedown->m_df_type = DF_Type::unit_action__T_data__T_liedown; + n_liedown->m_rdf_type = RDF_Type::Compound; + n_liedown->m_node_type = NodeType::Compound; + n_liedown->m_address = base + offset; + n_liedown->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_liedown); + + field_name = "job2"; + auto n_job2 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data, field_name)); + n_job2->m_field_name = field_name; + n_job2->m_df_type = DF_Type::unit_action__T_data__T_job2; + n_job2->m_rdf_type = RDF_Type::Compound; + n_job2->m_node_type = NodeType::Compound; + n_job2->m_address = base + offset; + n_job2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_job2); + + field_name = "pushobject"; + auto n_pushobject = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data, field_name)); + n_pushobject->m_field_name = field_name; + n_pushobject->m_df_type = DF_Type::unit_action__T_data__T_pushobject; + n_pushobject->m_rdf_type = RDF_Type::Compound; + n_pushobject->m_node_type = NodeType::Compound; + n_pushobject->m_address = base + offset; + n_pushobject->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pushobject); + + field_name = "suckblood"; + auto n_suckblood = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data, field_name)); + n_suckblood->m_field_name = field_name; + n_suckblood->m_df_type = DF_Type::unit_action__T_data__T_suckblood; + n_suckblood->m_rdf_type = RDF_Type::Compound; + n_suckblood->m_node_type = NodeType::Compound; + n_suckblood->m_address = base + offset; + n_suckblood->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_suckblood); + + field_name = "holditem"; + auto n_holditem = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data, field_name)); + n_holditem->m_field_name = field_name; + n_holditem->m_df_type = DF_Type::unit_action__T_data__T_holditem; + n_holditem->m_rdf_type = RDF_Type::Compound; + n_holditem->m_node_type = NodeType::Compound; + n_holditem->m_address = base + offset; + n_holditem->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_holditem); + + field_name = "releaseitem"; + auto n_releaseitem = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data, field_name)); + n_releaseitem->m_field_name = field_name; + n_releaseitem->m_df_type = DF_Type::unit_action__T_data__T_releaseitem; + n_releaseitem->m_rdf_type = RDF_Type::Compound; + n_releaseitem->m_node_type = NodeType::Compound; + n_releaseitem->m_address = base + offset; + n_releaseitem->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_releaseitem); + + field_name = "raw_data"; + auto n_raw_data = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action__T_data, field_name)); + n_raw_data->m_field_name = field_name; + n_raw_data->m_df_type = DF_Type::int32_t; + n_raw_data->m_rdf_type = RDF_Type::Array; + n_raw_data->m_node_type = NodeType::Array; + n_raw_data->m_addornements = "[22"; + n_raw_data->m_array_size = 22; + n_raw_data->m_address = base + offset; + n_raw_data->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_raw_data); + +} +void node_from_unit_action(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "type"; + auto n_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action, field_name)); + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::unit_action_type; + n_type->m_rdf_type = RDF_Type::Enum; + n_type->m_node_type = NodeType::Enum; + n_type->m_base_type = DF_Type::int32_t; + n_type->m_enum_type = "unit_action_type"; + n_type->m_address = base + offset; + n_type->m_defined_in = "df.units.xml"; + n_type->m_first_value = -1; + n_type->m_last_value = 19; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "data"; + auto n_data = new NodeUnion; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_action, field_name)); + n_data->m_field_name = field_name; + n_data->m_df_type = DF_Type::unit_action__T_data; + n_data->m_rdf_type = RDF_Type::Union; + n_data->m_node_type = NodeType::Union; + n_data->m_address = base + offset; + n_data->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_data); + +} +void node_from_unit_skill(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + auto n_id = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_skill, field_name)); + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::job_skill; + n_id->m_rdf_type = RDF_Type::Enum; + n_id->m_node_type = NodeType::Enum; + n_id->m_base_type = DF_Type::int16_t; + n_id->m_enum_type = "job_skill"; + n_id->m_address = base + offset; + n_id->m_defined_in = "df.skills.xml"; + n_id->m_first_value = -1; + n_id->m_last_value = 134; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "rating"; + auto n_rating = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_skill, field_name)); + n_rating->m_field_name = field_name; + n_rating->m_df_type = DF_Type::skill_rating; + n_rating->m_rdf_type = RDF_Type::Enum; + n_rating->m_node_type = NodeType::Enum; + n_rating->m_base_type = DF_Type::int32_t; + n_rating->m_enum_type = "skill_rating"; + n_rating->m_address = base + offset; + n_rating->m_defined_in = "df.units.xml"; + n_rating->m_first_value = 0; + n_rating->m_last_value = 20; + n_rating->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rating); + + field_name = "experience"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_skill, field_name)); + auto n_experience = new NodeSimple; + n_experience->m_field_name = field_name; + n_experience->m_df_type = DF_Type::int32_t; + n_experience->m_rdf_type = RDF_Type::int32_t; + n_experience->m_node_type = NodeType::Simple; + n_experience->m_address = base + offset; + n_experience->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_experience); + + field_name = "unused_counter"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_skill, field_name)); + auto n_unused_counter = new NodeSimple; + n_unused_counter->m_field_name = field_name; + n_unused_counter->m_df_type = DF_Type::int32_t; + n_unused_counter->m_rdf_type = RDF_Type::int32_t; + n_unused_counter->m_node_type = NodeType::Simple; + n_unused_counter->m_address = base + offset; + n_unused_counter->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unused_counter); + + field_name = "rusty"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_skill, field_name)); + auto n_rusty = new NodeSimple; + n_rusty->m_field_name = field_name; + n_rusty->m_df_type = DF_Type::int32_t; + n_rusty->m_rdf_type = RDF_Type::int32_t; + n_rusty->m_node_type = NodeType::Simple; + n_rusty->m_address = base + offset; + n_rusty->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rusty); + + field_name = "rust_counter"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_skill, field_name)); + auto n_rust_counter = new NodeSimple; + n_rust_counter->m_field_name = field_name; + n_rust_counter->m_df_type = DF_Type::int32_t; + n_rust_counter->m_rdf_type = RDF_Type::int32_t; + n_rust_counter->m_node_type = NodeType::Simple; + n_rust_counter->m_address = base + offset; + n_rust_counter->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rust_counter); + + field_name = "demotion_counter"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_skill, field_name)); + auto n_demotion_counter = new NodeSimple; + n_demotion_counter->m_field_name = field_name; + n_demotion_counter->m_df_type = DF_Type::int32_t; + n_demotion_counter->m_rdf_type = RDF_Type::int32_t; + n_demotion_counter->m_node_type = NodeType::Simple; + n_demotion_counter->m_address = base + offset; + n_demotion_counter->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_demotion_counter); + + field_name = "natural_skill_lvl"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_skill, field_name)); + auto n_natural_skill_lvl = new NodeSimple; + n_natural_skill_lvl->m_field_name = field_name; + n_natural_skill_lvl->m_df_type = DF_Type::int32_t; + n_natural_skill_lvl->m_rdf_type = RDF_Type::int32_t; + n_natural_skill_lvl->m_node_type = NodeType::Simple; + n_natural_skill_lvl->m_address = base + offset; + n_natural_skill_lvl->m_comment = "This is the NATURAL_SKILL level for the caste in the raws. This skill cannot rust below this level."; + n_natural_skill_lvl->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_natural_skill_lvl); + +} +void node_from_unit_preference___union5(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = true) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "item_type"; + auto n_item_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_preference, field_name)); + n_item_type->m_field_name = field_name; + n_item_type->m_df_type = DF_Type::item_type; + n_item_type->m_rdf_type = RDF_Type::Enum; + n_item_type->m_node_type = NodeType::Enum; + n_item_type->m_base_type = DF_Type::int16_t; + n_item_type->m_enum_type = "item_type"; + n_item_type->m_address = base + offset; + n_item_type->m_defined_in = "df.item-raws.xml"; + n_item_type->m_first_value = -1; + n_item_type->m_last_value = 90; + n_item_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_type); + + field_name = "creature_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_preference, field_name)); + auto n_creature_id = new NodeSimple; + n_creature_id->m_field_name = field_name; + n_creature_id->m_df_type = DF_Type::int16_t; + n_creature_id->m_rdf_type = RDF_Type::int16_t; + n_creature_id->m_node_type = NodeType::Simple; + n_creature_id->m_address = base + offset; + n_creature_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_creature_id); + + field_name = "color_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_preference, field_name)); + auto n_color_id = new NodeSimple; + n_color_id->m_field_name = field_name; + n_color_id->m_df_type = DF_Type::int16_t; + n_color_id->m_rdf_type = RDF_Type::int16_t; + n_color_id->m_node_type = NodeType::Simple; + n_color_id->m_address = base + offset; + n_color_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_color_id); + + field_name = "shape_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_preference, field_name)); + auto n_shape_id = new NodeSimple; + n_shape_id->m_field_name = field_name; + n_shape_id->m_df_type = DF_Type::int16_t; + n_shape_id->m_rdf_type = RDF_Type::int16_t; + n_shape_id->m_node_type = NodeType::Simple; + n_shape_id->m_address = base + offset; + n_shape_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_shape_id); + + field_name = "plant_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_preference, field_name)); + auto n_plant_id = new NodeSimple; + n_plant_id->m_field_name = field_name; + n_plant_id->m_df_type = DF_Type::int16_t; + n_plant_id->m_rdf_type = RDF_Type::int16_t; + n_plant_id->m_node_type = NodeType::Simple; + n_plant_id->m_address = base + offset; + n_plant_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_plant_id); + + field_name = "poetic_form_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_preference, field_name)); + auto n_poetic_form_id = new NodeSimple; + n_poetic_form_id->m_field_name = field_name; + n_poetic_form_id->m_df_type = DF_Type::int32_t; + n_poetic_form_id->m_rdf_type = RDF_Type::int32_t; + n_poetic_form_id->m_node_type = NodeType::Simple; + n_poetic_form_id->m_address = base + offset; + n_poetic_form_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_poetic_form_id); + + field_name = "musical_form_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_preference, field_name)); + auto n_musical_form_id = new NodeSimple; + n_musical_form_id->m_field_name = field_name; + n_musical_form_id->m_df_type = DF_Type::int32_t; + n_musical_form_id->m_rdf_type = RDF_Type::int32_t; + n_musical_form_id->m_node_type = NodeType::Simple; + n_musical_form_id->m_address = base + offset; + n_musical_form_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_musical_form_id); + + field_name = "dance_form_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_preference, field_name)); + auto n_dance_form_id = new NodeSimple; + n_dance_form_id->m_field_name = field_name; + n_dance_form_id->m_df_type = DF_Type::int32_t; + n_dance_form_id->m_rdf_type = RDF_Type::int32_t; + n_dance_form_id->m_node_type = NodeType::Simple; + n_dance_form_id->m_address = base + offset; + n_dance_form_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dance_form_id); + +} +void node_from_unit_preference(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "type"; + auto n_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_preference, field_name)); + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::unit_preference__T_type; + n_type->m_rdf_type = RDF_Type::Enum; + n_type->m_node_type = NodeType::Enum; + n_type->m_base_type = DF_Type::int16_t; + n_type->m_enum_type = "unit_preference::T_type"; + n_type->m_address = base + offset; + n_type->m_first_value = 0; + n_type->m_last_value = 11; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + + auto n_$union5 = new NodeAnonymous; + field_name = "item_type"; // One child of the anonymous union + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_preference, field_name)); + n_$union5->m_field_name = "N/A"; + n_$union5->m_df_type = DF_Type::unit_preference___union5; + n_$union5->m_rdf_type = RDF_Type::AnonymousUnion; + n_$union5->m_node_type = NodeType::AnonymousUnion; + n_$union5->m_address = base + offset; + n_$union5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_$union5); + + field_name = "item_subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_preference, field_name)); + auto n_item_subtype = new NodeSimple; + n_item_subtype->m_field_name = field_name; + n_item_subtype->m_df_type = DF_Type::int32_t; + n_item_subtype->m_rdf_type = RDF_Type::int32_t; + n_item_subtype->m_node_type = NodeType::Simple; + n_item_subtype->m_address = base + offset; + n_item_subtype->m_refers_to = "(item-subtype-target $$._parent.item_type $)"; + n_item_subtype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_subtype); + + field_name = "mattype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_preference, field_name)); + auto n_mattype = new NodeSimple; + n_mattype->m_field_name = field_name; + n_mattype->m_df_type = DF_Type::int32_t; + n_mattype->m_rdf_type = RDF_Type::int32_t; + n_mattype->m_node_type = NodeType::Simple; + n_mattype->m_address = base + offset; + n_mattype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mattype); + + field_name = "matindex"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_preference, field_name)); + auto n_matindex = new NodeSimple; + n_matindex->m_field_name = field_name; + n_matindex->m_df_type = DF_Type::int32_t; + n_matindex->m_rdf_type = RDF_Type::int32_t; + n_matindex->m_node_type = NodeType::Simple; + n_matindex->m_address = base + offset; + n_matindex->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_matindex); + + field_name = "mat_state"; + auto n_mat_state = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_preference, field_name)); + n_mat_state->m_field_name = field_name; + n_mat_state->m_df_type = DF_Type::matter_state; + n_mat_state->m_rdf_type = RDF_Type::Enum; + n_mat_state->m_node_type = NodeType::Enum; + n_mat_state->m_base_type = DF_Type::int16_t; + n_mat_state->m_enum_type = "matter_state"; + n_mat_state->m_address = base + offset; + n_mat_state->m_defined_in = "df.materials.xml"; + n_mat_state->m_first_value = -1; + n_mat_state->m_last_value = 5; + n_mat_state->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_state); + + field_name = "active"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_preference, field_name)); + auto n_active = new NodeSimple; + n_active->m_field_name = field_name; + n_active->m_df_type = DF_Type::Bool; + n_active->m_rdf_type = RDF_Type::Bool; + n_active->m_node_type = NodeType::Simple; + n_active->m_address = base + offset; + n_active->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_active); + + field_name = "prefstring_seed"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_preference, field_name)); + auto n_prefstring_seed = new NodeSimple; + n_prefstring_seed->m_field_name = field_name; + n_prefstring_seed->m_df_type = DF_Type::uint32_t; + n_prefstring_seed->m_rdf_type = RDF_Type::uint32_t; + n_prefstring_seed->m_node_type = NodeType::Simple; + n_prefstring_seed->m_address = base + offset; + n_prefstring_seed->m_comment = "feeds into a simple RNG to choose which prefstring to use"; + n_prefstring_seed->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_prefstring_seed); + +} +void node_from_unit_complaint(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "type"; + auto n_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_complaint, field_name)); + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::unit_complaint__T_type; + n_type->m_rdf_type = RDF_Type::Enum; + n_type->m_node_type = NodeType::Enum; + n_type->m_base_type = DF_Type::int32_t; + n_type->m_enum_type = "unit_complaint::T_type"; + n_type->m_address = base + offset; + n_type->m_first_value = 25; + n_type->m_last_value = 48; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + + field_name = "guild"; + auto n_guild = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_complaint, field_name)); + n_guild->m_field_name = field_name; + n_guild->m_df_type = DF_Type::guild_id; + n_guild->m_rdf_type = RDF_Type::Enum; + n_guild->m_node_type = NodeType::Enum; + n_guild->m_base_type = DF_Type::int16_t; + n_guild->m_enum_type = "guild_id"; + n_guild->m_address = base + offset; + n_guild->m_defined_in = "df.jobs.xml"; + n_guild->m_first_value = -1; + n_guild->m_last_value = 5; + n_guild->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_guild); + + field_name = "age"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_complaint, field_name)); + auto n_age = new NodeSimple; + n_age->m_field_name = field_name; + n_age->m_df_type = DF_Type::int32_t; + n_age->m_rdf_type = RDF_Type::int32_t; + n_age->m_node_type = NodeType::Simple; + n_age->m_address = base + offset; + n_age->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_age); + +} +void node_from_unit_request(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "type"; + auto n_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_request, field_name)); + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::unit_request__T_type; + n_type->m_rdf_type = RDF_Type::Enum; + n_type->m_node_type = NodeType::Enum; + n_type->m_base_type = DF_Type::int16_t; + n_type->m_enum_type = "unit_request::T_type"; + n_type->m_address = base + offset; + n_type->m_first_value = 0; + n_type->m_last_value = 0; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + + field_name = "guild"; + auto n_guild = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_request, field_name)); + n_guild->m_field_name = field_name; + n_guild->m_df_type = DF_Type::guild_id; + n_guild->m_rdf_type = RDF_Type::Enum; + n_guild->m_node_type = NodeType::Enum; + n_guild->m_base_type = DF_Type::int16_t; + n_guild->m_enum_type = "guild_id"; + n_guild->m_address = base + offset; + n_guild->m_defined_in = "df.jobs.xml"; + n_guild->m_first_value = -1; + n_guild->m_last_value = 5; + n_guild->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_guild); + + field_name = "count"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_request, field_name)); + auto n_count = new NodeSimple; + n_count->m_field_name = field_name; + n_count->m_df_type = DF_Type::int16_t; + n_count->m_rdf_type = RDF_Type::int16_t; + n_count->m_node_type = NodeType::Simple; + n_count->m_address = base + offset; + n_count->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_count); + +} +void node_from_unit_chunk__T_units(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "items"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_chunk__T_units, field_name)); + auto n_items = new NodeVector; + n_items->m_field_name = field_name; + n_items->m_df_type = DF_Type::item; + n_items->m_rdf_type = RDF_Type::Vector; + n_items->m_node_type = NodeType::Vector; + n_items->m_defined_in = "df.items.xml"; + n_items->m_addornements = "v*"; + n_items->m_address = base + offset; + n_items->m_parent = p_node_parent; + n_items->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_items); + + field_name = "unit"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_chunk__T_units, field_name)); + auto n_unit = new NodePointer; + n_unit->m_field_name = field_name; + n_unit->m_df_type = get_real_subtype(base+offset, DF_Type::unit); + n_unit->m_rdf_type = RDF_Type::Pointer; + n_unit->m_node_type = NodeType::Pointer; + n_unit->m_addornements = "*"; + n_unit->m_address = base + offset; + n_unit->m_parent = p_node_parent; + n_unit->m_defined_in = "df.units.xml"; + n_unit->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unit); + +} +void node_from_unit_chunk(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_chunk, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_comment = "unit_*.dat"; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "units"; + auto n_units = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_chunk, field_name)); + n_units->m_field_name = field_name; + n_units->m_df_type = DF_Type::unit_chunk__T_units; + n_units->m_rdf_type = RDF_Type::Array; + n_units->m_node_type = NodeType::Array; + n_units->m_addornements = "[100"; + n_units->m_array_size = 100; + n_units->m_address = base + offset; + n_units->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_units); + +} +void node_from_unit_appearance(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_appearance, field_name)); + auto n_unk_1 = new NodeSimple; + n_unk_1->m_field_name = field_name; + n_unk_1->m_df_type = DF_Type::int32_t; + n_unk_1->m_rdf_type = RDF_Type::int32_t; + n_unk_1->m_node_type = NodeType::Simple; + n_unk_1->m_address = base + offset; + n_unk_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_1); + + field_name = "caste_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_appearance, field_name)); + auto n_caste_index = new NodeSimple; + n_caste_index->m_field_name = field_name; + n_caste_index->m_df_type = DF_Type::int32_t; + n_caste_index->m_rdf_type = RDF_Type::int32_t; + n_caste_index->m_node_type = NodeType::Simple; + n_caste_index->m_address = base + offset; + n_caste_index->m_comment = "also refers to $global.world.raws.creatures.list_caste[$]"; + n_caste_index->m_refers_to = "$global.world.raws.creatures.list_creature[$]"; + n_caste_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_caste_index); + + field_name = "unk_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_appearance, field_name)); + auto n_unk_3 = new NodeSimple; + n_unk_3->m_field_name = field_name; + n_unk_3->m_df_type = DF_Type::int16_t; + n_unk_3->m_rdf_type = RDF_Type::int16_t; + n_unk_3->m_node_type = NodeType::Simple; + n_unk_3->m_address = base + offset; + n_unk_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_3); + + field_name = "physical_attributes"; + auto n_physical_attributes = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_appearance, field_name)); + n_physical_attributes->m_field_name = field_name; + n_physical_attributes->m_df_type = DF_Type::unit_attribute; + n_physical_attributes->m_rdf_type = RDF_Type::Array; + n_physical_attributes->m_node_type = NodeType::Array; + n_physical_attributes->m_index_enum = DF_Type::physical_attribute_type; + n_physical_attributes->m_defined_in = "df.units.xml"; + n_physical_attributes->m_addornements = "[6"; + n_physical_attributes->m_array_size = 6; + n_physical_attributes->m_address = base + offset; + n_physical_attributes->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_physical_attributes); + + field_name = "unk_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_appearance, field_name)); + auto n_unk_5 = new NodeSimple; + n_unk_5->m_field_name = field_name; + n_unk_5->m_df_type = DF_Type::int32_t; + n_unk_5->m_rdf_type = RDF_Type::int32_t; + n_unk_5->m_node_type = NodeType::Simple; + n_unk_5->m_address = base + offset; + n_unk_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_5); + + field_name = "body_modifiers"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_appearance, field_name)); + auto n_body_modifiers = new NodeVector; + n_body_modifiers->m_field_name = field_name; + n_body_modifiers->m_df_type = DF_Type::int32_t; + n_body_modifiers->m_rdf_type = RDF_Type::Vector; + n_body_modifiers->m_node_type = NodeType::Vector; + n_body_modifiers->m_addornements = "v"; + n_body_modifiers->m_address = base + offset; + n_body_modifiers->m_refers_to = "(find-creature $$._parent.race).caste[$$._parent.caste].body_appearance_modifiers[$]"; + n_body_modifiers->m_parent = p_node_parent; + n_body_modifiers->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_body_modifiers); + + field_name = "bp_modifiers"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_appearance, field_name)); + auto n_bp_modifiers = new NodeVector; + n_bp_modifiers->m_field_name = field_name; + n_bp_modifiers->m_df_type = DF_Type::int32_t; + n_bp_modifiers->m_rdf_type = RDF_Type::Vector; + n_bp_modifiers->m_node_type = NodeType::Vector; + n_bp_modifiers->m_addornements = "v"; + n_bp_modifiers->m_address = base + offset; + n_bp_modifiers->m_refers_to = "(find-creature $$._parent.race).caste[$$._parent.caste].bp_appearance.modifiers[$]"; + n_bp_modifiers->m_parent = p_node_parent; + n_bp_modifiers->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bp_modifiers); + + field_name = "unk_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_appearance, field_name)); + auto n_unk_8 = new NodeSimple; + n_unk_8->m_field_name = field_name; + n_unk_8->m_df_type = DF_Type::int32_t; + n_unk_8->m_rdf_type = RDF_Type::int32_t; + n_unk_8->m_node_type = NodeType::Simple; + n_unk_8->m_address = base + offset; + n_unk_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_8); + + field_name = "tissue_style"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_appearance, field_name)); + auto n_tissue_style = new NodeVector; + n_tissue_style->m_field_name = field_name; + n_tissue_style->m_df_type = DF_Type::int16_t; + n_tissue_style->m_rdf_type = RDF_Type::Vector; + n_tissue_style->m_node_type = NodeType::Vector; + n_tissue_style->m_addornements = "v"; + n_tissue_style->m_address = base + offset; + n_tissue_style->m_parent = p_node_parent; + n_tissue_style->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_tissue_style); + + field_name = "tissue_style_civ_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_appearance, field_name)); + auto n_tissue_style_civ_id = new NodeVector; + n_tissue_style_civ_id->m_field_name = field_name; + n_tissue_style_civ_id->m_df_type = DF_Type::int32_t; + n_tissue_style_civ_id->m_rdf_type = RDF_Type::Vector; + n_tissue_style_civ_id->m_node_type = NodeType::Vector; + n_tissue_style_civ_id->m_addornements = "v"; + n_tissue_style_civ_id->m_address = base + offset; + n_tissue_style_civ_id->m_parent = p_node_parent; + n_tissue_style_civ_id->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_tissue_style_civ_id); + + field_name = "tissue_style_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_appearance, field_name)); + auto n_tissue_style_id = new NodeVector; + n_tissue_style_id->m_field_name = field_name; + n_tissue_style_id->m_df_type = DF_Type::int32_t; + n_tissue_style_id->m_rdf_type = RDF_Type::Vector; + n_tissue_style_id->m_node_type = NodeType::Vector; + n_tissue_style_id->m_addornements = "v"; + n_tissue_style_id->m_address = base + offset; + n_tissue_style_id->m_parent = p_node_parent; + n_tissue_style_id->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_tissue_style_id); + + field_name = "tissue_style_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_appearance, field_name)); + auto n_tissue_style_type = new NodeVector; + n_tissue_style_type->m_field_name = field_name; + n_tissue_style_type->m_df_type = DF_Type::int32_t; + n_tissue_style_type->m_rdf_type = RDF_Type::Vector; + n_tissue_style_type->m_node_type = NodeType::Vector; + n_tissue_style_type->m_addornements = "v"; + n_tissue_style_type->m_address = base + offset; + n_tissue_style_type->m_parent = p_node_parent; + n_tissue_style_type->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_tissue_style_type); + + field_name = "tissue_length"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_appearance, field_name)); + auto n_tissue_length = new NodeVector; + n_tissue_length->m_field_name = field_name; + n_tissue_length->m_df_type = DF_Type::int32_t; + n_tissue_length->m_rdf_type = RDF_Type::Vector; + n_tissue_length->m_node_type = NodeType::Vector; + n_tissue_length->m_addornements = "v"; + n_tissue_length->m_address = base + offset; + n_tissue_length->m_parent = p_node_parent; + n_tissue_length->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_tissue_length); + + field_name = "appearance_genes"; + auto n_appearance_genes = new NodeDFArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_appearance, field_name)); + n_appearance_genes->m_field_name = field_name; + n_appearance_genes->m_df_type = DF_Type::uint8_t; + n_appearance_genes->m_rdf_type = RDF_Type::DFArray; + n_appearance_genes->m_node_type = NodeType::Array; + n_appearance_genes->m_addornements = ""; + n_appearance_genes->m_address = base + offset; + n_appearance_genes->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_appearance_genes); + + field_name = "color_genes"; + auto n_color_genes = new NodeDFArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_appearance, field_name)); + n_color_genes->m_field_name = field_name; + n_color_genes->m_df_type = DF_Type::uint16_t; + n_color_genes->m_rdf_type = RDF_Type::DFArray; + n_color_genes->m_node_type = NodeType::Array; + n_color_genes->m_addornements = ""; + n_color_genes->m_address = base + offset; + n_color_genes->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_color_genes); + + field_name = "color_modifiers"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_appearance, field_name)); + auto n_color_modifiers = new NodeVector; + n_color_modifiers->m_field_name = field_name; + n_color_modifiers->m_df_type = DF_Type::int32_t; + n_color_modifiers->m_rdf_type = RDF_Type::Vector; + n_color_modifiers->m_node_type = NodeType::Vector; + n_color_modifiers->m_addornements = "v"; + n_color_modifiers->m_address = base + offset; + n_color_modifiers->m_refers_to = "(find-creature $$._parent.race).caste[$$._parent.caste].color_modifiers[$]"; + n_color_modifiers->m_parent = p_node_parent; + n_color_modifiers->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_color_modifiers); + + field_name = "unk_18"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_appearance, field_name)); + auto n_unk_18 = new NodeSimple; + n_unk_18->m_field_name = field_name; + n_unk_18->m_df_type = DF_Type::int32_t; + n_unk_18->m_rdf_type = RDF_Type::int32_t; + n_unk_18->m_node_type = NodeType::Simple; + n_unk_18->m_address = base + offset; + n_unk_18->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_18); + + field_name = "unk_19"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_appearance, field_name)); + auto n_unk_19 = new NodeSimple; + n_unk_19->m_field_name = field_name; + n_unk_19->m_df_type = DF_Type::int32_t; + n_unk_19->m_rdf_type = RDF_Type::int32_t; + n_unk_19->m_node_type = NodeType::Simple; + n_unk_19->m_address = base + offset; + n_unk_19->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_19); + +} +void node_from_vermin(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "race"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::vermin, field_name)); + auto n_race = new NodeSimple; + n_race->m_field_name = field_name; + n_race->m_df_type = DF_Type::int16_t; + n_race->m_rdf_type = RDF_Type::int16_t; + n_race->m_node_type = NodeType::Simple; + n_race->m_address = base + offset; + n_race->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_race); + + field_name = "caste"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::vermin, field_name)); + auto n_caste = new NodeSimple; + n_caste->m_field_name = field_name; + n_caste->m_df_type = DF_Type::int16_t; + n_caste->m_rdf_type = RDF_Type::int16_t; + n_caste->m_node_type = NodeType::Simple; + n_caste->m_address = base + offset; + n_caste->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_caste); + + field_name = "pos"; + auto n_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::vermin, field_name)); + n_pos->m_field_name = field_name; + n_pos->m_df_type = DF_Type::coord; + n_pos->m_rdf_type = RDF_Type::Struct; + n_pos->m_node_type = NodeType::Compound; + n_pos->m_address = base + offset; + n_pos->m_defined_in = "df.map.xml"; + n_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pos); + + field_name = "visible"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::vermin, field_name)); + auto n_visible = new NodeSimple; + n_visible->m_field_name = field_name; + n_visible->m_df_type = DF_Type::Bool; + n_visible->m_rdf_type = RDF_Type::Bool; + n_visible->m_node_type = NodeType::Simple; + n_visible->m_address = base + offset; + n_visible->m_comment = "1 = visible vermin"; + n_visible->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_visible); + + field_name = "countdown"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::vermin, field_name)); + auto n_countdown = new NodeSimple; + n_countdown->m_field_name = field_name; + n_countdown->m_df_type = DF_Type::int16_t; + n_countdown->m_rdf_type = RDF_Type::int16_t; + n_countdown->m_node_type = NodeType::Simple; + n_countdown->m_address = base + offset; + n_countdown->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_countdown); + + field_name = "item"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::vermin, field_name)); + auto n_item = new NodePointer; + n_item->m_field_name = field_name; + n_item->m_df_type = get_real_subtype(base+offset, DF_Type::item); + n_item->m_rdf_type = RDF_Type::Pointer; + n_item->m_node_type = NodeType::Pointer; + n_item->m_addornements = "*"; + n_item->m_address = base + offset; + n_item->m_parent = p_node_parent; + n_item->m_defined_in = "df.items.xml"; + n_item->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_item); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::vermin, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::vermin_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_defined_in = "df.vermin.xml"; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "amount"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::vermin, field_name)); + auto n_amount = new NodeSimple; + n_amount->m_field_name = field_name; + n_amount->m_df_type = DF_Type::int32_t; + n_amount->m_rdf_type = RDF_Type::int32_t; + n_amount->m_node_type = NodeType::Simple; + n_amount->m_address = base + offset; + n_amount->m_comment = "The total number of vermin in this object. Decimal constant 10000001 means infinity (probably)."; + n_amount->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_amount); + + field_name = "population"; + auto n_population = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::vermin, field_name)); + n_population->m_field_name = field_name; + n_population->m_df_type = DF_Type::world_population_ref; + n_population->m_rdf_type = RDF_Type::Struct; + n_population->m_node_type = NodeType::Compound; + n_population->m_address = base + offset; + n_population->m_defined_in = "df.world-data.xml"; + n_population->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_population); + + field_name = "unk_34"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::vermin, field_name)); + auto n_unk_34 = new NodeSimple; + n_unk_34->m_field_name = field_name; + n_unk_34->m_df_type = DF_Type::int16_t; + n_unk_34->m_rdf_type = RDF_Type::int16_t; + n_unk_34->m_node_type = NodeType::Simple; + n_unk_34->m_address = base + offset; + n_unk_34->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_34); + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::vermin, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_comment = "assigned during Save"; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + +} +void node_from_viewscreen(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "child"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen, field_name)); + auto n_child = new NodePointer; + n_child->m_field_name = field_name; + n_child->m_df_type = get_real_subtype(base+offset, DF_Type::viewscreen); + n_child->m_rdf_type = RDF_Type::Pointer; + n_child->m_node_type = NodeType::Pointer; + n_child->m_addornements = "*"; + n_child->m_address = base + offset; + n_child->m_parent = p_node_parent; + n_child->m_defined_in = "df.viewscreen.xml"; + n_child->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_child); + + field_name = "parent"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen, field_name)); + auto n_parent = new NodePointer; + n_parent->m_field_name = field_name; + n_parent->m_df_type = get_real_subtype(base+offset, DF_Type::viewscreen); + n_parent->m_rdf_type = RDF_Type::Pointer; + n_parent->m_node_type = NodeType::Pointer; + n_parent->m_addornements = "*"; + n_parent->m_address = base + offset; + n_parent->m_parent = p_node_parent; + n_parent->m_defined_in = "df.viewscreen.xml"; + n_parent->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_parent); + + field_name = "breakdown_level"; + auto n_breakdown_level = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen, field_name)); + n_breakdown_level->m_field_name = field_name; + n_breakdown_level->m_df_type = DF_Type::interface_breakdown_types; + n_breakdown_level->m_rdf_type = RDF_Type::Enum; + n_breakdown_level->m_node_type = NodeType::Enum; + n_breakdown_level->m_base_type = DF_Type::int8_t; + n_breakdown_level->m_enum_type = "interface_breakdown_types"; + n_breakdown_level->m_address = base + offset; + n_breakdown_level->m_defined_in = "df.viewscreen.xml"; + n_breakdown_level->m_first_value = 0; + n_breakdown_level->m_last_value = 3; + n_breakdown_level->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_breakdown_level); + + field_name = "option_key_pressed"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen, field_name)); + auto n_option_key_pressed = new NodeSimple; + n_option_key_pressed->m_field_name = field_name; + n_option_key_pressed->m_df_type = DF_Type::int8_t; + n_option_key_pressed->m_rdf_type = RDF_Type::int8_t; + n_option_key_pressed->m_node_type = NodeType::Simple; + n_option_key_pressed->m_address = base + offset; + n_option_key_pressed->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_option_key_pressed); + +} +void node_from_viewscreen_layer(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "layer_objects"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer, field_name)); + auto n_layer_objects = new NodeVector; + n_layer_objects->m_field_name = field_name; + n_layer_objects->m_df_type = DF_Type::layer_object; + n_layer_objects->m_rdf_type = RDF_Type::Vector; + n_layer_objects->m_node_type = NodeType::Vector; + n_layer_objects->m_defined_in = "df.viewscreen.xml"; + n_layer_objects->m_addornements = "v*"; + n_layer_objects->m_address = base + offset; + n_layer_objects->m_parent = p_node_parent; + n_layer_objects->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_layer_objects); + +} +void node_from_interfacest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "original_fps"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interfacest, field_name)); + auto n_original_fps = new NodeSimple; + n_original_fps->m_field_name = field_name; + n_original_fps->m_df_type = DF_Type::int32_t; + n_original_fps->m_rdf_type = RDF_Type::int32_t; + n_original_fps->m_node_type = NodeType::Simple; + n_original_fps->m_address = base + offset; + n_original_fps->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_original_fps); + + field_name = "view"; + auto n_view = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interfacest, field_name)); + n_view->m_field_name = field_name; + n_view->m_df_type = DF_Type::viewscreen; + n_view->m_rdf_type = RDF_Type::Class; + n_view->m_node_type = NodeType::Compound; + n_view->m_address = base + offset; + n_view->m_defined_in = "df.viewscreen.xml"; + n_view->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_view); + + field_name = "flag"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interfacest, field_name)); + auto n_flag = new NodeSimple; + n_flag->m_field_name = field_name; + n_flag->m_df_type = DF_Type::uint32_t; + n_flag->m_rdf_type = RDF_Type::uint32_t; + n_flag->m_node_type = NodeType::Simple; + n_flag->m_address = base + offset; + n_flag->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flag); + + field_name = "shutdown_interface_tickcount"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interfacest, field_name)); + auto n_shutdown_interface_tickcount = new NodeSimple; + n_shutdown_interface_tickcount->m_field_name = field_name; + n_shutdown_interface_tickcount->m_df_type = DF_Type::int32_t; + n_shutdown_interface_tickcount->m_rdf_type = RDF_Type::int32_t; + n_shutdown_interface_tickcount->m_node_type = NodeType::Simple; + n_shutdown_interface_tickcount->m_address = base + offset; + n_shutdown_interface_tickcount->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_shutdown_interface_tickcount); + + field_name = "shutdown_interface_for_ms"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interfacest, field_name)); + auto n_shutdown_interface_for_ms = new NodeSimple; + n_shutdown_interface_for_ms->m_field_name = field_name; + n_shutdown_interface_for_ms->m_df_type = DF_Type::int32_t; + n_shutdown_interface_for_ms->m_rdf_type = RDF_Type::int32_t; + n_shutdown_interface_for_ms->m_node_type = NodeType::Simple; + n_shutdown_interface_for_ms->m_address = base + offset; + n_shutdown_interface_for_ms->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_shutdown_interface_for_ms); + + field_name = "supermovie_on"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interfacest, field_name)); + auto n_supermovie_on = new NodeSimple; + n_supermovie_on->m_field_name = field_name; + n_supermovie_on->m_df_type = DF_Type::int8_t; + n_supermovie_on->m_rdf_type = RDF_Type::int8_t; + n_supermovie_on->m_node_type = NodeType::Simple; + n_supermovie_on->m_address = base + offset; + n_supermovie_on->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_supermovie_on); + + field_name = "supermovie_pos"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interfacest, field_name)); + auto n_supermovie_pos = new NodeSimple; + n_supermovie_pos->m_field_name = field_name; + n_supermovie_pos->m_df_type = DF_Type::int32_t; + n_supermovie_pos->m_rdf_type = RDF_Type::int32_t; + n_supermovie_pos->m_node_type = NodeType::Simple; + n_supermovie_pos->m_address = base + offset; + n_supermovie_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_supermovie_pos); + + field_name = "supermovie_delayrate"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interfacest, field_name)); + auto n_supermovie_delayrate = new NodeSimple; + n_supermovie_delayrate->m_field_name = field_name; + n_supermovie_delayrate->m_df_type = DF_Type::int32_t; + n_supermovie_delayrate->m_rdf_type = RDF_Type::int32_t; + n_supermovie_delayrate->m_node_type = NodeType::Simple; + n_supermovie_delayrate->m_address = base + offset; + n_supermovie_delayrate->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_supermovie_delayrate); + + field_name = "supermovie_delaystep"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interfacest, field_name)); + auto n_supermovie_delaystep = new NodeSimple; + n_supermovie_delaystep->m_field_name = field_name; + n_supermovie_delaystep->m_df_type = DF_Type::int32_t; + n_supermovie_delaystep->m_rdf_type = RDF_Type::int32_t; + n_supermovie_delaystep->m_node_type = NodeType::Simple; + n_supermovie_delaystep->m_address = base + offset; + n_supermovie_delaystep->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_supermovie_delaystep); + + field_name = "supermovie_sound"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interfacest, field_name)); + auto n_supermovie_sound = new NodeVector; + n_supermovie_sound->m_field_name = field_name; + n_supermovie_sound->m_df_type = DF_Type::Stl_string; + n_supermovie_sound->m_rdf_type = RDF_Type::Vector; + n_supermovie_sound->m_node_type = NodeType::Vector; + n_supermovie_sound->m_addornements = "v*"; + n_supermovie_sound->m_address = base + offset; + n_supermovie_sound->m_parent = p_node_parent; + n_supermovie_sound->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_supermovie_sound); + + field_name = "supermovie_sound_time"; + auto n_supermovie_sound_time = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interfacest, field_name)); + n_supermovie_sound_time->m_field_name = field_name; + n_supermovie_sound_time->m_df_type = DF_Type::int32_t; + n_supermovie_sound_time->m_rdf_type = RDF_Type::Array; + n_supermovie_sound_time->m_comment = "SOUND_CHANNELNUM"; + n_supermovie_sound_time->m_node_type = NodeType::Array; + n_supermovie_sound_time->m_addornements = "[16[200"; + n_supermovie_sound_time->m_array_size = 16; + n_supermovie_sound_time->m_address = base + offset; + n_supermovie_sound_time->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_supermovie_sound_time); + + field_name = "supermoviebuffer"; + auto n_supermoviebuffer = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interfacest, field_name)); + n_supermoviebuffer->m_field_name = field_name; + n_supermoviebuffer->m_df_type = DF_Type::uint8_t; + n_supermoviebuffer->m_rdf_type = RDF_Type::Array; + n_supermoviebuffer->m_node_type = NodeType::Array; + n_supermoviebuffer->m_addornements = "[800000"; + n_supermoviebuffer->m_array_size = 800000; + n_supermoviebuffer->m_address = base + offset; + n_supermoviebuffer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_supermoviebuffer); + + field_name = "supermoviebuffer_comp"; + auto n_supermoviebuffer_comp = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interfacest, field_name)); + n_supermoviebuffer_comp->m_field_name = field_name; + n_supermoviebuffer_comp->m_df_type = DF_Type::uint8_t; + n_supermoviebuffer_comp->m_rdf_type = RDF_Type::Array; + n_supermoviebuffer_comp->m_node_type = NodeType::Array; + n_supermoviebuffer_comp->m_addornements = "[1000000"; + n_supermoviebuffer_comp->m_array_size = 1000000; + n_supermoviebuffer_comp->m_address = base + offset; + n_supermoviebuffer_comp->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_supermoviebuffer_comp); + + field_name = "currentblocksize"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interfacest, field_name)); + auto n_currentblocksize = new NodeSimple; + n_currentblocksize->m_field_name = field_name; + n_currentblocksize->m_df_type = DF_Type::int32_t; + n_currentblocksize->m_rdf_type = RDF_Type::int32_t; + n_currentblocksize->m_node_type = NodeType::Simple; + n_currentblocksize->m_address = base + offset; + n_currentblocksize->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_currentblocksize); + + field_name = "nextfilepos"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interfacest, field_name)); + auto n_nextfilepos = new NodeSimple; + n_nextfilepos->m_field_name = field_name; + n_nextfilepos->m_df_type = DF_Type::int32_t; + n_nextfilepos->m_rdf_type = RDF_Type::int32_t; + n_nextfilepos->m_node_type = NodeType::Simple; + n_nextfilepos->m_address = base + offset; + n_nextfilepos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_nextfilepos); + + field_name = "first_movie_write"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interfacest, field_name)); + auto n_first_movie_write = new NodeSimple; + n_first_movie_write->m_field_name = field_name; + n_first_movie_write->m_df_type = DF_Type::int8_t; + n_first_movie_write->m_rdf_type = RDF_Type::int8_t; + n_first_movie_write->m_node_type = NodeType::Simple; + n_first_movie_write->m_address = base + offset; + n_first_movie_write->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_first_movie_write); + + field_name = "movie_file"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::interfacest, field_name)); + auto n_movie_file = new NodeSimple; + n_movie_file->m_field_name = field_name; + n_movie_file->m_df_type = DF_Type::Stl_string; + n_movie_file->m_rdf_type = RDF_Type::Stl_string; + n_movie_file->m_node_type = NodeType::Simple; + n_movie_file->m_address = base + offset; + n_movie_file->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_movie_file); + +} +void node_from_layer_object_listst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::layer_object; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_layer_object(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "cursor"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::layer_object_listst, field_name)); + auto n_cursor = new NodeSimple; + n_cursor->m_field_name = field_name; + n_cursor->m_df_type = DF_Type::int32_t; + n_cursor->m_rdf_type = RDF_Type::int32_t; + n_cursor->m_node_type = NodeType::Simple; + n_cursor->m_address = base + offset; + n_cursor->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cursor); + + field_name = "num_entries"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::layer_object_listst, field_name)); + auto n_num_entries = new NodeSimple; + n_num_entries->m_field_name = field_name; + n_num_entries->m_df_type = DF_Type::int32_t; + n_num_entries->m_rdf_type = RDF_Type::int32_t; + n_num_entries->m_node_type = NodeType::Simple; + n_num_entries->m_address = base + offset; + n_num_entries->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_num_entries); + + field_name = "x1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::layer_object_listst, field_name)); + auto n_x1 = new NodeSimple; + n_x1->m_field_name = field_name; + n_x1->m_df_type = DF_Type::int32_t; + n_x1->m_rdf_type = RDF_Type::int32_t; + n_x1->m_node_type = NodeType::Simple; + n_x1->m_address = base + offset; + n_x1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_x1); + + field_name = "y1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::layer_object_listst, field_name)); + auto n_y1 = new NodeSimple; + n_y1->m_field_name = field_name; + n_y1->m_df_type = DF_Type::int32_t; + n_y1->m_rdf_type = RDF_Type::int32_t; + n_y1->m_node_type = NodeType::Simple; + n_y1->m_address = base + offset; + n_y1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_y1); + + field_name = "page_size"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::layer_object_listst, field_name)); + auto n_page_size = new NodeSimple; + n_page_size->m_field_name = field_name; + n_page_size->m_df_type = DF_Type::int32_t; + n_page_size->m_rdf_type = RDF_Type::int32_t; + n_page_size->m_node_type = NodeType::Simple; + n_page_size->m_address = base + offset; + n_page_size->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_page_size); + + field_name = "x2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::layer_object_listst, field_name)); + auto n_x2 = new NodeSimple; + n_x2->m_field_name = field_name; + n_x2->m_df_type = DF_Type::int32_t; + n_x2->m_rdf_type = RDF_Type::int32_t; + n_x2->m_node_type = NodeType::Simple; + n_x2->m_address = base + offset; + n_x2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_x2); + + field_name = "y2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::layer_object_listst, field_name)); + auto n_y2 = new NodeSimple; + n_y2->m_field_name = field_name; + n_y2->m_df_type = DF_Type::int32_t; + n_y2->m_rdf_type = RDF_Type::int32_t; + n_y2->m_node_type = NodeType::Simple; + n_y2->m_address = base + offset; + n_y2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_y2); + + field_name = "mouse_l_cur"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::layer_object_listst, field_name)); + auto n_mouse_l_cur = new NodeSimple; + n_mouse_l_cur->m_field_name = field_name; + n_mouse_l_cur->m_df_type = DF_Type::int32_t; + n_mouse_l_cur->m_rdf_type = RDF_Type::int32_t; + n_mouse_l_cur->m_node_type = NodeType::Simple; + n_mouse_l_cur->m_address = base + offset; + n_mouse_l_cur->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mouse_l_cur); + + field_name = "mouse_r_cur"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::layer_object_listst, field_name)); + auto n_mouse_r_cur = new NodeSimple; + n_mouse_r_cur->m_field_name = field_name; + n_mouse_r_cur->m_df_type = DF_Type::int32_t; + n_mouse_r_cur->m_rdf_type = RDF_Type::int32_t; + n_mouse_r_cur->m_node_type = NodeType::Simple; + n_mouse_r_cur->m_address = base + offset; + n_mouse_r_cur->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mouse_r_cur); + + field_name = "rclick_scrolls"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::layer_object_listst, field_name)); + auto n_rclick_scrolls = new NodeSimple; + n_rclick_scrolls->m_field_name = field_name; + n_rclick_scrolls->m_df_type = DF_Type::Bool; + n_rclick_scrolls->m_rdf_type = RDF_Type::Bool; + n_rclick_scrolls->m_node_type = NodeType::Simple; + n_rclick_scrolls->m_address = base + offset; + n_rclick_scrolls->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rclick_scrolls); + + field_name = "flag"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::layer_object_listst, field_name)); + auto n_flag = new NodeSimple; + n_flag->m_field_name = field_name; + n_flag->m_df_type = DF_Type::int32_t; + n_flag->m_rdf_type = RDF_Type::int32_t; + n_flag->m_node_type = NodeType::Simple; + n_flag->m_address = base + offset; + n_flag->m_comment = "for standardscrolling"; + n_flag->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flag); + + field_name = "key_lclick"; + auto n_key_lclick = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::layer_object_listst, field_name)); + n_key_lclick->m_field_name = field_name; + n_key_lclick->m_df_type = DF_Type::interface_key; + n_key_lclick->m_rdf_type = RDF_Type::Enum; + n_key_lclick->m_node_type = NodeType::Enum; + n_key_lclick->m_base_type = DF_Type::int32_t; + n_key_lclick->m_enum_type = "interface_key"; + n_key_lclick->m_address = base + offset; + n_key_lclick->m_defined_in = "df.keybindings.xml"; + n_key_lclick->m_first_value = 0; + n_key_lclick->m_last_value = 1587; + n_key_lclick->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_key_lclick); + + field_name = "key_rclick"; + auto n_key_rclick = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::layer_object_listst, field_name)); + n_key_rclick->m_field_name = field_name; + n_key_rclick->m_df_type = DF_Type::interface_key; + n_key_rclick->m_rdf_type = RDF_Type::Enum; + n_key_rclick->m_node_type = NodeType::Enum; + n_key_rclick->m_base_type = DF_Type::int32_t; + n_key_rclick->m_enum_type = "interface_key"; + n_key_rclick->m_address = base + offset; + n_key_rclick->m_defined_in = "df.keybindings.xml"; + n_key_rclick->m_first_value = 0; + n_key_rclick->m_last_value = 1587; + n_key_rclick->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_key_rclick); + +} +void node_from_KeybindingScreen(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mode"; + auto n_mode = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::KeybindingScreen, field_name)); + n_mode->m_field_name = field_name; + n_mode->m_df_type = DF_Type::KeybindingScreen__T_mode; + n_mode->m_rdf_type = RDF_Type::Enum; + n_mode->m_node_type = NodeType::Enum; + n_mode->m_base_type = DF_Type::int32_t; + n_mode->m_enum_type = "KeybindingScreen::T_mode"; + n_mode->m_address = base + offset; + n_mode->m_first_value = 0; + n_mode->m_last_value = 4; + n_mode->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mode); + + field_name = "main"; + auto n_main = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::KeybindingScreen, field_name)); + n_main->m_field_name = field_name; + n_main->m_df_type = DF_Type::widget_menu; + n_main->m_rdf_type = RDF_Type::Struct; + n_main->m_node_type = NodeType::Compound; + n_main->m_address = base + offset; + n_main->m_defined_in = "df.viewscreen.xml"; + n_main->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_main); + + field_name = "keyL"; + auto n_keyL = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::KeybindingScreen, field_name)); + n_keyL->m_field_name = field_name; + n_keyL->m_df_type = DF_Type::widget_menu; + n_keyL->m_rdf_type = RDF_Type::Struct; + n_keyL->m_node_type = NodeType::Compound; + n_keyL->m_address = base + offset; + n_keyL->m_defined_in = "df.viewscreen.xml"; + n_keyL->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_keyL); + + field_name = "keyR"; + auto n_keyR = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::KeybindingScreen, field_name)); + n_keyR->m_field_name = field_name; + n_keyR->m_df_type = DF_Type::widget_menu; + n_keyR->m_rdf_type = RDF_Type::Struct; + n_keyR->m_node_type = NodeType::Compound; + n_keyR->m_address = base + offset; + n_keyR->m_defined_in = "df.viewscreen.xml"; + n_keyR->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_keyR); + + field_name = "macro"; + auto n_macro = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::KeybindingScreen, field_name)); + n_macro->m_field_name = field_name; + n_macro->m_df_type = DF_Type::widget_menu; + n_macro->m_rdf_type = RDF_Type::Struct; + n_macro->m_node_type = NodeType::Compound; + n_macro->m_address = base + offset; + n_macro->m_defined_in = "df.viewscreen.xml"; + n_macro->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_macro); + + field_name = "keyRegister"; + auto n_keyRegister = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::KeybindingScreen, field_name)); + n_keyRegister->m_field_name = field_name; + n_keyRegister->m_df_type = DF_Type::widget_menu; + n_keyRegister->m_rdf_type = RDF_Type::Struct; + n_keyRegister->m_node_type = NodeType::Compound; + n_keyRegister->m_address = base + offset; + n_keyRegister->m_defined_in = "df.viewscreen.xml"; + n_keyRegister->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_keyRegister); + +} +void node_from_MacroScreenLoad(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "menu"; + auto n_menu = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::MacroScreenLoad, field_name)); + n_menu->m_field_name = field_name; + n_menu->m_df_type = DF_Type::widget_menu; + n_menu->m_rdf_type = RDF_Type::Struct; + n_menu->m_node_type = NodeType::Compound; + n_menu->m_address = base + offset; + n_menu->m_defined_in = "df.viewscreen.xml"; + n_menu->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_menu); + + field_name = "width"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::MacroScreenLoad, field_name)); + auto n_width = new NodeSimple; + n_width->m_field_name = field_name; + n_width->m_df_type = DF_Type::int32_t; + n_width->m_rdf_type = RDF_Type::int32_t; + n_width->m_node_type = NodeType::Simple; + n_width->m_address = base + offset; + n_width->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_width); + + field_name = "height"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::MacroScreenLoad, field_name)); + auto n_height = new NodeSimple; + n_height->m_field_name = field_name; + n_height->m_df_type = DF_Type::int32_t; + n_height->m_rdf_type = RDF_Type::int32_t; + n_height->m_node_type = NodeType::Simple; + n_height->m_address = base + offset; + n_height->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_height); + +} +void node_from_MacroScreenSave(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + auto n_id = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::MacroScreenSave, field_name)); + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::widget_textbox; + n_id->m_rdf_type = RDF_Type::Struct; + n_id->m_node_type = NodeType::Compound; + n_id->m_address = base + offset; + n_id->m_defined_in = "df.viewscreen.xml"; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + +} +void node_from_world_dat_summary(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "name"; + auto n_name = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_dat_summary, field_name)); + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::language_name; + n_name->m_rdf_type = RDF_Type::Struct; + n_name->m_node_type = NodeType::Compound; + n_name->m_address = base + offset; + n_name->m_defined_in = "df.language.xml"; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_dat_summary, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::Stl_string; + n_anon_1->m_rdf_type = RDF_Type::Stl_string; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + auto n_anon_2 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_dat_summary, field_name)); + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int8_t; + n_anon_2->m_rdf_type = RDF_Type::Array; + n_anon_2->m_comment = "same as the one at the top of world_data"; + n_anon_2->m_node_type = NodeType::Array; + n_anon_2->m_addornements = "[15"; + n_anon_2->m_array_size = 15; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "save_info"; + auto n_save_info = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_dat_summary, field_name)); + n_save_info->m_field_name = field_name; + n_save_info->m_df_type = DF_Type::int32_t; + n_save_info->m_rdf_type = RDF_Type::Array; + n_save_info->m_node_type = NodeType::Array; + n_save_info->m_addornements = "[34"; + n_save_info->m_array_size = 34; + n_save_info->m_address = base + offset; + n_save_info->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_save_info); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_dat_summary, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::Stl_string; + n_anon_3->m_rdf_type = RDF_Type::Stl_string; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + +} +void node_from_viewscreen_adopt_regionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "compressor"; + auto n_compressor = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adopt_regionst, field_name)); + n_compressor->m_field_name = field_name; + n_compressor->m_df_type = DF_Type::file_compressorst; + n_compressor->m_rdf_type = RDF_Type::Struct; + n_compressor->m_node_type = NodeType::Compound; + n_compressor->m_address = base + offset; + n_compressor->m_defined_in = "df.viewscreen.xml"; + n_compressor->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_compressor); + + field_name = "cur_step"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adopt_regionst, field_name)); + auto n_cur_step = new NodeSimple; + n_cur_step->m_field_name = field_name; + n_cur_step->m_df_type = DF_Type::int32_t; + n_cur_step->m_rdf_type = RDF_Type::int32_t; + n_cur_step->m_node_type = NodeType::Simple; + n_cur_step->m_address = base + offset; + n_cur_step->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cur_step); + + field_name = "save_version"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adopt_regionst, field_name)); + auto n_save_version = new NodeSimple; + n_save_version->m_field_name = field_name; + n_save_version->m_df_type = DF_Type::int32_t; + n_save_version->m_rdf_type = RDF_Type::int32_t; + n_save_version->m_node_type = NodeType::Simple; + n_save_version->m_address = base + offset; + n_save_version->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_save_version); + + field_name = "cur_save"; + auto n_cur_save = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adopt_regionst, field_name)); + n_cur_save->m_field_name = field_name; + n_cur_save->m_df_type = DF_Type::world_dat_summary; + n_cur_save->m_rdf_type = RDF_Type::Struct; + n_cur_save->m_node_type = NodeType::Compound; + n_cur_save->m_address = base + offset; + n_cur_save->m_defined_in = "df.viewscreen.xml"; + n_cur_save->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cur_save); + + field_name = "glosses"; + auto n_glosses = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adopt_regionst, field_name)); + n_glosses->m_field_name = field_name; + n_glosses->m_df_type = DF_Type::matgloss_list; + n_glosses->m_rdf_type = RDF_Type::Struct; + n_glosses->m_node_type = NodeType::Compound; + n_glosses->m_address = base + offset; + n_glosses->m_defined_in = "df.viewscreen.xml"; + n_glosses->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_glosses); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adopt_regionst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_viewscreen_adventure_logst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mode"; + auto n_mode = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adventure_logst, field_name)); + n_mode->m_field_name = field_name; + n_mode->m_df_type = DF_Type::viewscreen_adventure_logst__T_mode; + n_mode->m_rdf_type = RDF_Type::Enum; + n_mode->m_node_type = NodeType::Enum; + n_mode->m_base_type = DF_Type::int8_t; + n_mode->m_enum_type = "viewscreen_adventure_logst::T_mode"; + n_mode->m_address = base + offset; + n_mode->m_first_value = 0; + n_mode->m_last_value = 1; + n_mode->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mode); + + field_name = "map_islocalview"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adventure_logst, field_name)); + auto n_map_islocalview = new NodeSimple; + n_map_islocalview->m_field_name = field_name; + n_map_islocalview->m_df_type = DF_Type::int8_t; + n_map_islocalview->m_rdf_type = RDF_Type::int8_t; + n_map_islocalview->m_node_type = NodeType::Simple; + n_map_islocalview->m_address = base + offset; + n_map_islocalview->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_map_islocalview); + + field_name = "map_hidden"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adventure_logst, field_name)); + auto n_map_hidden = new NodeSimple; + n_map_hidden->m_field_name = field_name; + n_map_hidden->m_df_type = DF_Type::int8_t; + n_map_hidden->m_rdf_type = RDF_Type::int8_t; + n_map_hidden->m_node_type = NodeType::Simple; + n_map_hidden->m_address = base + offset; + n_map_hidden->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_map_hidden); + + field_name = "player_region_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adventure_logst, field_name)); + auto n_player_region_x = new NodeSimple; + n_player_region_x->m_field_name = field_name; + n_player_region_x->m_df_type = DF_Type::int16_t; + n_player_region_x->m_rdf_type = RDF_Type::int16_t; + n_player_region_x->m_node_type = NodeType::Simple; + n_player_region_x->m_address = base + offset; + n_player_region_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_player_region_x); + + field_name = "player_region_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adventure_logst, field_name)); + auto n_player_region_y = new NodeSimple; + n_player_region_y->m_field_name = field_name; + n_player_region_y->m_df_type = DF_Type::int16_t; + n_player_region_y->m_rdf_type = RDF_Type::int16_t; + n_player_region_y->m_node_type = NodeType::Simple; + n_player_region_y->m_address = base + offset; + n_player_region_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_player_region_y); + + field_name = "player_local_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adventure_logst, field_name)); + auto n_player_local_x = new NodeSimple; + n_player_local_x->m_field_name = field_name; + n_player_local_x->m_df_type = DF_Type::int16_t; + n_player_local_x->m_rdf_type = RDF_Type::int16_t; + n_player_local_x->m_node_type = NodeType::Simple; + n_player_local_x->m_address = base + offset; + n_player_local_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_player_local_x); + + field_name = "player_local_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adventure_logst, field_name)); + auto n_player_local_y = new NodeSimple; + n_player_local_y->m_field_name = field_name; + n_player_local_y->m_df_type = DF_Type::int16_t; + n_player_local_y->m_rdf_type = RDF_Type::int16_t; + n_player_local_y->m_node_type = NodeType::Simple; + n_player_local_y->m_address = base + offset; + n_player_local_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_player_local_y); + + field_name = "unk_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adventure_logst, field_name)); + auto n_unk_8 = new NodeSimple; + n_unk_8->m_field_name = field_name; + n_unk_8->m_df_type = DF_Type::int16_t; + n_unk_8->m_rdf_type = RDF_Type::int16_t; + n_unk_8->m_node_type = NodeType::Simple; + n_unk_8->m_address = base + offset; + n_unk_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_8); + + field_name = "unk_9"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adventure_logst, field_name)); + auto n_unk_9 = new NodeSimple; + n_unk_9->m_field_name = field_name; + n_unk_9->m_df_type = DF_Type::int16_t; + n_unk_9->m_rdf_type = RDF_Type::int16_t; + n_unk_9->m_node_type = NodeType::Simple; + n_unk_9->m_address = base + offset; + n_unk_9->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_9); + + field_name = "unk_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adventure_logst, field_name)); + auto n_unk_10 = new NodeSimple; + n_unk_10->m_field_name = field_name; + n_unk_10->m_df_type = DF_Type::int16_t; + n_unk_10->m_rdf_type = RDF_Type::int16_t; + n_unk_10->m_node_type = NodeType::Simple; + n_unk_10->m_address = base + offset; + n_unk_10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_10); + + field_name = "unk_11"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adventure_logst, field_name)); + auto n_unk_11 = new NodeSimple; + n_unk_11->m_field_name = field_name; + n_unk_11->m_df_type = DF_Type::int16_t; + n_unk_11->m_rdf_type = RDF_Type::int16_t; + n_unk_11->m_node_type = NodeType::Simple; + n_unk_11->m_address = base + offset; + n_unk_11->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_11); + + field_name = "cursor_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adventure_logst, field_name)); + auto n_cursor_x = new NodeSimple; + n_cursor_x->m_field_name = field_name; + n_cursor_x->m_df_type = DF_Type::int16_t; + n_cursor_x->m_rdf_type = RDF_Type::int16_t; + n_cursor_x->m_node_type = NodeType::Simple; + n_cursor_x->m_address = base + offset; + n_cursor_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cursor_x); + + field_name = "cursor_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adventure_logst, field_name)); + auto n_cursor_y = new NodeSimple; + n_cursor_y->m_field_name = field_name; + n_cursor_y->m_df_type = DF_Type::int16_t; + n_cursor_y->m_rdf_type = RDF_Type::int16_t; + n_cursor_y->m_node_type = NodeType::Simple; + n_cursor_y->m_address = base + offset; + n_cursor_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cursor_y); + + field_name = "index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adventure_logst, field_name)); + auto n_index = new NodeSimple; + n_index->m_field_name = field_name; + n_index->m_df_type = DF_Type::int32_t; + n_index->m_rdf_type = RDF_Type::int32_t; + n_index->m_node_type = NodeType::Simple; + n_index->m_address = base + offset; + n_index->m_comment = "cursor position in info mode"; + n_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_index); + + field_name = "map_draw_line"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adventure_logst, field_name)); + auto n_map_draw_line = new NodeSimple; + n_map_draw_line->m_field_name = field_name; + n_map_draw_line->m_df_type = DF_Type::int8_t; + n_map_draw_line->m_rdf_type = RDF_Type::int8_t; + n_map_draw_line->m_node_type = NodeType::Simple; + n_map_draw_line->m_address = base + offset; + n_map_draw_line->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_map_draw_line); + + field_name = "info_mode"; + auto n_info_mode = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adventure_logst, field_name)); + n_info_mode->m_field_name = field_name; + n_info_mode->m_df_type = DF_Type::viewscreen_adventure_logst__T_info_mode; + n_info_mode->m_rdf_type = RDF_Type::Enum; + n_info_mode->m_node_type = NodeType::Enum; + n_info_mode->m_base_type = DF_Type::int16_t; + n_info_mode->m_enum_type = "viewscreen_adventure_logst::T_info_mode"; + n_info_mode->m_address = base + offset; + n_info_mode->m_first_value = 0; + n_info_mode->m_last_value = 6; + n_info_mode->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_info_mode); + + field_name = "local_area_x1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adventure_logst, field_name)); + auto n_local_area_x1 = new NodeSimple; + n_local_area_x1->m_field_name = field_name; + n_local_area_x1->m_df_type = DF_Type::int16_t; + n_local_area_x1->m_rdf_type = RDF_Type::int16_t; + n_local_area_x1->m_node_type = NodeType::Simple; + n_local_area_x1->m_address = base + offset; + n_local_area_x1->m_comment = "rectangle of 0 in local view"; + n_local_area_x1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_local_area_x1); + + field_name = "local_area_x2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adventure_logst, field_name)); + auto n_local_area_x2 = new NodeSimple; + n_local_area_x2->m_field_name = field_name; + n_local_area_x2->m_df_type = DF_Type::int16_t; + n_local_area_x2->m_rdf_type = RDF_Type::int16_t; + n_local_area_x2->m_node_type = NodeType::Simple; + n_local_area_x2->m_address = base + offset; + n_local_area_x2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_local_area_x2); + + field_name = "local_area_y1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adventure_logst, field_name)); + auto n_local_area_y1 = new NodeSimple; + n_local_area_y1->m_field_name = field_name; + n_local_area_y1->m_df_type = DF_Type::int16_t; + n_local_area_y1->m_rdf_type = RDF_Type::int16_t; + n_local_area_y1->m_node_type = NodeType::Simple; + n_local_area_y1->m_address = base + offset; + n_local_area_y1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_local_area_y1); + + field_name = "local_area_y2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adventure_logst, field_name)); + auto n_local_area_y2 = new NodeSimple; + n_local_area_y2->m_field_name = field_name; + n_local_area_y2->m_df_type = DF_Type::int16_t; + n_local_area_y2->m_rdf_type = RDF_Type::int16_t; + n_local_area_y2->m_node_type = NodeType::Simple; + n_local_area_y2->m_address = base + offset; + n_local_area_y2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_local_area_y2); + + field_name = "unk_v40_1a"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adventure_logst, field_name)); + auto n_unk_v40_1a = new NodeSimple; + n_unk_v40_1a->m_field_name = field_name; + n_unk_v40_1a->m_df_type = DF_Type::int32_t; + n_unk_v40_1a->m_rdf_type = RDF_Type::int32_t; + n_unk_v40_1a->m_node_type = NodeType::Simple; + n_unk_v40_1a->m_address = base + offset; + n_unk_v40_1a->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_1a); + + field_name = "unk_v40_1b"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adventure_logst, field_name)); + auto n_unk_v40_1b = new NodeSimple; + n_unk_v40_1b->m_field_name = field_name; + n_unk_v40_1b->m_df_type = DF_Type::int32_t; + n_unk_v40_1b->m_rdf_type = RDF_Type::int32_t; + n_unk_v40_1b->m_node_type = NodeType::Simple; + n_unk_v40_1b->m_address = base + offset; + n_unk_v40_1b->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_1b); + + field_name = "unk_v40_1c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adventure_logst, field_name)); + auto n_unk_v40_1c = new NodeSimple; + n_unk_v40_1c->m_field_name = field_name; + n_unk_v40_1c->m_df_type = DF_Type::int32_t; + n_unk_v40_1c->m_rdf_type = RDF_Type::int32_t; + n_unk_v40_1c->m_node_type = NodeType::Simple; + n_unk_v40_1c->m_address = base + offset; + n_unk_v40_1c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_1c); + + field_name = "unk_v40_1d"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adventure_logst, field_name)); + auto n_unk_v40_1d = new NodeSimple; + n_unk_v40_1d->m_field_name = field_name; + n_unk_v40_1d->m_df_type = DF_Type::int32_t; + n_unk_v40_1d->m_rdf_type = RDF_Type::int32_t; + n_unk_v40_1d->m_node_type = NodeType::Simple; + n_unk_v40_1d->m_address = base + offset; + n_unk_v40_1d->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_1d); + + field_name = "unk_v40_1e"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adventure_logst, field_name)); + auto n_unk_v40_1e = new NodeSimple; + n_unk_v40_1e->m_field_name = field_name; + n_unk_v40_1e->m_df_type = DF_Type::int32_t; + n_unk_v40_1e->m_rdf_type = RDF_Type::int32_t; + n_unk_v40_1e->m_node_type = NodeType::Simple; + n_unk_v40_1e->m_address = base + offset; + n_unk_v40_1e->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_1e); + + field_name = "unk_v40_1f"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adventure_logst, field_name)); + auto n_unk_v40_1f = new NodeSimple; + n_unk_v40_1f->m_field_name = field_name; + n_unk_v40_1f->m_df_type = DF_Type::int32_t; + n_unk_v40_1f->m_rdf_type = RDF_Type::int32_t; + n_unk_v40_1f->m_node_type = NodeType::Simple; + n_unk_v40_1f->m_address = base + offset; + n_unk_v40_1f->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_1f); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adventure_logst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "filter_str"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adventure_logst, field_name)); + auto n_filter_str = new NodeSimple; + n_filter_str->m_field_name = field_name; + n_filter_str->m_df_type = DF_Type::Stl_string; + n_filter_str->m_rdf_type = RDF_Type::Stl_string; + n_filter_str->m_node_type = NodeType::Simple; + n_filter_str->m_address = base + offset; + n_filter_str->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_filter_str); + + field_name = "in_filter"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adventure_logst, field_name)); + auto n_in_filter = new NodeSimple; + n_in_filter->m_field_name = field_name; + n_in_filter->m_df_type = DF_Type::int8_t; + n_in_filter->m_rdf_type = RDF_Type::int8_t; + n_in_filter->m_node_type = NodeType::Simple; + n_in_filter->m_address = base + offset; + n_in_filter->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_in_filter); + + field_name = "items"; + auto n_items = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adventure_logst, field_name)); + n_items->m_field_name = field_name; + n_items->m_df_type = DF_Type::adventure_log_item; + n_items->m_rdf_type = RDF_Type::Array; + n_items->m_node_type = NodeType::Array; + n_items->m_defined_in = "df.viewscreen.xml"; + n_items->m_addornements = "[9v*"; + n_items->m_array_size = 9; + n_items->m_address = base + offset; + n_items->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_items); + + field_name = "filtered_items"; + auto n_filtered_items = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_adventure_logst, field_name)); + n_filtered_items->m_field_name = field_name; + n_filtered_items->m_df_type = DF_Type::adventure_log_item; + n_filtered_items->m_rdf_type = RDF_Type::Array; + n_filtered_items->m_node_type = NodeType::Array; + n_filtered_items->m_defined_in = "df.viewscreen.xml"; + n_filtered_items->m_addornements = "[9v*"; + n_filtered_items->m_array_size = 9; + n_filtered_items->m_address = base + offset; + n_filtered_items->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_filtered_items); + +} +void node_from_viewscreen_announcelistst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unit"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_announcelistst, field_name)); + auto n_unit = new NodePointer; + n_unit->m_field_name = field_name; + n_unit->m_df_type = get_real_subtype(base+offset, DF_Type::unit); + n_unit->m_rdf_type = RDF_Type::Pointer; + n_unit->m_node_type = NodeType::Pointer; + n_unit->m_addornements = "*"; + n_unit->m_address = base + offset; + n_unit->m_parent = p_node_parent; + n_unit->m_defined_in = "df.units.xml"; + n_unit->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unit); + + field_name = "report_type"; + auto n_report_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_announcelistst, field_name)); + n_report_type->m_field_name = field_name; + n_report_type->m_df_type = DF_Type::unit_report_type; + n_report_type->m_rdf_type = RDF_Type::Enum; + n_report_type->m_node_type = NodeType::Enum; + n_report_type->m_base_type = DF_Type::int16_t; + n_report_type->m_enum_type = "unit_report_type"; + n_report_type->m_address = base + offset; + n_report_type->m_defined_in = "df.units.xml"; + n_report_type->m_first_value = 0; + n_report_type->m_last_value = 2; + n_report_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_report_type); + + field_name = "sel_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_announcelistst, field_name)); + auto n_sel_idx = new NodeSimple; + n_sel_idx->m_field_name = field_name; + n_sel_idx->m_df_type = DF_Type::int32_t; + n_sel_idx->m_rdf_type = RDF_Type::int32_t; + n_sel_idx->m_node_type = NodeType::Simple; + n_sel_idx->m_address = base + offset; + n_sel_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sel_idx); + + field_name = "reports"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_announcelistst, field_name)); + auto n_reports = new NodeVector; + n_reports->m_field_name = field_name; + n_reports->m_df_type = DF_Type::report; + n_reports->m_rdf_type = RDF_Type::Vector; + n_reports->m_node_type = NodeType::Vector; + n_reports->m_defined_in = "df.announcements.xml"; + n_reports->m_addornements = "v*"; + n_reports->m_address = base + offset; + n_reports->m_parent = p_node_parent; + n_reports->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_reports); + +} +void node_from_viewscreen_assign_display_itemst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "building"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_assign_display_itemst, field_name)); + auto n_building = new NodePointer; + n_building->m_field_name = field_name; + n_building->m_df_type = get_real_subtype(base+offset, DF_Type::building_display_furniturest); + n_building->m_rdf_type = RDF_Type::Pointer; + n_building->m_node_type = NodeType::Pointer; + n_building->m_addornements = "*"; + n_building->m_address = base + offset; + n_building->m_parent = p_node_parent; + n_building->m_defined_in = "df.buildings.xml"; + n_building->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_building); + + field_name = "title"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_assign_display_itemst, field_name)); + auto n_title= new NodePadding; + n_title->m_field_name = field_name; + n_title->m_df_type = DF_Type::Static_string; + n_title->m_rdf_type = RDF_Type::Static_string; + n_title->m_node_type = NodeType::StaticString; + n_title->m_address = base + offset; + n_title->m_size = 256; + n_title->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_title); + + field_name = "sel_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_assign_display_itemst, field_name)); + auto n_sel_type = new NodeSimple; + n_sel_type->m_field_name = field_name; + n_sel_type->m_df_type = DF_Type::int32_t; + n_sel_type->m_rdf_type = RDF_Type::int32_t; + n_sel_type->m_node_type = NodeType::Simple; + n_sel_type->m_address = base + offset; + n_sel_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sel_type); + + field_name = "sel_item"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_assign_display_itemst, field_name)); + auto n_sel_item = new NodeSimple; + n_sel_item->m_field_name = field_name; + n_sel_item->m_df_type = DF_Type::int32_t; + n_sel_item->m_rdf_type = RDF_Type::int32_t; + n_sel_item->m_node_type = NodeType::Simple; + n_sel_item->m_address = base + offset; + n_sel_item->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sel_item); + + field_name = "selected_item_ids"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_assign_display_itemst, field_name)); + auto n_selected_item_ids = new NodeVector; + n_selected_item_ids->m_field_name = field_name; + n_selected_item_ids->m_df_type = DF_Type::int32_t; + n_selected_item_ids->m_rdf_type = RDF_Type::Vector; + n_selected_item_ids->m_node_type = NodeType::Vector; + n_selected_item_ids->m_addornements = "v"; + n_selected_item_ids->m_address = base + offset; + n_selected_item_ids->m_comment = "sorted"; + n_selected_item_ids->m_parent = p_node_parent; + n_selected_item_ids->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_selected_item_ids); + + field_name = "sel_column"; + auto n_sel_column = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_assign_display_itemst, field_name)); + n_sel_column->m_field_name = field_name; + n_sel_column->m_df_type = DF_Type::viewscreen_assign_display_itemst__T_sel_column; + n_sel_column->m_rdf_type = RDF_Type::Enum; + n_sel_column->m_node_type = NodeType::Enum; + n_sel_column->m_base_type = DF_Type::int32_t; + n_sel_column->m_enum_type = "viewscreen_assign_display_itemst::T_sel_column"; + n_sel_column->m_address = base + offset; + n_sel_column->m_first_value = 0; + n_sel_column->m_last_value = 1; + n_sel_column->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sel_column); + + field_name = "item_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_assign_display_itemst, field_name)); + auto n_item_type = new NodeVector; + n_item_type->m_field_name = field_name; + n_item_type->m_df_type = DF_Type::item_type; + n_item_type->m_rdf_type = RDF_Type::Vector; + n_item_type->m_node_type = NodeType::Vector; + n_item_type->m_enum_base = DF_Type::int16_t; + n_item_type->m_defined_in = "df.item-raws.xml"; + n_item_type->m_addornements = "v"; + n_item_type->m_address = base + offset; + n_item_type->m_parent = p_node_parent; + n_item_type->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_item_type); + + field_name = "artifacts"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_assign_display_itemst, field_name)); + auto n_artifacts = new NodeVector; + n_artifacts->m_field_name = field_name; + n_artifacts->m_df_type = DF_Type::item; + n_artifacts->m_rdf_type = RDF_Type::Vector; + n_artifacts->m_node_type = NodeType::Vector; + n_artifacts->m_defined_in = "df.items.xml"; + n_artifacts->m_addornements = "v*"; + n_artifacts->m_address = base + offset; + n_artifacts->m_parent = p_node_parent; + n_artifacts->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_artifacts); + + field_name = "unk_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_assign_display_itemst, field_name)); + auto n_unk_3 = new NodeSimple; + n_unk_3->m_field_name = field_name; + n_unk_3->m_df_type = DF_Type::int8_t; + n_unk_3->m_rdf_type = RDF_Type::int8_t; + n_unk_3->m_node_type = NodeType::Simple; + n_unk_3->m_address = base + offset; + n_unk_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_3); + + field_name = "items"; + auto n_items = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_assign_display_itemst, field_name)); + n_items->m_field_name = field_name; + n_items->m_df_type = DF_Type::item; + n_items->m_rdf_type = RDF_Type::Array; + n_items->m_node_type = NodeType::Array; + n_items->m_index_enum = DF_Type::item_type; + n_items->m_defined_in = "df.items.xml"; + n_items->m_addornements = "[91v*"; + n_items->m_array_size = 91; + n_items->m_address = base + offset; + n_items->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_items); + + field_name = "items_populated"; + auto n_items_populated = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_assign_display_itemst, field_name)); + n_items_populated->m_field_name = field_name; + n_items_populated->m_df_type = DF_Type::int8_t; + n_items_populated->m_rdf_type = RDF_Type::Array; + n_items_populated->m_node_type = NodeType::Array; + n_items_populated->m_index_enum = DF_Type::item_type; + n_items_populated->m_addornements = "[91"; + n_items_populated->m_array_size = 91; + n_items_populated->m_address = base + offset; + n_items_populated->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_items_populated); + + field_name = "description"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_assign_display_itemst, field_name)); + auto n_description = new NodeVector; + n_description->m_field_name = field_name; + n_description->m_df_type = DF_Type::Stl_string; + n_description->m_rdf_type = RDF_Type::Vector; + n_description->m_node_type = NodeType::Vector; + n_description->m_addornements = "v*"; + n_description->m_address = base + offset; + n_description->m_parent = p_node_parent; + n_description->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_description); + +} +void node_from_viewscreen_barterst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_barterst, field_name)); + auto n_anon_1 = new NodePointer; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_anon_1->m_rdf_type = RDF_Type::Pointer; + n_anon_1->m_node_type = NodeType::Pointer; + n_anon_1->m_addornements = "*"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_barterst, field_name)); + auto n_anon_2 = new NodePointer; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_anon_2->m_rdf_type = RDF_Type::Pointer; + n_anon_2->m_node_type = NodeType::Pointer; + n_anon_2->m_addornements = "*"; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_barterst, field_name)); + auto n_anon_3 = new NodePointer; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_anon_3->m_rdf_type = RDF_Type::Pointer; + n_anon_3->m_node_type = NodeType::Pointer; + n_anon_3->m_addornements = "*"; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_barterst, field_name)); + auto n_anon_4 = new NodePointer; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_anon_4->m_rdf_type = RDF_Type::Pointer; + n_anon_4->m_node_type = NodeType::Pointer; + n_anon_4->m_addornements = "*"; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_barterst, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int8_t; + n_anon_5->m_rdf_type = RDF_Type::int8_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_barterst, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int8_t; + n_anon_6->m_rdf_type = RDF_Type::int8_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_barterst, field_name)); + auto n_anon_7 = new NodeSimple; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::int8_t; + n_anon_7->m_rdf_type = RDF_Type::int8_t; + n_anon_7->m_node_type = NodeType::Simple; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_7); + + field_name = "anon_8"; + auto n_anon_8 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_barterst, field_name)); + n_anon_8->m_field_name = field_name; + n_anon_8->m_df_type = DF_Type::Void; + n_anon_8->m_rdf_type = RDF_Type::Array; + n_anon_8->m_node_type = NodeType::Array; + n_anon_8->m_addornements = "[2v"; + n_anon_8->m_array_size = 2; + n_anon_8->m_address = base + offset; + n_anon_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_8); + + field_name = "anon_9"; + auto n_anon_9 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_barterst, field_name)); + n_anon_9->m_field_name = field_name; + n_anon_9->m_df_type = DF_Type::Void; + n_anon_9->m_rdf_type = RDF_Type::Array; + n_anon_9->m_node_type = NodeType::Array; + n_anon_9->m_addornements = "[2v"; + n_anon_9->m_array_size = 2; + n_anon_9->m_address = base + offset; + n_anon_9->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_9); + + field_name = "anon_10"; + auto n_anon_10 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_barterst, field_name)); + n_anon_10->m_field_name = field_name; + n_anon_10->m_df_type = DF_Type::Void; + n_anon_10->m_rdf_type = RDF_Type::Array; + n_anon_10->m_node_type = NodeType::Array; + n_anon_10->m_addornements = "[2v"; + n_anon_10->m_array_size = 2; + n_anon_10->m_address = base + offset; + n_anon_10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_10); + + field_name = "anon_11"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_barterst, field_name)); + auto n_anon_11 = new NodeVector; + n_anon_11->m_field_name = field_name; + n_anon_11->m_df_type = DF_Type::Void; + n_anon_11->m_rdf_type = RDF_Type::Vector; + n_anon_11->m_node_type = NodeType::Vector; + n_anon_11->m_addornements = "v"; + n_anon_11->m_address = base + offset; + n_anon_11->m_parent = p_node_parent; + n_anon_11->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_11); + + field_name = "anon_12"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_barterst, field_name)); + auto n_anon_12 = new NodeVector; + n_anon_12->m_field_name = field_name; + n_anon_12->m_df_type = DF_Type::Void; + n_anon_12->m_rdf_type = RDF_Type::Vector; + n_anon_12->m_node_type = NodeType::Vector; + n_anon_12->m_addornements = "v"; + n_anon_12->m_address = base + offset; + n_anon_12->m_parent = p_node_parent; + n_anon_12->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_12); + + field_name = "anon_13"; + auto n_anon_13 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_barterst, field_name)); + n_anon_13->m_field_name = field_name; + n_anon_13->m_df_type = DF_Type::int32_t; + n_anon_13->m_rdf_type = RDF_Type::Array; + n_anon_13->m_node_type = NodeType::Array; + n_anon_13->m_addornements = "[2"; + n_anon_13->m_array_size = 2; + n_anon_13->m_address = base + offset; + n_anon_13->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_13); + + field_name = "anon_14"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_barterst, field_name)); + auto n_anon_14 = new NodeSimple; + n_anon_14->m_field_name = field_name; + n_anon_14->m_df_type = DF_Type::int8_t; + n_anon_14->m_rdf_type = RDF_Type::int8_t; + n_anon_14->m_node_type = NodeType::Simple; + n_anon_14->m_address = base + offset; + n_anon_14->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_14); + + field_name = "anon_15"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_barterst, field_name)); + auto n_anon_15 = new NodeSimple; + n_anon_15->m_field_name = field_name; + n_anon_15->m_df_type = DF_Type::int16_t; + n_anon_15->m_rdf_type = RDF_Type::int16_t; + n_anon_15->m_node_type = NodeType::Simple; + n_anon_15->m_address = base + offset; + n_anon_15->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_15); + + field_name = "anon_16"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_barterst, field_name)); + auto n_anon_16 = new NodeSimple; + n_anon_16->m_field_name = field_name; + n_anon_16->m_df_type = DF_Type::int8_t; + n_anon_16->m_rdf_type = RDF_Type::int8_t; + n_anon_16->m_node_type = NodeType::Simple; + n_anon_16->m_address = base + offset; + n_anon_16->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_16); + + field_name = "max_ask"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_barterst, field_name)); + auto n_max_ask = new NodeSimple; + n_max_ask->m_field_name = field_name; + n_max_ask->m_df_type = DF_Type::int32_t; + n_max_ask->m_rdf_type = RDF_Type::int32_t; + n_max_ask->m_node_type = NodeType::Simple; + n_max_ask->m_address = base + offset; + n_max_ask->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_max_ask); + + field_name = "max_offer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_barterst, field_name)); + auto n_max_offer = new NodeSimple; + n_max_offer->m_field_name = field_name; + n_max_offer->m_df_type = DF_Type::int32_t; + n_max_offer->m_rdf_type = RDF_Type::int32_t; + n_max_offer->m_node_type = NodeType::Simple; + n_max_offer->m_address = base + offset; + n_max_offer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_max_offer); + + field_name = "cur_ask"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_barterst, field_name)); + auto n_cur_ask = new NodeSimple; + n_cur_ask->m_field_name = field_name; + n_cur_ask->m_df_type = DF_Type::int32_t; + n_cur_ask->m_rdf_type = RDF_Type::int32_t; + n_cur_ask->m_node_type = NodeType::Simple; + n_cur_ask->m_address = base + offset; + n_cur_ask->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cur_ask); + + field_name = "cur_offer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_barterst, field_name)); + auto n_cur_offer = new NodeSimple; + n_cur_offer->m_field_name = field_name; + n_cur_offer->m_df_type = DF_Type::int32_t; + n_cur_offer->m_rdf_type = RDF_Type::int32_t; + n_cur_offer->m_node_type = NodeType::Simple; + n_cur_offer->m_address = base + offset; + n_cur_offer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cur_offer); + + field_name = "anon_17"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_barterst, field_name)); + auto n_anon_17 = new NodeSimple; + n_anon_17->m_field_name = field_name; + n_anon_17->m_df_type = DF_Type::int8_t; + n_anon_17->m_rdf_type = RDF_Type::int8_t; + n_anon_17->m_node_type = NodeType::Simple; + n_anon_17->m_address = base + offset; + n_anon_17->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_17); + + field_name = "anon_18"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_barterst, field_name)); + auto n_anon_18 = new NodeSimple; + n_anon_18->m_field_name = field_name; + n_anon_18->m_df_type = DF_Type::int8_t; + n_anon_18->m_rdf_type = RDF_Type::int8_t; + n_anon_18->m_node_type = NodeType::Simple; + n_anon_18->m_address = base + offset; + n_anon_18->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_18); + + field_name = "anon_19"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_barterst, field_name)); + auto n_anon_19 = new NodeSimple; + n_anon_19->m_field_name = field_name; + n_anon_19->m_df_type = DF_Type::int8_t; + n_anon_19->m_rdf_type = RDF_Type::int8_t; + n_anon_19->m_node_type = NodeType::Simple; + n_anon_19->m_address = base + offset; + n_anon_19->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_19); + + field_name = "anon_20"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_barterst, field_name)); + auto n_anon_20 = new NodeSimple; + n_anon_20->m_field_name = field_name; + n_anon_20->m_df_type = DF_Type::Stl_string; + n_anon_20->m_rdf_type = RDF_Type::Stl_string; + n_anon_20->m_node_type = NodeType::Simple; + n_anon_20->m_address = base + offset; + n_anon_20->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_20); + + field_name = "anon_21"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_barterst, field_name)); + auto n_anon_21 = new NodeVector; + n_anon_21->m_field_name = field_name; + n_anon_21->m_df_type = DF_Type::Void; + n_anon_21->m_rdf_type = RDF_Type::Vector; + n_anon_21->m_node_type = NodeType::Vector; + n_anon_21->m_addornements = "v"; + n_anon_21->m_address = base + offset; + n_anon_21->m_parent = p_node_parent; + n_anon_21->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_21); + + field_name = "anon_22"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_barterst, field_name)); + auto n_anon_22 = new NodeSimple; + n_anon_22->m_field_name = field_name; + n_anon_22->m_df_type = DF_Type::int32_t; + n_anon_22->m_rdf_type = RDF_Type::int32_t; + n_anon_22->m_node_type = NodeType::Simple; + n_anon_22->m_address = base + offset; + n_anon_22->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_22); + +} +void node_from_viewscreen_buildingst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "building"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_buildingst, field_name)); + auto n_building = new NodePointer; + n_building->m_field_name = field_name; + n_building->m_df_type = get_real_subtype(base+offset, DF_Type::building); + n_building->m_rdf_type = RDF_Type::Pointer; + n_building->m_node_type = NodeType::Pointer; + n_building->m_addornements = "*"; + n_building->m_address = base + offset; + n_building->m_parent = p_node_parent; + n_building->m_defined_in = "df.buildings.xml"; + n_building->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_building); + +} +void node_from_viewscreen_buildinglistst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "cursor"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_buildinglistst, field_name)); + auto n_cursor = new NodeSimple; + n_cursor->m_field_name = field_name; + n_cursor->m_df_type = DF_Type::int32_t; + n_cursor->m_rdf_type = RDF_Type::int32_t; + n_cursor->m_node_type = NodeType::Simple; + n_cursor->m_address = base + offset; + n_cursor->m_refers_to = "$$._parent.buildings[$]"; + n_cursor->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cursor); + + field_name = "alt_right_panel"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_buildinglistst, field_name)); + auto n_alt_right_panel = new NodeSimple; + n_alt_right_panel->m_field_name = field_name; + n_alt_right_panel->m_df_type = DF_Type::Bool; + n_alt_right_panel->m_rdf_type = RDF_Type::Bool; + n_alt_right_panel->m_node_type = NodeType::Simple; + n_alt_right_panel->m_address = base + offset; + n_alt_right_panel->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_alt_right_panel); + + field_name = "buildings"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_buildinglistst, field_name)); + auto n_buildings = new NodeVector; + n_buildings->m_field_name = field_name; + n_buildings->m_df_type = DF_Type::building; + n_buildings->m_rdf_type = RDF_Type::Vector; + n_buildings->m_node_type = NodeType::Vector; + n_buildings->m_defined_in = "df.buildings.xml"; + n_buildings->m_addornements = "v*"; + n_buildings->m_address = base + offset; + n_buildings->m_parent = p_node_parent; + n_buildings->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_buildings); + + field_name = "buildings2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_buildinglistst, field_name)); + auto n_buildings2 = new NodeVector; + n_buildings2->m_field_name = field_name; + n_buildings2->m_df_type = DF_Type::building; + n_buildings2->m_rdf_type = RDF_Type::Vector; + n_buildings2->m_node_type = NodeType::Vector; + n_buildings2->m_defined_in = "df.buildings.xml"; + n_buildings2->m_addornements = "v*"; + n_buildings2->m_address = base + offset; + n_buildings2->m_parent = p_node_parent; + n_buildings2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_buildings2); + + field_name = "room_value"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_buildinglistst, field_name)); + auto n_room_value = new NodeVector; + n_room_value->m_field_name = field_name; + n_room_value->m_df_type = DF_Type::int32_t; + n_room_value->m_rdf_type = RDF_Type::Vector; + n_room_value->m_node_type = NodeType::Vector; + n_room_value->m_addornements = "v"; + n_room_value->m_address = base + offset; + n_room_value->m_refers_to = "$$._parent.buildings[$]"; + n_room_value->m_parent = p_node_parent; + n_room_value->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_room_value); + + field_name = "room_value2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_buildinglistst, field_name)); + auto n_room_value2 = new NodeVector; + n_room_value2->m_field_name = field_name; + n_room_value2->m_df_type = DF_Type::int32_t; + n_room_value2->m_rdf_type = RDF_Type::Vector; + n_room_value2->m_node_type = NodeType::Vector; + n_room_value2->m_addornements = "v"; + n_room_value2->m_address = base + offset; + n_room_value2->m_refers_to = "$$._parent.buildings2[$]"; + n_room_value2->m_parent = p_node_parent; + n_room_value2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_room_value2); + +} +void node_from_embark_location(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "region_pos"; + auto n_region_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_location, field_name)); + n_region_pos->m_field_name = field_name; + n_region_pos->m_df_type = DF_Type::coord2d; + n_region_pos->m_rdf_type = RDF_Type::Struct; + n_region_pos->m_node_type = NodeType::Compound; + n_region_pos->m_address = base + offset; + n_region_pos->m_defined_in = "df.map.xml"; + n_region_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region_pos); + + field_name = "reclaim_site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_location, field_name)); + auto n_reclaim_site = new NodeSimple; + n_reclaim_site->m_field_name = field_name; + n_reclaim_site->m_df_type = DF_Type::int16_t; + n_reclaim_site->m_rdf_type = RDF_Type::int16_t; + n_reclaim_site->m_node_type = NodeType::Simple; + n_reclaim_site->m_address = base + offset; + n_reclaim_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_reclaim_site); + + field_name = "reclaim_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_location, field_name)); + auto n_reclaim_idx = new NodeSimple; + n_reclaim_idx->m_field_name = field_name; + n_reclaim_idx->m_df_type = DF_Type::int16_t; + n_reclaim_idx->m_rdf_type = RDF_Type::int16_t; + n_reclaim_idx->m_node_type = NodeType::Simple; + n_reclaim_idx->m_address = base + offset; + n_reclaim_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_reclaim_idx); + + field_name = "biome_rgn"; + auto n_biome_rgn = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_location, field_name)); + n_biome_rgn->m_field_name = field_name; + n_biome_rgn->m_df_type = DF_Type::coord2d_path; + n_biome_rgn->m_rdf_type = RDF_Type::Struct; + n_biome_rgn->m_node_type = NodeType::Compound; + n_biome_rgn->m_address = base + offset; + n_biome_rgn->m_defined_in = "df.map.xml"; + n_biome_rgn->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_biome_rgn); + + field_name = "embark_pos_min"; + auto n_embark_pos_min = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_location, field_name)); + n_embark_pos_min->m_field_name = field_name; + n_embark_pos_min->m_df_type = DF_Type::coord2d; + n_embark_pos_min->m_rdf_type = RDF_Type::Struct; + n_embark_pos_min->m_node_type = NodeType::Compound; + n_embark_pos_min->m_address = base + offset; + n_embark_pos_min->m_defined_in = "df.map.xml"; + n_embark_pos_min->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_embark_pos_min); + + field_name = "embark_pos_max"; + auto n_embark_pos_max = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_location, field_name)); + n_embark_pos_max->m_field_name = field_name; + n_embark_pos_max->m_df_type = DF_Type::coord2d; + n_embark_pos_max->m_rdf_type = RDF_Type::Struct; + n_embark_pos_max->m_node_type = NodeType::Compound; + n_embark_pos_max->m_address = base + offset; + n_embark_pos_max->m_defined_in = "df.map.xml"; + n_embark_pos_max->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_embark_pos_max); + + field_name = "embark_biome_rgn"; + auto n_embark_biome_rgn = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_location, field_name)); + n_embark_biome_rgn->m_field_name = field_name; + n_embark_biome_rgn->m_df_type = DF_Type::coord2d; + n_embark_biome_rgn->m_rdf_type = RDF_Type::Struct; + n_embark_biome_rgn->m_node_type = NodeType::Compound; + n_embark_biome_rgn->m_address = base + offset; + n_embark_biome_rgn->m_defined_in = "df.map.xml"; + n_embark_biome_rgn->m_comment = "Valid only after e pressed."; + n_embark_biome_rgn->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_embark_biome_rgn); + +} +void node_from_viewscreen_choose_start_sitest__T_finder(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "search_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest__T_finder, field_name)); + auto n_search_x = new NodeSimple; + n_search_x->m_field_name = field_name; + n_search_x->m_df_type = DF_Type::int32_t; + n_search_x->m_rdf_type = RDF_Type::int32_t; + n_search_x->m_node_type = NodeType::Simple; + n_search_x->m_address = base + offset; + n_search_x->m_comment = "to world width / 16"; + n_search_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_search_x); + + field_name = "search_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest__T_finder, field_name)); + auto n_search_y = new NodeSimple; + n_search_y->m_field_name = field_name; + n_search_y->m_df_type = DF_Type::int32_t; + n_search_y->m_rdf_type = RDF_Type::int32_t; + n_search_y->m_node_type = NodeType::Simple; + n_search_y->m_address = base + offset; + n_search_y->m_comment = "to world height / 16"; + n_search_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_search_y); + + field_name = "cursor"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest__T_finder, field_name)); + auto n_cursor = new NodeSimple; + n_cursor->m_field_name = field_name; + n_cursor->m_df_type = DF_Type::int32_t; + n_cursor->m_rdf_type = RDF_Type::int32_t; + n_cursor->m_node_type = NodeType::Simple; + n_cursor->m_address = base + offset; + n_cursor->m_refers_to = "$$._parent.enabled_options[$]"; + n_cursor->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cursor); + + field_name = "options"; + auto n_options = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest__T_finder, field_name)); + n_options->m_field_name = field_name; + n_options->m_df_type = DF_Type::int32_t; + n_options->m_rdf_type = RDF_Type::Array; + n_options->m_node_type = NodeType::Array; + n_options->m_index_enum = DF_Type::embark_finder_option; + n_options->m_addornements = "[22"; + n_options->m_array_size = 22; + n_options->m_address = base + offset; + n_options->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_options); + + field_name = "unmatched"; + auto n_unmatched = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest__T_finder, field_name)); + n_unmatched->m_field_name = field_name; + n_unmatched->m_df_type = DF_Type::Bool; + n_unmatched->m_rdf_type = RDF_Type::Array; + n_unmatched->m_node_type = NodeType::Array; + n_unmatched->m_index_enum = DF_Type::embark_finder_option; + n_unmatched->m_addornements = "[22"; + n_unmatched->m_array_size = 22; + n_unmatched->m_address = base + offset; + n_unmatched->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unmatched); + + field_name = "visible_options"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest__T_finder, field_name)); + auto n_visible_options = new NodeVector; + n_visible_options->m_field_name = field_name; + n_visible_options->m_df_type = DF_Type::embark_finder_option; + n_visible_options->m_rdf_type = RDF_Type::Vector; + n_visible_options->m_node_type = NodeType::Vector; + n_visible_options->m_enum_base = DF_Type::int32_t; + n_visible_options->m_defined_in = "df.viewscreen.xml"; + n_visible_options->m_addornements = "v"; + n_visible_options->m_address = base + offset; + n_visible_options->m_parent = p_node_parent; + n_visible_options->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_visible_options); + + field_name = "finder_state"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest__T_finder, field_name)); + auto n_finder_state = new NodeSimple; + n_finder_state->m_field_name = field_name; + n_finder_state->m_df_type = DF_Type::int16_t; + n_finder_state->m_rdf_type = RDF_Type::int16_t; + n_finder_state->m_node_type = NodeType::Simple; + n_finder_state->m_address = base + offset; + n_finder_state->m_comment = "0=find, 1=none, 2=partial, 3=suitable"; + n_finder_state->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_finder_state); + + field_name = "unk_11e"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest__T_finder, field_name)); + auto n_unk_11e = new NodeSimple; + n_unk_11e->m_field_name = field_name; + n_unk_11e->m_df_type = DF_Type::int16_t; + n_unk_11e->m_rdf_type = RDF_Type::int16_t; + n_unk_11e->m_node_type = NodeType::Simple; + n_unk_11e->m_address = base + offset; + n_unk_11e->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_11e); + + field_name = "unk_120"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest__T_finder, field_name)); + auto n_unk_120 = new NodeSimple; + n_unk_120->m_field_name = field_name; + n_unk_120->m_df_type = DF_Type::int16_t; + n_unk_120->m_rdf_type = RDF_Type::int16_t; + n_unk_120->m_node_type = NodeType::Simple; + n_unk_120->m_address = base + offset; + n_unk_120->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_120); + + field_name = "unk_122"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest__T_finder, field_name)); + auto n_unk_122 = new NodeSimple; + n_unk_122->m_field_name = field_name; + n_unk_122->m_df_type = DF_Type::int16_t; + n_unk_122->m_rdf_type = RDF_Type::int16_t; + n_unk_122->m_node_type = NodeType::Simple; + n_unk_122->m_address = base + offset; + n_unk_122->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_122); + + field_name = "unk_124"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest__T_finder, field_name)); + auto n_unk_124 = new NodeSimple; + n_unk_124->m_field_name = field_name; + n_unk_124->m_df_type = DF_Type::int16_t; + n_unk_124->m_rdf_type = RDF_Type::int16_t; + n_unk_124->m_node_type = NodeType::Simple; + n_unk_124->m_address = base + offset; + n_unk_124->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_124); + + field_name = "unk_126"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest__T_finder, field_name)); + auto n_unk_126 = new NodeSimple; + n_unk_126->m_field_name = field_name; + n_unk_126->m_df_type = DF_Type::int16_t; + n_unk_126->m_rdf_type = RDF_Type::int16_t; + n_unk_126->m_node_type = NodeType::Simple; + n_unk_126->m_address = base + offset; + n_unk_126->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_126); + + field_name = "unk_128"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest__T_finder, field_name)); + auto n_unk_128 = new NodeSimple; + n_unk_128->m_field_name = field_name; + n_unk_128->m_df_type = DF_Type::int16_t; + n_unk_128->m_rdf_type = RDF_Type::int16_t; + n_unk_128->m_node_type = NodeType::Simple; + n_unk_128->m_address = base + offset; + n_unk_128->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_128); + +} +void node_from_viewscreen_choose_start_sitest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "page"; + auto n_page = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest, field_name)); + n_page->m_field_name = field_name; + n_page->m_df_type = DF_Type::viewscreen_choose_start_sitest__T_page; + n_page->m_rdf_type = RDF_Type::Enum; + n_page->m_node_type = NodeType::Enum; + n_page->m_base_type = DF_Type::int32_t; + n_page->m_enum_type = "viewscreen_choose_start_sitest::T_page"; + n_page->m_address = base + offset; + n_page->m_first_value = 0; + n_page->m_last_value = 8; + n_page->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_page); + + field_name = "location"; + auto n_location = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest, field_name)); + n_location->m_field_name = field_name; + n_location->m_df_type = DF_Type::embark_location; + n_location->m_rdf_type = RDF_Type::Struct; + n_location->m_node_type = NodeType::Compound; + n_location->m_address = base + offset; + n_location->m_defined_in = "df.viewscreen.xml"; + n_location->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_location); + + field_name = "biome_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest, field_name)); + auto n_biome_idx = new NodeSimple; + n_biome_idx->m_field_name = field_name; + n_biome_idx->m_df_type = DF_Type::int32_t; + n_biome_idx->m_rdf_type = RDF_Type::int32_t; + n_biome_idx->m_node_type = NodeType::Simple; + n_biome_idx->m_address = base + offset; + n_biome_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_biome_idx); + + field_name = "biome_highlighted"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest, field_name)); + auto n_biome_highlighted = new NodeSimple; + n_biome_highlighted->m_field_name = field_name; + n_biome_highlighted->m_df_type = DF_Type::Bool; + n_biome_highlighted->m_rdf_type = RDF_Type::Bool; + n_biome_highlighted->m_node_type = NodeType::Simple; + n_biome_highlighted->m_address = base + offset; + n_biome_highlighted->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_biome_highlighted); + + field_name = "in_embark_aquifer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest, field_name)); + auto n_in_embark_aquifer = new NodeSimple; + n_in_embark_aquifer->m_field_name = field_name; + n_in_embark_aquifer->m_df_type = DF_Type::Bool; + n_in_embark_aquifer->m_rdf_type = RDF_Type::Bool; + n_in_embark_aquifer->m_node_type = NodeType::Simple; + n_in_embark_aquifer->m_address = base + offset; + n_in_embark_aquifer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_in_embark_aquifer); + + field_name = "in_embark_salt"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest, field_name)); + auto n_in_embark_salt = new NodeSimple; + n_in_embark_salt->m_field_name = field_name; + n_in_embark_salt->m_df_type = DF_Type::Bool; + n_in_embark_salt->m_rdf_type = RDF_Type::Bool; + n_in_embark_salt->m_node_type = NodeType::Simple; + n_in_embark_salt->m_address = base + offset; + n_in_embark_salt->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_in_embark_salt); + + field_name = "in_embark_large"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest, field_name)); + auto n_in_embark_large = new NodeSimple; + n_in_embark_large->m_field_name = field_name; + n_in_embark_large->m_df_type = DF_Type::Bool; + n_in_embark_large->m_rdf_type = RDF_Type::Bool; + n_in_embark_large->m_node_type = NodeType::Simple; + n_in_embark_large->m_address = base + offset; + n_in_embark_large->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_in_embark_large); + + field_name = "in_embark_narrow"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest, field_name)); + auto n_in_embark_narrow = new NodeSimple; + n_in_embark_narrow->m_field_name = field_name; + n_in_embark_narrow->m_df_type = DF_Type::Bool; + n_in_embark_narrow->m_rdf_type = RDF_Type::Bool; + n_in_embark_narrow->m_node_type = NodeType::Simple; + n_in_embark_narrow->m_address = base + offset; + n_in_embark_narrow->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_in_embark_narrow); + + field_name = "in_embark_only_warning"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest, field_name)); + auto n_in_embark_only_warning = new NodeSimple; + n_in_embark_only_warning->m_field_name = field_name; + n_in_embark_only_warning->m_df_type = DF_Type::Bool; + n_in_embark_only_warning->m_rdf_type = RDF_Type::Bool; + n_in_embark_only_warning->m_node_type = NodeType::Simple; + n_in_embark_only_warning->m_address = base + offset; + n_in_embark_only_warning->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_in_embark_only_warning); + + field_name = "in_embark_civ_dying"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest, field_name)); + auto n_in_embark_civ_dying = new NodeSimple; + n_in_embark_civ_dying->m_field_name = field_name; + n_in_embark_civ_dying->m_df_type = DF_Type::Bool; + n_in_embark_civ_dying->m_rdf_type = RDF_Type::Bool; + n_in_embark_civ_dying->m_node_type = NodeType::Simple; + n_in_embark_civ_dying->m_address = base + offset; + n_in_embark_civ_dying->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_in_embark_civ_dying); + + field_name = "highlighted_sites"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest, field_name)); + auto n_highlighted_sites = new NodeVector; + n_highlighted_sites->m_field_name = field_name; + n_highlighted_sites->m_df_type = DF_Type::world_site; + n_highlighted_sites->m_rdf_type = RDF_Type::Vector; + n_highlighted_sites->m_node_type = NodeType::Vector; + n_highlighted_sites->m_defined_in = "df.world-site.xml"; + n_highlighted_sites->m_addornements = "v*"; + n_highlighted_sites->m_address = base + offset; + n_highlighted_sites->m_parent = p_node_parent; + n_highlighted_sites->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_highlighted_sites); + + field_name = "local_sites"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest, field_name)); + auto n_local_sites = new NodeVector; + n_local_sites->m_field_name = field_name; + n_local_sites->m_df_type = DF_Type::world_site; + n_local_sites->m_rdf_type = RDF_Type::Vector; + n_local_sites->m_node_type = NodeType::Vector; + n_local_sites->m_defined_in = "df.world-site.xml"; + n_local_sites->m_addornements = "v*"; + n_local_sites->m_address = base + offset; + n_local_sites->m_parent = p_node_parent; + n_local_sites->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_local_sites); + + field_name = "reclaim_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest, field_name)); + auto n_reclaim_idx = new NodeSimple; + n_reclaim_idx->m_field_name = field_name; + n_reclaim_idx->m_df_type = DF_Type::int32_t; + n_reclaim_idx->m_rdf_type = RDF_Type::int32_t; + n_reclaim_idx->m_node_type = NodeType::Simple; + n_reclaim_idx->m_address = base + offset; + n_reclaim_idx->m_refers_to = "$global.world.world_data.old_sites[$]"; + n_reclaim_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_reclaim_idx); + + field_name = "civ_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest, field_name)); + auto n_civ_idx = new NodeSimple; + n_civ_idx->m_field_name = field_name; + n_civ_idx->m_df_type = DF_Type::int32_t; + n_civ_idx->m_rdf_type = RDF_Type::int32_t; + n_civ_idx->m_node_type = NodeType::Simple; + n_civ_idx->m_address = base + offset; + n_civ_idx->m_refers_to = "$$._global.available_civs[$]"; + n_civ_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_civ_idx); + + field_name = "available_civs"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest, field_name)); + auto n_available_civs = new NodeVector; + n_available_civs->m_field_name = field_name; + n_available_civs->m_df_type = DF_Type::historical_entity; + n_available_civs->m_rdf_type = RDF_Type::Vector; + n_available_civs->m_node_type = NodeType::Vector; + n_available_civs->m_defined_in = "df.entities.xml"; + n_available_civs->m_addornements = "v*"; + n_available_civs->m_address = base + offset; + n_available_civs->m_parent = p_node_parent; + n_available_civs->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_available_civs); + + field_name = "site_info"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest, field_name)); + auto n_site_info = new NodeVector; + n_site_info->m_field_name = field_name; + n_site_info->m_df_type = DF_Type::Stl_string; + n_site_info->m_rdf_type = RDF_Type::Vector; + n_site_info->m_node_type = NodeType::Vector; + n_site_info->m_addornements = "v*"; + n_site_info->m_address = base + offset; + n_site_info->m_parent = p_node_parent; + n_site_info->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_site_info); + + field_name = "site_abandoned"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest, field_name)); + auto n_site_abandoned = new NodePointer; + n_site_abandoned->m_field_name = field_name; + n_site_abandoned->m_df_type = get_real_subtype(base+offset, DF_Type::history_event); + n_site_abandoned->m_rdf_type = RDF_Type::Pointer; + n_site_abandoned->m_node_type = NodeType::Pointer; + n_site_abandoned->m_addornements = "*"; + n_site_abandoned->m_address = base + offset; + n_site_abandoned->m_parent = p_node_parent; + n_site_abandoned->m_defined_in = "df.history.xml"; + n_site_abandoned->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_site_abandoned); + + field_name = "site_created"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest, field_name)); + auto n_site_created = new NodePointer; + n_site_created->m_field_name = field_name; + n_site_created->m_df_type = get_real_subtype(base+offset, DF_Type::history_event); + n_site_created->m_rdf_type = RDF_Type::Pointer; + n_site_created->m_node_type = NodeType::Pointer; + n_site_created->m_addornements = "*"; + n_site_created->m_address = base + offset; + n_site_created->m_parent = p_node_parent; + n_site_created->m_defined_in = "df.history.xml"; + n_site_created->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_site_created); + + field_name = "unk_a4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest, field_name)); + auto n_unk_a4 = new NodeSimple; + n_unk_a4->m_field_name = field_name; + n_unk_a4->m_df_type = DF_Type::int32_t; + n_unk_a4->m_rdf_type = RDF_Type::int32_t; + n_unk_a4->m_node_type = NodeType::Simple; + n_unk_a4->m_address = base + offset; + n_unk_a4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_a4); + + field_name = "unk_a8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest, field_name)); + auto n_unk_a8 = new NodeSimple; + n_unk_a8->m_field_name = field_name; + n_unk_a8->m_df_type = DF_Type::int32_t; + n_unk_a8->m_rdf_type = RDF_Type::int32_t; + n_unk_a8->m_node_type = NodeType::Simple; + n_unk_a8->m_address = base + offset; + n_unk_a8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_a8); + + field_name = "finder"; + auto n_finder = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest, field_name)); + n_finder->m_field_name = field_name; + n_finder->m_df_type = DF_Type::viewscreen_choose_start_sitest__T_finder; + n_finder->m_rdf_type = RDF_Type::Compound; + n_finder->m_node_type = NodeType::Compound; + n_finder->m_address = base + offset; + n_finder->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_finder); + + field_name = "notes_order"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest, field_name)); + auto n_notes_order = new NodeVector; + n_notes_order->m_field_name = field_name; + n_notes_order->m_df_type = DF_Type::int32_t; + n_notes_order->m_rdf_type = RDF_Type::Vector; + n_notes_order->m_node_type = NodeType::Vector; + n_notes_order->m_addornements = "v"; + n_notes_order->m_address = base + offset; + n_notes_order->m_refers_to = "$global.world.world_data.embark_notes[$]"; + n_notes_order->m_parent = p_node_parent; + n_notes_order->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_notes_order); + + field_name = "cur_note_name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest, field_name)); + auto n_cur_note_name = new NodeVector; + n_cur_note_name->m_field_name = field_name; + n_cur_note_name->m_df_type = DF_Type::Stl_string; + n_cur_note_name->m_rdf_type = RDF_Type::Vector; + n_cur_note_name->m_node_type = NodeType::Vector; + n_cur_note_name->m_addornements = "v*"; + n_cur_note_name->m_address = base + offset; + n_cur_note_name->m_parent = p_node_parent; + n_cur_note_name->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_cur_note_name); + + field_name = "unk_14c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest, field_name)); + auto n_unk_14c = new NodeSimple; + n_unk_14c->m_field_name = field_name; + n_unk_14c->m_df_type = DF_Type::int32_t; + n_unk_14c->m_rdf_type = RDF_Type::int32_t; + n_unk_14c->m_node_type = NodeType::Simple; + n_unk_14c->m_address = base + offset; + n_unk_14c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_14c); + + field_name = "unk_150"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest, field_name)); + auto n_unk_150 = new NodeSimple; + n_unk_150->m_field_name = field_name; + n_unk_150->m_df_type = DF_Type::int32_t; + n_unk_150->m_rdf_type = RDF_Type::int32_t; + n_unk_150->m_node_type = NodeType::Simple; + n_unk_150->m_address = base + offset; + n_unk_150->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_150); + + field_name = "unk_154"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest, field_name)); + auto n_unk_154 = new NodeSimple; + n_unk_154->m_field_name = field_name; + n_unk_154->m_df_type = DF_Type::int16_t; + n_unk_154->m_rdf_type = RDF_Type::int16_t; + n_unk_154->m_node_type = NodeType::Simple; + n_unk_154->m_address = base + offset; + n_unk_154->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_154); + + field_name = "note_tile"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest, field_name)); + auto n_note_tile = new NodeSimple; + n_note_tile->m_field_name = field_name; + n_note_tile->m_df_type = DF_Type::int8_t; + n_note_tile->m_rdf_type = RDF_Type::int8_t; + n_note_tile->m_node_type = NodeType::Simple; + n_note_tile->m_address = base + offset; + n_note_tile->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_note_tile); + + field_name = "note_fg_color"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest, field_name)); + auto n_note_fg_color = new NodeSimple; + n_note_fg_color->m_field_name = field_name; + n_note_fg_color->m_df_type = DF_Type::int16_t; + n_note_fg_color->m_rdf_type = RDF_Type::int16_t; + n_note_fg_color->m_node_type = NodeType::Simple; + n_note_fg_color->m_address = base + offset; + n_note_fg_color->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_note_fg_color); + + field_name = "note_bg_color"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest, field_name)); + auto n_note_bg_color = new NodeSimple; + n_note_bg_color->m_field_name = field_name; + n_note_bg_color->m_df_type = DF_Type::int16_t; + n_note_bg_color->m_rdf_type = RDF_Type::int16_t; + n_note_bg_color->m_node_type = NodeType::Simple; + n_note_bg_color->m_address = base + offset; + n_note_bg_color->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_note_bg_color); + + field_name = "unk_15c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_choose_start_sitest, field_name)); + auto n_unk_15c = new NodeSimple; + n_unk_15c->m_field_name = field_name; + n_unk_15c->m_df_type = DF_Type::int32_t; + n_unk_15c->m_rdf_type = RDF_Type::int32_t; + n_unk_15c->m_node_type = NodeType::Simple; + n_unk_15c->m_address = base + offset; + n_unk_15c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_15c); + +} +void node_from_mission__T_details__T_raid(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "raid_type"; + auto n_raid_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); + n_raid_type->m_field_name = field_name; + n_raid_type->m_df_type = DF_Type::mission__T_details__T_raid__T_raid_type; + n_raid_type->m_rdf_type = RDF_Type::Enum; + n_raid_type->m_node_type = NodeType::Enum; + n_raid_type->m_base_type = DF_Type::int32_t; + n_raid_type->m_enum_type = "mission::T_details::T_raid::T_raid_type"; + n_raid_type->m_address = base + offset; + n_raid_type->m_first_value = 0; + n_raid_type->m_last_value = 6; + n_raid_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_raid_type); + + field_name = "unk_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); + auto n_unk_2 = new NodeSimple; + n_unk_2->m_field_name = field_name; + n_unk_2->m_df_type = DF_Type::int32_t; + n_unk_2->m_rdf_type = RDF_Type::int32_t; + n_unk_2->m_node_type = NodeType::Simple; + n_unk_2->m_address = base + offset; + n_unk_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_2); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); + auto n_anon_7 = new NodeSimple; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::int32_t; + n_anon_7->m_rdf_type = RDF_Type::int32_t; + n_anon_7->m_node_type = NodeType::Simple; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_7); + + field_name = "anon_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); + auto n_anon_8 = new NodeSimple; + n_anon_8->m_field_name = field_name; + n_anon_8->m_df_type = DF_Type::int32_t; + n_anon_8->m_rdf_type = RDF_Type::int32_t; + n_anon_8->m_node_type = NodeType::Simple; + n_anon_8->m_address = base + offset; + n_anon_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_8); + + field_name = "anon_9"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); + auto n_anon_9 = new NodeSimple; + n_anon_9->m_field_name = field_name; + n_anon_9->m_df_type = DF_Type::int32_t; + n_anon_9->m_rdf_type = RDF_Type::int32_t; + n_anon_9->m_node_type = NodeType::Simple; + n_anon_9->m_address = base + offset; + n_anon_9->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_9); + + field_name = "anon_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); + auto n_anon_10 = new NodeSimple; + n_anon_10->m_field_name = field_name; + n_anon_10->m_df_type = DF_Type::int32_t; + n_anon_10->m_rdf_type = RDF_Type::int32_t; + n_anon_10->m_node_type = NodeType::Simple; + n_anon_10->m_address = base + offset; + n_anon_10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_10); + + field_name = "anon_11"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); + auto n_anon_11 = new NodeSimple; + n_anon_11->m_field_name = field_name; + n_anon_11->m_df_type = DF_Type::int32_t; + n_anon_11->m_rdf_type = RDF_Type::int32_t; + n_anon_11->m_node_type = NodeType::Simple; + n_anon_11->m_address = base + offset; + n_anon_11->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_11); + + field_name = "anon_12"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); + auto n_anon_12 = new NodeSimple; + n_anon_12->m_field_name = field_name; + n_anon_12->m_df_type = DF_Type::int32_t; + n_anon_12->m_rdf_type = RDF_Type::int32_t; + n_anon_12->m_node_type = NodeType::Simple; + n_anon_12->m_address = base + offset; + n_anon_12->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_12); + + field_name = "anon_13"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); + auto n_anon_13 = new NodeSimple; + n_anon_13->m_field_name = field_name; + n_anon_13->m_df_type = DF_Type::int32_t; + n_anon_13->m_rdf_type = RDF_Type::int32_t; + n_anon_13->m_node_type = NodeType::Simple; + n_anon_13->m_address = base + offset; + n_anon_13->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_13); + + field_name = "anon_14"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); + auto n_anon_14 = new NodeSimple; + n_anon_14->m_field_name = field_name; + n_anon_14->m_df_type = DF_Type::int32_t; + n_anon_14->m_rdf_type = RDF_Type::int32_t; + n_anon_14->m_node_type = NodeType::Simple; + n_anon_14->m_address = base + offset; + n_anon_14->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_14); + + field_name = "anon_15"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); + auto n_anon_15 = new NodeSimple; + n_anon_15->m_field_name = field_name; + n_anon_15->m_df_type = DF_Type::int32_t; + n_anon_15->m_rdf_type = RDF_Type::int32_t; + n_anon_15->m_node_type = NodeType::Simple; + n_anon_15->m_address = base + offset; + n_anon_15->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_15); + + field_name = "anon_16"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); + auto n_anon_16 = new NodeSimple; + n_anon_16->m_field_name = field_name; + n_anon_16->m_df_type = DF_Type::int32_t; + n_anon_16->m_rdf_type = RDF_Type::int32_t; + n_anon_16->m_node_type = NodeType::Simple; + n_anon_16->m_address = base + offset; + n_anon_16->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_16); + + field_name = "anon_17"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); + auto n_anon_17 = new NodeSimple; + n_anon_17->m_field_name = field_name; + n_anon_17->m_df_type = DF_Type::int32_t; + n_anon_17->m_rdf_type = RDF_Type::int32_t; + n_anon_17->m_node_type = NodeType::Simple; + n_anon_17->m_address = base + offset; + n_anon_17->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_17); + + field_name = "anon_18"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); + auto n_anon_18 = new NodeSimple; + n_anon_18->m_field_name = field_name; + n_anon_18->m_df_type = DF_Type::int32_t; + n_anon_18->m_rdf_type = RDF_Type::int32_t; + n_anon_18->m_node_type = NodeType::Simple; + n_anon_18->m_address = base + offset; + n_anon_18->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_18); + + field_name = "anon_19"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); + auto n_anon_19 = new NodeSimple; + n_anon_19->m_field_name = field_name; + n_anon_19->m_df_type = DF_Type::int32_t; + n_anon_19->m_rdf_type = RDF_Type::int32_t; + n_anon_19->m_node_type = NodeType::Simple; + n_anon_19->m_address = base + offset; + n_anon_19->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_19); + + field_name = "anon_20"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); + auto n_anon_20 = new NodeSimple; + n_anon_20->m_field_name = field_name; + n_anon_20->m_df_type = DF_Type::int32_t; + n_anon_20->m_rdf_type = RDF_Type::int32_t; + n_anon_20->m_node_type = NodeType::Simple; + n_anon_20->m_address = base + offset; + n_anon_20->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_20); + + field_name = "raid_flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); + auto n_raid_flags = new NodeBitfield; + n_raid_flags->m_field_name = field_name; + n_raid_flags->m_df_type = DF_Type::mission__T_details__T_raid__T_raid_flags; + n_raid_flags->m_rdf_type = RDF_Type::Bitfield; + n_raid_flags->m_node_type = NodeType::Bitfield; + n_raid_flags->m_address = base + offset; + n_raid_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_raid_flags); + + field_name = "unk_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); + auto n_unk_3 = new NodeSimple; + n_unk_3->m_field_name = field_name; + n_unk_3->m_df_type = DF_Type::int32_t; + n_unk_3->m_rdf_type = RDF_Type::int32_t; + n_unk_3->m_node_type = NodeType::Simple; + n_unk_3->m_address = base + offset; + n_unk_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_3); + + field_name = "unk_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); + auto n_unk_4 = new NodeSimple; + n_unk_4->m_field_name = field_name; + n_unk_4->m_df_type = DF_Type::int32_t; + n_unk_4->m_rdf_type = RDF_Type::int32_t; + n_unk_4->m_node_type = NodeType::Simple; + n_unk_4->m_address = base + offset; + n_unk_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_4); + + field_name = "anon_21"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); + auto n_anon_21 = new NodeSimple; + n_anon_21->m_field_name = field_name; + n_anon_21->m_df_type = DF_Type::int32_t; + n_anon_21->m_rdf_type = RDF_Type::int32_t; + n_anon_21->m_node_type = NodeType::Simple; + n_anon_21->m_address = base + offset; + n_anon_21->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_21); + + field_name = "anon_22"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); + auto n_anon_22 = new NodeSimple; + n_anon_22->m_field_name = field_name; + n_anon_22->m_df_type = DF_Type::int32_t; + n_anon_22->m_rdf_type = RDF_Type::int32_t; + n_anon_22->m_node_type = NodeType::Simple; + n_anon_22->m_address = base + offset; + n_anon_22->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_22); + + field_name = "anon_23"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); + auto n_anon_23 = new NodeSimple; + n_anon_23->m_field_name = field_name; + n_anon_23->m_df_type = DF_Type::int32_t; + n_anon_23->m_rdf_type = RDF_Type::int32_t; + n_anon_23->m_node_type = NodeType::Simple; + n_anon_23->m_address = base + offset; + n_anon_23->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_23); + + field_name = "anon_24"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); + auto n_anon_24 = new NodeSimple; + n_anon_24->m_field_name = field_name; + n_anon_24->m_df_type = DF_Type::int32_t; + n_anon_24->m_rdf_type = RDF_Type::int32_t; + n_anon_24->m_node_type = NodeType::Simple; + n_anon_24->m_address = base + offset; + n_anon_24->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_24); + + field_name = "anon_25"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); + auto n_anon_25 = new NodeSimple; + n_anon_25->m_field_name = field_name; + n_anon_25->m_df_type = DF_Type::int32_t; + n_anon_25->m_rdf_type = RDF_Type::int32_t; + n_anon_25->m_node_type = NodeType::Simple; + n_anon_25->m_address = base + offset; + n_anon_25->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_25); + + field_name = "anon_26"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); + auto n_anon_26 = new NodeSimple; + n_anon_26->m_field_name = field_name; + n_anon_26->m_df_type = DF_Type::int32_t; + n_anon_26->m_rdf_type = RDF_Type::int32_t; + n_anon_26->m_node_type = NodeType::Simple; + n_anon_26->m_address = base + offset; + n_anon_26->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_26); + + field_name = "anon_27"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_raid, field_name)); + auto n_anon_27 = new NodeSimple; + n_anon_27->m_field_name = field_name; + n_anon_27->m_df_type = DF_Type::int32_t; + n_anon_27->m_rdf_type = RDF_Type::int32_t; + n_anon_27->m_node_type = NodeType::Simple; + n_anon_27->m_address = base + offset; + n_anon_27->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_27); + +} +void node_from_mission__T_details__T_recovery(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "artifact"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_recovery, field_name)); + auto n_artifact = new NodeSimple; + n_artifact->m_field_name = field_name; + n_artifact->m_df_type = DF_Type::int32_t; + n_artifact->m_rdf_type = RDF_Type::int32_t; + n_artifact->m_node_type = NodeType::Simple; + n_artifact->m_address = base + offset; + n_artifact->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_artifact); + + field_name = "unk_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_recovery, field_name)); + auto n_unk_2 = new NodeSimple; + n_unk_2->m_field_name = field_name; + n_unk_2->m_df_type = DF_Type::int32_t; + n_unk_2->m_rdf_type = RDF_Type::int32_t; + n_unk_2->m_node_type = NodeType::Simple; + n_unk_2->m_address = base + offset; + n_unk_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_2); + +} +void node_from_mission__T_details__T_rescue(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "histfig"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_rescue, field_name)); + auto n_histfig = new NodeSimple; + n_histfig->m_field_name = field_name; + n_histfig->m_df_type = DF_Type::int32_t; + n_histfig->m_rdf_type = RDF_Type::int32_t; + n_histfig->m_node_type = NodeType::Simple; + n_histfig->m_address = base + offset; + n_histfig->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig); + + field_name = "unk_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_rescue, field_name)); + auto n_unk_2 = new NodeSimple; + n_unk_2->m_field_name = field_name; + n_unk_2->m_df_type = DF_Type::int32_t; + n_unk_2->m_rdf_type = RDF_Type::int32_t; + n_unk_2->m_node_type = NodeType::Simple; + n_unk_2->m_address = base + offset; + n_unk_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_2); + +} +void node_from_mission__T_details__T_request(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "workers"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_request, field_name)); + auto n_workers = new NodeVector; + n_workers->m_field_name = field_name; + n_workers->m_df_type = DF_Type::int32_t; + n_workers->m_rdf_type = RDF_Type::Vector; + n_workers->m_node_type = NodeType::Vector; + n_workers->m_addornements = "v"; + n_workers->m_address = base + offset; + n_workers->m_parent = p_node_parent; + n_workers->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_workers); + + field_name = "unk_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_request, field_name)); + auto n_unk_1 = new NodeSimple; + n_unk_1->m_field_name = field_name; + n_unk_1->m_df_type = DF_Type::int32_t; + n_unk_1->m_rdf_type = RDF_Type::int32_t; + n_unk_1->m_node_type = NodeType::Simple; + n_unk_1->m_address = base + offset; + n_unk_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_1); + + field_name = "unk_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_request, field_name)); + auto n_unk_2 = new NodeSimple; + n_unk_2->m_field_name = field_name; + n_unk_2->m_df_type = DF_Type::int32_t; + n_unk_2->m_rdf_type = RDF_Type::int32_t; + n_unk_2->m_node_type = NodeType::Simple; + n_unk_2->m_address = base + offset; + n_unk_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_2); + + field_name = "unk_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_request, field_name)); + auto n_unk_3 = new NodeSimple; + n_unk_3->m_field_name = field_name; + n_unk_3->m_df_type = DF_Type::int32_t; + n_unk_3->m_rdf_type = RDF_Type::int32_t; + n_unk_3->m_node_type = NodeType::Simple; + n_unk_3->m_address = base + offset; + n_unk_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_3); + + field_name = "unk_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details__T_request, field_name)); + auto n_unk_4 = new NodeSimple; + n_unk_4->m_field_name = field_name; + n_unk_4->m_df_type = DF_Type::int32_t; + n_unk_4->m_rdf_type = RDF_Type::int32_t; + n_unk_4->m_node_type = NodeType::Simple; + n_unk_4->m_address = base + offset; + n_unk_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_4); + +} +void node_from_mission__T_details(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = true) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "raid"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details, field_name)); + auto n_raid = new NodePointer; + n_raid->m_field_name = field_name; + n_raid->m_df_type = get_real_subtype(base+offset, DF_Type::mission__T_details__T_raid); + n_raid->m_rdf_type = RDF_Type::Pointer; + n_raid->m_node_type = NodeType::Pointer; + n_raid->m_addornements = "*"; + n_raid->m_address = base + offset; + n_raid->m_parent = p_node_parent; + n_raid->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_raid); + + field_name = "recovery"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details, field_name)); + auto n_recovery = new NodePointer; + n_recovery->m_field_name = field_name; + n_recovery->m_df_type = get_real_subtype(base+offset, DF_Type::mission__T_details__T_recovery); + n_recovery->m_rdf_type = RDF_Type::Pointer; + n_recovery->m_node_type = NodeType::Pointer; + n_recovery->m_addornements = "*"; + n_recovery->m_address = base + offset; + n_recovery->m_parent = p_node_parent; + n_recovery->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_recovery); + + field_name = "rescue"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details, field_name)); + auto n_rescue = new NodePointer; + n_rescue->m_field_name = field_name; + n_rescue->m_df_type = get_real_subtype(base+offset, DF_Type::mission__T_details__T_rescue); + n_rescue->m_rdf_type = RDF_Type::Pointer; + n_rescue->m_node_type = NodeType::Pointer; + n_rescue->m_addornements = "*"; + n_rescue->m_address = base + offset; + n_rescue->m_parent = p_node_parent; + n_rescue->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_rescue); + + field_name = "request"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission__T_details, field_name)); + auto n_request = new NodePointer; + n_request->m_field_name = field_name; + n_request->m_df_type = get_real_subtype(base+offset, DF_Type::mission__T_details__T_request); + n_request->m_rdf_type = RDF_Type::Pointer; + n_request->m_node_type = NodeType::Pointer; + n_request->m_addornements = "*"; + n_request->m_address = base + offset; + n_request->m_parent = p_node_parent; + n_request->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_request); + +} +void node_from_mission(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "army_controller"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); + auto n_army_controller = new NodeSimple; + n_army_controller->m_field_name = field_name; + n_army_controller->m_df_type = DF_Type::int32_t; + n_army_controller->m_rdf_type = RDF_Type::int32_t; + n_army_controller->m_node_type = NodeType::Simple; + n_army_controller->m_address = base + offset; + n_army_controller->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_army_controller); + + field_name = "entity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); + auto n_entity = new NodeSimple; + n_entity->m_field_name = field_name; + n_entity->m_df_type = DF_Type::int32_t; + n_entity->m_rdf_type = RDF_Type::int32_t; + n_entity->m_node_type = NodeType::Simple; + n_entity->m_address = base + offset; + n_entity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity); + + field_name = "target_site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); + auto n_target_site = new NodeSimple; + n_target_site->m_field_name = field_name; + n_target_site->m_df_type = DF_Type::int32_t; + n_target_site->m_rdf_type = RDF_Type::int32_t; + n_target_site->m_node_type = NodeType::Simple; + n_target_site->m_address = base + offset; + n_target_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_target_site); + + field_name = "unk_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); + auto n_unk_2 = new NodeSimple; + n_unk_2->m_field_name = field_name; + n_unk_2->m_df_type = DF_Type::int32_t; + n_unk_2->m_rdf_type = RDF_Type::int32_t; + n_unk_2->m_node_type = NodeType::Simple; + n_unk_2->m_address = base + offset; + n_unk_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_2); + + field_name = "target_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); + auto n_target_x = new NodeSimple; + n_target_x->m_field_name = field_name; + n_target_x->m_df_type = DF_Type::int32_t; + n_target_x->m_rdf_type = RDF_Type::int32_t; + n_target_x->m_node_type = NodeType::Simple; + n_target_x->m_address = base + offset; + n_target_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_target_x); + + field_name = "target_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); + auto n_target_y = new NodeSimple; + n_target_y->m_field_name = field_name; + n_target_y->m_df_type = DF_Type::int32_t; + n_target_y->m_rdf_type = RDF_Type::int32_t; + n_target_y->m_node_type = NodeType::Simple; + n_target_y->m_address = base + offset; + n_target_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_target_y); + + field_name = "unk_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); + auto n_unk_3 = new NodeSimple; + n_unk_3->m_field_name = field_name; + n_unk_3->m_df_type = DF_Type::int32_t; + n_unk_3->m_rdf_type = RDF_Type::int32_t; + n_unk_3->m_node_type = NodeType::Simple; + n_unk_3->m_address = base + offset; + n_unk_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_3); + + field_name = "unk_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); + auto n_unk_4 = new NodeSimple; + n_unk_4->m_field_name = field_name; + n_unk_4->m_df_type = DF_Type::int32_t; + n_unk_4->m_rdf_type = RDF_Type::int32_t; + n_unk_4->m_node_type = NodeType::Simple; + n_unk_4->m_address = base + offset; + n_unk_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_4); + + field_name = "unk_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); + auto n_unk_5 = new NodeSimple; + n_unk_5->m_field_name = field_name; + n_unk_5->m_df_type = DF_Type::int32_t; + n_unk_5->m_rdf_type = RDF_Type::int32_t; + n_unk_5->m_node_type = NodeType::Simple; + n_unk_5->m_address = base + offset; + n_unk_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_5); + + field_name = "unk_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); + auto n_unk_6 = new NodeSimple; + n_unk_6->m_field_name = field_name; + n_unk_6->m_df_type = DF_Type::int32_t; + n_unk_6->m_rdf_type = RDF_Type::int32_t; + n_unk_6->m_node_type = NodeType::Simple; + n_unk_6->m_address = base + offset; + n_unk_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_6); + + field_name = "unk_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); + auto n_unk_7 = new NodeSimple; + n_unk_7->m_field_name = field_name; + n_unk_7->m_df_type = DF_Type::int32_t; + n_unk_7->m_rdf_type = RDF_Type::int32_t; + n_unk_7->m_node_type = NodeType::Simple; + n_unk_7->m_address = base + offset; + n_unk_7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_7); + + field_name = "unk_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); + auto n_unk_8 = new NodeSimple; + n_unk_8->m_field_name = field_name; + n_unk_8->m_df_type = DF_Type::int32_t; + n_unk_8->m_rdf_type = RDF_Type::int32_t; + n_unk_8->m_node_type = NodeType::Simple; + n_unk_8->m_address = base + offset; + n_unk_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_8); + + field_name = "unk_9"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); + auto n_unk_9 = new NodeSimple; + n_unk_9->m_field_name = field_name; + n_unk_9->m_df_type = DF_Type::int32_t; + n_unk_9->m_rdf_type = RDF_Type::int32_t; + n_unk_9->m_node_type = NodeType::Simple; + n_unk_9->m_address = base + offset; + n_unk_9->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_9); + + field_name = "unk_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); + auto n_unk_10 = new NodeSimple; + n_unk_10->m_field_name = field_name; + n_unk_10->m_df_type = DF_Type::int32_t; + n_unk_10->m_rdf_type = RDF_Type::int32_t; + n_unk_10->m_node_type = NodeType::Simple; + n_unk_10->m_address = base + offset; + n_unk_10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_10); + + field_name = "year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); + auto n_year = new NodeSimple; + n_year->m_field_name = field_name; + n_year->m_df_type = DF_Type::int32_t; + n_year->m_rdf_type = RDF_Type::int32_t; + n_year->m_node_type = NodeType::Simple; + n_year->m_address = base + offset; + n_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_year); + + field_name = "year_tick"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); + auto n_year_tick = new NodeSimple; + n_year_tick->m_field_name = field_name; + n_year_tick->m_df_type = DF_Type::int32_t; + n_year_tick->m_rdf_type = RDF_Type::int32_t; + n_year_tick->m_node_type = NodeType::Simple; + n_year_tick->m_address = base + offset; + n_year_tick->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_year_tick); + + field_name = "unk_12"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); + auto n_unk_12 = new NodeSimple; + n_unk_12->m_field_name = field_name; + n_unk_12->m_df_type = DF_Type::int32_t; + n_unk_12->m_rdf_type = RDF_Type::int32_t; + n_unk_12->m_node_type = NodeType::Simple; + n_unk_12->m_address = base + offset; + n_unk_12->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_12); + + field_name = "army_controller2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); + auto n_army_controller2 = new NodeSimple; + n_army_controller2->m_field_name = field_name; + n_army_controller2->m_df_type = DF_Type::int32_t; + n_army_controller2->m_rdf_type = RDF_Type::int32_t; + n_army_controller2->m_node_type = NodeType::Simple; + n_army_controller2->m_address = base + offset; + n_army_controller2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_army_controller2); + + field_name = "histfig"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); + auto n_histfig = new NodeSimple; + n_histfig->m_field_name = field_name; + n_histfig->m_df_type = DF_Type::int32_t; + n_histfig->m_rdf_type = RDF_Type::int32_t; + n_histfig->m_node_type = NodeType::Simple; + n_histfig->m_address = base + offset; + n_histfig->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig); + + field_name = "unk_14"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); + auto n_unk_14 = new NodeSimple; + n_unk_14->m_field_name = field_name; + n_unk_14->m_df_type = DF_Type::int32_t; + n_unk_14->m_rdf_type = RDF_Type::int32_t; + n_unk_14->m_node_type = NodeType::Simple; + n_unk_14->m_address = base + offset; + n_unk_14->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_14); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "unk_15"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); + auto n_unk_15 = new NodeSimple; + n_unk_15->m_field_name = field_name; + n_unk_15->m_df_type = DF_Type::int32_t; + n_unk_15->m_rdf_type = RDF_Type::int32_t; + n_unk_15->m_node_type = NodeType::Simple; + n_unk_15->m_address = base + offset; + n_unk_15->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_15); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); + auto n_anon_7 = new NodeSimple; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::int32_t; + n_anon_7->m_rdf_type = RDF_Type::int32_t; + n_anon_7->m_node_type = NodeType::Simple; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_7); + + field_name = "squads"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); + auto n_squads = new NodeVector; + n_squads->m_field_name = field_name; + n_squads->m_df_type = DF_Type::int32_t; + n_squads->m_rdf_type = RDF_Type::Vector; + n_squads->m_node_type = NodeType::Vector; + n_squads->m_addornements = "v"; + n_squads->m_address = base + offset; + n_squads->m_parent = p_node_parent; + n_squads->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_squads); + + field_name = "messengers"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); + auto n_messengers = new NodeVector; + n_messengers->m_field_name = field_name; + n_messengers->m_df_type = DF_Type::int32_t; + n_messengers->m_rdf_type = RDF_Type::Vector; + n_messengers->m_node_type = NodeType::Vector; + n_messengers->m_addornements = "v"; + n_messengers->m_address = base + offset; + n_messengers->m_parent = p_node_parent; + n_messengers->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_messengers); + + field_name = "anon_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); + auto n_anon_8 = new NodeSimple; + n_anon_8->m_field_name = field_name; + n_anon_8->m_df_type = DF_Type::int32_t; + n_anon_8->m_rdf_type = RDF_Type::int32_t; + n_anon_8->m_node_type = NodeType::Simple; + n_anon_8->m_address = base + offset; + n_anon_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_8); + + field_name = "anon_9"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); + auto n_anon_9 = new NodeSimple; + n_anon_9->m_field_name = field_name; + n_anon_9->m_df_type = DF_Type::int32_t; + n_anon_9->m_rdf_type = RDF_Type::int32_t; + n_anon_9->m_node_type = NodeType::Simple; + n_anon_9->m_address = base + offset; + n_anon_9->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_9); + + field_name = "details"; + auto n_details = new NodeUnion; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); + n_details->m_field_name = field_name; + n_details->m_df_type = DF_Type::mission__T_details; + n_details->m_rdf_type = RDF_Type::Union; + n_details->m_node_type = NodeType::Union; + n_details->m_address = base + offset; + n_details->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_details); + + field_name = "type"; + auto n_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::mission__T_type; + n_type->m_rdf_type = RDF_Type::Enum; + n_type->m_node_type = NodeType::Enum; + n_type->m_base_type = DF_Type::int32_t; + n_type->m_enum_type = "mission::T_type"; + n_type->m_address = base + offset; + n_type->m_first_value = 2; + n_type->m_last_value = 19; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + + field_name = "anon_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission, field_name)); + auto n_anon_10 = new NodeSimple; + n_anon_10->m_field_name = field_name; + n_anon_10->m_df_type = DF_Type::int32_t; + n_anon_10->m_rdf_type = RDF_Type::int32_t; + n_anon_10->m_node_type = NodeType::Simple; + n_anon_10->m_address = base + offset; + n_anon_10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_10); + +} +void node_from_viewscreen_civlistst__T_artifact_details(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst__T_artifact_details, field_name)); + auto n_unk_1 = new NodePointer; + n_unk_1->m_field_name = field_name; + n_unk_1->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_unk_1->m_rdf_type = RDF_Type::Pointer; + n_unk_1->m_node_type = NodeType::Pointer; + n_unk_1->m_addornements = "*"; + n_unk_1->m_address = base + offset; + n_unk_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_1); + + field_name = "last_site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst__T_artifact_details, field_name)); + auto n_last_site = new NodeSimple; + n_last_site->m_field_name = field_name; + n_last_site->m_df_type = DF_Type::int32_t; + n_last_site->m_rdf_type = RDF_Type::int32_t; + n_last_site->m_node_type = NodeType::Simple; + n_last_site->m_address = base + offset; + n_last_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_last_site); + + field_name = "unk_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst__T_artifact_details, field_name)); + auto n_unk_3 = new NodeSimple; + n_unk_3->m_field_name = field_name; + n_unk_3->m_df_type = DF_Type::int32_t; + n_unk_3->m_rdf_type = RDF_Type::int32_t; + n_unk_3->m_node_type = NodeType::Simple; + n_unk_3->m_address = base + offset; + n_unk_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_3); + + field_name = "last_holder_hf"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst__T_artifact_details, field_name)); + auto n_last_holder_hf = new NodeSimple; + n_last_holder_hf->m_field_name = field_name; + n_last_holder_hf->m_df_type = DF_Type::int32_t; + n_last_holder_hf->m_rdf_type = RDF_Type::int32_t; + n_last_holder_hf->m_node_type = NodeType::Simple; + n_last_holder_hf->m_address = base + offset; + n_last_holder_hf->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_last_holder_hf); + + field_name = "unk_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst__T_artifact_details, field_name)); + auto n_unk_5 = new NodeSimple; + n_unk_5->m_field_name = field_name; + n_unk_5->m_df_type = DF_Type::int32_t; + n_unk_5->m_rdf_type = RDF_Type::int32_t; + n_unk_5->m_node_type = NodeType::Simple; + n_unk_5->m_address = base + offset; + n_unk_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_5); + + field_name = "unk_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst__T_artifact_details, field_name)); + auto n_unk_6 = new NodeSimple; + n_unk_6->m_field_name = field_name; + n_unk_6->m_df_type = DF_Type::int32_t; + n_unk_6->m_rdf_type = RDF_Type::int32_t; + n_unk_6->m_node_type = NodeType::Simple; + n_unk_6->m_address = base + offset; + n_unk_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_6); + + field_name = "unk_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst__T_artifact_details, field_name)); + auto n_unk_7 = new NodeSimple; + n_unk_7->m_field_name = field_name; + n_unk_7->m_df_type = DF_Type::int32_t; + n_unk_7->m_rdf_type = RDF_Type::int32_t; + n_unk_7->m_node_type = NodeType::Simple; + n_unk_7->m_address = base + offset; + n_unk_7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_7); + + field_name = "unk_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst__T_artifact_details, field_name)); + auto n_unk_8 = new NodeSimple; + n_unk_8->m_field_name = field_name; + n_unk_8->m_df_type = DF_Type::int32_t; + n_unk_8->m_rdf_type = RDF_Type::int32_t; + n_unk_8->m_node_type = NodeType::Simple; + n_unk_8->m_address = base + offset; + n_unk_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_8); + + field_name = "unk_9"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst__T_artifact_details, field_name)); + auto n_unk_9 = new NodeSimple; + n_unk_9->m_field_name = field_name; + n_unk_9->m_df_type = DF_Type::int32_t; + n_unk_9->m_rdf_type = RDF_Type::int32_t; + n_unk_9->m_node_type = NodeType::Simple; + n_unk_9->m_address = base + offset; + n_unk_9->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_9); + + field_name = "unk_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst__T_artifact_details, field_name)); + auto n_unk_10 = new NodePointer; + n_unk_10->m_field_name = field_name; + n_unk_10->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_unk_10->m_rdf_type = RDF_Type::Pointer; + n_unk_10->m_node_type = NodeType::Pointer; + n_unk_10->m_addornements = "*"; + n_unk_10->m_address = base + offset; + n_unk_10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_10); + +} +void node_from_viewscreen_civlistst__T_rumors(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "artifact_or_entity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst__T_rumors, field_name)); + auto n_artifact_or_entity = new NodeSimple; + n_artifact_or_entity->m_field_name = field_name; + n_artifact_or_entity->m_df_type = DF_Type::int32_t; + n_artifact_or_entity->m_rdf_type = RDF_Type::int32_t; + n_artifact_or_entity->m_node_type = NodeType::Simple; + n_artifact_or_entity->m_address = base + offset; + n_artifact_or_entity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_artifact_or_entity); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst__T_rumors, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "histfig_or_entity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst__T_rumors, field_name)); + auto n_histfig_or_entity = new NodeSimple; + n_histfig_or_entity->m_field_name = field_name; + n_histfig_or_entity->m_df_type = DF_Type::int32_t; + n_histfig_or_entity->m_rdf_type = RDF_Type::int32_t; + n_histfig_or_entity->m_node_type = NodeType::Simple; + n_histfig_or_entity->m_address = base + offset; + n_histfig_or_entity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig_or_entity); + + field_name = "histfig2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst__T_rumors, field_name)); + auto n_histfig2 = new NodeSimple; + n_histfig2->m_field_name = field_name; + n_histfig2->m_df_type = DF_Type::int32_t; + n_histfig2->m_rdf_type = RDF_Type::int32_t; + n_histfig2->m_node_type = NodeType::Simple; + n_histfig2->m_address = base + offset; + n_histfig2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig2); + + field_name = "year1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst__T_rumors, field_name)); + auto n_year1 = new NodeSimple; + n_year1->m_field_name = field_name; + n_year1->m_df_type = DF_Type::int32_t; + n_year1->m_rdf_type = RDF_Type::int32_t; + n_year1->m_node_type = NodeType::Simple; + n_year1->m_address = base + offset; + n_year1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_year1); + + field_name = "year_tick1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst__T_rumors, field_name)); + auto n_year_tick1 = new NodeSimple; + n_year_tick1->m_field_name = field_name; + n_year_tick1->m_df_type = DF_Type::int32_t; + n_year_tick1->m_rdf_type = RDF_Type::int32_t; + n_year_tick1->m_node_type = NodeType::Simple; + n_year_tick1->m_address = base + offset; + n_year_tick1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_year_tick1); + + field_name = "year2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst__T_rumors, field_name)); + auto n_year2 = new NodeSimple; + n_year2->m_field_name = field_name; + n_year2->m_df_type = DF_Type::int32_t; + n_year2->m_rdf_type = RDF_Type::int32_t; + n_year2->m_node_type = NodeType::Simple; + n_year2->m_address = base + offset; + n_year2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_year2); + + field_name = "year_tick2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst__T_rumors, field_name)); + auto n_year_tick2 = new NodeSimple; + n_year_tick2->m_field_name = field_name; + n_year_tick2->m_df_type = DF_Type::int32_t; + n_year_tick2->m_rdf_type = RDF_Type::int32_t; + n_year_tick2->m_node_type = NodeType::Simple; + n_year_tick2->m_address = base + offset; + n_year_tick2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_year_tick2); + + field_name = "unk_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst__T_rumors, field_name)); + auto n_unk_3 = new NodeSimple; + n_unk_3->m_field_name = field_name; + n_unk_3->m_df_type = DF_Type::int32_t; + n_unk_3->m_rdf_type = RDF_Type::int32_t; + n_unk_3->m_node_type = NodeType::Simple; + n_unk_3->m_address = base + offset; + n_unk_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_3); + + field_name = "type"; + auto n_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst__T_rumors, field_name)); + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::viewscreen_civlistst__T_rumors__T_type; + n_type->m_rdf_type = RDF_Type::Enum; + n_type->m_node_type = NodeType::Enum; + n_type->m_base_type = DF_Type::int32_t; + n_type->m_enum_type = "viewscreen_civlistst::T_rumors::T_type"; + n_type->m_address = base + offset; + n_type->m_first_value = 0; + n_type->m_last_value = 28; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + +} +void node_from_viewscreen_civlistst__T_unk_cache__T_tmp1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "values"; + auto n_values = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst__T_unk_cache__T_tmp1, field_name)); + n_values->m_field_name = field_name; + n_values->m_df_type = DF_Type::int32_t; + n_values->m_rdf_type = RDF_Type::Array; + n_values->m_node_type = NodeType::Array; + n_values->m_addornements = "[50"; + n_values->m_array_size = 50; + n_values->m_address = base + offset; + n_values->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_values); + + field_name = "count"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst__T_unk_cache__T_tmp1, field_name)); + auto n_count = new NodeSimple; + n_count->m_field_name = field_name; + n_count->m_df_type = DF_Type::int32_t; + n_count->m_rdf_type = RDF_Type::int32_t; + n_count->m_node_type = NodeType::Simple; + n_count->m_address = base + offset; + n_count->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_count); + +} +void node_from_viewscreen_civlistst__T_unk_cache__T_tmp2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + auto n_anon_1 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst__T_unk_cache__T_tmp2, field_name)); + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int64_t; + n_anon_1->m_rdf_type = RDF_Type::Array; + n_anon_1->m_node_type = NodeType::Array; + n_anon_1->m_addornements = "[4001"; + n_anon_1->m_array_size = 4001; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_viewscreen_civlistst__T_unk_cache(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "tmp1"; + auto n_tmp1 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst__T_unk_cache, field_name)); + n_tmp1->m_field_name = field_name; + n_tmp1->m_df_type = DF_Type::viewscreen_civlistst__T_unk_cache__T_tmp1; + n_tmp1->m_rdf_type = RDF_Type::Compound; + n_tmp1->m_node_type = NodeType::Compound; + n_tmp1->m_address = base + offset; + n_tmp1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tmp1); + + field_name = "tmp2"; + auto n_tmp2 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst__T_unk_cache, field_name)); + n_tmp2->m_field_name = field_name; + n_tmp2->m_df_type = DF_Type::viewscreen_civlistst__T_unk_cache__T_tmp2; + n_tmp2->m_rdf_type = RDF_Type::Compound; + n_tmp2->m_node_type = NodeType::Compound; + n_tmp2->m_address = base + offset; + n_tmp2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tmp2); + +} +void node_from_viewscreen_civlistst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "page"; + auto n_page = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); + n_page->m_field_name = field_name; + n_page->m_df_type = DF_Type::viewscreen_civlistst__T_page; + n_page->m_rdf_type = RDF_Type::Enum; + n_page->m_node_type = NodeType::Enum; + n_page->m_base_type = DF_Type::int32_t; + n_page->m_enum_type = "viewscreen_civlistst::T_page"; + n_page->m_address = base + offset; + n_page->m_first_value = 0; + n_page->m_last_value = 8; + n_page->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_page); + + field_name = "sel_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); + auto n_sel_idx = new NodeSimple; + n_sel_idx->m_field_name = field_name; + n_sel_idx->m_df_type = DF_Type::int32_t; + n_sel_idx->m_rdf_type = RDF_Type::int32_t; + n_sel_idx->m_node_type = NodeType::Simple; + n_sel_idx->m_address = base + offset; + n_sel_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sel_idx); + + field_name = "entities"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); + auto n_entities = new NodeVector; + n_entities->m_field_name = field_name; + n_entities->m_df_type = DF_Type::historical_entity; + n_entities->m_rdf_type = RDF_Type::Vector; + n_entities->m_node_type = NodeType::Vector; + n_entities->m_defined_in = "df.entities.xml"; + n_entities->m_addornements = "v*"; + n_entities->m_address = base + offset; + n_entities->m_parent = p_node_parent; + n_entities->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_entities); + + field_name = "map_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); + auto n_map_x = new NodeSimple; + n_map_x->m_field_name = field_name; + n_map_x->m_df_type = DF_Type::int32_t; + n_map_x->m_rdf_type = RDF_Type::int32_t; + n_map_x->m_node_type = NodeType::Simple; + n_map_x->m_address = base + offset; + n_map_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_map_x); + + field_name = "map_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); + auto n_map_y = new NodeSimple; + n_map_y->m_field_name = field_name; + n_map_y->m_df_type = DF_Type::int32_t; + n_map_y->m_rdf_type = RDF_Type::int32_t; + n_map_y->m_node_type = NodeType::Simple; + n_map_y->m_address = base + offset; + n_map_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_map_y); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); + auto n_site = new NodePointer; + n_site->m_field_name = field_name; + n_site->m_df_type = get_real_subtype(base+offset, DF_Type::world_site); + n_site->m_rdf_type = RDF_Type::Pointer; + n_site->m_node_type = NodeType::Pointer; + n_site->m_addornements = "*"; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + n_site->m_defined_in = "df.world-site.xml"; + n_site->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_site); + + field_name = "site_artifacts"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); + auto n_site_artifacts = new NodeVector; + n_site_artifacts->m_field_name = field_name; + n_site_artifacts->m_df_type = DF_Type::artifact_record; + n_site_artifacts->m_rdf_type = RDF_Type::Vector; + n_site_artifacts->m_node_type = NodeType::Vector; + n_site_artifacts->m_defined_in = "df.legends.xml"; + n_site_artifacts->m_addornements = "v*"; + n_site_artifacts->m_address = base + offset; + n_site_artifacts->m_parent = p_node_parent; + n_site_artifacts->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_site_artifacts); + + field_name = "site_prisoners"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); + auto n_site_prisoners = new NodeVector; + n_site_prisoners->m_field_name = field_name; + n_site_prisoners->m_df_type = DF_Type::unit; + n_site_prisoners->m_rdf_type = RDF_Type::Vector; + n_site_prisoners->m_node_type = NodeType::Vector; + n_site_prisoners->m_defined_in = "df.units.xml"; + n_site_prisoners->m_addornements = "v*"; + n_site_prisoners->m_address = base + offset; + n_site_prisoners->m_parent = p_node_parent; + n_site_prisoners->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_site_prisoners); + + field_name = "site_is_linked"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); + auto n_site_is_linked = new NodeSimple; + n_site_is_linked->m_field_name = field_name; + n_site_is_linked->m_df_type = DF_Type::int8_t; + n_site_is_linked->m_rdf_type = RDF_Type::int8_t; + n_site_is_linked->m_node_type = NodeType::Simple; + n_site_is_linked->m_address = base + offset; + n_site_is_linked->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_is_linked); + + field_name = "unk_site_nemesis"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); + auto n_unk_site_nemesis = new NodeVector; + n_unk_site_nemesis->m_field_name = field_name; + n_unk_site_nemesis->m_df_type = DF_Type::nemesis_record; + n_unk_site_nemesis->m_rdf_type = RDF_Type::Vector; + n_unk_site_nemesis->m_node_type = NodeType::Vector; + n_unk_site_nemesis->m_defined_in = "df.legends.xml"; + n_unk_site_nemesis->m_addornements = "v*"; + n_unk_site_nemesis->m_address = base + offset; + n_unk_site_nemesis->m_parent = p_node_parent; + n_unk_site_nemesis->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_site_nemesis); + + field_name = "missions"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); + auto n_missions = new NodeVector; + n_missions->m_field_name = field_name; + n_missions->m_df_type = DF_Type::mission; + n_missions->m_rdf_type = RDF_Type::Vector; + n_missions->m_node_type = NodeType::Vector; + n_missions->m_defined_in = "df.viewscreen.xml"; + n_missions->m_addornements = "v*"; + n_missions->m_address = base + offset; + n_missions->m_parent = p_node_parent; + n_missions->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_missions); + + field_name = "mission_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); + auto n_mission_idx = new NodeSimple; + n_mission_idx->m_field_name = field_name; + n_mission_idx->m_df_type = DF_Type::int32_t; + n_mission_idx->m_rdf_type = RDF_Type::int32_t; + n_mission_idx->m_node_type = NodeType::Simple; + n_mission_idx->m_address = base + offset; + n_mission_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mission_idx); + + field_name = "squads"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); + auto n_squads = new NodeVector; + n_squads->m_field_name = field_name; + n_squads->m_df_type = DF_Type::squad; + n_squads->m_rdf_type = RDF_Type::Vector; + n_squads->m_node_type = NodeType::Vector; + n_squads->m_defined_in = "df.military.xml"; + n_squads->m_addornements = "v*"; + n_squads->m_address = base + offset; + n_squads->m_parent = p_node_parent; + n_squads->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_squads); + + field_name = "squads_travelling"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); + auto n_squads_travelling = new NodeVector; + n_squads_travelling->m_field_name = field_name; + n_squads_travelling->m_df_type = DF_Type::int32_t; + n_squads_travelling->m_rdf_type = RDF_Type::Vector; + n_squads_travelling->m_node_type = NodeType::Vector; + n_squads_travelling->m_addornements = "v"; + n_squads_travelling->m_address = base + offset; + n_squads_travelling->m_parent = p_node_parent; + n_squads_travelling->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_squads_travelling); + + field_name = "squad_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); + auto n_squad_idx = new NodeSimple; + n_squad_idx->m_field_name = field_name; + n_squad_idx->m_df_type = DF_Type::int32_t; + n_squad_idx->m_rdf_type = RDF_Type::int32_t; + n_squad_idx->m_node_type = NodeType::Simple; + n_squad_idx->m_address = base + offset; + n_squad_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_squad_idx); + + field_name = "messengers"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); + auto n_messengers = new NodeVector; + n_messengers->m_field_name = field_name; + n_messengers->m_df_type = DF_Type::occupation; + n_messengers->m_rdf_type = RDF_Type::Vector; + n_messengers->m_node_type = NodeType::Vector; + n_messengers->m_defined_in = "df.art.xml"; + n_messengers->m_addornements = "v*"; + n_messengers->m_address = base + offset; + n_messengers->m_parent = p_node_parent; + n_messengers->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_messengers); + + field_name = "messengers_travelling"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); + auto n_messengers_travelling = new NodeVector; + n_messengers_travelling->m_field_name = field_name; + n_messengers_travelling->m_df_type = DF_Type::int32_t; + n_messengers_travelling->m_rdf_type = RDF_Type::Vector; + n_messengers_travelling->m_node_type = NodeType::Vector; + n_messengers_travelling->m_addornements = "v"; + n_messengers_travelling->m_address = base + offset; + n_messengers_travelling->m_parent = p_node_parent; + n_messengers_travelling->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_messengers_travelling); + + field_name = "messenger_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); + auto n_messenger_idx = new NodeSimple; + n_messenger_idx->m_field_name = field_name; + n_messenger_idx->m_df_type = DF_Type::int32_t; + n_messenger_idx->m_rdf_type = RDF_Type::int32_t; + n_messenger_idx->m_node_type = NodeType::Simple; + n_messenger_idx->m_address = base + offset; + n_messenger_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_messenger_idx); + + field_name = "workers"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); + auto n_workers = new NodeVector; + n_workers->m_field_name = field_name; + n_workers->m_df_type = DF_Type::nemesis_record; + n_workers->m_rdf_type = RDF_Type::Vector; + n_workers->m_node_type = NodeType::Vector; + n_workers->m_defined_in = "df.legends.xml"; + n_workers->m_addornements = "v*"; + n_workers->m_address = base + offset; + n_workers->m_parent = p_node_parent; + n_workers->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_workers); + + field_name = "worker_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); + auto n_worker_idx = new NodeSimple; + n_worker_idx->m_field_name = field_name; + n_worker_idx->m_df_type = DF_Type::int32_t; + n_worker_idx->m_rdf_type = RDF_Type::int32_t; + n_worker_idx->m_node_type = NodeType::Simple; + n_worker_idx->m_address = base + offset; + n_worker_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_worker_idx); + + field_name = "people"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); + auto n_people = new NodeVector; + n_people->m_field_name = field_name; + n_people->m_df_type = DF_Type::historical_figure; + n_people->m_rdf_type = RDF_Type::Vector; + n_people->m_node_type = NodeType::Vector; + n_people->m_defined_in = "df.history.xml"; + n_people->m_addornements = "v*"; + n_people->m_address = base + offset; + n_people->m_parent = p_node_parent; + n_people->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_people); + + field_name = "person_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); + auto n_person_idx = new NodeSimple; + n_person_idx->m_field_name = field_name; + n_person_idx->m_df_type = DF_Type::int32_t; + n_person_idx->m_rdf_type = RDF_Type::int32_t; + n_person_idx->m_node_type = NodeType::Simple; + n_person_idx->m_address = base + offset; + n_person_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_person_idx); + + field_name = "person_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); + auto n_person_x = new NodeSimple; + n_person_x->m_field_name = field_name; + n_person_x->m_df_type = DF_Type::int32_t; + n_person_x->m_rdf_type = RDF_Type::int32_t; + n_person_x->m_node_type = NodeType::Simple; + n_person_x->m_address = base + offset; + n_person_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_person_x); + + field_name = "person_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); + auto n_person_y = new NodeSimple; + n_person_y->m_field_name = field_name; + n_person_y->m_df_type = DF_Type::int32_t; + n_person_y->m_rdf_type = RDF_Type::int32_t; + n_person_y->m_node_type = NodeType::Simple; + n_person_y->m_address = base + offset; + n_person_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_person_y); + + field_name = "artifact_records"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); + auto n_artifact_records = new NodeVector; + n_artifact_records->m_field_name = field_name; + n_artifact_records->m_df_type = DF_Type::artifact_record; + n_artifact_records->m_rdf_type = RDF_Type::Vector; + n_artifact_records->m_node_type = NodeType::Vector; + n_artifact_records->m_defined_in = "df.legends.xml"; + n_artifact_records->m_addornements = "v*"; + n_artifact_records->m_address = base + offset; + n_artifact_records->m_parent = p_node_parent; + n_artifact_records->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_artifact_records); + + field_name = "artifact_details"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); + auto n_artifact_details = new NodeVector; + n_artifact_details->m_field_name = field_name; + n_artifact_details->m_df_type = DF_Type::viewscreen_civlistst__T_artifact_details; + n_artifact_details->m_rdf_type = RDF_Type::Vector; + n_artifact_details->m_node_type = NodeType::Vector; + n_artifact_details->m_addornements = "v*"; + n_artifact_details->m_address = base + offset; + n_artifact_details->m_parent = p_node_parent; + n_artifact_details->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_artifact_details); + + field_name = "artifact_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); + auto n_artifact_idx = new NodeSimple; + n_artifact_idx->m_field_name = field_name; + n_artifact_idx->m_df_type = DF_Type::int32_t; + n_artifact_idx->m_rdf_type = RDF_Type::int32_t; + n_artifact_idx->m_node_type = NodeType::Simple; + n_artifact_idx->m_address = base + offset; + n_artifact_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_artifact_idx); + + field_name = "artifact_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); + auto n_artifact_x = new NodeSimple; + n_artifact_x->m_field_name = field_name; + n_artifact_x->m_df_type = DF_Type::int32_t; + n_artifact_x->m_rdf_type = RDF_Type::int32_t; + n_artifact_x->m_node_type = NodeType::Simple; + n_artifact_x->m_address = base + offset; + n_artifact_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_artifact_x); + + field_name = "artifact_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); + auto n_artifact_y = new NodeSimple; + n_artifact_y->m_field_name = field_name; + n_artifact_y->m_df_type = DF_Type::int32_t; + n_artifact_y->m_rdf_type = RDF_Type::int32_t; + n_artifact_y->m_node_type = NodeType::Simple; + n_artifact_y->m_address = base + offset; + n_artifact_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_artifact_y); + + field_name = "artifact_desc"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); + auto n_artifact_desc = new NodeVector; + n_artifact_desc->m_field_name = field_name; + n_artifact_desc->m_df_type = DF_Type::Stl_string; + n_artifact_desc->m_rdf_type = RDF_Type::Vector; + n_artifact_desc->m_node_type = NodeType::Vector; + n_artifact_desc->m_addornements = "v*"; + n_artifact_desc->m_address = base + offset; + n_artifact_desc->m_parent = p_node_parent; + n_artifact_desc->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_artifact_desc); + + field_name = "artifact_claimed_by_unk1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); + auto n_artifact_claimed_by_unk1 = new NodePointer; + n_artifact_claimed_by_unk1->m_field_name = field_name; + n_artifact_claimed_by_unk1->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_artifact_claimed_by_unk1->m_rdf_type = RDF_Type::Pointer; + n_artifact_claimed_by_unk1->m_node_type = NodeType::Pointer; + n_artifact_claimed_by_unk1->m_addornements = "*"; + n_artifact_claimed_by_unk1->m_address = base + offset; + n_artifact_claimed_by_unk1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_artifact_claimed_by_unk1); + + field_name = "artifact_claimed_by_unk2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); + auto n_artifact_claimed_by_unk2 = new NodePointer; + n_artifact_claimed_by_unk2->m_field_name = field_name; + n_artifact_claimed_by_unk2->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_artifact_claimed_by_unk2->m_rdf_type = RDF_Type::Pointer; + n_artifact_claimed_by_unk2->m_node_type = NodeType::Pointer; + n_artifact_claimed_by_unk2->m_addornements = "*"; + n_artifact_claimed_by_unk2->m_address = base + offset; + n_artifact_claimed_by_unk2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_artifact_claimed_by_unk2); + + field_name = "artifact_claimed_by_hf"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); + auto n_artifact_claimed_by_hf = new NodePointer; + n_artifact_claimed_by_hf->m_field_name = field_name; + n_artifact_claimed_by_hf->m_df_type = get_real_subtype(base+offset, DF_Type::historical_figure); + n_artifact_claimed_by_hf->m_rdf_type = RDF_Type::Pointer; + n_artifact_claimed_by_hf->m_node_type = NodeType::Pointer; + n_artifact_claimed_by_hf->m_addornements = "*"; + n_artifact_claimed_by_hf->m_address = base + offset; + n_artifact_claimed_by_hf->m_parent = p_node_parent; + n_artifact_claimed_by_hf->m_defined_in = "df.history.xml"; + n_artifact_claimed_by_hf->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_artifact_claimed_by_hf); + + field_name = "histfig"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); + auto n_histfig = new NodePointer; + n_histfig->m_field_name = field_name; + n_histfig->m_df_type = get_real_subtype(base+offset, DF_Type::historical_figure); + n_histfig->m_rdf_type = RDF_Type::Pointer; + n_histfig->m_node_type = NodeType::Pointer; + n_histfig->m_addornements = "*"; + n_histfig->m_address = base + offset; + n_histfig->m_parent = p_node_parent; + n_histfig->m_defined_in = "df.history.xml"; + n_histfig->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_histfig); + + field_name = "histfig2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); + auto n_histfig2 = new NodePointer; + n_histfig2->m_field_name = field_name; + n_histfig2->m_df_type = get_real_subtype(base+offset, DF_Type::historical_figure); + n_histfig2->m_rdf_type = RDF_Type::Pointer; + n_histfig2->m_node_type = NodeType::Pointer; + n_histfig2->m_addornements = "*"; + n_histfig2->m_address = base + offset; + n_histfig2->m_parent = p_node_parent; + n_histfig2->m_defined_in = "df.history.xml"; + n_histfig2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_histfig2); + + field_name = "rumors"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); + auto n_rumors = new NodeVector; + n_rumors->m_field_name = field_name; + n_rumors->m_df_type = DF_Type::viewscreen_civlistst__T_rumors; + n_rumors->m_rdf_type = RDF_Type::Vector; + n_rumors->m_node_type = NodeType::Vector; + n_rumors->m_addornements = "v*"; + n_rumors->m_address = base + offset; + n_rumors->m_parent = p_node_parent; + n_rumors->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_rumors); + + field_name = "unk_24"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); + auto n_unk_24 = new NodeVector; + n_unk_24->m_field_name = field_name; + n_unk_24->m_df_type = DF_Type::Void; + n_unk_24->m_rdf_type = RDF_Type::Vector; + n_unk_24->m_node_type = NodeType::Vector; + n_unk_24->m_addornements = "v"; + n_unk_24->m_address = base + offset; + n_unk_24->m_parent = p_node_parent; + n_unk_24->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_24); + + field_name = "unk_25"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); + auto n_unk_25 = new NodeSimple; + n_unk_25->m_field_name = field_name; + n_unk_25->m_df_type = DF_Type::int32_t; + n_unk_25->m_rdf_type = RDF_Type::int32_t; + n_unk_25->m_node_type = NodeType::Simple; + n_unk_25->m_address = base + offset; + n_unk_25->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_25); + + field_name = "news_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); + auto n_news_x = new NodeSimple; + n_news_x->m_field_name = field_name; + n_news_x->m_df_type = DF_Type::int32_t; + n_news_x->m_rdf_type = RDF_Type::int32_t; + n_news_x->m_node_type = NodeType::Simple; + n_news_x->m_address = base + offset; + n_news_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_news_x); + + field_name = "news_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); + auto n_news_y = new NodeSimple; + n_news_y->m_field_name = field_name; + n_news_y->m_df_type = DF_Type::int32_t; + n_news_y->m_rdf_type = RDF_Type::int32_t; + n_news_y->m_node_type = NodeType::Simple; + n_news_y->m_address = base + offset; + n_news_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_news_y); + + field_name = "unk_28"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); + auto n_unk_28 = new NodePointer; + n_unk_28->m_field_name = field_name; + n_unk_28->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_unk_28->m_rdf_type = RDF_Type::Pointer; + n_unk_28->m_node_type = NodeType::Pointer; + n_unk_28->m_addornements = "*"; + n_unk_28->m_address = base + offset; + n_unk_28->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_28); + + field_name = "unk_29"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); + auto n_unk_29 = new NodeSimple; + n_unk_29->m_field_name = field_name; + n_unk_29->m_df_type = DF_Type::int32_t; + n_unk_29->m_rdf_type = RDF_Type::int32_t; + n_unk_29->m_node_type = NodeType::Simple; + n_unk_29->m_address = base + offset; + n_unk_29->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_29); + + field_name = "unk_2a"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); + auto n_unk_2a = new NodeSimple; + n_unk_2a->m_field_name = field_name; + n_unk_2a->m_df_type = DF_Type::int32_t; + n_unk_2a->m_rdf_type = RDF_Type::int32_t; + n_unk_2a->m_node_type = NodeType::Simple; + n_unk_2a->m_address = base + offset; + n_unk_2a->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_2a); + + field_name = "unk_2b"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); + auto n_unk_2b = new NodePointer; + n_unk_2b->m_field_name = field_name; + n_unk_2b->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_unk_2b->m_rdf_type = RDF_Type::Pointer; + n_unk_2b->m_node_type = NodeType::Pointer; + n_unk_2b->m_addornements = "*"; + n_unk_2b->m_address = base + offset; + n_unk_2b->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_2b); + + field_name = "unk_2c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); + auto n_unk_2c = new NodePointer; + n_unk_2c->m_field_name = field_name; + n_unk_2c->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_unk_2c->m_rdf_type = RDF_Type::Pointer; + n_unk_2c->m_node_type = NodeType::Pointer; + n_unk_2c->m_addornements = "*"; + n_unk_2c->m_address = base + offset; + n_unk_2c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_2c); + + field_name = "unk_2d"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); + auto n_unk_2d = new NodeSimple; + n_unk_2d->m_field_name = field_name; + n_unk_2d->m_df_type = DF_Type::int32_t; + n_unk_2d->m_rdf_type = RDF_Type::int32_t; + n_unk_2d->m_node_type = NodeType::Simple; + n_unk_2d->m_address = base + offset; + n_unk_2d->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_2d); + + field_name = "unk_2e"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); + auto n_unk_2e = new NodeSimple; + n_unk_2e->m_field_name = field_name; + n_unk_2e->m_df_type = DF_Type::int32_t; + n_unk_2e->m_rdf_type = RDF_Type::int32_t; + n_unk_2e->m_node_type = NodeType::Simple; + n_unk_2e->m_address = base + offset; + n_unk_2e->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_2e); + + field_name = "unk_cache_ptr"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); + auto n_unk_cache_ptr = new NodePointer; + n_unk_cache_ptr->m_field_name = field_name; + n_unk_cache_ptr->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_unk_cache_ptr->m_rdf_type = RDF_Type::Pointer; + n_unk_cache_ptr->m_node_type = NodeType::Pointer; + n_unk_cache_ptr->m_addornements = "*"; + n_unk_cache_ptr->m_address = base + offset; + n_unk_cache_ptr->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_cache_ptr); + + field_name = "unk_cache"; + auto n_unk_cache = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); + n_unk_cache->m_field_name = field_name; + n_unk_cache->m_df_type = DF_Type::viewscreen_civlistst__T_unk_cache; + n_unk_cache->m_rdf_type = RDF_Type::Compound; + n_unk_cache->m_node_type = NodeType::Compound; + n_unk_cache->m_address = base + offset; + n_unk_cache->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_cache); + + field_name = "news_text"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); + auto n_news_text = new NodeVector; + n_news_text->m_field_name = field_name; + n_news_text->m_df_type = DF_Type::Stl_string; + n_news_text->m_rdf_type = RDF_Type::Vector; + n_news_text->m_node_type = NodeType::Vector; + n_news_text->m_addornements = "v*"; + n_news_text->m_address = base + offset; + n_news_text->m_parent = p_node_parent; + n_news_text->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_news_text); + + field_name = "show_holdings"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); + auto n_show_holdings = new NodeSimple; + n_show_holdings->m_field_name = field_name; + n_show_holdings->m_df_type = DF_Type::Bool; + n_show_holdings->m_rdf_type = RDF_Type::Bool; + n_show_holdings->m_node_type = NodeType::Simple; + n_show_holdings->m_address = base + offset; + n_show_holdings->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_show_holdings); + + field_name = "show_legend"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_civlistst, field_name)); + auto n_show_legend = new NodeSimple; + n_show_legend->m_field_name = field_name; + n_show_legend->m_df_type = DF_Type::Bool; + n_show_legend->m_rdf_type = RDF_Type::Bool; + n_show_legend->m_node_type = NodeType::Simple; + n_show_legend->m_address = base + offset; + n_show_legend->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_show_legend); + +} +void node_from_viewscreen_createquotast(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "building_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_createquotast, field_name)); + auto n_building_id = new NodeSimple; + n_building_id->m_field_name = field_name; + n_building_id->m_df_type = DF_Type::int32_t; + n_building_id->m_rdf_type = RDF_Type::int32_t; + n_building_id->m_node_type = NodeType::Simple; + n_building_id->m_address = base + offset; + n_building_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_building_id); + + field_name = "str_filter"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_createquotast, field_name)); + auto n_str_filter= new NodePadding; + n_str_filter->m_field_name = field_name; + n_str_filter->m_df_type = DF_Type::Static_string; + n_str_filter->m_rdf_type = RDF_Type::Static_string; + n_str_filter->m_node_type = NodeType::StaticString; + n_str_filter->m_address = base + offset; + n_str_filter->m_size = 256; + n_str_filter->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_str_filter); + + field_name = "sel_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_createquotast, field_name)); + auto n_sel_idx = new NodeSimple; + n_sel_idx->m_field_name = field_name; + n_sel_idx->m_df_type = DF_Type::int32_t; + n_sel_idx->m_rdf_type = RDF_Type::int32_t; + n_sel_idx->m_node_type = NodeType::Simple; + n_sel_idx->m_address = base + offset; + n_sel_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sel_idx); + + field_name = "orders"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_createquotast, field_name)); + auto n_orders = new NodeVector; + n_orders->m_field_name = field_name; + n_orders->m_df_type = DF_Type::manager_order_template; + n_orders->m_rdf_type = RDF_Type::Vector; + n_orders->m_node_type = NodeType::Vector; + n_orders->m_defined_in = "df.jobs.xml"; + n_orders->m_addornements = "v*"; + n_orders->m_address = base + offset; + n_orders->m_comment = "filtered orders"; + n_orders->m_parent = p_node_parent; + n_orders->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_orders); + + field_name = "all_orders"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_createquotast, field_name)); + auto n_all_orders = new NodeVector; + n_all_orders->m_field_name = field_name; + n_all_orders->m_df_type = DF_Type::manager_order_template; + n_all_orders->m_rdf_type = RDF_Type::Vector; + n_all_orders->m_node_type = NodeType::Vector; + n_all_orders->m_defined_in = "df.jobs.xml"; + n_all_orders->m_addornements = "v*"; + n_all_orders->m_address = base + offset; + n_all_orders->m_parent = p_node_parent; + n_all_orders->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_all_orders); + + field_name = "want_quantity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_createquotast, field_name)); + auto n_want_quantity = new NodeSimple; + n_want_quantity->m_field_name = field_name; + n_want_quantity->m_df_type = DF_Type::Bool; + n_want_quantity->m_rdf_type = RDF_Type::Bool; + n_want_quantity->m_node_type = NodeType::Simple; + n_want_quantity->m_address = base + offset; + n_want_quantity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_want_quantity); + + field_name = "str_quantity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_createquotast, field_name)); + auto n_str_quantity = new NodeSimple; + n_str_quantity->m_field_name = field_name; + n_str_quantity->m_df_type = DF_Type::Stl_string; + n_str_quantity->m_rdf_type = RDF_Type::Stl_string; + n_str_quantity->m_node_type = NodeType::Simple; + n_str_quantity->m_address = base + offset; + n_str_quantity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_str_quantity); + + field_name = "workshop_profile_orders"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_createquotast, field_name)); + auto n_workshop_profile_orders = new NodePointer; + n_workshop_profile_orders->m_field_name = field_name; + n_workshop_profile_orders->m_df_type = get_real_subtype(base+offset, DF_Type::manager_order); + n_workshop_profile_orders->m_rdf_type = RDF_Type::Pointer; + n_workshop_profile_orders->m_node_type = NodeType::Pointer; + n_workshop_profile_orders->m_addornements = "*v*"; + n_workshop_profile_orders->m_address = base + offset; + n_workshop_profile_orders->m_comment = "assigned from viewscreen_workshop_profilest.orders"; + n_workshop_profile_orders->m_parent = p_node_parent; + n_workshop_profile_orders->m_defined_in = "df.jobs.xml"; + n_workshop_profile_orders->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_workshop_profile_orders); + +} +void node_from_viewscreen_customize_unitst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unit"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_customize_unitst, field_name)); + auto n_unit = new NodePointer; + n_unit->m_field_name = field_name; + n_unit->m_df_type = get_real_subtype(base+offset, DF_Type::unit); + n_unit->m_rdf_type = RDF_Type::Pointer; + n_unit->m_node_type = NodeType::Pointer; + n_unit->m_addornements = "*"; + n_unit->m_address = base + offset; + n_unit->m_parent = p_node_parent; + n_unit->m_defined_in = "df.units.xml"; + n_unit->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unit); + + field_name = "editing_nickname"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_customize_unitst, field_name)); + auto n_editing_nickname = new NodeSimple; + n_editing_nickname->m_field_name = field_name; + n_editing_nickname->m_df_type = DF_Type::int8_t; + n_editing_nickname->m_rdf_type = RDF_Type::int8_t; + n_editing_nickname->m_node_type = NodeType::Simple; + n_editing_nickname->m_address = base + offset; + n_editing_nickname->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_editing_nickname); + + field_name = "editing_profession"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_customize_unitst, field_name)); + auto n_editing_profession = new NodeSimple; + n_editing_profession->m_field_name = field_name; + n_editing_profession->m_df_type = DF_Type::int8_t; + n_editing_profession->m_rdf_type = RDF_Type::int8_t; + n_editing_profession->m_node_type = NodeType::Simple; + n_editing_profession->m_address = base + offset; + n_editing_profession->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_editing_profession); + + field_name = "previous_name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_customize_unitst, field_name)); + auto n_previous_name = new NodeSimple; + n_previous_name->m_field_name = field_name; + n_previous_name->m_df_type = DF_Type::Stl_string; + n_previous_name->m_rdf_type = RDF_Type::Stl_string; + n_previous_name->m_node_type = NodeType::Simple; + n_previous_name->m_address = base + offset; + n_previous_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_previous_name); + + field_name = "has_name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_customize_unitst, field_name)); + auto n_has_name = new NodeSimple; + n_has_name->m_field_name = field_name; + n_has_name->m_df_type = DF_Type::int8_t; + n_has_name->m_rdf_type = RDF_Type::int8_t; + n_has_name->m_node_type = NodeType::Simple; + n_has_name->m_address = base + offset; + n_has_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_has_name); + +} +void node_from_viewscreen_dungeon_monsterstatusst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unit"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_monsterstatusst, field_name)); + auto n_unit = new NodePointer; + n_unit->m_field_name = field_name; + n_unit->m_df_type = get_real_subtype(base+offset, DF_Type::unit); + n_unit->m_rdf_type = RDF_Type::Pointer; + n_unit->m_node_type = NodeType::Pointer; + n_unit->m_addornements = "*"; + n_unit->m_address = base + offset; + n_unit->m_parent = p_node_parent; + n_unit->m_defined_in = "df.units.xml"; + n_unit->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unit); + + field_name = "inventory_cursor"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_monsterstatusst, field_name)); + auto n_inventory_cursor = new NodeSimple; + n_inventory_cursor->m_field_name = field_name; + n_inventory_cursor->m_df_type = DF_Type::int32_t; + n_inventory_cursor->m_rdf_type = RDF_Type::int32_t; + n_inventory_cursor->m_node_type = NodeType::Simple; + n_inventory_cursor->m_address = base + offset; + n_inventory_cursor->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_inventory_cursor); + + field_name = "body_part_cursor"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_monsterstatusst, field_name)); + auto n_body_part_cursor = new NodeSimple; + n_body_part_cursor->m_field_name = field_name; + n_body_part_cursor->m_df_type = DF_Type::int32_t; + n_body_part_cursor->m_rdf_type = RDF_Type::int32_t; + n_body_part_cursor->m_node_type = NodeType::Simple; + n_body_part_cursor->m_address = base + offset; + n_body_part_cursor->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_body_part_cursor); + + field_name = "body_part"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_monsterstatusst, field_name)); + auto n_body_part = new NodeVector; + n_body_part->m_field_name = field_name; + n_body_part->m_df_type = DF_Type::int16_t; + n_body_part->m_rdf_type = RDF_Type::Vector; + n_body_part->m_node_type = NodeType::Vector; + n_body_part->m_addornements = "v"; + n_body_part->m_address = base + offset; + n_body_part->m_parent = p_node_parent; + n_body_part->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_body_part); + + field_name = "view_skills"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_monsterstatusst, field_name)); + auto n_view_skills = new NodeSimple; + n_view_skills->m_field_name = field_name; + n_view_skills->m_df_type = DF_Type::Bool; + n_view_skills->m_rdf_type = RDF_Type::Bool; + n_view_skills->m_node_type = NodeType::Simple; + n_view_skills->m_address = base + offset; + n_view_skills->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_view_skills); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_monsterstatusst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "length"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_monsterstatusst, field_name)); + auto n_length = new NodeSimple; + n_length->m_field_name = field_name; + n_length->m_df_type = DF_Type::int32_t; + n_length->m_rdf_type = RDF_Type::int32_t; + n_length->m_node_type = NodeType::Simple; + n_length->m_address = base + offset; + n_length->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_length); + + field_name = "scroll_pos"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_monsterstatusst, field_name)); + auto n_scroll_pos = new NodeSimple; + n_scroll_pos->m_field_name = field_name; + n_scroll_pos->m_df_type = DF_Type::int32_t; + n_scroll_pos->m_rdf_type = RDF_Type::int32_t; + n_scroll_pos->m_node_type = NodeType::Simple; + n_scroll_pos->m_address = base + offset; + n_scroll_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_scroll_pos); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_monsterstatusst, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int8_t; + n_anon_2->m_rdf_type = RDF_Type::int8_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "inventory"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_monsterstatusst, field_name)); + auto n_inventory = new NodeVector; + n_inventory->m_field_name = field_name; + n_inventory->m_df_type = DF_Type::unit_inventory_item; + n_inventory->m_rdf_type = RDF_Type::Vector; + n_inventory->m_node_type = NodeType::Vector; + n_inventory->m_defined_in = "df.units.xml"; + n_inventory->m_addornements = "v*"; + n_inventory->m_address = base + offset; + n_inventory->m_parent = p_node_parent; + n_inventory->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_inventory); + + field_name = "spatters"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_monsterstatusst, field_name)); + auto n_spatters = new NodeVector; + n_spatters->m_field_name = field_name; + n_spatters->m_df_type = DF_Type::spatter; + n_spatters->m_rdf_type = RDF_Type::Vector; + n_spatters->m_node_type = NodeType::Vector; + n_spatters->m_defined_in = "df.items.xml"; + n_spatters->m_addornements = "v*"; + n_spatters->m_address = base + offset; + n_spatters->m_parent = p_node_parent; + n_spatters->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_spatters); + +} +void node_from_viewscreen_dungeon_wrestlest__T_unk1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_wrestlest__T_unk1, field_name)); + auto n_anon_1 = new NodePointer; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = get_real_subtype(base+offset, DF_Type::unit); + n_anon_1->m_rdf_type = RDF_Type::Pointer; + n_anon_1->m_node_type = NodeType::Pointer; + n_anon_1->m_addornements = "*"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_defined_in = "df.units.xml"; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_wrestlest__T_unk1, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int8_t; + n_anon_2->m_rdf_type = RDF_Type::int8_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_wrestlest__T_unk1, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int8_t; + n_anon_3->m_rdf_type = RDF_Type::int8_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "weapons"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_wrestlest__T_unk1, field_name)); + auto n_weapons = new NodeVector; + n_weapons->m_field_name = field_name; + n_weapons->m_df_type = DF_Type::item; + n_weapons->m_rdf_type = RDF_Type::Vector; + n_weapons->m_node_type = NodeType::Vector; + n_weapons->m_defined_in = "df.items.xml"; + n_weapons->m_addornements = "v*"; + n_weapons->m_address = base + offset; + n_weapons->m_parent = p_node_parent; + n_weapons->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_weapons); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_wrestlest__T_unk1, field_name)); + auto n_anon_4 = new NodeVector; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int16_t; + n_anon_4->m_rdf_type = RDF_Type::Vector; + n_anon_4->m_node_type = NodeType::Vector; + n_anon_4->m_addornements = "v"; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + n_anon_4->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_wrestlest__T_unk1, field_name)); + auto n_anon_5 = new NodeVector; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::Void; + n_anon_5->m_rdf_type = RDF_Type::Vector; + n_anon_5->m_node_type = NodeType::Vector; + n_anon_5->m_addornements = "v"; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + n_anon_5->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_wrestlest__T_unk1, field_name)); + auto n_anon_6 = new NodeVector; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int16_t; + n_anon_6->m_rdf_type = RDF_Type::Vector; + n_anon_6->m_node_type = NodeType::Vector; + n_anon_6->m_addornements = "v"; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + n_anon_6->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_wrestlest__T_unk1, field_name)); + auto n_anon_7 = new NodeVector; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::Void; + n_anon_7->m_rdf_type = RDF_Type::Vector; + n_anon_7->m_node_type = NodeType::Vector; + n_anon_7->m_addornements = "v"; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + n_anon_7->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_7); + + field_name = "anon_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_wrestlest__T_unk1, field_name)); + auto n_anon_8 = new NodeVector; + n_anon_8->m_field_name = field_name; + n_anon_8->m_df_type = DF_Type::Void; + n_anon_8->m_rdf_type = RDF_Type::Vector; + n_anon_8->m_node_type = NodeType::Vector; + n_anon_8->m_addornements = "v"; + n_anon_8->m_address = base + offset; + n_anon_8->m_parent = p_node_parent; + n_anon_8->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_8); + + field_name = "anon_9"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_wrestlest__T_unk1, field_name)); + auto n_anon_9 = new NodeVector; + n_anon_9->m_field_name = field_name; + n_anon_9->m_df_type = DF_Type::Void; + n_anon_9->m_rdf_type = RDF_Type::Vector; + n_anon_9->m_node_type = NodeType::Vector; + n_anon_9->m_addornements = "v"; + n_anon_9->m_address = base + offset; + n_anon_9->m_parent = p_node_parent; + n_anon_9->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_9); + + field_name = "anon_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_wrestlest__T_unk1, field_name)); + auto n_anon_10 = new NodeVector; + n_anon_10->m_field_name = field_name; + n_anon_10->m_df_type = DF_Type::Void; + n_anon_10->m_rdf_type = RDF_Type::Vector; + n_anon_10->m_node_type = NodeType::Vector; + n_anon_10->m_addornements = "v"; + n_anon_10->m_address = base + offset; + n_anon_10->m_parent = p_node_parent; + n_anon_10->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_10); + + field_name = "anon_11"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_wrestlest__T_unk1, field_name)); + auto n_anon_11 = new NodeVector; + n_anon_11->m_field_name = field_name; + n_anon_11->m_df_type = DF_Type::int16_t; + n_anon_11->m_rdf_type = RDF_Type::Vector; + n_anon_11->m_node_type = NodeType::Vector; + n_anon_11->m_addornements = "v"; + n_anon_11->m_address = base + offset; + n_anon_11->m_parent = p_node_parent; + n_anon_11->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_11); + + field_name = "anon_12"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_wrestlest__T_unk1, field_name)); + auto n_anon_12 = new NodeVector; + n_anon_12->m_field_name = field_name; + n_anon_12->m_df_type = DF_Type::int16_t; + n_anon_12->m_rdf_type = RDF_Type::Vector; + n_anon_12->m_node_type = NodeType::Vector; + n_anon_12->m_addornements = "v"; + n_anon_12->m_address = base + offset; + n_anon_12->m_parent = p_node_parent; + n_anon_12->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_12); + + field_name = "anon_13"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_wrestlest__T_unk1, field_name)); + auto n_anon_13 = new NodeVector; + n_anon_13->m_field_name = field_name; + n_anon_13->m_df_type = DF_Type::int16_t; + n_anon_13->m_rdf_type = RDF_Type::Vector; + n_anon_13->m_node_type = NodeType::Vector; + n_anon_13->m_addornements = "v"; + n_anon_13->m_address = base + offset; + n_anon_13->m_parent = p_node_parent; + n_anon_13->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_13); + + field_name = "anon_14"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_wrestlest__T_unk1, field_name)); + auto n_anon_14 = new NodeVector; + n_anon_14->m_field_name = field_name; + n_anon_14->m_df_type = DF_Type::int16_t; + n_anon_14->m_rdf_type = RDF_Type::Vector; + n_anon_14->m_node_type = NodeType::Vector; + n_anon_14->m_addornements = "v"; + n_anon_14->m_address = base + offset; + n_anon_14->m_parent = p_node_parent; + n_anon_14->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_14); + + field_name = "anon_15"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_wrestlest__T_unk1, field_name)); + auto n_anon_15 = new NodeVector; + n_anon_15->m_field_name = field_name; + n_anon_15->m_df_type = DF_Type::Void; + n_anon_15->m_rdf_type = RDF_Type::Vector; + n_anon_15->m_node_type = NodeType::Vector; + n_anon_15->m_addornements = "v"; + n_anon_15->m_address = base + offset; + n_anon_15->m_parent = p_node_parent; + n_anon_15->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_15); + + field_name = "anon_16"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_wrestlest__T_unk1, field_name)); + auto n_anon_16 = new NodeVector; + n_anon_16->m_field_name = field_name; + n_anon_16->m_df_type = DF_Type::Void; + n_anon_16->m_rdf_type = RDF_Type::Vector; + n_anon_16->m_node_type = NodeType::Vector; + n_anon_16->m_addornements = "v"; + n_anon_16->m_address = base + offset; + n_anon_16->m_parent = p_node_parent; + n_anon_16->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_16); + + field_name = "anon_17"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_wrestlest__T_unk1, field_name)); + auto n_anon_17 = new NodeVector; + n_anon_17->m_field_name = field_name; + n_anon_17->m_df_type = DF_Type::Void; + n_anon_17->m_rdf_type = RDF_Type::Vector; + n_anon_17->m_node_type = NodeType::Vector; + n_anon_17->m_addornements = "v"; + n_anon_17->m_address = base + offset; + n_anon_17->m_parent = p_node_parent; + n_anon_17->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_17); + +} +void node_from_viewscreen_dungeon_wrestlest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "player"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_wrestlest, field_name)); + auto n_player = new NodePointer; + n_player->m_field_name = field_name; + n_player->m_df_type = get_real_subtype(base+offset, DF_Type::unit); + n_player->m_rdf_type = RDF_Type::Pointer; + n_player->m_node_type = NodeType::Pointer; + n_player->m_addornements = "*"; + n_player->m_address = base + offset; + n_player->m_parent = p_node_parent; + n_player->m_defined_in = "df.units.xml"; + n_player->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_player); + + field_name = "target"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_wrestlest, field_name)); + auto n_target = new NodePointer; + n_target->m_field_name = field_name; + n_target->m_df_type = get_real_subtype(base+offset, DF_Type::unit); + n_target->m_rdf_type = RDF_Type::Pointer; + n_target->m_node_type = NodeType::Pointer; + n_target->m_addornements = "*"; + n_target->m_address = base + offset; + n_target->m_parent = p_node_parent; + n_target->m_defined_in = "df.units.xml"; + n_target->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_target); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_wrestlest, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int8_t; + n_anon_1->m_rdf_type = RDF_Type::int8_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_wrestlest, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_wrestlest, field_name)); + auto n_anon_3 = new NodeVector; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::Void; + n_anon_3->m_rdf_type = RDF_Type::Vector; + n_anon_3->m_node_type = NodeType::Vector; + n_anon_3->m_addornements = "v"; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + n_anon_3->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_wrestlest, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_wrestlest, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_wrestlest, field_name)); + auto n_anon_6 = new NodeVector; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::Vector; + n_anon_6->m_node_type = NodeType::Vector; + n_anon_6->m_addornements = "v"; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + n_anon_6->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_wrestlest, field_name)); + auto n_anon_7 = new NodeVector; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::int32_t; + n_anon_7->m_rdf_type = RDF_Type::Vector; + n_anon_7->m_node_type = NodeType::Vector; + n_anon_7->m_addornements = "v"; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + n_anon_7->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_7); + + field_name = "unk1"; + auto n_unk1 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_wrestlest, field_name)); + n_unk1->m_field_name = field_name; + n_unk1->m_df_type = DF_Type::viewscreen_dungeon_wrestlest__T_unk1; + n_unk1->m_rdf_type = RDF_Type::Compound; + n_unk1->m_node_type = NodeType::Compound; + n_unk1->m_address = base + offset; + n_unk1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk1); + + field_name = "anon_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_wrestlest, field_name)); + auto n_anon_8 = new NodeSimple; + n_anon_8->m_field_name = field_name; + n_anon_8->m_df_type = DF_Type::int32_t; + n_anon_8->m_rdf_type = RDF_Type::int32_t; + n_anon_8->m_node_type = NodeType::Simple; + n_anon_8->m_address = base + offset; + n_anon_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_8); + + field_name = "anon_9"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeon_wrestlest, field_name)); + auto n_anon_9 = new NodeSimple; + n_anon_9->m_field_name = field_name; + n_anon_9->m_df_type = DF_Type::int32_t; + n_anon_9->m_rdf_type = RDF_Type::int32_t; + n_anon_9->m_node_type = NodeType::Simple; + n_anon_9->m_address = base + offset; + n_anon_9->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_9); + +} +void node_from_viewscreen_dungeonmodest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeonmodest, field_name)); + auto n_x = new NodeSimple; + n_x->m_field_name = field_name; + n_x->m_df_type = DF_Type::int32_t; + n_x->m_rdf_type = RDF_Type::int32_t; + n_x->m_node_type = NodeType::Simple; + n_x->m_address = base + offset; + n_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_x); + + field_name = "y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeonmodest, field_name)); + auto n_y = new NodeSimple; + n_y->m_field_name = field_name; + n_y->m_df_type = DF_Type::int32_t; + n_y->m_rdf_type = RDF_Type::int32_t; + n_y->m_node_type = NodeType::Simple; + n_y->m_address = base + offset; + n_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_y); + + field_name = "z"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeonmodest, field_name)); + auto n_z = new NodeSimple; + n_z->m_field_name = field_name; + n_z->m_df_type = DF_Type::int32_t; + n_z->m_rdf_type = RDF_Type::int32_t; + n_z->m_node_type = NodeType::Simple; + n_z->m_address = base + offset; + n_z->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_z); + + field_name = "announce_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeonmodest, field_name)); + auto n_announce_y = new NodeSimple; + n_announce_y->m_field_name = field_name; + n_announce_y->m_df_type = DF_Type::int32_t; + n_announce_y->m_rdf_type = RDF_Type::int32_t; + n_announce_y->m_node_type = NodeType::Simple; + n_announce_y->m_address = base + offset; + n_announce_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_announce_y); + + field_name = "announce_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeonmodest, field_name)); + auto n_announce_idx = new NodeSimple; + n_announce_idx->m_field_name = field_name; + n_announce_idx->m_df_type = DF_Type::int32_t; + n_announce_idx->m_rdf_type = RDF_Type::int32_t; + n_announce_idx->m_node_type = NodeType::Simple; + n_announce_idx->m_address = base + offset; + n_announce_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_announce_idx); + + field_name = "announce_more"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dungeonmodest, field_name)); + auto n_announce_more = new NodeSimple; + n_announce_more->m_field_name = field_name; + n_announce_more->m_df_type = DF_Type::int8_t; + n_announce_more->m_rdf_type = RDF_Type::int8_t; + n_announce_more->m_node_type = NodeType::Simple; + n_announce_more->m_address = base + offset; + n_announce_more->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_announce_more); + +} +void node_from_viewscreen_dwarfmodest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "shown_site_name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dwarfmodest, field_name)); + auto n_shown_site_name = new NodeSimple; + n_shown_site_name->m_field_name = field_name; + n_shown_site_name->m_df_type = DF_Type::int8_t; + n_shown_site_name->m_rdf_type = RDF_Type::int8_t; + n_shown_site_name->m_node_type = NodeType::Simple; + n_shown_site_name->m_address = base + offset; + n_shown_site_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_shown_site_name); + + field_name = "jeweler_mat_count"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dwarfmodest, field_name)); + auto n_jeweler_mat_count = new NodeSimple; + n_jeweler_mat_count->m_field_name = field_name; + n_jeweler_mat_count->m_df_type = DF_Type::int16_t; + n_jeweler_mat_count->m_rdf_type = RDF_Type::int16_t; + n_jeweler_mat_count->m_node_type = NodeType::Simple; + n_jeweler_mat_count->m_address = base + offset; + n_jeweler_mat_count->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_jeweler_mat_count); + + field_name = "jeweler_cutgem"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dwarfmodest, field_name)); + auto n_jeweler_cutgem = new NodeVector; + n_jeweler_cutgem->m_field_name = field_name; + n_jeweler_cutgem->m_df_type = DF_Type::int32_t; + n_jeweler_cutgem->m_rdf_type = RDF_Type::Vector; + n_jeweler_cutgem->m_node_type = NodeType::Vector; + n_jeweler_cutgem->m_addornements = "v"; + n_jeweler_cutgem->m_address = base + offset; + n_jeweler_cutgem->m_refers_to = "(material-by-id 0 $)"; + n_jeweler_cutgem->m_parent = p_node_parent; + n_jeweler_cutgem->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_jeweler_cutgem); + + field_name = "jeweler_encrust"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dwarfmodest, field_name)); + auto n_jeweler_encrust = new NodeVector; + n_jeweler_encrust->m_field_name = field_name; + n_jeweler_encrust->m_df_type = DF_Type::int32_t; + n_jeweler_encrust->m_rdf_type = RDF_Type::Vector; + n_jeweler_encrust->m_node_type = NodeType::Vector; + n_jeweler_encrust->m_addornements = "v"; + n_jeweler_encrust->m_address = base + offset; + n_jeweler_encrust->m_refers_to = "(material-by-id 0 $)"; + n_jeweler_encrust->m_parent = p_node_parent; + n_jeweler_encrust->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_jeweler_encrust); + + field_name = "unit_labors_sidemenu"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dwarfmodest, field_name)); + auto n_unit_labors_sidemenu = new NodeVector; + n_unit_labors_sidemenu->m_field_name = field_name; + n_unit_labors_sidemenu->m_df_type = DF_Type::unit_labor; + n_unit_labors_sidemenu->m_rdf_type = RDF_Type::Vector; + n_unit_labors_sidemenu->m_node_type = NodeType::Vector; + n_unit_labors_sidemenu->m_enum_base = DF_Type::int32_t; + n_unit_labors_sidemenu->m_defined_in = "df.skills.xml"; + n_unit_labors_sidemenu->m_addornements = "v"; + n_unit_labors_sidemenu->m_address = base + offset; + n_unit_labors_sidemenu->m_parent = p_node_parent; + n_unit_labors_sidemenu->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unit_labors_sidemenu); + + field_name = "unit_labors_sidemenu_uplevel"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dwarfmodest, field_name)); + auto n_unit_labors_sidemenu_uplevel = new NodeVector; + n_unit_labors_sidemenu_uplevel->m_field_name = field_name; + n_unit_labors_sidemenu_uplevel->m_df_type = DF_Type::unit_labor; + n_unit_labors_sidemenu_uplevel->m_rdf_type = RDF_Type::Vector; + n_unit_labors_sidemenu_uplevel->m_node_type = NodeType::Vector; + n_unit_labors_sidemenu_uplevel->m_enum_base = DF_Type::int32_t; + n_unit_labors_sidemenu_uplevel->m_defined_in = "df.skills.xml"; + n_unit_labors_sidemenu_uplevel->m_addornements = "v"; + n_unit_labors_sidemenu_uplevel->m_address = base + offset; + n_unit_labors_sidemenu_uplevel->m_parent = p_node_parent; + n_unit_labors_sidemenu_uplevel->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unit_labors_sidemenu_uplevel); + + field_name = "unit_labors_sidemenu_uplevel_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dwarfmodest, field_name)); + auto n_unit_labors_sidemenu_uplevel_idx = new NodeSimple; + n_unit_labors_sidemenu_uplevel_idx->m_field_name = field_name; + n_unit_labors_sidemenu_uplevel_idx->m_df_type = DF_Type::int32_t; + n_unit_labors_sidemenu_uplevel_idx->m_rdf_type = RDF_Type::int32_t; + n_unit_labors_sidemenu_uplevel_idx->m_node_type = NodeType::Simple; + n_unit_labors_sidemenu_uplevel_idx->m_address = base + offset; + n_unit_labors_sidemenu_uplevel_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unit_labors_sidemenu_uplevel_idx); + + field_name = "sideSubmenu"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dwarfmodest, field_name)); + auto n_sideSubmenu = new NodeSimple; + n_sideSubmenu->m_field_name = field_name; + n_sideSubmenu->m_df_type = DF_Type::int8_t; + n_sideSubmenu->m_rdf_type = RDF_Type::int8_t; + n_sideSubmenu->m_node_type = NodeType::Simple; + n_sideSubmenu->m_address = base + offset; + n_sideSubmenu->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sideSubmenu); + + field_name = "keyRepeat"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dwarfmodest, field_name)); + auto n_keyRepeat = new NodeSimple; + n_keyRepeat->m_field_name = field_name; + n_keyRepeat->m_df_type = DF_Type::int8_t; + n_keyRepeat->m_rdf_type = RDF_Type::int8_t; + n_keyRepeat->m_node_type = NodeType::Simple; + n_keyRepeat->m_address = base + offset; + n_keyRepeat->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_keyRepeat); + + field_name = "trained_animals"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dwarfmodest, field_name)); + auto n_trained_animals = new NodeVector; + n_trained_animals->m_field_name = field_name; + n_trained_animals->m_df_type = DF_Type::unit; + n_trained_animals->m_rdf_type = RDF_Type::Vector; + n_trained_animals->m_node_type = NodeType::Vector; + n_trained_animals->m_defined_in = "df.units.xml"; + n_trained_animals->m_addornements = "v*"; + n_trained_animals->m_address = base + offset; + n_trained_animals->m_parent = p_node_parent; + n_trained_animals->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_trained_animals); + + field_name = "trained_animal_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dwarfmodest, field_name)); + auto n_trained_animal_idx = new NodeSimple; + n_trained_animal_idx->m_field_name = field_name; + n_trained_animal_idx->m_df_type = DF_Type::int32_t; + n_trained_animal_idx->m_rdf_type = RDF_Type::int32_t; + n_trained_animal_idx->m_node_type = NodeType::Simple; + n_trained_animal_idx->m_address = base + offset; + n_trained_animal_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_trained_animal_idx); + + field_name = "number_assigned_hunt"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dwarfmodest, field_name)); + auto n_number_assigned_hunt = new NodeSimple; + n_number_assigned_hunt->m_field_name = field_name; + n_number_assigned_hunt->m_df_type = DF_Type::int32_t; + n_number_assigned_hunt->m_rdf_type = RDF_Type::int32_t; + n_number_assigned_hunt->m_node_type = NodeType::Simple; + n_number_assigned_hunt->m_address = base + offset; + n_number_assigned_hunt->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_number_assigned_hunt); + + field_name = "number_assigned_war"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_dwarfmodest, field_name)); + auto n_number_assigned_war = new NodeSimple; + n_number_assigned_war->m_field_name = field_name; + n_number_assigned_war->m_df_type = DF_Type::int32_t; + n_number_assigned_war->m_rdf_type = RDF_Type::int32_t; + n_number_assigned_war->m_node_type = NodeType::Simple; + n_number_assigned_war->m_address = base + offset; + n_number_assigned_war->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_number_assigned_war); + +} +void node_from_viewscreen_entityst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "entity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_entityst, field_name)); + auto n_entity = new NodePointer; + n_entity->m_field_name = field_name; + n_entity->m_df_type = get_real_subtype(base+offset, DF_Type::historical_entity); + n_entity->m_rdf_type = RDF_Type::Pointer; + n_entity->m_node_type = NodeType::Pointer; + n_entity->m_addornements = "*"; + n_entity->m_address = base + offset; + n_entity->m_parent = p_node_parent; + n_entity->m_defined_in = "df.entities.xml"; + n_entity->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_entity); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_entityst, field_name)); + auto n_anon_1 = new NodeVector; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::Void; + n_anon_1->m_rdf_type = RDF_Type::Vector; + n_anon_1->m_node_type = NodeType::Vector; + n_anon_1->m_addornements = "v"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_entityst, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "important_leader_nemesis"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_entityst, field_name)); + auto n_important_leader_nemesis = new NodeVector; + n_important_leader_nemesis->m_field_name = field_name; + n_important_leader_nemesis->m_df_type = DF_Type::nemesis_record; + n_important_leader_nemesis->m_rdf_type = RDF_Type::Vector; + n_important_leader_nemesis->m_node_type = NodeType::Vector; + n_important_leader_nemesis->m_defined_in = "df.legends.xml"; + n_important_leader_nemesis->m_addornements = "v*"; + n_important_leader_nemesis->m_address = base + offset; + n_important_leader_nemesis->m_parent = p_node_parent; + n_important_leader_nemesis->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_important_leader_nemesis); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_entityst, field_name)); + auto n_anon_3 = new NodeVector; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::Vector; + n_anon_3->m_node_type = NodeType::Vector; + n_anon_3->m_addornements = "v"; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + n_anon_3->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "start_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_entityst, field_name)); + auto n_start_idx = new NodeSimple; + n_start_idx->m_field_name = field_name; + n_start_idx->m_df_type = DF_Type::int32_t; + n_start_idx->m_rdf_type = RDF_Type::int32_t; + n_start_idx->m_node_type = NodeType::Simple; + n_start_idx->m_address = base + offset; + n_start_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_start_idx); + + field_name = "agreements"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_entityst, field_name)); + auto n_agreements = new NodeVector; + n_agreements->m_field_name = field_name; + n_agreements->m_df_type = DF_Type::meeting_event; + n_agreements->m_rdf_type = RDF_Type::Vector; + n_agreements->m_node_type = NodeType::Vector; + n_agreements->m_defined_in = "df.meeting.xml"; + n_agreements->m_addornements = "v*"; + n_agreements->m_address = base + offset; + n_agreements->m_parent = p_node_parent; + n_agreements->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_agreements); + + field_name = "agreement_status"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_entityst, field_name)); + auto n_agreement_status = new NodeVector; + n_agreement_status->m_field_name = field_name; + n_agreement_status->m_df_type = DF_Type::int8_t; + n_agreement_status->m_rdf_type = RDF_Type::Vector; + n_agreement_status->m_node_type = NodeType::Vector; + n_agreement_status->m_addornements = "v"; + n_agreement_status->m_address = base + offset; + n_agreement_status->m_parent = p_node_parent; + n_agreement_status->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_agreement_status); + + field_name = "agreement_cursor"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_entityst, field_name)); + auto n_agreement_cursor = new NodeSimple; + n_agreement_cursor->m_field_name = field_name; + n_agreement_cursor->m_df_type = DF_Type::int32_t; + n_agreement_cursor->m_rdf_type = RDF_Type::int32_t; + n_agreement_cursor->m_node_type = NodeType::Simple; + n_agreement_cursor->m_address = base + offset; + n_agreement_cursor->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_agreement_cursor); + + field_name = "page"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_entityst, field_name)); + auto n_page = new NodeSimple; + n_page->m_field_name = field_name; + n_page->m_df_type = DF_Type::int16_t; + n_page->m_rdf_type = RDF_Type::int16_t; + n_page->m_node_type = NodeType::Simple; + n_page->m_address = base + offset; + n_page->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_page); + +} +void node_from_viewscreen_export_graphical_mapst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_export_graphical_mapst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int16_t; + n_anon_1->m_rdf_type = RDF_Type::int16_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_export_graphical_mapst, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int16_t; + n_anon_2->m_rdf_type = RDF_Type::int16_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_export_graphical_mapst, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int16_t; + n_anon_3->m_rdf_type = RDF_Type::int16_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_export_graphical_mapst, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int16_t; + n_anon_4->m_rdf_type = RDF_Type::int16_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "x_iterator"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_export_graphical_mapst, field_name)); + auto n_x_iterator = new NodeSimple; + n_x_iterator->m_field_name = field_name; + n_x_iterator->m_df_type = DF_Type::int32_t; + n_x_iterator->m_rdf_type = RDF_Type::int32_t; + n_x_iterator->m_node_type = NodeType::Simple; + n_x_iterator->m_address = base + offset; + n_x_iterator->m_comment = "0 to map_width-1"; + n_x_iterator->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_x_iterator); + + field_name = "y_iterator"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_export_graphical_mapst, field_name)); + auto n_y_iterator = new NodeSimple; + n_y_iterator->m_field_name = field_name; + n_y_iterator->m_df_type = DF_Type::int32_t; + n_y_iterator->m_rdf_type = RDF_Type::int32_t; + n_y_iterator->m_node_type = NodeType::Simple; + n_y_iterator->m_address = base + offset; + n_y_iterator->m_comment = "0 to map_height-1"; + n_y_iterator->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_y_iterator); + + field_name = "rgb_buffer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_export_graphical_mapst, field_name)); + auto n_rgb_buffer = new NodePointer; + n_rgb_buffer->m_field_name = field_name; + n_rgb_buffer->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_rgb_buffer->m_rdf_type = RDF_Type::Pointer; + n_rgb_buffer->m_node_type = NodeType::Pointer; + n_rgb_buffer->m_addornements = "*"; + n_rgb_buffer->m_address = base + offset; + n_rgb_buffer->m_comment = "pointer to allocated buffer"; + n_rgb_buffer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rgb_buffer); + + field_name = "map_width"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_export_graphical_mapst, field_name)); + auto n_map_width = new NodeSimple; + n_map_width->m_field_name = field_name; + n_map_width->m_df_type = DF_Type::int32_t; + n_map_width->m_rdf_type = RDF_Type::int32_t; + n_map_width->m_node_type = NodeType::Simple; + n_map_width->m_address = base + offset; + n_map_width->m_comment = "in world tiles"; + n_map_width->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_map_width); + + field_name = "map_height"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_export_graphical_mapst, field_name)); + auto n_map_height = new NodeSimple; + n_map_height->m_field_name = field_name; + n_map_height->m_df_type = DF_Type::int32_t; + n_map_height->m_rdf_type = RDF_Type::int32_t; + n_map_height->m_node_type = NodeType::Simple; + n_map_height->m_address = base + offset; + n_map_height->m_comment = "in world tiles"; + n_map_height->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_map_height); + + field_name = "numtiles_map_width"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_export_graphical_mapst, field_name)); + auto n_numtiles_map_width = new NodeSimple; + n_numtiles_map_width->m_field_name = field_name; + n_numtiles_map_width->m_df_type = DF_Type::int32_t; + n_numtiles_map_width->m_rdf_type = RDF_Type::int32_t; + n_numtiles_map_width->m_node_type = NodeType::Simple; + n_numtiles_map_width->m_address = base + offset; + n_numtiles_map_width->m_comment = "in embark tiles"; + n_numtiles_map_width->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_numtiles_map_width); + + field_name = "numtiles_map_height"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_export_graphical_mapst, field_name)); + auto n_numtiles_map_height = new NodeSimple; + n_numtiles_map_height->m_field_name = field_name; + n_numtiles_map_height->m_df_type = DF_Type::int32_t; + n_numtiles_map_height->m_rdf_type = RDF_Type::int32_t; + n_numtiles_map_height->m_node_type = NodeType::Simple; + n_numtiles_map_height->m_address = base + offset; + n_numtiles_map_height->m_comment = "in embark tiles"; + n_numtiles_map_height->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_numtiles_map_height); + + field_name = "in_export"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_export_graphical_mapst, field_name)); + auto n_in_export = new NodeSimple; + n_in_export->m_field_name = field_name; + n_in_export->m_df_type = DF_Type::Bool; + n_in_export->m_rdf_type = RDF_Type::Bool; + n_in_export->m_node_type = NodeType::Simple; + n_in_export->m_address = base + offset; + n_in_export->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_in_export); + + field_name = "sel_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_export_graphical_mapst, field_name)); + auto n_sel_idx = new NodeSimple; + n_sel_idx->m_field_name = field_name; + n_sel_idx->m_df_type = DF_Type::int32_t; + n_sel_idx->m_rdf_type = RDF_Type::int32_t; + n_sel_idx->m_node_type = NodeType::Simple; + n_sel_idx->m_address = base + offset; + n_sel_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sel_idx); + +} +void node_from_viewscreen_export_regionst__T_unk1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_export_regionst__T_unk1, field_name)); + auto n_anon_1 = new NodeVector; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::Void; + n_anon_1->m_rdf_type = RDF_Type::Vector; + n_anon_1->m_node_type = NodeType::Vector; + n_anon_1->m_addornements = "v"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_export_regionst__T_unk1, field_name)); + auto n_anon_2 = new NodeVector; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::Void; + n_anon_2->m_rdf_type = RDF_Type::Vector; + n_anon_2->m_node_type = NodeType::Vector; + n_anon_2->m_addornements = "v"; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + n_anon_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_export_regionst__T_unk1, field_name)); + auto n_anon_3 = new NodeVector; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::Void; + n_anon_3->m_rdf_type = RDF_Type::Vector; + n_anon_3->m_node_type = NodeType::Vector; + n_anon_3->m_addornements = "v"; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + n_anon_3->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_export_regionst__T_unk1, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_export_regionst__T_unk1, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_export_regionst__T_unk1, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + +} +void node_from_viewscreen_export_regionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_export_regionst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_export_regionst, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "unk1"; + auto n_unk1 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_export_regionst, field_name)); + n_unk1->m_field_name = field_name; + n_unk1->m_df_type = DF_Type::viewscreen_export_regionst__T_unk1; + n_unk1->m_rdf_type = RDF_Type::Compound; + n_unk1->m_node_type = NodeType::Compound; + n_unk1->m_address = base + offset; + n_unk1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk1); + + field_name = "compressor"; + auto n_compressor = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_export_regionst, field_name)); + n_compressor->m_field_name = field_name; + n_compressor->m_df_type = DF_Type::file_compressorst; + n_compressor->m_rdf_type = RDF_Type::Struct; + n_compressor->m_node_type = NodeType::Compound; + n_compressor->m_address = base + offset; + n_compressor->m_defined_in = "df.viewscreen.xml"; + n_compressor->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_compressor); + +} +void node_from_viewscreen_game_cleanerst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "state"; + auto n_state = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_game_cleanerst, field_name)); + n_state->m_field_name = field_name; + n_state->m_df_type = DF_Type::viewscreen_game_cleanerst__T_state; + n_state->m_rdf_type = RDF_Type::Enum; + n_state->m_node_type = NodeType::Enum; + n_state->m_base_type = DF_Type::int32_t; + n_state->m_enum_type = "viewscreen_game_cleanerst::T_state"; + n_state->m_address = base + offset; + n_state->m_first_value = 0; + n_state->m_last_value = 2; + n_state->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_state); + +} +void node_from_viewscreen_image_creatorst__T_descriptions(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "line"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst__T_descriptions, field_name)); + auto n_line = new NodeSimple; + n_line->m_field_name = field_name; + n_line->m_df_type = DF_Type::Stl_string; + n_line->m_rdf_type = RDF_Type::Stl_string; + n_line->m_node_type = NodeType::Simple; + n_line->m_address = base + offset; + n_line->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_line); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst__T_descriptions, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_viewscreen_image_creatorst__T_sites(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst__T_sites, field_name)); + auto n_site = new NodePointer; + n_site->m_field_name = field_name; + n_site->m_df_type = get_real_subtype(base+offset, DF_Type::world_site); + n_site->m_rdf_type = RDF_Type::Pointer; + n_site->m_node_type = NodeType::Pointer; + n_site->m_addornements = "*"; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + n_site->m_defined_in = "df.world-site.xml"; + n_site->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_site); + + field_name = "name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst__T_sites, field_name)); + auto n_name = new NodeSimple; + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Stl_string; + n_name->m_node_type = NodeType::Simple; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "trans_name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst__T_sites, field_name)); + auto n_trans_name = new NodeSimple; + n_trans_name->m_field_name = field_name; + n_trans_name->m_df_type = DF_Type::Stl_string; + n_trans_name->m_rdf_type = RDF_Type::Stl_string; + n_trans_name->m_node_type = NodeType::Simple; + n_trans_name->m_address = base + offset; + n_trans_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_trans_name); + +} +void node_from_viewscreen_image_creatorst__T_entities(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "entity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst__T_entities, field_name)); + auto n_entity = new NodePointer; + n_entity->m_field_name = field_name; + n_entity->m_df_type = get_real_subtype(base+offset, DF_Type::historical_entity); + n_entity->m_rdf_type = RDF_Type::Pointer; + n_entity->m_node_type = NodeType::Pointer; + n_entity->m_addornements = "*"; + n_entity->m_address = base + offset; + n_entity->m_parent = p_node_parent; + n_entity->m_defined_in = "df.entities.xml"; + n_entity->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_entity); + + field_name = "name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst__T_entities, field_name)); + auto n_name = new NodeSimple; + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Stl_string; + n_name->m_node_type = NodeType::Simple; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "trans_name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst__T_entities, field_name)); + auto n_trans_name = new NodeSimple; + n_trans_name->m_field_name = field_name; + n_trans_name->m_df_type = DF_Type::Stl_string; + n_trans_name->m_rdf_type = RDF_Type::Stl_string; + n_trans_name->m_node_type = NodeType::Simple; + n_trans_name->m_address = base + offset; + n_trans_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_trans_name); + +} +void node_from_viewscreen_image_creatorst__T_plants(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "plant"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst__T_plants, field_name)); + auto n_plant = new NodeSimple; + n_plant->m_field_name = field_name; + n_plant->m_df_type = DF_Type::int32_t; + n_plant->m_rdf_type = RDF_Type::int32_t; + n_plant->m_node_type = NodeType::Simple; + n_plant->m_address = base + offset; + n_plant->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_plant); + + field_name = "name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst__T_plants, field_name)); + auto n_name = new NodeSimple; + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Stl_string; + n_name->m_node_type = NodeType::Simple; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + +} +void node_from_viewscreen_image_creatorst__T_trees(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "tree"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst__T_trees, field_name)); + auto n_tree = new NodeSimple; + n_tree->m_field_name = field_name; + n_tree->m_df_type = DF_Type::int32_t; + n_tree->m_rdf_type = RDF_Type::int32_t; + n_tree->m_node_type = NodeType::Simple; + n_tree->m_address = base + offset; + n_tree->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tree); + + field_name = "name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst__T_trees, field_name)); + auto n_name = new NodeSimple; + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Stl_string; + n_name->m_node_type = NodeType::Simple; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + +} +void node_from_viewscreen_image_creatorst__T_shapes(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "shape"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst__T_shapes, field_name)); + auto n_shape = new NodeSimple; + n_shape->m_field_name = field_name; + n_shape->m_df_type = DF_Type::int32_t; + n_shape->m_rdf_type = RDF_Type::int32_t; + n_shape->m_node_type = NodeType::Simple; + n_shape->m_address = base + offset; + n_shape->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_shape); + + field_name = "shape2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst__T_shapes, field_name)); + auto n_shape2 = new NodeSimple; + n_shape2->m_field_name = field_name; + n_shape2->m_df_type = DF_Type::int32_t; + n_shape2->m_rdf_type = RDF_Type::int32_t; + n_shape2->m_node_type = NodeType::Simple; + n_shape2->m_address = base + offset; + n_shape2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_shape2); + + field_name = "name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst__T_shapes, field_name)); + auto n_name = new NodeSimple; + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Stl_string; + n_name->m_node_type = NodeType::Simple; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + +} +void node_from_viewscreen_image_creatorst__T_objects(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "item_type"; + auto n_item_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst__T_objects, field_name)); + n_item_type->m_field_name = field_name; + n_item_type->m_df_type = DF_Type::item_type; + n_item_type->m_rdf_type = RDF_Type::Enum; + n_item_type->m_node_type = NodeType::Enum; + n_item_type->m_base_type = DF_Type::int32_t; + n_item_type->m_enum_type = "item_type"; + n_item_type->m_address = base + offset; + n_item_type->m_defined_in = "df.item-raws.xml"; + n_item_type->m_first_value = -1; + n_item_type->m_last_value = 90; + n_item_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_type); + + field_name = "item_subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst__T_objects, field_name)); + auto n_item_subtype = new NodeSimple; + n_item_subtype->m_field_name = field_name; + n_item_subtype->m_df_type = DF_Type::int32_t; + n_item_subtype->m_rdf_type = RDF_Type::int32_t; + n_item_subtype->m_node_type = NodeType::Simple; + n_item_subtype->m_address = base + offset; + n_item_subtype->m_refers_to = "(item-subtype-target $$._parent._parent.type[$$._key] $)"; + n_item_subtype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_subtype); + + field_name = "name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst__T_objects, field_name)); + auto n_name = new NodeSimple; + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Stl_string; + n_name->m_node_type = NodeType::Simple; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + +} +void node_from_viewscreen_image_creatorst__T_artifacts(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst__T_artifacts, field_name)); + auto n_anon_1 = new NodePointer; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = get_real_subtype(base+offset, DF_Type::artifact_record); + n_anon_1->m_rdf_type = RDF_Type::Pointer; + n_anon_1->m_node_type = NodeType::Pointer; + n_anon_1->m_addornements = "*"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_defined_in = "df.legends.xml"; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst__T_artifacts, field_name)); + auto n_name = new NodeSimple; + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Stl_string; + n_name->m_node_type = NodeType::Simple; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "trans_name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst__T_artifacts, field_name)); + auto n_trans_name = new NodeSimple; + n_trans_name->m_field_name = field_name; + n_trans_name->m_df_type = DF_Type::Stl_string; + n_trans_name->m_rdf_type = RDF_Type::Stl_string; + n_trans_name->m_node_type = NodeType::Simple; + n_trans_name->m_address = base + offset; + n_trans_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_trans_name); + +} +void node_from_viewscreen_image_creatorst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "title"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); + auto n_title = new NodeSimple; + n_title->m_field_name = field_name; + n_title->m_df_type = DF_Type::Stl_string; + n_title->m_rdf_type = RDF_Type::Stl_string; + n_title->m_node_type = NodeType::Simple; + n_title->m_address = base + offset; + n_title->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_title); + + field_name = "modes"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); + auto n_modes = new NodeVector; + n_modes->m_field_name = field_name; + n_modes->m_df_type = DF_Type::viewscreen_image_creator_mode; + n_modes->m_rdf_type = RDF_Type::Vector; + n_modes->m_node_type = NodeType::Vector; + n_modes->m_enum_base = DF_Type::int32_t; + n_modes->m_defined_in = "df.viewscreen.xml"; + n_modes->m_addornements = "v"; + n_modes->m_address = base + offset; + n_modes->m_parent = p_node_parent; + n_modes->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_modes); + + field_name = "mode_cursor"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); + auto n_mode_cursor = new NodeSimple; + n_mode_cursor->m_field_name = field_name; + n_mode_cursor->m_df_type = DF_Type::int32_t; + n_mode_cursor->m_rdf_type = RDF_Type::int32_t; + n_mode_cursor->m_node_type = NodeType::Simple; + n_mode_cursor->m_address = base + offset; + n_mode_cursor->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mode_cursor); + + field_name = "mode"; + auto n_mode = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); + n_mode->m_field_name = field_name; + n_mode->m_df_type = DF_Type::viewscreen_image_creator_mode; + n_mode->m_rdf_type = RDF_Type::Enum; + n_mode->m_node_type = NodeType::Enum; + n_mode->m_base_type = enum_base_type(n_mode->m_df_type); + n_mode->m_enum_type = "viewscreen_image_creator_mode"; + n_mode->m_address = base + offset; + n_mode->m_defined_in = "df.viewscreen.xml"; + n_mode->m_first_value = -1; + n_mode->m_last_value = 18; + n_mode->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mode); + + field_name = "item_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); + auto n_item_idx = new NodeSimple; + n_item_idx->m_field_name = field_name; + n_item_idx->m_df_type = DF_Type::int32_t; + n_item_idx->m_rdf_type = RDF_Type::int32_t; + n_item_idx->m_node_type = NodeType::Simple; + n_item_idx->m_address = base + offset; + n_item_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_idx); + + field_name = "in_filter"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); + auto n_in_filter = new NodeSimple; + n_in_filter->m_field_name = field_name; + n_in_filter->m_df_type = DF_Type::Bool; + n_in_filter->m_rdf_type = RDF_Type::Bool; + n_in_filter->m_node_type = NodeType::Simple; + n_in_filter->m_address = base + offset; + n_in_filter->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_in_filter); + + field_name = "filter"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); + auto n_filter = new NodeSimple; + n_filter->m_field_name = field_name; + n_filter->m_df_type = DF_Type::Stl_string; + n_filter->m_rdf_type = RDF_Type::Stl_string; + n_filter->m_node_type = NodeType::Simple; + n_filter->m_address = base + offset; + n_filter->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_filter); + + field_name = "descriptions"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); + auto n_descriptions = new NodeVector; + n_descriptions->m_field_name = field_name; + n_descriptions->m_df_type = DF_Type::viewscreen_image_creatorst__T_descriptions; + n_descriptions->m_rdf_type = RDF_Type::Vector; + n_descriptions->m_node_type = NodeType::Vector; + n_descriptions->m_addornements = "v*"; + n_descriptions->m_address = base + offset; + n_descriptions->m_parent = p_node_parent; + n_descriptions->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_descriptions); + + field_name = "sites"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); + auto n_sites = new NodeVector; + n_sites->m_field_name = field_name; + n_sites->m_df_type = DF_Type::viewscreen_image_creatorst__T_sites; + n_sites->m_rdf_type = RDF_Type::Vector; + n_sites->m_node_type = NodeType::Vector; + n_sites->m_addornements = "v*"; + n_sites->m_address = base + offset; + n_sites->m_parent = p_node_parent; + n_sites->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_sites); + + field_name = "entities"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); + auto n_entities = new NodeVector; + n_entities->m_field_name = field_name; + n_entities->m_df_type = DF_Type::viewscreen_image_creatorst__T_entities; + n_entities->m_rdf_type = RDF_Type::Vector; + n_entities->m_node_type = NodeType::Vector; + n_entities->m_addornements = "v*"; + n_entities->m_address = base + offset; + n_entities->m_parent = p_node_parent; + n_entities->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_entities); + + field_name = "plants"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); + auto n_plants = new NodeVector; + n_plants->m_field_name = field_name; + n_plants->m_df_type = DF_Type::viewscreen_image_creatorst__T_plants; + n_plants->m_rdf_type = RDF_Type::Vector; + n_plants->m_node_type = NodeType::Vector; + n_plants->m_addornements = "v*"; + n_plants->m_address = base + offset; + n_plants->m_parent = p_node_parent; + n_plants->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_plants); + + field_name = "trees"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); + auto n_trees = new NodeVector; + n_trees->m_field_name = field_name; + n_trees->m_df_type = DF_Type::viewscreen_image_creatorst__T_trees; + n_trees->m_rdf_type = RDF_Type::Vector; + n_trees->m_node_type = NodeType::Vector; + n_trees->m_addornements = "v*"; + n_trees->m_address = base + offset; + n_trees->m_parent = p_node_parent; + n_trees->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_trees); + + field_name = "shapes"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); + auto n_shapes = new NodeVector; + n_shapes->m_field_name = field_name; + n_shapes->m_df_type = DF_Type::viewscreen_image_creatorst__T_shapes; + n_shapes->m_rdf_type = RDF_Type::Vector; + n_shapes->m_node_type = NodeType::Vector; + n_shapes->m_addornements = "v*"; + n_shapes->m_address = base + offset; + n_shapes->m_parent = p_node_parent; + n_shapes->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_shapes); + + field_name = "objects"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); + auto n_objects = new NodeVector; + n_objects->m_field_name = field_name; + n_objects->m_df_type = DF_Type::viewscreen_image_creatorst__T_objects; + n_objects->m_rdf_type = RDF_Type::Vector; + n_objects->m_node_type = NodeType::Vector; + n_objects->m_addornements = "v*"; + n_objects->m_address = base + offset; + n_objects->m_parent = p_node_parent; + n_objects->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_objects); + + field_name = "artifacts"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); + auto n_artifacts = new NodeVector; + n_artifacts->m_field_name = field_name; + n_artifacts->m_df_type = DF_Type::viewscreen_image_creatorst__T_artifacts; + n_artifacts->m_rdf_type = RDF_Type::Vector; + n_artifacts->m_node_type = NodeType::Vector; + n_artifacts->m_addornements = "v*"; + n_artifacts->m_address = base + offset; + n_artifacts->m_parent = p_node_parent; + n_artifacts->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_artifacts); + + field_name = "histfigs"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); + auto n_histfigs = new NodeVector; + n_histfigs->m_field_name = field_name; + n_histfigs->m_df_type = DF_Type::Void; + n_histfigs->m_rdf_type = RDF_Type::Vector; + n_histfigs->m_node_type = NodeType::Vector; + n_histfigs->m_addornements = "v"; + n_histfigs->m_address = base + offset; + n_histfigs->m_parent = p_node_parent; + n_histfigs->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_histfigs); + + field_name = "relationships"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); + auto n_relationships = new NodeVector; + n_relationships->m_field_name = field_name; + n_relationships->m_df_type = DF_Type::int32_t; + n_relationships->m_rdf_type = RDF_Type::Vector; + n_relationships->m_node_type = NodeType::Vector; + n_relationships->m_addornements = "v"; + n_relationships->m_address = base + offset; + n_relationships->m_parent = p_node_parent; + n_relationships->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_relationships); + + field_name = "histfigs_filtered"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); + auto n_histfigs_filtered = new NodeVector; + n_histfigs_filtered->m_field_name = field_name; + n_histfigs_filtered->m_df_type = DF_Type::historical_figure; + n_histfigs_filtered->m_rdf_type = RDF_Type::Vector; + n_histfigs_filtered->m_node_type = NodeType::Vector; + n_histfigs_filtered->m_defined_in = "df.history.xml"; + n_histfigs_filtered->m_addornements = "v*"; + n_histfigs_filtered->m_address = base + offset; + n_histfigs_filtered->m_parent = p_node_parent; + n_histfigs_filtered->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_histfigs_filtered); + + field_name = "sites_filtered"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); + auto n_sites_filtered = new NodeVector; + n_sites_filtered->m_field_name = field_name; + n_sites_filtered->m_df_type = DF_Type::world_site; + n_sites_filtered->m_rdf_type = RDF_Type::Vector; + n_sites_filtered->m_node_type = NodeType::Vector; + n_sites_filtered->m_defined_in = "df.world-site.xml"; + n_sites_filtered->m_addornements = "v*"; + n_sites_filtered->m_address = base + offset; + n_sites_filtered->m_parent = p_node_parent; + n_sites_filtered->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_sites_filtered); + + field_name = "entities_filtered"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); + auto n_entities_filtered = new NodeVector; + n_entities_filtered->m_field_name = field_name; + n_entities_filtered->m_df_type = DF_Type::historical_entity; + n_entities_filtered->m_rdf_type = RDF_Type::Vector; + n_entities_filtered->m_node_type = NodeType::Vector; + n_entities_filtered->m_defined_in = "df.entities.xml"; + n_entities_filtered->m_addornements = "v*"; + n_entities_filtered->m_address = base + offset; + n_entities_filtered->m_parent = p_node_parent; + n_entities_filtered->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_entities_filtered); + + field_name = "unkvec_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); + auto n_unkvec_1 = new NodeVector; + n_unkvec_1->m_field_name = field_name; + n_unkvec_1->m_df_type = DF_Type::Void; + n_unkvec_1->m_rdf_type = RDF_Type::Vector; + n_unkvec_1->m_node_type = NodeType::Vector; + n_unkvec_1->m_addornements = "v"; + n_unkvec_1->m_address = base + offset; + n_unkvec_1->m_parent = p_node_parent; + n_unkvec_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unkvec_1); + + field_name = "existing_images_filtered"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); + auto n_existing_images_filtered = new NodeVector; + n_existing_images_filtered->m_field_name = field_name; + n_existing_images_filtered->m_df_type = DF_Type::art_image; + n_existing_images_filtered->m_rdf_type = RDF_Type::Vector; + n_existing_images_filtered->m_node_type = NodeType::Vector; + n_existing_images_filtered->m_defined_in = "df.art.xml"; + n_existing_images_filtered->m_addornements = "v*"; + n_existing_images_filtered->m_address = base + offset; + n_existing_images_filtered->m_parent = p_node_parent; + n_existing_images_filtered->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_existing_images_filtered); + + field_name = "image"; + auto n_image = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); + n_image->m_field_name = field_name; + n_image->m_df_type = DF_Type::art_image; + n_image->m_rdf_type = RDF_Type::Struct; + n_image->m_node_type = NodeType::Compound; + n_image->m_address = base + offset; + n_image->m_defined_in = "df.art.xml"; + n_image->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_image); + + field_name = "races_filtered"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); + auto n_races_filtered = new NodeVector; + n_races_filtered->m_field_name = field_name; + n_races_filtered->m_df_type = DF_Type::int32_t; + n_races_filtered->m_rdf_type = RDF_Type::Vector; + n_races_filtered->m_node_type = NodeType::Vector; + n_races_filtered->m_addornements = "v"; + n_races_filtered->m_address = base + offset; + n_races_filtered->m_parent = p_node_parent; + n_races_filtered->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_races_filtered); + + field_name = "castes_filtered"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); + auto n_castes_filtered = new NodeVector; + n_castes_filtered->m_field_name = field_name; + n_castes_filtered->m_df_type = DF_Type::int32_t; + n_castes_filtered->m_rdf_type = RDF_Type::Vector; + n_castes_filtered->m_node_type = NodeType::Vector; + n_castes_filtered->m_addornements = "v"; + n_castes_filtered->m_address = base + offset; + n_castes_filtered->m_parent = p_node_parent; + n_castes_filtered->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_castes_filtered); + + field_name = "histfigs_filtered2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); + auto n_histfigs_filtered2 = new NodeVector; + n_histfigs_filtered2->m_field_name = field_name; + n_histfigs_filtered2->m_df_type = DF_Type::historical_figure; + n_histfigs_filtered2->m_rdf_type = RDF_Type::Vector; + n_histfigs_filtered2->m_node_type = NodeType::Vector; + n_histfigs_filtered2->m_defined_in = "df.history.xml"; + n_histfigs_filtered2->m_addornements = "v*"; + n_histfigs_filtered2->m_address = base + offset; + n_histfigs_filtered2->m_parent = p_node_parent; + n_histfigs_filtered2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_histfigs_filtered2); + + field_name = "plants_filtered"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); + auto n_plants_filtered = new NodeVector; + n_plants_filtered->m_field_name = field_name; + n_plants_filtered->m_df_type = DF_Type::int32_t; + n_plants_filtered->m_rdf_type = RDF_Type::Vector; + n_plants_filtered->m_node_type = NodeType::Vector; + n_plants_filtered->m_addornements = "v"; + n_plants_filtered->m_address = base + offset; + n_plants_filtered->m_parent = p_node_parent; + n_plants_filtered->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_plants_filtered); + + field_name = "trees_filtered"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); + auto n_trees_filtered = new NodeVector; + n_trees_filtered->m_field_name = field_name; + n_trees_filtered->m_df_type = DF_Type::int32_t; + n_trees_filtered->m_rdf_type = RDF_Type::Vector; + n_trees_filtered->m_node_type = NodeType::Vector; + n_trees_filtered->m_addornements = "v"; + n_trees_filtered->m_address = base + offset; + n_trees_filtered->m_parent = p_node_parent; + n_trees_filtered->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_trees_filtered); + + field_name = "shapes_filtered1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); + auto n_shapes_filtered1 = new NodeVector; + n_shapes_filtered1->m_field_name = field_name; + n_shapes_filtered1->m_df_type = DF_Type::int32_t; + n_shapes_filtered1->m_rdf_type = RDF_Type::Vector; + n_shapes_filtered1->m_node_type = NodeType::Vector; + n_shapes_filtered1->m_addornements = "v"; + n_shapes_filtered1->m_address = base + offset; + n_shapes_filtered1->m_parent = p_node_parent; + n_shapes_filtered1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_shapes_filtered1); + + field_name = "shapes_filtered2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); + auto n_shapes_filtered2 = new NodeVector; + n_shapes_filtered2->m_field_name = field_name; + n_shapes_filtered2->m_df_type = DF_Type::int32_t; + n_shapes_filtered2->m_rdf_type = RDF_Type::Vector; + n_shapes_filtered2->m_node_type = NodeType::Vector; + n_shapes_filtered2->m_addornements = "v"; + n_shapes_filtered2->m_address = base + offset; + n_shapes_filtered2->m_parent = p_node_parent; + n_shapes_filtered2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_shapes_filtered2); + + field_name = "item_types_filtered"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); + auto n_item_types_filtered = new NodeVector; + n_item_types_filtered->m_field_name = field_name; + n_item_types_filtered->m_df_type = DF_Type::item_type; + n_item_types_filtered->m_rdf_type = RDF_Type::Vector; + n_item_types_filtered->m_node_type = NodeType::Vector; + n_item_types_filtered->m_enum_base = DF_Type::int32_t; + n_item_types_filtered->m_defined_in = "df.item-raws.xml"; + n_item_types_filtered->m_addornements = "v"; + n_item_types_filtered->m_address = base + offset; + n_item_types_filtered->m_parent = p_node_parent; + n_item_types_filtered->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_item_types_filtered); + + field_name = "item_subtypes_filtered"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); + auto n_item_subtypes_filtered = new NodeVector; + n_item_subtypes_filtered->m_field_name = field_name; + n_item_subtypes_filtered->m_df_type = DF_Type::int32_t; + n_item_subtypes_filtered->m_rdf_type = RDF_Type::Vector; + n_item_subtypes_filtered->m_node_type = NodeType::Vector; + n_item_subtypes_filtered->m_addornements = "v"; + n_item_subtypes_filtered->m_address = base + offset; + n_item_subtypes_filtered->m_parent = p_node_parent; + n_item_subtypes_filtered->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_item_subtypes_filtered); + + field_name = "artifacts_filtered"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); + auto n_artifacts_filtered = new NodeVector; + n_artifacts_filtered->m_field_name = field_name; + n_artifacts_filtered->m_df_type = DF_Type::artifact_record; + n_artifacts_filtered->m_rdf_type = RDF_Type::Vector; + n_artifacts_filtered->m_node_type = NodeType::Vector; + n_artifacts_filtered->m_defined_in = "df.legends.xml"; + n_artifacts_filtered->m_addornements = "v*"; + n_artifacts_filtered->m_address = base + offset; + n_artifacts_filtered->m_parent = p_node_parent; + n_artifacts_filtered->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_artifacts_filtered); + + field_name = "relationships_filtered"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); + auto n_relationships_filtered = new NodeVector; + n_relationships_filtered->m_field_name = field_name; + n_relationships_filtered->m_df_type = DF_Type::art_image_property_verb; + n_relationships_filtered->m_rdf_type = RDF_Type::Vector; + n_relationships_filtered->m_node_type = NodeType::Vector; + n_relationships_filtered->m_enum_base = DF_Type::int32_t; + n_relationships_filtered->m_defined_in = "df.art.xml"; + n_relationships_filtered->m_addornements = "v"; + n_relationships_filtered->m_address = base + offset; + n_relationships_filtered->m_parent = p_node_parent; + n_relationships_filtered->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_relationships_filtered); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); + auto n_anon_1 = new NodePointer; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_anon_1->m_rdf_type = RDF_Type::Pointer; + n_anon_1->m_node_type = NodeType::Pointer; + n_anon_1->m_addornements = "*"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); + auto n_anon_3 = new NodePointer; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_anon_3->m_rdf_type = RDF_Type::Pointer; + n_anon_3->m_node_type = NodeType::Pointer; + n_anon_3->m_addornements = "*"; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "relationship_count"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); + auto n_relationship_count = new NodeSimple; + n_relationship_count->m_field_name = field_name; + n_relationship_count->m_df_type = DF_Type::int32_t; + n_relationship_count->m_rdf_type = RDF_Type::int32_t; + n_relationship_count->m_node_type = NodeType::Simple; + n_relationship_count->m_address = base + offset; + n_relationship_count->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_relationship_count); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); + auto n_anon_4 = new NodePointer; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_anon_4->m_rdf_type = RDF_Type::Pointer; + n_anon_4->m_node_type = NodeType::Pointer; + n_anon_4->m_addornements = "*"; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "relationship_targets"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); + auto n_relationship_targets = new NodeVector; + n_relationship_targets->m_field_name = field_name; + n_relationship_targets->m_df_type = DF_Type::int32_t; + n_relationship_targets->m_rdf_type = RDF_Type::Vector; + n_relationship_targets->m_node_type = NodeType::Vector; + n_relationship_targets->m_addornements = "v"; + n_relationship_targets->m_address = base + offset; + n_relationship_targets->m_parent = p_node_parent; + n_relationship_targets->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_relationship_targets); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int8_t; + n_anon_5->m_rdf_type = RDF_Type::int8_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); + auto n_anon_7 = new NodeSimple; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::int32_t; + n_anon_7->m_rdf_type = RDF_Type::int32_t; + n_anon_7->m_node_type = NodeType::Simple; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_7); + + field_name = "anon_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); + auto n_anon_8 = new NodeSimple; + n_anon_8->m_field_name = field_name; + n_anon_8->m_df_type = DF_Type::int32_t; + n_anon_8->m_rdf_type = RDF_Type::int32_t; + n_anon_8->m_node_type = NodeType::Simple; + n_anon_8->m_address = base + offset; + n_anon_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_8); + + field_name = "anon_9"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); + auto n_anon_9 = new NodeSimple; + n_anon_9->m_field_name = field_name; + n_anon_9->m_df_type = DF_Type::int16_t; + n_anon_9->m_rdf_type = RDF_Type::int16_t; + n_anon_9->m_node_type = NodeType::Simple; + n_anon_9->m_address = base + offset; + n_anon_9->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_9); + + field_name = "anon_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); + auto n_anon_10 = new NodeSimple; + n_anon_10->m_field_name = field_name; + n_anon_10->m_df_type = DF_Type::int8_t; + n_anon_10->m_rdf_type = RDF_Type::int8_t; + n_anon_10->m_node_type = NodeType::Simple; + n_anon_10->m_address = base + offset; + n_anon_10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_10); + + field_name = "anon_11"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); + auto n_anon_11 = new NodePointer; + n_anon_11->m_field_name = field_name; + n_anon_11->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_anon_11->m_rdf_type = RDF_Type::Pointer; + n_anon_11->m_node_type = NodeType::Pointer; + n_anon_11->m_addornements = "*"; + n_anon_11->m_address = base + offset; + n_anon_11->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_11); + + field_name = "warning_flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); + auto n_warning_flags = new NodeSimple; + n_warning_flags->m_field_name = field_name; + n_warning_flags->m_df_type = DF_Type::int32_t; + n_warning_flags->m_rdf_type = RDF_Type::int32_t; + n_warning_flags->m_node_type = NodeType::Simple; + n_warning_flags->m_address = base + offset; + n_warning_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_warning_flags); + + field_name = "deletable_elements"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); + auto n_deletable_elements = new NodeVector; + n_deletable_elements->m_field_name = field_name; + n_deletable_elements->m_df_type = DF_Type::Void; + n_deletable_elements->m_rdf_type = RDF_Type::Vector; + n_deletable_elements->m_node_type = NodeType::Vector; + n_deletable_elements->m_addornements = "v"; + n_deletable_elements->m_address = base + offset; + n_deletable_elements->m_parent = p_node_parent; + n_deletable_elements->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_deletable_elements); + + field_name = "anon_12"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); + auto n_anon_12 = new NodePointer; + n_anon_12->m_field_name = field_name; + n_anon_12->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_anon_12->m_rdf_type = RDF_Type::Pointer; + n_anon_12->m_node_type = NodeType::Pointer; + n_anon_12->m_addornements = "*"; + n_anon_12->m_address = base + offset; + n_anon_12->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_12); + + field_name = "anon_13"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); + auto n_anon_13 = new NodePointer; + n_anon_13->m_field_name = field_name; + n_anon_13->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_anon_13->m_rdf_type = RDF_Type::Pointer; + n_anon_13->m_node_type = NodeType::Pointer; + n_anon_13->m_addornements = "*"; + n_anon_13->m_address = base + offset; + n_anon_13->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_13); + + field_name = "order"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); + auto n_order = new NodePointer; + n_order->m_field_name = field_name; + n_order->m_df_type = get_real_subtype(base+offset, DF_Type::manager_order); + n_order->m_rdf_type = RDF_Type::Pointer; + n_order->m_node_type = NodeType::Pointer; + n_order->m_addornements = "*"; + n_order->m_address = base + offset; + n_order->m_parent = p_node_parent; + n_order->m_defined_in = "df.jobs.xml"; + n_order->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_order); + + field_name = "anon_14"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); + auto n_anon_14 = new NodeSimple; + n_anon_14->m_field_name = field_name; + n_anon_14->m_df_type = DF_Type::int32_t; + n_anon_14->m_rdf_type = RDF_Type::int32_t; + n_anon_14->m_node_type = NodeType::Simple; + n_anon_14->m_address = base + offset; + n_anon_14->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_14); + + field_name = "entity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); + auto n_entity = new NodePointer; + n_entity->m_field_name = field_name; + n_entity->m_df_type = get_real_subtype(base+offset, DF_Type::historical_entity); + n_entity->m_rdf_type = RDF_Type::Pointer; + n_entity->m_node_type = NodeType::Pointer; + n_entity->m_addornements = "*"; + n_entity->m_address = base + offset; + n_entity->m_parent = p_node_parent; + n_entity->m_defined_in = "df.entities.xml"; + n_entity->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_entity); + + field_name = "anon_15"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); + auto n_anon_15 = new NodePointer; + n_anon_15->m_field_name = field_name; + n_anon_15->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_anon_15->m_rdf_type = RDF_Type::Pointer; + n_anon_15->m_node_type = NodeType::Pointer; + n_anon_15->m_addornements = "*"; + n_anon_15->m_address = base + offset; + n_anon_15->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_15); + + field_name = "anon_16"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); + auto n_anon_16 = new NodePointer; + n_anon_16->m_field_name = field_name; + n_anon_16->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_anon_16->m_rdf_type = RDF_Type::Pointer; + n_anon_16->m_node_type = NodeType::Pointer; + n_anon_16->m_addornements = "*"; + n_anon_16->m_address = base + offset; + n_anon_16->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_16); + + field_name = "anon_17"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); + auto n_anon_17 = new NodePointer; + n_anon_17->m_field_name = field_name; + n_anon_17->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_anon_17->m_rdf_type = RDF_Type::Pointer; + n_anon_17->m_node_type = NodeType::Pointer; + n_anon_17->m_addornements = "*"; + n_anon_17->m_address = base + offset; + n_anon_17->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_17); + + field_name = "anon_18"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); + auto n_anon_18 = new NodePointer; + n_anon_18->m_field_name = field_name; + n_anon_18->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_anon_18->m_rdf_type = RDF_Type::Pointer; + n_anon_18->m_node_type = NodeType::Pointer; + n_anon_18->m_addornements = "*"; + n_anon_18->m_address = base + offset; + n_anon_18->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_18); + + field_name = "unk_50"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_image_creatorst, field_name)); + auto n_unk_50 = new NodeSimple; + n_unk_50->m_field_name = field_name; + n_unk_50->m_df_type = DF_Type::int32_t; + n_unk_50->m_rdf_type = RDF_Type::int32_t; + n_unk_50->m_node_type = NodeType::Simple; + n_unk_50->m_address = base + offset; + n_unk_50->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_50); + +} +void node_from_viewscreen_itemst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "item"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_itemst, field_name)); + auto n_item = new NodePointer; + n_item->m_field_name = field_name; + n_item->m_df_type = get_real_subtype(base+offset, DF_Type::item); + n_item->m_rdf_type = RDF_Type::Pointer; + n_item->m_node_type = NodeType::Pointer; + n_item->m_addornements = "*"; + n_item->m_address = base + offset; + n_item->m_parent = p_node_parent; + n_item->m_defined_in = "df.items.xml"; + n_item->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_item); + + field_name = "entry_ref"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_itemst, field_name)); + auto n_entry_ref = new NodeVector; + n_entry_ref->m_field_name = field_name; + n_entry_ref->m_df_type = DF_Type::general_ref; + n_entry_ref->m_rdf_type = RDF_Type::Vector; + n_entry_ref->m_node_type = NodeType::Vector; + n_entry_ref->m_defined_in = "df.refs.xml"; + n_entry_ref->m_addornements = "v*"; + n_entry_ref->m_address = base + offset; + n_entry_ref->m_parent = p_node_parent; + n_entry_ref->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_entry_ref); + + field_name = "entry_indent"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_itemst, field_name)); + auto n_entry_indent = new NodeVector; + n_entry_indent->m_field_name = field_name; + n_entry_indent->m_df_type = DF_Type::int16_t; + n_entry_indent->m_rdf_type = RDF_Type::Vector; + n_entry_indent->m_node_type = NodeType::Vector; + n_entry_indent->m_addornements = "v"; + n_entry_indent->m_address = base + offset; + n_entry_indent->m_parent = p_node_parent; + n_entry_indent->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_entry_indent); + + field_name = "entry_spatters"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_itemst, field_name)); + auto n_entry_spatters = new NodeVector; + n_entry_spatters->m_field_name = field_name; + n_entry_spatters->m_df_type = DF_Type::spatter; + n_entry_spatters->m_rdf_type = RDF_Type::Vector; + n_entry_spatters->m_node_type = NodeType::Vector; + n_entry_spatters->m_defined_in = "df.items.xml"; + n_entry_spatters->m_addornements = "v*"; + n_entry_spatters->m_address = base + offset; + n_entry_spatters->m_parent = p_node_parent; + n_entry_spatters->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_entry_spatters); + + field_name = "entry_string"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_itemst, field_name)); + auto n_entry_string = new NodeVector; + n_entry_string->m_field_name = field_name; + n_entry_string->m_df_type = DF_Type::Stl_string; + n_entry_string->m_rdf_type = RDF_Type::Vector; + n_entry_string->m_node_type = NodeType::Vector; + n_entry_string->m_addornements = "v*"; + n_entry_string->m_address = base + offset; + n_entry_string->m_parent = p_node_parent; + n_entry_string->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_entry_string); + + field_name = "entry_reaction"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_itemst, field_name)); + auto n_entry_reaction = new NodeVector; + n_entry_reaction->m_field_name = field_name; + n_entry_reaction->m_df_type = DF_Type::int32_t; + n_entry_reaction->m_rdf_type = RDF_Type::Vector; + n_entry_reaction->m_node_type = NodeType::Vector; + n_entry_reaction->m_addornements = "v"; + n_entry_reaction->m_address = base + offset; + n_entry_reaction->m_parent = p_node_parent; + n_entry_reaction->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_entry_reaction); + + field_name = "cursor_pos"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_itemst, field_name)); + auto n_cursor_pos = new NodeSimple; + n_cursor_pos->m_field_name = field_name; + n_cursor_pos->m_df_type = DF_Type::int32_t; + n_cursor_pos->m_rdf_type = RDF_Type::int32_t; + n_cursor_pos->m_node_type = NodeType::Simple; + n_cursor_pos->m_address = base + offset; + n_cursor_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cursor_pos); + + field_name = "caption_uses"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_itemst, field_name)); + auto n_caption_uses = new NodeSimple; + n_caption_uses->m_field_name = field_name; + n_caption_uses->m_df_type = DF_Type::Bool; + n_caption_uses->m_rdf_type = RDF_Type::Bool; + n_caption_uses->m_node_type = NodeType::Simple; + n_caption_uses->m_address = base + offset; + n_caption_uses->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_caption_uses); + + field_name = "caption_contents"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_itemst, field_name)); + auto n_caption_contents = new NodeSimple; + n_caption_contents->m_field_name = field_name; + n_caption_contents->m_df_type = DF_Type::Bool; + n_caption_contents->m_rdf_type = RDF_Type::Bool; + n_caption_contents->m_node_type = NodeType::Simple; + n_caption_contents->m_address = base + offset; + n_caption_contents->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_caption_contents); + +} +void node_from_viewscreen_jobst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "job"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_jobst, field_name)); + auto n_job = new NodePointer; + n_job->m_field_name = field_name; + n_job->m_df_type = get_real_subtype(base+offset, DF_Type::job); + n_job->m_rdf_type = RDF_Type::Pointer; + n_job->m_node_type = NodeType::Pointer; + n_job->m_addornements = "*"; + n_job->m_address = base + offset; + n_job->m_parent = p_node_parent; + n_job->m_defined_in = "df.jobs.xml"; + n_job->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_job); + +} +void node_from_viewscreen_joblistst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "allow_zoom"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_joblistst, field_name)); + auto n_allow_zoom = new NodeSimple; + n_allow_zoom->m_field_name = field_name; + n_allow_zoom->m_df_type = DF_Type::Bool; + n_allow_zoom->m_rdf_type = RDF_Type::Bool; + n_allow_zoom->m_node_type = NodeType::Simple; + n_allow_zoom->m_address = base + offset; + n_allow_zoom->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_allow_zoom); + + field_name = "cursor_pos"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_joblistst, field_name)); + auto n_cursor_pos = new NodeSimple; + n_cursor_pos->m_field_name = field_name; + n_cursor_pos->m_df_type = DF_Type::int32_t; + n_cursor_pos->m_rdf_type = RDF_Type::int32_t; + n_cursor_pos->m_node_type = NodeType::Simple; + n_cursor_pos->m_address = base + offset; + n_cursor_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cursor_pos); + + field_name = "jobs"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_joblistst, field_name)); + auto n_jobs = new NodeVector; + n_jobs->m_field_name = field_name; + n_jobs->m_df_type = DF_Type::job; + n_jobs->m_rdf_type = RDF_Type::Vector; + n_jobs->m_node_type = NodeType::Vector; + n_jobs->m_defined_in = "df.jobs.xml"; + n_jobs->m_addornements = "v*"; + n_jobs->m_address = base + offset; + n_jobs->m_parent = p_node_parent; + n_jobs->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_jobs); + + field_name = "units"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_joblistst, field_name)); + auto n_units = new NodeVector; + n_units->m_field_name = field_name; + n_units->m_df_type = DF_Type::unit; + n_units->m_rdf_type = RDF_Type::Vector; + n_units->m_node_type = NodeType::Vector; + n_units->m_defined_in = "df.units.xml"; + n_units->m_addornements = "v*"; + n_units->m_address = base + offset; + n_units->m_parent = p_node_parent; + n_units->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_units); + +} +void node_from_viewscreen_jobmanagementst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "sel_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_jobmanagementst, field_name)); + auto n_sel_idx = new NodeSimple; + n_sel_idx->m_field_name = field_name; + n_sel_idx->m_df_type = DF_Type::int32_t; + n_sel_idx->m_rdf_type = RDF_Type::int32_t; + n_sel_idx->m_node_type = NodeType::Simple; + n_sel_idx->m_address = base + offset; + n_sel_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sel_idx); + + field_name = "in_max_workshops"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_jobmanagementst, field_name)); + auto n_in_max_workshops = new NodeSimple; + n_in_max_workshops->m_field_name = field_name; + n_in_max_workshops->m_df_type = DF_Type::Bool; + n_in_max_workshops->m_rdf_type = RDF_Type::Bool; + n_in_max_workshops->m_node_type = NodeType::Simple; + n_in_max_workshops->m_address = base + offset; + n_in_max_workshops->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_in_max_workshops); + + field_name = "max_workshops"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_jobmanagementst, field_name)); + auto n_max_workshops = new NodeSimple; + n_max_workshops->m_field_name = field_name; + n_max_workshops->m_df_type = DF_Type::Stl_string; + n_max_workshops->m_rdf_type = RDF_Type::Stl_string; + n_max_workshops->m_node_type = NodeType::Simple; + n_max_workshops->m_address = base + offset; + n_max_workshops->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_max_workshops); + +} +void node_from_viewscreen_justicest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "jails_needed"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_justicest, field_name)); + auto n_jails_needed = new NodeSimple; + n_jails_needed->m_field_name = field_name; + n_jails_needed->m_df_type = DF_Type::int16_t; + n_jails_needed->m_rdf_type = RDF_Type::int16_t; + n_jails_needed->m_node_type = NodeType::Simple; + n_jails_needed->m_address = base + offset; + n_jails_needed->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_jails_needed); + + field_name = "jails_present"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_justicest, field_name)); + auto n_jails_present = new NodeSimple; + n_jails_present->m_field_name = field_name; + n_jails_present->m_df_type = DF_Type::int16_t; + n_jails_present->m_rdf_type = RDF_Type::int16_t; + n_jails_present->m_node_type = NodeType::Simple; + n_jails_present->m_address = base + offset; + n_jails_present->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_jails_present); + + field_name = "cur_column"; + auto n_cur_column = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_justicest, field_name)); + n_cur_column->m_field_name = field_name; + n_cur_column->m_df_type = DF_Type::viewscreen_justicest__T_cur_column; + n_cur_column->m_rdf_type = RDF_Type::Enum; + n_cur_column->m_node_type = NodeType::Enum; + n_cur_column->m_base_type = DF_Type::int32_t; + n_cur_column->m_enum_type = "viewscreen_justicest::T_cur_column"; + n_cur_column->m_address = base + offset; + n_cur_column->m_first_value = 0; + n_cur_column->m_last_value = 2; + n_cur_column->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cur_column); + + field_name = "convicts"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_justicest, field_name)); + auto n_convicts = new NodeVector; + n_convicts->m_field_name = field_name; + n_convicts->m_df_type = DF_Type::unit; + n_convicts->m_rdf_type = RDF_Type::Vector; + n_convicts->m_node_type = NodeType::Vector; + n_convicts->m_defined_in = "df.units.xml"; + n_convicts->m_addornements = "v*"; + n_convicts->m_address = base + offset; + n_convicts->m_parent = p_node_parent; + n_convicts->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_convicts); + + field_name = "cases"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_justicest, field_name)); + auto n_cases = new NodeVector; + n_cases->m_field_name = field_name; + n_cases->m_df_type = DF_Type::crime; + n_cases->m_rdf_type = RDF_Type::Vector; + n_cases->m_node_type = NodeType::Vector; + n_cases->m_defined_in = "df.world.xml"; + n_cases->m_addornements = "v*"; + n_cases->m_address = base + offset; + n_cases->m_comment = "contains recent or cold cases depending on the cold_cases field"; + n_cases->m_parent = p_node_parent; + n_cases->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_cases); + + field_name = "sel_idx_current"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_justicest, field_name)); + auto n_sel_idx_current = new NodeSimple; + n_sel_idx_current->m_field_name = field_name; + n_sel_idx_current->m_df_type = DF_Type::int32_t; + n_sel_idx_current->m_rdf_type = RDF_Type::int32_t; + n_sel_idx_current->m_node_type = NodeType::Simple; + n_sel_idx_current->m_address = base + offset; + n_sel_idx_current->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sel_idx_current); + + field_name = "sel_idx_cold"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_justicest, field_name)); + auto n_sel_idx_cold = new NodeSimple; + n_sel_idx_cold->m_field_name = field_name; + n_sel_idx_cold->m_df_type = DF_Type::int32_t; + n_sel_idx_cold->m_rdf_type = RDF_Type::int32_t; + n_sel_idx_cold->m_node_type = NodeType::Simple; + n_sel_idx_cold->m_address = base + offset; + n_sel_idx_cold->m_comment = "used to save/restore current selection when switching between recent/cold"; + n_sel_idx_cold->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sel_idx_cold); + + field_name = "sel_idx_recent"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_justicest, field_name)); + auto n_sel_idx_recent = new NodeSimple; + n_sel_idx_recent->m_field_name = field_name; + n_sel_idx_recent->m_df_type = DF_Type::int32_t; + n_sel_idx_recent->m_rdf_type = RDF_Type::int32_t; + n_sel_idx_recent->m_node_type = NodeType::Simple; + n_sel_idx_recent->m_address = base + offset; + n_sel_idx_recent->m_comment = "used to save/restore current selection when switching between recent/cold"; + n_sel_idx_recent->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sel_idx_recent); + + field_name = "cold_cases"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_justicest, field_name)); + auto n_cold_cases = new NodeSimple; + n_cold_cases->m_field_name = field_name; + n_cold_cases->m_df_type = DF_Type::Bool; + n_cold_cases->m_rdf_type = RDF_Type::Bool; + n_cold_cases->m_node_type = NodeType::Simple; + n_cold_cases->m_address = base + offset; + n_cold_cases->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cold_cases); + + field_name = "count_cold"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_justicest, field_name)); + auto n_count_cold = new NodeSimple; + n_count_cold->m_field_name = field_name; + n_count_cold->m_df_type = DF_Type::int32_t; + n_count_cold->m_rdf_type = RDF_Type::int32_t; + n_count_cold->m_node_type = NodeType::Simple; + n_count_cold->m_address = base + offset; + n_count_cold->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_count_cold); + + field_name = "count_recent"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_justicest, field_name)); + auto n_count_recent = new NodeSimple; + n_count_recent->m_field_name = field_name; + n_count_recent->m_df_type = DF_Type::int32_t; + n_count_recent->m_rdf_type = RDF_Type::int32_t; + n_count_recent->m_node_type = NodeType::Simple; + n_count_recent->m_address = base + offset; + n_count_recent->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_count_recent); + + field_name = "cursor_right"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_justicest, field_name)); + auto n_cursor_right = new NodeSimple; + n_cursor_right->m_field_name = field_name; + n_cursor_right->m_df_type = DF_Type::int32_t; + n_cursor_right->m_rdf_type = RDF_Type::int32_t; + n_cursor_right->m_node_type = NodeType::Simple; + n_cursor_right->m_address = base + offset; + n_cursor_right->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cursor_right); + + field_name = "convictions"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_justicest, field_name)); + auto n_convictions = new NodeVector; + n_convictions->m_field_name = field_name; + n_convictions->m_df_type = DF_Type::crime; + n_convictions->m_rdf_type = RDF_Type::Vector; + n_convictions->m_node_type = NodeType::Vector; + n_convictions->m_defined_in = "df.world.xml"; + n_convictions->m_addornements = "v*"; + n_convictions->m_address = base + offset; + n_convictions->m_parent = p_node_parent; + n_convictions->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_convictions); + + field_name = "punishment"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_justicest, field_name)); + auto n_punishment = new NodePointer; + n_punishment->m_field_name = field_name; + n_punishment->m_df_type = get_real_subtype(base+offset, DF_Type::punishment); + n_punishment->m_rdf_type = RDF_Type::Pointer; + n_punishment->m_node_type = NodeType::Pointer; + n_punishment->m_addornements = "*"; + n_punishment->m_address = base + offset; + n_punishment->m_parent = p_node_parent; + n_punishment->m_defined_in = "df.ui.xml"; + n_punishment->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_punishment); + + field_name = "convict_choices"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_justicest, field_name)); + auto n_convict_choices = new NodeVector; + n_convict_choices->m_field_name = field_name; + n_convict_choices->m_df_type = DF_Type::unit; + n_convict_choices->m_rdf_type = RDF_Type::Vector; + n_convict_choices->m_node_type = NodeType::Vector; + n_convict_choices->m_defined_in = "df.units.xml"; + n_convict_choices->m_addornements = "v*"; + n_convict_choices->m_address = base + offset; + n_convict_choices->m_parent = p_node_parent; + n_convict_choices->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_convict_choices); + +} +void node_from_viewscreen_kitchenprefst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "cursor"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_kitchenprefst, field_name)); + auto n_cursor = new NodeSimple; + n_cursor->m_field_name = field_name; + n_cursor->m_df_type = DF_Type::int32_t; + n_cursor->m_rdf_type = RDF_Type::int32_t; + n_cursor->m_node_type = NodeType::Simple; + n_cursor->m_address = base + offset; + n_cursor->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cursor); + + field_name = "page"; + auto n_page = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_kitchenprefst, field_name)); + n_page->m_field_name = field_name; + n_page->m_df_type = DF_Type::viewscreen_kitchenpref_page; + n_page->m_rdf_type = RDF_Type::Enum; + n_page->m_node_type = NodeType::Enum; + n_page->m_base_type = DF_Type::int32_t; + n_page->m_enum_type = "viewscreen_kitchenpref_page"; + n_page->m_address = base + offset; + n_page->m_defined_in = "df.viewscreen.xml"; + n_page->m_first_value = 0; + n_page->m_last_value = 3; + n_page->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_page); + + field_name = "item_type"; + auto n_item_type = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_kitchenprefst, field_name)); + n_item_type->m_field_name = field_name; + n_item_type->m_df_type = DF_Type::item_type; + n_item_type->m_rdf_type = RDF_Type::Array; + n_item_type->m_node_type = NodeType::Array; + n_item_type->m_index_enum = DF_Type::viewscreen_kitchenpref_page; + n_item_type->m_enum_base = DF_Type::int16_t; + n_item_type->m_defined_in = "df.item-raws.xml"; + n_item_type->m_addornements = "[4v"; + n_item_type->m_array_size = 4; + n_item_type->m_address = base + offset; + n_item_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_type); + + field_name = "item_subtype"; + auto n_item_subtype = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_kitchenprefst, field_name)); + n_item_subtype->m_field_name = field_name; + n_item_subtype->m_df_type = DF_Type::int16_t; + n_item_subtype->m_rdf_type = RDF_Type::Array; + n_item_subtype->m_node_type = NodeType::Array; + n_item_subtype->m_index_enum = DF_Type::viewscreen_kitchenpref_page; + n_item_subtype->m_addornements = "[4v"; + n_item_subtype->m_array_size = 4; + n_item_subtype->m_address = base + offset; + n_item_subtype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_subtype); + + field_name = "mat_type"; + auto n_mat_type = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_kitchenprefst, field_name)); + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::Array; + n_mat_type->m_node_type = NodeType::Array; + n_mat_type->m_index_enum = DF_Type::viewscreen_kitchenpref_page; + n_mat_type->m_addornements = "[4v"; + n_mat_type->m_array_size = 4; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + auto n_mat_index = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_kitchenprefst, field_name)); + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::Array; + n_mat_index->m_node_type = NodeType::Array; + n_mat_index->m_index_enum = DF_Type::viewscreen_kitchenpref_page; + n_mat_index->m_addornements = "[4v"; + n_mat_index->m_array_size = 4; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "count"; + auto n_count = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_kitchenprefst, field_name)); + n_count->m_field_name = field_name; + n_count->m_df_type = DF_Type::int32_t; + n_count->m_rdf_type = RDF_Type::Array; + n_count->m_node_type = NodeType::Array; + n_count->m_index_enum = DF_Type::viewscreen_kitchenpref_page; + n_count->m_addornements = "[4v"; + n_count->m_array_size = 4; + n_count->m_address = base + offset; + n_count->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_count); + + field_name = "forbidden"; + auto n_forbidden = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_kitchenprefst, field_name)); + n_forbidden->m_field_name = field_name; + n_forbidden->m_df_type = DF_Type::kitchen_pref_flag; + n_forbidden->m_rdf_type = RDF_Type::Array; + n_forbidden->m_node_type = NodeType::Array; + n_forbidden->m_index_enum = DF_Type::viewscreen_kitchenpref_page; + n_forbidden->m_defined_in = "df.viewscreen.xml"; + n_forbidden->m_addornements = "[4v"; + n_forbidden->m_array_size = 4; + n_forbidden->m_address = base + offset; + n_forbidden->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_forbidden); + + field_name = "possible"; + auto n_possible = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_kitchenprefst, field_name)); + n_possible->m_field_name = field_name; + n_possible->m_df_type = DF_Type::kitchen_pref_flag; + n_possible->m_rdf_type = RDF_Type::Array; + n_possible->m_node_type = NodeType::Array; + n_possible->m_index_enum = DF_Type::viewscreen_kitchenpref_page; + n_possible->m_defined_in = "df.viewscreen.xml"; + n_possible->m_addornements = "[4v"; + n_possible->m_array_size = 4; + n_possible->m_address = base + offset; + n_possible->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_possible); + + field_name = "item_str"; + auto n_item_str = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_kitchenprefst, field_name)); + n_item_str->m_field_name = field_name; + n_item_str->m_df_type = DF_Type::Stl_string; + n_item_str->m_rdf_type = RDF_Type::Array; + n_item_str->m_node_type = NodeType::Array; + n_item_str->m_index_enum = DF_Type::viewscreen_kitchenpref_page; + n_item_str->m_addornements = "[4v*"; + n_item_str->m_array_size = 4; + n_item_str->m_address = base + offset; + n_item_str->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_str); + +} +void node_from_viewscreen_layer_arena_creaturest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen_layer; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen_layer(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "in_adding_item"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_arena_creaturest, field_name)); + auto n_in_adding_item = new NodeSimple; + n_in_adding_item->m_field_name = field_name; + n_in_adding_item->m_df_type = DF_Type::Bool; + n_in_adding_item->m_rdf_type = RDF_Type::Bool; + n_in_adding_item->m_node_type = NodeType::Simple; + n_in_adding_item->m_address = base + offset; + n_in_adding_item->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_in_adding_item); + + field_name = "item_type"; + auto n_item_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_arena_creaturest, field_name)); + n_item_type->m_field_name = field_name; + n_item_type->m_df_type = DF_Type::item_type; + n_item_type->m_rdf_type = RDF_Type::Enum; + n_item_type->m_node_type = NodeType::Enum; + n_item_type->m_base_type = DF_Type::int16_t; + n_item_type->m_enum_type = "item_type"; + n_item_type->m_address = base + offset; + n_item_type->m_defined_in = "df.item-raws.xml"; + n_item_type->m_first_value = -1; + n_item_type->m_last_value = 90; + n_item_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_type); + + field_name = "item_subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_arena_creaturest, field_name)); + auto n_item_subtype = new NodeSimple; + n_item_subtype->m_field_name = field_name; + n_item_subtype->m_df_type = DF_Type::int16_t; + n_item_subtype->m_rdf_type = RDF_Type::int16_t; + n_item_subtype->m_node_type = NodeType::Simple; + n_item_subtype->m_address = base + offset; + n_item_subtype->m_refers_to = "(item-subtype-target $$._parent.item_type $)"; + n_item_subtype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_subtype); + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_arena_creaturest, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_arena_creaturest, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "cur_side"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_arena_creaturest, field_name)); + auto n_cur_side = new NodeSimple; + n_cur_side->m_field_name = field_name; + n_cur_side->m_df_type = DF_Type::int32_t; + n_cur_side->m_rdf_type = RDF_Type::int32_t; + n_cur_side->m_node_type = NodeType::Simple; + n_cur_side->m_address = base + offset; + n_cur_side->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cur_side); + + field_name = "cur_interaction"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_arena_creaturest, field_name)); + auto n_cur_interaction = new NodeSimple; + n_cur_interaction->m_field_name = field_name; + n_cur_interaction->m_df_type = DF_Type::int32_t; + n_cur_interaction->m_rdf_type = RDF_Type::int32_t; + n_cur_interaction->m_node_type = NodeType::Simple; + n_cur_interaction->m_address = base + offset; + n_cur_interaction->m_refers_to = "$global.world.arena_spawn.interactions[$]"; + n_cur_interaction->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cur_interaction); + + field_name = "filter"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_arena_creaturest, field_name)); + auto n_filter = new NodeSimple; + n_filter->m_field_name = field_name; + n_filter->m_df_type = DF_Type::Stl_string; + n_filter->m_rdf_type = RDF_Type::Stl_string; + n_filter->m_node_type = NodeType::Simple; + n_filter->m_address = base + offset; + n_filter->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_filter); + + field_name = "race"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_arena_creaturest, field_name)); + auto n_race = new NodeVector; + n_race->m_field_name = field_name; + n_race->m_df_type = DF_Type::int16_t; + n_race->m_rdf_type = RDF_Type::Vector; + n_race->m_node_type = NodeType::Vector; + n_race->m_addornements = "v"; + n_race->m_address = base + offset; + n_race->m_parent = p_node_parent; + n_race->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_race); + + field_name = "caste"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_arena_creaturest, field_name)); + auto n_caste = new NodeVector; + n_caste->m_field_name = field_name; + n_caste->m_df_type = DF_Type::int16_t; + n_caste->m_rdf_type = RDF_Type::Vector; + n_caste->m_node_type = NodeType::Vector; + n_caste->m_addornements = "v"; + n_caste->m_address = base + offset; + n_caste->m_parent = p_node_parent; + n_caste->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_caste); + +} +void node_from_assign_trade_status(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "item"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::assign_trade_status, field_name)); + auto n_item = new NodePointer; + n_item->m_field_name = field_name; + n_item->m_df_type = get_real_subtype(base+offset, DF_Type::item); + n_item->m_rdf_type = RDF_Type::Pointer; + n_item->m_node_type = NodeType::Pointer; + n_item->m_addornements = "*"; + n_item->m_address = base + offset; + n_item->m_parent = p_node_parent; + n_item->m_defined_in = "df.items.xml"; + n_item->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_item); + + field_name = "distance"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::assign_trade_status, field_name)); + auto n_distance = new NodeSimple; + n_distance->m_field_name = field_name; + n_distance->m_df_type = DF_Type::int32_t; + n_distance->m_rdf_type = RDF_Type::int32_t; + n_distance->m_node_type = NodeType::Simple; + n_distance->m_address = base + offset; + n_distance->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_distance); + + field_name = "status"; + auto n_status = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::assign_trade_status, field_name)); + n_status->m_field_name = field_name; + n_status->m_df_type = DF_Type::assign_trade_status__T_status; + n_status->m_rdf_type = RDF_Type::Enum; + n_status->m_node_type = NodeType::Enum; + n_status->m_base_type = DF_Type::int8_t; + n_status->m_enum_type = "assign_trade_status::T_status"; + n_status->m_address = base + offset; + n_status->m_first_value = -2; + n_status->m_last_value = 3; + n_status->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_status); + + field_name = "unk"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::assign_trade_status, field_name)); + auto n_unk = new NodeSimple; + n_unk->m_field_name = field_name; + n_unk->m_df_type = DF_Type::Bool; + n_unk->m_rdf_type = RDF_Type::Bool; + n_unk->m_node_type = NodeType::Simple; + n_unk->m_address = base + offset; + n_unk->m_comment = "mandate?"; + n_unk->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk); + + field_name = "value"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::assign_trade_status, field_name)); + auto n_value = new NodeSimple; + n_value->m_field_name = field_name; + n_value->m_df_type = DF_Type::int32_t; + n_value->m_rdf_type = RDF_Type::int32_t; + n_value->m_node_type = NodeType::Simple; + n_value->m_address = base + offset; + n_value->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_value); + + field_name = "weight"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::assign_trade_status, field_name)); + auto n_weight = new NodeSimple; + n_weight->m_field_name = field_name; + n_weight->m_df_type = DF_Type::int32_t; + n_weight->m_rdf_type = RDF_Type::int32_t; + n_weight->m_node_type = NodeType::Simple; + n_weight->m_address = base + offset; + n_weight->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_weight); + +} +void node_from_viewscreen_layer_assigntradest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen_layer; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen_layer(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "info"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_assigntradest, field_name)); + auto n_info = new NodeVector; + n_info->m_field_name = field_name; + n_info->m_df_type = DF_Type::assign_trade_status; + n_info->m_rdf_type = RDF_Type::Vector; + n_info->m_node_type = NodeType::Vector; + n_info->m_defined_in = "df.viewscreen.xml"; + n_info->m_addornements = "v*"; + n_info->m_address = base + offset; + n_info->m_parent = p_node_parent; + n_info->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_info); + + field_name = "depot"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_assigntradest, field_name)); + auto n_depot = new NodePointer; + n_depot->m_field_name = field_name; + n_depot->m_df_type = get_real_subtype(base+offset, DF_Type::building_tradedepotst); + n_depot->m_rdf_type = RDF_Type::Pointer; + n_depot->m_node_type = NodeType::Pointer; + n_depot->m_addornements = "*"; + n_depot->m_address = base + offset; + n_depot->m_parent = p_node_parent; + n_depot->m_defined_in = "df.buildings.xml"; + n_depot->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_depot); + + field_name = "lists"; + auto n_lists = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_assigntradest, field_name)); + n_lists->m_field_name = field_name; + n_lists->m_df_type = DF_Type::int32_t; + n_lists->m_rdf_type = RDF_Type::Array; + n_lists->m_node_type = NodeType::Array; + n_lists->m_addornements = "[65v"; + n_lists->m_array_size = 65; + n_lists->m_address = base + offset; + n_lists->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_lists); + + field_name = "visible_lists"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_assigntradest, field_name)); + auto n_visible_lists = new NodeVector; + n_visible_lists->m_field_name = field_name; + n_visible_lists->m_df_type = DF_Type::int16_t; + n_visible_lists->m_rdf_type = RDF_Type::Vector; + n_visible_lists->m_node_type = NodeType::Vector; + n_visible_lists->m_addornements = "v"; + n_visible_lists->m_address = base + offset; + n_visible_lists->m_parent = p_node_parent; + n_visible_lists->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_visible_lists); + + field_name = "sort_distance"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_assigntradest, field_name)); + auto n_sort_distance = new NodeSimple; + n_sort_distance->m_field_name = field_name; + n_sort_distance->m_df_type = DF_Type::Bool; + n_sort_distance->m_rdf_type = RDF_Type::Bool; + n_sort_distance->m_node_type = NodeType::Simple; + n_sort_distance->m_address = base + offset; + n_sort_distance->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sort_distance); + + field_name = "pending_on_top"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_assigntradest, field_name)); + auto n_pending_on_top = new NodeSimple; + n_pending_on_top->m_field_name = field_name; + n_pending_on_top->m_df_type = DF_Type::Bool; + n_pending_on_top->m_rdf_type = RDF_Type::Bool; + n_pending_on_top->m_node_type = NodeType::Simple; + n_pending_on_top->m_address = base + offset; + n_pending_on_top->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pending_on_top); + + field_name = "filter_mandates"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_assigntradest, field_name)); + auto n_filter_mandates = new NodeSimple; + n_filter_mandates->m_field_name = field_name; + n_filter_mandates->m_df_type = DF_Type::Bool; + n_filter_mandates->m_rdf_type = RDF_Type::Bool; + n_filter_mandates->m_node_type = NodeType::Simple; + n_filter_mandates->m_address = base + offset; + n_filter_mandates->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_filter_mandates); + + field_name = "filter"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_assigntradest, field_name)); + auto n_filter = new NodeSimple; + n_filter->m_field_name = field_name; + n_filter->m_df_type = DF_Type::Stl_string; + n_filter->m_rdf_type = RDF_Type::Stl_string; + n_filter->m_node_type = NodeType::Simple; + n_filter->m_address = base + offset; + n_filter->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_filter); + +} +void node_from_viewscreen_layer_choose_language_namest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen_layer; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen_layer(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "entity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_choose_language_namest, field_name)); + auto n_entity = new NodePointer; + n_entity->m_field_name = field_name; + n_entity->m_df_type = get_real_subtype(base+offset, DF_Type::historical_entity); + n_entity->m_rdf_type = RDF_Type::Pointer; + n_entity->m_node_type = NodeType::Pointer; + n_entity->m_addornements = "*"; + n_entity->m_address = base + offset; + n_entity->m_parent = p_node_parent; + n_entity->m_defined_in = "df.entities.xml"; + n_entity->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_entity); + + field_name = "name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_choose_language_namest, field_name)); + auto n_name = new NodePointer; + n_name->m_field_name = field_name; + n_name->m_df_type = get_real_subtype(base+offset, DF_Type::language_name); + n_name->m_rdf_type = RDF_Type::Pointer; + n_name->m_node_type = NodeType::Pointer; + n_name->m_addornements = "*"; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + n_name->m_defined_in = "df.language.xml"; + n_name->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_name); + + field_name = "unk1a"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_choose_language_namest, field_name)); + auto n_unk1a = new NodeSimple; + n_unk1a->m_field_name = field_name; + n_unk1a->m_df_type = DF_Type::int32_t; + n_unk1a->m_rdf_type = RDF_Type::int32_t; + n_unk1a->m_node_type = NodeType::Simple; + n_unk1a->m_address = base + offset; + n_unk1a->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk1a); + + field_name = "current_component"; + auto n_current_component = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_choose_language_namest, field_name)); + n_current_component->m_field_name = field_name; + n_current_component->m_df_type = DF_Type::viewscreen_layer_choose_language_namest__T_current_component; + n_current_component->m_rdf_type = RDF_Type::Enum; + n_current_component->m_node_type = NodeType::Enum; + n_current_component->m_base_type = DF_Type::int32_t; + n_current_component->m_enum_type = "viewscreen_layer_choose_language_namest::T_current_component"; + n_current_component->m_address = base + offset; + n_current_component->m_first_value = 0; + n_current_component->m_last_value = 6; + n_current_component->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_current_component); + + field_name = "unk1c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_choose_language_namest, field_name)); + auto n_unk1c = new NodeSimple; + n_unk1c->m_field_name = field_name; + n_unk1c->m_df_type = DF_Type::int32_t; + n_unk1c->m_rdf_type = RDF_Type::int32_t; + n_unk1c->m_node_type = NodeType::Simple; + n_unk1c->m_address = base + offset; + n_unk1c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk1c); + + field_name = "dictionary"; + auto n_dictionary = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_choose_language_namest, field_name)); + n_dictionary->m_field_name = field_name; + n_dictionary->m_df_type = DF_Type::language_word_table; + n_dictionary->m_rdf_type = RDF_Type::Struct; + n_dictionary->m_node_type = NodeType::Compound; + n_dictionary->m_address = base + offset; + n_dictionary->m_defined_in = "df.language.xml"; + n_dictionary->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dictionary); + + field_name = "list_word"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_choose_language_namest, field_name)); + auto n_list_word = new NodeVector; + n_list_word->m_field_name = field_name; + n_list_word->m_df_type = DF_Type::int32_t; + n_list_word->m_rdf_type = RDF_Type::Vector; + n_list_word->m_node_type = NodeType::Vector; + n_list_word->m_addornements = "v"; + n_list_word->m_address = base + offset; + n_list_word->m_parent = p_node_parent; + n_list_word->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_list_word); + + field_name = "list_part"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_choose_language_namest, field_name)); + auto n_list_part = new NodeVector; + n_list_part->m_field_name = field_name; + n_list_part->m_df_type = DF_Type::part_of_speech; + n_list_part->m_rdf_type = RDF_Type::Vector; + n_list_part->m_node_type = NodeType::Vector; + n_list_part->m_enum_base = DF_Type::int32_t; + n_list_part->m_defined_in = "df.language.xml"; + n_list_part->m_addornements = "v"; + n_list_part->m_address = base + offset; + n_list_part->m_refers_to = "$$._parent.list_word[$].ref-target"; + n_list_part->m_parent = p_node_parent; + n_list_part->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_list_part); + + field_name = "selector"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_choose_language_namest, field_name)); + auto n_selector = new NodeSimple; + n_selector->m_field_name = field_name; + n_selector->m_df_type = DF_Type::Stl_string; + n_selector->m_rdf_type = RDF_Type::Stl_string; + n_selector->m_node_type = NodeType::Simple; + n_selector->m_address = base + offset; + n_selector->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_selector); + +} +void node_from_viewscreen_layer_currencyst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen_layer; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen_layer(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_currencyst, field_name)); + auto n_anon_1 = new NodeVector; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::Void; + n_anon_1->m_rdf_type = RDF_Type::Vector; + n_anon_1->m_node_type = NodeType::Vector; + n_anon_1->m_addornements = "v"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_currencyst, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_currencyst, field_name)); + auto n_anon_3 = new NodeVector; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::Void; + n_anon_3->m_rdf_type = RDF_Type::Vector; + n_anon_3->m_node_type = NodeType::Vector; + n_anon_3->m_addornements = "v"; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + n_anon_3->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_3); + +} +void node_from_viewscreen_layer_export_play_mapst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen_layer; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen_layer(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_export_play_mapst, field_name)); + auto n_anon_1 = new NodeVector; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int8_t; + n_anon_1->m_rdf_type = RDF_Type::Vector; + n_anon_1->m_node_type = NodeType::Vector; + n_anon_1->m_addornements = "v"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_export_play_mapst, field_name)); + auto n_anon_2 = new NodeVector; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int16_t; + n_anon_2->m_rdf_type = RDF_Type::Vector; + n_anon_2->m_node_type = NodeType::Vector; + n_anon_2->m_addornements = "v"; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + n_anon_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_export_play_mapst, field_name)); + auto n_anon_3 = new NodeVector; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int16_t; + n_anon_3->m_rdf_type = RDF_Type::Vector; + n_anon_3->m_node_type = NodeType::Vector; + n_anon_3->m_addornements = "v"; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + n_anon_3->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_export_play_mapst, field_name)); + auto n_anon_4 = new NodeVector; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int16_t; + n_anon_4->m_rdf_type = RDF_Type::Vector; + n_anon_4->m_node_type = NodeType::Vector; + n_anon_4->m_addornements = "v"; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + n_anon_4->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_4); + +} +void node_from_viewscreen_layer_militaryst__T_squads(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "list"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_squads, field_name)); + auto n_list = new NodeVector; + n_list->m_field_name = field_name; + n_list->m_df_type = DF_Type::squad; + n_list->m_rdf_type = RDF_Type::Vector; + n_list->m_node_type = NodeType::Vector; + n_list->m_defined_in = "df.military.xml"; + n_list->m_addornements = "v*"; + n_list->m_address = base + offset; + n_list->m_parent = p_node_parent; + n_list->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_list); + + field_name = "leader_positions"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_squads, field_name)); + auto n_leader_positions = new NodeVector; + n_leader_positions->m_field_name = field_name; + n_leader_positions->m_df_type = DF_Type::entity_position; + n_leader_positions->m_rdf_type = RDF_Type::Vector; + n_leader_positions->m_node_type = NodeType::Vector; + n_leader_positions->m_defined_in = "df.entities.xml"; + n_leader_positions->m_addornements = "v*"; + n_leader_positions->m_address = base + offset; + n_leader_positions->m_parent = p_node_parent; + n_leader_positions->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_leader_positions); + + field_name = "leader_assignments"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_squads, field_name)); + auto n_leader_assignments = new NodeVector; + n_leader_assignments->m_field_name = field_name; + n_leader_assignments->m_df_type = DF_Type::entity_position_assignment; + n_leader_assignments->m_rdf_type = RDF_Type::Vector; + n_leader_assignments->m_node_type = NodeType::Vector; + n_leader_assignments->m_defined_in = "df.entities.xml"; + n_leader_assignments->m_addornements = "v*"; + n_leader_assignments->m_address = base + offset; + n_leader_assignments->m_parent = p_node_parent; + n_leader_assignments->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_leader_assignments); + + field_name = "can_appoint"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_squads, field_name)); + auto n_can_appoint = new NodeVector; + n_can_appoint->m_field_name = field_name; + n_can_appoint->m_df_type = DF_Type::Bool; + n_can_appoint->m_rdf_type = RDF_Type::Vector; + n_can_appoint->m_node_type = NodeType::Vector; + n_can_appoint->m_addornements = "v"; + n_can_appoint->m_address = base + offset; + n_can_appoint->m_parent = p_node_parent; + n_can_appoint->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_can_appoint); + +} +void node_from_viewscreen_layer_militaryst__T_positions(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "assigned"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_positions, field_name)); + auto n_assigned = new NodeVector; + n_assigned->m_field_name = field_name; + n_assigned->m_df_type = DF_Type::unit; + n_assigned->m_rdf_type = RDF_Type::Vector; + n_assigned->m_node_type = NodeType::Vector; + n_assigned->m_defined_in = "df.units.xml"; + n_assigned->m_addornements = "v*"; + n_assigned->m_address = base + offset; + n_assigned->m_parent = p_node_parent; + n_assigned->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_assigned); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_positions, field_name)); + auto n_anon_1 = new NodeVector; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::Vector; + n_anon_1->m_node_type = NodeType::Vector; + n_anon_1->m_addornements = "v"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "skill"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_positions, field_name)); + auto n_skill = new NodeVector; + n_skill->m_field_name = field_name; + n_skill->m_df_type = DF_Type::job_skill; + n_skill->m_rdf_type = RDF_Type::Vector; + n_skill->m_node_type = NodeType::Vector; + n_skill->m_enum_base = DF_Type::int16_t; + n_skill->m_defined_in = "df.skills.xml"; + n_skill->m_addornements = "v"; + n_skill->m_address = base + offset; + n_skill->m_parent = p_node_parent; + n_skill->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_skill); + + field_name = "unk_84"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_positions, field_name)); + auto n_unk_84 = new NodeVector; + n_unk_84->m_field_name = field_name; + n_unk_84->m_df_type = DF_Type::int32_t; + n_unk_84->m_rdf_type = RDF_Type::Vector; + n_unk_84->m_node_type = NodeType::Vector; + n_unk_84->m_addornements = "v"; + n_unk_84->m_address = base + offset; + n_unk_84->m_parent = p_node_parent; + n_unk_84->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_84); + + field_name = "candidates"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_positions, field_name)); + auto n_candidates = new NodeVector; + n_candidates->m_field_name = field_name; + n_candidates->m_df_type = DF_Type::unit; + n_candidates->m_rdf_type = RDF_Type::Vector; + n_candidates->m_node_type = NodeType::Vector; + n_candidates->m_defined_in = "df.units.xml"; + n_candidates->m_addornements = "v*"; + n_candidates->m_address = base + offset; + n_candidates->m_parent = p_node_parent; + n_candidates->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_candidates); + +} +void node_from_viewscreen_layer_militaryst__T_squad_members(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "profession"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_squad_members, field_name)); + auto n_profession = new NodeVector; + n_profession->m_field_name = field_name; + n_profession->m_df_type = DF_Type::profession; + n_profession->m_rdf_type = RDF_Type::Vector; + n_profession->m_node_type = NodeType::Vector; + n_profession->m_enum_base = DF_Type::int16_t; + n_profession->m_defined_in = "df.skills.xml"; + n_profession->m_addornements = "v"; + n_profession->m_address = base + offset; + n_profession->m_parent = p_node_parent; + n_profession->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_profession); + + field_name = "count"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_squad_members, field_name)); + auto n_count = new NodeVector; + n_count->m_field_name = field_name; + n_count->m_df_type = DF_Type::int32_t; + n_count->m_rdf_type = RDF_Type::Vector; + n_count->m_node_type = NodeType::Vector; + n_count->m_addornements = "v"; + n_count->m_address = base + offset; + n_count->m_parent = p_node_parent; + n_count->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_count); + + field_name = "max_count"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_squad_members, field_name)); + auto n_max_count = new NodeVector; + n_max_count->m_field_name = field_name; + n_max_count->m_df_type = DF_Type::int32_t; + n_max_count->m_rdf_type = RDF_Type::Vector; + n_max_count->m_node_type = NodeType::Vector; + n_max_count->m_addornements = "v"; + n_max_count->m_address = base + offset; + n_max_count->m_parent = p_node_parent; + n_max_count->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_max_count); + +} +void node_from_viewscreen_layer_militaryst__T_equip__T_assigned(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "spec"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip__T_assigned, field_name)); + auto n_spec = new NodeVector; + n_spec->m_field_name = field_name; + n_spec->m_df_type = DF_Type::squad_uniform_spec; + n_spec->m_rdf_type = RDF_Type::Vector; + n_spec->m_node_type = NodeType::Vector; + n_spec->m_defined_in = "df.military.xml"; + n_spec->m_addornements = "v*"; + n_spec->m_address = base + offset; + n_spec->m_parent = p_node_parent; + n_spec->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_spec); + + field_name = "category"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip__T_assigned, field_name)); + auto n_category = new NodeVector; + n_category->m_field_name = field_name; + n_category->m_df_type = DF_Type::uniform_category; + n_category->m_rdf_type = RDF_Type::Vector; + n_category->m_node_type = NodeType::Vector; + n_category->m_enum_base = DF_Type::int16_t; + n_category->m_defined_in = "df.military.xml"; + n_category->m_addornements = "v"; + n_category->m_address = base + offset; + n_category->m_parent = p_node_parent; + n_category->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_category); + + field_name = "index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip__T_assigned, field_name)); + auto n_index = new NodeVector; + n_index->m_field_name = field_name; + n_index->m_df_type = DF_Type::int32_t; + n_index->m_rdf_type = RDF_Type::Vector; + n_index->m_node_type = NodeType::Vector; + n_index->m_addornements = "v"; + n_index->m_address = base + offset; + n_index->m_comment = "spec in category vector"; + n_index->m_parent = p_node_parent; + n_index->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_index); + +} +void node_from_viewscreen_layer_militaryst__T_equip__T_uniform(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip__T_uniform, field_name)); + auto n_type = new NodeVector; + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::item_type; + n_type->m_rdf_type = RDF_Type::Vector; + n_type->m_node_type = NodeType::Vector; + n_type->m_enum_base = DF_Type::int16_t; + n_type->m_defined_in = "df.item-raws.xml"; + n_type->m_addornements = "v"; + n_type->m_address = base + offset; + n_type->m_parent = p_node_parent; + n_type->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_type); + + field_name = "subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip__T_uniform, field_name)); + auto n_subtype = new NodeVector; + n_subtype->m_field_name = field_name; + n_subtype->m_df_type = DF_Type::int16_t; + n_subtype->m_rdf_type = RDF_Type::Vector; + n_subtype->m_node_type = NodeType::Vector; + n_subtype->m_addornements = "v"; + n_subtype->m_address = base + offset; + n_subtype->m_parent = p_node_parent; + n_subtype->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_subtype); + + field_name = "category"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip__T_uniform, field_name)); + auto n_category = new NodeVector; + n_category->m_field_name = field_name; + n_category->m_df_type = DF_Type::uniform_category; + n_category->m_rdf_type = RDF_Type::Vector; + n_category->m_node_type = NodeType::Vector; + n_category->m_enum_base = DF_Type::int16_t; + n_category->m_defined_in = "df.military.xml"; + n_category->m_addornements = "v"; + n_category->m_address = base + offset; + n_category->m_parent = p_node_parent; + n_category->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_category); + + field_name = "index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip__T_uniform, field_name)); + auto n_index = new NodeVector; + n_index->m_field_name = field_name; + n_index->m_df_type = DF_Type::int16_t; + n_index->m_rdf_type = RDF_Type::Vector; + n_index->m_node_type = NodeType::Vector; + n_index->m_addornements = "v"; + n_index->m_address = base + offset; + n_index->m_parent = p_node_parent; + n_index->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_index); + + field_name = "info"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip__T_uniform, field_name)); + auto n_info = new NodeVector; + n_info->m_field_name = field_name; + n_info->m_df_type = DF_Type::entity_uniform_item; + n_info->m_rdf_type = RDF_Type::Vector; + n_info->m_node_type = NodeType::Vector; + n_info->m_defined_in = "df.entities.xml"; + n_info->m_addornements = "v*"; + n_info->m_address = base + offset; + n_info->m_parent = p_node_parent; + n_info->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_info); + +} +void node_from_viewscreen_layer_militaryst__T_equip__T_add_item(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip__T_add_item, field_name)); + auto n_type = new NodeVector; + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::item_type; + n_type->m_rdf_type = RDF_Type::Vector; + n_type->m_node_type = NodeType::Vector; + n_type->m_enum_base = DF_Type::int16_t; + n_type->m_defined_in = "df.item-raws.xml"; + n_type->m_addornements = "v"; + n_type->m_address = base + offset; + n_type->m_parent = p_node_parent; + n_type->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_type); + + field_name = "subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip__T_add_item, field_name)); + auto n_subtype = new NodeVector; + n_subtype->m_field_name = field_name; + n_subtype->m_df_type = DF_Type::int16_t; + n_subtype->m_rdf_type = RDF_Type::Vector; + n_subtype->m_node_type = NodeType::Vector; + n_subtype->m_addornements = "v"; + n_subtype->m_address = base + offset; + n_subtype->m_parent = p_node_parent; + n_subtype->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_subtype); + + field_name = "indiv_choice"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip__T_add_item, field_name)); + auto n_indiv_choice = new NodeVector; + n_indiv_choice->m_field_name = field_name; + n_indiv_choice->m_df_type = DF_Type::uniform_indiv_choice; + n_indiv_choice->m_rdf_type = RDF_Type::Vector; + n_indiv_choice->m_node_type = NodeType::Vector; + n_indiv_choice->m_defined_in = "df.military.xml"; + n_indiv_choice->m_addornements = "v"; + n_indiv_choice->m_address = base + offset; + n_indiv_choice->m_parent = p_node_parent; + n_indiv_choice->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_indiv_choice); + + field_name = "foreign"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip__T_add_item, field_name)); + auto n_foreign = new NodeVector; + n_foreign->m_field_name = field_name; + n_foreign->m_df_type = DF_Type::Bool; + n_foreign->m_rdf_type = RDF_Type::Vector; + n_foreign->m_node_type = NodeType::Vector; + n_foreign->m_addornements = "v"; + n_foreign->m_address = base + offset; + n_foreign->m_parent = p_node_parent; + n_foreign->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_foreign); + +} +void node_from_viewscreen_layer_militaryst__T_equip__T_material(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "generic"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip__T_material, field_name)); + auto n_generic = new NodeVector; + n_generic->m_field_name = field_name; + n_generic->m_df_type = DF_Type::entity_material_category; + n_generic->m_rdf_type = RDF_Type::Vector; + n_generic->m_node_type = NodeType::Vector; + n_generic->m_enum_base = DF_Type::int16_t; + n_generic->m_defined_in = "df.entities.xml"; + n_generic->m_addornements = "v"; + n_generic->m_address = base + offset; + n_generic->m_parent = p_node_parent; + n_generic->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_generic); + + field_name = "specific"; + auto n_specific = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip__T_material, field_name)); + n_specific->m_field_name = field_name; + n_specific->m_df_type = DF_Type::material_vec_ref; + n_specific->m_rdf_type = RDF_Type::Struct; + n_specific->m_node_type = NodeType::Compound; + n_specific->m_address = base + offset; + n_specific->m_defined_in = "df.materials.xml"; + n_specific->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_specific); + +} +void node_from_viewscreen_layer_militaryst__T_equip__T_color(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip__T_color, field_name)); + auto n_id = new NodeVector; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::Vector; + n_id->m_node_type = NodeType::Vector; + n_id->m_addornements = "v"; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + n_id->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_id); + + field_name = "dye"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip__T_color, field_name)); + auto n_dye = new NodeVector; + n_dye->m_field_name = field_name; + n_dye->m_df_type = DF_Type::Bool; + n_dye->m_rdf_type = RDF_Type::Vector; + n_dye->m_node_type = NodeType::Vector; + n_dye->m_addornements = "v"; + n_dye->m_address = base + offset; + n_dye->m_parent = p_node_parent; + n_dye->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_dye); + +} +void node_from_viewscreen_layer_militaryst__T_equip(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mode"; + auto n_mode = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip, field_name)); + n_mode->m_field_name = field_name; + n_mode->m_df_type = DF_Type::viewscreen_layer_militaryst__T_equip__T_mode; + n_mode->m_rdf_type = RDF_Type::Enum; + n_mode->m_node_type = NodeType::Enum; + n_mode->m_base_type = enum_base_type(n_mode->m_df_type); + n_mode->m_enum_type = "viewscreen_layer_militaryst::T_equip::T_mode"; + n_mode->m_address = base + offset; + n_mode->m_first_value = 0; + n_mode->m_last_value = 2; + n_mode->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mode); + + field_name = "squads"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip, field_name)); + auto n_squads = new NodeVector; + n_squads->m_field_name = field_name; + n_squads->m_df_type = DF_Type::squad; + n_squads->m_rdf_type = RDF_Type::Vector; + n_squads->m_node_type = NodeType::Vector; + n_squads->m_defined_in = "df.military.xml"; + n_squads->m_addornements = "v*"; + n_squads->m_address = base + offset; + n_squads->m_parent = p_node_parent; + n_squads->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_squads); + + field_name = "units"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip, field_name)); + auto n_units = new NodeVector; + n_units->m_field_name = field_name; + n_units->m_df_type = DF_Type::unit; + n_units->m_rdf_type = RDF_Type::Vector; + n_units->m_node_type = NodeType::Vector; + n_units->m_defined_in = "df.units.xml"; + n_units->m_addornements = "v*"; + n_units->m_address = base + offset; + n_units->m_parent = p_node_parent; + n_units->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_units); + + field_name = "specific_items"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip, field_name)); + auto n_specific_items = new NodeVector; + n_specific_items->m_field_name = field_name; + n_specific_items->m_df_type = DF_Type::item; + n_specific_items->m_rdf_type = RDF_Type::Vector; + n_specific_items->m_node_type = NodeType::Vector; + n_specific_items->m_defined_in = "df.items.xml"; + n_specific_items->m_addornements = "v*"; + n_specific_items->m_address = base + offset; + n_specific_items->m_parent = p_node_parent; + n_specific_items->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_specific_items); + + field_name = "prio_in_move"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip, field_name)); + auto n_prio_in_move = new NodeSimple; + n_prio_in_move->m_field_name = field_name; + n_prio_in_move->m_df_type = DF_Type::int32_t; + n_prio_in_move->m_rdf_type = RDF_Type::int32_t; + n_prio_in_move->m_node_type = NodeType::Simple; + n_prio_in_move->m_address = base + offset; + n_prio_in_move->m_refers_to = "$$._parent.squads[$]"; + n_prio_in_move->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_prio_in_move); + + field_name = "assigned"; + auto n_assigned = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip, field_name)); + n_assigned->m_field_name = field_name; + n_assigned->m_df_type = DF_Type::viewscreen_layer_militaryst__T_equip__T_assigned; + n_assigned->m_rdf_type = RDF_Type::Compound; + n_assigned->m_node_type = NodeType::Compound; + n_assigned->m_address = base + offset; + n_assigned->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_assigned); + + field_name = "assigned_items"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip, field_name)); + auto n_assigned_items = new NodeVector; + n_assigned_items->m_field_name = field_name; + n_assigned_items->m_df_type = DF_Type::item; + n_assigned_items->m_rdf_type = RDF_Type::Vector; + n_assigned_items->m_node_type = NodeType::Vector; + n_assigned_items->m_defined_in = "df.items.xml"; + n_assigned_items->m_addornements = "v*"; + n_assigned_items->m_address = base + offset; + n_assigned_items->m_parent = p_node_parent; + n_assigned_items->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_assigned_items); + + field_name = "edit_spec"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip, field_name)); + auto n_edit_spec = new NodePointer; + n_edit_spec->m_field_name = field_name; + n_edit_spec->m_df_type = get_real_subtype(base+offset, DF_Type::squad_uniform_spec); + n_edit_spec->m_rdf_type = RDF_Type::Pointer; + n_edit_spec->m_node_type = NodeType::Pointer; + n_edit_spec->m_addornements = "*"; + n_edit_spec->m_address = base + offset; + n_edit_spec->m_parent = p_node_parent; + n_edit_spec->m_defined_in = "df.military.xml"; + n_edit_spec->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_edit_spec); + + field_name = "uniforms"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip, field_name)); + auto n_uniforms = new NodeVector; + n_uniforms->m_field_name = field_name; + n_uniforms->m_df_type = DF_Type::entity_uniform; + n_uniforms->m_rdf_type = RDF_Type::Vector; + n_uniforms->m_node_type = NodeType::Vector; + n_uniforms->m_defined_in = "df.entities.xml"; + n_uniforms->m_addornements = "v*"; + n_uniforms->m_address = base + offset; + n_uniforms->m_parent = p_node_parent; + n_uniforms->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_uniforms); + + field_name = "uniform"; + auto n_uniform = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip, field_name)); + n_uniform->m_field_name = field_name; + n_uniform->m_df_type = DF_Type::viewscreen_layer_militaryst__T_equip__T_uniform; + n_uniform->m_rdf_type = RDF_Type::Compound; + n_uniform->m_node_type = NodeType::Compound; + n_uniform->m_address = base + offset; + n_uniform->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_uniform); + + field_name = "edit_mode"; + auto n_edit_mode = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip, field_name)); + n_edit_mode->m_field_name = field_name; + n_edit_mode->m_df_type = DF_Type::viewscreen_layer_militaryst__T_equip__T_edit_mode; + n_edit_mode->m_rdf_type = RDF_Type::Enum; + n_edit_mode->m_node_type = NodeType::Enum; + n_edit_mode->m_base_type = enum_base_type(n_edit_mode->m_df_type); + n_edit_mode->m_enum_type = "viewscreen_layer_militaryst::T_equip::T_edit_mode"; + n_edit_mode->m_address = base + offset; + n_edit_mode->m_first_value = 0; + n_edit_mode->m_last_value = 15; + n_edit_mode->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_edit_mode); + + field_name = "unk_1ec"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip, field_name)); + auto n_unk_1ec= new NodePadding; + n_unk_1ec->m_field_name = field_name; + n_unk_1ec->m_df_type = DF_Type::Padding; + n_unk_1ec->m_rdf_type = RDF_Type::Padding; + n_unk_1ec->m_node_type = NodeType::Padding; + n_unk_1ec->m_address = base + offset; + n_unk_1ec->m_size = 4; + n_unk_1ec->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_1ec); + + field_name = "add_item"; + auto n_add_item = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip, field_name)); + n_add_item->m_field_name = field_name; + n_add_item->m_df_type = DF_Type::viewscreen_layer_militaryst__T_equip__T_add_item; + n_add_item->m_rdf_type = RDF_Type::Compound; + n_add_item->m_node_type = NodeType::Compound; + n_add_item->m_address = base + offset; + n_add_item->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_add_item); + + field_name = "material"; + auto n_material = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip, field_name)); + n_material->m_field_name = field_name; + n_material->m_df_type = DF_Type::viewscreen_layer_militaryst__T_equip__T_material; + n_material->m_rdf_type = RDF_Type::Compound; + n_material->m_node_type = NodeType::Compound; + n_material->m_address = base + offset; + n_material->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_material); + + field_name = "color"; + auto n_color = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip, field_name)); + n_color->m_field_name = field_name; + n_color->m_df_type = DF_Type::viewscreen_layer_militaryst__T_equip__T_color; + n_color->m_rdf_type = RDF_Type::Compound; + n_color->m_node_type = NodeType::Compound; + n_color->m_address = base + offset; + n_color->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_color); + + field_name = "in_name_uniform"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_equip, field_name)); + auto n_in_name_uniform = new NodeSimple; + n_in_name_uniform->m_field_name = field_name; + n_in_name_uniform->m_df_type = DF_Type::Bool; + n_in_name_uniform->m_rdf_type = RDF_Type::Bool; + n_in_name_uniform->m_node_type = NodeType::Simple; + n_in_name_uniform->m_address = base + offset; + n_in_name_uniform->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_in_name_uniform); + +} +void node_from_viewscreen_layer_militaryst__T_ammo__T_add_item(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_ammo__T_add_item, field_name)); + auto n_type = new NodeVector; + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::item_type; + n_type->m_rdf_type = RDF_Type::Vector; + n_type->m_node_type = NodeType::Vector; + n_type->m_enum_base = DF_Type::int16_t; + n_type->m_defined_in = "df.item-raws.xml"; + n_type->m_addornements = "v"; + n_type->m_address = base + offset; + n_type->m_parent = p_node_parent; + n_type->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_type); + + field_name = "subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_ammo__T_add_item, field_name)); + auto n_subtype = new NodeVector; + n_subtype->m_field_name = field_name; + n_subtype->m_df_type = DF_Type::int16_t; + n_subtype->m_rdf_type = RDF_Type::Vector; + n_subtype->m_node_type = NodeType::Vector; + n_subtype->m_addornements = "v"; + n_subtype->m_address = base + offset; + n_subtype->m_parent = p_node_parent; + n_subtype->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_subtype); + + field_name = "foreign"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_ammo__T_add_item, field_name)); + auto n_foreign = new NodeVector; + n_foreign->m_field_name = field_name; + n_foreign->m_df_type = DF_Type::Bool; + n_foreign->m_rdf_type = RDF_Type::Vector; + n_foreign->m_node_type = NodeType::Vector; + n_foreign->m_addornements = "v"; + n_foreign->m_address = base + offset; + n_foreign->m_parent = p_node_parent; + n_foreign->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_foreign); + +} +void node_from_viewscreen_layer_militaryst__T_ammo__T_material(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "generic"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_ammo__T_material, field_name)); + auto n_generic = new NodeVector; + n_generic->m_field_name = field_name; + n_generic->m_df_type = DF_Type::entity_material_category; + n_generic->m_rdf_type = RDF_Type::Vector; + n_generic->m_node_type = NodeType::Vector; + n_generic->m_enum_base = DF_Type::int16_t; + n_generic->m_defined_in = "df.entities.xml"; + n_generic->m_addornements = "v"; + n_generic->m_address = base + offset; + n_generic->m_parent = p_node_parent; + n_generic->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_generic); + + field_name = "specific"; + auto n_specific = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_ammo__T_material, field_name)); + n_specific->m_field_name = field_name; + n_specific->m_df_type = DF_Type::material_vec_ref; + n_specific->m_rdf_type = RDF_Type::Struct; + n_specific->m_node_type = NodeType::Compound; + n_specific->m_address = base + offset; + n_specific->m_defined_in = "df.materials.xml"; + n_specific->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_specific); + +} +void node_from_viewscreen_layer_militaryst__T_ammo(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "squads"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_ammo, field_name)); + auto n_squads = new NodeVector; + n_squads->m_field_name = field_name; + n_squads->m_df_type = DF_Type::squad; + n_squads->m_rdf_type = RDF_Type::Vector; + n_squads->m_node_type = NodeType::Vector; + n_squads->m_defined_in = "df.military.xml"; + n_squads->m_addornements = "v*"; + n_squads->m_address = base + offset; + n_squads->m_comment = "null for hunters"; + n_squads->m_parent = p_node_parent; + n_squads->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_squads); + + field_name = "in_add_item"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_ammo, field_name)); + auto n_in_add_item = new NodeSimple; + n_in_add_item->m_field_name = field_name; + n_in_add_item->m_df_type = DF_Type::Bool; + n_in_add_item->m_rdf_type = RDF_Type::Bool; + n_in_add_item->m_node_type = NodeType::Simple; + n_in_add_item->m_address = base + offset; + n_in_add_item->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_in_add_item); + + field_name = "in_set_material"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_ammo, field_name)); + auto n_in_set_material = new NodeSimple; + n_in_set_material->m_field_name = field_name; + n_in_set_material->m_df_type = DF_Type::Bool; + n_in_set_material->m_rdf_type = RDF_Type::Bool; + n_in_set_material->m_node_type = NodeType::Simple; + n_in_set_material->m_address = base + offset; + n_in_set_material->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_in_set_material); + + field_name = "add_item"; + auto n_add_item = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_ammo, field_name)); + n_add_item->m_field_name = field_name; + n_add_item->m_df_type = DF_Type::viewscreen_layer_militaryst__T_ammo__T_add_item; + n_add_item->m_rdf_type = RDF_Type::Compound; + n_add_item->m_node_type = NodeType::Compound; + n_add_item->m_address = base + offset; + n_add_item->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_add_item); + + field_name = "material"; + auto n_material = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst__T_ammo, field_name)); + n_material->m_field_name = field_name; + n_material->m_df_type = DF_Type::viewscreen_layer_militaryst__T_ammo__T_material; + n_material->m_rdf_type = RDF_Type::Compound; + n_material->m_node_type = NodeType::Compound; + n_material->m_address = base + offset; + n_material->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_material); + +} +void node_from_viewscreen_layer_militaryst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen_layer; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen_layer(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "squads"; + auto n_squads = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst, field_name)); + n_squads->m_field_name = field_name; + n_squads->m_df_type = DF_Type::viewscreen_layer_militaryst__T_squads; + n_squads->m_rdf_type = RDF_Type::Compound; + n_squads->m_node_type = NodeType::Compound; + n_squads->m_address = base + offset; + n_squads->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_squads); + + field_name = "positions"; + auto n_positions = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst, field_name)); + n_positions->m_field_name = field_name; + n_positions->m_df_type = DF_Type::viewscreen_layer_militaryst__T_positions; + n_positions->m_rdf_type = RDF_Type::Compound; + n_positions->m_node_type = NodeType::Compound; + n_positions->m_address = base + offset; + n_positions->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_positions); + + field_name = "page"; + auto n_page = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst, field_name)); + n_page->m_field_name = field_name; + n_page->m_df_type = DF_Type::viewscreen_layer_militaryst__T_page; + n_page->m_rdf_type = RDF_Type::Enum; + n_page->m_node_type = NodeType::Enum; + n_page->m_base_type = enum_base_type(n_page->m_df_type); + n_page->m_enum_type = "viewscreen_layer_militaryst::T_page"; + n_page->m_address = base + offset; + n_page->m_first_value = 0; + n_page->m_last_value = 5; + n_page->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_page); + + field_name = "num_squads"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst, field_name)); + auto n_num_squads = new NodeSimple; + n_num_squads->m_field_name = field_name; + n_num_squads->m_df_type = DF_Type::int32_t; + n_num_squads->m_rdf_type = RDF_Type::int32_t; + n_num_squads->m_node_type = NodeType::Simple; + n_num_squads->m_address = base + offset; + n_num_squads->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_num_squads); + + field_name = "num_soldiers"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst, field_name)); + auto n_num_soldiers = new NodeSimple; + n_num_soldiers->m_field_name = field_name; + n_num_soldiers->m_df_type = DF_Type::int32_t; + n_num_soldiers->m_rdf_type = RDF_Type::int32_t; + n_num_soldiers->m_node_type = NodeType::Simple; + n_num_soldiers->m_address = base + offset; + n_num_soldiers->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_num_soldiers); + + field_name = "num_active"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst, field_name)); + auto n_num_active = new NodeSimple; + n_num_active->m_field_name = field_name; + n_num_active->m_df_type = DF_Type::int32_t; + n_num_active->m_rdf_type = RDF_Type::int32_t; + n_num_active->m_node_type = NodeType::Simple; + n_num_active->m_address = base + offset; + n_num_active->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_num_active); + + field_name = "squad_members"; + auto n_squad_members = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst, field_name)); + n_squad_members->m_field_name = field_name; + n_squad_members->m_df_type = DF_Type::viewscreen_layer_militaryst__T_squad_members; + n_squad_members->m_rdf_type = RDF_Type::Compound; + n_squad_members->m_node_type = NodeType::Compound; + n_squad_members->m_address = base + offset; + n_squad_members->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_squad_members); + + field_name = "in_create_squad"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst, field_name)); + auto n_in_create_squad = new NodeSimple; + n_in_create_squad->m_field_name = field_name; + n_in_create_squad->m_df_type = DF_Type::Bool; + n_in_create_squad->m_rdf_type = RDF_Type::Bool; + n_in_create_squad->m_node_type = NodeType::Simple; + n_in_create_squad->m_address = base + offset; + n_in_create_squad->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_in_create_squad); + + field_name = "in_new_squad"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst, field_name)); + auto n_in_new_squad = new NodeSimple; + n_in_new_squad->m_field_name = field_name; + n_in_new_squad->m_df_type = DF_Type::Bool; + n_in_new_squad->m_rdf_type = RDF_Type::Bool; + n_in_new_squad->m_node_type = NodeType::Simple; + n_in_new_squad->m_address = base + offset; + n_in_new_squad->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_in_new_squad); + + field_name = "unk_e6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst, field_name)); + auto n_unk_e6 = new NodeSimple; + n_unk_e6->m_field_name = field_name; + n_unk_e6->m_df_type = DF_Type::Bool; + n_unk_e6->m_rdf_type = RDF_Type::Bool; + n_unk_e6->m_node_type = NodeType::Simple; + n_unk_e6->m_address = base + offset; + n_unk_e6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_e6); + + field_name = "captain_positions"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst, field_name)); + auto n_captain_positions = new NodeVector; + n_captain_positions->m_field_name = field_name; + n_captain_positions->m_df_type = DF_Type::entity_position; + n_captain_positions->m_rdf_type = RDF_Type::Vector; + n_captain_positions->m_node_type = NodeType::Vector; + n_captain_positions->m_defined_in = "df.entities.xml"; + n_captain_positions->m_addornements = "v*"; + n_captain_positions->m_address = base + offset; + n_captain_positions->m_parent = p_node_parent; + n_captain_positions->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_captain_positions); + + field_name = "new_position"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst, field_name)); + auto n_new_position = new NodePointer; + n_new_position->m_field_name = field_name; + n_new_position->m_df_type = get_real_subtype(base+offset, DF_Type::entity_position); + n_new_position->m_rdf_type = RDF_Type::Pointer; + n_new_position->m_node_type = NodeType::Pointer; + n_new_position->m_addornements = "*"; + n_new_position->m_address = base + offset; + n_new_position->m_parent = p_node_parent; + n_new_position->m_defined_in = "df.entities.xml"; + n_new_position->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_new_position); + + field_name = "unk_fc"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst, field_name)); + auto n_unk_fc = new NodeSimple; + n_unk_fc->m_field_name = field_name; + n_unk_fc->m_df_type = DF_Type::Bool; + n_unk_fc->m_rdf_type = RDF_Type::Bool; + n_unk_fc->m_node_type = NodeType::Simple; + n_unk_fc->m_address = base + offset; + n_unk_fc->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_fc); + + field_name = "in_rename_alert"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst, field_name)); + auto n_in_rename_alert = new NodeSimple; + n_in_rename_alert->m_field_name = field_name; + n_in_rename_alert->m_df_type = DF_Type::Bool; + n_in_rename_alert->m_rdf_type = RDF_Type::Bool; + n_in_rename_alert->m_node_type = NodeType::Simple; + n_in_rename_alert->m_address = base + offset; + n_in_rename_alert->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_in_rename_alert); + + field_name = "in_delete_alert"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst, field_name)); + auto n_in_delete_alert = new NodeSimple; + n_in_delete_alert->m_field_name = field_name; + n_in_delete_alert->m_df_type = DF_Type::Bool; + n_in_delete_alert->m_rdf_type = RDF_Type::Bool; + n_in_delete_alert->m_node_type = NodeType::Simple; + n_in_delete_alert->m_address = base + offset; + n_in_delete_alert->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_in_delete_alert); + + field_name = "unk_ff"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst, field_name)); + auto n_unk_ff = new NodeSimple; + n_unk_ff->m_field_name = field_name; + n_unk_ff->m_df_type = DF_Type::Bool; + n_unk_ff->m_rdf_type = RDF_Type::Bool; + n_unk_ff->m_node_type = NodeType::Simple; + n_unk_ff->m_address = base + offset; + n_unk_ff->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_ff); + + field_name = "alert_squads"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst, field_name)); + auto n_alert_squads = new NodeVector; + n_alert_squads->m_field_name = field_name; + n_alert_squads->m_df_type = DF_Type::squad; + n_alert_squads->m_rdf_type = RDF_Type::Vector; + n_alert_squads->m_node_type = NodeType::Vector; + n_alert_squads->m_defined_in = "df.military.xml"; + n_alert_squads->m_addornements = "v*"; + n_alert_squads->m_address = base + offset; + n_alert_squads->m_parent = p_node_parent; + n_alert_squads->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_alert_squads); + + field_name = "equip"; + auto n_equip = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst, field_name)); + n_equip->m_field_name = field_name; + n_equip->m_df_type = DF_Type::viewscreen_layer_militaryst__T_equip; + n_equip->m_rdf_type = RDF_Type::Compound; + n_equip->m_node_type = NodeType::Compound; + n_equip->m_address = base + offset; + n_equip->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_equip); + + field_name = "ammo"; + auto n_ammo = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst, field_name)); + n_ammo->m_field_name = field_name; + n_ammo->m_df_type = DF_Type::viewscreen_layer_militaryst__T_ammo; + n_ammo->m_rdf_type = RDF_Type::Compound; + n_ammo->m_node_type = NodeType::Compound; + n_ammo->m_address = base + offset; + n_ammo->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ammo); + + field_name = "supplies_squads"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_militaryst, field_name)); + auto n_supplies_squads = new NodeVector; + n_supplies_squads->m_field_name = field_name; + n_supplies_squads->m_df_type = DF_Type::squad; + n_supplies_squads->m_rdf_type = RDF_Type::Vector; + n_supplies_squads->m_node_type = NodeType::Vector; + n_supplies_squads->m_defined_in = "df.military.xml"; + n_supplies_squads->m_addornements = "v*"; + n_supplies_squads->m_address = base + offset; + n_supplies_squads->m_parent = p_node_parent; + n_supplies_squads->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_supplies_squads); + +} +void node_from_viewscreen_layer_musicsoundst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen_layer; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen_layer(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + +} +void node_from_unit_storage_status(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "floor_pos"; + auto n_floor_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_storage_status, field_name)); + n_floor_pos->m_field_name = field_name; + n_floor_pos->m_df_type = DF_Type::coord; + n_floor_pos->m_rdf_type = RDF_Type::Struct; + n_floor_pos->m_node_type = NodeType::Compound; + n_floor_pos->m_address = base + offset; + n_floor_pos->m_defined_in = "df.map.xml"; + n_floor_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_floor_pos); + + field_name = "chest_pos"; + auto n_chest_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_storage_status, field_name)); + n_chest_pos->m_field_name = field_name; + n_chest_pos->m_df_type = DF_Type::coord; + n_chest_pos->m_rdf_type = RDF_Type::Struct; + n_chest_pos->m_node_type = NodeType::Compound; + n_chest_pos->m_address = base + offset; + n_chest_pos->m_defined_in = "df.map.xml"; + n_chest_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_chest_pos); + + field_name = "chest_capacity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_storage_status, field_name)); + auto n_chest_capacity = new NodeSimple; + n_chest_capacity->m_field_name = field_name; + n_chest_capacity->m_df_type = DF_Type::int16_t; + n_chest_capacity->m_rdf_type = RDF_Type::int16_t; + n_chest_capacity->m_node_type = NodeType::Simple; + n_chest_capacity->m_address = base + offset; + n_chest_capacity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_chest_capacity); + + field_name = "cabinet_pos"; + auto n_cabinet_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_storage_status, field_name)); + n_cabinet_pos->m_field_name = field_name; + n_cabinet_pos->m_df_type = DF_Type::coord; + n_cabinet_pos->m_rdf_type = RDF_Type::Struct; + n_cabinet_pos->m_node_type = NodeType::Compound; + n_cabinet_pos->m_address = base + offset; + n_cabinet_pos->m_defined_in = "df.map.xml"; + n_cabinet_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cabinet_pos); + + field_name = "cabinet_capacity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_storage_status, field_name)); + auto n_cabinet_capacity = new NodeSimple; + n_cabinet_capacity->m_field_name = field_name; + n_cabinet_capacity->m_df_type = DF_Type::int16_t; + n_cabinet_capacity->m_rdf_type = RDF_Type::int16_t; + n_cabinet_capacity->m_node_type = NodeType::Simple; + n_cabinet_capacity->m_address = base + offset; + n_cabinet_capacity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cabinet_capacity); + + field_name = "weaponrack_pos"; + auto n_weaponrack_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_storage_status, field_name)); + n_weaponrack_pos->m_field_name = field_name; + n_weaponrack_pos->m_df_type = DF_Type::coord; + n_weaponrack_pos->m_rdf_type = RDF_Type::Struct; + n_weaponrack_pos->m_node_type = NodeType::Compound; + n_weaponrack_pos->m_address = base + offset; + n_weaponrack_pos->m_defined_in = "df.map.xml"; + n_weaponrack_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_weaponrack_pos); + + field_name = "weaponrack_capacity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_storage_status, field_name)); + auto n_weaponrack_capacity = new NodeSimple; + n_weaponrack_capacity->m_field_name = field_name; + n_weaponrack_capacity->m_df_type = DF_Type::int16_t; + n_weaponrack_capacity->m_rdf_type = RDF_Type::int16_t; + n_weaponrack_capacity->m_node_type = NodeType::Simple; + n_weaponrack_capacity->m_address = base + offset; + n_weaponrack_capacity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_weaponrack_capacity); + + field_name = "armorstand_capacity"; + auto n_armorstand_capacity = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_storage_status, field_name)); + n_armorstand_capacity->m_field_name = field_name; + n_armorstand_capacity->m_df_type = DF_Type::int8_t; + n_armorstand_capacity->m_rdf_type = RDF_Type::Array; + n_armorstand_capacity->m_node_type = NodeType::Array; + n_armorstand_capacity->m_addornements = "[6"; + n_armorstand_capacity->m_array_size = 6; + n_armorstand_capacity->m_address = base + offset; + n_armorstand_capacity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_armorstand_capacity); + + field_name = "armorstand_pos"; + auto n_armorstand_pos = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_storage_status, field_name)); + n_armorstand_pos->m_field_name = field_name; + n_armorstand_pos->m_df_type = DF_Type::coord; + n_armorstand_pos->m_rdf_type = RDF_Type::Array; + n_armorstand_pos->m_node_type = NodeType::Array; + n_armorstand_pos->m_defined_in = "df.map.xml"; + n_armorstand_pos->m_addornements = "[6"; + n_armorstand_pos->m_array_size = 6; + n_armorstand_pos->m_address = base + offset; + n_armorstand_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_armorstand_pos); + + field_name = "num_owned_items"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_storage_status, field_name)); + auto n_num_owned_items = new NodeSimple; + n_num_owned_items->m_field_name = field_name; + n_num_owned_items->m_df_type = DF_Type::int32_t; + n_num_owned_items->m_rdf_type = RDF_Type::int32_t; + n_num_owned_items->m_node_type = NodeType::Simple; + n_num_owned_items->m_address = base + offset; + n_num_owned_items->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_num_owned_items); + + field_name = "num_owned_chests"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_storage_status, field_name)); + auto n_num_owned_chests = new NodeSimple; + n_num_owned_chests->m_field_name = field_name; + n_num_owned_chests->m_df_type = DF_Type::int32_t; + n_num_owned_chests->m_rdf_type = RDF_Type::int32_t; + n_num_owned_chests->m_node_type = NodeType::Simple; + n_num_owned_chests->m_address = base + offset; + n_num_owned_chests->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_num_owned_chests); + + field_name = "num_owned_cabinets"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_storage_status, field_name)); + auto n_num_owned_cabinets = new NodeSimple; + n_num_owned_cabinets->m_field_name = field_name; + n_num_owned_cabinets->m_df_type = DF_Type::int32_t; + n_num_owned_cabinets->m_rdf_type = RDF_Type::int32_t; + n_num_owned_cabinets->m_node_type = NodeType::Simple; + n_num_owned_cabinets->m_address = base + offset; + n_num_owned_cabinets->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_num_owned_cabinets); + + field_name = "num_owned_weaponracks"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_storage_status, field_name)); + auto n_num_owned_weaponracks = new NodeSimple; + n_num_owned_weaponracks->m_field_name = field_name; + n_num_owned_weaponracks->m_df_type = DF_Type::int32_t; + n_num_owned_weaponracks->m_rdf_type = RDF_Type::int32_t; + n_num_owned_weaponracks->m_node_type = NodeType::Simple; + n_num_owned_weaponracks->m_address = base + offset; + n_num_owned_weaponracks->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_num_owned_weaponracks); + + field_name = "num_owned_armorstands"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::unit_storage_status, field_name)); + auto n_num_owned_armorstands = new NodeSimple; + n_num_owned_armorstands->m_field_name = field_name; + n_num_owned_armorstands->m_df_type = DF_Type::int32_t; + n_num_owned_armorstands->m_rdf_type = RDF_Type::int32_t; + n_num_owned_armorstands->m_node_type = NodeType::Simple; + n_num_owned_armorstands->m_address = base + offset; + n_num_owned_armorstands->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_num_owned_armorstands); + +} +void node_from_viewscreen_layer_noblelistst__T_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unit"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_noblelistst__T_info, field_name)); + auto n_unit = new NodePointer; + n_unit->m_field_name = field_name; + n_unit->m_df_type = get_real_subtype(base+offset, DF_Type::unit); + n_unit->m_rdf_type = RDF_Type::Pointer; + n_unit->m_node_type = NodeType::Pointer; + n_unit->m_addornements = "*"; + n_unit->m_address = base + offset; + n_unit->m_parent = p_node_parent; + n_unit->m_defined_in = "df.units.xml"; + n_unit->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unit); + + field_name = "nemesis"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_noblelistst__T_info, field_name)); + auto n_nemesis = new NodePointer; + n_nemesis->m_field_name = field_name; + n_nemesis->m_df_type = get_real_subtype(base+offset, DF_Type::nemesis_record); + n_nemesis->m_rdf_type = RDF_Type::Pointer; + n_nemesis->m_node_type = NodeType::Pointer; + n_nemesis->m_addornements = "*"; + n_nemesis->m_address = base + offset; + n_nemesis->m_parent = p_node_parent; + n_nemesis->m_defined_in = "df.legends.xml"; + n_nemesis->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_nemesis); + + field_name = "storage_status"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_noblelistst__T_info, field_name)); + auto n_storage_status = new NodePointer; + n_storage_status->m_field_name = field_name; + n_storage_status->m_df_type = get_real_subtype(base+offset, DF_Type::unit_storage_status); + n_storage_status->m_rdf_type = RDF_Type::Pointer; + n_storage_status->m_node_type = NodeType::Pointer; + n_storage_status->m_addornements = "*"; + n_storage_status->m_address = base + offset; + n_storage_status->m_parent = p_node_parent; + n_storage_status->m_defined_in = "df.viewscreen.xml"; + n_storage_status->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_storage_status); + + field_name = "position"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_noblelistst__T_info, field_name)); + auto n_position = new NodePointer; + n_position->m_field_name = field_name; + n_position->m_df_type = get_real_subtype(base+offset, DF_Type::entity_position); + n_position->m_rdf_type = RDF_Type::Pointer; + n_position->m_node_type = NodeType::Pointer; + n_position->m_addornements = "*"; + n_position->m_address = base + offset; + n_position->m_parent = p_node_parent; + n_position->m_defined_in = "df.entities.xml"; + n_position->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_position); + + field_name = "assignment"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_noblelistst__T_info, field_name)); + auto n_assignment = new NodePointer; + n_assignment->m_field_name = field_name; + n_assignment->m_df_type = get_real_subtype(base+offset, DF_Type::entity_position_assignment); + n_assignment->m_rdf_type = RDF_Type::Pointer; + n_assignment->m_node_type = NodeType::Pointer; + n_assignment->m_addornements = "*"; + n_assignment->m_address = base + offset; + n_assignment->m_parent = p_node_parent; + n_assignment->m_defined_in = "df.entities.xml"; + n_assignment->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_assignment); + + field_name = "group"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_noblelistst__T_info, field_name)); + auto n_group = new NodeSimple; + n_group->m_field_name = field_name; + n_group->m_df_type = DF_Type::int32_t; + n_group->m_rdf_type = RDF_Type::int32_t; + n_group->m_node_type = NodeType::Simple; + n_group->m_address = base + offset; + n_group->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_group); + + field_name = "precedence"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_noblelistst__T_info, field_name)); + auto n_precedence = new NodeSimple; + n_precedence->m_field_name = field_name; + n_precedence->m_df_type = DF_Type::int32_t; + n_precedence->m_rdf_type = RDF_Type::int32_t; + n_precedence->m_node_type = NodeType::Simple; + n_precedence->m_address = base + offset; + n_precedence->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_precedence); + +} +void node_from_viewscreen_layer_noblelistst__T_candidates(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unit"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_noblelistst__T_candidates, field_name)); + auto n_unit = new NodePointer; + n_unit->m_field_name = field_name; + n_unit->m_df_type = get_real_subtype(base+offset, DF_Type::unit); + n_unit->m_rdf_type = RDF_Type::Pointer; + n_unit->m_node_type = NodeType::Pointer; + n_unit->m_addornements = "*"; + n_unit->m_address = base + offset; + n_unit->m_parent = p_node_parent; + n_unit->m_defined_in = "df.units.xml"; + n_unit->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unit); + + field_name = "weight"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_noblelistst__T_candidates, field_name)); + auto n_weight = new NodeSimple; + n_weight->m_field_name = field_name; + n_weight->m_df_type = DF_Type::int32_t; + n_weight->m_rdf_type = RDF_Type::int32_t; + n_weight->m_node_type = NodeType::Simple; + n_weight->m_address = base + offset; + n_weight->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_weight); + +} +void node_from_viewscreen_layer_noblelistst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen_layer; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen_layer(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mode"; + auto n_mode = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_noblelistst, field_name)); + n_mode->m_field_name = field_name; + n_mode->m_df_type = DF_Type::viewscreen_layer_noblelistst__T_mode; + n_mode->m_rdf_type = RDF_Type::Enum; + n_mode->m_node_type = NodeType::Enum; + n_mode->m_base_type = DF_Type::int16_t; + n_mode->m_enum_type = "viewscreen_layer_noblelistst::T_mode"; + n_mode->m_address = base + offset; + n_mode->m_first_value = 0; + n_mode->m_last_value = 2; + n_mode->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mode); + + field_name = "info"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_noblelistst, field_name)); + auto n_info = new NodeVector; + n_info->m_field_name = field_name; + n_info->m_df_type = DF_Type::viewscreen_layer_noblelistst__T_info; + n_info->m_rdf_type = RDF_Type::Vector; + n_info->m_node_type = NodeType::Vector; + n_info->m_addornements = "v*"; + n_info->m_address = base + offset; + n_info->m_parent = p_node_parent; + n_info->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_info); + + field_name = "candidates"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_noblelistst, field_name)); + auto n_candidates = new NodeVector; + n_candidates->m_field_name = field_name; + n_candidates->m_df_type = DF_Type::viewscreen_layer_noblelistst__T_candidates; + n_candidates->m_rdf_type = RDF_Type::Vector; + n_candidates->m_node_type = NodeType::Vector; + n_candidates->m_addornements = "v*"; + n_candidates->m_address = base + offset; + n_candidates->m_parent = p_node_parent; + n_candidates->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_candidates); + + field_name = "assignments"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_noblelistst, field_name)); + auto n_assignments = new NodeVector; + n_assignments->m_field_name = field_name; + n_assignments->m_df_type = DF_Type::entity_position_assignment; + n_assignments->m_rdf_type = RDF_Type::Vector; + n_assignments->m_node_type = NodeType::Vector; + n_assignments->m_defined_in = "df.entities.xml"; + n_assignments->m_addornements = "v*"; + n_assignments->m_address = base + offset; + n_assignments->m_parent = p_node_parent; + n_assignments->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_assignments); + + field_name = "histfigs"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_noblelistst, field_name)); + auto n_histfigs = new NodeVector; + n_histfigs->m_field_name = field_name; + n_histfigs->m_df_type = DF_Type::int32_t; + n_histfigs->m_rdf_type = RDF_Type::Vector; + n_histfigs->m_node_type = NodeType::Vector; + n_histfigs->m_addornements = "v"; + n_histfigs->m_address = base + offset; + n_histfigs->m_parent = p_node_parent; + n_histfigs->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_histfigs); + + field_name = "groups"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_noblelistst, field_name)); + auto n_groups = new NodeVector; + n_groups->m_field_name = field_name; + n_groups->m_df_type = DF_Type::int32_t; + n_groups->m_rdf_type = RDF_Type::Vector; + n_groups->m_node_type = NodeType::Vector; + n_groups->m_addornements = "v"; + n_groups->m_address = base + offset; + n_groups->m_parent = p_node_parent; + n_groups->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_groups); + +} +void node_from_viewscreen_layer_overall_healthst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen_layer; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen_layer(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_overall_healthst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "unit"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_overall_healthst, field_name)); + auto n_unit = new NodeVector; + n_unit->m_field_name = field_name; + n_unit->m_df_type = DF_Type::unit; + n_unit->m_rdf_type = RDF_Type::Vector; + n_unit->m_node_type = NodeType::Vector; + n_unit->m_defined_in = "df.units.xml"; + n_unit->m_addornements = "v*"; + n_unit->m_address = base + offset; + n_unit->m_parent = p_node_parent; + n_unit->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unit); + + field_name = "bits1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_overall_healthst, field_name)); + auto n_bits1 = new NodeVector; + n_bits1->m_field_name = field_name; + n_bits1->m_df_type = DF_Type::health_view_bits1; + n_bits1->m_rdf_type = RDF_Type::Vector; + n_bits1->m_node_type = NodeType::Vector; + n_bits1->m_defined_in = "df.viewscreen.xml"; + n_bits1->m_addornements = "v"; + n_bits1->m_address = base + offset; + n_bits1->m_parent = p_node_parent; + n_bits1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bits1); + + field_name = "bits2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_overall_healthst, field_name)); + auto n_bits2 = new NodeVector; + n_bits2->m_field_name = field_name; + n_bits2->m_df_type = DF_Type::health_view_bits2; + n_bits2->m_rdf_type = RDF_Type::Vector; + n_bits2->m_node_type = NodeType::Vector; + n_bits2->m_defined_in = "df.viewscreen.xml"; + n_bits2->m_addornements = "v"; + n_bits2->m_address = base + offset; + n_bits2->m_parent = p_node_parent; + n_bits2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bits2); + + field_name = "bits3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_overall_healthst, field_name)); + auto n_bits3 = new NodeVector; + n_bits3->m_field_name = field_name; + n_bits3->m_df_type = DF_Type::health_view_bits3; + n_bits3->m_rdf_type = RDF_Type::Vector; + n_bits3->m_node_type = NodeType::Vector; + n_bits3->m_defined_in = "df.viewscreen.xml"; + n_bits3->m_addornements = "v"; + n_bits3->m_address = base + offset; + n_bits3->m_parent = p_node_parent; + n_bits3->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bits3); + + field_name = "x_cursor_pos"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_overall_healthst, field_name)); + auto n_x_cursor_pos = new NodeSimple; + n_x_cursor_pos->m_field_name = field_name; + n_x_cursor_pos->m_df_type = DF_Type::int32_t; + n_x_cursor_pos->m_rdf_type = RDF_Type::int32_t; + n_x_cursor_pos->m_node_type = NodeType::Simple; + n_x_cursor_pos->m_address = base + offset; + n_x_cursor_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_x_cursor_pos); + +} +void node_from_viewscreen_layer_reactionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen_layer; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen_layer(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_reactionst, field_name)); + auto n_anon_1 = new NodePointer; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_anon_1->m_rdf_type = RDF_Type::Pointer; + n_anon_1->m_node_type = NodeType::Pointer; + n_anon_1->m_addornements = "*"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_reactionst, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_reactionst, field_name)); + auto n_anon_3 = new NodeVector; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::Bool; + n_anon_3->m_rdf_type = RDF_Type::Vector; + n_anon_3->m_node_type = NodeType::Vector; + n_anon_3->m_addornements = "v"; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + n_anon_3->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_reactionst, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int8_t; + n_anon_4->m_rdf_type = RDF_Type::int8_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + +} +void node_from_viewscreen_layer_squad_schedulest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen_layer; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen_layer(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "squads"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_squad_schedulest, field_name)); + auto n_squads = new NodeVector; + n_squads->m_field_name = field_name; + n_squads->m_df_type = DF_Type::squad; + n_squads->m_rdf_type = RDF_Type::Vector; + n_squads->m_node_type = NodeType::Vector; + n_squads->m_defined_in = "df.military.xml"; + n_squads->m_addornements = "v*"; + n_squads->m_address = base + offset; + n_squads->m_parent = p_node_parent; + n_squads->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_squads); + + field_name = "swapped"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_squad_schedulest, field_name)); + auto n_swapped = new NodeSimple; + n_swapped->m_field_name = field_name; + n_swapped->m_df_type = DF_Type::int8_t; + n_swapped->m_rdf_type = RDF_Type::int8_t; + n_swapped->m_node_type = NodeType::Simple; + n_swapped->m_address = base + offset; + n_swapped->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_swapped); + + field_name = "page_month"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_squad_schedulest, field_name)); + auto n_page_month = new NodeSimple; + n_page_month->m_field_name = field_name; + n_page_month->m_df_type = DF_Type::int32_t; + n_page_month->m_rdf_type = RDF_Type::int32_t; + n_page_month->m_node_type = NodeType::Simple; + n_page_month->m_address = base + offset; + n_page_month->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_page_month); + + field_name = "cur_alert"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_squad_schedulest, field_name)); + auto n_cur_alert = new NodeSimple; + n_cur_alert->m_field_name = field_name; + n_cur_alert->m_df_type = DF_Type::int32_t; + n_cur_alert->m_rdf_type = RDF_Type::int32_t; + n_cur_alert->m_node_type = NodeType::Simple; + n_cur_alert->m_address = base + offset; + n_cur_alert->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cur_alert); + + field_name = "in_name_cell"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_squad_schedulest, field_name)); + auto n_in_name_cell = new NodeSimple; + n_in_name_cell->m_field_name = field_name; + n_in_name_cell->m_df_type = DF_Type::Bool; + n_in_name_cell->m_rdf_type = RDF_Type::Bool; + n_in_name_cell->m_node_type = NodeType::Simple; + n_in_name_cell->m_address = base + offset; + n_in_name_cell->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_in_name_cell); + + field_name = "in_give_order"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_squad_schedulest, field_name)); + auto n_in_give_order = new NodeSimple; + n_in_give_order->m_field_name = field_name; + n_in_give_order->m_df_type = DF_Type::Bool; + n_in_give_order->m_rdf_type = RDF_Type::Bool; + n_in_give_order->m_node_type = NodeType::Simple; + n_in_give_order->m_address = base + offset; + n_in_give_order->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_in_give_order); + + field_name = "in_edit_order"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_squad_schedulest, field_name)); + auto n_in_edit_order = new NodeSimple; + n_in_edit_order->m_field_name = field_name; + n_in_edit_order->m_df_type = DF_Type::Bool; + n_in_edit_order->m_rdf_type = RDF_Type::Bool; + n_in_edit_order->m_node_type = NodeType::Simple; + n_in_edit_order->m_address = base + offset; + n_in_edit_order->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_in_edit_order); + + field_name = "order_list"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_squad_schedulest, field_name)); + auto n_order_list = new NodePointer; + n_order_list->m_field_name = field_name; + n_order_list->m_df_type = get_real_subtype(base+offset, DF_Type::squad_schedule_entry); + n_order_list->m_rdf_type = RDF_Type::Pointer; + n_order_list->m_node_type = NodeType::Pointer; + n_order_list->m_addornements = "*"; + n_order_list->m_address = base + offset; + n_order_list->m_parent = p_node_parent; + n_order_list->m_defined_in = "df.military.xml"; + n_order_list->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_order_list); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_squad_schedulest, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "order_month"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_squad_schedulest, field_name)); + auto n_order_month = new NodeSimple; + n_order_month->m_field_name = field_name; + n_order_month->m_df_type = DF_Type::int32_t; + n_order_month->m_rdf_type = RDF_Type::int32_t; + n_order_month->m_node_type = NodeType::Simple; + n_order_month->m_address = base + offset; + n_order_month->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_order_month); + + field_name = "order_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_squad_schedulest, field_name)); + auto n_order_type = new NodeSimple; + n_order_type->m_field_name = field_name; + n_order_type->m_df_type = DF_Type::int32_t; + n_order_type->m_rdf_type = RDF_Type::int32_t; + n_order_type->m_node_type = NodeType::Simple; + n_order_type->m_address = base + offset; + n_order_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_order_type); + + field_name = "burrows"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_squad_schedulest, field_name)); + auto n_burrows = new NodeVector; + n_burrows->m_field_name = field_name; + n_burrows->m_df_type = DF_Type::Bool; + n_burrows->m_rdf_type = RDF_Type::Vector; + n_burrows->m_node_type = NodeType::Vector; + n_burrows->m_addornements = "v"; + n_burrows->m_address = base + offset; + n_burrows->m_parent = p_node_parent; + n_burrows->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_burrows); + + field_name = "patrol_route"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_squad_schedulest, field_name)); + auto n_patrol_route = new NodeSimple; + n_patrol_route->m_field_name = field_name; + n_patrol_route->m_df_type = DF_Type::int32_t; + n_patrol_route->m_rdf_type = RDF_Type::int32_t; + n_patrol_route->m_node_type = NodeType::Simple; + n_patrol_route->m_address = base + offset; + n_patrol_route->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_patrol_route); + + field_name = "min_soldiers"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_squad_schedulest, field_name)); + auto n_min_soldiers = new NodeSimple; + n_min_soldiers->m_field_name = field_name; + n_min_soldiers->m_df_type = DF_Type::int32_t; + n_min_soldiers->m_rdf_type = RDF_Type::int32_t; + n_min_soldiers->m_node_type = NodeType::Simple; + n_min_soldiers->m_address = base + offset; + n_min_soldiers->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_min_soldiers); + + field_name = "positions"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_squad_schedulest, field_name)); + auto n_positions = new NodeVector; + n_positions->m_field_name = field_name; + n_positions->m_df_type = DF_Type::Bool; + n_positions->m_rdf_type = RDF_Type::Vector; + n_positions->m_node_type = NodeType::Vector; + n_positions->m_addornements = "v"; + n_positions->m_address = base + offset; + n_positions->m_parent = p_node_parent; + n_positions->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_positions); + + field_name = "station_point"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_squad_schedulest, field_name)); + auto n_station_point = new NodeSimple; + n_station_point->m_field_name = field_name; + n_station_point->m_df_type = DF_Type::int32_t; + n_station_point->m_rdf_type = RDF_Type::int32_t; + n_station_point->m_node_type = NodeType::Simple; + n_station_point->m_address = base + offset; + n_station_point->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_station_point); + + field_name = "copy_item"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_squad_schedulest, field_name)); + auto n_copy_item = new NodePointer; + n_copy_item->m_field_name = field_name; + n_copy_item->m_df_type = get_real_subtype(base+offset, DF_Type::squad_schedule_entry); + n_copy_item->m_rdf_type = RDF_Type::Pointer; + n_copy_item->m_node_type = NodeType::Pointer; + n_copy_item->m_addornements = "*"; + n_copy_item->m_address = base + offset; + n_copy_item->m_parent = p_node_parent; + n_copy_item->m_defined_in = "df.military.xml"; + n_copy_item->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_copy_item); + +} +void node_from_viewscreen_layer_stockpilest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen_layer; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen_layer(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "settings"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_stockpilest, field_name)); + auto n_settings = new NodePointer; + n_settings->m_field_name = field_name; + n_settings->m_df_type = get_real_subtype(base+offset, DF_Type::stockpile_settings); + n_settings->m_rdf_type = RDF_Type::Pointer; + n_settings->m_node_type = NodeType::Pointer; + n_settings->m_addornements = "*"; + n_settings->m_address = base + offset; + n_settings->m_parent = p_node_parent; + n_settings->m_defined_in = "df.stockpile.xml"; + n_settings->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_settings); + + field_name = "cur_group"; + auto n_cur_group = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_stockpilest, field_name)); + n_cur_group->m_field_name = field_name; + n_cur_group->m_df_type = DF_Type::stockpile_list; + n_cur_group->m_rdf_type = RDF_Type::Enum; + n_cur_group->m_node_type = NodeType::Enum; + n_cur_group->m_base_type = DF_Type::int32_t; + n_cur_group->m_enum_type = "stockpile_list"; + n_cur_group->m_address = base + offset; + n_cur_group->m_defined_in = "df.stockpile.xml"; + n_cur_group->m_first_value = 0; + n_cur_group->m_last_value = 104; + n_cur_group->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cur_group); + + field_name = "cur_list"; + auto n_cur_list = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_stockpilest, field_name)); + n_cur_list->m_field_name = field_name; + n_cur_list->m_df_type = DF_Type::stockpile_list; + n_cur_list->m_rdf_type = RDF_Type::Enum; + n_cur_list->m_node_type = NodeType::Enum; + n_cur_list->m_base_type = DF_Type::int32_t; + n_cur_list->m_enum_type = "stockpile_list"; + n_cur_list->m_address = base + offset; + n_cur_list->m_defined_in = "df.stockpile.xml"; + n_cur_list->m_first_value = 0; + n_cur_list->m_last_value = 104; + n_cur_list->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cur_list); + + field_name = "group_ids"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_stockpilest, field_name)); + auto n_group_ids = new NodeVector; + n_group_ids->m_field_name = field_name; + n_group_ids->m_df_type = DF_Type::stockpile_list; + n_group_ids->m_rdf_type = RDF_Type::Vector; + n_group_ids->m_node_type = NodeType::Vector; + n_group_ids->m_enum_base = DF_Type::int32_t; + n_group_ids->m_defined_in = "df.stockpile.xml"; + n_group_ids->m_addornements = "v"; + n_group_ids->m_address = base + offset; + n_group_ids->m_parent = p_node_parent; + n_group_ids->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_group_ids); + + field_name = "group_bits"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_stockpilest, field_name)); + auto n_group_bits = new NodeVector; + n_group_bits->m_field_name = field_name; + n_group_bits->m_df_type = DF_Type::stockpile_group_set; + n_group_bits->m_rdf_type = RDF_Type::Vector; + n_group_bits->m_node_type = NodeType::Vector; + n_group_bits->m_defined_in = "df.stockpile.xml"; + n_group_bits->m_addornements = "v"; + n_group_bits->m_address = base + offset; + n_group_bits->m_parent = p_node_parent; + n_group_bits->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_group_bits); + + field_name = "list_ids"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_stockpilest, field_name)); + auto n_list_ids = new NodeVector; + n_list_ids->m_field_name = field_name; + n_list_ids->m_df_type = DF_Type::stockpile_list; + n_list_ids->m_rdf_type = RDF_Type::Vector; + n_list_ids->m_node_type = NodeType::Vector; + n_list_ids->m_enum_base = DF_Type::int32_t; + n_list_ids->m_defined_in = "df.stockpile.xml"; + n_list_ids->m_addornements = "v"; + n_list_ids->m_address = base + offset; + n_list_ids->m_parent = p_node_parent; + n_list_ids->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_list_ids); + + field_name = "item_names"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_stockpilest, field_name)); + auto n_item_names = new NodeVector; + n_item_names->m_field_name = field_name; + n_item_names->m_df_type = DF_Type::Stl_string; + n_item_names->m_rdf_type = RDF_Type::Vector; + n_item_names->m_node_type = NodeType::Vector; + n_item_names->m_addornements = "v*"; + n_item_names->m_address = base + offset; + n_item_names->m_parent = p_node_parent; + n_item_names->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_item_names); + + field_name = "item_status"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_stockpilest, field_name)); + auto n_item_status = new NodeVector; + n_item_status->m_field_name = field_name; + n_item_status->m_df_type = DF_Type::Bool; + n_item_status->m_rdf_type = RDF_Type::Vector; + n_item_status->m_node_type = NodeType::Vector; + n_item_status->m_addornements = "v*"; + n_item_status->m_address = base + offset; + n_item_status->m_parent = p_node_parent; + n_item_status->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_item_status); + + field_name = "title"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_stockpilest, field_name)); + auto n_title = new NodeSimple; + n_title->m_field_name = field_name; + n_title->m_df_type = DF_Type::Stl_string; + n_title->m_rdf_type = RDF_Type::Stl_string; + n_title->m_node_type = NodeType::Simple; + n_title->m_address = base + offset; + n_title->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_title); + +} +void node_from_viewscreen_layer_stone_restrictionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen_layer; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen_layer(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "stone_type"; + auto n_stone_type = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_stone_restrictionst, field_name)); + n_stone_type->m_field_name = field_name; + n_stone_type->m_df_type = DF_Type::int32_t; + n_stone_type->m_rdf_type = RDF_Type::Array; + n_stone_type->m_node_type = NodeType::Array; + n_stone_type->m_addornements = "[2v"; + n_stone_type->m_array_size = 2; + n_stone_type->m_address = base + offset; + n_stone_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_stone_type); + + field_name = "stone_economic"; + auto n_stone_economic = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_stone_restrictionst, field_name)); + n_stone_economic->m_field_name = field_name; + n_stone_economic->m_df_type = DF_Type::Bool; + n_stone_economic->m_rdf_type = RDF_Type::Array; + n_stone_economic->m_node_type = NodeType::Array; + n_stone_economic->m_addornements = "[2v*"; + n_stone_economic->m_array_size = 2; + n_stone_economic->m_address = base + offset; + n_stone_economic->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_stone_economic); + + field_name = "type_tab"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_stone_restrictionst, field_name)); + auto n_type_tab = new NodeSimple; + n_type_tab->m_field_name = field_name; + n_type_tab->m_df_type = DF_Type::int32_t; + n_type_tab->m_rdf_type = RDF_Type::int32_t; + n_type_tab->m_node_type = NodeType::Simple; + n_type_tab->m_address = base + offset; + n_type_tab->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type_tab); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_stone_restrictionst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_stone_restrictionst, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "use_name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_stone_restrictionst, field_name)); + auto n_use_name = new NodeVector; + n_use_name->m_field_name = field_name; + n_use_name->m_df_type = DF_Type::Stl_string; + n_use_name->m_rdf_type = RDF_Type::Vector; + n_use_name->m_node_type = NodeType::Vector; + n_use_name->m_addornements = "v*"; + n_use_name->m_address = base + offset; + n_use_name->m_parent = p_node_parent; + n_use_name->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_use_name); + + field_name = "use_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_stone_restrictionst, field_name)); + auto n_use_id = new NodeVector; + n_use_id->m_field_name = field_name; + n_use_id->m_df_type = DF_Type::int32_t; + n_use_id->m_rdf_type = RDF_Type::Vector; + n_use_id->m_node_type = NodeType::Vector; + n_use_id->m_addornements = "v"; + n_use_id->m_address = base + offset; + n_use_id->m_parent = p_node_parent; + n_use_id->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_use_id); + +} +void node_from_viewscreen_layer_unit_actionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen_layer; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen_layer(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unit"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); + auto n_unit = new NodePointer; + n_unit->m_field_name = field_name; + n_unit->m_df_type = get_real_subtype(base+offset, DF_Type::unit); + n_unit->m_rdf_type = RDF_Type::Pointer; + n_unit->m_node_type = NodeType::Pointer; + n_unit->m_addornements = "*"; + n_unit->m_address = base + offset; + n_unit->m_parent = p_node_parent; + n_unit->m_defined_in = "df.units.xml"; + n_unit->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unit); + + field_name = "held_items"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); + auto n_held_items = new NodeVector; + n_held_items->m_field_name = field_name; + n_held_items->m_df_type = DF_Type::item; + n_held_items->m_rdf_type = RDF_Type::Vector; + n_held_items->m_node_type = NodeType::Vector; + n_held_items->m_defined_in = "df.items.xml"; + n_held_items->m_addornements = "v*"; + n_held_items->m_address = base + offset; + n_held_items->m_parent = p_node_parent; + n_held_items->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_held_items); + + field_name = "reactions"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); + auto n_reactions = new NodeVector; + n_reactions->m_field_name = field_name; + n_reactions->m_df_type = DF_Type::reaction; + n_reactions->m_rdf_type = RDF_Type::Vector; + n_reactions->m_node_type = NodeType::Vector; + n_reactions->m_defined_in = "df.reaction-raws.xml"; + n_reactions->m_addornements = "v*"; + n_reactions->m_address = base + offset; + n_reactions->m_parent = p_node_parent; + n_reactions->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_reactions); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); + auto n_anon_1 = new NodeVector; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::Void; + n_anon_1->m_rdf_type = RDF_Type::Vector; + n_anon_1->m_node_type = NodeType::Vector; + n_anon_1->m_addornements = "v"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "group_name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); + auto n_group_name = new NodeSimple; + n_group_name->m_field_name = field_name; + n_group_name->m_df_type = DF_Type::Stl_string; + n_group_name->m_rdf_type = RDF_Type::Stl_string; + n_group_name->m_node_type = NodeType::Simple; + n_group_name->m_address = base + offset; + n_group_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_group_name); + + field_name = "choice_items"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); + auto n_choice_items = new NodeVector; + n_choice_items->m_field_name = field_name; + n_choice_items->m_df_type = DF_Type::item; + n_choice_items->m_rdf_type = RDF_Type::Vector; + n_choice_items->m_node_type = NodeType::Vector; + n_choice_items->m_defined_in = "df.items.xml"; + n_choice_items->m_addornements = "v*"; + n_choice_items->m_address = base + offset; + n_choice_items->m_parent = p_node_parent; + n_choice_items->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_choice_items); + + field_name = "sel_items"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); + auto n_sel_items = new NodeVector; + n_sel_items->m_field_name = field_name; + n_sel_items->m_df_type = DF_Type::item; + n_sel_items->m_rdf_type = RDF_Type::Vector; + n_sel_items->m_node_type = NodeType::Vector; + n_sel_items->m_defined_in = "df.items.xml"; + n_sel_items->m_addornements = "v*"; + n_sel_items->m_address = base + offset; + n_sel_items->m_parent = p_node_parent; + n_sel_items->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_sel_items); + + field_name = "sel_reagents"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); + auto n_sel_reagents = new NodeVector; + n_sel_reagents->m_field_name = field_name; + n_sel_reagents->m_df_type = DF_Type::int32_t; + n_sel_reagents->m_rdf_type = RDF_Type::Vector; + n_sel_reagents->m_node_type = NodeType::Vector; + n_sel_reagents->m_addornements = "v"; + n_sel_reagents->m_address = base + offset; + n_sel_reagents->m_refers_to = "$$._global.cur_reaction[$]"; + n_sel_reagents->m_parent = p_node_parent; + n_sel_reagents->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_sel_reagents); + + field_name = "cur_reaction"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); + auto n_cur_reaction = new NodePointer; + n_cur_reaction->m_field_name = field_name; + n_cur_reaction->m_df_type = get_real_subtype(base+offset, DF_Type::reaction); + n_cur_reaction->m_rdf_type = RDF_Type::Pointer; + n_cur_reaction->m_node_type = NodeType::Pointer; + n_cur_reaction->m_addornements = "*"; + n_cur_reaction->m_address = base + offset; + n_cur_reaction->m_parent = p_node_parent; + n_cur_reaction->m_defined_in = "df.reaction-raws.xml"; + n_cur_reaction->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_cur_reaction); + + field_name = "reagent"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); + auto n_reagent = new NodeSimple; + n_reagent->m_field_name = field_name; + n_reagent->m_df_type = DF_Type::int32_t; + n_reagent->m_rdf_type = RDF_Type::int32_t; + n_reagent->m_node_type = NodeType::Simple; + n_reagent->m_address = base + offset; + n_reagent->m_refers_to = "$$.cur_reaction.reagents[$]"; + n_reagent->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_reagent); + + field_name = "reagent_amnt_left"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); + auto n_reagent_amnt_left = new NodeSimple; + n_reagent_amnt_left->m_field_name = field_name; + n_reagent_amnt_left->m_df_type = DF_Type::int32_t; + n_reagent_amnt_left->m_rdf_type = RDF_Type::int32_t; + n_reagent_amnt_left->m_node_type = NodeType::Simple; + n_reagent_amnt_left->m_address = base + offset; + n_reagent_amnt_left->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_reagent_amnt_left); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); + auto n_anon_2 = new NodeVector; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::Void; + n_anon_2->m_rdf_type = RDF_Type::Vector; + n_anon_2->m_node_type = NodeType::Vector; + n_anon_2->m_addornements = "v"; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + n_anon_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); + auto n_anon_6 = new NodeVector; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::Void; + n_anon_6->m_rdf_type = RDF_Type::Vector; + n_anon_6->m_node_type = NodeType::Vector; + n_anon_6->m_addornements = "v"; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + n_anon_6->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); + auto n_anon_7 = new NodeVector; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::Void; + n_anon_7->m_rdf_type = RDF_Type::Vector; + n_anon_7->m_node_type = NodeType::Vector; + n_anon_7->m_addornements = "v"; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + n_anon_7->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_7); + + field_name = "anon_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); + auto n_anon_8 = new NodeVector; + n_anon_8->m_field_name = field_name; + n_anon_8->m_df_type = DF_Type::Void; + n_anon_8->m_rdf_type = RDF_Type::Vector; + n_anon_8->m_node_type = NodeType::Vector; + n_anon_8->m_addornements = "v"; + n_anon_8->m_address = base + offset; + n_anon_8->m_parent = p_node_parent; + n_anon_8->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_8); + + field_name = "anon_9"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); + auto n_anon_9 = new NodeVector; + n_anon_9->m_field_name = field_name; + n_anon_9->m_df_type = DF_Type::Void; + n_anon_9->m_rdf_type = RDF_Type::Vector; + n_anon_9->m_node_type = NodeType::Vector; + n_anon_9->m_addornements = "v"; + n_anon_9->m_address = base + offset; + n_anon_9->m_parent = p_node_parent; + n_anon_9->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_9); + + field_name = "anon_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); + auto n_anon_10 = new NodeVector; + n_anon_10->m_field_name = field_name; + n_anon_10->m_df_type = DF_Type::Void; + n_anon_10->m_rdf_type = RDF_Type::Vector; + n_anon_10->m_node_type = NodeType::Vector; + n_anon_10->m_addornements = "v"; + n_anon_10->m_address = base + offset; + n_anon_10->m_parent = p_node_parent; + n_anon_10->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_10); + + field_name = "anon_11"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); + auto n_anon_11 = new NodeVector; + n_anon_11->m_field_name = field_name; + n_anon_11->m_df_type = DF_Type::Void; + n_anon_11->m_rdf_type = RDF_Type::Vector; + n_anon_11->m_node_type = NodeType::Vector; + n_anon_11->m_addornements = "v"; + n_anon_11->m_address = base + offset; + n_anon_11->m_parent = p_node_parent; + n_anon_11->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_11); + + field_name = "anon_12"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); + auto n_anon_12 = new NodeVector; + n_anon_12->m_field_name = field_name; + n_anon_12->m_df_type = DF_Type::Void; + n_anon_12->m_rdf_type = RDF_Type::Vector; + n_anon_12->m_node_type = NodeType::Vector; + n_anon_12->m_addornements = "v"; + n_anon_12->m_address = base + offset; + n_anon_12->m_parent = p_node_parent; + n_anon_12->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_12); + + field_name = "anon_13"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); + auto n_anon_13 = new NodeVector; + n_anon_13->m_field_name = field_name; + n_anon_13->m_df_type = DF_Type::Void; + n_anon_13->m_rdf_type = RDF_Type::Vector; + n_anon_13->m_node_type = NodeType::Vector; + n_anon_13->m_addornements = "v"; + n_anon_13->m_address = base + offset; + n_anon_13->m_parent = p_node_parent; + n_anon_13->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_13); + + field_name = "anon_14"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); + auto n_anon_14 = new NodeVector; + n_anon_14->m_field_name = field_name; + n_anon_14->m_df_type = DF_Type::Void; + n_anon_14->m_rdf_type = RDF_Type::Vector; + n_anon_14->m_node_type = NodeType::Vector; + n_anon_14->m_addornements = "v"; + n_anon_14->m_address = base + offset; + n_anon_14->m_parent = p_node_parent; + n_anon_14->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_14); + + field_name = "anon_15"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); + auto n_anon_15 = new NodeVector; + n_anon_15->m_field_name = field_name; + n_anon_15->m_df_type = DF_Type::Void; + n_anon_15->m_rdf_type = RDF_Type::Vector; + n_anon_15->m_node_type = NodeType::Vector; + n_anon_15->m_addornements = "v"; + n_anon_15->m_address = base + offset; + n_anon_15->m_parent = p_node_parent; + n_anon_15->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_15); + + field_name = "anon_16"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); + auto n_anon_16 = new NodeVector; + n_anon_16->m_field_name = field_name; + n_anon_16->m_df_type = DF_Type::Void; + n_anon_16->m_rdf_type = RDF_Type::Vector; + n_anon_16->m_node_type = NodeType::Vector; + n_anon_16->m_addornements = "v"; + n_anon_16->m_address = base + offset; + n_anon_16->m_parent = p_node_parent; + n_anon_16->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_16); + + field_name = "anon_17"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); + auto n_anon_17 = new NodeVector; + n_anon_17->m_field_name = field_name; + n_anon_17->m_df_type = DF_Type::Void; + n_anon_17->m_rdf_type = RDF_Type::Vector; + n_anon_17->m_node_type = NodeType::Vector; + n_anon_17->m_addornements = "v"; + n_anon_17->m_address = base + offset; + n_anon_17->m_parent = p_node_parent; + n_anon_17->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_17); + + field_name = "unk_20"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); + auto n_unk_20 = new NodeSimple; + n_unk_20->m_field_name = field_name; + n_unk_20->m_df_type = DF_Type::int32_t; + n_unk_20->m_rdf_type = RDF_Type::int32_t; + n_unk_20->m_node_type = NodeType::Simple; + n_unk_20->m_address = base + offset; + n_unk_20->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_20); + + field_name = "unk_21"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); + auto n_unk_21 = new NodePointer; + n_unk_21->m_field_name = field_name; + n_unk_21->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_unk_21->m_rdf_type = RDF_Type::Pointer; + n_unk_21->m_node_type = NodeType::Pointer; + n_unk_21->m_addornements = "*"; + n_unk_21->m_address = base + offset; + n_unk_21->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_21); + + field_name = "anon_18"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); + auto n_anon_18 = new NodeVector; + n_anon_18->m_field_name = field_name; + n_anon_18->m_df_type = DF_Type::Void; + n_anon_18->m_rdf_type = RDF_Type::Vector; + n_anon_18->m_node_type = NodeType::Vector; + n_anon_18->m_addornements = "v"; + n_anon_18->m_address = base + offset; + n_anon_18->m_parent = p_node_parent; + n_anon_18->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_18); + + field_name = "anon_19"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); + auto n_anon_19 = new NodeVector; + n_anon_19->m_field_name = field_name; + n_anon_19->m_df_type = DF_Type::Void; + n_anon_19->m_rdf_type = RDF_Type::Vector; + n_anon_19->m_node_type = NodeType::Vector; + n_anon_19->m_addornements = "v"; + n_anon_19->m_address = base + offset; + n_anon_19->m_parent = p_node_parent; + n_anon_19->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_19); + + field_name = "anon_20"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_actionst, field_name)); + auto n_anon_20 = new NodeVector; + n_anon_20->m_field_name = field_name; + n_anon_20->m_df_type = DF_Type::Void; + n_anon_20->m_rdf_type = RDF_Type::Vector; + n_anon_20->m_node_type = NodeType::Vector; + n_anon_20->m_addornements = "v"; + n_anon_20->m_address = base + offset; + n_anon_20->m_parent = p_node_parent; + n_anon_20->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_20); + +} +void node_from_viewscreen_layer_unit_healthst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen_layer; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen_layer(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_healthst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "unit"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_healthst, field_name)); + auto n_unit = new NodePointer; + n_unit->m_field_name = field_name; + n_unit->m_df_type = get_real_subtype(base+offset, DF_Type::unit); + n_unit->m_rdf_type = RDF_Type::Pointer; + n_unit->m_node_type = NodeType::Pointer; + n_unit->m_addornements = "*"; + n_unit->m_address = base + offset; + n_unit->m_parent = p_node_parent; + n_unit->m_defined_in = "df.units.xml"; + n_unit->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unit); + + field_name = "page"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_healthst, field_name)); + auto n_page = new NodeSimple; + n_page->m_field_name = field_name; + n_page->m_df_type = DF_Type::int16_t; + n_page->m_rdf_type = RDF_Type::int16_t; + n_page->m_node_type = NodeType::Simple; + n_page->m_address = base + offset; + n_page->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_page); + + field_name = "title"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_healthst, field_name)); + auto n_title = new NodeSimple; + n_title->m_field_name = field_name; + n_title->m_df_type = DF_Type::Stl_string; + n_title->m_rdf_type = RDF_Type::Stl_string; + n_title->m_node_type = NodeType::Simple; + n_title->m_address = base + offset; + n_title->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_title); + + field_name = "text"; + auto n_text = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_healthst, field_name)); + n_text->m_field_name = field_name; + n_text->m_df_type = DF_Type::Stl_string; + n_text->m_rdf_type = RDF_Type::Array; + n_text->m_node_type = NodeType::Array; + n_text->m_addornements = "[4v*"; + n_text->m_array_size = 4; + n_text->m_address = base + offset; + n_text->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_text); + + field_name = "text_fg"; + auto n_text_fg = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_healthst, field_name)); + n_text_fg->m_field_name = field_name; + n_text_fg->m_df_type = DF_Type::int16_t; + n_text_fg->m_rdf_type = RDF_Type::Array; + n_text_fg->m_node_type = NodeType::Array; + n_text_fg->m_addornements = "[4v"; + n_text_fg->m_array_size = 4; + n_text_fg->m_address = base + offset; + n_text_fg->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_text_fg); + + field_name = "text_bg"; + auto n_text_bg = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_healthst, field_name)); + n_text_bg->m_field_name = field_name; + n_text_bg->m_df_type = DF_Type::int16_t; + n_text_bg->m_rdf_type = RDF_Type::Array; + n_text_bg->m_node_type = NodeType::Array; + n_text_bg->m_addornements = "[4v"; + n_text_bg->m_array_size = 4; + n_text_bg->m_address = base + offset; + n_text_bg->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_text_bg); + + field_name = "text_bold"; + auto n_text_bold = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_healthst, field_name)); + n_text_bold->m_field_name = field_name; + n_text_bold->m_df_type = DF_Type::int16_t; + n_text_bold->m_rdf_type = RDF_Type::Array; + n_text_bold->m_node_type = NodeType::Array; + n_text_bold->m_addornements = "[4v"; + n_text_bold->m_array_size = 4; + n_text_bold->m_address = base + offset; + n_text_bold->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_text_bold); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_healthst, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_healthst, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_healthst, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_healthst, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + +} +void node_from_viewscreen_layer_unit_relationshipst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen_layer; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen_layer(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unit"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_relationshipst, field_name)); + auto n_unit = new NodePointer; + n_unit->m_field_name = field_name; + n_unit->m_df_type = get_real_subtype(base+offset, DF_Type::unit); + n_unit->m_rdf_type = RDF_Type::Pointer; + n_unit->m_node_type = NodeType::Pointer; + n_unit->m_addornements = "*"; + n_unit->m_address = base + offset; + n_unit->m_parent = p_node_parent; + n_unit->m_defined_in = "df.units.xml"; + n_unit->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unit); + + field_name = "relation_textline"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_relationshipst, field_name)); + auto n_relation_textline = new NodeVector; + n_relation_textline->m_field_name = field_name; + n_relation_textline->m_df_type = DF_Type::Stl_string; + n_relation_textline->m_rdf_type = RDF_Type::Vector; + n_relation_textline->m_node_type = NodeType::Vector; + n_relation_textline->m_addornements = "v*"; + n_relation_textline->m_address = base + offset; + n_relation_textline->m_parent = p_node_parent; + n_relation_textline->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_relation_textline); + + field_name = "relation_unit_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_relationshipst, field_name)); + auto n_relation_unit_type = new NodeVector; + n_relation_unit_type->m_field_name = field_name; + n_relation_unit_type->m_df_type = DF_Type::unit_relationship_type; + n_relation_unit_type->m_rdf_type = RDF_Type::Vector; + n_relation_unit_type->m_node_type = NodeType::Vector; + n_relation_unit_type->m_enum_base = DF_Type::int16_t; + n_relation_unit_type->m_defined_in = "df.units.xml"; + n_relation_unit_type->m_addornements = "v"; + n_relation_unit_type->m_address = base + offset; + n_relation_unit_type->m_parent = p_node_parent; + n_relation_unit_type->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_relation_unit_type); + + field_name = "relation_histfig_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_relationshipst, field_name)); + auto n_relation_histfig_type = new NodeVector; + n_relation_histfig_type->m_field_name = field_name; + n_relation_histfig_type->m_df_type = DF_Type::histfig_relationship_type; + n_relation_histfig_type->m_rdf_type = RDF_Type::Vector; + n_relation_histfig_type->m_node_type = NodeType::Vector; + n_relation_histfig_type->m_enum_base = DF_Type::int16_t; + n_relation_histfig_type->m_defined_in = "df.history.xml"; + n_relation_histfig_type->m_addornements = "v"; + n_relation_histfig_type->m_address = base + offset; + n_relation_histfig_type->m_parent = p_node_parent; + n_relation_histfig_type->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_relation_histfig_type); + + field_name = "relation_unit"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_relationshipst, field_name)); + auto n_relation_unit = new NodeVector; + n_relation_unit->m_field_name = field_name; + n_relation_unit->m_df_type = DF_Type::unit; + n_relation_unit->m_rdf_type = RDF_Type::Vector; + n_relation_unit->m_node_type = NodeType::Vector; + n_relation_unit->m_defined_in = "df.units.xml"; + n_relation_unit->m_addornements = "v*"; + n_relation_unit->m_address = base + offset; + n_relation_unit->m_parent = p_node_parent; + n_relation_unit->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_relation_unit); + + field_name = "relation_hf"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_relationshipst, field_name)); + auto n_relation_hf = new NodeVector; + n_relation_hf->m_field_name = field_name; + n_relation_hf->m_df_type = DF_Type::historical_figure; + n_relation_hf->m_rdf_type = RDF_Type::Vector; + n_relation_hf->m_node_type = NodeType::Vector; + n_relation_hf->m_defined_in = "df.history.xml"; + n_relation_hf->m_addornements = "v*"; + n_relation_hf->m_address = base + offset; + n_relation_hf->m_parent = p_node_parent; + n_relation_hf->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_relation_hf); + + field_name = "level"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_unit_relationshipst, field_name)); + auto n_level = new NodeVector; + n_level->m_field_name = field_name; + n_level->m_df_type = DF_Type::int32_t; + n_level->m_rdf_type = RDF_Type::Vector; + n_level->m_node_type = NodeType::Vector; + n_level->m_addornements = "v"; + n_level->m_address = base + offset; + n_level->m_parent = p_node_parent; + n_level->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_level); + +} +void node_from_viewscreen_layer_world_gen_paramst__T_unk1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_paramst__T_unk1, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_paramst__T_unk1, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_paramst__T_unk1, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_paramst__T_unk1, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_paramst__T_unk1, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_paramst__T_unk1, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_paramst__T_unk1, field_name)); + auto n_anon_7 = new NodeSimple; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::int32_t; + n_anon_7->m_rdf_type = RDF_Type::int32_t; + n_anon_7->m_node_type = NodeType::Simple; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_7); + + field_name = "anon_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_paramst__T_unk1, field_name)); + auto n_anon_8 = new NodeSimple; + n_anon_8->m_field_name = field_name; + n_anon_8->m_df_type = DF_Type::int32_t; + n_anon_8->m_rdf_type = RDF_Type::int32_t; + n_anon_8->m_node_type = NodeType::Simple; + n_anon_8->m_address = base + offset; + n_anon_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_8); + + field_name = "anon_9"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_paramst__T_unk1, field_name)); + auto n_anon_9 = new NodeSimple; + n_anon_9->m_field_name = field_name; + n_anon_9->m_df_type = DF_Type::int32_t; + n_anon_9->m_rdf_type = RDF_Type::int32_t; + n_anon_9->m_node_type = NodeType::Simple; + n_anon_9->m_address = base + offset; + n_anon_9->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_9); + + field_name = "anon_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_paramst__T_unk1, field_name)); + auto n_anon_10 = new NodeSimple; + n_anon_10->m_field_name = field_name; + n_anon_10->m_df_type = DF_Type::int32_t; + n_anon_10->m_rdf_type = RDF_Type::int32_t; + n_anon_10->m_node_type = NodeType::Simple; + n_anon_10->m_address = base + offset; + n_anon_10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_10); + + field_name = "anon_11"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_paramst__T_unk1, field_name)); + auto n_anon_11 = new NodeSimple; + n_anon_11->m_field_name = field_name; + n_anon_11->m_df_type = DF_Type::int32_t; + n_anon_11->m_rdf_type = RDF_Type::int32_t; + n_anon_11->m_node_type = NodeType::Simple; + n_anon_11->m_address = base + offset; + n_anon_11->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_11); + + field_name = "anon_12"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_paramst__T_unk1, field_name)); + auto n_anon_12 = new NodeSimple; + n_anon_12->m_field_name = field_name; + n_anon_12->m_df_type = DF_Type::int32_t; + n_anon_12->m_rdf_type = RDF_Type::int32_t; + n_anon_12->m_node_type = NodeType::Simple; + n_anon_12->m_address = base + offset; + n_anon_12->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_12); + + field_name = "anon_13"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_paramst__T_unk1, field_name)); + auto n_anon_13 = new NodeSimple; + n_anon_13->m_field_name = field_name; + n_anon_13->m_df_type = DF_Type::int32_t; + n_anon_13->m_rdf_type = RDF_Type::int32_t; + n_anon_13->m_node_type = NodeType::Simple; + n_anon_13->m_address = base + offset; + n_anon_13->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_13); + + field_name = "anon_14"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_paramst__T_unk1, field_name)); + auto n_anon_14 = new NodeSimple; + n_anon_14->m_field_name = field_name; + n_anon_14->m_df_type = DF_Type::int32_t; + n_anon_14->m_rdf_type = RDF_Type::int32_t; + n_anon_14->m_node_type = NodeType::Simple; + n_anon_14->m_address = base + offset; + n_anon_14->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_14); + + field_name = "anon_15"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_paramst__T_unk1, field_name)); + auto n_anon_15 = new NodeSimple; + n_anon_15->m_field_name = field_name; + n_anon_15->m_df_type = DF_Type::int32_t; + n_anon_15->m_rdf_type = RDF_Type::int32_t; + n_anon_15->m_node_type = NodeType::Simple; + n_anon_15->m_address = base + offset; + n_anon_15->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_15); + + field_name = "anon_16"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_paramst__T_unk1, field_name)); + auto n_anon_16 = new NodeSimple; + n_anon_16->m_field_name = field_name; + n_anon_16->m_df_type = DF_Type::int32_t; + n_anon_16->m_rdf_type = RDF_Type::int32_t; + n_anon_16->m_node_type = NodeType::Simple; + n_anon_16->m_address = base + offset; + n_anon_16->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_16); + + field_name = "anon_17"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_paramst__T_unk1, field_name)); + auto n_anon_17 = new NodeSimple; + n_anon_17->m_field_name = field_name; + n_anon_17->m_df_type = DF_Type::int32_t; + n_anon_17->m_rdf_type = RDF_Type::int32_t; + n_anon_17->m_node_type = NodeType::Simple; + n_anon_17->m_address = base + offset; + n_anon_17->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_17); + + field_name = "anon_18"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_paramst__T_unk1, field_name)); + auto n_anon_18 = new NodeSimple; + n_anon_18->m_field_name = field_name; + n_anon_18->m_df_type = DF_Type::int32_t; + n_anon_18->m_rdf_type = RDF_Type::int32_t; + n_anon_18->m_node_type = NodeType::Simple; + n_anon_18->m_address = base + offset; + n_anon_18->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_18); + + field_name = "anon_19"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_paramst__T_unk1, field_name)); + auto n_anon_19 = new NodeSimple; + n_anon_19->m_field_name = field_name; + n_anon_19->m_df_type = DF_Type::int32_t; + n_anon_19->m_rdf_type = RDF_Type::int32_t; + n_anon_19->m_node_type = NodeType::Simple; + n_anon_19->m_address = base + offset; + n_anon_19->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_19); + + field_name = "anon_20"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_paramst__T_unk1, field_name)); + auto n_anon_20 = new NodeSimple; + n_anon_20->m_field_name = field_name; + n_anon_20->m_df_type = DF_Type::int32_t; + n_anon_20->m_rdf_type = RDF_Type::int32_t; + n_anon_20->m_node_type = NodeType::Simple; + n_anon_20->m_address = base + offset; + n_anon_20->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_20); + + field_name = "anon_21"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_paramst__T_unk1, field_name)); + auto n_anon_21 = new NodeSimple; + n_anon_21->m_field_name = field_name; + n_anon_21->m_df_type = DF_Type::int32_t; + n_anon_21->m_rdf_type = RDF_Type::int32_t; + n_anon_21->m_node_type = NodeType::Simple; + n_anon_21->m_address = base + offset; + n_anon_21->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_21); + + field_name = "anon_22"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_paramst__T_unk1, field_name)); + auto n_anon_22 = new NodeSimple; + n_anon_22->m_field_name = field_name; + n_anon_22->m_df_type = DF_Type::int32_t; + n_anon_22->m_rdf_type = RDF_Type::int32_t; + n_anon_22->m_node_type = NodeType::Simple; + n_anon_22->m_address = base + offset; + n_anon_22->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_22); + + field_name = "anon_23"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_paramst__T_unk1, field_name)); + auto n_anon_23 = new NodeSimple; + n_anon_23->m_field_name = field_name; + n_anon_23->m_df_type = DF_Type::int32_t; + n_anon_23->m_rdf_type = RDF_Type::int32_t; + n_anon_23->m_node_type = NodeType::Simple; + n_anon_23->m_address = base + offset; + n_anon_23->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_23); + + field_name = "anon_24"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_paramst__T_unk1, field_name)); + auto n_anon_24 = new NodeSimple; + n_anon_24->m_field_name = field_name; + n_anon_24->m_df_type = DF_Type::int32_t; + n_anon_24->m_rdf_type = RDF_Type::int32_t; + n_anon_24->m_node_type = NodeType::Simple; + n_anon_24->m_address = base + offset; + n_anon_24->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_24); + + field_name = "anon_25"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_paramst__T_unk1, field_name)); + auto n_anon_25 = new NodeSimple; + n_anon_25->m_field_name = field_name; + n_anon_25->m_df_type = DF_Type::int32_t; + n_anon_25->m_rdf_type = RDF_Type::int32_t; + n_anon_25->m_node_type = NodeType::Simple; + n_anon_25->m_address = base + offset; + n_anon_25->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_25); + + field_name = "anon_26"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_paramst__T_unk1, field_name)); + auto n_anon_26 = new NodeSimple; + n_anon_26->m_field_name = field_name; + n_anon_26->m_df_type = DF_Type::int32_t; + n_anon_26->m_rdf_type = RDF_Type::int32_t; + n_anon_26->m_node_type = NodeType::Simple; + n_anon_26->m_address = base + offset; + n_anon_26->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_26); + +} +void node_from_viewscreen_layer_world_gen_paramst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen_layer; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen_layer(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_paramst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_paramst, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::Stl_string; + n_anon_2->m_rdf_type = RDF_Type::Stl_string; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_paramst, field_name)); + auto n_anon_3 = new NodeVector; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::Void; + n_anon_3->m_rdf_type = RDF_Type::Vector; + n_anon_3->m_node_type = NodeType::Vector; + n_anon_3->m_addornements = "v"; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + n_anon_3->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "unk1"; + auto n_unk1 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_paramst, field_name)); + n_unk1->m_field_name = field_name; + n_unk1->m_df_type = DF_Type::viewscreen_layer_world_gen_paramst__T_unk1; + n_unk1->m_rdf_type = RDF_Type::Compound; + n_unk1->m_node_type = NodeType::Compound; + n_unk1->m_address = base + offset; + n_unk1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk1); + +} +void node_from_viewscreen_layer_world_gen_param_presetst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen_layer; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen_layer(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_param_presetst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_param_presetst, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_param_presetst, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::Stl_string; + n_anon_3->m_rdf_type = RDF_Type::Stl_string; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + auto n_anon_4 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_param_presetst, field_name)); + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int16_t; + n_anon_4->m_rdf_type = RDF_Type::Array; + n_anon_4->m_node_type = NodeType::Array; + n_anon_4->m_addornements = "[24"; + n_anon_4->m_array_size = 24; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + auto n_anon_5 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_param_presetst, field_name)); + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int8_t; + n_anon_5->m_rdf_type = RDF_Type::Array; + n_anon_5->m_node_type = NodeType::Array; + n_anon_5->m_addornements = "[24"; + n_anon_5->m_array_size = 24; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_param_presetst, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_param_presetst, field_name)); + auto n_anon_7 = new NodeSimple; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::int16_t; + n_anon_7->m_rdf_type = RDF_Type::int16_t; + n_anon_7->m_node_type = NodeType::Simple; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_7); + + field_name = "anon_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_param_presetst, field_name)); + auto n_anon_8 = new NodeSimple; + n_anon_8->m_field_name = field_name; + n_anon_8->m_df_type = DF_Type::int16_t; + n_anon_8->m_rdf_type = RDF_Type::int16_t; + n_anon_8->m_node_type = NodeType::Simple; + n_anon_8->m_address = base + offset; + n_anon_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_8); + + field_name = "anon_9"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_param_presetst, field_name)); + auto n_anon_9 = new NodeSimple; + n_anon_9->m_field_name = field_name; + n_anon_9->m_df_type = DF_Type::int16_t; + n_anon_9->m_rdf_type = RDF_Type::int16_t; + n_anon_9->m_node_type = NodeType::Simple; + n_anon_9->m_address = base + offset; + n_anon_9->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_9); + + field_name = "anon_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_layer_world_gen_param_presetst, field_name)); + auto n_anon_10 = new NodeSimple; + n_anon_10->m_field_name = field_name; + n_anon_10->m_df_type = DF_Type::int16_t; + n_anon_10->m_rdf_type = RDF_Type::int16_t; + n_anon_10->m_node_type = NodeType::Simple; + n_anon_10->m_address = base + offset; + n_anon_10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_10); + +} +void node_from_viewscreen_legendsst__T_anon_7__T_anon_3(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst__T_anon_7__T_anon_3, field_name)); + auto n_anon_1 = new NodePointer; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_anon_1->m_rdf_type = RDF_Type::Pointer; + n_anon_1->m_node_type = NodeType::Pointer; + n_anon_1->m_addornements = "*"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst__T_anon_7__T_anon_3, field_name)); + auto n_anon_2 = new NodePointer; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_anon_2->m_rdf_type = RDF_Type::Pointer; + n_anon_2->m_node_type = NodeType::Pointer; + n_anon_2->m_addornements = "*"; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst__T_anon_7__T_anon_3, field_name)); + auto n_anon_3 = new NodePointer; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_anon_3->m_rdf_type = RDF_Type::Pointer; + n_anon_3->m_node_type = NodeType::Pointer; + n_anon_3->m_addornements = "*"; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst__T_anon_7__T_anon_3, field_name)); + auto n_anon_4 = new NodePointer; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_anon_4->m_rdf_type = RDF_Type::Pointer; + n_anon_4->m_node_type = NodeType::Pointer; + n_anon_4->m_addornements = "*"; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst__T_anon_7__T_anon_3, field_name)); + auto n_anon_5 = new NodePointer; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_anon_5->m_rdf_type = RDF_Type::Pointer; + n_anon_5->m_node_type = NodeType::Pointer; + n_anon_5->m_addornements = "*"; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + +} +void node_from_viewscreen_legendsst__T_anon_7(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst__T_anon_7, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst__T_anon_7, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst__T_anon_7, field_name)); + auto n_anon_3 = new NodePointer; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = get_real_subtype(base+offset, DF_Type::viewscreen_legendsst__T_anon_7__T_anon_3); + n_anon_3->m_rdf_type = RDF_Type::Pointer; + n_anon_3->m_node_type = NodeType::Pointer; + n_anon_3->m_addornements = "*"; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + n_anon_3->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst__T_anon_7, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int16_t; + n_anon_4->m_rdf_type = RDF_Type::int16_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst__T_anon_7, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int16_t; + n_anon_5->m_rdf_type = RDF_Type::int16_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst__T_anon_7, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst__T_anon_7, field_name)); + auto n_anon_7 = new NodeVector; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::int32_t; + n_anon_7->m_rdf_type = RDF_Type::Vector; + n_anon_7->m_node_type = NodeType::Vector; + n_anon_7->m_addornements = "v"; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + n_anon_7->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_7); + +} +void node_from_viewscreen_legendsst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "init_step"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); + auto n_init_step = new NodeSimple; + n_init_step->m_field_name = field_name; + n_init_step->m_df_type = DF_Type::int32_t; + n_init_step->m_rdf_type = RDF_Type::int32_t; + n_init_step->m_node_type = NodeType::Simple; + n_init_step->m_address = base + offset; + n_init_step->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_init_step); + + field_name = "init_era"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); + auto n_init_era = new NodeSimple; + n_init_era->m_field_name = field_name; + n_init_era->m_df_type = DF_Type::int32_t; + n_init_era->m_rdf_type = RDF_Type::int32_t; + n_init_era->m_node_type = NodeType::Simple; + n_init_era->m_address = base + offset; + n_init_era->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_init_era); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "init_progress"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); + auto n_init_progress = new NodeSimple; + n_init_progress->m_field_name = field_name; + n_init_progress->m_df_type = DF_Type::int32_t; + n_init_progress->m_rdf_type = RDF_Type::int32_t; + n_init_progress->m_node_type = NodeType::Simple; + n_init_progress->m_address = base + offset; + n_init_progress->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_init_progress); + + field_name = "histfigs"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); + auto n_histfigs = new NodeVector; + n_histfigs->m_field_name = field_name; + n_histfigs->m_df_type = DF_Type::int32_t; + n_histfigs->m_rdf_type = RDF_Type::Vector; + n_histfigs->m_node_type = NodeType::Vector; + n_histfigs->m_addornements = "v"; + n_histfigs->m_address = base + offset; + n_histfigs->m_parent = p_node_parent; + n_histfigs->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_histfigs); + + field_name = "sites"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); + auto n_sites = new NodeVector; + n_sites->m_field_name = field_name; + n_sites->m_df_type = DF_Type::int32_t; + n_sites->m_rdf_type = RDF_Type::Vector; + n_sites->m_node_type = NodeType::Vector; + n_sites->m_addornements = "v"; + n_sites->m_address = base + offset; + n_sites->m_parent = p_node_parent; + n_sites->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_sites); + + field_name = "artifacts"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); + auto n_artifacts = new NodeVector; + n_artifacts->m_field_name = field_name; + n_artifacts->m_df_type = DF_Type::int32_t; + n_artifacts->m_rdf_type = RDF_Type::Vector; + n_artifacts->m_node_type = NodeType::Vector; + n_artifacts->m_addornements = "v"; + n_artifacts->m_address = base + offset; + n_artifacts->m_parent = p_node_parent; + n_artifacts->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_artifacts); + + field_name = "codices"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); + auto n_codices = new NodeVector; + n_codices->m_field_name = field_name; + n_codices->m_df_type = DF_Type::int32_t; + n_codices->m_rdf_type = RDF_Type::Vector; + n_codices->m_node_type = NodeType::Vector; + n_codices->m_addornements = "v"; + n_codices->m_address = base + offset; + n_codices->m_parent = p_node_parent; + n_codices->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_codices); + + field_name = "regions"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); + auto n_regions = new NodeVector; + n_regions->m_field_name = field_name; + n_regions->m_df_type = DF_Type::int32_t; + n_regions->m_rdf_type = RDF_Type::Vector; + n_regions->m_node_type = NodeType::Vector; + n_regions->m_addornements = "v"; + n_regions->m_address = base + offset; + n_regions->m_parent = p_node_parent; + n_regions->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_regions); + + field_name = "layers"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); + auto n_layers = new NodeVector; + n_layers->m_field_name = field_name; + n_layers->m_df_type = DF_Type::int32_t; + n_layers->m_rdf_type = RDF_Type::Vector; + n_layers->m_node_type = NodeType::Vector; + n_layers->m_addornements = "v"; + n_layers->m_address = base + offset; + n_layers->m_parent = p_node_parent; + n_layers->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_layers); + + field_name = "entities"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); + auto n_entities = new NodeVector; + n_entities->m_field_name = field_name; + n_entities->m_df_type = DF_Type::int32_t; + n_entities->m_rdf_type = RDF_Type::Vector; + n_entities->m_node_type = NodeType::Vector; + n_entities->m_addornements = "v"; + n_entities->m_address = base + offset; + n_entities->m_parent = p_node_parent; + n_entities->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_entities); + + field_name = "structure_sites"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); + auto n_structure_sites = new NodeVector; + n_structure_sites->m_field_name = field_name; + n_structure_sites->m_df_type = DF_Type::int32_t; + n_structure_sites->m_rdf_type = RDF_Type::Vector; + n_structure_sites->m_node_type = NodeType::Vector; + n_structure_sites->m_addornements = "v"; + n_structure_sites->m_address = base + offset; + n_structure_sites->m_parent = p_node_parent; + n_structure_sites->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_structure_sites); + + field_name = "structures_indices"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); + auto n_structures_indices = new NodeVector; + n_structures_indices->m_field_name = field_name; + n_structures_indices->m_df_type = DF_Type::int32_t; + n_structures_indices->m_rdf_type = RDF_Type::Vector; + n_structures_indices->m_node_type = NodeType::Vector; + n_structures_indices->m_addornements = "v"; + n_structures_indices->m_address = base + offset; + n_structures_indices->m_parent = p_node_parent; + n_structures_indices->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_structures_indices); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); + auto n_anon_4 = new NodeVector; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::Void; + n_anon_4->m_rdf_type = RDF_Type::Vector; + n_anon_4->m_node_type = NodeType::Vector; + n_anon_4->m_addornements = "v"; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + n_anon_4->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "header_text"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); + auto n_header_text = new NodeVector; + n_header_text->m_field_name = field_name; + n_header_text->m_df_type = DF_Type::Stl_string; + n_header_text->m_rdf_type = RDF_Type::Vector; + n_header_text->m_node_type = NodeType::Vector; + n_header_text->m_addornements = "v*"; + n_header_text->m_address = base + offset; + n_header_text->m_parent = p_node_parent; + n_header_text->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_header_text); + + field_name = "event_collections"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); + auto n_event_collections = new NodeVector; + n_event_collections->m_field_name = field_name; + n_event_collections->m_df_type = DF_Type::int32_t; + n_event_collections->m_rdf_type = RDF_Type::Vector; + n_event_collections->m_node_type = NodeType::Vector; + n_event_collections->m_addornements = "v"; + n_event_collections->m_address = base + offset; + n_event_collections->m_parent = p_node_parent; + n_event_collections->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_event_collections); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); + auto n_anon_5 = new NodeVector; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::Bool; + n_anon_5->m_rdf_type = RDF_Type::Vector; + n_anon_5->m_node_type = NodeType::Vector; + n_anon_5->m_addornements = "v"; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + n_anon_5->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "events"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); + auto n_events = new NodeVector; + n_events->m_field_name = field_name; + n_events->m_df_type = DF_Type::int32_t; + n_events->m_rdf_type = RDF_Type::Vector; + n_events->m_node_type = NodeType::Vector; + n_events->m_addornements = "v"; + n_events->m_address = base + offset; + n_events->m_parent = p_node_parent; + n_events->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_events); + + field_name = "events_text"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); + auto n_events_text = new NodeVector; + n_events_text->m_field_name = field_name; + n_events_text->m_df_type = DF_Type::Stl_string; + n_events_text->m_rdf_type = RDF_Type::Vector; + n_events_text->m_node_type = NodeType::Vector; + n_events_text->m_addornements = "v*"; + n_events_text->m_address = base + offset; + n_events_text->m_parent = p_node_parent; + n_events_text->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_events_text); + + field_name = "stack_collections"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); + auto n_stack_collections = new NodeVector; + n_stack_collections->m_field_name = field_name; + n_stack_collections->m_df_type = DF_Type::int32_t; + n_stack_collections->m_rdf_type = RDF_Type::Vector; + n_stack_collections->m_node_type = NodeType::Vector; + n_stack_collections->m_addornements = "v"; + n_stack_collections->m_address = base + offset; + n_stack_collections->m_parent = p_node_parent; + n_stack_collections->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_stack_collections); + + field_name = "stack_cursor"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); + auto n_stack_cursor = new NodeVector; + n_stack_cursor->m_field_name = field_name; + n_stack_cursor->m_df_type = DF_Type::int32_t; + n_stack_cursor->m_rdf_type = RDF_Type::Vector; + n_stack_cursor->m_node_type = NodeType::Vector; + n_stack_cursor->m_addornements = "v"; + n_stack_cursor->m_address = base + offset; + n_stack_cursor->m_parent = p_node_parent; + n_stack_cursor->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_stack_cursor); + + field_name = "collection_name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); + auto n_collection_name = new NodeSimple; + n_collection_name->m_field_name = field_name; + n_collection_name->m_df_type = DF_Type::Stl_string; + n_collection_name->m_rdf_type = RDF_Type::Stl_string; + n_collection_name->m_node_type = NodeType::Simple; + n_collection_name->m_address = base + offset; + n_collection_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_collection_name); + + field_name = "cur_page"; + auto n_cur_page = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); + n_cur_page->m_field_name = field_name; + n_cur_page->m_df_type = DF_Type::viewscreen_legendsst__T_cur_page; + n_cur_page->m_rdf_type = RDF_Type::Enum; + n_cur_page->m_node_type = NodeType::Enum; + n_cur_page->m_base_type = DF_Type::int16_t; + n_cur_page->m_enum_type = "viewscreen_legendsst::T_cur_page"; + n_cur_page->m_address = base + offset; + n_cur_page->m_comment = "invalid pages fail to render properly but do not crash"; + n_cur_page->m_first_value = 0; + n_cur_page->m_last_value = 11; + n_cur_page->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cur_page); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "main_cursor"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); + auto n_main_cursor = new NodeSimple; + n_main_cursor->m_field_name = field_name; + n_main_cursor->m_df_type = DF_Type::int32_t; + n_main_cursor->m_rdf_type = RDF_Type::int32_t; + n_main_cursor->m_node_type = NodeType::Simple; + n_main_cursor->m_address = base + offset; + n_main_cursor->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_main_cursor); + + field_name = "main_row_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); + auto n_main_row_type = new NodeVector; + n_main_row_type->m_field_name = field_name; + n_main_row_type->m_df_type = DF_Type::int16_t; + n_main_row_type->m_rdf_type = RDF_Type::Vector; + n_main_row_type->m_node_type = NodeType::Vector; + n_main_row_type->m_addornements = "v"; + n_main_row_type->m_address = base + offset; + n_main_row_type->m_parent = p_node_parent; + n_main_row_type->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_main_row_type); + + field_name = "main_row_arg1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); + auto n_main_row_arg1 = new NodeVector; + n_main_row_arg1->m_field_name = field_name; + n_main_row_arg1->m_df_type = DF_Type::int32_t; + n_main_row_arg1->m_rdf_type = RDF_Type::Vector; + n_main_row_arg1->m_node_type = NodeType::Vector; + n_main_row_arg1->m_addornements = "v"; + n_main_row_arg1->m_address = base + offset; + n_main_row_arg1->m_parent = p_node_parent; + n_main_row_arg1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_main_row_arg1); + + field_name = "main_row_arg2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); + auto n_main_row_arg2 = new NodeVector; + n_main_row_arg2->m_field_name = field_name; + n_main_row_arg2->m_df_type = DF_Type::int32_t; + n_main_row_arg2->m_rdf_type = RDF_Type::Vector; + n_main_row_arg2->m_node_type = NodeType::Vector; + n_main_row_arg2->m_addornements = "v"; + n_main_row_arg2->m_address = base + offset; + n_main_row_arg2->m_parent = p_node_parent; + n_main_row_arg2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_main_row_arg2); + + field_name = "main_row_arg3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); + auto n_main_row_arg3 = new NodeVector; + n_main_row_arg3->m_field_name = field_name; + n_main_row_arg3->m_df_type = DF_Type::int32_t; + n_main_row_arg3->m_rdf_type = RDF_Type::Vector; + n_main_row_arg3->m_node_type = NodeType::Vector; + n_main_row_arg3->m_addornements = "v"; + n_main_row_arg3->m_address = base + offset; + n_main_row_arg3->m_parent = p_node_parent; + n_main_row_arg3->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_main_row_arg3); + + field_name = "sub_cursor"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); + auto n_sub_cursor = new NodeSimple; + n_sub_cursor->m_field_name = field_name; + n_sub_cursor->m_df_type = DF_Type::int32_t; + n_sub_cursor->m_rdf_type = RDF_Type::int32_t; + n_sub_cursor->m_node_type = NodeType::Simple; + n_sub_cursor->m_address = base + offset; + n_sub_cursor->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sub_cursor); + + field_name = "important_events_only"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); + auto n_important_events_only = new NodeSimple; + n_important_events_only->m_field_name = field_name; + n_important_events_only->m_df_type = DF_Type::int8_t; + n_important_events_only->m_rdf_type = RDF_Type::int8_t; + n_important_events_only->m_node_type = NodeType::Simple; + n_important_events_only->m_address = base + offset; + n_important_events_only->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_important_events_only); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); + auto n_anon_7 = new NodeVector; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::viewscreen_legendsst__T_anon_7; + n_anon_7->m_rdf_type = RDF_Type::Vector; + n_anon_7->m_node_type = NodeType::Vector; + n_anon_7->m_addornements = "v*"; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + n_anon_7->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_7); + + field_name = "map_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); + auto n_map_x = new NodeSimple; + n_map_x->m_field_name = field_name; + n_map_x->m_df_type = DF_Type::int16_t; + n_map_x->m_rdf_type = RDF_Type::int16_t; + n_map_x->m_node_type = NodeType::Simple; + n_map_x->m_address = base + offset; + n_map_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_map_x); + + field_name = "map_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); + auto n_map_y = new NodeSimple; + n_map_y->m_field_name = field_name; + n_map_y->m_df_type = DF_Type::int16_t; + n_map_y->m_rdf_type = RDF_Type::int16_t; + n_map_y->m_node_type = NodeType::Simple; + n_map_y->m_address = base + offset; + n_map_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_map_y); + + field_name = "hide_territories"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); + auto n_hide_territories = new NodeSimple; + n_hide_territories->m_field_name = field_name; + n_hide_territories->m_df_type = DF_Type::int16_t; + n_hide_territories->m_rdf_type = RDF_Type::int16_t; + n_hide_territories->m_node_type = NodeType::Simple; + n_hide_territories->m_address = base + offset; + n_hide_territories->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_hide_territories); + + field_name = "civ_site_mode"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); + auto n_civ_site_mode = new NodeSimple; + n_civ_site_mode->m_field_name = field_name; + n_civ_site_mode->m_df_type = DF_Type::int16_t; + n_civ_site_mode->m_rdf_type = RDF_Type::int16_t; + n_civ_site_mode->m_node_type = NodeType::Simple; + n_civ_site_mode->m_address = base + offset; + n_civ_site_mode->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_civ_site_mode); + + field_name = "decade"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); + auto n_decade = new NodeSimple; + n_decade->m_field_name = field_name; + n_decade->m_df_type = DF_Type::int16_t; + n_decade->m_rdf_type = RDF_Type::int16_t; + n_decade->m_node_type = NodeType::Simple; + n_decade->m_address = base + offset; + n_decade->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_decade); + + field_name = "filter_text"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); + auto n_filter_text = new NodeSimple; + n_filter_text->m_field_name = field_name; + n_filter_text->m_df_type = DF_Type::Stl_string; + n_filter_text->m_rdf_type = RDF_Type::Stl_string; + n_filter_text->m_node_type = NodeType::Simple; + n_filter_text->m_address = base + offset; + n_filter_text->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_filter_text); + + field_name = "filter_editing"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); + auto n_filter_editing = new NodeSimple; + n_filter_editing->m_field_name = field_name; + n_filter_editing->m_df_type = DF_Type::int8_t; + n_filter_editing->m_rdf_type = RDF_Type::int8_t; + n_filter_editing->m_node_type = NodeType::Simple; + n_filter_editing->m_address = base + offset; + n_filter_editing->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_filter_editing); + + field_name = "histfigs_filtered"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); + auto n_histfigs_filtered = new NodeVector; + n_histfigs_filtered->m_field_name = field_name; + n_histfigs_filtered->m_df_type = DF_Type::int32_t; + n_histfigs_filtered->m_rdf_type = RDF_Type::Vector; + n_histfigs_filtered->m_node_type = NodeType::Vector; + n_histfigs_filtered->m_addornements = "v"; + n_histfigs_filtered->m_address = base + offset; + n_histfigs_filtered->m_comment = "index into histfigs"; + n_histfigs_filtered->m_parent = p_node_parent; + n_histfigs_filtered->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_histfigs_filtered); + + field_name = "sites_filtered"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); + auto n_sites_filtered = new NodeVector; + n_sites_filtered->m_field_name = field_name; + n_sites_filtered->m_df_type = DF_Type::int32_t; + n_sites_filtered->m_rdf_type = RDF_Type::Vector; + n_sites_filtered->m_node_type = NodeType::Vector; + n_sites_filtered->m_addornements = "v"; + n_sites_filtered->m_address = base + offset; + n_sites_filtered->m_comment = "index into sites"; + n_sites_filtered->m_parent = p_node_parent; + n_sites_filtered->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_sites_filtered); + + field_name = "artifacts_filtered"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); + auto n_artifacts_filtered = new NodeVector; + n_artifacts_filtered->m_field_name = field_name; + n_artifacts_filtered->m_df_type = DF_Type::int32_t; + n_artifacts_filtered->m_rdf_type = RDF_Type::Vector; + n_artifacts_filtered->m_node_type = NodeType::Vector; + n_artifacts_filtered->m_addornements = "v"; + n_artifacts_filtered->m_address = base + offset; + n_artifacts_filtered->m_comment = "index into artifacts"; + n_artifacts_filtered->m_parent = p_node_parent; + n_artifacts_filtered->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_artifacts_filtered); + + field_name = "codices_filtered"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); + auto n_codices_filtered = new NodeVector; + n_codices_filtered->m_field_name = field_name; + n_codices_filtered->m_df_type = DF_Type::int32_t; + n_codices_filtered->m_rdf_type = RDF_Type::Vector; + n_codices_filtered->m_node_type = NodeType::Vector; + n_codices_filtered->m_addornements = "v"; + n_codices_filtered->m_address = base + offset; + n_codices_filtered->m_comment = "index into codices"; + n_codices_filtered->m_parent = p_node_parent; + n_codices_filtered->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_codices_filtered); + + field_name = "regions_filtered"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); + auto n_regions_filtered = new NodeVector; + n_regions_filtered->m_field_name = field_name; + n_regions_filtered->m_df_type = DF_Type::int32_t; + n_regions_filtered->m_rdf_type = RDF_Type::Vector; + n_regions_filtered->m_node_type = NodeType::Vector; + n_regions_filtered->m_addornements = "v"; + n_regions_filtered->m_address = base + offset; + n_regions_filtered->m_comment = "index into regions"; + n_regions_filtered->m_parent = p_node_parent; + n_regions_filtered->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_regions_filtered); + + field_name = "layers_filtered"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); + auto n_layers_filtered = new NodeVector; + n_layers_filtered->m_field_name = field_name; + n_layers_filtered->m_df_type = DF_Type::int32_t; + n_layers_filtered->m_rdf_type = RDF_Type::Vector; + n_layers_filtered->m_node_type = NodeType::Vector; + n_layers_filtered->m_addornements = "v"; + n_layers_filtered->m_address = base + offset; + n_layers_filtered->m_comment = "index into layers"; + n_layers_filtered->m_parent = p_node_parent; + n_layers_filtered->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_layers_filtered); + + field_name = "anon_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); + auto n_anon_8 = new NodeVector; + n_anon_8->m_field_name = field_name; + n_anon_8->m_df_type = DF_Type::int32_t; + n_anon_8->m_rdf_type = RDF_Type::Vector; + n_anon_8->m_node_type = NodeType::Vector; + n_anon_8->m_addornements = "v"; + n_anon_8->m_address = base + offset; + n_anon_8->m_parent = p_node_parent; + n_anon_8->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_8); + + field_name = "entities_filtered"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); + auto n_entities_filtered = new NodeVector; + n_entities_filtered->m_field_name = field_name; + n_entities_filtered->m_df_type = DF_Type::int32_t; + n_entities_filtered->m_rdf_type = RDF_Type::Vector; + n_entities_filtered->m_node_type = NodeType::Vector; + n_entities_filtered->m_addornements = "v"; + n_entities_filtered->m_address = base + offset; + n_entities_filtered->m_comment = "index into entities"; + n_entities_filtered->m_parent = p_node_parent; + n_entities_filtered->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_entities_filtered); + + field_name = "structures_filtered"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); + auto n_structures_filtered = new NodeVector; + n_structures_filtered->m_field_name = field_name; + n_structures_filtered->m_df_type = DF_Type::int32_t; + n_structures_filtered->m_rdf_type = RDF_Type::Vector; + n_structures_filtered->m_node_type = NodeType::Vector; + n_structures_filtered->m_addornements = "v"; + n_structures_filtered->m_address = base + offset; + n_structures_filtered->m_comment = "index into structures"; + n_structures_filtered->m_parent = p_node_parent; + n_structures_filtered->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_structures_filtered); + + field_name = "total_codices"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); + auto n_total_codices = new NodeSimple; + n_total_codices->m_field_name = field_name; + n_total_codices->m_df_type = DF_Type::int32_t; + n_total_codices->m_rdf_type = RDF_Type::int32_t; + n_total_codices->m_node_type = NodeType::Simple; + n_total_codices->m_address = base + offset; + n_total_codices->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_total_codices); + + field_name = "total_artifacts"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); + auto n_total_artifacts = new NodeSimple; + n_total_artifacts->m_field_name = field_name; + n_total_artifacts->m_df_type = DF_Type::int32_t; + n_total_artifacts->m_rdf_type = RDF_Type::int32_t; + n_total_artifacts->m_node_type = NodeType::Simple; + n_total_artifacts->m_address = base + offset; + n_total_artifacts->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_total_artifacts); + + field_name = "anon_9"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); + auto n_anon_9 = new NodeSimple; + n_anon_9->m_field_name = field_name; + n_anon_9->m_df_type = DF_Type::int32_t; + n_anon_9->m_rdf_type = RDF_Type::int32_t; + n_anon_9->m_node_type = NodeType::Simple; + n_anon_9->m_address = base + offset; + n_anon_9->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_9); + + field_name = "anon_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); + auto n_anon_10 = new NodeSimple; + n_anon_10->m_field_name = field_name; + n_anon_10->m_df_type = DF_Type::int32_t; + n_anon_10->m_rdf_type = RDF_Type::int32_t; + n_anon_10->m_node_type = NodeType::Simple; + n_anon_10->m_address = base + offset; + n_anon_10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_10); + + field_name = "anon_11"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); + auto n_anon_11 = new NodeSimple; + n_anon_11->m_field_name = field_name; + n_anon_11->m_df_type = DF_Type::int32_t; + n_anon_11->m_rdf_type = RDF_Type::int32_t; + n_anon_11->m_node_type = NodeType::Simple; + n_anon_11->m_address = base + offset; + n_anon_11->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_11); + + field_name = "anon_12"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); + auto n_anon_12 = new NodeSimple; + n_anon_12->m_field_name = field_name; + n_anon_12->m_df_type = DF_Type::int32_t; + n_anon_12->m_rdf_type = RDF_Type::int32_t; + n_anon_12->m_node_type = NodeType::Simple; + n_anon_12->m_address = base + offset; + n_anon_12->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_12); + + field_name = "anon_13"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); + auto n_anon_13 = new NodeSimple; + n_anon_13->m_field_name = field_name; + n_anon_13->m_df_type = DF_Type::int32_t; + n_anon_13->m_rdf_type = RDF_Type::int32_t; + n_anon_13->m_node_type = NodeType::Simple; + n_anon_13->m_address = base + offset; + n_anon_13->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_13); + + field_name = "anon_14"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_legendsst, field_name)); + auto n_anon_14 = new NodeSimple; + n_anon_14->m_field_name = field_name; + n_anon_14->m_df_type = DF_Type::int32_t; + n_anon_14->m_rdf_type = RDF_Type::int32_t; + n_anon_14->m_node_type = NodeType::Simple; + n_anon_14->m_address = base + offset; + n_anon_14->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_14); + +} +void node_from_viewscreen_locationsst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "locations"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_locationsst, field_name)); + auto n_locations = new NodeVector; + n_locations->m_field_name = field_name; + n_locations->m_df_type = DF_Type::abstract_building; + n_locations->m_rdf_type = RDF_Type::Vector; + n_locations->m_node_type = NodeType::Vector; + n_locations->m_defined_in = "df.world-site.xml"; + n_locations->m_addornements = "v*"; + n_locations->m_address = base + offset; + n_locations->m_parent = p_node_parent; + n_locations->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_locations); + + field_name = "dance_floor_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_locationsst, field_name)); + auto n_dance_floor_x = new NodeVector; + n_dance_floor_x->m_field_name = field_name; + n_dance_floor_x->m_df_type = DF_Type::int32_t; + n_dance_floor_x->m_rdf_type = RDF_Type::Vector; + n_dance_floor_x->m_node_type = NodeType::Vector; + n_dance_floor_x->m_addornements = "v"; + n_dance_floor_x->m_address = base + offset; + n_dance_floor_x->m_parent = p_node_parent; + n_dance_floor_x->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_dance_floor_x); + + field_name = "dance_floor_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_locationsst, field_name)); + auto n_dance_floor_y = new NodeVector; + n_dance_floor_y->m_field_name = field_name; + n_dance_floor_y->m_df_type = DF_Type::int32_t; + n_dance_floor_y->m_rdf_type = RDF_Type::Vector; + n_dance_floor_y->m_node_type = NodeType::Vector; + n_dance_floor_y->m_addornements = "v"; + n_dance_floor_y->m_address = base + offset; + n_dance_floor_y->m_parent = p_node_parent; + n_dance_floor_y->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_dance_floor_y); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_locationsst, field_name)); + auto n_anon_1 = new NodeVector; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::Vector; + n_anon_1->m_node_type = NodeType::Vector; + n_anon_1->m_addornements = "v"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "location_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_locationsst, field_name)); + auto n_location_idx = new NodeSimple; + n_location_idx->m_field_name = field_name; + n_location_idx->m_df_type = DF_Type::int32_t; + n_location_idx->m_rdf_type = RDF_Type::int32_t; + n_location_idx->m_node_type = NodeType::Simple; + n_location_idx->m_address = base + offset; + n_location_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_location_idx); + + field_name = "occupations"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_locationsst, field_name)); + auto n_occupations = new NodeVector; + n_occupations->m_field_name = field_name; + n_occupations->m_df_type = DF_Type::occupation; + n_occupations->m_rdf_type = RDF_Type::Vector; + n_occupations->m_node_type = NodeType::Vector; + n_occupations->m_defined_in = "df.art.xml"; + n_occupations->m_addornements = "v*"; + n_occupations->m_address = base + offset; + n_occupations->m_parent = p_node_parent; + n_occupations->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_occupations); + + field_name = "occupation_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_locationsst, field_name)); + auto n_occupation_idx = new NodeSimple; + n_occupation_idx->m_field_name = field_name; + n_occupation_idx->m_df_type = DF_Type::int32_t; + n_occupation_idx->m_rdf_type = RDF_Type::int32_t; + n_occupation_idx->m_node_type = NodeType::Simple; + n_occupation_idx->m_address = base + offset; + n_occupation_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_occupation_idx); + + field_name = "units"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_locationsst, field_name)); + auto n_units = new NodeVector; + n_units->m_field_name = field_name; + n_units->m_df_type = DF_Type::unit; + n_units->m_rdf_type = RDF_Type::Vector; + n_units->m_node_type = NodeType::Vector; + n_units->m_defined_in = "df.units.xml"; + n_units->m_addornements = "v*"; + n_units->m_address = base + offset; + n_units->m_parent = p_node_parent; + n_units->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_units); + + field_name = "unit_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_locationsst, field_name)); + auto n_unit_idx = new NodeSimple; + n_unit_idx->m_field_name = field_name; + n_unit_idx->m_df_type = DF_Type::int32_t; + n_unit_idx->m_rdf_type = RDF_Type::int32_t; + n_unit_idx->m_node_type = NodeType::Simple; + n_unit_idx->m_address = base + offset; + n_unit_idx->m_comment = "uninitialized"; + n_unit_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unit_idx); + + field_name = "in_edit"; + auto n_in_edit = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_locationsst, field_name)); + n_in_edit->m_field_name = field_name; + n_in_edit->m_df_type = DF_Type::viewscreen_locationsst__T_in_edit; + n_in_edit->m_rdf_type = RDF_Type::Enum; + n_in_edit->m_node_type = NodeType::Enum; + n_in_edit->m_base_type = DF_Type::int32_t; + n_in_edit->m_enum_type = "viewscreen_locationsst::T_in_edit"; + n_in_edit->m_address = base + offset; + n_in_edit->m_first_value = 0; + n_in_edit->m_last_value = 4; + n_in_edit->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_in_edit); + + field_name = "edit_input"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_locationsst, field_name)); + auto n_edit_input = new NodeSimple; + n_edit_input->m_field_name = field_name; + n_edit_input->m_df_type = DF_Type::Stl_string; + n_edit_input->m_rdf_type = RDF_Type::Stl_string; + n_edit_input->m_node_type = NodeType::Simple; + n_edit_input->m_address = base + offset; + n_edit_input->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_edit_input); + + field_name = "menu"; + auto n_menu = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_locationsst, field_name)); + n_menu->m_field_name = field_name; + n_menu->m_df_type = DF_Type::viewscreen_locationsst__T_menu; + n_menu->m_rdf_type = RDF_Type::Enum; + n_menu->m_node_type = NodeType::Enum; + n_menu->m_base_type = DF_Type::int32_t; + n_menu->m_enum_type = "viewscreen_locationsst::T_menu"; + n_menu->m_address = base + offset; + n_menu->m_first_value = 0; + n_menu->m_last_value = 2; + n_menu->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_menu); + +} +void node_from_loadgame_save_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "save_info"; + auto n_save_info = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::loadgame_save_info, field_name)); + n_save_info->m_field_name = field_name; + n_save_info->m_df_type = DF_Type::int32_t; + n_save_info->m_rdf_type = RDF_Type::Array; + n_save_info->m_comment = "all of the next_id globals"; + n_save_info->m_node_type = NodeType::Array; + n_save_info->m_addornements = "[39"; + n_save_info->m_array_size = 39; + n_save_info->m_address = base + offset; + n_save_info->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_save_info); + + field_name = "game_type"; + auto n_game_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::loadgame_save_info, field_name)); + n_game_type->m_field_name = field_name; + n_game_type->m_df_type = DF_Type::game_type; + n_game_type->m_rdf_type = RDF_Type::Enum; + n_game_type->m_node_type = NodeType::Enum; + n_game_type->m_base_type = DF_Type::int16_t; + n_game_type->m_enum_type = "game_type"; + n_game_type->m_address = base + offset; + n_game_type->m_comment = "only 0 (fort) 1 (adv) 3(reclaim) are valid"; + n_game_type->m_defined_in = "df.globals.xml"; + n_game_type->m_first_value = 0; + n_game_type->m_last_value = 11; + n_game_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_game_type); + + field_name = "fort_name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::loadgame_save_info, field_name)); + auto n_fort_name = new NodeSimple; + n_fort_name->m_field_name = field_name; + n_fort_name->m_df_type = DF_Type::Stl_string; + n_fort_name->m_rdf_type = RDF_Type::Stl_string; + n_fort_name->m_node_type = NodeType::Simple; + n_fort_name->m_address = base + offset; + n_fort_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_fort_name); + + field_name = "world_name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::loadgame_save_info, field_name)); + auto n_world_name = new NodeSimple; + n_world_name->m_field_name = field_name; + n_world_name->m_df_type = DF_Type::Stl_string; + n_world_name->m_rdf_type = RDF_Type::Stl_string; + n_world_name->m_node_type = NodeType::Simple; + n_world_name->m_address = base + offset; + n_world_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_world_name); + + field_name = "year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::loadgame_save_info, field_name)); + auto n_year = new NodeSimple; + n_year->m_field_name = field_name; + n_year->m_df_type = DF_Type::int32_t; + n_year->m_rdf_type = RDF_Type::int32_t; + n_year->m_node_type = NodeType::Simple; + n_year->m_address = base + offset; + n_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_year); + + field_name = "folder_name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::loadgame_save_info, field_name)); + auto n_folder_name = new NodeSimple; + n_folder_name->m_field_name = field_name; + n_folder_name->m_df_type = DF_Type::Stl_string; + n_folder_name->m_rdf_type = RDF_Type::Stl_string; + n_folder_name->m_node_type = NodeType::Simple; + n_folder_name->m_address = base + offset; + n_folder_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_folder_name); + +} +void node_from_viewscreen_loadgamest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "cur_step"; + auto n_cur_step = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_loadgamest, field_name)); + n_cur_step->m_field_name = field_name; + n_cur_step->m_df_type = DF_Type::viewscreen_loadgamest__T_cur_step; + n_cur_step->m_rdf_type = RDF_Type::Enum; + n_cur_step->m_node_type = NodeType::Enum; + n_cur_step->m_base_type = enum_base_type(n_cur_step->m_df_type); + n_cur_step->m_enum_type = "viewscreen_loadgamest::T_cur_step"; + n_cur_step->m_address = base + offset; + n_cur_step->m_comment = "After the on-screen text shown while loading."; + n_cur_step->m_first_value = 0; + n_cur_step->m_last_value = 48; + n_cur_step->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cur_step); + + field_name = "unk_v40_1b"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_loadgamest, field_name)); + auto n_unk_v40_1b = new NodeSimple; + n_unk_v40_1b->m_field_name = field_name; + n_unk_v40_1b->m_df_type = DF_Type::int32_t; + n_unk_v40_1b->m_rdf_type = RDF_Type::int32_t; + n_unk_v40_1b->m_node_type = NodeType::Simple; + n_unk_v40_1b->m_address = base + offset; + n_unk_v40_1b->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_1b); + + field_name = "loading"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_loadgamest, field_name)); + auto n_loading = new NodeSimple; + n_loading->m_field_name = field_name; + n_loading->m_df_type = DF_Type::int8_t; + n_loading->m_rdf_type = RDF_Type::int8_t; + n_loading->m_node_type = NodeType::Simple; + n_loading->m_address = base + offset; + n_loading->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_loading); + + field_name = "sel_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_loadgamest, field_name)); + auto n_sel_idx = new NodeSimple; + n_sel_idx->m_field_name = field_name; + n_sel_idx->m_df_type = DF_Type::int32_t; + n_sel_idx->m_rdf_type = RDF_Type::int32_t; + n_sel_idx->m_node_type = NodeType::Simple; + n_sel_idx->m_address = base + offset; + n_sel_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sel_idx); + + field_name = "saves"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_loadgamest, field_name)); + auto n_saves = new NodeVector; + n_saves->m_field_name = field_name; + n_saves->m_df_type = DF_Type::loadgame_save_info; + n_saves->m_rdf_type = RDF_Type::Vector; + n_saves->m_node_type = NodeType::Vector; + n_saves->m_defined_in = "df.viewscreen.xml"; + n_saves->m_addornements = "v*"; + n_saves->m_address = base + offset; + n_saves->m_parent = p_node_parent; + n_saves->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_saves); + + field_name = "compressor"; + auto n_compressor = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_loadgamest, field_name)); + n_compressor->m_field_name = field_name; + n_compressor->m_df_type = DF_Type::file_compressorst; + n_compressor->m_rdf_type = RDF_Type::Struct; + n_compressor->m_node_type = NodeType::Compound; + n_compressor->m_address = base + offset; + n_compressor->m_defined_in = "df.viewscreen.xml"; + n_compressor->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_compressor); + + field_name = "glosses"; + auto n_glosses = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_loadgamest, field_name)); + n_glosses->m_field_name = field_name; + n_glosses->m_df_type = DF_Type::matgloss_list; + n_glosses->m_rdf_type = RDF_Type::Struct; + n_glosses->m_node_type = NodeType::Compound; + n_glosses->m_address = base + offset; + n_glosses->m_defined_in = "df.viewscreen.xml"; + n_glosses->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_glosses); + + field_name = "save_version"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_loadgamest, field_name)); + auto n_save_version = new NodeSimple; + n_save_version->m_field_name = field_name; + n_save_version->m_df_type = DF_Type::int32_t; + n_save_version->m_rdf_type = RDF_Type::int32_t; + n_save_version->m_node_type = NodeType::Simple; + n_save_version->m_address = base + offset; + n_save_version->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_save_version); + + field_name = "cur_save"; + auto n_cur_save = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_loadgamest, field_name)); + n_cur_save->m_field_name = field_name; + n_cur_save->m_df_type = DF_Type::loadgame_save_info; + n_cur_save->m_rdf_type = RDF_Type::Struct; + n_cur_save->m_node_type = NodeType::Compound; + n_cur_save->m_address = base + offset; + n_cur_save->m_defined_in = "df.viewscreen.xml"; + n_cur_save->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cur_save); + +} +void node_from_viewscreen_meetingst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "dipscript_popup"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_meetingst, field_name)); + auto n_dipscript_popup = new NodePointer; + n_dipscript_popup->m_field_name = field_name; + n_dipscript_popup->m_df_type = get_real_subtype(base+offset, DF_Type::dipscript_popup); + n_dipscript_popup->m_rdf_type = RDF_Type::Pointer; + n_dipscript_popup->m_node_type = NodeType::Pointer; + n_dipscript_popup->m_addornements = "*"; + n_dipscript_popup->m_address = base + offset; + n_dipscript_popup->m_parent = p_node_parent; + n_dipscript_popup->m_defined_in = "df.meeting.xml"; + n_dipscript_popup->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_dipscript_popup); + + field_name = "activity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_meetingst, field_name)); + auto n_activity = new NodePointer; + n_activity->m_field_name = field_name; + n_activity->m_df_type = get_real_subtype(base+offset, DF_Type::activity_info); + n_activity->m_rdf_type = RDF_Type::Pointer; + n_activity->m_node_type = NodeType::Pointer; + n_activity->m_addornements = "*"; + n_activity->m_address = base + offset; + n_activity->m_parent = p_node_parent; + n_activity->m_defined_in = "df.meeting.xml"; + n_activity->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_activity); + + field_name = "holder"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_meetingst, field_name)); + auto n_holder = new NodePointer; + n_holder->m_field_name = field_name; + n_holder->m_df_type = get_real_subtype(base+offset, DF_Type::unit); + n_holder->m_rdf_type = RDF_Type::Pointer; + n_holder->m_node_type = NodeType::Pointer; + n_holder->m_addornements = "*"; + n_holder->m_address = base + offset; + n_holder->m_parent = p_node_parent; + n_holder->m_defined_in = "df.units.xml"; + n_holder->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_holder); + +} +void node_from_viewscreen_movieplayerst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "saving"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_movieplayerst, field_name)); + auto n_saving = new NodeSimple; + n_saving->m_field_name = field_name; + n_saving->m_df_type = DF_Type::int8_t; + n_saving->m_rdf_type = RDF_Type::int8_t; + n_saving->m_node_type = NodeType::Simple; + n_saving->m_address = base + offset; + n_saving->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_saving); + + field_name = "loading"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_movieplayerst, field_name)); + auto n_loading = new NodeSimple; + n_loading->m_field_name = field_name; + n_loading->m_df_type = DF_Type::int8_t; + n_loading->m_rdf_type = RDF_Type::int8_t; + n_loading->m_node_type = NodeType::Simple; + n_loading->m_address = base + offset; + n_loading->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_loading); + + field_name = "editing"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_movieplayerst, field_name)); + auto n_editing = new NodeSimple; + n_editing->m_field_name = field_name; + n_editing->m_df_type = DF_Type::int8_t; + n_editing->m_rdf_type = RDF_Type::int8_t; + n_editing->m_node_type = NodeType::Simple; + n_editing->m_address = base + offset; + n_editing->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_editing); + + field_name = "text_mode"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_movieplayerst, field_name)); + auto n_text_mode = new NodeSimple; + n_text_mode->m_field_name = field_name; + n_text_mode->m_df_type = DF_Type::int8_t; + n_text_mode->m_rdf_type = RDF_Type::int8_t; + n_text_mode->m_node_type = NodeType::Simple; + n_text_mode->m_address = base + offset; + n_text_mode->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_text_mode); + + field_name = "editing_char"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_movieplayerst, field_name)); + auto n_editing_char = new NodeSimple; + n_editing_char->m_field_name = field_name; + n_editing_char->m_df_type = DF_Type::uint8_t; + n_editing_char->m_rdf_type = RDF_Type::uint8_t; + n_editing_char->m_node_type = NodeType::Simple; + n_editing_char->m_address = base + offset; + n_editing_char->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_editing_char); + + field_name = "editing_copy_from"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_movieplayerst, field_name)); + auto n_editing_copy_from = new NodeSimple; + n_editing_copy_from->m_field_name = field_name; + n_editing_copy_from->m_df_type = DF_Type::int32_t; + n_editing_copy_from->m_rdf_type = RDF_Type::int32_t; + n_editing_copy_from->m_node_type = NodeType::Simple; + n_editing_copy_from->m_address = base + offset; + n_editing_copy_from->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_editing_copy_from); + + field_name = "editing_screenf"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_movieplayerst, field_name)); + auto n_editing_screenf = new NodeSimple; + n_editing_screenf->m_field_name = field_name; + n_editing_screenf->m_df_type = DF_Type::int16_t; + n_editing_screenf->m_rdf_type = RDF_Type::int16_t; + n_editing_screenf->m_node_type = NodeType::Simple; + n_editing_screenf->m_address = base + offset; + n_editing_screenf->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_editing_screenf); + + field_name = "editing_screenb"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_movieplayerst, field_name)); + auto n_editing_screenb = new NodeSimple; + n_editing_screenb->m_field_name = field_name; + n_editing_screenb->m_df_type = DF_Type::int16_t; + n_editing_screenb->m_rdf_type = RDF_Type::int16_t; + n_editing_screenb->m_node_type = NodeType::Simple; + n_editing_screenb->m_address = base + offset; + n_editing_screenb->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_editing_screenb); + + field_name = "editing_screenbright"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_movieplayerst, field_name)); + auto n_editing_screenbright = new NodeSimple; + n_editing_screenbright->m_field_name = field_name; + n_editing_screenbright->m_df_type = DF_Type::int16_t; + n_editing_screenbright->m_rdf_type = RDF_Type::int16_t; + n_editing_screenbright->m_node_type = NodeType::Simple; + n_editing_screenbright->m_address = base + offset; + n_editing_screenbright->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_editing_screenbright); + + field_name = "editing_selected_sound"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_movieplayerst, field_name)); + auto n_editing_selected_sound = new NodeSimple; + n_editing_selected_sound->m_field_name = field_name; + n_editing_selected_sound->m_df_type = DF_Type::int32_t; + n_editing_selected_sound->m_rdf_type = RDF_Type::int32_t; + n_editing_selected_sound->m_node_type = NodeType::Simple; + n_editing_selected_sound->m_address = base + offset; + n_editing_selected_sound->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_editing_selected_sound); + + field_name = "editing_menu"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_movieplayerst, field_name)); + auto n_editing_menu = new NodeSimple; + n_editing_menu->m_field_name = field_name; + n_editing_menu->m_df_type = DF_Type::int8_t; + n_editing_menu->m_rdf_type = RDF_Type::int8_t; + n_editing_menu->m_node_type = NodeType::Simple; + n_editing_menu->m_address = base + offset; + n_editing_menu->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_editing_menu); + + field_name = "savename"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_movieplayerst, field_name)); + auto n_savename = new NodeSimple; + n_savename->m_field_name = field_name; + n_savename->m_df_type = DF_Type::Stl_string; + n_savename->m_rdf_type = RDF_Type::Stl_string; + n_savename->m_node_type = NodeType::Simple; + n_savename->m_address = base + offset; + n_savename->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_savename); + + field_name = "force_file"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_movieplayerst, field_name)); + auto n_force_file = new NodeSimple; + n_force_file->m_field_name = field_name; + n_force_file->m_df_type = DF_Type::Stl_string; + n_force_file->m_rdf_type = RDF_Type::Stl_string; + n_force_file->m_node_type = NodeType::Simple; + n_force_file->m_address = base + offset; + n_force_file->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_force_file); + + field_name = "is_playing"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_movieplayerst, field_name)); + auto n_is_playing = new NodeSimple; + n_is_playing->m_field_name = field_name; + n_is_playing->m_df_type = DF_Type::int8_t; + n_is_playing->m_rdf_type = RDF_Type::int8_t; + n_is_playing->m_node_type = NodeType::Simple; + n_is_playing->m_address = base + offset; + n_is_playing->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_is_playing); + + field_name = "is_forced_play"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_movieplayerst, field_name)); + auto n_is_forced_play = new NodeSimple; + n_is_forced_play->m_field_name = field_name; + n_is_forced_play->m_df_type = DF_Type::int8_t; + n_is_forced_play->m_rdf_type = RDF_Type::int8_t; + n_is_forced_play->m_node_type = NodeType::Simple; + n_is_forced_play->m_address = base + offset; + n_is_forced_play->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_is_forced_play); + + field_name = "quit_if_no_play"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_movieplayerst, field_name)); + auto n_quit_if_no_play = new NodeSimple; + n_quit_if_no_play->m_field_name = field_name; + n_quit_if_no_play->m_df_type = DF_Type::int8_t; + n_quit_if_no_play->m_rdf_type = RDF_Type::int8_t; + n_quit_if_no_play->m_node_type = NodeType::Simple; + n_quit_if_no_play->m_address = base + offset; + n_quit_if_no_play->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_quit_if_no_play); + + field_name = "maxmoviepos"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_movieplayerst, field_name)); + auto n_maxmoviepos = new NodeSimple; + n_maxmoviepos->m_field_name = field_name; + n_maxmoviepos->m_df_type = DF_Type::int32_t; + n_maxmoviepos->m_rdf_type = RDF_Type::int32_t; + n_maxmoviepos->m_node_type = NodeType::Simple; + n_maxmoviepos->m_address = base + offset; + n_maxmoviepos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_maxmoviepos); + + field_name = "end_frame_pos"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_movieplayerst, field_name)); + auto n_end_frame_pos = new NodeSimple; + n_end_frame_pos->m_field_name = field_name; + n_end_frame_pos->m_df_type = DF_Type::int32_t; + n_end_frame_pos->m_rdf_type = RDF_Type::int32_t; + n_end_frame_pos->m_node_type = NodeType::Simple; + n_end_frame_pos->m_address = base + offset; + n_end_frame_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_end_frame_pos); + + field_name = "selfile"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_movieplayerst, field_name)); + auto n_selfile = new NodeSimple; + n_selfile->m_field_name = field_name; + n_selfile->m_df_type = DF_Type::int32_t; + n_selfile->m_rdf_type = RDF_Type::int32_t; + n_selfile->m_node_type = NodeType::Simple; + n_selfile->m_address = base + offset; + n_selfile->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_selfile); + + field_name = "filelist"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_movieplayerst, field_name)); + auto n_filelist = new NodeVector; + n_filelist->m_field_name = field_name; + n_filelist->m_df_type = DF_Type::Ptr_char; + n_filelist->m_rdf_type = RDF_Type::Vector; + n_filelist->m_node_type = NodeType::Vector; + n_filelist->m_addornements = "v"; + n_filelist->m_address = base + offset; + n_filelist->m_parent = p_node_parent; + n_filelist->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_filelist); + +} +void node_from_viewscreen_new_regionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "worldgen_presets"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); + auto n_worldgen_presets = new NodeVector; + n_worldgen_presets->m_field_name = field_name; + n_worldgen_presets->m_df_type = DF_Type::Void; + n_worldgen_presets->m_rdf_type = RDF_Type::Vector; + n_worldgen_presets->m_node_type = NodeType::Vector; + n_worldgen_presets->m_addornements = "v"; + n_worldgen_presets->m_address = base + offset; + n_worldgen_presets->m_parent = p_node_parent; + n_worldgen_presets->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_worldgen_presets); + + field_name = "unk_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); + auto n_unk_2 = new NodeSimple; + n_unk_2->m_field_name = field_name; + n_unk_2->m_df_type = DF_Type::Bool; + n_unk_2->m_rdf_type = RDF_Type::Bool; + n_unk_2->m_node_type = NodeType::Simple; + n_unk_2->m_address = base + offset; + n_unk_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_2); + + field_name = "in_worldgen"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); + auto n_in_worldgen = new NodeSimple; + n_in_worldgen->m_field_name = field_name; + n_in_worldgen->m_df_type = DF_Type::Bool; + n_in_worldgen->m_rdf_type = RDF_Type::Bool; + n_in_worldgen->m_node_type = NodeType::Simple; + n_in_worldgen->m_address = base + offset; + n_in_worldgen->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_in_worldgen); + + field_name = "cursor_paramset"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); + auto n_cursor_paramset = new NodeSimple; + n_cursor_paramset->m_field_name = field_name; + n_cursor_paramset->m_df_type = DF_Type::int32_t; + n_cursor_paramset->m_rdf_type = RDF_Type::int32_t; + n_cursor_paramset->m_node_type = NodeType::Simple; + n_cursor_paramset->m_address = base + offset; + n_cursor_paramset->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cursor_paramset); + + field_name = "random_seed"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); + auto n_random_seed = new NodeSimple; + n_random_seed->m_field_name = field_name; + n_random_seed->m_df_type = DF_Type::Stl_string; + n_random_seed->m_rdf_type = RDF_Type::Stl_string; + n_random_seed->m_node_type = NodeType::Simple; + n_random_seed->m_address = base + offset; + n_random_seed->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_random_seed); + + field_name = "editing_randseed"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); + auto n_editing_randseed = new NodeSimple; + n_editing_randseed->m_field_name = field_name; + n_editing_randseed->m_df_type = DF_Type::Bool; + n_editing_randseed->m_rdf_type = RDF_Type::Bool; + n_editing_randseed->m_node_type = NodeType::Simple; + n_editing_randseed->m_address = base + offset; + n_editing_randseed->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_editing_randseed); + + field_name = "editing_customname"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); + auto n_editing_customname = new NodeSimple; + n_editing_customname->m_field_name = field_name; + n_editing_customname->m_df_type = DF_Type::Bool; + n_editing_customname->m_rdf_type = RDF_Type::Bool; + n_editing_customname->m_node_type = NodeType::Simple; + n_editing_customname->m_address = base + offset; + n_editing_customname->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_editing_customname); + + field_name = "editing_title"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); + auto n_editing_title = new NodeSimple; + n_editing_title->m_field_name = field_name; + n_editing_title->m_df_type = DF_Type::Bool; + n_editing_title->m_rdf_type = RDF_Type::Bool; + n_editing_title->m_node_type = NodeType::Simple; + n_editing_title->m_address = base + offset; + n_editing_title->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_editing_title); + + field_name = "popup_deleteset"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); + auto n_popup_deleteset = new NodeSimple; + n_popup_deleteset->m_field_name = field_name; + n_popup_deleteset->m_df_type = DF_Type::Bool; + n_popup_deleteset->m_rdf_type = RDF_Type::Bool; + n_popup_deleteset->m_node_type = NodeType::Simple; + n_popup_deleteset->m_address = base + offset; + n_popup_deleteset->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_popup_deleteset); + + field_name = "popup_changedimensions"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); + auto n_popup_changedimensions = new NodeSimple; + n_popup_changedimensions->m_field_name = field_name; + n_popup_changedimensions->m_df_type = DF_Type::Bool; + n_popup_changedimensions->m_rdf_type = RDF_Type::Bool; + n_popup_changedimensions->m_node_type = NodeType::Simple; + n_popup_changedimensions->m_address = base + offset; + n_popup_changedimensions->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_popup_changedimensions); + + field_name = "unk_11"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); + auto n_unk_11 = new NodeSimple; + n_unk_11->m_field_name = field_name; + n_unk_11->m_df_type = DF_Type::Bool; + n_unk_11->m_rdf_type = RDF_Type::Bool; + n_unk_11->m_node_type = NodeType::Simple; + n_unk_11->m_address = base + offset; + n_unk_11->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_11); + + field_name = "custom_size_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); + auto n_custom_size_x = new NodeSimple; + n_custom_size_x->m_field_name = field_name; + n_custom_size_x->m_df_type = DF_Type::uint16_t; + n_custom_size_x->m_rdf_type = RDF_Type::uint16_t; + n_custom_size_x->m_node_type = NodeType::Simple; + n_custom_size_x->m_address = base + offset; + n_custom_size_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_custom_size_x); + + field_name = "custom_size_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); + auto n_custom_size_y = new NodeSimple; + n_custom_size_y->m_field_name = field_name; + n_custom_size_y->m_df_type = DF_Type::uint16_t; + n_custom_size_y->m_rdf_type = RDF_Type::uint16_t; + n_custom_size_y->m_node_type = NodeType::Simple; + n_custom_size_y->m_address = base + offset; + n_custom_size_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_custom_size_y); + + field_name = "popup_abort"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); + auto n_popup_abort = new NodeSimple; + n_popup_abort->m_field_name = field_name; + n_popup_abort->m_df_type = DF_Type::Bool; + n_popup_abort->m_rdf_type = RDF_Type::Bool; + n_popup_abort->m_node_type = NodeType::Simple; + n_popup_abort->m_address = base + offset; + n_popup_abort->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_popup_abort); + + field_name = "popup_goon"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); + auto n_popup_goon = new NodeSimple; + n_popup_goon->m_field_name = field_name; + n_popup_goon->m_df_type = DF_Type::Bool; + n_popup_goon->m_rdf_type = RDF_Type::Bool; + n_popup_goon->m_node_type = NodeType::Simple; + n_popup_goon->m_address = base + offset; + n_popup_goon->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_popup_goon); + + field_name = "unsaved_changes"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); + auto n_unsaved_changes = new NodeSimple; + n_unsaved_changes->m_field_name = field_name; + n_unsaved_changes->m_df_type = DF_Type::Bool; + n_unsaved_changes->m_rdf_type = RDF_Type::Bool; + n_unsaved_changes->m_node_type = NodeType::Simple; + n_unsaved_changes->m_address = base + offset; + n_unsaved_changes->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unsaved_changes); + + field_name = "simple_mode"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); + auto n_simple_mode = new NodeSimple; + n_simple_mode->m_field_name = field_name; + n_simple_mode->m_df_type = DF_Type::Bool; + n_simple_mode->m_rdf_type = RDF_Type::Bool; + n_simple_mode->m_node_type = NodeType::Simple; + n_simple_mode->m_address = base + offset; + n_simple_mode->m_comment = "0=advanced params, 1=create new world"; + n_simple_mode->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_simple_mode); + + field_name = "unk_20"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); + auto n_unk_20 = new NodeSimple; + n_unk_20->m_field_name = field_name; + n_unk_20->m_df_type = DF_Type::Bool; + n_unk_20->m_rdf_type = RDF_Type::Bool; + n_unk_20->m_node_type = NodeType::Simple; + n_unk_20->m_address = base + offset; + n_unk_20->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_20); + + field_name = "unk_21"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); + auto n_unk_21 = new NodeSimple; + n_unk_21->m_field_name = field_name; + n_unk_21->m_df_type = DF_Type::Bool; + n_unk_21->m_rdf_type = RDF_Type::Bool; + n_unk_21->m_node_type = NodeType::Simple; + n_unk_21->m_address = base + offset; + n_unk_21->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_21); + + field_name = "cursor_line"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); + auto n_cursor_line = new NodeSimple; + n_cursor_line->m_field_name = field_name; + n_cursor_line->m_df_type = DF_Type::int16_t; + n_cursor_line->m_rdf_type = RDF_Type::int16_t; + n_cursor_line->m_node_type = NodeType::Simple; + n_cursor_line->m_address = base + offset; + n_cursor_line->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cursor_line); + + field_name = "world_size"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); + auto n_world_size = new NodeSimple; + n_world_size->m_field_name = field_name; + n_world_size->m_df_type = DF_Type::int32_t; + n_world_size->m_rdf_type = RDF_Type::int32_t; + n_world_size->m_node_type = NodeType::Simple; + n_world_size->m_address = base + offset; + n_world_size->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_world_size); + + field_name = "history"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); + auto n_history = new NodeSimple; + n_history->m_field_name = field_name; + n_history->m_df_type = DF_Type::int32_t; + n_history->m_rdf_type = RDF_Type::int32_t; + n_history->m_node_type = NodeType::Simple; + n_history->m_address = base + offset; + n_history->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_history); + + field_name = "number_civs"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); + auto n_number_civs = new NodeSimple; + n_number_civs->m_field_name = field_name; + n_number_civs->m_df_type = DF_Type::int32_t; + n_number_civs->m_rdf_type = RDF_Type::int32_t; + n_number_civs->m_node_type = NodeType::Simple; + n_number_civs->m_address = base + offset; + n_number_civs->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_number_civs); + + field_name = "number_sites"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); + auto n_number_sites = new NodeSimple; + n_number_sites->m_field_name = field_name; + n_number_sites->m_df_type = DF_Type::int32_t; + n_number_sites->m_rdf_type = RDF_Type::int32_t; + n_number_sites->m_node_type = NodeType::Simple; + n_number_sites->m_address = base + offset; + n_number_sites->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_number_sites); + + field_name = "number_beasts"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); + auto n_number_beasts = new NodeSimple; + n_number_beasts->m_field_name = field_name; + n_number_beasts->m_df_type = DF_Type::int32_t; + n_number_beasts->m_rdf_type = RDF_Type::int32_t; + n_number_beasts->m_node_type = NodeType::Simple; + n_number_beasts->m_address = base + offset; + n_number_beasts->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_number_beasts); + + field_name = "savagery"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); + auto n_savagery = new NodeSimple; + n_savagery->m_field_name = field_name; + n_savagery->m_df_type = DF_Type::int32_t; + n_savagery->m_rdf_type = RDF_Type::int32_t; + n_savagery->m_node_type = NodeType::Simple; + n_savagery->m_address = base + offset; + n_savagery->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_savagery); + + field_name = "mineral_occurence"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); + auto n_mineral_occurence = new NodeSimple; + n_mineral_occurence->m_field_name = field_name; + n_mineral_occurence->m_df_type = DF_Type::int32_t; + n_mineral_occurence->m_rdf_type = RDF_Type::int32_t; + n_mineral_occurence->m_node_type = NodeType::Simple; + n_mineral_occurence->m_address = base + offset; + n_mineral_occurence->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mineral_occurence); + + field_name = "worldgen_paused"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); + auto n_worldgen_paused = new NodeSimple; + n_worldgen_paused->m_field_name = field_name; + n_worldgen_paused->m_df_type = DF_Type::Bool; + n_worldgen_paused->m_rdf_type = RDF_Type::Bool; + n_worldgen_paused->m_node_type = NodeType::Simple; + n_worldgen_paused->m_address = base + offset; + n_worldgen_paused->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_worldgen_paused); + + field_name = "worldgen_rejected"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); + auto n_worldgen_rejected = new NodeSimple; + n_worldgen_rejected->m_field_name = field_name; + n_worldgen_rejected->m_df_type = DF_Type::Bool; + n_worldgen_rejected->m_rdf_type = RDF_Type::Bool; + n_worldgen_rejected->m_node_type = NodeType::Simple; + n_worldgen_rejected->m_address = base + offset; + n_worldgen_rejected->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_worldgen_rejected); + + field_name = "rejection_msg"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); + auto n_rejection_msg = new NodeVector; + n_rejection_msg->m_field_name = field_name; + n_rejection_msg->m_df_type = DF_Type::Stl_string; + n_rejection_msg->m_rdf_type = RDF_Type::Vector; + n_rejection_msg->m_node_type = NodeType::Vector; + n_rejection_msg->m_addornements = "v*"; + n_rejection_msg->m_address = base + offset; + n_rejection_msg->m_comment = "rejection popup"; + n_rejection_msg->m_parent = p_node_parent; + n_rejection_msg->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_rejection_msg); + + field_name = "welcome_msg"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); + auto n_welcome_msg = new NodeVector; + n_welcome_msg->m_field_name = field_name; + n_welcome_msg->m_df_type = DF_Type::Stl_string; + n_welcome_msg->m_rdf_type = RDF_Type::Vector; + n_welcome_msg->m_node_type = NodeType::Vector; + n_welcome_msg->m_addornements = "v*"; + n_welcome_msg->m_address = base + offset; + n_welcome_msg->m_comment = "fullscreen popup"; + n_welcome_msg->m_parent = p_node_parent; + n_welcome_msg->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_welcome_msg); + + field_name = "raw_folder"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); + auto n_raw_folder = new NodeSimple; + n_raw_folder->m_field_name = field_name; + n_raw_folder->m_df_type = DF_Type::Stl_string; + n_raw_folder->m_rdf_type = RDF_Type::Stl_string; + n_raw_folder->m_node_type = NodeType::Simple; + n_raw_folder->m_address = base + offset; + n_raw_folder->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_raw_folder); + + field_name = "load_world_params"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); + auto n_load_world_params = new NodeSimple; + n_load_world_params->m_field_name = field_name; + n_load_world_params->m_df_type = DF_Type::Bool; + n_load_world_params->m_rdf_type = RDF_Type::Bool; + n_load_world_params->m_node_type = NodeType::Simple; + n_load_world_params->m_address = base + offset; + n_load_world_params->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_load_world_params); + + field_name = "unk_b8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); + auto n_unk_b8 = new NodeSimple; + n_unk_b8->m_field_name = field_name; + n_unk_b8->m_df_type = DF_Type::int32_t; + n_unk_b8->m_rdf_type = RDF_Type::int32_t; + n_unk_b8->m_node_type = NodeType::Simple; + n_unk_b8->m_address = base + offset; + n_unk_b8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_b8); + + field_name = "unk_bc"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_new_regionst, field_name)); + auto n_unk_bc = new NodeSimple; + n_unk_bc->m_field_name = field_name; + n_unk_bc->m_df_type = DF_Type::int32_t; + n_unk_bc->m_rdf_type = RDF_Type::int32_t; + n_unk_bc->m_node_type = NodeType::Simple; + n_unk_bc->m_address = base + offset; + n_unk_bc->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_bc); + +} +void node_from_viewscreen_noblest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "become_capital_offerings"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_noblest, field_name)); + auto n_become_capital_offerings = new NodeSimple; + n_become_capital_offerings->m_field_name = field_name; + n_become_capital_offerings->m_df_type = DF_Type::int32_t; + n_become_capital_offerings->m_rdf_type = RDF_Type::int32_t; + n_become_capital_offerings->m_node_type = NodeType::Simple; + n_become_capital_offerings->m_address = base + offset; + n_become_capital_offerings->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_become_capital_offerings); + +} +void node_from_viewscreen_optionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "msg_quit"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_optionst, field_name)); + auto n_msg_quit = new NodeSimple; + n_msg_quit->m_field_name = field_name; + n_msg_quit->m_df_type = DF_Type::int8_t; + n_msg_quit->m_rdf_type = RDF_Type::int8_t; + n_msg_quit->m_node_type = NodeType::Simple; + n_msg_quit->m_address = base + offset; + n_msg_quit->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_msg_quit); + + field_name = "in_retire_adv"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_optionst, field_name)); + auto n_in_retire_adv = new NodeSimple; + n_in_retire_adv->m_field_name = field_name; + n_in_retire_adv->m_df_type = DF_Type::int8_t; + n_in_retire_adv->m_rdf_type = RDF_Type::int8_t; + n_in_retire_adv->m_node_type = NodeType::Simple; + n_in_retire_adv->m_address = base + offset; + n_in_retire_adv->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_in_retire_adv); + + field_name = "msg_peasant"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_optionst, field_name)); + auto n_msg_peasant = new NodeSimple; + n_msg_peasant->m_field_name = field_name; + n_msg_peasant->m_df_type = DF_Type::int8_t; + n_msg_peasant->m_rdf_type = RDF_Type::int8_t; + n_msg_peasant->m_node_type = NodeType::Simple; + n_msg_peasant->m_address = base + offset; + n_msg_peasant->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_msg_peasant); + + field_name = "in_retire_dwf_abandon_adv"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_optionst, field_name)); + auto n_in_retire_dwf_abandon_adv = new NodeSimple; + n_in_retire_dwf_abandon_adv->m_field_name = field_name; + n_in_retire_dwf_abandon_adv->m_df_type = DF_Type::int8_t; + n_in_retire_dwf_abandon_adv->m_rdf_type = RDF_Type::int8_t; + n_in_retire_dwf_abandon_adv->m_node_type = NodeType::Simple; + n_in_retire_dwf_abandon_adv->m_address = base + offset; + n_in_retire_dwf_abandon_adv->m_comment = "1 when retiring a fortress or abandoning an adventurer"; + n_in_retire_dwf_abandon_adv->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_in_retire_dwf_abandon_adv); + + field_name = "in_abandon_dwf"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_optionst, field_name)); + auto n_in_abandon_dwf = new NodeSimple; + n_in_abandon_dwf->m_field_name = field_name; + n_in_abandon_dwf->m_df_type = DF_Type::int8_t; + n_in_abandon_dwf->m_rdf_type = RDF_Type::int8_t; + n_in_abandon_dwf->m_node_type = NodeType::Simple; + n_in_abandon_dwf->m_address = base + offset; + n_in_abandon_dwf->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_in_abandon_dwf); + + field_name = "ending_game"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_optionst, field_name)); + auto n_ending_game = new NodeSimple; + n_ending_game->m_field_name = field_name; + n_ending_game->m_df_type = DF_Type::int8_t; + n_ending_game->m_rdf_type = RDF_Type::int8_t; + n_ending_game->m_node_type = NodeType::Simple; + n_ending_game->m_address = base + offset; + n_ending_game->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ending_game); + + field_name = "sel_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_optionst, field_name)); + auto n_sel_idx = new NodeSimple; + n_sel_idx->m_field_name = field_name; + n_sel_idx->m_df_type = DF_Type::int32_t; + n_sel_idx->m_rdf_type = RDF_Type::int32_t; + n_sel_idx->m_node_type = NodeType::Simple; + n_sel_idx->m_address = base + offset; + n_sel_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sel_idx); + + field_name = "options"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_optionst, field_name)); + auto n_options = new NodeVector; + n_options->m_field_name = field_name; + n_options->m_df_type = DF_Type::viewscreen_optionst__T_options; + n_options->m_rdf_type = RDF_Type::Vector; + n_options->m_node_type = NodeType::Vector; + n_options->m_enum_base = DF_Type::int32_t; + n_options->m_addornements = "v"; + n_options->m_address = base + offset; + n_options->m_parent = p_node_parent; + n_options->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_options); + +} +void node_from_viewscreen_overallstatusst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "visible_pages"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_overallstatusst, field_name)); + auto n_visible_pages = new NodeVector; + n_visible_pages->m_field_name = field_name; + n_visible_pages->m_df_type = DF_Type::viewscreen_overallstatusst__T_visible_pages; + n_visible_pages->m_rdf_type = RDF_Type::Vector; + n_visible_pages->m_node_type = NodeType::Vector; + n_visible_pages->m_enum_base = DF_Type::int16_t; + n_visible_pages->m_addornements = "v"; + n_visible_pages->m_address = base + offset; + n_visible_pages->m_parent = p_node_parent; + n_visible_pages->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_visible_pages); + + field_name = "page_cursor"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_overallstatusst, field_name)); + auto n_page_cursor = new NodeSimple; + n_page_cursor->m_field_name = field_name; + n_page_cursor->m_df_type = DF_Type::int32_t; + n_page_cursor->m_rdf_type = RDF_Type::int32_t; + n_page_cursor->m_node_type = NodeType::Simple; + n_page_cursor->m_address = base + offset; + n_page_cursor->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_page_cursor); + +} +void node_from_viewscreen_petitionsst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "can_manage"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_petitionsst, field_name)); + auto n_can_manage = new NodeSimple; + n_can_manage->m_field_name = field_name; + n_can_manage->m_df_type = DF_Type::int8_t; + n_can_manage->m_rdf_type = RDF_Type::int8_t; + n_can_manage->m_node_type = NodeType::Simple; + n_can_manage->m_address = base + offset; + n_can_manage->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_can_manage); + + field_name = "list"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_petitionsst, field_name)); + auto n_list = new NodeVector; + n_list->m_field_name = field_name; + n_list->m_df_type = DF_Type::agreement; + n_list->m_rdf_type = RDF_Type::Vector; + n_list->m_node_type = NodeType::Vector; + n_list->m_defined_in = "df.entities.xml"; + n_list->m_addornements = "v*"; + n_list->m_address = base + offset; + n_list->m_parent = p_node_parent; + n_list->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_list); + + field_name = "cursor"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_petitionsst, field_name)); + auto n_cursor = new NodeSimple; + n_cursor->m_field_name = field_name; + n_cursor->m_df_type = DF_Type::int32_t; + n_cursor->m_rdf_type = RDF_Type::int32_t; + n_cursor->m_node_type = NodeType::Simple; + n_cursor->m_address = base + offset; + n_cursor->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cursor); + +} +void node_from_viewscreen_petst__T_animal(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = true) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unit"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_petst__T_animal, field_name)); + auto n_unit = new NodePointer; + n_unit->m_field_name = field_name; + n_unit->m_df_type = get_real_subtype(base+offset, DF_Type::unit); + n_unit->m_rdf_type = RDF_Type::Pointer; + n_unit->m_node_type = NodeType::Pointer; + n_unit->m_addornements = "*"; + n_unit->m_address = base + offset; + n_unit->m_parent = p_node_parent; + n_unit->m_defined_in = "df.units.xml"; + n_unit->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unit); + + field_name = "item"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_petst__T_animal, field_name)); + auto n_item = new NodePointer; + n_item->m_field_name = field_name; + n_item->m_df_type = get_real_subtype(base+offset, DF_Type::item); + n_item->m_rdf_type = RDF_Type::Pointer; + n_item->m_node_type = NodeType::Pointer; + n_item->m_addornements = "*"; + n_item->m_address = base + offset; + n_item->m_parent = p_node_parent; + n_item->m_defined_in = "df.items.xml"; + n_item->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_item); + +} +void node_from_viewscreen_petst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "cursor"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_petst, field_name)); + auto n_cursor = new NodeSimple; + n_cursor->m_field_name = field_name; + n_cursor->m_df_type = DF_Type::int32_t; + n_cursor->m_rdf_type = RDF_Type::int32_t; + n_cursor->m_node_type = NodeType::Simple; + n_cursor->m_address = base + offset; + n_cursor->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cursor); + + field_name = "animal"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_petst, field_name)); + auto n_animal = new NodeVector; + n_animal->m_field_name = field_name; + n_animal->m_df_type = DF_Type::viewscreen_petst__T_animal; + n_animal->m_rdf_type = RDF_Type::Vector; + n_animal->m_node_type = NodeType::Vector; + n_animal->m_addornements = "v"; + n_animal->m_address = base + offset; + n_animal->m_parent = p_node_parent; + n_animal->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_animal); + + field_name = "is_vermin"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_petst, field_name)); + auto n_is_vermin = new NodeVector; + n_is_vermin->m_field_name = field_name; + n_is_vermin->m_df_type = DF_Type::Bool; + n_is_vermin->m_rdf_type = RDF_Type::Vector; + n_is_vermin->m_node_type = NodeType::Vector; + n_is_vermin->m_addornements = "v"; + n_is_vermin->m_address = base + offset; + n_is_vermin->m_parent = p_node_parent; + n_is_vermin->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_is_vermin); + + field_name = "is_tame"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_petst, field_name)); + auto n_is_tame = new NodeVector; + n_is_tame->m_field_name = field_name; + n_is_tame->m_df_type = DF_Type::Bool; + n_is_tame->m_rdf_type = RDF_Type::Vector; + n_is_tame->m_node_type = NodeType::Vector; + n_is_tame->m_addornements = "v"; + n_is_tame->m_address = base + offset; + n_is_tame->m_parent = p_node_parent; + n_is_tame->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_is_tame); + + field_name = "is_adopting"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_petst, field_name)); + auto n_is_adopting = new NodeVector; + n_is_adopting->m_field_name = field_name; + n_is_adopting->m_df_type = DF_Type::Bool; + n_is_adopting->m_rdf_type = RDF_Type::Vector; + n_is_adopting->m_node_type = NodeType::Vector; + n_is_adopting->m_addornements = "v"; + n_is_adopting->m_address = base + offset; + n_is_adopting->m_parent = p_node_parent; + n_is_adopting->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_is_adopting); + + field_name = "mode"; + auto n_mode = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_petst, field_name)); + n_mode->m_field_name = field_name; + n_mode->m_df_type = DF_Type::viewscreen_petst__T_mode; + n_mode->m_rdf_type = RDF_Type::Enum; + n_mode->m_node_type = NodeType::Enum; + n_mode->m_base_type = enum_base_type(n_mode->m_df_type); + n_mode->m_enum_type = "viewscreen_petst::T_mode"; + n_mode->m_address = base + offset; + n_mode->m_first_value = 0; + n_mode->m_last_value = 2; + n_mode->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mode); + + field_name = "knowledge_page"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_petst, field_name)); + auto n_knowledge_page = new NodeSimple; + n_knowledge_page->m_field_name = field_name; + n_knowledge_page->m_df_type = DF_Type::int32_t; + n_knowledge_page->m_rdf_type = RDF_Type::int32_t; + n_knowledge_page->m_node_type = NodeType::Simple; + n_knowledge_page->m_address = base + offset; + n_knowledge_page->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_knowledge_page); + + field_name = "known"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_petst, field_name)); + auto n_known = new NodeVector; + n_known->m_field_name = field_name; + n_known->m_df_type = DF_Type::int32_t; + n_known->m_rdf_type = RDF_Type::Vector; + n_known->m_node_type = NodeType::Vector; + n_known->m_addornements = "v"; + n_known->m_address = base + offset; + n_known->m_parent = p_node_parent; + n_known->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_known); + + field_name = "trainer_cursor"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_petst, field_name)); + auto n_trainer_cursor = new NodeSimple; + n_trainer_cursor->m_field_name = field_name; + n_trainer_cursor->m_df_type = DF_Type::int32_t; + n_trainer_cursor->m_rdf_type = RDF_Type::int32_t; + n_trainer_cursor->m_node_type = NodeType::Simple; + n_trainer_cursor->m_address = base + offset; + n_trainer_cursor->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_trainer_cursor); + + field_name = "trainer_unit"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_petst, field_name)); + auto n_trainer_unit = new NodeVector; + n_trainer_unit->m_field_name = field_name; + n_trainer_unit->m_df_type = DF_Type::unit; + n_trainer_unit->m_rdf_type = RDF_Type::Vector; + n_trainer_unit->m_node_type = NodeType::Vector; + n_trainer_unit->m_defined_in = "df.units.xml"; + n_trainer_unit->m_addornements = "v*"; + n_trainer_unit->m_address = base + offset; + n_trainer_unit->m_parent = p_node_parent; + n_trainer_unit->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_trainer_unit); + + field_name = "trainer_mode"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_petst, field_name)); + auto n_trainer_mode = new NodeVector; + n_trainer_mode->m_field_name = field_name; + n_trainer_mode->m_df_type = DF_Type::viewscreen_petst__T_trainer_mode; + n_trainer_mode->m_rdf_type = RDF_Type::Vector; + n_trainer_mode->m_node_type = NodeType::Vector; + n_trainer_mode->m_enum_base = DF_Type::int32_t; + n_trainer_mode->m_addornements = "v"; + n_trainer_mode->m_address = base + offset; + n_trainer_mode->m_parent = p_node_parent; + n_trainer_mode->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_trainer_mode); + +} +void node_from_viewscreen_pricest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "category_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_pricest, field_name)); + auto n_category_idx = new NodeSimple; + n_category_idx->m_field_name = field_name; + n_category_idx->m_df_type = DF_Type::int16_t; + n_category_idx->m_rdf_type = RDF_Type::int16_t; + n_category_idx->m_node_type = NodeType::Simple; + n_category_idx->m_address = base + offset; + n_category_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_category_idx); + + field_name = "item_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_pricest, field_name)); + auto n_item_idx = new NodeSimple; + n_item_idx->m_field_name = field_name; + n_item_idx->m_df_type = DF_Type::int32_t; + n_item_idx->m_rdf_type = RDF_Type::int32_t; + n_item_idx->m_node_type = NodeType::Simple; + n_item_idx->m_address = base + offset; + n_item_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_idx); + +} +void node_from_viewscreen_reportlistst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "units"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_reportlistst, field_name)); + auto n_units = new NodeVector; + n_units->m_field_name = field_name; + n_units->m_df_type = DF_Type::unit; + n_units->m_rdf_type = RDF_Type::Vector; + n_units->m_node_type = NodeType::Vector; + n_units->m_defined_in = "df.units.xml"; + n_units->m_addornements = "v*"; + n_units->m_address = base + offset; + n_units->m_parent = p_node_parent; + n_units->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_units); + + field_name = "types"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_reportlistst, field_name)); + auto n_types = new NodeVector; + n_types->m_field_name = field_name; + n_types->m_df_type = DF_Type::unit_report_type; + n_types->m_rdf_type = RDF_Type::Vector; + n_types->m_node_type = NodeType::Vector; + n_types->m_enum_base = DF_Type::int16_t; + n_types->m_defined_in = "df.units.xml"; + n_types->m_addornements = "v"; + n_types->m_address = base + offset; + n_types->m_parent = p_node_parent; + n_types->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_types); + + field_name = "last_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_reportlistst, field_name)); + auto n_last_id = new NodeVector; + n_last_id->m_field_name = field_name; + n_last_id->m_df_type = DF_Type::int32_t; + n_last_id->m_rdf_type = RDF_Type::Vector; + n_last_id->m_node_type = NodeType::Vector; + n_last_id->m_addornements = "v"; + n_last_id->m_address = base + offset; + n_last_id->m_parent = p_node_parent; + n_last_id->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_last_id); + + field_name = "mission_reports"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_reportlistst, field_name)); + auto n_mission_reports = new NodeVector; + n_mission_reports->m_field_name = field_name; + n_mission_reports->m_df_type = DF_Type::int32_t; + n_mission_reports->m_rdf_type = RDF_Type::Vector; + n_mission_reports->m_node_type = NodeType::Vector; + n_mission_reports->m_addornements = "v"; + n_mission_reports->m_address = base + offset; + n_mission_reports->m_parent = p_node_parent; + n_mission_reports->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_mission_reports); + + field_name = "spoils_reports"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_reportlistst, field_name)); + auto n_spoils_reports = new NodeVector; + n_spoils_reports->m_field_name = field_name; + n_spoils_reports->m_df_type = DF_Type::int32_t; + n_spoils_reports->m_rdf_type = RDF_Type::Vector; + n_spoils_reports->m_node_type = NodeType::Vector; + n_spoils_reports->m_addornements = "v"; + n_spoils_reports->m_address = base + offset; + n_spoils_reports->m_parent = p_node_parent; + n_spoils_reports->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_spoils_reports); + + field_name = "cursor"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_reportlistst, field_name)); + auto n_cursor = new NodeSimple; + n_cursor->m_field_name = field_name; + n_cursor->m_df_type = DF_Type::int32_t; + n_cursor->m_rdf_type = RDF_Type::int32_t; + n_cursor->m_node_type = NodeType::Simple; + n_cursor->m_address = base + offset; + n_cursor->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cursor); + + field_name = "mission_report"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_reportlistst, field_name)); + auto n_mission_report = new NodePointer; + n_mission_report->m_field_name = field_name; + n_mission_report->m_df_type = get_real_subtype(base+offset, DF_Type::mission_report); + n_mission_report->m_rdf_type = RDF_Type::Pointer; + n_mission_report->m_node_type = NodeType::Pointer; + n_mission_report->m_addornements = "*"; + n_mission_report->m_address = base + offset; + n_mission_report->m_parent = p_node_parent; + n_mission_report->m_defined_in = "df.world.xml"; + n_mission_report->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_mission_report); + + field_name = "map_cursor_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_reportlistst, field_name)); + auto n_map_cursor_x = new NodeSimple; + n_map_cursor_x->m_field_name = field_name; + n_map_cursor_x->m_df_type = DF_Type::int32_t; + n_map_cursor_x->m_rdf_type = RDF_Type::int32_t; + n_map_cursor_x->m_node_type = NodeType::Simple; + n_map_cursor_x->m_address = base + offset; + n_map_cursor_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_map_cursor_x); + + field_name = "map_cursor_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_reportlistst, field_name)); + auto n_map_cursor_y = new NodeSimple; + n_map_cursor_y->m_field_name = field_name; + n_map_cursor_y->m_df_type = DF_Type::int32_t; + n_map_cursor_y->m_rdf_type = RDF_Type::int32_t; + n_map_cursor_y->m_node_type = NodeType::Simple; + n_map_cursor_y->m_address = base + offset; + n_map_cursor_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_map_cursor_y); + + field_name = "mission_path_finished"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_reportlistst, field_name)); + auto n_mission_path_finished = new NodeSimple; + n_mission_path_finished->m_field_name = field_name; + n_mission_path_finished->m_df_type = DF_Type::int32_t; + n_mission_path_finished->m_rdf_type = RDF_Type::int32_t; + n_mission_path_finished->m_node_type = NodeType::Simple; + n_mission_path_finished->m_address = base + offset; + n_mission_path_finished->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mission_path_finished); + + field_name = "mission_path_progress"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_reportlistst, field_name)); + auto n_mission_path_progress = new NodeSimple; + n_mission_path_progress->m_field_name = field_name; + n_mission_path_progress->m_df_type = DF_Type::int32_t; + n_mission_path_progress->m_rdf_type = RDF_Type::int32_t; + n_mission_path_progress->m_node_type = NodeType::Simple; + n_mission_path_progress->m_address = base + offset; + n_mission_path_progress->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mission_path_progress); + + field_name = "mission_text_finished"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_reportlistst, field_name)); + auto n_mission_text_finished = new NodeSimple; + n_mission_text_finished->m_field_name = field_name; + n_mission_text_finished->m_df_type = DF_Type::int32_t; + n_mission_text_finished->m_rdf_type = RDF_Type::int32_t; + n_mission_text_finished->m_node_type = NodeType::Simple; + n_mission_text_finished->m_address = base + offset; + n_mission_text_finished->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mission_text_finished); + + field_name = "mission_text_progress"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_reportlistst, field_name)); + auto n_mission_text_progress = new NodeSimple; + n_mission_text_progress->m_field_name = field_name; + n_mission_text_progress->m_df_type = DF_Type::int32_t; + n_mission_text_progress->m_rdf_type = RDF_Type::int32_t; + n_mission_text_progress->m_node_type = NodeType::Simple; + n_mission_text_progress->m_address = base + offset; + n_mission_text_progress->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mission_text_progress); + + field_name = "mission_report_text"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_reportlistst, field_name)); + auto n_mission_report_text = new NodeVector; + n_mission_report_text->m_field_name = field_name; + n_mission_report_text->m_df_type = DF_Type::Stl_string; + n_mission_report_text->m_rdf_type = RDF_Type::Vector; + n_mission_report_text->m_node_type = NodeType::Vector; + n_mission_report_text->m_addornements = "v*"; + n_mission_report_text->m_address = base + offset; + n_mission_report_text->m_parent = p_node_parent; + n_mission_report_text->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_mission_report_text); + + field_name = "mission_report_colors"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_reportlistst, field_name)); + auto n_mission_report_colors = new NodeVector; + n_mission_report_colors->m_field_name = field_name; + n_mission_report_colors->m_df_type = DF_Type::int32_t; + n_mission_report_colors->m_rdf_type = RDF_Type::Vector; + n_mission_report_colors->m_node_type = NodeType::Vector; + n_mission_report_colors->m_addornements = "v"; + n_mission_report_colors->m_address = base + offset; + n_mission_report_colors->m_parent = p_node_parent; + n_mission_report_colors->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_mission_report_colors); + + field_name = "mission_year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_reportlistst, field_name)); + auto n_mission_year = new NodeSimple; + n_mission_year->m_field_name = field_name; + n_mission_year->m_df_type = DF_Type::int32_t; + n_mission_year->m_rdf_type = RDF_Type::int32_t; + n_mission_year->m_node_type = NodeType::Simple; + n_mission_year->m_address = base + offset; + n_mission_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mission_year); + + field_name = "mission_year_tick"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_reportlistst, field_name)); + auto n_mission_year_tick = new NodeSimple; + n_mission_year_tick->m_field_name = field_name; + n_mission_year_tick->m_df_type = DF_Type::int32_t; + n_mission_year_tick->m_rdf_type = RDF_Type::int32_t; + n_mission_year_tick->m_node_type = NodeType::Simple; + n_mission_year_tick->m_address = base + offset; + n_mission_year_tick->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mission_year_tick); + + field_name = "mission_path_speed"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_reportlistst, field_name)); + auto n_mission_path_speed = new NodeSimple; + n_mission_path_speed->m_field_name = field_name; + n_mission_path_speed->m_df_type = DF_Type::int32_t; + n_mission_path_speed->m_rdf_type = RDF_Type::int32_t; + n_mission_path_speed->m_node_type = NodeType::Simple; + n_mission_path_speed->m_address = base + offset; + n_mission_path_speed->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mission_path_speed); + + field_name = "mission_report_paused"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_reportlistst, field_name)); + auto n_mission_report_paused = new NodeSimple; + n_mission_report_paused->m_field_name = field_name; + n_mission_report_paused->m_df_type = DF_Type::Bool; + n_mission_report_paused->m_rdf_type = RDF_Type::Bool; + n_mission_report_paused->m_node_type = NodeType::Simple; + n_mission_report_paused->m_address = base + offset; + n_mission_report_paused->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mission_report_paused); + + field_name = "mission_report_fade"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_reportlistst, field_name)); + auto n_mission_report_fade = new NodeSimple; + n_mission_report_fade->m_field_name = field_name; + n_mission_report_fade->m_df_type = DF_Type::int32_t; + n_mission_report_fade->m_rdf_type = RDF_Type::int32_t; + n_mission_report_fade->m_node_type = NodeType::Simple; + n_mission_report_fade->m_address = base + offset; + n_mission_report_fade->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mission_report_fade); + + field_name = "mission_report_fade_line"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_reportlistst, field_name)); + auto n_mission_report_fade_line = new NodeSimple; + n_mission_report_fade_line->m_field_name = field_name; + n_mission_report_fade_line->m_df_type = DF_Type::int32_t; + n_mission_report_fade_line->m_rdf_type = RDF_Type::int32_t; + n_mission_report_fade_line->m_node_type = NodeType::Simple; + n_mission_report_fade_line->m_address = base + offset; + n_mission_report_fade_line->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mission_report_fade_line); + + field_name = "mission_report_scroll"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_reportlistst, field_name)); + auto n_mission_report_scroll = new NodeSimple; + n_mission_report_scroll->m_field_name = field_name; + n_mission_report_scroll->m_df_type = DF_Type::int32_t; + n_mission_report_scroll->m_rdf_type = RDF_Type::int32_t; + n_mission_report_scroll->m_node_type = NodeType::Simple; + n_mission_report_scroll->m_address = base + offset; + n_mission_report_scroll->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mission_report_scroll); + + field_name = "spoils_report_title"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_reportlistst, field_name)); + auto n_spoils_report_title = new NodePointer; + n_spoils_report_title->m_field_name = field_name; + n_spoils_report_title->m_df_type = get_real_subtype(base+offset, DF_Type::Stl_string); + n_spoils_report_title->m_rdf_type = RDF_Type::Pointer; + n_spoils_report_title->m_node_type = NodeType::Pointer; + n_spoils_report_title->m_addornements = "*"; + n_spoils_report_title->m_address = base + offset; + n_spoils_report_title->m_parent = p_node_parent; + n_spoils_report_title->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_spoils_report_title); + + field_name = "spoils_report_scroll"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_reportlistst, field_name)); + auto n_spoils_report_scroll = new NodeSimple; + n_spoils_report_scroll->m_field_name = field_name; + n_spoils_report_scroll->m_df_type = DF_Type::int32_t; + n_spoils_report_scroll->m_rdf_type = RDF_Type::int32_t; + n_spoils_report_scroll->m_node_type = NodeType::Simple; + n_spoils_report_scroll->m_address = base + offset; + n_spoils_report_scroll->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_spoils_report_scroll); + +} +void node_from_viewscreen_requestagreementst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "requests"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_requestagreementst, field_name)); + auto n_requests = new NodePointer; + n_requests->m_field_name = field_name; + n_requests->m_df_type = get_real_subtype(base+offset, DF_Type::entity_buy_prices); + n_requests->m_rdf_type = RDF_Type::Pointer; + n_requests->m_node_type = NodeType::Pointer; + n_requests->m_addornements = "*"; + n_requests->m_address = base + offset; + n_requests->m_parent = p_node_parent; + n_requests->m_defined_in = "df.entities.xml"; + n_requests->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_requests); + + field_name = "civ_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_requestagreementst, field_name)); + auto n_civ_id = new NodeSimple; + n_civ_id->m_field_name = field_name; + n_civ_id->m_df_type = DF_Type::int32_t; + n_civ_id->m_rdf_type = RDF_Type::int32_t; + n_civ_id->m_node_type = NodeType::Simple; + n_civ_id->m_address = base + offset; + n_civ_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_civ_id); + + field_name = "cursor"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_requestagreementst, field_name)); + auto n_cursor = new NodeSimple; + n_cursor->m_field_name = field_name; + n_cursor->m_df_type = DF_Type::int32_t; + n_cursor->m_rdf_type = RDF_Type::int32_t; + n_cursor->m_node_type = NodeType::Simple; + n_cursor->m_address = base + offset; + n_cursor->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cursor); + + field_name = "title"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_requestagreementst, field_name)); + auto n_title= new NodePadding; + n_title->m_field_name = field_name; + n_title->m_df_type = DF_Type::Static_string; + n_title->m_rdf_type = RDF_Type::Static_string; + n_title->m_node_type = NodeType::StaticString; + n_title->m_address = base + offset; + n_title->m_size = 256; + n_title->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_title); + + field_name = "civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_requestagreementst, field_name)); + auto n_civ = new NodePointer; + n_civ->m_field_name = field_name; + n_civ->m_df_type = get_real_subtype(base+offset, DF_Type::historical_entity); + n_civ->m_rdf_type = RDF_Type::Pointer; + n_civ->m_node_type = NodeType::Pointer; + n_civ->m_addornements = "*"; + n_civ->m_address = base + offset; + n_civ->m_parent = p_node_parent; + n_civ->m_defined_in = "df.entities.xml"; + n_civ->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_civ); + +} +void node_from_nemesis_offload(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "nemesis_save_file_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::nemesis_offload, field_name)); + auto n_nemesis_save_file_id = new NodeVector; + n_nemesis_save_file_id->m_field_name = field_name; + n_nemesis_save_file_id->m_df_type = DF_Type::int32_t; + n_nemesis_save_file_id->m_rdf_type = RDF_Type::Vector; + n_nemesis_save_file_id->m_node_type = NodeType::Vector; + n_nemesis_save_file_id->m_addornements = "v"; + n_nemesis_save_file_id->m_address = base + offset; + n_nemesis_save_file_id->m_parent = p_node_parent; + n_nemesis_save_file_id->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_nemesis_save_file_id); + + field_name = "nemesis_member_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::nemesis_offload, field_name)); + auto n_nemesis_member_idx = new NodeVector; + n_nemesis_member_idx->m_field_name = field_name; + n_nemesis_member_idx->m_df_type = DF_Type::int16_t; + n_nemesis_member_idx->m_rdf_type = RDF_Type::Vector; + n_nemesis_member_idx->m_node_type = NodeType::Vector; + n_nemesis_member_idx->m_addornements = "v"; + n_nemesis_member_idx->m_address = base + offset; + n_nemesis_member_idx->m_parent = p_node_parent; + n_nemesis_member_idx->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_nemesis_member_idx); + + field_name = "units"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::nemesis_offload, field_name)); + auto n_units = new NodeVector; + n_units->m_field_name = field_name; + n_units->m_df_type = DF_Type::unit; + n_units->m_rdf_type = RDF_Type::Vector; + n_units->m_node_type = NodeType::Vector; + n_units->m_defined_in = "df.units.xml"; + n_units->m_addornements = "v*"; + n_units->m_address = base + offset; + n_units->m_parent = p_node_parent; + n_units->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_units); + + field_name = "cur_unit_chunk"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::nemesis_offload, field_name)); + auto n_cur_unit_chunk = new NodePointer; + n_cur_unit_chunk->m_field_name = field_name; + n_cur_unit_chunk->m_df_type = get_real_subtype(base+offset, DF_Type::unit_chunk); + n_cur_unit_chunk->m_rdf_type = RDF_Type::Pointer; + n_cur_unit_chunk->m_node_type = NodeType::Pointer; + n_cur_unit_chunk->m_addornements = "*"; + n_cur_unit_chunk->m_address = base + offset; + n_cur_unit_chunk->m_parent = p_node_parent; + n_cur_unit_chunk->m_defined_in = "df.units.xml"; + n_cur_unit_chunk->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_cur_unit_chunk); + + field_name = "cur_unit_chunk_num"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::nemesis_offload, field_name)); + auto n_cur_unit_chunk_num = new NodeSimple; + n_cur_unit_chunk_num->m_field_name = field_name; + n_cur_unit_chunk_num->m_df_type = DF_Type::int32_t; + n_cur_unit_chunk_num->m_rdf_type = RDF_Type::int32_t; + n_cur_unit_chunk_num->m_node_type = NodeType::Simple; + n_cur_unit_chunk_num->m_address = base + offset; + n_cur_unit_chunk_num->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cur_unit_chunk_num); + + field_name = "units_offloaded"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::nemesis_offload, field_name)); + auto n_units_offloaded = new NodeSimple; + n_units_offloaded->m_field_name = field_name; + n_units_offloaded->m_df_type = DF_Type::int32_t; + n_units_offloaded->m_rdf_type = RDF_Type::int32_t; + n_units_offloaded->m_node_type = NodeType::Simple; + n_units_offloaded->m_address = base + offset; + n_units_offloaded->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_units_offloaded); + +} +void node_from_ui__T_tax_collection(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "state"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_tax_collection, field_name)); + auto n_state = new NodeSimple; + n_state->m_field_name = field_name; + n_state->m_df_type = DF_Type::int16_t; + n_state->m_rdf_type = RDF_Type::int16_t; + n_state->m_node_type = NodeType::Simple; + n_state->m_address = base + offset; + n_state->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_state); + + field_name = "check_timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_tax_collection, field_name)); + auto n_check_timer = new NodeSimple; + n_check_timer->m_field_name = field_name; + n_check_timer->m_df_type = DF_Type::int32_t; + n_check_timer->m_rdf_type = RDF_Type::int32_t; + n_check_timer->m_node_type = NodeType::Simple; + n_check_timer->m_address = base + offset; + n_check_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_check_timer); + + field_name = "rooms"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_tax_collection, field_name)); + auto n_rooms = new NodeVector; + n_rooms->m_field_name = field_name; + n_rooms->m_df_type = DF_Type::int32_t; + n_rooms->m_rdf_type = RDF_Type::Vector; + n_rooms->m_node_type = NodeType::Vector; + n_rooms->m_addornements = "v"; + n_rooms->m_address = base + offset; + n_rooms->m_parent = p_node_parent; + n_rooms->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_rooms); + + field_name = "reach_room_timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_tax_collection, field_name)); + auto n_reach_room_timer = new NodeSimple; + n_reach_room_timer->m_field_name = field_name; + n_reach_room_timer->m_df_type = DF_Type::int32_t; + n_reach_room_timer->m_rdf_type = RDF_Type::int32_t; + n_reach_room_timer->m_node_type = NodeType::Simple; + n_reach_room_timer->m_address = base + offset; + n_reach_room_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_reach_room_timer); + + field_name = "tc_protect_timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_tax_collection, field_name)); + auto n_tc_protect_timer = new NodeSimple; + n_tc_protect_timer->m_field_name = field_name; + n_tc_protect_timer->m_df_type = DF_Type::int32_t; + n_tc_protect_timer->m_rdf_type = RDF_Type::int32_t; + n_tc_protect_timer->m_node_type = NodeType::Simple; + n_tc_protect_timer->m_address = base + offset; + n_tc_protect_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tc_protect_timer); + + field_name = "guard1_reach_tc_timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_tax_collection, field_name)); + auto n_guard1_reach_tc_timer = new NodeSimple; + n_guard1_reach_tc_timer->m_field_name = field_name; + n_guard1_reach_tc_timer->m_df_type = DF_Type::int32_t; + n_guard1_reach_tc_timer->m_rdf_type = RDF_Type::int32_t; + n_guard1_reach_tc_timer->m_node_type = NodeType::Simple; + n_guard1_reach_tc_timer->m_address = base + offset; + n_guard1_reach_tc_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_guard1_reach_tc_timer); + + field_name = "guard2_reach_tc_timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_tax_collection, field_name)); + auto n_guard2_reach_tc_timer = new NodeSimple; + n_guard2_reach_tc_timer->m_field_name = field_name; + n_guard2_reach_tc_timer->m_df_type = DF_Type::int32_t; + n_guard2_reach_tc_timer->m_rdf_type = RDF_Type::int32_t; + n_guard2_reach_tc_timer->m_node_type = NodeType::Simple; + n_guard2_reach_tc_timer->m_address = base + offset; + n_guard2_reach_tc_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_guard2_reach_tc_timer); + + field_name = "collected"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_tax_collection, field_name)); + auto n_collected = new NodeSimple; + n_collected->m_field_name = field_name; + n_collected->m_df_type = DF_Type::int16_t; + n_collected->m_rdf_type = RDF_Type::int16_t; + n_collected->m_node_type = NodeType::Simple; + n_collected->m_address = base + offset; + n_collected->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_collected); + + field_name = "quota"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_tax_collection, field_name)); + auto n_quota = new NodeSimple; + n_quota->m_field_name = field_name; + n_quota->m_df_type = DF_Type::int16_t; + n_quota->m_rdf_type = RDF_Type::int16_t; + n_quota->m_node_type = NodeType::Simple; + n_quota->m_address = base + offset; + n_quota->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_quota); + + field_name = "collector_pos"; + auto n_collector_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_tax_collection, field_name)); + n_collector_pos->m_field_name = field_name; + n_collector_pos->m_df_type = DF_Type::coord; + n_collector_pos->m_rdf_type = RDF_Type::Struct; + n_collector_pos->m_node_type = NodeType::Compound; + n_collector_pos->m_address = base + offset; + n_collector_pos->m_defined_in = "df.map.xml"; + n_collector_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_collector_pos); + + field_name = "guard_pos_x"; + auto n_guard_pos_x = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_tax_collection, field_name)); + n_guard_pos_x->m_field_name = field_name; + n_guard_pos_x->m_df_type = DF_Type::int16_t; + n_guard_pos_x->m_rdf_type = RDF_Type::Array; + n_guard_pos_x->m_node_type = NodeType::Array; + n_guard_pos_x->m_addornements = "[2"; + n_guard_pos_x->m_array_size = 2; + n_guard_pos_x->m_address = base + offset; + n_guard_pos_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_guard_pos_x); + + field_name = "guard_pos_y"; + auto n_guard_pos_y = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_tax_collection, field_name)); + n_guard_pos_y->m_field_name = field_name; + n_guard_pos_y->m_df_type = DF_Type::int16_t; + n_guard_pos_y->m_rdf_type = RDF_Type::Array; + n_guard_pos_y->m_node_type = NodeType::Array; + n_guard_pos_y->m_addornements = "[2"; + n_guard_pos_y->m_array_size = 2; + n_guard_pos_y->m_address = base + offset; + n_guard_pos_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_guard_pos_y); + + field_name = "guard_pos_z"; + auto n_guard_pos_z = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_tax_collection, field_name)); + n_guard_pos_z->m_field_name = field_name; + n_guard_pos_z->m_df_type = DF_Type::int16_t; + n_guard_pos_z->m_rdf_type = RDF_Type::Array; + n_guard_pos_z->m_node_type = NodeType::Array; + n_guard_pos_z->m_addornements = "[2"; + n_guard_pos_z->m_array_size = 2; + n_guard_pos_z->m_address = base + offset; + n_guard_pos_z->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_guard_pos_z); + + field_name = "collector"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_tax_collection, field_name)); + auto n_collector = new NodePointer; + n_collector->m_field_name = field_name; + n_collector->m_df_type = get_real_subtype(base+offset, DF_Type::unit); + n_collector->m_rdf_type = RDF_Type::Pointer; + n_collector->m_node_type = NodeType::Pointer; + n_collector->m_addornements = "*"; + n_collector->m_address = base + offset; + n_collector->m_parent = p_node_parent; + n_collector->m_defined_in = "df.units.xml"; + n_collector->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_collector); + + field_name = "guard1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_tax_collection, field_name)); + auto n_guard1 = new NodePointer; + n_guard1->m_field_name = field_name; + n_guard1->m_df_type = get_real_subtype(base+offset, DF_Type::unit); + n_guard1->m_rdf_type = RDF_Type::Pointer; + n_guard1->m_node_type = NodeType::Pointer; + n_guard1->m_addornements = "*"; + n_guard1->m_address = base + offset; + n_guard1->m_parent = p_node_parent; + n_guard1->m_defined_in = "df.units.xml"; + n_guard1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_guard1); + + field_name = "guard2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_tax_collection, field_name)); + auto n_guard2 = new NodePointer; + n_guard2->m_field_name = field_name; + n_guard2->m_df_type = get_real_subtype(base+offset, DF_Type::unit); + n_guard2->m_rdf_type = RDF_Type::Pointer; + n_guard2->m_node_type = NodeType::Pointer; + n_guard2->m_addornements = "*"; + n_guard2->m_address = base + offset; + n_guard2->m_parent = p_node_parent; + n_guard2->m_defined_in = "df.units.xml"; + n_guard2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_guard2); + + field_name = "guard_lack_complained"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_tax_collection, field_name)); + auto n_guard_lack_complained = new NodeSimple; + n_guard_lack_complained->m_field_name = field_name; + n_guard_lack_complained->m_df_type = DF_Type::int8_t; + n_guard_lack_complained->m_rdf_type = RDF_Type::int8_t; + n_guard_lack_complained->m_node_type = NodeType::Simple; + n_guard_lack_complained->m_address = base + offset; + n_guard_lack_complained->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_guard_lack_complained); + +} +void node_from_ui__T_becoming_capital(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "desired_architecture"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_becoming_capital, field_name)); + auto n_desired_architecture = new NodeSimple; + n_desired_architecture->m_field_name = field_name; + n_desired_architecture->m_df_type = DF_Type::int32_t; + n_desired_architecture->m_rdf_type = RDF_Type::int32_t; + n_desired_architecture->m_node_type = NodeType::Simple; + n_desired_architecture->m_address = base + offset; + n_desired_architecture->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_desired_architecture); + + field_name = "desired_offerings"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_becoming_capital, field_name)); + auto n_desired_offerings = new NodeSimple; + n_desired_offerings->m_field_name = field_name; + n_desired_offerings->m_df_type = DF_Type::int32_t; + n_desired_offerings->m_rdf_type = RDF_Type::int32_t; + n_desired_offerings->m_node_type = NodeType::Simple; + n_desired_offerings->m_address = base + offset; + n_desired_offerings->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_desired_offerings); + +} +void node_from_ui__T_invasions(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "list"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_invasions, field_name)); + auto n_list = new NodeVector; + n_list->m_field_name = field_name; + n_list->m_df_type = DF_Type::invasion_info; + n_list->m_rdf_type = RDF_Type::Vector; + n_list->m_node_type = NodeType::Vector; + n_list->m_defined_in = "df.legends.xml"; + n_list->m_addornements = "v*"; + n_list->m_address = base + offset; + n_list->m_parent = p_node_parent; + n_list->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_list); + + field_name = "next_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_invasions, field_name)); + auto n_next_id = new NodeSimple; + n_next_id->m_field_name = field_name; + n_next_id->m_df_type = DF_Type::int32_t; + n_next_id->m_rdf_type = RDF_Type::int32_t; + n_next_id->m_node_type = NodeType::Simple; + n_next_id->m_address = base + offset; + n_next_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_next_id); + +} +void node_from_ui__T_kitchen(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "item_types"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_kitchen, field_name)); + auto n_item_types = new NodeVector; + n_item_types->m_field_name = field_name; + n_item_types->m_df_type = DF_Type::item_type; + n_item_types->m_rdf_type = RDF_Type::Vector; + n_item_types->m_node_type = NodeType::Vector; + n_item_types->m_enum_base = DF_Type::int16_t; + n_item_types->m_defined_in = "df.item-raws.xml"; + n_item_types->m_addornements = "v"; + n_item_types->m_address = base + offset; + n_item_types->m_parent = p_node_parent; + n_item_types->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_item_types); + + field_name = "item_subtypes"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_kitchen, field_name)); + auto n_item_subtypes = new NodeVector; + n_item_subtypes->m_field_name = field_name; + n_item_subtypes->m_df_type = DF_Type::int16_t; + n_item_subtypes->m_rdf_type = RDF_Type::Vector; + n_item_subtypes->m_node_type = NodeType::Vector; + n_item_subtypes->m_addornements = "v"; + n_item_subtypes->m_address = base + offset; + n_item_subtypes->m_parent = p_node_parent; + n_item_subtypes->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_item_subtypes); + + field_name = "mat_types"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_kitchen, field_name)); + auto n_mat_types = new NodeVector; + n_mat_types->m_field_name = field_name; + n_mat_types->m_df_type = DF_Type::int16_t; + n_mat_types->m_rdf_type = RDF_Type::Vector; + n_mat_types->m_node_type = NodeType::Vector; + n_mat_types->m_addornements = "v"; + n_mat_types->m_address = base + offset; + n_mat_types->m_parent = p_node_parent; + n_mat_types->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_mat_types); + + field_name = "mat_indices"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_kitchen, field_name)); + auto n_mat_indices = new NodeVector; + n_mat_indices->m_field_name = field_name; + n_mat_indices->m_df_type = DF_Type::int32_t; + n_mat_indices->m_rdf_type = RDF_Type::Vector; + n_mat_indices->m_node_type = NodeType::Vector; + n_mat_indices->m_addornements = "v"; + n_mat_indices->m_address = base + offset; + n_mat_indices->m_parent = p_node_parent; + n_mat_indices->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_mat_indices); + + field_name = "exc_types"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_kitchen, field_name)); + auto n_exc_types = new NodeVector; + n_exc_types->m_field_name = field_name; + n_exc_types->m_df_type = DF_Type::kitchen_exc_type; + n_exc_types->m_rdf_type = RDF_Type::Vector; + n_exc_types->m_node_type = NodeType::Vector; + n_exc_types->m_enum_base = DF_Type::int8_t; + n_exc_types->m_defined_in = "df.ui.xml"; + n_exc_types->m_addornements = "v"; + n_exc_types->m_address = base + offset; + n_exc_types->m_parent = p_node_parent; + n_exc_types->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_exc_types); + +} +void node_from_ui__T_economy_prices__T_price_adjustment(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "general_items"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); + auto n_general_items = new NodeVector; + n_general_items->m_field_name = field_name; + n_general_items->m_df_type = DF_Type::int32_t; + n_general_items->m_rdf_type = RDF_Type::Vector; + n_general_items->m_node_type = NodeType::Vector; + n_general_items->m_index_enum = DF_Type::item_type; + n_general_items->m_addornements = "v"; + n_general_items->m_address = base + offset; + n_general_items->m_parent = p_node_parent; + n_general_items->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_general_items); + + field_name = "weapons"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); + auto n_weapons = new NodeVector; + n_weapons->m_field_name = field_name; + n_weapons->m_df_type = DF_Type::int32_t; + n_weapons->m_rdf_type = RDF_Type::Vector; + n_weapons->m_node_type = NodeType::Vector; + n_weapons->m_addornements = "v"; + n_weapons->m_address = base + offset; + n_weapons->m_refers_to = "$global.world.raws.itemdefs.weapons[$]"; + n_weapons->m_parent = p_node_parent; + n_weapons->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_weapons); + + field_name = "armor"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); + auto n_armor = new NodeVector; + n_armor->m_field_name = field_name; + n_armor->m_df_type = DF_Type::int32_t; + n_armor->m_rdf_type = RDF_Type::Vector; + n_armor->m_node_type = NodeType::Vector; + n_armor->m_addornements = "v"; + n_armor->m_address = base + offset; + n_armor->m_refers_to = "$global.world.raws.itemdefs.armor[$]"; + n_armor->m_parent = p_node_parent; + n_armor->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_armor); + + field_name = "handwear"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); + auto n_handwear = new NodeVector; + n_handwear->m_field_name = field_name; + n_handwear->m_df_type = DF_Type::int32_t; + n_handwear->m_rdf_type = RDF_Type::Vector; + n_handwear->m_node_type = NodeType::Vector; + n_handwear->m_addornements = "v"; + n_handwear->m_address = base + offset; + n_handwear->m_refers_to = "$global.world.raws.itemdefs.helms[$]"; + n_handwear->m_parent = p_node_parent; + n_handwear->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_handwear); + + field_name = "footwear"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); + auto n_footwear = new NodeVector; + n_footwear->m_field_name = field_name; + n_footwear->m_df_type = DF_Type::int32_t; + n_footwear->m_rdf_type = RDF_Type::Vector; + n_footwear->m_node_type = NodeType::Vector; + n_footwear->m_addornements = "v"; + n_footwear->m_address = base + offset; + n_footwear->m_refers_to = "$global.world.raws.itemdefs.shoes[$]"; + n_footwear->m_parent = p_node_parent; + n_footwear->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_footwear); + + field_name = "headwear"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); + auto n_headwear = new NodeVector; + n_headwear->m_field_name = field_name; + n_headwear->m_df_type = DF_Type::int32_t; + n_headwear->m_rdf_type = RDF_Type::Vector; + n_headwear->m_node_type = NodeType::Vector; + n_headwear->m_addornements = "v"; + n_headwear->m_address = base + offset; + n_headwear->m_refers_to = "$global.world.raws.itemdefs.gloves[$]"; + n_headwear->m_parent = p_node_parent; + n_headwear->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_headwear); + + field_name = "legwear"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); + auto n_legwear = new NodeVector; + n_legwear->m_field_name = field_name; + n_legwear->m_df_type = DF_Type::int32_t; + n_legwear->m_rdf_type = RDF_Type::Vector; + n_legwear->m_node_type = NodeType::Vector; + n_legwear->m_addornements = "v"; + n_legwear->m_address = base + offset; + n_legwear->m_refers_to = "$global.world.raws.itemdefs.pants[$]"; + n_legwear->m_parent = p_node_parent; + n_legwear->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_legwear); + + field_name = "prepared_food"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); + auto n_prepared_food = new NodeVector; + n_prepared_food->m_field_name = field_name; + n_prepared_food->m_df_type = DF_Type::int32_t; + n_prepared_food->m_rdf_type = RDF_Type::Vector; + n_prepared_food->m_node_type = NodeType::Vector; + n_prepared_food->m_addornements = "v"; + n_prepared_food->m_address = base + offset; + n_prepared_food->m_refers_to = "$global.world.raws.itemdefs.food[$]"; + n_prepared_food->m_parent = p_node_parent; + n_prepared_food->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_prepared_food); + + field_name = "wood"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); + auto n_wood = new NodeVector; + n_wood->m_field_name = field_name; + n_wood->m_df_type = DF_Type::int32_t; + n_wood->m_rdf_type = RDF_Type::Vector; + n_wood->m_node_type = NodeType::Vector; + n_wood->m_addornements = "v"; + n_wood->m_address = base + offset; + n_wood->m_parent = p_node_parent; + n_wood->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_wood); + + field_name = "thread_cloth"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); + auto n_thread_cloth = new NodeVector; + n_thread_cloth->m_field_name = field_name; + n_thread_cloth->m_df_type = DF_Type::int32_t; + n_thread_cloth->m_rdf_type = RDF_Type::Vector; + n_thread_cloth->m_node_type = NodeType::Vector; + n_thread_cloth->m_addornements = "v"; + n_thread_cloth->m_address = base + offset; + n_thread_cloth->m_parent = p_node_parent; + n_thread_cloth->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_thread_cloth); + + field_name = "paper"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); + auto n_paper = new NodeVector; + n_paper->m_field_name = field_name; + n_paper->m_df_type = DF_Type::int32_t; + n_paper->m_rdf_type = RDF_Type::Vector; + n_paper->m_node_type = NodeType::Vector; + n_paper->m_addornements = "v"; + n_paper->m_address = base + offset; + n_paper->m_parent = p_node_parent; + n_paper->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_paper); + + field_name = "parchment"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); + auto n_parchment = new NodeVector; + n_parchment->m_field_name = field_name; + n_parchment->m_df_type = DF_Type::int32_t; + n_parchment->m_rdf_type = RDF_Type::Vector; + n_parchment->m_node_type = NodeType::Vector; + n_parchment->m_addornements = "v"; + n_parchment->m_address = base + offset; + n_parchment->m_parent = p_node_parent; + n_parchment->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_parchment); + + field_name = "bone"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); + auto n_bone = new NodeVector; + n_bone->m_field_name = field_name; + n_bone->m_df_type = DF_Type::int32_t; + n_bone->m_rdf_type = RDF_Type::Vector; + n_bone->m_node_type = NodeType::Vector; + n_bone->m_addornements = "v"; + n_bone->m_address = base + offset; + n_bone->m_parent = p_node_parent; + n_bone->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bone); + + field_name = "tooth"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); + auto n_tooth = new NodeVector; + n_tooth->m_field_name = field_name; + n_tooth->m_df_type = DF_Type::int32_t; + n_tooth->m_rdf_type = RDF_Type::Vector; + n_tooth->m_node_type = NodeType::Vector; + n_tooth->m_addornements = "v"; + n_tooth->m_address = base + offset; + n_tooth->m_parent = p_node_parent; + n_tooth->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_tooth); + + field_name = "horn"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); + auto n_horn = new NodeVector; + n_horn->m_field_name = field_name; + n_horn->m_df_type = DF_Type::int32_t; + n_horn->m_rdf_type = RDF_Type::Vector; + n_horn->m_node_type = NodeType::Vector; + n_horn->m_addornements = "v"; + n_horn->m_address = base + offset; + n_horn->m_parent = p_node_parent; + n_horn->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_horn); + + field_name = "pearl"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); + auto n_pearl = new NodeVector; + n_pearl->m_field_name = field_name; + n_pearl->m_df_type = DF_Type::int32_t; + n_pearl->m_rdf_type = RDF_Type::Vector; + n_pearl->m_node_type = NodeType::Vector; + n_pearl->m_addornements = "v"; + n_pearl->m_address = base + offset; + n_pearl->m_parent = p_node_parent; + n_pearl->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_pearl); + + field_name = "shell"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); + auto n_shell = new NodeVector; + n_shell->m_field_name = field_name; + n_shell->m_df_type = DF_Type::int32_t; + n_shell->m_rdf_type = RDF_Type::Vector; + n_shell->m_node_type = NodeType::Vector; + n_shell->m_addornements = "v"; + n_shell->m_address = base + offset; + n_shell->m_parent = p_node_parent; + n_shell->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_shell); + + field_name = "leather"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); + auto n_leather = new NodeVector; + n_leather->m_field_name = field_name; + n_leather->m_df_type = DF_Type::int32_t; + n_leather->m_rdf_type = RDF_Type::Vector; + n_leather->m_node_type = NodeType::Vector; + n_leather->m_addornements = "v"; + n_leather->m_address = base + offset; + n_leather->m_parent = p_node_parent; + n_leather->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_leather); + + field_name = "silk"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); + auto n_silk = new NodeVector; + n_silk->m_field_name = field_name; + n_silk->m_df_type = DF_Type::int32_t; + n_silk->m_rdf_type = RDF_Type::Vector; + n_silk->m_node_type = NodeType::Vector; + n_silk->m_addornements = "v"; + n_silk->m_address = base + offset; + n_silk->m_parent = p_node_parent; + n_silk->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_silk); + + field_name = "yarn"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); + auto n_yarn = new NodeVector; + n_yarn->m_field_name = field_name; + n_yarn->m_df_type = DF_Type::int32_t; + n_yarn->m_rdf_type = RDF_Type::Vector; + n_yarn->m_node_type = NodeType::Vector; + n_yarn->m_addornements = "v"; + n_yarn->m_address = base + offset; + n_yarn->m_parent = p_node_parent; + n_yarn->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_yarn); + + field_name = "inorganic"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); + auto n_inorganic = new NodeVector; + n_inorganic->m_field_name = field_name; + n_inorganic->m_df_type = DF_Type::int32_t; + n_inorganic->m_rdf_type = RDF_Type::Vector; + n_inorganic->m_node_type = NodeType::Vector; + n_inorganic->m_addornements = "v"; + n_inorganic->m_address = base + offset; + n_inorganic->m_parent = p_node_parent; + n_inorganic->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_inorganic); + + field_name = "meat"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); + auto n_meat = new NodeVector; + n_meat->m_field_name = field_name; + n_meat->m_df_type = DF_Type::int32_t; + n_meat->m_rdf_type = RDF_Type::Vector; + n_meat->m_node_type = NodeType::Vector; + n_meat->m_addornements = "v"; + n_meat->m_address = base + offset; + n_meat->m_parent = p_node_parent; + n_meat->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_meat); + + field_name = "fish"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); + auto n_fish = new NodeVector; + n_fish->m_field_name = field_name; + n_fish->m_df_type = DF_Type::int32_t; + n_fish->m_rdf_type = RDF_Type::Vector; + n_fish->m_node_type = NodeType::Vector; + n_fish->m_addornements = "v"; + n_fish->m_address = base + offset; + n_fish->m_parent = p_node_parent; + n_fish->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_fish); + + field_name = "plants"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); + auto n_plants = new NodeVector; + n_plants->m_field_name = field_name; + n_plants->m_df_type = DF_Type::int32_t; + n_plants->m_rdf_type = RDF_Type::Vector; + n_plants->m_node_type = NodeType::Vector; + n_plants->m_addornements = "v"; + n_plants->m_address = base + offset; + n_plants->m_parent = p_node_parent; + n_plants->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_plants); + + field_name = "drinks"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); + auto n_drinks = new NodeVector; + n_drinks->m_field_name = field_name; + n_drinks->m_df_type = DF_Type::int32_t; + n_drinks->m_rdf_type = RDF_Type::Vector; + n_drinks->m_node_type = NodeType::Vector; + n_drinks->m_addornements = "v"; + n_drinks->m_address = base + offset; + n_drinks->m_parent = p_node_parent; + n_drinks->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_drinks); + + field_name = "extract_animal"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); + auto n_extract_animal = new NodeVector; + n_extract_animal->m_field_name = field_name; + n_extract_animal->m_df_type = DF_Type::int32_t; + n_extract_animal->m_rdf_type = RDF_Type::Vector; + n_extract_animal->m_node_type = NodeType::Vector; + n_extract_animal->m_addornements = "v"; + n_extract_animal->m_address = base + offset; + n_extract_animal->m_parent = p_node_parent; + n_extract_animal->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_extract_animal); + + field_name = "extract_plant"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); + auto n_extract_plant = new NodeVector; + n_extract_plant->m_field_name = field_name; + n_extract_plant->m_df_type = DF_Type::int32_t; + n_extract_plant->m_rdf_type = RDF_Type::Vector; + n_extract_plant->m_node_type = NodeType::Vector; + n_extract_plant->m_addornements = "v"; + n_extract_plant->m_address = base + offset; + n_extract_plant->m_parent = p_node_parent; + n_extract_plant->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_extract_plant); + + field_name = "mill_animal"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); + auto n_mill_animal = new NodeVector; + n_mill_animal->m_field_name = field_name; + n_mill_animal->m_df_type = DF_Type::int32_t; + n_mill_animal->m_rdf_type = RDF_Type::Vector; + n_mill_animal->m_node_type = NodeType::Vector; + n_mill_animal->m_addornements = "v"; + n_mill_animal->m_address = base + offset; + n_mill_animal->m_parent = p_node_parent; + n_mill_animal->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_mill_animal); + + field_name = "mill_plant"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); + auto n_mill_plant = new NodeVector; + n_mill_plant->m_field_name = field_name; + n_mill_plant->m_df_type = DF_Type::int32_t; + n_mill_plant->m_rdf_type = RDF_Type::Vector; + n_mill_plant->m_node_type = NodeType::Vector; + n_mill_plant->m_addornements = "v"; + n_mill_plant->m_address = base + offset; + n_mill_plant->m_parent = p_node_parent; + n_mill_plant->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_mill_plant); + + field_name = "cheese_animal"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); + auto n_cheese_animal = new NodeVector; + n_cheese_animal->m_field_name = field_name; + n_cheese_animal->m_df_type = DF_Type::int32_t; + n_cheese_animal->m_rdf_type = RDF_Type::Vector; + n_cheese_animal->m_node_type = NodeType::Vector; + n_cheese_animal->m_addornements = "v"; + n_cheese_animal->m_address = base + offset; + n_cheese_animal->m_parent = p_node_parent; + n_cheese_animal->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_cheese_animal); + + field_name = "cheese_plant"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); + auto n_cheese_plant = new NodeVector; + n_cheese_plant->m_field_name = field_name; + n_cheese_plant->m_df_type = DF_Type::int32_t; + n_cheese_plant->m_rdf_type = RDF_Type::Vector; + n_cheese_plant->m_node_type = NodeType::Vector; + n_cheese_plant->m_addornements = "v"; + n_cheese_plant->m_address = base + offset; + n_cheese_plant->m_parent = p_node_parent; + n_cheese_plant->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_cheese_plant); + + field_name = "pets"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_adjustment, field_name)); + auto n_pets = new NodeVector; + n_pets->m_field_name = field_name; + n_pets->m_df_type = DF_Type::int32_t; + n_pets->m_rdf_type = RDF_Type::Vector; + n_pets->m_node_type = NodeType::Vector; + n_pets->m_addornements = "v"; + n_pets->m_address = base + offset; + n_pets->m_parent = p_node_parent; + n_pets->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_pets); + +} +void node_from_ui__T_economy_prices__T_price_setter(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "general_items"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); + auto n_general_items = new NodeVector; + n_general_items->m_field_name = field_name; + n_general_items->m_df_type = DF_Type::unit; + n_general_items->m_rdf_type = RDF_Type::Vector; + n_general_items->m_node_type = NodeType::Vector; + n_general_items->m_index_enum = DF_Type::item_type; + n_general_items->m_defined_in = "df.units.xml"; + n_general_items->m_addornements = "v*"; + n_general_items->m_address = base + offset; + n_general_items->m_parent = p_node_parent; + n_general_items->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_general_items); + + field_name = "weapons"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); + auto n_weapons = new NodeVector; + n_weapons->m_field_name = field_name; + n_weapons->m_df_type = DF_Type::unit; + n_weapons->m_rdf_type = RDF_Type::Vector; + n_weapons->m_node_type = NodeType::Vector; + n_weapons->m_defined_in = "df.units.xml"; + n_weapons->m_addornements = "v*"; + n_weapons->m_address = base + offset; + n_weapons->m_refers_to = "$global.world.raws.itemdefs.weapons[$]"; + n_weapons->m_parent = p_node_parent; + n_weapons->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_weapons); + + field_name = "armor"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); + auto n_armor = new NodeVector; + n_armor->m_field_name = field_name; + n_armor->m_df_type = DF_Type::unit; + n_armor->m_rdf_type = RDF_Type::Vector; + n_armor->m_node_type = NodeType::Vector; + n_armor->m_defined_in = "df.units.xml"; + n_armor->m_addornements = "v*"; + n_armor->m_address = base + offset; + n_armor->m_refers_to = "$global.world.raws.itemdefs.armor[$]"; + n_armor->m_parent = p_node_parent; + n_armor->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_armor); + + field_name = "handwear"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); + auto n_handwear = new NodeVector; + n_handwear->m_field_name = field_name; + n_handwear->m_df_type = DF_Type::unit; + n_handwear->m_rdf_type = RDF_Type::Vector; + n_handwear->m_node_type = NodeType::Vector; + n_handwear->m_defined_in = "df.units.xml"; + n_handwear->m_addornements = "v*"; + n_handwear->m_address = base + offset; + n_handwear->m_refers_to = "$global.world.raws.itemdefs.helms[$]"; + n_handwear->m_parent = p_node_parent; + n_handwear->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_handwear); + + field_name = "footwear"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); + auto n_footwear = new NodeVector; + n_footwear->m_field_name = field_name; + n_footwear->m_df_type = DF_Type::unit; + n_footwear->m_rdf_type = RDF_Type::Vector; + n_footwear->m_node_type = NodeType::Vector; + n_footwear->m_defined_in = "df.units.xml"; + n_footwear->m_addornements = "v*"; + n_footwear->m_address = base + offset; + n_footwear->m_refers_to = "$global.world.raws.itemdefs.shoes[$]"; + n_footwear->m_parent = p_node_parent; + n_footwear->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_footwear); + + field_name = "headwear"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); + auto n_headwear = new NodeVector; + n_headwear->m_field_name = field_name; + n_headwear->m_df_type = DF_Type::unit; + n_headwear->m_rdf_type = RDF_Type::Vector; + n_headwear->m_node_type = NodeType::Vector; + n_headwear->m_defined_in = "df.units.xml"; + n_headwear->m_addornements = "v*"; + n_headwear->m_address = base + offset; + n_headwear->m_refers_to = "$global.world.raws.itemdefs.gloves[$]"; + n_headwear->m_parent = p_node_parent; + n_headwear->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_headwear); + + field_name = "legwear"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); + auto n_legwear = new NodeVector; + n_legwear->m_field_name = field_name; + n_legwear->m_df_type = DF_Type::unit; + n_legwear->m_rdf_type = RDF_Type::Vector; + n_legwear->m_node_type = NodeType::Vector; + n_legwear->m_defined_in = "df.units.xml"; + n_legwear->m_addornements = "v*"; + n_legwear->m_address = base + offset; + n_legwear->m_refers_to = "$global.world.raws.itemdefs.pants[$]"; + n_legwear->m_parent = p_node_parent; + n_legwear->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_legwear); + + field_name = "prepared_food"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); + auto n_prepared_food = new NodeVector; + n_prepared_food->m_field_name = field_name; + n_prepared_food->m_df_type = DF_Type::unit; + n_prepared_food->m_rdf_type = RDF_Type::Vector; + n_prepared_food->m_node_type = NodeType::Vector; + n_prepared_food->m_defined_in = "df.units.xml"; + n_prepared_food->m_addornements = "v*"; + n_prepared_food->m_address = base + offset; + n_prepared_food->m_refers_to = "$global.world.raws.itemdefs.food[$]"; + n_prepared_food->m_parent = p_node_parent; + n_prepared_food->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_prepared_food); + + field_name = "wood"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); + auto n_wood = new NodeVector; + n_wood->m_field_name = field_name; + n_wood->m_df_type = DF_Type::unit; + n_wood->m_rdf_type = RDF_Type::Vector; + n_wood->m_node_type = NodeType::Vector; + n_wood->m_defined_in = "df.units.xml"; + n_wood->m_addornements = "v*"; + n_wood->m_address = base + offset; + n_wood->m_parent = p_node_parent; + n_wood->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_wood); + + field_name = "thread_cloth"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); + auto n_thread_cloth = new NodeVector; + n_thread_cloth->m_field_name = field_name; + n_thread_cloth->m_df_type = DF_Type::unit; + n_thread_cloth->m_rdf_type = RDF_Type::Vector; + n_thread_cloth->m_node_type = NodeType::Vector; + n_thread_cloth->m_defined_in = "df.units.xml"; + n_thread_cloth->m_addornements = "v*"; + n_thread_cloth->m_address = base + offset; + n_thread_cloth->m_parent = p_node_parent; + n_thread_cloth->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_thread_cloth); + + field_name = "paper"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); + auto n_paper = new NodeVector; + n_paper->m_field_name = field_name; + n_paper->m_df_type = DF_Type::unit; + n_paper->m_rdf_type = RDF_Type::Vector; + n_paper->m_node_type = NodeType::Vector; + n_paper->m_defined_in = "df.units.xml"; + n_paper->m_addornements = "v*"; + n_paper->m_address = base + offset; + n_paper->m_parent = p_node_parent; + n_paper->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_paper); + + field_name = "parchment"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); + auto n_parchment = new NodeVector; + n_parchment->m_field_name = field_name; + n_parchment->m_df_type = DF_Type::unit; + n_parchment->m_rdf_type = RDF_Type::Vector; + n_parchment->m_node_type = NodeType::Vector; + n_parchment->m_defined_in = "df.units.xml"; + n_parchment->m_addornements = "v*"; + n_parchment->m_address = base + offset; + n_parchment->m_parent = p_node_parent; + n_parchment->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_parchment); + + field_name = "bone"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); + auto n_bone = new NodeVector; + n_bone->m_field_name = field_name; + n_bone->m_df_type = DF_Type::unit; + n_bone->m_rdf_type = RDF_Type::Vector; + n_bone->m_node_type = NodeType::Vector; + n_bone->m_defined_in = "df.units.xml"; + n_bone->m_addornements = "v*"; + n_bone->m_address = base + offset; + n_bone->m_parent = p_node_parent; + n_bone->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bone); + + field_name = "tooth"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); + auto n_tooth = new NodeVector; + n_tooth->m_field_name = field_name; + n_tooth->m_df_type = DF_Type::unit; + n_tooth->m_rdf_type = RDF_Type::Vector; + n_tooth->m_node_type = NodeType::Vector; + n_tooth->m_defined_in = "df.units.xml"; + n_tooth->m_addornements = "v*"; + n_tooth->m_address = base + offset; + n_tooth->m_parent = p_node_parent; + n_tooth->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_tooth); + + field_name = "horn"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); + auto n_horn = new NodeVector; + n_horn->m_field_name = field_name; + n_horn->m_df_type = DF_Type::unit; + n_horn->m_rdf_type = RDF_Type::Vector; + n_horn->m_node_type = NodeType::Vector; + n_horn->m_defined_in = "df.units.xml"; + n_horn->m_addornements = "v*"; + n_horn->m_address = base + offset; + n_horn->m_parent = p_node_parent; + n_horn->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_horn); + + field_name = "pearl"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); + auto n_pearl = new NodeVector; + n_pearl->m_field_name = field_name; + n_pearl->m_df_type = DF_Type::unit; + n_pearl->m_rdf_type = RDF_Type::Vector; + n_pearl->m_node_type = NodeType::Vector; + n_pearl->m_defined_in = "df.units.xml"; + n_pearl->m_addornements = "v*"; + n_pearl->m_address = base + offset; + n_pearl->m_parent = p_node_parent; + n_pearl->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_pearl); + + field_name = "shell"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); + auto n_shell = new NodeVector; + n_shell->m_field_name = field_name; + n_shell->m_df_type = DF_Type::unit; + n_shell->m_rdf_type = RDF_Type::Vector; + n_shell->m_node_type = NodeType::Vector; + n_shell->m_defined_in = "df.units.xml"; + n_shell->m_addornements = "v*"; + n_shell->m_address = base + offset; + n_shell->m_parent = p_node_parent; + n_shell->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_shell); + + field_name = "leather"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); + auto n_leather = new NodeVector; + n_leather->m_field_name = field_name; + n_leather->m_df_type = DF_Type::unit; + n_leather->m_rdf_type = RDF_Type::Vector; + n_leather->m_node_type = NodeType::Vector; + n_leather->m_defined_in = "df.units.xml"; + n_leather->m_addornements = "v*"; + n_leather->m_address = base + offset; + n_leather->m_parent = p_node_parent; + n_leather->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_leather); + + field_name = "silk"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); + auto n_silk = new NodeVector; + n_silk->m_field_name = field_name; + n_silk->m_df_type = DF_Type::unit; + n_silk->m_rdf_type = RDF_Type::Vector; + n_silk->m_node_type = NodeType::Vector; + n_silk->m_defined_in = "df.units.xml"; + n_silk->m_addornements = "v*"; + n_silk->m_address = base + offset; + n_silk->m_parent = p_node_parent; + n_silk->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_silk); + + field_name = "yarn"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); + auto n_yarn = new NodeVector; + n_yarn->m_field_name = field_name; + n_yarn->m_df_type = DF_Type::unit; + n_yarn->m_rdf_type = RDF_Type::Vector; + n_yarn->m_node_type = NodeType::Vector; + n_yarn->m_defined_in = "df.units.xml"; + n_yarn->m_addornements = "v*"; + n_yarn->m_address = base + offset; + n_yarn->m_parent = p_node_parent; + n_yarn->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_yarn); + + field_name = "inorganic"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); + auto n_inorganic = new NodeVector; + n_inorganic->m_field_name = field_name; + n_inorganic->m_df_type = DF_Type::unit; + n_inorganic->m_rdf_type = RDF_Type::Vector; + n_inorganic->m_node_type = NodeType::Vector; + n_inorganic->m_defined_in = "df.units.xml"; + n_inorganic->m_addornements = "v*"; + n_inorganic->m_address = base + offset; + n_inorganic->m_parent = p_node_parent; + n_inorganic->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_inorganic); + + field_name = "meat"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); + auto n_meat = new NodeVector; + n_meat->m_field_name = field_name; + n_meat->m_df_type = DF_Type::unit; + n_meat->m_rdf_type = RDF_Type::Vector; + n_meat->m_node_type = NodeType::Vector; + n_meat->m_defined_in = "df.units.xml"; + n_meat->m_addornements = "v*"; + n_meat->m_address = base + offset; + n_meat->m_parent = p_node_parent; + n_meat->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_meat); + + field_name = "fish"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); + auto n_fish = new NodeVector; + n_fish->m_field_name = field_name; + n_fish->m_df_type = DF_Type::unit; + n_fish->m_rdf_type = RDF_Type::Vector; + n_fish->m_node_type = NodeType::Vector; + n_fish->m_defined_in = "df.units.xml"; + n_fish->m_addornements = "v*"; + n_fish->m_address = base + offset; + n_fish->m_parent = p_node_parent; + n_fish->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_fish); + + field_name = "plants"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); + auto n_plants = new NodeVector; + n_plants->m_field_name = field_name; + n_plants->m_df_type = DF_Type::unit; + n_plants->m_rdf_type = RDF_Type::Vector; + n_plants->m_node_type = NodeType::Vector; + n_plants->m_defined_in = "df.units.xml"; + n_plants->m_addornements = "v*"; + n_plants->m_address = base + offset; + n_plants->m_parent = p_node_parent; + n_plants->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_plants); + + field_name = "drinks"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); + auto n_drinks = new NodeVector; + n_drinks->m_field_name = field_name; + n_drinks->m_df_type = DF_Type::unit; + n_drinks->m_rdf_type = RDF_Type::Vector; + n_drinks->m_node_type = NodeType::Vector; + n_drinks->m_defined_in = "df.units.xml"; + n_drinks->m_addornements = "v*"; + n_drinks->m_address = base + offset; + n_drinks->m_parent = p_node_parent; + n_drinks->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_drinks); + + field_name = "extract_animal"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); + auto n_extract_animal = new NodeVector; + n_extract_animal->m_field_name = field_name; + n_extract_animal->m_df_type = DF_Type::unit; + n_extract_animal->m_rdf_type = RDF_Type::Vector; + n_extract_animal->m_node_type = NodeType::Vector; + n_extract_animal->m_defined_in = "df.units.xml"; + n_extract_animal->m_addornements = "v*"; + n_extract_animal->m_address = base + offset; + n_extract_animal->m_parent = p_node_parent; + n_extract_animal->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_extract_animal); + + field_name = "extract_plant"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); + auto n_extract_plant = new NodeVector; + n_extract_plant->m_field_name = field_name; + n_extract_plant->m_df_type = DF_Type::unit; + n_extract_plant->m_rdf_type = RDF_Type::Vector; + n_extract_plant->m_node_type = NodeType::Vector; + n_extract_plant->m_defined_in = "df.units.xml"; + n_extract_plant->m_addornements = "v*"; + n_extract_plant->m_address = base + offset; + n_extract_plant->m_parent = p_node_parent; + n_extract_plant->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_extract_plant); + + field_name = "mill_animal"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); + auto n_mill_animal = new NodeVector; + n_mill_animal->m_field_name = field_name; + n_mill_animal->m_df_type = DF_Type::unit; + n_mill_animal->m_rdf_type = RDF_Type::Vector; + n_mill_animal->m_node_type = NodeType::Vector; + n_mill_animal->m_defined_in = "df.units.xml"; + n_mill_animal->m_addornements = "v*"; + n_mill_animal->m_address = base + offset; + n_mill_animal->m_parent = p_node_parent; + n_mill_animal->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_mill_animal); + + field_name = "mill_plant"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); + auto n_mill_plant = new NodeVector; + n_mill_plant->m_field_name = field_name; + n_mill_plant->m_df_type = DF_Type::unit; + n_mill_plant->m_rdf_type = RDF_Type::Vector; + n_mill_plant->m_node_type = NodeType::Vector; + n_mill_plant->m_defined_in = "df.units.xml"; + n_mill_plant->m_addornements = "v*"; + n_mill_plant->m_address = base + offset; + n_mill_plant->m_parent = p_node_parent; + n_mill_plant->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_mill_plant); + + field_name = "cheese_animal"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); + auto n_cheese_animal = new NodeVector; + n_cheese_animal->m_field_name = field_name; + n_cheese_animal->m_df_type = DF_Type::unit; + n_cheese_animal->m_rdf_type = RDF_Type::Vector; + n_cheese_animal->m_node_type = NodeType::Vector; + n_cheese_animal->m_defined_in = "df.units.xml"; + n_cheese_animal->m_addornements = "v*"; + n_cheese_animal->m_address = base + offset; + n_cheese_animal->m_parent = p_node_parent; + n_cheese_animal->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_cheese_animal); + + field_name = "cheese_plant"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); + auto n_cheese_plant = new NodeVector; + n_cheese_plant->m_field_name = field_name; + n_cheese_plant->m_df_type = DF_Type::unit; + n_cheese_plant->m_rdf_type = RDF_Type::Vector; + n_cheese_plant->m_node_type = NodeType::Vector; + n_cheese_plant->m_defined_in = "df.units.xml"; + n_cheese_plant->m_addornements = "v*"; + n_cheese_plant->m_address = base + offset; + n_cheese_plant->m_parent = p_node_parent; + n_cheese_plant->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_cheese_plant); + + field_name = "pets"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices__T_price_setter, field_name)); + auto n_pets = new NodeVector; + n_pets->m_field_name = field_name; + n_pets->m_df_type = DF_Type::unit; + n_pets->m_rdf_type = RDF_Type::Vector; + n_pets->m_node_type = NodeType::Vector; + n_pets->m_defined_in = "df.units.xml"; + n_pets->m_addornements = "v*"; + n_pets->m_address = base + offset; + n_pets->m_parent = p_node_parent; + n_pets->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_pets); + +} +void node_from_ui__T_economy_prices(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "price_adjustment"; + auto n_price_adjustment = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices, field_name)); + n_price_adjustment->m_field_name = field_name; + n_price_adjustment->m_df_type = DF_Type::ui__T_economy_prices__T_price_adjustment; + n_price_adjustment->m_rdf_type = RDF_Type::Compound; + n_price_adjustment->m_node_type = NodeType::Compound; + n_price_adjustment->m_address = base + offset; + n_price_adjustment->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_price_adjustment); + + field_name = "price_setter"; + auto n_price_setter = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_economy_prices, field_name)); + n_price_setter->m_field_name = field_name; + n_price_setter->m_df_type = DF_Type::ui__T_economy_prices__T_price_setter; + n_price_setter->m_rdf_type = RDF_Type::Compound; + n_price_setter->m_node_type = NodeType::Compound; + n_price_setter->m_address = base + offset; + n_price_setter->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_price_setter); + +} +void node_from_ui__T_stockpile(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "reserved_bins"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_stockpile, field_name)); + auto n_reserved_bins = new NodeSimple; + n_reserved_bins->m_field_name = field_name; + n_reserved_bins->m_df_type = DF_Type::int32_t; + n_reserved_bins->m_rdf_type = RDF_Type::int32_t; + n_reserved_bins->m_node_type = NodeType::Simple; + n_reserved_bins->m_address = base + offset; + n_reserved_bins->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_reserved_bins); + + field_name = "reserved_barrels"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_stockpile, field_name)); + auto n_reserved_barrels = new NodeSimple; + n_reserved_barrels->m_field_name = field_name; + n_reserved_barrels->m_df_type = DF_Type::int32_t; + n_reserved_barrels->m_rdf_type = RDF_Type::int32_t; + n_reserved_barrels->m_node_type = NodeType::Simple; + n_reserved_barrels->m_address = base + offset; + n_reserved_barrels->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_reserved_barrels); + + field_name = "custom_settings"; + auto n_custom_settings = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_stockpile, field_name)); + n_custom_settings->m_field_name = field_name; + n_custom_settings->m_df_type = DF_Type::stockpile_settings; + n_custom_settings->m_rdf_type = RDF_Type::Struct; + n_custom_settings->m_node_type = NodeType::Compound; + n_custom_settings->m_address = base + offset; + n_custom_settings->m_defined_in = "df.stockpile.xml"; + n_custom_settings->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_custom_settings); + +} +void node_from_ui__T_unk2a8c(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_unk2a8c, field_name)); + auto n_unk1 = new NodeSimple; + n_unk1->m_field_name = field_name; + n_unk1->m_df_type = DF_Type::int16_t; + n_unk1->m_rdf_type = RDF_Type::int16_t; + n_unk1->m_node_type = NodeType::Simple; + n_unk1->m_address = base + offset; + n_unk1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk1); + + field_name = "unk2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_unk2a8c, field_name)); + auto n_unk2 = new NodeSimple; + n_unk2->m_field_name = field_name; + n_unk2->m_df_type = DF_Type::int16_t; + n_unk2->m_rdf_type = RDF_Type::int16_t; + n_unk2->m_node_type = NodeType::Simple; + n_unk2->m_address = base + offset; + n_unk2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk2); + +} +void node_from_ui__T_map_edge(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "layer_x"; + auto n_layer_x = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_map_edge, field_name)); + n_layer_x->m_field_name = field_name; + n_layer_x->m_df_type = DF_Type::int16_t; + n_layer_x->m_rdf_type = RDF_Type::Array; + n_layer_x->m_node_type = NodeType::Array; + n_layer_x->m_addornements = "[5v"; + n_layer_x->m_array_size = 5; + n_layer_x->m_address = base + offset; + n_layer_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_layer_x); + + field_name = "surface_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_map_edge, field_name)); + auto n_surface_x = new NodeVector; + n_surface_x->m_field_name = field_name; + n_surface_x->m_df_type = DF_Type::int16_t; + n_surface_x->m_rdf_type = RDF_Type::Vector; + n_surface_x->m_node_type = NodeType::Vector; + n_surface_x->m_addornements = "v"; + n_surface_x->m_address = base + offset; + n_surface_x->m_parent = p_node_parent; + n_surface_x->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_surface_x); + + field_name = "layer_y"; + auto n_layer_y = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_map_edge, field_name)); + n_layer_y->m_field_name = field_name; + n_layer_y->m_df_type = DF_Type::int16_t; + n_layer_y->m_rdf_type = RDF_Type::Array; + n_layer_y->m_node_type = NodeType::Array; + n_layer_y->m_addornements = "[5v"; + n_layer_y->m_array_size = 5; + n_layer_y->m_address = base + offset; + n_layer_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_layer_y); + + field_name = "surface_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_map_edge, field_name)); + auto n_surface_y = new NodeVector; + n_surface_y->m_field_name = field_name; + n_surface_y->m_df_type = DF_Type::int16_t; + n_surface_y->m_rdf_type = RDF_Type::Vector; + n_surface_y->m_node_type = NodeType::Vector; + n_surface_y->m_addornements = "v"; + n_surface_y->m_address = base + offset; + n_surface_y->m_parent = p_node_parent; + n_surface_y->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_surface_y); + + field_name = "layer_z"; + auto n_layer_z = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_map_edge, field_name)); + n_layer_z->m_field_name = field_name; + n_layer_z->m_df_type = DF_Type::int16_t; + n_layer_z->m_rdf_type = RDF_Type::Array; + n_layer_z->m_node_type = NodeType::Array; + n_layer_z->m_addornements = "[5v"; + n_layer_z->m_array_size = 5; + n_layer_z->m_address = base + offset; + n_layer_z->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_layer_z); + + field_name = "surface_z"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_map_edge, field_name)); + auto n_surface_z = new NodeVector; + n_surface_z->m_field_name = field_name; + n_surface_z->m_df_type = DF_Type::int16_t; + n_surface_z->m_rdf_type = RDF_Type::Vector; + n_surface_z->m_node_type = NodeType::Vector; + n_surface_z->m_addornements = "v"; + n_surface_z->m_address = base + offset; + n_surface_z->m_parent = p_node_parent; + n_surface_z->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_surface_z); + +} +void node_from_ui__T_waypoints__T_points(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_waypoints__T_points, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "tile"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_waypoints__T_points, field_name)); + auto n_tile = new NodeSimple; + n_tile->m_field_name = field_name; + n_tile->m_df_type = DF_Type::uint8_t; + n_tile->m_rdf_type = RDF_Type::uint8_t; + n_tile->m_node_type = NodeType::Simple; + n_tile->m_address = base + offset; + n_tile->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tile); + + field_name = "fg_color"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_waypoints__T_points, field_name)); + auto n_fg_color = new NodeSimple; + n_fg_color->m_field_name = field_name; + n_fg_color->m_df_type = DF_Type::int16_t; + n_fg_color->m_rdf_type = RDF_Type::int16_t; + n_fg_color->m_node_type = NodeType::Simple; + n_fg_color->m_address = base + offset; + n_fg_color->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_fg_color); + + field_name = "bg_color"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_waypoints__T_points, field_name)); + auto n_bg_color = new NodeSimple; + n_bg_color->m_field_name = field_name; + n_bg_color->m_df_type = DF_Type::int16_t; + n_bg_color->m_rdf_type = RDF_Type::int16_t; + n_bg_color->m_node_type = NodeType::Simple; + n_bg_color->m_address = base + offset; + n_bg_color->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_bg_color); + + field_name = "name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_waypoints__T_points, field_name)); + auto n_name = new NodeSimple; + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Stl_string; + n_name->m_node_type = NodeType::Simple; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "comment"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_waypoints__T_points, field_name)); + auto n_comment = new NodeSimple; + n_comment->m_field_name = field_name; + n_comment->m_df_type = DF_Type::Stl_string; + n_comment->m_rdf_type = RDF_Type::Stl_string; + n_comment->m_node_type = NodeType::Simple; + n_comment->m_address = base + offset; + n_comment->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_comment); + + field_name = "pos"; + auto n_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_waypoints__T_points, field_name)); + n_pos->m_field_name = field_name; + n_pos->m_df_type = DF_Type::coord; + n_pos->m_rdf_type = RDF_Type::Struct; + n_pos->m_node_type = NodeType::Compound; + n_pos->m_address = base + offset; + n_pos->m_defined_in = "df.map.xml"; + n_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pos); + +} +void node_from_ui__T_waypoints__T_routes(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_waypoints__T_routes, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_waypoints__T_routes, field_name)); + auto n_name = new NodeSimple; + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Stl_string; + n_name->m_node_type = NodeType::Simple; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "points"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_waypoints__T_routes, field_name)); + auto n_points = new NodeVector; + n_points->m_field_name = field_name; + n_points->m_df_type = DF_Type::int32_t; + n_points->m_rdf_type = RDF_Type::Vector; + n_points->m_node_type = NodeType::Vector; + n_points->m_addornements = "v"; + n_points->m_address = base + offset; + n_points->m_parent = p_node_parent; + n_points->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_points); + +} +void node_from_ui__T_waypoints(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "points"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_waypoints, field_name)); + auto n_points = new NodeVector; + n_points->m_field_name = field_name; + n_points->m_df_type = DF_Type::ui__T_waypoints__T_points; + n_points->m_rdf_type = RDF_Type::Vector; + n_points->m_node_type = NodeType::Vector; + n_points->m_addornements = "v*"; + n_points->m_address = base + offset; + n_points->m_parent = p_node_parent; + n_points->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_points); + + field_name = "routes"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_waypoints, field_name)); + auto n_routes = new NodeVector; + n_routes->m_field_name = field_name; + n_routes->m_df_type = DF_Type::ui__T_waypoints__T_routes; + n_routes->m_rdf_type = RDF_Type::Vector; + n_routes->m_node_type = NodeType::Vector; + n_routes->m_addornements = "v*"; + n_routes->m_address = base + offset; + n_routes->m_parent = p_node_parent; + n_routes->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_routes); + + field_name = "sym_selector"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_waypoints, field_name)); + auto n_sym_selector = new NodeSimple; + n_sym_selector->m_field_name = field_name; + n_sym_selector->m_df_type = DF_Type::int16_t; + n_sym_selector->m_rdf_type = RDF_Type::int16_t; + n_sym_selector->m_node_type = NodeType::Simple; + n_sym_selector->m_address = base + offset; + n_sym_selector->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sym_selector); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_waypoints, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int16_t; + n_anon_1->m_rdf_type = RDF_Type::int16_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "cur_point_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_waypoints, field_name)); + auto n_cur_point_index = new NodeSimple; + n_cur_point_index->m_field_name = field_name; + n_cur_point_index->m_df_type = DF_Type::int32_t; + n_cur_point_index->m_rdf_type = RDF_Type::int32_t; + n_cur_point_index->m_node_type = NodeType::Simple; + n_cur_point_index->m_address = base + offset; + n_cur_point_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cur_point_index); + + field_name = "in_edit_name_mode"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_waypoints, field_name)); + auto n_in_edit_name_mode = new NodeSimple; + n_in_edit_name_mode->m_field_name = field_name; + n_in_edit_name_mode->m_df_type = DF_Type::Bool; + n_in_edit_name_mode->m_rdf_type = RDF_Type::Bool; + n_in_edit_name_mode->m_node_type = NodeType::Simple; + n_in_edit_name_mode->m_address = base + offset; + n_in_edit_name_mode->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_in_edit_name_mode); + + field_name = "in_edit_text_mode"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_waypoints, field_name)); + auto n_in_edit_text_mode = new NodeSimple; + n_in_edit_text_mode->m_field_name = field_name; + n_in_edit_text_mode->m_df_type = DF_Type::Bool; + n_in_edit_text_mode->m_rdf_type = RDF_Type::Bool; + n_in_edit_text_mode->m_node_type = NodeType::Simple; + n_in_edit_text_mode->m_address = base + offset; + n_in_edit_text_mode->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_in_edit_text_mode); + + field_name = "sym_tile"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_waypoints, field_name)); + auto n_sym_tile = new NodeSimple; + n_sym_tile->m_field_name = field_name; + n_sym_tile->m_df_type = DF_Type::uint8_t; + n_sym_tile->m_rdf_type = RDF_Type::uint8_t; + n_sym_tile->m_node_type = NodeType::Simple; + n_sym_tile->m_address = base + offset; + n_sym_tile->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sym_tile); + + field_name = "sym_fg_color"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_waypoints, field_name)); + auto n_sym_fg_color = new NodeSimple; + n_sym_fg_color->m_field_name = field_name; + n_sym_fg_color->m_df_type = DF_Type::int16_t; + n_sym_fg_color->m_rdf_type = RDF_Type::int16_t; + n_sym_fg_color->m_node_type = NodeType::Simple; + n_sym_fg_color->m_address = base + offset; + n_sym_fg_color->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sym_fg_color); + + field_name = "sym_bg_color"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_waypoints, field_name)); + auto n_sym_bg_color = new NodeSimple; + n_sym_bg_color->m_field_name = field_name; + n_sym_bg_color->m_df_type = DF_Type::int16_t; + n_sym_bg_color->m_rdf_type = RDF_Type::int16_t; + n_sym_bg_color->m_node_type = NodeType::Simple; + n_sym_bg_color->m_address = base + offset; + n_sym_bg_color->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sym_bg_color); + + field_name = "unk5c04"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_waypoints, field_name)); + auto n_unk5c04 = new NodeVector; + n_unk5c04->m_field_name = field_name; + n_unk5c04->m_df_type = DF_Type::Stl_string; + n_unk5c04->m_rdf_type = RDF_Type::Vector; + n_unk5c04->m_node_type = NodeType::Vector; + n_unk5c04->m_addornements = "v*"; + n_unk5c04->m_address = base + offset; + n_unk5c04->m_parent = p_node_parent; + n_unk5c04->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk5c04); + + field_name = "next_point_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_waypoints, field_name)); + auto n_next_point_id = new NodeSimple; + n_next_point_id->m_field_name = field_name; + n_next_point_id->m_df_type = DF_Type::int32_t; + n_next_point_id->m_rdf_type = RDF_Type::int32_t; + n_next_point_id->m_node_type = NodeType::Simple; + n_next_point_id->m_address = base + offset; + n_next_point_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_next_point_id); + + field_name = "next_route_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_waypoints, field_name)); + auto n_next_route_id = new NodeSimple; + n_next_route_id->m_field_name = field_name; + n_next_route_id->m_df_type = DF_Type::int32_t; + n_next_route_id->m_rdf_type = RDF_Type::int32_t; + n_next_route_id->m_node_type = NodeType::Simple; + n_next_route_id->m_address = base + offset; + n_next_route_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_next_route_id); + + field_name = "sel_route_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_waypoints, field_name)); + auto n_sel_route_idx = new NodeSimple; + n_sel_route_idx->m_field_name = field_name; + n_sel_route_idx->m_df_type = DF_Type::int32_t; + n_sel_route_idx->m_rdf_type = RDF_Type::int32_t; + n_sel_route_idx->m_node_type = NodeType::Simple; + n_sel_route_idx->m_address = base + offset; + n_sel_route_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sel_route_idx); + + field_name = "sel_route_waypt_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_waypoints, field_name)); + auto n_sel_route_waypt_idx = new NodeSimple; + n_sel_route_waypt_idx->m_field_name = field_name; + n_sel_route_waypt_idx->m_df_type = DF_Type::int32_t; + n_sel_route_waypt_idx->m_rdf_type = RDF_Type::int32_t; + n_sel_route_waypt_idx->m_node_type = NodeType::Simple; + n_sel_route_waypt_idx->m_address = base + offset; + n_sel_route_waypt_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sel_route_waypt_idx); + + field_name = "in_edit_waypts_mode"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_waypoints, field_name)); + auto n_in_edit_waypts_mode = new NodeSimple; + n_in_edit_waypts_mode->m_field_name = field_name; + n_in_edit_waypts_mode->m_df_type = DF_Type::Bool; + n_in_edit_waypts_mode->m_rdf_type = RDF_Type::Bool; + n_in_edit_waypts_mode->m_node_type = NodeType::Simple; + n_in_edit_waypts_mode->m_address = base + offset; + n_in_edit_waypts_mode->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_in_edit_waypts_mode); + + field_name = "unk_42_06"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_waypoints, field_name)); + auto n_unk_42_06 = new NodeVector; + n_unk_42_06->m_field_name = field_name; + n_unk_42_06->m_df_type = DF_Type::Void; + n_unk_42_06->m_rdf_type = RDF_Type::Vector; + n_unk_42_06->m_node_type = NodeType::Vector; + n_unk_42_06->m_addornements = "v"; + n_unk_42_06->m_address = base + offset; + n_unk_42_06->m_parent = p_node_parent; + n_unk_42_06->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_42_06); + +} +void node_from_ui__T_burrows(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "list"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_burrows, field_name)); + auto n_list = new NodeVector; + n_list->m_field_name = field_name; + n_list->m_df_type = DF_Type::burrow; + n_list->m_rdf_type = RDF_Type::Vector; + n_list->m_node_type = NodeType::Vector; + n_list->m_defined_in = "df.ui.xml"; + n_list->m_addornements = "v*"; + n_list->m_address = base + offset; + n_list->m_parent = p_node_parent; + n_list->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_list); + + field_name = "next_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_burrows, field_name)); + auto n_next_id = new NodeSimple; + n_next_id->m_field_name = field_name; + n_next_id->m_df_type = DF_Type::int32_t; + n_next_id->m_rdf_type = RDF_Type::int32_t; + n_next_id->m_node_type = NodeType::Simple; + n_next_id->m_address = base + offset; + n_next_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_next_id); + + field_name = "sel_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_burrows, field_name)); + auto n_sel_index = new NodeSimple; + n_sel_index->m_field_name = field_name; + n_sel_index->m_df_type = DF_Type::int32_t; + n_sel_index->m_rdf_type = RDF_Type::int32_t; + n_sel_index->m_node_type = NodeType::Simple; + n_sel_index->m_address = base + offset; + n_sel_index->m_refers_to = "$$._parent.list[$]"; + n_sel_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sel_index); + + field_name = "sel_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_burrows, field_name)); + auto n_sel_id = new NodeSimple; + n_sel_id->m_field_name = field_name; + n_sel_id->m_df_type = DF_Type::int32_t; + n_sel_id->m_rdf_type = RDF_Type::int32_t; + n_sel_id->m_node_type = NodeType::Simple; + n_sel_id->m_address = base + offset; + n_sel_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sel_id); + + field_name = "in_confirm_delete"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_burrows, field_name)); + auto n_in_confirm_delete = new NodeSimple; + n_in_confirm_delete->m_field_name = field_name; + n_in_confirm_delete->m_df_type = DF_Type::Bool; + n_in_confirm_delete->m_rdf_type = RDF_Type::Bool; + n_in_confirm_delete->m_node_type = NodeType::Simple; + n_in_confirm_delete->m_address = base + offset; + n_in_confirm_delete->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_in_confirm_delete); + + field_name = "in_add_units_mode"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_burrows, field_name)); + auto n_in_add_units_mode = new NodeSimple; + n_in_add_units_mode->m_field_name = field_name; + n_in_add_units_mode->m_df_type = DF_Type::Bool; + n_in_add_units_mode->m_rdf_type = RDF_Type::Bool; + n_in_add_units_mode->m_node_type = NodeType::Simple; + n_in_add_units_mode->m_address = base + offset; + n_in_add_units_mode->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_in_add_units_mode); + + field_name = "list_units"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_burrows, field_name)); + auto n_list_units = new NodeVector; + n_list_units->m_field_name = field_name; + n_list_units->m_df_type = DF_Type::unit; + n_list_units->m_rdf_type = RDF_Type::Vector; + n_list_units->m_node_type = NodeType::Vector; + n_list_units->m_defined_in = "df.units.xml"; + n_list_units->m_addornements = "v*"; + n_list_units->m_address = base + offset; + n_list_units->m_parent = p_node_parent; + n_list_units->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_list_units); + + field_name = "sel_units"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_burrows, field_name)); + auto n_sel_units = new NodeVector; + n_sel_units->m_field_name = field_name; + n_sel_units->m_df_type = DF_Type::Bool; + n_sel_units->m_rdf_type = RDF_Type::Vector; + n_sel_units->m_node_type = NodeType::Vector; + n_sel_units->m_addornements = "v"; + n_sel_units->m_address = base + offset; + n_sel_units->m_parent = p_node_parent; + n_sel_units->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_sel_units); + + field_name = "unit_cursor_pos"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_burrows, field_name)); + auto n_unit_cursor_pos = new NodeSimple; + n_unit_cursor_pos->m_field_name = field_name; + n_unit_cursor_pos->m_df_type = DF_Type::int32_t; + n_unit_cursor_pos->m_rdf_type = RDF_Type::int32_t; + n_unit_cursor_pos->m_node_type = NodeType::Simple; + n_unit_cursor_pos->m_address = base + offset; + n_unit_cursor_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unit_cursor_pos); + + field_name = "in_define_mode"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_burrows, field_name)); + auto n_in_define_mode = new NodeSimple; + n_in_define_mode->m_field_name = field_name; + n_in_define_mode->m_df_type = DF_Type::Bool; + n_in_define_mode->m_rdf_type = RDF_Type::Bool; + n_in_define_mode->m_node_type = NodeType::Simple; + n_in_define_mode->m_address = base + offset; + n_in_define_mode->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_in_define_mode); + + field_name = "brush_erasing"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_burrows, field_name)); + auto n_brush_erasing = new NodeSimple; + n_brush_erasing->m_field_name = field_name; + n_brush_erasing->m_df_type = DF_Type::Bool; + n_brush_erasing->m_rdf_type = RDF_Type::Bool; + n_brush_erasing->m_node_type = NodeType::Simple; + n_brush_erasing->m_address = base + offset; + n_brush_erasing->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_brush_erasing); + + field_name = "rect_start"; + auto n_rect_start = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_burrows, field_name)); + n_rect_start->m_field_name = field_name; + n_rect_start->m_df_type = DF_Type::coord; + n_rect_start->m_rdf_type = RDF_Type::Struct; + n_rect_start->m_node_type = NodeType::Compound; + n_rect_start->m_address = base + offset; + n_rect_start->m_defined_in = "df.map.xml"; + n_rect_start->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rect_start); + + field_name = "brush_mode"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_burrows, field_name)); + auto n_brush_mode = new NodeSimple; + n_brush_mode->m_field_name = field_name; + n_brush_mode->m_df_type = DF_Type::int16_t; + n_brush_mode->m_rdf_type = RDF_Type::int16_t; + n_brush_mode->m_node_type = NodeType::Simple; + n_brush_mode->m_address = base + offset; + n_brush_mode->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_brush_mode); + + field_name = "in_edit_name_mode"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_burrows, field_name)); + auto n_in_edit_name_mode = new NodeSimple; + n_in_edit_name_mode->m_field_name = field_name; + n_in_edit_name_mode->m_df_type = DF_Type::Bool; + n_in_edit_name_mode->m_rdf_type = RDF_Type::Bool; + n_in_edit_name_mode->m_node_type = NodeType::Simple; + n_in_edit_name_mode->m_address = base + offset; + n_in_edit_name_mode->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_in_edit_name_mode); + + field_name = "sym_selector"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_burrows, field_name)); + auto n_sym_selector = new NodeSimple; + n_sym_selector->m_field_name = field_name; + n_sym_selector->m_df_type = DF_Type::int16_t; + n_sym_selector->m_rdf_type = RDF_Type::int16_t; + n_sym_selector->m_node_type = NodeType::Simple; + n_sym_selector->m_address = base + offset; + n_sym_selector->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sym_selector); + + field_name = "sym_tile"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_burrows, field_name)); + auto n_sym_tile = new NodeSimple; + n_sym_tile->m_field_name = field_name; + n_sym_tile->m_df_type = DF_Type::int16_t; + n_sym_tile->m_rdf_type = RDF_Type::int16_t; + n_sym_tile->m_node_type = NodeType::Simple; + n_sym_tile->m_address = base + offset; + n_sym_tile->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sym_tile); + + field_name = "sym_fg_color"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_burrows, field_name)); + auto n_sym_fg_color = new NodeSimple; + n_sym_fg_color->m_field_name = field_name; + n_sym_fg_color->m_df_type = DF_Type::int16_t; + n_sym_fg_color->m_rdf_type = RDF_Type::int16_t; + n_sym_fg_color->m_node_type = NodeType::Simple; + n_sym_fg_color->m_address = base + offset; + n_sym_fg_color->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sym_fg_color); + + field_name = "sym_bg_color"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_burrows, field_name)); + auto n_sym_bg_color = new NodeSimple; + n_sym_bg_color->m_field_name = field_name; + n_sym_bg_color->m_df_type = DF_Type::int16_t; + n_sym_bg_color->m_rdf_type = RDF_Type::int16_t; + n_sym_bg_color->m_node_type = NodeType::Simple; + n_sym_bg_color->m_address = base + offset; + n_sym_bg_color->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sym_bg_color); + +} +void node_from_ui__T_alerts__T_list(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_alerts__T_list, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_alerts__T_list, field_name)); + auto n_name = new NodeSimple; + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Stl_string; + n_name->m_node_type = NodeType::Simple; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "burrows"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_alerts__T_list, field_name)); + auto n_burrows = new NodeVector; + n_burrows->m_field_name = field_name; + n_burrows->m_df_type = DF_Type::int32_t; + n_burrows->m_rdf_type = RDF_Type::Vector; + n_burrows->m_node_type = NodeType::Vector; + n_burrows->m_addornements = "v"; + n_burrows->m_address = base + offset; + n_burrows->m_parent = p_node_parent; + n_burrows->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_burrows); + +} +void node_from_ui__T_alerts(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "list"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_alerts, field_name)); + auto n_list = new NodeVector; + n_list->m_field_name = field_name; + n_list->m_df_type = DF_Type::ui__T_alerts__T_list; + n_list->m_rdf_type = RDF_Type::Vector; + n_list->m_node_type = NodeType::Vector; + n_list->m_addornements = "v*"; + n_list->m_address = base + offset; + n_list->m_parent = p_node_parent; + n_list->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_list); + + field_name = "next_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_alerts, field_name)); + auto n_next_id = new NodeSimple; + n_next_id->m_field_name = field_name; + n_next_id->m_df_type = DF_Type::int32_t; + n_next_id->m_rdf_type = RDF_Type::int32_t; + n_next_id->m_node_type = NodeType::Simple; + n_next_id->m_address = base + offset; + n_next_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_next_id); + + field_name = "civ_alert_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_alerts, field_name)); + auto n_civ_alert_idx = new NodeSimple; + n_civ_alert_idx->m_field_name = field_name; + n_civ_alert_idx->m_df_type = DF_Type::int32_t; + n_civ_alert_idx->m_rdf_type = RDF_Type::int32_t; + n_civ_alert_idx->m_node_type = NodeType::Simple; + n_civ_alert_idx->m_address = base + offset; + n_civ_alert_idx->m_refers_to = "$$._parent.list[$]"; + n_civ_alert_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_civ_alert_idx); + +} +void node_from_ui__T_equipment(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "items_by_type1"; + auto n_items_by_type1 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_equipment, field_name)); + n_items_by_type1->m_field_name = field_name; + n_items_by_type1->m_df_type = DF_Type::item; + n_items_by_type1->m_rdf_type = RDF_Type::Array; + n_items_by_type1->m_node_type = NodeType::Array; + n_items_by_type1->m_index_enum = DF_Type::item_type; + n_items_by_type1->m_defined_in = "df.items.xml"; + n_items_by_type1->m_addornements = "[112v*"; + n_items_by_type1->m_array_size = 112; + n_items_by_type1->m_address = base + offset; + n_items_by_type1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_items_by_type1); + + field_name = "items_unassigned"; + auto n_items_unassigned = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_equipment, field_name)); + n_items_unassigned->m_field_name = field_name; + n_items_unassigned->m_df_type = DF_Type::item; + n_items_unassigned->m_rdf_type = RDF_Type::Array; + n_items_unassigned->m_node_type = NodeType::Array; + n_items_unassigned->m_index_enum = DF_Type::item_type; + n_items_unassigned->m_defined_in = "df.items.xml"; + n_items_unassigned->m_addornements = "[112v*"; + n_items_unassigned->m_array_size = 112; + n_items_unassigned->m_address = base + offset; + n_items_unassigned->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_items_unassigned); + + field_name = "items_assigned"; + auto n_items_assigned = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_equipment, field_name)); + n_items_assigned->m_field_name = field_name; + n_items_assigned->m_df_type = DF_Type::item; + n_items_assigned->m_rdf_type = RDF_Type::Array; + n_items_assigned->m_node_type = NodeType::Array; + n_items_assigned->m_index_enum = DF_Type::item_type; + n_items_assigned->m_defined_in = "df.items.xml"; + n_items_assigned->m_addornements = "[112v*"; + n_items_assigned->m_array_size = 112; + n_items_assigned->m_address = base + offset; + n_items_assigned->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_items_assigned); + + field_name = "update"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_equipment, field_name)); + auto n_update = new NodeBitfield; + n_update->m_field_name = field_name; + n_update->m_df_type = DF_Type::ui__T_equipment__T_update; + n_update->m_rdf_type = RDF_Type::Bitfield; + n_update->m_node_type = NodeType::Bitfield; + n_update->m_address = base + offset; + n_update->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_update); + + field_name = "work_weapons"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_equipment, field_name)); + auto n_work_weapons = new NodeVector; + n_work_weapons->m_field_name = field_name; + n_work_weapons->m_df_type = DF_Type::int32_t; + n_work_weapons->m_rdf_type = RDF_Type::Vector; + n_work_weapons->m_node_type = NodeType::Vector; + n_work_weapons->m_addornements = "v"; + n_work_weapons->m_address = base + offset; + n_work_weapons->m_comment = "i.e. woodcutter axes, and miner picks"; + n_work_weapons->m_parent = p_node_parent; + n_work_weapons->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_work_weapons); + + field_name = "work_units"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_equipment, field_name)); + auto n_work_units = new NodeVector; + n_work_units->m_field_name = field_name; + n_work_units->m_df_type = DF_Type::int32_t; + n_work_units->m_rdf_type = RDF_Type::Vector; + n_work_units->m_node_type = NodeType::Vector; + n_work_units->m_addornements = "v"; + n_work_units->m_address = base + offset; + n_work_units->m_parent = p_node_parent; + n_work_units->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_work_units); + + field_name = "hunter_ammunition"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_equipment, field_name)); + auto n_hunter_ammunition = new NodeVector; + n_hunter_ammunition->m_field_name = field_name; + n_hunter_ammunition->m_df_type = DF_Type::squad_ammo_spec; + n_hunter_ammunition->m_rdf_type = RDF_Type::Vector; + n_hunter_ammunition->m_node_type = NodeType::Vector; + n_hunter_ammunition->m_defined_in = "df.military.xml"; + n_hunter_ammunition->m_addornements = "v*"; + n_hunter_ammunition->m_address = base + offset; + n_hunter_ammunition->m_parent = p_node_parent; + n_hunter_ammunition->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_hunter_ammunition); + + field_name = "ammo_items"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_equipment, field_name)); + auto n_ammo_items = new NodeVector; + n_ammo_items->m_field_name = field_name; + n_ammo_items->m_df_type = DF_Type::int32_t; + n_ammo_items->m_rdf_type = RDF_Type::Vector; + n_ammo_items->m_node_type = NodeType::Vector; + n_ammo_items->m_addornements = "v"; + n_ammo_items->m_address = base + offset; + n_ammo_items->m_parent = p_node_parent; + n_ammo_items->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_ammo_items); + + field_name = "ammo_units"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_equipment, field_name)); + auto n_ammo_units = new NodeVector; + n_ammo_units->m_field_name = field_name; + n_ammo_units->m_df_type = DF_Type::int32_t; + n_ammo_units->m_rdf_type = RDF_Type::Vector; + n_ammo_units->m_node_type = NodeType::Vector; + n_ammo_units->m_addornements = "v"; + n_ammo_units->m_address = base + offset; + n_ammo_units->m_parent = p_node_parent; + n_ammo_units->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_ammo_units); + + field_name = "training_assignments"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_equipment, field_name)); + auto n_training_assignments = new NodeVector; + n_training_assignments->m_field_name = field_name; + n_training_assignments->m_df_type = DF_Type::training_assignment; + n_training_assignments->m_rdf_type = RDF_Type::Vector; + n_training_assignments->m_node_type = NodeType::Vector; + n_training_assignments->m_defined_in = "df.jobs.xml"; + n_training_assignments->m_addornements = "v*"; + n_training_assignments->m_address = base + offset; + n_training_assignments->m_comment = "sorted by animal_id"; + n_training_assignments->m_parent = p_node_parent; + n_training_assignments->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_training_assignments); + +} +void node_from_ui__T_hauling(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "routes"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_hauling, field_name)); + auto n_routes = new NodeVector; + n_routes->m_field_name = field_name; + n_routes->m_df_type = DF_Type::hauling_route; + n_routes->m_rdf_type = RDF_Type::Vector; + n_routes->m_node_type = NodeType::Vector; + n_routes->m_defined_in = "df.stockpile.xml"; + n_routes->m_addornements = "v*"; + n_routes->m_address = base + offset; + n_routes->m_parent = p_node_parent; + n_routes->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_routes); + + field_name = "next_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_hauling, field_name)); + auto n_next_id = new NodeSimple; + n_next_id->m_field_name = field_name; + n_next_id->m_df_type = DF_Type::int32_t; + n_next_id->m_rdf_type = RDF_Type::int32_t; + n_next_id->m_node_type = NodeType::Simple; + n_next_id->m_address = base + offset; + n_next_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_next_id); + + field_name = "view_routes"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_hauling, field_name)); + auto n_view_routes = new NodeVector; + n_view_routes->m_field_name = field_name; + n_view_routes->m_df_type = DF_Type::hauling_route; + n_view_routes->m_rdf_type = RDF_Type::Vector; + n_view_routes->m_node_type = NodeType::Vector; + n_view_routes->m_defined_in = "df.stockpile.xml"; + n_view_routes->m_addornements = "v*"; + n_view_routes->m_address = base + offset; + n_view_routes->m_parent = p_node_parent; + n_view_routes->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_view_routes); + + field_name = "view_stops"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_hauling, field_name)); + auto n_view_stops = new NodeVector; + n_view_stops->m_field_name = field_name; + n_view_stops->m_df_type = DF_Type::hauling_stop; + n_view_stops->m_rdf_type = RDF_Type::Vector; + n_view_stops->m_node_type = NodeType::Vector; + n_view_stops->m_defined_in = "df.stockpile.xml"; + n_view_stops->m_addornements = "v*"; + n_view_stops->m_address = base + offset; + n_view_stops->m_parent = p_node_parent; + n_view_stops->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_view_stops); + + field_name = "view_bad"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_hauling, field_name)); + auto n_view_bad = new NodeVector; + n_view_bad->m_field_name = field_name; + n_view_bad->m_df_type = DF_Type::int32_t; + n_view_bad->m_rdf_type = RDF_Type::Vector; + n_view_bad->m_node_type = NodeType::Vector; + n_view_bad->m_addornements = "v"; + n_view_bad->m_address = base + offset; + n_view_bad->m_parent = p_node_parent; + n_view_bad->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_view_bad); + + field_name = "cursor_top"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_hauling, field_name)); + auto n_cursor_top = new NodeSimple; + n_cursor_top->m_field_name = field_name; + n_cursor_top->m_df_type = DF_Type::int32_t; + n_cursor_top->m_rdf_type = RDF_Type::int32_t; + n_cursor_top->m_node_type = NodeType::Simple; + n_cursor_top->m_address = base + offset; + n_cursor_top->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cursor_top); + + field_name = "in_stop"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_hauling, field_name)); + auto n_in_stop = new NodeSimple; + n_in_stop->m_field_name = field_name; + n_in_stop->m_df_type = DF_Type::Bool; + n_in_stop->m_rdf_type = RDF_Type::Bool; + n_in_stop->m_node_type = NodeType::Simple; + n_in_stop->m_address = base + offset; + n_in_stop->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_in_stop); + + field_name = "cursor_stop"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_hauling, field_name)); + auto n_cursor_stop = new NodeSimple; + n_cursor_stop->m_field_name = field_name; + n_cursor_stop->m_df_type = DF_Type::int32_t; + n_cursor_stop->m_rdf_type = RDF_Type::int32_t; + n_cursor_stop->m_node_type = NodeType::Simple; + n_cursor_stop->m_address = base + offset; + n_cursor_stop->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cursor_stop); + + field_name = "stop_conditions"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_hauling, field_name)); + auto n_stop_conditions = new NodeVector; + n_stop_conditions->m_field_name = field_name; + n_stop_conditions->m_df_type = DF_Type::stop_depart_condition; + n_stop_conditions->m_rdf_type = RDF_Type::Vector; + n_stop_conditions->m_node_type = NodeType::Vector; + n_stop_conditions->m_defined_in = "df.stockpile.xml"; + n_stop_conditions->m_addornements = "v*"; + n_stop_conditions->m_address = base + offset; + n_stop_conditions->m_parent = p_node_parent; + n_stop_conditions->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_stop_conditions); + + field_name = "stop_links"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_hauling, field_name)); + auto n_stop_links = new NodeVector; + n_stop_links->m_field_name = field_name; + n_stop_links->m_df_type = DF_Type::route_stockpile_link; + n_stop_links->m_rdf_type = RDF_Type::Vector; + n_stop_links->m_node_type = NodeType::Vector; + n_stop_links->m_defined_in = "df.stockpile.xml"; + n_stop_links->m_addornements = "v*"; + n_stop_links->m_address = base + offset; + n_stop_links->m_parent = p_node_parent; + n_stop_links->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_stop_links); + + field_name = "in_advanced_cond"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_hauling, field_name)); + auto n_in_advanced_cond = new NodeSimple; + n_in_advanced_cond->m_field_name = field_name; + n_in_advanced_cond->m_df_type = DF_Type::Bool; + n_in_advanced_cond->m_rdf_type = RDF_Type::Bool; + n_in_advanced_cond->m_node_type = NodeType::Simple; + n_in_advanced_cond->m_address = base + offset; + n_in_advanced_cond->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_in_advanced_cond); + + field_name = "in_assign_vehicle"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_hauling, field_name)); + auto n_in_assign_vehicle = new NodeSimple; + n_in_assign_vehicle->m_field_name = field_name; + n_in_assign_vehicle->m_df_type = DF_Type::Bool; + n_in_assign_vehicle->m_rdf_type = RDF_Type::Bool; + n_in_assign_vehicle->m_node_type = NodeType::Simple; + n_in_assign_vehicle->m_address = base + offset; + n_in_assign_vehicle->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_in_assign_vehicle); + + field_name = "cursor_vehicle"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_hauling, field_name)); + auto n_cursor_vehicle = new NodeSimple; + n_cursor_vehicle->m_field_name = field_name; + n_cursor_vehicle->m_df_type = DF_Type::int32_t; + n_cursor_vehicle->m_rdf_type = RDF_Type::int32_t; + n_cursor_vehicle->m_node_type = NodeType::Simple; + n_cursor_vehicle->m_address = base + offset; + n_cursor_vehicle->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cursor_vehicle); + + field_name = "vehicles"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_hauling, field_name)); + auto n_vehicles = new NodeVector; + n_vehicles->m_field_name = field_name; + n_vehicles->m_df_type = DF_Type::vehicle; + n_vehicles->m_rdf_type = RDF_Type::Vector; + n_vehicles->m_node_type = NodeType::Vector; + n_vehicles->m_defined_in = "df.stockpile.xml"; + n_vehicles->m_addornements = "v*"; + n_vehicles->m_address = base + offset; + n_vehicles->m_parent = p_node_parent; + n_vehicles->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_vehicles); + + field_name = "in_name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_hauling, field_name)); + auto n_in_name = new NodeSimple; + n_in_name->m_field_name = field_name; + n_in_name->m_df_type = DF_Type::Bool; + n_in_name->m_rdf_type = RDF_Type::Bool; + n_in_name->m_node_type = NodeType::Simple; + n_in_name->m_address = base + offset; + n_in_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_in_name); + + field_name = "old_name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_hauling, field_name)); + auto n_old_name = new NodeSimple; + n_old_name->m_field_name = field_name; + n_old_name->m_df_type = DF_Type::Stl_string; + n_old_name->m_rdf_type = RDF_Type::Stl_string; + n_old_name->m_node_type = NodeType::Simple; + n_old_name->m_address = base + offset; + n_old_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_old_name); + +} +void node_from_ui__T_main__T_dead_citizens(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unit_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_main__T_dead_citizens, field_name)); + auto n_unit_id = new NodeSimple; + n_unit_id->m_field_name = field_name; + n_unit_id->m_df_type = DF_Type::int32_t; + n_unit_id->m_rdf_type = RDF_Type::int32_t; + n_unit_id->m_node_type = NodeType::Simple; + n_unit_id->m_address = base + offset; + n_unit_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unit_id); + + field_name = "histfig_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_main__T_dead_citizens, field_name)); + auto n_histfig_id = new NodeSimple; + n_histfig_id->m_field_name = field_name; + n_histfig_id->m_df_type = DF_Type::int32_t; + n_histfig_id->m_rdf_type = RDF_Type::int32_t; + n_histfig_id->m_node_type = NodeType::Simple; + n_histfig_id->m_address = base + offset; + n_histfig_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig_id); + + field_name = "death_year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_main__T_dead_citizens, field_name)); + auto n_death_year = new NodeSimple; + n_death_year->m_field_name = field_name; + n_death_year->m_df_type = DF_Type::int32_t; + n_death_year->m_rdf_type = RDF_Type::int32_t; + n_death_year->m_node_type = NodeType::Simple; + n_death_year->m_address = base + offset; + n_death_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_death_year); + + field_name = "death_time"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_main__T_dead_citizens, field_name)); + auto n_death_time = new NodeSimple; + n_death_time->m_field_name = field_name; + n_death_time->m_df_type = DF_Type::int32_t; + n_death_time->m_rdf_type = RDF_Type::int32_t; + n_death_time->m_node_type = NodeType::Simple; + n_death_time->m_address = base + offset; + n_death_time->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_death_time); + + field_name = "timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_main__T_dead_citizens, field_name)); + auto n_timer = new NodeSimple; + n_timer->m_field_name = field_name; + n_timer->m_df_type = DF_Type::int32_t; + n_timer->m_rdf_type = RDF_Type::int32_t; + n_timer->m_node_type = NodeType::Simple; + n_timer->m_address = base + offset; + n_timer->m_comment = "+1 per 10"; + n_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_timer); + + field_name = "ghost_type"; + auto n_ghost_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_main__T_dead_citizens, field_name)); + n_ghost_type->m_field_name = field_name; + n_ghost_type->m_df_type = DF_Type::ghost_type; + n_ghost_type->m_rdf_type = RDF_Type::Enum; + n_ghost_type->m_node_type = NodeType::Enum; + n_ghost_type->m_base_type = DF_Type::int16_t; + n_ghost_type->m_enum_type = "ghost_type"; + n_ghost_type->m_address = base + offset; + n_ghost_type->m_defined_in = "df.units.xml"; + n_ghost_type->m_first_value = 0; + n_ghost_type->m_last_value = 10; + n_ghost_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ghost_type); + +} +void node_from_ui__T_main(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "hotkeys"; + auto n_hotkeys = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_main, field_name)); + n_hotkeys->m_field_name = field_name; + n_hotkeys->m_df_type = DF_Type::ui_hotkey; + n_hotkeys->m_rdf_type = RDF_Type::Array; + n_hotkeys->m_node_type = NodeType::Array; + n_hotkeys->m_defined_in = "df.ui.xml"; + n_hotkeys->m_addornements = "[16"; + n_hotkeys->m_array_size = 16; + n_hotkeys->m_address = base + offset; + n_hotkeys->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_hotkeys); + + field_name = "traffic_cost_high"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_main, field_name)); + auto n_traffic_cost_high = new NodeSimple; + n_traffic_cost_high->m_field_name = field_name; + n_traffic_cost_high->m_df_type = DF_Type::int32_t; + n_traffic_cost_high->m_rdf_type = RDF_Type::int32_t; + n_traffic_cost_high->m_node_type = NodeType::Simple; + n_traffic_cost_high->m_address = base + offset; + n_traffic_cost_high->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_traffic_cost_high); + + field_name = "traffic_cost_normal"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_main, field_name)); + auto n_traffic_cost_normal = new NodeSimple; + n_traffic_cost_normal->m_field_name = field_name; + n_traffic_cost_normal->m_df_type = DF_Type::int32_t; + n_traffic_cost_normal->m_rdf_type = RDF_Type::int32_t; + n_traffic_cost_normal->m_node_type = NodeType::Simple; + n_traffic_cost_normal->m_address = base + offset; + n_traffic_cost_normal->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_traffic_cost_normal); + + field_name = "traffic_cost_low"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_main, field_name)); + auto n_traffic_cost_low = new NodeSimple; + n_traffic_cost_low->m_field_name = field_name; + n_traffic_cost_low->m_df_type = DF_Type::int32_t; + n_traffic_cost_low->m_rdf_type = RDF_Type::int32_t; + n_traffic_cost_low->m_node_type = NodeType::Simple; + n_traffic_cost_low->m_address = base + offset; + n_traffic_cost_low->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_traffic_cost_low); + + field_name = "traffic_cost_restricted"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_main, field_name)); + auto n_traffic_cost_restricted = new NodeSimple; + n_traffic_cost_restricted->m_field_name = field_name; + n_traffic_cost_restricted->m_df_type = DF_Type::int32_t; + n_traffic_cost_restricted->m_rdf_type = RDF_Type::int32_t; + n_traffic_cost_restricted->m_node_type = NodeType::Simple; + n_traffic_cost_restricted->m_address = base + offset; + n_traffic_cost_restricted->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_traffic_cost_restricted); + + field_name = "dead_citizens"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_main, field_name)); + auto n_dead_citizens = new NodeVector; + n_dead_citizens->m_field_name = field_name; + n_dead_citizens->m_df_type = DF_Type::ui__T_main__T_dead_citizens; + n_dead_citizens->m_rdf_type = RDF_Type::Vector; + n_dead_citizens->m_node_type = NodeType::Vector; + n_dead_citizens->m_addornements = "v*"; + n_dead_citizens->m_address = base + offset; + n_dead_citizens->m_comment = "?"; + n_dead_citizens->m_parent = p_node_parent; + n_dead_citizens->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_dead_citizens); + + field_name = "fortress_entity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_main, field_name)); + auto n_fortress_entity = new NodePointer; + n_fortress_entity->m_field_name = field_name; + n_fortress_entity->m_df_type = get_real_subtype(base+offset, DF_Type::historical_entity); + n_fortress_entity->m_rdf_type = RDF_Type::Pointer; + n_fortress_entity->m_node_type = NodeType::Pointer; + n_fortress_entity->m_addornements = "*"; + n_fortress_entity->m_address = base + offset; + n_fortress_entity->m_comment = "entity pointed to by group_id"; + n_fortress_entity->m_parent = p_node_parent; + n_fortress_entity->m_defined_in = "df.entities.xml"; + n_fortress_entity->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_fortress_entity); + + field_name = "fortress_site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_main, field_name)); + auto n_fortress_site = new NodePointer; + n_fortress_site->m_field_name = field_name; + n_fortress_site->m_df_type = get_real_subtype(base+offset, DF_Type::world_site); + n_fortress_site->m_rdf_type = RDF_Type::Pointer; + n_fortress_site->m_node_type = NodeType::Pointer; + n_fortress_site->m_addornements = "*"; + n_fortress_site->m_address = base + offset; + n_fortress_site->m_parent = p_node_parent; + n_fortress_site->m_defined_in = "df.world-site.xml"; + n_fortress_site->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_fortress_site); + + field_name = "mode"; + auto n_mode = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_main, field_name)); + n_mode->m_field_name = field_name; + n_mode->m_df_type = DF_Type::ui_sidebar_mode; + n_mode->m_rdf_type = RDF_Type::Enum; + n_mode->m_node_type = NodeType::Enum; + n_mode->m_base_type = DF_Type::int16_t; + n_mode->m_enum_type = "ui_sidebar_mode"; + n_mode->m_address = base + offset; + n_mode->m_defined_in = "df.ui.xml"; + n_mode->m_first_value = 0; + n_mode->m_last_value = 54; + n_mode->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mode); + + field_name = "unk1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_main, field_name)); + auto n_unk1 = new NodeSimple; + n_unk1->m_field_name = field_name; + n_unk1->m_df_type = DF_Type::int16_t; + n_unk1->m_rdf_type = RDF_Type::int16_t; + n_unk1->m_node_type = NodeType::Simple; + n_unk1->m_address = base + offset; + n_unk1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk1); + + field_name = "selected_traffic_cost"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_main, field_name)); + auto n_selected_traffic_cost = new NodeSimple; + n_selected_traffic_cost->m_field_name = field_name; + n_selected_traffic_cost->m_df_type = DF_Type::int16_t; + n_selected_traffic_cost->m_rdf_type = RDF_Type::int16_t; + n_selected_traffic_cost->m_node_type = NodeType::Simple; + n_selected_traffic_cost->m_address = base + offset; + n_selected_traffic_cost->m_comment = "For changing the above costs."; + n_selected_traffic_cost->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_selected_traffic_cost); + + field_name = "autosave_request"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_main, field_name)); + auto n_autosave_request = new NodeSimple; + n_autosave_request->m_field_name = field_name; + n_autosave_request->m_df_type = DF_Type::Bool; + n_autosave_request->m_rdf_type = RDF_Type::Bool; + n_autosave_request->m_node_type = NodeType::Simple; + n_autosave_request->m_address = base + offset; + n_autosave_request->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_autosave_request); + + field_name = "autosave_unk"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_main, field_name)); + auto n_autosave_unk = new NodeSimple; + n_autosave_unk->m_field_name = field_name; + n_autosave_unk->m_df_type = DF_Type::Bool; + n_autosave_unk->m_rdf_type = RDF_Type::Bool; + n_autosave_unk->m_node_type = NodeType::Simple; + n_autosave_unk->m_address = base + offset; + n_autosave_unk->m_comment = "set to 0 when a_rq set to 1"; + n_autosave_unk->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_autosave_unk); + + field_name = "unk6df4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_main, field_name)); + auto n_unk6df4 = new NodeSimple; + n_unk6df4->m_field_name = field_name; + n_unk6df4->m_df_type = DF_Type::int32_t; + n_unk6df4->m_rdf_type = RDF_Type::int32_t; + n_unk6df4->m_node_type = NodeType::Simple; + n_unk6df4->m_address = base + offset; + n_unk6df4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk6df4); + + field_name = "unk_44_12a"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_main, field_name)); + auto n_unk_44_12a = new NodeSimple; + n_unk_44_12a->m_field_name = field_name; + n_unk_44_12a->m_df_type = DF_Type::Bool; + n_unk_44_12a->m_rdf_type = RDF_Type::Bool; + n_unk_44_12a->m_node_type = NodeType::Simple; + n_unk_44_12a->m_address = base + offset; + n_unk_44_12a->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_44_12a); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_main, field_name)); + auto n_anon_1= new NodePadding; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::Padding; + n_anon_1->m_rdf_type = RDF_Type::Padding; + n_anon_1->m_node_type = NodeType::Padding; + n_anon_1->m_address = base + offset; + n_anon_1->m_comment = "workaround for strange IDA 7.0 bug"; + n_anon_1->m_size = 3; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "unk_44_12b"; + auto n_unk_44_12b = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_main, field_name)); + n_unk_44_12b->m_field_name = field_name; + n_unk_44_12b->m_df_type = DF_Type::nemesis_offload; + n_unk_44_12b->m_rdf_type = RDF_Type::Struct; + n_unk_44_12b->m_node_type = NodeType::Compound; + n_unk_44_12b->m_address = base + offset; + n_unk_44_12b->m_defined_in = "df.viewscreen.xml"; + n_unk_44_12b->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_44_12b); + + field_name = "unk_44_12c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_main, field_name)); + auto n_unk_44_12c = new NodeSimple; + n_unk_44_12c->m_field_name = field_name; + n_unk_44_12c->m_df_type = DF_Type::Bool; + n_unk_44_12c->m_rdf_type = RDF_Type::Bool; + n_unk_44_12c->m_node_type = NodeType::Simple; + n_unk_44_12c->m_address = base + offset; + n_unk_44_12c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_44_12c); + + field_name = "unk_44_12d"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_main, field_name)); + auto n_unk_44_12d = new NodeSimple; + n_unk_44_12d->m_field_name = field_name; + n_unk_44_12d->m_df_type = DF_Type::int32_t; + n_unk_44_12d->m_rdf_type = RDF_Type::int32_t; + n_unk_44_12d->m_node_type = NodeType::Simple; + n_unk_44_12d->m_address = base + offset; + n_unk_44_12d->m_comment = "padding?"; + n_unk_44_12d->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_44_12d); + + field_name = "selected_hotkey"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_main, field_name)); + auto n_selected_hotkey = new NodeSimple; + n_selected_hotkey->m_field_name = field_name; + n_selected_hotkey->m_df_type = DF_Type::int16_t; + n_selected_hotkey->m_rdf_type = RDF_Type::int16_t; + n_selected_hotkey->m_node_type = NodeType::Simple; + n_selected_hotkey->m_address = base + offset; + n_selected_hotkey->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_selected_hotkey); + + field_name = "in_rename_hotkey"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_main, field_name)); + auto n_in_rename_hotkey = new NodeSimple; + n_in_rename_hotkey->m_field_name = field_name; + n_in_rename_hotkey->m_df_type = DF_Type::Bool; + n_in_rename_hotkey->m_rdf_type = RDF_Type::Bool; + n_in_rename_hotkey->m_node_type = NodeType::Simple; + n_in_rename_hotkey->m_address = base + offset; + n_in_rename_hotkey->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_in_rename_hotkey); + +} +void node_from_ui__T_squads(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "list"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_squads, field_name)); + auto n_list = new NodeVector; + n_list->m_field_name = field_name; + n_list->m_df_type = DF_Type::squad; + n_list->m_rdf_type = RDF_Type::Vector; + n_list->m_node_type = NodeType::Vector; + n_list->m_defined_in = "df.military.xml"; + n_list->m_addornements = "v*"; + n_list->m_address = base + offset; + n_list->m_comment = "valid only when ui is displayed"; + n_list->m_parent = p_node_parent; + n_list->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_list); + + field_name = "unk6e08"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_squads, field_name)); + auto n_unk6e08 = new NodeVector; + n_unk6e08->m_field_name = field_name; + n_unk6e08->m_df_type = DF_Type::Void; + n_unk6e08->m_rdf_type = RDF_Type::Vector; + n_unk6e08->m_node_type = NodeType::Vector; + n_unk6e08->m_addornements = "v"; + n_unk6e08->m_address = base + offset; + n_unk6e08->m_parent = p_node_parent; + n_unk6e08->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk6e08); + + field_name = "sel_squads"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_squads, field_name)); + auto n_sel_squads = new NodeVector; + n_sel_squads->m_field_name = field_name; + n_sel_squads->m_df_type = DF_Type::Bool; + n_sel_squads->m_rdf_type = RDF_Type::Vector; + n_sel_squads->m_node_type = NodeType::Vector; + n_sel_squads->m_addornements = "v"; + n_sel_squads->m_address = base + offset; + n_sel_squads->m_parent = p_node_parent; + n_sel_squads->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_sel_squads); + + field_name = "indiv_selected"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_squads, field_name)); + auto n_indiv_selected = new NodeVector; + n_indiv_selected->m_field_name = field_name; + n_indiv_selected->m_df_type = DF_Type::int32_t; + n_indiv_selected->m_rdf_type = RDF_Type::Vector; + n_indiv_selected->m_node_type = NodeType::Vector; + n_indiv_selected->m_addornements = "v"; + n_indiv_selected->m_address = base + offset; + n_indiv_selected->m_parent = p_node_parent; + n_indiv_selected->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_indiv_selected); + + field_name = "in_select_indiv"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_squads, field_name)); + auto n_in_select_indiv = new NodeSimple; + n_in_select_indiv->m_field_name = field_name; + n_in_select_indiv->m_df_type = DF_Type::Bool; + n_in_select_indiv->m_rdf_type = RDF_Type::Bool; + n_in_select_indiv->m_node_type = NodeType::Simple; + n_in_select_indiv->m_address = base + offset; + n_in_select_indiv->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_in_select_indiv); + + field_name = "sel_indiv_squad"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_squads, field_name)); + auto n_sel_indiv_squad = new NodeSimple; + n_sel_indiv_squad->m_field_name = field_name; + n_sel_indiv_squad->m_df_type = DF_Type::int32_t; + n_sel_indiv_squad->m_rdf_type = RDF_Type::int32_t; + n_sel_indiv_squad->m_node_type = NodeType::Simple; + n_sel_indiv_squad->m_address = base + offset; + n_sel_indiv_squad->m_refers_to = "$$._parent.list[$]"; + n_sel_indiv_squad->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sel_indiv_squad); + + field_name = "unk_70"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_squads, field_name)); + auto n_unk_70 = new NodeSimple; + n_unk_70->m_field_name = field_name; + n_unk_70->m_df_type = DF_Type::int32_t; + n_unk_70->m_rdf_type = RDF_Type::int32_t; + n_unk_70->m_node_type = NodeType::Simple; + n_unk_70->m_address = base + offset; + n_unk_70->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_70); + + field_name = "squad_list_scroll"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_squads, field_name)); + auto n_squad_list_scroll = new NodeSimple; + n_squad_list_scroll->m_field_name = field_name; + n_squad_list_scroll->m_df_type = DF_Type::int32_t; + n_squad_list_scroll->m_rdf_type = RDF_Type::int32_t; + n_squad_list_scroll->m_node_type = NodeType::Simple; + n_squad_list_scroll->m_address = base + offset; + n_squad_list_scroll->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_squad_list_scroll); + + field_name = "squad_list_first_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_squads, field_name)); + auto n_squad_list_first_id = new NodeSimple; + n_squad_list_first_id->m_field_name = field_name; + n_squad_list_first_id->m_df_type = DF_Type::int32_t; + n_squad_list_first_id->m_rdf_type = RDF_Type::int32_t; + n_squad_list_first_id->m_node_type = NodeType::Simple; + n_squad_list_first_id->m_address = base + offset; + n_squad_list_first_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_squad_list_first_id); + + field_name = "nearest_squad"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_squads, field_name)); + auto n_nearest_squad = new NodePointer; + n_nearest_squad->m_field_name = field_name; + n_nearest_squad->m_df_type = get_real_subtype(base+offset, DF_Type::squad); + n_nearest_squad->m_rdf_type = RDF_Type::Pointer; + n_nearest_squad->m_node_type = NodeType::Pointer; + n_nearest_squad->m_addornements = "*"; + n_nearest_squad->m_address = base + offset; + n_nearest_squad->m_parent = p_node_parent; + n_nearest_squad->m_defined_in = "df.military.xml"; + n_nearest_squad->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_nearest_squad); + + field_name = "in_move_order"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_squads, field_name)); + auto n_in_move_order = new NodeSimple; + n_in_move_order->m_field_name = field_name; + n_in_move_order->m_df_type = DF_Type::Bool; + n_in_move_order->m_rdf_type = RDF_Type::Bool; + n_in_move_order->m_node_type = NodeType::Simple; + n_in_move_order->m_address = base + offset; + n_in_move_order->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_in_move_order); + + field_name = "point_list_scroll"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_squads, field_name)); + auto n_point_list_scroll = new NodeSimple; + n_point_list_scroll->m_field_name = field_name; + n_point_list_scroll->m_df_type = DF_Type::int32_t; + n_point_list_scroll->m_rdf_type = RDF_Type::int32_t; + n_point_list_scroll->m_node_type = NodeType::Simple; + n_point_list_scroll->m_address = base + offset; + n_point_list_scroll->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_point_list_scroll); + + field_name = "in_kill_order"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_squads, field_name)); + auto n_in_kill_order = new NodeSimple; + n_in_kill_order->m_field_name = field_name; + n_in_kill_order->m_df_type = DF_Type::Bool; + n_in_kill_order->m_rdf_type = RDF_Type::Bool; + n_in_kill_order->m_node_type = NodeType::Simple; + n_in_kill_order->m_address = base + offset; + n_in_kill_order->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_in_kill_order); + + field_name = "kill_rect_targets"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_squads, field_name)); + auto n_kill_rect_targets = new NodeVector; + n_kill_rect_targets->m_field_name = field_name; + n_kill_rect_targets->m_df_type = DF_Type::unit; + n_kill_rect_targets->m_rdf_type = RDF_Type::Vector; + n_kill_rect_targets->m_node_type = NodeType::Vector; + n_kill_rect_targets->m_defined_in = "df.units.xml"; + n_kill_rect_targets->m_addornements = "v*"; + n_kill_rect_targets->m_address = base + offset; + n_kill_rect_targets->m_parent = p_node_parent; + n_kill_rect_targets->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_kill_rect_targets); + + field_name = "kill_rect_targets_scroll"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_squads, field_name)); + auto n_kill_rect_targets_scroll = new NodeSimple; + n_kill_rect_targets_scroll->m_field_name = field_name; + n_kill_rect_targets_scroll->m_df_type = DF_Type::int32_t; + n_kill_rect_targets_scroll->m_rdf_type = RDF_Type::int32_t; + n_kill_rect_targets_scroll->m_node_type = NodeType::Simple; + n_kill_rect_targets_scroll->m_address = base + offset; + n_kill_rect_targets_scroll->m_comment = "also used for the list of targets at cursor"; + n_kill_rect_targets_scroll->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_kill_rect_targets_scroll); + + field_name = "in_kill_list"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_squads, field_name)); + auto n_in_kill_list = new NodeSimple; + n_in_kill_list->m_field_name = field_name; + n_in_kill_list->m_df_type = DF_Type::Bool; + n_in_kill_list->m_rdf_type = RDF_Type::Bool; + n_in_kill_list->m_node_type = NodeType::Simple; + n_in_kill_list->m_address = base + offset; + n_in_kill_list->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_in_kill_list); + + field_name = "kill_targets"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_squads, field_name)); + auto n_kill_targets = new NodeVector; + n_kill_targets->m_field_name = field_name; + n_kill_targets->m_df_type = DF_Type::unit; + n_kill_targets->m_rdf_type = RDF_Type::Vector; + n_kill_targets->m_node_type = NodeType::Vector; + n_kill_targets->m_defined_in = "df.units.xml"; + n_kill_targets->m_addornements = "v*"; + n_kill_targets->m_address = base + offset; + n_kill_targets->m_parent = p_node_parent; + n_kill_targets->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_kill_targets); + + field_name = "sel_kill_targets"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_squads, field_name)); + auto n_sel_kill_targets = new NodeVector; + n_sel_kill_targets->m_field_name = field_name; + n_sel_kill_targets->m_df_type = DF_Type::Bool; + n_sel_kill_targets->m_rdf_type = RDF_Type::Vector; + n_sel_kill_targets->m_node_type = NodeType::Vector; + n_sel_kill_targets->m_addornements = "v"; + n_sel_kill_targets->m_address = base + offset; + n_sel_kill_targets->m_parent = p_node_parent; + n_sel_kill_targets->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_sel_kill_targets); + + field_name = "kill_list_scroll"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_squads, field_name)); + auto n_kill_list_scroll = new NodeSimple; + n_kill_list_scroll->m_field_name = field_name; + n_kill_list_scroll->m_df_type = DF_Type::int32_t; + n_kill_list_scroll->m_rdf_type = RDF_Type::int32_t; + n_kill_list_scroll->m_node_type = NodeType::Simple; + n_kill_list_scroll->m_address = base + offset; + n_kill_list_scroll->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_kill_list_scroll); + + field_name = "in_kill_rect"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_squads, field_name)); + auto n_in_kill_rect = new NodeSimple; + n_in_kill_rect->m_field_name = field_name; + n_in_kill_rect->m_df_type = DF_Type::Bool; + n_in_kill_rect->m_rdf_type = RDF_Type::Bool; + n_in_kill_rect->m_node_type = NodeType::Simple; + n_in_kill_rect->m_address = base + offset; + n_in_kill_rect->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_in_kill_rect); + + field_name = "rect_start"; + auto n_rect_start = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui__T_squads, field_name)); + n_rect_start->m_field_name = field_name; + n_rect_start->m_df_type = DF_Type::coord; + n_rect_start->m_rdf_type = RDF_Type::Struct; + n_rect_start->m_node_type = NodeType::Compound; + n_rect_start->m_address = base + offset; + n_rect_start->m_defined_in = "df.map.xml"; + n_rect_start->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rect_start); + +} +void node_from_ui(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "game_state"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + auto n_game_state = new NodeSimple; + n_game_state->m_field_name = field_name; + n_game_state->m_df_type = DF_Type::int16_t; + n_game_state->m_rdf_type = RDF_Type::int16_t; + n_game_state->m_node_type = NodeType::Simple; + n_game_state->m_address = base + offset; + n_game_state->m_comment = "2 running, 1 lost to siege, 0 lost"; + n_game_state->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_game_state); + + field_name = "lost_to_siege_civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + auto n_lost_to_siege_civ = new NodeSimple; + n_lost_to_siege_civ->m_field_name = field_name; + n_lost_to_siege_civ->m_df_type = DF_Type::int32_t; + n_lost_to_siege_civ->m_rdf_type = RDF_Type::int32_t; + n_lost_to_siege_civ->m_node_type = NodeType::Simple; + n_lost_to_siege_civ->m_address = base + offset; + n_lost_to_siege_civ->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_lost_to_siege_civ); + + field_name = "tax_collection"; + auto n_tax_collection = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + n_tax_collection->m_field_name = field_name; + n_tax_collection->m_df_type = DF_Type::ui__T_tax_collection; + n_tax_collection->m_rdf_type = RDF_Type::Compound; + n_tax_collection->m_node_type = NodeType::Compound; + n_tax_collection->m_address = base + offset; + n_tax_collection->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tax_collection); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "manager_cooldown"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + auto n_manager_cooldown = new NodeSimple; + n_manager_cooldown->m_field_name = field_name; + n_manager_cooldown->m_df_type = DF_Type::int32_t; + n_manager_cooldown->m_rdf_type = RDF_Type::int32_t; + n_manager_cooldown->m_node_type = NodeType::Simple; + n_manager_cooldown->m_address = base + offset; + n_manager_cooldown->m_comment = "0-1008"; + n_manager_cooldown->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_manager_cooldown); + + field_name = "bookkeeper_cooldown"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + auto n_bookkeeper_cooldown = new NodeSimple; + n_bookkeeper_cooldown->m_field_name = field_name; + n_bookkeeper_cooldown->m_df_type = DF_Type::int32_t; + n_bookkeeper_cooldown->m_rdf_type = RDF_Type::int32_t; + n_bookkeeper_cooldown->m_node_type = NodeType::Simple; + n_bookkeeper_cooldown->m_address = base + offset; + n_bookkeeper_cooldown->m_comment = "0-1008"; + n_bookkeeper_cooldown->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_bookkeeper_cooldown); + + field_name = "bookkeeper_precision"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + auto n_bookkeeper_precision = new NodeSimple; + n_bookkeeper_precision->m_field_name = field_name; + n_bookkeeper_precision->m_df_type = DF_Type::int32_t; + n_bookkeeper_precision->m_rdf_type = RDF_Type::int32_t; + n_bookkeeper_precision->m_node_type = NodeType::Simple; + n_bookkeeper_precision->m_address = base + offset; + n_bookkeeper_precision->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_bookkeeper_precision); + + field_name = "bookkeeper_settings"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + auto n_bookkeeper_settings = new NodeSimple; + n_bookkeeper_settings->m_field_name = field_name; + n_bookkeeper_settings->m_df_type = DF_Type::int16_t; + n_bookkeeper_settings->m_rdf_type = RDF_Type::int16_t; + n_bookkeeper_settings->m_node_type = NodeType::Simple; + n_bookkeeper_settings->m_address = base + offset; + n_bookkeeper_settings->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_bookkeeper_settings); + + field_name = "caravans"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + auto n_caravans = new NodeVector; + n_caravans->m_field_name = field_name; + n_caravans->m_df_type = DF_Type::caravan_state; + n_caravans->m_rdf_type = RDF_Type::Vector; + n_caravans->m_node_type = NodeType::Vector; + n_caravans->m_defined_in = "df.entities.xml"; + n_caravans->m_addornements = "v*"; + n_caravans->m_address = base + offset; + n_caravans->m_parent = p_node_parent; + n_caravans->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_caravans); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int8_t; + n_anon_2->m_rdf_type = RDF_Type::int8_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "fortress_rank"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + auto n_fortress_rank = new NodeSimple; + n_fortress_rank->m_field_name = field_name; + n_fortress_rank->m_df_type = DF_Type::int16_t; + n_fortress_rank->m_rdf_type = RDF_Type::int16_t; + n_fortress_rank->m_node_type = NodeType::Simple; + n_fortress_rank->m_address = base + offset; + n_fortress_rank->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_fortress_rank); + + field_name = "progress_population"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + auto n_progress_population = new NodeSimple; + n_progress_population->m_field_name = field_name; + n_progress_population->m_df_type = DF_Type::int16_t; + n_progress_population->m_rdf_type = RDF_Type::int16_t; + n_progress_population->m_node_type = NodeType::Simple; + n_progress_population->m_address = base + offset; + n_progress_population->m_comment = "?"; + n_progress_population->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_progress_population); + + field_name = "progress_trade"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + auto n_progress_trade = new NodeSimple; + n_progress_trade->m_field_name = field_name; + n_progress_trade->m_df_type = DF_Type::int16_t; + n_progress_trade->m_rdf_type = RDF_Type::int16_t; + n_progress_trade->m_node_type = NodeType::Simple; + n_progress_trade->m_address = base + offset; + n_progress_trade->m_comment = "?"; + n_progress_trade->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_progress_trade); + + field_name = "progress_production"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + auto n_progress_production = new NodeSimple; + n_progress_production->m_field_name = field_name; + n_progress_production->m_df_type = DF_Type::int16_t; + n_progress_production->m_rdf_type = RDF_Type::int16_t; + n_progress_production->m_node_type = NodeType::Simple; + n_progress_production->m_address = base + offset; + n_progress_production->m_comment = "?"; + n_progress_production->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_progress_production); + + field_name = "king_arrived"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + auto n_king_arrived = new NodeSimple; + n_king_arrived->m_field_name = field_name; + n_king_arrived->m_df_type = DF_Type::Bool; + n_king_arrived->m_rdf_type = RDF_Type::Bool; + n_king_arrived->m_node_type = NodeType::Simple; + n_king_arrived->m_address = base + offset; + n_king_arrived->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_king_arrived); + + field_name = "king_hasty"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + auto n_king_hasty = new NodeSimple; + n_king_hasty->m_field_name = field_name; + n_king_hasty->m_df_type = DF_Type::Bool; + n_king_hasty->m_rdf_type = RDF_Type::Bool; + n_king_hasty->m_node_type = NodeType::Simple; + n_king_hasty->m_address = base + offset; + n_king_hasty->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_king_hasty); + + field_name = "economy_active"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + auto n_economy_active = new NodeSimple; + n_economy_active->m_field_name = field_name; + n_economy_active->m_df_type = DF_Type::Bool; + n_economy_active->m_rdf_type = RDF_Type::Bool; + n_economy_active->m_node_type = NodeType::Simple; + n_economy_active->m_address = base + offset; + n_economy_active->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_economy_active); + + field_name = "ignore_labor_shortage"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + auto n_ignore_labor_shortage = new NodeSimple; + n_ignore_labor_shortage->m_field_name = field_name; + n_ignore_labor_shortage->m_df_type = DF_Type::Bool; + n_ignore_labor_shortage->m_rdf_type = RDF_Type::Bool; + n_ignore_labor_shortage->m_node_type = NodeType::Simple; + n_ignore_labor_shortage->m_address = base + offset; + n_ignore_labor_shortage->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ignore_labor_shortage); + + field_name = "justice_active"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + auto n_justice_active = new NodeSimple; + n_justice_active->m_field_name = field_name; + n_justice_active->m_df_type = DF_Type::Bool; + n_justice_active->m_rdf_type = RDF_Type::Bool; + n_justice_active->m_node_type = NodeType::Simple; + n_justice_active->m_address = base + offset; + n_justice_active->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_justice_active); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::uint16_t; + n_anon_3->m_rdf_type = RDF_Type::uint16_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::uint16_t; + n_anon_4->m_rdf_type = RDF_Type::uint16_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "manager_timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + auto n_manager_timer = new NodeSimple; + n_manager_timer->m_field_name = field_name; + n_manager_timer->m_df_type = DF_Type::int16_t; + n_manager_timer->m_rdf_type = RDF_Type::int16_t; + n_manager_timer->m_node_type = NodeType::Simple; + n_manager_timer->m_address = base + offset; + n_manager_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_manager_timer); + + field_name = "becoming_capital"; + auto n_becoming_capital = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + n_becoming_capital->m_field_name = field_name; + n_becoming_capital->m_df_type = DF_Type::ui__T_becoming_capital; + n_becoming_capital->m_rdf_type = RDF_Type::Compound; + n_becoming_capital->m_node_type = NodeType::Compound; + n_becoming_capital->m_address = base + offset; + n_becoming_capital->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_becoming_capital); + + field_name = "units_killed"; + auto n_units_killed = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + n_units_killed->m_field_name = field_name; + n_units_killed->m_df_type = DF_Type::int16_t; + n_units_killed->m_rdf_type = RDF_Type::Array; + n_units_killed->m_node_type = NodeType::Array; + n_units_killed->m_index_enum = DF_Type::profession; + n_units_killed->m_addornements = "[152"; + n_units_killed->m_array_size = 152; + n_units_killed->m_address = base + offset; + n_units_killed->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_units_killed); + + field_name = "guild_wages"; + auto n_guild_wages = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + n_guild_wages->m_field_name = field_name; + n_guild_wages->m_df_type = DF_Type::int32_t; + n_guild_wages->m_rdf_type = RDF_Type::Array; + n_guild_wages->m_node_type = NodeType::Array; + n_guild_wages->m_index_enum = DF_Type::guild_id; + n_guild_wages->m_addornements = "[6"; + n_guild_wages->m_array_size = 6; + n_guild_wages->m_address = base + offset; + n_guild_wages->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_guild_wages); + + field_name = "guild_happiness"; + auto n_guild_happiness = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + n_guild_happiness->m_field_name = field_name; + n_guild_happiness->m_df_type = DF_Type::int16_t; + n_guild_happiness->m_rdf_type = RDF_Type::Array; + n_guild_happiness->m_node_type = NodeType::Array; + n_guild_happiness->m_index_enum = DF_Type::guild_id; + n_guild_happiness->m_addornements = "[6"; + n_guild_happiness->m_array_size = 6; + n_guild_happiness->m_address = base + offset; + n_guild_happiness->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_guild_happiness); + + field_name = "labor_slowdown_timer"; + auto n_labor_slowdown_timer = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + n_labor_slowdown_timer->m_field_name = field_name; + n_labor_slowdown_timer->m_df_type = DF_Type::int16_t; + n_labor_slowdown_timer->m_rdf_type = RDF_Type::Array; + n_labor_slowdown_timer->m_node_type = NodeType::Array; + n_labor_slowdown_timer->m_index_enum = DF_Type::guild_id; + n_labor_slowdown_timer->m_addornements = "[6"; + n_labor_slowdown_timer->m_array_size = 6; + n_labor_slowdown_timer->m_address = base + offset; + n_labor_slowdown_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_labor_slowdown_timer); + + field_name = "currency_value"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + auto n_currency_value = new NodeVector; + n_currency_value->m_field_name = field_name; + n_currency_value->m_df_type = DF_Type::int32_t; + n_currency_value->m_rdf_type = RDF_Type::Vector; + n_currency_value->m_node_type = NodeType::Vector; + n_currency_value->m_addornements = "v"; + n_currency_value->m_address = base + offset; + n_currency_value->m_refers_to = "(material-by-id 0 $)"; + n_currency_value->m_parent = p_node_parent; + n_currency_value->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_currency_value); + + field_name = "trees_removed"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + auto n_trees_removed = new NodeSimple; + n_trees_removed->m_field_name = field_name; + n_trees_removed->m_df_type = DF_Type::int32_t; + n_trees_removed->m_rdf_type = RDF_Type::int32_t; + n_trees_removed->m_node_type = NodeType::Simple; + n_trees_removed->m_address = base + offset; + n_trees_removed->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_trees_removed); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "fortress_age"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + auto n_fortress_age = new NodeSimple; + n_fortress_age->m_field_name = field_name; + n_fortress_age->m_df_type = DF_Type::int32_t; + n_fortress_age->m_rdf_type = RDF_Type::int32_t; + n_fortress_age->m_node_type = NodeType::Simple; + n_fortress_age->m_address = base + offset; + n_fortress_age->m_comment = "?; +1 per 10; used in first 2 migrant waves etc"; + n_fortress_age->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_fortress_age); + + field_name = "tasks"; + auto n_tasks = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + n_tasks->m_field_name = field_name; + n_tasks->m_df_type = DF_Type::entity_activity_statistics; + n_tasks->m_rdf_type = RDF_Type::Struct; + n_tasks->m_node_type = NodeType::Compound; + n_tasks->m_address = base + offset; + n_tasks->m_defined_in = "df.entities.xml"; + n_tasks->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tasks); + + field_name = "meeting_requests"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + auto n_meeting_requests = new NodeVector; + n_meeting_requests->m_field_name = field_name; + n_meeting_requests->m_df_type = DF_Type::int32_t; + n_meeting_requests->m_rdf_type = RDF_Type::Vector; + n_meeting_requests->m_node_type = NodeType::Vector; + n_meeting_requests->m_addornements = "v"; + n_meeting_requests->m_address = base + offset; + n_meeting_requests->m_comment = "guild complaints and diplomats"; + n_meeting_requests->m_parent = p_node_parent; + n_meeting_requests->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_meeting_requests); + + field_name = "activities"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + auto n_activities = new NodeVector; + n_activities->m_field_name = field_name; + n_activities->m_df_type = DF_Type::activity_info; + n_activities->m_rdf_type = RDF_Type::Vector; + n_activities->m_node_type = NodeType::Vector; + n_activities->m_defined_in = "df.meeting.xml"; + n_activities->m_addornements = "v*"; + n_activities->m_address = base + offset; + n_activities->m_parent = p_node_parent; + n_activities->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_activities); + + field_name = "dip_meeting_info"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + auto n_dip_meeting_info = new NodeVector; + n_dip_meeting_info->m_field_name = field_name; + n_dip_meeting_info->m_df_type = DF_Type::meeting_diplomat_info; + n_dip_meeting_info->m_rdf_type = RDF_Type::Vector; + n_dip_meeting_info->m_node_type = NodeType::Vector; + n_dip_meeting_info->m_defined_in = "df.meeting.xml"; + n_dip_meeting_info->m_addornements = "v*"; + n_dip_meeting_info->m_address = base + offset; + n_dip_meeting_info->m_parent = p_node_parent; + n_dip_meeting_info->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_dip_meeting_info); + + field_name = "aid_requesters"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + auto n_aid_requesters = new NodeVector; + n_aid_requesters->m_field_name = field_name; + n_aid_requesters->m_df_type = DF_Type::int32_t; + n_aid_requesters->m_rdf_type = RDF_Type::Vector; + n_aid_requesters->m_node_type = NodeType::Vector; + n_aid_requesters->m_addornements = "v"; + n_aid_requesters->m_address = base + offset; + n_aid_requesters->m_parent = p_node_parent; + n_aid_requesters->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_aid_requesters); + + field_name = "game_over"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + auto n_game_over = new NodeSimple; + n_game_over->m_field_name = field_name; + n_game_over->m_df_type = DF_Type::Bool; + n_game_over->m_rdf_type = RDF_Type::Bool; + n_game_over->m_node_type = NodeType::Simple; + n_game_over->m_address = base + offset; + n_game_over->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_game_over); + + field_name = "invasions"; + auto n_invasions = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + n_invasions->m_field_name = field_name; + n_invasions->m_df_type = DF_Type::ui__T_invasions; + n_invasions->m_rdf_type = RDF_Type::Compound; + n_invasions->m_node_type = NodeType::Compound; + n_invasions->m_address = base + offset; + n_invasions->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_invasions); + + field_name = "crimes"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + auto n_crimes = new NodeVector; + n_crimes->m_field_name = field_name; + n_crimes->m_df_type = DF_Type::Void; + n_crimes->m_rdf_type = RDF_Type::Vector; + n_crimes->m_node_type = NodeType::Vector; + n_crimes->m_addornements = "v"; + n_crimes->m_address = base + offset; + n_crimes->m_comment = "no longer used"; + n_crimes->m_parent = p_node_parent; + n_crimes->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_crimes); + + field_name = "punishments"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + auto n_punishments = new NodeVector; + n_punishments->m_field_name = field_name; + n_punishments->m_df_type = DF_Type::punishment; + n_punishments->m_rdf_type = RDF_Type::Vector; + n_punishments->m_node_type = NodeType::Vector; + n_punishments->m_defined_in = "df.ui.xml"; + n_punishments->m_addornements = "v*"; + n_punishments->m_address = base + offset; + n_punishments->m_parent = p_node_parent; + n_punishments->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_punishments); + + field_name = "parties"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + auto n_parties = new NodeVector; + n_parties->m_field_name = field_name; + n_parties->m_df_type = DF_Type::party_info; + n_parties->m_rdf_type = RDF_Type::Vector; + n_parties->m_node_type = NodeType::Vector; + n_parties->m_defined_in = "df.meeting.xml"; + n_parties->m_addornements = "v*"; + n_parties->m_address = base + offset; + n_parties->m_parent = p_node_parent; + n_parties->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_parties); + + field_name = "room_rent"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + auto n_room_rent = new NodeVector; + n_room_rent->m_field_name = field_name; + n_room_rent->m_df_type = DF_Type::room_rent_info; + n_room_rent->m_rdf_type = RDF_Type::Vector; + n_room_rent->m_node_type = NodeType::Vector; + n_room_rent->m_defined_in = "df.meeting.xml"; + n_room_rent->m_addornements = "v*"; + n_room_rent->m_address = base + offset; + n_room_rent->m_parent = p_node_parent; + n_room_rent->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_room_rent); + + field_name = "dipscripts"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + auto n_dipscripts = new NodeVector; + n_dipscripts->m_field_name = field_name; + n_dipscripts->m_df_type = DF_Type::dipscript_info; + n_dipscripts->m_rdf_type = RDF_Type::Vector; + n_dipscripts->m_node_type = NodeType::Vector; + n_dipscripts->m_defined_in = "df.meeting.xml"; + n_dipscripts->m_addornements = "v*"; + n_dipscripts->m_address = base + offset; + n_dipscripts->m_parent = p_node_parent; + n_dipscripts->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_dipscripts); + + field_name = "dipscript_popups"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + auto n_dipscript_popups = new NodeVector; + n_dipscript_popups->m_field_name = field_name; + n_dipscript_popups->m_df_type = DF_Type::dipscript_popup; + n_dipscript_popups->m_rdf_type = RDF_Type::Vector; + n_dipscript_popups->m_node_type = NodeType::Vector; + n_dipscript_popups->m_defined_in = "df.meeting.xml"; + n_dipscript_popups->m_addornements = "v*"; + n_dipscript_popups->m_address = base + offset; + n_dipscript_popups->m_comment = "cause viewscreen_meetingst to pop up"; + n_dipscript_popups->m_parent = p_node_parent; + n_dipscript_popups->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_dipscript_popups); + + field_name = "kitchen"; + auto n_kitchen = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + n_kitchen->m_field_name = field_name; + n_kitchen->m_df_type = DF_Type::ui__T_kitchen; + n_kitchen->m_rdf_type = RDF_Type::Compound; + n_kitchen->m_node_type = NodeType::Compound; + n_kitchen->m_address = base + offset; + n_kitchen->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_kitchen); + + field_name = "economic_stone"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + auto n_economic_stone = new NodeVector; + n_economic_stone->m_field_name = field_name; + n_economic_stone->m_df_type = DF_Type::Bool; + n_economic_stone->m_rdf_type = RDF_Type::Vector; + n_economic_stone->m_node_type = NodeType::Vector; + n_economic_stone->m_addornements = "v"; + n_economic_stone->m_address = base + offset; + n_economic_stone->m_refers_to = "(material-by-id 0 $)"; + n_economic_stone->m_parent = p_node_parent; + n_economic_stone->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_economic_stone); + + field_name = "unk23c8_flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + auto n_unk23c8_flags = new NodeBitfield; + n_unk23c8_flags->m_field_name = field_name; + n_unk23c8_flags->m_df_type = DF_Type::ui__T_unk23c8_flags; + n_unk23c8_flags->m_rdf_type = RDF_Type::Bitfield; + n_unk23c8_flags->m_node_type = NodeType::Bitfield; + n_unk23c8_flags->m_address = base + offset; + n_unk23c8_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk23c8_flags); + + field_name = "mood_cooldown"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + auto n_mood_cooldown = new NodeSimple; + n_mood_cooldown->m_field_name = field_name; + n_mood_cooldown->m_df_type = DF_Type::int16_t; + n_mood_cooldown->m_rdf_type = RDF_Type::int16_t; + n_mood_cooldown->m_node_type = NodeType::Simple; + n_mood_cooldown->m_address = base + offset; + n_mood_cooldown->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mood_cooldown); + + field_name = "civ_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + auto n_civ_id = new NodeSimple; + n_civ_id->m_field_name = field_name; + n_civ_id->m_df_type = DF_Type::int32_t; + n_civ_id->m_rdf_type = RDF_Type::int32_t; + n_civ_id->m_node_type = NodeType::Simple; + n_civ_id->m_address = base + offset; + n_civ_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_civ_id); + + field_name = "site_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + auto n_site_id = new NodeSimple; + n_site_id->m_field_name = field_name; + n_site_id->m_df_type = DF_Type::int32_t; + n_site_id->m_rdf_type = RDF_Type::int32_t; + n_site_id->m_node_type = NodeType::Simple; + n_site_id->m_address = base + offset; + n_site_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_id); + + field_name = "group_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + auto n_group_id = new NodeSimple; + n_group_id->m_field_name = field_name; + n_group_id->m_df_type = DF_Type::int32_t; + n_group_id->m_rdf_type = RDF_Type::int32_t; + n_group_id->m_node_type = NodeType::Simple; + n_group_id->m_address = base + offset; + n_group_id->m_comment = "i.e. specifically the fortress dwarves"; + n_group_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_group_id); + + field_name = "race_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + auto n_race_id = new NodeSimple; + n_race_id->m_field_name = field_name; + n_race_id->m_df_type = DF_Type::int16_t; + n_race_id->m_rdf_type = RDF_Type::int16_t; + n_race_id->m_node_type = NodeType::Simple; + n_race_id->m_address = base + offset; + n_race_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_race_id); + + field_name = "unk_races"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + auto n_unk_races = new NodeVector; + n_unk_races->m_field_name = field_name; + n_unk_races->m_df_type = DF_Type::int32_t; + n_unk_races->m_rdf_type = RDF_Type::Vector; + n_unk_races->m_node_type = NodeType::Vector; + n_unk_races->m_addornements = "v"; + n_unk_races->m_address = base + offset; + n_unk_races->m_parent = p_node_parent; + n_unk_races->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_races); + + field_name = "farm_crops"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + auto n_farm_crops = new NodeVector; + n_farm_crops->m_field_name = field_name; + n_farm_crops->m_df_type = DF_Type::int16_t; + n_farm_crops->m_rdf_type = RDF_Type::Vector; + n_farm_crops->m_node_type = NodeType::Vector; + n_farm_crops->m_addornements = "v"; + n_farm_crops->m_address = base + offset; + n_farm_crops->m_parent = p_node_parent; + n_farm_crops->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_farm_crops); + + field_name = "farm_seasons"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + auto n_farm_seasons = new NodeVector; + n_farm_seasons->m_field_name = field_name; + n_farm_seasons->m_df_type = DF_Type::int8_t; + n_farm_seasons->m_rdf_type = RDF_Type::Vector; + n_farm_seasons->m_node_type = NodeType::Vector; + n_farm_seasons->m_addornements = "v"; + n_farm_seasons->m_address = base + offset; + n_farm_seasons->m_parent = p_node_parent; + n_farm_seasons->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_farm_seasons); + + field_name = "economy_prices"; + auto n_economy_prices = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + n_economy_prices->m_field_name = field_name; + n_economy_prices->m_df_type = DF_Type::ui__T_economy_prices; + n_economy_prices->m_rdf_type = RDF_Type::Compound; + n_economy_prices->m_node_type = NodeType::Compound; + n_economy_prices->m_address = base + offset; + n_economy_prices->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_economy_prices); + + field_name = "stockpile"; + auto n_stockpile = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + n_stockpile->m_field_name = field_name; + n_stockpile->m_df_type = DF_Type::ui__T_stockpile; + n_stockpile->m_rdf_type = RDF_Type::Compound; + n_stockpile->m_node_type = NodeType::Compound; + n_stockpile->m_address = base + offset; + n_stockpile->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_stockpile); + + field_name = "unk2a8c"; + auto n_unk2a8c = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + n_unk2a8c->m_field_name = field_name; + n_unk2a8c->m_df_type = DF_Type::ui__T_unk2a8c; + n_unk2a8c->m_rdf_type = RDF_Type::Array; + n_unk2a8c->m_node_type = NodeType::Array; + n_unk2a8c->m_addornements = "[4[768"; + n_unk2a8c->m_array_size = 4; + n_unk2a8c->m_address = base + offset; + n_unk2a8c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk2a8c); + + field_name = "unk_mapedge_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + auto n_unk_mapedge_x = new NodeVector; + n_unk_mapedge_x->m_field_name = field_name; + n_unk_mapedge_x->m_df_type = DF_Type::int16_t; + n_unk_mapedge_x->m_rdf_type = RDF_Type::Vector; + n_unk_mapedge_x->m_node_type = NodeType::Vector; + n_unk_mapedge_x->m_addornements = "v"; + n_unk_mapedge_x->m_address = base + offset; + n_unk_mapedge_x->m_parent = p_node_parent; + n_unk_mapedge_x->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_mapedge_x); + + field_name = "unk_mapedge_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + auto n_unk_mapedge_y = new NodeVector; + n_unk_mapedge_y->m_field_name = field_name; + n_unk_mapedge_y->m_df_type = DF_Type::int16_t; + n_unk_mapedge_y->m_rdf_type = RDF_Type::Vector; + n_unk_mapedge_y->m_node_type = NodeType::Vector; + n_unk_mapedge_y->m_addornements = "v"; + n_unk_mapedge_y->m_address = base + offset; + n_unk_mapedge_y->m_parent = p_node_parent; + n_unk_mapedge_y->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_mapedge_y); + + field_name = "unk_mapedge_z"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + auto n_unk_mapedge_z = new NodeVector; + n_unk_mapedge_z->m_field_name = field_name; + n_unk_mapedge_z->m_df_type = DF_Type::int16_t; + n_unk_mapedge_z->m_rdf_type = RDF_Type::Vector; + n_unk_mapedge_z->m_node_type = NodeType::Vector; + n_unk_mapedge_z->m_addornements = "v"; + n_unk_mapedge_z->m_address = base + offset; + n_unk_mapedge_z->m_parent = p_node_parent; + n_unk_mapedge_z->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_mapedge_z); + + field_name = "map_edge"; + auto n_map_edge = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + n_map_edge->m_field_name = field_name; + n_map_edge->m_df_type = DF_Type::ui__T_map_edge; + n_map_edge->m_rdf_type = RDF_Type::Compound; + n_map_edge->m_node_type = NodeType::Compound; + n_map_edge->m_address = base + offset; + n_map_edge->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_map_edge); + + field_name = "unk5b88"; + auto n_unk5b88 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + n_unk5b88->m_field_name = field_name; + n_unk5b88->m_df_type = DF_Type::Void; + n_unk5b88->m_rdf_type = RDF_Type::Array; + n_unk5b88->m_node_type = NodeType::Array; + n_unk5b88->m_addornements = "[7v"; + n_unk5b88->m_array_size = 7; + n_unk5b88->m_address = base + offset; + n_unk5b88->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk5b88); + + field_name = "waypoints"; + auto n_waypoints = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + n_waypoints->m_field_name = field_name; + n_waypoints->m_df_type = DF_Type::ui__T_waypoints; + n_waypoints->m_rdf_type = RDF_Type::Compound; + n_waypoints->m_node_type = NodeType::Compound; + n_waypoints->m_address = base + offset; + n_waypoints->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_waypoints); + + field_name = "burrows"; + auto n_burrows = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + n_burrows->m_field_name = field_name; + n_burrows->m_df_type = DF_Type::ui__T_burrows; + n_burrows->m_rdf_type = RDF_Type::Compound; + n_burrows->m_node_type = NodeType::Compound; + n_burrows->m_address = base + offset; + n_burrows->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_burrows); + + field_name = "alerts"; + auto n_alerts = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + n_alerts->m_field_name = field_name; + n_alerts->m_df_type = DF_Type::ui__T_alerts; + n_alerts->m_rdf_type = RDF_Type::Compound; + n_alerts->m_node_type = NodeType::Compound; + n_alerts->m_address = base + offset; + n_alerts->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_alerts); + + field_name = "equipment"; + auto n_equipment = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + n_equipment->m_field_name = field_name; + n_equipment->m_df_type = DF_Type::ui__T_equipment; + n_equipment->m_rdf_type = RDF_Type::Compound; + n_equipment->m_node_type = NodeType::Compound; + n_equipment->m_address = base + offset; + n_equipment->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_equipment); + + field_name = "hauling"; + auto n_hauling = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + n_hauling->m_field_name = field_name; + n_hauling->m_df_type = DF_Type::ui__T_hauling; + n_hauling->m_rdf_type = RDF_Type::Compound; + n_hauling->m_node_type = NodeType::Compound; + n_hauling->m_address = base + offset; + n_hauling->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_hauling); + + field_name = "petitions"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + auto n_petitions = new NodeVector; + n_petitions->m_field_name = field_name; + n_petitions->m_df_type = DF_Type::int32_t; + n_petitions->m_rdf_type = RDF_Type::Vector; + n_petitions->m_node_type = NodeType::Vector; + n_petitions->m_addornements = "v"; + n_petitions->m_address = base + offset; + n_petitions->m_comment = "related to agreements"; + n_petitions->m_parent = p_node_parent; + n_petitions->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_petitions); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + auto n_anon_6 = new NodeVector; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::Void; + n_anon_6->m_rdf_type = RDF_Type::Vector; + n_anon_6->m_node_type = NodeType::Vector; + n_anon_6->m_addornements = "v"; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + n_anon_6->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "main"; + auto n_main = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + n_main->m_field_name = field_name; + n_main->m_df_type = DF_Type::ui__T_main; + n_main->m_rdf_type = RDF_Type::Compound; + n_main->m_node_type = NodeType::Compound; + n_main->m_address = base + offset; + n_main->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_main); + + field_name = "squads"; + auto n_squads = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + n_squads->m_field_name = field_name; + n_squads->m_df_type = DF_Type::ui__T_squads; + n_squads->m_rdf_type = RDF_Type::Compound; + n_squads->m_node_type = NodeType::Compound; + n_squads->m_address = base + offset; + n_squads->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_squads); + + field_name = "follow_unit"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + auto n_follow_unit = new NodeSimple; + n_follow_unit->m_field_name = field_name; + n_follow_unit->m_df_type = DF_Type::int32_t; + n_follow_unit->m_rdf_type = RDF_Type::int32_t; + n_follow_unit->m_node_type = NodeType::Simple; + n_follow_unit->m_address = base + offset; + n_follow_unit->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_follow_unit); + + field_name = "follow_item"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + auto n_follow_item = new NodeSimple; + n_follow_item->m_field_name = field_name; + n_follow_item->m_df_type = DF_Type::int32_t; + n_follow_item->m_rdf_type = RDF_Type::int32_t; + n_follow_item->m_node_type = NodeType::Simple; + n_follow_item->m_address = base + offset; + n_follow_item->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_follow_item); + + field_name = "selected_farm_crops"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + auto n_selected_farm_crops = new NodeVector; + n_selected_farm_crops->m_field_name = field_name; + n_selected_farm_crops->m_df_type = DF_Type::int16_t; + n_selected_farm_crops->m_rdf_type = RDF_Type::Vector; + n_selected_farm_crops->m_node_type = NodeType::Vector; + n_selected_farm_crops->m_addornements = "v"; + n_selected_farm_crops->m_address = base + offset; + n_selected_farm_crops->m_comment = "valid for the currently queried farm plot"; + n_selected_farm_crops->m_parent = p_node_parent; + n_selected_farm_crops->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_selected_farm_crops); + + field_name = "available_seeds"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::ui, field_name)); + auto n_available_seeds = new NodeVector; + n_available_seeds->m_field_name = field_name; + n_available_seeds->m_df_type = DF_Type::Bool; + n_available_seeds->m_rdf_type = RDF_Type::Vector; + n_available_seeds->m_node_type = NodeType::Vector; + n_available_seeds->m_addornements = "v"; + n_available_seeds->m_address = base + offset; + n_available_seeds->m_parent = p_node_parent; + n_available_seeds->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_available_seeds); + +} +void node_from_viewscreen_savegamest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_savegamest, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::Stl_string; + n_anon_1->m_rdf_type = RDF_Type::Stl_string; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "cur_step"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_savegamest, field_name)); + auto n_cur_step = new NodeSimple; + n_cur_step->m_field_name = field_name; + n_cur_step->m_df_type = DF_Type::int32_t; + n_cur_step->m_rdf_type = RDF_Type::int32_t; + n_cur_step->m_node_type = NodeType::Simple; + n_cur_step->m_address = base + offset; + n_cur_step->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cur_step); + + field_name = "unk_v40_1b"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_savegamest, field_name)); + auto n_unk_v40_1b = new NodeSimple; + n_unk_v40_1b->m_field_name = field_name; + n_unk_v40_1b->m_df_type = DF_Type::int32_t; + n_unk_v40_1b->m_rdf_type = RDF_Type::int32_t; + n_unk_v40_1b->m_node_type = NodeType::Simple; + n_unk_v40_1b->m_address = base + offset; + n_unk_v40_1b->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_1b); + + field_name = "offload"; + auto n_offload = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_savegamest, field_name)); + n_offload->m_field_name = field_name; + n_offload->m_df_type = DF_Type::nemesis_offload; + n_offload->m_rdf_type = RDF_Type::Struct; + n_offload->m_node_type = NodeType::Compound; + n_offload->m_address = base + offset; + n_offload->m_defined_in = "df.viewscreen.xml"; + n_offload->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_offload); + + field_name = "compressor"; + auto n_compressor = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_savegamest, field_name)); + n_compressor->m_field_name = field_name; + n_compressor->m_df_type = DF_Type::file_compressorst; + n_compressor->m_rdf_type = RDF_Type::Struct; + n_compressor->m_node_type = NodeType::Compound; + n_compressor->m_address = base + offset; + n_compressor->m_defined_in = "df.viewscreen.xml"; + n_compressor->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_compressor); + +} +void node_from_viewscreen_selectitemst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "p_item_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_selectitemst, field_name)); + auto n_p_item_type = new NodePointer; + n_p_item_type->m_field_name = field_name; + n_p_item_type->m_df_type = get_real_subtype(base+offset, DF_Type::int16_t); + n_p_item_type->m_rdf_type = RDF_Type::Pointer; + n_p_item_type->m_node_type = NodeType::Pointer; + n_p_item_type->m_addornements = "*"; + n_p_item_type->m_address = base + offset; + n_p_item_type->m_parent = p_node_parent; + n_p_item_type->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_p_item_type); + + field_name = "p_item_subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_selectitemst, field_name)); + auto n_p_item_subtype = new NodePointer; + n_p_item_subtype->m_field_name = field_name; + n_p_item_subtype->m_df_type = get_real_subtype(base+offset, DF_Type::int16_t); + n_p_item_subtype->m_rdf_type = RDF_Type::Pointer; + n_p_item_subtype->m_node_type = NodeType::Pointer; + n_p_item_subtype->m_addornements = "*"; + n_p_item_subtype->m_address = base + offset; + n_p_item_subtype->m_parent = p_node_parent; + n_p_item_subtype->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_p_item_subtype); + + field_name = "p_mattype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_selectitemst, field_name)); + auto n_p_mattype = new NodePointer; + n_p_mattype->m_field_name = field_name; + n_p_mattype->m_df_type = get_real_subtype(base+offset, DF_Type::int16_t); + n_p_mattype->m_rdf_type = RDF_Type::Pointer; + n_p_mattype->m_node_type = NodeType::Pointer; + n_p_mattype->m_addornements = "*"; + n_p_mattype->m_address = base + offset; + n_p_mattype->m_parent = p_node_parent; + n_p_mattype->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_p_mattype); + + field_name = "p_matindex"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_selectitemst, field_name)); + auto n_p_matindex = new NodePointer; + n_p_matindex->m_field_name = field_name; + n_p_matindex->m_df_type = get_real_subtype(base+offset, DF_Type::int32_t); + n_p_matindex->m_rdf_type = RDF_Type::Pointer; + n_p_matindex->m_node_type = NodeType::Pointer; + n_p_matindex->m_addornements = "*"; + n_p_matindex->m_address = base + offset; + n_p_matindex->m_parent = p_node_parent; + n_p_matindex->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_p_matindex); + + field_name = "choice"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_selectitemst, field_name)); + auto n_choice = new NodePointer; + n_choice->m_field_name = field_name; + n_choice->m_df_type = get_real_subtype(base+offset, DF_Type::embark_item_choice); + n_choice->m_rdf_type = RDF_Type::Pointer; + n_choice->m_node_type = NodeType::Pointer; + n_choice->m_addornements = "*"; + n_choice->m_address = base + offset; + n_choice->m_parent = p_node_parent; + n_choice->m_defined_in = "df.viewscreen.xml"; + n_choice->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_choice); + + field_name = "screen"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_selectitemst, field_name)); + auto n_screen = new NodePointer; + n_screen->m_field_name = field_name; + n_screen->m_df_type = get_real_subtype(base+offset, DF_Type::viewscreen_setupdwarfgamest); + n_screen->m_rdf_type = RDF_Type::Pointer; + n_screen->m_node_type = NodeType::Pointer; + n_screen->m_addornements = "*"; + n_screen->m_address = base + offset; + n_screen->m_parent = p_node_parent; + n_screen->m_defined_in = "df.viewscreen.xml"; + n_screen->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_screen); + + field_name = "page_base"; + auto n_page_base = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_selectitemst, field_name)); + n_page_base->m_field_name = field_name; + n_page_base->m_df_type = DF_Type::int32_t; + n_page_base->m_rdf_type = RDF_Type::Array; + n_page_base->m_node_type = NodeType::Array; + n_page_base->m_index_enum = DF_Type::entity_sell_category; + n_page_base->m_addornements = "[107v"; + n_page_base->m_array_size = 107; + n_page_base->m_address = base + offset; + n_page_base->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_page_base); + + field_name = "title"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_selectitemst, field_name)); + auto n_title= new NodePadding; + n_title->m_field_name = field_name; + n_title->m_df_type = DF_Type::Static_string; + n_title->m_rdf_type = RDF_Type::Static_string; + n_title->m_node_type = NodeType::StaticString; + n_title->m_address = base + offset; + n_title->m_size = 256; + n_title->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_title); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_selectitemst, field_name)); + auto n_anon_1= new NodePadding; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::Static_string; + n_anon_1->m_rdf_type = RDF_Type::Static_string; + n_anon_1->m_node_type = NodeType::StaticString; + n_anon_1->m_address = base + offset; + n_anon_1->m_size = 256; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "filter"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_selectitemst, field_name)); + auto n_filter= new NodePadding; + n_filter->m_field_name = field_name; + n_filter->m_df_type = DF_Type::Static_string; + n_filter->m_rdf_type = RDF_Type::Static_string; + n_filter->m_node_type = NodeType::StaticString; + n_filter->m_address = base + offset; + n_filter->m_size = 256; + n_filter->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_filter); + + field_name = "right_pos"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_selectitemst, field_name)); + auto n_right_pos = new NodeSimple; + n_right_pos->m_field_name = field_name; + n_right_pos->m_df_type = DF_Type::int32_t; + n_right_pos->m_rdf_type = RDF_Type::int32_t; + n_right_pos->m_node_type = NodeType::Simple; + n_right_pos->m_address = base + offset; + n_right_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_right_pos); + + field_name = "right_page_base"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_selectitemst, field_name)); + auto n_right_page_base = new NodeSimple; + n_right_page_base->m_field_name = field_name; + n_right_page_base->m_df_type = DF_Type::int32_t; + n_right_page_base->m_rdf_type = RDF_Type::int32_t; + n_right_page_base->m_node_type = NodeType::Simple; + n_right_page_base->m_address = base + offset; + n_right_page_base->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_right_page_base); + + field_name = "right_list"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_selectitemst, field_name)); + auto n_right_list = new NodeSimple; + n_right_list->m_field_name = field_name; + n_right_list->m_df_type = DF_Type::Bool; + n_right_list->m_rdf_type = RDF_Type::Bool; + n_right_list->m_node_type = NodeType::Simple; + n_right_list->m_address = base + offset; + n_right_list->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_right_list); + + field_name = "sel_category"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_selectitemst, field_name)); + auto n_sel_category = new NodeSimple; + n_sel_category->m_field_name = field_name; + n_sel_category->m_df_type = DF_Type::int32_t; + n_sel_category->m_rdf_type = RDF_Type::int32_t; + n_sel_category->m_node_type = NodeType::Simple; + n_sel_category->m_address = base + offset; + n_sel_category->m_refers_to = "$$._parent.categories[$]"; + n_sel_category->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sel_category); + + field_name = "categories"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_selectitemst, field_name)); + auto n_categories = new NodeVector; + n_categories->m_field_name = field_name; + n_categories->m_df_type = DF_Type::entity_sell_category; + n_categories->m_rdf_type = RDF_Type::Vector; + n_categories->m_node_type = NodeType::Vector; + n_categories->m_enum_base = DF_Type::int16_t; + n_categories->m_defined_in = "df.entities.xml"; + n_categories->m_addornements = "v"; + n_categories->m_address = base + offset; + n_categories->m_parent = p_node_parent; + n_categories->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_categories); + +} +void node_from_setup_character_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "name"; + auto n_name = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::setup_character_info, field_name)); + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::language_name; + n_name->m_rdf_type = RDF_Type::Struct; + n_name->m_node_type = NodeType::Compound; + n_name->m_address = base + offset; + n_name->m_defined_in = "df.language.xml"; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "race"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::setup_character_info, field_name)); + auto n_race = new NodeSimple; + n_race->m_field_name = field_name; + n_race->m_df_type = DF_Type::int16_t; + n_race->m_rdf_type = RDF_Type::int16_t; + n_race->m_node_type = NodeType::Simple; + n_race->m_address = base + offset; + n_race->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_race); + + field_name = "caste"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::setup_character_info, field_name)); + auto n_caste = new NodeSimple; + n_caste->m_field_name = field_name; + n_caste->m_df_type = DF_Type::int16_t; + n_caste->m_rdf_type = RDF_Type::int16_t; + n_caste->m_node_type = NodeType::Simple; + n_caste->m_address = base + offset; + n_caste->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_caste); + + field_name = "skills"; + auto n_skills = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::setup_character_info, field_name)); + n_skills->m_field_name = field_name; + n_skills->m_df_type = DF_Type::skill_rating; + n_skills->m_rdf_type = RDF_Type::Array; + n_skills->m_node_type = NodeType::Array; + n_skills->m_index_enum = DF_Type::job_skill; + n_skills->m_enum_base = enum_base_type(n_skills->m_df_type); + n_skills->m_defined_in = "df.units.xml"; + n_skills->m_addornements = "[135"; + n_skills->m_array_size = 135; + n_skills->m_address = base + offset; + n_skills->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_skills); + + field_name = "entity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::setup_character_info, field_name)); + auto n_entity = new NodeSimple; + n_entity->m_field_name = field_name; + n_entity->m_df_type = DF_Type::int32_t; + n_entity->m_rdf_type = RDF_Type::int32_t; + n_entity->m_node_type = NodeType::Simple; + n_entity->m_address = base + offset; + n_entity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity); + + field_name = "histfig"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::setup_character_info, field_name)); + auto n_histfig = new NodeSimple; + n_histfig->m_field_name = field_name; + n_histfig->m_df_type = DF_Type::int32_t; + n_histfig->m_rdf_type = RDF_Type::int32_t; + n_histfig->m_node_type = NodeType::Simple; + n_histfig->m_address = base + offset; + n_histfig->m_refers_to = "$global.world.nemesis.all[$]"; + n_histfig->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig); + + field_name = "unk_284"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::setup_character_info, field_name)); + auto n_unk_284 = new NodeSimple; + n_unk_284->m_field_name = field_name; + n_unk_284->m_df_type = DF_Type::int32_t; + n_unk_284->m_rdf_type = RDF_Type::int32_t; + n_unk_284->m_node_type = NodeType::Simple; + n_unk_284->m_address = base + offset; + n_unk_284->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_284); + + field_name = "cultural_identity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::setup_character_info, field_name)); + auto n_cultural_identity = new NodeSimple; + n_cultural_identity->m_field_name = field_name; + n_cultural_identity->m_df_type = DF_Type::int32_t; + n_cultural_identity->m_rdf_type = RDF_Type::int32_t; + n_cultural_identity->m_node_type = NodeType::Simple; + n_cultural_identity->m_address = base + offset; + n_cultural_identity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cultural_identity); + + field_name = "unk_28c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::setup_character_info, field_name)); + auto n_unk_28c = new NodeSimple; + n_unk_28c->m_field_name = field_name; + n_unk_28c->m_df_type = DF_Type::int16_t; + n_unk_28c->m_rdf_type = RDF_Type::int16_t; + n_unk_28c->m_node_type = NodeType::Simple; + n_unk_28c->m_address = base + offset; + n_unk_28c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_28c); + + field_name = "unk_290"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::setup_character_info, field_name)); + auto n_unk_290 = new NodeSimple; + n_unk_290->m_field_name = field_name; + n_unk_290->m_df_type = DF_Type::int32_t; + n_unk_290->m_rdf_type = RDF_Type::int32_t; + n_unk_290->m_node_type = NodeType::Simple; + n_unk_290->m_address = base + offset; + n_unk_290->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_290); + + field_name = "unk_294"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::setup_character_info, field_name)); + auto n_unk_294 = new NodeSimple; + n_unk_294->m_field_name = field_name; + n_unk_294->m_df_type = DF_Type::int32_t; + n_unk_294->m_rdf_type = RDF_Type::int32_t; + n_unk_294->m_node_type = NodeType::Simple; + n_unk_294->m_address = base + offset; + n_unk_294->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_294); + + field_name = "skill_points_remaining"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::setup_character_info, field_name)); + auto n_skill_points_remaining = new NodeSimple; + n_skill_points_remaining->m_field_name = field_name; + n_skill_points_remaining->m_df_type = DF_Type::int16_t; + n_skill_points_remaining->m_rdf_type = RDF_Type::int16_t; + n_skill_points_remaining->m_node_type = NodeType::Simple; + n_skill_points_remaining->m_address = base + offset; + n_skill_points_remaining->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_skill_points_remaining); + + field_name = "physical_levels"; + auto n_physical_levels = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::setup_character_info, field_name)); + n_physical_levels->m_field_name = field_name; + n_physical_levels->m_df_type = DF_Type::adventurer_attribute_level; + n_physical_levels->m_rdf_type = RDF_Type::Array; + n_physical_levels->m_node_type = NodeType::Array; + n_physical_levels->m_index_enum = DF_Type::physical_attribute_type; + n_physical_levels->m_enum_base = enum_base_type(n_physical_levels->m_df_type); + n_physical_levels->m_defined_in = "df.viewscreen.xml"; + n_physical_levels->m_addornements = "[6"; + n_physical_levels->m_array_size = 6; + n_physical_levels->m_address = base + offset; + n_physical_levels->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_physical_levels); + + field_name = "mental_levels"; + auto n_mental_levels = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::setup_character_info, field_name)); + n_mental_levels->m_field_name = field_name; + n_mental_levels->m_df_type = DF_Type::adventurer_attribute_level; + n_mental_levels->m_rdf_type = RDF_Type::Array; + n_mental_levels->m_node_type = NodeType::Array; + n_mental_levels->m_index_enum = DF_Type::mental_attribute_type; + n_mental_levels->m_enum_base = enum_base_type(n_mental_levels->m_df_type); + n_mental_levels->m_defined_in = "df.viewscreen.xml"; + n_mental_levels->m_addornements = "[13"; + n_mental_levels->m_array_size = 13; + n_mental_levels->m_address = base + offset; + n_mental_levels->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mental_levels); + + field_name = "status"; + auto n_status = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::setup_character_info, field_name)); + n_status->m_field_name = field_name; + n_status->m_df_type = DF_Type::setup_character_info__T_status; + n_status->m_rdf_type = RDF_Type::Enum; + n_status->m_node_type = NodeType::Enum; + n_status->m_base_type = DF_Type::int16_t; + n_status->m_enum_type = "setup_character_info::T_status"; + n_status->m_address = base + offset; + n_status->m_first_value = 0; + n_status->m_last_value = 2; + n_status->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_status); + + field_name = "commander_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::setup_character_info, field_name)); + auto n_commander_id = new NodeSimple; + n_commander_id->m_field_name = field_name; + n_commander_id->m_df_type = DF_Type::int32_t; + n_commander_id->m_rdf_type = RDF_Type::int32_t; + n_commander_id->m_node_type = NodeType::Simple; + n_commander_id->m_address = base + offset; + n_commander_id->m_comment = "-1 is peasant"; + n_commander_id->m_refers_to = "$(find-entity $(find-instance $world_site $$._parent.site_id).cur_owner_id).positions.assignments[$]"; + n_commander_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_commander_id); + + field_name = "site_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::setup_character_info, field_name)); + auto n_site_id = new NodeSimple; + n_site_id->m_field_name = field_name; + n_site_id->m_df_type = DF_Type::int32_t; + n_site_id->m_rdf_type = RDF_Type::int32_t; + n_site_id->m_node_type = NodeType::Simple; + n_site_id->m_address = base + offset; + n_site_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_id); + + field_name = "deity_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::setup_character_info, field_name)); + auto n_deity_id = new NodeSimple; + n_deity_id->m_field_name = field_name; + n_deity_id->m_df_type = DF_Type::int32_t; + n_deity_id->m_rdf_type = RDF_Type::int32_t; + n_deity_id->m_node_type = NodeType::Simple; + n_deity_id->m_address = base + offset; + n_deity_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_deity_id); + + field_name = "belief_strength"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::setup_character_info, field_name)); + auto n_belief_strength = new NodeSimple; + n_belief_strength->m_field_name = field_name; + n_belief_strength->m_df_type = DF_Type::int32_t; + n_belief_strength->m_rdf_type = RDF_Type::int32_t; + n_belief_strength->m_node_type = NodeType::Simple; + n_belief_strength->m_address = base + offset; + n_belief_strength->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_belief_strength); + + field_name = "appearance"; + auto n_appearance = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::setup_character_info, field_name)); + n_appearance->m_field_name = field_name; + n_appearance->m_df_type = DF_Type::unit_appearance; + n_appearance->m_rdf_type = RDF_Type::Struct; + n_appearance->m_node_type = NodeType::Compound; + n_appearance->m_address = base + offset; + n_appearance->m_defined_in = "df.units.xml"; + n_appearance->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_appearance); + + field_name = "birth_year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::setup_character_info, field_name)); + auto n_birth_year = new NodeSimple; + n_birth_year->m_field_name = field_name; + n_birth_year->m_df_type = DF_Type::int32_t; + n_birth_year->m_rdf_type = RDF_Type::int32_t; + n_birth_year->m_node_type = NodeType::Simple; + n_birth_year->m_address = base + offset; + n_birth_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_birth_year); + + field_name = "birth_tick"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::setup_character_info, field_name)); + auto n_birth_tick = new NodeSimple; + n_birth_tick->m_field_name = field_name; + n_birth_tick->m_df_type = DF_Type::int32_t; + n_birth_tick->m_rdf_type = RDF_Type::int32_t; + n_birth_tick->m_node_type = NodeType::Simple; + n_birth_tick->m_address = base + offset; + n_birth_tick->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_birth_tick); + + field_name = "old_year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::setup_character_info, field_name)); + auto n_old_year = new NodeSimple; + n_old_year->m_field_name = field_name; + n_old_year->m_df_type = DF_Type::int32_t; + n_old_year->m_rdf_type = RDF_Type::int32_t; + n_old_year->m_node_type = NodeType::Simple; + n_old_year->m_address = base + offset; + n_old_year->m_comment = "-1 for immortals"; + n_old_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_old_year); + + field_name = "old_tick"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::setup_character_info, field_name)); + auto n_old_tick = new NodeSimple; + n_old_tick->m_field_name = field_name; + n_old_tick->m_df_type = DF_Type::int32_t; + n_old_tick->m_rdf_type = RDF_Type::int32_t; + n_old_tick->m_node_type = NodeType::Simple; + n_old_tick->m_address = base + offset; + n_old_tick->m_comment = "-1 for immortals"; + n_old_tick->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_old_tick); + + field_name = "personality"; + auto n_personality = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::setup_character_info, field_name)); + n_personality->m_field_name = field_name; + n_personality->m_df_type = DF_Type::unit_personality; + n_personality->m_rdf_type = RDF_Type::Struct; + n_personality->m_node_type = NodeType::Compound; + n_personality->m_address = base + offset; + n_personality->m_defined_in = "df.units.xml"; + n_personality->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_personality); + + field_name = "unk_26_k"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::setup_character_info, field_name)); + auto n_unk_26_k = new NodeSimple; + n_unk_26_k->m_field_name = field_name; + n_unk_26_k->m_df_type = DF_Type::int8_t; + n_unk_26_k->m_rdf_type = RDF_Type::int8_t; + n_unk_26_k->m_node_type = NodeType::Simple; + n_unk_26_k->m_address = base + offset; + n_unk_26_k->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_26_k); + +} +void node_from_viewscreen_setupadventurest__T_races_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "race"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest__T_races_info, field_name)); + auto n_race = new NodeSimple; + n_race->m_field_name = field_name; + n_race->m_df_type = DF_Type::int32_t; + n_race->m_rdf_type = RDF_Type::int32_t; + n_race->m_node_type = NodeType::Simple; + n_race->m_address = base + offset; + n_race->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_race); + + field_name = "entity_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest__T_races_info, field_name)); + auto n_entity_id = new NodeSimple; + n_entity_id->m_field_name = field_name; + n_entity_id->m_df_type = DF_Type::int32_t; + n_entity_id->m_rdf_type = RDF_Type::int32_t; + n_entity_id->m_node_type = NodeType::Simple; + n_entity_id->m_address = base + offset; + n_entity_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity_id); + + field_name = "unk_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest__T_races_info, field_name)); + auto n_unk_2 = new NodeSimple; + n_unk_2->m_field_name = field_name; + n_unk_2->m_df_type = DF_Type::Bool; + n_unk_2->m_rdf_type = RDF_Type::Bool; + n_unk_2->m_node_type = NodeType::Simple; + n_unk_2->m_address = base + offset; + n_unk_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_2); + + field_name = "unk_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest__T_races_info, field_name)); + auto n_unk_3 = new NodeSimple; + n_unk_3->m_field_name = field_name; + n_unk_3->m_df_type = DF_Type::int16_t; + n_unk_3->m_rdf_type = RDF_Type::int16_t; + n_unk_3->m_node_type = NodeType::Simple; + n_unk_3->m_address = base + offset; + n_unk_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_3); + + field_name = "playable"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest__T_races_info, field_name)); + auto n_playable = new NodeSimple; + n_playable->m_field_name = field_name; + n_playable->m_df_type = DF_Type::Bool; + n_playable->m_rdf_type = RDF_Type::Bool; + n_playable->m_node_type = NodeType::Simple; + n_playable->m_address = base + offset; + n_playable->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_playable); + +} +void node_from_viewscreen_setupadventurest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "page"; + auto n_page = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); + n_page->m_field_name = field_name; + n_page->m_df_type = DF_Type::viewscreen_setupadventurest__T_page; + n_page->m_rdf_type = RDF_Type::Enum; + n_page->m_node_type = NodeType::Enum; + n_page->m_base_type = DF_Type::int32_t; + n_page->m_enum_type = "viewscreen_setupadventurest::T_page"; + n_page->m_address = base + offset; + n_page->m_first_value = 0; + n_page->m_last_value = 7; + n_page->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_page); + + field_name = "races_info"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); + auto n_races_info = new NodeVector; + n_races_info->m_field_name = field_name; + n_races_info->m_df_type = DF_Type::viewscreen_setupadventurest__T_races_info; + n_races_info->m_rdf_type = RDF_Type::Vector; + n_races_info->m_node_type = NodeType::Vector; + n_races_info->m_addornements = "v*"; + n_races_info->m_address = base + offset; + n_races_info->m_parent = p_node_parent; + n_races_info->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_races_info); + + field_name = "adventurer"; + auto n_adventurer = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); + n_adventurer->m_field_name = field_name; + n_adventurer->m_df_type = DF_Type::setup_character_info; + n_adventurer->m_rdf_type = RDF_Type::Struct; + n_adventurer->m_node_type = NodeType::Compound; + n_adventurer->m_address = base + offset; + n_adventurer->m_defined_in = "df.viewscreen.xml"; + n_adventurer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_adventurer); + + field_name = "race_ids"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); + auto n_race_ids = new NodeVector; + n_race_ids->m_field_name = field_name; + n_race_ids->m_df_type = DF_Type::int32_t; + n_race_ids->m_rdf_type = RDF_Type::Vector; + n_race_ids->m_node_type = NodeType::Vector; + n_race_ids->m_addornements = "v"; + n_race_ids->m_address = base + offset; + n_race_ids->m_parent = p_node_parent; + n_race_ids->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_race_ids); + + field_name = "highlighted_entity_ids"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); + auto n_highlighted_entity_ids = new NodeVector; + n_highlighted_entity_ids->m_field_name = field_name; + n_highlighted_entity_ids->m_df_type = DF_Type::int32_t; + n_highlighted_entity_ids->m_rdf_type = RDF_Type::Vector; + n_highlighted_entity_ids->m_node_type = NodeType::Vector; + n_highlighted_entity_ids->m_addornements = "v"; + n_highlighted_entity_ids->m_address = base + offset; + n_highlighted_entity_ids->m_parent = p_node_parent; + n_highlighted_entity_ids->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_highlighted_entity_ids); + + field_name = "race_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); + auto n_race_idx = new NodeSimple; + n_race_idx->m_field_name = field_name; + n_race_idx->m_df_type = DF_Type::int32_t; + n_race_idx->m_rdf_type = RDF_Type::int32_t; + n_race_idx->m_node_type = NodeType::Simple; + n_race_idx->m_address = base + offset; + n_race_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_race_idx); + + field_name = "wild_creature_ids"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); + auto n_wild_creature_ids = new NodeVector; + n_wild_creature_ids->m_field_name = field_name; + n_wild_creature_ids->m_df_type = DF_Type::int32_t; + n_wild_creature_ids->m_rdf_type = RDF_Type::Vector; + n_wild_creature_ids->m_node_type = NodeType::Vector; + n_wild_creature_ids->m_addornements = "v"; + n_wild_creature_ids->m_address = base + offset; + n_wild_creature_ids->m_parent = p_node_parent; + n_wild_creature_ids->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_wild_creature_ids); + + field_name = "wild_creature_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); + auto n_wild_creature_idx = new NodeSimple; + n_wild_creature_idx->m_field_name = field_name; + n_wild_creature_idx->m_df_type = DF_Type::int32_t; + n_wild_creature_idx->m_rdf_type = RDF_Type::int32_t; + n_wild_creature_idx->m_node_type = NodeType::Simple; + n_wild_creature_idx->m_address = base + offset; + n_wild_creature_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_wild_creature_idx); + + field_name = "nemesis_ids"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); + auto n_nemesis_ids = new NodeVector; + n_nemesis_ids->m_field_name = field_name; + n_nemesis_ids->m_df_type = DF_Type::int32_t; + n_nemesis_ids->m_rdf_type = RDF_Type::Vector; + n_nemesis_ids->m_node_type = NodeType::Vector; + n_nemesis_ids->m_addornements = "v"; + n_nemesis_ids->m_address = base + offset; + n_nemesis_ids->m_refers_to = "$global.world.nemesis.all[$]"; + n_nemesis_ids->m_parent = p_node_parent; + n_nemesis_ids->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_nemesis_ids); + + field_name = "nemesis_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); + auto n_nemesis_idx = new NodeSimple; + n_nemesis_idx->m_field_name = field_name; + n_nemesis_idx->m_df_type = DF_Type::int32_t; + n_nemesis_idx->m_rdf_type = RDF_Type::int32_t; + n_nemesis_idx->m_node_type = NodeType::Simple; + n_nemesis_idx->m_address = base + offset; + n_nemesis_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_nemesis_idx); + + field_name = "home_entity_ids"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); + auto n_home_entity_ids = new NodeVector; + n_home_entity_ids->m_field_name = field_name; + n_home_entity_ids->m_df_type = DF_Type::int32_t; + n_home_entity_ids->m_rdf_type = RDF_Type::Vector; + n_home_entity_ids->m_node_type = NodeType::Vector; + n_home_entity_ids->m_addornements = "v"; + n_home_entity_ids->m_address = base + offset; + n_home_entity_ids->m_parent = p_node_parent; + n_home_entity_ids->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_home_entity_ids); + + field_name = "home_entity_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); + auto n_home_entity_idx = new NodeSimple; + n_home_entity_idx->m_field_name = field_name; + n_home_entity_idx->m_df_type = DF_Type::int32_t; + n_home_entity_idx->m_rdf_type = RDF_Type::int32_t; + n_home_entity_idx->m_node_type = NodeType::Simple; + n_home_entity_idx->m_address = base + offset; + n_home_entity_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_home_entity_idx); + + field_name = "sel_trait_column"; + auto n_sel_trait_column = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); + n_sel_trait_column->m_field_name = field_name; + n_sel_trait_column->m_df_type = DF_Type::viewscreen_setupadventurest__T_sel_trait_column; + n_sel_trait_column->m_rdf_type = RDF_Type::Enum; + n_sel_trait_column->m_node_type = NodeType::Enum; + n_sel_trait_column->m_base_type = DF_Type::int8_t; + n_sel_trait_column->m_enum_type = "viewscreen_setupadventurest::T_sel_trait_column"; + n_sel_trait_column->m_address = base + offset; + n_sel_trait_column->m_first_value = 0; + n_sel_trait_column->m_last_value = 1; + n_sel_trait_column->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sel_trait_column); + + field_name = "attribute_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); + auto n_attribute_idx = new NodeSimple; + n_attribute_idx->m_field_name = field_name; + n_attribute_idx->m_df_type = DF_Type::int32_t; + n_attribute_idx->m_rdf_type = RDF_Type::int32_t; + n_attribute_idx->m_node_type = NodeType::Simple; + n_attribute_idx->m_address = base + offset; + n_attribute_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_attribute_idx); + + field_name = "attribute_points_remaining"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); + auto n_attribute_points_remaining = new NodeSimple; + n_attribute_points_remaining->m_field_name = field_name; + n_attribute_points_remaining->m_df_type = DF_Type::int32_t; + n_attribute_points_remaining->m_rdf_type = RDF_Type::int32_t; + n_attribute_points_remaining->m_node_type = NodeType::Simple; + n_attribute_points_remaining->m_address = base + offset; + n_attribute_points_remaining->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_attribute_points_remaining); + + field_name = "skill_list"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); + auto n_skill_list = new NodeVector; + n_skill_list->m_field_name = field_name; + n_skill_list->m_df_type = DF_Type::job_skill; + n_skill_list->m_rdf_type = RDF_Type::Vector; + n_skill_list->m_node_type = NodeType::Vector; + n_skill_list->m_enum_base = DF_Type::int16_t; + n_skill_list->m_defined_in = "df.skills.xml"; + n_skill_list->m_addornements = "v"; + n_skill_list->m_address = base + offset; + n_skill_list->m_parent = p_node_parent; + n_skill_list->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_skill_list); + + field_name = "skill_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); + auto n_skill_idx = new NodeSimple; + n_skill_idx->m_field_name = field_name; + n_skill_idx->m_df_type = DF_Type::int32_t; + n_skill_idx->m_rdf_type = RDF_Type::int32_t; + n_skill_idx->m_node_type = NodeType::Simple; + n_skill_idx->m_address = base + offset; + n_skill_idx->m_refers_to = "$$._parent.skill_list[$]"; + n_skill_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_skill_idx); + + field_name = "skill_points_remaining"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); + auto n_skill_points_remaining = new NodeSimple; + n_skill_points_remaining->m_field_name = field_name; + n_skill_points_remaining->m_df_type = DF_Type::int32_t; + n_skill_points_remaining->m_rdf_type = RDF_Type::int32_t; + n_skill_points_remaining->m_node_type = NodeType::Simple; + n_skill_points_remaining->m_address = base + offset; + n_skill_points_remaining->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_skill_points_remaining); + + field_name = "in_edit_first_name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); + auto n_in_edit_first_name = new NodeSimple; + n_in_edit_first_name->m_field_name = field_name; + n_in_edit_first_name->m_df_type = DF_Type::Bool; + n_in_edit_first_name->m_rdf_type = RDF_Type::Bool; + n_in_edit_first_name->m_node_type = NodeType::Simple; + n_in_edit_first_name->m_address = base + offset; + n_in_edit_first_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_in_edit_first_name); + + field_name = "saved_first_name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); + auto n_saved_first_name = new NodeSimple; + n_saved_first_name->m_field_name = field_name; + n_saved_first_name->m_df_type = DF_Type::Stl_string; + n_saved_first_name->m_rdf_type = RDF_Type::Stl_string; + n_saved_first_name->m_node_type = NodeType::Simple; + n_saved_first_name->m_address = base + offset; + n_saved_first_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_saved_first_name); + + field_name = "background_lines"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); + auto n_background_lines = new NodeVector; + n_background_lines->m_field_name = field_name; + n_background_lines->m_df_type = DF_Type::Stl_string; + n_background_lines->m_rdf_type = RDF_Type::Vector; + n_background_lines->m_node_type = NodeType::Vector; + n_background_lines->m_addornements = "v*"; + n_background_lines->m_address = base + offset; + n_background_lines->m_parent = p_node_parent; + n_background_lines->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_background_lines); + + field_name = "sites"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); + auto n_sites = new NodeVector; + n_sites->m_field_name = field_name; + n_sites->m_df_type = DF_Type::world_site; + n_sites->m_rdf_type = RDF_Type::Vector; + n_sites->m_node_type = NodeType::Vector; + n_sites->m_defined_in = "df.world-site.xml"; + n_sites->m_addornements = "v*"; + n_sites->m_address = base + offset; + n_sites->m_parent = p_node_parent; + n_sites->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_sites); + + field_name = "background_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); + auto n_background_type = new NodeVector; + n_background_type->m_field_name = field_name; + n_background_type->m_df_type = DF_Type::viewscreen_setupadventurest__T_background_type; + n_background_type->m_rdf_type = RDF_Type::Vector; + n_background_type->m_node_type = NodeType::Vector; + n_background_type->m_enum_base = DF_Type::int32_t; + n_background_type->m_addornements = "v"; + n_background_type->m_address = base + offset; + n_background_type->m_parent = p_node_parent; + n_background_type->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_background_type); + + field_name = "background_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); + auto n_background_idx = new NodeSimple; + n_background_idx->m_field_name = field_name; + n_background_idx->m_df_type = DF_Type::int32_t; + n_background_idx->m_rdf_type = RDF_Type::int32_t; + n_background_idx->m_node_type = NodeType::Simple; + n_background_idx->m_address = base + offset; + n_background_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_background_idx); + + field_name = "allowed_castes"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); + auto n_allowed_castes = new NodeVector; + n_allowed_castes->m_field_name = field_name; + n_allowed_castes->m_df_type = DF_Type::int32_t; + n_allowed_castes->m_rdf_type = RDF_Type::Vector; + n_allowed_castes->m_node_type = NodeType::Vector; + n_allowed_castes->m_addornements = "v"; + n_allowed_castes->m_address = base + offset; + n_allowed_castes->m_parent = p_node_parent; + n_allowed_castes->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_allowed_castes); + + field_name = "description_lines"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); + auto n_description_lines = new NodeVector; + n_description_lines->m_field_name = field_name; + n_description_lines->m_df_type = DF_Type::Stl_string; + n_description_lines->m_rdf_type = RDF_Type::Vector; + n_description_lines->m_node_type = NodeType::Vector; + n_description_lines->m_addornements = "v*"; + n_description_lines->m_address = base + offset; + n_description_lines->m_parent = p_node_parent; + n_description_lines->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_description_lines); + + field_name = "thoughts_pos"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); + auto n_thoughts_pos = new NodeSimple; + n_thoughts_pos->m_field_name = field_name; + n_thoughts_pos->m_df_type = DF_Type::int32_t; + n_thoughts_pos->m_rdf_type = RDF_Type::int32_t; + n_thoughts_pos->m_node_type = NodeType::Simple; + n_thoughts_pos->m_address = base + offset; + n_thoughts_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_thoughts_pos); + + field_name = "thoughts_lines_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); + auto n_thoughts_lines_1 = new NodeVector; + n_thoughts_lines_1->m_field_name = field_name; + n_thoughts_lines_1->m_df_type = DF_Type::Stl_string; + n_thoughts_lines_1->m_rdf_type = RDF_Type::Vector; + n_thoughts_lines_1->m_node_type = NodeType::Vector; + n_thoughts_lines_1->m_addornements = "v*"; + n_thoughts_lines_1->m_address = base + offset; + n_thoughts_lines_1->m_parent = p_node_parent; + n_thoughts_lines_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_thoughts_lines_1); + + field_name = "thoughts_lines_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); + auto n_thoughts_lines_2 = new NodeVector; + n_thoughts_lines_2->m_field_name = field_name; + n_thoughts_lines_2->m_df_type = DF_Type::Stl_string; + n_thoughts_lines_2->m_rdf_type = RDF_Type::Vector; + n_thoughts_lines_2->m_node_type = NodeType::Vector; + n_thoughts_lines_2->m_addornements = "v*"; + n_thoughts_lines_2->m_address = base + offset; + n_thoughts_lines_2->m_parent = p_node_parent; + n_thoughts_lines_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_thoughts_lines_2); + + field_name = "thoughts_lines_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); + auto n_thoughts_lines_3 = new NodeVector; + n_thoughts_lines_3->m_field_name = field_name; + n_thoughts_lines_3->m_df_type = DF_Type::Stl_string; + n_thoughts_lines_3->m_rdf_type = RDF_Type::Vector; + n_thoughts_lines_3->m_node_type = NodeType::Vector; + n_thoughts_lines_3->m_addornements = "v*"; + n_thoughts_lines_3->m_address = base + offset; + n_thoughts_lines_3->m_parent = p_node_parent; + n_thoughts_lines_3->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_thoughts_lines_3); + + field_name = "in_customize_values"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); + auto n_in_customize_values = new NodeSimple; + n_in_customize_values->m_field_name = field_name; + n_in_customize_values->m_df_type = DF_Type::Bool; + n_in_customize_values->m_rdf_type = RDF_Type::Bool; + n_in_customize_values->m_node_type = NodeType::Simple; + n_in_customize_values->m_address = base + offset; + n_in_customize_values->m_comment = "only valid in page MentalTraits"; + n_in_customize_values->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_in_customize_values); + + field_name = "values_pos"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); + auto n_values_pos = new NodeSimple; + n_values_pos->m_field_name = field_name; + n_values_pos->m_df_type = DF_Type::int32_t; + n_values_pos->m_rdf_type = RDF_Type::int32_t; + n_values_pos->m_node_type = NodeType::Simple; + n_values_pos->m_address = base + offset; + n_values_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_values_pos); + + field_name = "personality_facets_min"; + auto n_personality_facets_min = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); + n_personality_facets_min->m_field_name = field_name; + n_personality_facets_min->m_df_type = DF_Type::int16_t; + n_personality_facets_min->m_rdf_type = RDF_Type::Array; + n_personality_facets_min->m_node_type = NodeType::Array; + n_personality_facets_min->m_index_enum = DF_Type::personality_facet_type; + n_personality_facets_min->m_addornements = "[50"; + n_personality_facets_min->m_array_size = 50; + n_personality_facets_min->m_address = base + offset; + n_personality_facets_min->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_personality_facets_min); + + field_name = "personality_facets_max"; + auto n_personality_facets_max = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); + n_personality_facets_max->m_field_name = field_name; + n_personality_facets_max->m_df_type = DF_Type::int16_t; + n_personality_facets_max->m_rdf_type = RDF_Type::Array; + n_personality_facets_max->m_node_type = NodeType::Array; + n_personality_facets_max->m_index_enum = DF_Type::personality_facet_type; + n_personality_facets_max->m_addornements = "[50"; + n_personality_facets_max->m_array_size = 50; + n_personality_facets_max->m_address = base + offset; + n_personality_facets_max->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_personality_facets_max); + + field_name = "values_cultural_defaults"; + auto n_values_cultural_defaults = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupadventurest, field_name)); + n_values_cultural_defaults->m_field_name = field_name; + n_values_cultural_defaults->m_df_type = DF_Type::int32_t; + n_values_cultural_defaults->m_rdf_type = RDF_Type::Array; + n_values_cultural_defaults->m_node_type = NodeType::Array; + n_values_cultural_defaults->m_addornements = "[33"; + n_values_cultural_defaults->m_array_size = 33; + n_values_cultural_defaults->m_address = base + offset; + n_values_cultural_defaults->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_values_cultural_defaults); + +} +void node_from_embark_item_choice__T_list(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "item_type"; + auto n_item_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_item_choice__T_list, field_name)); + n_item_type->m_field_name = field_name; + n_item_type->m_df_type = DF_Type::item_type; + n_item_type->m_rdf_type = RDF_Type::Enum; + n_item_type->m_node_type = NodeType::Enum; + n_item_type->m_base_type = DF_Type::int16_t; + n_item_type->m_enum_type = "item_type"; + n_item_type->m_address = base + offset; + n_item_type->m_defined_in = "df.item-raws.xml"; + n_item_type->m_first_value = -1; + n_item_type->m_last_value = 90; + n_item_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_type); + + field_name = "item_subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_item_choice__T_list, field_name)); + auto n_item_subtype = new NodeSimple; + n_item_subtype->m_field_name = field_name; + n_item_subtype->m_df_type = DF_Type::int16_t; + n_item_subtype->m_rdf_type = RDF_Type::int16_t; + n_item_subtype->m_node_type = NodeType::Simple; + n_item_subtype->m_address = base + offset; + n_item_subtype->m_refers_to = "(item-subtype-target $$._parent.item_type $)"; + n_item_subtype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_subtype); + + field_name = "mattype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_item_choice__T_list, field_name)); + auto n_mattype = new NodeSimple; + n_mattype->m_field_name = field_name; + n_mattype->m_df_type = DF_Type::int16_t; + n_mattype->m_rdf_type = RDF_Type::int16_t; + n_mattype->m_node_type = NodeType::Simple; + n_mattype->m_address = base + offset; + n_mattype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mattype); + + field_name = "matindex"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_item_choice__T_list, field_name)); + auto n_matindex = new NodeSimple; + n_matindex->m_field_name = field_name; + n_matindex->m_df_type = DF_Type::int32_t; + n_matindex->m_rdf_type = RDF_Type::int32_t; + n_matindex->m_node_type = NodeType::Simple; + n_matindex->m_address = base + offset; + n_matindex->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_matindex); + + field_name = "unk_c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_item_choice__T_list, field_name)); + auto n_unk_c = new NodeSimple; + n_unk_c->m_field_name = field_name; + n_unk_c->m_df_type = DF_Type::int8_t; + n_unk_c->m_rdf_type = RDF_Type::int8_t; + n_unk_c->m_node_type = NodeType::Simple; + n_unk_c->m_address = base + offset; + n_unk_c->m_comment = "1 if new, -1 if added"; + n_unk_c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_c); + +} +void node_from_embark_item_choice(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "list"; + auto n_list = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_item_choice, field_name)); + n_list->m_field_name = field_name; + n_list->m_df_type = DF_Type::embark_item_choice__T_list; + n_list->m_rdf_type = RDF_Type::Array; + n_list->m_node_type = NodeType::Array; + n_list->m_index_enum = DF_Type::entity_sell_category; + n_list->m_addornements = "[107v*"; + n_list->m_array_size = 107; + n_list->m_address = base + offset; + n_list->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_list); + +} +void node_from_embark_profile(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_profile, field_name)); + auto n_name = new NodeSimple; + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Stl_string; + n_name->m_node_type = NodeType::Simple; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "skill_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_profile, field_name)); + auto n_skill_type = new NodeVector; + n_skill_type->m_field_name = field_name; + n_skill_type->m_df_type = DF_Type::int16_t; + n_skill_type->m_rdf_type = RDF_Type::Vector; + n_skill_type->m_node_type = NodeType::Vector; + n_skill_type->m_addornements = "v"; + n_skill_type->m_address = base + offset; + n_skill_type->m_parent = p_node_parent; + n_skill_type->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_skill_type); + + field_name = "skill_dwarf_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_profile, field_name)); + auto n_skill_dwarf_idx = new NodeVector; + n_skill_dwarf_idx->m_field_name = field_name; + n_skill_dwarf_idx->m_df_type = DF_Type::int16_t; + n_skill_dwarf_idx->m_rdf_type = RDF_Type::Vector; + n_skill_dwarf_idx->m_node_type = NodeType::Vector; + n_skill_dwarf_idx->m_addornements = "v"; + n_skill_dwarf_idx->m_address = base + offset; + n_skill_dwarf_idx->m_parent = p_node_parent; + n_skill_dwarf_idx->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_skill_dwarf_idx); + + field_name = "skill_level"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_profile, field_name)); + auto n_skill_level = new NodeVector; + n_skill_level->m_field_name = field_name; + n_skill_level->m_df_type = DF_Type::int16_t; + n_skill_level->m_rdf_type = RDF_Type::Vector; + n_skill_level->m_node_type = NodeType::Vector; + n_skill_level->m_addornements = "v"; + n_skill_level->m_address = base + offset; + n_skill_level->m_parent = p_node_parent; + n_skill_level->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_skill_level); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_profile, field_name)); + auto n_anon_1 = new NodeVector; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::Vector; + n_anon_1->m_node_type = NodeType::Vector; + n_anon_1->m_addornements = "v"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_profile, field_name)); + auto n_anon_2 = new NodeVector; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::Vector; + n_anon_2->m_node_type = NodeType::Vector; + n_anon_2->m_addornements = "v"; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + n_anon_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_profile, field_name)); + auto n_anon_3 = new NodeVector; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int16_t; + n_anon_3->m_rdf_type = RDF_Type::Vector; + n_anon_3->m_node_type = NodeType::Vector; + n_anon_3->m_addornements = "v"; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + n_anon_3->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "item_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_profile, field_name)); + auto n_item_type = new NodeVector; + n_item_type->m_field_name = field_name; + n_item_type->m_df_type = DF_Type::int16_t; + n_item_type->m_rdf_type = RDF_Type::Vector; + n_item_type->m_node_type = NodeType::Vector; + n_item_type->m_addornements = "v"; + n_item_type->m_address = base + offset; + n_item_type->m_parent = p_node_parent; + n_item_type->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_item_type); + + field_name = "item_subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_profile, field_name)); + auto n_item_subtype = new NodeVector; + n_item_subtype->m_field_name = field_name; + n_item_subtype->m_df_type = DF_Type::int16_t; + n_item_subtype->m_rdf_type = RDF_Type::Vector; + n_item_subtype->m_node_type = NodeType::Vector; + n_item_subtype->m_addornements = "v"; + n_item_subtype->m_address = base + offset; + n_item_subtype->m_parent = p_node_parent; + n_item_subtype->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_item_subtype); + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_profile, field_name)); + auto n_mat_type = new NodeVector; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::Vector; + n_mat_type->m_node_type = NodeType::Vector; + n_mat_type->m_addornements = "v"; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + n_mat_type->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_info"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_profile, field_name)); + auto n_mat_info = new NodeVector; + n_mat_info->m_field_name = field_name; + n_mat_info->m_df_type = DF_Type::int32_t; + n_mat_info->m_rdf_type = RDF_Type::Vector; + n_mat_info->m_node_type = NodeType::Vector; + n_mat_info->m_addornements = "v"; + n_mat_info->m_address = base + offset; + n_mat_info->m_parent = p_node_parent; + n_mat_info->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_mat_info); + + field_name = "item_count"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_profile, field_name)); + auto n_item_count = new NodeVector; + n_item_count->m_field_name = field_name; + n_item_count->m_df_type = DF_Type::int32_t; + n_item_count->m_rdf_type = RDF_Type::Vector; + n_item_count->m_node_type = NodeType::Vector; + n_item_count->m_addornements = "v"; + n_item_count->m_address = base + offset; + n_item_count->m_parent = p_node_parent; + n_item_count->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_item_count); + + field_name = "race"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_profile, field_name)); + auto n_race = new NodeVector; + n_race->m_field_name = field_name; + n_race->m_df_type = DF_Type::int32_t; + n_race->m_rdf_type = RDF_Type::Vector; + n_race->m_node_type = NodeType::Vector; + n_race->m_addornements = "v"; + n_race->m_address = base + offset; + n_race->m_parent = p_node_parent; + n_race->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_race); + + field_name = "caste"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_profile, field_name)); + auto n_caste = new NodeVector; + n_caste->m_field_name = field_name; + n_caste->m_df_type = DF_Type::int16_t; + n_caste->m_rdf_type = RDF_Type::Vector; + n_caste->m_node_type = NodeType::Vector; + n_caste->m_addornements = "v"; + n_caste->m_address = base + offset; + n_caste->m_parent = p_node_parent; + n_caste->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_caste); + + field_name = "profession"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_profile, field_name)); + auto n_profession = new NodeVector; + n_profession->m_field_name = field_name; + n_profession->m_df_type = DF_Type::profession; + n_profession->m_rdf_type = RDF_Type::Vector; + n_profession->m_node_type = NodeType::Vector; + n_profession->m_enum_base = DF_Type::int16_t; + n_profession->m_defined_in = "df.skills.xml"; + n_profession->m_addornements = "v"; + n_profession->m_address = base + offset; + n_profession->m_parent = p_node_parent; + n_profession->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_profession); + +} +void node_from_viewscreen_setupdwarfgamest__T_animals(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "race"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest__T_animals, field_name)); + auto n_race = new NodeVector; + n_race->m_field_name = field_name; + n_race->m_df_type = DF_Type::int32_t; + n_race->m_rdf_type = RDF_Type::Vector; + n_race->m_node_type = NodeType::Vector; + n_race->m_addornements = "v"; + n_race->m_address = base + offset; + n_race->m_refers_to = "$$._parent.caste[$].ref-target"; + n_race->m_parent = p_node_parent; + n_race->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_race); + + field_name = "caste"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest__T_animals, field_name)); + auto n_caste = new NodeVector; + n_caste->m_field_name = field_name; + n_caste->m_df_type = DF_Type::int16_t; + n_caste->m_rdf_type = RDF_Type::Vector; + n_caste->m_node_type = NodeType::Vector; + n_caste->m_addornements = "v"; + n_caste->m_address = base + offset; + n_caste->m_parent = p_node_parent; + n_caste->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_caste); + + field_name = "profession"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest__T_animals, field_name)); + auto n_profession = new NodeVector; + n_profession->m_field_name = field_name; + n_profession->m_df_type = DF_Type::profession; + n_profession->m_rdf_type = RDF_Type::Vector; + n_profession->m_node_type = NodeType::Vector; + n_profession->m_enum_base = DF_Type::int16_t; + n_profession->m_defined_in = "df.skills.xml"; + n_profession->m_addornements = "v"; + n_profession->m_address = base + offset; + n_profession->m_refers_to = "$$._parent.caste[$].ref-target"; + n_profession->m_parent = p_node_parent; + n_profession->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_profession); + + field_name = "count"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest__T_animals, field_name)); + auto n_count = new NodeVector; + n_count->m_field_name = field_name; + n_count->m_df_type = DF_Type::int16_t; + n_count->m_rdf_type = RDF_Type::Vector; + n_count->m_node_type = NodeType::Vector; + n_count->m_addornements = "v"; + n_count->m_address = base + offset; + n_count->m_refers_to = "$$._parent.caste[$].ref-target"; + n_count->m_parent = p_node_parent; + n_count->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_count); + +} +void node_from_viewscreen_setupdwarfgamest__T_unk_v43__T_unk_v43_sub9(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk_s1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest__T_unk_v43__T_unk_v43_sub9, field_name)); + auto n_unk_s1 = new NodeSimple; + n_unk_s1->m_field_name = field_name; + n_unk_s1->m_df_type = DF_Type::int32_t; + n_unk_s1->m_rdf_type = RDF_Type::int32_t; + n_unk_s1->m_node_type = NodeType::Simple; + n_unk_s1->m_address = base + offset; + n_unk_s1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_s1); + + field_name = "unk_s2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest__T_unk_v43__T_unk_v43_sub9, field_name)); + auto n_unk_s2 = new NodeSimple; + n_unk_s2->m_field_name = field_name; + n_unk_s2->m_df_type = DF_Type::int16_t; + n_unk_s2->m_rdf_type = RDF_Type::int16_t; + n_unk_s2->m_node_type = NodeType::Simple; + n_unk_s2->m_address = base + offset; + n_unk_s2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_s2); + + field_name = "unk_s3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest__T_unk_v43__T_unk_v43_sub9, field_name)); + auto n_unk_s3 = new NodeSimple; + n_unk_s3->m_field_name = field_name; + n_unk_s3->m_df_type = DF_Type::int32_t; + n_unk_s3->m_rdf_type = RDF_Type::int32_t; + n_unk_s3->m_node_type = NodeType::Simple; + n_unk_s3->m_address = base + offset; + n_unk_s3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_s3); + + field_name = "unk_s4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest__T_unk_v43__T_unk_v43_sub9, field_name)); + auto n_unk_s4 = new NodeSimple; + n_unk_s4->m_field_name = field_name; + n_unk_s4->m_df_type = DF_Type::int16_t; + n_unk_s4->m_rdf_type = RDF_Type::int16_t; + n_unk_s4->m_node_type = NodeType::Simple; + n_unk_s4->m_address = base + offset; + n_unk_s4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_s4); + + field_name = "unk_s5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest__T_unk_v43__T_unk_v43_sub9, field_name)); + auto n_unk_s5 = new NodeSimple; + n_unk_s5->m_field_name = field_name; + n_unk_s5->m_df_type = DF_Type::int32_t; + n_unk_s5->m_rdf_type = RDF_Type::int32_t; + n_unk_s5->m_node_type = NodeType::Simple; + n_unk_s5->m_address = base + offset; + n_unk_s5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_s5); + + field_name = "unk_s6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest__T_unk_v43__T_unk_v43_sub9, field_name)); + auto n_unk_s6 = new NodeSimple; + n_unk_s6->m_field_name = field_name; + n_unk_s6->m_df_type = DF_Type::int32_t; + n_unk_s6->m_rdf_type = RDF_Type::int32_t; + n_unk_s6->m_node_type = NodeType::Simple; + n_unk_s6->m_address = base + offset; + n_unk_s6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_s6); + + field_name = "unk_s7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest__T_unk_v43__T_unk_v43_sub9, field_name)); + auto n_unk_s7 = new NodePointer; + n_unk_s7->m_field_name = field_name; + n_unk_s7->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_unk_s7->m_rdf_type = RDF_Type::Pointer; + n_unk_s7->m_node_type = NodeType::Pointer; + n_unk_s7->m_addornements = "*"; + n_unk_s7->m_address = base + offset; + n_unk_s7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_s7); + +} +void node_from_viewscreen_setupdwarfgamest__T_unk_v43(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk_v43_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest__T_unk_v43, field_name)); + auto n_unk_v43_1 = new NodeVector; + n_unk_v43_1->m_field_name = field_name; + n_unk_v43_1->m_df_type = DF_Type::Void; + n_unk_v43_1->m_rdf_type = RDF_Type::Vector; + n_unk_v43_1->m_node_type = NodeType::Vector; + n_unk_v43_1->m_addornements = "v"; + n_unk_v43_1->m_address = base + offset; + n_unk_v43_1->m_parent = p_node_parent; + n_unk_v43_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_v43_1); + + field_name = "unk_v43_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest__T_unk_v43, field_name)); + auto n_unk_v43_2 = new NodeVector; + n_unk_v43_2->m_field_name = field_name; + n_unk_v43_2->m_df_type = DF_Type::Void; + n_unk_v43_2->m_rdf_type = RDF_Type::Vector; + n_unk_v43_2->m_node_type = NodeType::Vector; + n_unk_v43_2->m_addornements = "v"; + n_unk_v43_2->m_address = base + offset; + n_unk_v43_2->m_parent = p_node_parent; + n_unk_v43_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_v43_2); + + field_name = "unk_v43_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest__T_unk_v43, field_name)); + auto n_unk_v43_3 = new NodeSimple; + n_unk_v43_3->m_field_name = field_name; + n_unk_v43_3->m_df_type = DF_Type::int32_t; + n_unk_v43_3->m_rdf_type = RDF_Type::int32_t; + n_unk_v43_3->m_node_type = NodeType::Simple; + n_unk_v43_3->m_address = base + offset; + n_unk_v43_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v43_3); + + field_name = "unk_v43_4"; + auto n_unk_v43_4 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest__T_unk_v43, field_name)); + n_unk_v43_4->m_field_name = field_name; + n_unk_v43_4->m_df_type = DF_Type::language_name; + n_unk_v43_4->m_rdf_type = RDF_Type::Struct; + n_unk_v43_4->m_node_type = NodeType::Compound; + n_unk_v43_4->m_address = base + offset; + n_unk_v43_4->m_defined_in = "df.language.xml"; + n_unk_v43_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v43_4); + + field_name = "unk_v43_sub9"; + auto n_unk_v43_sub9 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest__T_unk_v43, field_name)); + n_unk_v43_sub9->m_field_name = field_name; + n_unk_v43_sub9->m_df_type = DF_Type::viewscreen_setupdwarfgamest__T_unk_v43__T_unk_v43_sub9; + n_unk_v43_sub9->m_rdf_type = RDF_Type::Compound; + n_unk_v43_sub9->m_node_type = NodeType::Compound; + n_unk_v43_sub9->m_address = base + offset; + n_unk_v43_sub9->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v43_sub9); + + field_name = "unk_v43_10"; + auto n_unk_v43_10 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest__T_unk_v43, field_name)); + n_unk_v43_10->m_field_name = field_name; + n_unk_v43_10->m_df_type = DF_Type::int32_t; + n_unk_v43_10->m_rdf_type = RDF_Type::Array; + n_unk_v43_10->m_comment = "uninitialized?"; + n_unk_v43_10->m_node_type = NodeType::Array; + n_unk_v43_10->m_addornements = "[4"; + n_unk_v43_10->m_array_size = 4; + n_unk_v43_10->m_address = base + offset; + n_unk_v43_10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v43_10); + +} +void node_from_viewscreen_setupdwarfgamest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "title"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); + auto n_title= new NodePadding; + n_title->m_field_name = field_name; + n_title->m_df_type = DF_Type::Static_string; + n_title->m_rdf_type = RDF_Type::Static_string; + n_title->m_node_type = NodeType::StaticString; + n_title->m_address = base + offset; + n_title->m_size = 256; + n_title->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_title); + + field_name = "dwarf_info"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); + auto n_dwarf_info = new NodeVector; + n_dwarf_info->m_field_name = field_name; + n_dwarf_info->m_df_type = DF_Type::setup_character_info; + n_dwarf_info->m_rdf_type = RDF_Type::Vector; + n_dwarf_info->m_node_type = NodeType::Vector; + n_dwarf_info->m_defined_in = "df.viewscreen.xml"; + n_dwarf_info->m_addornements = "v*"; + n_dwarf_info->m_address = base + offset; + n_dwarf_info->m_parent = p_node_parent; + n_dwarf_info->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_dwarf_info); + + field_name = "embark_skills"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); + auto n_embark_skills = new NodeVector; + n_embark_skills->m_field_name = field_name; + n_embark_skills->m_df_type = DF_Type::job_skill; + n_embark_skills->m_rdf_type = RDF_Type::Vector; + n_embark_skills->m_node_type = NodeType::Vector; + n_embark_skills->m_enum_base = DF_Type::int16_t; + n_embark_skills->m_defined_in = "df.skills.xml"; + n_embark_skills->m_addornements = "v"; + n_embark_skills->m_address = base + offset; + n_embark_skills->m_parent = p_node_parent; + n_embark_skills->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_embark_skills); + + field_name = "reclaim_professions"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); + auto n_reclaim_professions = new NodeVector; + n_reclaim_professions->m_field_name = field_name; + n_reclaim_professions->m_df_type = DF_Type::profession; + n_reclaim_professions->m_rdf_type = RDF_Type::Vector; + n_reclaim_professions->m_node_type = NodeType::Vector; + n_reclaim_professions->m_enum_base = DF_Type::int16_t; + n_reclaim_professions->m_defined_in = "df.skills.xml"; + n_reclaim_professions->m_addornements = "v"; + n_reclaim_professions->m_address = base + offset; + n_reclaim_professions->m_parent = p_node_parent; + n_reclaim_professions->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_reclaim_professions); + + field_name = "mode"; + auto n_mode = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); + n_mode->m_field_name = field_name; + n_mode->m_df_type = DF_Type::viewscreen_setupdwarfgamest__T_mode; + n_mode->m_rdf_type = RDF_Type::Enum; + n_mode->m_node_type = NodeType::Enum; + n_mode->m_base_type = DF_Type::int32_t; + n_mode->m_enum_type = "viewscreen_setupdwarfgamest::T_mode"; + n_mode->m_address = base + offset; + n_mode->m_first_value = 0; + n_mode->m_last_value = 1; + n_mode->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mode); + + field_name = "dwarf_cursor"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); + auto n_dwarf_cursor = new NodeSimple; + n_dwarf_cursor->m_field_name = field_name; + n_dwarf_cursor->m_df_type = DF_Type::int32_t; + n_dwarf_cursor->m_rdf_type = RDF_Type::int32_t; + n_dwarf_cursor->m_node_type = NodeType::Simple; + n_dwarf_cursor->m_address = base + offset; + n_dwarf_cursor->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dwarf_cursor); + + field_name = "dwarf_page_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); + auto n_dwarf_page_idx = new NodeSimple; + n_dwarf_page_idx->m_field_name = field_name; + n_dwarf_page_idx->m_df_type = DF_Type::int32_t; + n_dwarf_page_idx->m_rdf_type = RDF_Type::int32_t; + n_dwarf_page_idx->m_node_type = NodeType::Simple; + n_dwarf_page_idx->m_address = base + offset; + n_dwarf_page_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dwarf_page_idx); + + field_name = "item_cursor"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); + auto n_item_cursor = new NodeSimple; + n_item_cursor->m_field_name = field_name; + n_item_cursor->m_df_type = DF_Type::int32_t; + n_item_cursor->m_rdf_type = RDF_Type::int32_t; + n_item_cursor->m_node_type = NodeType::Simple; + n_item_cursor->m_address = base + offset; + n_item_cursor->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_cursor); + + field_name = "skill_cursor"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); + auto n_skill_cursor = new NodeSimple; + n_skill_cursor->m_field_name = field_name; + n_skill_cursor->m_df_type = DF_Type::int32_t; + n_skill_cursor->m_rdf_type = RDF_Type::int32_t; + n_skill_cursor->m_node_type = NodeType::Simple; + n_skill_cursor->m_address = base + offset; + n_skill_cursor->m_refers_to = "$$._parent.embark_skills[$]"; + n_skill_cursor->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_skill_cursor); + + field_name = "animal_cursor"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); + auto n_animal_cursor = new NodeSimple; + n_animal_cursor->m_field_name = field_name; + n_animal_cursor->m_df_type = DF_Type::int32_t; + n_animal_cursor->m_rdf_type = RDF_Type::int32_t; + n_animal_cursor->m_node_type = NodeType::Simple; + n_animal_cursor->m_address = base + offset; + n_animal_cursor->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_animal_cursor); + + field_name = "dwarf_column"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); + auto n_dwarf_column = new NodeSimple; + n_dwarf_column->m_field_name = field_name; + n_dwarf_column->m_df_type = DF_Type::int32_t; + n_dwarf_column->m_rdf_type = RDF_Type::int32_t; + n_dwarf_column->m_node_type = NodeType::Simple; + n_dwarf_column->m_address = base + offset; + n_dwarf_column->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dwarf_column); + + field_name = "supply_column"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); + auto n_supply_column = new NodeSimple; + n_supply_column->m_field_name = field_name; + n_supply_column->m_df_type = DF_Type::int32_t; + n_supply_column->m_rdf_type = RDF_Type::int32_t; + n_supply_column->m_node_type = NodeType::Simple; + n_supply_column->m_address = base + offset; + n_supply_column->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_supply_column); + + field_name = "display_row"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); + auto n_display_row = new NodeSimple; + n_display_row->m_field_name = field_name; + n_display_row->m_df_type = DF_Type::int32_t; + n_display_row->m_rdf_type = RDF_Type::int32_t; + n_display_row->m_node_type = NodeType::Simple; + n_display_row->m_address = base + offset; + n_display_row->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_display_row); + + field_name = "show_play_now"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); + auto n_show_play_now = new NodeSimple; + n_show_play_now->m_field_name = field_name; + n_show_play_now->m_df_type = DF_Type::int8_t; + n_show_play_now->m_rdf_type = RDF_Type::int8_t; + n_show_play_now->m_node_type = NodeType::Simple; + n_show_play_now->m_address = base + offset; + n_show_play_now->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_show_play_now); + + field_name = "embark_prompt"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); + auto n_embark_prompt = new NodeSimple; + n_embark_prompt->m_field_name = field_name; + n_embark_prompt->m_df_type = DF_Type::int8_t; + n_embark_prompt->m_rdf_type = RDF_Type::int8_t; + n_embark_prompt->m_node_type = NodeType::Simple; + n_embark_prompt->m_address = base + offset; + n_embark_prompt->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_embark_prompt); + + field_name = "choice_types"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); + auto n_choice_types = new NodeVector; + n_choice_types->m_field_name = field_name; + n_choice_types->m_df_type = DF_Type::viewscreen_setupdwarfgamest__T_choice_types; + n_choice_types->m_rdf_type = RDF_Type::Vector; + n_choice_types->m_node_type = NodeType::Vector; + n_choice_types->m_enum_base = DF_Type::int8_t; + n_choice_types->m_addornements = "v"; + n_choice_types->m_address = base + offset; + n_choice_types->m_parent = p_node_parent; + n_choice_types->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_choice_types); + + field_name = "choices"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); + auto n_choices = new NodeVector; + n_choices->m_field_name = field_name; + n_choices->m_df_type = DF_Type::embark_profile; + n_choices->m_rdf_type = RDF_Type::Vector; + n_choices->m_node_type = NodeType::Vector; + n_choices->m_defined_in = "df.viewscreen.xml"; + n_choices->m_addornements = "v*"; + n_choices->m_address = base + offset; + n_choices->m_parent = p_node_parent; + n_choices->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_choices); + + field_name = "choice"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); + auto n_choice = new NodeSimple; + n_choice->m_field_name = field_name; + n_choice->m_df_type = DF_Type::int32_t; + n_choice->m_rdf_type = RDF_Type::int32_t; + n_choice->m_node_type = NodeType::Simple; + n_choice->m_address = base + offset; + n_choice->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_choice); + + field_name = "profile_name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); + auto n_profile_name = new NodeSimple; + n_profile_name->m_field_name = field_name; + n_profile_name->m_df_type = DF_Type::Stl_string; + n_profile_name->m_rdf_type = RDF_Type::Stl_string; + n_profile_name->m_node_type = NodeType::Simple; + n_profile_name->m_address = base + offset; + n_profile_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_profile_name); + + field_name = "problems"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); + auto n_problems = new NodeVector; + n_problems->m_field_name = field_name; + n_problems->m_df_type = DF_Type::Stl_string; + n_problems->m_rdf_type = RDF_Type::Vector; + n_problems->m_node_type = NodeType::Vector; + n_problems->m_addornements = "v*"; + n_problems->m_address = base + offset; + n_problems->m_parent = p_node_parent; + n_problems->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_problems); + + field_name = "unk_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); + auto n_unk_1 = new NodeSimple; + n_unk_1->m_field_name = field_name; + n_unk_1->m_df_type = DF_Type::int32_t; + n_unk_1->m_rdf_type = RDF_Type::int32_t; + n_unk_1->m_node_type = NodeType::Simple; + n_unk_1->m_address = base + offset; + n_unk_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_1); + + field_name = "in_problems"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); + auto n_in_problems = new NodeSimple; + n_in_problems->m_field_name = field_name; + n_in_problems->m_df_type = DF_Type::int8_t; + n_in_problems->m_rdf_type = RDF_Type::int8_t; + n_in_problems->m_node_type = NodeType::Simple; + n_in_problems->m_address = base + offset; + n_in_problems->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_in_problems); + + field_name = "in_save_profile"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); + auto n_in_save_profile = new NodeSimple; + n_in_save_profile->m_field_name = field_name; + n_in_save_profile->m_df_type = DF_Type::int8_t; + n_in_save_profile->m_rdf_type = RDF_Type::int8_t; + n_in_save_profile->m_node_type = NodeType::Simple; + n_in_save_profile->m_address = base + offset; + n_in_save_profile->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_in_save_profile); + + field_name = "profile_name_conflict"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); + auto n_profile_name_conflict = new NodeSimple; + n_profile_name_conflict->m_field_name = field_name; + n_profile_name_conflict->m_df_type = DF_Type::int8_t; + n_profile_name_conflict->m_rdf_type = RDF_Type::int8_t; + n_profile_name_conflict->m_node_type = NodeType::Simple; + n_profile_name_conflict->m_address = base + offset; + n_profile_name_conflict->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_profile_name_conflict); + + field_name = "item_choice"; + auto n_item_choice = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); + n_item_choice->m_field_name = field_name; + n_item_choice->m_df_type = DF_Type::embark_item_choice; + n_item_choice->m_rdf_type = RDF_Type::Struct; + n_item_choice->m_node_type = NodeType::Compound; + n_item_choice->m_address = base + offset; + n_item_choice->m_defined_in = "df.viewscreen.xml"; + n_item_choice->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_choice); + + field_name = "animals"; + auto n_animals = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); + n_animals->m_field_name = field_name; + n_animals->m_df_type = DF_Type::viewscreen_setupdwarfgamest__T_animals; + n_animals->m_rdf_type = RDF_Type::Compound; + n_animals->m_node_type = NodeType::Compound; + n_animals->m_address = base + offset; + n_animals->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_animals); + + field_name = "fort_name"; + auto n_fort_name = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); + n_fort_name->m_field_name = field_name; + n_fort_name->m_df_type = DF_Type::language_name; + n_fort_name->m_rdf_type = RDF_Type::Struct; + n_fort_name->m_node_type = NodeType::Compound; + n_fort_name->m_address = base + offset; + n_fort_name->m_defined_in = "df.language.xml"; + n_fort_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_fort_name); + + field_name = "group_name"; + auto n_group_name = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); + n_group_name->m_field_name = field_name; + n_group_name->m_df_type = DF_Type::language_name; + n_group_name->m_rdf_type = RDF_Type::Struct; + n_group_name->m_node_type = NodeType::Compound; + n_group_name->m_address = base + offset; + n_group_name->m_defined_in = "df.language.xml"; + n_group_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_group_name); + + field_name = "unk_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); + auto n_unk_2 = new NodeSimple; + n_unk_2->m_field_name = field_name; + n_unk_2->m_df_type = DF_Type::int8_t; + n_unk_2->m_rdf_type = RDF_Type::int8_t; + n_unk_2->m_node_type = NodeType::Simple; + n_unk_2->m_address = base + offset; + n_unk_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_2); + + field_name = "unk_v43"; + auto n_unk_v43 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); + n_unk_v43->m_field_name = field_name; + n_unk_v43->m_df_type = DF_Type::viewscreen_setupdwarfgamest__T_unk_v43; + n_unk_v43->m_rdf_type = RDF_Type::Compound; + n_unk_v43->m_node_type = NodeType::Compound; + n_unk_v43->m_address = base + offset; + n_unk_v43->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v43); + + field_name = "location"; + auto n_location = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); + n_location->m_field_name = field_name; + n_location->m_df_type = DF_Type::embark_location; + n_location->m_rdf_type = RDF_Type::Struct; + n_location->m_node_type = NodeType::Compound; + n_location->m_address = base + offset; + n_location->m_defined_in = "df.viewscreen.xml"; + n_location->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_location); + + field_name = "units"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); + auto n_units = new NodeVector; + n_units->m_field_name = field_name; + n_units->m_df_type = DF_Type::unit; + n_units->m_rdf_type = RDF_Type::Vector; + n_units->m_node_type = NodeType::Vector; + n_units->m_defined_in = "df.units.xml"; + n_units->m_addornements = "v*"; + n_units->m_address = base + offset; + n_units->m_parent = p_node_parent; + n_units->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_units); + + field_name = "items"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); + auto n_items = new NodeVector; + n_items->m_field_name = field_name; + n_items->m_df_type = DF_Type::item; + n_items->m_rdf_type = RDF_Type::Vector; + n_items->m_node_type = NodeType::Vector; + n_items->m_defined_in = "df.items.xml"; + n_items->m_addornements = "v*"; + n_items->m_address = base + offset; + n_items->m_parent = p_node_parent; + n_items->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_items); + + field_name = "unk_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); + auto n_unk_3 = new NodeSimple; + n_unk_3->m_field_name = field_name; + n_unk_3->m_df_type = DF_Type::int32_t; + n_unk_3->m_rdf_type = RDF_Type::int32_t; + n_unk_3->m_node_type = NodeType::Simple; + n_unk_3->m_address = base + offset; + n_unk_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_3); + + field_name = "points_remaining"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); + auto n_points_remaining = new NodeSimple; + n_points_remaining->m_field_name = field_name; + n_points_remaining->m_df_type = DF_Type::int32_t; + n_points_remaining->m_rdf_type = RDF_Type::int32_t; + n_points_remaining->m_node_type = NodeType::Simple; + n_points_remaining->m_address = base + offset; + n_points_remaining->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_points_remaining); + + field_name = "add_item_type"; + auto n_add_item_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); + n_add_item_type->m_field_name = field_name; + n_add_item_type->m_df_type = DF_Type::item_type; + n_add_item_type->m_rdf_type = RDF_Type::Enum; + n_add_item_type->m_node_type = NodeType::Enum; + n_add_item_type->m_base_type = DF_Type::int16_t; + n_add_item_type->m_enum_type = "item_type"; + n_add_item_type->m_address = base + offset; + n_add_item_type->m_defined_in = "df.item-raws.xml"; + n_add_item_type->m_first_value = -1; + n_add_item_type->m_last_value = 90; + n_add_item_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_add_item_type); + + field_name = "add_item_subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); + auto n_add_item_subtype = new NodeSimple; + n_add_item_subtype->m_field_name = field_name; + n_add_item_subtype->m_df_type = DF_Type::int16_t; + n_add_item_subtype->m_rdf_type = RDF_Type::int16_t; + n_add_item_subtype->m_node_type = NodeType::Simple; + n_add_item_subtype->m_address = base + offset; + n_add_item_subtype->m_refers_to = "(item-subtype-target $$._parent.add_item_type $)"; + n_add_item_subtype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_add_item_subtype); + + field_name = "add_mattype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); + auto n_add_mattype = new NodeSimple; + n_add_mattype->m_field_name = field_name; + n_add_mattype->m_df_type = DF_Type::int16_t; + n_add_mattype->m_rdf_type = RDF_Type::int16_t; + n_add_mattype->m_node_type = NodeType::Simple; + n_add_mattype->m_address = base + offset; + n_add_mattype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_add_mattype); + + field_name = "add_matindex"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); + auto n_add_matindex = new NodeSimple; + n_add_matindex->m_field_name = field_name; + n_add_matindex->m_df_type = DF_Type::int32_t; + n_add_matindex->m_rdf_type = RDF_Type::int32_t; + n_add_matindex->m_node_type = NodeType::Simple; + n_add_matindex->m_address = base + offset; + n_add_matindex->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_add_matindex); + + field_name = "adding_item"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_setupdwarfgamest, field_name)); + auto n_adding_item = new NodeSimple; + n_adding_item->m_field_name = field_name; + n_adding_item->m_df_type = DF_Type::int32_t; + n_adding_item->m_rdf_type = RDF_Type::int32_t; + n_adding_item->m_node_type = NodeType::Simple; + n_adding_item->m_address = base + offset; + n_adding_item->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_adding_item); + +} +void node_from_viewscreen_storesst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "title"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_storesst, field_name)); + auto n_title= new NodePadding; + n_title->m_field_name = field_name; + n_title->m_df_type = DF_Type::Static_string; + n_title->m_rdf_type = RDF_Type::Static_string; + n_title->m_node_type = NodeType::StaticString; + n_title->m_address = base + offset; + n_title->m_size = 256; + n_title->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_title); + + field_name = "category_cursor"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_storesst, field_name)); + auto n_category_cursor = new NodeSimple; + n_category_cursor->m_field_name = field_name; + n_category_cursor->m_df_type = DF_Type::int32_t; + n_category_cursor->m_rdf_type = RDF_Type::int32_t; + n_category_cursor->m_node_type = NodeType::Simple; + n_category_cursor->m_address = base + offset; + n_category_cursor->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_category_cursor); + + field_name = "item_cursor"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_storesst, field_name)); + auto n_item_cursor = new NodeSimple; + n_item_cursor->m_field_name = field_name; + n_item_cursor->m_df_type = DF_Type::int32_t; + n_item_cursor->m_rdf_type = RDF_Type::int32_t; + n_item_cursor->m_node_type = NodeType::Simple; + n_item_cursor->m_address = base + offset; + n_item_cursor->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_cursor); + + field_name = "in_right_list"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_storesst, field_name)); + auto n_in_right_list = new NodeSimple; + n_in_right_list->m_field_name = field_name; + n_in_right_list->m_df_type = DF_Type::int16_t; + n_in_right_list->m_rdf_type = RDF_Type::int16_t; + n_in_right_list->m_node_type = NodeType::Simple; + n_in_right_list->m_address = base + offset; + n_in_right_list->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_in_right_list); + + field_name = "in_group_mode"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_storesst, field_name)); + auto n_in_group_mode = new NodeSimple; + n_in_group_mode->m_field_name = field_name; + n_in_group_mode->m_df_type = DF_Type::int16_t; + n_in_group_mode->m_rdf_type = RDF_Type::int16_t; + n_in_group_mode->m_node_type = NodeType::Simple; + n_in_group_mode->m_address = base + offset; + n_in_group_mode->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_in_group_mode); + + field_name = "category_total"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_storesst, field_name)); + auto n_category_total = new NodeVector; + n_category_total->m_field_name = field_name; + n_category_total->m_df_type = DF_Type::int32_t; + n_category_total->m_rdf_type = RDF_Type::Vector; + n_category_total->m_node_type = NodeType::Vector; + n_category_total->m_index_enum = DF_Type::item_type; + n_category_total->m_addornements = "v"; + n_category_total->m_address = base + offset; + n_category_total->m_parent = p_node_parent; + n_category_total->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_category_total); + + field_name = "category_busy"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_storesst, field_name)); + auto n_category_busy = new NodeVector; + n_category_busy->m_field_name = field_name; + n_category_busy->m_df_type = DF_Type::int32_t; + n_category_busy->m_rdf_type = RDF_Type::Vector; + n_category_busy->m_node_type = NodeType::Vector; + n_category_busy->m_index_enum = DF_Type::item_type; + n_category_busy->m_addornements = "v"; + n_category_busy->m_address = base + offset; + n_category_busy->m_parent = p_node_parent; + n_category_busy->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_category_busy); + + field_name = "items"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_storesst, field_name)); + auto n_items = new NodeVector; + n_items->m_field_name = field_name; + n_items->m_df_type = DF_Type::item; + n_items->m_rdf_type = RDF_Type::Vector; + n_items->m_node_type = NodeType::Vector; + n_items->m_defined_in = "df.items.xml"; + n_items->m_addornements = "v*"; + n_items->m_address = base + offset; + n_items->m_parent = p_node_parent; + n_items->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_items); + + field_name = "group_item_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_storesst, field_name)); + auto n_group_item_type = new NodeVector; + n_group_item_type->m_field_name = field_name; + n_group_item_type->m_df_type = DF_Type::item_type; + n_group_item_type->m_rdf_type = RDF_Type::Vector; + n_group_item_type->m_node_type = NodeType::Vector; + n_group_item_type->m_enum_base = DF_Type::int16_t; + n_group_item_type->m_defined_in = "df.item-raws.xml"; + n_group_item_type->m_addornements = "v"; + n_group_item_type->m_address = base + offset; + n_group_item_type->m_parent = p_node_parent; + n_group_item_type->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_group_item_type); + + field_name = "group_item_subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_storesst, field_name)); + auto n_group_item_subtype = new NodeVector; + n_group_item_subtype->m_field_name = field_name; + n_group_item_subtype->m_df_type = DF_Type::int16_t; + n_group_item_subtype->m_rdf_type = RDF_Type::Vector; + n_group_item_subtype->m_node_type = NodeType::Vector; + n_group_item_subtype->m_addornements = "v"; + n_group_item_subtype->m_address = base + offset; + n_group_item_subtype->m_parent = p_node_parent; + n_group_item_subtype->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_group_item_subtype); + + field_name = "group_mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_storesst, field_name)); + auto n_group_mat_type = new NodeVector; + n_group_mat_type->m_field_name = field_name; + n_group_mat_type->m_df_type = DF_Type::int16_t; + n_group_mat_type->m_rdf_type = RDF_Type::Vector; + n_group_mat_type->m_node_type = NodeType::Vector; + n_group_mat_type->m_addornements = "v"; + n_group_mat_type->m_address = base + offset; + n_group_mat_type->m_parent = p_node_parent; + n_group_mat_type->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_group_mat_type); + + field_name = "group_mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_storesst, field_name)); + auto n_group_mat_index = new NodeVector; + n_group_mat_index->m_field_name = field_name; + n_group_mat_index->m_df_type = DF_Type::int16_t; + n_group_mat_index->m_rdf_type = RDF_Type::Vector; + n_group_mat_index->m_node_type = NodeType::Vector; + n_group_mat_index->m_addornements = "v"; + n_group_mat_index->m_address = base + offset; + n_group_mat_index->m_parent = p_node_parent; + n_group_mat_index->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_group_mat_index); + + field_name = "group_count"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_storesst, field_name)); + auto n_group_count = new NodeVector; + n_group_count->m_field_name = field_name; + n_group_count->m_df_type = DF_Type::int32_t; + n_group_count->m_rdf_type = RDF_Type::Vector; + n_group_count->m_node_type = NodeType::Vector; + n_group_count->m_addornements = "v"; + n_group_count->m_address = base + offset; + n_group_count->m_parent = p_node_parent; + n_group_count->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_group_count); + + field_name = "category_order"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_storesst, field_name)); + auto n_category_order = new NodeVector; + n_category_order->m_field_name = field_name; + n_category_order->m_df_type = DF_Type::item_type; + n_category_order->m_rdf_type = RDF_Type::Vector; + n_category_order->m_node_type = NodeType::Vector; + n_category_order->m_enum_base = DF_Type::int16_t; + n_category_order->m_defined_in = "df.item-raws.xml"; + n_category_order->m_addornements = "v"; + n_category_order->m_address = base + offset; + n_category_order->m_parent = p_node_parent; + n_category_order->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_category_order); + + field_name = "can_zoom"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_storesst, field_name)); + auto n_can_zoom = new NodeSimple; + n_can_zoom->m_field_name = field_name; + n_can_zoom->m_df_type = DF_Type::Bool; + n_can_zoom->m_rdf_type = RDF_Type::Bool; + n_can_zoom->m_node_type = NodeType::Simple; + n_can_zoom->m_address = base + offset; + n_can_zoom->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_can_zoom); + +} +void node_from_viewscreen_textviewerst__T_formatted_text(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "text"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_textviewerst__T_formatted_text, field_name)); + auto n_text = new NodePointer; + n_text->m_field_name = field_name; + n_text->m_df_type = get_real_subtype(base+offset, DF_Type::Ptr_char); + n_text->m_rdf_type = RDF_Type::Pointer; + n_text->m_node_type = NodeType::Pointer; + n_text->m_addornements = "*"; + n_text->m_address = base + offset; + n_text->m_parent = p_node_parent; + n_text->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_text); + + field_name = "format"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_textviewerst__T_formatted_text, field_name)); + auto n_format = new NodePointer; + n_format->m_field_name = field_name; + n_format->m_df_type = get_real_subtype(base+offset, DF_Type::Ptr_char); + n_format->m_rdf_type = RDF_Type::Pointer; + n_format->m_node_type = NodeType::Pointer; + n_format->m_addornements = "*"; + n_format->m_address = base + offset; + n_format->m_parent = p_node_parent; + n_format->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_format); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_textviewerst__T_formatted_text, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::viewscreen_textviewerst__T_formatted_text__T_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "pause_depth"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_textviewerst__T_formatted_text, field_name)); + auto n_pause_depth = new NodeSimple; + n_pause_depth->m_field_name = field_name; + n_pause_depth->m_df_type = DF_Type::int32_t; + n_pause_depth->m_rdf_type = RDF_Type::int32_t; + n_pause_depth->m_node_type = NodeType::Simple; + n_pause_depth->m_address = base + offset; + n_pause_depth->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pause_depth); + + field_name = "return_val"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_textviewerst__T_formatted_text, field_name)); + auto n_return_val = new NodeSimple; + n_return_val->m_field_name = field_name; + n_return_val->m_df_type = DF_Type::int32_t; + n_return_val->m_rdf_type = RDF_Type::int32_t; + n_return_val->m_node_type = NodeType::Simple; + n_return_val->m_address = base + offset; + n_return_val->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_return_val); + + field_name = "indent"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_textviewerst__T_formatted_text, field_name)); + auto n_indent = new NodeSimple; + n_indent->m_field_name = field_name; + n_indent->m_df_type = DF_Type::int32_t; + n_indent->m_rdf_type = RDF_Type::int32_t; + n_indent->m_node_type = NodeType::Simple; + n_indent->m_address = base + offset; + n_indent->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_indent); + +} +void node_from_viewscreen_textviewerst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "title"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_textviewerst, field_name)); + auto n_title = new NodeSimple; + n_title->m_field_name = field_name; + n_title->m_df_type = DF_Type::Stl_string; + n_title->m_rdf_type = RDF_Type::Stl_string; + n_title->m_node_type = NodeType::Simple; + n_title->m_address = base + offset; + n_title->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_title); + + field_name = "title_colors"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_textviewerst, field_name)); + auto n_title_colors = new NodeSimple; + n_title_colors->m_field_name = field_name; + n_title_colors->m_df_type = DF_Type::Stl_string; + n_title_colors->m_rdf_type = RDF_Type::Stl_string; + n_title_colors->m_node_type = NodeType::Simple; + n_title_colors->m_address = base + offset; + n_title_colors->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_title_colors); + + field_name = "src_text"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_textviewerst, field_name)); + auto n_src_text = new NodeVector; + n_src_text->m_field_name = field_name; + n_src_text->m_df_type = DF_Type::Stl_string; + n_src_text->m_rdf_type = RDF_Type::Vector; + n_src_text->m_node_type = NodeType::Vector; + n_src_text->m_addornements = "v*"; + n_src_text->m_address = base + offset; + n_src_text->m_parent = p_node_parent; + n_src_text->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_src_text); + + field_name = "outvar_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_textviewerst, field_name)); + auto n_outvar_type = new NodeSimple; + n_outvar_type->m_field_name = field_name; + n_outvar_type->m_df_type = DF_Type::Stl_string; + n_outvar_type->m_rdf_type = RDF_Type::Stl_string; + n_outvar_type->m_node_type = NodeType::Simple; + n_outvar_type->m_address = base + offset; + n_outvar_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_outvar_type); + + field_name = "outvar_name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_textviewerst, field_name)); + auto n_outvar_name = new NodeSimple; + n_outvar_name->m_field_name = field_name; + n_outvar_name->m_df_type = DF_Type::Stl_string; + n_outvar_name->m_rdf_type = RDF_Type::Stl_string; + n_outvar_name->m_node_type = NodeType::Simple; + n_outvar_name->m_address = base + offset; + n_outvar_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_outvar_name); + + field_name = "meeting_context"; + auto n_meeting_context = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_textviewerst, field_name)); + n_meeting_context->m_field_name = field_name; + n_meeting_context->m_df_type = DF_Type::meeting_context; + n_meeting_context->m_rdf_type = RDF_Type::Struct; + n_meeting_context->m_node_type = NodeType::Compound; + n_meeting_context->m_address = base + offset; + n_meeting_context->m_defined_in = "df.meeting.xml"; + n_meeting_context->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_meeting_context); + + field_name = "help_filename"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_textviewerst, field_name)); + auto n_help_filename = new NodeSimple; + n_help_filename->m_field_name = field_name; + n_help_filename->m_df_type = DF_Type::Stl_string; + n_help_filename->m_rdf_type = RDF_Type::Stl_string; + n_help_filename->m_node_type = NodeType::Simple; + n_help_filename->m_address = base + offset; + n_help_filename->m_comment = "relative to data/help"; + n_help_filename->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_help_filename); + + field_name = "page_filename"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_textviewerst, field_name)); + auto n_page_filename = new NodeSimple; + n_page_filename->m_field_name = field_name; + n_page_filename->m_df_type = DF_Type::Stl_string; + n_page_filename->m_rdf_type = RDF_Type::Stl_string; + n_page_filename->m_node_type = NodeType::Simple; + n_page_filename->m_address = base + offset; + n_page_filename->m_comment = "relative to root"; + n_page_filename->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_page_filename); + + field_name = "formatted_text"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_textviewerst, field_name)); + auto n_formatted_text = new NodeVector; + n_formatted_text->m_field_name = field_name; + n_formatted_text->m_df_type = DF_Type::viewscreen_textviewerst__T_formatted_text; + n_formatted_text->m_rdf_type = RDF_Type::Vector; + n_formatted_text->m_node_type = NodeType::Vector; + n_formatted_text->m_addornements = "v*"; + n_formatted_text->m_address = base + offset; + n_formatted_text->m_parent = p_node_parent; + n_formatted_text->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_formatted_text); + + field_name = "hyperlinks"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_textviewerst, field_name)); + auto n_hyperlinks = new NodeVector; + n_hyperlinks->m_field_name = field_name; + n_hyperlinks->m_df_type = DF_Type::Static_string; + n_hyperlinks->m_rdf_type = RDF_Type::Vector; + n_hyperlinks->m_node_type = NodeType::Vector; + n_hyperlinks->m_addornements = "v*"; + n_hyperlinks->m_address = base + offset; + n_hyperlinks->m_comment = "link targets, same length as text_display"; + n_hyperlinks->m_parent = p_node_parent; + n_hyperlinks->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_hyperlinks); + + field_name = "logged_error"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_textviewerst, field_name)); + auto n_logged_error = new NodeSimple; + n_logged_error->m_field_name = field_name; + n_logged_error->m_df_type = DF_Type::int8_t; + n_logged_error->m_rdf_type = RDF_Type::int8_t; + n_logged_error->m_node_type = NodeType::Simple; + n_logged_error->m_address = base + offset; + n_logged_error->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_logged_error); + + field_name = "scroll_pos"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_textviewerst, field_name)); + auto n_scroll_pos = new NodeSimple; + n_scroll_pos->m_field_name = field_name; + n_scroll_pos->m_df_type = DF_Type::int32_t; + n_scroll_pos->m_rdf_type = RDF_Type::int32_t; + n_scroll_pos->m_node_type = NodeType::Simple; + n_scroll_pos->m_address = base + offset; + n_scroll_pos->m_comment = "vertical scrollbar position"; + n_scroll_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_scroll_pos); + + field_name = "cursor_line"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_textviewerst, field_name)); + auto n_cursor_line = new NodeSimple; + n_cursor_line->m_field_name = field_name; + n_cursor_line->m_df_type = DF_Type::int32_t; + n_cursor_line->m_rdf_type = RDF_Type::int32_t; + n_cursor_line->m_node_type = NodeType::Simple; + n_cursor_line->m_address = base + offset; + n_cursor_line->m_comment = "on hyperlink lines"; + n_cursor_line->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cursor_line); + + field_name = "pause_depth"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_textviewerst, field_name)); + auto n_pause_depth = new NodeSimple; + n_pause_depth->m_field_name = field_name; + n_pause_depth->m_df_type = DF_Type::int32_t; + n_pause_depth->m_rdf_type = RDF_Type::int32_t; + n_pause_depth->m_node_type = NodeType::Simple; + n_pause_depth->m_address = base + offset; + n_pause_depth->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pause_depth); + +} +void node_from_viewscreen_titlest__T_start_savegames(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "world_name"; + auto n_world_name = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest__T_start_savegames, field_name)); + n_world_name->m_field_name = field_name; + n_world_name->m_df_type = DF_Type::language_name; + n_world_name->m_rdf_type = RDF_Type::Struct; + n_world_name->m_node_type = NodeType::Compound; + n_world_name->m_address = base + offset; + n_world_name->m_defined_in = "df.language.xml"; + n_world_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_world_name); + + field_name = "world_name_str"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest__T_start_savegames, field_name)); + auto n_world_name_str = new NodeSimple; + n_world_name_str->m_field_name = field_name; + n_world_name_str->m_df_type = DF_Type::Stl_string; + n_world_name_str->m_rdf_type = RDF_Type::Stl_string; + n_world_name_str->m_node_type = NodeType::Simple; + n_world_name_str->m_address = base + offset; + n_world_name_str->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_world_name_str); + + field_name = "unk1"; + auto n_unk1 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest__T_start_savegames, field_name)); + n_unk1->m_field_name = field_name; + n_unk1->m_df_type = DF_Type::int8_t; + n_unk1->m_rdf_type = RDF_Type::Array; + n_unk1->m_node_type = NodeType::Array; + n_unk1->m_addornements = "[15"; + n_unk1->m_array_size = 15; + n_unk1->m_address = base + offset; + n_unk1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk1); + + field_name = "unk2"; + auto n_unk2 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest__T_start_savegames, field_name)); + n_unk2->m_field_name = field_name; + n_unk2->m_df_type = DF_Type::int32_t; + n_unk2->m_rdf_type = RDF_Type::Array; + n_unk2->m_node_type = NodeType::Array; + n_unk2->m_addornements = "[35"; + n_unk2->m_array_size = 35; + n_unk2->m_address = base + offset; + n_unk2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk2); + + field_name = "save_dir"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest__T_start_savegames, field_name)); + auto n_save_dir = new NodeSimple; + n_save_dir->m_field_name = field_name; + n_save_dir->m_df_type = DF_Type::Stl_string; + n_save_dir->m_rdf_type = RDF_Type::Stl_string; + n_save_dir->m_node_type = NodeType::Simple; + n_save_dir->m_address = base + offset; + n_save_dir->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_save_dir); + +} +void node_from_viewscreen_titlest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "str_histories"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest, field_name)); + auto n_str_histories= new NodePadding; + n_str_histories->m_field_name = field_name; + n_str_histories->m_df_type = DF_Type::Static_string; + n_str_histories->m_rdf_type = RDF_Type::Static_string; + n_str_histories->m_node_type = NodeType::StaticString; + n_str_histories->m_address = base + offset; + n_str_histories->m_size = 256; + n_str_histories->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_str_histories); + + field_name = "menu_items"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest, field_name)); + auto n_menu_items= new NodePadding; + n_menu_items->m_field_name = field_name; + n_menu_items->m_df_type = DF_Type::Static_string; + n_menu_items->m_rdf_type = RDF_Type::Static_string; + n_menu_items->m_node_type = NodeType::StaticString; + n_menu_items->m_address = base + offset; + n_menu_items->m_size = 256; + n_menu_items->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_menu_items); + + field_name = "sel_subpage"; + auto n_sel_subpage = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest, field_name)); + n_sel_subpage->m_field_name = field_name; + n_sel_subpage->m_df_type = DF_Type::viewscreen_titlest__T_sel_subpage; + n_sel_subpage->m_rdf_type = RDF_Type::Enum; + n_sel_subpage->m_node_type = NodeType::Enum; + n_sel_subpage->m_base_type = DF_Type::int16_t; + n_sel_subpage->m_enum_type = "viewscreen_titlest::T_sel_subpage"; + n_sel_subpage->m_address = base + offset; + n_sel_subpage->m_first_value = 0; + n_sel_subpage->m_last_value = 4; + n_sel_subpage->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sel_subpage); + + field_name = "sel_menu_line"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest, field_name)); + auto n_sel_menu_line = new NodeSimple; + n_sel_menu_line->m_field_name = field_name; + n_sel_menu_line->m_df_type = DF_Type::int32_t; + n_sel_menu_line->m_rdf_type = RDF_Type::int32_t; + n_sel_menu_line->m_node_type = NodeType::Simple; + n_sel_menu_line->m_address = base + offset; + n_sel_menu_line->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sel_menu_line); + + field_name = "sel_submenu_line"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest, field_name)); + auto n_sel_submenu_line = new NodeSimple; + n_sel_submenu_line->m_field_name = field_name; + n_sel_submenu_line->m_df_type = DF_Type::int32_t; + n_sel_submenu_line->m_rdf_type = RDF_Type::int32_t; + n_sel_submenu_line->m_node_type = NodeType::Simple; + n_sel_submenu_line->m_address = base + offset; + n_sel_submenu_line->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sel_submenu_line); + + field_name = "loading"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest, field_name)); + auto n_loading = new NodeSimple; + n_loading->m_field_name = field_name; + n_loading->m_df_type = DF_Type::int8_t; + n_loading->m_rdf_type = RDF_Type::int8_t; + n_loading->m_node_type = NodeType::Simple; + n_loading->m_address = base + offset; + n_loading->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_loading); + + field_name = "menu_line_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest, field_name)); + auto n_menu_line_id = new NodeVector; + n_menu_line_id->m_field_name = field_name; + n_menu_line_id->m_df_type = DF_Type::viewscreen_titlest__T_menu_line_id; + n_menu_line_id->m_rdf_type = RDF_Type::Vector; + n_menu_line_id->m_node_type = NodeType::Vector; + n_menu_line_id->m_enum_base = DF_Type::int32_t; + n_menu_line_id->m_addornements = "v"; + n_menu_line_id->m_address = base + offset; + n_menu_line_id->m_parent = p_node_parent; + n_menu_line_id->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_menu_line_id); + + field_name = "submenu_line_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest, field_name)); + auto n_submenu_line_id = new NodeVector; + n_submenu_line_id->m_field_name = field_name; + n_submenu_line_id->m_df_type = DF_Type::int32_t; + n_submenu_line_id->m_rdf_type = RDF_Type::Vector; + n_submenu_line_id->m_node_type = NodeType::Vector; + n_submenu_line_id->m_addornements = "v"; + n_submenu_line_id->m_address = base + offset; + n_submenu_line_id->m_parent = p_node_parent; + n_submenu_line_id->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_submenu_line_id); + + field_name = "submenu_line_text"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest, field_name)); + auto n_submenu_line_text = new NodeVector; + n_submenu_line_text->m_field_name = field_name; + n_submenu_line_text->m_df_type = DF_Type::Stl_string; + n_submenu_line_text->m_rdf_type = RDF_Type::Vector; + n_submenu_line_text->m_node_type = NodeType::Vector; + n_submenu_line_text->m_addornements = "v*"; + n_submenu_line_text->m_address = base + offset; + n_submenu_line_text->m_parent = p_node_parent; + n_submenu_line_text->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_submenu_line_text); + + field_name = "start_savegames"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest, field_name)); + auto n_start_savegames = new NodeVector; + n_start_savegames->m_field_name = field_name; + n_start_savegames->m_df_type = DF_Type::viewscreen_titlest__T_start_savegames; + n_start_savegames->m_rdf_type = RDF_Type::Vector; + n_start_savegames->m_node_type = NodeType::Vector; + n_start_savegames->m_addornements = "v*"; + n_start_savegames->m_address = base + offset; + n_start_savegames->m_parent = p_node_parent; + n_start_savegames->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_start_savegames); + + field_name = "arena_savegames"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest, field_name)); + auto n_arena_savegames = new NodeVector; + n_arena_savegames->m_field_name = field_name; + n_arena_savegames->m_df_type = DF_Type::Stl_string; + n_arena_savegames->m_rdf_type = RDF_Type::Vector; + n_arena_savegames->m_node_type = NodeType::Vector; + n_arena_savegames->m_addornements = "v*"; + n_arena_savegames->m_address = base + offset; + n_arena_savegames->m_parent = p_node_parent; + n_arena_savegames->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_arena_savegames); + + field_name = "str_slaves"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest, field_name)); + auto n_str_slaves = new NodeSimple; + n_str_slaves->m_field_name = field_name; + n_str_slaves->m_df_type = DF_Type::Stl_string; + n_str_slaves->m_rdf_type = RDF_Type::Stl_string; + n_str_slaves->m_node_type = NodeType::Simple; + n_str_slaves->m_address = base + offset; + n_str_slaves->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_str_slaves); + + field_name = "str_chapter"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest, field_name)); + auto n_str_chapter = new NodeSimple; + n_str_chapter->m_field_name = field_name; + n_str_chapter->m_df_type = DF_Type::Stl_string; + n_str_chapter->m_rdf_type = RDF_Type::Stl_string; + n_str_chapter->m_node_type = NodeType::Simple; + n_str_chapter->m_address = base + offset; + n_str_chapter->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_str_chapter); + + field_name = "str_copyright"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest, field_name)); + auto n_str_copyright = new NodeSimple; + n_str_copyright->m_field_name = field_name; + n_str_copyright->m_df_type = DF_Type::Stl_string; + n_str_copyright->m_rdf_type = RDF_Type::Stl_string; + n_str_copyright->m_node_type = NodeType::Simple; + n_str_copyright->m_address = base + offset; + n_str_copyright->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_str_copyright); + + field_name = "str_version"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest, field_name)); + auto n_str_version = new NodeSimple; + n_str_version->m_field_name = field_name; + n_str_version->m_df_type = DF_Type::Stl_string; + n_str_version->m_rdf_type = RDF_Type::Stl_string; + n_str_version->m_node_type = NodeType::Simple; + n_str_version->m_address = base + offset; + n_str_version->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_str_version); + + field_name = "str_warning"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest, field_name)); + auto n_str_warning = new NodeSimple; + n_str_warning->m_field_name = field_name; + n_str_warning->m_df_type = DF_Type::Stl_string; + n_str_warning->m_rdf_type = RDF_Type::Stl_string; + n_str_warning->m_node_type = NodeType::Simple; + n_str_warning->m_address = base + offset; + n_str_warning->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_str_warning); + + field_name = "str_programmed"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest, field_name)); + auto n_str_programmed = new NodeSimple; + n_str_programmed->m_field_name = field_name; + n_str_programmed->m_df_type = DF_Type::Stl_string; + n_str_programmed->m_rdf_type = RDF_Type::Stl_string; + n_str_programmed->m_node_type = NodeType::Simple; + n_str_programmed->m_address = base + offset; + n_str_programmed->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_str_programmed); + + field_name = "str_designed"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest, field_name)); + auto n_str_designed = new NodeSimple; + n_str_designed->m_field_name = field_name; + n_str_designed->m_df_type = DF_Type::Stl_string; + n_str_designed->m_rdf_type = RDF_Type::Stl_string; + n_str_designed->m_node_type = NodeType::Simple; + n_str_designed->m_address = base + offset; + n_str_designed->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_str_designed); + + field_name = "str_visit"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest, field_name)); + auto n_str_visit = new NodeSimple; + n_str_visit->m_field_name = field_name; + n_str_visit->m_df_type = DF_Type::Stl_string; + n_str_visit->m_rdf_type = RDF_Type::Stl_string; + n_str_visit->m_node_type = NodeType::Simple; + n_str_visit->m_address = base + offset; + n_str_visit->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_str_visit); + + field_name = "str_site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest, field_name)); + auto n_str_site = new NodeSimple; + n_str_site->m_field_name = field_name; + n_str_site->m_df_type = DF_Type::Stl_string; + n_str_site->m_rdf_type = RDF_Type::Stl_string; + n_str_site->m_node_type = NodeType::Simple; + n_str_site->m_address = base + offset; + n_str_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_str_site); + + field_name = "arena_raw_folder"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest, field_name)); + auto n_arena_raw_folder = new NodeSimple; + n_arena_raw_folder->m_field_name = field_name; + n_arena_raw_folder->m_df_type = DF_Type::Stl_string; + n_arena_raw_folder->m_rdf_type = RDF_Type::Stl_string; + n_arena_raw_folder->m_node_type = NodeType::Simple; + n_arena_raw_folder->m_address = base + offset; + n_arena_raw_folder->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_arena_raw_folder); + + field_name = "unk_388"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest, field_name)); + auto n_unk_388 = new NodeSimple; + n_unk_388->m_field_name = field_name; + n_unk_388->m_df_type = DF_Type::int32_t; + n_unk_388->m_rdf_type = RDF_Type::int32_t; + n_unk_388->m_node_type = NodeType::Simple; + n_unk_388->m_address = base + offset; + n_unk_388->m_comment = "unset until loading arena"; + n_unk_388->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_388); + + field_name = "unk_38c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest, field_name)); + auto n_unk_38c = new NodeSimple; + n_unk_38c->m_field_name = field_name; + n_unk_38c->m_df_type = DF_Type::int8_t; + n_unk_38c->m_rdf_type = RDF_Type::int8_t; + n_unk_38c->m_node_type = NodeType::Simple; + n_unk_38c->m_address = base + offset; + n_unk_38c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_38c); + + field_name = "unk_390"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest, field_name)); + auto n_unk_390 = new NodeSimple; + n_unk_390->m_field_name = field_name; + n_unk_390->m_df_type = DF_Type::int32_t; + n_unk_390->m_rdf_type = RDF_Type::int32_t; + n_unk_390->m_node_type = NodeType::Simple; + n_unk_390->m_address = base + offset; + n_unk_390->m_comment = "unset until loading arena"; + n_unk_390->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_390); + + field_name = "unk_394"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest, field_name)); + auto n_unk_394 = new NodeSimple; + n_unk_394->m_field_name = field_name; + n_unk_394->m_df_type = DF_Type::int8_t; + n_unk_394->m_rdf_type = RDF_Type::int8_t; + n_unk_394->m_node_type = NodeType::Simple; + n_unk_394->m_address = base + offset; + n_unk_394->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_394); + + field_name = "unk_398"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest, field_name)); + auto n_unk_398 = new NodeSimple; + n_unk_398->m_field_name = field_name; + n_unk_398->m_df_type = DF_Type::int32_t; + n_unk_398->m_rdf_type = RDF_Type::int32_t; + n_unk_398->m_node_type = NodeType::Simple; + n_unk_398->m_address = base + offset; + n_unk_398->m_comment = "unset"; + n_unk_398->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_398); + + field_name = "unk_39c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest, field_name)); + auto n_unk_39c = new NodeSimple; + n_unk_39c->m_field_name = field_name; + n_unk_39c->m_df_type = DF_Type::int8_t; + n_unk_39c->m_rdf_type = RDF_Type::int8_t; + n_unk_39c->m_node_type = NodeType::Simple; + n_unk_39c->m_address = base + offset; + n_unk_39c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_39c); + + field_name = "unk_3a0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_titlest, field_name)); + auto n_unk_3a0 = new NodeSimple; + n_unk_3a0->m_field_name = field_name; + n_unk_3a0->m_df_type = DF_Type::int32_t; + n_unk_3a0->m_rdf_type = RDF_Type::int32_t; + n_unk_3a0->m_node_type = NodeType::Simple; + n_unk_3a0->m_address = base + offset; + n_unk_3a0->m_comment = "unset"; + n_unk_3a0->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_3a0); + +} +void node_from_viewscreen_topicmeetingst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "popup"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_topicmeetingst, field_name)); + auto n_popup = new NodePointer; + n_popup->m_field_name = field_name; + n_popup->m_df_type = get_real_subtype(base+offset, DF_Type::dipscript_popup); + n_popup->m_rdf_type = RDF_Type::Pointer; + n_popup->m_node_type = NodeType::Pointer; + n_popup->m_addornements = "*"; + n_popup->m_address = base + offset; + n_popup->m_parent = p_node_parent; + n_popup->m_defined_in = "df.meeting.xml"; + n_popup->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_popup); + + field_name = "meeting"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_topicmeetingst, field_name)); + auto n_meeting = new NodePointer; + n_meeting->m_field_name = field_name; + n_meeting->m_df_type = get_real_subtype(base+offset, DF_Type::meeting_diplomat_info); + n_meeting->m_rdf_type = RDF_Type::Pointer; + n_meeting->m_node_type = NodeType::Pointer; + n_meeting->m_addornements = "*"; + n_meeting->m_address = base + offset; + n_meeting->m_parent = p_node_parent; + n_meeting->m_defined_in = "df.meeting.xml"; + n_meeting->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_meeting); + + field_name = "unk_138"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_topicmeetingst, field_name)); + auto n_unk_138 = new NodePointer; + n_unk_138->m_field_name = field_name; + n_unk_138->m_df_type = get_real_subtype(base+offset, DF_Type::unit_unk_138); + n_unk_138->m_rdf_type = RDF_Type::Pointer; + n_unk_138->m_node_type = NodeType::Pointer; + n_unk_138->m_addornements = "*"; + n_unk_138->m_address = base + offset; + n_unk_138->m_parent = p_node_parent; + n_unk_138->m_defined_in = "df.units.xml"; + n_unk_138->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_138); + + field_name = "text"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_topicmeetingst, field_name)); + auto n_text = new NodeVector; + n_text->m_field_name = field_name; + n_text->m_df_type = DF_Type::Stl_string; + n_text->m_rdf_type = RDF_Type::Vector; + n_text->m_node_type = NodeType::Vector; + n_text->m_addornements = "v*"; + n_text->m_address = base + offset; + n_text->m_parent = p_node_parent; + n_text->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_text); + +} +void node_from_viewscreen_topicmeeting_fill_land_holder_positionsst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "title"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_topicmeeting_fill_land_holder_positionsst, field_name)); + auto n_title= new NodePadding; + n_title->m_field_name = field_name; + n_title->m_df_type = DF_Type::Static_string; + n_title->m_rdf_type = RDF_Type::Static_string; + n_title->m_node_type = NodeType::StaticString; + n_title->m_address = base + offset; + n_title->m_size = 256; + n_title->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_title); + + field_name = "popup"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_topicmeeting_fill_land_holder_positionsst, field_name)); + auto n_popup = new NodePointer; + n_popup->m_field_name = field_name; + n_popup->m_df_type = get_real_subtype(base+offset, DF_Type::dipscript_popup); + n_popup->m_rdf_type = RDF_Type::Pointer; + n_popup->m_node_type = NodeType::Pointer; + n_popup->m_addornements = "*"; + n_popup->m_address = base + offset; + n_popup->m_parent = p_node_parent; + n_popup->m_defined_in = "df.meeting.xml"; + n_popup->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_popup); + + field_name = "meeting"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_topicmeeting_fill_land_holder_positionsst, field_name)); + auto n_meeting = new NodePointer; + n_meeting->m_field_name = field_name; + n_meeting->m_df_type = get_real_subtype(base+offset, DF_Type::meeting_diplomat_info); + n_meeting->m_rdf_type = RDF_Type::Pointer; + n_meeting->m_node_type = NodeType::Pointer; + n_meeting->m_addornements = "*"; + n_meeting->m_address = base + offset; + n_meeting->m_parent = p_node_parent; + n_meeting->m_defined_in = "df.meeting.xml"; + n_meeting->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_meeting); + + field_name = "entity_diplomat"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_topicmeeting_fill_land_holder_positionsst, field_name)); + auto n_entity_diplomat = new NodePointer; + n_entity_diplomat->m_field_name = field_name; + n_entity_diplomat->m_df_type = get_real_subtype(base+offset, DF_Type::historical_entity); + n_entity_diplomat->m_rdf_type = RDF_Type::Pointer; + n_entity_diplomat->m_node_type = NodeType::Pointer; + n_entity_diplomat->m_addornements = "*"; + n_entity_diplomat->m_address = base + offset; + n_entity_diplomat->m_parent = p_node_parent; + n_entity_diplomat->m_defined_in = "df.entities.xml"; + n_entity_diplomat->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_entity_diplomat); + + field_name = "entity_fortress"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_topicmeeting_fill_land_holder_positionsst, field_name)); + auto n_entity_fortress = new NodePointer; + n_entity_fortress->m_field_name = field_name; + n_entity_fortress->m_df_type = get_real_subtype(base+offset, DF_Type::historical_entity); + n_entity_fortress->m_rdf_type = RDF_Type::Pointer; + n_entity_fortress->m_node_type = NodeType::Pointer; + n_entity_fortress->m_addornements = "*"; + n_entity_fortress->m_address = base + offset; + n_entity_fortress->m_parent = p_node_parent; + n_entity_fortress->m_defined_in = "df.entities.xml"; + n_entity_fortress->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_entity_fortress); + + field_name = "position_ids"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_topicmeeting_fill_land_holder_positionsst, field_name)); + auto n_position_ids = new NodeVector; + n_position_ids->m_field_name = field_name; + n_position_ids->m_df_type = DF_Type::int32_t; + n_position_ids->m_rdf_type = RDF_Type::Vector; + n_position_ids->m_node_type = NodeType::Vector; + n_position_ids->m_addornements = "v"; + n_position_ids->m_address = base + offset; + n_position_ids->m_parent = p_node_parent; + n_position_ids->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_position_ids); + + field_name = "selected_histfig_ids"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_topicmeeting_fill_land_holder_positionsst, field_name)); + auto n_selected_histfig_ids = new NodeVector; + n_selected_histfig_ids->m_field_name = field_name; + n_selected_histfig_ids->m_df_type = DF_Type::int32_t; + n_selected_histfig_ids->m_rdf_type = RDF_Type::Vector; + n_selected_histfig_ids->m_node_type = NodeType::Vector; + n_selected_histfig_ids->m_addornements = "v"; + n_selected_histfig_ids->m_address = base + offset; + n_selected_histfig_ids->m_parent = p_node_parent; + n_selected_histfig_ids->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_selected_histfig_ids); + + field_name = "candidate_histfig_ids"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_topicmeeting_fill_land_holder_positionsst, field_name)); + auto n_candidate_histfig_ids = new NodeVector; + n_candidate_histfig_ids->m_field_name = field_name; + n_candidate_histfig_ids->m_df_type = DF_Type::int32_t; + n_candidate_histfig_ids->m_rdf_type = RDF_Type::Vector; + n_candidate_histfig_ids->m_node_type = NodeType::Vector; + n_candidate_histfig_ids->m_addornements = "v"; + n_candidate_histfig_ids->m_address = base + offset; + n_candidate_histfig_ids->m_parent = p_node_parent; + n_candidate_histfig_ids->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_candidate_histfig_ids); + + field_name = "position_cursor"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_topicmeeting_fill_land_holder_positionsst, field_name)); + auto n_position_cursor = new NodeSimple; + n_position_cursor->m_field_name = field_name; + n_position_cursor->m_df_type = DF_Type::int32_t; + n_position_cursor->m_rdf_type = RDF_Type::int32_t; + n_position_cursor->m_node_type = NodeType::Simple; + n_position_cursor->m_address = base + offset; + n_position_cursor->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_position_cursor); + + field_name = "cursor"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_topicmeeting_fill_land_holder_positionsst, field_name)); + auto n_cursor = new NodeSimple; + n_cursor->m_field_name = field_name; + n_cursor->m_df_type = DF_Type::int32_t; + n_cursor->m_rdf_type = RDF_Type::int32_t; + n_cursor->m_node_type = NodeType::Simple; + n_cursor->m_address = base + offset; + n_cursor->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cursor); + +} +void node_from_viewscreen_topicmeeting_takerequestsst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "title"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_topicmeeting_takerequestsst, field_name)); + auto n_title= new NodePadding; + n_title->m_field_name = field_name; + n_title->m_df_type = DF_Type::Static_string; + n_title->m_rdf_type = RDF_Type::Static_string; + n_title->m_node_type = NodeType::StaticString; + n_title->m_address = base + offset; + n_title->m_size = 256; + n_title->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_title); + + field_name = "popup"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_topicmeeting_takerequestsst, field_name)); + auto n_popup = new NodePointer; + n_popup->m_field_name = field_name; + n_popup->m_df_type = get_real_subtype(base+offset, DF_Type::dipscript_popup); + n_popup->m_rdf_type = RDF_Type::Pointer; + n_popup->m_node_type = NodeType::Pointer; + n_popup->m_addornements = "*"; + n_popup->m_address = base + offset; + n_popup->m_parent = p_node_parent; + n_popup->m_defined_in = "df.meeting.xml"; + n_popup->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_popup); + + field_name = "meeting"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_topicmeeting_takerequestsst, field_name)); + auto n_meeting = new NodePointer; + n_meeting->m_field_name = field_name; + n_meeting->m_df_type = get_real_subtype(base+offset, DF_Type::meeting_diplomat_info); + n_meeting->m_rdf_type = RDF_Type::Pointer; + n_meeting->m_node_type = NodeType::Pointer; + n_meeting->m_addornements = "*"; + n_meeting->m_address = base + offset; + n_meeting->m_parent = p_node_parent; + n_meeting->m_defined_in = "df.meeting.xml"; + n_meeting->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_meeting); + + field_name = "type_categories"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_topicmeeting_takerequestsst, field_name)); + auto n_type_categories = new NodeVector; + n_type_categories->m_field_name = field_name; + n_type_categories->m_df_type = DF_Type::entity_sell_category; + n_type_categories->m_rdf_type = RDF_Type::Vector; + n_type_categories->m_node_type = NodeType::Vector; + n_type_categories->m_enum_base = DF_Type::int16_t; + n_type_categories->m_defined_in = "df.entities.xml"; + n_type_categories->m_addornements = "v"; + n_type_categories->m_address = base + offset; + n_type_categories->m_parent = p_node_parent; + n_type_categories->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_type_categories); + + field_name = "type_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_topicmeeting_takerequestsst, field_name)); + auto n_type_idx = new NodeSimple; + n_type_idx->m_field_name = field_name; + n_type_idx->m_df_type = DF_Type::int32_t; + n_type_idx->m_rdf_type = RDF_Type::int32_t; + n_type_idx->m_node_type = NodeType::Simple; + n_type_idx->m_address = base + offset; + n_type_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type_idx); + + field_name = "good_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_topicmeeting_takerequestsst, field_name)); + auto n_good_idx = new NodeSimple; + n_good_idx->m_field_name = field_name; + n_good_idx->m_df_type = DF_Type::int32_t; + n_good_idx->m_rdf_type = RDF_Type::int32_t; + n_good_idx->m_node_type = NodeType::Simple; + n_good_idx->m_address = base + offset; + n_good_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_good_idx); + +} +void node_from_viewscreen_tradeagreementst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "requests"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradeagreementst, field_name)); + auto n_requests = new NodePointer; + n_requests->m_field_name = field_name; + n_requests->m_df_type = get_real_subtype(base+offset, DF_Type::entity_sell_prices); + n_requests->m_rdf_type = RDF_Type::Pointer; + n_requests->m_node_type = NodeType::Pointer; + n_requests->m_addornements = "*"; + n_requests->m_address = base + offset; + n_requests->m_parent = p_node_parent; + n_requests->m_defined_in = "df.entities.xml"; + n_requests->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_requests); + + field_name = "civ_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradeagreementst, field_name)); + auto n_civ_id = new NodeSimple; + n_civ_id->m_field_name = field_name; + n_civ_id->m_df_type = DF_Type::int32_t; + n_civ_id->m_rdf_type = RDF_Type::int32_t; + n_civ_id->m_node_type = NodeType::Simple; + n_civ_id->m_address = base + offset; + n_civ_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_civ_id); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradeagreementst, field_name)); + auto n_anon_1 = new NodeVector; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int16_t; + n_anon_1->m_rdf_type = RDF_Type::Vector; + n_anon_1->m_node_type = NodeType::Vector; + n_anon_1->m_addornements = "v"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "type_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradeagreementst, field_name)); + auto n_type_idx = new NodeSimple; + n_type_idx->m_field_name = field_name; + n_type_idx->m_df_type = DF_Type::int32_t; + n_type_idx->m_rdf_type = RDF_Type::int32_t; + n_type_idx->m_node_type = NodeType::Simple; + n_type_idx->m_address = base + offset; + n_type_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type_idx); + + field_name = "good_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradeagreementst, field_name)); + auto n_good_idx = new NodeSimple; + n_good_idx->m_field_name = field_name; + n_good_idx->m_df_type = DF_Type::int32_t; + n_good_idx->m_rdf_type = RDF_Type::int32_t; + n_good_idx->m_node_type = NodeType::Simple; + n_good_idx->m_address = base + offset; + n_good_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_good_idx); + + field_name = "title"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradeagreementst, field_name)); + auto n_title= new NodePadding; + n_title->m_field_name = field_name; + n_title->m_df_type = DF_Type::Static_string; + n_title->m_rdf_type = RDF_Type::Static_string; + n_title->m_node_type = NodeType::StaticString; + n_title->m_address = base + offset; + n_title->m_size = 256; + n_title->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_title); + + field_name = "civ"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradeagreementst, field_name)); + auto n_civ = new NodePointer; + n_civ->m_field_name = field_name; + n_civ->m_df_type = get_real_subtype(base+offset, DF_Type::historical_entity); + n_civ->m_rdf_type = RDF_Type::Pointer; + n_civ->m_node_type = NodeType::Pointer; + n_civ->m_addornements = "*"; + n_civ->m_address = base + offset; + n_civ->m_parent = p_node_parent; + n_civ->m_defined_in = "df.entities.xml"; + n_civ->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_civ); + +} +void node_from_viewscreen_tradegoodsst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "title"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradegoodsst, field_name)); + auto n_title= new NodePadding; + n_title->m_field_name = field_name; + n_title->m_df_type = DF_Type::Static_string; + n_title->m_rdf_type = RDF_Type::Static_string; + n_title->m_node_type = NodeType::StaticString; + n_title->m_address = base + offset; + n_title->m_size = 256; + n_title->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_title); + + field_name = "merchant_name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradegoodsst, field_name)); + auto n_merchant_name = new NodeSimple; + n_merchant_name->m_field_name = field_name; + n_merchant_name->m_df_type = DF_Type::Stl_string; + n_merchant_name->m_rdf_type = RDF_Type::Stl_string; + n_merchant_name->m_node_type = NodeType::Simple; + n_merchant_name->m_address = base + offset; + n_merchant_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_merchant_name); + + field_name = "merchant_entity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradegoodsst, field_name)); + auto n_merchant_entity = new NodeSimple; + n_merchant_entity->m_field_name = field_name; + n_merchant_entity->m_df_type = DF_Type::Stl_string; + n_merchant_entity->m_rdf_type = RDF_Type::Stl_string; + n_merchant_entity->m_node_type = NodeType::Simple; + n_merchant_entity->m_address = base + offset; + n_merchant_entity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_merchant_entity); + + field_name = "depot"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradegoodsst, field_name)); + auto n_depot = new NodePointer; + n_depot->m_field_name = field_name; + n_depot->m_df_type = get_real_subtype(base+offset, DF_Type::building_tradedepotst); + n_depot->m_rdf_type = RDF_Type::Pointer; + n_depot->m_node_type = NodeType::Pointer; + n_depot->m_addornements = "*"; + n_depot->m_address = base + offset; + n_depot->m_parent = p_node_parent; + n_depot->m_defined_in = "df.buildings.xml"; + n_depot->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_depot); + + field_name = "caravan"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradegoodsst, field_name)); + auto n_caravan = new NodePointer; + n_caravan->m_field_name = field_name; + n_caravan->m_df_type = get_real_subtype(base+offset, DF_Type::caravan_state); + n_caravan->m_rdf_type = RDF_Type::Pointer; + n_caravan->m_node_type = NodeType::Pointer; + n_caravan->m_addornements = "*"; + n_caravan->m_address = base + offset; + n_caravan->m_parent = p_node_parent; + n_caravan->m_defined_in = "df.entities.xml"; + n_caravan->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_caravan); + + field_name = "entity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradegoodsst, field_name)); + auto n_entity = new NodePointer; + n_entity->m_field_name = field_name; + n_entity->m_df_type = get_real_subtype(base+offset, DF_Type::historical_entity); + n_entity->m_rdf_type = RDF_Type::Pointer; + n_entity->m_node_type = NodeType::Pointer; + n_entity->m_addornements = "*"; + n_entity->m_address = base + offset; + n_entity->m_parent = p_node_parent; + n_entity->m_defined_in = "df.entities.xml"; + n_entity->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_entity); + + field_name = "is_unloading"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradegoodsst, field_name)); + auto n_is_unloading = new NodeSimple; + n_is_unloading->m_field_name = field_name; + n_is_unloading->m_df_type = DF_Type::Bool; + n_is_unloading->m_rdf_type = RDF_Type::Bool; + n_is_unloading->m_node_type = NodeType::Simple; + n_is_unloading->m_address = base + offset; + n_is_unloading->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_is_unloading); + + field_name = "has_traders"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradegoodsst, field_name)); + auto n_has_traders = new NodeSimple; + n_has_traders->m_field_name = field_name; + n_has_traders->m_df_type = DF_Type::Bool; + n_has_traders->m_rdf_type = RDF_Type::Bool; + n_has_traders->m_node_type = NodeType::Simple; + n_has_traders->m_address = base + offset; + n_has_traders->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_has_traders); + + field_name = "trader"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradegoodsst, field_name)); + auto n_trader = new NodePointer; + n_trader->m_field_name = field_name; + n_trader->m_df_type = get_real_subtype(base+offset, DF_Type::unit); + n_trader->m_rdf_type = RDF_Type::Pointer; + n_trader->m_node_type = NodeType::Pointer; + n_trader->m_addornements = "*"; + n_trader->m_address = base + offset; + n_trader->m_parent = p_node_parent; + n_trader->m_defined_in = "df.units.xml"; + n_trader->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_trader); + + field_name = "broker"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradegoodsst, field_name)); + auto n_broker = new NodePointer; + n_broker->m_field_name = field_name; + n_broker->m_df_type = get_real_subtype(base+offset, DF_Type::unit); + n_broker->m_rdf_type = RDF_Type::Pointer; + n_broker->m_node_type = NodeType::Pointer; + n_broker->m_addornements = "*"; + n_broker->m_address = base + offset; + n_broker->m_parent = p_node_parent; + n_broker->m_defined_in = "df.units.xml"; + n_broker->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_broker); + + field_name = "trader_items"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradegoodsst, field_name)); + auto n_trader_items = new NodeVector; + n_trader_items->m_field_name = field_name; + n_trader_items->m_df_type = DF_Type::item; + n_trader_items->m_rdf_type = RDF_Type::Vector; + n_trader_items->m_node_type = NodeType::Vector; + n_trader_items->m_defined_in = "df.items.xml"; + n_trader_items->m_addornements = "v*"; + n_trader_items->m_address = base + offset; + n_trader_items->m_parent = p_node_parent; + n_trader_items->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_trader_items); + + field_name = "broker_items"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradegoodsst, field_name)); + auto n_broker_items = new NodeVector; + n_broker_items->m_field_name = field_name; + n_broker_items->m_df_type = DF_Type::item; + n_broker_items->m_rdf_type = RDF_Type::Vector; + n_broker_items->m_node_type = NodeType::Vector; + n_broker_items->m_defined_in = "df.items.xml"; + n_broker_items->m_addornements = "v*"; + n_broker_items->m_address = base + offset; + n_broker_items->m_parent = p_node_parent; + n_broker_items->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_broker_items); + + field_name = "trader_selected"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradegoodsst, field_name)); + auto n_trader_selected = new NodeVector; + n_trader_selected->m_field_name = field_name; + n_trader_selected->m_df_type = DF_Type::Bool; + n_trader_selected->m_rdf_type = RDF_Type::Vector; + n_trader_selected->m_node_type = NodeType::Vector; + n_trader_selected->m_addornements = "v"; + n_trader_selected->m_address = base + offset; + n_trader_selected->m_parent = p_node_parent; + n_trader_selected->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_trader_selected); + + field_name = "broker_selected"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradegoodsst, field_name)); + auto n_broker_selected = new NodeVector; + n_broker_selected->m_field_name = field_name; + n_broker_selected->m_df_type = DF_Type::Bool; + n_broker_selected->m_rdf_type = RDF_Type::Vector; + n_broker_selected->m_node_type = NodeType::Vector; + n_broker_selected->m_addornements = "v"; + n_broker_selected->m_address = base + offset; + n_broker_selected->m_parent = p_node_parent; + n_broker_selected->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_broker_selected); + + field_name = "trader_count"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradegoodsst, field_name)); + auto n_trader_count = new NodeVector; + n_trader_count->m_field_name = field_name; + n_trader_count->m_df_type = DF_Type::int32_t; + n_trader_count->m_rdf_type = RDF_Type::Vector; + n_trader_count->m_node_type = NodeType::Vector; + n_trader_count->m_addornements = "v"; + n_trader_count->m_address = base + offset; + n_trader_count->m_parent = p_node_parent; + n_trader_count->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_trader_count); + + field_name = "broker_count"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradegoodsst, field_name)); + auto n_broker_count = new NodeVector; + n_broker_count->m_field_name = field_name; + n_broker_count->m_df_type = DF_Type::int32_t; + n_broker_count->m_rdf_type = RDF_Type::Vector; + n_broker_count->m_node_type = NodeType::Vector; + n_broker_count->m_addornements = "v"; + n_broker_count->m_address = base + offset; + n_broker_count->m_parent = p_node_parent; + n_broker_count->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_broker_count); + + field_name = "trader_cursor"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradegoodsst, field_name)); + auto n_trader_cursor = new NodeSimple; + n_trader_cursor->m_field_name = field_name; + n_trader_cursor->m_df_type = DF_Type::int32_t; + n_trader_cursor->m_rdf_type = RDF_Type::int32_t; + n_trader_cursor->m_node_type = NodeType::Simple; + n_trader_cursor->m_address = base + offset; + n_trader_cursor->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_trader_cursor); + + field_name = "broker_cursor"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradegoodsst, field_name)); + auto n_broker_cursor = new NodeSimple; + n_broker_cursor->m_field_name = field_name; + n_broker_cursor->m_df_type = DF_Type::int32_t; + n_broker_cursor->m_rdf_type = RDF_Type::int32_t; + n_broker_cursor->m_node_type = NodeType::Simple; + n_broker_cursor->m_address = base + offset; + n_broker_cursor->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_broker_cursor); + + field_name = "in_right_pane"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradegoodsst, field_name)); + auto n_in_right_pane = new NodeSimple; + n_in_right_pane->m_field_name = field_name; + n_in_right_pane->m_df_type = DF_Type::Bool; + n_in_right_pane->m_rdf_type = RDF_Type::Bool; + n_in_right_pane->m_node_type = NodeType::Simple; + n_in_right_pane->m_address = base + offset; + n_in_right_pane->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_in_right_pane); + + field_name = "trade_reply"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradegoodsst, field_name)); + auto n_trade_reply = new NodeSimple; + n_trade_reply->m_field_name = field_name; + n_trade_reply->m_df_type = DF_Type::int16_t; + n_trade_reply->m_rdf_type = RDF_Type::int16_t; + n_trade_reply->m_node_type = NodeType::Simple; + n_trade_reply->m_address = base + offset; + n_trade_reply->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_trade_reply); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradegoodsst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int16_t; + n_anon_1->m_rdf_type = RDF_Type::int16_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradegoodsst, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "has_offer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradegoodsst, field_name)); + auto n_has_offer = new NodeSimple; + n_has_offer->m_field_name = field_name; + n_has_offer->m_df_type = DF_Type::int8_t; + n_has_offer->m_rdf_type = RDF_Type::int8_t; + n_has_offer->m_node_type = NodeType::Simple; + n_has_offer->m_address = base + offset; + n_has_offer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_has_offer); + + field_name = "counteroffer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradegoodsst, field_name)); + auto n_counteroffer = new NodeVector; + n_counteroffer->m_field_name = field_name; + n_counteroffer->m_df_type = DF_Type::item; + n_counteroffer->m_rdf_type = RDF_Type::Vector; + n_counteroffer->m_node_type = NodeType::Vector; + n_counteroffer->m_defined_in = "df.items.xml"; + n_counteroffer->m_addornements = "v*"; + n_counteroffer->m_address = base + offset; + n_counteroffer->m_parent = p_node_parent; + n_counteroffer->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_counteroffer); + + field_name = "in_edit_count"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradegoodsst, field_name)); + auto n_in_edit_count = new NodeSimple; + n_in_edit_count->m_field_name = field_name; + n_in_edit_count->m_df_type = DF_Type::int8_t; + n_in_edit_count->m_rdf_type = RDF_Type::int8_t; + n_in_edit_count->m_node_type = NodeType::Simple; + n_in_edit_count->m_address = base + offset; + n_in_edit_count->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_in_edit_count); + + field_name = "edit_count"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradegoodsst, field_name)); + auto n_edit_count = new NodeSimple; + n_edit_count->m_field_name = field_name; + n_edit_count->m_df_type = DF_Type::Stl_string; + n_edit_count->m_rdf_type = RDF_Type::Stl_string; + n_edit_count->m_node_type = NodeType::Simple; + n_edit_count->m_address = base + offset; + n_edit_count->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_edit_count); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradegoodsst, field_name)); + auto n_anon_3 = new NodeVector; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::Void; + n_anon_3->m_rdf_type = RDF_Type::Vector; + n_anon_3->m_node_type = NodeType::Vector; + n_anon_3->m_addornements = "v"; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + n_anon_3->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradegoodsst, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + +} +void node_from_viewscreen_tradelistst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "cursor"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradelistst, field_name)); + auto n_cursor = new NodeSimple; + n_cursor->m_field_name = field_name; + n_cursor->m_df_type = DF_Type::int32_t; + n_cursor->m_rdf_type = RDF_Type::int32_t; + n_cursor->m_node_type = NodeType::Simple; + n_cursor->m_address = base + offset; + n_cursor->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cursor); + + field_name = "depot"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradelistst, field_name)); + auto n_depot = new NodePointer; + n_depot->m_field_name = field_name; + n_depot->m_df_type = get_real_subtype(base+offset, DF_Type::building_tradedepotst); + n_depot->m_rdf_type = RDF_Type::Pointer; + n_depot->m_node_type = NodeType::Pointer; + n_depot->m_addornements = "*"; + n_depot->m_address = base + offset; + n_depot->m_parent = p_node_parent; + n_depot->m_defined_in = "df.buildings.xml"; + n_depot->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_depot); + + field_name = "caravans"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_tradelistst, field_name)); + auto n_caravans = new NodeVector; + n_caravans->m_field_name = field_name; + n_caravans->m_df_type = DF_Type::caravan_state; + n_caravans->m_rdf_type = RDF_Type::Vector; + n_caravans->m_node_type = NodeType::Vector; + n_caravans->m_defined_in = "df.entities.xml"; + n_caravans->m_addornements = "v*"; + n_caravans->m_address = base + offset; + n_caravans->m_parent = p_node_parent; + n_caravans->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_caravans); + +} +void node_from_viewscreen_treasurelistst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "sel_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_treasurelistst, field_name)); + auto n_sel_idx = new NodeSimple; + n_sel_idx->m_field_name = field_name; + n_sel_idx->m_df_type = DF_Type::int32_t; + n_sel_idx->m_rdf_type = RDF_Type::int32_t; + n_sel_idx->m_node_type = NodeType::Simple; + n_sel_idx->m_address = base + offset; + n_sel_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sel_idx); + +} +void node_from_viewscreen_unitst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unit"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_unitst, field_name)); + auto n_unit = new NodePointer; + n_unit->m_field_name = field_name; + n_unit->m_df_type = get_real_subtype(base+offset, DF_Type::unit); + n_unit->m_rdf_type = RDF_Type::Pointer; + n_unit->m_node_type = NodeType::Pointer; + n_unit->m_addornements = "*"; + n_unit->m_address = base + offset; + n_unit->m_parent = p_node_parent; + n_unit->m_defined_in = "df.units.xml"; + n_unit->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unit); + + field_name = "noble_assignments"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_unitst, field_name)); + auto n_noble_assignments = new NodePointer; + n_noble_assignments->m_field_name = field_name; + n_noble_assignments->m_df_type = get_real_subtype(base+offset, DF_Type::entity_position_assignment); + n_noble_assignments->m_rdf_type = RDF_Type::Pointer; + n_noble_assignments->m_node_type = NodeType::Pointer; + n_noble_assignments->m_addornements = "*v*"; + n_noble_assignments->m_address = base + offset; + n_noble_assignments->m_parent = p_node_parent; + n_noble_assignments->m_defined_in = "df.entities.xml"; + n_noble_assignments->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_noble_assignments); + + field_name = "noble_histfigs"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_unitst, field_name)); + auto n_noble_histfigs = new NodePointer; + n_noble_histfigs->m_field_name = field_name; + n_noble_histfigs->m_df_type = get_real_subtype(base+offset, DF_Type::int32_t); + n_noble_histfigs->m_rdf_type = RDF_Type::Pointer; + n_noble_histfigs->m_node_type = NodeType::Pointer; + n_noble_histfigs->m_addornements = "*v"; + n_noble_histfigs->m_address = base + offset; + n_noble_histfigs->m_parent = p_node_parent; + n_noble_histfigs->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_noble_histfigs); + + field_name = "noble_groups"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_unitst, field_name)); + auto n_noble_groups = new NodePointer; + n_noble_groups->m_field_name = field_name; + n_noble_groups->m_df_type = get_real_subtype(base+offset, DF_Type::int32_t); + n_noble_groups->m_rdf_type = RDF_Type::Pointer; + n_noble_groups->m_node_type = NodeType::Pointer; + n_noble_groups->m_addornements = "*v"; + n_noble_groups->m_address = base + offset; + n_noble_groups->m_parent = p_node_parent; + n_noble_groups->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_noble_groups); + + field_name = "has_kills"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_unitst, field_name)); + auto n_has_kills = new NodeSimple; + n_has_kills->m_field_name = field_name; + n_has_kills->m_df_type = DF_Type::Bool; + n_has_kills->m_rdf_type = RDF_Type::Bool; + n_has_kills->m_node_type = NodeType::Simple; + n_has_kills->m_address = base + offset; + n_has_kills->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_has_kills); + +} +void node_from_viewscreen_unitlistst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "allow_zoom"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_unitlistst, field_name)); + auto n_allow_zoom = new NodeSimple; + n_allow_zoom->m_field_name = field_name; + n_allow_zoom->m_df_type = DF_Type::Bool; + n_allow_zoom->m_rdf_type = RDF_Type::Bool; + n_allow_zoom->m_node_type = NodeType::Simple; + n_allow_zoom->m_address = base + offset; + n_allow_zoom->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_allow_zoom); + + field_name = "page"; + auto n_page = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_unitlistst, field_name)); + n_page->m_field_name = field_name; + n_page->m_df_type = DF_Type::viewscreen_unitlist_page; + n_page->m_rdf_type = RDF_Type::Enum; + n_page->m_node_type = NodeType::Enum; + n_page->m_base_type = DF_Type::int32_t; + n_page->m_enum_type = "viewscreen_unitlist_page"; + n_page->m_address = base + offset; + n_page->m_defined_in = "df.viewscreen.xml"; + n_page->m_first_value = 0; + n_page->m_last_value = 3; + n_page->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_page); + + field_name = "cursor_pos"; + auto n_cursor_pos = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_unitlistst, field_name)); + n_cursor_pos->m_field_name = field_name; + n_cursor_pos->m_df_type = DF_Type::int32_t; + n_cursor_pos->m_rdf_type = RDF_Type::Array; + n_cursor_pos->m_node_type = NodeType::Array; + n_cursor_pos->m_index_enum = DF_Type::viewscreen_unitlist_page; + n_cursor_pos->m_addornements = "[4"; + n_cursor_pos->m_array_size = 4; + n_cursor_pos->m_address = base + offset; + n_cursor_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cursor_pos); + + field_name = "jobs"; + auto n_jobs = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_unitlistst, field_name)); + n_jobs->m_field_name = field_name; + n_jobs->m_df_type = DF_Type::job; + n_jobs->m_rdf_type = RDF_Type::Array; + n_jobs->m_node_type = NodeType::Array; + n_jobs->m_index_enum = DF_Type::viewscreen_unitlist_page; + n_jobs->m_defined_in = "df.jobs.xml"; + n_jobs->m_addornements = "[4v*"; + n_jobs->m_array_size = 4; + n_jobs->m_address = base + offset; + n_jobs->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_jobs); + + field_name = "units"; + auto n_units = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_unitlistst, field_name)); + n_units->m_field_name = field_name; + n_units->m_df_type = DF_Type::unit; + n_units->m_rdf_type = RDF_Type::Array; + n_units->m_node_type = NodeType::Array; + n_units->m_index_enum = DF_Type::viewscreen_unitlist_page; + n_units->m_defined_in = "df.units.xml"; + n_units->m_addornements = "[4v*"; + n_units->m_array_size = 4; + n_units->m_address = base + offset; + n_units->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_units); + +} +void node_from_viewscreen_wagesst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "profession_category"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_wagesst, field_name)); + auto n_profession_category = new NodeSimple; + n_profession_category->m_field_name = field_name; + n_profession_category->m_df_type = DF_Type::int16_t; + n_profession_category->m_rdf_type = RDF_Type::int16_t; + n_profession_category->m_node_type = NodeType::Simple; + n_profession_category->m_address = base + offset; + n_profession_category->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_profession_category); + +} +void node_from_viewscreen_workquota_conditionst__T_traits(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst__T_traits, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::viewscreen_workquota_conditionst__T_traits__T_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst__T_traits, field_name)); + auto n_type = new NodeSimple; + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::int32_t; + n_type->m_rdf_type = RDF_Type::int32_t; + n_type->m_node_type = NodeType::Simple; + n_type->m_address = base + offset; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + + field_name = "item_desc"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst__T_traits, field_name)); + auto n_item_desc = new NodeSimple; + n_item_desc->m_field_name = field_name; + n_item_desc->m_df_type = DF_Type::Stl_string; + n_item_desc->m_rdf_type = RDF_Type::Stl_string; + n_item_desc->m_node_type = NodeType::Simple; + n_item_desc->m_address = base + offset; + n_item_desc->m_comment = "e.g. FAT"; + n_item_desc->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_desc); + + field_name = "product_desc"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst__T_traits, field_name)); + auto n_product_desc = new NodeSimple; + n_product_desc->m_field_name = field_name; + n_product_desc->m_df_type = DF_Type::Stl_string; + n_product_desc->m_rdf_type = RDF_Type::Stl_string; + n_product_desc->m_node_type = NodeType::Simple; + n_product_desc->m_address = base + offset; + n_product_desc->m_comment = "e.g. BAG_ITEM (-producing)"; + n_product_desc->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_product_desc); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst__T_traits, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst__T_traits, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst__T_traits, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst__T_traits, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst__T_traits, field_name)); + auto n_name = new NodeSimple; + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Stl_string; + n_name->m_node_type = NodeType::Simple; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + +} +void node_from_viewscreen_workquota_conditionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "order"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst, field_name)); + auto n_order = new NodePointer; + n_order->m_field_name = field_name; + n_order->m_df_type = get_real_subtype(base+offset, DF_Type::manager_order); + n_order->m_rdf_type = RDF_Type::Pointer; + n_order->m_node_type = NodeType::Pointer; + n_order->m_addornements = "*"; + n_order->m_address = base + offset; + n_order->m_parent = p_node_parent; + n_order->m_defined_in = "df.jobs.xml"; + n_order->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_order); + + field_name = "cond_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst, field_name)); + auto n_cond_idx = new NodeSimple; + n_cond_idx->m_field_name = field_name; + n_cond_idx->m_df_type = DF_Type::int32_t; + n_cond_idx->m_rdf_type = RDF_Type::int32_t; + n_cond_idx->m_node_type = NodeType::Simple; + n_cond_idx->m_address = base + offset; + n_cond_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cond_idx); + + field_name = "satisfied_items"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst, field_name)); + auto n_satisfied_items = new NodeVector; + n_satisfied_items->m_field_name = field_name; + n_satisfied_items->m_df_type = DF_Type::Bool; + n_satisfied_items->m_rdf_type = RDF_Type::Vector; + n_satisfied_items->m_node_type = NodeType::Vector; + n_satisfied_items->m_addornements = "v"; + n_satisfied_items->m_address = base + offset; + n_satisfied_items->m_parent = p_node_parent; + n_satisfied_items->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_satisfied_items); + + field_name = "satisfied_orders"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst, field_name)); + auto n_satisfied_orders = new NodeVector; + n_satisfied_orders->m_field_name = field_name; + n_satisfied_orders->m_df_type = DF_Type::Bool; + n_satisfied_orders->m_rdf_type = RDF_Type::Vector; + n_satisfied_orders->m_node_type = NodeType::Vector; + n_satisfied_orders->m_addornements = "v"; + n_satisfied_orders->m_address = base + offset; + n_satisfied_orders->m_parent = p_node_parent; + n_satisfied_orders->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_satisfied_orders); + + field_name = "filter"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst, field_name)); + auto n_filter = new NodeSimple; + n_filter->m_field_name = field_name; + n_filter->m_df_type = DF_Type::Stl_string; + n_filter->m_rdf_type = RDF_Type::Stl_string; + n_filter->m_node_type = NodeType::Simple; + n_filter->m_address = base + offset; + n_filter->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_filter); + + field_name = "list_entries"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst, field_name)); + auto n_list_entries = new NodeVector; + n_list_entries->m_field_name = field_name; + n_list_entries->m_df_type = DF_Type::Stl_string; + n_list_entries->m_rdf_type = RDF_Type::Vector; + n_list_entries->m_node_type = NodeType::Vector; + n_list_entries->m_addornements = "v*"; + n_list_entries->m_address = base + offset; + n_list_entries->m_parent = p_node_parent; + n_list_entries->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_list_entries); + + field_name = "list_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst, field_name)); + auto n_list_idx = new NodeSimple; + n_list_idx->m_field_name = field_name; + n_list_idx->m_df_type = DF_Type::int32_t; + n_list_idx->m_rdf_type = RDF_Type::int32_t; + n_list_idx->m_node_type = NodeType::Simple; + n_list_idx->m_address = base + offset; + n_list_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_list_idx); + + field_name = "mode"; + auto n_mode = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst, field_name)); + n_mode->m_field_name = field_name; + n_mode->m_df_type = DF_Type::viewscreen_workquota_conditionst__T_mode; + n_mode->m_rdf_type = RDF_Type::Enum; + n_mode->m_node_type = NodeType::Enum; + n_mode->m_base_type = DF_Type::int32_t; + n_mode->m_enum_type = "viewscreen_workquota_conditionst::T_mode"; + n_mode->m_address = base + offset; + n_mode->m_first_value = -1; + n_mode->m_last_value = 2; + n_mode->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mode); + + field_name = "item_types"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst, field_name)); + auto n_item_types = new NodeVector; + n_item_types->m_field_name = field_name; + n_item_types->m_df_type = DF_Type::int16_t; + n_item_types->m_rdf_type = RDF_Type::Vector; + n_item_types->m_node_type = NodeType::Vector; + n_item_types->m_addornements = "v"; + n_item_types->m_address = base + offset; + n_item_types->m_parent = p_node_parent; + n_item_types->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_item_types); + + field_name = "item_subtypes"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst, field_name)); + auto n_item_subtypes = new NodeVector; + n_item_subtypes->m_field_name = field_name; + n_item_subtypes->m_df_type = DF_Type::int16_t; + n_item_subtypes->m_rdf_type = RDF_Type::Vector; + n_item_subtypes->m_node_type = NodeType::Vector; + n_item_subtypes->m_addornements = "v"; + n_item_subtypes->m_address = base + offset; + n_item_subtypes->m_parent = p_node_parent; + n_item_subtypes->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_item_subtypes); + + field_name = "item_types_visible"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst, field_name)); + auto n_item_types_visible = new NodeVector; + n_item_types_visible->m_field_name = field_name; + n_item_types_visible->m_df_type = DF_Type::int16_t; + n_item_types_visible->m_rdf_type = RDF_Type::Vector; + n_item_types_visible->m_node_type = NodeType::Vector; + n_item_types_visible->m_addornements = "v"; + n_item_types_visible->m_address = base + offset; + n_item_types_visible->m_parent = p_node_parent; + n_item_types_visible->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_item_types_visible); + + field_name = "item_subtypes_visible"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst, field_name)); + auto n_item_subtypes_visible = new NodeVector; + n_item_subtypes_visible->m_field_name = field_name; + n_item_subtypes_visible->m_df_type = DF_Type::int16_t; + n_item_subtypes_visible->m_rdf_type = RDF_Type::Vector; + n_item_subtypes_visible->m_node_type = NodeType::Vector; + n_item_subtypes_visible->m_addornements = "v"; + n_item_subtypes_visible->m_address = base + offset; + n_item_subtypes_visible->m_parent = p_node_parent; + n_item_subtypes_visible->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_item_subtypes_visible); + + field_name = "mat_types"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst, field_name)); + auto n_mat_types = new NodeVector; + n_mat_types->m_field_name = field_name; + n_mat_types->m_df_type = DF_Type::int16_t; + n_mat_types->m_rdf_type = RDF_Type::Vector; + n_mat_types->m_node_type = NodeType::Vector; + n_mat_types->m_addornements = "v"; + n_mat_types->m_address = base + offset; + n_mat_types->m_parent = p_node_parent; + n_mat_types->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_mat_types); + + field_name = "mat_indices"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst, field_name)); + auto n_mat_indices = new NodeVector; + n_mat_indices->m_field_name = field_name; + n_mat_indices->m_df_type = DF_Type::int32_t; + n_mat_indices->m_rdf_type = RDF_Type::Vector; + n_mat_indices->m_node_type = NodeType::Vector; + n_mat_indices->m_addornements = "v"; + n_mat_indices->m_address = base + offset; + n_mat_indices->m_parent = p_node_parent; + n_mat_indices->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_mat_indices); + + field_name = "list_unk3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst, field_name)); + auto n_list_unk3 = new NodeVector; + n_list_unk3->m_field_name = field_name; + n_list_unk3->m_df_type = DF_Type::int16_t; + n_list_unk3->m_rdf_type = RDF_Type::Vector; + n_list_unk3->m_node_type = NodeType::Vector; + n_list_unk3->m_addornements = "v"; + n_list_unk3->m_address = base + offset; + n_list_unk3->m_parent = p_node_parent; + n_list_unk3->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_list_unk3); + + field_name = "list_visible"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst, field_name)); + auto n_list_visible = new NodeVector; + n_list_visible->m_field_name = field_name; + n_list_visible->m_df_type = DF_Type::int16_t; + n_list_visible->m_rdf_type = RDF_Type::Vector; + n_list_visible->m_node_type = NodeType::Vector; + n_list_visible->m_addornements = "v"; + n_list_visible->m_address = base + offset; + n_list_visible->m_parent = p_node_parent; + n_list_visible->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_list_visible); + + field_name = "traits"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst, field_name)); + auto n_traits = new NodeVector; + n_traits->m_field_name = field_name; + n_traits->m_df_type = DF_Type::viewscreen_workquota_conditionst__T_traits; + n_traits->m_rdf_type = RDF_Type::Vector; + n_traits->m_node_type = NodeType::Vector; + n_traits->m_addornements = "v*"; + n_traits->m_address = base + offset; + n_traits->m_parent = p_node_parent; + n_traits->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_traits); + + field_name = "traits_visible"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst, field_name)); + auto n_traits_visible = new NodeVector; + n_traits_visible->m_field_name = field_name; + n_traits_visible->m_df_type = DF_Type::int32_t; + n_traits_visible->m_rdf_type = RDF_Type::Vector; + n_traits_visible->m_node_type = NodeType::Vector; + n_traits_visible->m_addornements = "v"; + n_traits_visible->m_address = base + offset; + n_traits_visible->m_parent = p_node_parent; + n_traits_visible->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_traits_visible); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int8_t; + n_anon_1->m_rdf_type = RDF_Type::int8_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst, field_name)); + auto n_anon_2 = new NodeVector; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::Void; + n_anon_2->m_rdf_type = RDF_Type::Vector; + n_anon_2->m_node_type = NodeType::Vector; + n_anon_2->m_addornements = "v"; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + n_anon_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "item_count_edit"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst, field_name)); + auto n_item_count_edit = new NodeSimple; + n_item_count_edit->m_field_name = field_name; + n_item_count_edit->m_df_type = DF_Type::Bool; + n_item_count_edit->m_rdf_type = RDF_Type::Bool; + n_item_count_edit->m_node_type = NodeType::Simple; + n_item_count_edit->m_address = base + offset; + n_item_count_edit->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_count_edit); + + field_name = "item_count_entry"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_conditionst, field_name)); + auto n_item_count_entry = new NodeSimple; + n_item_count_entry->m_field_name = field_name; + n_item_count_entry->m_df_type = DF_Type::Stl_string; + n_item_count_entry->m_rdf_type = RDF_Type::Stl_string; + n_item_count_entry->m_node_type = NodeType::Simple; + n_item_count_entry->m_address = base + offset; + n_item_count_entry->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_count_entry); + +} +void node_from_viewscreen_workquota_detailsst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workquota_detailsst, field_name)); + auto n_anon_1 = new NodePointer; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_anon_1->m_rdf_type = RDF_Type::Pointer; + n_anon_1->m_node_type = NodeType::Pointer; + n_anon_1->m_addornements = "*"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_viewscreen_workshop_profilest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "building_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workshop_profilest, field_name)); + auto n_building_id = new NodeSimple; + n_building_id->m_field_name = field_name; + n_building_id->m_df_type = DF_Type::int32_t; + n_building_id->m_rdf_type = RDF_Type::int32_t; + n_building_id->m_node_type = NodeType::Simple; + n_building_id->m_address = base + offset; + n_building_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_building_id); + + field_name = "profile"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workshop_profilest, field_name)); + auto n_profile = new NodePointer; + n_profile->m_field_name = field_name; + n_profile->m_df_type = get_real_subtype(base+offset, DF_Type::workshop_profile); + n_profile->m_rdf_type = RDF_Type::Pointer; + n_profile->m_node_type = NodeType::Pointer; + n_profile->m_addornements = "*"; + n_profile->m_address = base + offset; + n_profile->m_parent = p_node_parent; + n_profile->m_defined_in = "df.buildings.xml"; + n_profile->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_profile); + + field_name = "tab"; + auto n_tab = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workshop_profilest, field_name)); + n_tab->m_field_name = field_name; + n_tab->m_df_type = DF_Type::viewscreen_workshop_profilest__T_tab; + n_tab->m_rdf_type = RDF_Type::Enum; + n_tab->m_node_type = NodeType::Enum; + n_tab->m_base_type = DF_Type::int32_t; + n_tab->m_enum_type = "viewscreen_workshop_profilest::T_tab"; + n_tab->m_address = base + offset; + n_tab->m_first_value = 0; + n_tab->m_last_value = 2; + n_tab->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tab); + + field_name = "workers"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workshop_profilest, field_name)); + auto n_workers = new NodeVector; + n_workers->m_field_name = field_name; + n_workers->m_df_type = DF_Type::unit; + n_workers->m_rdf_type = RDF_Type::Vector; + n_workers->m_node_type = NodeType::Vector; + n_workers->m_defined_in = "df.units.xml"; + n_workers->m_addornements = "v*"; + n_workers->m_address = base + offset; + n_workers->m_parent = p_node_parent; + n_workers->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_workers); + + field_name = "worker_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workshop_profilest, field_name)); + auto n_worker_idx = new NodeSimple; + n_worker_idx->m_field_name = field_name; + n_worker_idx->m_df_type = DF_Type::int32_t; + n_worker_idx->m_rdf_type = RDF_Type::int32_t; + n_worker_idx->m_node_type = NodeType::Simple; + n_worker_idx->m_address = base + offset; + n_worker_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_worker_idx); + + field_name = "orders"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workshop_profilest, field_name)); + auto n_orders = new NodeVector; + n_orders->m_field_name = field_name; + n_orders->m_df_type = DF_Type::manager_order; + n_orders->m_rdf_type = RDF_Type::Vector; + n_orders->m_node_type = NodeType::Vector; + n_orders->m_defined_in = "df.jobs.xml"; + n_orders->m_addornements = "v*"; + n_orders->m_address = base + offset; + n_orders->m_parent = p_node_parent; + n_orders->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_orders); + + field_name = "order_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workshop_profilest, field_name)); + auto n_order_idx = new NodeSimple; + n_order_idx->m_field_name = field_name; + n_order_idx->m_df_type = DF_Type::int32_t; + n_order_idx->m_rdf_type = RDF_Type::int32_t; + n_order_idx->m_node_type = NodeType::Simple; + n_order_idx->m_address = base + offset; + n_order_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_order_idx); + + field_name = "labors"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workshop_profilest, field_name)); + auto n_labors = new NodeVector; + n_labors->m_field_name = field_name; + n_labors->m_df_type = DF_Type::unit_labor; + n_labors->m_rdf_type = RDF_Type::Vector; + n_labors->m_node_type = NodeType::Vector; + n_labors->m_enum_base = enum_base_type(n_labors->m_df_type); + n_labors->m_defined_in = "df.skills.xml"; + n_labors->m_addornements = "v"; + n_labors->m_address = base + offset; + n_labors->m_parent = p_node_parent; + n_labors->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_labors); + + field_name = "labor_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_workshop_profilest, field_name)); + auto n_labor_idx = new NodeSimple; + n_labor_idx->m_field_name = field_name; + n_labor_idx->m_df_type = DF_Type::int32_t; + n_labor_idx->m_rdf_type = RDF_Type::int32_t; + n_labor_idx->m_node_type = NodeType::Simple; + n_labor_idx->m_address = base + offset; + n_labor_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_labor_idx); + +} +void node_from_viewscreen_update_regionst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::viewscreen; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_viewscreen(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_update_regionst, field_name)); + auto n_year = new NodeSimple; + n_year->m_field_name = field_name; + n_year->m_df_type = DF_Type::int32_t; + n_year->m_rdf_type = RDF_Type::int32_t; + n_year->m_node_type = NodeType::Simple; + n_year->m_address = base + offset; + n_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_year); + + field_name = "year_tick"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::viewscreen_update_regionst, field_name)); + auto n_year_tick = new NodeSimple; + n_year_tick->m_field_name = field_name; + n_year_tick->m_df_type = DF_Type::int32_t; + n_year_tick->m_rdf_type = RDF_Type::int32_t; + n_year_tick->m_node_type = NodeType::Simple; + n_year_tick->m_address = base + offset; + n_year_tick->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_year_tick); + +} +void node_from_world_site_unk130__T_unk_4(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk_0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_unk130__T_unk_4, field_name)); + auto n_unk_0 = new NodeSimple; + n_unk_0->m_field_name = field_name; + n_unk_0->m_df_type = DF_Type::int32_t; + n_unk_0->m_rdf_type = RDF_Type::int32_t; + n_unk_0->m_node_type = NodeType::Simple; + n_unk_0->m_address = base + offset; + n_unk_0->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_0); + + field_name = "index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_unk130__T_unk_4, field_name)); + auto n_index = new NodeSimple; + n_index->m_field_name = field_name; + n_index->m_df_type = DF_Type::int32_t; + n_index->m_rdf_type = RDF_Type::int32_t; + n_index->m_node_type = NodeType::Simple; + n_index->m_address = base + offset; + n_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_index); + + field_name = "unk_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_unk130__T_unk_4, field_name)); + auto n_unk_8 = new NodeSimple; + n_unk_8->m_field_name = field_name; + n_unk_8->m_df_type = DF_Type::int32_t; + n_unk_8->m_rdf_type = RDF_Type::int32_t; + n_unk_8->m_node_type = NodeType::Simple; + n_unk_8->m_address = base + offset; + n_unk_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_8); + + field_name = "unk_c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_unk130__T_unk_4, field_name)); + auto n_unk_c = new NodeVector; + n_unk_c->m_field_name = field_name; + n_unk_c->m_df_type = DF_Type::int32_t; + n_unk_c->m_rdf_type = RDF_Type::Vector; + n_unk_c->m_node_type = NodeType::Vector; + n_unk_c->m_addornements = "v"; + n_unk_c->m_address = base + offset; + n_unk_c->m_parent = p_node_parent; + n_unk_c->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_c); + +} +void node_from_world_site_unk130(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_unk130, field_name)); + auto n_index = new NodeSimple; + n_index->m_field_name = field_name; + n_index->m_df_type = DF_Type::int32_t; + n_index->m_rdf_type = RDF_Type::int32_t; + n_index->m_node_type = NodeType::Simple; + n_index->m_address = base + offset; + n_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_index); + + field_name = "unk_4"; + auto n_unk_4 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_unk130, field_name)); + n_unk_4->m_field_name = field_name; + n_unk_4->m_df_type = DF_Type::world_site_unk130__T_unk_4; + n_unk_4->m_rdf_type = RDF_Type::Array; + n_unk_4->m_node_type = NodeType::Array; + n_unk_4->m_addornements = "[4v*"; + n_unk_4->m_array_size = 4; + n_unk_4->m_address = base + offset; + n_unk_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_4); + +} +void node_from_embark_note(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "tile"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_note, field_name)); + auto n_tile = new NodeSimple; + n_tile->m_field_name = field_name; + n_tile->m_df_type = DF_Type::int8_t; + n_tile->m_rdf_type = RDF_Type::int8_t; + n_tile->m_node_type = NodeType::Simple; + n_tile->m_address = base + offset; + n_tile->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tile); + + field_name = "fg_color"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_note, field_name)); + auto n_fg_color = new NodeSimple; + n_fg_color->m_field_name = field_name; + n_fg_color->m_df_type = DF_Type::int16_t; + n_fg_color->m_rdf_type = RDF_Type::int16_t; + n_fg_color->m_node_type = NodeType::Simple; + n_fg_color->m_address = base + offset; + n_fg_color->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_fg_color); + + field_name = "bg_color"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_note, field_name)); + auto n_bg_color = new NodeSimple; + n_bg_color->m_field_name = field_name; + n_bg_color->m_df_type = DF_Type::int16_t; + n_bg_color->m_rdf_type = RDF_Type::int16_t; + n_bg_color->m_node_type = NodeType::Simple; + n_bg_color->m_address = base + offset; + n_bg_color->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_bg_color); + + field_name = "name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_note, field_name)); + auto n_name = new NodeSimple; + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Stl_string; + n_name->m_node_type = NodeType::Simple; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "pos"; + auto n_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_note, field_name)); + n_pos->m_field_name = field_name; + n_pos->m_df_type = DF_Type::coord2d; + n_pos->m_rdf_type = RDF_Type::Struct; + n_pos->m_node_type = NodeType::Compound; + n_pos->m_address = base + offset; + n_pos->m_defined_in = "df.map.xml"; + n_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pos); + + field_name = "left"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_note, field_name)); + auto n_left = new NodeSimple; + n_left->m_field_name = field_name; + n_left->m_df_type = DF_Type::int16_t; + n_left->m_rdf_type = RDF_Type::int16_t; + n_left->m_node_type = NodeType::Simple; + n_left->m_address = base + offset; + n_left->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_left); + + field_name = "right"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_note, field_name)); + auto n_right = new NodeSimple; + n_right->m_field_name = field_name; + n_right->m_df_type = DF_Type::int16_t; + n_right->m_rdf_type = RDF_Type::int16_t; + n_right->m_node_type = NodeType::Simple; + n_right->m_address = base + offset; + n_right->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_right); + + field_name = "top"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_note, field_name)); + auto n_top = new NodeSimple; + n_top->m_field_name = field_name; + n_top->m_df_type = DF_Type::int16_t; + n_top->m_rdf_type = RDF_Type::int16_t; + n_top->m_node_type = NodeType::Simple; + n_top->m_address = base + offset; + n_top->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_top); + + field_name = "bottom"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::embark_note, field_name)); + auto n_bottom = new NodeSimple; + n_bottom->m_field_name = field_name; + n_bottom->m_df_type = DF_Type::int16_t; + n_bottom->m_rdf_type = RDF_Type::int16_t; + n_bottom->m_node_type = NodeType::Simple; + n_bottom->m_address = base + offset; + n_bottom->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_bottom); + +} +void node_from_local_population___union6(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = true) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "race"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::local_population, field_name)); + auto n_race = new NodeSimple; + n_race->m_field_name = field_name; + n_race->m_df_type = DF_Type::int16_t; + n_race->m_rdf_type = RDF_Type::int16_t; + n_race->m_node_type = NodeType::Simple; + n_race->m_address = base + offset; + n_race->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_race); + + field_name = "plant"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::local_population, field_name)); + auto n_plant = new NodeSimple; + n_plant->m_field_name = field_name; + n_plant->m_df_type = DF_Type::int16_t; + n_plant->m_rdf_type = RDF_Type::int16_t; + n_plant->m_node_type = NodeType::Simple; + n_plant->m_address = base + offset; + n_plant->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_plant); + +} +void node_from_local_population(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "type"; + auto n_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::local_population, field_name)); + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::world_population_type; + n_type->m_rdf_type = RDF_Type::Enum; + n_type->m_node_type = NodeType::Enum; + n_type->m_base_type = DF_Type::int8_t; + n_type->m_enum_type = "world_population_type"; + n_type->m_address = base + offset; + n_type->m_defined_in = "df.world-data.xml"; + n_type->m_first_value = 0; + n_type->m_last_value = 7; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + + auto n_$union6 = new NodeAnonymous; + field_name = "race"; // One child of the anonymous union + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::local_population, field_name)); + n_$union6->m_field_name = "N/A"; + n_$union6->m_df_type = DF_Type::local_population___union6; + n_$union6->m_rdf_type = RDF_Type::AnonymousUnion; + n_$union6->m_node_type = NodeType::AnonymousUnion; + n_$union6->m_address = base + offset; + n_$union6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_$union6); + + field_name = "quantity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::local_population, field_name)); + auto n_quantity = new NodeSimple; + n_quantity->m_field_name = field_name; + n_quantity->m_df_type = DF_Type::int32_t; + n_quantity->m_rdf_type = RDF_Type::int32_t; + n_quantity->m_node_type = NodeType::Simple; + n_quantity->m_address = base + offset; + n_quantity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_quantity); + + field_name = "quantity2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::local_population, field_name)); + auto n_quantity2 = new NodeSimple; + n_quantity2->m_field_name = field_name; + n_quantity2->m_df_type = DF_Type::int32_t; + n_quantity2->m_rdf_type = RDF_Type::int32_t; + n_quantity2->m_node_type = NodeType::Simple; + n_quantity2->m_address = base + offset; + n_quantity2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_quantity2); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::local_population, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::local_population__T_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "population"; + auto n_population = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::local_population, field_name)); + n_population->m_field_name = field_name; + n_population->m_df_type = DF_Type::world_population_ref; + n_population->m_rdf_type = RDF_Type::Struct; + n_population->m_node_type = NodeType::Compound; + n_population->m_address = base + offset; + n_population->m_defined_in = "df.world-data.xml"; + n_population->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_population); + + field_name = "wp_unk_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::local_population, field_name)); + auto n_wp_unk_10 = new NodeSimple; + n_wp_unk_10->m_field_name = field_name; + n_wp_unk_10->m_df_type = DF_Type::int32_t; + n_wp_unk_10->m_rdf_type = RDF_Type::int32_t; + n_wp_unk_10->m_node_type = NodeType::Simple; + n_wp_unk_10->m_address = base + offset; + n_wp_unk_10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_wp_unk_10); + + field_name = "wp_unk_18"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::local_population, field_name)); + auto n_wp_unk_18 = new NodeSimple; + n_wp_unk_18->m_field_name = field_name; + n_wp_unk_18->m_df_type = DF_Type::int32_t; + n_wp_unk_18->m_rdf_type = RDF_Type::int32_t; + n_wp_unk_18->m_node_type = NodeType::Simple; + n_wp_unk_18->m_address = base + offset; + n_wp_unk_18->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_wp_unk_18); + + field_name = "wp_unk_1c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::local_population, field_name)); + auto n_wp_unk_1c = new NodeSimple; + n_wp_unk_1c->m_field_name = field_name; + n_wp_unk_1c->m_df_type = DF_Type::int32_t; + n_wp_unk_1c->m_rdf_type = RDF_Type::int32_t; + n_wp_unk_1c->m_node_type = NodeType::Simple; + n_wp_unk_1c->m_address = base + offset; + n_wp_unk_1c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_wp_unk_1c); + +} +void node_from_world_population___union7(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = true) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "race"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_population, field_name)); + auto n_race = new NodeSimple; + n_race->m_field_name = field_name; + n_race->m_df_type = DF_Type::int16_t; + n_race->m_rdf_type = RDF_Type::int16_t; + n_race->m_node_type = NodeType::Simple; + n_race->m_address = base + offset; + n_race->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_race); + + field_name = "plant"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_population, field_name)); + auto n_plant = new NodeSimple; + n_plant->m_field_name = field_name; + n_plant->m_df_type = DF_Type::int16_t; + n_plant->m_rdf_type = RDF_Type::int16_t; + n_plant->m_node_type = NodeType::Simple; + n_plant->m_address = base + offset; + n_plant->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_plant); + +} +void node_from_world_population(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "type"; + auto n_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_population, field_name)); + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::world_population_type; + n_type->m_rdf_type = RDF_Type::Enum; + n_type->m_node_type = NodeType::Enum; + n_type->m_base_type = DF_Type::int16_t; + n_type->m_enum_type = "world_population_type"; + n_type->m_address = base + offset; + n_type->m_defined_in = "df.world-data.xml"; + n_type->m_first_value = 0; + n_type->m_last_value = 7; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + + auto n_$union7 = new NodeAnonymous; + field_name = "race"; // One child of the anonymous union + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_population, field_name)); + n_$union7->m_field_name = "N/A"; + n_$union7->m_df_type = DF_Type::world_population___union7; + n_$union7->m_rdf_type = RDF_Type::AnonymousUnion; + n_$union7->m_node_type = NodeType::AnonymousUnion; + n_$union7->m_address = base + offset; + n_$union7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_$union7); + + field_name = "count_min"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_population, field_name)); + auto n_count_min = new NodeSimple; + n_count_min->m_field_name = field_name; + n_count_min->m_df_type = DF_Type::int32_t; + n_count_min->m_rdf_type = RDF_Type::int32_t; + n_count_min->m_node_type = NodeType::Simple; + n_count_min->m_address = base + offset; + n_count_min->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_count_min); + + field_name = "count_max"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_population, field_name)); + auto n_count_max = new NodeSimple; + n_count_max->m_field_name = field_name; + n_count_max->m_df_type = DF_Type::int32_t; + n_count_max->m_rdf_type = RDF_Type::int32_t; + n_count_max->m_node_type = NodeType::Simple; + n_count_max->m_address = base + offset; + n_count_max->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_count_max); + + field_name = "unk_c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_population, field_name)); + auto n_unk_c = new NodeSimple; + n_unk_c->m_field_name = field_name; + n_unk_c->m_df_type = DF_Type::int32_t; + n_unk_c->m_rdf_type = RDF_Type::int32_t; + n_unk_c->m_node_type = NodeType::Simple; + n_unk_c->m_address = base + offset; + n_unk_c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_c); + + field_name = "owner"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_population, field_name)); + auto n_owner = new NodeSimple; + n_owner->m_field_name = field_name; + n_owner->m_df_type = DF_Type::int32_t; + n_owner->m_rdf_type = RDF_Type::int32_t; + n_owner->m_node_type = NodeType::Simple; + n_owner->m_address = base + offset; + n_owner->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_owner); + + field_name = "unk_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_population, field_name)); + auto n_unk_10 = new NodeSimple; + n_unk_10->m_field_name = field_name; + n_unk_10->m_df_type = DF_Type::int32_t; + n_unk_10->m_rdf_type = RDF_Type::int32_t; + n_unk_10->m_node_type = NodeType::Simple; + n_unk_10->m_address = base + offset; + n_unk_10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_10); + + field_name = "unk_14"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_population, field_name)); + auto n_unk_14 = new NodeSimple; + n_unk_14->m_field_name = field_name; + n_unk_14->m_df_type = DF_Type::int32_t; + n_unk_14->m_rdf_type = RDF_Type::int32_t; + n_unk_14->m_node_type = NodeType::Simple; + n_unk_14->m_address = base + offset; + n_unk_14->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_14); + + field_name = "unk_18"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_population, field_name)); + auto n_unk_18 = new NodeSimple; + n_unk_18->m_field_name = field_name; + n_unk_18->m_df_type = DF_Type::int32_t; + n_unk_18->m_rdf_type = RDF_Type::int32_t; + n_unk_18->m_node_type = NodeType::Simple; + n_unk_18->m_address = base + offset; + n_unk_18->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_18); + + field_name = "unk_1c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_population, field_name)); + auto n_unk_1c = new NodeSimple; + n_unk_1c->m_field_name = field_name; + n_unk_1c->m_df_type = DF_Type::int32_t; + n_unk_1c->m_rdf_type = RDF_Type::int32_t; + n_unk_1c->m_node_type = NodeType::Simple; + n_unk_1c->m_address = base + offset; + n_unk_1c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_1c); + +} +void node_from_world_landmass(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "name"; + auto n_name = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_landmass, field_name)); + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::language_name; + n_name->m_rdf_type = RDF_Type::Struct; + n_name->m_node_type = NodeType::Compound; + n_name->m_address = base + offset; + n_name->m_defined_in = "df.language.xml"; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_landmass, field_name)); + auto n_index = new NodeSimple; + n_index->m_field_name = field_name; + n_index->m_df_type = DF_Type::int32_t; + n_index->m_rdf_type = RDF_Type::int32_t; + n_index->m_node_type = NodeType::Simple; + n_index->m_address = base + offset; + n_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_index); + + field_name = "area"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_landmass, field_name)); + auto n_area = new NodeSimple; + n_area->m_field_name = field_name; + n_area->m_df_type = DF_Type::int32_t; + n_area->m_rdf_type = RDF_Type::int32_t; + n_area->m_node_type = NodeType::Simple; + n_area->m_address = base + offset; + n_area->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_area); + + field_name = "min_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_landmass, field_name)); + auto n_min_x = new NodeSimple; + n_min_x->m_field_name = field_name; + n_min_x->m_df_type = DF_Type::int32_t; + n_min_x->m_rdf_type = RDF_Type::int32_t; + n_min_x->m_node_type = NodeType::Simple; + n_min_x->m_address = base + offset; + n_min_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_min_x); + + field_name = "max_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_landmass, field_name)); + auto n_max_x = new NodeSimple; + n_max_x->m_field_name = field_name; + n_max_x->m_df_type = DF_Type::int32_t; + n_max_x->m_rdf_type = RDF_Type::int32_t; + n_max_x->m_node_type = NodeType::Simple; + n_max_x->m_address = base + offset; + n_max_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_max_x); + + field_name = "min_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_landmass, field_name)); + auto n_min_y = new NodeSimple; + n_min_y->m_field_name = field_name; + n_min_y->m_df_type = DF_Type::int32_t; + n_min_y->m_rdf_type = RDF_Type::int32_t; + n_min_y->m_node_type = NodeType::Simple; + n_min_y->m_address = base + offset; + n_min_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_min_y); + + field_name = "max_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_landmass, field_name)); + auto n_max_y = new NodeSimple; + n_max_y->m_field_name = field_name; + n_max_y->m_df_type = DF_Type::int32_t; + n_max_y->m_rdf_type = RDF_Type::int32_t; + n_max_y->m_node_type = NodeType::Simple; + n_max_y->m_address = base + offset; + n_max_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_max_y); + + field_name = "unk_74"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_landmass, field_name)); + auto n_unk_74 = new NodeVector; + n_unk_74->m_field_name = field_name; + n_unk_74->m_df_type = DF_Type::Void; + n_unk_74->m_rdf_type = RDF_Type::Vector; + n_unk_74->m_node_type = NodeType::Vector; + n_unk_74->m_addornements = "v"; + n_unk_74->m_address = base + offset; + n_unk_74->m_parent = p_node_parent; + n_unk_74->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_74); + + field_name = "unk_84"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_landmass, field_name)); + auto n_unk_84 = new NodeVector; + n_unk_84->m_field_name = field_name; + n_unk_84->m_df_type = DF_Type::Void; + n_unk_84->m_rdf_type = RDF_Type::Vector; + n_unk_84->m_node_type = NodeType::Vector; + n_unk_84->m_addornements = "v"; + n_unk_84->m_address = base + offset; + n_unk_84->m_parent = p_node_parent; + n_unk_84->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_84); + +} +void node_from_world_region(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "name"; + auto n_name = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::language_name; + n_name->m_rdf_type = RDF_Type::Struct; + n_name->m_node_type = NodeType::Compound; + n_name->m_address = base + offset; + n_name->m_defined_in = "df.language.xml"; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); + auto n_index = new NodeSimple; + n_index->m_field_name = field_name; + n_index->m_df_type = DF_Type::int32_t; + n_index->m_rdf_type = RDF_Type::int32_t; + n_index->m_node_type = NodeType::Simple; + n_index->m_address = base + offset; + n_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_index); + + field_name = "type"; + auto n_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::world_region_type; + n_type->m_rdf_type = RDF_Type::Enum; + n_type->m_node_type = NodeType::Enum; + n_type->m_base_type = DF_Type::int16_t; + n_type->m_enum_type = "world_region_type"; + n_type->m_address = base + offset; + n_type->m_defined_in = "df.world-data.xml"; + n_type->m_first_value = 0; + n_type->m_last_value = 9; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + + field_name = "region_coords"; + auto n_region_coords = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); + n_region_coords->m_field_name = field_name; + n_region_coords->m_df_type = DF_Type::coord2d_path; + n_region_coords->m_rdf_type = RDF_Type::Struct; + n_region_coords->m_node_type = NodeType::Compound; + n_region_coords->m_address = base + offset; + n_region_coords->m_defined_in = "df.map.xml"; + n_region_coords->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region_coords); + + field_name = "size"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); + auto n_size = new NodeSimple; + n_size->m_field_name = field_name; + n_size->m_df_type = DF_Type::int32_t; + n_size->m_rdf_type = RDF_Type::int32_t; + n_size->m_node_type = NodeType::Simple; + n_size->m_address = base + offset; + n_size->m_comment = "Number of tiles in the region"; + n_size->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_size); + + field_name = "unk_98"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); + auto n_unk_98 = new NodeSimple; + n_unk_98->m_field_name = field_name; + n_unk_98->m_df_type = DF_Type::int32_t; + n_unk_98->m_rdf_type = RDF_Type::int32_t; + n_unk_98->m_node_type = NodeType::Simple; + n_unk_98->m_address = base + offset; + n_unk_98->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_98); + + field_name = "unk_9c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); + auto n_unk_9c = new NodeSimple; + n_unk_9c->m_field_name = field_name; + n_unk_9c->m_df_type = DF_Type::int32_t; + n_unk_9c->m_rdf_type = RDF_Type::int32_t; + n_unk_9c->m_node_type = NodeType::Simple; + n_unk_9c->m_address = base + offset; + n_unk_9c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_9c); + + field_name = "unk_a0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); + auto n_unk_a0 = new NodeSimple; + n_unk_a0->m_field_name = field_name; + n_unk_a0->m_df_type = DF_Type::int32_t; + n_unk_a0->m_rdf_type = RDF_Type::int32_t; + n_unk_a0->m_node_type = NodeType::Simple; + n_unk_a0->m_address = base + offset; + n_unk_a0->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_a0); + + field_name = "unk_a4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); + auto n_unk_a4 = new NodeSimple; + n_unk_a4->m_field_name = field_name; + n_unk_a4->m_df_type = DF_Type::int32_t; + n_unk_a4->m_rdf_type = RDF_Type::int32_t; + n_unk_a4->m_node_type = NodeType::Simple; + n_unk_a4->m_address = base + offset; + n_unk_a4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_a4); + + field_name = "population"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); + auto n_population = new NodeVector; + n_population->m_field_name = field_name; + n_population->m_df_type = DF_Type::world_population; + n_population->m_rdf_type = RDF_Type::Vector; + n_population->m_node_type = NodeType::Vector; + n_population->m_defined_in = "df.world-data.xml"; + n_population->m_addornements = "v*"; + n_population->m_address = base + offset; + n_population->m_parent = p_node_parent; + n_population->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_population); + + field_name = "biome_tile_counts"; + auto n_biome_tile_counts = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); + n_biome_tile_counts->m_field_name = field_name; + n_biome_tile_counts->m_df_type = DF_Type::int32_t; + n_biome_tile_counts->m_rdf_type = RDF_Type::Array; + n_biome_tile_counts->m_node_type = NodeType::Array; + n_biome_tile_counts->m_index_enum = DF_Type::biome_type; + n_biome_tile_counts->m_addornements = "[51"; + n_biome_tile_counts->m_array_size = 51; + n_biome_tile_counts->m_address = base + offset; + n_biome_tile_counts->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_biome_tile_counts); + + field_name = "tree_biomes"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); + auto n_tree_biomes = new NodeVector; + n_tree_biomes->m_field_name = field_name; + n_tree_biomes->m_df_type = DF_Type::biome_type; + n_tree_biomes->m_rdf_type = RDF_Type::Vector; + n_tree_biomes->m_node_type = NodeType::Vector; + n_tree_biomes->m_enum_base = DF_Type::int16_t; + n_tree_biomes->m_defined_in = "df.map.xml"; + n_tree_biomes->m_addornements = "v"; + n_tree_biomes->m_address = base + offset; + n_tree_biomes->m_parent = p_node_parent; + n_tree_biomes->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_tree_biomes); + + field_name = "tree_tiles_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); + auto n_tree_tiles_1 = new NodeVector; + n_tree_tiles_1->m_field_name = field_name; + n_tree_tiles_1->m_df_type = DF_Type::int16_t; + n_tree_tiles_1->m_rdf_type = RDF_Type::Vector; + n_tree_tiles_1->m_node_type = NodeType::Vector; + n_tree_tiles_1->m_addornements = "v"; + n_tree_tiles_1->m_address = base + offset; + n_tree_tiles_1->m_refers_to = "$$._global.tree_biomes[$].refers-to"; + n_tree_tiles_1->m_parent = p_node_parent; + n_tree_tiles_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_tree_tiles_1); + + field_name = "tree_tiles_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); + auto n_tree_tiles_2 = new NodeVector; + n_tree_tiles_2->m_field_name = field_name; + n_tree_tiles_2->m_df_type = DF_Type::int16_t; + n_tree_tiles_2->m_rdf_type = RDF_Type::Vector; + n_tree_tiles_2->m_node_type = NodeType::Vector; + n_tree_tiles_2->m_addornements = "v"; + n_tree_tiles_2->m_address = base + offset; + n_tree_tiles_2->m_refers_to = "$$._global.tree_biomes[$].refers-to"; + n_tree_tiles_2->m_parent = p_node_parent; + n_tree_tiles_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_tree_tiles_2); + + field_name = "tree_tiles_good"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); + auto n_tree_tiles_good = new NodeVector; + n_tree_tiles_good->m_field_name = field_name; + n_tree_tiles_good->m_df_type = DF_Type::int16_t; + n_tree_tiles_good->m_rdf_type = RDF_Type::Vector; + n_tree_tiles_good->m_node_type = NodeType::Vector; + n_tree_tiles_good->m_addornements = "v"; + n_tree_tiles_good->m_address = base + offset; + n_tree_tiles_good->m_refers_to = "$$._global.tree_biomes[$].refers-to"; + n_tree_tiles_good->m_parent = p_node_parent; + n_tree_tiles_good->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_tree_tiles_good); + + field_name = "tree_tiles_evil"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); + auto n_tree_tiles_evil = new NodeVector; + n_tree_tiles_evil->m_field_name = field_name; + n_tree_tiles_evil->m_df_type = DF_Type::int16_t; + n_tree_tiles_evil->m_rdf_type = RDF_Type::Vector; + n_tree_tiles_evil->m_node_type = NodeType::Vector; + n_tree_tiles_evil->m_addornements = "v"; + n_tree_tiles_evil->m_address = base + offset; + n_tree_tiles_evil->m_refers_to = "$$._global.tree_biomes[$].refers-to"; + n_tree_tiles_evil->m_parent = p_node_parent; + n_tree_tiles_evil->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_tree_tiles_evil); + + field_name = "tree_tiles_savage"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); + auto n_tree_tiles_savage = new NodeVector; + n_tree_tiles_savage->m_field_name = field_name; + n_tree_tiles_savage->m_df_type = DF_Type::int16_t; + n_tree_tiles_savage->m_rdf_type = RDF_Type::Vector; + n_tree_tiles_savage->m_node_type = NodeType::Vector; + n_tree_tiles_savage->m_addornements = "v"; + n_tree_tiles_savage->m_address = base + offset; + n_tree_tiles_savage->m_refers_to = "$$._global.tree_biomes[$].refers-to"; + n_tree_tiles_savage->m_parent = p_node_parent; + n_tree_tiles_savage->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_tree_tiles_savage); + + field_name = "dead_percentage"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); + auto n_dead_percentage = new NodeSimple; + n_dead_percentage->m_field_name = field_name; + n_dead_percentage->m_df_type = DF_Type::int8_t; + n_dead_percentage->m_rdf_type = RDF_Type::int8_t; + n_dead_percentage->m_node_type = NodeType::Simple; + n_dead_percentage->m_address = base + offset; + n_dead_percentage->m_comment = "% vegetation dead on embark. Can affect non evil regions"; + n_dead_percentage->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dead_percentage); + + field_name = "unk_1e5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); + auto n_unk_1e5 = new NodeSimple; + n_unk_1e5->m_field_name = field_name; + n_unk_1e5->m_df_type = DF_Type::Bool; + n_unk_1e5->m_rdf_type = RDF_Type::Bool; + n_unk_1e5->m_node_type = NodeType::Simple; + n_unk_1e5->m_address = base + offset; + n_unk_1e5->m_comment = "Probably optionally set only on good and evil regions"; + n_unk_1e5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_1e5); + + field_name = "unk_1e6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); + auto n_unk_1e6 = new NodeSimple; + n_unk_1e6->m_field_name = field_name; + n_unk_1e6->m_df_type = DF_Type::Bool; + n_unk_1e6->m_rdf_type = RDF_Type::Bool; + n_unk_1e6->m_node_type = NodeType::Simple; + n_unk_1e6->m_address = base + offset; + n_unk_1e6->m_comment = "Probably optionally set only on neutral regions"; + n_unk_1e6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_1e6); + + field_name = "reanimating"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); + auto n_reanimating = new NodeSimple; + n_reanimating->m_field_name = field_name; + n_reanimating->m_df_type = DF_Type::Bool; + n_reanimating->m_rdf_type = RDF_Type::Bool; + n_reanimating->m_node_type = NodeType::Simple; + n_reanimating->m_address = base + offset; + n_reanimating->m_comment = "Indicates that region interaction is reanimating"; + n_reanimating->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_reanimating); + + field_name = "evil"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); + auto n_evil = new NodeSimple; + n_evil->m_field_name = field_name; + n_evil->m_df_type = DF_Type::Bool; + n_evil->m_rdf_type = RDF_Type::Bool; + n_evil->m_node_type = NodeType::Simple; + n_evil->m_address = base + offset; + n_evil->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_evil); + + field_name = "good"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); + auto n_good = new NodeSimple; + n_good->m_field_name = field_name; + n_good->m_df_type = DF_Type::Bool; + n_good->m_rdf_type = RDF_Type::Bool; + n_good->m_node_type = NodeType::Simple; + n_good->m_address = base + offset; + n_good->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_good); + + field_name = "lake_surface"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); + auto n_lake_surface = new NodeSimple; + n_lake_surface->m_field_name = field_name; + n_lake_surface->m_df_type = DF_Type::int16_t; + n_lake_surface->m_rdf_type = RDF_Type::int16_t; + n_lake_surface->m_node_type = NodeType::Simple; + n_lake_surface->m_address = base + offset; + n_lake_surface->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_lake_surface); + + field_name = "forces"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); + auto n_forces = new NodeVector; + n_forces->m_field_name = field_name; + n_forces->m_df_type = DF_Type::int32_t; + n_forces->m_rdf_type = RDF_Type::Vector; + n_forces->m_node_type = NodeType::Vector; + n_forces->m_addornements = "v"; + n_forces->m_address = base + offset; + n_forces->m_comment = "historical figure IDs of force deities associated with the region"; + n_forces->m_parent = p_node_parent; + n_forces->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_forces); + + field_name = "unk_200"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); + auto n_unk_200= new NodePadding; + n_unk_200->m_field_name = field_name; + n_unk_200->m_df_type = DF_Type::Padding; + n_unk_200->m_rdf_type = RDF_Type::Padding; + n_unk_200->m_node_type = NodeType::Padding; + n_unk_200->m_address = base + offset; + n_unk_200->m_size = 4; + n_unk_200->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_200); + + field_name = "mid_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); + auto n_mid_x = new NodeSimple; + n_mid_x->m_field_name = field_name; + n_mid_x->m_df_type = DF_Type::int32_t; + n_mid_x->m_rdf_type = RDF_Type::int32_t; + n_mid_x->m_node_type = NodeType::Simple; + n_mid_x->m_address = base + offset; + n_mid_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mid_x); + + field_name = "mid_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); + auto n_mid_y = new NodeSimple; + n_mid_y->m_field_name = field_name; + n_mid_y->m_df_type = DF_Type::int32_t; + n_mid_y->m_rdf_type = RDF_Type::int32_t; + n_mid_y->m_node_type = NodeType::Simple; + n_mid_y->m_address = base + offset; + n_mid_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mid_y); + + field_name = "min_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); + auto n_min_x = new NodeSimple; + n_min_x->m_field_name = field_name; + n_min_x->m_df_type = DF_Type::int32_t; + n_min_x->m_rdf_type = RDF_Type::int32_t; + n_min_x->m_node_type = NodeType::Simple; + n_min_x->m_address = base + offset; + n_min_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_min_x); + + field_name = "max_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); + auto n_max_x = new NodeSimple; + n_max_x->m_field_name = field_name; + n_max_x->m_df_type = DF_Type::int32_t; + n_max_x->m_rdf_type = RDF_Type::int32_t; + n_max_x->m_node_type = NodeType::Simple; + n_max_x->m_address = base + offset; + n_max_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_max_x); + + field_name = "min_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); + auto n_min_y = new NodeSimple; + n_min_y->m_field_name = field_name; + n_min_y->m_df_type = DF_Type::int32_t; + n_min_y->m_rdf_type = RDF_Type::int32_t; + n_min_y->m_node_type = NodeType::Simple; + n_min_y->m_address = base + offset; + n_min_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_min_y); + + field_name = "max_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region, field_name)); + auto n_max_y = new NodeSimple; + n_max_y->m_field_name = field_name; + n_max_y->m_df_type = DF_Type::int32_t; + n_max_y->m_rdf_type = RDF_Type::int32_t; + n_max_y->m_node_type = NodeType::Simple; + n_max_y->m_address = base + offset; + n_max_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_max_y); + +} +void node_from_world_underground_region(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "type"; + auto n_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_underground_region, field_name)); + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::world_underground_region__T_type; + n_type->m_rdf_type = RDF_Type::Enum; + n_type->m_node_type = NodeType::Enum; + n_type->m_base_type = DF_Type::int16_t; + n_type->m_enum_type = "world_underground_region::T_type"; + n_type->m_address = base + offset; + n_type->m_first_value = 0; + n_type->m_last_value = 2; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + + field_name = "name"; + auto n_name = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_underground_region, field_name)); + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::language_name; + n_name->m_rdf_type = RDF_Type::Struct; + n_name->m_node_type = NodeType::Compound; + n_name->m_address = base + offset; + n_name->m_defined_in = "df.language.xml"; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_underground_region, field_name)); + auto n_index = new NodeSimple; + n_index->m_field_name = field_name; + n_index->m_df_type = DF_Type::int32_t; + n_index->m_rdf_type = RDF_Type::int32_t; + n_index->m_node_type = NodeType::Simple; + n_index->m_address = base + offset; + n_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_index); + + field_name = "layer_depth"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_underground_region, field_name)); + auto n_layer_depth = new NodeSimple; + n_layer_depth->m_field_name = field_name; + n_layer_depth->m_df_type = DF_Type::int16_t; + n_layer_depth->m_rdf_type = RDF_Type::int16_t; + n_layer_depth->m_node_type = NodeType::Simple; + n_layer_depth->m_address = base + offset; + n_layer_depth->m_comment = "0-2 caves, 3 magma sea, 4 hell"; + n_layer_depth->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_layer_depth); + + field_name = "layer_depth_p1a"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_underground_region, field_name)); + auto n_layer_depth_p1a = new NodeSimple; + n_layer_depth_p1a->m_field_name = field_name; + n_layer_depth_p1a->m_df_type = DF_Type::int16_t; + n_layer_depth_p1a->m_rdf_type = RDF_Type::int16_t; + n_layer_depth_p1a->m_node_type = NodeType::Simple; + n_layer_depth_p1a->m_address = base + offset; + n_layer_depth_p1a->m_comment = "+1"; + n_layer_depth_p1a->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_layer_depth_p1a); + + field_name = "layer_depth_p1b"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_underground_region, field_name)); + auto n_layer_depth_p1b = new NodeSimple; + n_layer_depth_p1b->m_field_name = field_name; + n_layer_depth_p1b->m_df_type = DF_Type::int16_t; + n_layer_depth_p1b->m_rdf_type = RDF_Type::int16_t; + n_layer_depth_p1b->m_node_type = NodeType::Simple; + n_layer_depth_p1b->m_address = base + offset; + n_layer_depth_p1b->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_layer_depth_p1b); + + field_name = "water"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_underground_region, field_name)); + auto n_water = new NodeSimple; + n_water->m_field_name = field_name; + n_water->m_df_type = DF_Type::int16_t; + n_water->m_rdf_type = RDF_Type::int16_t; + n_water->m_node_type = NodeType::Simple; + n_water->m_address = base + offset; + n_water->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_water); + + field_name = "unk_7c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_underground_region, field_name)); + auto n_unk_7c = new NodeSimple; + n_unk_7c->m_field_name = field_name; + n_unk_7c->m_df_type = DF_Type::int16_t; + n_unk_7c->m_rdf_type = RDF_Type::int16_t; + n_unk_7c->m_node_type = NodeType::Simple; + n_unk_7c->m_address = base + offset; + n_unk_7c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_7c); + + field_name = "openness_min"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_underground_region, field_name)); + auto n_openness_min = new NodeSimple; + n_openness_min->m_field_name = field_name; + n_openness_min->m_df_type = DF_Type::int16_t; + n_openness_min->m_rdf_type = RDF_Type::int16_t; + n_openness_min->m_node_type = NodeType::Simple; + n_openness_min->m_address = base + offset; + n_openness_min->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_openness_min); + + field_name = "openness_max"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_underground_region, field_name)); + auto n_openness_max = new NodeSimple; + n_openness_max->m_field_name = field_name; + n_openness_max->m_df_type = DF_Type::int16_t; + n_openness_max->m_rdf_type = RDF_Type::int16_t; + n_openness_max->m_node_type = NodeType::Simple; + n_openness_max->m_address = base + offset; + n_openness_max->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_openness_max); + + field_name = "passage_density_min"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_underground_region, field_name)); + auto n_passage_density_min = new NodeSimple; + n_passage_density_min->m_field_name = field_name; + n_passage_density_min->m_df_type = DF_Type::int16_t; + n_passage_density_min->m_rdf_type = RDF_Type::int16_t; + n_passage_density_min->m_node_type = NodeType::Simple; + n_passage_density_min->m_address = base + offset; + n_passage_density_min->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_passage_density_min); + + field_name = "passage_density_max"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_underground_region, field_name)); + auto n_passage_density_max = new NodeSimple; + n_passage_density_max->m_field_name = field_name; + n_passage_density_max->m_df_type = DF_Type::int16_t; + n_passage_density_max->m_rdf_type = RDF_Type::int16_t; + n_passage_density_max->m_node_type = NodeType::Simple; + n_passage_density_max->m_address = base + offset; + n_passage_density_max->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_passage_density_max); + + field_name = "region_coords"; + auto n_region_coords = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_underground_region, field_name)); + n_region_coords->m_field_name = field_name; + n_region_coords->m_df_type = DF_Type::coord2d_path; + n_region_coords->m_rdf_type = RDF_Type::Struct; + n_region_coords->m_node_type = NodeType::Compound; + n_region_coords->m_address = base + offset; + n_region_coords->m_defined_in = "df.map.xml"; + n_region_coords->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region_coords); + + field_name = "region_min_z"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_underground_region, field_name)); + auto n_region_min_z = new NodeVector; + n_region_min_z->m_field_name = field_name; + n_region_min_z->m_df_type = DF_Type::int16_t; + n_region_min_z->m_rdf_type = RDF_Type::Vector; + n_region_min_z->m_node_type = NodeType::Vector; + n_region_min_z->m_addornements = "v"; + n_region_min_z->m_address = base + offset; + n_region_min_z->m_parent = p_node_parent; + n_region_min_z->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_region_min_z); + + field_name = "region_max_z"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_underground_region, field_name)); + auto n_region_max_z = new NodeVector; + n_region_max_z->m_field_name = field_name; + n_region_max_z->m_df_type = DF_Type::int16_t; + n_region_max_z->m_rdf_type = RDF_Type::Vector; + n_region_max_z->m_node_type = NodeType::Vector; + n_region_max_z->m_addornements = "v"; + n_region_max_z->m_address = base + offset; + n_region_max_z->m_parent = p_node_parent; + n_region_max_z->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_region_max_z); + + field_name = "unk_c8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_underground_region, field_name)); + auto n_unk_c8 = new NodeVector; + n_unk_c8->m_field_name = field_name; + n_unk_c8->m_df_type = DF_Type::Void; + n_unk_c8->m_rdf_type = RDF_Type::Vector; + n_unk_c8->m_node_type = NodeType::Vector; + n_unk_c8->m_addornements = "v"; + n_unk_c8->m_address = base + offset; + n_unk_c8->m_parent = p_node_parent; + n_unk_c8->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_c8); + + field_name = "feature_init"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_underground_region, field_name)); + auto n_feature_init = new NodePointer; + n_feature_init->m_field_name = field_name; + n_feature_init->m_df_type = get_real_subtype(base+offset, DF_Type::feature_init); + n_feature_init->m_rdf_type = RDF_Type::Pointer; + n_feature_init->m_node_type = NodeType::Pointer; + n_feature_init->m_addornements = "*"; + n_feature_init->m_address = base + offset; + n_feature_init->m_parent = p_node_parent; + n_feature_init->m_defined_in = "df.map.xml"; + n_feature_init->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_feature_init); + +} +void node_from_world_river(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "name"; + auto n_name = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_river, field_name)); + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::language_name; + n_name->m_rdf_type = RDF_Type::Struct; + n_name->m_node_type = NodeType::Compound; + n_name->m_address = base + offset; + n_name->m_defined_in = "df.language.xml"; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "path"; + auto n_path = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_river, field_name)); + n_path->m_field_name = field_name; + n_path->m_df_type = DF_Type::coord2d_path; + n_path->m_rdf_type = RDF_Type::Struct; + n_path->m_node_type = NodeType::Compound; + n_path->m_address = base + offset; + n_path->m_defined_in = "df.map.xml"; + n_path->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_path); + + field_name = "flow"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_river, field_name)); + auto n_flow = new NodeVector; + n_flow->m_field_name = field_name; + n_flow->m_df_type = DF_Type::int32_t; + n_flow->m_rdf_type = RDF_Type::Vector; + n_flow->m_node_type = NodeType::Vector; + n_flow->m_addornements = "v"; + n_flow->m_address = base + offset; + n_flow->m_parent = p_node_parent; + n_flow->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_flow); + + field_name = "exit_tile"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_river, field_name)); + auto n_exit_tile = new NodeVector; + n_exit_tile->m_field_name = field_name; + n_exit_tile->m_df_type = DF_Type::int16_t; + n_exit_tile->m_rdf_type = RDF_Type::Vector; + n_exit_tile->m_node_type = NodeType::Vector; + n_exit_tile->m_addornements = "v"; + n_exit_tile->m_address = base + offset; + n_exit_tile->m_parent = p_node_parent; + n_exit_tile->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_exit_tile); + + field_name = "elevation"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_river, field_name)); + auto n_elevation = new NodeVector; + n_elevation->m_field_name = field_name; + n_elevation->m_df_type = DF_Type::int16_t; + n_elevation->m_rdf_type = RDF_Type::Vector; + n_elevation->m_node_type = NodeType::Vector; + n_elevation->m_addornements = "v"; + n_elevation->m_address = base + offset; + n_elevation->m_parent = p_node_parent; + n_elevation->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_elevation); + + field_name = "end_pos"; + auto n_end_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_river, field_name)); + n_end_pos->m_field_name = field_name; + n_end_pos->m_df_type = DF_Type::coord2d; + n_end_pos->m_rdf_type = RDF_Type::Struct; + n_end_pos->m_node_type = NodeType::Compound; + n_end_pos->m_address = base + offset; + n_end_pos->m_defined_in = "df.map.xml"; + n_end_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_end_pos); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_river, field_name)); + auto n_flags = new NodeDFFlagArray; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::int32_t; + n_flags->m_size = 32; + n_flags->m_rdf_type = RDF_Type::DFFlagArray; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + +} +void node_from_world_geo_layer(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "type"; + auto n_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_geo_layer, field_name)); + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::geo_layer_type; + n_type->m_rdf_type = RDF_Type::Enum; + n_type->m_node_type = NodeType::Enum; + n_type->m_base_type = DF_Type::int16_t; + n_type->m_enum_type = "geo_layer_type"; + n_type->m_address = base + offset; + n_type->m_defined_in = "df.world-data.xml"; + n_type->m_first_value = 0; + n_type->m_last_value = 8; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_geo_layer, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "vein_mat"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_geo_layer, field_name)); + auto n_vein_mat = new NodeVector; + n_vein_mat->m_field_name = field_name; + n_vein_mat->m_df_type = DF_Type::int32_t; + n_vein_mat->m_rdf_type = RDF_Type::Vector; + n_vein_mat->m_node_type = NodeType::Vector; + n_vein_mat->m_addornements = "v"; + n_vein_mat->m_address = base + offset; + n_vein_mat->m_parent = p_node_parent; + n_vein_mat->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_vein_mat); + + field_name = "vein_nested_in"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_geo_layer, field_name)); + auto n_vein_nested_in = new NodeVector; + n_vein_nested_in->m_field_name = field_name; + n_vein_nested_in->m_df_type = DF_Type::int16_t; + n_vein_nested_in->m_rdf_type = RDF_Type::Vector; + n_vein_nested_in->m_node_type = NodeType::Vector; + n_vein_nested_in->m_addornements = "v"; + n_vein_nested_in->m_address = base + offset; + n_vein_nested_in->m_comment = "Index of the other vein this one is nested in, or -1"; + n_vein_nested_in->m_parent = p_node_parent; + n_vein_nested_in->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_vein_nested_in); + + field_name = "vein_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_geo_layer, field_name)); + auto n_vein_type = new NodeVector; + n_vein_type->m_field_name = field_name; + n_vein_type->m_df_type = DF_Type::inclusion_type; + n_vein_type->m_rdf_type = RDF_Type::Vector; + n_vein_type->m_node_type = NodeType::Vector; + n_vein_type->m_enum_base = DF_Type::int8_t; + n_vein_type->m_defined_in = "df.materials.xml"; + n_vein_type->m_addornements = "v"; + n_vein_type->m_address = base + offset; + n_vein_type->m_parent = p_node_parent; + n_vein_type->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_vein_type); + + field_name = "vein_unk_38"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_geo_layer, field_name)); + auto n_vein_unk_38 = new NodeVector; + n_vein_unk_38->m_field_name = field_name; + n_vein_unk_38->m_df_type = DF_Type::int8_t; + n_vein_unk_38->m_rdf_type = RDF_Type::Vector; + n_vein_unk_38->m_node_type = NodeType::Vector; + n_vein_unk_38->m_addornements = "v"; + n_vein_unk_38->m_address = base + offset; + n_vein_unk_38->m_comment = "density??"; + n_vein_unk_38->m_parent = p_node_parent; + n_vein_unk_38->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_vein_unk_38); + + field_name = "top_height"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_geo_layer, field_name)); + auto n_top_height = new NodeSimple; + n_top_height->m_field_name = field_name; + n_top_height->m_df_type = DF_Type::int16_t; + n_top_height->m_rdf_type = RDF_Type::int16_t; + n_top_height->m_node_type = NodeType::Simple; + n_top_height->m_address = base + offset; + n_top_height->m_comment = "negative"; + n_top_height->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_top_height); + + field_name = "bottom_height"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_geo_layer, field_name)); + auto n_bottom_height = new NodeSimple; + n_bottom_height->m_field_name = field_name; + n_bottom_height->m_df_type = DF_Type::int16_t; + n_bottom_height->m_rdf_type = RDF_Type::int16_t; + n_bottom_height->m_node_type = NodeType::Simple; + n_bottom_height->m_address = base + offset; + n_bottom_height->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_bottom_height); + +} +void node_from_world_geo_biome(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_geo_biome, field_name)); + auto n_unk1 = new NodeSimple; + n_unk1->m_field_name = field_name; + n_unk1->m_df_type = DF_Type::int16_t; + n_unk1->m_rdf_type = RDF_Type::int16_t; + n_unk1->m_node_type = NodeType::Simple; + n_unk1->m_address = base + offset; + n_unk1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk1); + + field_name = "index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_geo_biome, field_name)); + auto n_index = new NodeSimple; + n_index->m_field_name = field_name; + n_index->m_df_type = DF_Type::int16_t; + n_index->m_rdf_type = RDF_Type::int16_t; + n_index->m_node_type = NodeType::Simple; + n_index->m_address = base + offset; + n_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_index); + + field_name = "layers"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_geo_biome, field_name)); + auto n_layers = new NodeVector; + n_layers->m_field_name = field_name; + n_layers->m_df_type = DF_Type::world_geo_layer; + n_layers->m_rdf_type = RDF_Type::Vector; + n_layers->m_node_type = NodeType::Vector; + n_layers->m_defined_in = "df.world-data.xml"; + n_layers->m_addornements = "v*"; + n_layers->m_address = base + offset; + n_layers->m_parent = p_node_parent; + n_layers->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_layers); + +} +void node_from_world_region_feature(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "feature_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_feature, field_name)); + auto n_feature_idx = new NodeSimple; + n_feature_idx->m_field_name = field_name; + n_feature_idx->m_df_type = DF_Type::int16_t; + n_feature_idx->m_rdf_type = RDF_Type::int16_t; + n_feature_idx->m_node_type = NodeType::Simple; + n_feature_idx->m_address = base + offset; + n_feature_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_feature_idx); + + field_name = "layer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_feature, field_name)); + auto n_layer = new NodeSimple; + n_layer->m_field_name = field_name; + n_layer->m_df_type = DF_Type::int32_t; + n_layer->m_rdf_type = RDF_Type::int32_t; + n_layer->m_node_type = NodeType::Simple; + n_layer->m_address = base + offset; + n_layer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_layer); + + field_name = "region_tile_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_feature, field_name)); + auto n_region_tile_idx = new NodeSimple; + n_region_tile_idx->m_field_name = field_name; + n_region_tile_idx->m_df_type = DF_Type::int32_t; + n_region_tile_idx->m_rdf_type = RDF_Type::int32_t; + n_region_tile_idx->m_node_type = NodeType::Simple; + n_region_tile_idx->m_address = base + offset; + n_region_tile_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region_tile_idx); + + field_name = "min_z"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_feature, field_name)); + auto n_min_z = new NodeSimple; + n_min_z->m_field_name = field_name; + n_min_z->m_df_type = DF_Type::int16_t; + n_min_z->m_rdf_type = RDF_Type::int16_t; + n_min_z->m_node_type = NodeType::Simple; + n_min_z->m_address = base + offset; + n_min_z->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_min_z); + + field_name = "max_z"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_feature, field_name)); + auto n_max_z = new NodeSimple; + n_max_z->m_field_name = field_name; + n_max_z->m_df_type = DF_Type::int16_t; + n_max_z->m_rdf_type = RDF_Type::int16_t; + n_max_z->m_node_type = NodeType::Simple; + n_max_z->m_address = base + offset; + n_max_z->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_max_z); + + field_name = "unk_c"; + auto n_unk_c = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_feature, field_name)); + n_unk_c->m_field_name = field_name; + n_unk_c->m_df_type = DF_Type::coord2d; + n_unk_c->m_rdf_type = RDF_Type::Array; + n_unk_c->m_node_type = NodeType::Array; + n_unk_c->m_defined_in = "df.map.xml"; + n_unk_c->m_addornements = "[6"; + n_unk_c->m_array_size = 6; + n_unk_c->m_address = base + offset; + n_unk_c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_c); + + field_name = "unk_28"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_feature, field_name)); + auto n_unk_28 = new NodeSimple; + n_unk_28->m_field_name = field_name; + n_unk_28->m_df_type = DF_Type::int32_t; + n_unk_28->m_rdf_type = RDF_Type::int32_t; + n_unk_28->m_node_type = NodeType::Simple; + n_unk_28->m_address = base + offset; + n_unk_28->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_28); + + field_name = "seed"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_feature, field_name)); + auto n_seed = new NodeSimple; + n_seed->m_field_name = field_name; + n_seed->m_df_type = DF_Type::uint32_t; + n_seed->m_rdf_type = RDF_Type::uint32_t; + n_seed->m_node_type = NodeType::Simple; + n_seed->m_address = base + offset; + n_seed->m_comment = "looks random"; + n_seed->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_seed); + + field_name = "unk_30"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_feature, field_name)); + auto n_unk_30 = new NodeDFFlagArray; + n_unk_30->m_field_name = field_name; + n_unk_30->m_df_type = DF_Type::int32_t; + n_unk_30->m_size = 32; + n_unk_30->m_rdf_type = RDF_Type::DFFlagArray; + n_unk_30->m_node_type = NodeType::Bitfield; + n_unk_30->m_address = base + offset; + n_unk_30->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_30); + + field_name = "unk_38"; + auto n_unk_38 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_feature, field_name)); + n_unk_38->m_field_name = field_name; + n_unk_38->m_df_type = DF_Type::int16_t; + n_unk_38->m_rdf_type = RDF_Type::Array; + n_unk_38->m_node_type = NodeType::Array; + n_unk_38->m_addornements = "[15"; + n_unk_38->m_array_size = 15; + n_unk_38->m_address = base + offset; + n_unk_38->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_38); + + field_name = "top_layer_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_feature, field_name)); + auto n_top_layer_idx = new NodeSimple; + n_top_layer_idx->m_field_name = field_name; + n_top_layer_idx->m_df_type = DF_Type::int16_t; + n_top_layer_idx->m_rdf_type = RDF_Type::int16_t; + n_top_layer_idx->m_node_type = NodeType::Simple; + n_top_layer_idx->m_address = base + offset; + n_top_layer_idx->m_comment = "topmost cave layer the feature reaches"; + n_top_layer_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_top_layer_idx); + +} +void node_from_world_region_details__T_edges(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "split_x"; + auto n_split_x = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_details__T_edges, field_name)); + n_split_x->m_field_name = field_name; + n_split_x->m_df_type = DF_Type::coord2d; + n_split_x->m_rdf_type = RDF_Type::Array; + n_split_x->m_comment = "splits for horizontal edges, x=min y=max"; + n_split_x->m_node_type = NodeType::Array; + n_split_x->m_defined_in = "df.map.xml"; + n_split_x->m_addornements = "[16[17"; + n_split_x->m_array_size = 16; + n_split_x->m_address = base + offset; + n_split_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_split_x); + + field_name = "split_y"; + auto n_split_y = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_details__T_edges, field_name)); + n_split_y->m_field_name = field_name; + n_split_y->m_df_type = DF_Type::coord2d; + n_split_y->m_rdf_type = RDF_Type::Array; + n_split_y->m_comment = "splits for vertical edges, x=min y=max"; + n_split_y->m_node_type = NodeType::Array; + n_split_y->m_defined_in = "df.map.xml"; + n_split_y->m_addornements = "[17[16"; + n_split_y->m_array_size = 17; + n_split_y->m_address = base + offset; + n_split_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_split_y); + + field_name = "biome_corner"; + auto n_biome_corner = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_details__T_edges, field_name)); + n_biome_corner->m_field_name = field_name; + n_biome_corner->m_df_type = DF_Type::int8_t; + n_biome_corner->m_rdf_type = RDF_Type::Array; + n_biome_corner->m_comment = "0=Reference is NW, 1=Reference is N, 2=Reference is W, 3=Reference is current tile"; + n_biome_corner->m_node_type = NodeType::Array; + n_biome_corner->m_addornements = "[16[16"; + n_biome_corner->m_array_size = 16; + n_biome_corner->m_address = base + offset; + n_biome_corner->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_biome_corner); + + field_name = "biome_x"; + auto n_biome_x = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_details__T_edges, field_name)); + n_biome_x->m_field_name = field_name; + n_biome_x->m_df_type = DF_Type::int8_t; + n_biome_x->m_rdf_type = RDF_Type::Array; + n_biome_x->m_comment = "0=Reference is N, 1=Reference is current tile (adopted by S edge to the N)"; + n_biome_x->m_node_type = NodeType::Array; + n_biome_x->m_addornements = "[16[16"; + n_biome_x->m_array_size = 16; + n_biome_x->m_address = base + offset; + n_biome_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_biome_x); + + field_name = "biome_y"; + auto n_biome_y = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_details__T_edges, field_name)); + n_biome_y->m_field_name = field_name; + n_biome_y->m_df_type = DF_Type::int8_t; + n_biome_y->m_rdf_type = RDF_Type::Array; + n_biome_y->m_comment = "0=Reference is W, 1=Reference is current tile (Adopted by E edge to the W)"; + n_biome_y->m_node_type = NodeType::Array; + n_biome_y->m_addornements = "[16[16"; + n_biome_y->m_array_size = 16; + n_biome_y->m_address = base + offset; + n_biome_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_biome_y); + +} +void node_from_world_region_details__T_rivers_vertical(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "x_min"; + auto n_x_min = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_details__T_rivers_vertical, field_name)); + n_x_min->m_field_name = field_name; + n_x_min->m_df_type = DF_Type::int16_t; + n_x_min->m_rdf_type = RDF_Type::Array; + n_x_min->m_node_type = NodeType::Array; + n_x_min->m_addornements = "[16[17"; + n_x_min->m_array_size = 16; + n_x_min->m_address = base + offset; + n_x_min->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_x_min); + + field_name = "x_max"; + auto n_x_max = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_details__T_rivers_vertical, field_name)); + n_x_max->m_field_name = field_name; + n_x_max->m_df_type = DF_Type::int16_t; + n_x_max->m_rdf_type = RDF_Type::Array; + n_x_max->m_node_type = NodeType::Array; + n_x_max->m_addornements = "[16[17"; + n_x_max->m_array_size = 16; + n_x_max->m_address = base + offset; + n_x_max->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_x_max); + + field_name = "active"; + auto n_active = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_details__T_rivers_vertical, field_name)); + n_active->m_field_name = field_name; + n_active->m_df_type = DF_Type::int8_t; + n_active->m_rdf_type = RDF_Type::Array; + n_active->m_node_type = NodeType::Array; + n_active->m_addornements = "[16[17"; + n_active->m_array_size = 16; + n_active->m_address = base + offset; + n_active->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_active); + + field_name = "elevation"; + auto n_elevation = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_details__T_rivers_vertical, field_name)); + n_elevation->m_field_name = field_name; + n_elevation->m_df_type = DF_Type::int16_t; + n_elevation->m_rdf_type = RDF_Type::Array; + n_elevation->m_node_type = NodeType::Array; + n_elevation->m_addornements = "[16[17"; + n_elevation->m_array_size = 16; + n_elevation->m_address = base + offset; + n_elevation->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_elevation); + +} +void node_from_world_region_details__T_rivers_horizontal(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "y_min"; + auto n_y_min = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_details__T_rivers_horizontal, field_name)); + n_y_min->m_field_name = field_name; + n_y_min->m_df_type = DF_Type::int16_t; + n_y_min->m_rdf_type = RDF_Type::Array; + n_y_min->m_node_type = NodeType::Array; + n_y_min->m_addornements = "[17[16"; + n_y_min->m_array_size = 17; + n_y_min->m_address = base + offset; + n_y_min->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_y_min); + + field_name = "y_max"; + auto n_y_max = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_details__T_rivers_horizontal, field_name)); + n_y_max->m_field_name = field_name; + n_y_max->m_df_type = DF_Type::int16_t; + n_y_max->m_rdf_type = RDF_Type::Array; + n_y_max->m_node_type = NodeType::Array; + n_y_max->m_addornements = "[17[16"; + n_y_max->m_array_size = 17; + n_y_max->m_address = base + offset; + n_y_max->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_y_max); + + field_name = "active"; + auto n_active = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_details__T_rivers_horizontal, field_name)); + n_active->m_field_name = field_name; + n_active->m_df_type = DF_Type::int8_t; + n_active->m_rdf_type = RDF_Type::Array; + n_active->m_node_type = NodeType::Array; + n_active->m_addornements = "[17[16"; + n_active->m_array_size = 17; + n_active->m_address = base + offset; + n_active->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_active); + + field_name = "elevation"; + auto n_elevation = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_details__T_rivers_horizontal, field_name)); + n_elevation->m_field_name = field_name; + n_elevation->m_df_type = DF_Type::int16_t; + n_elevation->m_rdf_type = RDF_Type::Array; + n_elevation->m_node_type = NodeType::Array; + n_elevation->m_addornements = "[17[16"; + n_elevation->m_array_size = 17; + n_elevation->m_address = base + offset; + n_elevation->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_elevation); + +} +void node_from_world_region_details(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "biome"; + auto n_biome = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_details, field_name)); + n_biome->m_field_name = field_name; + n_biome->m_df_type = DF_Type::int8_t; + n_biome->m_rdf_type = RDF_Type::Array; + n_biome->m_comment = "biome field reference: 789 456 123 as directions, with 5 = own world tile, 1 = SW, 9 = NE, etc."; + n_biome->m_node_type = NodeType::Array; + n_biome->m_addornements = "[17[17"; + n_biome->m_array_size = 17; + n_biome->m_address = base + offset; + n_biome->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_biome); + + field_name = "elevation"; + auto n_elevation = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_details, field_name)); + n_elevation->m_field_name = field_name; + n_elevation->m_df_type = DF_Type::int16_t; + n_elevation->m_rdf_type = RDF_Type::Array; + n_elevation->m_node_type = NodeType::Array; + n_elevation->m_addornements = "[17[17"; + n_elevation->m_array_size = 17; + n_elevation->m_address = base + offset; + n_elevation->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_elevation); + + field_name = "seed"; + auto n_seed = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_details, field_name)); + n_seed->m_field_name = field_name; + n_seed->m_df_type = DF_Type::uint32_t; + n_seed->m_rdf_type = RDF_Type::Array; + n_seed->m_comment = "looks random"; + n_seed->m_node_type = NodeType::Array; + n_seed->m_addornements = "[16[16"; + n_seed->m_array_size = 16; + n_seed->m_address = base + offset; + n_seed->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_seed); + + field_name = "edges"; + auto n_edges = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_details, field_name)); + n_edges->m_field_name = field_name; + n_edges->m_df_type = DF_Type::world_region_details__T_edges; + n_edges->m_rdf_type = RDF_Type::Compound; + n_edges->m_node_type = NodeType::Compound; + n_edges->m_address = base + offset; + n_edges->m_comment = "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: +-/----/+ | / / * | / / +-/-/---+ After this, each corner and edge segment is assigned the biome of one of the adjoining 4 or 2 embark tiles, based on the values in these arrays. It may be necessary to access adjacent details objects to collect the full outline: c11 x11 | c21 y11 *** | y21 ------------- c12 x12 | c22 There are also certain rules forcing ocean/lake biomes to lose edges to mountains, and both of them to anything else, no matter what the original array value is. The actual biomes for tiles in the frame are semi-randomly interpolated from this edge spec. For some reason DF provides for all edges of all mid level tiles in a world tile, but not for the corners on the south and east edges: for these you have to go to the next world tile. This has some effect on the corners on the south and east edges of the world where there are no adjacent tiles to get the data from. There the rules are static: the biomes of corners are taken from the easternmost and southernmost of the two touching corners. The rules for corner determination when the biome_corner field has specified a biome that's specified to yield as per the above seems to be to first take the NW corner (0), then the NE (1) one, and then the SW (2) one. If the selected corner doesn't exist (because it's outside of the world) the same fallback corner selection is used, with the exception of a northern row selection of NW (0), where the home corner (3) is selected."; + n_edges->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_edges); + + field_name = "pos"; + auto n_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_details, field_name)); + n_pos->m_field_name = field_name; + n_pos->m_df_type = DF_Type::coord2d; + n_pos->m_rdf_type = RDF_Type::Struct; + n_pos->m_node_type = NodeType::Compound; + n_pos->m_address = base + offset; + n_pos->m_defined_in = "df.map.xml"; + n_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pos); + + field_name = "unk12e8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_details, field_name)); + auto n_unk12e8 = new NodeSimple; + n_unk12e8->m_field_name = field_name; + n_unk12e8->m_df_type = DF_Type::int16_t; + n_unk12e8->m_rdf_type = RDF_Type::int16_t; + n_unk12e8->m_node_type = NodeType::Simple; + n_unk12e8->m_address = base + offset; + n_unk12e8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk12e8); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_details, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int16_t; + n_anon_1->m_rdf_type = RDF_Type::int16_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_details, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int16_t; + n_anon_2->m_rdf_type = RDF_Type::int16_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_details, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int16_t; + n_anon_3->m_rdf_type = RDF_Type::int16_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_details, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int16_t; + n_anon_4->m_rdf_type = RDF_Type::int16_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "rivers_vertical"; + auto n_rivers_vertical = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_details, field_name)); + n_rivers_vertical->m_field_name = field_name; + n_rivers_vertical->m_df_type = DF_Type::world_region_details__T_rivers_vertical; + n_rivers_vertical->m_rdf_type = RDF_Type::Compound; + n_rivers_vertical->m_node_type = NodeType::Compound; + n_rivers_vertical->m_address = base + offset; + n_rivers_vertical->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rivers_vertical); + + field_name = "rivers_horizontal"; + auto n_rivers_horizontal = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_details, field_name)); + n_rivers_horizontal->m_field_name = field_name; + n_rivers_horizontal->m_df_type = DF_Type::world_region_details__T_rivers_horizontal; + n_rivers_horizontal->m_rdf_type = RDF_Type::Compound; + n_rivers_horizontal->m_node_type = NodeType::Compound; + n_rivers_horizontal->m_address = base + offset; + n_rivers_horizontal->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rivers_horizontal); + + field_name = "unk11"; + auto n_unk11 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_details, field_name)); + n_unk11->m_field_name = field_name; + n_unk11->m_df_type = DF_Type::int8_t; + n_unk11->m_rdf_type = RDF_Type::Array; + n_unk11->m_node_type = NodeType::Array; + n_unk11->m_addornements = "[16[16"; + n_unk11->m_array_size = 16; + n_unk11->m_address = base + offset; + n_unk11->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk11); + + field_name = "features"; + auto n_features = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_details, field_name)); + n_features->m_field_name = field_name; + n_features->m_df_type = DF_Type::world_region_feature; + n_features->m_rdf_type = RDF_Type::Array; + n_features->m_node_type = NodeType::Array; + n_features->m_defined_in = "df.world-data.xml"; + n_features->m_addornements = "[16[16v*"; + n_features->m_array_size = 16; + n_features->m_address = base + offset; + n_features->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_features); + + field_name = "lava_stone"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_details, field_name)); + auto n_lava_stone = new NodeSimple; + n_lava_stone->m_field_name = field_name; + n_lava_stone->m_df_type = DF_Type::int16_t; + n_lava_stone->m_rdf_type = RDF_Type::int16_t; + n_lava_stone->m_node_type = NodeType::Simple; + n_lava_stone->m_address = base + offset; + n_lava_stone->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_lava_stone); + + field_name = "unk_12"; + auto n_unk_12 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_details, field_name)); + n_unk_12->m_field_name = field_name; + n_unk_12->m_df_type = DF_Type::int16_t; + n_unk_12->m_rdf_type = RDF_Type::Array; + n_unk_12->m_node_type = NodeType::Array; + n_unk_12->m_addornements = "[1152"; + n_unk_12->m_array_size = 1152; + n_unk_12->m_address = base + offset; + n_unk_12->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_12); + + field_name = "elevation2"; + auto n_elevation2 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_details, field_name)); + n_elevation2->m_field_name = field_name; + n_elevation2->m_df_type = DF_Type::int16_t; + n_elevation2->m_rdf_type = RDF_Type::Array; + n_elevation2->m_node_type = NodeType::Array; + n_elevation2->m_addornements = "[16[16"; + n_elevation2->m_array_size = 16; + n_elevation2->m_address = base + offset; + n_elevation2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_elevation2); + + field_name = "undef13"; + auto n_undef13 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_region_details, field_name)); + n_undef13->m_field_name = field_name; + n_undef13->m_df_type = DF_Type::int32_t; + n_undef13->m_rdf_type = RDF_Type::Array; + n_undef13->m_node_type = NodeType::Array; + n_undef13->m_addornements = "[256"; + n_undef13->m_array_size = 256; + n_undef13->m_address = base + offset; + n_undef13->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_undef13); + +} +void node_from_region_map_entry(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk_0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::region_map_entry, field_name)); + auto n_unk_0 = new NodeSimple; + n_unk_0->m_field_name = field_name; + n_unk_0->m_df_type = DF_Type::int32_t; + n_unk_0->m_rdf_type = RDF_Type::int32_t; + n_unk_0->m_node_type = NodeType::Simple; + n_unk_0->m_address = base + offset; + n_unk_0->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_0); + + field_name = "finder_rank"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::region_map_entry, field_name)); + auto n_finder_rank = new NodeSimple; + n_finder_rank->m_field_name = field_name; + n_finder_rank->m_df_type = DF_Type::int32_t; + n_finder_rank->m_rdf_type = RDF_Type::int32_t; + n_finder_rank->m_node_type = NodeType::Simple; + n_finder_rank->m_address = base + offset; + n_finder_rank->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_finder_rank); + + field_name = "sites"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::region_map_entry, field_name)); + auto n_sites = new NodeVector; + n_sites->m_field_name = field_name; + n_sites->m_df_type = DF_Type::world_site; + n_sites->m_rdf_type = RDF_Type::Vector; + n_sites->m_node_type = NodeType::Vector; + n_sites->m_defined_in = "df.world-site.xml"; + n_sites->m_addornements = "v*"; + n_sites->m_address = base + offset; + n_sites->m_parent = p_node_parent; + n_sites->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_sites); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::region_map_entry, field_name)); + auto n_flags = new NodeDFFlagArray; + n_flags->m_field_name = field_name; + n_flags->m_index_enum = DF_Type::region_map_entry_flags; + n_flags->m_df_type = DF_Type::region_map_entry_flags; + n_flags->m_size = 24; + n_flags->m_rdf_type = RDF_Type::DFFlagArray; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_defined_in = "df.world-data.xml"; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "elevation"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::region_map_entry, field_name)); + auto n_elevation = new NodeSimple; + n_elevation->m_field_name = field_name; + n_elevation->m_df_type = DF_Type::int16_t; + n_elevation->m_rdf_type = RDF_Type::int16_t; + n_elevation->m_node_type = NodeType::Simple; + n_elevation->m_address = base + offset; + n_elevation->m_comment = "0-99=Ocean, 150+=Mountains, 100-149: all other biomes. Note that PSV elevation uses 100-299 for normal biomes, with range later cut to 1/4, and Mountains shifted down"; + n_elevation->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_elevation); + + field_name = "rainfall"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::region_map_entry, field_name)); + auto n_rainfall = new NodeSimple; + n_rainfall->m_field_name = field_name; + n_rainfall->m_df_type = DF_Type::int16_t; + n_rainfall->m_rdf_type = RDF_Type::int16_t; + n_rainfall->m_node_type = NodeType::Simple; + n_rainfall->m_address = base + offset; + n_rainfall->m_comment = "0-100"; + n_rainfall->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rainfall); + + field_name = "vegetation"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::region_map_entry, field_name)); + auto n_vegetation = new NodeSimple; + n_vegetation->m_field_name = field_name; + n_vegetation->m_df_type = DF_Type::int16_t; + n_vegetation->m_rdf_type = RDF_Type::int16_t; + n_vegetation->m_node_type = NodeType::Simple; + n_vegetation->m_address = base + offset; + n_vegetation->m_comment = "0-100"; + n_vegetation->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_vegetation); + + field_name = "temperature"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::region_map_entry, field_name)); + auto n_temperature = new NodeSimple; + n_temperature->m_field_name = field_name; + n_temperature->m_df_type = DF_Type::int16_t; + n_temperature->m_rdf_type = RDF_Type::int16_t; + n_temperature->m_node_type = NodeType::Simple; + n_temperature->m_address = base + offset; + n_temperature->m_comment = "Urists. 10000 Urists=0 Celsius"; + n_temperature->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_temperature); + + field_name = "evilness"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::region_map_entry, field_name)); + auto n_evilness = new NodeSimple; + n_evilness->m_field_name = field_name; + n_evilness->m_df_type = DF_Type::int16_t; + n_evilness->m_rdf_type = RDF_Type::int16_t; + n_evilness->m_node_type = NodeType::Simple; + n_evilness->m_address = base + offset; + n_evilness->m_comment = "0-32=Good, 33-65=Neutral, 66-100=Evil"; + n_evilness->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_evilness); + + field_name = "drainage"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::region_map_entry, field_name)); + auto n_drainage = new NodeSimple; + n_drainage->m_field_name = field_name; + n_drainage->m_df_type = DF_Type::int16_t; + n_drainage->m_rdf_type = RDF_Type::int16_t; + n_drainage->m_node_type = NodeType::Simple; + n_drainage->m_address = base + offset; + n_drainage->m_comment = "0-100"; + n_drainage->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_drainage); + + field_name = "volcanism"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::region_map_entry, field_name)); + auto n_volcanism = new NodeSimple; + n_volcanism->m_field_name = field_name; + n_volcanism->m_df_type = DF_Type::int16_t; + n_volcanism->m_rdf_type = RDF_Type::int16_t; + n_volcanism->m_node_type = NodeType::Simple; + n_volcanism->m_address = base + offset; + n_volcanism->m_comment = "0-100"; + n_volcanism->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_volcanism); + + field_name = "savagery"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::region_map_entry, field_name)); + auto n_savagery = new NodeSimple; + n_savagery->m_field_name = field_name; + n_savagery->m_df_type = DF_Type::int16_t; + n_savagery->m_rdf_type = RDF_Type::int16_t; + n_savagery->m_node_type = NodeType::Simple; + n_savagery->m_address = base + offset; + n_savagery->m_comment = "0-32=Calm, 33-65=Neutral, 66-100=Savage"; + n_savagery->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_savagery); + + field_name = "air_temp"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::region_map_entry, field_name)); + auto n_air_temp = new NodeSimple; + n_air_temp->m_field_name = field_name; + n_air_temp->m_df_type = DF_Type::int16_t; + n_air_temp->m_rdf_type = RDF_Type::int16_t; + n_air_temp->m_node_type = NodeType::Simple; + n_air_temp->m_address = base + offset; + n_air_temp->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_air_temp); + + field_name = "air_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::region_map_entry, field_name)); + auto n_air_x = new NodeSimple; + n_air_x->m_field_name = field_name; + n_air_x->m_df_type = DF_Type::int16_t; + n_air_x->m_rdf_type = RDF_Type::int16_t; + n_air_x->m_node_type = NodeType::Simple; + n_air_x->m_address = base + offset; + n_air_x->m_comment = "Toady: a velocity component? I dont remember"; + n_air_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_air_x); + + field_name = "air_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::region_map_entry, field_name)); + auto n_air_y = new NodeSimple; + n_air_y->m_field_name = field_name; + n_air_y->m_df_type = DF_Type::int16_t; + n_air_y->m_rdf_type = RDF_Type::int16_t; + n_air_y->m_node_type = NodeType::Simple; + n_air_y->m_address = base + offset; + n_air_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_air_y); + + field_name = "clouds"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::region_map_entry, field_name)); + auto n_clouds = new NodeBitfield; + n_clouds->m_field_name = field_name; + n_clouds->m_df_type = DF_Type::region_map_entry__T_clouds; + n_clouds->m_rdf_type = RDF_Type::Bitfield; + n_clouds->m_node_type = NodeType::Bitfield; + n_clouds->m_address = base + offset; + n_clouds->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_clouds); + + field_name = "wind"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::region_map_entry, field_name)); + auto n_wind = new NodeBitfield; + n_wind->m_field_name = field_name; + n_wind->m_df_type = DF_Type::region_map_entry__T_wind; + n_wind->m_rdf_type = RDF_Type::Bitfield; + n_wind->m_node_type = NodeType::Bitfield; + n_wind->m_address = base + offset; + n_wind->m_comment = "blows toward direction in morning"; + n_wind->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_wind); + + field_name = "snowfall"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::region_map_entry, field_name)); + auto n_snowfall = new NodeSimple; + n_snowfall->m_field_name = field_name; + n_snowfall->m_df_type = DF_Type::int16_t; + n_snowfall->m_rdf_type = RDF_Type::int16_t; + n_snowfall->m_node_type = NodeType::Simple; + n_snowfall->m_address = base + offset; + n_snowfall->m_comment = "0-5000, humidity?"; + n_snowfall->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_snowfall); + + field_name = "salinity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::region_map_entry, field_name)); + auto n_salinity = new NodeSimple; + n_salinity->m_field_name = field_name; + n_salinity->m_df_type = DF_Type::int16_t; + n_salinity->m_rdf_type = RDF_Type::int16_t; + n_salinity->m_node_type = NodeType::Simple; + n_salinity->m_address = base + offset; + n_salinity->m_comment = "0-100"; + n_salinity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_salinity); + + field_name = "unk_3e"; + auto n_unk_3e = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::region_map_entry, field_name)); + n_unk_3e->m_field_name = field_name; + n_unk_3e->m_df_type = DF_Type::coord; + n_unk_3e->m_rdf_type = RDF_Type::Struct; + n_unk_3e->m_node_type = NodeType::Compound; + n_unk_3e->m_address = base + offset; + n_unk_3e->m_defined_in = "df.map.xml"; + n_unk_3e->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_3e); + + field_name = "unk_44"; + auto n_unk_44 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::region_map_entry, field_name)); + n_unk_44->m_field_name = field_name; + n_unk_44->m_df_type = DF_Type::coord; + n_unk_44->m_rdf_type = RDF_Type::Struct; + n_unk_44->m_node_type = NodeType::Compound; + n_unk_44->m_address = base + offset; + n_unk_44->m_defined_in = "df.map.xml"; + n_unk_44->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_44); + + field_name = "unk_4a"; + auto n_unk_4a = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::region_map_entry, field_name)); + n_unk_4a->m_field_name = field_name; + n_unk_4a->m_df_type = DF_Type::coord; + n_unk_4a->m_rdf_type = RDF_Type::Struct; + n_unk_4a->m_node_type = NodeType::Compound; + n_unk_4a->m_address = base + offset; + n_unk_4a->m_defined_in = "df.map.xml"; + n_unk_4a->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_4a); + + field_name = "region_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::region_map_entry, field_name)); + auto n_region_id = new NodeSimple; + n_region_id->m_field_name = field_name; + n_region_id->m_df_type = DF_Type::int32_t; + n_region_id->m_rdf_type = RDF_Type::int32_t; + n_region_id->m_node_type = NodeType::Simple; + n_region_id->m_address = base + offset; + n_region_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region_id); + + field_name = "landmass_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::region_map_entry, field_name)); + auto n_landmass_id = new NodeSimple; + n_landmass_id->m_field_name = field_name; + n_landmass_id->m_df_type = DF_Type::int32_t; + n_landmass_id->m_rdf_type = RDF_Type::int32_t; + n_landmass_id->m_node_type = NodeType::Simple; + n_landmass_id->m_address = base + offset; + n_landmass_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_landmass_id); + + field_name = "geo_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::region_map_entry, field_name)); + auto n_geo_index = new NodeSimple; + n_geo_index->m_field_name = field_name; + n_geo_index->m_df_type = DF_Type::int16_t; + n_geo_index->m_rdf_type = RDF_Type::int16_t; + n_geo_index->m_node_type = NodeType::Simple; + n_geo_index->m_address = base + offset; + n_geo_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_geo_index); + +} +void node_from_entity_claim_mask__T_map(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "entities"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_claim_mask__T_map, field_name)); + auto n_entities = new NodeVector; + n_entities->m_field_name = field_name; + n_entities->m_df_type = DF_Type::int32_t; + n_entities->m_rdf_type = RDF_Type::Vector; + n_entities->m_node_type = NodeType::Vector; + n_entities->m_addornements = "v"; + n_entities->m_address = base + offset; + n_entities->m_parent = p_node_parent; + n_entities->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_entities); + + field_name = "region_masks"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_claim_mask__T_map, field_name)); + auto n_region_masks = new NodeVector; + n_region_masks->m_field_name = field_name; + n_region_masks->m_df_type = DF_Type::uint8_t; + n_region_masks->m_rdf_type = RDF_Type::Vector; + n_region_masks->m_node_type = NodeType::Vector; + n_region_masks->m_addornements = "v*[16[16"; + n_region_masks->m_address = base + offset; + n_region_masks->m_parent = p_node_parent; + n_region_masks->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_region_masks); + +} +void node_from_entity_claim_mask(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "map"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_claim_mask, field_name)); + auto n_map = new NodePointer; + n_map->m_field_name = field_name; + n_map->m_df_type = DF_Type::entity_claim_mask__T_map; + n_map->m_rdf_type = RDF_Type::Pointer; + n_map->m_node_type = NodeType::Pointer; + n_map->m_addornements = "**"; + n_map->m_address = base + offset; + n_map->m_parent = p_node_parent; + n_map->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_map); + + field_name = "width"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_claim_mask, field_name)); + auto n_width = new NodeSimple; + n_width->m_field_name = field_name; + n_width->m_df_type = DF_Type::int16_t; + n_width->m_rdf_type = RDF_Type::int16_t; + n_width->m_node_type = NodeType::Simple; + n_width->m_address = base + offset; + n_width->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_width); + + field_name = "height"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::entity_claim_mask, field_name)); + auto n_height = new NodeSimple; + n_height->m_field_name = field_name; + n_height->m_df_type = DF_Type::int16_t; + n_height->m_rdf_type = RDF_Type::int16_t; + n_height->m_node_type = NodeType::Simple; + n_height->m_address = base + offset; + n_height->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_height); + +} +void node_from_moving_party__T_members(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "nemesis_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::moving_party__T_members, field_name)); + auto n_nemesis_id = new NodeSimple; + n_nemesis_id->m_field_name = field_name; + n_nemesis_id->m_df_type = DF_Type::int32_t; + n_nemesis_id->m_rdf_type = RDF_Type::int32_t; + n_nemesis_id->m_node_type = NodeType::Simple; + n_nemesis_id->m_address = base + offset; + n_nemesis_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_nemesis_id); + + field_name = "hunger"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::moving_party__T_members, field_name)); + auto n_hunger = new NodeSimple; + n_hunger->m_field_name = field_name; + n_hunger->m_df_type = DF_Type::int32_t; + n_hunger->m_rdf_type = RDF_Type::int32_t; + n_hunger->m_node_type = NodeType::Simple; + n_hunger->m_address = base + offset; + n_hunger->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_hunger); + + field_name = "thirst"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::moving_party__T_members, field_name)); + auto n_thirst = new NodeSimple; + n_thirst->m_field_name = field_name; + n_thirst->m_df_type = DF_Type::int32_t; + n_thirst->m_rdf_type = RDF_Type::int32_t; + n_thirst->m_node_type = NodeType::Simple; + n_thirst->m_address = base + offset; + n_thirst->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_thirst); + + field_name = "sleepiness"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::moving_party__T_members, field_name)); + auto n_sleepiness = new NodeSimple; + n_sleepiness->m_field_name = field_name; + n_sleepiness->m_df_type = DF_Type::int32_t; + n_sleepiness->m_rdf_type = RDF_Type::int32_t; + n_sleepiness->m_node_type = NodeType::Simple; + n_sleepiness->m_address = base + offset; + n_sleepiness->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sleepiness); + + field_name = "stored_fat"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::moving_party__T_members, field_name)); + auto n_stored_fat = new NodeSimple; + n_stored_fat->m_field_name = field_name; + n_stored_fat->m_df_type = DF_Type::int32_t; + n_stored_fat->m_rdf_type = RDF_Type::int32_t; + n_stored_fat->m_node_type = NodeType::Simple; + n_stored_fat->m_address = base + offset; + n_stored_fat->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_stored_fat); + + field_name = "unk_14"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::moving_party__T_members, field_name)); + auto n_unk_14 = new NodeSimple; + n_unk_14->m_field_name = field_name; + n_unk_14->m_df_type = DF_Type::int32_t; + n_unk_14->m_rdf_type = RDF_Type::int32_t; + n_unk_14->m_node_type = NodeType::Simple; + n_unk_14->m_address = base + offset; + n_unk_14->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_14); + + field_name = "unk_18"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::moving_party__T_members, field_name)); + auto n_unk_18 = new NodeSimple; + n_unk_18->m_field_name = field_name; + n_unk_18->m_df_type = DF_Type::int32_t; + n_unk_18->m_rdf_type = RDF_Type::int32_t; + n_unk_18->m_node_type = NodeType::Simple; + n_unk_18->m_address = base + offset; + n_unk_18->m_comment = "maybe type"; + n_unk_18->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_18); + + field_name = "unk_1c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::moving_party__T_members, field_name)); + auto n_unk_1c = new NodeSimple; + n_unk_1c->m_field_name = field_name; + n_unk_1c->m_df_type = DF_Type::int32_t; + n_unk_1c->m_rdf_type = RDF_Type::int32_t; + n_unk_1c->m_node_type = NodeType::Simple; + n_unk_1c->m_address = base + offset; + n_unk_1c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_1c); + + field_name = "unk_20"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::moving_party__T_members, field_name)); + auto n_unk_20 = new NodeSimple; + n_unk_20->m_field_name = field_name; + n_unk_20->m_df_type = DF_Type::int32_t; + n_unk_20->m_rdf_type = RDF_Type::int32_t; + n_unk_20->m_node_type = NodeType::Simple; + n_unk_20->m_address = base + offset; + n_unk_20->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_20); + + field_name = "unk_24"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::moving_party__T_members, field_name)); + auto n_unk_24 = new NodeSimple; + n_unk_24->m_field_name = field_name; + n_unk_24->m_df_type = DF_Type::int32_t; + n_unk_24->m_rdf_type = RDF_Type::int32_t; + n_unk_24->m_node_type = NodeType::Simple; + n_unk_24->m_address = base + offset; + n_unk_24->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_24); + +} +void node_from_moving_party(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "pos"; + auto n_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::moving_party, field_name)); + n_pos->m_field_name = field_name; + n_pos->m_df_type = DF_Type::coord2d; + n_pos->m_rdf_type = RDF_Type::Struct; + n_pos->m_node_type = NodeType::Compound; + n_pos->m_address = base + offset; + n_pos->m_defined_in = "df.map.xml"; + n_pos->m_comment = "global block x/y"; + n_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pos); + + field_name = "unk_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::moving_party, field_name)); + auto n_unk_4 = new NodeSimple; + n_unk_4->m_field_name = field_name; + n_unk_4->m_df_type = DF_Type::int16_t; + n_unk_4->m_rdf_type = RDF_Type::int16_t; + n_unk_4->m_node_type = NodeType::Simple; + n_unk_4->m_address = base + offset; + n_unk_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_4); + + field_name = "unk_c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::moving_party, field_name)); + auto n_unk_c = new NodeSimple; + n_unk_c->m_field_name = field_name; + n_unk_c->m_df_type = DF_Type::int32_t; + n_unk_c->m_rdf_type = RDF_Type::int32_t; + n_unk_c->m_node_type = NodeType::Simple; + n_unk_c->m_address = base + offset; + n_unk_c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_c); + + field_name = "unk_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::moving_party, field_name)); + auto n_unk_10 = new NodeSimple; + n_unk_10->m_field_name = field_name; + n_unk_10->m_df_type = DF_Type::int32_t; + n_unk_10->m_rdf_type = RDF_Type::int32_t; + n_unk_10->m_node_type = NodeType::Simple; + n_unk_10->m_address = base + offset; + n_unk_10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_10); + + field_name = "members"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::moving_party, field_name)); + auto n_members = new NodeVector; + n_members->m_field_name = field_name; + n_members->m_df_type = DF_Type::moving_party__T_members; + n_members->m_rdf_type = RDF_Type::Vector; + n_members->m_node_type = NodeType::Vector; + n_members->m_addornements = "v*"; + n_members->m_address = base + offset; + n_members->m_parent = p_node_parent; + n_members->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_members); + + field_name = "entity_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::moving_party, field_name)); + auto n_entity_id = new NodeSimple; + n_entity_id->m_field_name = field_name; + n_entity_id->m_df_type = DF_Type::int32_t; + n_entity_id->m_rdf_type = RDF_Type::int32_t; + n_entity_id->m_node_type = NodeType::Simple; + n_entity_id->m_address = base + offset; + n_entity_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity_id); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::moving_party, field_name)); + auto n_flags = new NodeDFFlagArray; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::int32_t; + n_flags->m_size = 32; + n_flags->m_rdf_type = RDF_Type::DFFlagArray; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "unk_30"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::moving_party, field_name)); + auto n_unk_30 = new NodeVector; + n_unk_30->m_field_name = field_name; + n_unk_30->m_df_type = DF_Type::Void; + n_unk_30->m_rdf_type = RDF_Type::Vector; + n_unk_30->m_node_type = NodeType::Vector; + n_unk_30->m_addornements = "v"; + n_unk_30->m_address = base + offset; + n_unk_30->m_parent = p_node_parent; + n_unk_30->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_30); + + field_name = "unk_40"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::moving_party, field_name)); + auto n_unk_40 = new NodeVector; + n_unk_40->m_field_name = field_name; + n_unk_40->m_df_type = DF_Type::Void; + n_unk_40->m_rdf_type = RDF_Type::Vector; + n_unk_40->m_node_type = NodeType::Vector; + n_unk_40->m_addornements = "v"; + n_unk_40->m_address = base + offset; + n_unk_40->m_parent = p_node_parent; + n_unk_40->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_40); + + field_name = "unk_70"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::moving_party, field_name)); + auto n_unk_70 = new NodeSimple; + n_unk_70->m_field_name = field_name; + n_unk_70->m_df_type = DF_Type::int16_t; + n_unk_70->m_rdf_type = RDF_Type::int16_t; + n_unk_70->m_node_type = NodeType::Simple; + n_unk_70->m_address = base + offset; + n_unk_70->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_70); + + field_name = "unk_72"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::moving_party, field_name)); + auto n_unk_72 = new NodeSimple; + n_unk_72->m_field_name = field_name; + n_unk_72->m_df_type = DF_Type::int16_t; + n_unk_72->m_rdf_type = RDF_Type::int16_t; + n_unk_72->m_node_type = NodeType::Simple; + n_unk_72->m_address = base + offset; + n_unk_72->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_72); + + field_name = "unk_74"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::moving_party, field_name)); + auto n_unk_74 = new NodeSimple; + n_unk_74->m_field_name = field_name; + n_unk_74->m_df_type = DF_Type::int16_t; + n_unk_74->m_rdf_type = RDF_Type::int16_t; + n_unk_74->m_node_type = NodeType::Simple; + n_unk_74->m_address = base + offset; + n_unk_74->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_74); + + field_name = "unk_7c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::moving_party, field_name)); + auto n_unk_7c = new NodeSimple; + n_unk_7c->m_field_name = field_name; + n_unk_7c->m_df_type = DF_Type::int32_t; + n_unk_7c->m_rdf_type = RDF_Type::int32_t; + n_unk_7c->m_node_type = NodeType::Simple; + n_unk_7c->m_address = base + offset; + n_unk_7c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_7c); + + field_name = "region_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::moving_party, field_name)); + auto n_region_id = new NodeSimple; + n_region_id->m_field_name = field_name; + n_region_id->m_df_type = DF_Type::int32_t; + n_region_id->m_rdf_type = RDF_Type::int32_t; + n_region_id->m_node_type = NodeType::Simple; + n_region_id->m_address = base + offset; + n_region_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region_id); + + field_name = "beast_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::moving_party, field_name)); + auto n_beast_id = new NodeSimple; + n_beast_id->m_field_name = field_name; + n_beast_id->m_df_type = DF_Type::int32_t; + n_beast_id->m_rdf_type = RDF_Type::int32_t; + n_beast_id->m_node_type = NodeType::Simple; + n_beast_id->m_address = base + offset; + n_beast_id->m_comment = "for FB"; + n_beast_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_beast_id); + +} +void node_from_world_object_data__T_offloaded_items(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "item"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data__T_offloaded_items, field_name)); + auto n_item = new NodePointer; + n_item->m_field_name = field_name; + n_item->m_df_type = get_real_subtype(base+offset, DF_Type::item); + n_item->m_rdf_type = RDF_Type::Pointer; + n_item->m_node_type = NodeType::Pointer; + n_item->m_addornements = "*"; + n_item->m_address = base + offset; + n_item->m_parent = p_node_parent; + n_item->m_defined_in = "df.items.xml"; + n_item->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_item); + + field_name = "global_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data__T_offloaded_items, field_name)); + auto n_global_x = new NodeSimple; + n_global_x->m_field_name = field_name; + n_global_x->m_df_type = DF_Type::int32_t; + n_global_x->m_rdf_type = RDF_Type::int32_t; + n_global_x->m_node_type = NodeType::Simple; + n_global_x->m_address = base + offset; + n_global_x->m_comment = "in tiles it seems"; + n_global_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_global_x); + + field_name = "global_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data__T_offloaded_items, field_name)); + auto n_global_y = new NodeSimple; + n_global_y->m_field_name = field_name; + n_global_y->m_df_type = DF_Type::int32_t; + n_global_y->m_rdf_type = RDF_Type::int32_t; + n_global_y->m_node_type = NodeType::Simple; + n_global_y->m_address = base + offset; + n_global_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_global_y); + + field_name = "global_z"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data__T_offloaded_items, field_name)); + auto n_global_z = new NodeSimple; + n_global_z->m_field_name = field_name; + n_global_z->m_df_type = DF_Type::int32_t; + n_global_z->m_rdf_type = RDF_Type::int32_t; + n_global_z->m_node_type = NodeType::Simple; + n_global_z->m_address = base + offset; + n_global_z->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_global_z); + + field_name = "container"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data__T_offloaded_items, field_name)); + auto n_container = new NodeSimple; + n_container->m_field_name = field_name; + n_container->m_df_type = DF_Type::int32_t; + n_container->m_rdf_type = RDF_Type::int32_t; + n_container->m_node_type = NodeType::Simple; + n_container->m_address = base + offset; + n_container->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_container); + + field_name = "building"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data__T_offloaded_items, field_name)); + auto n_building = new NodeSimple; + n_building->m_field_name = field_name; + n_building->m_df_type = DF_Type::int32_t; + n_building->m_rdf_type = RDF_Type::int32_t; + n_building->m_node_type = NodeType::Simple; + n_building->m_address = base + offset; + n_building->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_building); + + field_name = "unk_18"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data__T_offloaded_items, field_name)); + auto n_unk_18 = new NodeSimple; + n_unk_18->m_field_name = field_name; + n_unk_18->m_df_type = DF_Type::int32_t; + n_unk_18->m_rdf_type = RDF_Type::int32_t; + n_unk_18->m_node_type = NodeType::Simple; + n_unk_18->m_address = base + offset; + n_unk_18->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_18); + +} +void node_from_world_object_data__T_offloaded_buildings(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "building"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data__T_offloaded_buildings, field_name)); + auto n_building = new NodePointer; + n_building->m_field_name = field_name; + n_building->m_df_type = get_real_subtype(base+offset, DF_Type::building); + n_building->m_rdf_type = RDF_Type::Pointer; + n_building->m_node_type = NodeType::Pointer; + n_building->m_addornements = "*"; + n_building->m_address = base + offset; + n_building->m_parent = p_node_parent; + n_building->m_defined_in = "df.buildings.xml"; + n_building->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_building); + + field_name = "global_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data__T_offloaded_buildings, field_name)); + auto n_global_x = new NodeSimple; + n_global_x->m_field_name = field_name; + n_global_x->m_df_type = DF_Type::int32_t; + n_global_x->m_rdf_type = RDF_Type::int32_t; + n_global_x->m_node_type = NodeType::Simple; + n_global_x->m_address = base + offset; + n_global_x->m_comment = "in tiles it seems"; + n_global_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_global_x); + + field_name = "global_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data__T_offloaded_buildings, field_name)); + auto n_global_y = new NodeSimple; + n_global_y->m_field_name = field_name; + n_global_y->m_df_type = DF_Type::int32_t; + n_global_y->m_rdf_type = RDF_Type::int32_t; + n_global_y->m_node_type = NodeType::Simple; + n_global_y->m_address = base + offset; + n_global_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_global_y); + + field_name = "global_z"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data__T_offloaded_buildings, field_name)); + auto n_global_z = new NodeSimple; + n_global_z->m_field_name = field_name; + n_global_z->m_df_type = DF_Type::int32_t; + n_global_z->m_rdf_type = RDF_Type::int32_t; + n_global_z->m_node_type = NodeType::Simple; + n_global_z->m_address = base + offset; + n_global_z->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_global_z); + + field_name = "unk_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data__T_offloaded_buildings, field_name)); + auto n_unk_10 = new NodeSimple; + n_unk_10->m_field_name = field_name; + n_unk_10->m_df_type = DF_Type::int32_t; + n_unk_10->m_rdf_type = RDF_Type::int32_t; + n_unk_10->m_node_type = NodeType::Simple; + n_unk_10->m_address = base + offset; + n_unk_10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_10); + +} +void node_from_world_object_data__T_unk_94(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "global_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data__T_unk_94, field_name)); + auto n_global_x = new NodeSimple; + n_global_x->m_field_name = field_name; + n_global_x->m_df_type = DF_Type::int32_t; + n_global_x->m_rdf_type = RDF_Type::int32_t; + n_global_x->m_node_type = NodeType::Simple; + n_global_x->m_address = base + offset; + n_global_x->m_comment = "in tiles it seems"; + n_global_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_global_x); + + field_name = "global_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data__T_unk_94, field_name)); + auto n_global_y = new NodeSimple; + n_global_y->m_field_name = field_name; + n_global_y->m_df_type = DF_Type::int32_t; + n_global_y->m_rdf_type = RDF_Type::int32_t; + n_global_y->m_node_type = NodeType::Simple; + n_global_y->m_address = base + offset; + n_global_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_global_y); + + field_name = "global_z"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data__T_unk_94, field_name)); + auto n_global_z = new NodeSimple; + n_global_z->m_field_name = field_name; + n_global_z->m_df_type = DF_Type::int32_t; + n_global_z->m_rdf_type = RDF_Type::int32_t; + n_global_z->m_node_type = NodeType::Simple; + n_global_z->m_address = base + offset; + n_global_z->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_global_z); + + field_name = "unk_c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data__T_unk_94, field_name)); + auto n_unk_c = new NodeSimple; + n_unk_c->m_field_name = field_name; + n_unk_c->m_df_type = DF_Type::int32_t; + n_unk_c->m_rdf_type = RDF_Type::int32_t; + n_unk_c->m_node_type = NodeType::Simple; + n_unk_c->m_address = base + offset; + n_unk_c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_c); + +} +void node_from_world_object_data(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "altered_items"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data, field_name)); + auto n_altered_items = new NodeVector; + n_altered_items->m_field_name = field_name; + n_altered_items->m_df_type = DF_Type::int32_t; + n_altered_items->m_rdf_type = RDF_Type::Vector; + n_altered_items->m_node_type = NodeType::Vector; + n_altered_items->m_addornements = "v"; + n_altered_items->m_address = base + offset; + n_altered_items->m_comment = "world_data_subid"; + n_altered_items->m_parent = p_node_parent; + n_altered_items->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_altered_items); + + field_name = "offloaded_items"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data, field_name)); + auto n_offloaded_items = new NodeVector; + n_offloaded_items->m_field_name = field_name; + n_offloaded_items->m_df_type = DF_Type::world_object_data__T_offloaded_items; + n_offloaded_items->m_rdf_type = RDF_Type::Vector; + n_offloaded_items->m_node_type = NodeType::Vector; + n_offloaded_items->m_addornements = "v*"; + n_offloaded_items->m_address = base + offset; + n_offloaded_items->m_parent = p_node_parent; + n_offloaded_items->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_offloaded_items); + + field_name = "unk_24"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data, field_name)); + auto n_unk_24 = new NodeVector; + n_unk_24->m_field_name = field_name; + n_unk_24->m_df_type = DF_Type::Void; + n_unk_24->m_rdf_type = RDF_Type::Vector; + n_unk_24->m_node_type = NodeType::Vector; + n_unk_24->m_addornements = "v"; + n_unk_24->m_address = base + offset; + n_unk_24->m_parent = p_node_parent; + n_unk_24->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_24); + + field_name = "unk_34"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data, field_name)); + auto n_unk_34 = new NodeVector; + n_unk_34->m_field_name = field_name; + n_unk_34->m_df_type = DF_Type::Void; + n_unk_34->m_rdf_type = RDF_Type::Vector; + n_unk_34->m_node_type = NodeType::Vector; + n_unk_34->m_addornements = "v"; + n_unk_34->m_address = base + offset; + n_unk_34->m_parent = p_node_parent; + n_unk_34->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_34); + + field_name = "unk_44"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data, field_name)); + auto n_unk_44 = new NodeVector; + n_unk_44->m_field_name = field_name; + n_unk_44->m_df_type = DF_Type::Void; + n_unk_44->m_rdf_type = RDF_Type::Vector; + n_unk_44->m_node_type = NodeType::Vector; + n_unk_44->m_addornements = "v"; + n_unk_44->m_address = base + offset; + n_unk_44->m_parent = p_node_parent; + n_unk_44->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_44); + + field_name = "unk_54"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data, field_name)); + auto n_unk_54 = new NodeVector; + n_unk_54->m_field_name = field_name; + n_unk_54->m_df_type = DF_Type::Void; + n_unk_54->m_rdf_type = RDF_Type::Vector; + n_unk_54->m_node_type = NodeType::Vector; + n_unk_54->m_addornements = "v"; + n_unk_54->m_address = base + offset; + n_unk_54->m_parent = p_node_parent; + n_unk_54->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_54); + + field_name = "unk_64"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data, field_name)); + auto n_unk_64 = new NodeVector; + n_unk_64->m_field_name = field_name; + n_unk_64->m_df_type = DF_Type::Void; + n_unk_64->m_rdf_type = RDF_Type::Vector; + n_unk_64->m_node_type = NodeType::Vector; + n_unk_64->m_addornements = "v"; + n_unk_64->m_address = base + offset; + n_unk_64->m_parent = p_node_parent; + n_unk_64->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_64); + + field_name = "altered_buildings"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data, field_name)); + auto n_altered_buildings = new NodeVector; + n_altered_buildings->m_field_name = field_name; + n_altered_buildings->m_df_type = DF_Type::int32_t; + n_altered_buildings->m_rdf_type = RDF_Type::Vector; + n_altered_buildings->m_node_type = NodeType::Vector; + n_altered_buildings->m_addornements = "v"; + n_altered_buildings->m_address = base + offset; + n_altered_buildings->m_comment = "world_data_subid"; + n_altered_buildings->m_parent = p_node_parent; + n_altered_buildings->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_altered_buildings); + + field_name = "offloaded_buildings"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data, field_name)); + auto n_offloaded_buildings = new NodeVector; + n_offloaded_buildings->m_field_name = field_name; + n_offloaded_buildings->m_df_type = DF_Type::world_object_data__T_offloaded_buildings; + n_offloaded_buildings->m_rdf_type = RDF_Type::Vector; + n_offloaded_buildings->m_node_type = NodeType::Vector; + n_offloaded_buildings->m_addornements = "v*"; + n_offloaded_buildings->m_address = base + offset; + n_offloaded_buildings->m_parent = p_node_parent; + n_offloaded_buildings->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_offloaded_buildings); + + field_name = "unk_94"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data, field_name)); + auto n_unk_94 = new NodeVector; + n_unk_94->m_field_name = field_name; + n_unk_94->m_df_type = DF_Type::world_object_data__T_unk_94; + n_unk_94->m_rdf_type = RDF_Type::Vector; + n_unk_94->m_node_type = NodeType::Vector; + n_unk_94->m_addornements = "v*"; + n_unk_94->m_address = base + offset; + n_unk_94->m_parent = p_node_parent; + n_unk_94->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_94); + + field_name = "creation_zone_alterations"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data, field_name)); + auto n_creation_zone_alterations = new NodeVector; + n_creation_zone_alterations->m_field_name = field_name; + n_creation_zone_alterations->m_df_type = DF_Type::Void; + n_creation_zone_alterations->m_rdf_type = RDF_Type::Vector; + n_creation_zone_alterations->m_node_type = NodeType::Vector; + n_creation_zone_alterations->m_addornements = "v"; + n_creation_zone_alterations->m_address = base + offset; + n_creation_zone_alterations->m_comment = "a vtable type"; + n_creation_zone_alterations->m_parent = p_node_parent; + n_creation_zone_alterations->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_creation_zone_alterations); + + field_name = "unk_v40_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data, field_name)); + auto n_unk_v40_1 = new NodeSimple; + n_unk_v40_1->m_field_name = field_name; + n_unk_v40_1->m_df_type = DF_Type::int32_t; + n_unk_v40_1->m_rdf_type = RDF_Type::int32_t; + n_unk_v40_1->m_node_type = NodeType::Simple; + n_unk_v40_1->m_address = base + offset; + n_unk_v40_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_1); + + field_name = "year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data, field_name)); + auto n_year = new NodeSimple; + n_year->m_field_name = field_name; + n_year->m_df_type = DF_Type::int32_t; + n_year->m_rdf_type = RDF_Type::int32_t; + n_year->m_node_type = NodeType::Simple; + n_year->m_address = base + offset; + n_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_year); + + field_name = "year_tick"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data, field_name)); + auto n_year_tick = new NodeSimple; + n_year_tick->m_field_name = field_name; + n_year_tick->m_df_type = DF_Type::int32_t; + n_year_tick->m_rdf_type = RDF_Type::int32_t; + n_year_tick->m_node_type = NodeType::Simple; + n_year_tick->m_address = base + offset; + n_year_tick->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_year_tick); + + field_name = "unk_c0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data, field_name)); + auto n_unk_c0 = new NodeVector; + n_unk_c0->m_field_name = field_name; + n_unk_c0->m_df_type = DF_Type::Void; + n_unk_c0->m_rdf_type = RDF_Type::Vector; + n_unk_c0->m_node_type = NodeType::Vector; + n_unk_c0->m_addornements = "v"; + n_unk_c0->m_address = base + offset; + n_unk_c0->m_parent = p_node_parent; + n_unk_c0->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_c0); + + field_name = "unk_d0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data, field_name)); + auto n_unk_d0 = new NodeVector; + n_unk_d0->m_field_name = field_name; + n_unk_d0->m_df_type = DF_Type::Void; + n_unk_d0->m_rdf_type = RDF_Type::Vector; + n_unk_d0->m_node_type = NodeType::Vector; + n_unk_d0->m_addornements = "v"; + n_unk_d0->m_address = base + offset; + n_unk_d0->m_parent = p_node_parent; + n_unk_d0->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_d0); + + field_name = "unk_e0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data, field_name)); + auto n_unk_e0 = new NodeVector; + n_unk_e0->m_field_name = field_name; + n_unk_e0->m_df_type = DF_Type::Void; + n_unk_e0->m_rdf_type = RDF_Type::Vector; + n_unk_e0->m_node_type = NodeType::Vector; + n_unk_e0->m_addornements = "v"; + n_unk_e0->m_address = base + offset; + n_unk_e0->m_parent = p_node_parent; + n_unk_e0->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_e0); + + field_name = "unk_f0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data, field_name)); + auto n_unk_f0 = new NodeVector; + n_unk_f0->m_field_name = field_name; + n_unk_f0->m_df_type = DF_Type::Void; + n_unk_f0->m_rdf_type = RDF_Type::Vector; + n_unk_f0->m_node_type = NodeType::Vector; + n_unk_f0->m_addornements = "v"; + n_unk_f0->m_address = base + offset; + n_unk_f0->m_parent = p_node_parent; + n_unk_f0->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_f0); + + field_name = "unk_100"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data, field_name)); + auto n_unk_100 = new NodeVector; + n_unk_100->m_field_name = field_name; + n_unk_100->m_df_type = DF_Type::Void; + n_unk_100->m_rdf_type = RDF_Type::Vector; + n_unk_100->m_node_type = NodeType::Vector; + n_unk_100->m_addornements = "v"; + n_unk_100->m_address = base + offset; + n_unk_100->m_parent = p_node_parent; + n_unk_100->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_100); + + field_name = "unk_110"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data, field_name)); + auto n_unk_110 = new NodeVector; + n_unk_110->m_field_name = field_name; + n_unk_110->m_df_type = DF_Type::Void; + n_unk_110->m_rdf_type = RDF_Type::Vector; + n_unk_110->m_node_type = NodeType::Vector; + n_unk_110->m_addornements = "v"; + n_unk_110->m_address = base + offset; + n_unk_110->m_parent = p_node_parent; + n_unk_110->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_110); + + field_name = "unk_v43_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data, field_name)); + auto n_unk_v43_1 = new NodeVector; + n_unk_v43_1->m_field_name = field_name; + n_unk_v43_1->m_df_type = DF_Type::Void; + n_unk_v43_1->m_rdf_type = RDF_Type::Vector; + n_unk_v43_1->m_node_type = NodeType::Vector; + n_unk_v43_1->m_addornements = "v"; + n_unk_v43_1->m_address = base + offset; + n_unk_v43_1->m_parent = p_node_parent; + n_unk_v43_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_v43_1); + + field_name = "unk_v43_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data, field_name)); + auto n_unk_v43_2 = new NodeVector; + n_unk_v43_2->m_field_name = field_name; + n_unk_v43_2->m_df_type = DF_Type::Void; + n_unk_v43_2->m_rdf_type = RDF_Type::Vector; + n_unk_v43_2->m_node_type = NodeType::Vector; + n_unk_v43_2->m_addornements = "v"; + n_unk_v43_2->m_address = base + offset; + n_unk_v43_2->m_parent = p_node_parent; + n_unk_v43_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_v43_2); + + field_name = "unk_v43_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data, field_name)); + auto n_unk_v43_3 = new NodeVector; + n_unk_v43_3->m_field_name = field_name; + n_unk_v43_3->m_df_type = DF_Type::Void; + n_unk_v43_3->m_rdf_type = RDF_Type::Vector; + n_unk_v43_3->m_node_type = NodeType::Vector; + n_unk_v43_3->m_addornements = "v"; + n_unk_v43_3->m_address = base + offset; + n_unk_v43_3->m_parent = p_node_parent; + n_unk_v43_3->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_v43_3); + + field_name = "unk_v43_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_object_data, field_name)); + auto n_unk_v43_4 = new NodeVector; + n_unk_v43_4->m_field_name = field_name; + n_unk_v43_4->m_df_type = DF_Type::Void; + n_unk_v43_4->m_rdf_type = RDF_Type::Vector; + n_unk_v43_4->m_node_type = NodeType::Vector; + n_unk_v43_4->m_addornements = "v"; + n_unk_v43_4->m_address = base + offset; + n_unk_v43_4->m_parent = p_node_parent; + n_unk_v43_4->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_v43_4); + +} +void node_from_world_data__T_unk_b4(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "world_width2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_b4, field_name)); + auto n_world_width2 = new NodeSimple; + n_world_width2->m_field_name = field_name; + n_world_width2->m_df_type = DF_Type::int32_t; + n_world_width2->m_rdf_type = RDF_Type::int32_t; + n_world_width2->m_node_type = NodeType::Simple; + n_world_width2->m_address = base + offset; + n_world_width2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_world_width2); + + field_name = "world_height2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_b4, field_name)); + auto n_world_height2 = new NodeSimple; + n_world_height2->m_field_name = field_name; + n_world_height2->m_df_type = DF_Type::int32_t; + n_world_height2->m_rdf_type = RDF_Type::int32_t; + n_world_height2->m_node_type = NodeType::Simple; + n_world_height2->m_address = base + offset; + n_world_height2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_world_height2); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_b4, field_name)); + auto n_anon_1 = new NodePointer; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = get_real_subtype(base+offset, DF_Type::uint32_t); + n_anon_1->m_rdf_type = RDF_Type::Pointer; + n_anon_1->m_node_type = NodeType::Pointer; + n_anon_1->m_addornements = "*"; + n_anon_1->m_address = base + offset; + n_anon_1->m_comment = "align(width,4)*height"; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_b4, field_name)); + auto n_anon_2 = new NodePointer; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = get_real_subtype(base+offset, DF_Type::uint32_t); + n_anon_2->m_rdf_type = RDF_Type::Pointer; + n_anon_2->m_node_type = NodeType::Pointer; + n_anon_2->m_addornements = "*"; + n_anon_2->m_address = base + offset; + n_anon_2->m_comment = "align(width,4)*height"; + n_anon_2->m_parent = p_node_parent; + n_anon_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_b4, field_name)); + auto n_anon_3 = new NodePointer; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = get_real_subtype(base+offset, DF_Type::uint32_t); + n_anon_3->m_rdf_type = RDF_Type::Pointer; + n_anon_3->m_node_type = NodeType::Pointer; + n_anon_3->m_addornements = "*"; + n_anon_3->m_address = base + offset; + n_anon_3->m_comment = "width*height"; + n_anon_3->m_parent = p_node_parent; + n_anon_3->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_b4, field_name)); + auto n_anon_4 = new NodePointer; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = get_real_subtype(base+offset, DF_Type::uint8_t); + n_anon_4->m_rdf_type = RDF_Type::Pointer; + n_anon_4->m_node_type = NodeType::Pointer; + n_anon_4->m_addornements = "*"; + n_anon_4->m_address = base + offset; + n_anon_4->m_comment = "align(width,4)*height"; + n_anon_4->m_parent = p_node_parent; + n_anon_4->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_4); + +} +void node_from_world_data__T_constructions(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "width"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_constructions, field_name)); + auto n_width = new NodeSimple; + n_width->m_field_name = field_name; + n_width->m_df_type = DF_Type::int16_t; + n_width->m_rdf_type = RDF_Type::int16_t; + n_width->m_node_type = NodeType::Simple; + n_width->m_address = base + offset; + n_width->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_width); + + field_name = "height"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_constructions, field_name)); + auto n_height = new NodeSimple; + n_height->m_field_name = field_name; + n_height->m_df_type = DF_Type::int16_t; + n_height->m_rdf_type = RDF_Type::int16_t; + n_height->m_node_type = NodeType::Simple; + n_height->m_address = base + offset; + n_height->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_height); + + field_name = "map"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_constructions, field_name)); + auto n_map = new NodePointer; + n_map->m_field_name = field_name; + n_map->m_df_type = DF_Type::world_construction_square; + n_map->m_rdf_type = RDF_Type::Pointer; + n_map->m_node_type = NodeType::Pointer; + n_map->m_addornements = "**v*"; + n_map->m_address = base + offset; + n_map->m_parent = p_node_parent; + n_map->m_defined_in = "df.map.xml"; + n_map->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_map); + + field_name = "list"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_constructions, field_name)); + auto n_list = new NodeVector; + n_list->m_field_name = field_name; + n_list->m_df_type = DF_Type::world_construction; + n_list->m_rdf_type = RDF_Type::Vector; + n_list->m_node_type = NodeType::Vector; + n_list->m_defined_in = "df.map.xml"; + n_list->m_addornements = "v*"; + n_list->m_address = base + offset; + n_list->m_parent = p_node_parent; + n_list->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_list); + + field_name = "next_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_constructions, field_name)); + auto n_next_id = new NodeSimple; + n_next_id->m_field_name = field_name; + n_next_id->m_df_type = DF_Type::int32_t; + n_next_id->m_rdf_type = RDF_Type::int32_t; + n_next_id->m_node_type = NodeType::Simple; + n_next_id->m_address = base + offset; + n_next_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_next_id); + +} +void node_from_world_data__T_unk_150__T_unk_8(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_150__T_unk_8, field_name)); + auto n_index = new NodeSimple; + n_index->m_field_name = field_name; + n_index->m_df_type = DF_Type::int32_t; + n_index->m_rdf_type = RDF_Type::int32_t; + n_index->m_node_type = NodeType::Simple; + n_index->m_address = base + offset; + n_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_index); + + field_name = "unk_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_150__T_unk_8, field_name)); + auto n_unk_4 = new NodeSimple; + n_unk_4->m_field_name = field_name; + n_unk_4->m_df_type = DF_Type::int32_t; + n_unk_4->m_rdf_type = RDF_Type::int32_t; + n_unk_4->m_node_type = NodeType::Simple; + n_unk_4->m_address = base + offset; + n_unk_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_4); + + field_name = "unk_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_150__T_unk_8, field_name)); + auto n_unk_8 = new NodeSimple; + n_unk_8->m_field_name = field_name; + n_unk_8->m_df_type = DF_Type::int32_t; + n_unk_8->m_rdf_type = RDF_Type::int32_t; + n_unk_8->m_node_type = NodeType::Simple; + n_unk_8->m_address = base + offset; + n_unk_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_8); + +} +void node_from_world_data__T_unk_150__T_unk_18(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_150__T_unk_18, field_name)); + auto n_index = new NodeSimple; + n_index->m_field_name = field_name; + n_index->m_df_type = DF_Type::int32_t; + n_index->m_rdf_type = RDF_Type::int32_t; + n_index->m_node_type = NodeType::Simple; + n_index->m_address = base + offset; + n_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_index); + + field_name = "unk_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_150__T_unk_18, field_name)); + auto n_unk_4 = new NodeSimple; + n_unk_4->m_field_name = field_name; + n_unk_4->m_df_type = DF_Type::int32_t; + n_unk_4->m_rdf_type = RDF_Type::int32_t; + n_unk_4->m_node_type = NodeType::Simple; + n_unk_4->m_address = base + offset; + n_unk_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_4); + + field_name = "unk_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_150__T_unk_18, field_name)); + auto n_unk_8 = new NodeSimple; + n_unk_8->m_field_name = field_name; + n_unk_8->m_df_type = DF_Type::int32_t; + n_unk_8->m_rdf_type = RDF_Type::int32_t; + n_unk_8->m_node_type = NodeType::Simple; + n_unk_8->m_address = base + offset; + n_unk_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_8); + +} +void node_from_world_data__T_unk_150__T_unk_28(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk_0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_150__T_unk_28, field_name)); + auto n_unk_0 = new NodeSimple; + n_unk_0->m_field_name = field_name; + n_unk_0->m_df_type = DF_Type::int32_t; + n_unk_0->m_rdf_type = RDF_Type::int32_t; + n_unk_0->m_node_type = NodeType::Simple; + n_unk_0->m_address = base + offset; + n_unk_0->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_0); + + field_name = "unk_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_150__T_unk_28, field_name)); + auto n_unk_4 = new NodeSimple; + n_unk_4->m_field_name = field_name; + n_unk_4->m_df_type = DF_Type::int32_t; + n_unk_4->m_rdf_type = RDF_Type::int32_t; + n_unk_4->m_node_type = NodeType::Simple; + n_unk_4->m_address = base + offset; + n_unk_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_4); + +} +void node_from_world_data__T_unk_150(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_150, field_name)); + auto n_index = new NodeSimple; + n_index->m_field_name = field_name; + n_index->m_df_type = DF_Type::int32_t; + n_index->m_rdf_type = RDF_Type::int32_t; + n_index->m_node_type = NodeType::Simple; + n_index->m_address = base + offset; + n_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_index); + + field_name = "unk_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_150, field_name)); + auto n_unk_4 = new NodeSimple; + n_unk_4->m_field_name = field_name; + n_unk_4->m_df_type = DF_Type::int32_t; + n_unk_4->m_rdf_type = RDF_Type::int32_t; + n_unk_4->m_node_type = NodeType::Simple; + n_unk_4->m_address = base + offset; + n_unk_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_4); + + field_name = "unk_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_150, field_name)); + auto n_unk_8 = new NodeVector; + n_unk_8->m_field_name = field_name; + n_unk_8->m_df_type = DF_Type::world_data__T_unk_150__T_unk_8; + n_unk_8->m_rdf_type = RDF_Type::Vector; + n_unk_8->m_node_type = NodeType::Vector; + n_unk_8->m_addornements = "v*"; + n_unk_8->m_address = base + offset; + n_unk_8->m_parent = p_node_parent; + n_unk_8->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_8); + + field_name = "unk_18"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_150, field_name)); + auto n_unk_18 = new NodeVector; + n_unk_18->m_field_name = field_name; + n_unk_18->m_df_type = DF_Type::world_data__T_unk_150__T_unk_18; + n_unk_18->m_rdf_type = RDF_Type::Vector; + n_unk_18->m_node_type = NodeType::Vector; + n_unk_18->m_addornements = "v*"; + n_unk_18->m_address = base + offset; + n_unk_18->m_parent = p_node_parent; + n_unk_18->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_18); + + field_name = "unk_28"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_150, field_name)); + auto n_unk_28 = new NodeVector; + n_unk_28->m_field_name = field_name; + n_unk_28->m_df_type = DF_Type::world_data__T_unk_150__T_unk_28; + n_unk_28->m_rdf_type = RDF_Type::Vector; + n_unk_28->m_node_type = NodeType::Vector; + n_unk_28->m_addornements = "v*"; + n_unk_28->m_address = base + offset; + n_unk_28->m_parent = p_node_parent; + n_unk_28->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_28); + +} +void node_from_world_data__T_unk_170__T_unk_4(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk_0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_170__T_unk_4, field_name)); + auto n_unk_0 = new NodeSimple; + n_unk_0->m_field_name = field_name; + n_unk_0->m_df_type = DF_Type::int32_t; + n_unk_0->m_rdf_type = RDF_Type::int32_t; + n_unk_0->m_node_type = NodeType::Simple; + n_unk_0->m_address = base + offset; + n_unk_0->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_0); + + field_name = "unk_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_170__T_unk_4, field_name)); + auto n_unk_4 = new NodeSimple; + n_unk_4->m_field_name = field_name; + n_unk_4->m_df_type = DF_Type::int32_t; + n_unk_4->m_rdf_type = RDF_Type::int32_t; + n_unk_4->m_node_type = NodeType::Simple; + n_unk_4->m_address = base + offset; + n_unk_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_4); + + field_name = "unk_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_170__T_unk_4, field_name)); + auto n_unk_8 = new NodeSimple; + n_unk_8->m_field_name = field_name; + n_unk_8->m_df_type = DF_Type::int32_t; + n_unk_8->m_rdf_type = RDF_Type::int32_t; + n_unk_8->m_node_type = NodeType::Simple; + n_unk_8->m_address = base + offset; + n_unk_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_8); + + field_name = "unk_c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_170__T_unk_4, field_name)); + auto n_unk_c = new NodeSimple; + n_unk_c->m_field_name = field_name; + n_unk_c->m_df_type = DF_Type::int32_t; + n_unk_c->m_rdf_type = RDF_Type::int32_t; + n_unk_c->m_node_type = NodeType::Simple; + n_unk_c->m_address = base + offset; + n_unk_c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_c); + + field_name = "unk_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_170__T_unk_4, field_name)); + auto n_unk_10 = new NodeSimple; + n_unk_10->m_field_name = field_name; + n_unk_10->m_df_type = DF_Type::int32_t; + n_unk_10->m_rdf_type = RDF_Type::int32_t; + n_unk_10->m_node_type = NodeType::Simple; + n_unk_10->m_address = base + offset; + n_unk_10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_10); + + field_name = "unk_14"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_170__T_unk_4, field_name)); + auto n_unk_14 = new NodeSimple; + n_unk_14->m_field_name = field_name; + n_unk_14->m_df_type = DF_Type::int32_t; + n_unk_14->m_rdf_type = RDF_Type::int32_t; + n_unk_14->m_node_type = NodeType::Simple; + n_unk_14->m_address = base + offset; + n_unk_14->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_14); + + field_name = "unk_18"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_170__T_unk_4, field_name)); + auto n_unk_18 = new NodeSimple; + n_unk_18->m_field_name = field_name; + n_unk_18->m_df_type = DF_Type::int32_t; + n_unk_18->m_rdf_type = RDF_Type::int32_t; + n_unk_18->m_node_type = NodeType::Simple; + n_unk_18->m_address = base + offset; + n_unk_18->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_18); + + field_name = "unk_1c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_170__T_unk_4, field_name)); + auto n_unk_1c = new NodeSimple; + n_unk_1c->m_field_name = field_name; + n_unk_1c->m_df_type = DF_Type::int32_t; + n_unk_1c->m_rdf_type = RDF_Type::int32_t; + n_unk_1c->m_node_type = NodeType::Simple; + n_unk_1c->m_address = base + offset; + n_unk_1c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_1c); + +} +void node_from_world_data__T_unk_170(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_170, field_name)); + auto n_index = new NodeSimple; + n_index->m_field_name = field_name; + n_index->m_df_type = DF_Type::int32_t; + n_index->m_rdf_type = RDF_Type::int32_t; + n_index->m_node_type = NodeType::Simple; + n_index->m_address = base + offset; + n_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_index); + + field_name = "unk_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_170, field_name)); + auto n_unk_4 = new NodeVector; + n_unk_4->m_field_name = field_name; + n_unk_4->m_df_type = DF_Type::world_data__T_unk_170__T_unk_4; + n_unk_4->m_rdf_type = RDF_Type::Vector; + n_unk_4->m_node_type = NodeType::Vector; + n_unk_4->m_addornements = "v*"; + n_unk_4->m_address = base + offset; + n_unk_4->m_parent = p_node_parent; + n_unk_4->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_4); + + field_name = "unk_14"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_170, field_name)); + auto n_unk_14 = new NodeVector; + n_unk_14->m_field_name = field_name; + n_unk_14->m_df_type = DF_Type::int32_t; + n_unk_14->m_rdf_type = RDF_Type::Vector; + n_unk_14->m_node_type = NodeType::Vector; + n_unk_14->m_addornements = "v"; + n_unk_14->m_address = base + offset; + n_unk_14->m_parent = p_node_parent; + n_unk_14->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_14); + + field_name = "x1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_170, field_name)); + auto n_x1 = new NodeSimple; + n_x1->m_field_name = field_name; + n_x1->m_df_type = DF_Type::int32_t; + n_x1->m_rdf_type = RDF_Type::int32_t; + n_x1->m_node_type = NodeType::Simple; + n_x1->m_address = base + offset; + n_x1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_x1); + + field_name = "y1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_170, field_name)); + auto n_y1 = new NodeSimple; + n_y1->m_field_name = field_name; + n_y1->m_df_type = DF_Type::int32_t; + n_y1->m_rdf_type = RDF_Type::int32_t; + n_y1->m_node_type = NodeType::Simple; + n_y1->m_address = base + offset; + n_y1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_y1); + + field_name = "x2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_170, field_name)); + auto n_x2 = new NodeSimple; + n_x2->m_field_name = field_name; + n_x2->m_df_type = DF_Type::int32_t; + n_x2->m_rdf_type = RDF_Type::int32_t; + n_x2->m_node_type = NodeType::Simple; + n_x2->m_address = base + offset; + n_x2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_x2); + + field_name = "y2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_170, field_name)); + auto n_y2 = new NodeSimple; + n_y2->m_field_name = field_name; + n_y2->m_df_type = DF_Type::int32_t; + n_y2->m_rdf_type = RDF_Type::int32_t; + n_y2->m_node_type = NodeType::Simple; + n_y2->m_address = base + offset; + n_y2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_y2); + + field_name = "unk_34"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_170, field_name)); + auto n_unk_34 = new NodeSimple; + n_unk_34->m_field_name = field_name; + n_unk_34->m_df_type = DF_Type::int32_t; + n_unk_34->m_rdf_type = RDF_Type::int32_t; + n_unk_34->m_node_type = NodeType::Simple; + n_unk_34->m_address = base + offset; + n_unk_34->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_34); + + field_name = "unk_38"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_170, field_name)); + auto n_unk_38 = new NodeVector; + n_unk_38->m_field_name = field_name; + n_unk_38->m_df_type = DF_Type::int32_t; + n_unk_38->m_rdf_type = RDF_Type::Vector; + n_unk_38->m_node_type = NodeType::Vector; + n_unk_38->m_addornements = "v"; + n_unk_38->m_address = base + offset; + n_unk_38->m_parent = p_node_parent; + n_unk_38->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_38); + +} +void node_from_world_data__T_freakish_weather(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk_0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_freakish_weather, field_name)); + auto n_unk_0 = new NodeSimple; + n_unk_0->m_field_name = field_name; + n_unk_0->m_df_type = DF_Type::int32_t; + n_unk_0->m_rdf_type = RDF_Type::int32_t; + n_unk_0->m_node_type = NodeType::Simple; + n_unk_0->m_address = base + offset; + n_unk_0->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_0); + + field_name = "unk_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_freakish_weather, field_name)); + auto n_unk_4 = new NodeSimple; + n_unk_4->m_field_name = field_name; + n_unk_4->m_df_type = DF_Type::int32_t; + n_unk_4->m_rdf_type = RDF_Type::int32_t; + n_unk_4->m_node_type = NodeType::Simple; + n_unk_4->m_address = base + offset; + n_unk_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_4); + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_freakish_weather, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_freakish_weather, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + + field_name = "unk_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_freakish_weather, field_name)); + auto n_unk_10 = new NodeSimple; + n_unk_10->m_field_name = field_name; + n_unk_10->m_df_type = DF_Type::int32_t; + n_unk_10->m_rdf_type = RDF_Type::int32_t; + n_unk_10->m_node_type = NodeType::Simple; + n_unk_10->m_address = base + offset; + n_unk_10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_10); + + field_name = "region_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_freakish_weather, field_name)); + auto n_region_x = new NodeSimple; + n_region_x->m_field_name = field_name; + n_region_x->m_df_type = DF_Type::int32_t; + n_region_x->m_rdf_type = RDF_Type::int32_t; + n_region_x->m_node_type = NodeType::Simple; + n_region_x->m_address = base + offset; + n_region_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region_x); + + field_name = "region_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_freakish_weather, field_name)); + auto n_region_y = new NodeSimple; + n_region_y->m_field_name = field_name; + n_region_y->m_df_type = DF_Type::int32_t; + n_region_y->m_rdf_type = RDF_Type::int32_t; + n_region_y->m_node_type = NodeType::Simple; + n_region_y->m_address = base + offset; + n_region_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region_y); + + field_name = "unk_1c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_freakish_weather, field_name)); + auto n_unk_1c = new NodeSimple; + n_unk_1c->m_field_name = field_name; + n_unk_1c->m_df_type = DF_Type::int32_t; + n_unk_1c->m_rdf_type = RDF_Type::int32_t; + n_unk_1c->m_node_type = NodeType::Simple; + n_unk_1c->m_address = base + offset; + n_unk_1c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_1c); + + field_name = "unk_20"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_freakish_weather, field_name)); + auto n_unk_20 = new NodeSimple; + n_unk_20->m_field_name = field_name; + n_unk_20->m_df_type = DF_Type::int32_t; + n_unk_20->m_rdf_type = RDF_Type::int32_t; + n_unk_20->m_node_type = NodeType::Simple; + n_unk_20->m_address = base + offset; + n_unk_20->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_20); + + field_name = "unk_24"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_freakish_weather, field_name)); + auto n_unk_24 = new NodeSimple; + n_unk_24->m_field_name = field_name; + n_unk_24->m_df_type = DF_Type::int32_t; + n_unk_24->m_rdf_type = RDF_Type::int32_t; + n_unk_24->m_node_type = NodeType::Simple; + n_unk_24->m_address = base + offset; + n_unk_24->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_24); + + field_name = "unk_28"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_freakish_weather, field_name)); + auto n_unk_28 = new NodeSimple; + n_unk_28->m_field_name = field_name; + n_unk_28->m_df_type = DF_Type::int32_t; + n_unk_28->m_rdf_type = RDF_Type::int32_t; + n_unk_28->m_node_type = NodeType::Simple; + n_unk_28->m_address = base + offset; + n_unk_28->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_28); + + field_name = "unk_2c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_freakish_weather, field_name)); + auto n_unk_2c = new NodeSimple; + n_unk_2c->m_field_name = field_name; + n_unk_2c->m_df_type = DF_Type::int32_t; + n_unk_2c->m_rdf_type = RDF_Type::int32_t; + n_unk_2c->m_node_type = NodeType::Simple; + n_unk_2c->m_address = base + offset; + n_unk_2c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_2c); + + field_name = "unk_30"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_freakish_weather, field_name)); + auto n_unk_30 = new NodeSimple; + n_unk_30->m_field_name = field_name; + n_unk_30->m_df_type = DF_Type::int32_t; + n_unk_30->m_rdf_type = RDF_Type::int32_t; + n_unk_30->m_node_type = NodeType::Simple; + n_unk_30->m_address = base + offset; + n_unk_30->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_30); + + field_name = "unk_34"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_freakish_weather, field_name)); + auto n_unk_34 = new NodeSimple; + n_unk_34->m_field_name = field_name; + n_unk_34->m_df_type = DF_Type::int32_t; + n_unk_34->m_rdf_type = RDF_Type::int32_t; + n_unk_34->m_node_type = NodeType::Simple; + n_unk_34->m_address = base + offset; + n_unk_34->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_34); + +} +void node_from_world_data__T_mountain_peaks(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "name"; + auto n_name = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_mountain_peaks, field_name)); + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::language_name; + n_name->m_rdf_type = RDF_Type::Struct; + n_name->m_node_type = NodeType::Compound; + n_name->m_address = base + offset; + n_name->m_defined_in = "df.language.xml"; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "pos"; + auto n_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_mountain_peaks, field_name)); + n_pos->m_field_name = field_name; + n_pos->m_df_type = DF_Type::coord2d; + n_pos->m_rdf_type = RDF_Type::Struct; + n_pos->m_node_type = NodeType::Compound; + n_pos->m_address = base + offset; + n_pos->m_defined_in = "df.map.xml"; + n_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pos); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_mountain_peaks, field_name)); + auto n_flags = new NodeDFFlagArray; + n_flags->m_field_name = field_name; + n_flags->m_index_enum = DF_Type::mountain_peak_flags; + n_flags->m_df_type = DF_Type::mountain_peak_flags; + n_flags->m_size = 1; + n_flags->m_rdf_type = RDF_Type::DFFlagArray; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_defined_in = "df.world-data.xml"; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "height"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_mountain_peaks, field_name)); + auto n_height = new NodeSimple; + n_height->m_field_name = field_name; + n_height->m_df_type = DF_Type::int16_t; + n_height->m_rdf_type = RDF_Type::int16_t; + n_height->m_node_type = NodeType::Simple; + n_height->m_address = base + offset; + n_height->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_height); + +} +void node_from_world_data__T_feature_map__T_features(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "feature_init"; + auto n_feature_init = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_feature_map__T_features, field_name)); + n_feature_init->m_field_name = field_name; + n_feature_init->m_df_type = DF_Type::feature_init; + n_feature_init->m_rdf_type = RDF_Type::Array; + n_feature_init->m_node_type = NodeType::Array; + n_feature_init->m_defined_in = "df.map.xml"; + n_feature_init->m_addornements = "[16[16v*"; + n_feature_init->m_array_size = 16; + n_feature_init->m_address = base + offset; + n_feature_init->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_feature_init); + + field_name = "unk"; + auto n_unk = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_feature_map__T_features, field_name)); + n_unk->m_field_name = field_name; + n_unk->m_df_type = DF_Type::int32_t; + n_unk->m_rdf_type = RDF_Type::Array; + n_unk->m_node_type = NodeType::Array; + n_unk->m_addornements = "[16[16[30"; + n_unk->m_array_size = 16; + n_unk->m_address = base + offset; + n_unk->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk); + +} +void node_from_world_data__T_feature_map(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_feature_map, field_name)); + auto n_x = new NodeSimple; + n_x->m_field_name = field_name; + n_x->m_df_type = DF_Type::int16_t; + n_x->m_rdf_type = RDF_Type::int16_t; + n_x->m_node_type = NodeType::Simple; + n_x->m_address = base + offset; + n_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_x); + + field_name = "y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_feature_map, field_name)); + auto n_y = new NodeSimple; + n_y->m_field_name = field_name; + n_y->m_df_type = DF_Type::int16_t; + n_y->m_rdf_type = RDF_Type::int16_t; + n_y->m_node_type = NodeType::Simple; + n_y->m_address = base + offset; + n_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_y); + + field_name = "features"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_feature_map, field_name)); + auto n_features = new NodePointer; + n_features->m_field_name = field_name; + n_features->m_df_type = get_real_subtype(base+offset, DF_Type::world_data__T_feature_map__T_features); + n_features->m_rdf_type = RDF_Type::Pointer; + n_features->m_node_type = NodeType::Pointer; + n_features->m_addornements = "*"; + n_features->m_address = base + offset; + n_features->m_parent = p_node_parent; + n_features->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_features); + + field_name = "unk_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_feature_map, field_name)); + auto n_unk_8 = new NodePointer; + n_unk_8->m_field_name = field_name; + n_unk_8->m_df_type = get_real_subtype(base+offset, DF_Type::int16_t); + n_unk_8->m_rdf_type = RDF_Type::Pointer; + n_unk_8->m_node_type = NodeType::Pointer; + n_unk_8->m_addornements = "*"; + n_unk_8->m_address = base + offset; + n_unk_8->m_parent = p_node_parent; + n_unk_8->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_8); + + field_name = "unk_c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_feature_map, field_name)); + auto n_unk_c = new NodePointer; + n_unk_c->m_field_name = field_name; + n_unk_c->m_df_type = get_real_subtype(base+offset, DF_Type::int32_t); + n_unk_c->m_rdf_type = RDF_Type::Pointer; + n_unk_c->m_node_type = NodeType::Pointer; + n_unk_c->m_addornements = "*"; + n_unk_c->m_address = base + offset; + n_unk_c->m_parent = p_node_parent; + n_unk_c->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_c); + +} +void node_from_world_data__T_unk_274__T_unk_10(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk_0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_274__T_unk_10, field_name)); + auto n_unk_0 = new NodeSimple; + n_unk_0->m_field_name = field_name; + n_unk_0->m_df_type = DF_Type::int32_t; + n_unk_0->m_rdf_type = RDF_Type::int32_t; + n_unk_0->m_node_type = NodeType::Simple; + n_unk_0->m_address = base + offset; + n_unk_0->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_0); + + field_name = "race"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_274__T_unk_10, field_name)); + auto n_race = new NodeSimple; + n_race->m_field_name = field_name; + n_race->m_df_type = DF_Type::int32_t; + n_race->m_rdf_type = RDF_Type::int32_t; + n_race->m_node_type = NodeType::Simple; + n_race->m_address = base + offset; + n_race->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_race); + + field_name = "unk_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_274__T_unk_10, field_name)); + auto n_unk_8 = new NodeSimple; + n_unk_8->m_field_name = field_name; + n_unk_8->m_df_type = DF_Type::int32_t; + n_unk_8->m_rdf_type = RDF_Type::int32_t; + n_unk_8->m_node_type = NodeType::Simple; + n_unk_8->m_address = base + offset; + n_unk_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_8); + +} +void node_from_world_data__T_unk_274(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "members"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_274, field_name)); + auto n_members = new NodeVector; + n_members->m_field_name = field_name; + n_members->m_df_type = DF_Type::historical_figure; + n_members->m_rdf_type = RDF_Type::Vector; + n_members->m_node_type = NodeType::Vector; + n_members->m_defined_in = "df.history.xml"; + n_members->m_addornements = "v*"; + n_members->m_address = base + offset; + n_members->m_parent = p_node_parent; + n_members->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_members); + + field_name = "unk_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_274, field_name)); + auto n_unk_10 = new NodeVector; + n_unk_10->m_field_name = field_name; + n_unk_10->m_df_type = DF_Type::world_data__T_unk_274__T_unk_10; + n_unk_10->m_rdf_type = RDF_Type::Vector; + n_unk_10->m_node_type = NodeType::Vector; + n_unk_10->m_addornements = "v*"; + n_unk_10->m_address = base + offset; + n_unk_10->m_parent = p_node_parent; + n_unk_10->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_10); + + field_name = "entity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_274, field_name)); + auto n_entity = new NodePointer; + n_entity->m_field_name = field_name; + n_entity->m_df_type = get_real_subtype(base+offset, DF_Type::historical_entity); + n_entity->m_rdf_type = RDF_Type::Pointer; + n_entity->m_node_type = NodeType::Pointer; + n_entity->m_addornements = "*"; + n_entity->m_address = base + offset; + n_entity->m_parent = p_node_parent; + n_entity->m_defined_in = "df.entities.xml"; + n_entity->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_entity); + + field_name = "unk_24"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_274, field_name)); + auto n_unk_24 = new NodeSimple; + n_unk_24->m_field_name = field_name; + n_unk_24->m_df_type = DF_Type::int32_t; + n_unk_24->m_rdf_type = RDF_Type::int32_t; + n_unk_24->m_node_type = NodeType::Simple; + n_unk_24->m_address = base + offset; + n_unk_24->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_24); + + field_name = "unk_region_name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_274, field_name)); + auto n_unk_region_name = new NodePointer; + n_unk_region_name->m_field_name = field_name; + n_unk_region_name->m_df_type = get_real_subtype(base+offset, DF_Type::language_name); + n_unk_region_name->m_rdf_type = RDF_Type::Pointer; + n_unk_region_name->m_node_type = NodeType::Pointer; + n_unk_region_name->m_addornements = "*"; + n_unk_region_name->m_address = base + offset; + n_unk_region_name->m_parent = p_node_parent; + n_unk_region_name->m_defined_in = "df.language.xml"; + n_unk_region_name->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_region_name); + + field_name = "unk_2c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_274, field_name)); + auto n_unk_2c = new NodeSimple; + n_unk_2c->m_field_name = field_name; + n_unk_2c->m_df_type = DF_Type::int32_t; + n_unk_2c->m_rdf_type = RDF_Type::int32_t; + n_unk_2c->m_node_type = NodeType::Simple; + n_unk_2c->m_address = base + offset; + n_unk_2c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_2c); + + field_name = "unk_30"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_274, field_name)); + auto n_unk_30 = new NodeSimple; + n_unk_30->m_field_name = field_name; + n_unk_30->m_df_type = DF_Type::int32_t; + n_unk_30->m_rdf_type = RDF_Type::int32_t; + n_unk_30->m_node_type = NodeType::Simple; + n_unk_30->m_address = base + offset; + n_unk_30->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_30); + +} +void node_from_world_data__T_unk_482f8(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + auto n_anon_1 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_482f8, field_name)); + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::Array; + n_anon_1->m_node_type = NodeType::Array; + n_anon_1->m_addornements = "[320000"; + n_anon_1->m_array_size = 320000; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_482f8, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_482f8, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_482f8, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_482f8, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_482f8, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_482f8, field_name)); + auto n_anon_7 = new NodeSimple; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::int32_t; + n_anon_7->m_rdf_type = RDF_Type::int32_t; + n_anon_7->m_node_type = NodeType::Simple; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_7); + + field_name = "anon_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data__T_unk_482f8, field_name)); + auto n_anon_8 = new NodeSimple; + n_anon_8->m_field_name = field_name; + n_anon_8->m_df_type = DF_Type::int32_t; + n_anon_8->m_rdf_type = RDF_Type::int32_t; + n_anon_8->m_node_type = NodeType::Simple; + n_anon_8->m_address = base + offset; + n_anon_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_8); + +} +void node_from_world_data(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "name"; + auto n_name = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::language_name; + n_name->m_rdf_type = RDF_Type::Struct; + n_name->m_node_type = NodeType::Compound; + n_name->m_address = base + offset; + n_name->m_defined_in = "df.language.xml"; + n_name->m_comment = "name of the world"; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "unk1"; + auto n_unk1 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + n_unk1->m_field_name = field_name; + n_unk1->m_df_type = DF_Type::int8_t; + n_unk1->m_rdf_type = RDF_Type::Array; + n_unk1->m_node_type = NodeType::Array; + n_unk1->m_addornements = "[15"; + n_unk1->m_array_size = 15; + n_unk1->m_address = base + offset; + n_unk1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk1); + + field_name = "next_site_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_next_site_id = new NodeSimple; + n_next_site_id->m_field_name = field_name; + n_next_site_id->m_df_type = DF_Type::int32_t; + n_next_site_id->m_rdf_type = RDF_Type::int32_t; + n_next_site_id->m_node_type = NodeType::Simple; + n_next_site_id->m_address = base + offset; + n_next_site_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_next_site_id); + + field_name = "next_site_unk136_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_next_site_unk136_id = new NodeSimple; + n_next_site_unk136_id->m_field_name = field_name; + n_next_site_unk136_id->m_df_type = DF_Type::int32_t; + n_next_site_unk136_id->m_rdf_type = RDF_Type::int32_t; + n_next_site_unk136_id->m_node_type = NodeType::Simple; + n_next_site_unk136_id->m_address = base + offset; + n_next_site_unk136_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_next_site_unk136_id); + + field_name = "next_resource_allotment_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_next_resource_allotment_id = new NodeSimple; + n_next_resource_allotment_id->m_field_name = field_name; + n_next_resource_allotment_id->m_df_type = DF_Type::int32_t; + n_next_resource_allotment_id->m_rdf_type = RDF_Type::int32_t; + n_next_resource_allotment_id->m_node_type = NodeType::Simple; + n_next_resource_allotment_id->m_address = base + offset; + n_next_resource_allotment_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_next_resource_allotment_id); + + field_name = "next_unk_150_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_next_unk_150_id = new NodeSimple; + n_next_unk_150_id->m_field_name = field_name; + n_next_unk_150_id->m_df_type = DF_Type::int32_t; + n_next_unk_150_id->m_rdf_type = RDF_Type::int32_t; + n_next_unk_150_id->m_node_type = NodeType::Simple; + n_next_unk_150_id->m_address = base + offset; + n_next_unk_150_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_next_unk_150_id); + + field_name = "next_unk_170_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_next_unk_170_id = new NodeSimple; + n_next_unk_170_id->m_field_name = field_name; + n_next_unk_170_id->m_df_type = DF_Type::int32_t; + n_next_unk_170_id->m_rdf_type = RDF_Type::int32_t; + n_next_unk_170_id->m_node_type = NodeType::Simple; + n_next_unk_170_id->m_address = base + offset; + n_next_unk_170_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_next_unk_170_id); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "world_width"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_world_width = new NodeSimple; + n_world_width->m_field_name = field_name; + n_world_width->m_df_type = DF_Type::int32_t; + n_world_width->m_rdf_type = RDF_Type::int32_t; + n_world_width->m_node_type = NodeType::Simple; + n_world_width->m_address = base + offset; + n_world_width->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_world_width); + + field_name = "world_height"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_world_height = new NodeSimple; + n_world_height->m_field_name = field_name; + n_world_height->m_df_type = DF_Type::int32_t; + n_world_height->m_rdf_type = RDF_Type::int32_t; + n_world_height->m_node_type = NodeType::Simple; + n_world_height->m_address = base + offset; + n_world_height->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_world_height); + + field_name = "unk_78"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_unk_78 = new NodeSimple; + n_unk_78->m_field_name = field_name; + n_unk_78->m_df_type = DF_Type::int32_t; + n_unk_78->m_rdf_type = RDF_Type::int32_t; + n_unk_78->m_node_type = NodeType::Simple; + n_unk_78->m_address = base + offset; + n_unk_78->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_78); + + field_name = "moon_phase"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_moon_phase = new NodeSimple; + n_moon_phase->m_field_name = field_name; + n_moon_phase->m_df_type = DF_Type::int32_t; + n_moon_phase->m_rdf_type = RDF_Type::int32_t; + n_moon_phase->m_node_type = NodeType::Simple; + n_moon_phase->m_address = base + offset; + n_moon_phase->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_moon_phase); + + field_name = "flip_latitude"; + auto n_flip_latitude = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + n_flip_latitude->m_field_name = field_name; + n_flip_latitude->m_df_type = DF_Type::world_data__T_flip_latitude; + n_flip_latitude->m_rdf_type = RDF_Type::Enum; + n_flip_latitude->m_node_type = NodeType::Enum; + n_flip_latitude->m_base_type = DF_Type::int16_t; + n_flip_latitude->m_enum_type = "world_data::T_flip_latitude"; + n_flip_latitude->m_address = base + offset; + n_flip_latitude->m_first_value = -1; + n_flip_latitude->m_last_value = 2; + n_flip_latitude->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flip_latitude); + + field_name = "flip_longitude"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_flip_longitude = new NodeSimple; + n_flip_longitude->m_field_name = field_name; + n_flip_longitude->m_df_type = DF_Type::int16_t; + n_flip_longitude->m_rdf_type = RDF_Type::int16_t; + n_flip_longitude->m_node_type = NodeType::Simple; + n_flip_longitude->m_address = base + offset; + n_flip_longitude->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flip_longitude); + + field_name = "unk_84"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_unk_84 = new NodeSimple; + n_unk_84->m_field_name = field_name; + n_unk_84->m_df_type = DF_Type::int16_t; + n_unk_84->m_rdf_type = RDF_Type::int16_t; + n_unk_84->m_node_type = NodeType::Simple; + n_unk_84->m_address = base + offset; + n_unk_84->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_84); + + field_name = "unk_86"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_unk_86 = new NodeSimple; + n_unk_86->m_field_name = field_name; + n_unk_86->m_df_type = DF_Type::int16_t; + n_unk_86->m_rdf_type = RDF_Type::int16_t; + n_unk_86->m_node_type = NodeType::Simple; + n_unk_86->m_address = base + offset; + n_unk_86->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_86); + + field_name = "unk_88"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_unk_88 = new NodeSimple; + n_unk_88->m_field_name = field_name; + n_unk_88->m_df_type = DF_Type::int16_t; + n_unk_88->m_rdf_type = RDF_Type::int16_t; + n_unk_88->m_node_type = NodeType::Simple; + n_unk_88->m_address = base + offset; + n_unk_88->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_88); + + field_name = "unk_8a"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_unk_8a = new NodeSimple; + n_unk_8a->m_field_name = field_name; + n_unk_8a->m_df_type = DF_Type::int16_t; + n_unk_8a->m_rdf_type = RDF_Type::int16_t; + n_unk_8a->m_node_type = NodeType::Simple; + n_unk_8a->m_address = base + offset; + n_unk_8a->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_8a); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int16_t; + n_anon_2->m_rdf_type = RDF_Type::int16_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int16_t; + n_anon_3->m_rdf_type = RDF_Type::int16_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "unk_b4"; + auto n_unk_b4 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + n_unk_b4->m_field_name = field_name; + n_unk_b4->m_df_type = DF_Type::world_data__T_unk_b4; + n_unk_b4->m_rdf_type = RDF_Type::Compound; + n_unk_b4->m_node_type = NodeType::Compound; + n_unk_b4->m_address = base + offset; + n_unk_b4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_b4); + + field_name = "region_details"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_region_details = new NodeVector; + n_region_details->m_field_name = field_name; + n_region_details->m_df_type = DF_Type::world_region_details; + n_region_details->m_rdf_type = RDF_Type::Vector; + n_region_details->m_node_type = NodeType::Vector; + n_region_details->m_defined_in = "df.world-data.xml"; + n_region_details->m_addornements = "v*"; + n_region_details->m_address = base + offset; + n_region_details->m_parent = p_node_parent; + n_region_details->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_region_details); + + field_name = "adv_region_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_adv_region_x = new NodeSimple; + n_adv_region_x->m_field_name = field_name; + n_adv_region_x->m_df_type = DF_Type::int32_t; + n_adv_region_x->m_rdf_type = RDF_Type::int32_t; + n_adv_region_x->m_node_type = NodeType::Simple; + n_adv_region_x->m_address = base + offset; + n_adv_region_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_adv_region_x); + + field_name = "adv_region_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_adv_region_y = new NodeSimple; + n_adv_region_y->m_field_name = field_name; + n_adv_region_y->m_df_type = DF_Type::int32_t; + n_adv_region_y->m_rdf_type = RDF_Type::int32_t; + n_adv_region_y->m_node_type = NodeType::Simple; + n_adv_region_y->m_address = base + offset; + n_adv_region_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_adv_region_y); + + field_name = "adv_emb_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_adv_emb_x = new NodeSimple; + n_adv_emb_x->m_field_name = field_name; + n_adv_emb_x->m_df_type = DF_Type::int32_t; + n_adv_emb_x->m_rdf_type = RDF_Type::int32_t; + n_adv_emb_x->m_node_type = NodeType::Simple; + n_adv_emb_x->m_address = base + offset; + n_adv_emb_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_adv_emb_x); + + field_name = "adv_emb_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_adv_emb_y = new NodeSimple; + n_adv_emb_y->m_field_name = field_name; + n_adv_emb_y->m_df_type = DF_Type::int32_t; + n_adv_emb_y->m_rdf_type = RDF_Type::int32_t; + n_adv_emb_y->m_node_type = NodeType::Simple; + n_adv_emb_y->m_address = base + offset; + n_adv_emb_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_adv_emb_y); + + field_name = "unk_x1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_unk_x1 = new NodeSimple; + n_unk_x1->m_field_name = field_name; + n_unk_x1->m_df_type = DF_Type::int16_t; + n_unk_x1->m_rdf_type = RDF_Type::int16_t; + n_unk_x1->m_node_type = NodeType::Simple; + n_unk_x1->m_address = base + offset; + n_unk_x1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_x1); + + field_name = "unk_y1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_unk_y1 = new NodeSimple; + n_unk_y1->m_field_name = field_name; + n_unk_y1->m_df_type = DF_Type::int16_t; + n_unk_y1->m_rdf_type = RDF_Type::int16_t; + n_unk_y1->m_node_type = NodeType::Simple; + n_unk_y1->m_address = base + offset; + n_unk_y1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_y1); + + field_name = "unk_x2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_unk_x2 = new NodeSimple; + n_unk_x2->m_field_name = field_name; + n_unk_x2->m_df_type = DF_Type::int16_t; + n_unk_x2->m_rdf_type = RDF_Type::int16_t; + n_unk_x2->m_node_type = NodeType::Simple; + n_unk_x2->m_address = base + offset; + n_unk_x2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_x2); + + field_name = "unk_y2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_unk_y2 = new NodeSimple; + n_unk_y2->m_field_name = field_name; + n_unk_y2->m_df_type = DF_Type::int16_t; + n_unk_y2->m_rdf_type = RDF_Type::int16_t; + n_unk_y2->m_node_type = NodeType::Simple; + n_unk_y2->m_address = base + offset; + n_unk_y2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_y2); + + field_name = "constructions"; + auto n_constructions = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + n_constructions->m_field_name = field_name; + n_constructions->m_df_type = DF_Type::world_data__T_constructions; + n_constructions->m_rdf_type = RDF_Type::Compound; + n_constructions->m_node_type = NodeType::Compound; + n_constructions->m_address = base + offset; + n_constructions->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_constructions); + + field_name = "entity_claims1"; + auto n_entity_claims1 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + n_entity_claims1->m_field_name = field_name; + n_entity_claims1->m_df_type = DF_Type::entity_claim_mask; + n_entity_claims1->m_rdf_type = RDF_Type::Struct; + n_entity_claims1->m_node_type = NodeType::Compound; + n_entity_claims1->m_address = base + offset; + n_entity_claims1->m_defined_in = "df.world-data.xml"; + n_entity_claims1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity_claims1); + + field_name = "entity_claims2"; + auto n_entity_claims2 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + n_entity_claims2->m_field_name = field_name; + n_entity_claims2->m_df_type = DF_Type::entity_claim_mask; + n_entity_claims2->m_rdf_type = RDF_Type::Struct; + n_entity_claims2->m_node_type = NodeType::Compound; + n_entity_claims2->m_address = base + offset; + n_entity_claims2->m_defined_in = "df.world-data.xml"; + n_entity_claims2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity_claims2); + + field_name = "sites"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_sites = new NodeVector; + n_sites->m_field_name = field_name; + n_sites->m_df_type = DF_Type::world_site; + n_sites->m_rdf_type = RDF_Type::Vector; + n_sites->m_node_type = NodeType::Vector; + n_sites->m_defined_in = "df.world-site.xml"; + n_sites->m_addornements = "v*"; + n_sites->m_address = base + offset; + n_sites->m_parent = p_node_parent; + n_sites->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_sites); + + field_name = "site_unk130"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_site_unk130 = new NodeVector; + n_site_unk130->m_field_name = field_name; + n_site_unk130->m_df_type = DF_Type::world_site_unk130; + n_site_unk130->m_rdf_type = RDF_Type::Vector; + n_site_unk130->m_node_type = NodeType::Vector; + n_site_unk130->m_defined_in = "df.world-data.xml"; + n_site_unk130->m_addornements = "v*"; + n_site_unk130->m_address = base + offset; + n_site_unk130->m_parent = p_node_parent; + n_site_unk130->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_site_unk130); + + field_name = "resource_allotments"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_resource_allotments = new NodeVector; + n_resource_allotments->m_field_name = field_name; + n_resource_allotments->m_df_type = DF_Type::resource_allotment_data; + n_resource_allotments->m_rdf_type = RDF_Type::Vector; + n_resource_allotments->m_node_type = NodeType::Vector; + n_resource_allotments->m_defined_in = "df.resource.xml"; + n_resource_allotments->m_addornements = "v*"; + n_resource_allotments->m_address = base + offset; + n_resource_allotments->m_parent = p_node_parent; + n_resource_allotments->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_resource_allotments); + + field_name = "unk_150"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_unk_150 = new NodeVector; + n_unk_150->m_field_name = field_name; + n_unk_150->m_df_type = DF_Type::world_data__T_unk_150; + n_unk_150->m_rdf_type = RDF_Type::Vector; + n_unk_150->m_node_type = NodeType::Vector; + n_unk_150->m_addornements = "v*"; + n_unk_150->m_address = base + offset; + n_unk_150->m_parent = p_node_parent; + n_unk_150->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_150); + + field_name = "unk_170"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_unk_170 = new NodeVector; + n_unk_170->m_field_name = field_name; + n_unk_170->m_df_type = DF_Type::world_data__T_unk_170; + n_unk_170->m_rdf_type = RDF_Type::Vector; + n_unk_170->m_node_type = NodeType::Vector; + n_unk_170->m_addornements = "v*"; + n_unk_170->m_address = base + offset; + n_unk_170->m_parent = p_node_parent; + n_unk_170->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_170); + + field_name = "freakish_weather"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_freakish_weather = new NodeVector; + n_freakish_weather->m_field_name = field_name; + n_freakish_weather->m_df_type = DF_Type::world_data__T_freakish_weather; + n_freakish_weather->m_rdf_type = RDF_Type::Vector; + n_freakish_weather->m_node_type = NodeType::Vector; + n_freakish_weather->m_addornements = "v*"; + n_freakish_weather->m_address = base + offset; + n_freakish_weather->m_parent = p_node_parent; + n_freakish_weather->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_freakish_weather); + + field_name = "object_data"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_object_data = new NodeVector; + n_object_data->m_field_name = field_name; + n_object_data->m_df_type = DF_Type::world_object_data; + n_object_data->m_rdf_type = RDF_Type::Vector; + n_object_data->m_node_type = NodeType::Vector; + n_object_data->m_defined_in = "df.world-data.xml"; + n_object_data->m_addornements = "v*"; + n_object_data->m_address = base + offset; + n_object_data->m_parent = p_node_parent; + n_object_data->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_object_data); + + field_name = "landmasses"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_landmasses = new NodeVector; + n_landmasses->m_field_name = field_name; + n_landmasses->m_df_type = DF_Type::world_landmass; + n_landmasses->m_rdf_type = RDF_Type::Vector; + n_landmasses->m_node_type = NodeType::Vector; + n_landmasses->m_defined_in = "df.world-data.xml"; + n_landmasses->m_addornements = "v*"; + n_landmasses->m_address = base + offset; + n_landmasses->m_parent = p_node_parent; + n_landmasses->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_landmasses); + + field_name = "regions"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_regions = new NodeVector; + n_regions->m_field_name = field_name; + n_regions->m_df_type = DF_Type::world_region; + n_regions->m_rdf_type = RDF_Type::Vector; + n_regions->m_node_type = NodeType::Vector; + n_regions->m_defined_in = "df.world-data.xml"; + n_regions->m_addornements = "v*"; + n_regions->m_address = base + offset; + n_regions->m_parent = p_node_parent; + n_regions->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_regions); + + field_name = "underground_regions"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_underground_regions = new NodeVector; + n_underground_regions->m_field_name = field_name; + n_underground_regions->m_df_type = DF_Type::world_underground_region; + n_underground_regions->m_rdf_type = RDF_Type::Vector; + n_underground_regions->m_node_type = NodeType::Vector; + n_underground_regions->m_defined_in = "df.world-data.xml"; + n_underground_regions->m_addornements = "v*"; + n_underground_regions->m_address = base + offset; + n_underground_regions->m_parent = p_node_parent; + n_underground_regions->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_underground_regions); + + field_name = "geo_biomes"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_geo_biomes = new NodeVector; + n_geo_biomes->m_field_name = field_name; + n_geo_biomes->m_df_type = DF_Type::world_geo_biome; + n_geo_biomes->m_rdf_type = RDF_Type::Vector; + n_geo_biomes->m_node_type = NodeType::Vector; + n_geo_biomes->m_defined_in = "df.world-data.xml"; + n_geo_biomes->m_addornements = "v*"; + n_geo_biomes->m_address = base + offset; + n_geo_biomes->m_parent = p_node_parent; + n_geo_biomes->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_geo_biomes); + + field_name = "mountain_peaks"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_mountain_peaks = new NodeVector; + n_mountain_peaks->m_field_name = field_name; + n_mountain_peaks->m_df_type = DF_Type::world_data__T_mountain_peaks; + n_mountain_peaks->m_rdf_type = RDF_Type::Vector; + n_mountain_peaks->m_node_type = NodeType::Vector; + n_mountain_peaks->m_addornements = "v*"; + n_mountain_peaks->m_address = base + offset; + n_mountain_peaks->m_parent = p_node_parent; + n_mountain_peaks->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_mountain_peaks); + + field_name = "rivers"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_rivers = new NodeVector; + n_rivers->m_field_name = field_name; + n_rivers->m_df_type = DF_Type::world_river; + n_rivers->m_rdf_type = RDF_Type::Vector; + n_rivers->m_node_type = NodeType::Vector; + n_rivers->m_defined_in = "df.world-data.xml"; + n_rivers->m_addornements = "v*"; + n_rivers->m_address = base + offset; + n_rivers->m_parent = p_node_parent; + n_rivers->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_rivers); + + field_name = "region_map"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_region_map = new NodePointer; + n_region_map->m_field_name = field_name; + n_region_map->m_df_type = DF_Type::region_map_entry; + n_region_map->m_rdf_type = RDF_Type::Pointer; + n_region_map->m_node_type = NodeType::Pointer; + n_region_map->m_addornements = "**"; + n_region_map->m_address = base + offset; + n_region_map->m_parent = p_node_parent; + n_region_map->m_defined_in = "df.world-data.xml"; + n_region_map->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_region_map); + + field_name = "unk_1c4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_unk_1c4 = new NodePointer; + n_unk_1c4->m_field_name = field_name; + n_unk_1c4->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_unk_1c4->m_rdf_type = RDF_Type::Pointer; + n_unk_1c4->m_node_type = NodeType::Pointer; + n_unk_1c4->m_addornements = "*"; + n_unk_1c4->m_address = base + offset; + n_unk_1c4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_1c4); + + field_name = "unk_1c8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_unk_1c8= new NodePadding; + n_unk_1c8->m_field_name = field_name; + n_unk_1c8->m_df_type = DF_Type::Padding; + n_unk_1c8->m_rdf_type = RDF_Type::Padding; + n_unk_1c8->m_node_type = NodeType::Padding; + n_unk_1c8->m_address = base + offset; + n_unk_1c8->m_size = 4; + n_unk_1c8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_1c8); + + field_name = "embark_notes"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_embark_notes = new NodeVector; + n_embark_notes->m_field_name = field_name; + n_embark_notes->m_df_type = DF_Type::embark_note; + n_embark_notes->m_rdf_type = RDF_Type::Vector; + n_embark_notes->m_node_type = NodeType::Vector; + n_embark_notes->m_defined_in = "df.world-data.xml"; + n_embark_notes->m_addornements = "v*"; + n_embark_notes->m_address = base + offset; + n_embark_notes->m_parent = p_node_parent; + n_embark_notes->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_embark_notes); + + field_name = "unk_1dc"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_unk_1dc = new NodePointer; + n_unk_1dc->m_field_name = field_name; + n_unk_1dc->m_df_type = DF_Type::Void; + n_unk_1dc->m_rdf_type = RDF_Type::Pointer; + n_unk_1dc->m_node_type = NodeType::Pointer; + n_unk_1dc->m_addornements = "**v"; + n_unk_1dc->m_address = base + offset; + n_unk_1dc->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_1dc); + + field_name = "unk_1e0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_unk_1e0 = new NodePointer; + n_unk_1e0->m_field_name = field_name; + n_unk_1e0->m_df_type = DF_Type::Void; + n_unk_1e0->m_rdf_type = RDF_Type::Pointer; + n_unk_1e0->m_node_type = NodeType::Pointer; + n_unk_1e0->m_addornements = "**v"; + n_unk_1e0->m_address = base + offset; + n_unk_1e0->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_1e0); + + field_name = "unk_1e4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_unk_1e4 = new NodePointer; + n_unk_1e4->m_field_name = field_name; + n_unk_1e4->m_df_type = DF_Type::Void; + n_unk_1e4->m_rdf_type = RDF_Type::Pointer; + n_unk_1e4->m_node_type = NodeType::Pointer; + n_unk_1e4->m_addornements = "**v"; + n_unk_1e4->m_address = base + offset; + n_unk_1e4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_1e4); + + field_name = "unk_1e8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_unk_1e8 = new NodePointer; + n_unk_1e8->m_field_name = field_name; + n_unk_1e8->m_df_type = DF_Type::Void; + n_unk_1e8->m_rdf_type = RDF_Type::Pointer; + n_unk_1e8->m_node_type = NodeType::Pointer; + n_unk_1e8->m_addornements = "**v"; + n_unk_1e8->m_address = base + offset; + n_unk_1e8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_1e8); + + field_name = "unk_1ec"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_unk_1ec = new NodePointer; + n_unk_1ec->m_field_name = field_name; + n_unk_1ec->m_df_type = DF_Type::Void; + n_unk_1ec->m_rdf_type = RDF_Type::Pointer; + n_unk_1ec->m_node_type = NodeType::Pointer; + n_unk_1ec->m_addornements = "**v"; + n_unk_1ec->m_address = base + offset; + n_unk_1ec->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_1ec); + + field_name = "unk_1f0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_unk_1f0 = new NodePointer; + n_unk_1f0->m_field_name = field_name; + n_unk_1f0->m_df_type = DF_Type::Void; + n_unk_1f0->m_rdf_type = RDF_Type::Pointer; + n_unk_1f0->m_node_type = NodeType::Pointer; + n_unk_1f0->m_addornements = "**v"; + n_unk_1f0->m_address = base + offset; + n_unk_1f0->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_1f0); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_anon_5 = new NodePointer; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_anon_5->m_rdf_type = RDF_Type::Pointer; + n_anon_5->m_node_type = NodeType::Pointer; + n_anon_5->m_addornements = "*"; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_anon_6 = new NodePointer; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_anon_6->m_rdf_type = RDF_Type::Pointer; + n_anon_6->m_node_type = NodeType::Pointer; + n_anon_6->m_addornements = "*"; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_anon_7 = new NodePointer; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_anon_7->m_rdf_type = RDF_Type::Pointer; + n_anon_7->m_node_type = NodeType::Pointer; + n_anon_7->m_addornements = "*"; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_7); + + field_name = "anon_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_anon_8 = new NodePointer; + n_anon_8->m_field_name = field_name; + n_anon_8->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_anon_8->m_rdf_type = RDF_Type::Pointer; + n_anon_8->m_node_type = NodeType::Pointer; + n_anon_8->m_addornements = "*"; + n_anon_8->m_address = base + offset; + n_anon_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_8); + + field_name = "anon_9"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_anon_9 = new NodePointer; + n_anon_9->m_field_name = field_name; + n_anon_9->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_anon_9->m_rdf_type = RDF_Type::Pointer; + n_anon_9->m_node_type = NodeType::Pointer; + n_anon_9->m_addornements = "*"; + n_anon_9->m_address = base + offset; + n_anon_9->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_9); + + field_name = "anon_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_anon_10 = new NodePointer; + n_anon_10->m_field_name = field_name; + n_anon_10->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_anon_10->m_rdf_type = RDF_Type::Pointer; + n_anon_10->m_node_type = NodeType::Pointer; + n_anon_10->m_addornements = "*"; + n_anon_10->m_address = base + offset; + n_anon_10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_10); + + field_name = "anon_11"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_anon_11 = new NodePointer; + n_anon_11->m_field_name = field_name; + n_anon_11->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_anon_11->m_rdf_type = RDF_Type::Pointer; + n_anon_11->m_node_type = NodeType::Pointer; + n_anon_11->m_addornements = "*"; + n_anon_11->m_address = base + offset; + n_anon_11->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_11); + + field_name = "anon_12"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_anon_12 = new NodePointer; + n_anon_12->m_field_name = field_name; + n_anon_12->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_anon_12->m_rdf_type = RDF_Type::Pointer; + n_anon_12->m_node_type = NodeType::Pointer; + n_anon_12->m_addornements = "*"; + n_anon_12->m_address = base + offset; + n_anon_12->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_12); + + field_name = "anon_13"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_anon_13 = new NodePointer; + n_anon_13->m_field_name = field_name; + n_anon_13->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_anon_13->m_rdf_type = RDF_Type::Pointer; + n_anon_13->m_node_type = NodeType::Pointer; + n_anon_13->m_addornements = "*"; + n_anon_13->m_address = base + offset; + n_anon_13->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_13); + + field_name = "anon_14"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_anon_14 = new NodePointer; + n_anon_14->m_field_name = field_name; + n_anon_14->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_anon_14->m_rdf_type = RDF_Type::Pointer; + n_anon_14->m_node_type = NodeType::Pointer; + n_anon_14->m_addornements = "*"; + n_anon_14->m_address = base + offset; + n_anon_14->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_14); + + field_name = "anon_15"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_anon_15 = new NodePointer; + n_anon_15->m_field_name = field_name; + n_anon_15->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_anon_15->m_rdf_type = RDF_Type::Pointer; + n_anon_15->m_node_type = NodeType::Pointer; + n_anon_15->m_addornements = "*"; + n_anon_15->m_address = base + offset; + n_anon_15->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_15); + + field_name = "anon_16"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_anon_16 = new NodePointer; + n_anon_16->m_field_name = field_name; + n_anon_16->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_anon_16->m_rdf_type = RDF_Type::Pointer; + n_anon_16->m_node_type = NodeType::Pointer; + n_anon_16->m_addornements = "*"; + n_anon_16->m_address = base + offset; + n_anon_16->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_16); + + field_name = "anon_17"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_anon_17 = new NodePointer; + n_anon_17->m_field_name = field_name; + n_anon_17->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_anon_17->m_rdf_type = RDF_Type::Pointer; + n_anon_17->m_node_type = NodeType::Pointer; + n_anon_17->m_addornements = "*"; + n_anon_17->m_address = base + offset; + n_anon_17->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_17); + + field_name = "anon_18"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_anon_18 = new NodePointer; + n_anon_18->m_field_name = field_name; + n_anon_18->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_anon_18->m_rdf_type = RDF_Type::Pointer; + n_anon_18->m_node_type = NodeType::Pointer; + n_anon_18->m_addornements = "*"; + n_anon_18->m_address = base + offset; + n_anon_18->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_18); + + field_name = "anon_19"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_anon_19 = new NodePointer; + n_anon_19->m_field_name = field_name; + n_anon_19->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_anon_19->m_rdf_type = RDF_Type::Pointer; + n_anon_19->m_node_type = NodeType::Pointer; + n_anon_19->m_addornements = "*"; + n_anon_19->m_address = base + offset; + n_anon_19->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_19); + + field_name = "anon_20"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_anon_20= new NodePadding; + n_anon_20->m_field_name = field_name; + n_anon_20->m_df_type = DF_Type::Padding; + n_anon_20->m_rdf_type = RDF_Type::Padding; + n_anon_20->m_node_type = NodeType::Padding; + n_anon_20->m_address = base + offset; + n_anon_20->m_size = 294920; + n_anon_20->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_20); + + field_name = "anon_21"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_anon_21 = new NodeSimple; + n_anon_21->m_field_name = field_name; + n_anon_21->m_df_type = DF_Type::int8_t; + n_anon_21->m_rdf_type = RDF_Type::int8_t; + n_anon_21->m_node_type = NodeType::Simple; + n_anon_21->m_address = base + offset; + n_anon_21->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_21); + + field_name = "anon_22"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_anon_22 = new NodeSimple; + n_anon_22->m_field_name = field_name; + n_anon_22->m_df_type = DF_Type::int8_t; + n_anon_22->m_rdf_type = RDF_Type::int8_t; + n_anon_22->m_node_type = NodeType::Simple; + n_anon_22->m_address = base + offset; + n_anon_22->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_22); + + field_name = "active_site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_active_site = new NodeVector; + n_active_site->m_field_name = field_name; + n_active_site->m_df_type = DF_Type::world_site; + n_active_site->m_rdf_type = RDF_Type::Vector; + n_active_site->m_node_type = NodeType::Vector; + n_active_site->m_defined_in = "df.world-site.xml"; + n_active_site->m_addornements = "v*"; + n_active_site->m_address = base + offset; + n_active_site->m_parent = p_node_parent; + n_active_site->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_active_site); + + field_name = "feature_map"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_feature_map = new NodePointer; + n_feature_map->m_field_name = field_name; + n_feature_map->m_df_type = DF_Type::world_data__T_feature_map; + n_feature_map->m_rdf_type = RDF_Type::Pointer; + n_feature_map->m_node_type = NodeType::Pointer; + n_feature_map->m_addornements = "**"; + n_feature_map->m_address = base + offset; + n_feature_map->m_comment = "Additional feature_map information: The feature_map is a two dimensional structure dividing the world into 16 * 16 world tile 'feature shells' (and remember that there's a single tile wide shell at the end of each dimension, so a pocket world has a shell dimension of 2 * 2). These shells are loaded and unloaded dynamically, which means trying to access a shell that isn't the one in DF's focus (where the fortress/adventurer/pre embark cursor is) is invalid and can lead to DF crashing. The 'features.feature_init' 16 * 16 structure contains the features of each of the corresponding world tiles within the shell. However, DF only loads the feature vectors for the world tiles in focus, although they seem to remain loaded until the shell is unloaded. Until loaded the vectors have a size of 0. Manipulation of the features is usually preserved as feature vectors are unloaded/reloaded, so spires can be elongated and rivers added, but some details, such as river fauna, seem to be generated on loading. Added features may not necessarily be reloaded at the vector index they were created at."; + n_feature_map->m_parent = p_node_parent; + n_feature_map->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_feature_map); + + field_name = "old_sites"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_old_sites = new NodeVector; + n_old_sites->m_field_name = field_name; + n_old_sites->m_df_type = DF_Type::int32_t; + n_old_sites->m_rdf_type = RDF_Type::Vector; + n_old_sites->m_node_type = NodeType::Vector; + n_old_sites->m_addornements = "v"; + n_old_sites->m_address = base + offset; + n_old_sites->m_parent = p_node_parent; + n_old_sites->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_old_sites); + + field_name = "old_site_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_old_site_x = new NodeVector; + n_old_site_x->m_field_name = field_name; + n_old_site_x->m_df_type = DF_Type::int32_t; + n_old_site_x->m_rdf_type = RDF_Type::Vector; + n_old_site_x->m_node_type = NodeType::Vector; + n_old_site_x->m_addornements = "v"; + n_old_site_x->m_address = base + offset; + n_old_site_x->m_parent = p_node_parent; + n_old_site_x->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_old_site_x); + + field_name = "old_site_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_old_site_y = new NodeVector; + n_old_site_y->m_field_name = field_name; + n_old_site_y->m_df_type = DF_Type::int32_t; + n_old_site_y->m_rdf_type = RDF_Type::Vector; + n_old_site_y->m_node_type = NodeType::Vector; + n_old_site_y->m_addornements = "v"; + n_old_site_y->m_address = base + offset; + n_old_site_y->m_parent = p_node_parent; + n_old_site_y->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_old_site_y); + + field_name = "land_rgns"; + auto n_land_rgns = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + n_land_rgns->m_field_name = field_name; + n_land_rgns->m_df_type = DF_Type::coord2d_path; + n_land_rgns->m_rdf_type = RDF_Type::Struct; + n_land_rgns->m_node_type = NodeType::Compound; + n_land_rgns->m_address = base + offset; + n_land_rgns->m_defined_in = "df.map.xml"; + n_land_rgns->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_land_rgns); + + field_name = "unk_260"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_unk_260 = new NodeSimple; + n_unk_260->m_field_name = field_name; + n_unk_260->m_df_type = DF_Type::int32_t; + n_unk_260->m_rdf_type = RDF_Type::int32_t; + n_unk_260->m_node_type = NodeType::Simple; + n_unk_260->m_address = base + offset; + n_unk_260->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_260); + + field_name = "unk_264"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_unk_264 = new NodeSimple; + n_unk_264->m_field_name = field_name; + n_unk_264->m_df_type = DF_Type::int8_t; + n_unk_264->m_rdf_type = RDF_Type::int8_t; + n_unk_264->m_node_type = NodeType::Simple; + n_unk_264->m_address = base + offset; + n_unk_264->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_264); + + field_name = "unk_268"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_unk_268 = new NodeSimple; + n_unk_268->m_field_name = field_name; + n_unk_268->m_df_type = DF_Type::int32_t; + n_unk_268->m_rdf_type = RDF_Type::int32_t; + n_unk_268->m_node_type = NodeType::Simple; + n_unk_268->m_address = base + offset; + n_unk_268->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_268); + + field_name = "unk_26c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_unk_26c = new NodeSimple; + n_unk_26c->m_field_name = field_name; + n_unk_26c->m_df_type = DF_Type::int8_t; + n_unk_26c->m_rdf_type = RDF_Type::int8_t; + n_unk_26c->m_node_type = NodeType::Simple; + n_unk_26c->m_address = base + offset; + n_unk_26c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_26c); + + field_name = "unk_270"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_unk_270 = new NodeSimple; + n_unk_270->m_field_name = field_name; + n_unk_270->m_df_type = DF_Type::int32_t; + n_unk_270->m_rdf_type = RDF_Type::int32_t; + n_unk_270->m_node_type = NodeType::Simple; + n_unk_270->m_address = base + offset; + n_unk_270->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_270); + + field_name = "unk_274"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + auto n_unk_274 = new NodeVector; + n_unk_274->m_field_name = field_name; + n_unk_274->m_df_type = DF_Type::world_data__T_unk_274; + n_unk_274->m_rdf_type = RDF_Type::Vector; + n_unk_274->m_node_type = NodeType::Vector; + n_unk_274->m_addornements = "v*"; + n_unk_274->m_address = base + offset; + n_unk_274->m_parent = p_node_parent; + n_unk_274->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_274); + + field_name = "unk_482f8"; + auto n_unk_482f8 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_data, field_name)); + n_unk_482f8->m_field_name = field_name; + n_unk_482f8->m_df_type = DF_Type::world_data__T_unk_482f8; + n_unk_482f8->m_rdf_type = RDF_Type::Compound; + n_unk_482f8->m_node_type = NodeType::Compound; + n_unk_482f8->m_address = base + offset; + n_unk_482f8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_482f8); + +} +void node_from_site_reputation_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "reports"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_reputation_info, field_name)); + auto n_reports = new NodeVector; + n_reports->m_field_name = field_name; + n_reports->m_df_type = DF_Type::site_reputation_report; + n_reports->m_rdf_type = RDF_Type::Vector; + n_reports->m_node_type = NodeType::Vector; + n_reports->m_defined_in = "df.world-site.xml"; + n_reports->m_addornements = "v*"; + n_reports->m_address = base + offset; + n_reports->m_parent = p_node_parent; + n_reports->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_reports); + +} +void node_from_location_scribe_jobs(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "scribejobs"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::location_scribe_jobs, field_name)); + auto n_scribejobs = new NodeVector; + n_scribejobs->m_field_name = field_name; + n_scribejobs->m_df_type = DF_Type::scribejob; + n_scribejobs->m_rdf_type = RDF_Type::Vector; + n_scribejobs->m_node_type = NodeType::Vector; + n_scribejobs->m_defined_in = "df.world-site.xml"; + n_scribejobs->m_addornements = "v*"; + n_scribejobs->m_address = base + offset; + n_scribejobs->m_parent = p_node_parent; + n_scribejobs->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_scribejobs); + + field_name = "nextidmaybe"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::location_scribe_jobs, field_name)); + auto n_nextidmaybe = new NodeSimple; + n_nextidmaybe->m_field_name = field_name; + n_nextidmaybe->m_df_type = DF_Type::int32_t; + n_nextidmaybe->m_rdf_type = RDF_Type::int32_t; + n_nextidmaybe->m_node_type = NodeType::Simple; + n_nextidmaybe->m_address = base + offset; + n_nextidmaybe->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_nextidmaybe); + + field_name = "year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::location_scribe_jobs, field_name)); + auto n_year = new NodeSimple; + n_year->m_field_name = field_name; + n_year->m_df_type = DF_Type::int32_t; + n_year->m_rdf_type = RDF_Type::int32_t; + n_year->m_node_type = NodeType::Simple; + n_year->m_address = base + offset; + n_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_year); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::location_scribe_jobs, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::uint16_t; + n_anon_1->m_rdf_type = RDF_Type::uint16_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::location_scribe_jobs, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int16_t; + n_anon_2->m_rdf_type = RDF_Type::int16_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::location_scribe_jobs, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::location_scribe_jobs, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::location_scribe_jobs, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + +} +void node_from_abstract_building_unk__T_anon_1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_unk__T_anon_1, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "race"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_unk__T_anon_1, field_name)); + auto n_race = new NodeSimple; + n_race->m_field_name = field_name; + n_race->m_df_type = DF_Type::int32_t; + n_race->m_rdf_type = RDF_Type::int32_t; + n_race->m_node_type = NodeType::Simple; + n_race->m_address = base + offset; + n_race->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_race); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_unk__T_anon_1, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_unk__T_anon_1, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_unk__T_anon_1, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_unk__T_anon_1, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_unk__T_anon_1, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_unk__T_anon_1, field_name)); + auto n_anon_7 = new NodeSimple; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::int32_t; + n_anon_7->m_rdf_type = RDF_Type::int32_t; + n_anon_7->m_node_type = NodeType::Simple; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_7); + +} +void node_from_abstract_building_unk(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_unk, field_name)); + auto n_anon_1 = new NodeVector; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::abstract_building_unk__T_anon_1; + n_anon_1->m_rdf_type = RDF_Type::Vector; + n_anon_1->m_node_type = NodeType::Vector; + n_anon_1->m_addornements = "v*"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "histfigs"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_unk, field_name)); + auto n_histfigs = new NodeVector; + n_histfigs->m_field_name = field_name; + n_histfigs->m_df_type = DF_Type::int32_t; + n_histfigs->m_rdf_type = RDF_Type::Vector; + n_histfigs->m_node_type = NodeType::Vector; + n_histfigs->m_addornements = "v"; + n_histfigs->m_address = base + offset; + n_histfigs->m_parent = p_node_parent; + n_histfigs->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_histfigs); + +} +void node_from_abstract_building__T_inhabitants(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building__T_inhabitants, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int16_t; + n_anon_1->m_rdf_type = RDF_Type::int16_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "histfig_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building__T_inhabitants, field_name)); + auto n_histfig_id = new NodeSimple; + n_histfig_id->m_field_name = field_name; + n_histfig_id->m_df_type = DF_Type::int32_t; + n_histfig_id->m_rdf_type = RDF_Type::int32_t; + n_histfig_id->m_node_type = NodeType::Simple; + n_histfig_id->m_address = base + offset; + n_histfig_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_histfig_id); + +} +void node_from_abstract_building__T_unk1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "hfig"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building__T_unk1, field_name)); + auto n_hfig = new NodeVector; + n_hfig->m_field_name = field_name; + n_hfig->m_df_type = DF_Type::int32_t; + n_hfig->m_rdf_type = RDF_Type::Vector; + n_hfig->m_node_type = NodeType::Vector; + n_hfig->m_addornements = "v"; + n_hfig->m_address = base + offset; + n_hfig->m_parent = p_node_parent; + n_hfig->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_hfig); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building__T_unk1, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building__T_unk1, field_name)); + auto n_anon_2 = new NodeVector; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int16_t; + n_anon_2->m_rdf_type = RDF_Type::Vector; + n_anon_2->m_node_type = NodeType::Vector; + n_anon_2->m_addornements = "v"; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + n_anon_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building__T_unk1, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_comment = "just a guess"; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building__T_unk1, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + +} +void node_from_abstract_building(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "inhabitants"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building, field_name)); + auto n_inhabitants = new NodeVector; + n_inhabitants->m_field_name = field_name; + n_inhabitants->m_df_type = DF_Type::abstract_building__T_inhabitants; + n_inhabitants->m_rdf_type = RDF_Type::Vector; + n_inhabitants->m_node_type = NodeType::Vector; + n_inhabitants->m_addornements = "v*"; + n_inhabitants->m_address = base + offset; + n_inhabitants->m_parent = p_node_parent; + n_inhabitants->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_inhabitants); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building, field_name)); + auto n_flags = new NodeDFFlagArray; + n_flags->m_field_name = field_name; + n_flags->m_index_enum = DF_Type::abstract_building_flags; + n_flags->m_df_type = DF_Type::abstract_building_flags; + n_flags->m_size = 8; + n_flags->m_rdf_type = RDF_Type::DFFlagArray; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_defined_in = "df.world-site.xml"; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "unk1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building, field_name)); + auto n_unk1 = new NodePointer; + n_unk1->m_field_name = field_name; + n_unk1->m_df_type = get_real_subtype(base+offset, DF_Type::abstract_building__T_unk1); + n_unk1->m_rdf_type = RDF_Type::Pointer; + n_unk1->m_node_type = NodeType::Pointer; + n_unk1->m_addornements = "*"; + n_unk1->m_address = base + offset; + n_unk1->m_comment = "in temples; hfig is the god"; + n_unk1->m_parent = p_node_parent; + n_unk1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk1); + + field_name = "unk2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building, field_name)); + auto n_unk2 = new NodeVector; + n_unk2->m_field_name = field_name; + n_unk2->m_df_type = DF_Type::int32_t; + n_unk2->m_rdf_type = RDF_Type::Vector; + n_unk2->m_node_type = NodeType::Vector; + n_unk2->m_addornements = "v"; + n_unk2->m_address = base + offset; + n_unk2->m_parent = p_node_parent; + n_unk2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk2); + + field_name = "unk3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building, field_name)); + auto n_unk3 = new NodeSimple; + n_unk3->m_field_name = field_name; + n_unk3->m_df_type = DF_Type::int32_t; + n_unk3->m_rdf_type = RDF_Type::int32_t; + n_unk3->m_node_type = NodeType::Simple; + n_unk3->m_address = base + offset; + n_unk3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk3); + + field_name = "unk4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building, field_name)); + auto n_unk4 = new NodeVector; + n_unk4->m_field_name = field_name; + n_unk4->m_df_type = DF_Type::int32_t; + n_unk4->m_rdf_type = RDF_Type::Vector; + n_unk4->m_node_type = NodeType::Vector; + n_unk4->m_addornements = "v"; + n_unk4->m_address = base + offset; + n_unk4->m_parent = p_node_parent; + n_unk4->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk4); + + field_name = "site_owner_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building, field_name)); + auto n_site_owner_id = new NodeSimple; + n_site_owner_id->m_field_name = field_name; + n_site_owner_id->m_df_type = DF_Type::int32_t; + n_site_owner_id->m_rdf_type = RDF_Type::int32_t; + n_site_owner_id->m_node_type = NodeType::Simple; + n_site_owner_id->m_address = base + offset; + n_site_owner_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_owner_id); + + field_name = "scribeinfo"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building, field_name)); + auto n_scribeinfo = new NodePointer; + n_scribeinfo->m_field_name = field_name; + n_scribeinfo->m_df_type = get_real_subtype(base+offset, DF_Type::location_scribe_jobs); + n_scribeinfo->m_rdf_type = RDF_Type::Pointer; + n_scribeinfo->m_node_type = NodeType::Pointer; + n_scribeinfo->m_addornements = "*"; + n_scribeinfo->m_address = base + offset; + n_scribeinfo->m_parent = p_node_parent; + n_scribeinfo->m_defined_in = "df.world-site.xml"; + n_scribeinfo->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_scribeinfo); + + field_name = "reputation_reports"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building, field_name)); + auto n_reputation_reports = new NodePointer; + n_reputation_reports->m_field_name = field_name; + n_reputation_reports->m_df_type = get_real_subtype(base+offset, DF_Type::site_reputation_info); + n_reputation_reports->m_rdf_type = RDF_Type::Pointer; + n_reputation_reports->m_node_type = NodeType::Pointer; + n_reputation_reports->m_addornements = "*"; + n_reputation_reports->m_address = base + offset; + n_reputation_reports->m_parent = p_node_parent; + n_reputation_reports->m_defined_in = "df.world-site.xml"; + n_reputation_reports->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_reputation_reports); + + field_name = "unk_v42_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building, field_name)); + auto n_unk_v42_3 = new NodePointer; + n_unk_v42_3->m_field_name = field_name; + n_unk_v42_3->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_unk_v42_3->m_rdf_type = RDF_Type::Pointer; + n_unk_v42_3->m_node_type = NodeType::Pointer; + n_unk_v42_3->m_addornements = "*"; + n_unk_v42_3->m_address = base + offset; + n_unk_v42_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v42_3); + + field_name = "site_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building, field_name)); + auto n_site_id = new NodeSimple; + n_site_id->m_field_name = field_name; + n_site_id->m_df_type = DF_Type::int32_t; + n_site_id->m_rdf_type = RDF_Type::int32_t; + n_site_id->m_node_type = NodeType::Simple; + n_site_id->m_address = base + offset; + n_site_id->m_comment = "not initialized/saved/loaded, assumed member of base class"; + n_site_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_id); + + field_name = "pos"; + auto n_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building, field_name)); + n_pos->m_field_name = field_name; + n_pos->m_df_type = DF_Type::coord2d; + n_pos->m_rdf_type = RDF_Type::Struct; + n_pos->m_node_type = NodeType::Compound; + n_pos->m_address = base + offset; + n_pos->m_defined_in = "df.map.xml"; + n_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pos); + + field_name = "occupations"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building, field_name)); + auto n_occupations = new NodeVector; + n_occupations->m_field_name = field_name; + n_occupations->m_df_type = DF_Type::occupation; + n_occupations->m_rdf_type = RDF_Type::Vector; + n_occupations->m_node_type = NodeType::Vector; + n_occupations->m_defined_in = "df.art.xml"; + n_occupations->m_addornements = "v*"; + n_occupations->m_address = base + offset; + n_occupations->m_parent = p_node_parent; + n_occupations->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_occupations); + +} +void node_from_abstract_building_keepst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::abstract_building; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_abstract_building(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "name"; + auto n_name = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_keepst, field_name)); + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::language_name; + n_name->m_rdf_type = RDF_Type::Struct; + n_name->m_node_type = NodeType::Compound; + n_name->m_address = base + offset; + n_name->m_defined_in = "df.language.xml"; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + +} +void node_from_abstract_building_templest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::abstract_building; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_abstract_building(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "deity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_templest, field_name)); + auto n_deity = new NodeSimple; + n_deity->m_field_name = field_name; + n_deity->m_df_type = DF_Type::int32_t; + n_deity->m_rdf_type = RDF_Type::int32_t; + n_deity->m_node_type = NodeType::Simple; + n_deity->m_address = base + offset; + n_deity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_deity); + + field_name = "religion"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_templest, field_name)); + auto n_religion = new NodeSimple; + n_religion->m_field_name = field_name; + n_religion->m_df_type = DF_Type::int32_t; + n_religion->m_rdf_type = RDF_Type::int32_t; + n_religion->m_node_type = NodeType::Simple; + n_religion->m_address = base + offset; + n_religion->m_comment = "returned by the vmethod after the destructor"; + n_religion->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_religion); + + field_name = "name"; + auto n_name = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_templest, field_name)); + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::language_name; + n_name->m_rdf_type = RDF_Type::Struct; + n_name->m_node_type = NodeType::Compound; + n_name->m_address = base + offset; + n_name->m_defined_in = "df.language.xml"; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "contents"; + auto n_contents = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_templest, field_name)); + n_contents->m_field_name = field_name; + n_contents->m_df_type = DF_Type::abstract_building_contents; + n_contents->m_rdf_type = RDF_Type::Struct; + n_contents->m_node_type = NodeType::Compound; + n_contents->m_address = base + offset; + n_contents->m_defined_in = "df.world-site.xml"; + n_contents->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_contents); + +} +void node_from_abstract_building_dark_towerst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::abstract_building; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_abstract_building(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "name"; + auto n_name = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_dark_towerst, field_name)); + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::language_name; + n_name->m_rdf_type = RDF_Type::Struct; + n_name->m_node_type = NodeType::Compound; + n_name->m_address = base + offset; + n_name->m_defined_in = "df.language.xml"; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + +} +void node_from_abstract_building_marketst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::abstract_building; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_abstract_building(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "name"; + auto n_name = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_marketst, field_name)); + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::language_name; + n_name->m_rdf_type = RDF_Type::Struct; + n_name->m_node_type = NodeType::Compound; + n_name->m_address = base + offset; + n_name->m_defined_in = "df.language.xml"; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + +} +void node_from_abstract_building_tombst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::abstract_building; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_abstract_building(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "name"; + auto n_name = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_tombst, field_name)); + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::language_name; + n_name->m_rdf_type = RDF_Type::Struct; + n_name->m_node_type = NodeType::Compound; + n_name->m_address = base + offset; + n_name->m_defined_in = "df.language.xml"; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "unk"; + auto n_unk = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_tombst, field_name)); + n_unk->m_field_name = field_name; + n_unk->m_df_type = DF_Type::abstract_building_unk; + n_unk->m_rdf_type = RDF_Type::Struct; + n_unk->m_node_type = NodeType::Compound; + n_unk->m_address = base + offset; + n_unk->m_defined_in = "df.world-site.xml"; + n_unk->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_tombst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_abstract_building_dungeonst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::abstract_building; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_abstract_building(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "name"; + auto n_name = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_dungeonst, field_name)); + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::language_name; + n_name->m_rdf_type = RDF_Type::Struct; + n_name->m_node_type = NodeType::Compound; + n_name->m_address = base + offset; + n_name->m_defined_in = "df.language.xml"; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "dungeon_type"; + auto n_dungeon_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_dungeonst, field_name)); + n_dungeon_type->m_field_name = field_name; + n_dungeon_type->m_df_type = DF_Type::abstract_building_dungeonst__T_dungeon_type; + n_dungeon_type->m_rdf_type = RDF_Type::Enum; + n_dungeon_type->m_node_type = NodeType::Enum; + n_dungeon_type->m_base_type = DF_Type::int16_t; + n_dungeon_type->m_enum_type = "abstract_building_dungeonst::T_dungeon_type"; + n_dungeon_type->m_address = base + offset; + n_dungeon_type->m_first_value = 0; + n_dungeon_type->m_last_value = 2; + n_dungeon_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dungeon_type); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_dungeonst, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "unk"; + auto n_unk = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_dungeonst, field_name)); + n_unk->m_field_name = field_name; + n_unk->m_df_type = DF_Type::abstract_building_unk; + n_unk->m_rdf_type = RDF_Type::Struct; + n_unk->m_node_type = NodeType::Compound; + n_unk->m_address = base + offset; + n_unk->m_defined_in = "df.world-site.xml"; + n_unk->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_dungeonst, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_dungeonst, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_comment = "not saved"; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_dungeonst, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_comment = "not saved"; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + +} +void node_from_abstract_building_underworld_spirest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::abstract_building; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_abstract_building(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "name"; + auto n_name = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_underworld_spirest, field_name)); + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::language_name; + n_name->m_rdf_type = RDF_Type::Struct; + n_name->m_node_type = NodeType::Compound; + n_name->m_address = base + offset; + n_name->m_defined_in = "df.language.xml"; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "unk_bc"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_underworld_spirest, field_name)); + auto n_unk_bc = new NodeSimple; + n_unk_bc->m_field_name = field_name; + n_unk_bc->m_df_type = DF_Type::int32_t; + n_unk_bc->m_rdf_type = RDF_Type::int32_t; + n_unk_bc->m_node_type = NodeType::Simple; + n_unk_bc->m_address = base + offset; + n_unk_bc->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_bc); + +} +void node_from_abstract_building_inn_tavernst__T_room_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_inn_tavernst__T_room_info, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_inn_tavernst__T_room_info, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::Stl_string; + n_anon_1->m_rdf_type = RDF_Type::Stl_string; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "world_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_inn_tavernst__T_room_info, field_name)); + auto n_world_x = new NodeSimple; + n_world_x->m_field_name = field_name; + n_world_x->m_df_type = DF_Type::int32_t; + n_world_x->m_rdf_type = RDF_Type::int32_t; + n_world_x->m_node_type = NodeType::Simple; + n_world_x->m_address = base + offset; + n_world_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_world_x); + + field_name = "world_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_inn_tavernst__T_room_info, field_name)); + auto n_world_y = new NodeSimple; + n_world_y->m_field_name = field_name; + n_world_y->m_df_type = DF_Type::int32_t; + n_world_y->m_rdf_type = RDF_Type::int32_t; + n_world_y->m_node_type = NodeType::Simple; + n_world_y->m_address = base + offset; + n_world_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_world_y); + + field_name = "world_z"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_inn_tavernst__T_room_info, field_name)); + auto n_world_z = new NodeSimple; + n_world_z->m_field_name = field_name; + n_world_z->m_df_type = DF_Type::int32_t; + n_world_z->m_rdf_type = RDF_Type::int32_t; + n_world_z->m_node_type = NodeType::Simple; + n_world_z->m_address = base + offset; + n_world_z->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_world_z); + +} +void node_from_abstract_building_inn_tavernst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::abstract_building; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_abstract_building(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "name"; + auto n_name = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_inn_tavernst, field_name)); + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::language_name; + n_name->m_rdf_type = RDF_Type::Struct; + n_name->m_node_type = NodeType::Compound; + n_name->m_address = base + offset; + n_name->m_defined_in = "df.language.xml"; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "contents"; + auto n_contents = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_inn_tavernst, field_name)); + n_contents->m_field_name = field_name; + n_contents->m_df_type = DF_Type::abstract_building_contents; + n_contents->m_rdf_type = RDF_Type::Struct; + n_contents->m_node_type = NodeType::Compound; + n_contents->m_address = base + offset; + n_contents->m_defined_in = "df.world-site.xml"; + n_contents->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_contents); + + field_name = "room_info"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_inn_tavernst, field_name)); + auto n_room_info = new NodeVector; + n_room_info->m_field_name = field_name; + n_room_info->m_df_type = DF_Type::abstract_building_inn_tavernst__T_room_info; + n_room_info->m_rdf_type = RDF_Type::Vector; + n_room_info->m_node_type = NodeType::Vector; + n_room_info->m_addornements = "v*"; + n_room_info->m_address = base + offset; + n_room_info->m_parent = p_node_parent; + n_room_info->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_room_info); + + field_name = "next_room_info_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_inn_tavernst, field_name)); + auto n_next_room_info_id = new NodeSimple; + n_next_room_info_id->m_field_name = field_name; + n_next_room_info_id->m_df_type = DF_Type::int32_t; + n_next_room_info_id->m_rdf_type = RDF_Type::int32_t; + n_next_room_info_id->m_node_type = NodeType::Simple; + n_next_room_info_id->m_address = base + offset; + n_next_room_info_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_next_room_info_id); + +} +void node_from_abstract_building_libraryst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::abstract_building; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_abstract_building(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "name"; + auto n_name = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_libraryst, field_name)); + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::language_name; + n_name->m_rdf_type = RDF_Type::Struct; + n_name->m_node_type = NodeType::Compound; + n_name->m_address = base + offset; + n_name->m_defined_in = "df.language.xml"; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_libraryst, field_name)); + auto n_anon_1 = new NodeVector; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::Vector; + n_anon_1->m_node_type = NodeType::Vector; + n_anon_1->m_addornements = "v"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_libraryst, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_libraryst, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_libraryst, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_libraryst, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "contents"; + auto n_contents = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_libraryst, field_name)); + n_contents->m_field_name = field_name; + n_contents->m_df_type = DF_Type::abstract_building_contents; + n_contents->m_rdf_type = RDF_Type::Struct; + n_contents->m_node_type = NodeType::Compound; + n_contents->m_address = base + offset; + n_contents->m_defined_in = "df.world-site.xml"; + n_contents->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_contents); + +} +void node_from_world_site__T_unk_1__T_units(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unit_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_1__T_units, field_name)); + auto n_unit_id = new NodeSimple; + n_unit_id->m_field_name = field_name; + n_unit_id->m_df_type = DF_Type::int32_t; + n_unit_id->m_rdf_type = RDF_Type::int32_t; + n_unit_id->m_node_type = NodeType::Simple; + n_unit_id->m_address = base + offset; + n_unit_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unit_id); + + field_name = "pos_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_1__T_units, field_name)); + auto n_pos_x = new NodeSimple; + n_pos_x->m_field_name = field_name; + n_pos_x->m_df_type = DF_Type::int32_t; + n_pos_x->m_rdf_type = RDF_Type::int32_t; + n_pos_x->m_node_type = NodeType::Simple; + n_pos_x->m_address = base + offset; + n_pos_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pos_x); + + field_name = "pos_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_1__T_units, field_name)); + auto n_pos_y = new NodeSimple; + n_pos_y->m_field_name = field_name; + n_pos_y->m_df_type = DF_Type::int32_t; + n_pos_y->m_rdf_type = RDF_Type::int32_t; + n_pos_y->m_node_type = NodeType::Simple; + n_pos_y->m_address = base + offset; + n_pos_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pos_y); + + field_name = "pos_z"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_1__T_units, field_name)); + auto n_pos_z = new NodeSimple; + n_pos_z->m_field_name = field_name; + n_pos_z->m_df_type = DF_Type::int32_t; + n_pos_z->m_rdf_type = RDF_Type::int32_t; + n_pos_z->m_node_type = NodeType::Simple; + n_pos_z->m_address = base + offset; + n_pos_z->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pos_z); + + field_name = "unk_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_1__T_units, field_name)); + auto n_unk_10 = new NodeSimple; + n_unk_10->m_field_name = field_name; + n_unk_10->m_df_type = DF_Type::int32_t; + n_unk_10->m_rdf_type = RDF_Type::int32_t; + n_unk_10->m_node_type = NodeType::Simple; + n_unk_10->m_address = base + offset; + n_unk_10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_10); + +} +void node_from_world_site__T_unk_1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "nemesis"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_1, field_name)); + auto n_nemesis = new NodeVector; + n_nemesis->m_field_name = field_name; + n_nemesis->m_df_type = DF_Type::int32_t; + n_nemesis->m_rdf_type = RDF_Type::Vector; + n_nemesis->m_node_type = NodeType::Vector; + n_nemesis->m_addornements = "v"; + n_nemesis->m_address = base + offset; + n_nemesis->m_parent = p_node_parent; + n_nemesis->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_nemesis); + + field_name = "artifacts"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_1, field_name)); + auto n_artifacts = new NodeVector; + n_artifacts->m_field_name = field_name; + n_artifacts->m_df_type = DF_Type::artifact_record; + n_artifacts->m_rdf_type = RDF_Type::Vector; + n_artifacts->m_node_type = NodeType::Vector; + n_artifacts->m_defined_in = "df.legends.xml"; + n_artifacts->m_addornements = "v*"; + n_artifacts->m_address = base + offset; + n_artifacts->m_parent = p_node_parent; + n_artifacts->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_artifacts); + + field_name = "animals"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_1, field_name)); + auto n_animals = new NodeVector; + n_animals->m_field_name = field_name; + n_animals->m_df_type = DF_Type::world_population; + n_animals->m_rdf_type = RDF_Type::Vector; + n_animals->m_node_type = NodeType::Vector; + n_animals->m_defined_in = "df.world-data.xml"; + n_animals->m_addornements = "v*"; + n_animals->m_address = base + offset; + n_animals->m_parent = p_node_parent; + n_animals->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_animals); + + field_name = "inhabitants"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_1, field_name)); + auto n_inhabitants = new NodeVector; + n_inhabitants->m_field_name = field_name; + n_inhabitants->m_df_type = DF_Type::world_site_inhabitant; + n_inhabitants->m_rdf_type = RDF_Type::Vector; + n_inhabitants->m_node_type = NodeType::Vector; + n_inhabitants->m_defined_in = "df.world-site.xml"; + n_inhabitants->m_addornements = "v*"; + n_inhabitants->m_address = base + offset; + n_inhabitants->m_parent = p_node_parent; + n_inhabitants->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_inhabitants); + + field_name = "units"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_1, field_name)); + auto n_units = new NodeVector; + n_units->m_field_name = field_name; + n_units->m_df_type = DF_Type::world_site__T_unk_1__T_units; + n_units->m_rdf_type = RDF_Type::Vector; + n_units->m_node_type = NodeType::Vector; + n_units->m_addornements = "v*"; + n_units->m_address = base + offset; + n_units->m_parent = p_node_parent; + n_units->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_units); + + field_name = "unk_d4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_1, field_name)); + auto n_unk_d4 = new NodeVector; + n_unk_d4->m_field_name = field_name; + n_unk_d4->m_df_type = DF_Type::int32_t; + n_unk_d4->m_rdf_type = RDF_Type::Vector; + n_unk_d4->m_node_type = NodeType::Vector; + n_unk_d4->m_addornements = "v"; + n_unk_d4->m_address = base + offset; + n_unk_d4->m_parent = p_node_parent; + n_unk_d4->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_d4); + + field_name = "unk_v40_1a"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_1, field_name)); + auto n_unk_v40_1a = new NodeVector; + n_unk_v40_1a->m_field_name = field_name; + n_unk_v40_1a->m_df_type = DF_Type::historical_figure; + n_unk_v40_1a->m_rdf_type = RDF_Type::Vector; + n_unk_v40_1a->m_node_type = NodeType::Vector; + n_unk_v40_1a->m_defined_in = "df.history.xml"; + n_unk_v40_1a->m_addornements = "v*"; + n_unk_v40_1a->m_address = base + offset; + n_unk_v40_1a->m_parent = p_node_parent; + n_unk_v40_1a->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_v40_1a); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_1, field_name)); + auto n_anon_1= new NodePadding; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::Padding; + n_anon_1->m_rdf_type = RDF_Type::Padding; + n_anon_1->m_node_type = NodeType::Padding; + n_anon_1->m_address = base + offset; + n_anon_1->m_size = 4; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "unk_v40_1b"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_1, field_name)); + auto n_unk_v40_1b = new NodeVector; + n_unk_v40_1b->m_field_name = field_name; + n_unk_v40_1b->m_df_type = DF_Type::nemesis_record; + n_unk_v40_1b->m_rdf_type = RDF_Type::Vector; + n_unk_v40_1b->m_node_type = NodeType::Vector; + n_unk_v40_1b->m_defined_in = "df.legends.xml"; + n_unk_v40_1b->m_addornements = "v*"; + n_unk_v40_1b->m_address = base + offset; + n_unk_v40_1b->m_parent = p_node_parent; + n_unk_v40_1b->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_v40_1b); + + field_name = "unk_v40_1c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_1, field_name)); + auto n_unk_v40_1c = new NodeVector; + n_unk_v40_1c->m_field_name = field_name; + n_unk_v40_1c->m_df_type = DF_Type::nemesis_record; + n_unk_v40_1c->m_rdf_type = RDF_Type::Vector; + n_unk_v40_1c->m_node_type = NodeType::Vector; + n_unk_v40_1c->m_defined_in = "df.legends.xml"; + n_unk_v40_1c->m_addornements = "v*"; + n_unk_v40_1c->m_address = base + offset; + n_unk_v40_1c->m_parent = p_node_parent; + n_unk_v40_1c->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_v40_1c); + + field_name = "unk_v40_1d"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_1, field_name)); + auto n_unk_v40_1d = new NodeVector; + n_unk_v40_1d->m_field_name = field_name; + n_unk_v40_1d->m_df_type = DF_Type::nemesis_record; + n_unk_v40_1d->m_rdf_type = RDF_Type::Vector; + n_unk_v40_1d->m_node_type = NodeType::Vector; + n_unk_v40_1d->m_defined_in = "df.legends.xml"; + n_unk_v40_1d->m_addornements = "v*"; + n_unk_v40_1d->m_address = base + offset; + n_unk_v40_1d->m_parent = p_node_parent; + n_unk_v40_1d->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_v40_1d); + + field_name = "unk_v40_1e"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_1, field_name)); + auto n_unk_v40_1e = new NodeVector; + n_unk_v40_1e->m_field_name = field_name; + n_unk_v40_1e->m_df_type = DF_Type::nemesis_record; + n_unk_v40_1e->m_rdf_type = RDF_Type::Vector; + n_unk_v40_1e->m_node_type = NodeType::Vector; + n_unk_v40_1e->m_defined_in = "df.legends.xml"; + n_unk_v40_1e->m_addornements = "v*"; + n_unk_v40_1e->m_address = base + offset; + n_unk_v40_1e->m_parent = p_node_parent; + n_unk_v40_1e->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_v40_1e); + + field_name = "unk_v40_1f"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_1, field_name)); + auto n_unk_v40_1f = new NodeVector; + n_unk_v40_1f->m_field_name = field_name; + n_unk_v40_1f->m_df_type = DF_Type::nemesis_record; + n_unk_v40_1f->m_rdf_type = RDF_Type::Vector; + n_unk_v40_1f->m_node_type = NodeType::Vector; + n_unk_v40_1f->m_defined_in = "df.legends.xml"; + n_unk_v40_1f->m_addornements = "v*"; + n_unk_v40_1f->m_address = base + offset; + n_unk_v40_1f->m_parent = p_node_parent; + n_unk_v40_1f->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_v40_1f); + + field_name = "unk_v40_1g"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_1, field_name)); + auto n_unk_v40_1g = new NodeVector; + n_unk_v40_1g->m_field_name = field_name; + n_unk_v40_1g->m_df_type = DF_Type::nemesis_record; + n_unk_v40_1g->m_rdf_type = RDF_Type::Vector; + n_unk_v40_1g->m_node_type = NodeType::Vector; + n_unk_v40_1g->m_defined_in = "df.legends.xml"; + n_unk_v40_1g->m_addornements = "v*"; + n_unk_v40_1g->m_address = base + offset; + n_unk_v40_1g->m_parent = p_node_parent; + n_unk_v40_1g->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_v40_1g); + + field_name = "unk_v40_1h"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_1, field_name)); + auto n_unk_v40_1h = new NodeVector; + n_unk_v40_1h->m_field_name = field_name; + n_unk_v40_1h->m_df_type = DF_Type::nemesis_record; + n_unk_v40_1h->m_rdf_type = RDF_Type::Vector; + n_unk_v40_1h->m_node_type = NodeType::Vector; + n_unk_v40_1h->m_defined_in = "df.legends.xml"; + n_unk_v40_1h->m_addornements = "v*"; + n_unk_v40_1h->m_address = base + offset; + n_unk_v40_1h->m_parent = p_node_parent; + n_unk_v40_1h->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_v40_1h); + +} +void node_from_world_site__T_unk_118(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_118, field_name)); + auto n_anon_1 = new NodeVector; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int16_t; + n_anon_1->m_rdf_type = RDF_Type::Vector; + n_anon_1->m_node_type = NodeType::Vector; + n_anon_1->m_addornements = "v"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_118, field_name)); + auto n_anon_2 = new NodeVector; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int16_t; + n_anon_2->m_rdf_type = RDF_Type::Vector; + n_anon_2->m_node_type = NodeType::Vector; + n_anon_2->m_addornements = "v"; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + n_anon_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_118, field_name)); + auto n_anon_3 = new NodeVector; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int16_t; + n_anon_3->m_rdf_type = RDF_Type::Vector; + n_anon_3->m_node_type = NodeType::Vector; + n_anon_3->m_addornements = "v"; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + n_anon_3->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_118, field_name)); + auto n_anon_4 = new NodeVector; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::Vector; + n_anon_4->m_node_type = NodeType::Vector; + n_anon_4->m_addornements = "v"; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + n_anon_4->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_118, field_name)); + auto n_anon_5 = new NodeVector; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::Vector; + n_anon_5->m_node_type = NodeType::Vector; + n_anon_5->m_addornements = "v"; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + n_anon_5->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_118, field_name)); + auto n_anon_6 = new NodeVector; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::Vector; + n_anon_6->m_node_type = NodeType::Vector; + n_anon_6->m_addornements = "v"; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + n_anon_6->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_6); + +} +void node_from_world_site__T_unk_13c(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk_0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_13c, field_name)); + auto n_unk_0 = new NodeSimple; + n_unk_0->m_field_name = field_name; + n_unk_0->m_df_type = DF_Type::int32_t; + n_unk_0->m_rdf_type = RDF_Type::int32_t; + n_unk_0->m_node_type = NodeType::Simple; + n_unk_0->m_address = base + offset; + n_unk_0->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_0); + + field_name = "unk_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_13c, field_name)); + auto n_unk_4 = new NodeSimple; + n_unk_4->m_field_name = field_name; + n_unk_4->m_df_type = DF_Type::int32_t; + n_unk_4->m_rdf_type = RDF_Type::int32_t; + n_unk_4->m_node_type = NodeType::Simple; + n_unk_4->m_address = base + offset; + n_unk_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_4); + + field_name = "unk_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_13c, field_name)); + auto n_unk_8 = new NodeSimple; + n_unk_8->m_field_name = field_name; + n_unk_8->m_df_type = DF_Type::int32_t; + n_unk_8->m_rdf_type = RDF_Type::int32_t; + n_unk_8->m_node_type = NodeType::Simple; + n_unk_8->m_address = base + offset; + n_unk_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_8); + + field_name = "unk_c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_13c, field_name)); + auto n_unk_c = new NodeSimple; + n_unk_c->m_field_name = field_name; + n_unk_c->m_df_type = DF_Type::int32_t; + n_unk_c->m_rdf_type = RDF_Type::int32_t; + n_unk_c->m_node_type = NodeType::Simple; + n_unk_c->m_address = base + offset; + n_unk_c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_c); + + field_name = "unk_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_13c, field_name)); + auto n_unk_10 = new NodeVector; + n_unk_10->m_field_name = field_name; + n_unk_10->m_df_type = DF_Type::Void; + n_unk_10->m_rdf_type = RDF_Type::Vector; + n_unk_10->m_node_type = NodeType::Vector; + n_unk_10->m_addornements = "v"; + n_unk_10->m_address = base + offset; + n_unk_10->m_parent = p_node_parent; + n_unk_10->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_10); + + field_name = "unk_20"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_13c, field_name)); + auto n_unk_20 = new NodeVector; + n_unk_20->m_field_name = field_name; + n_unk_20->m_df_type = DF_Type::Void; + n_unk_20->m_rdf_type = RDF_Type::Vector; + n_unk_20->m_node_type = NodeType::Vector; + n_unk_20->m_addornements = "v"; + n_unk_20->m_address = base + offset; + n_unk_20->m_parent = p_node_parent; + n_unk_20->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_20); + + field_name = "unk_30"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_13c, field_name)); + auto n_unk_30 = new NodeSimple; + n_unk_30->m_field_name = field_name; + n_unk_30->m_df_type = DF_Type::int32_t; + n_unk_30->m_rdf_type = RDF_Type::int32_t; + n_unk_30->m_node_type = NodeType::Simple; + n_unk_30->m_address = base + offset; + n_unk_30->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_30); + +} +void node_from_world_site__T_unk_v40_2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk_0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_2, field_name)); + auto n_unk_0 = new NodeSimple; + n_unk_0->m_field_name = field_name; + n_unk_0->m_df_type = DF_Type::int32_t; + n_unk_0->m_rdf_type = RDF_Type::int32_t; + n_unk_0->m_node_type = NodeType::Simple; + n_unk_0->m_address = base + offset; + n_unk_0->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_0); + + field_name = "unk_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_2, field_name)); + auto n_unk_4 = new NodeSimple; + n_unk_4->m_field_name = field_name; + n_unk_4->m_df_type = DF_Type::int32_t; + n_unk_4->m_rdf_type = RDF_Type::int32_t; + n_unk_4->m_node_type = NodeType::Simple; + n_unk_4->m_address = base + offset; + n_unk_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_4); + + field_name = "unk_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_2, field_name)); + auto n_unk_8 = new NodeSimple; + n_unk_8->m_field_name = field_name; + n_unk_8->m_df_type = DF_Type::int32_t; + n_unk_8->m_rdf_type = RDF_Type::int32_t; + n_unk_8->m_node_type = NodeType::Simple; + n_unk_8->m_address = base + offset; + n_unk_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_8); + + field_name = "unk_c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_2, field_name)); + auto n_unk_c = new NodeSimple; + n_unk_c->m_field_name = field_name; + n_unk_c->m_df_type = DF_Type::int32_t; + n_unk_c->m_rdf_type = RDF_Type::int32_t; + n_unk_c->m_node_type = NodeType::Simple; + n_unk_c->m_address = base + offset; + n_unk_c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_c); + + field_name = "unk_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_2, field_name)); + auto n_unk_10 = new NodeVector; + n_unk_10->m_field_name = field_name; + n_unk_10->m_df_type = DF_Type::int32_t; + n_unk_10->m_rdf_type = RDF_Type::Vector; + n_unk_10->m_node_type = NodeType::Vector; + n_unk_10->m_addornements = "v"; + n_unk_10->m_address = base + offset; + n_unk_10->m_parent = p_node_parent; + n_unk_10->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_10); + + field_name = "unk_20"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_2, field_name)); + auto n_unk_20 = new NodeVector; + n_unk_20->m_field_name = field_name; + n_unk_20->m_df_type = DF_Type::int32_t; + n_unk_20->m_rdf_type = RDF_Type::Vector; + n_unk_20->m_node_type = NodeType::Vector; + n_unk_20->m_addornements = "v"; + n_unk_20->m_address = base + offset; + n_unk_20->m_parent = p_node_parent; + n_unk_20->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_20); + + field_name = "unk_30"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_2, field_name)); + auto n_unk_30 = new NodeSimple; + n_unk_30->m_field_name = field_name; + n_unk_30->m_df_type = DF_Type::int32_t; + n_unk_30->m_rdf_type = RDF_Type::int32_t; + n_unk_30->m_node_type = NodeType::Simple; + n_unk_30->m_address = base + offset; + n_unk_30->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_30); + +} +void node_from_world_site__T_subtype_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "is_tower"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_subtype_info, field_name)); + auto n_is_tower = new NodeSimple; + n_is_tower->m_field_name = field_name; + n_is_tower->m_df_type = DF_Type::int16_t; + n_is_tower->m_rdf_type = RDF_Type::int16_t; + n_is_tower->m_node_type = NodeType::Simple; + n_is_tower->m_address = base + offset; + n_is_tower->m_comment = "1 => not fortress"; + n_is_tower->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_is_tower); + + field_name = "is_monument"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_subtype_info, field_name)); + auto n_is_monument = new NodeSimple; + n_is_monument->m_field_name = field_name; + n_is_monument->m_df_type = DF_Type::int16_t; + n_is_monument->m_rdf_type = RDF_Type::int16_t; + n_is_monument->m_node_type = NodeType::Simple; + n_is_monument->m_address = base + offset; + n_is_monument->m_comment = "not tomb"; + n_is_monument->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_is_monument); + + field_name = "lair_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_subtype_info, field_name)); + auto n_lair_type = new NodeSimple; + n_lair_type->m_field_name = field_name; + n_lair_type->m_df_type = DF_Type::int16_t; + n_lair_type->m_rdf_type = RDF_Type::int16_t; + n_lair_type->m_node_type = NodeType::Simple; + n_lair_type->m_address = base + offset; + n_lair_type->m_comment = "2 monument, 3 shrine"; + n_lair_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_lair_type); + + field_name = "unk_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_subtype_info, field_name)); + auto n_unk_8 = new NodeVector; + n_unk_8->m_field_name = field_name; + n_unk_8->m_df_type = DF_Type::int16_t; + n_unk_8->m_rdf_type = RDF_Type::Vector; + n_unk_8->m_node_type = NodeType::Vector; + n_unk_8->m_addornements = "v"; + n_unk_8->m_address = base + offset; + n_unk_8->m_parent = p_node_parent; + n_unk_8->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_8); + + field_name = "unk_14"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_subtype_info, field_name)); + auto n_unk_14 = new NodeSimple; + n_unk_14->m_field_name = field_name; + n_unk_14->m_df_type = DF_Type::int32_t; + n_unk_14->m_rdf_type = RDF_Type::int32_t; + n_unk_14->m_node_type = NodeType::Simple; + n_unk_14->m_address = base + offset; + n_unk_14->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_14); + + field_name = "unk_18"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_subtype_info, field_name)); + auto n_unk_18 = new NodeSimple; + n_unk_18->m_field_name = field_name; + n_unk_18->m_df_type = DF_Type::int32_t; + n_unk_18->m_rdf_type = RDF_Type::int32_t; + n_unk_18->m_node_type = NodeType::Simple; + n_unk_18->m_address = base + offset; + n_unk_18->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_18); + + field_name = "unk_1c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_subtype_info, field_name)); + auto n_unk_1c = new NodeSimple; + n_unk_1c->m_field_name = field_name; + n_unk_1c->m_df_type = DF_Type::int32_t; + n_unk_1c->m_rdf_type = RDF_Type::int32_t; + n_unk_1c->m_node_type = NodeType::Simple; + n_unk_1c->m_address = base + offset; + n_unk_1c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_1c); + + field_name = "creator"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_subtype_info, field_name)); + auto n_creator = new NodeSimple; + n_creator->m_field_name = field_name; + n_creator->m_df_type = DF_Type::int32_t; + n_creator->m_rdf_type = RDF_Type::int32_t; + n_creator->m_node_type = NodeType::Simple; + n_creator->m_address = base + offset; + n_creator->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_creator); + + field_name = "unk_28"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_subtype_info, field_name)); + auto n_unk_28 = new NodeSimple; + n_unk_28->m_field_name = field_name; + n_unk_28->m_df_type = DF_Type::int32_t; + n_unk_28->m_rdf_type = RDF_Type::int32_t; + n_unk_28->m_node_type = NodeType::Simple; + n_unk_28->m_address = base + offset; + n_unk_28->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_28); + +} +void node_from_world_site__T_unk_21c(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk_0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_21c, field_name)); + auto n_unk_0 = new NodeSimple; + n_unk_0->m_field_name = field_name; + n_unk_0->m_df_type = DF_Type::int32_t; + n_unk_0->m_rdf_type = RDF_Type::int32_t; + n_unk_0->m_node_type = NodeType::Simple; + n_unk_0->m_address = base + offset; + n_unk_0->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_0); + + field_name = "race"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_21c, field_name)); + auto n_race = new NodeSimple; + n_race->m_field_name = field_name; + n_race->m_df_type = DF_Type::int32_t; + n_race->m_rdf_type = RDF_Type::int32_t; + n_race->m_node_type = NodeType::Simple; + n_race->m_address = base + offset; + n_race->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_race); + + field_name = "entity_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_21c, field_name)); + auto n_entity_id = new NodeSimple; + n_entity_id->m_field_name = field_name; + n_entity_id->m_df_type = DF_Type::int32_t; + n_entity_id->m_rdf_type = RDF_Type::int32_t; + n_entity_id->m_node_type = NodeType::Simple; + n_entity_id->m_address = base + offset; + n_entity_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity_id); + + field_name = "unk_c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_21c, field_name)); + auto n_unk_c = new NodeSimple; + n_unk_c->m_field_name = field_name; + n_unk_c->m_df_type = DF_Type::int32_t; + n_unk_c->m_rdf_type = RDF_Type::int32_t; + n_unk_c->m_node_type = NodeType::Simple; + n_unk_c->m_address = base + offset; + n_unk_c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_c); + + field_name = "unk_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_21c, field_name)); + auto n_unk_10 = new NodeSimple; + n_unk_10->m_field_name = field_name; + n_unk_10->m_df_type = DF_Type::int32_t; + n_unk_10->m_rdf_type = RDF_Type::int32_t; + n_unk_10->m_node_type = NodeType::Simple; + n_unk_10->m_address = base + offset; + n_unk_10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_10); + + field_name = "unk_14"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_21c, field_name)); + auto n_unk_14 = new NodeSimple; + n_unk_14->m_field_name = field_name; + n_unk_14->m_df_type = DF_Type::int32_t; + n_unk_14->m_rdf_type = RDF_Type::int32_t; + n_unk_14->m_node_type = NodeType::Simple; + n_unk_14->m_address = base + offset; + n_unk_14->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_14); + + field_name = "unk_18"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_21c, field_name)); + auto n_unk_18 = new NodeSimple; + n_unk_18->m_field_name = field_name; + n_unk_18->m_df_type = DF_Type::int32_t; + n_unk_18->m_rdf_type = RDF_Type::int32_t; + n_unk_18->m_node_type = NodeType::Simple; + n_unk_18->m_address = base + offset; + n_unk_18->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_18); + + field_name = "unk_1c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_21c, field_name)); + auto n_unk_1c = new NodeSimple; + n_unk_1c->m_field_name = field_name; + n_unk_1c->m_df_type = DF_Type::int32_t; + n_unk_1c->m_rdf_type = RDF_Type::int32_t; + n_unk_1c->m_node_type = NodeType::Simple; + n_unk_1c->m_address = base + offset; + n_unk_1c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_1c); + +} +void node_from_world_site__T_unk_v40_4a(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk_0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_4a, field_name)); + auto n_unk_0 = new NodeSimple; + n_unk_0->m_field_name = field_name; + n_unk_0->m_df_type = DF_Type::int32_t; + n_unk_0->m_rdf_type = RDF_Type::int32_t; + n_unk_0->m_node_type = NodeType::Simple; + n_unk_0->m_address = base + offset; + n_unk_0->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_0); + + field_name = "entity_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_4a, field_name)); + auto n_entity_id = new NodeSimple; + n_entity_id->m_field_name = field_name; + n_entity_id->m_df_type = DF_Type::int32_t; + n_entity_id->m_rdf_type = RDF_Type::int32_t; + n_entity_id->m_node_type = NodeType::Simple; + n_entity_id->m_address = base + offset; + n_entity_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity_id); + + field_name = "year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_4a, field_name)); + auto n_year = new NodeSimple; + n_year->m_field_name = field_name; + n_year->m_df_type = DF_Type::int32_t; + n_year->m_rdf_type = RDF_Type::int32_t; + n_year->m_node_type = NodeType::Simple; + n_year->m_address = base + offset; + n_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_year); + + field_name = "year_tick"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_4a, field_name)); + auto n_year_tick = new NodeSimple; + n_year_tick->m_field_name = field_name; + n_year_tick->m_df_type = DF_Type::int32_t; + n_year_tick->m_rdf_type = RDF_Type::int32_t; + n_year_tick->m_node_type = NodeType::Simple; + n_year_tick->m_address = base + offset; + n_year_tick->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_year_tick); + + field_name = "unk_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_4a, field_name)); + auto n_unk_10 = new NodeSimple; + n_unk_10->m_field_name = field_name; + n_unk_10->m_df_type = DF_Type::int32_t; + n_unk_10->m_rdf_type = RDF_Type::int32_t; + n_unk_10->m_node_type = NodeType::Simple; + n_unk_10->m_address = base + offset; + n_unk_10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_10); + + field_name = "unk_14"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_4a, field_name)); + auto n_unk_14 = new NodeSimple; + n_unk_14->m_field_name = field_name; + n_unk_14->m_df_type = DF_Type::int32_t; + n_unk_14->m_rdf_type = RDF_Type::int32_t; + n_unk_14->m_node_type = NodeType::Simple; + n_unk_14->m_address = base + offset; + n_unk_14->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_14); + +} +void node_from_world_site__T_unk_v40_4b(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_4b, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_4b, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + +} +void node_from_world_site__T_unk_v40_4c(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_4c, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_4c, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_4c, field_name)); + auto n_anon_3 = new NodeVector; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::Vector; + n_anon_3->m_node_type = NodeType::Vector; + n_anon_3->m_addornements = "v"; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + n_anon_3->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_4c, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_4c, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + +} +void node_from_world_site__T_unk_v40_4d__T_anon_2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_4d__T_anon_2, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_4d__T_anon_2, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_4d__T_anon_2, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_4d__T_anon_2, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_4d__T_anon_2, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_4d__T_anon_2, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_4d__T_anon_2, field_name)); + auto n_anon_7 = new NodeSimple; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::int32_t; + n_anon_7->m_rdf_type = RDF_Type::int32_t; + n_anon_7->m_node_type = NodeType::Simple; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_7); + + field_name = "anon_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_4d__T_anon_2, field_name)); + auto n_anon_8 = new NodeSimple; + n_anon_8->m_field_name = field_name; + n_anon_8->m_df_type = DF_Type::int32_t; + n_anon_8->m_rdf_type = RDF_Type::int32_t; + n_anon_8->m_node_type = NodeType::Simple; + n_anon_8->m_address = base + offset; + n_anon_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_8); + +} +void node_from_world_site__T_unk_v40_4d(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_4d, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_4d, field_name)); + auto n_anon_2 = new NodeVector; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::world_site__T_unk_v40_4d__T_anon_2; + n_anon_2->m_rdf_type = RDF_Type::Vector; + n_anon_2->m_node_type = NodeType::Vector; + n_anon_2->m_addornements = "v*"; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + n_anon_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_4d, field_name)); + auto n_anon_3 = new NodeVector; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::Vector; + n_anon_3->m_node_type = NodeType::Vector; + n_anon_3->m_addornements = "v"; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + n_anon_3->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v40_4d, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + +} +void node_from_world_site__T_unk_v43_2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v43_2, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v43_2, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v43_2, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + auto n_anon_4 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v43_2, field_name)); + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::Array; + n_anon_4->m_node_type = NodeType::Array; + n_anon_4->m_addornements = "[16[16"; + n_anon_4->m_array_size = 16; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + auto n_anon_5 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v43_2, field_name)); + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::Array; + n_anon_5->m_node_type = NodeType::Array; + n_anon_5->m_addornements = "[16[16"; + n_anon_5->m_array_size = 16; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + auto n_anon_6 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v43_2, field_name)); + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::Array; + n_anon_6->m_node_type = NodeType::Array; + n_anon_6->m_addornements = "[16[16"; + n_anon_6->m_array_size = 16; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "anon_7"; + auto n_anon_7 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v43_2, field_name)); + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::int32_t; + n_anon_7->m_rdf_type = RDF_Type::Array; + n_anon_7->m_node_type = NodeType::Array; + n_anon_7->m_addornements = "[16[16"; + n_anon_7->m_array_size = 16; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_7); + + field_name = "anon_8"; + auto n_anon_8 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v43_2, field_name)); + n_anon_8->m_field_name = field_name; + n_anon_8->m_df_type = DF_Type::int32_t; + n_anon_8->m_rdf_type = RDF_Type::Array; + n_anon_8->m_node_type = NodeType::Array; + n_anon_8->m_addornements = "[16[16"; + n_anon_8->m_array_size = 16; + n_anon_8->m_address = base + offset; + n_anon_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_8); + + field_name = "anon_9"; + auto n_anon_9 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v43_2, field_name)); + n_anon_9->m_field_name = field_name; + n_anon_9->m_df_type = DF_Type::int32_t; + n_anon_9->m_rdf_type = RDF_Type::Array; + n_anon_9->m_node_type = NodeType::Array; + n_anon_9->m_addornements = "[16[16"; + n_anon_9->m_array_size = 16; + n_anon_9->m_address = base + offset; + n_anon_9->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_9); + + field_name = "anon_10"; + auto n_anon_10 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v43_2, field_name)); + n_anon_10->m_field_name = field_name; + n_anon_10->m_df_type = DF_Type::int32_t; + n_anon_10->m_rdf_type = RDF_Type::Array; + n_anon_10->m_node_type = NodeType::Array; + n_anon_10->m_addornements = "[16[16"; + n_anon_10->m_array_size = 16; + n_anon_10->m_address = base + offset; + n_anon_10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_10); + + field_name = "anon_11"; + auto n_anon_11 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v43_2, field_name)); + n_anon_11->m_field_name = field_name; + n_anon_11->m_df_type = DF_Type::int32_t; + n_anon_11->m_rdf_type = RDF_Type::Array; + n_anon_11->m_node_type = NodeType::Array; + n_anon_11->m_addornements = "[16[16"; + n_anon_11->m_array_size = 16; + n_anon_11->m_address = base + offset; + n_anon_11->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_11); + + field_name = "anon_12"; + auto n_anon_12 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v43_2, field_name)); + n_anon_12->m_field_name = field_name; + n_anon_12->m_df_type = DF_Type::int32_t; + n_anon_12->m_rdf_type = RDF_Type::Array; + n_anon_12->m_node_type = NodeType::Array; + n_anon_12->m_addornements = "[16[16"; + n_anon_12->m_array_size = 16; + n_anon_12->m_address = base + offset; + n_anon_12->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_12); + + field_name = "anon_13"; + auto n_anon_13 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v43_2, field_name)); + n_anon_13->m_field_name = field_name; + n_anon_13->m_df_type = DF_Type::int32_t; + n_anon_13->m_rdf_type = RDF_Type::Array; + n_anon_13->m_node_type = NodeType::Array; + n_anon_13->m_addornements = "[16[16"; + n_anon_13->m_array_size = 16; + n_anon_13->m_address = base + offset; + n_anon_13->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_13); + + field_name = "anon_14"; + auto n_anon_14 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v43_2, field_name)); + n_anon_14->m_field_name = field_name; + n_anon_14->m_df_type = DF_Type::int32_t; + n_anon_14->m_rdf_type = RDF_Type::Array; + n_anon_14->m_node_type = NodeType::Array; + n_anon_14->m_addornements = "[16[16"; + n_anon_14->m_array_size = 16; + n_anon_14->m_address = base + offset; + n_anon_14->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_14); + + field_name = "anon_15"; + auto n_anon_15 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v43_2, field_name)); + n_anon_15->m_field_name = field_name; + n_anon_15->m_df_type = DF_Type::int32_t; + n_anon_15->m_rdf_type = RDF_Type::Array; + n_anon_15->m_node_type = NodeType::Array; + n_anon_15->m_addornements = "[16[16"; + n_anon_15->m_array_size = 16; + n_anon_15->m_address = base + offset; + n_anon_15->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_15); + + field_name = "anon_16"; + auto n_anon_16 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v43_2, field_name)); + n_anon_16->m_field_name = field_name; + n_anon_16->m_df_type = DF_Type::int32_t; + n_anon_16->m_rdf_type = RDF_Type::Array; + n_anon_16->m_node_type = NodeType::Array; + n_anon_16->m_addornements = "[16[16"; + n_anon_16->m_array_size = 16; + n_anon_16->m_address = base + offset; + n_anon_16->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_16); + + field_name = "anon_17"; + auto n_anon_17 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_v43_2, field_name)); + n_anon_17->m_field_name = field_name; + n_anon_17->m_df_type = DF_Type::int32_t; + n_anon_17->m_rdf_type = RDF_Type::Array; + n_anon_17->m_node_type = NodeType::Array; + n_anon_17->m_addornements = "[16[16"; + n_anon_17->m_array_size = 16; + n_anon_17->m_address = base + offset; + n_anon_17->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_17); + +} +void node_from_world_site__T_unk_188__T_unk1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_188__T_unk1, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_188__T_unk1, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_188__T_unk1, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_188__T_unk1, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_188__T_unk1, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + +} +void node_from_world_site__T_unk_188(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_188, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_188, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_188, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_188, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "unk1"; + auto n_unk1 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site__T_unk_188, field_name)); + n_unk1->m_field_name = field_name; + n_unk1->m_df_type = DF_Type::world_site__T_unk_188__T_unk1; + n_unk1->m_rdf_type = RDF_Type::Compound; + n_unk1->m_node_type = NodeType::Compound; + n_unk1->m_address = base + offset; + n_unk1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk1); + +} +void node_from_world_site(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "name"; + auto n_name = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::language_name; + n_name->m_rdf_type = RDF_Type::Struct; + n_name->m_node_type = NodeType::Compound; + n_name->m_address = base + offset; + n_name->m_defined_in = "df.language.xml"; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "civ_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); + auto n_civ_id = new NodeSimple; + n_civ_id->m_field_name = field_name; + n_civ_id->m_df_type = DF_Type::int32_t; + n_civ_id->m_rdf_type = RDF_Type::int32_t; + n_civ_id->m_node_type = NodeType::Simple; + n_civ_id->m_address = base + offset; + n_civ_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_civ_id); + + field_name = "cur_owner_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); + auto n_cur_owner_id = new NodeSimple; + n_cur_owner_id->m_field_name = field_name; + n_cur_owner_id->m_df_type = DF_Type::int32_t; + n_cur_owner_id->m_rdf_type = RDF_Type::int32_t; + n_cur_owner_id->m_node_type = NodeType::Simple; + n_cur_owner_id->m_address = base + offset; + n_cur_owner_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cur_owner_id); + + field_name = "type"; + auto n_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::world_site_type; + n_type->m_rdf_type = RDF_Type::Enum; + n_type->m_node_type = NodeType::Enum; + n_type->m_base_type = DF_Type::int16_t; + n_type->m_enum_type = "world_site_type"; + n_type->m_address = base + offset; + n_type->m_defined_in = "df.world-site.xml"; + n_type->m_first_value = 0; + n_type->m_last_value = 10; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + + field_name = "pos"; + auto n_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); + n_pos->m_field_name = field_name; + n_pos->m_df_type = DF_Type::coord2d; + n_pos->m_rdf_type = RDF_Type::Struct; + n_pos->m_node_type = NodeType::Compound; + n_pos->m_address = base + offset; + n_pos->m_defined_in = "df.map.xml"; + n_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pos); + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "unk_1"; + auto n_unk_1 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); + n_unk_1->m_field_name = field_name; + n_unk_1->m_df_type = DF_Type::world_site__T_unk_1; + n_unk_1->m_rdf_type = RDF_Type::Compound; + n_unk_1->m_node_type = NodeType::Compound; + n_unk_1->m_address = base + offset; + n_unk_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_1); + + field_name = "index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); + auto n_index = new NodeSimple; + n_index->m_field_name = field_name; + n_index->m_df_type = DF_Type::int32_t; + n_index->m_rdf_type = RDF_Type::int32_t; + n_index->m_node_type = NodeType::Simple; + n_index->m_address = base + offset; + n_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_index); + + field_name = "rgn_min_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); + auto n_rgn_min_x = new NodeSimple; + n_rgn_min_x->m_field_name = field_name; + n_rgn_min_x->m_df_type = DF_Type::int16_t; + n_rgn_min_x->m_rdf_type = RDF_Type::int16_t; + n_rgn_min_x->m_node_type = NodeType::Simple; + n_rgn_min_x->m_address = base + offset; + n_rgn_min_x->m_comment = "in embark tiles"; + n_rgn_min_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rgn_min_x); + + field_name = "rgn_max_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); + auto n_rgn_max_x = new NodeSimple; + n_rgn_max_x->m_field_name = field_name; + n_rgn_max_x->m_df_type = DF_Type::int16_t; + n_rgn_max_x->m_rdf_type = RDF_Type::int16_t; + n_rgn_max_x->m_node_type = NodeType::Simple; + n_rgn_max_x->m_address = base + offset; + n_rgn_max_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rgn_max_x); + + field_name = "rgn_min_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); + auto n_rgn_min_y = new NodeSimple; + n_rgn_min_y->m_field_name = field_name; + n_rgn_min_y->m_df_type = DF_Type::int16_t; + n_rgn_min_y->m_rdf_type = RDF_Type::int16_t; + n_rgn_min_y->m_node_type = NodeType::Simple; + n_rgn_min_y->m_address = base + offset; + n_rgn_min_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rgn_min_y); + + field_name = "rgn_max_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); + auto n_rgn_max_y = new NodeSimple; + n_rgn_max_y->m_field_name = field_name; + n_rgn_max_y->m_df_type = DF_Type::int16_t; + n_rgn_max_y->m_rdf_type = RDF_Type::int16_t; + n_rgn_max_y->m_node_type = NodeType::Simple; + n_rgn_max_y->m_address = base + offset; + n_rgn_max_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rgn_max_y); + + field_name = "rgn_min_z"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); + auto n_rgn_min_z = new NodeSimple; + n_rgn_min_z->m_field_name = field_name; + n_rgn_min_z->m_df_type = DF_Type::int16_t; + n_rgn_min_z->m_rdf_type = RDF_Type::int16_t; + n_rgn_min_z->m_node_type = NodeType::Simple; + n_rgn_min_z->m_address = base + offset; + n_rgn_min_z->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rgn_min_z); + + field_name = "rgn_max_z"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); + auto n_rgn_max_z = new NodeSimple; + n_rgn_max_z->m_field_name = field_name; + n_rgn_max_z->m_df_type = DF_Type::int16_t; + n_rgn_max_z->m_rdf_type = RDF_Type::int16_t; + n_rgn_max_z->m_node_type = NodeType::Simple; + n_rgn_max_z->m_address = base + offset; + n_rgn_max_z->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rgn_max_z); + + field_name = "global_min_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); + auto n_global_min_x = new NodeSimple; + n_global_min_x->m_field_name = field_name; + n_global_min_x->m_df_type = DF_Type::int32_t; + n_global_min_x->m_rdf_type = RDF_Type::int32_t; + n_global_min_x->m_node_type = NodeType::Simple; + n_global_min_x->m_address = base + offset; + n_global_min_x->m_comment = "in embark tiles"; + n_global_min_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_global_min_x); + + field_name = "global_min_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); + auto n_global_min_y = new NodeSimple; + n_global_min_y->m_field_name = field_name; + n_global_min_y->m_df_type = DF_Type::int32_t; + n_global_min_y->m_rdf_type = RDF_Type::int32_t; + n_global_min_y->m_node_type = NodeType::Simple; + n_global_min_y->m_address = base + offset; + n_global_min_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_global_min_y); + + field_name = "global_max_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); + auto n_global_max_x = new NodeSimple; + n_global_max_x->m_field_name = field_name; + n_global_max_x->m_df_type = DF_Type::int32_t; + n_global_max_x->m_rdf_type = RDF_Type::int32_t; + n_global_max_x->m_node_type = NodeType::Simple; + n_global_max_x->m_address = base + offset; + n_global_max_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_global_max_x); + + field_name = "global_max_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); + auto n_global_max_y = new NodeSimple; + n_global_max_y->m_field_name = field_name; + n_global_max_y->m_df_type = DF_Type::int32_t; + n_global_max_y->m_rdf_type = RDF_Type::int32_t; + n_global_max_y->m_node_type = NodeType::Simple; + n_global_max_y->m_address = base + offset; + n_global_max_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_global_max_y); + + field_name = "seed1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); + auto n_seed1 = new NodeSimple; + n_seed1->m_field_name = field_name; + n_seed1->m_df_type = DF_Type::uint32_t; + n_seed1->m_rdf_type = RDF_Type::uint32_t; + n_seed1->m_node_type = NodeType::Simple; + n_seed1->m_address = base + offset; + n_seed1->m_comment = "random"; + n_seed1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_seed1); + + field_name = "seed2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); + auto n_seed2 = new NodeSimple; + n_seed2->m_field_name = field_name; + n_seed2->m_df_type = DF_Type::uint32_t; + n_seed2->m_rdf_type = RDF_Type::uint32_t; + n_seed2->m_node_type = NodeType::Simple; + n_seed2->m_address = base + offset; + n_seed2->m_comment = "random"; + n_seed2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_seed2); + + field_name = "resident_count"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); + auto n_resident_count = new NodeSimple; + n_resident_count->m_field_name = field_name; + n_resident_count->m_df_type = DF_Type::int32_t; + n_resident_count->m_rdf_type = RDF_Type::int32_t; + n_resident_count->m_node_type = NodeType::Simple; + n_resident_count->m_address = base + offset; + n_resident_count->m_comment = "count living in houses and shops"; + n_resident_count->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_resident_count); + + field_name = "unk_110"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); + auto n_unk_110 = new NodeSimple; + n_unk_110->m_field_name = field_name; + n_unk_110->m_df_type = DF_Type::int32_t; + n_unk_110->m_rdf_type = RDF_Type::int32_t; + n_unk_110->m_node_type = NodeType::Simple; + n_unk_110->m_address = base + offset; + n_unk_110->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_110); + + field_name = "unk_114"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); + auto n_unk_114 = new NodeSimple; + n_unk_114->m_field_name = field_name; + n_unk_114->m_df_type = DF_Type::int32_t; + n_unk_114->m_rdf_type = RDF_Type::int32_t; + n_unk_114->m_node_type = NodeType::Simple; + n_unk_114->m_address = base + offset; + n_unk_114->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_114); + + field_name = "unk_118"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); + auto n_unk_118 = new NodePointer; + n_unk_118->m_field_name = field_name; + n_unk_118->m_df_type = get_real_subtype(base+offset, DF_Type::world_site__T_unk_118); + n_unk_118->m_rdf_type = RDF_Type::Pointer; + n_unk_118->m_node_type = NodeType::Pointer; + n_unk_118->m_addornements = "*"; + n_unk_118->m_address = base + offset; + n_unk_118->m_parent = p_node_parent; + n_unk_118->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_118); + + field_name = "unk_11c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); + auto n_unk_11c = new NodeSimple; + n_unk_11c->m_field_name = field_name; + n_unk_11c->m_df_type = DF_Type::int32_t; + n_unk_11c->m_rdf_type = RDF_Type::int32_t; + n_unk_11c->m_node_type = NodeType::Simple; + n_unk_11c->m_address = base + offset; + n_unk_11c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_11c); + + field_name = "unk_120"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); + auto n_unk_120 = new NodeSimple; + n_unk_120->m_field_name = field_name; + n_unk_120->m_df_type = DF_Type::int32_t; + n_unk_120->m_rdf_type = RDF_Type::int32_t; + n_unk_120->m_node_type = NodeType::Simple; + n_unk_120->m_address = base + offset; + n_unk_120->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_120); + + field_name = "unk_124"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); + auto n_unk_124 = new NodeSimple; + n_unk_124->m_field_name = field_name; + n_unk_124->m_df_type = DF_Type::int32_t; + n_unk_124->m_rdf_type = RDF_Type::int32_t; + n_unk_124->m_node_type = NodeType::Simple; + n_unk_124->m_address = base + offset; + n_unk_124->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_124); + + field_name = "unk_128"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); + auto n_unk_128 = new NodeSimple; + n_unk_128->m_field_name = field_name; + n_unk_128->m_df_type = DF_Type::int32_t; + n_unk_128->m_rdf_type = RDF_Type::int32_t; + n_unk_128->m_node_type = NodeType::Simple; + n_unk_128->m_address = base + offset; + n_unk_128->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_128); + + field_name = "anon_1"; + auto n_anon_1 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::Array; + n_anon_1->m_node_type = NodeType::Array; + n_anon_1->m_addornements = "[8"; + n_anon_1->m_array_size = 8; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "unk_13c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); + auto n_unk_13c = new NodeVector; + n_unk_13c->m_field_name = field_name; + n_unk_13c->m_df_type = DF_Type::world_site__T_unk_13c; + n_unk_13c->m_rdf_type = RDF_Type::Vector; + n_unk_13c->m_node_type = NodeType::Vector; + n_unk_13c->m_addornements = "v*"; + n_unk_13c->m_address = base + offset; + n_unk_13c->m_comment = "mountain halls"; + n_unk_13c->m_parent = p_node_parent; + n_unk_13c->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_13c); + + field_name = "unk_v40_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); + auto n_unk_v40_2 = new NodeVector; + n_unk_v40_2->m_field_name = field_name; + n_unk_v40_2->m_df_type = DF_Type::world_site__T_unk_v40_2; + n_unk_v40_2->m_rdf_type = RDF_Type::Vector; + n_unk_v40_2->m_node_type = NodeType::Vector; + n_unk_v40_2->m_addornements = "v*"; + n_unk_v40_2->m_address = base + offset; + n_unk_v40_2->m_comment = "forest retreat"; + n_unk_v40_2->m_parent = p_node_parent; + n_unk_v40_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_v40_2); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); + auto n_flags = new NodeDFFlagArray; + n_flags->m_field_name = field_name; + n_flags->m_index_enum = DF_Type::world_site_flags; + n_flags->m_df_type = DF_Type::world_site_flags; + n_flags->m_size = 4; + n_flags->m_rdf_type = RDF_Type::DFFlagArray; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_defined_in = "df.world-site.xml"; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "buildings"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); + auto n_buildings = new NodeVector; + n_buildings->m_field_name = field_name; + n_buildings->m_df_type = DF_Type::abstract_building; + n_buildings->m_rdf_type = RDF_Type::Vector; + n_buildings->m_node_type = NodeType::Vector; + n_buildings->m_defined_in = "df.world-site.xml"; + n_buildings->m_addornements = "v*"; + n_buildings->m_address = base + offset; + n_buildings->m_parent = p_node_parent; + n_buildings->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_buildings); + + field_name = "next_building_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); + auto n_next_building_id = new NodeSimple; + n_next_building_id->m_field_name = field_name; + n_next_building_id->m_df_type = DF_Type::int32_t; + n_next_building_id->m_rdf_type = RDF_Type::int32_t; + n_next_building_id->m_node_type = NodeType::Simple; + n_next_building_id->m_address = base + offset; + n_next_building_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_next_building_id); + + field_name = "created_tick"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); + auto n_created_tick = new NodeSimple; + n_created_tick->m_field_name = field_name; + n_created_tick->m_df_type = DF_Type::int32_t; + n_created_tick->m_rdf_type = RDF_Type::int32_t; + n_created_tick->m_node_type = NodeType::Simple; + n_created_tick->m_address = base + offset; + n_created_tick->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_created_tick); + + field_name = "created_year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); + auto n_created_year = new NodeSimple; + n_created_year->m_field_name = field_name; + n_created_year->m_df_type = DF_Type::int32_t; + n_created_year->m_rdf_type = RDF_Type::int32_t; + n_created_year->m_node_type = NodeType::Simple; + n_created_year->m_address = base + offset; + n_created_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_created_year); + + field_name = "unk_170"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); + auto n_unk_170 = new NodeSimple; + n_unk_170->m_field_name = field_name; + n_unk_170->m_df_type = DF_Type::int32_t; + n_unk_170->m_rdf_type = RDF_Type::int32_t; + n_unk_170->m_node_type = NodeType::Simple; + n_unk_170->m_address = base + offset; + n_unk_170->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_170); + + field_name = "unk_174"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); + auto n_unk_174 = new NodeSimple; + n_unk_174->m_field_name = field_name; + n_unk_174->m_df_type = DF_Type::int32_t; + n_unk_174->m_rdf_type = RDF_Type::int32_t; + n_unk_174->m_node_type = NodeType::Simple; + n_unk_174->m_address = base + offset; + n_unk_174->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_174); + + field_name = "unk_178"; + auto n_unk_178 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); + n_unk_178->m_field_name = field_name; + n_unk_178->m_df_type = DF_Type::coord; + n_unk_178->m_rdf_type = RDF_Type::Struct; + n_unk_178->m_node_type = NodeType::Compound; + n_unk_178->m_address = base + offset; + n_unk_178->m_defined_in = "df.map.xml"; + n_unk_178->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_178); + + field_name = "realization"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); + auto n_realization = new NodePointer; + n_realization->m_field_name = field_name; + n_realization->m_df_type = get_real_subtype(base+offset, DF_Type::world_site_realization); + n_realization->m_rdf_type = RDF_Type::Pointer; + n_realization->m_node_type = NodeType::Pointer; + n_realization->m_addornements = "*"; + n_realization->m_address = base + offset; + n_realization->m_parent = p_node_parent; + n_realization->m_defined_in = "df.world-site.xml"; + n_realization->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_realization); + + field_name = "subtype_info"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); + auto n_subtype_info = new NodePointer; + n_subtype_info->m_field_name = field_name; + n_subtype_info->m_df_type = get_real_subtype(base+offset, DF_Type::world_site__T_subtype_info); + n_subtype_info->m_rdf_type = RDF_Type::Pointer; + n_subtype_info->m_node_type = NodeType::Pointer; + n_subtype_info->m_addornements = "*"; + n_subtype_info->m_address = base + offset; + n_subtype_info->m_parent = p_node_parent; + n_subtype_info->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_subtype_info); + + field_name = "unk_21c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); + auto n_unk_21c = new NodeVector; + n_unk_21c->m_field_name = field_name; + n_unk_21c->m_df_type = DF_Type::world_site__T_unk_21c; + n_unk_21c->m_rdf_type = RDF_Type::Vector; + n_unk_21c->m_node_type = NodeType::Vector; + n_unk_21c->m_addornements = "v*"; + n_unk_21c->m_address = base + offset; + n_unk_21c->m_parent = p_node_parent; + n_unk_21c->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_21c); + + field_name = "unk_22c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); + auto n_unk_22c = new NodeVector; + n_unk_22c->m_field_name = field_name; + n_unk_22c->m_df_type = DF_Type::int32_t; + n_unk_22c->m_rdf_type = RDF_Type::Vector; + n_unk_22c->m_node_type = NodeType::Vector; + n_unk_22c->m_addornements = "v"; + n_unk_22c->m_address = base + offset; + n_unk_22c->m_parent = p_node_parent; + n_unk_22c->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_22c); + + field_name = "is_mountain_halls"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); + auto n_is_mountain_halls = new NodeSimple; + n_is_mountain_halls->m_field_name = field_name; + n_is_mountain_halls->m_df_type = DF_Type::int32_t; + n_is_mountain_halls->m_rdf_type = RDF_Type::int32_t; + n_is_mountain_halls->m_node_type = NodeType::Simple; + n_is_mountain_halls->m_address = base + offset; + n_is_mountain_halls->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_is_mountain_halls); + + field_name = "is_fortress"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); + auto n_is_fortress = new NodeSimple; + n_is_fortress->m_field_name = field_name; + n_is_fortress->m_df_type = DF_Type::int32_t; + n_is_fortress->m_rdf_type = RDF_Type::int32_t; + n_is_fortress->m_node_type = NodeType::Simple; + n_is_fortress->m_address = base + offset; + n_is_fortress->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_is_fortress); + + field_name = "unk_v40_4a"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); + auto n_unk_v40_4a = new NodeVector; + n_unk_v40_4a->m_field_name = field_name; + n_unk_v40_4a->m_df_type = DF_Type::world_site__T_unk_v40_4a; + n_unk_v40_4a->m_rdf_type = RDF_Type::Vector; + n_unk_v40_4a->m_node_type = NodeType::Vector; + n_unk_v40_4a->m_addornements = "v*"; + n_unk_v40_4a->m_address = base + offset; + n_unk_v40_4a->m_parent = p_node_parent; + n_unk_v40_4a->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_v40_4a); + + field_name = "unk_v40_4b"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); + auto n_unk_v40_4b = new NodeVector; + n_unk_v40_4b->m_field_name = field_name; + n_unk_v40_4b->m_df_type = DF_Type::world_site__T_unk_v40_4b; + n_unk_v40_4b->m_rdf_type = RDF_Type::Vector; + n_unk_v40_4b->m_node_type = NodeType::Vector; + n_unk_v40_4b->m_addornements = "v*"; + n_unk_v40_4b->m_address = base + offset; + n_unk_v40_4b->m_parent = p_node_parent; + n_unk_v40_4b->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_v40_4b); + + field_name = "unk_v40_4c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); + auto n_unk_v40_4c = new NodeVector; + n_unk_v40_4c->m_field_name = field_name; + n_unk_v40_4c->m_df_type = DF_Type::world_site__T_unk_v40_4c; + n_unk_v40_4c->m_rdf_type = RDF_Type::Vector; + n_unk_v40_4c->m_node_type = NodeType::Vector; + n_unk_v40_4c->m_addornements = "v*"; + n_unk_v40_4c->m_address = base + offset; + n_unk_v40_4c->m_parent = p_node_parent; + n_unk_v40_4c->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_v40_4c); + + field_name = "unk_v40_4d"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); + auto n_unk_v40_4d = new NodeVector; + n_unk_v40_4d->m_field_name = field_name; + n_unk_v40_4d->m_df_type = DF_Type::world_site__T_unk_v40_4d; + n_unk_v40_4d->m_rdf_type = RDF_Type::Vector; + n_unk_v40_4d->m_node_type = NodeType::Vector; + n_unk_v40_4d->m_addornements = "v*"; + n_unk_v40_4d->m_address = base + offset; + n_unk_v40_4d->m_parent = p_node_parent; + n_unk_v40_4d->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_v40_4d); + + field_name = "unk_v43_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); + auto n_unk_v43_1 = new NodeSimple; + n_unk_v43_1->m_field_name = field_name; + n_unk_v43_1->m_df_type = DF_Type::int32_t; + n_unk_v43_1->m_rdf_type = RDF_Type::int32_t; + n_unk_v43_1->m_node_type = NodeType::Simple; + n_unk_v43_1->m_address = base + offset; + n_unk_v43_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v43_1); + + field_name = "unk_v43_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); + auto n_unk_v43_2 = new NodeVector; + n_unk_v43_2->m_field_name = field_name; + n_unk_v43_2->m_df_type = DF_Type::world_site__T_unk_v43_2; + n_unk_v43_2->m_rdf_type = RDF_Type::Vector; + n_unk_v43_2->m_node_type = NodeType::Vector; + n_unk_v43_2->m_addornements = "v*"; + n_unk_v43_2->m_address = base + offset; + n_unk_v43_2->m_parent = p_node_parent; + n_unk_v43_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_v43_2); + + field_name = "unk_v43_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); + auto n_unk_v43_3 = new NodeSimple; + n_unk_v43_3->m_field_name = field_name; + n_unk_v43_3->m_df_type = DF_Type::int32_t; + n_unk_v43_3->m_rdf_type = RDF_Type::int32_t; + n_unk_v43_3->m_node_type = NodeType::Simple; + n_unk_v43_3->m_address = base + offset; + n_unk_v43_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v43_3); + + field_name = "unk_v40_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); + auto n_unk_v40_5 = new NodeSimple; + n_unk_v40_5->m_field_name = field_name; + n_unk_v40_5->m_df_type = DF_Type::int32_t; + n_unk_v40_5->m_rdf_type = RDF_Type::int32_t; + n_unk_v40_5->m_node_type = NodeType::Simple; + n_unk_v40_5->m_address = base + offset; + n_unk_v40_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_5); + + field_name = "unk_188"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); + auto n_unk_188 = new NodePointer; + n_unk_188->m_field_name = field_name; + n_unk_188->m_df_type = get_real_subtype(base+offset, DF_Type::world_site__T_unk_188); + n_unk_188->m_rdf_type = RDF_Type::Pointer; + n_unk_188->m_node_type = NodeType::Pointer; + n_unk_188->m_addornements = "*v*"; + n_unk_188->m_address = base + offset; + n_unk_188->m_parent = p_node_parent; + n_unk_188->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_188); + + field_name = "unk_3a8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); + auto n_unk_3a8 = new NodeSimple; + n_unk_3a8->m_field_name = field_name; + n_unk_3a8->m_df_type = DF_Type::int32_t; + n_unk_3a8->m_rdf_type = RDF_Type::int32_t; + n_unk_3a8->m_node_type = NodeType::Simple; + n_unk_3a8->m_address = base + offset; + n_unk_3a8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_3a8); + + field_name = "unk_3b0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); + auto n_unk_3b0 = new NodePointer; + n_unk_3b0->m_field_name = field_name; + n_unk_3b0->m_df_type = get_real_subtype(base+offset, DF_Type::world_site_unk130); + n_unk_3b0->m_rdf_type = RDF_Type::Pointer; + n_unk_3b0->m_node_type = NodeType::Pointer; + n_unk_3b0->m_addornements = "*"; + n_unk_3b0->m_address = base + offset; + n_unk_3b0->m_parent = p_node_parent; + n_unk_3b0->m_defined_in = "df.world-data.xml"; + n_unk_3b0->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_3b0); + + field_name = "unk_18c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); + auto n_unk_18c = new NodeVector; + n_unk_18c->m_field_name = field_name; + n_unk_18c->m_df_type = DF_Type::Void; + n_unk_18c->m_rdf_type = RDF_Type::Vector; + n_unk_18c->m_node_type = NodeType::Vector; + n_unk_18c->m_addornements = "v"; + n_unk_18c->m_address = base + offset; + n_unk_18c->m_parent = p_node_parent; + n_unk_18c->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_18c); + + field_name = "unk_19c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); + auto n_unk_19c = new NodeVector; + n_unk_19c->m_field_name = field_name; + n_unk_19c->m_df_type = DF_Type::Void; + n_unk_19c->m_rdf_type = RDF_Type::Vector; + n_unk_19c->m_node_type = NodeType::Vector; + n_unk_19c->m_addornements = "v"; + n_unk_19c->m_address = base + offset; + n_unk_19c->m_parent = p_node_parent; + n_unk_19c->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_19c); + + field_name = "entity_links"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); + auto n_entity_links = new NodeVector; + n_entity_links->m_field_name = field_name; + n_entity_links->m_df_type = DF_Type::entity_site_link; + n_entity_links->m_rdf_type = RDF_Type::Vector; + n_entity_links->m_node_type = NodeType::Vector; + n_entity_links->m_defined_in = "df.refs.xml"; + n_entity_links->m_addornements = "v*"; + n_entity_links->m_address = base + offset; + n_entity_links->m_parent = p_node_parent; + n_entity_links->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_entity_links); + + field_name = "cultural_identities"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); + auto n_cultural_identities = new NodeVector; + n_cultural_identities->m_field_name = field_name; + n_cultural_identities->m_df_type = DF_Type::cultural_identity; + n_cultural_identities->m_rdf_type = RDF_Type::Vector; + n_cultural_identities->m_node_type = NodeType::Vector; + n_cultural_identities->m_defined_in = "df.world-site.xml"; + n_cultural_identities->m_addornements = "v*"; + n_cultural_identities->m_address = base + offset; + n_cultural_identities->m_parent = p_node_parent; + n_cultural_identities->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_cultural_identities); + + field_name = "unk_v42_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); + auto n_unk_v42_1 = new NodeVector; + n_unk_v42_1->m_field_name = field_name; + n_unk_v42_1->m_df_type = DF_Type::occupation; + n_unk_v42_1->m_rdf_type = RDF_Type::Vector; + n_unk_v42_1->m_node_type = NodeType::Vector; + n_unk_v42_1->m_defined_in = "df.art.xml"; + n_unk_v42_1->m_addornements = "v*"; + n_unk_v42_1->m_address = base + offset; + n_unk_v42_1->m_parent = p_node_parent; + n_unk_v42_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_v42_1); + + field_name = "unk_v43_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); + auto n_unk_v43_4 = new NodeSimple; + n_unk_v43_4->m_field_name = field_name; + n_unk_v43_4->m_df_type = DF_Type::int32_t; + n_unk_v43_4->m_rdf_type = RDF_Type::int32_t; + n_unk_v43_4->m_node_type = NodeType::Simple; + n_unk_v43_4->m_address = base + offset; + n_unk_v43_4->m_comment = "uninitialized"; + n_unk_v43_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v43_4); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site, field_name)); + auto n_anon_2 = new NodeVector; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::Void; + n_anon_2->m_rdf_type = RDF_Type::Vector; + n_anon_2->m_node_type = NodeType::Vector; + n_anon_2->m_addornements = "v"; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + n_anon_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_2); + +} +void node_from_cultural_identity__T_group_log(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "group_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cultural_identity__T_group_log, field_name)); + auto n_group_id = new NodeSimple; + n_group_id->m_field_name = field_name; + n_group_id->m_df_type = DF_Type::int32_t; + n_group_id->m_rdf_type = RDF_Type::int32_t; + n_group_id->m_node_type = NodeType::Simple; + n_group_id->m_address = base + offset; + n_group_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_group_id); + + field_name = "start_year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cultural_identity__T_group_log, field_name)); + auto n_start_year = new NodeSimple; + n_start_year->m_field_name = field_name; + n_start_year->m_df_type = DF_Type::int32_t; + n_start_year->m_rdf_type = RDF_Type::int32_t; + n_start_year->m_node_type = NodeType::Simple; + n_start_year->m_address = base + offset; + n_start_year->m_comment = "when the group joined the culture, or -1 if it founded the culture"; + n_start_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_start_year); + + field_name = "start_tick"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cultural_identity__T_group_log, field_name)); + auto n_start_tick = new NodeSimple; + n_start_tick->m_field_name = field_name; + n_start_tick->m_df_type = DF_Type::int32_t; + n_start_tick->m_rdf_type = RDF_Type::int32_t; + n_start_tick->m_node_type = NodeType::Simple; + n_start_tick->m_address = base + offset; + n_start_tick->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_start_tick); + + field_name = "end_year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cultural_identity__T_group_log, field_name)); + auto n_end_year = new NodeSimple; + n_end_year->m_field_name = field_name; + n_end_year->m_df_type = DF_Type::int32_t; + n_end_year->m_rdf_type = RDF_Type::int32_t; + n_end_year->m_node_type = NodeType::Simple; + n_end_year->m_address = base + offset; + n_end_year->m_comment = "when the group left the culture, or -1 if it has not left"; + n_end_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_end_year); + + field_name = "end_tick"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cultural_identity__T_group_log, field_name)); + auto n_end_tick = new NodeSimple; + n_end_tick->m_field_name = field_name; + n_end_tick->m_df_type = DF_Type::int32_t; + n_end_tick->m_rdf_type = RDF_Type::int32_t; + n_end_tick->m_node_type = NodeType::Simple; + n_end_tick->m_address = base + offset; + n_end_tick->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_end_tick); + + field_name = "unk_14"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cultural_identity__T_group_log, field_name)); + auto n_unk_14 = new NodeSimple; + n_unk_14->m_field_name = field_name; + n_unk_14->m_df_type = DF_Type::int32_t; + n_unk_14->m_rdf_type = RDF_Type::int32_t; + n_unk_14->m_node_type = NodeType::Simple; + n_unk_14->m_address = base + offset; + n_unk_14->m_comment = "copy of start_year"; + n_unk_14->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_14); + + field_name = "unk_18"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cultural_identity__T_group_log, field_name)); + auto n_unk_18 = new NodeSimple; + n_unk_18->m_field_name = field_name; + n_unk_18->m_df_type = DF_Type::int32_t; + n_unk_18->m_rdf_type = RDF_Type::int32_t; + n_unk_18->m_node_type = NodeType::Simple; + n_unk_18->m_address = base + offset; + n_unk_18->m_comment = "copy of start_tick"; + n_unk_18->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_18); + + field_name = "join_type"; + auto n_join_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cultural_identity__T_group_log, field_name)); + n_join_type->m_field_name = field_name; + n_join_type->m_df_type = DF_Type::cultural_identity__T_group_log__T_join_type; + n_join_type->m_rdf_type = RDF_Type::Enum; + n_join_type->m_node_type = NodeType::Enum; + n_join_type->m_base_type = enum_base_type(n_join_type->m_df_type); + n_join_type->m_enum_type = "cultural_identity::T_group_log::T_join_type"; + n_join_type->m_address = base + offset; + n_join_type->m_first_value = 0; + n_join_type->m_last_value = 2; + n_join_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_join_type); + + field_name = "unk_20"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cultural_identity__T_group_log, field_name)); + auto n_unk_20 = new NodeSimple; + n_unk_20->m_field_name = field_name; + n_unk_20->m_df_type = DF_Type::int32_t; + n_unk_20->m_rdf_type = RDF_Type::int32_t; + n_unk_20->m_node_type = NodeType::Simple; + n_unk_20->m_address = base + offset; + n_unk_20->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_20); + + field_name = "unk_24"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cultural_identity__T_group_log, field_name)); + auto n_unk_24 = new NodeVector; + n_unk_24->m_field_name = field_name; + n_unk_24->m_df_type = DF_Type::int32_t; + n_unk_24->m_rdf_type = RDF_Type::Vector; + n_unk_24->m_node_type = NodeType::Vector; + n_unk_24->m_addornements = "v"; + n_unk_24->m_address = base + offset; + n_unk_24->m_parent = p_node_parent; + n_unk_24->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_24); + + field_name = "unk_34"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cultural_identity__T_group_log, field_name)); + auto n_unk_34 = new NodeVector; + n_unk_34->m_field_name = field_name; + n_unk_34->m_df_type = DF_Type::int32_t; + n_unk_34->m_rdf_type = RDF_Type::Vector; + n_unk_34->m_node_type = NodeType::Vector; + n_unk_34->m_addornements = "v"; + n_unk_34->m_address = base + offset; + n_unk_34->m_comment = "same length as unk_24; elements always sum to 10000"; + n_unk_34->m_parent = p_node_parent; + n_unk_34->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_34); + + field_name = "unk_44"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cultural_identity__T_group_log, field_name)); + auto n_unk_44 = new NodeSimple; + n_unk_44->m_field_name = field_name; + n_unk_44->m_df_type = DF_Type::int32_t; + n_unk_44->m_rdf_type = RDF_Type::int32_t; + n_unk_44->m_node_type = NodeType::Simple; + n_unk_44->m_address = base + offset; + n_unk_44->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_44); + +} +void node_from_cultural_identity(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cultural_identity, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "site_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cultural_identity, field_name)); + auto n_site_id = new NodeSimple; + n_site_id->m_field_name = field_name; + n_site_id->m_df_type = DF_Type::int32_t; + n_site_id->m_rdf_type = RDF_Type::int32_t; + n_site_id->m_node_type = NodeType::Simple; + n_site_id->m_address = base + offset; + n_site_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_id); + + field_name = "civ_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cultural_identity, field_name)); + auto n_civ_id = new NodeSimple; + n_civ_id->m_field_name = field_name; + n_civ_id->m_df_type = DF_Type::int32_t; + n_civ_id->m_rdf_type = RDF_Type::int32_t; + n_civ_id->m_node_type = NodeType::Simple; + n_civ_id->m_address = base + offset; + n_civ_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_civ_id); + + field_name = "group_log"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cultural_identity, field_name)); + auto n_group_log = new NodeVector; + n_group_log->m_field_name = field_name; + n_group_log->m_df_type = DF_Type::cultural_identity__T_group_log; + n_group_log->m_rdf_type = RDF_Type::Vector; + n_group_log->m_node_type = NodeType::Vector; + n_group_log->m_addornements = "v*"; + n_group_log->m_address = base + offset; + n_group_log->m_comment = "the circumstances of groups joining or leaving this culture"; + n_group_log->m_parent = p_node_parent; + n_group_log->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_group_log); + + field_name = "ethic"; + auto n_ethic = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cultural_identity, field_name)); + n_ethic->m_field_name = field_name; + n_ethic->m_df_type = DF_Type::ethic_response; + n_ethic->m_rdf_type = RDF_Type::Array; + n_ethic->m_node_type = NodeType::Array; + n_ethic->m_index_enum = DF_Type::ethic_type; + n_ethic->m_enum_base = DF_Type::int16_t; + n_ethic->m_defined_in = "df.entity-raws.xml"; + n_ethic->m_addornements = "[22"; + n_ethic->m_array_size = 22; + n_ethic->m_address = base + offset; + n_ethic->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ethic); + + field_name = "values"; + auto n_values = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cultural_identity, field_name)); + n_values->m_field_name = field_name; + n_values->m_df_type = DF_Type::int32_t; + n_values->m_rdf_type = RDF_Type::Array; + n_values->m_node_type = NodeType::Array; + n_values->m_index_enum = DF_Type::value_type; + n_values->m_addornements = "[64"; + n_values->m_array_size = 64; + n_values->m_address = base + offset; + n_values->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_values); + + field_name = "events"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cultural_identity, field_name)); + auto n_events = new NodeVector; + n_events->m_field_name = field_name; + n_events->m_df_type = DF_Type::entity_event; + n_events->m_rdf_type = RDF_Type::Vector; + n_events->m_node_type = NodeType::Vector; + n_events->m_defined_in = "df.entities.xml"; + n_events->m_addornements = "v*"; + n_events->m_address = base + offset; + n_events->m_parent = p_node_parent; + n_events->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_events); + + field_name = "unk_d8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cultural_identity, field_name)); + auto n_unk_d8 = new NodeSimple; + n_unk_d8->m_field_name = field_name; + n_unk_d8->m_df_type = DF_Type::int32_t; + n_unk_d8->m_rdf_type = RDF_Type::int32_t; + n_unk_d8->m_node_type = NodeType::Simple; + n_unk_d8->m_address = base + offset; + n_unk_d8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_d8); + + field_name = "unk_dc"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cultural_identity, field_name)); + auto n_unk_dc = new NodeVector; + n_unk_dc->m_field_name = field_name; + n_unk_dc->m_df_type = DF_Type::int32_t; + n_unk_dc->m_rdf_type = RDF_Type::Vector; + n_unk_dc->m_node_type = NodeType::Vector; + n_unk_dc->m_addornements = "v"; + n_unk_dc->m_address = base + offset; + n_unk_dc->m_parent = p_node_parent; + n_unk_dc->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_dc); + + field_name = "unk_ec"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cultural_identity, field_name)); + auto n_unk_ec = new NodeSimple; + n_unk_ec->m_field_name = field_name; + n_unk_ec->m_df_type = DF_Type::int32_t; + n_unk_ec->m_rdf_type = RDF_Type::int32_t; + n_unk_ec->m_node_type = NodeType::Simple; + n_unk_ec->m_address = base + offset; + n_unk_ec->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_ec); + + field_name = "unk_f0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cultural_identity, field_name)); + auto n_unk_f0 = new NodeSimple; + n_unk_f0->m_field_name = field_name; + n_unk_f0->m_df_type = DF_Type::int32_t; + n_unk_f0->m_rdf_type = RDF_Type::int32_t; + n_unk_f0->m_node_type = NodeType::Simple; + n_unk_f0->m_address = base + offset; + n_unk_f0->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_f0); + + field_name = "unk_f4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cultural_identity, field_name)); + auto n_unk_f4 = new NodeSimple; + n_unk_f4->m_field_name = field_name; + n_unk_f4->m_df_type = DF_Type::int32_t; + n_unk_f4->m_rdf_type = RDF_Type::int32_t; + n_unk_f4->m_node_type = NodeType::Simple; + n_unk_f4->m_address = base + offset; + n_unk_f4->m_comment = "0 or 800000"; + n_unk_f4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_f4); + + field_name = "unk_f8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::cultural_identity, field_name)); + auto n_unk_f8 = new NodeSimple; + n_unk_f8->m_field_name = field_name; + n_unk_f8->m_df_type = DF_Type::int32_t; + n_unk_f8->m_rdf_type = RDF_Type::int32_t; + n_unk_f8->m_node_type = NodeType::Simple; + n_unk_f8->m_address = base + offset; + n_unk_f8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_f8); + +} +void node_from_site_realization_crossroads(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "road_min_y"; + auto n_road_min_y = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); + n_road_min_y->m_field_name = field_name; + n_road_min_y->m_df_type = DF_Type::int32_t; + n_road_min_y->m_rdf_type = RDF_Type::Array; + n_road_min_y->m_node_type = NodeType::Array; + n_road_min_y->m_addornements = "[48"; + n_road_min_y->m_array_size = 48; + n_road_min_y->m_address = base + offset; + n_road_min_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_road_min_y); + + field_name = "road_max_y"; + auto n_road_max_y = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); + n_road_max_y->m_field_name = field_name; + n_road_max_y->m_df_type = DF_Type::int32_t; + n_road_max_y->m_rdf_type = RDF_Type::Array; + n_road_max_y->m_node_type = NodeType::Array; + n_road_max_y->m_addornements = "[48"; + n_road_max_y->m_array_size = 48; + n_road_max_y->m_address = base + offset; + n_road_max_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_road_max_y); + + field_name = "road_min_x"; + auto n_road_min_x = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); + n_road_min_x->m_field_name = field_name; + n_road_min_x->m_df_type = DF_Type::int32_t; + n_road_min_x->m_rdf_type = RDF_Type::Array; + n_road_min_x->m_node_type = NodeType::Array; + n_road_min_x->m_addornements = "[48"; + n_road_min_x->m_array_size = 48; + n_road_min_x->m_address = base + offset; + n_road_min_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_road_min_x); + + field_name = "road_max_x"; + auto n_road_max_x = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); + n_road_max_x->m_field_name = field_name; + n_road_max_x->m_df_type = DF_Type::int32_t; + n_road_max_x->m_rdf_type = RDF_Type::Array; + n_road_max_x->m_node_type = NodeType::Array; + n_road_max_x->m_addornements = "[48"; + n_road_max_x->m_array_size = 48; + n_road_max_x->m_address = base + offset; + n_road_max_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_road_max_x); + + field_name = "idx_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); + auto n_idx_x = new NodeSimple; + n_idx_x->m_field_name = field_name; + n_idx_x->m_df_type = DF_Type::int32_t; + n_idx_x->m_rdf_type = RDF_Type::int32_t; + n_idx_x->m_node_type = NodeType::Simple; + n_idx_x->m_address = base + offset; + n_idx_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_idx_x); + + field_name = "idx_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); + auto n_idx_y = new NodeSimple; + n_idx_y->m_field_name = field_name; + n_idx_y->m_df_type = DF_Type::int32_t; + n_idx_y->m_rdf_type = RDF_Type::int32_t; + n_idx_y->m_node_type = NodeType::Simple; + n_idx_y->m_address = base + offset; + n_idx_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_idx_y); + + field_name = "tile_width"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); + auto n_tile_width = new NodeSimple; + n_tile_width->m_field_name = field_name; + n_tile_width->m_df_type = DF_Type::int32_t; + n_tile_width->m_rdf_type = RDF_Type::int32_t; + n_tile_width->m_node_type = NodeType::Simple; + n_tile_width->m_address = base + offset; + n_tile_width->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tile_width); + + field_name = "tile_height"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); + auto n_tile_height = new NodeSimple; + n_tile_height->m_field_name = field_name; + n_tile_height->m_df_type = DF_Type::int32_t; + n_tile_height->m_rdf_type = RDF_Type::int32_t; + n_tile_height->m_node_type = NodeType::Simple; + n_tile_height->m_address = base + offset; + n_tile_height->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tile_height); + + field_name = "unk_310"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); + auto n_unk_310 = new NodeSimple; + n_unk_310->m_field_name = field_name; + n_unk_310->m_df_type = DF_Type::int32_t; + n_unk_310->m_rdf_type = RDF_Type::int32_t; + n_unk_310->m_node_type = NodeType::Simple; + n_unk_310->m_address = base + offset; + n_unk_310->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_310); + + field_name = "unk_314"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); + auto n_unk_314 = new NodeSimple; + n_unk_314->m_field_name = field_name; + n_unk_314->m_df_type = DF_Type::int32_t; + n_unk_314->m_rdf_type = RDF_Type::int32_t; + n_unk_314->m_node_type = NodeType::Simple; + n_unk_314->m_address = base + offset; + n_unk_314->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_314); + + field_name = "unk_318"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); + auto n_unk_318 = new NodeSimple; + n_unk_318->m_field_name = field_name; + n_unk_318->m_df_type = DF_Type::int32_t; + n_unk_318->m_rdf_type = RDF_Type::int32_t; + n_unk_318->m_node_type = NodeType::Simple; + n_unk_318->m_address = base + offset; + n_unk_318->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_318); + + field_name = "unk_31c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); + auto n_unk_31c = new NodeSimple; + n_unk_31c->m_field_name = field_name; + n_unk_31c->m_df_type = DF_Type::int32_t; + n_unk_31c->m_rdf_type = RDF_Type::int32_t; + n_unk_31c->m_node_type = NodeType::Simple; + n_unk_31c->m_address = base + offset; + n_unk_31c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_31c); + + field_name = "unk_320"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); + auto n_unk_320 = new NodeSimple; + n_unk_320->m_field_name = field_name; + n_unk_320->m_df_type = DF_Type::int32_t; + n_unk_320->m_rdf_type = RDF_Type::int32_t; + n_unk_320->m_node_type = NodeType::Simple; + n_unk_320->m_address = base + offset; + n_unk_320->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_320); + + field_name = "unk_324"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); + auto n_unk_324 = new NodeSimple; + n_unk_324->m_field_name = field_name; + n_unk_324->m_df_type = DF_Type::int32_t; + n_unk_324->m_rdf_type = RDF_Type::int32_t; + n_unk_324->m_node_type = NodeType::Simple; + n_unk_324->m_address = base + offset; + n_unk_324->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_324); + + field_name = "unk_328"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); + auto n_unk_328 = new NodeSimple; + n_unk_328->m_field_name = field_name; + n_unk_328->m_df_type = DF_Type::int32_t; + n_unk_328->m_rdf_type = RDF_Type::int32_t; + n_unk_328->m_node_type = NodeType::Simple; + n_unk_328->m_address = base + offset; + n_unk_328->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_328); + + field_name = "unk_32c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); + auto n_unk_32c = new NodeSimple; + n_unk_32c->m_field_name = field_name; + n_unk_32c->m_df_type = DF_Type::int32_t; + n_unk_32c->m_rdf_type = RDF_Type::int32_t; + n_unk_32c->m_node_type = NodeType::Simple; + n_unk_32c->m_address = base + offset; + n_unk_32c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_32c); + + field_name = "center_x_tile"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); + auto n_center_x_tile = new NodeSimple; + n_center_x_tile->m_field_name = field_name; + n_center_x_tile->m_df_type = DF_Type::int32_t; + n_center_x_tile->m_rdf_type = RDF_Type::int32_t; + n_center_x_tile->m_node_type = NodeType::Simple; + n_center_x_tile->m_address = base + offset; + n_center_x_tile->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_center_x_tile); + + field_name = "center_y_tile"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); + auto n_center_y_tile = new NodeSimple; + n_center_y_tile->m_field_name = field_name; + n_center_y_tile->m_df_type = DF_Type::int32_t; + n_center_y_tile->m_rdf_type = RDF_Type::int32_t; + n_center_y_tile->m_node_type = NodeType::Simple; + n_center_y_tile->m_address = base + offset; + n_center_y_tile->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_center_y_tile); + + field_name = "up"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); + auto n_up = new NodePointer; + n_up->m_field_name = field_name; + n_up->m_df_type = get_real_subtype(base+offset, DF_Type::site_realization_crossroads); + n_up->m_rdf_type = RDF_Type::Pointer; + n_up->m_node_type = NodeType::Pointer; + n_up->m_addornements = "*"; + n_up->m_address = base + offset; + n_up->m_parent = p_node_parent; + n_up->m_defined_in = "df.world-site.xml"; + n_up->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_up); + + field_name = "down"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); + auto n_down = new NodePointer; + n_down->m_field_name = field_name; + n_down->m_df_type = get_real_subtype(base+offset, DF_Type::site_realization_crossroads); + n_down->m_rdf_type = RDF_Type::Pointer; + n_down->m_node_type = NodeType::Pointer; + n_down->m_addornements = "*"; + n_down->m_address = base + offset; + n_down->m_parent = p_node_parent; + n_down->m_defined_in = "df.world-site.xml"; + n_down->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_down); + + field_name = "right"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); + auto n_right = new NodePointer; + n_right->m_field_name = field_name; + n_right->m_df_type = get_real_subtype(base+offset, DF_Type::site_realization_crossroads); + n_right->m_rdf_type = RDF_Type::Pointer; + n_right->m_node_type = NodeType::Pointer; + n_right->m_addornements = "*"; + n_right->m_address = base + offset; + n_right->m_parent = p_node_parent; + n_right->m_defined_in = "df.world-site.xml"; + n_right->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_right); + + field_name = "left"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); + auto n_left = new NodePointer; + n_left->m_field_name = field_name; + n_left->m_df_type = get_real_subtype(base+offset, DF_Type::site_realization_crossroads); + n_left->m_rdf_type = RDF_Type::Pointer; + n_left->m_node_type = NodeType::Pointer; + n_left->m_addornements = "*"; + n_left->m_address = base + offset; + n_left->m_parent = p_node_parent; + n_left->m_defined_in = "df.world-site.xml"; + n_left->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_left); + + field_name = "unk_348"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); + auto n_unk_348 = new NodeSimple; + n_unk_348->m_field_name = field_name; + n_unk_348->m_df_type = DF_Type::int8_t; + n_unk_348->m_rdf_type = RDF_Type::int8_t; + n_unk_348->m_node_type = NodeType::Simple; + n_unk_348->m_address = base + offset; + n_unk_348->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_348); + + field_name = "unk_349"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); + auto n_unk_349 = new NodeSimple; + n_unk_349->m_field_name = field_name; + n_unk_349->m_df_type = DF_Type::int8_t; + n_unk_349->m_rdf_type = RDF_Type::int8_t; + n_unk_349->m_node_type = NodeType::Simple; + n_unk_349->m_address = base + offset; + n_unk_349->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_349); + + field_name = "unk_34c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); + auto n_unk_34c = new NodeSimple; + n_unk_34c->m_field_name = field_name; + n_unk_34c->m_df_type = DF_Type::int32_t; + n_unk_34c->m_rdf_type = RDF_Type::int32_t; + n_unk_34c->m_node_type = NodeType::Simple; + n_unk_34c->m_address = base + offset; + n_unk_34c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_34c); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int8_t; + n_anon_1->m_rdf_type = RDF_Type::int8_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int8_t; + n_anon_2->m_rdf_type = RDF_Type::int8_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int8_t; + n_anon_3->m_rdf_type = RDF_Type::int8_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int8_t; + n_anon_4->m_rdf_type = RDF_Type::int8_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int8_t; + n_anon_5->m_rdf_type = RDF_Type::int8_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int8_t; + n_anon_6->m_rdf_type = RDF_Type::int8_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "unk_356"; + auto n_unk_356 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_crossroads, field_name)); + n_unk_356->m_field_name = field_name; + n_unk_356->m_df_type = DF_Type::coord; + n_unk_356->m_rdf_type = RDF_Type::Array; + n_unk_356->m_node_type = NodeType::Array; + n_unk_356->m_defined_in = "df.map.xml"; + n_unk_356->m_addornements = "[32"; + n_unk_356->m_array_size = 32; + n_unk_356->m_address = base + offset; + n_unk_356->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_356); + +} +void node_from_site_building_item(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "race"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_building_item, field_name)); + auto n_race = new NodeSimple; + n_race->m_field_name = field_name; + n_race->m_df_type = DF_Type::int32_t; + n_race->m_rdf_type = RDF_Type::int32_t; + n_race->m_node_type = NodeType::Simple; + n_race->m_address = base + offset; + n_race->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_race); + + field_name = "item_type"; + auto n_item_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_building_item, field_name)); + n_item_type->m_field_name = field_name; + n_item_type->m_df_type = DF_Type::item_type; + n_item_type->m_rdf_type = RDF_Type::Enum; + n_item_type->m_node_type = NodeType::Enum; + n_item_type->m_base_type = DF_Type::int16_t; + n_item_type->m_enum_type = "item_type"; + n_item_type->m_address = base + offset; + n_item_type->m_defined_in = "df.item-raws.xml"; + n_item_type->m_first_value = -1; + n_item_type->m_last_value = 90; + n_item_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_type); + + field_name = "item_subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_building_item, field_name)); + auto n_item_subtype = new NodeSimple; + n_item_subtype->m_field_name = field_name; + n_item_subtype->m_df_type = DF_Type::int16_t; + n_item_subtype->m_rdf_type = RDF_Type::int16_t; + n_item_subtype->m_node_type = NodeType::Simple; + n_item_subtype->m_address = base + offset; + n_item_subtype->m_refers_to = "(item-subtype-target $$._parent.item_type $)"; + n_item_subtype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_subtype); + + field_name = "mat_type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_building_item, field_name)); + auto n_mat_type = new NodeSimple; + n_mat_type->m_field_name = field_name; + n_mat_type->m_df_type = DF_Type::int16_t; + n_mat_type->m_rdf_type = RDF_Type::int16_t; + n_mat_type->m_node_type = NodeType::Simple; + n_mat_type->m_address = base + offset; + n_mat_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_type); + + field_name = "mat_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_building_item, field_name)); + auto n_mat_index = new NodeSimple; + n_mat_index->m_field_name = field_name; + n_mat_index->m_df_type = DF_Type::int32_t; + n_mat_index->m_rdf_type = RDF_Type::int32_t; + n_mat_index->m_node_type = NodeType::Simple; + n_mat_index->m_address = base + offset; + n_mat_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mat_index); + +} +void node_from_abstract_building_mead_hallst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::abstract_building; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_abstract_building(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "name"; + auto n_name = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_mead_hallst, field_name)); + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::language_name; + n_name->m_rdf_type = RDF_Type::Struct; + n_name->m_node_type = NodeType::Compound; + n_name->m_address = base + offset; + n_name->m_defined_in = "df.language.xml"; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "item1"; + auto n_item1 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_mead_hallst, field_name)); + n_item1->m_field_name = field_name; + n_item1->m_df_type = DF_Type::site_building_item; + n_item1->m_rdf_type = RDF_Type::Struct; + n_item1->m_node_type = NodeType::Compound; + n_item1->m_address = base + offset; + n_item1->m_defined_in = "df.world-site.xml"; + n_item1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item1); + + field_name = "item2"; + auto n_item2 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::abstract_building_mead_hallst, field_name)); + n_item2->m_field_name = field_name; + n_item2->m_df_type = DF_Type::site_building_item; + n_item2->m_rdf_type = RDF_Type::Struct; + n_item2->m_node_type = NodeType::Compound; + n_item2->m_address = base + offset; + n_item2->m_defined_in = "df.world-site.xml"; + n_item2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item2); + +} +void node_from_site_realization_building__T_unk_4c(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk_0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building__T_unk_4c, field_name)); + auto n_unk_0 = new NodeSimple; + n_unk_0->m_field_name = field_name; + n_unk_0->m_df_type = DF_Type::int32_t; + n_unk_0->m_rdf_type = RDF_Type::int32_t; + n_unk_0->m_node_type = NodeType::Simple; + n_unk_0->m_address = base + offset; + n_unk_0->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_0); + + field_name = "unk_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building__T_unk_4c, field_name)); + auto n_unk_4 = new NodeSimple; + n_unk_4->m_field_name = field_name; + n_unk_4->m_df_type = DF_Type::int32_t; + n_unk_4->m_rdf_type = RDF_Type::int32_t; + n_unk_4->m_node_type = NodeType::Simple; + n_unk_4->m_address = base + offset; + n_unk_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_4); + + field_name = "owner"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building__T_unk_4c, field_name)); + auto n_owner = new NodeSimple; + n_owner->m_field_name = field_name; + n_owner->m_df_type = DF_Type::int32_t; + n_owner->m_rdf_type = RDF_Type::int32_t; + n_owner->m_node_type = NodeType::Simple; + n_owner->m_address = base + offset; + n_owner->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_owner); + + field_name = "unk_c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building__T_unk_4c, field_name)); + auto n_unk_c = new NodeSimple; + n_unk_c->m_field_name = field_name; + n_unk_c->m_df_type = DF_Type::int32_t; + n_unk_c->m_rdf_type = RDF_Type::int32_t; + n_unk_c->m_node_type = NodeType::Simple; + n_unk_c->m_address = base + offset; + n_unk_c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_c); + + field_name = "unk_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building__T_unk_4c, field_name)); + auto n_unk_10 = new NodeSimple; + n_unk_10->m_field_name = field_name; + n_unk_10->m_df_type = DF_Type::int32_t; + n_unk_10->m_rdf_type = RDF_Type::int32_t; + n_unk_10->m_node_type = NodeType::Simple; + n_unk_10->m_address = base + offset; + n_unk_10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_10); + + field_name = "unk_14"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building__T_unk_4c, field_name)); + auto n_unk_14 = new NodeSimple; + n_unk_14->m_field_name = field_name; + n_unk_14->m_df_type = DF_Type::int32_t; + n_unk_14->m_rdf_type = RDF_Type::int32_t; + n_unk_14->m_node_type = NodeType::Simple; + n_unk_14->m_address = base + offset; + n_unk_14->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_14); + +} +void node_from_site_realization_building(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "type"; + auto n_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building, field_name)); + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::site_realization_building_type; + n_type->m_rdf_type = RDF_Type::Enum; + n_type->m_node_type = NodeType::Enum; + n_type->m_base_type = enum_base_type(n_type->m_df_type); + n_type->m_enum_type = "site_realization_building_type"; + n_type->m_address = base + offset; + n_type->m_defined_in = "df.world-site.xml"; + n_type->m_first_value = 0; + n_type->m_last_value = 22; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + + field_name = "min_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building, field_name)); + auto n_min_x = new NodeSimple; + n_min_x->m_field_name = field_name; + n_min_x->m_df_type = DF_Type::int32_t; + n_min_x->m_rdf_type = RDF_Type::int32_t; + n_min_x->m_node_type = NodeType::Simple; + n_min_x->m_address = base + offset; + n_min_x->m_comment = "in tiles relative to site"; + n_min_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_min_x); + + field_name = "min_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building, field_name)); + auto n_min_y = new NodeSimple; + n_min_y->m_field_name = field_name; + n_min_y->m_df_type = DF_Type::int32_t; + n_min_y->m_rdf_type = RDF_Type::int32_t; + n_min_y->m_node_type = NodeType::Simple; + n_min_y->m_address = base + offset; + n_min_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_min_y); + + field_name = "max_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building, field_name)); + auto n_max_x = new NodeSimple; + n_max_x->m_field_name = field_name; + n_max_x->m_df_type = DF_Type::int32_t; + n_max_x->m_rdf_type = RDF_Type::int32_t; + n_max_x->m_node_type = NodeType::Simple; + n_max_x->m_address = base + offset; + n_max_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_max_x); + + field_name = "max_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building, field_name)); + auto n_max_y = new NodeSimple; + n_max_y->m_field_name = field_name; + n_max_y->m_df_type = DF_Type::int32_t; + n_max_y->m_rdf_type = RDF_Type::int32_t; + n_max_y->m_node_type = NodeType::Simple; + n_max_y->m_address = base + offset; + n_max_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_max_y); + + field_name = "unk_18"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building, field_name)); + auto n_unk_18 = new NodeSimple; + n_unk_18->m_field_name = field_name; + n_unk_18->m_df_type = DF_Type::int32_t; + n_unk_18->m_rdf_type = RDF_Type::int32_t; + n_unk_18->m_node_type = NodeType::Simple; + n_unk_18->m_address = base + offset; + n_unk_18->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_18); + + field_name = "inhabitants"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building, field_name)); + auto n_inhabitants = new NodeVector; + n_inhabitants->m_field_name = field_name; + n_inhabitants->m_df_type = DF_Type::world_site_inhabitant; + n_inhabitants->m_rdf_type = RDF_Type::Vector; + n_inhabitants->m_node_type = NodeType::Vector; + n_inhabitants->m_defined_in = "df.world-site.xml"; + n_inhabitants->m_addornements = "v*"; + n_inhabitants->m_address = base + offset; + n_inhabitants->m_parent = p_node_parent; + n_inhabitants->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_inhabitants); + + field_name = "unk_2c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building, field_name)); + auto n_unk_2c = new NodeSimple; + n_unk_2c->m_field_name = field_name; + n_unk_2c->m_df_type = DF_Type::int32_t; + n_unk_2c->m_rdf_type = RDF_Type::int32_t; + n_unk_2c->m_node_type = NodeType::Simple; + n_unk_2c->m_address = base + offset; + n_unk_2c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_2c); + + field_name = "item"; + auto n_item = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building, field_name)); + n_item->m_field_name = field_name; + n_item->m_df_type = DF_Type::site_building_item; + n_item->m_rdf_type = RDF_Type::Struct; + n_item->m_node_type = NodeType::Compound; + n_item->m_address = base + offset; + n_item->m_defined_in = "df.world-site.xml"; + n_item->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item); + + field_name = "abstract_building_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building, field_name)); + auto n_abstract_building_id = new NodeSimple; + n_abstract_building_id->m_field_name = field_name; + n_abstract_building_id->m_df_type = DF_Type::int32_t; + n_abstract_building_id->m_rdf_type = RDF_Type::int32_t; + n_abstract_building_id->m_node_type = NodeType::Simple; + n_abstract_building_id->m_address = base + offset; + n_abstract_building_id->m_comment = "used for temple and mead hall"; + n_abstract_building_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_abstract_building_id); + + field_name = "unk_44"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building, field_name)); + auto n_unk_44 = new NodeSimple; + n_unk_44->m_field_name = field_name; + n_unk_44->m_df_type = DF_Type::int32_t; + n_unk_44->m_rdf_type = RDF_Type::int32_t; + n_unk_44->m_node_type = NodeType::Simple; + n_unk_44->m_address = base + offset; + n_unk_44->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_44); + + field_name = "building_info"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building, field_name)); + auto n_building_info = new NodePointer; + n_building_info->m_field_name = field_name; + n_building_info->m_df_type = get_real_subtype(base+offset, DF_Type::site_realization_building_infost); + n_building_info->m_rdf_type = RDF_Type::Pointer; + n_building_info->m_node_type = NodeType::Pointer; + n_building_info->m_addornements = "*"; + n_building_info->m_address = base + offset; + n_building_info->m_parent = p_node_parent; + n_building_info->m_defined_in = "df.world-site.xml"; + n_building_info->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_building_info); + + field_name = "unk_4c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building, field_name)); + auto n_unk_4c = new NodeVector; + n_unk_4c->m_field_name = field_name; + n_unk_4c->m_df_type = DF_Type::site_realization_building__T_unk_4c; + n_unk_4c->m_rdf_type = RDF_Type::Vector; + n_unk_4c->m_node_type = NodeType::Vector; + n_unk_4c->m_addornements = "v*"; + n_unk_4c->m_address = base + offset; + n_unk_4c->m_parent = p_node_parent; + n_unk_4c->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_4c); + + field_name = "unk_5c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building, field_name)); + auto n_unk_5c = new NodeSimple; + n_unk_5c->m_field_name = field_name; + n_unk_5c->m_df_type = DF_Type::int32_t; + n_unk_5c->m_rdf_type = RDF_Type::int32_t; + n_unk_5c->m_node_type = NodeType::Simple; + n_unk_5c->m_address = base + offset; + n_unk_5c->m_comment = "bit 0x01 == abandoned"; + n_unk_5c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_5c); + + field_name = "unk_60"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building, field_name)); + auto n_unk_60 = new NodeVector; + n_unk_60->m_field_name = field_name; + n_unk_60->m_df_type = DF_Type::Void; + n_unk_60->m_rdf_type = RDF_Type::Vector; + n_unk_60->m_node_type = NodeType::Vector; + n_unk_60->m_addornements = "v"; + n_unk_60->m_address = base + offset; + n_unk_60->m_parent = p_node_parent; + n_unk_60->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_60); + + field_name = "unk_v40_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building, field_name)); + auto n_unk_v40_1 = new NodeSimple; + n_unk_v40_1->m_field_name = field_name; + n_unk_v40_1->m_df_type = DF_Type::int32_t; + n_unk_v40_1->m_rdf_type = RDF_Type::int32_t; + n_unk_v40_1->m_node_type = NodeType::Simple; + n_unk_v40_1->m_address = base + offset; + n_unk_v40_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_1); + +} +void node_from_world_site_realization__T_river_map(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "start"; + auto n_start = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_river_map, field_name)); + n_start->m_field_name = field_name; + n_start->m_df_type = DF_Type::int32_t; + n_start->m_rdf_type = RDF_Type::Array; + n_start->m_node_type = NodeType::Array; + n_start->m_addornements = "[48"; + n_start->m_array_size = 48; + n_start->m_address = base + offset; + n_start->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_start); + + field_name = "end"; + auto n_end = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_river_map, field_name)); + n_end->m_field_name = field_name; + n_end->m_df_type = DF_Type::int32_t; + n_end->m_rdf_type = RDF_Type::Array; + n_end->m_node_type = NodeType::Array; + n_end->m_addornements = "[48"; + n_end->m_array_size = 48; + n_end->m_address = base + offset; + n_end->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_end); + + field_name = "unk_180"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_river_map, field_name)); + auto n_unk_180 = new NodeSimple; + n_unk_180->m_field_name = field_name; + n_unk_180->m_df_type = DF_Type::int32_t; + n_unk_180->m_rdf_type = RDF_Type::int32_t; + n_unk_180->m_node_type = NodeType::Simple; + n_unk_180->m_address = base + offset; + n_unk_180->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_180); + + field_name = "unk_184"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_river_map, field_name)); + auto n_unk_184 = new NodeSimple; + n_unk_184->m_field_name = field_name; + n_unk_184->m_df_type = DF_Type::int32_t; + n_unk_184->m_rdf_type = RDF_Type::int32_t; + n_unk_184->m_node_type = NodeType::Simple; + n_unk_184->m_address = base + offset; + n_unk_184->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_184); + + field_name = "start_array_limits"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_river_map, field_name)); + auto n_start_array_limits = new NodeSimple; + n_start_array_limits->m_field_name = field_name; + n_start_array_limits->m_df_type = DF_Type::int32_t; + n_start_array_limits->m_rdf_type = RDF_Type::int32_t; + n_start_array_limits->m_node_type = NodeType::Simple; + n_start_array_limits->m_address = base + offset; + n_start_array_limits->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_start_array_limits); + + field_name = "end_array_limits"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_river_map, field_name)); + auto n_end_array_limits = new NodeSimple; + n_end_array_limits->m_field_name = field_name; + n_end_array_limits->m_df_type = DF_Type::int32_t; + n_end_array_limits->m_rdf_type = RDF_Type::int32_t; + n_end_array_limits->m_node_type = NodeType::Simple; + n_end_array_limits->m_address = base + offset; + n_end_array_limits->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_end_array_limits); + +} +void node_from_world_site_realization__T_unk_55e8__T_unk_v40_2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk_0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8__T_unk_v40_2, field_name)); + auto n_unk_0 = new NodeSimple; + n_unk_0->m_field_name = field_name; + n_unk_0->m_df_type = DF_Type::int32_t; + n_unk_0->m_rdf_type = RDF_Type::int32_t; + n_unk_0->m_node_type = NodeType::Simple; + n_unk_0->m_address = base + offset; + n_unk_0->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_0); + + field_name = "unk_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8__T_unk_v40_2, field_name)); + auto n_unk_4 = new NodeSimple; + n_unk_4->m_field_name = field_name; + n_unk_4->m_df_type = DF_Type::int32_t; + n_unk_4->m_rdf_type = RDF_Type::int32_t; + n_unk_4->m_node_type = NodeType::Simple; + n_unk_4->m_address = base + offset; + n_unk_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_4); + + field_name = "unk_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8__T_unk_v40_2, field_name)); + auto n_unk_8 = new NodeSimple; + n_unk_8->m_field_name = field_name; + n_unk_8->m_df_type = DF_Type::int16_t; + n_unk_8->m_rdf_type = RDF_Type::int16_t; + n_unk_8->m_node_type = NodeType::Simple; + n_unk_8->m_address = base + offset; + n_unk_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_8); + + field_name = "unk_a"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8__T_unk_v40_2, field_name)); + auto n_unk_a = new NodeSimple; + n_unk_a->m_field_name = field_name; + n_unk_a->m_df_type = DF_Type::int16_t; + n_unk_a->m_rdf_type = RDF_Type::int16_t; + n_unk_a->m_node_type = NodeType::Simple; + n_unk_a->m_address = base + offset; + n_unk_a->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_a); + + field_name = "unk_c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8__T_unk_v40_2, field_name)); + auto n_unk_c = new NodeSimple; + n_unk_c->m_field_name = field_name; + n_unk_c->m_df_type = DF_Type::int32_t; + n_unk_c->m_rdf_type = RDF_Type::int32_t; + n_unk_c->m_node_type = NodeType::Simple; + n_unk_c->m_address = base + offset; + n_unk_c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_c); + + field_name = "unk_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8__T_unk_v40_2, field_name)); + auto n_unk_10 = new NodeSimple; + n_unk_10->m_field_name = field_name; + n_unk_10->m_df_type = DF_Type::int32_t; + n_unk_10->m_rdf_type = RDF_Type::int32_t; + n_unk_10->m_node_type = NodeType::Simple; + n_unk_10->m_address = base + offset; + n_unk_10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_10); + + field_name = "unk_14"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8__T_unk_v40_2, field_name)); + auto n_unk_14 = new NodeSimple; + n_unk_14->m_field_name = field_name; + n_unk_14->m_df_type = DF_Type::int16_t; + n_unk_14->m_rdf_type = RDF_Type::int16_t; + n_unk_14->m_node_type = NodeType::Simple; + n_unk_14->m_address = base + offset; + n_unk_14->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_14); + + field_name = "unk_16"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8__T_unk_v40_2, field_name)); + auto n_unk_16 = new NodeSimple; + n_unk_16->m_field_name = field_name; + n_unk_16->m_df_type = DF_Type::int16_t; + n_unk_16->m_rdf_type = RDF_Type::int16_t; + n_unk_16->m_node_type = NodeType::Simple; + n_unk_16->m_address = base + offset; + n_unk_16->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_16); + + field_name = "unk_18"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8__T_unk_v40_2, field_name)); + auto n_unk_18 = new NodeSimple; + n_unk_18->m_field_name = field_name; + n_unk_18->m_df_type = DF_Type::int32_t; + n_unk_18->m_rdf_type = RDF_Type::int32_t; + n_unk_18->m_node_type = NodeType::Simple; + n_unk_18->m_address = base + offset; + n_unk_18->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_18); + + field_name = "unk_1c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8__T_unk_v40_2, field_name)); + auto n_unk_1c = new NodeSimple; + n_unk_1c->m_field_name = field_name; + n_unk_1c->m_df_type = DF_Type::int32_t; + n_unk_1c->m_rdf_type = RDF_Type::int32_t; + n_unk_1c->m_node_type = NodeType::Simple; + n_unk_1c->m_address = base + offset; + n_unk_1c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_1c); + +} +void node_from_world_site_realization__T_unk_55e8(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk_55e8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8, field_name)); + auto n_unk_55e8 = new NodeSimple; + n_unk_55e8->m_field_name = field_name; + n_unk_55e8->m_df_type = DF_Type::int32_t; + n_unk_55e8->m_rdf_type = RDF_Type::int32_t; + n_unk_55e8->m_node_type = NodeType::Simple; + n_unk_55e8->m_address = base + offset; + n_unk_55e8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_55e8); + + field_name = "unk_55ec"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8, field_name)); + auto n_unk_55ec = new NodeSimple; + n_unk_55ec->m_field_name = field_name; + n_unk_55ec->m_df_type = DF_Type::int32_t; + n_unk_55ec->m_rdf_type = RDF_Type::int32_t; + n_unk_55ec->m_node_type = NodeType::Simple; + n_unk_55ec->m_address = base + offset; + n_unk_55ec->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_55ec); + + field_name = "unk_v40_1a"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8, field_name)); + auto n_unk_v40_1a = new NodeSimple; + n_unk_v40_1a->m_field_name = field_name; + n_unk_v40_1a->m_df_type = DF_Type::int32_t; + n_unk_v40_1a->m_rdf_type = RDF_Type::int32_t; + n_unk_v40_1a->m_node_type = NodeType::Simple; + n_unk_v40_1a->m_address = base + offset; + n_unk_v40_1a->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_1a); + + field_name = "unk_v40_1b"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8, field_name)); + auto n_unk_v40_1b = new NodeSimple; + n_unk_v40_1b->m_field_name = field_name; + n_unk_v40_1b->m_df_type = DF_Type::int32_t; + n_unk_v40_1b->m_rdf_type = RDF_Type::int32_t; + n_unk_v40_1b->m_node_type = NodeType::Simple; + n_unk_v40_1b->m_address = base + offset; + n_unk_v40_1b->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_1b); + + field_name = "unk_v40_1c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8, field_name)); + auto n_unk_v40_1c = new NodeSimple; + n_unk_v40_1c->m_field_name = field_name; + n_unk_v40_1c->m_df_type = DF_Type::int32_t; + n_unk_v40_1c->m_rdf_type = RDF_Type::int32_t; + n_unk_v40_1c->m_node_type = NodeType::Simple; + n_unk_v40_1c->m_address = base + offset; + n_unk_v40_1c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_1c); + + field_name = "unk_v40_1d"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8, field_name)); + auto n_unk_v40_1d = new NodeSimple; + n_unk_v40_1d->m_field_name = field_name; + n_unk_v40_1d->m_df_type = DF_Type::int32_t; + n_unk_v40_1d->m_rdf_type = RDF_Type::int32_t; + n_unk_v40_1d->m_node_type = NodeType::Simple; + n_unk_v40_1d->m_address = base + offset; + n_unk_v40_1d->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_1d); + + field_name = "unk_v40_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8, field_name)); + auto n_unk_v40_2 = new NodeVector; + n_unk_v40_2->m_field_name = field_name; + n_unk_v40_2->m_df_type = DF_Type::world_site_realization__T_unk_55e8__T_unk_v40_2; + n_unk_v40_2->m_rdf_type = RDF_Type::Vector; + n_unk_v40_2->m_node_type = NodeType::Vector; + n_unk_v40_2->m_addornements = "v*"; + n_unk_v40_2->m_address = base + offset; + n_unk_v40_2->m_parent = p_node_parent; + n_unk_v40_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_v40_2); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8, field_name)); + auto n_anon_1 = new NodeVector; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::Void; + n_anon_1->m_rdf_type = RDF_Type::Vector; + n_anon_1->m_node_type = NodeType::Vector; + n_anon_1->m_addornements = "v"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "unk_55f0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8, field_name)); + auto n_unk_55f0 = new NodeSimple; + n_unk_55f0->m_field_name = field_name; + n_unk_55f0->m_df_type = DF_Type::int32_t; + n_unk_55f0->m_rdf_type = RDF_Type::int32_t; + n_unk_55f0->m_node_type = NodeType::Simple; + n_unk_55f0->m_address = base + offset; + n_unk_55f0->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_55f0); + + field_name = "unk_55f4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8, field_name)); + auto n_unk_55f4 = new NodeSimple; + n_unk_55f4->m_field_name = field_name; + n_unk_55f4->m_df_type = DF_Type::int32_t; + n_unk_55f4->m_rdf_type = RDF_Type::int32_t; + n_unk_55f4->m_node_type = NodeType::Simple; + n_unk_55f4->m_address = base + offset; + n_unk_55f4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_55f4); + + field_name = "unk_55f8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8, field_name)); + auto n_unk_55f8 = new NodeSimple; + n_unk_55f8->m_field_name = field_name; + n_unk_55f8->m_df_type = DF_Type::int16_t; + n_unk_55f8->m_rdf_type = RDF_Type::int16_t; + n_unk_55f8->m_node_type = NodeType::Simple; + n_unk_55f8->m_address = base + offset; + n_unk_55f8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_55f8); + + field_name = "unk_55fa"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8, field_name)); + auto n_unk_55fa = new NodeSimple; + n_unk_55fa->m_field_name = field_name; + n_unk_55fa->m_df_type = DF_Type::int16_t; + n_unk_55fa->m_rdf_type = RDF_Type::int16_t; + n_unk_55fa->m_node_type = NodeType::Simple; + n_unk_55fa->m_address = base + offset; + n_unk_55fa->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_55fa); + + field_name = "unk_55fc"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8, field_name)); + auto n_unk_55fc = new NodeSimple; + n_unk_55fc->m_field_name = field_name; + n_unk_55fc->m_df_type = DF_Type::int32_t; + n_unk_55fc->m_rdf_type = RDF_Type::int32_t; + n_unk_55fc->m_node_type = NodeType::Simple; + n_unk_55fc->m_address = base + offset; + n_unk_55fc->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_55fc); + + field_name = "unk_5600"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8, field_name)); + auto n_unk_5600 = new NodeSimple; + n_unk_5600->m_field_name = field_name; + n_unk_5600->m_df_type = DF_Type::int32_t; + n_unk_5600->m_rdf_type = RDF_Type::int32_t; + n_unk_5600->m_node_type = NodeType::Simple; + n_unk_5600->m_address = base + offset; + n_unk_5600->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_5600); + + field_name = "unk_5604"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8, field_name)); + auto n_unk_5604 = new NodeSimple; + n_unk_5604->m_field_name = field_name; + n_unk_5604->m_df_type = DF_Type::int32_t; + n_unk_5604->m_rdf_type = RDF_Type::int32_t; + n_unk_5604->m_node_type = NodeType::Simple; + n_unk_5604->m_address = base + offset; + n_unk_5604->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_5604); + + field_name = "unk_5608"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8, field_name)); + auto n_unk_5608 = new NodeSimple; + n_unk_5608->m_field_name = field_name; + n_unk_5608->m_df_type = DF_Type::int32_t; + n_unk_5608->m_rdf_type = RDF_Type::int32_t; + n_unk_5608->m_node_type = NodeType::Simple; + n_unk_5608->m_address = base + offset; + n_unk_5608->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_5608); + + field_name = "unk_560c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8, field_name)); + auto n_unk_560c = new NodeSimple; + n_unk_560c->m_field_name = field_name; + n_unk_560c->m_df_type = DF_Type::int32_t; + n_unk_560c->m_rdf_type = RDF_Type::int32_t; + n_unk_560c->m_node_type = NodeType::Simple; + n_unk_560c->m_address = base + offset; + n_unk_560c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_560c); + + field_name = "unk_5610"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8, field_name)); + auto n_unk_5610 = new NodeSimple; + n_unk_5610->m_field_name = field_name; + n_unk_5610->m_df_type = DF_Type::int32_t; + n_unk_5610->m_rdf_type = RDF_Type::int32_t; + n_unk_5610->m_node_type = NodeType::Simple; + n_unk_5610->m_address = base + offset; + n_unk_5610->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_5610); + + field_name = "unk_5614"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8, field_name)); + auto n_unk_5614 = new NodeSimple; + n_unk_5614->m_field_name = field_name; + n_unk_5614->m_df_type = DF_Type::int32_t; + n_unk_5614->m_rdf_type = RDF_Type::int32_t; + n_unk_5614->m_node_type = NodeType::Simple; + n_unk_5614->m_address = base + offset; + n_unk_5614->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_5614); + + field_name = "unk_5618"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8, field_name)); + auto n_unk_5618 = new NodeVector; + n_unk_5618->m_field_name = field_name; + n_unk_5618->m_df_type = DF_Type::Void; + n_unk_5618->m_rdf_type = RDF_Type::Vector; + n_unk_5618->m_node_type = NodeType::Vector; + n_unk_5618->m_addornements = "v"; + n_unk_5618->m_address = base + offset; + n_unk_5618->m_parent = p_node_parent; + n_unk_5618->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_5618); + + field_name = "unk_5628"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8, field_name)); + auto n_unk_5628 = new NodeSimple; + n_unk_5628->m_field_name = field_name; + n_unk_5628->m_df_type = DF_Type::int32_t; + n_unk_5628->m_rdf_type = RDF_Type::int32_t; + n_unk_5628->m_node_type = NodeType::Simple; + n_unk_5628->m_address = base + offset; + n_unk_5628->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_5628); + + field_name = "unk_562c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8, field_name)); + auto n_unk_562c = new NodeSimple; + n_unk_562c->m_field_name = field_name; + n_unk_562c->m_df_type = DF_Type::int32_t; + n_unk_562c->m_rdf_type = RDF_Type::int32_t; + n_unk_562c->m_node_type = NodeType::Simple; + n_unk_562c->m_address = base + offset; + n_unk_562c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_562c); + + field_name = "unk_5630"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8, field_name)); + auto n_unk_5630 = new NodeSimple; + n_unk_5630->m_field_name = field_name; + n_unk_5630->m_df_type = DF_Type::int32_t; + n_unk_5630->m_rdf_type = RDF_Type::int32_t; + n_unk_5630->m_node_type = NodeType::Simple; + n_unk_5630->m_address = base + offset; + n_unk_5630->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_5630); + + field_name = "unk_5634"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8, field_name)); + auto n_unk_5634 = new NodeSimple; + n_unk_5634->m_field_name = field_name; + n_unk_5634->m_df_type = DF_Type::int32_t; + n_unk_5634->m_rdf_type = RDF_Type::int32_t; + n_unk_5634->m_node_type = NodeType::Simple; + n_unk_5634->m_address = base + offset; + n_unk_5634->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_5634); + + field_name = "unk_v40_3a"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8, field_name)); + auto n_unk_v40_3a = new NodeSimple; + n_unk_v40_3a->m_field_name = field_name; + n_unk_v40_3a->m_df_type = DF_Type::int32_t; + n_unk_v40_3a->m_rdf_type = RDF_Type::int32_t; + n_unk_v40_3a->m_node_type = NodeType::Simple; + n_unk_v40_3a->m_address = base + offset; + n_unk_v40_3a->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_3a); + + field_name = "unk_v40_3b"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8, field_name)); + auto n_unk_v40_3b = new NodeSimple; + n_unk_v40_3b->m_field_name = field_name; + n_unk_v40_3b->m_df_type = DF_Type::int32_t; + n_unk_v40_3b->m_rdf_type = RDF_Type::int32_t; + n_unk_v40_3b->m_node_type = NodeType::Simple; + n_unk_v40_3b->m_address = base + offset; + n_unk_v40_3b->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_3b); + + field_name = "unk_v40_3c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8, field_name)); + auto n_unk_v40_3c = new NodeSimple; + n_unk_v40_3c->m_field_name = field_name; + n_unk_v40_3c->m_df_type = DF_Type::int32_t; + n_unk_v40_3c->m_rdf_type = RDF_Type::int32_t; + n_unk_v40_3c->m_node_type = NodeType::Simple; + n_unk_v40_3c->m_address = base + offset; + n_unk_v40_3c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_3c); + + field_name = "unk_v40_3d"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_55e8, field_name)); + auto n_unk_v40_3d = new NodeSimple; + n_unk_v40_3d->m_field_name = field_name; + n_unk_v40_3d->m_df_type = DF_Type::int32_t; + n_unk_v40_3d->m_rdf_type = RDF_Type::int32_t; + n_unk_v40_3d->m_node_type = NodeType::Simple; + n_unk_v40_3d->m_address = base + offset; + n_unk_v40_3d->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_3d); + +} +void node_from_world_site_realization__T_building_map(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_building_map, field_name)); + auto n_unk0 = new NodeSimple; + n_unk0->m_field_name = field_name; + n_unk0->m_df_type = DF_Type::int32_t; + n_unk0->m_rdf_type = RDF_Type::int32_t; + n_unk0->m_node_type = NodeType::Simple; + n_unk0->m_address = base + offset; + n_unk0->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk0); + + field_name = "buildings"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_building_map, field_name)); + auto n_buildings = new NodeVector; + n_buildings->m_field_name = field_name; + n_buildings->m_df_type = DF_Type::site_realization_building; + n_buildings->m_rdf_type = RDF_Type::Vector; + n_buildings->m_node_type = NodeType::Vector; + n_buildings->m_defined_in = "df.world-site.xml"; + n_buildings->m_addornements = "v*"; + n_buildings->m_address = base + offset; + n_buildings->m_parent = p_node_parent; + n_buildings->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_buildings); + + field_name = "unk4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_building_map, field_name)); + auto n_unk4 = new NodeSimple; + n_unk4->m_field_name = field_name; + n_unk4->m_df_type = DF_Type::int32_t; + n_unk4->m_rdf_type = RDF_Type::int32_t; + n_unk4->m_node_type = NodeType::Simple; + n_unk4->m_address = base + offset; + n_unk4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk4); + + field_name = "unk5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_building_map, field_name)); + auto n_unk5 = new NodeSimple; + n_unk5->m_field_name = field_name; + n_unk5->m_df_type = DF_Type::uint32_t; + n_unk5->m_rdf_type = RDF_Type::uint32_t; + n_unk5->m_node_type = NodeType::Simple; + n_unk5->m_address = base + offset; + n_unk5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk5); + + field_name = "unk6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_building_map, field_name)); + auto n_unk6 = new NodeVector; + n_unk6->m_field_name = field_name; + n_unk6->m_df_type = DF_Type::int32_t; + n_unk6->m_rdf_type = RDF_Type::Vector; + n_unk6->m_node_type = NodeType::Vector; + n_unk6->m_addornements = "v"; + n_unk6->m_address = base + offset; + n_unk6->m_parent = p_node_parent; + n_unk6->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk6); + +} +void node_from_world_site_realization__T_areas(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "type"; + auto n_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_areas, field_name)); + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::world_site_realization__T_areas__T_type; + n_type->m_rdf_type = RDF_Type::Enum; + n_type->m_node_type = NodeType::Enum; + n_type->m_base_type = DF_Type::int32_t; + n_type->m_enum_type = "world_site_realization::T_areas::T_type"; + n_type->m_address = base + offset; + n_type->m_first_value = 0; + n_type->m_last_value = 8; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + + field_name = "index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_areas, field_name)); + auto n_index = new NodeSimple; + n_index->m_field_name = field_name; + n_index->m_df_type = DF_Type::int32_t; + n_index->m_rdf_type = RDF_Type::int32_t; + n_index->m_node_type = NodeType::Simple; + n_index->m_address = base + offset; + n_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_index); + + field_name = "unk_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_areas, field_name)); + auto n_unk_8 = new NodeSimple; + n_unk_8->m_field_name = field_name; + n_unk_8->m_df_type = DF_Type::int32_t; + n_unk_8->m_rdf_type = RDF_Type::int32_t; + n_unk_8->m_node_type = NodeType::Simple; + n_unk_8->m_address = base + offset; + n_unk_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_8); + + field_name = "min_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_areas, field_name)); + auto n_min_x = new NodeSimple; + n_min_x->m_field_name = field_name; + n_min_x->m_df_type = DF_Type::int32_t; + n_min_x->m_rdf_type = RDF_Type::int32_t; + n_min_x->m_node_type = NodeType::Simple; + n_min_x->m_address = base + offset; + n_min_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_min_x); + + field_name = "max_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_areas, field_name)); + auto n_max_x = new NodeSimple; + n_max_x->m_field_name = field_name; + n_max_x->m_df_type = DF_Type::int32_t; + n_max_x->m_rdf_type = RDF_Type::int32_t; + n_max_x->m_node_type = NodeType::Simple; + n_max_x->m_address = base + offset; + n_max_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_max_x); + + field_name = "min_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_areas, field_name)); + auto n_min_y = new NodeSimple; + n_min_y->m_field_name = field_name; + n_min_y->m_df_type = DF_Type::int32_t; + n_min_y->m_rdf_type = RDF_Type::int32_t; + n_min_y->m_node_type = NodeType::Simple; + n_min_y->m_address = base + offset; + n_min_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_min_y); + + field_name = "max_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_areas, field_name)); + auto n_max_y = new NodeSimple; + n_max_y->m_field_name = field_name; + n_max_y->m_df_type = DF_Type::int32_t; + n_max_y->m_rdf_type = RDF_Type::int32_t; + n_max_y->m_node_type = NodeType::Simple; + n_max_y->m_address = base + offset; + n_max_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_max_y); + + field_name = "unk_1c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_areas, field_name)); + auto n_unk_1c = new NodeSimple; + n_unk_1c->m_field_name = field_name; + n_unk_1c->m_df_type = DF_Type::int32_t; + n_unk_1c->m_rdf_type = RDF_Type::int32_t; + n_unk_1c->m_node_type = NodeType::Simple; + n_unk_1c->m_address = base + offset; + n_unk_1c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_1c); + + field_name = "unk_20"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_areas, field_name)); + auto n_unk_20 = new NodeSimple; + n_unk_20->m_field_name = field_name; + n_unk_20->m_df_type = DF_Type::int32_t; + n_unk_20->m_rdf_type = RDF_Type::int32_t; + n_unk_20->m_node_type = NodeType::Simple; + n_unk_20->m_address = base + offset; + n_unk_20->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_20); + +} +void node_from_world_site_realization__T_unk_193bc__T_unk_8(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_193bc__T_unk_8, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_193bc__T_unk_8, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_193bc__T_unk_8, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_193bc__T_unk_8, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_193bc__T_unk_8, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_193bc__T_unk_8, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_193bc__T_unk_8, field_name)); + auto n_anon_7 = new NodeSimple; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::int32_t; + n_anon_7->m_rdf_type = RDF_Type::int32_t; + n_anon_7->m_node_type = NodeType::Simple; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_7); + + field_name = "anon_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_193bc__T_unk_8, field_name)); + auto n_anon_8 = new NodeSimple; + n_anon_8->m_field_name = field_name; + n_anon_8->m_df_type = DF_Type::int32_t; + n_anon_8->m_rdf_type = RDF_Type::int32_t; + n_anon_8->m_node_type = NodeType::Simple; + n_anon_8->m_address = base + offset; + n_anon_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_8); + + field_name = "anon_9"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_193bc__T_unk_8, field_name)); + auto n_anon_9 = new NodeSimple; + n_anon_9->m_field_name = field_name; + n_anon_9->m_df_type = DF_Type::int32_t; + n_anon_9->m_rdf_type = RDF_Type::int32_t; + n_anon_9->m_node_type = NodeType::Simple; + n_anon_9->m_address = base + offset; + n_anon_9->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_9); + +} +void node_from_world_site_realization__T_unk_193bc(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_193bc, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_193bc, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "unk_8"; + auto n_unk_8 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_193bc, field_name)); + n_unk_8->m_field_name = field_name; + n_unk_8->m_df_type = DF_Type::world_site_realization__T_unk_193bc__T_unk_8; + n_unk_8->m_rdf_type = RDF_Type::Compound; + n_unk_8->m_node_type = NodeType::Compound; + n_unk_8->m_address = base + offset; + n_unk_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_8); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_193bc, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_193bc, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int16_t; + n_anon_4->m_rdf_type = RDF_Type::int16_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_193bc, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int16_t; + n_anon_5->m_rdf_type = RDF_Type::int16_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_193bc, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int16_t; + n_anon_6->m_rdf_type = RDF_Type::int16_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_193bc, field_name)); + auto n_anon_7 = new NodeSimple; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::int16_t; + n_anon_7->m_rdf_type = RDF_Type::int16_t; + n_anon_7->m_node_type = NodeType::Simple; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_7); + + field_name = "anon_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_193bc, field_name)); + auto n_anon_8 = new NodeSimple; + n_anon_8->m_field_name = field_name; + n_anon_8->m_df_type = DF_Type::int16_t; + n_anon_8->m_rdf_type = RDF_Type::int16_t; + n_anon_8->m_node_type = NodeType::Simple; + n_anon_8->m_address = base + offset; + n_anon_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_8); + + field_name = "anon_9"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_193bc, field_name)); + auto n_anon_9 = new NodeSimple; + n_anon_9->m_field_name = field_name; + n_anon_9->m_df_type = DF_Type::int16_t; + n_anon_9->m_rdf_type = RDF_Type::int16_t; + n_anon_9->m_node_type = NodeType::Simple; + n_anon_9->m_address = base + offset; + n_anon_9->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_9); + + field_name = "anon_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_193bc, field_name)); + auto n_anon_10 = new NodeSimple; + n_anon_10->m_field_name = field_name; + n_anon_10->m_df_type = DF_Type::int32_t; + n_anon_10->m_rdf_type = RDF_Type::int32_t; + n_anon_10->m_node_type = NodeType::Simple; + n_anon_10->m_address = base + offset; + n_anon_10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_10); + + field_name = "anon_11"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_193bc, field_name)); + auto n_anon_11 = new NodeSimple; + n_anon_11->m_field_name = field_name; + n_anon_11->m_df_type = DF_Type::int32_t; + n_anon_11->m_rdf_type = RDF_Type::int32_t; + n_anon_11->m_node_type = NodeType::Simple; + n_anon_11->m_address = base + offset; + n_anon_11->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_11); + + field_name = "anon_12"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_193bc, field_name)); + auto n_anon_12 = new NodeSimple; + n_anon_12->m_field_name = field_name; + n_anon_12->m_df_type = DF_Type::int32_t; + n_anon_12->m_rdf_type = RDF_Type::int32_t; + n_anon_12->m_node_type = NodeType::Simple; + n_anon_12->m_address = base + offset; + n_anon_12->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_12); + + field_name = "anon_13"; + auto n_anon_13 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_193bc, field_name)); + n_anon_13->m_field_name = field_name; + n_anon_13->m_df_type = DF_Type::int32_t; + n_anon_13->m_rdf_type = RDF_Type::Array; + n_anon_13->m_node_type = NodeType::Array; + n_anon_13->m_addornements = "[20"; + n_anon_13->m_array_size = 20; + n_anon_13->m_address = base + offset; + n_anon_13->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_13); + + field_name = "anon_14"; + auto n_anon_14 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_193bc, field_name)); + n_anon_14->m_field_name = field_name; + n_anon_14->m_df_type = DF_Type::int32_t; + n_anon_14->m_rdf_type = RDF_Type::Array; + n_anon_14->m_node_type = NodeType::Array; + n_anon_14->m_addornements = "[20"; + n_anon_14->m_array_size = 20; + n_anon_14->m_address = base + offset; + n_anon_14->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_14); + + field_name = "anon_15"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_193bc, field_name)); + auto n_anon_15 = new NodeSimple; + n_anon_15->m_field_name = field_name; + n_anon_15->m_df_type = DF_Type::int16_t; + n_anon_15->m_rdf_type = RDF_Type::int16_t; + n_anon_15->m_node_type = NodeType::Simple; + n_anon_15->m_address = base + offset; + n_anon_15->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_15); + + field_name = "anon_16"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_193bc, field_name)); + auto n_anon_16 = new NodeSimple; + n_anon_16->m_field_name = field_name; + n_anon_16->m_df_type = DF_Type::int16_t; + n_anon_16->m_rdf_type = RDF_Type::int16_t; + n_anon_16->m_node_type = NodeType::Simple; + n_anon_16->m_address = base + offset; + n_anon_16->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_16); + + field_name = "anon_17"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_193bc, field_name)); + auto n_anon_17 = new NodeSimple; + n_anon_17->m_field_name = field_name; + n_anon_17->m_df_type = DF_Type::int32_t; + n_anon_17->m_rdf_type = RDF_Type::int32_t; + n_anon_17->m_node_type = NodeType::Simple; + n_anon_17->m_address = base + offset; + n_anon_17->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_17); + + field_name = "anon_18"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization__T_unk_193bc, field_name)); + auto n_anon_18 = new NodeSimple; + n_anon_18->m_field_name = field_name; + n_anon_18->m_df_type = DF_Type::int32_t; + n_anon_18->m_rdf_type = RDF_Type::int32_t; + n_anon_18->m_node_type = NodeType::Simple; + n_anon_18->m_address = base + offset; + n_anon_18->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_18); + +} +void node_from_world_site_realization(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "buildings"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); + auto n_buildings = new NodeVector; + n_buildings->m_field_name = field_name; + n_buildings->m_df_type = DF_Type::site_realization_building; + n_buildings->m_rdf_type = RDF_Type::Vector; + n_buildings->m_node_type = NodeType::Vector; + n_buildings->m_defined_in = "df.world-site.xml"; + n_buildings->m_addornements = "v*"; + n_buildings->m_address = base + offset; + n_buildings->m_parent = p_node_parent; + n_buildings->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_buildings); + + field_name = "num_buildings"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); + auto n_num_buildings = new NodeSimple; + n_num_buildings->m_field_name = field_name; + n_num_buildings->m_df_type = DF_Type::int32_t; + n_num_buildings->m_rdf_type = RDF_Type::int32_t; + n_num_buildings->m_node_type = NodeType::Simple; + n_num_buildings->m_address = base + offset; + n_num_buildings->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_num_buildings); + + field_name = "unk_14"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); + auto n_unk_14 = new NodeSimple; + n_unk_14->m_field_name = field_name; + n_unk_14->m_df_type = DF_Type::int32_t; + n_unk_14->m_rdf_type = RDF_Type::int32_t; + n_unk_14->m_node_type = NodeType::Simple; + n_unk_14->m_address = base + offset; + n_unk_14->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_14); + + field_name = "num_areas"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); + auto n_num_areas = new NodeSimple; + n_num_areas->m_field_name = field_name; + n_num_areas->m_df_type = DF_Type::int32_t; + n_num_areas->m_rdf_type = RDF_Type::int32_t; + n_num_areas->m_node_type = NodeType::Simple; + n_num_areas->m_address = base + offset; + n_num_areas->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_num_areas); + + field_name = "mini_rivers"; + auto n_mini_rivers = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); + n_mini_rivers->m_field_name = field_name; + n_mini_rivers->m_df_type = DF_Type::int8_t; + n_mini_rivers->m_rdf_type = RDF_Type::Array; + n_mini_rivers->m_node_type = NodeType::Array; + n_mini_rivers->m_addornements = "[17[17"; + n_mini_rivers->m_array_size = 17; + n_mini_rivers->m_address = base + offset; + n_mini_rivers->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mini_rivers); + + field_name = "mini_tiles"; + auto n_mini_tiles = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); + n_mini_tiles->m_field_name = field_name; + n_mini_tiles->m_df_type = DF_Type::uint8_t; + n_mini_tiles->m_rdf_type = RDF_Type::Array; + n_mini_tiles->m_node_type = NodeType::Array; + n_mini_tiles->m_addornements = "[17[17"; + n_mini_tiles->m_array_size = 17; + n_mini_tiles->m_address = base + offset; + n_mini_tiles->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mini_tiles); + + field_name = "mini_colors"; + auto n_mini_colors = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); + n_mini_colors->m_field_name = field_name; + n_mini_colors->m_df_type = DF_Type::int16_t; + n_mini_colors->m_rdf_type = RDF_Type::Array; + n_mini_colors->m_node_type = NodeType::Array; + n_mini_colors->m_addornements = "[17[17"; + n_mini_colors->m_array_size = 17; + n_mini_colors->m_address = base + offset; + n_mini_colors->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mini_colors); + + field_name = "road_map"; + auto n_road_map = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); + n_road_map->m_field_name = field_name; + n_road_map->m_df_type = DF_Type::site_realization_crossroads; + n_road_map->m_rdf_type = RDF_Type::Array; + n_road_map->m_node_type = NodeType::Array; + n_road_map->m_defined_in = "df.world-site.xml"; + n_road_map->m_addornements = "[51[51"; + n_road_map->m_array_size = 51; + n_road_map->m_address = base + offset; + n_road_map->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_road_map); + + field_name = "river_map"; + auto n_river_map = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); + n_river_map->m_field_name = field_name; + n_river_map->m_df_type = DF_Type::world_site_realization__T_river_map; + n_river_map->m_rdf_type = RDF_Type::Array; + n_river_map->m_node_type = NodeType::Array; + n_river_map->m_addornements = "[51[51*"; + n_river_map->m_array_size = 51; + n_river_map->m_address = base + offset; + n_river_map->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_river_map); + + field_name = "unk_55e8"; + auto n_unk_55e8 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); + n_unk_55e8->m_field_name = field_name; + n_unk_55e8->m_df_type = DF_Type::world_site_realization__T_unk_55e8; + n_unk_55e8->m_rdf_type = RDF_Type::Array; + n_unk_55e8->m_node_type = NodeType::Array; + n_unk_55e8->m_addornements = "[17[17"; + n_unk_55e8->m_array_size = 17; + n_unk_55e8->m_address = base + offset; + n_unk_55e8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_55e8); + + field_name = "building_map"; + auto n_building_map = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); + n_building_map->m_field_name = field_name; + n_building_map->m_df_type = DF_Type::world_site_realization__T_building_map; + n_building_map->m_rdf_type = RDF_Type::Array; + n_building_map->m_node_type = NodeType::Array; + n_building_map->m_addornements = "[17[17"; + n_building_map->m_array_size = 17; + n_building_map->m_address = base + offset; + n_building_map->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_building_map); + + field_name = "flags_map"; + auto n_flags_map = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); + n_flags_map->m_field_name = field_name; + n_flags_map->m_df_type = DF_Type::uint32_t; + n_flags_map->m_rdf_type = RDF_Type::Array; + n_flags_map->m_node_type = NodeType::Array; + n_flags_map->m_addornements = "[51[51"; + n_flags_map->m_array_size = 51; + n_flags_map->m_address = base + offset; + n_flags_map->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags_map); + + field_name = "zoom_tiles"; + auto n_zoom_tiles = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); + n_zoom_tiles->m_field_name = field_name; + n_zoom_tiles->m_df_type = DF_Type::uint8_t; + n_zoom_tiles->m_rdf_type = RDF_Type::Array; + n_zoom_tiles->m_node_type = NodeType::Array; + n_zoom_tiles->m_addornements = "[51[51"; + n_zoom_tiles->m_array_size = 51; + n_zoom_tiles->m_address = base + offset; + n_zoom_tiles->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_zoom_tiles); + + field_name = "zoom_colors"; + auto n_zoom_colors = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); + n_zoom_colors->m_field_name = field_name; + n_zoom_colors->m_df_type = DF_Type::int16_t; + n_zoom_colors->m_rdf_type = RDF_Type::Array; + n_zoom_colors->m_node_type = NodeType::Array; + n_zoom_colors->m_addornements = "[51[51"; + n_zoom_colors->m_array_size = 51; + n_zoom_colors->m_address = base + offset; + n_zoom_colors->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_zoom_colors); + + field_name = "zoom_movemask"; + auto n_zoom_movemask = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); + n_zoom_movemask->m_field_name = field_name; + n_zoom_movemask->m_df_type = DF_Type::int8_t; + n_zoom_movemask->m_rdf_type = RDF_Type::Array; + n_zoom_movemask->m_node_type = NodeType::Array; + n_zoom_movemask->m_addornements = "[51[51"; + n_zoom_movemask->m_array_size = 51; + n_zoom_movemask->m_address = base + offset; + n_zoom_movemask->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_zoom_movemask); + + field_name = "area_map"; + auto n_area_map = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); + n_area_map->m_field_name = field_name; + n_area_map->m_df_type = DF_Type::int32_t; + n_area_map->m_rdf_type = RDF_Type::Array; + n_area_map->m_node_type = NodeType::Array; + n_area_map->m_addornements = "[52[52"; + n_area_map->m_array_size = 52; + n_area_map->m_address = base + offset; + n_area_map->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_area_map); + + field_name = "areas"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); + auto n_areas = new NodeVector; + n_areas->m_field_name = field_name; + n_areas->m_df_type = DF_Type::world_site_realization__T_areas; + n_areas->m_rdf_type = RDF_Type::Vector; + n_areas->m_node_type = NodeType::Vector; + n_areas->m_addornements = "v*"; + n_areas->m_address = base + offset; + n_areas->m_parent = p_node_parent; + n_areas->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_areas); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "army_controller_pos_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); + auto n_army_controller_pos_x = new NodeSimple; + n_army_controller_pos_x->m_field_name = field_name; + n_army_controller_pos_x->m_df_type = DF_Type::int32_t; + n_army_controller_pos_x->m_rdf_type = RDF_Type::int32_t; + n_army_controller_pos_x->m_node_type = NodeType::Simple; + n_army_controller_pos_x->m_address = base + offset; + n_army_controller_pos_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_army_controller_pos_x); + + field_name = "army_controller_pos_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); + auto n_army_controller_pos_y = new NodeSimple; + n_army_controller_pos_y->m_field_name = field_name; + n_army_controller_pos_y->m_df_type = DF_Type::int32_t; + n_army_controller_pos_y->m_rdf_type = RDF_Type::int32_t; + n_army_controller_pos_y->m_node_type = NodeType::Simple; + n_army_controller_pos_y->m_address = base + offset; + n_army_controller_pos_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_army_controller_pos_y); + + field_name = "unk_193bc"; + auto n_unk_193bc = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); + n_unk_193bc->m_field_name = field_name; + n_unk_193bc->m_df_type = DF_Type::world_site_realization__T_unk_193bc; + n_unk_193bc->m_rdf_type = RDF_Type::Array; + n_unk_193bc->m_node_type = NodeType::Array; + n_unk_193bc->m_addornements = "[500"; + n_unk_193bc->m_array_size = 500; + n_unk_193bc->m_address = base + offset; + n_unk_193bc->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_193bc); + + field_name = "num_unk_193bc"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); + auto n_num_unk_193bc = new NodeSimple; + n_num_unk_193bc->m_field_name = field_name; + n_num_unk_193bc->m_df_type = DF_Type::int32_t; + n_num_unk_193bc->m_rdf_type = RDF_Type::int32_t; + n_num_unk_193bc->m_node_type = NodeType::Simple; + n_num_unk_193bc->m_address = base + offset; + n_num_unk_193bc->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_num_unk_193bc); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "building_well"; + auto n_building_well = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); + n_building_well->m_field_name = field_name; + n_building_well->m_df_type = DF_Type::site_realization_building; + n_building_well->m_rdf_type = RDF_Type::Array; + n_building_well->m_node_type = NodeType::Array; + n_building_well->m_defined_in = "df.world-site.xml"; + n_building_well->m_addornements = "[20"; + n_building_well->m_array_size = 20; + n_building_well->m_address = base + offset; + n_building_well->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_building_well); + + field_name = "num_building_well"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); + auto n_num_building_well = new NodeSimple; + n_num_building_well->m_field_name = field_name; + n_num_building_well->m_df_type = DF_Type::int32_t; + n_num_building_well->m_rdf_type = RDF_Type::int32_t; + n_num_building_well->m_node_type = NodeType::Simple; + n_num_building_well->m_address = base + offset; + n_num_building_well->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_num_building_well); + + field_name = "building_temple"; + auto n_building_temple = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); + n_building_temple->m_field_name = field_name; + n_building_temple->m_df_type = DF_Type::site_realization_building; + n_building_temple->m_rdf_type = RDF_Type::Array; + n_building_temple->m_node_type = NodeType::Array; + n_building_temple->m_defined_in = "df.world-site.xml"; + n_building_temple->m_addornements = "[20"; + n_building_temple->m_array_size = 20; + n_building_temple->m_address = base + offset; + n_building_temple->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_building_temple); + + field_name = "num_building_temple"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); + auto n_num_building_temple = new NodeSimple; + n_num_building_temple->m_field_name = field_name; + n_num_building_temple->m_df_type = DF_Type::int32_t; + n_num_building_temple->m_rdf_type = RDF_Type::int32_t; + n_num_building_temple->m_node_type = NodeType::Simple; + n_num_building_temple->m_address = base + offset; + n_num_building_temple->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_num_building_temple); + + field_name = "building_type22"; + auto n_building_type22 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); + n_building_type22->m_field_name = field_name; + n_building_type22->m_df_type = DF_Type::site_realization_building; + n_building_type22->m_rdf_type = RDF_Type::Array; + n_building_type22->m_node_type = NodeType::Array; + n_building_type22->m_defined_in = "df.world-site.xml"; + n_building_type22->m_addornements = "[20"; + n_building_type22->m_array_size = 20; + n_building_type22->m_address = base + offset; + n_building_type22->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_building_type22); + + field_name = "num_building_type22"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); + auto n_num_building_type22 = new NodeSimple; + n_num_building_type22->m_field_name = field_name; + n_num_building_type22->m_df_type = DF_Type::int32_t; + n_num_building_type22->m_rdf_type = RDF_Type::int32_t; + n_num_building_type22->m_node_type = NodeType::Simple; + n_num_building_type22->m_address = base + offset; + n_num_building_type22->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_num_building_type22); + + field_name = "building_type21"; + auto n_building_type21 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); + n_building_type21->m_field_name = field_name; + n_building_type21->m_df_type = DF_Type::site_realization_building; + n_building_type21->m_rdf_type = RDF_Type::Array; + n_building_type21->m_node_type = NodeType::Array; + n_building_type21->m_defined_in = "df.world-site.xml"; + n_building_type21->m_addornements = "[20"; + n_building_type21->m_array_size = 20; + n_building_type21->m_address = base + offset; + n_building_type21->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_building_type21); + + field_name = "num_building_type21"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); + auto n_num_building_type21 = new NodeSimple; + n_num_building_type21->m_field_name = field_name; + n_num_building_type21->m_df_type = DF_Type::int32_t; + n_num_building_type21->m_rdf_type = RDF_Type::int32_t; + n_num_building_type21->m_node_type = NodeType::Simple; + n_num_building_type21->m_address = base + offset; + n_num_building_type21->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_num_building_type21); + + field_name = "unk_wsr_vector"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); + auto n_unk_wsr_vector = new NodeVector; + n_unk_wsr_vector->m_field_name = field_name; + n_unk_wsr_vector->m_df_type = DF_Type::Void; + n_unk_wsr_vector->m_rdf_type = RDF_Type::Vector; + n_unk_wsr_vector->m_node_type = NodeType::Vector; + n_unk_wsr_vector->m_addornements = "v"; + n_unk_wsr_vector->m_address = base + offset; + n_unk_wsr_vector->m_parent = p_node_parent; + n_unk_wsr_vector->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_wsr_vector); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); + auto n_anon_4= new NodePadding; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::Padding; + n_anon_4->m_rdf_type = RDF_Type::Padding; + n_anon_4->m_node_type = NodeType::Padding; + n_anon_4->m_address = base + offset; + n_anon_4->m_size = 68; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); + auto n_anon_7 = new NodeSimple; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::int32_t; + n_anon_7->m_rdf_type = RDF_Type::int32_t; + n_anon_7->m_node_type = NodeType::Simple; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_7); + + field_name = "anon_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_site_realization, field_name)); + auto n_anon_8 = new NodeSimple; + n_anon_8->m_field_name = field_name; + n_anon_8->m_df_type = DF_Type::int32_t; + n_anon_8->m_rdf_type = RDF_Type::int32_t; + n_anon_8->m_node_type = NodeType::Simple; + n_anon_8->m_address = base + offset; + n_anon_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_8); + +} +void node_from_site_realization_building_info_castle_wallst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::site_realization_building_infost; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_site_realization_building_infost(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "length"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_castle_wallst, field_name)); + auto n_length = new NodeSimple; + n_length->m_field_name = field_name; + n_length->m_df_type = DF_Type::int32_t; + n_length->m_rdf_type = RDF_Type::int32_t; + n_length->m_node_type = NodeType::Simple; + n_length->m_address = base + offset; + n_length->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_length); + + field_name = "door_pos"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_castle_wallst, field_name)); + auto n_door_pos = new NodeSimple; + n_door_pos->m_field_name = field_name; + n_door_pos->m_df_type = DF_Type::int32_t; + n_door_pos->m_rdf_type = RDF_Type::int32_t; + n_door_pos->m_node_type = NodeType::Simple; + n_door_pos->m_address = base + offset; + n_door_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_door_pos); + + field_name = "start_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_castle_wallst, field_name)); + auto n_start_x = new NodeSimple; + n_start_x->m_field_name = field_name; + n_start_x->m_df_type = DF_Type::int32_t; + n_start_x->m_rdf_type = RDF_Type::int32_t; + n_start_x->m_node_type = NodeType::Simple; + n_start_x->m_address = base + offset; + n_start_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_start_x); + + field_name = "start_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_castle_wallst, field_name)); + auto n_start_y = new NodeSimple; + n_start_y->m_field_name = field_name; + n_start_y->m_df_type = DF_Type::int32_t; + n_start_y->m_rdf_type = RDF_Type::int32_t; + n_start_y->m_node_type = NodeType::Simple; + n_start_y->m_address = base + offset; + n_start_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_start_y); + + field_name = "start_z"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_castle_wallst, field_name)); + auto n_start_z = new NodeSimple; + n_start_z->m_field_name = field_name; + n_start_z->m_df_type = DF_Type::int32_t; + n_start_z->m_rdf_type = RDF_Type::int32_t; + n_start_z->m_node_type = NodeType::Simple; + n_start_z->m_address = base + offset; + n_start_z->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_start_z); + + field_name = "end_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_castle_wallst, field_name)); + auto n_end_x = new NodeSimple; + n_end_x->m_field_name = field_name; + n_end_x->m_df_type = DF_Type::int32_t; + n_end_x->m_rdf_type = RDF_Type::int32_t; + n_end_x->m_node_type = NodeType::Simple; + n_end_x->m_address = base + offset; + n_end_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_end_x); + + field_name = "end_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_castle_wallst, field_name)); + auto n_end_y = new NodeSimple; + n_end_y->m_field_name = field_name; + n_end_y->m_df_type = DF_Type::int32_t; + n_end_y->m_rdf_type = RDF_Type::int32_t; + n_end_y->m_node_type = NodeType::Simple; + n_end_y->m_address = base + offset; + n_end_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_end_y); + + field_name = "end_z"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_castle_wallst, field_name)); + auto n_end_z = new NodeSimple; + n_end_z->m_field_name = field_name; + n_end_z->m_df_type = DF_Type::int32_t; + n_end_z->m_rdf_type = RDF_Type::int32_t; + n_end_z->m_node_type = NodeType::Simple; + n_end_z->m_address = base + offset; + n_end_z->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_end_z); + + field_name = "wall_item"; + auto n_wall_item = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_castle_wallst, field_name)); + n_wall_item->m_field_name = field_name; + n_wall_item->m_df_type = DF_Type::site_building_item; + n_wall_item->m_rdf_type = RDF_Type::Struct; + n_wall_item->m_node_type = NodeType::Compound; + n_wall_item->m_address = base + offset; + n_wall_item->m_defined_in = "df.world-site.xml"; + n_wall_item->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_wall_item); + + field_name = "door_item"; + auto n_door_item = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_castle_wallst, field_name)); + n_door_item->m_field_name = field_name; + n_door_item->m_df_type = DF_Type::site_building_item; + n_door_item->m_rdf_type = RDF_Type::Struct; + n_door_item->m_node_type = NodeType::Compound; + n_door_item->m_address = base + offset; + n_door_item->m_defined_in = "df.world-site.xml"; + n_door_item->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_door_item); + +} +void node_from_site_realization_building_info_castle_towerst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::site_realization_building_infost; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_site_realization_building_infost(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "roof_z"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_castle_towerst, field_name)); + auto n_roof_z = new NodeSimple; + n_roof_z->m_field_name = field_name; + n_roof_z->m_df_type = DF_Type::int32_t; + n_roof_z->m_rdf_type = RDF_Type::int32_t; + n_roof_z->m_node_type = NodeType::Simple; + n_roof_z->m_address = base + offset; + n_roof_z->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_roof_z); + + field_name = "base_z"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_castle_towerst, field_name)); + auto n_base_z = new NodeSimple; + n_base_z->m_field_name = field_name; + n_base_z->m_df_type = DF_Type::int32_t; + n_base_z->m_rdf_type = RDF_Type::int32_t; + n_base_z->m_node_type = NodeType::Simple; + n_base_z->m_address = base + offset; + n_base_z->m_comment = "can be below ground, but not above ground"; + n_base_z->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_base_z); + + field_name = "door_n_elevation"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_castle_towerst, field_name)); + auto n_door_n_elevation = new NodeSimple; + n_door_n_elevation->m_field_name = field_name; + n_door_n_elevation->m_df_type = DF_Type::int32_t; + n_door_n_elevation->m_rdf_type = RDF_Type::int32_t; + n_door_n_elevation->m_node_type = NodeType::Simple; + n_door_n_elevation->m_address = base + offset; + n_door_n_elevation->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_door_n_elevation); + + field_name = "door_s_elevation"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_castle_towerst, field_name)); + auto n_door_s_elevation = new NodeSimple; + n_door_s_elevation->m_field_name = field_name; + n_door_s_elevation->m_df_type = DF_Type::int32_t; + n_door_s_elevation->m_rdf_type = RDF_Type::int32_t; + n_door_s_elevation->m_node_type = NodeType::Simple; + n_door_s_elevation->m_address = base + offset; + n_door_s_elevation->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_door_s_elevation); + + field_name = "door_e_elevation"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_castle_towerst, field_name)); + auto n_door_e_elevation = new NodeSimple; + n_door_e_elevation->m_field_name = field_name; + n_door_e_elevation->m_df_type = DF_Type::int32_t; + n_door_e_elevation->m_rdf_type = RDF_Type::int32_t; + n_door_e_elevation->m_node_type = NodeType::Simple; + n_door_e_elevation->m_address = base + offset; + n_door_e_elevation->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_door_e_elevation); + + field_name = "door_w_elevation"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_castle_towerst, field_name)); + auto n_door_w_elevation = new NodeSimple; + n_door_w_elevation->m_field_name = field_name; + n_door_w_elevation->m_df_type = DF_Type::int32_t; + n_door_w_elevation->m_rdf_type = RDF_Type::int32_t; + n_door_w_elevation->m_node_type = NodeType::Simple; + n_door_w_elevation->m_address = base + offset; + n_door_w_elevation->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_door_w_elevation); + + field_name = "door_item"; + auto n_door_item = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_castle_towerst, field_name)); + n_door_item->m_field_name = field_name; + n_door_item->m_df_type = DF_Type::site_building_item; + n_door_item->m_rdf_type = RDF_Type::Struct; + n_door_item->m_node_type = NodeType::Compound; + n_door_item->m_address = base + offset; + n_door_item->m_defined_in = "df.world-site.xml"; + n_door_item->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_door_item); + + field_name = "wall_item"; + auto n_wall_item = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_castle_towerst, field_name)); + n_wall_item->m_field_name = field_name; + n_wall_item->m_df_type = DF_Type::site_building_item; + n_wall_item->m_rdf_type = RDF_Type::Struct; + n_wall_item->m_node_type = NodeType::Compound; + n_wall_item->m_address = base + offset; + n_wall_item->m_defined_in = "df.world-site.xml"; + n_wall_item->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_wall_item); + + field_name = "shape"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_castle_towerst, field_name)); + auto n_shape = new NodeBitfield; + n_shape->m_field_name = field_name; + n_shape->m_df_type = DF_Type::tower_shape; + n_shape->m_rdf_type = RDF_Type::Bitfield; + n_shape->m_node_type = NodeType::Bitfield; + n_shape->m_address = base + offset; + n_shape->m_defined_in = "df.world-site.xml"; + n_shape->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_shape); + + field_name = "unk_40"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_castle_towerst, field_name)); + auto n_unk_40 = new NodeSimple; + n_unk_40->m_field_name = field_name; + n_unk_40->m_df_type = DF_Type::int32_t; + n_unk_40->m_rdf_type = RDF_Type::int32_t; + n_unk_40->m_node_type = NodeType::Simple; + n_unk_40->m_address = base + offset; + n_unk_40->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_40); + + field_name = "unk_44"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_castle_towerst, field_name)); + auto n_unk_44 = new NodeSimple; + n_unk_44->m_field_name = field_name; + n_unk_44->m_df_type = DF_Type::int32_t; + n_unk_44->m_rdf_type = RDF_Type::int32_t; + n_unk_44->m_node_type = NodeType::Simple; + n_unk_44->m_address = base + offset; + n_unk_44->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_44); + +} +void node_from_site_realization_building_info_shop_housest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::site_realization_building_infost; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_site_realization_building_infost(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "type"; + auto n_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_shop_housest, field_name)); + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::site_shop_type; + n_type->m_rdf_type = RDF_Type::Enum; + n_type->m_node_type = NodeType::Enum; + n_type->m_base_type = DF_Type::int32_t; + n_type->m_enum_type = "site_shop_type"; + n_type->m_address = base + offset; + n_type->m_defined_in = "df.world-site.xml"; + n_type->m_first_value = 0; + n_type->m_last_value = 25; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + + field_name = "name"; + auto n_name = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_shop_housest, field_name)); + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::language_name; + n_name->m_rdf_type = RDF_Type::Struct; + n_name->m_node_type = NodeType::Compound; + n_name->m_address = base + offset; + n_name->m_defined_in = "df.language.xml"; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + +} +void node_from_site_realization_building_info_market_squarest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::site_realization_building_infost; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_site_realization_building_infost(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "type"; + auto n_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_market_squarest, field_name)); + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::site_shop_type; + n_type->m_rdf_type = RDF_Type::Enum; + n_type->m_node_type = NodeType::Enum; + n_type->m_base_type = DF_Type::int32_t; + n_type->m_enum_type = "site_shop_type"; + n_type->m_address = base + offset; + n_type->m_defined_in = "df.world-site.xml"; + n_type->m_first_value = 0; + n_type->m_last_value = 25; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + +} +void node_from_site_realization_building_info_trenchesst__T_spokes(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "mound_min"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_trenchesst__T_spokes, field_name)); + auto n_mound_min = new NodeSimple; + n_mound_min->m_field_name = field_name; + n_mound_min->m_df_type = DF_Type::int32_t; + n_mound_min->m_rdf_type = RDF_Type::int32_t; + n_mound_min->m_node_type = NodeType::Simple; + n_mound_min->m_address = base + offset; + n_mound_min->m_comment = "-30000 = nothing here"; + n_mound_min->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mound_min); + + field_name = "trench_min"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_trenchesst__T_spokes, field_name)); + auto n_trench_min = new NodeSimple; + n_trench_min->m_field_name = field_name; + n_trench_min->m_df_type = DF_Type::int32_t; + n_trench_min->m_rdf_type = RDF_Type::int32_t; + n_trench_min->m_node_type = NodeType::Simple; + n_trench_min->m_address = base + offset; + n_trench_min->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_trench_min); + + field_name = "trench_max"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_trenchesst__T_spokes, field_name)); + auto n_trench_max = new NodeSimple; + n_trench_max->m_field_name = field_name; + n_trench_max->m_df_type = DF_Type::int32_t; + n_trench_max->m_rdf_type = RDF_Type::int32_t; + n_trench_max->m_node_type = NodeType::Simple; + n_trench_max->m_address = base + offset; + n_trench_max->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_trench_max); + + field_name = "mound_max"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_trenchesst__T_spokes, field_name)); + auto n_mound_max = new NodeSimple; + n_mound_max->m_field_name = field_name; + n_mound_max->m_df_type = DF_Type::int32_t; + n_mound_max->m_rdf_type = RDF_Type::int32_t; + n_mound_max->m_node_type = NodeType::Simple; + n_mound_max->m_address = base + offset; + n_mound_max->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mound_max); + +} +void node_from_site_realization_building_info_trenchesst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::site_realization_building_infost; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_site_realization_building_infost(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_trenchesst, field_name)); + auto n_unk_4 = new NodeSimple; + n_unk_4->m_field_name = field_name; + n_unk_4->m_df_type = DF_Type::int32_t; + n_unk_4->m_rdf_type = RDF_Type::int32_t; + n_unk_4->m_node_type = NodeType::Simple; + n_unk_4->m_address = base + offset; + n_unk_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_4); + + field_name = "spokes"; + auto n_spokes = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_trenchesst, field_name)); + n_spokes->m_field_name = field_name; + n_spokes->m_df_type = DF_Type::site_realization_building_info_trenchesst__T_spokes; + n_spokes->m_rdf_type = RDF_Type::Array; + n_spokes->m_comment = "N, S, E, W"; + n_spokes->m_node_type = NodeType::Array; + n_spokes->m_addornements = "[4"; + n_spokes->m_array_size = 4; + n_spokes->m_address = base + offset; + n_spokes->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_spokes); + +} +void node_from_site_realization_building_info_tree_housest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::site_realization_building_infost; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_site_realization_building_infost(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "type"; + auto n_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_tree_housest, field_name)); + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::tree_house_type; + n_type->m_rdf_type = RDF_Type::Enum; + n_type->m_node_type = NodeType::Enum; + n_type->m_base_type = DF_Type::int32_t; + n_type->m_enum_type = "tree_house_type"; + n_type->m_address = base + offset; + n_type->m_defined_in = "df.world-site.xml"; + n_type->m_first_value = 0; + n_type->m_last_value = 5; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + + field_name = "unk_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_tree_housest, field_name)); + auto n_unk_8 = new NodeSimple; + n_unk_8->m_field_name = field_name; + n_unk_8->m_df_type = DF_Type::int32_t; + n_unk_8->m_rdf_type = RDF_Type::int32_t; + n_unk_8->m_node_type = NodeType::Simple; + n_unk_8->m_address = base + offset; + n_unk_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_8); + + field_name = "name"; + auto n_name = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_tree_housest, field_name)); + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::language_name; + n_name->m_rdf_type = RDF_Type::Struct; + n_name->m_node_type = NodeType::Compound; + n_name->m_address = base + offset; + n_name->m_defined_in = "df.language.xml"; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + +} +void node_from_site_realization_building_info_hillock_housest(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::site_realization_building_infost; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_site_realization_building_infost(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "type"; + auto n_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::site_realization_building_info_hillock_housest, field_name)); + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::hillock_house_type; + n_type->m_rdf_type = RDF_Type::Enum; + n_type->m_node_type = NodeType::Enum; + n_type->m_base_type = DF_Type::int32_t; + n_type->m_enum_type = "hillock_house_type"; + n_type->m_address = base + offset; + n_type->m_defined_in = "df.world-site.xml"; + n_type->m_first_value = 0; + n_type->m_last_value = 3; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + +} +void node_from_creation_zone_pwg_alteration_location_deathst__T_unk_1__T_anon_1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creation_zone_pwg_alteration_location_deathst__T_unk_1__T_anon_1, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creation_zone_pwg_alteration_location_deathst__T_unk_1__T_anon_1, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creation_zone_pwg_alteration_location_deathst__T_unk_1__T_anon_1, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creation_zone_pwg_alteration_location_deathst__T_unk_1__T_anon_1, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creation_zone_pwg_alteration_location_deathst__T_unk_1__T_anon_1, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creation_zone_pwg_alteration_location_deathst__T_unk_1__T_anon_1, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creation_zone_pwg_alteration_location_deathst__T_unk_1__T_anon_1, field_name)); + auto n_anon_7 = new NodeSimple; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::int32_t; + n_anon_7->m_rdf_type = RDF_Type::int32_t; + n_anon_7->m_node_type = NodeType::Simple; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_7); + + field_name = "anon_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creation_zone_pwg_alteration_location_deathst__T_unk_1__T_anon_1, field_name)); + auto n_anon_8 = new NodeSimple; + n_anon_8->m_field_name = field_name; + n_anon_8->m_df_type = DF_Type::int32_t; + n_anon_8->m_rdf_type = RDF_Type::int32_t; + n_anon_8->m_node_type = NodeType::Simple; + n_anon_8->m_address = base + offset; + n_anon_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_8); + +} +void node_from_creation_zone_pwg_alteration_location_deathst__T_unk_1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creation_zone_pwg_alteration_location_deathst__T_unk_1, field_name)); + auto n_anon_1 = new NodeVector; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::creation_zone_pwg_alteration_location_deathst__T_unk_1__T_anon_1; + n_anon_1->m_rdf_type = RDF_Type::Vector; + n_anon_1->m_node_type = NodeType::Vector; + n_anon_1->m_addornements = "v*"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creation_zone_pwg_alteration_location_deathst__T_unk_1, field_name)); + auto n_anon_2 = new NodeVector; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::Vector; + n_anon_2->m_node_type = NodeType::Vector; + n_anon_2->m_addornements = "v"; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + n_anon_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_2); + +} +void node_from_creation_zone_pwg_alteration_location_deathst(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + // Base class + auto node_poly = new NodeCompound; + node_poly->m_df_type = DF_Type::creation_zone_pwg_alterationst; + node_poly->m_rdf_type = RDF_Type::Compound; + node_poly->m_address = p_df_structure; + node_poly->m_field_name = "super"; + node_poly->m_parent = p_node_parent; + p_node_parent->m_children.push_back(node_poly); + node_from_creation_zone_pwg_alterationst(p_df_structure, node_poly); + + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk_1"; + auto n_unk_1 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creation_zone_pwg_alteration_location_deathst, field_name)); + n_unk_1->m_field_name = field_name; + n_unk_1->m_df_type = DF_Type::creation_zone_pwg_alteration_location_deathst__T_unk_1; + n_unk_1->m_rdf_type = RDF_Type::Compound; + n_unk_1->m_node_type = NodeType::Compound; + n_unk_1->m_address = base + offset; + n_unk_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_1); + + field_name = "unk_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::creation_zone_pwg_alteration_location_deathst, field_name)); + auto n_unk_2 = new NodeSimple; + n_unk_2->m_field_name = field_name; + n_unk_2->m_df_type = DF_Type::int32_t; + n_unk_2->m_rdf_type = RDF_Type::int32_t; + n_unk_2->m_node_type = NodeType::Simple; + n_unk_2->m_address = base + offset; + n_unk_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_2); + +} +void node_from_incident__T_unk_v42_1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = true) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "t6_performance"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident__T_unk_v42_1, field_name)); + auto n_t6_performance = new NodePointer; + n_t6_performance->m_field_name = field_name; + n_t6_performance->m_df_type = get_real_subtype(base+offset, DF_Type::incident_sub6_performance); + n_t6_performance->m_rdf_type = RDF_Type::Pointer; + n_t6_performance->m_node_type = NodeType::Pointer; + n_t6_performance->m_addornements = "*"; + n_t6_performance->m_address = base + offset; + n_t6_performance->m_parent = p_node_parent; + n_t6_performance->m_defined_in = "df.world.xml"; + n_t6_performance->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_t6_performance); + + field_name = "t7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident__T_unk_v42_1, field_name)); + auto n_t7 = new NodePointer; + n_t7->m_field_name = field_name; + n_t7->m_df_type = get_real_subtype(base+offset, DF_Type::incident_sub7); + n_t7->m_rdf_type = RDF_Type::Pointer; + n_t7->m_node_type = NodeType::Pointer; + n_t7->m_addornements = "*"; + n_t7->m_address = base + offset; + n_t7->m_parent = p_node_parent; + n_t7->m_defined_in = "df.world.xml"; + n_t7->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_t7); + + field_name = "t8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident__T_unk_v42_1, field_name)); + auto n_t8 = new NodePointer; + n_t8->m_field_name = field_name; + n_t8->m_df_type = get_real_subtype(base+offset, DF_Type::incident_sub8); + n_t8->m_rdf_type = RDF_Type::Pointer; + n_t8->m_node_type = NodeType::Pointer; + n_t8->m_addornements = "*"; + n_t8->m_address = base + offset; + n_t8->m_parent = p_node_parent; + n_t8->m_defined_in = "df.world.xml"; + n_t8->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_t8); + + field_name = "t9"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident__T_unk_v42_1, field_name)); + auto n_t9 = new NodePointer; + n_t9->m_field_name = field_name; + n_t9->m_df_type = get_real_subtype(base+offset, DF_Type::incident_sub9); + n_t9->m_rdf_type = RDF_Type::Pointer; + n_t9->m_node_type = NodeType::Pointer; + n_t9->m_addornements = "*"; + n_t9->m_address = base + offset; + n_t9->m_parent = p_node_parent; + n_t9->m_defined_in = "df.world.xml"; + n_t9->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_t9); + + field_name = "t10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident__T_unk_v42_1, field_name)); + auto n_t10 = new NodePointer; + n_t10->m_field_name = field_name; + n_t10->m_df_type = get_real_subtype(base+offset, DF_Type::incident_sub10); + n_t10->m_rdf_type = RDF_Type::Pointer; + n_t10->m_node_type = NodeType::Pointer; + n_t10->m_addornements = "*"; + n_t10->m_address = base + offset; + n_t10->m_parent = p_node_parent; + n_t10->m_defined_in = "df.world.xml"; + n_t10->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_t10); + +} +void node_from_incident(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); + auto n_subtype = new NodeSimple; + n_subtype->m_field_name = field_name; + n_subtype->m_df_type = DF_Type::int32_t; + n_subtype->m_rdf_type = RDF_Type::int32_t; + n_subtype->m_node_type = NodeType::Simple; + n_subtype->m_address = base + offset; + n_subtype->m_comment = "0=combat, 6=performance, others=unidentified"; + n_subtype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_subtype); + + field_name = "witnesses"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); + auto n_witnesses = new NodeVector; + n_witnesses->m_field_name = field_name; + n_witnesses->m_df_type = DF_Type::int32_t; + n_witnesses->m_rdf_type = RDF_Type::Vector; + n_witnesses->m_node_type = NodeType::Vector; + n_witnesses->m_addornements = "v"; + n_witnesses->m_address = base + offset; + n_witnesses->m_parent = p_node_parent; + n_witnesses->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_witnesses); + + field_name = "unk_v44_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); + auto n_unk_v44_1 = new NodeSimple; + n_unk_v44_1->m_field_name = field_name; + n_unk_v44_1->m_df_type = DF_Type::int32_t; + n_unk_v44_1->m_rdf_type = RDF_Type::int32_t; + n_unk_v44_1->m_node_type = NodeType::Simple; + n_unk_v44_1->m_address = base + offset; + n_unk_v44_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v44_1); + + field_name = "unk_v44_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); + auto n_unk_v44_2 = new NodeSimple; + n_unk_v44_2->m_field_name = field_name; + n_unk_v44_2->m_df_type = DF_Type::int32_t; + n_unk_v44_2->m_rdf_type = RDF_Type::int32_t; + n_unk_v44_2->m_node_type = NodeType::Simple; + n_unk_v44_2->m_address = base + offset; + n_unk_v44_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v44_2); + + field_name = "victim"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); + auto n_victim = new NodeSimple; + n_victim->m_field_name = field_name; + n_victim->m_df_type = DF_Type::int32_t; + n_victim->m_rdf_type = RDF_Type::int32_t; + n_victim->m_node_type = NodeType::Simple; + n_victim->m_address = base + offset; + n_victim->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_victim); + + field_name = "victim_hf"; + auto n_victim_hf = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); + n_victim_hf->m_field_name = field_name; + n_victim_hf->m_df_type = DF_Type::incident_hfid; + n_victim_hf->m_rdf_type = RDF_Type::Struct; + n_victim_hf->m_node_type = NodeType::Compound; + n_victim_hf->m_address = base + offset; + n_victim_hf->m_defined_in = "df.world.xml"; + n_victim_hf->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_victim_hf); + + field_name = "victim_race"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); + auto n_victim_race = new NodeSimple; + n_victim_race->m_field_name = field_name; + n_victim_race->m_df_type = DF_Type::int32_t; + n_victim_race->m_rdf_type = RDF_Type::int32_t; + n_victim_race->m_node_type = NodeType::Simple; + n_victim_race->m_address = base + offset; + n_victim_race->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_victim_race); + + field_name = "victim_caste"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); + auto n_victim_caste = new NodeSimple; + n_victim_caste->m_field_name = field_name; + n_victim_caste->m_df_type = DF_Type::int32_t; + n_victim_caste->m_rdf_type = RDF_Type::int32_t; + n_victim_caste->m_node_type = NodeType::Simple; + n_victim_caste->m_address = base + offset; + n_victim_caste->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_victim_caste); + + field_name = "unk_v40_1b"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); + auto n_unk_v40_1b = new NodeSimple; + n_unk_v40_1b->m_field_name = field_name; + n_unk_v40_1b->m_df_type = DF_Type::int32_t; + n_unk_v40_1b->m_rdf_type = RDF_Type::int32_t; + n_unk_v40_1b->m_node_type = NodeType::Simple; + n_unk_v40_1b->m_address = base + offset; + n_unk_v40_1b->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_1b); + + field_name = "unk_v40_1c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); + auto n_unk_v40_1c = new NodeSimple; + n_unk_v40_1c->m_field_name = field_name; + n_unk_v40_1c->m_df_type = DF_Type::int32_t; + n_unk_v40_1c->m_rdf_type = RDF_Type::int32_t; + n_unk_v40_1c->m_node_type = NodeType::Simple; + n_unk_v40_1c->m_address = base + offset; + n_unk_v40_1c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_1c); + + field_name = "killer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); + auto n_killer = new NodeSimple; + n_killer->m_field_name = field_name; + n_killer->m_df_type = DF_Type::int32_t; + n_killer->m_rdf_type = RDF_Type::int32_t; + n_killer->m_node_type = NodeType::Simple; + n_killer->m_address = base + offset; + n_killer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_killer); + + field_name = "killer_hf"; + auto n_killer_hf = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); + n_killer_hf->m_field_name = field_name; + n_killer_hf->m_df_type = DF_Type::incident_hfid; + n_killer_hf->m_rdf_type = RDF_Type::Struct; + n_killer_hf->m_node_type = NodeType::Compound; + n_killer_hf->m_address = base + offset; + n_killer_hf->m_defined_in = "df.world.xml"; + n_killer_hf->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_killer_hf); + + field_name = "killer_race"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); + auto n_killer_race = new NodeSimple; + n_killer_race->m_field_name = field_name; + n_killer_race->m_df_type = DF_Type::int32_t; + n_killer_race->m_rdf_type = RDF_Type::int32_t; + n_killer_race->m_node_type = NodeType::Simple; + n_killer_race->m_address = base + offset; + n_killer_race->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_killer_race); + + field_name = "killer_caste"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); + auto n_killer_caste = new NodeSimple; + n_killer_caste->m_field_name = field_name; + n_killer_caste->m_df_type = DF_Type::int32_t; + n_killer_caste->m_rdf_type = RDF_Type::int32_t; + n_killer_caste->m_node_type = NodeType::Simple; + n_killer_caste->m_address = base + offset; + n_killer_caste->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_killer_caste); + + field_name = "entity1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); + auto n_entity1 = new NodeSimple; + n_entity1->m_field_name = field_name; + n_entity1->m_df_type = DF_Type::int32_t; + n_entity1->m_rdf_type = RDF_Type::int32_t; + n_entity1->m_node_type = NodeType::Simple; + n_entity1->m_address = base + offset; + n_entity1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity1); + + field_name = "unk_v40_2c"; + auto n_unk_v40_2c = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); + n_unk_v40_2c->m_field_name = field_name; + n_unk_v40_2c->m_df_type = DF_Type::incident_hfid; + n_unk_v40_2c->m_rdf_type = RDF_Type::Struct; + n_unk_v40_2c->m_node_type = NodeType::Compound; + n_unk_v40_2c->m_address = base + offset; + n_unk_v40_2c->m_defined_in = "df.world.xml"; + n_unk_v40_2c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_2c); + + field_name = "crime_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); + auto n_crime_id = new NodeSimple; + n_crime_id->m_field_name = field_name; + n_crime_id->m_df_type = DF_Type::int32_t; + n_crime_id->m_rdf_type = RDF_Type::int32_t; + n_crime_id->m_node_type = NodeType::Simple; + n_crime_id->m_address = base + offset; + n_crime_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_crime_id); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "unk_v40_3a"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); + auto n_unk_v40_3a = new NodeSimple; + n_unk_v40_3a->m_field_name = field_name; + n_unk_v40_3a->m_df_type = DF_Type::int32_t; + n_unk_v40_3a->m_rdf_type = RDF_Type::int32_t; + n_unk_v40_3a->m_node_type = NodeType::Simple; + n_unk_v40_3a->m_address = base + offset; + n_unk_v40_3a->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_3a); + + field_name = "unk_v40_3b"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); + auto n_unk_v40_3b = new NodeSimple; + n_unk_v40_3b->m_field_name = field_name; + n_unk_v40_3b->m_df_type = DF_Type::int32_t; + n_unk_v40_3b->m_rdf_type = RDF_Type::int32_t; + n_unk_v40_3b->m_node_type = NodeType::Simple; + n_unk_v40_3b->m_address = base + offset; + n_unk_v40_3b->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_3b); + + field_name = "entity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); + auto n_entity = new NodeSimple; + n_entity->m_field_name = field_name; + n_entity->m_df_type = DF_Type::int32_t; + n_entity->m_rdf_type = RDF_Type::int32_t; + n_entity->m_node_type = NodeType::Simple; + n_entity->m_address = base + offset; + n_entity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity); + + field_name = "event_year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); + auto n_event_year = new NodeSimple; + n_event_year->m_field_name = field_name; + n_event_year->m_df_type = DF_Type::int32_t; + n_event_year->m_rdf_type = RDF_Type::int32_t; + n_event_year->m_node_type = NodeType::Simple; + n_event_year->m_address = base + offset; + n_event_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_event_year); + + field_name = "event_time"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); + auto n_event_time = new NodeSimple; + n_event_time->m_field_name = field_name; + n_event_time->m_df_type = DF_Type::int32_t; + n_event_time->m_rdf_type = RDF_Type::int32_t; + n_event_time->m_node_type = NodeType::Simple; + n_event_time->m_address = base + offset; + n_event_time->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_event_time); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::incident__T_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "death_cause"; + auto n_death_cause = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); + n_death_cause->m_field_name = field_name; + n_death_cause->m_df_type = DF_Type::death_type; + n_death_cause->m_rdf_type = RDF_Type::Enum; + n_death_cause->m_node_type = NodeType::Enum; + n_death_cause->m_base_type = DF_Type::int16_t; + n_death_cause->m_enum_type = "death_type"; + n_death_cause->m_address = base + offset; + n_death_cause->m_defined_in = "df.history.xml"; + n_death_cause->m_first_value = -1; + n_death_cause->m_last_value = 53; + n_death_cause->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_death_cause); + + field_name = "conflict_level"; + auto n_conflict_level = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); + n_conflict_level->m_field_name = field_name; + n_conflict_level->m_df_type = DF_Type::conflict_level; + n_conflict_level->m_rdf_type = RDF_Type::Enum; + n_conflict_level->m_node_type = NodeType::Enum; + n_conflict_level->m_base_type = enum_base_type(n_conflict_level->m_df_type); + n_conflict_level->m_enum_type = "conflict_level"; + n_conflict_level->m_address = base + offset; + n_conflict_level->m_defined_in = "df.world.xml"; + n_conflict_level->m_first_value = -1; + n_conflict_level->m_last_value = 6; + n_conflict_level->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_conflict_level); + + field_name = "activity_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); + auto n_activity_id = new NodeSimple; + n_activity_id->m_field_name = field_name; + n_activity_id->m_df_type = DF_Type::int32_t; + n_activity_id->m_rdf_type = RDF_Type::int32_t; + n_activity_id->m_node_type = NodeType::Simple; + n_activity_id->m_address = base + offset; + n_activity_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_activity_id); + + field_name = "world_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); + auto n_world_x = new NodeSimple; + n_world_x->m_field_name = field_name; + n_world_x->m_df_type = DF_Type::int32_t; + n_world_x->m_rdf_type = RDF_Type::int32_t; + n_world_x->m_node_type = NodeType::Simple; + n_world_x->m_address = base + offset; + n_world_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_world_x); + + field_name = "world_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); + auto n_world_y = new NodeSimple; + n_world_y->m_field_name = field_name; + n_world_y->m_df_type = DF_Type::int32_t; + n_world_y->m_rdf_type = RDF_Type::int32_t; + n_world_y->m_node_type = NodeType::Simple; + n_world_y->m_address = base + offset; + n_world_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_world_y); + + field_name = "world_z"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); + auto n_world_z = new NodeSimple; + n_world_z->m_field_name = field_name; + n_world_z->m_df_type = DF_Type::int32_t; + n_world_z->m_rdf_type = RDF_Type::int32_t; + n_world_z->m_node_type = NodeType::Simple; + n_world_z->m_address = base + offset; + n_world_z->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_world_z); + + field_name = "unk_80"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); + auto n_unk_80 = new NodeSimple; + n_unk_80->m_field_name = field_name; + n_unk_80->m_df_type = DF_Type::int32_t; + n_unk_80->m_rdf_type = RDF_Type::int32_t; + n_unk_80->m_node_type = NodeType::Simple; + n_unk_80->m_address = base + offset; + n_unk_80->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_80); + + field_name = "unk_v42_1"; + auto n_unk_v42_1 = new NodeUnion; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident, field_name)); + n_unk_v42_1->m_field_name = field_name; + n_unk_v42_1->m_df_type = DF_Type::incident__T_unk_v42_1; + n_unk_v42_1->m_rdf_type = RDF_Type::Union; + n_unk_v42_1->m_node_type = NodeType::Union; + n_unk_v42_1->m_address = base + offset; + n_unk_v42_1->m_comment = "based on subtype"; + n_unk_v42_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v42_1); + +} +void node_from_incident_sub6_performance__T_participants(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "performance_event"; + auto n_performance_event = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub6_performance__T_participants, field_name)); + n_performance_event->m_field_name = field_name; + n_performance_event->m_df_type = DF_Type::performance_event_type; + n_performance_event->m_rdf_type = RDF_Type::Enum; + n_performance_event->m_node_type = NodeType::Enum; + n_performance_event->m_base_type = DF_Type::int32_t; + n_performance_event->m_enum_type = "performance_event_type"; + n_performance_event->m_address = base + offset; + n_performance_event->m_comment = "can e.g. be music for a dance musician"; + n_performance_event->m_defined_in = "df.meeting.xml"; + n_performance_event->m_first_value = 0; + n_performance_event->m_last_value = 3; + n_performance_event->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_performance_event); + + field_name = "role_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub6_performance__T_participants, field_name)); + auto n_role_index = new NodeSimple; + n_role_index->m_field_name = field_name; + n_role_index->m_df_type = DF_Type::int32_t; + n_role_index->m_rdf_type = RDF_Type::int32_t; + n_role_index->m_node_type = NodeType::Simple; + n_role_index->m_address = base + offset; + n_role_index->m_comment = "index into the voices vector for music, with corresponding roles for other forms, possibly a dance_form_sub1 entry for dances"; + n_role_index->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_role_index); + + field_name = "anon_1"; + auto n_anon_1 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub6_performance__T_participants, field_name)); + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::incident_hfid; + n_anon_1->m_rdf_type = RDF_Type::Struct; + n_anon_1->m_node_type = NodeType::Compound; + n_anon_1->m_address = base + offset; + n_anon_1->m_defined_in = "df.world.xml"; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub6_performance__T_participants, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + +} +void node_from_incident_sub6_performance(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "performance_event"; + auto n_performance_event = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub6_performance, field_name)); + n_performance_event->m_field_name = field_name; + n_performance_event->m_df_type = DF_Type::performance_event_type; + n_performance_event->m_rdf_type = RDF_Type::Enum; + n_performance_event->m_node_type = NodeType::Enum; + n_performance_event->m_base_type = DF_Type::int32_t; + n_performance_event->m_enum_type = "performance_event_type"; + n_performance_event->m_address = base + offset; + n_performance_event->m_defined_in = "df.meeting.xml"; + n_performance_event->m_first_value = 0; + n_performance_event->m_last_value = 3; + n_performance_event->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_performance_event); + + field_name = "participants"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub6_performance, field_name)); + auto n_participants = new NodeVector; + n_participants->m_field_name = field_name; + n_participants->m_df_type = DF_Type::incident_sub6_performance__T_participants; + n_participants->m_rdf_type = RDF_Type::Vector; + n_participants->m_node_type = NodeType::Vector; + n_participants->m_addornements = "v*"; + n_participants->m_address = base + offset; + n_participants->m_parent = p_node_parent; + n_participants->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_participants); + + field_name = "reference_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub6_performance, field_name)); + auto n_reference_id = new NodeSimple; + n_reference_id->m_field_name = field_name; + n_reference_id->m_df_type = DF_Type::int32_t; + n_reference_id->m_rdf_type = RDF_Type::int32_t; + n_reference_id->m_node_type = NodeType::Simple; + n_reference_id->m_address = base + offset; + n_reference_id->m_comment = "history_event id/poetic_form id/musical_form id/dance_form_id or -1"; + n_reference_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_reference_id); + + field_name = "written_content_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub6_performance, field_name)); + auto n_written_content_id = new NodeSimple; + n_written_content_id->m_field_name = field_name; + n_written_content_id->m_df_type = DF_Type::int32_t; + n_written_content_id->m_rdf_type = RDF_Type::int32_t; + n_written_content_id->m_node_type = NodeType::Simple; + n_written_content_id->m_address = base + offset; + n_written_content_id->m_comment = "-1 if not used"; + n_written_content_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_written_content_id); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub6_performance, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "poetic_form_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub6_performance, field_name)); + auto n_poetic_form_id = new NodeSimple; + n_poetic_form_id->m_field_name = field_name; + n_poetic_form_id->m_df_type = DF_Type::int32_t; + n_poetic_form_id->m_rdf_type = RDF_Type::int32_t; + n_poetic_form_id->m_node_type = NodeType::Simple; + n_poetic_form_id->m_address = base + offset; + n_poetic_form_id->m_comment = "More than one form can be used in a performance, e.g. dance to music"; + n_poetic_form_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_poetic_form_id); + + field_name = "musical_form_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub6_performance, field_name)); + auto n_musical_form_id = new NodeSimple; + n_musical_form_id->m_field_name = field_name; + n_musical_form_id->m_df_type = DF_Type::int32_t; + n_musical_form_id->m_rdf_type = RDF_Type::int32_t; + n_musical_form_id->m_node_type = NodeType::Simple; + n_musical_form_id->m_address = base + offset; + n_musical_form_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_musical_form_id); + + field_name = "dance_form_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub6_performance, field_name)); + auto n_dance_form_id = new NodeSimple; + n_dance_form_id->m_field_name = field_name; + n_dance_form_id->m_df_type = DF_Type::int32_t; + n_dance_form_id->m_rdf_type = RDF_Type::int32_t; + n_dance_form_id->m_node_type = NodeType::Simple; + n_dance_form_id->m_address = base + offset; + n_dance_form_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dance_form_id); + +} +void node_from_incident_sub7(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub7, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub7, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + auto n_anon_3 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub7, field_name)); + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::incident_hfid; + n_anon_3->m_rdf_type = RDF_Type::Struct; + n_anon_3->m_node_type = NodeType::Compound; + n_anon_3->m_address = base + offset; + n_anon_3->m_defined_in = "df.world.xml"; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + auto n_anon_4 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub7, field_name)); + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::incident_hfid; + n_anon_4->m_rdf_type = RDF_Type::Struct; + n_anon_4->m_node_type = NodeType::Compound; + n_anon_4->m_address = base + offset; + n_anon_4->m_defined_in = "df.world.xml"; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub7, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub7, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub7, field_name)); + auto n_anon_7 = new NodeSimple; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::int32_t; + n_anon_7->m_rdf_type = RDF_Type::int32_t; + n_anon_7->m_node_type = NodeType::Simple; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_7); + + field_name = "anon_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub7, field_name)); + auto n_anon_8 = new NodeSimple; + n_anon_8->m_field_name = field_name; + n_anon_8->m_df_type = DF_Type::int32_t; + n_anon_8->m_rdf_type = RDF_Type::int32_t; + n_anon_8->m_node_type = NodeType::Simple; + n_anon_8->m_address = base + offset; + n_anon_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_8); + + field_name = "anon_9"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub7, field_name)); + auto n_anon_9 = new NodeVector; + n_anon_9->m_field_name = field_name; + n_anon_9->m_df_type = DF_Type::int32_t; + n_anon_9->m_rdf_type = RDF_Type::Vector; + n_anon_9->m_node_type = NodeType::Vector; + n_anon_9->m_addornements = "v"; + n_anon_9->m_address = base + offset; + n_anon_9->m_parent = p_node_parent; + n_anon_9->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_9); + + field_name = "anon_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub7, field_name)); + auto n_anon_10 = new NodeSimple; + n_anon_10->m_field_name = field_name; + n_anon_10->m_df_type = DF_Type::int32_t; + n_anon_10->m_rdf_type = RDF_Type::int32_t; + n_anon_10->m_node_type = NodeType::Simple; + n_anon_10->m_address = base + offset; + n_anon_10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_10); + +} +void node_from_incident_sub8(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub8, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub8, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + auto n_anon_3 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub8, field_name)); + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::incident_hfid; + n_anon_3->m_rdf_type = RDF_Type::Struct; + n_anon_3->m_node_type = NodeType::Compound; + n_anon_3->m_address = base + offset; + n_anon_3->m_defined_in = "df.world.xml"; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + auto n_anon_4 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub8, field_name)); + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::incident_hfid; + n_anon_4->m_rdf_type = RDF_Type::Struct; + n_anon_4->m_node_type = NodeType::Compound; + n_anon_4->m_address = base + offset; + n_anon_4->m_defined_in = "df.world.xml"; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub8, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub8, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub8, field_name)); + auto n_anon_7 = new NodeSimple; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::int32_t; + n_anon_7->m_rdf_type = RDF_Type::int32_t; + n_anon_7->m_node_type = NodeType::Simple; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_7); + + field_name = "anon_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub8, field_name)); + auto n_anon_8 = new NodeSimple; + n_anon_8->m_field_name = field_name; + n_anon_8->m_df_type = DF_Type::int32_t; + n_anon_8->m_rdf_type = RDF_Type::int32_t; + n_anon_8->m_node_type = NodeType::Simple; + n_anon_8->m_address = base + offset; + n_anon_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_8); + + field_name = "anon_9"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub8, field_name)); + auto n_anon_9 = new NodeVector; + n_anon_9->m_field_name = field_name; + n_anon_9->m_df_type = DF_Type::int32_t; + n_anon_9->m_rdf_type = RDF_Type::Vector; + n_anon_9->m_node_type = NodeType::Vector; + n_anon_9->m_addornements = "v"; + n_anon_9->m_address = base + offset; + n_anon_9->m_parent = p_node_parent; + n_anon_9->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_9); + + field_name = "anon_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub8, field_name)); + auto n_anon_10 = new NodeSimple; + n_anon_10->m_field_name = field_name; + n_anon_10->m_df_type = DF_Type::int32_t; + n_anon_10->m_rdf_type = RDF_Type::int32_t; + n_anon_10->m_node_type = NodeType::Simple; + n_anon_10->m_address = base + offset; + n_anon_10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_10); + +} +void node_from_incident_sub9(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub9, field_name)); + auto n_anon_1 = new NodeVector; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::incident_hfid; + n_anon_1->m_rdf_type = RDF_Type::Vector; + n_anon_1->m_node_type = NodeType::Vector; + n_anon_1->m_defined_in = "df.world.xml"; + n_anon_1->m_addornements = "v*"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_incident_sub10(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::incident_sub10, field_name)); + auto n_anon_1 = new NodeVector; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::incident_hfid; + n_anon_1->m_rdf_type = RDF_Type::Vector; + n_anon_1->m_node_type = NodeType::Vector; + n_anon_1->m_defined_in = "df.world.xml"; + n_anon_1->m_addornements = "v*"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_crime__T_punishment(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "hammerstrikes"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::crime__T_punishment, field_name)); + auto n_hammerstrikes = new NodeSimple; + n_hammerstrikes->m_field_name = field_name; + n_hammerstrikes->m_df_type = DF_Type::int32_t; + n_hammerstrikes->m_rdf_type = RDF_Type::int32_t; + n_hammerstrikes->m_node_type = NodeType::Simple; + n_hammerstrikes->m_address = base + offset; + n_hammerstrikes->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_hammerstrikes); + + field_name = "prison_time"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::crime__T_punishment, field_name)); + auto n_prison_time = new NodeSimple; + n_prison_time->m_field_name = field_name; + n_prison_time->m_df_type = DF_Type::int32_t; + n_prison_time->m_rdf_type = RDF_Type::int32_t; + n_prison_time->m_node_type = NodeType::Simple; + n_prison_time->m_address = base + offset; + n_prison_time->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_prison_time); + + field_name = "give_beating"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::crime__T_punishment, field_name)); + auto n_give_beating = new NodeSimple; + n_give_beating->m_field_name = field_name; + n_give_beating->m_df_type = DF_Type::int32_t; + n_give_beating->m_rdf_type = RDF_Type::int32_t; + n_give_beating->m_node_type = NodeType::Simple; + n_give_beating->m_address = base + offset; + n_give_beating->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_give_beating); + +} +void node_from_crime__T_reports(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "death_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::crime__T_reports, field_name)); + auto n_death_id = new NodeSimple; + n_death_id->m_field_name = field_name; + n_death_id->m_df_type = DF_Type::int32_t; + n_death_id->m_rdf_type = RDF_Type::int32_t; + n_death_id->m_node_type = NodeType::Simple; + n_death_id->m_address = base + offset; + n_death_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_death_id); + + field_name = "crime_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::crime__T_reports, field_name)); + auto n_crime_id = new NodeSimple; + n_crime_id->m_field_name = field_name; + n_crime_id->m_df_type = DF_Type::int32_t; + n_crime_id->m_rdf_type = RDF_Type::int32_t; + n_crime_id->m_node_type = NodeType::Simple; + n_crime_id->m_address = base + offset; + n_crime_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_crime_id); + + field_name = "unk1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::crime__T_reports, field_name)); + auto n_unk1 = new NodeSimple; + n_unk1->m_field_name = field_name; + n_unk1->m_df_type = DF_Type::int32_t; + n_unk1->m_rdf_type = RDF_Type::int32_t; + n_unk1->m_node_type = NodeType::Simple; + n_unk1->m_address = base + offset; + n_unk1->m_comment = "unk1 of witness_reports; 1 = found body?"; + n_unk1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk1); + + field_name = "event_year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::crime__T_reports, field_name)); + auto n_event_year = new NodeSimple; + n_event_year->m_field_name = field_name; + n_event_year->m_df_type = DF_Type::int32_t; + n_event_year->m_rdf_type = RDF_Type::int32_t; + n_event_year->m_node_type = NodeType::Simple; + n_event_year->m_address = base + offset; + n_event_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_event_year); + + field_name = "event_time"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::crime__T_reports, field_name)); + auto n_event_time = new NodeSimple; + n_event_time->m_field_name = field_name; + n_event_time->m_df_type = DF_Type::int32_t; + n_event_time->m_rdf_type = RDF_Type::int32_t; + n_event_time->m_node_type = NodeType::Simple; + n_event_time->m_address = base + offset; + n_event_time->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_event_time); + + field_name = "witness"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::crime__T_reports, field_name)); + auto n_witness = new NodeSimple; + n_witness->m_field_name = field_name; + n_witness->m_df_type = DF_Type::int32_t; + n_witness->m_rdf_type = RDF_Type::int32_t; + n_witness->m_node_type = NodeType::Simple; + n_witness->m_address = base + offset; + n_witness->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_witness); + + field_name = "accuses"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::crime__T_reports, field_name)); + auto n_accuses = new NodeSimple; + n_accuses->m_field_name = field_name; + n_accuses->m_df_type = DF_Type::int32_t; + n_accuses->m_rdf_type = RDF_Type::int32_t; + n_accuses->m_node_type = NodeType::Simple; + n_accuses->m_address = base + offset; + n_accuses->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_accuses); + + field_name = "report_year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::crime__T_reports, field_name)); + auto n_report_year = new NodeSimple; + n_report_year->m_field_name = field_name; + n_report_year->m_df_type = DF_Type::int32_t; + n_report_year->m_rdf_type = RDF_Type::int32_t; + n_report_year->m_node_type = NodeType::Simple; + n_report_year->m_address = base + offset; + n_report_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_report_year); + + field_name = "report_time"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::crime__T_reports, field_name)); + auto n_report_time = new NodeSimple; + n_report_time->m_field_name = field_name; + n_report_time->m_df_type = DF_Type::int32_t; + n_report_time->m_rdf_type = RDF_Type::int32_t; + n_report_time->m_node_type = NodeType::Simple; + n_report_time->m_address = base + offset; + n_report_time->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_report_time); + +} +void node_from_crime(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::crime, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "mode"; + auto n_mode = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::crime, field_name)); + n_mode->m_field_name = field_name; + n_mode->m_df_type = DF_Type::crime__T_mode; + n_mode->m_rdf_type = RDF_Type::Enum; + n_mode->m_node_type = NodeType::Enum; + n_mode->m_base_type = DF_Type::int32_t; + n_mode->m_enum_type = "crime::T_mode"; + n_mode->m_address = base + offset; + n_mode->m_first_value = 0; + n_mode->m_last_value = 10; + n_mode->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mode); + + field_name = "punishment"; + auto n_punishment = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::crime, field_name)); + n_punishment->m_field_name = field_name; + n_punishment->m_df_type = DF_Type::crime__T_punishment; + n_punishment->m_rdf_type = RDF_Type::Compound; + n_punishment->m_node_type = NodeType::Compound; + n_punishment->m_address = base + offset; + n_punishment->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_punishment); + + field_name = "criminal"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::crime, field_name)); + auto n_criminal = new NodeSimple; + n_criminal->m_field_name = field_name; + n_criminal->m_df_type = DF_Type::int32_t; + n_criminal->m_rdf_type = RDF_Type::int32_t; + n_criminal->m_node_type = NodeType::Simple; + n_criminal->m_address = base + offset; + n_criminal->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_criminal); + + field_name = "convicted"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::crime, field_name)); + auto n_convicted = new NodeSimple; + n_convicted->m_field_name = field_name; + n_convicted->m_df_type = DF_Type::int32_t; + n_convicted->m_rdf_type = RDF_Type::int32_t; + n_convicted->m_node_type = NodeType::Simple; + n_convicted->m_address = base + offset; + n_convicted->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_convicted); + + field_name = "victim"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::crime, field_name)); + auto n_victim = new NodeSimple; + n_victim->m_field_name = field_name; + n_victim->m_df_type = DF_Type::int32_t; + n_victim->m_rdf_type = RDF_Type::int32_t; + n_victim->m_node_type = NodeType::Simple; + n_victim->m_address = base + offset; + n_victim->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_victim); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::crime, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::crime__T_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "death_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::crime, field_name)); + auto n_death_id = new NodeSimple; + n_death_id->m_field_name = field_name; + n_death_id->m_df_type = DF_Type::int32_t; + n_death_id->m_rdf_type = RDF_Type::int32_t; + n_death_id->m_node_type = NodeType::Simple; + n_death_id->m_address = base + offset; + n_death_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_death_id); + + field_name = "event_year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::crime, field_name)); + auto n_event_year = new NodeSimple; + n_event_year->m_field_name = field_name; + n_event_year->m_df_type = DF_Type::int32_t; + n_event_year->m_rdf_type = RDF_Type::int32_t; + n_event_year->m_node_type = NodeType::Simple; + n_event_year->m_address = base + offset; + n_event_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_event_year); + + field_name = "event_time"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::crime, field_name)); + auto n_event_time = new NodeSimple; + n_event_time->m_field_name = field_name; + n_event_time->m_df_type = DF_Type::int32_t; + n_event_time->m_rdf_type = RDF_Type::int32_t; + n_event_time->m_node_type = NodeType::Simple; + n_event_time->m_address = base + offset; + n_event_time->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_event_time); + + field_name = "discovered_year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::crime, field_name)); + auto n_discovered_year = new NodeSimple; + n_discovered_year->m_field_name = field_name; + n_discovered_year->m_df_type = DF_Type::int32_t; + n_discovered_year->m_rdf_type = RDF_Type::int32_t; + n_discovered_year->m_node_type = NodeType::Simple; + n_discovered_year->m_address = base + offset; + n_discovered_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_discovered_year); + + field_name = "discovered_time"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::crime, field_name)); + auto n_discovered_time = new NodeSimple; + n_discovered_time->m_field_name = field_name; + n_discovered_time->m_df_type = DF_Type::int32_t; + n_discovered_time->m_rdf_type = RDF_Type::int32_t; + n_discovered_time->m_node_type = NodeType::Simple; + n_discovered_time->m_address = base + offset; + n_discovered_time->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_discovered_time); + + field_name = "site"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::crime, field_name)); + auto n_site = new NodeSimple; + n_site->m_field_name = field_name; + n_site->m_df_type = DF_Type::int32_t; + n_site->m_rdf_type = RDF_Type::int32_t; + n_site->m_node_type = NodeType::Simple; + n_site->m_address = base + offset; + n_site->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site); + + field_name = "entity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::crime, field_name)); + auto n_entity = new NodeSimple; + n_entity->m_field_name = field_name; + n_entity->m_df_type = DF_Type::int32_t; + n_entity->m_rdf_type = RDF_Type::int32_t; + n_entity->m_node_type = NodeType::Simple; + n_entity->m_address = base + offset; + n_entity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entity); + + field_name = "reports"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::crime, field_name)); + auto n_reports = new NodeVector; + n_reports->m_field_name = field_name; + n_reports->m_df_type = DF_Type::crime__T_reports; + n_reports->m_rdf_type = RDF_Type::Vector; + n_reports->m_node_type = NodeType::Vector; + n_reports->m_addornements = "v*"; + n_reports->m_address = base + offset; + n_reports->m_parent = p_node_parent; + n_reports->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_reports); + +} +void node_from_mission_report(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "campaigns"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission_report, field_name)); + auto n_campaigns = new NodeVector; + n_campaigns->m_field_name = field_name; + n_campaigns->m_df_type = DF_Type::mission_campaign_report; + n_campaigns->m_rdf_type = RDF_Type::Vector; + n_campaigns->m_node_type = NodeType::Vector; + n_campaigns->m_defined_in = "df.world.xml"; + n_campaigns->m_addornements = "v*"; + n_campaigns->m_address = base + offset; + n_campaigns->m_parent = p_node_parent; + n_campaigns->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_campaigns); + + field_name = "unk_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission_report, field_name)); + auto n_unk_2 = new NodeSimple; + n_unk_2->m_field_name = field_name; + n_unk_2->m_df_type = DF_Type::int32_t; + n_unk_2->m_rdf_type = RDF_Type::int32_t; + n_unk_2->m_node_type = NodeType::Simple; + n_unk_2->m_address = base + offset; + n_unk_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_2); + + field_name = "origin_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission_report, field_name)); + auto n_origin_x = new NodeSimple; + n_origin_x->m_field_name = field_name; + n_origin_x->m_df_type = DF_Type::int32_t; + n_origin_x->m_rdf_type = RDF_Type::int32_t; + n_origin_x->m_node_type = NodeType::Simple; + n_origin_x->m_address = base + offset; + n_origin_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_origin_x); + + field_name = "origin_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission_report, field_name)); + auto n_origin_y = new NodeSimple; + n_origin_y->m_field_name = field_name; + n_origin_y->m_df_type = DF_Type::int32_t; + n_origin_y->m_rdf_type = RDF_Type::int32_t; + n_origin_y->m_node_type = NodeType::Simple; + n_origin_y->m_address = base + offset; + n_origin_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_origin_y); + + field_name = "unk_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission_report, field_name)); + auto n_unk_5 = new NodeSimple; + n_unk_5->m_field_name = field_name; + n_unk_5->m_df_type = DF_Type::int32_t; + n_unk_5->m_rdf_type = RDF_Type::int32_t; + n_unk_5->m_node_type = NodeType::Simple; + n_unk_5->m_address = base + offset; + n_unk_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_5); + + field_name = "title"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission_report, field_name)); + auto n_title = new NodeSimple; + n_title->m_field_name = field_name; + n_title->m_df_type = DF_Type::Stl_string; + n_title->m_rdf_type = RDF_Type::Stl_string; + n_title->m_node_type = NodeType::Simple; + n_title->m_address = base + offset; + n_title->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_title); + + field_name = "unk_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission_report, field_name)); + auto n_unk_7 = new NodeSimple; + n_unk_7->m_field_name = field_name; + n_unk_7->m_df_type = DF_Type::int32_t; + n_unk_7->m_rdf_type = RDF_Type::int32_t; + n_unk_7->m_node_type = NodeType::Simple; + n_unk_7->m_address = base + offset; + n_unk_7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_7); + + field_name = "year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission_report, field_name)); + auto n_year = new NodeSimple; + n_year->m_field_name = field_name; + n_year->m_df_type = DF_Type::int32_t; + n_year->m_rdf_type = RDF_Type::int32_t; + n_year->m_node_type = NodeType::Simple; + n_year->m_address = base + offset; + n_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_year); + + field_name = "year_tick"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission_report, field_name)); + auto n_year_tick = new NodeSimple; + n_year_tick->m_field_name = field_name; + n_year_tick->m_df_type = DF_Type::int32_t; + n_year_tick->m_rdf_type = RDF_Type::int32_t; + n_year_tick->m_node_type = NodeType::Simple; + n_year_tick->m_address = base + offset; + n_year_tick->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_year_tick); + + field_name = "unk_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission_report, field_name)); + auto n_unk_10 = new NodeVector; + n_unk_10->m_field_name = field_name; + n_unk_10->m_df_type = DF_Type::Void; + n_unk_10->m_rdf_type = RDF_Type::Vector; + n_unk_10->m_node_type = NodeType::Vector; + n_unk_10->m_addornements = "v"; + n_unk_10->m_address = base + offset; + n_unk_10->m_parent = p_node_parent; + n_unk_10->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_10); + + field_name = "unk_11"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission_report, field_name)); + auto n_unk_11 = new NodeSimple; + n_unk_11->m_field_name = field_name; + n_unk_11->m_df_type = DF_Type::int32_t; + n_unk_11->m_rdf_type = RDF_Type::int32_t; + n_unk_11->m_node_type = NodeType::Simple; + n_unk_11->m_address = base + offset; + n_unk_11->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_11); + + field_name = "unk_12"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mission_report, field_name)); + auto n_unk_12 = new NodeSimple; + n_unk_12->m_field_name = field_name; + n_unk_12->m_df_type = DF_Type::int32_t; + n_unk_12->m_rdf_type = RDF_Type::int32_t; + n_unk_12->m_node_type = NodeType::Simple; + n_unk_12->m_address = base + offset; + n_unk_12->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_12); + +} +void node_from_spoils_report(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "title"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::spoils_report, field_name)); + auto n_title = new NodeSimple; + n_title->m_field_name = field_name; + n_title->m_df_type = DF_Type::Stl_string; + n_title->m_rdf_type = RDF_Type::Stl_string; + n_title->m_node_type = NodeType::Simple; + n_title->m_address = base + offset; + n_title->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_title); + + field_name = "unk_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::spoils_report, field_name)); + auto n_unk_1 = new NodeSimple; + n_unk_1->m_field_name = field_name; + n_unk_1->m_df_type = DF_Type::int32_t; + n_unk_1->m_rdf_type = RDF_Type::int32_t; + n_unk_1->m_node_type = NodeType::Simple; + n_unk_1->m_address = base + offset; + n_unk_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_1); + + field_name = "year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::spoils_report, field_name)); + auto n_year = new NodeSimple; + n_year->m_field_name = field_name; + n_year->m_df_type = DF_Type::int32_t; + n_year->m_rdf_type = RDF_Type::int32_t; + n_year->m_node_type = NodeType::Simple; + n_year->m_address = base + offset; + n_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_year); + + field_name = "year_tick"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::spoils_report, field_name)); + auto n_year_tick = new NodeSimple; + n_year_tick->m_field_name = field_name; + n_year_tick->m_df_type = DF_Type::int32_t; + n_year_tick->m_rdf_type = RDF_Type::int32_t; + n_year_tick->m_node_type = NodeType::Simple; + n_year_tick->m_address = base + offset; + n_year_tick->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_year_tick); + + field_name = "unk_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::spoils_report, field_name)); + auto n_unk_4 = new NodeSimple; + n_unk_4->m_field_name = field_name; + n_unk_4->m_df_type = DF_Type::int32_t; + n_unk_4->m_rdf_type = RDF_Type::int32_t; + n_unk_4->m_node_type = NodeType::Simple; + n_unk_4->m_address = base + offset; + n_unk_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_4); + + field_name = "item_types"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::spoils_report, field_name)); + auto n_item_types = new NodeVector; + n_item_types->m_field_name = field_name; + n_item_types->m_df_type = DF_Type::item_type; + n_item_types->m_rdf_type = RDF_Type::Vector; + n_item_types->m_node_type = NodeType::Vector; + n_item_types->m_enum_base = DF_Type::int16_t; + n_item_types->m_defined_in = "df.item-raws.xml"; + n_item_types->m_addornements = "v"; + n_item_types->m_address = base + offset; + n_item_types->m_parent = p_node_parent; + n_item_types->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_item_types); + + field_name = "item_subtypes"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::spoils_report, field_name)); + auto n_item_subtypes = new NodeVector; + n_item_subtypes->m_field_name = field_name; + n_item_subtypes->m_df_type = DF_Type::int16_t; + n_item_subtypes->m_rdf_type = RDF_Type::Vector; + n_item_subtypes->m_node_type = NodeType::Vector; + n_item_subtypes->m_addornements = "v"; + n_item_subtypes->m_address = base + offset; + n_item_subtypes->m_parent = p_node_parent; + n_item_subtypes->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_item_subtypes); + + field_name = "mat_types"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::spoils_report, field_name)); + auto n_mat_types = new NodeVector; + n_mat_types->m_field_name = field_name; + n_mat_types->m_df_type = DF_Type::int16_t; + n_mat_types->m_rdf_type = RDF_Type::Vector; + n_mat_types->m_node_type = NodeType::Vector; + n_mat_types->m_addornements = "v"; + n_mat_types->m_address = base + offset; + n_mat_types->m_parent = p_node_parent; + n_mat_types->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_mat_types); + + field_name = "mat_indices"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::spoils_report, field_name)); + auto n_mat_indices = new NodeVector; + n_mat_indices->m_field_name = field_name; + n_mat_indices->m_df_type = DF_Type::int32_t; + n_mat_indices->m_rdf_type = RDF_Type::Vector; + n_mat_indices->m_node_type = NodeType::Vector; + n_mat_indices->m_addornements = "v"; + n_mat_indices->m_address = base + offset; + n_mat_indices->m_parent = p_node_parent; + n_mat_indices->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_mat_indices); + + field_name = "item_counts"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::spoils_report, field_name)); + auto n_item_counts = new NodeVector; + n_item_counts->m_field_name = field_name; + n_item_counts->m_df_type = DF_Type::int32_t; + n_item_counts->m_rdf_type = RDF_Type::Vector; + n_item_counts->m_node_type = NodeType::Vector; + n_item_counts->m_addornements = "v"; + n_item_counts->m_address = base + offset; + n_item_counts->m_parent = p_node_parent; + n_item_counts->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_item_counts); + + field_name = "creature_races"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::spoils_report, field_name)); + auto n_creature_races = new NodeVector; + n_creature_races->m_field_name = field_name; + n_creature_races->m_df_type = DF_Type::int32_t; + n_creature_races->m_rdf_type = RDF_Type::Vector; + n_creature_races->m_node_type = NodeType::Vector; + n_creature_races->m_addornements = "v"; + n_creature_races->m_address = base + offset; + n_creature_races->m_parent = p_node_parent; + n_creature_races->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_creature_races); + + field_name = "creature_castes"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::spoils_report, field_name)); + auto n_creature_castes = new NodeVector; + n_creature_castes->m_field_name = field_name; + n_creature_castes->m_df_type = DF_Type::int32_t; + n_creature_castes->m_rdf_type = RDF_Type::Vector; + n_creature_castes->m_node_type = NodeType::Vector; + n_creature_castes->m_addornements = "v"; + n_creature_castes->m_address = base + offset; + n_creature_castes->m_parent = p_node_parent; + n_creature_castes->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_creature_castes); + + field_name = "creature_counts"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::spoils_report, field_name)); + auto n_creature_counts = new NodeVector; + n_creature_counts->m_field_name = field_name; + n_creature_counts->m_df_type = DF_Type::int32_t; + n_creature_counts->m_rdf_type = RDF_Type::Vector; + n_creature_counts->m_node_type = NodeType::Vector; + n_creature_counts->m_addornements = "v"; + n_creature_counts->m_address = base + offset; + n_creature_counts->m_parent = p_node_parent; + n_creature_counts->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_creature_counts); + +} +void node_from_world_unk_20__T_anon_7(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_20__T_anon_7, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_20__T_anon_7, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_20__T_anon_7, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_20__T_anon_7, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_20__T_anon_7, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_20__T_anon_7, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + +} +void node_from_world_unk_20(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_20, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int8_t; + n_anon_1->m_rdf_type = RDF_Type::int8_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_20, field_name)); + auto n_anon_2 = new NodeVector; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::Vector; + n_anon_2->m_node_type = NodeType::Vector; + n_anon_2->m_addornements = "v"; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + n_anon_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_20, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_20, field_name)); + auto n_anon_4 = new NodeVector; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::Vector; + n_anon_4->m_node_type = NodeType::Vector; + n_anon_4->m_addornements = "v"; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + n_anon_4->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_20, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_20, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_20, field_name)); + auto n_anon_7 = new NodeVector; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::world_unk_20__T_anon_7; + n_anon_7->m_rdf_type = RDF_Type::Vector; + n_anon_7->m_node_type = NodeType::Vector; + n_anon_7->m_addornements = "v*"; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + n_anon_7->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_7); + + field_name = "anon_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_20, field_name)); + auto n_anon_8 = new NodeSimple; + n_anon_8->m_field_name = field_name; + n_anon_8->m_df_type = DF_Type::int16_t; + n_anon_8->m_rdf_type = RDF_Type::int16_t; + n_anon_8->m_node_type = NodeType::Simple; + n_anon_8->m_address = base + offset; + n_anon_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_8); + + field_name = "anon_9"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_20, field_name)); + auto n_anon_9 = new NodeSimple; + n_anon_9->m_field_name = field_name; + n_anon_9->m_df_type = DF_Type::int16_t; + n_anon_9->m_rdf_type = RDF_Type::int16_t; + n_anon_9->m_node_type = NodeType::Simple; + n_anon_9->m_address = base + offset; + n_anon_9->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_9); + + field_name = "anon_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_20, field_name)); + auto n_anon_10 = new NodeSimple; + n_anon_10->m_field_name = field_name; + n_anon_10->m_df_type = DF_Type::int16_t; + n_anon_10->m_rdf_type = RDF_Type::int16_t; + n_anon_10->m_node_type = NodeType::Simple; + n_anon_10->m_address = base + offset; + n_anon_10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_10); + +} +void node_from_world_unk_6c(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + auto n_anon_1 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_6c, field_name)); + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::coord; + n_anon_1->m_rdf_type = RDF_Type::Struct; + n_anon_1->m_node_type = NodeType::Compound; + n_anon_1->m_address = base + offset; + n_anon_1->m_defined_in = "df.map.xml"; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_6c, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int8_t; + n_anon_2->m_rdf_type = RDF_Type::int8_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_6c, field_name)); + auto n_anon_3 = new NodeVector; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int16_t; + n_anon_3->m_rdf_type = RDF_Type::Vector; + n_anon_3->m_node_type = NodeType::Vector; + n_anon_3->m_addornements = "v"; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + n_anon_3->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_6c, field_name)); + auto n_anon_4 = new NodeVector; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int16_t; + n_anon_4->m_rdf_type = RDF_Type::Vector; + n_anon_4->m_node_type = NodeType::Vector; + n_anon_4->m_addornements = "v"; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + n_anon_4->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_6c, field_name)); + auto n_anon_5 = new NodeVector; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int16_t; + n_anon_5->m_rdf_type = RDF_Type::Vector; + n_anon_5->m_node_type = NodeType::Vector; + n_anon_5->m_addornements = "v"; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + n_anon_5->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_6c, field_name)); + auto n_anon_6 = new NodeVector; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int16_t; + n_anon_6->m_rdf_type = RDF_Type::Vector; + n_anon_6->m_node_type = NodeType::Vector; + n_anon_6->m_addornements = "v"; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + n_anon_6->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_6); + +} +void node_from_world_unk_9c(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "region"; + auto n_region = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_9c, field_name)); + n_region->m_field_name = field_name; + n_region->m_df_type = DF_Type::coord2d; + n_region->m_rdf_type = RDF_Type::Struct; + n_region->m_node_type = NodeType::Compound; + n_region->m_address = base + offset; + n_region->m_defined_in = "df.map.xml"; + n_region->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region); + + field_name = "embark"; + auto n_embark = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_9c, field_name)); + n_embark->m_field_name = field_name; + n_embark->m_df_type = DF_Type::coord2d; + n_embark->m_rdf_type = RDF_Type::Struct; + n_embark->m_node_type = NodeType::Compound; + n_embark->m_address = base + offset; + n_embark->m_defined_in = "df.map.xml"; + n_embark->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_embark); + + field_name = "local_feature_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_9c, field_name)); + auto n_local_feature_idx = new NodeSimple; + n_local_feature_idx->m_field_name = field_name; + n_local_feature_idx->m_df_type = DF_Type::int16_t; + n_local_feature_idx->m_rdf_type = RDF_Type::int16_t; + n_local_feature_idx->m_node_type = NodeType::Simple; + n_local_feature_idx->m_address = base + offset; + n_local_feature_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_local_feature_idx); + + field_name = "global_feature_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_9c, field_name)); + auto n_global_feature_idx = new NodeSimple; + n_global_feature_idx->m_field_name = field_name; + n_global_feature_idx->m_df_type = DF_Type::int32_t; + n_global_feature_idx->m_rdf_type = RDF_Type::int32_t; + n_global_feature_idx->m_node_type = NodeType::Simple; + n_global_feature_idx->m_address = base + offset; + n_global_feature_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_global_feature_idx); + + field_name = "unk10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_9c, field_name)); + auto n_unk10 = new NodeSimple; + n_unk10->m_field_name = field_name; + n_unk10->m_df_type = DF_Type::int32_t; + n_unk10->m_rdf_type = RDF_Type::int32_t; + n_unk10->m_node_type = NodeType::Simple; + n_unk10->m_address = base + offset; + n_unk10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk10); + + field_name = "unk14"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_9c, field_name)); + auto n_unk14 = new NodeSimple; + n_unk14->m_field_name = field_name; + n_unk14->m_df_type = DF_Type::int16_t; + n_unk14->m_rdf_type = RDF_Type::int16_t; + n_unk14->m_node_type = NodeType::Simple; + n_unk14->m_address = base + offset; + n_unk14->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk14); + + field_name = "local"; + auto n_local = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_9c, field_name)); + n_local->m_field_name = field_name; + n_local->m_df_type = DF_Type::coord2d; + n_local->m_rdf_type = RDF_Type::Struct; + n_local->m_node_type = NodeType::Compound; + n_local->m_address = base + offset; + n_local->m_defined_in = "df.map.xml"; + n_local->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_local); + + field_name = "z_min"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_9c, field_name)); + auto n_z_min = new NodeSimple; + n_z_min->m_field_name = field_name; + n_z_min->m_df_type = DF_Type::int16_t; + n_z_min->m_rdf_type = RDF_Type::int16_t; + n_z_min->m_node_type = NodeType::Simple; + n_z_min->m_address = base + offset; + n_z_min->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_z_min); + + field_name = "z_max"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_9c, field_name)); + auto n_z_max = new NodeSimple; + n_z_max->m_field_name = field_name; + n_z_max->m_df_type = DF_Type::int16_t; + n_z_max->m_rdf_type = RDF_Type::int16_t; + n_z_max->m_node_type = NodeType::Simple; + n_z_max->m_address = base + offset; + n_z_max->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_z_max); + +} +void node_from_world_unk_c0__T_anon_7(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_c0__T_anon_7, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_c0__T_anon_7, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_c0__T_anon_7, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_c0__T_anon_7, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_c0__T_anon_7, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_c0__T_anon_7, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + +} +void node_from_world_unk_c0(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_c0, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int8_t; + n_anon_1->m_rdf_type = RDF_Type::int8_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_c0, field_name)); + auto n_anon_2 = new NodeVector; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::Vector; + n_anon_2->m_node_type = NodeType::Vector; + n_anon_2->m_addornements = "v"; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + n_anon_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_c0, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_c0, field_name)); + auto n_anon_4 = new NodeVector; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::Vector; + n_anon_4->m_node_type = NodeType::Vector; + n_anon_4->m_addornements = "v"; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + n_anon_4->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_c0, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_c0, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_c0, field_name)); + auto n_anon_7 = new NodeVector; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::world_unk_c0__T_anon_7; + n_anon_7->m_rdf_type = RDF_Type::Vector; + n_anon_7->m_node_type = NodeType::Vector; + n_anon_7->m_addornements = "v*"; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + n_anon_7->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_7); + + field_name = "anon_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_c0, field_name)); + auto n_anon_8 = new NodeSimple; + n_anon_8->m_field_name = field_name; + n_anon_8->m_df_type = DF_Type::int16_t; + n_anon_8->m_rdf_type = RDF_Type::int16_t; + n_anon_8->m_node_type = NodeType::Simple; + n_anon_8->m_address = base + offset; + n_anon_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_8); + + field_name = "anon_9"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_c0, field_name)); + auto n_anon_9 = new NodeSimple; + n_anon_9->m_field_name = field_name; + n_anon_9->m_df_type = DF_Type::int16_t; + n_anon_9->m_rdf_type = RDF_Type::int16_t; + n_anon_9->m_node_type = NodeType::Simple; + n_anon_9->m_address = base + offset; + n_anon_9->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_9); + + field_name = "anon_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world_unk_c0, field_name)); + auto n_anon_10 = new NodeSimple; + n_anon_10->m_field_name = field_name; + n_anon_10->m_df_type = DF_Type::int16_t; + n_anon_10->m_rdf_type = RDF_Type::int16_t; + n_anon_10->m_node_type = NodeType::Simple; + n_anon_10->m_address = base + offset; + n_anon_10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_10); + +} +void node_from_glowing_barrier(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "triggered"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::glowing_barrier, field_name)); + auto n_triggered = new NodeSimple; + n_triggered->m_field_name = field_name; + n_triggered->m_df_type = DF_Type::Bool; + n_triggered->m_rdf_type = RDF_Type::Bool; + n_triggered->m_node_type = NodeType::Simple; + n_triggered->m_address = base + offset; + n_triggered->m_comment = "set when the glowing barrier vanishes, preventing later HFS events"; + n_triggered->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_triggered); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::glowing_barrier, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "buildings"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::glowing_barrier, field_name)); + auto n_buildings = new NodeVector; + n_buildings->m_field_name = field_name; + n_buildings->m_df_type = DF_Type::int32_t; + n_buildings->m_rdf_type = RDF_Type::Vector; + n_buildings->m_node_type = NodeType::Vector; + n_buildings->m_addornements = "v"; + n_buildings->m_address = base + offset; + n_buildings->m_comment = "when building is deconstructed, causes glowing barrier at pos to vanish and (in fort mode) spawns HFS one z-level below if it has not been set off already"; + n_buildings->m_parent = p_node_parent; + n_buildings->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_buildings); + + field_name = "pos"; + auto n_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::glowing_barrier, field_name)); + n_pos->m_field_name = field_name; + n_pos->m_df_type = DF_Type::coord; + n_pos->m_rdf_type = RDF_Type::Struct; + n_pos->m_node_type = NodeType::Compound; + n_pos->m_address = base + offset; + n_pos->m_defined_in = "df.map.xml"; + n_pos->m_comment = "coordinates of a GlowingBarrier or GlowingFloor tiletype"; + n_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pos); + +} +void node_from_deep_vein_hollow(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "triggered"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::deep_vein_hollow, field_name)); + auto n_triggered = new NodeSimple; + n_triggered->m_field_name = field_name; + n_triggered->m_df_type = DF_Type::Bool; + n_triggered->m_rdf_type = RDF_Type::Bool; + n_triggered->m_node_type = NodeType::Simple; + n_triggered->m_address = base + offset; + n_triggered->m_comment = "set when the underworld spire is breached, preventing subsequent HFS events"; + n_triggered->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_triggered); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::deep_vein_hollow, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "tiles"; + auto n_tiles = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::deep_vein_hollow, field_name)); + n_tiles->m_field_name = field_name; + n_tiles->m_df_type = DF_Type::coord_path; + n_tiles->m_rdf_type = RDF_Type::Struct; + n_tiles->m_node_type = NodeType::Compound; + n_tiles->m_address = base + offset; + n_tiles->m_defined_in = "df.map.xml"; + n_tiles->m_comment = "tile coordinates correspond to open spaces within an underworld spire; revealing one of these tiles triggers the HFS demon wave"; + n_tiles->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tiles); + + field_name = "pos"; + auto n_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::deep_vein_hollow, field_name)); + n_pos->m_field_name = field_name; + n_pos->m_df_type = DF_Type::coord; + n_pos->m_rdf_type = RDF_Type::Struct; + n_pos->m_node_type = NodeType::Compound; + n_pos->m_address = base + offset; + n_pos->m_defined_in = "df.map.xml"; + n_pos->m_comment = "seemingly unused"; + n_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pos); + +} +void node_from_campfire(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "pos"; + auto n_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::campfire, field_name)); + n_pos->m_field_name = field_name; + n_pos->m_df_type = DF_Type::coord; + n_pos->m_rdf_type = RDF_Type::Struct; + n_pos->m_node_type = NodeType::Compound; + n_pos->m_address = base + offset; + n_pos->m_defined_in = "df.map.xml"; + n_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pos); + + field_name = "timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::campfire, field_name)); + auto n_timer = new NodeSimple; + n_timer->m_field_name = field_name; + n_timer->m_df_type = DF_Type::int32_t; + n_timer->m_rdf_type = RDF_Type::int32_t; + n_timer->m_node_type = NodeType::Simple; + n_timer->m_address = base + offset; + n_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_timer); + +} +void node_from_web_cluster(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::web_cluster, field_name)); + auto n_x = new NodeVector; + n_x->m_field_name = field_name; + n_x->m_df_type = DF_Type::int16_t; + n_x->m_rdf_type = RDF_Type::Vector; + n_x->m_node_type = NodeType::Vector; + n_x->m_addornements = "v"; + n_x->m_address = base + offset; + n_x->m_parent = p_node_parent; + n_x->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_x); + + field_name = "y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::web_cluster, field_name)); + auto n_y = new NodeVector; + n_y->m_field_name = field_name; + n_y->m_df_type = DF_Type::int16_t; + n_y->m_rdf_type = RDF_Type::Vector; + n_y->m_node_type = NodeType::Vector; + n_y->m_addornements = "v"; + n_y->m_address = base + offset; + n_y->m_parent = p_node_parent; + n_y->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_y); + + field_name = "z"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::web_cluster, field_name)); + auto n_z = new NodeSimple; + n_z->m_field_name = field_name; + n_z->m_df_type = DF_Type::int16_t; + n_z->m_rdf_type = RDF_Type::int16_t; + n_z->m_node_type = NodeType::Simple; + n_z->m_address = base + offset; + n_z->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_z); + + field_name = "race"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::web_cluster, field_name)); + auto n_race = new NodeSimple; + n_race->m_field_name = field_name; + n_race->m_df_type = DF_Type::int16_t; + n_race->m_rdf_type = RDF_Type::int16_t; + n_race->m_node_type = NodeType::Simple; + n_race->m_address = base + offset; + n_race->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_race); + + field_name = "caste"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::web_cluster, field_name)); + auto n_caste = new NodeSimple; + n_caste->m_field_name = field_name; + n_caste->m_df_type = DF_Type::int16_t; + n_caste->m_rdf_type = RDF_Type::int16_t; + n_caste->m_node_type = NodeType::Simple; + n_caste->m_address = base + offset; + n_caste->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_caste); + + field_name = "pos_min"; + auto n_pos_min = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::web_cluster, field_name)); + n_pos_min->m_field_name = field_name; + n_pos_min->m_df_type = DF_Type::coord2d; + n_pos_min->m_rdf_type = RDF_Type::Struct; + n_pos_min->m_node_type = NodeType::Compound; + n_pos_min->m_address = base + offset; + n_pos_min->m_defined_in = "df.map.xml"; + n_pos_min->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pos_min); + + field_name = "pos_max"; + auto n_pos_max = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::web_cluster, field_name)); + n_pos_max->m_field_name = field_name; + n_pos_max->m_df_type = DF_Type::coord2d; + n_pos_max->m_rdf_type = RDF_Type::Struct; + n_pos_max->m_node_type = NodeType::Compound; + n_pos_max->m_address = base + offset; + n_pos_max->m_defined_in = "df.map.xml"; + n_pos_max->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pos_max); + + field_name = "ambushers"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::web_cluster, field_name)); + auto n_ambushers = new NodeVector; + n_ambushers->m_field_name = field_name; + n_ambushers->m_df_type = DF_Type::int32_t; + n_ambushers->m_rdf_type = RDF_Type::Vector; + n_ambushers->m_node_type = NodeType::Vector; + n_ambushers->m_addornements = "v"; + n_ambushers->m_address = base + offset; + n_ambushers->m_parent = p_node_parent; + n_ambushers->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_ambushers); + +} +void node_from_fire(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "pos"; + auto n_pos = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::fire, field_name)); + n_pos->m_field_name = field_name; + n_pos->m_df_type = DF_Type::coord; + n_pos->m_rdf_type = RDF_Type::Struct; + n_pos->m_node_type = NodeType::Compound; + n_pos->m_address = base + offset; + n_pos->m_defined_in = "df.map.xml"; + n_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pos); + + field_name = "timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::fire, field_name)); + auto n_timer = new NodeSimple; + n_timer->m_field_name = field_name; + n_timer->m_df_type = DF_Type::int16_t; + n_timer->m_rdf_type = RDF_Type::int16_t; + n_timer->m_node_type = NodeType::Simple; + n_timer->m_address = base + offset; + n_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_timer); + + field_name = "temperature"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::fire, field_name)); + auto n_temperature = new NodeSimple; + n_temperature->m_field_name = field_name; + n_temperature->m_df_type = DF_Type::uint16_t; + n_temperature->m_rdf_type = RDF_Type::uint16_t; + n_temperature->m_node_type = NodeType::Simple; + n_temperature->m_address = base + offset; + n_temperature->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_temperature); + + field_name = "temp_unk1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::fire, field_name)); + auto n_temp_unk1 = new NodeSimple; + n_temp_unk1->m_field_name = field_name; + n_temp_unk1->m_df_type = DF_Type::uint16_t; + n_temp_unk1->m_rdf_type = RDF_Type::uint16_t; + n_temp_unk1->m_node_type = NodeType::Simple; + n_temp_unk1->m_address = base + offset; + n_temp_unk1->m_comment = "10000"; + n_temp_unk1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_temp_unk1); + + field_name = "temp_unk2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::fire, field_name)); + auto n_temp_unk2 = new NodeSimple; + n_temp_unk2->m_field_name = field_name; + n_temp_unk2->m_df_type = DF_Type::uint16_t; + n_temp_unk2->m_rdf_type = RDF_Type::uint16_t; + n_temp_unk2->m_node_type = NodeType::Simple; + n_temp_unk2->m_address = base + offset; + n_temp_unk2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_temp_unk2); + + field_name = "temp_unk3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::fire, field_name)); + auto n_temp_unk3 = new NodeSimple; + n_temp_unk3->m_field_name = field_name; + n_temp_unk3->m_df_type = DF_Type::uint16_t; + n_temp_unk3->m_rdf_type = RDF_Type::uint16_t; + n_temp_unk3->m_node_type = NodeType::Simple; + n_temp_unk3->m_address = base + offset; + n_temp_unk3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_temp_unk3); + +} +void node_from_job_handler__T_postings(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_handler__T_postings, field_name)); + auto n_idx = new NodeSimple; + n_idx->m_field_name = field_name; + n_idx->m_df_type = DF_Type::int32_t; + n_idx->m_rdf_type = RDF_Type::int32_t; + n_idx->m_node_type = NodeType::Simple; + n_idx->m_address = base + offset; + n_idx->m_comment = "equal to position in vector"; + n_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_idx); + + field_name = "job"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_handler__T_postings, field_name)); + auto n_job = new NodePointer; + n_job->m_field_name = field_name; + n_job->m_df_type = get_real_subtype(base+offset, DF_Type::job); + n_job->m_rdf_type = RDF_Type::Pointer; + n_job->m_node_type = NodeType::Pointer; + n_job->m_addornements = "*"; + n_job->m_address = base + offset; + n_job->m_comment = "bad if dead flag is set"; + n_job->m_parent = p_node_parent; + n_job->m_defined_in = "df.jobs.xml"; + n_job->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_job); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_handler__T_postings, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::job_handler__T_postings__T_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_handler__T_postings, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_comment = "not saved"; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_job_handler__T_anon_1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_handler__T_anon_1, field_name)); + auto n_anon_1 = new NodePointer; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_anon_1->m_rdf_type = RDF_Type::Pointer; + n_anon_1->m_node_type = NodeType::Pointer; + n_anon_1->m_addornements = "*"; + n_anon_1->m_address = base + offset; + n_anon_1->m_comment = "List seems to be processed index 0 first and then removal swaps last to first"; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_handler__T_anon_1, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_comment = "Seems to have very few bits set in lower half, (not copied with the pointer?)"; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_handler__T_anon_1, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_comment = "Seems to have many bits set in lower half, (not copied with the pointer?)"; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + +} +void node_from_job_handler(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "list"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_handler, field_name)); + auto n_list= new NodeCompound; + n_list->m_field_name = field_name; + n_list->m_df_type = DF_Type::job_list_link; + n_list->m_rdf_type = RDF_Type::DFLinkedList; + n_list->m_node_type = NodeType::Compound; + n_list->m_address = base + offset; + n_list->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_list); + + field_name = "postings"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_handler, field_name)); + auto n_postings = new NodeVector; + n_postings->m_field_name = field_name; + n_postings->m_df_type = DF_Type::job_handler__T_postings; + n_postings->m_rdf_type = RDF_Type::Vector; + n_postings->m_node_type = NodeType::Vector; + n_postings->m_addornements = "v*"; + n_postings->m_address = base + offset; + n_postings->m_comment = "entries never removed"; + n_postings->m_parent = p_node_parent; + n_postings->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_postings); + + field_name = "anon_1"; + auto n_anon_1 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_handler, field_name)); + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::job_handler__T_anon_1; + n_anon_1->m_rdf_type = RDF_Type::Array; + n_anon_1->m_node_type = NodeType::Array; + n_anon_1->m_addornements = "[2000"; + n_anon_1->m_array_size = 2000; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::job_handler, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_comment = "next slot"; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + +} +void node_from_building_handler(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "all"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_handler, field_name)); + auto n_all = new NodeVector; + n_all->m_field_name = field_name; + n_all->m_df_type = DF_Type::building; + n_all->m_rdf_type = RDF_Type::Vector; + n_all->m_node_type = NodeType::Vector; + n_all->m_defined_in = "df.buildings.xml"; + n_all->m_addornements = "v*"; + n_all->m_address = base + offset; + n_all->m_parent = p_node_parent; + n_all->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_all); + + field_name = "other"; + auto n_other = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_handler, field_name)); + n_other->m_field_name = field_name; + n_other->m_df_type = DF_Type::building; + n_other->m_rdf_type = RDF_Type::Array; + n_other->m_node_type = NodeType::Array; + n_other->m_index_enum = DF_Type::buildings_other_id; + n_other->m_defined_in = "df.buildings.xml"; + n_other->m_addornements = "[91v*"; + n_other->m_array_size = 91; + n_other->m_address = base + offset; + n_other->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_other); + + field_name = "bad"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_handler, field_name)); + auto n_bad = new NodeVector; + n_bad->m_field_name = field_name; + n_bad->m_df_type = DF_Type::building; + n_bad->m_rdf_type = RDF_Type::Vector; + n_bad->m_node_type = NodeType::Vector; + n_bad->m_defined_in = "df.buildings.xml"; + n_bad->m_addornements = "v*"; + n_bad->m_address = base + offset; + n_bad->m_parent = p_node_parent; + n_bad->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bad); + + field_name = "check_bridge_collapse"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_handler, field_name)); + auto n_check_bridge_collapse = new NodeSimple; + n_check_bridge_collapse->m_field_name = field_name; + n_check_bridge_collapse->m_df_type = DF_Type::Bool; + n_check_bridge_collapse->m_rdf_type = RDF_Type::Bool; + n_check_bridge_collapse->m_node_type = NodeType::Simple; + n_check_bridge_collapse->m_address = base + offset; + n_check_bridge_collapse->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_check_bridge_collapse); + + field_name = "check_machine_collapse"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::building_handler, field_name)); + auto n_check_machine_collapse = new NodeSimple; + n_check_machine_collapse->m_field_name = field_name; + n_check_machine_collapse->m_df_type = DF_Type::Bool; + n_check_machine_collapse->m_rdf_type = RDF_Type::Bool; + n_check_machine_collapse->m_node_type = NodeType::Simple; + n_check_machine_collapse->m_address = base + offset; + n_check_machine_collapse->m_comment = "?"; + n_check_machine_collapse->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_check_machine_collapse); + +} +void node_from_machine_handler(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "all"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::machine_handler, field_name)); + auto n_all = new NodeVector; + n_all->m_field_name = field_name; + n_all->m_df_type = DF_Type::machine; + n_all->m_rdf_type = RDF_Type::Vector; + n_all->m_node_type = NodeType::Vector; + n_all->m_defined_in = "df.machines.xml"; + n_all->m_addornements = "v*"; + n_all->m_address = base + offset; + n_all->m_parent = p_node_parent; + n_all->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_all); + + field_name = "bad"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::machine_handler, field_name)); + auto n_bad = new NodeVector; + n_bad->m_field_name = field_name; + n_bad->m_df_type = DF_Type::machine; + n_bad->m_rdf_type = RDF_Type::Vector; + n_bad->m_node_type = NodeType::Vector; + n_bad->m_defined_in = "df.machines.xml"; + n_bad->m_addornements = "v*"; + n_bad->m_address = base + offset; + n_bad->m_parent = p_node_parent; + n_bad->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bad); + +} +void node_from_mental_picture(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "elements"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture, field_name)); + auto n_elements = new NodeVector; + n_elements->m_field_name = field_name; + n_elements->m_df_type = DF_Type::mental_picture_elementst; + n_elements->m_rdf_type = RDF_Type::Vector; + n_elements->m_node_type = NodeType::Vector; + n_elements->m_defined_in = "df.history.xml"; + n_elements->m_addornements = "v*"; + n_elements->m_address = base + offset; + n_elements->m_parent = p_node_parent; + n_elements->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_elements); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "properties"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture, field_name)); + auto n_properties = new NodeVector; + n_properties->m_field_name = field_name; + n_properties->m_df_type = DF_Type::mental_picture_propertyst; + n_properties->m_rdf_type = RDF_Type::Vector; + n_properties->m_node_type = NodeType::Vector; + n_properties->m_defined_in = "df.history.xml"; + n_properties->m_addornements = "v*"; + n_properties->m_address = base + offset; + n_properties->m_parent = p_node_parent; + n_properties->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_properties); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture, field_name)); + auto n_anon_2 = new NodePointer; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_anon_2->m_rdf_type = RDF_Type::Pointer; + n_anon_2->m_node_type = NodeType::Pointer; + n_anon_2->m_addornements = "*"; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::mental_picture, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + +} +void node_from_belief_system(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_id = new NodeSimple; + n_id->m_field_name = field_name; + n_id->m_df_type = DF_Type::int32_t; + n_id->m_rdf_type = RDF_Type::int32_t; + n_id->m_node_type = NodeType::Simple; + n_id->m_address = base + offset; + n_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_id); + + field_name = "mental_pictures"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_mental_pictures = new NodeVector; + n_mental_pictures->m_field_name = field_name; + n_mental_pictures->m_df_type = DF_Type::mental_picture; + n_mental_pictures->m_rdf_type = RDF_Type::Vector; + n_mental_pictures->m_node_type = NodeType::Vector; + n_mental_pictures->m_defined_in = "df.world.xml"; + n_mental_pictures->m_addornements = "v*v*"; + n_mental_pictures->m_address = base + offset; + n_mental_pictures->m_parent = p_node_parent; + n_mental_pictures->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_mental_pictures); + + field_name = "deities"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_deities = new NodeVector; + n_deities->m_field_name = field_name; + n_deities->m_df_type = DF_Type::int32_t; + n_deities->m_rdf_type = RDF_Type::Vector; + n_deities->m_node_type = NodeType::Vector; + n_deities->m_addornements = "v"; + n_deities->m_address = base + offset; + n_deities->m_comment = "historical figure ID of gods the belief system is concerned with"; + n_deities->m_parent = p_node_parent; + n_deities->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_deities); + + field_name = "worship_levels"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_worship_levels = new NodeVector; + n_worship_levels->m_field_name = field_name; + n_worship_levels->m_df_type = DF_Type::int32_t; + n_worship_levels->m_rdf_type = RDF_Type::Vector; + n_worship_levels->m_node_type = NodeType::Vector; + n_worship_levels->m_addornements = "v"; + n_worship_levels->m_address = base + offset; + n_worship_levels->m_comment = "worship level for each god referenced in the deities field"; + n_worship_levels->m_parent = p_node_parent; + n_worship_levels->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_worship_levels); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_7 = new NodeSimple; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::int32_t; + n_anon_7->m_rdf_type = RDF_Type::int32_t; + n_anon_7->m_node_type = NodeType::Simple; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_7); + + field_name = "anon_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_8 = new NodeSimple; + n_anon_8->m_field_name = field_name; + n_anon_8->m_df_type = DF_Type::int32_t; + n_anon_8->m_rdf_type = RDF_Type::int32_t; + n_anon_8->m_node_type = NodeType::Simple; + n_anon_8->m_address = base + offset; + n_anon_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_8); + + field_name = "anon_9"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_9 = new NodeSimple; + n_anon_9->m_field_name = field_name; + n_anon_9->m_df_type = DF_Type::int32_t; + n_anon_9->m_rdf_type = RDF_Type::int32_t; + n_anon_9->m_node_type = NodeType::Simple; + n_anon_9->m_address = base + offset; + n_anon_9->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_9); + + field_name = "anon_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_10 = new NodeSimple; + n_anon_10->m_field_name = field_name; + n_anon_10->m_df_type = DF_Type::int32_t; + n_anon_10->m_rdf_type = RDF_Type::int32_t; + n_anon_10->m_node_type = NodeType::Simple; + n_anon_10->m_address = base + offset; + n_anon_10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_10); + + field_name = "anon_11"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_11 = new NodeSimple; + n_anon_11->m_field_name = field_name; + n_anon_11->m_df_type = DF_Type::int32_t; + n_anon_11->m_rdf_type = RDF_Type::int32_t; + n_anon_11->m_node_type = NodeType::Simple; + n_anon_11->m_address = base + offset; + n_anon_11->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_11); + + field_name = "anon_12"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_12 = new NodeSimple; + n_anon_12->m_field_name = field_name; + n_anon_12->m_df_type = DF_Type::int32_t; + n_anon_12->m_rdf_type = RDF_Type::int32_t; + n_anon_12->m_node_type = NodeType::Simple; + n_anon_12->m_address = base + offset; + n_anon_12->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_12); + + field_name = "anon_13"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_13 = new NodeSimple; + n_anon_13->m_field_name = field_name; + n_anon_13->m_df_type = DF_Type::int32_t; + n_anon_13->m_rdf_type = RDF_Type::int32_t; + n_anon_13->m_node_type = NodeType::Simple; + n_anon_13->m_address = base + offset; + n_anon_13->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_13); + + field_name = "anon_14"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_14 = new NodeSimple; + n_anon_14->m_field_name = field_name; + n_anon_14->m_df_type = DF_Type::int32_t; + n_anon_14->m_rdf_type = RDF_Type::int32_t; + n_anon_14->m_node_type = NodeType::Simple; + n_anon_14->m_address = base + offset; + n_anon_14->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_14); + + field_name = "anon_15"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_15 = new NodeSimple; + n_anon_15->m_field_name = field_name; + n_anon_15->m_df_type = DF_Type::int32_t; + n_anon_15->m_rdf_type = RDF_Type::int32_t; + n_anon_15->m_node_type = NodeType::Simple; + n_anon_15->m_address = base + offset; + n_anon_15->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_15); + + field_name = "anon_16"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_16 = new NodeSimple; + n_anon_16->m_field_name = field_name; + n_anon_16->m_df_type = DF_Type::int32_t; + n_anon_16->m_rdf_type = RDF_Type::int32_t; + n_anon_16->m_node_type = NodeType::Simple; + n_anon_16->m_address = base + offset; + n_anon_16->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_16); + + field_name = "anon_17"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_17 = new NodeSimple; + n_anon_17->m_field_name = field_name; + n_anon_17->m_df_type = DF_Type::int32_t; + n_anon_17->m_rdf_type = RDF_Type::int32_t; + n_anon_17->m_node_type = NodeType::Simple; + n_anon_17->m_address = base + offset; + n_anon_17->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_17); + + field_name = "anon_18"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_18 = new NodeSimple; + n_anon_18->m_field_name = field_name; + n_anon_18->m_df_type = DF_Type::int32_t; + n_anon_18->m_rdf_type = RDF_Type::int32_t; + n_anon_18->m_node_type = NodeType::Simple; + n_anon_18->m_address = base + offset; + n_anon_18->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_18); + + field_name = "anon_19"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_19 = new NodeSimple; + n_anon_19->m_field_name = field_name; + n_anon_19->m_df_type = DF_Type::int32_t; + n_anon_19->m_rdf_type = RDF_Type::int32_t; + n_anon_19->m_node_type = NodeType::Simple; + n_anon_19->m_address = base + offset; + n_anon_19->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_19); + + field_name = "anon_20"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_20 = new NodeSimple; + n_anon_20->m_field_name = field_name; + n_anon_20->m_df_type = DF_Type::int32_t; + n_anon_20->m_rdf_type = RDF_Type::int32_t; + n_anon_20->m_node_type = NodeType::Simple; + n_anon_20->m_address = base + offset; + n_anon_20->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_20); + + field_name = "anon_21"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_21 = new NodeSimple; + n_anon_21->m_field_name = field_name; + n_anon_21->m_df_type = DF_Type::int32_t; + n_anon_21->m_rdf_type = RDF_Type::int32_t; + n_anon_21->m_node_type = NodeType::Simple; + n_anon_21->m_address = base + offset; + n_anon_21->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_21); + + field_name = "anon_22"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_22 = new NodeSimple; + n_anon_22->m_field_name = field_name; + n_anon_22->m_df_type = DF_Type::int32_t; + n_anon_22->m_rdf_type = RDF_Type::int32_t; + n_anon_22->m_node_type = NodeType::Simple; + n_anon_22->m_address = base + offset; + n_anon_22->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_22); + + field_name = "anon_23"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_23 = new NodeSimple; + n_anon_23->m_field_name = field_name; + n_anon_23->m_df_type = DF_Type::int32_t; + n_anon_23->m_rdf_type = RDF_Type::int32_t; + n_anon_23->m_node_type = NodeType::Simple; + n_anon_23->m_address = base + offset; + n_anon_23->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_23); + + field_name = "anon_24"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_24 = new NodeSimple; + n_anon_24->m_field_name = field_name; + n_anon_24->m_df_type = DF_Type::int32_t; + n_anon_24->m_rdf_type = RDF_Type::int32_t; + n_anon_24->m_node_type = NodeType::Simple; + n_anon_24->m_address = base + offset; + n_anon_24->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_24); + + field_name = "anon_25"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_25 = new NodeSimple; + n_anon_25->m_field_name = field_name; + n_anon_25->m_df_type = DF_Type::int32_t; + n_anon_25->m_rdf_type = RDF_Type::int32_t; + n_anon_25->m_node_type = NodeType::Simple; + n_anon_25->m_address = base + offset; + n_anon_25->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_25); + + field_name = "anon_26"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_26 = new NodeSimple; + n_anon_26->m_field_name = field_name; + n_anon_26->m_df_type = DF_Type::int32_t; + n_anon_26->m_rdf_type = RDF_Type::int32_t; + n_anon_26->m_node_type = NodeType::Simple; + n_anon_26->m_address = base + offset; + n_anon_26->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_26); + + field_name = "anon_27"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_27 = new NodeSimple; + n_anon_27->m_field_name = field_name; + n_anon_27->m_df_type = DF_Type::int32_t; + n_anon_27->m_rdf_type = RDF_Type::int32_t; + n_anon_27->m_node_type = NodeType::Simple; + n_anon_27->m_address = base + offset; + n_anon_27->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_27); + + field_name = "anon_28"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_28 = new NodeSimple; + n_anon_28->m_field_name = field_name; + n_anon_28->m_df_type = DF_Type::int32_t; + n_anon_28->m_rdf_type = RDF_Type::int32_t; + n_anon_28->m_node_type = NodeType::Simple; + n_anon_28->m_address = base + offset; + n_anon_28->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_28); + + field_name = "anon_29"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_29 = new NodeSimple; + n_anon_29->m_field_name = field_name; + n_anon_29->m_df_type = DF_Type::int32_t; + n_anon_29->m_rdf_type = RDF_Type::int32_t; + n_anon_29->m_node_type = NodeType::Simple; + n_anon_29->m_address = base + offset; + n_anon_29->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_29); + + field_name = "anon_30"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_30 = new NodeSimple; + n_anon_30->m_field_name = field_name; + n_anon_30->m_df_type = DF_Type::int32_t; + n_anon_30->m_rdf_type = RDF_Type::int32_t; + n_anon_30->m_node_type = NodeType::Simple; + n_anon_30->m_address = base + offset; + n_anon_30->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_30); + + field_name = "anon_31"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_31 = new NodeSimple; + n_anon_31->m_field_name = field_name; + n_anon_31->m_df_type = DF_Type::int32_t; + n_anon_31->m_rdf_type = RDF_Type::int32_t; + n_anon_31->m_node_type = NodeType::Simple; + n_anon_31->m_address = base + offset; + n_anon_31->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_31); + + field_name = "anon_32"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_32 = new NodeSimple; + n_anon_32->m_field_name = field_name; + n_anon_32->m_df_type = DF_Type::int32_t; + n_anon_32->m_rdf_type = RDF_Type::int32_t; + n_anon_32->m_node_type = NodeType::Simple; + n_anon_32->m_address = base + offset; + n_anon_32->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_32); + + field_name = "anon_33"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_33 = new NodeSimple; + n_anon_33->m_field_name = field_name; + n_anon_33->m_df_type = DF_Type::int32_t; + n_anon_33->m_rdf_type = RDF_Type::int32_t; + n_anon_33->m_node_type = NodeType::Simple; + n_anon_33->m_address = base + offset; + n_anon_33->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_33); + + field_name = "anon_34"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_34 = new NodeSimple; + n_anon_34->m_field_name = field_name; + n_anon_34->m_df_type = DF_Type::int32_t; + n_anon_34->m_rdf_type = RDF_Type::int32_t; + n_anon_34->m_node_type = NodeType::Simple; + n_anon_34->m_address = base + offset; + n_anon_34->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_34); + + field_name = "anon_35"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_35 = new NodeSimple; + n_anon_35->m_field_name = field_name; + n_anon_35->m_df_type = DF_Type::int32_t; + n_anon_35->m_rdf_type = RDF_Type::int32_t; + n_anon_35->m_node_type = NodeType::Simple; + n_anon_35->m_address = base + offset; + n_anon_35->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_35); + + field_name = "anon_36"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_36 = new NodeSimple; + n_anon_36->m_field_name = field_name; + n_anon_36->m_df_type = DF_Type::int32_t; + n_anon_36->m_rdf_type = RDF_Type::int32_t; + n_anon_36->m_node_type = NodeType::Simple; + n_anon_36->m_address = base + offset; + n_anon_36->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_36); + + field_name = "anon_37"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_37 = new NodeSimple; + n_anon_37->m_field_name = field_name; + n_anon_37->m_df_type = DF_Type::int32_t; + n_anon_37->m_rdf_type = RDF_Type::int32_t; + n_anon_37->m_node_type = NodeType::Simple; + n_anon_37->m_address = base + offset; + n_anon_37->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_37); + + field_name = "anon_38"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_38 = new NodeSimple; + n_anon_38->m_field_name = field_name; + n_anon_38->m_df_type = DF_Type::int32_t; + n_anon_38->m_rdf_type = RDF_Type::int32_t; + n_anon_38->m_node_type = NodeType::Simple; + n_anon_38->m_address = base + offset; + n_anon_38->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_38); + + field_name = "anon_39"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_39 = new NodeSimple; + n_anon_39->m_field_name = field_name; + n_anon_39->m_df_type = DF_Type::int32_t; + n_anon_39->m_rdf_type = RDF_Type::int32_t; + n_anon_39->m_node_type = NodeType::Simple; + n_anon_39->m_address = base + offset; + n_anon_39->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_39); + + field_name = "anon_40"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_40 = new NodeSimple; + n_anon_40->m_field_name = field_name; + n_anon_40->m_df_type = DF_Type::int32_t; + n_anon_40->m_rdf_type = RDF_Type::int32_t; + n_anon_40->m_node_type = NodeType::Simple; + n_anon_40->m_address = base + offset; + n_anon_40->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_40); + + field_name = "anon_41"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_41 = new NodeSimple; + n_anon_41->m_field_name = field_name; + n_anon_41->m_df_type = DF_Type::int32_t; + n_anon_41->m_rdf_type = RDF_Type::int32_t; + n_anon_41->m_node_type = NodeType::Simple; + n_anon_41->m_address = base + offset; + n_anon_41->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_41); + + field_name = "anon_42"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_42 = new NodeSimple; + n_anon_42->m_field_name = field_name; + n_anon_42->m_df_type = DF_Type::int32_t; + n_anon_42->m_rdf_type = RDF_Type::int32_t; + n_anon_42->m_node_type = NodeType::Simple; + n_anon_42->m_address = base + offset; + n_anon_42->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_42); + + field_name = "anon_43"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_43 = new NodeSimple; + n_anon_43->m_field_name = field_name; + n_anon_43->m_df_type = DF_Type::int32_t; + n_anon_43->m_rdf_type = RDF_Type::int32_t; + n_anon_43->m_node_type = NodeType::Simple; + n_anon_43->m_address = base + offset; + n_anon_43->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_43); + + field_name = "anon_44"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_44 = new NodeSimple; + n_anon_44->m_field_name = field_name; + n_anon_44->m_df_type = DF_Type::int32_t; + n_anon_44->m_rdf_type = RDF_Type::int32_t; + n_anon_44->m_node_type = NodeType::Simple; + n_anon_44->m_address = base + offset; + n_anon_44->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_44); + + field_name = "anon_45"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_45 = new NodeSimple; + n_anon_45->m_field_name = field_name; + n_anon_45->m_df_type = DF_Type::int32_t; + n_anon_45->m_rdf_type = RDF_Type::int32_t; + n_anon_45->m_node_type = NodeType::Simple; + n_anon_45->m_address = base + offset; + n_anon_45->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_45); + + field_name = "anon_46"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_46 = new NodeSimple; + n_anon_46->m_field_name = field_name; + n_anon_46->m_df_type = DF_Type::int32_t; + n_anon_46->m_rdf_type = RDF_Type::int32_t; + n_anon_46->m_node_type = NodeType::Simple; + n_anon_46->m_address = base + offset; + n_anon_46->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_46); + + field_name = "anon_47"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_47 = new NodeSimple; + n_anon_47->m_field_name = field_name; + n_anon_47->m_df_type = DF_Type::int32_t; + n_anon_47->m_rdf_type = RDF_Type::int32_t; + n_anon_47->m_node_type = NodeType::Simple; + n_anon_47->m_address = base + offset; + n_anon_47->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_47); + + field_name = "anon_48"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_48 = new NodeSimple; + n_anon_48->m_field_name = field_name; + n_anon_48->m_df_type = DF_Type::int32_t; + n_anon_48->m_rdf_type = RDF_Type::int32_t; + n_anon_48->m_node_type = NodeType::Simple; + n_anon_48->m_address = base + offset; + n_anon_48->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_48); + + field_name = "anon_49"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_49 = new NodeSimple; + n_anon_49->m_field_name = field_name; + n_anon_49->m_df_type = DF_Type::int32_t; + n_anon_49->m_rdf_type = RDF_Type::int32_t; + n_anon_49->m_node_type = NodeType::Simple; + n_anon_49->m_address = base + offset; + n_anon_49->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_49); + + field_name = "anon_50"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_50 = new NodeSimple; + n_anon_50->m_field_name = field_name; + n_anon_50->m_df_type = DF_Type::int32_t; + n_anon_50->m_rdf_type = RDF_Type::int32_t; + n_anon_50->m_node_type = NodeType::Simple; + n_anon_50->m_address = base + offset; + n_anon_50->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_50); + + field_name = "anon_51"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_51 = new NodeSimple; + n_anon_51->m_field_name = field_name; + n_anon_51->m_df_type = DF_Type::int32_t; + n_anon_51->m_rdf_type = RDF_Type::int32_t; + n_anon_51->m_node_type = NodeType::Simple; + n_anon_51->m_address = base + offset; + n_anon_51->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_51); + + field_name = "anon_52"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_52 = new NodeSimple; + n_anon_52->m_field_name = field_name; + n_anon_52->m_df_type = DF_Type::int32_t; + n_anon_52->m_rdf_type = RDF_Type::int32_t; + n_anon_52->m_node_type = NodeType::Simple; + n_anon_52->m_address = base + offset; + n_anon_52->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_52); + + field_name = "anon_53"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_53 = new NodeSimple; + n_anon_53->m_field_name = field_name; + n_anon_53->m_df_type = DF_Type::int32_t; + n_anon_53->m_rdf_type = RDF_Type::int32_t; + n_anon_53->m_node_type = NodeType::Simple; + n_anon_53->m_address = base + offset; + n_anon_53->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_53); + + field_name = "anon_54"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_54 = new NodeSimple; + n_anon_54->m_field_name = field_name; + n_anon_54->m_df_type = DF_Type::int32_t; + n_anon_54->m_rdf_type = RDF_Type::int32_t; + n_anon_54->m_node_type = NodeType::Simple; + n_anon_54->m_address = base + offset; + n_anon_54->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_54); + + field_name = "anon_55"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_55 = new NodeSimple; + n_anon_55->m_field_name = field_name; + n_anon_55->m_df_type = DF_Type::int32_t; + n_anon_55->m_rdf_type = RDF_Type::int32_t; + n_anon_55->m_node_type = NodeType::Simple; + n_anon_55->m_address = base + offset; + n_anon_55->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_55); + + field_name = "anon_56"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_56 = new NodeSimple; + n_anon_56->m_field_name = field_name; + n_anon_56->m_df_type = DF_Type::int32_t; + n_anon_56->m_rdf_type = RDF_Type::int32_t; + n_anon_56->m_node_type = NodeType::Simple; + n_anon_56->m_address = base + offset; + n_anon_56->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_56); + + field_name = "anon_57"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_57 = new NodeSimple; + n_anon_57->m_field_name = field_name; + n_anon_57->m_df_type = DF_Type::int32_t; + n_anon_57->m_rdf_type = RDF_Type::int32_t; + n_anon_57->m_node_type = NodeType::Simple; + n_anon_57->m_address = base + offset; + n_anon_57->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_57); + + field_name = "anon_58"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_58 = new NodeSimple; + n_anon_58->m_field_name = field_name; + n_anon_58->m_df_type = DF_Type::int32_t; + n_anon_58->m_rdf_type = RDF_Type::int32_t; + n_anon_58->m_node_type = NodeType::Simple; + n_anon_58->m_address = base + offset; + n_anon_58->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_58); + + field_name = "anon_59"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_59 = new NodeSimple; + n_anon_59->m_field_name = field_name; + n_anon_59->m_df_type = DF_Type::int32_t; + n_anon_59->m_rdf_type = RDF_Type::int32_t; + n_anon_59->m_node_type = NodeType::Simple; + n_anon_59->m_address = base + offset; + n_anon_59->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_59); + + field_name = "anon_60"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_60 = new NodeSimple; + n_anon_60->m_field_name = field_name; + n_anon_60->m_df_type = DF_Type::int32_t; + n_anon_60->m_rdf_type = RDF_Type::int32_t; + n_anon_60->m_node_type = NodeType::Simple; + n_anon_60->m_address = base + offset; + n_anon_60->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_60); + + field_name = "anon_61"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_61 = new NodeSimple; + n_anon_61->m_field_name = field_name; + n_anon_61->m_df_type = DF_Type::int32_t; + n_anon_61->m_rdf_type = RDF_Type::int32_t; + n_anon_61->m_node_type = NodeType::Simple; + n_anon_61->m_address = base + offset; + n_anon_61->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_61); + + field_name = "anon_62"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_62 = new NodeSimple; + n_anon_62->m_field_name = field_name; + n_anon_62->m_df_type = DF_Type::int32_t; + n_anon_62->m_rdf_type = RDF_Type::int32_t; + n_anon_62->m_node_type = NodeType::Simple; + n_anon_62->m_address = base + offset; + n_anon_62->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_62); + + field_name = "anon_63"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_63 = new NodeSimple; + n_anon_63->m_field_name = field_name; + n_anon_63->m_df_type = DF_Type::int32_t; + n_anon_63->m_rdf_type = RDF_Type::int32_t; + n_anon_63->m_node_type = NodeType::Simple; + n_anon_63->m_address = base + offset; + n_anon_63->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_63); + + field_name = "anon_64"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::belief_system, field_name)); + auto n_anon_64 = new NodeSimple; + n_anon_64->m_field_name = field_name; + n_anon_64->m_df_type = DF_Type::int32_t; + n_anon_64->m_rdf_type = RDF_Type::int32_t; + n_anon_64->m_node_type = NodeType::Simple; + n_anon_64->m_address = base + offset; + n_anon_64->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_64); + +} +void node_from_world__T_vermin(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "all"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_vermin, field_name)); + auto n_all = new NodeVector; + n_all->m_field_name = field_name; + n_all->m_df_type = DF_Type::vermin; + n_all->m_rdf_type = RDF_Type::Vector; + n_all->m_node_type = NodeType::Vector; + n_all->m_defined_in = "df.vermin.xml"; + n_all->m_addornements = "v*"; + n_all->m_address = base + offset; + n_all->m_parent = p_node_parent; + n_all->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_all); + + field_name = "colonies"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_vermin, field_name)); + auto n_colonies = new NodeVector; + n_colonies->m_field_name = field_name; + n_colonies->m_df_type = DF_Type::vermin; + n_colonies->m_rdf_type = RDF_Type::Vector; + n_colonies->m_node_type = NodeType::Vector; + n_colonies->m_defined_in = "df.vermin.xml"; + n_colonies->m_addornements = "v*"; + n_colonies->m_address = base + offset; + n_colonies->m_parent = p_node_parent; + n_colonies->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_colonies); + +} +void node_from_world__T_entities(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "all"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_entities, field_name)); + auto n_all = new NodeVector; + n_all->m_field_name = field_name; + n_all->m_df_type = DF_Type::historical_entity; + n_all->m_rdf_type = RDF_Type::Vector; + n_all->m_node_type = NodeType::Vector; + n_all->m_defined_in = "df.entities.xml"; + n_all->m_addornements = "v*"; + n_all->m_address = base + offset; + n_all->m_parent = p_node_parent; + n_all->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_all); + + field_name = "bad"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_entities, field_name)); + auto n_bad = new NodeVector; + n_bad->m_field_name = field_name; + n_bad->m_df_type = DF_Type::historical_entity; + n_bad->m_rdf_type = RDF_Type::Vector; + n_bad->m_node_type = NodeType::Vector; + n_bad->m_defined_in = "df.entities.xml"; + n_bad->m_addornements = "v*"; + n_bad->m_address = base + offset; + n_bad->m_parent = p_node_parent; + n_bad->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bad); + +} +void node_from_world__T_worldgen_coord_buf(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "slots"; + auto n_slots = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_coord_buf, field_name)); + n_slots->m_field_name = field_name; + n_slots->m_df_type = DF_Type::coord2d; + n_slots->m_rdf_type = RDF_Type::Array; + n_slots->m_node_type = NodeType::Array; + n_slots->m_defined_in = "df.map.xml"; + n_slots->m_addornements = "[20000"; + n_slots->m_array_size = 20000; + n_slots->m_address = base + offset; + n_slots->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_slots); + + field_name = "next_slot"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_coord_buf, field_name)); + auto n_next_slot = new NodeSimple; + n_next_slot->m_field_name = field_name; + n_next_slot->m_df_type = DF_Type::int16_t; + n_next_slot->m_rdf_type = RDF_Type::int16_t; + n_next_slot->m_node_type = NodeType::Simple; + n_next_slot->m_address = base + offset; + n_next_slot->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_next_slot); + +} +void node_from_world__T_units(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "all"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_units, field_name)); + auto n_all = new NodeVector; + n_all->m_field_name = field_name; + n_all->m_df_type = DF_Type::unit; + n_all->m_rdf_type = RDF_Type::Vector; + n_all->m_node_type = NodeType::Vector; + n_all->m_defined_in = "df.units.xml"; + n_all->m_addornements = "v*"; + n_all->m_address = base + offset; + n_all->m_parent = p_node_parent; + n_all->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_all); + + field_name = "active"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_units, field_name)); + auto n_active = new NodeVector; + n_active->m_field_name = field_name; + n_active->m_df_type = DF_Type::unit; + n_active->m_rdf_type = RDF_Type::Vector; + n_active->m_node_type = NodeType::Vector; + n_active->m_defined_in = "df.units.xml"; + n_active->m_addornements = "v*"; + n_active->m_address = base + offset; + n_active->m_comment = "not sorted, entry 0 is adventurer"; + n_active->m_parent = p_node_parent; + n_active->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_active); + + field_name = "other"; + auto n_other = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_units, field_name)); + n_other->m_field_name = field_name; + n_other->m_df_type = DF_Type::unit; + n_other->m_rdf_type = RDF_Type::Array; + n_other->m_node_type = NodeType::Array; + n_other->m_index_enum = DF_Type::units_other_id; + n_other->m_defined_in = "df.units.xml"; + n_other->m_addornements = "[2v*"; + n_other->m_array_size = 2; + n_other->m_address = base + offset; + n_other->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_other); + + field_name = "bad"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_units, field_name)); + auto n_bad = new NodeVector; + n_bad->m_field_name = field_name; + n_bad->m_df_type = DF_Type::unit; + n_bad->m_rdf_type = RDF_Type::Vector; + n_bad->m_node_type = NodeType::Vector; + n_bad->m_defined_in = "df.units.xml"; + n_bad->m_addornements = "v*"; + n_bad->m_address = base + offset; + n_bad->m_parent = p_node_parent; + n_bad->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bad); + + field_name = "unknown"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_units, field_name)); + auto n_unknown = new NodeVector; + n_unknown->m_field_name = field_name; + n_unknown->m_df_type = DF_Type::Void; + n_unknown->m_rdf_type = RDF_Type::Vector; + n_unknown->m_node_type = NodeType::Vector; + n_unknown->m_addornements = "v"; + n_unknown->m_address = base + offset; + n_unknown->m_parent = p_node_parent; + n_unknown->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unknown); + +} +void node_from_world__T_nemesis(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "all"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_nemesis, field_name)); + auto n_all = new NodeVector; + n_all->m_field_name = field_name; + n_all->m_df_type = DF_Type::nemesis_record; + n_all->m_rdf_type = RDF_Type::Vector; + n_all->m_node_type = NodeType::Vector; + n_all->m_defined_in = "df.legends.xml"; + n_all->m_addornements = "v*"; + n_all->m_address = base + offset; + n_all->m_parent = p_node_parent; + n_all->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_all); + + field_name = "other"; + auto n_other = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_nemesis, field_name)); + n_other->m_field_name = field_name; + n_other->m_df_type = DF_Type::nemesis_record; + n_other->m_rdf_type = RDF_Type::Array; + n_other->m_node_type = NodeType::Array; + n_other->m_defined_in = "df.legends.xml"; + n_other->m_addornements = "[2v*"; + n_other->m_array_size = 2; + n_other->m_address = base + offset; + n_other->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_other); + + field_name = "bad"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_nemesis, field_name)); + auto n_bad = new NodeVector; + n_bad->m_field_name = field_name; + n_bad->m_df_type = DF_Type::nemesis_record; + n_bad->m_rdf_type = RDF_Type::Vector; + n_bad->m_node_type = NodeType::Vector; + n_bad->m_defined_in = "df.legends.xml"; + n_bad->m_addornements = "v*"; + n_bad->m_address = base + offset; + n_bad->m_parent = p_node_parent; + n_bad->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bad); + + field_name = "unk4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_nemesis, field_name)); + auto n_unk4 = new NodeSimple; + n_unk4->m_field_name = field_name; + n_unk4->m_df_type = DF_Type::Bool; + n_unk4->m_rdf_type = RDF_Type::Bool; + n_unk4->m_node_type = NodeType::Simple; + n_unk4->m_address = base + offset; + n_unk4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk4); + +} +void node_from_world__T_items(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "all"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_items, field_name)); + auto n_all = new NodeVector; + n_all->m_field_name = field_name; + n_all->m_df_type = DF_Type::item; + n_all->m_rdf_type = RDF_Type::Vector; + n_all->m_node_type = NodeType::Vector; + n_all->m_defined_in = "df.items.xml"; + n_all->m_addornements = "v*"; + n_all->m_address = base + offset; + n_all->m_parent = p_node_parent; + n_all->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_all); + + field_name = "other"; + auto n_other = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_items, field_name)); + n_other->m_field_name = field_name; + n_other->m_df_type = DF_Type::item; + n_other->m_rdf_type = RDF_Type::Array; + n_other->m_node_type = NodeType::Array; + n_other->m_index_enum = DF_Type::items_other_id; + n_other->m_defined_in = "df.items.xml"; + n_other->m_addornements = "[132v*"; + n_other->m_array_size = 132; + n_other->m_address = base + offset; + n_other->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_other); + + field_name = "bad"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_items, field_name)); + auto n_bad = new NodeVector; + n_bad->m_field_name = field_name; + n_bad->m_df_type = DF_Type::item; + n_bad->m_rdf_type = RDF_Type::Vector; + n_bad->m_node_type = NodeType::Vector; + n_bad->m_defined_in = "df.items.xml"; + n_bad->m_addornements = "v*"; + n_bad->m_address = base + offset; + n_bad->m_parent = p_node_parent; + n_bad->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bad); + + field_name = "bad_tag"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_items, field_name)); + auto n_bad_tag = new NodeVector; + n_bad_tag->m_field_name = field_name; + n_bad_tag->m_df_type = DF_Type::int32_t; + n_bad_tag->m_rdf_type = RDF_Type::Vector; + n_bad_tag->m_node_type = NodeType::Vector; + n_bad_tag->m_addornements = "v"; + n_bad_tag->m_address = base + offset; + n_bad_tag->m_parent = p_node_parent; + n_bad_tag->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bad_tag); + +} +void node_from_world__T_artifacts(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "all"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_artifacts, field_name)); + auto n_all = new NodeVector; + n_all->m_field_name = field_name; + n_all->m_df_type = DF_Type::artifact_record; + n_all->m_rdf_type = RDF_Type::Vector; + n_all->m_node_type = NodeType::Vector; + n_all->m_defined_in = "df.legends.xml"; + n_all->m_addornements = "v*"; + n_all->m_address = base + offset; + n_all->m_parent = p_node_parent; + n_all->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_all); + + field_name = "bad"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_artifacts, field_name)); + auto n_bad = new NodeVector; + n_bad->m_field_name = field_name; + n_bad->m_df_type = DF_Type::artifact_record; + n_bad->m_rdf_type = RDF_Type::Vector; + n_bad->m_node_type = NodeType::Vector; + n_bad->m_defined_in = "df.legends.xml"; + n_bad->m_addornements = "v*"; + n_bad->m_address = base + offset; + n_bad->m_parent = p_node_parent; + n_bad->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bad); + +} +void node_from_world__T_flow_guides(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "all"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_flow_guides, field_name)); + auto n_all = new NodeVector; + n_all->m_field_name = field_name; + n_all->m_df_type = DF_Type::flow_guide; + n_all->m_rdf_type = RDF_Type::Vector; + n_all->m_node_type = NodeType::Vector; + n_all->m_defined_in = "df.map.xml"; + n_all->m_addornements = "v*"; + n_all->m_address = base + offset; + n_all->m_parent = p_node_parent; + n_all->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_all); + + field_name = "bad"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_flow_guides, field_name)); + auto n_bad = new NodeVector; + n_bad->m_field_name = field_name; + n_bad->m_df_type = DF_Type::flow_guide; + n_bad->m_rdf_type = RDF_Type::Vector; + n_bad->m_node_type = NodeType::Vector; + n_bad->m_defined_in = "df.map.xml"; + n_bad->m_addornements = "v*"; + n_bad->m_address = base + offset; + n_bad->m_parent = p_node_parent; + n_bad->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bad); + +} +void node_from_world__T_stockpile__T_simple1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile__T_simple1, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int8_t; + n_anon_1->m_rdf_type = RDF_Type::int8_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "food"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile__T_simple1, field_name)); + auto n_food = new NodeSimple; + n_food->m_field_name = field_name; + n_food->m_df_type = DF_Type::int8_t; + n_food->m_rdf_type = RDF_Type::int8_t; + n_food->m_node_type = NodeType::Simple; + n_food->m_address = base + offset; + n_food->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_food); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile__T_simple1, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int8_t; + n_anon_2->m_rdf_type = RDF_Type::int8_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile__T_simple1, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int8_t; + n_anon_3->m_rdf_type = RDF_Type::int8_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + +} +void node_from_world__T_stockpile__T_simple2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "seeds"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile__T_simple2, field_name)); + auto n_seeds = new NodeSimple; + n_seeds->m_field_name = field_name; + n_seeds->m_df_type = DF_Type::int8_t; + n_seeds->m_rdf_type = RDF_Type::int8_t; + n_seeds->m_node_type = NodeType::Simple; + n_seeds->m_address = base + offset; + n_seeds->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_seeds); + + field_name = "plants"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile__T_simple2, field_name)); + auto n_plants = new NodeSimple; + n_plants->m_field_name = field_name; + n_plants->m_df_type = DF_Type::int8_t; + n_plants->m_rdf_type = RDF_Type::int8_t; + n_plants->m_node_type = NodeType::Simple; + n_plants->m_address = base + offset; + n_plants->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_plants); + + field_name = "cheese"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile__T_simple2, field_name)); + auto n_cheese = new NodeSimple; + n_cheese->m_field_name = field_name; + n_cheese->m_df_type = DF_Type::int8_t; + n_cheese->m_rdf_type = RDF_Type::int8_t; + n_cheese->m_node_type = NodeType::Simple; + n_cheese->m_address = base + offset; + n_cheese->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cheese); + + field_name = "fish"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile__T_simple2, field_name)); + auto n_fish = new NodeSimple; + n_fish->m_field_name = field_name; + n_fish->m_df_type = DF_Type::int8_t; + n_fish->m_rdf_type = RDF_Type::int8_t; + n_fish->m_node_type = NodeType::Simple; + n_fish->m_address = base + offset; + n_fish->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_fish); + + field_name = "meat"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile__T_simple2, field_name)); + auto n_meat = new NodeSimple; + n_meat->m_field_name = field_name; + n_meat->m_df_type = DF_Type::int8_t; + n_meat->m_rdf_type = RDF_Type::int8_t; + n_meat->m_node_type = NodeType::Simple; + n_meat->m_address = base + offset; + n_meat->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_meat); + + field_name = "leaves"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile__T_simple2, field_name)); + auto n_leaves = new NodeSimple; + n_leaves->m_field_name = field_name; + n_leaves->m_df_type = DF_Type::int8_t; + n_leaves->m_rdf_type = RDF_Type::int8_t; + n_leaves->m_node_type = NodeType::Simple; + n_leaves->m_address = base + offset; + n_leaves->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_leaves); + + field_name = "powder"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile__T_simple2, field_name)); + auto n_powder = new NodeSimple; + n_powder->m_field_name = field_name; + n_powder->m_df_type = DF_Type::int8_t; + n_powder->m_rdf_type = RDF_Type::int8_t; + n_powder->m_node_type = NodeType::Simple; + n_powder->m_address = base + offset; + n_powder->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_powder); + + field_name = "eggs"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile__T_simple2, field_name)); + auto n_eggs = new NodeSimple; + n_eggs->m_field_name = field_name; + n_eggs->m_df_type = DF_Type::int8_t; + n_eggs->m_rdf_type = RDF_Type::int8_t; + n_eggs->m_node_type = NodeType::Simple; + n_eggs->m_address = base + offset; + n_eggs->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_eggs); + +} +void node_from_world__T_stockpile__T_simple3(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "glob_fat"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile__T_simple3, field_name)); + auto n_glob_fat = new NodeSimple; + n_glob_fat->m_field_name = field_name; + n_glob_fat->m_df_type = DF_Type::int8_t; + n_glob_fat->m_rdf_type = RDF_Type::int8_t; + n_glob_fat->m_node_type = NodeType::Simple; + n_glob_fat->m_address = base + offset; + n_glob_fat->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_glob_fat); + + field_name = "glob_tallow"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile__T_simple3, field_name)); + auto n_glob_tallow = new NodeSimple; + n_glob_tallow->m_field_name = field_name; + n_glob_tallow->m_df_type = DF_Type::int8_t; + n_glob_tallow->m_rdf_type = RDF_Type::int8_t; + n_glob_tallow->m_node_type = NodeType::Simple; + n_glob_tallow->m_address = base + offset; + n_glob_tallow->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_glob_tallow); + + field_name = "glob_paste"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile__T_simple3, field_name)); + auto n_glob_paste = new NodeSimple; + n_glob_paste->m_field_name = field_name; + n_glob_paste->m_df_type = DF_Type::int8_t; + n_glob_paste->m_rdf_type = RDF_Type::int8_t; + n_glob_paste->m_node_type = NodeType::Simple; + n_glob_paste->m_address = base + offset; + n_glob_paste->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_glob_paste); + + field_name = "glob_pressed"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile__T_simple3, field_name)); + auto n_glob_pressed = new NodeSimple; + n_glob_pressed->m_field_name = field_name; + n_glob_pressed->m_df_type = DF_Type::int8_t; + n_glob_pressed->m_rdf_type = RDF_Type::int8_t; + n_glob_pressed->m_node_type = NodeType::Simple; + n_glob_pressed->m_address = base + offset; + n_glob_pressed->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_glob_pressed); + + field_name = "weapons"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile__T_simple3, field_name)); + auto n_weapons = new NodeSimple; + n_weapons->m_field_name = field_name; + n_weapons->m_df_type = DF_Type::int8_t; + n_weapons->m_rdf_type = RDF_Type::int8_t; + n_weapons->m_node_type = NodeType::Simple; + n_weapons->m_address = base + offset; + n_weapons->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_weapons); + + field_name = "shields"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile__T_simple3, field_name)); + auto n_shields = new NodeSimple; + n_shields->m_field_name = field_name; + n_shields->m_df_type = DF_Type::int8_t; + n_shields->m_rdf_type = RDF_Type::int8_t; + n_shields->m_node_type = NodeType::Simple; + n_shields->m_address = base + offset; + n_shields->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_shields); + + field_name = "ammo"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile__T_simple3, field_name)); + auto n_ammo = new NodeSimple; + n_ammo->m_field_name = field_name; + n_ammo->m_df_type = DF_Type::int8_t; + n_ammo->m_rdf_type = RDF_Type::int8_t; + n_ammo->m_node_type = NodeType::Simple; + n_ammo->m_address = base + offset; + n_ammo->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ammo); + + field_name = "coins"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile__T_simple3, field_name)); + auto n_coins = new NodeSimple; + n_coins->m_field_name = field_name; + n_coins->m_df_type = DF_Type::int8_t; + n_coins->m_rdf_type = RDF_Type::int8_t; + n_coins->m_node_type = NodeType::Simple; + n_coins->m_address = base + offset; + n_coins->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_coins); + + field_name = "bar_blocks"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile__T_simple3, field_name)); + auto n_bar_blocks = new NodeSimple; + n_bar_blocks->m_field_name = field_name; + n_bar_blocks->m_df_type = DF_Type::int8_t; + n_bar_blocks->m_rdf_type = RDF_Type::int8_t; + n_bar_blocks->m_node_type = NodeType::Simple; + n_bar_blocks->m_address = base + offset; + n_bar_blocks->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_bar_blocks); + + field_name = "gems"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile__T_simple3, field_name)); + auto n_gems = new NodeSimple; + n_gems->m_field_name = field_name; + n_gems->m_df_type = DF_Type::int8_t; + n_gems->m_rdf_type = RDF_Type::int8_t; + n_gems->m_node_type = NodeType::Simple; + n_gems->m_address = base + offset; + n_gems->m_comment = "not large"; + n_gems->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_gems); + + field_name = "finished_goods"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile__T_simple3, field_name)); + auto n_finished_goods = new NodeSimple; + n_finished_goods->m_field_name = field_name; + n_finished_goods->m_df_type = DF_Type::int8_t; + n_finished_goods->m_rdf_type = RDF_Type::int8_t; + n_finished_goods->m_node_type = NodeType::Simple; + n_finished_goods->m_address = base + offset; + n_finished_goods->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_finished_goods); + + field_name = "tanned_skins"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile__T_simple3, field_name)); + auto n_tanned_skins = new NodeSimple; + n_tanned_skins->m_field_name = field_name; + n_tanned_skins->m_df_type = DF_Type::int8_t; + n_tanned_skins->m_rdf_type = RDF_Type::int8_t; + n_tanned_skins->m_node_type = NodeType::Simple; + n_tanned_skins->m_address = base + offset; + n_tanned_skins->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tanned_skins); + + field_name = "thread_cloth"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile__T_simple3, field_name)); + auto n_thread_cloth = new NodeSimple; + n_thread_cloth->m_field_name = field_name; + n_thread_cloth->m_df_type = DF_Type::int8_t; + n_thread_cloth->m_rdf_type = RDF_Type::int8_t; + n_thread_cloth->m_node_type = NodeType::Simple; + n_thread_cloth->m_address = base + offset; + n_thread_cloth->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_thread_cloth); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile__T_simple3, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int8_t; + n_anon_1->m_rdf_type = RDF_Type::int8_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile__T_simple3, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int8_t; + n_anon_2->m_rdf_type = RDF_Type::int8_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile__T_simple3, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int8_t; + n_anon_3->m_rdf_type = RDF_Type::int8_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + +} +void node_from_world__T_stockpile(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "num_jobs"; + auto n_num_jobs = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile, field_name)); + n_num_jobs->m_field_name = field_name; + n_num_jobs->m_df_type = DF_Type::int32_t; + n_num_jobs->m_rdf_type = RDF_Type::Array; + n_num_jobs->m_node_type = NodeType::Array; + n_num_jobs->m_index_enum = DF_Type::hauler_type; + n_num_jobs->m_addornements = "[10"; + n_num_jobs->m_array_size = 10; + n_num_jobs->m_address = base + offset; + n_num_jobs->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_num_jobs); + + field_name = "num_haulers"; + auto n_num_haulers = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile, field_name)); + n_num_haulers->m_field_name = field_name; + n_num_haulers->m_df_type = DF_Type::int32_t; + n_num_haulers->m_rdf_type = RDF_Type::Array; + n_num_haulers->m_node_type = NodeType::Array; + n_num_haulers->m_index_enum = DF_Type::hauler_type; + n_num_haulers->m_addornements = "[10"; + n_num_haulers->m_array_size = 10; + n_num_haulers->m_address = base + offset; + n_num_haulers->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_num_haulers); + + field_name = "simple1"; + auto n_simple1 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile, field_name)); + n_simple1->m_field_name = field_name; + n_simple1->m_df_type = DF_Type::world__T_stockpile__T_simple1; + n_simple1->m_rdf_type = RDF_Type::Compound; + n_simple1->m_node_type = NodeType::Compound; + n_simple1->m_address = base + offset; + n_simple1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_simple1); + + field_name = "seeds"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile, field_name)); + auto n_seeds = new NodeVector; + n_seeds->m_field_name = field_name; + n_seeds->m_df_type = DF_Type::int8_t; + n_seeds->m_rdf_type = RDF_Type::Vector; + n_seeds->m_node_type = NodeType::Vector; + n_seeds->m_addornements = "v"; + n_seeds->m_address = base + offset; + n_seeds->m_refers_to = "(find-plant-raw $)"; + n_seeds->m_parent = p_node_parent; + n_seeds->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_seeds); + + field_name = "plants"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile, field_name)); + auto n_plants = new NodeVector; + n_plants->m_field_name = field_name; + n_plants->m_df_type = DF_Type::int8_t; + n_plants->m_rdf_type = RDF_Type::Vector; + n_plants->m_node_type = NodeType::Vector; + n_plants->m_addornements = "v"; + n_plants->m_address = base + offset; + n_plants->m_refers_to = "(find-plant-raw $)"; + n_plants->m_parent = p_node_parent; + n_plants->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_plants); + + field_name = "cheese"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile, field_name)); + auto n_cheese = new NodeVector; + n_cheese->m_field_name = field_name; + n_cheese->m_df_type = DF_Type::int8_t; + n_cheese->m_rdf_type = RDF_Type::Vector; + n_cheese->m_node_type = NodeType::Vector; + n_cheese->m_addornements = "v"; + n_cheese->m_address = base + offset; + n_cheese->m_refers_to = "(find-creature $)"; + n_cheese->m_parent = p_node_parent; + n_cheese->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_cheese); + + field_name = "meat_fish"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile, field_name)); + auto n_meat_fish = new NodeVector; + n_meat_fish->m_field_name = field_name; + n_meat_fish->m_df_type = DF_Type::int8_t; + n_meat_fish->m_rdf_type = RDF_Type::Vector; + n_meat_fish->m_node_type = NodeType::Vector; + n_meat_fish->m_addornements = "v"; + n_meat_fish->m_address = base + offset; + n_meat_fish->m_refers_to = "(find-creature $)"; + n_meat_fish->m_parent = p_node_parent; + n_meat_fish->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_meat_fish); + + field_name = "eggs"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile, field_name)); + auto n_eggs = new NodeVector; + n_eggs->m_field_name = field_name; + n_eggs->m_df_type = DF_Type::int8_t; + n_eggs->m_rdf_type = RDF_Type::Vector; + n_eggs->m_node_type = NodeType::Vector; + n_eggs->m_addornements = "v"; + n_eggs->m_address = base + offset; + n_eggs->m_refers_to = "(find-creature $)"; + n_eggs->m_parent = p_node_parent; + n_eggs->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_eggs); + + field_name = "leaves"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile, field_name)); + auto n_leaves = new NodeVector; + n_leaves->m_field_name = field_name; + n_leaves->m_df_type = DF_Type::int8_t; + n_leaves->m_rdf_type = RDF_Type::Vector; + n_leaves->m_node_type = NodeType::Vector; + n_leaves->m_addornements = "v"; + n_leaves->m_address = base + offset; + n_leaves->m_refers_to = "(find-plant-raw $)"; + n_leaves->m_parent = p_node_parent; + n_leaves->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_leaves); + + field_name = "plant_powder"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile, field_name)); + auto n_plant_powder = new NodeVector; + n_plant_powder->m_field_name = field_name; + n_plant_powder->m_df_type = DF_Type::int8_t; + n_plant_powder->m_rdf_type = RDF_Type::Vector; + n_plant_powder->m_node_type = NodeType::Vector; + n_plant_powder->m_addornements = "v"; + n_plant_powder->m_address = base + offset; + n_plant_powder->m_refers_to = "(find-plant-raw $)"; + n_plant_powder->m_parent = p_node_parent; + n_plant_powder->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_plant_powder); + + field_name = "simple2"; + auto n_simple2 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile, field_name)); + n_simple2->m_field_name = field_name; + n_simple2->m_df_type = DF_Type::world__T_stockpile__T_simple2; + n_simple2->m_rdf_type = RDF_Type::Compound; + n_simple2->m_node_type = NodeType::Compound; + n_simple2->m_address = base + offset; + n_simple2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_simple2); + + field_name = "liquid_plant"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile, field_name)); + auto n_liquid_plant = new NodeVector; + n_liquid_plant->m_field_name = field_name; + n_liquid_plant->m_df_type = DF_Type::int8_t; + n_liquid_plant->m_rdf_type = RDF_Type::Vector; + n_liquid_plant->m_node_type = NodeType::Vector; + n_liquid_plant->m_addornements = "v"; + n_liquid_plant->m_address = base + offset; + n_liquid_plant->m_refers_to = "(find-plant-raw $)"; + n_liquid_plant->m_parent = p_node_parent; + n_liquid_plant->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_liquid_plant); + + field_name = "liquid_animal"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile, field_name)); + auto n_liquid_animal = new NodeVector; + n_liquid_animal->m_field_name = field_name; + n_liquid_animal->m_df_type = DF_Type::int8_t; + n_liquid_animal->m_rdf_type = RDF_Type::Vector; + n_liquid_animal->m_node_type = NodeType::Vector; + n_liquid_animal->m_addornements = "v"; + n_liquid_animal->m_address = base + offset; + n_liquid_animal->m_refers_to = "(find-creature $)"; + n_liquid_animal->m_parent = p_node_parent; + n_liquid_animal->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_liquid_animal); + + field_name = "liquid_builtin"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile, field_name)); + auto n_liquid_builtin = new NodeVector; + n_liquid_builtin->m_field_name = field_name; + n_liquid_builtin->m_df_type = DF_Type::int8_t; + n_liquid_builtin->m_rdf_type = RDF_Type::Vector; + n_liquid_builtin->m_node_type = NodeType::Vector; + n_liquid_builtin->m_addornements = "v"; + n_liquid_builtin->m_address = base + offset; + n_liquid_builtin->m_refers_to = "(material-by-id $ -1)"; + n_liquid_builtin->m_parent = p_node_parent; + n_liquid_builtin->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_liquid_builtin); + + field_name = "simple3"; + auto n_simple3 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_stockpile, field_name)); + n_simple3->m_field_name = field_name; + n_simple3->m_df_type = DF_Type::world__T_stockpile__T_simple3; + n_simple3->m_rdf_type = RDF_Type::Compound; + n_simple3->m_node_type = NodeType::Compound; + n_simple3->m_address = base + offset; + n_simple3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_simple3); + +} +void node_from_world__T_plants(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "all"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_plants, field_name)); + auto n_all = new NodeVector; + n_all->m_field_name = field_name; + n_all->m_df_type = DF_Type::plant; + n_all->m_rdf_type = RDF_Type::Vector; + n_all->m_node_type = NodeType::Vector; + n_all->m_defined_in = "df.plants.xml"; + n_all->m_addornements = "v*"; + n_all->m_address = base + offset; + n_all->m_parent = p_node_parent; + n_all->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_all); + + field_name = "shrub_dry"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_plants, field_name)); + auto n_shrub_dry = new NodeVector; + n_shrub_dry->m_field_name = field_name; + n_shrub_dry->m_df_type = DF_Type::plant; + n_shrub_dry->m_rdf_type = RDF_Type::Vector; + n_shrub_dry->m_node_type = NodeType::Vector; + n_shrub_dry->m_defined_in = "df.plants.xml"; + n_shrub_dry->m_addornements = "v*"; + n_shrub_dry->m_address = base + offset; + n_shrub_dry->m_parent = p_node_parent; + n_shrub_dry->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_shrub_dry); + + field_name = "shrub_wet"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_plants, field_name)); + auto n_shrub_wet = new NodeVector; + n_shrub_wet->m_field_name = field_name; + n_shrub_wet->m_df_type = DF_Type::plant; + n_shrub_wet->m_rdf_type = RDF_Type::Vector; + n_shrub_wet->m_node_type = NodeType::Vector; + n_shrub_wet->m_defined_in = "df.plants.xml"; + n_shrub_wet->m_addornements = "v*"; + n_shrub_wet->m_address = base + offset; + n_shrub_wet->m_parent = p_node_parent; + n_shrub_wet->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_shrub_wet); + + field_name = "tree_dry"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_plants, field_name)); + auto n_tree_dry = new NodeVector; + n_tree_dry->m_field_name = field_name; + n_tree_dry->m_df_type = DF_Type::plant; + n_tree_dry->m_rdf_type = RDF_Type::Vector; + n_tree_dry->m_node_type = NodeType::Vector; + n_tree_dry->m_defined_in = "df.plants.xml"; + n_tree_dry->m_addornements = "v*"; + n_tree_dry->m_address = base + offset; + n_tree_dry->m_parent = p_node_parent; + n_tree_dry->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_tree_dry); + + field_name = "tree_wet"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_plants, field_name)); + auto n_tree_wet = new NodeVector; + n_tree_wet->m_field_name = field_name; + n_tree_wet->m_df_type = DF_Type::plant; + n_tree_wet->m_rdf_type = RDF_Type::Vector; + n_tree_wet->m_node_type = NodeType::Vector; + n_tree_wet->m_defined_in = "df.plants.xml"; + n_tree_wet->m_addornements = "v*"; + n_tree_wet->m_address = base + offset; + n_tree_wet->m_parent = p_node_parent; + n_tree_wet->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_tree_wet); + + field_name = "empty"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_plants, field_name)); + auto n_empty = new NodeVector; + n_empty->m_field_name = field_name; + n_empty->m_df_type = DF_Type::plant; + n_empty->m_rdf_type = RDF_Type::Vector; + n_empty->m_node_type = NodeType::Vector; + n_empty->m_defined_in = "df.plants.xml"; + n_empty->m_addornements = "v*"; + n_empty->m_address = base + offset; + n_empty->m_parent = p_node_parent; + n_empty->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_empty); + +} +void node_from_world__T_enemy_status_cache(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "slot_used"; + auto n_slot_used = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_enemy_status_cache, field_name)); + n_slot_used->m_field_name = field_name; + n_slot_used->m_df_type = DF_Type::Bool; + n_slot_used->m_rdf_type = RDF_Type::Array; + n_slot_used->m_node_type = NodeType::Array; + n_slot_used->m_addornements = "[500"; + n_slot_used->m_array_size = 500; + n_slot_used->m_address = base + offset; + n_slot_used->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_slot_used); + + field_name = "rel_map"; + auto n_rel_map = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_enemy_status_cache, field_name)); + n_rel_map->m_field_name = field_name; + n_rel_map->m_df_type = DF_Type::int32_t; + n_rel_map->m_rdf_type = RDF_Type::Array; + n_rel_map->m_node_type = NodeType::Array; + n_rel_map->m_addornements = "[500[500"; + n_rel_map->m_array_size = 500; + n_rel_map->m_address = base + offset; + n_rel_map->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rel_map); + + field_name = "next_slot"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_enemy_status_cache, field_name)); + auto n_next_slot = new NodeSimple; + n_next_slot->m_field_name = field_name; + n_next_slot->m_df_type = DF_Type::int32_t; + n_next_slot->m_rdf_type = RDF_Type::int32_t; + n_next_slot->m_node_type = NodeType::Simple; + n_next_slot->m_address = base + offset; + n_next_slot->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_next_slot); + +} +void node_from_world__T_schedules(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "all"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_schedules, field_name)); + auto n_all = new NodeVector; + n_all->m_field_name = field_name; + n_all->m_df_type = DF_Type::schedule_info; + n_all->m_rdf_type = RDF_Type::Vector; + n_all->m_node_type = NodeType::Vector; + n_all->m_defined_in = "df.meeting.xml"; + n_all->m_addornements = "v*"; + n_all->m_address = base + offset; + n_all->m_parent = p_node_parent; + n_all->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_all); + + field_name = "bad"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_schedules, field_name)); + auto n_bad = new NodeVector; + n_bad->m_field_name = field_name; + n_bad->m_df_type = DF_Type::schedule_info; + n_bad->m_rdf_type = RDF_Type::Vector; + n_bad->m_node_type = NodeType::Vector; + n_bad->m_defined_in = "df.meeting.xml"; + n_bad->m_addornements = "v*"; + n_bad->m_address = base + offset; + n_bad->m_parent = p_node_parent; + n_bad->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bad); + +} +void node_from_world__T_squads(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "all"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_squads, field_name)); + auto n_all = new NodeVector; + n_all->m_field_name = field_name; + n_all->m_df_type = DF_Type::squad; + n_all->m_rdf_type = RDF_Type::Vector; + n_all->m_node_type = NodeType::Vector; + n_all->m_defined_in = "df.military.xml"; + n_all->m_addornements = "v*"; + n_all->m_address = base + offset; + n_all->m_parent = p_node_parent; + n_all->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_all); + + field_name = "bad"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_squads, field_name)); + auto n_bad = new NodeVector; + n_bad->m_field_name = field_name; + n_bad->m_df_type = DF_Type::squad; + n_bad->m_rdf_type = RDF_Type::Vector; + n_bad->m_node_type = NodeType::Vector; + n_bad->m_defined_in = "df.military.xml"; + n_bad->m_addornements = "v*"; + n_bad->m_address = base + offset; + n_bad->m_parent = p_node_parent; + n_bad->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bad); + +} +void node_from_world__T_formations(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "all"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_formations, field_name)); + auto n_all = new NodeVector; + n_all->m_field_name = field_name; + n_all->m_df_type = DF_Type::int32_t; + n_all->m_rdf_type = RDF_Type::Vector; + n_all->m_node_type = NodeType::Vector; + n_all->m_addornements = "v*"; + n_all->m_address = base + offset; + n_all->m_parent = p_node_parent; + n_all->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_all); + + field_name = "bad"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_formations, field_name)); + auto n_bad = new NodeVector; + n_bad->m_field_name = field_name; + n_bad->m_df_type = DF_Type::Void; + n_bad->m_rdf_type = RDF_Type::Vector; + n_bad->m_node_type = NodeType::Vector; + n_bad->m_addornements = "v*"; + n_bad->m_address = base + offset; + n_bad->m_parent = p_node_parent; + n_bad->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bad); + +} +void node_from_world__T_activities(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "all"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_activities, field_name)); + auto n_all = new NodeVector; + n_all->m_field_name = field_name; + n_all->m_df_type = DF_Type::activity_entry; + n_all->m_rdf_type = RDF_Type::Vector; + n_all->m_node_type = NodeType::Vector; + n_all->m_defined_in = "df.meeting.xml"; + n_all->m_addornements = "v*"; + n_all->m_address = base + offset; + n_all->m_parent = p_node_parent; + n_all->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_all); + + field_name = "bad"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_activities, field_name)); + auto n_bad = new NodeVector; + n_bad->m_field_name = field_name; + n_bad->m_df_type = DF_Type::activity_entry; + n_bad->m_rdf_type = RDF_Type::Vector; + n_bad->m_node_type = NodeType::Vector; + n_bad->m_defined_in = "df.meeting.xml"; + n_bad->m_addornements = "v*"; + n_bad->m_address = base + offset; + n_bad->m_parent = p_node_parent; + n_bad->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bad); + +} +void node_from_world__T_status__T_slots(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "type"; + auto n_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_status__T_slots, field_name)); + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::combat_report_event_type; + n_type->m_rdf_type = RDF_Type::Enum; + n_type->m_node_type = NodeType::Enum; + n_type->m_base_type = enum_base_type(n_type->m_df_type); + n_type->m_enum_type = "combat_report_event_type"; + n_type->m_address = base + offset; + n_type->m_defined_in = "df.world.xml"; + n_type->m_first_value = 0; + n_type->m_last_value = 34; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + + field_name = "item"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_status__T_slots, field_name)); + auto n_item = new NodeSimple; + n_item->m_field_name = field_name; + n_item->m_df_type = DF_Type::int32_t; + n_item->m_rdf_type = RDF_Type::int32_t; + n_item->m_node_type = NodeType::Simple; + n_item->m_address = base + offset; + n_item->m_comment = "or body part layer"; + n_item->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item); + + field_name = "unk1b"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_status__T_slots, field_name)); + auto n_unk1b = new NodeSimple; + n_unk1b->m_field_name = field_name; + n_unk1b->m_df_type = DF_Type::int32_t; + n_unk1b->m_rdf_type = RDF_Type::int32_t; + n_unk1b->m_node_type = NodeType::Simple; + n_unk1b->m_address = base + offset; + n_unk1b->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk1b); + + field_name = "unk1c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_status__T_slots, field_name)); + auto n_unk1c = new NodeSimple; + n_unk1c->m_field_name = field_name; + n_unk1c->m_df_type = DF_Type::int32_t; + n_unk1c->m_rdf_type = RDF_Type::int32_t; + n_unk1c->m_node_type = NodeType::Simple; + n_unk1c->m_address = base + offset; + n_unk1c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk1c); + + field_name = "unk1d"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_status__T_slots, field_name)); + auto n_unk1d = new NodeSimple; + n_unk1d->m_field_name = field_name; + n_unk1d->m_df_type = DF_Type::int32_t; + n_unk1d->m_rdf_type = RDF_Type::int32_t; + n_unk1d->m_node_type = NodeType::Simple; + n_unk1d->m_address = base + offset; + n_unk1d->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk1d); + + field_name = "body_part"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_status__T_slots, field_name)); + auto n_body_part = new NodeSimple; + n_body_part->m_field_name = field_name; + n_body_part->m_df_type = DF_Type::int16_t; + n_body_part->m_rdf_type = RDF_Type::int16_t; + n_body_part->m_node_type = NodeType::Simple; + n_body_part->m_address = base + offset; + n_body_part->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_body_part); + + field_name = "unk2b"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_status__T_slots, field_name)); + auto n_unk2b = new NodeSimple; + n_unk2b->m_field_name = field_name; + n_unk2b->m_df_type = DF_Type::int16_t; + n_unk2b->m_rdf_type = RDF_Type::int16_t; + n_unk2b->m_node_type = NodeType::Simple; + n_unk2b->m_address = base + offset; + n_unk2b->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk2b); + + field_name = "unk2c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_status__T_slots, field_name)); + auto n_unk2c = new NodeSimple; + n_unk2c->m_field_name = field_name; + n_unk2c->m_df_type = DF_Type::int16_t; + n_unk2c->m_rdf_type = RDF_Type::int16_t; + n_unk2c->m_node_type = NodeType::Simple; + n_unk2c->m_address = base + offset; + n_unk2c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk2c); + + field_name = "unk2d"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_status__T_slots, field_name)); + auto n_unk2d = new NodeSimple; + n_unk2d->m_field_name = field_name; + n_unk2d->m_df_type = DF_Type::int16_t; + n_unk2d->m_rdf_type = RDF_Type::int16_t; + n_unk2d->m_node_type = NodeType::Simple; + n_unk2d->m_address = base + offset; + n_unk2d->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk2d); + + field_name = "target_bp_name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_status__T_slots, field_name)); + auto n_target_bp_name = new NodeSimple; + n_target_bp_name->m_field_name = field_name; + n_target_bp_name->m_df_type = DF_Type::Stl_string; + n_target_bp_name->m_rdf_type = RDF_Type::Stl_string; + n_target_bp_name->m_node_type = NodeType::Simple; + n_target_bp_name->m_address = base + offset; + n_target_bp_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_target_bp_name); + + field_name = "verb"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_status__T_slots, field_name)); + auto n_verb = new NodeSimple; + n_verb->m_field_name = field_name; + n_verb->m_df_type = DF_Type::Stl_string; + n_verb->m_rdf_type = RDF_Type::Stl_string; + n_verb->m_node_type = NodeType::Simple; + n_verb->m_address = base + offset; + n_verb->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_verb); + + field_name = "with_item_name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_status__T_slots, field_name)); + auto n_with_item_name = new NodeSimple; + n_with_item_name->m_field_name = field_name; + n_with_item_name->m_df_type = DF_Type::Stl_string; + n_with_item_name->m_rdf_type = RDF_Type::Stl_string; + n_with_item_name->m_node_type = NodeType::Simple; + n_with_item_name->m_address = base + offset; + n_with_item_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_with_item_name); + + field_name = "unk3d"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_status__T_slots, field_name)); + auto n_unk3d = new NodeSimple; + n_unk3d->m_field_name = field_name; + n_unk3d->m_df_type = DF_Type::Stl_string; + n_unk3d->m_rdf_type = RDF_Type::Stl_string; + n_unk3d->m_node_type = NodeType::Simple; + n_unk3d->m_address = base + offset; + n_unk3d->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk3d); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_status__T_slots, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::world__T_status__T_slots__T_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + +} +void node_from_world__T_status(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "reports"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_status, field_name)); + auto n_reports = new NodeVector; + n_reports->m_field_name = field_name; + n_reports->m_df_type = DF_Type::report; + n_reports->m_rdf_type = RDF_Type::Vector; + n_reports->m_node_type = NodeType::Vector; + n_reports->m_defined_in = "df.announcements.xml"; + n_reports->m_addornements = "v*"; + n_reports->m_address = base + offset; + n_reports->m_parent = p_node_parent; + n_reports->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_reports); + + field_name = "announcements"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_status, field_name)); + auto n_announcements = new NodeVector; + n_announcements->m_field_name = field_name; + n_announcements->m_df_type = DF_Type::report; + n_announcements->m_rdf_type = RDF_Type::Vector; + n_announcements->m_node_type = NodeType::Vector; + n_announcements->m_defined_in = "df.announcements.xml"; + n_announcements->m_addornements = "v*"; + n_announcements->m_address = base + offset; + n_announcements->m_parent = p_node_parent; + n_announcements->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_announcements); + + field_name = "popups"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_status, field_name)); + auto n_popups = new NodeVector; + n_popups->m_field_name = field_name; + n_popups->m_df_type = DF_Type::popup_message; + n_popups->m_rdf_type = RDF_Type::Vector; + n_popups->m_node_type = NodeType::Vector; + n_popups->m_defined_in = "df.announcements.xml"; + n_popups->m_addornements = "v*"; + n_popups->m_address = base + offset; + n_popups->m_parent = p_node_parent; + n_popups->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_popups); + + field_name = "next_report_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_status, field_name)); + auto n_next_report_id = new NodeSimple; + n_next_report_id->m_field_name = field_name; + n_next_report_id->m_df_type = DF_Type::int32_t; + n_next_report_id->m_rdf_type = RDF_Type::int32_t; + n_next_report_id->m_node_type = NodeType::Simple; + n_next_report_id->m_address = base + offset; + n_next_report_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_next_report_id); + + field_name = "flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_status, field_name)); + auto n_flags = new NodeBitfield; + n_flags->m_field_name = field_name; + n_flags->m_df_type = DF_Type::world__T_status__T_flags; + n_flags->m_rdf_type = RDF_Type::Bitfield; + n_flags->m_node_type = NodeType::Bitfield; + n_flags->m_address = base + offset; + n_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flags); + + field_name = "anon_1"; + auto n_anon_1 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_status, field_name)); + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::Array; + n_anon_1->m_node_type = NodeType::Array; + n_anon_1->m_addornements = "[9"; + n_anon_1->m_array_size = 9; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "mission_reports"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_status, field_name)); + auto n_mission_reports = new NodeVector; + n_mission_reports->m_field_name = field_name; + n_mission_reports->m_df_type = DF_Type::mission_report; + n_mission_reports->m_rdf_type = RDF_Type::Vector; + n_mission_reports->m_node_type = NodeType::Vector; + n_mission_reports->m_defined_in = "df.world.xml"; + n_mission_reports->m_addornements = "v*"; + n_mission_reports->m_address = base + offset; + n_mission_reports->m_parent = p_node_parent; + n_mission_reports->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_mission_reports); + + field_name = "spoils_reports"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_status, field_name)); + auto n_spoils_reports = new NodeVector; + n_spoils_reports->m_field_name = field_name; + n_spoils_reports->m_df_type = DF_Type::spoils_report; + n_spoils_reports->m_rdf_type = RDF_Type::Vector; + n_spoils_reports->m_node_type = NodeType::Vector; + n_spoils_reports->m_defined_in = "df.world.xml"; + n_spoils_reports->m_addornements = "v*"; + n_spoils_reports->m_address = base + offset; + n_spoils_reports->m_parent = p_node_parent; + n_spoils_reports->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_spoils_reports); + + field_name = "display_timer"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_status, field_name)); + auto n_display_timer = new NodeSimple; + n_display_timer->m_field_name = field_name; + n_display_timer->m_df_type = DF_Type::int32_t; + n_display_timer->m_rdf_type = RDF_Type::int32_t; + n_display_timer->m_node_type = NodeType::Simple; + n_display_timer->m_address = base + offset; + n_display_timer->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_display_timer); + + field_name = "slots"; + auto n_slots = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_status, field_name)); + n_slots->m_field_name = field_name; + n_slots->m_df_type = DF_Type::world__T_status__T_slots; + n_slots->m_rdf_type = RDF_Type::Array; + n_slots->m_comment = "Written to by code at 0x80fd7b0"; + n_slots->m_node_type = NodeType::Array; + n_slots->m_addornements = "[100"; + n_slots->m_array_size = 100; + n_slots->m_address = base + offset; + n_slots->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_slots); + + field_name = "slot_id_used"; + auto n_slot_id_used = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_status, field_name)); + n_slot_id_used->m_field_name = field_name; + n_slot_id_used->m_df_type = DF_Type::int16_t; + n_slot_id_used->m_rdf_type = RDF_Type::Array; + n_slot_id_used->m_node_type = NodeType::Array; + n_slot_id_used->m_index_enum = DF_Type::combat_report_event_type; + n_slot_id_used->m_addornements = "[38"; + n_slot_id_used->m_array_size = 38; + n_slot_id_used->m_address = base + offset; + n_slot_id_used->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_slot_id_used); + + field_name = "slot_id_idx1"; + auto n_slot_id_idx1 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_status, field_name)); + n_slot_id_idx1->m_field_name = field_name; + n_slot_id_idx1->m_df_type = DF_Type::int16_t; + n_slot_id_idx1->m_rdf_type = RDF_Type::Array; + n_slot_id_idx1->m_node_type = NodeType::Array; + n_slot_id_idx1->m_index_enum = DF_Type::combat_report_event_type; + n_slot_id_idx1->m_addornements = "[38"; + n_slot_id_idx1->m_array_size = 38; + n_slot_id_idx1->m_address = base + offset; + n_slot_id_idx1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_slot_id_idx1); + + field_name = "slot_id_idx2"; + auto n_slot_id_idx2 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_status, field_name)); + n_slot_id_idx2->m_field_name = field_name; + n_slot_id_idx2->m_df_type = DF_Type::int16_t; + n_slot_id_idx2->m_rdf_type = RDF_Type::Array; + n_slot_id_idx2->m_node_type = NodeType::Array; + n_slot_id_idx2->m_index_enum = DF_Type::combat_report_event_type; + n_slot_id_idx2->m_addornements = "[38"; + n_slot_id_idx2->m_array_size = 38; + n_slot_id_idx2->m_address = base + offset; + n_slot_id_idx2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_slot_id_idx2); + + field_name = "slots_used"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_status, field_name)); + auto n_slots_used = new NodeSimple; + n_slots_used->m_field_name = field_name; + n_slots_used->m_df_type = DF_Type::int16_t; + n_slots_used->m_rdf_type = RDF_Type::int16_t; + n_slots_used->m_node_type = NodeType::Simple; + n_slots_used->m_address = base + offset; + n_slots_used->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_slots_used); + +} +void node_from_world__T_interaction_instances(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "all"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_interaction_instances, field_name)); + auto n_all = new NodeVector; + n_all->m_field_name = field_name; + n_all->m_df_type = DF_Type::interaction_instance; + n_all->m_rdf_type = RDF_Type::Vector; + n_all->m_node_type = NodeType::Vector; + n_all->m_defined_in = "df.interaction.xml"; + n_all->m_addornements = "v*"; + n_all->m_address = base + offset; + n_all->m_parent = p_node_parent; + n_all->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_all); + + field_name = "bad"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_interaction_instances, field_name)); + auto n_bad = new NodeVector; + n_bad->m_field_name = field_name; + n_bad->m_df_type = DF_Type::interaction_instance; + n_bad->m_rdf_type = RDF_Type::Vector; + n_bad->m_node_type = NodeType::Vector; + n_bad->m_defined_in = "df.interaction.xml"; + n_bad->m_addornements = "v*"; + n_bad->m_address = base + offset; + n_bad->m_parent = p_node_parent; + n_bad->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bad); + +} +void node_from_world__T_written_contents(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "all"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_written_contents, field_name)); + auto n_all = new NodeVector; + n_all->m_field_name = field_name; + n_all->m_df_type = DF_Type::written_content; + n_all->m_rdf_type = RDF_Type::Vector; + n_all->m_node_type = NodeType::Vector; + n_all->m_defined_in = "df.itemimprovements.xml"; + n_all->m_addornements = "v*"; + n_all->m_address = base + offset; + n_all->m_parent = p_node_parent; + n_all->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_all); + + field_name = "bad"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_written_contents, field_name)); + auto n_bad = new NodeVector; + n_bad->m_field_name = field_name; + n_bad->m_df_type = DF_Type::written_content; + n_bad->m_rdf_type = RDF_Type::Vector; + n_bad->m_node_type = NodeType::Vector; + n_bad->m_defined_in = "df.itemimprovements.xml"; + n_bad->m_addornements = "v*"; + n_bad->m_address = base + offset; + n_bad->m_parent = p_node_parent; + n_bad->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bad); + +} +void node_from_world__T_identities(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "all"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_identities, field_name)); + auto n_all = new NodeVector; + n_all->m_field_name = field_name; + n_all->m_df_type = DF_Type::identity; + n_all->m_rdf_type = RDF_Type::Vector; + n_all->m_node_type = NodeType::Vector; + n_all->m_defined_in = "df.history.xml"; + n_all->m_addornements = "v*"; + n_all->m_address = base + offset; + n_all->m_parent = p_node_parent; + n_all->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_all); + + field_name = "bad"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_identities, field_name)); + auto n_bad = new NodeVector; + n_bad->m_field_name = field_name; + n_bad->m_df_type = DF_Type::identity; + n_bad->m_rdf_type = RDF_Type::Vector; + n_bad->m_node_type = NodeType::Vector; + n_bad->m_defined_in = "df.history.xml"; + n_bad->m_addornements = "v*"; + n_bad->m_address = base + offset; + n_bad->m_parent = p_node_parent; + n_bad->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bad); + +} +void node_from_world__T_incidents(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "all"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_incidents, field_name)); + auto n_all = new NodeVector; + n_all->m_field_name = field_name; + n_all->m_df_type = DF_Type::incident; + n_all->m_rdf_type = RDF_Type::Vector; + n_all->m_node_type = NodeType::Vector; + n_all->m_defined_in = "df.world.xml"; + n_all->m_addornements = "v*"; + n_all->m_address = base + offset; + n_all->m_parent = p_node_parent; + n_all->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_all); + + field_name = "bad"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_incidents, field_name)); + auto n_bad = new NodeVector; + n_bad->m_field_name = field_name; + n_bad->m_df_type = DF_Type::incident; + n_bad->m_rdf_type = RDF_Type::Vector; + n_bad->m_node_type = NodeType::Vector; + n_bad->m_defined_in = "df.world.xml"; + n_bad->m_addornements = "v*"; + n_bad->m_address = base + offset; + n_bad->m_parent = p_node_parent; + n_bad->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bad); + +} +void node_from_world__T_crimes(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "all"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_crimes, field_name)); + auto n_all = new NodeVector; + n_all->m_field_name = field_name; + n_all->m_df_type = DF_Type::crime; + n_all->m_rdf_type = RDF_Type::Vector; + n_all->m_node_type = NodeType::Vector; + n_all->m_defined_in = "df.world.xml"; + n_all->m_addornements = "v*"; + n_all->m_address = base + offset; + n_all->m_parent = p_node_parent; + n_all->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_all); + + field_name = "bad"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_crimes, field_name)); + auto n_bad = new NodeVector; + n_bad->m_field_name = field_name; + n_bad->m_df_type = DF_Type::crime; + n_bad->m_rdf_type = RDF_Type::Vector; + n_bad->m_node_type = NodeType::Vector; + n_bad->m_defined_in = "df.world.xml"; + n_bad->m_addornements = "v*"; + n_bad->m_address = base + offset; + n_bad->m_parent = p_node_parent; + n_bad->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bad); + +} +void node_from_world__T_vehicles(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "all"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_vehicles, field_name)); + auto n_all = new NodeVector; + n_all->m_field_name = field_name; + n_all->m_df_type = DF_Type::vehicle; + n_all->m_rdf_type = RDF_Type::Vector; + n_all->m_node_type = NodeType::Vector; + n_all->m_defined_in = "df.stockpile.xml"; + n_all->m_addornements = "v*"; + n_all->m_address = base + offset; + n_all->m_parent = p_node_parent; + n_all->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_all); + + field_name = "active"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_vehicles, field_name)); + auto n_active = new NodeVector; + n_active->m_field_name = field_name; + n_active->m_df_type = DF_Type::vehicle; + n_active->m_rdf_type = RDF_Type::Vector; + n_active->m_node_type = NodeType::Vector; + n_active->m_defined_in = "df.stockpile.xml"; + n_active->m_addornements = "v*"; + n_active->m_address = base + offset; + n_active->m_parent = p_node_parent; + n_active->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_active); + + field_name = "bad"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_vehicles, field_name)); + auto n_bad = new NodeVector; + n_bad->m_field_name = field_name; + n_bad->m_df_type = DF_Type::vehicle; + n_bad->m_rdf_type = RDF_Type::Vector; + n_bad->m_node_type = NodeType::Vector; + n_bad->m_defined_in = "df.stockpile.xml"; + n_bad->m_addornements = "v*"; + n_bad->m_address = base + offset; + n_bad->m_parent = p_node_parent; + n_bad->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bad); + +} +void node_from_world__T_armies(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "all"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_armies, field_name)); + auto n_all = new NodeVector; + n_all->m_field_name = field_name; + n_all->m_df_type = DF_Type::army; + n_all->m_rdf_type = RDF_Type::Vector; + n_all->m_node_type = NodeType::Vector; + n_all->m_defined_in = "df.military.xml"; + n_all->m_addornements = "v*"; + n_all->m_address = base + offset; + n_all->m_parent = p_node_parent; + n_all->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_all); + + field_name = "bad"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_armies, field_name)); + auto n_bad = new NodeVector; + n_bad->m_field_name = field_name; + n_bad->m_df_type = DF_Type::army; + n_bad->m_rdf_type = RDF_Type::Vector; + n_bad->m_node_type = NodeType::Vector; + n_bad->m_defined_in = "df.military.xml"; + n_bad->m_addornements = "v*"; + n_bad->m_address = base + offset; + n_bad->m_parent = p_node_parent; + n_bad->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bad); + +} +void node_from_world__T_army_controllers(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "all"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_army_controllers, field_name)); + auto n_all = new NodeVector; + n_all->m_field_name = field_name; + n_all->m_df_type = DF_Type::army_controller; + n_all->m_rdf_type = RDF_Type::Vector; + n_all->m_node_type = NodeType::Vector; + n_all->m_defined_in = "df.military.xml"; + n_all->m_addornements = "v*"; + n_all->m_address = base + offset; + n_all->m_parent = p_node_parent; + n_all->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_all); + + field_name = "bad"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_army_controllers, field_name)); + auto n_bad = new NodeVector; + n_bad->m_field_name = field_name; + n_bad->m_df_type = DF_Type::army_controller; + n_bad->m_rdf_type = RDF_Type::Vector; + n_bad->m_node_type = NodeType::Vector; + n_bad->m_defined_in = "df.military.xml"; + n_bad->m_addornements = "v*"; + n_bad->m_address = base + offset; + n_bad->m_parent = p_node_parent; + n_bad->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bad); + +} +void node_from_world__T_army_tracking_info(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "all"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_army_tracking_info, field_name)); + auto n_all = new NodeVector; + n_all->m_field_name = field_name; + n_all->m_df_type = DF_Type::Void; + n_all->m_rdf_type = RDF_Type::Vector; + n_all->m_node_type = NodeType::Vector; + n_all->m_addornements = "v"; + n_all->m_address = base + offset; + n_all->m_parent = p_node_parent; + n_all->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_all); + + field_name = "bad"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_army_tracking_info, field_name)); + auto n_bad = new NodeVector; + n_bad->m_field_name = field_name; + n_bad->m_df_type = DF_Type::Void; + n_bad->m_rdf_type = RDF_Type::Vector; + n_bad->m_node_type = NodeType::Vector; + n_bad->m_addornements = "v"; + n_bad->m_address = base + offset; + n_bad->m_parent = p_node_parent; + n_bad->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bad); + +} +void node_from_world__T_cultural_identities(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "all"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_cultural_identities, field_name)); + auto n_all = new NodeVector; + n_all->m_field_name = field_name; + n_all->m_df_type = DF_Type::cultural_identity; + n_all->m_rdf_type = RDF_Type::Vector; + n_all->m_node_type = NodeType::Vector; + n_all->m_defined_in = "df.world-site.xml"; + n_all->m_addornements = "v*"; + n_all->m_address = base + offset; + n_all->m_parent = p_node_parent; + n_all->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_all); + + field_name = "bad"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_cultural_identities, field_name)); + auto n_bad = new NodeVector; + n_bad->m_field_name = field_name; + n_bad->m_df_type = DF_Type::cultural_identity; + n_bad->m_rdf_type = RDF_Type::Vector; + n_bad->m_node_type = NodeType::Vector; + n_bad->m_defined_in = "df.world-site.xml"; + n_bad->m_addornements = "v*"; + n_bad->m_address = base + offset; + n_bad->m_parent = p_node_parent; + n_bad->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bad); + +} +void node_from_world__T_agreements(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "all"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_agreements, field_name)); + auto n_all = new NodeVector; + n_all->m_field_name = field_name; + n_all->m_df_type = DF_Type::agreement; + n_all->m_rdf_type = RDF_Type::Vector; + n_all->m_node_type = NodeType::Vector; + n_all->m_defined_in = "df.entities.xml"; + n_all->m_addornements = "v*"; + n_all->m_address = base + offset; + n_all->m_parent = p_node_parent; + n_all->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_all); + + field_name = "bad"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_agreements, field_name)); + auto n_bad = new NodeVector; + n_bad->m_field_name = field_name; + n_bad->m_df_type = DF_Type::agreement; + n_bad->m_rdf_type = RDF_Type::Vector; + n_bad->m_node_type = NodeType::Vector; + n_bad->m_defined_in = "df.entities.xml"; + n_bad->m_addornements = "v*"; + n_bad->m_address = base + offset; + n_bad->m_parent = p_node_parent; + n_bad->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bad); + +} +void node_from_world__T_poetic_forms(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "all"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_poetic_forms, field_name)); + auto n_all = new NodeVector; + n_all->m_field_name = field_name; + n_all->m_df_type = DF_Type::poetic_form; + n_all->m_rdf_type = RDF_Type::Vector; + n_all->m_node_type = NodeType::Vector; + n_all->m_defined_in = "df.art.xml"; + n_all->m_addornements = "v*"; + n_all->m_address = base + offset; + n_all->m_parent = p_node_parent; + n_all->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_all); + + field_name = "bad"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_poetic_forms, field_name)); + auto n_bad = new NodeVector; + n_bad->m_field_name = field_name; + n_bad->m_df_type = DF_Type::poetic_form; + n_bad->m_rdf_type = RDF_Type::Vector; + n_bad->m_node_type = NodeType::Vector; + n_bad->m_defined_in = "df.art.xml"; + n_bad->m_addornements = "v*"; + n_bad->m_address = base + offset; + n_bad->m_parent = p_node_parent; + n_bad->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bad); + +} +void node_from_world__T_musical_forms(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "all"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_musical_forms, field_name)); + auto n_all = new NodeVector; + n_all->m_field_name = field_name; + n_all->m_df_type = DF_Type::musical_form; + n_all->m_rdf_type = RDF_Type::Vector; + n_all->m_node_type = NodeType::Vector; + n_all->m_defined_in = "df.art.xml"; + n_all->m_addornements = "v*"; + n_all->m_address = base + offset; + n_all->m_parent = p_node_parent; + n_all->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_all); + + field_name = "bad"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_musical_forms, field_name)); + auto n_bad = new NodeVector; + n_bad->m_field_name = field_name; + n_bad->m_df_type = DF_Type::musical_form; + n_bad->m_rdf_type = RDF_Type::Vector; + n_bad->m_node_type = NodeType::Vector; + n_bad->m_defined_in = "df.art.xml"; + n_bad->m_addornements = "v*"; + n_bad->m_address = base + offset; + n_bad->m_parent = p_node_parent; + n_bad->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bad); + +} +void node_from_world__T_dance_forms(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "all"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_dance_forms, field_name)); + auto n_all = new NodeVector; + n_all->m_field_name = field_name; + n_all->m_df_type = DF_Type::dance_form; + n_all->m_rdf_type = RDF_Type::Vector; + n_all->m_node_type = NodeType::Vector; + n_all->m_defined_in = "df.art.xml"; + n_all->m_addornements = "v*"; + n_all->m_address = base + offset; + n_all->m_parent = p_node_parent; + n_all->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_all); + + field_name = "bad"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_dance_forms, field_name)); + auto n_bad = new NodeVector; + n_bad->m_field_name = field_name; + n_bad->m_df_type = DF_Type::dance_form; + n_bad->m_rdf_type = RDF_Type::Vector; + n_bad->m_node_type = NodeType::Vector; + n_bad->m_defined_in = "df.art.xml"; + n_bad->m_addornements = "v*"; + n_bad->m_address = base + offset; + n_bad->m_parent = p_node_parent; + n_bad->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bad); + +} +void node_from_world__T_scales(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "all"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_scales, field_name)); + auto n_all = new NodeVector; + n_all->m_field_name = field_name; + n_all->m_df_type = DF_Type::scale; + n_all->m_rdf_type = RDF_Type::Vector; + n_all->m_node_type = NodeType::Vector; + n_all->m_defined_in = "df.art.xml"; + n_all->m_addornements = "v*"; + n_all->m_address = base + offset; + n_all->m_parent = p_node_parent; + n_all->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_all); + + field_name = "bad"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_scales, field_name)); + auto n_bad = new NodeVector; + n_bad->m_field_name = field_name; + n_bad->m_df_type = DF_Type::scale; + n_bad->m_rdf_type = RDF_Type::Vector; + n_bad->m_node_type = NodeType::Vector; + n_bad->m_defined_in = "df.art.xml"; + n_bad->m_addornements = "v*"; + n_bad->m_address = base + offset; + n_bad->m_parent = p_node_parent; + n_bad->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bad); + +} +void node_from_world__T_rhythms(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "all"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_rhythms, field_name)); + auto n_all = new NodeVector; + n_all->m_field_name = field_name; + n_all->m_df_type = DF_Type::rhythm; + n_all->m_rdf_type = RDF_Type::Vector; + n_all->m_node_type = NodeType::Vector; + n_all->m_defined_in = "df.art.xml"; + n_all->m_addornements = "v*"; + n_all->m_address = base + offset; + n_all->m_parent = p_node_parent; + n_all->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_all); + + field_name = "bad"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_rhythms, field_name)); + auto n_bad = new NodeVector; + n_bad->m_field_name = field_name; + n_bad->m_df_type = DF_Type::rhythm; + n_bad->m_rdf_type = RDF_Type::Vector; + n_bad->m_node_type = NodeType::Vector; + n_bad->m_defined_in = "df.art.xml"; + n_bad->m_addornements = "v*"; + n_bad->m_address = base + offset; + n_bad->m_parent = p_node_parent; + n_bad->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bad); + +} +void node_from_world__T_occupations(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "all"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_occupations, field_name)); + auto n_all = new NodeVector; + n_all->m_field_name = field_name; + n_all->m_df_type = DF_Type::occupation; + n_all->m_rdf_type = RDF_Type::Vector; + n_all->m_node_type = NodeType::Vector; + n_all->m_defined_in = "df.art.xml"; + n_all->m_addornements = "v*"; + n_all->m_address = base + offset; + n_all->m_parent = p_node_parent; + n_all->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_all); + + field_name = "bad"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_occupations, field_name)); + auto n_bad = new NodeVector; + n_bad->m_field_name = field_name; + n_bad->m_df_type = DF_Type::occupation; + n_bad->m_rdf_type = RDF_Type::Vector; + n_bad->m_node_type = NodeType::Vector; + n_bad->m_defined_in = "df.art.xml"; + n_bad->m_addornements = "v*"; + n_bad->m_address = base + offset; + n_bad->m_parent = p_node_parent; + n_bad->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bad); + +} +void node_from_world__T_belief_systems(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "all"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_belief_systems, field_name)); + auto n_all = new NodeVector; + n_all->m_field_name = field_name; + n_all->m_df_type = DF_Type::belief_system; + n_all->m_rdf_type = RDF_Type::Vector; + n_all->m_node_type = NodeType::Vector; + n_all->m_defined_in = "df.world.xml"; + n_all->m_addornements = "v*"; + n_all->m_address = base + offset; + n_all->m_parent = p_node_parent; + n_all->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_all); + + field_name = "bad"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_belief_systems, field_name)); + auto n_bad = new NodeVector; + n_bad->m_field_name = field_name; + n_bad->m_df_type = DF_Type::belief_system; + n_bad->m_rdf_type = RDF_Type::Vector; + n_bad->m_node_type = NodeType::Vector; + n_bad->m_defined_in = "df.world.xml"; + n_bad->m_addornements = "v*"; + n_bad->m_address = base + offset; + n_bad->m_parent = p_node_parent; + n_bad->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_bad); + +} +void node_from_world__T_map(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "map_blocks"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_map, field_name)); + auto n_map_blocks = new NodeVector; + n_map_blocks->m_field_name = field_name; + n_map_blocks->m_df_type = DF_Type::map_block; + n_map_blocks->m_rdf_type = RDF_Type::Vector; + n_map_blocks->m_node_type = NodeType::Vector; + n_map_blocks->m_defined_in = "df.map.xml"; + n_map_blocks->m_addornements = "v*"; + n_map_blocks->m_address = base + offset; + n_map_blocks->m_parent = p_node_parent; + n_map_blocks->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_map_blocks); + + field_name = "block_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_map, field_name)); + auto n_block_index = new NodePointer; + n_block_index->m_field_name = field_name; + n_block_index->m_df_type = DF_Type::map_block; + n_block_index->m_rdf_type = RDF_Type::Pointer; + n_block_index->m_node_type = NodeType::Pointer; + n_block_index->m_addornements = "****"; + n_block_index->m_address = base + offset; + n_block_index->m_parent = p_node_parent; + n_block_index->m_defined_in = "df.map.xml"; + n_block_index->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_block_index); + + field_name = "map_block_columns"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_map, field_name)); + auto n_map_block_columns = new NodeVector; + n_map_block_columns->m_field_name = field_name; + n_map_block_columns->m_df_type = DF_Type::map_block_column; + n_map_block_columns->m_rdf_type = RDF_Type::Vector; + n_map_block_columns->m_node_type = NodeType::Vector; + n_map_block_columns->m_defined_in = "df.map.xml"; + n_map_block_columns->m_addornements = "v*"; + n_map_block_columns->m_address = base + offset; + n_map_block_columns->m_parent = p_node_parent; + n_map_block_columns->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_map_block_columns); + + field_name = "column_index"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_map, field_name)); + auto n_column_index = new NodePointer; + n_column_index->m_field_name = field_name; + n_column_index->m_df_type = DF_Type::map_block_column; + n_column_index->m_rdf_type = RDF_Type::Pointer; + n_column_index->m_node_type = NodeType::Pointer; + n_column_index->m_addornements = "***"; + n_column_index->m_address = base + offset; + n_column_index->m_parent = p_node_parent; + n_column_index->m_defined_in = "df.map.xml"; + n_column_index->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_column_index); + + field_name = "x_count_block"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_map, field_name)); + auto n_x_count_block = new NodeSimple; + n_x_count_block->m_field_name = field_name; + n_x_count_block->m_df_type = DF_Type::int32_t; + n_x_count_block->m_rdf_type = RDF_Type::int32_t; + n_x_count_block->m_node_type = NodeType::Simple; + n_x_count_block->m_address = base + offset; + n_x_count_block->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_x_count_block); + + field_name = "y_count_block"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_map, field_name)); + auto n_y_count_block = new NodeSimple; + n_y_count_block->m_field_name = field_name; + n_y_count_block->m_df_type = DF_Type::int32_t; + n_y_count_block->m_rdf_type = RDF_Type::int32_t; + n_y_count_block->m_node_type = NodeType::Simple; + n_y_count_block->m_address = base + offset; + n_y_count_block->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_y_count_block); + + field_name = "z_count_block"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_map, field_name)); + auto n_z_count_block = new NodeSimple; + n_z_count_block->m_field_name = field_name; + n_z_count_block->m_df_type = DF_Type::int32_t; + n_z_count_block->m_rdf_type = RDF_Type::int32_t; + n_z_count_block->m_node_type = NodeType::Simple; + n_z_count_block->m_address = base + offset; + n_z_count_block->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_z_count_block); + + field_name = "x_count"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_map, field_name)); + auto n_x_count = new NodeSimple; + n_x_count->m_field_name = field_name; + n_x_count->m_df_type = DF_Type::int32_t; + n_x_count->m_rdf_type = RDF_Type::int32_t; + n_x_count->m_node_type = NodeType::Simple; + n_x_count->m_address = base + offset; + n_x_count->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_x_count); + + field_name = "y_count"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_map, field_name)); + auto n_y_count = new NodeSimple; + n_y_count->m_field_name = field_name; + n_y_count->m_df_type = DF_Type::int32_t; + n_y_count->m_rdf_type = RDF_Type::int32_t; + n_y_count->m_node_type = NodeType::Simple; + n_y_count->m_address = base + offset; + n_y_count->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_y_count); + + field_name = "z_count"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_map, field_name)); + auto n_z_count = new NodeSimple; + n_z_count->m_field_name = field_name; + n_z_count->m_df_type = DF_Type::int32_t; + n_z_count->m_rdf_type = RDF_Type::int32_t; + n_z_count->m_node_type = NodeType::Simple; + n_z_count->m_address = base + offset; + n_z_count->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_z_count); + + field_name = "region_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_map, field_name)); + auto n_region_x = new NodeSimple; + n_region_x->m_field_name = field_name; + n_region_x->m_df_type = DF_Type::int32_t; + n_region_x->m_rdf_type = RDF_Type::int32_t; + n_region_x->m_node_type = NodeType::Simple; + n_region_x->m_address = base + offset; + n_region_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region_x); + + field_name = "region_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_map, field_name)); + auto n_region_y = new NodeSimple; + n_region_y->m_field_name = field_name; + n_region_y->m_df_type = DF_Type::int32_t; + n_region_y->m_rdf_type = RDF_Type::int32_t; + n_region_y->m_node_type = NodeType::Simple; + n_region_y->m_address = base + offset; + n_region_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region_y); + + field_name = "region_z"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_map, field_name)); + auto n_region_z = new NodeSimple; + n_region_z->m_field_name = field_name; + n_region_z->m_df_type = DF_Type::int32_t; + n_region_z->m_rdf_type = RDF_Type::int32_t; + n_region_z->m_node_type = NodeType::Simple; + n_region_z->m_address = base + offset; + n_region_z->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region_z); + + field_name = "distance_lookup"; + auto n_distance_lookup = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_map, field_name)); + n_distance_lookup->m_field_name = field_name; + n_distance_lookup->m_df_type = DF_Type::int16_t; + n_distance_lookup->m_rdf_type = RDF_Type::Array; + n_distance_lookup->m_node_type = NodeType::Array; + n_distance_lookup->m_addornements = "[53[53"; + n_distance_lookup->m_array_size = 53; + n_distance_lookup->m_address = base + offset; + n_distance_lookup->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_distance_lookup); + +} +void node_from_world__T_profession_skills(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "primary"; + auto n_primary = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_profession_skills, field_name)); + n_primary->m_field_name = field_name; + n_primary->m_df_type = DF_Type::job_skill; + n_primary->m_rdf_type = RDF_Type::Array; + n_primary->m_node_type = NodeType::Array; + n_primary->m_index_enum = DF_Type::profession; + n_primary->m_enum_base = DF_Type::int16_t; + n_primary->m_defined_in = "df.skills.xml"; + n_primary->m_addornements = "[135v"; + n_primary->m_array_size = 135; + n_primary->m_address = base + offset; + n_primary->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_primary); + + field_name = "secondary"; + auto n_secondary = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_profession_skills, field_name)); + n_secondary->m_field_name = field_name; + n_secondary->m_df_type = DF_Type::job_skill; + n_secondary->m_rdf_type = RDF_Type::Array; + n_secondary->m_node_type = NodeType::Array; + n_secondary->m_index_enum = DF_Type::profession; + n_secondary->m_enum_base = DF_Type::int16_t; + n_secondary->m_defined_in = "df.skills.xml"; + n_secondary->m_addornements = "[135v"; + n_secondary->m_array_size = 135; + n_secondary->m_address = base + offset; + n_secondary->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_secondary); + +} +void node_from_world__T_math__T_approx(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "cos"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_math__T_approx, field_name)); + auto n_cos = new NodeSimple; + n_cos->m_field_name = field_name; + n_cos->m_df_type = DF_Type::int32_t; + n_cos->m_rdf_type = RDF_Type::int32_t; + n_cos->m_node_type = NodeType::Simple; + n_cos->m_address = base + offset; + n_cos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cos); + + field_name = "sin"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_math__T_approx, field_name)); + auto n_sin = new NodeSimple; + n_sin->m_field_name = field_name; + n_sin->m_df_type = DF_Type::int32_t; + n_sin->m_rdf_type = RDF_Type::int32_t; + n_sin->m_node_type = NodeType::Simple; + n_sin->m_address = base + offset; + n_sin->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_sin); + +} +void node_from_world__T_math(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "approx"; + auto n_approx = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_math, field_name)); + n_approx->m_field_name = field_name; + n_approx->m_df_type = DF_Type::world__T_math__T_approx; + n_approx->m_rdf_type = RDF_Type::Array; + n_approx->m_comment = "10 * cosine/sine of the index in units of 1/40 of a circle, rounded towards 0"; + n_approx->m_node_type = NodeType::Array; + n_approx->m_addornements = "[40"; + n_approx->m_array_size = 40; + n_approx->m_address = base + offset; + n_approx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_approx); + + field_name = "cos"; + auto n_cos = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_math, field_name)); + n_cos->m_field_name = field_name; + n_cos->m_df_type = DF_Type::D_float; + n_cos->m_rdf_type = RDF_Type::Array; + n_cos->m_comment = "100 * cosine of the index in degrees"; + n_cos->m_node_type = NodeType::Array; + n_cos->m_addornements = "[181"; + n_cos->m_array_size = 181; + n_cos->m_address = base + offset; + n_cos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cos); + + field_name = "hypot"; + auto n_hypot = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_math, field_name)); + n_hypot->m_field_name = field_name; + n_hypot->m_df_type = DF_Type::D_float; + n_hypot->m_rdf_type = RDF_Type::Array; + n_hypot->m_comment = "square root of the sum of the squares of the indices"; + n_hypot->m_node_type = NodeType::Array; + n_hypot->m_addornements = "[11[11"; + n_hypot->m_array_size = 11; + n_hypot->m_address = base + offset; + n_hypot->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_hypot); + +} +void node_from_world__T_map_extras(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "rotation"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_map_extras, field_name)); + auto n_rotation = new NodeSimple; + n_rotation->m_field_name = field_name; + n_rotation->m_df_type = DF_Type::uint8_t; + n_rotation->m_rdf_type = RDF_Type::uint8_t; + n_rotation->m_node_type = NodeType::Simple; + n_rotation->m_address = base + offset; + n_rotation->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rotation); + + field_name = "z_level_flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_map_extras, field_name)); + auto n_z_level_flags = new NodePointer; + n_z_level_flags->m_field_name = field_name; + n_z_level_flags->m_df_type = get_real_subtype(base+offset, DF_Type::z_level_flags); + n_z_level_flags->m_rdf_type = RDF_Type::Pointer; + n_z_level_flags->m_node_type = NodeType::Pointer; + n_z_level_flags->m_addornements = "*"; + n_z_level_flags->m_address = base + offset; + n_z_level_flags->m_parent = p_node_parent; + n_z_level_flags->m_defined_in = "df.map.xml"; + n_z_level_flags->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_z_level_flags); + + field_name = "unk_v40_3a"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_map_extras, field_name)); + auto n_unk_v40_3a = new NodeVector; + n_unk_v40_3a->m_field_name = field_name; + n_unk_v40_3a->m_df_type = DF_Type::block_square_event; + n_unk_v40_3a->m_rdf_type = RDF_Type::Vector; + n_unk_v40_3a->m_node_type = NodeType::Vector; + n_unk_v40_3a->m_defined_in = "df.map.xml"; + n_unk_v40_3a->m_addornements = "v*"; + n_unk_v40_3a->m_address = base + offset; + n_unk_v40_3a->m_parent = p_node_parent; + n_unk_v40_3a->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_v40_3a); + + field_name = "unk_v40_3b"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_map_extras, field_name)); + auto n_unk_v40_3b = new NodeVector; + n_unk_v40_3b->m_field_name = field_name; + n_unk_v40_3b->m_df_type = DF_Type::int16_t; + n_unk_v40_3b->m_rdf_type = RDF_Type::Vector; + n_unk_v40_3b->m_node_type = NodeType::Vector; + n_unk_v40_3b->m_addornements = "v"; + n_unk_v40_3b->m_address = base + offset; + n_unk_v40_3b->m_parent = p_node_parent; + n_unk_v40_3b->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_v40_3b); + + field_name = "unk_v40_3c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_map_extras, field_name)); + auto n_unk_v40_3c = new NodeVector; + n_unk_v40_3c->m_field_name = field_name; + n_unk_v40_3c->m_df_type = DF_Type::int16_t; + n_unk_v40_3c->m_rdf_type = RDF_Type::Vector; + n_unk_v40_3c->m_node_type = NodeType::Vector; + n_unk_v40_3c->m_addornements = "v"; + n_unk_v40_3c->m_address = base + offset; + n_unk_v40_3c->m_parent = p_node_parent; + n_unk_v40_3c->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_v40_3c); + + field_name = "unk_v40_3d"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_map_extras, field_name)); + auto n_unk_v40_3d = new NodeVector; + n_unk_v40_3d->m_field_name = field_name; + n_unk_v40_3d->m_df_type = DF_Type::int16_t; + n_unk_v40_3d->m_rdf_type = RDF_Type::Vector; + n_unk_v40_3d->m_node_type = NodeType::Vector; + n_unk_v40_3d->m_addornements = "v"; + n_unk_v40_3d->m_address = base + offset; + n_unk_v40_3d->m_parent = p_node_parent; + n_unk_v40_3d->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_v40_3d); + +} +void node_from_world__T_worldgen_status(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "state"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_state = new NodeSimple; + n_state->m_field_name = field_name; + n_state->m_df_type = DF_Type::int16_t; + n_state->m_rdf_type = RDF_Type::int16_t; + n_state->m_node_type = NodeType::Simple; + n_state->m_address = base + offset; + n_state->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_state); + + field_name = "num_rejects"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_num_rejects = new NodeSimple; + n_num_rejects->m_field_name = field_name; + n_num_rejects->m_df_type = DF_Type::int32_t; + n_num_rejects->m_rdf_type = RDF_Type::int32_t; + n_num_rejects->m_node_type = NodeType::Simple; + n_num_rejects->m_address = base + offset; + n_num_rejects->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_num_rejects); + + field_name = "anon_1"; + auto n_anon_1 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::Array; + n_anon_1->m_node_type = NodeType::Array; + n_anon_1->m_addornements = "[53"; + n_anon_1->m_array_size = 53; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + auto n_anon_2 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::Array; + n_anon_2->m_node_type = NodeType::Array; + n_anon_2->m_addornements = "[53"; + n_anon_2->m_array_size = 53; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "rejection_reason"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_rejection_reason = new NodeSimple; + n_rejection_reason->m_field_name = field_name; + n_rejection_reason->m_df_type = DF_Type::int16_t; + n_rejection_reason->m_rdf_type = RDF_Type::int16_t; + n_rejection_reason->m_node_type = NodeType::Simple; + n_rejection_reason->m_address = base + offset; + n_rejection_reason->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rejection_reason); + + field_name = "lakes_total"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_lakes_total = new NodeSimple; + n_lakes_total->m_field_name = field_name; + n_lakes_total->m_df_type = DF_Type::int32_t; + n_lakes_total->m_rdf_type = RDF_Type::int32_t; + n_lakes_total->m_node_type = NodeType::Simple; + n_lakes_total->m_address = base + offset; + n_lakes_total->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_lakes_total); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int16_t; + n_anon_4->m_rdf_type = RDF_Type::int16_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "lakes_cur"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_lakes_cur = new NodeSimple; + n_lakes_cur->m_field_name = field_name; + n_lakes_cur->m_df_type = DF_Type::int32_t; + n_lakes_cur->m_rdf_type = RDF_Type::int32_t; + n_lakes_cur->m_node_type = NodeType::Simple; + n_lakes_cur->m_address = base + offset; + n_lakes_cur->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_lakes_cur); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "geo_layers"; + auto n_geo_layers = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + n_geo_layers->m_field_name = field_name; + n_geo_layers->m_df_type = DF_Type::world_geo_layer; + n_geo_layers->m_rdf_type = RDF_Type::Array; + n_geo_layers->m_node_type = NodeType::Array; + n_geo_layers->m_defined_in = "df.world-data.xml"; + n_geo_layers->m_addornements = "[100"; + n_geo_layers->m_array_size = 100; + n_geo_layers->m_address = base + offset; + n_geo_layers->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_geo_layers); + + field_name = "anon_7"; + auto n_anon_7 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::int8_t; + n_anon_7->m_rdf_type = RDF_Type::Array; + n_anon_7->m_node_type = NodeType::Array; + n_anon_7->m_addornements = "[100"; + n_anon_7->m_array_size = 100; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_7); + + field_name = "anon_8"; + auto n_anon_8 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + n_anon_8->m_field_name = field_name; + n_anon_8->m_df_type = DF_Type::int16_t; + n_anon_8->m_rdf_type = RDF_Type::Array; + n_anon_8->m_node_type = NodeType::Array; + n_anon_8->m_addornements = "[100"; + n_anon_8->m_array_size = 100; + n_anon_8->m_address = base + offset; + n_anon_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_8); + + field_name = "anon_9"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_anon_9 = new NodeSimple; + n_anon_9->m_field_name = field_name; + n_anon_9->m_df_type = DF_Type::int32_t; + n_anon_9->m_rdf_type = RDF_Type::int32_t; + n_anon_9->m_node_type = NodeType::Simple; + n_anon_9->m_address = base + offset; + n_anon_9->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_9); + + field_name = "finalized_civ_mats"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_finalized_civ_mats = new NodeSimple; + n_finalized_civ_mats->m_field_name = field_name; + n_finalized_civ_mats->m_df_type = DF_Type::int32_t; + n_finalized_civ_mats->m_rdf_type = RDF_Type::int32_t; + n_finalized_civ_mats->m_node_type = NodeType::Simple; + n_finalized_civ_mats->m_address = base + offset; + n_finalized_civ_mats->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_finalized_civ_mats); + + field_name = "finalized_art"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_finalized_art = new NodeSimple; + n_finalized_art->m_field_name = field_name; + n_finalized_art->m_df_type = DF_Type::int32_t; + n_finalized_art->m_rdf_type = RDF_Type::int32_t; + n_finalized_art->m_node_type = NodeType::Simple; + n_finalized_art->m_address = base + offset; + n_finalized_art->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_finalized_art); + + field_name = "finalized_uniforms"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_finalized_uniforms = new NodeSimple; + n_finalized_uniforms->m_field_name = field_name; + n_finalized_uniforms->m_df_type = DF_Type::int32_t; + n_finalized_uniforms->m_rdf_type = RDF_Type::int32_t; + n_finalized_uniforms->m_node_type = NodeType::Simple; + n_finalized_uniforms->m_address = base + offset; + n_finalized_uniforms->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_finalized_uniforms); + + field_name = "finalized_sites"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_finalized_sites = new NodeSimple; + n_finalized_sites->m_field_name = field_name; + n_finalized_sites->m_df_type = DF_Type::int32_t; + n_finalized_sites->m_rdf_type = RDF_Type::int32_t; + n_finalized_sites->m_node_type = NodeType::Simple; + n_finalized_sites->m_address = base + offset; + n_finalized_sites->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_finalized_sites); + + field_name = "anon_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_anon_10 = new NodeSimple; + n_anon_10->m_field_name = field_name; + n_anon_10->m_df_type = DF_Type::int32_t; + n_anon_10->m_rdf_type = RDF_Type::int32_t; + n_anon_10->m_node_type = NodeType::Simple; + n_anon_10->m_address = base + offset; + n_anon_10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_10); + + field_name = "anon_11"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_anon_11 = new NodeSimple; + n_anon_11->m_field_name = field_name; + n_anon_11->m_df_type = DF_Type::int32_t; + n_anon_11->m_rdf_type = RDF_Type::int32_t; + n_anon_11->m_node_type = NodeType::Simple; + n_anon_11->m_address = base + offset; + n_anon_11->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_11); + + field_name = "anon_12"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_anon_12 = new NodeSimple; + n_anon_12->m_field_name = field_name; + n_anon_12->m_df_type = DF_Type::int32_t; + n_anon_12->m_rdf_type = RDF_Type::int32_t; + n_anon_12->m_node_type = NodeType::Simple; + n_anon_12->m_address = base + offset; + n_anon_12->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_12); + + field_name = "entities"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_entities = new NodeVector; + n_entities->m_field_name = field_name; + n_entities->m_df_type = DF_Type::historical_entity; + n_entities->m_rdf_type = RDF_Type::Vector; + n_entities->m_node_type = NodeType::Vector; + n_entities->m_defined_in = "df.entities.xml"; + n_entities->m_addornements = "v*"; + n_entities->m_address = base + offset; + n_entities->m_parent = p_node_parent; + n_entities->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_entities); + + field_name = "sites"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_sites = new NodeVector; + n_sites->m_field_name = field_name; + n_sites->m_df_type = DF_Type::world_site; + n_sites->m_rdf_type = RDF_Type::Vector; + n_sites->m_node_type = NodeType::Vector; + n_sites->m_defined_in = "df.world-site.xml"; + n_sites->m_addornements = "v*"; + n_sites->m_address = base + offset; + n_sites->m_parent = p_node_parent; + n_sites->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_sites); + + field_name = "cursor_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_cursor_x = new NodeSimple; + n_cursor_x->m_field_name = field_name; + n_cursor_x->m_df_type = DF_Type::int32_t; + n_cursor_x->m_rdf_type = RDF_Type::int32_t; + n_cursor_x->m_node_type = NodeType::Simple; + n_cursor_x->m_address = base + offset; + n_cursor_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cursor_x); + + field_name = "cursor_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_cursor_y = new NodeSimple; + n_cursor_y->m_field_name = field_name; + n_cursor_y->m_df_type = DF_Type::int32_t; + n_cursor_y->m_rdf_type = RDF_Type::int32_t; + n_cursor_y->m_node_type = NodeType::Simple; + n_cursor_y->m_address = base + offset; + n_cursor_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cursor_y); + + field_name = "anon_13"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_anon_13 = new NodeVector; + n_anon_13->m_field_name = field_name; + n_anon_13->m_df_type = DF_Type::Void; + n_anon_13->m_rdf_type = RDF_Type::Vector; + n_anon_13->m_node_type = NodeType::Vector; + n_anon_13->m_addornements = "v"; + n_anon_13->m_address = base + offset; + n_anon_13->m_parent = p_node_parent; + n_anon_13->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_13); + + field_name = "anon_14"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_anon_14 = new NodeVector; + n_anon_14->m_field_name = field_name; + n_anon_14->m_df_type = DF_Type::Void; + n_anon_14->m_rdf_type = RDF_Type::Vector; + n_anon_14->m_node_type = NodeType::Vector; + n_anon_14->m_addornements = "v"; + n_anon_14->m_address = base + offset; + n_anon_14->m_parent = p_node_parent; + n_anon_14->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_14); + + field_name = "rivers_total"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_rivers_total = new NodeSimple; + n_rivers_total->m_field_name = field_name; + n_rivers_total->m_df_type = DF_Type::int32_t; + n_rivers_total->m_rdf_type = RDF_Type::int32_t; + n_rivers_total->m_node_type = NodeType::Simple; + n_rivers_total->m_address = base + offset; + n_rivers_total->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rivers_total); + + field_name = "rivers_cur"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_rivers_cur = new NodeSimple; + n_rivers_cur->m_field_name = field_name; + n_rivers_cur->m_df_type = DF_Type::int32_t; + n_rivers_cur->m_rdf_type = RDF_Type::int32_t; + n_rivers_cur->m_node_type = NodeType::Simple; + n_rivers_cur->m_address = base + offset; + n_rivers_cur->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rivers_cur); + + field_name = "anon_15"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_anon_15 = new NodeSimple; + n_anon_15->m_field_name = field_name; + n_anon_15->m_df_type = DF_Type::int8_t; + n_anon_15->m_rdf_type = RDF_Type::int8_t; + n_anon_15->m_node_type = NodeType::Simple; + n_anon_15->m_address = base + offset; + n_anon_15->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_15); + + field_name = "last_param_set"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_last_param_set = new NodeSimple; + n_last_param_set->m_field_name = field_name; + n_last_param_set->m_df_type = DF_Type::Stl_string; + n_last_param_set->m_rdf_type = RDF_Type::Stl_string; + n_last_param_set->m_node_type = NodeType::Simple; + n_last_param_set->m_address = base + offset; + n_last_param_set->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_last_param_set); + + field_name = "last_seed"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_last_seed = new NodeSimple; + n_last_seed->m_field_name = field_name; + n_last_seed->m_df_type = DF_Type::Stl_string; + n_last_seed->m_rdf_type = RDF_Type::Stl_string; + n_last_seed->m_node_type = NodeType::Simple; + n_last_seed->m_address = base + offset; + n_last_seed->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_last_seed); + + field_name = "last_name_seed"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_last_name_seed = new NodeSimple; + n_last_name_seed->m_field_name = field_name; + n_last_name_seed->m_df_type = DF_Type::Stl_string; + n_last_name_seed->m_rdf_type = RDF_Type::Stl_string; + n_last_name_seed->m_node_type = NodeType::Simple; + n_last_name_seed->m_address = base + offset; + n_last_name_seed->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_last_name_seed); + + field_name = "last_history_seed"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_last_history_seed = new NodeSimple; + n_last_history_seed->m_field_name = field_name; + n_last_history_seed->m_df_type = DF_Type::Stl_string; + n_last_history_seed->m_rdf_type = RDF_Type::Stl_string; + n_last_history_seed->m_node_type = NodeType::Simple; + n_last_history_seed->m_address = base + offset; + n_last_history_seed->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_last_history_seed); + + field_name = "last_creature_seed"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_last_creature_seed = new NodeSimple; + n_last_creature_seed->m_field_name = field_name; + n_last_creature_seed->m_df_type = DF_Type::Stl_string; + n_last_creature_seed->m_rdf_type = RDF_Type::Stl_string; + n_last_creature_seed->m_node_type = NodeType::Simple; + n_last_creature_seed->m_address = base + offset; + n_last_creature_seed->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_last_creature_seed); + + field_name = "place_caves"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_place_caves = new NodeSimple; + n_place_caves->m_field_name = field_name; + n_place_caves->m_df_type = DF_Type::Bool; + n_place_caves->m_rdf_type = RDF_Type::Bool; + n_place_caves->m_node_type = NodeType::Simple; + n_place_caves->m_address = base + offset; + n_place_caves->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_place_caves); + + field_name = "place_good_evil"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_place_good_evil = new NodeSimple; + n_place_good_evil->m_field_name = field_name; + n_place_good_evil->m_df_type = DF_Type::Bool; + n_place_good_evil->m_rdf_type = RDF_Type::Bool; + n_place_good_evil->m_node_type = NodeType::Simple; + n_place_good_evil->m_address = base + offset; + n_place_good_evil->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_place_good_evil); + + field_name = "place_megabeasts"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_place_megabeasts = new NodeSimple; + n_place_megabeasts->m_field_name = field_name; + n_place_megabeasts->m_df_type = DF_Type::Bool; + n_place_megabeasts->m_rdf_type = RDF_Type::Bool; + n_place_megabeasts->m_node_type = NodeType::Simple; + n_place_megabeasts->m_address = base + offset; + n_place_megabeasts->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_place_megabeasts); + + field_name = "place_other_beasts"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_place_other_beasts = new NodeSimple; + n_place_other_beasts->m_field_name = field_name; + n_place_other_beasts->m_df_type = DF_Type::Bool; + n_place_other_beasts->m_rdf_type = RDF_Type::Bool; + n_place_other_beasts->m_node_type = NodeType::Simple; + n_place_other_beasts->m_address = base + offset; + n_place_other_beasts->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_place_other_beasts); + + field_name = "make_cave_pops"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_make_cave_pops = new NodeSimple; + n_make_cave_pops->m_field_name = field_name; + n_make_cave_pops->m_df_type = DF_Type::Bool; + n_make_cave_pops->m_rdf_type = RDF_Type::Bool; + n_make_cave_pops->m_node_type = NodeType::Simple; + n_make_cave_pops->m_address = base + offset; + n_make_cave_pops->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_make_cave_pops); + + field_name = "make_cave_civs"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_make_cave_civs = new NodeSimple; + n_make_cave_civs->m_field_name = field_name; + n_make_cave_civs->m_df_type = DF_Type::Bool; + n_make_cave_civs->m_rdf_type = RDF_Type::Bool; + n_make_cave_civs->m_node_type = NodeType::Simple; + n_make_cave_civs->m_address = base + offset; + n_make_cave_civs->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_make_cave_civs); + + field_name = "place_civs"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_place_civs = new NodeSimple; + n_place_civs->m_field_name = field_name; + n_place_civs->m_df_type = DF_Type::Bool; + n_place_civs->m_rdf_type = RDF_Type::Bool; + n_place_civs->m_node_type = NodeType::Simple; + n_place_civs->m_address = base + offset; + n_place_civs->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_place_civs); + + field_name = "finished_prehistory"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_finished_prehistory = new NodeSimple; + n_finished_prehistory->m_field_name = field_name; + n_finished_prehistory->m_df_type = DF_Type::Bool; + n_finished_prehistory->m_rdf_type = RDF_Type::Bool; + n_finished_prehistory->m_node_type = NodeType::Simple; + n_finished_prehistory->m_address = base + offset; + n_finished_prehistory->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_finished_prehistory); + + field_name = "sites2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_sites2 = new NodeVector; + n_sites2->m_field_name = field_name; + n_sites2->m_df_type = DF_Type::world_site; + n_sites2->m_rdf_type = RDF_Type::Vector; + n_sites2->m_node_type = NodeType::Vector; + n_sites2->m_defined_in = "df.world-site.xml"; + n_sites2->m_addornements = "v*"; + n_sites2->m_address = base + offset; + n_sites2->m_parent = p_node_parent; + n_sites2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_sites2); + + field_name = "sites3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_sites3 = new NodeVector; + n_sites3->m_field_name = field_name; + n_sites3->m_df_type = DF_Type::world_site; + n_sites3->m_rdf_type = RDF_Type::Vector; + n_sites3->m_node_type = NodeType::Vector; + n_sites3->m_defined_in = "df.world-site.xml"; + n_sites3->m_addornements = "v*"; + n_sites3->m_address = base + offset; + n_sites3->m_parent = p_node_parent; + n_sites3->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_sites3); + + field_name = "anon_16"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_anon_16 = new NodeSimple; + n_anon_16->m_field_name = field_name; + n_anon_16->m_df_type = DF_Type::int32_t; + n_anon_16->m_rdf_type = RDF_Type::int32_t; + n_anon_16->m_node_type = NodeType::Simple; + n_anon_16->m_address = base + offset; + n_anon_16->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_16); + + field_name = "anon_17"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_anon_17 = new NodeSimple; + n_anon_17->m_field_name = field_name; + n_anon_17->m_df_type = DF_Type::int8_t; + n_anon_17->m_rdf_type = RDF_Type::int8_t; + n_anon_17->m_node_type = NodeType::Simple; + n_anon_17->m_address = base + offset; + n_anon_17->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_17); + + field_name = "anon_18"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_anon_18 = new NodeSimple; + n_anon_18->m_field_name = field_name; + n_anon_18->m_df_type = DF_Type::int8_t; + n_anon_18->m_rdf_type = RDF_Type::int8_t; + n_anon_18->m_node_type = NodeType::Simple; + n_anon_18->m_address = base + offset; + n_anon_18->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_18); + + field_name = "anon_19"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_anon_19 = new NodeSimple; + n_anon_19->m_field_name = field_name; + n_anon_19->m_df_type = DF_Type::int8_t; + n_anon_19->m_rdf_type = RDF_Type::int8_t; + n_anon_19->m_node_type = NodeType::Simple; + n_anon_19->m_address = base + offset; + n_anon_19->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_19); + + field_name = "anon_20"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_anon_20 = new NodeSimple; + n_anon_20->m_field_name = field_name; + n_anon_20->m_df_type = DF_Type::int8_t; + n_anon_20->m_rdf_type = RDF_Type::int8_t; + n_anon_20->m_node_type = NodeType::Simple; + n_anon_20->m_address = base + offset; + n_anon_20->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_20); + + field_name = "entity_raws"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_entity_raws = new NodeVector; + n_entity_raws->m_field_name = field_name; + n_entity_raws->m_df_type = DF_Type::entity_raw; + n_entity_raws->m_rdf_type = RDF_Type::Vector; + n_entity_raws->m_node_type = NodeType::Vector; + n_entity_raws->m_defined_in = "df.entity-raws.xml"; + n_entity_raws->m_addornements = "v*"; + n_entity_raws->m_address = base + offset; + n_entity_raws->m_parent = p_node_parent; + n_entity_raws->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_entity_raws); + + field_name = "anon_21"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_anon_21 = new NodeVector; + n_anon_21->m_field_name = field_name; + n_anon_21->m_df_type = DF_Type::int32_t; + n_anon_21->m_rdf_type = RDF_Type::Vector; + n_anon_21->m_node_type = NodeType::Vector; + n_anon_21->m_addornements = "v"; + n_anon_21->m_address = base + offset; + n_anon_21->m_parent = p_node_parent; + n_anon_21->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_21); + + field_name = "civ_count"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_civ_count = new NodeSimple; + n_civ_count->m_field_name = field_name; + n_civ_count->m_df_type = DF_Type::int32_t; + n_civ_count->m_rdf_type = RDF_Type::int32_t; + n_civ_count->m_node_type = NodeType::Simple; + n_civ_count->m_address = base + offset; + n_civ_count->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_civ_count); + + field_name = "civs_left_to_place"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_civs_left_to_place = new NodeSimple; + n_civs_left_to_place->m_field_name = field_name; + n_civs_left_to_place->m_df_type = DF_Type::int32_t; + n_civs_left_to_place->m_rdf_type = RDF_Type::int32_t; + n_civs_left_to_place->m_node_type = NodeType::Simple; + n_civs_left_to_place->m_address = base + offset; + n_civs_left_to_place->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_civs_left_to_place); + + field_name = "regions1"; + auto n_regions1 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + n_regions1->m_field_name = field_name; + n_regions1->m_df_type = DF_Type::world_region; + n_regions1->m_rdf_type = RDF_Type::Array; + n_regions1->m_node_type = NodeType::Array; + n_regions1->m_defined_in = "df.world-data.xml"; + n_regions1->m_addornements = "[10v*"; + n_regions1->m_array_size = 10; + n_regions1->m_address = base + offset; + n_regions1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_regions1); + + field_name = "regions2"; + auto n_regions2 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + n_regions2->m_field_name = field_name; + n_regions2->m_df_type = DF_Type::world_region; + n_regions2->m_rdf_type = RDF_Type::Array; + n_regions2->m_node_type = NodeType::Array; + n_regions2->m_defined_in = "df.world-data.xml"; + n_regions2->m_addornements = "[10v*"; + n_regions2->m_array_size = 10; + n_regions2->m_address = base + offset; + n_regions2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_regions2); + + field_name = "regions3"; + auto n_regions3 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + n_regions3->m_field_name = field_name; + n_regions3->m_df_type = DF_Type::world_region; + n_regions3->m_rdf_type = RDF_Type::Array; + n_regions3->m_node_type = NodeType::Array; + n_regions3->m_defined_in = "df.world-data.xml"; + n_regions3->m_addornements = "[10v*"; + n_regions3->m_array_size = 10; + n_regions3->m_address = base + offset; + n_regions3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_regions3); + + field_name = "anon_22"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_anon_22 = new NodeVector; + n_anon_22->m_field_name = field_name; + n_anon_22->m_df_type = DF_Type::int32_t; + n_anon_22->m_rdf_type = RDF_Type::Vector; + n_anon_22->m_node_type = NodeType::Vector; + n_anon_22->m_addornements = "v"; + n_anon_22->m_address = base + offset; + n_anon_22->m_parent = p_node_parent; + n_anon_22->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_22); + + field_name = "anon_23"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_anon_23 = new NodeVector; + n_anon_23->m_field_name = field_name; + n_anon_23->m_df_type = DF_Type::int32_t; + n_anon_23->m_rdf_type = RDF_Type::Vector; + n_anon_23->m_node_type = NodeType::Vector; + n_anon_23->m_addornements = "v"; + n_anon_23->m_address = base + offset; + n_anon_23->m_parent = p_node_parent; + n_anon_23->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_23); + + field_name = "anon_24"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_anon_24 = new NodeVector; + n_anon_24->m_field_name = field_name; + n_anon_24->m_df_type = DF_Type::int32_t; + n_anon_24->m_rdf_type = RDF_Type::Vector; + n_anon_24->m_node_type = NodeType::Vector; + n_anon_24->m_addornements = "v"; + n_anon_24->m_address = base + offset; + n_anon_24->m_parent = p_node_parent; + n_anon_24->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_24); + + field_name = "anon_25"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_anon_25 = new NodeVector; + n_anon_25->m_field_name = field_name; + n_anon_25->m_df_type = DF_Type::int32_t; + n_anon_25->m_rdf_type = RDF_Type::Vector; + n_anon_25->m_node_type = NodeType::Vector; + n_anon_25->m_addornements = "v"; + n_anon_25->m_address = base + offset; + n_anon_25->m_parent = p_node_parent; + n_anon_25->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_25); + + field_name = "anon_26"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_anon_26 = new NodeVector; + n_anon_26->m_field_name = field_name; + n_anon_26->m_df_type = DF_Type::int32_t; + n_anon_26->m_rdf_type = RDF_Type::Vector; + n_anon_26->m_node_type = NodeType::Vector; + n_anon_26->m_addornements = "v"; + n_anon_26->m_address = base + offset; + n_anon_26->m_parent = p_node_parent; + n_anon_26->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_26); + + field_name = "anon_27"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_anon_27 = new NodeVector; + n_anon_27->m_field_name = field_name; + n_anon_27->m_df_type = DF_Type::int32_t; + n_anon_27->m_rdf_type = RDF_Type::Vector; + n_anon_27->m_node_type = NodeType::Vector; + n_anon_27->m_addornements = "v"; + n_anon_27->m_address = base + offset; + n_anon_27->m_parent = p_node_parent; + n_anon_27->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_27); + + field_name = "anon_28"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_anon_28 = new NodeSimple; + n_anon_28->m_field_name = field_name; + n_anon_28->m_df_type = DF_Type::int32_t; + n_anon_28->m_rdf_type = RDF_Type::int32_t; + n_anon_28->m_node_type = NodeType::Simple; + n_anon_28->m_address = base + offset; + n_anon_28->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_28); + + field_name = "anon_29"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_anon_29 = new NodeSimple; + n_anon_29->m_field_name = field_name; + n_anon_29->m_df_type = DF_Type::int32_t; + n_anon_29->m_rdf_type = RDF_Type::int32_t; + n_anon_29->m_node_type = NodeType::Simple; + n_anon_29->m_address = base + offset; + n_anon_29->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_29); + + field_name = "unk_10d298"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_unk_10d298 = new NodeVector; + n_unk_10d298->m_field_name = field_name; + n_unk_10d298->m_df_type = DF_Type::int32_t; + n_unk_10d298->m_rdf_type = RDF_Type::Vector; + n_unk_10d298->m_node_type = NodeType::Vector; + n_unk_10d298->m_addornements = "v"; + n_unk_10d298->m_address = base + offset; + n_unk_10d298->m_parent = p_node_parent; + n_unk_10d298->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_10d298); + + field_name = "unk_10d2a4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_unk_10d2a4 = new NodeVector; + n_unk_10d2a4->m_field_name = field_name; + n_unk_10d2a4->m_df_type = DF_Type::int32_t; + n_unk_10d2a4->m_rdf_type = RDF_Type::Vector; + n_unk_10d2a4->m_node_type = NodeType::Vector; + n_unk_10d2a4->m_addornements = "v"; + n_unk_10d2a4->m_address = base + offset; + n_unk_10d2a4->m_parent = p_node_parent; + n_unk_10d2a4->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_10d2a4); + + field_name = "libraries"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_libraries = new NodeVector; + n_libraries->m_field_name = field_name; + n_libraries->m_df_type = DF_Type::abstract_building; + n_libraries->m_rdf_type = RDF_Type::Vector; + n_libraries->m_node_type = NodeType::Vector; + n_libraries->m_defined_in = "df.world-site.xml"; + n_libraries->m_addornements = "v*"; + n_libraries->m_address = base + offset; + n_libraries->m_parent = p_node_parent; + n_libraries->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_libraries); + + field_name = "anon_30"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_anon_30 = new NodeSimple; + n_anon_30->m_field_name = field_name; + n_anon_30->m_df_type = DF_Type::int32_t; + n_anon_30->m_rdf_type = RDF_Type::int32_t; + n_anon_30->m_node_type = NodeType::Simple; + n_anon_30->m_address = base + offset; + n_anon_30->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_30); + + field_name = "temples"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_temples = new NodeVector; + n_temples->m_field_name = field_name; + n_temples->m_df_type = DF_Type::abstract_building; + n_temples->m_rdf_type = RDF_Type::Vector; + n_temples->m_node_type = NodeType::Vector; + n_temples->m_defined_in = "df.world-site.xml"; + n_temples->m_addornements = "v*"; + n_temples->m_address = base + offset; + n_temples->m_parent = p_node_parent; + n_temples->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_temples); + + field_name = "some_artifacts"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen_status, field_name)); + auto n_some_artifacts = new NodeVector; + n_some_artifacts->m_field_name = field_name; + n_some_artifacts->m_df_type = DF_Type::artifact_record; + n_some_artifacts->m_rdf_type = RDF_Type::Vector; + n_some_artifacts->m_node_type = NodeType::Vector; + n_some_artifacts->m_defined_in = "df.legends.xml"; + n_some_artifacts->m_addornements = "v*"; + n_some_artifacts->m_address = base + offset; + n_some_artifacts->m_parent = p_node_parent; + n_some_artifacts->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_some_artifacts); + +} +void node_from_world__T_unk_59dc4__T_unk1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "ref"; + auto n_ref = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_59dc4__T_unk1, field_name)); + n_ref->m_field_name = field_name; + n_ref->m_df_type = DF_Type::world_population_ref; + n_ref->m_rdf_type = RDF_Type::Struct; + n_ref->m_node_type = NodeType::Compound; + n_ref->m_address = base + offset; + n_ref->m_defined_in = "df.world-data.xml"; + n_ref->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ref); + + field_name = "unk"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_59dc4__T_unk1, field_name)); + auto n_unk = new NodeVector; + n_unk->m_field_name = field_name; + n_unk->m_df_type = DF_Type::int32_t; + n_unk->m_rdf_type = RDF_Type::Vector; + n_unk->m_node_type = NodeType::Vector; + n_unk->m_addornements = "v"; + n_unk->m_address = base + offset; + n_unk->m_parent = p_node_parent; + n_unk->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk); + +} +void node_from_world__T_unk_59dc4(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "regions"; + auto n_regions = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_59dc4, field_name)); + n_regions->m_field_name = field_name; + n_regions->m_df_type = DF_Type::coord2d_path; + n_regions->m_rdf_type = RDF_Type::Struct; + n_regions->m_node_type = NodeType::Compound; + n_regions->m_address = base + offset; + n_regions->m_defined_in = "df.map.xml"; + n_regions->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_regions); + + field_name = "unk1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_59dc4, field_name)); + auto n_unk1 = new NodeVector; + n_unk1->m_field_name = field_name; + n_unk1->m_df_type = DF_Type::world__T_unk_59dc4__T_unk1; + n_unk1->m_rdf_type = RDF_Type::Vector; + n_unk1->m_node_type = NodeType::Vector; + n_unk1->m_addornements = "v*"; + n_unk1->m_address = base + offset; + n_unk1->m_parent = p_node_parent; + n_unk1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk1); + +} +void node_from_world__T_flow_engine(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "rnd_16"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_flow_engine, field_name)); + auto n_rnd_16 = new NodeSimple; + n_rnd_16->m_field_name = field_name; + n_rnd_16->m_df_type = DF_Type::int8_t; + n_rnd_16->m_rdf_type = RDF_Type::int8_t; + n_rnd_16->m_node_type = NodeType::Simple; + n_rnd_16->m_address = base + offset; + n_rnd_16->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rnd_16); + + field_name = "rnd_256"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_flow_engine, field_name)); + auto n_rnd_256 = new NodeSimple; + n_rnd_256->m_field_name = field_name; + n_rnd_256->m_df_type = DF_Type::int16_t; + n_rnd_256->m_rdf_type = RDF_Type::int16_t; + n_rnd_256->m_node_type = NodeType::Simple; + n_rnd_256->m_address = base + offset; + n_rnd_256->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rnd_256); + + field_name = "rnd_pos"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_flow_engine, field_name)); + auto n_rnd_pos = new NodeSimple; + n_rnd_pos->m_field_name = field_name; + n_rnd_pos->m_df_type = DF_Type::int16_t; + n_rnd_pos->m_rdf_type = RDF_Type::int16_t; + n_rnd_pos->m_node_type = NodeType::Simple; + n_rnd_pos->m_address = base + offset; + n_rnd_pos->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rnd_pos); + + field_name = "rnd_x"; + auto n_rnd_x = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_flow_engine, field_name)); + n_rnd_x->m_field_name = field_name; + n_rnd_x->m_df_type = DF_Type::int16_t; + n_rnd_x->m_rdf_type = RDF_Type::Array; + n_rnd_x->m_node_type = NodeType::Array; + n_rnd_x->m_addornements = "[16"; + n_rnd_x->m_array_size = 16; + n_rnd_x->m_address = base + offset; + n_rnd_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rnd_x); + + field_name = "rnd_y"; + auto n_rnd_y = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_flow_engine, field_name)); + n_rnd_y->m_field_name = field_name; + n_rnd_y->m_df_type = DF_Type::int16_t; + n_rnd_y->m_rdf_type = RDF_Type::Array; + n_rnd_y->m_node_type = NodeType::Array; + n_rnd_y->m_addornements = "[16"; + n_rnd_y->m_array_size = 16; + n_rnd_y->m_address = base + offset; + n_rnd_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rnd_y); + + field_name = "block_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_flow_engine, field_name)); + auto n_block_idx = new NodeSimple; + n_block_idx->m_field_name = field_name; + n_block_idx->m_df_type = DF_Type::int32_t; + n_block_idx->m_rdf_type = RDF_Type::int32_t; + n_block_idx->m_node_type = NodeType::Simple; + n_block_idx->m_address = base + offset; + n_block_idx->m_refers_to = "$$._global.map.map_blocks[$]"; + n_block_idx->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_block_idx); + + field_name = "unk7a"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_flow_engine, field_name)); + auto n_unk7a = new NodeVector; + n_unk7a->m_field_name = field_name; + n_unk7a->m_df_type = DF_Type::int16_t; + n_unk7a->m_rdf_type = RDF_Type::Vector; + n_unk7a->m_node_type = NodeType::Vector; + n_unk7a->m_addornements = "v"; + n_unk7a->m_address = base + offset; + n_unk7a->m_parent = p_node_parent; + n_unk7a->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk7a); + + field_name = "unk7b"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_flow_engine, field_name)); + auto n_unk7b = new NodeVector; + n_unk7b->m_field_name = field_name; + n_unk7b->m_df_type = DF_Type::int16_t; + n_unk7b->m_rdf_type = RDF_Type::Vector; + n_unk7b->m_node_type = NodeType::Vector; + n_unk7b->m_addornements = "v"; + n_unk7b->m_address = base + offset; + n_unk7b->m_parent = p_node_parent; + n_unk7b->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk7b); + + field_name = "unk7c"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_flow_engine, field_name)); + auto n_unk7c = new NodeVector; + n_unk7c->m_field_name = field_name; + n_unk7c->m_df_type = DF_Type::int16_t; + n_unk7c->m_rdf_type = RDF_Type::Vector; + n_unk7c->m_node_type = NodeType::Vector; + n_unk7c->m_addornements = "v"; + n_unk7c->m_address = base + offset; + n_unk7c->m_parent = p_node_parent; + n_unk7c->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk7c); + + field_name = "unk7_cntdn"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_flow_engine, field_name)); + auto n_unk7_cntdn = new NodeVector; + n_unk7_cntdn->m_field_name = field_name; + n_unk7_cntdn->m_df_type = DF_Type::int16_t; + n_unk7_cntdn->m_rdf_type = RDF_Type::Vector; + n_unk7_cntdn->m_node_type = NodeType::Vector; + n_unk7_cntdn->m_addornements = "v"; + n_unk7_cntdn->m_address = base + offset; + n_unk7_cntdn->m_parent = p_node_parent; + n_unk7_cntdn->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk7_cntdn); + +} +void node_from_world__T_worldgen__T_worldgen_parms(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "title"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_title = new NodeSimple; + n_title->m_field_name = field_name; + n_title->m_df_type = DF_Type::Stl_string; + n_title->m_rdf_type = RDF_Type::Stl_string; + n_title->m_node_type = NodeType::Simple; + n_title->m_address = base + offset; + n_title->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_title); + + field_name = "seed"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_seed = new NodeSimple; + n_seed->m_field_name = field_name; + n_seed->m_df_type = DF_Type::Stl_string; + n_seed->m_rdf_type = RDF_Type::Stl_string; + n_seed->m_node_type = NodeType::Simple; + n_seed->m_address = base + offset; + n_seed->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_seed); + + field_name = "history_seed"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_history_seed = new NodeSimple; + n_history_seed->m_field_name = field_name; + n_history_seed->m_df_type = DF_Type::Stl_string; + n_history_seed->m_rdf_type = RDF_Type::Stl_string; + n_history_seed->m_node_type = NodeType::Simple; + n_history_seed->m_address = base + offset; + n_history_seed->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_history_seed); + + field_name = "name_seed"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_name_seed = new NodeSimple; + n_name_seed->m_field_name = field_name; + n_name_seed->m_df_type = DF_Type::Stl_string; + n_name_seed->m_rdf_type = RDF_Type::Stl_string; + n_name_seed->m_node_type = NodeType::Simple; + n_name_seed->m_address = base + offset; + n_name_seed->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name_seed); + + field_name = "creature_seed"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_creature_seed = new NodeSimple; + n_creature_seed->m_field_name = field_name; + n_creature_seed->m_df_type = DF_Type::Stl_string; + n_creature_seed->m_rdf_type = RDF_Type::Stl_string; + n_creature_seed->m_node_type = NodeType::Simple; + n_creature_seed->m_address = base + offset; + n_creature_seed->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_creature_seed); + + field_name = "dim_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_dim_x = new NodeSimple; + n_dim_x->m_field_name = field_name; + n_dim_x->m_df_type = DF_Type::int32_t; + n_dim_x->m_rdf_type = RDF_Type::int32_t; + n_dim_x->m_node_type = NodeType::Simple; + n_dim_x->m_address = base + offset; + n_dim_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dim_x); + + field_name = "dim_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_dim_y = new NodeSimple; + n_dim_y->m_field_name = field_name; + n_dim_y->m_df_type = DF_Type::int32_t; + n_dim_y->m_rdf_type = RDF_Type::int32_t; + n_dim_y->m_node_type = NodeType::Simple; + n_dim_y->m_address = base + offset; + n_dim_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dim_y); + + field_name = "custom_name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_custom_name = new NodeSimple; + n_custom_name->m_field_name = field_name; + n_custom_name->m_df_type = DF_Type::Stl_string; + n_custom_name->m_rdf_type = RDF_Type::Stl_string; + n_custom_name->m_node_type = NodeType::Simple; + n_custom_name->m_address = base + offset; + n_custom_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_custom_name); + + field_name = "has_seed"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_has_seed = new NodeSimple; + n_has_seed->m_field_name = field_name; + n_has_seed->m_df_type = DF_Type::Bool; + n_has_seed->m_rdf_type = RDF_Type::Bool; + n_has_seed->m_node_type = NodeType::Simple; + n_has_seed->m_address = base + offset; + n_has_seed->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_has_seed); + + field_name = "has_history_seed"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_has_history_seed = new NodeSimple; + n_has_history_seed->m_field_name = field_name; + n_has_history_seed->m_df_type = DF_Type::Bool; + n_has_history_seed->m_rdf_type = RDF_Type::Bool; + n_has_history_seed->m_node_type = NodeType::Simple; + n_has_history_seed->m_address = base + offset; + n_has_history_seed->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_has_history_seed); + + field_name = "has_name_seed"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_has_name_seed = new NodeSimple; + n_has_name_seed->m_field_name = field_name; + n_has_name_seed->m_df_type = DF_Type::Bool; + n_has_name_seed->m_rdf_type = RDF_Type::Bool; + n_has_name_seed->m_node_type = NodeType::Simple; + n_has_name_seed->m_address = base + offset; + n_has_name_seed->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_has_name_seed); + + field_name = "has_creature_seed"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_has_creature_seed = new NodeSimple; + n_has_creature_seed->m_field_name = field_name; + n_has_creature_seed->m_df_type = DF_Type::Bool; + n_has_creature_seed->m_rdf_type = RDF_Type::Bool; + n_has_creature_seed->m_node_type = NodeType::Simple; + n_has_creature_seed->m_address = base + offset; + n_has_creature_seed->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_has_creature_seed); + + field_name = "embark_points"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_embark_points = new NodeSimple; + n_embark_points->m_field_name = field_name; + n_embark_points->m_df_type = DF_Type::int32_t; + n_embark_points->m_rdf_type = RDF_Type::int32_t; + n_embark_points->m_node_type = NodeType::Simple; + n_embark_points->m_address = base + offset; + n_embark_points->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_embark_points); + + field_name = "peak_number_min"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_peak_number_min = new NodeSimple; + n_peak_number_min->m_field_name = field_name; + n_peak_number_min->m_df_type = DF_Type::int32_t; + n_peak_number_min->m_rdf_type = RDF_Type::int32_t; + n_peak_number_min->m_node_type = NodeType::Simple; + n_peak_number_min->m_address = base + offset; + n_peak_number_min->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_peak_number_min); + + field_name = "partial_ocean_edge_min"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_partial_ocean_edge_min = new NodeSimple; + n_partial_ocean_edge_min->m_field_name = field_name; + n_partial_ocean_edge_min->m_df_type = DF_Type::int32_t; + n_partial_ocean_edge_min->m_rdf_type = RDF_Type::int32_t; + n_partial_ocean_edge_min->m_node_type = NodeType::Simple; + n_partial_ocean_edge_min->m_address = base + offset; + n_partial_ocean_edge_min->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_partial_ocean_edge_min); + + field_name = "complete_ocean_edge_min"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_complete_ocean_edge_min = new NodeSimple; + n_complete_ocean_edge_min->m_field_name = field_name; + n_complete_ocean_edge_min->m_df_type = DF_Type::int32_t; + n_complete_ocean_edge_min->m_rdf_type = RDF_Type::int32_t; + n_complete_ocean_edge_min->m_node_type = NodeType::Simple; + n_complete_ocean_edge_min->m_address = base + offset; + n_complete_ocean_edge_min->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_complete_ocean_edge_min); + + field_name = "volcano_min"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_volcano_min = new NodeSimple; + n_volcano_min->m_field_name = field_name; + n_volcano_min->m_df_type = DF_Type::int32_t; + n_volcano_min->m_rdf_type = RDF_Type::int32_t; + n_volcano_min->m_node_type = NodeType::Simple; + n_volcano_min->m_address = base + offset; + n_volcano_min->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_volcano_min); + + field_name = "region_counts"; + auto n_region_counts = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + n_region_counts->m_field_name = field_name; + n_region_counts->m_df_type = DF_Type::int32_t; + n_region_counts->m_rdf_type = RDF_Type::Array; + n_region_counts->m_node_type = NodeType::Array; + n_region_counts->m_addornements = "[3[10"; + n_region_counts->m_array_size = 3; + n_region_counts->m_address = base + offset; + n_region_counts->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_region_counts); + + field_name = "river_mins"; + auto n_river_mins = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + n_river_mins->m_field_name = field_name; + n_river_mins->m_df_type = DF_Type::int32_t; + n_river_mins->m_rdf_type = RDF_Type::Array; + n_river_mins->m_node_type = NodeType::Array; + n_river_mins->m_addornements = "[2"; + n_river_mins->m_array_size = 2; + n_river_mins->m_address = base + offset; + n_river_mins->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_river_mins); + + field_name = "subregion_max"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_subregion_max = new NodeSimple; + n_subregion_max->m_field_name = field_name; + n_subregion_max->m_df_type = DF_Type::int32_t; + n_subregion_max->m_rdf_type = RDF_Type::int32_t; + n_subregion_max->m_node_type = NodeType::Simple; + n_subregion_max->m_address = base + offset; + n_subregion_max->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_subregion_max); + + field_name = "cavern_layer_count"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_cavern_layer_count = new NodeSimple; + n_cavern_layer_count->m_field_name = field_name; + n_cavern_layer_count->m_df_type = DF_Type::int32_t; + n_cavern_layer_count->m_rdf_type = RDF_Type::int32_t; + n_cavern_layer_count->m_node_type = NodeType::Simple; + n_cavern_layer_count->m_address = base + offset; + n_cavern_layer_count->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cavern_layer_count); + + field_name = "cavern_layer_openness_min"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_cavern_layer_openness_min = new NodeSimple; + n_cavern_layer_openness_min->m_field_name = field_name; + n_cavern_layer_openness_min->m_df_type = DF_Type::int32_t; + n_cavern_layer_openness_min->m_rdf_type = RDF_Type::int32_t; + n_cavern_layer_openness_min->m_node_type = NodeType::Simple; + n_cavern_layer_openness_min->m_address = base + offset; + n_cavern_layer_openness_min->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cavern_layer_openness_min); + + field_name = "cavern_layer_openness_max"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_cavern_layer_openness_max = new NodeSimple; + n_cavern_layer_openness_max->m_field_name = field_name; + n_cavern_layer_openness_max->m_df_type = DF_Type::int32_t; + n_cavern_layer_openness_max->m_rdf_type = RDF_Type::int32_t; + n_cavern_layer_openness_max->m_node_type = NodeType::Simple; + n_cavern_layer_openness_max->m_address = base + offset; + n_cavern_layer_openness_max->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cavern_layer_openness_max); + + field_name = "cavern_layer_passage_density_min"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_cavern_layer_passage_density_min = new NodeSimple; + n_cavern_layer_passage_density_min->m_field_name = field_name; + n_cavern_layer_passage_density_min->m_df_type = DF_Type::int32_t; + n_cavern_layer_passage_density_min->m_rdf_type = RDF_Type::int32_t; + n_cavern_layer_passage_density_min->m_node_type = NodeType::Simple; + n_cavern_layer_passage_density_min->m_address = base + offset; + n_cavern_layer_passage_density_min->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cavern_layer_passage_density_min); + + field_name = "cavern_layer_passage_density_max"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_cavern_layer_passage_density_max = new NodeSimple; + n_cavern_layer_passage_density_max->m_field_name = field_name; + n_cavern_layer_passage_density_max->m_df_type = DF_Type::int32_t; + n_cavern_layer_passage_density_max->m_rdf_type = RDF_Type::int32_t; + n_cavern_layer_passage_density_max->m_node_type = NodeType::Simple; + n_cavern_layer_passage_density_max->m_address = base + offset; + n_cavern_layer_passage_density_max->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cavern_layer_passage_density_max); + + field_name = "cavern_layer_water_min"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_cavern_layer_water_min = new NodeSimple; + n_cavern_layer_water_min->m_field_name = field_name; + n_cavern_layer_water_min->m_df_type = DF_Type::int32_t; + n_cavern_layer_water_min->m_rdf_type = RDF_Type::int32_t; + n_cavern_layer_water_min->m_node_type = NodeType::Simple; + n_cavern_layer_water_min->m_address = base + offset; + n_cavern_layer_water_min->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cavern_layer_water_min); + + field_name = "cavern_layer_water_max"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_cavern_layer_water_max = new NodeSimple; + n_cavern_layer_water_max->m_field_name = field_name; + n_cavern_layer_water_max->m_df_type = DF_Type::int32_t; + n_cavern_layer_water_max->m_rdf_type = RDF_Type::int32_t; + n_cavern_layer_water_max->m_node_type = NodeType::Simple; + n_cavern_layer_water_max->m_address = base + offset; + n_cavern_layer_water_max->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cavern_layer_water_max); + + field_name = "have_bottom_layer_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_have_bottom_layer_1 = new NodeSimple; + n_have_bottom_layer_1->m_field_name = field_name; + n_have_bottom_layer_1->m_df_type = DF_Type::Bool; + n_have_bottom_layer_1->m_rdf_type = RDF_Type::Bool; + n_have_bottom_layer_1->m_node_type = NodeType::Simple; + n_have_bottom_layer_1->m_address = base + offset; + n_have_bottom_layer_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_have_bottom_layer_1); + + field_name = "have_bottom_layer_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_have_bottom_layer_2 = new NodeSimple; + n_have_bottom_layer_2->m_field_name = field_name; + n_have_bottom_layer_2->m_df_type = DF_Type::Bool; + n_have_bottom_layer_2->m_rdf_type = RDF_Type::Bool; + n_have_bottom_layer_2->m_node_type = NodeType::Simple; + n_have_bottom_layer_2->m_address = base + offset; + n_have_bottom_layer_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_have_bottom_layer_2); + + field_name = "levels_above_ground"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_levels_above_ground = new NodeSimple; + n_levels_above_ground->m_field_name = field_name; + n_levels_above_ground->m_df_type = DF_Type::int32_t; + n_levels_above_ground->m_rdf_type = RDF_Type::int32_t; + n_levels_above_ground->m_node_type = NodeType::Simple; + n_levels_above_ground->m_address = base + offset; + n_levels_above_ground->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_levels_above_ground); + + field_name = "levels_above_layer_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_levels_above_layer_1 = new NodeSimple; + n_levels_above_layer_1->m_field_name = field_name; + n_levels_above_layer_1->m_df_type = DF_Type::int32_t; + n_levels_above_layer_1->m_rdf_type = RDF_Type::int32_t; + n_levels_above_layer_1->m_node_type = NodeType::Simple; + n_levels_above_layer_1->m_address = base + offset; + n_levels_above_layer_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_levels_above_layer_1); + + field_name = "levels_above_layer_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_levels_above_layer_2 = new NodeSimple; + n_levels_above_layer_2->m_field_name = field_name; + n_levels_above_layer_2->m_df_type = DF_Type::int32_t; + n_levels_above_layer_2->m_rdf_type = RDF_Type::int32_t; + n_levels_above_layer_2->m_node_type = NodeType::Simple; + n_levels_above_layer_2->m_address = base + offset; + n_levels_above_layer_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_levels_above_layer_2); + + field_name = "levels_above_layer_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_levels_above_layer_3 = new NodeSimple; + n_levels_above_layer_3->m_field_name = field_name; + n_levels_above_layer_3->m_df_type = DF_Type::int32_t; + n_levels_above_layer_3->m_rdf_type = RDF_Type::int32_t; + n_levels_above_layer_3->m_node_type = NodeType::Simple; + n_levels_above_layer_3->m_address = base + offset; + n_levels_above_layer_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_levels_above_layer_3); + + field_name = "levels_above_layer_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_levels_above_layer_4 = new NodeSimple; + n_levels_above_layer_4->m_field_name = field_name; + n_levels_above_layer_4->m_df_type = DF_Type::int32_t; + n_levels_above_layer_4->m_rdf_type = RDF_Type::int32_t; + n_levels_above_layer_4->m_node_type = NodeType::Simple; + n_levels_above_layer_4->m_address = base + offset; + n_levels_above_layer_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_levels_above_layer_4); + + field_name = "levels_above_layer_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_levels_above_layer_5 = new NodeSimple; + n_levels_above_layer_5->m_field_name = field_name; + n_levels_above_layer_5->m_df_type = DF_Type::int32_t; + n_levels_above_layer_5->m_rdf_type = RDF_Type::int32_t; + n_levels_above_layer_5->m_node_type = NodeType::Simple; + n_levels_above_layer_5->m_address = base + offset; + n_levels_above_layer_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_levels_above_layer_5); + + field_name = "levels_at_bottom"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_levels_at_bottom = new NodeSimple; + n_levels_at_bottom->m_field_name = field_name; + n_levels_at_bottom->m_df_type = DF_Type::int32_t; + n_levels_at_bottom->m_rdf_type = RDF_Type::int32_t; + n_levels_at_bottom->m_node_type = NodeType::Simple; + n_levels_at_bottom->m_address = base + offset; + n_levels_at_bottom->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_levels_at_bottom); + + field_name = "cave_min_size"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_cave_min_size = new NodeSimple; + n_cave_min_size->m_field_name = field_name; + n_cave_min_size->m_df_type = DF_Type::int32_t; + n_cave_min_size->m_rdf_type = RDF_Type::int32_t; + n_cave_min_size->m_node_type = NodeType::Simple; + n_cave_min_size->m_address = base + offset; + n_cave_min_size->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cave_min_size); + + field_name = "cave_max_size"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_cave_max_size = new NodeSimple; + n_cave_max_size->m_field_name = field_name; + n_cave_max_size->m_df_type = DF_Type::int32_t; + n_cave_max_size->m_rdf_type = RDF_Type::int32_t; + n_cave_max_size->m_node_type = NodeType::Simple; + n_cave_max_size->m_address = base + offset; + n_cave_max_size->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cave_max_size); + + field_name = "mountain_cave_min"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_mountain_cave_min = new NodeSimple; + n_mountain_cave_min->m_field_name = field_name; + n_mountain_cave_min->m_df_type = DF_Type::int32_t; + n_mountain_cave_min->m_rdf_type = RDF_Type::int32_t; + n_mountain_cave_min->m_node_type = NodeType::Simple; + n_mountain_cave_min->m_address = base + offset; + n_mountain_cave_min->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mountain_cave_min); + + field_name = "non_mountain_cave_min"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_non_mountain_cave_min = new NodeSimple; + n_non_mountain_cave_min->m_field_name = field_name; + n_non_mountain_cave_min->m_df_type = DF_Type::int32_t; + n_non_mountain_cave_min->m_rdf_type = RDF_Type::int32_t; + n_non_mountain_cave_min->m_node_type = NodeType::Simple; + n_non_mountain_cave_min->m_address = base + offset; + n_non_mountain_cave_min->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_non_mountain_cave_min); + + field_name = "total_civ_number"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_total_civ_number = new NodeSimple; + n_total_civ_number->m_field_name = field_name; + n_total_civ_number->m_df_type = DF_Type::int32_t; + n_total_civ_number->m_rdf_type = RDF_Type::int32_t; + n_total_civ_number->m_node_type = NodeType::Simple; + n_total_civ_number->m_address = base + offset; + n_total_civ_number->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_total_civ_number); + + field_name = "rain_ranges_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_rain_ranges_1 = new NodeSimple; + n_rain_ranges_1->m_field_name = field_name; + n_rain_ranges_1->m_df_type = DF_Type::int32_t; + n_rain_ranges_1->m_rdf_type = RDF_Type::int32_t; + n_rain_ranges_1->m_node_type = NodeType::Simple; + n_rain_ranges_1->m_address = base + offset; + n_rain_ranges_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rain_ranges_1); + + field_name = "rain_ranges_0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_rain_ranges_0 = new NodeSimple; + n_rain_ranges_0->m_field_name = field_name; + n_rain_ranges_0->m_df_type = DF_Type::int32_t; + n_rain_ranges_0->m_rdf_type = RDF_Type::int32_t; + n_rain_ranges_0->m_node_type = NodeType::Simple; + n_rain_ranges_0->m_address = base + offset; + n_rain_ranges_0->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rain_ranges_0); + + field_name = "rain_ranges_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_rain_ranges_2 = new NodeSimple; + n_rain_ranges_2->m_field_name = field_name; + n_rain_ranges_2->m_df_type = DF_Type::int32_t; + n_rain_ranges_2->m_rdf_type = RDF_Type::int32_t; + n_rain_ranges_2->m_node_type = NodeType::Simple; + n_rain_ranges_2->m_address = base + offset; + n_rain_ranges_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rain_ranges_2); + + field_name = "drainage_ranges_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_drainage_ranges_1 = new NodeSimple; + n_drainage_ranges_1->m_field_name = field_name; + n_drainage_ranges_1->m_df_type = DF_Type::int32_t; + n_drainage_ranges_1->m_rdf_type = RDF_Type::int32_t; + n_drainage_ranges_1->m_node_type = NodeType::Simple; + n_drainage_ranges_1->m_address = base + offset; + n_drainage_ranges_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_drainage_ranges_1); + + field_name = "drainage_ranges_0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_drainage_ranges_0 = new NodeSimple; + n_drainage_ranges_0->m_field_name = field_name; + n_drainage_ranges_0->m_df_type = DF_Type::int32_t; + n_drainage_ranges_0->m_rdf_type = RDF_Type::int32_t; + n_drainage_ranges_0->m_node_type = NodeType::Simple; + n_drainage_ranges_0->m_address = base + offset; + n_drainage_ranges_0->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_drainage_ranges_0); + + field_name = "drainage_ranges_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_drainage_ranges_2 = new NodeSimple; + n_drainage_ranges_2->m_field_name = field_name; + n_drainage_ranges_2->m_df_type = DF_Type::int32_t; + n_drainage_ranges_2->m_rdf_type = RDF_Type::int32_t; + n_drainage_ranges_2->m_node_type = NodeType::Simple; + n_drainage_ranges_2->m_address = base + offset; + n_drainage_ranges_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_drainage_ranges_2); + + field_name = "savagery_ranges_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_savagery_ranges_1 = new NodeSimple; + n_savagery_ranges_1->m_field_name = field_name; + n_savagery_ranges_1->m_df_type = DF_Type::int32_t; + n_savagery_ranges_1->m_rdf_type = RDF_Type::int32_t; + n_savagery_ranges_1->m_node_type = NodeType::Simple; + n_savagery_ranges_1->m_address = base + offset; + n_savagery_ranges_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_savagery_ranges_1); + + field_name = "savagery_ranges_0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_savagery_ranges_0 = new NodeSimple; + n_savagery_ranges_0->m_field_name = field_name; + n_savagery_ranges_0->m_df_type = DF_Type::int32_t; + n_savagery_ranges_0->m_rdf_type = RDF_Type::int32_t; + n_savagery_ranges_0->m_node_type = NodeType::Simple; + n_savagery_ranges_0->m_address = base + offset; + n_savagery_ranges_0->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_savagery_ranges_0); + + field_name = "savagery_ranges_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_savagery_ranges_2 = new NodeSimple; + n_savagery_ranges_2->m_field_name = field_name; + n_savagery_ranges_2->m_df_type = DF_Type::int32_t; + n_savagery_ranges_2->m_rdf_type = RDF_Type::int32_t; + n_savagery_ranges_2->m_node_type = NodeType::Simple; + n_savagery_ranges_2->m_address = base + offset; + n_savagery_ranges_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_savagery_ranges_2); + + field_name = "volcanism_ranges_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_volcanism_ranges_1 = new NodeSimple; + n_volcanism_ranges_1->m_field_name = field_name; + n_volcanism_ranges_1->m_df_type = DF_Type::int32_t; + n_volcanism_ranges_1->m_rdf_type = RDF_Type::int32_t; + n_volcanism_ranges_1->m_node_type = NodeType::Simple; + n_volcanism_ranges_1->m_address = base + offset; + n_volcanism_ranges_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_volcanism_ranges_1); + + field_name = "volcanism_ranges_0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_volcanism_ranges_0 = new NodeSimple; + n_volcanism_ranges_0->m_field_name = field_name; + n_volcanism_ranges_0->m_df_type = DF_Type::int32_t; + n_volcanism_ranges_0->m_rdf_type = RDF_Type::int32_t; + n_volcanism_ranges_0->m_node_type = NodeType::Simple; + n_volcanism_ranges_0->m_address = base + offset; + n_volcanism_ranges_0->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_volcanism_ranges_0); + + field_name = "volcanism_ranges_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_volcanism_ranges_2 = new NodeSimple; + n_volcanism_ranges_2->m_field_name = field_name; + n_volcanism_ranges_2->m_df_type = DF_Type::int32_t; + n_volcanism_ranges_2->m_rdf_type = RDF_Type::int32_t; + n_volcanism_ranges_2->m_node_type = NodeType::Simple; + n_volcanism_ranges_2->m_address = base + offset; + n_volcanism_ranges_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_volcanism_ranges_2); + + field_name = "ranges"; + auto n_ranges = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + n_ranges->m_field_name = field_name; + n_ranges->m_df_type = DF_Type::int32_t; + n_ranges->m_rdf_type = RDF_Type::Array; + n_ranges->m_node_type = NodeType::Array; + n_ranges->m_addornements = "[4[24"; + n_ranges->m_array_size = 4; + n_ranges->m_address = base + offset; + n_ranges->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ranges); + + field_name = "beast_end_year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_beast_end_year = new NodeSimple; + n_beast_end_year->m_field_name = field_name; + n_beast_end_year->m_df_type = DF_Type::int32_t; + n_beast_end_year->m_rdf_type = RDF_Type::int32_t; + n_beast_end_year->m_node_type = NodeType::Simple; + n_beast_end_year->m_address = base + offset; + n_beast_end_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_beast_end_year); + + field_name = "end_year"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_end_year = new NodeSimple; + n_end_year->m_field_name = field_name; + n_end_year->m_df_type = DF_Type::int32_t; + n_end_year->m_rdf_type = RDF_Type::int32_t; + n_end_year->m_node_type = NodeType::Simple; + n_end_year->m_address = base + offset; + n_end_year->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_end_year); + + field_name = "beast_end_year_percent"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_beast_end_year_percent = new NodeSimple; + n_beast_end_year_percent->m_field_name = field_name; + n_beast_end_year_percent->m_df_type = DF_Type::int32_t; + n_beast_end_year_percent->m_rdf_type = RDF_Type::int32_t; + n_beast_end_year_percent->m_node_type = NodeType::Simple; + n_beast_end_year_percent->m_address = base + offset; + n_beast_end_year_percent->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_beast_end_year_percent); + + field_name = "total_civ_population"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_total_civ_population = new NodeSimple; + n_total_civ_population->m_field_name = field_name; + n_total_civ_population->m_df_type = DF_Type::int32_t; + n_total_civ_population->m_rdf_type = RDF_Type::int32_t; + n_total_civ_population->m_node_type = NodeType::Simple; + n_total_civ_population->m_address = base + offset; + n_total_civ_population->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_total_civ_population); + + field_name = "site_cap"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_site_cap = new NodeSimple; + n_site_cap->m_field_name = field_name; + n_site_cap->m_df_type = DF_Type::int32_t; + n_site_cap->m_rdf_type = RDF_Type::int32_t; + n_site_cap->m_node_type = NodeType::Simple; + n_site_cap->m_address = base + offset; + n_site_cap->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_site_cap); + + field_name = "elevation_ranges_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_elevation_ranges_1 = new NodeSimple; + n_elevation_ranges_1->m_field_name = field_name; + n_elevation_ranges_1->m_df_type = DF_Type::int32_t; + n_elevation_ranges_1->m_rdf_type = RDF_Type::int32_t; + n_elevation_ranges_1->m_node_type = NodeType::Simple; + n_elevation_ranges_1->m_address = base + offset; + n_elevation_ranges_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_elevation_ranges_1); + + field_name = "elevation_ranges_0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_elevation_ranges_0 = new NodeSimple; + n_elevation_ranges_0->m_field_name = field_name; + n_elevation_ranges_0->m_df_type = DF_Type::int32_t; + n_elevation_ranges_0->m_rdf_type = RDF_Type::int32_t; + n_elevation_ranges_0->m_node_type = NodeType::Simple; + n_elevation_ranges_0->m_address = base + offset; + n_elevation_ranges_0->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_elevation_ranges_0); + + field_name = "elevation_ranges_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_elevation_ranges_2 = new NodeSimple; + n_elevation_ranges_2->m_field_name = field_name; + n_elevation_ranges_2->m_df_type = DF_Type::int32_t; + n_elevation_ranges_2->m_rdf_type = RDF_Type::int32_t; + n_elevation_ranges_2->m_node_type = NodeType::Simple; + n_elevation_ranges_2->m_address = base + offset; + n_elevation_ranges_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_elevation_ranges_2); + + field_name = "mineral_scarcity"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_mineral_scarcity = new NodeSimple; + n_mineral_scarcity->m_field_name = field_name; + n_mineral_scarcity->m_df_type = DF_Type::int32_t; + n_mineral_scarcity->m_rdf_type = RDF_Type::int32_t; + n_mineral_scarcity->m_node_type = NodeType::Simple; + n_mineral_scarcity->m_address = base + offset; + n_mineral_scarcity->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mineral_scarcity); + + field_name = "megabeast_cap"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_megabeast_cap = new NodeSimple; + n_megabeast_cap->m_field_name = field_name; + n_megabeast_cap->m_df_type = DF_Type::int32_t; + n_megabeast_cap->m_rdf_type = RDF_Type::int32_t; + n_megabeast_cap->m_node_type = NodeType::Simple; + n_megabeast_cap->m_address = base + offset; + n_megabeast_cap->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_megabeast_cap); + + field_name = "semimegabeast_cap"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_semimegabeast_cap = new NodeSimple; + n_semimegabeast_cap->m_field_name = field_name; + n_semimegabeast_cap->m_df_type = DF_Type::int32_t; + n_semimegabeast_cap->m_rdf_type = RDF_Type::int32_t; + n_semimegabeast_cap->m_node_type = NodeType::Simple; + n_semimegabeast_cap->m_address = base + offset; + n_semimegabeast_cap->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_semimegabeast_cap); + + field_name = "titan_number"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_titan_number = new NodeSimple; + n_titan_number->m_field_name = field_name; + n_titan_number->m_df_type = DF_Type::int32_t; + n_titan_number->m_rdf_type = RDF_Type::int32_t; + n_titan_number->m_node_type = NodeType::Simple; + n_titan_number->m_address = base + offset; + n_titan_number->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_titan_number); + + field_name = "titan_attack_trigger"; + auto n_titan_attack_trigger = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + n_titan_attack_trigger->m_field_name = field_name; + n_titan_attack_trigger->m_df_type = DF_Type::int32_t; + n_titan_attack_trigger->m_rdf_type = RDF_Type::Array; + n_titan_attack_trigger->m_node_type = NodeType::Array; + n_titan_attack_trigger->m_addornements = "[3"; + n_titan_attack_trigger->m_array_size = 3; + n_titan_attack_trigger->m_address = base + offset; + n_titan_attack_trigger->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_titan_attack_trigger); + + field_name = "demon_number"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_demon_number = new NodeSimple; + n_demon_number->m_field_name = field_name; + n_demon_number->m_df_type = DF_Type::int32_t; + n_demon_number->m_rdf_type = RDF_Type::int32_t; + n_demon_number->m_node_type = NodeType::Simple; + n_demon_number->m_address = base + offset; + n_demon_number->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_demon_number); + + field_name = "night_troll_number"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_night_troll_number = new NodeSimple; + n_night_troll_number->m_field_name = field_name; + n_night_troll_number->m_df_type = DF_Type::int32_t; + n_night_troll_number->m_rdf_type = RDF_Type::int32_t; + n_night_troll_number->m_node_type = NodeType::Simple; + n_night_troll_number->m_address = base + offset; + n_night_troll_number->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_night_troll_number); + + field_name = "bogeyman_number"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_bogeyman_number = new NodeSimple; + n_bogeyman_number->m_field_name = field_name; + n_bogeyman_number->m_df_type = DF_Type::int32_t; + n_bogeyman_number->m_rdf_type = RDF_Type::int32_t; + n_bogeyman_number->m_node_type = NodeType::Simple; + n_bogeyman_number->m_address = base + offset; + n_bogeyman_number->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_bogeyman_number); + + field_name = "vampire_number"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_vampire_number = new NodeSimple; + n_vampire_number->m_field_name = field_name; + n_vampire_number->m_df_type = DF_Type::int32_t; + n_vampire_number->m_rdf_type = RDF_Type::int32_t; + n_vampire_number->m_node_type = NodeType::Simple; + n_vampire_number->m_address = base + offset; + n_vampire_number->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_vampire_number); + + field_name = "werebeast_number"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_werebeast_number = new NodeSimple; + n_werebeast_number->m_field_name = field_name; + n_werebeast_number->m_df_type = DF_Type::int32_t; + n_werebeast_number->m_rdf_type = RDF_Type::int32_t; + n_werebeast_number->m_node_type = NodeType::Simple; + n_werebeast_number->m_address = base + offset; + n_werebeast_number->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_werebeast_number); + + field_name = "secret_number"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_secret_number = new NodeSimple; + n_secret_number->m_field_name = field_name; + n_secret_number->m_df_type = DF_Type::int32_t; + n_secret_number->m_rdf_type = RDF_Type::int32_t; + n_secret_number->m_node_type = NodeType::Simple; + n_secret_number->m_address = base + offset; + n_secret_number->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_secret_number); + + field_name = "regional_interaction_number"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_regional_interaction_number = new NodeSimple; + n_regional_interaction_number->m_field_name = field_name; + n_regional_interaction_number->m_df_type = DF_Type::int32_t; + n_regional_interaction_number->m_rdf_type = RDF_Type::int32_t; + n_regional_interaction_number->m_node_type = NodeType::Simple; + n_regional_interaction_number->m_address = base + offset; + n_regional_interaction_number->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_regional_interaction_number); + + field_name = "disturbance_interaction_number"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_disturbance_interaction_number = new NodeSimple; + n_disturbance_interaction_number->m_field_name = field_name; + n_disturbance_interaction_number->m_df_type = DF_Type::int32_t; + n_disturbance_interaction_number->m_rdf_type = RDF_Type::int32_t; + n_disturbance_interaction_number->m_node_type = NodeType::Simple; + n_disturbance_interaction_number->m_address = base + offset; + n_disturbance_interaction_number->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_disturbance_interaction_number); + + field_name = "evil_cloud_number"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_evil_cloud_number = new NodeSimple; + n_evil_cloud_number->m_field_name = field_name; + n_evil_cloud_number->m_df_type = DF_Type::int32_t; + n_evil_cloud_number->m_rdf_type = RDF_Type::int32_t; + n_evil_cloud_number->m_node_type = NodeType::Simple; + n_evil_cloud_number->m_address = base + offset; + n_evil_cloud_number->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_evil_cloud_number); + + field_name = "evil_rain_number"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_evil_rain_number = new NodeSimple; + n_evil_rain_number->m_field_name = field_name; + n_evil_rain_number->m_df_type = DF_Type::int32_t; + n_evil_rain_number->m_rdf_type = RDF_Type::int32_t; + n_evil_rain_number->m_node_type = NodeType::Simple; + n_evil_rain_number->m_address = base + offset; + n_evil_rain_number->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_evil_rain_number); + + field_name = "generate_divine_materials"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_generate_divine_materials = new NodeSimple; + n_generate_divine_materials->m_field_name = field_name; + n_generate_divine_materials->m_df_type = DF_Type::int32_t; + n_generate_divine_materials->m_rdf_type = RDF_Type::int32_t; + n_generate_divine_materials->m_node_type = NodeType::Simple; + n_generate_divine_materials->m_address = base + offset; + n_generate_divine_materials->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_generate_divine_materials); + + field_name = "good_sq_counts_0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_good_sq_counts_0 = new NodeSimple; + n_good_sq_counts_0->m_field_name = field_name; + n_good_sq_counts_0->m_df_type = DF_Type::int32_t; + n_good_sq_counts_0->m_rdf_type = RDF_Type::int32_t; + n_good_sq_counts_0->m_node_type = NodeType::Simple; + n_good_sq_counts_0->m_address = base + offset; + n_good_sq_counts_0->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_good_sq_counts_0); + + field_name = "evil_sq_counts_0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_evil_sq_counts_0 = new NodeSimple; + n_evil_sq_counts_0->m_field_name = field_name; + n_evil_sq_counts_0->m_df_type = DF_Type::int32_t; + n_evil_sq_counts_0->m_rdf_type = RDF_Type::int32_t; + n_evil_sq_counts_0->m_node_type = NodeType::Simple; + n_evil_sq_counts_0->m_address = base + offset; + n_evil_sq_counts_0->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_evil_sq_counts_0); + + field_name = "good_sq_counts_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_good_sq_counts_1 = new NodeSimple; + n_good_sq_counts_1->m_field_name = field_name; + n_good_sq_counts_1->m_df_type = DF_Type::int32_t; + n_good_sq_counts_1->m_rdf_type = RDF_Type::int32_t; + n_good_sq_counts_1->m_node_type = NodeType::Simple; + n_good_sq_counts_1->m_address = base + offset; + n_good_sq_counts_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_good_sq_counts_1); + + field_name = "evil_sq_counts_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_evil_sq_counts_1 = new NodeSimple; + n_evil_sq_counts_1->m_field_name = field_name; + n_evil_sq_counts_1->m_df_type = DF_Type::int32_t; + n_evil_sq_counts_1->m_rdf_type = RDF_Type::int32_t; + n_evil_sq_counts_1->m_node_type = NodeType::Simple; + n_evil_sq_counts_1->m_address = base + offset; + n_evil_sq_counts_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_evil_sq_counts_1); + + field_name = "good_sq_counts_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_good_sq_counts_2 = new NodeSimple; + n_good_sq_counts_2->m_field_name = field_name; + n_good_sq_counts_2->m_df_type = DF_Type::int32_t; + n_good_sq_counts_2->m_rdf_type = RDF_Type::int32_t; + n_good_sq_counts_2->m_node_type = NodeType::Simple; + n_good_sq_counts_2->m_address = base + offset; + n_good_sq_counts_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_good_sq_counts_2); + + field_name = "evil_sq_counts_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_evil_sq_counts_2 = new NodeSimple; + n_evil_sq_counts_2->m_field_name = field_name; + n_evil_sq_counts_2->m_df_type = DF_Type::int32_t; + n_evil_sq_counts_2->m_rdf_type = RDF_Type::int32_t; + n_evil_sq_counts_2->m_node_type = NodeType::Simple; + n_evil_sq_counts_2->m_address = base + offset; + n_evil_sq_counts_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_evil_sq_counts_2); + + field_name = "elevation_frequency"; + auto n_elevation_frequency = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + n_elevation_frequency->m_field_name = field_name; + n_elevation_frequency->m_df_type = DF_Type::int32_t; + n_elevation_frequency->m_rdf_type = RDF_Type::Array; + n_elevation_frequency->m_node_type = NodeType::Array; + n_elevation_frequency->m_addornements = "[6"; + n_elevation_frequency->m_array_size = 6; + n_elevation_frequency->m_address = base + offset; + n_elevation_frequency->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_elevation_frequency); + + field_name = "rain_frequency"; + auto n_rain_frequency = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + n_rain_frequency->m_field_name = field_name; + n_rain_frequency->m_df_type = DF_Type::int32_t; + n_rain_frequency->m_rdf_type = RDF_Type::Array; + n_rain_frequency->m_node_type = NodeType::Array; + n_rain_frequency->m_addornements = "[6"; + n_rain_frequency->m_array_size = 6; + n_rain_frequency->m_address = base + offset; + n_rain_frequency->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rain_frequency); + + field_name = "drainage_frequency"; + auto n_drainage_frequency = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + n_drainage_frequency->m_field_name = field_name; + n_drainage_frequency->m_df_type = DF_Type::int32_t; + n_drainage_frequency->m_rdf_type = RDF_Type::Array; + n_drainage_frequency->m_node_type = NodeType::Array; + n_drainage_frequency->m_addornements = "[6"; + n_drainage_frequency->m_array_size = 6; + n_drainage_frequency->m_address = base + offset; + n_drainage_frequency->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_drainage_frequency); + + field_name = "savagery_frequency"; + auto n_savagery_frequency = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + n_savagery_frequency->m_field_name = field_name; + n_savagery_frequency->m_df_type = DF_Type::int32_t; + n_savagery_frequency->m_rdf_type = RDF_Type::Array; + n_savagery_frequency->m_node_type = NodeType::Array; + n_savagery_frequency->m_addornements = "[6"; + n_savagery_frequency->m_array_size = 6; + n_savagery_frequency->m_address = base + offset; + n_savagery_frequency->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_savagery_frequency); + + field_name = "temperature_frequency"; + auto n_temperature_frequency = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + n_temperature_frequency->m_field_name = field_name; + n_temperature_frequency->m_df_type = DF_Type::int32_t; + n_temperature_frequency->m_rdf_type = RDF_Type::Array; + n_temperature_frequency->m_node_type = NodeType::Array; + n_temperature_frequency->m_addornements = "[6"; + n_temperature_frequency->m_array_size = 6; + n_temperature_frequency->m_address = base + offset; + n_temperature_frequency->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_temperature_frequency); + + field_name = "volcanism_frequency"; + auto n_volcanism_frequency = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + n_volcanism_frequency->m_field_name = field_name; + n_volcanism_frequency->m_df_type = DF_Type::int32_t; + n_volcanism_frequency->m_rdf_type = RDF_Type::Array; + n_volcanism_frequency->m_node_type = NodeType::Array; + n_volcanism_frequency->m_addornements = "[6"; + n_volcanism_frequency->m_array_size = 6; + n_volcanism_frequency->m_address = base + offset; + n_volcanism_frequency->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_volcanism_frequency); + + field_name = "ps"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_ps = new NodePointer; + n_ps->m_field_name = field_name; + n_ps->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_ps->m_rdf_type = RDF_Type::Pointer; + n_ps->m_node_type = NodeType::Pointer; + n_ps->m_addornements = "*"; + n_ps->m_address = base + offset; + n_ps->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_ps); + + field_name = "reveal_all_history"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_reveal_all_history = new NodeSimple; + n_reveal_all_history->m_field_name = field_name; + n_reveal_all_history->m_df_type = DF_Type::int32_t; + n_reveal_all_history->m_rdf_type = RDF_Type::int32_t; + n_reveal_all_history->m_node_type = NodeType::Simple; + n_reveal_all_history->m_address = base + offset; + n_reveal_all_history->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_reveal_all_history); + + field_name = "cull_historical_figures"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_cull_historical_figures = new NodeSimple; + n_cull_historical_figures->m_field_name = field_name; + n_cull_historical_figures->m_df_type = DF_Type::int32_t; + n_cull_historical_figures->m_rdf_type = RDF_Type::int32_t; + n_cull_historical_figures->m_node_type = NodeType::Simple; + n_cull_historical_figures->m_address = base + offset; + n_cull_historical_figures->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cull_historical_figures); + + field_name = "erosion_cycle_count"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_erosion_cycle_count = new NodeSimple; + n_erosion_cycle_count->m_field_name = field_name; + n_erosion_cycle_count->m_df_type = DF_Type::int32_t; + n_erosion_cycle_count->m_rdf_type = RDF_Type::int32_t; + n_erosion_cycle_count->m_node_type = NodeType::Simple; + n_erosion_cycle_count->m_address = base + offset; + n_erosion_cycle_count->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_erosion_cycle_count); + + field_name = "periodically_erode_extremes"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_periodically_erode_extremes = new NodeSimple; + n_periodically_erode_extremes->m_field_name = field_name; + n_periodically_erode_extremes->m_df_type = DF_Type::int32_t; + n_periodically_erode_extremes->m_rdf_type = RDF_Type::int32_t; + n_periodically_erode_extremes->m_node_type = NodeType::Simple; + n_periodically_erode_extremes->m_address = base + offset; + n_periodically_erode_extremes->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_periodically_erode_extremes); + + field_name = "orographic_precipitation"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_orographic_precipitation = new NodeSimple; + n_orographic_precipitation->m_field_name = field_name; + n_orographic_precipitation->m_df_type = DF_Type::int32_t; + n_orographic_precipitation->m_rdf_type = RDF_Type::int32_t; + n_orographic_precipitation->m_node_type = NodeType::Simple; + n_orographic_precipitation->m_address = base + offset; + n_orographic_precipitation->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_orographic_precipitation); + + field_name = "playable_civilization_required"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_playable_civilization_required = new NodeSimple; + n_playable_civilization_required->m_field_name = field_name; + n_playable_civilization_required->m_df_type = DF_Type::int32_t; + n_playable_civilization_required->m_rdf_type = RDF_Type::int32_t; + n_playable_civilization_required->m_node_type = NodeType::Simple; + n_playable_civilization_required->m_address = base + offset; + n_playable_civilization_required->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_playable_civilization_required); + + field_name = "all_caves_visible"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_all_caves_visible = new NodeSimple; + n_all_caves_visible->m_field_name = field_name; + n_all_caves_visible->m_df_type = DF_Type::int32_t; + n_all_caves_visible->m_rdf_type = RDF_Type::int32_t; + n_all_caves_visible->m_node_type = NodeType::Simple; + n_all_caves_visible->m_address = base + offset; + n_all_caves_visible->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_all_caves_visible); + + field_name = "show_embark_tunnel"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_show_embark_tunnel = new NodeSimple; + n_show_embark_tunnel->m_field_name = field_name; + n_show_embark_tunnel->m_df_type = DF_Type::int32_t; + n_show_embark_tunnel->m_rdf_type = RDF_Type::int32_t; + n_show_embark_tunnel->m_node_type = NodeType::Simple; + n_show_embark_tunnel->m_address = base + offset; + n_show_embark_tunnel->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_show_embark_tunnel); + + field_name = "pole"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_pole = new NodeSimple; + n_pole->m_field_name = field_name; + n_pole->m_df_type = DF_Type::int32_t; + n_pole->m_rdf_type = RDF_Type::int32_t; + n_pole->m_node_type = NodeType::Simple; + n_pole->m_address = base + offset; + n_pole->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pole); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen__T_worldgen_parms, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::Bool; + n_anon_1->m_rdf_type = RDF_Type::Bool; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_world__T_worldgen(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "version"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen, field_name)); + auto n_version = new NodeSimple; + n_version->m_field_name = field_name; + n_version->m_df_type = DF_Type::Stl_string; + n_version->m_rdf_type = RDF_Type::Stl_string; + n_version->m_node_type = NodeType::Simple; + n_version->m_address = base + offset; + n_version->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_version); + + field_name = "next_unit_chunk_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen, field_name)); + auto n_next_unit_chunk_id = new NodeSimple; + n_next_unit_chunk_id->m_field_name = field_name; + n_next_unit_chunk_id->m_df_type = DF_Type::int32_t; + n_next_unit_chunk_id->m_rdf_type = RDF_Type::int32_t; + n_next_unit_chunk_id->m_node_type = NodeType::Simple; + n_next_unit_chunk_id->m_address = base + offset; + n_next_unit_chunk_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_next_unit_chunk_id); + + field_name = "next_unit_chunk_offset"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen, field_name)); + auto n_next_unit_chunk_offset = new NodeSimple; + n_next_unit_chunk_offset->m_field_name = field_name; + n_next_unit_chunk_offset->m_df_type = DF_Type::int16_t; + n_next_unit_chunk_offset->m_rdf_type = RDF_Type::int16_t; + n_next_unit_chunk_offset->m_node_type = NodeType::Simple; + n_next_unit_chunk_offset->m_address = base + offset; + n_next_unit_chunk_offset->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_next_unit_chunk_offset); + + field_name = "next_art_image_chunk_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen, field_name)); + auto n_next_art_image_chunk_id = new NodeSimple; + n_next_art_image_chunk_id->m_field_name = field_name; + n_next_art_image_chunk_id->m_df_type = DF_Type::int32_t; + n_next_art_image_chunk_id->m_rdf_type = RDF_Type::int32_t; + n_next_art_image_chunk_id->m_node_type = NodeType::Simple; + n_next_art_image_chunk_id->m_address = base + offset; + n_next_art_image_chunk_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_next_art_image_chunk_id); + + field_name = "next_art_image_chunk_offset"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen, field_name)); + auto n_next_art_image_chunk_offset = new NodeSimple; + n_next_art_image_chunk_offset->m_field_name = field_name; + n_next_art_image_chunk_offset->m_df_type = DF_Type::int16_t; + n_next_art_image_chunk_offset->m_rdf_type = RDF_Type::int16_t; + n_next_art_image_chunk_offset->m_node_type = NodeType::Simple; + n_next_art_image_chunk_offset->m_address = base + offset; + n_next_art_image_chunk_offset->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_next_art_image_chunk_offset); + + field_name = "worldgen_parms"; + auto n_worldgen_parms = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_worldgen, field_name)); + n_worldgen_parms->m_field_name = field_name; + n_worldgen_parms->m_df_type = DF_Type::world__T_worldgen__T_worldgen_parms; + n_worldgen_parms->m_rdf_type = RDF_Type::Compound; + n_worldgen_parms->m_node_type = NodeType::Compound; + n_worldgen_parms->m_address = base + offset; + n_worldgen_parms->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_worldgen_parms); + +} +void node_from_world__T_unk_v40_6(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk1"; + auto n_unk1 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_v40_6, field_name)); + n_unk1->m_field_name = field_name; + n_unk1->m_df_type = DF_Type::int32_t; + n_unk1->m_rdf_type = RDF_Type::Array; + n_unk1->m_node_type = NodeType::Array; + n_unk1->m_addornements = "[336v"; + n_unk1->m_array_size = 336; + n_unk1->m_address = base + offset; + n_unk1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk1); + + field_name = "unk2"; + auto n_unk2 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_v40_6, field_name)); + n_unk2->m_field_name = field_name; + n_unk2->m_df_type = DF_Type::int32_t; + n_unk2->m_rdf_type = RDF_Type::Array; + n_unk2->m_node_type = NodeType::Array; + n_unk2->m_addornements = "[336v"; + n_unk2->m_array_size = 336; + n_unk2->m_address = base + offset; + n_unk2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk2); + + field_name = "unk3"; + auto n_unk3 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_v40_6, field_name)); + n_unk3->m_field_name = field_name; + n_unk3->m_df_type = DF_Type::int32_t; + n_unk3->m_rdf_type = RDF_Type::Array; + n_unk3->m_node_type = NodeType::Array; + n_unk3->m_addornements = "[336v"; + n_unk3->m_array_size = 336; + n_unk3->m_address = base + offset; + n_unk3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk3); + + field_name = "unk4"; + auto n_unk4 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_v40_6, field_name)); + n_unk4->m_field_name = field_name; + n_unk4->m_df_type = DF_Type::int32_t; + n_unk4->m_rdf_type = RDF_Type::Array; + n_unk4->m_node_type = NodeType::Array; + n_unk4->m_addornements = "[336v"; + n_unk4->m_array_size = 336; + n_unk4->m_address = base + offset; + n_unk4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk4); + + field_name = "unk5"; + auto n_unk5 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_v40_6, field_name)); + n_unk5->m_field_name = field_name; + n_unk5->m_df_type = DF_Type::int32_t; + n_unk5->m_rdf_type = RDF_Type::Array; + n_unk5->m_node_type = NodeType::Array; + n_unk5->m_addornements = "[336v"; + n_unk5->m_array_size = 336; + n_unk5->m_address = base + offset; + n_unk5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk5); + + field_name = "unk6"; + auto n_unk6 = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_v40_6, field_name)); + n_unk6->m_field_name = field_name; + n_unk6->m_df_type = DF_Type::int32_t; + n_unk6->m_rdf_type = RDF_Type::Array; + n_unk6->m_node_type = NodeType::Array; + n_unk6->m_addornements = "[336v"; + n_unk6->m_array_size = 336; + n_unk6->m_address = base + offset; + n_unk6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk6); + +} +void node_from_world__T_unk_131ec0(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_131ec0, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_131ec0, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_131ec0, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_131ec0, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_131ec0, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_131ec0, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_131ec0, field_name)); + auto n_anon_7 = new NodeSimple; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::int32_t; + n_anon_7->m_rdf_type = RDF_Type::int32_t; + n_anon_7->m_node_type = NodeType::Simple; + n_anon_7->m_address = base + offset; + n_anon_7->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_7); + + field_name = "anon_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_131ec0, field_name)); + auto n_anon_8 = new NodeSimple; + n_anon_8->m_field_name = field_name; + n_anon_8->m_df_type = DF_Type::int32_t; + n_anon_8->m_rdf_type = RDF_Type::int32_t; + n_anon_8->m_node_type = NodeType::Simple; + n_anon_8->m_address = base + offset; + n_anon_8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_8); + + field_name = "anon_9"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_131ec0, field_name)); + auto n_anon_9 = new NodeSimple; + n_anon_9->m_field_name = field_name; + n_anon_9->m_df_type = DF_Type::int32_t; + n_anon_9->m_rdf_type = RDF_Type::int32_t; + n_anon_9->m_node_type = NodeType::Simple; + n_anon_9->m_address = base + offset; + n_anon_9->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_9); + + field_name = "anon_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_131ec0, field_name)); + auto n_anon_10 = new NodeSimple; + n_anon_10->m_field_name = field_name; + n_anon_10->m_df_type = DF_Type::int32_t; + n_anon_10->m_rdf_type = RDF_Type::int32_t; + n_anon_10->m_node_type = NodeType::Simple; + n_anon_10->m_address = base + offset; + n_anon_10->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_10); + + field_name = "anon_11"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_131ec0, field_name)); + auto n_anon_11 = new NodeSimple; + n_anon_11->m_field_name = field_name; + n_anon_11->m_df_type = DF_Type::int32_t; + n_anon_11->m_rdf_type = RDF_Type::int32_t; + n_anon_11->m_node_type = NodeType::Simple; + n_anon_11->m_address = base + offset; + n_anon_11->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_11); + + field_name = "anon_12"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_131ec0, field_name)); + auto n_anon_12 = new NodeSimple; + n_anon_12->m_field_name = field_name; + n_anon_12->m_df_type = DF_Type::int32_t; + n_anon_12->m_rdf_type = RDF_Type::int32_t; + n_anon_12->m_node_type = NodeType::Simple; + n_anon_12->m_address = base + offset; + n_anon_12->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_12); + + field_name = "anon_13"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_131ec0, field_name)); + auto n_anon_13 = new NodeSimple; + n_anon_13->m_field_name = field_name; + n_anon_13->m_df_type = DF_Type::int32_t; + n_anon_13->m_rdf_type = RDF_Type::int32_t; + n_anon_13->m_node_type = NodeType::Simple; + n_anon_13->m_address = base + offset; + n_anon_13->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_13); + + field_name = "anon_14"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_131ec0, field_name)); + auto n_anon_14 = new NodeSimple; + n_anon_14->m_field_name = field_name; + n_anon_14->m_df_type = DF_Type::int32_t; + n_anon_14->m_rdf_type = RDF_Type::int32_t; + n_anon_14->m_node_type = NodeType::Simple; + n_anon_14->m_address = base + offset; + n_anon_14->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_14); + + field_name = "anon_15"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_131ec0, field_name)); + auto n_anon_15 = new NodeSimple; + n_anon_15->m_field_name = field_name; + n_anon_15->m_df_type = DF_Type::int32_t; + n_anon_15->m_rdf_type = RDF_Type::int32_t; + n_anon_15->m_node_type = NodeType::Simple; + n_anon_15->m_address = base + offset; + n_anon_15->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_15); + + field_name = "anon_16"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_131ec0, field_name)); + auto n_anon_16 = new NodeSimple; + n_anon_16->m_field_name = field_name; + n_anon_16->m_df_type = DF_Type::int32_t; + n_anon_16->m_rdf_type = RDF_Type::int32_t; + n_anon_16->m_node_type = NodeType::Simple; + n_anon_16->m_address = base + offset; + n_anon_16->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_16); + +} +void node_from_world__T_languages(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "name"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_languages, field_name)); + auto n_name = new NodeSimple; + n_name->m_field_name = field_name; + n_name->m_df_type = DF_Type::Stl_string; + n_name->m_rdf_type = RDF_Type::Stl_string; + n_name->m_node_type = NodeType::Simple; + n_name->m_address = base + offset; + n_name->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_name); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_languages, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_languages, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + +} +void node_from_world__T_unk_131ef0__T_unk_2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_131ef0__T_unk_2, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_131ef0__T_unk_2, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_131ef0__T_unk_2, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_131ef0__T_unk_2, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_131ef0__T_unk_2, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + +} +void node_from_world__T_unk_131ef0(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "unk_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_131ef0, field_name)); + auto n_unk_1 = new NodeSimple; + n_unk_1->m_field_name = field_name; + n_unk_1->m_df_type = DF_Type::int32_t; + n_unk_1->m_rdf_type = RDF_Type::int32_t; + n_unk_1->m_node_type = NodeType::Simple; + n_unk_1->m_address = base + offset; + n_unk_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_1); + + field_name = "unk_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_131ef0, field_name)); + auto n_unk_2 = new NodeVector; + n_unk_2->m_field_name = field_name; + n_unk_2->m_df_type = DF_Type::world__T_unk_131ef0__T_unk_2; + n_unk_2->m_rdf_type = RDF_Type::Vector; + n_unk_2->m_node_type = NodeType::Vector; + n_unk_2->m_addornements = "v*"; + n_unk_2->m_address = base + offset; + n_unk_2->m_parent = p_node_parent; + n_unk_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_2); + + field_name = "unk_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_131ef0, field_name)); + auto n_unk_3 = new NodeSimple; + n_unk_3->m_field_name = field_name; + n_unk_3->m_df_type = DF_Type::int32_t; + n_unk_3->m_rdf_type = RDF_Type::int32_t; + n_unk_3->m_node_type = NodeType::Simple; + n_unk_3->m_address = base + offset; + n_unk_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_3); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_131ef0, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int32_t; + n_anon_1->m_rdf_type = RDF_Type::int32_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_131ef0, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + +} +void node_from_world__T_pathfinder__T_boundary_heap(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "total_cost"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_pathfinder__T_boundary_heap, field_name)); + auto n_total_cost = new NodeSimple; + n_total_cost->m_field_name = field_name; + n_total_cost->m_df_type = DF_Type::int32_t; + n_total_cost->m_rdf_type = RDF_Type::int32_t; + n_total_cost->m_node_type = NodeType::Simple; + n_total_cost->m_address = base + offset; + n_total_cost->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_total_cost); + + field_name = "local_cost"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_pathfinder__T_boundary_heap, field_name)); + auto n_local_cost = new NodeSimple; + n_local_cost->m_field_name = field_name; + n_local_cost->m_df_type = DF_Type::int32_t; + n_local_cost->m_rdf_type = RDF_Type::int32_t; + n_local_cost->m_node_type = NodeType::Simple; + n_local_cost->m_address = base + offset; + n_local_cost->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_local_cost); + + field_name = "x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_pathfinder__T_boundary_heap, field_name)); + auto n_x = new NodeSimple; + n_x->m_field_name = field_name; + n_x->m_df_type = DF_Type::int16_t; + n_x->m_rdf_type = RDF_Type::int16_t; + n_x->m_node_type = NodeType::Simple; + n_x->m_address = base + offset; + n_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_x); + + field_name = "y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_pathfinder__T_boundary_heap, field_name)); + auto n_y = new NodeSimple; + n_y->m_field_name = field_name; + n_y->m_df_type = DF_Type::int16_t; + n_y->m_rdf_type = RDF_Type::int16_t; + n_y->m_node_type = NodeType::Simple; + n_y->m_address = base + offset; + n_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_y); + + field_name = "z"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_pathfinder__T_boundary_heap, field_name)); + auto n_z = new NodeSimple; + n_z->m_field_name = field_name; + n_z->m_df_type = DF_Type::int32_t; + n_z->m_rdf_type = RDF_Type::int32_t; + n_z->m_node_type = NodeType::Simple; + n_z->m_address = base + offset; + n_z->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_z); + +} +void node_from_world__T_pathfinder(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "boundary_heap"; + auto n_boundary_heap = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_pathfinder, field_name)); + n_boundary_heap->m_field_name = field_name; + n_boundary_heap->m_df_type = DF_Type::world__T_pathfinder__T_boundary_heap; + n_boundary_heap->m_rdf_type = RDF_Type::Array; + n_boundary_heap->m_comment = "A heap of current boundary tiles."; + n_boundary_heap->m_node_type = NodeType::Array; + n_boundary_heap->m_addornements = "[80000"; + n_boundary_heap->m_array_size = 80000; + n_boundary_heap->m_address = base + offset; + n_boundary_heap->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_boundary_heap); + + field_name = "heap_count"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_pathfinder, field_name)); + auto n_heap_count = new NodeSimple; + n_heap_count->m_field_name = field_name; + n_heap_count->m_df_type = DF_Type::int32_t; + n_heap_count->m_rdf_type = RDF_Type::int32_t; + n_heap_count->m_node_type = NodeType::Simple; + n_heap_count->m_address = base + offset; + n_heap_count->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_heap_count); + + field_name = "pos1"; + auto n_pos1 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_pathfinder, field_name)); + n_pos1->m_field_name = field_name; + n_pos1->m_df_type = DF_Type::coord; + n_pos1->m_rdf_type = RDF_Type::Struct; + n_pos1->m_node_type = NodeType::Compound; + n_pos1->m_address = base + offset; + n_pos1->m_defined_in = "df.map.xml"; + n_pos1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pos1); + + field_name = "pos2"; + auto n_pos2 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_pathfinder, field_name)); + n_pos2->m_field_name = field_name; + n_pos2->m_df_type = DF_Type::coord; + n_pos2->m_rdf_type = RDF_Type::Struct; + n_pos2->m_node_type = NodeType::Compound; + n_pos2->m_address = base + offset; + n_pos2->m_defined_in = "df.map.xml"; + n_pos2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pos2); + + field_name = "dist_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_pathfinder, field_name)); + auto n_dist_x = new NodeSimple; + n_dist_x->m_field_name = field_name; + n_dist_x->m_df_type = DF_Type::int32_t; + n_dist_x->m_rdf_type = RDF_Type::int32_t; + n_dist_x->m_node_type = NodeType::Simple; + n_dist_x->m_address = base + offset; + n_dist_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dist_x); + + field_name = "dist_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_pathfinder, field_name)); + auto n_dist_y = new NodeSimple; + n_dist_y->m_field_name = field_name; + n_dist_y->m_df_type = DF_Type::int32_t; + n_dist_y->m_rdf_type = RDF_Type::int32_t; + n_dist_y->m_node_type = NodeType::Simple; + n_dist_y->m_address = base + offset; + n_dist_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dist_y); + + field_name = "dist_z"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_pathfinder, field_name)); + auto n_dist_z = new NodeSimple; + n_dist_z->m_field_name = field_name; + n_dist_z->m_df_type = DF_Type::int32_t; + n_dist_z->m_rdf_type = RDF_Type::int32_t; + n_dist_z->m_node_type = NodeType::Simple; + n_dist_z->m_address = base + offset; + n_dist_z->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dist_z); + + field_name = "next_path_cost"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_pathfinder, field_name)); + auto n_next_path_cost = new NodeSimple; + n_next_path_cost->m_field_name = field_name; + n_next_path_cost->m_df_type = DF_Type::int32_t; + n_next_path_cost->m_rdf_type = RDF_Type::int32_t; + n_next_path_cost->m_node_type = NodeType::Simple; + n_next_path_cost->m_address = base + offset; + n_next_path_cost->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_next_path_cost); + + field_name = "wipe_path_cost"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_pathfinder, field_name)); + auto n_wipe_path_cost = new NodeSimple; + n_wipe_path_cost->m_field_name = field_name; + n_wipe_path_cost->m_df_type = DF_Type::Bool; + n_wipe_path_cost->m_rdf_type = RDF_Type::Bool; + n_wipe_path_cost->m_node_type = NodeType::Simple; + n_wipe_path_cost->m_address = base + offset; + n_wipe_path_cost->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_wipe_path_cost); + + field_name = "next_path_tag"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_pathfinder, field_name)); + auto n_next_path_tag = new NodeSimple; + n_next_path_tag->m_field_name = field_name; + n_next_path_tag->m_df_type = DF_Type::uint16_t; + n_next_path_tag->m_rdf_type = RDF_Type::uint16_t; + n_next_path_tag->m_node_type = NodeType::Simple; + n_next_path_tag->m_address = base + offset; + n_next_path_tag->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_next_path_tag); + + field_name = "wipe_path_tag"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_pathfinder, field_name)); + auto n_wipe_path_tag = new NodeSimple; + n_wipe_path_tag->m_field_name = field_name; + n_wipe_path_tag->m_df_type = DF_Type::Bool; + n_wipe_path_tag->m_rdf_type = RDF_Type::Bool; + n_wipe_path_tag->m_node_type = NodeType::Simple; + n_wipe_path_tag->m_address = base + offset; + n_wipe_path_tag->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_wipe_path_tag); + + field_name = "next_walkable_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_pathfinder, field_name)); + auto n_next_walkable_id = new NodeSimple; + n_next_walkable_id->m_field_name = field_name; + n_next_walkable_id->m_df_type = DF_Type::int16_t; + n_next_walkable_id->m_rdf_type = RDF_Type::int16_t; + n_next_walkable_id->m_node_type = NodeType::Simple; + n_next_walkable_id->m_address = base + offset; + n_next_walkable_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_next_walkable_id); + + field_name = "plant_update_step"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_pathfinder, field_name)); + auto n_plant_update_step = new NodeSimple; + n_plant_update_step->m_field_name = field_name; + n_plant_update_step->m_df_type = DF_Type::int16_t; + n_plant_update_step->m_rdf_type = RDF_Type::int16_t; + n_plant_update_step->m_node_type = NodeType::Simple; + n_plant_update_step->m_address = base + offset; + n_plant_update_step->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_plant_update_step); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_pathfinder, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::Bool; + n_anon_1->m_rdf_type = RDF_Type::Bool; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_world__T_cur_savegame(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "save_dir"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_cur_savegame, field_name)); + auto n_save_dir = new NodeSimple; + n_save_dir->m_field_name = field_name; + n_save_dir->m_df_type = DF_Type::Stl_string; + n_save_dir->m_rdf_type = RDF_Type::Stl_string; + n_save_dir->m_node_type = NodeType::Simple; + n_save_dir->m_address = base + offset; + n_save_dir->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_save_dir); + + field_name = "unk_v40_0s"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_cur_savegame, field_name)); + auto n_unk_v40_0s = new NodeSimple; + n_unk_v40_0s->m_field_name = field_name; + n_unk_v40_0s->m_df_type = DF_Type::int32_t; + n_unk_v40_0s->m_rdf_type = RDF_Type::int32_t; + n_unk_v40_0s->m_node_type = NodeType::Simple; + n_unk_v40_0s->m_address = base + offset; + n_unk_v40_0s->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_0s); + + field_name = "unk_v40_1s"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_cur_savegame, field_name)); + auto n_unk_v40_1s = new NodeSimple; + n_unk_v40_1s->m_field_name = field_name; + n_unk_v40_1s->m_df_type = DF_Type::int32_t; + n_unk_v40_1s->m_rdf_type = RDF_Type::int32_t; + n_unk_v40_1s->m_node_type = NodeType::Simple; + n_unk_v40_1s->m_address = base + offset; + n_unk_v40_1s->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_1s); + + field_name = "unk_v40_2s"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_cur_savegame, field_name)); + auto n_unk_v40_2s = new NodeSimple; + n_unk_v40_2s->m_field_name = field_name; + n_unk_v40_2s->m_df_type = DF_Type::int32_t; + n_unk_v40_2s->m_rdf_type = RDF_Type::int32_t; + n_unk_v40_2s->m_node_type = NodeType::Simple; + n_unk_v40_2s->m_address = base + offset; + n_unk_v40_2s->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_2s); + +} +void node_from_world__T_features(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "map_features"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_features, field_name)); + auto n_map_features = new NodeVector; + n_map_features->m_field_name = field_name; + n_map_features->m_df_type = DF_Type::feature_init; + n_map_features->m_rdf_type = RDF_Type::Vector; + n_map_features->m_node_type = NodeType::Vector; + n_map_features->m_defined_in = "df.map.xml"; + n_map_features->m_addornements = "v*"; + n_map_features->m_address = base + offset; + n_map_features->m_parent = p_node_parent; + n_map_features->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_map_features); + + field_name = "feature_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_features, field_name)); + auto n_feature_x = new NodeVector; + n_feature_x->m_field_name = field_name; + n_feature_x->m_df_type = DF_Type::int16_t; + n_feature_x->m_rdf_type = RDF_Type::Vector; + n_feature_x->m_node_type = NodeType::Vector; + n_feature_x->m_addornements = "v"; + n_feature_x->m_address = base + offset; + n_feature_x->m_parent = p_node_parent; + n_feature_x->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_feature_x); + + field_name = "feature_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_features, field_name)); + auto n_feature_y = new NodeVector; + n_feature_y->m_field_name = field_name; + n_feature_y->m_df_type = DF_Type::int16_t; + n_feature_y->m_rdf_type = RDF_Type::Vector; + n_feature_y->m_node_type = NodeType::Vector; + n_feature_y->m_addornements = "v"; + n_feature_y->m_address = base + offset; + n_feature_y->m_parent = p_node_parent; + n_feature_y->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_feature_y); + + field_name = "feature_local_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_features, field_name)); + auto n_feature_local_idx = new NodeVector; + n_feature_local_idx->m_field_name = field_name; + n_feature_local_idx->m_df_type = DF_Type::int16_t; + n_feature_local_idx->m_rdf_type = RDF_Type::Vector; + n_feature_local_idx->m_node_type = NodeType::Vector; + n_feature_local_idx->m_addornements = "v"; + n_feature_local_idx->m_address = base + offset; + n_feature_local_idx->m_comment = "same as map_block.local_feature"; + n_feature_local_idx->m_parent = p_node_parent; + n_feature_local_idx->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_feature_local_idx); + + field_name = "feature_global_idx"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_features, field_name)); + auto n_feature_global_idx = new NodeVector; + n_feature_global_idx->m_field_name = field_name; + n_feature_global_idx->m_df_type = DF_Type::int32_t; + n_feature_global_idx->m_rdf_type = RDF_Type::Vector; + n_feature_global_idx->m_node_type = NodeType::Vector; + n_feature_global_idx->m_addornements = "v"; + n_feature_global_idx->m_address = base + offset; + n_feature_global_idx->m_parent = p_node_parent; + n_feature_global_idx->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_feature_global_idx); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_features, field_name)); + auto n_anon_1 = new NodeVector; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::feature_init; + n_anon_1->m_rdf_type = RDF_Type::Vector; + n_anon_1->m_node_type = NodeType::Vector; + n_anon_1->m_defined_in = "df.map.xml"; + n_anon_1->m_addornements = "v*"; + n_anon_1->m_address = base + offset; + n_anon_1->m_comment = "from unk_9C"; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_features, field_name)); + auto n_anon_2 = new NodeVector; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int16_t; + n_anon_2->m_rdf_type = RDF_Type::Vector; + n_anon_2->m_node_type = NodeType::Vector; + n_anon_2->m_addornements = "v"; + n_anon_2->m_address = base + offset; + n_anon_2->m_comment = "unk_9C.region.x"; + n_anon_2->m_parent = p_node_parent; + n_anon_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_features, field_name)); + auto n_anon_3 = new NodeVector; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int16_t; + n_anon_3->m_rdf_type = RDF_Type::Vector; + n_anon_3->m_node_type = NodeType::Vector; + n_anon_3->m_addornements = "v"; + n_anon_3->m_address = base + offset; + n_anon_3->m_comment = "unk_9C.region.y"; + n_anon_3->m_parent = p_node_parent; + n_anon_3->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_features, field_name)); + auto n_anon_4 = new NodeVector; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int16_t; + n_anon_4->m_rdf_type = RDF_Type::Vector; + n_anon_4->m_node_type = NodeType::Vector; + n_anon_4->m_addornements = "v"; + n_anon_4->m_address = base + offset; + n_anon_4->m_comment = "unk_9C.embark.x"; + n_anon_4->m_parent = p_node_parent; + n_anon_4->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_features, field_name)); + auto n_anon_5 = new NodeVector; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int16_t; + n_anon_5->m_rdf_type = RDF_Type::Vector; + n_anon_5->m_node_type = NodeType::Vector; + n_anon_5->m_addornements = "v"; + n_anon_5->m_address = base + offset; + n_anon_5->m_comment = "unk_9C.embark.y"; + n_anon_5->m_parent = p_node_parent; + n_anon_5->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_features, field_name)); + auto n_anon_6 = new NodeVector; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int16_t; + n_anon_6->m_rdf_type = RDF_Type::Vector; + n_anon_6->m_node_type = NodeType::Vector; + n_anon_6->m_addornements = "v"; + n_anon_6->m_address = base + offset; + n_anon_6->m_comment = "unk_9C.local_feature_idx"; + n_anon_6->m_parent = p_node_parent; + n_anon_6->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_6); + + field_name = "anon_7"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_features, field_name)); + auto n_anon_7 = new NodeVector; + n_anon_7->m_field_name = field_name; + n_anon_7->m_df_type = DF_Type::int32_t; + n_anon_7->m_rdf_type = RDF_Type::Vector; + n_anon_7->m_node_type = NodeType::Vector; + n_anon_7->m_addornements = "v"; + n_anon_7->m_address = base + offset; + n_anon_7->m_comment = "unk_9C.global_feature_idx"; + n_anon_7->m_parent = p_node_parent; + n_anon_7->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_7); + + field_name = "anon_8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_features, field_name)); + auto n_anon_8 = new NodeVector; + n_anon_8->m_field_name = field_name; + n_anon_8->m_df_type = DF_Type::int32_t; + n_anon_8->m_rdf_type = RDF_Type::Vector; + n_anon_8->m_node_type = NodeType::Vector; + n_anon_8->m_addornements = "v"; + n_anon_8->m_address = base + offset; + n_anon_8->m_comment = "unk_9C.unk10"; + n_anon_8->m_parent = p_node_parent; + n_anon_8->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_8); + + field_name = "anon_9"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_features, field_name)); + auto n_anon_9 = new NodeVector; + n_anon_9->m_field_name = field_name; + n_anon_9->m_df_type = DF_Type::int16_t; + n_anon_9->m_rdf_type = RDF_Type::Vector; + n_anon_9->m_node_type = NodeType::Vector; + n_anon_9->m_addornements = "v"; + n_anon_9->m_address = base + offset; + n_anon_9->m_comment = "unk_9C.unk14"; + n_anon_9->m_parent = p_node_parent; + n_anon_9->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_9); + + field_name = "anon_10"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_features, field_name)); + auto n_anon_10 = new NodeVector; + n_anon_10->m_field_name = field_name; + n_anon_10->m_df_type = DF_Type::int16_t; + n_anon_10->m_rdf_type = RDF_Type::Vector; + n_anon_10->m_node_type = NodeType::Vector; + n_anon_10->m_addornements = "v"; + n_anon_10->m_address = base + offset; + n_anon_10->m_comment = "unk_9C.local.x"; + n_anon_10->m_parent = p_node_parent; + n_anon_10->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_10); + + field_name = "anon_11"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_features, field_name)); + auto n_anon_11 = new NodeVector; + n_anon_11->m_field_name = field_name; + n_anon_11->m_df_type = DF_Type::int16_t; + n_anon_11->m_rdf_type = RDF_Type::Vector; + n_anon_11->m_node_type = NodeType::Vector; + n_anon_11->m_addornements = "v"; + n_anon_11->m_address = base + offset; + n_anon_11->m_comment = "unk_9C.local.y"; + n_anon_11->m_parent = p_node_parent; + n_anon_11->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_11); + + field_name = "anon_12"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_features, field_name)); + auto n_anon_12 = new NodeVector; + n_anon_12->m_field_name = field_name; + n_anon_12->m_df_type = DF_Type::int16_t; + n_anon_12->m_rdf_type = RDF_Type::Vector; + n_anon_12->m_node_type = NodeType::Vector; + n_anon_12->m_addornements = "v"; + n_anon_12->m_address = base + offset; + n_anon_12->m_comment = "unk_9C.z_min"; + n_anon_12->m_parent = p_node_parent; + n_anon_12->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_12); + + field_name = "anon_13"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_features, field_name)); + auto n_anon_13 = new NodeVector; + n_anon_13->m_field_name = field_name; + n_anon_13->m_df_type = DF_Type::int16_t; + n_anon_13->m_rdf_type = RDF_Type::Vector; + n_anon_13->m_node_type = NodeType::Vector; + n_anon_13->m_addornements = "v"; + n_anon_13->m_address = base + offset; + n_anon_13->m_comment = "unk_9C.z_min; yes, seemingly duplicate"; + n_anon_13->m_parent = p_node_parent; + n_anon_13->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_13); + + field_name = "anon_14"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_features, field_name)); + auto n_anon_14 = new NodeVector; + n_anon_14->m_field_name = field_name; + n_anon_14->m_df_type = DF_Type::int16_t; + n_anon_14->m_rdf_type = RDF_Type::Vector; + n_anon_14->m_node_type = NodeType::Vector; + n_anon_14->m_addornements = "v"; + n_anon_14->m_address = base + offset; + n_anon_14->m_comment = "unk_9C.z_max"; + n_anon_14->m_parent = p_node_parent; + n_anon_14->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_14); + + field_name = "anon_15"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_features, field_name)); + auto n_anon_15 = new NodeVector; + n_anon_15->m_field_name = field_name; + n_anon_15->m_df_type = DF_Type::Bool; + n_anon_15->m_rdf_type = RDF_Type::Vector; + n_anon_15->m_node_type = NodeType::Vector; + n_anon_15->m_addornements = "v"; + n_anon_15->m_address = base + offset; + n_anon_15->m_parent = p_node_parent; + n_anon_15->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_15); + +} +void node_from_world__T_arena_spawn__T_item_types(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "item_type"; + auto n_item_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_spawn__T_item_types, field_name)); + n_item_type->m_field_name = field_name; + n_item_type->m_df_type = DF_Type::item_type; + n_item_type->m_rdf_type = RDF_Type::Enum; + n_item_type->m_node_type = NodeType::Enum; + n_item_type->m_base_type = DF_Type::int16_t; + n_item_type->m_enum_type = "item_type"; + n_item_type->m_address = base + offset; + n_item_type->m_defined_in = "df.item-raws.xml"; + n_item_type->m_first_value = -1; + n_item_type->m_last_value = 90; + n_item_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_type); + + field_name = "item_subtype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_spawn__T_item_types, field_name)); + auto n_item_subtype = new NodeSimple; + n_item_subtype->m_field_name = field_name; + n_item_subtype->m_df_type = DF_Type::int16_t; + n_item_subtype->m_rdf_type = RDF_Type::int16_t; + n_item_subtype->m_node_type = NodeType::Simple; + n_item_subtype->m_address = base + offset; + n_item_subtype->m_refers_to = "(item-subtype-target $$._parent.item_type $)"; + n_item_subtype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_subtype); + + field_name = "mattype"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_spawn__T_item_types, field_name)); + auto n_mattype = new NodeSimple; + n_mattype->m_field_name = field_name; + n_mattype->m_df_type = DF_Type::int16_t; + n_mattype->m_rdf_type = RDF_Type::int16_t; + n_mattype->m_node_type = NodeType::Simple; + n_mattype->m_address = base + offset; + n_mattype->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_mattype); + + field_name = "matindex"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_spawn__T_item_types, field_name)); + auto n_matindex = new NodeSimple; + n_matindex->m_field_name = field_name; + n_matindex->m_df_type = DF_Type::int32_t; + n_matindex->m_rdf_type = RDF_Type::int32_t; + n_matindex->m_node_type = NodeType::Simple; + n_matindex->m_address = base + offset; + n_matindex->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_matindex); + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_spawn__T_item_types, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::Bool; + n_anon_1->m_rdf_type = RDF_Type::Bool; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + +} +void node_from_world__T_arena_spawn__T_equipment(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "skills"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_spawn__T_equipment, field_name)); + auto n_skills = new NodeVector; + n_skills->m_field_name = field_name; + n_skills->m_df_type = DF_Type::job_skill; + n_skills->m_rdf_type = RDF_Type::Vector; + n_skills->m_node_type = NodeType::Vector; + n_skills->m_enum_base = DF_Type::int16_t; + n_skills->m_defined_in = "df.skills.xml"; + n_skills->m_addornements = "v"; + n_skills->m_address = base + offset; + n_skills->m_parent = p_node_parent; + n_skills->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_skills); + + field_name = "skill_levels"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_spawn__T_equipment, field_name)); + auto n_skill_levels = new NodeVector; + n_skill_levels->m_field_name = field_name; + n_skill_levels->m_df_type = DF_Type::int32_t; + n_skill_levels->m_rdf_type = RDF_Type::Vector; + n_skill_levels->m_node_type = NodeType::Vector; + n_skill_levels->m_addornements = "v"; + n_skill_levels->m_address = base + offset; + n_skill_levels->m_refers_to = "$$._parent.skills[$]"; + n_skill_levels->m_parent = p_node_parent; + n_skill_levels->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_skill_levels); + + field_name = "item_types"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_spawn__T_equipment, field_name)); + auto n_item_types = new NodeVector; + n_item_types->m_field_name = field_name; + n_item_types->m_df_type = DF_Type::item_type; + n_item_types->m_rdf_type = RDF_Type::Vector; + n_item_types->m_node_type = NodeType::Vector; + n_item_types->m_enum_base = DF_Type::int16_t; + n_item_types->m_defined_in = "df.item-raws.xml"; + n_item_types->m_addornements = "v"; + n_item_types->m_address = base + offset; + n_item_types->m_parent = p_node_parent; + n_item_types->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_item_types); + + field_name = "item_subtypes"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_spawn__T_equipment, field_name)); + auto n_item_subtypes = new NodeVector; + n_item_subtypes->m_field_name = field_name; + n_item_subtypes->m_df_type = DF_Type::int16_t; + n_item_subtypes->m_rdf_type = RDF_Type::Vector; + n_item_subtypes->m_node_type = NodeType::Vector; + n_item_subtypes->m_addornements = "v"; + n_item_subtypes->m_address = base + offset; + n_item_subtypes->m_parent = p_node_parent; + n_item_subtypes->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_item_subtypes); + + field_name = "item_materials"; + auto n_item_materials = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_spawn__T_equipment, field_name)); + n_item_materials->m_field_name = field_name; + n_item_materials->m_df_type = DF_Type::material_vec_ref; + n_item_materials->m_rdf_type = RDF_Type::Struct; + n_item_materials->m_node_type = NodeType::Compound; + n_item_materials->m_address = base + offset; + n_item_materials->m_defined_in = "df.materials.xml"; + n_item_materials->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_materials); + + field_name = "item_counts"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_spawn__T_equipment, field_name)); + auto n_item_counts = new NodeVector; + n_item_counts->m_field_name = field_name; + n_item_counts->m_df_type = DF_Type::int32_t; + n_item_counts->m_rdf_type = RDF_Type::Vector; + n_item_counts->m_node_type = NodeType::Vector; + n_item_counts->m_addornements = "v"; + n_item_counts->m_address = base + offset; + n_item_counts->m_parent = p_node_parent; + n_item_counts->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_item_counts); + +} +void node_from_world__T_arena_spawn(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "race"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_spawn, field_name)); + auto n_race = new NodeVector; + n_race->m_field_name = field_name; + n_race->m_df_type = DF_Type::int16_t; + n_race->m_rdf_type = RDF_Type::Vector; + n_race->m_node_type = NodeType::Vector; + n_race->m_addornements = "v"; + n_race->m_address = base + offset; + n_race->m_parent = p_node_parent; + n_race->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_race); + + field_name = "caste"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_spawn, field_name)); + auto n_caste = new NodeVector; + n_caste->m_field_name = field_name; + n_caste->m_df_type = DF_Type::int16_t; + n_caste->m_rdf_type = RDF_Type::Vector; + n_caste->m_node_type = NodeType::Vector; + n_caste->m_addornements = "v"; + n_caste->m_address = base + offset; + n_caste->m_parent = p_node_parent; + n_caste->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_caste); + + field_name = "type"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_spawn, field_name)); + auto n_type = new NodeSimple; + n_type->m_field_name = field_name; + n_type->m_df_type = DF_Type::int32_t; + n_type->m_rdf_type = RDF_Type::int32_t; + n_type->m_node_type = NodeType::Simple; + n_type->m_address = base + offset; + n_type->m_refers_to = "$$._parent.caste[$].ref-target"; + n_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_type); + + field_name = "filter"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_spawn, field_name)); + auto n_filter = new NodeSimple; + n_filter->m_field_name = field_name; + n_filter->m_df_type = DF_Type::Stl_string; + n_filter->m_rdf_type = RDF_Type::Stl_string; + n_filter->m_node_type = NodeType::Simple; + n_filter->m_address = base + offset; + n_filter->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_filter); + + field_name = "item_types"; + auto n_item_types = new NodeArray; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_spawn, field_name)); + n_item_types->m_field_name = field_name; + n_item_types->m_df_type = DF_Type::world__T_arena_spawn__T_item_types; + n_item_types->m_rdf_type = RDF_Type::Array; + n_item_types->m_comment = "true array"; + n_item_types->m_node_type = NodeType::Array; + n_item_types->m_addornements = "[107v*"; + n_item_types->m_array_size = 107; + n_item_types->m_address = base + offset; + n_item_types->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_item_types); + + field_name = "unk_vec1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_spawn, field_name)); + auto n_unk_vec1 = new NodeVector; + n_unk_vec1->m_field_name = field_name; + n_unk_vec1->m_df_type = DF_Type::Void; + n_unk_vec1->m_rdf_type = RDF_Type::Vector; + n_unk_vec1->m_node_type = NodeType::Vector; + n_unk_vec1->m_addornements = "v"; + n_unk_vec1->m_address = base + offset; + n_unk_vec1->m_parent = p_node_parent; + n_unk_vec1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_vec1); + + field_name = "unk_vec2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_spawn, field_name)); + auto n_unk_vec2 = new NodeVector; + n_unk_vec2->m_field_name = field_name; + n_unk_vec2->m_df_type = DF_Type::Void; + n_unk_vec2->m_rdf_type = RDF_Type::Vector; + n_unk_vec2->m_node_type = NodeType::Vector; + n_unk_vec2->m_addornements = "v"; + n_unk_vec2->m_address = base + offset; + n_unk_vec2->m_parent = p_node_parent; + n_unk_vec2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_vec2); + + field_name = "unk_vec3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_spawn, field_name)); + auto n_unk_vec3 = new NodeVector; + n_unk_vec3->m_field_name = field_name; + n_unk_vec3->m_df_type = DF_Type::Void; + n_unk_vec3->m_rdf_type = RDF_Type::Vector; + n_unk_vec3->m_node_type = NodeType::Vector; + n_unk_vec3->m_addornements = "v"; + n_unk_vec3->m_address = base + offset; + n_unk_vec3->m_parent = p_node_parent; + n_unk_vec3->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_vec3); + + field_name = "equipment"; + auto n_equipment = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_spawn, field_name)); + n_equipment->m_field_name = field_name; + n_equipment->m_df_type = DF_Type::world__T_arena_spawn__T_equipment; + n_equipment->m_rdf_type = RDF_Type::Compound; + n_equipment->m_node_type = NodeType::Compound; + n_equipment->m_address = base + offset; + n_equipment->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_equipment); + + field_name = "side"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_spawn, field_name)); + auto n_side = new NodeSimple; + n_side->m_field_name = field_name; + n_side->m_df_type = DF_Type::int32_t; + n_side->m_rdf_type = RDF_Type::int32_t; + n_side->m_node_type = NodeType::Simple; + n_side->m_address = base + offset; + n_side->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_side); + + field_name = "interaction"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_spawn, field_name)); + auto n_interaction = new NodeSimple; + n_interaction->m_field_name = field_name; + n_interaction->m_df_type = DF_Type::int32_t; + n_interaction->m_rdf_type = RDF_Type::int32_t; + n_interaction->m_node_type = NodeType::Simple; + n_interaction->m_address = base + offset; + n_interaction->m_refers_to = "$$._parent.interactions[$]"; + n_interaction->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_interaction); + + field_name = "interactions"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_spawn, field_name)); + auto n_interactions = new NodeVector; + n_interactions->m_field_name = field_name; + n_interactions->m_df_type = DF_Type::interaction_effect; + n_interactions->m_rdf_type = RDF_Type::Vector; + n_interactions->m_node_type = NodeType::Vector; + n_interactions->m_defined_in = "df.interaction.xml"; + n_interactions->m_addornements = "v*"; + n_interactions->m_address = base + offset; + n_interactions->m_parent = p_node_parent; + n_interactions->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_interactions); + + field_name = "creature_cnt"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_spawn, field_name)); + auto n_creature_cnt = new NodeVector; + n_creature_cnt->m_field_name = field_name; + n_creature_cnt->m_df_type = DF_Type::int32_t; + n_creature_cnt->m_rdf_type = RDF_Type::Vector; + n_creature_cnt->m_node_type = NodeType::Vector; + n_creature_cnt->m_addornements = "v"; + n_creature_cnt->m_address = base + offset; + n_creature_cnt->m_refers_to = "(find-instance $creature_raw $)"; + n_creature_cnt->m_parent = p_node_parent; + n_creature_cnt->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_creature_cnt); + + field_name = "unk_int1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_spawn, field_name)); + auto n_unk_int1 = new NodeSimple; + n_unk_int1->m_field_name = field_name; + n_unk_int1->m_df_type = DF_Type::int32_t; + n_unk_int1->m_rdf_type = RDF_Type::int32_t; + n_unk_int1->m_node_type = NodeType::Simple; + n_unk_int1->m_address = base + offset; + n_unk_int1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_int1); + +} +void node_from_world__T_arena_settings(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "conflict_level"; + auto n_conflict_level = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_settings, field_name)); + n_conflict_level->m_field_name = field_name; + n_conflict_level->m_df_type = DF_Type::conflict_level; + n_conflict_level->m_rdf_type = RDF_Type::Enum; + n_conflict_level->m_node_type = NodeType::Enum; + n_conflict_level->m_base_type = enum_base_type(n_conflict_level->m_df_type); + n_conflict_level->m_enum_type = "conflict_level"; + n_conflict_level->m_address = base + offset; + n_conflict_level->m_defined_in = "df.world.xml"; + n_conflict_level->m_first_value = -1; + n_conflict_level->m_last_value = 6; + n_conflict_level->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_conflict_level); + + field_name = "morale_enable"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_settings, field_name)); + auto n_morale_enable = new NodeSimple; + n_morale_enable->m_field_name = field_name; + n_morale_enable->m_df_type = DF_Type::Bool; + n_morale_enable->m_rdf_type = RDF_Type::Bool; + n_morale_enable->m_node_type = NodeType::Simple; + n_morale_enable->m_address = base + offset; + n_morale_enable->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_morale_enable); + + field_name = "unk1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_settings, field_name)); + auto n_unk1 = new NodeSimple; + n_unk1->m_field_name = field_name; + n_unk1->m_df_type = DF_Type::int16_t; + n_unk1->m_rdf_type = RDF_Type::int16_t; + n_unk1->m_node_type = NodeType::Simple; + n_unk1->m_address = base + offset; + n_unk1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk1); + + field_name = "temperature"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_settings, field_name)); + auto n_temperature = new NodeSimple; + n_temperature->m_field_name = field_name; + n_temperature->m_df_type = DF_Type::uint16_t; + n_temperature->m_rdf_type = RDF_Type::uint16_t; + n_temperature->m_node_type = NodeType::Simple; + n_temperature->m_address = base + offset; + n_temperature->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_temperature); + + field_name = "time"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_settings, field_name)); + auto n_time = new NodeSimple; + n_time->m_field_name = field_name; + n_time->m_df_type = DF_Type::int16_t; + n_time->m_rdf_type = RDF_Type::int16_t; + n_time->m_node_type = NodeType::Simple; + n_time->m_address = base + offset; + n_time->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_time); + + field_name = "weather_column"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_settings, field_name)); + auto n_weather_column = new NodeSimple; + n_weather_column->m_field_name = field_name; + n_weather_column->m_df_type = DF_Type::int32_t; + n_weather_column->m_rdf_type = RDF_Type::int32_t; + n_weather_column->m_node_type = NodeType::Simple; + n_weather_column->m_address = base + offset; + n_weather_column->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_weather_column); + + field_name = "weather_row"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_settings, field_name)); + auto n_weather_row = new NodeSimple; + n_weather_row->m_field_name = field_name; + n_weather_row->m_df_type = DF_Type::int32_t; + n_weather_row->m_rdf_type = RDF_Type::int32_t; + n_weather_row->m_node_type = NodeType::Simple; + n_weather_row->m_address = base + offset; + n_weather_row->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_weather_row); + + field_name = "tree_types"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_settings, field_name)); + auto n_tree_types = new NodeVector; + n_tree_types->m_field_name = field_name; + n_tree_types->m_df_type = DF_Type::plant_raw; + n_tree_types->m_rdf_type = RDF_Type::Vector; + n_tree_types->m_node_type = NodeType::Vector; + n_tree_types->m_defined_in = "df.plant-raws.xml"; + n_tree_types->m_addornements = "v*"; + n_tree_types->m_address = base + offset; + n_tree_types->m_parent = p_node_parent; + n_tree_types->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_tree_types); + + field_name = "tree_cursor"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_settings, field_name)); + auto n_tree_cursor = new NodeSimple; + n_tree_cursor->m_field_name = field_name; + n_tree_cursor->m_df_type = DF_Type::int32_t; + n_tree_cursor->m_rdf_type = RDF_Type::int32_t; + n_tree_cursor->m_node_type = NodeType::Simple; + n_tree_cursor->m_address = base + offset; + n_tree_cursor->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tree_cursor); + + field_name = "tree_age"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_settings, field_name)); + auto n_tree_age = new NodeSimple; + n_tree_age->m_field_name = field_name; + n_tree_age->m_df_type = DF_Type::int32_t; + n_tree_age->m_rdf_type = RDF_Type::int32_t; + n_tree_age->m_node_type = NodeType::Simple; + n_tree_age->m_address = base + offset; + n_tree_age->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tree_age); + + field_name = "tree_filter"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_settings, field_name)); + auto n_tree_filter = new NodeSimple; + n_tree_filter->m_field_name = field_name; + n_tree_filter->m_df_type = DF_Type::Stl_string; + n_tree_filter->m_rdf_type = RDF_Type::Stl_string; + n_tree_filter->m_node_type = NodeType::Simple; + n_tree_filter->m_address = base + offset; + n_tree_filter->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tree_filter); + + field_name = "tree_age_str"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_arena_settings, field_name)); + auto n_tree_age_str = new NodeSimple; + n_tree_age_str->m_field_name = field_name; + n_tree_age_str->m_df_type = DF_Type::Stl_string; + n_tree_age_str->m_rdf_type = RDF_Type::Stl_string; + n_tree_age_str->m_node_type = NodeType::Simple; + n_tree_age_str->m_address = base + offset; + n_tree_age_str->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_tree_age_str); + +} +void node_from_world__T_unk_19325c__T_anon_1(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_19325c__T_anon_1, field_name)); + auto n_anon_1 = new NodePointer; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_anon_1->m_rdf_type = RDF_Type::Pointer; + n_anon_1->m_node_type = NodeType::Pointer; + n_anon_1->m_addornements = "*"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_19325c__T_anon_1, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_19325c__T_anon_1, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int16_t; + n_anon_3->m_rdf_type = RDF_Type::int16_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_19325c__T_anon_1, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_19325c__T_anon_1, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_19325c__T_anon_1, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + +} +void node_from_world__T_unk_19325c__T_anon_2(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_19325c__T_anon_2, field_name)); + auto n_anon_1 = new NodePointer; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_anon_1->m_rdf_type = RDF_Type::Pointer; + n_anon_1->m_node_type = NodeType::Pointer; + n_anon_1->m_addornements = "*"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_19325c__T_anon_2, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_19325c__T_anon_2, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + +} +void node_from_world__T_unk_19325c__T_anon_3(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_19325c__T_anon_3, field_name)); + auto n_anon_1 = new NodeSimple; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::int16_t; + n_anon_1->m_rdf_type = RDF_Type::int16_t; + n_anon_1->m_node_type = NodeType::Simple; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_19325c__T_anon_3, field_name)); + auto n_anon_2 = new NodeSimple; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::int32_t; + n_anon_2->m_rdf_type = RDF_Type::int32_t; + n_anon_2->m_node_type = NodeType::Simple; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_19325c__T_anon_3, field_name)); + auto n_anon_3 = new NodeSimple; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::int32_t; + n_anon_3->m_rdf_type = RDF_Type::int32_t; + n_anon_3->m_node_type = NodeType::Simple; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_19325c__T_anon_3, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + +} +void node_from_world__T_unk_19325c(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "anon_1"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_19325c, field_name)); + auto n_anon_1 = new NodeVector; + n_anon_1->m_field_name = field_name; + n_anon_1->m_df_type = DF_Type::world__T_unk_19325c__T_anon_1; + n_anon_1->m_rdf_type = RDF_Type::Vector; + n_anon_1->m_node_type = NodeType::Vector; + n_anon_1->m_addornements = "v*"; + n_anon_1->m_address = base + offset; + n_anon_1->m_parent = p_node_parent; + n_anon_1->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_1); + + field_name = "anon_2"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_19325c, field_name)); + auto n_anon_2 = new NodeVector; + n_anon_2->m_field_name = field_name; + n_anon_2->m_df_type = DF_Type::world__T_unk_19325c__T_anon_2; + n_anon_2->m_rdf_type = RDF_Type::Vector; + n_anon_2->m_node_type = NodeType::Vector; + n_anon_2->m_addornements = "v*"; + n_anon_2->m_address = base + offset; + n_anon_2->m_parent = p_node_parent; + n_anon_2->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_2); + + field_name = "anon_3"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_19325c, field_name)); + auto n_anon_3 = new NodeVector; + n_anon_3->m_field_name = field_name; + n_anon_3->m_df_type = DF_Type::world__T_unk_19325c__T_anon_3; + n_anon_3->m_rdf_type = RDF_Type::Vector; + n_anon_3->m_node_type = NodeType::Vector; + n_anon_3->m_addornements = "v*"; + n_anon_3->m_address = base + offset; + n_anon_3->m_parent = p_node_parent; + n_anon_3->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_anon_3); + + field_name = "anon_4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_19325c, field_name)); + auto n_anon_4 = new NodeSimple; + n_anon_4->m_field_name = field_name; + n_anon_4->m_df_type = DF_Type::int32_t; + n_anon_4->m_rdf_type = RDF_Type::int32_t; + n_anon_4->m_node_type = NodeType::Simple; + n_anon_4->m_address = base + offset; + n_anon_4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_4); + + field_name = "anon_5"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_19325c, field_name)); + auto n_anon_5 = new NodeSimple; + n_anon_5->m_field_name = field_name; + n_anon_5->m_df_type = DF_Type::int32_t; + n_anon_5->m_rdf_type = RDF_Type::int32_t; + n_anon_5->m_node_type = NodeType::Simple; + n_anon_5->m_address = base + offset; + n_anon_5->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_5); + + field_name = "anon_6"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world__T_unk_19325c, field_name)); + auto n_anon_6 = new NodeSimple; + n_anon_6->m_field_name = field_name; + n_anon_6->m_df_type = DF_Type::int32_t; + n_anon_6->m_rdf_type = RDF_Type::int32_t; + n_anon_6->m_node_type = NodeType::Simple; + n_anon_6->m_address = base + offset; + n_anon_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_anon_6); + +} +void node_from_world(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "glowing_barriers"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + auto n_glowing_barriers = new NodeVector; + n_glowing_barriers->m_field_name = field_name; + n_glowing_barriers->m_df_type = DF_Type::glowing_barrier; + n_glowing_barriers->m_rdf_type = RDF_Type::Vector; + n_glowing_barriers->m_node_type = NodeType::Vector; + n_glowing_barriers->m_defined_in = "df.world.xml"; + n_glowing_barriers->m_addornements = "v*"; + n_glowing_barriers->m_address = base + offset; + n_glowing_barriers->m_parent = p_node_parent; + n_glowing_barriers->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_glowing_barriers); + + field_name = "deep_vein_hollows"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + auto n_deep_vein_hollows = new NodeVector; + n_deep_vein_hollows->m_field_name = field_name; + n_deep_vein_hollows->m_df_type = DF_Type::deep_vein_hollow; + n_deep_vein_hollows->m_rdf_type = RDF_Type::Vector; + n_deep_vein_hollows->m_node_type = NodeType::Vector; + n_deep_vein_hollows->m_defined_in = "df.world.xml"; + n_deep_vein_hollows->m_addornements = "v*"; + n_deep_vein_hollows->m_address = base + offset; + n_deep_vein_hollows->m_parent = p_node_parent; + n_deep_vein_hollows->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_deep_vein_hollows); + + field_name = "unk_20"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + auto n_unk_20 = new NodeVector; + n_unk_20->m_field_name = field_name; + n_unk_20->m_df_type = DF_Type::world_unk_20; + n_unk_20->m_rdf_type = RDF_Type::Vector; + n_unk_20->m_node_type = NodeType::Vector; + n_unk_20->m_defined_in = "df.world.xml"; + n_unk_20->m_addornements = "v*"; + n_unk_20->m_address = base + offset; + n_unk_20->m_parent = p_node_parent; + n_unk_20->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_20); + + field_name = "engravings"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + auto n_engravings = new NodeVector; + n_engravings->m_field_name = field_name; + n_engravings->m_df_type = DF_Type::engraving; + n_engravings->m_rdf_type = RDF_Type::Vector; + n_engravings->m_node_type = NodeType::Vector; + n_engravings->m_defined_in = "df.itemimprovements.xml"; + n_engravings->m_addornements = "v*"; + n_engravings->m_address = base + offset; + n_engravings->m_parent = p_node_parent; + n_engravings->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_engravings); + + field_name = "vermin"; + auto n_vermin = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + n_vermin->m_field_name = field_name; + n_vermin->m_df_type = DF_Type::world__T_vermin; + n_vermin->m_rdf_type = RDF_Type::Compound; + n_vermin->m_node_type = NodeType::Compound; + n_vermin->m_address = base + offset; + n_vermin->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_vermin); + + field_name = "unk_3C"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + auto n_unk_3C = new NodeVector; + n_unk_3C->m_field_name = field_name; + n_unk_3C->m_df_type = DF_Type::coord; + n_unk_3C->m_rdf_type = RDF_Type::Vector; + n_unk_3C->m_node_type = NodeType::Vector; + n_unk_3C->m_defined_in = "df.map.xml"; + n_unk_3C->m_addornements = "v*"; + n_unk_3C->m_address = base + offset; + n_unk_3C->m_parent = p_node_parent; + n_unk_3C->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_3C); + + field_name = "campfires"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + auto n_campfires = new NodeVector; + n_campfires->m_field_name = field_name; + n_campfires->m_df_type = DF_Type::campfire; + n_campfires->m_rdf_type = RDF_Type::Vector; + n_campfires->m_node_type = NodeType::Vector; + n_campfires->m_defined_in = "df.world.xml"; + n_campfires->m_addornements = "v*"; + n_campfires->m_address = base + offset; + n_campfires->m_parent = p_node_parent; + n_campfires->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_campfires); + + field_name = "web_clusters"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + auto n_web_clusters = new NodeVector; + n_web_clusters->m_field_name = field_name; + n_web_clusters->m_df_type = DF_Type::web_cluster; + n_web_clusters->m_rdf_type = RDF_Type::Vector; + n_web_clusters->m_node_type = NodeType::Vector; + n_web_clusters->m_defined_in = "df.world.xml"; + n_web_clusters->m_addornements = "v*"; + n_web_clusters->m_address = base + offset; + n_web_clusters->m_parent = p_node_parent; + n_web_clusters->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_web_clusters); + + field_name = "fires"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + auto n_fires = new NodeVector; + n_fires->m_field_name = field_name; + n_fires->m_df_type = DF_Type::fire; + n_fires->m_rdf_type = RDF_Type::Vector; + n_fires->m_node_type = NodeType::Vector; + n_fires->m_defined_in = "df.world.xml"; + n_fires->m_addornements = "v*"; + n_fires->m_address = base + offset; + n_fires->m_parent = p_node_parent; + n_fires->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_fires); + + field_name = "unk_6C"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + auto n_unk_6C = new NodeVector; + n_unk_6C->m_field_name = field_name; + n_unk_6C->m_df_type = DF_Type::world_unk_6c; + n_unk_6C->m_rdf_type = RDF_Type::Vector; + n_unk_6C->m_node_type = NodeType::Vector; + n_unk_6C->m_defined_in = "df.world.xml"; + n_unk_6C->m_addornements = "v*"; + n_unk_6C->m_address = base + offset; + n_unk_6C->m_parent = p_node_parent; + n_unk_6C->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_6C); + + field_name = "ocean_waves"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + auto n_ocean_waves = new NodeVector; + n_ocean_waves->m_field_name = field_name; + n_ocean_waves->m_df_type = DF_Type::ocean_wave; + n_ocean_waves->m_rdf_type = RDF_Type::Vector; + n_ocean_waves->m_node_type = NodeType::Vector; + n_ocean_waves->m_defined_in = "df.world.xml"; + n_ocean_waves->m_addornements = "v*"; + n_ocean_waves->m_address = base + offset; + n_ocean_waves->m_parent = p_node_parent; + n_ocean_waves->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_ocean_waves); + + field_name = "constructions"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + auto n_constructions = new NodeVector; + n_constructions->m_field_name = field_name; + n_constructions->m_df_type = DF_Type::construction; + n_constructions->m_rdf_type = RDF_Type::Vector; + n_constructions->m_node_type = NodeType::Vector; + n_constructions->m_defined_in = "df.map.xml"; + n_constructions->m_addornements = "v*"; + n_constructions->m_address = base + offset; + n_constructions->m_parent = p_node_parent; + n_constructions->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_constructions); + + field_name = "murky_pools"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + auto n_murky_pools = new NodeVector; + n_murky_pools->m_field_name = field_name; + n_murky_pools->m_df_type = DF_Type::coord_rect; + n_murky_pools->m_rdf_type = RDF_Type::Vector; + n_murky_pools->m_node_type = NodeType::Vector; + n_murky_pools->m_defined_in = "df.world.xml"; + n_murky_pools->m_addornements = "v*"; + n_murky_pools->m_address = base + offset; + n_murky_pools->m_parent = p_node_parent; + n_murky_pools->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_murky_pools); + + field_name = "unk_9C"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + auto n_unk_9C = new NodeVector; + n_unk_9C->m_field_name = field_name; + n_unk_9C->m_df_type = DF_Type::world_unk_9c; + n_unk_9C->m_rdf_type = RDF_Type::Vector; + n_unk_9C->m_node_type = NodeType::Vector; + n_unk_9C->m_defined_in = "df.world.xml"; + n_unk_9C->m_addornements = "v*"; + n_unk_9C->m_address = base + offset; + n_unk_9C->m_parent = p_node_parent; + n_unk_9C->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_9C); + + field_name = "unk_A8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + auto n_unk_A8 = new NodeVector; + n_unk_A8->m_field_name = field_name; + n_unk_A8->m_df_type = DF_Type::world_unk_a8; + n_unk_A8->m_rdf_type = RDF_Type::Vector; + n_unk_A8->m_node_type = NodeType::Vector; + n_unk_A8->m_defined_in = "df.world.xml"; + n_unk_A8->m_addornements = "v*"; + n_unk_A8->m_address = base + offset; + n_unk_A8->m_parent = p_node_parent; + n_unk_A8->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_A8); + + field_name = "unk_B4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + auto n_unk_B4 = new NodeVector; + n_unk_B4->m_field_name = field_name; + n_unk_B4->m_df_type = DF_Type::world_unk_b4; + n_unk_B4->m_rdf_type = RDF_Type::Vector; + n_unk_B4->m_node_type = NodeType::Vector; + n_unk_B4->m_defined_in = "df.world.xml"; + n_unk_B4->m_addornements = "v*"; + n_unk_B4->m_address = base + offset; + n_unk_B4->m_parent = p_node_parent; + n_unk_B4->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_B4); + + field_name = "unk_C0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + auto n_unk_C0 = new NodeVector; + n_unk_C0->m_field_name = field_name; + n_unk_C0->m_df_type = DF_Type::world_unk_c0; + n_unk_C0->m_rdf_type = RDF_Type::Vector; + n_unk_C0->m_node_type = NodeType::Vector; + n_unk_C0->m_defined_in = "df.world.xml"; + n_unk_C0->m_addornements = "v*"; + n_unk_C0->m_address = base + offset; + n_unk_C0->m_parent = p_node_parent; + n_unk_C0->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_C0); + + field_name = "unk_CC"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + auto n_unk_CC = new NodeVector; + n_unk_CC->m_field_name = field_name; + n_unk_CC->m_df_type = DF_Type::engraving; + n_unk_CC->m_rdf_type = RDF_Type::Vector; + n_unk_CC->m_node_type = NodeType::Vector; + n_unk_CC->m_defined_in = "df.itemimprovements.xml"; + n_unk_CC->m_addornements = "v*"; + n_unk_CC->m_address = base + offset; + n_unk_CC->m_parent = p_node_parent; + n_unk_CC->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_CC); + + field_name = "unk_D8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + auto n_unk_D8 = new NodeVector; + n_unk_D8->m_field_name = field_name; + n_unk_D8->m_df_type = DF_Type::construction; + n_unk_D8->m_rdf_type = RDF_Type::Vector; + n_unk_D8->m_node_type = NodeType::Vector; + n_unk_D8->m_defined_in = "df.map.xml"; + n_unk_D8->m_addornements = "v*"; + n_unk_D8->m_address = base + offset; + n_unk_D8->m_parent = p_node_parent; + n_unk_D8->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_D8); + + field_name = "unk_E4"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + auto n_unk_E4 = new NodeVector; + n_unk_E4->m_field_name = field_name; + n_unk_E4->m_df_type = DF_Type::world_unk_9c; + n_unk_E4->m_rdf_type = RDF_Type::Vector; + n_unk_E4->m_node_type = NodeType::Vector; + n_unk_E4->m_defined_in = "df.world.xml"; + n_unk_E4->m_addornements = "v*"; + n_unk_E4->m_address = base + offset; + n_unk_E4->m_parent = p_node_parent; + n_unk_E4->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_E4); + + field_name = "unk_F0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + auto n_unk_F0 = new NodeVector; + n_unk_F0->m_field_name = field_name; + n_unk_F0->m_df_type = DF_Type::world_unk_6c; + n_unk_F0->m_rdf_type = RDF_Type::Vector; + n_unk_F0->m_node_type = NodeType::Vector; + n_unk_F0->m_defined_in = "df.world.xml"; + n_unk_F0->m_addornements = "v*"; + n_unk_F0->m_address = base + offset; + n_unk_F0->m_parent = p_node_parent; + n_unk_F0->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_F0); + + field_name = "unk_FC"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + auto n_unk_FC = new NodeVector; + n_unk_FC->m_field_name = field_name; + n_unk_FC->m_df_type = DF_Type::coord_rect; + n_unk_FC->m_rdf_type = RDF_Type::Vector; + n_unk_FC->m_node_type = NodeType::Vector; + n_unk_FC->m_defined_in = "df.world.xml"; + n_unk_FC->m_addornements = "v*"; + n_unk_FC->m_address = base + offset; + n_unk_FC->m_parent = p_node_parent; + n_unk_FC->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_FC); + + field_name = "effects"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + auto n_effects = new NodeVector; + n_effects->m_field_name = field_name; + n_effects->m_df_type = DF_Type::effect_info; + n_effects->m_rdf_type = RDF_Type::Vector; + n_effects->m_node_type = NodeType::Vector; + n_effects->m_defined_in = "df.map.xml"; + n_effects->m_addornements = "v*"; + n_effects->m_address = base + offset; + n_effects->m_parent = p_node_parent; + n_effects->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_effects); + + field_name = "coin_batches"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + auto n_coin_batches = new NodeVector; + n_coin_batches->m_field_name = field_name; + n_coin_batches->m_df_type = DF_Type::coin_batch; + n_coin_batches->m_rdf_type = RDF_Type::Vector; + n_coin_batches->m_node_type = NodeType::Vector; + n_coin_batches->m_defined_in = "df.world.xml"; + n_coin_batches->m_addornements = "v*"; + n_coin_batches->m_address = base + offset; + n_coin_batches->m_parent = p_node_parent; + n_coin_batches->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_coin_batches); + + field_name = "populations"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + auto n_populations = new NodeVector; + n_populations->m_field_name = field_name; + n_populations->m_df_type = DF_Type::local_population; + n_populations->m_rdf_type = RDF_Type::Vector; + n_populations->m_node_type = NodeType::Vector; + n_populations->m_defined_in = "df.world-data.xml"; + n_populations->m_addornements = "v*"; + n_populations->m_address = base + offset; + n_populations->m_parent = p_node_parent; + n_populations->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_populations); + + field_name = "manager_orders"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + auto n_manager_orders = new NodeVector; + n_manager_orders->m_field_name = field_name; + n_manager_orders->m_df_type = DF_Type::manager_order; + n_manager_orders->m_rdf_type = RDF_Type::Vector; + n_manager_orders->m_node_type = NodeType::Vector; + n_manager_orders->m_defined_in = "df.jobs.xml"; + n_manager_orders->m_addornements = "v*"; + n_manager_orders->m_address = base + offset; + n_manager_orders->m_parent = p_node_parent; + n_manager_orders->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_manager_orders); + + field_name = "manager_order_next_id"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + auto n_manager_order_next_id = new NodeSimple; + n_manager_order_next_id->m_field_name = field_name; + n_manager_order_next_id->m_df_type = DF_Type::int32_t; + n_manager_order_next_id->m_rdf_type = RDF_Type::int32_t; + n_manager_order_next_id->m_node_type = NodeType::Simple; + n_manager_order_next_id->m_address = base + offset; + n_manager_order_next_id->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_manager_order_next_id); + + field_name = "mandates"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + auto n_mandates = new NodeVector; + n_mandates->m_field_name = field_name; + n_mandates->m_df_type = DF_Type::mandate; + n_mandates->m_rdf_type = RDF_Type::Vector; + n_mandates->m_node_type = NodeType::Vector; + n_mandates->m_defined_in = "df.jobs.xml"; + n_mandates->m_addornements = "v*"; + n_mandates->m_address = base + offset; + n_mandates->m_parent = p_node_parent; + n_mandates->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_mandates); + + field_name = "entities"; + auto n_entities = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + n_entities->m_field_name = field_name; + n_entities->m_df_type = DF_Type::world__T_entities; + n_entities->m_rdf_type = RDF_Type::Compound; + n_entities->m_node_type = NodeType::Compound; + n_entities->m_address = base + offset; + n_entities->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_entities); + + field_name = "worldgen_coord_buf"; + auto n_worldgen_coord_buf = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + n_worldgen_coord_buf->m_field_name = field_name; + n_worldgen_coord_buf->m_df_type = DF_Type::world__T_worldgen_coord_buf; + n_worldgen_coord_buf->m_rdf_type = RDF_Type::Compound; + n_worldgen_coord_buf->m_node_type = NodeType::Compound; + n_worldgen_coord_buf->m_address = base + offset; + n_worldgen_coord_buf->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_worldgen_coord_buf); + + field_name = "units"; + auto n_units = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + n_units->m_field_name = field_name; + n_units->m_df_type = DF_Type::world__T_units; + n_units->m_rdf_type = RDF_Type::Compound; + n_units->m_node_type = NodeType::Compound; + n_units->m_address = base + offset; + n_units->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_units); + + field_name = "unit_chunks"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + auto n_unit_chunks = new NodeVector; + n_unit_chunks->m_field_name = field_name; + n_unit_chunks->m_df_type = DF_Type::unit_chunk; + n_unit_chunks->m_rdf_type = RDF_Type::Vector; + n_unit_chunks->m_node_type = NodeType::Vector; + n_unit_chunks->m_defined_in = "df.units.xml"; + n_unit_chunks->m_addornements = "v*"; + n_unit_chunks->m_address = base + offset; + n_unit_chunks->m_parent = p_node_parent; + n_unit_chunks->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unit_chunks); + + field_name = "art_image_chunks"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + auto n_art_image_chunks = new NodeVector; + n_art_image_chunks->m_field_name = field_name; + n_art_image_chunks->m_df_type = DF_Type::art_image_chunk; + n_art_image_chunks->m_rdf_type = RDF_Type::Vector; + n_art_image_chunks->m_node_type = NodeType::Vector; + n_art_image_chunks->m_defined_in = "df.art.xml"; + n_art_image_chunks->m_addornements = "v*"; + n_art_image_chunks->m_address = base + offset; + n_art_image_chunks->m_parent = p_node_parent; + n_art_image_chunks->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_art_image_chunks); + + field_name = "nemesis"; + auto n_nemesis = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + n_nemesis->m_field_name = field_name; + n_nemesis->m_df_type = DF_Type::world__T_nemesis; + n_nemesis->m_rdf_type = RDF_Type::Compound; + n_nemesis->m_node_type = NodeType::Compound; + n_nemesis->m_address = base + offset; + n_nemesis->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_nemesis); + + field_name = "items"; + auto n_items = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + n_items->m_field_name = field_name; + n_items->m_df_type = DF_Type::world__T_items; + n_items->m_rdf_type = RDF_Type::Compound; + n_items->m_node_type = NodeType::Compound; + n_items->m_address = base + offset; + n_items->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_items); + + field_name = "artifacts"; + auto n_artifacts = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + n_artifacts->m_field_name = field_name; + n_artifacts->m_df_type = DF_Type::world__T_artifacts; + n_artifacts->m_rdf_type = RDF_Type::Compound; + n_artifacts->m_node_type = NodeType::Compound; + n_artifacts->m_address = base + offset; + n_artifacts->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_artifacts); + + field_name = "jobs"; + auto n_jobs = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + n_jobs->m_field_name = field_name; + n_jobs->m_df_type = DF_Type::job_handler; + n_jobs->m_rdf_type = RDF_Type::Class; + n_jobs->m_node_type = NodeType::Compound; + n_jobs->m_address = base + offset; + n_jobs->m_defined_in = "df.world.xml"; + n_jobs->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_jobs); + + field_name = "proj_list"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + auto n_proj_list= new NodeCompound; + n_proj_list->m_field_name = field_name; + n_proj_list->m_df_type = DF_Type::proj_list_link; + n_proj_list->m_rdf_type = RDF_Type::DFLinkedList; + n_proj_list->m_node_type = NodeType::Compound; + n_proj_list->m_address = base + offset; + n_proj_list->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_proj_list); + + field_name = "buildings"; + auto n_buildings = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + n_buildings->m_field_name = field_name; + n_buildings->m_df_type = DF_Type::building_handler; + n_buildings->m_rdf_type = RDF_Type::Class; + n_buildings->m_node_type = NodeType::Compound; + n_buildings->m_address = base + offset; + n_buildings->m_defined_in = "df.world.xml"; + n_buildings->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_buildings); + + field_name = "machines"; + auto n_machines = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + n_machines->m_field_name = field_name; + n_machines->m_df_type = DF_Type::machine_handler; + n_machines->m_rdf_type = RDF_Type::Class; + n_machines->m_node_type = NodeType::Compound; + n_machines->m_address = base + offset; + n_machines->m_defined_in = "df.world.xml"; + n_machines->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_machines); + + field_name = "flow_guides"; + auto n_flow_guides = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + n_flow_guides->m_field_name = field_name; + n_flow_guides->m_df_type = DF_Type::world__T_flow_guides; + n_flow_guides->m_rdf_type = RDF_Type::Compound; + n_flow_guides->m_node_type = NodeType::Compound; + n_flow_guides->m_address = base + offset; + n_flow_guides->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flow_guides); + + field_name = "stockpile"; + auto n_stockpile = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + n_stockpile->m_field_name = field_name; + n_stockpile->m_df_type = DF_Type::world__T_stockpile; + n_stockpile->m_rdf_type = RDF_Type::Compound; + n_stockpile->m_node_type = NodeType::Compound; + n_stockpile->m_address = base + offset; + n_stockpile->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_stockpile); + + field_name = "plants"; + auto n_plants = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + n_plants->m_field_name = field_name; + n_plants->m_df_type = DF_Type::world__T_plants; + n_plants->m_rdf_type = RDF_Type::Compound; + n_plants->m_node_type = NodeType::Compound; + n_plants->m_address = base + offset; + n_plants->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_plants); + + field_name = "enemy_status_cache"; + auto n_enemy_status_cache = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + n_enemy_status_cache->m_field_name = field_name; + n_enemy_status_cache->m_df_type = DF_Type::world__T_enemy_status_cache; + n_enemy_status_cache->m_rdf_type = RDF_Type::Compound; + n_enemy_status_cache->m_node_type = NodeType::Compound; + n_enemy_status_cache->m_address = base + offset; + n_enemy_status_cache->m_comment = "?"; + n_enemy_status_cache->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_enemy_status_cache); + + field_name = "schedules"; + auto n_schedules = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + n_schedules->m_field_name = field_name; + n_schedules->m_df_type = DF_Type::world__T_schedules; + n_schedules->m_rdf_type = RDF_Type::Compound; + n_schedules->m_node_type = NodeType::Compound; + n_schedules->m_address = base + offset; + n_schedules->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_schedules); + + field_name = "squads"; + auto n_squads = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + n_squads->m_field_name = field_name; + n_squads->m_df_type = DF_Type::world__T_squads; + n_squads->m_rdf_type = RDF_Type::Compound; + n_squads->m_node_type = NodeType::Compound; + n_squads->m_address = base + offset; + n_squads->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_squads); + + field_name = "formations"; + auto n_formations = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + n_formations->m_field_name = field_name; + n_formations->m_df_type = DF_Type::world__T_formations; + n_formations->m_rdf_type = RDF_Type::Compound; + n_formations->m_node_type = NodeType::Compound; + n_formations->m_address = base + offset; + n_formations->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_formations); + + field_name = "activities"; + auto n_activities = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + n_activities->m_field_name = field_name; + n_activities->m_df_type = DF_Type::world__T_activities; + n_activities->m_rdf_type = RDF_Type::Compound; + n_activities->m_node_type = NodeType::Compound; + n_activities->m_address = base + offset; + n_activities->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_activities); + + field_name = "status"; + auto n_status = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + n_status->m_field_name = field_name; + n_status->m_df_type = DF_Type::world__T_status; + n_status->m_rdf_type = RDF_Type::Compound; + n_status->m_node_type = NodeType::Compound; + n_status->m_address = base + offset; + n_status->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_status); + + field_name = "interaction_instances"; + auto n_interaction_instances = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + n_interaction_instances->m_field_name = field_name; + n_interaction_instances->m_df_type = DF_Type::world__T_interaction_instances; + n_interaction_instances->m_rdf_type = RDF_Type::Compound; + n_interaction_instances->m_node_type = NodeType::Compound; + n_interaction_instances->m_address = base + offset; + n_interaction_instances->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_interaction_instances); + + field_name = "written_contents"; + auto n_written_contents = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + n_written_contents->m_field_name = field_name; + n_written_contents->m_df_type = DF_Type::world__T_written_contents; + n_written_contents->m_rdf_type = RDF_Type::Compound; + n_written_contents->m_node_type = NodeType::Compound; + n_written_contents->m_address = base + offset; + n_written_contents->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_written_contents); + + field_name = "identities"; + auto n_identities = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + n_identities->m_field_name = field_name; + n_identities->m_df_type = DF_Type::world__T_identities; + n_identities->m_rdf_type = RDF_Type::Compound; + n_identities->m_node_type = NodeType::Compound; + n_identities->m_address = base + offset; + n_identities->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_identities); + + field_name = "incidents"; + auto n_incidents = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + n_incidents->m_field_name = field_name; + n_incidents->m_df_type = DF_Type::world__T_incidents; + n_incidents->m_rdf_type = RDF_Type::Compound; + n_incidents->m_node_type = NodeType::Compound; + n_incidents->m_address = base + offset; + n_incidents->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_incidents); + + field_name = "crimes"; + auto n_crimes = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + n_crimes->m_field_name = field_name; + n_crimes->m_df_type = DF_Type::world__T_crimes; + n_crimes->m_rdf_type = RDF_Type::Compound; + n_crimes->m_node_type = NodeType::Compound; + n_crimes->m_address = base + offset; + n_crimes->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_crimes); + + field_name = "vehicles"; + auto n_vehicles = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + n_vehicles->m_field_name = field_name; + n_vehicles->m_df_type = DF_Type::world__T_vehicles; + n_vehicles->m_rdf_type = RDF_Type::Compound; + n_vehicles->m_node_type = NodeType::Compound; + n_vehicles->m_address = base + offset; + n_vehicles->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_vehicles); + + field_name = "armies"; + auto n_armies = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + n_armies->m_field_name = field_name; + n_armies->m_df_type = DF_Type::world__T_armies; + n_armies->m_rdf_type = RDF_Type::Compound; + n_armies->m_node_type = NodeType::Compound; + n_armies->m_address = base + offset; + n_armies->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_armies); + + field_name = "army_controllers"; + auto n_army_controllers = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + n_army_controllers->m_field_name = field_name; + n_army_controllers->m_df_type = DF_Type::world__T_army_controllers; + n_army_controllers->m_rdf_type = RDF_Type::Compound; + n_army_controllers->m_node_type = NodeType::Compound; + n_army_controllers->m_address = base + offset; + n_army_controllers->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_army_controllers); + + field_name = "army_tracking_info"; + auto n_army_tracking_info = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + n_army_tracking_info->m_field_name = field_name; + n_army_tracking_info->m_df_type = DF_Type::world__T_army_tracking_info; + n_army_tracking_info->m_rdf_type = RDF_Type::Compound; + n_army_tracking_info->m_node_type = NodeType::Compound; + n_army_tracking_info->m_address = base + offset; + n_army_tracking_info->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_army_tracking_info); + + field_name = "cultural_identities"; + auto n_cultural_identities = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + n_cultural_identities->m_field_name = field_name; + n_cultural_identities->m_df_type = DF_Type::world__T_cultural_identities; + n_cultural_identities->m_rdf_type = RDF_Type::Compound; + n_cultural_identities->m_node_type = NodeType::Compound; + n_cultural_identities->m_address = base + offset; + n_cultural_identities->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cultural_identities); + + field_name = "agreements"; + auto n_agreements = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + n_agreements->m_field_name = field_name; + n_agreements->m_df_type = DF_Type::world__T_agreements; + n_agreements->m_rdf_type = RDF_Type::Compound; + n_agreements->m_node_type = NodeType::Compound; + n_agreements->m_address = base + offset; + n_agreements->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_agreements); + + field_name = "poetic_forms"; + auto n_poetic_forms = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + n_poetic_forms->m_field_name = field_name; + n_poetic_forms->m_df_type = DF_Type::world__T_poetic_forms; + n_poetic_forms->m_rdf_type = RDF_Type::Compound; + n_poetic_forms->m_node_type = NodeType::Compound; + n_poetic_forms->m_address = base + offset; + n_poetic_forms->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_poetic_forms); + + field_name = "musical_forms"; + auto n_musical_forms = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + n_musical_forms->m_field_name = field_name; + n_musical_forms->m_df_type = DF_Type::world__T_musical_forms; + n_musical_forms->m_rdf_type = RDF_Type::Compound; + n_musical_forms->m_node_type = NodeType::Compound; + n_musical_forms->m_address = base + offset; + n_musical_forms->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_musical_forms); + + field_name = "dance_forms"; + auto n_dance_forms = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + n_dance_forms->m_field_name = field_name; + n_dance_forms->m_df_type = DF_Type::world__T_dance_forms; + n_dance_forms->m_rdf_type = RDF_Type::Compound; + n_dance_forms->m_node_type = NodeType::Compound; + n_dance_forms->m_address = base + offset; + n_dance_forms->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_dance_forms); + + field_name = "scales"; + auto n_scales = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + n_scales->m_field_name = field_name; + n_scales->m_df_type = DF_Type::world__T_scales; + n_scales->m_rdf_type = RDF_Type::Compound; + n_scales->m_node_type = NodeType::Compound; + n_scales->m_address = base + offset; + n_scales->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_scales); + + field_name = "rhythms"; + auto n_rhythms = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + n_rhythms->m_field_name = field_name; + n_rhythms->m_df_type = DF_Type::world__T_rhythms; + n_rhythms->m_rdf_type = RDF_Type::Compound; + n_rhythms->m_node_type = NodeType::Compound; + n_rhythms->m_address = base + offset; + n_rhythms->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_rhythms); + + field_name = "occupations"; + auto n_occupations = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + n_occupations->m_field_name = field_name; + n_occupations->m_df_type = DF_Type::world__T_occupations; + n_occupations->m_rdf_type = RDF_Type::Compound; + n_occupations->m_node_type = NodeType::Compound; + n_occupations->m_address = base + offset; + n_occupations->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_occupations); + + field_name = "belief_systems"; + auto n_belief_systems = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + n_belief_systems->m_field_name = field_name; + n_belief_systems->m_df_type = DF_Type::world__T_belief_systems; + n_belief_systems->m_rdf_type = RDF_Type::Compound; + n_belief_systems->m_node_type = NodeType::Compound; + n_belief_systems->m_address = base + offset; + n_belief_systems->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_belief_systems); + + field_name = "selected_building"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + auto n_selected_building = new NodePointer; + n_selected_building->m_field_name = field_name; + n_selected_building->m_df_type = get_real_subtype(base+offset, DF_Type::building); + n_selected_building->m_rdf_type = RDF_Type::Pointer; + n_selected_building->m_node_type = NodeType::Pointer; + n_selected_building->m_addornements = "*"; + n_selected_building->m_address = base + offset; + n_selected_building->m_parent = p_node_parent; + n_selected_building->m_defined_in = "df.buildings.xml"; + n_selected_building->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_selected_building); + + field_name = "selected_stockpile_type"; + auto n_selected_stockpile_type = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + n_selected_stockpile_type->m_field_name = field_name; + n_selected_stockpile_type->m_df_type = DF_Type::stockpile_category; + n_selected_stockpile_type->m_rdf_type = RDF_Type::Enum; + n_selected_stockpile_type->m_node_type = NodeType::Enum; + n_selected_stockpile_type->m_base_type = DF_Type::int16_t; + n_selected_stockpile_type->m_enum_type = "stockpile_category"; + n_selected_stockpile_type->m_address = base + offset; + n_selected_stockpile_type->m_defined_in = "df.stockpile.xml"; + n_selected_stockpile_type->m_first_value = -1; + n_selected_stockpile_type->m_last_value = 18; + n_selected_stockpile_type->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_selected_stockpile_type); + + field_name = "update_selected_building"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + auto n_update_selected_building = new NodeSimple; + n_update_selected_building->m_field_name = field_name; + n_update_selected_building->m_df_type = DF_Type::Bool; + n_update_selected_building->m_rdf_type = RDF_Type::Bool; + n_update_selected_building->m_node_type = NodeType::Simple; + n_update_selected_building->m_address = base + offset; + n_update_selected_building->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_update_selected_building); + + field_name = "building_width"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + auto n_building_width = new NodeSimple; + n_building_width->m_field_name = field_name; + n_building_width->m_df_type = DF_Type::int16_t; + n_building_width->m_rdf_type = RDF_Type::int16_t; + n_building_width->m_node_type = NodeType::Simple; + n_building_width->m_address = base + offset; + n_building_width->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_building_width); + + field_name = "building_height"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + auto n_building_height = new NodeSimple; + n_building_height->m_field_name = field_name; + n_building_height->m_df_type = DF_Type::int16_t; + n_building_height->m_rdf_type = RDF_Type::int16_t; + n_building_height->m_node_type = NodeType::Simple; + n_building_height->m_address = base + offset; + n_building_height->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_building_height); + + field_name = "selected_direction"; + auto n_selected_direction = new NodeEnum; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + n_selected_direction->m_field_name = field_name; + n_selected_direction->m_df_type = DF_Type::screw_pump_direction; + n_selected_direction->m_rdf_type = RDF_Type::Enum; + n_selected_direction->m_node_type = NodeType::Enum; + n_selected_direction->m_base_type = DF_Type::int8_t; + n_selected_direction->m_enum_type = "screw_pump_direction"; + n_selected_direction->m_address = base + offset; + n_selected_direction->m_defined_in = "df.machines.xml"; + n_selected_direction->m_first_value = 0; + n_selected_direction->m_last_value = 3; + n_selected_direction->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_selected_direction); + + field_name = "map"; + auto n_map = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + n_map->m_field_name = field_name; + n_map->m_df_type = DF_Type::world__T_map; + n_map->m_rdf_type = RDF_Type::Compound; + n_map->m_node_type = NodeType::Compound; + n_map->m_address = base + offset; + n_map->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_map); + + field_name = "profession_skills"; + auto n_profession_skills = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + n_profession_skills->m_field_name = field_name; + n_profession_skills->m_df_type = DF_Type::world__T_profession_skills; + n_profession_skills->m_rdf_type = RDF_Type::Compound; + n_profession_skills->m_node_type = NodeType::Compound; + n_profession_skills->m_address = base + offset; + n_profession_skills->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_profession_skills); + + field_name = "math"; + auto n_math = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + n_math->m_field_name = field_name; + n_math->m_df_type = DF_Type::world__T_math; + n_math->m_rdf_type = RDF_Type::Compound; + n_math->m_node_type = NodeType::Compound; + n_math->m_address = base + offset; + n_math->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_math); + + field_name = "map_extras"; + auto n_map_extras = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + n_map_extras->m_field_name = field_name; + n_map_extras->m_df_type = DF_Type::world__T_map_extras; + n_map_extras->m_rdf_type = RDF_Type::Compound; + n_map_extras->m_node_type = NodeType::Compound; + n_map_extras->m_address = base + offset; + n_map_extras->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_map_extras); + + field_name = "world_data"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + auto n_world_data = new NodePointer; + n_world_data->m_field_name = field_name; + n_world_data->m_df_type = get_real_subtype(base+offset, DF_Type::world_data); + n_world_data->m_rdf_type = RDF_Type::Pointer; + n_world_data->m_node_type = NodeType::Pointer; + n_world_data->m_addornements = "*"; + n_world_data->m_address = base + offset; + n_world_data->m_parent = p_node_parent; + n_world_data->m_defined_in = "df.world-data.xml"; + n_world_data->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_world_data); + + field_name = "worldgen_status"; + auto n_worldgen_status = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + n_worldgen_status->m_field_name = field_name; + n_worldgen_status->m_df_type = DF_Type::world__T_worldgen_status; + n_worldgen_status->m_rdf_type = RDF_Type::Compound; + n_worldgen_status->m_node_type = NodeType::Compound; + n_worldgen_status->m_address = base + offset; + n_worldgen_status->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_worldgen_status); + + field_name = "orphaned_flow_pool"; + auto n_orphaned_flow_pool = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + n_orphaned_flow_pool->m_field_name = field_name; + n_orphaned_flow_pool->m_df_type = DF_Type::flow_reuse_pool; + n_orphaned_flow_pool->m_rdf_type = RDF_Type::Struct; + n_orphaned_flow_pool->m_node_type = NodeType::Compound; + n_orphaned_flow_pool->m_address = base + offset; + n_orphaned_flow_pool->m_defined_in = "df.map.xml"; + n_orphaned_flow_pool->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_orphaned_flow_pool); + + field_name = "raws"; + auto n_raws = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + n_raws->m_field_name = field_name; + n_raws->m_df_type = DF_Type::world_raws; + n_raws->m_rdf_type = RDF_Type::Struct; + n_raws->m_node_type = NodeType::Compound; + n_raws->m_address = base + offset; + n_raws->m_defined_in = "df.raws.xml"; + n_raws->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_raws); + + field_name = "unk_59dc4"; + auto n_unk_59dc4 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + n_unk_59dc4->m_field_name = field_name; + n_unk_59dc4->m_df_type = DF_Type::world__T_unk_59dc4; + n_unk_59dc4->m_rdf_type = RDF_Type::Compound; + n_unk_59dc4->m_node_type = NodeType::Compound; + n_unk_59dc4->m_address = base + offset; + n_unk_59dc4->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_59dc4); + + field_name = "flow_engine"; + auto n_flow_engine = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + n_flow_engine->m_field_name = field_name; + n_flow_engine->m_df_type = DF_Type::world__T_flow_engine; + n_flow_engine->m_rdf_type = RDF_Type::Compound; + n_flow_engine->m_node_type = NodeType::Compound; + n_flow_engine->m_address = base + offset; + n_flow_engine->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_flow_engine); + + field_name = "busy_buildings"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + auto n_busy_buildings = new NodeVector; + n_busy_buildings->m_field_name = field_name; + n_busy_buildings->m_df_type = DF_Type::int32_t; + n_busy_buildings->m_rdf_type = RDF_Type::Vector; + n_busy_buildings->m_node_type = NodeType::Vector; + n_busy_buildings->m_addornements = "v"; + n_busy_buildings->m_address = base + offset; + n_busy_buildings->m_comment = "buildings with nonempty getUsers"; + n_busy_buildings->m_parent = p_node_parent; + n_busy_buildings->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_busy_buildings); + + field_name = "cavein_flags"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + auto n_cavein_flags = new NodeDFFlagArray; + n_cavein_flags->m_field_name = field_name; + n_cavein_flags->m_df_type = DF_Type::int32_t; + n_cavein_flags->m_size = 32; + n_cavein_flags->m_rdf_type = RDF_Type::DFFlagArray; + n_cavein_flags->m_node_type = NodeType::Bitfield; + n_cavein_flags->m_address = base + offset; + n_cavein_flags->m_comment = "flag 0 means process cave columns"; + n_cavein_flags->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cavein_flags); + + field_name = "original_save_version"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + auto n_original_save_version = new NodeSimple; + n_original_save_version->m_field_name = field_name; + n_original_save_version->m_df_type = DF_Type::int32_t; + n_original_save_version->m_rdf_type = RDF_Type::int32_t; + n_original_save_version->m_node_type = NodeType::Simple; + n_original_save_version->m_address = base + offset; + n_original_save_version->m_comment = "DF version on which the world was first created"; + n_original_save_version->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_original_save_version); + + field_name = "worldgen"; + auto n_worldgen = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + n_worldgen->m_field_name = field_name; + n_worldgen->m_df_type = DF_Type::world__T_worldgen; + n_worldgen->m_rdf_type = RDF_Type::Compound; + n_worldgen->m_node_type = NodeType::Compound; + n_worldgen->m_address = base + offset; + n_worldgen->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_worldgen); + + field_name = "history"; + auto n_history = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + n_history->m_field_name = field_name; + n_history->m_df_type = DF_Type::world_history; + n_history->m_rdf_type = RDF_Type::Struct; + n_history->m_node_type = NodeType::Compound; + n_history->m_address = base + offset; + n_history->m_defined_in = "df.history.xml"; + n_history->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_history); + + field_name = "entity_populations"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + auto n_entity_populations = new NodeVector; + n_entity_populations->m_field_name = field_name; + n_entity_populations->m_df_type = DF_Type::entity_population; + n_entity_populations->m_rdf_type = RDF_Type::Vector; + n_entity_populations->m_node_type = NodeType::Vector; + n_entity_populations->m_defined_in = "df.legends.xml"; + n_entity_populations->m_addornements = "v*"; + n_entity_populations->m_address = base + offset; + n_entity_populations->m_parent = p_node_parent; + n_entity_populations->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_entity_populations); + + field_name = "unk_v40_6"; + auto n_unk_v40_6 = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + n_unk_v40_6->m_field_name = field_name; + n_unk_v40_6->m_df_type = DF_Type::world__T_unk_v40_6; + n_unk_v40_6->m_rdf_type = RDF_Type::Compound; + n_unk_v40_6->m_node_type = NodeType::Compound; + n_unk_v40_6->m_address = base + offset; + n_unk_v40_6->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_6); + + field_name = "unk_131ec0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + auto n_unk_131ec0 = new NodeVector; + n_unk_131ec0->m_field_name = field_name; + n_unk_131ec0->m_df_type = DF_Type::world__T_unk_131ec0; + n_unk_131ec0->m_rdf_type = RDF_Type::Vector; + n_unk_131ec0->m_node_type = NodeType::Vector; + n_unk_131ec0->m_addornements = "v*"; + n_unk_131ec0->m_address = base + offset; + n_unk_131ec0->m_parent = p_node_parent; + n_unk_131ec0->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_131ec0); + + field_name = "languages"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + auto n_languages = new NodeVector; + n_languages->m_field_name = field_name; + n_languages->m_df_type = DF_Type::world__T_languages; + n_languages->m_rdf_type = RDF_Type::Vector; + n_languages->m_node_type = NodeType::Vector; + n_languages->m_addornements = "v*"; + n_languages->m_address = base + offset; + n_languages->m_parent = p_node_parent; + n_languages->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_languages); + + field_name = "unk_131ef0"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + auto n_unk_131ef0 = new NodeVector; + n_unk_131ef0->m_field_name = field_name; + n_unk_131ef0->m_df_type = DF_Type::world__T_unk_131ef0; + n_unk_131ef0->m_rdf_type = RDF_Type::Vector; + n_unk_131ef0->m_node_type = NodeType::Vector; + n_unk_131ef0->m_addornements = "v*"; + n_unk_131ef0->m_address = base + offset; + n_unk_131ef0->m_parent = p_node_parent; + n_unk_131ef0->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_131ef0); + + field_name = "unk_131f08"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + auto n_unk_131f08 = new NodeSimple; + n_unk_131f08->m_field_name = field_name; + n_unk_131f08->m_df_type = DF_Type::int32_t; + n_unk_131f08->m_rdf_type = RDF_Type::int32_t; + n_unk_131f08->m_node_type = NodeType::Simple; + n_unk_131f08->m_address = base + offset; + n_unk_131f08->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_131f08); + + field_name = "reindex_pathfinding"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + auto n_reindex_pathfinding = new NodeSimple; + n_reindex_pathfinding->m_field_name = field_name; + n_reindex_pathfinding->m_df_type = DF_Type::Bool; + n_reindex_pathfinding->m_rdf_type = RDF_Type::Bool; + n_reindex_pathfinding->m_node_type = NodeType::Simple; + n_reindex_pathfinding->m_address = base + offset; + n_reindex_pathfinding->m_comment = "forces map_block.passable to be recomputed"; + n_reindex_pathfinding->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_reindex_pathfinding); + + field_name = "frame_counter"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + auto n_frame_counter = new NodeSimple; + n_frame_counter->m_field_name = field_name; + n_frame_counter->m_df_type = DF_Type::int32_t; + n_frame_counter->m_rdf_type = RDF_Type::int32_t; + n_frame_counter->m_node_type = NodeType::Simple; + n_frame_counter->m_address = base + offset; + n_frame_counter->m_comment = "increases by 1 every time . is pressed"; + n_frame_counter->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_frame_counter); + + field_name = "orphaned_flows"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + auto n_orphaned_flows = new NodeVector; + n_orphaned_flows->m_field_name = field_name; + n_orphaned_flows->m_df_type = DF_Type::flow_info; + n_orphaned_flows->m_rdf_type = RDF_Type::Vector; + n_orphaned_flows->m_node_type = NodeType::Vector; + n_orphaned_flows->m_defined_in = "df.map.xml"; + n_orphaned_flows->m_addornements = "v*"; + n_orphaned_flows->m_address = base + offset; + n_orphaned_flows->m_comment = "flows that are not tied to a map_block"; + n_orphaned_flows->m_parent = p_node_parent; + n_orphaned_flows->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_orphaned_flows); + + field_name = "pathfinder"; + auto n_pathfinder = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + n_pathfinder->m_field_name = field_name; + n_pathfinder->m_df_type = DF_Type::world__T_pathfinder; + n_pathfinder->m_rdf_type = RDF_Type::Compound; + n_pathfinder->m_node_type = NodeType::Compound; + n_pathfinder->m_address = base + offset; + n_pathfinder->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_pathfinder); + + field_name = "save_version"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + auto n_save_version = new NodeSimple; + n_save_version->m_field_name = field_name; + n_save_version->m_df_type = DF_Type::int32_t; + n_save_version->m_rdf_type = RDF_Type::int32_t; + n_save_version->m_node_type = NodeType::Simple; + n_save_version->m_address = base + offset; + n_save_version->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_save_version); + + field_name = "cur_savegame"; + auto n_cur_savegame = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + n_cur_savegame->m_field_name = field_name; + n_cur_savegame->m_df_type = DF_Type::world__T_cur_savegame; + n_cur_savegame->m_rdf_type = RDF_Type::Compound; + n_cur_savegame->m_node_type = NodeType::Compound; + n_cur_savegame->m_address = base + offset; + n_cur_savegame->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_cur_savegame); + + field_name = "unk_v40_3s"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + auto n_unk_v40_3s = new NodeSimple; + n_unk_v40_3s->m_field_name = field_name; + n_unk_v40_3s->m_df_type = DF_Type::int32_t; + n_unk_v40_3s->m_rdf_type = RDF_Type::int32_t; + n_unk_v40_3s->m_node_type = NodeType::Simple; + n_unk_v40_3s->m_address = base + offset; + n_unk_v40_3s->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_3s); + + field_name = "unk_v40_4s"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + auto n_unk_v40_4s = new NodeSimple; + n_unk_v40_4s->m_field_name = field_name; + n_unk_v40_4s->m_df_type = DF_Type::int32_t; + n_unk_v40_4s->m_rdf_type = RDF_Type::int32_t; + n_unk_v40_4s->m_node_type = NodeType::Simple; + n_unk_v40_4s->m_address = base + offset; + n_unk_v40_4s->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_4s); + + field_name = "unk_v40_5s"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + auto n_unk_v40_5s = new NodeVector; + n_unk_v40_5s->m_field_name = field_name; + n_unk_v40_5s->m_df_type = DF_Type::Void; + n_unk_v40_5s->m_rdf_type = RDF_Type::Vector; + n_unk_v40_5s->m_node_type = NodeType::Vector; + n_unk_v40_5s->m_addornements = "v"; + n_unk_v40_5s->m_address = base + offset; + n_unk_v40_5s->m_parent = p_node_parent; + n_unk_v40_5s->m_children.push_back(rdf::dummy()); + p_node_parent->m_children.push_back(n_unk_v40_5s); + + field_name = "unk_v40_6s"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + auto n_unk_v40_6s = new NodeSimple; + n_unk_v40_6s->m_field_name = field_name; + n_unk_v40_6s->m_df_type = DF_Type::int32_t; + n_unk_v40_6s->m_rdf_type = RDF_Type::int32_t; + n_unk_v40_6s->m_node_type = NodeType::Simple; + n_unk_v40_6s->m_address = base + offset; + n_unk_v40_6s->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_6s); + + field_name = "unk_v40_7s"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + auto n_unk_v40_7s = new NodePointer; + n_unk_v40_7s->m_field_name = field_name; + n_unk_v40_7s->m_df_type = get_real_subtype(base+offset, DF_Type::Void); + n_unk_v40_7s->m_rdf_type = RDF_Type::Pointer; + n_unk_v40_7s->m_node_type = NodeType::Pointer; + n_unk_v40_7s->m_addornements = "*"; + n_unk_v40_7s->m_address = base + offset; + n_unk_v40_7s->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_v40_7s); + + field_name = "features"; + auto n_features = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + n_features->m_field_name = field_name; + n_features->m_df_type = DF_Type::world__T_features; + n_features->m_rdf_type = RDF_Type::Compound; + n_features->m_node_type = NodeType::Compound; + n_features->m_address = base + offset; + n_features->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_features); + + field_name = "unk_26a9a8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + auto n_unk_26a9a8 = new NodeSimple; + n_unk_26a9a8->m_field_name = field_name; + n_unk_26a9a8->m_df_type = DF_Type::Bool; + n_unk_26a9a8->m_rdf_type = RDF_Type::Bool; + n_unk_26a9a8->m_node_type = NodeType::Simple; + n_unk_26a9a8->m_address = base + offset; + n_unk_26a9a8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_26a9a8); + + field_name = "unk_26a9a9"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + auto n_unk_26a9a9 = new NodeSimple; + n_unk_26a9a9->m_field_name = field_name; + n_unk_26a9a9->m_df_type = DF_Type::Bool; + n_unk_26a9a9->m_rdf_type = RDF_Type::Bool; + n_unk_26a9a9->m_node_type = NodeType::Simple; + n_unk_26a9a9->m_address = base + offset; + n_unk_26a9a9->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_26a9a9); + + field_name = "unk_26a9aa"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + auto n_unk_26a9aa = new NodeSimple; + n_unk_26a9aa->m_field_name = field_name; + n_unk_26a9aa->m_df_type = DF_Type::Bool; + n_unk_26a9aa->m_rdf_type = RDF_Type::Bool; + n_unk_26a9aa->m_node_type = NodeType::Simple; + n_unk_26a9aa->m_address = base + offset; + n_unk_26a9aa->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_26a9aa); + + field_name = "arena_spawn"; + auto n_arena_spawn = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + n_arena_spawn->m_field_name = field_name; + n_arena_spawn->m_df_type = DF_Type::world__T_arena_spawn; + n_arena_spawn->m_rdf_type = RDF_Type::Compound; + n_arena_spawn->m_node_type = NodeType::Compound; + n_arena_spawn->m_address = base + offset; + n_arena_spawn->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_arena_spawn); + + field_name = "arena_settings"; + auto n_arena_settings = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + n_arena_settings->m_field_name = field_name; + n_arena_settings->m_df_type = DF_Type::world__T_arena_settings; + n_arena_settings->m_rdf_type = RDF_Type::Compound; + n_arena_settings->m_node_type = NodeType::Compound; + n_arena_settings->m_address = base + offset; + n_arena_settings->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_arena_settings); + + field_name = "unk_26b5b8"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + auto n_unk_26b5b8 = new NodeSimple; + n_unk_26b5b8->m_field_name = field_name; + n_unk_26b5b8->m_df_type = DF_Type::int8_t; + n_unk_26b5b8->m_rdf_type = RDF_Type::int8_t; + n_unk_26b5b8->m_node_type = NodeType::Simple; + n_unk_26b5b8->m_address = base + offset; + n_unk_26b5b8->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_26b5b8); + + field_name = "unk_26b5b9"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + auto n_unk_26b5b9 = new NodeSimple; + n_unk_26b5b9->m_field_name = field_name; + n_unk_26b5b9->m_df_type = DF_Type::int8_t; + n_unk_26b5b9->m_rdf_type = RDF_Type::int8_t; + n_unk_26b5b9->m_node_type = NodeType::Simple; + n_unk_26b5b9->m_address = base + offset; + n_unk_26b5b9->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_26b5b9); + + field_name = "unk_19325c"; + auto n_unk_19325c = new NodeCompound; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + n_unk_19325c->m_field_name = field_name; + n_unk_19325c->m_df_type = DF_Type::world__T_unk_19325c; + n_unk_19325c->m_rdf_type = RDF_Type::Compound; + n_unk_19325c->m_node_type = NodeType::Compound; + n_unk_19325c->m_address = base + offset; + n_unk_19325c->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_19325c); + + field_name = "unk_26b618"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::world, field_name)); + auto n_unk_26b618 = new NodeSimple; + n_unk_26b618->m_field_name = field_name; + n_unk_26b618->m_df_type = DF_Type::int32_t; + n_unk_26b618->m_rdf_type = RDF_Type::int32_t; + n_unk_26b618->m_node_type = NodeType::Simple; + n_unk_26b618->m_address = base + offset; + n_unk_26b618->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_unk_26b618); + +} +void node_from_T_cursor(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::T_cursor, field_name)); + auto n_x = new NodeSimple; + n_x->m_field_name = field_name; + n_x->m_df_type = DF_Type::int32_t; + n_x->m_rdf_type = RDF_Type::int32_t; + n_x->m_node_type = NodeType::Simple; + n_x->m_address = base + offset; + n_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_x); + + field_name = "y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::T_cursor, field_name)); + auto n_y = new NodeSimple; + n_y->m_field_name = field_name; + n_y->m_df_type = DF_Type::int32_t; + n_y->m_rdf_type = RDF_Type::int32_t; + n_y->m_node_type = NodeType::Simple; + n_y->m_address = base + offset; + n_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_y); + + field_name = "z"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::T_cursor, field_name)); + auto n_z = new NodeSimple; + n_z->m_field_name = field_name; + n_z->m_df_type = DF_Type::int32_t; + n_z->m_rdf_type = RDF_Type::int32_t; + n_z->m_node_type = NodeType::Simple; + n_z->m_address = base + offset; + n_z->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_z); + +} +void node_from_T_selection_rect(uint64_t p_df_structure, Node* p_node_parent, bool p_is_union = false) +{ + uint64_t offset; + std::string field_name; + uint64_t base = p_df_structure; + + field_name = "start_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::T_selection_rect, field_name)); + auto n_start_x = new NodeSimple; + n_start_x->m_field_name = field_name; + n_start_x->m_df_type = DF_Type::int32_t; + n_start_x->m_rdf_type = RDF_Type::int32_t; + n_start_x->m_node_type = NodeType::Simple; + n_start_x->m_address = base + offset; + n_start_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_start_x); + + field_name = "start_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::T_selection_rect, field_name)); + auto n_start_y = new NodeSimple; + n_start_y->m_field_name = field_name; + n_start_y->m_df_type = DF_Type::int32_t; + n_start_y->m_rdf_type = RDF_Type::int32_t; + n_start_y->m_node_type = NodeType::Simple; + n_start_y->m_address = base + offset; + n_start_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_start_y); + + field_name = "start_z"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::T_selection_rect, field_name)); + auto n_start_z = new NodeSimple; + n_start_z->m_field_name = field_name; + n_start_z->m_df_type = DF_Type::int32_t; + n_start_z->m_rdf_type = RDF_Type::int32_t; + n_start_z->m_node_type = NodeType::Simple; + n_start_z->m_address = base + offset; + n_start_z->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_start_z); + + field_name = "end_x"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::T_selection_rect, field_name)); + auto n_end_x = new NodeSimple; + n_end_x->m_field_name = field_name; + n_end_x->m_df_type = DF_Type::int32_t; + n_end_x->m_rdf_type = RDF_Type::int32_t; + n_end_x->m_node_type = NodeType::Simple; + n_end_x->m_address = base + offset; + n_end_x->m_comment = "only valid for an instant while its being completed"; + n_end_x->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_end_x); + + field_name = "end_y"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::T_selection_rect, field_name)); + auto n_end_y = new NodeSimple; + n_end_y->m_field_name = field_name; + n_end_y->m_df_type = DF_Type::int32_t; + n_end_y->m_rdf_type = RDF_Type::int32_t; + n_end_y->m_node_type = NodeType::Simple; + n_end_y->m_address = base + offset; + n_end_y->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_end_y); + + field_name = "end_z"; + offset = (p_is_union ? 0 : OffsetsCache::get_offset(DF_Type::T_selection_rect, field_name)); + auto n_end_z = new NodeSimple; + n_end_z->m_field_name = field_name; + n_end_z->m_df_type = DF_Type::int32_t; + n_end_z->m_rdf_type = RDF_Type::int32_t; + n_end_z->m_node_type = NodeType::Simple; + n_end_z->m_address = base + offset; + n_end_z->m_parent = p_node_parent; + p_node_parent->m_children.push_back(n_end_z); + +} +void fill_node(uint64_t p_address, Node* p_node_parent) +{ + switch(p_node_parent->m_df_type) + { + case DF_Type::text_info_elementst: node_from_text_info_elementst(p_address, p_node_parent); break; + case DF_Type::text_info_element_longst: node_from_text_info_element_longst(p_address, p_node_parent); break; + case DF_Type::text_info_element_stringst: node_from_text_info_element_stringst(p_address, p_node_parent); break; + case DF_Type::adventure_optionst: node_from_adventure_optionst(p_address, p_node_parent); break; + case DF_Type::adventure_item_interact_choicest: node_from_adventure_item_interact_choicest(p_address, p_node_parent); break; + case DF_Type::adventure_item_interact_pull_outst: node_from_adventure_item_interact_pull_outst(p_address, p_node_parent); break; + case DF_Type::adventure_item_interact_readst: node_from_adventure_item_interact_readst(p_address, p_node_parent); break; + case DF_Type::adventure_item_interact_strugglest: node_from_adventure_item_interact_strugglest(p_address, p_node_parent); break; + case DF_Type::popup_message: node_from_popup_message(p_address, p_node_parent); break; + case DF_Type::art_image_element: node_from_art_image_element(p_address, p_node_parent); break; + case DF_Type::art_image_element_creaturest: node_from_art_image_element_creaturest(p_address, p_node_parent); break; + case DF_Type::art_image_element_plantst: node_from_art_image_element_plantst(p_address, p_node_parent); break; + case DF_Type::art_image_element_treest: node_from_art_image_element_treest(p_address, p_node_parent); break; + case DF_Type::art_image_element_shapest: node_from_art_image_element_shapest(p_address, p_node_parent); break; + case DF_Type::art_image_property: node_from_art_image_property(p_address, p_node_parent); break; + case DF_Type::art_image_ref: node_from_art_image_ref(p_address, p_node_parent); break; + case DF_Type::poetic_form_perspective: node_from_poetic_form_perspective(p_address, p_node_parent); break; + case DF_Type::musical_form_sub4: node_from_musical_form_sub4(p_address, p_node_parent); break; + case DF_Type::musical_form_interval: node_from_musical_form_interval(p_address, p_node_parent); break; + case DF_Type::dance_form_sub1: node_from_dance_form_sub1(p_address, p_node_parent); break; + case DF_Type::dance_form_sub2: node_from_dance_form_sub2(p_address, p_node_parent); break; + case DF_Type::scale_sub1: node_from_scale_sub1(p_address, p_node_parent); break; + case DF_Type::scale_sub2: node_from_scale_sub2(p_address, p_node_parent); break; + case DF_Type::rhythm_sub2: node_from_rhythm_sub2(p_address, p_node_parent); break; + case DF_Type::occupation_sub1: node_from_occupation_sub1(p_address, p_node_parent); break; + case DF_Type::building_extents: node_from_building_extents(p_address, p_node_parent); break; + case DF_Type::building_drawbuffer: node_from_building_drawbuffer(p_address, p_node_parent); break; + case DF_Type::hospital_supplies: node_from_hospital_supplies(p_address, p_node_parent); break; + case DF_Type::building_users: node_from_building_users(p_address, p_node_parent); break; + case DF_Type::pressure_plate_info: node_from_pressure_plate_info(p_address, p_node_parent); break; + case DF_Type::body_part_layer_raw: node_from_body_part_layer_raw(p_address, p_node_parent); break; + case DF_Type::color_modifier_raw: node_from_color_modifier_raw(p_address, p_node_parent); break; + case DF_Type::gait_info: node_from_gait_info(p_address, p_node_parent); break; + case DF_Type::creature_graphics_appointment: node_from_creature_graphics_appointment(p_address, p_node_parent); break; + case DF_Type::creature_variation_convert_tag: node_from_creature_variation_convert_tag(p_address, p_node_parent); break; + case DF_Type::body_detail_plan: node_from_body_detail_plan(p_address, p_node_parent); break; + case DF_Type::descriptor_color: node_from_descriptor_color(p_address, p_node_parent); break; + case DF_Type::descriptor_shape: node_from_descriptor_shape(p_address, p_node_parent); break; + case DF_Type::entity_activity_statistics__T_food: node_from_entity_activity_statistics__T_food(p_address, p_node_parent); break; + case DF_Type::entity_activity_statistics__T_wealth: node_from_entity_activity_statistics__T_wealth(p_address, p_node_parent); break; + case DF_Type::entity_activity_statistics: node_from_entity_activity_statistics(p_address, p_node_parent); break; + case DF_Type::entity_sell_requests: node_from_entity_sell_requests(p_address, p_node_parent); break; + case DF_Type::entity_tissue_style: node_from_entity_tissue_style(p_address, p_node_parent); break; + case DF_Type::entity_position: node_from_entity_position(p_address, p_node_parent); break; + case DF_Type::entity_position_assignment: node_from_entity_position_assignment(p_address, p_node_parent); break; + case DF_Type::entity_animal_raw: node_from_entity_animal_raw(p_address, p_node_parent); break; + case DF_Type::large_integer___struct0: node_from_large_integer___struct0(p_address, p_node_parent); break; + case DF_Type::large_integer__T_u: node_from_large_integer__T_u(p_address, p_node_parent); break; + case DF_Type::large_integer: node_from_large_integer(p_address, p_node_parent); break; + case DF_Type::renderer: node_from_renderer(p_address, p_node_parent); break; + case DF_Type::identity_unk_94: node_from_identity_unk_94(p_address, p_node_parent); break; + case DF_Type::mental_picture_propertyst: node_from_mental_picture_propertyst(p_address, p_node_parent); break; + case DF_Type::mental_picture_property_datest: node_from_mental_picture_property_datest(p_address, p_node_parent); break; + case DF_Type::mental_picture_property_actionst: node_from_mental_picture_property_actionst(p_address, p_node_parent); break; + case DF_Type::mental_picture_property_toolst: node_from_mental_picture_property_toolst(p_address, p_node_parent); break; + case DF_Type::mental_picture_property_emotionst: node_from_mental_picture_property_emotionst(p_address, p_node_parent); break; + case DF_Type::mental_picture_property_color_patternst: node_from_mental_picture_property_color_patternst(p_address, p_node_parent); break; + case DF_Type::mental_picture_property_shapest: node_from_mental_picture_property_shapest(p_address, p_node_parent); break; + case DF_Type::mental_picture_property_adjectivest: node_from_mental_picture_property_adjectivest(p_address, p_node_parent); break; + case DF_Type::mental_picture_property_positionst: node_from_mental_picture_property_positionst(p_address, p_node_parent); break; + case DF_Type::mental_picture_property_timest: node_from_mental_picture_property_timest(p_address, p_node_parent); break; + case DF_Type::mental_picture_elementst: node_from_mental_picture_elementst(p_address, p_node_parent); break; + case DF_Type::mental_picture_element_hfst: node_from_mental_picture_element_hfst(p_address, p_node_parent); break; + case DF_Type::mental_picture_element_sitest: node_from_mental_picture_element_sitest(p_address, p_node_parent); break; + case DF_Type::mental_picture_element_regionst: node_from_mental_picture_element_regionst(p_address, p_node_parent); break; + case DF_Type::history_event_context: node_from_history_event_context(p_address, p_node_parent); break; + case DF_Type::history_event: node_from_history_event(p_address, p_node_parent); break; + case DF_Type::history_event_war_attacked_sitest: node_from_history_event_war_attacked_sitest(p_address, p_node_parent); break; + case DF_Type::history_event_war_destroyed_sitest: node_from_history_event_war_destroyed_sitest(p_address, p_node_parent); break; + case DF_Type::history_event_created_sitest: node_from_history_event_created_sitest(p_address, p_node_parent); break; + case DF_Type::history_event_entity_expels_hfst: node_from_history_event_entity_expels_hfst(p_address, p_node_parent); break; + case DF_Type::history_event_first_contactst: node_from_history_event_first_contactst(p_address, p_node_parent); break; + case DF_Type::history_event_first_contact_failedst: node_from_history_event_first_contact_failedst(p_address, p_node_parent); break; + case DF_Type::history_event_diplomat_lostst: node_from_history_event_diplomat_lostst(p_address, p_node_parent); break; + case DF_Type::history_event_agreements_voidedst: node_from_history_event_agreements_voidedst(p_address, p_node_parent); break; + case DF_Type::history_event_merchantst: node_from_history_event_merchantst(p_address, p_node_parent); break; + case DF_Type::history_event_artifact_hiddenst: node_from_history_event_artifact_hiddenst(p_address, p_node_parent); break; + case DF_Type::history_event_artifact_createdst: node_from_history_event_artifact_createdst(p_address, p_node_parent); break; + case DF_Type::history_event_artifact_lostst: node_from_history_event_artifact_lostst(p_address, p_node_parent); break; + case DF_Type::history_event_artifact_foundst: node_from_history_event_artifact_foundst(p_address, p_node_parent); break; + case DF_Type::history_event_artifact_recoveredst: node_from_history_event_artifact_recoveredst(p_address, p_node_parent); break; + case DF_Type::history_event_artifact_droppedst: node_from_history_event_artifact_droppedst(p_address, p_node_parent); break; + case DF_Type::history_event_reclaim_sitest: node_from_history_event_reclaim_sitest(p_address, p_node_parent); break; + case DF_Type::history_event_hf_destroyed_sitest: node_from_history_event_hf_destroyed_sitest(p_address, p_node_parent); break; + case DF_Type::history_event_site_diedst: node_from_history_event_site_diedst(p_address, p_node_parent); break; + case DF_Type::history_event_site_retiredst: node_from_history_event_site_retiredst(p_address, p_node_parent); break; + case DF_Type::history_event_entity_createdst: node_from_history_event_entity_createdst(p_address, p_node_parent); break; + case DF_Type::history_event_entity_incorporatedst: node_from_history_event_entity_incorporatedst(p_address, p_node_parent); break; + case DF_Type::history_event_created_buildingst: node_from_history_event_created_buildingst(p_address, p_node_parent); break; + case DF_Type::history_event_replaced_buildingst: node_from_history_event_replaced_buildingst(p_address, p_node_parent); break; + case DF_Type::history_event_entity_razed_buildingst: node_from_history_event_entity_razed_buildingst(p_address, p_node_parent); break; + case DF_Type::history_event_masterpiece_createdst: node_from_history_event_masterpiece_createdst(p_address, p_node_parent); break; + case DF_Type::history_event_masterpiece_created_arch_designst: node_from_history_event_masterpiece_created_arch_designst(p_address, p_node_parent); break; + case DF_Type::history_event_masterpiece_created_arch_constructst: node_from_history_event_masterpiece_created_arch_constructst(p_address, p_node_parent); break; + case DF_Type::history_event_masterpiece_created_foodst: node_from_history_event_masterpiece_created_foodst(p_address, p_node_parent); break; + case DF_Type::history_event_war_plundered_sitest: node_from_history_event_war_plundered_sitest(p_address, p_node_parent); break; + case DF_Type::history_event_war_site_new_leaderst: node_from_history_event_war_site_new_leaderst(p_address, p_node_parent); break; + case DF_Type::history_event_war_site_tribute_forcedst: node_from_history_event_war_site_tribute_forcedst(p_address, p_node_parent); break; + case DF_Type::history_event_war_site_taken_overst: node_from_history_event_war_site_taken_overst(p_address, p_node_parent); break; + case DF_Type::history_event_site_surrenderedst: node_from_history_event_site_surrenderedst(p_address, p_node_parent); break; + case DF_Type::history_event_hist_figure_abductedst: node_from_history_event_hist_figure_abductedst(p_address, p_node_parent); break; + case DF_Type::history_event_hf_razed_buildingst: node_from_history_event_hf_razed_buildingst(p_address, p_node_parent); break; + case DF_Type::history_event_creature_devouredst: node_from_history_event_creature_devouredst(p_address, p_node_parent); break; + case DF_Type::history_event_hist_figure_woundedst: node_from_history_event_hist_figure_woundedst(p_address, p_node_parent); break; + case DF_Type::history_event_created_world_constructionst: node_from_history_event_created_world_constructionst(p_address, p_node_parent); break; + case DF_Type::history_event_hist_figure_reunionst: node_from_history_event_hist_figure_reunionst(p_address, p_node_parent); break; + case DF_Type::history_event_assume_identityst: node_from_history_event_assume_identityst(p_address, p_node_parent); break; + case DF_Type::history_event_create_entity_positionst: node_from_history_event_create_entity_positionst(p_address, p_node_parent); break; + case DF_Type::history_event_change_creature_typest: node_from_history_event_change_creature_typest(p_address, p_node_parent); break; + case DF_Type::history_event_hf_learns_secretst: node_from_history_event_hf_learns_secretst(p_address, p_node_parent); break; + case DF_Type::history_event_hf_act_on_buildingst: node_from_history_event_hf_act_on_buildingst(p_address, p_node_parent); break; + case DF_Type::history_event_hf_does_interactionst: node_from_history_event_hf_does_interactionst(p_address, p_node_parent); break; + case DF_Type::history_event_entity_lawst: node_from_history_event_entity_lawst(p_address, p_node_parent); break; + case DF_Type::history_event_artifact_storedst: node_from_history_event_artifact_storedst(p_address, p_node_parent); break; + case DF_Type::history_event_agreement_formedst: node_from_history_event_agreement_formedst(p_address, p_node_parent); break; + case DF_Type::history_event_insurrection_startedst: node_from_history_event_insurrection_startedst(p_address, p_node_parent); break; + case DF_Type::history_event_hf_attacked_sitest: node_from_history_event_hf_attacked_sitest(p_address, p_node_parent); break; + case DF_Type::history_event_performancest: node_from_history_event_performancest(p_address, p_node_parent); break; + case DF_Type::history_event_competitionst: node_from_history_event_competitionst(p_address, p_node_parent); break; + case DF_Type::history_event_processionst: node_from_history_event_processionst(p_address, p_node_parent); break; + case DF_Type::history_event_ceremonyst: node_from_history_event_ceremonyst(p_address, p_node_parent); break; + case DF_Type::history_event_artifact_transformedst: node_from_history_event_artifact_transformedst(p_address, p_node_parent); break; + case DF_Type::history_event_artifact_destroyedst: node_from_history_event_artifact_destroyedst(p_address, p_node_parent); break; + case DF_Type::history_event_regionpop_incorporated_into_entityst: node_from_history_event_regionpop_incorporated_into_entityst(p_address, p_node_parent); break; + case DF_Type::history_event_hf_act_on_artifactst: node_from_history_event_hf_act_on_artifactst(p_address, p_node_parent); break; + case DF_Type::history_event_artifact_copiedst: node_from_history_event_artifact_copiedst(p_address, p_node_parent); break; + case DF_Type::history_event_sneak_into_sitest: node_from_history_event_sneak_into_sitest(p_address, p_node_parent); break; + case DF_Type::history_event_spotted_leaving_sitest: node_from_history_event_spotted_leaving_sitest(p_address, p_node_parent); break; + case DF_Type::history_event_entity_searched_sitest: node_from_history_event_entity_searched_sitest(p_address, p_node_parent); break; + case DF_Type::history_event_hf_freedst: node_from_history_event_hf_freedst(p_address, p_node_parent); break; + case DF_Type::history_event_hist_figure_simple_actionst: node_from_history_event_hist_figure_simple_actionst(p_address, p_node_parent); break; + case DF_Type::history_event_entity_rampaged_in_sitest: node_from_history_event_entity_rampaged_in_sitest(p_address, p_node_parent); break; + case DF_Type::history_event_entity_fled_sitest: node_from_history_event_entity_fled_sitest(p_address, p_node_parent); break; + case DF_Type::history_event_squad_vs_squadst: node_from_history_event_squad_vs_squadst(p_address, p_node_parent); break; + case DF_Type::history_event_collection: node_from_history_event_collection(p_address, p_node_parent); break; + case DF_Type::history_event_collection_site_conqueredst: node_from_history_event_collection_site_conqueredst(p_address, p_node_parent); break; + case DF_Type::history_event_collection_journeyst: node_from_history_event_collection_journeyst(p_address, p_node_parent); break; + case DF_Type::history_event_collection_insurrectionst: node_from_history_event_collection_insurrectionst(p_address, p_node_parent); break; + case DF_Type::history_event_collection_occasionst: node_from_history_event_collection_occasionst(p_address, p_node_parent); break; + case DF_Type::history_event_collection_performancest: node_from_history_event_collection_performancest(p_address, p_node_parent); break; + case DF_Type::history_event_collection_competitionst: node_from_history_event_collection_competitionst(p_address, p_node_parent); break; + case DF_Type::history_event_collection_processionst: node_from_history_event_collection_processionst(p_address, p_node_parent); break; + case DF_Type::history_event_collection_ceremonyst: node_from_history_event_collection_ceremonyst(p_address, p_node_parent); break; + case DF_Type::history_event_collection_purgest: node_from_history_event_collection_purgest(p_address, p_node_parent); break; + case DF_Type::init_media: node_from_init_media(p_address, p_node_parent); break; + case DF_Type::init_input: node_from_init_input(p_address, p_node_parent); break; + case DF_Type::init_window: node_from_init_window(p_address, p_node_parent); break; + case DF_Type::tile_page: node_from_tile_page(p_address, p_node_parent); break; + case DF_Type::interaction_source: node_from_interaction_source(p_address, p_node_parent); break; + case DF_Type::interaction_source_regionst: node_from_interaction_source_regionst(p_address, p_node_parent); break; + case DF_Type::interaction_source_disturbancest: node_from_interaction_source_disturbancest(p_address, p_node_parent); break; + case DF_Type::interaction_source_attackst: node_from_interaction_source_attackst(p_address, p_node_parent); break; + case DF_Type::interaction_source_ingestionst: node_from_interaction_source_ingestionst(p_address, p_node_parent); break; + case DF_Type::interaction_source_creature_actionst: node_from_interaction_source_creature_actionst(p_address, p_node_parent); break; + case DF_Type::interaction_source_underground_specialst: node_from_interaction_source_underground_specialst(p_address, p_node_parent); break; + case DF_Type::interaction_target_info: node_from_interaction_target_info(p_address, p_node_parent); break; + case DF_Type::interaction_instance: node_from_interaction_instance(p_address, p_node_parent); break; + case DF_Type::weapon_attack: node_from_weapon_attack(p_address, p_node_parent); break; + case DF_Type::itemdef: node_from_itemdef(p_address, p_node_parent); break; + case DF_Type::armor_properties: node_from_armor_properties(p_address, p_node_parent); break; + case DF_Type::itemdef_foodst: node_from_itemdef_foodst(p_address, p_node_parent); break; + case DF_Type::instrument_piece: node_from_instrument_piece(p_address, p_node_parent); break; + case DF_Type::itemdef_shieldst: node_from_itemdef_shieldst(p_address, p_node_parent); break; + case DF_Type::itemdef_siegeammost: node_from_itemdef_siegeammost(p_address, p_node_parent); break; + case DF_Type::itemdef_toyst: node_from_itemdef_toyst(p_address, p_node_parent); break; + case DF_Type::temperaturest: node_from_temperaturest(p_address, p_node_parent); break; + case DF_Type::body_size_info: node_from_body_size_info(p_address, p_node_parent); break; + case DF_Type::item_stockpile_ref: node_from_item_stockpile_ref(p_address, p_node_parent); break; + case DF_Type::job_art_specification: node_from_job_art_specification(p_address, p_node_parent); break; + case DF_Type::manager_order_condition_order: node_from_manager_order_condition_order(p_address, p_node_parent); break; + case DF_Type::training_assignment: node_from_training_assignment(p_address, p_node_parent); break; + case DF_Type::language_translation: node_from_language_translation(p_address, p_node_parent); break; + case DF_Type::language_symbol: node_from_language_symbol(p_address, p_node_parent); break; + case DF_Type::invasion_info: node_from_invasion_info(p_address, p_node_parent); break; + case DF_Type::machine_info: node_from_machine_info(p_address, p_node_parent); break; + case DF_Type::power_info: node_from_power_info(p_address, p_node_parent); break; + case DF_Type::coord2d: node_from_coord2d(p_address, p_node_parent); break; + case DF_Type::coord2d_path: node_from_coord2d_path(p_address, p_node_parent); break; + case DF_Type::coord: node_from_coord(p_address, p_node_parent); break; + case DF_Type::coord_path: node_from_coord_path(p_address, p_node_parent); break; + case DF_Type::tile_bitmask: node_from_tile_bitmask(p_address, p_node_parent); break; + case DF_Type::cave_column: node_from_cave_column(p_address, p_node_parent); break; + case DF_Type::cave_column_rectangle: node_from_cave_column_rectangle(p_address, p_node_parent); break; + case DF_Type::block_square_event: node_from_block_square_event(p_address, p_node_parent); break; + case DF_Type::block_square_event_material_spatterst: node_from_block_square_event_material_spatterst(p_address, p_node_parent); break; + case DF_Type::block_square_event_grassst: node_from_block_square_event_grassst(p_address, p_node_parent); break; + case DF_Type::block_square_event_spoorst: node_from_block_square_event_spoorst(p_address, p_node_parent); break; + case DF_Type::block_square_event_designation_priorityst: node_from_block_square_event_designation_priorityst(p_address, p_node_parent); break; + case DF_Type::feature_alteration: node_from_feature_alteration(p_address, p_node_parent); break; + case DF_Type::feature_alteration_new_pop_maxst: node_from_feature_alteration_new_pop_maxst(p_address, p_node_parent); break; + case DF_Type::feature_alteration_new_lava_fill_zst: node_from_feature_alteration_new_lava_fill_zst(p_address, p_node_parent); break; + case DF_Type::flow_reuse_pool: node_from_flow_reuse_pool(p_address, p_node_parent); break; + case DF_Type::flow_guide: node_from_flow_guide(p_address, p_node_parent); break; + case DF_Type::region_block_eventst: node_from_region_block_eventst(p_address, p_node_parent); break; + case DF_Type::region_block_event_sphere_fieldst: node_from_region_block_event_sphere_fieldst(p_address, p_node_parent); break; + case DF_Type::material_vec_ref: node_from_material_vec_ref(p_address, p_node_parent); break; + case DF_Type::script_stepst: node_from_script_stepst(p_address, p_node_parent); break; + case DF_Type::script_step_setvarst: node_from_script_step_setvarst(p_address, p_node_parent); break; + case DF_Type::script_step_simpleactionst: node_from_script_step_simpleactionst(p_address, p_node_parent); break; + case DF_Type::script_step_conditionalst__T_condition: node_from_script_step_conditionalst__T_condition(p_address, p_node_parent); break; + case DF_Type::script_step_conditionalst: node_from_script_step_conditionalst(p_address, p_node_parent); break; + case DF_Type::script_step_textviewerst: node_from_script_step_textviewerst(p_address, p_node_parent); break; + case DF_Type::script_step_diphistoryst: node_from_script_step_diphistoryst(p_address, p_node_parent); break; + case DF_Type::script_step_discussst: node_from_script_step_discussst(p_address, p_node_parent); break; + case DF_Type::script_step_topicdiscussionst: node_from_script_step_topicdiscussionst(p_address, p_node_parent); break; + case DF_Type::script_step_constructtopiclistst: node_from_script_step_constructtopiclistst(p_address, p_node_parent); break; + case DF_Type::script_step_eventst: node_from_script_step_eventst(p_address, p_node_parent); break; + case DF_Type::script_step_dipeventst: node_from_script_step_dipeventst(p_address, p_node_parent); break; + case DF_Type::script_step_invasionst: node_from_script_step_invasionst(p_address, p_node_parent); break; + case DF_Type::script_varst: node_from_script_varst(p_address, p_node_parent); break; + case DF_Type::script_var_unitst: node_from_script_var_unitst(p_address, p_node_parent); break; + case DF_Type::script_var_longst: node_from_script_var_longst(p_address, p_node_parent); break; + case DF_Type::active_script_varst: node_from_active_script_varst(p_address, p_node_parent); break; + case DF_Type::active_script_var_longst: node_from_active_script_var_longst(p_address, p_node_parent); break; + case DF_Type::activity_event_participants: node_from_activity_event_participants(p_address, p_node_parent); break; + case DF_Type::schedule_slot: node_from_schedule_slot(p_address, p_node_parent); break; + case DF_Type::squad_order: node_from_squad_order(p_address, p_node_parent); break; + case DF_Type::squad_order_kill_listst: node_from_squad_order_kill_listst(p_address, p_node_parent); break; + case DF_Type::squad_order_defend_burrowsst: node_from_squad_order_defend_burrowsst(p_address, p_node_parent); break; + case DF_Type::squad_order_patrol_routest: node_from_squad_order_patrol_routest(p_address, p_node_parent); break; + case DF_Type::squad_order_trainst: node_from_squad_order_trainst(p_address, p_node_parent); break; + case DF_Type::squad_order_drive_entity_off_sitest: node_from_squad_order_drive_entity_off_sitest(p_address, p_node_parent); break; + case DF_Type::squad_order_cause_trouble_for_entityst: node_from_squad_order_cause_trouble_for_entityst(p_address, p_node_parent); break; + case DF_Type::squad_order_kill_hfst: node_from_squad_order_kill_hfst(p_address, p_node_parent); break; + case DF_Type::squad_order_drive_armies_from_sitest: node_from_squad_order_drive_armies_from_sitest(p_address, p_node_parent); break; + case DF_Type::army_controller_sub1: node_from_army_controller_sub1(p_address, p_node_parent); break; + case DF_Type::army_controller_sub4: node_from_army_controller_sub4(p_address, p_node_parent); break; + case DF_Type::army_controller_sub5: node_from_army_controller_sub5(p_address, p_node_parent); break; + case DF_Type::army_controller_sub6: node_from_army_controller_sub6(p_address, p_node_parent); break; + case DF_Type::army_controller_sub16: node_from_army_controller_sub16(p_address, p_node_parent); break; + case DF_Type::army_controller_sub17: node_from_army_controller_sub17(p_address, p_node_parent); break; + case DF_Type::army_controller_sub18: node_from_army_controller_sub18(p_address, p_node_parent); break; + case DF_Type::plant_growth_print: node_from_plant_growth_print(p_address, p_node_parent); break; + case DF_Type::reaction_category: node_from_reaction_category(p_address, p_node_parent); break; + case DF_Type::reaction_product: node_from_reaction_product(p_address, p_node_parent); break; + case DF_Type::general_ref: node_from_general_ref(p_address, p_node_parent); break; + case DF_Type::general_ref_artifact: node_from_general_ref_artifact(p_address, p_node_parent); break; + case DF_Type::general_ref_nemesis: node_from_general_ref_nemesis(p_address, p_node_parent); break; + case DF_Type::general_ref_item: node_from_general_ref_item(p_address, p_node_parent); break; + case DF_Type::general_ref_coinbatch: node_from_general_ref_coinbatch(p_address, p_node_parent); break; + case DF_Type::general_ref_entity_art_image: node_from_general_ref_entity_art_image(p_address, p_node_parent); break; + case DF_Type::general_ref_projectile: node_from_general_ref_projectile(p_address, p_node_parent); break; + case DF_Type::general_ref_unit: node_from_general_ref_unit(p_address, p_node_parent); break; + case DF_Type::general_ref_building: node_from_general_ref_building(p_address, p_node_parent); break; + case DF_Type::general_ref_entity: node_from_general_ref_entity(p_address, p_node_parent); break; + case DF_Type::general_ref_locationst: node_from_general_ref_locationst(p_address, p_node_parent); break; + case DF_Type::general_ref_interactionst: node_from_general_ref_interactionst(p_address, p_node_parent); break; + case DF_Type::general_ref_abstract_buildingst: node_from_general_ref_abstract_buildingst(p_address, p_node_parent); break; + case DF_Type::general_ref_historical_eventst: node_from_general_ref_historical_eventst(p_address, p_node_parent); break; + case DF_Type::general_ref_sitest: node_from_general_ref_sitest(p_address, p_node_parent); break; + case DF_Type::general_ref_subregionst: node_from_general_ref_subregionst(p_address, p_node_parent); break; + case DF_Type::general_ref_feature_layerst: node_from_general_ref_feature_layerst(p_address, p_node_parent); break; + case DF_Type::general_ref_historical_figurest: node_from_general_ref_historical_figurest(p_address, p_node_parent); break; + case DF_Type::general_ref_entity_popst: node_from_general_ref_entity_popst(p_address, p_node_parent); break; + case DF_Type::general_ref_creaturest: node_from_general_ref_creaturest(p_address, p_node_parent); break; + case DF_Type::general_ref_activity_eventst: node_from_general_ref_activity_eventst(p_address, p_node_parent); break; + case DF_Type::general_ref_languagest: node_from_general_ref_languagest(p_address, p_node_parent); break; + case DF_Type::general_ref_written_contentst: node_from_general_ref_written_contentst(p_address, p_node_parent); break; + case DF_Type::general_ref_poetic_formst: node_from_general_ref_poetic_formst(p_address, p_node_parent); break; + case DF_Type::general_ref_musical_formst: node_from_general_ref_musical_formst(p_address, p_node_parent); break; + case DF_Type::general_ref_dance_formst: node_from_general_ref_dance_formst(p_address, p_node_parent); break; + case DF_Type::general_ref_is_artifactst: node_from_general_ref_is_artifactst(p_address, p_node_parent); break; + case DF_Type::general_ref_is_nemesisst: node_from_general_ref_is_nemesisst(p_address, p_node_parent); break; + case DF_Type::general_ref_contains_unitst: node_from_general_ref_contains_unitst(p_address, p_node_parent); break; + case DF_Type::general_ref_contains_itemst: node_from_general_ref_contains_itemst(p_address, p_node_parent); break; + case DF_Type::general_ref_contained_in_itemst: node_from_general_ref_contained_in_itemst(p_address, p_node_parent); break; + case DF_Type::general_ref_unit_milkeest: node_from_general_ref_unit_milkeest(p_address, p_node_parent); break; + case DF_Type::general_ref_unit_traineest: node_from_general_ref_unit_traineest(p_address, p_node_parent); break; + case DF_Type::general_ref_unit_itemownerst: node_from_general_ref_unit_itemownerst(p_address, p_node_parent); break; + case DF_Type::general_ref_unit_tradebringerst: node_from_general_ref_unit_tradebringerst(p_address, p_node_parent); break; + case DF_Type::general_ref_unit_holderst: node_from_general_ref_unit_holderst(p_address, p_node_parent); break; + case DF_Type::general_ref_unit_workerst: node_from_general_ref_unit_workerst(p_address, p_node_parent); break; + case DF_Type::general_ref_unit_cageest: node_from_general_ref_unit_cageest(p_address, p_node_parent); break; + case DF_Type::general_ref_unit_beateest: node_from_general_ref_unit_beateest(p_address, p_node_parent); break; + case DF_Type::general_ref_unit_foodreceiverst: node_from_general_ref_unit_foodreceiverst(p_address, p_node_parent); break; + case DF_Type::general_ref_unit_kidnapeest: node_from_general_ref_unit_kidnapeest(p_address, p_node_parent); break; + case DF_Type::general_ref_unit_patientst: node_from_general_ref_unit_patientst(p_address, p_node_parent); break; + case DF_Type::general_ref_unit_infantst: node_from_general_ref_unit_infantst(p_address, p_node_parent); break; + case DF_Type::general_ref_unit_slaughtereest: node_from_general_ref_unit_slaughtereest(p_address, p_node_parent); break; + case DF_Type::general_ref_unit_sheareest: node_from_general_ref_unit_sheareest(p_address, p_node_parent); break; + case DF_Type::general_ref_unit_suckeest: node_from_general_ref_unit_suckeest(p_address, p_node_parent); break; + case DF_Type::general_ref_unit_reporteest: node_from_general_ref_unit_reporteest(p_address, p_node_parent); break; + case DF_Type::general_ref_unit_riderst: node_from_general_ref_unit_riderst(p_address, p_node_parent); break; + case DF_Type::general_ref_unit_climberst: node_from_general_ref_unit_climberst(p_address, p_node_parent); break; + case DF_Type::general_ref_unit_geldeest: node_from_general_ref_unit_geldeest(p_address, p_node_parent); break; + case DF_Type::general_ref_building_civzone_assignedst: node_from_general_ref_building_civzone_assignedst(p_address, p_node_parent); break; + case DF_Type::general_ref_building_triggerst: node_from_general_ref_building_triggerst(p_address, p_node_parent); break; + case DF_Type::general_ref_building_triggertargetst: node_from_general_ref_building_triggertargetst(p_address, p_node_parent); break; + case DF_Type::general_ref_building_chainst: node_from_general_ref_building_chainst(p_address, p_node_parent); break; + case DF_Type::general_ref_building_cagedst: node_from_general_ref_building_cagedst(p_address, p_node_parent); break; + case DF_Type::general_ref_building_holderst: node_from_general_ref_building_holderst(p_address, p_node_parent); break; + case DF_Type::general_ref_building_well_tag: node_from_general_ref_building_well_tag(p_address, p_node_parent); break; + case DF_Type::general_ref_building_use_target_1st: node_from_general_ref_building_use_target_1st(p_address, p_node_parent); break; + case DF_Type::general_ref_building_use_target_2st: node_from_general_ref_building_use_target_2st(p_address, p_node_parent); break; + case DF_Type::general_ref_building_destinationst: node_from_general_ref_building_destinationst(p_address, p_node_parent); break; + case DF_Type::general_ref_building_nest_boxst: node_from_general_ref_building_nest_boxst(p_address, p_node_parent); break; + case DF_Type::general_ref_building_display_furniturest: node_from_general_ref_building_display_furniturest(p_address, p_node_parent); break; + case DF_Type::general_ref_entity_stolenst: node_from_general_ref_entity_stolenst(p_address, p_node_parent); break; + case DF_Type::general_ref_entity_offeredst: node_from_general_ref_entity_offeredst(p_address, p_node_parent); break; + case DF_Type::general_ref_entity_itemownerst: node_from_general_ref_entity_itemownerst(p_address, p_node_parent); break; + case DF_Type::histfig_entity_link: node_from_histfig_entity_link(p_address, p_node_parent); break; + case DF_Type::histfig_entity_link_memberst: node_from_histfig_entity_link_memberst(p_address, p_node_parent); break; + case DF_Type::histfig_entity_link_former_memberst: node_from_histfig_entity_link_former_memberst(p_address, p_node_parent); break; + case DF_Type::histfig_entity_link_mercenaryst: node_from_histfig_entity_link_mercenaryst(p_address, p_node_parent); break; + case DF_Type::histfig_entity_link_former_mercenaryst: node_from_histfig_entity_link_former_mercenaryst(p_address, p_node_parent); break; + case DF_Type::histfig_entity_link_slavest: node_from_histfig_entity_link_slavest(p_address, p_node_parent); break; + case DF_Type::histfig_entity_link_former_slavest: node_from_histfig_entity_link_former_slavest(p_address, p_node_parent); break; + case DF_Type::histfig_entity_link_prisonerst: node_from_histfig_entity_link_prisonerst(p_address, p_node_parent); break; + case DF_Type::histfig_entity_link_former_prisonerst: node_from_histfig_entity_link_former_prisonerst(p_address, p_node_parent); break; + case DF_Type::histfig_entity_link_enemyst: node_from_histfig_entity_link_enemyst(p_address, p_node_parent); break; + case DF_Type::histfig_entity_link_criminalst: node_from_histfig_entity_link_criminalst(p_address, p_node_parent); break; + case DF_Type::histfig_entity_link_positionst: node_from_histfig_entity_link_positionst(p_address, p_node_parent); break; + case DF_Type::histfig_entity_link_former_positionst: node_from_histfig_entity_link_former_positionst(p_address, p_node_parent); break; + case DF_Type::histfig_entity_link_position_claimst: node_from_histfig_entity_link_position_claimst(p_address, p_node_parent); break; + case DF_Type::histfig_entity_link_squadst: node_from_histfig_entity_link_squadst(p_address, p_node_parent); break; + case DF_Type::histfig_entity_link_former_squadst: node_from_histfig_entity_link_former_squadst(p_address, p_node_parent); break; + case DF_Type::histfig_entity_link_occupationst: node_from_histfig_entity_link_occupationst(p_address, p_node_parent); break; + case DF_Type::histfig_entity_link_former_occupationst: node_from_histfig_entity_link_former_occupationst(p_address, p_node_parent); break; + case DF_Type::histfig_site_link: node_from_histfig_site_link(p_address, p_node_parent); break; + case DF_Type::histfig_site_link_seat_of_powerst: node_from_histfig_site_link_seat_of_powerst(p_address, p_node_parent); break; + case DF_Type::histfig_site_link_hangoutst: node_from_histfig_site_link_hangoutst(p_address, p_node_parent); break; + case DF_Type::histfig_site_link_home_site_abstract_buildingst: node_from_histfig_site_link_home_site_abstract_buildingst(p_address, p_node_parent); break; + case DF_Type::histfig_site_link_home_site_realization_buildingst: node_from_histfig_site_link_home_site_realization_buildingst(p_address, p_node_parent); break; + case DF_Type::histfig_site_link_lairst: node_from_histfig_site_link_lairst(p_address, p_node_parent); break; + case DF_Type::histfig_site_link_home_site_realization_sulst: node_from_histfig_site_link_home_site_realization_sulst(p_address, p_node_parent); break; + case DF_Type::histfig_site_link_home_site_saved_civzonest: node_from_histfig_site_link_home_site_saved_civzonest(p_address, p_node_parent); break; + case DF_Type::histfig_site_link_occupationst: node_from_histfig_site_link_occupationst(p_address, p_node_parent); break; + case DF_Type::histfig_hf_link: node_from_histfig_hf_link(p_address, p_node_parent); break; + case DF_Type::histfig_hf_link_motherst: node_from_histfig_hf_link_motherst(p_address, p_node_parent); break; + case DF_Type::histfig_hf_link_fatherst: node_from_histfig_hf_link_fatherst(p_address, p_node_parent); break; + case DF_Type::histfig_hf_link_spousest: node_from_histfig_hf_link_spousest(p_address, p_node_parent); break; + case DF_Type::histfig_hf_link_childst: node_from_histfig_hf_link_childst(p_address, p_node_parent); break; + case DF_Type::histfig_hf_link_deityst: node_from_histfig_hf_link_deityst(p_address, p_node_parent); break; + case DF_Type::histfig_hf_link_loverst: node_from_histfig_hf_link_loverst(p_address, p_node_parent); break; + case DF_Type::histfig_hf_link_prisonerst: node_from_histfig_hf_link_prisonerst(p_address, p_node_parent); break; + case DF_Type::histfig_hf_link_imprisonerst: node_from_histfig_hf_link_imprisonerst(p_address, p_node_parent); break; + case DF_Type::histfig_hf_link_masterst: node_from_histfig_hf_link_masterst(p_address, p_node_parent); break; + case DF_Type::histfig_hf_link_apprenticest: node_from_histfig_hf_link_apprenticest(p_address, p_node_parent); break; + case DF_Type::histfig_hf_link_companionst: node_from_histfig_hf_link_companionst(p_address, p_node_parent); break; + case DF_Type::histfig_hf_link_former_apprenticest: node_from_histfig_hf_link_former_apprenticest(p_address, p_node_parent); break; + case DF_Type::histfig_hf_link_former_masterst: node_from_histfig_hf_link_former_masterst(p_address, p_node_parent); break; + case DF_Type::histfig_hf_link_pet_ownerst: node_from_histfig_hf_link_pet_ownerst(p_address, p_node_parent); break; + case DF_Type::resource_allotment_specifier: node_from_resource_allotment_specifier(p_address, p_node_parent); break; + case DF_Type::resource_allotment_specifier_cropst: node_from_resource_allotment_specifier_cropst(p_address, p_node_parent); break; + case DF_Type::resource_allotment_specifier_stonest: node_from_resource_allotment_specifier_stonest(p_address, p_node_parent); break; + case DF_Type::resource_allotment_specifier_metalst: node_from_resource_allotment_specifier_metalst(p_address, p_node_parent); break; + case DF_Type::resource_allotment_specifier_woodst: node_from_resource_allotment_specifier_woodst(p_address, p_node_parent); break; + case DF_Type::resource_allotment_specifier_armor_bodyst: node_from_resource_allotment_specifier_armor_bodyst(p_address, p_node_parent); break; + case DF_Type::resource_allotment_specifier_armor_pantsst: node_from_resource_allotment_specifier_armor_pantsst(p_address, p_node_parent); break; + case DF_Type::resource_allotment_specifier_armor_glovesst: node_from_resource_allotment_specifier_armor_glovesst(p_address, p_node_parent); break; + case DF_Type::resource_allotment_specifier_armor_bootsst: node_from_resource_allotment_specifier_armor_bootsst(p_address, p_node_parent); break; + case DF_Type::resource_allotment_specifier_armor_helmst: node_from_resource_allotment_specifier_armor_helmst(p_address, p_node_parent); break; + case DF_Type::resource_allotment_specifier_clothing_bodyst: node_from_resource_allotment_specifier_clothing_bodyst(p_address, p_node_parent); break; + case DF_Type::resource_allotment_specifier_clothing_pantsst: node_from_resource_allotment_specifier_clothing_pantsst(p_address, p_node_parent); break; + case DF_Type::resource_allotment_specifier_clothing_glovesst: node_from_resource_allotment_specifier_clothing_glovesst(p_address, p_node_parent); break; + case DF_Type::resource_allotment_specifier_clothing_bootsst: node_from_resource_allotment_specifier_clothing_bootsst(p_address, p_node_parent); break; + case DF_Type::resource_allotment_specifier_clothing_helmst: node_from_resource_allotment_specifier_clothing_helmst(p_address, p_node_parent); break; + case DF_Type::resource_allotment_specifier_weapon_meleest: node_from_resource_allotment_specifier_weapon_meleest(p_address, p_node_parent); break; + case DF_Type::resource_allotment_specifier_weapon_rangedst: node_from_resource_allotment_specifier_weapon_rangedst(p_address, p_node_parent); break; + case DF_Type::resource_allotment_specifier_ammost: node_from_resource_allotment_specifier_ammost(p_address, p_node_parent); break; + case DF_Type::resource_allotment_specifier_anvilst: node_from_resource_allotment_specifier_anvilst(p_address, p_node_parent); break; + case DF_Type::resource_allotment_specifier_gemsst: node_from_resource_allotment_specifier_gemsst(p_address, p_node_parent); break; + case DF_Type::resource_allotment_specifier_threadst: node_from_resource_allotment_specifier_threadst(p_address, p_node_parent); break; + case DF_Type::resource_allotment_specifier_clothst: node_from_resource_allotment_specifier_clothst(p_address, p_node_parent); break; + case DF_Type::resource_allotment_specifier_leatherst: node_from_resource_allotment_specifier_leatherst(p_address, p_node_parent); break; + case DF_Type::resource_allotment_specifier_quiverst: node_from_resource_allotment_specifier_quiverst(p_address, p_node_parent); break; + case DF_Type::resource_allotment_specifier_backpackst: node_from_resource_allotment_specifier_backpackst(p_address, p_node_parent); break; + case DF_Type::resource_allotment_specifier_flaskst: node_from_resource_allotment_specifier_flaskst(p_address, p_node_parent); break; + case DF_Type::resource_allotment_specifier_bagst: node_from_resource_allotment_specifier_bagst(p_address, p_node_parent); break; + case DF_Type::resource_allotment_specifier_tablest: node_from_resource_allotment_specifier_tablest(p_address, p_node_parent); break; + case DF_Type::resource_allotment_specifier_cabinetst: node_from_resource_allotment_specifier_cabinetst(p_address, p_node_parent); break; + case DF_Type::resource_allotment_specifier_chairst: node_from_resource_allotment_specifier_chairst(p_address, p_node_parent); break; + case DF_Type::resource_allotment_specifier_boxst: node_from_resource_allotment_specifier_boxst(p_address, p_node_parent); break; + case DF_Type::resource_allotment_specifier_bedst: node_from_resource_allotment_specifier_bedst(p_address, p_node_parent); break; + case DF_Type::resource_allotment_specifier_craftsst: node_from_resource_allotment_specifier_craftsst(p_address, p_node_parent); break; + case DF_Type::resource_allotment_specifier_meatst: node_from_resource_allotment_specifier_meatst(p_address, p_node_parent); break; + case DF_Type::resource_allotment_specifier_bonest: node_from_resource_allotment_specifier_bonest(p_address, p_node_parent); break; + case DF_Type::resource_allotment_specifier_hornst: node_from_resource_allotment_specifier_hornst(p_address, p_node_parent); break; + case DF_Type::resource_allotment_specifier_shellst: node_from_resource_allotment_specifier_shellst(p_address, p_node_parent); break; + case DF_Type::resource_allotment_specifier_tallowst: node_from_resource_allotment_specifier_tallowst(p_address, p_node_parent); break; + case DF_Type::resource_allotment_specifier_toothst: node_from_resource_allotment_specifier_toothst(p_address, p_node_parent); break; + case DF_Type::resource_allotment_specifier_pearlst: node_from_resource_allotment_specifier_pearlst(p_address, p_node_parent); break; + case DF_Type::resource_allotment_specifier_soapst: node_from_resource_allotment_specifier_soapst(p_address, p_node_parent); break; + case DF_Type::resource_allotment_specifier_extractst: node_from_resource_allotment_specifier_extractst(p_address, p_node_parent); break; + case DF_Type::resource_allotment_specifier_cheesest: node_from_resource_allotment_specifier_cheesest(p_address, p_node_parent); break; + case DF_Type::resource_allotment_specifier_skinst: node_from_resource_allotment_specifier_skinst(p_address, p_node_parent); break; + case DF_Type::resource_allotment_specifier_powderst: node_from_resource_allotment_specifier_powderst(p_address, p_node_parent); break; + case DF_Type::route_stockpile_link: node_from_route_stockpile_link(p_address, p_node_parent); break; + case DF_Type::build_req_choicest: node_from_build_req_choicest(p_address, p_node_parent); break; + case DF_Type::burrow: node_from_burrow(p_address, p_node_parent); break; + case DF_Type::ui_hotkey___union4: node_from_ui_hotkey___union4(p_address, p_node_parent); break; + case DF_Type::ui_hotkey: node_from_ui_hotkey(p_address, p_node_parent); break; + case DF_Type::map_viewport: node_from_map_viewport(p_address, p_node_parent); break; + case DF_Type::unit_genes: node_from_unit_genes(p_address, p_node_parent); break; + case DF_Type::unit_attribute: node_from_unit_attribute(p_address, p_node_parent); break; + case DF_Type::curse_attr_change: node_from_curse_attr_change(p_address, p_node_parent); break; + case DF_Type::unit_item_wrestle: node_from_unit_item_wrestle(p_address, p_node_parent); break; + case DF_Type::unit_item_use: node_from_unit_item_use(p_address, p_node_parent); break; + case DF_Type::unit_unk_138: node_from_unit_unk_138(p_address, p_node_parent); break; + case DF_Type::unit_coin_debt: node_from_unit_coin_debt(p_address, p_node_parent); break; + case DF_Type::file_compressorst: node_from_file_compressorst(p_address, p_node_parent); break; + case DF_Type::layer_object: node_from_layer_object(p_address, p_node_parent); break; + case DF_Type::layer_object_buttonst: node_from_layer_object_buttonst(p_address, p_node_parent); break; + case DF_Type::widget_menu: node_from_widget_menu(p_address, p_node_parent); break; + case DF_Type::widget_textbox: node_from_widget_textbox(p_address, p_node_parent); break; + case DF_Type::adventure_log_item: node_from_adventure_log_item(p_address, p_node_parent); break; + case DF_Type::world_gen_param_basest: node_from_world_gen_param_basest(p_address, p_node_parent); break; + case DF_Type::world_gen_param_seedst: node_from_world_gen_param_seedst(p_address, p_node_parent); break; + case DF_Type::world_gen_param_valuest: node_from_world_gen_param_valuest(p_address, p_node_parent); break; + case DF_Type::world_gen_param_charst: node_from_world_gen_param_charst(p_address, p_node_parent); break; + case DF_Type::world_gen_param_memberst: node_from_world_gen_param_memberst(p_address, p_node_parent); break; + case DF_Type::matgloss_list: node_from_matgloss_list(p_address, p_node_parent); break; + case DF_Type::world_population_ref: node_from_world_population_ref(p_address, p_node_parent); break; + case DF_Type::scribejob: node_from_scribejob(p_address, p_node_parent); break; + case DF_Type::site_reputation_report: node_from_site_reputation_report(p_address, p_node_parent); break; + case DF_Type::abstract_building_contents: node_from_abstract_building_contents(p_address, p_node_parent); break; + case DF_Type::world_site_inhabitant: node_from_world_site_inhabitant(p_address, p_node_parent); break; + case DF_Type::site_realization_building_infost: node_from_site_realization_building_infost(p_address, p_node_parent); break; + case DF_Type::site_realization_building_info_castle_courtyardst: node_from_site_realization_building_info_castle_courtyardst(p_address, p_node_parent); break; + case DF_Type::creation_zone_pwg_alterationst: node_from_creation_zone_pwg_alterationst(p_address, p_node_parent); break; + case DF_Type::creation_zone_pwg_alteration_campst: node_from_creation_zone_pwg_alteration_campst(p_address, p_node_parent); break; + case DF_Type::creation_zone_pwg_alteration_srb_ruinedst: node_from_creation_zone_pwg_alteration_srb_ruinedst(p_address, p_node_parent); break; + case DF_Type::creation_zone_pwg_alteration_srp_ruinedst: node_from_creation_zone_pwg_alteration_srp_ruinedst(p_address, p_node_parent); break; + case DF_Type::incident_hfid: node_from_incident_hfid(p_address, p_node_parent); break; + case DF_Type::mission_campaign_report: node_from_mission_campaign_report(p_address, p_node_parent); break; + case DF_Type::coord_rect: node_from_coord_rect(p_address, p_node_parent); break; + case DF_Type::world_unk_a8: node_from_world_unk_a8(p_address, p_node_parent); break; + case DF_Type::world_unk_b4: node_from_world_unk_b4(p_address, p_node_parent); break; + case DF_Type::ocean_wave: node_from_ocean_wave(p_address, p_node_parent); break; + case DF_Type::coin_batch__T_image_front: node_from_coin_batch__T_image_front(p_address, p_node_parent); break; + case DF_Type::coin_batch__T_image_back: node_from_coin_batch__T_image_back(p_address, p_node_parent); break; + case DF_Type::coin_batch: node_from_coin_batch(p_address, p_node_parent); break; + case DF_Type::conversation__T_speech: node_from_conversation__T_speech(p_address, p_node_parent); break; + case DF_Type::conversation: node_from_conversation(p_address, p_node_parent); break; + case DF_Type::talk_choice__T_unk: node_from_talk_choice__T_unk(p_address, p_node_parent); break; + case DF_Type::talk_choice: node_from_talk_choice(p_address, p_node_parent); break; + case DF_Type::adventure_option_eat_item_contaminantst: node_from_adventure_option_eat_item_contaminantst(p_address, p_node_parent); break; + case DF_Type::adventure_environment_optionst: node_from_adventure_environment_optionst(p_address, p_node_parent); break; + case DF_Type::adventure_environment_place_in_it_containerst: node_from_adventure_environment_place_in_it_containerst(p_address, p_node_parent); break; + case DF_Type::adventure_environment_ingest_from_containerst: node_from_adventure_environment_ingest_from_containerst(p_address, p_node_parent); break; + case DF_Type::adventure_environment_pickup_ignite_vegst: node_from_adventure_environment_pickup_ignite_vegst(p_address, p_node_parent); break; + case DF_Type::adventure_environment_ingest_materialst: node_from_adventure_environment_ingest_materialst(p_address, p_node_parent); break; + case DF_Type::adventure_environment_pickup_make_campfirest: node_from_adventure_environment_pickup_make_campfirest(p_address, p_node_parent); break; + case DF_Type::adventure_environment_place_in_bld_containerst: node_from_adventure_environment_place_in_bld_containerst(p_address, p_node_parent); break; + case DF_Type::adventure_environment_pickup_vermin_eventst: node_from_adventure_environment_pickup_vermin_eventst(p_address, p_node_parent); break; + case DF_Type::adventure_environment_pickup_chop_treest: node_from_adventure_environment_pickup_chop_treest(p_address, p_node_parent); break; + case DF_Type::adventure_environment_unit_suck_bloodst: node_from_adventure_environment_unit_suck_bloodst(p_address, p_node_parent); break; + case DF_Type::adventure_movement_optionst: node_from_adventure_movement_optionst(p_address, p_node_parent); break; + case DF_Type::adventure_movement_release_hold_itemst: node_from_adventure_movement_release_hold_itemst(p_address, p_node_parent); break; + case DF_Type::adventure_movement_release_hold_tilest: node_from_adventure_movement_release_hold_tilest(p_address, p_node_parent); break; + case DF_Type::adventure_movement_attack_creaturest: node_from_adventure_movement_attack_creaturest(p_address, p_node_parent); break; + case DF_Type::adventure_movement_hold_tilest: node_from_adventure_movement_hold_tilest(p_address, p_node_parent); break; + case DF_Type::adventure_movement_movest: node_from_adventure_movement_movest(p_address, p_node_parent); break; + case DF_Type::adventure_movement_climbst: node_from_adventure_movement_climbst(p_address, p_node_parent); break; + case DF_Type::adventure_movement_hold_itemst: node_from_adventure_movement_hold_itemst(p_address, p_node_parent); break; + case DF_Type::adventure_movement_building_interactst: node_from_adventure_movement_building_interactst(p_address, p_node_parent); break; + case DF_Type::adventure_movement_item_interactst: node_from_adventure_movement_item_interactst(p_address, p_node_parent); break; + case DF_Type::adventure_movement_item_interact_guidest: node_from_adventure_movement_item_interact_guidest(p_address, p_node_parent); break; + case DF_Type::adventure_movement_item_interact_ridest: node_from_adventure_movement_item_interact_ridest(p_address, p_node_parent); break; + case DF_Type::adventure_movement_item_interact_pushst: node_from_adventure_movement_item_interact_pushst(p_address, p_node_parent); break; + case DF_Type::adventure_item_interact_heat_from_tilest: node_from_adventure_item_interact_heat_from_tilest(p_address, p_node_parent); break; + case DF_Type::adventure_item_interact_fill_from_containerst: node_from_adventure_item_interact_fill_from_containerst(p_address, p_node_parent); break; + case DF_Type::adventure_item_interact_fill_with_materialst: node_from_adventure_item_interact_fill_with_materialst(p_address, p_node_parent); break; + case DF_Type::adventure_item_interact_give_namest: node_from_adventure_item_interact_give_namest(p_address, p_node_parent); break; + case DF_Type::announcements: node_from_announcements(p_address, p_node_parent); break; + case DF_Type::report: node_from_report(p_address, p_node_parent); break; + case DF_Type::art_image_element_itemst: node_from_art_image_element_itemst(p_address, p_node_parent); break; + case DF_Type::art_image_property_transitive_verbst: node_from_art_image_property_transitive_verbst(p_address, p_node_parent); break; + case DF_Type::art_image_property_intransitive_verbst: node_from_art_image_property_intransitive_verbst(p_address, p_node_parent); break; + case DF_Type::art_image_chunk: node_from_art_image_chunk(p_address, p_node_parent); break; + case DF_Type::poetic_form_part__T_line_subject_targets: node_from_poetic_form_part__T_line_subject_targets(p_address, p_node_parent); break; + case DF_Type::poetic_form_part: node_from_poetic_form_part(p_address, p_node_parent); break; + case DF_Type::musical_form_vocals: node_from_musical_form_vocals(p_address, p_node_parent); break; + case DF_Type::musical_form_instruments: node_from_musical_form_instruments(p_address, p_node_parent); break; + case DF_Type::musical_form_melodies: node_from_musical_form_melodies(p_address, p_node_parent); break; + case DF_Type::scale__T_unk1: node_from_scale__T_unk1(p_address, p_node_parent); break; + case DF_Type::scale: node_from_scale(p_address, p_node_parent); break; + case DF_Type::rhythm: node_from_rhythm(p_address, p_node_parent); break; + case DF_Type::rhythm_sub1__T_anon_1: node_from_rhythm_sub1__T_anon_1(p_address, p_node_parent); break; + case DF_Type::rhythm_sub1: node_from_rhythm_sub1(p_address, p_node_parent); break; + case DF_Type::occupation: node_from_occupation(p_address, p_node_parent); break; + case DF_Type::building_def: node_from_building_def(p_address, p_node_parent); break; + case DF_Type::building_def_item: node_from_building_def_item(p_address, p_node_parent); break; + case DF_Type::building_def_workshopst: node_from_building_def_workshopst(p_address, p_node_parent); break; + case DF_Type::building_def_furnacest: node_from_building_def_furnacest(p_address, p_node_parent); break; + case DF_Type::building__T_job_claim_suppress: node_from_building__T_job_claim_suppress(p_address, p_node_parent); break; + case DF_Type::building__T_activities: node_from_building__T_activities(p_address, p_node_parent); break; + case DF_Type::building: node_from_building(p_address, p_node_parent); break; + case DF_Type::stockpile_links: node_from_stockpile_links(p_address, p_node_parent); break; + case DF_Type::building_civzonest: node_from_building_civzonest(p_address, p_node_parent); break; + case DF_Type::building_actual__T_contained_items: node_from_building_actual__T_contained_items(p_address, p_node_parent); break; + case DF_Type::building_actual: node_from_building_actual(p_address, p_node_parent); break; + case DF_Type::building_design: node_from_building_design(p_address, p_node_parent); break; + case DF_Type::workshop_profile: node_from_workshop_profile(p_address, p_node_parent); break; + case DF_Type::building_furnacest: node_from_building_furnacest(p_address, p_node_parent); break; + case DF_Type::building_workshopst: node_from_building_workshopst(p_address, p_node_parent); break; + case DF_Type::building_animaltrapst: node_from_building_animaltrapst(p_address, p_node_parent); break; + case DF_Type::building_archerytargetst: node_from_building_archerytargetst(p_address, p_node_parent); break; + case DF_Type::building_armorstandst: node_from_building_armorstandst(p_address, p_node_parent); break; + case DF_Type::building_bars_verticalst: node_from_building_bars_verticalst(p_address, p_node_parent); break; + case DF_Type::building_bars_floorst: node_from_building_bars_floorst(p_address, p_node_parent); break; + case DF_Type::building_bedst: node_from_building_bedst(p_address, p_node_parent); break; + case DF_Type::building_bookcasest: node_from_building_bookcasest(p_address, p_node_parent); break; + case DF_Type::building_boxst: node_from_building_boxst(p_address, p_node_parent); break; + case DF_Type::building_bridgest: node_from_building_bridgest(p_address, p_node_parent); break; + case DF_Type::building_cabinetst: node_from_building_cabinetst(p_address, p_node_parent); break; + case DF_Type::building_cagest: node_from_building_cagest(p_address, p_node_parent); break; + case DF_Type::building_chainst: node_from_building_chainst(p_address, p_node_parent); break; + case DF_Type::building_chairst: node_from_building_chairst(p_address, p_node_parent); break; + case DF_Type::building_coffinst: node_from_building_coffinst(p_address, p_node_parent); break; + case DF_Type::building_constructionst: node_from_building_constructionst(p_address, p_node_parent); break; + case DF_Type::building_display_furniturest: node_from_building_display_furniturest(p_address, p_node_parent); break; + case DF_Type::building_doorst: node_from_building_doorst(p_address, p_node_parent); break; + case DF_Type::building_farmplotst: node_from_building_farmplotst(p_address, p_node_parent); break; + case DF_Type::building_floodgatest: node_from_building_floodgatest(p_address, p_node_parent); break; + case DF_Type::building_grate_floorst: node_from_building_grate_floorst(p_address, p_node_parent); break; + case DF_Type::building_grate_wallst: node_from_building_grate_wallst(p_address, p_node_parent); break; + case DF_Type::building_hatchst: node_from_building_hatchst(p_address, p_node_parent); break; + case DF_Type::building_hivest: node_from_building_hivest(p_address, p_node_parent); break; + case DF_Type::building_instrumentst: node_from_building_instrumentst(p_address, p_node_parent); break; + case DF_Type::building_nestst: node_from_building_nestst(p_address, p_node_parent); break; + case DF_Type::building_nest_boxst: node_from_building_nest_boxst(p_address, p_node_parent); break; + case DF_Type::building_roadst: node_from_building_roadst(p_address, p_node_parent); break; + case DF_Type::building_road_dirtst: node_from_building_road_dirtst(p_address, p_node_parent); break; + case DF_Type::building_road_pavedst: node_from_building_road_pavedst(p_address, p_node_parent); break; + case DF_Type::building_shopst: node_from_building_shopst(p_address, p_node_parent); break; + case DF_Type::building_siegeenginest: node_from_building_siegeenginest(p_address, p_node_parent); break; + case DF_Type::building_slabst: node_from_building_slabst(p_address, p_node_parent); break; + case DF_Type::building_statuest: node_from_building_statuest(p_address, p_node_parent); break; + case DF_Type::building_supportst: node_from_building_supportst(p_address, p_node_parent); break; + case DF_Type::building_tablest: node_from_building_tablest(p_address, p_node_parent); break; + case DF_Type::building_traction_benchst: node_from_building_traction_benchst(p_address, p_node_parent); break; + case DF_Type::building_tradedepotst: node_from_building_tradedepotst(p_address, p_node_parent); break; + case DF_Type::building_trapst: node_from_building_trapst(p_address, p_node_parent); break; + case DF_Type::building_wagonst: node_from_building_wagonst(p_address, p_node_parent); break; + case DF_Type::building_weaponst: node_from_building_weaponst(p_address, p_node_parent); break; + case DF_Type::building_squad_use: node_from_building_squad_use(p_address, p_node_parent); break; + case DF_Type::building_weaponrackst: node_from_building_weaponrackst(p_address, p_node_parent); break; + case DF_Type::building_wellst: node_from_building_wellst(p_address, p_node_parent); break; + case DF_Type::building_windowst: node_from_building_windowst(p_address, p_node_parent); break; + case DF_Type::building_window_glassst: node_from_building_window_glassst(p_address, p_node_parent); break; + case DF_Type::building_window_gemst: node_from_building_window_gemst(p_address, p_node_parent); break; + case DF_Type::body_part_raw: node_from_body_part_raw(p_address, p_node_parent); break; + case DF_Type::body_appearance_modifier: node_from_body_appearance_modifier(p_address, p_node_parent); break; + case DF_Type::bp_appearance_modifier: node_from_bp_appearance_modifier(p_address, p_node_parent); break; + case DF_Type::caste_clothing_item: node_from_caste_clothing_item(p_address, p_node_parent); break; + case DF_Type::caste_attack: node_from_caste_attack(p_address, p_node_parent); break; + case DF_Type::creature_interaction: node_from_creature_interaction(p_address, p_node_parent); break; + case DF_Type::caste_body_info__T_interactions: node_from_caste_body_info__T_interactions(p_address, p_node_parent); break; + case DF_Type::caste_body_info__T_extra_butcher_objects: node_from_caste_body_info__T_extra_butcher_objects(p_address, p_node_parent); break; + case DF_Type::caste_body_info: node_from_caste_body_info(p_address, p_node_parent); break; + case DF_Type::caste_raw__T_misc: node_from_caste_raw__T_misc(p_address, p_node_parent); break; + case DF_Type::caste_raw__T_personality: node_from_caste_raw__T_personality(p_address, p_node_parent); break; + case DF_Type::caste_raw__T_attributes: node_from_caste_raw__T_attributes(p_address, p_node_parent); break; + case DF_Type::caste_raw__T_bp_appearance: node_from_caste_raw__T_bp_appearance(p_address, p_node_parent); break; + case DF_Type::caste_raw__T_shearable_tissue_layer: node_from_caste_raw__T_shearable_tissue_layer(p_address, p_node_parent); break; + case DF_Type::caste_raw__T_caste_profession_name: node_from_caste_raw__T_caste_profession_name(p_address, p_node_parent); break; + case DF_Type::caste_raw__T_extracts: node_from_caste_raw__T_extracts(p_address, p_node_parent); break; + case DF_Type::caste_raw__T_secretion: node_from_caste_raw__T_secretion(p_address, p_node_parent); break; + case DF_Type::caste_raw__T_unknown2: node_from_caste_raw__T_unknown2(p_address, p_node_parent); break; + case DF_Type::caste_raw: node_from_caste_raw(p_address, p_node_parent); break; + case DF_Type::tissue_style_raw: node_from_tissue_style_raw(p_address, p_node_parent); break; + case DF_Type::creature_raw__T_graphics: node_from_creature_raw__T_graphics(p_address, p_node_parent); break; + case DF_Type::creature_raw__T_profession_name: node_from_creature_raw__T_profession_name(p_address, p_node_parent); break; + case DF_Type::creature_raw__T_hive_product: node_from_creature_raw__T_hive_product(p_address, p_node_parent); break; + case DF_Type::creature_raw: node_from_creature_raw(p_address, p_node_parent); break; + case DF_Type::creature_variation: node_from_creature_variation(p_address, p_node_parent); break; + case DF_Type::body_part_template: node_from_body_part_template(p_address, p_node_parent); break; + case DF_Type::body_template: node_from_body_template(p_address, p_node_parent); break; + case DF_Type::tissue_template: node_from_tissue_template(p_address, p_node_parent); break; + case DF_Type::tissue: node_from_tissue(p_address, p_node_parent); break; + case DF_Type::d_init__T_wound_color: node_from_d_init__T_wound_color(p_address, p_node_parent); break; + case DF_Type::d_init__T_store_dist: node_from_d_init__T_store_dist(p_address, p_node_parent); break; + case DF_Type::d_init: node_from_d_init(p_address, p_node_parent); break; + case DF_Type::descriptor_pattern: node_from_descriptor_pattern(p_address, p_node_parent); break; + case DF_Type::entity_occasion_info: node_from_entity_occasion_info(p_address, p_node_parent); break; + case DF_Type::entity_occasion_schedule: node_from_entity_occasion_schedule(p_address, p_node_parent); break; + case DF_Type::entity_occasion_schedule_feature: node_from_entity_occasion_schedule_feature(p_address, p_node_parent); break; + case DF_Type::caravan_state: node_from_caravan_state(p_address, p_node_parent); break; + case DF_Type::entity_buy_prices: node_from_entity_buy_prices(p_address, p_node_parent); break; + case DF_Type::entity_buy_requests: node_from_entity_buy_requests(p_address, p_node_parent); break; + case DF_Type::entity_sell_prices: node_from_entity_sell_prices(p_address, p_node_parent); break; + case DF_Type::entity_recipe: node_from_entity_recipe(p_address, p_node_parent); break; + case DF_Type::entity_uniform_item: node_from_entity_uniform_item(p_address, p_node_parent); break; + case DF_Type::entity_uniform: node_from_entity_uniform(p_address, p_node_parent); break; + case DF_Type::entity_event__T_data__T_invasion: node_from_entity_event__T_data__T_invasion(p_address, p_node_parent); break; + case DF_Type::entity_event__T_data__T_abduction: node_from_entity_event__T_data__T_abduction(p_address, p_node_parent); break; + case DF_Type::entity_event__T_data__T_incident: node_from_entity_event__T_data__T_incident(p_address, p_node_parent); break; + case DF_Type::entity_event__T_data__T_occupation: node_from_entity_event__T_data__T_occupation(p_address, p_node_parent); break; + case DF_Type::entity_event__T_data__T_beast: node_from_entity_event__T_data__T_beast(p_address, p_node_parent); break; + case DF_Type::entity_event__T_data__T_group: node_from_entity_event__T_data__T_group(p_address, p_node_parent); break; + case DF_Type::entity_event__T_data__T_harass: node_from_entity_event__T_data__T_harass(p_address, p_node_parent); break; + case DF_Type::entity_event__T_data__T_flee: node_from_entity_event__T_data__T_flee(p_address, p_node_parent); break; + case DF_Type::entity_event__T_data__T_abandon: node_from_entity_event__T_data__T_abandon(p_address, p_node_parent); break; + case DF_Type::entity_event__T_data__T_reclaimed: node_from_entity_event__T_data__T_reclaimed(p_address, p_node_parent); break; + case DF_Type::entity_event__T_data__T_founded: node_from_entity_event__T_data__T_founded(p_address, p_node_parent); break; + case DF_Type::entity_event__T_data__T_reclaiming: node_from_entity_event__T_data__T_reclaiming(p_address, p_node_parent); break; + case DF_Type::entity_event__T_data__T_founding: node_from_entity_event__T_data__T_founding(p_address, p_node_parent); break; + case DF_Type::entity_event__T_data__T_leave: node_from_entity_event__T_data__T_leave(p_address, p_node_parent); break; + case DF_Type::entity_event__T_data__T_insurrection: node_from_entity_event__T_data__T_insurrection(p_address, p_node_parent); break; + case DF_Type::entity_event__T_data__T_insurrection_end: node_from_entity_event__T_data__T_insurrection_end(p_address, p_node_parent); break; + case DF_Type::entity_event__T_data__T_succession: node_from_entity_event__T_data__T_succession(p_address, p_node_parent); break; + case DF_Type::entity_event__T_data__T_claim: node_from_entity_event__T_data__T_claim(p_address, p_node_parent); break; + case DF_Type::entity_event__T_data__T_accept_tribute_offer: node_from_entity_event__T_data__T_accept_tribute_offer(p_address, p_node_parent); break; + case DF_Type::entity_event__T_data__T_refuse_tribute_offer: node_from_entity_event__T_data__T_refuse_tribute_offer(p_address, p_node_parent); break; + case DF_Type::entity_event__T_data__T_accept_tribute_demand: node_from_entity_event__T_data__T_accept_tribute_demand(p_address, p_node_parent); break; + case DF_Type::entity_event__T_data__T_refuse_tribute_demand: node_from_entity_event__T_data__T_refuse_tribute_demand(p_address, p_node_parent); break; + case DF_Type::entity_event__T_data__T_accept_peace_offer: node_from_entity_event__T_data__T_accept_peace_offer(p_address, p_node_parent); break; + case DF_Type::entity_event__T_data__T_refuse_peace_offer: node_from_entity_event__T_data__T_refuse_peace_offer(p_address, p_node_parent); break; + case DF_Type::entity_event__T_data__T_cease_tribute_offer: node_from_entity_event__T_data__T_cease_tribute_offer(p_address, p_node_parent); break; + case DF_Type::entity_event__T_data__T_artifact_in_site: node_from_entity_event__T_data__T_artifact_in_site(p_address, p_node_parent); break; + case DF_Type::entity_event__T_data__T_artifact_in_subregion: node_from_entity_event__T_data__T_artifact_in_subregion(p_address, p_node_parent); break; + case DF_Type::entity_event__T_data__T_artifact_in_feature_layer: node_from_entity_event__T_data__T_artifact_in_feature_layer(p_address, p_node_parent); break; + case DF_Type::entity_event__T_data__T_artifact_in_inventory: node_from_entity_event__T_data__T_artifact_in_inventory(p_address, p_node_parent); break; + case DF_Type::entity_event__T_data__T_artifact_not_in_site: node_from_entity_event__T_data__T_artifact_not_in_site(p_address, p_node_parent); break; + case DF_Type::entity_event__T_data__T_artifact_not_in_subregion: node_from_entity_event__T_data__T_artifact_not_in_subregion(p_address, p_node_parent); break; + case DF_Type::entity_event__T_data__T_artifact_not_in_feature_layer: node_from_entity_event__T_data__T_artifact_not_in_feature_layer(p_address, p_node_parent); break; + case DF_Type::entity_event__T_data__T_artifact_not_in_inventory: node_from_entity_event__T_data__T_artifact_not_in_inventory(p_address, p_node_parent); break; + case DF_Type::entity_event__T_data__T_artifact_destroyed: node_from_entity_event__T_data__T_artifact_destroyed(p_address, p_node_parent); break; + case DF_Type::entity_event__T_data: node_from_entity_event__T_data(p_address, p_node_parent); break; + case DF_Type::entity_event: node_from_entity_event(p_address, p_node_parent); break; + case DF_Type::agreement__T_parties__T_anon_1: node_from_agreement__T_parties__T_anon_1(p_address, p_node_parent); break; + case DF_Type::agreement__T_parties: node_from_agreement__T_parties(p_address, p_node_parent); break; + case DF_Type::agreement__T_details__T_data__T_data0: node_from_agreement__T_details__T_data__T_data0(p_address, p_node_parent); break; + case DF_Type::agreement__T_details__T_data__T_data1: node_from_agreement__T_details__T_data__T_data1(p_address, p_node_parent); break; + case DF_Type::agreement__T_details__T_data: node_from_agreement__T_details__T_data(p_address, p_node_parent); break; + case DF_Type::agreement__T_details: node_from_agreement__T_details(p_address, p_node_parent); break; + case DF_Type::agreement: node_from_agreement(p_address, p_node_parent); break; + case DF_Type::entity_position_raw: node_from_entity_position_raw(p_address, p_node_parent); break; + case DF_Type::graphic: node_from_graphic(p_address, p_node_parent); break; + case DF_Type::historical_kills: node_from_historical_kills(p_address, p_node_parent); break; + case DF_Type::history_hit_item: node_from_history_hit_item(p_address, p_node_parent); break; + case DF_Type::history_event_hist_figure_diedst: node_from_history_event_hist_figure_diedst(p_address, p_node_parent); break; + case DF_Type::history_event_add_hf_entity_linkst: node_from_history_event_add_hf_entity_linkst(p_address, p_node_parent); break; + case DF_Type::history_event_remove_hf_entity_linkst: node_from_history_event_remove_hf_entity_linkst(p_address, p_node_parent); break; + case DF_Type::history_event_topicagreement_concludedst: node_from_history_event_topicagreement_concludedst(p_address, p_node_parent); break; + case DF_Type::history_event_topicagreement_rejectedst: node_from_history_event_topicagreement_rejectedst(p_address, p_node_parent); break; + case DF_Type::history_event_topicagreement_madest: node_from_history_event_topicagreement_madest(p_address, p_node_parent); break; + case DF_Type::history_event_war_peace_acceptedst: node_from_history_event_war_peace_acceptedst(p_address, p_node_parent); break; + case DF_Type::history_event_war_peace_rejectedst: node_from_history_event_war_peace_rejectedst(p_address, p_node_parent); break; + case DF_Type::history_event_artifact_possessedst: node_from_history_event_artifact_possessedst(p_address, p_node_parent); break; + case DF_Type::history_event_entity_actionst: node_from_history_event_entity_actionst(p_address, p_node_parent); break; + case DF_Type::history_event_add_hf_site_linkst: node_from_history_event_add_hf_site_linkst(p_address, p_node_parent); break; + case DF_Type::history_event_remove_hf_site_linkst: node_from_history_event_remove_hf_site_linkst(p_address, p_node_parent); break; + case DF_Type::history_event_add_hf_hf_linkst: node_from_history_event_add_hf_hf_linkst(p_address, p_node_parent); break; + case DF_Type::history_event_remove_hf_hf_linkst: node_from_history_event_remove_hf_hf_linkst(p_address, p_node_parent); break; + case DF_Type::history_event_masterpiece_created_itemst: node_from_history_event_masterpiece_created_itemst(p_address, p_node_parent); break; + case DF_Type::history_event_masterpiece_created_dye_itemst: node_from_history_event_masterpiece_created_dye_itemst(p_address, p_node_parent); break; + case DF_Type::history_event_masterpiece_created_item_improvementst: node_from_history_event_masterpiece_created_item_improvementst(p_address, p_node_parent); break; + case DF_Type::history_event_masterpiece_created_engravingst: node_from_history_event_masterpiece_created_engravingst(p_address, p_node_parent); break; + case DF_Type::history_event_masterpiece_lostst: node_from_history_event_masterpiece_lostst(p_address, p_node_parent); break; + case DF_Type::history_event_change_hf_statest: node_from_history_event_change_hf_statest(p_address, p_node_parent); break; + case DF_Type::history_event_change_hf_jobst: node_from_history_event_change_hf_jobst(p_address, p_node_parent); break; + case DF_Type::history_event_war_field_battlest: node_from_history_event_war_field_battlest(p_address, p_node_parent); break; + case DF_Type::history_event_body_abusedst__T_props__T_item: node_from_history_event_body_abusedst__T_props__T_item(p_address, p_node_parent); break; + case DF_Type::history_event_body_abusedst__T_props__T_hung: node_from_history_event_body_abusedst__T_props__T_hung(p_address, p_node_parent); break; + case DF_Type::history_event_body_abusedst__T_props: node_from_history_event_body_abusedst__T_props(p_address, p_node_parent); break; + case DF_Type::history_event_body_abusedst: node_from_history_event_body_abusedst(p_address, p_node_parent); break; + case DF_Type::history_event_item_stolenst: node_from_history_event_item_stolenst(p_address, p_node_parent); break; + case DF_Type::history_event_hist_figure_simple_battle_eventst: node_from_history_event_hist_figure_simple_battle_eventst(p_address, p_node_parent); break; + case DF_Type::history_event_hist_figure_reach_summitst: node_from_history_event_hist_figure_reach_summitst(p_address, p_node_parent); break; + case DF_Type::history_event_hist_figure_travelst: node_from_history_event_hist_figure_travelst(p_address, p_node_parent); break; + case DF_Type::history_event_hist_figure_new_petst: node_from_history_event_hist_figure_new_petst(p_address, p_node_parent); break; + case DF_Type::history_event_hist_figure_revivedst: node_from_history_event_hist_figure_revivedst(p_address, p_node_parent); break; + case DF_Type::history_event_change_hf_body_statest: node_from_history_event_change_hf_body_statest(p_address, p_node_parent); break; + case DF_Type::history_event_hf_confrontedst: node_from_history_event_hf_confrontedst(p_address, p_node_parent); break; + case DF_Type::history_event_hf_gains_secret_goalst: node_from_history_event_hf_gains_secret_goalst(p_address, p_node_parent); break; + case DF_Type::history_event_site_disputest: node_from_history_event_site_disputest(p_address, p_node_parent); break; + case DF_Type::history_event_agreement_concludedst: node_from_history_event_agreement_concludedst(p_address, p_node_parent); break; + case DF_Type::history_event_insurrection_endedst: node_from_history_event_insurrection_endedst(p_address, p_node_parent); break; + case DF_Type::history_event_hf_relationship_deniedst: node_from_history_event_hf_relationship_deniedst(p_address, p_node_parent); break; + case DF_Type::history_event_poetic_form_createdst: node_from_history_event_poetic_form_createdst(p_address, p_node_parent); break; + case DF_Type::history_event_musical_form_createdst: node_from_history_event_musical_form_createdst(p_address, p_node_parent); break; + case DF_Type::history_event_dance_form_createdst: node_from_history_event_dance_form_createdst(p_address, p_node_parent); break; + case DF_Type::history_event_written_content_composedst: node_from_history_event_written_content_composedst(p_address, p_node_parent); break; + case DF_Type::history_event_change_hf_moodst: node_from_history_event_change_hf_moodst(p_address, p_node_parent); break; + case DF_Type::history_event_artifact_claim_formedst: node_from_history_event_artifact_claim_formedst(p_address, p_node_parent); break; + case DF_Type::history_event_artifact_givenst: node_from_history_event_artifact_givenst(p_address, p_node_parent); break; + case DF_Type::history_event_hf_recruited_unit_type_for_entityst: node_from_history_event_hf_recruited_unit_type_for_entityst(p_address, p_node_parent); break; + case DF_Type::history_event_hfs_formed_reputation_relationshipst: node_from_history_event_hfs_formed_reputation_relationshipst(p_address, p_node_parent); break; + case DF_Type::history_event_tactical_situationst: node_from_history_event_tactical_situationst(p_address, p_node_parent); break; + case DF_Type::history_event_collection_duelst: node_from_history_event_collection_duelst(p_address, p_node_parent); break; + case DF_Type::history_event_collection_abductionst: node_from_history_event_collection_abductionst(p_address, p_node_parent); break; + case DF_Type::history_event_collection_theftst: node_from_history_event_collection_theftst(p_address, p_node_parent); break; + case DF_Type::history_event_collection_beast_attackst: node_from_history_event_collection_beast_attackst(p_address, p_node_parent); break; + case DF_Type::history_event_collection_raidst: node_from_history_event_collection_raidst(p_address, p_node_parent); break; + case DF_Type::history_era__T_title: node_from_history_era__T_title(p_address, p_node_parent); break; + case DF_Type::history_era__T_details: node_from_history_era__T_details(p_address, p_node_parent); break; + case DF_Type::history_era: node_from_history_era(p_address, p_node_parent); break; + case DF_Type::init_display: node_from_init_display(p_address, p_node_parent); break; + case DF_Type::init_font: node_from_init_font(p_address, p_node_parent); break; + case DF_Type::init: node_from_init(p_address, p_node_parent); break; + case DF_Type::texture_handler: node_from_texture_handler(p_address, p_node_parent); break; + case DF_Type::interaction: node_from_interaction(p_address, p_node_parent); break; + case DF_Type::interaction_effect: node_from_interaction_effect(p_address, p_node_parent); break; + case DF_Type::interaction_effect_animatest: node_from_interaction_effect_animatest(p_address, p_node_parent); break; + case DF_Type::interaction_effect_add_syndromest: node_from_interaction_effect_add_syndromest(p_address, p_node_parent); break; + case DF_Type::interaction_effect_resurrectst: node_from_interaction_effect_resurrectst(p_address, p_node_parent); break; + case DF_Type::interaction_effect_cleanst: node_from_interaction_effect_cleanst(p_address, p_node_parent); break; + case DF_Type::interaction_effect_contactst: node_from_interaction_effect_contactst(p_address, p_node_parent); break; + case DF_Type::interaction_effect_material_emissionst: node_from_interaction_effect_material_emissionst(p_address, p_node_parent); break; + case DF_Type::interaction_effect_hidest: node_from_interaction_effect_hidest(p_address, p_node_parent); break; + case DF_Type::interaction_source_secretst: node_from_interaction_source_secretst(p_address, p_node_parent); break; + case DF_Type::interaction_source_deityst: node_from_interaction_source_deityst(p_address, p_node_parent); break; + case DF_Type::interaction_target: node_from_interaction_target(p_address, p_node_parent); break; + case DF_Type::interaction_target_corpsest: node_from_interaction_target_corpsest(p_address, p_node_parent); break; + case DF_Type::interaction_target_creaturest: node_from_interaction_target_creaturest(p_address, p_node_parent); break; + case DF_Type::interaction_target_materialst: node_from_interaction_target_materialst(p_address, p_node_parent); break; + case DF_Type::interaction_target_locationst: node_from_interaction_target_locationst(p_address, p_node_parent); break; + case DF_Type::itemdef_ammost: node_from_itemdef_ammost(p_address, p_node_parent); break; + case DF_Type::itemdef_armorst: node_from_itemdef_armorst(p_address, p_node_parent); break; + case DF_Type::itemdef_glovesst: node_from_itemdef_glovesst(p_address, p_node_parent); break; + case DF_Type::itemdef_helmst: node_from_itemdef_helmst(p_address, p_node_parent); break; + case DF_Type::itemdef_instrumentst: node_from_itemdef_instrumentst(p_address, p_node_parent); break; + case DF_Type::instrument_register: node_from_instrument_register(p_address, p_node_parent); break; + case DF_Type::itemdef_pantsst: node_from_itemdef_pantsst(p_address, p_node_parent); break; + case DF_Type::itemdef_shoesst: node_from_itemdef_shoesst(p_address, p_node_parent); break; + case DF_Type::itemdef_toolst__T_default_improvements: node_from_itemdef_toolst__T_default_improvements(p_address, p_node_parent); break; + case DF_Type::itemdef_toolst: node_from_itemdef_toolst(p_address, p_node_parent); break; + case DF_Type::itemdef_trapcompst: node_from_itemdef_trapcompst(p_address, p_node_parent); break; + case DF_Type::itemdef_weaponst: node_from_itemdef_weaponst(p_address, p_node_parent); break; + case DF_Type::dye_info: node_from_dye_info(p_address, p_node_parent); break; + case DF_Type::itemimprovement: node_from_itemimprovement(p_address, p_node_parent); break; + case DF_Type::itemimprovement_art_imagest: node_from_itemimprovement_art_imagest(p_address, p_node_parent); break; + case DF_Type::itemimprovement_coveredst: node_from_itemimprovement_coveredst(p_address, p_node_parent); break; + case DF_Type::itemimprovement_rings_hangingst: node_from_itemimprovement_rings_hangingst(p_address, p_node_parent); break; + case DF_Type::itemimprovement_bandsst: node_from_itemimprovement_bandsst(p_address, p_node_parent); break; + case DF_Type::itemimprovement_spikesst: node_from_itemimprovement_spikesst(p_address, p_node_parent); break; + case DF_Type::itemimprovement_itemspecificst: node_from_itemimprovement_itemspecificst(p_address, p_node_parent); break; + case DF_Type::itemimprovement_threadst: node_from_itemimprovement_threadst(p_address, p_node_parent); break; + case DF_Type::itemimprovement_clothst: node_from_itemimprovement_clothst(p_address, p_node_parent); break; + case DF_Type::itemimprovement_sewn_imagest__T_cloth: node_from_itemimprovement_sewn_imagest__T_cloth(p_address, p_node_parent); break; + case DF_Type::itemimprovement_sewn_imagest: node_from_itemimprovement_sewn_imagest(p_address, p_node_parent); break; + case DF_Type::itemimprovement_pagesst: node_from_itemimprovement_pagesst(p_address, p_node_parent); break; + case DF_Type::itemimprovement_illustrationst: node_from_itemimprovement_illustrationst(p_address, p_node_parent); break; + case DF_Type::itemimprovement_instrument_piecest: node_from_itemimprovement_instrument_piecest(p_address, p_node_parent); break; + case DF_Type::itemimprovement_writingst: node_from_itemimprovement_writingst(p_address, p_node_parent); break; + case DF_Type::written_content: node_from_written_content(p_address, p_node_parent); break; + case DF_Type::engraving: node_from_engraving(p_address, p_node_parent); break; + case DF_Type::item_magicness: node_from_item_magicness(p_address, p_node_parent); break; + case DF_Type::spatter_common: node_from_spatter_common(p_address, p_node_parent); break; + case DF_Type::adventure_option_eat_unit_contaminantst: node_from_adventure_option_eat_unit_contaminantst(p_address, p_node_parent); break; + case DF_Type::adventure_option_view_contaminantst: node_from_adventure_option_view_contaminantst(p_address, p_node_parent); break; + case DF_Type::spatter: node_from_spatter(p_address, p_node_parent); break; + case DF_Type::item: node_from_item(p_address, p_node_parent); break; + case DF_Type::item_kill_info: node_from_item_kill_info(p_address, p_node_parent); break; + case DF_Type::item_history_info: node_from_item_history_info(p_address, p_node_parent); break; + case DF_Type::item_actual: node_from_item_actual(p_address, p_node_parent); break; + case DF_Type::item_crafted: node_from_item_crafted(p_address, p_node_parent); break; + case DF_Type::item_constructed: node_from_item_constructed(p_address, p_node_parent); break; + case DF_Type::body_component_info: node_from_body_component_info(p_address, p_node_parent); break; + case DF_Type::item_body_component__T_body: node_from_item_body_component__T_body(p_address, p_node_parent); break; + case DF_Type::item_body_component__T_appearance: node_from_item_body_component__T_appearance(p_address, p_node_parent); break; + case DF_Type::item_body_component__T_bone1: node_from_item_body_component__T_bone1(p_address, p_node_parent); break; + case DF_Type::item_body_component__T_bone2: node_from_item_body_component__T_bone2(p_address, p_node_parent); break; + case DF_Type::item_body_component: node_from_item_body_component(p_address, p_node_parent); break; + case DF_Type::item_corpsest: node_from_item_corpsest(p_address, p_node_parent); break; + case DF_Type::item_corpsepiecest: node_from_item_corpsepiecest(p_address, p_node_parent); break; + case DF_Type::item_liquipowder: node_from_item_liquipowder(p_address, p_node_parent); break; + case DF_Type::item_liquid: node_from_item_liquid(p_address, p_node_parent); break; + case DF_Type::item_powder: node_from_item_powder(p_address, p_node_parent); break; + case DF_Type::item_barst: node_from_item_barst(p_address, p_node_parent); break; + case DF_Type::item_smallgemst: node_from_item_smallgemst(p_address, p_node_parent); break; + case DF_Type::item_blocksst: node_from_item_blocksst(p_address, p_node_parent); break; + case DF_Type::item_roughst: node_from_item_roughst(p_address, p_node_parent); break; + case DF_Type::item_boulderst: node_from_item_boulderst(p_address, p_node_parent); break; + case DF_Type::item_woodst: node_from_item_woodst(p_address, p_node_parent); break; + case DF_Type::item_branchst: node_from_item_branchst(p_address, p_node_parent); break; + case DF_Type::item_rockst: node_from_item_rockst(p_address, p_node_parent); break; + case DF_Type::item_seedsst: node_from_item_seedsst(p_address, p_node_parent); break; + case DF_Type::item_skin_tannedst: node_from_item_skin_tannedst(p_address, p_node_parent); break; + case DF_Type::item_meatst: node_from_item_meatst(p_address, p_node_parent); break; + case DF_Type::item_plantst: node_from_item_plantst(p_address, p_node_parent); break; + case DF_Type::item_plant_growthst: node_from_item_plant_growthst(p_address, p_node_parent); break; + case DF_Type::item_cheesest: node_from_item_cheesest(p_address, p_node_parent); break; + case DF_Type::item_globst: node_from_item_globst(p_address, p_node_parent); break; + case DF_Type::item_remainsst: node_from_item_remainsst(p_address, p_node_parent); break; + case DF_Type::item_fishst: node_from_item_fishst(p_address, p_node_parent); break; + case DF_Type::item_fish_rawst: node_from_item_fish_rawst(p_address, p_node_parent); break; + case DF_Type::item_foodst__T_ingredients: node_from_item_foodst__T_ingredients(p_address, p_node_parent); break; + case DF_Type::item_foodst: node_from_item_foodst(p_address, p_node_parent); break; + case DF_Type::item_drinkst: node_from_item_drinkst(p_address, p_node_parent); break; + case DF_Type::item_powder_miscst: node_from_item_powder_miscst(p_address, p_node_parent); break; + case DF_Type::item_liquid_miscst: node_from_item_liquid_miscst(p_address, p_node_parent); break; + case DF_Type::item_threadst: node_from_item_threadst(p_address, p_node_parent); break; + case DF_Type::item_eggst: node_from_item_eggst(p_address, p_node_parent); break; + case DF_Type::item_doorst: node_from_item_doorst(p_address, p_node_parent); break; + case DF_Type::item_floodgatest: node_from_item_floodgatest(p_address, p_node_parent); break; + case DF_Type::item_bedst: node_from_item_bedst(p_address, p_node_parent); break; + case DF_Type::item_chairst: node_from_item_chairst(p_address, p_node_parent); break; + case DF_Type::item_chainst: node_from_item_chainst(p_address, p_node_parent); break; + case DF_Type::item_flaskst: node_from_item_flaskst(p_address, p_node_parent); break; + case DF_Type::item_gobletst: node_from_item_gobletst(p_address, p_node_parent); break; + case DF_Type::item_windowst: node_from_item_windowst(p_address, p_node_parent); break; + case DF_Type::item_cagest: node_from_item_cagest(p_address, p_node_parent); break; + case DF_Type::item_bucketst: node_from_item_bucketst(p_address, p_node_parent); break; + case DF_Type::item_animaltrapst: node_from_item_animaltrapst(p_address, p_node_parent); break; + case DF_Type::item_tablest: node_from_item_tablest(p_address, p_node_parent); break; + case DF_Type::item_coffinst: node_from_item_coffinst(p_address, p_node_parent); break; + case DF_Type::item_boxst: node_from_item_boxst(p_address, p_node_parent); break; + case DF_Type::item_armorstandst: node_from_item_armorstandst(p_address, p_node_parent); break; + case DF_Type::item_weaponrackst: node_from_item_weaponrackst(p_address, p_node_parent); break; + case DF_Type::item_cabinetst: node_from_item_cabinetst(p_address, p_node_parent); break; + case DF_Type::item_amuletst: node_from_item_amuletst(p_address, p_node_parent); break; + case DF_Type::item_scepterst: node_from_item_scepterst(p_address, p_node_parent); break; + case DF_Type::item_crownst: node_from_item_crownst(p_address, p_node_parent); break; + case DF_Type::item_ringst: node_from_item_ringst(p_address, p_node_parent); break; + case DF_Type::item_earringst: node_from_item_earringst(p_address, p_node_parent); break; + case DF_Type::item_braceletst: node_from_item_braceletst(p_address, p_node_parent); break; + case DF_Type::item_anvilst: node_from_item_anvilst(p_address, p_node_parent); break; + case DF_Type::item_backpackst: node_from_item_backpackst(p_address, p_node_parent); break; + case DF_Type::item_quiverst: node_from_item_quiverst(p_address, p_node_parent); break; + case DF_Type::item_catapultpartsst: node_from_item_catapultpartsst(p_address, p_node_parent); break; + case DF_Type::item_ballistapartsst: node_from_item_ballistapartsst(p_address, p_node_parent); break; + case DF_Type::item_trappartsst: node_from_item_trappartsst(p_address, p_node_parent); break; + case DF_Type::item_pipe_sectionst: node_from_item_pipe_sectionst(p_address, p_node_parent); break; + case DF_Type::item_hatch_coverst: node_from_item_hatch_coverst(p_address, p_node_parent); break; + case DF_Type::item_gratest: node_from_item_gratest(p_address, p_node_parent); break; + case DF_Type::item_quernst: node_from_item_quernst(p_address, p_node_parent); break; + case DF_Type::item_millstonest: node_from_item_millstonest(p_address, p_node_parent); break; + case DF_Type::item_splintst: node_from_item_splintst(p_address, p_node_parent); break; + case DF_Type::item_crutchst: node_from_item_crutchst(p_address, p_node_parent); break; + case DF_Type::item_traction_benchst: node_from_item_traction_benchst(p_address, p_node_parent); break; + case DF_Type::item_instrumentst: node_from_item_instrumentst(p_address, p_node_parent); break; + case DF_Type::item_toyst: node_from_item_toyst(p_address, p_node_parent); break; + case DF_Type::item_armorst: node_from_item_armorst(p_address, p_node_parent); break; + case DF_Type::item_shoesst: node_from_item_shoesst(p_address, p_node_parent); break; + case DF_Type::item_shieldst: node_from_item_shieldst(p_address, p_node_parent); break; + case DF_Type::item_helmst: node_from_item_helmst(p_address, p_node_parent); break; + case DF_Type::item_glovesst: node_from_item_glovesst(p_address, p_node_parent); break; + case DF_Type::item_pantsst: node_from_item_pantsst(p_address, p_node_parent); break; + case DF_Type::item_siegeammost: node_from_item_siegeammost(p_address, p_node_parent); break; + case DF_Type::item_weaponst: node_from_item_weaponst(p_address, p_node_parent); break; + case DF_Type::item_ammost: node_from_item_ammost(p_address, p_node_parent); break; + case DF_Type::item_trapcompst: node_from_item_trapcompst(p_address, p_node_parent); break; + case DF_Type::item_toolst: node_from_item_toolst(p_address, p_node_parent); break; + case DF_Type::item_barrelst: node_from_item_barrelst(p_address, p_node_parent); break; + case DF_Type::item_binst: node_from_item_binst(p_address, p_node_parent); break; + case DF_Type::item_gemst: node_from_item_gemst(p_address, p_node_parent); break; + case DF_Type::item_statuest: node_from_item_statuest(p_address, p_node_parent); break; + case DF_Type::item_figurinest: node_from_item_figurinest(p_address, p_node_parent); break; + case DF_Type::item_slabst: node_from_item_slabst(p_address, p_node_parent); break; + case DF_Type::item_orthopedic_castst: node_from_item_orthopedic_castst(p_address, p_node_parent); break; + case DF_Type::item_coinst: node_from_item_coinst(p_address, p_node_parent); break; + case DF_Type::item_totemst: node_from_item_totemst(p_address, p_node_parent); break; + case DF_Type::item_clothst: node_from_item_clothst(p_address, p_node_parent); break; + case DF_Type::item_bookst: node_from_item_bookst(p_address, p_node_parent); break; + case DF_Type::item_ballistaarrowheadst: node_from_item_ballistaarrowheadst(p_address, p_node_parent); break; + case DF_Type::item_sheetst: node_from_item_sheetst(p_address, p_node_parent); break; + case DF_Type::job_list_link: node_from_job_list_link(p_address, p_node_parent); break; + case DF_Type::job: node_from_job(p_address, p_node_parent); break; + case DF_Type::job_item_ref: node_from_job_item_ref(p_address, p_node_parent); break; + case DF_Type::job_item: node_from_job_item(p_address, p_node_parent); break; + case DF_Type::job_item_filter: node_from_job_item_filter(p_address, p_node_parent); break; + case DF_Type::manager_order: node_from_manager_order(p_address, p_node_parent); break; + case DF_Type::manager_order_condition_item: node_from_manager_order_condition_item(p_address, p_node_parent); break; + case DF_Type::manager_order_template: node_from_manager_order_template(p_address, p_node_parent); break; + case DF_Type::mandate__T_punishment: node_from_mandate__T_punishment(p_address, p_node_parent); break; + case DF_Type::mandate: node_from_mandate(p_address, p_node_parent); break; + case DF_Type::unit_demand: node_from_unit_demand(p_address, p_node_parent); break; + case DF_Type::knowledge_scholar_category_flag__T_flags: node_from_knowledge_scholar_category_flag__T_flags(p_address, p_node_parent); break; + case DF_Type::knowledge_scholar_category_flag: node_from_knowledge_scholar_category_flag(p_address, p_node_parent); break; + case DF_Type::history_event_knowledge_discoveredst: node_from_history_event_knowledge_discoveredst(p_address, p_node_parent); break; + case DF_Type::language_word: node_from_language_word(p_address, p_node_parent); break; + case DF_Type::language_name: node_from_language_name(p_address, p_node_parent); break; + case DF_Type::ui_advmode__T_unk_v40_1: node_from_ui_advmode__T_unk_v40_1(p_address, p_node_parent); break; + case DF_Type::ui_advmode__T_unk_3170__T_unk_2: node_from_ui_advmode__T_unk_3170__T_unk_2(p_address, p_node_parent); break; + case DF_Type::ui_advmode__T_unk_3170: node_from_ui_advmode__T_unk_3170(p_address, p_node_parent); break; + case DF_Type::ui_advmode__T_unk_3124: node_from_ui_advmode__T_unk_3124(p_address, p_node_parent); break; + case DF_Type::ui_advmode__T_conversation__T_choices: node_from_ui_advmode__T_conversation__T_choices(p_address, p_node_parent); break; + case DF_Type::ui_advmode__T_conversation__T_targets: node_from_ui_advmode__T_conversation__T_targets(p_address, p_node_parent); break; + case DF_Type::ui_advmode__T_conversation: node_from_ui_advmode__T_conversation(p_address, p_node_parent); break; + case DF_Type::ui_advmode__T_companions: node_from_ui_advmode__T_companions(p_address, p_node_parent); break; + case DF_Type::ui_advmode__T_interactions: node_from_ui_advmode__T_interactions(p_address, p_node_parent); break; + case DF_Type::ui_advmode__T_unk_v40_2: node_from_ui_advmode__T_unk_v40_2(p_address, p_node_parent); break; + case DF_Type::ui_advmode__T_unk_v40_3: node_from_ui_advmode__T_unk_v40_3(p_address, p_node_parent); break; + case DF_Type::ui_advmode__T_unk_v40_4__T_unk_v40_4a: node_from_ui_advmode__T_unk_v40_4__T_unk_v40_4a(p_address, p_node_parent); break; + case DF_Type::ui_advmode__T_unk_v40_4: node_from_ui_advmode__T_unk_v40_4(p_address, p_node_parent); break; + case DF_Type::ui_advmode__T_unk_v40_5: node_from_ui_advmode__T_unk_v40_5(p_address, p_node_parent); break; + case DF_Type::ui_advmode__T_unk_v42_1: node_from_ui_advmode__T_unk_v42_1(p_address, p_node_parent); break; + case DF_Type::ui_advmode__T_assume_identity: node_from_ui_advmode__T_assume_identity(p_address, p_node_parent); break; + case DF_Type::ui_advmode: node_from_ui_advmode(p_address, p_node_parent); break; + case DF_Type::art_image: node_from_art_image(p_address, p_node_parent); break; + case DF_Type::poetic_form___union0: node_from_poetic_form___union0(p_address, p_node_parent); break; + case DF_Type::poetic_form: node_from_poetic_form(p_address, p_node_parent); break; + case DF_Type::musical_form: node_from_musical_form(p_address, p_node_parent); break; + case DF_Type::dance_form: node_from_dance_form(p_address, p_node_parent); break; + case DF_Type::entity_occasion: node_from_entity_occasion(p_address, p_node_parent); break; + case DF_Type::historical_entity__T_resources__T_metal: node_from_historical_entity__T_resources__T_metal(p_address, p_node_parent); break; + case DF_Type::historical_entity__T_resources__T_organic: node_from_historical_entity__T_resources__T_organic(p_address, p_node_parent); break; + case DF_Type::historical_entity__T_resources__T_refuse: node_from_historical_entity__T_resources__T_refuse(p_address, p_node_parent); break; + case DF_Type::historical_entity__T_resources__T_misc_mat: node_from_historical_entity__T_resources__T_misc_mat(p_address, p_node_parent); break; + case DF_Type::historical_entity__T_resources__T_wood_products: node_from_historical_entity__T_resources__T_wood_products(p_address, p_node_parent); break; + case DF_Type::historical_entity__T_resources__T_animals: node_from_historical_entity__T_resources__T_animals(p_address, p_node_parent); break; + case DF_Type::historical_entity__T_resources__T_unk13: node_from_historical_entity__T_resources__T_unk13(p_address, p_node_parent); break; + case DF_Type::historical_entity__T_resources: node_from_historical_entity__T_resources(p_address, p_node_parent); break; + case DF_Type::historical_entity__T_unknown1b__T_unk32e: node_from_historical_entity__T_unknown1b__T_unk32e(p_address, p_node_parent); break; + case DF_Type::historical_entity__T_unknown1b__T_diplomacy: node_from_historical_entity__T_unknown1b__T_diplomacy(p_address, p_node_parent); break; + case DF_Type::historical_entity__T_unknown1b: node_from_historical_entity__T_unknown1b(p_address, p_node_parent); break; + case DF_Type::historical_entity__T_positions: node_from_historical_entity__T_positions(p_address, p_node_parent); break; + case DF_Type::historical_entity__T_tissue_styles: node_from_historical_entity__T_tissue_styles(p_address, p_node_parent); break; + case DF_Type::historical_entity__T_unknown1d: node_from_historical_entity__T_unknown1d(p_address, p_node_parent); break; + case DF_Type::historical_entity__T_training_knowledge: node_from_historical_entity__T_training_knowledge(p_address, p_node_parent); break; + case DF_Type::historical_entity__T_unknown1e: node_from_historical_entity__T_unknown1e(p_address, p_node_parent); break; + case DF_Type::historical_entity__T_derived_resources: node_from_historical_entity__T_derived_resources(p_address, p_node_parent); break; + case DF_Type::historical_entity__T_claims: node_from_historical_entity__T_claims(p_address, p_node_parent); break; + case DF_Type::historical_entity__T_unknown2: node_from_historical_entity__T_unknown2(p_address, p_node_parent); break; + case DF_Type::historical_entity: node_from_historical_entity(p_address, p_node_parent); break; + case DF_Type::historical_figure__T_unk_fc: node_from_historical_figure__T_unk_fc(p_address, p_node_parent); break; + case DF_Type::historical_figure: node_from_historical_figure(p_address, p_node_parent); break; + case DF_Type::identity: node_from_identity(p_address, p_node_parent); break; + case DF_Type::history_event_collection_warst__T_unk: node_from_history_event_collection_warst__T_unk(p_address, p_node_parent); break; + case DF_Type::history_event_collection_warst: node_from_history_event_collection_warst(p_address, p_node_parent); break; + case DF_Type::history_event_collection_battlest: node_from_history_event_collection_battlest(p_address, p_node_parent); break; + case DF_Type::world_history__T_event_collections: node_from_world_history__T_event_collections(p_address, p_node_parent); break; + case DF_Type::world_history: node_from_world_history(p_address, p_node_parent); break; + case DF_Type::item_critter: node_from_item_critter(p_address, p_node_parent); break; + case DF_Type::item_verminst: node_from_item_verminst(p_address, p_node_parent); break; + case DF_Type::item_petst: node_from_item_petst(p_address, p_node_parent); break; + case DF_Type::language_word_table: node_from_language_word_table(p_address, p_node_parent); break; + case DF_Type::entity_raw__T_equipment: node_from_entity_raw__T_equipment(p_address, p_node_parent); break; + case DF_Type::entity_raw__T_symbols: node_from_entity_raw__T_symbols(p_address, p_node_parent); break; + case DF_Type::entity_raw__T_progress_trigger: node_from_entity_raw__T_progress_trigger(p_address, p_node_parent); break; + case DF_Type::entity_raw__T_jobs: node_from_entity_raw__T_jobs(p_address, p_node_parent); break; + case DF_Type::entity_raw__T_tissue_styles: node_from_entity_raw__T_tissue_styles(p_address, p_node_parent); break; + case DF_Type::entity_raw__T_workshops: node_from_entity_raw__T_workshops(p_address, p_node_parent); break; + case DF_Type::entity_raw__T_land_holder_trigger: node_from_entity_raw__T_land_holder_trigger(p_address, p_node_parent); break; + case DF_Type::entity_raw: node_from_entity_raw(p_address, p_node_parent); break; + case DF_Type::entity_population_unk4__T_anon_1: node_from_entity_population_unk4__T_anon_1(p_address, p_node_parent); break; + case DF_Type::entity_population_unk4__T_anon_3: node_from_entity_population_unk4__T_anon_3(p_address, p_node_parent); break; + case DF_Type::entity_population_unk4: node_from_entity_population_unk4(p_address, p_node_parent); break; + case DF_Type::entity_population: node_from_entity_population(p_address, p_node_parent); break; + case DF_Type::nemesis_record: node_from_nemesis_record(p_address, p_node_parent); break; + case DF_Type::artifact_record: node_from_artifact_record(p_address, p_node_parent); break; + case DF_Type::machine_tile_set: node_from_machine_tile_set(p_address, p_node_parent); break; + case DF_Type::machine__T_components: node_from_machine__T_components(p_address, p_node_parent); break; + case DF_Type::machine: node_from_machine(p_address, p_node_parent); break; + case DF_Type::machine_standardst: node_from_machine_standardst(p_address, p_node_parent); break; + case DF_Type::building_axle_horizontalst: node_from_building_axle_horizontalst(p_address, p_node_parent); break; + case DF_Type::building_axle_verticalst: node_from_building_axle_verticalst(p_address, p_node_parent); break; + case DF_Type::building_gear_assemblyst: node_from_building_gear_assemblyst(p_address, p_node_parent); break; + case DF_Type::building_windmillst: node_from_building_windmillst(p_address, p_node_parent); break; + case DF_Type::building_water_wheelst: node_from_building_water_wheelst(p_address, p_node_parent); break; + case DF_Type::building_screw_pumpst: node_from_building_screw_pumpst(p_address, p_node_parent); break; + case DF_Type::building_rollersst: node_from_building_rollersst(p_address, p_node_parent); break; + case DF_Type::block_burrow: node_from_block_burrow(p_address, p_node_parent); break; + case DF_Type::block_burrow_link: node_from_block_burrow_link(p_address, p_node_parent); break; + case DF_Type::map_block: node_from_map_block(p_address, p_node_parent); break; + case DF_Type::cave_column_link: node_from_cave_column_link(p_address, p_node_parent); break; + case DF_Type::map_block_column__T_unmined_glyphs: node_from_map_block_column__T_unmined_glyphs(p_address, p_node_parent); break; + case DF_Type::map_block_column: node_from_map_block_column(p_address, p_node_parent); break; + case DF_Type::block_square_event_mineralst: node_from_block_square_event_mineralst(p_address, p_node_parent); break; + case DF_Type::block_square_event_frozen_liquidst: node_from_block_square_event_frozen_liquidst(p_address, p_node_parent); break; + case DF_Type::block_square_event_world_constructionst: node_from_block_square_event_world_constructionst(p_address, p_node_parent); break; + case DF_Type::block_square_event_item_spatterst: node_from_block_square_event_item_spatterst(p_address, p_node_parent); break; + case DF_Type::feature: node_from_feature(p_address, p_node_parent); break; + case DF_Type::feature_outdoor_riverst: node_from_feature_outdoor_riverst(p_address, p_node_parent); break; + case DF_Type::feature_cavest: node_from_feature_cavest(p_address, p_node_parent); break; + case DF_Type::feature_pitst: node_from_feature_pitst(p_address, p_node_parent); break; + case DF_Type::feature_magma_poolst: node_from_feature_magma_poolst(p_address, p_node_parent); break; + case DF_Type::feature_volcanost: node_from_feature_volcanost(p_address, p_node_parent); break; + case DF_Type::feature_deep_special_tubest: node_from_feature_deep_special_tubest(p_address, p_node_parent); break; + case DF_Type::feature_deep_surface_portalst: node_from_feature_deep_surface_portalst(p_address, p_node_parent); break; + case DF_Type::feature_subterranean_from_layerst: node_from_feature_subterranean_from_layerst(p_address, p_node_parent); break; + case DF_Type::feature_magma_core_from_layerst: node_from_feature_magma_core_from_layerst(p_address, p_node_parent); break; + case DF_Type::feature_underworld_from_layerst: node_from_feature_underworld_from_layerst(p_address, p_node_parent); break; + case DF_Type::feature_init: node_from_feature_init(p_address, p_node_parent); break; + case DF_Type::feature_init_outdoor_riverst: node_from_feature_init_outdoor_riverst(p_address, p_node_parent); break; + case DF_Type::feature_init_cavest: node_from_feature_init_cavest(p_address, p_node_parent); break; + case DF_Type::feature_init_pitst: node_from_feature_init_pitst(p_address, p_node_parent); break; + case DF_Type::feature_init_magma_poolst: node_from_feature_init_magma_poolst(p_address, p_node_parent); break; + case DF_Type::feature_init_volcanost: node_from_feature_init_volcanost(p_address, p_node_parent); break; + case DF_Type::feature_init_deep_special_tubest: node_from_feature_init_deep_special_tubest(p_address, p_node_parent); break; + case DF_Type::feature_init_deep_surface_portalst: node_from_feature_init_deep_surface_portalst(p_address, p_node_parent); break; + case DF_Type::feature_init_subterranean_from_layerst: node_from_feature_init_subterranean_from_layerst(p_address, p_node_parent); break; + case DF_Type::feature_init_magma_core_from_layerst: node_from_feature_init_magma_core_from_layerst(p_address, p_node_parent); break; + case DF_Type::feature_init_underworld_from_layerst: node_from_feature_init_underworld_from_layerst(p_address, p_node_parent); break; + case DF_Type::world_construction_square: node_from_world_construction_square(p_address, p_node_parent); break; + case DF_Type::world_construction_square_roadst: node_from_world_construction_square_roadst(p_address, p_node_parent); break; + case DF_Type::world_construction_square_tunnelst: node_from_world_construction_square_tunnelst(p_address, p_node_parent); break; + case DF_Type::world_construction_square_bridgest: node_from_world_construction_square_bridgest(p_address, p_node_parent); break; + case DF_Type::world_construction_square_wallst: node_from_world_construction_square_wallst(p_address, p_node_parent); break; + case DF_Type::world_construction: node_from_world_construction(p_address, p_node_parent); break; + case DF_Type::world_construction_roadst: node_from_world_construction_roadst(p_address, p_node_parent); break; + case DF_Type::world_construction_tunnelst: node_from_world_construction_tunnelst(p_address, p_node_parent); break; + case DF_Type::world_construction_bridgest: node_from_world_construction_bridgest(p_address, p_node_parent); break; + case DF_Type::world_construction_wallst: node_from_world_construction_wallst(p_address, p_node_parent); break; + case DF_Type::construction: node_from_construction(p_address, p_node_parent); break; + case DF_Type::flow_info: node_from_flow_info(p_address, p_node_parent); break; + case DF_Type::flow_guide_trailing_flowst: node_from_flow_guide_trailing_flowst(p_address, p_node_parent); break; + case DF_Type::flow_guide_item_cloudst: node_from_flow_guide_item_cloudst(p_address, p_node_parent); break; + case DF_Type::effect_info: node_from_effect_info(p_address, p_node_parent); break; + case DF_Type::material_common__T_heat: node_from_material_common__T_heat(p_address, p_node_parent); break; + case DF_Type::material_common__T_strength: node_from_material_common__T_strength(p_address, p_node_parent); break; + case DF_Type::material_common__T_reaction_product: node_from_material_common__T_reaction_product(p_address, p_node_parent); break; + case DF_Type::material_common__T_hardens_with_water: node_from_material_common__T_hardens_with_water(p_address, p_node_parent); break; + case DF_Type::material_common: node_from_material_common(p_address, p_node_parent); break; + case DF_Type::material: node_from_material(p_address, p_node_parent); break; + case DF_Type::material_template: node_from_material_template(p_address, p_node_parent); break; + case DF_Type::inorganic_raw__T_metal_ore: node_from_inorganic_raw__T_metal_ore(p_address, p_node_parent); break; + case DF_Type::inorganic_raw__T_thread_metal: node_from_inorganic_raw__T_thread_metal(p_address, p_node_parent); break; + case DF_Type::inorganic_raw__T_environment_spec: node_from_inorganic_raw__T_environment_spec(p_address, p_node_parent); break; + case DF_Type::inorganic_raw__T_environment: node_from_inorganic_raw__T_environment(p_address, p_node_parent); break; + case DF_Type::inorganic_raw: node_from_inorganic_raw(p_address, p_node_parent); break; + case DF_Type::special_mat_table: node_from_special_mat_table(p_address, p_node_parent); break; + case DF_Type::dipscript_info: node_from_dipscript_info(p_address, p_node_parent); break; + case DF_Type::dipscript_popup: node_from_dipscript_popup(p_address, p_node_parent); break; + case DF_Type::active_script_var_unitst: node_from_active_script_var_unitst(p_address, p_node_parent); break; + case DF_Type::meeting_context: node_from_meeting_context(p_address, p_node_parent); break; + case DF_Type::meeting_diplomat_info: node_from_meeting_diplomat_info(p_address, p_node_parent); break; + case DF_Type::meeting_event: node_from_meeting_event(p_address, p_node_parent); break; + case DF_Type::activity_info: node_from_activity_info(p_address, p_node_parent); break; + case DF_Type::party_info: node_from_party_info(p_address, p_node_parent); break; + case DF_Type::room_rent_info: node_from_room_rent_info(p_address, p_node_parent); break; + case DF_Type::activity_entry: node_from_activity_entry(p_address, p_node_parent); break; + case DF_Type::activity_event__T_unk_v42_1: node_from_activity_event__T_unk_v42_1(p_address, p_node_parent); break; + case DF_Type::activity_event__T_unk_v42_2: node_from_activity_event__T_unk_v42_2(p_address, p_node_parent); break; + case DF_Type::activity_event: node_from_activity_event(p_address, p_node_parent); break; + case DF_Type::activity_event_training_sessionst: node_from_activity_event_training_sessionst(p_address, p_node_parent); break; + case DF_Type::activity_event_combat_trainingst: node_from_activity_event_combat_trainingst(p_address, p_node_parent); break; + case DF_Type::activity_event_skill_demonstrationst: node_from_activity_event_skill_demonstrationst(p_address, p_node_parent); break; + case DF_Type::activity_event_individual_skill_drillst: node_from_activity_event_individual_skill_drillst(p_address, p_node_parent); break; + case DF_Type::activity_event_sparringst__T_groups: node_from_activity_event_sparringst__T_groups(p_address, p_node_parent); break; + case DF_Type::activity_event_sparringst: node_from_activity_event_sparringst(p_address, p_node_parent); break; + case DF_Type::activity_event_ranged_practicest: node_from_activity_event_ranged_practicest(p_address, p_node_parent); break; + case DF_Type::activity_event_harassmentst__T_anon_2: node_from_activity_event_harassmentst__T_anon_2(p_address, p_node_parent); break; + case DF_Type::activity_event_harassmentst: node_from_activity_event_harassmentst(p_address, p_node_parent); break; + case DF_Type::activity_event_conversationst__T_participants: node_from_activity_event_conversationst__T_participants(p_address, p_node_parent); break; + case DF_Type::activity_event_conversationst__T_anon_6: node_from_activity_event_conversationst__T_anon_6(p_address, p_node_parent); break; + case DF_Type::activity_event_conversationst__T_unk_b4: node_from_activity_event_conversationst__T_unk_b4(p_address, p_node_parent); break; + case DF_Type::activity_event_conversationst__T_turns: node_from_activity_event_conversationst__T_turns(p_address, p_node_parent); break; + case DF_Type::activity_event_conversationst__T_unk2: node_from_activity_event_conversationst__T_unk2(p_address, p_node_parent); break; + case DF_Type::activity_event_conversationst: node_from_activity_event_conversationst(p_address, p_node_parent); break; + case DF_Type::activity_event_conflictst__T_sides__T_enemies: node_from_activity_event_conflictst__T_sides__T_enemies(p_address, p_node_parent); break; + case DF_Type::activity_event_conflictst__T_sides: node_from_activity_event_conflictst__T_sides(p_address, p_node_parent); break; + case DF_Type::activity_event_conflictst: node_from_activity_event_conflictst(p_address, p_node_parent); break; + case DF_Type::activity_event_guardst: node_from_activity_event_guardst(p_address, p_node_parent); break; + case DF_Type::activity_event_reunionst: node_from_activity_event_reunionst(p_address, p_node_parent); break; + case DF_Type::activity_event_prayerst: node_from_activity_event_prayerst(p_address, p_node_parent); break; + case DF_Type::activity_event_socializest: node_from_activity_event_socializest(p_address, p_node_parent); break; + case DF_Type::activity_event_worshipst: node_from_activity_event_worshipst(p_address, p_node_parent); break; + case DF_Type::activity_event_performancest__T_participant_actions: node_from_activity_event_performancest__T_participant_actions(p_address, p_node_parent); break; + case DF_Type::activity_event_performancest: node_from_activity_event_performancest(p_address, p_node_parent); break; + case DF_Type::performance_play_orderst__T_anon_4: node_from_performance_play_orderst__T_anon_4(p_address, p_node_parent); break; + case DF_Type::performance_play_orderst: node_from_performance_play_orderst(p_address, p_node_parent); break; + case DF_Type::activity_event_researchst: node_from_activity_event_researchst(p_address, p_node_parent); break; + case DF_Type::activity_event_ponder_topicst: node_from_activity_event_ponder_topicst(p_address, p_node_parent); break; + case DF_Type::activity_event_discuss_topicst: node_from_activity_event_discuss_topicst(p_address, p_node_parent); break; + case DF_Type::activity_event_readst: node_from_activity_event_readst(p_address, p_node_parent); break; + case DF_Type::activity_event_fill_service_orderst: node_from_activity_event_fill_service_orderst(p_address, p_node_parent); break; + case DF_Type::activity_event_writest: node_from_activity_event_writest(p_address, p_node_parent); break; + case DF_Type::activity_event_copy_written_contentst: node_from_activity_event_copy_written_contentst(p_address, p_node_parent); break; + case DF_Type::activity_event_teach_topicst: node_from_activity_event_teach_topicst(p_address, p_node_parent); break; + case DF_Type::activity_event_playst: node_from_activity_event_playst(p_address, p_node_parent); break; + case DF_Type::activity_event_make_believest: node_from_activity_event_make_believest(p_address, p_node_parent); break; + case DF_Type::activity_event_play_with_toyst__T_unk: node_from_activity_event_play_with_toyst__T_unk(p_address, p_node_parent); break; + case DF_Type::activity_event_play_with_toyst: node_from_activity_event_play_with_toyst(p_address, p_node_parent); break; + case DF_Type::activity_event_encounterst__T_anon_1: node_from_activity_event_encounterst__T_anon_1(p_address, p_node_parent); break; + case DF_Type::activity_event_encounterst__T_anon_2: node_from_activity_event_encounterst__T_anon_2(p_address, p_node_parent); break; + case DF_Type::activity_event_encounterst: node_from_activity_event_encounterst(p_address, p_node_parent); break; + case DF_Type::activity_event_store_objectst: node_from_activity_event_store_objectst(p_address, p_node_parent); break; + case DF_Type::schedule_info: node_from_schedule_info(p_address, p_node_parent); break; + case DF_Type::item_filter_spec: node_from_item_filter_spec(p_address, p_node_parent); break; + case DF_Type::squad_uniform_spec: node_from_squad_uniform_spec(p_address, p_node_parent); break; + case DF_Type::squad_ammo_spec: node_from_squad_ammo_spec(p_address, p_node_parent); break; + case DF_Type::squad_position: node_from_squad_position(p_address, p_node_parent); break; + case DF_Type::squad_schedule_order: node_from_squad_schedule_order(p_address, p_node_parent); break; + case DF_Type::squad_schedule_entry: node_from_squad_schedule_entry(p_address, p_node_parent); break; + case DF_Type::squad__T_rooms: node_from_squad__T_rooms(p_address, p_node_parent); break; + case DF_Type::squad: node_from_squad(p_address, p_node_parent); break; + case DF_Type::squad_order_movest: node_from_squad_order_movest(p_address, p_node_parent); break; + case DF_Type::squad_order_retrieve_artifactst: node_from_squad_order_retrieve_artifactst(p_address, p_node_parent); break; + case DF_Type::squad_order_raid_sitest: node_from_squad_order_raid_sitest(p_address, p_node_parent); break; + case DF_Type::squad_order_rescue_hfst: node_from_squad_order_rescue_hfst(p_address, p_node_parent); break; + case DF_Type::army_controller__T_unk_64: node_from_army_controller__T_unk_64(p_address, p_node_parent); break; + case DF_Type::army_controller: node_from_army_controller(p_address, p_node_parent); break; + case DF_Type::army_controller_sub2__T_anon_5: node_from_army_controller_sub2__T_anon_5(p_address, p_node_parent); break; + case DF_Type::army_controller_sub2: node_from_army_controller_sub2(p_address, p_node_parent); break; + case DF_Type::army_controller_sub7__T_anon_3: node_from_army_controller_sub7__T_anon_3(p_address, p_node_parent); break; + case DF_Type::army_controller_sub7: node_from_army_controller_sub7(p_address, p_node_parent); break; + case DF_Type::army_controller_sub11__T_anon_3: node_from_army_controller_sub11__T_anon_3(p_address, p_node_parent); break; + case DF_Type::army_controller_sub11: node_from_army_controller_sub11(p_address, p_node_parent); break; + case DF_Type::army_controller_sub12__T_anon_4: node_from_army_controller_sub12__T_anon_4(p_address, p_node_parent); break; + case DF_Type::army_controller_sub12: node_from_army_controller_sub12(p_address, p_node_parent); break; + case DF_Type::army_controller_sub13__T_anon_4: node_from_army_controller_sub13__T_anon_4(p_address, p_node_parent); break; + case DF_Type::army_controller_sub13: node_from_army_controller_sub13(p_address, p_node_parent); break; + case DF_Type::army_controller_sub14__T_anon_4: node_from_army_controller_sub14__T_anon_4(p_address, p_node_parent); break; + case DF_Type::army_controller_sub14: node_from_army_controller_sub14(p_address, p_node_parent); break; + case DF_Type::army_controller_sub15__T_anon_3: node_from_army_controller_sub15__T_anon_3(p_address, p_node_parent); break; + case DF_Type::army_controller_sub15: node_from_army_controller_sub15(p_address, p_node_parent); break; + case DF_Type::army__T_members: node_from_army__T_members(p_address, p_node_parent); break; + case DF_Type::army__T_unk_2c: node_from_army__T_unk_2c(p_address, p_node_parent); break; + case DF_Type::army: node_from_army(p_address, p_node_parent); break; + case DF_Type::plant_raw__T_tiles: node_from_plant_raw__T_tiles(p_address, p_node_parent); break; + case DF_Type::plant_raw__T_colors: node_from_plant_raw__T_colors(p_address, p_node_parent); break; + case DF_Type::plant_raw__T_material_defs: node_from_plant_raw__T_material_defs(p_address, p_node_parent); break; + case DF_Type::plant_raw: node_from_plant_raw(p_address, p_node_parent); break; + case DF_Type::plant_growth: node_from_plant_growth(p_address, p_node_parent); break; + case DF_Type::plant: node_from_plant(p_address, p_node_parent); break; + case DF_Type::plant_tree_info: node_from_plant_tree_info(p_address, p_node_parent); break; + case DF_Type::proj_list_link: node_from_proj_list_link(p_address, p_node_parent); break; + case DF_Type::projectile: node_from_projectile(p_address, p_node_parent); break; + case DF_Type::proj_itemst: node_from_proj_itemst(p_address, p_node_parent); break; + case DF_Type::proj_unitst: node_from_proj_unitst(p_address, p_node_parent); break; + case DF_Type::proj_magicst: node_from_proj_magicst(p_address, p_node_parent); break; + case DF_Type::creature_handler: node_from_creature_handler(p_address, p_node_parent); break; + case DF_Type::world_raws__T_plants: node_from_world_raws__T_plants(p_address, p_node_parent); break; + case DF_Type::world_raws__T_bodyglosses: node_from_world_raws__T_bodyglosses(p_address, p_node_parent); break; + case DF_Type::world_raws__T_itemdefs: node_from_world_raws__T_itemdefs(p_address, p_node_parent); break; + case DF_Type::world_raws__T_language: node_from_world_raws__T_language(p_address, p_node_parent); break; + case DF_Type::world_raws__T_descriptors: node_from_world_raws__T_descriptors(p_address, p_node_parent); break; + case DF_Type::world_raws__T_reactions: node_from_world_raws__T_reactions(p_address, p_node_parent); break; + case DF_Type::world_raws__T_buildings: node_from_world_raws__T_buildings(p_address, p_node_parent); break; + case DF_Type::world_raws__T_syndromes: node_from_world_raws__T_syndromes(p_address, p_node_parent); break; + case DF_Type::world_raws__T_effects: node_from_world_raws__T_effects(p_address, p_node_parent); break; + case DF_Type::world_raws: node_from_world_raws(p_address, p_node_parent); break; + case DF_Type::reaction__T_building: node_from_reaction__T_building(p_address, p_node_parent); break; + case DF_Type::reaction: node_from_reaction(p_address, p_node_parent); break; + case DF_Type::reaction_description: node_from_reaction_description(p_address, p_node_parent); break; + case DF_Type::reaction_reagent: node_from_reaction_reagent(p_address, p_node_parent); break; + case DF_Type::reaction_reagent_itemst: node_from_reaction_reagent_itemst(p_address, p_node_parent); break; + case DF_Type::reaction_product_itemst__T_get_material: node_from_reaction_product_itemst__T_get_material(p_address, p_node_parent); break; + case DF_Type::reaction_product_itemst: node_from_reaction_product_itemst(p_address, p_node_parent); break; + case DF_Type::reaction_product_item_improvementst__T_get_material: node_from_reaction_product_item_improvementst__T_get_material(p_address, p_node_parent); break; + case DF_Type::reaction_product_item_improvementst: node_from_reaction_product_item_improvementst(p_address, p_node_parent); break; + case DF_Type::general_ref_item_type: node_from_general_ref_item_type(p_address, p_node_parent); break; + case DF_Type::general_ref_mapsquare: node_from_general_ref_mapsquare(p_address, p_node_parent); break; + case DF_Type::general_ref_spherest: node_from_general_ref_spherest(p_address, p_node_parent); break; + case DF_Type::general_ref_knowledge_scholar_flagst: node_from_general_ref_knowledge_scholar_flagst(p_address, p_node_parent); break; + case DF_Type::general_ref_value_levelst: node_from_general_ref_value_levelst(p_address, p_node_parent); break; + case DF_Type::specific_ref___union2: node_from_specific_ref___union2(p_address, p_node_parent); break; + case DF_Type::specific_ref__T_arg2: node_from_specific_ref__T_arg2(p_address, p_node_parent); break; + case DF_Type::specific_ref: node_from_specific_ref(p_address, p_node_parent); break; + case DF_Type::meeting_variable: node_from_meeting_variable(p_address, p_node_parent); break; + case DF_Type::entity_entity_link: node_from_entity_entity_link(p_address, p_node_parent); break; + case DF_Type::entity_site_link__T_anon_8: node_from_entity_site_link__T_anon_8(p_address, p_node_parent); break; + case DF_Type::entity_site_link: node_from_entity_site_link(p_address, p_node_parent); break; + case DF_Type::resource_allotment_data__T_unk_654: node_from_resource_allotment_data__T_unk_654(p_address, p_node_parent); break; + case DF_Type::resource_allotment_data: node_from_resource_allotment_data(p_address, p_node_parent); break; + case DF_Type::stockpile_settings__T_animals: node_from_stockpile_settings__T_animals(p_address, p_node_parent); break; + case DF_Type::stockpile_settings__T_food: node_from_stockpile_settings__T_food(p_address, p_node_parent); break; + case DF_Type::stockpile_settings__T_furniture: node_from_stockpile_settings__T_furniture(p_address, p_node_parent); break; + case DF_Type::stockpile_settings__T_refuse: node_from_stockpile_settings__T_refuse(p_address, p_node_parent); break; + case DF_Type::stockpile_settings__T_stone: node_from_stockpile_settings__T_stone(p_address, p_node_parent); break; + case DF_Type::stockpile_settings__T_ore: node_from_stockpile_settings__T_ore(p_address, p_node_parent); break; + case DF_Type::stockpile_settings__T_ammo: node_from_stockpile_settings__T_ammo(p_address, p_node_parent); break; + case DF_Type::stockpile_settings__T_coins: node_from_stockpile_settings__T_coins(p_address, p_node_parent); break; + case DF_Type::stockpile_settings__T_bars_blocks: node_from_stockpile_settings__T_bars_blocks(p_address, p_node_parent); break; + case DF_Type::stockpile_settings__T_gems: node_from_stockpile_settings__T_gems(p_address, p_node_parent); break; + case DF_Type::stockpile_settings__T_finished_goods: node_from_stockpile_settings__T_finished_goods(p_address, p_node_parent); break; + case DF_Type::stockpile_settings__T_leather: node_from_stockpile_settings__T_leather(p_address, p_node_parent); break; + case DF_Type::stockpile_settings__T_cloth: node_from_stockpile_settings__T_cloth(p_address, p_node_parent); break; + case DF_Type::stockpile_settings__T_wood: node_from_stockpile_settings__T_wood(p_address, p_node_parent); break; + case DF_Type::stockpile_settings__T_weapons: node_from_stockpile_settings__T_weapons(p_address, p_node_parent); break; + case DF_Type::stockpile_settings__T_armor: node_from_stockpile_settings__T_armor(p_address, p_node_parent); break; + case DF_Type::stockpile_settings__T_sheet: node_from_stockpile_settings__T_sheet(p_address, p_node_parent); break; + case DF_Type::stockpile_settings: node_from_stockpile_settings(p_address, p_node_parent); break; + case DF_Type::building_stockpilest: node_from_building_stockpilest(p_address, p_node_parent); break; + case DF_Type::hauling_route: node_from_hauling_route(p_address, p_node_parent); break; + case DF_Type::hauling_stop: node_from_hauling_stop(p_address, p_node_parent); break; + case DF_Type::stop_depart_condition: node_from_stop_depart_condition(p_address, p_node_parent); break; + case DF_Type::vehicle: node_from_vehicle(p_address, p_node_parent); break; + case DF_Type::creature_interaction_effect_target: node_from_creature_interaction_effect_target(p_address, p_node_parent); break; + case DF_Type::creature_interaction_effect__T_counter_trigger: node_from_creature_interaction_effect__T_counter_trigger(p_address, p_node_parent); break; + case DF_Type::creature_interaction_effect: node_from_creature_interaction_effect(p_address, p_node_parent); break; + case DF_Type::creature_interaction_effect_painst: node_from_creature_interaction_effect_painst(p_address, p_node_parent); break; + case DF_Type::creature_interaction_effect_swellingst: node_from_creature_interaction_effect_swellingst(p_address, p_node_parent); break; + case DF_Type::creature_interaction_effect_oozingst: node_from_creature_interaction_effect_oozingst(p_address, p_node_parent); break; + case DF_Type::creature_interaction_effect_bruisingst: node_from_creature_interaction_effect_bruisingst(p_address, p_node_parent); break; + case DF_Type::creature_interaction_effect_blistersst: node_from_creature_interaction_effect_blistersst(p_address, p_node_parent); break; + case DF_Type::creature_interaction_effect_numbnessst: node_from_creature_interaction_effect_numbnessst(p_address, p_node_parent); break; + case DF_Type::creature_interaction_effect_paralysisst: node_from_creature_interaction_effect_paralysisst(p_address, p_node_parent); break; + case DF_Type::creature_interaction_effect_feverst: node_from_creature_interaction_effect_feverst(p_address, p_node_parent); break; + case DF_Type::creature_interaction_effect_bleedingst: node_from_creature_interaction_effect_bleedingst(p_address, p_node_parent); break; + case DF_Type::creature_interaction_effect_cough_bloodst: node_from_creature_interaction_effect_cough_bloodst(p_address, p_node_parent); break; + case DF_Type::creature_interaction_effect_vomit_bloodst: node_from_creature_interaction_effect_vomit_bloodst(p_address, p_node_parent); break; + case DF_Type::creature_interaction_effect_nauseast: node_from_creature_interaction_effect_nauseast(p_address, p_node_parent); break; + case DF_Type::creature_interaction_effect_unconsciousnessst: node_from_creature_interaction_effect_unconsciousnessst(p_address, p_node_parent); break; + case DF_Type::creature_interaction_effect_necrosisst: node_from_creature_interaction_effect_necrosisst(p_address, p_node_parent); break; + case DF_Type::creature_interaction_effect_impair_functionst: node_from_creature_interaction_effect_impair_functionst(p_address, p_node_parent); break; + case DF_Type::creature_interaction_effect_drowsinessst: node_from_creature_interaction_effect_drowsinessst(p_address, p_node_parent); break; + case DF_Type::creature_interaction_effect_dizzinessst: node_from_creature_interaction_effect_dizzinessst(p_address, p_node_parent); break; + case DF_Type::creature_interaction_effect_display_namest: node_from_creature_interaction_effect_display_namest(p_address, p_node_parent); break; + case DF_Type::creature_interaction_effect_body_appearance_modifierst: node_from_creature_interaction_effect_body_appearance_modifierst(p_address, p_node_parent); break; + case DF_Type::creature_interaction_effect_bp_appearance_modifierst: node_from_creature_interaction_effect_bp_appearance_modifierst(p_address, p_node_parent); break; + case DF_Type::creature_interaction_effect_body_transformationst: node_from_creature_interaction_effect_body_transformationst(p_address, p_node_parent); break; + case DF_Type::creature_interaction_effect_skill_roll_adjustst: node_from_creature_interaction_effect_skill_roll_adjustst(p_address, p_node_parent); break; + case DF_Type::creature_interaction_effect_display_symbolst: node_from_creature_interaction_effect_display_symbolst(p_address, p_node_parent); break; + case DF_Type::creature_interaction_effect_flash_symbolst: node_from_creature_interaction_effect_flash_symbolst(p_address, p_node_parent); break; + case DF_Type::creature_interaction_effect_phys_att_changest: node_from_creature_interaction_effect_phys_att_changest(p_address, p_node_parent); break; + case DF_Type::creature_interaction_effect_ment_att_changest: node_from_creature_interaction_effect_ment_att_changest(p_address, p_node_parent); break; + case DF_Type::creature_interaction_effect_add_simple_flagst: node_from_creature_interaction_effect_add_simple_flagst(p_address, p_node_parent); break; + case DF_Type::creature_interaction_effect_remove_simple_flagst: node_from_creature_interaction_effect_remove_simple_flagst(p_address, p_node_parent); break; + case DF_Type::creature_interaction_effect_speed_changest: node_from_creature_interaction_effect_speed_changest(p_address, p_node_parent); break; + case DF_Type::creature_interaction_effect_body_mat_interactionst: node_from_creature_interaction_effect_body_mat_interactionst(p_address, p_node_parent); break; + case DF_Type::creature_interaction_effect_material_force_adjustst: node_from_creature_interaction_effect_material_force_adjustst(p_address, p_node_parent); break; + case DF_Type::creature_interaction_effect_can_do_interactionst: node_from_creature_interaction_effect_can_do_interactionst(p_address, p_node_parent); break; + case DF_Type::creature_interaction_effect_sense_creature_classst: node_from_creature_interaction_effect_sense_creature_classst(p_address, p_node_parent); break; + case DF_Type::creature_interaction_effect_feel_emotionst: node_from_creature_interaction_effect_feel_emotionst(p_address, p_node_parent); break; + case DF_Type::creature_interaction_effect_change_personalityst: node_from_creature_interaction_effect_change_personalityst(p_address, p_node_parent); break; + case DF_Type::creature_interaction_effect_erratic_behaviorst: node_from_creature_interaction_effect_erratic_behaviorst(p_address, p_node_parent); break; + case DF_Type::syndrome: node_from_syndrome(p_address, p_node_parent); break; + case DF_Type::ui_build_item_req: node_from_ui_build_item_req(p_address, p_node_parent); break; + case DF_Type::build_req_choice_genst: node_from_build_req_choice_genst(p_address, p_node_parent); break; + case DF_Type::build_req_choice_specst: node_from_build_req_choice_specst(p_address, p_node_parent); break; + case DF_Type::ui_build_selector: node_from_ui_build_selector(p_address, p_node_parent); break; + case DF_Type::interface_button: node_from_interface_button(p_address, p_node_parent); break; + case DF_Type::interface_button_buildingst: node_from_interface_button_buildingst(p_address, p_node_parent); break; + case DF_Type::interface_button_building_category_selectorst: node_from_interface_button_building_category_selectorst(p_address, p_node_parent); break; + case DF_Type::interface_button_building_material_selectorst: node_from_interface_button_building_material_selectorst(p_address, p_node_parent); break; + case DF_Type::interface_button_building_new_jobst: node_from_interface_button_building_new_jobst(p_address, p_node_parent); break; + case DF_Type::interface_button_building_custom_category_selectorst: node_from_interface_button_building_custom_category_selectorst(p_address, p_node_parent); break; + case DF_Type::interface_button_constructionst: node_from_interface_button_constructionst(p_address, p_node_parent); break; + case DF_Type::interface_button_construction_donest: node_from_interface_button_construction_donest(p_address, p_node_parent); break; + case DF_Type::interface_button_construction_category_selectorst: node_from_interface_button_construction_category_selectorst(p_address, p_node_parent); break; + case DF_Type::interface_button_construction_building_selectorst: node_from_interface_button_construction_building_selectorst(p_address, p_node_parent); break; + case DF_Type::ui_sidebar_menus__T_designation: node_from_ui_sidebar_menus__T_designation(p_address, p_node_parent); break; + case DF_Type::ui_sidebar_menus__T_workshop_job: node_from_ui_sidebar_menus__T_workshop_job(p_address, p_node_parent); break; + case DF_Type::ui_sidebar_menus__T_building: node_from_ui_sidebar_menus__T_building(p_address, p_node_parent); break; + case DF_Type::ui_sidebar_menus__T_zone: node_from_ui_sidebar_menus__T_zone(p_address, p_node_parent); break; + case DF_Type::ui_sidebar_menus__T_unit: node_from_ui_sidebar_menus__T_unit(p_address, p_node_parent); break; + case DF_Type::ui_sidebar_menus__T_hospital: node_from_ui_sidebar_menus__T_hospital(p_address, p_node_parent); break; + case DF_Type::ui_sidebar_menus__T_location: node_from_ui_sidebar_menus__T_location(p_address, p_node_parent); break; + case DF_Type::ui_sidebar_menus__T_job_details: node_from_ui_sidebar_menus__T_job_details(p_address, p_node_parent); break; + case DF_Type::ui_sidebar_menus__T_unit_cursor: node_from_ui_sidebar_menus__T_unit_cursor(p_address, p_node_parent); break; + case DF_Type::ui_sidebar_menus__T_unit_skills: node_from_ui_sidebar_menus__T_unit_skills(p_address, p_node_parent); break; + case DF_Type::ui_sidebar_menus__T_barracks: node_from_ui_sidebar_menus__T_barracks(p_address, p_node_parent); break; + case DF_Type::ui_sidebar_menus__T_minimap: node_from_ui_sidebar_menus__T_minimap(p_address, p_node_parent); break; + case DF_Type::ui_sidebar_menus__T_command_line: node_from_ui_sidebar_menus__T_command_line(p_address, p_node_parent); break; + case DF_Type::ui_sidebar_menus: node_from_ui_sidebar_menus(p_address, p_node_parent); break; + case DF_Type::ui_look_list__T_items___union3: node_from_ui_look_list__T_items___union3(p_address, p_node_parent); break; + case DF_Type::ui_look_list__T_items: node_from_ui_look_list__T_items(p_address, p_node_parent); break; + case DF_Type::ui_look_list: node_from_ui_look_list(p_address, p_node_parent); break; + case DF_Type::ui_unit_view_mode: node_from_ui_unit_view_mode(p_address, p_node_parent); break; + case DF_Type::punishment: node_from_punishment(p_address, p_node_parent); break; + case DF_Type::timed_event: node_from_timed_event(p_address, p_node_parent); break; + case DF_Type::map_renderer__T_anon_4: node_from_map_renderer__T_anon_4(p_address, p_node_parent); break; + case DF_Type::map_renderer: node_from_map_renderer(p_address, p_node_parent); break; + case DF_Type::unit__T_path: node_from_unit__T_path(p_address, p_node_parent); break; + case DF_Type::unit__T_meeting: node_from_unit__T_meeting(p_address, p_node_parent); break; + case DF_Type::unit__T_military: node_from_unit__T_military(p_address, p_node_parent); break; + case DF_Type::unit__T_animal: node_from_unit__T_animal(p_address, p_node_parent); break; + case DF_Type::unit__T_opponent: node_from_unit__T_opponent(p_address, p_node_parent); break; + case DF_Type::unit__T_job: node_from_unit__T_job(p_address, p_node_parent); break; + case DF_Type::unit__T_body: node_from_unit__T_body(p_address, p_node_parent); break; + case DF_Type::unit__T_appearance: node_from_unit__T_appearance(p_address, p_node_parent); break; + case DF_Type::unit__T_counters: node_from_unit__T_counters(p_address, p_node_parent); break; + case DF_Type::unit__T_curse: node_from_unit__T_curse(p_address, p_node_parent); break; + case DF_Type::unit__T_counters2: node_from_unit__T_counters2(p_address, p_node_parent); break; + case DF_Type::unit__T_status__T_eat_history__T_food: node_from_unit__T_status__T_eat_history__T_food(p_address, p_node_parent); break; + case DF_Type::unit__T_status__T_eat_history__T_drink: node_from_unit__T_status__T_eat_history__T_drink(p_address, p_node_parent); break; + case DF_Type::unit__T_status__T_eat_history: node_from_unit__T_status__T_eat_history(p_address, p_node_parent); break; + case DF_Type::unit__T_status: node_from_unit__T_status(p_address, p_node_parent); break; + case DF_Type::unit__T_status2: node_from_unit__T_status2(p_address, p_node_parent); break; + case DF_Type::unit__T_unknown7: node_from_unit__T_unknown7(p_address, p_node_parent); break; + case DF_Type::unit__T_syndromes: node_from_unit__T_syndromes(p_address, p_node_parent); break; + case DF_Type::unit__T_reports: node_from_unit__T_reports(p_address, p_node_parent); break; + case DF_Type::unit__T_enemy__T_undead: node_from_unit__T_enemy__T_undead(p_address, p_node_parent); break; + case DF_Type::unit__T_enemy__T_witness_reports: node_from_unit__T_enemy__T_witness_reports(p_address, p_node_parent); break; + case DF_Type::unit__T_enemy__T_unk_448__T_unk: node_from_unit__T_enemy__T_unk_448__T_unk(p_address, p_node_parent); break; + case DF_Type::unit__T_enemy__T_unk_448: node_from_unit__T_enemy__T_unk_448(p_address, p_node_parent); break; + case DF_Type::unit__T_enemy__T_unk_44c: node_from_unit__T_enemy__T_unk_44c(p_address, p_node_parent); break; + case DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_2: node_from_unit__T_enemy__T_unk_v40_sub3__T_unk_2(p_address, p_node_parent); break; + case DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_6: node_from_unit__T_enemy__T_unk_v40_sub3__T_unk_6(p_address, p_node_parent); break; + case DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7__T_unk_sub1: node_from_unit__T_enemy__T_unk_v40_sub3__T_unk_7__T_unk_sub1(p_address, p_node_parent); break; + case DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7: node_from_unit__T_enemy__T_unk_v40_sub3__T_unk_7(p_address, p_node_parent); break; + case DF_Type::unit__T_enemy__T_unk_v40_sub3: node_from_unit__T_enemy__T_unk_v40_sub3(p_address, p_node_parent); break; + case DF_Type::unit__T_enemy: node_from_unit__T_enemy(p_address, p_node_parent); break; + case DF_Type::unit: node_from_unit(p_address, p_node_parent); break; + case DF_Type::unit_ghost_info__T_target: node_from_unit_ghost_info__T_target(p_address, p_node_parent); break; + case DF_Type::unit_ghost_info: node_from_unit_ghost_info(p_address, p_node_parent); break; + case DF_Type::unit_inventory_item: node_from_unit_inventory_item(p_address, p_node_parent); break; + case DF_Type::unit_syndrome__T_symptoms: node_from_unit_syndrome__T_symptoms(p_address, p_node_parent); break; + case DF_Type::unit_syndrome: node_from_unit_syndrome(p_address, p_node_parent); break; + case DF_Type::unit_wound__T_parts: node_from_unit_wound__T_parts(p_address, p_node_parent); break; + case DF_Type::unit_wound: node_from_unit_wound(p_address, p_node_parent); break; + case DF_Type::wound_curse_info: node_from_wound_curse_info(p_address, p_node_parent); break; + case DF_Type::unit_misc_trait: node_from_unit_misc_trait(p_address, p_node_parent); break; + case DF_Type::unit_health_info__T_op_history__T_info__T_crutch: node_from_unit_health_info__T_op_history__T_info__T_crutch(p_address, p_node_parent); break; + case DF_Type::unit_health_info__T_op_history__T_info__T_bandage: node_from_unit_health_info__T_op_history__T_info__T_bandage(p_address, p_node_parent); break; + case DF_Type::unit_health_info__T_op_history__T_info: node_from_unit_health_info__T_op_history__T_info(p_address, p_node_parent); break; + case DF_Type::unit_health_info__T_op_history: node_from_unit_health_info__T_op_history(p_address, p_node_parent); break; + case DF_Type::unit_health_info: node_from_unit_health_info(p_address, p_node_parent); break; + case DF_Type::unit_instrument_skill: node_from_unit_instrument_skill(p_address, p_node_parent); break; + case DF_Type::unit_poetic_skill: node_from_unit_poetic_skill(p_address, p_node_parent); break; + case DF_Type::unit_musical_skill: node_from_unit_musical_skill(p_address, p_node_parent); break; + case DF_Type::unit_dance_skill: node_from_unit_dance_skill(p_address, p_node_parent); break; + case DF_Type::unit_emotion_memory: node_from_unit_emotion_memory(p_address, p_node_parent); break; + case DF_Type::unit_personality__T_values: node_from_unit_personality__T_values(p_address, p_node_parent); break; + case DF_Type::unit_personality__T_unk_v40_2: node_from_unit_personality__T_unk_v40_2(p_address, p_node_parent); break; + case DF_Type::unit_personality__T_emotions: node_from_unit_personality__T_emotions(p_address, p_node_parent); break; + case DF_Type::unit_personality__T_dreams: node_from_unit_personality__T_dreams(p_address, p_node_parent); break; + case DF_Type::unit_personality__T_unk_v40_6: node_from_unit_personality__T_unk_v40_6(p_address, p_node_parent); break; + case DF_Type::unit_personality__T_unk5: node_from_unit_personality__T_unk5(p_address, p_node_parent); break; + case DF_Type::unit_personality__T_needs: node_from_unit_personality__T_needs(p_address, p_node_parent); break; + case DF_Type::unit_personality__T_memories__T_reflected_on: node_from_unit_personality__T_memories__T_reflected_on(p_address, p_node_parent); break; + case DF_Type::unit_personality__T_memories: node_from_unit_personality__T_memories(p_address, p_node_parent); break; + case DF_Type::unit_personality: node_from_unit_personality(p_address, p_node_parent); break; + case DF_Type::historical_figure_info__T_skills: node_from_historical_figure_info__T_skills(p_address, p_node_parent); break; + case DF_Type::historical_figure_info__T_personality: node_from_historical_figure_info__T_personality(p_address, p_node_parent); break; + case DF_Type::historical_figure_info__T_masterpieces: node_from_historical_figure_info__T_masterpieces(p_address, p_node_parent); break; + case DF_Type::historical_figure_info__T_unk_14: node_from_historical_figure_info__T_unk_14(p_address, p_node_parent); break; + case DF_Type::historical_figure_info__T_wounds: node_from_historical_figure_info__T_wounds(p_address, p_node_parent); break; + case DF_Type::historical_figure_info__T_secret__T_anon_1: node_from_historical_figure_info__T_secret__T_anon_1(p_address, p_node_parent); break; + case DF_Type::historical_figure_info__T_secret__T_anon_7: node_from_historical_figure_info__T_secret__T_anon_7(p_address, p_node_parent); break; + case DF_Type::historical_figure_info__T_secret__T_knowledge: node_from_historical_figure_info__T_secret__T_knowledge(p_address, p_node_parent); break; + case DF_Type::historical_figure_info__T_secret__T_unk_a8: node_from_historical_figure_info__T_secret__T_unk_a8(p_address, p_node_parent); break; + case DF_Type::historical_figure_info__T_secret: node_from_historical_figure_info__T_secret(p_address, p_node_parent); break; + case DF_Type::historical_figure_info__T_curse: node_from_historical_figure_info__T_curse(p_address, p_node_parent); break; + case DF_Type::historical_figure_info__T_books: node_from_historical_figure_info__T_books(p_address, p_node_parent); break; + case DF_Type::historical_figure_info__T_reputation__T_wanted: node_from_historical_figure_info__T_reputation__T_wanted(p_address, p_node_parent); break; + case DF_Type::historical_figure_info__T_reputation__T_anon_1: node_from_historical_figure_info__T_reputation__T_anon_1(p_address, p_node_parent); break; + case DF_Type::historical_figure_info__T_reputation__T_unk_2c__T_anon_12: node_from_historical_figure_info__T_reputation__T_unk_2c__T_anon_12(p_address, p_node_parent); break; + case DF_Type::historical_figure_info__T_reputation__T_unk_2c: node_from_historical_figure_info__T_reputation__T_unk_2c(p_address, p_node_parent); break; + case DF_Type::historical_figure_info__T_reputation: node_from_historical_figure_info__T_reputation(p_address, p_node_parent); break; + case DF_Type::historical_figure_info__T_relationships__T_list: node_from_historical_figure_info__T_relationships__T_list(p_address, p_node_parent); break; + case DF_Type::historical_figure_info__T_relationships__T_anon_1: node_from_historical_figure_info__T_relationships__T_anon_1(p_address, p_node_parent); break; + case DF_Type::historical_figure_info__T_relationships__T_anon_2: node_from_historical_figure_info__T_relationships__T_anon_2(p_address, p_node_parent); break; + case DF_Type::historical_figure_info__T_relationships__T_anon_3: node_from_historical_figure_info__T_relationships__T_anon_3(p_address, p_node_parent); break; + case DF_Type::historical_figure_info__T_relationships: node_from_historical_figure_info__T_relationships(p_address, p_node_parent); break; + case DF_Type::historical_figure_info: node_from_historical_figure_info(p_address, p_node_parent); break; + case DF_Type::unit_soul__T_performance_skills: node_from_unit_soul__T_performance_skills(p_address, p_node_parent); break; + case DF_Type::unit_soul: node_from_unit_soul(p_address, p_node_parent); break; + case DF_Type::unit_action__T_data__T_move: node_from_unit_action__T_data__T_move(p_address, p_node_parent); break; + case DF_Type::unit_action__T_data__T_attack__T_unk_4: node_from_unit_action__T_data__T_attack__T_unk_4(p_address, p_node_parent); break; + case DF_Type::unit_action__T_data__T_attack: node_from_unit_action__T_data__T_attack(p_address, p_node_parent); break; + case DF_Type::unit_action__T_data__T_jump: node_from_unit_action__T_data__T_jump(p_address, p_node_parent); break; + case DF_Type::unit_action__T_data__T_holdterrain: node_from_unit_action__T_data__T_holdterrain(p_address, p_node_parent); break; + case DF_Type::unit_action__T_data__T_releaseterrain: node_from_unit_action__T_data__T_releaseterrain(p_address, p_node_parent); break; + case DF_Type::unit_action__T_data__T_climb: node_from_unit_action__T_data__T_climb(p_address, p_node_parent); break; + case DF_Type::unit_action__T_data__T_job: node_from_unit_action__T_data__T_job(p_address, p_node_parent); break; + case DF_Type::unit_action__T_data__T_talk: node_from_unit_action__T_data__T_talk(p_address, p_node_parent); break; + case DF_Type::unit_action__T_data__T_unsteady: node_from_unit_action__T_data__T_unsteady(p_address, p_node_parent); break; + case DF_Type::unit_action__T_data__T_parry: node_from_unit_action__T_data__T_parry(p_address, p_node_parent); break; + case DF_Type::unit_action__T_data__T_block: node_from_unit_action__T_data__T_block(p_address, p_node_parent); break; + case DF_Type::unit_action__T_data__T_dodge: node_from_unit_action__T_data__T_dodge(p_address, p_node_parent); break; + case DF_Type::unit_action__T_data__T_recover: node_from_unit_action__T_data__T_recover(p_address, p_node_parent); break; + case DF_Type::unit_action__T_data__T_standup: node_from_unit_action__T_data__T_standup(p_address, p_node_parent); break; + case DF_Type::unit_action__T_data__T_liedown: node_from_unit_action__T_data__T_liedown(p_address, p_node_parent); break; + case DF_Type::unit_action__T_data__T_job2: node_from_unit_action__T_data__T_job2(p_address, p_node_parent); break; + case DF_Type::unit_action__T_data__T_pushobject: node_from_unit_action__T_data__T_pushobject(p_address, p_node_parent); break; + case DF_Type::unit_action__T_data__T_suckblood: node_from_unit_action__T_data__T_suckblood(p_address, p_node_parent); break; + case DF_Type::unit_action__T_data__T_holditem: node_from_unit_action__T_data__T_holditem(p_address, p_node_parent); break; + case DF_Type::unit_action__T_data__T_releaseitem: node_from_unit_action__T_data__T_releaseitem(p_address, p_node_parent); break; + case DF_Type::unit_action__T_data: node_from_unit_action__T_data(p_address, p_node_parent); break; + case DF_Type::unit_action: node_from_unit_action(p_address, p_node_parent); break; + case DF_Type::unit_skill: node_from_unit_skill(p_address, p_node_parent); break; + case DF_Type::unit_preference___union5: node_from_unit_preference___union5(p_address, p_node_parent); break; + case DF_Type::unit_preference: node_from_unit_preference(p_address, p_node_parent); break; + case DF_Type::unit_complaint: node_from_unit_complaint(p_address, p_node_parent); break; + case DF_Type::unit_request: node_from_unit_request(p_address, p_node_parent); break; + case DF_Type::unit_chunk__T_units: node_from_unit_chunk__T_units(p_address, p_node_parent); break; + case DF_Type::unit_chunk: node_from_unit_chunk(p_address, p_node_parent); break; + case DF_Type::unit_appearance: node_from_unit_appearance(p_address, p_node_parent); break; + case DF_Type::vermin: node_from_vermin(p_address, p_node_parent); break; + case DF_Type::viewscreen: node_from_viewscreen(p_address, p_node_parent); break; + case DF_Type::viewscreen_layer: node_from_viewscreen_layer(p_address, p_node_parent); break; + case DF_Type::interfacest: node_from_interfacest(p_address, p_node_parent); break; + case DF_Type::layer_object_listst: node_from_layer_object_listst(p_address, p_node_parent); break; + case DF_Type::KeybindingScreen: node_from_KeybindingScreen(p_address, p_node_parent); break; + case DF_Type::MacroScreenLoad: node_from_MacroScreenLoad(p_address, p_node_parent); break; + case DF_Type::MacroScreenSave: node_from_MacroScreenSave(p_address, p_node_parent); break; + case DF_Type::world_dat_summary: node_from_world_dat_summary(p_address, p_node_parent); break; + case DF_Type::viewscreen_adopt_regionst: node_from_viewscreen_adopt_regionst(p_address, p_node_parent); break; + case DF_Type::viewscreen_adventure_logst: node_from_viewscreen_adventure_logst(p_address, p_node_parent); break; + case DF_Type::viewscreen_announcelistst: node_from_viewscreen_announcelistst(p_address, p_node_parent); break; + case DF_Type::viewscreen_assign_display_itemst: node_from_viewscreen_assign_display_itemst(p_address, p_node_parent); break; + case DF_Type::viewscreen_barterst: node_from_viewscreen_barterst(p_address, p_node_parent); break; + case DF_Type::viewscreen_buildingst: node_from_viewscreen_buildingst(p_address, p_node_parent); break; + case DF_Type::viewscreen_buildinglistst: node_from_viewscreen_buildinglistst(p_address, p_node_parent); break; + case DF_Type::embark_location: node_from_embark_location(p_address, p_node_parent); break; + case DF_Type::viewscreen_choose_start_sitest__T_finder: node_from_viewscreen_choose_start_sitest__T_finder(p_address, p_node_parent); break; + case DF_Type::viewscreen_choose_start_sitest: node_from_viewscreen_choose_start_sitest(p_address, p_node_parent); break; + case DF_Type::mission__T_details__T_raid: node_from_mission__T_details__T_raid(p_address, p_node_parent); break; + case DF_Type::mission__T_details__T_recovery: node_from_mission__T_details__T_recovery(p_address, p_node_parent); break; + case DF_Type::mission__T_details__T_rescue: node_from_mission__T_details__T_rescue(p_address, p_node_parent); break; + case DF_Type::mission__T_details__T_request: node_from_mission__T_details__T_request(p_address, p_node_parent); break; + case DF_Type::mission__T_details: node_from_mission__T_details(p_address, p_node_parent); break; + case DF_Type::mission: node_from_mission(p_address, p_node_parent); break; + case DF_Type::viewscreen_civlistst__T_artifact_details: node_from_viewscreen_civlistst__T_artifact_details(p_address, p_node_parent); break; + case DF_Type::viewscreen_civlistst__T_rumors: node_from_viewscreen_civlistst__T_rumors(p_address, p_node_parent); break; + case DF_Type::viewscreen_civlistst__T_unk_cache__T_tmp1: node_from_viewscreen_civlistst__T_unk_cache__T_tmp1(p_address, p_node_parent); break; + case DF_Type::viewscreen_civlistst__T_unk_cache__T_tmp2: node_from_viewscreen_civlistst__T_unk_cache__T_tmp2(p_address, p_node_parent); break; + case DF_Type::viewscreen_civlistst__T_unk_cache: node_from_viewscreen_civlistst__T_unk_cache(p_address, p_node_parent); break; + case DF_Type::viewscreen_civlistst: node_from_viewscreen_civlistst(p_address, p_node_parent); break; + case DF_Type::viewscreen_createquotast: node_from_viewscreen_createquotast(p_address, p_node_parent); break; + case DF_Type::viewscreen_customize_unitst: node_from_viewscreen_customize_unitst(p_address, p_node_parent); break; + case DF_Type::viewscreen_dungeon_monsterstatusst: node_from_viewscreen_dungeon_monsterstatusst(p_address, p_node_parent); break; + case DF_Type::viewscreen_dungeon_wrestlest__T_unk1: node_from_viewscreen_dungeon_wrestlest__T_unk1(p_address, p_node_parent); break; + case DF_Type::viewscreen_dungeon_wrestlest: node_from_viewscreen_dungeon_wrestlest(p_address, p_node_parent); break; + case DF_Type::viewscreen_dungeonmodest: node_from_viewscreen_dungeonmodest(p_address, p_node_parent); break; + case DF_Type::viewscreen_dwarfmodest: node_from_viewscreen_dwarfmodest(p_address, p_node_parent); break; + case DF_Type::viewscreen_entityst: node_from_viewscreen_entityst(p_address, p_node_parent); break; + case DF_Type::viewscreen_export_graphical_mapst: node_from_viewscreen_export_graphical_mapst(p_address, p_node_parent); break; + case DF_Type::viewscreen_export_regionst__T_unk1: node_from_viewscreen_export_regionst__T_unk1(p_address, p_node_parent); break; + case DF_Type::viewscreen_export_regionst: node_from_viewscreen_export_regionst(p_address, p_node_parent); break; + case DF_Type::viewscreen_game_cleanerst: node_from_viewscreen_game_cleanerst(p_address, p_node_parent); break; + case DF_Type::viewscreen_image_creatorst__T_descriptions: node_from_viewscreen_image_creatorst__T_descriptions(p_address, p_node_parent); break; + case DF_Type::viewscreen_image_creatorst__T_sites: node_from_viewscreen_image_creatorst__T_sites(p_address, p_node_parent); break; + case DF_Type::viewscreen_image_creatorst__T_entities: node_from_viewscreen_image_creatorst__T_entities(p_address, p_node_parent); break; + case DF_Type::viewscreen_image_creatorst__T_plants: node_from_viewscreen_image_creatorst__T_plants(p_address, p_node_parent); break; + case DF_Type::viewscreen_image_creatorst__T_trees: node_from_viewscreen_image_creatorst__T_trees(p_address, p_node_parent); break; + case DF_Type::viewscreen_image_creatorst__T_shapes: node_from_viewscreen_image_creatorst__T_shapes(p_address, p_node_parent); break; + case DF_Type::viewscreen_image_creatorst__T_objects: node_from_viewscreen_image_creatorst__T_objects(p_address, p_node_parent); break; + case DF_Type::viewscreen_image_creatorst__T_artifacts: node_from_viewscreen_image_creatorst__T_artifacts(p_address, p_node_parent); break; + case DF_Type::viewscreen_image_creatorst: node_from_viewscreen_image_creatorst(p_address, p_node_parent); break; + case DF_Type::viewscreen_itemst: node_from_viewscreen_itemst(p_address, p_node_parent); break; + case DF_Type::viewscreen_jobst: node_from_viewscreen_jobst(p_address, p_node_parent); break; + case DF_Type::viewscreen_joblistst: node_from_viewscreen_joblistst(p_address, p_node_parent); break; + case DF_Type::viewscreen_jobmanagementst: node_from_viewscreen_jobmanagementst(p_address, p_node_parent); break; + case DF_Type::viewscreen_justicest: node_from_viewscreen_justicest(p_address, p_node_parent); break; + case DF_Type::viewscreen_kitchenprefst: node_from_viewscreen_kitchenprefst(p_address, p_node_parent); break; + case DF_Type::viewscreen_layer_arena_creaturest: node_from_viewscreen_layer_arena_creaturest(p_address, p_node_parent); break; + case DF_Type::assign_trade_status: node_from_assign_trade_status(p_address, p_node_parent); break; + case DF_Type::viewscreen_layer_assigntradest: node_from_viewscreen_layer_assigntradest(p_address, p_node_parent); break; + case DF_Type::viewscreen_layer_choose_language_namest: node_from_viewscreen_layer_choose_language_namest(p_address, p_node_parent); break; + case DF_Type::viewscreen_layer_currencyst: node_from_viewscreen_layer_currencyst(p_address, p_node_parent); break; + case DF_Type::viewscreen_layer_export_play_mapst: node_from_viewscreen_layer_export_play_mapst(p_address, p_node_parent); break; + case DF_Type::viewscreen_layer_militaryst__T_squads: node_from_viewscreen_layer_militaryst__T_squads(p_address, p_node_parent); break; + case DF_Type::viewscreen_layer_militaryst__T_positions: node_from_viewscreen_layer_militaryst__T_positions(p_address, p_node_parent); break; + case DF_Type::viewscreen_layer_militaryst__T_squad_members: node_from_viewscreen_layer_militaryst__T_squad_members(p_address, p_node_parent); break; + case DF_Type::viewscreen_layer_militaryst__T_equip__T_assigned: node_from_viewscreen_layer_militaryst__T_equip__T_assigned(p_address, p_node_parent); break; + case DF_Type::viewscreen_layer_militaryst__T_equip__T_uniform: node_from_viewscreen_layer_militaryst__T_equip__T_uniform(p_address, p_node_parent); break; + case DF_Type::viewscreen_layer_militaryst__T_equip__T_add_item: node_from_viewscreen_layer_militaryst__T_equip__T_add_item(p_address, p_node_parent); break; + case DF_Type::viewscreen_layer_militaryst__T_equip__T_material: node_from_viewscreen_layer_militaryst__T_equip__T_material(p_address, p_node_parent); break; + case DF_Type::viewscreen_layer_militaryst__T_equip__T_color: node_from_viewscreen_layer_militaryst__T_equip__T_color(p_address, p_node_parent); break; + case DF_Type::viewscreen_layer_militaryst__T_equip: node_from_viewscreen_layer_militaryst__T_equip(p_address, p_node_parent); break; + case DF_Type::viewscreen_layer_militaryst__T_ammo__T_add_item: node_from_viewscreen_layer_militaryst__T_ammo__T_add_item(p_address, p_node_parent); break; + case DF_Type::viewscreen_layer_militaryst__T_ammo__T_material: node_from_viewscreen_layer_militaryst__T_ammo__T_material(p_address, p_node_parent); break; + case DF_Type::viewscreen_layer_militaryst__T_ammo: node_from_viewscreen_layer_militaryst__T_ammo(p_address, p_node_parent); break; + case DF_Type::viewscreen_layer_militaryst: node_from_viewscreen_layer_militaryst(p_address, p_node_parent); break; + case DF_Type::viewscreen_layer_musicsoundst: node_from_viewscreen_layer_musicsoundst(p_address, p_node_parent); break; + case DF_Type::unit_storage_status: node_from_unit_storage_status(p_address, p_node_parent); break; + case DF_Type::viewscreen_layer_noblelistst__T_info: node_from_viewscreen_layer_noblelistst__T_info(p_address, p_node_parent); break; + case DF_Type::viewscreen_layer_noblelistst__T_candidates: node_from_viewscreen_layer_noblelistst__T_candidates(p_address, p_node_parent); break; + case DF_Type::viewscreen_layer_noblelistst: node_from_viewscreen_layer_noblelistst(p_address, p_node_parent); break; + case DF_Type::viewscreen_layer_overall_healthst: node_from_viewscreen_layer_overall_healthst(p_address, p_node_parent); break; + case DF_Type::viewscreen_layer_reactionst: node_from_viewscreen_layer_reactionst(p_address, p_node_parent); break; + case DF_Type::viewscreen_layer_squad_schedulest: node_from_viewscreen_layer_squad_schedulest(p_address, p_node_parent); break; + case DF_Type::viewscreen_layer_stockpilest: node_from_viewscreen_layer_stockpilest(p_address, p_node_parent); break; + case DF_Type::viewscreen_layer_stone_restrictionst: node_from_viewscreen_layer_stone_restrictionst(p_address, p_node_parent); break; + case DF_Type::viewscreen_layer_unit_actionst: node_from_viewscreen_layer_unit_actionst(p_address, p_node_parent); break; + case DF_Type::viewscreen_layer_unit_healthst: node_from_viewscreen_layer_unit_healthst(p_address, p_node_parent); break; + case DF_Type::viewscreen_layer_unit_relationshipst: node_from_viewscreen_layer_unit_relationshipst(p_address, p_node_parent); break; + case DF_Type::viewscreen_layer_world_gen_paramst__T_unk1: node_from_viewscreen_layer_world_gen_paramst__T_unk1(p_address, p_node_parent); break; + case DF_Type::viewscreen_layer_world_gen_paramst: node_from_viewscreen_layer_world_gen_paramst(p_address, p_node_parent); break; + case DF_Type::viewscreen_layer_world_gen_param_presetst: node_from_viewscreen_layer_world_gen_param_presetst(p_address, p_node_parent); break; + case DF_Type::viewscreen_legendsst__T_anon_7__T_anon_3: node_from_viewscreen_legendsst__T_anon_7__T_anon_3(p_address, p_node_parent); break; + case DF_Type::viewscreen_legendsst__T_anon_7: node_from_viewscreen_legendsst__T_anon_7(p_address, p_node_parent); break; + case DF_Type::viewscreen_legendsst: node_from_viewscreen_legendsst(p_address, p_node_parent); break; + case DF_Type::viewscreen_locationsst: node_from_viewscreen_locationsst(p_address, p_node_parent); break; + case DF_Type::loadgame_save_info: node_from_loadgame_save_info(p_address, p_node_parent); break; + case DF_Type::viewscreen_loadgamest: node_from_viewscreen_loadgamest(p_address, p_node_parent); break; + case DF_Type::viewscreen_meetingst: node_from_viewscreen_meetingst(p_address, p_node_parent); break; + case DF_Type::viewscreen_movieplayerst: node_from_viewscreen_movieplayerst(p_address, p_node_parent); break; + case DF_Type::viewscreen_new_regionst: node_from_viewscreen_new_regionst(p_address, p_node_parent); break; + case DF_Type::viewscreen_noblest: node_from_viewscreen_noblest(p_address, p_node_parent); break; + case DF_Type::viewscreen_optionst: node_from_viewscreen_optionst(p_address, p_node_parent); break; + case DF_Type::viewscreen_overallstatusst: node_from_viewscreen_overallstatusst(p_address, p_node_parent); break; + case DF_Type::viewscreen_petitionsst: node_from_viewscreen_petitionsst(p_address, p_node_parent); break; + case DF_Type::viewscreen_petst__T_animal: node_from_viewscreen_petst__T_animal(p_address, p_node_parent); break; + case DF_Type::viewscreen_petst: node_from_viewscreen_petst(p_address, p_node_parent); break; + case DF_Type::viewscreen_pricest: node_from_viewscreen_pricest(p_address, p_node_parent); break; + case DF_Type::viewscreen_reportlistst: node_from_viewscreen_reportlistst(p_address, p_node_parent); break; + case DF_Type::viewscreen_requestagreementst: node_from_viewscreen_requestagreementst(p_address, p_node_parent); break; + case DF_Type::nemesis_offload: node_from_nemesis_offload(p_address, p_node_parent); break; + case DF_Type::ui__T_tax_collection: node_from_ui__T_tax_collection(p_address, p_node_parent); break; + case DF_Type::ui__T_becoming_capital: node_from_ui__T_becoming_capital(p_address, p_node_parent); break; + case DF_Type::ui__T_invasions: node_from_ui__T_invasions(p_address, p_node_parent); break; + case DF_Type::ui__T_kitchen: node_from_ui__T_kitchen(p_address, p_node_parent); break; + case DF_Type::ui__T_economy_prices__T_price_adjustment: node_from_ui__T_economy_prices__T_price_adjustment(p_address, p_node_parent); break; + case DF_Type::ui__T_economy_prices__T_price_setter: node_from_ui__T_economy_prices__T_price_setter(p_address, p_node_parent); break; + case DF_Type::ui__T_economy_prices: node_from_ui__T_economy_prices(p_address, p_node_parent); break; + case DF_Type::ui__T_stockpile: node_from_ui__T_stockpile(p_address, p_node_parent); break; + case DF_Type::ui__T_unk2a8c: node_from_ui__T_unk2a8c(p_address, p_node_parent); break; + case DF_Type::ui__T_map_edge: node_from_ui__T_map_edge(p_address, p_node_parent); break; + case DF_Type::ui__T_waypoints__T_points: node_from_ui__T_waypoints__T_points(p_address, p_node_parent); break; + case DF_Type::ui__T_waypoints__T_routes: node_from_ui__T_waypoints__T_routes(p_address, p_node_parent); break; + case DF_Type::ui__T_waypoints: node_from_ui__T_waypoints(p_address, p_node_parent); break; + case DF_Type::ui__T_burrows: node_from_ui__T_burrows(p_address, p_node_parent); break; + case DF_Type::ui__T_alerts__T_list: node_from_ui__T_alerts__T_list(p_address, p_node_parent); break; + case DF_Type::ui__T_alerts: node_from_ui__T_alerts(p_address, p_node_parent); break; + case DF_Type::ui__T_equipment: node_from_ui__T_equipment(p_address, p_node_parent); break; + case DF_Type::ui__T_hauling: node_from_ui__T_hauling(p_address, p_node_parent); break; + case DF_Type::ui__T_main__T_dead_citizens: node_from_ui__T_main__T_dead_citizens(p_address, p_node_parent); break; + case DF_Type::ui__T_main: node_from_ui__T_main(p_address, p_node_parent); break; + case DF_Type::ui__T_squads: node_from_ui__T_squads(p_address, p_node_parent); break; + case DF_Type::ui: node_from_ui(p_address, p_node_parent); break; + case DF_Type::viewscreen_savegamest: node_from_viewscreen_savegamest(p_address, p_node_parent); break; + case DF_Type::viewscreen_selectitemst: node_from_viewscreen_selectitemst(p_address, p_node_parent); break; + case DF_Type::setup_character_info: node_from_setup_character_info(p_address, p_node_parent); break; + case DF_Type::viewscreen_setupadventurest__T_races_info: node_from_viewscreen_setupadventurest__T_races_info(p_address, p_node_parent); break; + case DF_Type::viewscreen_setupadventurest: node_from_viewscreen_setupadventurest(p_address, p_node_parent); break; + case DF_Type::embark_item_choice__T_list: node_from_embark_item_choice__T_list(p_address, p_node_parent); break; + case DF_Type::embark_item_choice: node_from_embark_item_choice(p_address, p_node_parent); break; + case DF_Type::embark_profile: node_from_embark_profile(p_address, p_node_parent); break; + case DF_Type::viewscreen_setupdwarfgamest__T_animals: node_from_viewscreen_setupdwarfgamest__T_animals(p_address, p_node_parent); break; + case DF_Type::viewscreen_setupdwarfgamest__T_unk_v43__T_unk_v43_sub9: node_from_viewscreen_setupdwarfgamest__T_unk_v43__T_unk_v43_sub9(p_address, p_node_parent); break; + case DF_Type::viewscreen_setupdwarfgamest__T_unk_v43: node_from_viewscreen_setupdwarfgamest__T_unk_v43(p_address, p_node_parent); break; + case DF_Type::viewscreen_setupdwarfgamest: node_from_viewscreen_setupdwarfgamest(p_address, p_node_parent); break; + case DF_Type::viewscreen_storesst: node_from_viewscreen_storesst(p_address, p_node_parent); break; + case DF_Type::viewscreen_textviewerst__T_formatted_text: node_from_viewscreen_textviewerst__T_formatted_text(p_address, p_node_parent); break; + case DF_Type::viewscreen_textviewerst: node_from_viewscreen_textviewerst(p_address, p_node_parent); break; + case DF_Type::viewscreen_titlest__T_start_savegames: node_from_viewscreen_titlest__T_start_savegames(p_address, p_node_parent); break; + case DF_Type::viewscreen_titlest: node_from_viewscreen_titlest(p_address, p_node_parent); break; + case DF_Type::viewscreen_topicmeetingst: node_from_viewscreen_topicmeetingst(p_address, p_node_parent); break; + case DF_Type::viewscreen_topicmeeting_fill_land_holder_positionsst: node_from_viewscreen_topicmeeting_fill_land_holder_positionsst(p_address, p_node_parent); break; + case DF_Type::viewscreen_topicmeeting_takerequestsst: node_from_viewscreen_topicmeeting_takerequestsst(p_address, p_node_parent); break; + case DF_Type::viewscreen_tradeagreementst: node_from_viewscreen_tradeagreementst(p_address, p_node_parent); break; + case DF_Type::viewscreen_tradegoodsst: node_from_viewscreen_tradegoodsst(p_address, p_node_parent); break; + case DF_Type::viewscreen_tradelistst: node_from_viewscreen_tradelistst(p_address, p_node_parent); break; + case DF_Type::viewscreen_treasurelistst: node_from_viewscreen_treasurelistst(p_address, p_node_parent); break; + case DF_Type::viewscreen_unitst: node_from_viewscreen_unitst(p_address, p_node_parent); break; + case DF_Type::viewscreen_unitlistst: node_from_viewscreen_unitlistst(p_address, p_node_parent); break; + case DF_Type::viewscreen_wagesst: node_from_viewscreen_wagesst(p_address, p_node_parent); break; + case DF_Type::viewscreen_workquota_conditionst__T_traits: node_from_viewscreen_workquota_conditionst__T_traits(p_address, p_node_parent); break; + case DF_Type::viewscreen_workquota_conditionst: node_from_viewscreen_workquota_conditionst(p_address, p_node_parent); break; + case DF_Type::viewscreen_workquota_detailsst: node_from_viewscreen_workquota_detailsst(p_address, p_node_parent); break; + case DF_Type::viewscreen_workshop_profilest: node_from_viewscreen_workshop_profilest(p_address, p_node_parent); break; + case DF_Type::viewscreen_update_regionst: node_from_viewscreen_update_regionst(p_address, p_node_parent); break; + case DF_Type::world_site_unk130__T_unk_4: node_from_world_site_unk130__T_unk_4(p_address, p_node_parent); break; + case DF_Type::world_site_unk130: node_from_world_site_unk130(p_address, p_node_parent); break; + case DF_Type::embark_note: node_from_embark_note(p_address, p_node_parent); break; + case DF_Type::local_population___union6: node_from_local_population___union6(p_address, p_node_parent); break; + case DF_Type::local_population: node_from_local_population(p_address, p_node_parent); break; + case DF_Type::world_population___union7: node_from_world_population___union7(p_address, p_node_parent); break; + case DF_Type::world_population: node_from_world_population(p_address, p_node_parent); break; + case DF_Type::world_landmass: node_from_world_landmass(p_address, p_node_parent); break; + case DF_Type::world_region: node_from_world_region(p_address, p_node_parent); break; + case DF_Type::world_underground_region: node_from_world_underground_region(p_address, p_node_parent); break; + case DF_Type::world_river: node_from_world_river(p_address, p_node_parent); break; + case DF_Type::world_geo_layer: node_from_world_geo_layer(p_address, p_node_parent); break; + case DF_Type::world_geo_biome: node_from_world_geo_biome(p_address, p_node_parent); break; + case DF_Type::world_region_feature: node_from_world_region_feature(p_address, p_node_parent); break; + case DF_Type::world_region_details__T_edges: node_from_world_region_details__T_edges(p_address, p_node_parent); break; + case DF_Type::world_region_details__T_rivers_vertical: node_from_world_region_details__T_rivers_vertical(p_address, p_node_parent); break; + case DF_Type::world_region_details__T_rivers_horizontal: node_from_world_region_details__T_rivers_horizontal(p_address, p_node_parent); break; + case DF_Type::world_region_details: node_from_world_region_details(p_address, p_node_parent); break; + case DF_Type::region_map_entry: node_from_region_map_entry(p_address, p_node_parent); break; + case DF_Type::entity_claim_mask__T_map: node_from_entity_claim_mask__T_map(p_address, p_node_parent); break; + case DF_Type::entity_claim_mask: node_from_entity_claim_mask(p_address, p_node_parent); break; + case DF_Type::moving_party__T_members: node_from_moving_party__T_members(p_address, p_node_parent); break; + case DF_Type::moving_party: node_from_moving_party(p_address, p_node_parent); break; + case DF_Type::world_object_data__T_offloaded_items: node_from_world_object_data__T_offloaded_items(p_address, p_node_parent); break; + case DF_Type::world_object_data__T_offloaded_buildings: node_from_world_object_data__T_offloaded_buildings(p_address, p_node_parent); break; + case DF_Type::world_object_data__T_unk_94: node_from_world_object_data__T_unk_94(p_address, p_node_parent); break; + case DF_Type::world_object_data: node_from_world_object_data(p_address, p_node_parent); break; + case DF_Type::world_data__T_unk_b4: node_from_world_data__T_unk_b4(p_address, p_node_parent); break; + case DF_Type::world_data__T_constructions: node_from_world_data__T_constructions(p_address, p_node_parent); break; + case DF_Type::world_data__T_unk_150__T_unk_8: node_from_world_data__T_unk_150__T_unk_8(p_address, p_node_parent); break; + case DF_Type::world_data__T_unk_150__T_unk_18: node_from_world_data__T_unk_150__T_unk_18(p_address, p_node_parent); break; + case DF_Type::world_data__T_unk_150__T_unk_28: node_from_world_data__T_unk_150__T_unk_28(p_address, p_node_parent); break; + case DF_Type::world_data__T_unk_150: node_from_world_data__T_unk_150(p_address, p_node_parent); break; + case DF_Type::world_data__T_unk_170__T_unk_4: node_from_world_data__T_unk_170__T_unk_4(p_address, p_node_parent); break; + case DF_Type::world_data__T_unk_170: node_from_world_data__T_unk_170(p_address, p_node_parent); break; + case DF_Type::world_data__T_freakish_weather: node_from_world_data__T_freakish_weather(p_address, p_node_parent); break; + case DF_Type::world_data__T_mountain_peaks: node_from_world_data__T_mountain_peaks(p_address, p_node_parent); break; + case DF_Type::world_data__T_feature_map__T_features: node_from_world_data__T_feature_map__T_features(p_address, p_node_parent); break; + case DF_Type::world_data__T_feature_map: node_from_world_data__T_feature_map(p_address, p_node_parent); break; + case DF_Type::world_data__T_unk_274__T_unk_10: node_from_world_data__T_unk_274__T_unk_10(p_address, p_node_parent); break; + case DF_Type::world_data__T_unk_274: node_from_world_data__T_unk_274(p_address, p_node_parent); break; + case DF_Type::world_data__T_unk_482f8: node_from_world_data__T_unk_482f8(p_address, p_node_parent); break; + case DF_Type::world_data: node_from_world_data(p_address, p_node_parent); break; + case DF_Type::site_reputation_info: node_from_site_reputation_info(p_address, p_node_parent); break; + case DF_Type::location_scribe_jobs: node_from_location_scribe_jobs(p_address, p_node_parent); break; + case DF_Type::abstract_building_unk__T_anon_1: node_from_abstract_building_unk__T_anon_1(p_address, p_node_parent); break; + case DF_Type::abstract_building_unk: node_from_abstract_building_unk(p_address, p_node_parent); break; + case DF_Type::abstract_building__T_inhabitants: node_from_abstract_building__T_inhabitants(p_address, p_node_parent); break; + case DF_Type::abstract_building__T_unk1: node_from_abstract_building__T_unk1(p_address, p_node_parent); break; + case DF_Type::abstract_building: node_from_abstract_building(p_address, p_node_parent); break; + case DF_Type::abstract_building_keepst: node_from_abstract_building_keepst(p_address, p_node_parent); break; + case DF_Type::abstract_building_templest: node_from_abstract_building_templest(p_address, p_node_parent); break; + case DF_Type::abstract_building_dark_towerst: node_from_abstract_building_dark_towerst(p_address, p_node_parent); break; + case DF_Type::abstract_building_marketst: node_from_abstract_building_marketst(p_address, p_node_parent); break; + case DF_Type::abstract_building_tombst: node_from_abstract_building_tombst(p_address, p_node_parent); break; + case DF_Type::abstract_building_dungeonst: node_from_abstract_building_dungeonst(p_address, p_node_parent); break; + case DF_Type::abstract_building_underworld_spirest: node_from_abstract_building_underworld_spirest(p_address, p_node_parent); break; + case DF_Type::abstract_building_inn_tavernst__T_room_info: node_from_abstract_building_inn_tavernst__T_room_info(p_address, p_node_parent); break; + case DF_Type::abstract_building_inn_tavernst: node_from_abstract_building_inn_tavernst(p_address, p_node_parent); break; + case DF_Type::abstract_building_libraryst: node_from_abstract_building_libraryst(p_address, p_node_parent); break; + case DF_Type::world_site__T_unk_1__T_units: node_from_world_site__T_unk_1__T_units(p_address, p_node_parent); break; + case DF_Type::world_site__T_unk_1: node_from_world_site__T_unk_1(p_address, p_node_parent); break; + case DF_Type::world_site__T_unk_118: node_from_world_site__T_unk_118(p_address, p_node_parent); break; + case DF_Type::world_site__T_unk_13c: node_from_world_site__T_unk_13c(p_address, p_node_parent); break; + case DF_Type::world_site__T_unk_v40_2: node_from_world_site__T_unk_v40_2(p_address, p_node_parent); break; + case DF_Type::world_site__T_subtype_info: node_from_world_site__T_subtype_info(p_address, p_node_parent); break; + case DF_Type::world_site__T_unk_21c: node_from_world_site__T_unk_21c(p_address, p_node_parent); break; + case DF_Type::world_site__T_unk_v40_4a: node_from_world_site__T_unk_v40_4a(p_address, p_node_parent); break; + case DF_Type::world_site__T_unk_v40_4b: node_from_world_site__T_unk_v40_4b(p_address, p_node_parent); break; + case DF_Type::world_site__T_unk_v40_4c: node_from_world_site__T_unk_v40_4c(p_address, p_node_parent); break; + case DF_Type::world_site__T_unk_v40_4d__T_anon_2: node_from_world_site__T_unk_v40_4d__T_anon_2(p_address, p_node_parent); break; + case DF_Type::world_site__T_unk_v40_4d: node_from_world_site__T_unk_v40_4d(p_address, p_node_parent); break; + case DF_Type::world_site__T_unk_v43_2: node_from_world_site__T_unk_v43_2(p_address, p_node_parent); break; + case DF_Type::world_site__T_unk_188__T_unk1: node_from_world_site__T_unk_188__T_unk1(p_address, p_node_parent); break; + case DF_Type::world_site__T_unk_188: node_from_world_site__T_unk_188(p_address, p_node_parent); break; + case DF_Type::world_site: node_from_world_site(p_address, p_node_parent); break; + case DF_Type::cultural_identity__T_group_log: node_from_cultural_identity__T_group_log(p_address, p_node_parent); break; + case DF_Type::cultural_identity: node_from_cultural_identity(p_address, p_node_parent); break; + case DF_Type::site_realization_crossroads: node_from_site_realization_crossroads(p_address, p_node_parent); break; + case DF_Type::site_building_item: node_from_site_building_item(p_address, p_node_parent); break; + case DF_Type::abstract_building_mead_hallst: node_from_abstract_building_mead_hallst(p_address, p_node_parent); break; + case DF_Type::site_realization_building__T_unk_4c: node_from_site_realization_building__T_unk_4c(p_address, p_node_parent); break; + case DF_Type::site_realization_building: node_from_site_realization_building(p_address, p_node_parent); break; + case DF_Type::world_site_realization__T_river_map: node_from_world_site_realization__T_river_map(p_address, p_node_parent); break; + case DF_Type::world_site_realization__T_unk_55e8__T_unk_v40_2: node_from_world_site_realization__T_unk_55e8__T_unk_v40_2(p_address, p_node_parent); break; + case DF_Type::world_site_realization__T_unk_55e8: node_from_world_site_realization__T_unk_55e8(p_address, p_node_parent); break; + case DF_Type::world_site_realization__T_building_map: node_from_world_site_realization__T_building_map(p_address, p_node_parent); break; + case DF_Type::world_site_realization__T_areas: node_from_world_site_realization__T_areas(p_address, p_node_parent); break; + case DF_Type::world_site_realization__T_unk_193bc__T_unk_8: node_from_world_site_realization__T_unk_193bc__T_unk_8(p_address, p_node_parent); break; + case DF_Type::world_site_realization__T_unk_193bc: node_from_world_site_realization__T_unk_193bc(p_address, p_node_parent); break; + case DF_Type::world_site_realization: node_from_world_site_realization(p_address, p_node_parent); break; + case DF_Type::site_realization_building_info_castle_wallst: node_from_site_realization_building_info_castle_wallst(p_address, p_node_parent); break; + case DF_Type::site_realization_building_info_castle_towerst: node_from_site_realization_building_info_castle_towerst(p_address, p_node_parent); break; + case DF_Type::site_realization_building_info_shop_housest: node_from_site_realization_building_info_shop_housest(p_address, p_node_parent); break; + case DF_Type::site_realization_building_info_market_squarest: node_from_site_realization_building_info_market_squarest(p_address, p_node_parent); break; + case DF_Type::site_realization_building_info_trenchesst__T_spokes: node_from_site_realization_building_info_trenchesst__T_spokes(p_address, p_node_parent); break; + case DF_Type::site_realization_building_info_trenchesst: node_from_site_realization_building_info_trenchesst(p_address, p_node_parent); break; + case DF_Type::site_realization_building_info_tree_housest: node_from_site_realization_building_info_tree_housest(p_address, p_node_parent); break; + case DF_Type::site_realization_building_info_hillock_housest: node_from_site_realization_building_info_hillock_housest(p_address, p_node_parent); break; + case DF_Type::creation_zone_pwg_alteration_location_deathst__T_unk_1__T_anon_1: node_from_creation_zone_pwg_alteration_location_deathst__T_unk_1__T_anon_1(p_address, p_node_parent); break; + case DF_Type::creation_zone_pwg_alteration_location_deathst__T_unk_1: node_from_creation_zone_pwg_alteration_location_deathst__T_unk_1(p_address, p_node_parent); break; + case DF_Type::creation_zone_pwg_alteration_location_deathst: node_from_creation_zone_pwg_alteration_location_deathst(p_address, p_node_parent); break; + case DF_Type::incident__T_unk_v42_1: node_from_incident__T_unk_v42_1(p_address, p_node_parent); break; + case DF_Type::incident: node_from_incident(p_address, p_node_parent); break; + case DF_Type::incident_sub6_performance__T_participants: node_from_incident_sub6_performance__T_participants(p_address, p_node_parent); break; + case DF_Type::incident_sub6_performance: node_from_incident_sub6_performance(p_address, p_node_parent); break; + case DF_Type::incident_sub7: node_from_incident_sub7(p_address, p_node_parent); break; + case DF_Type::incident_sub8: node_from_incident_sub8(p_address, p_node_parent); break; + case DF_Type::incident_sub9: node_from_incident_sub9(p_address, p_node_parent); break; + case DF_Type::incident_sub10: node_from_incident_sub10(p_address, p_node_parent); break; + case DF_Type::crime__T_punishment: node_from_crime__T_punishment(p_address, p_node_parent); break; + case DF_Type::crime__T_reports: node_from_crime__T_reports(p_address, p_node_parent); break; + case DF_Type::crime: node_from_crime(p_address, p_node_parent); break; + case DF_Type::mission_report: node_from_mission_report(p_address, p_node_parent); break; + case DF_Type::spoils_report: node_from_spoils_report(p_address, p_node_parent); break; + case DF_Type::world_unk_20__T_anon_7: node_from_world_unk_20__T_anon_7(p_address, p_node_parent); break; + case DF_Type::world_unk_20: node_from_world_unk_20(p_address, p_node_parent); break; + case DF_Type::world_unk_6c: node_from_world_unk_6c(p_address, p_node_parent); break; + case DF_Type::world_unk_9c: node_from_world_unk_9c(p_address, p_node_parent); break; + case DF_Type::world_unk_c0__T_anon_7: node_from_world_unk_c0__T_anon_7(p_address, p_node_parent); break; + case DF_Type::world_unk_c0: node_from_world_unk_c0(p_address, p_node_parent); break; + case DF_Type::glowing_barrier: node_from_glowing_barrier(p_address, p_node_parent); break; + case DF_Type::deep_vein_hollow: node_from_deep_vein_hollow(p_address, p_node_parent); break; + case DF_Type::campfire: node_from_campfire(p_address, p_node_parent); break; + case DF_Type::web_cluster: node_from_web_cluster(p_address, p_node_parent); break; + case DF_Type::fire: node_from_fire(p_address, p_node_parent); break; + case DF_Type::job_handler__T_postings: node_from_job_handler__T_postings(p_address, p_node_parent); break; + case DF_Type::job_handler__T_anon_1: node_from_job_handler__T_anon_1(p_address, p_node_parent); break; + case DF_Type::job_handler: node_from_job_handler(p_address, p_node_parent); break; + case DF_Type::building_handler: node_from_building_handler(p_address, p_node_parent); break; + case DF_Type::machine_handler: node_from_machine_handler(p_address, p_node_parent); break; + case DF_Type::mental_picture: node_from_mental_picture(p_address, p_node_parent); break; + case DF_Type::belief_system: node_from_belief_system(p_address, p_node_parent); break; + case DF_Type::world__T_vermin: node_from_world__T_vermin(p_address, p_node_parent); break; + case DF_Type::world__T_entities: node_from_world__T_entities(p_address, p_node_parent); break; + case DF_Type::world__T_worldgen_coord_buf: node_from_world__T_worldgen_coord_buf(p_address, p_node_parent); break; + case DF_Type::world__T_units: node_from_world__T_units(p_address, p_node_parent); break; + case DF_Type::world__T_nemesis: node_from_world__T_nemesis(p_address, p_node_parent); break; + case DF_Type::world__T_items: node_from_world__T_items(p_address, p_node_parent); break; + case DF_Type::world__T_artifacts: node_from_world__T_artifacts(p_address, p_node_parent); break; + case DF_Type::world__T_flow_guides: node_from_world__T_flow_guides(p_address, p_node_parent); break; + case DF_Type::world__T_stockpile__T_simple1: node_from_world__T_stockpile__T_simple1(p_address, p_node_parent); break; + case DF_Type::world__T_stockpile__T_simple2: node_from_world__T_stockpile__T_simple2(p_address, p_node_parent); break; + case DF_Type::world__T_stockpile__T_simple3: node_from_world__T_stockpile__T_simple3(p_address, p_node_parent); break; + case DF_Type::world__T_stockpile: node_from_world__T_stockpile(p_address, p_node_parent); break; + case DF_Type::world__T_plants: node_from_world__T_plants(p_address, p_node_parent); break; + case DF_Type::world__T_enemy_status_cache: node_from_world__T_enemy_status_cache(p_address, p_node_parent); break; + case DF_Type::world__T_schedules: node_from_world__T_schedules(p_address, p_node_parent); break; + case DF_Type::world__T_squads: node_from_world__T_squads(p_address, p_node_parent); break; + case DF_Type::world__T_formations: node_from_world__T_formations(p_address, p_node_parent); break; + case DF_Type::world__T_activities: node_from_world__T_activities(p_address, p_node_parent); break; + case DF_Type::world__T_status__T_slots: node_from_world__T_status__T_slots(p_address, p_node_parent); break; + case DF_Type::world__T_status: node_from_world__T_status(p_address, p_node_parent); break; + case DF_Type::world__T_interaction_instances: node_from_world__T_interaction_instances(p_address, p_node_parent); break; + case DF_Type::world__T_written_contents: node_from_world__T_written_contents(p_address, p_node_parent); break; + case DF_Type::world__T_identities: node_from_world__T_identities(p_address, p_node_parent); break; + case DF_Type::world__T_incidents: node_from_world__T_incidents(p_address, p_node_parent); break; + case DF_Type::world__T_crimes: node_from_world__T_crimes(p_address, p_node_parent); break; + case DF_Type::world__T_vehicles: node_from_world__T_vehicles(p_address, p_node_parent); break; + case DF_Type::world__T_armies: node_from_world__T_armies(p_address, p_node_parent); break; + case DF_Type::world__T_army_controllers: node_from_world__T_army_controllers(p_address, p_node_parent); break; + case DF_Type::world__T_army_tracking_info: node_from_world__T_army_tracking_info(p_address, p_node_parent); break; + case DF_Type::world__T_cultural_identities: node_from_world__T_cultural_identities(p_address, p_node_parent); break; + case DF_Type::world__T_agreements: node_from_world__T_agreements(p_address, p_node_parent); break; + case DF_Type::world__T_poetic_forms: node_from_world__T_poetic_forms(p_address, p_node_parent); break; + case DF_Type::world__T_musical_forms: node_from_world__T_musical_forms(p_address, p_node_parent); break; + case DF_Type::world__T_dance_forms: node_from_world__T_dance_forms(p_address, p_node_parent); break; + case DF_Type::world__T_scales: node_from_world__T_scales(p_address, p_node_parent); break; + case DF_Type::world__T_rhythms: node_from_world__T_rhythms(p_address, p_node_parent); break; + case DF_Type::world__T_occupations: node_from_world__T_occupations(p_address, p_node_parent); break; + case DF_Type::world__T_belief_systems: node_from_world__T_belief_systems(p_address, p_node_parent); break; + case DF_Type::world__T_map: node_from_world__T_map(p_address, p_node_parent); break; + case DF_Type::world__T_profession_skills: node_from_world__T_profession_skills(p_address, p_node_parent); break; + case DF_Type::world__T_math__T_approx: node_from_world__T_math__T_approx(p_address, p_node_parent); break; + case DF_Type::world__T_math: node_from_world__T_math(p_address, p_node_parent); break; + case DF_Type::world__T_map_extras: node_from_world__T_map_extras(p_address, p_node_parent); break; + case DF_Type::world__T_worldgen_status: node_from_world__T_worldgen_status(p_address, p_node_parent); break; + case DF_Type::world__T_unk_59dc4__T_unk1: node_from_world__T_unk_59dc4__T_unk1(p_address, p_node_parent); break; + case DF_Type::world__T_unk_59dc4: node_from_world__T_unk_59dc4(p_address, p_node_parent); break; + case DF_Type::world__T_flow_engine: node_from_world__T_flow_engine(p_address, p_node_parent); break; + case DF_Type::world__T_worldgen__T_worldgen_parms: node_from_world__T_worldgen__T_worldgen_parms(p_address, p_node_parent); break; + case DF_Type::world__T_worldgen: node_from_world__T_worldgen(p_address, p_node_parent); break; + case DF_Type::world__T_unk_v40_6: node_from_world__T_unk_v40_6(p_address, p_node_parent); break; + case DF_Type::world__T_unk_131ec0: node_from_world__T_unk_131ec0(p_address, p_node_parent); break; + case DF_Type::world__T_languages: node_from_world__T_languages(p_address, p_node_parent); break; + case DF_Type::world__T_unk_131ef0__T_unk_2: node_from_world__T_unk_131ef0__T_unk_2(p_address, p_node_parent); break; + case DF_Type::world__T_unk_131ef0: node_from_world__T_unk_131ef0(p_address, p_node_parent); break; + case DF_Type::world__T_pathfinder__T_boundary_heap: node_from_world__T_pathfinder__T_boundary_heap(p_address, p_node_parent); break; + case DF_Type::world__T_pathfinder: node_from_world__T_pathfinder(p_address, p_node_parent); break; + case DF_Type::world__T_cur_savegame: node_from_world__T_cur_savegame(p_address, p_node_parent); break; + case DF_Type::world__T_features: node_from_world__T_features(p_address, p_node_parent); break; + case DF_Type::world__T_arena_spawn__T_item_types: node_from_world__T_arena_spawn__T_item_types(p_address, p_node_parent); break; + case DF_Type::world__T_arena_spawn__T_equipment: node_from_world__T_arena_spawn__T_equipment(p_address, p_node_parent); break; + case DF_Type::world__T_arena_spawn: node_from_world__T_arena_spawn(p_address, p_node_parent); break; + case DF_Type::world__T_arena_settings: node_from_world__T_arena_settings(p_address, p_node_parent); break; + case DF_Type::world__T_unk_19325c__T_anon_1: node_from_world__T_unk_19325c__T_anon_1(p_address, p_node_parent); break; + case DF_Type::world__T_unk_19325c__T_anon_2: node_from_world__T_unk_19325c__T_anon_2(p_address, p_node_parent); break; + case DF_Type::world__T_unk_19325c__T_anon_3: node_from_world__T_unk_19325c__T_anon_3(p_address, p_node_parent); break; + case DF_Type::world__T_unk_19325c: node_from_world__T_unk_19325c(p_address, p_node_parent); break; + case DF_Type::world: node_from_world(p_address, p_node_parent); break; + case DF_Type::T_cursor: node_from_T_cursor(p_address, p_node_parent); break; + case DF_Type::T_selection_rect: node_from_T_selection_rect(p_address, p_node_parent); break; + default: break; + } +} diff --git a/dwarfexplorer/generated/fill_offsets.cpp b/dwarfexplorer/generated/fill_offsets.cpp index 7c4eec3..ac86b8c 100644 --- a/dwarfexplorer/generated/fill_offsets.cpp +++ b/dwarfexplorer/generated/fill_offsets.cpp @@ -1,21707 +1,21734 @@ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "df_all.h" -#include "DF_Types.h" -#include - -namespace rdf -{ -void generate_text_info_elementst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_text_info_element_longst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["val"] = reinterpret_cast(&(df_structure->val)) - reinterpret_cast(df_structure); -} - -void generate_text_info_element_stringst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["val"] = reinterpret_cast(&(df_structure->val)) - reinterpret_cast(df_structure); -} - -void generate_adventure_optionst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_adventure_item_interact_choicest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_adventure_item_interact_pull_outst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_adventure_item_interact_readst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_adventure_item_interact_strugglest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_popup_message_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["text"] = reinterpret_cast(&(df_structure->text)) - reinterpret_cast(df_structure); - p_table["color"] = reinterpret_cast(&(df_structure->color)) - reinterpret_cast(df_structure); - p_table["bright"] = reinterpret_cast(&(df_structure->bright)) - reinterpret_cast(df_structure); -} - -void generate_art_image_element_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["count"] = reinterpret_cast(&(df_structure->count)) - reinterpret_cast(df_structure); -} - -void generate_art_image_element_creaturest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); - p_table["caste"] = reinterpret_cast(&(df_structure->caste)) - reinterpret_cast(df_structure); - p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); -} - -void generate_art_image_element_plantst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["plant_id"] = reinterpret_cast(&(df_structure->plant_id)) - reinterpret_cast(df_structure); -} - -void generate_art_image_element_treest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["plant_id"] = reinterpret_cast(&(df_structure->plant_id)) - reinterpret_cast(df_structure); -} - -void generate_art_image_element_shapest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["shape_id"] = reinterpret_cast(&(df_structure->shape_id)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_art_image_property_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); -} - -void generate_art_image_ref_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["subid"] = reinterpret_cast(&(df_structure->subid)) - reinterpret_cast(df_structure); - p_table["civ_id"] = reinterpret_cast(&(df_structure->civ_id)) - reinterpret_cast(df_structure); - p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); -} - -void generate_poetic_form_perspective_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_musical_form_sub4_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); -} - -void generate_musical_form_interval_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["degree"] = reinterpret_cast(&(df_structure->degree)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); -} - -void generate_dance_form_sub1_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); - p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); - p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); - p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); - p_table["anon_11"] = reinterpret_cast(&(df_structure->anon_11)) - reinterpret_cast(df_structure); - p_table["anon_12"] = reinterpret_cast(&(df_structure->anon_12)) - reinterpret_cast(df_structure); - p_table["anon_13"] = reinterpret_cast(&(df_structure->anon_13)) - reinterpret_cast(df_structure); - p_table["anon_14"] = reinterpret_cast(&(df_structure->anon_14)) - reinterpret_cast(df_structure); - p_table["anon_15"] = reinterpret_cast(&(df_structure->anon_15)) - reinterpret_cast(df_structure); - p_table["anon_16"] = reinterpret_cast(&(df_structure->anon_16)) - reinterpret_cast(df_structure); - p_table["anon_17"] = reinterpret_cast(&(df_structure->anon_17)) - reinterpret_cast(df_structure); - p_table["anon_18"] = reinterpret_cast(&(df_structure->anon_18)) - reinterpret_cast(df_structure); - p_table["anon_19"] = reinterpret_cast(&(df_structure->anon_19)) - reinterpret_cast(df_structure); -} - -void generate_dance_form_sub2_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); -} - -void generate_scale_sub1_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); -} - -void generate_scale_sub2_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); -} - -void generate_rhythm_sub2_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); -} - -void generate_occupation_sub1_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); - p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); - p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); - p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); - p_table["anon_11"] = reinterpret_cast(&(df_structure->anon_11)) - reinterpret_cast(df_structure); - p_table["anon_12"] = reinterpret_cast(&(df_structure->anon_12)) - reinterpret_cast(df_structure); - p_table["anon_13"] = reinterpret_cast(&(df_structure->anon_13)) - reinterpret_cast(df_structure); - p_table["anon_14"] = reinterpret_cast(&(df_structure->anon_14)) - reinterpret_cast(df_structure); - p_table["anon_15"] = reinterpret_cast(&(df_structure->anon_15)) - reinterpret_cast(df_structure); - p_table["anon_16"] = reinterpret_cast(&(df_structure->anon_16)) - reinterpret_cast(df_structure); - p_table["anon_17"] = reinterpret_cast(&(df_structure->anon_17)) - reinterpret_cast(df_structure); - p_table["anon_18"] = reinterpret_cast(&(df_structure->anon_18)) - reinterpret_cast(df_structure); - p_table["anon_19"] = reinterpret_cast(&(df_structure->anon_19)) - reinterpret_cast(df_structure); -} - -void generate_building_extents_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["extents"] = reinterpret_cast(&(df_structure->extents)) - reinterpret_cast(df_structure); - p_table["x"] = reinterpret_cast(&(df_structure->x)) - reinterpret_cast(df_structure); - p_table["y"] = reinterpret_cast(&(df_structure->y)) - reinterpret_cast(df_structure); - p_table["width"] = reinterpret_cast(&(df_structure->width)) - reinterpret_cast(df_structure); - p_table["height"] = reinterpret_cast(&(df_structure->height)) - reinterpret_cast(df_structure); -} - -void generate_building_drawbuffer_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["tile"] = reinterpret_cast(&(df_structure->tile)) - reinterpret_cast(df_structure); - p_table["fore"] = reinterpret_cast(&(df_structure->fore)) - reinterpret_cast(df_structure); - p_table["back"] = reinterpret_cast(&(df_structure->back)) - reinterpret_cast(df_structure); - p_table["bright"] = reinterpret_cast(&(df_structure->bright)) - reinterpret_cast(df_structure); - p_table["x1"] = reinterpret_cast(&(df_structure->x1)) - reinterpret_cast(df_structure); - p_table["x2"] = reinterpret_cast(&(df_structure->x2)) - reinterpret_cast(df_structure); - p_table["y1"] = reinterpret_cast(&(df_structure->y1)) - reinterpret_cast(df_structure); - p_table["y2"] = reinterpret_cast(&(df_structure->y2)) - reinterpret_cast(df_structure); -} - -void generate_hospital_supplies_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["supplies_needed"] = reinterpret_cast(&(df_structure->supplies_needed)) - reinterpret_cast(df_structure); - p_table["max_splints"] = reinterpret_cast(&(df_structure->max_splints)) - reinterpret_cast(df_structure); - p_table["max_thread"] = reinterpret_cast(&(df_structure->max_thread)) - reinterpret_cast(df_structure); - p_table["max_cloth"] = reinterpret_cast(&(df_structure->max_cloth)) - reinterpret_cast(df_structure); - p_table["max_crutches"] = reinterpret_cast(&(df_structure->max_crutches)) - reinterpret_cast(df_structure); - p_table["max_plaster"] = reinterpret_cast(&(df_structure->max_plaster)) - reinterpret_cast(df_structure); - p_table["max_buckets"] = reinterpret_cast(&(df_structure->max_buckets)) - reinterpret_cast(df_structure); - p_table["max_soap"] = reinterpret_cast(&(df_structure->max_soap)) - reinterpret_cast(df_structure); - p_table["cur_splints"] = reinterpret_cast(&(df_structure->cur_splints)) - reinterpret_cast(df_structure); - p_table["cur_thread"] = reinterpret_cast(&(df_structure->cur_thread)) - reinterpret_cast(df_structure); - p_table["cur_cloth"] = reinterpret_cast(&(df_structure->cur_cloth)) - reinterpret_cast(df_structure); - p_table["cur_crutches"] = reinterpret_cast(&(df_structure->cur_crutches)) - reinterpret_cast(df_structure); - p_table["cur_plaster"] = reinterpret_cast(&(df_structure->cur_plaster)) - reinterpret_cast(df_structure); - p_table["cur_buckets"] = reinterpret_cast(&(df_structure->cur_buckets)) - reinterpret_cast(df_structure); - p_table["cur_soap"] = reinterpret_cast(&(df_structure->cur_soap)) - reinterpret_cast(df_structure); - p_table["supply_recheck_timer"] = reinterpret_cast(&(df_structure->supply_recheck_timer)) - reinterpret_cast(df_structure); -} - -void generate_building_users_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); - p_table["mode"] = reinterpret_cast(&(df_structure->mode)) - reinterpret_cast(df_structure); -} - -void generate_pressure_plate_info_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unit_min"] = reinterpret_cast(&(df_structure->unit_min)) - reinterpret_cast(df_structure); - p_table["unit_max"] = reinterpret_cast(&(df_structure->unit_max)) - reinterpret_cast(df_structure); - p_table["water_min"] = reinterpret_cast(&(df_structure->water_min)) - reinterpret_cast(df_structure); - p_table["water_max"] = reinterpret_cast(&(df_structure->water_max)) - reinterpret_cast(df_structure); - p_table["magma_min"] = reinterpret_cast(&(df_structure->magma_min)) - reinterpret_cast(df_structure); - p_table["magma_max"] = reinterpret_cast(&(df_structure->magma_max)) - reinterpret_cast(df_structure); - p_table["track_min"] = reinterpret_cast(&(df_structure->track_min)) - reinterpret_cast(df_structure); - p_table["track_max"] = reinterpret_cast(&(df_structure->track_max)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); -} - -void generate_body_part_layer_raw_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["layer_name"] = reinterpret_cast(&(df_structure->layer_name)) - reinterpret_cast(df_structure); - p_table["tissue_id"] = reinterpret_cast(&(df_structure->tissue_id)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["part_fraction"] = reinterpret_cast(&(df_structure->part_fraction)) - reinterpret_cast(df_structure); - p_table["healing_rate"] = reinterpret_cast(&(df_structure->healing_rate)) - reinterpret_cast(df_structure); - p_table["vascular"] = reinterpret_cast(&(df_structure->vascular)) - reinterpret_cast(df_structure); - p_table["pain_receptors"] = reinterpret_cast(&(df_structure->pain_receptors)) - reinterpret_cast(df_structure); - p_table["unk6"] = reinterpret_cast(&(df_structure->unk6)) - reinterpret_cast(df_structure); - p_table["unk7"] = reinterpret_cast(&(df_structure->unk7)) - reinterpret_cast(df_structure); - p_table["bp_modifiers"] = reinterpret_cast(&(df_structure->bp_modifiers)) - reinterpret_cast(df_structure); - p_table["layer_id"] = reinterpret_cast(&(df_structure->layer_id)) - reinterpret_cast(df_structure); - p_table["parent_idx"] = reinterpret_cast(&(df_structure->parent_idx)) - reinterpret_cast(df_structure); - p_table["parent_layer_id"] = reinterpret_cast(&(df_structure->parent_layer_id)) - reinterpret_cast(df_structure); - p_table["layer_depth"] = reinterpret_cast(&(df_structure->layer_depth)) - reinterpret_cast(df_structure); - p_table["leak_barrier_id"] = reinterpret_cast(&(df_structure->leak_barrier_id)) - reinterpret_cast(df_structure); - p_table["nonsolid_id"] = reinterpret_cast(&(df_structure->nonsolid_id)) - reinterpret_cast(df_structure); - p_table["styleable_id"] = reinterpret_cast(&(df_structure->styleable_id)) - reinterpret_cast(df_structure); -} - -void generate_color_modifier_raw_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["pattern_index"] = reinterpret_cast(&(df_structure->pattern_index)) - reinterpret_cast(df_structure); - p_table["pattern_frequency"] = reinterpret_cast(&(df_structure->pattern_frequency)) - reinterpret_cast(df_structure); - p_table["body_part_id"] = reinterpret_cast(&(df_structure->body_part_id)) - reinterpret_cast(df_structure); - p_table["tissue_layer_id"] = reinterpret_cast(&(df_structure->tissue_layer_id)) - reinterpret_cast(df_structure); - p_table["unk5"] = reinterpret_cast(&(df_structure->unk5)) - reinterpret_cast(df_structure); - p_table["start_date"] = reinterpret_cast(&(df_structure->start_date)) - reinterpret_cast(df_structure); - p_table["end_date"] = reinterpret_cast(&(df_structure->end_date)) - reinterpret_cast(df_structure); - p_table["unk6"] = reinterpret_cast(&(df_structure->unk6)) - reinterpret_cast(df_structure); - p_table["part"] = reinterpret_cast(&(df_structure->part)) - reinterpret_cast(df_structure); - p_table["unk_6c"] = reinterpret_cast(&(df_structure->unk_6c)) - reinterpret_cast(df_structure); - p_table["unk_6e"] = reinterpret_cast(&(df_structure->unk_6e)) - reinterpret_cast(df_structure); - p_table["unk_70"] = reinterpret_cast(&(df_structure->unk_70)) - reinterpret_cast(df_structure); - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["unk_78"] = reinterpret_cast(&(df_structure->unk_78)) - reinterpret_cast(df_structure); - p_table["unk_88"] = reinterpret_cast(&(df_structure->unk_88)) - reinterpret_cast(df_structure); -} - -void generate_gait_info_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["action_string_idx"] = reinterpret_cast(&(df_structure->action_string_idx)) - reinterpret_cast(df_structure); - p_table["full_speed"] = reinterpret_cast(&(df_structure->full_speed)) - reinterpret_cast(df_structure); - p_table["buildup_time"] = reinterpret_cast(&(df_structure->buildup_time)) - reinterpret_cast(df_structure); - p_table["turn_max"] = reinterpret_cast(&(df_structure->turn_max)) - reinterpret_cast(df_structure); - p_table["start_speed"] = reinterpret_cast(&(df_structure->start_speed)) - reinterpret_cast(df_structure); - p_table["energy_use"] = reinterpret_cast(&(df_structure->energy_use)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["stealth_slows"] = reinterpret_cast(&(df_structure->stealth_slows)) - reinterpret_cast(df_structure); -} - -void generate_creature_graphics_appointment_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["token"] = reinterpret_cast(&(df_structure->token)) - reinterpret_cast(df_structure); - p_table["texpos"] = reinterpret_cast(&(df_structure->texpos)) - reinterpret_cast(df_structure); - p_table["texpos_gs"] = reinterpret_cast(&(df_structure->texpos_gs)) - reinterpret_cast(df_structure); - p_table["add_color"] = reinterpret_cast(&(df_structure->add_color)) - reinterpret_cast(df_structure); -} - -void generate_creature_variation_convert_tag_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["cvct_master"] = reinterpret_cast(&(df_structure->cvct_master)) - reinterpret_cast(df_structure); - p_table["cvct_target"] = reinterpret_cast(&(df_structure->cvct_target)) - reinterpret_cast(df_structure); - p_table["cvct_replacement"] = reinterpret_cast(&(df_structure->cvct_replacement)) - reinterpret_cast(df_structure); - p_table["unk_v40_1"] = reinterpret_cast(&(df_structure->unk_v40_1)) - reinterpret_cast(df_structure); - p_table["unk_v40_2"] = reinterpret_cast(&(df_structure->unk_v40_2)) - reinterpret_cast(df_structure); -} - -void generate_body_detail_plan_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["add_material_name"] = reinterpret_cast(&(df_structure->add_material_name)) - reinterpret_cast(df_structure); - p_table["add_material_template"] = reinterpret_cast(&(df_structure->add_material_template)) - reinterpret_cast(df_structure); - p_table["add_tissue_name"] = reinterpret_cast(&(df_structure->add_tissue_name)) - reinterpret_cast(df_structure); - p_table["add_tissue_template"] = reinterpret_cast(&(df_structure->add_tissue_template)) - reinterpret_cast(df_structure); - p_table["unk5c"] = reinterpret_cast(&(df_structure->unk5c)) - reinterpret_cast(df_structure); - p_table["unk6c"] = reinterpret_cast(&(df_structure->unk6c)) - reinterpret_cast(df_structure); - p_table["unk7c"] = reinterpret_cast(&(df_structure->unk7c)) - reinterpret_cast(df_structure); - p_table["bp_layers_selection"] = reinterpret_cast(&(df_structure->bp_layers_selection)) - reinterpret_cast(df_structure); - p_table["bp_layers_criteria"] = reinterpret_cast(&(df_structure->bp_layers_criteria)) - reinterpret_cast(df_structure); - p_table["bp_layers_tissue"] = reinterpret_cast(&(df_structure->bp_layers_tissue)) - reinterpret_cast(df_structure); - p_table["bp_layers_thickness"] = reinterpret_cast(&(df_structure->bp_layers_thickness)) - reinterpret_cast(df_structure); - p_table["bp_layers_position"] = reinterpret_cast(&(df_structure->bp_layers_position)) - reinterpret_cast(df_structure); - p_table["bp_layers_over_under"] = reinterpret_cast(&(df_structure->bp_layers_over_under)) - reinterpret_cast(df_structure); - p_table["bp_relsize_selection"] = reinterpret_cast(&(df_structure->bp_relsize_selection)) - reinterpret_cast(df_structure); - p_table["bp_relsize_criteria"] = reinterpret_cast(&(df_structure->bp_relsize_criteria)) - reinterpret_cast(df_structure); - p_table["bp_relsize_value"] = reinterpret_cast(&(df_structure->bp_relsize_value)) - reinterpret_cast(df_structure); - p_table["bp_position_selection"] = reinterpret_cast(&(df_structure->bp_position_selection)) - reinterpret_cast(df_structure); - p_table["bp_position_criteria"] = reinterpret_cast(&(df_structure->bp_position_criteria)) - reinterpret_cast(df_structure); - p_table["bp_position_value"] = reinterpret_cast(&(df_structure->bp_position_value)) - reinterpret_cast(df_structure); - p_table["bp_relation_selection_1"] = reinterpret_cast(&(df_structure->bp_relation_selection_1)) - reinterpret_cast(df_structure); - p_table["bp_relation_criteria_1"] = reinterpret_cast(&(df_structure->bp_relation_criteria_1)) - reinterpret_cast(df_structure); - p_table["bp_relation_value_1"] = reinterpret_cast(&(df_structure->bp_relation_value_1)) - reinterpret_cast(df_structure); - p_table["bp_relation_selection_2"] = reinterpret_cast(&(df_structure->bp_relation_selection_2)) - reinterpret_cast(df_structure); - p_table["bp_relation_criteria_2"] = reinterpret_cast(&(df_structure->bp_relation_criteria_2)) - reinterpret_cast(df_structure); - p_table["bp_relation_extent"] = reinterpret_cast(&(df_structure->bp_relation_extent)) - reinterpret_cast(df_structure); -} - -void generate_descriptor_color_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["word_unk"] = reinterpret_cast(&(df_structure->word_unk)) - reinterpret_cast(df_structure); - p_table["words"] = reinterpret_cast(&(df_structure->words)) - reinterpret_cast(df_structure); - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["color"] = reinterpret_cast(&(df_structure->color)) - reinterpret_cast(df_structure); - p_table["bold"] = reinterpret_cast(&(df_structure->bold)) - reinterpret_cast(df_structure); - p_table["red"] = reinterpret_cast(&(df_structure->red)) - reinterpret_cast(df_structure); - p_table["green"] = reinterpret_cast(&(df_structure->green)) - reinterpret_cast(df_structure); - p_table["blue"] = reinterpret_cast(&(df_structure->blue)) - reinterpret_cast(df_structure); -} - -void generate_descriptor_shape_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["word_unk"] = reinterpret_cast(&(df_structure->word_unk)) - reinterpret_cast(df_structure); - p_table["words"] = reinterpret_cast(&(df_structure->words)) - reinterpret_cast(df_structure); - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["name_plural"] = reinterpret_cast(&(df_structure->name_plural)) - reinterpret_cast(df_structure); - p_table["adj"] = reinterpret_cast(&(df_structure->adj)) - reinterpret_cast(df_structure); - p_table["gems_use"] = reinterpret_cast(&(df_structure->gems_use)) - reinterpret_cast(df_structure); - p_table["tile"] = reinterpret_cast(&(df_structure->tile)) - reinterpret_cast(df_structure); -} - -void generate_entity_activity_statistics__T_food_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["total"] = reinterpret_cast(&(df_structure->total)) - reinterpret_cast(df_structure); - p_table["meat"] = reinterpret_cast(&(df_structure->meat)) - reinterpret_cast(df_structure); - p_table["fish"] = reinterpret_cast(&(df_structure->fish)) - reinterpret_cast(df_structure); - p_table["other"] = reinterpret_cast(&(df_structure->other)) - reinterpret_cast(df_structure); - p_table["seeds"] = reinterpret_cast(&(df_structure->seeds)) - reinterpret_cast(df_structure); - p_table["plant"] = reinterpret_cast(&(df_structure->plant)) - reinterpret_cast(df_structure); - p_table["drink"] = reinterpret_cast(&(df_structure->drink)) - reinterpret_cast(df_structure); -} - -void generate_entity_activity_statistics__T_wealth_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["total"] = reinterpret_cast(&(df_structure->total)) - reinterpret_cast(df_structure); - p_table["weapons"] = reinterpret_cast(&(df_structure->weapons)) - reinterpret_cast(df_structure); - p_table["armor"] = reinterpret_cast(&(df_structure->armor)) - reinterpret_cast(df_structure); - p_table["furniture"] = reinterpret_cast(&(df_structure->furniture)) - reinterpret_cast(df_structure); - p_table["other"] = reinterpret_cast(&(df_structure->other)) - reinterpret_cast(df_structure); - p_table["architecture"] = reinterpret_cast(&(df_structure->architecture)) - reinterpret_cast(df_structure); - p_table["displayed"] = reinterpret_cast(&(df_structure->displayed)) - reinterpret_cast(df_structure); - p_table["held"] = reinterpret_cast(&(df_structure->held)) - reinterpret_cast(df_structure); - p_table["imported"] = reinterpret_cast(&(df_structure->imported)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["exported"] = reinterpret_cast(&(df_structure->exported)) - reinterpret_cast(df_structure); -} - -void generate_entity_activity_statistics_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["food"] = reinterpret_cast(&(df_structure->food)) - reinterpret_cast(df_structure); - p_table["unit_counts"] = reinterpret_cast(&(df_structure->unit_counts)) - reinterpret_cast(df_structure); - p_table["population"] = reinterpret_cast(&(df_structure->population)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["trained_animals"] = reinterpret_cast(&(df_structure->trained_animals)) - reinterpret_cast(df_structure); - p_table["other_animals"] = reinterpret_cast(&(df_structure->other_animals)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["item_counts"] = reinterpret_cast(&(df_structure->item_counts)) - reinterpret_cast(df_structure); - p_table["created_weapons"] = reinterpret_cast(&(df_structure->created_weapons)) - reinterpret_cast(df_structure); - p_table["wealth"] = reinterpret_cast(&(df_structure->wealth)) - reinterpret_cast(df_structure); - p_table["recent_jobs"] = reinterpret_cast(&(df_structure->recent_jobs)) - reinterpret_cast(df_structure); - p_table["excavated_tiles"] = reinterpret_cast(&(df_structure->excavated_tiles)) - reinterpret_cast(df_structure); - p_table["death_history"] = reinterpret_cast(&(df_structure->death_history)) - reinterpret_cast(df_structure); - p_table["insanity_history"] = reinterpret_cast(&(df_structure->insanity_history)) - reinterpret_cast(df_structure); - p_table["execution_history"] = reinterpret_cast(&(df_structure->execution_history)) - reinterpret_cast(df_structure); - p_table["noble_death_history"] = reinterpret_cast(&(df_structure->noble_death_history)) - reinterpret_cast(df_structure); - p_table["total_deaths"] = reinterpret_cast(&(df_structure->total_deaths)) - reinterpret_cast(df_structure); - p_table["total_insanities"] = reinterpret_cast(&(df_structure->total_insanities)) - reinterpret_cast(df_structure); - p_table["total_executions"] = reinterpret_cast(&(df_structure->total_executions)) - reinterpret_cast(df_structure); - p_table["num_artifacts"] = reinterpret_cast(&(df_structure->num_artifacts)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["discovered_creature_foods"] = reinterpret_cast(&(df_structure->discovered_creature_foods)) - reinterpret_cast(df_structure); - p_table["discovered_creatures"] = reinterpret_cast(&(df_structure->discovered_creatures)) - reinterpret_cast(df_structure); - p_table["discovered_plant_foods"] = reinterpret_cast(&(df_structure->discovered_plant_foods)) - reinterpret_cast(df_structure); - p_table["discovered_plants"] = reinterpret_cast(&(df_structure->discovered_plants)) - reinterpret_cast(df_structure); - p_table["discovered_water_features"] = reinterpret_cast(&(df_structure->discovered_water_features)) - reinterpret_cast(df_structure); - p_table["discovered_subterranean_features"] = reinterpret_cast(&(df_structure->discovered_subterranean_features)) - reinterpret_cast(df_structure); - p_table["discovered_chasm_features"] = reinterpret_cast(&(df_structure->discovered_chasm_features)) - reinterpret_cast(df_structure); - p_table["discovered_magma_features"] = reinterpret_cast(&(df_structure->discovered_magma_features)) - reinterpret_cast(df_structure); - p_table["discovered_feature_layers"] = reinterpret_cast(&(df_structure->discovered_feature_layers)) - reinterpret_cast(df_structure); - p_table["migrant_wave_idx"] = reinterpret_cast(&(df_structure->migrant_wave_idx)) - reinterpret_cast(df_structure); - p_table["found_minerals"] = reinterpret_cast(&(df_structure->found_minerals)) - reinterpret_cast(df_structure); - p_table["found_misc"] = reinterpret_cast(&(df_structure->found_misc)) - reinterpret_cast(df_structure); -} - -void generate_entity_sell_requests_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["priority"] = reinterpret_cast(&(df_structure->priority)) - reinterpret_cast(df_structure); -} - -void generate_entity_tissue_style_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["preferred_shapings"] = reinterpret_cast(&(df_structure->preferred_shapings)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["maintain_length_min"] = reinterpret_cast(&(df_structure->maintain_length_min)) - reinterpret_cast(df_structure); - p_table["maintain_length_max"] = reinterpret_cast(&(df_structure->maintain_length_max)) - reinterpret_cast(df_structure); - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); -} - -void generate_entity_position_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["code"] = reinterpret_cast(&(df_structure->code)) - reinterpret_cast(df_structure); - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["allowed_creature"] = reinterpret_cast(&(df_structure->allowed_creature)) - reinterpret_cast(df_structure); - p_table["allowed_class"] = reinterpret_cast(&(df_structure->allowed_class)) - reinterpret_cast(df_structure); - p_table["rejected_creature"] = reinterpret_cast(&(df_structure->rejected_creature)) - reinterpret_cast(df_structure); - p_table["rejected_class"] = reinterpret_cast(&(df_structure->rejected_class)) - reinterpret_cast(df_structure); - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["name_female"] = reinterpret_cast(&(df_structure->name_female)) - reinterpret_cast(df_structure); - p_table["name_male"] = reinterpret_cast(&(df_structure->name_male)) - reinterpret_cast(df_structure); - p_table["spouse"] = reinterpret_cast(&(df_structure->spouse)) - reinterpret_cast(df_structure); - p_table["spouse_female"] = reinterpret_cast(&(df_structure->spouse_female)) - reinterpret_cast(df_structure); - p_table["spouse_male"] = reinterpret_cast(&(df_structure->spouse_male)) - reinterpret_cast(df_structure); - p_table["squad"] = reinterpret_cast(&(df_structure->squad)) - reinterpret_cast(df_structure); - p_table["land_name"] = reinterpret_cast(&(df_structure->land_name)) - reinterpret_cast(df_structure); - p_table["squad_size"] = reinterpret_cast(&(df_structure->squad_size)) - reinterpret_cast(df_structure); - p_table["commander_id"] = reinterpret_cast(&(df_structure->commander_id)) - reinterpret_cast(df_structure); - p_table["commander_civ"] = reinterpret_cast(&(df_structure->commander_civ)) - reinterpret_cast(df_structure); - p_table["commander_types"] = reinterpret_cast(&(df_structure->commander_types)) - reinterpret_cast(df_structure); - p_table["land_holder"] = reinterpret_cast(&(df_structure->land_holder)) - reinterpret_cast(df_structure); - p_table["requires_population"] = reinterpret_cast(&(df_structure->requires_population)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["precedence"] = reinterpret_cast(&(df_structure->precedence)) - reinterpret_cast(df_structure); - p_table["replaced_by"] = reinterpret_cast(&(df_structure->replaced_by)) - reinterpret_cast(df_structure); - p_table["number"] = reinterpret_cast(&(df_structure->number)) - reinterpret_cast(df_structure); - p_table["appointed_by"] = reinterpret_cast(&(df_structure->appointed_by)) - reinterpret_cast(df_structure); - p_table["appointed_by_civ"] = reinterpret_cast(&(df_structure->appointed_by_civ)) - reinterpret_cast(df_structure); - p_table["succession_by_position"] = reinterpret_cast(&(df_structure->succession_by_position)) - reinterpret_cast(df_structure); - p_table["responsibilities"] = reinterpret_cast(&(df_structure->responsibilities)) - reinterpret_cast(df_structure); - p_table["color"] = reinterpret_cast(&(df_structure->color)) - reinterpret_cast(df_structure); - p_table["required_boxes"] = reinterpret_cast(&(df_structure->required_boxes)) - reinterpret_cast(df_structure); - p_table["required_cabinets"] = reinterpret_cast(&(df_structure->required_cabinets)) - reinterpret_cast(df_structure); - p_table["required_racks"] = reinterpret_cast(&(df_structure->required_racks)) - reinterpret_cast(df_structure); - p_table["required_stands"] = reinterpret_cast(&(df_structure->required_stands)) - reinterpret_cast(df_structure); - p_table["required_office"] = reinterpret_cast(&(df_structure->required_office)) - reinterpret_cast(df_structure); - p_table["required_bedroom"] = reinterpret_cast(&(df_structure->required_bedroom)) - reinterpret_cast(df_structure); - p_table["required_dining"] = reinterpret_cast(&(df_structure->required_dining)) - reinterpret_cast(df_structure); - p_table["required_tomb"] = reinterpret_cast(&(df_structure->required_tomb)) - reinterpret_cast(df_structure); - p_table["mandate_max"] = reinterpret_cast(&(df_structure->mandate_max)) - reinterpret_cast(df_structure); - p_table["demand_max"] = reinterpret_cast(&(df_structure->demand_max)) - reinterpret_cast(df_structure); -} - -void generate_entity_position_assignment_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); - p_table["histfig2"] = reinterpret_cast(&(df_structure->histfig2)) - reinterpret_cast(df_structure); - p_table["position_id"] = reinterpret_cast(&(df_structure->position_id)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["squad_id"] = reinterpret_cast(&(df_structure->squad_id)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); -} - -void generate_entity_animal_raw_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["token"] = reinterpret_cast(&(df_structure->token)) - reinterpret_cast(df_structure); - p_table["caste_token"] = reinterpret_cast(&(df_structure->caste_token)) - reinterpret_cast(df_structure); - p_table["animal_class"] = reinterpret_cast(&(df_structure->animal_class)) - reinterpret_cast(df_structure); - p_table["forbidden_class"] = reinterpret_cast(&(df_structure->forbidden_class)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); -} - -void generate_large_integer__T_u_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["low_part"] = reinterpret_cast(&(df_structure->low_part)) - reinterpret_cast(df_structure); - p_table["high_part"] = reinterpret_cast(&(df_structure->high_part)) - reinterpret_cast(df_structure); -} - -void generate_large_integer_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["low_part"] = reinterpret_cast(&(df_structure->low_part)) - reinterpret_cast(df_structure); - p_table["high_part"] = reinterpret_cast(&(df_structure->high_part)) - reinterpret_cast(df_structure); - p_table["u"] = reinterpret_cast(&(df_structure->u)) - reinterpret_cast(df_structure); - p_table["quad_part"] = reinterpret_cast(&(df_structure->quad_part)) - reinterpret_cast(df_structure); -} - -void generate_renderer_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["screen"] = reinterpret_cast(&(df_structure->screen)) - reinterpret_cast(df_structure); - p_table["screentexpos"] = reinterpret_cast(&(df_structure->screentexpos)) - reinterpret_cast(df_structure); - p_table["screentexpos_addcolor"] = reinterpret_cast(&(df_structure->screentexpos_addcolor)) - reinterpret_cast(df_structure); - p_table["screentexpos_grayscale"] = reinterpret_cast(&(df_structure->screentexpos_grayscale)) - reinterpret_cast(df_structure); - p_table["screentexpos_cf"] = reinterpret_cast(&(df_structure->screentexpos_cf)) - reinterpret_cast(df_structure); - p_table["screentexpos_cbr"] = reinterpret_cast(&(df_structure->screentexpos_cbr)) - reinterpret_cast(df_structure); - p_table["screen_old"] = reinterpret_cast(&(df_structure->screen_old)) - reinterpret_cast(df_structure); - p_table["screentexpos_old"] = reinterpret_cast(&(df_structure->screentexpos_old)) - reinterpret_cast(df_structure); - p_table["screentexpos_addcolor_old"] = reinterpret_cast(&(df_structure->screentexpos_addcolor_old)) - reinterpret_cast(df_structure); - p_table["screentexpos_grayscale_old"] = reinterpret_cast(&(df_structure->screentexpos_grayscale_old)) - reinterpret_cast(df_structure); - p_table["screentexpos_cf_old"] = reinterpret_cast(&(df_structure->screentexpos_cf_old)) - reinterpret_cast(df_structure); - p_table["screentexpos_cbr_old"] = reinterpret_cast(&(df_structure->screentexpos_cbr_old)) - reinterpret_cast(df_structure); -} - -void generate_identity_unk_94_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); -} - -void generate_mental_picture_propertyst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk_0"] = reinterpret_cast(&(df_structure->unk_0)) - reinterpret_cast(df_structure); -} - -void generate_mental_picture_property_datest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); -} - -void generate_mental_picture_property_actionst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); -} - -void generate_mental_picture_property_toolst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); -} - -void generate_mental_picture_property_emotionst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); -} - -void generate_mental_picture_property_color_patternst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); -} - -void generate_mental_picture_property_shapest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); -} - -void generate_mental_picture_property_adjectivest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); -} - -void generate_mental_picture_property_positionst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); -} - -void generate_mental_picture_property_timest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); -} - -void generate_mental_picture_elementst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk_1"] = reinterpret_cast(&(df_structure->unk_1)) - reinterpret_cast(df_structure); -} - -void generate_mental_picture_element_hfst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_mental_picture_element_sitest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_mental_picture_element_regionst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_history_event_context_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["histfig_id_talker"] = reinterpret_cast(&(df_structure->histfig_id_talker)) - reinterpret_cast(df_structure); - p_table["histfig_id_listener"] = reinterpret_cast(&(df_structure->histfig_id_listener)) - reinterpret_cast(df_structure); -} - -void generate_history_event_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["year"] = reinterpret_cast(&(df_structure->year)) - reinterpret_cast(df_structure); - p_table["seconds"] = reinterpret_cast(&(df_structure->seconds)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); -} - -void generate_history_event_war_attacked_sitest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["attacker_civ"] = reinterpret_cast(&(df_structure->attacker_civ)) - reinterpret_cast(df_structure); - p_table["defender_civ"] = reinterpret_cast(&(df_structure->defender_civ)) - reinterpret_cast(df_structure); - p_table["site_civ"] = reinterpret_cast(&(df_structure->site_civ)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["attacker_general_hf"] = reinterpret_cast(&(df_structure->attacker_general_hf)) - reinterpret_cast(df_structure); - p_table["defender_general_hf"] = reinterpret_cast(&(df_structure->defender_general_hf)) - reinterpret_cast(df_structure); -} - -void generate_history_event_war_destroyed_sitest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["attacker_civ"] = reinterpret_cast(&(df_structure->attacker_civ)) - reinterpret_cast(df_structure); - p_table["defender_civ"] = reinterpret_cast(&(df_structure->defender_civ)) - reinterpret_cast(df_structure); - p_table["site_civ"] = reinterpret_cast(&(df_structure->site_civ)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); -} - -void generate_history_event_created_sitest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["civ"] = reinterpret_cast(&(df_structure->civ)) - reinterpret_cast(df_structure); - p_table["site_civ"] = reinterpret_cast(&(df_structure->site_civ)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["builder_hf"] = reinterpret_cast(&(df_structure->builder_hf)) - reinterpret_cast(df_structure); -} - -void generate_history_event_entity_expels_hfst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["civ"] = reinterpret_cast(&(df_structure->civ)) - reinterpret_cast(df_structure); - p_table["expelled"] = reinterpret_cast(&(df_structure->expelled)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); -} - -void generate_history_event_first_contactst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["contactor"] = reinterpret_cast(&(df_structure->contactor)) - reinterpret_cast(df_structure); - p_table["contacted"] = reinterpret_cast(&(df_structure->contacted)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); -} - -void generate_history_event_first_contact_failedst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["contactor"] = reinterpret_cast(&(df_structure->contactor)) - reinterpret_cast(df_structure); - p_table["rejector"] = reinterpret_cast(&(df_structure->rejector)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); -} - -void generate_history_event_diplomat_lostst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["entity"] = reinterpret_cast(&(df_structure->entity)) - reinterpret_cast(df_structure); - p_table["involved"] = reinterpret_cast(&(df_structure->involved)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); -} - -void generate_history_event_agreements_voidedst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["source"] = reinterpret_cast(&(df_structure->source)) - reinterpret_cast(df_structure); - p_table["destination"] = reinterpret_cast(&(df_structure->destination)) - reinterpret_cast(df_structure); -} - -void generate_history_event_merchantst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["source"] = reinterpret_cast(&(df_structure->source)) - reinterpret_cast(df_structure); - p_table["destination"] = reinterpret_cast(&(df_structure->destination)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["flags2"] = reinterpret_cast(&(df_structure->flags2)) - reinterpret_cast(df_structure); -} - -void generate_history_event_artifact_hiddenst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["artifact"] = reinterpret_cast(&(df_structure->artifact)) - reinterpret_cast(df_structure); - p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); - p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); -} - -void generate_history_event_artifact_createdst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["artifact_id"] = reinterpret_cast(&(df_structure->artifact_id)) - reinterpret_cast(df_structure); - p_table["unit_id"] = reinterpret_cast(&(df_structure->unit_id)) - reinterpret_cast(df_structure); - p_table["hfid"] = reinterpret_cast(&(df_structure->hfid)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["flags2"] = reinterpret_cast(&(df_structure->flags2)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); -} - -void generate_history_event_artifact_lostst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["artifact"] = reinterpret_cast(&(df_structure->artifact)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); -} - -void generate_history_event_artifact_foundst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["artifact"] = reinterpret_cast(&(df_structure->artifact)) - reinterpret_cast(df_structure); - p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); - p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); -} - -void generate_history_event_artifact_recoveredst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["artifact"] = reinterpret_cast(&(df_structure->artifact)) - reinterpret_cast(df_structure); - p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); - p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["structure"] = reinterpret_cast(&(df_structure->structure)) - reinterpret_cast(df_structure); - p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); - p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); -} - -void generate_history_event_artifact_droppedst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["artifact"] = reinterpret_cast(&(df_structure->artifact)) - reinterpret_cast(df_structure); - p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); - p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["flags2"] = reinterpret_cast(&(df_structure->flags2)) - reinterpret_cast(df_structure); -} - -void generate_history_event_reclaim_sitest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["civ"] = reinterpret_cast(&(df_structure->civ)) - reinterpret_cast(df_structure); - p_table["site_civ"] = reinterpret_cast(&(df_structure->site_civ)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["flags2"] = reinterpret_cast(&(df_structure->flags2)) - reinterpret_cast(df_structure); -} - -void generate_history_event_hf_destroyed_sitest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["attacker_hf"] = reinterpret_cast(&(df_structure->attacker_hf)) - reinterpret_cast(df_structure); - p_table["defender_civ"] = reinterpret_cast(&(df_structure->defender_civ)) - reinterpret_cast(df_structure); - p_table["site_civ"] = reinterpret_cast(&(df_structure->site_civ)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); -} - -void generate_history_event_site_diedst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["civ"] = reinterpret_cast(&(df_structure->civ)) - reinterpret_cast(df_structure); - p_table["site_civ"] = reinterpret_cast(&(df_structure->site_civ)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["flags2"] = reinterpret_cast(&(df_structure->flags2)) - reinterpret_cast(df_structure); -} - -void generate_history_event_site_retiredst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["civ"] = reinterpret_cast(&(df_structure->civ)) - reinterpret_cast(df_structure); - p_table["site_civ"] = reinterpret_cast(&(df_structure->site_civ)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["flags2"] = reinterpret_cast(&(df_structure->flags2)) - reinterpret_cast(df_structure); -} - -void generate_history_event_entity_createdst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["entity"] = reinterpret_cast(&(df_structure->entity)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["structure"] = reinterpret_cast(&(df_structure->structure)) - reinterpret_cast(df_structure); -} - -void generate_history_event_entity_incorporatedst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["migrant_entity"] = reinterpret_cast(&(df_structure->migrant_entity)) - reinterpret_cast(df_structure); - p_table["join_entity"] = reinterpret_cast(&(df_structure->join_entity)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); -} - -void generate_history_event_created_buildingst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["civ"] = reinterpret_cast(&(df_structure->civ)) - reinterpret_cast(df_structure); - p_table["site_civ"] = reinterpret_cast(&(df_structure->site_civ)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["structure"] = reinterpret_cast(&(df_structure->structure)) - reinterpret_cast(df_structure); - p_table["builder_hf"] = reinterpret_cast(&(df_structure->builder_hf)) - reinterpret_cast(df_structure); -} - -void generate_history_event_replaced_buildingst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["civ"] = reinterpret_cast(&(df_structure->civ)) - reinterpret_cast(df_structure); - p_table["site_civ"] = reinterpret_cast(&(df_structure->site_civ)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["old_structure"] = reinterpret_cast(&(df_structure->old_structure)) - reinterpret_cast(df_structure); - p_table["new_structure"] = reinterpret_cast(&(df_structure->new_structure)) - reinterpret_cast(df_structure); -} - -void generate_history_event_entity_razed_buildingst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["civ"] = reinterpret_cast(&(df_structure->civ)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["structure"] = reinterpret_cast(&(df_structure->structure)) - reinterpret_cast(df_structure); -} - -void generate_history_event_masterpiece_createdst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["maker"] = reinterpret_cast(&(df_structure->maker)) - reinterpret_cast(df_structure); - p_table["maker_entity"] = reinterpret_cast(&(df_structure->maker_entity)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); -} - -void generate_history_event_masterpiece_created_arch_designst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["building_type"] = reinterpret_cast(&(df_structure->building_type)) - reinterpret_cast(df_structure); - p_table["building_subtype"] = reinterpret_cast(&(df_structure->building_subtype)) - reinterpret_cast(df_structure); - p_table["building_custom"] = reinterpret_cast(&(df_structure->building_custom)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); -} - -void generate_history_event_masterpiece_created_arch_constructst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["building_type"] = reinterpret_cast(&(df_structure->building_type)) - reinterpret_cast(df_structure); - p_table["building_subtype"] = reinterpret_cast(&(df_structure->building_subtype)) - reinterpret_cast(df_structure); - p_table["building_custom"] = reinterpret_cast(&(df_structure->building_custom)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); -} - -void generate_history_event_masterpiece_created_foodst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); - p_table["item_id"] = reinterpret_cast(&(df_structure->item_id)) - reinterpret_cast(df_structure); -} - -void generate_history_event_war_plundered_sitest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["attacker_civ"] = reinterpret_cast(&(df_structure->attacker_civ)) - reinterpret_cast(df_structure); - p_table["defender_civ"] = reinterpret_cast(&(df_structure->defender_civ)) - reinterpret_cast(df_structure); - p_table["site_civ"] = reinterpret_cast(&(df_structure->site_civ)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); -} - -void generate_history_event_war_site_new_leaderst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["attacker_civ"] = reinterpret_cast(&(df_structure->attacker_civ)) - reinterpret_cast(df_structure); - p_table["new_site_civ"] = reinterpret_cast(&(df_structure->new_site_civ)) - reinterpret_cast(df_structure); - p_table["defender_civ"] = reinterpret_cast(&(df_structure->defender_civ)) - reinterpret_cast(df_structure); - p_table["site_civ"] = reinterpret_cast(&(df_structure->site_civ)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["new_leaders"] = reinterpret_cast(&(df_structure->new_leaders)) - reinterpret_cast(df_structure); -} - -void generate_history_event_war_site_tribute_forcedst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["attacker_civ"] = reinterpret_cast(&(df_structure->attacker_civ)) - reinterpret_cast(df_structure); - p_table["defender_civ"] = reinterpret_cast(&(df_structure->defender_civ)) - reinterpret_cast(df_structure); - p_table["site_civ"] = reinterpret_cast(&(df_structure->site_civ)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["season"] = reinterpret_cast(&(df_structure->season)) - reinterpret_cast(df_structure); - p_table["tribute_flags"] = reinterpret_cast(&(df_structure->tribute_flags)) - reinterpret_cast(df_structure); -} - -void generate_history_event_war_site_taken_overst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["attacker_civ"] = reinterpret_cast(&(df_structure->attacker_civ)) - reinterpret_cast(df_structure); - p_table["new_site_civ"] = reinterpret_cast(&(df_structure->new_site_civ)) - reinterpret_cast(df_structure); - p_table["defender_civ"] = reinterpret_cast(&(df_structure->defender_civ)) - reinterpret_cast(df_structure); - p_table["site_civ"] = reinterpret_cast(&(df_structure->site_civ)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); -} - -void generate_history_event_site_surrenderedst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["attacker_civ"] = reinterpret_cast(&(df_structure->attacker_civ)) - reinterpret_cast(df_structure); - p_table["defender_civ"] = reinterpret_cast(&(df_structure->defender_civ)) - reinterpret_cast(df_structure); - p_table["site_civ"] = reinterpret_cast(&(df_structure->site_civ)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); -} - -void generate_history_event_hist_figure_abductedst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["target"] = reinterpret_cast(&(df_structure->target)) - reinterpret_cast(df_structure); - p_table["snatcher"] = reinterpret_cast(&(df_structure->snatcher)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); - p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); -} - -void generate_history_event_hf_razed_buildingst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["structure"] = reinterpret_cast(&(df_structure->structure)) - reinterpret_cast(df_structure); -} - -void generate_history_event_creature_devouredst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["victim"] = reinterpret_cast(&(df_structure->victim)) - reinterpret_cast(df_structure); - p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); - p_table["caste"] = reinterpret_cast(&(df_structure->caste)) - reinterpret_cast(df_structure); - p_table["eater"] = reinterpret_cast(&(df_structure->eater)) - reinterpret_cast(df_structure); - p_table["entity"] = reinterpret_cast(&(df_structure->entity)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); - p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); -} - -void generate_history_event_hist_figure_woundedst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["woundee"] = reinterpret_cast(&(df_structure->woundee)) - reinterpret_cast(df_structure); - p_table["wounder"] = reinterpret_cast(&(df_structure->wounder)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); - p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); - p_table["woundee_race"] = reinterpret_cast(&(df_structure->woundee_race)) - reinterpret_cast(df_structure); - p_table["woundee_caste"] = reinterpret_cast(&(df_structure->woundee_caste)) - reinterpret_cast(df_structure); - p_table["body_part"] = reinterpret_cast(&(df_structure->body_part)) - reinterpret_cast(df_structure); - p_table["injury_type"] = reinterpret_cast(&(df_structure->injury_type)) - reinterpret_cast(df_structure); - p_table["part_lost"] = reinterpret_cast(&(df_structure->part_lost)) - reinterpret_cast(df_structure); -} - -void generate_history_event_created_world_constructionst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["civ"] = reinterpret_cast(&(df_structure->civ)) - reinterpret_cast(df_structure); - p_table["site_civ"] = reinterpret_cast(&(df_structure->site_civ)) - reinterpret_cast(df_structure); - p_table["construction"] = reinterpret_cast(&(df_structure->construction)) - reinterpret_cast(df_structure); - p_table["master_construction"] = reinterpret_cast(&(df_structure->master_construction)) - reinterpret_cast(df_structure); - p_table["site1"] = reinterpret_cast(&(df_structure->site1)) - reinterpret_cast(df_structure); - p_table["site2"] = reinterpret_cast(&(df_structure->site2)) - reinterpret_cast(df_structure); -} - -void generate_history_event_hist_figure_reunionst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["missing"] = reinterpret_cast(&(df_structure->missing)) - reinterpret_cast(df_structure); - p_table["reunited_with"] = reinterpret_cast(&(df_structure->reunited_with)) - reinterpret_cast(df_structure); - p_table["assistant"] = reinterpret_cast(&(df_structure->assistant)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); - p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); -} - -void generate_history_event_assume_identityst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["trickster"] = reinterpret_cast(&(df_structure->trickster)) - reinterpret_cast(df_structure); - p_table["identity"] = reinterpret_cast(&(df_structure->identity)) - reinterpret_cast(df_structure); - p_table["target"] = reinterpret_cast(&(df_structure->target)) - reinterpret_cast(df_structure); -} - -void generate_history_event_create_entity_positionst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); - p_table["civ"] = reinterpret_cast(&(df_structure->civ)) - reinterpret_cast(df_structure); - p_table["site_civ"] = reinterpret_cast(&(df_structure->site_civ)) - reinterpret_cast(df_structure); - p_table["position"] = reinterpret_cast(&(df_structure->position)) - reinterpret_cast(df_structure); - p_table["reason"] = reinterpret_cast(&(df_structure->reason)) - reinterpret_cast(df_structure); -} - -void generate_history_event_change_creature_typest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["changee"] = reinterpret_cast(&(df_structure->changee)) - reinterpret_cast(df_structure); - p_table["changer"] = reinterpret_cast(&(df_structure->changer)) - reinterpret_cast(df_structure); - p_table["old_race"] = reinterpret_cast(&(df_structure->old_race)) - reinterpret_cast(df_structure); - p_table["old_caste"] = reinterpret_cast(&(df_structure->old_caste)) - reinterpret_cast(df_structure); - p_table["new_race"] = reinterpret_cast(&(df_structure->new_race)) - reinterpret_cast(df_structure); - p_table["new_caste"] = reinterpret_cast(&(df_structure->new_caste)) - reinterpret_cast(df_structure); -} - -void generate_history_event_hf_learns_secretst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["student"] = reinterpret_cast(&(df_structure->student)) - reinterpret_cast(df_structure); - p_table["teacher"] = reinterpret_cast(&(df_structure->teacher)) - reinterpret_cast(df_structure); - p_table["artifact"] = reinterpret_cast(&(df_structure->artifact)) - reinterpret_cast(df_structure); - p_table["interaction"] = reinterpret_cast(&(df_structure->interaction)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_history_event_hf_act_on_buildingst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["action"] = reinterpret_cast(&(df_structure->action)) - reinterpret_cast(df_structure); - p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["structure"] = reinterpret_cast(&(df_structure->structure)) - reinterpret_cast(df_structure); -} - -void generate_history_event_hf_does_interactionst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["doer"] = reinterpret_cast(&(df_structure->doer)) - reinterpret_cast(df_structure); - p_table["target"] = reinterpret_cast(&(df_structure->target)) - reinterpret_cast(df_structure); - p_table["interaction"] = reinterpret_cast(&(df_structure->interaction)) - reinterpret_cast(df_structure); - p_table["source"] = reinterpret_cast(&(df_structure->source)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); - p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); -} - -void generate_history_event_entity_lawst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["entity"] = reinterpret_cast(&(df_structure->entity)) - reinterpret_cast(df_structure); - p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); - p_table["add_flags"] = reinterpret_cast(&(df_structure->add_flags)) - reinterpret_cast(df_structure); - p_table["remove_flags"] = reinterpret_cast(&(df_structure->remove_flags)) - reinterpret_cast(df_structure); -} - -void generate_history_event_artifact_storedst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["artifact"] = reinterpret_cast(&(df_structure->artifact)) - reinterpret_cast(df_structure); - p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); - p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_history_event_agreement_formedst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["agreement_id"] = reinterpret_cast(&(df_structure->agreement_id)) - reinterpret_cast(df_structure); -} - -void generate_history_event_insurrection_startedst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["target_civ"] = reinterpret_cast(&(df_structure->target_civ)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); -} - -void generate_history_event_hf_attacked_sitest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["attacker_hf"] = reinterpret_cast(&(df_structure->attacker_hf)) - reinterpret_cast(df_structure); - p_table["defender_civ"] = reinterpret_cast(&(df_structure->defender_civ)) - reinterpret_cast(df_structure); - p_table["site_civ"] = reinterpret_cast(&(df_structure->site_civ)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); -} - -void generate_history_event_performancest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["entity"] = reinterpret_cast(&(df_structure->entity)) - reinterpret_cast(df_structure); - p_table["occasion"] = reinterpret_cast(&(df_structure->occasion)) - reinterpret_cast(df_structure); - p_table["schedule"] = reinterpret_cast(&(df_structure->schedule)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); - p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); -} - -void generate_history_event_competitionst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["entity"] = reinterpret_cast(&(df_structure->entity)) - reinterpret_cast(df_structure); - p_table["occasion"] = reinterpret_cast(&(df_structure->occasion)) - reinterpret_cast(df_structure); - p_table["schedule"] = reinterpret_cast(&(df_structure->schedule)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); - p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); - p_table["competitor_hf"] = reinterpret_cast(&(df_structure->competitor_hf)) - reinterpret_cast(df_structure); - p_table["winner_hf"] = reinterpret_cast(&(df_structure->winner_hf)) - reinterpret_cast(df_structure); -} - -void generate_history_event_processionst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["entity"] = reinterpret_cast(&(df_structure->entity)) - reinterpret_cast(df_structure); - p_table["occasion"] = reinterpret_cast(&(df_structure->occasion)) - reinterpret_cast(df_structure); - p_table["schedule"] = reinterpret_cast(&(df_structure->schedule)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); - p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); -} - -void generate_history_event_ceremonyst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["entity"] = reinterpret_cast(&(df_structure->entity)) - reinterpret_cast(df_structure); - p_table["occasion"] = reinterpret_cast(&(df_structure->occasion)) - reinterpret_cast(df_structure); - p_table["schedule"] = reinterpret_cast(&(df_structure->schedule)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); - p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); -} - -void generate_history_event_artifact_transformedst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["new_artifact"] = reinterpret_cast(&(df_structure->new_artifact)) - reinterpret_cast(df_structure); - p_table["old_artifact"] = reinterpret_cast(&(df_structure->old_artifact)) - reinterpret_cast(df_structure); - p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); - p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); -} - -void generate_history_event_artifact_destroyedst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["artifact"] = reinterpret_cast(&(df_structure->artifact)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["destroyer_hf"] = reinterpret_cast(&(df_structure->destroyer_hf)) - reinterpret_cast(df_structure); - p_table["destroyer_civ"] = reinterpret_cast(&(df_structure->destroyer_civ)) - reinterpret_cast(df_structure); -} - -void generate_history_event_regionpop_incorporated_into_entityst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["pop_race"] = reinterpret_cast(&(df_structure->pop_race)) - reinterpret_cast(df_structure); - p_table["number_moved"] = reinterpret_cast(&(df_structure->number_moved)) - reinterpret_cast(df_structure); - p_table["pop_region"] = reinterpret_cast(&(df_structure->pop_region)) - reinterpret_cast(df_structure); - p_table["pop_layer"] = reinterpret_cast(&(df_structure->pop_layer)) - reinterpret_cast(df_structure); - p_table["join_entity"] = reinterpret_cast(&(df_structure->join_entity)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); -} - -void generate_history_event_hf_act_on_artifactst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["action"] = reinterpret_cast(&(df_structure->action)) - reinterpret_cast(df_structure); - p_table["artifact"] = reinterpret_cast(&(df_structure->artifact)) - reinterpret_cast(df_structure); - p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["structure"] = reinterpret_cast(&(df_structure->structure)) - reinterpret_cast(df_structure); -} - -void generate_history_event_artifact_copiedst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["artifact"] = reinterpret_cast(&(df_structure->artifact)) - reinterpret_cast(df_structure); - p_table["entity_dest"] = reinterpret_cast(&(df_structure->entity_dest)) - reinterpret_cast(df_structure); - p_table["entity_src"] = reinterpret_cast(&(df_structure->entity_src)) - reinterpret_cast(df_structure); - p_table["site_dest"] = reinterpret_cast(&(df_structure->site_dest)) - reinterpret_cast(df_structure); - p_table["site_src"] = reinterpret_cast(&(df_structure->site_src)) - reinterpret_cast(df_structure); - p_table["structure_dest"] = reinterpret_cast(&(df_structure->structure_dest)) - reinterpret_cast(df_structure); - p_table["structure_src"] = reinterpret_cast(&(df_structure->structure_src)) - reinterpret_cast(df_structure); - p_table["flags2"] = reinterpret_cast(&(df_structure->flags2)) - reinterpret_cast(df_structure); -} - -void generate_history_event_sneak_into_sitest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["attacker_civ"] = reinterpret_cast(&(df_structure->attacker_civ)) - reinterpret_cast(df_structure); - p_table["defender_civ"] = reinterpret_cast(&(df_structure->defender_civ)) - reinterpret_cast(df_structure); - p_table["site_civ"] = reinterpret_cast(&(df_structure->site_civ)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); -} - -void generate_history_event_spotted_leaving_sitest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["spotter_hf"] = reinterpret_cast(&(df_structure->spotter_hf)) - reinterpret_cast(df_structure); - p_table["leaver_civ"] = reinterpret_cast(&(df_structure->leaver_civ)) - reinterpret_cast(df_structure); - p_table["site_civ"] = reinterpret_cast(&(df_structure->site_civ)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); -} - -void generate_history_event_entity_searched_sitest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["searcher_civ"] = reinterpret_cast(&(df_structure->searcher_civ)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["result"] = reinterpret_cast(&(df_structure->result)) - reinterpret_cast(df_structure); -} - -void generate_history_event_hf_freedst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["freeing_civ"] = reinterpret_cast(&(df_structure->freeing_civ)) - reinterpret_cast(df_structure); - p_table["freeing_hf"] = reinterpret_cast(&(df_structure->freeing_hf)) - reinterpret_cast(df_structure); - p_table["holding_civ"] = reinterpret_cast(&(df_structure->holding_civ)) - reinterpret_cast(df_structure); - p_table["site_civ"] = reinterpret_cast(&(df_structure->site_civ)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["rescued_hfs"] = reinterpret_cast(&(df_structure->rescued_hfs)) - reinterpret_cast(df_structure); -} - -void generate_history_event_hist_figure_simple_actionst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["group_hfs"] = reinterpret_cast(&(df_structure->group_hfs)) - reinterpret_cast(df_structure); - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["structure"] = reinterpret_cast(&(df_structure->structure)) - reinterpret_cast(df_structure); - p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); - p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); -} - -void generate_history_event_entity_rampaged_in_sitest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["rampage_civ_id"] = reinterpret_cast(&(df_structure->rampage_civ_id)) - reinterpret_cast(df_structure); - p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); -} - -void generate_history_event_entity_fled_sitest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["fled_civ_id"] = reinterpret_cast(&(df_structure->fled_civ_id)) - reinterpret_cast(df_structure); - p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); -} - -void generate_history_event_squad_vs_squadst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["a_leader_hfid"] = reinterpret_cast(&(df_structure->a_leader_hfid)) - reinterpret_cast(df_structure); - p_table["a_leadership_roll"] = reinterpret_cast(&(df_structure->a_leadership_roll)) - reinterpret_cast(df_structure); - p_table["a_hfid"] = reinterpret_cast(&(df_structure->a_hfid)) - reinterpret_cast(df_structure); - p_table["a_squad_id"] = reinterpret_cast(&(df_structure->a_squad_id)) - reinterpret_cast(df_structure); - p_table["a_race"] = reinterpret_cast(&(df_structure->a_race)) - reinterpret_cast(df_structure); - p_table["a_interaction"] = reinterpret_cast(&(df_structure->a_interaction)) - reinterpret_cast(df_structure); - p_table["a_effect"] = reinterpret_cast(&(df_structure->a_effect)) - reinterpret_cast(df_structure); - p_table["a_number"] = reinterpret_cast(&(df_structure->a_number)) - reinterpret_cast(df_structure); - p_table["a_slain"] = reinterpret_cast(&(df_structure->a_slain)) - reinterpret_cast(df_structure); - p_table["d_leader_hfid"] = reinterpret_cast(&(df_structure->d_leader_hfid)) - reinterpret_cast(df_structure); - p_table["d_leadership_roll"] = reinterpret_cast(&(df_structure->d_leadership_roll)) - reinterpret_cast(df_structure); - p_table["d_hfid"] = reinterpret_cast(&(df_structure->d_hfid)) - reinterpret_cast(df_structure); - p_table["d_squad_id"] = reinterpret_cast(&(df_structure->d_squad_id)) - reinterpret_cast(df_structure); - p_table["d_race"] = reinterpret_cast(&(df_structure->d_race)) - reinterpret_cast(df_structure); - p_table["d_interaction"] = reinterpret_cast(&(df_structure->d_interaction)) - reinterpret_cast(df_structure); - p_table["d_effect"] = reinterpret_cast(&(df_structure->d_effect)) - reinterpret_cast(df_structure); - p_table["d_number"] = reinterpret_cast(&(df_structure->d_number)) - reinterpret_cast(df_structure); - p_table["d_slain"] = reinterpret_cast(&(df_structure->d_slain)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["structure"] = reinterpret_cast(&(df_structure->structure)) - reinterpret_cast(df_structure); - p_table["subregion"] = reinterpret_cast(&(df_structure->subregion)) - reinterpret_cast(df_structure); - p_table["feature_layer"] = reinterpret_cast(&(df_structure->feature_layer)) - reinterpret_cast(df_structure); -} - -void generate_history_event_collection_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["events"] = reinterpret_cast(&(df_structure->events)) - reinterpret_cast(df_structure); - p_table["collections"] = reinterpret_cast(&(df_structure->collections)) - reinterpret_cast(df_structure); - p_table["start_year"] = reinterpret_cast(&(df_structure->start_year)) - reinterpret_cast(df_structure); - p_table["end_year"] = reinterpret_cast(&(df_structure->end_year)) - reinterpret_cast(df_structure); - p_table["start_seconds"] = reinterpret_cast(&(df_structure->start_seconds)) - reinterpret_cast(df_structure); - p_table["end_seconds"] = reinterpret_cast(&(df_structure->end_seconds)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); -} - -void generate_history_event_collection_site_conqueredst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["parent_collection"] = reinterpret_cast(&(df_structure->parent_collection)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["attacker_civ"] = reinterpret_cast(&(df_structure->attacker_civ)) - reinterpret_cast(df_structure); - p_table["defender_civ"] = reinterpret_cast(&(df_structure->defender_civ)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["ordinal"] = reinterpret_cast(&(df_structure->ordinal)) - reinterpret_cast(df_structure); -} - -void generate_history_event_collection_journeyst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["traveler_hf"] = reinterpret_cast(&(df_structure->traveler_hf)) - reinterpret_cast(df_structure); - p_table["ordinal"] = reinterpret_cast(&(df_structure->ordinal)) - reinterpret_cast(df_structure); -} - -void generate_history_event_collection_insurrectionst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["target_civ"] = reinterpret_cast(&(df_structure->target_civ)) - reinterpret_cast(df_structure); - p_table["ordinal"] = reinterpret_cast(&(df_structure->ordinal)) - reinterpret_cast(df_structure); -} - -void generate_history_event_collection_occasionst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["civ"] = reinterpret_cast(&(df_structure->civ)) - reinterpret_cast(df_structure); - p_table["occasion"] = reinterpret_cast(&(df_structure->occasion)) - reinterpret_cast(df_structure); - p_table["ordinal"] = reinterpret_cast(&(df_structure->ordinal)) - reinterpret_cast(df_structure); -} - -void generate_history_event_collection_performancest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["civ"] = reinterpret_cast(&(df_structure->civ)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["ordinal"] = reinterpret_cast(&(df_structure->ordinal)) - reinterpret_cast(df_structure); -} - -void generate_history_event_collection_competitionst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["civ"] = reinterpret_cast(&(df_structure->civ)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["ordinal"] = reinterpret_cast(&(df_structure->ordinal)) - reinterpret_cast(df_structure); -} - -void generate_history_event_collection_processionst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["civ"] = reinterpret_cast(&(df_structure->civ)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["ordinal"] = reinterpret_cast(&(df_structure->ordinal)) - reinterpret_cast(df_structure); -} - -void generate_history_event_collection_ceremonyst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["civ"] = reinterpret_cast(&(df_structure->civ)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["ordinal"] = reinterpret_cast(&(df_structure->ordinal)) - reinterpret_cast(df_structure); -} - -void generate_history_event_collection_purgest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["adjective"] = reinterpret_cast(&(df_structure->adjective)) - reinterpret_cast(df_structure); - p_table["ordinal"] = reinterpret_cast(&(df_structure->ordinal)) - reinterpret_cast(df_structure); -} - -void generate_init_media_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["flag"] = reinterpret_cast(&(df_structure->flag)) - reinterpret_cast(df_structure); - p_table["volume"] = reinterpret_cast(&(df_structure->volume)) - reinterpret_cast(df_structure); -} - -void generate_init_input_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["hold_time"] = reinterpret_cast(&(df_structure->hold_time)) - reinterpret_cast(df_structure); - p_table["repeat_time"] = reinterpret_cast(&(df_structure->repeat_time)) - reinterpret_cast(df_structure); - p_table["macro_time"] = reinterpret_cast(&(df_structure->macro_time)) - reinterpret_cast(df_structure); - p_table["pause_zoom_no_interface_ms"] = reinterpret_cast(&(df_structure->pause_zoom_no_interface_ms)) - reinterpret_cast(df_structure); - p_table["flag"] = reinterpret_cast(&(df_structure->flag)) - reinterpret_cast(df_structure); - p_table["zoom_speed"] = reinterpret_cast(&(df_structure->zoom_speed)) - reinterpret_cast(df_structure); - p_table["repeat_accel_start"] = reinterpret_cast(&(df_structure->repeat_accel_start)) - reinterpret_cast(df_structure); - p_table["repeat_accel_limit"] = reinterpret_cast(&(df_structure->repeat_accel_limit)) - reinterpret_cast(df_structure); -} - -void generate_init_window_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["flag"] = reinterpret_cast(&(df_structure->flag)) - reinterpret_cast(df_structure); -} - -void generate_tile_page_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["token"] = reinterpret_cast(&(df_structure->token)) - reinterpret_cast(df_structure); - p_table["filename"] = reinterpret_cast(&(df_structure->filename)) - reinterpret_cast(df_structure); - p_table["tile_dim_x"] = reinterpret_cast(&(df_structure->tile_dim_x)) - reinterpret_cast(df_structure); - p_table["tile_dim_y"] = reinterpret_cast(&(df_structure->tile_dim_y)) - reinterpret_cast(df_structure); - p_table["page_dim_x"] = reinterpret_cast(&(df_structure->page_dim_x)) - reinterpret_cast(df_structure); - p_table["page_dim_y"] = reinterpret_cast(&(df_structure->page_dim_y)) - reinterpret_cast(df_structure); - p_table["texpos"] = reinterpret_cast(&(df_structure->texpos)) - reinterpret_cast(df_structure); - p_table["datapos"] = reinterpret_cast(&(df_structure->datapos)) - reinterpret_cast(df_structure); - p_table["texpos_gs"] = reinterpret_cast(&(df_structure->texpos_gs)) - reinterpret_cast(df_structure); - p_table["datapos_gs"] = reinterpret_cast(&(df_structure->datapos_gs)) - reinterpret_cast(df_structure); - p_table["loaded"] = reinterpret_cast(&(df_structure->loaded)) - reinterpret_cast(df_structure); -} - -void generate_interaction_source_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["frequency"] = reinterpret_cast(&(df_structure->frequency)) - reinterpret_cast(df_structure); - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["hist_string_1"] = reinterpret_cast(&(df_structure->hist_string_1)) - reinterpret_cast(df_structure); - p_table["hist_string_2"] = reinterpret_cast(&(df_structure->hist_string_2)) - reinterpret_cast(df_structure); -} - -void generate_interaction_source_regionst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["region_flags"] = reinterpret_cast(&(df_structure->region_flags)) - reinterpret_cast(df_structure); - p_table["regions"] = reinterpret_cast(&(df_structure->regions)) - reinterpret_cast(df_structure); -} - -void generate_interaction_source_disturbancest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_interaction_source_attackst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_interaction_source_ingestionst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_interaction_source_creature_actionst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_interaction_source_underground_specialst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_interaction_target_info_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["affected_creature_str"] = reinterpret_cast(&(df_structure->affected_creature_str)) - reinterpret_cast(df_structure); - p_table["affected_creature"] = reinterpret_cast(&(df_structure->affected_creature)) - reinterpret_cast(df_structure); - p_table["affected_class"] = reinterpret_cast(&(df_structure->affected_class)) - reinterpret_cast(df_structure); - p_table["immune_creature_str"] = reinterpret_cast(&(df_structure->immune_creature_str)) - reinterpret_cast(df_structure); - p_table["immune_creature"] = reinterpret_cast(&(df_structure->immune_creature)) - reinterpret_cast(df_structure); - p_table["immune_class"] = reinterpret_cast(&(df_structure->immune_class)) - reinterpret_cast(df_structure); - p_table["forbidden_syndrome_class"] = reinterpret_cast(&(df_structure->forbidden_syndrome_class)) - reinterpret_cast(df_structure); - p_table["requires_1"] = reinterpret_cast(&(df_structure->requires_1)) - reinterpret_cast(df_structure); - p_table["requires_2"] = reinterpret_cast(&(df_structure->requires_2)) - reinterpret_cast(df_structure); - p_table["forbidden_1"] = reinterpret_cast(&(df_structure->forbidden_1)) - reinterpret_cast(df_structure); - p_table["forbidden_2"] = reinterpret_cast(&(df_structure->forbidden_2)) - reinterpret_cast(df_structure); - p_table["restrictions"] = reinterpret_cast(&(df_structure->restrictions)) - reinterpret_cast(df_structure); -} - -void generate_interaction_instance_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["interaction_id"] = reinterpret_cast(&(df_structure->interaction_id)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["region_index"] = reinterpret_cast(&(df_structure->region_index)) - reinterpret_cast(df_structure); - p_table["affected_units"] = reinterpret_cast(&(df_structure->affected_units)) - reinterpret_cast(df_structure); -} - -void generate_weapon_attack_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["edged"] = reinterpret_cast(&(df_structure->edged)) - reinterpret_cast(df_structure); - p_table["contact"] = reinterpret_cast(&(df_structure->contact)) - reinterpret_cast(df_structure); - p_table["penetration"] = reinterpret_cast(&(df_structure->penetration)) - reinterpret_cast(df_structure); - p_table["velocity_mult"] = reinterpret_cast(&(df_structure->velocity_mult)) - reinterpret_cast(df_structure); - p_table["verb_2nd"] = reinterpret_cast(&(df_structure->verb_2nd)) - reinterpret_cast(df_structure); - p_table["verb_3rd"] = reinterpret_cast(&(df_structure->verb_3rd)) - reinterpret_cast(df_structure); - p_table["noun"] = reinterpret_cast(&(df_structure->noun)) - reinterpret_cast(df_structure); - p_table["prepare"] = reinterpret_cast(&(df_structure->prepare)) - reinterpret_cast(df_structure); - p_table["recover"] = reinterpret_cast(&(df_structure->recover)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); -} - -void generate_itemdef_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["subtype"] = reinterpret_cast(&(df_structure->subtype)) - reinterpret_cast(df_structure); - p_table["base_flags"] = reinterpret_cast(&(df_structure->base_flags)) - reinterpret_cast(df_structure); - p_table["source_hfid"] = reinterpret_cast(&(df_structure->source_hfid)) - reinterpret_cast(df_structure); - p_table["source_enid"] = reinterpret_cast(&(df_structure->source_enid)) - reinterpret_cast(df_structure); - p_table["raw_strings"] = reinterpret_cast(&(df_structure->raw_strings)) - reinterpret_cast(df_structure); -} - -void generate_armor_properties_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); - p_table["layer_size"] = reinterpret_cast(&(df_structure->layer_size)) - reinterpret_cast(df_structure); - p_table["layer_permit"] = reinterpret_cast(&(df_structure->layer_permit)) - reinterpret_cast(df_structure); - p_table["coverage"] = reinterpret_cast(&(df_structure->coverage)) - reinterpret_cast(df_structure); -} - -void generate_itemdef_foodst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["level"] = reinterpret_cast(&(df_structure->level)) - reinterpret_cast(df_structure); -} - -void generate_instrument_piece_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["index"] = reinterpret_cast(&(df_structure->index)) - reinterpret_cast(df_structure); - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["name_plural"] = reinterpret_cast(&(df_structure->name_plural)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); -} - -void generate_itemdef_shieldst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["name_plural"] = reinterpret_cast(&(df_structure->name_plural)) - reinterpret_cast(df_structure); - p_table["adjective"] = reinterpret_cast(&(df_structure->adjective)) - reinterpret_cast(df_structure); - p_table["value"] = reinterpret_cast(&(df_structure->value)) - reinterpret_cast(df_structure); - p_table["blockchance"] = reinterpret_cast(&(df_structure->blockchance)) - reinterpret_cast(df_structure); - p_table["armorlevel"] = reinterpret_cast(&(df_structure->armorlevel)) - reinterpret_cast(df_structure); - p_table["upstep"] = reinterpret_cast(&(df_structure->upstep)) - reinterpret_cast(df_structure); - p_table["material_size"] = reinterpret_cast(&(df_structure->material_size)) - reinterpret_cast(df_structure); -} - -void generate_itemdef_siegeammost_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["name_plural"] = reinterpret_cast(&(df_structure->name_plural)) - reinterpret_cast(df_structure); - p_table["ammo_class"] = reinterpret_cast(&(df_structure->ammo_class)) - reinterpret_cast(df_structure); -} - -void generate_itemdef_toyst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["name_plural"] = reinterpret_cast(&(df_structure->name_plural)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); -} - -void generate_temperaturest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["whole"] = reinterpret_cast(&(df_structure->whole)) - reinterpret_cast(df_structure); - p_table["fraction"] = reinterpret_cast(&(df_structure->fraction)) - reinterpret_cast(df_structure); -} - -void generate_body_size_info_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["size_cur"] = reinterpret_cast(&(df_structure->size_cur)) - reinterpret_cast(df_structure); - p_table["size_base"] = reinterpret_cast(&(df_structure->size_base)) - reinterpret_cast(df_structure); - p_table["area_cur"] = reinterpret_cast(&(df_structure->area_cur)) - reinterpret_cast(df_structure); - p_table["area_base"] = reinterpret_cast(&(df_structure->area_base)) - reinterpret_cast(df_structure); - p_table["length_cur"] = reinterpret_cast(&(df_structure->length_cur)) - reinterpret_cast(df_structure); - p_table["length_base"] = reinterpret_cast(&(df_structure->length_base)) - reinterpret_cast(df_structure); -} - -void generate_item_stockpile_ref_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["x"] = reinterpret_cast(&(df_structure->x)) - reinterpret_cast(df_structure); - p_table["y"] = reinterpret_cast(&(df_structure->y)) - reinterpret_cast(df_structure); -} - -void generate_job_art_specification_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["subid"] = reinterpret_cast(&(df_structure->subid)) - reinterpret_cast(df_structure); -} - -void generate_manager_order_condition_order_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["order_id"] = reinterpret_cast(&(df_structure->order_id)) - reinterpret_cast(df_structure); - p_table["condition"] = reinterpret_cast(&(df_structure->condition)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_training_assignment_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["animal_id"] = reinterpret_cast(&(df_structure->animal_id)) - reinterpret_cast(df_structure); - p_table["trainer_id"] = reinterpret_cast(&(df_structure->trainer_id)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); -} - -void generate_language_translation_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["unknown1"] = reinterpret_cast(&(df_structure->unknown1)) - reinterpret_cast(df_structure); - p_table["unknown2"] = reinterpret_cast(&(df_structure->unknown2)) - reinterpret_cast(df_structure); - p_table["words"] = reinterpret_cast(&(df_structure->words)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["str"] = reinterpret_cast(&(df_structure->str)) - reinterpret_cast(df_structure); -} - -void generate_language_symbol_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["unknown"] = reinterpret_cast(&(df_structure->unknown)) - reinterpret_cast(df_structure); - p_table["words"] = reinterpret_cast(&(df_structure->words)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["str"] = reinterpret_cast(&(df_structure->str)) - reinterpret_cast(df_structure); -} - -void generate_invasion_info_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["civ_id"] = reinterpret_cast(&(df_structure->civ_id)) - reinterpret_cast(df_structure); - p_table["active_size1"] = reinterpret_cast(&(df_structure->active_size1)) - reinterpret_cast(df_structure); - p_table["active_size2"] = reinterpret_cast(&(df_structure->active_size2)) - reinterpret_cast(df_structure); - p_table["size"] = reinterpret_cast(&(df_structure->size)) - reinterpret_cast(df_structure); - p_table["duration_counter"] = reinterpret_cast(&(df_structure->duration_counter)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["unk4b"] = reinterpret_cast(&(df_structure->unk4b)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); -} - -void generate_machine_info_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["machine_id"] = reinterpret_cast(&(df_structure->machine_id)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); -} - -void generate_power_info_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["produced"] = reinterpret_cast(&(df_structure->produced)) - reinterpret_cast(df_structure); - p_table["consumed"] = reinterpret_cast(&(df_structure->consumed)) - reinterpret_cast(df_structure); -} - -void generate_coord2d_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["x"] = reinterpret_cast(&(df_structure->x)) - reinterpret_cast(df_structure); - p_table["y"] = reinterpret_cast(&(df_structure->y)) - reinterpret_cast(df_structure); -} - -void generate_coord2d_path_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["x"] = reinterpret_cast(&(df_structure->x)) - reinterpret_cast(df_structure); - p_table["y"] = reinterpret_cast(&(df_structure->y)) - reinterpret_cast(df_structure); -} - -void generate_coord_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["x"] = reinterpret_cast(&(df_structure->x)) - reinterpret_cast(df_structure); - p_table["y"] = reinterpret_cast(&(df_structure->y)) - reinterpret_cast(df_structure); - p_table["z"] = reinterpret_cast(&(df_structure->z)) - reinterpret_cast(df_structure); -} - -void generate_coord_path_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["x"] = reinterpret_cast(&(df_structure->x)) - reinterpret_cast(df_structure); - p_table["y"] = reinterpret_cast(&(df_structure->y)) - reinterpret_cast(df_structure); - p_table["z"] = reinterpret_cast(&(df_structure->z)) - reinterpret_cast(df_structure); -} - -void generate_tile_bitmask_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["bits"] = reinterpret_cast(&(df_structure->bits)) - reinterpret_cast(df_structure); -} - -void generate_cave_column_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); -} - -void generate_cave_column_rectangle_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); - p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); - p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); - p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); -} - -void generate_block_square_event_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_block_square_event_material_spatterst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["mat_state"] = reinterpret_cast(&(df_structure->mat_state)) - reinterpret_cast(df_structure); - p_table["amount"] = reinterpret_cast(&(df_structure->amount)) - reinterpret_cast(df_structure); - p_table["min_temperature"] = reinterpret_cast(&(df_structure->min_temperature)) - reinterpret_cast(df_structure); - p_table["max_temperature"] = reinterpret_cast(&(df_structure->max_temperature)) - reinterpret_cast(df_structure); -} - -void generate_block_square_event_grassst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["plant_index"] = reinterpret_cast(&(df_structure->plant_index)) - reinterpret_cast(df_structure); - p_table["amount"] = reinterpret_cast(&(df_structure->amount)) - reinterpret_cast(df_structure); -} - -void generate_block_square_event_spoorst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); - p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); -} - -void generate_block_square_event_designation_priorityst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["priority"] = reinterpret_cast(&(df_structure->priority)) - reinterpret_cast(df_structure); -} - -void generate_feature_alteration_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_feature_alteration_new_pop_maxst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); -} - -void generate_feature_alteration_new_lava_fill_zst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["magma_fill_z"] = reinterpret_cast(&(df_structure->magma_fill_z)) - reinterpret_cast(df_structure); -} - -void generate_flow_reuse_pool_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["reuse_idx"] = reinterpret_cast(&(df_structure->reuse_idx)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); -} - -void generate_flow_guide_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["unk_8"] = reinterpret_cast(&(df_structure->unk_8)) - reinterpret_cast(df_structure); -} - -void generate_region_block_eventst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_region_block_event_sphere_fieldst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_material_vec_ref_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); -} - -void generate_script_stepst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["next_step_idx"] = reinterpret_cast(&(df_structure->next_step_idx)) - reinterpret_cast(df_structure); -} - -void generate_script_step_setvarst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["dest_type"] = reinterpret_cast(&(df_structure->dest_type)) - reinterpret_cast(df_structure); - p_table["dest_name"] = reinterpret_cast(&(df_structure->dest_name)) - reinterpret_cast(df_structure); - p_table["src_type"] = reinterpret_cast(&(df_structure->src_type)) - reinterpret_cast(df_structure); - p_table["src_name"] = reinterpret_cast(&(df_structure->src_name)) - reinterpret_cast(df_structure); -} - -void generate_script_step_simpleactionst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["subtype"] = reinterpret_cast(&(df_structure->subtype)) - reinterpret_cast(df_structure); -} - -void generate_script_step_conditionalst__T_condition_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["var1_type"] = reinterpret_cast(&(df_structure->var1_type)) - reinterpret_cast(df_structure); - p_table["var1_name"] = reinterpret_cast(&(df_structure->var1_name)) - reinterpret_cast(df_structure); - p_table["comparison"] = reinterpret_cast(&(df_structure->comparison)) - reinterpret_cast(df_structure); - p_table["var2_type"] = reinterpret_cast(&(df_structure->var2_type)) - reinterpret_cast(df_structure); - p_table["var2_name"] = reinterpret_cast(&(df_structure->var2_name)) - reinterpret_cast(df_structure); -} - -void generate_script_step_conditionalst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["condition"] = reinterpret_cast(&(df_structure->condition)) - reinterpret_cast(df_structure); - p_table["conditional_next_step_idx"] = reinterpret_cast(&(df_structure->conditional_next_step_idx)) - reinterpret_cast(df_structure); -} - -void generate_script_step_textviewerst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["filename"] = reinterpret_cast(&(df_structure->filename)) - reinterpret_cast(df_structure); - p_table["outvar_name"] = reinterpret_cast(&(df_structure->outvar_name)) - reinterpret_cast(df_structure); -} - -void generate_script_step_diphistoryst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["event"] = reinterpret_cast(&(df_structure->event)) - reinterpret_cast(df_structure); -} - -void generate_script_step_discussst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["event"] = reinterpret_cast(&(df_structure->event)) - reinterpret_cast(df_structure); -} - -void generate_script_step_topicdiscussionst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_script_step_constructtopiclistst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_script_step_eventst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_script_step_dipeventst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["parm1"] = reinterpret_cast(&(df_structure->parm1)) - reinterpret_cast(df_structure); - p_table["parm2"] = reinterpret_cast(&(df_structure->parm2)) - reinterpret_cast(df_structure); - p_table["parm3"] = reinterpret_cast(&(df_structure->parm3)) - reinterpret_cast(df_structure); - p_table["parm4"] = reinterpret_cast(&(df_structure->parm4)) - reinterpret_cast(df_structure); - p_table["parm5"] = reinterpret_cast(&(df_structure->parm5)) - reinterpret_cast(df_structure); -} - -void generate_script_step_invasionst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["parm"] = reinterpret_cast(&(df_structure->parm)) - reinterpret_cast(df_structure); -} - -void generate_script_varst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); -} - -void generate_script_var_unitst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_script_var_longst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_active_script_varst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); -} - -void generate_active_script_var_longst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["value"] = reinterpret_cast(&(df_structure->value)) - reinterpret_cast(df_structure); -} - -void generate_activity_event_participants_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["histfigs"] = reinterpret_cast(&(df_structure->histfigs)) - reinterpret_cast(df_structure); - p_table["units"] = reinterpret_cast(&(df_structure->units)) - reinterpret_cast(df_structure); - p_table["free_histfigs"] = reinterpret_cast(&(df_structure->free_histfigs)) - reinterpret_cast(df_structure); - p_table["free_units"] = reinterpret_cast(&(df_structure->free_units)) - reinterpret_cast(df_structure); - p_table["activity_id"] = reinterpret_cast(&(df_structure->activity_id)) - reinterpret_cast(df_structure); - p_table["event_id"] = reinterpret_cast(&(df_structure->event_id)) - reinterpret_cast(df_structure); -} - -void generate_schedule_slot_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["start_time"] = reinterpret_cast(&(df_structure->start_time)) - reinterpret_cast(df_structure); - p_table["end_time"] = reinterpret_cast(&(df_structure->end_time)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["processed"] = reinterpret_cast(&(df_structure->processed)) - reinterpret_cast(df_structure); -} - -void generate_squad_order_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk_v40_1"] = reinterpret_cast(&(df_structure->unk_v40_1)) - reinterpret_cast(df_structure); - p_table["unk_v40_2"] = reinterpret_cast(&(df_structure->unk_v40_2)) - reinterpret_cast(df_structure); - p_table["year"] = reinterpret_cast(&(df_structure->year)) - reinterpret_cast(df_structure); - p_table["year_tick"] = reinterpret_cast(&(df_structure->year_tick)) - reinterpret_cast(df_structure); - p_table["unk_v40_3"] = reinterpret_cast(&(df_structure->unk_v40_3)) - reinterpret_cast(df_structure); - p_table["unk_1"] = reinterpret_cast(&(df_structure->unk_1)) - reinterpret_cast(df_structure); -} - -void generate_squad_order_kill_listst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["units"] = reinterpret_cast(&(df_structure->units)) - reinterpret_cast(df_structure); - p_table["histfigs"] = reinterpret_cast(&(df_structure->histfigs)) - reinterpret_cast(df_structure); - p_table["title"] = reinterpret_cast(&(df_structure->title)) - reinterpret_cast(df_structure); -} - -void generate_squad_order_defend_burrowsst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["burrows"] = reinterpret_cast(&(df_structure->burrows)) - reinterpret_cast(df_structure); -} - -void generate_squad_order_patrol_routest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["route_id"] = reinterpret_cast(&(df_structure->route_id)) - reinterpret_cast(df_structure); -} - -void generate_squad_order_trainst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_squad_order_drive_entity_off_sitest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); -} - -void generate_squad_order_cause_trouble_for_entityst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); -} - -void generate_squad_order_kill_hfst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["histfig_id"] = reinterpret_cast(&(df_structure->histfig_id)) - reinterpret_cast(df_structure); - p_table["title"] = reinterpret_cast(&(df_structure->title)) - reinterpret_cast(df_structure); -} - -void generate_squad_order_drive_armies_from_sitest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); -} - -void generate_army_controller_sub1_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); -} - -void generate_army_controller_sub4_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["unk_2"] = reinterpret_cast(&(df_structure->unk_2)) - reinterpret_cast(df_structure); -} - -void generate_army_controller_sub5_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); -} - -void generate_army_controller_sub6_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); - p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); - p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); -} - -void generate_army_controller_sub16_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_army_controller_sub17_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); -} - -void generate_army_controller_sub18_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); -} - -void generate_plant_growth_print_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["priority"] = reinterpret_cast(&(df_structure->priority)) - reinterpret_cast(df_structure); - p_table["tile_growth"] = reinterpret_cast(&(df_structure->tile_growth)) - reinterpret_cast(df_structure); - p_table["tile_item"] = reinterpret_cast(&(df_structure->tile_item)) - reinterpret_cast(df_structure); - p_table["color"] = reinterpret_cast(&(df_structure->color)) - reinterpret_cast(df_structure); - p_table["timing_start"] = reinterpret_cast(&(df_structure->timing_start)) - reinterpret_cast(df_structure); - p_table["timing_end"] = reinterpret_cast(&(df_structure->timing_end)) - reinterpret_cast(df_structure); -} - -void generate_reaction_category_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["parent"] = reinterpret_cast(&(df_structure->parent)) - reinterpret_cast(df_structure); - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["key"] = reinterpret_cast(&(df_structure->key)) - reinterpret_cast(df_structure); - p_table["description"] = reinterpret_cast(&(df_structure->description)) - reinterpret_cast(df_structure); -} - -void generate_reaction_product_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk_v4201_1"] = reinterpret_cast(&(df_structure->unk_v4201_1)) - reinterpret_cast(df_structure); - p_table["product_to_container"] = reinterpret_cast(&(df_structure->product_to_container)) - reinterpret_cast(df_structure); -} - -void generate_general_ref_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_general_ref_artifact_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["artifact_id"] = reinterpret_cast(&(df_structure->artifact_id)) - reinterpret_cast(df_structure); -} - -void generate_general_ref_nemesis_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["nemesis_id"] = reinterpret_cast(&(df_structure->nemesis_id)) - reinterpret_cast(df_structure); -} - -void generate_general_ref_item_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["item_id"] = reinterpret_cast(&(df_structure->item_id)) - reinterpret_cast(df_structure); - p_table["cached_index"] = reinterpret_cast(&(df_structure->cached_index)) - reinterpret_cast(df_structure); -} - -void generate_general_ref_coinbatch_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["batch"] = reinterpret_cast(&(df_structure->batch)) - reinterpret_cast(df_structure); -} - -void generate_general_ref_entity_art_image_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["entity_id"] = reinterpret_cast(&(df_structure->entity_id)) - reinterpret_cast(df_structure); - p_table["index"] = reinterpret_cast(&(df_structure->index)) - reinterpret_cast(df_structure); -} - -void generate_general_ref_projectile_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["projectile_id"] = reinterpret_cast(&(df_structure->projectile_id)) - reinterpret_cast(df_structure); -} - -void generate_general_ref_unit_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unit_id"] = reinterpret_cast(&(df_structure->unit_id)) - reinterpret_cast(df_structure); - p_table["cached_index"] = reinterpret_cast(&(df_structure->cached_index)) - reinterpret_cast(df_structure); -} - -void generate_general_ref_building_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["building_id"] = reinterpret_cast(&(df_structure->building_id)) - reinterpret_cast(df_structure); -} - -void generate_general_ref_entity_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["entity_id"] = reinterpret_cast(&(df_structure->entity_id)) - reinterpret_cast(df_structure); -} - -void generate_general_ref_locationst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); -} - -void generate_general_ref_interactionst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["interaction_id"] = reinterpret_cast(&(df_structure->interaction_id)) - reinterpret_cast(df_structure); - p_table["source_id"] = reinterpret_cast(&(df_structure->source_id)) - reinterpret_cast(df_structure); - p_table["unk_08"] = reinterpret_cast(&(df_structure->unk_08)) - reinterpret_cast(df_structure); - p_table["unk_0c"] = reinterpret_cast(&(df_structure->unk_0c)) - reinterpret_cast(df_structure); -} - -void generate_general_ref_abstract_buildingst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); - p_table["building_id"] = reinterpret_cast(&(df_structure->building_id)) - reinterpret_cast(df_structure); -} - -void generate_general_ref_historical_eventst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["event_id"] = reinterpret_cast(&(df_structure->event_id)) - reinterpret_cast(df_structure); -} - -void generate_general_ref_sitest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); -} - -void generate_general_ref_subregionst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["region_id"] = reinterpret_cast(&(df_structure->region_id)) - reinterpret_cast(df_structure); -} - -void generate_general_ref_feature_layerst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["underground_region_id"] = reinterpret_cast(&(df_structure->underground_region_id)) - reinterpret_cast(df_structure); -} - -void generate_general_ref_historical_figurest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["hist_figure_id"] = reinterpret_cast(&(df_structure->hist_figure_id)) - reinterpret_cast(df_structure); -} - -void generate_general_ref_entity_popst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); -} - -void generate_general_ref_creaturest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); - p_table["caste"] = reinterpret_cast(&(df_structure->caste)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); -} - -void generate_general_ref_activity_eventst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["activity_id"] = reinterpret_cast(&(df_structure->activity_id)) - reinterpret_cast(df_structure); - p_table["event_id"] = reinterpret_cast(&(df_structure->event_id)) - reinterpret_cast(df_structure); -} - -void generate_general_ref_languagest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_general_ref_written_contentst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["written_content_id"] = reinterpret_cast(&(df_structure->written_content_id)) - reinterpret_cast(df_structure); -} - -void generate_general_ref_poetic_formst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["poetic_form_id"] = reinterpret_cast(&(df_structure->poetic_form_id)) - reinterpret_cast(df_structure); -} - -void generate_general_ref_musical_formst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["musical_form_id"] = reinterpret_cast(&(df_structure->musical_form_id)) - reinterpret_cast(df_structure); -} - -void generate_general_ref_dance_formst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["dance_form_id"] = reinterpret_cast(&(df_structure->dance_form_id)) - reinterpret_cast(df_structure); -} - -void generate_general_ref_is_artifactst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_general_ref_is_nemesisst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_general_ref_contains_unitst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_general_ref_contains_itemst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_general_ref_contained_in_itemst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_general_ref_unit_milkeest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_general_ref_unit_traineest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_general_ref_unit_itemownerst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); -} - -void generate_general_ref_unit_tradebringerst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_general_ref_unit_holderst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_general_ref_unit_workerst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_general_ref_unit_cageest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_general_ref_unit_beateest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_general_ref_unit_foodreceiverst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_general_ref_unit_kidnapeest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_general_ref_unit_patientst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_general_ref_unit_infantst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_general_ref_unit_slaughtereest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_general_ref_unit_sheareest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_general_ref_unit_suckeest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_general_ref_unit_reporteest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_general_ref_unit_riderst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_general_ref_unit_climberst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_general_ref_unit_geldeest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_general_ref_building_civzone_assignedst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_general_ref_building_triggerst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_general_ref_building_triggertargetst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_general_ref_building_chainst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_general_ref_building_cagedst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_general_ref_building_holderst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_general_ref_building_well_tag_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["direction"] = reinterpret_cast(&(df_structure->direction)) - reinterpret_cast(df_structure); -} - -void generate_general_ref_building_use_target_1st_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_general_ref_building_use_target_2st_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_general_ref_building_destinationst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_general_ref_building_nest_boxst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_general_ref_building_display_furniturest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_general_ref_entity_stolenst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_general_ref_entity_offeredst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_general_ref_entity_itemownerst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_histfig_entity_link_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["entity_id"] = reinterpret_cast(&(df_structure->entity_id)) - reinterpret_cast(df_structure); - p_table["link_strength"] = reinterpret_cast(&(df_structure->link_strength)) - reinterpret_cast(df_structure); -} - -void generate_histfig_entity_link_memberst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_histfig_entity_link_former_memberst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_histfig_entity_link_mercenaryst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_histfig_entity_link_former_mercenaryst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_histfig_entity_link_slavest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_histfig_entity_link_former_slavest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_histfig_entity_link_prisonerst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_histfig_entity_link_former_prisonerst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_histfig_entity_link_enemyst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_histfig_entity_link_criminalst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_histfig_entity_link_positionst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["assignment_id"] = reinterpret_cast(&(df_structure->assignment_id)) - reinterpret_cast(df_structure); - p_table["start_year"] = reinterpret_cast(&(df_structure->start_year)) - reinterpret_cast(df_structure); -} - -void generate_histfig_entity_link_former_positionst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["assignment_id"] = reinterpret_cast(&(df_structure->assignment_id)) - reinterpret_cast(df_structure); - p_table["start_year"] = reinterpret_cast(&(df_structure->start_year)) - reinterpret_cast(df_structure); - p_table["end_year"] = reinterpret_cast(&(df_structure->end_year)) - reinterpret_cast(df_structure); -} - -void generate_histfig_entity_link_position_claimst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["assignment_id"] = reinterpret_cast(&(df_structure->assignment_id)) - reinterpret_cast(df_structure); - p_table["start_year"] = reinterpret_cast(&(df_structure->start_year)) - reinterpret_cast(df_structure); -} - -void generate_histfig_entity_link_squadst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["squad_id"] = reinterpret_cast(&(df_structure->squad_id)) - reinterpret_cast(df_structure); - p_table["squad_position"] = reinterpret_cast(&(df_structure->squad_position)) - reinterpret_cast(df_structure); - p_table["start_year"] = reinterpret_cast(&(df_structure->start_year)) - reinterpret_cast(df_structure); -} - -void generate_histfig_entity_link_former_squadst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["squad_id"] = reinterpret_cast(&(df_structure->squad_id)) - reinterpret_cast(df_structure); - p_table["start_year"] = reinterpret_cast(&(df_structure->start_year)) - reinterpret_cast(df_structure); - p_table["end_year"] = reinterpret_cast(&(df_structure->end_year)) - reinterpret_cast(df_structure); -} - -void generate_histfig_entity_link_occupationst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["occupation_id"] = reinterpret_cast(&(df_structure->occupation_id)) - reinterpret_cast(df_structure); - p_table["start_year"] = reinterpret_cast(&(df_structure->start_year)) - reinterpret_cast(df_structure); -} - -void generate_histfig_entity_link_former_occupationst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["occupation_id"] = reinterpret_cast(&(df_structure->occupation_id)) - reinterpret_cast(df_structure); - p_table["start_year"] = reinterpret_cast(&(df_structure->start_year)) - reinterpret_cast(df_structure); - p_table["end_year"] = reinterpret_cast(&(df_structure->end_year)) - reinterpret_cast(df_structure); -} - -void generate_histfig_site_link_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["sub_id"] = reinterpret_cast(&(df_structure->sub_id)) - reinterpret_cast(df_structure); - p_table["entity"] = reinterpret_cast(&(df_structure->entity)) - reinterpret_cast(df_structure); -} - -void generate_histfig_site_link_seat_of_powerst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_histfig_site_link_hangoutst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_histfig_site_link_home_site_abstract_buildingst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_histfig_site_link_home_site_realization_buildingst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_histfig_site_link_lairst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_histfig_site_link_home_site_realization_sulst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_histfig_site_link_home_site_saved_civzonest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_histfig_site_link_occupationst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_histfig_hf_link_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["target_hf"] = reinterpret_cast(&(df_structure->target_hf)) - reinterpret_cast(df_structure); - p_table["link_strength"] = reinterpret_cast(&(df_structure->link_strength)) - reinterpret_cast(df_structure); -} - -void generate_histfig_hf_link_motherst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_histfig_hf_link_fatherst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_histfig_hf_link_spousest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_histfig_hf_link_childst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_histfig_hf_link_deityst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_histfig_hf_link_loverst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_histfig_hf_link_prisonerst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_histfig_hf_link_imprisonerst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_histfig_hf_link_masterst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_histfig_hf_link_apprenticest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_histfig_hf_link_companionst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); -} - -void generate_histfig_hf_link_former_apprenticest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_histfig_hf_link_former_masterst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_histfig_hf_link_pet_ownerst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_resource_allotment_specifier_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk_1"] = reinterpret_cast(&(df_structure->unk_1)) - reinterpret_cast(df_structure); - p_table["unk_2"] = reinterpret_cast(&(df_structure->unk_2)) - reinterpret_cast(df_structure); - p_table["unk_3"] = reinterpret_cast(&(df_structure->unk_3)) - reinterpret_cast(df_structure); -} - -void generate_resource_allotment_specifier_cropst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["unk_v40_01"] = reinterpret_cast(&(df_structure->unk_v40_01)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); -} - -void generate_resource_allotment_specifier_stonest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); -} - -void generate_resource_allotment_specifier_metalst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); -} - -void generate_resource_allotment_specifier_woodst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); -} - -void generate_resource_allotment_specifier_armor_bodyst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); -} - -void generate_resource_allotment_specifier_armor_pantsst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); -} - -void generate_resource_allotment_specifier_armor_glovesst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); -} - -void generate_resource_allotment_specifier_armor_bootsst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); -} - -void generate_resource_allotment_specifier_armor_helmst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); -} - -void generate_resource_allotment_specifier_clothing_bodyst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); -} - -void generate_resource_allotment_specifier_clothing_pantsst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); -} - -void generate_resource_allotment_specifier_clothing_glovesst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); -} - -void generate_resource_allotment_specifier_clothing_bootsst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); -} - -void generate_resource_allotment_specifier_clothing_helmst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); -} - -void generate_resource_allotment_specifier_weapon_meleest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); -} - -void generate_resource_allotment_specifier_weapon_rangedst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); -} - -void generate_resource_allotment_specifier_ammost_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); -} - -void generate_resource_allotment_specifier_anvilst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); -} - -void generate_resource_allotment_specifier_gemsst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); -} - -void generate_resource_allotment_specifier_threadst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_resource_allotment_specifier_clothst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); -} - -void generate_resource_allotment_specifier_leatherst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); - p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); - p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); - p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); -} - -void generate_resource_allotment_specifier_quiverst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); -} - -void generate_resource_allotment_specifier_backpackst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); -} - -void generate_resource_allotment_specifier_flaskst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); -} - -void generate_resource_allotment_specifier_bagst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); -} - -void generate_resource_allotment_specifier_tablest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); -} - -void generate_resource_allotment_specifier_cabinetst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); -} - -void generate_resource_allotment_specifier_chairst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); -} - -void generate_resource_allotment_specifier_boxst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); -} - -void generate_resource_allotment_specifier_bedst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); -} - -void generate_resource_allotment_specifier_craftsst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); -} - -void generate_resource_allotment_specifier_meatst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); -} - -void generate_resource_allotment_specifier_bonest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_resource_allotment_specifier_hornst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_resource_allotment_specifier_shellst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_resource_allotment_specifier_tallowst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); -} - -void generate_resource_allotment_specifier_toothst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_resource_allotment_specifier_pearlst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); -} - -void generate_resource_allotment_specifier_soapst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); -} - -void generate_resource_allotment_specifier_extractst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["mat_type2"] = reinterpret_cast(&(df_structure->mat_type2)) - reinterpret_cast(df_structure); - p_table["mat_index2"] = reinterpret_cast(&(df_structure->mat_index2)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); -} - -void generate_resource_allotment_specifier_cheesest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); -} - -void generate_resource_allotment_specifier_skinst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["mat_type2"] = reinterpret_cast(&(df_structure->mat_type2)) - reinterpret_cast(df_structure); - p_table["mat_index2"] = reinterpret_cast(&(df_structure->mat_index2)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_resource_allotment_specifier_powderst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_route_stockpile_link_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["building_id"] = reinterpret_cast(&(df_structure->building_id)) - reinterpret_cast(df_structure); - p_table["mode"] = reinterpret_cast(&(df_structure->mode)) - reinterpret_cast(df_structure); -} - -void generate_build_req_choicest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["distance"] = reinterpret_cast(&(df_structure->distance)) - reinterpret_cast(df_structure); -} - -void generate_burrow_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["tile"] = reinterpret_cast(&(df_structure->tile)) - reinterpret_cast(df_structure); - p_table["fg_color"] = reinterpret_cast(&(df_structure->fg_color)) - reinterpret_cast(df_structure); - p_table["bg_color"] = reinterpret_cast(&(df_structure->bg_color)) - reinterpret_cast(df_structure); - p_table["block_x"] = reinterpret_cast(&(df_structure->block_x)) - reinterpret_cast(df_structure); - p_table["block_y"] = reinterpret_cast(&(df_structure->block_y)) - reinterpret_cast(df_structure); - p_table["block_z"] = reinterpret_cast(&(df_structure->block_z)) - reinterpret_cast(df_structure); - p_table["units"] = reinterpret_cast(&(df_structure->units)) - reinterpret_cast(df_structure); - p_table["limit_workshops"] = reinterpret_cast(&(df_structure->limit_workshops)) - reinterpret_cast(df_structure); -} - -void generate_ui_hotkey_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["cmd"] = reinterpret_cast(&(df_structure->cmd)) - reinterpret_cast(df_structure); - p_table["x"] = reinterpret_cast(&(df_structure->x)) - reinterpret_cast(df_structure); - p_table["y"] = reinterpret_cast(&(df_structure->y)) - reinterpret_cast(df_structure); - p_table["z"] = reinterpret_cast(&(df_structure->z)) - reinterpret_cast(df_structure); - p_table["unit_id"] = reinterpret_cast(&(df_structure->unit_id)) - reinterpret_cast(df_structure); - p_table["item_id"] = reinterpret_cast(&(df_structure->item_id)) - reinterpret_cast(df_structure); -} - -void generate_map_viewport_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["adv_mode"] = reinterpret_cast(&(df_structure->adv_mode)) - reinterpret_cast(df_structure); - p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); - p_table["map_rotation"] = reinterpret_cast(&(df_structure->map_rotation)) - reinterpret_cast(df_structure); - p_table["min_x"] = reinterpret_cast(&(df_structure->min_x)) - reinterpret_cast(df_structure); - p_table["min_y"] = reinterpret_cast(&(df_structure->min_y)) - reinterpret_cast(df_structure); - p_table["max_x"] = reinterpret_cast(&(df_structure->max_x)) - reinterpret_cast(df_structure); - p_table["max_y"] = reinterpret_cast(&(df_structure->max_y)) - reinterpret_cast(df_structure); - p_table["window_x"] = reinterpret_cast(&(df_structure->window_x)) - reinterpret_cast(df_structure); - p_table["window_y"] = reinterpret_cast(&(df_structure->window_y)) - reinterpret_cast(df_structure); - p_table["window_z"] = reinterpret_cast(&(df_structure->window_z)) - reinterpret_cast(df_structure); -} - -void generate_unit_genes_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["appearance"] = reinterpret_cast(&(df_structure->appearance)) - reinterpret_cast(df_structure); - p_table["colors"] = reinterpret_cast(&(df_structure->colors)) - reinterpret_cast(df_structure); -} - -void generate_unit_attribute_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["value"] = reinterpret_cast(&(df_structure->value)) - reinterpret_cast(df_structure); - p_table["max_value"] = reinterpret_cast(&(df_structure->max_value)) - reinterpret_cast(df_structure); - p_table["improve_counter"] = reinterpret_cast(&(df_structure->improve_counter)) - reinterpret_cast(df_structure); - p_table["unused_counter"] = reinterpret_cast(&(df_structure->unused_counter)) - reinterpret_cast(df_structure); - p_table["soft_demotion"] = reinterpret_cast(&(df_structure->soft_demotion)) - reinterpret_cast(df_structure); - p_table["rust_counter"] = reinterpret_cast(&(df_structure->rust_counter)) - reinterpret_cast(df_structure); - p_table["demotion_counter"] = reinterpret_cast(&(df_structure->demotion_counter)) - reinterpret_cast(df_structure); -} - -void generate_curse_attr_change_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["phys_att_perc"] = reinterpret_cast(&(df_structure->phys_att_perc)) - reinterpret_cast(df_structure); - p_table["phys_att_add"] = reinterpret_cast(&(df_structure->phys_att_add)) - reinterpret_cast(df_structure); - p_table["ment_att_perc"] = reinterpret_cast(&(df_structure->ment_att_perc)) - reinterpret_cast(df_structure); - p_table["ment_att_add"] = reinterpret_cast(&(df_structure->ment_att_add)) - reinterpret_cast(df_structure); -} - -void generate_unit_item_wrestle_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); - p_table["self_bp"] = reinterpret_cast(&(df_structure->self_bp)) - reinterpret_cast(df_structure); - p_table["other_bp"] = reinterpret_cast(&(df_structure->other_bp)) - reinterpret_cast(df_structure); - p_table["unk_c"] = reinterpret_cast(&(df_structure->unk_c)) - reinterpret_cast(df_structure); - p_table["unk_10"] = reinterpret_cast(&(df_structure->unk_10)) - reinterpret_cast(df_structure); - p_table["item1"] = reinterpret_cast(&(df_structure->item1)) - reinterpret_cast(df_structure); - p_table["item2"] = reinterpret_cast(&(df_structure->item2)) - reinterpret_cast(df_structure); - p_table["unk_1c"] = reinterpret_cast(&(df_structure->unk_1c)) - reinterpret_cast(df_structure); - p_table["unk_1e"] = reinterpret_cast(&(df_structure->unk_1e)) - reinterpret_cast(df_structure); - p_table["unk_20"] = reinterpret_cast(&(df_structure->unk_20)) - reinterpret_cast(df_structure); -} - -void generate_unit_item_use_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["time_in_use"] = reinterpret_cast(&(df_structure->time_in_use)) - reinterpret_cast(df_structure); - p_table["has_grown_attached"] = reinterpret_cast(&(df_structure->has_grown_attached)) - reinterpret_cast(df_structure); - p_table["affection_level"] = reinterpret_cast(&(df_structure->affection_level)) - reinterpret_cast(df_structure); -} - -void generate_unit_unk_138_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); -} - -void generate_unit_coin_debt_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["recipient"] = reinterpret_cast(&(df_structure->recipient)) - reinterpret_cast(df_structure); - p_table["amount"] = reinterpret_cast(&(df_structure->amount)) - reinterpret_cast(df_structure); -} - -void generate_file_compressorst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["compressed"] = reinterpret_cast(&(df_structure->compressed)) - reinterpret_cast(df_structure); - p_table["f"] = reinterpret_cast(&(df_structure->f)) - reinterpret_cast(df_structure); - p_table["in_buffer"] = reinterpret_cast(&(df_structure->in_buffer)) - reinterpret_cast(df_structure); - p_table["in_buffersize"] = reinterpret_cast(&(df_structure->in_buffersize)) - reinterpret_cast(df_structure); - p_table["in_buffer_amount_loaded"] = reinterpret_cast(&(df_structure->in_buffer_amount_loaded)) - reinterpret_cast(df_structure); - p_table["in_buffer_position"] = reinterpret_cast(&(df_structure->in_buffer_position)) - reinterpret_cast(df_structure); - p_table["out_buffer"] = reinterpret_cast(&(df_structure->out_buffer)) - reinterpret_cast(df_structure); - p_table["out_buffersize"] = reinterpret_cast(&(df_structure->out_buffersize)) - reinterpret_cast(df_structure); - p_table["out_buffer_amount_written"] = reinterpret_cast(&(df_structure->out_buffer_amount_written)) - reinterpret_cast(df_structure); -} - -void generate_layer_object_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["enabled"] = reinterpret_cast(&(df_structure->enabled)) - reinterpret_cast(df_structure); - p_table["active"] = reinterpret_cast(&(df_structure->active)) - reinterpret_cast(df_structure); -} - -void generate_layer_object_buttonst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["x1"] = reinterpret_cast(&(df_structure->x1)) - reinterpret_cast(df_structure); - p_table["y1"] = reinterpret_cast(&(df_structure->y1)) - reinterpret_cast(df_structure); - p_table["x2"] = reinterpret_cast(&(df_structure->x2)) - reinterpret_cast(df_structure); - p_table["y2"] = reinterpret_cast(&(df_structure->y2)) - reinterpret_cast(df_structure); - p_table["has_mouse_lclick"] = reinterpret_cast(&(df_structure->has_mouse_lclick)) - reinterpret_cast(df_structure); - p_table["has_mouse_rclick"] = reinterpret_cast(&(df_structure->has_mouse_rclick)) - reinterpret_cast(df_structure); - p_table["mouse_lclick_x"] = reinterpret_cast(&(df_structure->mouse_lclick_x)) - reinterpret_cast(df_structure); - p_table["mouse_lclick_y"] = reinterpret_cast(&(df_structure->mouse_lclick_y)) - reinterpret_cast(df_structure); - p_table["mouse_rclick_x"] = reinterpret_cast(&(df_structure->mouse_rclick_x)) - reinterpret_cast(df_structure); - p_table["mouse_rclick_y"] = reinterpret_cast(&(df_structure->mouse_rclick_y)) - reinterpret_cast(df_structure); - p_table["mouse_x"] = reinterpret_cast(&(df_structure->mouse_x)) - reinterpret_cast(df_structure); - p_table["mouse_y"] = reinterpret_cast(&(df_structure->mouse_y)) - reinterpret_cast(df_structure); - p_table["mouse_x_old"] = reinterpret_cast(&(df_structure->mouse_x_old)) - reinterpret_cast(df_structure); - p_table["mouse_y_old"] = reinterpret_cast(&(df_structure->mouse_y_old)) - reinterpret_cast(df_structure); - p_table["handle_mouselbtndown"] = reinterpret_cast(&(df_structure->handle_mouselbtndown)) - reinterpret_cast(df_structure); - p_table["handle_mouserbtndown"] = reinterpret_cast(&(df_structure->handle_mouserbtndown)) - reinterpret_cast(df_structure); -} - -void generate_widget_menu_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["selection"] = reinterpret_cast(&(df_structure->selection)) - reinterpret_cast(df_structure); - p_table["last_displayheight"] = reinterpret_cast(&(df_structure->last_displayheight)) - reinterpret_cast(df_structure); - p_table["bleached"] = reinterpret_cast(&(df_structure->bleached)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); -} - -void generate_widget_textbox_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["text"] = reinterpret_cast(&(df_structure->text)) - reinterpret_cast(df_structure); - p_table["keep"] = reinterpret_cast(&(df_structure->keep)) - reinterpret_cast(df_structure); -} - -void generate_adventure_log_item_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["object"] = reinterpret_cast(&(df_structure->object)) - reinterpret_cast(df_structure); - p_table["str1"] = reinterpret_cast(&(df_structure->str1)) - reinterpret_cast(df_structure); - p_table["str2"] = reinterpret_cast(&(df_structure->str2)) - reinterpret_cast(df_structure); - p_table["str3"] = reinterpret_cast(&(df_structure->str3)) - reinterpret_cast(df_structure); - p_table["info"] = reinterpret_cast(&(df_structure->info)) - reinterpret_cast(df_structure); -} - -void generate_world_gen_param_basest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); -} - -void generate_world_gen_param_seedst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_world_gen_param_valuest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk_1"] = reinterpret_cast(&(df_structure->unk_1)) - reinterpret_cast(df_structure); - p_table["unk_2"] = reinterpret_cast(&(df_structure->unk_2)) - reinterpret_cast(df_structure); - p_table["unk_3"] = reinterpret_cast(&(df_structure->unk_3)) - reinterpret_cast(df_structure); -} - -void generate_world_gen_param_charst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["min_val"] = reinterpret_cast(&(df_structure->min_val)) - reinterpret_cast(df_structure); - p_table["max_val"] = reinterpret_cast(&(df_structure->max_val)) - reinterpret_cast(df_structure); - p_table["initial_val"] = reinterpret_cast(&(df_structure->initial_val)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); -} - -void generate_world_gen_param_memberst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["min_val"] = reinterpret_cast(&(df_structure->min_val)) - reinterpret_cast(df_structure); - p_table["max_val"] = reinterpret_cast(&(df_structure->max_val)) - reinterpret_cast(df_structure); - p_table["initial_val"] = reinterpret_cast(&(df_structure->initial_val)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); -} - -void generate_matgloss_list_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["generated_inorganics"] = reinterpret_cast(&(df_structure->generated_inorganics)) - reinterpret_cast(df_structure); - p_table["generated_plants"] = reinterpret_cast(&(df_structure->generated_plants)) - reinterpret_cast(df_structure); - p_table["generated_items"] = reinterpret_cast(&(df_structure->generated_items)) - reinterpret_cast(df_structure); - p_table["generated_creatures"] = reinterpret_cast(&(df_structure->generated_creatures)) - reinterpret_cast(df_structure); - p_table["generated_entities"] = reinterpret_cast(&(df_structure->generated_entities)) - reinterpret_cast(df_structure); - p_table["generated_interactions"] = reinterpret_cast(&(df_structure->generated_interactions)) - reinterpret_cast(df_structure); - p_table["generated_languages"] = reinterpret_cast(&(df_structure->generated_languages)) - reinterpret_cast(df_structure); - p_table["inorganics"] = reinterpret_cast(&(df_structure->inorganics)) - reinterpret_cast(df_structure); - p_table["plants"] = reinterpret_cast(&(df_structure->plants)) - reinterpret_cast(df_structure); - p_table["bodies"] = reinterpret_cast(&(df_structure->bodies)) - reinterpret_cast(df_structure); - p_table["bodyglosses"] = reinterpret_cast(&(df_structure->bodyglosses)) - reinterpret_cast(df_structure); - p_table["creatures"] = reinterpret_cast(&(df_structure->creatures)) - reinterpret_cast(df_structure); - p_table["items"] = reinterpret_cast(&(df_structure->items)) - reinterpret_cast(df_structure); - p_table["buildings"] = reinterpret_cast(&(df_structure->buildings)) - reinterpret_cast(df_structure); - p_table["entities"] = reinterpret_cast(&(df_structure->entities)) - reinterpret_cast(df_structure); - p_table["words"] = reinterpret_cast(&(df_structure->words)) - reinterpret_cast(df_structure); - p_table["symbols"] = reinterpret_cast(&(df_structure->symbols)) - reinterpret_cast(df_structure); - p_table["translations"] = reinterpret_cast(&(df_structure->translations)) - reinterpret_cast(df_structure); - p_table["colors"] = reinterpret_cast(&(df_structure->colors)) - reinterpret_cast(df_structure); - p_table["shapes"] = reinterpret_cast(&(df_structure->shapes)) - reinterpret_cast(df_structure); - p_table["patterns"] = reinterpret_cast(&(df_structure->patterns)) - reinterpret_cast(df_structure); - p_table["reactions"] = reinterpret_cast(&(df_structure->reactions)) - reinterpret_cast(df_structure); - p_table["material_templates"] = reinterpret_cast(&(df_structure->material_templates)) - reinterpret_cast(df_structure); - p_table["tissue_templates"] = reinterpret_cast(&(df_structure->tissue_templates)) - reinterpret_cast(df_structure); - p_table["body_detail_plans"] = reinterpret_cast(&(df_structure->body_detail_plans)) - reinterpret_cast(df_structure); - p_table["creature_variations"] = reinterpret_cast(&(df_structure->creature_variations)) - reinterpret_cast(df_structure); - p_table["interactions"] = reinterpret_cast(&(df_structure->interactions)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); -} - -void generate_world_population_ref_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["region_x"] = reinterpret_cast(&(df_structure->region_x)) - reinterpret_cast(df_structure); - p_table["region_y"] = reinterpret_cast(&(df_structure->region_y)) - reinterpret_cast(df_structure); - p_table["feature_idx"] = reinterpret_cast(&(df_structure->feature_idx)) - reinterpret_cast(df_structure); - p_table["cave_id"] = reinterpret_cast(&(df_structure->cave_id)) - reinterpret_cast(df_structure); - p_table["unk_28"] = reinterpret_cast(&(df_structure->unk_28)) - reinterpret_cast(df_structure); - p_table["population_idx"] = reinterpret_cast(&(df_structure->population_idx)) - reinterpret_cast(df_structure); - p_table["depth"] = reinterpret_cast(&(df_structure->depth)) - reinterpret_cast(df_structure); -} - -void generate_scribejob_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["idmaybe"] = reinterpret_cast(&(df_structure->idmaybe)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["item_id"] = reinterpret_cast(&(df_structure->item_id)) - reinterpret_cast(df_structure); - p_table["written_content_id"] = reinterpret_cast(&(df_structure->written_content_id)) - reinterpret_cast(df_structure); - p_table["unit_id"] = reinterpret_cast(&(df_structure->unit_id)) - reinterpret_cast(df_structure); - p_table["activity_entry_id"] = reinterpret_cast(&(df_structure->activity_entry_id)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["locationmaybe"] = reinterpret_cast(&(df_structure->locationmaybe)) - reinterpret_cast(df_structure); -} - -void generate_site_reputation_report_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); - p_table["location_id"] = reinterpret_cast(&(df_structure->location_id)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["year"] = reinterpret_cast(&(df_structure->year)) - reinterpret_cast(df_structure); - p_table["tickmaybe"] = reinterpret_cast(&(df_structure->tickmaybe)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); - p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); - p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); - p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); -} - -void generate_abstract_building_contents_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk_e4"] = reinterpret_cast(&(df_structure->unk_e4)) - reinterpret_cast(df_structure); - p_table["desired_goblets"] = reinterpret_cast(&(df_structure->desired_goblets)) - reinterpret_cast(df_structure); - p_table["desired_instruments"] = reinterpret_cast(&(df_structure->desired_instruments)) - reinterpret_cast(df_structure); - p_table["desired_paper"] = reinterpret_cast(&(df_structure->desired_paper)) - reinterpret_cast(df_structure); - p_table["desired_copies"] = reinterpret_cast(&(df_structure->desired_copies)) - reinterpret_cast(df_structure); - p_table["count_goblets"] = reinterpret_cast(&(df_structure->count_goblets)) - reinterpret_cast(df_structure); - p_table["count_instruments"] = reinterpret_cast(&(df_structure->count_instruments)) - reinterpret_cast(df_structure); - p_table["count_paper"] = reinterpret_cast(&(df_structure->count_paper)) - reinterpret_cast(df_structure); - p_table["unk_104"] = reinterpret_cast(&(df_structure->unk_104)) - reinterpret_cast(df_structure); - p_table["building_ids"] = reinterpret_cast(&(df_structure->building_ids)) - reinterpret_cast(df_structure); -} - -void generate_world_site_inhabitant_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["count"] = reinterpret_cast(&(df_structure->count)) - reinterpret_cast(df_structure); - p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); - p_table["unk_8"] = reinterpret_cast(&(df_structure->unk_8)) - reinterpret_cast(df_structure); - p_table["outcast_id"] = reinterpret_cast(&(df_structure->outcast_id)) - reinterpret_cast(df_structure); - p_table["unk_10"] = reinterpret_cast(&(df_structure->unk_10)) - reinterpret_cast(df_structure); - p_table["unk_14"] = reinterpret_cast(&(df_structure->unk_14)) - reinterpret_cast(df_structure); - p_table["unk_18"] = reinterpret_cast(&(df_structure->unk_18)) - reinterpret_cast(df_structure); - p_table["unk_1c"] = reinterpret_cast(&(df_structure->unk_1c)) - reinterpret_cast(df_structure); - p_table["unk_20"] = reinterpret_cast(&(df_structure->unk_20)) - reinterpret_cast(df_structure); - p_table["unk_24"] = reinterpret_cast(&(df_structure->unk_24)) - reinterpret_cast(df_structure); - p_table["unk_28"] = reinterpret_cast(&(df_structure->unk_28)) - reinterpret_cast(df_structure); -} - -void generate_site_realization_building_infost_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_site_realization_building_info_castle_courtyardst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_creation_zone_pwg_alterationst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk_0"] = reinterpret_cast(&(df_structure->unk_0)) - reinterpret_cast(df_structure); -} - -void generate_creation_zone_pwg_alteration_campst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); - p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); - p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); - p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); -} - -void generate_creation_zone_pwg_alteration_srb_ruinedst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); -} - -void generate_creation_zone_pwg_alteration_srp_ruinedst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); -} - -void generate_incident_hfid_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["hfid"] = reinterpret_cast(&(df_structure->hfid)) - reinterpret_cast(df_structure); - p_table["unk_1"] = reinterpret_cast(&(df_structure->unk_1)) - reinterpret_cast(df_structure); - p_table["unk_2"] = reinterpret_cast(&(df_structure->unk_2)) - reinterpret_cast(df_structure); - p_table["unk_3"] = reinterpret_cast(&(df_structure->unk_3)) - reinterpret_cast(df_structure); -} - -void generate_mission_campaign_report_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["travel_x"] = reinterpret_cast(&(df_structure->travel_x)) - reinterpret_cast(df_structure); - p_table["travel_y"] = reinterpret_cast(&(df_structure->travel_y)) - reinterpret_cast(df_structure); - p_table["travel_year"] = reinterpret_cast(&(df_structure->travel_year)) - reinterpret_cast(df_structure); - p_table["travel_year_tick"] = reinterpret_cast(&(df_structure->travel_year_tick)) - reinterpret_cast(df_structure); - p_table["travel_count"] = reinterpret_cast(&(df_structure->travel_count)) - reinterpret_cast(df_structure); - p_table["event_id"] = reinterpret_cast(&(df_structure->event_id)) - reinterpret_cast(df_structure); - p_table["event_year"] = reinterpret_cast(&(df_structure->event_year)) - reinterpret_cast(df_structure); - p_table["event_year_tick"] = reinterpret_cast(&(df_structure->event_year_tick)) - reinterpret_cast(df_structure); - p_table["events_count"] = reinterpret_cast(&(df_structure->events_count)) - reinterpret_cast(df_structure); -} - -void generate_coord_rect_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["x1"] = reinterpret_cast(&(df_structure->x1)) - reinterpret_cast(df_structure); - p_table["y1"] = reinterpret_cast(&(df_structure->y1)) - reinterpret_cast(df_structure); - p_table["x2"] = reinterpret_cast(&(df_structure->x2)) - reinterpret_cast(df_structure); - p_table["y2"] = reinterpret_cast(&(df_structure->y2)) - reinterpret_cast(df_structure); - p_table["z"] = reinterpret_cast(&(df_structure->z)) - reinterpret_cast(df_structure); -} - -void generate_world_unk_a8_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); -} - -void generate_world_unk_b4_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); - p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); -} - -void generate_ocean_wave_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["x1"] = reinterpret_cast(&(df_structure->x1)) - reinterpret_cast(df_structure); - p_table["y1"] = reinterpret_cast(&(df_structure->y1)) - reinterpret_cast(df_structure); - p_table["x2"] = reinterpret_cast(&(df_structure->x2)) - reinterpret_cast(df_structure); - p_table["y2"] = reinterpret_cast(&(df_structure->y2)) - reinterpret_cast(df_structure); - p_table["z"] = reinterpret_cast(&(df_structure->z)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); -} - -void generate_coin_batch__T_image_front_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["subid"] = reinterpret_cast(&(df_structure->subid)) - reinterpret_cast(df_structure); -} - -void generate_coin_batch__T_image_back_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["subid"] = reinterpret_cast(&(df_structure->subid)) - reinterpret_cast(df_structure); -} - -void generate_coin_batch_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["year"] = reinterpret_cast(&(df_structure->year)) - reinterpret_cast(df_structure); - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["entity"] = reinterpret_cast(&(df_structure->entity)) - reinterpret_cast(df_structure); - p_table["ruler"] = reinterpret_cast(&(df_structure->ruler)) - reinterpret_cast(df_structure); - p_table["image_front"] = reinterpret_cast(&(df_structure->image_front)) - reinterpret_cast(df_structure); - p_table["image_back"] = reinterpret_cast(&(df_structure->image_back)) - reinterpret_cast(df_structure); -} - -void generate_conversation__T_speech_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["text"] = reinterpret_cast(&(df_structure->text)) - reinterpret_cast(df_structure); - p_table["speaker"] = reinterpret_cast(&(df_structure->speaker)) - reinterpret_cast(df_structure); - p_table["unk_14"] = reinterpret_cast(&(df_structure->unk_14)) - reinterpret_cast(df_structure); - p_table["unk_18"] = reinterpret_cast(&(df_structure->unk_18)) - reinterpret_cast(df_structure); - p_table["fg"] = reinterpret_cast(&(df_structure->fg)) - reinterpret_cast(df_structure); - p_table["bg"] = reinterpret_cast(&(df_structure->bg)) - reinterpret_cast(df_structure); - p_table["bright"] = reinterpret_cast(&(df_structure->bright)) - reinterpret_cast(df_structure); -} - -void generate_conversation_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["conv_title"] = reinterpret_cast(&(df_structure->conv_title)) - reinterpret_cast(df_structure); - p_table["state"] = reinterpret_cast(&(df_structure->state)) - reinterpret_cast(df_structure); - p_table["talk_choices"] = reinterpret_cast(&(df_structure->talk_choices)) - reinterpret_cast(df_structure); - p_table["unk_30"] = reinterpret_cast(&(df_structure->unk_30)) - reinterpret_cast(df_structure); - p_table["unk_34"] = reinterpret_cast(&(df_structure->unk_34)) - reinterpret_cast(df_structure); - p_table["unk_38"] = reinterpret_cast(&(df_structure->unk_38)) - reinterpret_cast(df_structure); - p_table["unk_3c"] = reinterpret_cast(&(df_structure->unk_3c)) - reinterpret_cast(df_structure); - p_table["unk_40"] = reinterpret_cast(&(df_structure->unk_40)) - reinterpret_cast(df_structure); - p_table["unk_44"] = reinterpret_cast(&(df_structure->unk_44)) - reinterpret_cast(df_structure); - p_table["unk_48"] = reinterpret_cast(&(df_structure->unk_48)) - reinterpret_cast(df_structure); - p_table["unk_4c"] = reinterpret_cast(&(df_structure->unk_4c)) - reinterpret_cast(df_structure); - p_table["unk_50"] = reinterpret_cast(&(df_structure->unk_50)) - reinterpret_cast(df_structure); - p_table["unk_54"] = reinterpret_cast(&(df_structure->unk_54)) - reinterpret_cast(df_structure); - p_table["unk_64"] = reinterpret_cast(&(df_structure->unk_64)) - reinterpret_cast(df_structure); - p_table["unk_74"] = reinterpret_cast(&(df_structure->unk_74)) - reinterpret_cast(df_structure); - p_table["unk_78"] = reinterpret_cast(&(df_structure->unk_78)) - reinterpret_cast(df_structure); - p_table["unk_7c"] = reinterpret_cast(&(df_structure->unk_7c)) - reinterpret_cast(df_structure); - p_table["unk_80"] = reinterpret_cast(&(df_structure->unk_80)) - reinterpret_cast(df_structure); - p_table["unk_84"] = reinterpret_cast(&(df_structure->unk_84)) - reinterpret_cast(df_structure); - p_table["unk_94"] = reinterpret_cast(&(df_structure->unk_94)) - reinterpret_cast(df_structure); - p_table["unk_a4"] = reinterpret_cast(&(df_structure->unk_a4)) - reinterpret_cast(df_structure); - p_table["location"] = reinterpret_cast(&(df_structure->location)) - reinterpret_cast(df_structure); - p_table["unk_b8"] = reinterpret_cast(&(df_structure->unk_b8)) - reinterpret_cast(df_structure); - p_table["unk_bc"] = reinterpret_cast(&(df_structure->unk_bc)) - reinterpret_cast(df_structure); - p_table["speech"] = reinterpret_cast(&(df_structure->speech)) - reinterpret_cast(df_structure); -} - -void generate_talk_choice__T_unk_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["event"] = reinterpret_cast(&(df_structure->event)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); -} - -void generate_talk_choice_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["unk"] = reinterpret_cast(&(df_structure->unk)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); -} - -void generate_adventure_option_eat_item_contaminantst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); - p_table["inv_item"] = reinterpret_cast(&(df_structure->inv_item)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_adventure_environment_optionst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); - p_table["unk2"] = reinterpret_cast(&(df_structure->unk2)) - reinterpret_cast(df_structure); -} - -void generate_adventure_environment_place_in_it_containerst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_adventure_environment_ingest_from_containerst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); -} - -void generate_adventure_environment_pickup_ignite_vegst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_adventure_environment_ingest_materialst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); -} - -void generate_adventure_environment_pickup_make_campfirest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_adventure_environment_place_in_bld_containerst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_adventure_environment_pickup_vermin_eventst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["vermin_idx"] = reinterpret_cast(&(df_structure->vermin_idx)) - reinterpret_cast(df_structure); -} - -void generate_adventure_environment_pickup_chop_treest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_adventure_environment_unit_suck_bloodst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unit_id"] = reinterpret_cast(&(df_structure->unit_id)) - reinterpret_cast(df_structure); -} - -void generate_adventure_movement_optionst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["dest"] = reinterpret_cast(&(df_structure->dest)) - reinterpret_cast(df_structure); - p_table["source"] = reinterpret_cast(&(df_structure->source)) - reinterpret_cast(df_structure); -} - -void generate_adventure_movement_release_hold_itemst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_adventure_movement_release_hold_tilest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_adventure_movement_attack_creaturest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_adventure_movement_hold_tilest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["grab"] = reinterpret_cast(&(df_structure->grab)) - reinterpret_cast(df_structure); -} - -void generate_adventure_movement_movest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unit_path_flags"] = reinterpret_cast(&(df_structure->unit_path_flags)) - reinterpret_cast(df_structure); - p_table["unk_bitfield"] = reinterpret_cast(&(df_structure->unk_bitfield)) - reinterpret_cast(df_structure); -} - -void generate_adventure_movement_climbst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["grab"] = reinterpret_cast(&(df_structure->grab)) - reinterpret_cast(df_structure); -} - -void generate_adventure_movement_hold_itemst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["item_id"] = reinterpret_cast(&(df_structure->item_id)) - reinterpret_cast(df_structure); -} - -void generate_adventure_movement_building_interactst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["building_id"] = reinterpret_cast(&(df_structure->building_id)) - reinterpret_cast(df_structure); -} - -void generate_adventure_movement_item_interactst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["item_id"] = reinterpret_cast(&(df_structure->item_id)) - reinterpret_cast(df_structure); -} - -void generate_adventure_movement_item_interact_guidest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_adventure_movement_item_interact_ridest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_adventure_movement_item_interact_pushst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_adventure_item_interact_heat_from_tilest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); -} - -void generate_adventure_item_interact_fill_from_containerst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); -} - -void generate_adventure_item_interact_fill_with_materialst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); -} - -void generate_adventure_item_interact_give_namest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_announcements_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["unused"] = reinterpret_cast(&(df_structure->unused)) - reinterpret_cast(df_structure); -} - -void generate_report_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["text"] = reinterpret_cast(&(df_structure->text)) - reinterpret_cast(df_structure); - p_table["color"] = reinterpret_cast(&(df_structure->color)) - reinterpret_cast(df_structure); - p_table["bright"] = reinterpret_cast(&(df_structure->bright)) - reinterpret_cast(df_structure); - p_table["duration"] = reinterpret_cast(&(df_structure->duration)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["repeat_count"] = reinterpret_cast(&(df_structure->repeat_count)) - reinterpret_cast(df_structure); - p_table["unk_4410_1"] = reinterpret_cast(&(df_structure->unk_4410_1)) - reinterpret_cast(df_structure); - p_table["pos"] = reinterpret_cast(&(df_structure->pos)) - reinterpret_cast(df_structure); - p_table["unk_4410_2"] = reinterpret_cast(&(df_structure->unk_4410_2)) - reinterpret_cast(df_structure); - p_table["unit_pos"] = reinterpret_cast(&(df_structure->unit_pos)) - reinterpret_cast(df_structure); - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["year"] = reinterpret_cast(&(df_structure->year)) - reinterpret_cast(df_structure); - p_table["time"] = reinterpret_cast(&(df_structure->time)) - reinterpret_cast(df_structure); - p_table["unk_v40_1"] = reinterpret_cast(&(df_structure->unk_v40_1)) - reinterpret_cast(df_structure); - p_table["unk_v40_2"] = reinterpret_cast(&(df_structure->unk_v40_2)) - reinterpret_cast(df_structure); - p_table["speaker_id"] = reinterpret_cast(&(df_structure->speaker_id)) - reinterpret_cast(df_structure); -} - -void generate_art_image_element_itemst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); - p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["item_id"] = reinterpret_cast(&(df_structure->item_id)) - reinterpret_cast(df_structure); -} - -void generate_art_image_property_transitive_verbst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["subject"] = reinterpret_cast(&(df_structure->subject)) - reinterpret_cast(df_structure); - p_table["object"] = reinterpret_cast(&(df_structure->object)) - reinterpret_cast(df_structure); - p_table["verb"] = reinterpret_cast(&(df_structure->verb)) - reinterpret_cast(df_structure); -} - -void generate_art_image_property_intransitive_verbst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["subject"] = reinterpret_cast(&(df_structure->subject)) - reinterpret_cast(df_structure); - p_table["verb"] = reinterpret_cast(&(df_structure->verb)) - reinterpret_cast(df_structure); -} - -void generate_art_image_chunk_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["images"] = reinterpret_cast(&(df_structure->images)) - reinterpret_cast(df_structure); -} - -void generate_poetic_form_part__T_line_subject_targets_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["subject_histfig"] = reinterpret_cast(&(df_structure->subject_histfig)) - reinterpret_cast(df_structure); - p_table["subject_topic"] = reinterpret_cast(&(df_structure->subject_topic)) - reinterpret_cast(df_structure); -} - -void generate_poetic_form_part_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["count_min"] = reinterpret_cast(&(df_structure->count_min)) - reinterpret_cast(df_structure); - p_table["count_max"] = reinterpret_cast(&(df_structure->count_max)) - reinterpret_cast(df_structure); - p_table["size"] = reinterpret_cast(&(df_structure->size)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["line_endings"] = reinterpret_cast(&(df_structure->line_endings)) - reinterpret_cast(df_structure); - p_table["line_feet"] = reinterpret_cast(&(df_structure->line_feet)) - reinterpret_cast(df_structure); - p_table["line_patterns"] = reinterpret_cast(&(df_structure->line_patterns)) - reinterpret_cast(df_structure); - p_table["line_caesura_positions"] = reinterpret_cast(&(df_structure->line_caesura_positions)) - reinterpret_cast(df_structure); - p_table["line_features"] = reinterpret_cast(&(df_structure->line_features)) - reinterpret_cast(df_structure); - p_table["additional_features"] = reinterpret_cast(&(df_structure->additional_features)) - reinterpret_cast(df_structure); - p_table["additional_targets"] = reinterpret_cast(&(df_structure->additional_targets)) - reinterpret_cast(df_structure); - p_table["additional_lines"] = reinterpret_cast(&(df_structure->additional_lines)) - reinterpret_cast(df_structure); - p_table["line_moods"] = reinterpret_cast(&(df_structure->line_moods)) - reinterpret_cast(df_structure); - p_table["line_subjects"] = reinterpret_cast(&(df_structure->line_subjects)) - reinterpret_cast(df_structure); - p_table["line_subject_targets"] = reinterpret_cast(&(df_structure->line_subject_targets)) - reinterpret_cast(df_structure); - p_table["line_actions"] = reinterpret_cast(&(df_structure->line_actions)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["some_lines_syllables"] = reinterpret_cast(&(df_structure->some_lines_syllables)) - reinterpret_cast(df_structure); - p_table["some_lines_pattern"] = reinterpret_cast(&(df_structure->some_lines_pattern)) - reinterpret_cast(df_structure); - p_table["each_line_caesura_position"] = reinterpret_cast(&(df_structure->each_line_caesura_position)) - reinterpret_cast(df_structure); - p_table["certain_lines_additional_features"] = reinterpret_cast(&(df_structure->certain_lines_additional_features)) - reinterpret_cast(df_structure); - p_table["mood"] = reinterpret_cast(&(df_structure->mood)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); - p_table["action"] = reinterpret_cast(&(df_structure->action)) - reinterpret_cast(df_structure); - p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); - p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); -} - -void generate_musical_form_vocals_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); - p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); - p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); - p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); - p_table["anon_11"] = reinterpret_cast(&(df_structure->anon_11)) - reinterpret_cast(df_structure); - p_table["anon_12"] = reinterpret_cast(&(df_structure->anon_12)) - reinterpret_cast(df_structure); - p_table["anon_13"] = reinterpret_cast(&(df_structure->anon_13)) - reinterpret_cast(df_structure); - p_table["vocal_components"] = reinterpret_cast(&(df_structure->vocal_components)) - reinterpret_cast(df_structure); - p_table["phrase_lengths"] = reinterpret_cast(&(df_structure->phrase_lengths)) - reinterpret_cast(df_structure); - p_table["anon_14"] = reinterpret_cast(&(df_structure->anon_14)) - reinterpret_cast(df_structure); - p_table["anon_15"] = reinterpret_cast(&(df_structure->anon_15)) - reinterpret_cast(df_structure); - p_table["anon_16"] = reinterpret_cast(&(df_structure->anon_16)) - reinterpret_cast(df_structure); - p_table["anon_17"] = reinterpret_cast(&(df_structure->anon_17)) - reinterpret_cast(df_structure); - p_table["anon_18"] = reinterpret_cast(&(df_structure->anon_18)) - reinterpret_cast(df_structure); - p_table["anon_19"] = reinterpret_cast(&(df_structure->anon_19)) - reinterpret_cast(df_structure); - p_table["anon_20"] = reinterpret_cast(&(df_structure->anon_20)) - reinterpret_cast(df_structure); - p_table["anon_21"] = reinterpret_cast(&(df_structure->anon_21)) - reinterpret_cast(df_structure); - p_table["anon_22"] = reinterpret_cast(&(df_structure->anon_22)) - reinterpret_cast(df_structure); - p_table["anon_23"] = reinterpret_cast(&(df_structure->anon_23)) - reinterpret_cast(df_structure); -} - -void generate_musical_form_instruments_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["instrument_subtype"] = reinterpret_cast(&(df_structure->instrument_subtype)) - reinterpret_cast(df_structure); - p_table["substitutions"] = reinterpret_cast(&(df_structure->substitutions)) - reinterpret_cast(df_structure); - p_table["features"] = reinterpret_cast(&(df_structure->features)) - reinterpret_cast(df_structure); - p_table["minimum_required"] = reinterpret_cast(&(df_structure->minimum_required)) - reinterpret_cast(df_structure); - p_table["maximum_permitted"] = reinterpret_cast(&(df_structure->maximum_permitted)) - reinterpret_cast(df_structure); - p_table["dynamic_style"] = reinterpret_cast(&(df_structure->dynamic_style)) - reinterpret_cast(df_structure); - p_table["overall_style"] = reinterpret_cast(&(df_structure->overall_style)) - reinterpret_cast(df_structure); -} - -void generate_musical_form_melodies_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["style"] = reinterpret_cast(&(df_structure->style)) - reinterpret_cast(df_structure); - p_table["frequency"] = reinterpret_cast(&(df_structure->frequency)) - reinterpret_cast(df_structure); - p_table["intervals"] = reinterpret_cast(&(df_structure->intervals)) - reinterpret_cast(df_structure); - p_table["features"] = reinterpret_cast(&(df_structure->features)) - reinterpret_cast(df_structure); -} - -void generate_scale__T_unk1_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); -} - -void generate_scale_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); -} - -void generate_rhythm_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); -} - -void generate_rhythm_sub1__T_anon_1_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["length"] = reinterpret_cast(&(df_structure->length)) - reinterpret_cast(df_structure); -} - -void generate_rhythm_sub1_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); -} - -void generate_occupation_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["histfig_id"] = reinterpret_cast(&(df_structure->histfig_id)) - reinterpret_cast(df_structure); - p_table["unit_id"] = reinterpret_cast(&(df_structure->unit_id)) - reinterpret_cast(df_structure); - p_table["location_id"] = reinterpret_cast(&(df_structure->location_id)) - reinterpret_cast(df_structure); - p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); - p_table["group_id"] = reinterpret_cast(&(df_structure->group_id)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); -} - -void generate_building_def_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["code"] = reinterpret_cast(&(df_structure->code)) - reinterpret_cast(df_structure); - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["building_type"] = reinterpret_cast(&(df_structure->building_type)) - reinterpret_cast(df_structure); - p_table["building_subtype"] = reinterpret_cast(&(df_structure->building_subtype)) - reinterpret_cast(df_structure); - p_table["name_color"] = reinterpret_cast(&(df_structure->name_color)) - reinterpret_cast(df_structure); - p_table["tile"] = reinterpret_cast(&(df_structure->tile)) - reinterpret_cast(df_structure); - p_table["tile_color"] = reinterpret_cast(&(df_structure->tile_color)) - reinterpret_cast(df_structure); - p_table["tile_block"] = reinterpret_cast(&(df_structure->tile_block)) - reinterpret_cast(df_structure); - p_table["build_key"] = reinterpret_cast(&(df_structure->build_key)) - reinterpret_cast(df_structure); - p_table["needs_magma"] = reinterpret_cast(&(df_structure->needs_magma)) - reinterpret_cast(df_structure); - p_table["build_items"] = reinterpret_cast(&(df_structure->build_items)) - reinterpret_cast(df_structure); - p_table["dim_x"] = reinterpret_cast(&(df_structure->dim_x)) - reinterpret_cast(df_structure); - p_table["dim_y"] = reinterpret_cast(&(df_structure->dim_y)) - reinterpret_cast(df_structure); - p_table["workloc_x"] = reinterpret_cast(&(df_structure->workloc_x)) - reinterpret_cast(df_structure); - p_table["workloc_y"] = reinterpret_cast(&(df_structure->workloc_y)) - reinterpret_cast(df_structure); - p_table["build_labors"] = reinterpret_cast(&(df_structure->build_labors)) - reinterpret_cast(df_structure); - p_table["labor_description"] = reinterpret_cast(&(df_structure->labor_description)) - reinterpret_cast(df_structure); - p_table["build_stages"] = reinterpret_cast(&(df_structure->build_stages)) - reinterpret_cast(df_structure); -} - -void generate_building_def_item_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); - p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["reaction_class"] = reinterpret_cast(&(df_structure->reaction_class)) - reinterpret_cast(df_structure); - p_table["has_material_reaction_product"] = reinterpret_cast(&(df_structure->has_material_reaction_product)) - reinterpret_cast(df_structure); - p_table["flags1"] = reinterpret_cast(&(df_structure->flags1)) - reinterpret_cast(df_structure); - p_table["flags2"] = reinterpret_cast(&(df_structure->flags2)) - reinterpret_cast(df_structure); - p_table["flags3"] = reinterpret_cast(&(df_structure->flags3)) - reinterpret_cast(df_structure); - p_table["flags4"] = reinterpret_cast(&(df_structure->flags4)) - reinterpret_cast(df_structure); - p_table["flags5"] = reinterpret_cast(&(df_structure->flags5)) - reinterpret_cast(df_structure); - p_table["metal_ore"] = reinterpret_cast(&(df_structure->metal_ore)) - reinterpret_cast(df_structure); - p_table["min_dimension"] = reinterpret_cast(&(df_structure->min_dimension)) - reinterpret_cast(df_structure); - p_table["quantity"] = reinterpret_cast(&(df_structure->quantity)) - reinterpret_cast(df_structure); - p_table["has_tool_use"] = reinterpret_cast(&(df_structure->has_tool_use)) - reinterpret_cast(df_structure); - p_table["item_str"] = reinterpret_cast(&(df_structure->item_str)) - reinterpret_cast(df_structure); - p_table["material_str"] = reinterpret_cast(&(df_structure->material_str)) - reinterpret_cast(df_structure); - p_table["metal_ore_str"] = reinterpret_cast(&(df_structure->metal_ore_str)) - reinterpret_cast(df_structure); -} - -void generate_building_def_workshopst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_building_def_furnacest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_building__T_job_claim_suppress_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); - p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); -} - -void generate_building__T_activities_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["activity_id"] = reinterpret_cast(&(df_structure->activity_id)) - reinterpret_cast(df_structure); - p_table["event_id"] = reinterpret_cast(&(df_structure->event_id)) - reinterpret_cast(df_structure); -} - -void generate_building_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["x1"] = reinterpret_cast(&(df_structure->x1)) - reinterpret_cast(df_structure); - p_table["y1"] = reinterpret_cast(&(df_structure->y1)) - reinterpret_cast(df_structure); - p_table["centerx"] = reinterpret_cast(&(df_structure->centerx)) - reinterpret_cast(df_structure); - p_table["x2"] = reinterpret_cast(&(df_structure->x2)) - reinterpret_cast(df_structure); - p_table["y2"] = reinterpret_cast(&(df_structure->y2)) - reinterpret_cast(df_structure); - p_table["centery"] = reinterpret_cast(&(df_structure->centery)) - reinterpret_cast(df_structure); - p_table["z"] = reinterpret_cast(&(df_structure->z)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["room"] = reinterpret_cast(&(df_structure->room)) - reinterpret_cast(df_structure); - p_table["age"] = reinterpret_cast(&(df_structure->age)) - reinterpret_cast(df_structure); - p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["jobs"] = reinterpret_cast(&(df_structure->jobs)) - reinterpret_cast(df_structure); - p_table["specific_refs"] = reinterpret_cast(&(df_structure->specific_refs)) - reinterpret_cast(df_structure); - p_table["general_refs"] = reinterpret_cast(&(df_structure->general_refs)) - reinterpret_cast(df_structure); - p_table["is_room"] = reinterpret_cast(&(df_structure->is_room)) - reinterpret_cast(df_structure); - p_table["children"] = reinterpret_cast(&(df_structure->children)) - reinterpret_cast(df_structure); - p_table["parents"] = reinterpret_cast(&(df_structure->parents)) - reinterpret_cast(df_structure); - p_table["owner_id"] = reinterpret_cast(&(df_structure->owner_id)) - reinterpret_cast(df_structure); - p_table["owner"] = reinterpret_cast(&(df_structure->owner)) - reinterpret_cast(df_structure); - p_table["job_claim_suppress"] = reinterpret_cast(&(df_structure->job_claim_suppress)) - reinterpret_cast(df_structure); - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["activities"] = reinterpret_cast(&(df_structure->activities)) - reinterpret_cast(df_structure); - p_table["world_data_id"] = reinterpret_cast(&(df_structure->world_data_id)) - reinterpret_cast(df_structure); - p_table["world_data_subid"] = reinterpret_cast(&(df_structure->world_data_subid)) - reinterpret_cast(df_structure); - p_table["unk_v40_2"] = reinterpret_cast(&(df_structure->unk_v40_2)) - reinterpret_cast(df_structure); - p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); - p_table["location_id"] = reinterpret_cast(&(df_structure->location_id)) - reinterpret_cast(df_structure); - p_table["unk_v40_3"] = reinterpret_cast(&(df_structure->unk_v40_3)) - reinterpret_cast(df_structure); -} - -void generate_stockpile_links_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["give_to_pile"] = reinterpret_cast(&(df_structure->give_to_pile)) - reinterpret_cast(df_structure); - p_table["take_from_pile"] = reinterpret_cast(&(df_structure->take_from_pile)) - reinterpret_cast(df_structure); - p_table["give_to_workshop"] = reinterpret_cast(&(df_structure->give_to_workshop)) - reinterpret_cast(df_structure); - p_table["take_from_workshop"] = reinterpret_cast(&(df_structure->take_from_workshop)) - reinterpret_cast(df_structure); -} - -void generate_building_civzonest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["assigned_units"] = reinterpret_cast(&(df_structure->assigned_units)) - reinterpret_cast(df_structure); - p_table["assigned_items"] = reinterpret_cast(&(df_structure->assigned_items)) - reinterpret_cast(df_structure); - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["zone_flags"] = reinterpret_cast(&(df_structure->zone_flags)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["zone_num"] = reinterpret_cast(&(df_structure->zone_num)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["pit_flags"] = reinterpret_cast(&(df_structure->pit_flags)) - reinterpret_cast(df_structure); - p_table["fill_timer"] = reinterpret_cast(&(df_structure->fill_timer)) - reinterpret_cast(df_structure); - p_table["hospital"] = reinterpret_cast(&(df_structure->hospital)) - reinterpret_cast(df_structure); - p_table["gather_flags"] = reinterpret_cast(&(df_structure->gather_flags)) - reinterpret_cast(df_structure); - p_table["unk_v4014_1"] = reinterpret_cast(&(df_structure->unk_v4014_1)) - reinterpret_cast(df_structure); - p_table["unk_v43_1"] = reinterpret_cast(&(df_structure->unk_v43_1)) - reinterpret_cast(df_structure); -} - -void generate_building_actual__T_contained_items_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["item"] = reinterpret_cast(&(df_structure->item)) - reinterpret_cast(df_structure); - p_table["use_mode"] = reinterpret_cast(&(df_structure->use_mode)) - reinterpret_cast(df_structure); -} - -void generate_building_actual_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["construction_stage"] = reinterpret_cast(&(df_structure->construction_stage)) - reinterpret_cast(df_structure); - p_table["contained_items"] = reinterpret_cast(&(df_structure->contained_items)) - reinterpret_cast(df_structure); - p_table["design"] = reinterpret_cast(&(df_structure->design)) - reinterpret_cast(df_structure); -} - -void generate_building_design_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["architect"] = reinterpret_cast(&(df_structure->architect)) - reinterpret_cast(df_structure); - p_table["unk2"] = reinterpret_cast(&(df_structure->unk2)) - reinterpret_cast(df_structure); - p_table["design_skill"] = reinterpret_cast(&(df_structure->design_skill)) - reinterpret_cast(df_structure); - p_table["builder1"] = reinterpret_cast(&(df_structure->builder1)) - reinterpret_cast(df_structure); - p_table["unk5"] = reinterpret_cast(&(df_structure->unk5)) - reinterpret_cast(df_structure); - p_table["build_skill"] = reinterpret_cast(&(df_structure->build_skill)) - reinterpret_cast(df_structure); - p_table["build_timer1"] = reinterpret_cast(&(df_structure->build_timer1)) - reinterpret_cast(df_structure); - p_table["builder2"] = reinterpret_cast(&(df_structure->builder2)) - reinterpret_cast(df_structure); - p_table["build_timer2"] = reinterpret_cast(&(df_structure->build_timer2)) - reinterpret_cast(df_structure); - p_table["quality1"] = reinterpret_cast(&(df_structure->quality1)) - reinterpret_cast(df_structure); - p_table["quality2"] = reinterpret_cast(&(df_structure->quality2)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["hitpoints"] = reinterpret_cast(&(df_structure->hitpoints)) - reinterpret_cast(df_structure); - p_table["max_hitpoints"] = reinterpret_cast(&(df_structure->max_hitpoints)) - reinterpret_cast(df_structure); -} - -void generate_workshop_profile_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["permitted_workers"] = reinterpret_cast(&(df_structure->permitted_workers)) - reinterpret_cast(df_structure); - p_table["min_level"] = reinterpret_cast(&(df_structure->min_level)) - reinterpret_cast(df_structure); - p_table["max_level"] = reinterpret_cast(&(df_structure->max_level)) - reinterpret_cast(df_structure); - p_table["links"] = reinterpret_cast(&(df_structure->links)) - reinterpret_cast(df_structure); - p_table["max_general_orders"] = reinterpret_cast(&(df_structure->max_general_orders)) - reinterpret_cast(df_structure); - p_table["block_general_orders"] = reinterpret_cast(&(df_structure->block_general_orders)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["blocked_labors"] = reinterpret_cast(&(df_structure->blocked_labors)) - reinterpret_cast(df_structure); -} - -void generate_building_furnacest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["melt_remainder"] = reinterpret_cast(&(df_structure->melt_remainder)) - reinterpret_cast(df_structure); - p_table["unk_108"] = reinterpret_cast(&(df_structure->unk_108)) - reinterpret_cast(df_structure); - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["profile"] = reinterpret_cast(&(df_structure->profile)) - reinterpret_cast(df_structure); - p_table["custom_type"] = reinterpret_cast(&(df_structure->custom_type)) - reinterpret_cast(df_structure); -} - -void generate_building_workshopst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["profile"] = reinterpret_cast(&(df_structure->profile)) - reinterpret_cast(df_structure); - p_table["machine"] = reinterpret_cast(&(df_structure->machine)) - reinterpret_cast(df_structure); - p_table["custom_type"] = reinterpret_cast(&(df_structure->custom_type)) - reinterpret_cast(df_structure); -} - -void generate_building_animaltrapst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["bait_type"] = reinterpret_cast(&(df_structure->bait_type)) - reinterpret_cast(df_structure); - p_table["fill_timer"] = reinterpret_cast(&(df_structure->fill_timer)) - reinterpret_cast(df_structure); -} - -void generate_building_archerytargetst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["archery_direction"] = reinterpret_cast(&(df_structure->archery_direction)) - reinterpret_cast(df_structure); -} - -void generate_building_armorstandst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk_c0"] = reinterpret_cast(&(df_structure->unk_c0)) - reinterpret_cast(df_structure); - p_table["squads"] = reinterpret_cast(&(df_structure->squads)) - reinterpret_cast(df_structure); - p_table["specific_squad"] = reinterpret_cast(&(df_structure->specific_squad)) - reinterpret_cast(df_structure); - p_table["specific_position"] = reinterpret_cast(&(df_structure->specific_position)) - reinterpret_cast(df_structure); -} - -void generate_building_bars_verticalst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["gate_flags"] = reinterpret_cast(&(df_structure->gate_flags)) - reinterpret_cast(df_structure); - p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); -} - -void generate_building_bars_floorst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["gate_flags"] = reinterpret_cast(&(df_structure->gate_flags)) - reinterpret_cast(df_structure); - p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); -} - -void generate_building_bedst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["bed_flags"] = reinterpret_cast(&(df_structure->bed_flags)) - reinterpret_cast(df_structure); - p_table["squads"] = reinterpret_cast(&(df_structure->squads)) - reinterpret_cast(df_structure); - p_table["specific_squad"] = reinterpret_cast(&(df_structure->specific_squad)) - reinterpret_cast(df_structure); - p_table["specific_position"] = reinterpret_cast(&(df_structure->specific_position)) - reinterpret_cast(df_structure); - p_table["users"] = reinterpret_cast(&(df_structure->users)) - reinterpret_cast(df_structure); -} - -void generate_building_bookcasest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_building_boxst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["squads"] = reinterpret_cast(&(df_structure->squads)) - reinterpret_cast(df_structure); - p_table["specific_squad"] = reinterpret_cast(&(df_structure->specific_squad)) - reinterpret_cast(df_structure); - p_table["specific_position"] = reinterpret_cast(&(df_structure->specific_position)) - reinterpret_cast(df_structure); -} - -void generate_building_bridgest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["gate_flags"] = reinterpret_cast(&(df_structure->gate_flags)) - reinterpret_cast(df_structure); - p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); - p_table["direction"] = reinterpret_cast(&(df_structure->direction)) - reinterpret_cast(df_structure); - p_table["material_amount"] = reinterpret_cast(&(df_structure->material_amount)) - reinterpret_cast(df_structure); -} - -void generate_building_cabinetst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["squads"] = reinterpret_cast(&(df_structure->squads)) - reinterpret_cast(df_structure); - p_table["specific_squad"] = reinterpret_cast(&(df_structure->specific_squad)) - reinterpret_cast(df_structure); - p_table["specific_position"] = reinterpret_cast(&(df_structure->specific_position)) - reinterpret_cast(df_structure); -} - -void generate_building_cagest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["assigned_units"] = reinterpret_cast(&(df_structure->assigned_units)) - reinterpret_cast(df_structure); - p_table["assigned_items"] = reinterpret_cast(&(df_structure->assigned_items)) - reinterpret_cast(df_structure); - p_table["cage_flags"] = reinterpret_cast(&(df_structure->cage_flags)) - reinterpret_cast(df_structure); - p_table["fill_timer"] = reinterpret_cast(&(df_structure->fill_timer)) - reinterpret_cast(df_structure); -} - -void generate_building_chainst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["assigned"] = reinterpret_cast(&(df_structure->assigned)) - reinterpret_cast(df_structure); - p_table["chained"] = reinterpret_cast(&(df_structure->chained)) - reinterpret_cast(df_structure); - p_table["chain_flags"] = reinterpret_cast(&(df_structure->chain_flags)) - reinterpret_cast(df_structure); -} - -void generate_building_chairst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["users"] = reinterpret_cast(&(df_structure->users)) - reinterpret_cast(df_structure); -} - -void generate_building_coffinst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["burial_mode"] = reinterpret_cast(&(df_structure->burial_mode)) - reinterpret_cast(df_structure); -} - -void generate_building_constructionst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); -} - -void generate_building_display_furniturest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["displayed_items"] = reinterpret_cast(&(df_structure->displayed_items)) - reinterpret_cast(df_structure); -} - -void generate_building_doorst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["door_flags"] = reinterpret_cast(&(df_structure->door_flags)) - reinterpret_cast(df_structure); - p_table["close_timer"] = reinterpret_cast(&(df_structure->close_timer)) - reinterpret_cast(df_structure); -} - -void generate_building_farmplotst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["plant_id"] = reinterpret_cast(&(df_structure->plant_id)) - reinterpret_cast(df_structure); - p_table["material_amount"] = reinterpret_cast(&(df_structure->material_amount)) - reinterpret_cast(df_structure); - p_table["seasonal_fertilize"] = reinterpret_cast(&(df_structure->seasonal_fertilize)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["current_fertilization"] = reinterpret_cast(&(df_structure->current_fertilization)) - reinterpret_cast(df_structure); - p_table["max_fertilization"] = reinterpret_cast(&(df_structure->max_fertilization)) - reinterpret_cast(df_structure); - p_table["terrain_purge_timer"] = reinterpret_cast(&(df_structure->terrain_purge_timer)) - reinterpret_cast(df_structure); -} - -void generate_building_floodgatest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["gate_flags"] = reinterpret_cast(&(df_structure->gate_flags)) - reinterpret_cast(df_structure); - p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); -} - -void generate_building_grate_floorst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["gate_flags"] = reinterpret_cast(&(df_structure->gate_flags)) - reinterpret_cast(df_structure); - p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); -} - -void generate_building_grate_wallst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["gate_flags"] = reinterpret_cast(&(df_structure->gate_flags)) - reinterpret_cast(df_structure); - p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); -} - -void generate_building_hatchst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["door_flags"] = reinterpret_cast(&(df_structure->door_flags)) - reinterpret_cast(df_structure); - p_table["close_timer"] = reinterpret_cast(&(df_structure->close_timer)) - reinterpret_cast(df_structure); -} - -void generate_building_hivest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["hive_flags"] = reinterpret_cast(&(df_structure->hive_flags)) - reinterpret_cast(df_structure); - p_table["split_timer"] = reinterpret_cast(&(df_structure->split_timer)) - reinterpret_cast(df_structure); - p_table["activity_timer"] = reinterpret_cast(&(df_structure->activity_timer)) - reinterpret_cast(df_structure); - p_table["install_timer"] = reinterpret_cast(&(df_structure->install_timer)) - reinterpret_cast(df_structure); - p_table["gather_timer"] = reinterpret_cast(&(df_structure->gather_timer)) - reinterpret_cast(df_structure); -} - -void generate_building_instrumentst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_building_nestst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_building_nest_boxst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["claimed_by"] = reinterpret_cast(&(df_structure->claimed_by)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_building_roadst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_building_road_dirtst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["material_amount"] = reinterpret_cast(&(df_structure->material_amount)) - reinterpret_cast(df_structure); -} - -void generate_building_road_pavedst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["material_amount"] = reinterpret_cast(&(df_structure->material_amount)) - reinterpret_cast(df_structure); - p_table["terrain_purge_timer"] = reinterpret_cast(&(df_structure->terrain_purge_timer)) - reinterpret_cast(df_structure); -} - -void generate_building_shopst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["owner"] = reinterpret_cast(&(df_structure->owner)) - reinterpret_cast(df_structure); - p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); - p_table["shop_flags"] = reinterpret_cast(&(df_structure->shop_flags)) - reinterpret_cast(df_structure); - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); -} - -void generate_building_siegeenginest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["facing"] = reinterpret_cast(&(df_structure->facing)) - reinterpret_cast(df_structure); - p_table["action"] = reinterpret_cast(&(df_structure->action)) - reinterpret_cast(df_structure); - p_table["fire_timer"] = reinterpret_cast(&(df_structure->fire_timer)) - reinterpret_cast(df_structure); - p_table["fill_timer"] = reinterpret_cast(&(df_structure->fill_timer)) - reinterpret_cast(df_structure); -} - -void generate_building_slabst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_building_statuest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_building_supportst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["support_flags"] = reinterpret_cast(&(df_structure->support_flags)) - reinterpret_cast(df_structure); -} - -void generate_building_tablest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["table_flags"] = reinterpret_cast(&(df_structure->table_flags)) - reinterpret_cast(df_structure); - p_table["users"] = reinterpret_cast(&(df_structure->users)) - reinterpret_cast(df_structure); -} - -void generate_building_traction_benchst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["users"] = reinterpret_cast(&(df_structure->users)) - reinterpret_cast(df_structure); -} - -void generate_building_tradedepotst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["trade_flags"] = reinterpret_cast(&(df_structure->trade_flags)) - reinterpret_cast(df_structure); - p_table["accessible"] = reinterpret_cast(&(df_structure->accessible)) - reinterpret_cast(df_structure); -} - -void generate_building_trapst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["trap_type"] = reinterpret_cast(&(df_structure->trap_type)) - reinterpret_cast(df_structure); - p_table["state"] = reinterpret_cast(&(df_structure->state)) - reinterpret_cast(df_structure); - p_table["ready_timeout"] = reinterpret_cast(&(df_structure->ready_timeout)) - reinterpret_cast(df_structure); - p_table["fill_timer"] = reinterpret_cast(&(df_structure->fill_timer)) - reinterpret_cast(df_structure); - p_table["stop_flags"] = reinterpret_cast(&(df_structure->stop_flags)) - reinterpret_cast(df_structure); - p_table["linked_mechanisms"] = reinterpret_cast(&(df_structure->linked_mechanisms)) - reinterpret_cast(df_structure); - p_table["observed_by_civs"] = reinterpret_cast(&(df_structure->observed_by_civs)) - reinterpret_cast(df_structure); - p_table["profile"] = reinterpret_cast(&(df_structure->profile)) - reinterpret_cast(df_structure); - p_table["plate_info"] = reinterpret_cast(&(df_structure->plate_info)) - reinterpret_cast(df_structure); - p_table["friction"] = reinterpret_cast(&(df_structure->friction)) - reinterpret_cast(df_structure); - p_table["use_dump"] = reinterpret_cast(&(df_structure->use_dump)) - reinterpret_cast(df_structure); - p_table["dump_x_shift"] = reinterpret_cast(&(df_structure->dump_x_shift)) - reinterpret_cast(df_structure); - p_table["dump_y_shift"] = reinterpret_cast(&(df_structure->dump_y_shift)) - reinterpret_cast(df_structure); - p_table["stop_trigger_timer"] = reinterpret_cast(&(df_structure->stop_trigger_timer)) - reinterpret_cast(df_structure); -} - -void generate_building_wagonst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_building_weaponst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["gate_flags"] = reinterpret_cast(&(df_structure->gate_flags)) - reinterpret_cast(df_structure); - p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); -} - -void generate_building_squad_use_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["squad_id"] = reinterpret_cast(&(df_structure->squad_id)) - reinterpret_cast(df_structure); - p_table["mode"] = reinterpret_cast(&(df_structure->mode)) - reinterpret_cast(df_structure); -} - -void generate_building_weaponrackst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk_c0"] = reinterpret_cast(&(df_structure->unk_c0)) - reinterpret_cast(df_structure); - p_table["squads"] = reinterpret_cast(&(df_structure->squads)) - reinterpret_cast(df_structure); - p_table["specific_squad"] = reinterpret_cast(&(df_structure->specific_squad)) - reinterpret_cast(df_structure); -} - -void generate_building_wellst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["well_flags"] = reinterpret_cast(&(df_structure->well_flags)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["bucket_z"] = reinterpret_cast(&(df_structure->bucket_z)) - reinterpret_cast(df_structure); - p_table["bucket_timer"] = reinterpret_cast(&(df_structure->bucket_timer)) - reinterpret_cast(df_structure); - p_table["check_water_timer"] = reinterpret_cast(&(df_structure->check_water_timer)) - reinterpret_cast(df_structure); -} - -void generate_building_windowst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_building_window_glassst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_building_window_gemst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_body_part_raw_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["token"] = reinterpret_cast(&(df_structure->token)) - reinterpret_cast(df_structure); - p_table["category"] = reinterpret_cast(&(df_structure->category)) - reinterpret_cast(df_structure); - p_table["con_part_id"] = reinterpret_cast(&(df_structure->con_part_id)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["layers"] = reinterpret_cast(&(df_structure->layers)) - reinterpret_cast(df_structure); - p_table["fraction_total"] = reinterpret_cast(&(df_structure->fraction_total)) - reinterpret_cast(df_structure); - p_table["fraction_base"] = reinterpret_cast(&(df_structure->fraction_base)) - reinterpret_cast(df_structure); - p_table["fraction_fat"] = reinterpret_cast(&(df_structure->fraction_fat)) - reinterpret_cast(df_structure); - p_table["fraction_muscle"] = reinterpret_cast(&(df_structure->fraction_muscle)) - reinterpret_cast(df_structure); - p_table["relsize"] = reinterpret_cast(&(df_structure->relsize)) - reinterpret_cast(df_structure); - p_table["number"] = reinterpret_cast(&(df_structure->number)) - reinterpret_cast(df_structure); - p_table["unk7b"] = reinterpret_cast(&(df_structure->unk7b)) - reinterpret_cast(df_structure); - p_table["name_singular"] = reinterpret_cast(&(df_structure->name_singular)) - reinterpret_cast(df_structure); - p_table["name_plural"] = reinterpret_cast(&(df_structure->name_plural)) - reinterpret_cast(df_structure); - p_table["bp_relation_part_id"] = reinterpret_cast(&(df_structure->bp_relation_part_id)) - reinterpret_cast(df_structure); - p_table["bp_relation_code"] = reinterpret_cast(&(df_structure->bp_relation_code)) - reinterpret_cast(df_structure); - p_table["bp_relation_coverage"] = reinterpret_cast(&(df_structure->bp_relation_coverage)) - reinterpret_cast(df_structure); - p_table["min_temp"] = reinterpret_cast(&(df_structure->min_temp)) - reinterpret_cast(df_structure); - p_table["max_temp"] = reinterpret_cast(&(df_structure->max_temp)) - reinterpret_cast(df_structure); - p_table["temp_factor"] = reinterpret_cast(&(df_structure->temp_factor)) - reinterpret_cast(df_structure); - p_table["numbered_idx"] = reinterpret_cast(&(df_structure->numbered_idx)) - reinterpret_cast(df_structure); - p_table["insulation_fat"] = reinterpret_cast(&(df_structure->insulation_fat)) - reinterpret_cast(df_structure); - p_table["insulation_muscle"] = reinterpret_cast(&(df_structure->insulation_muscle)) - reinterpret_cast(df_structure); - p_table["insulation_base"] = reinterpret_cast(&(df_structure->insulation_base)) - reinterpret_cast(df_structure); - p_table["clothing_item_id"] = reinterpret_cast(&(df_structure->clothing_item_id)) - reinterpret_cast(df_structure); -} - -void generate_body_appearance_modifier_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["ranges"] = reinterpret_cast(&(df_structure->ranges)) - reinterpret_cast(df_structure); - p_table["desc_range"] = reinterpret_cast(&(df_structure->desc_range)) - reinterpret_cast(df_structure); - p_table["growth_rate"] = reinterpret_cast(&(df_structure->growth_rate)) - reinterpret_cast(df_structure); - p_table["growth_interval"] = reinterpret_cast(&(df_structure->growth_interval)) - reinterpret_cast(df_structure); - p_table["growth_min"] = reinterpret_cast(&(df_structure->growth_min)) - reinterpret_cast(df_structure); - p_table["growth_max"] = reinterpret_cast(&(df_structure->growth_max)) - reinterpret_cast(df_structure); - p_table["growth_start"] = reinterpret_cast(&(df_structure->growth_start)) - reinterpret_cast(df_structure); - p_table["growth_end"] = reinterpret_cast(&(df_structure->growth_end)) - reinterpret_cast(df_structure); - p_table["importance"] = reinterpret_cast(&(df_structure->importance)) - reinterpret_cast(df_structure); - p_table["noun"] = reinterpret_cast(&(df_structure->noun)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["id2"] = reinterpret_cast(&(df_structure->id2)) - reinterpret_cast(df_structure); -} - -void generate_bp_appearance_modifier_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["ranges"] = reinterpret_cast(&(df_structure->ranges)) - reinterpret_cast(df_structure); - p_table["desc_range"] = reinterpret_cast(&(df_structure->desc_range)) - reinterpret_cast(df_structure); - p_table["growth_rate"] = reinterpret_cast(&(df_structure->growth_rate)) - reinterpret_cast(df_structure); - p_table["growth_interval"] = reinterpret_cast(&(df_structure->growth_interval)) - reinterpret_cast(df_structure); - p_table["growth_min"] = reinterpret_cast(&(df_structure->growth_min)) - reinterpret_cast(df_structure); - p_table["growth_max"] = reinterpret_cast(&(df_structure->growth_max)) - reinterpret_cast(df_structure); - p_table["growth_start"] = reinterpret_cast(&(df_structure->growth_start)) - reinterpret_cast(df_structure); - p_table["growth_end"] = reinterpret_cast(&(df_structure->growth_end)) - reinterpret_cast(df_structure); - p_table["importance"] = reinterpret_cast(&(df_structure->importance)) - reinterpret_cast(df_structure); - p_table["noun"] = reinterpret_cast(&(df_structure->noun)) - reinterpret_cast(df_structure); - p_table["single_plural"] = reinterpret_cast(&(df_structure->single_plural)) - reinterpret_cast(df_structure); - p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); - p_table["id1"] = reinterpret_cast(&(df_structure->id1)) - reinterpret_cast(df_structure); - p_table["body_parts"] = reinterpret_cast(&(df_structure->body_parts)) - reinterpret_cast(df_structure); - p_table["tissue_layer"] = reinterpret_cast(&(df_structure->tissue_layer)) - reinterpret_cast(df_structure); - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); -} - -void generate_caste_clothing_item_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["body_part_id"] = reinterpret_cast(&(df_structure->body_part_id)) - reinterpret_cast(df_structure); - p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); - p_table["item"] = reinterpret_cast(&(df_structure->item)) - reinterpret_cast(df_structure); - p_table["unk_14"] = reinterpret_cast(&(df_structure->unk_14)) - reinterpret_cast(df_structure); - p_table["size"] = reinterpret_cast(&(df_structure->size)) - reinterpret_cast(df_structure); - p_table["permit"] = reinterpret_cast(&(df_structure->permit)) - reinterpret_cast(df_structure); - p_table["unk_38"] = reinterpret_cast(&(df_structure->unk_38)) - reinterpret_cast(df_structure); -} - -void generate_caste_attack_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["verb_3rd"] = reinterpret_cast(&(df_structure->verb_3rd)) - reinterpret_cast(df_structure); - p_table["verb_2nd"] = reinterpret_cast(&(df_structure->verb_2nd)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["specialattack_type"] = reinterpret_cast(&(df_structure->specialattack_type)) - reinterpret_cast(df_structure); - p_table["specialattack_mat_type"] = reinterpret_cast(&(df_structure->specialattack_mat_type)) - reinterpret_cast(df_structure); - p_table["specialattack_mat_index"] = reinterpret_cast(&(df_structure->specialattack_mat_index)) - reinterpret_cast(df_structure); - p_table["specialattack_mat_state"] = reinterpret_cast(&(df_structure->specialattack_mat_state)) - reinterpret_cast(df_structure); - p_table["specialattack_temp_mat"] = reinterpret_cast(&(df_structure->specialattack_temp_mat)) - reinterpret_cast(df_structure); - p_table["specialattack_min"] = reinterpret_cast(&(df_structure->specialattack_min)) - reinterpret_cast(df_structure); - p_table["specialattack_max"] = reinterpret_cast(&(df_structure->specialattack_max)) - reinterpret_cast(df_structure); - p_table["contact_perc"] = reinterpret_cast(&(df_structure->contact_perc)) - reinterpret_cast(df_structure); - p_table["penetration_perc"] = reinterpret_cast(&(df_structure->penetration_perc)) - reinterpret_cast(df_structure); - p_table["unk_v40_1"] = reinterpret_cast(&(df_structure->unk_v40_1)) - reinterpret_cast(df_structure); - p_table["unk_v40_2"] = reinterpret_cast(&(df_structure->unk_v40_2)) - reinterpret_cast(df_structure); - p_table["body_part_idx"] = reinterpret_cast(&(df_structure->body_part_idx)) - reinterpret_cast(df_structure); - p_table["tissue_layer_idx"] = reinterpret_cast(&(df_structure->tissue_layer_idx)) - reinterpret_cast(df_structure); - p_table["skill"] = reinterpret_cast(&(df_structure->skill)) - reinterpret_cast(df_structure); - p_table["velocity_modifier"] = reinterpret_cast(&(df_structure->velocity_modifier)) - reinterpret_cast(df_structure); - p_table["specialattack_interaction_tmp_name"] = reinterpret_cast(&(df_structure->specialattack_interaction_tmp_name)) - reinterpret_cast(df_structure); - p_table["specialattack_interaction_id"] = reinterpret_cast(&(df_structure->specialattack_interaction_id)) - reinterpret_cast(df_structure); - p_table["unk_v40_3"] = reinterpret_cast(&(df_structure->unk_v40_3)) - reinterpret_cast(df_structure); - p_table["unk_v40_4"] = reinterpret_cast(&(df_structure->unk_v40_4)) - reinterpret_cast(df_structure); -} - -void generate_creature_interaction_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["bp_required_type"] = reinterpret_cast(&(df_structure->bp_required_type)) - reinterpret_cast(df_structure); - p_table["bp_required_name"] = reinterpret_cast(&(df_structure->bp_required_name)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["material_str0"] = reinterpret_cast(&(df_structure->material_str0)) - reinterpret_cast(df_structure); - p_table["material_str1"] = reinterpret_cast(&(df_structure->material_str1)) - reinterpret_cast(df_structure); - p_table["material_str2"] = reinterpret_cast(&(df_structure->material_str2)) - reinterpret_cast(df_structure); - p_table["material_breath"] = reinterpret_cast(&(df_structure->material_breath)) - reinterpret_cast(df_structure); - p_table["verb_2nd"] = reinterpret_cast(&(df_structure->verb_2nd)) - reinterpret_cast(df_structure); - p_table["verb_3rd"] = reinterpret_cast(&(df_structure->verb_3rd)) - reinterpret_cast(df_structure); - p_table["verb_mutual"] = reinterpret_cast(&(df_structure->verb_mutual)) - reinterpret_cast(df_structure); - p_table["verb_reverse_2nd"] = reinterpret_cast(&(df_structure->verb_reverse_2nd)) - reinterpret_cast(df_structure); - p_table["verb_reverse_3rd"] = reinterpret_cast(&(df_structure->verb_reverse_3rd)) - reinterpret_cast(df_structure); - p_table["target_verb_2nd"] = reinterpret_cast(&(df_structure->target_verb_2nd)) - reinterpret_cast(df_structure); - p_table["target_verb_3rd"] = reinterpret_cast(&(df_structure->target_verb_3rd)) - reinterpret_cast(df_structure); - p_table["interaction_type"] = reinterpret_cast(&(df_structure->interaction_type)) - reinterpret_cast(df_structure); - p_table["type_id"] = reinterpret_cast(&(df_structure->type_id)) - reinterpret_cast(df_structure); - p_table["usage_hint"] = reinterpret_cast(&(df_structure->usage_hint)) - reinterpret_cast(df_structure); - p_table["location_hint"] = reinterpret_cast(&(df_structure->location_hint)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["target_flags"] = reinterpret_cast(&(df_structure->target_flags)) - reinterpret_cast(df_structure); - p_table["target_ranges"] = reinterpret_cast(&(df_structure->target_ranges)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["max_target_numbers"] = reinterpret_cast(&(df_structure->max_target_numbers)) - reinterpret_cast(df_structure); - p_table["verbal_speeches"] = reinterpret_cast(&(df_structure->verbal_speeches)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["adv_name"] = reinterpret_cast(&(df_structure->adv_name)) - reinterpret_cast(df_structure); - p_table["wait_period"] = reinterpret_cast(&(df_structure->wait_period)) - reinterpret_cast(df_structure); -} - -void generate_caste_body_info__T_interactions_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["interaction"] = reinterpret_cast(&(df_structure->interaction)) - reinterpret_cast(df_structure); -} - -void generate_caste_body_info__T_extra_butcher_objects_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); - p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); - p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); - p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); - p_table["anon_11"] = reinterpret_cast(&(df_structure->anon_11)) - reinterpret_cast(df_structure); - p_table["anon_12"] = reinterpret_cast(&(df_structure->anon_12)) - reinterpret_cast(df_structure); - p_table["anon_13"] = reinterpret_cast(&(df_structure->anon_13)) - reinterpret_cast(df_structure); -} - -void generate_caste_body_info_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["body_parts"] = reinterpret_cast(&(df_structure->body_parts)) - reinterpret_cast(df_structure); - p_table["attacks"] = reinterpret_cast(&(df_structure->attacks)) - reinterpret_cast(df_structure); - p_table["interactions"] = reinterpret_cast(&(df_structure->interactions)) - reinterpret_cast(df_structure); - p_table["extra_butcher_objects"] = reinterpret_cast(&(df_structure->extra_butcher_objects)) - reinterpret_cast(df_structure); - p_table["total_relsize"] = reinterpret_cast(&(df_structure->total_relsize)) - reinterpret_cast(df_structure); - p_table["layer_part"] = reinterpret_cast(&(df_structure->layer_part)) - reinterpret_cast(df_structure); - p_table["layer_idx"] = reinterpret_cast(&(df_structure->layer_idx)) - reinterpret_cast(df_structure); - p_table["numbered_masks"] = reinterpret_cast(&(df_structure->numbered_masks)) - reinterpret_cast(df_structure); - p_table["layer_nonsolid"] = reinterpret_cast(&(df_structure->layer_nonsolid)) - reinterpret_cast(df_structure); - p_table["nonsolid_layers"] = reinterpret_cast(&(df_structure->nonsolid_layers)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["gait_info"] = reinterpret_cast(&(df_structure->gait_info)) - reinterpret_cast(df_structure); - p_table["materials"] = reinterpret_cast(&(df_structure->materials)) - reinterpret_cast(df_structure); - p_table["fraction_total"] = reinterpret_cast(&(df_structure->fraction_total)) - reinterpret_cast(df_structure); - p_table["fraction_base"] = reinterpret_cast(&(df_structure->fraction_base)) - reinterpret_cast(df_structure); - p_table["fraction_fat"] = reinterpret_cast(&(df_structure->fraction_fat)) - reinterpret_cast(df_structure); - p_table["fraction_muscle"] = reinterpret_cast(&(df_structure->fraction_muscle)) - reinterpret_cast(df_structure); - p_table["unk_v40_2"] = reinterpret_cast(&(df_structure->unk_v40_2)) - reinterpret_cast(df_structure); -} - -void generate_caste_raw__T_misc_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["litter_size_min"] = reinterpret_cast(&(df_structure->litter_size_min)) - reinterpret_cast(df_structure); - p_table["litter_size_max"] = reinterpret_cast(&(df_structure->litter_size_max)) - reinterpret_cast(df_structure); - p_table["penetratepower"] = reinterpret_cast(&(df_structure->penetratepower)) - reinterpret_cast(df_structure); - p_table["vermin_bite_chance"] = reinterpret_cast(&(df_structure->vermin_bite_chance)) - reinterpret_cast(df_structure); - p_table["grasstrample"] = reinterpret_cast(&(df_structure->grasstrample)) - reinterpret_cast(df_structure); - p_table["buildingdestroyer"] = reinterpret_cast(&(df_structure->buildingdestroyer)) - reinterpret_cast(df_structure); - p_table["itemcorpse_itemtype"] = reinterpret_cast(&(df_structure->itemcorpse_itemtype)) - reinterpret_cast(df_structure); - p_table["itemcorpse_itemsubtype"] = reinterpret_cast(&(df_structure->itemcorpse_itemsubtype)) - reinterpret_cast(df_structure); - p_table["itemcorpse_materialtype"] = reinterpret_cast(&(df_structure->itemcorpse_materialtype)) - reinterpret_cast(df_structure); - p_table["itemcorpse_materialindex"] = reinterpret_cast(&(df_structure->itemcorpse_materialindex)) - reinterpret_cast(df_structure); - p_table["itemcorpse_quality"] = reinterpret_cast(&(df_structure->itemcorpse_quality)) - reinterpret_cast(df_structure); - p_table["remains_color"] = reinterpret_cast(&(df_structure->remains_color)) - reinterpret_cast(df_structure); - p_table["difficulty"] = reinterpret_cast(&(df_structure->difficulty)) - reinterpret_cast(df_structure); - p_table["caste_glowcolor"] = reinterpret_cast(&(df_structure->caste_glowcolor)) - reinterpret_cast(df_structure); - p_table["beach_frequency"] = reinterpret_cast(&(df_structure->beach_frequency)) - reinterpret_cast(df_structure); - p_table["clutch_size_min"] = reinterpret_cast(&(df_structure->clutch_size_min)) - reinterpret_cast(df_structure); - p_table["clutch_size_max"] = reinterpret_cast(&(df_structure->clutch_size_max)) - reinterpret_cast(df_structure); - p_table["vision_arc_min"] = reinterpret_cast(&(df_structure->vision_arc_min)) - reinterpret_cast(df_structure); - p_table["vision_arc_max"] = reinterpret_cast(&(df_structure->vision_arc_max)) - reinterpret_cast(df_structure); - p_table["speed"] = reinterpret_cast(&(df_structure->speed)) - reinterpret_cast(df_structure); - p_table["modvalue"] = reinterpret_cast(&(df_structure->modvalue)) - reinterpret_cast(df_structure); - p_table["petvalue"] = reinterpret_cast(&(df_structure->petvalue)) - reinterpret_cast(df_structure); - p_table["milkable"] = reinterpret_cast(&(df_structure->milkable)) - reinterpret_cast(df_structure); - p_table["viewrange"] = reinterpret_cast(&(df_structure->viewrange)) - reinterpret_cast(df_structure); - p_table["maxage_min"] = reinterpret_cast(&(df_structure->maxage_min)) - reinterpret_cast(df_structure); - p_table["maxage_max"] = reinterpret_cast(&(df_structure->maxage_max)) - reinterpret_cast(df_structure); - p_table["baby_age"] = reinterpret_cast(&(df_structure->baby_age)) - reinterpret_cast(df_structure); - p_table["child_age"] = reinterpret_cast(&(df_structure->child_age)) - reinterpret_cast(df_structure); - p_table["swim_speed"] = reinterpret_cast(&(df_structure->swim_speed)) - reinterpret_cast(df_structure); - p_table["trade_capacity"] = reinterpret_cast(&(df_structure->trade_capacity)) - reinterpret_cast(df_structure); - p_table["unk4"] = reinterpret_cast(&(df_structure->unk4)) - reinterpret_cast(df_structure); - p_table["pop_ratio"] = reinterpret_cast(&(df_structure->pop_ratio)) - reinterpret_cast(df_structure); - p_table["adult_size"] = reinterpret_cast(&(df_structure->adult_size)) - reinterpret_cast(df_structure); - p_table["bone_mat"] = reinterpret_cast(&(df_structure->bone_mat)) - reinterpret_cast(df_structure); - p_table["bone_matidx"] = reinterpret_cast(&(df_structure->bone_matidx)) - reinterpret_cast(df_structure); - p_table["fish_mat_index"] = reinterpret_cast(&(df_structure->fish_mat_index)) - reinterpret_cast(df_structure); - p_table["egg_mat_index"] = reinterpret_cast(&(df_structure->egg_mat_index)) - reinterpret_cast(df_structure); - p_table["attack_trigger"] = reinterpret_cast(&(df_structure->attack_trigger)) - reinterpret_cast(df_structure); - p_table["egg_size"] = reinterpret_cast(&(df_structure->egg_size)) - reinterpret_cast(df_structure); - p_table["grazer"] = reinterpret_cast(&(df_structure->grazer)) - reinterpret_cast(df_structure); - p_table["petvalue_divisor"] = reinterpret_cast(&(df_structure->petvalue_divisor)) - reinterpret_cast(df_structure); - p_table["prone_to_rage"] = reinterpret_cast(&(df_structure->prone_to_rage)) - reinterpret_cast(df_structure); - p_table["unk6"] = reinterpret_cast(&(df_structure->unk6)) - reinterpret_cast(df_structure); -} - -void generate_caste_raw__T_personality_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["a"] = reinterpret_cast(&(df_structure->a)) - reinterpret_cast(df_structure); - p_table["b"] = reinterpret_cast(&(df_structure->b)) - reinterpret_cast(df_structure); - p_table["c"] = reinterpret_cast(&(df_structure->c)) - reinterpret_cast(df_structure); -} - -void generate_caste_raw__T_attributes_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["phys_att_range"] = reinterpret_cast(&(df_structure->phys_att_range)) - reinterpret_cast(df_structure); - p_table["ment_att_range"] = reinterpret_cast(&(df_structure->ment_att_range)) - reinterpret_cast(df_structure); - p_table["phys_att_rates"] = reinterpret_cast(&(df_structure->phys_att_rates)) - reinterpret_cast(df_structure); - p_table["ment_att_rates"] = reinterpret_cast(&(df_structure->ment_att_rates)) - reinterpret_cast(df_structure); - p_table["phys_att_cap_perc"] = reinterpret_cast(&(df_structure->phys_att_cap_perc)) - reinterpret_cast(df_structure); - p_table["ment_att_cap_perc"] = reinterpret_cast(&(df_structure->ment_att_cap_perc)) - reinterpret_cast(df_structure); -} - -void generate_caste_raw__T_bp_appearance_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["modifiers"] = reinterpret_cast(&(df_structure->modifiers)) - reinterpret_cast(df_structure); - p_table["modifier_idx"] = reinterpret_cast(&(df_structure->modifier_idx)) - reinterpret_cast(df_structure); - p_table["part_idx"] = reinterpret_cast(&(df_structure->part_idx)) - reinterpret_cast(df_structure); - p_table["layer_idx"] = reinterpret_cast(&(df_structure->layer_idx)) - reinterpret_cast(df_structure); - p_table["style_part_idx"] = reinterpret_cast(&(df_structure->style_part_idx)) - reinterpret_cast(df_structure); - p_table["style_layer_idx"] = reinterpret_cast(&(df_structure->style_layer_idx)) - reinterpret_cast(df_structure); - p_table["style_list_idx"] = reinterpret_cast(&(df_structure->style_list_idx)) - reinterpret_cast(df_structure); -} - -void generate_caste_raw__T_shearable_tissue_layer_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk_0"] = reinterpret_cast(&(df_structure->unk_0)) - reinterpret_cast(df_structure); - p_table["unk_1"] = reinterpret_cast(&(df_structure->unk_1)) - reinterpret_cast(df_structure); - p_table["length"] = reinterpret_cast(&(df_structure->length)) - reinterpret_cast(df_structure); - p_table["part_idx"] = reinterpret_cast(&(df_structure->part_idx)) - reinterpret_cast(df_structure); - p_table["layer_idx"] = reinterpret_cast(&(df_structure->layer_idx)) - reinterpret_cast(df_structure); - p_table["bp_modifiers_idx"] = reinterpret_cast(&(df_structure->bp_modifiers_idx)) - reinterpret_cast(df_structure); -} - -void generate_caste_raw__T_caste_profession_name_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["singular"] = reinterpret_cast(&(df_structure->singular)) - reinterpret_cast(df_structure); - p_table["plural"] = reinterpret_cast(&(df_structure->plural)) - reinterpret_cast(df_structure); -} - -void generate_caste_raw__T_extracts_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["extract_mat"] = reinterpret_cast(&(df_structure->extract_mat)) - reinterpret_cast(df_structure); - p_table["extract_matidx"] = reinterpret_cast(&(df_structure->extract_matidx)) - reinterpret_cast(df_structure); - p_table["extract_str"] = reinterpret_cast(&(df_structure->extract_str)) - reinterpret_cast(df_structure); - p_table["milkable_mat"] = reinterpret_cast(&(df_structure->milkable_mat)) - reinterpret_cast(df_structure); - p_table["milkable_matidx"] = reinterpret_cast(&(df_structure->milkable_matidx)) - reinterpret_cast(df_structure); - p_table["milkable_str"] = reinterpret_cast(&(df_structure->milkable_str)) - reinterpret_cast(df_structure); - p_table["webber_mat"] = reinterpret_cast(&(df_structure->webber_mat)) - reinterpret_cast(df_structure); - p_table["webber_matidx"] = reinterpret_cast(&(df_structure->webber_matidx)) - reinterpret_cast(df_structure); - p_table["webber_str"] = reinterpret_cast(&(df_structure->webber_str)) - reinterpret_cast(df_structure); - p_table["vermin_bite_mat"] = reinterpret_cast(&(df_structure->vermin_bite_mat)) - reinterpret_cast(df_structure); - p_table["vermin_bite_matidx"] = reinterpret_cast(&(df_structure->vermin_bite_matidx)) - reinterpret_cast(df_structure); - p_table["vermin_bite_chance"] = reinterpret_cast(&(df_structure->vermin_bite_chance)) - reinterpret_cast(df_structure); - p_table["vermin_bite_str"] = reinterpret_cast(&(df_structure->vermin_bite_str)) - reinterpret_cast(df_structure); - p_table["tendons_mat"] = reinterpret_cast(&(df_structure->tendons_mat)) - reinterpret_cast(df_structure); - p_table["tendons_matidx"] = reinterpret_cast(&(df_structure->tendons_matidx)) - reinterpret_cast(df_structure); - p_table["tendons_str"] = reinterpret_cast(&(df_structure->tendons_str)) - reinterpret_cast(df_structure); - p_table["tendons_heal"] = reinterpret_cast(&(df_structure->tendons_heal)) - reinterpret_cast(df_structure); - p_table["ligaments_mat"] = reinterpret_cast(&(df_structure->ligaments_mat)) - reinterpret_cast(df_structure); - p_table["ligaments_matidx"] = reinterpret_cast(&(df_structure->ligaments_matidx)) - reinterpret_cast(df_structure); - p_table["ligaments_str"] = reinterpret_cast(&(df_structure->ligaments_str)) - reinterpret_cast(df_structure); - p_table["ligaments_heal"] = reinterpret_cast(&(df_structure->ligaments_heal)) - reinterpret_cast(df_structure); - p_table["blood_state"] = reinterpret_cast(&(df_structure->blood_state)) - reinterpret_cast(df_structure); - p_table["blood_mat"] = reinterpret_cast(&(df_structure->blood_mat)) - reinterpret_cast(df_structure); - p_table["blood_matidx"] = reinterpret_cast(&(df_structure->blood_matidx)) - reinterpret_cast(df_structure); - p_table["blood_str"] = reinterpret_cast(&(df_structure->blood_str)) - reinterpret_cast(df_structure); - p_table["pus_state"] = reinterpret_cast(&(df_structure->pus_state)) - reinterpret_cast(df_structure); - p_table["pus_mat"] = reinterpret_cast(&(df_structure->pus_mat)) - reinterpret_cast(df_structure); - p_table["pus_matidx"] = reinterpret_cast(&(df_structure->pus_matidx)) - reinterpret_cast(df_structure); - p_table["pus_str"] = reinterpret_cast(&(df_structure->pus_str)) - reinterpret_cast(df_structure); - p_table["egg_material_mattype"] = reinterpret_cast(&(df_structure->egg_material_mattype)) - reinterpret_cast(df_structure); - p_table["egg_material_matindex"] = reinterpret_cast(&(df_structure->egg_material_matindex)) - reinterpret_cast(df_structure); - p_table["egg_material_str"] = reinterpret_cast(&(df_structure->egg_material_str)) - reinterpret_cast(df_structure); - p_table["lays_unusual_eggs_itemtype"] = reinterpret_cast(&(df_structure->lays_unusual_eggs_itemtype)) - reinterpret_cast(df_structure); - p_table["lays_unusual_eggs_itemsubtype"] = reinterpret_cast(&(df_structure->lays_unusual_eggs_itemsubtype)) - reinterpret_cast(df_structure); - p_table["lays_unusual_eggs_mattype"] = reinterpret_cast(&(df_structure->lays_unusual_eggs_mattype)) - reinterpret_cast(df_structure); - p_table["lays_unusual_eggs_matindex"] = reinterpret_cast(&(df_structure->lays_unusual_eggs_matindex)) - reinterpret_cast(df_structure); - p_table["lays_unusual_eggs_str"] = reinterpret_cast(&(df_structure->lays_unusual_eggs_str)) - reinterpret_cast(df_structure); -} - -void generate_caste_raw__T_secretion_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["mat_state"] = reinterpret_cast(&(df_structure->mat_state)) - reinterpret_cast(df_structure); - p_table["mat_type_str"] = reinterpret_cast(&(df_structure->mat_type_str)) - reinterpret_cast(df_structure); - p_table["mat_index_str"] = reinterpret_cast(&(df_structure->mat_index_str)) - reinterpret_cast(df_structure); - p_table["unk_44"] = reinterpret_cast(&(df_structure->unk_44)) - reinterpret_cast(df_structure); - p_table["body_part_id"] = reinterpret_cast(&(df_structure->body_part_id)) - reinterpret_cast(df_structure); - p_table["layer_id"] = reinterpret_cast(&(df_structure->layer_id)) - reinterpret_cast(df_structure); - p_table["cause"] = reinterpret_cast(&(df_structure->cause)) - reinterpret_cast(df_structure); -} - -void generate_caste_raw__T_unknown2_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk_v4201_1"] = reinterpret_cast(&(df_structure->unk_v4201_1)) - reinterpret_cast(df_structure); - p_table["unk_v4201_2"] = reinterpret_cast(&(df_structure->unk_v4201_2)) - reinterpret_cast(df_structure); - p_table["gobble_vermin_class"] = reinterpret_cast(&(df_structure->gobble_vermin_class)) - reinterpret_cast(df_structure); - p_table["gobble_vermin_creature_1"] = reinterpret_cast(&(df_structure->gobble_vermin_creature_1)) - reinterpret_cast(df_structure); - p_table["gobble_vermin_creature_2"] = reinterpret_cast(&(df_structure->gobble_vermin_creature_2)) - reinterpret_cast(df_structure); - p_table["infect_all"] = reinterpret_cast(&(df_structure->infect_all)) - reinterpret_cast(df_structure); - p_table["infect_local"] = reinterpret_cast(&(df_structure->infect_local)) - reinterpret_cast(df_structure); - p_table["unk23f"] = reinterpret_cast(&(df_structure->unk23f)) - reinterpret_cast(df_structure); - p_table["unk23g"] = reinterpret_cast(&(df_structure->unk23g)) - reinterpret_cast(df_structure); - p_table["unk24_flags"] = reinterpret_cast(&(df_structure->unk24_flags)) - reinterpret_cast(df_structure); - p_table["unk25_flags"] = reinterpret_cast(&(df_structure->unk25_flags)) - reinterpret_cast(df_structure); - p_table["armor_sizes"] = reinterpret_cast(&(df_structure->armor_sizes)) - reinterpret_cast(df_structure); - p_table["pants_sizes"] = reinterpret_cast(&(df_structure->pants_sizes)) - reinterpret_cast(df_structure); - p_table["helm_size"] = reinterpret_cast(&(df_structure->helm_size)) - reinterpret_cast(df_structure); - p_table["shield_sizes"] = reinterpret_cast(&(df_structure->shield_sizes)) - reinterpret_cast(df_structure); - p_table["shoes_sizes"] = reinterpret_cast(&(df_structure->shoes_sizes)) - reinterpret_cast(df_structure); - p_table["gloves_sizes"] = reinterpret_cast(&(df_structure->gloves_sizes)) - reinterpret_cast(df_structure); - p_table["materials"] = reinterpret_cast(&(df_structure->materials)) - reinterpret_cast(df_structure); - p_table["unk_2f20"] = reinterpret_cast(&(df_structure->unk_2f20)) - reinterpret_cast(df_structure); - p_table["unk_2f30"] = reinterpret_cast(&(df_structure->unk_2f30)) - reinterpret_cast(df_structure); - p_table["unk_2f40"] = reinterpret_cast(&(df_structure->unk_2f40)) - reinterpret_cast(df_structure); - p_table["unk_2f50"] = reinterpret_cast(&(df_structure->unk_2f50)) - reinterpret_cast(df_structure); - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); -} - -void generate_caste_raw_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["caste_id"] = reinterpret_cast(&(df_structure->caste_id)) - reinterpret_cast(df_structure); - p_table["caste_name"] = reinterpret_cast(&(df_structure->caste_name)) - reinterpret_cast(df_structure); - p_table["vermin_bite_txt"] = reinterpret_cast(&(df_structure->vermin_bite_txt)) - reinterpret_cast(df_structure); - p_table["gnawer_txt"] = reinterpret_cast(&(df_structure->gnawer_txt)) - reinterpret_cast(df_structure); - p_table["baby_name"] = reinterpret_cast(&(df_structure->baby_name)) - reinterpret_cast(df_structure); - p_table["child_name"] = reinterpret_cast(&(df_structure->child_name)) - reinterpret_cast(df_structure); - p_table["itemcorpse_str"] = reinterpret_cast(&(df_structure->itemcorpse_str)) - reinterpret_cast(df_structure); - p_table["remains"] = reinterpret_cast(&(df_structure->remains)) - reinterpret_cast(df_structure); - p_table["description"] = reinterpret_cast(&(df_structure->description)) - reinterpret_cast(df_structure); - p_table["mannerisms"] = reinterpret_cast(&(df_structure->mannerisms)) - reinterpret_cast(df_structure); - p_table["caste_tile"] = reinterpret_cast(&(df_structure->caste_tile)) - reinterpret_cast(df_structure); - p_table["caste_soldier_tile"] = reinterpret_cast(&(df_structure->caste_soldier_tile)) - reinterpret_cast(df_structure); - p_table["caste_alttile"] = reinterpret_cast(&(df_structure->caste_alttile)) - reinterpret_cast(df_structure); - p_table["caste_soldier_alttile"] = reinterpret_cast(&(df_structure->caste_soldier_alttile)) - reinterpret_cast(df_structure); - p_table["caste_glowtile"] = reinterpret_cast(&(df_structure->caste_glowtile)) - reinterpret_cast(df_structure); - p_table["homeotherm"] = reinterpret_cast(&(df_structure->homeotherm)) - reinterpret_cast(df_structure); - p_table["min_temp"] = reinterpret_cast(&(df_structure->min_temp)) - reinterpret_cast(df_structure); - p_table["max_temp"] = reinterpret_cast(&(df_structure->max_temp)) - reinterpret_cast(df_structure); - p_table["fixed_temp"] = reinterpret_cast(&(df_structure->fixed_temp)) - reinterpret_cast(df_structure); - p_table["caste_color"] = reinterpret_cast(&(df_structure->caste_color)) - reinterpret_cast(df_structure); - p_table["misc"] = reinterpret_cast(&(df_structure->misc)) - reinterpret_cast(df_structure); - p_table["personality"] = reinterpret_cast(&(df_structure->personality)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["index"] = reinterpret_cast(&(df_structure->index)) - reinterpret_cast(df_structure); - p_table["body_info"] = reinterpret_cast(&(df_structure->body_info)) - reinterpret_cast(df_structure); - p_table["caste_speech_1"] = reinterpret_cast(&(df_structure->caste_speech_1)) - reinterpret_cast(df_structure); - p_table["caste_speech_2"] = reinterpret_cast(&(df_structure->caste_speech_2)) - reinterpret_cast(df_structure); - p_table["skill_rates"] = reinterpret_cast(&(df_structure->skill_rates)) - reinterpret_cast(df_structure); - p_table["attributes"] = reinterpret_cast(&(df_structure->attributes)) - reinterpret_cast(df_structure); - p_table["gender"] = reinterpret_cast(&(df_structure->gender)) - reinterpret_cast(df_structure); - p_table["orientation_male"] = reinterpret_cast(&(df_structure->orientation_male)) - reinterpret_cast(df_structure); - p_table["orientation_female"] = reinterpret_cast(&(df_structure->orientation_female)) - reinterpret_cast(df_structure); - p_table["body_size_1"] = reinterpret_cast(&(df_structure->body_size_1)) - reinterpret_cast(df_structure); - p_table["body_size_2"] = reinterpret_cast(&(df_structure->body_size_2)) - reinterpret_cast(df_structure); - p_table["body_appearance_modifiers"] = reinterpret_cast(&(df_structure->body_appearance_modifiers)) - reinterpret_cast(df_structure); - p_table["bp_appearance"] = reinterpret_cast(&(df_structure->bp_appearance)) - reinterpret_cast(df_structure); - p_table["color_modifiers"] = reinterpret_cast(&(df_structure->color_modifiers)) - reinterpret_cast(df_structure); - p_table["tissue_styles"] = reinterpret_cast(&(df_structure->tissue_styles)) - reinterpret_cast(df_structure); - p_table["shearable_tissue_layer"] = reinterpret_cast(&(df_structure->shearable_tissue_layer)) - reinterpret_cast(df_structure); - p_table["unk16a"] = reinterpret_cast(&(df_structure->unk16a)) - reinterpret_cast(df_structure); - p_table["unk16b"] = reinterpret_cast(&(df_structure->unk16b)) - reinterpret_cast(df_structure); - p_table["appearance_gene_count"] = reinterpret_cast(&(df_structure->appearance_gene_count)) - reinterpret_cast(df_structure); - p_table["color_gene_count"] = reinterpret_cast(&(df_structure->color_gene_count)) - reinterpret_cast(df_structure); - p_table["natural_skill_id"] = reinterpret_cast(&(df_structure->natural_skill_id)) - reinterpret_cast(df_structure); - p_table["natural_skill_exp"] = reinterpret_cast(&(df_structure->natural_skill_exp)) - reinterpret_cast(df_structure); - p_table["natural_skill_lvl"] = reinterpret_cast(&(df_structure->natural_skill_lvl)) - reinterpret_cast(df_structure); - p_table["caste_profession_name"] = reinterpret_cast(&(df_structure->caste_profession_name)) - reinterpret_cast(df_structure); - p_table["extracts"] = reinterpret_cast(&(df_structure->extracts)) - reinterpret_cast(df_structure); - p_table["secretion"] = reinterpret_cast(&(df_structure->secretion)) - reinterpret_cast(df_structure); - p_table["creature_class"] = reinterpret_cast(&(df_structure->creature_class)) - reinterpret_cast(df_structure); - p_table["unknown2"] = reinterpret_cast(&(df_structure->unknown2)) - reinterpret_cast(df_structure); - p_table["habit_num"] = reinterpret_cast(&(df_structure->habit_num)) - reinterpret_cast(df_structure); - p_table["habit_1"] = reinterpret_cast(&(df_structure->habit_1)) - reinterpret_cast(df_structure); - p_table["habit_2"] = reinterpret_cast(&(df_structure->habit_2)) - reinterpret_cast(df_structure); - p_table["lair_1"] = reinterpret_cast(&(df_structure->lair_1)) - reinterpret_cast(df_structure); - p_table["lair_2"] = reinterpret_cast(&(df_structure->lair_2)) - reinterpret_cast(df_structure); - p_table["lair_characteristic_1"] = reinterpret_cast(&(df_structure->lair_characteristic_1)) - reinterpret_cast(df_structure); - p_table["lair_characteristic_2"] = reinterpret_cast(&(df_structure->lair_characteristic_2)) - reinterpret_cast(df_structure); - p_table["lair_hunter_speech"] = reinterpret_cast(&(df_structure->lair_hunter_speech)) - reinterpret_cast(df_structure); - p_table["unk29"] = reinterpret_cast(&(df_structure->unk29)) - reinterpret_cast(df_structure); - p_table["specific_food"] = reinterpret_cast(&(df_structure->specific_food)) - reinterpret_cast(df_structure); - p_table["sound"] = reinterpret_cast(&(df_structure->sound)) - reinterpret_cast(df_structure); - p_table["sound_alert"] = reinterpret_cast(&(df_structure->sound_alert)) - reinterpret_cast(df_structure); - p_table["sound_peaceful_intermittent"] = reinterpret_cast(&(df_structure->sound_peaceful_intermittent)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["smell_trigger"] = reinterpret_cast(&(df_structure->smell_trigger)) - reinterpret_cast(df_structure); - p_table["odor_level"] = reinterpret_cast(&(df_structure->odor_level)) - reinterpret_cast(df_structure); - p_table["odor_string"] = reinterpret_cast(&(df_structure->odor_string)) - reinterpret_cast(df_structure); - p_table["low_light_vision"] = reinterpret_cast(&(df_structure->low_light_vision)) - reinterpret_cast(df_structure); - p_table["sense_creature_class_1"] = reinterpret_cast(&(df_structure->sense_creature_class_1)) - reinterpret_cast(df_structure); - p_table["sense_creature_class_2"] = reinterpret_cast(&(df_structure->sense_creature_class_2)) - reinterpret_cast(df_structure); - p_table["sense_creature_class_3"] = reinterpret_cast(&(df_structure->sense_creature_class_3)) - reinterpret_cast(df_structure); - p_table["sense_creature_class_4"] = reinterpret_cast(&(df_structure->sense_creature_class_4)) - reinterpret_cast(df_structure); - p_table["sense_creature_class_5"] = reinterpret_cast(&(df_structure->sense_creature_class_5)) - reinterpret_cast(df_structure); -} - -void generate_tissue_style_raw_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["token"] = reinterpret_cast(&(df_structure->token)) - reinterpret_cast(df_structure); - p_table["part_idx"] = reinterpret_cast(&(df_structure->part_idx)) - reinterpret_cast(df_structure); - p_table["layer_idx"] = reinterpret_cast(&(df_structure->layer_idx)) - reinterpret_cast(df_structure); - p_table["styles"] = reinterpret_cast(&(df_structure->styles)) - reinterpret_cast(df_structure); - p_table["list_idx"] = reinterpret_cast(&(df_structure->list_idx)) - reinterpret_cast(df_structure); - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["noun"] = reinterpret_cast(&(df_structure->noun)) - reinterpret_cast(df_structure); - p_table["word_type"] = reinterpret_cast(&(df_structure->word_type)) - reinterpret_cast(df_structure); -} - -void generate_creature_raw__T_graphics_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["texpos"] = reinterpret_cast(&(df_structure->texpos)) - reinterpret_cast(df_structure); - p_table["texpos_gs"] = reinterpret_cast(&(df_structure->texpos_gs)) - reinterpret_cast(df_structure); - p_table["entity_link_texpos"] = reinterpret_cast(&(df_structure->entity_link_texpos)) - reinterpret_cast(df_structure); - p_table["entity_link_texpos_gs"] = reinterpret_cast(&(df_structure->entity_link_texpos_gs)) - reinterpret_cast(df_structure); - p_table["site_link_texpos"] = reinterpret_cast(&(df_structure->site_link_texpos)) - reinterpret_cast(df_structure); - p_table["site_link_texpos_gs"] = reinterpret_cast(&(df_structure->site_link_texpos_gs)) - reinterpret_cast(df_structure); - p_table["profession_texpos"] = reinterpret_cast(&(df_structure->profession_texpos)) - reinterpret_cast(df_structure); - p_table["profession_texpos_gs"] = reinterpret_cast(&(df_structure->profession_texpos_gs)) - reinterpret_cast(df_structure); - p_table["add_color"] = reinterpret_cast(&(df_structure->add_color)) - reinterpret_cast(df_structure); - p_table["entity_link_add_color"] = reinterpret_cast(&(df_structure->entity_link_add_color)) - reinterpret_cast(df_structure); - p_table["site_link_add_color"] = reinterpret_cast(&(df_structure->site_link_add_color)) - reinterpret_cast(df_structure); - p_table["profession_add_color"] = reinterpret_cast(&(df_structure->profession_add_color)) - reinterpret_cast(df_structure); - p_table["appointments"] = reinterpret_cast(&(df_structure->appointments)) - reinterpret_cast(df_structure); -} - -void generate_creature_raw__T_profession_name_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["singular"] = reinterpret_cast(&(df_structure->singular)) - reinterpret_cast(df_structure); - p_table["plural"] = reinterpret_cast(&(df_structure->plural)) - reinterpret_cast(df_structure); -} - -void generate_creature_raw__T_hive_product_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["number"] = reinterpret_cast(&(df_structure->number)) - reinterpret_cast(df_structure); - p_table["time"] = reinterpret_cast(&(df_structure->time)) - reinterpret_cast(df_structure); - p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); - p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); - p_table["material"] = reinterpret_cast(&(df_structure->material)) - reinterpret_cast(df_structure); - p_table["tmpstr"] = reinterpret_cast(&(df_structure->tmpstr)) - reinterpret_cast(df_structure); -} - -void generate_creature_raw_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["creature_id"] = reinterpret_cast(&(df_structure->creature_id)) - reinterpret_cast(df_structure); - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["general_baby_name"] = reinterpret_cast(&(df_structure->general_baby_name)) - reinterpret_cast(df_structure); - p_table["general_child_name"] = reinterpret_cast(&(df_structure->general_child_name)) - reinterpret_cast(df_structure); - p_table["unk_v43_1"] = reinterpret_cast(&(df_structure->unk_v43_1)) - reinterpret_cast(df_structure); - p_table["creature_tile"] = reinterpret_cast(&(df_structure->creature_tile)) - reinterpret_cast(df_structure); - p_table["creature_soldier_tile"] = reinterpret_cast(&(df_structure->creature_soldier_tile)) - reinterpret_cast(df_structure); - p_table["alttile"] = reinterpret_cast(&(df_structure->alttile)) - reinterpret_cast(df_structure); - p_table["soldier_alttile"] = reinterpret_cast(&(df_structure->soldier_alttile)) - reinterpret_cast(df_structure); - p_table["glowtile"] = reinterpret_cast(&(df_structure->glowtile)) - reinterpret_cast(df_structure); - p_table["temperature1"] = reinterpret_cast(&(df_structure->temperature1)) - reinterpret_cast(df_structure); - p_table["temperature2"] = reinterpret_cast(&(df_structure->temperature2)) - reinterpret_cast(df_structure); - p_table["frequency"] = reinterpret_cast(&(df_structure->frequency)) - reinterpret_cast(df_structure); - p_table["population_number"] = reinterpret_cast(&(df_structure->population_number)) - reinterpret_cast(df_structure); - p_table["cluster_number"] = reinterpret_cast(&(df_structure->cluster_number)) - reinterpret_cast(df_structure); - p_table["triggerable_group"] = reinterpret_cast(&(df_structure->triggerable_group)) - reinterpret_cast(df_structure); - p_table["color"] = reinterpret_cast(&(df_structure->color)) - reinterpret_cast(df_structure); - p_table["glowcolor"] = reinterpret_cast(&(df_structure->glowcolor)) - reinterpret_cast(df_structure); - p_table["adultsize"] = reinterpret_cast(&(df_structure->adultsize)) - reinterpret_cast(df_structure); - p_table["prefstring"] = reinterpret_cast(&(df_structure->prefstring)) - reinterpret_cast(df_structure); - p_table["sphere"] = reinterpret_cast(&(df_structure->sphere)) - reinterpret_cast(df_structure); - p_table["caste"] = reinterpret_cast(&(df_structure->caste)) - reinterpret_cast(df_structure); - p_table["pop_ratio"] = reinterpret_cast(&(df_structure->pop_ratio)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["graphics"] = reinterpret_cast(&(df_structure->graphics)) - reinterpret_cast(df_structure); - p_table["speech1"] = reinterpret_cast(&(df_structure->speech1)) - reinterpret_cast(df_structure); - p_table["speech2"] = reinterpret_cast(&(df_structure->speech2)) - reinterpret_cast(df_structure); - p_table["speech3"] = reinterpret_cast(&(df_structure->speech3)) - reinterpret_cast(df_structure); - p_table["material"] = reinterpret_cast(&(df_structure->material)) - reinterpret_cast(df_structure); - p_table["tissue"] = reinterpret_cast(&(df_structure->tissue)) - reinterpret_cast(df_structure); - p_table["profession_name"] = reinterpret_cast(&(df_structure->profession_name)) - reinterpret_cast(df_structure); - p_table["underground_layer_min"] = reinterpret_cast(&(df_structure->underground_layer_min)) - reinterpret_cast(df_structure); - p_table["underground_layer_max"] = reinterpret_cast(&(df_structure->underground_layer_max)) - reinterpret_cast(df_structure); - p_table["modifier_class"] = reinterpret_cast(&(df_structure->modifier_class)) - reinterpret_cast(df_structure); - p_table["modifier_num_patterns"] = reinterpret_cast(&(df_structure->modifier_num_patterns)) - reinterpret_cast(df_structure); - p_table["hive_product"] = reinterpret_cast(&(df_structure->hive_product)) - reinterpret_cast(df_structure); - p_table["source_hfid"] = reinterpret_cast(&(df_structure->source_hfid)) - reinterpret_cast(df_structure); - p_table["unk_v4201_1"] = reinterpret_cast(&(df_structure->unk_v4201_1)) - reinterpret_cast(df_structure); - p_table["next_modifier_id"] = reinterpret_cast(&(df_structure->next_modifier_id)) - reinterpret_cast(df_structure); - p_table["raws"] = reinterpret_cast(&(df_structure->raws)) - reinterpret_cast(df_structure); -} - -void generate_creature_variation_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["cv_convert_tag"] = reinterpret_cast(&(df_structure->cv_convert_tag)) - reinterpret_cast(df_structure); - p_table["cv_new_tag"] = reinterpret_cast(&(df_structure->cv_new_tag)) - reinterpret_cast(df_structure); - p_table["cv_new_unk_v40_1"] = reinterpret_cast(&(df_structure->cv_new_unk_v40_1)) - reinterpret_cast(df_structure); - p_table["cv_new_unk_v40_2"] = reinterpret_cast(&(df_structure->cv_new_unk_v40_2)) - reinterpret_cast(df_structure); - p_table["cv_remove_tag"] = reinterpret_cast(&(df_structure->cv_remove_tag)) - reinterpret_cast(df_structure); - p_table["cv_remove_unk_v40_1"] = reinterpret_cast(&(df_structure->cv_remove_unk_v40_1)) - reinterpret_cast(df_structure); - p_table["cv_remove_unk_v40_2"] = reinterpret_cast(&(df_structure->cv_remove_unk_v40_2)) - reinterpret_cast(df_structure); -} - -void generate_body_part_template_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["con"] = reinterpret_cast(&(df_structure->con)) - reinterpret_cast(df_structure); - p_table["category"] = reinterpret_cast(&(df_structure->category)) - reinterpret_cast(df_structure); - p_table["con_cat"] = reinterpret_cast(&(df_structure->con_cat)) - reinterpret_cast(df_structure); - p_table["contype"] = reinterpret_cast(&(df_structure->contype)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["default_relsize"] = reinterpret_cast(&(df_structure->default_relsize)) - reinterpret_cast(df_structure); - p_table["number"] = reinterpret_cast(&(df_structure->number)) - reinterpret_cast(df_structure); - p_table["name_singular"] = reinterpret_cast(&(df_structure->name_singular)) - reinterpret_cast(df_structure); - p_table["name_plural"] = reinterpret_cast(&(df_structure->name_plural)) - reinterpret_cast(df_structure); -} - -void generate_body_template_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["parts"] = reinterpret_cast(&(df_structure->parts)) - reinterpret_cast(df_structure); -} - -void generate_tissue_template_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["tissue_name_singular"] = reinterpret_cast(&(df_structure->tissue_name_singular)) - reinterpret_cast(df_structure); - p_table["tissue_name_plural"] = reinterpret_cast(&(df_structure->tissue_name_plural)) - reinterpret_cast(df_structure); - p_table["tissue_material_str"] = reinterpret_cast(&(df_structure->tissue_material_str)) - reinterpret_cast(df_structure); - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["relative_thickness"] = reinterpret_cast(&(df_structure->relative_thickness)) - reinterpret_cast(df_structure); - p_table["healing_rate"] = reinterpret_cast(&(df_structure->healing_rate)) - reinterpret_cast(df_structure); - p_table["vascular"] = reinterpret_cast(&(df_structure->vascular)) - reinterpret_cast(df_structure); - p_table["pain_receptors"] = reinterpret_cast(&(df_structure->pain_receptors)) - reinterpret_cast(df_structure); - p_table["tissue_shape"] = reinterpret_cast(&(df_structure->tissue_shape)) - reinterpret_cast(df_structure); - p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); - p_table["insulation"] = reinterpret_cast(&(df_structure->insulation)) - reinterpret_cast(df_structure); - p_table["subordinate_to_tissue"] = reinterpret_cast(&(df_structure->subordinate_to_tissue)) - reinterpret_cast(df_structure); - p_table["tissue_mat_state"] = reinterpret_cast(&(df_structure->tissue_mat_state)) - reinterpret_cast(df_structure); - p_table["tissue_shape_str"] = reinterpret_cast(&(df_structure->tissue_shape_str)) - reinterpret_cast(df_structure); -} - -void generate_tissue_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["tissue_name_singular"] = reinterpret_cast(&(df_structure->tissue_name_singular)) - reinterpret_cast(df_structure); - p_table["tissue_name_plural"] = reinterpret_cast(&(df_structure->tissue_name_plural)) - reinterpret_cast(df_structure); - p_table["tissue_material_str"] = reinterpret_cast(&(df_structure->tissue_material_str)) - reinterpret_cast(df_structure); - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["relative_thickness"] = reinterpret_cast(&(df_structure->relative_thickness)) - reinterpret_cast(df_structure); - p_table["healing_rate"] = reinterpret_cast(&(df_structure->healing_rate)) - reinterpret_cast(df_structure); - p_table["vascular"] = reinterpret_cast(&(df_structure->vascular)) - reinterpret_cast(df_structure); - p_table["pain_receptors"] = reinterpret_cast(&(df_structure->pain_receptors)) - reinterpret_cast(df_structure); - p_table["tissue_shape"] = reinterpret_cast(&(df_structure->tissue_shape)) - reinterpret_cast(df_structure); - p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); - p_table["insulation"] = reinterpret_cast(&(df_structure->insulation)) - reinterpret_cast(df_structure); - p_table["subordinate_to_tissue"] = reinterpret_cast(&(df_structure->subordinate_to_tissue)) - reinterpret_cast(df_structure); - p_table["parent_tissue"] = reinterpret_cast(&(df_structure->parent_tissue)) - reinterpret_cast(df_structure); - p_table["tissue_mat_state"] = reinterpret_cast(&(df_structure->tissue_mat_state)) - reinterpret_cast(df_structure); - p_table["heatdam_point"] = reinterpret_cast(&(df_structure->heatdam_point)) - reinterpret_cast(df_structure); - p_table["colddam_point"] = reinterpret_cast(&(df_structure->colddam_point)) - reinterpret_cast(df_structure); - p_table["ignite_point"] = reinterpret_cast(&(df_structure->ignite_point)) - reinterpret_cast(df_structure); - p_table["melting_point"] = reinterpret_cast(&(df_structure->melting_point)) - reinterpret_cast(df_structure); - p_table["boiling_point"] = reinterpret_cast(&(df_structure->boiling_point)) - reinterpret_cast(df_structure); - p_table["spec_heat"] = reinterpret_cast(&(df_structure->spec_heat)) - reinterpret_cast(df_structure); - p_table["tissue_shape_str"] = reinterpret_cast(&(df_structure->tissue_shape_str)) - reinterpret_cast(df_structure); -} - -void generate_d_init__T_wound_color_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["none"] = reinterpret_cast(&(df_structure->none)) - reinterpret_cast(df_structure); - p_table["minor"] = reinterpret_cast(&(df_structure->minor)) - reinterpret_cast(df_structure); - p_table["inhibited"] = reinterpret_cast(&(df_structure->inhibited)) - reinterpret_cast(df_structure); - p_table["function_loss"] = reinterpret_cast(&(df_structure->function_loss)) - reinterpret_cast(df_structure); - p_table["broken"] = reinterpret_cast(&(df_structure->broken)) - reinterpret_cast(df_structure); - p_table["missing"] = reinterpret_cast(&(df_structure->missing)) - reinterpret_cast(df_structure); -} - -void generate_d_init__T_store_dist_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["item_decrease"] = reinterpret_cast(&(df_structure->item_decrease)) - reinterpret_cast(df_structure); - p_table["seed_combine"] = reinterpret_cast(&(df_structure->seed_combine)) - reinterpret_cast(df_structure); - p_table["bucket_combine"] = reinterpret_cast(&(df_structure->bucket_combine)) - reinterpret_cast(df_structure); - p_table["barrel_combine"] = reinterpret_cast(&(df_structure->barrel_combine)) - reinterpret_cast(df_structure); - p_table["bin_combine"] = reinterpret_cast(&(df_structure->bin_combine)) - reinterpret_cast(df_structure); -} - -void generate_d_init_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["flags1"] = reinterpret_cast(&(df_structure->flags1)) - reinterpret_cast(df_structure); - p_table["nickname"] = reinterpret_cast(&(df_structure->nickname)) - reinterpret_cast(df_structure); - p_table["sky_tile"] = reinterpret_cast(&(df_structure->sky_tile)) - reinterpret_cast(df_structure); - p_table["sky_color"] = reinterpret_cast(&(df_structure->sky_color)) - reinterpret_cast(df_structure); - p_table["chasm_tile"] = reinterpret_cast(&(df_structure->chasm_tile)) - reinterpret_cast(df_structure); - p_table["pillar_tile"] = reinterpret_cast(&(df_structure->pillar_tile)) - reinterpret_cast(df_structure); - p_table["track_tiles"] = reinterpret_cast(&(df_structure->track_tiles)) - reinterpret_cast(df_structure); - p_table["track_tile_invert"] = reinterpret_cast(&(df_structure->track_tile_invert)) - reinterpret_cast(df_structure); - p_table["track_ramp_tiles"] = reinterpret_cast(&(df_structure->track_ramp_tiles)) - reinterpret_cast(df_structure); - p_table["track_ramp_invert"] = reinterpret_cast(&(df_structure->track_ramp_invert)) - reinterpret_cast(df_structure); - p_table["tree_tiles"] = reinterpret_cast(&(df_structure->tree_tiles)) - reinterpret_cast(df_structure); - p_table["chasm_color"] = reinterpret_cast(&(df_structure->chasm_color)) - reinterpret_cast(df_structure); - p_table["wound_color"] = reinterpret_cast(&(df_structure->wound_color)) - reinterpret_cast(df_structure); - p_table["idlers"] = reinterpret_cast(&(df_structure->idlers)) - reinterpret_cast(df_structure); - p_table["show_embark_tunnel"] = reinterpret_cast(&(df_structure->show_embark_tunnel)) - reinterpret_cast(df_structure); - p_table["flags2"] = reinterpret_cast(&(df_structure->flags2)) - reinterpret_cast(df_structure); - p_table["display_length"] = reinterpret_cast(&(df_structure->display_length)) - reinterpret_cast(df_structure); - p_table["adventurer_z_view"] = reinterpret_cast(&(df_structure->adventurer_z_view)) - reinterpret_cast(df_structure); - p_table["adventurer_z_view_size"] = reinterpret_cast(&(df_structure->adventurer_z_view_size)) - reinterpret_cast(df_structure); - p_table["flags3"] = reinterpret_cast(&(df_structure->flags3)) - reinterpret_cast(df_structure); - p_table["population_cap"] = reinterpret_cast(&(df_structure->population_cap)) - reinterpret_cast(df_structure); - p_table["strict_population_cap"] = reinterpret_cast(&(df_structure->strict_population_cap)) - reinterpret_cast(df_structure); - p_table["baby_cap_absolute"] = reinterpret_cast(&(df_structure->baby_cap_absolute)) - reinterpret_cast(df_structure); - p_table["baby_cap_percent"] = reinterpret_cast(&(df_structure->baby_cap_percent)) - reinterpret_cast(df_structure); - p_table["visitor_cap"] = reinterpret_cast(&(df_structure->visitor_cap)) - reinterpret_cast(df_structure); - p_table["specific_seed_cap"] = reinterpret_cast(&(df_structure->specific_seed_cap)) - reinterpret_cast(df_structure); - p_table["fortress_seed_cap"] = reinterpret_cast(&(df_structure->fortress_seed_cap)) - reinterpret_cast(df_structure); - p_table["invasion_soldier_cap"] = reinterpret_cast(&(df_structure->invasion_soldier_cap)) - reinterpret_cast(df_structure); - p_table["invasion_monster_cap"] = reinterpret_cast(&(df_structure->invasion_monster_cap)) - reinterpret_cast(df_structure); - p_table["path_cost"] = reinterpret_cast(&(df_structure->path_cost)) - reinterpret_cast(df_structure); - p_table["embark_rect"] = reinterpret_cast(&(df_structure->embark_rect)) - reinterpret_cast(df_structure); - p_table["store_dist"] = reinterpret_cast(&(df_structure->store_dist)) - reinterpret_cast(df_structure); - p_table["set_labor_lists"] = reinterpret_cast(&(df_structure->set_labor_lists)) - reinterpret_cast(df_structure); - p_table["graze_coefficient"] = reinterpret_cast(&(df_structure->graze_coefficient)) - reinterpret_cast(df_structure); - p_table["flags4"] = reinterpret_cast(&(df_structure->flags4)) - reinterpret_cast(df_structure); - p_table["post_prepare_embark_confirmation"] = reinterpret_cast(&(df_structure->post_prepare_embark_confirmation)) - reinterpret_cast(df_structure); - p_table["announcements"] = reinterpret_cast(&(df_structure->announcements)) - reinterpret_cast(df_structure); -} - -void generate_descriptor_pattern_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["colors"] = reinterpret_cast(&(df_structure->colors)) - reinterpret_cast(df_structure); - p_table["pattern"] = reinterpret_cast(&(df_structure->pattern)) - reinterpret_cast(df_structure); - p_table["cp_color"] = reinterpret_cast(&(df_structure->cp_color)) - reinterpret_cast(df_structure); -} - -void generate_entity_occasion_info_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["occasions"] = reinterpret_cast(&(df_structure->occasions)) - reinterpret_cast(df_structure); - p_table["next_occasion_id"] = reinterpret_cast(&(df_structure->next_occasion_id)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); -} - -void generate_entity_occasion_schedule_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["reference"] = reinterpret_cast(&(df_structure->reference)) - reinterpret_cast(df_structure); - p_table["reference2"] = reinterpret_cast(&(df_structure->reference2)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["features"] = reinterpret_cast(&(df_structure->features)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); -} - -void generate_entity_occasion_schedule_feature_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["feature"] = reinterpret_cast(&(df_structure->feature)) - reinterpret_cast(df_structure); - p_table["reference"] = reinterpret_cast(&(df_structure->reference)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); -} - -void generate_caravan_state_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["total_capacity"] = reinterpret_cast(&(df_structure->total_capacity)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["trade_state"] = reinterpret_cast(&(df_structure->trade_state)) - reinterpret_cast(df_structure); - p_table["depot_notified"] = reinterpret_cast(&(df_structure->depot_notified)) - reinterpret_cast(df_structure); - p_table["time_remaining"] = reinterpret_cast(&(df_structure->time_remaining)) - reinterpret_cast(df_structure); - p_table["entity"] = reinterpret_cast(&(df_structure->entity)) - reinterpret_cast(df_structure); - p_table["activity_stats"] = reinterpret_cast(&(df_structure->activity_stats)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["import_value"] = reinterpret_cast(&(df_structure->import_value)) - reinterpret_cast(df_structure); - p_table["export_value_total"] = reinterpret_cast(&(df_structure->export_value_total)) - reinterpret_cast(df_structure); - p_table["export_value_personal"] = reinterpret_cast(&(df_structure->export_value_personal)) - reinterpret_cast(df_structure); - p_table["offer_value"] = reinterpret_cast(&(df_structure->offer_value)) - reinterpret_cast(df_structure); - p_table["animals"] = reinterpret_cast(&(df_structure->animals)) - reinterpret_cast(df_structure); - p_table["sell_prices"] = reinterpret_cast(&(df_structure->sell_prices)) - reinterpret_cast(df_structure); - p_table["buy_prices"] = reinterpret_cast(&(df_structure->buy_prices)) - reinterpret_cast(df_structure); - p_table["goods"] = reinterpret_cast(&(df_structure->goods)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); -} - -void generate_entity_buy_prices_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["items"] = reinterpret_cast(&(df_structure->items)) - reinterpret_cast(df_structure); - p_table["price"] = reinterpret_cast(&(df_structure->price)) - reinterpret_cast(df_structure); -} - -void generate_entity_buy_requests_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); - p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); - p_table["mat_types"] = reinterpret_cast(&(df_structure->mat_types)) - reinterpret_cast(df_structure); - p_table["mat_indices"] = reinterpret_cast(&(df_structure->mat_indices)) - reinterpret_cast(df_structure); - p_table["mat_cats"] = reinterpret_cast(&(df_structure->mat_cats)) - reinterpret_cast(df_structure); - p_table["priority"] = reinterpret_cast(&(df_structure->priority)) - reinterpret_cast(df_structure); -} - -void generate_entity_sell_prices_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["items"] = reinterpret_cast(&(df_structure->items)) - reinterpret_cast(df_structure); - p_table["price"] = reinterpret_cast(&(df_structure->price)) - reinterpret_cast(df_structure); -} - -void generate_entity_recipe_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["subtype"] = reinterpret_cast(&(df_structure->subtype)) - reinterpret_cast(df_structure); - p_table["item_types"] = reinterpret_cast(&(df_structure->item_types)) - reinterpret_cast(df_structure); - p_table["item_subtypes"] = reinterpret_cast(&(df_structure->item_subtypes)) - reinterpret_cast(df_structure); - p_table["mat_types"] = reinterpret_cast(&(df_structure->mat_types)) - reinterpret_cast(df_structure); - p_table["mat_indices"] = reinterpret_cast(&(df_structure->mat_indices)) - reinterpret_cast(df_structure); -} - -void generate_entity_uniform_item_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["random_dye"] = reinterpret_cast(&(df_structure->random_dye)) - reinterpret_cast(df_structure); - p_table["armorlevel"] = reinterpret_cast(&(df_structure->armorlevel)) - reinterpret_cast(df_structure); - p_table["item_color"] = reinterpret_cast(&(df_structure->item_color)) - reinterpret_cast(df_structure); - p_table["art_image_id"] = reinterpret_cast(&(df_structure->art_image_id)) - reinterpret_cast(df_structure); - p_table["art_image_subid"] = reinterpret_cast(&(df_structure->art_image_subid)) - reinterpret_cast(df_structure); - p_table["image_thread_color"] = reinterpret_cast(&(df_structure->image_thread_color)) - reinterpret_cast(df_structure); - p_table["image_material_class"] = reinterpret_cast(&(df_structure->image_material_class)) - reinterpret_cast(df_structure); - p_table["maker_race"] = reinterpret_cast(&(df_structure->maker_race)) - reinterpret_cast(df_structure); - p_table["indiv_choice"] = reinterpret_cast(&(df_structure->indiv_choice)) - reinterpret_cast(df_structure); - p_table["mattype"] = reinterpret_cast(&(df_structure->mattype)) - reinterpret_cast(df_structure); - p_table["matindex"] = reinterpret_cast(&(df_structure->matindex)) - reinterpret_cast(df_structure); - p_table["material_class"] = reinterpret_cast(&(df_structure->material_class)) - reinterpret_cast(df_structure); -} - -void generate_entity_uniform_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); - p_table["uniform_item_types"] = reinterpret_cast(&(df_structure->uniform_item_types)) - reinterpret_cast(df_structure); - p_table["uniform_item_subtypes"] = reinterpret_cast(&(df_structure->uniform_item_subtypes)) - reinterpret_cast(df_structure); - p_table["uniform_item_info"] = reinterpret_cast(&(df_structure->uniform_item_info)) - reinterpret_cast(df_structure); - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); -} - -void generate_entity_event__T_data__T_invasion_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["entity_id"] = reinterpret_cast(&(df_structure->entity_id)) - reinterpret_cast(df_structure); - p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); -} - -void generate_entity_event__T_data__T_abduction_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["histfig_id"] = reinterpret_cast(&(df_structure->histfig_id)) - reinterpret_cast(df_structure); - p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); - p_table["abductor_id"] = reinterpret_cast(&(df_structure->abductor_id)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_entity_event__T_data__T_incident_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["incident_id"] = reinterpret_cast(&(df_structure->incident_id)) - reinterpret_cast(df_structure); -} - -void generate_entity_event__T_data__T_occupation_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); - p_table["entity_id"] = reinterpret_cast(&(df_structure->entity_id)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); -} - -void generate_entity_event__T_data__T_beast_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["histfig_id"] = reinterpret_cast(&(df_structure->histfig_id)) - reinterpret_cast(df_structure); - p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); - p_table["region_id"] = reinterpret_cast(&(df_structure->region_id)) - reinterpret_cast(df_structure); -} - -void generate_entity_event__T_data__T_group_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["entity_id"] = reinterpret_cast(&(df_structure->entity_id)) - reinterpret_cast(df_structure); - p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); -} - -void generate_entity_event__T_data__T_harass_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["entity_id"] = reinterpret_cast(&(df_structure->entity_id)) - reinterpret_cast(df_structure); - p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_entity_event__T_data__T_flee_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["refugee_entity_id"] = reinterpret_cast(&(df_structure->refugee_entity_id)) - reinterpret_cast(df_structure); - p_table["from_site_id"] = reinterpret_cast(&(df_structure->from_site_id)) - reinterpret_cast(df_structure); - p_table["army_entity_id"] = reinterpret_cast(&(df_structure->army_entity_id)) - reinterpret_cast(df_structure); - p_table["army_leader_hf_id"] = reinterpret_cast(&(df_structure->army_leader_hf_id)) - reinterpret_cast(df_structure); -} - -void generate_entity_event__T_data__T_abandon_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["entity_id"] = reinterpret_cast(&(df_structure->entity_id)) - reinterpret_cast(df_structure); - p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); - p_table["parent_entity_id"] = reinterpret_cast(&(df_structure->parent_entity_id)) - reinterpret_cast(df_structure); -} - -void generate_entity_event__T_data__T_reclaimed_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["behalf_entity_id"] = reinterpret_cast(&(df_structure->behalf_entity_id)) - reinterpret_cast(df_structure); - p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); - p_table["reclaimer_entity_id"] = reinterpret_cast(&(df_structure->reclaimer_entity_id)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_entity_event__T_data__T_founded_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["entity_id"] = reinterpret_cast(&(df_structure->entity_id)) - reinterpret_cast(df_structure); - p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); - p_table["parent_entity_id"] = reinterpret_cast(&(df_structure->parent_entity_id)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_entity_event__T_data__T_reclaiming_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["entity_id"] = reinterpret_cast(&(df_structure->entity_id)) - reinterpret_cast(df_structure); - p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); -} - -void generate_entity_event__T_data__T_founding_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["entity_id"] = reinterpret_cast(&(df_structure->entity_id)) - reinterpret_cast(df_structure); - p_table["region_id"] = reinterpret_cast(&(df_structure->region_id)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); -} - -void generate_entity_event__T_data__T_leave_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["entity_id"] = reinterpret_cast(&(df_structure->entity_id)) - reinterpret_cast(df_structure); - p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); -} - -void generate_entity_event__T_data__T_insurrection_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); - p_table["entity_id"] = reinterpret_cast(&(df_structure->entity_id)) - reinterpret_cast(df_structure); -} - -void generate_entity_event__T_data__T_insurrection_end_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); - p_table["entity_id"] = reinterpret_cast(&(df_structure->entity_id)) - reinterpret_cast(df_structure); - p_table["result"] = reinterpret_cast(&(df_structure->result)) - reinterpret_cast(df_structure); -} - -void generate_entity_event__T_data__T_succession_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["histfig_id"] = reinterpret_cast(&(df_structure->histfig_id)) - reinterpret_cast(df_structure); - p_table["former_histfig_id"] = reinterpret_cast(&(df_structure->former_histfig_id)) - reinterpret_cast(df_structure); - p_table["entity_id"] = reinterpret_cast(&(df_structure->entity_id)) - reinterpret_cast(df_structure); - p_table["position_assignment_id"] = reinterpret_cast(&(df_structure->position_assignment_id)) - reinterpret_cast(df_structure); -} - -void generate_entity_event__T_data__T_claim_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["entity_id"] = reinterpret_cast(&(df_structure->entity_id)) - reinterpret_cast(df_structure); - p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); - p_table["histfig_id"] = reinterpret_cast(&(df_structure->histfig_id)) - reinterpret_cast(df_structure); -} - -void generate_entity_event__T_data__T_accept_tribute_offer_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["entity1_id"] = reinterpret_cast(&(df_structure->entity1_id)) - reinterpret_cast(df_structure); - p_table["histfig1_id"] = reinterpret_cast(&(df_structure->histfig1_id)) - reinterpret_cast(df_structure); - p_table["entity2_id"] = reinterpret_cast(&(df_structure->entity2_id)) - reinterpret_cast(df_structure); - p_table["histfig2_id"] = reinterpret_cast(&(df_structure->histfig2_id)) - reinterpret_cast(df_structure); -} - -void generate_entity_event__T_data__T_refuse_tribute_offer_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["entity1_id"] = reinterpret_cast(&(df_structure->entity1_id)) - reinterpret_cast(df_structure); - p_table["histfig1_id"] = reinterpret_cast(&(df_structure->histfig1_id)) - reinterpret_cast(df_structure); - p_table["entity2_id"] = reinterpret_cast(&(df_structure->entity2_id)) - reinterpret_cast(df_structure); - p_table["histfig2_id"] = reinterpret_cast(&(df_structure->histfig2_id)) - reinterpret_cast(df_structure); -} - -void generate_entity_event__T_data__T_accept_tribute_demand_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["entity1_id"] = reinterpret_cast(&(df_structure->entity1_id)) - reinterpret_cast(df_structure); - p_table["histfig1_id"] = reinterpret_cast(&(df_structure->histfig1_id)) - reinterpret_cast(df_structure); - p_table["entity2_id"] = reinterpret_cast(&(df_structure->entity2_id)) - reinterpret_cast(df_structure); - p_table["histfig2_id"] = reinterpret_cast(&(df_structure->histfig2_id)) - reinterpret_cast(df_structure); -} - -void generate_entity_event__T_data__T_refuse_tribute_demand_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["entity1_id"] = reinterpret_cast(&(df_structure->entity1_id)) - reinterpret_cast(df_structure); - p_table["histfig1_id"] = reinterpret_cast(&(df_structure->histfig1_id)) - reinterpret_cast(df_structure); - p_table["entity2_id"] = reinterpret_cast(&(df_structure->entity2_id)) - reinterpret_cast(df_structure); - p_table["histfig2_id"] = reinterpret_cast(&(df_structure->histfig2_id)) - reinterpret_cast(df_structure); -} - -void generate_entity_event__T_data__T_accept_peace_offer_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["entity1_id"] = reinterpret_cast(&(df_structure->entity1_id)) - reinterpret_cast(df_structure); - p_table["histfig1_id"] = reinterpret_cast(&(df_structure->histfig1_id)) - reinterpret_cast(df_structure); - p_table["entity2_id"] = reinterpret_cast(&(df_structure->entity2_id)) - reinterpret_cast(df_structure); - p_table["histfig2_id"] = reinterpret_cast(&(df_structure->histfig2_id)) - reinterpret_cast(df_structure); -} - -void generate_entity_event__T_data__T_refuse_peace_offer_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["entity1_id"] = reinterpret_cast(&(df_structure->entity1_id)) - reinterpret_cast(df_structure); - p_table["histfig1_id"] = reinterpret_cast(&(df_structure->histfig1_id)) - reinterpret_cast(df_structure); - p_table["entity2_id"] = reinterpret_cast(&(df_structure->entity2_id)) - reinterpret_cast(df_structure); - p_table["histfig2_id"] = reinterpret_cast(&(df_structure->histfig2_id)) - reinterpret_cast(df_structure); -} - -void generate_entity_event__T_data__T_cease_tribute_offer_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["entity1_id"] = reinterpret_cast(&(df_structure->entity1_id)) - reinterpret_cast(df_structure); - p_table["histfig1_id"] = reinterpret_cast(&(df_structure->histfig1_id)) - reinterpret_cast(df_structure); - p_table["entity2_id"] = reinterpret_cast(&(df_structure->entity2_id)) - reinterpret_cast(df_structure); - p_table["histfig2_id"] = reinterpret_cast(&(df_structure->histfig2_id)) - reinterpret_cast(df_structure); -} - -void generate_entity_event__T_data__T_artifact_in_site_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["artifact_id"] = reinterpret_cast(&(df_structure->artifact_id)) - reinterpret_cast(df_structure); - p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); - p_table["structure_id"] = reinterpret_cast(&(df_structure->structure_id)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_entity_event__T_data__T_artifact_in_subregion_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["artifact_id"] = reinterpret_cast(&(df_structure->artifact_id)) - reinterpret_cast(df_structure); - p_table["subregion_id"] = reinterpret_cast(&(df_structure->subregion_id)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); -} - -void generate_entity_event__T_data__T_artifact_in_feature_layer_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["artifact_id"] = reinterpret_cast(&(df_structure->artifact_id)) - reinterpret_cast(df_structure); - p_table["feature_layer_id"] = reinterpret_cast(&(df_structure->feature_layer_id)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); -} - -void generate_entity_event__T_data__T_artifact_in_inventory_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["artifact_id"] = reinterpret_cast(&(df_structure->artifact_id)) - reinterpret_cast(df_structure); - p_table["hist_figure_id"] = reinterpret_cast(&(df_structure->hist_figure_id)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); -} - -void generate_entity_event__T_data__T_artifact_not_in_site_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["artifact_id"] = reinterpret_cast(&(df_structure->artifact_id)) - reinterpret_cast(df_structure); - p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); - p_table["structure_id"] = reinterpret_cast(&(df_structure->structure_id)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_entity_event__T_data__T_artifact_not_in_subregion_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["artifact_id"] = reinterpret_cast(&(df_structure->artifact_id)) - reinterpret_cast(df_structure); - p_table["subregion_id"] = reinterpret_cast(&(df_structure->subregion_id)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); -} - -void generate_entity_event__T_data__T_artifact_not_in_feature_layer_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["artifact_id"] = reinterpret_cast(&(df_structure->artifact_id)) - reinterpret_cast(df_structure); - p_table["feature_layer_id"] = reinterpret_cast(&(df_structure->feature_layer_id)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); -} - -void generate_entity_event__T_data__T_artifact_not_in_inventory_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["artifact_id"] = reinterpret_cast(&(df_structure->artifact_id)) - reinterpret_cast(df_structure); - p_table["hist_figure_id"] = reinterpret_cast(&(df_structure->hist_figure_id)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); -} - -void generate_entity_event__T_data__T_artifact_destroyed_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["artifact_id"] = reinterpret_cast(&(df_structure->artifact_id)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); -} - -void generate_entity_event__T_data_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["invasion"] = reinterpret_cast(&(df_structure->invasion)) - reinterpret_cast(df_structure); - p_table["abduction"] = reinterpret_cast(&(df_structure->abduction)) - reinterpret_cast(df_structure); - p_table["incident"] = reinterpret_cast(&(df_structure->incident)) - reinterpret_cast(df_structure); - p_table["occupation"] = reinterpret_cast(&(df_structure->occupation)) - reinterpret_cast(df_structure); - p_table["beast"] = reinterpret_cast(&(df_structure->beast)) - reinterpret_cast(df_structure); - p_table["group"] = reinterpret_cast(&(df_structure->group)) - reinterpret_cast(df_structure); - p_table["harass"] = reinterpret_cast(&(df_structure->harass)) - reinterpret_cast(df_structure); - p_table["flee"] = reinterpret_cast(&(df_structure->flee)) - reinterpret_cast(df_structure); - p_table["abandon"] = reinterpret_cast(&(df_structure->abandon)) - reinterpret_cast(df_structure); - p_table["reclaimed"] = reinterpret_cast(&(df_structure->reclaimed)) - reinterpret_cast(df_structure); - p_table["founded"] = reinterpret_cast(&(df_structure->founded)) - reinterpret_cast(df_structure); - p_table["reclaiming"] = reinterpret_cast(&(df_structure->reclaiming)) - reinterpret_cast(df_structure); - p_table["founding"] = reinterpret_cast(&(df_structure->founding)) - reinterpret_cast(df_structure); - p_table["leave"] = reinterpret_cast(&(df_structure->leave)) - reinterpret_cast(df_structure); - p_table["insurrection"] = reinterpret_cast(&(df_structure->insurrection)) - reinterpret_cast(df_structure); - p_table["insurrection_end"] = reinterpret_cast(&(df_structure->insurrection_end)) - reinterpret_cast(df_structure); - p_table["succession"] = reinterpret_cast(&(df_structure->succession)) - reinterpret_cast(df_structure); - p_table["claim"] = reinterpret_cast(&(df_structure->claim)) - reinterpret_cast(df_structure); - p_table["accept_tribute_offer"] = reinterpret_cast(&(df_structure->accept_tribute_offer)) - reinterpret_cast(df_structure); - p_table["refuse_tribute_offer"] = reinterpret_cast(&(df_structure->refuse_tribute_offer)) - reinterpret_cast(df_structure); - p_table["accept_tribute_demand"] = reinterpret_cast(&(df_structure->accept_tribute_demand)) - reinterpret_cast(df_structure); - p_table["refuse_tribute_demand"] = reinterpret_cast(&(df_structure->refuse_tribute_demand)) - reinterpret_cast(df_structure); - p_table["accept_peace_offer"] = reinterpret_cast(&(df_structure->accept_peace_offer)) - reinterpret_cast(df_structure); - p_table["refuse_peace_offer"] = reinterpret_cast(&(df_structure->refuse_peace_offer)) - reinterpret_cast(df_structure); - p_table["cease_tribute_offer"] = reinterpret_cast(&(df_structure->cease_tribute_offer)) - reinterpret_cast(df_structure); - p_table["artifact_in_site"] = reinterpret_cast(&(df_structure->artifact_in_site)) - reinterpret_cast(df_structure); - p_table["artifact_in_subregion"] = reinterpret_cast(&(df_structure->artifact_in_subregion)) - reinterpret_cast(df_structure); - p_table["artifact_in_feature_layer"] = reinterpret_cast(&(df_structure->artifact_in_feature_layer)) - reinterpret_cast(df_structure); - p_table["artifact_in_inventory"] = reinterpret_cast(&(df_structure->artifact_in_inventory)) - reinterpret_cast(df_structure); - p_table["artifact_not_in_site"] = reinterpret_cast(&(df_structure->artifact_not_in_site)) - reinterpret_cast(df_structure); - p_table["artifact_not_in_subregion"] = reinterpret_cast(&(df_structure->artifact_not_in_subregion)) - reinterpret_cast(df_structure); - p_table["artifact_not_in_feature_layer"] = reinterpret_cast(&(df_structure->artifact_not_in_feature_layer)) - reinterpret_cast(df_structure); - p_table["artifact_not_in_inventory"] = reinterpret_cast(&(df_structure->artifact_not_in_inventory)) - reinterpret_cast(df_structure); - p_table["artifact_destroyed"] = reinterpret_cast(&(df_structure->artifact_destroyed)) - reinterpret_cast(df_structure); -} - -void generate_entity_event_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["data"] = reinterpret_cast(&(df_structure->data)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["year"] = reinterpret_cast(&(df_structure->year)) - reinterpret_cast(df_structure); - p_table["year_tick"] = reinterpret_cast(&(df_structure->year_tick)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); -} - -void generate_agreement__T_parties__T_anon_1_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); -} - -void generate_agreement__T_parties_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["histfig_ids"] = reinterpret_cast(&(df_structure->histfig_ids)) - reinterpret_cast(df_structure); - p_table["entity_ids"] = reinterpret_cast(&(df_structure->entity_ids)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_agreement__T_details__T_data__T_data0_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); -} - -void generate_agreement__T_details__T_data__T_data1_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["reason"] = reinterpret_cast(&(df_structure->reason)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["artifact"] = reinterpret_cast(&(df_structure->artifact)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); -} - -void generate_agreement__T_details__T_data_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["data0"] = reinterpret_cast(&(df_structure->data0)) - reinterpret_cast(df_structure); - p_table["data1"] = reinterpret_cast(&(df_structure->data1)) - reinterpret_cast(df_structure); -} - -void generate_agreement__T_details_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["year"] = reinterpret_cast(&(df_structure->year)) - reinterpret_cast(df_structure); - p_table["year_tick"] = reinterpret_cast(&(df_structure->year_tick)) - reinterpret_cast(df_structure); - p_table["data"] = reinterpret_cast(&(df_structure->data)) - reinterpret_cast(df_structure); - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); -} - -void generate_agreement_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["parties"] = reinterpret_cast(&(df_structure->parties)) - reinterpret_cast(df_structure); - p_table["next_party_id"] = reinterpret_cast(&(df_structure->next_party_id)) - reinterpret_cast(df_structure); - p_table["details"] = reinterpret_cast(&(df_structure->details)) - reinterpret_cast(df_structure); - p_table["next_details_id"] = reinterpret_cast(&(df_structure->next_details_id)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); -} - -void generate_entity_position_raw_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["code"] = reinterpret_cast(&(df_structure->code)) - reinterpret_cast(df_structure); - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["allowed_creature_str"] = reinterpret_cast(&(df_structure->allowed_creature_str)) - reinterpret_cast(df_structure); - p_table["allowed_creature"] = reinterpret_cast(&(df_structure->allowed_creature)) - reinterpret_cast(df_structure); - p_table["allowed_class"] = reinterpret_cast(&(df_structure->allowed_class)) - reinterpret_cast(df_structure); - p_table["rejected_creature_str"] = reinterpret_cast(&(df_structure->rejected_creature_str)) - reinterpret_cast(df_structure); - p_table["rejected_creature"] = reinterpret_cast(&(df_structure->rejected_creature)) - reinterpret_cast(df_structure); - p_table["rejected_class"] = reinterpret_cast(&(df_structure->rejected_class)) - reinterpret_cast(df_structure); - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["name_female"] = reinterpret_cast(&(df_structure->name_female)) - reinterpret_cast(df_structure); - p_table["name_male"] = reinterpret_cast(&(df_structure->name_male)) - reinterpret_cast(df_structure); - p_table["spouse"] = reinterpret_cast(&(df_structure->spouse)) - reinterpret_cast(df_structure); - p_table["spouse_female"] = reinterpret_cast(&(df_structure->spouse_female)) - reinterpret_cast(df_structure); - p_table["spouse_male"] = reinterpret_cast(&(df_structure->spouse_male)) - reinterpret_cast(df_structure); - p_table["squad"] = reinterpret_cast(&(df_structure->squad)) - reinterpret_cast(df_structure); - p_table["land_name"] = reinterpret_cast(&(df_structure->land_name)) - reinterpret_cast(df_structure); - p_table["squad_size"] = reinterpret_cast(&(df_structure->squad_size)) - reinterpret_cast(df_structure); - p_table["commander_str"] = reinterpret_cast(&(df_structure->commander_str)) - reinterpret_cast(df_structure); - p_table["commander_id"] = reinterpret_cast(&(df_structure->commander_id)) - reinterpret_cast(df_structure); - p_table["commander_types"] = reinterpret_cast(&(df_structure->commander_types)) - reinterpret_cast(df_structure); - p_table["land_holder"] = reinterpret_cast(&(df_structure->land_holder)) - reinterpret_cast(df_structure); - p_table["number"] = reinterpret_cast(&(df_structure->number)) - reinterpret_cast(df_structure); - p_table["requires_population"] = reinterpret_cast(&(df_structure->requires_population)) - reinterpret_cast(df_structure); - p_table["execution_skill"] = reinterpret_cast(&(df_structure->execution_skill)) - reinterpret_cast(df_structure); - p_table["precedence"] = reinterpret_cast(&(df_structure->precedence)) - reinterpret_cast(df_structure); - p_table["replaced_by_str"] = reinterpret_cast(&(df_structure->replaced_by_str)) - reinterpret_cast(df_structure); - p_table["replaced_by"] = reinterpret_cast(&(df_structure->replaced_by)) - reinterpret_cast(df_structure); - p_table["appointed_by_str"] = reinterpret_cast(&(df_structure->appointed_by_str)) - reinterpret_cast(df_structure); - p_table["appointed_by"] = reinterpret_cast(&(df_structure->appointed_by)) - reinterpret_cast(df_structure); - p_table["succession_by_position_str"] = reinterpret_cast(&(df_structure->succession_by_position_str)) - reinterpret_cast(df_structure); - p_table["succession_by_position"] = reinterpret_cast(&(df_structure->succession_by_position)) - reinterpret_cast(df_structure); - p_table["responsibilities"] = reinterpret_cast(&(df_structure->responsibilities)) - reinterpret_cast(df_structure); - p_table["color"] = reinterpret_cast(&(df_structure->color)) - reinterpret_cast(df_structure); - p_table["required_boxes"] = reinterpret_cast(&(df_structure->required_boxes)) - reinterpret_cast(df_structure); - p_table["required_cabinets"] = reinterpret_cast(&(df_structure->required_cabinets)) - reinterpret_cast(df_structure); - p_table["required_racks"] = reinterpret_cast(&(df_structure->required_racks)) - reinterpret_cast(df_structure); - p_table["required_stands"] = reinterpret_cast(&(df_structure->required_stands)) - reinterpret_cast(df_structure); - p_table["required_office"] = reinterpret_cast(&(df_structure->required_office)) - reinterpret_cast(df_structure); - p_table["required_bedroom"] = reinterpret_cast(&(df_structure->required_bedroom)) - reinterpret_cast(df_structure); - p_table["required_dining"] = reinterpret_cast(&(df_structure->required_dining)) - reinterpret_cast(df_structure); - p_table["required_tomb"] = reinterpret_cast(&(df_structure->required_tomb)) - reinterpret_cast(df_structure); - p_table["mandate_max"] = reinterpret_cast(&(df_structure->mandate_max)) - reinterpret_cast(df_structure); - p_table["demand_max"] = reinterpret_cast(&(df_structure->demand_max)) - reinterpret_cast(df_structure); -} - -void generate_graphic_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["screenx"] = reinterpret_cast(&(df_structure->screenx)) - reinterpret_cast(df_structure); - p_table["screeny"] = reinterpret_cast(&(df_structure->screeny)) - reinterpret_cast(df_structure); - p_table["screenf"] = reinterpret_cast(&(df_structure->screenf)) - reinterpret_cast(df_structure); - p_table["screenb"] = reinterpret_cast(&(df_structure->screenb)) - reinterpret_cast(df_structure); - p_table["screenbright"] = reinterpret_cast(&(df_structure->screenbright)) - reinterpret_cast(df_structure); - p_table["screen"] = reinterpret_cast(&(df_structure->screen)) - reinterpret_cast(df_structure); - p_table["screentexpos"] = reinterpret_cast(&(df_structure->screentexpos)) - reinterpret_cast(df_structure); - p_table["screentexpos_addcolor"] = reinterpret_cast(&(df_structure->screentexpos_addcolor)) - reinterpret_cast(df_structure); - p_table["screentexpos_grayscale"] = reinterpret_cast(&(df_structure->screentexpos_grayscale)) - reinterpret_cast(df_structure); - p_table["screentexpos_cf"] = reinterpret_cast(&(df_structure->screentexpos_cf)) - reinterpret_cast(df_structure); - p_table["screentexpos_cbr"] = reinterpret_cast(&(df_structure->screentexpos_cbr)) - reinterpret_cast(df_structure); - p_table["clipx"] = reinterpret_cast(&(df_structure->clipx)) - reinterpret_cast(df_structure); - p_table["clipy"] = reinterpret_cast(&(df_structure->clipy)) - reinterpret_cast(df_structure); - p_table["tex_pos"] = reinterpret_cast(&(df_structure->tex_pos)) - reinterpret_cast(df_structure); - p_table["rect_id"] = reinterpret_cast(&(df_structure->rect_id)) - reinterpret_cast(df_structure); - p_table["print_time"] = reinterpret_cast(&(df_structure->print_time)) - reinterpret_cast(df_structure); - p_table["print_index"] = reinterpret_cast(&(df_structure->print_index)) - reinterpret_cast(df_structure); - p_table["display_frames"] = reinterpret_cast(&(df_structure->display_frames)) - reinterpret_cast(df_structure); - p_table["force_full_display_count"] = reinterpret_cast(&(df_structure->force_full_display_count)) - reinterpret_cast(df_structure); - p_table["original_rect"] = reinterpret_cast(&(df_structure->original_rect)) - reinterpret_cast(df_structure); - p_table["dimx"] = reinterpret_cast(&(df_structure->dimx)) - reinterpret_cast(df_structure); - p_table["dimy"] = reinterpret_cast(&(df_structure->dimy)) - reinterpret_cast(df_structure); - p_table["mouse_x"] = reinterpret_cast(&(df_structure->mouse_x)) - reinterpret_cast(df_structure); - p_table["mouse_y"] = reinterpret_cast(&(df_structure->mouse_y)) - reinterpret_cast(df_structure); - p_table["screen_limit"] = reinterpret_cast(&(df_structure->screen_limit)) - reinterpret_cast(df_structure); -} - -void generate_historical_kills_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["events"] = reinterpret_cast(&(df_structure->events)) - reinterpret_cast(df_structure); - p_table["killed_race"] = reinterpret_cast(&(df_structure->killed_race)) - reinterpret_cast(df_structure); - p_table["killed_caste"] = reinterpret_cast(&(df_structure->killed_caste)) - reinterpret_cast(df_structure); - p_table["killed_underground_region"] = reinterpret_cast(&(df_structure->killed_underground_region)) - reinterpret_cast(df_structure); - p_table["killed_region"] = reinterpret_cast(&(df_structure->killed_region)) - reinterpret_cast(df_structure); - p_table["killed_site"] = reinterpret_cast(&(df_structure->killed_site)) - reinterpret_cast(df_structure); - p_table["killed_undead"] = reinterpret_cast(&(df_structure->killed_undead)) - reinterpret_cast(df_structure); - p_table["killed_count"] = reinterpret_cast(&(df_structure->killed_count)) - reinterpret_cast(df_structure); -} - -void generate_history_hit_item_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["item"] = reinterpret_cast(&(df_structure->item)) - reinterpret_cast(df_structure); - p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); - p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); - p_table["mattype"] = reinterpret_cast(&(df_structure->mattype)) - reinterpret_cast(df_structure); - p_table["matindex"] = reinterpret_cast(&(df_structure->matindex)) - reinterpret_cast(df_structure); - p_table["shooter_item"] = reinterpret_cast(&(df_structure->shooter_item)) - reinterpret_cast(df_structure); - p_table["shooter_item_type"] = reinterpret_cast(&(df_structure->shooter_item_type)) - reinterpret_cast(df_structure); - p_table["shooter_item_subtype"] = reinterpret_cast(&(df_structure->shooter_item_subtype)) - reinterpret_cast(df_structure); - p_table["shooter_mattype"] = reinterpret_cast(&(df_structure->shooter_mattype)) - reinterpret_cast(df_structure); - p_table["shooter_matindex"] = reinterpret_cast(&(df_structure->shooter_matindex)) - reinterpret_cast(df_structure); -} - -void generate_history_event_hist_figure_diedst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["victim_hf"] = reinterpret_cast(&(df_structure->victim_hf)) - reinterpret_cast(df_structure); - p_table["slayer_hf"] = reinterpret_cast(&(df_structure->slayer_hf)) - reinterpret_cast(df_structure); - p_table["slayer_race"] = reinterpret_cast(&(df_structure->slayer_race)) - reinterpret_cast(df_structure); - p_table["slayer_caste"] = reinterpret_cast(&(df_structure->slayer_caste)) - reinterpret_cast(df_structure); - p_table["weapon"] = reinterpret_cast(&(df_structure->weapon)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["subregion"] = reinterpret_cast(&(df_structure->subregion)) - reinterpret_cast(df_structure); - p_table["feature_layer"] = reinterpret_cast(&(df_structure->feature_layer)) - reinterpret_cast(df_structure); - p_table["death_cause"] = reinterpret_cast(&(df_structure->death_cause)) - reinterpret_cast(df_structure); -} - -void generate_history_event_add_hf_entity_linkst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["civ"] = reinterpret_cast(&(df_structure->civ)) - reinterpret_cast(df_structure); - p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); - p_table["link_type"] = reinterpret_cast(&(df_structure->link_type)) - reinterpret_cast(df_structure); - p_table["position_id"] = reinterpret_cast(&(df_structure->position_id)) - reinterpret_cast(df_structure); -} - -void generate_history_event_remove_hf_entity_linkst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["civ"] = reinterpret_cast(&(df_structure->civ)) - reinterpret_cast(df_structure); - p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); - p_table["link_type"] = reinterpret_cast(&(df_structure->link_type)) - reinterpret_cast(df_structure); - p_table["position_id"] = reinterpret_cast(&(df_structure->position_id)) - reinterpret_cast(df_structure); -} - -void generate_history_event_topicagreement_concludedst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["source"] = reinterpret_cast(&(df_structure->source)) - reinterpret_cast(df_structure); - p_table["destination"] = reinterpret_cast(&(df_structure->destination)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["topic"] = reinterpret_cast(&(df_structure->topic)) - reinterpret_cast(df_structure); - p_table["result"] = reinterpret_cast(&(df_structure->result)) - reinterpret_cast(df_structure); -} - -void generate_history_event_topicagreement_rejectedst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["topic"] = reinterpret_cast(&(df_structure->topic)) - reinterpret_cast(df_structure); - p_table["source"] = reinterpret_cast(&(df_structure->source)) - reinterpret_cast(df_structure); - p_table["destination"] = reinterpret_cast(&(df_structure->destination)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); -} - -void generate_history_event_topicagreement_madest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["topic"] = reinterpret_cast(&(df_structure->topic)) - reinterpret_cast(df_structure); - p_table["source"] = reinterpret_cast(&(df_structure->source)) - reinterpret_cast(df_structure); - p_table["destination"] = reinterpret_cast(&(df_structure->destination)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); -} - -void generate_history_event_war_peace_acceptedst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["topic"] = reinterpret_cast(&(df_structure->topic)) - reinterpret_cast(df_structure); - p_table["source"] = reinterpret_cast(&(df_structure->source)) - reinterpret_cast(df_structure); - p_table["destination"] = reinterpret_cast(&(df_structure->destination)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); -} - -void generate_history_event_war_peace_rejectedst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["topic"] = reinterpret_cast(&(df_structure->topic)) - reinterpret_cast(df_structure); - p_table["source"] = reinterpret_cast(&(df_structure->source)) - reinterpret_cast(df_structure); - p_table["destination"] = reinterpret_cast(&(df_structure->destination)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); -} - -void generate_history_event_artifact_possessedst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["artifact"] = reinterpret_cast(&(df_structure->artifact)) - reinterpret_cast(df_structure); - p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); - p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["circumstance"] = reinterpret_cast(&(df_structure->circumstance)) - reinterpret_cast(df_structure); - p_table["circumstance_id"] = reinterpret_cast(&(df_structure->circumstance_id)) - reinterpret_cast(df_structure); - p_table["reason"] = reinterpret_cast(&(df_structure->reason)) - reinterpret_cast(df_structure); - p_table["reason_id"] = reinterpret_cast(&(df_structure->reason_id)) - reinterpret_cast(df_structure); -} - -void generate_history_event_entity_actionst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["entity"] = reinterpret_cast(&(df_structure->entity)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["structure"] = reinterpret_cast(&(df_structure->structure)) - reinterpret_cast(df_structure); - p_table["action"] = reinterpret_cast(&(df_structure->action)) - reinterpret_cast(df_structure); -} - -void generate_history_event_add_hf_site_linkst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["structure"] = reinterpret_cast(&(df_structure->structure)) - reinterpret_cast(df_structure); - p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); - p_table["civ"] = reinterpret_cast(&(df_structure->civ)) - reinterpret_cast(df_structure); - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); -} - -void generate_history_event_remove_hf_site_linkst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["structure"] = reinterpret_cast(&(df_structure->structure)) - reinterpret_cast(df_structure); - p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); - p_table["civ"] = reinterpret_cast(&(df_structure->civ)) - reinterpret_cast(df_structure); - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); -} - -void generate_history_event_add_hf_hf_linkst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["hf"] = reinterpret_cast(&(df_structure->hf)) - reinterpret_cast(df_structure); - p_table["hf_target"] = reinterpret_cast(&(df_structure->hf_target)) - reinterpret_cast(df_structure); - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); -} - -void generate_history_event_remove_hf_hf_linkst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["hf"] = reinterpret_cast(&(df_structure->hf)) - reinterpret_cast(df_structure); - p_table["hf_target"] = reinterpret_cast(&(df_structure->hf_target)) - reinterpret_cast(df_structure); - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); -} - -void generate_history_event_masterpiece_created_itemst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["skill_used"] = reinterpret_cast(&(df_structure->skill_used)) - reinterpret_cast(df_structure); - p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); - p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["item_id"] = reinterpret_cast(&(df_structure->item_id)) - reinterpret_cast(df_structure); -} - -void generate_history_event_masterpiece_created_dye_itemst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); - p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["dye_mat_type"] = reinterpret_cast(&(df_structure->dye_mat_type)) - reinterpret_cast(df_structure); - p_table["dye_mat_index"] = reinterpret_cast(&(df_structure->dye_mat_index)) - reinterpret_cast(df_structure); -} - -void generate_history_event_masterpiece_created_item_improvementst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); - p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["improvement_type"] = reinterpret_cast(&(df_structure->improvement_type)) - reinterpret_cast(df_structure); - p_table["improvement_subtype"] = reinterpret_cast(&(df_structure->improvement_subtype)) - reinterpret_cast(df_structure); - p_table["imp_mat_type"] = reinterpret_cast(&(df_structure->imp_mat_type)) - reinterpret_cast(df_structure); - p_table["imp_mat_index"] = reinterpret_cast(&(df_structure->imp_mat_index)) - reinterpret_cast(df_structure); - p_table["art_id"] = reinterpret_cast(&(df_structure->art_id)) - reinterpret_cast(df_structure); - p_table["art_subid"] = reinterpret_cast(&(df_structure->art_subid)) - reinterpret_cast(df_structure); -} - -void generate_history_event_masterpiece_created_engravingst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["skill_rating"] = reinterpret_cast(&(df_structure->skill_rating)) - reinterpret_cast(df_structure); - p_table["art_id"] = reinterpret_cast(&(df_structure->art_id)) - reinterpret_cast(df_structure); - p_table["art_subid"] = reinterpret_cast(&(df_structure->art_subid)) - reinterpret_cast(df_structure); -} - -void generate_history_event_masterpiece_lostst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["creation_event"] = reinterpret_cast(&(df_structure->creation_event)) - reinterpret_cast(df_structure); - p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["method"] = reinterpret_cast(&(df_structure->method)) - reinterpret_cast(df_structure); -} - -void generate_history_event_change_hf_statest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["hfid"] = reinterpret_cast(&(df_structure->hfid)) - reinterpret_cast(df_structure); - p_table["state"] = reinterpret_cast(&(df_structure->state)) - reinterpret_cast(df_structure); - p_table["reason"] = reinterpret_cast(&(df_structure->reason)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); - p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); - p_table["region_pos"] = reinterpret_cast(&(df_structure->region_pos)) - reinterpret_cast(df_structure); -} - -void generate_history_event_change_hf_jobst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["hfid"] = reinterpret_cast(&(df_structure->hfid)) - reinterpret_cast(df_structure); - p_table["new_job"] = reinterpret_cast(&(df_structure->new_job)) - reinterpret_cast(df_structure); - p_table["old_job"] = reinterpret_cast(&(df_structure->old_job)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); - p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); -} - -void generate_history_event_war_field_battlest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["attacker_civ"] = reinterpret_cast(&(df_structure->attacker_civ)) - reinterpret_cast(df_structure); - p_table["defender_civ"] = reinterpret_cast(&(df_structure->defender_civ)) - reinterpret_cast(df_structure); - p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); - p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); - p_table["region_pos"] = reinterpret_cast(&(df_structure->region_pos)) - reinterpret_cast(df_structure); - p_table["attacker_general_hf"] = reinterpret_cast(&(df_structure->attacker_general_hf)) - reinterpret_cast(df_structure); - p_table["defender_general_hf"] = reinterpret_cast(&(df_structure->defender_general_hf)) - reinterpret_cast(df_structure); -} - -void generate_history_event_body_abusedst__T_props__T_item_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); - p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); -} - -void generate_history_event_body_abusedst__T_props__T_hung_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["tree"] = reinterpret_cast(&(df_structure->tree)) - reinterpret_cast(df_structure); - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); -} - -void generate_history_event_body_abusedst__T_props_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["item"] = reinterpret_cast(&(df_structure->item)) - reinterpret_cast(df_structure); - p_table["structure"] = reinterpret_cast(&(df_structure->structure)) - reinterpret_cast(df_structure); - p_table["pile_type"] = reinterpret_cast(&(df_structure->pile_type)) - reinterpret_cast(df_structure); - p_table["hung"] = reinterpret_cast(&(df_structure->hung)) - reinterpret_cast(df_structure); -} - -void generate_history_event_body_abusedst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["bodies"] = reinterpret_cast(&(df_structure->bodies)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["civ"] = reinterpret_cast(&(df_structure->civ)) - reinterpret_cast(df_structure); - p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); - p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); - p_table["region_pos"] = reinterpret_cast(&(df_structure->region_pos)) - reinterpret_cast(df_structure); - p_table["abuse_type"] = reinterpret_cast(&(df_structure->abuse_type)) - reinterpret_cast(df_structure); - p_table["props"] = reinterpret_cast(&(df_structure->props)) - reinterpret_cast(df_structure); -} - -void generate_history_event_item_stolenst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); - p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); - p_table["mattype"] = reinterpret_cast(&(df_structure->mattype)) - reinterpret_cast(df_structure); - p_table["matindex"] = reinterpret_cast(&(df_structure->matindex)) - reinterpret_cast(df_structure); - p_table["item"] = reinterpret_cast(&(df_structure->item)) - reinterpret_cast(df_structure); - p_table["entity"] = reinterpret_cast(&(df_structure->entity)) - reinterpret_cast(df_structure); - p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["structure"] = reinterpret_cast(&(df_structure->structure)) - reinterpret_cast(df_structure); - p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); - p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); - p_table["region_pos"] = reinterpret_cast(&(df_structure->region_pos)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["circumstance"] = reinterpret_cast(&(df_structure->circumstance)) - reinterpret_cast(df_structure); - p_table["circumstance_id"] = reinterpret_cast(&(df_structure->circumstance_id)) - reinterpret_cast(df_structure); - p_table["reason"] = reinterpret_cast(&(df_structure->reason)) - reinterpret_cast(df_structure); - p_table["reason_id"] = reinterpret_cast(&(df_structure->reason_id)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); -} - -void generate_history_event_hist_figure_simple_battle_eventst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["group1"] = reinterpret_cast(&(df_structure->group1)) - reinterpret_cast(df_structure); - p_table["group2"] = reinterpret_cast(&(df_structure->group2)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); - p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); - p_table["subtype"] = reinterpret_cast(&(df_structure->subtype)) - reinterpret_cast(df_structure); -} - -void generate_history_event_hist_figure_reach_summitst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["group"] = reinterpret_cast(&(df_structure->group)) - reinterpret_cast(df_structure); - p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); - p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); - p_table["region_pos"] = reinterpret_cast(&(df_structure->region_pos)) - reinterpret_cast(df_structure); -} - -void generate_history_event_hist_figure_travelst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["group"] = reinterpret_cast(&(df_structure->group)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); - p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); - p_table["reason"] = reinterpret_cast(&(df_structure->reason)) - reinterpret_cast(df_structure); - p_table["region_pos"] = reinterpret_cast(&(df_structure->region_pos)) - reinterpret_cast(df_structure); -} - -void generate_history_event_hist_figure_new_petst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["group"] = reinterpret_cast(&(df_structure->group)) - reinterpret_cast(df_structure); - p_table["pets"] = reinterpret_cast(&(df_structure->pets)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); - p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); - p_table["region_pos"] = reinterpret_cast(&(df_structure->region_pos)) - reinterpret_cast(df_structure); -} - -void generate_history_event_hist_figure_revivedst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); - p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); - p_table["ghost_type"] = reinterpret_cast(&(df_structure->ghost_type)) - reinterpret_cast(df_structure); - p_table["flags2"] = reinterpret_cast(&(df_structure->flags2)) - reinterpret_cast(df_structure); -} - -void generate_history_event_change_hf_body_statest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); - p_table["body_state"] = reinterpret_cast(&(df_structure->body_state)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["structure"] = reinterpret_cast(&(df_structure->structure)) - reinterpret_cast(df_structure); - p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); - p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); - p_table["region_pos"] = reinterpret_cast(&(df_structure->region_pos)) - reinterpret_cast(df_structure); -} - -void generate_history_event_hf_confrontedst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["target"] = reinterpret_cast(&(df_structure->target)) - reinterpret_cast(df_structure); - p_table["accuser"] = reinterpret_cast(&(df_structure->accuser)) - reinterpret_cast(df_structure); - p_table["reasons"] = reinterpret_cast(&(df_structure->reasons)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); - p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); - p_table["region_pos"] = reinterpret_cast(&(df_structure->region_pos)) - reinterpret_cast(df_structure); -} - -void generate_history_event_hf_gains_secret_goalst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); - p_table["goal"] = reinterpret_cast(&(df_structure->goal)) - reinterpret_cast(df_structure); -} - -void generate_history_event_site_disputest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["dispute_type"] = reinterpret_cast(&(df_structure->dispute_type)) - reinterpret_cast(df_structure); - p_table["entity_1"] = reinterpret_cast(&(df_structure->entity_1)) - reinterpret_cast(df_structure); - p_table["entity_2"] = reinterpret_cast(&(df_structure->entity_2)) - reinterpret_cast(df_structure); - p_table["site_1"] = reinterpret_cast(&(df_structure->site_1)) - reinterpret_cast(df_structure); - p_table["site_2"] = reinterpret_cast(&(df_structure->site_2)) - reinterpret_cast(df_structure); -} - -void generate_history_event_agreement_concludedst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["agreement_id"] = reinterpret_cast(&(df_structure->agreement_id)) - reinterpret_cast(df_structure); - p_table["subject_id"] = reinterpret_cast(&(df_structure->subject_id)) - reinterpret_cast(df_structure); - p_table["reason"] = reinterpret_cast(&(df_structure->reason)) - reinterpret_cast(df_structure); - p_table["concluder_hf"] = reinterpret_cast(&(df_structure->concluder_hf)) - reinterpret_cast(df_structure); -} - -void generate_history_event_insurrection_endedst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["target_civ"] = reinterpret_cast(&(df_structure->target_civ)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["outcome"] = reinterpret_cast(&(df_structure->outcome)) - reinterpret_cast(df_structure); -} - -void generate_history_event_hf_relationship_deniedst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["seeker_hf"] = reinterpret_cast(&(df_structure->seeker_hf)) - reinterpret_cast(df_structure); - p_table["target_hf"] = reinterpret_cast(&(df_structure->target_hf)) - reinterpret_cast(df_structure); - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["reason"] = reinterpret_cast(&(df_structure->reason)) - reinterpret_cast(df_structure); - p_table["reason_id"] = reinterpret_cast(&(df_structure->reason_id)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); - p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); -} - -void generate_history_event_poetic_form_createdst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); - p_table["form"] = reinterpret_cast(&(df_structure->form)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); - p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); - p_table["circumstance"] = reinterpret_cast(&(df_structure->circumstance)) - reinterpret_cast(df_structure); - p_table["circumstance_id"] = reinterpret_cast(&(df_structure->circumstance_id)) - reinterpret_cast(df_structure); - p_table["reason"] = reinterpret_cast(&(df_structure->reason)) - reinterpret_cast(df_structure); - p_table["reason_id"] = reinterpret_cast(&(df_structure->reason_id)) - reinterpret_cast(df_structure); -} - -void generate_history_event_musical_form_createdst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); - p_table["form"] = reinterpret_cast(&(df_structure->form)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); - p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); - p_table["circumstance"] = reinterpret_cast(&(df_structure->circumstance)) - reinterpret_cast(df_structure); - p_table["circumstance_id"] = reinterpret_cast(&(df_structure->circumstance_id)) - reinterpret_cast(df_structure); - p_table["reason"] = reinterpret_cast(&(df_structure->reason)) - reinterpret_cast(df_structure); - p_table["reason_id"] = reinterpret_cast(&(df_structure->reason_id)) - reinterpret_cast(df_structure); -} - -void generate_history_event_dance_form_createdst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); - p_table["form"] = reinterpret_cast(&(df_structure->form)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); - p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); - p_table["circumstance"] = reinterpret_cast(&(df_structure->circumstance)) - reinterpret_cast(df_structure); - p_table["circumstance_id"] = reinterpret_cast(&(df_structure->circumstance_id)) - reinterpret_cast(df_structure); - p_table["reason"] = reinterpret_cast(&(df_structure->reason)) - reinterpret_cast(df_structure); - p_table["reason_id"] = reinterpret_cast(&(df_structure->reason_id)) - reinterpret_cast(df_structure); -} - -void generate_history_event_written_content_composedst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); - p_table["content"] = reinterpret_cast(&(df_structure->content)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); - p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); - p_table["circumstance"] = reinterpret_cast(&(df_structure->circumstance)) - reinterpret_cast(df_structure); - p_table["circumstance_id"] = reinterpret_cast(&(df_structure->circumstance_id)) - reinterpret_cast(df_structure); - p_table["reason"] = reinterpret_cast(&(df_structure->reason)) - reinterpret_cast(df_structure); - p_table["reason_id"] = reinterpret_cast(&(df_structure->reason_id)) - reinterpret_cast(df_structure); -} - -void generate_history_event_change_hf_moodst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); - p_table["mood"] = reinterpret_cast(&(df_structure->mood)) - reinterpret_cast(df_structure); - p_table["reason"] = reinterpret_cast(&(df_structure->reason)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); - p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); - p_table["region_pos"] = reinterpret_cast(&(df_structure->region_pos)) - reinterpret_cast(df_structure); -} - -void generate_history_event_artifact_claim_formedst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["artifact"] = reinterpret_cast(&(df_structure->artifact)) - reinterpret_cast(df_structure); - p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); - p_table["entity"] = reinterpret_cast(&(df_structure->entity)) - reinterpret_cast(df_structure); - p_table["position_profile"] = reinterpret_cast(&(df_structure->position_profile)) - reinterpret_cast(df_structure); - p_table["claim_type"] = reinterpret_cast(&(df_structure->claim_type)) - reinterpret_cast(df_structure); - p_table["circumstance"] = reinterpret_cast(&(df_structure->circumstance)) - reinterpret_cast(df_structure); - p_table["circumstance_id"] = reinterpret_cast(&(df_structure->circumstance_id)) - reinterpret_cast(df_structure); - p_table["reason"] = reinterpret_cast(&(df_structure->reason)) - reinterpret_cast(df_structure); - p_table["reason_id"] = reinterpret_cast(&(df_structure->reason_id)) - reinterpret_cast(df_structure); -} - -void generate_history_event_artifact_givenst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["artifact"] = reinterpret_cast(&(df_structure->artifact)) - reinterpret_cast(df_structure); - p_table["giver_hf"] = reinterpret_cast(&(df_structure->giver_hf)) - reinterpret_cast(df_structure); - p_table["giver_entity"] = reinterpret_cast(&(df_structure->giver_entity)) - reinterpret_cast(df_structure); - p_table["receiver_hf"] = reinterpret_cast(&(df_structure->receiver_hf)) - reinterpret_cast(df_structure); - p_table["receiver_entity"] = reinterpret_cast(&(df_structure->receiver_entity)) - reinterpret_cast(df_structure); - p_table["circumstance"] = reinterpret_cast(&(df_structure->circumstance)) - reinterpret_cast(df_structure); - p_table["circumstance_id"] = reinterpret_cast(&(df_structure->circumstance_id)) - reinterpret_cast(df_structure); - p_table["reason"] = reinterpret_cast(&(df_structure->reason)) - reinterpret_cast(df_structure); - p_table["reason_id"] = reinterpret_cast(&(df_structure->reason_id)) - reinterpret_cast(df_structure); -} - -void generate_history_event_hf_recruited_unit_type_for_entityst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["entity"] = reinterpret_cast(&(df_structure->entity)) - reinterpret_cast(df_structure); - p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); - p_table["profession"] = reinterpret_cast(&(df_structure->profession)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); - p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); -} - -void generate_history_event_hfs_formed_reputation_relationshipst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["histfig1"] = reinterpret_cast(&(df_structure->histfig1)) - reinterpret_cast(df_structure); - p_table["identity1"] = reinterpret_cast(&(df_structure->identity1)) - reinterpret_cast(df_structure); - p_table["histfig2"] = reinterpret_cast(&(df_structure->histfig2)) - reinterpret_cast(df_structure); - p_table["identity2"] = reinterpret_cast(&(df_structure->identity2)) - reinterpret_cast(df_structure); - p_table["rep1"] = reinterpret_cast(&(df_structure->rep1)) - reinterpret_cast(df_structure); - p_table["rep2"] = reinterpret_cast(&(df_structure->rep2)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); - p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); -} - -void generate_history_event_tactical_situationst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["a_tactician_hfid"] = reinterpret_cast(&(df_structure->a_tactician_hfid)) - reinterpret_cast(df_structure); - p_table["d_tactician_hfid"] = reinterpret_cast(&(df_structure->d_tactician_hfid)) - reinterpret_cast(df_structure); - p_table["a_tactics_roll"] = reinterpret_cast(&(df_structure->a_tactics_roll)) - reinterpret_cast(df_structure); - p_table["d_tactics_roll"] = reinterpret_cast(&(df_structure->d_tactics_roll)) - reinterpret_cast(df_structure); - p_table["situation"] = reinterpret_cast(&(df_structure->situation)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["structure"] = reinterpret_cast(&(df_structure->structure)) - reinterpret_cast(df_structure); - p_table["subregion"] = reinterpret_cast(&(df_structure->subregion)) - reinterpret_cast(df_structure); - p_table["feature_layer"] = reinterpret_cast(&(df_structure->feature_layer)) - reinterpret_cast(df_structure); - p_table["tactics_flags"] = reinterpret_cast(&(df_structure->tactics_flags)) - reinterpret_cast(df_structure); -} - -void generate_history_event_collection_duelst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["parent_collection"] = reinterpret_cast(&(df_structure->parent_collection)) - reinterpret_cast(df_structure); - p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); - p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["region_pos"] = reinterpret_cast(&(df_structure->region_pos)) - reinterpret_cast(df_structure); - p_table["attacker_hf"] = reinterpret_cast(&(df_structure->attacker_hf)) - reinterpret_cast(df_structure); - p_table["defender_hf"] = reinterpret_cast(&(df_structure->defender_hf)) - reinterpret_cast(df_structure); - p_table["ordinal"] = reinterpret_cast(&(df_structure->ordinal)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_history_event_collection_abductionst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["parent_collection"] = reinterpret_cast(&(df_structure->parent_collection)) - reinterpret_cast(df_structure); - p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); - p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["region_pos"] = reinterpret_cast(&(df_structure->region_pos)) - reinterpret_cast(df_structure); - p_table["attacker_civ"] = reinterpret_cast(&(df_structure->attacker_civ)) - reinterpret_cast(df_structure); - p_table["defender_civ"] = reinterpret_cast(&(df_structure->defender_civ)) - reinterpret_cast(df_structure); - p_table["snatcher_hf"] = reinterpret_cast(&(df_structure->snatcher_hf)) - reinterpret_cast(df_structure); - p_table["victim_hf"] = reinterpret_cast(&(df_structure->victim_hf)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["ordinal"] = reinterpret_cast(&(df_structure->ordinal)) - reinterpret_cast(df_structure); -} - -void generate_history_event_collection_theftst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["parent_collection"] = reinterpret_cast(&(df_structure->parent_collection)) - reinterpret_cast(df_structure); - p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); - p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["region_pos"] = reinterpret_cast(&(df_structure->region_pos)) - reinterpret_cast(df_structure); - p_table["thief_civ"] = reinterpret_cast(&(df_structure->thief_civ)) - reinterpret_cast(df_structure); - p_table["victim_civ"] = reinterpret_cast(&(df_structure->victim_civ)) - reinterpret_cast(df_structure); - p_table["thief_hf"] = reinterpret_cast(&(df_structure->thief_hf)) - reinterpret_cast(df_structure); - p_table["stolen_item_types"] = reinterpret_cast(&(df_structure->stolen_item_types)) - reinterpret_cast(df_structure); - p_table["stolen_item_subtypes"] = reinterpret_cast(&(df_structure->stolen_item_subtypes)) - reinterpret_cast(df_structure); - p_table["stolen_mat_types"] = reinterpret_cast(&(df_structure->stolen_mat_types)) - reinterpret_cast(df_structure); - p_table["stolen_mat_indices"] = reinterpret_cast(&(df_structure->stolen_mat_indices)) - reinterpret_cast(df_structure); - p_table["stolen_item_ids"] = reinterpret_cast(&(df_structure->stolen_item_ids)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); - p_table["ordinal"] = reinterpret_cast(&(df_structure->ordinal)) - reinterpret_cast(df_structure); -} - -void generate_history_event_collection_beast_attackst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["parent_collection"] = reinterpret_cast(&(df_structure->parent_collection)) - reinterpret_cast(df_structure); - p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); - p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["region_pos"] = reinterpret_cast(&(df_structure->region_pos)) - reinterpret_cast(df_structure); - p_table["defender_civ"] = reinterpret_cast(&(df_structure->defender_civ)) - reinterpret_cast(df_structure); - p_table["attacker_hf"] = reinterpret_cast(&(df_structure->attacker_hf)) - reinterpret_cast(df_structure); - p_table["ordinal"] = reinterpret_cast(&(df_structure->ordinal)) - reinterpret_cast(df_structure); -} - -void generate_history_event_collection_raidst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["parent_collection"] = reinterpret_cast(&(df_structure->parent_collection)) - reinterpret_cast(df_structure); - p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); - p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["region_pos"] = reinterpret_cast(&(df_structure->region_pos)) - reinterpret_cast(df_structure); - p_table["attacker_civ"] = reinterpret_cast(&(df_structure->attacker_civ)) - reinterpret_cast(df_structure); - p_table["defender_civ"] = reinterpret_cast(&(df_structure->defender_civ)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["ordinal"] = reinterpret_cast(&(df_structure->ordinal)) - reinterpret_cast(df_structure); -} - -void generate_history_era__T_title_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["histfig_1"] = reinterpret_cast(&(df_structure->histfig_1)) - reinterpret_cast(df_structure); - p_table["histfig_2"] = reinterpret_cast(&(df_structure->histfig_2)) - reinterpret_cast(df_structure); - p_table["ordinal"] = reinterpret_cast(&(df_structure->ordinal)) - reinterpret_cast(df_structure); - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["percent"] = reinterpret_cast(&(df_structure->percent)) - reinterpret_cast(df_structure); -} - -void generate_history_era__T_details_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["living_powers"] = reinterpret_cast(&(df_structure->living_powers)) - reinterpret_cast(df_structure); - p_table["living_megabeasts"] = reinterpret_cast(&(df_structure->living_megabeasts)) - reinterpret_cast(df_structure); - p_table["living_semimegabeasts"] = reinterpret_cast(&(df_structure->living_semimegabeasts)) - reinterpret_cast(df_structure); - p_table["power_hf1"] = reinterpret_cast(&(df_structure->power_hf1)) - reinterpret_cast(df_structure); - p_table["power_hf2"] = reinterpret_cast(&(df_structure->power_hf2)) - reinterpret_cast(df_structure); - p_table["power_hf3"] = reinterpret_cast(&(df_structure->power_hf3)) - reinterpret_cast(df_structure); - p_table["civilized_races"] = reinterpret_cast(&(df_structure->civilized_races)) - reinterpret_cast(df_structure); - p_table["civilized_total"] = reinterpret_cast(&(df_structure->civilized_total)) - reinterpret_cast(df_structure); - p_table["civilized_mundane"] = reinterpret_cast(&(df_structure->civilized_mundane)) - reinterpret_cast(df_structure); -} - -void generate_history_era_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["year"] = reinterpret_cast(&(df_structure->year)) - reinterpret_cast(df_structure); - p_table["title"] = reinterpret_cast(&(df_structure->title)) - reinterpret_cast(df_structure); - p_table["details"] = reinterpret_cast(&(df_structure->details)) - reinterpret_cast(df_structure); -} - -void generate_init_display_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["flag"] = reinterpret_cast(&(df_structure->flag)) - reinterpret_cast(df_structure); - p_table["windowed"] = reinterpret_cast(&(df_structure->windowed)) - reinterpret_cast(df_structure); - p_table["grid_x"] = reinterpret_cast(&(df_structure->grid_x)) - reinterpret_cast(df_structure); - p_table["grid_y"] = reinterpret_cast(&(df_structure->grid_y)) - reinterpret_cast(df_structure); - p_table["desired_fullscreen_width"] = reinterpret_cast(&(df_structure->desired_fullscreen_width)) - reinterpret_cast(df_structure); - p_table["desired_fullscreen_height"] = reinterpret_cast(&(df_structure->desired_fullscreen_height)) - reinterpret_cast(df_structure); - p_table["desired_windowed_width"] = reinterpret_cast(&(df_structure->desired_windowed_width)) - reinterpret_cast(df_structure); - p_table["desired_windowed_height"] = reinterpret_cast(&(df_structure->desired_windowed_height)) - reinterpret_cast(df_structure); - p_table["partial_print_count"] = reinterpret_cast(&(df_structure->partial_print_count)) - reinterpret_cast(df_structure); -} - -void generate_init_font_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["small_font_texpos"] = reinterpret_cast(&(df_structure->small_font_texpos)) - reinterpret_cast(df_structure); - p_table["large_font_texpos"] = reinterpret_cast(&(df_structure->large_font_texpos)) - reinterpret_cast(df_structure); - p_table["small_font_datapos"] = reinterpret_cast(&(df_structure->small_font_datapos)) - reinterpret_cast(df_structure); - p_table["large_font_datapos"] = reinterpret_cast(&(df_structure->large_font_datapos)) - reinterpret_cast(df_structure); - p_table["small_font_adjx"] = reinterpret_cast(&(df_structure->small_font_adjx)) - reinterpret_cast(df_structure); - p_table["small_font_adjy"] = reinterpret_cast(&(df_structure->small_font_adjy)) - reinterpret_cast(df_structure); - p_table["large_font_adjx"] = reinterpret_cast(&(df_structure->large_font_adjx)) - reinterpret_cast(df_structure); - p_table["large_font_adjy"] = reinterpret_cast(&(df_structure->large_font_adjy)) - reinterpret_cast(df_structure); - p_table["small_font_dispx"] = reinterpret_cast(&(df_structure->small_font_dispx)) - reinterpret_cast(df_structure); - p_table["small_font_dispy"] = reinterpret_cast(&(df_structure->small_font_dispy)) - reinterpret_cast(df_structure); - p_table["large_font_dispx"] = reinterpret_cast(&(df_structure->large_font_dispx)) - reinterpret_cast(df_structure); - p_table["large_font_dispy"] = reinterpret_cast(&(df_structure->large_font_dispy)) - reinterpret_cast(df_structure); - p_table["use_ttf"] = reinterpret_cast(&(df_structure->use_ttf)) - reinterpret_cast(df_structure); - p_table["ttf_limit"] = reinterpret_cast(&(df_structure->ttf_limit)) - reinterpret_cast(df_structure); -} - -void generate_init_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["display"] = reinterpret_cast(&(df_structure->display)) - reinterpret_cast(df_structure); - p_table["media"] = reinterpret_cast(&(df_structure->media)) - reinterpret_cast(df_structure); - p_table["input"] = reinterpret_cast(&(df_structure->input)) - reinterpret_cast(df_structure); - p_table["font"] = reinterpret_cast(&(df_structure->font)) - reinterpret_cast(df_structure); - p_table["window"] = reinterpret_cast(&(df_structure->window)) - reinterpret_cast(df_structure); -} - -void generate_texture_handler_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["page"] = reinterpret_cast(&(df_structure->page)) - reinterpret_cast(df_structure); - p_table["texpos"] = reinterpret_cast(&(df_structure->texpos)) - reinterpret_cast(df_structure); - p_table["datapos"] = reinterpret_cast(&(df_structure->datapos)) - reinterpret_cast(df_structure); -} - -void generate_interaction_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["str"] = reinterpret_cast(&(df_structure->str)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["sources"] = reinterpret_cast(&(df_structure->sources)) - reinterpret_cast(df_structure); - p_table["targets"] = reinterpret_cast(&(df_structure->targets)) - reinterpret_cast(df_structure); - p_table["effects"] = reinterpret_cast(&(df_structure->effects)) - reinterpret_cast(df_structure); - p_table["source_hfid"] = reinterpret_cast(&(df_structure->source_hfid)) - reinterpret_cast(df_structure); - p_table["unk_v4201_1"] = reinterpret_cast(&(df_structure->unk_v4201_1)) - reinterpret_cast(df_structure); -} - -void generate_interaction_effect_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk_1"] = reinterpret_cast(&(df_structure->unk_1)) - reinterpret_cast(df_structure); - p_table["targets"] = reinterpret_cast(&(df_structure->targets)) - reinterpret_cast(df_structure); - p_table["unk_2"] = reinterpret_cast(&(df_structure->unk_2)) - reinterpret_cast(df_structure); - p_table["intermittent"] = reinterpret_cast(&(df_structure->intermittent)) - reinterpret_cast(df_structure); - p_table["locations"] = reinterpret_cast(&(df_structure->locations)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["unk_3"] = reinterpret_cast(&(df_structure->unk_3)) - reinterpret_cast(df_structure); - p_table["arena_name"] = reinterpret_cast(&(df_structure->arena_name)) - reinterpret_cast(df_structure); -} - -void generate_interaction_effect_animatest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["syndrome"] = reinterpret_cast(&(df_structure->syndrome)) - reinterpret_cast(df_structure); -} - -void generate_interaction_effect_add_syndromest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["syndrome"] = reinterpret_cast(&(df_structure->syndrome)) - reinterpret_cast(df_structure); -} - -void generate_interaction_effect_resurrectst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["syndrome"] = reinterpret_cast(&(df_structure->syndrome)) - reinterpret_cast(df_structure); -} - -void generate_interaction_effect_cleanst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["grime_level"] = reinterpret_cast(&(df_structure->grime_level)) - reinterpret_cast(df_structure); - p_table["syndrome_tag"] = reinterpret_cast(&(df_structure->syndrome_tag)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_interaction_effect_contactst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_interaction_effect_material_emissionst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_interaction_effect_hidest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_interaction_source_secretst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["learn_flags"] = reinterpret_cast(&(df_structure->learn_flags)) - reinterpret_cast(df_structure); - p_table["spheres"] = reinterpret_cast(&(df_structure->spheres)) - reinterpret_cast(df_structure); - p_table["goals"] = reinterpret_cast(&(df_structure->goals)) - reinterpret_cast(df_structure); - p_table["book_title_filename"] = reinterpret_cast(&(df_structure->book_title_filename)) - reinterpret_cast(df_structure); - p_table["book_name_filename"] = reinterpret_cast(&(df_structure->book_name_filename)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); -} - -void generate_interaction_source_deityst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["usage_hint"] = reinterpret_cast(&(df_structure->usage_hint)) - reinterpret_cast(df_structure); -} - -void generate_interaction_target_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["index"] = reinterpret_cast(&(df_structure->index)) - reinterpret_cast(df_structure); - p_table["unk_0"] = reinterpret_cast(&(df_structure->unk_0)) - reinterpret_cast(df_structure); - p_table["manual_input"] = reinterpret_cast(&(df_structure->manual_input)) - reinterpret_cast(df_structure); - p_table["location"] = reinterpret_cast(&(df_structure->location)) - reinterpret_cast(df_structure); -} - -void generate_interaction_target_corpsest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_interaction_target_creaturest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_interaction_target_materialst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["material_str"] = reinterpret_cast(&(df_structure->material_str)) - reinterpret_cast(df_structure); - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["parent_interaction_index"] = reinterpret_cast(&(df_structure->parent_interaction_index)) - reinterpret_cast(df_structure); - p_table["breath_attack_type"] = reinterpret_cast(&(df_structure->breath_attack_type)) - reinterpret_cast(df_structure); - p_table["restrictions"] = reinterpret_cast(&(df_structure->restrictions)) - reinterpret_cast(df_structure); -} - -void generate_interaction_target_locationst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_itemdef_ammost_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["name_plural"] = reinterpret_cast(&(df_structure->name_plural)) - reinterpret_cast(df_structure); - p_table["adjective"] = reinterpret_cast(&(df_structure->adjective)) - reinterpret_cast(df_structure); - p_table["ammo_class"] = reinterpret_cast(&(df_structure->ammo_class)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["size"] = reinterpret_cast(&(df_structure->size)) - reinterpret_cast(df_structure); - p_table["value"] = reinterpret_cast(&(df_structure->value)) - reinterpret_cast(df_structure); - p_table["attacks"] = reinterpret_cast(&(df_structure->attacks)) - reinterpret_cast(df_structure); -} - -void generate_itemdef_armorst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["name_plural"] = reinterpret_cast(&(df_structure->name_plural)) - reinterpret_cast(df_structure); - p_table["name_preplural"] = reinterpret_cast(&(df_structure->name_preplural)) - reinterpret_cast(df_structure); - p_table["material_placeholder"] = reinterpret_cast(&(df_structure->material_placeholder)) - reinterpret_cast(df_structure); - p_table["adjective"] = reinterpret_cast(&(df_structure->adjective)) - reinterpret_cast(df_structure); - p_table["value"] = reinterpret_cast(&(df_structure->value)) - reinterpret_cast(df_structure); - p_table["armorlevel"] = reinterpret_cast(&(df_structure->armorlevel)) - reinterpret_cast(df_structure); - p_table["ubstep"] = reinterpret_cast(&(df_structure->ubstep)) - reinterpret_cast(df_structure); - p_table["lbstep"] = reinterpret_cast(&(df_structure->lbstep)) - reinterpret_cast(df_structure); - p_table["material_size"] = reinterpret_cast(&(df_structure->material_size)) - reinterpret_cast(df_structure); - p_table["props"] = reinterpret_cast(&(df_structure->props)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); -} - -void generate_itemdef_glovesst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["name_plural"] = reinterpret_cast(&(df_structure->name_plural)) - reinterpret_cast(df_structure); - p_table["adjective"] = reinterpret_cast(&(df_structure->adjective)) - reinterpret_cast(df_structure); - p_table["value"] = reinterpret_cast(&(df_structure->value)) - reinterpret_cast(df_structure); - p_table["armorlevel"] = reinterpret_cast(&(df_structure->armorlevel)) - reinterpret_cast(df_structure); - p_table["upstep"] = reinterpret_cast(&(df_structure->upstep)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["material_size"] = reinterpret_cast(&(df_structure->material_size)) - reinterpret_cast(df_structure); - p_table["props"] = reinterpret_cast(&(df_structure->props)) - reinterpret_cast(df_structure); -} - -void generate_itemdef_helmst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["name_plural"] = reinterpret_cast(&(df_structure->name_plural)) - reinterpret_cast(df_structure); - p_table["adjective"] = reinterpret_cast(&(df_structure->adjective)) - reinterpret_cast(df_structure); - p_table["value"] = reinterpret_cast(&(df_structure->value)) - reinterpret_cast(df_structure); - p_table["armorlevel"] = reinterpret_cast(&(df_structure->armorlevel)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["material_size"] = reinterpret_cast(&(df_structure->material_size)) - reinterpret_cast(df_structure); - p_table["props"] = reinterpret_cast(&(df_structure->props)) - reinterpret_cast(df_structure); -} - -void generate_itemdef_instrumentst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["name_plural"] = reinterpret_cast(&(df_structure->name_plural)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["music_skill"] = reinterpret_cast(&(df_structure->music_skill)) - reinterpret_cast(df_structure); - p_table["size"] = reinterpret_cast(&(df_structure->size)) - reinterpret_cast(df_structure); - p_table["value"] = reinterpret_cast(&(df_structure->value)) - reinterpret_cast(df_structure); - p_table["material_size"] = reinterpret_cast(&(df_structure->material_size)) - reinterpret_cast(df_structure); - p_table["pieces"] = reinterpret_cast(&(df_structure->pieces)) - reinterpret_cast(df_structure); - p_table["dominant_instrument_piece"] = reinterpret_cast(&(df_structure->dominant_instrument_piece)) - reinterpret_cast(df_structure); - p_table["pitch_range_min"] = reinterpret_cast(&(df_structure->pitch_range_min)) - reinterpret_cast(df_structure); - p_table["pitch_range_max"] = reinterpret_cast(&(df_structure->pitch_range_max)) - reinterpret_cast(df_structure); - p_table["volume_mb_min"] = reinterpret_cast(&(df_structure->volume_mb_min)) - reinterpret_cast(df_structure); - p_table["volume_mb_max"] = reinterpret_cast(&(df_structure->volume_mb_max)) - reinterpret_cast(df_structure); - p_table["sound_production"] = reinterpret_cast(&(df_structure->sound_production)) - reinterpret_cast(df_structure); - p_table["sound_production_parm1"] = reinterpret_cast(&(df_structure->sound_production_parm1)) - reinterpret_cast(df_structure); - p_table["sound_production_parm2"] = reinterpret_cast(&(df_structure->sound_production_parm2)) - reinterpret_cast(df_structure); - p_table["unk_100"] = reinterpret_cast(&(df_structure->unk_100)) - reinterpret_cast(df_structure); - p_table["unk_110"] = reinterpret_cast(&(df_structure->unk_110)) - reinterpret_cast(df_structure); - p_table["pitch_choice"] = reinterpret_cast(&(df_structure->pitch_choice)) - reinterpret_cast(df_structure); - p_table["pitch_choice_parm1"] = reinterpret_cast(&(df_structure->pitch_choice_parm1)) - reinterpret_cast(df_structure); - p_table["pitch_choice_parm2"] = reinterpret_cast(&(df_structure->pitch_choice_parm2)) - reinterpret_cast(df_structure); - p_table["unk_150"] = reinterpret_cast(&(df_structure->unk_150)) - reinterpret_cast(df_structure); - p_table["unk_160"] = reinterpret_cast(&(df_structure->unk_160)) - reinterpret_cast(df_structure); - p_table["tuning"] = reinterpret_cast(&(df_structure->tuning)) - reinterpret_cast(df_structure); - p_table["tuning_parm"] = reinterpret_cast(&(df_structure->tuning_parm)) - reinterpret_cast(df_structure); - p_table["unk_190"] = reinterpret_cast(&(df_structure->unk_190)) - reinterpret_cast(df_structure); - p_table["registers"] = reinterpret_cast(&(df_structure->registers)) - reinterpret_cast(df_structure); - p_table["timbre"] = reinterpret_cast(&(df_structure->timbre)) - reinterpret_cast(df_structure); - p_table["description"] = reinterpret_cast(&(df_structure->description)) - reinterpret_cast(df_structure); -} - -void generate_instrument_register_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["pitch_range_min"] = reinterpret_cast(&(df_structure->pitch_range_min)) - reinterpret_cast(df_structure); - p_table["pitch_range_max"] = reinterpret_cast(&(df_structure->pitch_range_max)) - reinterpret_cast(df_structure); - p_table["timbres"] = reinterpret_cast(&(df_structure->timbres)) - reinterpret_cast(df_structure); -} - -void generate_itemdef_pantsst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["name_plural"] = reinterpret_cast(&(df_structure->name_plural)) - reinterpret_cast(df_structure); - p_table["name_preplural"] = reinterpret_cast(&(df_structure->name_preplural)) - reinterpret_cast(df_structure); - p_table["material_placeholder"] = reinterpret_cast(&(df_structure->material_placeholder)) - reinterpret_cast(df_structure); - p_table["adjective"] = reinterpret_cast(&(df_structure->adjective)) - reinterpret_cast(df_structure); - p_table["value"] = reinterpret_cast(&(df_structure->value)) - reinterpret_cast(df_structure); - p_table["armorlevel"] = reinterpret_cast(&(df_structure->armorlevel)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["material_size"] = reinterpret_cast(&(df_structure->material_size)) - reinterpret_cast(df_structure); - p_table["lbstep"] = reinterpret_cast(&(df_structure->lbstep)) - reinterpret_cast(df_structure); - p_table["props"] = reinterpret_cast(&(df_structure->props)) - reinterpret_cast(df_structure); -} - -void generate_itemdef_shoesst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["name_plural"] = reinterpret_cast(&(df_structure->name_plural)) - reinterpret_cast(df_structure); - p_table["adjective"] = reinterpret_cast(&(df_structure->adjective)) - reinterpret_cast(df_structure); - p_table["value"] = reinterpret_cast(&(df_structure->value)) - reinterpret_cast(df_structure); - p_table["armorlevel"] = reinterpret_cast(&(df_structure->armorlevel)) - reinterpret_cast(df_structure); - p_table["upstep"] = reinterpret_cast(&(df_structure->upstep)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["material_size"] = reinterpret_cast(&(df_structure->material_size)) - reinterpret_cast(df_structure); - p_table["props"] = reinterpret_cast(&(df_structure->props)) - reinterpret_cast(df_structure); -} - -void generate_itemdef_toolst__T_default_improvements_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["specific_type"] = reinterpret_cast(&(df_structure->specific_type)) - reinterpret_cast(df_structure); - p_table["instrument_part"] = reinterpret_cast(&(df_structure->instrument_part)) - reinterpret_cast(df_structure); - p_table["restriction"] = reinterpret_cast(&(df_structure->restriction)) - reinterpret_cast(df_structure); -} - -void generate_itemdef_toolst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["name_plural"] = reinterpret_cast(&(df_structure->name_plural)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["value"] = reinterpret_cast(&(df_structure->value)) - reinterpret_cast(df_structure); - p_table["tile"] = reinterpret_cast(&(df_structure->tile)) - reinterpret_cast(df_structure); - p_table["tool_use"] = reinterpret_cast(&(df_structure->tool_use)) - reinterpret_cast(df_structure); - p_table["adjective"] = reinterpret_cast(&(df_structure->adjective)) - reinterpret_cast(df_structure); - p_table["size"] = reinterpret_cast(&(df_structure->size)) - reinterpret_cast(df_structure); - p_table["skill_melee"] = reinterpret_cast(&(df_structure->skill_melee)) - reinterpret_cast(df_structure); - p_table["skill_ranged"] = reinterpret_cast(&(df_structure->skill_ranged)) - reinterpret_cast(df_structure); - p_table["ranged_ammo"] = reinterpret_cast(&(df_structure->ranged_ammo)) - reinterpret_cast(df_structure); - p_table["two_handed"] = reinterpret_cast(&(df_structure->two_handed)) - reinterpret_cast(df_structure); - p_table["minimum_size"] = reinterpret_cast(&(df_structure->minimum_size)) - reinterpret_cast(df_structure); - p_table["material_size"] = reinterpret_cast(&(df_structure->material_size)) - reinterpret_cast(df_structure); - p_table["attacks"] = reinterpret_cast(&(df_structure->attacks)) - reinterpret_cast(df_structure); - p_table["shoot_force"] = reinterpret_cast(&(df_structure->shoot_force)) - reinterpret_cast(df_structure); - p_table["shoot_maxvel"] = reinterpret_cast(&(df_structure->shoot_maxvel)) - reinterpret_cast(df_structure); - p_table["container_capacity"] = reinterpret_cast(&(df_structure->container_capacity)) - reinterpret_cast(df_structure); - p_table["description"] = reinterpret_cast(&(df_structure->description)) - reinterpret_cast(df_structure); - p_table["default_improvements"] = reinterpret_cast(&(df_structure->default_improvements)) - reinterpret_cast(df_structure); -} - -void generate_itemdef_trapcompst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["name_plural"] = reinterpret_cast(&(df_structure->name_plural)) - reinterpret_cast(df_structure); - p_table["adjective"] = reinterpret_cast(&(df_structure->adjective)) - reinterpret_cast(df_structure); - p_table["size"] = reinterpret_cast(&(df_structure->size)) - reinterpret_cast(df_structure); - p_table["value"] = reinterpret_cast(&(df_structure->value)) - reinterpret_cast(df_structure); - p_table["hits"] = reinterpret_cast(&(df_structure->hits)) - reinterpret_cast(df_structure); - p_table["material_size"] = reinterpret_cast(&(df_structure->material_size)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["attacks"] = reinterpret_cast(&(df_structure->attacks)) - reinterpret_cast(df_structure); -} - -void generate_itemdef_weaponst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["name_plural"] = reinterpret_cast(&(df_structure->name_plural)) - reinterpret_cast(df_structure); - p_table["adjective"] = reinterpret_cast(&(df_structure->adjective)) - reinterpret_cast(df_structure); - p_table["size"] = reinterpret_cast(&(df_structure->size)) - reinterpret_cast(df_structure); - p_table["value"] = reinterpret_cast(&(df_structure->value)) - reinterpret_cast(df_structure); - p_table["skill_melee"] = reinterpret_cast(&(df_structure->skill_melee)) - reinterpret_cast(df_structure); - p_table["skill_ranged"] = reinterpret_cast(&(df_structure->skill_ranged)) - reinterpret_cast(df_structure); - p_table["ranged_ammo"] = reinterpret_cast(&(df_structure->ranged_ammo)) - reinterpret_cast(df_structure); - p_table["two_handed"] = reinterpret_cast(&(df_structure->two_handed)) - reinterpret_cast(df_structure); - p_table["minimum_size"] = reinterpret_cast(&(df_structure->minimum_size)) - reinterpret_cast(df_structure); - p_table["material_size"] = reinterpret_cast(&(df_structure->material_size)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["attacks"] = reinterpret_cast(&(df_structure->attacks)) - reinterpret_cast(df_structure); - p_table["shoot_force"] = reinterpret_cast(&(df_structure->shoot_force)) - reinterpret_cast(df_structure); - p_table["shoot_maxvel"] = reinterpret_cast(&(df_structure->shoot_maxvel)) - reinterpret_cast(df_structure); -} - -void generate_dye_info_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["dyer"] = reinterpret_cast(&(df_structure->dyer)) - reinterpret_cast(df_structure); - p_table["quality"] = reinterpret_cast(&(df_structure->quality)) - reinterpret_cast(df_structure); - p_table["skill_rating"] = reinterpret_cast(&(df_structure->skill_rating)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_itemimprovement_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["maker"] = reinterpret_cast(&(df_structure->maker)) - reinterpret_cast(df_structure); - p_table["masterpiece_event"] = reinterpret_cast(&(df_structure->masterpiece_event)) - reinterpret_cast(df_structure); - p_table["quality"] = reinterpret_cast(&(df_structure->quality)) - reinterpret_cast(df_structure); - p_table["skill_rating"] = reinterpret_cast(&(df_structure->skill_rating)) - reinterpret_cast(df_structure); - p_table["unk_1"] = reinterpret_cast(&(df_structure->unk_1)) - reinterpret_cast(df_structure); -} - -void generate_itemimprovement_art_imagest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["image"] = reinterpret_cast(&(df_structure->image)) - reinterpret_cast(df_structure); -} - -void generate_itemimprovement_coveredst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["cover_flags"] = reinterpret_cast(&(df_structure->cover_flags)) - reinterpret_cast(df_structure); - p_table["shape"] = reinterpret_cast(&(df_structure->shape)) - reinterpret_cast(df_structure); -} - -void generate_itemimprovement_rings_hangingst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_itemimprovement_bandsst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["shape"] = reinterpret_cast(&(df_structure->shape)) - reinterpret_cast(df_structure); -} - -void generate_itemimprovement_spikesst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_itemimprovement_itemspecificst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); -} - -void generate_itemimprovement_threadst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["dye"] = reinterpret_cast(&(df_structure->dye)) - reinterpret_cast(df_structure); -} - -void generate_itemimprovement_clothst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_itemimprovement_sewn_imagest__T_cloth_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unit_id"] = reinterpret_cast(&(df_structure->unit_id)) - reinterpret_cast(df_structure); - p_table["quality"] = reinterpret_cast(&(df_structure->quality)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_itemimprovement_sewn_imagest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["image"] = reinterpret_cast(&(df_structure->image)) - reinterpret_cast(df_structure); - p_table["cloth"] = reinterpret_cast(&(df_structure->cloth)) - reinterpret_cast(df_structure); - p_table["dye"] = reinterpret_cast(&(df_structure->dye)) - reinterpret_cast(df_structure); -} - -void generate_itemimprovement_pagesst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["count"] = reinterpret_cast(&(df_structure->count)) - reinterpret_cast(df_structure); - p_table["contents"] = reinterpret_cast(&(df_structure->contents)) - reinterpret_cast(df_structure); -} - -void generate_itemimprovement_illustrationst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["image"] = reinterpret_cast(&(df_structure->image)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_itemimprovement_instrument_piecest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_itemimprovement_writingst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["contents"] = reinterpret_cast(&(df_structure->contents)) - reinterpret_cast(df_structure); -} - -void generate_written_content_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["title"] = reinterpret_cast(&(df_structure->title)) - reinterpret_cast(df_structure); - p_table["page_start"] = reinterpret_cast(&(df_structure->page_start)) - reinterpret_cast(df_structure); - p_table["page_end"] = reinterpret_cast(&(df_structure->page_end)) - reinterpret_cast(df_structure); - p_table["refs"] = reinterpret_cast(&(df_structure->refs)) - reinterpret_cast(df_structure); - p_table["ref_aux"] = reinterpret_cast(&(df_structure->ref_aux)) - reinterpret_cast(df_structure); - p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); - p_table["unk2"] = reinterpret_cast(&(df_structure->unk2)) - reinterpret_cast(df_structure); - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["poetic_form"] = reinterpret_cast(&(df_structure->poetic_form)) - reinterpret_cast(df_structure); - p_table["styles"] = reinterpret_cast(&(df_structure->styles)) - reinterpret_cast(df_structure); - p_table["style_strength"] = reinterpret_cast(&(df_structure->style_strength)) - reinterpret_cast(df_structure); - p_table["author"] = reinterpret_cast(&(df_structure->author)) - reinterpret_cast(df_structure); - p_table["author_roll"] = reinterpret_cast(&(df_structure->author_roll)) - reinterpret_cast(df_structure); -} - -void generate_engraving_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["artist"] = reinterpret_cast(&(df_structure->artist)) - reinterpret_cast(df_structure); - p_table["masterpiece_event"] = reinterpret_cast(&(df_structure->masterpiece_event)) - reinterpret_cast(df_structure); - p_table["skill_rating"] = reinterpret_cast(&(df_structure->skill_rating)) - reinterpret_cast(df_structure); - p_table["pos"] = reinterpret_cast(&(df_structure->pos)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["tile"] = reinterpret_cast(&(df_structure->tile)) - reinterpret_cast(df_structure); - p_table["art_id"] = reinterpret_cast(&(df_structure->art_id)) - reinterpret_cast(df_structure); - p_table["art_subid"] = reinterpret_cast(&(df_structure->art_subid)) - reinterpret_cast(df_structure); - p_table["quality"] = reinterpret_cast(&(df_structure->quality)) - reinterpret_cast(df_structure); - p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); - p_table["unk2"] = reinterpret_cast(&(df_structure->unk2)) - reinterpret_cast(df_structure); -} - -void generate_item_magicness_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["value"] = reinterpret_cast(&(df_structure->value)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); -} - -void generate_spatter_common_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["mat_state"] = reinterpret_cast(&(df_structure->mat_state)) - reinterpret_cast(df_structure); - p_table["temperature"] = reinterpret_cast(&(df_structure->temperature)) - reinterpret_cast(df_structure); - p_table["size"] = reinterpret_cast(&(df_structure->size)) - reinterpret_cast(df_structure); - p_table["base_flags"] = reinterpret_cast(&(df_structure->base_flags)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_adventure_option_eat_unit_contaminantst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); - p_table["spatter"] = reinterpret_cast(&(df_structure->spatter)) - reinterpret_cast(df_structure); -} - -void generate_adventure_option_view_contaminantst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); - p_table["spatter"] = reinterpret_cast(&(df_structure->spatter)) - reinterpret_cast(df_structure); -} - -void generate_spatter_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["body_part_id"] = reinterpret_cast(&(df_structure->body_part_id)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); -} - -void generate_item_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["pos"] = reinterpret_cast(&(df_structure->pos)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["flags2"] = reinterpret_cast(&(df_structure->flags2)) - reinterpret_cast(df_structure); - p_table["age"] = reinterpret_cast(&(df_structure->age)) - reinterpret_cast(df_structure); - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["specific_refs"] = reinterpret_cast(&(df_structure->specific_refs)) - reinterpret_cast(df_structure); - p_table["general_refs"] = reinterpret_cast(&(df_structure->general_refs)) - reinterpret_cast(df_structure); - p_table["world_data_id"] = reinterpret_cast(&(df_structure->world_data_id)) - reinterpret_cast(df_structure); - p_table["world_data_subid"] = reinterpret_cast(&(df_structure->world_data_subid)) - reinterpret_cast(df_structure); - p_table["stockpile_countdown"] = reinterpret_cast(&(df_structure->stockpile_countdown)) - reinterpret_cast(df_structure); - p_table["stockpile_delay"] = reinterpret_cast(&(df_structure->stockpile_delay)) - reinterpret_cast(df_structure); - p_table["unk2"] = reinterpret_cast(&(df_structure->unk2)) - reinterpret_cast(df_structure); - p_table["base_uniform_score"] = reinterpret_cast(&(df_structure->base_uniform_score)) - reinterpret_cast(df_structure); - p_table["walkable_id"] = reinterpret_cast(&(df_structure->walkable_id)) - reinterpret_cast(df_structure); - p_table["spec_heat"] = reinterpret_cast(&(df_structure->spec_heat)) - reinterpret_cast(df_structure); - p_table["ignite_point"] = reinterpret_cast(&(df_structure->ignite_point)) - reinterpret_cast(df_structure); - p_table["heatdam_point"] = reinterpret_cast(&(df_structure->heatdam_point)) - reinterpret_cast(df_structure); - p_table["colddam_point"] = reinterpret_cast(&(df_structure->colddam_point)) - reinterpret_cast(df_structure); - p_table["boiling_point"] = reinterpret_cast(&(df_structure->boiling_point)) - reinterpret_cast(df_structure); - p_table["melting_point"] = reinterpret_cast(&(df_structure->melting_point)) - reinterpret_cast(df_structure); - p_table["fixed_temp"] = reinterpret_cast(&(df_structure->fixed_temp)) - reinterpret_cast(df_structure); - p_table["weight"] = reinterpret_cast(&(df_structure->weight)) - reinterpret_cast(df_structure); - p_table["weight_fraction"] = reinterpret_cast(&(df_structure->weight_fraction)) - reinterpret_cast(df_structure); -} - -void generate_item_kill_info_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["targets"] = reinterpret_cast(&(df_structure->targets)) - reinterpret_cast(df_structure); - p_table["slayers"] = reinterpret_cast(&(df_structure->slayers)) - reinterpret_cast(df_structure); - p_table["slayer_kill_counts"] = reinterpret_cast(&(df_structure->slayer_kill_counts)) - reinterpret_cast(df_structure); -} - -void generate_item_history_info_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["kills"] = reinterpret_cast(&(df_structure->kills)) - reinterpret_cast(df_structure); - p_table["attack_counter"] = reinterpret_cast(&(df_structure->attack_counter)) - reinterpret_cast(df_structure); - p_table["defence_counter"] = reinterpret_cast(&(df_structure->defence_counter)) - reinterpret_cast(df_structure); -} - -void generate_item_actual_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["stack_size"] = reinterpret_cast(&(df_structure->stack_size)) - reinterpret_cast(df_structure); - p_table["history_info"] = reinterpret_cast(&(df_structure->history_info)) - reinterpret_cast(df_structure); - p_table["magic"] = reinterpret_cast(&(df_structure->magic)) - reinterpret_cast(df_structure); - p_table["contaminants"] = reinterpret_cast(&(df_structure->contaminants)) - reinterpret_cast(df_structure); - p_table["temperature"] = reinterpret_cast(&(df_structure->temperature)) - reinterpret_cast(df_structure); - p_table["wear"] = reinterpret_cast(&(df_structure->wear)) - reinterpret_cast(df_structure); - p_table["wear_timer"] = reinterpret_cast(&(df_structure->wear_timer)) - reinterpret_cast(df_structure); - p_table["unk_1"] = reinterpret_cast(&(df_structure->unk_1)) - reinterpret_cast(df_structure); - p_table["temp_updated_frame"] = reinterpret_cast(&(df_structure->temp_updated_frame)) - reinterpret_cast(df_structure); -} - -void generate_item_crafted_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["maker_race"] = reinterpret_cast(&(df_structure->maker_race)) - reinterpret_cast(df_structure); - p_table["quality"] = reinterpret_cast(&(df_structure->quality)) - reinterpret_cast(df_structure); - p_table["skill_used"] = reinterpret_cast(&(df_structure->skill_used)) - reinterpret_cast(df_structure); - p_table["maker"] = reinterpret_cast(&(df_structure->maker)) - reinterpret_cast(df_structure); - p_table["masterpiece_event"] = reinterpret_cast(&(df_structure->masterpiece_event)) - reinterpret_cast(df_structure); -} - -void generate_item_constructed_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["improvements"] = reinterpret_cast(&(df_structure->improvements)) - reinterpret_cast(df_structure); -} - -void generate_body_component_info_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["body_part_status"] = reinterpret_cast(&(df_structure->body_part_status)) - reinterpret_cast(df_structure); - p_table["numbered_masks"] = reinterpret_cast(&(df_structure->numbered_masks)) - reinterpret_cast(df_structure); - p_table["nonsolid_remaining"] = reinterpret_cast(&(df_structure->nonsolid_remaining)) - reinterpret_cast(df_structure); - p_table["layer_status"] = reinterpret_cast(&(df_structure->layer_status)) - reinterpret_cast(df_structure); - p_table["layer_wound_area"] = reinterpret_cast(&(df_structure->layer_wound_area)) - reinterpret_cast(df_structure); - p_table["layer_cut_fraction"] = reinterpret_cast(&(df_structure->layer_cut_fraction)) - reinterpret_cast(df_structure); - p_table["layer_dent_fraction"] = reinterpret_cast(&(df_structure->layer_dent_fraction)) - reinterpret_cast(df_structure); - p_table["layer_effect_fraction"] = reinterpret_cast(&(df_structure->layer_effect_fraction)) - reinterpret_cast(df_structure); -} - -void generate_item_body_component__T_body_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["wounds"] = reinterpret_cast(&(df_structure->wounds)) - reinterpret_cast(df_structure); - p_table["unk_100"] = reinterpret_cast(&(df_structure->unk_100)) - reinterpret_cast(df_structure); - p_table["unk_c8"] = reinterpret_cast(&(df_structure->unk_c8)) - reinterpret_cast(df_structure); - p_table["components"] = reinterpret_cast(&(df_structure->components)) - reinterpret_cast(df_structure); - p_table["physical_attr_value"] = reinterpret_cast(&(df_structure->physical_attr_value)) - reinterpret_cast(df_structure); - p_table["physical_attr_unk2"] = reinterpret_cast(&(df_structure->physical_attr_unk2)) - reinterpret_cast(df_structure); - p_table["size_info"] = reinterpret_cast(&(df_structure->size_info)) - reinterpret_cast(df_structure); - p_table["body_part_relsize"] = reinterpret_cast(&(df_structure->body_part_relsize)) - reinterpret_cast(df_structure); - p_table["body_modifiers"] = reinterpret_cast(&(df_structure->body_modifiers)) - reinterpret_cast(df_structure); - p_table["bp_modifiers"] = reinterpret_cast(&(df_structure->bp_modifiers)) - reinterpret_cast(df_structure); - p_table["size_modifier"] = reinterpret_cast(&(df_structure->size_modifier)) - reinterpret_cast(df_structure); -} - -void generate_item_body_component__T_appearance_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["colors"] = reinterpret_cast(&(df_structure->colors)) - reinterpret_cast(df_structure); - p_table["unk_1e8"] = reinterpret_cast(&(df_structure->unk_1e8)) - reinterpret_cast(df_structure); - p_table["unk_1f8"] = reinterpret_cast(&(df_structure->unk_1f8)) - reinterpret_cast(df_structure); - p_table["unk_208"] = reinterpret_cast(&(df_structure->unk_208)) - reinterpret_cast(df_structure); - p_table["unk_218"] = reinterpret_cast(&(df_structure->unk_218)) - reinterpret_cast(df_structure); -} - -void generate_item_body_component__T_bone1_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); -} - -void generate_item_body_component__T_bone2_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); -} - -void generate_item_body_component_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); - p_table["hist_figure_id"] = reinterpret_cast(&(df_structure->hist_figure_id)) - reinterpret_cast(df_structure); - p_table["unit_id"] = reinterpret_cast(&(df_structure->unit_id)) - reinterpret_cast(df_structure); - p_table["caste"] = reinterpret_cast(&(df_structure->caste)) - reinterpret_cast(df_structure); - p_table["sex"] = reinterpret_cast(&(df_structure->sex)) - reinterpret_cast(df_structure); - p_table["race2"] = reinterpret_cast(&(df_structure->race2)) - reinterpret_cast(df_structure); - p_table["caste2"] = reinterpret_cast(&(df_structure->caste2)) - reinterpret_cast(df_structure); - p_table["rot_timer"] = reinterpret_cast(&(df_structure->rot_timer)) - reinterpret_cast(df_structure); - p_table["unk_8c"] = reinterpret_cast(&(df_structure->unk_8c)) - reinterpret_cast(df_structure); - p_table["body"] = reinterpret_cast(&(df_structure->body)) - reinterpret_cast(df_structure); - p_table["birth_year"] = reinterpret_cast(&(df_structure->birth_year)) - reinterpret_cast(df_structure); - p_table["birth_time"] = reinterpret_cast(&(df_structure->birth_time)) - reinterpret_cast(df_structure); - p_table["curse_year"] = reinterpret_cast(&(df_structure->curse_year)) - reinterpret_cast(df_structure); - p_table["curse_time"] = reinterpret_cast(&(df_structure->curse_time)) - reinterpret_cast(df_structure); - p_table["birth_year_bias"] = reinterpret_cast(&(df_structure->birth_year_bias)) - reinterpret_cast(df_structure); - p_table["birth_time_bias"] = reinterpret_cast(&(df_structure->birth_time_bias)) - reinterpret_cast(df_structure); - p_table["death_year"] = reinterpret_cast(&(df_structure->death_year)) - reinterpret_cast(df_structure); - p_table["death_time"] = reinterpret_cast(&(df_structure->death_time)) - reinterpret_cast(df_structure); - p_table["appearance"] = reinterpret_cast(&(df_structure->appearance)) - reinterpret_cast(df_structure); - p_table["blood_count"] = reinterpret_cast(&(df_structure->blood_count)) - reinterpret_cast(df_structure); - p_table["stored_fat"] = reinterpret_cast(&(df_structure->stored_fat)) - reinterpret_cast(df_structure); - p_table["hist_figure_id2"] = reinterpret_cast(&(df_structure->hist_figure_id2)) - reinterpret_cast(df_structure); - p_table["corpse_flags"] = reinterpret_cast(&(df_structure->corpse_flags)) - reinterpret_cast(df_structure); - p_table["unit_id2"] = reinterpret_cast(&(df_structure->unit_id2)) - reinterpret_cast(df_structure); - p_table["unk_3401"] = reinterpret_cast(&(df_structure->unk_3401)) - reinterpret_cast(df_structure); - p_table["material_amount"] = reinterpret_cast(&(df_structure->material_amount)) - reinterpret_cast(df_structure); - p_table["bone1"] = reinterpret_cast(&(df_structure->bone1)) - reinterpret_cast(df_structure); - p_table["bone2"] = reinterpret_cast(&(df_structure->bone2)) - reinterpret_cast(df_structure); -} - -void generate_item_corpsest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_item_corpsepiecest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_item_liquipowder_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_state"] = reinterpret_cast(&(df_structure->mat_state)) - reinterpret_cast(df_structure); - p_table["dimension"] = reinterpret_cast(&(df_structure->dimension)) - reinterpret_cast(df_structure); -} - -void generate_item_liquid_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); -} - -void generate_item_powder_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); -} - -void generate_item_barst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["subtype"] = reinterpret_cast(&(df_structure->subtype)) - reinterpret_cast(df_structure); - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["dimension"] = reinterpret_cast(&(df_structure->dimension)) - reinterpret_cast(df_structure); -} - -void generate_item_smallgemst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["shape"] = reinterpret_cast(&(df_structure->shape)) - reinterpret_cast(df_structure); -} - -void generate_item_blocksst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); -} - -void generate_item_roughst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); -} - -void generate_item_boulderst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); -} - -void generate_item_woodst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); -} - -void generate_item_branchst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); -} - -void generate_item_rockst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["sharpness"] = reinterpret_cast(&(df_structure->sharpness)) - reinterpret_cast(df_structure); - p_table["unk_84"] = reinterpret_cast(&(df_structure->unk_84)) - reinterpret_cast(df_structure); -} - -void generate_item_seedsst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["grow_counter"] = reinterpret_cast(&(df_structure->grow_counter)) - reinterpret_cast(df_structure); - p_table["planting_skill"] = reinterpret_cast(&(df_structure->planting_skill)) - reinterpret_cast(df_structure); -} - -void generate_item_skin_tannedst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["unk_80"] = reinterpret_cast(&(df_structure->unk_80)) - reinterpret_cast(df_structure); -} - -void generate_item_meatst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["rot_timer"] = reinterpret_cast(&(df_structure->rot_timer)) - reinterpret_cast(df_structure); -} - -void generate_item_plantst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["rot_timer"] = reinterpret_cast(&(df_structure->rot_timer)) - reinterpret_cast(df_structure); -} - -void generate_item_plant_growthst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["subtype"] = reinterpret_cast(&(df_structure->subtype)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["rot_timer"] = reinterpret_cast(&(df_structure->rot_timer)) - reinterpret_cast(df_structure); -} - -void generate_item_cheesest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["rot_timer"] = reinterpret_cast(&(df_structure->rot_timer)) - reinterpret_cast(df_structure); -} - -void generate_item_globst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["rot_timer"] = reinterpret_cast(&(df_structure->rot_timer)) - reinterpret_cast(df_structure); - p_table["mat_state"] = reinterpret_cast(&(df_structure->mat_state)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_item_remainsst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); - p_table["caste"] = reinterpret_cast(&(df_structure->caste)) - reinterpret_cast(df_structure); - p_table["rot_timer"] = reinterpret_cast(&(df_structure->rot_timer)) - reinterpret_cast(df_structure); -} - -void generate_item_fishst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); - p_table["caste"] = reinterpret_cast(&(df_structure->caste)) - reinterpret_cast(df_structure); - p_table["rot_timer"] = reinterpret_cast(&(df_structure->rot_timer)) - reinterpret_cast(df_structure); -} - -void generate_item_fish_rawst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); - p_table["caste"] = reinterpret_cast(&(df_structure->caste)) - reinterpret_cast(df_structure); - p_table["rot_timer"] = reinterpret_cast(&(df_structure->rot_timer)) - reinterpret_cast(df_structure); -} - -void generate_item_foodst__T_ingredients_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); - p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["maker"] = reinterpret_cast(&(df_structure->maker)) - reinterpret_cast(df_structure); - p_table["quality"] = reinterpret_cast(&(df_structure->quality)) - reinterpret_cast(df_structure); - p_table["unk_14"] = reinterpret_cast(&(df_structure->unk_14)) - reinterpret_cast(df_structure); - p_table["unk_18"] = reinterpret_cast(&(df_structure->unk_18)) - reinterpret_cast(df_structure); -} - -void generate_item_foodst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["subtype"] = reinterpret_cast(&(df_structure->subtype)) - reinterpret_cast(df_structure); - p_table["entity"] = reinterpret_cast(&(df_structure->entity)) - reinterpret_cast(df_structure); - p_table["recipe_id"] = reinterpret_cast(&(df_structure->recipe_id)) - reinterpret_cast(df_structure); - p_table["ingredients"] = reinterpret_cast(&(df_structure->ingredients)) - reinterpret_cast(df_structure); - p_table["rot_timer"] = reinterpret_cast(&(df_structure->rot_timer)) - reinterpret_cast(df_structure); -} - -void generate_item_drinkst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_item_powder_miscst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_item_liquid_miscst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk_88"] = reinterpret_cast(&(df_structure->unk_88)) - reinterpret_cast(df_structure); -} - -void generate_item_threadst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["dye_mat_type"] = reinterpret_cast(&(df_structure->dye_mat_type)) - reinterpret_cast(df_structure); - p_table["dye_mat_index"] = reinterpret_cast(&(df_structure->dye_mat_index)) - reinterpret_cast(df_structure); - p_table["unk_88"] = reinterpret_cast(&(df_structure->unk_88)) - reinterpret_cast(df_structure); - p_table["unk_8c"] = reinterpret_cast(&(df_structure->unk_8c)) - reinterpret_cast(df_structure); - p_table["dye_quality"] = reinterpret_cast(&(df_structure->dye_quality)) - reinterpret_cast(df_structure); - p_table["unk_92"] = reinterpret_cast(&(df_structure->unk_92)) - reinterpret_cast(df_structure); - p_table["unk_94"] = reinterpret_cast(&(df_structure->unk_94)) - reinterpret_cast(df_structure); - p_table["unk_98"] = reinterpret_cast(&(df_structure->unk_98)) - reinterpret_cast(df_structure); - p_table["dimension"] = reinterpret_cast(&(df_structure->dimension)) - reinterpret_cast(df_structure); -} - -void generate_item_eggst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); - p_table["caste"] = reinterpret_cast(&(df_structure->caste)) - reinterpret_cast(df_structure); - p_table["unk_7c"] = reinterpret_cast(&(df_structure->unk_7c)) - reinterpret_cast(df_structure); - p_table["egg_materials"] = reinterpret_cast(&(df_structure->egg_materials)) - reinterpret_cast(df_structure); - p_table["egg_flags"] = reinterpret_cast(&(df_structure->egg_flags)) - reinterpret_cast(df_structure); - p_table["incubation_counter"] = reinterpret_cast(&(df_structure->incubation_counter)) - reinterpret_cast(df_structure); - p_table["hatchling_civ_id"] = reinterpret_cast(&(df_structure->hatchling_civ_id)) - reinterpret_cast(df_structure); - p_table["hatchling_population_id"] = reinterpret_cast(&(df_structure->hatchling_population_id)) - reinterpret_cast(df_structure); - p_table["hatchling_unit_unk_c0"] = reinterpret_cast(&(df_structure->hatchling_unit_unk_c0)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["mothers_genes"] = reinterpret_cast(&(df_structure->mothers_genes)) - reinterpret_cast(df_structure); - p_table["mothers_caste"] = reinterpret_cast(&(df_structure->mothers_caste)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["fathers_genes"] = reinterpret_cast(&(df_structure->fathers_genes)) - reinterpret_cast(df_structure); - p_table["fathers_caste"] = reinterpret_cast(&(df_structure->fathers_caste)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["hatchling_flags1"] = reinterpret_cast(&(df_structure->hatchling_flags1)) - reinterpret_cast(df_structure); - p_table["hatchling_flags2"] = reinterpret_cast(&(df_structure->hatchling_flags2)) - reinterpret_cast(df_structure); - p_table["hatchling_flags3"] = reinterpret_cast(&(df_structure->hatchling_flags3)) - reinterpret_cast(df_structure); - p_table["unk_v42_1"] = reinterpret_cast(&(df_structure->unk_v42_1)) - reinterpret_cast(df_structure); - p_table["hatchling_training_level"] = reinterpret_cast(&(df_structure->hatchling_training_level)) - reinterpret_cast(df_structure); - p_table["hatchling_animal_population"] = reinterpret_cast(&(df_structure->hatchling_animal_population)) - reinterpret_cast(df_structure); - p_table["hatchling_mother_id"] = reinterpret_cast(&(df_structure->hatchling_mother_id)) - reinterpret_cast(df_structure); - p_table["size"] = reinterpret_cast(&(df_structure->size)) - reinterpret_cast(df_structure); -} - -void generate_item_doorst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_item_floodgatest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_item_bedst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_item_chairst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_item_chainst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_item_flaskst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_item_gobletst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_item_windowst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_item_cagest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_item_bucketst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_item_animaltrapst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_item_tablest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_item_coffinst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_item_boxst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_item_armorstandst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_item_weaponrackst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_item_cabinetst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_item_amuletst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_item_scepterst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_item_crownst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_item_ringst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_item_earringst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_item_braceletst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_item_anvilst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_item_backpackst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_item_quiverst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_item_catapultpartsst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_item_ballistapartsst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_item_trappartsst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_item_pipe_sectionst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_item_hatch_coverst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_item_gratest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_item_quernst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_item_millstonest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_item_splintst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_item_crutchst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_item_traction_benchst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_item_instrumentst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["subtype"] = reinterpret_cast(&(df_structure->subtype)) - reinterpret_cast(df_structure); -} - -void generate_item_toyst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["subtype"] = reinterpret_cast(&(df_structure->subtype)) - reinterpret_cast(df_structure); -} - -void generate_item_armorst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["subtype"] = reinterpret_cast(&(df_structure->subtype)) - reinterpret_cast(df_structure); -} - -void generate_item_shoesst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["subtype"] = reinterpret_cast(&(df_structure->subtype)) - reinterpret_cast(df_structure); -} - -void generate_item_shieldst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["subtype"] = reinterpret_cast(&(df_structure->subtype)) - reinterpret_cast(df_structure); -} - -void generate_item_helmst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["subtype"] = reinterpret_cast(&(df_structure->subtype)) - reinterpret_cast(df_structure); -} - -void generate_item_glovesst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["subtype"] = reinterpret_cast(&(df_structure->subtype)) - reinterpret_cast(df_structure); - p_table["handedness"] = reinterpret_cast(&(df_structure->handedness)) - reinterpret_cast(df_structure); -} - -void generate_item_pantsst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["subtype"] = reinterpret_cast(&(df_structure->subtype)) - reinterpret_cast(df_structure); -} - -void generate_item_siegeammost_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["subtype"] = reinterpret_cast(&(df_structure->subtype)) - reinterpret_cast(df_structure); - p_table["sharpness"] = reinterpret_cast(&(df_structure->sharpness)) - reinterpret_cast(df_structure); -} - -void generate_item_weaponst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["subtype"] = reinterpret_cast(&(df_structure->subtype)) - reinterpret_cast(df_structure); - p_table["sharpness"] = reinterpret_cast(&(df_structure->sharpness)) - reinterpret_cast(df_structure); -} - -void generate_item_ammost_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["subtype"] = reinterpret_cast(&(df_structure->subtype)) - reinterpret_cast(df_structure); - p_table["sharpness"] = reinterpret_cast(&(df_structure->sharpness)) - reinterpret_cast(df_structure); -} - -void generate_item_trapcompst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["subtype"] = reinterpret_cast(&(df_structure->subtype)) - reinterpret_cast(df_structure); - p_table["sharpness"] = reinterpret_cast(&(df_structure->sharpness)) - reinterpret_cast(df_structure); -} - -void generate_item_toolst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["subtype"] = reinterpret_cast(&(df_structure->subtype)) - reinterpret_cast(df_structure); - p_table["sharpness"] = reinterpret_cast(&(df_structure->sharpness)) - reinterpret_cast(df_structure); - p_table["stockpile"] = reinterpret_cast(&(df_structure->stockpile)) - reinterpret_cast(df_structure); - p_table["vehicle_id"] = reinterpret_cast(&(df_structure->vehicle_id)) - reinterpret_cast(df_structure); -} - -void generate_item_barrelst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["stockpile"] = reinterpret_cast(&(df_structure->stockpile)) - reinterpret_cast(df_structure); -} - -void generate_item_binst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["stockpile"] = reinterpret_cast(&(df_structure->stockpile)) - reinterpret_cast(df_structure); -} - -void generate_item_gemst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["shape"] = reinterpret_cast(&(df_structure->shape)) - reinterpret_cast(df_structure); -} - -void generate_item_statuest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["image"] = reinterpret_cast(&(df_structure->image)) - reinterpret_cast(df_structure); - p_table["description"] = reinterpret_cast(&(df_structure->description)) - reinterpret_cast(df_structure); -} - -void generate_item_figurinest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["image"] = reinterpret_cast(&(df_structure->image)) - reinterpret_cast(df_structure); - p_table["description"] = reinterpret_cast(&(df_structure->description)) - reinterpret_cast(df_structure); -} - -void generate_item_slabst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["description"] = reinterpret_cast(&(df_structure->description)) - reinterpret_cast(df_structure); - p_table["topic"] = reinterpret_cast(&(df_structure->topic)) - reinterpret_cast(df_structure); - p_table["engraving_type"] = reinterpret_cast(&(df_structure->engraving_type)) - reinterpret_cast(df_structure); -} - -void generate_item_orthopedic_castst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["body_part"] = reinterpret_cast(&(df_structure->body_part)) - reinterpret_cast(df_structure); - p_table["material"] = reinterpret_cast(&(df_structure->material)) - reinterpret_cast(df_structure); -} - -void generate_item_coinst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["coin_batch"] = reinterpret_cast(&(df_structure->coin_batch)) - reinterpret_cast(df_structure); -} - -void generate_item_totemst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); - p_table["caste"] = reinterpret_cast(&(df_structure->caste)) - reinterpret_cast(df_structure); - p_table["body_part_idx"] = reinterpret_cast(&(df_structure->body_part_idx)) - reinterpret_cast(df_structure); -} - -void generate_item_clothst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["dimension"] = reinterpret_cast(&(df_structure->dimension)) - reinterpret_cast(df_structure); -} - -void generate_item_bookst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["title"] = reinterpret_cast(&(df_structure->title)) - reinterpret_cast(df_structure); -} - -void generate_item_ballistaarrowheadst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["sharpness"] = reinterpret_cast(&(df_structure->sharpness)) - reinterpret_cast(df_structure); -} - -void generate_item_sheetst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); -} - -void generate_job_list_link_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["item"] = reinterpret_cast(&(df_structure->item)) - reinterpret_cast(df_structure); - p_table["prev"] = reinterpret_cast(&(df_structure->prev)) - reinterpret_cast(df_structure); - p_table["next"] = reinterpret_cast(&(df_structure->next)) - reinterpret_cast(df_structure); -} - -void generate_job_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["list_link"] = reinterpret_cast(&(df_structure->list_link)) - reinterpret_cast(df_structure); - p_table["posting_index"] = reinterpret_cast(&(df_structure->posting_index)) - reinterpret_cast(df_structure); - p_table["job_type"] = reinterpret_cast(&(df_structure->job_type)) - reinterpret_cast(df_structure); - p_table["job_subtype"] = reinterpret_cast(&(df_structure->job_subtype)) - reinterpret_cast(df_structure); - p_table["pos"] = reinterpret_cast(&(df_structure->pos)) - reinterpret_cast(df_structure); - p_table["completion_timer"] = reinterpret_cast(&(df_structure->completion_timer)) - reinterpret_cast(df_structure); - p_table["unk4"] = reinterpret_cast(&(df_structure->unk4)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["unk5"] = reinterpret_cast(&(df_structure->unk5)) - reinterpret_cast(df_structure); - p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); - p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); - p_table["item_category"] = reinterpret_cast(&(df_structure->item_category)) - reinterpret_cast(df_structure); - p_table["hist_figure_id"] = reinterpret_cast(&(df_structure->hist_figure_id)) - reinterpret_cast(df_structure); - p_table["material_category"] = reinterpret_cast(&(df_structure->material_category)) - reinterpret_cast(df_structure); - p_table["reaction_name"] = reinterpret_cast(&(df_structure->reaction_name)) - reinterpret_cast(df_structure); - p_table["expire_timer"] = reinterpret_cast(&(df_structure->expire_timer)) - reinterpret_cast(df_structure); - p_table["recheck_cntdn"] = reinterpret_cast(&(df_structure->recheck_cntdn)) - reinterpret_cast(df_structure); - p_table["wait_timer"] = reinterpret_cast(&(df_structure->wait_timer)) - reinterpret_cast(df_structure); - p_table["unk11"] = reinterpret_cast(&(df_structure->unk11)) - reinterpret_cast(df_structure); - p_table["items"] = reinterpret_cast(&(df_structure->items)) - reinterpret_cast(df_structure); - p_table["specific_refs"] = reinterpret_cast(&(df_structure->specific_refs)) - reinterpret_cast(df_structure); - p_table["general_refs"] = reinterpret_cast(&(df_structure->general_refs)) - reinterpret_cast(df_structure); - p_table["job_items"] = reinterpret_cast(&(df_structure->job_items)) - reinterpret_cast(df_structure); - p_table["guide_path"] = reinterpret_cast(&(df_structure->guide_path)) - reinterpret_cast(df_structure); - p_table["cur_path_index"] = reinterpret_cast(&(df_structure->cur_path_index)) - reinterpret_cast(df_structure); - p_table["unk_v4020_2"] = reinterpret_cast(&(df_structure->unk_v4020_2)) - reinterpret_cast(df_structure); - p_table["art_spec"] = reinterpret_cast(&(df_structure->art_spec)) - reinterpret_cast(df_structure); - p_table["unk_v43_4"] = reinterpret_cast(&(df_structure->unk_v43_4)) - reinterpret_cast(df_structure); -} - -void generate_job_item_ref_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["item"] = reinterpret_cast(&(df_structure->item)) - reinterpret_cast(df_structure); - p_table["role"] = reinterpret_cast(&(df_structure->role)) - reinterpret_cast(df_structure); - p_table["is_fetching"] = reinterpret_cast(&(df_structure->is_fetching)) - reinterpret_cast(df_structure); - p_table["job_item_idx"] = reinterpret_cast(&(df_structure->job_item_idx)) - reinterpret_cast(df_structure); -} - -void generate_job_item_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); - p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["flags1"] = reinterpret_cast(&(df_structure->flags1)) - reinterpret_cast(df_structure); - p_table["quantity"] = reinterpret_cast(&(df_structure->quantity)) - reinterpret_cast(df_structure); - p_table["vector_id"] = reinterpret_cast(&(df_structure->vector_id)) - reinterpret_cast(df_structure); - p_table["flags2"] = reinterpret_cast(&(df_structure->flags2)) - reinterpret_cast(df_structure); - p_table["flags3"] = reinterpret_cast(&(df_structure->flags3)) - reinterpret_cast(df_structure); - p_table["flags4"] = reinterpret_cast(&(df_structure->flags4)) - reinterpret_cast(df_structure); - p_table["flags5"] = reinterpret_cast(&(df_structure->flags5)) - reinterpret_cast(df_structure); - p_table["metal_ore"] = reinterpret_cast(&(df_structure->metal_ore)) - reinterpret_cast(df_structure); - p_table["reaction_class"] = reinterpret_cast(&(df_structure->reaction_class)) - reinterpret_cast(df_structure); - p_table["has_material_reaction_product"] = reinterpret_cast(&(df_structure->has_material_reaction_product)) - reinterpret_cast(df_structure); - p_table["min_dimension"] = reinterpret_cast(&(df_structure->min_dimension)) - reinterpret_cast(df_structure); - p_table["reagent_index"] = reinterpret_cast(&(df_structure->reagent_index)) - reinterpret_cast(df_structure); - p_table["contains"] = reinterpret_cast(&(df_structure->contains)) - reinterpret_cast(df_structure); - p_table["reaction_id"] = reinterpret_cast(&(df_structure->reaction_id)) - reinterpret_cast(df_structure); - p_table["has_tool_use"] = reinterpret_cast(&(df_structure->has_tool_use)) - reinterpret_cast(df_structure); - p_table["unk_v43_1"] = reinterpret_cast(&(df_structure->unk_v43_1)) - reinterpret_cast(df_structure); - p_table["unk_v43_2"] = reinterpret_cast(&(df_structure->unk_v43_2)) - reinterpret_cast(df_structure); - p_table["unk_v43_3"] = reinterpret_cast(&(df_structure->unk_v43_3)) - reinterpret_cast(df_structure); - p_table["unk_v43_4"] = reinterpret_cast(&(df_structure->unk_v43_4)) - reinterpret_cast(df_structure); -} - -void generate_job_item_filter_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); - p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["flags1"] = reinterpret_cast(&(df_structure->flags1)) - reinterpret_cast(df_structure); - p_table["item_vector"] = reinterpret_cast(&(df_structure->item_vector)) - reinterpret_cast(df_structure); - p_table["use_mat_index"] = reinterpret_cast(&(df_structure->use_mat_index)) - reinterpret_cast(df_structure); - p_table["flags2"] = reinterpret_cast(&(df_structure->flags2)) - reinterpret_cast(df_structure); - p_table["use_flags2"] = reinterpret_cast(&(df_structure->use_flags2)) - reinterpret_cast(df_structure); - p_table["flags3"] = reinterpret_cast(&(df_structure->flags3)) - reinterpret_cast(df_structure); - p_table["use_flags3"] = reinterpret_cast(&(df_structure->use_flags3)) - reinterpret_cast(df_structure); - p_table["flags4"] = reinterpret_cast(&(df_structure->flags4)) - reinterpret_cast(df_structure); - p_table["use_flags4"] = reinterpret_cast(&(df_structure->use_flags4)) - reinterpret_cast(df_structure); - p_table["flags5"] = reinterpret_cast(&(df_structure->flags5)) - reinterpret_cast(df_structure); - p_table["use_flags5"] = reinterpret_cast(&(df_structure->use_flags5)) - reinterpret_cast(df_structure); - p_table["reaction_class"] = reinterpret_cast(&(df_structure->reaction_class)) - reinterpret_cast(df_structure); - p_table["has_material_reaction_product"] = reinterpret_cast(&(df_structure->has_material_reaction_product)) - reinterpret_cast(df_structure); - p_table["metal_ore"] = reinterpret_cast(&(df_structure->metal_ore)) - reinterpret_cast(df_structure); - p_table["use_metal_ore"] = reinterpret_cast(&(df_structure->use_metal_ore)) - reinterpret_cast(df_structure); - p_table["use_reaction_class"] = reinterpret_cast(&(df_structure->use_reaction_class)) - reinterpret_cast(df_structure); - p_table["use_reaction_product"] = reinterpret_cast(&(df_structure->use_reaction_product)) - reinterpret_cast(df_structure); - p_table["min_dimension"] = reinterpret_cast(&(df_structure->min_dimension)) - reinterpret_cast(df_structure); - p_table["reaction_id"] = reinterpret_cast(&(df_structure->reaction_id)) - reinterpret_cast(df_structure); - p_table["contains"] = reinterpret_cast(&(df_structure->contains)) - reinterpret_cast(df_structure); - p_table["use_contains"] = reinterpret_cast(&(df_structure->use_contains)) - reinterpret_cast(df_structure); - p_table["has_tool_use"] = reinterpret_cast(&(df_structure->has_tool_use)) - reinterpret_cast(df_structure); - p_table["has_melee_skill"] = reinterpret_cast(&(df_structure->has_melee_skill)) - reinterpret_cast(df_structure); - p_table["unk_v40_1"] = reinterpret_cast(&(df_structure->unk_v40_1)) - reinterpret_cast(df_structure); - p_table["pos"] = reinterpret_cast(&(df_structure->pos)) - reinterpret_cast(df_structure); - p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); - p_table["job"] = reinterpret_cast(&(df_structure->job)) - reinterpret_cast(df_structure); - p_table["building"] = reinterpret_cast(&(df_structure->building)) - reinterpret_cast(df_structure); - p_table["unk_74"] = reinterpret_cast(&(df_structure->unk_74)) - reinterpret_cast(df_structure); - p_table["unk_v4305_1"] = reinterpret_cast(&(df_structure->unk_v4305_1)) - reinterpret_cast(df_structure); - p_table["burrows"] = reinterpret_cast(&(df_structure->burrows)) - reinterpret_cast(df_structure); - p_table["use_burrows"] = reinterpret_cast(&(df_structure->use_burrows)) - reinterpret_cast(df_structure); - p_table["take_from"] = reinterpret_cast(&(df_structure->take_from)) - reinterpret_cast(df_structure); -} - -void generate_manager_order_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["job_type"] = reinterpret_cast(&(df_structure->job_type)) - reinterpret_cast(df_structure); - p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); - p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); - p_table["reaction_name"] = reinterpret_cast(&(df_structure->reaction_name)) - reinterpret_cast(df_structure); - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["item_category"] = reinterpret_cast(&(df_structure->item_category)) - reinterpret_cast(df_structure); - p_table["hist_figure_id"] = reinterpret_cast(&(df_structure->hist_figure_id)) - reinterpret_cast(df_structure); - p_table["material_category"] = reinterpret_cast(&(df_structure->material_category)) - reinterpret_cast(df_structure); - p_table["art_spec"] = reinterpret_cast(&(df_structure->art_spec)) - reinterpret_cast(df_structure); - p_table["amount_left"] = reinterpret_cast(&(df_structure->amount_left)) - reinterpret_cast(df_structure); - p_table["amount_total"] = reinterpret_cast(&(df_structure->amount_total)) - reinterpret_cast(df_structure); - p_table["status"] = reinterpret_cast(&(df_structure->status)) - reinterpret_cast(df_structure); - p_table["frequency"] = reinterpret_cast(&(df_structure->frequency)) - reinterpret_cast(df_structure); - p_table["finished_year"] = reinterpret_cast(&(df_structure->finished_year)) - reinterpret_cast(df_structure); - p_table["finished_year_tick"] = reinterpret_cast(&(df_structure->finished_year_tick)) - reinterpret_cast(df_structure); - p_table["workshop_id"] = reinterpret_cast(&(df_structure->workshop_id)) - reinterpret_cast(df_structure); - p_table["max_workshops"] = reinterpret_cast(&(df_structure->max_workshops)) - reinterpret_cast(df_structure); - p_table["item_conditions"] = reinterpret_cast(&(df_structure->item_conditions)) - reinterpret_cast(df_structure); - p_table["order_conditions"] = reinterpret_cast(&(df_structure->order_conditions)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_manager_order_condition_item_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["compare_type"] = reinterpret_cast(&(df_structure->compare_type)) - reinterpret_cast(df_structure); - p_table["compare_val"] = reinterpret_cast(&(df_structure->compare_val)) - reinterpret_cast(df_structure); - p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); - p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["flags1"] = reinterpret_cast(&(df_structure->flags1)) - reinterpret_cast(df_structure); - p_table["flags2"] = reinterpret_cast(&(df_structure->flags2)) - reinterpret_cast(df_structure); - p_table["flags3"] = reinterpret_cast(&(df_structure->flags3)) - reinterpret_cast(df_structure); - p_table["flags4"] = reinterpret_cast(&(df_structure->flags4)) - reinterpret_cast(df_structure); - p_table["flags5"] = reinterpret_cast(&(df_structure->flags5)) - reinterpret_cast(df_structure); - p_table["reaction_class"] = reinterpret_cast(&(df_structure->reaction_class)) - reinterpret_cast(df_structure); - p_table["has_material_reaction_product"] = reinterpret_cast(&(df_structure->has_material_reaction_product)) - reinterpret_cast(df_structure); - p_table["inorganic_bearing"] = reinterpret_cast(&(df_structure->inorganic_bearing)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["has_tool_use"] = reinterpret_cast(&(df_structure->has_tool_use)) - reinterpret_cast(df_structure); -} - -void generate_manager_order_template_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["job_type"] = reinterpret_cast(&(df_structure->job_type)) - reinterpret_cast(df_structure); - p_table["reaction_name"] = reinterpret_cast(&(df_structure->reaction_name)) - reinterpret_cast(df_structure); - p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); - p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["item_category"] = reinterpret_cast(&(df_structure->item_category)) - reinterpret_cast(df_structure); - p_table["hist_figure_id"] = reinterpret_cast(&(df_structure->hist_figure_id)) - reinterpret_cast(df_structure); - p_table["material_category"] = reinterpret_cast(&(df_structure->material_category)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_mandate__T_punishment_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["hammerstrikes"] = reinterpret_cast(&(df_structure->hammerstrikes)) - reinterpret_cast(df_structure); - p_table["prison_time"] = reinterpret_cast(&(df_structure->prison_time)) - reinterpret_cast(df_structure); - p_table["give_beating"] = reinterpret_cast(&(df_structure->give_beating)) - reinterpret_cast(df_structure); -} - -void generate_mandate_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); - p_table["mode"] = reinterpret_cast(&(df_structure->mode)) - reinterpret_cast(df_structure); - p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); - p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["amount_total"] = reinterpret_cast(&(df_structure->amount_total)) - reinterpret_cast(df_structure); - p_table["amount_remaining"] = reinterpret_cast(&(df_structure->amount_remaining)) - reinterpret_cast(df_structure); - p_table["timeout_counter"] = reinterpret_cast(&(df_structure->timeout_counter)) - reinterpret_cast(df_structure); - p_table["timeout_limit"] = reinterpret_cast(&(df_structure->timeout_limit)) - reinterpret_cast(df_structure); - p_table["punishment"] = reinterpret_cast(&(df_structure->punishment)) - reinterpret_cast(df_structure); - p_table["punish_multiple"] = reinterpret_cast(&(df_structure->punish_multiple)) - reinterpret_cast(df_structure); - p_table["unk4"] = reinterpret_cast(&(df_structure->unk4)) - reinterpret_cast(df_structure); -} - -void generate_unit_demand_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk_0"] = reinterpret_cast(&(df_structure->unk_0)) - reinterpret_cast(df_structure); - p_table["place"] = reinterpret_cast(&(df_structure->place)) - reinterpret_cast(df_structure); - p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); - p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["timeout_counter"] = reinterpret_cast(&(df_structure->timeout_counter)) - reinterpret_cast(df_structure); - p_table["timeout_limit"] = reinterpret_cast(&(df_structure->timeout_limit)) - reinterpret_cast(df_structure); -} - -void generate_knowledge_scholar_category_flag__T_flags_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["flags_0"] = reinterpret_cast(&(df_structure->flags_0)) - reinterpret_cast(df_structure); - p_table["flags_1"] = reinterpret_cast(&(df_structure->flags_1)) - reinterpret_cast(df_structure); - p_table["flags_2"] = reinterpret_cast(&(df_structure->flags_2)) - reinterpret_cast(df_structure); - p_table["flags_3"] = reinterpret_cast(&(df_structure->flags_3)) - reinterpret_cast(df_structure); - p_table["flags_4"] = reinterpret_cast(&(df_structure->flags_4)) - reinterpret_cast(df_structure); - p_table["flags_5"] = reinterpret_cast(&(df_structure->flags_5)) - reinterpret_cast(df_structure); - p_table["flags_6"] = reinterpret_cast(&(df_structure->flags_6)) - reinterpret_cast(df_structure); - p_table["flags_7"] = reinterpret_cast(&(df_structure->flags_7)) - reinterpret_cast(df_structure); - p_table["flags_8"] = reinterpret_cast(&(df_structure->flags_8)) - reinterpret_cast(df_structure); - p_table["flags_9"] = reinterpret_cast(&(df_structure->flags_9)) - reinterpret_cast(df_structure); - p_table["flags_10"] = reinterpret_cast(&(df_structure->flags_10)) - reinterpret_cast(df_structure); - p_table["flags_11"] = reinterpret_cast(&(df_structure->flags_11)) - reinterpret_cast(df_structure); - p_table["flags_12"] = reinterpret_cast(&(df_structure->flags_12)) - reinterpret_cast(df_structure); - p_table["flags_13"] = reinterpret_cast(&(df_structure->flags_13)) - reinterpret_cast(df_structure); - p_table["whole"] = reinterpret_cast(&(df_structure->whole)) - reinterpret_cast(df_structure); -} - -void generate_knowledge_scholar_category_flag_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["category"] = reinterpret_cast(&(df_structure->category)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); -} - -void generate_history_event_knowledge_discoveredst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["hf"] = reinterpret_cast(&(df_structure->hf)) - reinterpret_cast(df_structure); - p_table["knowledge"] = reinterpret_cast(&(df_structure->knowledge)) - reinterpret_cast(df_structure); - p_table["first"] = reinterpret_cast(&(df_structure->first)) - reinterpret_cast(df_structure); -} - -void generate_language_word_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["word"] = reinterpret_cast(&(df_structure->word)) - reinterpret_cast(df_structure); - p_table["forms"] = reinterpret_cast(&(df_structure->forms)) - reinterpret_cast(df_structure); - p_table["adj_dist"] = reinterpret_cast(&(df_structure->adj_dist)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["str"] = reinterpret_cast(&(df_structure->str)) - reinterpret_cast(df_structure); -} - -void generate_language_name_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["first_name"] = reinterpret_cast(&(df_structure->first_name)) - reinterpret_cast(df_structure); - p_table["nickname"] = reinterpret_cast(&(df_structure->nickname)) - reinterpret_cast(df_structure); - p_table["words"] = reinterpret_cast(&(df_structure->words)) - reinterpret_cast(df_structure); - p_table["parts_of_speech"] = reinterpret_cast(&(df_structure->parts_of_speech)) - reinterpret_cast(df_structure); - p_table["language"] = reinterpret_cast(&(df_structure->language)) - reinterpret_cast(df_structure); - p_table["unknown"] = reinterpret_cast(&(df_structure->unknown)) - reinterpret_cast(df_structure); - p_table["has_name"] = reinterpret_cast(&(df_structure->has_name)) - reinterpret_cast(df_structure); -} - -void generate_ui_advmode__T_unk_v40_1_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk_s1"] = reinterpret_cast(&(df_structure->unk_s1)) - reinterpret_cast(df_structure); - p_table["unk_s2"] = reinterpret_cast(&(df_structure->unk_s2)) - reinterpret_cast(df_structure); - p_table["unk_s3"] = reinterpret_cast(&(df_structure->unk_s3)) - reinterpret_cast(df_structure); - p_table["unk_s4"] = reinterpret_cast(&(df_structure->unk_s4)) - reinterpret_cast(df_structure); - p_table["unk_s5"] = reinterpret_cast(&(df_structure->unk_s5)) - reinterpret_cast(df_structure); -} - -void generate_ui_advmode__T_unk_3170__T_unk_2_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk_1"] = reinterpret_cast(&(df_structure->unk_1)) - reinterpret_cast(df_structure); - p_table["unk_2"] = reinterpret_cast(&(df_structure->unk_2)) - reinterpret_cast(df_structure); -} - -void generate_ui_advmode__T_unk_3170_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk_1"] = reinterpret_cast(&(df_structure->unk_1)) - reinterpret_cast(df_structure); - p_table["unk_2"] = reinterpret_cast(&(df_structure->unk_2)) - reinterpret_cast(df_structure); -} - -void generate_ui_advmode__T_unk_3124_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk_1"] = reinterpret_cast(&(df_structure->unk_1)) - reinterpret_cast(df_structure); - p_table["unk_2"] = reinterpret_cast(&(df_structure->unk_2)) - reinterpret_cast(df_structure); - p_table["unk_3"] = reinterpret_cast(&(df_structure->unk_3)) - reinterpret_cast(df_structure); - p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); - p_table["unk_5"] = reinterpret_cast(&(df_structure->unk_5)) - reinterpret_cast(df_structure); - p_table["unk_6"] = reinterpret_cast(&(df_structure->unk_6)) - reinterpret_cast(df_structure); - p_table["unk_7"] = reinterpret_cast(&(df_structure->unk_7)) - reinterpret_cast(df_structure); - p_table["unk_8"] = reinterpret_cast(&(df_structure->unk_8)) - reinterpret_cast(df_structure); - p_table["unk_9"] = reinterpret_cast(&(df_structure->unk_9)) - reinterpret_cast(df_structure); - p_table["unk_10"] = reinterpret_cast(&(df_structure->unk_10)) - reinterpret_cast(df_structure); - p_table["unk_11"] = reinterpret_cast(&(df_structure->unk_11)) - reinterpret_cast(df_structure); - p_table["unk_12"] = reinterpret_cast(&(df_structure->unk_12)) - reinterpret_cast(df_structure); - p_table["unk_13"] = reinterpret_cast(&(df_structure->unk_13)) - reinterpret_cast(df_structure); - p_table["unk_14"] = reinterpret_cast(&(df_structure->unk_14)) - reinterpret_cast(df_structure); - p_table["unk_15"] = reinterpret_cast(&(df_structure->unk_15)) - reinterpret_cast(df_structure); - p_table["unk_16"] = reinterpret_cast(&(df_structure->unk_16)) - reinterpret_cast(df_structure); - p_table["unk_17"] = reinterpret_cast(&(df_structure->unk_17)) - reinterpret_cast(df_structure); - p_table["unk_18"] = reinterpret_cast(&(df_structure->unk_18)) - reinterpret_cast(df_structure); - p_table["unk_19"] = reinterpret_cast(&(df_structure->unk_19)) - reinterpret_cast(df_structure); - p_table["unk_20"] = reinterpret_cast(&(df_structure->unk_20)) - reinterpret_cast(df_structure); - p_table["unk_21"] = reinterpret_cast(&(df_structure->unk_21)) - reinterpret_cast(df_structure); - p_table["unk_22"] = reinterpret_cast(&(df_structure->unk_22)) - reinterpret_cast(df_structure); - p_table["unk_23"] = reinterpret_cast(&(df_structure->unk_23)) - reinterpret_cast(df_structure); - p_table["unk_24"] = reinterpret_cast(&(df_structure->unk_24)) - reinterpret_cast(df_structure); - p_table["unk_25"] = reinterpret_cast(&(df_structure->unk_25)) - reinterpret_cast(df_structure); - p_table["unk_26"] = reinterpret_cast(&(df_structure->unk_26)) - reinterpret_cast(df_structure); - p_table["unk_27"] = reinterpret_cast(&(df_structure->unk_27)) - reinterpret_cast(df_structure); - p_table["unk_28"] = reinterpret_cast(&(df_structure->unk_28)) - reinterpret_cast(df_structure); - p_table["unk_29"] = reinterpret_cast(&(df_structure->unk_29)) - reinterpret_cast(df_structure); - p_table["unk_30"] = reinterpret_cast(&(df_structure->unk_30)) - reinterpret_cast(df_structure); - p_table["unk_31"] = reinterpret_cast(&(df_structure->unk_31)) - reinterpret_cast(df_structure); - p_table["unk_32"] = reinterpret_cast(&(df_structure->unk_32)) - reinterpret_cast(df_structure); - p_table["unk_33"] = reinterpret_cast(&(df_structure->unk_33)) - reinterpret_cast(df_structure); - p_table["unk_34"] = reinterpret_cast(&(df_structure->unk_34)) - reinterpret_cast(df_structure); - p_table["unk_35"] = reinterpret_cast(&(df_structure->unk_35)) - reinterpret_cast(df_structure); - p_table["unk_36"] = reinterpret_cast(&(df_structure->unk_36)) - reinterpret_cast(df_structure); - p_table["unk_37"] = reinterpret_cast(&(df_structure->unk_37)) - reinterpret_cast(df_structure); - p_table["unk_38"] = reinterpret_cast(&(df_structure->unk_38)) - reinterpret_cast(df_structure); - p_table["unk_39"] = reinterpret_cast(&(df_structure->unk_39)) - reinterpret_cast(df_structure); - p_table["unk_40"] = reinterpret_cast(&(df_structure->unk_40)) - reinterpret_cast(df_structure); - p_table["unk_41"] = reinterpret_cast(&(df_structure->unk_41)) - reinterpret_cast(df_structure); - p_table["unk_42"] = reinterpret_cast(&(df_structure->unk_42)) - reinterpret_cast(df_structure); - p_table["unk_43"] = reinterpret_cast(&(df_structure->unk_43)) - reinterpret_cast(df_structure); - p_table["unk_44"] = reinterpret_cast(&(df_structure->unk_44)) - reinterpret_cast(df_structure); - p_table["unk_45"] = reinterpret_cast(&(df_structure->unk_45)) - reinterpret_cast(df_structure); - p_table["unk_46"] = reinterpret_cast(&(df_structure->unk_46)) - reinterpret_cast(df_structure); - p_table["unk_47"] = reinterpret_cast(&(df_structure->unk_47)) - reinterpret_cast(df_structure); - p_table["unk_48"] = reinterpret_cast(&(df_structure->unk_48)) - reinterpret_cast(df_structure); - p_table["unk_49"] = reinterpret_cast(&(df_structure->unk_49)) - reinterpret_cast(df_structure); - p_table["unk_50"] = reinterpret_cast(&(df_structure->unk_50)) - reinterpret_cast(df_structure); - p_table["unk_51"] = reinterpret_cast(&(df_structure->unk_51)) - reinterpret_cast(df_structure); - p_table["unk_52"] = reinterpret_cast(&(df_structure->unk_52)) - reinterpret_cast(df_structure); - p_table["unk_53"] = reinterpret_cast(&(df_structure->unk_53)) - reinterpret_cast(df_structure); - p_table["unk_54"] = reinterpret_cast(&(df_structure->unk_54)) - reinterpret_cast(df_structure); - p_table["unk_55"] = reinterpret_cast(&(df_structure->unk_55)) - reinterpret_cast(df_structure); - p_table["unk_56"] = reinterpret_cast(&(df_structure->unk_56)) - reinterpret_cast(df_structure); - p_table["unk_57"] = reinterpret_cast(&(df_structure->unk_57)) - reinterpret_cast(df_structure); - p_table["unk_58"] = reinterpret_cast(&(df_structure->unk_58)) - reinterpret_cast(df_structure); - p_table["unk_59"] = reinterpret_cast(&(df_structure->unk_59)) - reinterpret_cast(df_structure); - p_table["unk_60"] = reinterpret_cast(&(df_structure->unk_60)) - reinterpret_cast(df_structure); - p_table["unk_61"] = reinterpret_cast(&(df_structure->unk_61)) - reinterpret_cast(df_structure); - p_table["unk_62"] = reinterpret_cast(&(df_structure->unk_62)) - reinterpret_cast(df_structure); -} - -void generate_ui_advmode__T_conversation__T_choices_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["choice"] = reinterpret_cast(&(df_structure->choice)) - reinterpret_cast(df_structure); - p_table["keywords"] = reinterpret_cast(&(df_structure->keywords)) - reinterpret_cast(df_structure); - p_table["title"] = reinterpret_cast(&(df_structure->title)) - reinterpret_cast(df_structure); - p_table["orig_index"] = reinterpret_cast(&(df_structure->orig_index)) - reinterpret_cast(df_structure); - p_table["ranking"] = reinterpret_cast(&(df_structure->ranking)) - reinterpret_cast(df_structure); -} - -void generate_ui_advmode__T_conversation__T_targets_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unit_id"] = reinterpret_cast(&(df_structure->unit_id)) - reinterpret_cast(df_structure); - p_table["histfig_id"] = reinterpret_cast(&(df_structure->histfig_id)) - reinterpret_cast(df_structure); - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); -} - -void generate_ui_advmode__T_conversation_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["activity"] = reinterpret_cast(&(df_structure->activity)) - reinterpret_cast(df_structure); - p_table["activity_event"] = reinterpret_cast(&(df_structure->activity_event)) - reinterpret_cast(df_structure); - p_table["cursor_activity"] = reinterpret_cast(&(df_structure->cursor_activity)) - reinterpret_cast(df_structure); - p_table["cursor_choice"] = reinterpret_cast(&(df_structure->cursor_choice)) - reinterpret_cast(df_structure); - p_table["current_page"] = reinterpret_cast(&(df_structure->current_page)) - reinterpret_cast(df_structure); - p_table["page_top_choices"] = reinterpret_cast(&(df_structure->page_top_choices)) - reinterpret_cast(df_structure); - p_table["page_bottom_choices"] = reinterpret_cast(&(df_structure->page_bottom_choices)) - reinterpret_cast(df_structure); - p_table["choices"] = reinterpret_cast(&(df_structure->choices)) - reinterpret_cast(df_structure); - p_table["filter"] = reinterpret_cast(&(df_structure->filter)) - reinterpret_cast(df_structure); - p_table["targets"] = reinterpret_cast(&(df_structure->targets)) - reinterpret_cast(df_structure); - p_table["cursor_target"] = reinterpret_cast(&(df_structure->cursor_target)) - reinterpret_cast(df_structure); -} - -void generate_ui_advmode__T_companions_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); - p_table["unit_visible"] = reinterpret_cast(&(df_structure->unit_visible)) - reinterpret_cast(df_structure); - p_table["unit_position"] = reinterpret_cast(&(df_structure->unit_position)) - reinterpret_cast(df_structure); - p_table["all_histfigs"] = reinterpret_cast(&(df_structure->all_histfigs)) - reinterpret_cast(df_structure); -} - -void generate_ui_advmode__T_interactions_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk_85"] = reinterpret_cast(&(df_structure->unk_85)) - reinterpret_cast(df_structure); - p_table["unk_86"] = reinterpret_cast(&(df_structure->unk_86)) - reinterpret_cast(df_structure); - p_table["unk_1e4"] = reinterpret_cast(&(df_structure->unk_1e4)) - reinterpret_cast(df_structure); - p_table["selected_ability"] = reinterpret_cast(&(df_structure->selected_ability)) - reinterpret_cast(df_structure); - p_table["selected_power"] = reinterpret_cast(&(df_structure->selected_power)) - reinterpret_cast(df_structure); - p_table["unk_1f0"] = reinterpret_cast(&(df_structure->unk_1f0)) - reinterpret_cast(df_structure); - p_table["max_target_number"] = reinterpret_cast(&(df_structure->max_target_number)) - reinterpret_cast(df_structure); - p_table["target_range"] = reinterpret_cast(&(df_structure->target_range)) - reinterpret_cast(df_structure); - p_table["target_flags"] = reinterpret_cast(&(df_structure->target_flags)) - reinterpret_cast(df_structure); - p_table["unk_200"] = reinterpret_cast(&(df_structure->unk_200)) - reinterpret_cast(df_structure); -} - -void generate_ui_advmode__T_unk_v40_2_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk_s1"] = reinterpret_cast(&(df_structure->unk_s1)) - reinterpret_cast(df_structure); - p_table["unk_s2"] = reinterpret_cast(&(df_structure->unk_s2)) - reinterpret_cast(df_structure); - p_table["unk_s3"] = reinterpret_cast(&(df_structure->unk_s3)) - reinterpret_cast(df_structure); - p_table["unk_s4"] = reinterpret_cast(&(df_structure->unk_s4)) - reinterpret_cast(df_structure); - p_table["unk_s5"] = reinterpret_cast(&(df_structure->unk_s5)) - reinterpret_cast(df_structure); - p_table["unk_s6"] = reinterpret_cast(&(df_structure->unk_s6)) - reinterpret_cast(df_structure); - p_table["unk_s7"] = reinterpret_cast(&(df_structure->unk_s7)) - reinterpret_cast(df_structure); -} - -void generate_ui_advmode__T_unk_v40_3_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk_s1"] = reinterpret_cast(&(df_structure->unk_s1)) - reinterpret_cast(df_structure); - p_table["unk_s2"] = reinterpret_cast(&(df_structure->unk_s2)) - reinterpret_cast(df_structure); -} - -void generate_ui_advmode__T_unk_v40_4__T_unk_v40_4a_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk_s1"] = reinterpret_cast(&(df_structure->unk_s1)) - reinterpret_cast(df_structure); - p_table["unk_s2"] = reinterpret_cast(&(df_structure->unk_s2)) - reinterpret_cast(df_structure); - p_table["unk_s3"] = reinterpret_cast(&(df_structure->unk_s3)) - reinterpret_cast(df_structure); - p_table["unk_s4"] = reinterpret_cast(&(df_structure->unk_s4)) - reinterpret_cast(df_structure); - p_table["unk_s5"] = reinterpret_cast(&(df_structure->unk_s5)) - reinterpret_cast(df_structure); - p_table["unk_s6"] = reinterpret_cast(&(df_structure->unk_s6)) - reinterpret_cast(df_structure); - p_table["unk_s7"] = reinterpret_cast(&(df_structure->unk_s7)) - reinterpret_cast(df_structure); - p_table["unk_s8"] = reinterpret_cast(&(df_structure->unk_s8)) - reinterpret_cast(df_structure); - p_table["unk_s9"] = reinterpret_cast(&(df_structure->unk_s9)) - reinterpret_cast(df_structure); - p_table["unk_s10"] = reinterpret_cast(&(df_structure->unk_s10)) - reinterpret_cast(df_structure); -} - -void generate_ui_advmode__T_unk_v40_4_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk_v40_4a"] = reinterpret_cast(&(df_structure->unk_v40_4a)) - reinterpret_cast(df_structure); - p_table["unk_v40_4b"] = reinterpret_cast(&(df_structure->unk_v40_4b)) - reinterpret_cast(df_structure); -} - -void generate_ui_advmode__T_unk_v40_5_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk_s1"] = reinterpret_cast(&(df_structure->unk_s1)) - reinterpret_cast(df_structure); - p_table["unk_s2"] = reinterpret_cast(&(df_structure->unk_s2)) - reinterpret_cast(df_structure); - p_table["unk_s3"] = reinterpret_cast(&(df_structure->unk_s3)) - reinterpret_cast(df_structure); - p_table["unk_s4"] = reinterpret_cast(&(df_structure->unk_s4)) - reinterpret_cast(df_structure); - p_table["unk_s5"] = reinterpret_cast(&(df_structure->unk_s5)) - reinterpret_cast(df_structure); - p_table["unk_s6"] = reinterpret_cast(&(df_structure->unk_s6)) - reinterpret_cast(df_structure); -} - -void generate_ui_advmode__T_unk_v42_1_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk_s1"] = reinterpret_cast(&(df_structure->unk_s1)) - reinterpret_cast(df_structure); - p_table["unk_s2"] = reinterpret_cast(&(df_structure->unk_s2)) - reinterpret_cast(df_structure); - p_table["unk_s3"] = reinterpret_cast(&(df_structure->unk_s3)) - reinterpret_cast(df_structure); - p_table["unk_s4"] = reinterpret_cast(&(df_structure->unk_s4)) - reinterpret_cast(df_structure); - p_table["unk_s5"] = reinterpret_cast(&(df_structure->unk_s5)) - reinterpret_cast(df_structure); - p_table["unk_s6"] = reinterpret_cast(&(df_structure->unk_s6)) - reinterpret_cast(df_structure); - p_table["unk_s7"] = reinterpret_cast(&(df_structure->unk_s7)) - reinterpret_cast(df_structure); - p_table["unk_s8"] = reinterpret_cast(&(df_structure->unk_s8)) - reinterpret_cast(df_structure); - p_table["unk_s9"] = reinterpret_cast(&(df_structure->unk_s9)) - reinterpret_cast(df_structure); -} - -void generate_ui_advmode__T_assume_identity_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mode"] = reinterpret_cast(&(df_structure->mode)) - reinterpret_cast(df_structure); - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["worship_object"] = reinterpret_cast(&(df_structure->worship_object)) - reinterpret_cast(df_structure); - p_table["profession"] = reinterpret_cast(&(df_structure->profession)) - reinterpret_cast(df_structure); - p_table["origin"] = reinterpret_cast(&(df_structure->origin)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["filter"] = reinterpret_cast(&(df_structure->filter)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); -} - -void generate_ui_advmode_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["menu"] = reinterpret_cast(&(df_structure->menu)) - reinterpret_cast(df_structure); - p_table["site_level_zoom"] = reinterpret_cast(&(df_structure->site_level_zoom)) - reinterpret_cast(df_structure); - p_table["travel_origin_x"] = reinterpret_cast(&(df_structure->travel_origin_x)) - reinterpret_cast(df_structure); - p_table["travel_origin_y"] = reinterpret_cast(&(df_structure->travel_origin_y)) - reinterpret_cast(df_structure); - p_table["travel_origin_z"] = reinterpret_cast(&(df_structure->travel_origin_z)) - reinterpret_cast(df_structure); - p_table["travel_clouds"] = reinterpret_cast(&(df_structure->travel_clouds)) - reinterpret_cast(df_structure); - p_table["travel_right_map"] = reinterpret_cast(&(df_structure->travel_right_map)) - reinterpret_cast(df_structure); - p_table["show_menu"] = reinterpret_cast(&(df_structure->show_menu)) - reinterpret_cast(df_structure); - p_table["message"] = reinterpret_cast(&(df_structure->message)) - reinterpret_cast(df_structure); - p_table["message_color"] = reinterpret_cast(&(df_structure->message_color)) - reinterpret_cast(df_structure); - p_table["message_brightness"] = reinterpret_cast(&(df_structure->message_brightness)) - reinterpret_cast(df_structure); - p_table["travel_not_moved"] = reinterpret_cast(&(df_structure->travel_not_moved)) - reinterpret_cast(df_structure); - p_table["unk4b"] = reinterpret_cast(&(df_structure->unk4b)) - reinterpret_cast(df_structure); - p_table["travel_move_countdown"] = reinterpret_cast(&(df_structure->travel_move_countdown)) - reinterpret_cast(df_structure); - p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); - p_table["unk_5"] = reinterpret_cast(&(df_structure->unk_5)) - reinterpret_cast(df_structure); - p_table["unk_6"] = reinterpret_cast(&(df_structure->unk_6)) - reinterpret_cast(df_structure); - p_table["unk_7"] = reinterpret_cast(&(df_structure->unk_7)) - reinterpret_cast(df_structure); - p_table["unk_8"] = reinterpret_cast(&(df_structure->unk_8)) - reinterpret_cast(df_structure); - p_table["unk_9"] = reinterpret_cast(&(df_structure->unk_9)) - reinterpret_cast(df_structure); - p_table["unk_10"] = reinterpret_cast(&(df_structure->unk_10)) - reinterpret_cast(df_structure); - p_table["unk_11"] = reinterpret_cast(&(df_structure->unk_11)) - reinterpret_cast(df_structure); - p_table["unk_12"] = reinterpret_cast(&(df_structure->unk_12)) - reinterpret_cast(df_structure); - p_table["unk_13"] = reinterpret_cast(&(df_structure->unk_13)) - reinterpret_cast(df_structure); - p_table["unk_14"] = reinterpret_cast(&(df_structure->unk_14)) - reinterpret_cast(df_structure); - p_table["tick_counter"] = reinterpret_cast(&(df_structure->tick_counter)) - reinterpret_cast(df_structure); - p_table["frame_counter"] = reinterpret_cast(&(df_structure->frame_counter)) - reinterpret_cast(df_structure); - p_table["unk_15"] = reinterpret_cast(&(df_structure->unk_15)) - reinterpret_cast(df_structure); - p_table["sleeping"] = reinterpret_cast(&(df_structure->sleeping)) - reinterpret_cast(df_structure); - p_table["unk_16"] = reinterpret_cast(&(df_structure->unk_16)) - reinterpret_cast(df_structure); - p_table["bogeymen_timer"] = reinterpret_cast(&(df_structure->bogeymen_timer)) - reinterpret_cast(df_structure); - p_table["bogeymen_killed"] = reinterpret_cast(&(df_structure->bogeymen_killed)) - reinterpret_cast(df_structure); - p_table["bogeymen_ambush_delay"] = reinterpret_cast(&(df_structure->bogeymen_ambush_delay)) - reinterpret_cast(df_structure); - p_table["unk_18"] = reinterpret_cast(&(df_structure->unk_18)) - reinterpret_cast(df_structure); - p_table["searched_x"] = reinterpret_cast(&(df_structure->searched_x)) - reinterpret_cast(df_structure); - p_table["searched_y"] = reinterpret_cast(&(df_structure->searched_y)) - reinterpret_cast(df_structure); - p_table["searched_z"] = reinterpret_cast(&(df_structure->searched_z)) - reinterpret_cast(df_structure); - p_table["searched_timeout"] = reinterpret_cast(&(df_structure->searched_timeout)) - reinterpret_cast(df_structure); - p_table["unk_19"] = reinterpret_cast(&(df_structure->unk_19)) - reinterpret_cast(df_structure); - p_table["unk_20"] = reinterpret_cast(&(df_structure->unk_20)) - reinterpret_cast(df_structure); - p_table["unk_21"] = reinterpret_cast(&(df_structure->unk_21)) - reinterpret_cast(df_structure); - p_table["unk_22"] = reinterpret_cast(&(df_structure->unk_22)) - reinterpret_cast(df_structure); - p_table["unk_23"] = reinterpret_cast(&(df_structure->unk_23)) - reinterpret_cast(df_structure); - p_table["unk_24"] = reinterpret_cast(&(df_structure->unk_24)) - reinterpret_cast(df_structure); - p_table["unk_25"] = reinterpret_cast(&(df_structure->unk_25)) - reinterpret_cast(df_structure); - p_table["unk_26"] = reinterpret_cast(&(df_structure->unk_26)) - reinterpret_cast(df_structure); - p_table["unk_27"] = reinterpret_cast(&(df_structure->unk_27)) - reinterpret_cast(df_structure); - p_table["unk_28"] = reinterpret_cast(&(df_structure->unk_28)) - reinterpret_cast(df_structure); - p_table["unk_29"] = reinterpret_cast(&(df_structure->unk_29)) - reinterpret_cast(df_structure); - p_table["unk_30"] = reinterpret_cast(&(df_structure->unk_30)) - reinterpret_cast(df_structure); - p_table["unk_31"] = reinterpret_cast(&(df_structure->unk_31)) - reinterpret_cast(df_structure); - p_table["unk_32"] = reinterpret_cast(&(df_structure->unk_32)) - reinterpret_cast(df_structure); - p_table["unk_33"] = reinterpret_cast(&(df_structure->unk_33)) - reinterpret_cast(df_structure); - p_table["view_tracks_odors"] = reinterpret_cast(&(df_structure->view_tracks_odors)) - reinterpret_cast(df_structure); - p_table["tracks_visible"] = reinterpret_cast(&(df_structure->tracks_visible)) - reinterpret_cast(df_structure); - p_table["unk_36"] = reinterpret_cast(&(df_structure->unk_36)) - reinterpret_cast(df_structure); - p_table["unk_37"] = reinterpret_cast(&(df_structure->unk_37)) - reinterpret_cast(df_structure); - p_table["unk_38"] = reinterpret_cast(&(df_structure->unk_38)) - reinterpret_cast(df_structure); - p_table["unk_v40_1"] = reinterpret_cast(&(df_structure->unk_v40_1)) - reinterpret_cast(df_structure); - p_table["unk_39"] = reinterpret_cast(&(df_structure->unk_39)) - reinterpret_cast(df_structure); - p_table["unk_40"] = reinterpret_cast(&(df_structure->unk_40)) - reinterpret_cast(df_structure); - p_table["unk_41"] = reinterpret_cast(&(df_structure->unk_41)) - reinterpret_cast(df_structure); - p_table["unk_42"] = reinterpret_cast(&(df_structure->unk_42)) - reinterpret_cast(df_structure); - p_table["odor_race"] = reinterpret_cast(&(df_structure->odor_race)) - reinterpret_cast(df_structure); - p_table["odor_caste"] = reinterpret_cast(&(df_structure->odor_caste)) - reinterpret_cast(df_structure); - p_table["odor_death"] = reinterpret_cast(&(df_structure->odor_death)) - reinterpret_cast(df_structure); - p_table["travel_odor_race"] = reinterpret_cast(&(df_structure->travel_odor_race)) - reinterpret_cast(df_structure); - p_table["travel_odor_caste"] = reinterpret_cast(&(df_structure->travel_odor_caste)) - reinterpret_cast(df_structure); - p_table["unk_46"] = reinterpret_cast(&(df_structure->unk_46)) - reinterpret_cast(df_structure); - p_table["unk_47"] = reinterpret_cast(&(df_structure->unk_47)) - reinterpret_cast(df_structure); - p_table["unk_3170"] = reinterpret_cast(&(df_structure->unk_3170)) - reinterpret_cast(df_structure); - p_table["unk_3124"] = reinterpret_cast(&(df_structure->unk_3124)) - reinterpret_cast(df_structure); - p_table["unk_48"] = reinterpret_cast(&(df_structure->unk_48)) - reinterpret_cast(df_structure); - p_table["unk_49"] = reinterpret_cast(&(df_structure->unk_49)) - reinterpret_cast(df_structure); - p_table["unk_50"] = reinterpret_cast(&(df_structure->unk_50)) - reinterpret_cast(df_structure); - p_table["unk_51"] = reinterpret_cast(&(df_structure->unk_51)) - reinterpret_cast(df_structure); - p_table["unk_52"] = reinterpret_cast(&(df_structure->unk_52)) - reinterpret_cast(df_structure); - p_table["unk_53"] = reinterpret_cast(&(df_structure->unk_53)) - reinterpret_cast(df_structure); - p_table["unk_54"] = reinterpret_cast(&(df_structure->unk_54)) - reinterpret_cast(df_structure); - p_table["unk_55"] = reinterpret_cast(&(df_structure->unk_55)) - reinterpret_cast(df_structure); - p_table["unk_56"] = reinterpret_cast(&(df_structure->unk_56)) - reinterpret_cast(df_structure); - p_table["unk_57"] = reinterpret_cast(&(df_structure->unk_57)) - reinterpret_cast(df_structure); - p_table["unk_58"] = reinterpret_cast(&(df_structure->unk_58)) - reinterpret_cast(df_structure); - p_table["unk_59"] = reinterpret_cast(&(df_structure->unk_59)) - reinterpret_cast(df_structure); - p_table["unk_60"] = reinterpret_cast(&(df_structure->unk_60)) - reinterpret_cast(df_structure); - p_table["unk_61"] = reinterpret_cast(&(df_structure->unk_61)) - reinterpret_cast(df_structure); - p_table["unk_62"] = reinterpret_cast(&(df_structure->unk_62)) - reinterpret_cast(df_structure); - p_table["travel_start_x"] = reinterpret_cast(&(df_structure->travel_start_x)) - reinterpret_cast(df_structure); - p_table["travel_start_y"] = reinterpret_cast(&(df_structure->travel_start_y)) - reinterpret_cast(df_structure); - p_table["travel_start_z"] = reinterpret_cast(&(df_structure->travel_start_z)) - reinterpret_cast(df_structure); - p_table["player_id"] = reinterpret_cast(&(df_structure->player_id)) - reinterpret_cast(df_structure); - p_table["unk_66"] = reinterpret_cast(&(df_structure->unk_66)) - reinterpret_cast(df_structure); - p_table["unk_67"] = reinterpret_cast(&(df_structure->unk_67)) - reinterpret_cast(df_structure); - p_table["unk_68"] = reinterpret_cast(&(df_structure->unk_68)) - reinterpret_cast(df_structure); - p_table["unk_69"] = reinterpret_cast(&(df_structure->unk_69)) - reinterpret_cast(df_structure); - p_table["conversation"] = reinterpret_cast(&(df_structure->conversation)) - reinterpret_cast(df_structure); - p_table["unk_70"] = reinterpret_cast(&(df_structure->unk_70)) - reinterpret_cast(df_structure); - p_table["unk_71"] = reinterpret_cast(&(df_structure->unk_71)) - reinterpret_cast(df_structure); - p_table["unk_72"] = reinterpret_cast(&(df_structure->unk_72)) - reinterpret_cast(df_structure); - p_table["interacts"] = reinterpret_cast(&(df_structure->interacts)) - reinterpret_cast(df_structure); - p_table["commands"] = reinterpret_cast(&(df_structure->commands)) - reinterpret_cast(df_structure); - p_table["movements"] = reinterpret_cast(&(df_structure->movements)) - reinterpret_cast(df_structure); - p_table["unk_75"] = reinterpret_cast(&(df_structure->unk_75)) - reinterpret_cast(df_structure); - p_table["sleep_hours"] = reinterpret_cast(&(df_structure->sleep_hours)) - reinterpret_cast(df_structure); - p_table["sleep_until_dawn"] = reinterpret_cast(&(df_structure->sleep_until_dawn)) - reinterpret_cast(df_structure); - p_table["unk_78"] = reinterpret_cast(&(df_structure->unk_78)) - reinterpret_cast(df_structure); - p_table["wait"] = reinterpret_cast(&(df_structure->wait)) - reinterpret_cast(df_structure); - p_table["unk_80"] = reinterpret_cast(&(df_structure->unk_80)) - reinterpret_cast(df_structure); - p_table["unk_81"] = reinterpret_cast(&(df_structure->unk_81)) - reinterpret_cast(df_structure); - p_table["player_control_state"] = reinterpret_cast(&(df_structure->player_control_state)) - reinterpret_cast(df_structure); - p_table["unk_83"] = reinterpret_cast(&(df_structure->unk_83)) - reinterpret_cast(df_structure); - p_table["unk_84"] = reinterpret_cast(&(df_structure->unk_84)) - reinterpret_cast(df_structure); - p_table["companions"] = reinterpret_cast(&(df_structure->companions)) - reinterpret_cast(df_structure); - p_table["interactions"] = reinterpret_cast(&(df_structure->interactions)) - reinterpret_cast(df_structure); - p_table["unk_87"] = reinterpret_cast(&(df_structure->unk_87)) - reinterpret_cast(df_structure); - p_table["unk_220"] = reinterpret_cast(&(df_structure->unk_220)) - reinterpret_cast(df_structure); - p_table["unk_224"] = reinterpret_cast(&(df_structure->unk_224)) - reinterpret_cast(df_structure); - p_table["unk_v40_2"] = reinterpret_cast(&(df_structure->unk_v40_2)) - reinterpret_cast(df_structure); - p_table["unk_v40_3"] = reinterpret_cast(&(df_structure->unk_v40_3)) - reinterpret_cast(df_structure); - p_table["unk_88"] = reinterpret_cast(&(df_structure->unk_88)) - reinterpret_cast(df_structure); - p_table["unk_89"] = reinterpret_cast(&(df_structure->unk_89)) - reinterpret_cast(df_structure); - p_table["unk_90"] = reinterpret_cast(&(df_structure->unk_90)) - reinterpret_cast(df_structure); - p_table["unk_v40_4"] = reinterpret_cast(&(df_structure->unk_v40_4)) - reinterpret_cast(df_structure); - p_table["unk_v40_5"] = reinterpret_cast(&(df_structure->unk_v40_5)) - reinterpret_cast(df_structure); - p_table["unk_v42_1"] = reinterpret_cast(&(df_structure->unk_v42_1)) - reinterpret_cast(df_structure); - p_table["unk_91"] = reinterpret_cast(&(df_structure->unk_91)) - reinterpret_cast(df_structure); - p_table["assume_identity"] = reinterpret_cast(&(df_structure->assume_identity)) - reinterpret_cast(df_structure); - p_table["unk_92"] = reinterpret_cast(&(df_structure->unk_92)) - reinterpret_cast(df_structure); - p_table["unk_93"] = reinterpret_cast(&(df_structure->unk_93)) - reinterpret_cast(df_structure); - p_table["unk_94"] = reinterpret_cast(&(df_structure->unk_94)) - reinterpret_cast(df_structure); - p_table["unk_95"] = reinterpret_cast(&(df_structure->unk_95)) - reinterpret_cast(df_structure); - p_table["unk_96"] = reinterpret_cast(&(df_structure->unk_96)) - reinterpret_cast(df_structure); - p_table["unk_97"] = reinterpret_cast(&(df_structure->unk_97)) - reinterpret_cast(df_structure); - p_table["unk_98"] = reinterpret_cast(&(df_structure->unk_98)) - reinterpret_cast(df_structure); - p_table["unk_99"] = reinterpret_cast(&(df_structure->unk_99)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["name_item"] = reinterpret_cast(&(df_structure->name_item)) - reinterpret_cast(df_structure); -} - -void generate_art_image_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["elements"] = reinterpret_cast(&(df_structure->elements)) - reinterpret_cast(df_structure); - p_table["properties"] = reinterpret_cast(&(df_structure->properties)) - reinterpret_cast(df_structure); - p_table["event"] = reinterpret_cast(&(df_structure->event)) - reinterpret_cast(df_structure); - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["spec_ref_type"] = reinterpret_cast(&(df_structure->spec_ref_type)) - reinterpret_cast(df_structure); - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["quality"] = reinterpret_cast(&(df_structure->quality)) - reinterpret_cast(df_structure); - p_table["artist"] = reinterpret_cast(&(df_structure->artist)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["year"] = reinterpret_cast(&(df_structure->year)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["subid"] = reinterpret_cast(&(df_structure->subid)) - reinterpret_cast(df_structure); -} - -void generate_poetic_form_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["originating_entity"] = reinterpret_cast(&(df_structure->originating_entity)) - reinterpret_cast(df_structure); - p_table["original_author"] = reinterpret_cast(&(df_structure->original_author)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["parts"] = reinterpret_cast(&(df_structure->parts)) - reinterpret_cast(df_structure); - p_table["each_line_feet"] = reinterpret_cast(&(df_structure->each_line_feet)) - reinterpret_cast(df_structure); - p_table["each_line_pattern"] = reinterpret_cast(&(df_structure->each_line_pattern)) - reinterpret_cast(df_structure); - p_table["every_line_caesura_position"] = reinterpret_cast(&(df_structure->every_line_caesura_position)) - reinterpret_cast(df_structure); - p_table["common_features"] = reinterpret_cast(&(df_structure->common_features)) - reinterpret_cast(df_structure); - p_table["mood"] = reinterpret_cast(&(df_structure->mood)) - reinterpret_cast(df_structure); - p_table["subject"] = reinterpret_cast(&(df_structure->subject)) - reinterpret_cast(df_structure); - p_table["subject_histfig"] = reinterpret_cast(&(df_structure->subject_histfig)) - reinterpret_cast(df_structure); - p_table["subject_topic"] = reinterpret_cast(&(df_structure->subject_topic)) - reinterpret_cast(df_structure); - p_table["action"] = reinterpret_cast(&(df_structure->action)) - reinterpret_cast(df_structure); - p_table["preferred_perspective"] = reinterpret_cast(&(df_structure->preferred_perspective)) - reinterpret_cast(df_structure); - p_table["features"] = reinterpret_cast(&(df_structure->features)) - reinterpret_cast(df_structure); - p_table["perspectives"] = reinterpret_cast(&(df_structure->perspectives)) - reinterpret_cast(df_structure); -} - -void generate_musical_form_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["originating_entity"] = reinterpret_cast(&(df_structure->originating_entity)) - reinterpret_cast(df_structure); - p_table["original_author"] = reinterpret_cast(&(df_structure->original_author)) - reinterpret_cast(df_structure); - p_table["scales"] = reinterpret_cast(&(df_structure->scales)) - reinterpret_cast(df_structure); - p_table["instruments"] = reinterpret_cast(&(df_structure->instruments)) - reinterpret_cast(df_structure); - p_table["melodies"] = reinterpret_cast(&(df_structure->melodies)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["tempo_style"] = reinterpret_cast(&(df_structure->tempo_style)) - reinterpret_cast(df_structure); - p_table["dynamic_style"] = reinterpret_cast(&(df_structure->dynamic_style)) - reinterpret_cast(df_structure); - p_table["overall_style"] = reinterpret_cast(&(df_structure->overall_style)) - reinterpret_cast(df_structure); - p_table["poetic_form_id"] = reinterpret_cast(&(df_structure->poetic_form_id)) - reinterpret_cast(df_structure); - p_table["written_content_id"] = reinterpret_cast(&(df_structure->written_content_id)) - reinterpret_cast(df_structure); - p_table["scale_id"] = reinterpret_cast(&(df_structure->scale_id)) - reinterpret_cast(df_structure); - p_table["scale_subid"] = reinterpret_cast(&(df_structure->scale_subid)) - reinterpret_cast(df_structure); - p_table["rhythm_id"] = reinterpret_cast(&(df_structure->rhythm_id)) - reinterpret_cast(df_structure); - p_table["rhythm_subid2"] = reinterpret_cast(&(df_structure->rhythm_subid2)) - reinterpret_cast(df_structure); - p_table["rhythm_subid1"] = reinterpret_cast(&(df_structure->rhythm_subid1)) - reinterpret_cast(df_structure); - p_table["features"] = reinterpret_cast(&(df_structure->features)) - reinterpret_cast(df_structure); - p_table["pitch_style"] = reinterpret_cast(&(df_structure->pitch_style)) - reinterpret_cast(df_structure); - p_table["purpose"] = reinterpret_cast(&(df_structure->purpose)) - reinterpret_cast(df_structure); - p_table["devotion_target"] = reinterpret_cast(&(df_structure->devotion_target)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); -} - -void generate_dance_form_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["musical_form_id"] = reinterpret_cast(&(df_structure->musical_form_id)) - reinterpret_cast(df_structure); - p_table["music_written_content_id"] = reinterpret_cast(&(df_structure->music_written_content_id)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["originating_entity"] = reinterpret_cast(&(df_structure->originating_entity)) - reinterpret_cast(df_structure); - p_table["original_author"] = reinterpret_cast(&(df_structure->original_author)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); - p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); - p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); - p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); - p_table["anon_11"] = reinterpret_cast(&(df_structure->anon_11)) - reinterpret_cast(df_structure); - p_table["anon_12"] = reinterpret_cast(&(df_structure->anon_12)) - reinterpret_cast(df_structure); - p_table["anon_13"] = reinterpret_cast(&(df_structure->anon_13)) - reinterpret_cast(df_structure); - p_table["anon_14"] = reinterpret_cast(&(df_structure->anon_14)) - reinterpret_cast(df_structure); - p_table["anon_15"] = reinterpret_cast(&(df_structure->anon_15)) - reinterpret_cast(df_structure); - p_table["anon_16"] = reinterpret_cast(&(df_structure->anon_16)) - reinterpret_cast(df_structure); - p_table["anon_17"] = reinterpret_cast(&(df_structure->anon_17)) - reinterpret_cast(df_structure); - p_table["anon_18"] = reinterpret_cast(&(df_structure->anon_18)) - reinterpret_cast(df_structure); - p_table["anon_19"] = reinterpret_cast(&(df_structure->anon_19)) - reinterpret_cast(df_structure); - p_table["anon_20"] = reinterpret_cast(&(df_structure->anon_20)) - reinterpret_cast(df_structure); - p_table["anon_21"] = reinterpret_cast(&(df_structure->anon_21)) - reinterpret_cast(df_structure); - p_table["anon_22"] = reinterpret_cast(&(df_structure->anon_22)) - reinterpret_cast(df_structure); -} - -void generate_entity_occasion_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["event"] = reinterpret_cast(&(df_structure->event)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); - p_table["schedule"] = reinterpret_cast(&(df_structure->schedule)) - reinterpret_cast(df_structure); - p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); -} - -void generate_historical_entity__T_resources__T_metal_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["pick"] = reinterpret_cast(&(df_structure->pick)) - reinterpret_cast(df_structure); - p_table["weapon"] = reinterpret_cast(&(df_structure->weapon)) - reinterpret_cast(df_structure); - p_table["ranged"] = reinterpret_cast(&(df_structure->ranged)) - reinterpret_cast(df_structure); - p_table["ammo"] = reinterpret_cast(&(df_structure->ammo)) - reinterpret_cast(df_structure); - p_table["ammo2"] = reinterpret_cast(&(df_structure->ammo2)) - reinterpret_cast(df_structure); - p_table["armor"] = reinterpret_cast(&(df_structure->armor)) - reinterpret_cast(df_structure); - p_table["anvil"] = reinterpret_cast(&(df_structure->anvil)) - reinterpret_cast(df_structure); -} - -void generate_historical_entity__T_resources__T_organic_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["leather"] = reinterpret_cast(&(df_structure->leather)) - reinterpret_cast(df_structure); - p_table["parchment"] = reinterpret_cast(&(df_structure->parchment)) - reinterpret_cast(df_structure); - p_table["fiber"] = reinterpret_cast(&(df_structure->fiber)) - reinterpret_cast(df_structure); - p_table["silk"] = reinterpret_cast(&(df_structure->silk)) - reinterpret_cast(df_structure); - p_table["wool"] = reinterpret_cast(&(df_structure->wool)) - reinterpret_cast(df_structure); - p_table["wood"] = reinterpret_cast(&(df_structure->wood)) - reinterpret_cast(df_structure); -} - -void generate_historical_entity__T_resources__T_refuse_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["bone"] = reinterpret_cast(&(df_structure->bone)) - reinterpret_cast(df_structure); - p_table["shell"] = reinterpret_cast(&(df_structure->shell)) - reinterpret_cast(df_structure); - p_table["pearl"] = reinterpret_cast(&(df_structure->pearl)) - reinterpret_cast(df_structure); - p_table["ivory"] = reinterpret_cast(&(df_structure->ivory)) - reinterpret_cast(df_structure); - p_table["horn"] = reinterpret_cast(&(df_structure->horn)) - reinterpret_cast(df_structure); -} - -void generate_historical_entity__T_resources__T_misc_mat_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["others"] = reinterpret_cast(&(df_structure->others)) - reinterpret_cast(df_structure); - p_table["glass"] = reinterpret_cast(&(df_structure->glass)) - reinterpret_cast(df_structure); - p_table["sand"] = reinterpret_cast(&(df_structure->sand)) - reinterpret_cast(df_structure); - p_table["clay"] = reinterpret_cast(&(df_structure->clay)) - reinterpret_cast(df_structure); - p_table["crafts"] = reinterpret_cast(&(df_structure->crafts)) - reinterpret_cast(df_structure); - p_table["glass_unused"] = reinterpret_cast(&(df_structure->glass_unused)) - reinterpret_cast(df_structure); - p_table["barrels"] = reinterpret_cast(&(df_structure->barrels)) - reinterpret_cast(df_structure); - p_table["flasks"] = reinterpret_cast(&(df_structure->flasks)) - reinterpret_cast(df_structure); - p_table["quivers"] = reinterpret_cast(&(df_structure->quivers)) - reinterpret_cast(df_structure); - p_table["backpacks"] = reinterpret_cast(&(df_structure->backpacks)) - reinterpret_cast(df_structure); - p_table["cages"] = reinterpret_cast(&(df_structure->cages)) - reinterpret_cast(df_structure); - p_table["wood2"] = reinterpret_cast(&(df_structure->wood2)) - reinterpret_cast(df_structure); - p_table["rock_metal"] = reinterpret_cast(&(df_structure->rock_metal)) - reinterpret_cast(df_structure); - p_table["booze"] = reinterpret_cast(&(df_structure->booze)) - reinterpret_cast(df_structure); - p_table["cheese"] = reinterpret_cast(&(df_structure->cheese)) - reinterpret_cast(df_structure); - p_table["powders"] = reinterpret_cast(&(df_structure->powders)) - reinterpret_cast(df_structure); - p_table["extracts"] = reinterpret_cast(&(df_structure->extracts)) - reinterpret_cast(df_structure); - p_table["meat"] = reinterpret_cast(&(df_structure->meat)) - reinterpret_cast(df_structure); -} - -void generate_historical_entity__T_resources__T_wood_products_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); - p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); - p_table["material"] = reinterpret_cast(&(df_structure->material)) - reinterpret_cast(df_structure); -} - -void generate_historical_entity__T_resources__T_animals_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["pet_races"] = reinterpret_cast(&(df_structure->pet_races)) - reinterpret_cast(df_structure); - p_table["wagon_races"] = reinterpret_cast(&(df_structure->wagon_races)) - reinterpret_cast(df_structure); - p_table["pack_animal_races"] = reinterpret_cast(&(df_structure->pack_animal_races)) - reinterpret_cast(df_structure); - p_table["wagon_puller_races"] = reinterpret_cast(&(df_structure->wagon_puller_races)) - reinterpret_cast(df_structure); - p_table["mount_races"] = reinterpret_cast(&(df_structure->mount_races)) - reinterpret_cast(df_structure); - p_table["minion_races"] = reinterpret_cast(&(df_structure->minion_races)) - reinterpret_cast(df_structure); - p_table["exotic_pet_races"] = reinterpret_cast(&(df_structure->exotic_pet_races)) - reinterpret_cast(df_structure); - p_table["pet_castes"] = reinterpret_cast(&(df_structure->pet_castes)) - reinterpret_cast(df_structure); - p_table["wagon_castes"] = reinterpret_cast(&(df_structure->wagon_castes)) - reinterpret_cast(df_structure); - p_table["pack_animal_castes"] = reinterpret_cast(&(df_structure->pack_animal_castes)) - reinterpret_cast(df_structure); - p_table["wagon_puller_castes"] = reinterpret_cast(&(df_structure->wagon_puller_castes)) - reinterpret_cast(df_structure); - p_table["mount_castes"] = reinterpret_cast(&(df_structure->mount_castes)) - reinterpret_cast(df_structure); - p_table["minion_castes"] = reinterpret_cast(&(df_structure->minion_castes)) - reinterpret_cast(df_structure); - p_table["exotic_pet_castes"] = reinterpret_cast(&(df_structure->exotic_pet_castes)) - reinterpret_cast(df_structure); -} - -void generate_historical_entity__T_resources__T_unk13_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); - p_table["unk2"] = reinterpret_cast(&(df_structure->unk2)) - reinterpret_cast(df_structure); -} - -void generate_historical_entity__T_resources_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["digger_type"] = reinterpret_cast(&(df_structure->digger_type)) - reinterpret_cast(df_structure); - p_table["weapon_type"] = reinterpret_cast(&(df_structure->weapon_type)) - reinterpret_cast(df_structure); - p_table["training_weapon_type"] = reinterpret_cast(&(df_structure->training_weapon_type)) - reinterpret_cast(df_structure); - p_table["armor_type"] = reinterpret_cast(&(df_structure->armor_type)) - reinterpret_cast(df_structure); - p_table["ammo_type"] = reinterpret_cast(&(df_structure->ammo_type)) - reinterpret_cast(df_structure); - p_table["helm_type"] = reinterpret_cast(&(df_structure->helm_type)) - reinterpret_cast(df_structure); - p_table["gloves_type"] = reinterpret_cast(&(df_structure->gloves_type)) - reinterpret_cast(df_structure); - p_table["shoes_type"] = reinterpret_cast(&(df_structure->shoes_type)) - reinterpret_cast(df_structure); - p_table["pants_type"] = reinterpret_cast(&(df_structure->pants_type)) - reinterpret_cast(df_structure); - p_table["shield_type"] = reinterpret_cast(&(df_structure->shield_type)) - reinterpret_cast(df_structure); - p_table["trapcomp_type"] = reinterpret_cast(&(df_structure->trapcomp_type)) - reinterpret_cast(df_structure); - p_table["toy_type"] = reinterpret_cast(&(df_structure->toy_type)) - reinterpret_cast(df_structure); - p_table["instrument_type"] = reinterpret_cast(&(df_structure->instrument_type)) - reinterpret_cast(df_structure); - p_table["siegeammo_type"] = reinterpret_cast(&(df_structure->siegeammo_type)) - reinterpret_cast(df_structure); - p_table["tool_type"] = reinterpret_cast(&(df_structure->tool_type)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["metal"] = reinterpret_cast(&(df_structure->metal)) - reinterpret_cast(df_structure); - p_table["organic"] = reinterpret_cast(&(df_structure->organic)) - reinterpret_cast(df_structure); - p_table["metals"] = reinterpret_cast(&(df_structure->metals)) - reinterpret_cast(df_structure); - p_table["stones"] = reinterpret_cast(&(df_structure->stones)) - reinterpret_cast(df_structure); - p_table["gems"] = reinterpret_cast(&(df_structure->gems)) - reinterpret_cast(df_structure); - p_table["refuse"] = reinterpret_cast(&(df_structure->refuse)) - reinterpret_cast(df_structure); - p_table["misc_mat"] = reinterpret_cast(&(df_structure->misc_mat)) - reinterpret_cast(df_structure); - p_table["fish_races"] = reinterpret_cast(&(df_structure->fish_races)) - reinterpret_cast(df_structure); - p_table["fish_castes"] = reinterpret_cast(&(df_structure->fish_castes)) - reinterpret_cast(df_structure); - p_table["egg_races"] = reinterpret_cast(&(df_structure->egg_races)) - reinterpret_cast(df_structure); - p_table["egg_castes"] = reinterpret_cast(&(df_structure->egg_castes)) - reinterpret_cast(df_structure); - p_table["plants"] = reinterpret_cast(&(df_structure->plants)) - reinterpret_cast(df_structure); - p_table["tree_fruit_plants"] = reinterpret_cast(&(df_structure->tree_fruit_plants)) - reinterpret_cast(df_structure); - p_table["tree_fruit_growths"] = reinterpret_cast(&(df_structure->tree_fruit_growths)) - reinterpret_cast(df_structure); - p_table["shrub_fruit_plants"] = reinterpret_cast(&(df_structure->shrub_fruit_plants)) - reinterpret_cast(df_structure); - p_table["shrub_fruit_growths"] = reinterpret_cast(&(df_structure->shrub_fruit_growths)) - reinterpret_cast(df_structure); - p_table["seeds"] = reinterpret_cast(&(df_structure->seeds)) - reinterpret_cast(df_structure); - p_table["wood_products"] = reinterpret_cast(&(df_structure->wood_products)) - reinterpret_cast(df_structure); - p_table["animals"] = reinterpret_cast(&(df_structure->animals)) - reinterpret_cast(df_structure); - p_table["meat_fish_recipes"] = reinterpret_cast(&(df_structure->meat_fish_recipes)) - reinterpret_cast(df_structure); - p_table["other_recipes"] = reinterpret_cast(&(df_structure->other_recipes)) - reinterpret_cast(df_structure); - p_table["unk13"] = reinterpret_cast(&(df_structure->unk13)) - reinterpret_cast(df_structure); - p_table["unk14"] = reinterpret_cast(&(df_structure->unk14)) - reinterpret_cast(df_structure); - p_table["unk15a"] = reinterpret_cast(&(df_structure->unk15a)) - reinterpret_cast(df_structure); - p_table["unk15b"] = reinterpret_cast(&(df_structure->unk15b)) - reinterpret_cast(df_structure); - p_table["ethic"] = reinterpret_cast(&(df_structure->ethic)) - reinterpret_cast(df_structure); - p_table["values"] = reinterpret_cast(&(df_structure->values)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["permitted_skill"] = reinterpret_cast(&(df_structure->permitted_skill)) - reinterpret_cast(df_structure); - p_table["art_image_types"] = reinterpret_cast(&(df_structure->art_image_types)) - reinterpret_cast(df_structure); - p_table["art_image_ids"] = reinterpret_cast(&(df_structure->art_image_ids)) - reinterpret_cast(df_structure); - p_table["art_image_subids"] = reinterpret_cast(&(df_structure->art_image_subids)) - reinterpret_cast(df_structure); - p_table["discovered_creature_foods"] = reinterpret_cast(&(df_structure->discovered_creature_foods)) - reinterpret_cast(df_structure); - p_table["discovered_creatures"] = reinterpret_cast(&(df_structure->discovered_creatures)) - reinterpret_cast(df_structure); - p_table["discovered_plant_foods"] = reinterpret_cast(&(df_structure->discovered_plant_foods)) - reinterpret_cast(df_structure); - p_table["discovered_plants"] = reinterpret_cast(&(df_structure->discovered_plants)) - reinterpret_cast(df_structure); - p_table["foreground_color"] = reinterpret_cast(&(df_structure->foreground_color)) - reinterpret_cast(df_structure); - p_table["background_color"] = reinterpret_cast(&(df_structure->background_color)) - reinterpret_cast(df_structure); -} - -void generate_historical_entity__T_unknown1b__T_unk32e_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); -} - -void generate_historical_entity__T_unknown1b__T_diplomacy_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["group_id"] = reinterpret_cast(&(df_structure->group_id)) - reinterpret_cast(df_structure); - p_table["relation"] = reinterpret_cast(&(df_structure->relation)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["historic_events"] = reinterpret_cast(&(df_structure->historic_events)) - reinterpret_cast(df_structure); - p_table["historic_events_collection"] = reinterpret_cast(&(df_structure->historic_events_collection)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); -} - -void generate_historical_entity__T_unknown1b_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk32a"] = reinterpret_cast(&(df_structure->unk32a)) - reinterpret_cast(df_structure); - p_table["deities"] = reinterpret_cast(&(df_structure->deities)) - reinterpret_cast(df_structure); - p_table["worship"] = reinterpret_cast(&(df_structure->worship)) - reinterpret_cast(df_structure); - p_table["belief_systems"] = reinterpret_cast(&(df_structure->belief_systems)) - reinterpret_cast(df_structure); - p_table["unk32e"] = reinterpret_cast(&(df_structure->unk32e)) - reinterpret_cast(df_structure); - p_table["diplomacy"] = reinterpret_cast(&(df_structure->diplomacy)) - reinterpret_cast(df_structure); - p_table["unk33"] = reinterpret_cast(&(df_structure->unk33)) - reinterpret_cast(df_structure); - p_table["unk34a"] = reinterpret_cast(&(df_structure->unk34a)) - reinterpret_cast(df_structure); - p_table["unk34b"] = reinterpret_cast(&(df_structure->unk34b)) - reinterpret_cast(df_structure); - p_table["unk34c"] = reinterpret_cast(&(df_structure->unk34c)) - reinterpret_cast(df_structure); - p_table["unk34d"] = reinterpret_cast(&(df_structure->unk34d)) - reinterpret_cast(df_structure); - p_table["unk34e"] = reinterpret_cast(&(df_structure->unk34e)) - reinterpret_cast(df_structure); -} - -void generate_historical_entity__T_positions_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["own"] = reinterpret_cast(&(df_structure->own)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["conquered_site"] = reinterpret_cast(&(df_structure->conquered_site)) - reinterpret_cast(df_structure); - p_table["next_position_id"] = reinterpret_cast(&(df_structure->next_position_id)) - reinterpret_cast(df_structure); - p_table["assignments"] = reinterpret_cast(&(df_structure->assignments)) - reinterpret_cast(df_structure); - p_table["next_assignment_id"] = reinterpret_cast(&(df_structure->next_assignment_id)) - reinterpret_cast(df_structure); - p_table["unk_v40_1"] = reinterpret_cast(&(df_structure->unk_v40_1)) - reinterpret_cast(df_structure); - p_table["unk_v40_2"] = reinterpret_cast(&(df_structure->unk_v40_2)) - reinterpret_cast(df_structure); - p_table["unk_v40_3"] = reinterpret_cast(&(df_structure->unk_v40_3)) - reinterpret_cast(df_structure); - p_table["unk_v40_4"] = reinterpret_cast(&(df_structure->unk_v40_4)) - reinterpret_cast(df_structure); - p_table["unk_v40_5"] = reinterpret_cast(&(df_structure->unk_v40_5)) - reinterpret_cast(df_structure); -} - -void generate_historical_entity__T_tissue_styles_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); - p_table["next_style_id"] = reinterpret_cast(&(df_structure->next_style_id)) - reinterpret_cast(df_structure); -} - -void generate_historical_entity__T_unknown1d_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk42"] = reinterpret_cast(&(df_structure->unk42)) - reinterpret_cast(df_structure); - p_table["unk43"] = reinterpret_cast(&(df_structure->unk43)) - reinterpret_cast(df_structure); - p_table["unk44"] = reinterpret_cast(&(df_structure->unk44)) - reinterpret_cast(df_structure); - p_table["unk44a"] = reinterpret_cast(&(df_structure->unk44a)) - reinterpret_cast(df_structure); - p_table["unk44b"] = reinterpret_cast(&(df_structure->unk44b)) - reinterpret_cast(df_structure); -} - -void generate_historical_entity__T_training_knowledge_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["level"] = reinterpret_cast(&(df_structure->level)) - reinterpret_cast(df_structure); - p_table["unk_10"] = reinterpret_cast(&(df_structure->unk_10)) - reinterpret_cast(df_structure); -} - -void generate_historical_entity__T_unknown1e_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk47"] = reinterpret_cast(&(df_structure->unk47)) - reinterpret_cast(df_structure); - p_table["unk48"] = reinterpret_cast(&(df_structure->unk48)) - reinterpret_cast(df_structure); - p_table["unk49a"] = reinterpret_cast(&(df_structure->unk49a)) - reinterpret_cast(df_structure); - p_table["unk49b"] = reinterpret_cast(&(df_structure->unk49b)) - reinterpret_cast(df_structure); - p_table["unk49c"] = reinterpret_cast(&(df_structure->unk49c)) - reinterpret_cast(df_structure); - p_table["unk49d"] = reinterpret_cast(&(df_structure->unk49d)) - reinterpret_cast(df_structure); - p_table["unk49e"] = reinterpret_cast(&(df_structure->unk49e)) - reinterpret_cast(df_structure); - p_table["unk49f"] = reinterpret_cast(&(df_structure->unk49f)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_historical_entity__T_derived_resources_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mill_cookable"] = reinterpret_cast(&(df_structure->mill_cookable)) - reinterpret_cast(df_structure); - p_table["mill_dye"] = reinterpret_cast(&(df_structure->mill_dye)) - reinterpret_cast(df_structure); - p_table["armor_leather"] = reinterpret_cast(&(df_structure->armor_leather)) - reinterpret_cast(df_structure); - p_table["armor_chain"] = reinterpret_cast(&(df_structure->armor_chain)) - reinterpret_cast(df_structure); - p_table["armor_plate"] = reinterpret_cast(&(df_structure->armor_plate)) - reinterpret_cast(df_structure); - p_table["armor_under"] = reinterpret_cast(&(df_structure->armor_under)) - reinterpret_cast(df_structure); - p_table["armor_over"] = reinterpret_cast(&(df_structure->armor_over)) - reinterpret_cast(df_structure); - p_table["armor_cover"] = reinterpret_cast(&(df_structure->armor_cover)) - reinterpret_cast(df_structure); - p_table["pants_leather"] = reinterpret_cast(&(df_structure->pants_leather)) - reinterpret_cast(df_structure); - p_table["pants_chain"] = reinterpret_cast(&(df_structure->pants_chain)) - reinterpret_cast(df_structure); - p_table["pants_plate"] = reinterpret_cast(&(df_structure->pants_plate)) - reinterpret_cast(df_structure); - p_table["pants_under"] = reinterpret_cast(&(df_structure->pants_under)) - reinterpret_cast(df_structure); - p_table["pants_over"] = reinterpret_cast(&(df_structure->pants_over)) - reinterpret_cast(df_structure); - p_table["pants_cover"] = reinterpret_cast(&(df_structure->pants_cover)) - reinterpret_cast(df_structure); - p_table["helm_leather"] = reinterpret_cast(&(df_structure->helm_leather)) - reinterpret_cast(df_structure); - p_table["helm_chain"] = reinterpret_cast(&(df_structure->helm_chain)) - reinterpret_cast(df_structure); - p_table["helm_plate"] = reinterpret_cast(&(df_structure->helm_plate)) - reinterpret_cast(df_structure); - p_table["helm_under"] = reinterpret_cast(&(df_structure->helm_under)) - reinterpret_cast(df_structure); - p_table["helm_over"] = reinterpret_cast(&(df_structure->helm_over)) - reinterpret_cast(df_structure); - p_table["helm_cover"] = reinterpret_cast(&(df_structure->helm_cover)) - reinterpret_cast(df_structure); - p_table["shoes_leather"] = reinterpret_cast(&(df_structure->shoes_leather)) - reinterpret_cast(df_structure); - p_table["shoes_chain"] = reinterpret_cast(&(df_structure->shoes_chain)) - reinterpret_cast(df_structure); - p_table["shoes_plate"] = reinterpret_cast(&(df_structure->shoes_plate)) - reinterpret_cast(df_structure); - p_table["shoes_under"] = reinterpret_cast(&(df_structure->shoes_under)) - reinterpret_cast(df_structure); - p_table["shoes_over"] = reinterpret_cast(&(df_structure->shoes_over)) - reinterpret_cast(df_structure); - p_table["shoes_cover"] = reinterpret_cast(&(df_structure->shoes_cover)) - reinterpret_cast(df_structure); - p_table["gloves_leather"] = reinterpret_cast(&(df_structure->gloves_leather)) - reinterpret_cast(df_structure); - p_table["gloves_chain"] = reinterpret_cast(&(df_structure->gloves_chain)) - reinterpret_cast(df_structure); - p_table["gloves_plate"] = reinterpret_cast(&(df_structure->gloves_plate)) - reinterpret_cast(df_structure); - p_table["gloves_under"] = reinterpret_cast(&(df_structure->gloves_under)) - reinterpret_cast(df_structure); - p_table["gloves_over"] = reinterpret_cast(&(df_structure->gloves_over)) - reinterpret_cast(df_structure); - p_table["gloves_cover"] = reinterpret_cast(&(df_structure->gloves_cover)) - reinterpret_cast(df_structure); -} - -void generate_historical_entity__T_claims_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["areas"] = reinterpret_cast(&(df_structure->areas)) - reinterpret_cast(df_structure); - p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); - p_table["border"] = reinterpret_cast(&(df_structure->border)) - reinterpret_cast(df_structure); -} - -void generate_historical_entity__T_unknown2_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["metal_proficiency"] = reinterpret_cast(&(df_structure->metal_proficiency)) - reinterpret_cast(df_structure); - p_table["unk10"] = reinterpret_cast(&(df_structure->unk10)) - reinterpret_cast(df_structure); - p_table["resource_allotment"] = reinterpret_cast(&(df_structure->resource_allotment)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["unk12a"] = reinterpret_cast(&(df_structure->unk12a)) - reinterpret_cast(df_structure); - p_table["unk12b"] = reinterpret_cast(&(df_structure->unk12b)) - reinterpret_cast(df_structure); - p_table["unk13"] = reinterpret_cast(&(df_structure->unk13)) - reinterpret_cast(df_structure); - p_table["landmass"] = reinterpret_cast(&(df_structure->landmass)) - reinterpret_cast(df_structure); - p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); - p_table["unk16"] = reinterpret_cast(&(df_structure->unk16)) - reinterpret_cast(df_structure); - p_table["unk17"] = reinterpret_cast(&(df_structure->unk17)) - reinterpret_cast(df_structure); - p_table["unk18"] = reinterpret_cast(&(df_structure->unk18)) - reinterpret_cast(df_structure); - p_table["unk19"] = reinterpret_cast(&(df_structure->unk19)) - reinterpret_cast(df_structure); - p_table["unk20"] = reinterpret_cast(&(df_structure->unk20)) - reinterpret_cast(df_structure); - p_table["unk21"] = reinterpret_cast(&(df_structure->unk21)) - reinterpret_cast(df_structure); - p_table["unk22"] = reinterpret_cast(&(df_structure->unk22)) - reinterpret_cast(df_structure); - p_table["unk23"] = reinterpret_cast(&(df_structure->unk23)) - reinterpret_cast(df_structure); - p_table["unk24"] = reinterpret_cast(&(df_structure->unk24)) - reinterpret_cast(df_structure); - p_table["unk25"] = reinterpret_cast(&(df_structure->unk25)) - reinterpret_cast(df_structure); - p_table["unk_9C"] = reinterpret_cast(&(df_structure->unk_9C)) - reinterpret_cast(df_structure); - p_table["unk_A0"] = reinterpret_cast(&(df_structure->unk_A0)) - reinterpret_cast(df_structure); - p_table["unk_A4"] = reinterpret_cast(&(df_structure->unk_A4)) - reinterpret_cast(df_structure); - p_table["unk_A8"] = reinterpret_cast(&(df_structure->unk_A8)) - reinterpret_cast(df_structure); - p_table["unk_AC"] = reinterpret_cast(&(df_structure->unk_AC)) - reinterpret_cast(df_structure); - p_table["unk_B0"] = reinterpret_cast(&(df_structure->unk_B0)) - reinterpret_cast(df_structure); - p_table["unk_B4"] = reinterpret_cast(&(df_structure->unk_B4)) - reinterpret_cast(df_structure); - p_table["unk_B8"] = reinterpret_cast(&(df_structure->unk_B8)) - reinterpret_cast(df_structure); - p_table["unk_BC"] = reinterpret_cast(&(df_structure->unk_BC)) - reinterpret_cast(df_structure); - p_table["unk_C0"] = reinterpret_cast(&(df_structure->unk_C0)) - reinterpret_cast(df_structure); - p_table["unk26a"] = reinterpret_cast(&(df_structure->unk26a)) - reinterpret_cast(df_structure); - p_table["unk26b"] = reinterpret_cast(&(df_structure->unk26b)) - reinterpret_cast(df_structure); - p_table["unk26c"] = reinterpret_cast(&(df_structure->unk26c)) - reinterpret_cast(df_structure); - p_table["unk26d"] = reinterpret_cast(&(df_structure->unk26d)) - reinterpret_cast(df_structure); - p_table["unk26e"] = reinterpret_cast(&(df_structure->unk26e)) - reinterpret_cast(df_structure); - p_table["unk28"] = reinterpret_cast(&(df_structure->unk28)) - reinterpret_cast(df_structure); - p_table["unk29"] = reinterpret_cast(&(df_structure->unk29)) - reinterpret_cast(df_structure); -} - -void generate_historical_entity_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["entity_raw"] = reinterpret_cast(&(df_structure->entity_raw)) - reinterpret_cast(df_structure); - p_table["save_file_id"] = reinterpret_cast(&(df_structure->save_file_id)) - reinterpret_cast(df_structure); - p_table["next_member_idx"] = reinterpret_cast(&(df_structure->next_member_idx)) - reinterpret_cast(df_structure); - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["entity_links"] = reinterpret_cast(&(df_structure->entity_links)) - reinterpret_cast(df_structure); - p_table["site_links"] = reinterpret_cast(&(df_structure->site_links)) - reinterpret_cast(df_structure); - p_table["histfig_ids"] = reinterpret_cast(&(df_structure->histfig_ids)) - reinterpret_cast(df_structure); - p_table["populations"] = reinterpret_cast(&(df_structure->populations)) - reinterpret_cast(df_structure); - p_table["nemesis_ids"] = reinterpret_cast(&(df_structure->nemesis_ids)) - reinterpret_cast(df_structure); - p_table["resources"] = reinterpret_cast(&(df_structure->resources)) - reinterpret_cast(df_structure); - p_table["uniforms"] = reinterpret_cast(&(df_structure->uniforms)) - reinterpret_cast(df_structure); - p_table["next_uniform_id"] = reinterpret_cast(&(df_structure->next_uniform_id)) - reinterpret_cast(df_structure); - p_table["unknown1b"] = reinterpret_cast(&(df_structure->unknown1b)) - reinterpret_cast(df_structure); - p_table["positions"] = reinterpret_cast(&(df_structure->positions)) - reinterpret_cast(df_structure); - p_table["tissue_styles"] = reinterpret_cast(&(df_structure->tissue_styles)) - reinterpret_cast(df_structure); - p_table["squads"] = reinterpret_cast(&(df_structure->squads)) - reinterpret_cast(df_structure); - p_table["unknown1d"] = reinterpret_cast(&(df_structure->unknown1d)) - reinterpret_cast(df_structure); - p_table["training_knowledge"] = reinterpret_cast(&(df_structure->training_knowledge)) - reinterpret_cast(df_structure); - p_table["events"] = reinterpret_cast(&(df_structure->events)) - reinterpret_cast(df_structure); - p_table["unk_v40_1a"] = reinterpret_cast(&(df_structure->unk_v40_1a)) - reinterpret_cast(df_structure); - p_table["unk_v40_1b"] = reinterpret_cast(&(df_structure->unk_v40_1b)) - reinterpret_cast(df_structure); - p_table["unk_v40_1c"] = reinterpret_cast(&(df_structure->unk_v40_1c)) - reinterpret_cast(df_structure); - p_table["unk_v40_1d"] = reinterpret_cast(&(df_structure->unk_v40_1d)) - reinterpret_cast(df_structure); - p_table["unk_v40_1e"] = reinterpret_cast(&(df_structure->unk_v40_1e)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["occasion_info"] = reinterpret_cast(&(df_structure->occasion_info)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); - p_table["meeting_events"] = reinterpret_cast(&(df_structure->meeting_events)) - reinterpret_cast(df_structure); - p_table["activity_stats"] = reinterpret_cast(&(df_structure->activity_stats)) - reinterpret_cast(df_structure); - p_table["unknown1e"] = reinterpret_cast(&(df_structure->unknown1e)) - reinterpret_cast(df_structure); - p_table["armies"] = reinterpret_cast(&(df_structure->armies)) - reinterpret_cast(df_structure); - p_table["army_controllers"] = reinterpret_cast(&(df_structure->army_controllers)) - reinterpret_cast(df_structure); - p_table["hist_figures"] = reinterpret_cast(&(df_structure->hist_figures)) - reinterpret_cast(df_structure); - p_table["nemesis"] = reinterpret_cast(&(df_structure->nemesis)) - reinterpret_cast(df_structure); - p_table["derived_resources"] = reinterpret_cast(&(df_structure->derived_resources)) - reinterpret_cast(df_structure); - p_table["assignments_by_type"] = reinterpret_cast(&(df_structure->assignments_by_type)) - reinterpret_cast(df_structure); - p_table["claims"] = reinterpret_cast(&(df_structure->claims)) - reinterpret_cast(df_structure); - p_table["children"] = reinterpret_cast(&(df_structure->children)) - reinterpret_cast(df_structure); - p_table["unknown2"] = reinterpret_cast(&(df_structure->unknown2)) - reinterpret_cast(df_structure); -} - -void generate_historical_figure__T_unk_fc_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk_0"] = reinterpret_cast(&(df_structure->unk_0)) - reinterpret_cast(df_structure); - p_table["unk_8"] = reinterpret_cast(&(df_structure->unk_8)) - reinterpret_cast(df_structure); -} - -void generate_historical_figure_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["profession"] = reinterpret_cast(&(df_structure->profession)) - reinterpret_cast(df_structure); - p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); - p_table["caste"] = reinterpret_cast(&(df_structure->caste)) - reinterpret_cast(df_structure); - p_table["sex"] = reinterpret_cast(&(df_structure->sex)) - reinterpret_cast(df_structure); - p_table["orientation_flags"] = reinterpret_cast(&(df_structure->orientation_flags)) - reinterpret_cast(df_structure); - p_table["appeared_year"] = reinterpret_cast(&(df_structure->appeared_year)) - reinterpret_cast(df_structure); - p_table["born_year"] = reinterpret_cast(&(df_structure->born_year)) - reinterpret_cast(df_structure); - p_table["born_seconds"] = reinterpret_cast(&(df_structure->born_seconds)) - reinterpret_cast(df_structure); - p_table["curse_year"] = reinterpret_cast(&(df_structure->curse_year)) - reinterpret_cast(df_structure); - p_table["curse_seconds"] = reinterpret_cast(&(df_structure->curse_seconds)) - reinterpret_cast(df_structure); - p_table["birth_year_bias"] = reinterpret_cast(&(df_structure->birth_year_bias)) - reinterpret_cast(df_structure); - p_table["birth_time_bias"] = reinterpret_cast(&(df_structure->birth_time_bias)) - reinterpret_cast(df_structure); - p_table["old_year"] = reinterpret_cast(&(df_structure->old_year)) - reinterpret_cast(df_structure); - p_table["old_seconds"] = reinterpret_cast(&(df_structure->old_seconds)) - reinterpret_cast(df_structure); - p_table["died_year"] = reinterpret_cast(&(df_structure->died_year)) - reinterpret_cast(df_structure); - p_table["died_seconds"] = reinterpret_cast(&(df_structure->died_seconds)) - reinterpret_cast(df_structure); - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["civ_id"] = reinterpret_cast(&(df_structure->civ_id)) - reinterpret_cast(df_structure); - p_table["population_id"] = reinterpret_cast(&(df_structure->population_id)) - reinterpret_cast(df_structure); - p_table["breed_id"] = reinterpret_cast(&(df_structure->breed_id)) - reinterpret_cast(df_structure); - p_table["cultural_identity"] = reinterpret_cast(&(df_structure->cultural_identity)) - reinterpret_cast(df_structure); - p_table["family_head_id"] = reinterpret_cast(&(df_structure->family_head_id)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["unit_id"] = reinterpret_cast(&(df_structure->unit_id)) - reinterpret_cast(df_structure); - p_table["unit_id2"] = reinterpret_cast(&(df_structure->unit_id2)) - reinterpret_cast(df_structure); - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["unk4"] = reinterpret_cast(&(df_structure->unk4)) - reinterpret_cast(df_structure); - p_table["entity_links"] = reinterpret_cast(&(df_structure->entity_links)) - reinterpret_cast(df_structure); - p_table["site_links"] = reinterpret_cast(&(df_structure->site_links)) - reinterpret_cast(df_structure); - p_table["histfig_links"] = reinterpret_cast(&(df_structure->histfig_links)) - reinterpret_cast(df_structure); - p_table["info"] = reinterpret_cast(&(df_structure->info)) - reinterpret_cast(df_structure); - p_table["unk_f0"] = reinterpret_cast(&(df_structure->unk_f0)) - reinterpret_cast(df_structure); - p_table["unk_f4"] = reinterpret_cast(&(df_structure->unk_f4)) - reinterpret_cast(df_structure); - p_table["unk_f8"] = reinterpret_cast(&(df_structure->unk_f8)) - reinterpret_cast(df_structure); - p_table["unk_fc"] = reinterpret_cast(&(df_structure->unk_fc)) - reinterpret_cast(df_structure); - p_table["unk_100"] = reinterpret_cast(&(df_structure->unk_100)) - reinterpret_cast(df_structure); - p_table["unk_v4019_1"] = reinterpret_cast(&(df_structure->unk_v4019_1)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_identity_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); - p_table["caste"] = reinterpret_cast(&(df_structure->caste)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["histfig_id"] = reinterpret_cast(&(df_structure->histfig_id)) - reinterpret_cast(df_structure); - p_table["unk_4c"] = reinterpret_cast(&(df_structure->unk_4c)) - reinterpret_cast(df_structure); - p_table["birth_year"] = reinterpret_cast(&(df_structure->birth_year)) - reinterpret_cast(df_structure); - p_table["birth_second"] = reinterpret_cast(&(df_structure->birth_second)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["profession"] = reinterpret_cast(&(df_structure->profession)) - reinterpret_cast(df_structure); - p_table["civ"] = reinterpret_cast(&(df_structure->civ)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); -} - -void generate_history_event_collection_warst__T_unk_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["ethics_unk1"] = reinterpret_cast(&(df_structure->ethics_unk1)) - reinterpret_cast(df_structure); - p_table["disputed_ethics"] = reinterpret_cast(&(df_structure->disputed_ethics)) - reinterpret_cast(df_structure); - p_table["ethics_unk3"] = reinterpret_cast(&(df_structure->ethics_unk3)) - reinterpret_cast(df_structure); - p_table["dispute_severities"] = reinterpret_cast(&(df_structure->dispute_severities)) - reinterpret_cast(df_structure); - p_table["worst_severity"] = reinterpret_cast(&(df_structure->worst_severity)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); - p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); - p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); - p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); -} - -void generate_history_event_collection_warst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["attacker_civ"] = reinterpret_cast(&(df_structure->attacker_civ)) - reinterpret_cast(df_structure); - p_table["defender_civ"] = reinterpret_cast(&(df_structure->defender_civ)) - reinterpret_cast(df_structure); - p_table["unk"] = reinterpret_cast(&(df_structure->unk)) - reinterpret_cast(df_structure); -} - -void generate_history_event_collection_battlest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["parent_collection"] = reinterpret_cast(&(df_structure->parent_collection)) - reinterpret_cast(df_structure); - p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); - p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["region_pos"] = reinterpret_cast(&(df_structure->region_pos)) - reinterpret_cast(df_structure); - p_table["attacker_civ"] = reinterpret_cast(&(df_structure->attacker_civ)) - reinterpret_cast(df_structure); - p_table["defender_civ"] = reinterpret_cast(&(df_structure->defender_civ)) - reinterpret_cast(df_structure); - p_table["attacker_hf"] = reinterpret_cast(&(df_structure->attacker_hf)) - reinterpret_cast(df_structure); - p_table["defender_hf"] = reinterpret_cast(&(df_structure->defender_hf)) - reinterpret_cast(df_structure); - p_table["noncombat_hf"] = reinterpret_cast(&(df_structure->noncombat_hf)) - reinterpret_cast(df_structure); - p_table["attacker_squad_entity_pop"] = reinterpret_cast(&(df_structure->attacker_squad_entity_pop)) - reinterpret_cast(df_structure); - p_table["attacker_squad_counts"] = reinterpret_cast(&(df_structure->attacker_squad_counts)) - reinterpret_cast(df_structure); - p_table["attacker_squad_deaths"] = reinterpret_cast(&(df_structure->attacker_squad_deaths)) - reinterpret_cast(df_structure); - p_table["attacker_squad_races"] = reinterpret_cast(&(df_structure->attacker_squad_races)) - reinterpret_cast(df_structure); - p_table["attacker_squad_sites"] = reinterpret_cast(&(df_structure->attacker_squad_sites)) - reinterpret_cast(df_structure); - p_table["defender_squad_entity_pops"] = reinterpret_cast(&(df_structure->defender_squad_entity_pops)) - reinterpret_cast(df_structure); - p_table["defender_squad_counts"] = reinterpret_cast(&(df_structure->defender_squad_counts)) - reinterpret_cast(df_structure); - p_table["defender_squad_deaths"] = reinterpret_cast(&(df_structure->defender_squad_deaths)) - reinterpret_cast(df_structure); - p_table["defender_squad_races"] = reinterpret_cast(&(df_structure->defender_squad_races)) - reinterpret_cast(df_structure); - p_table["defender_squad_sites"] = reinterpret_cast(&(df_structure->defender_squad_sites)) - reinterpret_cast(df_structure); - p_table["outcome"] = reinterpret_cast(&(df_structure->outcome)) - reinterpret_cast(df_structure); -} - -void generate_world_history__T_event_collections_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); - p_table["other"] = reinterpret_cast(&(df_structure->other)) - reinterpret_cast(df_structure); -} - -void generate_world_history_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["events"] = reinterpret_cast(&(df_structure->events)) - reinterpret_cast(df_structure); - p_table["events_death"] = reinterpret_cast(&(df_structure->events_death)) - reinterpret_cast(df_structure); - p_table["figures"] = reinterpret_cast(&(df_structure->figures)) - reinterpret_cast(df_structure); - p_table["event_collections"] = reinterpret_cast(&(df_structure->event_collections)) - reinterpret_cast(df_structure); - p_table["eras"] = reinterpret_cast(&(df_structure->eras)) - reinterpret_cast(df_structure); - p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); - p_table["unk2"] = reinterpret_cast(&(df_structure->unk2)) - reinterpret_cast(df_structure); - p_table["total_unk"] = reinterpret_cast(&(df_structure->total_unk)) - reinterpret_cast(df_structure); - p_table["total_powers"] = reinterpret_cast(&(df_structure->total_powers)) - reinterpret_cast(df_structure); - p_table["total_megabeasts"] = reinterpret_cast(&(df_structure->total_megabeasts)) - reinterpret_cast(df_structure); - p_table["total_semimegabeasts"] = reinterpret_cast(&(df_structure->total_semimegabeasts)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["unk_v42_1"] = reinterpret_cast(&(df_structure->unk_v42_1)) - reinterpret_cast(df_structure); - p_table["live_megabeasts"] = reinterpret_cast(&(df_structure->live_megabeasts)) - reinterpret_cast(df_structure); - p_table["live_semimegabeasts"] = reinterpret_cast(&(df_structure->live_semimegabeasts)) - reinterpret_cast(df_structure); - p_table["unk_histfig_3"] = reinterpret_cast(&(df_structure->unk_histfig_3)) - reinterpret_cast(df_structure); - p_table["unk_histfig_4"] = reinterpret_cast(&(df_structure->unk_histfig_4)) - reinterpret_cast(df_structure); - p_table["unk_histfig_5"] = reinterpret_cast(&(df_structure->unk_histfig_5)) - reinterpret_cast(df_structure); - p_table["unk_v40_1"] = reinterpret_cast(&(df_structure->unk_v40_1)) - reinterpret_cast(df_structure); - p_table["unk_histfig_6"] = reinterpret_cast(&(df_structure->unk_histfig_6)) - reinterpret_cast(df_structure); - p_table["unk_histfig_7"] = reinterpret_cast(&(df_structure->unk_histfig_7)) - reinterpret_cast(df_structure); - p_table["unk_histfig_8"] = reinterpret_cast(&(df_structure->unk_histfig_8)) - reinterpret_cast(df_structure); - p_table["unk_histfig_9"] = reinterpret_cast(&(df_structure->unk_histfig_9)) - reinterpret_cast(df_structure); - p_table["unk_histfig_10"] = reinterpret_cast(&(df_structure->unk_histfig_10)) - reinterpret_cast(df_structure); - p_table["unk_histfig_11"] = reinterpret_cast(&(df_structure->unk_histfig_11)) - reinterpret_cast(df_structure); - p_table["unk_histfig_12"] = reinterpret_cast(&(df_structure->unk_histfig_12)) - reinterpret_cast(df_structure); - p_table["unk_histfig_13"] = reinterpret_cast(&(df_structure->unk_histfig_13)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); - p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); -} - -void generate_item_critter_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); - p_table["caste"] = reinterpret_cast(&(df_structure->caste)) - reinterpret_cast(df_structure); - p_table["milk_timer"] = reinterpret_cast(&(df_structure->milk_timer)) - reinterpret_cast(df_structure); - p_table["airdrown_timer"] = reinterpret_cast(&(df_structure->airdrown_timer)) - reinterpret_cast(df_structure); - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); -} - -void generate_item_verminst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_item_petst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["owner_id"] = reinterpret_cast(&(df_structure->owner_id)) - reinterpret_cast(df_structure); - p_table["pet_flags"] = reinterpret_cast(&(df_structure->pet_flags)) - reinterpret_cast(df_structure); -} - -void generate_language_word_table_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["words"] = reinterpret_cast(&(df_structure->words)) - reinterpret_cast(df_structure); - p_table["parts"] = reinterpret_cast(&(df_structure->parts)) - reinterpret_cast(df_structure); -} - -void generate_entity_raw__T_equipment_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["digger_id"] = reinterpret_cast(&(df_structure->digger_id)) - reinterpret_cast(df_structure); - p_table["weapon_id"] = reinterpret_cast(&(df_structure->weapon_id)) - reinterpret_cast(df_structure); - p_table["armor_id"] = reinterpret_cast(&(df_structure->armor_id)) - reinterpret_cast(df_structure); - p_table["ammo_id"] = reinterpret_cast(&(df_structure->ammo_id)) - reinterpret_cast(df_structure); - p_table["helm_id"] = reinterpret_cast(&(df_structure->helm_id)) - reinterpret_cast(df_structure); - p_table["gloves_id"] = reinterpret_cast(&(df_structure->gloves_id)) - reinterpret_cast(df_structure); - p_table["shoes_id"] = reinterpret_cast(&(df_structure->shoes_id)) - reinterpret_cast(df_structure); - p_table["pants_id"] = reinterpret_cast(&(df_structure->pants_id)) - reinterpret_cast(df_structure); - p_table["shield_id"] = reinterpret_cast(&(df_structure->shield_id)) - reinterpret_cast(df_structure); - p_table["trapcomp_id"] = reinterpret_cast(&(df_structure->trapcomp_id)) - reinterpret_cast(df_structure); - p_table["toy_id"] = reinterpret_cast(&(df_structure->toy_id)) - reinterpret_cast(df_structure); - p_table["instrument_id"] = reinterpret_cast(&(df_structure->instrument_id)) - reinterpret_cast(df_structure); - p_table["tool_id"] = reinterpret_cast(&(df_structure->tool_id)) - reinterpret_cast(df_structure); - p_table["siegeammo_id"] = reinterpret_cast(&(df_structure->siegeammo_id)) - reinterpret_cast(df_structure); - p_table["armor_rarity"] = reinterpret_cast(&(df_structure->armor_rarity)) - reinterpret_cast(df_structure); - p_table["helm_rarity"] = reinterpret_cast(&(df_structure->helm_rarity)) - reinterpret_cast(df_structure); - p_table["gloves_rarity"] = reinterpret_cast(&(df_structure->gloves_rarity)) - reinterpret_cast(df_structure); - p_table["shoes_rarity"] = reinterpret_cast(&(df_structure->shoes_rarity)) - reinterpret_cast(df_structure); - p_table["pants_rarity"] = reinterpret_cast(&(df_structure->pants_rarity)) - reinterpret_cast(df_structure); - p_table["digger_str"] = reinterpret_cast(&(df_structure->digger_str)) - reinterpret_cast(df_structure); - p_table["weapon_str"] = reinterpret_cast(&(df_structure->weapon_str)) - reinterpret_cast(df_structure); - p_table["armor_str"] = reinterpret_cast(&(df_structure->armor_str)) - reinterpret_cast(df_structure); - p_table["ammo_str"] = reinterpret_cast(&(df_structure->ammo_str)) - reinterpret_cast(df_structure); - p_table["helm_str"] = reinterpret_cast(&(df_structure->helm_str)) - reinterpret_cast(df_structure); - p_table["gloves_str"] = reinterpret_cast(&(df_structure->gloves_str)) - reinterpret_cast(df_structure); - p_table["shoes_str"] = reinterpret_cast(&(df_structure->shoes_str)) - reinterpret_cast(df_structure); - p_table["pants_str"] = reinterpret_cast(&(df_structure->pants_str)) - reinterpret_cast(df_structure); - p_table["shield_str"] = reinterpret_cast(&(df_structure->shield_str)) - reinterpret_cast(df_structure); - p_table["trapcomp_str"] = reinterpret_cast(&(df_structure->trapcomp_str)) - reinterpret_cast(df_structure); - p_table["toy_str"] = reinterpret_cast(&(df_structure->toy_str)) - reinterpret_cast(df_structure); - p_table["instrument_str"] = reinterpret_cast(&(df_structure->instrument_str)) - reinterpret_cast(df_structure); - p_table["siegeammo_str"] = reinterpret_cast(&(df_structure->siegeammo_str)) - reinterpret_cast(df_structure); - p_table["tool_str"] = reinterpret_cast(&(df_structure->tool_str)) - reinterpret_cast(df_structure); -} - -void generate_entity_raw__T_symbols_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["symbols1"] = reinterpret_cast(&(df_structure->symbols1)) - reinterpret_cast(df_structure); - p_table["symbols2"] = reinterpret_cast(&(df_structure->symbols2)) - reinterpret_cast(df_structure); - p_table["select_symbol"] = reinterpret_cast(&(df_structure->select_symbol)) - reinterpret_cast(df_structure); - p_table["subselect_symbol"] = reinterpret_cast(&(df_structure->subselect_symbol)) - reinterpret_cast(df_structure); - p_table["cull_symbol"] = reinterpret_cast(&(df_structure->cull_symbol)) - reinterpret_cast(df_structure); -} - -void generate_entity_raw__T_progress_trigger_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["population"] = reinterpret_cast(&(df_structure->population)) - reinterpret_cast(df_structure); - p_table["production"] = reinterpret_cast(&(df_structure->production)) - reinterpret_cast(df_structure); - p_table["trade"] = reinterpret_cast(&(df_structure->trade)) - reinterpret_cast(df_structure); - p_table["pop_siege"] = reinterpret_cast(&(df_structure->pop_siege)) - reinterpret_cast(df_structure); - p_table["prod_siege"] = reinterpret_cast(&(df_structure->prod_siege)) - reinterpret_cast(df_structure); - p_table["trade_siege"] = reinterpret_cast(&(df_structure->trade_siege)) - reinterpret_cast(df_structure); -} - -void generate_entity_raw__T_jobs_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["permitted_job"] = reinterpret_cast(&(df_structure->permitted_job)) - reinterpret_cast(df_structure); - p_table["permitted_labor"] = reinterpret_cast(&(df_structure->permitted_labor)) - reinterpret_cast(df_structure); - p_table["world_construction"] = reinterpret_cast(&(df_structure->world_construction)) - reinterpret_cast(df_structure); -} - -void generate_entity_raw__T_tissue_styles_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["preferred_shapings"] = reinterpret_cast(&(df_structure->preferred_shapings)) - reinterpret_cast(df_structure); - p_table["maintain_length_min"] = reinterpret_cast(&(df_structure->maintain_length_min)) - reinterpret_cast(df_structure); - p_table["maintain_length_max"] = reinterpret_cast(&(df_structure->maintain_length_max)) - reinterpret_cast(df_structure); -} - -void generate_entity_raw__T_workshops_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["permitted_building_str"] = reinterpret_cast(&(df_structure->permitted_building_str)) - reinterpret_cast(df_structure); - p_table["permitted_building_id"] = reinterpret_cast(&(df_structure->permitted_building_id)) - reinterpret_cast(df_structure); - p_table["permitted_reaction_str"] = reinterpret_cast(&(df_structure->permitted_reaction_str)) - reinterpret_cast(df_structure); - p_table["permitted_reaction_id"] = reinterpret_cast(&(df_structure->permitted_reaction_id)) - reinterpret_cast(df_structure); -} - -void generate_entity_raw__T_land_holder_trigger_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["num"] = reinterpret_cast(&(df_structure->num)) - reinterpret_cast(df_structure); - p_table["population"] = reinterpret_cast(&(df_structure->population)) - reinterpret_cast(df_structure); - p_table["wealth"] = reinterpret_cast(&(df_structure->wealth)) - reinterpret_cast(df_structure); -} - -void generate_entity_raw_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["code"] = reinterpret_cast(&(df_structure->code)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["creature_ids"] = reinterpret_cast(&(df_structure->creature_ids)) - reinterpret_cast(df_structure); - p_table["creatures"] = reinterpret_cast(&(df_structure->creatures)) - reinterpret_cast(df_structure); - p_table["equipment"] = reinterpret_cast(&(df_structure->equipment)) - reinterpret_cast(df_structure); - p_table["currency_value"] = reinterpret_cast(&(df_structure->currency_value)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["translation"] = reinterpret_cast(&(df_structure->translation)) - reinterpret_cast(df_structure); - p_table["symbols"] = reinterpret_cast(&(df_structure->symbols)) - reinterpret_cast(df_structure); - p_table["sphere_alignment"] = reinterpret_cast(&(df_structure->sphere_alignment)) - reinterpret_cast(df_structure); - p_table["art_facet_modifier"] = reinterpret_cast(&(df_structure->art_facet_modifier)) - reinterpret_cast(df_structure); - p_table["art_image_element_modifier"] = reinterpret_cast(&(df_structure->art_image_element_modifier)) - reinterpret_cast(df_structure); - p_table["item_improvement_modifier"] = reinterpret_cast(&(df_structure->item_improvement_modifier)) - reinterpret_cast(df_structure); - p_table["friendly_color"] = reinterpret_cast(&(df_structure->friendly_color)) - reinterpret_cast(df_structure); - p_table["default_site_type"] = reinterpret_cast(&(df_structure->default_site_type)) - reinterpret_cast(df_structure); - p_table["likes_site"] = reinterpret_cast(&(df_structure->likes_site)) - reinterpret_cast(df_structure); - p_table["tolerates_site"] = reinterpret_cast(&(df_structure->tolerates_site)) - reinterpret_cast(df_structure); - p_table["biome_support"] = reinterpret_cast(&(df_structure->biome_support)) - reinterpret_cast(df_structure); - p_table["start_biome"] = reinterpret_cast(&(df_structure->start_biome)) - reinterpret_cast(df_structure); - p_table["settlement_biome"] = reinterpret_cast(&(df_structure->settlement_biome)) - reinterpret_cast(df_structure); - p_table["active_season"] = reinterpret_cast(&(df_structure->active_season)) - reinterpret_cast(df_structure); - p_table["progress_trigger"] = reinterpret_cast(&(df_structure->progress_trigger)) - reinterpret_cast(df_structure); - p_table["ethic"] = reinterpret_cast(&(df_structure->ethic)) - reinterpret_cast(df_structure); - p_table["values"] = reinterpret_cast(&(df_structure->values)) - reinterpret_cast(df_structure); - p_table["variable_value_min"] = reinterpret_cast(&(df_structure->variable_value_min)) - reinterpret_cast(df_structure); - p_table["variable_value_max"] = reinterpret_cast(&(df_structure->variable_value_max)) - reinterpret_cast(df_structure); - p_table["scholar"] = reinterpret_cast(&(df_structure->scholar)) - reinterpret_cast(df_structure); - p_table["max_site_pop_number"] = reinterpret_cast(&(df_structure->max_site_pop_number)) - reinterpret_cast(df_structure); - p_table["max_pop_number"] = reinterpret_cast(&(df_structure->max_pop_number)) - reinterpret_cast(df_structure); - p_table["max_starting_civ_number"] = reinterpret_cast(&(df_structure->max_starting_civ_number)) - reinterpret_cast(df_structure); - p_table["religion"] = reinterpret_cast(&(df_structure->religion)) - reinterpret_cast(df_structure); - p_table["religion_sphere"] = reinterpret_cast(&(df_structure->religion_sphere)) - reinterpret_cast(df_structure); - p_table["jobs"] = reinterpret_cast(&(df_structure->jobs)) - reinterpret_cast(df_structure); - p_table["positions"] = reinterpret_cast(&(df_structure->positions)) - reinterpret_cast(df_structure); - p_table["variable_positions"] = reinterpret_cast(&(df_structure->variable_positions)) - reinterpret_cast(df_structure); - p_table["site_variable_positions"] = reinterpret_cast(&(df_structure->site_variable_positions)) - reinterpret_cast(df_structure); - p_table["tissue_styles"] = reinterpret_cast(&(df_structure->tissue_styles)) - reinterpret_cast(df_structure); - p_table["workshops"] = reinterpret_cast(&(df_structure->workshops)) - reinterpret_cast(df_structure); - p_table["land_holder_trigger"] = reinterpret_cast(&(df_structure->land_holder_trigger)) - reinterpret_cast(df_structure); - p_table["banditry"] = reinterpret_cast(&(df_structure->banditry)) - reinterpret_cast(df_structure); - p_table["gem_shapes_str"] = reinterpret_cast(&(df_structure->gem_shapes_str)) - reinterpret_cast(df_structure); - p_table["stone_shapes_str"] = reinterpret_cast(&(df_structure->stone_shapes_str)) - reinterpret_cast(df_structure); - p_table["gem_shapes"] = reinterpret_cast(&(df_structure->gem_shapes)) - reinterpret_cast(df_structure); - p_table["stone_shapes"] = reinterpret_cast(&(df_structure->stone_shapes)) - reinterpret_cast(df_structure); - p_table["source_hfid"] = reinterpret_cast(&(df_structure->source_hfid)) - reinterpret_cast(df_structure); - p_table["unk_v4201_1"] = reinterpret_cast(&(df_structure->unk_v4201_1)) - reinterpret_cast(df_structure); - p_table["currency_str1"] = reinterpret_cast(&(df_structure->currency_str1)) - reinterpret_cast(df_structure); - p_table["currency_str2"] = reinterpret_cast(&(df_structure->currency_str2)) - reinterpret_cast(df_structure); - p_table["animal"] = reinterpret_cast(&(df_structure->animal)) - reinterpret_cast(df_structure); -} - -void generate_entity_population_unk4__T_anon_1_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["idx"] = reinterpret_cast(&(df_structure->idx)) - reinterpret_cast(df_structure); - p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); - p_table["unk2"] = reinterpret_cast(&(df_structure->unk2)) - reinterpret_cast(df_structure); -} - -void generate_entity_population_unk4__T_anon_3_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["idx"] = reinterpret_cast(&(df_structure->idx)) - reinterpret_cast(df_structure); - p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); -} - -void generate_entity_population_unk4_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); -} - -void generate_entity_population_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["races"] = reinterpret_cast(&(df_structure->races)) - reinterpret_cast(df_structure); - p_table["counts"] = reinterpret_cast(&(df_structure->counts)) - reinterpret_cast(df_structure); - p_table["unk3"] = reinterpret_cast(&(df_structure->unk3)) - reinterpret_cast(df_structure); - p_table["unk4"] = reinterpret_cast(&(df_structure->unk4)) - reinterpret_cast(df_structure); - p_table["unk5"] = reinterpret_cast(&(df_structure->unk5)) - reinterpret_cast(df_structure); - p_table["unk6"] = reinterpret_cast(&(df_structure->unk6)) - reinterpret_cast(df_structure); - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["civ_id"] = reinterpret_cast(&(df_structure->civ_id)) - reinterpret_cast(df_structure); -} - -void generate_nemesis_record_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["unit_id"] = reinterpret_cast(&(df_structure->unit_id)) - reinterpret_cast(df_structure); - p_table["save_file_id"] = reinterpret_cast(&(df_structure->save_file_id)) - reinterpret_cast(df_structure); - p_table["member_idx"] = reinterpret_cast(&(df_structure->member_idx)) - reinterpret_cast(df_structure); - p_table["figure"] = reinterpret_cast(&(df_structure->figure)) - reinterpret_cast(df_structure); - p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); - p_table["group_leader_id"] = reinterpret_cast(&(df_structure->group_leader_id)) - reinterpret_cast(df_structure); - p_table["companions"] = reinterpret_cast(&(df_structure->companions)) - reinterpret_cast(df_structure); - p_table["unk10"] = reinterpret_cast(&(df_structure->unk10)) - reinterpret_cast(df_structure); - p_table["unk11"] = reinterpret_cast(&(df_structure->unk11)) - reinterpret_cast(df_structure); - p_table["unk12"] = reinterpret_cast(&(df_structure->unk12)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); -} - -void generate_artifact_record_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["item"] = reinterpret_cast(&(df_structure->item)) - reinterpret_cast(df_structure); - p_table["abs_tile_x"] = reinterpret_cast(&(df_structure->abs_tile_x)) - reinterpret_cast(df_structure); - p_table["abs_tile_y"] = reinterpret_cast(&(df_structure->abs_tile_y)) - reinterpret_cast(df_structure); - p_table["abs_tile_z"] = reinterpret_cast(&(df_structure->abs_tile_z)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["structure_local"] = reinterpret_cast(&(df_structure->structure_local)) - reinterpret_cast(df_structure); - p_table["subregion"] = reinterpret_cast(&(df_structure->subregion)) - reinterpret_cast(df_structure); - p_table["feature_layer"] = reinterpret_cast(&(df_structure->feature_layer)) - reinterpret_cast(df_structure); - p_table["holder_hf"] = reinterpret_cast(&(df_structure->holder_hf)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); - p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); - p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); - p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); - p_table["anon_11"] = reinterpret_cast(&(df_structure->anon_11)) - reinterpret_cast(df_structure); - p_table["anon_12"] = reinterpret_cast(&(df_structure->anon_12)) - reinterpret_cast(df_structure); -} - -void generate_machine_tile_set_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["tiles"] = reinterpret_cast(&(df_structure->tiles)) - reinterpret_cast(df_structure); - p_table["can_connect"] = reinterpret_cast(&(df_structure->can_connect)) - reinterpret_cast(df_structure); -} - -void generate_machine__T_components_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["building_id"] = reinterpret_cast(&(df_structure->building_id)) - reinterpret_cast(df_structure); - p_table["connections"] = reinterpret_cast(&(df_structure->connections)) - reinterpret_cast(df_structure); -} - -void generate_machine_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["x"] = reinterpret_cast(&(df_structure->x)) - reinterpret_cast(df_structure); - p_table["y"] = reinterpret_cast(&(df_structure->y)) - reinterpret_cast(df_structure); - p_table["z"] = reinterpret_cast(&(df_structure->z)) - reinterpret_cast(df_structure); - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["components"] = reinterpret_cast(&(df_structure->components)) - reinterpret_cast(df_structure); - p_table["cur_power"] = reinterpret_cast(&(df_structure->cur_power)) - reinterpret_cast(df_structure); - p_table["min_power"] = reinterpret_cast(&(df_structure->min_power)) - reinterpret_cast(df_structure); - p_table["visual_phase"] = reinterpret_cast(&(df_structure->visual_phase)) - reinterpret_cast(df_structure); - p_table["phase_timer"] = reinterpret_cast(&(df_structure->phase_timer)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); -} - -void generate_machine_standardst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_building_axle_horizontalst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["machine"] = reinterpret_cast(&(df_structure->machine)) - reinterpret_cast(df_structure); - p_table["is_vertical"] = reinterpret_cast(&(df_structure->is_vertical)) - reinterpret_cast(df_structure); -} - -void generate_building_axle_verticalst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["machine"] = reinterpret_cast(&(df_structure->machine)) - reinterpret_cast(df_structure); -} - -void generate_building_gear_assemblyst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["machine"] = reinterpret_cast(&(df_structure->machine)) - reinterpret_cast(df_structure); - p_table["gear_flags"] = reinterpret_cast(&(df_structure->gear_flags)) - reinterpret_cast(df_structure); -} - -void generate_building_windmillst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["machine"] = reinterpret_cast(&(df_structure->machine)) - reinterpret_cast(df_structure); - p_table["orient_x"] = reinterpret_cast(&(df_structure->orient_x)) - reinterpret_cast(df_structure); - p_table["orient_y"] = reinterpret_cast(&(df_structure->orient_y)) - reinterpret_cast(df_structure); - p_table["is_working"] = reinterpret_cast(&(df_structure->is_working)) - reinterpret_cast(df_structure); - p_table["visual_rotated"] = reinterpret_cast(&(df_structure->visual_rotated)) - reinterpret_cast(df_structure); - p_table["rotate_timer"] = reinterpret_cast(&(df_structure->rotate_timer)) - reinterpret_cast(df_structure); - p_table["orient_timer"] = reinterpret_cast(&(df_structure->orient_timer)) - reinterpret_cast(df_structure); -} - -void generate_building_water_wheelst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["machine"] = reinterpret_cast(&(df_structure->machine)) - reinterpret_cast(df_structure); - p_table["is_vertical"] = reinterpret_cast(&(df_structure->is_vertical)) - reinterpret_cast(df_structure); - p_table["gives_power"] = reinterpret_cast(&(df_structure->gives_power)) - reinterpret_cast(df_structure); -} - -void generate_building_screw_pumpst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["machine"] = reinterpret_cast(&(df_structure->machine)) - reinterpret_cast(df_structure); - p_table["pump_energy"] = reinterpret_cast(&(df_structure->pump_energy)) - reinterpret_cast(df_structure); - p_table["direction"] = reinterpret_cast(&(df_structure->direction)) - reinterpret_cast(df_structure); - p_table["pump_manually"] = reinterpret_cast(&(df_structure->pump_manually)) - reinterpret_cast(df_structure); -} - -void generate_building_rollersst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["machine"] = reinterpret_cast(&(df_structure->machine)) - reinterpret_cast(df_structure); - p_table["direction"] = reinterpret_cast(&(df_structure->direction)) - reinterpret_cast(df_structure); - p_table["speed"] = reinterpret_cast(&(df_structure->speed)) - reinterpret_cast(df_structure); -} - -void generate_block_burrow_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["tile_bitmask"] = reinterpret_cast(&(df_structure->tile_bitmask)) - reinterpret_cast(df_structure); - p_table["link"] = reinterpret_cast(&(df_structure->link)) - reinterpret_cast(df_structure); -} - -void generate_block_burrow_link_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["item"] = reinterpret_cast(&(df_structure->item)) - reinterpret_cast(df_structure); - p_table["prev"] = reinterpret_cast(&(df_structure->prev)) - reinterpret_cast(df_structure); - p_table["next"] = reinterpret_cast(&(df_structure->next)) - reinterpret_cast(df_structure); -} - -void generate_map_block_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["block_events"] = reinterpret_cast(&(df_structure->block_events)) - reinterpret_cast(df_structure); - p_table["block_burrows"] = reinterpret_cast(&(df_structure->block_burrows)) - reinterpret_cast(df_structure); - p_table["local_feature"] = reinterpret_cast(&(df_structure->local_feature)) - reinterpret_cast(df_structure); - p_table["global_feature"] = reinterpret_cast(&(df_structure->global_feature)) - reinterpret_cast(df_structure); - p_table["unk2"] = reinterpret_cast(&(df_structure->unk2)) - reinterpret_cast(df_structure); - p_table["layer_depth"] = reinterpret_cast(&(df_structure->layer_depth)) - reinterpret_cast(df_structure); - p_table["dsgn_check_cooldown"] = reinterpret_cast(&(df_structure->dsgn_check_cooldown)) - reinterpret_cast(df_structure); - p_table["default_liquid"] = reinterpret_cast(&(df_structure->default_liquid)) - reinterpret_cast(df_structure); - p_table["items"] = reinterpret_cast(&(df_structure->items)) - reinterpret_cast(df_structure); - p_table["flows"] = reinterpret_cast(&(df_structure->flows)) - reinterpret_cast(df_structure); - p_table["flow_pool"] = reinterpret_cast(&(df_structure->flow_pool)) - reinterpret_cast(df_structure); - p_table["map_pos"] = reinterpret_cast(&(df_structure->map_pos)) - reinterpret_cast(df_structure); - p_table["region_pos"] = reinterpret_cast(&(df_structure->region_pos)) - reinterpret_cast(df_structure); - p_table["tiletype"] = reinterpret_cast(&(df_structure->tiletype)) - reinterpret_cast(df_structure); - p_table["designation"] = reinterpret_cast(&(df_structure->designation)) - reinterpret_cast(df_structure); - p_table["occupancy"] = reinterpret_cast(&(df_structure->occupancy)) - reinterpret_cast(df_structure); - p_table["fog_of_war"] = reinterpret_cast(&(df_structure->fog_of_war)) - reinterpret_cast(df_structure); - p_table["path_cost"] = reinterpret_cast(&(df_structure->path_cost)) - reinterpret_cast(df_structure); - p_table["path_tag"] = reinterpret_cast(&(df_structure->path_tag)) - reinterpret_cast(df_structure); - p_table["walkable"] = reinterpret_cast(&(df_structure->walkable)) - reinterpret_cast(df_structure); - p_table["map_edge_distance"] = reinterpret_cast(&(df_structure->map_edge_distance)) - reinterpret_cast(df_structure); - p_table["temperature_1"] = reinterpret_cast(&(df_structure->temperature_1)) - reinterpret_cast(df_structure); - p_table["temperature_2"] = reinterpret_cast(&(df_structure->temperature_2)) - reinterpret_cast(df_structure); - p_table["unk13"] = reinterpret_cast(&(df_structure->unk13)) - reinterpret_cast(df_structure); - p_table["liquid_flow"] = reinterpret_cast(&(df_structure->liquid_flow)) - reinterpret_cast(df_structure); - p_table["region_offset"] = reinterpret_cast(&(df_structure->region_offset)) - reinterpret_cast(df_structure); -} - -void generate_cave_column_link_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["item"] = reinterpret_cast(&(df_structure->item)) - reinterpret_cast(df_structure); - p_table["prev"] = reinterpret_cast(&(df_structure->prev)) - reinterpret_cast(df_structure); - p_table["next"] = reinterpret_cast(&(df_structure->next)) - reinterpret_cast(df_structure); -} - -void generate_map_block_column__T_unmined_glyphs_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["x"] = reinterpret_cast(&(df_structure->x)) - reinterpret_cast(df_structure); - p_table["y"] = reinterpret_cast(&(df_structure->y)) - reinterpret_cast(df_structure); - p_table["tile"] = reinterpret_cast(&(df_structure->tile)) - reinterpret_cast(df_structure); -} - -void generate_map_block_column_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["sink_level"] = reinterpret_cast(&(df_structure->sink_level)) - reinterpret_cast(df_structure); - p_table["beach_level"] = reinterpret_cast(&(df_structure->beach_level)) - reinterpret_cast(df_structure); - p_table["ground_level"] = reinterpret_cast(&(df_structure->ground_level)) - reinterpret_cast(df_structure); - p_table["unmined_glyphs"] = reinterpret_cast(&(df_structure->unmined_glyphs)) - reinterpret_cast(df_structure); - p_table["z_base"] = reinterpret_cast(&(df_structure->z_base)) - reinterpret_cast(df_structure); - p_table["cave_columns"] = reinterpret_cast(&(df_structure->cave_columns)) - reinterpret_cast(df_structure); - p_table["column_rectangles"] = reinterpret_cast(&(df_structure->column_rectangles)) - reinterpret_cast(df_structure); - p_table["z_shift"] = reinterpret_cast(&(df_structure->z_shift)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["unk_v40_1"] = reinterpret_cast(&(df_structure->unk_v40_1)) - reinterpret_cast(df_structure); - p_table["map_pos"] = reinterpret_cast(&(df_structure->map_pos)) - reinterpret_cast(df_structure); - p_table["unk_c3c"] = reinterpret_cast(&(df_structure->unk_c3c)) - reinterpret_cast(df_structure); - p_table["region_pos"] = reinterpret_cast(&(df_structure->region_pos)) - reinterpret_cast(df_structure); - p_table["plants"] = reinterpret_cast(&(df_structure->plants)) - reinterpret_cast(df_structure); -} - -void generate_block_square_event_mineralst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["inorganic_mat"] = reinterpret_cast(&(df_structure->inorganic_mat)) - reinterpret_cast(df_structure); - p_table["tile_bitmask"] = reinterpret_cast(&(df_structure->tile_bitmask)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); -} - -void generate_block_square_event_frozen_liquidst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["tiles"] = reinterpret_cast(&(df_structure->tiles)) - reinterpret_cast(df_structure); - p_table["liquid_type"] = reinterpret_cast(&(df_structure->liquid_type)) - reinterpret_cast(df_structure); -} - -void generate_block_square_event_world_constructionst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["construction_id"] = reinterpret_cast(&(df_structure->construction_id)) - reinterpret_cast(df_structure); - p_table["tile_bitmask"] = reinterpret_cast(&(df_structure->tile_bitmask)) - reinterpret_cast(df_structure); -} - -void generate_block_square_event_item_spatterst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); - p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); - p_table["mattype"] = reinterpret_cast(&(df_structure->mattype)) - reinterpret_cast(df_structure); - p_table["matindex"] = reinterpret_cast(&(df_structure->matindex)) - reinterpret_cast(df_structure); - p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); - p_table["amount"] = reinterpret_cast(&(df_structure->amount)) - reinterpret_cast(df_structure); - p_table["unk2"] = reinterpret_cast(&(df_structure->unk2)) - reinterpret_cast(df_structure); - p_table["temp1"] = reinterpret_cast(&(df_structure->temp1)) - reinterpret_cast(df_structure); - p_table["temp2"] = reinterpret_cast(&(df_structure->temp2)) - reinterpret_cast(df_structure); -} - -void generate_feature_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["population"] = reinterpret_cast(&(df_structure->population)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["embark_pos"] = reinterpret_cast(&(df_structure->embark_pos)) - reinterpret_cast(df_structure); - p_table["min_map_z"] = reinterpret_cast(&(df_structure->min_map_z)) - reinterpret_cast(df_structure); - p_table["max_map_z"] = reinterpret_cast(&(df_structure->max_map_z)) - reinterpret_cast(df_structure); -} - -void generate_feature_outdoor_riverst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_feature_cavest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_feature_pitst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_feature_magma_poolst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["magma_fill_z"] = reinterpret_cast(&(df_structure->magma_fill_z)) - reinterpret_cast(df_structure); -} - -void generate_feature_volcanost_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["magma_fill_z"] = reinterpret_cast(&(df_structure->magma_fill_z)) - reinterpret_cast(df_structure); -} - -void generate_feature_deep_special_tubest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_feature_deep_surface_portalst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_feature_subterranean_from_layerst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_feature_magma_core_from_layerst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_feature_underworld_from_layerst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_feature_init_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["alterations"] = reinterpret_cast(&(df_structure->alterations)) - reinterpret_cast(df_structure); - p_table["start_x"] = reinterpret_cast(&(df_structure->start_x)) - reinterpret_cast(df_structure); - p_table["start_y"] = reinterpret_cast(&(df_structure->start_y)) - reinterpret_cast(df_structure); - p_table["end_x"] = reinterpret_cast(&(df_structure->end_x)) - reinterpret_cast(df_structure); - p_table["end_y"] = reinterpret_cast(&(df_structure->end_y)) - reinterpret_cast(df_structure); - p_table["start_depth"] = reinterpret_cast(&(df_structure->start_depth)) - reinterpret_cast(df_structure); - p_table["end_depth"] = reinterpret_cast(&(df_structure->end_depth)) - reinterpret_cast(df_structure); -} - -void generate_feature_init_outdoor_riverst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["feature"] = reinterpret_cast(&(df_structure->feature)) - reinterpret_cast(df_structure); -} - -void generate_feature_init_cavest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["feature"] = reinterpret_cast(&(df_structure->feature)) - reinterpret_cast(df_structure); -} - -void generate_feature_init_pitst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["feature"] = reinterpret_cast(&(df_structure->feature)) - reinterpret_cast(df_structure); -} - -void generate_feature_init_magma_poolst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["feature"] = reinterpret_cast(&(df_structure->feature)) - reinterpret_cast(df_structure); -} - -void generate_feature_init_volcanost_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["feature"] = reinterpret_cast(&(df_structure->feature)) - reinterpret_cast(df_structure); -} - -void generate_feature_init_deep_special_tubest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["feature"] = reinterpret_cast(&(df_structure->feature)) - reinterpret_cast(df_structure); -} - -void generate_feature_init_deep_surface_portalst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["feature"] = reinterpret_cast(&(df_structure->feature)) - reinterpret_cast(df_structure); -} - -void generate_feature_init_subterranean_from_layerst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); - p_table["feature"] = reinterpret_cast(&(df_structure->feature)) - reinterpret_cast(df_structure); -} - -void generate_feature_init_magma_core_from_layerst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); - p_table["feature"] = reinterpret_cast(&(df_structure->feature)) - reinterpret_cast(df_structure); -} - -void generate_feature_init_underworld_from_layerst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["feature"] = reinterpret_cast(&(df_structure->feature)) - reinterpret_cast(df_structure); -} - -void generate_world_construction_square_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["region_pos"] = reinterpret_cast(&(df_structure->region_pos)) - reinterpret_cast(df_structure); - p_table["construction_id"] = reinterpret_cast(&(df_structure->construction_id)) - reinterpret_cast(df_structure); - p_table["embark_x"] = reinterpret_cast(&(df_structure->embark_x)) - reinterpret_cast(df_structure); - p_table["embark_y"] = reinterpret_cast(&(df_structure->embark_y)) - reinterpret_cast(df_structure); - p_table["embark_unk"] = reinterpret_cast(&(df_structure->embark_unk)) - reinterpret_cast(df_structure); - p_table["embark_z"] = reinterpret_cast(&(df_structure->embark_z)) - reinterpret_cast(df_structure); -} - -void generate_world_construction_square_roadst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); - p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); -} - -void generate_world_construction_square_tunnelst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_world_construction_square_bridgest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["road_id"] = reinterpret_cast(&(df_structure->road_id)) - reinterpret_cast(df_structure); - p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); - p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); -} - -void generate_world_construction_square_wallst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); - p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); -} - -void generate_world_construction_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["square_obj"] = reinterpret_cast(&(df_structure->square_obj)) - reinterpret_cast(df_structure); - p_table["square_pos"] = reinterpret_cast(&(df_structure->square_pos)) - reinterpret_cast(df_structure); -} - -void generate_world_construction_roadst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); -} - -void generate_world_construction_tunnelst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); -} - -void generate_world_construction_bridgest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); -} - -void generate_world_construction_wallst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); -} - -void generate_construction_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["pos"] = reinterpret_cast(&(df_structure->pos)) - reinterpret_cast(df_structure); - p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); - p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["original_tile"] = reinterpret_cast(&(df_structure->original_tile)) - reinterpret_cast(df_structure); -} - -void generate_flow_info_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["density"] = reinterpret_cast(&(df_structure->density)) - reinterpret_cast(df_structure); - p_table["pos"] = reinterpret_cast(&(df_structure->pos)) - reinterpret_cast(df_structure); - p_table["dest"] = reinterpret_cast(&(df_structure->dest)) - reinterpret_cast(df_structure); - p_table["expanding"] = reinterpret_cast(&(df_structure->expanding)) - reinterpret_cast(df_structure); - p_table["reuse"] = reinterpret_cast(&(df_structure->reuse)) - reinterpret_cast(df_structure); - p_table["guide_id"] = reinterpret_cast(&(df_structure->guide_id)) - reinterpret_cast(df_structure); -} - -void generate_flow_guide_trailing_flowst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_flow_guide_item_cloudst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); - p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); - p_table["mattype"] = reinterpret_cast(&(df_structure->mattype)) - reinterpret_cast(df_structure); - p_table["matindex"] = reinterpret_cast(&(df_structure->matindex)) - reinterpret_cast(df_structure); - p_table["unk_18"] = reinterpret_cast(&(df_structure->unk_18)) - reinterpret_cast(df_structure); - p_table["unk_1c"] = reinterpret_cast(&(df_structure->unk_1c)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_effect_info_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["foreground"] = reinterpret_cast(&(df_structure->foreground)) - reinterpret_cast(df_structure); - p_table["background"] = reinterpret_cast(&(df_structure->background)) - reinterpret_cast(df_structure); - p_table["bright"] = reinterpret_cast(&(df_structure->bright)) - reinterpret_cast(df_structure); - p_table["pos"] = reinterpret_cast(&(df_structure->pos)) - reinterpret_cast(df_structure); - p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); -} - -void generate_material_common__T_heat_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["spec_heat"] = reinterpret_cast(&(df_structure->spec_heat)) - reinterpret_cast(df_structure); - p_table["heatdam_point"] = reinterpret_cast(&(df_structure->heatdam_point)) - reinterpret_cast(df_structure); - p_table["colddam_point"] = reinterpret_cast(&(df_structure->colddam_point)) - reinterpret_cast(df_structure); - p_table["ignite_point"] = reinterpret_cast(&(df_structure->ignite_point)) - reinterpret_cast(df_structure); - p_table["melting_point"] = reinterpret_cast(&(df_structure->melting_point)) - reinterpret_cast(df_structure); - p_table["boiling_point"] = reinterpret_cast(&(df_structure->boiling_point)) - reinterpret_cast(df_structure); - p_table["mat_fixed_temp"] = reinterpret_cast(&(df_structure->mat_fixed_temp)) - reinterpret_cast(df_structure); -} - -void generate_material_common__T_strength_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["absorption"] = reinterpret_cast(&(df_structure->absorption)) - reinterpret_cast(df_structure); - p_table["yield"] = reinterpret_cast(&(df_structure->yield)) - reinterpret_cast(df_structure); - p_table["fracture"] = reinterpret_cast(&(df_structure->fracture)) - reinterpret_cast(df_structure); - p_table["strain_at_yield"] = reinterpret_cast(&(df_structure->strain_at_yield)) - reinterpret_cast(df_structure); - p_table["max_edge"] = reinterpret_cast(&(df_structure->max_edge)) - reinterpret_cast(df_structure); -} - -void generate_material_common__T_reaction_product_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); - p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); - p_table["material"] = reinterpret_cast(&(df_structure->material)) - reinterpret_cast(df_structure); - p_table["str"] = reinterpret_cast(&(df_structure->str)) - reinterpret_cast(df_structure); -} - -void generate_material_common__T_hardens_with_water_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["str"] = reinterpret_cast(&(df_structure->str)) - reinterpret_cast(df_structure); -} - -void generate_material_common_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["gem_name1"] = reinterpret_cast(&(df_structure->gem_name1)) - reinterpret_cast(df_structure); - p_table["gem_name2"] = reinterpret_cast(&(df_structure->gem_name2)) - reinterpret_cast(df_structure); - p_table["stone_name"] = reinterpret_cast(&(df_structure->stone_name)) - reinterpret_cast(df_structure); - p_table["heat"] = reinterpret_cast(&(df_structure->heat)) - reinterpret_cast(df_structure); - p_table["solid_density"] = reinterpret_cast(&(df_structure->solid_density)) - reinterpret_cast(df_structure); - p_table["liquid_density"] = reinterpret_cast(&(df_structure->liquid_density)) - reinterpret_cast(df_structure); - p_table["molar_mass"] = reinterpret_cast(&(df_structure->molar_mass)) - reinterpret_cast(df_structure); - p_table["state_color"] = reinterpret_cast(&(df_structure->state_color)) - reinterpret_cast(df_structure); - p_table["state_name"] = reinterpret_cast(&(df_structure->state_name)) - reinterpret_cast(df_structure); - p_table["state_adj"] = reinterpret_cast(&(df_structure->state_adj)) - reinterpret_cast(df_structure); - p_table["strength"] = reinterpret_cast(&(df_structure->strength)) - reinterpret_cast(df_structure); - p_table["material_value"] = reinterpret_cast(&(df_structure->material_value)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["extract_storage"] = reinterpret_cast(&(df_structure->extract_storage)) - reinterpret_cast(df_structure); - p_table["butcher_special_type"] = reinterpret_cast(&(df_structure->butcher_special_type)) - reinterpret_cast(df_structure); - p_table["butcher_special_subtype"] = reinterpret_cast(&(df_structure->butcher_special_subtype)) - reinterpret_cast(df_structure); - p_table["meat_name"] = reinterpret_cast(&(df_structure->meat_name)) - reinterpret_cast(df_structure); - p_table["block_name"] = reinterpret_cast(&(df_structure->block_name)) - reinterpret_cast(df_structure); - p_table["reaction_product"] = reinterpret_cast(&(df_structure->reaction_product)) - reinterpret_cast(df_structure); - p_table["hardens_with_water"] = reinterpret_cast(&(df_structure->hardens_with_water)) - reinterpret_cast(df_structure); - p_table["reaction_class"] = reinterpret_cast(&(df_structure->reaction_class)) - reinterpret_cast(df_structure); - p_table["tile"] = reinterpret_cast(&(df_structure->tile)) - reinterpret_cast(df_structure); - p_table["basic_color"] = reinterpret_cast(&(df_structure->basic_color)) - reinterpret_cast(df_structure); - p_table["build_color"] = reinterpret_cast(&(df_structure->build_color)) - reinterpret_cast(df_structure); - p_table["tile_color"] = reinterpret_cast(&(df_structure->tile_color)) - reinterpret_cast(df_structure); - p_table["item_symbol"] = reinterpret_cast(&(df_structure->item_symbol)) - reinterpret_cast(df_structure); - p_table["powder_dye"] = reinterpret_cast(&(df_structure->powder_dye)) - reinterpret_cast(df_structure); - p_table["temp_diet_info"] = reinterpret_cast(&(df_structure->temp_diet_info)) - reinterpret_cast(df_structure); - p_table["syndrome"] = reinterpret_cast(&(df_structure->syndrome)) - reinterpret_cast(df_structure); - p_table["soap_level"] = reinterpret_cast(&(df_structure->soap_level)) - reinterpret_cast(df_structure); - p_table["unk_41c"] = reinterpret_cast(&(df_structure->unk_41c)) - reinterpret_cast(df_structure); -} - -void generate_material_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["prefix"] = reinterpret_cast(&(df_structure->prefix)) - reinterpret_cast(df_structure); - p_table["food_mat_index"] = reinterpret_cast(&(df_structure->food_mat_index)) - reinterpret_cast(df_structure); - p_table["powder_dye_str"] = reinterpret_cast(&(df_structure->powder_dye_str)) - reinterpret_cast(df_structure); - p_table["state_color_str"] = reinterpret_cast(&(df_structure->state_color_str)) - reinterpret_cast(df_structure); -} - -void generate_material_template_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["powder_dye_str"] = reinterpret_cast(&(df_structure->powder_dye_str)) - reinterpret_cast(df_structure); - p_table["state_color_str"] = reinterpret_cast(&(df_structure->state_color_str)) - reinterpret_cast(df_structure); -} - -void generate_inorganic_raw__T_metal_ore_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["str"] = reinterpret_cast(&(df_structure->str)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["probability"] = reinterpret_cast(&(df_structure->probability)) - reinterpret_cast(df_structure); -} - -void generate_inorganic_raw__T_thread_metal_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["str"] = reinterpret_cast(&(df_structure->str)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["probability"] = reinterpret_cast(&(df_structure->probability)) - reinterpret_cast(df_structure); -} - -void generate_inorganic_raw__T_environment_spec_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["str"] = reinterpret_cast(&(df_structure->str)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["inclusion_type"] = reinterpret_cast(&(df_structure->inclusion_type)) - reinterpret_cast(df_structure); - p_table["probability"] = reinterpret_cast(&(df_structure->probability)) - reinterpret_cast(df_structure); -} - -void generate_inorganic_raw__T_environment_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["location"] = reinterpret_cast(&(df_structure->location)) - reinterpret_cast(df_structure); - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["probability"] = reinterpret_cast(&(df_structure->probability)) - reinterpret_cast(df_structure); -} - -void generate_inorganic_raw_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["str"] = reinterpret_cast(&(df_structure->str)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["source_hfid"] = reinterpret_cast(&(df_structure->source_hfid)) - reinterpret_cast(df_structure); - p_table["unk_v4201_1"] = reinterpret_cast(&(df_structure->unk_v4201_1)) - reinterpret_cast(df_structure); - p_table["metal_ore"] = reinterpret_cast(&(df_structure->metal_ore)) - reinterpret_cast(df_structure); - p_table["thread_metal"] = reinterpret_cast(&(df_structure->thread_metal)) - reinterpret_cast(df_structure); - p_table["economic_uses"] = reinterpret_cast(&(df_structure->economic_uses)) - reinterpret_cast(df_structure); - p_table["environment_spec"] = reinterpret_cast(&(df_structure->environment_spec)) - reinterpret_cast(df_structure); - p_table["environment"] = reinterpret_cast(&(df_structure->environment)) - reinterpret_cast(df_structure); - p_table["unk2"] = reinterpret_cast(&(df_structure->unk2)) - reinterpret_cast(df_structure); - p_table["material"] = reinterpret_cast(&(df_structure->material)) - reinterpret_cast(df_structure); -} - -void generate_special_mat_table_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["organic_types"] = reinterpret_cast(&(df_structure->organic_types)) - reinterpret_cast(df_structure); - p_table["organic_indexes"] = reinterpret_cast(&(df_structure->organic_indexes)) - reinterpret_cast(df_structure); - p_table["organic_unknown"] = reinterpret_cast(&(df_structure->organic_unknown)) - reinterpret_cast(df_structure); - p_table["builtin"] = reinterpret_cast(&(df_structure->builtin)) - reinterpret_cast(df_structure); -} - -void generate_dipscript_info_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["script_file"] = reinterpret_cast(&(df_structure->script_file)) - reinterpret_cast(df_structure); - p_table["script_steps"] = reinterpret_cast(&(df_structure->script_steps)) - reinterpret_cast(df_structure); - p_table["script_vars"] = reinterpret_cast(&(df_structure->script_vars)) - reinterpret_cast(df_structure); - p_table["code"] = reinterpret_cast(&(df_structure->code)) - reinterpret_cast(df_structure); -} - -void generate_dipscript_popup_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["meeting_holder"] = reinterpret_cast(&(df_structure->meeting_holder)) - reinterpret_cast(df_structure); - p_table["activity"] = reinterpret_cast(&(df_structure->activity)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); -} - -void generate_active_script_var_unitst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); -} - -void generate_meeting_context_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["meeting"] = reinterpret_cast(&(df_structure->meeting)) - reinterpret_cast(df_structure); - p_table["popup"] = reinterpret_cast(&(df_structure->popup)) - reinterpret_cast(df_structure); - p_table["unk_2"] = reinterpret_cast(&(df_structure->unk_2)) - reinterpret_cast(df_structure); - p_table["unk_3"] = reinterpret_cast(&(df_structure->unk_3)) - reinterpret_cast(df_structure); -} - -void generate_meeting_diplomat_info_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["civ_id"] = reinterpret_cast(&(df_structure->civ_id)) - reinterpret_cast(df_structure); - p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); - p_table["diplomat_id"] = reinterpret_cast(&(df_structure->diplomat_id)) - reinterpret_cast(df_structure); - p_table["associate_id"] = reinterpret_cast(&(df_structure->associate_id)) - reinterpret_cast(df_structure); - p_table["topic_list"] = reinterpret_cast(&(df_structure->topic_list)) - reinterpret_cast(df_structure); - p_table["topic_parms"] = reinterpret_cast(&(df_structure->topic_parms)) - reinterpret_cast(df_structure); - p_table["sell_requests"] = reinterpret_cast(&(df_structure->sell_requests)) - reinterpret_cast(df_structure); - p_table["buy_requests"] = reinterpret_cast(&(df_structure->buy_requests)) - reinterpret_cast(df_structure); - p_table["dipscript"] = reinterpret_cast(&(df_structure->dipscript)) - reinterpret_cast(df_structure); - p_table["cur_step"] = reinterpret_cast(&(df_structure->cur_step)) - reinterpret_cast(df_structure); - p_table["active_script_vars"] = reinterpret_cast(&(df_structure->active_script_vars)) - reinterpret_cast(df_structure); - p_table["unk_50"] = reinterpret_cast(&(df_structure->unk_50)) - reinterpret_cast(df_structure); - p_table["unk_6c"] = reinterpret_cast(&(df_structure->unk_6c)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["events"] = reinterpret_cast(&(df_structure->events)) - reinterpret_cast(df_structure); - p_table["agreement_entity"] = reinterpret_cast(&(df_structure->agreement_entity)) - reinterpret_cast(df_structure); - p_table["agreement_topic"] = reinterpret_cast(&(df_structure->agreement_topic)) - reinterpret_cast(df_structure); - p_table["agreement_year"] = reinterpret_cast(&(df_structure->agreement_year)) - reinterpret_cast(df_structure); - p_table["agreement_tick"] = reinterpret_cast(&(df_structure->agreement_tick)) - reinterpret_cast(df_structure); - p_table["agreement_outcome"] = reinterpret_cast(&(df_structure->agreement_outcome)) - reinterpret_cast(df_structure); - p_table["contact_entity"] = reinterpret_cast(&(df_structure->contact_entity)) - reinterpret_cast(df_structure); - p_table["contact_year"] = reinterpret_cast(&(df_structure->contact_year)) - reinterpret_cast(df_structure); - p_table["contact_tick"] = reinterpret_cast(&(df_structure->contact_tick)) - reinterpret_cast(df_structure); -} - -void generate_meeting_event_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["topic"] = reinterpret_cast(&(df_structure->topic)) - reinterpret_cast(df_structure); - p_table["topic_parm"] = reinterpret_cast(&(df_structure->topic_parm)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["quota_total"] = reinterpret_cast(&(df_structure->quota_total)) - reinterpret_cast(df_structure); - p_table["quota_remaining"] = reinterpret_cast(&(df_structure->quota_remaining)) - reinterpret_cast(df_structure); - p_table["year"] = reinterpret_cast(&(df_structure->year)) - reinterpret_cast(df_structure); - p_table["ticks"] = reinterpret_cast(&(df_structure->ticks)) - reinterpret_cast(df_structure); - p_table["sell_prices"] = reinterpret_cast(&(df_structure->sell_prices)) - reinterpret_cast(df_structure); - p_table["buy_prices"] = reinterpret_cast(&(df_structure->buy_prices)) - reinterpret_cast(df_structure); -} - -void generate_activity_info_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["unit_actor"] = reinterpret_cast(&(df_structure->unit_actor)) - reinterpret_cast(df_structure); - p_table["unit_noble"] = reinterpret_cast(&(df_structure->unit_noble)) - reinterpret_cast(df_structure); - p_table["place"] = reinterpret_cast(&(df_structure->place)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["unk3"] = reinterpret_cast(&(df_structure->unk3)) - reinterpret_cast(df_structure); - p_table["delay"] = reinterpret_cast(&(df_structure->delay)) - reinterpret_cast(df_structure); - p_table["tree_quota"] = reinterpret_cast(&(df_structure->tree_quota)) - reinterpret_cast(df_structure); -} - -void generate_party_info_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["units"] = reinterpret_cast(&(df_structure->units)) - reinterpret_cast(df_structure); - p_table["location"] = reinterpret_cast(&(df_structure->location)) - reinterpret_cast(df_structure); - p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); -} - -void generate_room_rent_info_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["elements"] = reinterpret_cast(&(df_structure->elements)) - reinterpret_cast(df_structure); - p_table["rent_value"] = reinterpret_cast(&(df_structure->rent_value)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); -} - -void generate_activity_entry_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["events"] = reinterpret_cast(&(df_structure->events)) - reinterpret_cast(df_structure); - p_table["next_event_id"] = reinterpret_cast(&(df_structure->next_event_id)) - reinterpret_cast(df_structure); - p_table["army_controller"] = reinterpret_cast(&(df_structure->army_controller)) - reinterpret_cast(df_structure); -} - -void generate_activity_event__T_unk_v42_1_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["item_id"] = reinterpret_cast(&(df_structure->item_id)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); -} - -void generate_activity_event__T_unk_v42_2_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["item_id"] = reinterpret_cast(&(df_structure->item_id)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); -} - -void generate_activity_event_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["event_id"] = reinterpret_cast(&(df_structure->event_id)) - reinterpret_cast(df_structure); - p_table["activity_id"] = reinterpret_cast(&(df_structure->activity_id)) - reinterpret_cast(df_structure); - p_table["parent_event_id"] = reinterpret_cast(&(df_structure->parent_event_id)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["unk_v42_1"] = reinterpret_cast(&(df_structure->unk_v42_1)) - reinterpret_cast(df_structure); - p_table["unk_v42_2"] = reinterpret_cast(&(df_structure->unk_v42_2)) - reinterpret_cast(df_structure); -} - -void generate_activity_event_training_sessionst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["participants"] = reinterpret_cast(&(df_structure->participants)) - reinterpret_cast(df_structure); -} - -void generate_activity_event_combat_trainingst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["participants"] = reinterpret_cast(&(df_structure->participants)) - reinterpret_cast(df_structure); - p_table["building_id"] = reinterpret_cast(&(df_structure->building_id)) - reinterpret_cast(df_structure); - p_table["hist_figure_id"] = reinterpret_cast(&(df_structure->hist_figure_id)) - reinterpret_cast(df_structure); - p_table["unit_id"] = reinterpret_cast(&(df_structure->unit_id)) - reinterpret_cast(df_structure); - p_table["organize_counter"] = reinterpret_cast(&(df_structure->organize_counter)) - reinterpret_cast(df_structure); -} - -void generate_activity_event_skill_demonstrationst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["participants"] = reinterpret_cast(&(df_structure->participants)) - reinterpret_cast(df_structure); - p_table["building_id"] = reinterpret_cast(&(df_structure->building_id)) - reinterpret_cast(df_structure); - p_table["hist_figure_id"] = reinterpret_cast(&(df_structure->hist_figure_id)) - reinterpret_cast(df_structure); - p_table["unit_id"] = reinterpret_cast(&(df_structure->unit_id)) - reinterpret_cast(df_structure); - p_table["skill"] = reinterpret_cast(&(df_structure->skill)) - reinterpret_cast(df_structure); - p_table["organize_counter"] = reinterpret_cast(&(df_structure->organize_counter)) - reinterpret_cast(df_structure); - p_table["wait_countdown"] = reinterpret_cast(&(df_structure->wait_countdown)) - reinterpret_cast(df_structure); - p_table["train_rounds"] = reinterpret_cast(&(df_structure->train_rounds)) - reinterpret_cast(df_structure); - p_table["train_countdown"] = reinterpret_cast(&(df_structure->train_countdown)) - reinterpret_cast(df_structure); -} - -void generate_activity_event_individual_skill_drillst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["participants"] = reinterpret_cast(&(df_structure->participants)) - reinterpret_cast(df_structure); - p_table["building_id"] = reinterpret_cast(&(df_structure->building_id)) - reinterpret_cast(df_structure); - p_table["countdown"] = reinterpret_cast(&(df_structure->countdown)) - reinterpret_cast(df_structure); -} - -void generate_activity_event_sparringst__T_groups_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["units"] = reinterpret_cast(&(df_structure->units)) - reinterpret_cast(df_structure); - p_table["countdown"] = reinterpret_cast(&(df_structure->countdown)) - reinterpret_cast(df_structure); - p_table["building_id"] = reinterpret_cast(&(df_structure->building_id)) - reinterpret_cast(df_structure); -} - -void generate_activity_event_sparringst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["participants"] = reinterpret_cast(&(df_structure->participants)) - reinterpret_cast(df_structure); - p_table["building_id"] = reinterpret_cast(&(df_structure->building_id)) - reinterpret_cast(df_structure); - p_table["groups"] = reinterpret_cast(&(df_structure->groups)) - reinterpret_cast(df_structure); - p_table["countdown"] = reinterpret_cast(&(df_structure->countdown)) - reinterpret_cast(df_structure); -} - -void generate_activity_event_ranged_practicest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["participants"] = reinterpret_cast(&(df_structure->participants)) - reinterpret_cast(df_structure); - p_table["building_id"] = reinterpret_cast(&(df_structure->building_id)) - reinterpret_cast(df_structure); - p_table["uniform_lock"] = reinterpret_cast(&(df_structure->uniform_lock)) - reinterpret_cast(df_structure); -} - -void generate_activity_event_harassmentst__T_anon_2_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); - p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); - p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); - p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); - p_table["anon_11"] = reinterpret_cast(&(df_structure->anon_11)) - reinterpret_cast(df_structure); - p_table["anon_12"] = reinterpret_cast(&(df_structure->anon_12)) - reinterpret_cast(df_structure); - p_table["anon_13"] = reinterpret_cast(&(df_structure->anon_13)) - reinterpret_cast(df_structure); -} - -void generate_activity_event_harassmentst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); - p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); -} - -void generate_activity_event_conversationst__T_participants_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unit_id"] = reinterpret_cast(&(df_structure->unit_id)) - reinterpret_cast(df_structure); - p_table["histfig_id"] = reinterpret_cast(&(df_structure->histfig_id)) - reinterpret_cast(df_structure); -} - -void generate_activity_event_conversationst__T_anon_6_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); - p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); - p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); -} - -void generate_activity_event_conversationst__T_unk_b4_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); -} - -void generate_activity_event_conversationst__T_turns_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["speaker"] = reinterpret_cast(&(df_structure->speaker)) - reinterpret_cast(df_structure); - p_table["speaker_hfid"] = reinterpret_cast(&(df_structure->speaker_hfid)) - reinterpret_cast(df_structure); - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["event"] = reinterpret_cast(&(df_structure->event)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["foreground"] = reinterpret_cast(&(df_structure->foreground)) - reinterpret_cast(df_structure); - p_table["background"] = reinterpret_cast(&(df_structure->background)) - reinterpret_cast(df_structure); - p_table["bright"] = reinterpret_cast(&(df_structure->bright)) - reinterpret_cast(df_structure); - p_table["year"] = reinterpret_cast(&(df_structure->year)) - reinterpret_cast(df_structure); - p_table["ticks"] = reinterpret_cast(&(df_structure->ticks)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["unk_v4014_1"] = reinterpret_cast(&(df_structure->unk_v4014_1)) - reinterpret_cast(df_structure); -} - -void generate_activity_event_conversationst__T_unk2_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); - p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); - p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); - p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); - p_table["anon_11"] = reinterpret_cast(&(df_structure->anon_11)) - reinterpret_cast(df_structure); - p_table["anon_12"] = reinterpret_cast(&(df_structure->anon_12)) - reinterpret_cast(df_structure); - p_table["anon_13"] = reinterpret_cast(&(df_structure->anon_13)) - reinterpret_cast(df_structure); - p_table["anon_14"] = reinterpret_cast(&(df_structure->anon_14)) - reinterpret_cast(df_structure); - p_table["anon_15"] = reinterpret_cast(&(df_structure->anon_15)) - reinterpret_cast(df_structure); - p_table["anon_16"] = reinterpret_cast(&(df_structure->anon_16)) - reinterpret_cast(df_structure); - p_table["anon_17"] = reinterpret_cast(&(df_structure->anon_17)) - reinterpret_cast(df_structure); - p_table["anon_18"] = reinterpret_cast(&(df_structure->anon_18)) - reinterpret_cast(df_structure); - p_table["anon_19"] = reinterpret_cast(&(df_structure->anon_19)) - reinterpret_cast(df_structure); - p_table["anon_20"] = reinterpret_cast(&(df_structure->anon_20)) - reinterpret_cast(df_structure); - p_table["anon_21"] = reinterpret_cast(&(df_structure->anon_21)) - reinterpret_cast(df_structure); - p_table["anon_22"] = reinterpret_cast(&(df_structure->anon_22)) - reinterpret_cast(df_structure); - p_table["anon_23"] = reinterpret_cast(&(df_structure->anon_23)) - reinterpret_cast(df_structure); - p_table["anon_24"] = reinterpret_cast(&(df_structure->anon_24)) - reinterpret_cast(df_structure); - p_table["anon_25"] = reinterpret_cast(&(df_structure->anon_25)) - reinterpret_cast(df_structure); - p_table["anon_26"] = reinterpret_cast(&(df_structure->anon_26)) - reinterpret_cast(df_structure); - p_table["anon_27"] = reinterpret_cast(&(df_structure->anon_27)) - reinterpret_cast(df_structure); - p_table["anon_28"] = reinterpret_cast(&(df_structure->anon_28)) - reinterpret_cast(df_structure); - p_table["anon_29"] = reinterpret_cast(&(df_structure->anon_29)) - reinterpret_cast(df_structure); -} - -void generate_activity_event_conversationst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["participants"] = reinterpret_cast(&(df_structure->participants)) - reinterpret_cast(df_structure); - p_table["menu"] = reinterpret_cast(&(df_structure->menu)) - reinterpret_cast(df_structure); - p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["unk_v42_3"] = reinterpret_cast(&(df_structure->unk_v42_3)) - reinterpret_cast(df_structure); - p_table["unk_v42_4"] = reinterpret_cast(&(df_structure->unk_v42_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); - p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); - p_table["unk_b4"] = reinterpret_cast(&(df_structure->unk_b4)) - reinterpret_cast(df_structure); - p_table["turns"] = reinterpret_cast(&(df_structure->turns)) - reinterpret_cast(df_structure); - p_table["floor_holder"] = reinterpret_cast(&(df_structure->floor_holder)) - reinterpret_cast(df_structure); - p_table["floor_holder_hfid"] = reinterpret_cast(&(df_structure->floor_holder_hfid)) - reinterpret_cast(df_structure); - p_table["pause"] = reinterpret_cast(&(df_structure->pause)) - reinterpret_cast(df_structure); - p_table["flags2"] = reinterpret_cast(&(df_structure->flags2)) - reinterpret_cast(df_structure); - p_table["unk2"] = reinterpret_cast(&(df_structure->unk2)) - reinterpret_cast(df_structure); - p_table["choices"] = reinterpret_cast(&(df_structure->choices)) - reinterpret_cast(df_structure); - p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); - p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); - p_table["anon_11"] = reinterpret_cast(&(df_structure->anon_11)) - reinterpret_cast(df_structure); -} - -void generate_activity_event_conflictst__T_sides__T_enemies_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["conflict_level"] = reinterpret_cast(&(df_structure->conflict_level)) - reinterpret_cast(df_structure); -} - -void generate_activity_event_conflictst__T_sides_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["histfig_ids"] = reinterpret_cast(&(df_structure->histfig_ids)) - reinterpret_cast(df_structure); - p_table["unit_ids"] = reinterpret_cast(&(df_structure->unit_ids)) - reinterpret_cast(df_structure); - p_table["enemies"] = reinterpret_cast(&(df_structure->enemies)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); -} - -void generate_activity_event_conflictst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["sides"] = reinterpret_cast(&(df_structure->sides)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["unk_v42_3"] = reinterpret_cast(&(df_structure->unk_v42_3)) - reinterpret_cast(df_structure); -} - -void generate_activity_event_guardst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); -} - -void generate_activity_event_reunionst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); -} - -void generate_activity_event_prayerst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["participants"] = reinterpret_cast(&(df_structure->participants)) - reinterpret_cast(df_structure); - p_table["histfig_id"] = reinterpret_cast(&(df_structure->histfig_id)) - reinterpret_cast(df_structure); - p_table["topic"] = reinterpret_cast(&(df_structure->topic)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); -} - -void generate_activity_event_socializest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["participants"] = reinterpret_cast(&(df_structure->participants)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); -} - -void generate_activity_event_worshipst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["participants"] = reinterpret_cast(&(df_structure->participants)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); -} - -void generate_activity_event_performancest__T_participant_actions_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["sub_type"] = reinterpret_cast(&(df_structure->sub_type)) - reinterpret_cast(df_structure); - p_table["unit_id"] = reinterpret_cast(&(df_structure->unit_id)) - reinterpret_cast(df_structure); - p_table["histfig_id"] = reinterpret_cast(&(df_structure->histfig_id)) - reinterpret_cast(df_structure); - p_table["unk_act_1"] = reinterpret_cast(&(df_structure->unk_act_1)) - reinterpret_cast(df_structure); - p_table["unk_act_2"] = reinterpret_cast(&(df_structure->unk_act_2)) - reinterpret_cast(df_structure); - p_table["unk_act_3"] = reinterpret_cast(&(df_structure->unk_act_3)) - reinterpret_cast(df_structure); - p_table["unk_act_4"] = reinterpret_cast(&(df_structure->unk_act_4)) - reinterpret_cast(df_structure); - p_table["unk_act_5"] = reinterpret_cast(&(df_structure->unk_act_5)) - reinterpret_cast(df_structure); - p_table["unk_act_6"] = reinterpret_cast(&(df_structure->unk_act_6)) - reinterpret_cast(df_structure); - p_table["unk_act_7"] = reinterpret_cast(&(df_structure->unk_act_7)) - reinterpret_cast(df_structure); - p_table["unk_act_8"] = reinterpret_cast(&(df_structure->unk_act_8)) - reinterpret_cast(df_structure); - p_table["unk_act_9"] = reinterpret_cast(&(df_structure->unk_act_9)) - reinterpret_cast(df_structure); -} - -void generate_activity_event_performancest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["participants"] = reinterpret_cast(&(df_structure->participants)) - reinterpret_cast(df_structure); - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["event"] = reinterpret_cast(&(df_structure->event)) - reinterpret_cast(df_structure); - p_table["written_content_id"] = reinterpret_cast(&(df_structure->written_content_id)) - reinterpret_cast(df_structure); - p_table["poetic_form"] = reinterpret_cast(&(df_structure->poetic_form)) - reinterpret_cast(df_structure); - p_table["music_form"] = reinterpret_cast(&(df_structure->music_form)) - reinterpret_cast(df_structure); - p_table["dance_form"] = reinterpret_cast(&(df_structure->dance_form)) - reinterpret_cast(df_structure); - p_table["unk_1"] = reinterpret_cast(&(df_structure->unk_1)) - reinterpret_cast(df_structure); - p_table["unk_2"] = reinterpret_cast(&(df_structure->unk_2)) - reinterpret_cast(df_structure); - p_table["unk_3"] = reinterpret_cast(&(df_structure->unk_3)) - reinterpret_cast(df_structure); - p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); - p_table["unk_5"] = reinterpret_cast(&(df_structure->unk_5)) - reinterpret_cast(df_structure); - p_table["unk_6"] = reinterpret_cast(&(df_structure->unk_6)) - reinterpret_cast(df_structure); - p_table["participant_actions"] = reinterpret_cast(&(df_structure->participant_actions)) - reinterpret_cast(df_structure); - p_table["pos_performer_2d"] = reinterpret_cast(&(df_structure->pos_performer_2d)) - reinterpret_cast(df_structure); - p_table["pos_performer"] = reinterpret_cast(&(df_structure->pos_performer)) - reinterpret_cast(df_structure); - p_table["unk_pos_1"] = reinterpret_cast(&(df_structure->unk_pos_1)) - reinterpret_cast(df_structure); - p_table["unk_pos_2"] = reinterpret_cast(&(df_structure->unk_pos_2)) - reinterpret_cast(df_structure); - p_table["unk_pos_3"] = reinterpret_cast(&(df_structure->unk_pos_3)) - reinterpret_cast(df_structure); - p_table["unk_pos_4"] = reinterpret_cast(&(df_structure->unk_pos_4)) - reinterpret_cast(df_structure); - p_table["unk_pos_5"] = reinterpret_cast(&(df_structure->unk_pos_5)) - reinterpret_cast(df_structure); - p_table["unk_pos_6"] = reinterpret_cast(&(df_structure->unk_pos_6)) - reinterpret_cast(df_structure); - p_table["unk_pos_7"] = reinterpret_cast(&(df_structure->unk_pos_7)) - reinterpret_cast(df_structure); - p_table["unk_pos_8"] = reinterpret_cast(&(df_structure->unk_pos_8)) - reinterpret_cast(df_structure); - p_table["unk_pos_9"] = reinterpret_cast(&(df_structure->unk_pos_9)) - reinterpret_cast(df_structure); - p_table["unk_pos_10"] = reinterpret_cast(&(df_structure->unk_pos_10)) - reinterpret_cast(df_structure); - p_table["play_orders"] = reinterpret_cast(&(df_structure->play_orders)) - reinterpret_cast(df_structure); - p_table["unk_11"] = reinterpret_cast(&(df_structure->unk_11)) - reinterpret_cast(df_structure); - p_table["unk_12"] = reinterpret_cast(&(df_structure->unk_12)) - reinterpret_cast(df_structure); - p_table["unk_13"] = reinterpret_cast(&(df_structure->unk_13)) - reinterpret_cast(df_structure); - p_table["unk_14"] = reinterpret_cast(&(df_structure->unk_14)) - reinterpret_cast(df_structure); - p_table["unk_15"] = reinterpret_cast(&(df_structure->unk_15)) - reinterpret_cast(df_structure); - p_table["unk_16"] = reinterpret_cast(&(df_structure->unk_16)) - reinterpret_cast(df_structure); - p_table["unk_17"] = reinterpret_cast(&(df_structure->unk_17)) - reinterpret_cast(df_structure); - p_table["unk_18"] = reinterpret_cast(&(df_structure->unk_18)) - reinterpret_cast(df_structure); -} - -void generate_performance_play_orderst__T_anon_4_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); -} - -void generate_performance_play_orderst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); -} - -void generate_activity_event_researchst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["participants"] = reinterpret_cast(&(df_structure->participants)) - reinterpret_cast(df_structure); - p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); - p_table["location_id"] = reinterpret_cast(&(df_structure->location_id)) - reinterpret_cast(df_structure); - p_table["building_id"] = reinterpret_cast(&(df_structure->building_id)) - reinterpret_cast(df_structure); -} - -void generate_activity_event_ponder_topicst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["participants"] = reinterpret_cast(&(df_structure->participants)) - reinterpret_cast(df_structure); - p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); - p_table["location_id"] = reinterpret_cast(&(df_structure->location_id)) - reinterpret_cast(df_structure); - p_table["building_id"] = reinterpret_cast(&(df_structure->building_id)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["knowledge"] = reinterpret_cast(&(df_structure->knowledge)) - reinterpret_cast(df_structure); - p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); -} - -void generate_activity_event_discuss_topicst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["participants"] = reinterpret_cast(&(df_structure->participants)) - reinterpret_cast(df_structure); - p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); - p_table["location_id"] = reinterpret_cast(&(df_structure->location_id)) - reinterpret_cast(df_structure); - p_table["building_id"] = reinterpret_cast(&(df_structure->building_id)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["knowledge"] = reinterpret_cast(&(df_structure->knowledge)) - reinterpret_cast(df_structure); - p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); -} - -void generate_activity_event_readst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["participants"] = reinterpret_cast(&(df_structure->participants)) - reinterpret_cast(df_structure); - p_table["building_id"] = reinterpret_cast(&(df_structure->building_id)) - reinterpret_cast(df_structure); - p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); - p_table["location_id"] = reinterpret_cast(&(df_structure->location_id)) - reinterpret_cast(df_structure); - p_table["state"] = reinterpret_cast(&(df_structure->state)) - reinterpret_cast(df_structure); - p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); -} - -void generate_activity_event_fill_service_orderst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["histfig_id"] = reinterpret_cast(&(df_structure->histfig_id)) - reinterpret_cast(df_structure); - p_table["unit_id"] = reinterpret_cast(&(df_structure->unit_id)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); -} - -void generate_activity_event_writest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["participants"] = reinterpret_cast(&(df_structure->participants)) - reinterpret_cast(df_structure); - p_table["building_id"] = reinterpret_cast(&(df_structure->building_id)) - reinterpret_cast(df_structure); - p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); - p_table["location_id"] = reinterpret_cast(&(df_structure->location_id)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["knowledge"] = reinterpret_cast(&(df_structure->knowledge)) - reinterpret_cast(df_structure); -} - -void generate_activity_event_copy_written_contentst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unit_id"] = reinterpret_cast(&(df_structure->unit_id)) - reinterpret_cast(df_structure); - p_table["histfig_id"] = reinterpret_cast(&(df_structure->histfig_id)) - reinterpret_cast(df_structure); - p_table["occupation_id"] = reinterpret_cast(&(df_structure->occupation_id)) - reinterpret_cast(df_structure); - p_table["building_id"] = reinterpret_cast(&(df_structure->building_id)) - reinterpret_cast(df_structure); - p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); - p_table["location_id"] = reinterpret_cast(&(df_structure->location_id)) - reinterpret_cast(df_structure); - p_table["flagsmaybe"] = reinterpret_cast(&(df_structure->flagsmaybe)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); -} - -void generate_activity_event_teach_topicst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["participants"] = reinterpret_cast(&(df_structure->participants)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); - p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); - p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); -} - -void generate_activity_event_playst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["participants"] = reinterpret_cast(&(df_structure->participants)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); -} - -void generate_activity_event_make_believest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["participants"] = reinterpret_cast(&(df_structure->participants)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); -} - -void generate_activity_event_play_with_toyst__T_unk_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); -} - -void generate_activity_event_play_with_toyst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["participants"] = reinterpret_cast(&(df_structure->participants)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["unk"] = reinterpret_cast(&(df_structure->unk)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); -} - -void generate_activity_event_encounterst__T_anon_1_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); - p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); - p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); - p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); -} - -void generate_activity_event_encounterst__T_anon_2_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); - p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); -} - -void generate_activity_event_encounterst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); - p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); - p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); -} - -void generate_activity_event_store_objectst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); -} - -void generate_schedule_info_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["slots"] = reinterpret_cast(&(df_structure->slots)) - reinterpret_cast(df_structure); -} - -void generate_item_filter_spec_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); - p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); - p_table["material_class"] = reinterpret_cast(&(df_structure->material_class)) - reinterpret_cast(df_structure); - p_table["mattype"] = reinterpret_cast(&(df_structure->mattype)) - reinterpret_cast(df_structure); - p_table["matindex"] = reinterpret_cast(&(df_structure->matindex)) - reinterpret_cast(df_structure); -} - -void generate_squad_uniform_spec_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["item"] = reinterpret_cast(&(df_structure->item)) - reinterpret_cast(df_structure); - p_table["item_filter"] = reinterpret_cast(&(df_structure->item_filter)) - reinterpret_cast(df_structure); - p_table["color"] = reinterpret_cast(&(df_structure->color)) - reinterpret_cast(df_structure); - p_table["assigned"] = reinterpret_cast(&(df_structure->assigned)) - reinterpret_cast(df_structure); - p_table["indiv_choice"] = reinterpret_cast(&(df_structure->indiv_choice)) - reinterpret_cast(df_structure); -} - -void generate_squad_ammo_spec_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["item_filter"] = reinterpret_cast(&(df_structure->item_filter)) - reinterpret_cast(df_structure); - p_table["amount"] = reinterpret_cast(&(df_structure->amount)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["assigned"] = reinterpret_cast(&(df_structure->assigned)) - reinterpret_cast(df_structure); -} - -void generate_squad_position_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["occupant"] = reinterpret_cast(&(df_structure->occupant)) - reinterpret_cast(df_structure); - p_table["orders"] = reinterpret_cast(&(df_structure->orders)) - reinterpret_cast(df_structure); - p_table["preferences"] = reinterpret_cast(&(df_structure->preferences)) - reinterpret_cast(df_structure); - p_table["uniform"] = reinterpret_cast(&(df_structure->uniform)) - reinterpret_cast(df_structure); - p_table["unk_c4"] = reinterpret_cast(&(df_structure->unk_c4)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["assigned_items"] = reinterpret_cast(&(df_structure->assigned_items)) - reinterpret_cast(df_structure); - p_table["quiver"] = reinterpret_cast(&(df_structure->quiver)) - reinterpret_cast(df_structure); - p_table["backpack"] = reinterpret_cast(&(df_structure->backpack)) - reinterpret_cast(df_structure); - p_table["flask"] = reinterpret_cast(&(df_structure->flask)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["activities"] = reinterpret_cast(&(df_structure->activities)) - reinterpret_cast(df_structure); - p_table["events"] = reinterpret_cast(&(df_structure->events)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); -} - -void generate_squad_schedule_order_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["order"] = reinterpret_cast(&(df_structure->order)) - reinterpret_cast(df_structure); - p_table["min_count"] = reinterpret_cast(&(df_structure->min_count)) - reinterpret_cast(df_structure); - p_table["positions"] = reinterpret_cast(&(df_structure->positions)) - reinterpret_cast(df_structure); -} - -void generate_squad_schedule_entry_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["sleep_mode"] = reinterpret_cast(&(df_structure->sleep_mode)) - reinterpret_cast(df_structure); - p_table["uniform_mode"] = reinterpret_cast(&(df_structure->uniform_mode)) - reinterpret_cast(df_structure); - p_table["orders"] = reinterpret_cast(&(df_structure->orders)) - reinterpret_cast(df_structure); - p_table["order_assignments"] = reinterpret_cast(&(df_structure->order_assignments)) - reinterpret_cast(df_structure); -} - -void generate_squad__T_rooms_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["building_id"] = reinterpret_cast(&(df_structure->building_id)) - reinterpret_cast(df_structure); - p_table["mode"] = reinterpret_cast(&(df_structure->mode)) - reinterpret_cast(df_structure); -} - -void generate_squad_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["alias"] = reinterpret_cast(&(df_structure->alias)) - reinterpret_cast(df_structure); - p_table["positions"] = reinterpret_cast(&(df_structure->positions)) - reinterpret_cast(df_structure); - p_table["orders"] = reinterpret_cast(&(df_structure->orders)) - reinterpret_cast(df_structure); - p_table["schedule"] = reinterpret_cast(&(df_structure->schedule)) - reinterpret_cast(df_structure); - p_table["cur_alert_idx"] = reinterpret_cast(&(df_structure->cur_alert_idx)) - reinterpret_cast(df_structure); - p_table["rooms"] = reinterpret_cast(&(df_structure->rooms)) - reinterpret_cast(df_structure); - p_table["rack_combat"] = reinterpret_cast(&(df_structure->rack_combat)) - reinterpret_cast(df_structure); - p_table["rack_training"] = reinterpret_cast(&(df_structure->rack_training)) - reinterpret_cast(df_structure); - p_table["uniform_priority"] = reinterpret_cast(&(df_structure->uniform_priority)) - reinterpret_cast(df_structure); - p_table["activity"] = reinterpret_cast(&(df_structure->activity)) - reinterpret_cast(df_structure); - p_table["ammunition"] = reinterpret_cast(&(df_structure->ammunition)) - reinterpret_cast(df_structure); - p_table["train_weapon_free"] = reinterpret_cast(&(df_structure->train_weapon_free)) - reinterpret_cast(df_structure); - p_table["train_weapon_inuse"] = reinterpret_cast(&(df_structure->train_weapon_inuse)) - reinterpret_cast(df_structure); - p_table["ammo_items"] = reinterpret_cast(&(df_structure->ammo_items)) - reinterpret_cast(df_structure); - p_table["ammo_units"] = reinterpret_cast(&(df_structure->ammo_units)) - reinterpret_cast(df_structure); - p_table["carry_food"] = reinterpret_cast(&(df_structure->carry_food)) - reinterpret_cast(df_structure); - p_table["carry_water"] = reinterpret_cast(&(df_structure->carry_water)) - reinterpret_cast(df_structure); - p_table["entity_id"] = reinterpret_cast(&(df_structure->entity_id)) - reinterpret_cast(df_structure); - p_table["leader_position"] = reinterpret_cast(&(df_structure->leader_position)) - reinterpret_cast(df_structure); - p_table["leader_assignment"] = reinterpret_cast(&(df_structure->leader_assignment)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_squad_order_movest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["pos"] = reinterpret_cast(&(df_structure->pos)) - reinterpret_cast(df_structure); - p_table["point_id"] = reinterpret_cast(&(df_structure->point_id)) - reinterpret_cast(df_structure); -} - -void generate_squad_order_retrieve_artifactst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); -} - -void generate_squad_order_raid_sitest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); -} - -void generate_squad_order_rescue_hfst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); -} - -void generate_army_controller__T_unk_64_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["t1"] = reinterpret_cast(&(df_structure->t1)) - reinterpret_cast(df_structure); - p_table["t2"] = reinterpret_cast(&(df_structure->t2)) - reinterpret_cast(df_structure); - p_table["t4"] = reinterpret_cast(&(df_structure->t4)) - reinterpret_cast(df_structure); - p_table["t5"] = reinterpret_cast(&(df_structure->t5)) - reinterpret_cast(df_structure); - p_table["t6"] = reinterpret_cast(&(df_structure->t6)) - reinterpret_cast(df_structure); - p_table["t7"] = reinterpret_cast(&(df_structure->t7)) - reinterpret_cast(df_structure); - p_table["t11"] = reinterpret_cast(&(df_structure->t11)) - reinterpret_cast(df_structure); - p_table["t12"] = reinterpret_cast(&(df_structure->t12)) - reinterpret_cast(df_structure); - p_table["t13"] = reinterpret_cast(&(df_structure->t13)) - reinterpret_cast(df_structure); - p_table["t14"] = reinterpret_cast(&(df_structure->t14)) - reinterpret_cast(df_structure); - p_table["t15"] = reinterpret_cast(&(df_structure->t15)) - reinterpret_cast(df_structure); - p_table["t16"] = reinterpret_cast(&(df_structure->t16)) - reinterpret_cast(df_structure); - p_table["t17"] = reinterpret_cast(&(df_structure->t17)) - reinterpret_cast(df_structure); - p_table["t18"] = reinterpret_cast(&(df_structure->t18)) - reinterpret_cast(df_structure); -} - -void generate_army_controller_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["entity_id"] = reinterpret_cast(&(df_structure->entity_id)) - reinterpret_cast(df_structure); - p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); - p_table["pos_x"] = reinterpret_cast(&(df_structure->pos_x)) - reinterpret_cast(df_structure); - p_table["pos_y"] = reinterpret_cast(&(df_structure->pos_y)) - reinterpret_cast(df_structure); - p_table["unk_14"] = reinterpret_cast(&(df_structure->unk_14)) - reinterpret_cast(df_structure); - p_table["unk_18"] = reinterpret_cast(&(df_structure->unk_18)) - reinterpret_cast(df_structure); - p_table["unk_1c"] = reinterpret_cast(&(df_structure->unk_1c)) - reinterpret_cast(df_structure); - p_table["unk_20"] = reinterpret_cast(&(df_structure->unk_20)) - reinterpret_cast(df_structure); - p_table["year"] = reinterpret_cast(&(df_structure->year)) - reinterpret_cast(df_structure); - p_table["year_tick"] = reinterpret_cast(&(df_structure->year_tick)) - reinterpret_cast(df_structure); - p_table["unk_34"] = reinterpret_cast(&(df_structure->unk_34)) - reinterpret_cast(df_structure); - p_table["unk_38"] = reinterpret_cast(&(df_structure->unk_38)) - reinterpret_cast(df_structure); - p_table["unk_3c"] = reinterpret_cast(&(df_structure->unk_3c)) - reinterpret_cast(df_structure); - p_table["unk_40"] = reinterpret_cast(&(df_structure->unk_40)) - reinterpret_cast(df_structure); - p_table["unk_44"] = reinterpret_cast(&(df_structure->unk_44)) - reinterpret_cast(df_structure); - p_table["unk_50"] = reinterpret_cast(&(df_structure->unk_50)) - reinterpret_cast(df_structure); - p_table["unk_54"] = reinterpret_cast(&(df_structure->unk_54)) - reinterpret_cast(df_structure); - p_table["mission_report"] = reinterpret_cast(&(df_structure->mission_report)) - reinterpret_cast(df_structure); - p_table["unk_44_11v"] = reinterpret_cast(&(df_structure->unk_44_11v)) - reinterpret_cast(df_structure); - p_table["unk_64"] = reinterpret_cast(&(df_structure->unk_64)) - reinterpret_cast(df_structure); - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); -} - -void generate_army_controller_sub2__T_anon_5_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); -} - -void generate_army_controller_sub2_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); - p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); - p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); - p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); -} - -void generate_army_controller_sub7__T_anon_3_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); -} - -void generate_army_controller_sub7_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); - p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); - p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); - p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); -} - -void generate_army_controller_sub11__T_anon_3_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); -} - -void generate_army_controller_sub11_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); -} - -void generate_army_controller_sub12__T_anon_4_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); -} - -void generate_army_controller_sub12_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); - p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); -} - -void generate_army_controller_sub13__T_anon_4_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); -} - -void generate_army_controller_sub13_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); -} - -void generate_army_controller_sub14__T_anon_4_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); -} - -void generate_army_controller_sub14_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); -} - -void generate_army_controller_sub15__T_anon_3_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); -} - -void generate_army_controller_sub15_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); - p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); - p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); - p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); - p_table["anon_11"] = reinterpret_cast(&(df_structure->anon_11)) - reinterpret_cast(df_structure); - p_table["anon_12"] = reinterpret_cast(&(df_structure->anon_12)) - reinterpret_cast(df_structure); - p_table["anon_13"] = reinterpret_cast(&(df_structure->anon_13)) - reinterpret_cast(df_structure); -} - -void generate_army__T_members_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["nemesis_id"] = reinterpret_cast(&(df_structure->nemesis_id)) - reinterpret_cast(df_structure); - p_table["hunger_timer"] = reinterpret_cast(&(df_structure->hunger_timer)) - reinterpret_cast(df_structure); - p_table["thirst_timer"] = reinterpret_cast(&(df_structure->thirst_timer)) - reinterpret_cast(df_structure); - p_table["sleepiness_timer"] = reinterpret_cast(&(df_structure->sleepiness_timer)) - reinterpret_cast(df_structure); - p_table["stored_fat"] = reinterpret_cast(&(df_structure->stored_fat)) - reinterpret_cast(df_structure); - p_table["unk_14"] = reinterpret_cast(&(df_structure->unk_14)) - reinterpret_cast(df_structure); - p_table["unk_18"] = reinterpret_cast(&(df_structure->unk_18)) - reinterpret_cast(df_structure); - p_table["unk_1c"] = reinterpret_cast(&(df_structure->unk_1c)) - reinterpret_cast(df_structure); - p_table["unk_20"] = reinterpret_cast(&(df_structure->unk_20)) - reinterpret_cast(df_structure); - p_table["unk_24"] = reinterpret_cast(&(df_structure->unk_24)) - reinterpret_cast(df_structure); - p_table["unk_28"] = reinterpret_cast(&(df_structure->unk_28)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["unk_2c"] = reinterpret_cast(&(df_structure->unk_2c)) - reinterpret_cast(df_structure); - p_table["unk_30"] = reinterpret_cast(&(df_structure->unk_30)) - reinterpret_cast(df_structure); - p_table["unk_34"] = reinterpret_cast(&(df_structure->unk_34)) - reinterpret_cast(df_structure); - p_table["unk_38"] = reinterpret_cast(&(df_structure->unk_38)) - reinterpret_cast(df_structure); - p_table["unk_v42_1"] = reinterpret_cast(&(df_structure->unk_v42_1)) - reinterpret_cast(df_structure); -} - -void generate_army__T_unk_2c_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["count"] = reinterpret_cast(&(df_structure->count)) - reinterpret_cast(df_structure); - p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); - p_table["population_id"] = reinterpret_cast(&(df_structure->population_id)) - reinterpret_cast(df_structure); - p_table["civ_id"] = reinterpret_cast(&(df_structure->civ_id)) - reinterpret_cast(df_structure); - p_table["unk_10"] = reinterpret_cast(&(df_structure->unk_10)) - reinterpret_cast(df_structure); - p_table["cultural_identity"] = reinterpret_cast(&(df_structure->cultural_identity)) - reinterpret_cast(df_structure); - p_table["unk_18"] = reinterpret_cast(&(df_structure->unk_18)) - reinterpret_cast(df_structure); - p_table["unk_1c"] = reinterpret_cast(&(df_structure->unk_1c)) - reinterpret_cast(df_structure); - p_table["unk_20"] = reinterpret_cast(&(df_structure->unk_20)) - reinterpret_cast(df_structure); - p_table["unk_24"] = reinterpret_cast(&(df_structure->unk_24)) - reinterpret_cast(df_structure); - p_table["unk_28"] = reinterpret_cast(&(df_structure->unk_28)) - reinterpret_cast(df_structure); -} - -void generate_army_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["pos"] = reinterpret_cast(&(df_structure->pos)) - reinterpret_cast(df_structure); - p_table["last_pos"] = reinterpret_cast(&(df_structure->last_pos)) - reinterpret_cast(df_structure); - p_table["unk_10"] = reinterpret_cast(&(df_structure->unk_10)) - reinterpret_cast(df_structure); - p_table["unk_14"] = reinterpret_cast(&(df_structure->unk_14)) - reinterpret_cast(df_structure); - p_table["unk_18"] = reinterpret_cast(&(df_structure->unk_18)) - reinterpret_cast(df_structure); - p_table["members"] = reinterpret_cast(&(df_structure->members)) - reinterpret_cast(df_structure); - p_table["unk_2c"] = reinterpret_cast(&(df_structure->unk_2c)) - reinterpret_cast(df_structure); - p_table["unk_3c"] = reinterpret_cast(&(df_structure->unk_3c)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["controller_id"] = reinterpret_cast(&(df_structure->controller_id)) - reinterpret_cast(df_structure); - p_table["controller"] = reinterpret_cast(&(df_structure->controller)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["unk_pos_x"] = reinterpret_cast(&(df_structure->unk_pos_x)) - reinterpret_cast(df_structure); - p_table["unk_pos_y"] = reinterpret_cast(&(df_structure->unk_pos_y)) - reinterpret_cast(df_structure); - p_table["unk_70"] = reinterpret_cast(&(df_structure->unk_70)) - reinterpret_cast(df_structure); - p_table["unk_80"] = reinterpret_cast(&(df_structure->unk_80)) - reinterpret_cast(df_structure); - p_table["unk_90"] = reinterpret_cast(&(df_structure->unk_90)) - reinterpret_cast(df_structure); - p_table["unk_94"] = reinterpret_cast(&(df_structure->unk_94)) - reinterpret_cast(df_structure); - p_table["unk_98"] = reinterpret_cast(&(df_structure->unk_98)) - reinterpret_cast(df_structure); - p_table["unk_9c"] = reinterpret_cast(&(df_structure->unk_9c)) - reinterpret_cast(df_structure); - p_table["unk_a0"] = reinterpret_cast(&(df_structure->unk_a0)) - reinterpret_cast(df_structure); - p_table["unk_a4"] = reinterpret_cast(&(df_structure->unk_a4)) - reinterpret_cast(df_structure); - p_table["unk_a8"] = reinterpret_cast(&(df_structure->unk_a8)) - reinterpret_cast(df_structure); - p_table["creature_class"] = reinterpret_cast(&(df_structure->creature_class)) - reinterpret_cast(df_structure); - p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); - p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["unk_4407_1"] = reinterpret_cast(&(df_structure->unk_4407_1)) - reinterpret_cast(df_structure); -} - -void generate_plant_raw__T_tiles_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["picked_tile"] = reinterpret_cast(&(df_structure->picked_tile)) - reinterpret_cast(df_structure); - p_table["dead_picked_tile"] = reinterpret_cast(&(df_structure->dead_picked_tile)) - reinterpret_cast(df_structure); - p_table["shrub_tile"] = reinterpret_cast(&(df_structure->shrub_tile)) - reinterpret_cast(df_structure); - p_table["dead_shrub_tile"] = reinterpret_cast(&(df_structure->dead_shrub_tile)) - reinterpret_cast(df_structure); - p_table["tree_tile"] = reinterpret_cast(&(df_structure->tree_tile)) - reinterpret_cast(df_structure); - p_table["dead_tree_tile"] = reinterpret_cast(&(df_structure->dead_tree_tile)) - reinterpret_cast(df_structure); - p_table["sapling_tile"] = reinterpret_cast(&(df_structure->sapling_tile)) - reinterpret_cast(df_structure); - p_table["dead_sapling_tile"] = reinterpret_cast(&(df_structure->dead_sapling_tile)) - reinterpret_cast(df_structure); - p_table["grass_tiles"] = reinterpret_cast(&(df_structure->grass_tiles)) - reinterpret_cast(df_structure); - p_table["alt_grass_tiles"] = reinterpret_cast(&(df_structure->alt_grass_tiles)) - reinterpret_cast(df_structure); - p_table["tree_tiles"] = reinterpret_cast(&(df_structure->tree_tiles)) - reinterpret_cast(df_structure); -} - -void generate_plant_raw__T_colors_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["picked_color"] = reinterpret_cast(&(df_structure->picked_color)) - reinterpret_cast(df_structure); - p_table["dead_picked_color"] = reinterpret_cast(&(df_structure->dead_picked_color)) - reinterpret_cast(df_structure); - p_table["shrub_color"] = reinterpret_cast(&(df_structure->shrub_color)) - reinterpret_cast(df_structure); - p_table["dead_shrub_color"] = reinterpret_cast(&(df_structure->dead_shrub_color)) - reinterpret_cast(df_structure); - p_table["seed_color"] = reinterpret_cast(&(df_structure->seed_color)) - reinterpret_cast(df_structure); - p_table["tree_color"] = reinterpret_cast(&(df_structure->tree_color)) - reinterpret_cast(df_structure); - p_table["dead_tree_color"] = reinterpret_cast(&(df_structure->dead_tree_color)) - reinterpret_cast(df_structure); - p_table["sapling_color"] = reinterpret_cast(&(df_structure->sapling_color)) - reinterpret_cast(df_structure); - p_table["dead_sapling_color"] = reinterpret_cast(&(df_structure->dead_sapling_color)) - reinterpret_cast(df_structure); - p_table["grass_colors_0"] = reinterpret_cast(&(df_structure->grass_colors_0)) - reinterpret_cast(df_structure); - p_table["grass_colors_1"] = reinterpret_cast(&(df_structure->grass_colors_1)) - reinterpret_cast(df_structure); - p_table["grass_colors_2"] = reinterpret_cast(&(df_structure->grass_colors_2)) - reinterpret_cast(df_structure); -} - -void generate_plant_raw__T_material_defs_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["type_basic_mat"] = reinterpret_cast(&(df_structure->type_basic_mat)) - reinterpret_cast(df_structure); - p_table["type_tree"] = reinterpret_cast(&(df_structure->type_tree)) - reinterpret_cast(df_structure); - p_table["type_drink"] = reinterpret_cast(&(df_structure->type_drink)) - reinterpret_cast(df_structure); - p_table["type_seed"] = reinterpret_cast(&(df_structure->type_seed)) - reinterpret_cast(df_structure); - p_table["type_thread"] = reinterpret_cast(&(df_structure->type_thread)) - reinterpret_cast(df_structure); - p_table["type_mill"] = reinterpret_cast(&(df_structure->type_mill)) - reinterpret_cast(df_structure); - p_table["type_extract_vial"] = reinterpret_cast(&(df_structure->type_extract_vial)) - reinterpret_cast(df_structure); - p_table["type_extract_barrel"] = reinterpret_cast(&(df_structure->type_extract_barrel)) - reinterpret_cast(df_structure); - p_table["type_extract_still_vial"] = reinterpret_cast(&(df_structure->type_extract_still_vial)) - reinterpret_cast(df_structure); - p_table["idx_basic_mat"] = reinterpret_cast(&(df_structure->idx_basic_mat)) - reinterpret_cast(df_structure); - p_table["idx_tree"] = reinterpret_cast(&(df_structure->idx_tree)) - reinterpret_cast(df_structure); - p_table["idx_drink"] = reinterpret_cast(&(df_structure->idx_drink)) - reinterpret_cast(df_structure); - p_table["idx_seed"] = reinterpret_cast(&(df_structure->idx_seed)) - reinterpret_cast(df_structure); - p_table["idx_thread"] = reinterpret_cast(&(df_structure->idx_thread)) - reinterpret_cast(df_structure); - p_table["idx_mill"] = reinterpret_cast(&(df_structure->idx_mill)) - reinterpret_cast(df_structure); - p_table["idx_extract_vial"] = reinterpret_cast(&(df_structure->idx_extract_vial)) - reinterpret_cast(df_structure); - p_table["idx_extract_barrel"] = reinterpret_cast(&(df_structure->idx_extract_barrel)) - reinterpret_cast(df_structure); - p_table["idx_extract_still_vial"] = reinterpret_cast(&(df_structure->idx_extract_still_vial)) - reinterpret_cast(df_structure); - p_table["str_basic_mat"] = reinterpret_cast(&(df_structure->str_basic_mat)) - reinterpret_cast(df_structure); - p_table["str_tree"] = reinterpret_cast(&(df_structure->str_tree)) - reinterpret_cast(df_structure); - p_table["str_drink"] = reinterpret_cast(&(df_structure->str_drink)) - reinterpret_cast(df_structure); - p_table["str_seed"] = reinterpret_cast(&(df_structure->str_seed)) - reinterpret_cast(df_structure); - p_table["str_thread"] = reinterpret_cast(&(df_structure->str_thread)) - reinterpret_cast(df_structure); - p_table["str_mill"] = reinterpret_cast(&(df_structure->str_mill)) - reinterpret_cast(df_structure); - p_table["str_extract_vial"] = reinterpret_cast(&(df_structure->str_extract_vial)) - reinterpret_cast(df_structure); - p_table["str_extract_barrel"] = reinterpret_cast(&(df_structure->str_extract_barrel)) - reinterpret_cast(df_structure); - p_table["str_extract_still_vial"] = reinterpret_cast(&(df_structure->str_extract_still_vial)) - reinterpret_cast(df_structure); -} - -void generate_plant_raw_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["index"] = reinterpret_cast(&(df_structure->index)) - reinterpret_cast(df_structure); - p_table["raws"] = reinterpret_cast(&(df_structure->raws)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["name_plural"] = reinterpret_cast(&(df_structure->name_plural)) - reinterpret_cast(df_structure); - p_table["adj"] = reinterpret_cast(&(df_structure->adj)) - reinterpret_cast(df_structure); - p_table["seed_singular"] = reinterpret_cast(&(df_structure->seed_singular)) - reinterpret_cast(df_structure); - p_table["seed_plural"] = reinterpret_cast(&(df_structure->seed_plural)) - reinterpret_cast(df_structure); - p_table["leaves_singular"] = reinterpret_cast(&(df_structure->leaves_singular)) - reinterpret_cast(df_structure); - p_table["leaves_plural"] = reinterpret_cast(&(df_structure->leaves_plural)) - reinterpret_cast(df_structure); - p_table["source_hfid"] = reinterpret_cast(&(df_structure->source_hfid)) - reinterpret_cast(df_structure); - p_table["unk_v4201_1"] = reinterpret_cast(&(df_structure->unk_v4201_1)) - reinterpret_cast(df_structure); - p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); - p_table["unk2"] = reinterpret_cast(&(df_structure->unk2)) - reinterpret_cast(df_structure); - p_table["tiles"] = reinterpret_cast(&(df_structure->tiles)) - reinterpret_cast(df_structure); - p_table["growdur"] = reinterpret_cast(&(df_structure->growdur)) - reinterpret_cast(df_structure); - p_table["value"] = reinterpret_cast(&(df_structure->value)) - reinterpret_cast(df_structure); - p_table["colors"] = reinterpret_cast(&(df_structure->colors)) - reinterpret_cast(df_structure); - p_table["alt_period"] = reinterpret_cast(&(df_structure->alt_period)) - reinterpret_cast(df_structure); - p_table["shrub_drown_level"] = reinterpret_cast(&(df_structure->shrub_drown_level)) - reinterpret_cast(df_structure); - p_table["tree_drown_level"] = reinterpret_cast(&(df_structure->tree_drown_level)) - reinterpret_cast(df_structure); - p_table["sapling_drown_level"] = reinterpret_cast(&(df_structure->sapling_drown_level)) - reinterpret_cast(df_structure); - p_table["frequency"] = reinterpret_cast(&(df_structure->frequency)) - reinterpret_cast(df_structure); - p_table["clustersize"] = reinterpret_cast(&(df_structure->clustersize)) - reinterpret_cast(df_structure); - p_table["prefstring"] = reinterpret_cast(&(df_structure->prefstring)) - reinterpret_cast(df_structure); - p_table["material"] = reinterpret_cast(&(df_structure->material)) - reinterpret_cast(df_structure); - p_table["material_defs"] = reinterpret_cast(&(df_structure->material_defs)) - reinterpret_cast(df_structure); - p_table["underground_depth_min"] = reinterpret_cast(&(df_structure->underground_depth_min)) - reinterpret_cast(df_structure); - p_table["underground_depth_max"] = reinterpret_cast(&(df_structure->underground_depth_max)) - reinterpret_cast(df_structure); - p_table["growths"] = reinterpret_cast(&(df_structure->growths)) - reinterpret_cast(df_structure); - p_table["root_name"] = reinterpret_cast(&(df_structure->root_name)) - reinterpret_cast(df_structure); - p_table["trunk_name"] = reinterpret_cast(&(df_structure->trunk_name)) - reinterpret_cast(df_structure); - p_table["heavy_branch_name"] = reinterpret_cast(&(df_structure->heavy_branch_name)) - reinterpret_cast(df_structure); - p_table["light_branch_name"] = reinterpret_cast(&(df_structure->light_branch_name)) - reinterpret_cast(df_structure); - p_table["twig_name"] = reinterpret_cast(&(df_structure->twig_name)) - reinterpret_cast(df_structure); - p_table["cap_name"] = reinterpret_cast(&(df_structure->cap_name)) - reinterpret_cast(df_structure); - p_table["trunk_period"] = reinterpret_cast(&(df_structure->trunk_period)) - reinterpret_cast(df_structure); - p_table["heavy_branch_density"] = reinterpret_cast(&(df_structure->heavy_branch_density)) - reinterpret_cast(df_structure); - p_table["light_branch_density"] = reinterpret_cast(&(df_structure->light_branch_density)) - reinterpret_cast(df_structure); - p_table["max_trunk_height"] = reinterpret_cast(&(df_structure->max_trunk_height)) - reinterpret_cast(df_structure); - p_table["heavy_branch_radius"] = reinterpret_cast(&(df_structure->heavy_branch_radius)) - reinterpret_cast(df_structure); - p_table["light_branch_radius"] = reinterpret_cast(&(df_structure->light_branch_radius)) - reinterpret_cast(df_structure); - p_table["trunk_branching"] = reinterpret_cast(&(df_structure->trunk_branching)) - reinterpret_cast(df_structure); - p_table["max_trunk_diameter"] = reinterpret_cast(&(df_structure->max_trunk_diameter)) - reinterpret_cast(df_structure); - p_table["trunk_width_period"] = reinterpret_cast(&(df_structure->trunk_width_period)) - reinterpret_cast(df_structure); - p_table["cap_period"] = reinterpret_cast(&(df_structure->cap_period)) - reinterpret_cast(df_structure); - p_table["cap_radius"] = reinterpret_cast(&(df_structure->cap_radius)) - reinterpret_cast(df_structure); - p_table["root_density"] = reinterpret_cast(&(df_structure->root_density)) - reinterpret_cast(df_structure); - p_table["root_radius"] = reinterpret_cast(&(df_structure->root_radius)) - reinterpret_cast(df_structure); - p_table["stockpile_growths"] = reinterpret_cast(&(df_structure->stockpile_growths)) - reinterpret_cast(df_structure); - p_table["stockpile_growth_flags"] = reinterpret_cast(&(df_structure->stockpile_growth_flags)) - reinterpret_cast(df_structure); -} - -void generate_plant_growth_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["name_plural"] = reinterpret_cast(&(df_structure->name_plural)) - reinterpret_cast(df_structure); - p_table["str_growth_item"] = reinterpret_cast(&(df_structure->str_growth_item)) - reinterpret_cast(df_structure); - p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); - p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["prints"] = reinterpret_cast(&(df_structure->prints)) - reinterpret_cast(df_structure); - p_table["timing_1"] = reinterpret_cast(&(df_structure->timing_1)) - reinterpret_cast(df_structure); - p_table["timing_2"] = reinterpret_cast(&(df_structure->timing_2)) - reinterpret_cast(df_structure); - p_table["locations"] = reinterpret_cast(&(df_structure->locations)) - reinterpret_cast(df_structure); - p_table["density"] = reinterpret_cast(&(df_structure->density)) - reinterpret_cast(df_structure); - p_table["behavior"] = reinterpret_cast(&(df_structure->behavior)) - reinterpret_cast(df_structure); - p_table["trunk_height_perc_1"] = reinterpret_cast(&(df_structure->trunk_height_perc_1)) - reinterpret_cast(df_structure); - p_table["trunk_height_perc_2"] = reinterpret_cast(&(df_structure->trunk_height_perc_2)) - reinterpret_cast(df_structure); -} - -void generate_plant_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["material"] = reinterpret_cast(&(df_structure->material)) - reinterpret_cast(df_structure); - p_table["pos"] = reinterpret_cast(&(df_structure->pos)) - reinterpret_cast(df_structure); - p_table["grow_counter"] = reinterpret_cast(&(df_structure->grow_counter)) - reinterpret_cast(df_structure); - p_table["damage_flags"] = reinterpret_cast(&(df_structure->damage_flags)) - reinterpret_cast(df_structure); - p_table["hitpoints"] = reinterpret_cast(&(df_structure->hitpoints)) - reinterpret_cast(df_structure); - p_table["update_order"] = reinterpret_cast(&(df_structure->update_order)) - reinterpret_cast(df_structure); - p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); - p_table["srb_id"] = reinterpret_cast(&(df_structure->srb_id)) - reinterpret_cast(df_structure); - p_table["contaminants"] = reinterpret_cast(&(df_structure->contaminants)) - reinterpret_cast(df_structure); - p_table["tree_info"] = reinterpret_cast(&(df_structure->tree_info)) - reinterpret_cast(df_structure); -} - -void generate_plant_tree_info_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["body"] = reinterpret_cast(&(df_structure->body)) - reinterpret_cast(df_structure); - p_table["extent_east"] = reinterpret_cast(&(df_structure->extent_east)) - reinterpret_cast(df_structure); - p_table["extent_south"] = reinterpret_cast(&(df_structure->extent_south)) - reinterpret_cast(df_structure); - p_table["extent_west"] = reinterpret_cast(&(df_structure->extent_west)) - reinterpret_cast(df_structure); - p_table["extent_north"] = reinterpret_cast(&(df_structure->extent_north)) - reinterpret_cast(df_structure); - p_table["body_height"] = reinterpret_cast(&(df_structure->body_height)) - reinterpret_cast(df_structure); - p_table["dim_x"] = reinterpret_cast(&(df_structure->dim_x)) - reinterpret_cast(df_structure); - p_table["dim_y"] = reinterpret_cast(&(df_structure->dim_y)) - reinterpret_cast(df_structure); - p_table["roots"] = reinterpret_cast(&(df_structure->roots)) - reinterpret_cast(df_structure); - p_table["roots_depth"] = reinterpret_cast(&(df_structure->roots_depth)) - reinterpret_cast(df_structure); - p_table["unk6"] = reinterpret_cast(&(df_structure->unk6)) - reinterpret_cast(df_structure); -} - -void generate_proj_list_link_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["item"] = reinterpret_cast(&(df_structure->item)) - reinterpret_cast(df_structure); - p_table["prev"] = reinterpret_cast(&(df_structure->prev)) - reinterpret_cast(df_structure); - p_table["next"] = reinterpret_cast(&(df_structure->next)) - reinterpret_cast(df_structure); -} - -void generate_projectile_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["link"] = reinterpret_cast(&(df_structure->link)) - reinterpret_cast(df_structure); - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["firer"] = reinterpret_cast(&(df_structure->firer)) - reinterpret_cast(df_structure); - p_table["origin_pos"] = reinterpret_cast(&(df_structure->origin_pos)) - reinterpret_cast(df_structure); - p_table["target_pos"] = reinterpret_cast(&(df_structure->target_pos)) - reinterpret_cast(df_structure); - p_table["cur_pos"] = reinterpret_cast(&(df_structure->cur_pos)) - reinterpret_cast(df_structure); - p_table["prev_pos"] = reinterpret_cast(&(df_structure->prev_pos)) - reinterpret_cast(df_structure); - p_table["distance_flown"] = reinterpret_cast(&(df_structure->distance_flown)) - reinterpret_cast(df_structure); - p_table["fall_threshold"] = reinterpret_cast(&(df_structure->fall_threshold)) - reinterpret_cast(df_structure); - p_table["min_hit_distance"] = reinterpret_cast(&(df_structure->min_hit_distance)) - reinterpret_cast(df_structure); - p_table["min_ground_distance"] = reinterpret_cast(&(df_structure->min_ground_distance)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["fall_counter"] = reinterpret_cast(&(df_structure->fall_counter)) - reinterpret_cast(df_structure); - p_table["fall_delay"] = reinterpret_cast(&(df_structure->fall_delay)) - reinterpret_cast(df_structure); - p_table["hit_rating"] = reinterpret_cast(&(df_structure->hit_rating)) - reinterpret_cast(df_structure); - p_table["unk21"] = reinterpret_cast(&(df_structure->unk21)) - reinterpret_cast(df_structure); - p_table["unk22"] = reinterpret_cast(&(df_structure->unk22)) - reinterpret_cast(df_structure); - p_table["bow_id"] = reinterpret_cast(&(df_structure->bow_id)) - reinterpret_cast(df_structure); - p_table["unk_item_id"] = reinterpret_cast(&(df_structure->unk_item_id)) - reinterpret_cast(df_structure); - p_table["unk_unit_id"] = reinterpret_cast(&(df_structure->unk_unit_id)) - reinterpret_cast(df_structure); - p_table["unk_v40_1"] = reinterpret_cast(&(df_structure->unk_v40_1)) - reinterpret_cast(df_structure); - p_table["pos_x"] = reinterpret_cast(&(df_structure->pos_x)) - reinterpret_cast(df_structure); - p_table["pos_y"] = reinterpret_cast(&(df_structure->pos_y)) - reinterpret_cast(df_structure); - p_table["pos_z"] = reinterpret_cast(&(df_structure->pos_z)) - reinterpret_cast(df_structure); - p_table["speed_x"] = reinterpret_cast(&(df_structure->speed_x)) - reinterpret_cast(df_structure); - p_table["speed_y"] = reinterpret_cast(&(df_structure->speed_y)) - reinterpret_cast(df_structure); - p_table["speed_z"] = reinterpret_cast(&(df_structure->speed_z)) - reinterpret_cast(df_structure); - p_table["accel_x"] = reinterpret_cast(&(df_structure->accel_x)) - reinterpret_cast(df_structure); - p_table["accel_y"] = reinterpret_cast(&(df_structure->accel_y)) - reinterpret_cast(df_structure); - p_table["accel_z"] = reinterpret_cast(&(df_structure->accel_z)) - reinterpret_cast(df_structure); -} - -void generate_proj_itemst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["item"] = reinterpret_cast(&(df_structure->item)) - reinterpret_cast(df_structure); -} - -void generate_proj_unitst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); -} - -void generate_proj_magicst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk"] = reinterpret_cast(&(df_structure->unk)) - reinterpret_cast(df_structure); -} - -void generate_creature_handler_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["alphabetic"] = reinterpret_cast(&(df_structure->alphabetic)) - reinterpret_cast(df_structure); - p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); - p_table["num_caste"] = reinterpret_cast(&(df_structure->num_caste)) - reinterpret_cast(df_structure); - p_table["list_creature"] = reinterpret_cast(&(df_structure->list_creature)) - reinterpret_cast(df_structure); - p_table["list_caste"] = reinterpret_cast(&(df_structure->list_caste)) - reinterpret_cast(df_structure); - p_table["action_strings"] = reinterpret_cast(&(df_structure->action_strings)) - reinterpret_cast(df_structure); -} - -void generate_world_raws__T_plants_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); - p_table["bushes"] = reinterpret_cast(&(df_structure->bushes)) - reinterpret_cast(df_structure); - p_table["bushes_idx"] = reinterpret_cast(&(df_structure->bushes_idx)) - reinterpret_cast(df_structure); - p_table["trees"] = reinterpret_cast(&(df_structure->trees)) - reinterpret_cast(df_structure); - p_table["trees_idx"] = reinterpret_cast(&(df_structure->trees_idx)) - reinterpret_cast(df_structure); - p_table["grasses"] = reinterpret_cast(&(df_structure->grasses)) - reinterpret_cast(df_structure); - p_table["grasses_idx"] = reinterpret_cast(&(df_structure->grasses_idx)) - reinterpret_cast(df_structure); -} - -void generate_world_raws__T_bodyglosses_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["old_singular"] = reinterpret_cast(&(df_structure->old_singular)) - reinterpret_cast(df_structure); - p_table["new_singular"] = reinterpret_cast(&(df_structure->new_singular)) - reinterpret_cast(df_structure); - p_table["old_plural"] = reinterpret_cast(&(df_structure->old_plural)) - reinterpret_cast(df_structure); - p_table["new_plural"] = reinterpret_cast(&(df_structure->new_plural)) - reinterpret_cast(df_structure); -} - -void generate_world_raws__T_itemdefs_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); - p_table["weapons"] = reinterpret_cast(&(df_structure->weapons)) - reinterpret_cast(df_structure); - p_table["trapcomps"] = reinterpret_cast(&(df_structure->trapcomps)) - reinterpret_cast(df_structure); - p_table["toys"] = reinterpret_cast(&(df_structure->toys)) - reinterpret_cast(df_structure); - p_table["tools"] = reinterpret_cast(&(df_structure->tools)) - reinterpret_cast(df_structure); - p_table["tools_by_type"] = reinterpret_cast(&(df_structure->tools_by_type)) - reinterpret_cast(df_structure); - p_table["instruments"] = reinterpret_cast(&(df_structure->instruments)) - reinterpret_cast(df_structure); - p_table["armor"] = reinterpret_cast(&(df_structure->armor)) - reinterpret_cast(df_structure); - p_table["ammo"] = reinterpret_cast(&(df_structure->ammo)) - reinterpret_cast(df_structure); - p_table["siege_ammo"] = reinterpret_cast(&(df_structure->siege_ammo)) - reinterpret_cast(df_structure); - p_table["gloves"] = reinterpret_cast(&(df_structure->gloves)) - reinterpret_cast(df_structure); - p_table["shoes"] = reinterpret_cast(&(df_structure->shoes)) - reinterpret_cast(df_structure); - p_table["shields"] = reinterpret_cast(&(df_structure->shields)) - reinterpret_cast(df_structure); - p_table["helms"] = reinterpret_cast(&(df_structure->helms)) - reinterpret_cast(df_structure); - p_table["pants"] = reinterpret_cast(&(df_structure->pants)) - reinterpret_cast(df_structure); - p_table["food"] = reinterpret_cast(&(df_structure->food)) - reinterpret_cast(df_structure); -} - -void generate_world_raws__T_language_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["words"] = reinterpret_cast(&(df_structure->words)) - reinterpret_cast(df_structure); - p_table["symbols"] = reinterpret_cast(&(df_structure->symbols)) - reinterpret_cast(df_structure); - p_table["translations"] = reinterpret_cast(&(df_structure->translations)) - reinterpret_cast(df_structure); - p_table["word_table"] = reinterpret_cast(&(df_structure->word_table)) - reinterpret_cast(df_structure); -} - -void generate_world_raws__T_descriptors_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["colors"] = reinterpret_cast(&(df_structure->colors)) - reinterpret_cast(df_structure); - p_table["shapes"] = reinterpret_cast(&(df_structure->shapes)) - reinterpret_cast(df_structure); - p_table["patterns"] = reinterpret_cast(&(df_structure->patterns)) - reinterpret_cast(df_structure); -} - -void generate_world_raws__T_reactions_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["reactions"] = reinterpret_cast(&(df_structure->reactions)) - reinterpret_cast(df_structure); - p_table["reaction_categories"] = reinterpret_cast(&(df_structure->reaction_categories)) - reinterpret_cast(df_structure); -} - -void generate_world_raws__T_buildings_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); - p_table["workshops"] = reinterpret_cast(&(df_structure->workshops)) - reinterpret_cast(df_structure); - p_table["furnaces"] = reinterpret_cast(&(df_structure->furnaces)) - reinterpret_cast(df_structure); - p_table["next_id"] = reinterpret_cast(&(df_structure->next_id)) - reinterpret_cast(df_structure); -} - -void generate_world_raws__T_syndromes_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_types"] = reinterpret_cast(&(df_structure->mat_types)) - reinterpret_cast(df_structure); - p_table["mat_indexes"] = reinterpret_cast(&(df_structure->mat_indexes)) - reinterpret_cast(df_structure); - p_table["interactions"] = reinterpret_cast(&(df_structure->interactions)) - reinterpret_cast(df_structure); - p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); -} - -void generate_world_raws__T_effects_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_types"] = reinterpret_cast(&(df_structure->mat_types)) - reinterpret_cast(df_structure); - p_table["mat_indexes"] = reinterpret_cast(&(df_structure->mat_indexes)) - reinterpret_cast(df_structure); - p_table["interactions"] = reinterpret_cast(&(df_structure->interactions)) - reinterpret_cast(df_structure); - p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); -} - -void generate_world_raws_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["material_templates"] = reinterpret_cast(&(df_structure->material_templates)) - reinterpret_cast(df_structure); - p_table["inorganics"] = reinterpret_cast(&(df_structure->inorganics)) - reinterpret_cast(df_structure); - p_table["inorganics_subset"] = reinterpret_cast(&(df_structure->inorganics_subset)) - reinterpret_cast(df_structure); - p_table["plants"] = reinterpret_cast(&(df_structure->plants)) - reinterpret_cast(df_structure); - p_table["tissue_templates"] = reinterpret_cast(&(df_structure->tissue_templates)) - reinterpret_cast(df_structure); - p_table["body_detail_plans"] = reinterpret_cast(&(df_structure->body_detail_plans)) - reinterpret_cast(df_structure); - p_table["body_templates"] = reinterpret_cast(&(df_structure->body_templates)) - reinterpret_cast(df_structure); - p_table["bodyglosses"] = reinterpret_cast(&(df_structure->bodyglosses)) - reinterpret_cast(df_structure); - p_table["creature_variations"] = reinterpret_cast(&(df_structure->creature_variations)) - reinterpret_cast(df_structure); - p_table["creatures"] = reinterpret_cast(&(df_structure->creatures)) - reinterpret_cast(df_structure); - p_table["itemdefs"] = reinterpret_cast(&(df_structure->itemdefs)) - reinterpret_cast(df_structure); - p_table["entities"] = reinterpret_cast(&(df_structure->entities)) - reinterpret_cast(df_structure); - p_table["language"] = reinterpret_cast(&(df_structure->language)) - reinterpret_cast(df_structure); - p_table["descriptors"] = reinterpret_cast(&(df_structure->descriptors)) - reinterpret_cast(df_structure); - p_table["reactions"] = reinterpret_cast(&(df_structure->reactions)) - reinterpret_cast(df_structure); - p_table["buildings"] = reinterpret_cast(&(df_structure->buildings)) - reinterpret_cast(df_structure); - p_table["interactions"] = reinterpret_cast(&(df_structure->interactions)) - reinterpret_cast(df_structure); - p_table["mat_table"] = reinterpret_cast(&(df_structure->mat_table)) - reinterpret_cast(df_structure); - p_table["syndromes"] = reinterpret_cast(&(df_structure->syndromes)) - reinterpret_cast(df_structure); - p_table["effects"] = reinterpret_cast(&(df_structure->effects)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); -} - -void generate_reaction__T_building_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["str"] = reinterpret_cast(&(df_structure->str)) - reinterpret_cast(df_structure); - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["subtype"] = reinterpret_cast(&(df_structure->subtype)) - reinterpret_cast(df_structure); - p_table["custom"] = reinterpret_cast(&(df_structure->custom)) - reinterpret_cast(df_structure); - p_table["hotkey"] = reinterpret_cast(&(df_structure->hotkey)) - reinterpret_cast(df_structure); -} - -void generate_reaction_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["code"] = reinterpret_cast(&(df_structure->code)) - reinterpret_cast(df_structure); - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["reagents"] = reinterpret_cast(&(df_structure->reagents)) - reinterpret_cast(df_structure); - p_table["products"] = reinterpret_cast(&(df_structure->products)) - reinterpret_cast(df_structure); - p_table["skill"] = reinterpret_cast(&(df_structure->skill)) - reinterpret_cast(df_structure); - p_table["max_multiplier"] = reinterpret_cast(&(df_structure->max_multiplier)) - reinterpret_cast(df_structure); - p_table["building"] = reinterpret_cast(&(df_structure->building)) - reinterpret_cast(df_structure); - p_table["index"] = reinterpret_cast(&(df_structure->index)) - reinterpret_cast(df_structure); - p_table["source_hfid"] = reinterpret_cast(&(df_structure->source_hfid)) - reinterpret_cast(df_structure); - p_table["source_enid"] = reinterpret_cast(&(df_structure->source_enid)) - reinterpret_cast(df_structure); - p_table["raw_strings"] = reinterpret_cast(&(df_structure->raw_strings)) - reinterpret_cast(df_structure); - p_table["category"] = reinterpret_cast(&(df_structure->category)) - reinterpret_cast(df_structure); - p_table["descriptions"] = reinterpret_cast(&(df_structure->descriptions)) - reinterpret_cast(df_structure); -} - -void generate_reaction_description_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); -} - -void generate_reaction_reagent_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["code"] = reinterpret_cast(&(df_structure->code)) - reinterpret_cast(df_structure); - p_table["quantity"] = reinterpret_cast(&(df_structure->quantity)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); -} - -void generate_reaction_reagent_itemst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); - p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["reaction_class"] = reinterpret_cast(&(df_structure->reaction_class)) - reinterpret_cast(df_structure); - p_table["has_material_reaction_product"] = reinterpret_cast(&(df_structure->has_material_reaction_product)) - reinterpret_cast(df_structure); - p_table["flags1"] = reinterpret_cast(&(df_structure->flags1)) - reinterpret_cast(df_structure); - p_table["flags2"] = reinterpret_cast(&(df_structure->flags2)) - reinterpret_cast(df_structure); - p_table["flags3"] = reinterpret_cast(&(df_structure->flags3)) - reinterpret_cast(df_structure); - p_table["flags4"] = reinterpret_cast(&(df_structure->flags4)) - reinterpret_cast(df_structure); - p_table["flags5"] = reinterpret_cast(&(df_structure->flags5)) - reinterpret_cast(df_structure); - p_table["metal_ore"] = reinterpret_cast(&(df_structure->metal_ore)) - reinterpret_cast(df_structure); - p_table["min_dimension"] = reinterpret_cast(&(df_structure->min_dimension)) - reinterpret_cast(df_structure); - p_table["contains"] = reinterpret_cast(&(df_structure->contains)) - reinterpret_cast(df_structure); - p_table["has_tool_use"] = reinterpret_cast(&(df_structure->has_tool_use)) - reinterpret_cast(df_structure); - p_table["item_str"] = reinterpret_cast(&(df_structure->item_str)) - reinterpret_cast(df_structure); - p_table["material_str"] = reinterpret_cast(&(df_structure->material_str)) - reinterpret_cast(df_structure); - p_table["metal_ore_str"] = reinterpret_cast(&(df_structure->metal_ore_str)) - reinterpret_cast(df_structure); - p_table["contains_str"] = reinterpret_cast(&(df_structure->contains_str)) - reinterpret_cast(df_structure); -} - -void generate_reaction_product_itemst__T_get_material_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["reagent_code"] = reinterpret_cast(&(df_structure->reagent_code)) - reinterpret_cast(df_structure); - p_table["product_code"] = reinterpret_cast(&(df_structure->product_code)) - reinterpret_cast(df_structure); -} - -void generate_reaction_product_itemst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); - p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["probability"] = reinterpret_cast(&(df_structure->probability)) - reinterpret_cast(df_structure); - p_table["count"] = reinterpret_cast(&(df_structure->count)) - reinterpret_cast(df_structure); - p_table["product_dimension"] = reinterpret_cast(&(df_structure->product_dimension)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["get_material"] = reinterpret_cast(&(df_structure->get_material)) - reinterpret_cast(df_structure); - p_table["item_str"] = reinterpret_cast(&(df_structure->item_str)) - reinterpret_cast(df_structure); - p_table["material_str"] = reinterpret_cast(&(df_structure->material_str)) - reinterpret_cast(df_structure); -} - -void generate_reaction_product_item_improvementst__T_get_material_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["reagent_code"] = reinterpret_cast(&(df_structure->reagent_code)) - reinterpret_cast(df_structure); - p_table["product_code"] = reinterpret_cast(&(df_structure->product_code)) - reinterpret_cast(df_structure); -} - -void generate_reaction_product_item_improvementst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["target_reagent"] = reinterpret_cast(&(df_structure->target_reagent)) - reinterpret_cast(df_structure); - p_table["improvement_type"] = reinterpret_cast(&(df_structure->improvement_type)) - reinterpret_cast(df_structure); - p_table["improvement_specific_type"] = reinterpret_cast(&(df_structure->improvement_specific_type)) - reinterpret_cast(df_structure); - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["probability"] = reinterpret_cast(&(df_structure->probability)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["get_material"] = reinterpret_cast(&(df_structure->get_material)) - reinterpret_cast(df_structure); - p_table["material_str"] = reinterpret_cast(&(df_structure->material_str)) - reinterpret_cast(df_structure); - p_table["unk_v4201_2"] = reinterpret_cast(&(df_structure->unk_v4201_2)) - reinterpret_cast(df_structure); -} - -void generate_general_ref_item_type_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["subtype"] = reinterpret_cast(&(df_structure->subtype)) - reinterpret_cast(df_structure); - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); -} - -void generate_general_ref_mapsquare_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["tiletype"] = reinterpret_cast(&(df_structure->tiletype)) - reinterpret_cast(df_structure); - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); -} - -void generate_general_ref_spherest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["sphere_type"] = reinterpret_cast(&(df_structure->sphere_type)) - reinterpret_cast(df_structure); -} - -void generate_general_ref_knowledge_scholar_flagst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["knowledge"] = reinterpret_cast(&(df_structure->knowledge)) - reinterpret_cast(df_structure); -} - -void generate_general_ref_value_levelst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["value"] = reinterpret_cast(&(df_structure->value)) - reinterpret_cast(df_structure); - p_table["level"] = reinterpret_cast(&(df_structure->level)) - reinterpret_cast(df_structure); -} - -void generate_specific_ref__T_arg2_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["wrestle"] = reinterpret_cast(&(df_structure->wrestle)) - reinterpret_cast(df_structure); -} - -void generate_specific_ref_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["object"] = reinterpret_cast(&(df_structure->object)) - reinterpret_cast(df_structure); - p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); - p_table["activity"] = reinterpret_cast(&(df_structure->activity)) - reinterpret_cast(df_structure); - p_table["screen"] = reinterpret_cast(&(df_structure->screen)) - reinterpret_cast(df_structure); - p_table["vermin"] = reinterpret_cast(&(df_structure->vermin)) - reinterpret_cast(df_structure); - p_table["effect"] = reinterpret_cast(&(df_structure->effect)) - reinterpret_cast(df_structure); - p_table["job"] = reinterpret_cast(&(df_structure->job)) - reinterpret_cast(df_structure); - p_table["arg2"] = reinterpret_cast(&(df_structure->arg2)) - reinterpret_cast(df_structure); -} - -void generate_meeting_variable_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["value"] = reinterpret_cast(&(df_structure->value)) - reinterpret_cast(df_structure); - p_table["ref"] = reinterpret_cast(&(df_structure->ref)) - reinterpret_cast(df_structure); - p_table["active_var"] = reinterpret_cast(&(df_structure->active_var)) - reinterpret_cast(df_structure); -} - -void generate_entity_entity_link_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["target"] = reinterpret_cast(&(df_structure->target)) - reinterpret_cast(df_structure); - p_table["strength"] = reinterpret_cast(&(df_structure->strength)) - reinterpret_cast(df_structure); -} - -void generate_entity_site_link__T_anon_8_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); -} - -void generate_entity_site_link_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["target"] = reinterpret_cast(&(df_structure->target)) - reinterpret_cast(df_structure); - p_table["entity_id"] = reinterpret_cast(&(df_structure->entity_id)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["link_strength"] = reinterpret_cast(&(df_structure->link_strength)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); - p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); - p_table["target_site_x"] = reinterpret_cast(&(df_structure->target_site_x)) - reinterpret_cast(df_structure); - p_table["target_site_y"] = reinterpret_cast(&(df_structure->target_site_y)) - reinterpret_cast(df_structure); - p_table["unk_v43_1"] = reinterpret_cast(&(df_structure->unk_v43_1)) - reinterpret_cast(df_structure); - p_table["unk_v43_2"] = reinterpret_cast(&(df_structure->unk_v43_2)) - reinterpret_cast(df_structure); -} - -void generate_resource_allotment_data__T_unk_654_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk_0"] = reinterpret_cast(&(df_structure->unk_0)) - reinterpret_cast(df_structure); - p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); - p_table["unk_14"] = reinterpret_cast(&(df_structure->unk_14)) - reinterpret_cast(df_structure); - p_table["unk_24"] = reinterpret_cast(&(df_structure->unk_24)) - reinterpret_cast(df_structure); -} - -void generate_resource_allotment_data_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["index"] = reinterpret_cast(&(df_structure->index)) - reinterpret_cast(df_structure); - p_table["resource_allotments"] = reinterpret_cast(&(df_structure->resource_allotments)) - reinterpret_cast(df_structure); - p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); - p_table["unk2"] = reinterpret_cast(&(df_structure->unk2)) - reinterpret_cast(df_structure); - p_table["unk3"] = reinterpret_cast(&(df_structure->unk3)) - reinterpret_cast(df_structure); - p_table["unk_650"] = reinterpret_cast(&(df_structure->unk_650)) - reinterpret_cast(df_structure); - p_table["unk_654"] = reinterpret_cast(&(df_structure->unk_654)) - reinterpret_cast(df_structure); -} - -void generate_stockpile_settings__T_animals_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["empty_cages"] = reinterpret_cast(&(df_structure->empty_cages)) - reinterpret_cast(df_structure); - p_table["empty_traps"] = reinterpret_cast(&(df_structure->empty_traps)) - reinterpret_cast(df_structure); - p_table["enabled"] = reinterpret_cast(&(df_structure->enabled)) - reinterpret_cast(df_structure); -} - -void generate_stockpile_settings__T_food_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["meat"] = reinterpret_cast(&(df_structure->meat)) - reinterpret_cast(df_structure); - p_table["fish"] = reinterpret_cast(&(df_structure->fish)) - reinterpret_cast(df_structure); - p_table["unprepared_fish"] = reinterpret_cast(&(df_structure->unprepared_fish)) - reinterpret_cast(df_structure); - p_table["egg"] = reinterpret_cast(&(df_structure->egg)) - reinterpret_cast(df_structure); - p_table["plants"] = reinterpret_cast(&(df_structure->plants)) - reinterpret_cast(df_structure); - p_table["drink_plant"] = reinterpret_cast(&(df_structure->drink_plant)) - reinterpret_cast(df_structure); - p_table["drink_animal"] = reinterpret_cast(&(df_structure->drink_animal)) - reinterpret_cast(df_structure); - p_table["cheese_plant"] = reinterpret_cast(&(df_structure->cheese_plant)) - reinterpret_cast(df_structure); - p_table["cheese_animal"] = reinterpret_cast(&(df_structure->cheese_animal)) - reinterpret_cast(df_structure); - p_table["seeds"] = reinterpret_cast(&(df_structure->seeds)) - reinterpret_cast(df_structure); - p_table["leaves"] = reinterpret_cast(&(df_structure->leaves)) - reinterpret_cast(df_structure); - p_table["powder_plant"] = reinterpret_cast(&(df_structure->powder_plant)) - reinterpret_cast(df_structure); - p_table["powder_creature"] = reinterpret_cast(&(df_structure->powder_creature)) - reinterpret_cast(df_structure); - p_table["glob"] = reinterpret_cast(&(df_structure->glob)) - reinterpret_cast(df_structure); - p_table["glob_paste"] = reinterpret_cast(&(df_structure->glob_paste)) - reinterpret_cast(df_structure); - p_table["glob_pressed"] = reinterpret_cast(&(df_structure->glob_pressed)) - reinterpret_cast(df_structure); - p_table["liquid_plant"] = reinterpret_cast(&(df_structure->liquid_plant)) - reinterpret_cast(df_structure); - p_table["liquid_animal"] = reinterpret_cast(&(df_structure->liquid_animal)) - reinterpret_cast(df_structure); - p_table["liquid_misc"] = reinterpret_cast(&(df_structure->liquid_misc)) - reinterpret_cast(df_structure); - p_table["prepared_meals"] = reinterpret_cast(&(df_structure->prepared_meals)) - reinterpret_cast(df_structure); -} - -void generate_stockpile_settings__T_furniture_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["other_mats"] = reinterpret_cast(&(df_structure->other_mats)) - reinterpret_cast(df_structure); - p_table["mats"] = reinterpret_cast(&(df_structure->mats)) - reinterpret_cast(df_structure); - p_table["quality_core"] = reinterpret_cast(&(df_structure->quality_core)) - reinterpret_cast(df_structure); - p_table["quality_total"] = reinterpret_cast(&(df_structure->quality_total)) - reinterpret_cast(df_structure); - p_table["sand_bags"] = reinterpret_cast(&(df_structure->sand_bags)) - reinterpret_cast(df_structure); -} - -void generate_stockpile_settings__T_refuse_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["corpses"] = reinterpret_cast(&(df_structure->corpses)) - reinterpret_cast(df_structure); - p_table["body_parts"] = reinterpret_cast(&(df_structure->body_parts)) - reinterpret_cast(df_structure); - p_table["skulls"] = reinterpret_cast(&(df_structure->skulls)) - reinterpret_cast(df_structure); - p_table["bones"] = reinterpret_cast(&(df_structure->bones)) - reinterpret_cast(df_structure); - p_table["hair"] = reinterpret_cast(&(df_structure->hair)) - reinterpret_cast(df_structure); - p_table["shells"] = reinterpret_cast(&(df_structure->shells)) - reinterpret_cast(df_structure); - p_table["teeth"] = reinterpret_cast(&(df_structure->teeth)) - reinterpret_cast(df_structure); - p_table["horns"] = reinterpret_cast(&(df_structure->horns)) - reinterpret_cast(df_structure); - p_table["fresh_raw_hide"] = reinterpret_cast(&(df_structure->fresh_raw_hide)) - reinterpret_cast(df_structure); - p_table["rotten_raw_hide"] = reinterpret_cast(&(df_structure->rotten_raw_hide)) - reinterpret_cast(df_structure); -} - -void generate_stockpile_settings__T_stone_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mats"] = reinterpret_cast(&(df_structure->mats)) - reinterpret_cast(df_structure); -} - -void generate_stockpile_settings__T_ore_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mats"] = reinterpret_cast(&(df_structure->mats)) - reinterpret_cast(df_structure); -} - -void generate_stockpile_settings__T_ammo_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["other_mats"] = reinterpret_cast(&(df_structure->other_mats)) - reinterpret_cast(df_structure); - p_table["mats"] = reinterpret_cast(&(df_structure->mats)) - reinterpret_cast(df_structure); - p_table["quality_core"] = reinterpret_cast(&(df_structure->quality_core)) - reinterpret_cast(df_structure); - p_table["quality_total"] = reinterpret_cast(&(df_structure->quality_total)) - reinterpret_cast(df_structure); -} - -void generate_stockpile_settings__T_coins_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mats"] = reinterpret_cast(&(df_structure->mats)) - reinterpret_cast(df_structure); -} - -void generate_stockpile_settings__T_bars_blocks_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["bars_other_mats"] = reinterpret_cast(&(df_structure->bars_other_mats)) - reinterpret_cast(df_structure); - p_table["blocks_other_mats"] = reinterpret_cast(&(df_structure->blocks_other_mats)) - reinterpret_cast(df_structure); - p_table["bars_mats"] = reinterpret_cast(&(df_structure->bars_mats)) - reinterpret_cast(df_structure); - p_table["blocks_mats"] = reinterpret_cast(&(df_structure->blocks_mats)) - reinterpret_cast(df_structure); -} - -void generate_stockpile_settings__T_gems_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["rough_other_mats"] = reinterpret_cast(&(df_structure->rough_other_mats)) - reinterpret_cast(df_structure); - p_table["cut_other_mats"] = reinterpret_cast(&(df_structure->cut_other_mats)) - reinterpret_cast(df_structure); - p_table["rough_mats"] = reinterpret_cast(&(df_structure->rough_mats)) - reinterpret_cast(df_structure); - p_table["cut_mats"] = reinterpret_cast(&(df_structure->cut_mats)) - reinterpret_cast(df_structure); -} - -void generate_stockpile_settings__T_finished_goods_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["other_mats"] = reinterpret_cast(&(df_structure->other_mats)) - reinterpret_cast(df_structure); - p_table["mats"] = reinterpret_cast(&(df_structure->mats)) - reinterpret_cast(df_structure); - p_table["quality_core"] = reinterpret_cast(&(df_structure->quality_core)) - reinterpret_cast(df_structure); - p_table["quality_total"] = reinterpret_cast(&(df_structure->quality_total)) - reinterpret_cast(df_structure); -} - -void generate_stockpile_settings__T_leather_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mats"] = reinterpret_cast(&(df_structure->mats)) - reinterpret_cast(df_structure); -} - -void generate_stockpile_settings__T_cloth_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["thread_silk"] = reinterpret_cast(&(df_structure->thread_silk)) - reinterpret_cast(df_structure); - p_table["thread_plant"] = reinterpret_cast(&(df_structure->thread_plant)) - reinterpret_cast(df_structure); - p_table["thread_yarn"] = reinterpret_cast(&(df_structure->thread_yarn)) - reinterpret_cast(df_structure); - p_table["thread_metal"] = reinterpret_cast(&(df_structure->thread_metal)) - reinterpret_cast(df_structure); - p_table["cloth_silk"] = reinterpret_cast(&(df_structure->cloth_silk)) - reinterpret_cast(df_structure); - p_table["cloth_plant"] = reinterpret_cast(&(df_structure->cloth_plant)) - reinterpret_cast(df_structure); - p_table["cloth_yarn"] = reinterpret_cast(&(df_structure->cloth_yarn)) - reinterpret_cast(df_structure); - p_table["cloth_metal"] = reinterpret_cast(&(df_structure->cloth_metal)) - reinterpret_cast(df_structure); -} - -void generate_stockpile_settings__T_wood_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mats"] = reinterpret_cast(&(df_structure->mats)) - reinterpret_cast(df_structure); -} - -void generate_stockpile_settings__T_weapons_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["weapon_type"] = reinterpret_cast(&(df_structure->weapon_type)) - reinterpret_cast(df_structure); - p_table["trapcomp_type"] = reinterpret_cast(&(df_structure->trapcomp_type)) - reinterpret_cast(df_structure); - p_table["other_mats"] = reinterpret_cast(&(df_structure->other_mats)) - reinterpret_cast(df_structure); - p_table["mats"] = reinterpret_cast(&(df_structure->mats)) - reinterpret_cast(df_structure); - p_table["quality_core"] = reinterpret_cast(&(df_structure->quality_core)) - reinterpret_cast(df_structure); - p_table["quality_total"] = reinterpret_cast(&(df_structure->quality_total)) - reinterpret_cast(df_structure); - p_table["usable"] = reinterpret_cast(&(df_structure->usable)) - reinterpret_cast(df_structure); - p_table["unusable"] = reinterpret_cast(&(df_structure->unusable)) - reinterpret_cast(df_structure); -} - -void generate_stockpile_settings__T_armor_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["body"] = reinterpret_cast(&(df_structure->body)) - reinterpret_cast(df_structure); - p_table["head"] = reinterpret_cast(&(df_structure->head)) - reinterpret_cast(df_structure); - p_table["feet"] = reinterpret_cast(&(df_structure->feet)) - reinterpret_cast(df_structure); - p_table["hands"] = reinterpret_cast(&(df_structure->hands)) - reinterpret_cast(df_structure); - p_table["legs"] = reinterpret_cast(&(df_structure->legs)) - reinterpret_cast(df_structure); - p_table["shield"] = reinterpret_cast(&(df_structure->shield)) - reinterpret_cast(df_structure); - p_table["other_mats"] = reinterpret_cast(&(df_structure->other_mats)) - reinterpret_cast(df_structure); - p_table["mats"] = reinterpret_cast(&(df_structure->mats)) - reinterpret_cast(df_structure); - p_table["quality_core"] = reinterpret_cast(&(df_structure->quality_core)) - reinterpret_cast(df_structure); - p_table["quality_total"] = reinterpret_cast(&(df_structure->quality_total)) - reinterpret_cast(df_structure); - p_table["usable"] = reinterpret_cast(&(df_structure->usable)) - reinterpret_cast(df_structure); - p_table["unusable"] = reinterpret_cast(&(df_structure->unusable)) - reinterpret_cast(df_structure); -} - -void generate_stockpile_settings__T_sheet_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["paper"] = reinterpret_cast(&(df_structure->paper)) - reinterpret_cast(df_structure); - p_table["parchment"] = reinterpret_cast(&(df_structure->parchment)) - reinterpret_cast(df_structure); -} - -void generate_stockpile_settings_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["animals"] = reinterpret_cast(&(df_structure->animals)) - reinterpret_cast(df_structure); - p_table["food"] = reinterpret_cast(&(df_structure->food)) - reinterpret_cast(df_structure); - p_table["furniture"] = reinterpret_cast(&(df_structure->furniture)) - reinterpret_cast(df_structure); - p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); - p_table["refuse"] = reinterpret_cast(&(df_structure->refuse)) - reinterpret_cast(df_structure); - p_table["stone"] = reinterpret_cast(&(df_structure->stone)) - reinterpret_cast(df_structure); - p_table["ore"] = reinterpret_cast(&(df_structure->ore)) - reinterpret_cast(df_structure); - p_table["ammo"] = reinterpret_cast(&(df_structure->ammo)) - reinterpret_cast(df_structure); - p_table["coins"] = reinterpret_cast(&(df_structure->coins)) - reinterpret_cast(df_structure); - p_table["bars_blocks"] = reinterpret_cast(&(df_structure->bars_blocks)) - reinterpret_cast(df_structure); - p_table["gems"] = reinterpret_cast(&(df_structure->gems)) - reinterpret_cast(df_structure); - p_table["finished_goods"] = reinterpret_cast(&(df_structure->finished_goods)) - reinterpret_cast(df_structure); - p_table["leather"] = reinterpret_cast(&(df_structure->leather)) - reinterpret_cast(df_structure); - p_table["cloth"] = reinterpret_cast(&(df_structure->cloth)) - reinterpret_cast(df_structure); - p_table["wood"] = reinterpret_cast(&(df_structure->wood)) - reinterpret_cast(df_structure); - p_table["weapons"] = reinterpret_cast(&(df_structure->weapons)) - reinterpret_cast(df_structure); - p_table["armor"] = reinterpret_cast(&(df_structure->armor)) - reinterpret_cast(df_structure); - p_table["sheet"] = reinterpret_cast(&(df_structure->sheet)) - reinterpret_cast(df_structure); - p_table["allow_organic"] = reinterpret_cast(&(df_structure->allow_organic)) - reinterpret_cast(df_structure); - p_table["allow_inorganic"] = reinterpret_cast(&(df_structure->allow_inorganic)) - reinterpret_cast(df_structure); -} - -void generate_building_stockpilest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["settings"] = reinterpret_cast(&(df_structure->settings)) - reinterpret_cast(df_structure); - p_table["max_barrels"] = reinterpret_cast(&(df_structure->max_barrels)) - reinterpret_cast(df_structure); - p_table["max_bins"] = reinterpret_cast(&(df_structure->max_bins)) - reinterpret_cast(df_structure); - p_table["max_wheelbarrows"] = reinterpret_cast(&(df_structure->max_wheelbarrows)) - reinterpret_cast(df_structure); - p_table["container_type"] = reinterpret_cast(&(df_structure->container_type)) - reinterpret_cast(df_structure); - p_table["container_item_id"] = reinterpret_cast(&(df_structure->container_item_id)) - reinterpret_cast(df_structure); - p_table["container_x"] = reinterpret_cast(&(df_structure->container_x)) - reinterpret_cast(df_structure); - p_table["container_y"] = reinterpret_cast(&(df_structure->container_y)) - reinterpret_cast(df_structure); - p_table["links"] = reinterpret_cast(&(df_structure->links)) - reinterpret_cast(df_structure); - p_table["use_links_only"] = reinterpret_cast(&(df_structure->use_links_only)) - reinterpret_cast(df_structure); - p_table["stockpile_number"] = reinterpret_cast(&(df_structure->stockpile_number)) - reinterpret_cast(df_structure); - p_table["linked_stops"] = reinterpret_cast(&(df_structure->linked_stops)) - reinterpret_cast(df_structure); -} - -void generate_hauling_route_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["stops"] = reinterpret_cast(&(df_structure->stops)) - reinterpret_cast(df_structure); - p_table["vehicle_ids"] = reinterpret_cast(&(df_structure->vehicle_ids)) - reinterpret_cast(df_structure); - p_table["vehicle_stops"] = reinterpret_cast(&(df_structure->vehicle_stops)) - reinterpret_cast(df_structure); -} - -void generate_hauling_stop_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["pos"] = reinterpret_cast(&(df_structure->pos)) - reinterpret_cast(df_structure); - p_table["settings"] = reinterpret_cast(&(df_structure->settings)) - reinterpret_cast(df_structure); - p_table["conditions"] = reinterpret_cast(&(df_structure->conditions)) - reinterpret_cast(df_structure); - p_table["stockpiles"] = reinterpret_cast(&(df_structure->stockpiles)) - reinterpret_cast(df_structure); - p_table["time_waiting"] = reinterpret_cast(&(df_structure->time_waiting)) - reinterpret_cast(df_structure); - p_table["cart_id"] = reinterpret_cast(&(df_structure->cart_id)) - reinterpret_cast(df_structure); -} - -void generate_stop_depart_condition_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["timeout"] = reinterpret_cast(&(df_structure->timeout)) - reinterpret_cast(df_structure); - p_table["direction"] = reinterpret_cast(&(df_structure->direction)) - reinterpret_cast(df_structure); - p_table["mode"] = reinterpret_cast(&(df_structure->mode)) - reinterpret_cast(df_structure); - p_table["load_percent"] = reinterpret_cast(&(df_structure->load_percent)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["guide_path"] = reinterpret_cast(&(df_structure->guide_path)) - reinterpret_cast(df_structure); -} - -void generate_vehicle_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["item_id"] = reinterpret_cast(&(df_structure->item_id)) - reinterpret_cast(df_structure); - p_table["offset_x"] = reinterpret_cast(&(df_structure->offset_x)) - reinterpret_cast(df_structure); - p_table["offset_y"] = reinterpret_cast(&(df_structure->offset_y)) - reinterpret_cast(df_structure); - p_table["offset_z"] = reinterpret_cast(&(df_structure->offset_z)) - reinterpret_cast(df_structure); - p_table["speed_x"] = reinterpret_cast(&(df_structure->speed_x)) - reinterpret_cast(df_structure); - p_table["speed_y"] = reinterpret_cast(&(df_structure->speed_y)) - reinterpret_cast(df_structure); - p_table["speed_z"] = reinterpret_cast(&(df_structure->speed_z)) - reinterpret_cast(df_structure); - p_table["unk_20"] = reinterpret_cast(&(df_structure->unk_20)) - reinterpret_cast(df_structure); - p_table["unk_24"] = reinterpret_cast(&(df_structure->unk_24)) - reinterpret_cast(df_structure); - p_table["unk_28"] = reinterpret_cast(&(df_structure->unk_28)) - reinterpret_cast(df_structure); - p_table["unk_2c"] = reinterpret_cast(&(df_structure->unk_2c)) - reinterpret_cast(df_structure); - p_table["route_id"] = reinterpret_cast(&(df_structure->route_id)) - reinterpret_cast(df_structure); - p_table["pos"] = reinterpret_cast(&(df_structure->pos)) - reinterpret_cast(df_structure); - p_table["time_stopped"] = reinterpret_cast(&(df_structure->time_stopped)) - reinterpret_cast(df_structure); -} - -void generate_creature_interaction_effect_target_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mode"] = reinterpret_cast(&(df_structure->mode)) - reinterpret_cast(df_structure); - p_table["key"] = reinterpret_cast(&(df_structure->key)) - reinterpret_cast(df_structure); - p_table["tissue"] = reinterpret_cast(&(df_structure->tissue)) - reinterpret_cast(df_structure); -} - -void generate_creature_interaction_effect__T_counter_trigger_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["counter"] = reinterpret_cast(&(df_structure->counter)) - reinterpret_cast(df_structure); - p_table["minval"] = reinterpret_cast(&(df_structure->minval)) - reinterpret_cast(df_structure); - p_table["maxval"] = reinterpret_cast(&(df_structure->maxval)) - reinterpret_cast(df_structure); - p_table["required"] = reinterpret_cast(&(df_structure->required)) - reinterpret_cast(df_structure); -} - -void generate_creature_interaction_effect_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["prob"] = reinterpret_cast(&(df_structure->prob)) - reinterpret_cast(df_structure); - p_table["start"] = reinterpret_cast(&(df_structure->start)) - reinterpret_cast(df_structure); - p_table["peak"] = reinterpret_cast(&(df_structure->peak)) - reinterpret_cast(df_structure); - p_table["end"] = reinterpret_cast(&(df_structure->end)) - reinterpret_cast(df_structure); - p_table["dwf_stretch"] = reinterpret_cast(&(df_structure->dwf_stretch)) - reinterpret_cast(df_structure); - p_table["syn_id"] = reinterpret_cast(&(df_structure->syn_id)) - reinterpret_cast(df_structure); - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["syn_index"] = reinterpret_cast(&(df_structure->syn_index)) - reinterpret_cast(df_structure); - p_table["moon_phase_min"] = reinterpret_cast(&(df_structure->moon_phase_min)) - reinterpret_cast(df_structure); - p_table["moon_phase_max"] = reinterpret_cast(&(df_structure->moon_phase_max)) - reinterpret_cast(df_structure); - p_table["counter_trigger"] = reinterpret_cast(&(df_structure->counter_trigger)) - reinterpret_cast(df_structure); -} - -void generate_creature_interaction_effect_painst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["sev"] = reinterpret_cast(&(df_structure->sev)) - reinterpret_cast(df_structure); - p_table["target"] = reinterpret_cast(&(df_structure->target)) - reinterpret_cast(df_structure); -} - -void generate_creature_interaction_effect_swellingst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["sev"] = reinterpret_cast(&(df_structure->sev)) - reinterpret_cast(df_structure); - p_table["target"] = reinterpret_cast(&(df_structure->target)) - reinterpret_cast(df_structure); -} - -void generate_creature_interaction_effect_oozingst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["sev"] = reinterpret_cast(&(df_structure->sev)) - reinterpret_cast(df_structure); - p_table["target"] = reinterpret_cast(&(df_structure->target)) - reinterpret_cast(df_structure); -} - -void generate_creature_interaction_effect_bruisingst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["sev"] = reinterpret_cast(&(df_structure->sev)) - reinterpret_cast(df_structure); - p_table["target"] = reinterpret_cast(&(df_structure->target)) - reinterpret_cast(df_structure); -} - -void generate_creature_interaction_effect_blistersst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["sev"] = reinterpret_cast(&(df_structure->sev)) - reinterpret_cast(df_structure); - p_table["target"] = reinterpret_cast(&(df_structure->target)) - reinterpret_cast(df_structure); -} - -void generate_creature_interaction_effect_numbnessst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["sev"] = reinterpret_cast(&(df_structure->sev)) - reinterpret_cast(df_structure); - p_table["target"] = reinterpret_cast(&(df_structure->target)) - reinterpret_cast(df_structure); -} - -void generate_creature_interaction_effect_paralysisst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["sev"] = reinterpret_cast(&(df_structure->sev)) - reinterpret_cast(df_structure); - p_table["target"] = reinterpret_cast(&(df_structure->target)) - reinterpret_cast(df_structure); -} - -void generate_creature_interaction_effect_feverst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["sev"] = reinterpret_cast(&(df_structure->sev)) - reinterpret_cast(df_structure); -} - -void generate_creature_interaction_effect_bleedingst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["sev"] = reinterpret_cast(&(df_structure->sev)) - reinterpret_cast(df_structure); - p_table["target"] = reinterpret_cast(&(df_structure->target)) - reinterpret_cast(df_structure); -} - -void generate_creature_interaction_effect_cough_bloodst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["sev"] = reinterpret_cast(&(df_structure->sev)) - reinterpret_cast(df_structure); -} - -void generate_creature_interaction_effect_vomit_bloodst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["sev"] = reinterpret_cast(&(df_structure->sev)) - reinterpret_cast(df_structure); -} - -void generate_creature_interaction_effect_nauseast_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["sev"] = reinterpret_cast(&(df_structure->sev)) - reinterpret_cast(df_structure); -} - -void generate_creature_interaction_effect_unconsciousnessst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["sev"] = reinterpret_cast(&(df_structure->sev)) - reinterpret_cast(df_structure); -} - -void generate_creature_interaction_effect_necrosisst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["sev"] = reinterpret_cast(&(df_structure->sev)) - reinterpret_cast(df_structure); - p_table["target"] = reinterpret_cast(&(df_structure->target)) - reinterpret_cast(df_structure); -} - -void generate_creature_interaction_effect_impair_functionst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["sev"] = reinterpret_cast(&(df_structure->sev)) - reinterpret_cast(df_structure); - p_table["target"] = reinterpret_cast(&(df_structure->target)) - reinterpret_cast(df_structure); -} - -void generate_creature_interaction_effect_drowsinessst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["sev"] = reinterpret_cast(&(df_structure->sev)) - reinterpret_cast(df_structure); -} - -void generate_creature_interaction_effect_dizzinessst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["sev"] = reinterpret_cast(&(df_structure->sev)) - reinterpret_cast(df_structure); -} - -void generate_creature_interaction_effect_display_namest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["name_plural"] = reinterpret_cast(&(df_structure->name_plural)) - reinterpret_cast(df_structure); - p_table["name_adj"] = reinterpret_cast(&(df_structure->name_adj)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_creature_interaction_effect_body_appearance_modifierst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk_60"] = reinterpret_cast(&(df_structure->unk_60)) - reinterpret_cast(df_structure); - p_table["unk_64"] = reinterpret_cast(&(df_structure->unk_64)) - reinterpret_cast(df_structure); -} - -void generate_creature_interaction_effect_bp_appearance_modifierst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk_6c"] = reinterpret_cast(&(df_structure->unk_6c)) - reinterpret_cast(df_structure); - p_table["value"] = reinterpret_cast(&(df_structure->value)) - reinterpret_cast(df_structure); - p_table["target"] = reinterpret_cast(&(df_structure->target)) - reinterpret_cast(df_structure); -} - -void generate_creature_interaction_effect_body_transformationst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["chance"] = reinterpret_cast(&(df_structure->chance)) - reinterpret_cast(df_structure); - p_table["race_str"] = reinterpret_cast(&(df_structure->race_str)) - reinterpret_cast(df_structure); - p_table["caste_str"] = reinterpret_cast(&(df_structure->caste_str)) - reinterpret_cast(df_structure); - p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); - p_table["caste"] = reinterpret_cast(&(df_structure->caste)) - reinterpret_cast(df_structure); -} - -void generate_creature_interaction_effect_skill_roll_adjustst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["multiplier"] = reinterpret_cast(&(df_structure->multiplier)) - reinterpret_cast(df_structure); - p_table["chance"] = reinterpret_cast(&(df_structure->chance)) - reinterpret_cast(df_structure); -} - -void generate_creature_interaction_effect_display_symbolst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["tile"] = reinterpret_cast(&(df_structure->tile)) - reinterpret_cast(df_structure); - p_table["color"] = reinterpret_cast(&(df_structure->color)) - reinterpret_cast(df_structure); -} - -void generate_creature_interaction_effect_flash_symbolst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["sym_color"] = reinterpret_cast(&(df_structure->sym_color)) - reinterpret_cast(df_structure); - p_table["period"] = reinterpret_cast(&(df_structure->period)) - reinterpret_cast(df_structure); - p_table["time"] = reinterpret_cast(&(df_structure->time)) - reinterpret_cast(df_structure); - p_table["unk_78"] = reinterpret_cast(&(df_structure->unk_78)) - reinterpret_cast(df_structure); -} - -void generate_creature_interaction_effect_phys_att_changest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["phys_att_perc"] = reinterpret_cast(&(df_structure->phys_att_perc)) - reinterpret_cast(df_structure); - p_table["phys_att_add"] = reinterpret_cast(&(df_structure->phys_att_add)) - reinterpret_cast(df_structure); -} - -void generate_creature_interaction_effect_ment_att_changest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["ment_att_perc"] = reinterpret_cast(&(df_structure->ment_att_perc)) - reinterpret_cast(df_structure); - p_table["ment_att_add"] = reinterpret_cast(&(df_structure->ment_att_add)) - reinterpret_cast(df_structure); -} - -void generate_creature_interaction_effect_add_simple_flagst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["tags1"] = reinterpret_cast(&(df_structure->tags1)) - reinterpret_cast(df_structure); - p_table["tags2"] = reinterpret_cast(&(df_structure->tags2)) - reinterpret_cast(df_structure); -} - -void generate_creature_interaction_effect_remove_simple_flagst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["tags1"] = reinterpret_cast(&(df_structure->tags1)) - reinterpret_cast(df_structure); - p_table["tags2"] = reinterpret_cast(&(df_structure->tags2)) - reinterpret_cast(df_structure); -} - -void generate_creature_interaction_effect_speed_changest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["bonus_add"] = reinterpret_cast(&(df_structure->bonus_add)) - reinterpret_cast(df_structure); - p_table["bonus_perc"] = reinterpret_cast(&(df_structure->bonus_perc)) - reinterpret_cast(df_structure); -} - -void generate_creature_interaction_effect_body_mat_interactionst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk_6c"] = reinterpret_cast(&(df_structure->unk_6c)) - reinterpret_cast(df_structure); - p_table["unk_88"] = reinterpret_cast(&(df_structure->unk_88)) - reinterpret_cast(df_structure); - p_table["unk_8c"] = reinterpret_cast(&(df_structure->unk_8c)) - reinterpret_cast(df_structure); - p_table["unk_90"] = reinterpret_cast(&(df_structure->unk_90)) - reinterpret_cast(df_structure); - p_table["unk_94"] = reinterpret_cast(&(df_structure->unk_94)) - reinterpret_cast(df_structure); -} - -void generate_creature_interaction_effect_material_force_adjustst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk_6c"] = reinterpret_cast(&(df_structure->unk_6c)) - reinterpret_cast(df_structure); - p_table["unk_88"] = reinterpret_cast(&(df_structure->unk_88)) - reinterpret_cast(df_structure); - p_table["unk_a4"] = reinterpret_cast(&(df_structure->unk_a4)) - reinterpret_cast(df_structure); - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["fraction_mul"] = reinterpret_cast(&(df_structure->fraction_mul)) - reinterpret_cast(df_structure); - p_table["fraction_div"] = reinterpret_cast(&(df_structure->fraction_div)) - reinterpret_cast(df_structure); -} - -void generate_creature_interaction_effect_can_do_interactionst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["interaction"] = reinterpret_cast(&(df_structure->interaction)) - reinterpret_cast(df_structure); -} - -void generate_creature_interaction_effect_sense_creature_classst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["class_name"] = reinterpret_cast(&(df_structure->class_name)) - reinterpret_cast(df_structure); - p_table["unk_88"] = reinterpret_cast(&(df_structure->unk_88)) - reinterpret_cast(df_structure); - p_table["unk_8a"] = reinterpret_cast(&(df_structure->unk_8a)) - reinterpret_cast(df_structure); - p_table["unk_8c"] = reinterpret_cast(&(df_structure->unk_8c)) - reinterpret_cast(df_structure); - p_table["unk_8e"] = reinterpret_cast(&(df_structure->unk_8e)) - reinterpret_cast(df_structure); -} - -void generate_creature_interaction_effect_feel_emotionst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["emotion"] = reinterpret_cast(&(df_structure->emotion)) - reinterpret_cast(df_structure); - p_table["sev"] = reinterpret_cast(&(df_structure->sev)) - reinterpret_cast(df_structure); -} - -void generate_creature_interaction_effect_change_personalityst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["facets"] = reinterpret_cast(&(df_structure->facets)) - reinterpret_cast(df_structure); -} - -void generate_creature_interaction_effect_erratic_behaviorst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["sev"] = reinterpret_cast(&(df_structure->sev)) - reinterpret_cast(df_structure); -} - -void generate_syndrome_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["syn_name"] = reinterpret_cast(&(df_structure->syn_name)) - reinterpret_cast(df_structure); - p_table["ce"] = reinterpret_cast(&(df_structure->ce)) - reinterpret_cast(df_structure); - p_table["syn_affected_class"] = reinterpret_cast(&(df_structure->syn_affected_class)) - reinterpret_cast(df_structure); - p_table["syn_affected_creature"] = reinterpret_cast(&(df_structure->syn_affected_creature)) - reinterpret_cast(df_structure); - p_table["syn_affected_caste"] = reinterpret_cast(&(df_structure->syn_affected_caste)) - reinterpret_cast(df_structure); - p_table["syn_immune_class"] = reinterpret_cast(&(df_structure->syn_immune_class)) - reinterpret_cast(df_structure); - p_table["syn_immune_creature"] = reinterpret_cast(&(df_structure->syn_immune_creature)) - reinterpret_cast(df_structure); - p_table["syn_immune_caste"] = reinterpret_cast(&(df_structure->syn_immune_caste)) - reinterpret_cast(df_structure); - p_table["syn_class"] = reinterpret_cast(&(df_structure->syn_class)) - reinterpret_cast(df_structure); - p_table["syn_identifier"] = reinterpret_cast(&(df_structure->syn_identifier)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["syn_concentration_added"] = reinterpret_cast(&(df_structure->syn_concentration_added)) - reinterpret_cast(df_structure); - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); -} - -void generate_ui_build_item_req_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["filter"] = reinterpret_cast(&(df_structure->filter)) - reinterpret_cast(df_structure); - p_table["candidates"] = reinterpret_cast(&(df_structure->candidates)) - reinterpret_cast(df_structure); - p_table["candidate_selected"] = reinterpret_cast(&(df_structure->candidate_selected)) - reinterpret_cast(df_structure); - p_table["unk_a0"] = reinterpret_cast(&(df_structure->unk_a0)) - reinterpret_cast(df_structure); - p_table["candidate_enabled"] = reinterpret_cast(&(df_structure->candidate_enabled)) - reinterpret_cast(df_structure); - p_table["count_required"] = reinterpret_cast(&(df_structure->count_required)) - reinterpret_cast(df_structure); - p_table["count_max"] = reinterpret_cast(&(df_structure->count_max)) - reinterpret_cast(df_structure); - p_table["count_provided"] = reinterpret_cast(&(df_structure->count_provided)) - reinterpret_cast(df_structure); -} - -void generate_build_req_choice_genst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); - p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["candidates"] = reinterpret_cast(&(df_structure->candidates)) - reinterpret_cast(df_structure); - p_table["used_count"] = reinterpret_cast(&(df_structure->used_count)) - reinterpret_cast(df_structure); -} - -void generate_build_req_choice_specst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["candidate"] = reinterpret_cast(&(df_structure->candidate)) - reinterpret_cast(df_structure); - p_table["candidate_id"] = reinterpret_cast(&(df_structure->candidate_id)) - reinterpret_cast(df_structure); -} - -void generate_ui_build_selector_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["requirements"] = reinterpret_cast(&(df_structure->requirements)) - reinterpret_cast(df_structure); - p_table["choices"] = reinterpret_cast(&(df_structure->choices)) - reinterpret_cast(df_structure); - p_table["building_type"] = reinterpret_cast(&(df_structure->building_type)) - reinterpret_cast(df_structure); - p_table["building_subtype"] = reinterpret_cast(&(df_structure->building_subtype)) - reinterpret_cast(df_structure); - p_table["custom_type"] = reinterpret_cast(&(df_structure->custom_type)) - reinterpret_cast(df_structure); - p_table["stage"] = reinterpret_cast(&(df_structure->stage)) - reinterpret_cast(df_structure); - p_table["req_index"] = reinterpret_cast(&(df_structure->req_index)) - reinterpret_cast(df_structure); - p_table["sel_index"] = reinterpret_cast(&(df_structure->sel_index)) - reinterpret_cast(df_structure); - p_table["is_grouped"] = reinterpret_cast(&(df_structure->is_grouped)) - reinterpret_cast(df_structure); - p_table["errors"] = reinterpret_cast(&(df_structure->errors)) - reinterpret_cast(df_structure); - p_table["unk4"] = reinterpret_cast(&(df_structure->unk4)) - reinterpret_cast(df_structure); - p_table["tiles"] = reinterpret_cast(&(df_structure->tiles)) - reinterpret_cast(df_structure); - p_table["unk5_0a"] = reinterpret_cast(&(df_structure->unk5_0a)) - reinterpret_cast(df_structure); - p_table["unk5_0b"] = reinterpret_cast(&(df_structure->unk5_0b)) - reinterpret_cast(df_structure); - p_table["plate_info"] = reinterpret_cast(&(df_structure->plate_info)) - reinterpret_cast(df_structure); - p_table["unk6"] = reinterpret_cast(&(df_structure->unk6)) - reinterpret_cast(df_structure); - p_table["unk7"] = reinterpret_cast(&(df_structure->unk7)) - reinterpret_cast(df_structure); - p_table["friction"] = reinterpret_cast(&(df_structure->friction)) - reinterpret_cast(df_structure); - p_table["use_dump"] = reinterpret_cast(&(df_structure->use_dump)) - reinterpret_cast(df_structure); - p_table["dump_x_shift"] = reinterpret_cast(&(df_structure->dump_x_shift)) - reinterpret_cast(df_structure); - p_table["dump_y_shift"] = reinterpret_cast(&(df_structure->dump_y_shift)) - reinterpret_cast(df_structure); - p_table["speed"] = reinterpret_cast(&(df_structure->speed)) - reinterpret_cast(df_structure); -} - -void generate_interface_button_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["hotkey_id"] = reinterpret_cast(&(df_structure->hotkey_id)) - reinterpret_cast(df_structure); - p_table["is_hidden"] = reinterpret_cast(&(df_structure->is_hidden)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_interface_button_buildingst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["building"] = reinterpret_cast(&(df_structure->building)) - reinterpret_cast(df_structure); -} - -void generate_interface_button_building_category_selectorst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["category_id"] = reinterpret_cast(&(df_structure->category_id)) - reinterpret_cast(df_structure); - p_table["unk_14"] = reinterpret_cast(&(df_structure->unk_14)) - reinterpret_cast(df_structure); -} - -void generate_interface_button_building_material_selectorst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["material_category"] = reinterpret_cast(&(df_structure->material_category)) - reinterpret_cast(df_structure); - p_table["unk_1c"] = reinterpret_cast(&(df_structure->unk_1c)) - reinterpret_cast(df_structure); -} - -void generate_interface_button_building_new_jobst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["job_type"] = reinterpret_cast(&(df_structure->job_type)) - reinterpret_cast(df_structure); - p_table["reaction_name"] = reinterpret_cast(&(df_structure->reaction_name)) - reinterpret_cast(df_structure); - p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); - p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["item_category"] = reinterpret_cast(&(df_structure->item_category)) - reinterpret_cast(df_structure); - p_table["hist_figure_id"] = reinterpret_cast(&(df_structure->hist_figure_id)) - reinterpret_cast(df_structure); - p_table["material_category"] = reinterpret_cast(&(df_structure->material_category)) - reinterpret_cast(df_structure); - p_table["unk_48"] = reinterpret_cast(&(df_structure->unk_48)) - reinterpret_cast(df_structure); - p_table["is_custom"] = reinterpret_cast(&(df_structure->is_custom)) - reinterpret_cast(df_structure); -} - -void generate_interface_button_building_custom_category_selectorst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["category"] = reinterpret_cast(&(df_structure->category)) - reinterpret_cast(df_structure); -} - -void generate_interface_button_constructionst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unused_c"] = reinterpret_cast(&(df_structure->unused_c)) - reinterpret_cast(df_structure); -} - -void generate_interface_button_construction_donest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_interface_button_construction_category_selectorst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["category_id"] = reinterpret_cast(&(df_structure->category_id)) - reinterpret_cast(df_structure); -} - -void generate_interface_button_construction_building_selectorst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["building_type"] = reinterpret_cast(&(df_structure->building_type)) - reinterpret_cast(df_structure); - p_table["building_subtype"] = reinterpret_cast(&(df_structure->building_subtype)) - reinterpret_cast(df_structure); - p_table["custom_type"] = reinterpret_cast(&(df_structure->custom_type)) - reinterpret_cast(df_structure); - p_table["existing_count"] = reinterpret_cast(&(df_structure->existing_count)) - reinterpret_cast(df_structure); -} - -void generate_ui_sidebar_menus__T_designation_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["marker_only"] = reinterpret_cast(&(df_structure->marker_only)) - reinterpret_cast(df_structure); - p_table["priority_set"] = reinterpret_cast(&(df_structure->priority_set)) - reinterpret_cast(df_structure); - p_table["priority"] = reinterpret_cast(&(df_structure->priority)) - reinterpret_cast(df_structure); - p_table["mine_mode"] = reinterpret_cast(&(df_structure->mine_mode)) - reinterpret_cast(df_structure); -} - -void generate_ui_sidebar_menus__T_workshop_job_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["choices_all"] = reinterpret_cast(&(df_structure->choices_all)) - reinterpret_cast(df_structure); - p_table["choices_visible"] = reinterpret_cast(&(df_structure->choices_visible)) - reinterpret_cast(df_structure); - p_table["cursor"] = reinterpret_cast(&(df_structure->cursor)) - reinterpret_cast(df_structure); - p_table["category_id"] = reinterpret_cast(&(df_structure->category_id)) - reinterpret_cast(df_structure); - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["material_category"] = reinterpret_cast(&(df_structure->material_category)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["use_tooltip_lines"] = reinterpret_cast(&(df_structure->use_tooltip_lines)) - reinterpret_cast(df_structure); -} - -void generate_ui_sidebar_menus__T_building_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["choices_all"] = reinterpret_cast(&(df_structure->choices_all)) - reinterpret_cast(df_structure); - p_table["choices_visible"] = reinterpret_cast(&(df_structure->choices_visible)) - reinterpret_cast(df_structure); - p_table["category_id"] = reinterpret_cast(&(df_structure->category_id)) - reinterpret_cast(df_structure); - p_table["cursor"] = reinterpret_cast(&(df_structure->cursor)) - reinterpret_cast(df_structure); -} - -void generate_ui_sidebar_menus__T_zone_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["remove"] = reinterpret_cast(&(df_structure->remove)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["mode"] = reinterpret_cast(&(df_structure->mode)) - reinterpret_cast(df_structure); - p_table["selected"] = reinterpret_cast(&(df_structure->selected)) - reinterpret_cast(df_structure); -} - -void generate_ui_sidebar_menus__T_unit_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["inv_items"] = reinterpret_cast(&(df_structure->inv_items)) - reinterpret_cast(df_structure); - p_table["inv_spatters"] = reinterpret_cast(&(df_structure->inv_spatters)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["in_new_squad"] = reinterpret_cast(&(df_structure->in_new_squad)) - reinterpret_cast(df_structure); - p_table["cursor_uniform"] = reinterpret_cast(&(df_structure->cursor_uniform)) - reinterpret_cast(df_structure); - p_table["unk_88n_cursor"] = reinterpret_cast(&(df_structure->unk_88n_cursor)) - reinterpret_cast(df_structure); - p_table["squads"] = reinterpret_cast(&(df_structure->squads)) - reinterpret_cast(df_structure); - p_table["squad_pos"] = reinterpret_cast(&(df_structure->squad_pos)) - reinterpret_cast(df_structure); - p_table["squad_assn"] = reinterpret_cast(&(df_structure->squad_assn)) - reinterpret_cast(df_structure); - p_table["squad_unk1"] = reinterpret_cast(&(df_structure->squad_unk1)) - reinterpret_cast(df_structure); - p_table["squad_unk2"] = reinterpret_cast(&(df_structure->squad_unk2)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["unk3"] = reinterpret_cast(&(df_structure->unk3)) - reinterpret_cast(df_structure); - p_table["unk4"] = reinterpret_cast(&(df_structure->unk4)) - reinterpret_cast(df_structure); - p_table["squad_list_opened"] = reinterpret_cast(&(df_structure->squad_list_opened)) - reinterpret_cast(df_structure); - p_table["unk5"] = reinterpret_cast(&(df_structure->unk5)) - reinterpret_cast(df_structure); - p_table["rename_squad"] = reinterpret_cast(&(df_structure->rename_squad)) - reinterpret_cast(df_structure); - p_table["unk_88"] = reinterpret_cast(&(df_structure->unk_88)) - reinterpret_cast(df_structure); - p_table["unk_44_11a"] = reinterpret_cast(&(df_structure->unk_44_11a)) - reinterpret_cast(df_structure); - p_table["unk_44_11b"] = reinterpret_cast(&(df_structure->unk_44_11b)) - reinterpret_cast(df_structure); - p_table["unk_44_11c"] = reinterpret_cast(&(df_structure->unk_44_11c)) - reinterpret_cast(df_structure); - p_table["expel_error"] = reinterpret_cast(&(df_structure->expel_error)) - reinterpret_cast(df_structure); -} - -void generate_ui_sidebar_menus__T_hospital_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["selected_line"] = reinterpret_cast(&(df_structure->selected_line)) - reinterpret_cast(df_structure); - p_table["beds"] = reinterpret_cast(&(df_structure->beds)) - reinterpret_cast(df_structure); - p_table["tables"] = reinterpret_cast(&(df_structure->tables)) - reinterpret_cast(df_structure); - p_table["traction_benches"] = reinterpret_cast(&(df_structure->traction_benches)) - reinterpret_cast(df_structure); - p_table["containers"] = reinterpret_cast(&(df_structure->containers)) - reinterpret_cast(df_structure); -} - -void generate_ui_sidebar_menus__T_location_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["list"] = reinterpret_cast(&(df_structure->list)) - reinterpret_cast(df_structure); - p_table["cursor"] = reinterpret_cast(&(df_structure->cursor)) - reinterpret_cast(df_structure); - p_table["deities"] = reinterpret_cast(&(df_structure->deities)) - reinterpret_cast(df_structure); - p_table["cursor_deity"] = reinterpret_cast(&(df_structure->cursor_deity)) - reinterpret_cast(df_structure); - p_table["in_create"] = reinterpret_cast(&(df_structure->in_create)) - reinterpret_cast(df_structure); - p_table["in_choose_deity"] = reinterpret_cast(&(df_structure->in_choose_deity)) - reinterpret_cast(df_structure); -} - -void generate_ui_sidebar_menus__T_job_details_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["job"] = reinterpret_cast(&(df_structure->job)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["detail_type"] = reinterpret_cast(&(df_structure->detail_type)) - reinterpret_cast(df_structure); - p_table["detail_material_type"] = reinterpret_cast(&(df_structure->detail_material_type)) - reinterpret_cast(df_structure); - p_table["detail_cursor"] = reinterpret_cast(&(df_structure->detail_cursor)) - reinterpret_cast(df_structure); - p_table["setting_detail_type"] = reinterpret_cast(&(df_structure->setting_detail_type)) - reinterpret_cast(df_structure); - p_table["unk6"] = reinterpret_cast(&(df_structure->unk6)) - reinterpret_cast(df_structure); - p_table["pos"] = reinterpret_cast(&(df_structure->pos)) - reinterpret_cast(df_structure); - p_table["workshop"] = reinterpret_cast(&(df_structure->workshop)) - reinterpret_cast(df_structure); - p_table["mat_type_visible"] = reinterpret_cast(&(df_structure->mat_type_visible)) - reinterpret_cast(df_structure); - p_table["mat_index_visible"] = reinterpret_cast(&(df_structure->mat_index_visible)) - reinterpret_cast(df_structure); - p_table["mat_amount_visible"] = reinterpret_cast(&(df_structure->mat_amount_visible)) - reinterpret_cast(df_structure); - p_table["mat_type_all"] = reinterpret_cast(&(df_structure->mat_type_all)) - reinterpret_cast(df_structure); - p_table["mat_index_all"] = reinterpret_cast(&(df_structure->mat_index_all)) - reinterpret_cast(df_structure); - p_table["mat_amount_all"] = reinterpret_cast(&(df_structure->mat_amount_all)) - reinterpret_cast(df_structure); - p_table["mat_cursor"] = reinterpret_cast(&(df_structure->mat_cursor)) - reinterpret_cast(df_structure); - p_table["mat_filter"] = reinterpret_cast(&(df_structure->mat_filter)) - reinterpret_cast(df_structure); - p_table["editing_mat_filter"] = reinterpret_cast(&(df_structure->editing_mat_filter)) - reinterpret_cast(df_structure); - p_table["sizes_visible"] = reinterpret_cast(&(df_structure->sizes_visible)) - reinterpret_cast(df_structure); - p_table["sizes_all"] = reinterpret_cast(&(df_structure->sizes_all)) - reinterpret_cast(df_structure); - p_table["size_cursor"] = reinterpret_cast(&(df_structure->size_cursor)) - reinterpret_cast(df_structure); - p_table["size_filter"] = reinterpret_cast(&(df_structure->size_filter)) - reinterpret_cast(df_structure); - p_table["editing_size_filter"] = reinterpret_cast(&(df_structure->editing_size_filter)) - reinterpret_cast(df_structure); - p_table["decoration_types"] = reinterpret_cast(&(df_structure->decoration_types)) - reinterpret_cast(df_structure); - p_table["decoration_cursor"] = reinterpret_cast(&(df_structure->decoration_cursor)) - reinterpret_cast(df_structure); - p_table["selected_display_furniture"] = reinterpret_cast(&(df_structure->selected_display_furniture)) - reinterpret_cast(df_structure); - p_table["displayed_items_cursor"] = reinterpret_cast(&(df_structure->displayed_items_cursor)) - reinterpret_cast(df_structure); -} - -void generate_ui_sidebar_menus__T_unit_cursor_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["list"] = reinterpret_cast(&(df_structure->list)) - reinterpret_cast(df_structure); - p_table["unk_a0"] = reinterpret_cast(&(df_structure->unk_a0)) - reinterpret_cast(df_structure); - p_table["unk_a1"] = reinterpret_cast(&(df_structure->unk_a1)) - reinterpret_cast(df_structure); -} - -void generate_ui_sidebar_menus__T_unit_skills_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["skill_id"] = reinterpret_cast(&(df_structure->skill_id)) - reinterpret_cast(df_structure); - p_table["skill_type"] = reinterpret_cast(&(df_structure->skill_type)) - reinterpret_cast(df_structure); - p_table["skill_subtype"] = reinterpret_cast(&(df_structure->skill_subtype)) - reinterpret_cast(df_structure); -} - -void generate_ui_sidebar_menus__T_barracks_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["squads"] = reinterpret_cast(&(df_structure->squads)) - reinterpret_cast(df_structure); - p_table["uses"] = reinterpret_cast(&(df_structure->uses)) - reinterpret_cast(df_structure); - p_table["in_rename"] = reinterpret_cast(&(df_structure->in_rename)) - reinterpret_cast(df_structure); - p_table["in_positions"] = reinterpret_cast(&(df_structure->in_positions)) - reinterpret_cast(df_structure); - p_table["position_squad"] = reinterpret_cast(&(df_structure->position_squad)) - reinterpret_cast(df_structure); - p_table["position_cursor"] = reinterpret_cast(&(df_structure->position_cursor)) - reinterpret_cast(df_structure); - p_table["in_position_squads"] = reinterpret_cast(&(df_structure->in_position_squads)) - reinterpret_cast(df_structure); - p_table["position_squads"] = reinterpret_cast(&(df_structure->position_squads)) - reinterpret_cast(df_structure); - p_table["position_squad_cursor"] = reinterpret_cast(&(df_structure->position_squad_cursor)) - reinterpret_cast(df_structure); -} - -void generate_ui_sidebar_menus__T_minimap_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["data"] = reinterpret_cast(&(df_structure->data)) - reinterpret_cast(df_structure); - p_table["need_render"] = reinterpret_cast(&(df_structure->need_render)) - reinterpret_cast(df_structure); - p_table["need_scan"] = reinterpret_cast(&(df_structure->need_scan)) - reinterpret_cast(df_structure); - p_table["z_level"] = reinterpret_cast(&(df_structure->z_level)) - reinterpret_cast(df_structure); - p_table["tile"] = reinterpret_cast(&(df_structure->tile)) - reinterpret_cast(df_structure); - p_table["tile_fg"] = reinterpret_cast(&(df_structure->tile_fg)) - reinterpret_cast(df_structure); - p_table["tile_bg"] = reinterpret_cast(&(df_structure->tile_bg)) - reinterpret_cast(df_structure); - p_table["tile_bold"] = reinterpret_cast(&(df_structure->tile_bold)) - reinterpret_cast(df_structure); -} - -void generate_ui_sidebar_menus__T_command_line_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["original"] = reinterpret_cast(&(df_structure->original)) - reinterpret_cast(df_structure); - p_table["arg_vect"] = reinterpret_cast(&(df_structure->arg_vect)) - reinterpret_cast(df_structure); - p_table["gen_id"] = reinterpret_cast(&(df_structure->gen_id)) - reinterpret_cast(df_structure); - p_table["world_seed"] = reinterpret_cast(&(df_structure->world_seed)) - reinterpret_cast(df_structure); - p_table["use_seed"] = reinterpret_cast(&(df_structure->use_seed)) - reinterpret_cast(df_structure); - p_table["world_param"] = reinterpret_cast(&(df_structure->world_param)) - reinterpret_cast(df_structure); - p_table["use_param"] = reinterpret_cast(&(df_structure->use_param)) - reinterpret_cast(df_structure); -} - -void generate_ui_sidebar_menus_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["designation"] = reinterpret_cast(&(df_structure->designation)) - reinterpret_cast(df_structure); - p_table["workshop_job"] = reinterpret_cast(&(df_structure->workshop_job)) - reinterpret_cast(df_structure); - p_table["building"] = reinterpret_cast(&(df_structure->building)) - reinterpret_cast(df_structure); - p_table["zone"] = reinterpret_cast(&(df_structure->zone)) - reinterpret_cast(df_structure); - p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); - p_table["hospital"] = reinterpret_cast(&(df_structure->hospital)) - reinterpret_cast(df_structure); - p_table["location"] = reinterpret_cast(&(df_structure->location)) - reinterpret_cast(df_structure); - p_table["job_details"] = reinterpret_cast(&(df_structure->job_details)) - reinterpret_cast(df_structure); - p_table["unit_cursor"] = reinterpret_cast(&(df_structure->unit_cursor)) - reinterpret_cast(df_structure); - p_table["unit_skills"] = reinterpret_cast(&(df_structure->unit_skills)) - reinterpret_cast(df_structure); - p_table["show_combat"] = reinterpret_cast(&(df_structure->show_combat)) - reinterpret_cast(df_structure); - p_table["show_labor"] = reinterpret_cast(&(df_structure->show_labor)) - reinterpret_cast(df_structure); - p_table["show_misc"] = reinterpret_cast(&(df_structure->show_misc)) - reinterpret_cast(df_structure); - p_table["barracks_squad_cursor"] = reinterpret_cast(&(df_structure->barracks_squad_cursor)) - reinterpret_cast(df_structure); - p_table["barracks"] = reinterpret_cast(&(df_structure->barracks)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["minimap"] = reinterpret_cast(&(df_structure->minimap)) - reinterpret_cast(df_structure); - p_table["command_line"] = reinterpret_cast(&(df_structure->command_line)) - reinterpret_cast(df_structure); - p_table["num_speech_tokens"] = reinterpret_cast(&(df_structure->num_speech_tokens)) - reinterpret_cast(df_structure); - p_table["unk_17d8"] = reinterpret_cast(&(df_structure->unk_17d8)) - reinterpret_cast(df_structure); -} - -void generate_ui_look_list__T_items_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["spatter_item_type"] = reinterpret_cast(&(df_structure->spatter_item_type)) - reinterpret_cast(df_structure); - p_table["spatter_item_subtype"] = reinterpret_cast(&(df_structure->spatter_item_subtype)) - reinterpret_cast(df_structure); - p_table["spatter_mat_type"] = reinterpret_cast(&(df_structure->spatter_mat_type)) - reinterpret_cast(df_structure); - p_table["spatter_mat_index"] = reinterpret_cast(&(df_structure->spatter_mat_index)) - reinterpret_cast(df_structure); - p_table["spatter_mat_state"] = reinterpret_cast(&(df_structure->spatter_mat_state)) - reinterpret_cast(df_structure); - p_table["item"] = reinterpret_cast(&(df_structure->item)) - reinterpret_cast(df_structure); - p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); - p_table["building"] = reinterpret_cast(&(df_structure->building)) - reinterpret_cast(df_structure); - p_table["vermin"] = reinterpret_cast(&(df_structure->vermin)) - reinterpret_cast(df_structure); - p_table["flow"] = reinterpret_cast(&(df_structure->flow)) - reinterpret_cast(df_structure); - p_table["spatter_size"] = reinterpret_cast(&(df_structure->spatter_size)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); -} - -void generate_ui_look_list_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["items"] = reinterpret_cast(&(df_structure->items)) - reinterpret_cast(df_structure); -} - -void generate_ui_unit_view_mode_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["value"] = reinterpret_cast(&(df_structure->value)) - reinterpret_cast(df_structure); -} - -void generate_punishment_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["criminal"] = reinterpret_cast(&(df_structure->criminal)) - reinterpret_cast(df_structure); - p_table["officer"] = reinterpret_cast(&(df_structure->officer)) - reinterpret_cast(df_structure); - p_table["beating"] = reinterpret_cast(&(df_structure->beating)) - reinterpret_cast(df_structure); - p_table["hammer_strikes"] = reinterpret_cast(&(df_structure->hammer_strikes)) - reinterpret_cast(df_structure); - p_table["prison_counter"] = reinterpret_cast(&(df_structure->prison_counter)) - reinterpret_cast(df_structure); - p_table["unk_10"] = reinterpret_cast(&(df_structure->unk_10)) - reinterpret_cast(df_structure); - p_table["chain"] = reinterpret_cast(&(df_structure->chain)) - reinterpret_cast(df_structure); - p_table["victims"] = reinterpret_cast(&(df_structure->victims)) - reinterpret_cast(df_structure); -} - -void generate_timed_event_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["season"] = reinterpret_cast(&(df_structure->season)) - reinterpret_cast(df_structure); - p_table["season_ticks"] = reinterpret_cast(&(df_structure->season_ticks)) - reinterpret_cast(df_structure); - p_table["entity"] = reinterpret_cast(&(df_structure->entity)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); -} - -void generate_map_renderer__T_anon_4_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["x"] = reinterpret_cast(&(df_structure->x)) - reinterpret_cast(df_structure); - p_table["y"] = reinterpret_cast(&(df_structure->y)) - reinterpret_cast(df_structure); -} - -void generate_map_renderer_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["entity"] = reinterpret_cast(&(df_structure->entity)) - reinterpret_cast(df_structure); - p_table["cursor_units"] = reinterpret_cast(&(df_structure->cursor_units)) - reinterpret_cast(df_structure); - p_table["cursor_guts"] = reinterpret_cast(&(df_structure->cursor_guts)) - reinterpret_cast(df_structure); - p_table["multiple_guts"] = reinterpret_cast(&(df_structure->multiple_guts)) - reinterpret_cast(df_structure); - p_table["cursor_corpse"] = reinterpret_cast(&(df_structure->cursor_corpse)) - reinterpret_cast(df_structure); - p_table["cursor_corpse_cnt"] = reinterpret_cast(&(df_structure->cursor_corpse_cnt)) - reinterpret_cast(df_structure); - p_table["cursor_corpsepiece"] = reinterpret_cast(&(df_structure->cursor_corpsepiece)) - reinterpret_cast(df_structure); - p_table["cursor_corpsepiece_cnt"] = reinterpret_cast(&(df_structure->cursor_corpsepiece_cnt)) - reinterpret_cast(df_structure); - p_table["cursor_bones"] = reinterpret_cast(&(df_structure->cursor_bones)) - reinterpret_cast(df_structure); - p_table["cursor_bones_cnt"] = reinterpret_cast(&(df_structure->cursor_bones_cnt)) - reinterpret_cast(df_structure); - p_table["cursor_other"] = reinterpret_cast(&(df_structure->cursor_other)) - reinterpret_cast(df_structure); - p_table["cursor_other_cnt"] = reinterpret_cast(&(df_structure->cursor_other_cnt)) - reinterpret_cast(df_structure); - p_table["unk_10034"] = reinterpret_cast(&(df_structure->unk_10034)) - reinterpret_cast(df_structure); - p_table["unk_10035"] = reinterpret_cast(&(df_structure->unk_10035)) - reinterpret_cast(df_structure); - p_table["cur_tick_count"] = reinterpret_cast(&(df_structure->cur_tick_count)) - reinterpret_cast(df_structure); - p_table["tick_phase"] = reinterpret_cast(&(df_structure->tick_phase)) - reinterpret_cast(df_structure); - p_table["dim_colors"] = reinterpret_cast(&(df_structure->dim_colors)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); -} - -void generate_unit__T_path_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["dest"] = reinterpret_cast(&(df_structure->dest)) - reinterpret_cast(df_structure); - p_table["goal"] = reinterpret_cast(&(df_structure->goal)) - reinterpret_cast(df_structure); - p_table["path"] = reinterpret_cast(&(df_structure->path)) - reinterpret_cast(df_structure); -} - -void generate_unit__T_meeting_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["state"] = reinterpret_cast(&(df_structure->state)) - reinterpret_cast(df_structure); - p_table["target_entity"] = reinterpret_cast(&(df_structure->target_entity)) - reinterpret_cast(df_structure); - p_table["target_role"] = reinterpret_cast(&(df_structure->target_role)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_unit__T_military_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["squad_id"] = reinterpret_cast(&(df_structure->squad_id)) - reinterpret_cast(df_structure); - p_table["squad_position"] = reinterpret_cast(&(df_structure->squad_position)) - reinterpret_cast(df_structure); - p_table["patrol_cooldown"] = reinterpret_cast(&(df_structure->patrol_cooldown)) - reinterpret_cast(df_structure); - p_table["patrol_timer"] = reinterpret_cast(&(df_structure->patrol_timer)) - reinterpret_cast(df_structure); - p_table["cur_uniform"] = reinterpret_cast(&(df_structure->cur_uniform)) - reinterpret_cast(df_structure); - p_table["unk_items"] = reinterpret_cast(&(df_structure->unk_items)) - reinterpret_cast(df_structure); - p_table["uniforms"] = reinterpret_cast(&(df_structure->uniforms)) - reinterpret_cast(df_structure); - p_table["pickup_flags"] = reinterpret_cast(&(df_structure->pickup_flags)) - reinterpret_cast(df_structure); - p_table["uniform_pickup"] = reinterpret_cast(&(df_structure->uniform_pickup)) - reinterpret_cast(df_structure); - p_table["uniform_drop"] = reinterpret_cast(&(df_structure->uniform_drop)) - reinterpret_cast(df_structure); - p_table["individual_drills"] = reinterpret_cast(&(df_structure->individual_drills)) - reinterpret_cast(df_structure); -} - -void generate_unit__T_animal_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["population"] = reinterpret_cast(&(df_structure->population)) - reinterpret_cast(df_structure); - p_table["leave_countdown"] = reinterpret_cast(&(df_structure->leave_countdown)) - reinterpret_cast(df_structure); - p_table["vanish_countdown"] = reinterpret_cast(&(df_structure->vanish_countdown)) - reinterpret_cast(df_structure); -} - -void generate_unit__T_opponent_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unit_id"] = reinterpret_cast(&(df_structure->unit_id)) - reinterpret_cast(df_structure); - p_table["unit_pos"] = reinterpret_cast(&(df_structure->unit_pos)) - reinterpret_cast(df_structure); - p_table["unk_c"] = reinterpret_cast(&(df_structure->unk_c)) - reinterpret_cast(df_structure); -} - -void generate_unit__T_job_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["account"] = reinterpret_cast(&(df_structure->account)) - reinterpret_cast(df_structure); - p_table["satisfaction"] = reinterpret_cast(&(df_structure->satisfaction)) - reinterpret_cast(df_structure); - p_table["hunt_target"] = reinterpret_cast(&(df_structure->hunt_target)) - reinterpret_cast(df_structure); - p_table["unk_v4305_1"] = reinterpret_cast(&(df_structure->unk_v4305_1)) - reinterpret_cast(df_structure); - p_table["destroy_target"] = reinterpret_cast(&(df_structure->destroy_target)) - reinterpret_cast(df_structure); - p_table["unk_v40_1"] = reinterpret_cast(&(df_structure->unk_v40_1)) - reinterpret_cast(df_structure); - p_table["unk_v40_2"] = reinterpret_cast(&(df_structure->unk_v40_2)) - reinterpret_cast(df_structure); - p_table["unk_v40_3"] = reinterpret_cast(&(df_structure->unk_v40_3)) - reinterpret_cast(df_structure); - p_table["unk_v40_4"] = reinterpret_cast(&(df_structure->unk_v40_4)) - reinterpret_cast(df_structure); - p_table["unk_v40_5"] = reinterpret_cast(&(df_structure->unk_v40_5)) - reinterpret_cast(df_structure); - p_table["gait_buildup"] = reinterpret_cast(&(df_structure->gait_buildup)) - reinterpret_cast(df_structure); - p_table["climb_hold"] = reinterpret_cast(&(df_structure->climb_hold)) - reinterpret_cast(df_structure); - p_table["unk_v4014_1"] = reinterpret_cast(&(df_structure->unk_v4014_1)) - reinterpret_cast(df_structure); - p_table["current_job"] = reinterpret_cast(&(df_structure->current_job)) - reinterpret_cast(df_structure); - p_table["mood_skill"] = reinterpret_cast(&(df_structure->mood_skill)) - reinterpret_cast(df_structure); - p_table["mood_timeout"] = reinterpret_cast(&(df_structure->mood_timeout)) - reinterpret_cast(df_structure); - p_table["unk_39c"] = reinterpret_cast(&(df_structure->unk_39c)) - reinterpret_cast(df_structure); -} - -void generate_unit__T_body_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["components"] = reinterpret_cast(&(df_structure->components)) - reinterpret_cast(df_structure); - p_table["wounds"] = reinterpret_cast(&(df_structure->wounds)) - reinterpret_cast(df_structure); - p_table["wound_next_id"] = reinterpret_cast(&(df_structure->wound_next_id)) - reinterpret_cast(df_structure); - p_table["unk_39c"] = reinterpret_cast(&(df_structure->unk_39c)) - reinterpret_cast(df_structure); - p_table["body_plan"] = reinterpret_cast(&(df_structure->body_plan)) - reinterpret_cast(df_structure); - p_table["weapon_bp"] = reinterpret_cast(&(df_structure->weapon_bp)) - reinterpret_cast(df_structure); - p_table["physical_attrs"] = reinterpret_cast(&(df_structure->physical_attrs)) - reinterpret_cast(df_structure); - p_table["size_info"] = reinterpret_cast(&(df_structure->size_info)) - reinterpret_cast(df_structure); - p_table["blood_max"] = reinterpret_cast(&(df_structure->blood_max)) - reinterpret_cast(df_structure); - p_table["blood_count"] = reinterpret_cast(&(df_structure->blood_count)) - reinterpret_cast(df_structure); - p_table["infection_level"] = reinterpret_cast(&(df_structure->infection_level)) - reinterpret_cast(df_structure); - p_table["spatters"] = reinterpret_cast(&(df_structure->spatters)) - reinterpret_cast(df_structure); -} - -void generate_unit__T_appearance_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["body_modifiers"] = reinterpret_cast(&(df_structure->body_modifiers)) - reinterpret_cast(df_structure); - p_table["bp_modifiers"] = reinterpret_cast(&(df_structure->bp_modifiers)) - reinterpret_cast(df_structure); - p_table["size_modifier"] = reinterpret_cast(&(df_structure->size_modifier)) - reinterpret_cast(df_structure); - p_table["tissue_style"] = reinterpret_cast(&(df_structure->tissue_style)) - reinterpret_cast(df_structure); - p_table["tissue_style_civ_id"] = reinterpret_cast(&(df_structure->tissue_style_civ_id)) - reinterpret_cast(df_structure); - p_table["tissue_style_id"] = reinterpret_cast(&(df_structure->tissue_style_id)) - reinterpret_cast(df_structure); - p_table["tissue_style_type"] = reinterpret_cast(&(df_structure->tissue_style_type)) - reinterpret_cast(df_structure); - p_table["tissue_length"] = reinterpret_cast(&(df_structure->tissue_length)) - reinterpret_cast(df_structure); - p_table["genes"] = reinterpret_cast(&(df_structure->genes)) - reinterpret_cast(df_structure); - p_table["colors"] = reinterpret_cast(&(df_structure->colors)) - reinterpret_cast(df_structure); -} - -void generate_unit__T_counters_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["think_counter"] = reinterpret_cast(&(df_structure->think_counter)) - reinterpret_cast(df_structure); - p_table["job_counter"] = reinterpret_cast(&(df_structure->job_counter)) - reinterpret_cast(df_structure); - p_table["swap_counter"] = reinterpret_cast(&(df_structure->swap_counter)) - reinterpret_cast(df_structure); - p_table["death_cause"] = reinterpret_cast(&(df_structure->death_cause)) - reinterpret_cast(df_structure); - p_table["death_id"] = reinterpret_cast(&(df_structure->death_id)) - reinterpret_cast(df_structure); - p_table["winded"] = reinterpret_cast(&(df_structure->winded)) - reinterpret_cast(df_structure); - p_table["stunned"] = reinterpret_cast(&(df_structure->stunned)) - reinterpret_cast(df_structure); - p_table["unconscious"] = reinterpret_cast(&(df_structure->unconscious)) - reinterpret_cast(df_structure); - p_table["suffocation"] = reinterpret_cast(&(df_structure->suffocation)) - reinterpret_cast(df_structure); - p_table["webbed"] = reinterpret_cast(&(df_structure->webbed)) - reinterpret_cast(df_structure); - p_table["guts_trail1"] = reinterpret_cast(&(df_structure->guts_trail1)) - reinterpret_cast(df_structure); - p_table["guts_trail2"] = reinterpret_cast(&(df_structure->guts_trail2)) - reinterpret_cast(df_structure); - p_table["soldier_mood_countdown"] = reinterpret_cast(&(df_structure->soldier_mood_countdown)) - reinterpret_cast(df_structure); - p_table["soldier_mood"] = reinterpret_cast(&(df_structure->soldier_mood)) - reinterpret_cast(df_structure); - p_table["pain"] = reinterpret_cast(&(df_structure->pain)) - reinterpret_cast(df_structure); - p_table["nausea"] = reinterpret_cast(&(df_structure->nausea)) - reinterpret_cast(df_structure); - p_table["dizziness"] = reinterpret_cast(&(df_structure->dizziness)) - reinterpret_cast(df_structure); -} - -void generate_unit__T_curse_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk_0"] = reinterpret_cast(&(df_structure->unk_0)) - reinterpret_cast(df_structure); - p_table["add_tags1"] = reinterpret_cast(&(df_structure->add_tags1)) - reinterpret_cast(df_structure); - p_table["rem_tags1"] = reinterpret_cast(&(df_structure->rem_tags1)) - reinterpret_cast(df_structure); - p_table["add_tags2"] = reinterpret_cast(&(df_structure->add_tags2)) - reinterpret_cast(df_structure); - p_table["rem_tags2"] = reinterpret_cast(&(df_structure->rem_tags2)) - reinterpret_cast(df_structure); - p_table["name_visible"] = reinterpret_cast(&(df_structure->name_visible)) - reinterpret_cast(df_structure); - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["name_plural"] = reinterpret_cast(&(df_structure->name_plural)) - reinterpret_cast(df_structure); - p_table["name_adjective"] = reinterpret_cast(&(df_structure->name_adjective)) - reinterpret_cast(df_structure); - p_table["sym_and_color1"] = reinterpret_cast(&(df_structure->sym_and_color1)) - reinterpret_cast(df_structure); - p_table["sym_and_color2"] = reinterpret_cast(&(df_structure->sym_and_color2)) - reinterpret_cast(df_structure); - p_table["flash_period"] = reinterpret_cast(&(df_structure->flash_period)) - reinterpret_cast(df_structure); - p_table["flash_time2"] = reinterpret_cast(&(df_structure->flash_time2)) - reinterpret_cast(df_structure); - p_table["body_appearance"] = reinterpret_cast(&(df_structure->body_appearance)) - reinterpret_cast(df_structure); - p_table["bp_appearance"] = reinterpret_cast(&(df_structure->bp_appearance)) - reinterpret_cast(df_structure); - p_table["speed_add"] = reinterpret_cast(&(df_structure->speed_add)) - reinterpret_cast(df_structure); - p_table["speed_mul_percent"] = reinterpret_cast(&(df_structure->speed_mul_percent)) - reinterpret_cast(df_structure); - p_table["attr_change"] = reinterpret_cast(&(df_structure->attr_change)) - reinterpret_cast(df_structure); - p_table["luck_mul_percent"] = reinterpret_cast(&(df_structure->luck_mul_percent)) - reinterpret_cast(df_structure); - p_table["unk_98"] = reinterpret_cast(&(df_structure->unk_98)) - reinterpret_cast(df_structure); - p_table["interaction_id"] = reinterpret_cast(&(df_structure->interaction_id)) - reinterpret_cast(df_structure); - p_table["interaction_time"] = reinterpret_cast(&(df_structure->interaction_time)) - reinterpret_cast(df_structure); - p_table["interaction_delay"] = reinterpret_cast(&(df_structure->interaction_delay)) - reinterpret_cast(df_structure); - p_table["time_on_site"] = reinterpret_cast(&(df_structure->time_on_site)) - reinterpret_cast(df_structure); - p_table["own_interaction"] = reinterpret_cast(&(df_structure->own_interaction)) - reinterpret_cast(df_structure); - p_table["own_interaction_delay"] = reinterpret_cast(&(df_structure->own_interaction_delay)) - reinterpret_cast(df_structure); -} - -void generate_unit__T_counters2_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["paralysis"] = reinterpret_cast(&(df_structure->paralysis)) - reinterpret_cast(df_structure); - p_table["numbness"] = reinterpret_cast(&(df_structure->numbness)) - reinterpret_cast(df_structure); - p_table["fever"] = reinterpret_cast(&(df_structure->fever)) - reinterpret_cast(df_structure); - p_table["exhaustion"] = reinterpret_cast(&(df_structure->exhaustion)) - reinterpret_cast(df_structure); - p_table["hunger_timer"] = reinterpret_cast(&(df_structure->hunger_timer)) - reinterpret_cast(df_structure); - p_table["thirst_timer"] = reinterpret_cast(&(df_structure->thirst_timer)) - reinterpret_cast(df_structure); - p_table["sleepiness_timer"] = reinterpret_cast(&(df_structure->sleepiness_timer)) - reinterpret_cast(df_structure); - p_table["stomach_content"] = reinterpret_cast(&(df_structure->stomach_content)) - reinterpret_cast(df_structure); - p_table["stomach_food"] = reinterpret_cast(&(df_structure->stomach_food)) - reinterpret_cast(df_structure); - p_table["vomit_timeout"] = reinterpret_cast(&(df_structure->vomit_timeout)) - reinterpret_cast(df_structure); - p_table["stored_fat"] = reinterpret_cast(&(df_structure->stored_fat)) - reinterpret_cast(df_structure); -} - -void generate_unit__T_status__T_eat_history__T_food_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); - p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); - p_table["material"] = reinterpret_cast(&(df_structure->material)) - reinterpret_cast(df_structure); - p_table["year"] = reinterpret_cast(&(df_structure->year)) - reinterpret_cast(df_structure); - p_table["year_time"] = reinterpret_cast(&(df_structure->year_time)) - reinterpret_cast(df_structure); -} - -void generate_unit__T_status__T_eat_history__T_drink_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); - p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); - p_table["material"] = reinterpret_cast(&(df_structure->material)) - reinterpret_cast(df_structure); - p_table["year"] = reinterpret_cast(&(df_structure->year)) - reinterpret_cast(df_structure); - p_table["year_time"] = reinterpret_cast(&(df_structure->year_time)) - reinterpret_cast(df_structure); -} - -void generate_unit__T_status__T_eat_history_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["food"] = reinterpret_cast(&(df_structure->food)) - reinterpret_cast(df_structure); - p_table["drink"] = reinterpret_cast(&(df_structure->drink)) - reinterpret_cast(df_structure); -} - -void generate_unit__T_status_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["misc_traits"] = reinterpret_cast(&(df_structure->misc_traits)) - reinterpret_cast(df_structure); - p_table["eat_history"] = reinterpret_cast(&(df_structure->eat_history)) - reinterpret_cast(df_structure); - p_table["demand_timeout"] = reinterpret_cast(&(df_structure->demand_timeout)) - reinterpret_cast(df_structure); - p_table["mandate_timeout"] = reinterpret_cast(&(df_structure->mandate_timeout)) - reinterpret_cast(df_structure); - p_table["attacker_ids"] = reinterpret_cast(&(df_structure->attacker_ids)) - reinterpret_cast(df_structure); - p_table["attacker_cntdn"] = reinterpret_cast(&(df_structure->attacker_cntdn)) - reinterpret_cast(df_structure); - p_table["face_direction"] = reinterpret_cast(&(df_structure->face_direction)) - reinterpret_cast(df_structure); - p_table["artifact_name"] = reinterpret_cast(&(df_structure->artifact_name)) - reinterpret_cast(df_structure); - p_table["souls"] = reinterpret_cast(&(df_structure->souls)) - reinterpret_cast(df_structure); - p_table["current_soul"] = reinterpret_cast(&(df_structure->current_soul)) - reinterpret_cast(df_structure); - p_table["demands"] = reinterpret_cast(&(df_structure->demands)) - reinterpret_cast(df_structure); - p_table["labors"] = reinterpret_cast(&(df_structure->labors)) - reinterpret_cast(df_structure); - p_table["wrestle_items"] = reinterpret_cast(&(df_structure->wrestle_items)) - reinterpret_cast(df_structure); - p_table["observed_traps"] = reinterpret_cast(&(df_structure->observed_traps)) - reinterpret_cast(df_structure); - p_table["complaints"] = reinterpret_cast(&(df_structure->complaints)) - reinterpret_cast(df_structure); - p_table["unk_138"] = reinterpret_cast(&(df_structure->unk_138)) - reinterpret_cast(df_structure); - p_table["requests"] = reinterpret_cast(&(df_structure->requests)) - reinterpret_cast(df_structure); - p_table["coin_debts"] = reinterpret_cast(&(df_structure->coin_debts)) - reinterpret_cast(df_structure); - p_table["adv_sleep_timer"] = reinterpret_cast(&(df_structure->adv_sleep_timer)) - reinterpret_cast(df_structure); - p_table["recent_job_area"] = reinterpret_cast(&(df_structure->recent_job_area)) - reinterpret_cast(df_structure); - p_table["recent_jobs"] = reinterpret_cast(&(df_structure->recent_jobs)) - reinterpret_cast(df_structure); -} - -void generate_unit__T_status2_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["limbs_stand_max"] = reinterpret_cast(&(df_structure->limbs_stand_max)) - reinterpret_cast(df_structure); - p_table["limbs_stand_count"] = reinterpret_cast(&(df_structure->limbs_stand_count)) - reinterpret_cast(df_structure); - p_table["limbs_grasp_max"] = reinterpret_cast(&(df_structure->limbs_grasp_max)) - reinterpret_cast(df_structure); - p_table["limbs_grasp_count"] = reinterpret_cast(&(df_structure->limbs_grasp_count)) - reinterpret_cast(df_structure); - p_table["limbs_fly_max"] = reinterpret_cast(&(df_structure->limbs_fly_max)) - reinterpret_cast(df_structure); - p_table["limbs_fly_count"] = reinterpret_cast(&(df_structure->limbs_fly_count)) - reinterpret_cast(df_structure); - p_table["body_part_temperature"] = reinterpret_cast(&(df_structure->body_part_temperature)) - reinterpret_cast(df_structure); - p_table["add_path_flags"] = reinterpret_cast(&(df_structure->add_path_flags)) - reinterpret_cast(df_structure); - p_table["liquid_type"] = reinterpret_cast(&(df_structure->liquid_type)) - reinterpret_cast(df_structure); - p_table["liquid_depth"] = reinterpret_cast(&(df_structure->liquid_depth)) - reinterpret_cast(df_structure); - p_table["unk_7c0"] = reinterpret_cast(&(df_structure->unk_7c0)) - reinterpret_cast(df_structure); -} - -void generate_unit__T_unknown7_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk_7c4"] = reinterpret_cast(&(df_structure->unk_7c4)) - reinterpret_cast(df_structure); - p_table["unk_c"] = reinterpret_cast(&(df_structure->unk_c)) - reinterpret_cast(df_structure); -} - -void generate_unit__T_syndromes_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["active"] = reinterpret_cast(&(df_structure->active)) - reinterpret_cast(df_structure); - p_table["reinfection_type"] = reinterpret_cast(&(df_structure->reinfection_type)) - reinterpret_cast(df_structure); - p_table["reinfection_count"] = reinterpret_cast(&(df_structure->reinfection_count)) - reinterpret_cast(df_structure); -} - -void generate_unit__T_reports_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["log"] = reinterpret_cast(&(df_structure->log)) - reinterpret_cast(df_structure); - p_table["last_year"] = reinterpret_cast(&(df_structure->last_year)) - reinterpret_cast(df_structure); - p_table["last_year_tick"] = reinterpret_cast(&(df_structure->last_year_tick)) - reinterpret_cast(df_structure); -} - -void generate_unit__T_enemy__T_undead_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk_1"] = reinterpret_cast(&(df_structure->unk_1)) - reinterpret_cast(df_structure); - p_table["unk_2"] = reinterpret_cast(&(df_structure->unk_2)) - reinterpret_cast(df_structure); - p_table["unk_3"] = reinterpret_cast(&(df_structure->unk_3)) - reinterpret_cast(df_structure); - p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); - p_table["unk_5"] = reinterpret_cast(&(df_structure->unk_5)) - reinterpret_cast(df_structure); - p_table["root_body_part_id"] = reinterpret_cast(&(df_structure->root_body_part_id)) - reinterpret_cast(df_structure); - p_table["undead_name"] = reinterpret_cast(&(df_structure->undead_name)) - reinterpret_cast(df_structure); - p_table["unk_v43_1"] = reinterpret_cast(&(df_structure->unk_v43_1)) - reinterpret_cast(df_structure); - p_table["unk_v43_2"] = reinterpret_cast(&(df_structure->unk_v43_2)) - reinterpret_cast(df_structure); -} - -void generate_unit__T_enemy__T_witness_reports_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["death_id"] = reinterpret_cast(&(df_structure->death_id)) - reinterpret_cast(df_structure); - p_table["crime_id"] = reinterpret_cast(&(df_structure->crime_id)) - reinterpret_cast(df_structure); - p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); - p_table["year"] = reinterpret_cast(&(df_structure->year)) - reinterpret_cast(df_structure); - p_table["year_tick"] = reinterpret_cast(&(df_structure->year_tick)) - reinterpret_cast(df_structure); - p_table["unk2"] = reinterpret_cast(&(df_structure->unk2)) - reinterpret_cast(df_structure); -} - -void generate_unit__T_enemy__T_unk_448__T_unk_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); - p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); - p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); - p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); -} - -void generate_unit__T_enemy__T_unk_448_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["unk"] = reinterpret_cast(&(df_structure->unk)) - reinterpret_cast(df_structure); -} - -void generate_unit__T_enemy__T_unk_44c_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); - p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); - p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); - p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); - p_table["anon_11"] = reinterpret_cast(&(df_structure->anon_11)) - reinterpret_cast(df_structure); - p_table["anon_12"] = reinterpret_cast(&(df_structure->anon_12)) - reinterpret_cast(df_structure); -} - -void generate_unit__T_enemy__T_unk_v40_sub3__T_unk_2_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk_1"] = reinterpret_cast(&(df_structure->unk_1)) - reinterpret_cast(df_structure); - p_table["unk_2"] = reinterpret_cast(&(df_structure->unk_2)) - reinterpret_cast(df_structure); - p_table["unk_3"] = reinterpret_cast(&(df_structure->unk_3)) - reinterpret_cast(df_structure); - p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); -} - -void generate_unit__T_enemy__T_unk_v40_sub3__T_unk_6_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk_0"] = reinterpret_cast(&(df_structure->unk_0)) - reinterpret_cast(df_structure); - p_table["unk_10"] = reinterpret_cast(&(df_structure->unk_10)) - reinterpret_cast(df_structure); -} - -void generate_unit__T_enemy__T_unk_v40_sub3__T_unk_7__T_unk_sub1_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk_sub1_1"] = reinterpret_cast(&(df_structure->unk_sub1_1)) - reinterpret_cast(df_structure); - p_table["unk_sub1_2"] = reinterpret_cast(&(df_structure->unk_sub1_2)) - reinterpret_cast(df_structure); - p_table["unk_sub1_3"] = reinterpret_cast(&(df_structure->unk_sub1_3)) - reinterpret_cast(df_structure); - p_table["unk_sub1_4"] = reinterpret_cast(&(df_structure->unk_sub1_4)) - reinterpret_cast(df_structure); - p_table["unk_sub1_5"] = reinterpret_cast(&(df_structure->unk_sub1_5)) - reinterpret_cast(df_structure); - p_table["unk_sub1_6"] = reinterpret_cast(&(df_structure->unk_sub1_6)) - reinterpret_cast(df_structure); - p_table["unk_sub1_7"] = reinterpret_cast(&(df_structure->unk_sub1_7)) - reinterpret_cast(df_structure); - p_table["unk_sub1_8"] = reinterpret_cast(&(df_structure->unk_sub1_8)) - reinterpret_cast(df_structure); - p_table["unk_sub1_9"] = reinterpret_cast(&(df_structure->unk_sub1_9)) - reinterpret_cast(df_structure); -} - -void generate_unit__T_enemy__T_unk_v40_sub3__T_unk_7_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk_sub1"] = reinterpret_cast(&(df_structure->unk_sub1)) - reinterpret_cast(df_structure); - p_table["unk_1"] = reinterpret_cast(&(df_structure->unk_1)) - reinterpret_cast(df_structure); - p_table["year"] = reinterpret_cast(&(df_structure->year)) - reinterpret_cast(df_structure); - p_table["year_tick"] = reinterpret_cast(&(df_structure->year_tick)) - reinterpret_cast(df_structure); - p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); - p_table["unk_5"] = reinterpret_cast(&(df_structure->unk_5)) - reinterpret_cast(df_structure); - p_table["unk_6"] = reinterpret_cast(&(df_structure->unk_6)) - reinterpret_cast(df_structure); - p_table["unk_7"] = reinterpret_cast(&(df_structure->unk_7)) - reinterpret_cast(df_structure); -} - -void generate_unit__T_enemy__T_unk_v40_sub3_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["controller"] = reinterpret_cast(&(df_structure->controller)) - reinterpret_cast(df_structure); - p_table["unk_2"] = reinterpret_cast(&(df_structure->unk_2)) - reinterpret_cast(df_structure); - p_table["unk_3"] = reinterpret_cast(&(df_structure->unk_3)) - reinterpret_cast(df_structure); - p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); - p_table["unk_5"] = reinterpret_cast(&(df_structure->unk_5)) - reinterpret_cast(df_structure); - p_table["unk_6"] = reinterpret_cast(&(df_structure->unk_6)) - reinterpret_cast(df_structure); - p_table["unk_7"] = reinterpret_cast(&(df_structure->unk_7)) - reinterpret_cast(df_structure); -} - -void generate_unit__T_enemy_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["sound_cooldown"] = reinterpret_cast(&(df_structure->sound_cooldown)) - reinterpret_cast(df_structure); - p_table["undead"] = reinterpret_cast(&(df_structure->undead)) - reinterpret_cast(df_structure); - p_table["were_race"] = reinterpret_cast(&(df_structure->were_race)) - reinterpret_cast(df_structure); - p_table["were_caste"] = reinterpret_cast(&(df_structure->were_caste)) - reinterpret_cast(df_structure); - p_table["normal_race"] = reinterpret_cast(&(df_structure->normal_race)) - reinterpret_cast(df_structure); - p_table["normal_caste"] = reinterpret_cast(&(df_structure->normal_caste)) - reinterpret_cast(df_structure); - p_table["interaction"] = reinterpret_cast(&(df_structure->interaction)) - reinterpret_cast(df_structure); - p_table["appearances"] = reinterpret_cast(&(df_structure->appearances)) - reinterpret_cast(df_structure); - p_table["witness_reports"] = reinterpret_cast(&(df_structure->witness_reports)) - reinterpret_cast(df_structure); - p_table["unk_a5c"] = reinterpret_cast(&(df_structure->unk_a5c)) - reinterpret_cast(df_structure); - p_table["gait_index"] = reinterpret_cast(&(df_structure->gait_index)) - reinterpret_cast(df_structure); - p_table["unk_v40_1a"] = reinterpret_cast(&(df_structure->unk_v40_1a)) - reinterpret_cast(df_structure); - p_table["unk_v40_1b"] = reinterpret_cast(&(df_structure->unk_v40_1b)) - reinterpret_cast(df_structure); - p_table["unk_v40_1c"] = reinterpret_cast(&(df_structure->unk_v40_1c)) - reinterpret_cast(df_structure); - p_table["unk_v40_1d"] = reinterpret_cast(&(df_structure->unk_v40_1d)) - reinterpret_cast(df_structure); - p_table["unk_v40_1e"] = reinterpret_cast(&(df_structure->unk_v40_1e)) - reinterpret_cast(df_structure); - p_table["unk_v40_2"] = reinterpret_cast(&(df_structure->unk_v40_2)) - reinterpret_cast(df_structure); - p_table["unk_v40_2_count"] = reinterpret_cast(&(df_structure->unk_v40_2_count)) - reinterpret_cast(df_structure); - p_table["unk_448"] = reinterpret_cast(&(df_structure->unk_448)) - reinterpret_cast(df_structure); - p_table["unk_44c"] = reinterpret_cast(&(df_structure->unk_44c)) - reinterpret_cast(df_structure); - p_table["unk_450"] = reinterpret_cast(&(df_structure->unk_450)) - reinterpret_cast(df_structure); - p_table["unk_454"] = reinterpret_cast(&(df_structure->unk_454)) - reinterpret_cast(df_structure); - p_table["army_controller_id"] = reinterpret_cast(&(df_structure->army_controller_id)) - reinterpret_cast(df_structure); - p_table["unk_v40_sub3"] = reinterpret_cast(&(df_structure->unk_v40_sub3)) - reinterpret_cast(df_structure); - p_table["enemy_status_slot"] = reinterpret_cast(&(df_structure->enemy_status_slot)) - reinterpret_cast(df_structure); - p_table["caste_flags"] = reinterpret_cast(&(df_structure->caste_flags)) - reinterpret_cast(df_structure); - p_table["unk_v4206_1"] = reinterpret_cast(&(df_structure->unk_v4206_1)) - reinterpret_cast(df_structure); - p_table["unk_874_cntr"] = reinterpret_cast(&(df_structure->unk_874_cntr)) - reinterpret_cast(df_structure); - p_table["body_part_878"] = reinterpret_cast(&(df_structure->body_part_878)) - reinterpret_cast(df_structure); - p_table["body_part_888"] = reinterpret_cast(&(df_structure->body_part_888)) - reinterpret_cast(df_structure); - p_table["body_part_relsize"] = reinterpret_cast(&(df_structure->body_part_relsize)) - reinterpret_cast(df_structure); - p_table["body_part_8a8"] = reinterpret_cast(&(df_structure->body_part_8a8)) - reinterpret_cast(df_structure); - p_table["body_part_base_ins"] = reinterpret_cast(&(df_structure->body_part_base_ins)) - reinterpret_cast(df_structure); - p_table["body_part_clothing_ins"] = reinterpret_cast(&(df_structure->body_part_clothing_ins)) - reinterpret_cast(df_structure); - p_table["body_part_8d8"] = reinterpret_cast(&(df_structure->body_part_8d8)) - reinterpret_cast(df_structure); - p_table["unk_8e8"] = reinterpret_cast(&(df_structure->unk_8e8)) - reinterpret_cast(df_structure); - p_table["unk_8f8"] = reinterpret_cast(&(df_structure->unk_8f8)) - reinterpret_cast(df_structure); -} - -void generate_unit_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["custom_profession"] = reinterpret_cast(&(df_structure->custom_profession)) - reinterpret_cast(df_structure); - p_table["profession"] = reinterpret_cast(&(df_structure->profession)) - reinterpret_cast(df_structure); - p_table["profession2"] = reinterpret_cast(&(df_structure->profession2)) - reinterpret_cast(df_structure); - p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); - p_table["pos"] = reinterpret_cast(&(df_structure->pos)) - reinterpret_cast(df_structure); - p_table["idle_area"] = reinterpret_cast(&(df_structure->idle_area)) - reinterpret_cast(df_structure); - p_table["idle_area_threshold"] = reinterpret_cast(&(df_structure->idle_area_threshold)) - reinterpret_cast(df_structure); - p_table["idle_area_type"] = reinterpret_cast(&(df_structure->idle_area_type)) - reinterpret_cast(df_structure); - p_table["follow_distance"] = reinterpret_cast(&(df_structure->follow_distance)) - reinterpret_cast(df_structure); - p_table["path"] = reinterpret_cast(&(df_structure->path)) - reinterpret_cast(df_structure); - p_table["flags1"] = reinterpret_cast(&(df_structure->flags1)) - reinterpret_cast(df_structure); - p_table["flags2"] = reinterpret_cast(&(df_structure->flags2)) - reinterpret_cast(df_structure); - p_table["flags3"] = reinterpret_cast(&(df_structure->flags3)) - reinterpret_cast(df_structure); - p_table["flags4"] = reinterpret_cast(&(df_structure->flags4)) - reinterpret_cast(df_structure); - p_table["meeting"] = reinterpret_cast(&(df_structure->meeting)) - reinterpret_cast(df_structure); - p_table["caste"] = reinterpret_cast(&(df_structure->caste)) - reinterpret_cast(df_structure); - p_table["sex"] = reinterpret_cast(&(df_structure->sex)) - reinterpret_cast(df_structure); - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["unk_100"] = reinterpret_cast(&(df_structure->unk_100)) - reinterpret_cast(df_structure); - p_table["training_level"] = reinterpret_cast(&(df_structure->training_level)) - reinterpret_cast(df_structure); - p_table["schedule_id"] = reinterpret_cast(&(df_structure->schedule_id)) - reinterpret_cast(df_structure); - p_table["civ_id"] = reinterpret_cast(&(df_structure->civ_id)) - reinterpret_cast(df_structure); - p_table["population_id"] = reinterpret_cast(&(df_structure->population_id)) - reinterpret_cast(df_structure); - p_table["unk_c0"] = reinterpret_cast(&(df_structure->unk_c0)) - reinterpret_cast(df_structure); - p_table["cultural_identity"] = reinterpret_cast(&(df_structure->cultural_identity)) - reinterpret_cast(df_structure); - p_table["invasion_id"] = reinterpret_cast(&(df_structure->invasion_id)) - reinterpret_cast(df_structure); - p_table["patrol_route"] = reinterpret_cast(&(df_structure->patrol_route)) - reinterpret_cast(df_structure); - p_table["patrol_index"] = reinterpret_cast(&(df_structure->patrol_index)) - reinterpret_cast(df_structure); - p_table["specific_refs"] = reinterpret_cast(&(df_structure->specific_refs)) - reinterpret_cast(df_structure); - p_table["general_refs"] = reinterpret_cast(&(df_structure->general_refs)) - reinterpret_cast(df_structure); - p_table["military"] = reinterpret_cast(&(df_structure->military)) - reinterpret_cast(df_structure); - p_table["social_activities"] = reinterpret_cast(&(df_structure->social_activities)) - reinterpret_cast(df_structure); - p_table["conversations"] = reinterpret_cast(&(df_structure->conversations)) - reinterpret_cast(df_structure); - p_table["activities"] = reinterpret_cast(&(df_structure->activities)) - reinterpret_cast(df_structure); - p_table["unk_1e8"] = reinterpret_cast(&(df_structure->unk_1e8)) - reinterpret_cast(df_structure); - p_table["animal"] = reinterpret_cast(&(df_structure->animal)) - reinterpret_cast(df_structure); - p_table["opponent"] = reinterpret_cast(&(df_structure->opponent)) - reinterpret_cast(df_structure); - p_table["mood"] = reinterpret_cast(&(df_structure->mood)) - reinterpret_cast(df_structure); - p_table["unk_18e"] = reinterpret_cast(&(df_structure->unk_18e)) - reinterpret_cast(df_structure); - p_table["pregnancy_timer"] = reinterpret_cast(&(df_structure->pregnancy_timer)) - reinterpret_cast(df_structure); - p_table["pregnancy_genes"] = reinterpret_cast(&(df_structure->pregnancy_genes)) - reinterpret_cast(df_structure); - p_table["pregnancy_caste"] = reinterpret_cast(&(df_structure->pregnancy_caste)) - reinterpret_cast(df_structure); - p_table["pregnancy_spouse"] = reinterpret_cast(&(df_structure->pregnancy_spouse)) - reinterpret_cast(df_structure); - p_table["mood_copy"] = reinterpret_cast(&(df_structure->mood_copy)) - reinterpret_cast(df_structure); - p_table["ghost_info"] = reinterpret_cast(&(df_structure->ghost_info)) - reinterpret_cast(df_structure); - p_table["unk_9"] = reinterpret_cast(&(df_structure->unk_9)) - reinterpret_cast(df_structure); - p_table["birth_year"] = reinterpret_cast(&(df_structure->birth_year)) - reinterpret_cast(df_structure); - p_table["birth_time"] = reinterpret_cast(&(df_structure->birth_time)) - reinterpret_cast(df_structure); - p_table["curse_year"] = reinterpret_cast(&(df_structure->curse_year)) - reinterpret_cast(df_structure); - p_table["curse_time"] = reinterpret_cast(&(df_structure->curse_time)) - reinterpret_cast(df_structure); - p_table["birth_year_bias"] = reinterpret_cast(&(df_structure->birth_year_bias)) - reinterpret_cast(df_structure); - p_table["birth_time_bias"] = reinterpret_cast(&(df_structure->birth_time_bias)) - reinterpret_cast(df_structure); - p_table["old_year"] = reinterpret_cast(&(df_structure->old_year)) - reinterpret_cast(df_structure); - p_table["old_time"] = reinterpret_cast(&(df_structure->old_time)) - reinterpret_cast(df_structure); - p_table["following"] = reinterpret_cast(&(df_structure->following)) - reinterpret_cast(df_structure); - p_table["unk_238"] = reinterpret_cast(&(df_structure->unk_238)) - reinterpret_cast(df_structure); - p_table["relationship_ids"] = reinterpret_cast(&(df_structure->relationship_ids)) - reinterpret_cast(df_structure); - p_table["mount_type"] = reinterpret_cast(&(df_structure->mount_type)) - reinterpret_cast(df_structure); - p_table["last_hit"] = reinterpret_cast(&(df_structure->last_hit)) - reinterpret_cast(df_structure); - p_table["riding_item_id"] = reinterpret_cast(&(df_structure->riding_item_id)) - reinterpret_cast(df_structure); - p_table["inventory"] = reinterpret_cast(&(df_structure->inventory)) - reinterpret_cast(df_structure); - p_table["owned_items"] = reinterpret_cast(&(df_structure->owned_items)) - reinterpret_cast(df_structure); - p_table["traded_items"] = reinterpret_cast(&(df_structure->traded_items)) - reinterpret_cast(df_structure); - p_table["owned_buildings"] = reinterpret_cast(&(df_structure->owned_buildings)) - reinterpret_cast(df_structure); - p_table["corpse_parts"] = reinterpret_cast(&(df_structure->corpse_parts)) - reinterpret_cast(df_structure); - p_table["job"] = reinterpret_cast(&(df_structure->job)) - reinterpret_cast(df_structure); - p_table["body"] = reinterpret_cast(&(df_structure->body)) - reinterpret_cast(df_structure); - p_table["appearance"] = reinterpret_cast(&(df_structure->appearance)) - reinterpret_cast(df_structure); - p_table["actions"] = reinterpret_cast(&(df_structure->actions)) - reinterpret_cast(df_structure); - p_table["next_action_id"] = reinterpret_cast(&(df_structure->next_action_id)) - reinterpret_cast(df_structure); - p_table["counters"] = reinterpret_cast(&(df_structure->counters)) - reinterpret_cast(df_structure); - p_table["curse"] = reinterpret_cast(&(df_structure->curse)) - reinterpret_cast(df_structure); - p_table["counters2"] = reinterpret_cast(&(df_structure->counters2)) - reinterpret_cast(df_structure); - p_table["status"] = reinterpret_cast(&(df_structure->status)) - reinterpret_cast(df_structure); - p_table["hist_figure_id"] = reinterpret_cast(&(df_structure->hist_figure_id)) - reinterpret_cast(df_structure); - p_table["hist_figure_id2"] = reinterpret_cast(&(df_structure->hist_figure_id2)) - reinterpret_cast(df_structure); - p_table["status2"] = reinterpret_cast(&(df_structure->status2)) - reinterpret_cast(df_structure); - p_table["unknown7"] = reinterpret_cast(&(df_structure->unknown7)) - reinterpret_cast(df_structure); - p_table["syndromes"] = reinterpret_cast(&(df_structure->syndromes)) - reinterpret_cast(df_structure); - p_table["reports"] = reinterpret_cast(&(df_structure->reports)) - reinterpret_cast(df_structure); - p_table["health"] = reinterpret_cast(&(df_structure->health)) - reinterpret_cast(df_structure); - p_table["used_items"] = reinterpret_cast(&(df_structure->used_items)) - reinterpret_cast(df_structure); - p_table["enemy"] = reinterpret_cast(&(df_structure->enemy)) - reinterpret_cast(df_structure); - p_table["healing_rate"] = reinterpret_cast(&(df_structure->healing_rate)) - reinterpret_cast(df_structure); - p_table["effective_rate"] = reinterpret_cast(&(df_structure->effective_rate)) - reinterpret_cast(df_structure); - p_table["tendons_heal"] = reinterpret_cast(&(df_structure->tendons_heal)) - reinterpret_cast(df_structure); - p_table["ligaments_heal"] = reinterpret_cast(&(df_structure->ligaments_heal)) - reinterpret_cast(df_structure); - p_table["weight"] = reinterpret_cast(&(df_structure->weight)) - reinterpret_cast(df_structure); - p_table["weight_fraction"] = reinterpret_cast(&(df_structure->weight_fraction)) - reinterpret_cast(df_structure); - p_table["burrows"] = reinterpret_cast(&(df_structure->burrows)) - reinterpret_cast(df_structure); - p_table["vision_cone"] = reinterpret_cast(&(df_structure->vision_cone)) - reinterpret_cast(df_structure); - p_table["occupations"] = reinterpret_cast(&(df_structure->occupations)) - reinterpret_cast(df_structure); - p_table["adjective"] = reinterpret_cast(&(df_structure->adjective)) - reinterpret_cast(df_structure); -} - -void generate_unit_ghost_info__T_target_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); - p_table["item"] = reinterpret_cast(&(df_structure->item)) - reinterpret_cast(df_structure); - p_table["building"] = reinterpret_cast(&(df_structure->building)) - reinterpret_cast(df_structure); -} - -void generate_unit_ghost_info_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["type2"] = reinterpret_cast(&(df_structure->type2)) - reinterpret_cast(df_structure); - p_table["goal"] = reinterpret_cast(&(df_structure->goal)) - reinterpret_cast(df_structure); - p_table["target"] = reinterpret_cast(&(df_structure->target)) - reinterpret_cast(df_structure); - p_table["misplace_pos"] = reinterpret_cast(&(df_structure->misplace_pos)) - reinterpret_cast(df_structure); - p_table["action_timer"] = reinterpret_cast(&(df_structure->action_timer)) - reinterpret_cast(df_structure); - p_table["unk_18"] = reinterpret_cast(&(df_structure->unk_18)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["death_x"] = reinterpret_cast(&(df_structure->death_x)) - reinterpret_cast(df_structure); - p_table["death_y"] = reinterpret_cast(&(df_structure->death_y)) - reinterpret_cast(df_structure); - p_table["death_z"] = reinterpret_cast(&(df_structure->death_z)) - reinterpret_cast(df_structure); -} - -void generate_unit_inventory_item_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["item"] = reinterpret_cast(&(df_structure->item)) - reinterpret_cast(df_structure); - p_table["mode"] = reinterpret_cast(&(df_structure->mode)) - reinterpret_cast(df_structure); - p_table["body_part_id"] = reinterpret_cast(&(df_structure->body_part_id)) - reinterpret_cast(df_structure); - p_table["pet_seed"] = reinterpret_cast(&(df_structure->pet_seed)) - reinterpret_cast(df_structure); - p_table["wound_id"] = reinterpret_cast(&(df_structure->wound_id)) - reinterpret_cast(df_structure); -} - -void generate_unit_syndrome__T_symptoms_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["quantity"] = reinterpret_cast(&(df_structure->quantity)) - reinterpret_cast(df_structure); - p_table["delay"] = reinterpret_cast(&(df_structure->delay)) - reinterpret_cast(df_structure); - p_table["ticks"] = reinterpret_cast(&(df_structure->ticks)) - reinterpret_cast(df_structure); - p_table["target_bp"] = reinterpret_cast(&(df_structure->target_bp)) - reinterpret_cast(df_structure); - p_table["target_layer"] = reinterpret_cast(&(df_structure->target_layer)) - reinterpret_cast(df_structure); - p_table["target_quantity"] = reinterpret_cast(&(df_structure->target_quantity)) - reinterpret_cast(df_structure); - p_table["target_delay"] = reinterpret_cast(&(df_structure->target_delay)) - reinterpret_cast(df_structure); - p_table["target_ticks"] = reinterpret_cast(&(df_structure->target_ticks)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); -} - -void generate_unit_syndrome_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["year"] = reinterpret_cast(&(df_structure->year)) - reinterpret_cast(df_structure); - p_table["year_time"] = reinterpret_cast(&(df_structure->year_time)) - reinterpret_cast(df_structure); - p_table["ticks"] = reinterpret_cast(&(df_structure->ticks)) - reinterpret_cast(df_structure); - p_table["wounds"] = reinterpret_cast(&(df_structure->wounds)) - reinterpret_cast(df_structure); - p_table["wound_id"] = reinterpret_cast(&(df_structure->wound_id)) - reinterpret_cast(df_structure); - p_table["symptoms"] = reinterpret_cast(&(df_structure->symptoms)) - reinterpret_cast(df_structure); - p_table["reinfection_count"] = reinterpret_cast(&(df_structure->reinfection_count)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["unk4"] = reinterpret_cast(&(df_structure->unk4)) - reinterpret_cast(df_structure); -} - -void generate_unit_wound__T_parts_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["global_layer_idx"] = reinterpret_cast(&(df_structure->global_layer_idx)) - reinterpret_cast(df_structure); - p_table["body_part_id"] = reinterpret_cast(&(df_structure->body_part_id)) - reinterpret_cast(df_structure); - p_table["layer_idx"] = reinterpret_cast(&(df_structure->layer_idx)) - reinterpret_cast(df_structure); - p_table["contact_area"] = reinterpret_cast(&(df_structure->contact_area)) - reinterpret_cast(df_structure); - p_table["surface_perc"] = reinterpret_cast(&(df_structure->surface_perc)) - reinterpret_cast(df_structure); - p_table["strain"] = reinterpret_cast(&(df_structure->strain)) - reinterpret_cast(df_structure); - p_table["effect_perc1"] = reinterpret_cast(&(df_structure->effect_perc1)) - reinterpret_cast(df_structure); - p_table["effect_perc2"] = reinterpret_cast(&(df_structure->effect_perc2)) - reinterpret_cast(df_structure); - p_table["effect_type"] = reinterpret_cast(&(df_structure->effect_type)) - reinterpret_cast(df_structure); - p_table["edged_curve_perc"] = reinterpret_cast(&(df_structure->edged_curve_perc)) - reinterpret_cast(df_structure); - p_table["flags1"] = reinterpret_cast(&(df_structure->flags1)) - reinterpret_cast(df_structure); - p_table["flags2"] = reinterpret_cast(&(df_structure->flags2)) - reinterpret_cast(df_structure); - p_table["bleeding"] = reinterpret_cast(&(df_structure->bleeding)) - reinterpret_cast(df_structure); - p_table["pain"] = reinterpret_cast(&(df_structure->pain)) - reinterpret_cast(df_structure); - p_table["nausea"] = reinterpret_cast(&(df_structure->nausea)) - reinterpret_cast(df_structure); - p_table["dizziness"] = reinterpret_cast(&(df_structure->dizziness)) - reinterpret_cast(df_structure); - p_table["paralysis"] = reinterpret_cast(&(df_structure->paralysis)) - reinterpret_cast(df_structure); - p_table["numbness"] = reinterpret_cast(&(df_structure->numbness)) - reinterpret_cast(df_structure); - p_table["swelling"] = reinterpret_cast(&(df_structure->swelling)) - reinterpret_cast(df_structure); - p_table["impaired"] = reinterpret_cast(&(df_structure->impaired)) - reinterpret_cast(df_structure); - p_table["unk_v42_1"] = reinterpret_cast(&(df_structure->unk_v42_1)) - reinterpret_cast(df_structure); - p_table["unk_v42_2"] = reinterpret_cast(&(df_structure->unk_v42_2)) - reinterpret_cast(df_structure); - p_table["unk_v42_3"] = reinterpret_cast(&(df_structure->unk_v42_3)) - reinterpret_cast(df_structure); - p_table["cur_penetration_perc"] = reinterpret_cast(&(df_structure->cur_penetration_perc)) - reinterpret_cast(df_structure); - p_table["max_penetration_perc"] = reinterpret_cast(&(df_structure->max_penetration_perc)) - reinterpret_cast(df_structure); - p_table["jammed_layer_idx"] = reinterpret_cast(&(df_structure->jammed_layer_idx)) - reinterpret_cast(df_structure); - p_table["unk_v406_1"] = reinterpret_cast(&(df_structure->unk_v406_1)) - reinterpret_cast(df_structure); -} - -void generate_unit_wound_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["parts"] = reinterpret_cast(&(df_structure->parts)) - reinterpret_cast(df_structure); - p_table["age"] = reinterpret_cast(&(df_structure->age)) - reinterpret_cast(df_structure); - p_table["attacker_unit_id"] = reinterpret_cast(&(df_structure->attacker_unit_id)) - reinterpret_cast(df_structure); - p_table["attacker_hist_figure_id"] = reinterpret_cast(&(df_structure->attacker_hist_figure_id)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["syndrome_id"] = reinterpret_cast(&(df_structure->syndrome_id)) - reinterpret_cast(df_structure); - p_table["pain"] = reinterpret_cast(&(df_structure->pain)) - reinterpret_cast(df_structure); - p_table["nausea"] = reinterpret_cast(&(df_structure->nausea)) - reinterpret_cast(df_structure); - p_table["dizziness"] = reinterpret_cast(&(df_structure->dizziness)) - reinterpret_cast(df_structure); - p_table["paralysis"] = reinterpret_cast(&(df_structure->paralysis)) - reinterpret_cast(df_structure); - p_table["numbness"] = reinterpret_cast(&(df_structure->numbness)) - reinterpret_cast(df_structure); - p_table["fever"] = reinterpret_cast(&(df_structure->fever)) - reinterpret_cast(df_structure); - p_table["curse"] = reinterpret_cast(&(df_structure->curse)) - reinterpret_cast(df_structure); - p_table["unk_v42_1"] = reinterpret_cast(&(df_structure->unk_v42_1)) - reinterpret_cast(df_structure); - p_table["unk_v42_2"] = reinterpret_cast(&(df_structure->unk_v42_2)) - reinterpret_cast(df_structure); -} - -void generate_wound_curse_info_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk_v40_1"] = reinterpret_cast(&(df_structure->unk_v40_1)) - reinterpret_cast(df_structure); - p_table["add_tags1"] = reinterpret_cast(&(df_structure->add_tags1)) - reinterpret_cast(df_structure); - p_table["rem_tags1"] = reinterpret_cast(&(df_structure->rem_tags1)) - reinterpret_cast(df_structure); - p_table["add_tags2"] = reinterpret_cast(&(df_structure->add_tags2)) - reinterpret_cast(df_structure); - p_table["rem_tags2"] = reinterpret_cast(&(df_structure->rem_tags2)) - reinterpret_cast(df_structure); - p_table["name_visible"] = reinterpret_cast(&(df_structure->name_visible)) - reinterpret_cast(df_structure); - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["name_plural"] = reinterpret_cast(&(df_structure->name_plural)) - reinterpret_cast(df_structure); - p_table["name_adjective"] = reinterpret_cast(&(df_structure->name_adjective)) - reinterpret_cast(df_structure); - p_table["sym_and_color1"] = reinterpret_cast(&(df_structure->sym_and_color1)) - reinterpret_cast(df_structure); - p_table["sym_and_color2"] = reinterpret_cast(&(df_structure->sym_and_color2)) - reinterpret_cast(df_structure); - p_table["flash_period"] = reinterpret_cast(&(df_structure->flash_period)) - reinterpret_cast(df_structure); - p_table["flash_time2"] = reinterpret_cast(&(df_structure->flash_time2)) - reinterpret_cast(df_structure); - p_table["speed_add"] = reinterpret_cast(&(df_structure->speed_add)) - reinterpret_cast(df_structure); - p_table["speed_mul_percent"] = reinterpret_cast(&(df_structure->speed_mul_percent)) - reinterpret_cast(df_structure); - p_table["attr_change"] = reinterpret_cast(&(df_structure->attr_change)) - reinterpret_cast(df_structure); - p_table["unk_v42_1"] = reinterpret_cast(&(df_structure->unk_v42_1)) - reinterpret_cast(df_structure); - p_table["luck_mul_percent"] = reinterpret_cast(&(df_structure->luck_mul_percent)) - reinterpret_cast(df_structure); - p_table["unk_v42_2"] = reinterpret_cast(&(df_structure->unk_v42_2)) - reinterpret_cast(df_structure); - p_table["interaction_id"] = reinterpret_cast(&(df_structure->interaction_id)) - reinterpret_cast(df_structure); - p_table["interaction_time"] = reinterpret_cast(&(df_structure->interaction_time)) - reinterpret_cast(df_structure); - p_table["time_counter"] = reinterpret_cast(&(df_structure->time_counter)) - reinterpret_cast(df_structure); - p_table["were_race"] = reinterpret_cast(&(df_structure->were_race)) - reinterpret_cast(df_structure); - p_table["were_caste"] = reinterpret_cast(&(df_structure->were_caste)) - reinterpret_cast(df_structure); - p_table["body_appearance"] = reinterpret_cast(&(df_structure->body_appearance)) - reinterpret_cast(df_structure); - p_table["bp_appearance"] = reinterpret_cast(&(df_structure->bp_appearance)) - reinterpret_cast(df_structure); -} - -void generate_unit_misc_trait_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["value"] = reinterpret_cast(&(df_structure->value)) - reinterpret_cast(df_structure); -} - -void generate_unit_health_info__T_op_history__T_info__T_crutch_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); - p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["item_id"] = reinterpret_cast(&(df_structure->item_id)) - reinterpret_cast(df_structure); -} - -void generate_unit_health_info__T_op_history__T_info__T_bandage_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["body_part_id"] = reinterpret_cast(&(df_structure->body_part_id)) - reinterpret_cast(df_structure); - p_table["item_id"] = reinterpret_cast(&(df_structure->item_id)) - reinterpret_cast(df_structure); -} - -void generate_unit_health_info__T_op_history__T_info_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["crutch"] = reinterpret_cast(&(df_structure->crutch)) - reinterpret_cast(df_structure); - p_table["bed_id"] = reinterpret_cast(&(df_structure->bed_id)) - reinterpret_cast(df_structure); - p_table["bandage"] = reinterpret_cast(&(df_structure->bandage)) - reinterpret_cast(df_structure); -} - -void generate_unit_health_info__T_op_history_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["job_type"] = reinterpret_cast(&(df_structure->job_type)) - reinterpret_cast(df_structure); - p_table["info"] = reinterpret_cast(&(df_structure->info)) - reinterpret_cast(df_structure); - p_table["year"] = reinterpret_cast(&(df_structure->year)) - reinterpret_cast(df_structure); - p_table["year_time"] = reinterpret_cast(&(df_structure->year_time)) - reinterpret_cast(df_structure); - p_table["doctor_id"] = reinterpret_cast(&(df_structure->doctor_id)) - reinterpret_cast(df_structure); -} - -void generate_unit_health_info_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unit_id"] = reinterpret_cast(&(df_structure->unit_id)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["body_part_flags"] = reinterpret_cast(&(df_structure->body_part_flags)) - reinterpret_cast(df_structure); - p_table["unk_18_cntdn"] = reinterpret_cast(&(df_structure->unk_18_cntdn)) - reinterpret_cast(df_structure); - p_table["immobilize_cntdn"] = reinterpret_cast(&(df_structure->immobilize_cntdn)) - reinterpret_cast(df_structure); - p_table["dressing_cntdn"] = reinterpret_cast(&(df_structure->dressing_cntdn)) - reinterpret_cast(df_structure); - p_table["suture_cntdn"] = reinterpret_cast(&(df_structure->suture_cntdn)) - reinterpret_cast(df_structure); - p_table["crutch_cntdn"] = reinterpret_cast(&(df_structure->crutch_cntdn)) - reinterpret_cast(df_structure); - p_table["op_history"] = reinterpret_cast(&(df_structure->op_history)) - reinterpret_cast(df_structure); - p_table["unk_34"] = reinterpret_cast(&(df_structure->unk_34)) - reinterpret_cast(df_structure); -} - -void generate_unit_instrument_skill_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["rating"] = reinterpret_cast(&(df_structure->rating)) - reinterpret_cast(df_structure); - p_table["experience"] = reinterpret_cast(&(df_structure->experience)) - reinterpret_cast(df_structure); -} - -void generate_unit_poetic_skill_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["rating"] = reinterpret_cast(&(df_structure->rating)) - reinterpret_cast(df_structure); - p_table["experience"] = reinterpret_cast(&(df_structure->experience)) - reinterpret_cast(df_structure); -} - -void generate_unit_musical_skill_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["rating"] = reinterpret_cast(&(df_structure->rating)) - reinterpret_cast(df_structure); - p_table["experience"] = reinterpret_cast(&(df_structure->experience)) - reinterpret_cast(df_structure); -} - -void generate_unit_dance_skill_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["rating"] = reinterpret_cast(&(df_structure->rating)) - reinterpret_cast(df_structure); - p_table["experience"] = reinterpret_cast(&(df_structure->experience)) - reinterpret_cast(df_structure); -} - -void generate_unit_personality__T_values_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["strength"] = reinterpret_cast(&(df_structure->strength)) - reinterpret_cast(df_structure); -} - -void generate_unit_personality__T_unk_v40_2_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); - p_table["unk2"] = reinterpret_cast(&(df_structure->unk2)) - reinterpret_cast(df_structure); -} - -void generate_unit_personality__T_emotions_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["unk2"] = reinterpret_cast(&(df_structure->unk2)) - reinterpret_cast(df_structure); - p_table["strength"] = reinterpret_cast(&(df_structure->strength)) - reinterpret_cast(df_structure); - p_table["thought"] = reinterpret_cast(&(df_structure->thought)) - reinterpret_cast(df_structure); - p_table["subthought"] = reinterpret_cast(&(df_structure->subthought)) - reinterpret_cast(df_structure); - p_table["severity"] = reinterpret_cast(&(df_structure->severity)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["unk7"] = reinterpret_cast(&(df_structure->unk7)) - reinterpret_cast(df_structure); - p_table["year"] = reinterpret_cast(&(df_structure->year)) - reinterpret_cast(df_structure); - p_table["year_tick"] = reinterpret_cast(&(df_structure->year_tick)) - reinterpret_cast(df_structure); -} - -void generate_unit_personality__T_dreams_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["unk3"] = reinterpret_cast(&(df_structure->unk3)) - reinterpret_cast(df_structure); - p_table["unk4"] = reinterpret_cast(&(df_structure->unk4)) - reinterpret_cast(df_structure); - p_table["unk8"] = reinterpret_cast(&(df_structure->unk8)) - reinterpret_cast(df_structure); -} - -void generate_unit_personality__T_unk_v40_6_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); - p_table["unk2"] = reinterpret_cast(&(df_structure->unk2)) - reinterpret_cast(df_structure); - p_table["unk3"] = reinterpret_cast(&(df_structure->unk3)) - reinterpret_cast(df_structure); - p_table["unk4"] = reinterpret_cast(&(df_structure->unk4)) - reinterpret_cast(df_structure); - p_table["unk5"] = reinterpret_cast(&(df_structure->unk5)) - reinterpret_cast(df_structure); - p_table["unk6"] = reinterpret_cast(&(df_structure->unk6)) - reinterpret_cast(df_structure); -} - -void generate_unit_personality__T_unk5_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); - p_table["unk2"] = reinterpret_cast(&(df_structure->unk2)) - reinterpret_cast(df_structure); -} - -void generate_unit_personality__T_needs_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["deity_id"] = reinterpret_cast(&(df_structure->deity_id)) - reinterpret_cast(df_structure); - p_table["focus_level"] = reinterpret_cast(&(df_structure->focus_level)) - reinterpret_cast(df_structure); - p_table["need_level"] = reinterpret_cast(&(df_structure->need_level)) - reinterpret_cast(df_structure); -} - -void generate_unit_personality_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["values"] = reinterpret_cast(&(df_structure->values)) - reinterpret_cast(df_structure); - p_table["unk_v40_2"] = reinterpret_cast(&(df_structure->unk_v40_2)) - reinterpret_cast(df_structure); - p_table["emotions"] = reinterpret_cast(&(df_structure->emotions)) - reinterpret_cast(df_structure); - p_table["dreams"] = reinterpret_cast(&(df_structure->dreams)) - reinterpret_cast(df_structure); - p_table["next_dream_id"] = reinterpret_cast(&(df_structure->next_dream_id)) - reinterpret_cast(df_structure); - p_table["unk_v40_6"] = reinterpret_cast(&(df_structure->unk_v40_6)) - reinterpret_cast(df_structure); - p_table["traits"] = reinterpret_cast(&(df_structure->traits)) - reinterpret_cast(df_structure); - p_table["civ_id"] = reinterpret_cast(&(df_structure->civ_id)) - reinterpret_cast(df_structure); - p_table["cultural_identity"] = reinterpret_cast(&(df_structure->cultural_identity)) - reinterpret_cast(df_structure); - p_table["unk5"] = reinterpret_cast(&(df_structure->unk5)) - reinterpret_cast(df_structure); - p_table["unk6"] = reinterpret_cast(&(df_structure->unk6)) - reinterpret_cast(df_structure); - p_table["stress_level"] = reinterpret_cast(&(df_structure->stress_level)) - reinterpret_cast(df_structure); - p_table["stress_drain"] = reinterpret_cast(&(df_structure->stress_drain)) - reinterpret_cast(df_structure); - p_table["stress_boost"] = reinterpret_cast(&(df_structure->stress_boost)) - reinterpret_cast(df_structure); - p_table["likes_outdoors"] = reinterpret_cast(&(df_structure->likes_outdoors)) - reinterpret_cast(df_structure); - p_table["combat_hardened"] = reinterpret_cast(&(df_structure->combat_hardened)) - reinterpret_cast(df_structure); - p_table["needs"] = reinterpret_cast(&(df_structure->needs)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["temporary_trait_changes"] = reinterpret_cast(&(df_structure->temporary_trait_changes)) - reinterpret_cast(df_structure); - p_table["unk_v4201_3"] = reinterpret_cast(&(df_structure->unk_v4201_3)) - reinterpret_cast(df_structure); - p_table["unk_v4201_4"] = reinterpret_cast(&(df_structure->unk_v4201_4)) - reinterpret_cast(df_structure); - p_table["unk_v4410_1"] = reinterpret_cast(&(df_structure->unk_v4410_1)) - reinterpret_cast(df_structure); - p_table["current_focus"] = reinterpret_cast(&(df_structure->current_focus)) - reinterpret_cast(df_structure); - p_table["undistracted_focus"] = reinterpret_cast(&(df_structure->undistracted_focus)) - reinterpret_cast(df_structure); -} - -void generate_historical_figure_info__T_skills_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["skills"] = reinterpret_cast(&(df_structure->skills)) - reinterpret_cast(df_structure); - p_table["points"] = reinterpret_cast(&(df_structure->points)) - reinterpret_cast(df_structure); - p_table["unk_20"] = reinterpret_cast(&(df_structure->unk_20)) - reinterpret_cast(df_structure); - p_table["unk_30"] = reinterpret_cast(&(df_structure->unk_30)) - reinterpret_cast(df_structure); - p_table["profession"] = reinterpret_cast(&(df_structure->profession)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_historical_figure_info__T_personality_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); -} - -void generate_historical_figure_info__T_masterpieces_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["events"] = reinterpret_cast(&(df_structure->events)) - reinterpret_cast(df_structure); - p_table["events2"] = reinterpret_cast(&(df_structure->events2)) - reinterpret_cast(df_structure); - p_table["unk_v43_1"] = reinterpret_cast(&(df_structure->unk_v43_1)) - reinterpret_cast(df_structure); - p_table["unk_v43_2"] = reinterpret_cast(&(df_structure->unk_v43_2)) - reinterpret_cast(df_structure); -} - -void generate_historical_figure_info__T_unk_14_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk_0"] = reinterpret_cast(&(df_structure->unk_0)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["region_id"] = reinterpret_cast(&(df_structure->region_id)) - reinterpret_cast(df_structure); - p_table["beast_id"] = reinterpret_cast(&(df_structure->beast_id)) - reinterpret_cast(df_structure); - p_table["army_id"] = reinterpret_cast(&(df_structure->army_id)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); - p_table["unk_14"] = reinterpret_cast(&(df_structure->unk_14)) - reinterpret_cast(df_structure); - p_table["unk_18"] = reinterpret_cast(&(df_structure->unk_18)) - reinterpret_cast(df_structure); - p_table["unk_1c"] = reinterpret_cast(&(df_structure->unk_1c)) - reinterpret_cast(df_structure); - p_table["unk_34"] = reinterpret_cast(&(df_structure->unk_34)) - reinterpret_cast(df_structure); - p_table["unk_38"] = reinterpret_cast(&(df_structure->unk_38)) - reinterpret_cast(df_structure); - p_table["unk_3a"] = reinterpret_cast(&(df_structure->unk_3a)) - reinterpret_cast(df_structure); -} - -void generate_historical_figure_info__T_wounds_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["events"] = reinterpret_cast(&(df_structure->events)) - reinterpret_cast(df_structure); - p_table["status"] = reinterpret_cast(&(df_structure->status)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); -} - -void generate_historical_figure_info__T_secret__T_anon_1_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); -} - -void generate_historical_figure_info__T_secret__T_anon_7_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); -} - -void generate_historical_figure_info__T_secret__T_knowledge_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["philosophy"] = reinterpret_cast(&(df_structure->philosophy)) - reinterpret_cast(df_structure); - p_table["philosophy2"] = reinterpret_cast(&(df_structure->philosophy2)) - reinterpret_cast(df_structure); - p_table["math"] = reinterpret_cast(&(df_structure->math)) - reinterpret_cast(df_structure); - p_table["math2"] = reinterpret_cast(&(df_structure->math2)) - reinterpret_cast(df_structure); - p_table["history"] = reinterpret_cast(&(df_structure->history)) - reinterpret_cast(df_structure); - p_table["astronomy"] = reinterpret_cast(&(df_structure->astronomy)) - reinterpret_cast(df_structure); - p_table["naturalist"] = reinterpret_cast(&(df_structure->naturalist)) - reinterpret_cast(df_structure); - p_table["chemistry"] = reinterpret_cast(&(df_structure->chemistry)) - reinterpret_cast(df_structure); - p_table["geography"] = reinterpret_cast(&(df_structure->geography)) - reinterpret_cast(df_structure); - p_table["medicine"] = reinterpret_cast(&(df_structure->medicine)) - reinterpret_cast(df_structure); - p_table["medicine2"] = reinterpret_cast(&(df_structure->medicine2)) - reinterpret_cast(df_structure); - p_table["medicine3"] = reinterpret_cast(&(df_structure->medicine3)) - reinterpret_cast(df_structure); - p_table["engineering"] = reinterpret_cast(&(df_structure->engineering)) - reinterpret_cast(df_structure); - p_table["engineering2"] = reinterpret_cast(&(df_structure->engineering2)) - reinterpret_cast(df_structure); - p_table["knowledge_goal_category"] = reinterpret_cast(&(df_structure->knowledge_goal_category)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["knowledge_goal"] = reinterpret_cast(&(df_structure->knowledge_goal)) - reinterpret_cast(df_structure); - p_table["research_points"] = reinterpret_cast(&(df_structure->research_points)) - reinterpret_cast(df_structure); - p_table["times_pondered"] = reinterpret_cast(&(df_structure->times_pondered)) - reinterpret_cast(df_structure); -} - -void generate_historical_figure_info__T_secret__T_unk_a8_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); -} - -void generate_historical_figure_info__T_secret_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["interactions"] = reinterpret_cast(&(df_structure->interactions)) - reinterpret_cast(df_structure); - p_table["unk_10"] = reinterpret_cast(&(df_structure->unk_10)) - reinterpret_cast(df_structure); - p_table["known_written_contents"] = reinterpret_cast(&(df_structure->known_written_contents)) - reinterpret_cast(df_structure); - p_table["known_identities"] = reinterpret_cast(&(df_structure->known_identities)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); - p_table["known_poetic_forms"] = reinterpret_cast(&(df_structure->known_poetic_forms)) - reinterpret_cast(df_structure); - p_table["known_musical_forms"] = reinterpret_cast(&(df_structure->known_musical_forms)) - reinterpret_cast(df_structure); - p_table["known_dance_forms"] = reinterpret_cast(&(df_structure->known_dance_forms)) - reinterpret_cast(df_structure); - p_table["knowledge"] = reinterpret_cast(&(df_structure->knowledge)) - reinterpret_cast(df_structure); - p_table["belief_systems"] = reinterpret_cast(&(df_structure->belief_systems)) - reinterpret_cast(df_structure); - p_table["unk_a8"] = reinterpret_cast(&(df_structure->unk_a8)) - reinterpret_cast(df_structure); -} - -void generate_historical_figure_info__T_curse_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["active_interactions"] = reinterpret_cast(&(df_structure->active_interactions)) - reinterpret_cast(df_structure); - p_table["active_effects"] = reinterpret_cast(&(df_structure->active_effects)) - reinterpret_cast(df_structure); - p_table["can_do"] = reinterpret_cast(&(df_structure->can_do)) - reinterpret_cast(df_structure); - p_table["unk_30"] = reinterpret_cast(&(df_structure->unk_30)) - reinterpret_cast(df_structure); - p_table["unk_34"] = reinterpret_cast(&(df_structure->unk_34)) - reinterpret_cast(df_structure); - p_table["unk_38"] = reinterpret_cast(&(df_structure->unk_38)) - reinterpret_cast(df_structure); - p_table["unk_3c"] = reinterpret_cast(&(df_structure->unk_3c)) - reinterpret_cast(df_structure); - p_table["unk_40"] = reinterpret_cast(&(df_structure->unk_40)) - reinterpret_cast(df_structure); - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["name_plural"] = reinterpret_cast(&(df_structure->name_plural)) - reinterpret_cast(df_structure); - p_table["name_adjective"] = reinterpret_cast(&(df_structure->name_adjective)) - reinterpret_cast(df_structure); - p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); - p_table["caste"] = reinterpret_cast(&(df_structure->caste)) - reinterpret_cast(df_structure); - p_table["unk_a0"] = reinterpret_cast(&(df_structure->unk_a0)) - reinterpret_cast(df_structure); - p_table["unk_b0"] = reinterpret_cast(&(df_structure->unk_b0)) - reinterpret_cast(df_structure); - p_table["unk_c0"] = reinterpret_cast(&(df_structure->unk_c0)) - reinterpret_cast(df_structure); - p_table["original_histfig_id"] = reinterpret_cast(&(df_structure->original_histfig_id)) - reinterpret_cast(df_structure); - p_table["original_race"] = reinterpret_cast(&(df_structure->original_race)) - reinterpret_cast(df_structure); - p_table["original_caste"] = reinterpret_cast(&(df_structure->original_caste)) - reinterpret_cast(df_structure); - p_table["root_body_part_id"] = reinterpret_cast(&(df_structure->root_body_part_id)) - reinterpret_cast(df_structure); - p_table["undead_name"] = reinterpret_cast(&(df_structure->undead_name)) - reinterpret_cast(df_structure); - p_table["unk_fc"] = reinterpret_cast(&(df_structure->unk_fc)) - reinterpret_cast(df_structure); -} - -void generate_historical_figure_info__T_books_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); -} - -void generate_historical_figure_info__T_reputation__T_wanted_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["entity_id"] = reinterpret_cast(&(df_structure->entity_id)) - reinterpret_cast(df_structure); - p_table["types"] = reinterpret_cast(&(df_structure->types)) - reinterpret_cast(df_structure); - p_table["levels"] = reinterpret_cast(&(df_structure->levels)) - reinterpret_cast(df_structure); - p_table["discovered_year"] = reinterpret_cast(&(df_structure->discovered_year)) - reinterpret_cast(df_structure); - p_table["discovered_time"] = reinterpret_cast(&(df_structure->discovered_time)) - reinterpret_cast(df_structure); - p_table["unsolved_murders"] = reinterpret_cast(&(df_structure->unsolved_murders)) - reinterpret_cast(df_structure); -} - -void generate_historical_figure_info__T_reputation__T_anon_1_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["entity_id"] = reinterpret_cast(&(df_structure->entity_id)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["discovered_year"] = reinterpret_cast(&(df_structure->discovered_year)) - reinterpret_cast(df_structure); - p_table["discovered_time"] = reinterpret_cast(&(df_structure->discovered_time)) - reinterpret_cast(df_structure); - p_table["unsolved_murders"] = reinterpret_cast(&(df_structure->unsolved_murders)) - reinterpret_cast(df_structure); -} - -void generate_historical_figure_info__T_reputation__T_unk_2c__T_anon_12_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); -} - -void generate_historical_figure_info__T_reputation__T_unk_2c_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); - p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); - p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); - p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); - p_table["anon_11"] = reinterpret_cast(&(df_structure->anon_11)) - reinterpret_cast(df_structure); - p_table["anon_12"] = reinterpret_cast(&(df_structure->anon_12)) - reinterpret_cast(df_structure); - p_table["anon_13"] = reinterpret_cast(&(df_structure->anon_13)) - reinterpret_cast(df_structure); -} - -void generate_historical_figure_info__T_reputation_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["wanted"] = reinterpret_cast(&(df_structure->wanted)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["cur_identity"] = reinterpret_cast(&(df_structure->cur_identity)) - reinterpret_cast(df_structure); - p_table["all_identities"] = reinterpret_cast(&(df_structure->all_identities)) - reinterpret_cast(df_structure); - p_table["next_identity_idx"] = reinterpret_cast(&(df_structure->next_identity_idx)) - reinterpret_cast(df_structure); - p_table["unk_2c"] = reinterpret_cast(&(df_structure->unk_2c)) - reinterpret_cast(df_structure); -} - -void generate_historical_figure_info__T_relationships__T_list_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["histfig_id"] = reinterpret_cast(&(df_structure->histfig_id)) - reinterpret_cast(df_structure); - p_table["unk_1"] = reinterpret_cast(&(df_structure->unk_1)) - reinterpret_cast(df_structure); - p_table["unk_2v"] = reinterpret_cast(&(df_structure->unk_2v)) - reinterpret_cast(df_structure); - p_table["attitude"] = reinterpret_cast(&(df_structure->attitude)) - reinterpret_cast(df_structure); - p_table["counter"] = reinterpret_cast(&(df_structure->counter)) - reinterpret_cast(df_structure); - p_table["rank"] = reinterpret_cast(&(df_structure->rank)) - reinterpret_cast(df_structure); - p_table["year"] = reinterpret_cast(&(df_structure->year)) - reinterpret_cast(df_structure); - p_table["year_tick"] = reinterpret_cast(&(df_structure->year_tick)) - reinterpret_cast(df_structure); - p_table["unk_3a"] = reinterpret_cast(&(df_structure->unk_3a)) - reinterpret_cast(df_structure); - p_table["unk_3b"] = reinterpret_cast(&(df_structure->unk_3b)) - reinterpret_cast(df_structure); - p_table["unk_3c"] = reinterpret_cast(&(df_structure->unk_3c)) - reinterpret_cast(df_structure); -} - -void generate_historical_figure_info__T_relationships__T_anon_1_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); -} - -void generate_historical_figure_info__T_relationships__T_anon_2_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); -} - -void generate_historical_figure_info__T_relationships__T_anon_3_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); -} - -void generate_historical_figure_info__T_relationships_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["list"] = reinterpret_cast(&(df_structure->list)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["identities"] = reinterpret_cast(&(df_structure->identities)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); -} - -void generate_historical_figure_info_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["spheres"] = reinterpret_cast(&(df_structure->spheres)) - reinterpret_cast(df_structure); - p_table["skills"] = reinterpret_cast(&(df_structure->skills)) - reinterpret_cast(df_structure); - p_table["pets"] = reinterpret_cast(&(df_structure->pets)) - reinterpret_cast(df_structure); - p_table["personality"] = reinterpret_cast(&(df_structure->personality)) - reinterpret_cast(df_structure); - p_table["masterpieces"] = reinterpret_cast(&(df_structure->masterpieces)) - reinterpret_cast(df_structure); - p_table["unk_14"] = reinterpret_cast(&(df_structure->unk_14)) - reinterpret_cast(df_structure); - p_table["kills"] = reinterpret_cast(&(df_structure->kills)) - reinterpret_cast(df_structure); - p_table["wounds"] = reinterpret_cast(&(df_structure->wounds)) - reinterpret_cast(df_structure); - p_table["secret"] = reinterpret_cast(&(df_structure->secret)) - reinterpret_cast(df_structure); - p_table["curse"] = reinterpret_cast(&(df_structure->curse)) - reinterpret_cast(df_structure); - p_table["books"] = reinterpret_cast(&(df_structure->books)) - reinterpret_cast(df_structure); - p_table["reputation"] = reinterpret_cast(&(df_structure->reputation)) - reinterpret_cast(df_structure); - p_table["relationships"] = reinterpret_cast(&(df_structure->relationships)) - reinterpret_cast(df_structure); -} - -void generate_unit_soul__T_performance_skills_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["musical_instruments"] = reinterpret_cast(&(df_structure->musical_instruments)) - reinterpret_cast(df_structure); - p_table["poetic_forms"] = reinterpret_cast(&(df_structure->poetic_forms)) - reinterpret_cast(df_structure); - p_table["musical_forms"] = reinterpret_cast(&(df_structure->musical_forms)) - reinterpret_cast(df_structure); - p_table["dance_forms"] = reinterpret_cast(&(df_structure->dance_forms)) - reinterpret_cast(df_structure); -} - -void generate_unit_soul_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); - p_table["sex"] = reinterpret_cast(&(df_structure->sex)) - reinterpret_cast(df_structure); - p_table["caste"] = reinterpret_cast(&(df_structure->caste)) - reinterpret_cast(df_structure); - p_table["orientation_flags"] = reinterpret_cast(&(df_structure->orientation_flags)) - reinterpret_cast(df_structure); - p_table["unk2"] = reinterpret_cast(&(df_structure->unk2)) - reinterpret_cast(df_structure); - p_table["unk3"] = reinterpret_cast(&(df_structure->unk3)) - reinterpret_cast(df_structure); - p_table["unk4"] = reinterpret_cast(&(df_structure->unk4)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["mental_attrs"] = reinterpret_cast(&(df_structure->mental_attrs)) - reinterpret_cast(df_structure); - p_table["skills"] = reinterpret_cast(&(df_structure->skills)) - reinterpret_cast(df_structure); - p_table["preferences"] = reinterpret_cast(&(df_structure->preferences)) - reinterpret_cast(df_structure); - p_table["personality"] = reinterpret_cast(&(df_structure->personality)) - reinterpret_cast(df_structure); - p_table["performance_skills"] = reinterpret_cast(&(df_structure->performance_skills)) - reinterpret_cast(df_structure); -} - -void generate_unit_action__T_data__T_move_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["x"] = reinterpret_cast(&(df_structure->x)) - reinterpret_cast(df_structure); - p_table["y"] = reinterpret_cast(&(df_structure->y)) - reinterpret_cast(df_structure); - p_table["z"] = reinterpret_cast(&(df_structure->z)) - reinterpret_cast(df_structure); - p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); - p_table["timer_init"] = reinterpret_cast(&(df_structure->timer_init)) - reinterpret_cast(df_structure); - p_table["fatigue"] = reinterpret_cast(&(df_structure->fatigue)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); -} - -void generate_unit_action__T_data__T_attack__T_unk_4_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["wrestle_type"] = reinterpret_cast(&(df_structure->wrestle_type)) - reinterpret_cast(df_structure); - p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); - p_table["unk_6"] = reinterpret_cast(&(df_structure->unk_6)) - reinterpret_cast(df_structure); - p_table["unk_8"] = reinterpret_cast(&(df_structure->unk_8)) - reinterpret_cast(df_structure); - p_table["unk_c"] = reinterpret_cast(&(df_structure->unk_c)) - reinterpret_cast(df_structure); - p_table["unk_10"] = reinterpret_cast(&(df_structure->unk_10)) - reinterpret_cast(df_structure); - p_table["unk_14"] = reinterpret_cast(&(df_structure->unk_14)) - reinterpret_cast(df_structure); -} - -void generate_unit_action__T_data__T_attack_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["target_unit_id"] = reinterpret_cast(&(df_structure->target_unit_id)) - reinterpret_cast(df_structure); - p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); - p_table["attack_item_id"] = reinterpret_cast(&(df_structure->attack_item_id)) - reinterpret_cast(df_structure); - p_table["target_body_part_id"] = reinterpret_cast(&(df_structure->target_body_part_id)) - reinterpret_cast(df_structure); - p_table["attack_body_part_id"] = reinterpret_cast(&(df_structure->attack_body_part_id)) - reinterpret_cast(df_structure); - p_table["attack_id"] = reinterpret_cast(&(df_structure->attack_id)) - reinterpret_cast(df_structure); - p_table["unk_28"] = reinterpret_cast(&(df_structure->unk_28)) - reinterpret_cast(df_structure); - p_table["unk_2c"] = reinterpret_cast(&(df_structure->unk_2c)) - reinterpret_cast(df_structure); - p_table["attack_velocity"] = reinterpret_cast(&(df_structure->attack_velocity)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["attack_skill"] = reinterpret_cast(&(df_structure->attack_skill)) - reinterpret_cast(df_structure); - p_table["attack_accuracy"] = reinterpret_cast(&(df_structure->attack_accuracy)) - reinterpret_cast(df_structure); - p_table["timer1"] = reinterpret_cast(&(df_structure->timer1)) - reinterpret_cast(df_structure); - p_table["timer2"] = reinterpret_cast(&(df_structure->timer2)) - reinterpret_cast(df_structure); -} - -void generate_unit_action__T_data__T_jump_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["x1"] = reinterpret_cast(&(df_structure->x1)) - reinterpret_cast(df_structure); - p_table["y1"] = reinterpret_cast(&(df_structure->y1)) - reinterpret_cast(df_structure); - p_table["z1"] = reinterpret_cast(&(df_structure->z1)) - reinterpret_cast(df_structure); - p_table["x2"] = reinterpret_cast(&(df_structure->x2)) - reinterpret_cast(df_structure); - p_table["y2"] = reinterpret_cast(&(df_structure->y2)) - reinterpret_cast(df_structure); - p_table["z2"] = reinterpret_cast(&(df_structure->z2)) - reinterpret_cast(df_structure); -} - -void generate_unit_action__T_data__T_holdterrain_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["x1"] = reinterpret_cast(&(df_structure->x1)) - reinterpret_cast(df_structure); - p_table["y1"] = reinterpret_cast(&(df_structure->y1)) - reinterpret_cast(df_structure); - p_table["z1"] = reinterpret_cast(&(df_structure->z1)) - reinterpret_cast(df_structure); - p_table["x2"] = reinterpret_cast(&(df_structure->x2)) - reinterpret_cast(df_structure); - p_table["y2"] = reinterpret_cast(&(df_structure->y2)) - reinterpret_cast(df_structure); - p_table["z2"] = reinterpret_cast(&(df_structure->z2)) - reinterpret_cast(df_structure); - p_table["x3"] = reinterpret_cast(&(df_structure->x3)) - reinterpret_cast(df_structure); - p_table["y3"] = reinterpret_cast(&(df_structure->y3)) - reinterpret_cast(df_structure); - p_table["z3"] = reinterpret_cast(&(df_structure->z3)) - reinterpret_cast(df_structure); - p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); - p_table["fatigue"] = reinterpret_cast(&(df_structure->fatigue)) - reinterpret_cast(df_structure); -} - -void generate_unit_action__T_data__T_releaseterrain_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["x"] = reinterpret_cast(&(df_structure->x)) - reinterpret_cast(df_structure); - p_table["y"] = reinterpret_cast(&(df_structure->y)) - reinterpret_cast(df_structure); - p_table["z"] = reinterpret_cast(&(df_structure->z)) - reinterpret_cast(df_structure); -} - -void generate_unit_action__T_data__T_climb_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["x1"] = reinterpret_cast(&(df_structure->x1)) - reinterpret_cast(df_structure); - p_table["y1"] = reinterpret_cast(&(df_structure->y1)) - reinterpret_cast(df_structure); - p_table["z1"] = reinterpret_cast(&(df_structure->z1)) - reinterpret_cast(df_structure); - p_table["x2"] = reinterpret_cast(&(df_structure->x2)) - reinterpret_cast(df_structure); - p_table["y2"] = reinterpret_cast(&(df_structure->y2)) - reinterpret_cast(df_structure); - p_table["z2"] = reinterpret_cast(&(df_structure->z2)) - reinterpret_cast(df_structure); - p_table["x3"] = reinterpret_cast(&(df_structure->x3)) - reinterpret_cast(df_structure); - p_table["y3"] = reinterpret_cast(&(df_structure->y3)) - reinterpret_cast(df_structure); - p_table["z3"] = reinterpret_cast(&(df_structure->z3)) - reinterpret_cast(df_structure); - p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); - p_table["timer_init"] = reinterpret_cast(&(df_structure->timer_init)) - reinterpret_cast(df_structure); - p_table["fatigue"] = reinterpret_cast(&(df_structure->fatigue)) - reinterpret_cast(df_structure); -} - -void generate_unit_action__T_data__T_job_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["x"] = reinterpret_cast(&(df_structure->x)) - reinterpret_cast(df_structure); - p_table["y"] = reinterpret_cast(&(df_structure->y)) - reinterpret_cast(df_structure); - p_table["z"] = reinterpret_cast(&(df_structure->z)) - reinterpret_cast(df_structure); - p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); -} - -void generate_unit_action__T_data__T_talk_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk_0"] = reinterpret_cast(&(df_structure->unk_0)) - reinterpret_cast(df_structure); - p_table["activity_id"] = reinterpret_cast(&(df_structure->activity_id)) - reinterpret_cast(df_structure); - p_table["activity_event_idx"] = reinterpret_cast(&(df_structure->activity_event_idx)) - reinterpret_cast(df_structure); - p_table["event"] = reinterpret_cast(&(df_structure->event)) - reinterpret_cast(df_structure); - p_table["unk_34"] = reinterpret_cast(&(df_structure->unk_34)) - reinterpret_cast(df_structure); - p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); - p_table["unk_3c"] = reinterpret_cast(&(df_structure->unk_3c)) - reinterpret_cast(df_structure); - p_table["unk_40"] = reinterpret_cast(&(df_structure->unk_40)) - reinterpret_cast(df_structure); - p_table["unk_44"] = reinterpret_cast(&(df_structure->unk_44)) - reinterpret_cast(df_structure); - p_table["unk_48"] = reinterpret_cast(&(df_structure->unk_48)) - reinterpret_cast(df_structure); - p_table["unk_4c"] = reinterpret_cast(&(df_structure->unk_4c)) - reinterpret_cast(df_structure); - p_table["unk_50"] = reinterpret_cast(&(df_structure->unk_50)) - reinterpret_cast(df_structure); - p_table["unk_54"] = reinterpret_cast(&(df_structure->unk_54)) - reinterpret_cast(df_structure); -} - -void generate_unit_action__T_data__T_unsteady_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); -} - -void generate_unit_action__T_data__T_parry_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unit_id"] = reinterpret_cast(&(df_structure->unit_id)) - reinterpret_cast(df_structure); - p_table["target_action"] = reinterpret_cast(&(df_structure->target_action)) - reinterpret_cast(df_structure); - p_table["parry_item_id"] = reinterpret_cast(&(df_structure->parry_item_id)) - reinterpret_cast(df_structure); -} - -void generate_unit_action__T_data__T_block_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unit_id"] = reinterpret_cast(&(df_structure->unit_id)) - reinterpret_cast(df_structure); - p_table["target_action"] = reinterpret_cast(&(df_structure->target_action)) - reinterpret_cast(df_structure); - p_table["block_item_id"] = reinterpret_cast(&(df_structure->block_item_id)) - reinterpret_cast(df_structure); -} - -void generate_unit_action__T_data__T_dodge_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["x1"] = reinterpret_cast(&(df_structure->x1)) - reinterpret_cast(df_structure); - p_table["y1"] = reinterpret_cast(&(df_structure->y1)) - reinterpret_cast(df_structure); - p_table["z1"] = reinterpret_cast(&(df_structure->z1)) - reinterpret_cast(df_structure); - p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); - p_table["x2"] = reinterpret_cast(&(df_structure->x2)) - reinterpret_cast(df_structure); - p_table["y2"] = reinterpret_cast(&(df_structure->y2)) - reinterpret_cast(df_structure); - p_table["z2"] = reinterpret_cast(&(df_structure->z2)) - reinterpret_cast(df_structure); -} - -void generate_unit_action__T_data__T_recover_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); - p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); -} - -void generate_unit_action__T_data__T_standup_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); -} - -void generate_unit_action__T_data__T_liedown_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); -} - -void generate_unit_action__T_data__T_job2_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); -} - -void generate_unit_action__T_data__T_pushobject_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["x1"] = reinterpret_cast(&(df_structure->x1)) - reinterpret_cast(df_structure); - p_table["y1"] = reinterpret_cast(&(df_structure->y1)) - reinterpret_cast(df_structure); - p_table["z1"] = reinterpret_cast(&(df_structure->z1)) - reinterpret_cast(df_structure); - p_table["x2"] = reinterpret_cast(&(df_structure->x2)) - reinterpret_cast(df_structure); - p_table["y2"] = reinterpret_cast(&(df_structure->y2)) - reinterpret_cast(df_structure); - p_table["z2"] = reinterpret_cast(&(df_structure->z2)) - reinterpret_cast(df_structure); - p_table["x3"] = reinterpret_cast(&(df_structure->x3)) - reinterpret_cast(df_structure); - p_table["y3"] = reinterpret_cast(&(df_structure->y3)) - reinterpret_cast(df_structure); - p_table["z3"] = reinterpret_cast(&(df_structure->z3)) - reinterpret_cast(df_structure); - p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); - p_table["unk_18"] = reinterpret_cast(&(df_structure->unk_18)) - reinterpret_cast(df_structure); -} - -void generate_unit_action__T_data__T_suckblood_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unit_id"] = reinterpret_cast(&(df_structure->unit_id)) - reinterpret_cast(df_structure); - p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); -} - -void generate_unit_action__T_data__T_holditem_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["x1"] = reinterpret_cast(&(df_structure->x1)) - reinterpret_cast(df_structure); - p_table["y1"] = reinterpret_cast(&(df_structure->y1)) - reinterpret_cast(df_structure); - p_table["z1"] = reinterpret_cast(&(df_structure->z1)) - reinterpret_cast(df_structure); - p_table["x2"] = reinterpret_cast(&(df_structure->x2)) - reinterpret_cast(df_structure); - p_table["y2"] = reinterpret_cast(&(df_structure->y2)) - reinterpret_cast(df_structure); - p_table["z2"] = reinterpret_cast(&(df_structure->z2)) - reinterpret_cast(df_structure); - p_table["unk_c"] = reinterpret_cast(&(df_structure->unk_c)) - reinterpret_cast(df_structure); - p_table["unk_10"] = reinterpret_cast(&(df_structure->unk_10)) - reinterpret_cast(df_structure); - p_table["unk_14"] = reinterpret_cast(&(df_structure->unk_14)) - reinterpret_cast(df_structure); -} - -void generate_unit_action__T_data__T_releaseitem_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk_0"] = reinterpret_cast(&(df_structure->unk_0)) - reinterpret_cast(df_structure); -} - -void generate_unit_action__T_data_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["move"] = reinterpret_cast(&(df_structure->move)) - reinterpret_cast(df_structure); - p_table["attack"] = reinterpret_cast(&(df_structure->attack)) - reinterpret_cast(df_structure); - p_table["jump"] = reinterpret_cast(&(df_structure->jump)) - reinterpret_cast(df_structure); - p_table["holdterrain"] = reinterpret_cast(&(df_structure->holdterrain)) - reinterpret_cast(df_structure); - p_table["releaseterrain"] = reinterpret_cast(&(df_structure->releaseterrain)) - reinterpret_cast(df_structure); - p_table["climb"] = reinterpret_cast(&(df_structure->climb)) - reinterpret_cast(df_structure); - p_table["job"] = reinterpret_cast(&(df_structure->job)) - reinterpret_cast(df_structure); - p_table["talk"] = reinterpret_cast(&(df_structure->talk)) - reinterpret_cast(df_structure); - p_table["unsteady"] = reinterpret_cast(&(df_structure->unsteady)) - reinterpret_cast(df_structure); - p_table["parry"] = reinterpret_cast(&(df_structure->parry)) - reinterpret_cast(df_structure); - p_table["block"] = reinterpret_cast(&(df_structure->block)) - reinterpret_cast(df_structure); - p_table["dodge"] = reinterpret_cast(&(df_structure->dodge)) - reinterpret_cast(df_structure); - p_table["recover"] = reinterpret_cast(&(df_structure->recover)) - reinterpret_cast(df_structure); - p_table["standup"] = reinterpret_cast(&(df_structure->standup)) - reinterpret_cast(df_structure); - p_table["liedown"] = reinterpret_cast(&(df_structure->liedown)) - reinterpret_cast(df_structure); - p_table["job2"] = reinterpret_cast(&(df_structure->job2)) - reinterpret_cast(df_structure); - p_table["pushobject"] = reinterpret_cast(&(df_structure->pushobject)) - reinterpret_cast(df_structure); - p_table["suckblood"] = reinterpret_cast(&(df_structure->suckblood)) - reinterpret_cast(df_structure); - p_table["holditem"] = reinterpret_cast(&(df_structure->holditem)) - reinterpret_cast(df_structure); - p_table["releaseitem"] = reinterpret_cast(&(df_structure->releaseitem)) - reinterpret_cast(df_structure); - p_table["raw_data"] = reinterpret_cast(&(df_structure->raw_data)) - reinterpret_cast(df_structure); -} - -void generate_unit_action_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["data"] = reinterpret_cast(&(df_structure->data)) - reinterpret_cast(df_structure); -} - -void generate_unit_skill_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["rating"] = reinterpret_cast(&(df_structure->rating)) - reinterpret_cast(df_structure); - p_table["experience"] = reinterpret_cast(&(df_structure->experience)) - reinterpret_cast(df_structure); - p_table["unused_counter"] = reinterpret_cast(&(df_structure->unused_counter)) - reinterpret_cast(df_structure); - p_table["rusty"] = reinterpret_cast(&(df_structure->rusty)) - reinterpret_cast(df_structure); - p_table["rust_counter"] = reinterpret_cast(&(df_structure->rust_counter)) - reinterpret_cast(df_structure); - p_table["demotion_counter"] = reinterpret_cast(&(df_structure->demotion_counter)) - reinterpret_cast(df_structure); - p_table["natural_skill_lvl"] = reinterpret_cast(&(df_structure->natural_skill_lvl)) - reinterpret_cast(df_structure); -} - -void generate_unit_preference_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); - p_table["creature_id"] = reinterpret_cast(&(df_structure->creature_id)) - reinterpret_cast(df_structure); - p_table["color_id"] = reinterpret_cast(&(df_structure->color_id)) - reinterpret_cast(df_structure); - p_table["shape_id"] = reinterpret_cast(&(df_structure->shape_id)) - reinterpret_cast(df_structure); - p_table["plant_id"] = reinterpret_cast(&(df_structure->plant_id)) - reinterpret_cast(df_structure); - p_table["poetic_form_id"] = reinterpret_cast(&(df_structure->poetic_form_id)) - reinterpret_cast(df_structure); - p_table["musical_form_id"] = reinterpret_cast(&(df_structure->musical_form_id)) - reinterpret_cast(df_structure); - p_table["dance_form_id"] = reinterpret_cast(&(df_structure->dance_form_id)) - reinterpret_cast(df_structure); - p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); - p_table["mattype"] = reinterpret_cast(&(df_structure->mattype)) - reinterpret_cast(df_structure); - p_table["matindex"] = reinterpret_cast(&(df_structure->matindex)) - reinterpret_cast(df_structure); - p_table["mat_state"] = reinterpret_cast(&(df_structure->mat_state)) - reinterpret_cast(df_structure); - p_table["active"] = reinterpret_cast(&(df_structure->active)) - reinterpret_cast(df_structure); - p_table["prefstring_seed"] = reinterpret_cast(&(df_structure->prefstring_seed)) - reinterpret_cast(df_structure); -} - -void generate_unit_complaint_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["guild"] = reinterpret_cast(&(df_structure->guild)) - reinterpret_cast(df_structure); - p_table["age"] = reinterpret_cast(&(df_structure->age)) - reinterpret_cast(df_structure); -} - -void generate_unit_request_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["guild"] = reinterpret_cast(&(df_structure->guild)) - reinterpret_cast(df_structure); - p_table["count"] = reinterpret_cast(&(df_structure->count)) - reinterpret_cast(df_structure); -} - -void generate_unit_chunk__T_units_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["items"] = reinterpret_cast(&(df_structure->items)) - reinterpret_cast(df_structure); - p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); -} - -void generate_unit_chunk_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["units"] = reinterpret_cast(&(df_structure->units)) - reinterpret_cast(df_structure); -} - -void generate_unit_appearance_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk_1"] = reinterpret_cast(&(df_structure->unk_1)) - reinterpret_cast(df_structure); - p_table["caste_index"] = reinterpret_cast(&(df_structure->caste_index)) - reinterpret_cast(df_structure); - p_table["unk_3"] = reinterpret_cast(&(df_structure->unk_3)) - reinterpret_cast(df_structure); - p_table["physical_attributes"] = reinterpret_cast(&(df_structure->physical_attributes)) - reinterpret_cast(df_structure); - p_table["unk_5"] = reinterpret_cast(&(df_structure->unk_5)) - reinterpret_cast(df_structure); - p_table["body_modifiers"] = reinterpret_cast(&(df_structure->body_modifiers)) - reinterpret_cast(df_structure); - p_table["bp_modifiers"] = reinterpret_cast(&(df_structure->bp_modifiers)) - reinterpret_cast(df_structure); - p_table["unk_8"] = reinterpret_cast(&(df_structure->unk_8)) - reinterpret_cast(df_structure); - p_table["tissue_style"] = reinterpret_cast(&(df_structure->tissue_style)) - reinterpret_cast(df_structure); - p_table["tissue_style_civ_id"] = reinterpret_cast(&(df_structure->tissue_style_civ_id)) - reinterpret_cast(df_structure); - p_table["tissue_style_id"] = reinterpret_cast(&(df_structure->tissue_style_id)) - reinterpret_cast(df_structure); - p_table["tissue_style_type"] = reinterpret_cast(&(df_structure->tissue_style_type)) - reinterpret_cast(df_structure); - p_table["tissue_length"] = reinterpret_cast(&(df_structure->tissue_length)) - reinterpret_cast(df_structure); - p_table["appearance_genes"] = reinterpret_cast(&(df_structure->appearance_genes)) - reinterpret_cast(df_structure); - p_table["color_genes"] = reinterpret_cast(&(df_structure->color_genes)) - reinterpret_cast(df_structure); - p_table["color_modifiers"] = reinterpret_cast(&(df_structure->color_modifiers)) - reinterpret_cast(df_structure); - p_table["unk_18"] = reinterpret_cast(&(df_structure->unk_18)) - reinterpret_cast(df_structure); - p_table["unk_19"] = reinterpret_cast(&(df_structure->unk_19)) - reinterpret_cast(df_structure); -} - -void generate_vermin_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); - p_table["caste"] = reinterpret_cast(&(df_structure->caste)) - reinterpret_cast(df_structure); - p_table["pos"] = reinterpret_cast(&(df_structure->pos)) - reinterpret_cast(df_structure); - p_table["visible"] = reinterpret_cast(&(df_structure->visible)) - reinterpret_cast(df_structure); - p_table["countdown"] = reinterpret_cast(&(df_structure->countdown)) - reinterpret_cast(df_structure); - p_table["item"] = reinterpret_cast(&(df_structure->item)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["amount"] = reinterpret_cast(&(df_structure->amount)) - reinterpret_cast(df_structure); - p_table["population"] = reinterpret_cast(&(df_structure->population)) - reinterpret_cast(df_structure); - p_table["unk_34"] = reinterpret_cast(&(df_structure->unk_34)) - reinterpret_cast(df_structure); - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["child"] = reinterpret_cast(&(df_structure->child)) - reinterpret_cast(df_structure); - p_table["parent"] = reinterpret_cast(&(df_structure->parent)) - reinterpret_cast(df_structure); - p_table["breakdown_level"] = reinterpret_cast(&(df_structure->breakdown_level)) - reinterpret_cast(df_structure); - p_table["option_key_pressed"] = reinterpret_cast(&(df_structure->option_key_pressed)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_layer_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["layer_objects"] = reinterpret_cast(&(df_structure->layer_objects)) - reinterpret_cast(df_structure); -} - -void generate_interfacest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["original_fps"] = reinterpret_cast(&(df_structure->original_fps)) - reinterpret_cast(df_structure); - p_table["view"] = reinterpret_cast(&(df_structure->view)) - reinterpret_cast(df_structure); - p_table["flag"] = reinterpret_cast(&(df_structure->flag)) - reinterpret_cast(df_structure); - p_table["shutdown_interface_tickcount"] = reinterpret_cast(&(df_structure->shutdown_interface_tickcount)) - reinterpret_cast(df_structure); - p_table["shutdown_interface_for_ms"] = reinterpret_cast(&(df_structure->shutdown_interface_for_ms)) - reinterpret_cast(df_structure); - p_table["supermovie_on"] = reinterpret_cast(&(df_structure->supermovie_on)) - reinterpret_cast(df_structure); - p_table["supermovie_pos"] = reinterpret_cast(&(df_structure->supermovie_pos)) - reinterpret_cast(df_structure); - p_table["supermovie_delayrate"] = reinterpret_cast(&(df_structure->supermovie_delayrate)) - reinterpret_cast(df_structure); - p_table["supermovie_delaystep"] = reinterpret_cast(&(df_structure->supermovie_delaystep)) - reinterpret_cast(df_structure); - p_table["supermovie_sound"] = reinterpret_cast(&(df_structure->supermovie_sound)) - reinterpret_cast(df_structure); - p_table["supermovie_sound_time"] = reinterpret_cast(&(df_structure->supermovie_sound_time)) - reinterpret_cast(df_structure); - p_table["supermoviebuffer"] = reinterpret_cast(&(df_structure->supermoviebuffer)) - reinterpret_cast(df_structure); - p_table["supermoviebuffer_comp"] = reinterpret_cast(&(df_structure->supermoviebuffer_comp)) - reinterpret_cast(df_structure); - p_table["currentblocksize"] = reinterpret_cast(&(df_structure->currentblocksize)) - reinterpret_cast(df_structure); - p_table["nextfilepos"] = reinterpret_cast(&(df_structure->nextfilepos)) - reinterpret_cast(df_structure); - p_table["first_movie_write"] = reinterpret_cast(&(df_structure->first_movie_write)) - reinterpret_cast(df_structure); - p_table["movie_file"] = reinterpret_cast(&(df_structure->movie_file)) - reinterpret_cast(df_structure); -} - -void generate_layer_object_listst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["cursor"] = reinterpret_cast(&(df_structure->cursor)) - reinterpret_cast(df_structure); - p_table["num_entries"] = reinterpret_cast(&(df_structure->num_entries)) - reinterpret_cast(df_structure); - p_table["x1"] = reinterpret_cast(&(df_structure->x1)) - reinterpret_cast(df_structure); - p_table["y1"] = reinterpret_cast(&(df_structure->y1)) - reinterpret_cast(df_structure); - p_table["page_size"] = reinterpret_cast(&(df_structure->page_size)) - reinterpret_cast(df_structure); - p_table["x2"] = reinterpret_cast(&(df_structure->x2)) - reinterpret_cast(df_structure); - p_table["y2"] = reinterpret_cast(&(df_structure->y2)) - reinterpret_cast(df_structure); - p_table["mouse_l_cur"] = reinterpret_cast(&(df_structure->mouse_l_cur)) - reinterpret_cast(df_structure); - p_table["mouse_r_cur"] = reinterpret_cast(&(df_structure->mouse_r_cur)) - reinterpret_cast(df_structure); - p_table["rclick_scrolls"] = reinterpret_cast(&(df_structure->rclick_scrolls)) - reinterpret_cast(df_structure); - p_table["flag"] = reinterpret_cast(&(df_structure->flag)) - reinterpret_cast(df_structure); - p_table["key_lclick"] = reinterpret_cast(&(df_structure->key_lclick)) - reinterpret_cast(df_structure); - p_table["key_rclick"] = reinterpret_cast(&(df_structure->key_rclick)) - reinterpret_cast(df_structure); -} - -void generate_KeybindingScreen_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mode"] = reinterpret_cast(&(df_structure->mode)) - reinterpret_cast(df_structure); - p_table["main"] = reinterpret_cast(&(df_structure->main)) - reinterpret_cast(df_structure); - p_table["keyL"] = reinterpret_cast(&(df_structure->keyL)) - reinterpret_cast(df_structure); - p_table["keyR"] = reinterpret_cast(&(df_structure->keyR)) - reinterpret_cast(df_structure); - p_table["macro"] = reinterpret_cast(&(df_structure->macro)) - reinterpret_cast(df_structure); - p_table["keyRegister"] = reinterpret_cast(&(df_structure->keyRegister)) - reinterpret_cast(df_structure); -} - -void generate_MacroScreenLoad_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["menu"] = reinterpret_cast(&(df_structure->menu)) - reinterpret_cast(df_structure); - p_table["width"] = reinterpret_cast(&(df_structure->width)) - reinterpret_cast(df_structure); - p_table["height"] = reinterpret_cast(&(df_structure->height)) - reinterpret_cast(df_structure); -} - -void generate_MacroScreenSave_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); -} - -void generate_world_dat_summary_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["save_info"] = reinterpret_cast(&(df_structure->save_info)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_adopt_regionst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["compressor"] = reinterpret_cast(&(df_structure->compressor)) - reinterpret_cast(df_structure); - p_table["cur_step"] = reinterpret_cast(&(df_structure->cur_step)) - reinterpret_cast(df_structure); - p_table["save_version"] = reinterpret_cast(&(df_structure->save_version)) - reinterpret_cast(df_structure); - p_table["cur_save"] = reinterpret_cast(&(df_structure->cur_save)) - reinterpret_cast(df_structure); - p_table["glosses"] = reinterpret_cast(&(df_structure->glosses)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_adventure_logst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mode"] = reinterpret_cast(&(df_structure->mode)) - reinterpret_cast(df_structure); - p_table["map_islocalview"] = reinterpret_cast(&(df_structure->map_islocalview)) - reinterpret_cast(df_structure); - p_table["map_hidden"] = reinterpret_cast(&(df_structure->map_hidden)) - reinterpret_cast(df_structure); - p_table["player_region_x"] = reinterpret_cast(&(df_structure->player_region_x)) - reinterpret_cast(df_structure); - p_table["player_region_y"] = reinterpret_cast(&(df_structure->player_region_y)) - reinterpret_cast(df_structure); - p_table["player_local_x"] = reinterpret_cast(&(df_structure->player_local_x)) - reinterpret_cast(df_structure); - p_table["player_local_y"] = reinterpret_cast(&(df_structure->player_local_y)) - reinterpret_cast(df_structure); - p_table["unk_8"] = reinterpret_cast(&(df_structure->unk_8)) - reinterpret_cast(df_structure); - p_table["unk_9"] = reinterpret_cast(&(df_structure->unk_9)) - reinterpret_cast(df_structure); - p_table["unk_10"] = reinterpret_cast(&(df_structure->unk_10)) - reinterpret_cast(df_structure); - p_table["unk_11"] = reinterpret_cast(&(df_structure->unk_11)) - reinterpret_cast(df_structure); - p_table["cursor_x"] = reinterpret_cast(&(df_structure->cursor_x)) - reinterpret_cast(df_structure); - p_table["cursor_y"] = reinterpret_cast(&(df_structure->cursor_y)) - reinterpret_cast(df_structure); - p_table["index"] = reinterpret_cast(&(df_structure->index)) - reinterpret_cast(df_structure); - p_table["map_draw_line"] = reinterpret_cast(&(df_structure->map_draw_line)) - reinterpret_cast(df_structure); - p_table["info_mode"] = reinterpret_cast(&(df_structure->info_mode)) - reinterpret_cast(df_structure); - p_table["local_area_x1"] = reinterpret_cast(&(df_structure->local_area_x1)) - reinterpret_cast(df_structure); - p_table["local_area_x2"] = reinterpret_cast(&(df_structure->local_area_x2)) - reinterpret_cast(df_structure); - p_table["local_area_y1"] = reinterpret_cast(&(df_structure->local_area_y1)) - reinterpret_cast(df_structure); - p_table["local_area_y2"] = reinterpret_cast(&(df_structure->local_area_y2)) - reinterpret_cast(df_structure); - p_table["unk_v40_1a"] = reinterpret_cast(&(df_structure->unk_v40_1a)) - reinterpret_cast(df_structure); - p_table["unk_v40_1b"] = reinterpret_cast(&(df_structure->unk_v40_1b)) - reinterpret_cast(df_structure); - p_table["unk_v40_1c"] = reinterpret_cast(&(df_structure->unk_v40_1c)) - reinterpret_cast(df_structure); - p_table["unk_v40_1d"] = reinterpret_cast(&(df_structure->unk_v40_1d)) - reinterpret_cast(df_structure); - p_table["unk_v40_1e"] = reinterpret_cast(&(df_structure->unk_v40_1e)) - reinterpret_cast(df_structure); - p_table["unk_v40_1f"] = reinterpret_cast(&(df_structure->unk_v40_1f)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["filter_str"] = reinterpret_cast(&(df_structure->filter_str)) - reinterpret_cast(df_structure); - p_table["in_filter"] = reinterpret_cast(&(df_structure->in_filter)) - reinterpret_cast(df_structure); - p_table["items"] = reinterpret_cast(&(df_structure->items)) - reinterpret_cast(df_structure); - p_table["filtered_items"] = reinterpret_cast(&(df_structure->filtered_items)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_announcelistst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); - p_table["report_type"] = reinterpret_cast(&(df_structure->report_type)) - reinterpret_cast(df_structure); - p_table["sel_idx"] = reinterpret_cast(&(df_structure->sel_idx)) - reinterpret_cast(df_structure); - p_table["reports"] = reinterpret_cast(&(df_structure->reports)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_assign_display_itemst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["building"] = reinterpret_cast(&(df_structure->building)) - reinterpret_cast(df_structure); - p_table["title"] = reinterpret_cast(&(df_structure->title)) - reinterpret_cast(df_structure); - p_table["sel_type"] = reinterpret_cast(&(df_structure->sel_type)) - reinterpret_cast(df_structure); - p_table["sel_item"] = reinterpret_cast(&(df_structure->sel_item)) - reinterpret_cast(df_structure); - p_table["selected_item_ids"] = reinterpret_cast(&(df_structure->selected_item_ids)) - reinterpret_cast(df_structure); - p_table["sel_column"] = reinterpret_cast(&(df_structure->sel_column)) - reinterpret_cast(df_structure); - p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); - p_table["artifacts"] = reinterpret_cast(&(df_structure->artifacts)) - reinterpret_cast(df_structure); - p_table["unk_3"] = reinterpret_cast(&(df_structure->unk_3)) - reinterpret_cast(df_structure); - p_table["items"] = reinterpret_cast(&(df_structure->items)) - reinterpret_cast(df_structure); - p_table["items_populated"] = reinterpret_cast(&(df_structure->items_populated)) - reinterpret_cast(df_structure); - p_table["description"] = reinterpret_cast(&(df_structure->description)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_barterst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); - p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); - p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); - p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); - p_table["anon_11"] = reinterpret_cast(&(df_structure->anon_11)) - reinterpret_cast(df_structure); - p_table["anon_12"] = reinterpret_cast(&(df_structure->anon_12)) - reinterpret_cast(df_structure); - p_table["anon_13"] = reinterpret_cast(&(df_structure->anon_13)) - reinterpret_cast(df_structure); - p_table["anon_14"] = reinterpret_cast(&(df_structure->anon_14)) - reinterpret_cast(df_structure); - p_table["anon_15"] = reinterpret_cast(&(df_structure->anon_15)) - reinterpret_cast(df_structure); - p_table["anon_16"] = reinterpret_cast(&(df_structure->anon_16)) - reinterpret_cast(df_structure); - p_table["max_ask"] = reinterpret_cast(&(df_structure->max_ask)) - reinterpret_cast(df_structure); - p_table["max_offer"] = reinterpret_cast(&(df_structure->max_offer)) - reinterpret_cast(df_structure); - p_table["cur_ask"] = reinterpret_cast(&(df_structure->cur_ask)) - reinterpret_cast(df_structure); - p_table["cur_offer"] = reinterpret_cast(&(df_structure->cur_offer)) - reinterpret_cast(df_structure); - p_table["anon_17"] = reinterpret_cast(&(df_structure->anon_17)) - reinterpret_cast(df_structure); - p_table["anon_18"] = reinterpret_cast(&(df_structure->anon_18)) - reinterpret_cast(df_structure); - p_table["anon_19"] = reinterpret_cast(&(df_structure->anon_19)) - reinterpret_cast(df_structure); - p_table["anon_20"] = reinterpret_cast(&(df_structure->anon_20)) - reinterpret_cast(df_structure); - p_table["anon_21"] = reinterpret_cast(&(df_structure->anon_21)) - reinterpret_cast(df_structure); - p_table["anon_22"] = reinterpret_cast(&(df_structure->anon_22)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_buildingst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["building"] = reinterpret_cast(&(df_structure->building)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_buildinglistst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["cursor"] = reinterpret_cast(&(df_structure->cursor)) - reinterpret_cast(df_structure); - p_table["alt_right_panel"] = reinterpret_cast(&(df_structure->alt_right_panel)) - reinterpret_cast(df_structure); - p_table["buildings"] = reinterpret_cast(&(df_structure->buildings)) - reinterpret_cast(df_structure); - p_table["buildings2"] = reinterpret_cast(&(df_structure->buildings2)) - reinterpret_cast(df_structure); - p_table["room_value"] = reinterpret_cast(&(df_structure->room_value)) - reinterpret_cast(df_structure); - p_table["room_value2"] = reinterpret_cast(&(df_structure->room_value2)) - reinterpret_cast(df_structure); -} - -void generate_embark_location_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["region_pos"] = reinterpret_cast(&(df_structure->region_pos)) - reinterpret_cast(df_structure); - p_table["reclaim_site"] = reinterpret_cast(&(df_structure->reclaim_site)) - reinterpret_cast(df_structure); - p_table["reclaim_idx"] = reinterpret_cast(&(df_structure->reclaim_idx)) - reinterpret_cast(df_structure); - p_table["biome_rgn"] = reinterpret_cast(&(df_structure->biome_rgn)) - reinterpret_cast(df_structure); - p_table["embark_pos_min"] = reinterpret_cast(&(df_structure->embark_pos_min)) - reinterpret_cast(df_structure); - p_table["embark_pos_max"] = reinterpret_cast(&(df_structure->embark_pos_max)) - reinterpret_cast(df_structure); - p_table["embark_biome_rgn"] = reinterpret_cast(&(df_structure->embark_biome_rgn)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_choose_start_sitest__T_finder_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["search_x"] = reinterpret_cast(&(df_structure->search_x)) - reinterpret_cast(df_structure); - p_table["search_y"] = reinterpret_cast(&(df_structure->search_y)) - reinterpret_cast(df_structure); - p_table["cursor"] = reinterpret_cast(&(df_structure->cursor)) - reinterpret_cast(df_structure); - p_table["options"] = reinterpret_cast(&(df_structure->options)) - reinterpret_cast(df_structure); - p_table["unmatched"] = reinterpret_cast(&(df_structure->unmatched)) - reinterpret_cast(df_structure); - p_table["visible_options"] = reinterpret_cast(&(df_structure->visible_options)) - reinterpret_cast(df_structure); - p_table["finder_state"] = reinterpret_cast(&(df_structure->finder_state)) - reinterpret_cast(df_structure); - p_table["unk_11e"] = reinterpret_cast(&(df_structure->unk_11e)) - reinterpret_cast(df_structure); - p_table["unk_120"] = reinterpret_cast(&(df_structure->unk_120)) - reinterpret_cast(df_structure); - p_table["unk_122"] = reinterpret_cast(&(df_structure->unk_122)) - reinterpret_cast(df_structure); - p_table["unk_124"] = reinterpret_cast(&(df_structure->unk_124)) - reinterpret_cast(df_structure); - p_table["unk_126"] = reinterpret_cast(&(df_structure->unk_126)) - reinterpret_cast(df_structure); - p_table["unk_128"] = reinterpret_cast(&(df_structure->unk_128)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_choose_start_sitest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["page"] = reinterpret_cast(&(df_structure->page)) - reinterpret_cast(df_structure); - p_table["location"] = reinterpret_cast(&(df_structure->location)) - reinterpret_cast(df_structure); - p_table["biome_idx"] = reinterpret_cast(&(df_structure->biome_idx)) - reinterpret_cast(df_structure); - p_table["biome_highlighted"] = reinterpret_cast(&(df_structure->biome_highlighted)) - reinterpret_cast(df_structure); - p_table["in_embark_aquifer"] = reinterpret_cast(&(df_structure->in_embark_aquifer)) - reinterpret_cast(df_structure); - p_table["in_embark_salt"] = reinterpret_cast(&(df_structure->in_embark_salt)) - reinterpret_cast(df_structure); - p_table["in_embark_large"] = reinterpret_cast(&(df_structure->in_embark_large)) - reinterpret_cast(df_structure); - p_table["in_embark_narrow"] = reinterpret_cast(&(df_structure->in_embark_narrow)) - reinterpret_cast(df_structure); - p_table["in_embark_only_warning"] = reinterpret_cast(&(df_structure->in_embark_only_warning)) - reinterpret_cast(df_structure); - p_table["in_embark_civ_dying"] = reinterpret_cast(&(df_structure->in_embark_civ_dying)) - reinterpret_cast(df_structure); - p_table["highlighted_sites"] = reinterpret_cast(&(df_structure->highlighted_sites)) - reinterpret_cast(df_structure); - p_table["local_sites"] = reinterpret_cast(&(df_structure->local_sites)) - reinterpret_cast(df_structure); - p_table["reclaim_idx"] = reinterpret_cast(&(df_structure->reclaim_idx)) - reinterpret_cast(df_structure); - p_table["civ_idx"] = reinterpret_cast(&(df_structure->civ_idx)) - reinterpret_cast(df_structure); - p_table["available_civs"] = reinterpret_cast(&(df_structure->available_civs)) - reinterpret_cast(df_structure); - p_table["site_info"] = reinterpret_cast(&(df_structure->site_info)) - reinterpret_cast(df_structure); - p_table["site_abandoned"] = reinterpret_cast(&(df_structure->site_abandoned)) - reinterpret_cast(df_structure); - p_table["site_created"] = reinterpret_cast(&(df_structure->site_created)) - reinterpret_cast(df_structure); - p_table["unk_a4"] = reinterpret_cast(&(df_structure->unk_a4)) - reinterpret_cast(df_structure); - p_table["unk_a8"] = reinterpret_cast(&(df_structure->unk_a8)) - reinterpret_cast(df_structure); - p_table["finder"] = reinterpret_cast(&(df_structure->finder)) - reinterpret_cast(df_structure); - p_table["notes_order"] = reinterpret_cast(&(df_structure->notes_order)) - reinterpret_cast(df_structure); - p_table["cur_note_name"] = reinterpret_cast(&(df_structure->cur_note_name)) - reinterpret_cast(df_structure); - p_table["unk_14c"] = reinterpret_cast(&(df_structure->unk_14c)) - reinterpret_cast(df_structure); - p_table["unk_150"] = reinterpret_cast(&(df_structure->unk_150)) - reinterpret_cast(df_structure); - p_table["unk_154"] = reinterpret_cast(&(df_structure->unk_154)) - reinterpret_cast(df_structure); - p_table["note_tile"] = reinterpret_cast(&(df_structure->note_tile)) - reinterpret_cast(df_structure); - p_table["note_fg_color"] = reinterpret_cast(&(df_structure->note_fg_color)) - reinterpret_cast(df_structure); - p_table["note_bg_color"] = reinterpret_cast(&(df_structure->note_bg_color)) - reinterpret_cast(df_structure); - p_table["unk_15c"] = reinterpret_cast(&(df_structure->unk_15c)) - reinterpret_cast(df_structure); -} - -void generate_mission__T_details__T_raid_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["raid_type"] = reinterpret_cast(&(df_structure->raid_type)) - reinterpret_cast(df_structure); - p_table["unk_2"] = reinterpret_cast(&(df_structure->unk_2)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); - p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); - p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); - p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); - p_table["anon_11"] = reinterpret_cast(&(df_structure->anon_11)) - reinterpret_cast(df_structure); - p_table["anon_12"] = reinterpret_cast(&(df_structure->anon_12)) - reinterpret_cast(df_structure); - p_table["anon_13"] = reinterpret_cast(&(df_structure->anon_13)) - reinterpret_cast(df_structure); - p_table["anon_14"] = reinterpret_cast(&(df_structure->anon_14)) - reinterpret_cast(df_structure); - p_table["anon_15"] = reinterpret_cast(&(df_structure->anon_15)) - reinterpret_cast(df_structure); - p_table["anon_16"] = reinterpret_cast(&(df_structure->anon_16)) - reinterpret_cast(df_structure); - p_table["anon_17"] = reinterpret_cast(&(df_structure->anon_17)) - reinterpret_cast(df_structure); - p_table["anon_18"] = reinterpret_cast(&(df_structure->anon_18)) - reinterpret_cast(df_structure); - p_table["anon_19"] = reinterpret_cast(&(df_structure->anon_19)) - reinterpret_cast(df_structure); - p_table["anon_20"] = reinterpret_cast(&(df_structure->anon_20)) - reinterpret_cast(df_structure); - p_table["raid_flags"] = reinterpret_cast(&(df_structure->raid_flags)) - reinterpret_cast(df_structure); - p_table["unk_3"] = reinterpret_cast(&(df_structure->unk_3)) - reinterpret_cast(df_structure); - p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); - p_table["anon_21"] = reinterpret_cast(&(df_structure->anon_21)) - reinterpret_cast(df_structure); - p_table["anon_22"] = reinterpret_cast(&(df_structure->anon_22)) - reinterpret_cast(df_structure); - p_table["anon_23"] = reinterpret_cast(&(df_structure->anon_23)) - reinterpret_cast(df_structure); - p_table["anon_24"] = reinterpret_cast(&(df_structure->anon_24)) - reinterpret_cast(df_structure); - p_table["anon_25"] = reinterpret_cast(&(df_structure->anon_25)) - reinterpret_cast(df_structure); - p_table["anon_26"] = reinterpret_cast(&(df_structure->anon_26)) - reinterpret_cast(df_structure); - p_table["anon_27"] = reinterpret_cast(&(df_structure->anon_27)) - reinterpret_cast(df_structure); -} - -void generate_mission__T_details__T_recovery_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["artifact"] = reinterpret_cast(&(df_structure->artifact)) - reinterpret_cast(df_structure); - p_table["unk_2"] = reinterpret_cast(&(df_structure->unk_2)) - reinterpret_cast(df_structure); -} - -void generate_mission__T_details__T_rescue_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); - p_table["unk_2"] = reinterpret_cast(&(df_structure->unk_2)) - reinterpret_cast(df_structure); -} - -void generate_mission__T_details__T_request_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["workers"] = reinterpret_cast(&(df_structure->workers)) - reinterpret_cast(df_structure); - p_table["unk_1"] = reinterpret_cast(&(df_structure->unk_1)) - reinterpret_cast(df_structure); - p_table["unk_2"] = reinterpret_cast(&(df_structure->unk_2)) - reinterpret_cast(df_structure); - p_table["unk_3"] = reinterpret_cast(&(df_structure->unk_3)) - reinterpret_cast(df_structure); - p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); -} - -void generate_mission__T_details_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["raid"] = reinterpret_cast(&(df_structure->raid)) - reinterpret_cast(df_structure); - p_table["recovery"] = reinterpret_cast(&(df_structure->recovery)) - reinterpret_cast(df_structure); - p_table["rescue"] = reinterpret_cast(&(df_structure->rescue)) - reinterpret_cast(df_structure); - p_table["request"] = reinterpret_cast(&(df_structure->request)) - reinterpret_cast(df_structure); -} - -void generate_mission_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["army_controller"] = reinterpret_cast(&(df_structure->army_controller)) - reinterpret_cast(df_structure); - p_table["entity"] = reinterpret_cast(&(df_structure->entity)) - reinterpret_cast(df_structure); - p_table["target_site"] = reinterpret_cast(&(df_structure->target_site)) - reinterpret_cast(df_structure); - p_table["unk_2"] = reinterpret_cast(&(df_structure->unk_2)) - reinterpret_cast(df_structure); - p_table["target_x"] = reinterpret_cast(&(df_structure->target_x)) - reinterpret_cast(df_structure); - p_table["target_y"] = reinterpret_cast(&(df_structure->target_y)) - reinterpret_cast(df_structure); - p_table["unk_3"] = reinterpret_cast(&(df_structure->unk_3)) - reinterpret_cast(df_structure); - p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); - p_table["unk_5"] = reinterpret_cast(&(df_structure->unk_5)) - reinterpret_cast(df_structure); - p_table["unk_6"] = reinterpret_cast(&(df_structure->unk_6)) - reinterpret_cast(df_structure); - p_table["unk_7"] = reinterpret_cast(&(df_structure->unk_7)) - reinterpret_cast(df_structure); - p_table["unk_8"] = reinterpret_cast(&(df_structure->unk_8)) - reinterpret_cast(df_structure); - p_table["unk_9"] = reinterpret_cast(&(df_structure->unk_9)) - reinterpret_cast(df_structure); - p_table["unk_10"] = reinterpret_cast(&(df_structure->unk_10)) - reinterpret_cast(df_structure); - p_table["year"] = reinterpret_cast(&(df_structure->year)) - reinterpret_cast(df_structure); - p_table["year_tick"] = reinterpret_cast(&(df_structure->year_tick)) - reinterpret_cast(df_structure); - p_table["unk_12"] = reinterpret_cast(&(df_structure->unk_12)) - reinterpret_cast(df_structure); - p_table["army_controller2"] = reinterpret_cast(&(df_structure->army_controller2)) - reinterpret_cast(df_structure); - p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); - p_table["unk_14"] = reinterpret_cast(&(df_structure->unk_14)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["unk_15"] = reinterpret_cast(&(df_structure->unk_15)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); - p_table["squads"] = reinterpret_cast(&(df_structure->squads)) - reinterpret_cast(df_structure); - p_table["messengers"] = reinterpret_cast(&(df_structure->messengers)) - reinterpret_cast(df_structure); - p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); - p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); - p_table["details"] = reinterpret_cast(&(df_structure->details)) - reinterpret_cast(df_structure); - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_civlistst__T_artifact_details_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk_1"] = reinterpret_cast(&(df_structure->unk_1)) - reinterpret_cast(df_structure); - p_table["last_site"] = reinterpret_cast(&(df_structure->last_site)) - reinterpret_cast(df_structure); - p_table["unk_3"] = reinterpret_cast(&(df_structure->unk_3)) - reinterpret_cast(df_structure); - p_table["last_holder_hf"] = reinterpret_cast(&(df_structure->last_holder_hf)) - reinterpret_cast(df_structure); - p_table["unk_5"] = reinterpret_cast(&(df_structure->unk_5)) - reinterpret_cast(df_structure); - p_table["unk_6"] = reinterpret_cast(&(df_structure->unk_6)) - reinterpret_cast(df_structure); - p_table["unk_7"] = reinterpret_cast(&(df_structure->unk_7)) - reinterpret_cast(df_structure); - p_table["unk_8"] = reinterpret_cast(&(df_structure->unk_8)) - reinterpret_cast(df_structure); - p_table["unk_9"] = reinterpret_cast(&(df_structure->unk_9)) - reinterpret_cast(df_structure); - p_table["unk_10"] = reinterpret_cast(&(df_structure->unk_10)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_civlistst__T_rumors_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["artifact_or_entity"] = reinterpret_cast(&(df_structure->artifact_or_entity)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["histfig_or_entity"] = reinterpret_cast(&(df_structure->histfig_or_entity)) - reinterpret_cast(df_structure); - p_table["histfig2"] = reinterpret_cast(&(df_structure->histfig2)) - reinterpret_cast(df_structure); - p_table["year1"] = reinterpret_cast(&(df_structure->year1)) - reinterpret_cast(df_structure); - p_table["year_tick1"] = reinterpret_cast(&(df_structure->year_tick1)) - reinterpret_cast(df_structure); - p_table["year2"] = reinterpret_cast(&(df_structure->year2)) - reinterpret_cast(df_structure); - p_table["year_tick2"] = reinterpret_cast(&(df_structure->year_tick2)) - reinterpret_cast(df_structure); - p_table["unk_3"] = reinterpret_cast(&(df_structure->unk_3)) - reinterpret_cast(df_structure); - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_civlistst__T_unk_cache__T_tmp1_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["values"] = reinterpret_cast(&(df_structure->values)) - reinterpret_cast(df_structure); - p_table["count"] = reinterpret_cast(&(df_structure->count)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_civlistst__T_unk_cache__T_tmp2_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_civlistst__T_unk_cache_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["tmp1"] = reinterpret_cast(&(df_structure->tmp1)) - reinterpret_cast(df_structure); - p_table["tmp2"] = reinterpret_cast(&(df_structure->tmp2)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_civlistst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["page"] = reinterpret_cast(&(df_structure->page)) - reinterpret_cast(df_structure); - p_table["sel_idx"] = reinterpret_cast(&(df_structure->sel_idx)) - reinterpret_cast(df_structure); - p_table["entities"] = reinterpret_cast(&(df_structure->entities)) - reinterpret_cast(df_structure); - p_table["map_x"] = reinterpret_cast(&(df_structure->map_x)) - reinterpret_cast(df_structure); - p_table["map_y"] = reinterpret_cast(&(df_structure->map_y)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["site_artifacts"] = reinterpret_cast(&(df_structure->site_artifacts)) - reinterpret_cast(df_structure); - p_table["site_prisoners"] = reinterpret_cast(&(df_structure->site_prisoners)) - reinterpret_cast(df_structure); - p_table["site_is_linked"] = reinterpret_cast(&(df_structure->site_is_linked)) - reinterpret_cast(df_structure); - p_table["unk_site_nemesis"] = reinterpret_cast(&(df_structure->unk_site_nemesis)) - reinterpret_cast(df_structure); - p_table["missions"] = reinterpret_cast(&(df_structure->missions)) - reinterpret_cast(df_structure); - p_table["mission_idx"] = reinterpret_cast(&(df_structure->mission_idx)) - reinterpret_cast(df_structure); - p_table["squads"] = reinterpret_cast(&(df_structure->squads)) - reinterpret_cast(df_structure); - p_table["squads_travelling"] = reinterpret_cast(&(df_structure->squads_travelling)) - reinterpret_cast(df_structure); - p_table["squad_idx"] = reinterpret_cast(&(df_structure->squad_idx)) - reinterpret_cast(df_structure); - p_table["messengers"] = reinterpret_cast(&(df_structure->messengers)) - reinterpret_cast(df_structure); - p_table["messengers_travelling"] = reinterpret_cast(&(df_structure->messengers_travelling)) - reinterpret_cast(df_structure); - p_table["messenger_idx"] = reinterpret_cast(&(df_structure->messenger_idx)) - reinterpret_cast(df_structure); - p_table["workers"] = reinterpret_cast(&(df_structure->workers)) - reinterpret_cast(df_structure); - p_table["worker_idx"] = reinterpret_cast(&(df_structure->worker_idx)) - reinterpret_cast(df_structure); - p_table["people"] = reinterpret_cast(&(df_structure->people)) - reinterpret_cast(df_structure); - p_table["person_idx"] = reinterpret_cast(&(df_structure->person_idx)) - reinterpret_cast(df_structure); - p_table["person_x"] = reinterpret_cast(&(df_structure->person_x)) - reinterpret_cast(df_structure); - p_table["person_y"] = reinterpret_cast(&(df_structure->person_y)) - reinterpret_cast(df_structure); - p_table["artifact_records"] = reinterpret_cast(&(df_structure->artifact_records)) - reinterpret_cast(df_structure); - p_table["artifact_details"] = reinterpret_cast(&(df_structure->artifact_details)) - reinterpret_cast(df_structure); - p_table["artifact_idx"] = reinterpret_cast(&(df_structure->artifact_idx)) - reinterpret_cast(df_structure); - p_table["artifact_x"] = reinterpret_cast(&(df_structure->artifact_x)) - reinterpret_cast(df_structure); - p_table["artifact_y"] = reinterpret_cast(&(df_structure->artifact_y)) - reinterpret_cast(df_structure); - p_table["artifact_desc"] = reinterpret_cast(&(df_structure->artifact_desc)) - reinterpret_cast(df_structure); - p_table["artifact_claimed_by_unk1"] = reinterpret_cast(&(df_structure->artifact_claimed_by_unk1)) - reinterpret_cast(df_structure); - p_table["artifact_claimed_by_unk2"] = reinterpret_cast(&(df_structure->artifact_claimed_by_unk2)) - reinterpret_cast(df_structure); - p_table["artifact_claimed_by_hf"] = reinterpret_cast(&(df_structure->artifact_claimed_by_hf)) - reinterpret_cast(df_structure); - p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); - p_table["histfig2"] = reinterpret_cast(&(df_structure->histfig2)) - reinterpret_cast(df_structure); - p_table["rumors"] = reinterpret_cast(&(df_structure->rumors)) - reinterpret_cast(df_structure); - p_table["unk_24"] = reinterpret_cast(&(df_structure->unk_24)) - reinterpret_cast(df_structure); - p_table["unk_25"] = reinterpret_cast(&(df_structure->unk_25)) - reinterpret_cast(df_structure); - p_table["news_x"] = reinterpret_cast(&(df_structure->news_x)) - reinterpret_cast(df_structure); - p_table["news_y"] = reinterpret_cast(&(df_structure->news_y)) - reinterpret_cast(df_structure); - p_table["unk_28"] = reinterpret_cast(&(df_structure->unk_28)) - reinterpret_cast(df_structure); - p_table["unk_29"] = reinterpret_cast(&(df_structure->unk_29)) - reinterpret_cast(df_structure); - p_table["unk_2a"] = reinterpret_cast(&(df_structure->unk_2a)) - reinterpret_cast(df_structure); - p_table["unk_2b"] = reinterpret_cast(&(df_structure->unk_2b)) - reinterpret_cast(df_structure); - p_table["unk_2c"] = reinterpret_cast(&(df_structure->unk_2c)) - reinterpret_cast(df_structure); - p_table["unk_2d"] = reinterpret_cast(&(df_structure->unk_2d)) - reinterpret_cast(df_structure); - p_table["unk_2e"] = reinterpret_cast(&(df_structure->unk_2e)) - reinterpret_cast(df_structure); - p_table["unk_cache_ptr"] = reinterpret_cast(&(df_structure->unk_cache_ptr)) - reinterpret_cast(df_structure); - p_table["unk_cache"] = reinterpret_cast(&(df_structure->unk_cache)) - reinterpret_cast(df_structure); - p_table["news_text"] = reinterpret_cast(&(df_structure->news_text)) - reinterpret_cast(df_structure); - p_table["show_holdings"] = reinterpret_cast(&(df_structure->show_holdings)) - reinterpret_cast(df_structure); - p_table["show_legend"] = reinterpret_cast(&(df_structure->show_legend)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_createquotast_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["building_id"] = reinterpret_cast(&(df_structure->building_id)) - reinterpret_cast(df_structure); - p_table["str_filter"] = reinterpret_cast(&(df_structure->str_filter)) - reinterpret_cast(df_structure); - p_table["sel_idx"] = reinterpret_cast(&(df_structure->sel_idx)) - reinterpret_cast(df_structure); - p_table["orders"] = reinterpret_cast(&(df_structure->orders)) - reinterpret_cast(df_structure); - p_table["all_orders"] = reinterpret_cast(&(df_structure->all_orders)) - reinterpret_cast(df_structure); - p_table["want_quantity"] = reinterpret_cast(&(df_structure->want_quantity)) - reinterpret_cast(df_structure); - p_table["str_quantity"] = reinterpret_cast(&(df_structure->str_quantity)) - reinterpret_cast(df_structure); - p_table["workshop_profile_orders"] = reinterpret_cast(&(df_structure->workshop_profile_orders)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_customize_unitst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); - p_table["editing_nickname"] = reinterpret_cast(&(df_structure->editing_nickname)) - reinterpret_cast(df_structure); - p_table["editing_profession"] = reinterpret_cast(&(df_structure->editing_profession)) - reinterpret_cast(df_structure); - p_table["previous_name"] = reinterpret_cast(&(df_structure->previous_name)) - reinterpret_cast(df_structure); - p_table["has_name"] = reinterpret_cast(&(df_structure->has_name)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_dungeon_monsterstatusst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); - p_table["inventory_cursor"] = reinterpret_cast(&(df_structure->inventory_cursor)) - reinterpret_cast(df_structure); - p_table["body_part_cursor"] = reinterpret_cast(&(df_structure->body_part_cursor)) - reinterpret_cast(df_structure); - p_table["body_part"] = reinterpret_cast(&(df_structure->body_part)) - reinterpret_cast(df_structure); - p_table["view_skills"] = reinterpret_cast(&(df_structure->view_skills)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["length"] = reinterpret_cast(&(df_structure->length)) - reinterpret_cast(df_structure); - p_table["scroll_pos"] = reinterpret_cast(&(df_structure->scroll_pos)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["inventory"] = reinterpret_cast(&(df_structure->inventory)) - reinterpret_cast(df_structure); - p_table["spatters"] = reinterpret_cast(&(df_structure->spatters)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_dungeon_wrestlest__T_unk1_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["weapons"] = reinterpret_cast(&(df_structure->weapons)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); - p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); - p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); - p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); - p_table["anon_11"] = reinterpret_cast(&(df_structure->anon_11)) - reinterpret_cast(df_structure); - p_table["anon_12"] = reinterpret_cast(&(df_structure->anon_12)) - reinterpret_cast(df_structure); - p_table["anon_13"] = reinterpret_cast(&(df_structure->anon_13)) - reinterpret_cast(df_structure); - p_table["anon_14"] = reinterpret_cast(&(df_structure->anon_14)) - reinterpret_cast(df_structure); - p_table["anon_15"] = reinterpret_cast(&(df_structure->anon_15)) - reinterpret_cast(df_structure); - p_table["anon_16"] = reinterpret_cast(&(df_structure->anon_16)) - reinterpret_cast(df_structure); - p_table["anon_17"] = reinterpret_cast(&(df_structure->anon_17)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_dungeon_wrestlest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["player"] = reinterpret_cast(&(df_structure->player)) - reinterpret_cast(df_structure); - p_table["target"] = reinterpret_cast(&(df_structure->target)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); - p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); - p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); - p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_dungeonmodest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["x"] = reinterpret_cast(&(df_structure->x)) - reinterpret_cast(df_structure); - p_table["y"] = reinterpret_cast(&(df_structure->y)) - reinterpret_cast(df_structure); - p_table["z"] = reinterpret_cast(&(df_structure->z)) - reinterpret_cast(df_structure); - p_table["announce_y"] = reinterpret_cast(&(df_structure->announce_y)) - reinterpret_cast(df_structure); - p_table["announce_idx"] = reinterpret_cast(&(df_structure->announce_idx)) - reinterpret_cast(df_structure); - p_table["announce_more"] = reinterpret_cast(&(df_structure->announce_more)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_dwarfmodest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["shown_site_name"] = reinterpret_cast(&(df_structure->shown_site_name)) - reinterpret_cast(df_structure); - p_table["jeweler_mat_count"] = reinterpret_cast(&(df_structure->jeweler_mat_count)) - reinterpret_cast(df_structure); - p_table["jeweler_cutgem"] = reinterpret_cast(&(df_structure->jeweler_cutgem)) - reinterpret_cast(df_structure); - p_table["jeweler_encrust"] = reinterpret_cast(&(df_structure->jeweler_encrust)) - reinterpret_cast(df_structure); - p_table["unit_labors_sidemenu"] = reinterpret_cast(&(df_structure->unit_labors_sidemenu)) - reinterpret_cast(df_structure); - p_table["unit_labors_sidemenu_uplevel"] = reinterpret_cast(&(df_structure->unit_labors_sidemenu_uplevel)) - reinterpret_cast(df_structure); - p_table["unit_labors_sidemenu_uplevel_idx"] = reinterpret_cast(&(df_structure->unit_labors_sidemenu_uplevel_idx)) - reinterpret_cast(df_structure); - p_table["sideSubmenu"] = reinterpret_cast(&(df_structure->sideSubmenu)) - reinterpret_cast(df_structure); - p_table["keyRepeat"] = reinterpret_cast(&(df_structure->keyRepeat)) - reinterpret_cast(df_structure); - p_table["trained_animals"] = reinterpret_cast(&(df_structure->trained_animals)) - reinterpret_cast(df_structure); - p_table["trained_animal_idx"] = reinterpret_cast(&(df_structure->trained_animal_idx)) - reinterpret_cast(df_structure); - p_table["number_assigned_hunt"] = reinterpret_cast(&(df_structure->number_assigned_hunt)) - reinterpret_cast(df_structure); - p_table["number_assigned_war"] = reinterpret_cast(&(df_structure->number_assigned_war)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_entityst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["entity"] = reinterpret_cast(&(df_structure->entity)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["important_leader_nemesis"] = reinterpret_cast(&(df_structure->important_leader_nemesis)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["start_idx"] = reinterpret_cast(&(df_structure->start_idx)) - reinterpret_cast(df_structure); - p_table["agreements"] = reinterpret_cast(&(df_structure->agreements)) - reinterpret_cast(df_structure); - p_table["agreement_status"] = reinterpret_cast(&(df_structure->agreement_status)) - reinterpret_cast(df_structure); - p_table["agreement_cursor"] = reinterpret_cast(&(df_structure->agreement_cursor)) - reinterpret_cast(df_structure); - p_table["page"] = reinterpret_cast(&(df_structure->page)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_export_graphical_mapst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["x_iterator"] = reinterpret_cast(&(df_structure->x_iterator)) - reinterpret_cast(df_structure); - p_table["y_iterator"] = reinterpret_cast(&(df_structure->y_iterator)) - reinterpret_cast(df_structure); - p_table["rgb_buffer"] = reinterpret_cast(&(df_structure->rgb_buffer)) - reinterpret_cast(df_structure); - p_table["map_width"] = reinterpret_cast(&(df_structure->map_width)) - reinterpret_cast(df_structure); - p_table["map_height"] = reinterpret_cast(&(df_structure->map_height)) - reinterpret_cast(df_structure); - p_table["numtiles_map_width"] = reinterpret_cast(&(df_structure->numtiles_map_width)) - reinterpret_cast(df_structure); - p_table["numtiles_map_height"] = reinterpret_cast(&(df_structure->numtiles_map_height)) - reinterpret_cast(df_structure); - p_table["in_export"] = reinterpret_cast(&(df_structure->in_export)) - reinterpret_cast(df_structure); - p_table["sel_idx"] = reinterpret_cast(&(df_structure->sel_idx)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_export_regionst__T_unk1_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_export_regionst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); - p_table["compressor"] = reinterpret_cast(&(df_structure->compressor)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_game_cleanerst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["state"] = reinterpret_cast(&(df_structure->state)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_image_creatorst__T_descriptions_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["line"] = reinterpret_cast(&(df_structure->line)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_image_creatorst__T_sites_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["trans_name"] = reinterpret_cast(&(df_structure->trans_name)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_image_creatorst__T_entities_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["entity"] = reinterpret_cast(&(df_structure->entity)) - reinterpret_cast(df_structure); - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["trans_name"] = reinterpret_cast(&(df_structure->trans_name)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_image_creatorst__T_plants_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["plant"] = reinterpret_cast(&(df_structure->plant)) - reinterpret_cast(df_structure); - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_image_creatorst__T_trees_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["tree"] = reinterpret_cast(&(df_structure->tree)) - reinterpret_cast(df_structure); - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_image_creatorst__T_shapes_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["shape"] = reinterpret_cast(&(df_structure->shape)) - reinterpret_cast(df_structure); - p_table["shape2"] = reinterpret_cast(&(df_structure->shape2)) - reinterpret_cast(df_structure); - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_image_creatorst__T_objects_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); - p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_image_creatorst__T_artifacts_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["trans_name"] = reinterpret_cast(&(df_structure->trans_name)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_image_creatorst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["title"] = reinterpret_cast(&(df_structure->title)) - reinterpret_cast(df_structure); - p_table["modes"] = reinterpret_cast(&(df_structure->modes)) - reinterpret_cast(df_structure); - p_table["mode_cursor"] = reinterpret_cast(&(df_structure->mode_cursor)) - reinterpret_cast(df_structure); - p_table["mode"] = reinterpret_cast(&(df_structure->mode)) - reinterpret_cast(df_structure); - p_table["item_idx"] = reinterpret_cast(&(df_structure->item_idx)) - reinterpret_cast(df_structure); - p_table["in_filter"] = reinterpret_cast(&(df_structure->in_filter)) - reinterpret_cast(df_structure); - p_table["filter"] = reinterpret_cast(&(df_structure->filter)) - reinterpret_cast(df_structure); - p_table["descriptions"] = reinterpret_cast(&(df_structure->descriptions)) - reinterpret_cast(df_structure); - p_table["sites"] = reinterpret_cast(&(df_structure->sites)) - reinterpret_cast(df_structure); - p_table["entities"] = reinterpret_cast(&(df_structure->entities)) - reinterpret_cast(df_structure); - p_table["plants"] = reinterpret_cast(&(df_structure->plants)) - reinterpret_cast(df_structure); - p_table["trees"] = reinterpret_cast(&(df_structure->trees)) - reinterpret_cast(df_structure); - p_table["shapes"] = reinterpret_cast(&(df_structure->shapes)) - reinterpret_cast(df_structure); - p_table["objects"] = reinterpret_cast(&(df_structure->objects)) - reinterpret_cast(df_structure); - p_table["artifacts"] = reinterpret_cast(&(df_structure->artifacts)) - reinterpret_cast(df_structure); - p_table["histfigs"] = reinterpret_cast(&(df_structure->histfigs)) - reinterpret_cast(df_structure); - p_table["relationships"] = reinterpret_cast(&(df_structure->relationships)) - reinterpret_cast(df_structure); - p_table["histfigs_filtered"] = reinterpret_cast(&(df_structure->histfigs_filtered)) - reinterpret_cast(df_structure); - p_table["sites_filtered"] = reinterpret_cast(&(df_structure->sites_filtered)) - reinterpret_cast(df_structure); - p_table["entities_filtered"] = reinterpret_cast(&(df_structure->entities_filtered)) - reinterpret_cast(df_structure); - p_table["unkvec_1"] = reinterpret_cast(&(df_structure->unkvec_1)) - reinterpret_cast(df_structure); - p_table["existing_images_filtered"] = reinterpret_cast(&(df_structure->existing_images_filtered)) - reinterpret_cast(df_structure); - p_table["image"] = reinterpret_cast(&(df_structure->image)) - reinterpret_cast(df_structure); - p_table["races_filtered"] = reinterpret_cast(&(df_structure->races_filtered)) - reinterpret_cast(df_structure); - p_table["castes_filtered"] = reinterpret_cast(&(df_structure->castes_filtered)) - reinterpret_cast(df_structure); - p_table["histfigs_filtered2"] = reinterpret_cast(&(df_structure->histfigs_filtered2)) - reinterpret_cast(df_structure); - p_table["plants_filtered"] = reinterpret_cast(&(df_structure->plants_filtered)) - reinterpret_cast(df_structure); - p_table["trees_filtered"] = reinterpret_cast(&(df_structure->trees_filtered)) - reinterpret_cast(df_structure); - p_table["shapes_filtered1"] = reinterpret_cast(&(df_structure->shapes_filtered1)) - reinterpret_cast(df_structure); - p_table["shapes_filtered2"] = reinterpret_cast(&(df_structure->shapes_filtered2)) - reinterpret_cast(df_structure); - p_table["item_types_filtered"] = reinterpret_cast(&(df_structure->item_types_filtered)) - reinterpret_cast(df_structure); - p_table["item_subtypes_filtered"] = reinterpret_cast(&(df_structure->item_subtypes_filtered)) - reinterpret_cast(df_structure); - p_table["artifacts_filtered"] = reinterpret_cast(&(df_structure->artifacts_filtered)) - reinterpret_cast(df_structure); - p_table["relationships_filtered"] = reinterpret_cast(&(df_structure->relationships_filtered)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["relationship_count"] = reinterpret_cast(&(df_structure->relationship_count)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["relationship_targets"] = reinterpret_cast(&(df_structure->relationship_targets)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); - p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); - p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); - p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); - p_table["anon_11"] = reinterpret_cast(&(df_structure->anon_11)) - reinterpret_cast(df_structure); - p_table["warning_flags"] = reinterpret_cast(&(df_structure->warning_flags)) - reinterpret_cast(df_structure); - p_table["deletable_elements"] = reinterpret_cast(&(df_structure->deletable_elements)) - reinterpret_cast(df_structure); - p_table["anon_12"] = reinterpret_cast(&(df_structure->anon_12)) - reinterpret_cast(df_structure); - p_table["anon_13"] = reinterpret_cast(&(df_structure->anon_13)) - reinterpret_cast(df_structure); - p_table["order"] = reinterpret_cast(&(df_structure->order)) - reinterpret_cast(df_structure); - p_table["anon_14"] = reinterpret_cast(&(df_structure->anon_14)) - reinterpret_cast(df_structure); - p_table["entity"] = reinterpret_cast(&(df_structure->entity)) - reinterpret_cast(df_structure); - p_table["anon_15"] = reinterpret_cast(&(df_structure->anon_15)) - reinterpret_cast(df_structure); - p_table["anon_16"] = reinterpret_cast(&(df_structure->anon_16)) - reinterpret_cast(df_structure); - p_table["anon_17"] = reinterpret_cast(&(df_structure->anon_17)) - reinterpret_cast(df_structure); - p_table["anon_18"] = reinterpret_cast(&(df_structure->anon_18)) - reinterpret_cast(df_structure); - p_table["unk_50"] = reinterpret_cast(&(df_structure->unk_50)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_itemst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["item"] = reinterpret_cast(&(df_structure->item)) - reinterpret_cast(df_structure); - p_table["entry_ref"] = reinterpret_cast(&(df_structure->entry_ref)) - reinterpret_cast(df_structure); - p_table["entry_indent"] = reinterpret_cast(&(df_structure->entry_indent)) - reinterpret_cast(df_structure); - p_table["entry_spatters"] = reinterpret_cast(&(df_structure->entry_spatters)) - reinterpret_cast(df_structure); - p_table["entry_string"] = reinterpret_cast(&(df_structure->entry_string)) - reinterpret_cast(df_structure); - p_table["entry_reaction"] = reinterpret_cast(&(df_structure->entry_reaction)) - reinterpret_cast(df_structure); - p_table["cursor_pos"] = reinterpret_cast(&(df_structure->cursor_pos)) - reinterpret_cast(df_structure); - p_table["caption_uses"] = reinterpret_cast(&(df_structure->caption_uses)) - reinterpret_cast(df_structure); - p_table["caption_contents"] = reinterpret_cast(&(df_structure->caption_contents)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_jobst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["job"] = reinterpret_cast(&(df_structure->job)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_joblistst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["allow_zoom"] = reinterpret_cast(&(df_structure->allow_zoom)) - reinterpret_cast(df_structure); - p_table["cursor_pos"] = reinterpret_cast(&(df_structure->cursor_pos)) - reinterpret_cast(df_structure); - p_table["jobs"] = reinterpret_cast(&(df_structure->jobs)) - reinterpret_cast(df_structure); - p_table["units"] = reinterpret_cast(&(df_structure->units)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_jobmanagementst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["sel_idx"] = reinterpret_cast(&(df_structure->sel_idx)) - reinterpret_cast(df_structure); - p_table["in_max_workshops"] = reinterpret_cast(&(df_structure->in_max_workshops)) - reinterpret_cast(df_structure); - p_table["max_workshops"] = reinterpret_cast(&(df_structure->max_workshops)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_justicest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["jails_needed"] = reinterpret_cast(&(df_structure->jails_needed)) - reinterpret_cast(df_structure); - p_table["jails_present"] = reinterpret_cast(&(df_structure->jails_present)) - reinterpret_cast(df_structure); - p_table["cur_column"] = reinterpret_cast(&(df_structure->cur_column)) - reinterpret_cast(df_structure); - p_table["convicts"] = reinterpret_cast(&(df_structure->convicts)) - reinterpret_cast(df_structure); - p_table["cases"] = reinterpret_cast(&(df_structure->cases)) - reinterpret_cast(df_structure); - p_table["sel_idx_current"] = reinterpret_cast(&(df_structure->sel_idx_current)) - reinterpret_cast(df_structure); - p_table["sel_idx_cold"] = reinterpret_cast(&(df_structure->sel_idx_cold)) - reinterpret_cast(df_structure); - p_table["sel_idx_recent"] = reinterpret_cast(&(df_structure->sel_idx_recent)) - reinterpret_cast(df_structure); - p_table["cold_cases"] = reinterpret_cast(&(df_structure->cold_cases)) - reinterpret_cast(df_structure); - p_table["count_cold"] = reinterpret_cast(&(df_structure->count_cold)) - reinterpret_cast(df_structure); - p_table["count_recent"] = reinterpret_cast(&(df_structure->count_recent)) - reinterpret_cast(df_structure); - p_table["cursor_right"] = reinterpret_cast(&(df_structure->cursor_right)) - reinterpret_cast(df_structure); - p_table["convictions"] = reinterpret_cast(&(df_structure->convictions)) - reinterpret_cast(df_structure); - p_table["punishment"] = reinterpret_cast(&(df_structure->punishment)) - reinterpret_cast(df_structure); - p_table["convict_choices"] = reinterpret_cast(&(df_structure->convict_choices)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_kitchenprefst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["cursor"] = reinterpret_cast(&(df_structure->cursor)) - reinterpret_cast(df_structure); - p_table["page"] = reinterpret_cast(&(df_structure->page)) - reinterpret_cast(df_structure); - p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); - p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["count"] = reinterpret_cast(&(df_structure->count)) - reinterpret_cast(df_structure); - p_table["forbidden"] = reinterpret_cast(&(df_structure->forbidden)) - reinterpret_cast(df_structure); - p_table["possible"] = reinterpret_cast(&(df_structure->possible)) - reinterpret_cast(df_structure); - p_table["item_str"] = reinterpret_cast(&(df_structure->item_str)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_layer_arena_creaturest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["in_adding_item"] = reinterpret_cast(&(df_structure->in_adding_item)) - reinterpret_cast(df_structure); - p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); - p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["cur_side"] = reinterpret_cast(&(df_structure->cur_side)) - reinterpret_cast(df_structure); - p_table["cur_interaction"] = reinterpret_cast(&(df_structure->cur_interaction)) - reinterpret_cast(df_structure); - p_table["filter"] = reinterpret_cast(&(df_structure->filter)) - reinterpret_cast(df_structure); - p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); - p_table["caste"] = reinterpret_cast(&(df_structure->caste)) - reinterpret_cast(df_structure); -} - -void generate_assign_trade_status_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["item"] = reinterpret_cast(&(df_structure->item)) - reinterpret_cast(df_structure); - p_table["distance"] = reinterpret_cast(&(df_structure->distance)) - reinterpret_cast(df_structure); - p_table["status"] = reinterpret_cast(&(df_structure->status)) - reinterpret_cast(df_structure); - p_table["unk"] = reinterpret_cast(&(df_structure->unk)) - reinterpret_cast(df_structure); - p_table["value"] = reinterpret_cast(&(df_structure->value)) - reinterpret_cast(df_structure); - p_table["weight"] = reinterpret_cast(&(df_structure->weight)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_layer_assigntradest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["info"] = reinterpret_cast(&(df_structure->info)) - reinterpret_cast(df_structure); - p_table["depot"] = reinterpret_cast(&(df_structure->depot)) - reinterpret_cast(df_structure); - p_table["lists"] = reinterpret_cast(&(df_structure->lists)) - reinterpret_cast(df_structure); - p_table["visible_lists"] = reinterpret_cast(&(df_structure->visible_lists)) - reinterpret_cast(df_structure); - p_table["sort_distance"] = reinterpret_cast(&(df_structure->sort_distance)) - reinterpret_cast(df_structure); - p_table["pending_on_top"] = reinterpret_cast(&(df_structure->pending_on_top)) - reinterpret_cast(df_structure); - p_table["filter_mandates"] = reinterpret_cast(&(df_structure->filter_mandates)) - reinterpret_cast(df_structure); - p_table["filter"] = reinterpret_cast(&(df_structure->filter)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_layer_choose_language_namest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["entity"] = reinterpret_cast(&(df_structure->entity)) - reinterpret_cast(df_structure); - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["unk1a"] = reinterpret_cast(&(df_structure->unk1a)) - reinterpret_cast(df_structure); - p_table["current_component"] = reinterpret_cast(&(df_structure->current_component)) - reinterpret_cast(df_structure); - p_table["unk1c"] = reinterpret_cast(&(df_structure->unk1c)) - reinterpret_cast(df_structure); - p_table["dictionary"] = reinterpret_cast(&(df_structure->dictionary)) - reinterpret_cast(df_structure); - p_table["list_word"] = reinterpret_cast(&(df_structure->list_word)) - reinterpret_cast(df_structure); - p_table["list_part"] = reinterpret_cast(&(df_structure->list_part)) - reinterpret_cast(df_structure); - p_table["selector"] = reinterpret_cast(&(df_structure->selector)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_layer_currencyst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_layer_export_play_mapst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_layer_militaryst__T_squads_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["list"] = reinterpret_cast(&(df_structure->list)) - reinterpret_cast(df_structure); - p_table["leader_positions"] = reinterpret_cast(&(df_structure->leader_positions)) - reinterpret_cast(df_structure); - p_table["leader_assignments"] = reinterpret_cast(&(df_structure->leader_assignments)) - reinterpret_cast(df_structure); - p_table["can_appoint"] = reinterpret_cast(&(df_structure->can_appoint)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_layer_militaryst__T_positions_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["assigned"] = reinterpret_cast(&(df_structure->assigned)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["skill"] = reinterpret_cast(&(df_structure->skill)) - reinterpret_cast(df_structure); - p_table["unk_84"] = reinterpret_cast(&(df_structure->unk_84)) - reinterpret_cast(df_structure); - p_table["candidates"] = reinterpret_cast(&(df_structure->candidates)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_layer_militaryst__T_squad_members_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["profession"] = reinterpret_cast(&(df_structure->profession)) - reinterpret_cast(df_structure); - p_table["count"] = reinterpret_cast(&(df_structure->count)) - reinterpret_cast(df_structure); - p_table["max_count"] = reinterpret_cast(&(df_structure->max_count)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_layer_militaryst__T_equip__T_assigned_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["spec"] = reinterpret_cast(&(df_structure->spec)) - reinterpret_cast(df_structure); - p_table["category"] = reinterpret_cast(&(df_structure->category)) - reinterpret_cast(df_structure); - p_table["index"] = reinterpret_cast(&(df_structure->index)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_layer_militaryst__T_equip__T_uniform_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["subtype"] = reinterpret_cast(&(df_structure->subtype)) - reinterpret_cast(df_structure); - p_table["category"] = reinterpret_cast(&(df_structure->category)) - reinterpret_cast(df_structure); - p_table["index"] = reinterpret_cast(&(df_structure->index)) - reinterpret_cast(df_structure); - p_table["info"] = reinterpret_cast(&(df_structure->info)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_layer_militaryst__T_equip__T_add_item_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["subtype"] = reinterpret_cast(&(df_structure->subtype)) - reinterpret_cast(df_structure); - p_table["indiv_choice"] = reinterpret_cast(&(df_structure->indiv_choice)) - reinterpret_cast(df_structure); - p_table["foreign"] = reinterpret_cast(&(df_structure->foreign)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_layer_militaryst__T_equip__T_material_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["generic"] = reinterpret_cast(&(df_structure->generic)) - reinterpret_cast(df_structure); - p_table["specific"] = reinterpret_cast(&(df_structure->specific)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_layer_militaryst__T_equip__T_color_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["dye"] = reinterpret_cast(&(df_structure->dye)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_layer_militaryst__T_equip_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mode"] = reinterpret_cast(&(df_structure->mode)) - reinterpret_cast(df_structure); - p_table["squads"] = reinterpret_cast(&(df_structure->squads)) - reinterpret_cast(df_structure); - p_table["units"] = reinterpret_cast(&(df_structure->units)) - reinterpret_cast(df_structure); - p_table["specific_items"] = reinterpret_cast(&(df_structure->specific_items)) - reinterpret_cast(df_structure); - p_table["prio_in_move"] = reinterpret_cast(&(df_structure->prio_in_move)) - reinterpret_cast(df_structure); - p_table["assigned"] = reinterpret_cast(&(df_structure->assigned)) - reinterpret_cast(df_structure); - p_table["assigned_items"] = reinterpret_cast(&(df_structure->assigned_items)) - reinterpret_cast(df_structure); - p_table["edit_spec"] = reinterpret_cast(&(df_structure->edit_spec)) - reinterpret_cast(df_structure); - p_table["uniforms"] = reinterpret_cast(&(df_structure->uniforms)) - reinterpret_cast(df_structure); - p_table["uniform"] = reinterpret_cast(&(df_structure->uniform)) - reinterpret_cast(df_structure); - p_table["edit_mode"] = reinterpret_cast(&(df_structure->edit_mode)) - reinterpret_cast(df_structure); - p_table["unk_1ec"] = reinterpret_cast(&(df_structure->unk_1ec)) - reinterpret_cast(df_structure); - p_table["add_item"] = reinterpret_cast(&(df_structure->add_item)) - reinterpret_cast(df_structure); - p_table["material"] = reinterpret_cast(&(df_structure->material)) - reinterpret_cast(df_structure); - p_table["color"] = reinterpret_cast(&(df_structure->color)) - reinterpret_cast(df_structure); - p_table["in_name_uniform"] = reinterpret_cast(&(df_structure->in_name_uniform)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_layer_militaryst__T_ammo__T_add_item_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["subtype"] = reinterpret_cast(&(df_structure->subtype)) - reinterpret_cast(df_structure); - p_table["foreign"] = reinterpret_cast(&(df_structure->foreign)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_layer_militaryst__T_ammo__T_material_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["generic"] = reinterpret_cast(&(df_structure->generic)) - reinterpret_cast(df_structure); - p_table["specific"] = reinterpret_cast(&(df_structure->specific)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_layer_militaryst__T_ammo_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["squads"] = reinterpret_cast(&(df_structure->squads)) - reinterpret_cast(df_structure); - p_table["in_add_item"] = reinterpret_cast(&(df_structure->in_add_item)) - reinterpret_cast(df_structure); - p_table["in_set_material"] = reinterpret_cast(&(df_structure->in_set_material)) - reinterpret_cast(df_structure); - p_table["add_item"] = reinterpret_cast(&(df_structure->add_item)) - reinterpret_cast(df_structure); - p_table["material"] = reinterpret_cast(&(df_structure->material)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_layer_militaryst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["squads"] = reinterpret_cast(&(df_structure->squads)) - reinterpret_cast(df_structure); - p_table["positions"] = reinterpret_cast(&(df_structure->positions)) - reinterpret_cast(df_structure); - p_table["page"] = reinterpret_cast(&(df_structure->page)) - reinterpret_cast(df_structure); - p_table["num_squads"] = reinterpret_cast(&(df_structure->num_squads)) - reinterpret_cast(df_structure); - p_table["num_soldiers"] = reinterpret_cast(&(df_structure->num_soldiers)) - reinterpret_cast(df_structure); - p_table["num_active"] = reinterpret_cast(&(df_structure->num_active)) - reinterpret_cast(df_structure); - p_table["squad_members"] = reinterpret_cast(&(df_structure->squad_members)) - reinterpret_cast(df_structure); - p_table["in_create_squad"] = reinterpret_cast(&(df_structure->in_create_squad)) - reinterpret_cast(df_structure); - p_table["in_new_squad"] = reinterpret_cast(&(df_structure->in_new_squad)) - reinterpret_cast(df_structure); - p_table["unk_e6"] = reinterpret_cast(&(df_structure->unk_e6)) - reinterpret_cast(df_structure); - p_table["captain_positions"] = reinterpret_cast(&(df_structure->captain_positions)) - reinterpret_cast(df_structure); - p_table["new_position"] = reinterpret_cast(&(df_structure->new_position)) - reinterpret_cast(df_structure); - p_table["unk_fc"] = reinterpret_cast(&(df_structure->unk_fc)) - reinterpret_cast(df_structure); - p_table["in_rename_alert"] = reinterpret_cast(&(df_structure->in_rename_alert)) - reinterpret_cast(df_structure); - p_table["in_delete_alert"] = reinterpret_cast(&(df_structure->in_delete_alert)) - reinterpret_cast(df_structure); - p_table["unk_ff"] = reinterpret_cast(&(df_structure->unk_ff)) - reinterpret_cast(df_structure); - p_table["alert_squads"] = reinterpret_cast(&(df_structure->alert_squads)) - reinterpret_cast(df_structure); - p_table["equip"] = reinterpret_cast(&(df_structure->equip)) - reinterpret_cast(df_structure); - p_table["ammo"] = reinterpret_cast(&(df_structure->ammo)) - reinterpret_cast(df_structure); - p_table["supplies_squads"] = reinterpret_cast(&(df_structure->supplies_squads)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_layer_musicsoundst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - -} - -void generate_unit_storage_status_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["floor_pos"] = reinterpret_cast(&(df_structure->floor_pos)) - reinterpret_cast(df_structure); - p_table["chest_pos"] = reinterpret_cast(&(df_structure->chest_pos)) - reinterpret_cast(df_structure); - p_table["chest_capacity"] = reinterpret_cast(&(df_structure->chest_capacity)) - reinterpret_cast(df_structure); - p_table["cabinet_pos"] = reinterpret_cast(&(df_structure->cabinet_pos)) - reinterpret_cast(df_structure); - p_table["cabinet_capacity"] = reinterpret_cast(&(df_structure->cabinet_capacity)) - reinterpret_cast(df_structure); - p_table["weaponrack_pos"] = reinterpret_cast(&(df_structure->weaponrack_pos)) - reinterpret_cast(df_structure); - p_table["weaponrack_capacity"] = reinterpret_cast(&(df_structure->weaponrack_capacity)) - reinterpret_cast(df_structure); - p_table["armorstand_capacity"] = reinterpret_cast(&(df_structure->armorstand_capacity)) - reinterpret_cast(df_structure); - p_table["armorstand_pos"] = reinterpret_cast(&(df_structure->armorstand_pos)) - reinterpret_cast(df_structure); - p_table["num_owned_items"] = reinterpret_cast(&(df_structure->num_owned_items)) - reinterpret_cast(df_structure); - p_table["num_owned_chests"] = reinterpret_cast(&(df_structure->num_owned_chests)) - reinterpret_cast(df_structure); - p_table["num_owned_cabinets"] = reinterpret_cast(&(df_structure->num_owned_cabinets)) - reinterpret_cast(df_structure); - p_table["num_owned_weaponracks"] = reinterpret_cast(&(df_structure->num_owned_weaponracks)) - reinterpret_cast(df_structure); - p_table["num_owned_armorstands"] = reinterpret_cast(&(df_structure->num_owned_armorstands)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_layer_noblelistst__T_info_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); - p_table["nemesis"] = reinterpret_cast(&(df_structure->nemesis)) - reinterpret_cast(df_structure); - p_table["storage_status"] = reinterpret_cast(&(df_structure->storage_status)) - reinterpret_cast(df_structure); - p_table["position"] = reinterpret_cast(&(df_structure->position)) - reinterpret_cast(df_structure); - p_table["assignment"] = reinterpret_cast(&(df_structure->assignment)) - reinterpret_cast(df_structure); - p_table["group"] = reinterpret_cast(&(df_structure->group)) - reinterpret_cast(df_structure); - p_table["precedence"] = reinterpret_cast(&(df_structure->precedence)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_layer_noblelistst__T_candidates_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); - p_table["weight"] = reinterpret_cast(&(df_structure->weight)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_layer_noblelistst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mode"] = reinterpret_cast(&(df_structure->mode)) - reinterpret_cast(df_structure); - p_table["info"] = reinterpret_cast(&(df_structure->info)) - reinterpret_cast(df_structure); - p_table["candidates"] = reinterpret_cast(&(df_structure->candidates)) - reinterpret_cast(df_structure); - p_table["assignments"] = reinterpret_cast(&(df_structure->assignments)) - reinterpret_cast(df_structure); - p_table["histfigs"] = reinterpret_cast(&(df_structure->histfigs)) - reinterpret_cast(df_structure); - p_table["groups"] = reinterpret_cast(&(df_structure->groups)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_layer_overall_healthst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); - p_table["bits1"] = reinterpret_cast(&(df_structure->bits1)) - reinterpret_cast(df_structure); - p_table["bits2"] = reinterpret_cast(&(df_structure->bits2)) - reinterpret_cast(df_structure); - p_table["bits3"] = reinterpret_cast(&(df_structure->bits3)) - reinterpret_cast(df_structure); - p_table["x_cursor_pos"] = reinterpret_cast(&(df_structure->x_cursor_pos)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_layer_reactionst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_layer_squad_schedulest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["squads"] = reinterpret_cast(&(df_structure->squads)) - reinterpret_cast(df_structure); - p_table["swapped"] = reinterpret_cast(&(df_structure->swapped)) - reinterpret_cast(df_structure); - p_table["page_month"] = reinterpret_cast(&(df_structure->page_month)) - reinterpret_cast(df_structure); - p_table["cur_alert"] = reinterpret_cast(&(df_structure->cur_alert)) - reinterpret_cast(df_structure); - p_table["in_name_cell"] = reinterpret_cast(&(df_structure->in_name_cell)) - reinterpret_cast(df_structure); - p_table["in_give_order"] = reinterpret_cast(&(df_structure->in_give_order)) - reinterpret_cast(df_structure); - p_table["in_edit_order"] = reinterpret_cast(&(df_structure->in_edit_order)) - reinterpret_cast(df_structure); - p_table["order_list"] = reinterpret_cast(&(df_structure->order_list)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["order_month"] = reinterpret_cast(&(df_structure->order_month)) - reinterpret_cast(df_structure); - p_table["order_type"] = reinterpret_cast(&(df_structure->order_type)) - reinterpret_cast(df_structure); - p_table["burrows"] = reinterpret_cast(&(df_structure->burrows)) - reinterpret_cast(df_structure); - p_table["patrol_route"] = reinterpret_cast(&(df_structure->patrol_route)) - reinterpret_cast(df_structure); - p_table["min_soldiers"] = reinterpret_cast(&(df_structure->min_soldiers)) - reinterpret_cast(df_structure); - p_table["positions"] = reinterpret_cast(&(df_structure->positions)) - reinterpret_cast(df_structure); - p_table["station_point"] = reinterpret_cast(&(df_structure->station_point)) - reinterpret_cast(df_structure); - p_table["copy_item"] = reinterpret_cast(&(df_structure->copy_item)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_layer_stockpilest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["settings"] = reinterpret_cast(&(df_structure->settings)) - reinterpret_cast(df_structure); - p_table["cur_group"] = reinterpret_cast(&(df_structure->cur_group)) - reinterpret_cast(df_structure); - p_table["cur_list"] = reinterpret_cast(&(df_structure->cur_list)) - reinterpret_cast(df_structure); - p_table["group_ids"] = reinterpret_cast(&(df_structure->group_ids)) - reinterpret_cast(df_structure); - p_table["group_bits"] = reinterpret_cast(&(df_structure->group_bits)) - reinterpret_cast(df_structure); - p_table["list_ids"] = reinterpret_cast(&(df_structure->list_ids)) - reinterpret_cast(df_structure); - p_table["item_names"] = reinterpret_cast(&(df_structure->item_names)) - reinterpret_cast(df_structure); - p_table["item_status"] = reinterpret_cast(&(df_structure->item_status)) - reinterpret_cast(df_structure); - p_table["title"] = reinterpret_cast(&(df_structure->title)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_layer_stone_restrictionst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["stone_type"] = reinterpret_cast(&(df_structure->stone_type)) - reinterpret_cast(df_structure); - p_table["stone_economic"] = reinterpret_cast(&(df_structure->stone_economic)) - reinterpret_cast(df_structure); - p_table["type_tab"] = reinterpret_cast(&(df_structure->type_tab)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["use_name"] = reinterpret_cast(&(df_structure->use_name)) - reinterpret_cast(df_structure); - p_table["use_id"] = reinterpret_cast(&(df_structure->use_id)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_layer_unit_actionst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); - p_table["held_items"] = reinterpret_cast(&(df_structure->held_items)) - reinterpret_cast(df_structure); - p_table["reactions"] = reinterpret_cast(&(df_structure->reactions)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["group_name"] = reinterpret_cast(&(df_structure->group_name)) - reinterpret_cast(df_structure); - p_table["choice_items"] = reinterpret_cast(&(df_structure->choice_items)) - reinterpret_cast(df_structure); - p_table["sel_items"] = reinterpret_cast(&(df_structure->sel_items)) - reinterpret_cast(df_structure); - p_table["sel_reagents"] = reinterpret_cast(&(df_structure->sel_reagents)) - reinterpret_cast(df_structure); - p_table["cur_reaction"] = reinterpret_cast(&(df_structure->cur_reaction)) - reinterpret_cast(df_structure); - p_table["reagent"] = reinterpret_cast(&(df_structure->reagent)) - reinterpret_cast(df_structure); - p_table["reagent_amnt_left"] = reinterpret_cast(&(df_structure->reagent_amnt_left)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); - p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); - p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); - p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); - p_table["anon_11"] = reinterpret_cast(&(df_structure->anon_11)) - reinterpret_cast(df_structure); - p_table["anon_12"] = reinterpret_cast(&(df_structure->anon_12)) - reinterpret_cast(df_structure); - p_table["anon_13"] = reinterpret_cast(&(df_structure->anon_13)) - reinterpret_cast(df_structure); - p_table["anon_14"] = reinterpret_cast(&(df_structure->anon_14)) - reinterpret_cast(df_structure); - p_table["anon_15"] = reinterpret_cast(&(df_structure->anon_15)) - reinterpret_cast(df_structure); - p_table["anon_16"] = reinterpret_cast(&(df_structure->anon_16)) - reinterpret_cast(df_structure); - p_table["anon_17"] = reinterpret_cast(&(df_structure->anon_17)) - reinterpret_cast(df_structure); - p_table["unk_20"] = reinterpret_cast(&(df_structure->unk_20)) - reinterpret_cast(df_structure); - p_table["unk_21"] = reinterpret_cast(&(df_structure->unk_21)) - reinterpret_cast(df_structure); - p_table["anon_18"] = reinterpret_cast(&(df_structure->anon_18)) - reinterpret_cast(df_structure); - p_table["anon_19"] = reinterpret_cast(&(df_structure->anon_19)) - reinterpret_cast(df_structure); - p_table["anon_20"] = reinterpret_cast(&(df_structure->anon_20)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_layer_unit_healthst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); - p_table["page"] = reinterpret_cast(&(df_structure->page)) - reinterpret_cast(df_structure); - p_table["title"] = reinterpret_cast(&(df_structure->title)) - reinterpret_cast(df_structure); - p_table["text"] = reinterpret_cast(&(df_structure->text)) - reinterpret_cast(df_structure); - p_table["text_fg"] = reinterpret_cast(&(df_structure->text_fg)) - reinterpret_cast(df_structure); - p_table["text_bg"] = reinterpret_cast(&(df_structure->text_bg)) - reinterpret_cast(df_structure); - p_table["text_bold"] = reinterpret_cast(&(df_structure->text_bold)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_layer_unit_relationshipst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); - p_table["relation_textline"] = reinterpret_cast(&(df_structure->relation_textline)) - reinterpret_cast(df_structure); - p_table["relation_unit_type"] = reinterpret_cast(&(df_structure->relation_unit_type)) - reinterpret_cast(df_structure); - p_table["relation_histfig_type"] = reinterpret_cast(&(df_structure->relation_histfig_type)) - reinterpret_cast(df_structure); - p_table["relation_unit"] = reinterpret_cast(&(df_structure->relation_unit)) - reinterpret_cast(df_structure); - p_table["relation_hf"] = reinterpret_cast(&(df_structure->relation_hf)) - reinterpret_cast(df_structure); - p_table["level"] = reinterpret_cast(&(df_structure->level)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_layer_world_gen_paramst__T_unk1_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); - p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); - p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); - p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); - p_table["anon_11"] = reinterpret_cast(&(df_structure->anon_11)) - reinterpret_cast(df_structure); - p_table["anon_12"] = reinterpret_cast(&(df_structure->anon_12)) - reinterpret_cast(df_structure); - p_table["anon_13"] = reinterpret_cast(&(df_structure->anon_13)) - reinterpret_cast(df_structure); - p_table["anon_14"] = reinterpret_cast(&(df_structure->anon_14)) - reinterpret_cast(df_structure); - p_table["anon_15"] = reinterpret_cast(&(df_structure->anon_15)) - reinterpret_cast(df_structure); - p_table["anon_16"] = reinterpret_cast(&(df_structure->anon_16)) - reinterpret_cast(df_structure); - p_table["anon_17"] = reinterpret_cast(&(df_structure->anon_17)) - reinterpret_cast(df_structure); - p_table["anon_18"] = reinterpret_cast(&(df_structure->anon_18)) - reinterpret_cast(df_structure); - p_table["anon_19"] = reinterpret_cast(&(df_structure->anon_19)) - reinterpret_cast(df_structure); - p_table["anon_20"] = reinterpret_cast(&(df_structure->anon_20)) - reinterpret_cast(df_structure); - p_table["anon_21"] = reinterpret_cast(&(df_structure->anon_21)) - reinterpret_cast(df_structure); - p_table["anon_22"] = reinterpret_cast(&(df_structure->anon_22)) - reinterpret_cast(df_structure); - p_table["anon_23"] = reinterpret_cast(&(df_structure->anon_23)) - reinterpret_cast(df_structure); - p_table["anon_24"] = reinterpret_cast(&(df_structure->anon_24)) - reinterpret_cast(df_structure); - p_table["anon_25"] = reinterpret_cast(&(df_structure->anon_25)) - reinterpret_cast(df_structure); - p_table["anon_26"] = reinterpret_cast(&(df_structure->anon_26)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_layer_world_gen_paramst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_layer_world_gen_param_presetst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); - p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); - p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); - p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_legendsst__T_anon_7__T_anon_3_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_legendsst__T_anon_7_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_legendsst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["init_step"] = reinterpret_cast(&(df_structure->init_step)) - reinterpret_cast(df_structure); - p_table["init_era"] = reinterpret_cast(&(df_structure->init_era)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["init_progress"] = reinterpret_cast(&(df_structure->init_progress)) - reinterpret_cast(df_structure); - p_table["histfigs"] = reinterpret_cast(&(df_structure->histfigs)) - reinterpret_cast(df_structure); - p_table["sites"] = reinterpret_cast(&(df_structure->sites)) - reinterpret_cast(df_structure); - p_table["artifacts"] = reinterpret_cast(&(df_structure->artifacts)) - reinterpret_cast(df_structure); - p_table["codices"] = reinterpret_cast(&(df_structure->codices)) - reinterpret_cast(df_structure); - p_table["regions"] = reinterpret_cast(&(df_structure->regions)) - reinterpret_cast(df_structure); - p_table["layers"] = reinterpret_cast(&(df_structure->layers)) - reinterpret_cast(df_structure); - p_table["entities"] = reinterpret_cast(&(df_structure->entities)) - reinterpret_cast(df_structure); - p_table["structure_sites"] = reinterpret_cast(&(df_structure->structure_sites)) - reinterpret_cast(df_structure); - p_table["structures_indices"] = reinterpret_cast(&(df_structure->structures_indices)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["header_text"] = reinterpret_cast(&(df_structure->header_text)) - reinterpret_cast(df_structure); - p_table["event_collections"] = reinterpret_cast(&(df_structure->event_collections)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["events"] = reinterpret_cast(&(df_structure->events)) - reinterpret_cast(df_structure); - p_table["events_text"] = reinterpret_cast(&(df_structure->events_text)) - reinterpret_cast(df_structure); - p_table["stack_collections"] = reinterpret_cast(&(df_structure->stack_collections)) - reinterpret_cast(df_structure); - p_table["stack_cursor"] = reinterpret_cast(&(df_structure->stack_cursor)) - reinterpret_cast(df_structure); - p_table["collection_name"] = reinterpret_cast(&(df_structure->collection_name)) - reinterpret_cast(df_structure); - p_table["cur_page"] = reinterpret_cast(&(df_structure->cur_page)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["main_cursor"] = reinterpret_cast(&(df_structure->main_cursor)) - reinterpret_cast(df_structure); - p_table["main_row_type"] = reinterpret_cast(&(df_structure->main_row_type)) - reinterpret_cast(df_structure); - p_table["main_row_arg1"] = reinterpret_cast(&(df_structure->main_row_arg1)) - reinterpret_cast(df_structure); - p_table["main_row_arg2"] = reinterpret_cast(&(df_structure->main_row_arg2)) - reinterpret_cast(df_structure); - p_table["main_row_arg3"] = reinterpret_cast(&(df_structure->main_row_arg3)) - reinterpret_cast(df_structure); - p_table["sub_cursor"] = reinterpret_cast(&(df_structure->sub_cursor)) - reinterpret_cast(df_structure); - p_table["important_events_only"] = reinterpret_cast(&(df_structure->important_events_only)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); - p_table["map_x"] = reinterpret_cast(&(df_structure->map_x)) - reinterpret_cast(df_structure); - p_table["map_y"] = reinterpret_cast(&(df_structure->map_y)) - reinterpret_cast(df_structure); - p_table["hide_territories"] = reinterpret_cast(&(df_structure->hide_territories)) - reinterpret_cast(df_structure); - p_table["civ_site_mode"] = reinterpret_cast(&(df_structure->civ_site_mode)) - reinterpret_cast(df_structure); - p_table["decade"] = reinterpret_cast(&(df_structure->decade)) - reinterpret_cast(df_structure); - p_table["filter_text"] = reinterpret_cast(&(df_structure->filter_text)) - reinterpret_cast(df_structure); - p_table["filter_editing"] = reinterpret_cast(&(df_structure->filter_editing)) - reinterpret_cast(df_structure); - p_table["histfigs_filtered"] = reinterpret_cast(&(df_structure->histfigs_filtered)) - reinterpret_cast(df_structure); - p_table["sites_filtered"] = reinterpret_cast(&(df_structure->sites_filtered)) - reinterpret_cast(df_structure); - p_table["artifacts_filtered"] = reinterpret_cast(&(df_structure->artifacts_filtered)) - reinterpret_cast(df_structure); - p_table["codices_filtered"] = reinterpret_cast(&(df_structure->codices_filtered)) - reinterpret_cast(df_structure); - p_table["regions_filtered"] = reinterpret_cast(&(df_structure->regions_filtered)) - reinterpret_cast(df_structure); - p_table["layers_filtered"] = reinterpret_cast(&(df_structure->layers_filtered)) - reinterpret_cast(df_structure); - p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); - p_table["entities_filtered"] = reinterpret_cast(&(df_structure->entities_filtered)) - reinterpret_cast(df_structure); - p_table["structures_filtered"] = reinterpret_cast(&(df_structure->structures_filtered)) - reinterpret_cast(df_structure); - p_table["total_codices"] = reinterpret_cast(&(df_structure->total_codices)) - reinterpret_cast(df_structure); - p_table["total_artifacts"] = reinterpret_cast(&(df_structure->total_artifacts)) - reinterpret_cast(df_structure); - p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); - p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); - p_table["anon_11"] = reinterpret_cast(&(df_structure->anon_11)) - reinterpret_cast(df_structure); - p_table["anon_12"] = reinterpret_cast(&(df_structure->anon_12)) - reinterpret_cast(df_structure); - p_table["anon_13"] = reinterpret_cast(&(df_structure->anon_13)) - reinterpret_cast(df_structure); - p_table["anon_14"] = reinterpret_cast(&(df_structure->anon_14)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_locationsst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["locations"] = reinterpret_cast(&(df_structure->locations)) - reinterpret_cast(df_structure); - p_table["dance_floor_x"] = reinterpret_cast(&(df_structure->dance_floor_x)) - reinterpret_cast(df_structure); - p_table["dance_floor_y"] = reinterpret_cast(&(df_structure->dance_floor_y)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["location_idx"] = reinterpret_cast(&(df_structure->location_idx)) - reinterpret_cast(df_structure); - p_table["occupations"] = reinterpret_cast(&(df_structure->occupations)) - reinterpret_cast(df_structure); - p_table["occupation_idx"] = reinterpret_cast(&(df_structure->occupation_idx)) - reinterpret_cast(df_structure); - p_table["units"] = reinterpret_cast(&(df_structure->units)) - reinterpret_cast(df_structure); - p_table["unit_idx"] = reinterpret_cast(&(df_structure->unit_idx)) - reinterpret_cast(df_structure); - p_table["in_edit"] = reinterpret_cast(&(df_structure->in_edit)) - reinterpret_cast(df_structure); - p_table["edit_input"] = reinterpret_cast(&(df_structure->edit_input)) - reinterpret_cast(df_structure); - p_table["menu"] = reinterpret_cast(&(df_structure->menu)) - reinterpret_cast(df_structure); -} - -void generate_loadgame_save_info_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["save_info"] = reinterpret_cast(&(df_structure->save_info)) - reinterpret_cast(df_structure); - p_table["game_type"] = reinterpret_cast(&(df_structure->game_type)) - reinterpret_cast(df_structure); - p_table["fort_name"] = reinterpret_cast(&(df_structure->fort_name)) - reinterpret_cast(df_structure); - p_table["world_name"] = reinterpret_cast(&(df_structure->world_name)) - reinterpret_cast(df_structure); - p_table["year"] = reinterpret_cast(&(df_structure->year)) - reinterpret_cast(df_structure); - p_table["folder_name"] = reinterpret_cast(&(df_structure->folder_name)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_loadgamest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["cur_step"] = reinterpret_cast(&(df_structure->cur_step)) - reinterpret_cast(df_structure); - p_table["unk_v40_1b"] = reinterpret_cast(&(df_structure->unk_v40_1b)) - reinterpret_cast(df_structure); - p_table["loading"] = reinterpret_cast(&(df_structure->loading)) - reinterpret_cast(df_structure); - p_table["sel_idx"] = reinterpret_cast(&(df_structure->sel_idx)) - reinterpret_cast(df_structure); - p_table["saves"] = reinterpret_cast(&(df_structure->saves)) - reinterpret_cast(df_structure); - p_table["compressor"] = reinterpret_cast(&(df_structure->compressor)) - reinterpret_cast(df_structure); - p_table["glosses"] = reinterpret_cast(&(df_structure->glosses)) - reinterpret_cast(df_structure); - p_table["save_version"] = reinterpret_cast(&(df_structure->save_version)) - reinterpret_cast(df_structure); - p_table["cur_save"] = reinterpret_cast(&(df_structure->cur_save)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_meetingst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["dipscript_popup"] = reinterpret_cast(&(df_structure->dipscript_popup)) - reinterpret_cast(df_structure); - p_table["activity"] = reinterpret_cast(&(df_structure->activity)) - reinterpret_cast(df_structure); - p_table["holder"] = reinterpret_cast(&(df_structure->holder)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_movieplayerst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["saving"] = reinterpret_cast(&(df_structure->saving)) - reinterpret_cast(df_structure); - p_table["loading"] = reinterpret_cast(&(df_structure->loading)) - reinterpret_cast(df_structure); - p_table["editing"] = reinterpret_cast(&(df_structure->editing)) - reinterpret_cast(df_structure); - p_table["text_mode"] = reinterpret_cast(&(df_structure->text_mode)) - reinterpret_cast(df_structure); - p_table["editing_char"] = reinterpret_cast(&(df_structure->editing_char)) - reinterpret_cast(df_structure); - p_table["editing_copy_from"] = reinterpret_cast(&(df_structure->editing_copy_from)) - reinterpret_cast(df_structure); - p_table["editing_screenf"] = reinterpret_cast(&(df_structure->editing_screenf)) - reinterpret_cast(df_structure); - p_table["editing_screenb"] = reinterpret_cast(&(df_structure->editing_screenb)) - reinterpret_cast(df_structure); - p_table["editing_screenbright"] = reinterpret_cast(&(df_structure->editing_screenbright)) - reinterpret_cast(df_structure); - p_table["editing_selected_sound"] = reinterpret_cast(&(df_structure->editing_selected_sound)) - reinterpret_cast(df_structure); - p_table["editing_menu"] = reinterpret_cast(&(df_structure->editing_menu)) - reinterpret_cast(df_structure); - p_table["savename"] = reinterpret_cast(&(df_structure->savename)) - reinterpret_cast(df_structure); - p_table["force_file"] = reinterpret_cast(&(df_structure->force_file)) - reinterpret_cast(df_structure); - p_table["is_playing"] = reinterpret_cast(&(df_structure->is_playing)) - reinterpret_cast(df_structure); - p_table["is_forced_play"] = reinterpret_cast(&(df_structure->is_forced_play)) - reinterpret_cast(df_structure); - p_table["quit_if_no_play"] = reinterpret_cast(&(df_structure->quit_if_no_play)) - reinterpret_cast(df_structure); - p_table["maxmoviepos"] = reinterpret_cast(&(df_structure->maxmoviepos)) - reinterpret_cast(df_structure); - p_table["end_frame_pos"] = reinterpret_cast(&(df_structure->end_frame_pos)) - reinterpret_cast(df_structure); - p_table["selfile"] = reinterpret_cast(&(df_structure->selfile)) - reinterpret_cast(df_structure); - p_table["filelist"] = reinterpret_cast(&(df_structure->filelist)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_new_regionst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["worldgen_presets"] = reinterpret_cast(&(df_structure->worldgen_presets)) - reinterpret_cast(df_structure); - p_table["unk_2"] = reinterpret_cast(&(df_structure->unk_2)) - reinterpret_cast(df_structure); - p_table["in_worldgen"] = reinterpret_cast(&(df_structure->in_worldgen)) - reinterpret_cast(df_structure); - p_table["cursor_paramset"] = reinterpret_cast(&(df_structure->cursor_paramset)) - reinterpret_cast(df_structure); - p_table["random_seed"] = reinterpret_cast(&(df_structure->random_seed)) - reinterpret_cast(df_structure); - p_table["editing_randseed"] = reinterpret_cast(&(df_structure->editing_randseed)) - reinterpret_cast(df_structure); - p_table["editing_customname"] = reinterpret_cast(&(df_structure->editing_customname)) - reinterpret_cast(df_structure); - p_table["editing_title"] = reinterpret_cast(&(df_structure->editing_title)) - reinterpret_cast(df_structure); - p_table["popup_deleteset"] = reinterpret_cast(&(df_structure->popup_deleteset)) - reinterpret_cast(df_structure); - p_table["popup_changedimensions"] = reinterpret_cast(&(df_structure->popup_changedimensions)) - reinterpret_cast(df_structure); - p_table["unk_11"] = reinterpret_cast(&(df_structure->unk_11)) - reinterpret_cast(df_structure); - p_table["custom_size_x"] = reinterpret_cast(&(df_structure->custom_size_x)) - reinterpret_cast(df_structure); - p_table["custom_size_y"] = reinterpret_cast(&(df_structure->custom_size_y)) - reinterpret_cast(df_structure); - p_table["popup_abort"] = reinterpret_cast(&(df_structure->popup_abort)) - reinterpret_cast(df_structure); - p_table["popup_goon"] = reinterpret_cast(&(df_structure->popup_goon)) - reinterpret_cast(df_structure); - p_table["unsaved_changes"] = reinterpret_cast(&(df_structure->unsaved_changes)) - reinterpret_cast(df_structure); - p_table["simple_mode"] = reinterpret_cast(&(df_structure->simple_mode)) - reinterpret_cast(df_structure); - p_table["unk_20"] = reinterpret_cast(&(df_structure->unk_20)) - reinterpret_cast(df_structure); - p_table["unk_21"] = reinterpret_cast(&(df_structure->unk_21)) - reinterpret_cast(df_structure); - p_table["cursor_line"] = reinterpret_cast(&(df_structure->cursor_line)) - reinterpret_cast(df_structure); - p_table["world_size"] = reinterpret_cast(&(df_structure->world_size)) - reinterpret_cast(df_structure); - p_table["history"] = reinterpret_cast(&(df_structure->history)) - reinterpret_cast(df_structure); - p_table["number_civs"] = reinterpret_cast(&(df_structure->number_civs)) - reinterpret_cast(df_structure); - p_table["number_sites"] = reinterpret_cast(&(df_structure->number_sites)) - reinterpret_cast(df_structure); - p_table["number_beasts"] = reinterpret_cast(&(df_structure->number_beasts)) - reinterpret_cast(df_structure); - p_table["savagery"] = reinterpret_cast(&(df_structure->savagery)) - reinterpret_cast(df_structure); - p_table["mineral_occurence"] = reinterpret_cast(&(df_structure->mineral_occurence)) - reinterpret_cast(df_structure); - p_table["worldgen_paused"] = reinterpret_cast(&(df_structure->worldgen_paused)) - reinterpret_cast(df_structure); - p_table["worldgen_rejected"] = reinterpret_cast(&(df_structure->worldgen_rejected)) - reinterpret_cast(df_structure); - p_table["rejection_msg"] = reinterpret_cast(&(df_structure->rejection_msg)) - reinterpret_cast(df_structure); - p_table["welcome_msg"] = reinterpret_cast(&(df_structure->welcome_msg)) - reinterpret_cast(df_structure); - p_table["raw_folder"] = reinterpret_cast(&(df_structure->raw_folder)) - reinterpret_cast(df_structure); - p_table["load_world_params"] = reinterpret_cast(&(df_structure->load_world_params)) - reinterpret_cast(df_structure); - p_table["unk_b8"] = reinterpret_cast(&(df_structure->unk_b8)) - reinterpret_cast(df_structure); - p_table["unk_bc"] = reinterpret_cast(&(df_structure->unk_bc)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_noblest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["become_capital_offerings"] = reinterpret_cast(&(df_structure->become_capital_offerings)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_optionst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["msg_quit"] = reinterpret_cast(&(df_structure->msg_quit)) - reinterpret_cast(df_structure); - p_table["in_retire_adv"] = reinterpret_cast(&(df_structure->in_retire_adv)) - reinterpret_cast(df_structure); - p_table["msg_peasant"] = reinterpret_cast(&(df_structure->msg_peasant)) - reinterpret_cast(df_structure); - p_table["in_retire_dwf_abandon_adv"] = reinterpret_cast(&(df_structure->in_retire_dwf_abandon_adv)) - reinterpret_cast(df_structure); - p_table["in_abandon_dwf"] = reinterpret_cast(&(df_structure->in_abandon_dwf)) - reinterpret_cast(df_structure); - p_table["ending_game"] = reinterpret_cast(&(df_structure->ending_game)) - reinterpret_cast(df_structure); - p_table["sel_idx"] = reinterpret_cast(&(df_structure->sel_idx)) - reinterpret_cast(df_structure); - p_table["options"] = reinterpret_cast(&(df_structure->options)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_overallstatusst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["visible_pages"] = reinterpret_cast(&(df_structure->visible_pages)) - reinterpret_cast(df_structure); - p_table["page_cursor"] = reinterpret_cast(&(df_structure->page_cursor)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_petitionsst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["can_manage"] = reinterpret_cast(&(df_structure->can_manage)) - reinterpret_cast(df_structure); - p_table["list"] = reinterpret_cast(&(df_structure->list)) - reinterpret_cast(df_structure); - p_table["cursor"] = reinterpret_cast(&(df_structure->cursor)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_petst__T_animal_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); - p_table["item"] = reinterpret_cast(&(df_structure->item)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_petst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["cursor"] = reinterpret_cast(&(df_structure->cursor)) - reinterpret_cast(df_structure); - p_table["animal"] = reinterpret_cast(&(df_structure->animal)) - reinterpret_cast(df_structure); - p_table["is_vermin"] = reinterpret_cast(&(df_structure->is_vermin)) - reinterpret_cast(df_structure); - p_table["is_tame"] = reinterpret_cast(&(df_structure->is_tame)) - reinterpret_cast(df_structure); - p_table["is_adopting"] = reinterpret_cast(&(df_structure->is_adopting)) - reinterpret_cast(df_structure); - p_table["mode"] = reinterpret_cast(&(df_structure->mode)) - reinterpret_cast(df_structure); - p_table["knowledge_page"] = reinterpret_cast(&(df_structure->knowledge_page)) - reinterpret_cast(df_structure); - p_table["known"] = reinterpret_cast(&(df_structure->known)) - reinterpret_cast(df_structure); - p_table["trainer_cursor"] = reinterpret_cast(&(df_structure->trainer_cursor)) - reinterpret_cast(df_structure); - p_table["trainer_unit"] = reinterpret_cast(&(df_structure->trainer_unit)) - reinterpret_cast(df_structure); - p_table["trainer_mode"] = reinterpret_cast(&(df_structure->trainer_mode)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_pricest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["category_idx"] = reinterpret_cast(&(df_structure->category_idx)) - reinterpret_cast(df_structure); - p_table["item_idx"] = reinterpret_cast(&(df_structure->item_idx)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_reportlistst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["units"] = reinterpret_cast(&(df_structure->units)) - reinterpret_cast(df_structure); - p_table["types"] = reinterpret_cast(&(df_structure->types)) - reinterpret_cast(df_structure); - p_table["last_id"] = reinterpret_cast(&(df_structure->last_id)) - reinterpret_cast(df_structure); - p_table["mission_reports"] = reinterpret_cast(&(df_structure->mission_reports)) - reinterpret_cast(df_structure); - p_table["spoils_reports"] = reinterpret_cast(&(df_structure->spoils_reports)) - reinterpret_cast(df_structure); - p_table["cursor"] = reinterpret_cast(&(df_structure->cursor)) - reinterpret_cast(df_structure); - p_table["mission_report"] = reinterpret_cast(&(df_structure->mission_report)) - reinterpret_cast(df_structure); - p_table["map_cursor_x"] = reinterpret_cast(&(df_structure->map_cursor_x)) - reinterpret_cast(df_structure); - p_table["map_cursor_y"] = reinterpret_cast(&(df_structure->map_cursor_y)) - reinterpret_cast(df_structure); - p_table["mission_path_finished"] = reinterpret_cast(&(df_structure->mission_path_finished)) - reinterpret_cast(df_structure); - p_table["mission_path_progress"] = reinterpret_cast(&(df_structure->mission_path_progress)) - reinterpret_cast(df_structure); - p_table["mission_text_finished"] = reinterpret_cast(&(df_structure->mission_text_finished)) - reinterpret_cast(df_structure); - p_table["mission_text_progress"] = reinterpret_cast(&(df_structure->mission_text_progress)) - reinterpret_cast(df_structure); - p_table["mission_report_text"] = reinterpret_cast(&(df_structure->mission_report_text)) - reinterpret_cast(df_structure); - p_table["mission_report_colors"] = reinterpret_cast(&(df_structure->mission_report_colors)) - reinterpret_cast(df_structure); - p_table["mission_year"] = reinterpret_cast(&(df_structure->mission_year)) - reinterpret_cast(df_structure); - p_table["mission_year_tick"] = reinterpret_cast(&(df_structure->mission_year_tick)) - reinterpret_cast(df_structure); - p_table["mission_path_speed"] = reinterpret_cast(&(df_structure->mission_path_speed)) - reinterpret_cast(df_structure); - p_table["mission_report_paused"] = reinterpret_cast(&(df_structure->mission_report_paused)) - reinterpret_cast(df_structure); - p_table["mission_report_fade"] = reinterpret_cast(&(df_structure->mission_report_fade)) - reinterpret_cast(df_structure); - p_table["mission_report_fade_line"] = reinterpret_cast(&(df_structure->mission_report_fade_line)) - reinterpret_cast(df_structure); - p_table["mission_report_scroll"] = reinterpret_cast(&(df_structure->mission_report_scroll)) - reinterpret_cast(df_structure); - p_table["spoils_report_title"] = reinterpret_cast(&(df_structure->spoils_report_title)) - reinterpret_cast(df_structure); - p_table["spoils_report_scroll"] = reinterpret_cast(&(df_structure->spoils_report_scroll)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_requestagreementst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["requests"] = reinterpret_cast(&(df_structure->requests)) - reinterpret_cast(df_structure); - p_table["civ_id"] = reinterpret_cast(&(df_structure->civ_id)) - reinterpret_cast(df_structure); - p_table["cursor"] = reinterpret_cast(&(df_structure->cursor)) - reinterpret_cast(df_structure); - p_table["title"] = reinterpret_cast(&(df_structure->title)) - reinterpret_cast(df_structure); - p_table["civ"] = reinterpret_cast(&(df_structure->civ)) - reinterpret_cast(df_structure); -} - -void generate_nemesis_offload_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["nemesis_save_file_id"] = reinterpret_cast(&(df_structure->nemesis_save_file_id)) - reinterpret_cast(df_structure); - p_table["nemesis_member_idx"] = reinterpret_cast(&(df_structure->nemesis_member_idx)) - reinterpret_cast(df_structure); - p_table["units"] = reinterpret_cast(&(df_structure->units)) - reinterpret_cast(df_structure); - p_table["cur_unit_chunk"] = reinterpret_cast(&(df_structure->cur_unit_chunk)) - reinterpret_cast(df_structure); - p_table["cur_unit_chunk_num"] = reinterpret_cast(&(df_structure->cur_unit_chunk_num)) - reinterpret_cast(df_structure); - p_table["units_offloaded"] = reinterpret_cast(&(df_structure->units_offloaded)) - reinterpret_cast(df_structure); -} - -void generate_ui__T_tax_collection_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["state"] = reinterpret_cast(&(df_structure->state)) - reinterpret_cast(df_structure); - p_table["check_timer"] = reinterpret_cast(&(df_structure->check_timer)) - reinterpret_cast(df_structure); - p_table["rooms"] = reinterpret_cast(&(df_structure->rooms)) - reinterpret_cast(df_structure); - p_table["reach_room_timer"] = reinterpret_cast(&(df_structure->reach_room_timer)) - reinterpret_cast(df_structure); - p_table["tc_protect_timer"] = reinterpret_cast(&(df_structure->tc_protect_timer)) - reinterpret_cast(df_structure); - p_table["guard1_reach_tc_timer"] = reinterpret_cast(&(df_structure->guard1_reach_tc_timer)) - reinterpret_cast(df_structure); - p_table["guard2_reach_tc_timer"] = reinterpret_cast(&(df_structure->guard2_reach_tc_timer)) - reinterpret_cast(df_structure); - p_table["collected"] = reinterpret_cast(&(df_structure->collected)) - reinterpret_cast(df_structure); - p_table["quota"] = reinterpret_cast(&(df_structure->quota)) - reinterpret_cast(df_structure); - p_table["collector_pos"] = reinterpret_cast(&(df_structure->collector_pos)) - reinterpret_cast(df_structure); - p_table["guard_pos_x"] = reinterpret_cast(&(df_structure->guard_pos_x)) - reinterpret_cast(df_structure); - p_table["guard_pos_y"] = reinterpret_cast(&(df_structure->guard_pos_y)) - reinterpret_cast(df_structure); - p_table["guard_pos_z"] = reinterpret_cast(&(df_structure->guard_pos_z)) - reinterpret_cast(df_structure); - p_table["collector"] = reinterpret_cast(&(df_structure->collector)) - reinterpret_cast(df_structure); - p_table["guard1"] = reinterpret_cast(&(df_structure->guard1)) - reinterpret_cast(df_structure); - p_table["guard2"] = reinterpret_cast(&(df_structure->guard2)) - reinterpret_cast(df_structure); - p_table["guard_lack_complained"] = reinterpret_cast(&(df_structure->guard_lack_complained)) - reinterpret_cast(df_structure); -} - -void generate_ui__T_becoming_capital_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["desired_architecture"] = reinterpret_cast(&(df_structure->desired_architecture)) - reinterpret_cast(df_structure); - p_table["desired_offerings"] = reinterpret_cast(&(df_structure->desired_offerings)) - reinterpret_cast(df_structure); -} - -void generate_ui__T_invasions_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["list"] = reinterpret_cast(&(df_structure->list)) - reinterpret_cast(df_structure); - p_table["next_id"] = reinterpret_cast(&(df_structure->next_id)) - reinterpret_cast(df_structure); -} - -void generate_ui__T_kitchen_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["item_types"] = reinterpret_cast(&(df_structure->item_types)) - reinterpret_cast(df_structure); - p_table["item_subtypes"] = reinterpret_cast(&(df_structure->item_subtypes)) - reinterpret_cast(df_structure); - p_table["mat_types"] = reinterpret_cast(&(df_structure->mat_types)) - reinterpret_cast(df_structure); - p_table["mat_indices"] = reinterpret_cast(&(df_structure->mat_indices)) - reinterpret_cast(df_structure); - p_table["exc_types"] = reinterpret_cast(&(df_structure->exc_types)) - reinterpret_cast(df_structure); -} - -void generate_ui__T_economy_prices__T_price_adjustment_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["general_items"] = reinterpret_cast(&(df_structure->general_items)) - reinterpret_cast(df_structure); - p_table["weapons"] = reinterpret_cast(&(df_structure->weapons)) - reinterpret_cast(df_structure); - p_table["armor"] = reinterpret_cast(&(df_structure->armor)) - reinterpret_cast(df_structure); - p_table["handwear"] = reinterpret_cast(&(df_structure->handwear)) - reinterpret_cast(df_structure); - p_table["footwear"] = reinterpret_cast(&(df_structure->footwear)) - reinterpret_cast(df_structure); - p_table["headwear"] = reinterpret_cast(&(df_structure->headwear)) - reinterpret_cast(df_structure); - p_table["legwear"] = reinterpret_cast(&(df_structure->legwear)) - reinterpret_cast(df_structure); - p_table["prepared_food"] = reinterpret_cast(&(df_structure->prepared_food)) - reinterpret_cast(df_structure); - p_table["wood"] = reinterpret_cast(&(df_structure->wood)) - reinterpret_cast(df_structure); - p_table["thread_cloth"] = reinterpret_cast(&(df_structure->thread_cloth)) - reinterpret_cast(df_structure); - p_table["paper"] = reinterpret_cast(&(df_structure->paper)) - reinterpret_cast(df_structure); - p_table["parchment"] = reinterpret_cast(&(df_structure->parchment)) - reinterpret_cast(df_structure); - p_table["bone"] = reinterpret_cast(&(df_structure->bone)) - reinterpret_cast(df_structure); - p_table["tooth"] = reinterpret_cast(&(df_structure->tooth)) - reinterpret_cast(df_structure); - p_table["horn"] = reinterpret_cast(&(df_structure->horn)) - reinterpret_cast(df_structure); - p_table["pearl"] = reinterpret_cast(&(df_structure->pearl)) - reinterpret_cast(df_structure); - p_table["shell"] = reinterpret_cast(&(df_structure->shell)) - reinterpret_cast(df_structure); - p_table["leather"] = reinterpret_cast(&(df_structure->leather)) - reinterpret_cast(df_structure); - p_table["silk"] = reinterpret_cast(&(df_structure->silk)) - reinterpret_cast(df_structure); - p_table["yarn"] = reinterpret_cast(&(df_structure->yarn)) - reinterpret_cast(df_structure); - p_table["inorganic"] = reinterpret_cast(&(df_structure->inorganic)) - reinterpret_cast(df_structure); - p_table["meat"] = reinterpret_cast(&(df_structure->meat)) - reinterpret_cast(df_structure); - p_table["fish"] = reinterpret_cast(&(df_structure->fish)) - reinterpret_cast(df_structure); - p_table["plants"] = reinterpret_cast(&(df_structure->plants)) - reinterpret_cast(df_structure); - p_table["drinks"] = reinterpret_cast(&(df_structure->drinks)) - reinterpret_cast(df_structure); - p_table["extract_animal"] = reinterpret_cast(&(df_structure->extract_animal)) - reinterpret_cast(df_structure); - p_table["extract_plant"] = reinterpret_cast(&(df_structure->extract_plant)) - reinterpret_cast(df_structure); - p_table["mill_animal"] = reinterpret_cast(&(df_structure->mill_animal)) - reinterpret_cast(df_structure); - p_table["mill_plant"] = reinterpret_cast(&(df_structure->mill_plant)) - reinterpret_cast(df_structure); - p_table["cheese_animal"] = reinterpret_cast(&(df_structure->cheese_animal)) - reinterpret_cast(df_structure); - p_table["cheese_plant"] = reinterpret_cast(&(df_structure->cheese_plant)) - reinterpret_cast(df_structure); - p_table["pets"] = reinterpret_cast(&(df_structure->pets)) - reinterpret_cast(df_structure); -} - -void generate_ui__T_economy_prices__T_price_setter_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["general_items"] = reinterpret_cast(&(df_structure->general_items)) - reinterpret_cast(df_structure); - p_table["weapons"] = reinterpret_cast(&(df_structure->weapons)) - reinterpret_cast(df_structure); - p_table["armor"] = reinterpret_cast(&(df_structure->armor)) - reinterpret_cast(df_structure); - p_table["handwear"] = reinterpret_cast(&(df_structure->handwear)) - reinterpret_cast(df_structure); - p_table["footwear"] = reinterpret_cast(&(df_structure->footwear)) - reinterpret_cast(df_structure); - p_table["headwear"] = reinterpret_cast(&(df_structure->headwear)) - reinterpret_cast(df_structure); - p_table["legwear"] = reinterpret_cast(&(df_structure->legwear)) - reinterpret_cast(df_structure); - p_table["prepared_food"] = reinterpret_cast(&(df_structure->prepared_food)) - reinterpret_cast(df_structure); - p_table["wood"] = reinterpret_cast(&(df_structure->wood)) - reinterpret_cast(df_structure); - p_table["thread_cloth"] = reinterpret_cast(&(df_structure->thread_cloth)) - reinterpret_cast(df_structure); - p_table["paper"] = reinterpret_cast(&(df_structure->paper)) - reinterpret_cast(df_structure); - p_table["parchment"] = reinterpret_cast(&(df_structure->parchment)) - reinterpret_cast(df_structure); - p_table["bone"] = reinterpret_cast(&(df_structure->bone)) - reinterpret_cast(df_structure); - p_table["tooth"] = reinterpret_cast(&(df_structure->tooth)) - reinterpret_cast(df_structure); - p_table["horn"] = reinterpret_cast(&(df_structure->horn)) - reinterpret_cast(df_structure); - p_table["pearl"] = reinterpret_cast(&(df_structure->pearl)) - reinterpret_cast(df_structure); - p_table["shell"] = reinterpret_cast(&(df_structure->shell)) - reinterpret_cast(df_structure); - p_table["leather"] = reinterpret_cast(&(df_structure->leather)) - reinterpret_cast(df_structure); - p_table["silk"] = reinterpret_cast(&(df_structure->silk)) - reinterpret_cast(df_structure); - p_table["yarn"] = reinterpret_cast(&(df_structure->yarn)) - reinterpret_cast(df_structure); - p_table["inorganic"] = reinterpret_cast(&(df_structure->inorganic)) - reinterpret_cast(df_structure); - p_table["meat"] = reinterpret_cast(&(df_structure->meat)) - reinterpret_cast(df_structure); - p_table["fish"] = reinterpret_cast(&(df_structure->fish)) - reinterpret_cast(df_structure); - p_table["plants"] = reinterpret_cast(&(df_structure->plants)) - reinterpret_cast(df_structure); - p_table["drinks"] = reinterpret_cast(&(df_structure->drinks)) - reinterpret_cast(df_structure); - p_table["extract_animal"] = reinterpret_cast(&(df_structure->extract_animal)) - reinterpret_cast(df_structure); - p_table["extract_plant"] = reinterpret_cast(&(df_structure->extract_plant)) - reinterpret_cast(df_structure); - p_table["mill_animal"] = reinterpret_cast(&(df_structure->mill_animal)) - reinterpret_cast(df_structure); - p_table["mill_plant"] = reinterpret_cast(&(df_structure->mill_plant)) - reinterpret_cast(df_structure); - p_table["cheese_animal"] = reinterpret_cast(&(df_structure->cheese_animal)) - reinterpret_cast(df_structure); - p_table["cheese_plant"] = reinterpret_cast(&(df_structure->cheese_plant)) - reinterpret_cast(df_structure); - p_table["pets"] = reinterpret_cast(&(df_structure->pets)) - reinterpret_cast(df_structure); -} - -void generate_ui__T_economy_prices_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["price_adjustment"] = reinterpret_cast(&(df_structure->price_adjustment)) - reinterpret_cast(df_structure); - p_table["price_setter"] = reinterpret_cast(&(df_structure->price_setter)) - reinterpret_cast(df_structure); -} - -void generate_ui__T_stockpile_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["reserved_bins"] = reinterpret_cast(&(df_structure->reserved_bins)) - reinterpret_cast(df_structure); - p_table["reserved_barrels"] = reinterpret_cast(&(df_structure->reserved_barrels)) - reinterpret_cast(df_structure); - p_table["custom_settings"] = reinterpret_cast(&(df_structure->custom_settings)) - reinterpret_cast(df_structure); -} - -void generate_ui__T_unk2a8c_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); - p_table["unk2"] = reinterpret_cast(&(df_structure->unk2)) - reinterpret_cast(df_structure); -} - -void generate_ui__T_map_edge_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["layer_x"] = reinterpret_cast(&(df_structure->layer_x)) - reinterpret_cast(df_structure); - p_table["surface_x"] = reinterpret_cast(&(df_structure->surface_x)) - reinterpret_cast(df_structure); - p_table["layer_y"] = reinterpret_cast(&(df_structure->layer_y)) - reinterpret_cast(df_structure); - p_table["surface_y"] = reinterpret_cast(&(df_structure->surface_y)) - reinterpret_cast(df_structure); - p_table["layer_z"] = reinterpret_cast(&(df_structure->layer_z)) - reinterpret_cast(df_structure); - p_table["surface_z"] = reinterpret_cast(&(df_structure->surface_z)) - reinterpret_cast(df_structure); -} - -void generate_ui__T_waypoints__T_points_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["tile"] = reinterpret_cast(&(df_structure->tile)) - reinterpret_cast(df_structure); - p_table["fg_color"] = reinterpret_cast(&(df_structure->fg_color)) - reinterpret_cast(df_structure); - p_table["bg_color"] = reinterpret_cast(&(df_structure->bg_color)) - reinterpret_cast(df_structure); - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["comment"] = reinterpret_cast(&(df_structure->comment)) - reinterpret_cast(df_structure); - p_table["pos"] = reinterpret_cast(&(df_structure->pos)) - reinterpret_cast(df_structure); -} - -void generate_ui__T_waypoints__T_routes_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["points"] = reinterpret_cast(&(df_structure->points)) - reinterpret_cast(df_structure); -} - -void generate_ui__T_waypoints_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["points"] = reinterpret_cast(&(df_structure->points)) - reinterpret_cast(df_structure); - p_table["routes"] = reinterpret_cast(&(df_structure->routes)) - reinterpret_cast(df_structure); - p_table["sym_selector"] = reinterpret_cast(&(df_structure->sym_selector)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["cur_point_index"] = reinterpret_cast(&(df_structure->cur_point_index)) - reinterpret_cast(df_structure); - p_table["in_edit_name_mode"] = reinterpret_cast(&(df_structure->in_edit_name_mode)) - reinterpret_cast(df_structure); - p_table["in_edit_text_mode"] = reinterpret_cast(&(df_structure->in_edit_text_mode)) - reinterpret_cast(df_structure); - p_table["sym_tile"] = reinterpret_cast(&(df_structure->sym_tile)) - reinterpret_cast(df_structure); - p_table["sym_fg_color"] = reinterpret_cast(&(df_structure->sym_fg_color)) - reinterpret_cast(df_structure); - p_table["sym_bg_color"] = reinterpret_cast(&(df_structure->sym_bg_color)) - reinterpret_cast(df_structure); - p_table["unk5c04"] = reinterpret_cast(&(df_structure->unk5c04)) - reinterpret_cast(df_structure); - p_table["next_point_id"] = reinterpret_cast(&(df_structure->next_point_id)) - reinterpret_cast(df_structure); - p_table["next_route_id"] = reinterpret_cast(&(df_structure->next_route_id)) - reinterpret_cast(df_structure); - p_table["sel_route_idx"] = reinterpret_cast(&(df_structure->sel_route_idx)) - reinterpret_cast(df_structure); - p_table["sel_route_waypt_idx"] = reinterpret_cast(&(df_structure->sel_route_waypt_idx)) - reinterpret_cast(df_structure); - p_table["in_edit_waypts_mode"] = reinterpret_cast(&(df_structure->in_edit_waypts_mode)) - reinterpret_cast(df_structure); - p_table["unk_42_06"] = reinterpret_cast(&(df_structure->unk_42_06)) - reinterpret_cast(df_structure); -} - -void generate_ui__T_burrows_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["list"] = reinterpret_cast(&(df_structure->list)) - reinterpret_cast(df_structure); - p_table["next_id"] = reinterpret_cast(&(df_structure->next_id)) - reinterpret_cast(df_structure); - p_table["sel_index"] = reinterpret_cast(&(df_structure->sel_index)) - reinterpret_cast(df_structure); - p_table["sel_id"] = reinterpret_cast(&(df_structure->sel_id)) - reinterpret_cast(df_structure); - p_table["in_confirm_delete"] = reinterpret_cast(&(df_structure->in_confirm_delete)) - reinterpret_cast(df_structure); - p_table["in_add_units_mode"] = reinterpret_cast(&(df_structure->in_add_units_mode)) - reinterpret_cast(df_structure); - p_table["list_units"] = reinterpret_cast(&(df_structure->list_units)) - reinterpret_cast(df_structure); - p_table["sel_units"] = reinterpret_cast(&(df_structure->sel_units)) - reinterpret_cast(df_structure); - p_table["unit_cursor_pos"] = reinterpret_cast(&(df_structure->unit_cursor_pos)) - reinterpret_cast(df_structure); - p_table["in_define_mode"] = reinterpret_cast(&(df_structure->in_define_mode)) - reinterpret_cast(df_structure); - p_table["brush_erasing"] = reinterpret_cast(&(df_structure->brush_erasing)) - reinterpret_cast(df_structure); - p_table["rect_start"] = reinterpret_cast(&(df_structure->rect_start)) - reinterpret_cast(df_structure); - p_table["brush_mode"] = reinterpret_cast(&(df_structure->brush_mode)) - reinterpret_cast(df_structure); - p_table["in_edit_name_mode"] = reinterpret_cast(&(df_structure->in_edit_name_mode)) - reinterpret_cast(df_structure); - p_table["sym_selector"] = reinterpret_cast(&(df_structure->sym_selector)) - reinterpret_cast(df_structure); - p_table["sym_tile"] = reinterpret_cast(&(df_structure->sym_tile)) - reinterpret_cast(df_structure); - p_table["sym_fg_color"] = reinterpret_cast(&(df_structure->sym_fg_color)) - reinterpret_cast(df_structure); - p_table["sym_bg_color"] = reinterpret_cast(&(df_structure->sym_bg_color)) - reinterpret_cast(df_structure); -} - -void generate_ui__T_alerts__T_list_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["burrows"] = reinterpret_cast(&(df_structure->burrows)) - reinterpret_cast(df_structure); -} - -void generate_ui__T_alerts_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["list"] = reinterpret_cast(&(df_structure->list)) - reinterpret_cast(df_structure); - p_table["next_id"] = reinterpret_cast(&(df_structure->next_id)) - reinterpret_cast(df_structure); - p_table["civ_alert_idx"] = reinterpret_cast(&(df_structure->civ_alert_idx)) - reinterpret_cast(df_structure); -} - -void generate_ui__T_equipment_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["items_by_type1"] = reinterpret_cast(&(df_structure->items_by_type1)) - reinterpret_cast(df_structure); - p_table["items_unassigned"] = reinterpret_cast(&(df_structure->items_unassigned)) - reinterpret_cast(df_structure); - p_table["items_assigned"] = reinterpret_cast(&(df_structure->items_assigned)) - reinterpret_cast(df_structure); - p_table["update"] = reinterpret_cast(&(df_structure->update)) - reinterpret_cast(df_structure); - p_table["work_weapons"] = reinterpret_cast(&(df_structure->work_weapons)) - reinterpret_cast(df_structure); - p_table["work_units"] = reinterpret_cast(&(df_structure->work_units)) - reinterpret_cast(df_structure); - p_table["hunter_ammunition"] = reinterpret_cast(&(df_structure->hunter_ammunition)) - reinterpret_cast(df_structure); - p_table["ammo_items"] = reinterpret_cast(&(df_structure->ammo_items)) - reinterpret_cast(df_structure); - p_table["ammo_units"] = reinterpret_cast(&(df_structure->ammo_units)) - reinterpret_cast(df_structure); - p_table["training_assignments"] = reinterpret_cast(&(df_structure->training_assignments)) - reinterpret_cast(df_structure); -} - -void generate_ui__T_hauling_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["routes"] = reinterpret_cast(&(df_structure->routes)) - reinterpret_cast(df_structure); - p_table["next_id"] = reinterpret_cast(&(df_structure->next_id)) - reinterpret_cast(df_structure); - p_table["view_routes"] = reinterpret_cast(&(df_structure->view_routes)) - reinterpret_cast(df_structure); - p_table["view_stops"] = reinterpret_cast(&(df_structure->view_stops)) - reinterpret_cast(df_structure); - p_table["view_bad"] = reinterpret_cast(&(df_structure->view_bad)) - reinterpret_cast(df_structure); - p_table["cursor_top"] = reinterpret_cast(&(df_structure->cursor_top)) - reinterpret_cast(df_structure); - p_table["in_stop"] = reinterpret_cast(&(df_structure->in_stop)) - reinterpret_cast(df_structure); - p_table["cursor_stop"] = reinterpret_cast(&(df_structure->cursor_stop)) - reinterpret_cast(df_structure); - p_table["stop_conditions"] = reinterpret_cast(&(df_structure->stop_conditions)) - reinterpret_cast(df_structure); - p_table["stop_links"] = reinterpret_cast(&(df_structure->stop_links)) - reinterpret_cast(df_structure); - p_table["in_advanced_cond"] = reinterpret_cast(&(df_structure->in_advanced_cond)) - reinterpret_cast(df_structure); - p_table["in_assign_vehicle"] = reinterpret_cast(&(df_structure->in_assign_vehicle)) - reinterpret_cast(df_structure); - p_table["cursor_vehicle"] = reinterpret_cast(&(df_structure->cursor_vehicle)) - reinterpret_cast(df_structure); - p_table["vehicles"] = reinterpret_cast(&(df_structure->vehicles)) - reinterpret_cast(df_structure); - p_table["in_name"] = reinterpret_cast(&(df_structure->in_name)) - reinterpret_cast(df_structure); - p_table["old_name"] = reinterpret_cast(&(df_structure->old_name)) - reinterpret_cast(df_structure); -} - -void generate_ui__T_main__T_dead_citizens_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unit_id"] = reinterpret_cast(&(df_structure->unit_id)) - reinterpret_cast(df_structure); - p_table["histfig_id"] = reinterpret_cast(&(df_structure->histfig_id)) - reinterpret_cast(df_structure); - p_table["death_year"] = reinterpret_cast(&(df_structure->death_year)) - reinterpret_cast(df_structure); - p_table["death_time"] = reinterpret_cast(&(df_structure->death_time)) - reinterpret_cast(df_structure); - p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); - p_table["ghost_type"] = reinterpret_cast(&(df_structure->ghost_type)) - reinterpret_cast(df_structure); -} - -void generate_ui__T_main_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["hotkeys"] = reinterpret_cast(&(df_structure->hotkeys)) - reinterpret_cast(df_structure); - p_table["traffic_cost_high"] = reinterpret_cast(&(df_structure->traffic_cost_high)) - reinterpret_cast(df_structure); - p_table["traffic_cost_normal"] = reinterpret_cast(&(df_structure->traffic_cost_normal)) - reinterpret_cast(df_structure); - p_table["traffic_cost_low"] = reinterpret_cast(&(df_structure->traffic_cost_low)) - reinterpret_cast(df_structure); - p_table["traffic_cost_restricted"] = reinterpret_cast(&(df_structure->traffic_cost_restricted)) - reinterpret_cast(df_structure); - p_table["dead_citizens"] = reinterpret_cast(&(df_structure->dead_citizens)) - reinterpret_cast(df_structure); - p_table["fortress_entity"] = reinterpret_cast(&(df_structure->fortress_entity)) - reinterpret_cast(df_structure); - p_table["fortress_site"] = reinterpret_cast(&(df_structure->fortress_site)) - reinterpret_cast(df_structure); - p_table["mode"] = reinterpret_cast(&(df_structure->mode)) - reinterpret_cast(df_structure); - p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); - p_table["selected_traffic_cost"] = reinterpret_cast(&(df_structure->selected_traffic_cost)) - reinterpret_cast(df_structure); - p_table["autosave_request"] = reinterpret_cast(&(df_structure->autosave_request)) - reinterpret_cast(df_structure); - p_table["autosave_unk"] = reinterpret_cast(&(df_structure->autosave_unk)) - reinterpret_cast(df_structure); - p_table["unk6df4"] = reinterpret_cast(&(df_structure->unk6df4)) - reinterpret_cast(df_structure); - p_table["unk_44_12a"] = reinterpret_cast(&(df_structure->unk_44_12a)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["unk_44_12b"] = reinterpret_cast(&(df_structure->unk_44_12b)) - reinterpret_cast(df_structure); - p_table["unk_44_12c"] = reinterpret_cast(&(df_structure->unk_44_12c)) - reinterpret_cast(df_structure); - p_table["unk_44_12d"] = reinterpret_cast(&(df_structure->unk_44_12d)) - reinterpret_cast(df_structure); - p_table["selected_hotkey"] = reinterpret_cast(&(df_structure->selected_hotkey)) - reinterpret_cast(df_structure); - p_table["in_rename_hotkey"] = reinterpret_cast(&(df_structure->in_rename_hotkey)) - reinterpret_cast(df_structure); -} - -void generate_ui__T_squads_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["list"] = reinterpret_cast(&(df_structure->list)) - reinterpret_cast(df_structure); - p_table["unk6e08"] = reinterpret_cast(&(df_structure->unk6e08)) - reinterpret_cast(df_structure); - p_table["sel_squads"] = reinterpret_cast(&(df_structure->sel_squads)) - reinterpret_cast(df_structure); - p_table["indiv_selected"] = reinterpret_cast(&(df_structure->indiv_selected)) - reinterpret_cast(df_structure); - p_table["in_select_indiv"] = reinterpret_cast(&(df_structure->in_select_indiv)) - reinterpret_cast(df_structure); - p_table["sel_indiv_squad"] = reinterpret_cast(&(df_structure->sel_indiv_squad)) - reinterpret_cast(df_structure); - p_table["unk_70"] = reinterpret_cast(&(df_structure->unk_70)) - reinterpret_cast(df_structure); - p_table["squad_list_scroll"] = reinterpret_cast(&(df_structure->squad_list_scroll)) - reinterpret_cast(df_structure); - p_table["squad_list_first_id"] = reinterpret_cast(&(df_structure->squad_list_first_id)) - reinterpret_cast(df_structure); - p_table["nearest_squad"] = reinterpret_cast(&(df_structure->nearest_squad)) - reinterpret_cast(df_structure); - p_table["in_move_order"] = reinterpret_cast(&(df_structure->in_move_order)) - reinterpret_cast(df_structure); - p_table["point_list_scroll"] = reinterpret_cast(&(df_structure->point_list_scroll)) - reinterpret_cast(df_structure); - p_table["in_kill_order"] = reinterpret_cast(&(df_structure->in_kill_order)) - reinterpret_cast(df_structure); - p_table["kill_rect_targets"] = reinterpret_cast(&(df_structure->kill_rect_targets)) - reinterpret_cast(df_structure); - p_table["kill_rect_targets_scroll"] = reinterpret_cast(&(df_structure->kill_rect_targets_scroll)) - reinterpret_cast(df_structure); - p_table["in_kill_list"] = reinterpret_cast(&(df_structure->in_kill_list)) - reinterpret_cast(df_structure); - p_table["kill_targets"] = reinterpret_cast(&(df_structure->kill_targets)) - reinterpret_cast(df_structure); - p_table["sel_kill_targets"] = reinterpret_cast(&(df_structure->sel_kill_targets)) - reinterpret_cast(df_structure); - p_table["kill_list_scroll"] = reinterpret_cast(&(df_structure->kill_list_scroll)) - reinterpret_cast(df_structure); - p_table["in_kill_rect"] = reinterpret_cast(&(df_structure->in_kill_rect)) - reinterpret_cast(df_structure); - p_table["rect_start"] = reinterpret_cast(&(df_structure->rect_start)) - reinterpret_cast(df_structure); -} - -void generate_ui_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["game_state"] = reinterpret_cast(&(df_structure->game_state)) - reinterpret_cast(df_structure); - p_table["lost_to_siege_civ"] = reinterpret_cast(&(df_structure->lost_to_siege_civ)) - reinterpret_cast(df_structure); - p_table["tax_collection"] = reinterpret_cast(&(df_structure->tax_collection)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["manager_cooldown"] = reinterpret_cast(&(df_structure->manager_cooldown)) - reinterpret_cast(df_structure); - p_table["bookkeeper_cooldown"] = reinterpret_cast(&(df_structure->bookkeeper_cooldown)) - reinterpret_cast(df_structure); - p_table["bookkeeper_precision"] = reinterpret_cast(&(df_structure->bookkeeper_precision)) - reinterpret_cast(df_structure); - p_table["bookkeeper_settings"] = reinterpret_cast(&(df_structure->bookkeeper_settings)) - reinterpret_cast(df_structure); - p_table["caravans"] = reinterpret_cast(&(df_structure->caravans)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["fortress_rank"] = reinterpret_cast(&(df_structure->fortress_rank)) - reinterpret_cast(df_structure); - p_table["progress_population"] = reinterpret_cast(&(df_structure->progress_population)) - reinterpret_cast(df_structure); - p_table["progress_trade"] = reinterpret_cast(&(df_structure->progress_trade)) - reinterpret_cast(df_structure); - p_table["progress_production"] = reinterpret_cast(&(df_structure->progress_production)) - reinterpret_cast(df_structure); - p_table["king_arrived"] = reinterpret_cast(&(df_structure->king_arrived)) - reinterpret_cast(df_structure); - p_table["king_hasty"] = reinterpret_cast(&(df_structure->king_hasty)) - reinterpret_cast(df_structure); - p_table["economy_active"] = reinterpret_cast(&(df_structure->economy_active)) - reinterpret_cast(df_structure); - p_table["ignore_labor_shortage"] = reinterpret_cast(&(df_structure->ignore_labor_shortage)) - reinterpret_cast(df_structure); - p_table["justice_active"] = reinterpret_cast(&(df_structure->justice_active)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["manager_timer"] = reinterpret_cast(&(df_structure->manager_timer)) - reinterpret_cast(df_structure); - p_table["becoming_capital"] = reinterpret_cast(&(df_structure->becoming_capital)) - reinterpret_cast(df_structure); - p_table["units_killed"] = reinterpret_cast(&(df_structure->units_killed)) - reinterpret_cast(df_structure); - p_table["guild_wages"] = reinterpret_cast(&(df_structure->guild_wages)) - reinterpret_cast(df_structure); - p_table["guild_happiness"] = reinterpret_cast(&(df_structure->guild_happiness)) - reinterpret_cast(df_structure); - p_table["labor_slowdown_timer"] = reinterpret_cast(&(df_structure->labor_slowdown_timer)) - reinterpret_cast(df_structure); - p_table["currency_value"] = reinterpret_cast(&(df_structure->currency_value)) - reinterpret_cast(df_structure); - p_table["trees_removed"] = reinterpret_cast(&(df_structure->trees_removed)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["fortress_age"] = reinterpret_cast(&(df_structure->fortress_age)) - reinterpret_cast(df_structure); - p_table["tasks"] = reinterpret_cast(&(df_structure->tasks)) - reinterpret_cast(df_structure); - p_table["meeting_requests"] = reinterpret_cast(&(df_structure->meeting_requests)) - reinterpret_cast(df_structure); - p_table["activities"] = reinterpret_cast(&(df_structure->activities)) - reinterpret_cast(df_structure); - p_table["dip_meeting_info"] = reinterpret_cast(&(df_structure->dip_meeting_info)) - reinterpret_cast(df_structure); - p_table["aid_requesters"] = reinterpret_cast(&(df_structure->aid_requesters)) - reinterpret_cast(df_structure); - p_table["game_over"] = reinterpret_cast(&(df_structure->game_over)) - reinterpret_cast(df_structure); - p_table["invasions"] = reinterpret_cast(&(df_structure->invasions)) - reinterpret_cast(df_structure); - p_table["crimes"] = reinterpret_cast(&(df_structure->crimes)) - reinterpret_cast(df_structure); - p_table["punishments"] = reinterpret_cast(&(df_structure->punishments)) - reinterpret_cast(df_structure); - p_table["parties"] = reinterpret_cast(&(df_structure->parties)) - reinterpret_cast(df_structure); - p_table["room_rent"] = reinterpret_cast(&(df_structure->room_rent)) - reinterpret_cast(df_structure); - p_table["dipscripts"] = reinterpret_cast(&(df_structure->dipscripts)) - reinterpret_cast(df_structure); - p_table["dipscript_popups"] = reinterpret_cast(&(df_structure->dipscript_popups)) - reinterpret_cast(df_structure); - p_table["kitchen"] = reinterpret_cast(&(df_structure->kitchen)) - reinterpret_cast(df_structure); - p_table["economic_stone"] = reinterpret_cast(&(df_structure->economic_stone)) - reinterpret_cast(df_structure); - p_table["unk23c8_flags"] = reinterpret_cast(&(df_structure->unk23c8_flags)) - reinterpret_cast(df_structure); - p_table["mood_cooldown"] = reinterpret_cast(&(df_structure->mood_cooldown)) - reinterpret_cast(df_structure); - p_table["civ_id"] = reinterpret_cast(&(df_structure->civ_id)) - reinterpret_cast(df_structure); - p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); - p_table["group_id"] = reinterpret_cast(&(df_structure->group_id)) - reinterpret_cast(df_structure); - p_table["race_id"] = reinterpret_cast(&(df_structure->race_id)) - reinterpret_cast(df_structure); - p_table["unk_races"] = reinterpret_cast(&(df_structure->unk_races)) - reinterpret_cast(df_structure); - p_table["farm_crops"] = reinterpret_cast(&(df_structure->farm_crops)) - reinterpret_cast(df_structure); - p_table["farm_seasons"] = reinterpret_cast(&(df_structure->farm_seasons)) - reinterpret_cast(df_structure); - p_table["economy_prices"] = reinterpret_cast(&(df_structure->economy_prices)) - reinterpret_cast(df_structure); - p_table["stockpile"] = reinterpret_cast(&(df_structure->stockpile)) - reinterpret_cast(df_structure); - p_table["unk2a8c"] = reinterpret_cast(&(df_structure->unk2a8c)) - reinterpret_cast(df_structure); - p_table["unk_mapedge_x"] = reinterpret_cast(&(df_structure->unk_mapedge_x)) - reinterpret_cast(df_structure); - p_table["unk_mapedge_y"] = reinterpret_cast(&(df_structure->unk_mapedge_y)) - reinterpret_cast(df_structure); - p_table["unk_mapedge_z"] = reinterpret_cast(&(df_structure->unk_mapedge_z)) - reinterpret_cast(df_structure); - p_table["map_edge"] = reinterpret_cast(&(df_structure->map_edge)) - reinterpret_cast(df_structure); - p_table["unk5b88"] = reinterpret_cast(&(df_structure->unk5b88)) - reinterpret_cast(df_structure); - p_table["waypoints"] = reinterpret_cast(&(df_structure->waypoints)) - reinterpret_cast(df_structure); - p_table["burrows"] = reinterpret_cast(&(df_structure->burrows)) - reinterpret_cast(df_structure); - p_table["alerts"] = reinterpret_cast(&(df_structure->alerts)) - reinterpret_cast(df_structure); - p_table["equipment"] = reinterpret_cast(&(df_structure->equipment)) - reinterpret_cast(df_structure); - p_table["hauling"] = reinterpret_cast(&(df_structure->hauling)) - reinterpret_cast(df_structure); - p_table["petitions"] = reinterpret_cast(&(df_structure->petitions)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["main"] = reinterpret_cast(&(df_structure->main)) - reinterpret_cast(df_structure); - p_table["squads"] = reinterpret_cast(&(df_structure->squads)) - reinterpret_cast(df_structure); - p_table["follow_unit"] = reinterpret_cast(&(df_structure->follow_unit)) - reinterpret_cast(df_structure); - p_table["follow_item"] = reinterpret_cast(&(df_structure->follow_item)) - reinterpret_cast(df_structure); - p_table["selected_farm_crops"] = reinterpret_cast(&(df_structure->selected_farm_crops)) - reinterpret_cast(df_structure); - p_table["available_seeds"] = reinterpret_cast(&(df_structure->available_seeds)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_savegamest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["cur_step"] = reinterpret_cast(&(df_structure->cur_step)) - reinterpret_cast(df_structure); - p_table["unk_v40_1b"] = reinterpret_cast(&(df_structure->unk_v40_1b)) - reinterpret_cast(df_structure); - p_table["offload"] = reinterpret_cast(&(df_structure->offload)) - reinterpret_cast(df_structure); - p_table["compressor"] = reinterpret_cast(&(df_structure->compressor)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_selectitemst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["p_item_type"] = reinterpret_cast(&(df_structure->p_item_type)) - reinterpret_cast(df_structure); - p_table["p_item_subtype"] = reinterpret_cast(&(df_structure->p_item_subtype)) - reinterpret_cast(df_structure); - p_table["p_mattype"] = reinterpret_cast(&(df_structure->p_mattype)) - reinterpret_cast(df_structure); - p_table["p_matindex"] = reinterpret_cast(&(df_structure->p_matindex)) - reinterpret_cast(df_structure); - p_table["choice"] = reinterpret_cast(&(df_structure->choice)) - reinterpret_cast(df_structure); - p_table["screen"] = reinterpret_cast(&(df_structure->screen)) - reinterpret_cast(df_structure); - p_table["page_base"] = reinterpret_cast(&(df_structure->page_base)) - reinterpret_cast(df_structure); - p_table["title"] = reinterpret_cast(&(df_structure->title)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["filter"] = reinterpret_cast(&(df_structure->filter)) - reinterpret_cast(df_structure); - p_table["right_pos"] = reinterpret_cast(&(df_structure->right_pos)) - reinterpret_cast(df_structure); - p_table["right_page_base"] = reinterpret_cast(&(df_structure->right_page_base)) - reinterpret_cast(df_structure); - p_table["right_list"] = reinterpret_cast(&(df_structure->right_list)) - reinterpret_cast(df_structure); - p_table["sel_category"] = reinterpret_cast(&(df_structure->sel_category)) - reinterpret_cast(df_structure); - p_table["categories"] = reinterpret_cast(&(df_structure->categories)) - reinterpret_cast(df_structure); -} - -void generate_setup_character_info_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); - p_table["caste"] = reinterpret_cast(&(df_structure->caste)) - reinterpret_cast(df_structure); - p_table["skills"] = reinterpret_cast(&(df_structure->skills)) - reinterpret_cast(df_structure); - p_table["entity"] = reinterpret_cast(&(df_structure->entity)) - reinterpret_cast(df_structure); - p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); - p_table["unk_284"] = reinterpret_cast(&(df_structure->unk_284)) - reinterpret_cast(df_structure); - p_table["cultural_identity"] = reinterpret_cast(&(df_structure->cultural_identity)) - reinterpret_cast(df_structure); - p_table["unk_28c"] = reinterpret_cast(&(df_structure->unk_28c)) - reinterpret_cast(df_structure); - p_table["unk_290"] = reinterpret_cast(&(df_structure->unk_290)) - reinterpret_cast(df_structure); - p_table["unk_294"] = reinterpret_cast(&(df_structure->unk_294)) - reinterpret_cast(df_structure); - p_table["skill_points_remaining"] = reinterpret_cast(&(df_structure->skill_points_remaining)) - reinterpret_cast(df_structure); - p_table["physical_levels"] = reinterpret_cast(&(df_structure->physical_levels)) - reinterpret_cast(df_structure); - p_table["mental_levels"] = reinterpret_cast(&(df_structure->mental_levels)) - reinterpret_cast(df_structure); - p_table["status"] = reinterpret_cast(&(df_structure->status)) - reinterpret_cast(df_structure); - p_table["commander_id"] = reinterpret_cast(&(df_structure->commander_id)) - reinterpret_cast(df_structure); - p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); - p_table["deity_id"] = reinterpret_cast(&(df_structure->deity_id)) - reinterpret_cast(df_structure); - p_table["belief_strength"] = reinterpret_cast(&(df_structure->belief_strength)) - reinterpret_cast(df_structure); - p_table["appearance"] = reinterpret_cast(&(df_structure->appearance)) - reinterpret_cast(df_structure); - p_table["birth_year"] = reinterpret_cast(&(df_structure->birth_year)) - reinterpret_cast(df_structure); - p_table["birth_tick"] = reinterpret_cast(&(df_structure->birth_tick)) - reinterpret_cast(df_structure); - p_table["old_year"] = reinterpret_cast(&(df_structure->old_year)) - reinterpret_cast(df_structure); - p_table["old_tick"] = reinterpret_cast(&(df_structure->old_tick)) - reinterpret_cast(df_structure); - p_table["personality"] = reinterpret_cast(&(df_structure->personality)) - reinterpret_cast(df_structure); - p_table["unk_26_k"] = reinterpret_cast(&(df_structure->unk_26_k)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_setupadventurest__T_races_info_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); - p_table["entity_id"] = reinterpret_cast(&(df_structure->entity_id)) - reinterpret_cast(df_structure); - p_table["unk_2"] = reinterpret_cast(&(df_structure->unk_2)) - reinterpret_cast(df_structure); - p_table["unk_3"] = reinterpret_cast(&(df_structure->unk_3)) - reinterpret_cast(df_structure); - p_table["playable"] = reinterpret_cast(&(df_structure->playable)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_setupadventurest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["page"] = reinterpret_cast(&(df_structure->page)) - reinterpret_cast(df_structure); - p_table["races_info"] = reinterpret_cast(&(df_structure->races_info)) - reinterpret_cast(df_structure); - p_table["adventurer"] = reinterpret_cast(&(df_structure->adventurer)) - reinterpret_cast(df_structure); - p_table["race_ids"] = reinterpret_cast(&(df_structure->race_ids)) - reinterpret_cast(df_structure); - p_table["highlighted_entity_ids"] = reinterpret_cast(&(df_structure->highlighted_entity_ids)) - reinterpret_cast(df_structure); - p_table["race_idx"] = reinterpret_cast(&(df_structure->race_idx)) - reinterpret_cast(df_structure); - p_table["wild_creature_ids"] = reinterpret_cast(&(df_structure->wild_creature_ids)) - reinterpret_cast(df_structure); - p_table["wild_creature_idx"] = reinterpret_cast(&(df_structure->wild_creature_idx)) - reinterpret_cast(df_structure); - p_table["nemesis_ids"] = reinterpret_cast(&(df_structure->nemesis_ids)) - reinterpret_cast(df_structure); - p_table["nemesis_idx"] = reinterpret_cast(&(df_structure->nemesis_idx)) - reinterpret_cast(df_structure); - p_table["home_entity_ids"] = reinterpret_cast(&(df_structure->home_entity_ids)) - reinterpret_cast(df_structure); - p_table["home_entity_idx"] = reinterpret_cast(&(df_structure->home_entity_idx)) - reinterpret_cast(df_structure); - p_table["sel_trait_column"] = reinterpret_cast(&(df_structure->sel_trait_column)) - reinterpret_cast(df_structure); - p_table["attribute_idx"] = reinterpret_cast(&(df_structure->attribute_idx)) - reinterpret_cast(df_structure); - p_table["attribute_points_remaining"] = reinterpret_cast(&(df_structure->attribute_points_remaining)) - reinterpret_cast(df_structure); - p_table["skill_list"] = reinterpret_cast(&(df_structure->skill_list)) - reinterpret_cast(df_structure); - p_table["skill_idx"] = reinterpret_cast(&(df_structure->skill_idx)) - reinterpret_cast(df_structure); - p_table["skill_points_remaining"] = reinterpret_cast(&(df_structure->skill_points_remaining)) - reinterpret_cast(df_structure); - p_table["in_edit_first_name"] = reinterpret_cast(&(df_structure->in_edit_first_name)) - reinterpret_cast(df_structure); - p_table["saved_first_name"] = reinterpret_cast(&(df_structure->saved_first_name)) - reinterpret_cast(df_structure); - p_table["background_lines"] = reinterpret_cast(&(df_structure->background_lines)) - reinterpret_cast(df_structure); - p_table["sites"] = reinterpret_cast(&(df_structure->sites)) - reinterpret_cast(df_structure); - p_table["background_type"] = reinterpret_cast(&(df_structure->background_type)) - reinterpret_cast(df_structure); - p_table["background_idx"] = reinterpret_cast(&(df_structure->background_idx)) - reinterpret_cast(df_structure); - p_table["allowed_castes"] = reinterpret_cast(&(df_structure->allowed_castes)) - reinterpret_cast(df_structure); - p_table["description_lines"] = reinterpret_cast(&(df_structure->description_lines)) - reinterpret_cast(df_structure); - p_table["thoughts_pos"] = reinterpret_cast(&(df_structure->thoughts_pos)) - reinterpret_cast(df_structure); - p_table["thoughts_lines_1"] = reinterpret_cast(&(df_structure->thoughts_lines_1)) - reinterpret_cast(df_structure); - p_table["thoughts_lines_2"] = reinterpret_cast(&(df_structure->thoughts_lines_2)) - reinterpret_cast(df_structure); - p_table["thoughts_lines_3"] = reinterpret_cast(&(df_structure->thoughts_lines_3)) - reinterpret_cast(df_structure); - p_table["in_customize_values"] = reinterpret_cast(&(df_structure->in_customize_values)) - reinterpret_cast(df_structure); - p_table["values_pos"] = reinterpret_cast(&(df_structure->values_pos)) - reinterpret_cast(df_structure); - p_table["personality_facets_min"] = reinterpret_cast(&(df_structure->personality_facets_min)) - reinterpret_cast(df_structure); - p_table["personality_facets_max"] = reinterpret_cast(&(df_structure->personality_facets_max)) - reinterpret_cast(df_structure); - p_table["values_cultural_defaults"] = reinterpret_cast(&(df_structure->values_cultural_defaults)) - reinterpret_cast(df_structure); -} - -void generate_embark_item_choice__T_list_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); - p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); - p_table["mattype"] = reinterpret_cast(&(df_structure->mattype)) - reinterpret_cast(df_structure); - p_table["matindex"] = reinterpret_cast(&(df_structure->matindex)) - reinterpret_cast(df_structure); - p_table["unk_c"] = reinterpret_cast(&(df_structure->unk_c)) - reinterpret_cast(df_structure); -} - -void generate_embark_item_choice_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["list"] = reinterpret_cast(&(df_structure->list)) - reinterpret_cast(df_structure); -} - -void generate_embark_profile_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["skill_type"] = reinterpret_cast(&(df_structure->skill_type)) - reinterpret_cast(df_structure); - p_table["skill_dwarf_idx"] = reinterpret_cast(&(df_structure->skill_dwarf_idx)) - reinterpret_cast(df_structure); - p_table["skill_level"] = reinterpret_cast(&(df_structure->skill_level)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); - p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_info"] = reinterpret_cast(&(df_structure->mat_info)) - reinterpret_cast(df_structure); - p_table["item_count"] = reinterpret_cast(&(df_structure->item_count)) - reinterpret_cast(df_structure); - p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); - p_table["caste"] = reinterpret_cast(&(df_structure->caste)) - reinterpret_cast(df_structure); - p_table["profession"] = reinterpret_cast(&(df_structure->profession)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_setupdwarfgamest__T_animals_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); - p_table["caste"] = reinterpret_cast(&(df_structure->caste)) - reinterpret_cast(df_structure); - p_table["profession"] = reinterpret_cast(&(df_structure->profession)) - reinterpret_cast(df_structure); - p_table["count"] = reinterpret_cast(&(df_structure->count)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_setupdwarfgamest__T_unk_v43__T_unk_v43_sub9_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk_s1"] = reinterpret_cast(&(df_structure->unk_s1)) - reinterpret_cast(df_structure); - p_table["unk_s2"] = reinterpret_cast(&(df_structure->unk_s2)) - reinterpret_cast(df_structure); - p_table["unk_s3"] = reinterpret_cast(&(df_structure->unk_s3)) - reinterpret_cast(df_structure); - p_table["unk_s4"] = reinterpret_cast(&(df_structure->unk_s4)) - reinterpret_cast(df_structure); - p_table["unk_s5"] = reinterpret_cast(&(df_structure->unk_s5)) - reinterpret_cast(df_structure); - p_table["unk_s6"] = reinterpret_cast(&(df_structure->unk_s6)) - reinterpret_cast(df_structure); - p_table["unk_s7"] = reinterpret_cast(&(df_structure->unk_s7)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_setupdwarfgamest__T_unk_v43_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk_v43_1"] = reinterpret_cast(&(df_structure->unk_v43_1)) - reinterpret_cast(df_structure); - p_table["unk_v43_2"] = reinterpret_cast(&(df_structure->unk_v43_2)) - reinterpret_cast(df_structure); - p_table["unk_v43_3"] = reinterpret_cast(&(df_structure->unk_v43_3)) - reinterpret_cast(df_structure); - p_table["unk_v43_4"] = reinterpret_cast(&(df_structure->unk_v43_4)) - reinterpret_cast(df_structure); - p_table["unk_v43_sub9"] = reinterpret_cast(&(df_structure->unk_v43_sub9)) - reinterpret_cast(df_structure); - p_table["unk_v43_10"] = reinterpret_cast(&(df_structure->unk_v43_10)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_setupdwarfgamest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["title"] = reinterpret_cast(&(df_structure->title)) - reinterpret_cast(df_structure); - p_table["dwarf_info"] = reinterpret_cast(&(df_structure->dwarf_info)) - reinterpret_cast(df_structure); - p_table["embark_skills"] = reinterpret_cast(&(df_structure->embark_skills)) - reinterpret_cast(df_structure); - p_table["reclaim_professions"] = reinterpret_cast(&(df_structure->reclaim_professions)) - reinterpret_cast(df_structure); - p_table["mode"] = reinterpret_cast(&(df_structure->mode)) - reinterpret_cast(df_structure); - p_table["dwarf_cursor"] = reinterpret_cast(&(df_structure->dwarf_cursor)) - reinterpret_cast(df_structure); - p_table["dwarf_page_idx"] = reinterpret_cast(&(df_structure->dwarf_page_idx)) - reinterpret_cast(df_structure); - p_table["item_cursor"] = reinterpret_cast(&(df_structure->item_cursor)) - reinterpret_cast(df_structure); - p_table["skill_cursor"] = reinterpret_cast(&(df_structure->skill_cursor)) - reinterpret_cast(df_structure); - p_table["animal_cursor"] = reinterpret_cast(&(df_structure->animal_cursor)) - reinterpret_cast(df_structure); - p_table["dwarf_column"] = reinterpret_cast(&(df_structure->dwarf_column)) - reinterpret_cast(df_structure); - p_table["supply_column"] = reinterpret_cast(&(df_structure->supply_column)) - reinterpret_cast(df_structure); - p_table["display_row"] = reinterpret_cast(&(df_structure->display_row)) - reinterpret_cast(df_structure); - p_table["show_play_now"] = reinterpret_cast(&(df_structure->show_play_now)) - reinterpret_cast(df_structure); - p_table["embark_prompt"] = reinterpret_cast(&(df_structure->embark_prompt)) - reinterpret_cast(df_structure); - p_table["choice_types"] = reinterpret_cast(&(df_structure->choice_types)) - reinterpret_cast(df_structure); - p_table["choices"] = reinterpret_cast(&(df_structure->choices)) - reinterpret_cast(df_structure); - p_table["choice"] = reinterpret_cast(&(df_structure->choice)) - reinterpret_cast(df_structure); - p_table["profile_name"] = reinterpret_cast(&(df_structure->profile_name)) - reinterpret_cast(df_structure); - p_table["problems"] = reinterpret_cast(&(df_structure->problems)) - reinterpret_cast(df_structure); - p_table["unk_1"] = reinterpret_cast(&(df_structure->unk_1)) - reinterpret_cast(df_structure); - p_table["in_problems"] = reinterpret_cast(&(df_structure->in_problems)) - reinterpret_cast(df_structure); - p_table["in_save_profile"] = reinterpret_cast(&(df_structure->in_save_profile)) - reinterpret_cast(df_structure); - p_table["profile_name_conflict"] = reinterpret_cast(&(df_structure->profile_name_conflict)) - reinterpret_cast(df_structure); - p_table["item_choice"] = reinterpret_cast(&(df_structure->item_choice)) - reinterpret_cast(df_structure); - p_table["animals"] = reinterpret_cast(&(df_structure->animals)) - reinterpret_cast(df_structure); - p_table["fort_name"] = reinterpret_cast(&(df_structure->fort_name)) - reinterpret_cast(df_structure); - p_table["group_name"] = reinterpret_cast(&(df_structure->group_name)) - reinterpret_cast(df_structure); - p_table["unk_2"] = reinterpret_cast(&(df_structure->unk_2)) - reinterpret_cast(df_structure); - p_table["unk_v43"] = reinterpret_cast(&(df_structure->unk_v43)) - reinterpret_cast(df_structure); - p_table["location"] = reinterpret_cast(&(df_structure->location)) - reinterpret_cast(df_structure); - p_table["units"] = reinterpret_cast(&(df_structure->units)) - reinterpret_cast(df_structure); - p_table["items"] = reinterpret_cast(&(df_structure->items)) - reinterpret_cast(df_structure); - p_table["unk_3"] = reinterpret_cast(&(df_structure->unk_3)) - reinterpret_cast(df_structure); - p_table["points_remaining"] = reinterpret_cast(&(df_structure->points_remaining)) - reinterpret_cast(df_structure); - p_table["add_item_type"] = reinterpret_cast(&(df_structure->add_item_type)) - reinterpret_cast(df_structure); - p_table["add_item_subtype"] = reinterpret_cast(&(df_structure->add_item_subtype)) - reinterpret_cast(df_structure); - p_table["add_mattype"] = reinterpret_cast(&(df_structure->add_mattype)) - reinterpret_cast(df_structure); - p_table["add_matindex"] = reinterpret_cast(&(df_structure->add_matindex)) - reinterpret_cast(df_structure); - p_table["adding_item"] = reinterpret_cast(&(df_structure->adding_item)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_storesst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["title"] = reinterpret_cast(&(df_structure->title)) - reinterpret_cast(df_structure); - p_table["category_cursor"] = reinterpret_cast(&(df_structure->category_cursor)) - reinterpret_cast(df_structure); - p_table["item_cursor"] = reinterpret_cast(&(df_structure->item_cursor)) - reinterpret_cast(df_structure); - p_table["in_right_list"] = reinterpret_cast(&(df_structure->in_right_list)) - reinterpret_cast(df_structure); - p_table["in_group_mode"] = reinterpret_cast(&(df_structure->in_group_mode)) - reinterpret_cast(df_structure); - p_table["category_total"] = reinterpret_cast(&(df_structure->category_total)) - reinterpret_cast(df_structure); - p_table["category_busy"] = reinterpret_cast(&(df_structure->category_busy)) - reinterpret_cast(df_structure); - p_table["items"] = reinterpret_cast(&(df_structure->items)) - reinterpret_cast(df_structure); - p_table["group_item_type"] = reinterpret_cast(&(df_structure->group_item_type)) - reinterpret_cast(df_structure); - p_table["group_item_subtype"] = reinterpret_cast(&(df_structure->group_item_subtype)) - reinterpret_cast(df_structure); - p_table["group_mat_type"] = reinterpret_cast(&(df_structure->group_mat_type)) - reinterpret_cast(df_structure); - p_table["group_mat_index"] = reinterpret_cast(&(df_structure->group_mat_index)) - reinterpret_cast(df_structure); - p_table["group_count"] = reinterpret_cast(&(df_structure->group_count)) - reinterpret_cast(df_structure); - p_table["category_order"] = reinterpret_cast(&(df_structure->category_order)) - reinterpret_cast(df_structure); - p_table["can_zoom"] = reinterpret_cast(&(df_structure->can_zoom)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_textviewerst__T_formatted_text_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["text"] = reinterpret_cast(&(df_structure->text)) - reinterpret_cast(df_structure); - p_table["format"] = reinterpret_cast(&(df_structure->format)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["pause_depth"] = reinterpret_cast(&(df_structure->pause_depth)) - reinterpret_cast(df_structure); - p_table["return_val"] = reinterpret_cast(&(df_structure->return_val)) - reinterpret_cast(df_structure); - p_table["indent"] = reinterpret_cast(&(df_structure->indent)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_textviewerst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["title"] = reinterpret_cast(&(df_structure->title)) - reinterpret_cast(df_structure); - p_table["title_colors"] = reinterpret_cast(&(df_structure->title_colors)) - reinterpret_cast(df_structure); - p_table["src_text"] = reinterpret_cast(&(df_structure->src_text)) - reinterpret_cast(df_structure); - p_table["outvar_type"] = reinterpret_cast(&(df_structure->outvar_type)) - reinterpret_cast(df_structure); - p_table["outvar_name"] = reinterpret_cast(&(df_structure->outvar_name)) - reinterpret_cast(df_structure); - p_table["meeting_context"] = reinterpret_cast(&(df_structure->meeting_context)) - reinterpret_cast(df_structure); - p_table["help_filename"] = reinterpret_cast(&(df_structure->help_filename)) - reinterpret_cast(df_structure); - p_table["page_filename"] = reinterpret_cast(&(df_structure->page_filename)) - reinterpret_cast(df_structure); - p_table["formatted_text"] = reinterpret_cast(&(df_structure->formatted_text)) - reinterpret_cast(df_structure); - p_table["hyperlinks"] = reinterpret_cast(&(df_structure->hyperlinks)) - reinterpret_cast(df_structure); - p_table["logged_error"] = reinterpret_cast(&(df_structure->logged_error)) - reinterpret_cast(df_structure); - p_table["scroll_pos"] = reinterpret_cast(&(df_structure->scroll_pos)) - reinterpret_cast(df_structure); - p_table["cursor_line"] = reinterpret_cast(&(df_structure->cursor_line)) - reinterpret_cast(df_structure); - p_table["pause_depth"] = reinterpret_cast(&(df_structure->pause_depth)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_titlest__T_start_savegames_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["world_name"] = reinterpret_cast(&(df_structure->world_name)) - reinterpret_cast(df_structure); - p_table["world_name_str"] = reinterpret_cast(&(df_structure->world_name_str)) - reinterpret_cast(df_structure); - p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); - p_table["unk2"] = reinterpret_cast(&(df_structure->unk2)) - reinterpret_cast(df_structure); - p_table["save_dir"] = reinterpret_cast(&(df_structure->save_dir)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_titlest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["str_histories"] = reinterpret_cast(&(df_structure->str_histories)) - reinterpret_cast(df_structure); - p_table["menu_items"] = reinterpret_cast(&(df_structure->menu_items)) - reinterpret_cast(df_structure); - p_table["sel_subpage"] = reinterpret_cast(&(df_structure->sel_subpage)) - reinterpret_cast(df_structure); - p_table["sel_menu_line"] = reinterpret_cast(&(df_structure->sel_menu_line)) - reinterpret_cast(df_structure); - p_table["sel_submenu_line"] = reinterpret_cast(&(df_structure->sel_submenu_line)) - reinterpret_cast(df_structure); - p_table["loading"] = reinterpret_cast(&(df_structure->loading)) - reinterpret_cast(df_structure); - p_table["menu_line_id"] = reinterpret_cast(&(df_structure->menu_line_id)) - reinterpret_cast(df_structure); - p_table["submenu_line_id"] = reinterpret_cast(&(df_structure->submenu_line_id)) - reinterpret_cast(df_structure); - p_table["submenu_line_text"] = reinterpret_cast(&(df_structure->submenu_line_text)) - reinterpret_cast(df_structure); - p_table["start_savegames"] = reinterpret_cast(&(df_structure->start_savegames)) - reinterpret_cast(df_structure); - p_table["arena_savegames"] = reinterpret_cast(&(df_structure->arena_savegames)) - reinterpret_cast(df_structure); - p_table["str_slaves"] = reinterpret_cast(&(df_structure->str_slaves)) - reinterpret_cast(df_structure); - p_table["str_chapter"] = reinterpret_cast(&(df_structure->str_chapter)) - reinterpret_cast(df_structure); - p_table["str_copyright"] = reinterpret_cast(&(df_structure->str_copyright)) - reinterpret_cast(df_structure); - p_table["str_version"] = reinterpret_cast(&(df_structure->str_version)) - reinterpret_cast(df_structure); - p_table["str_warning"] = reinterpret_cast(&(df_structure->str_warning)) - reinterpret_cast(df_structure); - p_table["str_programmed"] = reinterpret_cast(&(df_structure->str_programmed)) - reinterpret_cast(df_structure); - p_table["str_designed"] = reinterpret_cast(&(df_structure->str_designed)) - reinterpret_cast(df_structure); - p_table["str_visit"] = reinterpret_cast(&(df_structure->str_visit)) - reinterpret_cast(df_structure); - p_table["str_site"] = reinterpret_cast(&(df_structure->str_site)) - reinterpret_cast(df_structure); - p_table["arena_raw_folder"] = reinterpret_cast(&(df_structure->arena_raw_folder)) - reinterpret_cast(df_structure); - p_table["unk_388"] = reinterpret_cast(&(df_structure->unk_388)) - reinterpret_cast(df_structure); - p_table["unk_38c"] = reinterpret_cast(&(df_structure->unk_38c)) - reinterpret_cast(df_structure); - p_table["unk_390"] = reinterpret_cast(&(df_structure->unk_390)) - reinterpret_cast(df_structure); - p_table["unk_394"] = reinterpret_cast(&(df_structure->unk_394)) - reinterpret_cast(df_structure); - p_table["unk_398"] = reinterpret_cast(&(df_structure->unk_398)) - reinterpret_cast(df_structure); - p_table["unk_39c"] = reinterpret_cast(&(df_structure->unk_39c)) - reinterpret_cast(df_structure); - p_table["unk_3a0"] = reinterpret_cast(&(df_structure->unk_3a0)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_topicmeetingst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["popup"] = reinterpret_cast(&(df_structure->popup)) - reinterpret_cast(df_structure); - p_table["meeting"] = reinterpret_cast(&(df_structure->meeting)) - reinterpret_cast(df_structure); - p_table["unk_138"] = reinterpret_cast(&(df_structure->unk_138)) - reinterpret_cast(df_structure); - p_table["text"] = reinterpret_cast(&(df_structure->text)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_topicmeeting_fill_land_holder_positionsst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["title"] = reinterpret_cast(&(df_structure->title)) - reinterpret_cast(df_structure); - p_table["popup"] = reinterpret_cast(&(df_structure->popup)) - reinterpret_cast(df_structure); - p_table["meeting"] = reinterpret_cast(&(df_structure->meeting)) - reinterpret_cast(df_structure); - p_table["entity_diplomat"] = reinterpret_cast(&(df_structure->entity_diplomat)) - reinterpret_cast(df_structure); - p_table["entity_fortress"] = reinterpret_cast(&(df_structure->entity_fortress)) - reinterpret_cast(df_structure); - p_table["position_ids"] = reinterpret_cast(&(df_structure->position_ids)) - reinterpret_cast(df_structure); - p_table["selected_histfig_ids"] = reinterpret_cast(&(df_structure->selected_histfig_ids)) - reinterpret_cast(df_structure); - p_table["candidate_histfig_ids"] = reinterpret_cast(&(df_structure->candidate_histfig_ids)) - reinterpret_cast(df_structure); - p_table["position_cursor"] = reinterpret_cast(&(df_structure->position_cursor)) - reinterpret_cast(df_structure); - p_table["cursor"] = reinterpret_cast(&(df_structure->cursor)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_topicmeeting_takerequestsst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["title"] = reinterpret_cast(&(df_structure->title)) - reinterpret_cast(df_structure); - p_table["popup"] = reinterpret_cast(&(df_structure->popup)) - reinterpret_cast(df_structure); - p_table["meeting"] = reinterpret_cast(&(df_structure->meeting)) - reinterpret_cast(df_structure); - p_table["type_categories"] = reinterpret_cast(&(df_structure->type_categories)) - reinterpret_cast(df_structure); - p_table["type_idx"] = reinterpret_cast(&(df_structure->type_idx)) - reinterpret_cast(df_structure); - p_table["good_idx"] = reinterpret_cast(&(df_structure->good_idx)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_tradeagreementst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["requests"] = reinterpret_cast(&(df_structure->requests)) - reinterpret_cast(df_structure); - p_table["civ_id"] = reinterpret_cast(&(df_structure->civ_id)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["type_idx"] = reinterpret_cast(&(df_structure->type_idx)) - reinterpret_cast(df_structure); - p_table["good_idx"] = reinterpret_cast(&(df_structure->good_idx)) - reinterpret_cast(df_structure); - p_table["title"] = reinterpret_cast(&(df_structure->title)) - reinterpret_cast(df_structure); - p_table["civ"] = reinterpret_cast(&(df_structure->civ)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_tradegoodsst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["title"] = reinterpret_cast(&(df_structure->title)) - reinterpret_cast(df_structure); - p_table["merchant_name"] = reinterpret_cast(&(df_structure->merchant_name)) - reinterpret_cast(df_structure); - p_table["merchant_entity"] = reinterpret_cast(&(df_structure->merchant_entity)) - reinterpret_cast(df_structure); - p_table["depot"] = reinterpret_cast(&(df_structure->depot)) - reinterpret_cast(df_structure); - p_table["caravan"] = reinterpret_cast(&(df_structure->caravan)) - reinterpret_cast(df_structure); - p_table["entity"] = reinterpret_cast(&(df_structure->entity)) - reinterpret_cast(df_structure); - p_table["is_unloading"] = reinterpret_cast(&(df_structure->is_unloading)) - reinterpret_cast(df_structure); - p_table["has_traders"] = reinterpret_cast(&(df_structure->has_traders)) - reinterpret_cast(df_structure); - p_table["trader"] = reinterpret_cast(&(df_structure->trader)) - reinterpret_cast(df_structure); - p_table["broker"] = reinterpret_cast(&(df_structure->broker)) - reinterpret_cast(df_structure); - p_table["trader_items"] = reinterpret_cast(&(df_structure->trader_items)) - reinterpret_cast(df_structure); - p_table["broker_items"] = reinterpret_cast(&(df_structure->broker_items)) - reinterpret_cast(df_structure); - p_table["trader_selected"] = reinterpret_cast(&(df_structure->trader_selected)) - reinterpret_cast(df_structure); - p_table["broker_selected"] = reinterpret_cast(&(df_structure->broker_selected)) - reinterpret_cast(df_structure); - p_table["trader_count"] = reinterpret_cast(&(df_structure->trader_count)) - reinterpret_cast(df_structure); - p_table["broker_count"] = reinterpret_cast(&(df_structure->broker_count)) - reinterpret_cast(df_structure); - p_table["trader_cursor"] = reinterpret_cast(&(df_structure->trader_cursor)) - reinterpret_cast(df_structure); - p_table["broker_cursor"] = reinterpret_cast(&(df_structure->broker_cursor)) - reinterpret_cast(df_structure); - p_table["in_right_pane"] = reinterpret_cast(&(df_structure->in_right_pane)) - reinterpret_cast(df_structure); - p_table["trade_reply"] = reinterpret_cast(&(df_structure->trade_reply)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["has_offer"] = reinterpret_cast(&(df_structure->has_offer)) - reinterpret_cast(df_structure); - p_table["counteroffer"] = reinterpret_cast(&(df_structure->counteroffer)) - reinterpret_cast(df_structure); - p_table["in_edit_count"] = reinterpret_cast(&(df_structure->in_edit_count)) - reinterpret_cast(df_structure); - p_table["edit_count"] = reinterpret_cast(&(df_structure->edit_count)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_tradelistst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["cursor"] = reinterpret_cast(&(df_structure->cursor)) - reinterpret_cast(df_structure); - p_table["depot"] = reinterpret_cast(&(df_structure->depot)) - reinterpret_cast(df_structure); - p_table["caravans"] = reinterpret_cast(&(df_structure->caravans)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_treasurelistst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["sel_idx"] = reinterpret_cast(&(df_structure->sel_idx)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_unitst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); - p_table["noble_assignments"] = reinterpret_cast(&(df_structure->noble_assignments)) - reinterpret_cast(df_structure); - p_table["noble_histfigs"] = reinterpret_cast(&(df_structure->noble_histfigs)) - reinterpret_cast(df_structure); - p_table["noble_groups"] = reinterpret_cast(&(df_structure->noble_groups)) - reinterpret_cast(df_structure); - p_table["has_kills"] = reinterpret_cast(&(df_structure->has_kills)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_unitlistst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["allow_zoom"] = reinterpret_cast(&(df_structure->allow_zoom)) - reinterpret_cast(df_structure); - p_table["page"] = reinterpret_cast(&(df_structure->page)) - reinterpret_cast(df_structure); - p_table["cursor_pos"] = reinterpret_cast(&(df_structure->cursor_pos)) - reinterpret_cast(df_structure); - p_table["jobs"] = reinterpret_cast(&(df_structure->jobs)) - reinterpret_cast(df_structure); - p_table["units"] = reinterpret_cast(&(df_structure->units)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_wagesst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["profession_category"] = reinterpret_cast(&(df_structure->profession_category)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_workquota_conditionst__T_traits_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["item_desc"] = reinterpret_cast(&(df_structure->item_desc)) - reinterpret_cast(df_structure); - p_table["product_desc"] = reinterpret_cast(&(df_structure->product_desc)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_workquota_conditionst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["order"] = reinterpret_cast(&(df_structure->order)) - reinterpret_cast(df_structure); - p_table["cond_idx"] = reinterpret_cast(&(df_structure->cond_idx)) - reinterpret_cast(df_structure); - p_table["satisfied_items"] = reinterpret_cast(&(df_structure->satisfied_items)) - reinterpret_cast(df_structure); - p_table["satisfied_orders"] = reinterpret_cast(&(df_structure->satisfied_orders)) - reinterpret_cast(df_structure); - p_table["filter"] = reinterpret_cast(&(df_structure->filter)) - reinterpret_cast(df_structure); - p_table["list_entries"] = reinterpret_cast(&(df_structure->list_entries)) - reinterpret_cast(df_structure); - p_table["list_idx"] = reinterpret_cast(&(df_structure->list_idx)) - reinterpret_cast(df_structure); - p_table["mode"] = reinterpret_cast(&(df_structure->mode)) - reinterpret_cast(df_structure); - p_table["item_types"] = reinterpret_cast(&(df_structure->item_types)) - reinterpret_cast(df_structure); - p_table["item_subtypes"] = reinterpret_cast(&(df_structure->item_subtypes)) - reinterpret_cast(df_structure); - p_table["item_types_visible"] = reinterpret_cast(&(df_structure->item_types_visible)) - reinterpret_cast(df_structure); - p_table["item_subtypes_visible"] = reinterpret_cast(&(df_structure->item_subtypes_visible)) - reinterpret_cast(df_structure); - p_table["mat_types"] = reinterpret_cast(&(df_structure->mat_types)) - reinterpret_cast(df_structure); - p_table["mat_indices"] = reinterpret_cast(&(df_structure->mat_indices)) - reinterpret_cast(df_structure); - p_table["list_unk3"] = reinterpret_cast(&(df_structure->list_unk3)) - reinterpret_cast(df_structure); - p_table["list_visible"] = reinterpret_cast(&(df_structure->list_visible)) - reinterpret_cast(df_structure); - p_table["traits"] = reinterpret_cast(&(df_structure->traits)) - reinterpret_cast(df_structure); - p_table["traits_visible"] = reinterpret_cast(&(df_structure->traits_visible)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["item_count_edit"] = reinterpret_cast(&(df_structure->item_count_edit)) - reinterpret_cast(df_structure); - p_table["item_count_entry"] = reinterpret_cast(&(df_structure->item_count_entry)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_workquota_detailsst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_workshop_profilest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["building_id"] = reinterpret_cast(&(df_structure->building_id)) - reinterpret_cast(df_structure); - p_table["profile"] = reinterpret_cast(&(df_structure->profile)) - reinterpret_cast(df_structure); - p_table["tab"] = reinterpret_cast(&(df_structure->tab)) - reinterpret_cast(df_structure); - p_table["workers"] = reinterpret_cast(&(df_structure->workers)) - reinterpret_cast(df_structure); - p_table["worker_idx"] = reinterpret_cast(&(df_structure->worker_idx)) - reinterpret_cast(df_structure); - p_table["orders"] = reinterpret_cast(&(df_structure->orders)) - reinterpret_cast(df_structure); - p_table["order_idx"] = reinterpret_cast(&(df_structure->order_idx)) - reinterpret_cast(df_structure); - p_table["labors"] = reinterpret_cast(&(df_structure->labors)) - reinterpret_cast(df_structure); - p_table["labor_idx"] = reinterpret_cast(&(df_structure->labor_idx)) - reinterpret_cast(df_structure); -} - -void generate_viewscreen_update_regionst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["year"] = reinterpret_cast(&(df_structure->year)) - reinterpret_cast(df_structure); - p_table["year_tick"] = reinterpret_cast(&(df_structure->year_tick)) - reinterpret_cast(df_structure); -} - -void generate_world_site_unk130__T_unk_4_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk_0"] = reinterpret_cast(&(df_structure->unk_0)) - reinterpret_cast(df_structure); - p_table["index"] = reinterpret_cast(&(df_structure->index)) - reinterpret_cast(df_structure); - p_table["unk_8"] = reinterpret_cast(&(df_structure->unk_8)) - reinterpret_cast(df_structure); - p_table["unk_c"] = reinterpret_cast(&(df_structure->unk_c)) - reinterpret_cast(df_structure); -} - -void generate_world_site_unk130_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["index"] = reinterpret_cast(&(df_structure->index)) - reinterpret_cast(df_structure); - p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); -} - -void generate_embark_note_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["tile"] = reinterpret_cast(&(df_structure->tile)) - reinterpret_cast(df_structure); - p_table["fg_color"] = reinterpret_cast(&(df_structure->fg_color)) - reinterpret_cast(df_structure); - p_table["bg_color"] = reinterpret_cast(&(df_structure->bg_color)) - reinterpret_cast(df_structure); - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["pos"] = reinterpret_cast(&(df_structure->pos)) - reinterpret_cast(df_structure); - p_table["left"] = reinterpret_cast(&(df_structure->left)) - reinterpret_cast(df_structure); - p_table["right"] = reinterpret_cast(&(df_structure->right)) - reinterpret_cast(df_structure); - p_table["top"] = reinterpret_cast(&(df_structure->top)) - reinterpret_cast(df_structure); - p_table["bottom"] = reinterpret_cast(&(df_structure->bottom)) - reinterpret_cast(df_structure); -} - -void generate_local_population_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); - p_table["plant"] = reinterpret_cast(&(df_structure->plant)) - reinterpret_cast(df_structure); - p_table["quantity"] = reinterpret_cast(&(df_structure->quantity)) - reinterpret_cast(df_structure); - p_table["quantity2"] = reinterpret_cast(&(df_structure->quantity2)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["population"] = reinterpret_cast(&(df_structure->population)) - reinterpret_cast(df_structure); - p_table["wp_unk_10"] = reinterpret_cast(&(df_structure->wp_unk_10)) - reinterpret_cast(df_structure); - p_table["wp_unk_18"] = reinterpret_cast(&(df_structure->wp_unk_18)) - reinterpret_cast(df_structure); - p_table["wp_unk_1c"] = reinterpret_cast(&(df_structure->wp_unk_1c)) - reinterpret_cast(df_structure); -} - -void generate_world_population_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); - p_table["plant"] = reinterpret_cast(&(df_structure->plant)) - reinterpret_cast(df_structure); - p_table["count_min"] = reinterpret_cast(&(df_structure->count_min)) - reinterpret_cast(df_structure); - p_table["count_max"] = reinterpret_cast(&(df_structure->count_max)) - reinterpret_cast(df_structure); - p_table["unk_c"] = reinterpret_cast(&(df_structure->unk_c)) - reinterpret_cast(df_structure); - p_table["owner"] = reinterpret_cast(&(df_structure->owner)) - reinterpret_cast(df_structure); - p_table["unk_10"] = reinterpret_cast(&(df_structure->unk_10)) - reinterpret_cast(df_structure); - p_table["unk_14"] = reinterpret_cast(&(df_structure->unk_14)) - reinterpret_cast(df_structure); - p_table["unk_18"] = reinterpret_cast(&(df_structure->unk_18)) - reinterpret_cast(df_structure); - p_table["unk_1c"] = reinterpret_cast(&(df_structure->unk_1c)) - reinterpret_cast(df_structure); -} - -void generate_world_landmass_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["index"] = reinterpret_cast(&(df_structure->index)) - reinterpret_cast(df_structure); - p_table["area"] = reinterpret_cast(&(df_structure->area)) - reinterpret_cast(df_structure); - p_table["min_x"] = reinterpret_cast(&(df_structure->min_x)) - reinterpret_cast(df_structure); - p_table["max_x"] = reinterpret_cast(&(df_structure->max_x)) - reinterpret_cast(df_structure); - p_table["min_y"] = reinterpret_cast(&(df_structure->min_y)) - reinterpret_cast(df_structure); - p_table["max_y"] = reinterpret_cast(&(df_structure->max_y)) - reinterpret_cast(df_structure); - p_table["unk_74"] = reinterpret_cast(&(df_structure->unk_74)) - reinterpret_cast(df_structure); - p_table["unk_84"] = reinterpret_cast(&(df_structure->unk_84)) - reinterpret_cast(df_structure); -} - -void generate_world_region_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["index"] = reinterpret_cast(&(df_structure->index)) - reinterpret_cast(df_structure); - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["region_coords"] = reinterpret_cast(&(df_structure->region_coords)) - reinterpret_cast(df_structure); - p_table["size"] = reinterpret_cast(&(df_structure->size)) - reinterpret_cast(df_structure); - p_table["unk_98"] = reinterpret_cast(&(df_structure->unk_98)) - reinterpret_cast(df_structure); - p_table["unk_9c"] = reinterpret_cast(&(df_structure->unk_9c)) - reinterpret_cast(df_structure); - p_table["unk_a0"] = reinterpret_cast(&(df_structure->unk_a0)) - reinterpret_cast(df_structure); - p_table["unk_a4"] = reinterpret_cast(&(df_structure->unk_a4)) - reinterpret_cast(df_structure); - p_table["population"] = reinterpret_cast(&(df_structure->population)) - reinterpret_cast(df_structure); - p_table["biome_tile_counts"] = reinterpret_cast(&(df_structure->biome_tile_counts)) - reinterpret_cast(df_structure); - p_table["tree_biomes"] = reinterpret_cast(&(df_structure->tree_biomes)) - reinterpret_cast(df_structure); - p_table["tree_tiles_1"] = reinterpret_cast(&(df_structure->tree_tiles_1)) - reinterpret_cast(df_structure); - p_table["tree_tiles_2"] = reinterpret_cast(&(df_structure->tree_tiles_2)) - reinterpret_cast(df_structure); - p_table["tree_tiles_good"] = reinterpret_cast(&(df_structure->tree_tiles_good)) - reinterpret_cast(df_structure); - p_table["tree_tiles_evil"] = reinterpret_cast(&(df_structure->tree_tiles_evil)) - reinterpret_cast(df_structure); - p_table["tree_tiles_savage"] = reinterpret_cast(&(df_structure->tree_tiles_savage)) - reinterpret_cast(df_structure); - p_table["dead_percentage"] = reinterpret_cast(&(df_structure->dead_percentage)) - reinterpret_cast(df_structure); - p_table["unk_1e5"] = reinterpret_cast(&(df_structure->unk_1e5)) - reinterpret_cast(df_structure); - p_table["unk_1e6"] = reinterpret_cast(&(df_structure->unk_1e6)) - reinterpret_cast(df_structure); - p_table["reanimating"] = reinterpret_cast(&(df_structure->reanimating)) - reinterpret_cast(df_structure); - p_table["evil"] = reinterpret_cast(&(df_structure->evil)) - reinterpret_cast(df_structure); - p_table["good"] = reinterpret_cast(&(df_structure->good)) - reinterpret_cast(df_structure); - p_table["lake_surface"] = reinterpret_cast(&(df_structure->lake_surface)) - reinterpret_cast(df_structure); - p_table["forces"] = reinterpret_cast(&(df_structure->forces)) - reinterpret_cast(df_structure); - p_table["unk_200"] = reinterpret_cast(&(df_structure->unk_200)) - reinterpret_cast(df_structure); - p_table["mid_x"] = reinterpret_cast(&(df_structure->mid_x)) - reinterpret_cast(df_structure); - p_table["mid_y"] = reinterpret_cast(&(df_structure->mid_y)) - reinterpret_cast(df_structure); - p_table["min_x"] = reinterpret_cast(&(df_structure->min_x)) - reinterpret_cast(df_structure); - p_table["max_x"] = reinterpret_cast(&(df_structure->max_x)) - reinterpret_cast(df_structure); - p_table["min_y"] = reinterpret_cast(&(df_structure->min_y)) - reinterpret_cast(df_structure); - p_table["max_y"] = reinterpret_cast(&(df_structure->max_y)) - reinterpret_cast(df_structure); -} - -void generate_world_underground_region_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["index"] = reinterpret_cast(&(df_structure->index)) - reinterpret_cast(df_structure); - p_table["layer_depth"] = reinterpret_cast(&(df_structure->layer_depth)) - reinterpret_cast(df_structure); - p_table["layer_depth_p1a"] = reinterpret_cast(&(df_structure->layer_depth_p1a)) - reinterpret_cast(df_structure); - p_table["layer_depth_p1b"] = reinterpret_cast(&(df_structure->layer_depth_p1b)) - reinterpret_cast(df_structure); - p_table["water"] = reinterpret_cast(&(df_structure->water)) - reinterpret_cast(df_structure); - p_table["unk_7c"] = reinterpret_cast(&(df_structure->unk_7c)) - reinterpret_cast(df_structure); - p_table["openness_min"] = reinterpret_cast(&(df_structure->openness_min)) - reinterpret_cast(df_structure); - p_table["openness_max"] = reinterpret_cast(&(df_structure->openness_max)) - reinterpret_cast(df_structure); - p_table["passage_density_min"] = reinterpret_cast(&(df_structure->passage_density_min)) - reinterpret_cast(df_structure); - p_table["passage_density_max"] = reinterpret_cast(&(df_structure->passage_density_max)) - reinterpret_cast(df_structure); - p_table["region_coords"] = reinterpret_cast(&(df_structure->region_coords)) - reinterpret_cast(df_structure); - p_table["region_min_z"] = reinterpret_cast(&(df_structure->region_min_z)) - reinterpret_cast(df_structure); - p_table["region_max_z"] = reinterpret_cast(&(df_structure->region_max_z)) - reinterpret_cast(df_structure); - p_table["unk_c8"] = reinterpret_cast(&(df_structure->unk_c8)) - reinterpret_cast(df_structure); - p_table["feature_init"] = reinterpret_cast(&(df_structure->feature_init)) - reinterpret_cast(df_structure); -} - -void generate_world_river_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["path"] = reinterpret_cast(&(df_structure->path)) - reinterpret_cast(df_structure); - p_table["flow"] = reinterpret_cast(&(df_structure->flow)) - reinterpret_cast(df_structure); - p_table["exit_tile"] = reinterpret_cast(&(df_structure->exit_tile)) - reinterpret_cast(df_structure); - p_table["elevation"] = reinterpret_cast(&(df_structure->elevation)) - reinterpret_cast(df_structure); - p_table["end_pos"] = reinterpret_cast(&(df_structure->end_pos)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); -} - -void generate_world_geo_layer_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["vein_mat"] = reinterpret_cast(&(df_structure->vein_mat)) - reinterpret_cast(df_structure); - p_table["vein_nested_in"] = reinterpret_cast(&(df_structure->vein_nested_in)) - reinterpret_cast(df_structure); - p_table["vein_type"] = reinterpret_cast(&(df_structure->vein_type)) - reinterpret_cast(df_structure); - p_table["vein_unk_38"] = reinterpret_cast(&(df_structure->vein_unk_38)) - reinterpret_cast(df_structure); - p_table["top_height"] = reinterpret_cast(&(df_structure->top_height)) - reinterpret_cast(df_structure); - p_table["bottom_height"] = reinterpret_cast(&(df_structure->bottom_height)) - reinterpret_cast(df_structure); -} - -void generate_world_geo_biome_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); - p_table["index"] = reinterpret_cast(&(df_structure->index)) - reinterpret_cast(df_structure); - p_table["layers"] = reinterpret_cast(&(df_structure->layers)) - reinterpret_cast(df_structure); -} - -void generate_world_region_feature_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["feature_idx"] = reinterpret_cast(&(df_structure->feature_idx)) - reinterpret_cast(df_structure); - p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); - p_table["region_tile_idx"] = reinterpret_cast(&(df_structure->region_tile_idx)) - reinterpret_cast(df_structure); - p_table["min_z"] = reinterpret_cast(&(df_structure->min_z)) - reinterpret_cast(df_structure); - p_table["max_z"] = reinterpret_cast(&(df_structure->max_z)) - reinterpret_cast(df_structure); - p_table["unk_c"] = reinterpret_cast(&(df_structure->unk_c)) - reinterpret_cast(df_structure); - p_table["unk_28"] = reinterpret_cast(&(df_structure->unk_28)) - reinterpret_cast(df_structure); - p_table["seed"] = reinterpret_cast(&(df_structure->seed)) - reinterpret_cast(df_structure); - p_table["unk_30"] = reinterpret_cast(&(df_structure->unk_30)) - reinterpret_cast(df_structure); - p_table["unk_38"] = reinterpret_cast(&(df_structure->unk_38)) - reinterpret_cast(df_structure); - p_table["top_layer_idx"] = reinterpret_cast(&(df_structure->top_layer_idx)) - reinterpret_cast(df_structure); -} - -void generate_world_region_details__T_edges_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["split_x"] = reinterpret_cast(&(df_structure->split_x)) - reinterpret_cast(df_structure); - p_table["split_y"] = reinterpret_cast(&(df_structure->split_y)) - reinterpret_cast(df_structure); - p_table["biome_corner"] = reinterpret_cast(&(df_structure->biome_corner)) - reinterpret_cast(df_structure); - p_table["biome_x"] = reinterpret_cast(&(df_structure->biome_x)) - reinterpret_cast(df_structure); - p_table["biome_y"] = reinterpret_cast(&(df_structure->biome_y)) - reinterpret_cast(df_structure); -} - -void generate_world_region_details__T_rivers_vertical_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["x_min"] = reinterpret_cast(&(df_structure->x_min)) - reinterpret_cast(df_structure); - p_table["x_max"] = reinterpret_cast(&(df_structure->x_max)) - reinterpret_cast(df_structure); - p_table["active"] = reinterpret_cast(&(df_structure->active)) - reinterpret_cast(df_structure); - p_table["elevation"] = reinterpret_cast(&(df_structure->elevation)) - reinterpret_cast(df_structure); -} - -void generate_world_region_details__T_rivers_horizontal_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["y_min"] = reinterpret_cast(&(df_structure->y_min)) - reinterpret_cast(df_structure); - p_table["y_max"] = reinterpret_cast(&(df_structure->y_max)) - reinterpret_cast(df_structure); - p_table["active"] = reinterpret_cast(&(df_structure->active)) - reinterpret_cast(df_structure); - p_table["elevation"] = reinterpret_cast(&(df_structure->elevation)) - reinterpret_cast(df_structure); -} - -void generate_world_region_details_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["biome"] = reinterpret_cast(&(df_structure->biome)) - reinterpret_cast(df_structure); - p_table["elevation"] = reinterpret_cast(&(df_structure->elevation)) - reinterpret_cast(df_structure); - p_table["seed"] = reinterpret_cast(&(df_structure->seed)) - reinterpret_cast(df_structure); - p_table["edges"] = reinterpret_cast(&(df_structure->edges)) - reinterpret_cast(df_structure); - p_table["pos"] = reinterpret_cast(&(df_structure->pos)) - reinterpret_cast(df_structure); - p_table["unk12e8"] = reinterpret_cast(&(df_structure->unk12e8)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["rivers_vertical"] = reinterpret_cast(&(df_structure->rivers_vertical)) - reinterpret_cast(df_structure); - p_table["rivers_horizontal"] = reinterpret_cast(&(df_structure->rivers_horizontal)) - reinterpret_cast(df_structure); - p_table["unk11"] = reinterpret_cast(&(df_structure->unk11)) - reinterpret_cast(df_structure); - p_table["features"] = reinterpret_cast(&(df_structure->features)) - reinterpret_cast(df_structure); - p_table["lava_stone"] = reinterpret_cast(&(df_structure->lava_stone)) - reinterpret_cast(df_structure); - p_table["unk_12"] = reinterpret_cast(&(df_structure->unk_12)) - reinterpret_cast(df_structure); - p_table["elevation2"] = reinterpret_cast(&(df_structure->elevation2)) - reinterpret_cast(df_structure); - p_table["undef13"] = reinterpret_cast(&(df_structure->undef13)) - reinterpret_cast(df_structure); -} - -void generate_region_map_entry_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk_0"] = reinterpret_cast(&(df_structure->unk_0)) - reinterpret_cast(df_structure); - p_table["finder_rank"] = reinterpret_cast(&(df_structure->finder_rank)) - reinterpret_cast(df_structure); - p_table["sites"] = reinterpret_cast(&(df_structure->sites)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["elevation"] = reinterpret_cast(&(df_structure->elevation)) - reinterpret_cast(df_structure); - p_table["rainfall"] = reinterpret_cast(&(df_structure->rainfall)) - reinterpret_cast(df_structure); - p_table["vegetation"] = reinterpret_cast(&(df_structure->vegetation)) - reinterpret_cast(df_structure); - p_table["temperature"] = reinterpret_cast(&(df_structure->temperature)) - reinterpret_cast(df_structure); - p_table["evilness"] = reinterpret_cast(&(df_structure->evilness)) - reinterpret_cast(df_structure); - p_table["drainage"] = reinterpret_cast(&(df_structure->drainage)) - reinterpret_cast(df_structure); - p_table["volcanism"] = reinterpret_cast(&(df_structure->volcanism)) - reinterpret_cast(df_structure); - p_table["savagery"] = reinterpret_cast(&(df_structure->savagery)) - reinterpret_cast(df_structure); - p_table["air_temp"] = reinterpret_cast(&(df_structure->air_temp)) - reinterpret_cast(df_structure); - p_table["air_x"] = reinterpret_cast(&(df_structure->air_x)) - reinterpret_cast(df_structure); - p_table["air_y"] = reinterpret_cast(&(df_structure->air_y)) - reinterpret_cast(df_structure); - p_table["clouds"] = reinterpret_cast(&(df_structure->clouds)) - reinterpret_cast(df_structure); - p_table["wind"] = reinterpret_cast(&(df_structure->wind)) - reinterpret_cast(df_structure); - p_table["snowfall"] = reinterpret_cast(&(df_structure->snowfall)) - reinterpret_cast(df_structure); - p_table["salinity"] = reinterpret_cast(&(df_structure->salinity)) - reinterpret_cast(df_structure); - p_table["unk_3e"] = reinterpret_cast(&(df_structure->unk_3e)) - reinterpret_cast(df_structure); - p_table["unk_44"] = reinterpret_cast(&(df_structure->unk_44)) - reinterpret_cast(df_structure); - p_table["unk_4a"] = reinterpret_cast(&(df_structure->unk_4a)) - reinterpret_cast(df_structure); - p_table["region_id"] = reinterpret_cast(&(df_structure->region_id)) - reinterpret_cast(df_structure); - p_table["landmass_id"] = reinterpret_cast(&(df_structure->landmass_id)) - reinterpret_cast(df_structure); - p_table["geo_index"] = reinterpret_cast(&(df_structure->geo_index)) - reinterpret_cast(df_structure); -} - -void generate_entity_claim_mask__T_map_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["entities"] = reinterpret_cast(&(df_structure->entities)) - reinterpret_cast(df_structure); - p_table["region_masks"] = reinterpret_cast(&(df_structure->region_masks)) - reinterpret_cast(df_structure); -} - -void generate_entity_claim_mask_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["map"] = reinterpret_cast(&(df_structure->map)) - reinterpret_cast(df_structure); - p_table["width"] = reinterpret_cast(&(df_structure->width)) - reinterpret_cast(df_structure); - p_table["height"] = reinterpret_cast(&(df_structure->height)) - reinterpret_cast(df_structure); -} - -void generate_moving_party__T_members_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["nemesis_id"] = reinterpret_cast(&(df_structure->nemesis_id)) - reinterpret_cast(df_structure); - p_table["hunger"] = reinterpret_cast(&(df_structure->hunger)) - reinterpret_cast(df_structure); - p_table["thirst"] = reinterpret_cast(&(df_structure->thirst)) - reinterpret_cast(df_structure); - p_table["sleepiness"] = reinterpret_cast(&(df_structure->sleepiness)) - reinterpret_cast(df_structure); - p_table["stored_fat"] = reinterpret_cast(&(df_structure->stored_fat)) - reinterpret_cast(df_structure); - p_table["unk_14"] = reinterpret_cast(&(df_structure->unk_14)) - reinterpret_cast(df_structure); - p_table["unk_18"] = reinterpret_cast(&(df_structure->unk_18)) - reinterpret_cast(df_structure); - p_table["unk_1c"] = reinterpret_cast(&(df_structure->unk_1c)) - reinterpret_cast(df_structure); - p_table["unk_20"] = reinterpret_cast(&(df_structure->unk_20)) - reinterpret_cast(df_structure); - p_table["unk_24"] = reinterpret_cast(&(df_structure->unk_24)) - reinterpret_cast(df_structure); -} - -void generate_moving_party_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["pos"] = reinterpret_cast(&(df_structure->pos)) - reinterpret_cast(df_structure); - p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); - p_table["unk_c"] = reinterpret_cast(&(df_structure->unk_c)) - reinterpret_cast(df_structure); - p_table["unk_10"] = reinterpret_cast(&(df_structure->unk_10)) - reinterpret_cast(df_structure); - p_table["members"] = reinterpret_cast(&(df_structure->members)) - reinterpret_cast(df_structure); - p_table["entity_id"] = reinterpret_cast(&(df_structure->entity_id)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["unk_30"] = reinterpret_cast(&(df_structure->unk_30)) - reinterpret_cast(df_structure); - p_table["unk_40"] = reinterpret_cast(&(df_structure->unk_40)) - reinterpret_cast(df_structure); - p_table["unk_70"] = reinterpret_cast(&(df_structure->unk_70)) - reinterpret_cast(df_structure); - p_table["unk_72"] = reinterpret_cast(&(df_structure->unk_72)) - reinterpret_cast(df_structure); - p_table["unk_74"] = reinterpret_cast(&(df_structure->unk_74)) - reinterpret_cast(df_structure); - p_table["unk_7c"] = reinterpret_cast(&(df_structure->unk_7c)) - reinterpret_cast(df_structure); - p_table["region_id"] = reinterpret_cast(&(df_structure->region_id)) - reinterpret_cast(df_structure); - p_table["beast_id"] = reinterpret_cast(&(df_structure->beast_id)) - reinterpret_cast(df_structure); -} - -void generate_world_object_data__T_offloaded_items_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["item"] = reinterpret_cast(&(df_structure->item)) - reinterpret_cast(df_structure); - p_table["global_x"] = reinterpret_cast(&(df_structure->global_x)) - reinterpret_cast(df_structure); - p_table["global_y"] = reinterpret_cast(&(df_structure->global_y)) - reinterpret_cast(df_structure); - p_table["global_z"] = reinterpret_cast(&(df_structure->global_z)) - reinterpret_cast(df_structure); - p_table["container"] = reinterpret_cast(&(df_structure->container)) - reinterpret_cast(df_structure); - p_table["building"] = reinterpret_cast(&(df_structure->building)) - reinterpret_cast(df_structure); - p_table["unk_18"] = reinterpret_cast(&(df_structure->unk_18)) - reinterpret_cast(df_structure); -} - -void generate_world_object_data__T_offloaded_buildings_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["building"] = reinterpret_cast(&(df_structure->building)) - reinterpret_cast(df_structure); - p_table["global_x"] = reinterpret_cast(&(df_structure->global_x)) - reinterpret_cast(df_structure); - p_table["global_y"] = reinterpret_cast(&(df_structure->global_y)) - reinterpret_cast(df_structure); - p_table["global_z"] = reinterpret_cast(&(df_structure->global_z)) - reinterpret_cast(df_structure); - p_table["unk_10"] = reinterpret_cast(&(df_structure->unk_10)) - reinterpret_cast(df_structure); -} - -void generate_world_object_data__T_unk_94_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["global_x"] = reinterpret_cast(&(df_structure->global_x)) - reinterpret_cast(df_structure); - p_table["global_y"] = reinterpret_cast(&(df_structure->global_y)) - reinterpret_cast(df_structure); - p_table["global_z"] = reinterpret_cast(&(df_structure->global_z)) - reinterpret_cast(df_structure); - p_table["unk_c"] = reinterpret_cast(&(df_structure->unk_c)) - reinterpret_cast(df_structure); -} - -void generate_world_object_data_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["altered_items"] = reinterpret_cast(&(df_structure->altered_items)) - reinterpret_cast(df_structure); - p_table["offloaded_items"] = reinterpret_cast(&(df_structure->offloaded_items)) - reinterpret_cast(df_structure); - p_table["unk_24"] = reinterpret_cast(&(df_structure->unk_24)) - reinterpret_cast(df_structure); - p_table["unk_34"] = reinterpret_cast(&(df_structure->unk_34)) - reinterpret_cast(df_structure); - p_table["unk_44"] = reinterpret_cast(&(df_structure->unk_44)) - reinterpret_cast(df_structure); - p_table["unk_54"] = reinterpret_cast(&(df_structure->unk_54)) - reinterpret_cast(df_structure); - p_table["unk_64"] = reinterpret_cast(&(df_structure->unk_64)) - reinterpret_cast(df_structure); - p_table["altered_buildings"] = reinterpret_cast(&(df_structure->altered_buildings)) - reinterpret_cast(df_structure); - p_table["offloaded_buildings"] = reinterpret_cast(&(df_structure->offloaded_buildings)) - reinterpret_cast(df_structure); - p_table["unk_94"] = reinterpret_cast(&(df_structure->unk_94)) - reinterpret_cast(df_structure); - p_table["creation_zone_alterations"] = reinterpret_cast(&(df_structure->creation_zone_alterations)) - reinterpret_cast(df_structure); - p_table["unk_v40_1"] = reinterpret_cast(&(df_structure->unk_v40_1)) - reinterpret_cast(df_structure); - p_table["year"] = reinterpret_cast(&(df_structure->year)) - reinterpret_cast(df_structure); - p_table["year_tick"] = reinterpret_cast(&(df_structure->year_tick)) - reinterpret_cast(df_structure); - p_table["unk_c0"] = reinterpret_cast(&(df_structure->unk_c0)) - reinterpret_cast(df_structure); - p_table["unk_d0"] = reinterpret_cast(&(df_structure->unk_d0)) - reinterpret_cast(df_structure); - p_table["unk_e0"] = reinterpret_cast(&(df_structure->unk_e0)) - reinterpret_cast(df_structure); - p_table["unk_f0"] = reinterpret_cast(&(df_structure->unk_f0)) - reinterpret_cast(df_structure); - p_table["unk_100"] = reinterpret_cast(&(df_structure->unk_100)) - reinterpret_cast(df_structure); - p_table["unk_110"] = reinterpret_cast(&(df_structure->unk_110)) - reinterpret_cast(df_structure); - p_table["unk_v43_1"] = reinterpret_cast(&(df_structure->unk_v43_1)) - reinterpret_cast(df_structure); - p_table["unk_v43_2"] = reinterpret_cast(&(df_structure->unk_v43_2)) - reinterpret_cast(df_structure); - p_table["unk_v43_3"] = reinterpret_cast(&(df_structure->unk_v43_3)) - reinterpret_cast(df_structure); - p_table["unk_v43_4"] = reinterpret_cast(&(df_structure->unk_v43_4)) - reinterpret_cast(df_structure); -} - -void generate_world_data__T_unk_b4_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["world_width2"] = reinterpret_cast(&(df_structure->world_width2)) - reinterpret_cast(df_structure); - p_table["world_height2"] = reinterpret_cast(&(df_structure->world_height2)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); -} - -void generate_world_data__T_constructions_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["width"] = reinterpret_cast(&(df_structure->width)) - reinterpret_cast(df_structure); - p_table["height"] = reinterpret_cast(&(df_structure->height)) - reinterpret_cast(df_structure); - p_table["map"] = reinterpret_cast(&(df_structure->map)) - reinterpret_cast(df_structure); - p_table["list"] = reinterpret_cast(&(df_structure->list)) - reinterpret_cast(df_structure); - p_table["next_id"] = reinterpret_cast(&(df_structure->next_id)) - reinterpret_cast(df_structure); -} - -void generate_world_data__T_unk_150__T_unk_8_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["index"] = reinterpret_cast(&(df_structure->index)) - reinterpret_cast(df_structure); - p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); - p_table["unk_8"] = reinterpret_cast(&(df_structure->unk_8)) - reinterpret_cast(df_structure); -} - -void generate_world_data__T_unk_150__T_unk_18_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["index"] = reinterpret_cast(&(df_structure->index)) - reinterpret_cast(df_structure); - p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); - p_table["unk_8"] = reinterpret_cast(&(df_structure->unk_8)) - reinterpret_cast(df_structure); -} - -void generate_world_data__T_unk_150__T_unk_28_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk_0"] = reinterpret_cast(&(df_structure->unk_0)) - reinterpret_cast(df_structure); - p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); -} - -void generate_world_data__T_unk_150_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["index"] = reinterpret_cast(&(df_structure->index)) - reinterpret_cast(df_structure); - p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); - p_table["unk_8"] = reinterpret_cast(&(df_structure->unk_8)) - reinterpret_cast(df_structure); - p_table["unk_18"] = reinterpret_cast(&(df_structure->unk_18)) - reinterpret_cast(df_structure); - p_table["unk_28"] = reinterpret_cast(&(df_structure->unk_28)) - reinterpret_cast(df_structure); -} - -void generate_world_data__T_unk_170__T_unk_4_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk_0"] = reinterpret_cast(&(df_structure->unk_0)) - reinterpret_cast(df_structure); - p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); - p_table["unk_8"] = reinterpret_cast(&(df_structure->unk_8)) - reinterpret_cast(df_structure); - p_table["unk_c"] = reinterpret_cast(&(df_structure->unk_c)) - reinterpret_cast(df_structure); - p_table["unk_10"] = reinterpret_cast(&(df_structure->unk_10)) - reinterpret_cast(df_structure); - p_table["unk_14"] = reinterpret_cast(&(df_structure->unk_14)) - reinterpret_cast(df_structure); - p_table["unk_18"] = reinterpret_cast(&(df_structure->unk_18)) - reinterpret_cast(df_structure); - p_table["unk_1c"] = reinterpret_cast(&(df_structure->unk_1c)) - reinterpret_cast(df_structure); -} - -void generate_world_data__T_unk_170_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["index"] = reinterpret_cast(&(df_structure->index)) - reinterpret_cast(df_structure); - p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); - p_table["unk_14"] = reinterpret_cast(&(df_structure->unk_14)) - reinterpret_cast(df_structure); - p_table["x1"] = reinterpret_cast(&(df_structure->x1)) - reinterpret_cast(df_structure); - p_table["y1"] = reinterpret_cast(&(df_structure->y1)) - reinterpret_cast(df_structure); - p_table["x2"] = reinterpret_cast(&(df_structure->x2)) - reinterpret_cast(df_structure); - p_table["y2"] = reinterpret_cast(&(df_structure->y2)) - reinterpret_cast(df_structure); - p_table["unk_34"] = reinterpret_cast(&(df_structure->unk_34)) - reinterpret_cast(df_structure); - p_table["unk_38"] = reinterpret_cast(&(df_structure->unk_38)) - reinterpret_cast(df_structure); -} - -void generate_world_data__T_freakish_weather_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk_0"] = reinterpret_cast(&(df_structure->unk_0)) - reinterpret_cast(df_structure); - p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); - p_table["unk_10"] = reinterpret_cast(&(df_structure->unk_10)) - reinterpret_cast(df_structure); - p_table["region_x"] = reinterpret_cast(&(df_structure->region_x)) - reinterpret_cast(df_structure); - p_table["region_y"] = reinterpret_cast(&(df_structure->region_y)) - reinterpret_cast(df_structure); - p_table["unk_1c"] = reinterpret_cast(&(df_structure->unk_1c)) - reinterpret_cast(df_structure); - p_table["unk_20"] = reinterpret_cast(&(df_structure->unk_20)) - reinterpret_cast(df_structure); - p_table["unk_24"] = reinterpret_cast(&(df_structure->unk_24)) - reinterpret_cast(df_structure); - p_table["unk_28"] = reinterpret_cast(&(df_structure->unk_28)) - reinterpret_cast(df_structure); - p_table["unk_2c"] = reinterpret_cast(&(df_structure->unk_2c)) - reinterpret_cast(df_structure); - p_table["unk_30"] = reinterpret_cast(&(df_structure->unk_30)) - reinterpret_cast(df_structure); - p_table["unk_34"] = reinterpret_cast(&(df_structure->unk_34)) - reinterpret_cast(df_structure); -} - -void generate_world_data__T_mountain_peaks_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["pos"] = reinterpret_cast(&(df_structure->pos)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["height"] = reinterpret_cast(&(df_structure->height)) - reinterpret_cast(df_structure); -} - -void generate_world_data__T_feature_map__T_features_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["feature_init"] = reinterpret_cast(&(df_structure->feature_init)) - reinterpret_cast(df_structure); - p_table["unk"] = reinterpret_cast(&(df_structure->unk)) - reinterpret_cast(df_structure); -} - -void generate_world_data__T_feature_map_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["x"] = reinterpret_cast(&(df_structure->x)) - reinterpret_cast(df_structure); - p_table["y"] = reinterpret_cast(&(df_structure->y)) - reinterpret_cast(df_structure); - p_table["features"] = reinterpret_cast(&(df_structure->features)) - reinterpret_cast(df_structure); - p_table["unk_8"] = reinterpret_cast(&(df_structure->unk_8)) - reinterpret_cast(df_structure); - p_table["unk_c"] = reinterpret_cast(&(df_structure->unk_c)) - reinterpret_cast(df_structure); -} - -void generate_world_data__T_unk_274__T_unk_10_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk_0"] = reinterpret_cast(&(df_structure->unk_0)) - reinterpret_cast(df_structure); - p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); - p_table["unk_8"] = reinterpret_cast(&(df_structure->unk_8)) - reinterpret_cast(df_structure); -} - -void generate_world_data__T_unk_274_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["members"] = reinterpret_cast(&(df_structure->members)) - reinterpret_cast(df_structure); - p_table["unk_10"] = reinterpret_cast(&(df_structure->unk_10)) - reinterpret_cast(df_structure); - p_table["entity"] = reinterpret_cast(&(df_structure->entity)) - reinterpret_cast(df_structure); - p_table["unk_24"] = reinterpret_cast(&(df_structure->unk_24)) - reinterpret_cast(df_structure); - p_table["unk_region_name"] = reinterpret_cast(&(df_structure->unk_region_name)) - reinterpret_cast(df_structure); - p_table["unk_2c"] = reinterpret_cast(&(df_structure->unk_2c)) - reinterpret_cast(df_structure); - p_table["unk_30"] = reinterpret_cast(&(df_structure->unk_30)) - reinterpret_cast(df_structure); -} - -void generate_world_data__T_unk_482f8_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); - p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); -} - -void generate_world_data_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); - p_table["next_site_id"] = reinterpret_cast(&(df_structure->next_site_id)) - reinterpret_cast(df_structure); - p_table["next_site_unk136_id"] = reinterpret_cast(&(df_structure->next_site_unk136_id)) - reinterpret_cast(df_structure); - p_table["next_resource_allotment_id"] = reinterpret_cast(&(df_structure->next_resource_allotment_id)) - reinterpret_cast(df_structure); - p_table["next_unk_150_id"] = reinterpret_cast(&(df_structure->next_unk_150_id)) - reinterpret_cast(df_structure); - p_table["next_unk_170_id"] = reinterpret_cast(&(df_structure->next_unk_170_id)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["world_width"] = reinterpret_cast(&(df_structure->world_width)) - reinterpret_cast(df_structure); - p_table["world_height"] = reinterpret_cast(&(df_structure->world_height)) - reinterpret_cast(df_structure); - p_table["unk_78"] = reinterpret_cast(&(df_structure->unk_78)) - reinterpret_cast(df_structure); - p_table["moon_phase"] = reinterpret_cast(&(df_structure->moon_phase)) - reinterpret_cast(df_structure); - p_table["flip_latitude"] = reinterpret_cast(&(df_structure->flip_latitude)) - reinterpret_cast(df_structure); - p_table["flip_longitude"] = reinterpret_cast(&(df_structure->flip_longitude)) - reinterpret_cast(df_structure); - p_table["unk_84"] = reinterpret_cast(&(df_structure->unk_84)) - reinterpret_cast(df_structure); - p_table["unk_86"] = reinterpret_cast(&(df_structure->unk_86)) - reinterpret_cast(df_structure); - p_table["unk_88"] = reinterpret_cast(&(df_structure->unk_88)) - reinterpret_cast(df_structure); - p_table["unk_8a"] = reinterpret_cast(&(df_structure->unk_8a)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["unk_b4"] = reinterpret_cast(&(df_structure->unk_b4)) - reinterpret_cast(df_structure); - p_table["region_details"] = reinterpret_cast(&(df_structure->region_details)) - reinterpret_cast(df_structure); - p_table["adv_region_x"] = reinterpret_cast(&(df_structure->adv_region_x)) - reinterpret_cast(df_structure); - p_table["adv_region_y"] = reinterpret_cast(&(df_structure->adv_region_y)) - reinterpret_cast(df_structure); - p_table["adv_emb_x"] = reinterpret_cast(&(df_structure->adv_emb_x)) - reinterpret_cast(df_structure); - p_table["adv_emb_y"] = reinterpret_cast(&(df_structure->adv_emb_y)) - reinterpret_cast(df_structure); - p_table["unk_x1"] = reinterpret_cast(&(df_structure->unk_x1)) - reinterpret_cast(df_structure); - p_table["unk_y1"] = reinterpret_cast(&(df_structure->unk_y1)) - reinterpret_cast(df_structure); - p_table["unk_x2"] = reinterpret_cast(&(df_structure->unk_x2)) - reinterpret_cast(df_structure); - p_table["unk_y2"] = reinterpret_cast(&(df_structure->unk_y2)) - reinterpret_cast(df_structure); - p_table["constructions"] = reinterpret_cast(&(df_structure->constructions)) - reinterpret_cast(df_structure); - p_table["entity_claims1"] = reinterpret_cast(&(df_structure->entity_claims1)) - reinterpret_cast(df_structure); - p_table["entity_claims2"] = reinterpret_cast(&(df_structure->entity_claims2)) - reinterpret_cast(df_structure); - p_table["sites"] = reinterpret_cast(&(df_structure->sites)) - reinterpret_cast(df_structure); - p_table["site_unk130"] = reinterpret_cast(&(df_structure->site_unk130)) - reinterpret_cast(df_structure); - p_table["resource_allotments"] = reinterpret_cast(&(df_structure->resource_allotments)) - reinterpret_cast(df_structure); - p_table["unk_150"] = reinterpret_cast(&(df_structure->unk_150)) - reinterpret_cast(df_structure); - p_table["unk_170"] = reinterpret_cast(&(df_structure->unk_170)) - reinterpret_cast(df_structure); - p_table["freakish_weather"] = reinterpret_cast(&(df_structure->freakish_weather)) - reinterpret_cast(df_structure); - p_table["object_data"] = reinterpret_cast(&(df_structure->object_data)) - reinterpret_cast(df_structure); - p_table["landmasses"] = reinterpret_cast(&(df_structure->landmasses)) - reinterpret_cast(df_structure); - p_table["regions"] = reinterpret_cast(&(df_structure->regions)) - reinterpret_cast(df_structure); - p_table["underground_regions"] = reinterpret_cast(&(df_structure->underground_regions)) - reinterpret_cast(df_structure); - p_table["geo_biomes"] = reinterpret_cast(&(df_structure->geo_biomes)) - reinterpret_cast(df_structure); - p_table["mountain_peaks"] = reinterpret_cast(&(df_structure->mountain_peaks)) - reinterpret_cast(df_structure); - p_table["rivers"] = reinterpret_cast(&(df_structure->rivers)) - reinterpret_cast(df_structure); - p_table["region_map"] = reinterpret_cast(&(df_structure->region_map)) - reinterpret_cast(df_structure); - p_table["unk_1c4"] = reinterpret_cast(&(df_structure->unk_1c4)) - reinterpret_cast(df_structure); - p_table["unk_1c8"] = reinterpret_cast(&(df_structure->unk_1c8)) - reinterpret_cast(df_structure); - p_table["embark_notes"] = reinterpret_cast(&(df_structure->embark_notes)) - reinterpret_cast(df_structure); - p_table["unk_1dc"] = reinterpret_cast(&(df_structure->unk_1dc)) - reinterpret_cast(df_structure); - p_table["unk_1e0"] = reinterpret_cast(&(df_structure->unk_1e0)) - reinterpret_cast(df_structure); - p_table["unk_1e4"] = reinterpret_cast(&(df_structure->unk_1e4)) - reinterpret_cast(df_structure); - p_table["unk_1e8"] = reinterpret_cast(&(df_structure->unk_1e8)) - reinterpret_cast(df_structure); - p_table["unk_1ec"] = reinterpret_cast(&(df_structure->unk_1ec)) - reinterpret_cast(df_structure); - p_table["unk_1f0"] = reinterpret_cast(&(df_structure->unk_1f0)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); - p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); - p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); - p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); - p_table["anon_11"] = reinterpret_cast(&(df_structure->anon_11)) - reinterpret_cast(df_structure); - p_table["anon_12"] = reinterpret_cast(&(df_structure->anon_12)) - reinterpret_cast(df_structure); - p_table["anon_13"] = reinterpret_cast(&(df_structure->anon_13)) - reinterpret_cast(df_structure); - p_table["anon_14"] = reinterpret_cast(&(df_structure->anon_14)) - reinterpret_cast(df_structure); - p_table["anon_15"] = reinterpret_cast(&(df_structure->anon_15)) - reinterpret_cast(df_structure); - p_table["anon_16"] = reinterpret_cast(&(df_structure->anon_16)) - reinterpret_cast(df_structure); - p_table["anon_17"] = reinterpret_cast(&(df_structure->anon_17)) - reinterpret_cast(df_structure); - p_table["anon_18"] = reinterpret_cast(&(df_structure->anon_18)) - reinterpret_cast(df_structure); - p_table["anon_19"] = reinterpret_cast(&(df_structure->anon_19)) - reinterpret_cast(df_structure); - p_table["anon_20"] = reinterpret_cast(&(df_structure->anon_20)) - reinterpret_cast(df_structure); - p_table["anon_21"] = reinterpret_cast(&(df_structure->anon_21)) - reinterpret_cast(df_structure); - p_table["anon_22"] = reinterpret_cast(&(df_structure->anon_22)) - reinterpret_cast(df_structure); - p_table["active_site"] = reinterpret_cast(&(df_structure->active_site)) - reinterpret_cast(df_structure); - p_table["feature_map"] = reinterpret_cast(&(df_structure->feature_map)) - reinterpret_cast(df_structure); - p_table["old_sites"] = reinterpret_cast(&(df_structure->old_sites)) - reinterpret_cast(df_structure); - p_table["old_site_x"] = reinterpret_cast(&(df_structure->old_site_x)) - reinterpret_cast(df_structure); - p_table["old_site_y"] = reinterpret_cast(&(df_structure->old_site_y)) - reinterpret_cast(df_structure); - p_table["land_rgns"] = reinterpret_cast(&(df_structure->land_rgns)) - reinterpret_cast(df_structure); - p_table["unk_260"] = reinterpret_cast(&(df_structure->unk_260)) - reinterpret_cast(df_structure); - p_table["unk_264"] = reinterpret_cast(&(df_structure->unk_264)) - reinterpret_cast(df_structure); - p_table["unk_268"] = reinterpret_cast(&(df_structure->unk_268)) - reinterpret_cast(df_structure); - p_table["unk_26c"] = reinterpret_cast(&(df_structure->unk_26c)) - reinterpret_cast(df_structure); - p_table["unk_270"] = reinterpret_cast(&(df_structure->unk_270)) - reinterpret_cast(df_structure); - p_table["unk_274"] = reinterpret_cast(&(df_structure->unk_274)) - reinterpret_cast(df_structure); - p_table["unk_482f8"] = reinterpret_cast(&(df_structure->unk_482f8)) - reinterpret_cast(df_structure); -} - -void generate_site_reputation_info_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["reports"] = reinterpret_cast(&(df_structure->reports)) - reinterpret_cast(df_structure); -} - -void generate_location_scribe_jobs_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["scribejobs"] = reinterpret_cast(&(df_structure->scribejobs)) - reinterpret_cast(df_structure); - p_table["nextidmaybe"] = reinterpret_cast(&(df_structure->nextidmaybe)) - reinterpret_cast(df_structure); - p_table["year"] = reinterpret_cast(&(df_structure->year)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); -} - -void generate_abstract_building_unk__T_anon_1_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); -} - -void generate_abstract_building_unk_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["histfigs"] = reinterpret_cast(&(df_structure->histfigs)) - reinterpret_cast(df_structure); -} - -void generate_abstract_building__T_inhabitants_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["histfig_id"] = reinterpret_cast(&(df_structure->histfig_id)) - reinterpret_cast(df_structure); -} - -void generate_abstract_building__T_unk1_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["hfig"] = reinterpret_cast(&(df_structure->hfig)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); -} - -void generate_abstract_building_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["inhabitants"] = reinterpret_cast(&(df_structure->inhabitants)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); - p_table["unk2"] = reinterpret_cast(&(df_structure->unk2)) - reinterpret_cast(df_structure); - p_table["unk3"] = reinterpret_cast(&(df_structure->unk3)) - reinterpret_cast(df_structure); - p_table["unk4"] = reinterpret_cast(&(df_structure->unk4)) - reinterpret_cast(df_structure); - p_table["site_owner_id"] = reinterpret_cast(&(df_structure->site_owner_id)) - reinterpret_cast(df_structure); - p_table["scribeinfo"] = reinterpret_cast(&(df_structure->scribeinfo)) - reinterpret_cast(df_structure); - p_table["reputation_reports"] = reinterpret_cast(&(df_structure->reputation_reports)) - reinterpret_cast(df_structure); - p_table["unk_v42_3"] = reinterpret_cast(&(df_structure->unk_v42_3)) - reinterpret_cast(df_structure); - p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); - p_table["pos"] = reinterpret_cast(&(df_structure->pos)) - reinterpret_cast(df_structure); - p_table["occupations"] = reinterpret_cast(&(df_structure->occupations)) - reinterpret_cast(df_structure); -} - -void generate_abstract_building_keepst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); -} - -void generate_abstract_building_templest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["deity"] = reinterpret_cast(&(df_structure->deity)) - reinterpret_cast(df_structure); - p_table["religion"] = reinterpret_cast(&(df_structure->religion)) - reinterpret_cast(df_structure); - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["contents"] = reinterpret_cast(&(df_structure->contents)) - reinterpret_cast(df_structure); -} - -void generate_abstract_building_dark_towerst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); -} - -void generate_abstract_building_marketst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); -} - -void generate_abstract_building_tombst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["unk"] = reinterpret_cast(&(df_structure->unk)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_abstract_building_dungeonst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["dungeon_type"] = reinterpret_cast(&(df_structure->dungeon_type)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["unk"] = reinterpret_cast(&(df_structure->unk)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); -} - -void generate_abstract_building_underworld_spirest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["unk_bc"] = reinterpret_cast(&(df_structure->unk_bc)) - reinterpret_cast(df_structure); -} - -void generate_abstract_building_inn_tavernst__T_room_info_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["world_x"] = reinterpret_cast(&(df_structure->world_x)) - reinterpret_cast(df_structure); - p_table["world_y"] = reinterpret_cast(&(df_structure->world_y)) - reinterpret_cast(df_structure); - p_table["world_z"] = reinterpret_cast(&(df_structure->world_z)) - reinterpret_cast(df_structure); -} - -void generate_abstract_building_inn_tavernst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["contents"] = reinterpret_cast(&(df_structure->contents)) - reinterpret_cast(df_structure); - p_table["room_info"] = reinterpret_cast(&(df_structure->room_info)) - reinterpret_cast(df_structure); - p_table["next_room_info_id"] = reinterpret_cast(&(df_structure->next_room_info_id)) - reinterpret_cast(df_structure); -} - -void generate_abstract_building_libraryst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["contents"] = reinterpret_cast(&(df_structure->contents)) - reinterpret_cast(df_structure); -} - -void generate_world_site__T_unk_1__T_units_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unit_id"] = reinterpret_cast(&(df_structure->unit_id)) - reinterpret_cast(df_structure); - p_table["pos_x"] = reinterpret_cast(&(df_structure->pos_x)) - reinterpret_cast(df_structure); - p_table["pos_y"] = reinterpret_cast(&(df_structure->pos_y)) - reinterpret_cast(df_structure); - p_table["pos_z"] = reinterpret_cast(&(df_structure->pos_z)) - reinterpret_cast(df_structure); - p_table["unk_10"] = reinterpret_cast(&(df_structure->unk_10)) - reinterpret_cast(df_structure); -} - -void generate_world_site__T_unk_1_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["nemesis"] = reinterpret_cast(&(df_structure->nemesis)) - reinterpret_cast(df_structure); - p_table["artifacts"] = reinterpret_cast(&(df_structure->artifacts)) - reinterpret_cast(df_structure); - p_table["animals"] = reinterpret_cast(&(df_structure->animals)) - reinterpret_cast(df_structure); - p_table["inhabitants"] = reinterpret_cast(&(df_structure->inhabitants)) - reinterpret_cast(df_structure); - p_table["units"] = reinterpret_cast(&(df_structure->units)) - reinterpret_cast(df_structure); - p_table["unk_d4"] = reinterpret_cast(&(df_structure->unk_d4)) - reinterpret_cast(df_structure); - p_table["unk_v40_1a"] = reinterpret_cast(&(df_structure->unk_v40_1a)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["unk_v40_1b"] = reinterpret_cast(&(df_structure->unk_v40_1b)) - reinterpret_cast(df_structure); - p_table["unk_v40_1c"] = reinterpret_cast(&(df_structure->unk_v40_1c)) - reinterpret_cast(df_structure); - p_table["unk_v40_1d"] = reinterpret_cast(&(df_structure->unk_v40_1d)) - reinterpret_cast(df_structure); - p_table["unk_v40_1e"] = reinterpret_cast(&(df_structure->unk_v40_1e)) - reinterpret_cast(df_structure); - p_table["unk_v40_1f"] = reinterpret_cast(&(df_structure->unk_v40_1f)) - reinterpret_cast(df_structure); - p_table["unk_v40_1g"] = reinterpret_cast(&(df_structure->unk_v40_1g)) - reinterpret_cast(df_structure); - p_table["unk_v40_1h"] = reinterpret_cast(&(df_structure->unk_v40_1h)) - reinterpret_cast(df_structure); -} - -void generate_world_site__T_unk_118_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); -} - -void generate_world_site__T_unk_13c_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk_0"] = reinterpret_cast(&(df_structure->unk_0)) - reinterpret_cast(df_structure); - p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); - p_table["unk_8"] = reinterpret_cast(&(df_structure->unk_8)) - reinterpret_cast(df_structure); - p_table["unk_c"] = reinterpret_cast(&(df_structure->unk_c)) - reinterpret_cast(df_structure); - p_table["unk_10"] = reinterpret_cast(&(df_structure->unk_10)) - reinterpret_cast(df_structure); - p_table["unk_20"] = reinterpret_cast(&(df_structure->unk_20)) - reinterpret_cast(df_structure); - p_table["unk_30"] = reinterpret_cast(&(df_structure->unk_30)) - reinterpret_cast(df_structure); -} - -void generate_world_site__T_unk_v40_2_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk_0"] = reinterpret_cast(&(df_structure->unk_0)) - reinterpret_cast(df_structure); - p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); - p_table["unk_8"] = reinterpret_cast(&(df_structure->unk_8)) - reinterpret_cast(df_structure); - p_table["unk_c"] = reinterpret_cast(&(df_structure->unk_c)) - reinterpret_cast(df_structure); - p_table["unk_10"] = reinterpret_cast(&(df_structure->unk_10)) - reinterpret_cast(df_structure); - p_table["unk_20"] = reinterpret_cast(&(df_structure->unk_20)) - reinterpret_cast(df_structure); - p_table["unk_30"] = reinterpret_cast(&(df_structure->unk_30)) - reinterpret_cast(df_structure); -} - -void generate_world_site__T_subtype_info_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["is_tower"] = reinterpret_cast(&(df_structure->is_tower)) - reinterpret_cast(df_structure); - p_table["is_monument"] = reinterpret_cast(&(df_structure->is_monument)) - reinterpret_cast(df_structure); - p_table["lair_type"] = reinterpret_cast(&(df_structure->lair_type)) - reinterpret_cast(df_structure); - p_table["unk_8"] = reinterpret_cast(&(df_structure->unk_8)) - reinterpret_cast(df_structure); - p_table["unk_14"] = reinterpret_cast(&(df_structure->unk_14)) - reinterpret_cast(df_structure); - p_table["unk_18"] = reinterpret_cast(&(df_structure->unk_18)) - reinterpret_cast(df_structure); - p_table["unk_1c"] = reinterpret_cast(&(df_structure->unk_1c)) - reinterpret_cast(df_structure); - p_table["creator"] = reinterpret_cast(&(df_structure->creator)) - reinterpret_cast(df_structure); - p_table["unk_28"] = reinterpret_cast(&(df_structure->unk_28)) - reinterpret_cast(df_structure); -} - -void generate_world_site__T_unk_21c_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk_0"] = reinterpret_cast(&(df_structure->unk_0)) - reinterpret_cast(df_structure); - p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); - p_table["entity_id"] = reinterpret_cast(&(df_structure->entity_id)) - reinterpret_cast(df_structure); - p_table["unk_c"] = reinterpret_cast(&(df_structure->unk_c)) - reinterpret_cast(df_structure); - p_table["unk_10"] = reinterpret_cast(&(df_structure->unk_10)) - reinterpret_cast(df_structure); - p_table["unk_14"] = reinterpret_cast(&(df_structure->unk_14)) - reinterpret_cast(df_structure); - p_table["unk_18"] = reinterpret_cast(&(df_structure->unk_18)) - reinterpret_cast(df_structure); - p_table["unk_1c"] = reinterpret_cast(&(df_structure->unk_1c)) - reinterpret_cast(df_structure); -} - -void generate_world_site__T_unk_v40_4a_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk_0"] = reinterpret_cast(&(df_structure->unk_0)) - reinterpret_cast(df_structure); - p_table["entity_id"] = reinterpret_cast(&(df_structure->entity_id)) - reinterpret_cast(df_structure); - p_table["year"] = reinterpret_cast(&(df_structure->year)) - reinterpret_cast(df_structure); - p_table["year_tick"] = reinterpret_cast(&(df_structure->year_tick)) - reinterpret_cast(df_structure); - p_table["unk_10"] = reinterpret_cast(&(df_structure->unk_10)) - reinterpret_cast(df_structure); - p_table["unk_14"] = reinterpret_cast(&(df_structure->unk_14)) - reinterpret_cast(df_structure); -} - -void generate_world_site__T_unk_v40_4b_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); -} - -void generate_world_site__T_unk_v40_4c_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); -} - -void generate_world_site__T_unk_v40_4d__T_anon_2_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); - p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); -} - -void generate_world_site__T_unk_v40_4d_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); -} - -void generate_world_site__T_unk_v43_2_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); - p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); - p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); - p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); - p_table["anon_11"] = reinterpret_cast(&(df_structure->anon_11)) - reinterpret_cast(df_structure); - p_table["anon_12"] = reinterpret_cast(&(df_structure->anon_12)) - reinterpret_cast(df_structure); - p_table["anon_13"] = reinterpret_cast(&(df_structure->anon_13)) - reinterpret_cast(df_structure); - p_table["anon_14"] = reinterpret_cast(&(df_structure->anon_14)) - reinterpret_cast(df_structure); - p_table["anon_15"] = reinterpret_cast(&(df_structure->anon_15)) - reinterpret_cast(df_structure); - p_table["anon_16"] = reinterpret_cast(&(df_structure->anon_16)) - reinterpret_cast(df_structure); - p_table["anon_17"] = reinterpret_cast(&(df_structure->anon_17)) - reinterpret_cast(df_structure); -} - -void generate_world_site__T_unk_188__T_unk1_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); -} - -void generate_world_site__T_unk_188_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); -} - -void generate_world_site_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["civ_id"] = reinterpret_cast(&(df_structure->civ_id)) - reinterpret_cast(df_structure); - p_table["cur_owner_id"] = reinterpret_cast(&(df_structure->cur_owner_id)) - reinterpret_cast(df_structure); - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["pos"] = reinterpret_cast(&(df_structure->pos)) - reinterpret_cast(df_structure); - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["unk_1"] = reinterpret_cast(&(df_structure->unk_1)) - reinterpret_cast(df_structure); - p_table["index"] = reinterpret_cast(&(df_structure->index)) - reinterpret_cast(df_structure); - p_table["rgn_min_x"] = reinterpret_cast(&(df_structure->rgn_min_x)) - reinterpret_cast(df_structure); - p_table["rgn_max_x"] = reinterpret_cast(&(df_structure->rgn_max_x)) - reinterpret_cast(df_structure); - p_table["rgn_min_y"] = reinterpret_cast(&(df_structure->rgn_min_y)) - reinterpret_cast(df_structure); - p_table["rgn_max_y"] = reinterpret_cast(&(df_structure->rgn_max_y)) - reinterpret_cast(df_structure); - p_table["rgn_min_z"] = reinterpret_cast(&(df_structure->rgn_min_z)) - reinterpret_cast(df_structure); - p_table["rgn_max_z"] = reinterpret_cast(&(df_structure->rgn_max_z)) - reinterpret_cast(df_structure); - p_table["global_min_x"] = reinterpret_cast(&(df_structure->global_min_x)) - reinterpret_cast(df_structure); - p_table["global_min_y"] = reinterpret_cast(&(df_structure->global_min_y)) - reinterpret_cast(df_structure); - p_table["global_max_x"] = reinterpret_cast(&(df_structure->global_max_x)) - reinterpret_cast(df_structure); - p_table["global_max_y"] = reinterpret_cast(&(df_structure->global_max_y)) - reinterpret_cast(df_structure); - p_table["seed1"] = reinterpret_cast(&(df_structure->seed1)) - reinterpret_cast(df_structure); - p_table["seed2"] = reinterpret_cast(&(df_structure->seed2)) - reinterpret_cast(df_structure); - p_table["resident_count"] = reinterpret_cast(&(df_structure->resident_count)) - reinterpret_cast(df_structure); - p_table["unk_110"] = reinterpret_cast(&(df_structure->unk_110)) - reinterpret_cast(df_structure); - p_table["unk_114"] = reinterpret_cast(&(df_structure->unk_114)) - reinterpret_cast(df_structure); - p_table["unk_118"] = reinterpret_cast(&(df_structure->unk_118)) - reinterpret_cast(df_structure); - p_table["unk_11c"] = reinterpret_cast(&(df_structure->unk_11c)) - reinterpret_cast(df_structure); - p_table["unk_120"] = reinterpret_cast(&(df_structure->unk_120)) - reinterpret_cast(df_structure); - p_table["unk_124"] = reinterpret_cast(&(df_structure->unk_124)) - reinterpret_cast(df_structure); - p_table["unk_128"] = reinterpret_cast(&(df_structure->unk_128)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["unk_13c"] = reinterpret_cast(&(df_structure->unk_13c)) - reinterpret_cast(df_structure); - p_table["unk_v40_2"] = reinterpret_cast(&(df_structure->unk_v40_2)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["buildings"] = reinterpret_cast(&(df_structure->buildings)) - reinterpret_cast(df_structure); - p_table["next_building_id"] = reinterpret_cast(&(df_structure->next_building_id)) - reinterpret_cast(df_structure); - p_table["created_tick"] = reinterpret_cast(&(df_structure->created_tick)) - reinterpret_cast(df_structure); - p_table["created_year"] = reinterpret_cast(&(df_structure->created_year)) - reinterpret_cast(df_structure); - p_table["unk_170"] = reinterpret_cast(&(df_structure->unk_170)) - reinterpret_cast(df_structure); - p_table["unk_174"] = reinterpret_cast(&(df_structure->unk_174)) - reinterpret_cast(df_structure); - p_table["unk_178"] = reinterpret_cast(&(df_structure->unk_178)) - reinterpret_cast(df_structure); - p_table["realization"] = reinterpret_cast(&(df_structure->realization)) - reinterpret_cast(df_structure); - p_table["subtype_info"] = reinterpret_cast(&(df_structure->subtype_info)) - reinterpret_cast(df_structure); - p_table["unk_21c"] = reinterpret_cast(&(df_structure->unk_21c)) - reinterpret_cast(df_structure); - p_table["unk_22c"] = reinterpret_cast(&(df_structure->unk_22c)) - reinterpret_cast(df_structure); - p_table["is_mountain_halls"] = reinterpret_cast(&(df_structure->is_mountain_halls)) - reinterpret_cast(df_structure); - p_table["is_fortress"] = reinterpret_cast(&(df_structure->is_fortress)) - reinterpret_cast(df_structure); - p_table["unk_v40_4a"] = reinterpret_cast(&(df_structure->unk_v40_4a)) - reinterpret_cast(df_structure); - p_table["unk_v40_4b"] = reinterpret_cast(&(df_structure->unk_v40_4b)) - reinterpret_cast(df_structure); - p_table["unk_v40_4c"] = reinterpret_cast(&(df_structure->unk_v40_4c)) - reinterpret_cast(df_structure); - p_table["unk_v40_4d"] = reinterpret_cast(&(df_structure->unk_v40_4d)) - reinterpret_cast(df_structure); - p_table["unk_v43_1"] = reinterpret_cast(&(df_structure->unk_v43_1)) - reinterpret_cast(df_structure); - p_table["unk_v43_2"] = reinterpret_cast(&(df_structure->unk_v43_2)) - reinterpret_cast(df_structure); - p_table["unk_v43_3"] = reinterpret_cast(&(df_structure->unk_v43_3)) - reinterpret_cast(df_structure); - p_table["unk_v40_5"] = reinterpret_cast(&(df_structure->unk_v40_5)) - reinterpret_cast(df_structure); - p_table["unk_188"] = reinterpret_cast(&(df_structure->unk_188)) - reinterpret_cast(df_structure); - p_table["unk_3a8"] = reinterpret_cast(&(df_structure->unk_3a8)) - reinterpret_cast(df_structure); - p_table["unk_3b0"] = reinterpret_cast(&(df_structure->unk_3b0)) - reinterpret_cast(df_structure); - p_table["unk_18c"] = reinterpret_cast(&(df_structure->unk_18c)) - reinterpret_cast(df_structure); - p_table["unk_19c"] = reinterpret_cast(&(df_structure->unk_19c)) - reinterpret_cast(df_structure); - p_table["entity_links"] = reinterpret_cast(&(df_structure->entity_links)) - reinterpret_cast(df_structure); - p_table["cultural_identities"] = reinterpret_cast(&(df_structure->cultural_identities)) - reinterpret_cast(df_structure); - p_table["unk_v42_1"] = reinterpret_cast(&(df_structure->unk_v42_1)) - reinterpret_cast(df_structure); - p_table["unk_v43_4"] = reinterpret_cast(&(df_structure->unk_v43_4)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); -} - -void generate_cultural_identity__T_group_log_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["group_id"] = reinterpret_cast(&(df_structure->group_id)) - reinterpret_cast(df_structure); - p_table["start_year"] = reinterpret_cast(&(df_structure->start_year)) - reinterpret_cast(df_structure); - p_table["start_tick"] = reinterpret_cast(&(df_structure->start_tick)) - reinterpret_cast(df_structure); - p_table["end_year"] = reinterpret_cast(&(df_structure->end_year)) - reinterpret_cast(df_structure); - p_table["end_tick"] = reinterpret_cast(&(df_structure->end_tick)) - reinterpret_cast(df_structure); - p_table["unk_14"] = reinterpret_cast(&(df_structure->unk_14)) - reinterpret_cast(df_structure); - p_table["unk_18"] = reinterpret_cast(&(df_structure->unk_18)) - reinterpret_cast(df_structure); - p_table["join_type"] = reinterpret_cast(&(df_structure->join_type)) - reinterpret_cast(df_structure); - p_table["unk_20"] = reinterpret_cast(&(df_structure->unk_20)) - reinterpret_cast(df_structure); - p_table["unk_24"] = reinterpret_cast(&(df_structure->unk_24)) - reinterpret_cast(df_structure); - p_table["unk_34"] = reinterpret_cast(&(df_structure->unk_34)) - reinterpret_cast(df_structure); - p_table["unk_44"] = reinterpret_cast(&(df_structure->unk_44)) - reinterpret_cast(df_structure); -} - -void generate_cultural_identity_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); - p_table["civ_id"] = reinterpret_cast(&(df_structure->civ_id)) - reinterpret_cast(df_structure); - p_table["group_log"] = reinterpret_cast(&(df_structure->group_log)) - reinterpret_cast(df_structure); - p_table["ethic"] = reinterpret_cast(&(df_structure->ethic)) - reinterpret_cast(df_structure); - p_table["values"] = reinterpret_cast(&(df_structure->values)) - reinterpret_cast(df_structure); - p_table["events"] = reinterpret_cast(&(df_structure->events)) - reinterpret_cast(df_structure); - p_table["unk_d8"] = reinterpret_cast(&(df_structure->unk_d8)) - reinterpret_cast(df_structure); - p_table["unk_dc"] = reinterpret_cast(&(df_structure->unk_dc)) - reinterpret_cast(df_structure); - p_table["unk_ec"] = reinterpret_cast(&(df_structure->unk_ec)) - reinterpret_cast(df_structure); - p_table["unk_f0"] = reinterpret_cast(&(df_structure->unk_f0)) - reinterpret_cast(df_structure); - p_table["unk_f4"] = reinterpret_cast(&(df_structure->unk_f4)) - reinterpret_cast(df_structure); - p_table["unk_f8"] = reinterpret_cast(&(df_structure->unk_f8)) - reinterpret_cast(df_structure); -} - -void generate_site_realization_crossroads_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["road_min_y"] = reinterpret_cast(&(df_structure->road_min_y)) - reinterpret_cast(df_structure); - p_table["road_max_y"] = reinterpret_cast(&(df_structure->road_max_y)) - reinterpret_cast(df_structure); - p_table["road_min_x"] = reinterpret_cast(&(df_structure->road_min_x)) - reinterpret_cast(df_structure); - p_table["road_max_x"] = reinterpret_cast(&(df_structure->road_max_x)) - reinterpret_cast(df_structure); - p_table["idx_x"] = reinterpret_cast(&(df_structure->idx_x)) - reinterpret_cast(df_structure); - p_table["idx_y"] = reinterpret_cast(&(df_structure->idx_y)) - reinterpret_cast(df_structure); - p_table["tile_width"] = reinterpret_cast(&(df_structure->tile_width)) - reinterpret_cast(df_structure); - p_table["tile_height"] = reinterpret_cast(&(df_structure->tile_height)) - reinterpret_cast(df_structure); - p_table["unk_310"] = reinterpret_cast(&(df_structure->unk_310)) - reinterpret_cast(df_structure); - p_table["unk_314"] = reinterpret_cast(&(df_structure->unk_314)) - reinterpret_cast(df_structure); - p_table["unk_318"] = reinterpret_cast(&(df_structure->unk_318)) - reinterpret_cast(df_structure); - p_table["unk_31c"] = reinterpret_cast(&(df_structure->unk_31c)) - reinterpret_cast(df_structure); - p_table["unk_320"] = reinterpret_cast(&(df_structure->unk_320)) - reinterpret_cast(df_structure); - p_table["unk_324"] = reinterpret_cast(&(df_structure->unk_324)) - reinterpret_cast(df_structure); - p_table["unk_328"] = reinterpret_cast(&(df_structure->unk_328)) - reinterpret_cast(df_structure); - p_table["unk_32c"] = reinterpret_cast(&(df_structure->unk_32c)) - reinterpret_cast(df_structure); - p_table["center_x_tile"] = reinterpret_cast(&(df_structure->center_x_tile)) - reinterpret_cast(df_structure); - p_table["center_y_tile"] = reinterpret_cast(&(df_structure->center_y_tile)) - reinterpret_cast(df_structure); - p_table["up"] = reinterpret_cast(&(df_structure->up)) - reinterpret_cast(df_structure); - p_table["down"] = reinterpret_cast(&(df_structure->down)) - reinterpret_cast(df_structure); - p_table["right"] = reinterpret_cast(&(df_structure->right)) - reinterpret_cast(df_structure); - p_table["left"] = reinterpret_cast(&(df_structure->left)) - reinterpret_cast(df_structure); - p_table["unk_348"] = reinterpret_cast(&(df_structure->unk_348)) - reinterpret_cast(df_structure); - p_table["unk_349"] = reinterpret_cast(&(df_structure->unk_349)) - reinterpret_cast(df_structure); - p_table["unk_34c"] = reinterpret_cast(&(df_structure->unk_34c)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["unk_356"] = reinterpret_cast(&(df_structure->unk_356)) - reinterpret_cast(df_structure); -} - -void generate_site_building_item_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); - p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); - p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); - p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); - p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); -} - -void generate_abstract_building_mead_hallst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["item1"] = reinterpret_cast(&(df_structure->item1)) - reinterpret_cast(df_structure); - p_table["item2"] = reinterpret_cast(&(df_structure->item2)) - reinterpret_cast(df_structure); -} - -void generate_site_realization_building__T_unk_4c_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk_0"] = reinterpret_cast(&(df_structure->unk_0)) - reinterpret_cast(df_structure); - p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); - p_table["owner"] = reinterpret_cast(&(df_structure->owner)) - reinterpret_cast(df_structure); - p_table["unk_c"] = reinterpret_cast(&(df_structure->unk_c)) - reinterpret_cast(df_structure); - p_table["unk_10"] = reinterpret_cast(&(df_structure->unk_10)) - reinterpret_cast(df_structure); - p_table["unk_14"] = reinterpret_cast(&(df_structure->unk_14)) - reinterpret_cast(df_structure); -} - -void generate_site_realization_building_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["min_x"] = reinterpret_cast(&(df_structure->min_x)) - reinterpret_cast(df_structure); - p_table["min_y"] = reinterpret_cast(&(df_structure->min_y)) - reinterpret_cast(df_structure); - p_table["max_x"] = reinterpret_cast(&(df_structure->max_x)) - reinterpret_cast(df_structure); - p_table["max_y"] = reinterpret_cast(&(df_structure->max_y)) - reinterpret_cast(df_structure); - p_table["unk_18"] = reinterpret_cast(&(df_structure->unk_18)) - reinterpret_cast(df_structure); - p_table["inhabitants"] = reinterpret_cast(&(df_structure->inhabitants)) - reinterpret_cast(df_structure); - p_table["unk_2c"] = reinterpret_cast(&(df_structure->unk_2c)) - reinterpret_cast(df_structure); - p_table["item"] = reinterpret_cast(&(df_structure->item)) - reinterpret_cast(df_structure); - p_table["abstract_building_id"] = reinterpret_cast(&(df_structure->abstract_building_id)) - reinterpret_cast(df_structure); - p_table["unk_44"] = reinterpret_cast(&(df_structure->unk_44)) - reinterpret_cast(df_structure); - p_table["building_info"] = reinterpret_cast(&(df_structure->building_info)) - reinterpret_cast(df_structure); - p_table["unk_4c"] = reinterpret_cast(&(df_structure->unk_4c)) - reinterpret_cast(df_structure); - p_table["unk_5c"] = reinterpret_cast(&(df_structure->unk_5c)) - reinterpret_cast(df_structure); - p_table["unk_60"] = reinterpret_cast(&(df_structure->unk_60)) - reinterpret_cast(df_structure); - p_table["unk_v40_1"] = reinterpret_cast(&(df_structure->unk_v40_1)) - reinterpret_cast(df_structure); -} - -void generate_world_site_realization__T_river_map_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["start"] = reinterpret_cast(&(df_structure->start)) - reinterpret_cast(df_structure); - p_table["end"] = reinterpret_cast(&(df_structure->end)) - reinterpret_cast(df_structure); - p_table["unk_180"] = reinterpret_cast(&(df_structure->unk_180)) - reinterpret_cast(df_structure); - p_table["unk_184"] = reinterpret_cast(&(df_structure->unk_184)) - reinterpret_cast(df_structure); - p_table["start_array_limits"] = reinterpret_cast(&(df_structure->start_array_limits)) - reinterpret_cast(df_structure); - p_table["end_array_limits"] = reinterpret_cast(&(df_structure->end_array_limits)) - reinterpret_cast(df_structure); -} - -void generate_world_site_realization__T_unk_55e8__T_unk_v40_2_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk_0"] = reinterpret_cast(&(df_structure->unk_0)) - reinterpret_cast(df_structure); - p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); - p_table["unk_8"] = reinterpret_cast(&(df_structure->unk_8)) - reinterpret_cast(df_structure); - p_table["unk_a"] = reinterpret_cast(&(df_structure->unk_a)) - reinterpret_cast(df_structure); - p_table["unk_c"] = reinterpret_cast(&(df_structure->unk_c)) - reinterpret_cast(df_structure); - p_table["unk_10"] = reinterpret_cast(&(df_structure->unk_10)) - reinterpret_cast(df_structure); - p_table["unk_14"] = reinterpret_cast(&(df_structure->unk_14)) - reinterpret_cast(df_structure); - p_table["unk_16"] = reinterpret_cast(&(df_structure->unk_16)) - reinterpret_cast(df_structure); - p_table["unk_18"] = reinterpret_cast(&(df_structure->unk_18)) - reinterpret_cast(df_structure); - p_table["unk_1c"] = reinterpret_cast(&(df_structure->unk_1c)) - reinterpret_cast(df_structure); -} - -void generate_world_site_realization__T_unk_55e8_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk_55e8"] = reinterpret_cast(&(df_structure->unk_55e8)) - reinterpret_cast(df_structure); - p_table["unk_55ec"] = reinterpret_cast(&(df_structure->unk_55ec)) - reinterpret_cast(df_structure); - p_table["unk_v40_1a"] = reinterpret_cast(&(df_structure->unk_v40_1a)) - reinterpret_cast(df_structure); - p_table["unk_v40_1b"] = reinterpret_cast(&(df_structure->unk_v40_1b)) - reinterpret_cast(df_structure); - p_table["unk_v40_1c"] = reinterpret_cast(&(df_structure->unk_v40_1c)) - reinterpret_cast(df_structure); - p_table["unk_v40_1d"] = reinterpret_cast(&(df_structure->unk_v40_1d)) - reinterpret_cast(df_structure); - p_table["unk_v40_2"] = reinterpret_cast(&(df_structure->unk_v40_2)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["unk_55f0"] = reinterpret_cast(&(df_structure->unk_55f0)) - reinterpret_cast(df_structure); - p_table["unk_55f4"] = reinterpret_cast(&(df_structure->unk_55f4)) - reinterpret_cast(df_structure); - p_table["unk_55f8"] = reinterpret_cast(&(df_structure->unk_55f8)) - reinterpret_cast(df_structure); - p_table["unk_55fa"] = reinterpret_cast(&(df_structure->unk_55fa)) - reinterpret_cast(df_structure); - p_table["unk_55fc"] = reinterpret_cast(&(df_structure->unk_55fc)) - reinterpret_cast(df_structure); - p_table["unk_5600"] = reinterpret_cast(&(df_structure->unk_5600)) - reinterpret_cast(df_structure); - p_table["unk_5604"] = reinterpret_cast(&(df_structure->unk_5604)) - reinterpret_cast(df_structure); - p_table["unk_5608"] = reinterpret_cast(&(df_structure->unk_5608)) - reinterpret_cast(df_structure); - p_table["unk_560c"] = reinterpret_cast(&(df_structure->unk_560c)) - reinterpret_cast(df_structure); - p_table["unk_5610"] = reinterpret_cast(&(df_structure->unk_5610)) - reinterpret_cast(df_structure); - p_table["unk_5614"] = reinterpret_cast(&(df_structure->unk_5614)) - reinterpret_cast(df_structure); - p_table["unk_5618"] = reinterpret_cast(&(df_structure->unk_5618)) - reinterpret_cast(df_structure); - p_table["unk_5628"] = reinterpret_cast(&(df_structure->unk_5628)) - reinterpret_cast(df_structure); - p_table["unk_562c"] = reinterpret_cast(&(df_structure->unk_562c)) - reinterpret_cast(df_structure); - p_table["unk_5630"] = reinterpret_cast(&(df_structure->unk_5630)) - reinterpret_cast(df_structure); - p_table["unk_5634"] = reinterpret_cast(&(df_structure->unk_5634)) - reinterpret_cast(df_structure); - p_table["unk_v40_3a"] = reinterpret_cast(&(df_structure->unk_v40_3a)) - reinterpret_cast(df_structure); - p_table["unk_v40_3b"] = reinterpret_cast(&(df_structure->unk_v40_3b)) - reinterpret_cast(df_structure); - p_table["unk_v40_3c"] = reinterpret_cast(&(df_structure->unk_v40_3c)) - reinterpret_cast(df_structure); - p_table["unk_v40_3d"] = reinterpret_cast(&(df_structure->unk_v40_3d)) - reinterpret_cast(df_structure); -} - -void generate_world_site_realization__T_building_map_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk0"] = reinterpret_cast(&(df_structure->unk0)) - reinterpret_cast(df_structure); - p_table["buildings"] = reinterpret_cast(&(df_structure->buildings)) - reinterpret_cast(df_structure); - p_table["unk4"] = reinterpret_cast(&(df_structure->unk4)) - reinterpret_cast(df_structure); - p_table["unk5"] = reinterpret_cast(&(df_structure->unk5)) - reinterpret_cast(df_structure); - p_table["unk6"] = reinterpret_cast(&(df_structure->unk6)) - reinterpret_cast(df_structure); -} - -void generate_world_site_realization__T_areas_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["index"] = reinterpret_cast(&(df_structure->index)) - reinterpret_cast(df_structure); - p_table["unk_8"] = reinterpret_cast(&(df_structure->unk_8)) - reinterpret_cast(df_structure); - p_table["min_x"] = reinterpret_cast(&(df_structure->min_x)) - reinterpret_cast(df_structure); - p_table["max_x"] = reinterpret_cast(&(df_structure->max_x)) - reinterpret_cast(df_structure); - p_table["min_y"] = reinterpret_cast(&(df_structure->min_y)) - reinterpret_cast(df_structure); - p_table["max_y"] = reinterpret_cast(&(df_structure->max_y)) - reinterpret_cast(df_structure); - p_table["unk_1c"] = reinterpret_cast(&(df_structure->unk_1c)) - reinterpret_cast(df_structure); - p_table["unk_20"] = reinterpret_cast(&(df_structure->unk_20)) - reinterpret_cast(df_structure); -} - -void generate_world_site_realization__T_unk_193bc__T_unk_8_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); - p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); - p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); -} - -void generate_world_site_realization__T_unk_193bc_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["unk_8"] = reinterpret_cast(&(df_structure->unk_8)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); - p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); - p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); - p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); - p_table["anon_11"] = reinterpret_cast(&(df_structure->anon_11)) - reinterpret_cast(df_structure); - p_table["anon_12"] = reinterpret_cast(&(df_structure->anon_12)) - reinterpret_cast(df_structure); - p_table["anon_13"] = reinterpret_cast(&(df_structure->anon_13)) - reinterpret_cast(df_structure); - p_table["anon_14"] = reinterpret_cast(&(df_structure->anon_14)) - reinterpret_cast(df_structure); - p_table["anon_15"] = reinterpret_cast(&(df_structure->anon_15)) - reinterpret_cast(df_structure); - p_table["anon_16"] = reinterpret_cast(&(df_structure->anon_16)) - reinterpret_cast(df_structure); - p_table["anon_17"] = reinterpret_cast(&(df_structure->anon_17)) - reinterpret_cast(df_structure); - p_table["anon_18"] = reinterpret_cast(&(df_structure->anon_18)) - reinterpret_cast(df_structure); -} - -void generate_world_site_realization_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["buildings"] = reinterpret_cast(&(df_structure->buildings)) - reinterpret_cast(df_structure); - p_table["num_buildings"] = reinterpret_cast(&(df_structure->num_buildings)) - reinterpret_cast(df_structure); - p_table["unk_14"] = reinterpret_cast(&(df_structure->unk_14)) - reinterpret_cast(df_structure); - p_table["num_areas"] = reinterpret_cast(&(df_structure->num_areas)) - reinterpret_cast(df_structure); - p_table["mini_rivers"] = reinterpret_cast(&(df_structure->mini_rivers)) - reinterpret_cast(df_structure); - p_table["mini_tiles"] = reinterpret_cast(&(df_structure->mini_tiles)) - reinterpret_cast(df_structure); - p_table["mini_colors"] = reinterpret_cast(&(df_structure->mini_colors)) - reinterpret_cast(df_structure); - p_table["road_map"] = reinterpret_cast(&(df_structure->road_map)) - reinterpret_cast(df_structure); - p_table["river_map"] = reinterpret_cast(&(df_structure->river_map)) - reinterpret_cast(df_structure); - p_table["unk_55e8"] = reinterpret_cast(&(df_structure->unk_55e8)) - reinterpret_cast(df_structure); - p_table["building_map"] = reinterpret_cast(&(df_structure->building_map)) - reinterpret_cast(df_structure); - p_table["flags_map"] = reinterpret_cast(&(df_structure->flags_map)) - reinterpret_cast(df_structure); - p_table["zoom_tiles"] = reinterpret_cast(&(df_structure->zoom_tiles)) - reinterpret_cast(df_structure); - p_table["zoom_colors"] = reinterpret_cast(&(df_structure->zoom_colors)) - reinterpret_cast(df_structure); - p_table["zoom_movemask"] = reinterpret_cast(&(df_structure->zoom_movemask)) - reinterpret_cast(df_structure); - p_table["area_map"] = reinterpret_cast(&(df_structure->area_map)) - reinterpret_cast(df_structure); - p_table["areas"] = reinterpret_cast(&(df_structure->areas)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["army_controller_pos_x"] = reinterpret_cast(&(df_structure->army_controller_pos_x)) - reinterpret_cast(df_structure); - p_table["army_controller_pos_y"] = reinterpret_cast(&(df_structure->army_controller_pos_y)) - reinterpret_cast(df_structure); - p_table["unk_193bc"] = reinterpret_cast(&(df_structure->unk_193bc)) - reinterpret_cast(df_structure); - p_table["num_unk_193bc"] = reinterpret_cast(&(df_structure->num_unk_193bc)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["building_well"] = reinterpret_cast(&(df_structure->building_well)) - reinterpret_cast(df_structure); - p_table["num_building_well"] = reinterpret_cast(&(df_structure->num_building_well)) - reinterpret_cast(df_structure); - p_table["building_temple"] = reinterpret_cast(&(df_structure->building_temple)) - reinterpret_cast(df_structure); - p_table["num_building_temple"] = reinterpret_cast(&(df_structure->num_building_temple)) - reinterpret_cast(df_structure); - p_table["building_type22"] = reinterpret_cast(&(df_structure->building_type22)) - reinterpret_cast(df_structure); - p_table["num_building_type22"] = reinterpret_cast(&(df_structure->num_building_type22)) - reinterpret_cast(df_structure); - p_table["building_type21"] = reinterpret_cast(&(df_structure->building_type21)) - reinterpret_cast(df_structure); - p_table["num_building_type21"] = reinterpret_cast(&(df_structure->num_building_type21)) - reinterpret_cast(df_structure); - p_table["unk_wsr_vector"] = reinterpret_cast(&(df_structure->unk_wsr_vector)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); - p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); -} - -void generate_site_realization_building_info_castle_wallst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["length"] = reinterpret_cast(&(df_structure->length)) - reinterpret_cast(df_structure); - p_table["door_pos"] = reinterpret_cast(&(df_structure->door_pos)) - reinterpret_cast(df_structure); - p_table["start_x"] = reinterpret_cast(&(df_structure->start_x)) - reinterpret_cast(df_structure); - p_table["start_y"] = reinterpret_cast(&(df_structure->start_y)) - reinterpret_cast(df_structure); - p_table["start_z"] = reinterpret_cast(&(df_structure->start_z)) - reinterpret_cast(df_structure); - p_table["end_x"] = reinterpret_cast(&(df_structure->end_x)) - reinterpret_cast(df_structure); - p_table["end_y"] = reinterpret_cast(&(df_structure->end_y)) - reinterpret_cast(df_structure); - p_table["end_z"] = reinterpret_cast(&(df_structure->end_z)) - reinterpret_cast(df_structure); - p_table["wall_item"] = reinterpret_cast(&(df_structure->wall_item)) - reinterpret_cast(df_structure); - p_table["door_item"] = reinterpret_cast(&(df_structure->door_item)) - reinterpret_cast(df_structure); -} - -void generate_site_realization_building_info_castle_towerst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["roof_z"] = reinterpret_cast(&(df_structure->roof_z)) - reinterpret_cast(df_structure); - p_table["base_z"] = reinterpret_cast(&(df_structure->base_z)) - reinterpret_cast(df_structure); - p_table["door_n_elevation"] = reinterpret_cast(&(df_structure->door_n_elevation)) - reinterpret_cast(df_structure); - p_table["door_s_elevation"] = reinterpret_cast(&(df_structure->door_s_elevation)) - reinterpret_cast(df_structure); - p_table["door_e_elevation"] = reinterpret_cast(&(df_structure->door_e_elevation)) - reinterpret_cast(df_structure); - p_table["door_w_elevation"] = reinterpret_cast(&(df_structure->door_w_elevation)) - reinterpret_cast(df_structure); - p_table["door_item"] = reinterpret_cast(&(df_structure->door_item)) - reinterpret_cast(df_structure); - p_table["wall_item"] = reinterpret_cast(&(df_structure->wall_item)) - reinterpret_cast(df_structure); - p_table["shape"] = reinterpret_cast(&(df_structure->shape)) - reinterpret_cast(df_structure); - p_table["unk_40"] = reinterpret_cast(&(df_structure->unk_40)) - reinterpret_cast(df_structure); - p_table["unk_44"] = reinterpret_cast(&(df_structure->unk_44)) - reinterpret_cast(df_structure); -} - -void generate_site_realization_building_info_shop_housest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); -} - -void generate_site_realization_building_info_market_squarest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); -} - -void generate_site_realization_building_info_trenchesst__T_spokes_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["mound_min"] = reinterpret_cast(&(df_structure->mound_min)) - reinterpret_cast(df_structure); - p_table["trench_min"] = reinterpret_cast(&(df_structure->trench_min)) - reinterpret_cast(df_structure); - p_table["trench_max"] = reinterpret_cast(&(df_structure->trench_max)) - reinterpret_cast(df_structure); - p_table["mound_max"] = reinterpret_cast(&(df_structure->mound_max)) - reinterpret_cast(df_structure); -} - -void generate_site_realization_building_info_trenchesst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); - p_table["spokes"] = reinterpret_cast(&(df_structure->spokes)) - reinterpret_cast(df_structure); -} - -void generate_site_realization_building_info_tree_housest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["unk_8"] = reinterpret_cast(&(df_structure->unk_8)) - reinterpret_cast(df_structure); - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); -} - -void generate_site_realization_building_info_hillock_housest_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); -} - -void generate_creation_zone_pwg_alteration_location_deathst__T_unk_1__T_anon_1_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); - p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); -} - -void generate_creation_zone_pwg_alteration_location_deathst__T_unk_1_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); -} - -void generate_creation_zone_pwg_alteration_location_deathst_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk_1"] = reinterpret_cast(&(df_structure->unk_1)) - reinterpret_cast(df_structure); - p_table["unk_2"] = reinterpret_cast(&(df_structure->unk_2)) - reinterpret_cast(df_structure); -} - -void generate_incident__T_unk_v42_1_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["t6_performance"] = reinterpret_cast(&(df_structure->t6_performance)) - reinterpret_cast(df_structure); - p_table["t7"] = reinterpret_cast(&(df_structure->t7)) - reinterpret_cast(df_structure); - p_table["t8"] = reinterpret_cast(&(df_structure->t8)) - reinterpret_cast(df_structure); - p_table["t9"] = reinterpret_cast(&(df_structure->t9)) - reinterpret_cast(df_structure); - p_table["t10"] = reinterpret_cast(&(df_structure->t10)) - reinterpret_cast(df_structure); -} - -void generate_incident_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["subtype"] = reinterpret_cast(&(df_structure->subtype)) - reinterpret_cast(df_structure); - p_table["witnesses"] = reinterpret_cast(&(df_structure->witnesses)) - reinterpret_cast(df_structure); - p_table["unk_v44_1"] = reinterpret_cast(&(df_structure->unk_v44_1)) - reinterpret_cast(df_structure); - p_table["unk_v44_2"] = reinterpret_cast(&(df_structure->unk_v44_2)) - reinterpret_cast(df_structure); - p_table["victim"] = reinterpret_cast(&(df_structure->victim)) - reinterpret_cast(df_structure); - p_table["victim_hf"] = reinterpret_cast(&(df_structure->victim_hf)) - reinterpret_cast(df_structure); - p_table["victim_race"] = reinterpret_cast(&(df_structure->victim_race)) - reinterpret_cast(df_structure); - p_table["victim_caste"] = reinterpret_cast(&(df_structure->victim_caste)) - reinterpret_cast(df_structure); - p_table["unk_v40_1b"] = reinterpret_cast(&(df_structure->unk_v40_1b)) - reinterpret_cast(df_structure); - p_table["unk_v40_1c"] = reinterpret_cast(&(df_structure->unk_v40_1c)) - reinterpret_cast(df_structure); - p_table["killer"] = reinterpret_cast(&(df_structure->killer)) - reinterpret_cast(df_structure); - p_table["killer_hf"] = reinterpret_cast(&(df_structure->killer_hf)) - reinterpret_cast(df_structure); - p_table["killer_race"] = reinterpret_cast(&(df_structure->killer_race)) - reinterpret_cast(df_structure); - p_table["killer_caste"] = reinterpret_cast(&(df_structure->killer_caste)) - reinterpret_cast(df_structure); - p_table["entity1"] = reinterpret_cast(&(df_structure->entity1)) - reinterpret_cast(df_structure); - p_table["unk_v40_2c"] = reinterpret_cast(&(df_structure->unk_v40_2c)) - reinterpret_cast(df_structure); - p_table["crime_id"] = reinterpret_cast(&(df_structure->crime_id)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["unk_v40_3a"] = reinterpret_cast(&(df_structure->unk_v40_3a)) - reinterpret_cast(df_structure); - p_table["unk_v40_3b"] = reinterpret_cast(&(df_structure->unk_v40_3b)) - reinterpret_cast(df_structure); - p_table["entity"] = reinterpret_cast(&(df_structure->entity)) - reinterpret_cast(df_structure); - p_table["event_year"] = reinterpret_cast(&(df_structure->event_year)) - reinterpret_cast(df_structure); - p_table["event_time"] = reinterpret_cast(&(df_structure->event_time)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["death_cause"] = reinterpret_cast(&(df_structure->death_cause)) - reinterpret_cast(df_structure); - p_table["conflict_level"] = reinterpret_cast(&(df_structure->conflict_level)) - reinterpret_cast(df_structure); - p_table["activity_id"] = reinterpret_cast(&(df_structure->activity_id)) - reinterpret_cast(df_structure); - p_table["world_x"] = reinterpret_cast(&(df_structure->world_x)) - reinterpret_cast(df_structure); - p_table["world_y"] = reinterpret_cast(&(df_structure->world_y)) - reinterpret_cast(df_structure); - p_table["world_z"] = reinterpret_cast(&(df_structure->world_z)) - reinterpret_cast(df_structure); - p_table["unk_80"] = reinterpret_cast(&(df_structure->unk_80)) - reinterpret_cast(df_structure); - p_table["unk_v42_1"] = reinterpret_cast(&(df_structure->unk_v42_1)) - reinterpret_cast(df_structure); -} - -void generate_incident_sub6_performance__T_participants_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["performance_event"] = reinterpret_cast(&(df_structure->performance_event)) - reinterpret_cast(df_structure); - p_table["role_index"] = reinterpret_cast(&(df_structure->role_index)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); -} - -void generate_incident_sub6_performance_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["performance_event"] = reinterpret_cast(&(df_structure->performance_event)) - reinterpret_cast(df_structure); - p_table["participants"] = reinterpret_cast(&(df_structure->participants)) - reinterpret_cast(df_structure); - p_table["reference_id"] = reinterpret_cast(&(df_structure->reference_id)) - reinterpret_cast(df_structure); - p_table["written_content_id"] = reinterpret_cast(&(df_structure->written_content_id)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["poetic_form_id"] = reinterpret_cast(&(df_structure->poetic_form_id)) - reinterpret_cast(df_structure); - p_table["musical_form_id"] = reinterpret_cast(&(df_structure->musical_form_id)) - reinterpret_cast(df_structure); - p_table["dance_form_id"] = reinterpret_cast(&(df_structure->dance_form_id)) - reinterpret_cast(df_structure); -} - -void generate_incident_sub7_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); - p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); - p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); - p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); -} - -void generate_incident_sub8_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); - p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); - p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); - p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); -} - -void generate_incident_sub9_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_incident_sub10_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_crime__T_punishment_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["hammerstrikes"] = reinterpret_cast(&(df_structure->hammerstrikes)) - reinterpret_cast(df_structure); - p_table["prison_time"] = reinterpret_cast(&(df_structure->prison_time)) - reinterpret_cast(df_structure); - p_table["give_beating"] = reinterpret_cast(&(df_structure->give_beating)) - reinterpret_cast(df_structure); -} - -void generate_crime__T_reports_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["death_id"] = reinterpret_cast(&(df_structure->death_id)) - reinterpret_cast(df_structure); - p_table["crime_id"] = reinterpret_cast(&(df_structure->crime_id)) - reinterpret_cast(df_structure); - p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); - p_table["event_year"] = reinterpret_cast(&(df_structure->event_year)) - reinterpret_cast(df_structure); - p_table["event_time"] = reinterpret_cast(&(df_structure->event_time)) - reinterpret_cast(df_structure); - p_table["witness"] = reinterpret_cast(&(df_structure->witness)) - reinterpret_cast(df_structure); - p_table["accuses"] = reinterpret_cast(&(df_structure->accuses)) - reinterpret_cast(df_structure); - p_table["report_year"] = reinterpret_cast(&(df_structure->report_year)) - reinterpret_cast(df_structure); - p_table["report_time"] = reinterpret_cast(&(df_structure->report_time)) - reinterpret_cast(df_structure); -} - -void generate_crime_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["mode"] = reinterpret_cast(&(df_structure->mode)) - reinterpret_cast(df_structure); - p_table["punishment"] = reinterpret_cast(&(df_structure->punishment)) - reinterpret_cast(df_structure); - p_table["criminal"] = reinterpret_cast(&(df_structure->criminal)) - reinterpret_cast(df_structure); - p_table["convicted"] = reinterpret_cast(&(df_structure->convicted)) - reinterpret_cast(df_structure); - p_table["victim"] = reinterpret_cast(&(df_structure->victim)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["death_id"] = reinterpret_cast(&(df_structure->death_id)) - reinterpret_cast(df_structure); - p_table["event_year"] = reinterpret_cast(&(df_structure->event_year)) - reinterpret_cast(df_structure); - p_table["event_time"] = reinterpret_cast(&(df_structure->event_time)) - reinterpret_cast(df_structure); - p_table["discovered_year"] = reinterpret_cast(&(df_structure->discovered_year)) - reinterpret_cast(df_structure); - p_table["discovered_time"] = reinterpret_cast(&(df_structure->discovered_time)) - reinterpret_cast(df_structure); - p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); - p_table["entity"] = reinterpret_cast(&(df_structure->entity)) - reinterpret_cast(df_structure); - p_table["reports"] = reinterpret_cast(&(df_structure->reports)) - reinterpret_cast(df_structure); -} - -void generate_mission_report_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["campaigns"] = reinterpret_cast(&(df_structure->campaigns)) - reinterpret_cast(df_structure); - p_table["unk_2"] = reinterpret_cast(&(df_structure->unk_2)) - reinterpret_cast(df_structure); - p_table["origin_x"] = reinterpret_cast(&(df_structure->origin_x)) - reinterpret_cast(df_structure); - p_table["origin_y"] = reinterpret_cast(&(df_structure->origin_y)) - reinterpret_cast(df_structure); - p_table["unk_5"] = reinterpret_cast(&(df_structure->unk_5)) - reinterpret_cast(df_structure); - p_table["title"] = reinterpret_cast(&(df_structure->title)) - reinterpret_cast(df_structure); - p_table["unk_7"] = reinterpret_cast(&(df_structure->unk_7)) - reinterpret_cast(df_structure); - p_table["year"] = reinterpret_cast(&(df_structure->year)) - reinterpret_cast(df_structure); - p_table["year_tick"] = reinterpret_cast(&(df_structure->year_tick)) - reinterpret_cast(df_structure); - p_table["unk_10"] = reinterpret_cast(&(df_structure->unk_10)) - reinterpret_cast(df_structure); - p_table["unk_11"] = reinterpret_cast(&(df_structure->unk_11)) - reinterpret_cast(df_structure); - p_table["unk_12"] = reinterpret_cast(&(df_structure->unk_12)) - reinterpret_cast(df_structure); -} - -void generate_spoils_report_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["title"] = reinterpret_cast(&(df_structure->title)) - reinterpret_cast(df_structure); - p_table["unk_1"] = reinterpret_cast(&(df_structure->unk_1)) - reinterpret_cast(df_structure); - p_table["year"] = reinterpret_cast(&(df_structure->year)) - reinterpret_cast(df_structure); - p_table["year_tick"] = reinterpret_cast(&(df_structure->year_tick)) - reinterpret_cast(df_structure); - p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); - p_table["item_types"] = reinterpret_cast(&(df_structure->item_types)) - reinterpret_cast(df_structure); - p_table["item_subtypes"] = reinterpret_cast(&(df_structure->item_subtypes)) - reinterpret_cast(df_structure); - p_table["mat_types"] = reinterpret_cast(&(df_structure->mat_types)) - reinterpret_cast(df_structure); - p_table["mat_indices"] = reinterpret_cast(&(df_structure->mat_indices)) - reinterpret_cast(df_structure); - p_table["item_counts"] = reinterpret_cast(&(df_structure->item_counts)) - reinterpret_cast(df_structure); - p_table["creature_races"] = reinterpret_cast(&(df_structure->creature_races)) - reinterpret_cast(df_structure); - p_table["creature_castes"] = reinterpret_cast(&(df_structure->creature_castes)) - reinterpret_cast(df_structure); - p_table["creature_counts"] = reinterpret_cast(&(df_structure->creature_counts)) - reinterpret_cast(df_structure); -} - -void generate_world_unk_20__T_anon_7_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); -} - -void generate_world_unk_20_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); - p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); - p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); - p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); -} - -void generate_world_unk_6c_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); -} - -void generate_world_unk_9c_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); - p_table["embark"] = reinterpret_cast(&(df_structure->embark)) - reinterpret_cast(df_structure); - p_table["local_feature_idx"] = reinterpret_cast(&(df_structure->local_feature_idx)) - reinterpret_cast(df_structure); - p_table["global_feature_idx"] = reinterpret_cast(&(df_structure->global_feature_idx)) - reinterpret_cast(df_structure); - p_table["unk10"] = reinterpret_cast(&(df_structure->unk10)) - reinterpret_cast(df_structure); - p_table["unk14"] = reinterpret_cast(&(df_structure->unk14)) - reinterpret_cast(df_structure); - p_table["local"] = reinterpret_cast(&(df_structure->local)) - reinterpret_cast(df_structure); - p_table["z_min"] = reinterpret_cast(&(df_structure->z_min)) - reinterpret_cast(df_structure); - p_table["z_max"] = reinterpret_cast(&(df_structure->z_max)) - reinterpret_cast(df_structure); -} - -void generate_world_unk_c0__T_anon_7_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); -} - -void generate_world_unk_c0_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); - p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); - p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); - p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); -} - -void generate_glowing_barrier_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["triggered"] = reinterpret_cast(&(df_structure->triggered)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["buildings"] = reinterpret_cast(&(df_structure->buildings)) - reinterpret_cast(df_structure); - p_table["pos"] = reinterpret_cast(&(df_structure->pos)) - reinterpret_cast(df_structure); -} - -void generate_deep_vein_hollow_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["triggered"] = reinterpret_cast(&(df_structure->triggered)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["tiles"] = reinterpret_cast(&(df_structure->tiles)) - reinterpret_cast(df_structure); - p_table["pos"] = reinterpret_cast(&(df_structure->pos)) - reinterpret_cast(df_structure); -} - -void generate_campfire_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["pos"] = reinterpret_cast(&(df_structure->pos)) - reinterpret_cast(df_structure); - p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); -} - -void generate_web_cluster_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["x"] = reinterpret_cast(&(df_structure->x)) - reinterpret_cast(df_structure); - p_table["y"] = reinterpret_cast(&(df_structure->y)) - reinterpret_cast(df_structure); - p_table["z"] = reinterpret_cast(&(df_structure->z)) - reinterpret_cast(df_structure); - p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); - p_table["caste"] = reinterpret_cast(&(df_structure->caste)) - reinterpret_cast(df_structure); - p_table["pos_min"] = reinterpret_cast(&(df_structure->pos_min)) - reinterpret_cast(df_structure); - p_table["pos_max"] = reinterpret_cast(&(df_structure->pos_max)) - reinterpret_cast(df_structure); - p_table["ambushers"] = reinterpret_cast(&(df_structure->ambushers)) - reinterpret_cast(df_structure); -} - -void generate_fire_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["pos"] = reinterpret_cast(&(df_structure->pos)) - reinterpret_cast(df_structure); - p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); - p_table["temperature"] = reinterpret_cast(&(df_structure->temperature)) - reinterpret_cast(df_structure); - p_table["temp_unk1"] = reinterpret_cast(&(df_structure->temp_unk1)) - reinterpret_cast(df_structure); - p_table["temp_unk2"] = reinterpret_cast(&(df_structure->temp_unk2)) - reinterpret_cast(df_structure); - p_table["temp_unk3"] = reinterpret_cast(&(df_structure->temp_unk3)) - reinterpret_cast(df_structure); -} - -void generate_job_handler__T_postings_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["idx"] = reinterpret_cast(&(df_structure->idx)) - reinterpret_cast(df_structure); - p_table["job"] = reinterpret_cast(&(df_structure->job)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_job_handler__T_anon_1_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); -} - -void generate_job_handler_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["list"] = reinterpret_cast(&(df_structure->list)) - reinterpret_cast(df_structure); - p_table["postings"] = reinterpret_cast(&(df_structure->postings)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); -} - -void generate_building_handler_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); - p_table["other"] = reinterpret_cast(&(df_structure->other)) - reinterpret_cast(df_structure); - p_table["bad"] = reinterpret_cast(&(df_structure->bad)) - reinterpret_cast(df_structure); - p_table["check_bridge_collapse"] = reinterpret_cast(&(df_structure->check_bridge_collapse)) - reinterpret_cast(df_structure); - p_table["check_machine_collapse"] = reinterpret_cast(&(df_structure->check_machine_collapse)) - reinterpret_cast(df_structure); -} - -void generate_machine_handler_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); - p_table["bad"] = reinterpret_cast(&(df_structure->bad)) - reinterpret_cast(df_structure); -} - -void generate_mental_picture_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["elements"] = reinterpret_cast(&(df_structure->elements)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["properties"] = reinterpret_cast(&(df_structure->properties)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); -} - -void generate_belief_system_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); - p_table["mental_pictures"] = reinterpret_cast(&(df_structure->mental_pictures)) - reinterpret_cast(df_structure); - p_table["deities"] = reinterpret_cast(&(df_structure->deities)) - reinterpret_cast(df_structure); - p_table["worship_levels"] = reinterpret_cast(&(df_structure->worship_levels)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); - p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); - p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); - p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); - p_table["anon_11"] = reinterpret_cast(&(df_structure->anon_11)) - reinterpret_cast(df_structure); - p_table["anon_12"] = reinterpret_cast(&(df_structure->anon_12)) - reinterpret_cast(df_structure); - p_table["anon_13"] = reinterpret_cast(&(df_structure->anon_13)) - reinterpret_cast(df_structure); - p_table["anon_14"] = reinterpret_cast(&(df_structure->anon_14)) - reinterpret_cast(df_structure); - p_table["anon_15"] = reinterpret_cast(&(df_structure->anon_15)) - reinterpret_cast(df_structure); - p_table["anon_16"] = reinterpret_cast(&(df_structure->anon_16)) - reinterpret_cast(df_structure); - p_table["anon_17"] = reinterpret_cast(&(df_structure->anon_17)) - reinterpret_cast(df_structure); - p_table["anon_18"] = reinterpret_cast(&(df_structure->anon_18)) - reinterpret_cast(df_structure); - p_table["anon_19"] = reinterpret_cast(&(df_structure->anon_19)) - reinterpret_cast(df_structure); - p_table["anon_20"] = reinterpret_cast(&(df_structure->anon_20)) - reinterpret_cast(df_structure); - p_table["anon_21"] = reinterpret_cast(&(df_structure->anon_21)) - reinterpret_cast(df_structure); - p_table["anon_22"] = reinterpret_cast(&(df_structure->anon_22)) - reinterpret_cast(df_structure); - p_table["anon_23"] = reinterpret_cast(&(df_structure->anon_23)) - reinterpret_cast(df_structure); - p_table["anon_24"] = reinterpret_cast(&(df_structure->anon_24)) - reinterpret_cast(df_structure); - p_table["anon_25"] = reinterpret_cast(&(df_structure->anon_25)) - reinterpret_cast(df_structure); - p_table["anon_26"] = reinterpret_cast(&(df_structure->anon_26)) - reinterpret_cast(df_structure); - p_table["anon_27"] = reinterpret_cast(&(df_structure->anon_27)) - reinterpret_cast(df_structure); - p_table["anon_28"] = reinterpret_cast(&(df_structure->anon_28)) - reinterpret_cast(df_structure); - p_table["anon_29"] = reinterpret_cast(&(df_structure->anon_29)) - reinterpret_cast(df_structure); - p_table["anon_30"] = reinterpret_cast(&(df_structure->anon_30)) - reinterpret_cast(df_structure); - p_table["anon_31"] = reinterpret_cast(&(df_structure->anon_31)) - reinterpret_cast(df_structure); - p_table["anon_32"] = reinterpret_cast(&(df_structure->anon_32)) - reinterpret_cast(df_structure); - p_table["anon_33"] = reinterpret_cast(&(df_structure->anon_33)) - reinterpret_cast(df_structure); - p_table["anon_34"] = reinterpret_cast(&(df_structure->anon_34)) - reinterpret_cast(df_structure); - p_table["anon_35"] = reinterpret_cast(&(df_structure->anon_35)) - reinterpret_cast(df_structure); - p_table["anon_36"] = reinterpret_cast(&(df_structure->anon_36)) - reinterpret_cast(df_structure); - p_table["anon_37"] = reinterpret_cast(&(df_structure->anon_37)) - reinterpret_cast(df_structure); - p_table["anon_38"] = reinterpret_cast(&(df_structure->anon_38)) - reinterpret_cast(df_structure); - p_table["anon_39"] = reinterpret_cast(&(df_structure->anon_39)) - reinterpret_cast(df_structure); - p_table["anon_40"] = reinterpret_cast(&(df_structure->anon_40)) - reinterpret_cast(df_structure); - p_table["anon_41"] = reinterpret_cast(&(df_structure->anon_41)) - reinterpret_cast(df_structure); - p_table["anon_42"] = reinterpret_cast(&(df_structure->anon_42)) - reinterpret_cast(df_structure); - p_table["anon_43"] = reinterpret_cast(&(df_structure->anon_43)) - reinterpret_cast(df_structure); - p_table["anon_44"] = reinterpret_cast(&(df_structure->anon_44)) - reinterpret_cast(df_structure); - p_table["anon_45"] = reinterpret_cast(&(df_structure->anon_45)) - reinterpret_cast(df_structure); - p_table["anon_46"] = reinterpret_cast(&(df_structure->anon_46)) - reinterpret_cast(df_structure); - p_table["anon_47"] = reinterpret_cast(&(df_structure->anon_47)) - reinterpret_cast(df_structure); - p_table["anon_48"] = reinterpret_cast(&(df_structure->anon_48)) - reinterpret_cast(df_structure); - p_table["anon_49"] = reinterpret_cast(&(df_structure->anon_49)) - reinterpret_cast(df_structure); - p_table["anon_50"] = reinterpret_cast(&(df_structure->anon_50)) - reinterpret_cast(df_structure); - p_table["anon_51"] = reinterpret_cast(&(df_structure->anon_51)) - reinterpret_cast(df_structure); - p_table["anon_52"] = reinterpret_cast(&(df_structure->anon_52)) - reinterpret_cast(df_structure); - p_table["anon_53"] = reinterpret_cast(&(df_structure->anon_53)) - reinterpret_cast(df_structure); - p_table["anon_54"] = reinterpret_cast(&(df_structure->anon_54)) - reinterpret_cast(df_structure); - p_table["anon_55"] = reinterpret_cast(&(df_structure->anon_55)) - reinterpret_cast(df_structure); - p_table["anon_56"] = reinterpret_cast(&(df_structure->anon_56)) - reinterpret_cast(df_structure); - p_table["anon_57"] = reinterpret_cast(&(df_structure->anon_57)) - reinterpret_cast(df_structure); - p_table["anon_58"] = reinterpret_cast(&(df_structure->anon_58)) - reinterpret_cast(df_structure); - p_table["anon_59"] = reinterpret_cast(&(df_structure->anon_59)) - reinterpret_cast(df_structure); - p_table["anon_60"] = reinterpret_cast(&(df_structure->anon_60)) - reinterpret_cast(df_structure); - p_table["anon_61"] = reinterpret_cast(&(df_structure->anon_61)) - reinterpret_cast(df_structure); - p_table["anon_62"] = reinterpret_cast(&(df_structure->anon_62)) - reinterpret_cast(df_structure); - p_table["anon_63"] = reinterpret_cast(&(df_structure->anon_63)) - reinterpret_cast(df_structure); - p_table["anon_64"] = reinterpret_cast(&(df_structure->anon_64)) - reinterpret_cast(df_structure); -} - -void generate_world__T_vermin_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); - p_table["colonies"] = reinterpret_cast(&(df_structure->colonies)) - reinterpret_cast(df_structure); -} - -void generate_world__T_entities_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); - p_table["bad"] = reinterpret_cast(&(df_structure->bad)) - reinterpret_cast(df_structure); -} - -void generate_world__T_worldgen_coord_buf_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["slots"] = reinterpret_cast(&(df_structure->slots)) - reinterpret_cast(df_structure); - p_table["next_slot"] = reinterpret_cast(&(df_structure->next_slot)) - reinterpret_cast(df_structure); -} - -void generate_world__T_units_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); - p_table["active"] = reinterpret_cast(&(df_structure->active)) - reinterpret_cast(df_structure); - p_table["other"] = reinterpret_cast(&(df_structure->other)) - reinterpret_cast(df_structure); - p_table["bad"] = reinterpret_cast(&(df_structure->bad)) - reinterpret_cast(df_structure); - p_table["unknown"] = reinterpret_cast(&(df_structure->unknown)) - reinterpret_cast(df_structure); -} - -void generate_world__T_nemesis_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); - p_table["other"] = reinterpret_cast(&(df_structure->other)) - reinterpret_cast(df_structure); - p_table["bad"] = reinterpret_cast(&(df_structure->bad)) - reinterpret_cast(df_structure); - p_table["unk4"] = reinterpret_cast(&(df_structure->unk4)) - reinterpret_cast(df_structure); -} - -void generate_world__T_items_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); - p_table["other"] = reinterpret_cast(&(df_structure->other)) - reinterpret_cast(df_structure); - p_table["bad"] = reinterpret_cast(&(df_structure->bad)) - reinterpret_cast(df_structure); - p_table["bad_tag"] = reinterpret_cast(&(df_structure->bad_tag)) - reinterpret_cast(df_structure); -} - -void generate_world__T_artifacts_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); - p_table["bad"] = reinterpret_cast(&(df_structure->bad)) - reinterpret_cast(df_structure); -} - -void generate_world__T_flow_guides_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); - p_table["bad"] = reinterpret_cast(&(df_structure->bad)) - reinterpret_cast(df_structure); -} - -void generate_world__T_stockpile__T_simple1_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["food"] = reinterpret_cast(&(df_structure->food)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); -} - -void generate_world__T_stockpile__T_simple2_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["seeds"] = reinterpret_cast(&(df_structure->seeds)) - reinterpret_cast(df_structure); - p_table["plants"] = reinterpret_cast(&(df_structure->plants)) - reinterpret_cast(df_structure); - p_table["cheese"] = reinterpret_cast(&(df_structure->cheese)) - reinterpret_cast(df_structure); - p_table["fish"] = reinterpret_cast(&(df_structure->fish)) - reinterpret_cast(df_structure); - p_table["meat"] = reinterpret_cast(&(df_structure->meat)) - reinterpret_cast(df_structure); - p_table["leaves"] = reinterpret_cast(&(df_structure->leaves)) - reinterpret_cast(df_structure); - p_table["powder"] = reinterpret_cast(&(df_structure->powder)) - reinterpret_cast(df_structure); - p_table["eggs"] = reinterpret_cast(&(df_structure->eggs)) - reinterpret_cast(df_structure); -} - -void generate_world__T_stockpile__T_simple3_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["glob_fat"] = reinterpret_cast(&(df_structure->glob_fat)) - reinterpret_cast(df_structure); - p_table["glob_tallow"] = reinterpret_cast(&(df_structure->glob_tallow)) - reinterpret_cast(df_structure); - p_table["glob_paste"] = reinterpret_cast(&(df_structure->glob_paste)) - reinterpret_cast(df_structure); - p_table["glob_pressed"] = reinterpret_cast(&(df_structure->glob_pressed)) - reinterpret_cast(df_structure); - p_table["weapons"] = reinterpret_cast(&(df_structure->weapons)) - reinterpret_cast(df_structure); - p_table["shields"] = reinterpret_cast(&(df_structure->shields)) - reinterpret_cast(df_structure); - p_table["ammo"] = reinterpret_cast(&(df_structure->ammo)) - reinterpret_cast(df_structure); - p_table["coins"] = reinterpret_cast(&(df_structure->coins)) - reinterpret_cast(df_structure); - p_table["bar_blocks"] = reinterpret_cast(&(df_structure->bar_blocks)) - reinterpret_cast(df_structure); - p_table["gems"] = reinterpret_cast(&(df_structure->gems)) - reinterpret_cast(df_structure); - p_table["finished_goods"] = reinterpret_cast(&(df_structure->finished_goods)) - reinterpret_cast(df_structure); - p_table["tanned_skins"] = reinterpret_cast(&(df_structure->tanned_skins)) - reinterpret_cast(df_structure); - p_table["thread_cloth"] = reinterpret_cast(&(df_structure->thread_cloth)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); -} - -void generate_world__T_stockpile_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["num_jobs"] = reinterpret_cast(&(df_structure->num_jobs)) - reinterpret_cast(df_structure); - p_table["num_haulers"] = reinterpret_cast(&(df_structure->num_haulers)) - reinterpret_cast(df_structure); - p_table["simple1"] = reinterpret_cast(&(df_structure->simple1)) - reinterpret_cast(df_structure); - p_table["seeds"] = reinterpret_cast(&(df_structure->seeds)) - reinterpret_cast(df_structure); - p_table["plants"] = reinterpret_cast(&(df_structure->plants)) - reinterpret_cast(df_structure); - p_table["cheese"] = reinterpret_cast(&(df_structure->cheese)) - reinterpret_cast(df_structure); - p_table["meat_fish"] = reinterpret_cast(&(df_structure->meat_fish)) - reinterpret_cast(df_structure); - p_table["eggs"] = reinterpret_cast(&(df_structure->eggs)) - reinterpret_cast(df_structure); - p_table["leaves"] = reinterpret_cast(&(df_structure->leaves)) - reinterpret_cast(df_structure); - p_table["plant_powder"] = reinterpret_cast(&(df_structure->plant_powder)) - reinterpret_cast(df_structure); - p_table["simple2"] = reinterpret_cast(&(df_structure->simple2)) - reinterpret_cast(df_structure); - p_table["liquid_plant"] = reinterpret_cast(&(df_structure->liquid_plant)) - reinterpret_cast(df_structure); - p_table["liquid_animal"] = reinterpret_cast(&(df_structure->liquid_animal)) - reinterpret_cast(df_structure); - p_table["liquid_builtin"] = reinterpret_cast(&(df_structure->liquid_builtin)) - reinterpret_cast(df_structure); - p_table["simple3"] = reinterpret_cast(&(df_structure->simple3)) - reinterpret_cast(df_structure); -} - -void generate_world__T_plants_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); - p_table["shrub_dry"] = reinterpret_cast(&(df_structure->shrub_dry)) - reinterpret_cast(df_structure); - p_table["shrub_wet"] = reinterpret_cast(&(df_structure->shrub_wet)) - reinterpret_cast(df_structure); - p_table["tree_dry"] = reinterpret_cast(&(df_structure->tree_dry)) - reinterpret_cast(df_structure); - p_table["tree_wet"] = reinterpret_cast(&(df_structure->tree_wet)) - reinterpret_cast(df_structure); - p_table["empty"] = reinterpret_cast(&(df_structure->empty)) - reinterpret_cast(df_structure); -} - -void generate_world__T_enemy_status_cache_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["slot_used"] = reinterpret_cast(&(df_structure->slot_used)) - reinterpret_cast(df_structure); - p_table["rel_map"] = reinterpret_cast(&(df_structure->rel_map)) - reinterpret_cast(df_structure); - p_table["next_slot"] = reinterpret_cast(&(df_structure->next_slot)) - reinterpret_cast(df_structure); -} - -void generate_world__T_schedules_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); - p_table["bad"] = reinterpret_cast(&(df_structure->bad)) - reinterpret_cast(df_structure); -} - -void generate_world__T_squads_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); - p_table["bad"] = reinterpret_cast(&(df_structure->bad)) - reinterpret_cast(df_structure); -} - -void generate_world__T_formations_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); - p_table["bad"] = reinterpret_cast(&(df_structure->bad)) - reinterpret_cast(df_structure); -} - -void generate_world__T_activities_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); - p_table["bad"] = reinterpret_cast(&(df_structure->bad)) - reinterpret_cast(df_structure); -} - -void generate_world__T_status__T_slots_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["item"] = reinterpret_cast(&(df_structure->item)) - reinterpret_cast(df_structure); - p_table["unk1b"] = reinterpret_cast(&(df_structure->unk1b)) - reinterpret_cast(df_structure); - p_table["unk1c"] = reinterpret_cast(&(df_structure->unk1c)) - reinterpret_cast(df_structure); - p_table["unk1d"] = reinterpret_cast(&(df_structure->unk1d)) - reinterpret_cast(df_structure); - p_table["body_part"] = reinterpret_cast(&(df_structure->body_part)) - reinterpret_cast(df_structure); - p_table["unk2b"] = reinterpret_cast(&(df_structure->unk2b)) - reinterpret_cast(df_structure); - p_table["unk2c"] = reinterpret_cast(&(df_structure->unk2c)) - reinterpret_cast(df_structure); - p_table["unk2d"] = reinterpret_cast(&(df_structure->unk2d)) - reinterpret_cast(df_structure); - p_table["target_bp_name"] = reinterpret_cast(&(df_structure->target_bp_name)) - reinterpret_cast(df_structure); - p_table["verb"] = reinterpret_cast(&(df_structure->verb)) - reinterpret_cast(df_structure); - p_table["with_item_name"] = reinterpret_cast(&(df_structure->with_item_name)) - reinterpret_cast(df_structure); - p_table["unk3d"] = reinterpret_cast(&(df_structure->unk3d)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); -} - -void generate_world__T_status_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["reports"] = reinterpret_cast(&(df_structure->reports)) - reinterpret_cast(df_structure); - p_table["announcements"] = reinterpret_cast(&(df_structure->announcements)) - reinterpret_cast(df_structure); - p_table["popups"] = reinterpret_cast(&(df_structure->popups)) - reinterpret_cast(df_structure); - p_table["next_report_id"] = reinterpret_cast(&(df_structure->next_report_id)) - reinterpret_cast(df_structure); - p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["mission_reports"] = reinterpret_cast(&(df_structure->mission_reports)) - reinterpret_cast(df_structure); - p_table["spoils_reports"] = reinterpret_cast(&(df_structure->spoils_reports)) - reinterpret_cast(df_structure); - p_table["display_timer"] = reinterpret_cast(&(df_structure->display_timer)) - reinterpret_cast(df_structure); - p_table["slots"] = reinterpret_cast(&(df_structure->slots)) - reinterpret_cast(df_structure); - p_table["slot_id_used"] = reinterpret_cast(&(df_structure->slot_id_used)) - reinterpret_cast(df_structure); - p_table["slot_id_idx1"] = reinterpret_cast(&(df_structure->slot_id_idx1)) - reinterpret_cast(df_structure); - p_table["slot_id_idx2"] = reinterpret_cast(&(df_structure->slot_id_idx2)) - reinterpret_cast(df_structure); - p_table["slots_used"] = reinterpret_cast(&(df_structure->slots_used)) - reinterpret_cast(df_structure); -} - -void generate_world__T_interaction_instances_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); - p_table["bad"] = reinterpret_cast(&(df_structure->bad)) - reinterpret_cast(df_structure); -} - -void generate_world__T_written_contents_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); - p_table["bad"] = reinterpret_cast(&(df_structure->bad)) - reinterpret_cast(df_structure); -} - -void generate_world__T_identities_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); - p_table["bad"] = reinterpret_cast(&(df_structure->bad)) - reinterpret_cast(df_structure); -} - -void generate_world__T_incidents_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); - p_table["bad"] = reinterpret_cast(&(df_structure->bad)) - reinterpret_cast(df_structure); -} - -void generate_world__T_crimes_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); - p_table["bad"] = reinterpret_cast(&(df_structure->bad)) - reinterpret_cast(df_structure); -} - -void generate_world__T_vehicles_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); - p_table["active"] = reinterpret_cast(&(df_structure->active)) - reinterpret_cast(df_structure); - p_table["bad"] = reinterpret_cast(&(df_structure->bad)) - reinterpret_cast(df_structure); -} - -void generate_world__T_armies_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); - p_table["bad"] = reinterpret_cast(&(df_structure->bad)) - reinterpret_cast(df_structure); -} - -void generate_world__T_army_controllers_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); - p_table["bad"] = reinterpret_cast(&(df_structure->bad)) - reinterpret_cast(df_structure); -} - -void generate_world__T_army_tracking_info_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); - p_table["bad"] = reinterpret_cast(&(df_structure->bad)) - reinterpret_cast(df_structure); -} - -void generate_world__T_cultural_identities_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); - p_table["bad"] = reinterpret_cast(&(df_structure->bad)) - reinterpret_cast(df_structure); -} - -void generate_world__T_agreements_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); - p_table["bad"] = reinterpret_cast(&(df_structure->bad)) - reinterpret_cast(df_structure); -} - -void generate_world__T_poetic_forms_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); - p_table["bad"] = reinterpret_cast(&(df_structure->bad)) - reinterpret_cast(df_structure); -} - -void generate_world__T_musical_forms_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); - p_table["bad"] = reinterpret_cast(&(df_structure->bad)) - reinterpret_cast(df_structure); -} - -void generate_world__T_dance_forms_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); - p_table["bad"] = reinterpret_cast(&(df_structure->bad)) - reinterpret_cast(df_structure); -} - -void generate_world__T_scales_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); - p_table["bad"] = reinterpret_cast(&(df_structure->bad)) - reinterpret_cast(df_structure); -} - -void generate_world__T_rhythms_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); - p_table["bad"] = reinterpret_cast(&(df_structure->bad)) - reinterpret_cast(df_structure); -} - -void generate_world__T_occupations_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); - p_table["bad"] = reinterpret_cast(&(df_structure->bad)) - reinterpret_cast(df_structure); -} - -void generate_world__T_belief_systems_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); - p_table["bad"] = reinterpret_cast(&(df_structure->bad)) - reinterpret_cast(df_structure); -} - -void generate_world__T_map_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["map_blocks"] = reinterpret_cast(&(df_structure->map_blocks)) - reinterpret_cast(df_structure); - p_table["block_index"] = reinterpret_cast(&(df_structure->block_index)) - reinterpret_cast(df_structure); - p_table["map_block_columns"] = reinterpret_cast(&(df_structure->map_block_columns)) - reinterpret_cast(df_structure); - p_table["column_index"] = reinterpret_cast(&(df_structure->column_index)) - reinterpret_cast(df_structure); - p_table["x_count_block"] = reinterpret_cast(&(df_structure->x_count_block)) - reinterpret_cast(df_structure); - p_table["y_count_block"] = reinterpret_cast(&(df_structure->y_count_block)) - reinterpret_cast(df_structure); - p_table["z_count_block"] = reinterpret_cast(&(df_structure->z_count_block)) - reinterpret_cast(df_structure); - p_table["x_count"] = reinterpret_cast(&(df_structure->x_count)) - reinterpret_cast(df_structure); - p_table["y_count"] = reinterpret_cast(&(df_structure->y_count)) - reinterpret_cast(df_structure); - p_table["z_count"] = reinterpret_cast(&(df_structure->z_count)) - reinterpret_cast(df_structure); - p_table["region_x"] = reinterpret_cast(&(df_structure->region_x)) - reinterpret_cast(df_structure); - p_table["region_y"] = reinterpret_cast(&(df_structure->region_y)) - reinterpret_cast(df_structure); - p_table["region_z"] = reinterpret_cast(&(df_structure->region_z)) - reinterpret_cast(df_structure); - p_table["distance_lookup"] = reinterpret_cast(&(df_structure->distance_lookup)) - reinterpret_cast(df_structure); -} - -void generate_world__T_profession_skills_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["primary"] = reinterpret_cast(&(df_structure->primary)) - reinterpret_cast(df_structure); - p_table["secondary"] = reinterpret_cast(&(df_structure->secondary)) - reinterpret_cast(df_structure); -} - -void generate_world__T_math__T_approx_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["cos"] = reinterpret_cast(&(df_structure->cos)) - reinterpret_cast(df_structure); - p_table["sin"] = reinterpret_cast(&(df_structure->sin)) - reinterpret_cast(df_structure); -} - -void generate_world__T_math_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["approx"] = reinterpret_cast(&(df_structure->approx)) - reinterpret_cast(df_structure); - p_table["cos"] = reinterpret_cast(&(df_structure->cos)) - reinterpret_cast(df_structure); - p_table["hypot"] = reinterpret_cast(&(df_structure->hypot)) - reinterpret_cast(df_structure); -} - -void generate_world__T_map_extras_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["rotation"] = reinterpret_cast(&(df_structure->rotation)) - reinterpret_cast(df_structure); - p_table["z_level_flags"] = reinterpret_cast(&(df_structure->z_level_flags)) - reinterpret_cast(df_structure); - p_table["unk_v40_3a"] = reinterpret_cast(&(df_structure->unk_v40_3a)) - reinterpret_cast(df_structure); - p_table["unk_v40_3b"] = reinterpret_cast(&(df_structure->unk_v40_3b)) - reinterpret_cast(df_structure); - p_table["unk_v40_3c"] = reinterpret_cast(&(df_structure->unk_v40_3c)) - reinterpret_cast(df_structure); - p_table["unk_v40_3d"] = reinterpret_cast(&(df_structure->unk_v40_3d)) - reinterpret_cast(df_structure); -} - -void generate_world__T_worldgen_status_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["state"] = reinterpret_cast(&(df_structure->state)) - reinterpret_cast(df_structure); - p_table["num_rejects"] = reinterpret_cast(&(df_structure->num_rejects)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["rejection_reason"] = reinterpret_cast(&(df_structure->rejection_reason)) - reinterpret_cast(df_structure); - p_table["lakes_total"] = reinterpret_cast(&(df_structure->lakes_total)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["lakes_cur"] = reinterpret_cast(&(df_structure->lakes_cur)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["geo_layers"] = reinterpret_cast(&(df_structure->geo_layers)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); - p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); - p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); - p_table["finalized_civ_mats"] = reinterpret_cast(&(df_structure->finalized_civ_mats)) - reinterpret_cast(df_structure); - p_table["finalized_art"] = reinterpret_cast(&(df_structure->finalized_art)) - reinterpret_cast(df_structure); - p_table["finalized_uniforms"] = reinterpret_cast(&(df_structure->finalized_uniforms)) - reinterpret_cast(df_structure); - p_table["finalized_sites"] = reinterpret_cast(&(df_structure->finalized_sites)) - reinterpret_cast(df_structure); - p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); - p_table["anon_11"] = reinterpret_cast(&(df_structure->anon_11)) - reinterpret_cast(df_structure); - p_table["anon_12"] = reinterpret_cast(&(df_structure->anon_12)) - reinterpret_cast(df_structure); - p_table["entities"] = reinterpret_cast(&(df_structure->entities)) - reinterpret_cast(df_structure); - p_table["sites"] = reinterpret_cast(&(df_structure->sites)) - reinterpret_cast(df_structure); - p_table["cursor_x"] = reinterpret_cast(&(df_structure->cursor_x)) - reinterpret_cast(df_structure); - p_table["cursor_y"] = reinterpret_cast(&(df_structure->cursor_y)) - reinterpret_cast(df_structure); - p_table["anon_13"] = reinterpret_cast(&(df_structure->anon_13)) - reinterpret_cast(df_structure); - p_table["anon_14"] = reinterpret_cast(&(df_structure->anon_14)) - reinterpret_cast(df_structure); - p_table["rivers_total"] = reinterpret_cast(&(df_structure->rivers_total)) - reinterpret_cast(df_structure); - p_table["rivers_cur"] = reinterpret_cast(&(df_structure->rivers_cur)) - reinterpret_cast(df_structure); - p_table["anon_15"] = reinterpret_cast(&(df_structure->anon_15)) - reinterpret_cast(df_structure); - p_table["last_param_set"] = reinterpret_cast(&(df_structure->last_param_set)) - reinterpret_cast(df_structure); - p_table["last_seed"] = reinterpret_cast(&(df_structure->last_seed)) - reinterpret_cast(df_structure); - p_table["last_name_seed"] = reinterpret_cast(&(df_structure->last_name_seed)) - reinterpret_cast(df_structure); - p_table["last_history_seed"] = reinterpret_cast(&(df_structure->last_history_seed)) - reinterpret_cast(df_structure); - p_table["last_creature_seed"] = reinterpret_cast(&(df_structure->last_creature_seed)) - reinterpret_cast(df_structure); - p_table["place_caves"] = reinterpret_cast(&(df_structure->place_caves)) - reinterpret_cast(df_structure); - p_table["place_good_evil"] = reinterpret_cast(&(df_structure->place_good_evil)) - reinterpret_cast(df_structure); - p_table["place_megabeasts"] = reinterpret_cast(&(df_structure->place_megabeasts)) - reinterpret_cast(df_structure); - p_table["place_other_beasts"] = reinterpret_cast(&(df_structure->place_other_beasts)) - reinterpret_cast(df_structure); - p_table["make_cave_pops"] = reinterpret_cast(&(df_structure->make_cave_pops)) - reinterpret_cast(df_structure); - p_table["make_cave_civs"] = reinterpret_cast(&(df_structure->make_cave_civs)) - reinterpret_cast(df_structure); - p_table["place_civs"] = reinterpret_cast(&(df_structure->place_civs)) - reinterpret_cast(df_structure); - p_table["finished_prehistory"] = reinterpret_cast(&(df_structure->finished_prehistory)) - reinterpret_cast(df_structure); - p_table["sites2"] = reinterpret_cast(&(df_structure->sites2)) - reinterpret_cast(df_structure); - p_table["sites3"] = reinterpret_cast(&(df_structure->sites3)) - reinterpret_cast(df_structure); - p_table["anon_16"] = reinterpret_cast(&(df_structure->anon_16)) - reinterpret_cast(df_structure); - p_table["anon_17"] = reinterpret_cast(&(df_structure->anon_17)) - reinterpret_cast(df_structure); - p_table["anon_18"] = reinterpret_cast(&(df_structure->anon_18)) - reinterpret_cast(df_structure); - p_table["anon_19"] = reinterpret_cast(&(df_structure->anon_19)) - reinterpret_cast(df_structure); - p_table["anon_20"] = reinterpret_cast(&(df_structure->anon_20)) - reinterpret_cast(df_structure); - p_table["entity_raws"] = reinterpret_cast(&(df_structure->entity_raws)) - reinterpret_cast(df_structure); - p_table["anon_21"] = reinterpret_cast(&(df_structure->anon_21)) - reinterpret_cast(df_structure); - p_table["civ_count"] = reinterpret_cast(&(df_structure->civ_count)) - reinterpret_cast(df_structure); - p_table["civs_left_to_place"] = reinterpret_cast(&(df_structure->civs_left_to_place)) - reinterpret_cast(df_structure); - p_table["regions1"] = reinterpret_cast(&(df_structure->regions1)) - reinterpret_cast(df_structure); - p_table["regions2"] = reinterpret_cast(&(df_structure->regions2)) - reinterpret_cast(df_structure); - p_table["regions3"] = reinterpret_cast(&(df_structure->regions3)) - reinterpret_cast(df_structure); - p_table["anon_22"] = reinterpret_cast(&(df_structure->anon_22)) - reinterpret_cast(df_structure); - p_table["anon_23"] = reinterpret_cast(&(df_structure->anon_23)) - reinterpret_cast(df_structure); - p_table["anon_24"] = reinterpret_cast(&(df_structure->anon_24)) - reinterpret_cast(df_structure); - p_table["anon_25"] = reinterpret_cast(&(df_structure->anon_25)) - reinterpret_cast(df_structure); - p_table["anon_26"] = reinterpret_cast(&(df_structure->anon_26)) - reinterpret_cast(df_structure); - p_table["anon_27"] = reinterpret_cast(&(df_structure->anon_27)) - reinterpret_cast(df_structure); - p_table["anon_28"] = reinterpret_cast(&(df_structure->anon_28)) - reinterpret_cast(df_structure); - p_table["anon_29"] = reinterpret_cast(&(df_structure->anon_29)) - reinterpret_cast(df_structure); - p_table["unk_10d298"] = reinterpret_cast(&(df_structure->unk_10d298)) - reinterpret_cast(df_structure); - p_table["unk_10d2a4"] = reinterpret_cast(&(df_structure->unk_10d2a4)) - reinterpret_cast(df_structure); - p_table["libraries"] = reinterpret_cast(&(df_structure->libraries)) - reinterpret_cast(df_structure); - p_table["anon_30"] = reinterpret_cast(&(df_structure->anon_30)) - reinterpret_cast(df_structure); - p_table["temples"] = reinterpret_cast(&(df_structure->temples)) - reinterpret_cast(df_structure); - p_table["some_artifacts"] = reinterpret_cast(&(df_structure->some_artifacts)) - reinterpret_cast(df_structure); -} - -void generate_world__T_unk_59dc4__T_unk1_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["ref"] = reinterpret_cast(&(df_structure->ref)) - reinterpret_cast(df_structure); - p_table["unk"] = reinterpret_cast(&(df_structure->unk)) - reinterpret_cast(df_structure); -} - -void generate_world__T_unk_59dc4_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["regions"] = reinterpret_cast(&(df_structure->regions)) - reinterpret_cast(df_structure); - p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); -} - -void generate_world__T_flow_engine_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["rnd_16"] = reinterpret_cast(&(df_structure->rnd_16)) - reinterpret_cast(df_structure); - p_table["rnd_256"] = reinterpret_cast(&(df_structure->rnd_256)) - reinterpret_cast(df_structure); - p_table["rnd_pos"] = reinterpret_cast(&(df_structure->rnd_pos)) - reinterpret_cast(df_structure); - p_table["rnd_x"] = reinterpret_cast(&(df_structure->rnd_x)) - reinterpret_cast(df_structure); - p_table["rnd_y"] = reinterpret_cast(&(df_structure->rnd_y)) - reinterpret_cast(df_structure); - p_table["block_idx"] = reinterpret_cast(&(df_structure->block_idx)) - reinterpret_cast(df_structure); - p_table["unk7a"] = reinterpret_cast(&(df_structure->unk7a)) - reinterpret_cast(df_structure); - p_table["unk7b"] = reinterpret_cast(&(df_structure->unk7b)) - reinterpret_cast(df_structure); - p_table["unk7c"] = reinterpret_cast(&(df_structure->unk7c)) - reinterpret_cast(df_structure); - p_table["unk7_cntdn"] = reinterpret_cast(&(df_structure->unk7_cntdn)) - reinterpret_cast(df_structure); -} - -void generate_world__T_worldgen__T_worldgen_parms_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["title"] = reinterpret_cast(&(df_structure->title)) - reinterpret_cast(df_structure); - p_table["seed"] = reinterpret_cast(&(df_structure->seed)) - reinterpret_cast(df_structure); - p_table["history_seed"] = reinterpret_cast(&(df_structure->history_seed)) - reinterpret_cast(df_structure); - p_table["name_seed"] = reinterpret_cast(&(df_structure->name_seed)) - reinterpret_cast(df_structure); - p_table["creature_seed"] = reinterpret_cast(&(df_structure->creature_seed)) - reinterpret_cast(df_structure); - p_table["dim_x"] = reinterpret_cast(&(df_structure->dim_x)) - reinterpret_cast(df_structure); - p_table["dim_y"] = reinterpret_cast(&(df_structure->dim_y)) - reinterpret_cast(df_structure); - p_table["custom_name"] = reinterpret_cast(&(df_structure->custom_name)) - reinterpret_cast(df_structure); - p_table["has_seed"] = reinterpret_cast(&(df_structure->has_seed)) - reinterpret_cast(df_structure); - p_table["has_history_seed"] = reinterpret_cast(&(df_structure->has_history_seed)) - reinterpret_cast(df_structure); - p_table["has_name_seed"] = reinterpret_cast(&(df_structure->has_name_seed)) - reinterpret_cast(df_structure); - p_table["has_creature_seed"] = reinterpret_cast(&(df_structure->has_creature_seed)) - reinterpret_cast(df_structure); - p_table["embark_points"] = reinterpret_cast(&(df_structure->embark_points)) - reinterpret_cast(df_structure); - p_table["peak_number_min"] = reinterpret_cast(&(df_structure->peak_number_min)) - reinterpret_cast(df_structure); - p_table["partial_ocean_edge_min"] = reinterpret_cast(&(df_structure->partial_ocean_edge_min)) - reinterpret_cast(df_structure); - p_table["complete_ocean_edge_min"] = reinterpret_cast(&(df_structure->complete_ocean_edge_min)) - reinterpret_cast(df_structure); - p_table["volcano_min"] = reinterpret_cast(&(df_structure->volcano_min)) - reinterpret_cast(df_structure); - p_table["region_counts"] = reinterpret_cast(&(df_structure->region_counts)) - reinterpret_cast(df_structure); - p_table["river_mins"] = reinterpret_cast(&(df_structure->river_mins)) - reinterpret_cast(df_structure); - p_table["subregion_max"] = reinterpret_cast(&(df_structure->subregion_max)) - reinterpret_cast(df_structure); - p_table["cavern_layer_count"] = reinterpret_cast(&(df_structure->cavern_layer_count)) - reinterpret_cast(df_structure); - p_table["cavern_layer_openness_min"] = reinterpret_cast(&(df_structure->cavern_layer_openness_min)) - reinterpret_cast(df_structure); - p_table["cavern_layer_openness_max"] = reinterpret_cast(&(df_structure->cavern_layer_openness_max)) - reinterpret_cast(df_structure); - p_table["cavern_layer_passage_density_min"] = reinterpret_cast(&(df_structure->cavern_layer_passage_density_min)) - reinterpret_cast(df_structure); - p_table["cavern_layer_passage_density_max"] = reinterpret_cast(&(df_structure->cavern_layer_passage_density_max)) - reinterpret_cast(df_structure); - p_table["cavern_layer_water_min"] = reinterpret_cast(&(df_structure->cavern_layer_water_min)) - reinterpret_cast(df_structure); - p_table["cavern_layer_water_max"] = reinterpret_cast(&(df_structure->cavern_layer_water_max)) - reinterpret_cast(df_structure); - p_table["have_bottom_layer_1"] = reinterpret_cast(&(df_structure->have_bottom_layer_1)) - reinterpret_cast(df_structure); - p_table["have_bottom_layer_2"] = reinterpret_cast(&(df_structure->have_bottom_layer_2)) - reinterpret_cast(df_structure); - p_table["levels_above_ground"] = reinterpret_cast(&(df_structure->levels_above_ground)) - reinterpret_cast(df_structure); - p_table["levels_above_layer_1"] = reinterpret_cast(&(df_structure->levels_above_layer_1)) - reinterpret_cast(df_structure); - p_table["levels_above_layer_2"] = reinterpret_cast(&(df_structure->levels_above_layer_2)) - reinterpret_cast(df_structure); - p_table["levels_above_layer_3"] = reinterpret_cast(&(df_structure->levels_above_layer_3)) - reinterpret_cast(df_structure); - p_table["levels_above_layer_4"] = reinterpret_cast(&(df_structure->levels_above_layer_4)) - reinterpret_cast(df_structure); - p_table["levels_above_layer_5"] = reinterpret_cast(&(df_structure->levels_above_layer_5)) - reinterpret_cast(df_structure); - p_table["levels_at_bottom"] = reinterpret_cast(&(df_structure->levels_at_bottom)) - reinterpret_cast(df_structure); - p_table["cave_min_size"] = reinterpret_cast(&(df_structure->cave_min_size)) - reinterpret_cast(df_structure); - p_table["cave_max_size"] = reinterpret_cast(&(df_structure->cave_max_size)) - reinterpret_cast(df_structure); - p_table["mountain_cave_min"] = reinterpret_cast(&(df_structure->mountain_cave_min)) - reinterpret_cast(df_structure); - p_table["non_mountain_cave_min"] = reinterpret_cast(&(df_structure->non_mountain_cave_min)) - reinterpret_cast(df_structure); - p_table["total_civ_number"] = reinterpret_cast(&(df_structure->total_civ_number)) - reinterpret_cast(df_structure); - p_table["rain_ranges_1"] = reinterpret_cast(&(df_structure->rain_ranges_1)) - reinterpret_cast(df_structure); - p_table["rain_ranges_0"] = reinterpret_cast(&(df_structure->rain_ranges_0)) - reinterpret_cast(df_structure); - p_table["rain_ranges_2"] = reinterpret_cast(&(df_structure->rain_ranges_2)) - reinterpret_cast(df_structure); - p_table["drainage_ranges_1"] = reinterpret_cast(&(df_structure->drainage_ranges_1)) - reinterpret_cast(df_structure); - p_table["drainage_ranges_0"] = reinterpret_cast(&(df_structure->drainage_ranges_0)) - reinterpret_cast(df_structure); - p_table["drainage_ranges_2"] = reinterpret_cast(&(df_structure->drainage_ranges_2)) - reinterpret_cast(df_structure); - p_table["savagery_ranges_1"] = reinterpret_cast(&(df_structure->savagery_ranges_1)) - reinterpret_cast(df_structure); - p_table["savagery_ranges_0"] = reinterpret_cast(&(df_structure->savagery_ranges_0)) - reinterpret_cast(df_structure); - p_table["savagery_ranges_2"] = reinterpret_cast(&(df_structure->savagery_ranges_2)) - reinterpret_cast(df_structure); - p_table["volcanism_ranges_1"] = reinterpret_cast(&(df_structure->volcanism_ranges_1)) - reinterpret_cast(df_structure); - p_table["volcanism_ranges_0"] = reinterpret_cast(&(df_structure->volcanism_ranges_0)) - reinterpret_cast(df_structure); - p_table["volcanism_ranges_2"] = reinterpret_cast(&(df_structure->volcanism_ranges_2)) - reinterpret_cast(df_structure); - p_table["ranges"] = reinterpret_cast(&(df_structure->ranges)) - reinterpret_cast(df_structure); - p_table["beast_end_year"] = reinterpret_cast(&(df_structure->beast_end_year)) - reinterpret_cast(df_structure); - p_table["end_year"] = reinterpret_cast(&(df_structure->end_year)) - reinterpret_cast(df_structure); - p_table["beast_end_year_percent"] = reinterpret_cast(&(df_structure->beast_end_year_percent)) - reinterpret_cast(df_structure); - p_table["total_civ_population"] = reinterpret_cast(&(df_structure->total_civ_population)) - reinterpret_cast(df_structure); - p_table["site_cap"] = reinterpret_cast(&(df_structure->site_cap)) - reinterpret_cast(df_structure); - p_table["elevation_ranges_1"] = reinterpret_cast(&(df_structure->elevation_ranges_1)) - reinterpret_cast(df_structure); - p_table["elevation_ranges_0"] = reinterpret_cast(&(df_structure->elevation_ranges_0)) - reinterpret_cast(df_structure); - p_table["elevation_ranges_2"] = reinterpret_cast(&(df_structure->elevation_ranges_2)) - reinterpret_cast(df_structure); - p_table["mineral_scarcity"] = reinterpret_cast(&(df_structure->mineral_scarcity)) - reinterpret_cast(df_structure); - p_table["megabeast_cap"] = reinterpret_cast(&(df_structure->megabeast_cap)) - reinterpret_cast(df_structure); - p_table["semimegabeast_cap"] = reinterpret_cast(&(df_structure->semimegabeast_cap)) - reinterpret_cast(df_structure); - p_table["titan_number"] = reinterpret_cast(&(df_structure->titan_number)) - reinterpret_cast(df_structure); - p_table["titan_attack_trigger"] = reinterpret_cast(&(df_structure->titan_attack_trigger)) - reinterpret_cast(df_structure); - p_table["demon_number"] = reinterpret_cast(&(df_structure->demon_number)) - reinterpret_cast(df_structure); - p_table["night_troll_number"] = reinterpret_cast(&(df_structure->night_troll_number)) - reinterpret_cast(df_structure); - p_table["bogeyman_number"] = reinterpret_cast(&(df_structure->bogeyman_number)) - reinterpret_cast(df_structure); - p_table["vampire_number"] = reinterpret_cast(&(df_structure->vampire_number)) - reinterpret_cast(df_structure); - p_table["werebeast_number"] = reinterpret_cast(&(df_structure->werebeast_number)) - reinterpret_cast(df_structure); - p_table["secret_number"] = reinterpret_cast(&(df_structure->secret_number)) - reinterpret_cast(df_structure); - p_table["regional_interaction_number"] = reinterpret_cast(&(df_structure->regional_interaction_number)) - reinterpret_cast(df_structure); - p_table["disturbance_interaction_number"] = reinterpret_cast(&(df_structure->disturbance_interaction_number)) - reinterpret_cast(df_structure); - p_table["evil_cloud_number"] = reinterpret_cast(&(df_structure->evil_cloud_number)) - reinterpret_cast(df_structure); - p_table["evil_rain_number"] = reinterpret_cast(&(df_structure->evil_rain_number)) - reinterpret_cast(df_structure); - p_table["generate_divine_materials"] = reinterpret_cast(&(df_structure->generate_divine_materials)) - reinterpret_cast(df_structure); - p_table["good_sq_counts_0"] = reinterpret_cast(&(df_structure->good_sq_counts_0)) - reinterpret_cast(df_structure); - p_table["evil_sq_counts_0"] = reinterpret_cast(&(df_structure->evil_sq_counts_0)) - reinterpret_cast(df_structure); - p_table["good_sq_counts_1"] = reinterpret_cast(&(df_structure->good_sq_counts_1)) - reinterpret_cast(df_structure); - p_table["evil_sq_counts_1"] = reinterpret_cast(&(df_structure->evil_sq_counts_1)) - reinterpret_cast(df_structure); - p_table["good_sq_counts_2"] = reinterpret_cast(&(df_structure->good_sq_counts_2)) - reinterpret_cast(df_structure); - p_table["evil_sq_counts_2"] = reinterpret_cast(&(df_structure->evil_sq_counts_2)) - reinterpret_cast(df_structure); - p_table["elevation_frequency"] = reinterpret_cast(&(df_structure->elevation_frequency)) - reinterpret_cast(df_structure); - p_table["rain_frequency"] = reinterpret_cast(&(df_structure->rain_frequency)) - reinterpret_cast(df_structure); - p_table["drainage_frequency"] = reinterpret_cast(&(df_structure->drainage_frequency)) - reinterpret_cast(df_structure); - p_table["savagery_frequency"] = reinterpret_cast(&(df_structure->savagery_frequency)) - reinterpret_cast(df_structure); - p_table["temperature_frequency"] = reinterpret_cast(&(df_structure->temperature_frequency)) - reinterpret_cast(df_structure); - p_table["volcanism_frequency"] = reinterpret_cast(&(df_structure->volcanism_frequency)) - reinterpret_cast(df_structure); - p_table["ps"] = reinterpret_cast(&(df_structure->ps)) - reinterpret_cast(df_structure); - p_table["reveal_all_history"] = reinterpret_cast(&(df_structure->reveal_all_history)) - reinterpret_cast(df_structure); - p_table["cull_historical_figures"] = reinterpret_cast(&(df_structure->cull_historical_figures)) - reinterpret_cast(df_structure); - p_table["erosion_cycle_count"] = reinterpret_cast(&(df_structure->erosion_cycle_count)) - reinterpret_cast(df_structure); - p_table["periodically_erode_extremes"] = reinterpret_cast(&(df_structure->periodically_erode_extremes)) - reinterpret_cast(df_structure); - p_table["orographic_precipitation"] = reinterpret_cast(&(df_structure->orographic_precipitation)) - reinterpret_cast(df_structure); - p_table["playable_civilization_required"] = reinterpret_cast(&(df_structure->playable_civilization_required)) - reinterpret_cast(df_structure); - p_table["all_caves_visible"] = reinterpret_cast(&(df_structure->all_caves_visible)) - reinterpret_cast(df_structure); - p_table["show_embark_tunnel"] = reinterpret_cast(&(df_structure->show_embark_tunnel)) - reinterpret_cast(df_structure); - p_table["pole"] = reinterpret_cast(&(df_structure->pole)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_world__T_worldgen_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["version"] = reinterpret_cast(&(df_structure->version)) - reinterpret_cast(df_structure); - p_table["next_unit_chunk_id"] = reinterpret_cast(&(df_structure->next_unit_chunk_id)) - reinterpret_cast(df_structure); - p_table["next_unit_chunk_offset"] = reinterpret_cast(&(df_structure->next_unit_chunk_offset)) - reinterpret_cast(df_structure); - p_table["next_art_image_chunk_id"] = reinterpret_cast(&(df_structure->next_art_image_chunk_id)) - reinterpret_cast(df_structure); - p_table["next_art_image_chunk_offset"] = reinterpret_cast(&(df_structure->next_art_image_chunk_offset)) - reinterpret_cast(df_structure); - p_table["worldgen_parms"] = reinterpret_cast(&(df_structure->worldgen_parms)) - reinterpret_cast(df_structure); -} - -void generate_world__T_unk_v40_6_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); - p_table["unk2"] = reinterpret_cast(&(df_structure->unk2)) - reinterpret_cast(df_structure); - p_table["unk3"] = reinterpret_cast(&(df_structure->unk3)) - reinterpret_cast(df_structure); - p_table["unk4"] = reinterpret_cast(&(df_structure->unk4)) - reinterpret_cast(df_structure); - p_table["unk5"] = reinterpret_cast(&(df_structure->unk5)) - reinterpret_cast(df_structure); - p_table["unk6"] = reinterpret_cast(&(df_structure->unk6)) - reinterpret_cast(df_structure); -} - -void generate_world__T_unk_131ec0_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); - p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); - p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); - p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); - p_table["anon_11"] = reinterpret_cast(&(df_structure->anon_11)) - reinterpret_cast(df_structure); - p_table["anon_12"] = reinterpret_cast(&(df_structure->anon_12)) - reinterpret_cast(df_structure); - p_table["anon_13"] = reinterpret_cast(&(df_structure->anon_13)) - reinterpret_cast(df_structure); - p_table["anon_14"] = reinterpret_cast(&(df_structure->anon_14)) - reinterpret_cast(df_structure); - p_table["anon_15"] = reinterpret_cast(&(df_structure->anon_15)) - reinterpret_cast(df_structure); - p_table["anon_16"] = reinterpret_cast(&(df_structure->anon_16)) - reinterpret_cast(df_structure); -} - -void generate_world__T_languages_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); -} - -void generate_world__T_unk_131ef0__T_unk_2_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); -} - -void generate_world__T_unk_131ef0_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["unk_1"] = reinterpret_cast(&(df_structure->unk_1)) - reinterpret_cast(df_structure); - p_table["unk_2"] = reinterpret_cast(&(df_structure->unk_2)) - reinterpret_cast(df_structure); - p_table["unk_3"] = reinterpret_cast(&(df_structure->unk_3)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); -} - -void generate_world__T_pathfinder__T_boundary_heap_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["total_cost"] = reinterpret_cast(&(df_structure->total_cost)) - reinterpret_cast(df_structure); - p_table["local_cost"] = reinterpret_cast(&(df_structure->local_cost)) - reinterpret_cast(df_structure); - p_table["x"] = reinterpret_cast(&(df_structure->x)) - reinterpret_cast(df_structure); - p_table["y"] = reinterpret_cast(&(df_structure->y)) - reinterpret_cast(df_structure); - p_table["z"] = reinterpret_cast(&(df_structure->z)) - reinterpret_cast(df_structure); -} - -void generate_world__T_pathfinder_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["boundary_heap"] = reinterpret_cast(&(df_structure->boundary_heap)) - reinterpret_cast(df_structure); - p_table["heap_count"] = reinterpret_cast(&(df_structure->heap_count)) - reinterpret_cast(df_structure); - p_table["pos1"] = reinterpret_cast(&(df_structure->pos1)) - reinterpret_cast(df_structure); - p_table["pos2"] = reinterpret_cast(&(df_structure->pos2)) - reinterpret_cast(df_structure); - p_table["dist_x"] = reinterpret_cast(&(df_structure->dist_x)) - reinterpret_cast(df_structure); - p_table["dist_y"] = reinterpret_cast(&(df_structure->dist_y)) - reinterpret_cast(df_structure); - p_table["dist_z"] = reinterpret_cast(&(df_structure->dist_z)) - reinterpret_cast(df_structure); - p_table["next_path_cost"] = reinterpret_cast(&(df_structure->next_path_cost)) - reinterpret_cast(df_structure); - p_table["wipe_path_cost"] = reinterpret_cast(&(df_structure->wipe_path_cost)) - reinterpret_cast(df_structure); - p_table["next_path_tag"] = reinterpret_cast(&(df_structure->next_path_tag)) - reinterpret_cast(df_structure); - p_table["wipe_path_tag"] = reinterpret_cast(&(df_structure->wipe_path_tag)) - reinterpret_cast(df_structure); - p_table["next_walkable_id"] = reinterpret_cast(&(df_structure->next_walkable_id)) - reinterpret_cast(df_structure); - p_table["plant_update_step"] = reinterpret_cast(&(df_structure->plant_update_step)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_world__T_cur_savegame_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["save_dir"] = reinterpret_cast(&(df_structure->save_dir)) - reinterpret_cast(df_structure); - p_table["unk_v40_0s"] = reinterpret_cast(&(df_structure->unk_v40_0s)) - reinterpret_cast(df_structure); - p_table["unk_v40_1s"] = reinterpret_cast(&(df_structure->unk_v40_1s)) - reinterpret_cast(df_structure); - p_table["unk_v40_2s"] = reinterpret_cast(&(df_structure->unk_v40_2s)) - reinterpret_cast(df_structure); -} - -void generate_world__T_features_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["map_features"] = reinterpret_cast(&(df_structure->map_features)) - reinterpret_cast(df_structure); - p_table["feature_x"] = reinterpret_cast(&(df_structure->feature_x)) - reinterpret_cast(df_structure); - p_table["feature_y"] = reinterpret_cast(&(df_structure->feature_y)) - reinterpret_cast(df_structure); - p_table["feature_local_idx"] = reinterpret_cast(&(df_structure->feature_local_idx)) - reinterpret_cast(df_structure); - p_table["feature_global_idx"] = reinterpret_cast(&(df_structure->feature_global_idx)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); - p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); - p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); - p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); - p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); - p_table["anon_11"] = reinterpret_cast(&(df_structure->anon_11)) - reinterpret_cast(df_structure); - p_table["anon_12"] = reinterpret_cast(&(df_structure->anon_12)) - reinterpret_cast(df_structure); - p_table["anon_13"] = reinterpret_cast(&(df_structure->anon_13)) - reinterpret_cast(df_structure); - p_table["anon_14"] = reinterpret_cast(&(df_structure->anon_14)) - reinterpret_cast(df_structure); - p_table["anon_15"] = reinterpret_cast(&(df_structure->anon_15)) - reinterpret_cast(df_structure); -} - -void generate_world__T_arena_spawn__T_item_types_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); - p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); - p_table["mattype"] = reinterpret_cast(&(df_structure->mattype)) - reinterpret_cast(df_structure); - p_table["matindex"] = reinterpret_cast(&(df_structure->matindex)) - reinterpret_cast(df_structure); - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); -} - -void generate_world__T_arena_spawn__T_equipment_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["skills"] = reinterpret_cast(&(df_structure->skills)) - reinterpret_cast(df_structure); - p_table["skill_levels"] = reinterpret_cast(&(df_structure->skill_levels)) - reinterpret_cast(df_structure); - p_table["item_types"] = reinterpret_cast(&(df_structure->item_types)) - reinterpret_cast(df_structure); - p_table["item_subtypes"] = reinterpret_cast(&(df_structure->item_subtypes)) - reinterpret_cast(df_structure); - p_table["item_materials"] = reinterpret_cast(&(df_structure->item_materials)) - reinterpret_cast(df_structure); - p_table["item_counts"] = reinterpret_cast(&(df_structure->item_counts)) - reinterpret_cast(df_structure); -} - -void generate_world__T_arena_spawn_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); - p_table["caste"] = reinterpret_cast(&(df_structure->caste)) - reinterpret_cast(df_structure); - p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); - p_table["filter"] = reinterpret_cast(&(df_structure->filter)) - reinterpret_cast(df_structure); - p_table["item_types"] = reinterpret_cast(&(df_structure->item_types)) - reinterpret_cast(df_structure); - p_table["unk_vec1"] = reinterpret_cast(&(df_structure->unk_vec1)) - reinterpret_cast(df_structure); - p_table["unk_vec2"] = reinterpret_cast(&(df_structure->unk_vec2)) - reinterpret_cast(df_structure); - p_table["unk_vec3"] = reinterpret_cast(&(df_structure->unk_vec3)) - reinterpret_cast(df_structure); - p_table["equipment"] = reinterpret_cast(&(df_structure->equipment)) - reinterpret_cast(df_structure); - p_table["side"] = reinterpret_cast(&(df_structure->side)) - reinterpret_cast(df_structure); - p_table["interaction"] = reinterpret_cast(&(df_structure->interaction)) - reinterpret_cast(df_structure); - p_table["interactions"] = reinterpret_cast(&(df_structure->interactions)) - reinterpret_cast(df_structure); - p_table["creature_cnt"] = reinterpret_cast(&(df_structure->creature_cnt)) - reinterpret_cast(df_structure); - p_table["unk_int1"] = reinterpret_cast(&(df_structure->unk_int1)) - reinterpret_cast(df_structure); -} - -void generate_world__T_arena_settings_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["conflict_level"] = reinterpret_cast(&(df_structure->conflict_level)) - reinterpret_cast(df_structure); - p_table["morale_enable"] = reinterpret_cast(&(df_structure->morale_enable)) - reinterpret_cast(df_structure); - p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); - p_table["temperature"] = reinterpret_cast(&(df_structure->temperature)) - reinterpret_cast(df_structure); - p_table["time"] = reinterpret_cast(&(df_structure->time)) - reinterpret_cast(df_structure); - p_table["weather_column"] = reinterpret_cast(&(df_structure->weather_column)) - reinterpret_cast(df_structure); - p_table["weather_row"] = reinterpret_cast(&(df_structure->weather_row)) - reinterpret_cast(df_structure); - p_table["tree_types"] = reinterpret_cast(&(df_structure->tree_types)) - reinterpret_cast(df_structure); - p_table["tree_cursor"] = reinterpret_cast(&(df_structure->tree_cursor)) - reinterpret_cast(df_structure); - p_table["tree_age"] = reinterpret_cast(&(df_structure->tree_age)) - reinterpret_cast(df_structure); - p_table["tree_filter"] = reinterpret_cast(&(df_structure->tree_filter)) - reinterpret_cast(df_structure); - p_table["tree_age_str"] = reinterpret_cast(&(df_structure->tree_age_str)) - reinterpret_cast(df_structure); -} - -void generate_world__T_unk_19325c__T_anon_1_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); -} - -void generate_world__T_unk_19325c__T_anon_2_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); -} - -void generate_world__T_unk_19325c__T_anon_3_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); -} - -void generate_world__T_unk_19325c_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); - p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); - p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); - p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); - p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); - p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); -} - -void generate_world_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["glowing_barriers"] = reinterpret_cast(&(df_structure->glowing_barriers)) - reinterpret_cast(df_structure); - p_table["deep_vein_hollows"] = reinterpret_cast(&(df_structure->deep_vein_hollows)) - reinterpret_cast(df_structure); - p_table["unk_20"] = reinterpret_cast(&(df_structure->unk_20)) - reinterpret_cast(df_structure); - p_table["engravings"] = reinterpret_cast(&(df_structure->engravings)) - reinterpret_cast(df_structure); - p_table["vermin"] = reinterpret_cast(&(df_structure->vermin)) - reinterpret_cast(df_structure); - p_table["unk_3C"] = reinterpret_cast(&(df_structure->unk_3C)) - reinterpret_cast(df_structure); - p_table["campfires"] = reinterpret_cast(&(df_structure->campfires)) - reinterpret_cast(df_structure); - p_table["web_clusters"] = reinterpret_cast(&(df_structure->web_clusters)) - reinterpret_cast(df_structure); - p_table["fires"] = reinterpret_cast(&(df_structure->fires)) - reinterpret_cast(df_structure); - p_table["unk_6C"] = reinterpret_cast(&(df_structure->unk_6C)) - reinterpret_cast(df_structure); - p_table["ocean_waves"] = reinterpret_cast(&(df_structure->ocean_waves)) - reinterpret_cast(df_structure); - p_table["constructions"] = reinterpret_cast(&(df_structure->constructions)) - reinterpret_cast(df_structure); - p_table["murky_pools"] = reinterpret_cast(&(df_structure->murky_pools)) - reinterpret_cast(df_structure); - p_table["unk_9C"] = reinterpret_cast(&(df_structure->unk_9C)) - reinterpret_cast(df_structure); - p_table["unk_A8"] = reinterpret_cast(&(df_structure->unk_A8)) - reinterpret_cast(df_structure); - p_table["unk_B4"] = reinterpret_cast(&(df_structure->unk_B4)) - reinterpret_cast(df_structure); - p_table["unk_C0"] = reinterpret_cast(&(df_structure->unk_C0)) - reinterpret_cast(df_structure); - p_table["unk_CC"] = reinterpret_cast(&(df_structure->unk_CC)) - reinterpret_cast(df_structure); - p_table["unk_D8"] = reinterpret_cast(&(df_structure->unk_D8)) - reinterpret_cast(df_structure); - p_table["unk_E4"] = reinterpret_cast(&(df_structure->unk_E4)) - reinterpret_cast(df_structure); - p_table["unk_F0"] = reinterpret_cast(&(df_structure->unk_F0)) - reinterpret_cast(df_structure); - p_table["unk_FC"] = reinterpret_cast(&(df_structure->unk_FC)) - reinterpret_cast(df_structure); - p_table["effects"] = reinterpret_cast(&(df_structure->effects)) - reinterpret_cast(df_structure); - p_table["coin_batches"] = reinterpret_cast(&(df_structure->coin_batches)) - reinterpret_cast(df_structure); - p_table["populations"] = reinterpret_cast(&(df_structure->populations)) - reinterpret_cast(df_structure); - p_table["manager_orders"] = reinterpret_cast(&(df_structure->manager_orders)) - reinterpret_cast(df_structure); - p_table["manager_order_next_id"] = reinterpret_cast(&(df_structure->manager_order_next_id)) - reinterpret_cast(df_structure); - p_table["mandates"] = reinterpret_cast(&(df_structure->mandates)) - reinterpret_cast(df_structure); - p_table["entities"] = reinterpret_cast(&(df_structure->entities)) - reinterpret_cast(df_structure); - p_table["worldgen_coord_buf"] = reinterpret_cast(&(df_structure->worldgen_coord_buf)) - reinterpret_cast(df_structure); - p_table["units"] = reinterpret_cast(&(df_structure->units)) - reinterpret_cast(df_structure); - p_table["unit_chunks"] = reinterpret_cast(&(df_structure->unit_chunks)) - reinterpret_cast(df_structure); - p_table["art_image_chunks"] = reinterpret_cast(&(df_structure->art_image_chunks)) - reinterpret_cast(df_structure); - p_table["nemesis"] = reinterpret_cast(&(df_structure->nemesis)) - reinterpret_cast(df_structure); - p_table["items"] = reinterpret_cast(&(df_structure->items)) - reinterpret_cast(df_structure); - p_table["artifacts"] = reinterpret_cast(&(df_structure->artifacts)) - reinterpret_cast(df_structure); - p_table["jobs"] = reinterpret_cast(&(df_structure->jobs)) - reinterpret_cast(df_structure); - p_table["proj_list"] = reinterpret_cast(&(df_structure->proj_list)) - reinterpret_cast(df_structure); - p_table["buildings"] = reinterpret_cast(&(df_structure->buildings)) - reinterpret_cast(df_structure); - p_table["machines"] = reinterpret_cast(&(df_structure->machines)) - reinterpret_cast(df_structure); - p_table["flow_guides"] = reinterpret_cast(&(df_structure->flow_guides)) - reinterpret_cast(df_structure); - p_table["stockpile"] = reinterpret_cast(&(df_structure->stockpile)) - reinterpret_cast(df_structure); - p_table["plants"] = reinterpret_cast(&(df_structure->plants)) - reinterpret_cast(df_structure); - p_table["enemy_status_cache"] = reinterpret_cast(&(df_structure->enemy_status_cache)) - reinterpret_cast(df_structure); - p_table["schedules"] = reinterpret_cast(&(df_structure->schedules)) - reinterpret_cast(df_structure); - p_table["squads"] = reinterpret_cast(&(df_structure->squads)) - reinterpret_cast(df_structure); - p_table["formations"] = reinterpret_cast(&(df_structure->formations)) - reinterpret_cast(df_structure); - p_table["activities"] = reinterpret_cast(&(df_structure->activities)) - reinterpret_cast(df_structure); - p_table["status"] = reinterpret_cast(&(df_structure->status)) - reinterpret_cast(df_structure); - p_table["interaction_instances"] = reinterpret_cast(&(df_structure->interaction_instances)) - reinterpret_cast(df_structure); - p_table["written_contents"] = reinterpret_cast(&(df_structure->written_contents)) - reinterpret_cast(df_structure); - p_table["identities"] = reinterpret_cast(&(df_structure->identities)) - reinterpret_cast(df_structure); - p_table["incidents"] = reinterpret_cast(&(df_structure->incidents)) - reinterpret_cast(df_structure); - p_table["crimes"] = reinterpret_cast(&(df_structure->crimes)) - reinterpret_cast(df_structure); - p_table["vehicles"] = reinterpret_cast(&(df_structure->vehicles)) - reinterpret_cast(df_structure); - p_table["armies"] = reinterpret_cast(&(df_structure->armies)) - reinterpret_cast(df_structure); - p_table["army_controllers"] = reinterpret_cast(&(df_structure->army_controllers)) - reinterpret_cast(df_structure); - p_table["army_tracking_info"] = reinterpret_cast(&(df_structure->army_tracking_info)) - reinterpret_cast(df_structure); - p_table["cultural_identities"] = reinterpret_cast(&(df_structure->cultural_identities)) - reinterpret_cast(df_structure); - p_table["agreements"] = reinterpret_cast(&(df_structure->agreements)) - reinterpret_cast(df_structure); - p_table["poetic_forms"] = reinterpret_cast(&(df_structure->poetic_forms)) - reinterpret_cast(df_structure); - p_table["musical_forms"] = reinterpret_cast(&(df_structure->musical_forms)) - reinterpret_cast(df_structure); - p_table["dance_forms"] = reinterpret_cast(&(df_structure->dance_forms)) - reinterpret_cast(df_structure); - p_table["scales"] = reinterpret_cast(&(df_structure->scales)) - reinterpret_cast(df_structure); - p_table["rhythms"] = reinterpret_cast(&(df_structure->rhythms)) - reinterpret_cast(df_structure); - p_table["occupations"] = reinterpret_cast(&(df_structure->occupations)) - reinterpret_cast(df_structure); - p_table["belief_systems"] = reinterpret_cast(&(df_structure->belief_systems)) - reinterpret_cast(df_structure); - p_table["selected_building"] = reinterpret_cast(&(df_structure->selected_building)) - reinterpret_cast(df_structure); - p_table["selected_stockpile_type"] = reinterpret_cast(&(df_structure->selected_stockpile_type)) - reinterpret_cast(df_structure); - p_table["update_selected_building"] = reinterpret_cast(&(df_structure->update_selected_building)) - reinterpret_cast(df_structure); - p_table["building_width"] = reinterpret_cast(&(df_structure->building_width)) - reinterpret_cast(df_structure); - p_table["building_height"] = reinterpret_cast(&(df_structure->building_height)) - reinterpret_cast(df_structure); - p_table["selected_direction"] = reinterpret_cast(&(df_structure->selected_direction)) - reinterpret_cast(df_structure); - p_table["map"] = reinterpret_cast(&(df_structure->map)) - reinterpret_cast(df_structure); - p_table["profession_skills"] = reinterpret_cast(&(df_structure->profession_skills)) - reinterpret_cast(df_structure); - p_table["math"] = reinterpret_cast(&(df_structure->math)) - reinterpret_cast(df_structure); - p_table["map_extras"] = reinterpret_cast(&(df_structure->map_extras)) - reinterpret_cast(df_structure); - p_table["world_data"] = reinterpret_cast(&(df_structure->world_data)) - reinterpret_cast(df_structure); - p_table["worldgen_status"] = reinterpret_cast(&(df_structure->worldgen_status)) - reinterpret_cast(df_structure); - p_table["orphaned_flow_pool"] = reinterpret_cast(&(df_structure->orphaned_flow_pool)) - reinterpret_cast(df_structure); - p_table["raws"] = reinterpret_cast(&(df_structure->raws)) - reinterpret_cast(df_structure); - p_table["unk_59dc4"] = reinterpret_cast(&(df_structure->unk_59dc4)) - reinterpret_cast(df_structure); - p_table["flow_engine"] = reinterpret_cast(&(df_structure->flow_engine)) - reinterpret_cast(df_structure); - p_table["busy_buildings"] = reinterpret_cast(&(df_structure->busy_buildings)) - reinterpret_cast(df_structure); - p_table["cavein_flags"] = reinterpret_cast(&(df_structure->cavein_flags)) - reinterpret_cast(df_structure); - p_table["original_save_version"] = reinterpret_cast(&(df_structure->original_save_version)) - reinterpret_cast(df_structure); - p_table["worldgen"] = reinterpret_cast(&(df_structure->worldgen)) - reinterpret_cast(df_structure); - p_table["history"] = reinterpret_cast(&(df_structure->history)) - reinterpret_cast(df_structure); - p_table["entity_populations"] = reinterpret_cast(&(df_structure->entity_populations)) - reinterpret_cast(df_structure); - p_table["unk_v40_6"] = reinterpret_cast(&(df_structure->unk_v40_6)) - reinterpret_cast(df_structure); - p_table["unk_131ec0"] = reinterpret_cast(&(df_structure->unk_131ec0)) - reinterpret_cast(df_structure); - p_table["languages"] = reinterpret_cast(&(df_structure->languages)) - reinterpret_cast(df_structure); - p_table["unk_131ef0"] = reinterpret_cast(&(df_structure->unk_131ef0)) - reinterpret_cast(df_structure); - p_table["unk_131f08"] = reinterpret_cast(&(df_structure->unk_131f08)) - reinterpret_cast(df_structure); - p_table["reindex_pathfinding"] = reinterpret_cast(&(df_structure->reindex_pathfinding)) - reinterpret_cast(df_structure); - p_table["frame_counter"] = reinterpret_cast(&(df_structure->frame_counter)) - reinterpret_cast(df_structure); - p_table["orphaned_flows"] = reinterpret_cast(&(df_structure->orphaned_flows)) - reinterpret_cast(df_structure); - p_table["pathfinder"] = reinterpret_cast(&(df_structure->pathfinder)) - reinterpret_cast(df_structure); - p_table["save_version"] = reinterpret_cast(&(df_structure->save_version)) - reinterpret_cast(df_structure); - p_table["cur_savegame"] = reinterpret_cast(&(df_structure->cur_savegame)) - reinterpret_cast(df_structure); - p_table["unk_v40_3s"] = reinterpret_cast(&(df_structure->unk_v40_3s)) - reinterpret_cast(df_structure); - p_table["unk_v40_4s"] = reinterpret_cast(&(df_structure->unk_v40_4s)) - reinterpret_cast(df_structure); - p_table["unk_v40_5s"] = reinterpret_cast(&(df_structure->unk_v40_5s)) - reinterpret_cast(df_structure); - p_table["unk_v40_6s"] = reinterpret_cast(&(df_structure->unk_v40_6s)) - reinterpret_cast(df_structure); - p_table["unk_v40_7s"] = reinterpret_cast(&(df_structure->unk_v40_7s)) - reinterpret_cast(df_structure); - p_table["features"] = reinterpret_cast(&(df_structure->features)) - reinterpret_cast(df_structure); - p_table["unk_26a9a8"] = reinterpret_cast(&(df_structure->unk_26a9a8)) - reinterpret_cast(df_structure); - p_table["unk_26a9a9"] = reinterpret_cast(&(df_structure->unk_26a9a9)) - reinterpret_cast(df_structure); - p_table["unk_26a9aa"] = reinterpret_cast(&(df_structure->unk_26a9aa)) - reinterpret_cast(df_structure); - p_table["arena_spawn"] = reinterpret_cast(&(df_structure->arena_spawn)) - reinterpret_cast(df_structure); - p_table["arena_settings"] = reinterpret_cast(&(df_structure->arena_settings)) - reinterpret_cast(df_structure); - p_table["unk_26b5b8"] = reinterpret_cast(&(df_structure->unk_26b5b8)) - reinterpret_cast(df_structure); - p_table["unk_26b5b9"] = reinterpret_cast(&(df_structure->unk_26b5b9)) - reinterpret_cast(df_structure); - p_table["unk_19325c"] = reinterpret_cast(&(df_structure->unk_19325c)) - reinterpret_cast(df_structure); - p_table["unk_26b618"] = reinterpret_cast(&(df_structure->unk_26b618)) - reinterpret_cast(df_structure); -} - -void generate_T_cursor_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["x"] = reinterpret_cast(&(df_structure->x)) - reinterpret_cast(df_structure); - p_table["y"] = reinterpret_cast(&(df_structure->y)) - reinterpret_cast(df_structure); - p_table["z"] = reinterpret_cast(&(df_structure->z)) - reinterpret_cast(df_structure); -} - -void generate_T_selection_rect_offsets(void* p_df_structure, std::unordered_map& p_table) -{ - auto df_structure = static_cast(p_df_structure); - - p_table["start_x"] = reinterpret_cast(&(df_structure->start_x)) - reinterpret_cast(df_structure); - p_table["start_y"] = reinterpret_cast(&(df_structure->start_y)) - reinterpret_cast(df_structure); - p_table["start_z"] = reinterpret_cast(&(df_structure->start_z)) - reinterpret_cast(df_structure); - p_table["end_x"] = reinterpret_cast(&(df_structure->end_x)) - reinterpret_cast(df_structure); - p_table["end_y"] = reinterpret_cast(&(df_structure->end_y)) - reinterpret_cast(df_structure); - p_table["end_z"] = reinterpret_cast(&(df_structure->end_z)) - reinterpret_cast(df_structure); -} - -} +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "df_all.h" +#include "DF_Types.h" +#include + +namespace rdf +{ +void generate_text_info_elementst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_text_info_element_longst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["val"] = reinterpret_cast(&(df_structure->val)) - reinterpret_cast(df_structure); +} + +void generate_text_info_element_stringst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["val"] = reinterpret_cast(&(df_structure->val)) - reinterpret_cast(df_structure); +} + +void generate_adventure_optionst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_adventure_item_interact_choicest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_adventure_item_interact_pull_outst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_adventure_item_interact_readst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_adventure_item_interact_strugglest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_popup_message_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["text"] = reinterpret_cast(&(df_structure->text)) - reinterpret_cast(df_structure); + p_table["color"] = reinterpret_cast(&(df_structure->color)) - reinterpret_cast(df_structure); + p_table["bright"] = reinterpret_cast(&(df_structure->bright)) - reinterpret_cast(df_structure); +} + +void generate_art_image_element_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["count"] = reinterpret_cast(&(df_structure->count)) - reinterpret_cast(df_structure); +} + +void generate_art_image_element_creaturest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); + p_table["caste"] = reinterpret_cast(&(df_structure->caste)) - reinterpret_cast(df_structure); + p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); +} + +void generate_art_image_element_plantst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["plant_id"] = reinterpret_cast(&(df_structure->plant_id)) - reinterpret_cast(df_structure); +} + +void generate_art_image_element_treest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["plant_id"] = reinterpret_cast(&(df_structure->plant_id)) - reinterpret_cast(df_structure); +} + +void generate_art_image_element_shapest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["shape_id"] = reinterpret_cast(&(df_structure->shape_id)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_art_image_property_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); +} + +void generate_art_image_ref_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["subid"] = reinterpret_cast(&(df_structure->subid)) - reinterpret_cast(df_structure); + p_table["civ_id"] = reinterpret_cast(&(df_structure->civ_id)) - reinterpret_cast(df_structure); + p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); +} + +void generate_poetic_form_perspective_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_musical_form_sub4_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); +} + +void generate_musical_form_interval_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["degree"] = reinterpret_cast(&(df_structure->degree)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); +} + +void generate_dance_form_sub1_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); + p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); + p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); + p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); + p_table["anon_11"] = reinterpret_cast(&(df_structure->anon_11)) - reinterpret_cast(df_structure); + p_table["anon_12"] = reinterpret_cast(&(df_structure->anon_12)) - reinterpret_cast(df_structure); + p_table["anon_13"] = reinterpret_cast(&(df_structure->anon_13)) - reinterpret_cast(df_structure); + p_table["anon_14"] = reinterpret_cast(&(df_structure->anon_14)) - reinterpret_cast(df_structure); + p_table["anon_15"] = reinterpret_cast(&(df_structure->anon_15)) - reinterpret_cast(df_structure); + p_table["anon_16"] = reinterpret_cast(&(df_structure->anon_16)) - reinterpret_cast(df_structure); + p_table["anon_17"] = reinterpret_cast(&(df_structure->anon_17)) - reinterpret_cast(df_structure); + p_table["anon_18"] = reinterpret_cast(&(df_structure->anon_18)) - reinterpret_cast(df_structure); + p_table["anon_19"] = reinterpret_cast(&(df_structure->anon_19)) - reinterpret_cast(df_structure); +} + +void generate_dance_form_sub2_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); +} + +void generate_scale_sub1_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); +} + +void generate_scale_sub2_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); +} + +void generate_rhythm_sub2_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); +} + +void generate_occupation_sub1_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); + p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); + p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); + p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); + p_table["anon_11"] = reinterpret_cast(&(df_structure->anon_11)) - reinterpret_cast(df_structure); + p_table["anon_12"] = reinterpret_cast(&(df_structure->anon_12)) - reinterpret_cast(df_structure); + p_table["anon_13"] = reinterpret_cast(&(df_structure->anon_13)) - reinterpret_cast(df_structure); + p_table["anon_14"] = reinterpret_cast(&(df_structure->anon_14)) - reinterpret_cast(df_structure); + p_table["anon_15"] = reinterpret_cast(&(df_structure->anon_15)) - reinterpret_cast(df_structure); + p_table["anon_16"] = reinterpret_cast(&(df_structure->anon_16)) - reinterpret_cast(df_structure); + p_table["anon_17"] = reinterpret_cast(&(df_structure->anon_17)) - reinterpret_cast(df_structure); + p_table["anon_18"] = reinterpret_cast(&(df_structure->anon_18)) - reinterpret_cast(df_structure); + p_table["anon_19"] = reinterpret_cast(&(df_structure->anon_19)) - reinterpret_cast(df_structure); +} + +void generate_building_extents_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["extents"] = reinterpret_cast(&(df_structure->extents)) - reinterpret_cast(df_structure); + p_table["x"] = reinterpret_cast(&(df_structure->x)) - reinterpret_cast(df_structure); + p_table["y"] = reinterpret_cast(&(df_structure->y)) - reinterpret_cast(df_structure); + p_table["width"] = reinterpret_cast(&(df_structure->width)) - reinterpret_cast(df_structure); + p_table["height"] = reinterpret_cast(&(df_structure->height)) - reinterpret_cast(df_structure); +} + +void generate_building_drawbuffer_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["tile"] = reinterpret_cast(&(df_structure->tile)) - reinterpret_cast(df_structure); + p_table["fore"] = reinterpret_cast(&(df_structure->fore)) - reinterpret_cast(df_structure); + p_table["back"] = reinterpret_cast(&(df_structure->back)) - reinterpret_cast(df_structure); + p_table["bright"] = reinterpret_cast(&(df_structure->bright)) - reinterpret_cast(df_structure); + p_table["x1"] = reinterpret_cast(&(df_structure->x1)) - reinterpret_cast(df_structure); + p_table["x2"] = reinterpret_cast(&(df_structure->x2)) - reinterpret_cast(df_structure); + p_table["y1"] = reinterpret_cast(&(df_structure->y1)) - reinterpret_cast(df_structure); + p_table["y2"] = reinterpret_cast(&(df_structure->y2)) - reinterpret_cast(df_structure); +} + +void generate_hospital_supplies_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["supplies_needed"] = reinterpret_cast(&(df_structure->supplies_needed)) - reinterpret_cast(df_structure); + p_table["max_splints"] = reinterpret_cast(&(df_structure->max_splints)) - reinterpret_cast(df_structure); + p_table["max_thread"] = reinterpret_cast(&(df_structure->max_thread)) - reinterpret_cast(df_structure); + p_table["max_cloth"] = reinterpret_cast(&(df_structure->max_cloth)) - reinterpret_cast(df_structure); + p_table["max_crutches"] = reinterpret_cast(&(df_structure->max_crutches)) - reinterpret_cast(df_structure); + p_table["max_plaster"] = reinterpret_cast(&(df_structure->max_plaster)) - reinterpret_cast(df_structure); + p_table["max_buckets"] = reinterpret_cast(&(df_structure->max_buckets)) - reinterpret_cast(df_structure); + p_table["max_soap"] = reinterpret_cast(&(df_structure->max_soap)) - reinterpret_cast(df_structure); + p_table["cur_splints"] = reinterpret_cast(&(df_structure->cur_splints)) - reinterpret_cast(df_structure); + p_table["cur_thread"] = reinterpret_cast(&(df_structure->cur_thread)) - reinterpret_cast(df_structure); + p_table["cur_cloth"] = reinterpret_cast(&(df_structure->cur_cloth)) - reinterpret_cast(df_structure); + p_table["cur_crutches"] = reinterpret_cast(&(df_structure->cur_crutches)) - reinterpret_cast(df_structure); + p_table["cur_plaster"] = reinterpret_cast(&(df_structure->cur_plaster)) - reinterpret_cast(df_structure); + p_table["cur_buckets"] = reinterpret_cast(&(df_structure->cur_buckets)) - reinterpret_cast(df_structure); + p_table["cur_soap"] = reinterpret_cast(&(df_structure->cur_soap)) - reinterpret_cast(df_structure); + p_table["supply_recheck_timer"] = reinterpret_cast(&(df_structure->supply_recheck_timer)) - reinterpret_cast(df_structure); +} + +void generate_building_users_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); + p_table["mode"] = reinterpret_cast(&(df_structure->mode)) - reinterpret_cast(df_structure); +} + +void generate_pressure_plate_info_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unit_min"] = reinterpret_cast(&(df_structure->unit_min)) - reinterpret_cast(df_structure); + p_table["unit_max"] = reinterpret_cast(&(df_structure->unit_max)) - reinterpret_cast(df_structure); + p_table["water_min"] = reinterpret_cast(&(df_structure->water_min)) - reinterpret_cast(df_structure); + p_table["water_max"] = reinterpret_cast(&(df_structure->water_max)) - reinterpret_cast(df_structure); + p_table["magma_min"] = reinterpret_cast(&(df_structure->magma_min)) - reinterpret_cast(df_structure); + p_table["magma_max"] = reinterpret_cast(&(df_structure->magma_max)) - reinterpret_cast(df_structure); + p_table["track_min"] = reinterpret_cast(&(df_structure->track_min)) - reinterpret_cast(df_structure); + p_table["track_max"] = reinterpret_cast(&(df_structure->track_max)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); +} + +void generate_body_part_layer_raw_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["layer_name"] = reinterpret_cast(&(df_structure->layer_name)) - reinterpret_cast(df_structure); + p_table["tissue_id"] = reinterpret_cast(&(df_structure->tissue_id)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["part_fraction"] = reinterpret_cast(&(df_structure->part_fraction)) - reinterpret_cast(df_structure); + p_table["healing_rate"] = reinterpret_cast(&(df_structure->healing_rate)) - reinterpret_cast(df_structure); + p_table["vascular"] = reinterpret_cast(&(df_structure->vascular)) - reinterpret_cast(df_structure); + p_table["pain_receptors"] = reinterpret_cast(&(df_structure->pain_receptors)) - reinterpret_cast(df_structure); + p_table["unk6"] = reinterpret_cast(&(df_structure->unk6)) - reinterpret_cast(df_structure); + p_table["unk7"] = reinterpret_cast(&(df_structure->unk7)) - reinterpret_cast(df_structure); + p_table["bp_modifiers"] = reinterpret_cast(&(df_structure->bp_modifiers)) - reinterpret_cast(df_structure); + p_table["layer_id"] = reinterpret_cast(&(df_structure->layer_id)) - reinterpret_cast(df_structure); + p_table["parent_idx"] = reinterpret_cast(&(df_structure->parent_idx)) - reinterpret_cast(df_structure); + p_table["parent_layer_id"] = reinterpret_cast(&(df_structure->parent_layer_id)) - reinterpret_cast(df_structure); + p_table["layer_depth"] = reinterpret_cast(&(df_structure->layer_depth)) - reinterpret_cast(df_structure); + p_table["leak_barrier_id"] = reinterpret_cast(&(df_structure->leak_barrier_id)) - reinterpret_cast(df_structure); + p_table["nonsolid_id"] = reinterpret_cast(&(df_structure->nonsolid_id)) - reinterpret_cast(df_structure); + p_table["styleable_id"] = reinterpret_cast(&(df_structure->styleable_id)) - reinterpret_cast(df_structure); +} + +void generate_color_modifier_raw_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["pattern_index"] = reinterpret_cast(&(df_structure->pattern_index)) - reinterpret_cast(df_structure); + p_table["pattern_frequency"] = reinterpret_cast(&(df_structure->pattern_frequency)) - reinterpret_cast(df_structure); + p_table["body_part_id"] = reinterpret_cast(&(df_structure->body_part_id)) - reinterpret_cast(df_structure); + p_table["tissue_layer_id"] = reinterpret_cast(&(df_structure->tissue_layer_id)) - reinterpret_cast(df_structure); + p_table["unk5"] = reinterpret_cast(&(df_structure->unk5)) - reinterpret_cast(df_structure); + p_table["start_date"] = reinterpret_cast(&(df_structure->start_date)) - reinterpret_cast(df_structure); + p_table["end_date"] = reinterpret_cast(&(df_structure->end_date)) - reinterpret_cast(df_structure); + p_table["unk6"] = reinterpret_cast(&(df_structure->unk6)) - reinterpret_cast(df_structure); + p_table["part"] = reinterpret_cast(&(df_structure->part)) - reinterpret_cast(df_structure); + p_table["unk_6c"] = reinterpret_cast(&(df_structure->unk_6c)) - reinterpret_cast(df_structure); + p_table["unk_6e"] = reinterpret_cast(&(df_structure->unk_6e)) - reinterpret_cast(df_structure); + p_table["unk_70"] = reinterpret_cast(&(df_structure->unk_70)) - reinterpret_cast(df_structure); + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["unk_78"] = reinterpret_cast(&(df_structure->unk_78)) - reinterpret_cast(df_structure); + p_table["unk_88"] = reinterpret_cast(&(df_structure->unk_88)) - reinterpret_cast(df_structure); +} + +void generate_gait_info_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["action_string_idx"] = reinterpret_cast(&(df_structure->action_string_idx)) - reinterpret_cast(df_structure); + p_table["full_speed"] = reinterpret_cast(&(df_structure->full_speed)) - reinterpret_cast(df_structure); + p_table["buildup_time"] = reinterpret_cast(&(df_structure->buildup_time)) - reinterpret_cast(df_structure); + p_table["turn_max"] = reinterpret_cast(&(df_structure->turn_max)) - reinterpret_cast(df_structure); + p_table["start_speed"] = reinterpret_cast(&(df_structure->start_speed)) - reinterpret_cast(df_structure); + p_table["energy_use"] = reinterpret_cast(&(df_structure->energy_use)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["stealth_slows"] = reinterpret_cast(&(df_structure->stealth_slows)) - reinterpret_cast(df_structure); +} + +void generate_creature_graphics_appointment_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["token"] = reinterpret_cast(&(df_structure->token)) - reinterpret_cast(df_structure); + p_table["texpos"] = reinterpret_cast(&(df_structure->texpos)) - reinterpret_cast(df_structure); + p_table["texpos_gs"] = reinterpret_cast(&(df_structure->texpos_gs)) - reinterpret_cast(df_structure); + p_table["add_color"] = reinterpret_cast(&(df_structure->add_color)) - reinterpret_cast(df_structure); +} + +void generate_creature_variation_convert_tag_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["cvct_master"] = reinterpret_cast(&(df_structure->cvct_master)) - reinterpret_cast(df_structure); + p_table["cvct_target"] = reinterpret_cast(&(df_structure->cvct_target)) - reinterpret_cast(df_structure); + p_table["cvct_replacement"] = reinterpret_cast(&(df_structure->cvct_replacement)) - reinterpret_cast(df_structure); + p_table["unk_v40_1"] = reinterpret_cast(&(df_structure->unk_v40_1)) - reinterpret_cast(df_structure); + p_table["unk_v40_2"] = reinterpret_cast(&(df_structure->unk_v40_2)) - reinterpret_cast(df_structure); +} + +void generate_body_detail_plan_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["add_material_name"] = reinterpret_cast(&(df_structure->add_material_name)) - reinterpret_cast(df_structure); + p_table["add_material_template"] = reinterpret_cast(&(df_structure->add_material_template)) - reinterpret_cast(df_structure); + p_table["add_tissue_name"] = reinterpret_cast(&(df_structure->add_tissue_name)) - reinterpret_cast(df_structure); + p_table["add_tissue_template"] = reinterpret_cast(&(df_structure->add_tissue_template)) - reinterpret_cast(df_structure); + p_table["unk5c"] = reinterpret_cast(&(df_structure->unk5c)) - reinterpret_cast(df_structure); + p_table["unk6c"] = reinterpret_cast(&(df_structure->unk6c)) - reinterpret_cast(df_structure); + p_table["unk7c"] = reinterpret_cast(&(df_structure->unk7c)) - reinterpret_cast(df_structure); + p_table["bp_layers_selection"] = reinterpret_cast(&(df_structure->bp_layers_selection)) - reinterpret_cast(df_structure); + p_table["bp_layers_criteria"] = reinterpret_cast(&(df_structure->bp_layers_criteria)) - reinterpret_cast(df_structure); + p_table["bp_layers_tissue"] = reinterpret_cast(&(df_structure->bp_layers_tissue)) - reinterpret_cast(df_structure); + p_table["bp_layers_thickness"] = reinterpret_cast(&(df_structure->bp_layers_thickness)) - reinterpret_cast(df_structure); + p_table["bp_layers_position"] = reinterpret_cast(&(df_structure->bp_layers_position)) - reinterpret_cast(df_structure); + p_table["bp_layers_over_under"] = reinterpret_cast(&(df_structure->bp_layers_over_under)) - reinterpret_cast(df_structure); + p_table["bp_relsize_selection"] = reinterpret_cast(&(df_structure->bp_relsize_selection)) - reinterpret_cast(df_structure); + p_table["bp_relsize_criteria"] = reinterpret_cast(&(df_structure->bp_relsize_criteria)) - reinterpret_cast(df_structure); + p_table["bp_relsize_value"] = reinterpret_cast(&(df_structure->bp_relsize_value)) - reinterpret_cast(df_structure); + p_table["bp_position_selection"] = reinterpret_cast(&(df_structure->bp_position_selection)) - reinterpret_cast(df_structure); + p_table["bp_position_criteria"] = reinterpret_cast(&(df_structure->bp_position_criteria)) - reinterpret_cast(df_structure); + p_table["bp_position_value"] = reinterpret_cast(&(df_structure->bp_position_value)) - reinterpret_cast(df_structure); + p_table["bp_relation_selection_1"] = reinterpret_cast(&(df_structure->bp_relation_selection_1)) - reinterpret_cast(df_structure); + p_table["bp_relation_criteria_1"] = reinterpret_cast(&(df_structure->bp_relation_criteria_1)) - reinterpret_cast(df_structure); + p_table["bp_relation_value_1"] = reinterpret_cast(&(df_structure->bp_relation_value_1)) - reinterpret_cast(df_structure); + p_table["bp_relation_selection_2"] = reinterpret_cast(&(df_structure->bp_relation_selection_2)) - reinterpret_cast(df_structure); + p_table["bp_relation_criteria_2"] = reinterpret_cast(&(df_structure->bp_relation_criteria_2)) - reinterpret_cast(df_structure); + p_table["bp_relation_extent"] = reinterpret_cast(&(df_structure->bp_relation_extent)) - reinterpret_cast(df_structure); +} + +void generate_descriptor_color_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["word_unk"] = reinterpret_cast(&(df_structure->word_unk)) - reinterpret_cast(df_structure); + p_table["words"] = reinterpret_cast(&(df_structure->words)) - reinterpret_cast(df_structure); + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["color"] = reinterpret_cast(&(df_structure->color)) - reinterpret_cast(df_structure); + p_table["bold"] = reinterpret_cast(&(df_structure->bold)) - reinterpret_cast(df_structure); + p_table["red"] = reinterpret_cast(&(df_structure->red)) - reinterpret_cast(df_structure); + p_table["green"] = reinterpret_cast(&(df_structure->green)) - reinterpret_cast(df_structure); + p_table["blue"] = reinterpret_cast(&(df_structure->blue)) - reinterpret_cast(df_structure); +} + +void generate_descriptor_shape_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["word_unk"] = reinterpret_cast(&(df_structure->word_unk)) - reinterpret_cast(df_structure); + p_table["words"] = reinterpret_cast(&(df_structure->words)) - reinterpret_cast(df_structure); + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["name_plural"] = reinterpret_cast(&(df_structure->name_plural)) - reinterpret_cast(df_structure); + p_table["adj"] = reinterpret_cast(&(df_structure->adj)) - reinterpret_cast(df_structure); + p_table["gems_use"] = reinterpret_cast(&(df_structure->gems_use)) - reinterpret_cast(df_structure); + p_table["tile"] = reinterpret_cast(&(df_structure->tile)) - reinterpret_cast(df_structure); +} + +void generate_entity_activity_statistics__T_food_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["total"] = reinterpret_cast(&(df_structure->total)) - reinterpret_cast(df_structure); + p_table["meat"] = reinterpret_cast(&(df_structure->meat)) - reinterpret_cast(df_structure); + p_table["fish"] = reinterpret_cast(&(df_structure->fish)) - reinterpret_cast(df_structure); + p_table["other"] = reinterpret_cast(&(df_structure->other)) - reinterpret_cast(df_structure); + p_table["seeds"] = reinterpret_cast(&(df_structure->seeds)) - reinterpret_cast(df_structure); + p_table["plant"] = reinterpret_cast(&(df_structure->plant)) - reinterpret_cast(df_structure); + p_table["drink"] = reinterpret_cast(&(df_structure->drink)) - reinterpret_cast(df_structure); +} + +void generate_entity_activity_statistics__T_wealth_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["total"] = reinterpret_cast(&(df_structure->total)) - reinterpret_cast(df_structure); + p_table["weapons"] = reinterpret_cast(&(df_structure->weapons)) - reinterpret_cast(df_structure); + p_table["armor"] = reinterpret_cast(&(df_structure->armor)) - reinterpret_cast(df_structure); + p_table["furniture"] = reinterpret_cast(&(df_structure->furniture)) - reinterpret_cast(df_structure); + p_table["other"] = reinterpret_cast(&(df_structure->other)) - reinterpret_cast(df_structure); + p_table["architecture"] = reinterpret_cast(&(df_structure->architecture)) - reinterpret_cast(df_structure); + p_table["displayed"] = reinterpret_cast(&(df_structure->displayed)) - reinterpret_cast(df_structure); + p_table["held"] = reinterpret_cast(&(df_structure->held)) - reinterpret_cast(df_structure); + p_table["imported"] = reinterpret_cast(&(df_structure->imported)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["exported"] = reinterpret_cast(&(df_structure->exported)) - reinterpret_cast(df_structure); +} + +void generate_entity_activity_statistics_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["food"] = reinterpret_cast(&(df_structure->food)) - reinterpret_cast(df_structure); + p_table["unit_counts"] = reinterpret_cast(&(df_structure->unit_counts)) - reinterpret_cast(df_structure); + p_table["population"] = reinterpret_cast(&(df_structure->population)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["trained_animals"] = reinterpret_cast(&(df_structure->trained_animals)) - reinterpret_cast(df_structure); + p_table["other_animals"] = reinterpret_cast(&(df_structure->other_animals)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["item_counts"] = reinterpret_cast(&(df_structure->item_counts)) - reinterpret_cast(df_structure); + p_table["created_weapons"] = reinterpret_cast(&(df_structure->created_weapons)) - reinterpret_cast(df_structure); + p_table["wealth"] = reinterpret_cast(&(df_structure->wealth)) - reinterpret_cast(df_structure); + p_table["recent_jobs"] = reinterpret_cast(&(df_structure->recent_jobs)) - reinterpret_cast(df_structure); + p_table["excavated_tiles"] = reinterpret_cast(&(df_structure->excavated_tiles)) - reinterpret_cast(df_structure); + p_table["death_history"] = reinterpret_cast(&(df_structure->death_history)) - reinterpret_cast(df_structure); + p_table["insanity_history"] = reinterpret_cast(&(df_structure->insanity_history)) - reinterpret_cast(df_structure); + p_table["execution_history"] = reinterpret_cast(&(df_structure->execution_history)) - reinterpret_cast(df_structure); + p_table["noble_death_history"] = reinterpret_cast(&(df_structure->noble_death_history)) - reinterpret_cast(df_structure); + p_table["total_deaths"] = reinterpret_cast(&(df_structure->total_deaths)) - reinterpret_cast(df_structure); + p_table["total_insanities"] = reinterpret_cast(&(df_structure->total_insanities)) - reinterpret_cast(df_structure); + p_table["total_executions"] = reinterpret_cast(&(df_structure->total_executions)) - reinterpret_cast(df_structure); + p_table["num_artifacts"] = reinterpret_cast(&(df_structure->num_artifacts)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["discovered_creature_foods"] = reinterpret_cast(&(df_structure->discovered_creature_foods)) - reinterpret_cast(df_structure); + p_table["discovered_creatures"] = reinterpret_cast(&(df_structure->discovered_creatures)) - reinterpret_cast(df_structure); + p_table["discovered_plant_foods"] = reinterpret_cast(&(df_structure->discovered_plant_foods)) - reinterpret_cast(df_structure); + p_table["discovered_plants"] = reinterpret_cast(&(df_structure->discovered_plants)) - reinterpret_cast(df_structure); + p_table["discovered_water_features"] = reinterpret_cast(&(df_structure->discovered_water_features)) - reinterpret_cast(df_structure); + p_table["discovered_subterranean_features"] = reinterpret_cast(&(df_structure->discovered_subterranean_features)) - reinterpret_cast(df_structure); + p_table["discovered_chasm_features"] = reinterpret_cast(&(df_structure->discovered_chasm_features)) - reinterpret_cast(df_structure); + p_table["discovered_magma_features"] = reinterpret_cast(&(df_structure->discovered_magma_features)) - reinterpret_cast(df_structure); + p_table["discovered_feature_layers"] = reinterpret_cast(&(df_structure->discovered_feature_layers)) - reinterpret_cast(df_structure); + p_table["migrant_wave_idx"] = reinterpret_cast(&(df_structure->migrant_wave_idx)) - reinterpret_cast(df_structure); + p_table["found_minerals"] = reinterpret_cast(&(df_structure->found_minerals)) - reinterpret_cast(df_structure); + p_table["found_misc"] = reinterpret_cast(&(df_structure->found_misc)) - reinterpret_cast(df_structure); +} + +void generate_entity_sell_requests_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["priority"] = reinterpret_cast(&(df_structure->priority)) - reinterpret_cast(df_structure); +} + +void generate_entity_tissue_style_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["preferred_shapings"] = reinterpret_cast(&(df_structure->preferred_shapings)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["maintain_length_min"] = reinterpret_cast(&(df_structure->maintain_length_min)) - reinterpret_cast(df_structure); + p_table["maintain_length_max"] = reinterpret_cast(&(df_structure->maintain_length_max)) - reinterpret_cast(df_structure); + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); +} + +void generate_entity_position_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["code"] = reinterpret_cast(&(df_structure->code)) - reinterpret_cast(df_structure); + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["allowed_creature"] = reinterpret_cast(&(df_structure->allowed_creature)) - reinterpret_cast(df_structure); + p_table["allowed_class"] = reinterpret_cast(&(df_structure->allowed_class)) - reinterpret_cast(df_structure); + p_table["rejected_creature"] = reinterpret_cast(&(df_structure->rejected_creature)) - reinterpret_cast(df_structure); + p_table["rejected_class"] = reinterpret_cast(&(df_structure->rejected_class)) - reinterpret_cast(df_structure); + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["name_female"] = reinterpret_cast(&(df_structure->name_female)) - reinterpret_cast(df_structure); + p_table["name_male"] = reinterpret_cast(&(df_structure->name_male)) - reinterpret_cast(df_structure); + p_table["spouse"] = reinterpret_cast(&(df_structure->spouse)) - reinterpret_cast(df_structure); + p_table["spouse_female"] = reinterpret_cast(&(df_structure->spouse_female)) - reinterpret_cast(df_structure); + p_table["spouse_male"] = reinterpret_cast(&(df_structure->spouse_male)) - reinterpret_cast(df_structure); + p_table["squad"] = reinterpret_cast(&(df_structure->squad)) - reinterpret_cast(df_structure); + p_table["land_name"] = reinterpret_cast(&(df_structure->land_name)) - reinterpret_cast(df_structure); + p_table["squad_size"] = reinterpret_cast(&(df_structure->squad_size)) - reinterpret_cast(df_structure); + p_table["commander_id"] = reinterpret_cast(&(df_structure->commander_id)) - reinterpret_cast(df_structure); + p_table["commander_civ"] = reinterpret_cast(&(df_structure->commander_civ)) - reinterpret_cast(df_structure); + p_table["commander_types"] = reinterpret_cast(&(df_structure->commander_types)) - reinterpret_cast(df_structure); + p_table["land_holder"] = reinterpret_cast(&(df_structure->land_holder)) - reinterpret_cast(df_structure); + p_table["requires_population"] = reinterpret_cast(&(df_structure->requires_population)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["precedence"] = reinterpret_cast(&(df_structure->precedence)) - reinterpret_cast(df_structure); + p_table["replaced_by"] = reinterpret_cast(&(df_structure->replaced_by)) - reinterpret_cast(df_structure); + p_table["number"] = reinterpret_cast(&(df_structure->number)) - reinterpret_cast(df_structure); + p_table["appointed_by"] = reinterpret_cast(&(df_structure->appointed_by)) - reinterpret_cast(df_structure); + p_table["appointed_by_civ"] = reinterpret_cast(&(df_structure->appointed_by_civ)) - reinterpret_cast(df_structure); + p_table["succession_by_position"] = reinterpret_cast(&(df_structure->succession_by_position)) - reinterpret_cast(df_structure); + p_table["responsibilities"] = reinterpret_cast(&(df_structure->responsibilities)) - reinterpret_cast(df_structure); + p_table["color"] = reinterpret_cast(&(df_structure->color)) - reinterpret_cast(df_structure); + p_table["required_boxes"] = reinterpret_cast(&(df_structure->required_boxes)) - reinterpret_cast(df_structure); + p_table["required_cabinets"] = reinterpret_cast(&(df_structure->required_cabinets)) - reinterpret_cast(df_structure); + p_table["required_racks"] = reinterpret_cast(&(df_structure->required_racks)) - reinterpret_cast(df_structure); + p_table["required_stands"] = reinterpret_cast(&(df_structure->required_stands)) - reinterpret_cast(df_structure); + p_table["required_office"] = reinterpret_cast(&(df_structure->required_office)) - reinterpret_cast(df_structure); + p_table["required_bedroom"] = reinterpret_cast(&(df_structure->required_bedroom)) - reinterpret_cast(df_structure); + p_table["required_dining"] = reinterpret_cast(&(df_structure->required_dining)) - reinterpret_cast(df_structure); + p_table["required_tomb"] = reinterpret_cast(&(df_structure->required_tomb)) - reinterpret_cast(df_structure); + p_table["mandate_max"] = reinterpret_cast(&(df_structure->mandate_max)) - reinterpret_cast(df_structure); + p_table["demand_max"] = reinterpret_cast(&(df_structure->demand_max)) - reinterpret_cast(df_structure); +} + +void generate_entity_position_assignment_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); + p_table["histfig2"] = reinterpret_cast(&(df_structure->histfig2)) - reinterpret_cast(df_structure); + p_table["position_id"] = reinterpret_cast(&(df_structure->position_id)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["squad_id"] = reinterpret_cast(&(df_structure->squad_id)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); +} + +void generate_entity_animal_raw_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["token"] = reinterpret_cast(&(df_structure->token)) - reinterpret_cast(df_structure); + p_table["caste_token"] = reinterpret_cast(&(df_structure->caste_token)) - reinterpret_cast(df_structure); + p_table["animal_class"] = reinterpret_cast(&(df_structure->animal_class)) - reinterpret_cast(df_structure); + p_table["forbidden_class"] = reinterpret_cast(&(df_structure->forbidden_class)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); +} + +void generate_large_integer__T_u_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["low_part"] = reinterpret_cast(&(df_structure->low_part)) - reinterpret_cast(df_structure); + p_table["high_part"] = reinterpret_cast(&(df_structure->high_part)) - reinterpret_cast(df_structure); +} + +void generate_large_integer_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["low_part"] = reinterpret_cast(&(df_structure->low_part)) - reinterpret_cast(df_structure); + p_table["high_part"] = reinterpret_cast(&(df_structure->high_part)) - reinterpret_cast(df_structure); + p_table["u"] = reinterpret_cast(&(df_structure->u)) - reinterpret_cast(df_structure); + p_table["quad_part"] = reinterpret_cast(&(df_structure->quad_part)) - reinterpret_cast(df_structure); +} + +void generate_renderer_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["screen"] = reinterpret_cast(&(df_structure->screen)) - reinterpret_cast(df_structure); + p_table["screentexpos"] = reinterpret_cast(&(df_structure->screentexpos)) - reinterpret_cast(df_structure); + p_table["screentexpos_addcolor"] = reinterpret_cast(&(df_structure->screentexpos_addcolor)) - reinterpret_cast(df_structure); + p_table["screentexpos_grayscale"] = reinterpret_cast(&(df_structure->screentexpos_grayscale)) - reinterpret_cast(df_structure); + p_table["screentexpos_cf"] = reinterpret_cast(&(df_structure->screentexpos_cf)) - reinterpret_cast(df_structure); + p_table["screentexpos_cbr"] = reinterpret_cast(&(df_structure->screentexpos_cbr)) - reinterpret_cast(df_structure); + p_table["screen_old"] = reinterpret_cast(&(df_structure->screen_old)) - reinterpret_cast(df_structure); + p_table["screentexpos_old"] = reinterpret_cast(&(df_structure->screentexpos_old)) - reinterpret_cast(df_structure); + p_table["screentexpos_addcolor_old"] = reinterpret_cast(&(df_structure->screentexpos_addcolor_old)) - reinterpret_cast(df_structure); + p_table["screentexpos_grayscale_old"] = reinterpret_cast(&(df_structure->screentexpos_grayscale_old)) - reinterpret_cast(df_structure); + p_table["screentexpos_cf_old"] = reinterpret_cast(&(df_structure->screentexpos_cf_old)) - reinterpret_cast(df_structure); + p_table["screentexpos_cbr_old"] = reinterpret_cast(&(df_structure->screentexpos_cbr_old)) - reinterpret_cast(df_structure); +} + +void generate_identity_unk_94_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); +} + +void generate_mental_picture_propertyst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk_0"] = reinterpret_cast(&(df_structure->unk_0)) - reinterpret_cast(df_structure); +} + +void generate_mental_picture_property_datest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); +} + +void generate_mental_picture_property_actionst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); +} + +void generate_mental_picture_property_toolst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); +} + +void generate_mental_picture_property_emotionst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); +} + +void generate_mental_picture_property_color_patternst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); +} + +void generate_mental_picture_property_shapest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); +} + +void generate_mental_picture_property_adjectivest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); +} + +void generate_mental_picture_property_positionst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); +} + +void generate_mental_picture_property_timest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); +} + +void generate_mental_picture_elementst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk_1"] = reinterpret_cast(&(df_structure->unk_1)) - reinterpret_cast(df_structure); +} + +void generate_mental_picture_element_hfst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_mental_picture_element_sitest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_mental_picture_element_regionst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_history_event_context_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["histfig_id_talker"] = reinterpret_cast(&(df_structure->histfig_id_talker)) - reinterpret_cast(df_structure); + p_table["histfig_id_listener"] = reinterpret_cast(&(df_structure->histfig_id_listener)) - reinterpret_cast(df_structure); +} + +void generate_history_event_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["year"] = reinterpret_cast(&(df_structure->year)) - reinterpret_cast(df_structure); + p_table["seconds"] = reinterpret_cast(&(df_structure->seconds)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); +} + +void generate_history_event_war_attacked_sitest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["attacker_civ"] = reinterpret_cast(&(df_structure->attacker_civ)) - reinterpret_cast(df_structure); + p_table["defender_civ"] = reinterpret_cast(&(df_structure->defender_civ)) - reinterpret_cast(df_structure); + p_table["site_civ"] = reinterpret_cast(&(df_structure->site_civ)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["attacker_general_hf"] = reinterpret_cast(&(df_structure->attacker_general_hf)) - reinterpret_cast(df_structure); + p_table["defender_general_hf"] = reinterpret_cast(&(df_structure->defender_general_hf)) - reinterpret_cast(df_structure); +} + +void generate_history_event_war_destroyed_sitest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["attacker_civ"] = reinterpret_cast(&(df_structure->attacker_civ)) - reinterpret_cast(df_structure); + p_table["defender_civ"] = reinterpret_cast(&(df_structure->defender_civ)) - reinterpret_cast(df_structure); + p_table["site_civ"] = reinterpret_cast(&(df_structure->site_civ)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); +} + +void generate_history_event_created_sitest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["civ"] = reinterpret_cast(&(df_structure->civ)) - reinterpret_cast(df_structure); + p_table["site_civ"] = reinterpret_cast(&(df_structure->site_civ)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["builder_hf"] = reinterpret_cast(&(df_structure->builder_hf)) - reinterpret_cast(df_structure); +} + +void generate_history_event_entity_expels_hfst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["civ"] = reinterpret_cast(&(df_structure->civ)) - reinterpret_cast(df_structure); + p_table["expelled"] = reinterpret_cast(&(df_structure->expelled)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); +} + +void generate_history_event_first_contactst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["contactor"] = reinterpret_cast(&(df_structure->contactor)) - reinterpret_cast(df_structure); + p_table["contacted"] = reinterpret_cast(&(df_structure->contacted)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); +} + +void generate_history_event_first_contact_failedst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["contactor"] = reinterpret_cast(&(df_structure->contactor)) - reinterpret_cast(df_structure); + p_table["rejector"] = reinterpret_cast(&(df_structure->rejector)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); +} + +void generate_history_event_diplomat_lostst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["entity"] = reinterpret_cast(&(df_structure->entity)) - reinterpret_cast(df_structure); + p_table["involved"] = reinterpret_cast(&(df_structure->involved)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); +} + +void generate_history_event_agreements_voidedst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["source"] = reinterpret_cast(&(df_structure->source)) - reinterpret_cast(df_structure); + p_table["destination"] = reinterpret_cast(&(df_structure->destination)) - reinterpret_cast(df_structure); +} + +void generate_history_event_merchantst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["source"] = reinterpret_cast(&(df_structure->source)) - reinterpret_cast(df_structure); + p_table["destination"] = reinterpret_cast(&(df_structure->destination)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["flags2"] = reinterpret_cast(&(df_structure->flags2)) - reinterpret_cast(df_structure); +} + +void generate_history_event_artifact_hiddenst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["artifact"] = reinterpret_cast(&(df_structure->artifact)) - reinterpret_cast(df_structure); + p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); + p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); +} + +void generate_history_event_artifact_createdst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["artifact_id"] = reinterpret_cast(&(df_structure->artifact_id)) - reinterpret_cast(df_structure); + p_table["unit_id"] = reinterpret_cast(&(df_structure->unit_id)) - reinterpret_cast(df_structure); + p_table["hfid"] = reinterpret_cast(&(df_structure->hfid)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["flags2"] = reinterpret_cast(&(df_structure->flags2)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); +} + +void generate_history_event_artifact_lostst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["artifact"] = reinterpret_cast(&(df_structure->artifact)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); +} + +void generate_history_event_artifact_foundst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["artifact"] = reinterpret_cast(&(df_structure->artifact)) - reinterpret_cast(df_structure); + p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); + p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); +} + +void generate_history_event_artifact_recoveredst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["artifact"] = reinterpret_cast(&(df_structure->artifact)) - reinterpret_cast(df_structure); + p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); + p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["structure"] = reinterpret_cast(&(df_structure->structure)) - reinterpret_cast(df_structure); + p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); + p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); +} + +void generate_history_event_artifact_droppedst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["artifact"] = reinterpret_cast(&(df_structure->artifact)) - reinterpret_cast(df_structure); + p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); + p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["flags2"] = reinterpret_cast(&(df_structure->flags2)) - reinterpret_cast(df_structure); +} + +void generate_history_event_reclaim_sitest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["civ"] = reinterpret_cast(&(df_structure->civ)) - reinterpret_cast(df_structure); + p_table["site_civ"] = reinterpret_cast(&(df_structure->site_civ)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["flags2"] = reinterpret_cast(&(df_structure->flags2)) - reinterpret_cast(df_structure); +} + +void generate_history_event_hf_destroyed_sitest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["attacker_hf"] = reinterpret_cast(&(df_structure->attacker_hf)) - reinterpret_cast(df_structure); + p_table["defender_civ"] = reinterpret_cast(&(df_structure->defender_civ)) - reinterpret_cast(df_structure); + p_table["site_civ"] = reinterpret_cast(&(df_structure->site_civ)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); +} + +void generate_history_event_site_diedst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["civ"] = reinterpret_cast(&(df_structure->civ)) - reinterpret_cast(df_structure); + p_table["site_civ"] = reinterpret_cast(&(df_structure->site_civ)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["flags2"] = reinterpret_cast(&(df_structure->flags2)) - reinterpret_cast(df_structure); +} + +void generate_history_event_site_retiredst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["civ"] = reinterpret_cast(&(df_structure->civ)) - reinterpret_cast(df_structure); + p_table["site_civ"] = reinterpret_cast(&(df_structure->site_civ)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["flags2"] = reinterpret_cast(&(df_structure->flags2)) - reinterpret_cast(df_structure); +} + +void generate_history_event_entity_createdst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["entity"] = reinterpret_cast(&(df_structure->entity)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["structure"] = reinterpret_cast(&(df_structure->structure)) - reinterpret_cast(df_structure); +} + +void generate_history_event_entity_incorporatedst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["migrant_entity"] = reinterpret_cast(&(df_structure->migrant_entity)) - reinterpret_cast(df_structure); + p_table["join_entity"] = reinterpret_cast(&(df_structure->join_entity)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); +} + +void generate_history_event_created_buildingst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["civ"] = reinterpret_cast(&(df_structure->civ)) - reinterpret_cast(df_structure); + p_table["site_civ"] = reinterpret_cast(&(df_structure->site_civ)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["structure"] = reinterpret_cast(&(df_structure->structure)) - reinterpret_cast(df_structure); + p_table["builder_hf"] = reinterpret_cast(&(df_structure->builder_hf)) - reinterpret_cast(df_structure); +} + +void generate_history_event_replaced_buildingst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["civ"] = reinterpret_cast(&(df_structure->civ)) - reinterpret_cast(df_structure); + p_table["site_civ"] = reinterpret_cast(&(df_structure->site_civ)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["old_structure"] = reinterpret_cast(&(df_structure->old_structure)) - reinterpret_cast(df_structure); + p_table["new_structure"] = reinterpret_cast(&(df_structure->new_structure)) - reinterpret_cast(df_structure); +} + +void generate_history_event_entity_razed_buildingst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["civ"] = reinterpret_cast(&(df_structure->civ)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["structure"] = reinterpret_cast(&(df_structure->structure)) - reinterpret_cast(df_structure); +} + +void generate_history_event_masterpiece_createdst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["maker"] = reinterpret_cast(&(df_structure->maker)) - reinterpret_cast(df_structure); + p_table["maker_entity"] = reinterpret_cast(&(df_structure->maker_entity)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); +} + +void generate_history_event_masterpiece_created_arch_designst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["building_type"] = reinterpret_cast(&(df_structure->building_type)) - reinterpret_cast(df_structure); + p_table["building_subtype"] = reinterpret_cast(&(df_structure->building_subtype)) - reinterpret_cast(df_structure); + p_table["building_custom"] = reinterpret_cast(&(df_structure->building_custom)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); +} + +void generate_history_event_masterpiece_created_arch_constructst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["building_type"] = reinterpret_cast(&(df_structure->building_type)) - reinterpret_cast(df_structure); + p_table["building_subtype"] = reinterpret_cast(&(df_structure->building_subtype)) - reinterpret_cast(df_structure); + p_table["building_custom"] = reinterpret_cast(&(df_structure->building_custom)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); +} + +void generate_history_event_masterpiece_created_foodst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); + p_table["item_id"] = reinterpret_cast(&(df_structure->item_id)) - reinterpret_cast(df_structure); +} + +void generate_history_event_war_plundered_sitest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["attacker_civ"] = reinterpret_cast(&(df_structure->attacker_civ)) - reinterpret_cast(df_structure); + p_table["defender_civ"] = reinterpret_cast(&(df_structure->defender_civ)) - reinterpret_cast(df_structure); + p_table["site_civ"] = reinterpret_cast(&(df_structure->site_civ)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); +} + +void generate_history_event_war_site_new_leaderst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["attacker_civ"] = reinterpret_cast(&(df_structure->attacker_civ)) - reinterpret_cast(df_structure); + p_table["new_site_civ"] = reinterpret_cast(&(df_structure->new_site_civ)) - reinterpret_cast(df_structure); + p_table["defender_civ"] = reinterpret_cast(&(df_structure->defender_civ)) - reinterpret_cast(df_structure); + p_table["site_civ"] = reinterpret_cast(&(df_structure->site_civ)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["new_leaders"] = reinterpret_cast(&(df_structure->new_leaders)) - reinterpret_cast(df_structure); +} + +void generate_history_event_war_site_tribute_forcedst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["attacker_civ"] = reinterpret_cast(&(df_structure->attacker_civ)) - reinterpret_cast(df_structure); + p_table["defender_civ"] = reinterpret_cast(&(df_structure->defender_civ)) - reinterpret_cast(df_structure); + p_table["site_civ"] = reinterpret_cast(&(df_structure->site_civ)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["season"] = reinterpret_cast(&(df_structure->season)) - reinterpret_cast(df_structure); + p_table["tribute_flags"] = reinterpret_cast(&(df_structure->tribute_flags)) - reinterpret_cast(df_structure); +} + +void generate_history_event_war_site_taken_overst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["attacker_civ"] = reinterpret_cast(&(df_structure->attacker_civ)) - reinterpret_cast(df_structure); + p_table["new_site_civ"] = reinterpret_cast(&(df_structure->new_site_civ)) - reinterpret_cast(df_structure); + p_table["defender_civ"] = reinterpret_cast(&(df_structure->defender_civ)) - reinterpret_cast(df_structure); + p_table["site_civ"] = reinterpret_cast(&(df_structure->site_civ)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); +} + +void generate_history_event_site_surrenderedst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["attacker_civ"] = reinterpret_cast(&(df_structure->attacker_civ)) - reinterpret_cast(df_structure); + p_table["defender_civ"] = reinterpret_cast(&(df_structure->defender_civ)) - reinterpret_cast(df_structure); + p_table["site_civ"] = reinterpret_cast(&(df_structure->site_civ)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); +} + +void generate_history_event_hist_figure_abductedst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["target"] = reinterpret_cast(&(df_structure->target)) - reinterpret_cast(df_structure); + p_table["snatcher"] = reinterpret_cast(&(df_structure->snatcher)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); + p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); +} + +void generate_history_event_hf_razed_buildingst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["structure"] = reinterpret_cast(&(df_structure->structure)) - reinterpret_cast(df_structure); +} + +void generate_history_event_creature_devouredst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["victim"] = reinterpret_cast(&(df_structure->victim)) - reinterpret_cast(df_structure); + p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); + p_table["caste"] = reinterpret_cast(&(df_structure->caste)) - reinterpret_cast(df_structure); + p_table["eater"] = reinterpret_cast(&(df_structure->eater)) - reinterpret_cast(df_structure); + p_table["entity"] = reinterpret_cast(&(df_structure->entity)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); + p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); +} + +void generate_history_event_hist_figure_woundedst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["woundee"] = reinterpret_cast(&(df_structure->woundee)) - reinterpret_cast(df_structure); + p_table["wounder"] = reinterpret_cast(&(df_structure->wounder)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); + p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); + p_table["woundee_race"] = reinterpret_cast(&(df_structure->woundee_race)) - reinterpret_cast(df_structure); + p_table["woundee_caste"] = reinterpret_cast(&(df_structure->woundee_caste)) - reinterpret_cast(df_structure); + p_table["body_part"] = reinterpret_cast(&(df_structure->body_part)) - reinterpret_cast(df_structure); + p_table["injury_type"] = reinterpret_cast(&(df_structure->injury_type)) - reinterpret_cast(df_structure); + p_table["part_lost"] = reinterpret_cast(&(df_structure->part_lost)) - reinterpret_cast(df_structure); +} + +void generate_history_event_created_world_constructionst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["civ"] = reinterpret_cast(&(df_structure->civ)) - reinterpret_cast(df_structure); + p_table["site_civ"] = reinterpret_cast(&(df_structure->site_civ)) - reinterpret_cast(df_structure); + p_table["construction"] = reinterpret_cast(&(df_structure->construction)) - reinterpret_cast(df_structure); + p_table["master_construction"] = reinterpret_cast(&(df_structure->master_construction)) - reinterpret_cast(df_structure); + p_table["site1"] = reinterpret_cast(&(df_structure->site1)) - reinterpret_cast(df_structure); + p_table["site2"] = reinterpret_cast(&(df_structure->site2)) - reinterpret_cast(df_structure); +} + +void generate_history_event_hist_figure_reunionst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["missing"] = reinterpret_cast(&(df_structure->missing)) - reinterpret_cast(df_structure); + p_table["reunited_with"] = reinterpret_cast(&(df_structure->reunited_with)) - reinterpret_cast(df_structure); + p_table["assistant"] = reinterpret_cast(&(df_structure->assistant)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); + p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); +} + +void generate_history_event_assume_identityst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["trickster"] = reinterpret_cast(&(df_structure->trickster)) - reinterpret_cast(df_structure); + p_table["identity"] = reinterpret_cast(&(df_structure->identity)) - reinterpret_cast(df_structure); + p_table["target"] = reinterpret_cast(&(df_structure->target)) - reinterpret_cast(df_structure); +} + +void generate_history_event_create_entity_positionst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); + p_table["civ"] = reinterpret_cast(&(df_structure->civ)) - reinterpret_cast(df_structure); + p_table["site_civ"] = reinterpret_cast(&(df_structure->site_civ)) - reinterpret_cast(df_structure); + p_table["position"] = reinterpret_cast(&(df_structure->position)) - reinterpret_cast(df_structure); + p_table["reason"] = reinterpret_cast(&(df_structure->reason)) - reinterpret_cast(df_structure); +} + +void generate_history_event_change_creature_typest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["changee"] = reinterpret_cast(&(df_structure->changee)) - reinterpret_cast(df_structure); + p_table["changer"] = reinterpret_cast(&(df_structure->changer)) - reinterpret_cast(df_structure); + p_table["old_race"] = reinterpret_cast(&(df_structure->old_race)) - reinterpret_cast(df_structure); + p_table["old_caste"] = reinterpret_cast(&(df_structure->old_caste)) - reinterpret_cast(df_structure); + p_table["new_race"] = reinterpret_cast(&(df_structure->new_race)) - reinterpret_cast(df_structure); + p_table["new_caste"] = reinterpret_cast(&(df_structure->new_caste)) - reinterpret_cast(df_structure); +} + +void generate_history_event_hf_learns_secretst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["student"] = reinterpret_cast(&(df_structure->student)) - reinterpret_cast(df_structure); + p_table["teacher"] = reinterpret_cast(&(df_structure->teacher)) - reinterpret_cast(df_structure); + p_table["artifact"] = reinterpret_cast(&(df_structure->artifact)) - reinterpret_cast(df_structure); + p_table["interaction"] = reinterpret_cast(&(df_structure->interaction)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_history_event_hf_act_on_buildingst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["action"] = reinterpret_cast(&(df_structure->action)) - reinterpret_cast(df_structure); + p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["structure"] = reinterpret_cast(&(df_structure->structure)) - reinterpret_cast(df_structure); +} + +void generate_history_event_hf_does_interactionst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["doer"] = reinterpret_cast(&(df_structure->doer)) - reinterpret_cast(df_structure); + p_table["target"] = reinterpret_cast(&(df_structure->target)) - reinterpret_cast(df_structure); + p_table["interaction"] = reinterpret_cast(&(df_structure->interaction)) - reinterpret_cast(df_structure); + p_table["source"] = reinterpret_cast(&(df_structure->source)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); + p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); +} + +void generate_history_event_entity_lawst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["entity"] = reinterpret_cast(&(df_structure->entity)) - reinterpret_cast(df_structure); + p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); + p_table["add_flags"] = reinterpret_cast(&(df_structure->add_flags)) - reinterpret_cast(df_structure); + p_table["remove_flags"] = reinterpret_cast(&(df_structure->remove_flags)) - reinterpret_cast(df_structure); +} + +void generate_history_event_artifact_storedst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["artifact"] = reinterpret_cast(&(df_structure->artifact)) - reinterpret_cast(df_structure); + p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); + p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_history_event_agreement_formedst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["agreement_id"] = reinterpret_cast(&(df_structure->agreement_id)) - reinterpret_cast(df_structure); +} + +void generate_history_event_insurrection_startedst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["target_civ"] = reinterpret_cast(&(df_structure->target_civ)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); +} + +void generate_history_event_hf_attacked_sitest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["attacker_hf"] = reinterpret_cast(&(df_structure->attacker_hf)) - reinterpret_cast(df_structure); + p_table["defender_civ"] = reinterpret_cast(&(df_structure->defender_civ)) - reinterpret_cast(df_structure); + p_table["site_civ"] = reinterpret_cast(&(df_structure->site_civ)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); +} + +void generate_history_event_performancest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["entity"] = reinterpret_cast(&(df_structure->entity)) - reinterpret_cast(df_structure); + p_table["occasion"] = reinterpret_cast(&(df_structure->occasion)) - reinterpret_cast(df_structure); + p_table["schedule"] = reinterpret_cast(&(df_structure->schedule)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); + p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); +} + +void generate_history_event_competitionst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["entity"] = reinterpret_cast(&(df_structure->entity)) - reinterpret_cast(df_structure); + p_table["occasion"] = reinterpret_cast(&(df_structure->occasion)) - reinterpret_cast(df_structure); + p_table["schedule"] = reinterpret_cast(&(df_structure->schedule)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); + p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); + p_table["competitor_hf"] = reinterpret_cast(&(df_structure->competitor_hf)) - reinterpret_cast(df_structure); + p_table["winner_hf"] = reinterpret_cast(&(df_structure->winner_hf)) - reinterpret_cast(df_structure); +} + +void generate_history_event_processionst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["entity"] = reinterpret_cast(&(df_structure->entity)) - reinterpret_cast(df_structure); + p_table["occasion"] = reinterpret_cast(&(df_structure->occasion)) - reinterpret_cast(df_structure); + p_table["schedule"] = reinterpret_cast(&(df_structure->schedule)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); + p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); +} + +void generate_history_event_ceremonyst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["entity"] = reinterpret_cast(&(df_structure->entity)) - reinterpret_cast(df_structure); + p_table["occasion"] = reinterpret_cast(&(df_structure->occasion)) - reinterpret_cast(df_structure); + p_table["schedule"] = reinterpret_cast(&(df_structure->schedule)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); + p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); +} + +void generate_history_event_artifact_transformedst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["new_artifact"] = reinterpret_cast(&(df_structure->new_artifact)) - reinterpret_cast(df_structure); + p_table["old_artifact"] = reinterpret_cast(&(df_structure->old_artifact)) - reinterpret_cast(df_structure); + p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); + p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); +} + +void generate_history_event_artifact_destroyedst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["artifact"] = reinterpret_cast(&(df_structure->artifact)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["destroyer_hf"] = reinterpret_cast(&(df_structure->destroyer_hf)) - reinterpret_cast(df_structure); + p_table["destroyer_civ"] = reinterpret_cast(&(df_structure->destroyer_civ)) - reinterpret_cast(df_structure); +} + +void generate_history_event_regionpop_incorporated_into_entityst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["pop_race"] = reinterpret_cast(&(df_structure->pop_race)) - reinterpret_cast(df_structure); + p_table["number_moved"] = reinterpret_cast(&(df_structure->number_moved)) - reinterpret_cast(df_structure); + p_table["pop_region"] = reinterpret_cast(&(df_structure->pop_region)) - reinterpret_cast(df_structure); + p_table["pop_layer"] = reinterpret_cast(&(df_structure->pop_layer)) - reinterpret_cast(df_structure); + p_table["join_entity"] = reinterpret_cast(&(df_structure->join_entity)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); +} + +void generate_history_event_hf_act_on_artifactst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["action"] = reinterpret_cast(&(df_structure->action)) - reinterpret_cast(df_structure); + p_table["artifact"] = reinterpret_cast(&(df_structure->artifact)) - reinterpret_cast(df_structure); + p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["structure"] = reinterpret_cast(&(df_structure->structure)) - reinterpret_cast(df_structure); +} + +void generate_history_event_artifact_copiedst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["artifact"] = reinterpret_cast(&(df_structure->artifact)) - reinterpret_cast(df_structure); + p_table["entity_dest"] = reinterpret_cast(&(df_structure->entity_dest)) - reinterpret_cast(df_structure); + p_table["entity_src"] = reinterpret_cast(&(df_structure->entity_src)) - reinterpret_cast(df_structure); + p_table["site_dest"] = reinterpret_cast(&(df_structure->site_dest)) - reinterpret_cast(df_structure); + p_table["site_src"] = reinterpret_cast(&(df_structure->site_src)) - reinterpret_cast(df_structure); + p_table["structure_dest"] = reinterpret_cast(&(df_structure->structure_dest)) - reinterpret_cast(df_structure); + p_table["structure_src"] = reinterpret_cast(&(df_structure->structure_src)) - reinterpret_cast(df_structure); + p_table["flags2"] = reinterpret_cast(&(df_structure->flags2)) - reinterpret_cast(df_structure); +} + +void generate_history_event_sneak_into_sitest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["attacker_civ"] = reinterpret_cast(&(df_structure->attacker_civ)) - reinterpret_cast(df_structure); + p_table["defender_civ"] = reinterpret_cast(&(df_structure->defender_civ)) - reinterpret_cast(df_structure); + p_table["site_civ"] = reinterpret_cast(&(df_structure->site_civ)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); +} + +void generate_history_event_spotted_leaving_sitest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["spotter_hf"] = reinterpret_cast(&(df_structure->spotter_hf)) - reinterpret_cast(df_structure); + p_table["leaver_civ"] = reinterpret_cast(&(df_structure->leaver_civ)) - reinterpret_cast(df_structure); + p_table["site_civ"] = reinterpret_cast(&(df_structure->site_civ)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); +} + +void generate_history_event_entity_searched_sitest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["searcher_civ"] = reinterpret_cast(&(df_structure->searcher_civ)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["result"] = reinterpret_cast(&(df_structure->result)) - reinterpret_cast(df_structure); +} + +void generate_history_event_hf_freedst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["freeing_civ"] = reinterpret_cast(&(df_structure->freeing_civ)) - reinterpret_cast(df_structure); + p_table["freeing_hf"] = reinterpret_cast(&(df_structure->freeing_hf)) - reinterpret_cast(df_structure); + p_table["holding_civ"] = reinterpret_cast(&(df_structure->holding_civ)) - reinterpret_cast(df_structure); + p_table["site_civ"] = reinterpret_cast(&(df_structure->site_civ)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["rescued_hfs"] = reinterpret_cast(&(df_structure->rescued_hfs)) - reinterpret_cast(df_structure); +} + +void generate_history_event_hist_figure_simple_actionst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["group_hfs"] = reinterpret_cast(&(df_structure->group_hfs)) - reinterpret_cast(df_structure); + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["structure"] = reinterpret_cast(&(df_structure->structure)) - reinterpret_cast(df_structure); + p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); + p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); +} + +void generate_history_event_entity_rampaged_in_sitest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["rampage_civ_id"] = reinterpret_cast(&(df_structure->rampage_civ_id)) - reinterpret_cast(df_structure); + p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); +} + +void generate_history_event_entity_fled_sitest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["fled_civ_id"] = reinterpret_cast(&(df_structure->fled_civ_id)) - reinterpret_cast(df_structure); + p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); +} + +void generate_history_event_squad_vs_squadst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["a_leader_hfid"] = reinterpret_cast(&(df_structure->a_leader_hfid)) - reinterpret_cast(df_structure); + p_table["a_leadership_roll"] = reinterpret_cast(&(df_structure->a_leadership_roll)) - reinterpret_cast(df_structure); + p_table["a_hfid"] = reinterpret_cast(&(df_structure->a_hfid)) - reinterpret_cast(df_structure); + p_table["a_squad_id"] = reinterpret_cast(&(df_structure->a_squad_id)) - reinterpret_cast(df_structure); + p_table["a_race"] = reinterpret_cast(&(df_structure->a_race)) - reinterpret_cast(df_structure); + p_table["a_interaction"] = reinterpret_cast(&(df_structure->a_interaction)) - reinterpret_cast(df_structure); + p_table["a_effect"] = reinterpret_cast(&(df_structure->a_effect)) - reinterpret_cast(df_structure); + p_table["a_number"] = reinterpret_cast(&(df_structure->a_number)) - reinterpret_cast(df_structure); + p_table["a_slain"] = reinterpret_cast(&(df_structure->a_slain)) - reinterpret_cast(df_structure); + p_table["d_leader_hfid"] = reinterpret_cast(&(df_structure->d_leader_hfid)) - reinterpret_cast(df_structure); + p_table["d_leadership_roll"] = reinterpret_cast(&(df_structure->d_leadership_roll)) - reinterpret_cast(df_structure); + p_table["d_hfid"] = reinterpret_cast(&(df_structure->d_hfid)) - reinterpret_cast(df_structure); + p_table["d_squad_id"] = reinterpret_cast(&(df_structure->d_squad_id)) - reinterpret_cast(df_structure); + p_table["d_race"] = reinterpret_cast(&(df_structure->d_race)) - reinterpret_cast(df_structure); + p_table["d_interaction"] = reinterpret_cast(&(df_structure->d_interaction)) - reinterpret_cast(df_structure); + p_table["d_effect"] = reinterpret_cast(&(df_structure->d_effect)) - reinterpret_cast(df_structure); + p_table["d_number"] = reinterpret_cast(&(df_structure->d_number)) - reinterpret_cast(df_structure); + p_table["d_slain"] = reinterpret_cast(&(df_structure->d_slain)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["structure"] = reinterpret_cast(&(df_structure->structure)) - reinterpret_cast(df_structure); + p_table["subregion"] = reinterpret_cast(&(df_structure->subregion)) - reinterpret_cast(df_structure); + p_table["feature_layer"] = reinterpret_cast(&(df_structure->feature_layer)) - reinterpret_cast(df_structure); +} + +void generate_history_event_collection_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["events"] = reinterpret_cast(&(df_structure->events)) - reinterpret_cast(df_structure); + p_table["collections"] = reinterpret_cast(&(df_structure->collections)) - reinterpret_cast(df_structure); + p_table["start_year"] = reinterpret_cast(&(df_structure->start_year)) - reinterpret_cast(df_structure); + p_table["end_year"] = reinterpret_cast(&(df_structure->end_year)) - reinterpret_cast(df_structure); + p_table["start_seconds"] = reinterpret_cast(&(df_structure->start_seconds)) - reinterpret_cast(df_structure); + p_table["end_seconds"] = reinterpret_cast(&(df_structure->end_seconds)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); +} + +void generate_history_event_collection_site_conqueredst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["parent_collection"] = reinterpret_cast(&(df_structure->parent_collection)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["attacker_civ"] = reinterpret_cast(&(df_structure->attacker_civ)) - reinterpret_cast(df_structure); + p_table["defender_civ"] = reinterpret_cast(&(df_structure->defender_civ)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["ordinal"] = reinterpret_cast(&(df_structure->ordinal)) - reinterpret_cast(df_structure); +} + +void generate_history_event_collection_journeyst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["traveler_hf"] = reinterpret_cast(&(df_structure->traveler_hf)) - reinterpret_cast(df_structure); + p_table["ordinal"] = reinterpret_cast(&(df_structure->ordinal)) - reinterpret_cast(df_structure); +} + +void generate_history_event_collection_insurrectionst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["target_civ"] = reinterpret_cast(&(df_structure->target_civ)) - reinterpret_cast(df_structure); + p_table["ordinal"] = reinterpret_cast(&(df_structure->ordinal)) - reinterpret_cast(df_structure); +} + +void generate_history_event_collection_occasionst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["civ"] = reinterpret_cast(&(df_structure->civ)) - reinterpret_cast(df_structure); + p_table["occasion"] = reinterpret_cast(&(df_structure->occasion)) - reinterpret_cast(df_structure); + p_table["ordinal"] = reinterpret_cast(&(df_structure->ordinal)) - reinterpret_cast(df_structure); +} + +void generate_history_event_collection_performancest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["civ"] = reinterpret_cast(&(df_structure->civ)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["ordinal"] = reinterpret_cast(&(df_structure->ordinal)) - reinterpret_cast(df_structure); +} + +void generate_history_event_collection_competitionst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["civ"] = reinterpret_cast(&(df_structure->civ)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["ordinal"] = reinterpret_cast(&(df_structure->ordinal)) - reinterpret_cast(df_structure); +} + +void generate_history_event_collection_processionst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["civ"] = reinterpret_cast(&(df_structure->civ)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["ordinal"] = reinterpret_cast(&(df_structure->ordinal)) - reinterpret_cast(df_structure); +} + +void generate_history_event_collection_ceremonyst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["civ"] = reinterpret_cast(&(df_structure->civ)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["ordinal"] = reinterpret_cast(&(df_structure->ordinal)) - reinterpret_cast(df_structure); +} + +void generate_history_event_collection_purgest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["adjective"] = reinterpret_cast(&(df_structure->adjective)) - reinterpret_cast(df_structure); + p_table["ordinal"] = reinterpret_cast(&(df_structure->ordinal)) - reinterpret_cast(df_structure); +} + +void generate_init_media_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["flag"] = reinterpret_cast(&(df_structure->flag)) - reinterpret_cast(df_structure); + p_table["volume"] = reinterpret_cast(&(df_structure->volume)) - reinterpret_cast(df_structure); +} + +void generate_init_input_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["hold_time"] = reinterpret_cast(&(df_structure->hold_time)) - reinterpret_cast(df_structure); + p_table["repeat_time"] = reinterpret_cast(&(df_structure->repeat_time)) - reinterpret_cast(df_structure); + p_table["macro_time"] = reinterpret_cast(&(df_structure->macro_time)) - reinterpret_cast(df_structure); + p_table["pause_zoom_no_interface_ms"] = reinterpret_cast(&(df_structure->pause_zoom_no_interface_ms)) - reinterpret_cast(df_structure); + p_table["flag"] = reinterpret_cast(&(df_structure->flag)) - reinterpret_cast(df_structure); + p_table["zoom_speed"] = reinterpret_cast(&(df_structure->zoom_speed)) - reinterpret_cast(df_structure); + p_table["repeat_accel_start"] = reinterpret_cast(&(df_structure->repeat_accel_start)) - reinterpret_cast(df_structure); + p_table["repeat_accel_limit"] = reinterpret_cast(&(df_structure->repeat_accel_limit)) - reinterpret_cast(df_structure); +} + +void generate_init_window_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["flag"] = reinterpret_cast(&(df_structure->flag)) - reinterpret_cast(df_structure); +} + +void generate_tile_page_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["token"] = reinterpret_cast(&(df_structure->token)) - reinterpret_cast(df_structure); + p_table["filename"] = reinterpret_cast(&(df_structure->filename)) - reinterpret_cast(df_structure); + p_table["tile_dim_x"] = reinterpret_cast(&(df_structure->tile_dim_x)) - reinterpret_cast(df_structure); + p_table["tile_dim_y"] = reinterpret_cast(&(df_structure->tile_dim_y)) - reinterpret_cast(df_structure); + p_table["page_dim_x"] = reinterpret_cast(&(df_structure->page_dim_x)) - reinterpret_cast(df_structure); + p_table["page_dim_y"] = reinterpret_cast(&(df_structure->page_dim_y)) - reinterpret_cast(df_structure); + p_table["texpos"] = reinterpret_cast(&(df_structure->texpos)) - reinterpret_cast(df_structure); + p_table["datapos"] = reinterpret_cast(&(df_structure->datapos)) - reinterpret_cast(df_structure); + p_table["texpos_gs"] = reinterpret_cast(&(df_structure->texpos_gs)) - reinterpret_cast(df_structure); + p_table["datapos_gs"] = reinterpret_cast(&(df_structure->datapos_gs)) - reinterpret_cast(df_structure); + p_table["loaded"] = reinterpret_cast(&(df_structure->loaded)) - reinterpret_cast(df_structure); +} + +void generate_interaction_source_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["frequency"] = reinterpret_cast(&(df_structure->frequency)) - reinterpret_cast(df_structure); + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["hist_string_1"] = reinterpret_cast(&(df_structure->hist_string_1)) - reinterpret_cast(df_structure); + p_table["hist_string_2"] = reinterpret_cast(&(df_structure->hist_string_2)) - reinterpret_cast(df_structure); +} + +void generate_interaction_source_regionst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["region_flags"] = reinterpret_cast(&(df_structure->region_flags)) - reinterpret_cast(df_structure); + p_table["regions"] = reinterpret_cast(&(df_structure->regions)) - reinterpret_cast(df_structure); +} + +void generate_interaction_source_disturbancest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_interaction_source_attackst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_interaction_source_ingestionst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_interaction_source_creature_actionst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_interaction_source_underground_specialst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_interaction_target_info_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["affected_creature_str"] = reinterpret_cast(&(df_structure->affected_creature_str)) - reinterpret_cast(df_structure); + p_table["affected_creature"] = reinterpret_cast(&(df_structure->affected_creature)) - reinterpret_cast(df_structure); + p_table["affected_class"] = reinterpret_cast(&(df_structure->affected_class)) - reinterpret_cast(df_structure); + p_table["immune_creature_str"] = reinterpret_cast(&(df_structure->immune_creature_str)) - reinterpret_cast(df_structure); + p_table["immune_creature"] = reinterpret_cast(&(df_structure->immune_creature)) - reinterpret_cast(df_structure); + p_table["immune_class"] = reinterpret_cast(&(df_structure->immune_class)) - reinterpret_cast(df_structure); + p_table["forbidden_syndrome_class"] = reinterpret_cast(&(df_structure->forbidden_syndrome_class)) - reinterpret_cast(df_structure); + p_table["requires_1"] = reinterpret_cast(&(df_structure->requires_1)) - reinterpret_cast(df_structure); + p_table["requires_2"] = reinterpret_cast(&(df_structure->requires_2)) - reinterpret_cast(df_structure); + p_table["forbidden_1"] = reinterpret_cast(&(df_structure->forbidden_1)) - reinterpret_cast(df_structure); + p_table["forbidden_2"] = reinterpret_cast(&(df_structure->forbidden_2)) - reinterpret_cast(df_structure); + p_table["restrictions"] = reinterpret_cast(&(df_structure->restrictions)) - reinterpret_cast(df_structure); +} + +void generate_interaction_instance_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["interaction_id"] = reinterpret_cast(&(df_structure->interaction_id)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["region_index"] = reinterpret_cast(&(df_structure->region_index)) - reinterpret_cast(df_structure); + p_table["affected_units"] = reinterpret_cast(&(df_structure->affected_units)) - reinterpret_cast(df_structure); +} + +void generate_weapon_attack_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["edged"] = reinterpret_cast(&(df_structure->edged)) - reinterpret_cast(df_structure); + p_table["contact"] = reinterpret_cast(&(df_structure->contact)) - reinterpret_cast(df_structure); + p_table["penetration"] = reinterpret_cast(&(df_structure->penetration)) - reinterpret_cast(df_structure); + p_table["velocity_mult"] = reinterpret_cast(&(df_structure->velocity_mult)) - reinterpret_cast(df_structure); + p_table["verb_2nd"] = reinterpret_cast(&(df_structure->verb_2nd)) - reinterpret_cast(df_structure); + p_table["verb_3rd"] = reinterpret_cast(&(df_structure->verb_3rd)) - reinterpret_cast(df_structure); + p_table["noun"] = reinterpret_cast(&(df_structure->noun)) - reinterpret_cast(df_structure); + p_table["prepare"] = reinterpret_cast(&(df_structure->prepare)) - reinterpret_cast(df_structure); + p_table["recover"] = reinterpret_cast(&(df_structure->recover)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); +} + +void generate_itemdef_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["subtype"] = reinterpret_cast(&(df_structure->subtype)) - reinterpret_cast(df_structure); + p_table["base_flags"] = reinterpret_cast(&(df_structure->base_flags)) - reinterpret_cast(df_structure); + p_table["source_hfid"] = reinterpret_cast(&(df_structure->source_hfid)) - reinterpret_cast(df_structure); + p_table["source_enid"] = reinterpret_cast(&(df_structure->source_enid)) - reinterpret_cast(df_structure); + p_table["raw_strings"] = reinterpret_cast(&(df_structure->raw_strings)) - reinterpret_cast(df_structure); +} + +void generate_armor_properties_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); + p_table["layer_size"] = reinterpret_cast(&(df_structure->layer_size)) - reinterpret_cast(df_structure); + p_table["layer_permit"] = reinterpret_cast(&(df_structure->layer_permit)) - reinterpret_cast(df_structure); + p_table["coverage"] = reinterpret_cast(&(df_structure->coverage)) - reinterpret_cast(df_structure); +} + +void generate_itemdef_foodst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["level"] = reinterpret_cast(&(df_structure->level)) - reinterpret_cast(df_structure); +} + +void generate_instrument_piece_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["index"] = reinterpret_cast(&(df_structure->index)) - reinterpret_cast(df_structure); + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["name_plural"] = reinterpret_cast(&(df_structure->name_plural)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); +} + +void generate_itemdef_shieldst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["name_plural"] = reinterpret_cast(&(df_structure->name_plural)) - reinterpret_cast(df_structure); + p_table["adjective"] = reinterpret_cast(&(df_structure->adjective)) - reinterpret_cast(df_structure); + p_table["value"] = reinterpret_cast(&(df_structure->value)) - reinterpret_cast(df_structure); + p_table["blockchance"] = reinterpret_cast(&(df_structure->blockchance)) - reinterpret_cast(df_structure); + p_table["armorlevel"] = reinterpret_cast(&(df_structure->armorlevel)) - reinterpret_cast(df_structure); + p_table["upstep"] = reinterpret_cast(&(df_structure->upstep)) - reinterpret_cast(df_structure); + p_table["material_size"] = reinterpret_cast(&(df_structure->material_size)) - reinterpret_cast(df_structure); +} + +void generate_itemdef_siegeammost_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["name_plural"] = reinterpret_cast(&(df_structure->name_plural)) - reinterpret_cast(df_structure); + p_table["ammo_class"] = reinterpret_cast(&(df_structure->ammo_class)) - reinterpret_cast(df_structure); +} + +void generate_itemdef_toyst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["name_plural"] = reinterpret_cast(&(df_structure->name_plural)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); +} + +void generate_temperaturest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["whole"] = reinterpret_cast(&(df_structure->whole)) - reinterpret_cast(df_structure); + p_table["fraction"] = reinterpret_cast(&(df_structure->fraction)) - reinterpret_cast(df_structure); +} + +void generate_body_size_info_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["size_cur"] = reinterpret_cast(&(df_structure->size_cur)) - reinterpret_cast(df_structure); + p_table["size_base"] = reinterpret_cast(&(df_structure->size_base)) - reinterpret_cast(df_structure); + p_table["area_cur"] = reinterpret_cast(&(df_structure->area_cur)) - reinterpret_cast(df_structure); + p_table["area_base"] = reinterpret_cast(&(df_structure->area_base)) - reinterpret_cast(df_structure); + p_table["length_cur"] = reinterpret_cast(&(df_structure->length_cur)) - reinterpret_cast(df_structure); + p_table["length_base"] = reinterpret_cast(&(df_structure->length_base)) - reinterpret_cast(df_structure); +} + +void generate_item_stockpile_ref_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["x"] = reinterpret_cast(&(df_structure->x)) - reinterpret_cast(df_structure); + p_table["y"] = reinterpret_cast(&(df_structure->y)) - reinterpret_cast(df_structure); +} + +void generate_job_art_specification_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["subid"] = reinterpret_cast(&(df_structure->subid)) - reinterpret_cast(df_structure); +} + +void generate_manager_order_condition_order_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["order_id"] = reinterpret_cast(&(df_structure->order_id)) - reinterpret_cast(df_structure); + p_table["condition"] = reinterpret_cast(&(df_structure->condition)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_training_assignment_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["animal_id"] = reinterpret_cast(&(df_structure->animal_id)) - reinterpret_cast(df_structure); + p_table["trainer_id"] = reinterpret_cast(&(df_structure->trainer_id)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); +} + +void generate_language_translation_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["unknown1"] = reinterpret_cast(&(df_structure->unknown1)) - reinterpret_cast(df_structure); + p_table["unknown2"] = reinterpret_cast(&(df_structure->unknown2)) - reinterpret_cast(df_structure); + p_table["words"] = reinterpret_cast(&(df_structure->words)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["str"] = reinterpret_cast(&(df_structure->str)) - reinterpret_cast(df_structure); +} + +void generate_language_symbol_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["unknown"] = reinterpret_cast(&(df_structure->unknown)) - reinterpret_cast(df_structure); + p_table["words"] = reinterpret_cast(&(df_structure->words)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["str"] = reinterpret_cast(&(df_structure->str)) - reinterpret_cast(df_structure); +} + +void generate_invasion_info_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["civ_id"] = reinterpret_cast(&(df_structure->civ_id)) - reinterpret_cast(df_structure); + p_table["active_size1"] = reinterpret_cast(&(df_structure->active_size1)) - reinterpret_cast(df_structure); + p_table["active_size2"] = reinterpret_cast(&(df_structure->active_size2)) - reinterpret_cast(df_structure); + p_table["size"] = reinterpret_cast(&(df_structure->size)) - reinterpret_cast(df_structure); + p_table["duration_counter"] = reinterpret_cast(&(df_structure->duration_counter)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["unk4b"] = reinterpret_cast(&(df_structure->unk4b)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); +} + +void generate_machine_info_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["machine_id"] = reinterpret_cast(&(df_structure->machine_id)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); +} + +void generate_power_info_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["produced"] = reinterpret_cast(&(df_structure->produced)) - reinterpret_cast(df_structure); + p_table["consumed"] = reinterpret_cast(&(df_structure->consumed)) - reinterpret_cast(df_structure); +} + +void generate_coord2d_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["x"] = reinterpret_cast(&(df_structure->x)) - reinterpret_cast(df_structure); + p_table["y"] = reinterpret_cast(&(df_structure->y)) - reinterpret_cast(df_structure); +} + +void generate_coord2d_path_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["x"] = reinterpret_cast(&(df_structure->x)) - reinterpret_cast(df_structure); + p_table["y"] = reinterpret_cast(&(df_structure->y)) - reinterpret_cast(df_structure); +} + +void generate_coord_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["x"] = reinterpret_cast(&(df_structure->x)) - reinterpret_cast(df_structure); + p_table["y"] = reinterpret_cast(&(df_structure->y)) - reinterpret_cast(df_structure); + p_table["z"] = reinterpret_cast(&(df_structure->z)) - reinterpret_cast(df_structure); +} + +void generate_coord_path_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["x"] = reinterpret_cast(&(df_structure->x)) - reinterpret_cast(df_structure); + p_table["y"] = reinterpret_cast(&(df_structure->y)) - reinterpret_cast(df_structure); + p_table["z"] = reinterpret_cast(&(df_structure->z)) - reinterpret_cast(df_structure); +} + +void generate_tile_bitmask_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["bits"] = reinterpret_cast(&(df_structure->bits)) - reinterpret_cast(df_structure); +} + +void generate_cave_column_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); +} + +void generate_cave_column_rectangle_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); + p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); + p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); + p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); +} + +void generate_block_square_event_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_block_square_event_material_spatterst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["mat_state"] = reinterpret_cast(&(df_structure->mat_state)) - reinterpret_cast(df_structure); + p_table["amount"] = reinterpret_cast(&(df_structure->amount)) - reinterpret_cast(df_structure); + p_table["min_temperature"] = reinterpret_cast(&(df_structure->min_temperature)) - reinterpret_cast(df_structure); + p_table["max_temperature"] = reinterpret_cast(&(df_structure->max_temperature)) - reinterpret_cast(df_structure); +} + +void generate_block_square_event_grassst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["plant_index"] = reinterpret_cast(&(df_structure->plant_index)) - reinterpret_cast(df_structure); + p_table["amount"] = reinterpret_cast(&(df_structure->amount)) - reinterpret_cast(df_structure); +} + +void generate_block_square_event_spoorst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); + p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); +} + +void generate_block_square_event_designation_priorityst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["priority"] = reinterpret_cast(&(df_structure->priority)) - reinterpret_cast(df_structure); +} + +void generate_feature_alteration_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_feature_alteration_new_pop_maxst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); +} + +void generate_feature_alteration_new_lava_fill_zst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["magma_fill_z"] = reinterpret_cast(&(df_structure->magma_fill_z)) - reinterpret_cast(df_structure); +} + +void generate_flow_reuse_pool_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["reuse_idx"] = reinterpret_cast(&(df_structure->reuse_idx)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); +} + +void generate_flow_guide_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["unk_8"] = reinterpret_cast(&(df_structure->unk_8)) - reinterpret_cast(df_structure); +} + +void generate_region_block_eventst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_region_block_event_sphere_fieldst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_material_vec_ref_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); +} + +void generate_script_stepst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["next_step_idx"] = reinterpret_cast(&(df_structure->next_step_idx)) - reinterpret_cast(df_structure); +} + +void generate_script_step_setvarst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["dest_type"] = reinterpret_cast(&(df_structure->dest_type)) - reinterpret_cast(df_structure); + p_table["dest_name"] = reinterpret_cast(&(df_structure->dest_name)) - reinterpret_cast(df_structure); + p_table["src_type"] = reinterpret_cast(&(df_structure->src_type)) - reinterpret_cast(df_structure); + p_table["src_name"] = reinterpret_cast(&(df_structure->src_name)) - reinterpret_cast(df_structure); +} + +void generate_script_step_simpleactionst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["subtype"] = reinterpret_cast(&(df_structure->subtype)) - reinterpret_cast(df_structure); +} + +void generate_script_step_conditionalst__T_condition_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["var1_type"] = reinterpret_cast(&(df_structure->var1_type)) - reinterpret_cast(df_structure); + p_table["var1_name"] = reinterpret_cast(&(df_structure->var1_name)) - reinterpret_cast(df_structure); + p_table["comparison"] = reinterpret_cast(&(df_structure->comparison)) - reinterpret_cast(df_structure); + p_table["var2_type"] = reinterpret_cast(&(df_structure->var2_type)) - reinterpret_cast(df_structure); + p_table["var2_name"] = reinterpret_cast(&(df_structure->var2_name)) - reinterpret_cast(df_structure); +} + +void generate_script_step_conditionalst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["condition"] = reinterpret_cast(&(df_structure->condition)) - reinterpret_cast(df_structure); + p_table["conditional_next_step_idx"] = reinterpret_cast(&(df_structure->conditional_next_step_idx)) - reinterpret_cast(df_structure); +} + +void generate_script_step_textviewerst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["filename"] = reinterpret_cast(&(df_structure->filename)) - reinterpret_cast(df_structure); + p_table["outvar_name"] = reinterpret_cast(&(df_structure->outvar_name)) - reinterpret_cast(df_structure); +} + +void generate_script_step_diphistoryst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["event"] = reinterpret_cast(&(df_structure->event)) - reinterpret_cast(df_structure); +} + +void generate_script_step_discussst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["event"] = reinterpret_cast(&(df_structure->event)) - reinterpret_cast(df_structure); +} + +void generate_script_step_topicdiscussionst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_script_step_constructtopiclistst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_script_step_eventst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_script_step_dipeventst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["parm1"] = reinterpret_cast(&(df_structure->parm1)) - reinterpret_cast(df_structure); + p_table["parm2"] = reinterpret_cast(&(df_structure->parm2)) - reinterpret_cast(df_structure); + p_table["parm3"] = reinterpret_cast(&(df_structure->parm3)) - reinterpret_cast(df_structure); + p_table["parm4"] = reinterpret_cast(&(df_structure->parm4)) - reinterpret_cast(df_structure); + p_table["parm5"] = reinterpret_cast(&(df_structure->parm5)) - reinterpret_cast(df_structure); +} + +void generate_script_step_invasionst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["parm"] = reinterpret_cast(&(df_structure->parm)) - reinterpret_cast(df_structure); +} + +void generate_script_varst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); +} + +void generate_script_var_unitst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_script_var_longst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_active_script_varst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); +} + +void generate_active_script_var_longst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["value"] = reinterpret_cast(&(df_structure->value)) - reinterpret_cast(df_structure); +} + +void generate_activity_event_participants_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["histfigs"] = reinterpret_cast(&(df_structure->histfigs)) - reinterpret_cast(df_structure); + p_table["units"] = reinterpret_cast(&(df_structure->units)) - reinterpret_cast(df_structure); + p_table["free_histfigs"] = reinterpret_cast(&(df_structure->free_histfigs)) - reinterpret_cast(df_structure); + p_table["free_units"] = reinterpret_cast(&(df_structure->free_units)) - reinterpret_cast(df_structure); + p_table["activity_id"] = reinterpret_cast(&(df_structure->activity_id)) - reinterpret_cast(df_structure); + p_table["event_id"] = reinterpret_cast(&(df_structure->event_id)) - reinterpret_cast(df_structure); +} + +void generate_schedule_slot_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["start_time"] = reinterpret_cast(&(df_structure->start_time)) - reinterpret_cast(df_structure); + p_table["end_time"] = reinterpret_cast(&(df_structure->end_time)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["processed"] = reinterpret_cast(&(df_structure->processed)) - reinterpret_cast(df_structure); +} + +void generate_squad_order_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk_v40_1"] = reinterpret_cast(&(df_structure->unk_v40_1)) - reinterpret_cast(df_structure); + p_table["unk_v40_2"] = reinterpret_cast(&(df_structure->unk_v40_2)) - reinterpret_cast(df_structure); + p_table["year"] = reinterpret_cast(&(df_structure->year)) - reinterpret_cast(df_structure); + p_table["year_tick"] = reinterpret_cast(&(df_structure->year_tick)) - reinterpret_cast(df_structure); + p_table["unk_v40_3"] = reinterpret_cast(&(df_structure->unk_v40_3)) - reinterpret_cast(df_structure); + p_table["unk_1"] = reinterpret_cast(&(df_structure->unk_1)) - reinterpret_cast(df_structure); +} + +void generate_squad_order_kill_listst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["units"] = reinterpret_cast(&(df_structure->units)) - reinterpret_cast(df_structure); + p_table["histfigs"] = reinterpret_cast(&(df_structure->histfigs)) - reinterpret_cast(df_structure); + p_table["title"] = reinterpret_cast(&(df_structure->title)) - reinterpret_cast(df_structure); +} + +void generate_squad_order_defend_burrowsst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["burrows"] = reinterpret_cast(&(df_structure->burrows)) - reinterpret_cast(df_structure); +} + +void generate_squad_order_patrol_routest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["route_id"] = reinterpret_cast(&(df_structure->route_id)) - reinterpret_cast(df_structure); +} + +void generate_squad_order_trainst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_squad_order_drive_entity_off_sitest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); +} + +void generate_squad_order_cause_trouble_for_entityst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); +} + +void generate_squad_order_kill_hfst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["histfig_id"] = reinterpret_cast(&(df_structure->histfig_id)) - reinterpret_cast(df_structure); + p_table["title"] = reinterpret_cast(&(df_structure->title)) - reinterpret_cast(df_structure); +} + +void generate_squad_order_drive_armies_from_sitest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); +} + +void generate_army_controller_sub1_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); +} + +void generate_army_controller_sub4_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["unk_2"] = reinterpret_cast(&(df_structure->unk_2)) - reinterpret_cast(df_structure); +} + +void generate_army_controller_sub5_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); +} + +void generate_army_controller_sub6_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); + p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); + p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); +} + +void generate_army_controller_sub16_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_army_controller_sub17_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); +} + +void generate_army_controller_sub18_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); +} + +void generate_plant_growth_print_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["priority"] = reinterpret_cast(&(df_structure->priority)) - reinterpret_cast(df_structure); + p_table["tile_growth"] = reinterpret_cast(&(df_structure->tile_growth)) - reinterpret_cast(df_structure); + p_table["tile_item"] = reinterpret_cast(&(df_structure->tile_item)) - reinterpret_cast(df_structure); + p_table["color"] = reinterpret_cast(&(df_structure->color)) - reinterpret_cast(df_structure); + p_table["timing_start"] = reinterpret_cast(&(df_structure->timing_start)) - reinterpret_cast(df_structure); + p_table["timing_end"] = reinterpret_cast(&(df_structure->timing_end)) - reinterpret_cast(df_structure); +} + +void generate_reaction_category_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["parent"] = reinterpret_cast(&(df_structure->parent)) - reinterpret_cast(df_structure); + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["key"] = reinterpret_cast(&(df_structure->key)) - reinterpret_cast(df_structure); + p_table["description"] = reinterpret_cast(&(df_structure->description)) - reinterpret_cast(df_structure); +} + +void generate_reaction_product_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk_v4201_1"] = reinterpret_cast(&(df_structure->unk_v4201_1)) - reinterpret_cast(df_structure); + p_table["product_to_container"] = reinterpret_cast(&(df_structure->product_to_container)) - reinterpret_cast(df_structure); +} + +void generate_general_ref_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_general_ref_artifact_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["artifact_id"] = reinterpret_cast(&(df_structure->artifact_id)) - reinterpret_cast(df_structure); +} + +void generate_general_ref_nemesis_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["nemesis_id"] = reinterpret_cast(&(df_structure->nemesis_id)) - reinterpret_cast(df_structure); +} + +void generate_general_ref_item_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["item_id"] = reinterpret_cast(&(df_structure->item_id)) - reinterpret_cast(df_structure); + p_table["cached_index"] = reinterpret_cast(&(df_structure->cached_index)) - reinterpret_cast(df_structure); +} + +void generate_general_ref_coinbatch_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["batch"] = reinterpret_cast(&(df_structure->batch)) - reinterpret_cast(df_structure); +} + +void generate_general_ref_entity_art_image_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["entity_id"] = reinterpret_cast(&(df_structure->entity_id)) - reinterpret_cast(df_structure); + p_table["index"] = reinterpret_cast(&(df_structure->index)) - reinterpret_cast(df_structure); +} + +void generate_general_ref_projectile_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["projectile_id"] = reinterpret_cast(&(df_structure->projectile_id)) - reinterpret_cast(df_structure); +} + +void generate_general_ref_unit_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unit_id"] = reinterpret_cast(&(df_structure->unit_id)) - reinterpret_cast(df_structure); + p_table["cached_index"] = reinterpret_cast(&(df_structure->cached_index)) - reinterpret_cast(df_structure); +} + +void generate_general_ref_building_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["building_id"] = reinterpret_cast(&(df_structure->building_id)) - reinterpret_cast(df_structure); +} + +void generate_general_ref_entity_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["entity_id"] = reinterpret_cast(&(df_structure->entity_id)) - reinterpret_cast(df_structure); +} + +void generate_general_ref_locationst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); +} + +void generate_general_ref_interactionst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["interaction_id"] = reinterpret_cast(&(df_structure->interaction_id)) - reinterpret_cast(df_structure); + p_table["source_id"] = reinterpret_cast(&(df_structure->source_id)) - reinterpret_cast(df_structure); + p_table["unk_08"] = reinterpret_cast(&(df_structure->unk_08)) - reinterpret_cast(df_structure); + p_table["unk_0c"] = reinterpret_cast(&(df_structure->unk_0c)) - reinterpret_cast(df_structure); +} + +void generate_general_ref_abstract_buildingst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); + p_table["building_id"] = reinterpret_cast(&(df_structure->building_id)) - reinterpret_cast(df_structure); +} + +void generate_general_ref_historical_eventst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["event_id"] = reinterpret_cast(&(df_structure->event_id)) - reinterpret_cast(df_structure); +} + +void generate_general_ref_sitest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); +} + +void generate_general_ref_subregionst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["region_id"] = reinterpret_cast(&(df_structure->region_id)) - reinterpret_cast(df_structure); +} + +void generate_general_ref_feature_layerst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["underground_region_id"] = reinterpret_cast(&(df_structure->underground_region_id)) - reinterpret_cast(df_structure); +} + +void generate_general_ref_historical_figurest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["hist_figure_id"] = reinterpret_cast(&(df_structure->hist_figure_id)) - reinterpret_cast(df_structure); +} + +void generate_general_ref_entity_popst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); +} + +void generate_general_ref_creaturest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); + p_table["caste"] = reinterpret_cast(&(df_structure->caste)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); +} + +void generate_general_ref_activity_eventst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["activity_id"] = reinterpret_cast(&(df_structure->activity_id)) - reinterpret_cast(df_structure); + p_table["event_id"] = reinterpret_cast(&(df_structure->event_id)) - reinterpret_cast(df_structure); +} + +void generate_general_ref_languagest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_general_ref_written_contentst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["written_content_id"] = reinterpret_cast(&(df_structure->written_content_id)) - reinterpret_cast(df_structure); +} + +void generate_general_ref_poetic_formst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["poetic_form_id"] = reinterpret_cast(&(df_structure->poetic_form_id)) - reinterpret_cast(df_structure); +} + +void generate_general_ref_musical_formst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["musical_form_id"] = reinterpret_cast(&(df_structure->musical_form_id)) - reinterpret_cast(df_structure); +} + +void generate_general_ref_dance_formst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["dance_form_id"] = reinterpret_cast(&(df_structure->dance_form_id)) - reinterpret_cast(df_structure); +} + +void generate_general_ref_is_artifactst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_general_ref_is_nemesisst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_general_ref_contains_unitst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_general_ref_contains_itemst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_general_ref_contained_in_itemst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_general_ref_unit_milkeest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_general_ref_unit_traineest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_general_ref_unit_itemownerst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); +} + +void generate_general_ref_unit_tradebringerst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_general_ref_unit_holderst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_general_ref_unit_workerst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_general_ref_unit_cageest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_general_ref_unit_beateest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_general_ref_unit_foodreceiverst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_general_ref_unit_kidnapeest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_general_ref_unit_patientst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_general_ref_unit_infantst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_general_ref_unit_slaughtereest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_general_ref_unit_sheareest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_general_ref_unit_suckeest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_general_ref_unit_reporteest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_general_ref_unit_riderst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_general_ref_unit_climberst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_general_ref_unit_geldeest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_general_ref_building_civzone_assignedst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_general_ref_building_triggerst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_general_ref_building_triggertargetst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_general_ref_building_chainst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_general_ref_building_cagedst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_general_ref_building_holderst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_general_ref_building_well_tag_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["direction"] = reinterpret_cast(&(df_structure->direction)) - reinterpret_cast(df_structure); +} + +void generate_general_ref_building_use_target_1st_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_general_ref_building_use_target_2st_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_general_ref_building_destinationst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_general_ref_building_nest_boxst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_general_ref_building_display_furniturest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_general_ref_entity_stolenst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_general_ref_entity_offeredst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_general_ref_entity_itemownerst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_histfig_entity_link_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["entity_id"] = reinterpret_cast(&(df_structure->entity_id)) - reinterpret_cast(df_structure); + p_table["link_strength"] = reinterpret_cast(&(df_structure->link_strength)) - reinterpret_cast(df_structure); +} + +void generate_histfig_entity_link_memberst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_histfig_entity_link_former_memberst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_histfig_entity_link_mercenaryst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_histfig_entity_link_former_mercenaryst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_histfig_entity_link_slavest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_histfig_entity_link_former_slavest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_histfig_entity_link_prisonerst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_histfig_entity_link_former_prisonerst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_histfig_entity_link_enemyst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_histfig_entity_link_criminalst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_histfig_entity_link_positionst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["assignment_id"] = reinterpret_cast(&(df_structure->assignment_id)) - reinterpret_cast(df_structure); + p_table["start_year"] = reinterpret_cast(&(df_structure->start_year)) - reinterpret_cast(df_structure); +} + +void generate_histfig_entity_link_former_positionst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["assignment_id"] = reinterpret_cast(&(df_structure->assignment_id)) - reinterpret_cast(df_structure); + p_table["start_year"] = reinterpret_cast(&(df_structure->start_year)) - reinterpret_cast(df_structure); + p_table["end_year"] = reinterpret_cast(&(df_structure->end_year)) - reinterpret_cast(df_structure); +} + +void generate_histfig_entity_link_position_claimst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["assignment_id"] = reinterpret_cast(&(df_structure->assignment_id)) - reinterpret_cast(df_structure); + p_table["start_year"] = reinterpret_cast(&(df_structure->start_year)) - reinterpret_cast(df_structure); +} + +void generate_histfig_entity_link_squadst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["squad_id"] = reinterpret_cast(&(df_structure->squad_id)) - reinterpret_cast(df_structure); + p_table["squad_position"] = reinterpret_cast(&(df_structure->squad_position)) - reinterpret_cast(df_structure); + p_table["start_year"] = reinterpret_cast(&(df_structure->start_year)) - reinterpret_cast(df_structure); +} + +void generate_histfig_entity_link_former_squadst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["squad_id"] = reinterpret_cast(&(df_structure->squad_id)) - reinterpret_cast(df_structure); + p_table["start_year"] = reinterpret_cast(&(df_structure->start_year)) - reinterpret_cast(df_structure); + p_table["end_year"] = reinterpret_cast(&(df_structure->end_year)) - reinterpret_cast(df_structure); +} + +void generate_histfig_entity_link_occupationst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["occupation_id"] = reinterpret_cast(&(df_structure->occupation_id)) - reinterpret_cast(df_structure); + p_table["start_year"] = reinterpret_cast(&(df_structure->start_year)) - reinterpret_cast(df_structure); +} + +void generate_histfig_entity_link_former_occupationst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["occupation_id"] = reinterpret_cast(&(df_structure->occupation_id)) - reinterpret_cast(df_structure); + p_table["start_year"] = reinterpret_cast(&(df_structure->start_year)) - reinterpret_cast(df_structure); + p_table["end_year"] = reinterpret_cast(&(df_structure->end_year)) - reinterpret_cast(df_structure); +} + +void generate_histfig_site_link_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["sub_id"] = reinterpret_cast(&(df_structure->sub_id)) - reinterpret_cast(df_structure); + p_table["entity"] = reinterpret_cast(&(df_structure->entity)) - reinterpret_cast(df_structure); +} + +void generate_histfig_site_link_seat_of_powerst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_histfig_site_link_hangoutst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_histfig_site_link_home_site_abstract_buildingst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_histfig_site_link_home_site_realization_buildingst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_histfig_site_link_lairst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_histfig_site_link_home_site_realization_sulst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_histfig_site_link_home_site_saved_civzonest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_histfig_site_link_occupationst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_histfig_hf_link_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["target_hf"] = reinterpret_cast(&(df_structure->target_hf)) - reinterpret_cast(df_structure); + p_table["link_strength"] = reinterpret_cast(&(df_structure->link_strength)) - reinterpret_cast(df_structure); +} + +void generate_histfig_hf_link_motherst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_histfig_hf_link_fatherst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_histfig_hf_link_spousest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_histfig_hf_link_childst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_histfig_hf_link_deityst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_histfig_hf_link_loverst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_histfig_hf_link_prisonerst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_histfig_hf_link_imprisonerst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_histfig_hf_link_masterst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_histfig_hf_link_apprenticest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_histfig_hf_link_companionst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); +} + +void generate_histfig_hf_link_former_apprenticest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_histfig_hf_link_former_masterst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_histfig_hf_link_pet_ownerst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_resource_allotment_specifier_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk_1"] = reinterpret_cast(&(df_structure->unk_1)) - reinterpret_cast(df_structure); + p_table["unk_2"] = reinterpret_cast(&(df_structure->unk_2)) - reinterpret_cast(df_structure); + p_table["unk_3"] = reinterpret_cast(&(df_structure->unk_3)) - reinterpret_cast(df_structure); +} + +void generate_resource_allotment_specifier_cropst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["unk_v40_01"] = reinterpret_cast(&(df_structure->unk_v40_01)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); +} + +void generate_resource_allotment_specifier_stonest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); +} + +void generate_resource_allotment_specifier_metalst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); +} + +void generate_resource_allotment_specifier_woodst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); +} + +void generate_resource_allotment_specifier_armor_bodyst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); +} + +void generate_resource_allotment_specifier_armor_pantsst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); +} + +void generate_resource_allotment_specifier_armor_glovesst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); +} + +void generate_resource_allotment_specifier_armor_bootsst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); +} + +void generate_resource_allotment_specifier_armor_helmst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); +} + +void generate_resource_allotment_specifier_clothing_bodyst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); +} + +void generate_resource_allotment_specifier_clothing_pantsst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); +} + +void generate_resource_allotment_specifier_clothing_glovesst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); +} + +void generate_resource_allotment_specifier_clothing_bootsst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); +} + +void generate_resource_allotment_specifier_clothing_helmst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); +} + +void generate_resource_allotment_specifier_weapon_meleest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); +} + +void generate_resource_allotment_specifier_weapon_rangedst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); +} + +void generate_resource_allotment_specifier_ammost_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); +} + +void generate_resource_allotment_specifier_anvilst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); +} + +void generate_resource_allotment_specifier_gemsst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); +} + +void generate_resource_allotment_specifier_threadst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_resource_allotment_specifier_clothst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); +} + +void generate_resource_allotment_specifier_leatherst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); + p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); + p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); + p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); +} + +void generate_resource_allotment_specifier_quiverst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); +} + +void generate_resource_allotment_specifier_backpackst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); +} + +void generate_resource_allotment_specifier_flaskst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); +} + +void generate_resource_allotment_specifier_bagst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); +} + +void generate_resource_allotment_specifier_tablest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); +} + +void generate_resource_allotment_specifier_cabinetst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); +} + +void generate_resource_allotment_specifier_chairst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); +} + +void generate_resource_allotment_specifier_boxst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); +} + +void generate_resource_allotment_specifier_bedst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); +} + +void generate_resource_allotment_specifier_craftsst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); +} + +void generate_resource_allotment_specifier_meatst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); +} + +void generate_resource_allotment_specifier_bonest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_resource_allotment_specifier_hornst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_resource_allotment_specifier_shellst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_resource_allotment_specifier_tallowst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); +} + +void generate_resource_allotment_specifier_toothst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_resource_allotment_specifier_pearlst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); +} + +void generate_resource_allotment_specifier_soapst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); +} + +void generate_resource_allotment_specifier_extractst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["mat_type2"] = reinterpret_cast(&(df_structure->mat_type2)) - reinterpret_cast(df_structure); + p_table["mat_index2"] = reinterpret_cast(&(df_structure->mat_index2)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); +} + +void generate_resource_allotment_specifier_cheesest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); +} + +void generate_resource_allotment_specifier_skinst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["mat_type2"] = reinterpret_cast(&(df_structure->mat_type2)) - reinterpret_cast(df_structure); + p_table["mat_index2"] = reinterpret_cast(&(df_structure->mat_index2)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_resource_allotment_specifier_powderst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_route_stockpile_link_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["building_id"] = reinterpret_cast(&(df_structure->building_id)) - reinterpret_cast(df_structure); + p_table["mode"] = reinterpret_cast(&(df_structure->mode)) - reinterpret_cast(df_structure); +} + +void generate_build_req_choicest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["distance"] = reinterpret_cast(&(df_structure->distance)) - reinterpret_cast(df_structure); +} + +void generate_burrow_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["tile"] = reinterpret_cast(&(df_structure->tile)) - reinterpret_cast(df_structure); + p_table["fg_color"] = reinterpret_cast(&(df_structure->fg_color)) - reinterpret_cast(df_structure); + p_table["bg_color"] = reinterpret_cast(&(df_structure->bg_color)) - reinterpret_cast(df_structure); + p_table["block_x"] = reinterpret_cast(&(df_structure->block_x)) - reinterpret_cast(df_structure); + p_table["block_y"] = reinterpret_cast(&(df_structure->block_y)) - reinterpret_cast(df_structure); + p_table["block_z"] = reinterpret_cast(&(df_structure->block_z)) - reinterpret_cast(df_structure); + p_table["units"] = reinterpret_cast(&(df_structure->units)) - reinterpret_cast(df_structure); + p_table["limit_workshops"] = reinterpret_cast(&(df_structure->limit_workshops)) - reinterpret_cast(df_structure); +} + +void generate_ui_hotkey_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["cmd"] = reinterpret_cast(&(df_structure->cmd)) - reinterpret_cast(df_structure); + p_table["x"] = reinterpret_cast(&(df_structure->x)) - reinterpret_cast(df_structure); + p_table["y"] = reinterpret_cast(&(df_structure->y)) - reinterpret_cast(df_structure); + p_table["z"] = reinterpret_cast(&(df_structure->z)) - reinterpret_cast(df_structure); + p_table["unit_id"] = reinterpret_cast(&(df_structure->unit_id)) - reinterpret_cast(df_structure); + p_table["item_id"] = reinterpret_cast(&(df_structure->item_id)) - reinterpret_cast(df_structure); +} + +void generate_map_viewport_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["adv_mode"] = reinterpret_cast(&(df_structure->adv_mode)) - reinterpret_cast(df_structure); + p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); + p_table["map_rotation"] = reinterpret_cast(&(df_structure->map_rotation)) - reinterpret_cast(df_structure); + p_table["min_x"] = reinterpret_cast(&(df_structure->min_x)) - reinterpret_cast(df_structure); + p_table["min_y"] = reinterpret_cast(&(df_structure->min_y)) - reinterpret_cast(df_structure); + p_table["max_x"] = reinterpret_cast(&(df_structure->max_x)) - reinterpret_cast(df_structure); + p_table["max_y"] = reinterpret_cast(&(df_structure->max_y)) - reinterpret_cast(df_structure); + p_table["window_x"] = reinterpret_cast(&(df_structure->window_x)) - reinterpret_cast(df_structure); + p_table["window_y"] = reinterpret_cast(&(df_structure->window_y)) - reinterpret_cast(df_structure); + p_table["window_z"] = reinterpret_cast(&(df_structure->window_z)) - reinterpret_cast(df_structure); +} + +void generate_unit_genes_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["appearance"] = reinterpret_cast(&(df_structure->appearance)) - reinterpret_cast(df_structure); + p_table["colors"] = reinterpret_cast(&(df_structure->colors)) - reinterpret_cast(df_structure); +} + +void generate_unit_attribute_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["value"] = reinterpret_cast(&(df_structure->value)) - reinterpret_cast(df_structure); + p_table["max_value"] = reinterpret_cast(&(df_structure->max_value)) - reinterpret_cast(df_structure); + p_table["improve_counter"] = reinterpret_cast(&(df_structure->improve_counter)) - reinterpret_cast(df_structure); + p_table["unused_counter"] = reinterpret_cast(&(df_structure->unused_counter)) - reinterpret_cast(df_structure); + p_table["soft_demotion"] = reinterpret_cast(&(df_structure->soft_demotion)) - reinterpret_cast(df_structure); + p_table["rust_counter"] = reinterpret_cast(&(df_structure->rust_counter)) - reinterpret_cast(df_structure); + p_table["demotion_counter"] = reinterpret_cast(&(df_structure->demotion_counter)) - reinterpret_cast(df_structure); +} + +void generate_curse_attr_change_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["phys_att_perc"] = reinterpret_cast(&(df_structure->phys_att_perc)) - reinterpret_cast(df_structure); + p_table["phys_att_add"] = reinterpret_cast(&(df_structure->phys_att_add)) - reinterpret_cast(df_structure); + p_table["ment_att_perc"] = reinterpret_cast(&(df_structure->ment_att_perc)) - reinterpret_cast(df_structure); + p_table["ment_att_add"] = reinterpret_cast(&(df_structure->ment_att_add)) - reinterpret_cast(df_structure); +} + +void generate_unit_item_wrestle_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); + p_table["self_bp"] = reinterpret_cast(&(df_structure->self_bp)) - reinterpret_cast(df_structure); + p_table["other_bp"] = reinterpret_cast(&(df_structure->other_bp)) - reinterpret_cast(df_structure); + p_table["unk_c"] = reinterpret_cast(&(df_structure->unk_c)) - reinterpret_cast(df_structure); + p_table["unk_10"] = reinterpret_cast(&(df_structure->unk_10)) - reinterpret_cast(df_structure); + p_table["item1"] = reinterpret_cast(&(df_structure->item1)) - reinterpret_cast(df_structure); + p_table["item2"] = reinterpret_cast(&(df_structure->item2)) - reinterpret_cast(df_structure); + p_table["unk_1c"] = reinterpret_cast(&(df_structure->unk_1c)) - reinterpret_cast(df_structure); + p_table["unk_1e"] = reinterpret_cast(&(df_structure->unk_1e)) - reinterpret_cast(df_structure); + p_table["unk_20"] = reinterpret_cast(&(df_structure->unk_20)) - reinterpret_cast(df_structure); +} + +void generate_unit_item_use_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["time_in_use"] = reinterpret_cast(&(df_structure->time_in_use)) - reinterpret_cast(df_structure); + p_table["has_grown_attached"] = reinterpret_cast(&(df_structure->has_grown_attached)) - reinterpret_cast(df_structure); + p_table["affection_level"] = reinterpret_cast(&(df_structure->affection_level)) - reinterpret_cast(df_structure); +} + +void generate_unit_unk_138_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); +} + +void generate_unit_coin_debt_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["recipient"] = reinterpret_cast(&(df_structure->recipient)) - reinterpret_cast(df_structure); + p_table["amount"] = reinterpret_cast(&(df_structure->amount)) - reinterpret_cast(df_structure); +} + +void generate_file_compressorst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["compressed"] = reinterpret_cast(&(df_structure->compressed)) - reinterpret_cast(df_structure); + p_table["f"] = reinterpret_cast(&(df_structure->f)) - reinterpret_cast(df_structure); + p_table["in_buffer"] = reinterpret_cast(&(df_structure->in_buffer)) - reinterpret_cast(df_structure); + p_table["in_buffersize"] = reinterpret_cast(&(df_structure->in_buffersize)) - reinterpret_cast(df_structure); + p_table["in_buffer_amount_loaded"] = reinterpret_cast(&(df_structure->in_buffer_amount_loaded)) - reinterpret_cast(df_structure); + p_table["in_buffer_position"] = reinterpret_cast(&(df_structure->in_buffer_position)) - reinterpret_cast(df_structure); + p_table["out_buffer"] = reinterpret_cast(&(df_structure->out_buffer)) - reinterpret_cast(df_structure); + p_table["out_buffersize"] = reinterpret_cast(&(df_structure->out_buffersize)) - reinterpret_cast(df_structure); + p_table["out_buffer_amount_written"] = reinterpret_cast(&(df_structure->out_buffer_amount_written)) - reinterpret_cast(df_structure); +} + +void generate_layer_object_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["enabled"] = reinterpret_cast(&(df_structure->enabled)) - reinterpret_cast(df_structure); + p_table["active"] = reinterpret_cast(&(df_structure->active)) - reinterpret_cast(df_structure); +} + +void generate_layer_object_buttonst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["x1"] = reinterpret_cast(&(df_structure->x1)) - reinterpret_cast(df_structure); + p_table["y1"] = reinterpret_cast(&(df_structure->y1)) - reinterpret_cast(df_structure); + p_table["x2"] = reinterpret_cast(&(df_structure->x2)) - reinterpret_cast(df_structure); + p_table["y2"] = reinterpret_cast(&(df_structure->y2)) - reinterpret_cast(df_structure); + p_table["has_mouse_lclick"] = reinterpret_cast(&(df_structure->has_mouse_lclick)) - reinterpret_cast(df_structure); + p_table["has_mouse_rclick"] = reinterpret_cast(&(df_structure->has_mouse_rclick)) - reinterpret_cast(df_structure); + p_table["mouse_lclick_x"] = reinterpret_cast(&(df_structure->mouse_lclick_x)) - reinterpret_cast(df_structure); + p_table["mouse_lclick_y"] = reinterpret_cast(&(df_structure->mouse_lclick_y)) - reinterpret_cast(df_structure); + p_table["mouse_rclick_x"] = reinterpret_cast(&(df_structure->mouse_rclick_x)) - reinterpret_cast(df_structure); + p_table["mouse_rclick_y"] = reinterpret_cast(&(df_structure->mouse_rclick_y)) - reinterpret_cast(df_structure); + p_table["mouse_x"] = reinterpret_cast(&(df_structure->mouse_x)) - reinterpret_cast(df_structure); + p_table["mouse_y"] = reinterpret_cast(&(df_structure->mouse_y)) - reinterpret_cast(df_structure); + p_table["mouse_x_old"] = reinterpret_cast(&(df_structure->mouse_x_old)) - reinterpret_cast(df_structure); + p_table["mouse_y_old"] = reinterpret_cast(&(df_structure->mouse_y_old)) - reinterpret_cast(df_structure); + p_table["handle_mouselbtndown"] = reinterpret_cast(&(df_structure->handle_mouselbtndown)) - reinterpret_cast(df_structure); + p_table["handle_mouserbtndown"] = reinterpret_cast(&(df_structure->handle_mouserbtndown)) - reinterpret_cast(df_structure); +} + +void generate_widget_menu_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["selection"] = reinterpret_cast(&(df_structure->selection)) - reinterpret_cast(df_structure); + p_table["last_displayheight"] = reinterpret_cast(&(df_structure->last_displayheight)) - reinterpret_cast(df_structure); + p_table["bleached"] = reinterpret_cast(&(df_structure->bleached)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); +} + +void generate_widget_textbox_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["text"] = reinterpret_cast(&(df_structure->text)) - reinterpret_cast(df_structure); + p_table["keep"] = reinterpret_cast(&(df_structure->keep)) - reinterpret_cast(df_structure); +} + +void generate_adventure_log_item_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["object"] = reinterpret_cast(&(df_structure->object)) - reinterpret_cast(df_structure); + p_table["str1"] = reinterpret_cast(&(df_structure->str1)) - reinterpret_cast(df_structure); + p_table["str2"] = reinterpret_cast(&(df_structure->str2)) - reinterpret_cast(df_structure); + p_table["str3"] = reinterpret_cast(&(df_structure->str3)) - reinterpret_cast(df_structure); + p_table["info"] = reinterpret_cast(&(df_structure->info)) - reinterpret_cast(df_structure); +} + +void generate_world_gen_param_basest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); +} + +void generate_world_gen_param_seedst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_world_gen_param_valuest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk_1"] = reinterpret_cast(&(df_structure->unk_1)) - reinterpret_cast(df_structure); + p_table["unk_2"] = reinterpret_cast(&(df_structure->unk_2)) - reinterpret_cast(df_structure); + p_table["unk_3"] = reinterpret_cast(&(df_structure->unk_3)) - reinterpret_cast(df_structure); +} + +void generate_world_gen_param_charst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["min_val"] = reinterpret_cast(&(df_structure->min_val)) - reinterpret_cast(df_structure); + p_table["max_val"] = reinterpret_cast(&(df_structure->max_val)) - reinterpret_cast(df_structure); + p_table["initial_val"] = reinterpret_cast(&(df_structure->initial_val)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); +} + +void generate_world_gen_param_memberst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["min_val"] = reinterpret_cast(&(df_structure->min_val)) - reinterpret_cast(df_structure); + p_table["max_val"] = reinterpret_cast(&(df_structure->max_val)) - reinterpret_cast(df_structure); + p_table["initial_val"] = reinterpret_cast(&(df_structure->initial_val)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); +} + +void generate_matgloss_list_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["generated_inorganics"] = reinterpret_cast(&(df_structure->generated_inorganics)) - reinterpret_cast(df_structure); + p_table["generated_plants"] = reinterpret_cast(&(df_structure->generated_plants)) - reinterpret_cast(df_structure); + p_table["generated_items"] = reinterpret_cast(&(df_structure->generated_items)) - reinterpret_cast(df_structure); + p_table["generated_creatures"] = reinterpret_cast(&(df_structure->generated_creatures)) - reinterpret_cast(df_structure); + p_table["generated_entities"] = reinterpret_cast(&(df_structure->generated_entities)) - reinterpret_cast(df_structure); + p_table["generated_interactions"] = reinterpret_cast(&(df_structure->generated_interactions)) - reinterpret_cast(df_structure); + p_table["generated_languages"] = reinterpret_cast(&(df_structure->generated_languages)) - reinterpret_cast(df_structure); + p_table["inorganics"] = reinterpret_cast(&(df_structure->inorganics)) - reinterpret_cast(df_structure); + p_table["plants"] = reinterpret_cast(&(df_structure->plants)) - reinterpret_cast(df_structure); + p_table["bodies"] = reinterpret_cast(&(df_structure->bodies)) - reinterpret_cast(df_structure); + p_table["bodyglosses"] = reinterpret_cast(&(df_structure->bodyglosses)) - reinterpret_cast(df_structure); + p_table["creatures"] = reinterpret_cast(&(df_structure->creatures)) - reinterpret_cast(df_structure); + p_table["items"] = reinterpret_cast(&(df_structure->items)) - reinterpret_cast(df_structure); + p_table["buildings"] = reinterpret_cast(&(df_structure->buildings)) - reinterpret_cast(df_structure); + p_table["entities"] = reinterpret_cast(&(df_structure->entities)) - reinterpret_cast(df_structure); + p_table["words"] = reinterpret_cast(&(df_structure->words)) - reinterpret_cast(df_structure); + p_table["symbols"] = reinterpret_cast(&(df_structure->symbols)) - reinterpret_cast(df_structure); + p_table["translations"] = reinterpret_cast(&(df_structure->translations)) - reinterpret_cast(df_structure); + p_table["colors"] = reinterpret_cast(&(df_structure->colors)) - reinterpret_cast(df_structure); + p_table["shapes"] = reinterpret_cast(&(df_structure->shapes)) - reinterpret_cast(df_structure); + p_table["patterns"] = reinterpret_cast(&(df_structure->patterns)) - reinterpret_cast(df_structure); + p_table["reactions"] = reinterpret_cast(&(df_structure->reactions)) - reinterpret_cast(df_structure); + p_table["material_templates"] = reinterpret_cast(&(df_structure->material_templates)) - reinterpret_cast(df_structure); + p_table["tissue_templates"] = reinterpret_cast(&(df_structure->tissue_templates)) - reinterpret_cast(df_structure); + p_table["body_detail_plans"] = reinterpret_cast(&(df_structure->body_detail_plans)) - reinterpret_cast(df_structure); + p_table["creature_variations"] = reinterpret_cast(&(df_structure->creature_variations)) - reinterpret_cast(df_structure); + p_table["interactions"] = reinterpret_cast(&(df_structure->interactions)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); +} + +void generate_world_population_ref_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["region_x"] = reinterpret_cast(&(df_structure->region_x)) - reinterpret_cast(df_structure); + p_table["region_y"] = reinterpret_cast(&(df_structure->region_y)) - reinterpret_cast(df_structure); + p_table["feature_idx"] = reinterpret_cast(&(df_structure->feature_idx)) - reinterpret_cast(df_structure); + p_table["cave_id"] = reinterpret_cast(&(df_structure->cave_id)) - reinterpret_cast(df_structure); + p_table["unk_28"] = reinterpret_cast(&(df_structure->unk_28)) - reinterpret_cast(df_structure); + p_table["population_idx"] = reinterpret_cast(&(df_structure->population_idx)) - reinterpret_cast(df_structure); + p_table["depth"] = reinterpret_cast(&(df_structure->depth)) - reinterpret_cast(df_structure); +} + +void generate_scribejob_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["idmaybe"] = reinterpret_cast(&(df_structure->idmaybe)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["item_id"] = reinterpret_cast(&(df_structure->item_id)) - reinterpret_cast(df_structure); + p_table["written_content_id"] = reinterpret_cast(&(df_structure->written_content_id)) - reinterpret_cast(df_structure); + p_table["unit_id"] = reinterpret_cast(&(df_structure->unit_id)) - reinterpret_cast(df_structure); + p_table["activity_entry_id"] = reinterpret_cast(&(df_structure->activity_entry_id)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["locationmaybe"] = reinterpret_cast(&(df_structure->locationmaybe)) - reinterpret_cast(df_structure); +} + +void generate_site_reputation_report_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); + p_table["location_id"] = reinterpret_cast(&(df_structure->location_id)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["year"] = reinterpret_cast(&(df_structure->year)) - reinterpret_cast(df_structure); + p_table["tickmaybe"] = reinterpret_cast(&(df_structure->tickmaybe)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); + p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); + p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); + p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); +} + +void generate_abstract_building_contents_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk_e4"] = reinterpret_cast(&(df_structure->unk_e4)) - reinterpret_cast(df_structure); + p_table["desired_goblets"] = reinterpret_cast(&(df_structure->desired_goblets)) - reinterpret_cast(df_structure); + p_table["desired_instruments"] = reinterpret_cast(&(df_structure->desired_instruments)) - reinterpret_cast(df_structure); + p_table["desired_paper"] = reinterpret_cast(&(df_structure->desired_paper)) - reinterpret_cast(df_structure); + p_table["desired_copies"] = reinterpret_cast(&(df_structure->desired_copies)) - reinterpret_cast(df_structure); + p_table["count_goblets"] = reinterpret_cast(&(df_structure->count_goblets)) - reinterpret_cast(df_structure); + p_table["count_instruments"] = reinterpret_cast(&(df_structure->count_instruments)) - reinterpret_cast(df_structure); + p_table["count_paper"] = reinterpret_cast(&(df_structure->count_paper)) - reinterpret_cast(df_structure); + p_table["unk_104"] = reinterpret_cast(&(df_structure->unk_104)) - reinterpret_cast(df_structure); + p_table["building_ids"] = reinterpret_cast(&(df_structure->building_ids)) - reinterpret_cast(df_structure); +} + +void generate_world_site_inhabitant_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["count"] = reinterpret_cast(&(df_structure->count)) - reinterpret_cast(df_structure); + p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); + p_table["unk_8"] = reinterpret_cast(&(df_structure->unk_8)) - reinterpret_cast(df_structure); + p_table["outcast_id"] = reinterpret_cast(&(df_structure->outcast_id)) - reinterpret_cast(df_structure); + p_table["unk_10"] = reinterpret_cast(&(df_structure->unk_10)) - reinterpret_cast(df_structure); + p_table["unk_14"] = reinterpret_cast(&(df_structure->unk_14)) - reinterpret_cast(df_structure); + p_table["unk_18"] = reinterpret_cast(&(df_structure->unk_18)) - reinterpret_cast(df_structure); + p_table["unk_1c"] = reinterpret_cast(&(df_structure->unk_1c)) - reinterpret_cast(df_structure); + p_table["unk_20"] = reinterpret_cast(&(df_structure->unk_20)) - reinterpret_cast(df_structure); + p_table["unk_24"] = reinterpret_cast(&(df_structure->unk_24)) - reinterpret_cast(df_structure); + p_table["unk_28"] = reinterpret_cast(&(df_structure->unk_28)) - reinterpret_cast(df_structure); +} + +void generate_site_realization_building_infost_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_site_realization_building_info_castle_courtyardst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_creation_zone_pwg_alterationst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk_0"] = reinterpret_cast(&(df_structure->unk_0)) - reinterpret_cast(df_structure); +} + +void generate_creation_zone_pwg_alteration_campst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); + p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); + p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); + p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); +} + +void generate_creation_zone_pwg_alteration_srb_ruinedst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); +} + +void generate_creation_zone_pwg_alteration_srp_ruinedst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); +} + +void generate_incident_hfid_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["hfid"] = reinterpret_cast(&(df_structure->hfid)) - reinterpret_cast(df_structure); + p_table["unk_1"] = reinterpret_cast(&(df_structure->unk_1)) - reinterpret_cast(df_structure); + p_table["unk_2"] = reinterpret_cast(&(df_structure->unk_2)) - reinterpret_cast(df_structure); + p_table["unk_3"] = reinterpret_cast(&(df_structure->unk_3)) - reinterpret_cast(df_structure); +} + +void generate_mission_campaign_report_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["travel_x"] = reinterpret_cast(&(df_structure->travel_x)) - reinterpret_cast(df_structure); + p_table["travel_y"] = reinterpret_cast(&(df_structure->travel_y)) - reinterpret_cast(df_structure); + p_table["travel_year"] = reinterpret_cast(&(df_structure->travel_year)) - reinterpret_cast(df_structure); + p_table["travel_year_tick"] = reinterpret_cast(&(df_structure->travel_year_tick)) - reinterpret_cast(df_structure); + p_table["travel_count"] = reinterpret_cast(&(df_structure->travel_count)) - reinterpret_cast(df_structure); + p_table["event_id"] = reinterpret_cast(&(df_structure->event_id)) - reinterpret_cast(df_structure); + p_table["event_year"] = reinterpret_cast(&(df_structure->event_year)) - reinterpret_cast(df_structure); + p_table["event_year_tick"] = reinterpret_cast(&(df_structure->event_year_tick)) - reinterpret_cast(df_structure); + p_table["events_count"] = reinterpret_cast(&(df_structure->events_count)) - reinterpret_cast(df_structure); +} + +void generate_coord_rect_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["x1"] = reinterpret_cast(&(df_structure->x1)) - reinterpret_cast(df_structure); + p_table["y1"] = reinterpret_cast(&(df_structure->y1)) - reinterpret_cast(df_structure); + p_table["x2"] = reinterpret_cast(&(df_structure->x2)) - reinterpret_cast(df_structure); + p_table["y2"] = reinterpret_cast(&(df_structure->y2)) - reinterpret_cast(df_structure); + p_table["z"] = reinterpret_cast(&(df_structure->z)) - reinterpret_cast(df_structure); +} + +void generate_world_unk_a8_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); +} + +void generate_world_unk_b4_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); + p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); +} + +void generate_ocean_wave_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["x1"] = reinterpret_cast(&(df_structure->x1)) - reinterpret_cast(df_structure); + p_table["y1"] = reinterpret_cast(&(df_structure->y1)) - reinterpret_cast(df_structure); + p_table["x2"] = reinterpret_cast(&(df_structure->x2)) - reinterpret_cast(df_structure); + p_table["y2"] = reinterpret_cast(&(df_structure->y2)) - reinterpret_cast(df_structure); + p_table["z"] = reinterpret_cast(&(df_structure->z)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); +} + +void generate_coin_batch__T_image_front_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["subid"] = reinterpret_cast(&(df_structure->subid)) - reinterpret_cast(df_structure); +} + +void generate_coin_batch__T_image_back_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["subid"] = reinterpret_cast(&(df_structure->subid)) - reinterpret_cast(df_structure); +} + +void generate_coin_batch_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["year"] = reinterpret_cast(&(df_structure->year)) - reinterpret_cast(df_structure); + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["entity"] = reinterpret_cast(&(df_structure->entity)) - reinterpret_cast(df_structure); + p_table["ruler"] = reinterpret_cast(&(df_structure->ruler)) - reinterpret_cast(df_structure); + p_table["image_front"] = reinterpret_cast(&(df_structure->image_front)) - reinterpret_cast(df_structure); + p_table["image_back"] = reinterpret_cast(&(df_structure->image_back)) - reinterpret_cast(df_structure); +} + +void generate_conversation__T_speech_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["text"] = reinterpret_cast(&(df_structure->text)) - reinterpret_cast(df_structure); + p_table["speaker"] = reinterpret_cast(&(df_structure->speaker)) - reinterpret_cast(df_structure); + p_table["unk_14"] = reinterpret_cast(&(df_structure->unk_14)) - reinterpret_cast(df_structure); + p_table["unk_18"] = reinterpret_cast(&(df_structure->unk_18)) - reinterpret_cast(df_structure); + p_table["fg"] = reinterpret_cast(&(df_structure->fg)) - reinterpret_cast(df_structure); + p_table["bg"] = reinterpret_cast(&(df_structure->bg)) - reinterpret_cast(df_structure); + p_table["bright"] = reinterpret_cast(&(df_structure->bright)) - reinterpret_cast(df_structure); +} + +void generate_conversation_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["conv_title"] = reinterpret_cast(&(df_structure->conv_title)) - reinterpret_cast(df_structure); + p_table["state"] = reinterpret_cast(&(df_structure->state)) - reinterpret_cast(df_structure); + p_table["talk_choices"] = reinterpret_cast(&(df_structure->talk_choices)) - reinterpret_cast(df_structure); + p_table["unk_30"] = reinterpret_cast(&(df_structure->unk_30)) - reinterpret_cast(df_structure); + p_table["unk_34"] = reinterpret_cast(&(df_structure->unk_34)) - reinterpret_cast(df_structure); + p_table["unk_38"] = reinterpret_cast(&(df_structure->unk_38)) - reinterpret_cast(df_structure); + p_table["unk_3c"] = reinterpret_cast(&(df_structure->unk_3c)) - reinterpret_cast(df_structure); + p_table["unk_40"] = reinterpret_cast(&(df_structure->unk_40)) - reinterpret_cast(df_structure); + p_table["unk_44"] = reinterpret_cast(&(df_structure->unk_44)) - reinterpret_cast(df_structure); + p_table["unk_48"] = reinterpret_cast(&(df_structure->unk_48)) - reinterpret_cast(df_structure); + p_table["unk_4c"] = reinterpret_cast(&(df_structure->unk_4c)) - reinterpret_cast(df_structure); + p_table["unk_50"] = reinterpret_cast(&(df_structure->unk_50)) - reinterpret_cast(df_structure); + p_table["unk_54"] = reinterpret_cast(&(df_structure->unk_54)) - reinterpret_cast(df_structure); + p_table["unk_64"] = reinterpret_cast(&(df_structure->unk_64)) - reinterpret_cast(df_structure); + p_table["unk_74"] = reinterpret_cast(&(df_structure->unk_74)) - reinterpret_cast(df_structure); + p_table["unk_78"] = reinterpret_cast(&(df_structure->unk_78)) - reinterpret_cast(df_structure); + p_table["unk_7c"] = reinterpret_cast(&(df_structure->unk_7c)) - reinterpret_cast(df_structure); + p_table["unk_80"] = reinterpret_cast(&(df_structure->unk_80)) - reinterpret_cast(df_structure); + p_table["unk_84"] = reinterpret_cast(&(df_structure->unk_84)) - reinterpret_cast(df_structure); + p_table["unk_94"] = reinterpret_cast(&(df_structure->unk_94)) - reinterpret_cast(df_structure); + p_table["unk_a4"] = reinterpret_cast(&(df_structure->unk_a4)) - reinterpret_cast(df_structure); + p_table["location"] = reinterpret_cast(&(df_structure->location)) - reinterpret_cast(df_structure); + p_table["unk_b8"] = reinterpret_cast(&(df_structure->unk_b8)) - reinterpret_cast(df_structure); + p_table["unk_bc"] = reinterpret_cast(&(df_structure->unk_bc)) - reinterpret_cast(df_structure); + p_table["speech"] = reinterpret_cast(&(df_structure->speech)) - reinterpret_cast(df_structure); +} + +void generate_talk_choice__T_unk_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["event"] = reinterpret_cast(&(df_structure->event)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); +} + +void generate_talk_choice_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["unk"] = reinterpret_cast(&(df_structure->unk)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); +} + +void generate_adventure_option_eat_item_contaminantst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); + p_table["inv_item"] = reinterpret_cast(&(df_structure->inv_item)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_adventure_environment_optionst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); + p_table["unk2"] = reinterpret_cast(&(df_structure->unk2)) - reinterpret_cast(df_structure); +} + +void generate_adventure_environment_place_in_it_containerst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_adventure_environment_ingest_from_containerst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); +} + +void generate_adventure_environment_pickup_ignite_vegst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_adventure_environment_ingest_materialst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); +} + +void generate_adventure_environment_pickup_make_campfirest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_adventure_environment_place_in_bld_containerst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_adventure_environment_pickup_vermin_eventst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["vermin_idx"] = reinterpret_cast(&(df_structure->vermin_idx)) - reinterpret_cast(df_structure); +} + +void generate_adventure_environment_pickup_chop_treest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_adventure_environment_unit_suck_bloodst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unit_id"] = reinterpret_cast(&(df_structure->unit_id)) - reinterpret_cast(df_structure); +} + +void generate_adventure_movement_optionst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["dest"] = reinterpret_cast(&(df_structure->dest)) - reinterpret_cast(df_structure); + p_table["source"] = reinterpret_cast(&(df_structure->source)) - reinterpret_cast(df_structure); +} + +void generate_adventure_movement_release_hold_itemst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_adventure_movement_release_hold_tilest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_adventure_movement_attack_creaturest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_adventure_movement_hold_tilest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["grab"] = reinterpret_cast(&(df_structure->grab)) - reinterpret_cast(df_structure); +} + +void generate_adventure_movement_movest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unit_path_flags"] = reinterpret_cast(&(df_structure->unit_path_flags)) - reinterpret_cast(df_structure); + p_table["unk_bitfield"] = reinterpret_cast(&(df_structure->unk_bitfield)) - reinterpret_cast(df_structure); +} + +void generate_adventure_movement_climbst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["grab"] = reinterpret_cast(&(df_structure->grab)) - reinterpret_cast(df_structure); +} + +void generate_adventure_movement_hold_itemst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["item_id"] = reinterpret_cast(&(df_structure->item_id)) - reinterpret_cast(df_structure); +} + +void generate_adventure_movement_building_interactst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["building_id"] = reinterpret_cast(&(df_structure->building_id)) - reinterpret_cast(df_structure); +} + +void generate_adventure_movement_item_interactst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["item_id"] = reinterpret_cast(&(df_structure->item_id)) - reinterpret_cast(df_structure); +} + +void generate_adventure_movement_item_interact_guidest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_adventure_movement_item_interact_ridest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_adventure_movement_item_interact_pushst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_adventure_item_interact_heat_from_tilest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); +} + +void generate_adventure_item_interact_fill_from_containerst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); +} + +void generate_adventure_item_interact_fill_with_materialst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); +} + +void generate_adventure_item_interact_give_namest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_announcements_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["unused"] = reinterpret_cast(&(df_structure->unused)) - reinterpret_cast(df_structure); +} + +void generate_report_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["text"] = reinterpret_cast(&(df_structure->text)) - reinterpret_cast(df_structure); + p_table["color"] = reinterpret_cast(&(df_structure->color)) - reinterpret_cast(df_structure); + p_table["bright"] = reinterpret_cast(&(df_structure->bright)) - reinterpret_cast(df_structure); + p_table["duration"] = reinterpret_cast(&(df_structure->duration)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["repeat_count"] = reinterpret_cast(&(df_structure->repeat_count)) - reinterpret_cast(df_structure); + p_table["unk_4410_1"] = reinterpret_cast(&(df_structure->unk_4410_1)) - reinterpret_cast(df_structure); + p_table["pos"] = reinterpret_cast(&(df_structure->pos)) - reinterpret_cast(df_structure); + p_table["unk_4410_2"] = reinterpret_cast(&(df_structure->unk_4410_2)) - reinterpret_cast(df_structure); + p_table["unit_pos"] = reinterpret_cast(&(df_structure->unit_pos)) - reinterpret_cast(df_structure); + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["year"] = reinterpret_cast(&(df_structure->year)) - reinterpret_cast(df_structure); + p_table["time"] = reinterpret_cast(&(df_structure->time)) - reinterpret_cast(df_structure); + p_table["unk_v40_1"] = reinterpret_cast(&(df_structure->unk_v40_1)) - reinterpret_cast(df_structure); + p_table["unk_v40_2"] = reinterpret_cast(&(df_structure->unk_v40_2)) - reinterpret_cast(df_structure); + p_table["speaker_id"] = reinterpret_cast(&(df_structure->speaker_id)) - reinterpret_cast(df_structure); +} + +void generate_art_image_element_itemst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); + p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["item_id"] = reinterpret_cast(&(df_structure->item_id)) - reinterpret_cast(df_structure); +} + +void generate_art_image_property_transitive_verbst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["subject"] = reinterpret_cast(&(df_structure->subject)) - reinterpret_cast(df_structure); + p_table["object"] = reinterpret_cast(&(df_structure->object)) - reinterpret_cast(df_structure); + p_table["verb"] = reinterpret_cast(&(df_structure->verb)) - reinterpret_cast(df_structure); +} + +void generate_art_image_property_intransitive_verbst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["subject"] = reinterpret_cast(&(df_structure->subject)) - reinterpret_cast(df_structure); + p_table["verb"] = reinterpret_cast(&(df_structure->verb)) - reinterpret_cast(df_structure); +} + +void generate_art_image_chunk_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["images"] = reinterpret_cast(&(df_structure->images)) - reinterpret_cast(df_structure); +} + +void generate_poetic_form_part__T_line_subject_targets_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["subject_histfig"] = reinterpret_cast(&(df_structure->subject_histfig)) - reinterpret_cast(df_structure); + p_table["subject_topic"] = reinterpret_cast(&(df_structure->subject_topic)) - reinterpret_cast(df_structure); +} + +void generate_poetic_form_part_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["count_min"] = reinterpret_cast(&(df_structure->count_min)) - reinterpret_cast(df_structure); + p_table["count_max"] = reinterpret_cast(&(df_structure->count_max)) - reinterpret_cast(df_structure); + p_table["size"] = reinterpret_cast(&(df_structure->size)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["line_endings"] = reinterpret_cast(&(df_structure->line_endings)) - reinterpret_cast(df_structure); + p_table["line_feet"] = reinterpret_cast(&(df_structure->line_feet)) - reinterpret_cast(df_structure); + p_table["line_patterns"] = reinterpret_cast(&(df_structure->line_patterns)) - reinterpret_cast(df_structure); + p_table["line_caesura_positions"] = reinterpret_cast(&(df_structure->line_caesura_positions)) - reinterpret_cast(df_structure); + p_table["line_features"] = reinterpret_cast(&(df_structure->line_features)) - reinterpret_cast(df_structure); + p_table["additional_features"] = reinterpret_cast(&(df_structure->additional_features)) - reinterpret_cast(df_structure); + p_table["additional_targets"] = reinterpret_cast(&(df_structure->additional_targets)) - reinterpret_cast(df_structure); + p_table["additional_lines"] = reinterpret_cast(&(df_structure->additional_lines)) - reinterpret_cast(df_structure); + p_table["line_moods"] = reinterpret_cast(&(df_structure->line_moods)) - reinterpret_cast(df_structure); + p_table["line_subjects"] = reinterpret_cast(&(df_structure->line_subjects)) - reinterpret_cast(df_structure); + p_table["line_subject_targets"] = reinterpret_cast(&(df_structure->line_subject_targets)) - reinterpret_cast(df_structure); + p_table["line_actions"] = reinterpret_cast(&(df_structure->line_actions)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["some_lines_syllables"] = reinterpret_cast(&(df_structure->some_lines_syllables)) - reinterpret_cast(df_structure); + p_table["some_lines_pattern"] = reinterpret_cast(&(df_structure->some_lines_pattern)) - reinterpret_cast(df_structure); + p_table["each_line_caesura_position"] = reinterpret_cast(&(df_structure->each_line_caesura_position)) - reinterpret_cast(df_structure); + p_table["certain_lines_additional_features"] = reinterpret_cast(&(df_structure->certain_lines_additional_features)) - reinterpret_cast(df_structure); + p_table["mood"] = reinterpret_cast(&(df_structure->mood)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); + p_table["action"] = reinterpret_cast(&(df_structure->action)) - reinterpret_cast(df_structure); + p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); + p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); +} + +void generate_musical_form_vocals_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); + p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); + p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); + p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); + p_table["anon_11"] = reinterpret_cast(&(df_structure->anon_11)) - reinterpret_cast(df_structure); + p_table["anon_12"] = reinterpret_cast(&(df_structure->anon_12)) - reinterpret_cast(df_structure); + p_table["anon_13"] = reinterpret_cast(&(df_structure->anon_13)) - reinterpret_cast(df_structure); + p_table["vocal_components"] = reinterpret_cast(&(df_structure->vocal_components)) - reinterpret_cast(df_structure); + p_table["phrase_lengths"] = reinterpret_cast(&(df_structure->phrase_lengths)) - reinterpret_cast(df_structure); + p_table["anon_14"] = reinterpret_cast(&(df_structure->anon_14)) - reinterpret_cast(df_structure); + p_table["anon_15"] = reinterpret_cast(&(df_structure->anon_15)) - reinterpret_cast(df_structure); + p_table["anon_16"] = reinterpret_cast(&(df_structure->anon_16)) - reinterpret_cast(df_structure); + p_table["anon_17"] = reinterpret_cast(&(df_structure->anon_17)) - reinterpret_cast(df_structure); + p_table["anon_18"] = reinterpret_cast(&(df_structure->anon_18)) - reinterpret_cast(df_structure); + p_table["anon_19"] = reinterpret_cast(&(df_structure->anon_19)) - reinterpret_cast(df_structure); + p_table["anon_20"] = reinterpret_cast(&(df_structure->anon_20)) - reinterpret_cast(df_structure); + p_table["anon_21"] = reinterpret_cast(&(df_structure->anon_21)) - reinterpret_cast(df_structure); + p_table["anon_22"] = reinterpret_cast(&(df_structure->anon_22)) - reinterpret_cast(df_structure); + p_table["anon_23"] = reinterpret_cast(&(df_structure->anon_23)) - reinterpret_cast(df_structure); +} + +void generate_musical_form_instruments_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["instrument_subtype"] = reinterpret_cast(&(df_structure->instrument_subtype)) - reinterpret_cast(df_structure); + p_table["substitutions"] = reinterpret_cast(&(df_structure->substitutions)) - reinterpret_cast(df_structure); + p_table["features"] = reinterpret_cast(&(df_structure->features)) - reinterpret_cast(df_structure); + p_table["minimum_required"] = reinterpret_cast(&(df_structure->minimum_required)) - reinterpret_cast(df_structure); + p_table["maximum_permitted"] = reinterpret_cast(&(df_structure->maximum_permitted)) - reinterpret_cast(df_structure); + p_table["dynamic_style"] = reinterpret_cast(&(df_structure->dynamic_style)) - reinterpret_cast(df_structure); + p_table["overall_style"] = reinterpret_cast(&(df_structure->overall_style)) - reinterpret_cast(df_structure); +} + +void generate_musical_form_melodies_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["style"] = reinterpret_cast(&(df_structure->style)) - reinterpret_cast(df_structure); + p_table["frequency"] = reinterpret_cast(&(df_structure->frequency)) - reinterpret_cast(df_structure); + p_table["intervals"] = reinterpret_cast(&(df_structure->intervals)) - reinterpret_cast(df_structure); + p_table["features"] = reinterpret_cast(&(df_structure->features)) - reinterpret_cast(df_structure); +} + +void generate_scale__T_unk1_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); +} + +void generate_scale_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); +} + +void generate_rhythm_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); +} + +void generate_rhythm_sub1__T_anon_1_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["length"] = reinterpret_cast(&(df_structure->length)) - reinterpret_cast(df_structure); +} + +void generate_rhythm_sub1_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); +} + +void generate_occupation_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["histfig_id"] = reinterpret_cast(&(df_structure->histfig_id)) - reinterpret_cast(df_structure); + p_table["unit_id"] = reinterpret_cast(&(df_structure->unit_id)) - reinterpret_cast(df_structure); + p_table["location_id"] = reinterpret_cast(&(df_structure->location_id)) - reinterpret_cast(df_structure); + p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); + p_table["group_id"] = reinterpret_cast(&(df_structure->group_id)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); +} + +void generate_building_def_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["code"] = reinterpret_cast(&(df_structure->code)) - reinterpret_cast(df_structure); + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["building_type"] = reinterpret_cast(&(df_structure->building_type)) - reinterpret_cast(df_structure); + p_table["building_subtype"] = reinterpret_cast(&(df_structure->building_subtype)) - reinterpret_cast(df_structure); + p_table["name_color"] = reinterpret_cast(&(df_structure->name_color)) - reinterpret_cast(df_structure); + p_table["tile"] = reinterpret_cast(&(df_structure->tile)) - reinterpret_cast(df_structure); + p_table["tile_color"] = reinterpret_cast(&(df_structure->tile_color)) - reinterpret_cast(df_structure); + p_table["tile_block"] = reinterpret_cast(&(df_structure->tile_block)) - reinterpret_cast(df_structure); + p_table["build_key"] = reinterpret_cast(&(df_structure->build_key)) - reinterpret_cast(df_structure); + p_table["needs_magma"] = reinterpret_cast(&(df_structure->needs_magma)) - reinterpret_cast(df_structure); + p_table["build_items"] = reinterpret_cast(&(df_structure->build_items)) - reinterpret_cast(df_structure); + p_table["dim_x"] = reinterpret_cast(&(df_structure->dim_x)) - reinterpret_cast(df_structure); + p_table["dim_y"] = reinterpret_cast(&(df_structure->dim_y)) - reinterpret_cast(df_structure); + p_table["workloc_x"] = reinterpret_cast(&(df_structure->workloc_x)) - reinterpret_cast(df_structure); + p_table["workloc_y"] = reinterpret_cast(&(df_structure->workloc_y)) - reinterpret_cast(df_structure); + p_table["build_labors"] = reinterpret_cast(&(df_structure->build_labors)) - reinterpret_cast(df_structure); + p_table["labor_description"] = reinterpret_cast(&(df_structure->labor_description)) - reinterpret_cast(df_structure); + p_table["build_stages"] = reinterpret_cast(&(df_structure->build_stages)) - reinterpret_cast(df_structure); +} + +void generate_building_def_item_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); + p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["reaction_class"] = reinterpret_cast(&(df_structure->reaction_class)) - reinterpret_cast(df_structure); + p_table["has_material_reaction_product"] = reinterpret_cast(&(df_structure->has_material_reaction_product)) - reinterpret_cast(df_structure); + p_table["flags1"] = reinterpret_cast(&(df_structure->flags1)) - reinterpret_cast(df_structure); + p_table["flags2"] = reinterpret_cast(&(df_structure->flags2)) - reinterpret_cast(df_structure); + p_table["flags3"] = reinterpret_cast(&(df_structure->flags3)) - reinterpret_cast(df_structure); + p_table["flags4"] = reinterpret_cast(&(df_structure->flags4)) - reinterpret_cast(df_structure); + p_table["flags5"] = reinterpret_cast(&(df_structure->flags5)) - reinterpret_cast(df_structure); + p_table["metal_ore"] = reinterpret_cast(&(df_structure->metal_ore)) - reinterpret_cast(df_structure); + p_table["min_dimension"] = reinterpret_cast(&(df_structure->min_dimension)) - reinterpret_cast(df_structure); + p_table["quantity"] = reinterpret_cast(&(df_structure->quantity)) - reinterpret_cast(df_structure); + p_table["has_tool_use"] = reinterpret_cast(&(df_structure->has_tool_use)) - reinterpret_cast(df_structure); + p_table["item_str"] = reinterpret_cast(&(df_structure->item_str)) - reinterpret_cast(df_structure); + p_table["material_str"] = reinterpret_cast(&(df_structure->material_str)) - reinterpret_cast(df_structure); + p_table["metal_ore_str"] = reinterpret_cast(&(df_structure->metal_ore_str)) - reinterpret_cast(df_structure); +} + +void generate_building_def_workshopst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_building_def_furnacest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_building__T_job_claim_suppress_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); + p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); +} + +void generate_building__T_activities_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["activity_id"] = reinterpret_cast(&(df_structure->activity_id)) - reinterpret_cast(df_structure); + p_table["event_id"] = reinterpret_cast(&(df_structure->event_id)) - reinterpret_cast(df_structure); +} + +void generate_building_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["x1"] = reinterpret_cast(&(df_structure->x1)) - reinterpret_cast(df_structure); + p_table["y1"] = reinterpret_cast(&(df_structure->y1)) - reinterpret_cast(df_structure); + p_table["centerx"] = reinterpret_cast(&(df_structure->centerx)) - reinterpret_cast(df_structure); + p_table["x2"] = reinterpret_cast(&(df_structure->x2)) - reinterpret_cast(df_structure); + p_table["y2"] = reinterpret_cast(&(df_structure->y2)) - reinterpret_cast(df_structure); + p_table["centery"] = reinterpret_cast(&(df_structure->centery)) - reinterpret_cast(df_structure); + p_table["z"] = reinterpret_cast(&(df_structure->z)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["room"] = reinterpret_cast(&(df_structure->room)) - reinterpret_cast(df_structure); + p_table["age"] = reinterpret_cast(&(df_structure->age)) - reinterpret_cast(df_structure); + p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["jobs"] = reinterpret_cast(&(df_structure->jobs)) - reinterpret_cast(df_structure); + p_table["specific_refs"] = reinterpret_cast(&(df_structure->specific_refs)) - reinterpret_cast(df_structure); + p_table["general_refs"] = reinterpret_cast(&(df_structure->general_refs)) - reinterpret_cast(df_structure); + p_table["is_room"] = reinterpret_cast(&(df_structure->is_room)) - reinterpret_cast(df_structure); + p_table["children"] = reinterpret_cast(&(df_structure->children)) - reinterpret_cast(df_structure); + p_table["parents"] = reinterpret_cast(&(df_structure->parents)) - reinterpret_cast(df_structure); + p_table["owner_id"] = reinterpret_cast(&(df_structure->owner_id)) - reinterpret_cast(df_structure); + p_table["owner"] = reinterpret_cast(&(df_structure->owner)) - reinterpret_cast(df_structure); + p_table["job_claim_suppress"] = reinterpret_cast(&(df_structure->job_claim_suppress)) - reinterpret_cast(df_structure); + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["activities"] = reinterpret_cast(&(df_structure->activities)) - reinterpret_cast(df_structure); + p_table["world_data_id"] = reinterpret_cast(&(df_structure->world_data_id)) - reinterpret_cast(df_structure); + p_table["world_data_subid"] = reinterpret_cast(&(df_structure->world_data_subid)) - reinterpret_cast(df_structure); + p_table["unk_v40_2"] = reinterpret_cast(&(df_structure->unk_v40_2)) - reinterpret_cast(df_structure); + p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); + p_table["location_id"] = reinterpret_cast(&(df_structure->location_id)) - reinterpret_cast(df_structure); + p_table["unk_v40_3"] = reinterpret_cast(&(df_structure->unk_v40_3)) - reinterpret_cast(df_structure); +} + +void generate_stockpile_links_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["give_to_pile"] = reinterpret_cast(&(df_structure->give_to_pile)) - reinterpret_cast(df_structure); + p_table["take_from_pile"] = reinterpret_cast(&(df_structure->take_from_pile)) - reinterpret_cast(df_structure); + p_table["give_to_workshop"] = reinterpret_cast(&(df_structure->give_to_workshop)) - reinterpret_cast(df_structure); + p_table["take_from_workshop"] = reinterpret_cast(&(df_structure->take_from_workshop)) - reinterpret_cast(df_structure); +} + +void generate_building_civzonest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["assigned_units"] = reinterpret_cast(&(df_structure->assigned_units)) - reinterpret_cast(df_structure); + p_table["assigned_items"] = reinterpret_cast(&(df_structure->assigned_items)) - reinterpret_cast(df_structure); + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["zone_flags"] = reinterpret_cast(&(df_structure->zone_flags)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["zone_num"] = reinterpret_cast(&(df_structure->zone_num)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["pit_flags"] = reinterpret_cast(&(df_structure->pit_flags)) - reinterpret_cast(df_structure); + p_table["fill_timer"] = reinterpret_cast(&(df_structure->fill_timer)) - reinterpret_cast(df_structure); + p_table["hospital"] = reinterpret_cast(&(df_structure->hospital)) - reinterpret_cast(df_structure); + p_table["gather_flags"] = reinterpret_cast(&(df_structure->gather_flags)) - reinterpret_cast(df_structure); + p_table["unk_v4014_1"] = reinterpret_cast(&(df_structure->unk_v4014_1)) - reinterpret_cast(df_structure); + p_table["unk_v43_1"] = reinterpret_cast(&(df_structure->unk_v43_1)) - reinterpret_cast(df_structure); +} + +void generate_building_actual__T_contained_items_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["item"] = reinterpret_cast(&(df_structure->item)) - reinterpret_cast(df_structure); + p_table["use_mode"] = reinterpret_cast(&(df_structure->use_mode)) - reinterpret_cast(df_structure); +} + +void generate_building_actual_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["construction_stage"] = reinterpret_cast(&(df_structure->construction_stage)) - reinterpret_cast(df_structure); + p_table["contained_items"] = reinterpret_cast(&(df_structure->contained_items)) - reinterpret_cast(df_structure); + p_table["design"] = reinterpret_cast(&(df_structure->design)) - reinterpret_cast(df_structure); +} + +void generate_building_design_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["architect"] = reinterpret_cast(&(df_structure->architect)) - reinterpret_cast(df_structure); + p_table["unk2"] = reinterpret_cast(&(df_structure->unk2)) - reinterpret_cast(df_structure); + p_table["design_skill"] = reinterpret_cast(&(df_structure->design_skill)) - reinterpret_cast(df_structure); + p_table["builder1"] = reinterpret_cast(&(df_structure->builder1)) - reinterpret_cast(df_structure); + p_table["unk5"] = reinterpret_cast(&(df_structure->unk5)) - reinterpret_cast(df_structure); + p_table["build_skill"] = reinterpret_cast(&(df_structure->build_skill)) - reinterpret_cast(df_structure); + p_table["build_timer1"] = reinterpret_cast(&(df_structure->build_timer1)) - reinterpret_cast(df_structure); + p_table["builder2"] = reinterpret_cast(&(df_structure->builder2)) - reinterpret_cast(df_structure); + p_table["build_timer2"] = reinterpret_cast(&(df_structure->build_timer2)) - reinterpret_cast(df_structure); + p_table["quality1"] = reinterpret_cast(&(df_structure->quality1)) - reinterpret_cast(df_structure); + p_table["quality2"] = reinterpret_cast(&(df_structure->quality2)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["hitpoints"] = reinterpret_cast(&(df_structure->hitpoints)) - reinterpret_cast(df_structure); + p_table["max_hitpoints"] = reinterpret_cast(&(df_structure->max_hitpoints)) - reinterpret_cast(df_structure); +} + +void generate_workshop_profile_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["permitted_workers"] = reinterpret_cast(&(df_structure->permitted_workers)) - reinterpret_cast(df_structure); + p_table["min_level"] = reinterpret_cast(&(df_structure->min_level)) - reinterpret_cast(df_structure); + p_table["max_level"] = reinterpret_cast(&(df_structure->max_level)) - reinterpret_cast(df_structure); + p_table["links"] = reinterpret_cast(&(df_structure->links)) - reinterpret_cast(df_structure); + p_table["max_general_orders"] = reinterpret_cast(&(df_structure->max_general_orders)) - reinterpret_cast(df_structure); + p_table["block_general_orders"] = reinterpret_cast(&(df_structure->block_general_orders)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["blocked_labors"] = reinterpret_cast(&(df_structure->blocked_labors)) - reinterpret_cast(df_structure); +} + +void generate_building_furnacest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["melt_remainder"] = reinterpret_cast(&(df_structure->melt_remainder)) - reinterpret_cast(df_structure); + p_table["unk_108"] = reinterpret_cast(&(df_structure->unk_108)) - reinterpret_cast(df_structure); + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["profile"] = reinterpret_cast(&(df_structure->profile)) - reinterpret_cast(df_structure); + p_table["custom_type"] = reinterpret_cast(&(df_structure->custom_type)) - reinterpret_cast(df_structure); +} + +void generate_building_workshopst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["profile"] = reinterpret_cast(&(df_structure->profile)) - reinterpret_cast(df_structure); + p_table["machine"] = reinterpret_cast(&(df_structure->machine)) - reinterpret_cast(df_structure); + p_table["custom_type"] = reinterpret_cast(&(df_structure->custom_type)) - reinterpret_cast(df_structure); +} + +void generate_building_animaltrapst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["bait_type"] = reinterpret_cast(&(df_structure->bait_type)) - reinterpret_cast(df_structure); + p_table["fill_timer"] = reinterpret_cast(&(df_structure->fill_timer)) - reinterpret_cast(df_structure); +} + +void generate_building_archerytargetst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["archery_direction"] = reinterpret_cast(&(df_structure->archery_direction)) - reinterpret_cast(df_structure); +} + +void generate_building_armorstandst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk_c0"] = reinterpret_cast(&(df_structure->unk_c0)) - reinterpret_cast(df_structure); + p_table["squads"] = reinterpret_cast(&(df_structure->squads)) - reinterpret_cast(df_structure); + p_table["specific_squad"] = reinterpret_cast(&(df_structure->specific_squad)) - reinterpret_cast(df_structure); + p_table["specific_position"] = reinterpret_cast(&(df_structure->specific_position)) - reinterpret_cast(df_structure); +} + +void generate_building_bars_verticalst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["gate_flags"] = reinterpret_cast(&(df_structure->gate_flags)) - reinterpret_cast(df_structure); + p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); +} + +void generate_building_bars_floorst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["gate_flags"] = reinterpret_cast(&(df_structure->gate_flags)) - reinterpret_cast(df_structure); + p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); +} + +void generate_building_bedst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["bed_flags"] = reinterpret_cast(&(df_structure->bed_flags)) - reinterpret_cast(df_structure); + p_table["squads"] = reinterpret_cast(&(df_structure->squads)) - reinterpret_cast(df_structure); + p_table["specific_squad"] = reinterpret_cast(&(df_structure->specific_squad)) - reinterpret_cast(df_structure); + p_table["specific_position"] = reinterpret_cast(&(df_structure->specific_position)) - reinterpret_cast(df_structure); + p_table["users"] = reinterpret_cast(&(df_structure->users)) - reinterpret_cast(df_structure); +} + +void generate_building_bookcasest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_building_boxst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["squads"] = reinterpret_cast(&(df_structure->squads)) - reinterpret_cast(df_structure); + p_table["specific_squad"] = reinterpret_cast(&(df_structure->specific_squad)) - reinterpret_cast(df_structure); + p_table["specific_position"] = reinterpret_cast(&(df_structure->specific_position)) - reinterpret_cast(df_structure); +} + +void generate_building_bridgest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["gate_flags"] = reinterpret_cast(&(df_structure->gate_flags)) - reinterpret_cast(df_structure); + p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); + p_table["direction"] = reinterpret_cast(&(df_structure->direction)) - reinterpret_cast(df_structure); + p_table["material_amount"] = reinterpret_cast(&(df_structure->material_amount)) - reinterpret_cast(df_structure); +} + +void generate_building_cabinetst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["squads"] = reinterpret_cast(&(df_structure->squads)) - reinterpret_cast(df_structure); + p_table["specific_squad"] = reinterpret_cast(&(df_structure->specific_squad)) - reinterpret_cast(df_structure); + p_table["specific_position"] = reinterpret_cast(&(df_structure->specific_position)) - reinterpret_cast(df_structure); +} + +void generate_building_cagest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["assigned_units"] = reinterpret_cast(&(df_structure->assigned_units)) - reinterpret_cast(df_structure); + p_table["assigned_items"] = reinterpret_cast(&(df_structure->assigned_items)) - reinterpret_cast(df_structure); + p_table["cage_flags"] = reinterpret_cast(&(df_structure->cage_flags)) - reinterpret_cast(df_structure); + p_table["fill_timer"] = reinterpret_cast(&(df_structure->fill_timer)) - reinterpret_cast(df_structure); +} + +void generate_building_chainst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["assigned"] = reinterpret_cast(&(df_structure->assigned)) - reinterpret_cast(df_structure); + p_table["chained"] = reinterpret_cast(&(df_structure->chained)) - reinterpret_cast(df_structure); + p_table["chain_flags"] = reinterpret_cast(&(df_structure->chain_flags)) - reinterpret_cast(df_structure); +} + +void generate_building_chairst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["users"] = reinterpret_cast(&(df_structure->users)) - reinterpret_cast(df_structure); +} + +void generate_building_coffinst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["burial_mode"] = reinterpret_cast(&(df_structure->burial_mode)) - reinterpret_cast(df_structure); +} + +void generate_building_constructionst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); +} + +void generate_building_display_furniturest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["displayed_items"] = reinterpret_cast(&(df_structure->displayed_items)) - reinterpret_cast(df_structure); +} + +void generate_building_doorst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["door_flags"] = reinterpret_cast(&(df_structure->door_flags)) - reinterpret_cast(df_structure); + p_table["close_timer"] = reinterpret_cast(&(df_structure->close_timer)) - reinterpret_cast(df_structure); +} + +void generate_building_farmplotst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["plant_id"] = reinterpret_cast(&(df_structure->plant_id)) - reinterpret_cast(df_structure); + p_table["material_amount"] = reinterpret_cast(&(df_structure->material_amount)) - reinterpret_cast(df_structure); + p_table["seasonal_fertilize"] = reinterpret_cast(&(df_structure->seasonal_fertilize)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["current_fertilization"] = reinterpret_cast(&(df_structure->current_fertilization)) - reinterpret_cast(df_structure); + p_table["max_fertilization"] = reinterpret_cast(&(df_structure->max_fertilization)) - reinterpret_cast(df_structure); + p_table["terrain_purge_timer"] = reinterpret_cast(&(df_structure->terrain_purge_timer)) - reinterpret_cast(df_structure); +} + +void generate_building_floodgatest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["gate_flags"] = reinterpret_cast(&(df_structure->gate_flags)) - reinterpret_cast(df_structure); + p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); +} + +void generate_building_grate_floorst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["gate_flags"] = reinterpret_cast(&(df_structure->gate_flags)) - reinterpret_cast(df_structure); + p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); +} + +void generate_building_grate_wallst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["gate_flags"] = reinterpret_cast(&(df_structure->gate_flags)) - reinterpret_cast(df_structure); + p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); +} + +void generate_building_hatchst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["door_flags"] = reinterpret_cast(&(df_structure->door_flags)) - reinterpret_cast(df_structure); + p_table["close_timer"] = reinterpret_cast(&(df_structure->close_timer)) - reinterpret_cast(df_structure); +} + +void generate_building_hivest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["hive_flags"] = reinterpret_cast(&(df_structure->hive_flags)) - reinterpret_cast(df_structure); + p_table["split_timer"] = reinterpret_cast(&(df_structure->split_timer)) - reinterpret_cast(df_structure); + p_table["activity_timer"] = reinterpret_cast(&(df_structure->activity_timer)) - reinterpret_cast(df_structure); + p_table["install_timer"] = reinterpret_cast(&(df_structure->install_timer)) - reinterpret_cast(df_structure); + p_table["gather_timer"] = reinterpret_cast(&(df_structure->gather_timer)) - reinterpret_cast(df_structure); +} + +void generate_building_instrumentst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_building_nestst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_building_nest_boxst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["claimed_by"] = reinterpret_cast(&(df_structure->claimed_by)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_building_roadst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_building_road_dirtst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["material_amount"] = reinterpret_cast(&(df_structure->material_amount)) - reinterpret_cast(df_structure); +} + +void generate_building_road_pavedst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["material_amount"] = reinterpret_cast(&(df_structure->material_amount)) - reinterpret_cast(df_structure); + p_table["terrain_purge_timer"] = reinterpret_cast(&(df_structure->terrain_purge_timer)) - reinterpret_cast(df_structure); +} + +void generate_building_shopst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["owner"] = reinterpret_cast(&(df_structure->owner)) - reinterpret_cast(df_structure); + p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); + p_table["shop_flags"] = reinterpret_cast(&(df_structure->shop_flags)) - reinterpret_cast(df_structure); + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); +} + +void generate_building_siegeenginest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["facing"] = reinterpret_cast(&(df_structure->facing)) - reinterpret_cast(df_structure); + p_table["action"] = reinterpret_cast(&(df_structure->action)) - reinterpret_cast(df_structure); + p_table["fire_timer"] = reinterpret_cast(&(df_structure->fire_timer)) - reinterpret_cast(df_structure); + p_table["fill_timer"] = reinterpret_cast(&(df_structure->fill_timer)) - reinterpret_cast(df_structure); +} + +void generate_building_slabst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_building_statuest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_building_supportst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["support_flags"] = reinterpret_cast(&(df_structure->support_flags)) - reinterpret_cast(df_structure); +} + +void generate_building_tablest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["table_flags"] = reinterpret_cast(&(df_structure->table_flags)) - reinterpret_cast(df_structure); + p_table["users"] = reinterpret_cast(&(df_structure->users)) - reinterpret_cast(df_structure); +} + +void generate_building_traction_benchst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["users"] = reinterpret_cast(&(df_structure->users)) - reinterpret_cast(df_structure); +} + +void generate_building_tradedepotst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["trade_flags"] = reinterpret_cast(&(df_structure->trade_flags)) - reinterpret_cast(df_structure); + p_table["accessible"] = reinterpret_cast(&(df_structure->accessible)) - reinterpret_cast(df_structure); +} + +void generate_building_trapst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["trap_type"] = reinterpret_cast(&(df_structure->trap_type)) - reinterpret_cast(df_structure); + p_table["state"] = reinterpret_cast(&(df_structure->state)) - reinterpret_cast(df_structure); + p_table["ready_timeout"] = reinterpret_cast(&(df_structure->ready_timeout)) - reinterpret_cast(df_structure); + p_table["fill_timer"] = reinterpret_cast(&(df_structure->fill_timer)) - reinterpret_cast(df_structure); + p_table["stop_flags"] = reinterpret_cast(&(df_structure->stop_flags)) - reinterpret_cast(df_structure); + p_table["linked_mechanisms"] = reinterpret_cast(&(df_structure->linked_mechanisms)) - reinterpret_cast(df_structure); + p_table["observed_by_civs"] = reinterpret_cast(&(df_structure->observed_by_civs)) - reinterpret_cast(df_structure); + p_table["profile"] = reinterpret_cast(&(df_structure->profile)) - reinterpret_cast(df_structure); + p_table["plate_info"] = reinterpret_cast(&(df_structure->plate_info)) - reinterpret_cast(df_structure); + p_table["friction"] = reinterpret_cast(&(df_structure->friction)) - reinterpret_cast(df_structure); + p_table["use_dump"] = reinterpret_cast(&(df_structure->use_dump)) - reinterpret_cast(df_structure); + p_table["dump_x_shift"] = reinterpret_cast(&(df_structure->dump_x_shift)) - reinterpret_cast(df_structure); + p_table["dump_y_shift"] = reinterpret_cast(&(df_structure->dump_y_shift)) - reinterpret_cast(df_structure); + p_table["stop_trigger_timer"] = reinterpret_cast(&(df_structure->stop_trigger_timer)) - reinterpret_cast(df_structure); +} + +void generate_building_wagonst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_building_weaponst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["gate_flags"] = reinterpret_cast(&(df_structure->gate_flags)) - reinterpret_cast(df_structure); + p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); +} + +void generate_building_squad_use_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["squad_id"] = reinterpret_cast(&(df_structure->squad_id)) - reinterpret_cast(df_structure); + p_table["mode"] = reinterpret_cast(&(df_structure->mode)) - reinterpret_cast(df_structure); +} + +void generate_building_weaponrackst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk_c0"] = reinterpret_cast(&(df_structure->unk_c0)) - reinterpret_cast(df_structure); + p_table["squads"] = reinterpret_cast(&(df_structure->squads)) - reinterpret_cast(df_structure); + p_table["specific_squad"] = reinterpret_cast(&(df_structure->specific_squad)) - reinterpret_cast(df_structure); +} + +void generate_building_wellst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["well_flags"] = reinterpret_cast(&(df_structure->well_flags)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["bucket_z"] = reinterpret_cast(&(df_structure->bucket_z)) - reinterpret_cast(df_structure); + p_table["bucket_timer"] = reinterpret_cast(&(df_structure->bucket_timer)) - reinterpret_cast(df_structure); + p_table["check_water_timer"] = reinterpret_cast(&(df_structure->check_water_timer)) - reinterpret_cast(df_structure); +} + +void generate_building_windowst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_building_window_glassst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_building_window_gemst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_body_part_raw_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["token"] = reinterpret_cast(&(df_structure->token)) - reinterpret_cast(df_structure); + p_table["category"] = reinterpret_cast(&(df_structure->category)) - reinterpret_cast(df_structure); + p_table["con_part_id"] = reinterpret_cast(&(df_structure->con_part_id)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["layers"] = reinterpret_cast(&(df_structure->layers)) - reinterpret_cast(df_structure); + p_table["fraction_total"] = reinterpret_cast(&(df_structure->fraction_total)) - reinterpret_cast(df_structure); + p_table["fraction_base"] = reinterpret_cast(&(df_structure->fraction_base)) - reinterpret_cast(df_structure); + p_table["fraction_fat"] = reinterpret_cast(&(df_structure->fraction_fat)) - reinterpret_cast(df_structure); + p_table["fraction_muscle"] = reinterpret_cast(&(df_structure->fraction_muscle)) - reinterpret_cast(df_structure); + p_table["relsize"] = reinterpret_cast(&(df_structure->relsize)) - reinterpret_cast(df_structure); + p_table["number"] = reinterpret_cast(&(df_structure->number)) - reinterpret_cast(df_structure); + p_table["unk7b"] = reinterpret_cast(&(df_structure->unk7b)) - reinterpret_cast(df_structure); + p_table["name_singular"] = reinterpret_cast(&(df_structure->name_singular)) - reinterpret_cast(df_structure); + p_table["name_plural"] = reinterpret_cast(&(df_structure->name_plural)) - reinterpret_cast(df_structure); + p_table["bp_relation_part_id"] = reinterpret_cast(&(df_structure->bp_relation_part_id)) - reinterpret_cast(df_structure); + p_table["bp_relation_code"] = reinterpret_cast(&(df_structure->bp_relation_code)) - reinterpret_cast(df_structure); + p_table["bp_relation_coverage"] = reinterpret_cast(&(df_structure->bp_relation_coverage)) - reinterpret_cast(df_structure); + p_table["min_temp"] = reinterpret_cast(&(df_structure->min_temp)) - reinterpret_cast(df_structure); + p_table["max_temp"] = reinterpret_cast(&(df_structure->max_temp)) - reinterpret_cast(df_structure); + p_table["temp_factor"] = reinterpret_cast(&(df_structure->temp_factor)) - reinterpret_cast(df_structure); + p_table["numbered_idx"] = reinterpret_cast(&(df_structure->numbered_idx)) - reinterpret_cast(df_structure); + p_table["insulation_fat"] = reinterpret_cast(&(df_structure->insulation_fat)) - reinterpret_cast(df_structure); + p_table["insulation_muscle"] = reinterpret_cast(&(df_structure->insulation_muscle)) - reinterpret_cast(df_structure); + p_table["insulation_base"] = reinterpret_cast(&(df_structure->insulation_base)) - reinterpret_cast(df_structure); + p_table["clothing_item_id"] = reinterpret_cast(&(df_structure->clothing_item_id)) - reinterpret_cast(df_structure); +} + +void generate_body_appearance_modifier_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["ranges"] = reinterpret_cast(&(df_structure->ranges)) - reinterpret_cast(df_structure); + p_table["desc_range"] = reinterpret_cast(&(df_structure->desc_range)) - reinterpret_cast(df_structure); + p_table["growth_rate"] = reinterpret_cast(&(df_structure->growth_rate)) - reinterpret_cast(df_structure); + p_table["growth_interval"] = reinterpret_cast(&(df_structure->growth_interval)) - reinterpret_cast(df_structure); + p_table["growth_min"] = reinterpret_cast(&(df_structure->growth_min)) - reinterpret_cast(df_structure); + p_table["growth_max"] = reinterpret_cast(&(df_structure->growth_max)) - reinterpret_cast(df_structure); + p_table["growth_start"] = reinterpret_cast(&(df_structure->growth_start)) - reinterpret_cast(df_structure); + p_table["growth_end"] = reinterpret_cast(&(df_structure->growth_end)) - reinterpret_cast(df_structure); + p_table["importance"] = reinterpret_cast(&(df_structure->importance)) - reinterpret_cast(df_structure); + p_table["noun"] = reinterpret_cast(&(df_structure->noun)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["id2"] = reinterpret_cast(&(df_structure->id2)) - reinterpret_cast(df_structure); +} + +void generate_bp_appearance_modifier_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["ranges"] = reinterpret_cast(&(df_structure->ranges)) - reinterpret_cast(df_structure); + p_table["desc_range"] = reinterpret_cast(&(df_structure->desc_range)) - reinterpret_cast(df_structure); + p_table["growth_rate"] = reinterpret_cast(&(df_structure->growth_rate)) - reinterpret_cast(df_structure); + p_table["growth_interval"] = reinterpret_cast(&(df_structure->growth_interval)) - reinterpret_cast(df_structure); + p_table["growth_min"] = reinterpret_cast(&(df_structure->growth_min)) - reinterpret_cast(df_structure); + p_table["growth_max"] = reinterpret_cast(&(df_structure->growth_max)) - reinterpret_cast(df_structure); + p_table["growth_start"] = reinterpret_cast(&(df_structure->growth_start)) - reinterpret_cast(df_structure); + p_table["growth_end"] = reinterpret_cast(&(df_structure->growth_end)) - reinterpret_cast(df_structure); + p_table["importance"] = reinterpret_cast(&(df_structure->importance)) - reinterpret_cast(df_structure); + p_table["noun"] = reinterpret_cast(&(df_structure->noun)) - reinterpret_cast(df_structure); + p_table["single_plural"] = reinterpret_cast(&(df_structure->single_plural)) - reinterpret_cast(df_structure); + p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); + p_table["id1"] = reinterpret_cast(&(df_structure->id1)) - reinterpret_cast(df_structure); + p_table["body_parts"] = reinterpret_cast(&(df_structure->body_parts)) - reinterpret_cast(df_structure); + p_table["tissue_layer"] = reinterpret_cast(&(df_structure->tissue_layer)) - reinterpret_cast(df_structure); + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); +} + +void generate_caste_clothing_item_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["body_part_id"] = reinterpret_cast(&(df_structure->body_part_id)) - reinterpret_cast(df_structure); + p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); + p_table["item"] = reinterpret_cast(&(df_structure->item)) - reinterpret_cast(df_structure); + p_table["unk_14"] = reinterpret_cast(&(df_structure->unk_14)) - reinterpret_cast(df_structure); + p_table["size"] = reinterpret_cast(&(df_structure->size)) - reinterpret_cast(df_structure); + p_table["permit"] = reinterpret_cast(&(df_structure->permit)) - reinterpret_cast(df_structure); + p_table["unk_38"] = reinterpret_cast(&(df_structure->unk_38)) - reinterpret_cast(df_structure); +} + +void generate_caste_attack_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["verb_3rd"] = reinterpret_cast(&(df_structure->verb_3rd)) - reinterpret_cast(df_structure); + p_table["verb_2nd"] = reinterpret_cast(&(df_structure->verb_2nd)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["specialattack_type"] = reinterpret_cast(&(df_structure->specialattack_type)) - reinterpret_cast(df_structure); + p_table["specialattack_mat_type"] = reinterpret_cast(&(df_structure->specialattack_mat_type)) - reinterpret_cast(df_structure); + p_table["specialattack_mat_index"] = reinterpret_cast(&(df_structure->specialattack_mat_index)) - reinterpret_cast(df_structure); + p_table["specialattack_mat_state"] = reinterpret_cast(&(df_structure->specialattack_mat_state)) - reinterpret_cast(df_structure); + p_table["specialattack_temp_mat"] = reinterpret_cast(&(df_structure->specialattack_temp_mat)) - reinterpret_cast(df_structure); + p_table["specialattack_min"] = reinterpret_cast(&(df_structure->specialattack_min)) - reinterpret_cast(df_structure); + p_table["specialattack_max"] = reinterpret_cast(&(df_structure->specialattack_max)) - reinterpret_cast(df_structure); + p_table["contact_perc"] = reinterpret_cast(&(df_structure->contact_perc)) - reinterpret_cast(df_structure); + p_table["penetration_perc"] = reinterpret_cast(&(df_structure->penetration_perc)) - reinterpret_cast(df_structure); + p_table["unk_v40_1"] = reinterpret_cast(&(df_structure->unk_v40_1)) - reinterpret_cast(df_structure); + p_table["unk_v40_2"] = reinterpret_cast(&(df_structure->unk_v40_2)) - reinterpret_cast(df_structure); + p_table["body_part_idx"] = reinterpret_cast(&(df_structure->body_part_idx)) - reinterpret_cast(df_structure); + p_table["tissue_layer_idx"] = reinterpret_cast(&(df_structure->tissue_layer_idx)) - reinterpret_cast(df_structure); + p_table["skill"] = reinterpret_cast(&(df_structure->skill)) - reinterpret_cast(df_structure); + p_table["velocity_modifier"] = reinterpret_cast(&(df_structure->velocity_modifier)) - reinterpret_cast(df_structure); + p_table["specialattack_interaction_tmp_name"] = reinterpret_cast(&(df_structure->specialattack_interaction_tmp_name)) - reinterpret_cast(df_structure); + p_table["specialattack_interaction_id"] = reinterpret_cast(&(df_structure->specialattack_interaction_id)) - reinterpret_cast(df_structure); + p_table["unk_v40_3"] = reinterpret_cast(&(df_structure->unk_v40_3)) - reinterpret_cast(df_structure); + p_table["unk_v40_4"] = reinterpret_cast(&(df_structure->unk_v40_4)) - reinterpret_cast(df_structure); +} + +void generate_creature_interaction_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["bp_required_type"] = reinterpret_cast(&(df_structure->bp_required_type)) - reinterpret_cast(df_structure); + p_table["bp_required_name"] = reinterpret_cast(&(df_structure->bp_required_name)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["material_str0"] = reinterpret_cast(&(df_structure->material_str0)) - reinterpret_cast(df_structure); + p_table["material_str1"] = reinterpret_cast(&(df_structure->material_str1)) - reinterpret_cast(df_structure); + p_table["material_str2"] = reinterpret_cast(&(df_structure->material_str2)) - reinterpret_cast(df_structure); + p_table["material_breath"] = reinterpret_cast(&(df_structure->material_breath)) - reinterpret_cast(df_structure); + p_table["verb_2nd"] = reinterpret_cast(&(df_structure->verb_2nd)) - reinterpret_cast(df_structure); + p_table["verb_3rd"] = reinterpret_cast(&(df_structure->verb_3rd)) - reinterpret_cast(df_structure); + p_table["verb_mutual"] = reinterpret_cast(&(df_structure->verb_mutual)) - reinterpret_cast(df_structure); + p_table["verb_reverse_2nd"] = reinterpret_cast(&(df_structure->verb_reverse_2nd)) - reinterpret_cast(df_structure); + p_table["verb_reverse_3rd"] = reinterpret_cast(&(df_structure->verb_reverse_3rd)) - reinterpret_cast(df_structure); + p_table["target_verb_2nd"] = reinterpret_cast(&(df_structure->target_verb_2nd)) - reinterpret_cast(df_structure); + p_table["target_verb_3rd"] = reinterpret_cast(&(df_structure->target_verb_3rd)) - reinterpret_cast(df_structure); + p_table["interaction_type"] = reinterpret_cast(&(df_structure->interaction_type)) - reinterpret_cast(df_structure); + p_table["type_id"] = reinterpret_cast(&(df_structure->type_id)) - reinterpret_cast(df_structure); + p_table["usage_hint"] = reinterpret_cast(&(df_structure->usage_hint)) - reinterpret_cast(df_structure); + p_table["location_hint"] = reinterpret_cast(&(df_structure->location_hint)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["target_flags"] = reinterpret_cast(&(df_structure->target_flags)) - reinterpret_cast(df_structure); + p_table["target_ranges"] = reinterpret_cast(&(df_structure->target_ranges)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["max_target_numbers"] = reinterpret_cast(&(df_structure->max_target_numbers)) - reinterpret_cast(df_structure); + p_table["verbal_speeches"] = reinterpret_cast(&(df_structure->verbal_speeches)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["adv_name"] = reinterpret_cast(&(df_structure->adv_name)) - reinterpret_cast(df_structure); + p_table["wait_period"] = reinterpret_cast(&(df_structure->wait_period)) - reinterpret_cast(df_structure); +} + +void generate_caste_body_info__T_interactions_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["interaction"] = reinterpret_cast(&(df_structure->interaction)) - reinterpret_cast(df_structure); +} + +void generate_caste_body_info__T_extra_butcher_objects_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); + p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); + p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); + p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); + p_table["anon_11"] = reinterpret_cast(&(df_structure->anon_11)) - reinterpret_cast(df_structure); + p_table["anon_12"] = reinterpret_cast(&(df_structure->anon_12)) - reinterpret_cast(df_structure); + p_table["anon_13"] = reinterpret_cast(&(df_structure->anon_13)) - reinterpret_cast(df_structure); +} + +void generate_caste_body_info_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["body_parts"] = reinterpret_cast(&(df_structure->body_parts)) - reinterpret_cast(df_structure); + p_table["attacks"] = reinterpret_cast(&(df_structure->attacks)) - reinterpret_cast(df_structure); + p_table["interactions"] = reinterpret_cast(&(df_structure->interactions)) - reinterpret_cast(df_structure); + p_table["extra_butcher_objects"] = reinterpret_cast(&(df_structure->extra_butcher_objects)) - reinterpret_cast(df_structure); + p_table["total_relsize"] = reinterpret_cast(&(df_structure->total_relsize)) - reinterpret_cast(df_structure); + p_table["layer_part"] = reinterpret_cast(&(df_structure->layer_part)) - reinterpret_cast(df_structure); + p_table["layer_idx"] = reinterpret_cast(&(df_structure->layer_idx)) - reinterpret_cast(df_structure); + p_table["numbered_masks"] = reinterpret_cast(&(df_structure->numbered_masks)) - reinterpret_cast(df_structure); + p_table["layer_nonsolid"] = reinterpret_cast(&(df_structure->layer_nonsolid)) - reinterpret_cast(df_structure); + p_table["nonsolid_layers"] = reinterpret_cast(&(df_structure->nonsolid_layers)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["gait_info"] = reinterpret_cast(&(df_structure->gait_info)) - reinterpret_cast(df_structure); + p_table["materials"] = reinterpret_cast(&(df_structure->materials)) - reinterpret_cast(df_structure); + p_table["fraction_total"] = reinterpret_cast(&(df_structure->fraction_total)) - reinterpret_cast(df_structure); + p_table["fraction_base"] = reinterpret_cast(&(df_structure->fraction_base)) - reinterpret_cast(df_structure); + p_table["fraction_fat"] = reinterpret_cast(&(df_structure->fraction_fat)) - reinterpret_cast(df_structure); + p_table["fraction_muscle"] = reinterpret_cast(&(df_structure->fraction_muscle)) - reinterpret_cast(df_structure); + p_table["unk_v40_2"] = reinterpret_cast(&(df_structure->unk_v40_2)) - reinterpret_cast(df_structure); +} + +void generate_caste_raw__T_misc_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["litter_size_min"] = reinterpret_cast(&(df_structure->litter_size_min)) - reinterpret_cast(df_structure); + p_table["litter_size_max"] = reinterpret_cast(&(df_structure->litter_size_max)) - reinterpret_cast(df_structure); + p_table["penetratepower"] = reinterpret_cast(&(df_structure->penetratepower)) - reinterpret_cast(df_structure); + p_table["vermin_bite_chance"] = reinterpret_cast(&(df_structure->vermin_bite_chance)) - reinterpret_cast(df_structure); + p_table["grasstrample"] = reinterpret_cast(&(df_structure->grasstrample)) - reinterpret_cast(df_structure); + p_table["buildingdestroyer"] = reinterpret_cast(&(df_structure->buildingdestroyer)) - reinterpret_cast(df_structure); + p_table["itemcorpse_itemtype"] = reinterpret_cast(&(df_structure->itemcorpse_itemtype)) - reinterpret_cast(df_structure); + p_table["itemcorpse_itemsubtype"] = reinterpret_cast(&(df_structure->itemcorpse_itemsubtype)) - reinterpret_cast(df_structure); + p_table["itemcorpse_materialtype"] = reinterpret_cast(&(df_structure->itemcorpse_materialtype)) - reinterpret_cast(df_structure); + p_table["itemcorpse_materialindex"] = reinterpret_cast(&(df_structure->itemcorpse_materialindex)) - reinterpret_cast(df_structure); + p_table["itemcorpse_quality"] = reinterpret_cast(&(df_structure->itemcorpse_quality)) - reinterpret_cast(df_structure); + p_table["remains_color"] = reinterpret_cast(&(df_structure->remains_color)) - reinterpret_cast(df_structure); + p_table["difficulty"] = reinterpret_cast(&(df_structure->difficulty)) - reinterpret_cast(df_structure); + p_table["caste_glowcolor"] = reinterpret_cast(&(df_structure->caste_glowcolor)) - reinterpret_cast(df_structure); + p_table["beach_frequency"] = reinterpret_cast(&(df_structure->beach_frequency)) - reinterpret_cast(df_structure); + p_table["clutch_size_min"] = reinterpret_cast(&(df_structure->clutch_size_min)) - reinterpret_cast(df_structure); + p_table["clutch_size_max"] = reinterpret_cast(&(df_structure->clutch_size_max)) - reinterpret_cast(df_structure); + p_table["vision_arc_min"] = reinterpret_cast(&(df_structure->vision_arc_min)) - reinterpret_cast(df_structure); + p_table["vision_arc_max"] = reinterpret_cast(&(df_structure->vision_arc_max)) - reinterpret_cast(df_structure); + p_table["speed"] = reinterpret_cast(&(df_structure->speed)) - reinterpret_cast(df_structure); + p_table["modvalue"] = reinterpret_cast(&(df_structure->modvalue)) - reinterpret_cast(df_structure); + p_table["petvalue"] = reinterpret_cast(&(df_structure->petvalue)) - reinterpret_cast(df_structure); + p_table["milkable"] = reinterpret_cast(&(df_structure->milkable)) - reinterpret_cast(df_structure); + p_table["viewrange"] = reinterpret_cast(&(df_structure->viewrange)) - reinterpret_cast(df_structure); + p_table["maxage_min"] = reinterpret_cast(&(df_structure->maxage_min)) - reinterpret_cast(df_structure); + p_table["maxage_max"] = reinterpret_cast(&(df_structure->maxage_max)) - reinterpret_cast(df_structure); + p_table["baby_age"] = reinterpret_cast(&(df_structure->baby_age)) - reinterpret_cast(df_structure); + p_table["child_age"] = reinterpret_cast(&(df_structure->child_age)) - reinterpret_cast(df_structure); + p_table["swim_speed"] = reinterpret_cast(&(df_structure->swim_speed)) - reinterpret_cast(df_structure); + p_table["trade_capacity"] = reinterpret_cast(&(df_structure->trade_capacity)) - reinterpret_cast(df_structure); + p_table["unk4"] = reinterpret_cast(&(df_structure->unk4)) - reinterpret_cast(df_structure); + p_table["pop_ratio"] = reinterpret_cast(&(df_structure->pop_ratio)) - reinterpret_cast(df_structure); + p_table["adult_size"] = reinterpret_cast(&(df_structure->adult_size)) - reinterpret_cast(df_structure); + p_table["bone_mat"] = reinterpret_cast(&(df_structure->bone_mat)) - reinterpret_cast(df_structure); + p_table["bone_matidx"] = reinterpret_cast(&(df_structure->bone_matidx)) - reinterpret_cast(df_structure); + p_table["fish_mat_index"] = reinterpret_cast(&(df_structure->fish_mat_index)) - reinterpret_cast(df_structure); + p_table["egg_mat_index"] = reinterpret_cast(&(df_structure->egg_mat_index)) - reinterpret_cast(df_structure); + p_table["attack_trigger"] = reinterpret_cast(&(df_structure->attack_trigger)) - reinterpret_cast(df_structure); + p_table["egg_size"] = reinterpret_cast(&(df_structure->egg_size)) - reinterpret_cast(df_structure); + p_table["grazer"] = reinterpret_cast(&(df_structure->grazer)) - reinterpret_cast(df_structure); + p_table["petvalue_divisor"] = reinterpret_cast(&(df_structure->petvalue_divisor)) - reinterpret_cast(df_structure); + p_table["prone_to_rage"] = reinterpret_cast(&(df_structure->prone_to_rage)) - reinterpret_cast(df_structure); + p_table["unk6"] = reinterpret_cast(&(df_structure->unk6)) - reinterpret_cast(df_structure); +} + +void generate_caste_raw__T_personality_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["a"] = reinterpret_cast(&(df_structure->a)) - reinterpret_cast(df_structure); + p_table["b"] = reinterpret_cast(&(df_structure->b)) - reinterpret_cast(df_structure); + p_table["c"] = reinterpret_cast(&(df_structure->c)) - reinterpret_cast(df_structure); +} + +void generate_caste_raw__T_attributes_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["phys_att_range"] = reinterpret_cast(&(df_structure->phys_att_range)) - reinterpret_cast(df_structure); + p_table["ment_att_range"] = reinterpret_cast(&(df_structure->ment_att_range)) - reinterpret_cast(df_structure); + p_table["phys_att_rates"] = reinterpret_cast(&(df_structure->phys_att_rates)) - reinterpret_cast(df_structure); + p_table["ment_att_rates"] = reinterpret_cast(&(df_structure->ment_att_rates)) - reinterpret_cast(df_structure); + p_table["phys_att_cap_perc"] = reinterpret_cast(&(df_structure->phys_att_cap_perc)) - reinterpret_cast(df_structure); + p_table["ment_att_cap_perc"] = reinterpret_cast(&(df_structure->ment_att_cap_perc)) - reinterpret_cast(df_structure); +} + +void generate_caste_raw__T_bp_appearance_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["modifiers"] = reinterpret_cast(&(df_structure->modifiers)) - reinterpret_cast(df_structure); + p_table["modifier_idx"] = reinterpret_cast(&(df_structure->modifier_idx)) - reinterpret_cast(df_structure); + p_table["part_idx"] = reinterpret_cast(&(df_structure->part_idx)) - reinterpret_cast(df_structure); + p_table["layer_idx"] = reinterpret_cast(&(df_structure->layer_idx)) - reinterpret_cast(df_structure); + p_table["style_part_idx"] = reinterpret_cast(&(df_structure->style_part_idx)) - reinterpret_cast(df_structure); + p_table["style_layer_idx"] = reinterpret_cast(&(df_structure->style_layer_idx)) - reinterpret_cast(df_structure); + p_table["style_list_idx"] = reinterpret_cast(&(df_structure->style_list_idx)) - reinterpret_cast(df_structure); +} + +void generate_caste_raw__T_shearable_tissue_layer_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk_0"] = reinterpret_cast(&(df_structure->unk_0)) - reinterpret_cast(df_structure); + p_table["unk_1"] = reinterpret_cast(&(df_structure->unk_1)) - reinterpret_cast(df_structure); + p_table["length"] = reinterpret_cast(&(df_structure->length)) - reinterpret_cast(df_structure); + p_table["part_idx"] = reinterpret_cast(&(df_structure->part_idx)) - reinterpret_cast(df_structure); + p_table["layer_idx"] = reinterpret_cast(&(df_structure->layer_idx)) - reinterpret_cast(df_structure); + p_table["bp_modifiers_idx"] = reinterpret_cast(&(df_structure->bp_modifiers_idx)) - reinterpret_cast(df_structure); +} + +void generate_caste_raw__T_caste_profession_name_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["singular"] = reinterpret_cast(&(df_structure->singular)) - reinterpret_cast(df_structure); + p_table["plural"] = reinterpret_cast(&(df_structure->plural)) - reinterpret_cast(df_structure); +} + +void generate_caste_raw__T_extracts_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["extract_mat"] = reinterpret_cast(&(df_structure->extract_mat)) - reinterpret_cast(df_structure); + p_table["extract_matidx"] = reinterpret_cast(&(df_structure->extract_matidx)) - reinterpret_cast(df_structure); + p_table["extract_str"] = reinterpret_cast(&(df_structure->extract_str)) - reinterpret_cast(df_structure); + p_table["milkable_mat"] = reinterpret_cast(&(df_structure->milkable_mat)) - reinterpret_cast(df_structure); + p_table["milkable_matidx"] = reinterpret_cast(&(df_structure->milkable_matidx)) - reinterpret_cast(df_structure); + p_table["milkable_str"] = reinterpret_cast(&(df_structure->milkable_str)) - reinterpret_cast(df_structure); + p_table["webber_mat"] = reinterpret_cast(&(df_structure->webber_mat)) - reinterpret_cast(df_structure); + p_table["webber_matidx"] = reinterpret_cast(&(df_structure->webber_matidx)) - reinterpret_cast(df_structure); + p_table["webber_str"] = reinterpret_cast(&(df_structure->webber_str)) - reinterpret_cast(df_structure); + p_table["vermin_bite_mat"] = reinterpret_cast(&(df_structure->vermin_bite_mat)) - reinterpret_cast(df_structure); + p_table["vermin_bite_matidx"] = reinterpret_cast(&(df_structure->vermin_bite_matidx)) - reinterpret_cast(df_structure); + p_table["vermin_bite_chance"] = reinterpret_cast(&(df_structure->vermin_bite_chance)) - reinterpret_cast(df_structure); + p_table["vermin_bite_str"] = reinterpret_cast(&(df_structure->vermin_bite_str)) - reinterpret_cast(df_structure); + p_table["tendons_mat"] = reinterpret_cast(&(df_structure->tendons_mat)) - reinterpret_cast(df_structure); + p_table["tendons_matidx"] = reinterpret_cast(&(df_structure->tendons_matidx)) - reinterpret_cast(df_structure); + p_table["tendons_str"] = reinterpret_cast(&(df_structure->tendons_str)) - reinterpret_cast(df_structure); + p_table["tendons_heal"] = reinterpret_cast(&(df_structure->tendons_heal)) - reinterpret_cast(df_structure); + p_table["ligaments_mat"] = reinterpret_cast(&(df_structure->ligaments_mat)) - reinterpret_cast(df_structure); + p_table["ligaments_matidx"] = reinterpret_cast(&(df_structure->ligaments_matidx)) - reinterpret_cast(df_structure); + p_table["ligaments_str"] = reinterpret_cast(&(df_structure->ligaments_str)) - reinterpret_cast(df_structure); + p_table["ligaments_heal"] = reinterpret_cast(&(df_structure->ligaments_heal)) - reinterpret_cast(df_structure); + p_table["blood_state"] = reinterpret_cast(&(df_structure->blood_state)) - reinterpret_cast(df_structure); + p_table["blood_mat"] = reinterpret_cast(&(df_structure->blood_mat)) - reinterpret_cast(df_structure); + p_table["blood_matidx"] = reinterpret_cast(&(df_structure->blood_matidx)) - reinterpret_cast(df_structure); + p_table["blood_str"] = reinterpret_cast(&(df_structure->blood_str)) - reinterpret_cast(df_structure); + p_table["pus_state"] = reinterpret_cast(&(df_structure->pus_state)) - reinterpret_cast(df_structure); + p_table["pus_mat"] = reinterpret_cast(&(df_structure->pus_mat)) - reinterpret_cast(df_structure); + p_table["pus_matidx"] = reinterpret_cast(&(df_structure->pus_matidx)) - reinterpret_cast(df_structure); + p_table["pus_str"] = reinterpret_cast(&(df_structure->pus_str)) - reinterpret_cast(df_structure); + p_table["egg_material_mattype"] = reinterpret_cast(&(df_structure->egg_material_mattype)) - reinterpret_cast(df_structure); + p_table["egg_material_matindex"] = reinterpret_cast(&(df_structure->egg_material_matindex)) - reinterpret_cast(df_structure); + p_table["egg_material_str"] = reinterpret_cast(&(df_structure->egg_material_str)) - reinterpret_cast(df_structure); + p_table["lays_unusual_eggs_itemtype"] = reinterpret_cast(&(df_structure->lays_unusual_eggs_itemtype)) - reinterpret_cast(df_structure); + p_table["lays_unusual_eggs_itemsubtype"] = reinterpret_cast(&(df_structure->lays_unusual_eggs_itemsubtype)) - reinterpret_cast(df_structure); + p_table["lays_unusual_eggs_mattype"] = reinterpret_cast(&(df_structure->lays_unusual_eggs_mattype)) - reinterpret_cast(df_structure); + p_table["lays_unusual_eggs_matindex"] = reinterpret_cast(&(df_structure->lays_unusual_eggs_matindex)) - reinterpret_cast(df_structure); + p_table["lays_unusual_eggs_str"] = reinterpret_cast(&(df_structure->lays_unusual_eggs_str)) - reinterpret_cast(df_structure); +} + +void generate_caste_raw__T_secretion_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["mat_state"] = reinterpret_cast(&(df_structure->mat_state)) - reinterpret_cast(df_structure); + p_table["mat_type_str"] = reinterpret_cast(&(df_structure->mat_type_str)) - reinterpret_cast(df_structure); + p_table["mat_index_str"] = reinterpret_cast(&(df_structure->mat_index_str)) - reinterpret_cast(df_structure); + p_table["unk_44"] = reinterpret_cast(&(df_structure->unk_44)) - reinterpret_cast(df_structure); + p_table["body_part_id"] = reinterpret_cast(&(df_structure->body_part_id)) - reinterpret_cast(df_structure); + p_table["layer_id"] = reinterpret_cast(&(df_structure->layer_id)) - reinterpret_cast(df_structure); + p_table["cause"] = reinterpret_cast(&(df_structure->cause)) - reinterpret_cast(df_structure); +} + +void generate_caste_raw__T_unknown2_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk_v4201_1"] = reinterpret_cast(&(df_structure->unk_v4201_1)) - reinterpret_cast(df_structure); + p_table["unk_v4201_2"] = reinterpret_cast(&(df_structure->unk_v4201_2)) - reinterpret_cast(df_structure); + p_table["gobble_vermin_class"] = reinterpret_cast(&(df_structure->gobble_vermin_class)) - reinterpret_cast(df_structure); + p_table["gobble_vermin_creature_1"] = reinterpret_cast(&(df_structure->gobble_vermin_creature_1)) - reinterpret_cast(df_structure); + p_table["gobble_vermin_creature_2"] = reinterpret_cast(&(df_structure->gobble_vermin_creature_2)) - reinterpret_cast(df_structure); + p_table["infect_all"] = reinterpret_cast(&(df_structure->infect_all)) - reinterpret_cast(df_structure); + p_table["infect_local"] = reinterpret_cast(&(df_structure->infect_local)) - reinterpret_cast(df_structure); + p_table["unk23f"] = reinterpret_cast(&(df_structure->unk23f)) - reinterpret_cast(df_structure); + p_table["unk23g"] = reinterpret_cast(&(df_structure->unk23g)) - reinterpret_cast(df_structure); + p_table["unk24_flags"] = reinterpret_cast(&(df_structure->unk24_flags)) - reinterpret_cast(df_structure); + p_table["unk25_flags"] = reinterpret_cast(&(df_structure->unk25_flags)) - reinterpret_cast(df_structure); + p_table["armor_sizes"] = reinterpret_cast(&(df_structure->armor_sizes)) - reinterpret_cast(df_structure); + p_table["pants_sizes"] = reinterpret_cast(&(df_structure->pants_sizes)) - reinterpret_cast(df_structure); + p_table["helm_size"] = reinterpret_cast(&(df_structure->helm_size)) - reinterpret_cast(df_structure); + p_table["shield_sizes"] = reinterpret_cast(&(df_structure->shield_sizes)) - reinterpret_cast(df_structure); + p_table["shoes_sizes"] = reinterpret_cast(&(df_structure->shoes_sizes)) - reinterpret_cast(df_structure); + p_table["gloves_sizes"] = reinterpret_cast(&(df_structure->gloves_sizes)) - reinterpret_cast(df_structure); + p_table["materials"] = reinterpret_cast(&(df_structure->materials)) - reinterpret_cast(df_structure); + p_table["unk_2f20"] = reinterpret_cast(&(df_structure->unk_2f20)) - reinterpret_cast(df_structure); + p_table["unk_2f30"] = reinterpret_cast(&(df_structure->unk_2f30)) - reinterpret_cast(df_structure); + p_table["unk_2f40"] = reinterpret_cast(&(df_structure->unk_2f40)) - reinterpret_cast(df_structure); + p_table["unk_2f50"] = reinterpret_cast(&(df_structure->unk_2f50)) - reinterpret_cast(df_structure); + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); +} + +void generate_caste_raw_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["caste_id"] = reinterpret_cast(&(df_structure->caste_id)) - reinterpret_cast(df_structure); + p_table["caste_name"] = reinterpret_cast(&(df_structure->caste_name)) - reinterpret_cast(df_structure); + p_table["vermin_bite_txt"] = reinterpret_cast(&(df_structure->vermin_bite_txt)) - reinterpret_cast(df_structure); + p_table["gnawer_txt"] = reinterpret_cast(&(df_structure->gnawer_txt)) - reinterpret_cast(df_structure); + p_table["baby_name"] = reinterpret_cast(&(df_structure->baby_name)) - reinterpret_cast(df_structure); + p_table["child_name"] = reinterpret_cast(&(df_structure->child_name)) - reinterpret_cast(df_structure); + p_table["itemcorpse_str"] = reinterpret_cast(&(df_structure->itemcorpse_str)) - reinterpret_cast(df_structure); + p_table["remains"] = reinterpret_cast(&(df_structure->remains)) - reinterpret_cast(df_structure); + p_table["description"] = reinterpret_cast(&(df_structure->description)) - reinterpret_cast(df_structure); + p_table["mannerisms"] = reinterpret_cast(&(df_structure->mannerisms)) - reinterpret_cast(df_structure); + p_table["caste_tile"] = reinterpret_cast(&(df_structure->caste_tile)) - reinterpret_cast(df_structure); + p_table["caste_soldier_tile"] = reinterpret_cast(&(df_structure->caste_soldier_tile)) - reinterpret_cast(df_structure); + p_table["caste_alttile"] = reinterpret_cast(&(df_structure->caste_alttile)) - reinterpret_cast(df_structure); + p_table["caste_soldier_alttile"] = reinterpret_cast(&(df_structure->caste_soldier_alttile)) - reinterpret_cast(df_structure); + p_table["caste_glowtile"] = reinterpret_cast(&(df_structure->caste_glowtile)) - reinterpret_cast(df_structure); + p_table["homeotherm"] = reinterpret_cast(&(df_structure->homeotherm)) - reinterpret_cast(df_structure); + p_table["min_temp"] = reinterpret_cast(&(df_structure->min_temp)) - reinterpret_cast(df_structure); + p_table["max_temp"] = reinterpret_cast(&(df_structure->max_temp)) - reinterpret_cast(df_structure); + p_table["fixed_temp"] = reinterpret_cast(&(df_structure->fixed_temp)) - reinterpret_cast(df_structure); + p_table["caste_color"] = reinterpret_cast(&(df_structure->caste_color)) - reinterpret_cast(df_structure); + p_table["misc"] = reinterpret_cast(&(df_structure->misc)) - reinterpret_cast(df_structure); + p_table["personality"] = reinterpret_cast(&(df_structure->personality)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["index"] = reinterpret_cast(&(df_structure->index)) - reinterpret_cast(df_structure); + p_table["body_info"] = reinterpret_cast(&(df_structure->body_info)) - reinterpret_cast(df_structure); + p_table["caste_speech_1"] = reinterpret_cast(&(df_structure->caste_speech_1)) - reinterpret_cast(df_structure); + p_table["caste_speech_2"] = reinterpret_cast(&(df_structure->caste_speech_2)) - reinterpret_cast(df_structure); + p_table["skill_rates"] = reinterpret_cast(&(df_structure->skill_rates)) - reinterpret_cast(df_structure); + p_table["attributes"] = reinterpret_cast(&(df_structure->attributes)) - reinterpret_cast(df_structure); + p_table["gender"] = reinterpret_cast(&(df_structure->gender)) - reinterpret_cast(df_structure); + p_table["orientation_male"] = reinterpret_cast(&(df_structure->orientation_male)) - reinterpret_cast(df_structure); + p_table["orientation_female"] = reinterpret_cast(&(df_structure->orientation_female)) - reinterpret_cast(df_structure); + p_table["body_size_1"] = reinterpret_cast(&(df_structure->body_size_1)) - reinterpret_cast(df_structure); + p_table["body_size_2"] = reinterpret_cast(&(df_structure->body_size_2)) - reinterpret_cast(df_structure); + p_table["body_appearance_modifiers"] = reinterpret_cast(&(df_structure->body_appearance_modifiers)) - reinterpret_cast(df_structure); + p_table["bp_appearance"] = reinterpret_cast(&(df_structure->bp_appearance)) - reinterpret_cast(df_structure); + p_table["color_modifiers"] = reinterpret_cast(&(df_structure->color_modifiers)) - reinterpret_cast(df_structure); + p_table["tissue_styles"] = reinterpret_cast(&(df_structure->tissue_styles)) - reinterpret_cast(df_structure); + p_table["shearable_tissue_layer"] = reinterpret_cast(&(df_structure->shearable_tissue_layer)) - reinterpret_cast(df_structure); + p_table["unk16a"] = reinterpret_cast(&(df_structure->unk16a)) - reinterpret_cast(df_structure); + p_table["unk16b"] = reinterpret_cast(&(df_structure->unk16b)) - reinterpret_cast(df_structure); + p_table["appearance_gene_count"] = reinterpret_cast(&(df_structure->appearance_gene_count)) - reinterpret_cast(df_structure); + p_table["color_gene_count"] = reinterpret_cast(&(df_structure->color_gene_count)) - reinterpret_cast(df_structure); + p_table["natural_skill_id"] = reinterpret_cast(&(df_structure->natural_skill_id)) - reinterpret_cast(df_structure); + p_table["natural_skill_exp"] = reinterpret_cast(&(df_structure->natural_skill_exp)) - reinterpret_cast(df_structure); + p_table["natural_skill_lvl"] = reinterpret_cast(&(df_structure->natural_skill_lvl)) - reinterpret_cast(df_structure); + p_table["caste_profession_name"] = reinterpret_cast(&(df_structure->caste_profession_name)) - reinterpret_cast(df_structure); + p_table["extracts"] = reinterpret_cast(&(df_structure->extracts)) - reinterpret_cast(df_structure); + p_table["secretion"] = reinterpret_cast(&(df_structure->secretion)) - reinterpret_cast(df_structure); + p_table["creature_class"] = reinterpret_cast(&(df_structure->creature_class)) - reinterpret_cast(df_structure); + p_table["unknown2"] = reinterpret_cast(&(df_structure->unknown2)) - reinterpret_cast(df_structure); + p_table["habit_num"] = reinterpret_cast(&(df_structure->habit_num)) - reinterpret_cast(df_structure); + p_table["habit_1"] = reinterpret_cast(&(df_structure->habit_1)) - reinterpret_cast(df_structure); + p_table["habit_2"] = reinterpret_cast(&(df_structure->habit_2)) - reinterpret_cast(df_structure); + p_table["lair_1"] = reinterpret_cast(&(df_structure->lair_1)) - reinterpret_cast(df_structure); + p_table["lair_2"] = reinterpret_cast(&(df_structure->lair_2)) - reinterpret_cast(df_structure); + p_table["lair_characteristic_1"] = reinterpret_cast(&(df_structure->lair_characteristic_1)) - reinterpret_cast(df_structure); + p_table["lair_characteristic_2"] = reinterpret_cast(&(df_structure->lair_characteristic_2)) - reinterpret_cast(df_structure); + p_table["lair_hunter_speech"] = reinterpret_cast(&(df_structure->lair_hunter_speech)) - reinterpret_cast(df_structure); + p_table["unk29"] = reinterpret_cast(&(df_structure->unk29)) - reinterpret_cast(df_structure); + p_table["specific_food"] = reinterpret_cast(&(df_structure->specific_food)) - reinterpret_cast(df_structure); + p_table["sound"] = reinterpret_cast(&(df_structure->sound)) - reinterpret_cast(df_structure); + p_table["sound_alert"] = reinterpret_cast(&(df_structure->sound_alert)) - reinterpret_cast(df_structure); + p_table["sound_peaceful_intermittent"] = reinterpret_cast(&(df_structure->sound_peaceful_intermittent)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["smell_trigger"] = reinterpret_cast(&(df_structure->smell_trigger)) - reinterpret_cast(df_structure); + p_table["odor_level"] = reinterpret_cast(&(df_structure->odor_level)) - reinterpret_cast(df_structure); + p_table["odor_string"] = reinterpret_cast(&(df_structure->odor_string)) - reinterpret_cast(df_structure); + p_table["low_light_vision"] = reinterpret_cast(&(df_structure->low_light_vision)) - reinterpret_cast(df_structure); + p_table["sense_creature_class_1"] = reinterpret_cast(&(df_structure->sense_creature_class_1)) - reinterpret_cast(df_structure); + p_table["sense_creature_class_2"] = reinterpret_cast(&(df_structure->sense_creature_class_2)) - reinterpret_cast(df_structure); + p_table["sense_creature_class_3"] = reinterpret_cast(&(df_structure->sense_creature_class_3)) - reinterpret_cast(df_structure); + p_table["sense_creature_class_4"] = reinterpret_cast(&(df_structure->sense_creature_class_4)) - reinterpret_cast(df_structure); + p_table["sense_creature_class_5"] = reinterpret_cast(&(df_structure->sense_creature_class_5)) - reinterpret_cast(df_structure); +} + +void generate_tissue_style_raw_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["token"] = reinterpret_cast(&(df_structure->token)) - reinterpret_cast(df_structure); + p_table["part_idx"] = reinterpret_cast(&(df_structure->part_idx)) - reinterpret_cast(df_structure); + p_table["layer_idx"] = reinterpret_cast(&(df_structure->layer_idx)) - reinterpret_cast(df_structure); + p_table["styles"] = reinterpret_cast(&(df_structure->styles)) - reinterpret_cast(df_structure); + p_table["list_idx"] = reinterpret_cast(&(df_structure->list_idx)) - reinterpret_cast(df_structure); + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["noun"] = reinterpret_cast(&(df_structure->noun)) - reinterpret_cast(df_structure); + p_table["word_type"] = reinterpret_cast(&(df_structure->word_type)) - reinterpret_cast(df_structure); +} + +void generate_creature_raw__T_graphics_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["texpos"] = reinterpret_cast(&(df_structure->texpos)) - reinterpret_cast(df_structure); + p_table["texpos_gs"] = reinterpret_cast(&(df_structure->texpos_gs)) - reinterpret_cast(df_structure); + p_table["entity_link_texpos"] = reinterpret_cast(&(df_structure->entity_link_texpos)) - reinterpret_cast(df_structure); + p_table["entity_link_texpos_gs"] = reinterpret_cast(&(df_structure->entity_link_texpos_gs)) - reinterpret_cast(df_structure); + p_table["site_link_texpos"] = reinterpret_cast(&(df_structure->site_link_texpos)) - reinterpret_cast(df_structure); + p_table["site_link_texpos_gs"] = reinterpret_cast(&(df_structure->site_link_texpos_gs)) - reinterpret_cast(df_structure); + p_table["profession_texpos"] = reinterpret_cast(&(df_structure->profession_texpos)) - reinterpret_cast(df_structure); + p_table["profession_texpos_gs"] = reinterpret_cast(&(df_structure->profession_texpos_gs)) - reinterpret_cast(df_structure); + p_table["add_color"] = reinterpret_cast(&(df_structure->add_color)) - reinterpret_cast(df_structure); + p_table["entity_link_add_color"] = reinterpret_cast(&(df_structure->entity_link_add_color)) - reinterpret_cast(df_structure); + p_table["site_link_add_color"] = reinterpret_cast(&(df_structure->site_link_add_color)) - reinterpret_cast(df_structure); + p_table["profession_add_color"] = reinterpret_cast(&(df_structure->profession_add_color)) - reinterpret_cast(df_structure); + p_table["appointments"] = reinterpret_cast(&(df_structure->appointments)) - reinterpret_cast(df_structure); +} + +void generate_creature_raw__T_profession_name_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["singular"] = reinterpret_cast(&(df_structure->singular)) - reinterpret_cast(df_structure); + p_table["plural"] = reinterpret_cast(&(df_structure->plural)) - reinterpret_cast(df_structure); +} + +void generate_creature_raw__T_hive_product_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["number"] = reinterpret_cast(&(df_structure->number)) - reinterpret_cast(df_structure); + p_table["time"] = reinterpret_cast(&(df_structure->time)) - reinterpret_cast(df_structure); + p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); + p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); + p_table["material"] = reinterpret_cast(&(df_structure->material)) - reinterpret_cast(df_structure); + p_table["tmpstr"] = reinterpret_cast(&(df_structure->tmpstr)) - reinterpret_cast(df_structure); +} + +void generate_creature_raw_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["creature_id"] = reinterpret_cast(&(df_structure->creature_id)) - reinterpret_cast(df_structure); + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["general_baby_name"] = reinterpret_cast(&(df_structure->general_baby_name)) - reinterpret_cast(df_structure); + p_table["general_child_name"] = reinterpret_cast(&(df_structure->general_child_name)) - reinterpret_cast(df_structure); + p_table["unk_v43_1"] = reinterpret_cast(&(df_structure->unk_v43_1)) - reinterpret_cast(df_structure); + p_table["creature_tile"] = reinterpret_cast(&(df_structure->creature_tile)) - reinterpret_cast(df_structure); + p_table["creature_soldier_tile"] = reinterpret_cast(&(df_structure->creature_soldier_tile)) - reinterpret_cast(df_structure); + p_table["alttile"] = reinterpret_cast(&(df_structure->alttile)) - reinterpret_cast(df_structure); + p_table["soldier_alttile"] = reinterpret_cast(&(df_structure->soldier_alttile)) - reinterpret_cast(df_structure); + p_table["glowtile"] = reinterpret_cast(&(df_structure->glowtile)) - reinterpret_cast(df_structure); + p_table["temperature1"] = reinterpret_cast(&(df_structure->temperature1)) - reinterpret_cast(df_structure); + p_table["temperature2"] = reinterpret_cast(&(df_structure->temperature2)) - reinterpret_cast(df_structure); + p_table["frequency"] = reinterpret_cast(&(df_structure->frequency)) - reinterpret_cast(df_structure); + p_table["population_number"] = reinterpret_cast(&(df_structure->population_number)) - reinterpret_cast(df_structure); + p_table["cluster_number"] = reinterpret_cast(&(df_structure->cluster_number)) - reinterpret_cast(df_structure); + p_table["triggerable_group"] = reinterpret_cast(&(df_structure->triggerable_group)) - reinterpret_cast(df_structure); + p_table["color"] = reinterpret_cast(&(df_structure->color)) - reinterpret_cast(df_structure); + p_table["glowcolor"] = reinterpret_cast(&(df_structure->glowcolor)) - reinterpret_cast(df_structure); + p_table["adultsize"] = reinterpret_cast(&(df_structure->adultsize)) - reinterpret_cast(df_structure); + p_table["prefstring"] = reinterpret_cast(&(df_structure->prefstring)) - reinterpret_cast(df_structure); + p_table["sphere"] = reinterpret_cast(&(df_structure->sphere)) - reinterpret_cast(df_structure); + p_table["caste"] = reinterpret_cast(&(df_structure->caste)) - reinterpret_cast(df_structure); + p_table["pop_ratio"] = reinterpret_cast(&(df_structure->pop_ratio)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["graphics"] = reinterpret_cast(&(df_structure->graphics)) - reinterpret_cast(df_structure); + p_table["speech1"] = reinterpret_cast(&(df_structure->speech1)) - reinterpret_cast(df_structure); + p_table["speech2"] = reinterpret_cast(&(df_structure->speech2)) - reinterpret_cast(df_structure); + p_table["speech3"] = reinterpret_cast(&(df_structure->speech3)) - reinterpret_cast(df_structure); + p_table["material"] = reinterpret_cast(&(df_structure->material)) - reinterpret_cast(df_structure); + p_table["tissue"] = reinterpret_cast(&(df_structure->tissue)) - reinterpret_cast(df_structure); + p_table["profession_name"] = reinterpret_cast(&(df_structure->profession_name)) - reinterpret_cast(df_structure); + p_table["underground_layer_min"] = reinterpret_cast(&(df_structure->underground_layer_min)) - reinterpret_cast(df_structure); + p_table["underground_layer_max"] = reinterpret_cast(&(df_structure->underground_layer_max)) - reinterpret_cast(df_structure); + p_table["modifier_class"] = reinterpret_cast(&(df_structure->modifier_class)) - reinterpret_cast(df_structure); + p_table["modifier_num_patterns"] = reinterpret_cast(&(df_structure->modifier_num_patterns)) - reinterpret_cast(df_structure); + p_table["hive_product"] = reinterpret_cast(&(df_structure->hive_product)) - reinterpret_cast(df_structure); + p_table["source_hfid"] = reinterpret_cast(&(df_structure->source_hfid)) - reinterpret_cast(df_structure); + p_table["unk_v4201_1"] = reinterpret_cast(&(df_structure->unk_v4201_1)) - reinterpret_cast(df_structure); + p_table["next_modifier_id"] = reinterpret_cast(&(df_structure->next_modifier_id)) - reinterpret_cast(df_structure); + p_table["raws"] = reinterpret_cast(&(df_structure->raws)) - reinterpret_cast(df_structure); +} + +void generate_creature_variation_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["cv_convert_tag"] = reinterpret_cast(&(df_structure->cv_convert_tag)) - reinterpret_cast(df_structure); + p_table["cv_new_tag"] = reinterpret_cast(&(df_structure->cv_new_tag)) - reinterpret_cast(df_structure); + p_table["cv_new_unk_v40_1"] = reinterpret_cast(&(df_structure->cv_new_unk_v40_1)) - reinterpret_cast(df_structure); + p_table["cv_new_unk_v40_2"] = reinterpret_cast(&(df_structure->cv_new_unk_v40_2)) - reinterpret_cast(df_structure); + p_table["cv_remove_tag"] = reinterpret_cast(&(df_structure->cv_remove_tag)) - reinterpret_cast(df_structure); + p_table["cv_remove_unk_v40_1"] = reinterpret_cast(&(df_structure->cv_remove_unk_v40_1)) - reinterpret_cast(df_structure); + p_table["cv_remove_unk_v40_2"] = reinterpret_cast(&(df_structure->cv_remove_unk_v40_2)) - reinterpret_cast(df_structure); +} + +void generate_body_part_template_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["con"] = reinterpret_cast(&(df_structure->con)) - reinterpret_cast(df_structure); + p_table["category"] = reinterpret_cast(&(df_structure->category)) - reinterpret_cast(df_structure); + p_table["con_cat"] = reinterpret_cast(&(df_structure->con_cat)) - reinterpret_cast(df_structure); + p_table["contype"] = reinterpret_cast(&(df_structure->contype)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["default_relsize"] = reinterpret_cast(&(df_structure->default_relsize)) - reinterpret_cast(df_structure); + p_table["number"] = reinterpret_cast(&(df_structure->number)) - reinterpret_cast(df_structure); + p_table["name_singular"] = reinterpret_cast(&(df_structure->name_singular)) - reinterpret_cast(df_structure); + p_table["name_plural"] = reinterpret_cast(&(df_structure->name_plural)) - reinterpret_cast(df_structure); +} + +void generate_body_template_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["parts"] = reinterpret_cast(&(df_structure->parts)) - reinterpret_cast(df_structure); +} + +void generate_tissue_template_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["tissue_name_singular"] = reinterpret_cast(&(df_structure->tissue_name_singular)) - reinterpret_cast(df_structure); + p_table["tissue_name_plural"] = reinterpret_cast(&(df_structure->tissue_name_plural)) - reinterpret_cast(df_structure); + p_table["tissue_material_str"] = reinterpret_cast(&(df_structure->tissue_material_str)) - reinterpret_cast(df_structure); + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["relative_thickness"] = reinterpret_cast(&(df_structure->relative_thickness)) - reinterpret_cast(df_structure); + p_table["healing_rate"] = reinterpret_cast(&(df_structure->healing_rate)) - reinterpret_cast(df_structure); + p_table["vascular"] = reinterpret_cast(&(df_structure->vascular)) - reinterpret_cast(df_structure); + p_table["pain_receptors"] = reinterpret_cast(&(df_structure->pain_receptors)) - reinterpret_cast(df_structure); + p_table["tissue_shape"] = reinterpret_cast(&(df_structure->tissue_shape)) - reinterpret_cast(df_structure); + p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); + p_table["insulation"] = reinterpret_cast(&(df_structure->insulation)) - reinterpret_cast(df_structure); + p_table["subordinate_to_tissue"] = reinterpret_cast(&(df_structure->subordinate_to_tissue)) - reinterpret_cast(df_structure); + p_table["tissue_mat_state"] = reinterpret_cast(&(df_structure->tissue_mat_state)) - reinterpret_cast(df_structure); + p_table["tissue_shape_str"] = reinterpret_cast(&(df_structure->tissue_shape_str)) - reinterpret_cast(df_structure); +} + +void generate_tissue_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["tissue_name_singular"] = reinterpret_cast(&(df_structure->tissue_name_singular)) - reinterpret_cast(df_structure); + p_table["tissue_name_plural"] = reinterpret_cast(&(df_structure->tissue_name_plural)) - reinterpret_cast(df_structure); + p_table["tissue_material_str"] = reinterpret_cast(&(df_structure->tissue_material_str)) - reinterpret_cast(df_structure); + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["relative_thickness"] = reinterpret_cast(&(df_structure->relative_thickness)) - reinterpret_cast(df_structure); + p_table["healing_rate"] = reinterpret_cast(&(df_structure->healing_rate)) - reinterpret_cast(df_structure); + p_table["vascular"] = reinterpret_cast(&(df_structure->vascular)) - reinterpret_cast(df_structure); + p_table["pain_receptors"] = reinterpret_cast(&(df_structure->pain_receptors)) - reinterpret_cast(df_structure); + p_table["tissue_shape"] = reinterpret_cast(&(df_structure->tissue_shape)) - reinterpret_cast(df_structure); + p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); + p_table["insulation"] = reinterpret_cast(&(df_structure->insulation)) - reinterpret_cast(df_structure); + p_table["subordinate_to_tissue"] = reinterpret_cast(&(df_structure->subordinate_to_tissue)) - reinterpret_cast(df_structure); + p_table["parent_tissue"] = reinterpret_cast(&(df_structure->parent_tissue)) - reinterpret_cast(df_structure); + p_table["tissue_mat_state"] = reinterpret_cast(&(df_structure->tissue_mat_state)) - reinterpret_cast(df_structure); + p_table["heatdam_point"] = reinterpret_cast(&(df_structure->heatdam_point)) - reinterpret_cast(df_structure); + p_table["colddam_point"] = reinterpret_cast(&(df_structure->colddam_point)) - reinterpret_cast(df_structure); + p_table["ignite_point"] = reinterpret_cast(&(df_structure->ignite_point)) - reinterpret_cast(df_structure); + p_table["melting_point"] = reinterpret_cast(&(df_structure->melting_point)) - reinterpret_cast(df_structure); + p_table["boiling_point"] = reinterpret_cast(&(df_structure->boiling_point)) - reinterpret_cast(df_structure); + p_table["spec_heat"] = reinterpret_cast(&(df_structure->spec_heat)) - reinterpret_cast(df_structure); + p_table["tissue_shape_str"] = reinterpret_cast(&(df_structure->tissue_shape_str)) - reinterpret_cast(df_structure); +} + +void generate_d_init__T_wound_color_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["none"] = reinterpret_cast(&(df_structure->none)) - reinterpret_cast(df_structure); + p_table["minor"] = reinterpret_cast(&(df_structure->minor)) - reinterpret_cast(df_structure); + p_table["inhibited"] = reinterpret_cast(&(df_structure->inhibited)) - reinterpret_cast(df_structure); + p_table["function_loss"] = reinterpret_cast(&(df_structure->function_loss)) - reinterpret_cast(df_structure); + p_table["broken"] = reinterpret_cast(&(df_structure->broken)) - reinterpret_cast(df_structure); + p_table["missing"] = reinterpret_cast(&(df_structure->missing)) - reinterpret_cast(df_structure); +} + +void generate_d_init__T_store_dist_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["item_decrease"] = reinterpret_cast(&(df_structure->item_decrease)) - reinterpret_cast(df_structure); + p_table["seed_combine"] = reinterpret_cast(&(df_structure->seed_combine)) - reinterpret_cast(df_structure); + p_table["bucket_combine"] = reinterpret_cast(&(df_structure->bucket_combine)) - reinterpret_cast(df_structure); + p_table["barrel_combine"] = reinterpret_cast(&(df_structure->barrel_combine)) - reinterpret_cast(df_structure); + p_table["bin_combine"] = reinterpret_cast(&(df_structure->bin_combine)) - reinterpret_cast(df_structure); +} + +void generate_d_init_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["flags1"] = reinterpret_cast(&(df_structure->flags1)) - reinterpret_cast(df_structure); + p_table["nickname"] = reinterpret_cast(&(df_structure->nickname)) - reinterpret_cast(df_structure); + p_table["sky_tile"] = reinterpret_cast(&(df_structure->sky_tile)) - reinterpret_cast(df_structure); + p_table["sky_color"] = reinterpret_cast(&(df_structure->sky_color)) - reinterpret_cast(df_structure); + p_table["chasm_tile"] = reinterpret_cast(&(df_structure->chasm_tile)) - reinterpret_cast(df_structure); + p_table["pillar_tile"] = reinterpret_cast(&(df_structure->pillar_tile)) - reinterpret_cast(df_structure); + p_table["track_tiles"] = reinterpret_cast(&(df_structure->track_tiles)) - reinterpret_cast(df_structure); + p_table["track_tile_invert"] = reinterpret_cast(&(df_structure->track_tile_invert)) - reinterpret_cast(df_structure); + p_table["track_ramp_tiles"] = reinterpret_cast(&(df_structure->track_ramp_tiles)) - reinterpret_cast(df_structure); + p_table["track_ramp_invert"] = reinterpret_cast(&(df_structure->track_ramp_invert)) - reinterpret_cast(df_structure); + p_table["tree_tiles"] = reinterpret_cast(&(df_structure->tree_tiles)) - reinterpret_cast(df_structure); + p_table["chasm_color"] = reinterpret_cast(&(df_structure->chasm_color)) - reinterpret_cast(df_structure); + p_table["wound_color"] = reinterpret_cast(&(df_structure->wound_color)) - reinterpret_cast(df_structure); + p_table["idlers"] = reinterpret_cast(&(df_structure->idlers)) - reinterpret_cast(df_structure); + p_table["show_embark_tunnel"] = reinterpret_cast(&(df_structure->show_embark_tunnel)) - reinterpret_cast(df_structure); + p_table["flags2"] = reinterpret_cast(&(df_structure->flags2)) - reinterpret_cast(df_structure); + p_table["display_length"] = reinterpret_cast(&(df_structure->display_length)) - reinterpret_cast(df_structure); + p_table["adventurer_z_view"] = reinterpret_cast(&(df_structure->adventurer_z_view)) - reinterpret_cast(df_structure); + p_table["adventurer_z_view_size"] = reinterpret_cast(&(df_structure->adventurer_z_view_size)) - reinterpret_cast(df_structure); + p_table["flags3"] = reinterpret_cast(&(df_structure->flags3)) - reinterpret_cast(df_structure); + p_table["population_cap"] = reinterpret_cast(&(df_structure->population_cap)) - reinterpret_cast(df_structure); + p_table["strict_population_cap"] = reinterpret_cast(&(df_structure->strict_population_cap)) - reinterpret_cast(df_structure); + p_table["baby_cap_absolute"] = reinterpret_cast(&(df_structure->baby_cap_absolute)) - reinterpret_cast(df_structure); + p_table["baby_cap_percent"] = reinterpret_cast(&(df_structure->baby_cap_percent)) - reinterpret_cast(df_structure); + p_table["visitor_cap"] = reinterpret_cast(&(df_structure->visitor_cap)) - reinterpret_cast(df_structure); + p_table["specific_seed_cap"] = reinterpret_cast(&(df_structure->specific_seed_cap)) - reinterpret_cast(df_structure); + p_table["fortress_seed_cap"] = reinterpret_cast(&(df_structure->fortress_seed_cap)) - reinterpret_cast(df_structure); + p_table["invasion_soldier_cap"] = reinterpret_cast(&(df_structure->invasion_soldier_cap)) - reinterpret_cast(df_structure); + p_table["invasion_monster_cap"] = reinterpret_cast(&(df_structure->invasion_monster_cap)) - reinterpret_cast(df_structure); + p_table["path_cost"] = reinterpret_cast(&(df_structure->path_cost)) - reinterpret_cast(df_structure); + p_table["embark_rect"] = reinterpret_cast(&(df_structure->embark_rect)) - reinterpret_cast(df_structure); + p_table["store_dist"] = reinterpret_cast(&(df_structure->store_dist)) - reinterpret_cast(df_structure); + p_table["set_labor_lists"] = reinterpret_cast(&(df_structure->set_labor_lists)) - reinterpret_cast(df_structure); + p_table["graze_coefficient"] = reinterpret_cast(&(df_structure->graze_coefficient)) - reinterpret_cast(df_structure); + p_table["flags4"] = reinterpret_cast(&(df_structure->flags4)) - reinterpret_cast(df_structure); + p_table["post_prepare_embark_confirmation"] = reinterpret_cast(&(df_structure->post_prepare_embark_confirmation)) - reinterpret_cast(df_structure); + p_table["announcements"] = reinterpret_cast(&(df_structure->announcements)) - reinterpret_cast(df_structure); +} + +void generate_descriptor_pattern_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["colors"] = reinterpret_cast(&(df_structure->colors)) - reinterpret_cast(df_structure); + p_table["pattern"] = reinterpret_cast(&(df_structure->pattern)) - reinterpret_cast(df_structure); + p_table["cp_color"] = reinterpret_cast(&(df_structure->cp_color)) - reinterpret_cast(df_structure); +} + +void generate_entity_occasion_info_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["occasions"] = reinterpret_cast(&(df_structure->occasions)) - reinterpret_cast(df_structure); + p_table["next_occasion_id"] = reinterpret_cast(&(df_structure->next_occasion_id)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); +} + +void generate_entity_occasion_schedule_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["reference"] = reinterpret_cast(&(df_structure->reference)) - reinterpret_cast(df_structure); + p_table["reference2"] = reinterpret_cast(&(df_structure->reference2)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["features"] = reinterpret_cast(&(df_structure->features)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); +} + +void generate_entity_occasion_schedule_feature_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["feature"] = reinterpret_cast(&(df_structure->feature)) - reinterpret_cast(df_structure); + p_table["reference"] = reinterpret_cast(&(df_structure->reference)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); +} + +void generate_caravan_state_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["total_capacity"] = reinterpret_cast(&(df_structure->total_capacity)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["trade_state"] = reinterpret_cast(&(df_structure->trade_state)) - reinterpret_cast(df_structure); + p_table["depot_notified"] = reinterpret_cast(&(df_structure->depot_notified)) - reinterpret_cast(df_structure); + p_table["time_remaining"] = reinterpret_cast(&(df_structure->time_remaining)) - reinterpret_cast(df_structure); + p_table["entity"] = reinterpret_cast(&(df_structure->entity)) - reinterpret_cast(df_structure); + p_table["activity_stats"] = reinterpret_cast(&(df_structure->activity_stats)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["import_value"] = reinterpret_cast(&(df_structure->import_value)) - reinterpret_cast(df_structure); + p_table["export_value_total"] = reinterpret_cast(&(df_structure->export_value_total)) - reinterpret_cast(df_structure); + p_table["export_value_personal"] = reinterpret_cast(&(df_structure->export_value_personal)) - reinterpret_cast(df_structure); + p_table["offer_value"] = reinterpret_cast(&(df_structure->offer_value)) - reinterpret_cast(df_structure); + p_table["animals"] = reinterpret_cast(&(df_structure->animals)) - reinterpret_cast(df_structure); + p_table["sell_prices"] = reinterpret_cast(&(df_structure->sell_prices)) - reinterpret_cast(df_structure); + p_table["buy_prices"] = reinterpret_cast(&(df_structure->buy_prices)) - reinterpret_cast(df_structure); + p_table["goods"] = reinterpret_cast(&(df_structure->goods)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); +} + +void generate_entity_buy_prices_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["items"] = reinterpret_cast(&(df_structure->items)) - reinterpret_cast(df_structure); + p_table["price"] = reinterpret_cast(&(df_structure->price)) - reinterpret_cast(df_structure); +} + +void generate_entity_buy_requests_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); + p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); + p_table["mat_types"] = reinterpret_cast(&(df_structure->mat_types)) - reinterpret_cast(df_structure); + p_table["mat_indices"] = reinterpret_cast(&(df_structure->mat_indices)) - reinterpret_cast(df_structure); + p_table["mat_cats"] = reinterpret_cast(&(df_structure->mat_cats)) - reinterpret_cast(df_structure); + p_table["priority"] = reinterpret_cast(&(df_structure->priority)) - reinterpret_cast(df_structure); +} + +void generate_entity_sell_prices_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["items"] = reinterpret_cast(&(df_structure->items)) - reinterpret_cast(df_structure); + p_table["price"] = reinterpret_cast(&(df_structure->price)) - reinterpret_cast(df_structure); +} + +void generate_entity_recipe_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["subtype"] = reinterpret_cast(&(df_structure->subtype)) - reinterpret_cast(df_structure); + p_table["item_types"] = reinterpret_cast(&(df_structure->item_types)) - reinterpret_cast(df_structure); + p_table["item_subtypes"] = reinterpret_cast(&(df_structure->item_subtypes)) - reinterpret_cast(df_structure); + p_table["mat_types"] = reinterpret_cast(&(df_structure->mat_types)) - reinterpret_cast(df_structure); + p_table["mat_indices"] = reinterpret_cast(&(df_structure->mat_indices)) - reinterpret_cast(df_structure); +} + +void generate_entity_uniform_item_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["random_dye"] = reinterpret_cast(&(df_structure->random_dye)) - reinterpret_cast(df_structure); + p_table["armorlevel"] = reinterpret_cast(&(df_structure->armorlevel)) - reinterpret_cast(df_structure); + p_table["item_color"] = reinterpret_cast(&(df_structure->item_color)) - reinterpret_cast(df_structure); + p_table["art_image_id"] = reinterpret_cast(&(df_structure->art_image_id)) - reinterpret_cast(df_structure); + p_table["art_image_subid"] = reinterpret_cast(&(df_structure->art_image_subid)) - reinterpret_cast(df_structure); + p_table["image_thread_color"] = reinterpret_cast(&(df_structure->image_thread_color)) - reinterpret_cast(df_structure); + p_table["image_material_class"] = reinterpret_cast(&(df_structure->image_material_class)) - reinterpret_cast(df_structure); + p_table["maker_race"] = reinterpret_cast(&(df_structure->maker_race)) - reinterpret_cast(df_structure); + p_table["indiv_choice"] = reinterpret_cast(&(df_structure->indiv_choice)) - reinterpret_cast(df_structure); + p_table["mattype"] = reinterpret_cast(&(df_structure->mattype)) - reinterpret_cast(df_structure); + p_table["matindex"] = reinterpret_cast(&(df_structure->matindex)) - reinterpret_cast(df_structure); + p_table["material_class"] = reinterpret_cast(&(df_structure->material_class)) - reinterpret_cast(df_structure); +} + +void generate_entity_uniform_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); + p_table["uniform_item_types"] = reinterpret_cast(&(df_structure->uniform_item_types)) - reinterpret_cast(df_structure); + p_table["uniform_item_subtypes"] = reinterpret_cast(&(df_structure->uniform_item_subtypes)) - reinterpret_cast(df_structure); + p_table["uniform_item_info"] = reinterpret_cast(&(df_structure->uniform_item_info)) - reinterpret_cast(df_structure); + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); +} + +void generate_entity_event__T_data__T_invasion_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["entity_id"] = reinterpret_cast(&(df_structure->entity_id)) - reinterpret_cast(df_structure); + p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); +} + +void generate_entity_event__T_data__T_abduction_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["histfig_id"] = reinterpret_cast(&(df_structure->histfig_id)) - reinterpret_cast(df_structure); + p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); + p_table["abductor_id"] = reinterpret_cast(&(df_structure->abductor_id)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_entity_event__T_data__T_incident_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["incident_id"] = reinterpret_cast(&(df_structure->incident_id)) - reinterpret_cast(df_structure); +} + +void generate_entity_event__T_data__T_occupation_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); + p_table["entity_id"] = reinterpret_cast(&(df_structure->entity_id)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); +} + +void generate_entity_event__T_data__T_beast_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["histfig_id"] = reinterpret_cast(&(df_structure->histfig_id)) - reinterpret_cast(df_structure); + p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); + p_table["region_id"] = reinterpret_cast(&(df_structure->region_id)) - reinterpret_cast(df_structure); +} + +void generate_entity_event__T_data__T_group_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["entity_id"] = reinterpret_cast(&(df_structure->entity_id)) - reinterpret_cast(df_structure); + p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); +} + +void generate_entity_event__T_data__T_harass_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["entity_id"] = reinterpret_cast(&(df_structure->entity_id)) - reinterpret_cast(df_structure); + p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_entity_event__T_data__T_flee_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["refugee_entity_id"] = reinterpret_cast(&(df_structure->refugee_entity_id)) - reinterpret_cast(df_structure); + p_table["from_site_id"] = reinterpret_cast(&(df_structure->from_site_id)) - reinterpret_cast(df_structure); + p_table["army_entity_id"] = reinterpret_cast(&(df_structure->army_entity_id)) - reinterpret_cast(df_structure); + p_table["army_leader_hf_id"] = reinterpret_cast(&(df_structure->army_leader_hf_id)) - reinterpret_cast(df_structure); +} + +void generate_entity_event__T_data__T_abandon_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["entity_id"] = reinterpret_cast(&(df_structure->entity_id)) - reinterpret_cast(df_structure); + p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); + p_table["parent_entity_id"] = reinterpret_cast(&(df_structure->parent_entity_id)) - reinterpret_cast(df_structure); +} + +void generate_entity_event__T_data__T_reclaimed_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["behalf_entity_id"] = reinterpret_cast(&(df_structure->behalf_entity_id)) - reinterpret_cast(df_structure); + p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); + p_table["reclaimer_entity_id"] = reinterpret_cast(&(df_structure->reclaimer_entity_id)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_entity_event__T_data__T_founded_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["entity_id"] = reinterpret_cast(&(df_structure->entity_id)) - reinterpret_cast(df_structure); + p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); + p_table["parent_entity_id"] = reinterpret_cast(&(df_structure->parent_entity_id)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_entity_event__T_data__T_reclaiming_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["entity_id"] = reinterpret_cast(&(df_structure->entity_id)) - reinterpret_cast(df_structure); + p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); +} + +void generate_entity_event__T_data__T_founding_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["entity_id"] = reinterpret_cast(&(df_structure->entity_id)) - reinterpret_cast(df_structure); + p_table["region_id"] = reinterpret_cast(&(df_structure->region_id)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); +} + +void generate_entity_event__T_data__T_leave_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["entity_id"] = reinterpret_cast(&(df_structure->entity_id)) - reinterpret_cast(df_structure); + p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); +} + +void generate_entity_event__T_data__T_insurrection_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); + p_table["entity_id"] = reinterpret_cast(&(df_structure->entity_id)) - reinterpret_cast(df_structure); +} + +void generate_entity_event__T_data__T_insurrection_end_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); + p_table["entity_id"] = reinterpret_cast(&(df_structure->entity_id)) - reinterpret_cast(df_structure); + p_table["result"] = reinterpret_cast(&(df_structure->result)) - reinterpret_cast(df_structure); +} + +void generate_entity_event__T_data__T_succession_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["histfig_id"] = reinterpret_cast(&(df_structure->histfig_id)) - reinterpret_cast(df_structure); + p_table["former_histfig_id"] = reinterpret_cast(&(df_structure->former_histfig_id)) - reinterpret_cast(df_structure); + p_table["entity_id"] = reinterpret_cast(&(df_structure->entity_id)) - reinterpret_cast(df_structure); + p_table["position_assignment_id"] = reinterpret_cast(&(df_structure->position_assignment_id)) - reinterpret_cast(df_structure); +} + +void generate_entity_event__T_data__T_claim_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["entity_id"] = reinterpret_cast(&(df_structure->entity_id)) - reinterpret_cast(df_structure); + p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); + p_table["histfig_id"] = reinterpret_cast(&(df_structure->histfig_id)) - reinterpret_cast(df_structure); +} + +void generate_entity_event__T_data__T_accept_tribute_offer_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["entity1_id"] = reinterpret_cast(&(df_structure->entity1_id)) - reinterpret_cast(df_structure); + p_table["histfig1_id"] = reinterpret_cast(&(df_structure->histfig1_id)) - reinterpret_cast(df_structure); + p_table["entity2_id"] = reinterpret_cast(&(df_structure->entity2_id)) - reinterpret_cast(df_structure); + p_table["histfig2_id"] = reinterpret_cast(&(df_structure->histfig2_id)) - reinterpret_cast(df_structure); +} + +void generate_entity_event__T_data__T_refuse_tribute_offer_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["entity1_id"] = reinterpret_cast(&(df_structure->entity1_id)) - reinterpret_cast(df_structure); + p_table["histfig1_id"] = reinterpret_cast(&(df_structure->histfig1_id)) - reinterpret_cast(df_structure); + p_table["entity2_id"] = reinterpret_cast(&(df_structure->entity2_id)) - reinterpret_cast(df_structure); + p_table["histfig2_id"] = reinterpret_cast(&(df_structure->histfig2_id)) - reinterpret_cast(df_structure); +} + +void generate_entity_event__T_data__T_accept_tribute_demand_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["entity1_id"] = reinterpret_cast(&(df_structure->entity1_id)) - reinterpret_cast(df_structure); + p_table["histfig1_id"] = reinterpret_cast(&(df_structure->histfig1_id)) - reinterpret_cast(df_structure); + p_table["entity2_id"] = reinterpret_cast(&(df_structure->entity2_id)) - reinterpret_cast(df_structure); + p_table["histfig2_id"] = reinterpret_cast(&(df_structure->histfig2_id)) - reinterpret_cast(df_structure); +} + +void generate_entity_event__T_data__T_refuse_tribute_demand_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["entity1_id"] = reinterpret_cast(&(df_structure->entity1_id)) - reinterpret_cast(df_structure); + p_table["histfig1_id"] = reinterpret_cast(&(df_structure->histfig1_id)) - reinterpret_cast(df_structure); + p_table["entity2_id"] = reinterpret_cast(&(df_structure->entity2_id)) - reinterpret_cast(df_structure); + p_table["histfig2_id"] = reinterpret_cast(&(df_structure->histfig2_id)) - reinterpret_cast(df_structure); +} + +void generate_entity_event__T_data__T_accept_peace_offer_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["entity1_id"] = reinterpret_cast(&(df_structure->entity1_id)) - reinterpret_cast(df_structure); + p_table["histfig1_id"] = reinterpret_cast(&(df_structure->histfig1_id)) - reinterpret_cast(df_structure); + p_table["entity2_id"] = reinterpret_cast(&(df_structure->entity2_id)) - reinterpret_cast(df_structure); + p_table["histfig2_id"] = reinterpret_cast(&(df_structure->histfig2_id)) - reinterpret_cast(df_structure); +} + +void generate_entity_event__T_data__T_refuse_peace_offer_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["entity1_id"] = reinterpret_cast(&(df_structure->entity1_id)) - reinterpret_cast(df_structure); + p_table["histfig1_id"] = reinterpret_cast(&(df_structure->histfig1_id)) - reinterpret_cast(df_structure); + p_table["entity2_id"] = reinterpret_cast(&(df_structure->entity2_id)) - reinterpret_cast(df_structure); + p_table["histfig2_id"] = reinterpret_cast(&(df_structure->histfig2_id)) - reinterpret_cast(df_structure); +} + +void generate_entity_event__T_data__T_cease_tribute_offer_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["entity1_id"] = reinterpret_cast(&(df_structure->entity1_id)) - reinterpret_cast(df_structure); + p_table["histfig1_id"] = reinterpret_cast(&(df_structure->histfig1_id)) - reinterpret_cast(df_structure); + p_table["entity2_id"] = reinterpret_cast(&(df_structure->entity2_id)) - reinterpret_cast(df_structure); + p_table["histfig2_id"] = reinterpret_cast(&(df_structure->histfig2_id)) - reinterpret_cast(df_structure); +} + +void generate_entity_event__T_data__T_artifact_in_site_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["artifact_id"] = reinterpret_cast(&(df_structure->artifact_id)) - reinterpret_cast(df_structure); + p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); + p_table["structure_id"] = reinterpret_cast(&(df_structure->structure_id)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_entity_event__T_data__T_artifact_in_subregion_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["artifact_id"] = reinterpret_cast(&(df_structure->artifact_id)) - reinterpret_cast(df_structure); + p_table["subregion_id"] = reinterpret_cast(&(df_structure->subregion_id)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); +} + +void generate_entity_event__T_data__T_artifact_in_feature_layer_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["artifact_id"] = reinterpret_cast(&(df_structure->artifact_id)) - reinterpret_cast(df_structure); + p_table["feature_layer_id"] = reinterpret_cast(&(df_structure->feature_layer_id)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); +} + +void generate_entity_event__T_data__T_artifact_in_inventory_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["artifact_id"] = reinterpret_cast(&(df_structure->artifact_id)) - reinterpret_cast(df_structure); + p_table["hist_figure_id"] = reinterpret_cast(&(df_structure->hist_figure_id)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); +} + +void generate_entity_event__T_data__T_artifact_not_in_site_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["artifact_id"] = reinterpret_cast(&(df_structure->artifact_id)) - reinterpret_cast(df_structure); + p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); + p_table["structure_id"] = reinterpret_cast(&(df_structure->structure_id)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_entity_event__T_data__T_artifact_not_in_subregion_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["artifact_id"] = reinterpret_cast(&(df_structure->artifact_id)) - reinterpret_cast(df_structure); + p_table["subregion_id"] = reinterpret_cast(&(df_structure->subregion_id)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); +} + +void generate_entity_event__T_data__T_artifact_not_in_feature_layer_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["artifact_id"] = reinterpret_cast(&(df_structure->artifact_id)) - reinterpret_cast(df_structure); + p_table["feature_layer_id"] = reinterpret_cast(&(df_structure->feature_layer_id)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); +} + +void generate_entity_event__T_data__T_artifact_not_in_inventory_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["artifact_id"] = reinterpret_cast(&(df_structure->artifact_id)) - reinterpret_cast(df_structure); + p_table["hist_figure_id"] = reinterpret_cast(&(df_structure->hist_figure_id)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); +} + +void generate_entity_event__T_data__T_artifact_destroyed_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["artifact_id"] = reinterpret_cast(&(df_structure->artifact_id)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); +} + +void generate_entity_event__T_data_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["invasion"] = reinterpret_cast(&(df_structure->invasion)) - reinterpret_cast(df_structure); + p_table["abduction"] = reinterpret_cast(&(df_structure->abduction)) - reinterpret_cast(df_structure); + p_table["incident"] = reinterpret_cast(&(df_structure->incident)) - reinterpret_cast(df_structure); + p_table["occupation"] = reinterpret_cast(&(df_structure->occupation)) - reinterpret_cast(df_structure); + p_table["beast"] = reinterpret_cast(&(df_structure->beast)) - reinterpret_cast(df_structure); + p_table["group"] = reinterpret_cast(&(df_structure->group)) - reinterpret_cast(df_structure); + p_table["harass"] = reinterpret_cast(&(df_structure->harass)) - reinterpret_cast(df_structure); + p_table["flee"] = reinterpret_cast(&(df_structure->flee)) - reinterpret_cast(df_structure); + p_table["abandon"] = reinterpret_cast(&(df_structure->abandon)) - reinterpret_cast(df_structure); + p_table["reclaimed"] = reinterpret_cast(&(df_structure->reclaimed)) - reinterpret_cast(df_structure); + p_table["founded"] = reinterpret_cast(&(df_structure->founded)) - reinterpret_cast(df_structure); + p_table["reclaiming"] = reinterpret_cast(&(df_structure->reclaiming)) - reinterpret_cast(df_structure); + p_table["founding"] = reinterpret_cast(&(df_structure->founding)) - reinterpret_cast(df_structure); + p_table["leave"] = reinterpret_cast(&(df_structure->leave)) - reinterpret_cast(df_structure); + p_table["insurrection"] = reinterpret_cast(&(df_structure->insurrection)) - reinterpret_cast(df_structure); + p_table["insurrection_end"] = reinterpret_cast(&(df_structure->insurrection_end)) - reinterpret_cast(df_structure); + p_table["succession"] = reinterpret_cast(&(df_structure->succession)) - reinterpret_cast(df_structure); + p_table["claim"] = reinterpret_cast(&(df_structure->claim)) - reinterpret_cast(df_structure); + p_table["accept_tribute_offer"] = reinterpret_cast(&(df_structure->accept_tribute_offer)) - reinterpret_cast(df_structure); + p_table["refuse_tribute_offer"] = reinterpret_cast(&(df_structure->refuse_tribute_offer)) - reinterpret_cast(df_structure); + p_table["accept_tribute_demand"] = reinterpret_cast(&(df_structure->accept_tribute_demand)) - reinterpret_cast(df_structure); + p_table["refuse_tribute_demand"] = reinterpret_cast(&(df_structure->refuse_tribute_demand)) - reinterpret_cast(df_structure); + p_table["accept_peace_offer"] = reinterpret_cast(&(df_structure->accept_peace_offer)) - reinterpret_cast(df_structure); + p_table["refuse_peace_offer"] = reinterpret_cast(&(df_structure->refuse_peace_offer)) - reinterpret_cast(df_structure); + p_table["cease_tribute_offer"] = reinterpret_cast(&(df_structure->cease_tribute_offer)) - reinterpret_cast(df_structure); + p_table["artifact_in_site"] = reinterpret_cast(&(df_structure->artifact_in_site)) - reinterpret_cast(df_structure); + p_table["artifact_in_subregion"] = reinterpret_cast(&(df_structure->artifact_in_subregion)) - reinterpret_cast(df_structure); + p_table["artifact_in_feature_layer"] = reinterpret_cast(&(df_structure->artifact_in_feature_layer)) - reinterpret_cast(df_structure); + p_table["artifact_in_inventory"] = reinterpret_cast(&(df_structure->artifact_in_inventory)) - reinterpret_cast(df_structure); + p_table["artifact_not_in_site"] = reinterpret_cast(&(df_structure->artifact_not_in_site)) - reinterpret_cast(df_structure); + p_table["artifact_not_in_subregion"] = reinterpret_cast(&(df_structure->artifact_not_in_subregion)) - reinterpret_cast(df_structure); + p_table["artifact_not_in_feature_layer"] = reinterpret_cast(&(df_structure->artifact_not_in_feature_layer)) - reinterpret_cast(df_structure); + p_table["artifact_not_in_inventory"] = reinterpret_cast(&(df_structure->artifact_not_in_inventory)) - reinterpret_cast(df_structure); + p_table["artifact_destroyed"] = reinterpret_cast(&(df_structure->artifact_destroyed)) - reinterpret_cast(df_structure); +} + +void generate_entity_event_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["data"] = reinterpret_cast(&(df_structure->data)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["year"] = reinterpret_cast(&(df_structure->year)) - reinterpret_cast(df_structure); + p_table["year_tick"] = reinterpret_cast(&(df_structure->year_tick)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); +} + +void generate_agreement__T_parties__T_anon_1_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); +} + +void generate_agreement__T_parties_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["histfig_ids"] = reinterpret_cast(&(df_structure->histfig_ids)) - reinterpret_cast(df_structure); + p_table["entity_ids"] = reinterpret_cast(&(df_structure->entity_ids)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_agreement__T_details__T_data__T_data0_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); +} + +void generate_agreement__T_details__T_data__T_data1_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["reason"] = reinterpret_cast(&(df_structure->reason)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["artifact"] = reinterpret_cast(&(df_structure->artifact)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); +} + +void generate_agreement__T_details__T_data_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["data0"] = reinterpret_cast(&(df_structure->data0)) - reinterpret_cast(df_structure); + p_table["data1"] = reinterpret_cast(&(df_structure->data1)) - reinterpret_cast(df_structure); +} + +void generate_agreement__T_details_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["year"] = reinterpret_cast(&(df_structure->year)) - reinterpret_cast(df_structure); + p_table["year_tick"] = reinterpret_cast(&(df_structure->year_tick)) - reinterpret_cast(df_structure); + p_table["data"] = reinterpret_cast(&(df_structure->data)) - reinterpret_cast(df_structure); + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); +} + +void generate_agreement_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["parties"] = reinterpret_cast(&(df_structure->parties)) - reinterpret_cast(df_structure); + p_table["next_party_id"] = reinterpret_cast(&(df_structure->next_party_id)) - reinterpret_cast(df_structure); + p_table["details"] = reinterpret_cast(&(df_structure->details)) - reinterpret_cast(df_structure); + p_table["next_details_id"] = reinterpret_cast(&(df_structure->next_details_id)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); +} + +void generate_entity_position_raw_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["code"] = reinterpret_cast(&(df_structure->code)) - reinterpret_cast(df_structure); + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["allowed_creature_str"] = reinterpret_cast(&(df_structure->allowed_creature_str)) - reinterpret_cast(df_structure); + p_table["allowed_creature"] = reinterpret_cast(&(df_structure->allowed_creature)) - reinterpret_cast(df_structure); + p_table["allowed_class"] = reinterpret_cast(&(df_structure->allowed_class)) - reinterpret_cast(df_structure); + p_table["rejected_creature_str"] = reinterpret_cast(&(df_structure->rejected_creature_str)) - reinterpret_cast(df_structure); + p_table["rejected_creature"] = reinterpret_cast(&(df_structure->rejected_creature)) - reinterpret_cast(df_structure); + p_table["rejected_class"] = reinterpret_cast(&(df_structure->rejected_class)) - reinterpret_cast(df_structure); + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["name_female"] = reinterpret_cast(&(df_structure->name_female)) - reinterpret_cast(df_structure); + p_table["name_male"] = reinterpret_cast(&(df_structure->name_male)) - reinterpret_cast(df_structure); + p_table["spouse"] = reinterpret_cast(&(df_structure->spouse)) - reinterpret_cast(df_structure); + p_table["spouse_female"] = reinterpret_cast(&(df_structure->spouse_female)) - reinterpret_cast(df_structure); + p_table["spouse_male"] = reinterpret_cast(&(df_structure->spouse_male)) - reinterpret_cast(df_structure); + p_table["squad"] = reinterpret_cast(&(df_structure->squad)) - reinterpret_cast(df_structure); + p_table["land_name"] = reinterpret_cast(&(df_structure->land_name)) - reinterpret_cast(df_structure); + p_table["squad_size"] = reinterpret_cast(&(df_structure->squad_size)) - reinterpret_cast(df_structure); + p_table["commander_str"] = reinterpret_cast(&(df_structure->commander_str)) - reinterpret_cast(df_structure); + p_table["commander_id"] = reinterpret_cast(&(df_structure->commander_id)) - reinterpret_cast(df_structure); + p_table["commander_types"] = reinterpret_cast(&(df_structure->commander_types)) - reinterpret_cast(df_structure); + p_table["land_holder"] = reinterpret_cast(&(df_structure->land_holder)) - reinterpret_cast(df_structure); + p_table["number"] = reinterpret_cast(&(df_structure->number)) - reinterpret_cast(df_structure); + p_table["requires_population"] = reinterpret_cast(&(df_structure->requires_population)) - reinterpret_cast(df_structure); + p_table["execution_skill"] = reinterpret_cast(&(df_structure->execution_skill)) - reinterpret_cast(df_structure); + p_table["precedence"] = reinterpret_cast(&(df_structure->precedence)) - reinterpret_cast(df_structure); + p_table["replaced_by_str"] = reinterpret_cast(&(df_structure->replaced_by_str)) - reinterpret_cast(df_structure); + p_table["replaced_by"] = reinterpret_cast(&(df_structure->replaced_by)) - reinterpret_cast(df_structure); + p_table["appointed_by_str"] = reinterpret_cast(&(df_structure->appointed_by_str)) - reinterpret_cast(df_structure); + p_table["appointed_by"] = reinterpret_cast(&(df_structure->appointed_by)) - reinterpret_cast(df_structure); + p_table["succession_by_position_str"] = reinterpret_cast(&(df_structure->succession_by_position_str)) - reinterpret_cast(df_structure); + p_table["succession_by_position"] = reinterpret_cast(&(df_structure->succession_by_position)) - reinterpret_cast(df_structure); + p_table["responsibilities"] = reinterpret_cast(&(df_structure->responsibilities)) - reinterpret_cast(df_structure); + p_table["color"] = reinterpret_cast(&(df_structure->color)) - reinterpret_cast(df_structure); + p_table["required_boxes"] = reinterpret_cast(&(df_structure->required_boxes)) - reinterpret_cast(df_structure); + p_table["required_cabinets"] = reinterpret_cast(&(df_structure->required_cabinets)) - reinterpret_cast(df_structure); + p_table["required_racks"] = reinterpret_cast(&(df_structure->required_racks)) - reinterpret_cast(df_structure); + p_table["required_stands"] = reinterpret_cast(&(df_structure->required_stands)) - reinterpret_cast(df_structure); + p_table["required_office"] = reinterpret_cast(&(df_structure->required_office)) - reinterpret_cast(df_structure); + p_table["required_bedroom"] = reinterpret_cast(&(df_structure->required_bedroom)) - reinterpret_cast(df_structure); + p_table["required_dining"] = reinterpret_cast(&(df_structure->required_dining)) - reinterpret_cast(df_structure); + p_table["required_tomb"] = reinterpret_cast(&(df_structure->required_tomb)) - reinterpret_cast(df_structure); + p_table["mandate_max"] = reinterpret_cast(&(df_structure->mandate_max)) - reinterpret_cast(df_structure); + p_table["demand_max"] = reinterpret_cast(&(df_structure->demand_max)) - reinterpret_cast(df_structure); +} + +void generate_graphic_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["screenx"] = reinterpret_cast(&(df_structure->screenx)) - reinterpret_cast(df_structure); + p_table["screeny"] = reinterpret_cast(&(df_structure->screeny)) - reinterpret_cast(df_structure); + p_table["screenf"] = reinterpret_cast(&(df_structure->screenf)) - reinterpret_cast(df_structure); + p_table["screenb"] = reinterpret_cast(&(df_structure->screenb)) - reinterpret_cast(df_structure); + p_table["screenbright"] = reinterpret_cast(&(df_structure->screenbright)) - reinterpret_cast(df_structure); + p_table["screen"] = reinterpret_cast(&(df_structure->screen)) - reinterpret_cast(df_structure); + p_table["screentexpos"] = reinterpret_cast(&(df_structure->screentexpos)) - reinterpret_cast(df_structure); + p_table["screentexpos_addcolor"] = reinterpret_cast(&(df_structure->screentexpos_addcolor)) - reinterpret_cast(df_structure); + p_table["screentexpos_grayscale"] = reinterpret_cast(&(df_structure->screentexpos_grayscale)) - reinterpret_cast(df_structure); + p_table["screentexpos_cf"] = reinterpret_cast(&(df_structure->screentexpos_cf)) - reinterpret_cast(df_structure); + p_table["screentexpos_cbr"] = reinterpret_cast(&(df_structure->screentexpos_cbr)) - reinterpret_cast(df_structure); + p_table["clipx"] = reinterpret_cast(&(df_structure->clipx)) - reinterpret_cast(df_structure); + p_table["clipy"] = reinterpret_cast(&(df_structure->clipy)) - reinterpret_cast(df_structure); + p_table["tex_pos"] = reinterpret_cast(&(df_structure->tex_pos)) - reinterpret_cast(df_structure); + p_table["rect_id"] = reinterpret_cast(&(df_structure->rect_id)) - reinterpret_cast(df_structure); + p_table["print_time"] = reinterpret_cast(&(df_structure->print_time)) - reinterpret_cast(df_structure); + p_table["print_index"] = reinterpret_cast(&(df_structure->print_index)) - reinterpret_cast(df_structure); + p_table["display_frames"] = reinterpret_cast(&(df_structure->display_frames)) - reinterpret_cast(df_structure); + p_table["force_full_display_count"] = reinterpret_cast(&(df_structure->force_full_display_count)) - reinterpret_cast(df_structure); + p_table["original_rect"] = reinterpret_cast(&(df_structure->original_rect)) - reinterpret_cast(df_structure); + p_table["dimx"] = reinterpret_cast(&(df_structure->dimx)) - reinterpret_cast(df_structure); + p_table["dimy"] = reinterpret_cast(&(df_structure->dimy)) - reinterpret_cast(df_structure); + p_table["mouse_x"] = reinterpret_cast(&(df_structure->mouse_x)) - reinterpret_cast(df_structure); + p_table["mouse_y"] = reinterpret_cast(&(df_structure->mouse_y)) - reinterpret_cast(df_structure); + p_table["screen_limit"] = reinterpret_cast(&(df_structure->screen_limit)) - reinterpret_cast(df_structure); +} + +void generate_historical_kills_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["events"] = reinterpret_cast(&(df_structure->events)) - reinterpret_cast(df_structure); + p_table["killed_race"] = reinterpret_cast(&(df_structure->killed_race)) - reinterpret_cast(df_structure); + p_table["killed_caste"] = reinterpret_cast(&(df_structure->killed_caste)) - reinterpret_cast(df_structure); + p_table["killed_underground_region"] = reinterpret_cast(&(df_structure->killed_underground_region)) - reinterpret_cast(df_structure); + p_table["killed_region"] = reinterpret_cast(&(df_structure->killed_region)) - reinterpret_cast(df_structure); + p_table["killed_site"] = reinterpret_cast(&(df_structure->killed_site)) - reinterpret_cast(df_structure); + p_table["killed_undead"] = reinterpret_cast(&(df_structure->killed_undead)) - reinterpret_cast(df_structure); + p_table["killed_count"] = reinterpret_cast(&(df_structure->killed_count)) - reinterpret_cast(df_structure); +} + +void generate_history_hit_item_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["item"] = reinterpret_cast(&(df_structure->item)) - reinterpret_cast(df_structure); + p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); + p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); + p_table["mattype"] = reinterpret_cast(&(df_structure->mattype)) - reinterpret_cast(df_structure); + p_table["matindex"] = reinterpret_cast(&(df_structure->matindex)) - reinterpret_cast(df_structure); + p_table["shooter_item"] = reinterpret_cast(&(df_structure->shooter_item)) - reinterpret_cast(df_structure); + p_table["shooter_item_type"] = reinterpret_cast(&(df_structure->shooter_item_type)) - reinterpret_cast(df_structure); + p_table["shooter_item_subtype"] = reinterpret_cast(&(df_structure->shooter_item_subtype)) - reinterpret_cast(df_structure); + p_table["shooter_mattype"] = reinterpret_cast(&(df_structure->shooter_mattype)) - reinterpret_cast(df_structure); + p_table["shooter_matindex"] = reinterpret_cast(&(df_structure->shooter_matindex)) - reinterpret_cast(df_structure); +} + +void generate_history_event_hist_figure_diedst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["victim_hf"] = reinterpret_cast(&(df_structure->victim_hf)) - reinterpret_cast(df_structure); + p_table["slayer_hf"] = reinterpret_cast(&(df_structure->slayer_hf)) - reinterpret_cast(df_structure); + p_table["slayer_race"] = reinterpret_cast(&(df_structure->slayer_race)) - reinterpret_cast(df_structure); + p_table["slayer_caste"] = reinterpret_cast(&(df_structure->slayer_caste)) - reinterpret_cast(df_structure); + p_table["weapon"] = reinterpret_cast(&(df_structure->weapon)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["subregion"] = reinterpret_cast(&(df_structure->subregion)) - reinterpret_cast(df_structure); + p_table["feature_layer"] = reinterpret_cast(&(df_structure->feature_layer)) - reinterpret_cast(df_structure); + p_table["death_cause"] = reinterpret_cast(&(df_structure->death_cause)) - reinterpret_cast(df_structure); +} + +void generate_history_event_add_hf_entity_linkst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["civ"] = reinterpret_cast(&(df_structure->civ)) - reinterpret_cast(df_structure); + p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); + p_table["link_type"] = reinterpret_cast(&(df_structure->link_type)) - reinterpret_cast(df_structure); + p_table["position_id"] = reinterpret_cast(&(df_structure->position_id)) - reinterpret_cast(df_structure); +} + +void generate_history_event_remove_hf_entity_linkst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["civ"] = reinterpret_cast(&(df_structure->civ)) - reinterpret_cast(df_structure); + p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); + p_table["link_type"] = reinterpret_cast(&(df_structure->link_type)) - reinterpret_cast(df_structure); + p_table["position_id"] = reinterpret_cast(&(df_structure->position_id)) - reinterpret_cast(df_structure); +} + +void generate_history_event_topicagreement_concludedst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["source"] = reinterpret_cast(&(df_structure->source)) - reinterpret_cast(df_structure); + p_table["destination"] = reinterpret_cast(&(df_structure->destination)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["topic"] = reinterpret_cast(&(df_structure->topic)) - reinterpret_cast(df_structure); + p_table["result"] = reinterpret_cast(&(df_structure->result)) - reinterpret_cast(df_structure); +} + +void generate_history_event_topicagreement_rejectedst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["topic"] = reinterpret_cast(&(df_structure->topic)) - reinterpret_cast(df_structure); + p_table["source"] = reinterpret_cast(&(df_structure->source)) - reinterpret_cast(df_structure); + p_table["destination"] = reinterpret_cast(&(df_structure->destination)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); +} + +void generate_history_event_topicagreement_madest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["topic"] = reinterpret_cast(&(df_structure->topic)) - reinterpret_cast(df_structure); + p_table["source"] = reinterpret_cast(&(df_structure->source)) - reinterpret_cast(df_structure); + p_table["destination"] = reinterpret_cast(&(df_structure->destination)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); +} + +void generate_history_event_war_peace_acceptedst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["topic"] = reinterpret_cast(&(df_structure->topic)) - reinterpret_cast(df_structure); + p_table["source"] = reinterpret_cast(&(df_structure->source)) - reinterpret_cast(df_structure); + p_table["destination"] = reinterpret_cast(&(df_structure->destination)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); +} + +void generate_history_event_war_peace_rejectedst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["topic"] = reinterpret_cast(&(df_structure->topic)) - reinterpret_cast(df_structure); + p_table["source"] = reinterpret_cast(&(df_structure->source)) - reinterpret_cast(df_structure); + p_table["destination"] = reinterpret_cast(&(df_structure->destination)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); +} + +void generate_history_event_artifact_possessedst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["artifact"] = reinterpret_cast(&(df_structure->artifact)) - reinterpret_cast(df_structure); + p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); + p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["circumstance"] = reinterpret_cast(&(df_structure->circumstance)) - reinterpret_cast(df_structure); + p_table["circumstance_id"] = reinterpret_cast(&(df_structure->circumstance_id)) - reinterpret_cast(df_structure); + p_table["reason"] = reinterpret_cast(&(df_structure->reason)) - reinterpret_cast(df_structure); + p_table["reason_id"] = reinterpret_cast(&(df_structure->reason_id)) - reinterpret_cast(df_structure); +} + +void generate_history_event_entity_actionst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["entity"] = reinterpret_cast(&(df_structure->entity)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["structure"] = reinterpret_cast(&(df_structure->structure)) - reinterpret_cast(df_structure); + p_table["action"] = reinterpret_cast(&(df_structure->action)) - reinterpret_cast(df_structure); +} + +void generate_history_event_add_hf_site_linkst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["structure"] = reinterpret_cast(&(df_structure->structure)) - reinterpret_cast(df_structure); + p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); + p_table["civ"] = reinterpret_cast(&(df_structure->civ)) - reinterpret_cast(df_structure); + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); +} + +void generate_history_event_remove_hf_site_linkst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["structure"] = reinterpret_cast(&(df_structure->structure)) - reinterpret_cast(df_structure); + p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); + p_table["civ"] = reinterpret_cast(&(df_structure->civ)) - reinterpret_cast(df_structure); + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); +} + +void generate_history_event_add_hf_hf_linkst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["hf"] = reinterpret_cast(&(df_structure->hf)) - reinterpret_cast(df_structure); + p_table["hf_target"] = reinterpret_cast(&(df_structure->hf_target)) - reinterpret_cast(df_structure); + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); +} + +void generate_history_event_remove_hf_hf_linkst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["hf"] = reinterpret_cast(&(df_structure->hf)) - reinterpret_cast(df_structure); + p_table["hf_target"] = reinterpret_cast(&(df_structure->hf_target)) - reinterpret_cast(df_structure); + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); +} + +void generate_history_event_masterpiece_created_itemst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["skill_used"] = reinterpret_cast(&(df_structure->skill_used)) - reinterpret_cast(df_structure); + p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); + p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["item_id"] = reinterpret_cast(&(df_structure->item_id)) - reinterpret_cast(df_structure); +} + +void generate_history_event_masterpiece_created_dye_itemst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); + p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["dye_mat_type"] = reinterpret_cast(&(df_structure->dye_mat_type)) - reinterpret_cast(df_structure); + p_table["dye_mat_index"] = reinterpret_cast(&(df_structure->dye_mat_index)) - reinterpret_cast(df_structure); +} + +void generate_history_event_masterpiece_created_item_improvementst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); + p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["improvement_type"] = reinterpret_cast(&(df_structure->improvement_type)) - reinterpret_cast(df_structure); + p_table["improvement_subtype"] = reinterpret_cast(&(df_structure->improvement_subtype)) - reinterpret_cast(df_structure); + p_table["imp_mat_type"] = reinterpret_cast(&(df_structure->imp_mat_type)) - reinterpret_cast(df_structure); + p_table["imp_mat_index"] = reinterpret_cast(&(df_structure->imp_mat_index)) - reinterpret_cast(df_structure); + p_table["art_id"] = reinterpret_cast(&(df_structure->art_id)) - reinterpret_cast(df_structure); + p_table["art_subid"] = reinterpret_cast(&(df_structure->art_subid)) - reinterpret_cast(df_structure); +} + +void generate_history_event_masterpiece_created_engravingst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["skill_rating"] = reinterpret_cast(&(df_structure->skill_rating)) - reinterpret_cast(df_structure); + p_table["art_id"] = reinterpret_cast(&(df_structure->art_id)) - reinterpret_cast(df_structure); + p_table["art_subid"] = reinterpret_cast(&(df_structure->art_subid)) - reinterpret_cast(df_structure); +} + +void generate_history_event_masterpiece_lostst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["creation_event"] = reinterpret_cast(&(df_structure->creation_event)) - reinterpret_cast(df_structure); + p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["method"] = reinterpret_cast(&(df_structure->method)) - reinterpret_cast(df_structure); +} + +void generate_history_event_change_hf_statest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["hfid"] = reinterpret_cast(&(df_structure->hfid)) - reinterpret_cast(df_structure); + p_table["state"] = reinterpret_cast(&(df_structure->state)) - reinterpret_cast(df_structure); + p_table["reason"] = reinterpret_cast(&(df_structure->reason)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); + p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); + p_table["region_pos"] = reinterpret_cast(&(df_structure->region_pos)) - reinterpret_cast(df_structure); +} + +void generate_history_event_change_hf_jobst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["hfid"] = reinterpret_cast(&(df_structure->hfid)) - reinterpret_cast(df_structure); + p_table["new_job"] = reinterpret_cast(&(df_structure->new_job)) - reinterpret_cast(df_structure); + p_table["old_job"] = reinterpret_cast(&(df_structure->old_job)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); + p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); +} + +void generate_history_event_war_field_battlest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["attacker_civ"] = reinterpret_cast(&(df_structure->attacker_civ)) - reinterpret_cast(df_structure); + p_table["defender_civ"] = reinterpret_cast(&(df_structure->defender_civ)) - reinterpret_cast(df_structure); + p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); + p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); + p_table["region_pos"] = reinterpret_cast(&(df_structure->region_pos)) - reinterpret_cast(df_structure); + p_table["attacker_general_hf"] = reinterpret_cast(&(df_structure->attacker_general_hf)) - reinterpret_cast(df_structure); + p_table["defender_general_hf"] = reinterpret_cast(&(df_structure->defender_general_hf)) - reinterpret_cast(df_structure); +} + +void generate_history_event_body_abusedst__T_props__T_item_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); + p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); +} + +void generate_history_event_body_abusedst__T_props__T_hung_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["tree"] = reinterpret_cast(&(df_structure->tree)) - reinterpret_cast(df_structure); + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); +} + +void generate_history_event_body_abusedst__T_props_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["item"] = reinterpret_cast(&(df_structure->item)) - reinterpret_cast(df_structure); + p_table["structure"] = reinterpret_cast(&(df_structure->structure)) - reinterpret_cast(df_structure); + p_table["pile_type"] = reinterpret_cast(&(df_structure->pile_type)) - reinterpret_cast(df_structure); + p_table["hung"] = reinterpret_cast(&(df_structure->hung)) - reinterpret_cast(df_structure); +} + +void generate_history_event_body_abusedst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["bodies"] = reinterpret_cast(&(df_structure->bodies)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["civ"] = reinterpret_cast(&(df_structure->civ)) - reinterpret_cast(df_structure); + p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); + p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); + p_table["region_pos"] = reinterpret_cast(&(df_structure->region_pos)) - reinterpret_cast(df_structure); + p_table["abuse_type"] = reinterpret_cast(&(df_structure->abuse_type)) - reinterpret_cast(df_structure); + p_table["props"] = reinterpret_cast(&(df_structure->props)) - reinterpret_cast(df_structure); +} + +void generate_history_event_item_stolenst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); + p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); + p_table["mattype"] = reinterpret_cast(&(df_structure->mattype)) - reinterpret_cast(df_structure); + p_table["matindex"] = reinterpret_cast(&(df_structure->matindex)) - reinterpret_cast(df_structure); + p_table["item"] = reinterpret_cast(&(df_structure->item)) - reinterpret_cast(df_structure); + p_table["entity"] = reinterpret_cast(&(df_structure->entity)) - reinterpret_cast(df_structure); + p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["structure"] = reinterpret_cast(&(df_structure->structure)) - reinterpret_cast(df_structure); + p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); + p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); + p_table["region_pos"] = reinterpret_cast(&(df_structure->region_pos)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["circumstance"] = reinterpret_cast(&(df_structure->circumstance)) - reinterpret_cast(df_structure); + p_table["circumstance_id"] = reinterpret_cast(&(df_structure->circumstance_id)) - reinterpret_cast(df_structure); + p_table["reason"] = reinterpret_cast(&(df_structure->reason)) - reinterpret_cast(df_structure); + p_table["reason_id"] = reinterpret_cast(&(df_structure->reason_id)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); +} + +void generate_history_event_hist_figure_simple_battle_eventst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["group1"] = reinterpret_cast(&(df_structure->group1)) - reinterpret_cast(df_structure); + p_table["group2"] = reinterpret_cast(&(df_structure->group2)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); + p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); + p_table["subtype"] = reinterpret_cast(&(df_structure->subtype)) - reinterpret_cast(df_structure); +} + +void generate_history_event_hist_figure_reach_summitst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["group"] = reinterpret_cast(&(df_structure->group)) - reinterpret_cast(df_structure); + p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); + p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); + p_table["region_pos"] = reinterpret_cast(&(df_structure->region_pos)) - reinterpret_cast(df_structure); +} + +void generate_history_event_hist_figure_travelst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["group"] = reinterpret_cast(&(df_structure->group)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); + p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); + p_table["reason"] = reinterpret_cast(&(df_structure->reason)) - reinterpret_cast(df_structure); + p_table["region_pos"] = reinterpret_cast(&(df_structure->region_pos)) - reinterpret_cast(df_structure); +} + +void generate_history_event_hist_figure_new_petst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["group"] = reinterpret_cast(&(df_structure->group)) - reinterpret_cast(df_structure); + p_table["pets"] = reinterpret_cast(&(df_structure->pets)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); + p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); + p_table["region_pos"] = reinterpret_cast(&(df_structure->region_pos)) - reinterpret_cast(df_structure); +} + +void generate_history_event_hist_figure_revivedst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); + p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); + p_table["ghost_type"] = reinterpret_cast(&(df_structure->ghost_type)) - reinterpret_cast(df_structure); + p_table["flags2"] = reinterpret_cast(&(df_structure->flags2)) - reinterpret_cast(df_structure); +} + +void generate_history_event_change_hf_body_statest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); + p_table["body_state"] = reinterpret_cast(&(df_structure->body_state)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["structure"] = reinterpret_cast(&(df_structure->structure)) - reinterpret_cast(df_structure); + p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); + p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); + p_table["region_pos"] = reinterpret_cast(&(df_structure->region_pos)) - reinterpret_cast(df_structure); +} + +void generate_history_event_hf_confrontedst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["target"] = reinterpret_cast(&(df_structure->target)) - reinterpret_cast(df_structure); + p_table["accuser"] = reinterpret_cast(&(df_structure->accuser)) - reinterpret_cast(df_structure); + p_table["reasons"] = reinterpret_cast(&(df_structure->reasons)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); + p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); + p_table["region_pos"] = reinterpret_cast(&(df_structure->region_pos)) - reinterpret_cast(df_structure); +} + +void generate_history_event_hf_gains_secret_goalst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); + p_table["goal"] = reinterpret_cast(&(df_structure->goal)) - reinterpret_cast(df_structure); +} + +void generate_history_event_site_disputest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["dispute_type"] = reinterpret_cast(&(df_structure->dispute_type)) - reinterpret_cast(df_structure); + p_table["entity_1"] = reinterpret_cast(&(df_structure->entity_1)) - reinterpret_cast(df_structure); + p_table["entity_2"] = reinterpret_cast(&(df_structure->entity_2)) - reinterpret_cast(df_structure); + p_table["site_1"] = reinterpret_cast(&(df_structure->site_1)) - reinterpret_cast(df_structure); + p_table["site_2"] = reinterpret_cast(&(df_structure->site_2)) - reinterpret_cast(df_structure); +} + +void generate_history_event_agreement_concludedst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["agreement_id"] = reinterpret_cast(&(df_structure->agreement_id)) - reinterpret_cast(df_structure); + p_table["subject_id"] = reinterpret_cast(&(df_structure->subject_id)) - reinterpret_cast(df_structure); + p_table["reason"] = reinterpret_cast(&(df_structure->reason)) - reinterpret_cast(df_structure); + p_table["concluder_hf"] = reinterpret_cast(&(df_structure->concluder_hf)) - reinterpret_cast(df_structure); +} + +void generate_history_event_insurrection_endedst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["target_civ"] = reinterpret_cast(&(df_structure->target_civ)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["outcome"] = reinterpret_cast(&(df_structure->outcome)) - reinterpret_cast(df_structure); +} + +void generate_history_event_hf_relationship_deniedst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["seeker_hf"] = reinterpret_cast(&(df_structure->seeker_hf)) - reinterpret_cast(df_structure); + p_table["target_hf"] = reinterpret_cast(&(df_structure->target_hf)) - reinterpret_cast(df_structure); + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["reason"] = reinterpret_cast(&(df_structure->reason)) - reinterpret_cast(df_structure); + p_table["reason_id"] = reinterpret_cast(&(df_structure->reason_id)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); + p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); +} + +void generate_history_event_poetic_form_createdst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); + p_table["form"] = reinterpret_cast(&(df_structure->form)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); + p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); + p_table["circumstance"] = reinterpret_cast(&(df_structure->circumstance)) - reinterpret_cast(df_structure); + p_table["circumstance_id"] = reinterpret_cast(&(df_structure->circumstance_id)) - reinterpret_cast(df_structure); + p_table["reason"] = reinterpret_cast(&(df_structure->reason)) - reinterpret_cast(df_structure); + p_table["reason_id"] = reinterpret_cast(&(df_structure->reason_id)) - reinterpret_cast(df_structure); +} + +void generate_history_event_musical_form_createdst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); + p_table["form"] = reinterpret_cast(&(df_structure->form)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); + p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); + p_table["circumstance"] = reinterpret_cast(&(df_structure->circumstance)) - reinterpret_cast(df_structure); + p_table["circumstance_id"] = reinterpret_cast(&(df_structure->circumstance_id)) - reinterpret_cast(df_structure); + p_table["reason"] = reinterpret_cast(&(df_structure->reason)) - reinterpret_cast(df_structure); + p_table["reason_id"] = reinterpret_cast(&(df_structure->reason_id)) - reinterpret_cast(df_structure); +} + +void generate_history_event_dance_form_createdst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); + p_table["form"] = reinterpret_cast(&(df_structure->form)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); + p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); + p_table["circumstance"] = reinterpret_cast(&(df_structure->circumstance)) - reinterpret_cast(df_structure); + p_table["circumstance_id"] = reinterpret_cast(&(df_structure->circumstance_id)) - reinterpret_cast(df_structure); + p_table["reason"] = reinterpret_cast(&(df_structure->reason)) - reinterpret_cast(df_structure); + p_table["reason_id"] = reinterpret_cast(&(df_structure->reason_id)) - reinterpret_cast(df_structure); +} + +void generate_history_event_written_content_composedst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); + p_table["content"] = reinterpret_cast(&(df_structure->content)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); + p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); + p_table["circumstance"] = reinterpret_cast(&(df_structure->circumstance)) - reinterpret_cast(df_structure); + p_table["circumstance_id"] = reinterpret_cast(&(df_structure->circumstance_id)) - reinterpret_cast(df_structure); + p_table["reason"] = reinterpret_cast(&(df_structure->reason)) - reinterpret_cast(df_structure); + p_table["reason_id"] = reinterpret_cast(&(df_structure->reason_id)) - reinterpret_cast(df_structure); +} + +void generate_history_event_change_hf_moodst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); + p_table["mood"] = reinterpret_cast(&(df_structure->mood)) - reinterpret_cast(df_structure); + p_table["reason"] = reinterpret_cast(&(df_structure->reason)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); + p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); + p_table["region_pos"] = reinterpret_cast(&(df_structure->region_pos)) - reinterpret_cast(df_structure); +} + +void generate_history_event_artifact_claim_formedst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["artifact"] = reinterpret_cast(&(df_structure->artifact)) - reinterpret_cast(df_structure); + p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); + p_table["entity"] = reinterpret_cast(&(df_structure->entity)) - reinterpret_cast(df_structure); + p_table["position_profile"] = reinterpret_cast(&(df_structure->position_profile)) - reinterpret_cast(df_structure); + p_table["claim_type"] = reinterpret_cast(&(df_structure->claim_type)) - reinterpret_cast(df_structure); + p_table["circumstance"] = reinterpret_cast(&(df_structure->circumstance)) - reinterpret_cast(df_structure); + p_table["circumstance_id"] = reinterpret_cast(&(df_structure->circumstance_id)) - reinterpret_cast(df_structure); + p_table["reason"] = reinterpret_cast(&(df_structure->reason)) - reinterpret_cast(df_structure); + p_table["reason_id"] = reinterpret_cast(&(df_structure->reason_id)) - reinterpret_cast(df_structure); +} + +void generate_history_event_artifact_givenst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["artifact"] = reinterpret_cast(&(df_structure->artifact)) - reinterpret_cast(df_structure); + p_table["giver_hf"] = reinterpret_cast(&(df_structure->giver_hf)) - reinterpret_cast(df_structure); + p_table["giver_entity"] = reinterpret_cast(&(df_structure->giver_entity)) - reinterpret_cast(df_structure); + p_table["receiver_hf"] = reinterpret_cast(&(df_structure->receiver_hf)) - reinterpret_cast(df_structure); + p_table["receiver_entity"] = reinterpret_cast(&(df_structure->receiver_entity)) - reinterpret_cast(df_structure); + p_table["circumstance"] = reinterpret_cast(&(df_structure->circumstance)) - reinterpret_cast(df_structure); + p_table["circumstance_id"] = reinterpret_cast(&(df_structure->circumstance_id)) - reinterpret_cast(df_structure); + p_table["reason"] = reinterpret_cast(&(df_structure->reason)) - reinterpret_cast(df_structure); + p_table["reason_id"] = reinterpret_cast(&(df_structure->reason_id)) - reinterpret_cast(df_structure); +} + +void generate_history_event_hf_recruited_unit_type_for_entityst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["entity"] = reinterpret_cast(&(df_structure->entity)) - reinterpret_cast(df_structure); + p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); + p_table["profession"] = reinterpret_cast(&(df_structure->profession)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); + p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); +} + +void generate_history_event_hfs_formed_reputation_relationshipst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["histfig1"] = reinterpret_cast(&(df_structure->histfig1)) - reinterpret_cast(df_structure); + p_table["identity1"] = reinterpret_cast(&(df_structure->identity1)) - reinterpret_cast(df_structure); + p_table["histfig2"] = reinterpret_cast(&(df_structure->histfig2)) - reinterpret_cast(df_structure); + p_table["identity2"] = reinterpret_cast(&(df_structure->identity2)) - reinterpret_cast(df_structure); + p_table["rep1"] = reinterpret_cast(&(df_structure->rep1)) - reinterpret_cast(df_structure); + p_table["rep2"] = reinterpret_cast(&(df_structure->rep2)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); + p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); +} + +void generate_history_event_tactical_situationst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["a_tactician_hfid"] = reinterpret_cast(&(df_structure->a_tactician_hfid)) - reinterpret_cast(df_structure); + p_table["d_tactician_hfid"] = reinterpret_cast(&(df_structure->d_tactician_hfid)) - reinterpret_cast(df_structure); + p_table["a_tactics_roll"] = reinterpret_cast(&(df_structure->a_tactics_roll)) - reinterpret_cast(df_structure); + p_table["d_tactics_roll"] = reinterpret_cast(&(df_structure->d_tactics_roll)) - reinterpret_cast(df_structure); + p_table["situation"] = reinterpret_cast(&(df_structure->situation)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["structure"] = reinterpret_cast(&(df_structure->structure)) - reinterpret_cast(df_structure); + p_table["subregion"] = reinterpret_cast(&(df_structure->subregion)) - reinterpret_cast(df_structure); + p_table["feature_layer"] = reinterpret_cast(&(df_structure->feature_layer)) - reinterpret_cast(df_structure); + p_table["tactics_flags"] = reinterpret_cast(&(df_structure->tactics_flags)) - reinterpret_cast(df_structure); +} + +void generate_history_event_collection_duelst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["parent_collection"] = reinterpret_cast(&(df_structure->parent_collection)) - reinterpret_cast(df_structure); + p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); + p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["region_pos"] = reinterpret_cast(&(df_structure->region_pos)) - reinterpret_cast(df_structure); + p_table["attacker_hf"] = reinterpret_cast(&(df_structure->attacker_hf)) - reinterpret_cast(df_structure); + p_table["defender_hf"] = reinterpret_cast(&(df_structure->defender_hf)) - reinterpret_cast(df_structure); + p_table["ordinal"] = reinterpret_cast(&(df_structure->ordinal)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_history_event_collection_abductionst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["parent_collection"] = reinterpret_cast(&(df_structure->parent_collection)) - reinterpret_cast(df_structure); + p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); + p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["region_pos"] = reinterpret_cast(&(df_structure->region_pos)) - reinterpret_cast(df_structure); + p_table["attacker_civ"] = reinterpret_cast(&(df_structure->attacker_civ)) - reinterpret_cast(df_structure); + p_table["defender_civ"] = reinterpret_cast(&(df_structure->defender_civ)) - reinterpret_cast(df_structure); + p_table["snatcher_hf"] = reinterpret_cast(&(df_structure->snatcher_hf)) - reinterpret_cast(df_structure); + p_table["victim_hf"] = reinterpret_cast(&(df_structure->victim_hf)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["ordinal"] = reinterpret_cast(&(df_structure->ordinal)) - reinterpret_cast(df_structure); +} + +void generate_history_event_collection_theftst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["parent_collection"] = reinterpret_cast(&(df_structure->parent_collection)) - reinterpret_cast(df_structure); + p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); + p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["region_pos"] = reinterpret_cast(&(df_structure->region_pos)) - reinterpret_cast(df_structure); + p_table["thief_civ"] = reinterpret_cast(&(df_structure->thief_civ)) - reinterpret_cast(df_structure); + p_table["victim_civ"] = reinterpret_cast(&(df_structure->victim_civ)) - reinterpret_cast(df_structure); + p_table["thief_hf"] = reinterpret_cast(&(df_structure->thief_hf)) - reinterpret_cast(df_structure); + p_table["stolen_item_types"] = reinterpret_cast(&(df_structure->stolen_item_types)) - reinterpret_cast(df_structure); + p_table["stolen_item_subtypes"] = reinterpret_cast(&(df_structure->stolen_item_subtypes)) - reinterpret_cast(df_structure); + p_table["stolen_mat_types"] = reinterpret_cast(&(df_structure->stolen_mat_types)) - reinterpret_cast(df_structure); + p_table["stolen_mat_indices"] = reinterpret_cast(&(df_structure->stolen_mat_indices)) - reinterpret_cast(df_structure); + p_table["stolen_item_ids"] = reinterpret_cast(&(df_structure->stolen_item_ids)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); + p_table["ordinal"] = reinterpret_cast(&(df_structure->ordinal)) - reinterpret_cast(df_structure); +} + +void generate_history_event_collection_beast_attackst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["parent_collection"] = reinterpret_cast(&(df_structure->parent_collection)) - reinterpret_cast(df_structure); + p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); + p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["region_pos"] = reinterpret_cast(&(df_structure->region_pos)) - reinterpret_cast(df_structure); + p_table["defender_civ"] = reinterpret_cast(&(df_structure->defender_civ)) - reinterpret_cast(df_structure); + p_table["attacker_hf"] = reinterpret_cast(&(df_structure->attacker_hf)) - reinterpret_cast(df_structure); + p_table["ordinal"] = reinterpret_cast(&(df_structure->ordinal)) - reinterpret_cast(df_structure); +} + +void generate_history_event_collection_raidst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["parent_collection"] = reinterpret_cast(&(df_structure->parent_collection)) - reinterpret_cast(df_structure); + p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); + p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["region_pos"] = reinterpret_cast(&(df_structure->region_pos)) - reinterpret_cast(df_structure); + p_table["attacker_civ"] = reinterpret_cast(&(df_structure->attacker_civ)) - reinterpret_cast(df_structure); + p_table["defender_civ"] = reinterpret_cast(&(df_structure->defender_civ)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["ordinal"] = reinterpret_cast(&(df_structure->ordinal)) - reinterpret_cast(df_structure); +} + +void generate_history_era__T_title_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["histfig_1"] = reinterpret_cast(&(df_structure->histfig_1)) - reinterpret_cast(df_structure); + p_table["histfig_2"] = reinterpret_cast(&(df_structure->histfig_2)) - reinterpret_cast(df_structure); + p_table["ordinal"] = reinterpret_cast(&(df_structure->ordinal)) - reinterpret_cast(df_structure); + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["percent"] = reinterpret_cast(&(df_structure->percent)) - reinterpret_cast(df_structure); +} + +void generate_history_era__T_details_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["living_powers"] = reinterpret_cast(&(df_structure->living_powers)) - reinterpret_cast(df_structure); + p_table["living_megabeasts"] = reinterpret_cast(&(df_structure->living_megabeasts)) - reinterpret_cast(df_structure); + p_table["living_semimegabeasts"] = reinterpret_cast(&(df_structure->living_semimegabeasts)) - reinterpret_cast(df_structure); + p_table["power_hf1"] = reinterpret_cast(&(df_structure->power_hf1)) - reinterpret_cast(df_structure); + p_table["power_hf2"] = reinterpret_cast(&(df_structure->power_hf2)) - reinterpret_cast(df_structure); + p_table["power_hf3"] = reinterpret_cast(&(df_structure->power_hf3)) - reinterpret_cast(df_structure); + p_table["civilized_races"] = reinterpret_cast(&(df_structure->civilized_races)) - reinterpret_cast(df_structure); + p_table["civilized_total"] = reinterpret_cast(&(df_structure->civilized_total)) - reinterpret_cast(df_structure); + p_table["civilized_mundane"] = reinterpret_cast(&(df_structure->civilized_mundane)) - reinterpret_cast(df_structure); +} + +void generate_history_era_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["year"] = reinterpret_cast(&(df_structure->year)) - reinterpret_cast(df_structure); + p_table["title"] = reinterpret_cast(&(df_structure->title)) - reinterpret_cast(df_structure); + p_table["details"] = reinterpret_cast(&(df_structure->details)) - reinterpret_cast(df_structure); +} + +void generate_init_display_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["flag"] = reinterpret_cast(&(df_structure->flag)) - reinterpret_cast(df_structure); + p_table["windowed"] = reinterpret_cast(&(df_structure->windowed)) - reinterpret_cast(df_structure); + p_table["grid_x"] = reinterpret_cast(&(df_structure->grid_x)) - reinterpret_cast(df_structure); + p_table["grid_y"] = reinterpret_cast(&(df_structure->grid_y)) - reinterpret_cast(df_structure); + p_table["desired_fullscreen_width"] = reinterpret_cast(&(df_structure->desired_fullscreen_width)) - reinterpret_cast(df_structure); + p_table["desired_fullscreen_height"] = reinterpret_cast(&(df_structure->desired_fullscreen_height)) - reinterpret_cast(df_structure); + p_table["desired_windowed_width"] = reinterpret_cast(&(df_structure->desired_windowed_width)) - reinterpret_cast(df_structure); + p_table["desired_windowed_height"] = reinterpret_cast(&(df_structure->desired_windowed_height)) - reinterpret_cast(df_structure); + p_table["partial_print_count"] = reinterpret_cast(&(df_structure->partial_print_count)) - reinterpret_cast(df_structure); +} + +void generate_init_font_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["small_font_texpos"] = reinterpret_cast(&(df_structure->small_font_texpos)) - reinterpret_cast(df_structure); + p_table["large_font_texpos"] = reinterpret_cast(&(df_structure->large_font_texpos)) - reinterpret_cast(df_structure); + p_table["small_font_datapos"] = reinterpret_cast(&(df_structure->small_font_datapos)) - reinterpret_cast(df_structure); + p_table["large_font_datapos"] = reinterpret_cast(&(df_structure->large_font_datapos)) - reinterpret_cast(df_structure); + p_table["small_font_adjx"] = reinterpret_cast(&(df_structure->small_font_adjx)) - reinterpret_cast(df_structure); + p_table["small_font_adjy"] = reinterpret_cast(&(df_structure->small_font_adjy)) - reinterpret_cast(df_structure); + p_table["large_font_adjx"] = reinterpret_cast(&(df_structure->large_font_adjx)) - reinterpret_cast(df_structure); + p_table["large_font_adjy"] = reinterpret_cast(&(df_structure->large_font_adjy)) - reinterpret_cast(df_structure); + p_table["small_font_dispx"] = reinterpret_cast(&(df_structure->small_font_dispx)) - reinterpret_cast(df_structure); + p_table["small_font_dispy"] = reinterpret_cast(&(df_structure->small_font_dispy)) - reinterpret_cast(df_structure); + p_table["large_font_dispx"] = reinterpret_cast(&(df_structure->large_font_dispx)) - reinterpret_cast(df_structure); + p_table["large_font_dispy"] = reinterpret_cast(&(df_structure->large_font_dispy)) - reinterpret_cast(df_structure); + p_table["use_ttf"] = reinterpret_cast(&(df_structure->use_ttf)) - reinterpret_cast(df_structure); + p_table["ttf_limit"] = reinterpret_cast(&(df_structure->ttf_limit)) - reinterpret_cast(df_structure); +} + +void generate_init_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["display"] = reinterpret_cast(&(df_structure->display)) - reinterpret_cast(df_structure); + p_table["media"] = reinterpret_cast(&(df_structure->media)) - reinterpret_cast(df_structure); + p_table["input"] = reinterpret_cast(&(df_structure->input)) - reinterpret_cast(df_structure); + p_table["font"] = reinterpret_cast(&(df_structure->font)) - reinterpret_cast(df_structure); + p_table["window"] = reinterpret_cast(&(df_structure->window)) - reinterpret_cast(df_structure); +} + +void generate_texture_handler_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["page"] = reinterpret_cast(&(df_structure->page)) - reinterpret_cast(df_structure); + p_table["texpos"] = reinterpret_cast(&(df_structure->texpos)) - reinterpret_cast(df_structure); + p_table["datapos"] = reinterpret_cast(&(df_structure->datapos)) - reinterpret_cast(df_structure); +} + +void generate_interaction_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["str"] = reinterpret_cast(&(df_structure->str)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["sources"] = reinterpret_cast(&(df_structure->sources)) - reinterpret_cast(df_structure); + p_table["targets"] = reinterpret_cast(&(df_structure->targets)) - reinterpret_cast(df_structure); + p_table["effects"] = reinterpret_cast(&(df_structure->effects)) - reinterpret_cast(df_structure); + p_table["source_hfid"] = reinterpret_cast(&(df_structure->source_hfid)) - reinterpret_cast(df_structure); + p_table["unk_v4201_1"] = reinterpret_cast(&(df_structure->unk_v4201_1)) - reinterpret_cast(df_structure); +} + +void generate_interaction_effect_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk_1"] = reinterpret_cast(&(df_structure->unk_1)) - reinterpret_cast(df_structure); + p_table["targets"] = reinterpret_cast(&(df_structure->targets)) - reinterpret_cast(df_structure); + p_table["unk_2"] = reinterpret_cast(&(df_structure->unk_2)) - reinterpret_cast(df_structure); + p_table["intermittent"] = reinterpret_cast(&(df_structure->intermittent)) - reinterpret_cast(df_structure); + p_table["locations"] = reinterpret_cast(&(df_structure->locations)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["unk_3"] = reinterpret_cast(&(df_structure->unk_3)) - reinterpret_cast(df_structure); + p_table["arena_name"] = reinterpret_cast(&(df_structure->arena_name)) - reinterpret_cast(df_structure); +} + +void generate_interaction_effect_animatest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["syndrome"] = reinterpret_cast(&(df_structure->syndrome)) - reinterpret_cast(df_structure); +} + +void generate_interaction_effect_add_syndromest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["syndrome"] = reinterpret_cast(&(df_structure->syndrome)) - reinterpret_cast(df_structure); +} + +void generate_interaction_effect_resurrectst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["syndrome"] = reinterpret_cast(&(df_structure->syndrome)) - reinterpret_cast(df_structure); +} + +void generate_interaction_effect_cleanst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["grime_level"] = reinterpret_cast(&(df_structure->grime_level)) - reinterpret_cast(df_structure); + p_table["syndrome_tag"] = reinterpret_cast(&(df_structure->syndrome_tag)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_interaction_effect_contactst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_interaction_effect_material_emissionst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_interaction_effect_hidest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_interaction_source_secretst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["learn_flags"] = reinterpret_cast(&(df_structure->learn_flags)) - reinterpret_cast(df_structure); + p_table["spheres"] = reinterpret_cast(&(df_structure->spheres)) - reinterpret_cast(df_structure); + p_table["goals"] = reinterpret_cast(&(df_structure->goals)) - reinterpret_cast(df_structure); + p_table["book_title_filename"] = reinterpret_cast(&(df_structure->book_title_filename)) - reinterpret_cast(df_structure); + p_table["book_name_filename"] = reinterpret_cast(&(df_structure->book_name_filename)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); +} + +void generate_interaction_source_deityst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["usage_hint"] = reinterpret_cast(&(df_structure->usage_hint)) - reinterpret_cast(df_structure); +} + +void generate_interaction_target_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["index"] = reinterpret_cast(&(df_structure->index)) - reinterpret_cast(df_structure); + p_table["unk_0"] = reinterpret_cast(&(df_structure->unk_0)) - reinterpret_cast(df_structure); + p_table["manual_input"] = reinterpret_cast(&(df_structure->manual_input)) - reinterpret_cast(df_structure); + p_table["location"] = reinterpret_cast(&(df_structure->location)) - reinterpret_cast(df_structure); +} + +void generate_interaction_target_corpsest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_interaction_target_creaturest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_interaction_target_materialst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["material_str"] = reinterpret_cast(&(df_structure->material_str)) - reinterpret_cast(df_structure); + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["parent_interaction_index"] = reinterpret_cast(&(df_structure->parent_interaction_index)) - reinterpret_cast(df_structure); + p_table["breath_attack_type"] = reinterpret_cast(&(df_structure->breath_attack_type)) - reinterpret_cast(df_structure); + p_table["restrictions"] = reinterpret_cast(&(df_structure->restrictions)) - reinterpret_cast(df_structure); +} + +void generate_interaction_target_locationst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_itemdef_ammost_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["name_plural"] = reinterpret_cast(&(df_structure->name_plural)) - reinterpret_cast(df_structure); + p_table["adjective"] = reinterpret_cast(&(df_structure->adjective)) - reinterpret_cast(df_structure); + p_table["ammo_class"] = reinterpret_cast(&(df_structure->ammo_class)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["size"] = reinterpret_cast(&(df_structure->size)) - reinterpret_cast(df_structure); + p_table["value"] = reinterpret_cast(&(df_structure->value)) - reinterpret_cast(df_structure); + p_table["attacks"] = reinterpret_cast(&(df_structure->attacks)) - reinterpret_cast(df_structure); +} + +void generate_itemdef_armorst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["name_plural"] = reinterpret_cast(&(df_structure->name_plural)) - reinterpret_cast(df_structure); + p_table["name_preplural"] = reinterpret_cast(&(df_structure->name_preplural)) - reinterpret_cast(df_structure); + p_table["material_placeholder"] = reinterpret_cast(&(df_structure->material_placeholder)) - reinterpret_cast(df_structure); + p_table["adjective"] = reinterpret_cast(&(df_structure->adjective)) - reinterpret_cast(df_structure); + p_table["value"] = reinterpret_cast(&(df_structure->value)) - reinterpret_cast(df_structure); + p_table["armorlevel"] = reinterpret_cast(&(df_structure->armorlevel)) - reinterpret_cast(df_structure); + p_table["ubstep"] = reinterpret_cast(&(df_structure->ubstep)) - reinterpret_cast(df_structure); + p_table["lbstep"] = reinterpret_cast(&(df_structure->lbstep)) - reinterpret_cast(df_structure); + p_table["material_size"] = reinterpret_cast(&(df_structure->material_size)) - reinterpret_cast(df_structure); + p_table["props"] = reinterpret_cast(&(df_structure->props)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); +} + +void generate_itemdef_glovesst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["name_plural"] = reinterpret_cast(&(df_structure->name_plural)) - reinterpret_cast(df_structure); + p_table["adjective"] = reinterpret_cast(&(df_structure->adjective)) - reinterpret_cast(df_structure); + p_table["value"] = reinterpret_cast(&(df_structure->value)) - reinterpret_cast(df_structure); + p_table["armorlevel"] = reinterpret_cast(&(df_structure->armorlevel)) - reinterpret_cast(df_structure); + p_table["upstep"] = reinterpret_cast(&(df_structure->upstep)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["material_size"] = reinterpret_cast(&(df_structure->material_size)) - reinterpret_cast(df_structure); + p_table["props"] = reinterpret_cast(&(df_structure->props)) - reinterpret_cast(df_structure); +} + +void generate_itemdef_helmst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["name_plural"] = reinterpret_cast(&(df_structure->name_plural)) - reinterpret_cast(df_structure); + p_table["adjective"] = reinterpret_cast(&(df_structure->adjective)) - reinterpret_cast(df_structure); + p_table["value"] = reinterpret_cast(&(df_structure->value)) - reinterpret_cast(df_structure); + p_table["armorlevel"] = reinterpret_cast(&(df_structure->armorlevel)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["material_size"] = reinterpret_cast(&(df_structure->material_size)) - reinterpret_cast(df_structure); + p_table["props"] = reinterpret_cast(&(df_structure->props)) - reinterpret_cast(df_structure); +} + +void generate_itemdef_instrumentst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["name_plural"] = reinterpret_cast(&(df_structure->name_plural)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["music_skill"] = reinterpret_cast(&(df_structure->music_skill)) - reinterpret_cast(df_structure); + p_table["size"] = reinterpret_cast(&(df_structure->size)) - reinterpret_cast(df_structure); + p_table["value"] = reinterpret_cast(&(df_structure->value)) - reinterpret_cast(df_structure); + p_table["material_size"] = reinterpret_cast(&(df_structure->material_size)) - reinterpret_cast(df_structure); + p_table["pieces"] = reinterpret_cast(&(df_structure->pieces)) - reinterpret_cast(df_structure); + p_table["dominant_instrument_piece"] = reinterpret_cast(&(df_structure->dominant_instrument_piece)) - reinterpret_cast(df_structure); + p_table["pitch_range_min"] = reinterpret_cast(&(df_structure->pitch_range_min)) - reinterpret_cast(df_structure); + p_table["pitch_range_max"] = reinterpret_cast(&(df_structure->pitch_range_max)) - reinterpret_cast(df_structure); + p_table["volume_mb_min"] = reinterpret_cast(&(df_structure->volume_mb_min)) - reinterpret_cast(df_structure); + p_table["volume_mb_max"] = reinterpret_cast(&(df_structure->volume_mb_max)) - reinterpret_cast(df_structure); + p_table["sound_production"] = reinterpret_cast(&(df_structure->sound_production)) - reinterpret_cast(df_structure); + p_table["sound_production_parm1"] = reinterpret_cast(&(df_structure->sound_production_parm1)) - reinterpret_cast(df_structure); + p_table["sound_production_parm2"] = reinterpret_cast(&(df_structure->sound_production_parm2)) - reinterpret_cast(df_structure); + p_table["unk_100"] = reinterpret_cast(&(df_structure->unk_100)) - reinterpret_cast(df_structure); + p_table["unk_110"] = reinterpret_cast(&(df_structure->unk_110)) - reinterpret_cast(df_structure); + p_table["pitch_choice"] = reinterpret_cast(&(df_structure->pitch_choice)) - reinterpret_cast(df_structure); + p_table["pitch_choice_parm1"] = reinterpret_cast(&(df_structure->pitch_choice_parm1)) - reinterpret_cast(df_structure); + p_table["pitch_choice_parm2"] = reinterpret_cast(&(df_structure->pitch_choice_parm2)) - reinterpret_cast(df_structure); + p_table["unk_150"] = reinterpret_cast(&(df_structure->unk_150)) - reinterpret_cast(df_structure); + p_table["unk_160"] = reinterpret_cast(&(df_structure->unk_160)) - reinterpret_cast(df_structure); + p_table["tuning"] = reinterpret_cast(&(df_structure->tuning)) - reinterpret_cast(df_structure); + p_table["tuning_parm"] = reinterpret_cast(&(df_structure->tuning_parm)) - reinterpret_cast(df_structure); + p_table["unk_190"] = reinterpret_cast(&(df_structure->unk_190)) - reinterpret_cast(df_structure); + p_table["registers"] = reinterpret_cast(&(df_structure->registers)) - reinterpret_cast(df_structure); + p_table["timbre"] = reinterpret_cast(&(df_structure->timbre)) - reinterpret_cast(df_structure); + p_table["description"] = reinterpret_cast(&(df_structure->description)) - reinterpret_cast(df_structure); +} + +void generate_instrument_register_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["pitch_range_min"] = reinterpret_cast(&(df_structure->pitch_range_min)) - reinterpret_cast(df_structure); + p_table["pitch_range_max"] = reinterpret_cast(&(df_structure->pitch_range_max)) - reinterpret_cast(df_structure); + p_table["timbres"] = reinterpret_cast(&(df_structure->timbres)) - reinterpret_cast(df_structure); +} + +void generate_itemdef_pantsst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["name_plural"] = reinterpret_cast(&(df_structure->name_plural)) - reinterpret_cast(df_structure); + p_table["name_preplural"] = reinterpret_cast(&(df_structure->name_preplural)) - reinterpret_cast(df_structure); + p_table["material_placeholder"] = reinterpret_cast(&(df_structure->material_placeholder)) - reinterpret_cast(df_structure); + p_table["adjective"] = reinterpret_cast(&(df_structure->adjective)) - reinterpret_cast(df_structure); + p_table["value"] = reinterpret_cast(&(df_structure->value)) - reinterpret_cast(df_structure); + p_table["armorlevel"] = reinterpret_cast(&(df_structure->armorlevel)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["material_size"] = reinterpret_cast(&(df_structure->material_size)) - reinterpret_cast(df_structure); + p_table["lbstep"] = reinterpret_cast(&(df_structure->lbstep)) - reinterpret_cast(df_structure); + p_table["props"] = reinterpret_cast(&(df_structure->props)) - reinterpret_cast(df_structure); +} + +void generate_itemdef_shoesst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["name_plural"] = reinterpret_cast(&(df_structure->name_plural)) - reinterpret_cast(df_structure); + p_table["adjective"] = reinterpret_cast(&(df_structure->adjective)) - reinterpret_cast(df_structure); + p_table["value"] = reinterpret_cast(&(df_structure->value)) - reinterpret_cast(df_structure); + p_table["armorlevel"] = reinterpret_cast(&(df_structure->armorlevel)) - reinterpret_cast(df_structure); + p_table["upstep"] = reinterpret_cast(&(df_structure->upstep)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["material_size"] = reinterpret_cast(&(df_structure->material_size)) - reinterpret_cast(df_structure); + p_table["props"] = reinterpret_cast(&(df_structure->props)) - reinterpret_cast(df_structure); +} + +void generate_itemdef_toolst__T_default_improvements_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["specific_type"] = reinterpret_cast(&(df_structure->specific_type)) - reinterpret_cast(df_structure); + p_table["instrument_part"] = reinterpret_cast(&(df_structure->instrument_part)) - reinterpret_cast(df_structure); + p_table["restriction"] = reinterpret_cast(&(df_structure->restriction)) - reinterpret_cast(df_structure); +} + +void generate_itemdef_toolst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["name_plural"] = reinterpret_cast(&(df_structure->name_plural)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["value"] = reinterpret_cast(&(df_structure->value)) - reinterpret_cast(df_structure); + p_table["tile"] = reinterpret_cast(&(df_structure->tile)) - reinterpret_cast(df_structure); + p_table["tool_use"] = reinterpret_cast(&(df_structure->tool_use)) - reinterpret_cast(df_structure); + p_table["adjective"] = reinterpret_cast(&(df_structure->adjective)) - reinterpret_cast(df_structure); + p_table["size"] = reinterpret_cast(&(df_structure->size)) - reinterpret_cast(df_structure); + p_table["skill_melee"] = reinterpret_cast(&(df_structure->skill_melee)) - reinterpret_cast(df_structure); + p_table["skill_ranged"] = reinterpret_cast(&(df_structure->skill_ranged)) - reinterpret_cast(df_structure); + p_table["ranged_ammo"] = reinterpret_cast(&(df_structure->ranged_ammo)) - reinterpret_cast(df_structure); + p_table["two_handed"] = reinterpret_cast(&(df_structure->two_handed)) - reinterpret_cast(df_structure); + p_table["minimum_size"] = reinterpret_cast(&(df_structure->minimum_size)) - reinterpret_cast(df_structure); + p_table["material_size"] = reinterpret_cast(&(df_structure->material_size)) - reinterpret_cast(df_structure); + p_table["attacks"] = reinterpret_cast(&(df_structure->attacks)) - reinterpret_cast(df_structure); + p_table["shoot_force"] = reinterpret_cast(&(df_structure->shoot_force)) - reinterpret_cast(df_structure); + p_table["shoot_maxvel"] = reinterpret_cast(&(df_structure->shoot_maxvel)) - reinterpret_cast(df_structure); + p_table["container_capacity"] = reinterpret_cast(&(df_structure->container_capacity)) - reinterpret_cast(df_structure); + p_table["description"] = reinterpret_cast(&(df_structure->description)) - reinterpret_cast(df_structure); + p_table["default_improvements"] = reinterpret_cast(&(df_structure->default_improvements)) - reinterpret_cast(df_structure); +} + +void generate_itemdef_trapcompst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["name_plural"] = reinterpret_cast(&(df_structure->name_plural)) - reinterpret_cast(df_structure); + p_table["adjective"] = reinterpret_cast(&(df_structure->adjective)) - reinterpret_cast(df_structure); + p_table["size"] = reinterpret_cast(&(df_structure->size)) - reinterpret_cast(df_structure); + p_table["value"] = reinterpret_cast(&(df_structure->value)) - reinterpret_cast(df_structure); + p_table["hits"] = reinterpret_cast(&(df_structure->hits)) - reinterpret_cast(df_structure); + p_table["material_size"] = reinterpret_cast(&(df_structure->material_size)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["attacks"] = reinterpret_cast(&(df_structure->attacks)) - reinterpret_cast(df_structure); +} + +void generate_itemdef_weaponst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["name_plural"] = reinterpret_cast(&(df_structure->name_plural)) - reinterpret_cast(df_structure); + p_table["adjective"] = reinterpret_cast(&(df_structure->adjective)) - reinterpret_cast(df_structure); + p_table["size"] = reinterpret_cast(&(df_structure->size)) - reinterpret_cast(df_structure); + p_table["value"] = reinterpret_cast(&(df_structure->value)) - reinterpret_cast(df_structure); + p_table["skill_melee"] = reinterpret_cast(&(df_structure->skill_melee)) - reinterpret_cast(df_structure); + p_table["skill_ranged"] = reinterpret_cast(&(df_structure->skill_ranged)) - reinterpret_cast(df_structure); + p_table["ranged_ammo"] = reinterpret_cast(&(df_structure->ranged_ammo)) - reinterpret_cast(df_structure); + p_table["two_handed"] = reinterpret_cast(&(df_structure->two_handed)) - reinterpret_cast(df_structure); + p_table["minimum_size"] = reinterpret_cast(&(df_structure->minimum_size)) - reinterpret_cast(df_structure); + p_table["material_size"] = reinterpret_cast(&(df_structure->material_size)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["attacks"] = reinterpret_cast(&(df_structure->attacks)) - reinterpret_cast(df_structure); + p_table["shoot_force"] = reinterpret_cast(&(df_structure->shoot_force)) - reinterpret_cast(df_structure); + p_table["shoot_maxvel"] = reinterpret_cast(&(df_structure->shoot_maxvel)) - reinterpret_cast(df_structure); +} + +void generate_dye_info_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["dyer"] = reinterpret_cast(&(df_structure->dyer)) - reinterpret_cast(df_structure); + p_table["quality"] = reinterpret_cast(&(df_structure->quality)) - reinterpret_cast(df_structure); + p_table["skill_rating"] = reinterpret_cast(&(df_structure->skill_rating)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_itemimprovement_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["maker"] = reinterpret_cast(&(df_structure->maker)) - reinterpret_cast(df_structure); + p_table["masterpiece_event"] = reinterpret_cast(&(df_structure->masterpiece_event)) - reinterpret_cast(df_structure); + p_table["quality"] = reinterpret_cast(&(df_structure->quality)) - reinterpret_cast(df_structure); + p_table["skill_rating"] = reinterpret_cast(&(df_structure->skill_rating)) - reinterpret_cast(df_structure); + p_table["unk_1"] = reinterpret_cast(&(df_structure->unk_1)) - reinterpret_cast(df_structure); +} + +void generate_itemimprovement_art_imagest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["image"] = reinterpret_cast(&(df_structure->image)) - reinterpret_cast(df_structure); +} + +void generate_itemimprovement_coveredst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["cover_flags"] = reinterpret_cast(&(df_structure->cover_flags)) - reinterpret_cast(df_structure); + p_table["shape"] = reinterpret_cast(&(df_structure->shape)) - reinterpret_cast(df_structure); +} + +void generate_itemimprovement_rings_hangingst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_itemimprovement_bandsst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["shape"] = reinterpret_cast(&(df_structure->shape)) - reinterpret_cast(df_structure); +} + +void generate_itemimprovement_spikesst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_itemimprovement_itemspecificst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); +} + +void generate_itemimprovement_threadst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["dye"] = reinterpret_cast(&(df_structure->dye)) - reinterpret_cast(df_structure); +} + +void generate_itemimprovement_clothst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_itemimprovement_sewn_imagest__T_cloth_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unit_id"] = reinterpret_cast(&(df_structure->unit_id)) - reinterpret_cast(df_structure); + p_table["quality"] = reinterpret_cast(&(df_structure->quality)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_itemimprovement_sewn_imagest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["image"] = reinterpret_cast(&(df_structure->image)) - reinterpret_cast(df_structure); + p_table["cloth"] = reinterpret_cast(&(df_structure->cloth)) - reinterpret_cast(df_structure); + p_table["dye"] = reinterpret_cast(&(df_structure->dye)) - reinterpret_cast(df_structure); +} + +void generate_itemimprovement_pagesst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["count"] = reinterpret_cast(&(df_structure->count)) - reinterpret_cast(df_structure); + p_table["contents"] = reinterpret_cast(&(df_structure->contents)) - reinterpret_cast(df_structure); +} + +void generate_itemimprovement_illustrationst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["image"] = reinterpret_cast(&(df_structure->image)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_itemimprovement_instrument_piecest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_itemimprovement_writingst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["contents"] = reinterpret_cast(&(df_structure->contents)) - reinterpret_cast(df_structure); +} + +void generate_written_content_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["title"] = reinterpret_cast(&(df_structure->title)) - reinterpret_cast(df_structure); + p_table["page_start"] = reinterpret_cast(&(df_structure->page_start)) - reinterpret_cast(df_structure); + p_table["page_end"] = reinterpret_cast(&(df_structure->page_end)) - reinterpret_cast(df_structure); + p_table["refs"] = reinterpret_cast(&(df_structure->refs)) - reinterpret_cast(df_structure); + p_table["ref_aux"] = reinterpret_cast(&(df_structure->ref_aux)) - reinterpret_cast(df_structure); + p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); + p_table["unk2"] = reinterpret_cast(&(df_structure->unk2)) - reinterpret_cast(df_structure); + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["poetic_form"] = reinterpret_cast(&(df_structure->poetic_form)) - reinterpret_cast(df_structure); + p_table["styles"] = reinterpret_cast(&(df_structure->styles)) - reinterpret_cast(df_structure); + p_table["style_strength"] = reinterpret_cast(&(df_structure->style_strength)) - reinterpret_cast(df_structure); + p_table["author"] = reinterpret_cast(&(df_structure->author)) - reinterpret_cast(df_structure); + p_table["author_roll"] = reinterpret_cast(&(df_structure->author_roll)) - reinterpret_cast(df_structure); +} + +void generate_engraving_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["artist"] = reinterpret_cast(&(df_structure->artist)) - reinterpret_cast(df_structure); + p_table["masterpiece_event"] = reinterpret_cast(&(df_structure->masterpiece_event)) - reinterpret_cast(df_structure); + p_table["skill_rating"] = reinterpret_cast(&(df_structure->skill_rating)) - reinterpret_cast(df_structure); + p_table["pos"] = reinterpret_cast(&(df_structure->pos)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["tile"] = reinterpret_cast(&(df_structure->tile)) - reinterpret_cast(df_structure); + p_table["art_id"] = reinterpret_cast(&(df_structure->art_id)) - reinterpret_cast(df_structure); + p_table["art_subid"] = reinterpret_cast(&(df_structure->art_subid)) - reinterpret_cast(df_structure); + p_table["quality"] = reinterpret_cast(&(df_structure->quality)) - reinterpret_cast(df_structure); + p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); + p_table["unk2"] = reinterpret_cast(&(df_structure->unk2)) - reinterpret_cast(df_structure); +} + +void generate_item_magicness_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["value"] = reinterpret_cast(&(df_structure->value)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); +} + +void generate_spatter_common_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["mat_state"] = reinterpret_cast(&(df_structure->mat_state)) - reinterpret_cast(df_structure); + p_table["temperature"] = reinterpret_cast(&(df_structure->temperature)) - reinterpret_cast(df_structure); + p_table["size"] = reinterpret_cast(&(df_structure->size)) - reinterpret_cast(df_structure); + p_table["base_flags"] = reinterpret_cast(&(df_structure->base_flags)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_adventure_option_eat_unit_contaminantst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); + p_table["spatter"] = reinterpret_cast(&(df_structure->spatter)) - reinterpret_cast(df_structure); +} + +void generate_adventure_option_view_contaminantst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); + p_table["spatter"] = reinterpret_cast(&(df_structure->spatter)) - reinterpret_cast(df_structure); +} + +void generate_spatter_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["body_part_id"] = reinterpret_cast(&(df_structure->body_part_id)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); +} + +void generate_item_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["pos"] = reinterpret_cast(&(df_structure->pos)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["flags2"] = reinterpret_cast(&(df_structure->flags2)) - reinterpret_cast(df_structure); + p_table["age"] = reinterpret_cast(&(df_structure->age)) - reinterpret_cast(df_structure); + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["specific_refs"] = reinterpret_cast(&(df_structure->specific_refs)) - reinterpret_cast(df_structure); + p_table["general_refs"] = reinterpret_cast(&(df_structure->general_refs)) - reinterpret_cast(df_structure); + p_table["world_data_id"] = reinterpret_cast(&(df_structure->world_data_id)) - reinterpret_cast(df_structure); + p_table["world_data_subid"] = reinterpret_cast(&(df_structure->world_data_subid)) - reinterpret_cast(df_structure); + p_table["stockpile_countdown"] = reinterpret_cast(&(df_structure->stockpile_countdown)) - reinterpret_cast(df_structure); + p_table["stockpile_delay"] = reinterpret_cast(&(df_structure->stockpile_delay)) - reinterpret_cast(df_structure); + p_table["unk2"] = reinterpret_cast(&(df_structure->unk2)) - reinterpret_cast(df_structure); + p_table["base_uniform_score"] = reinterpret_cast(&(df_structure->base_uniform_score)) - reinterpret_cast(df_structure); + p_table["walkable_id"] = reinterpret_cast(&(df_structure->walkable_id)) - reinterpret_cast(df_structure); + p_table["spec_heat"] = reinterpret_cast(&(df_structure->spec_heat)) - reinterpret_cast(df_structure); + p_table["ignite_point"] = reinterpret_cast(&(df_structure->ignite_point)) - reinterpret_cast(df_structure); + p_table["heatdam_point"] = reinterpret_cast(&(df_structure->heatdam_point)) - reinterpret_cast(df_structure); + p_table["colddam_point"] = reinterpret_cast(&(df_structure->colddam_point)) - reinterpret_cast(df_structure); + p_table["boiling_point"] = reinterpret_cast(&(df_structure->boiling_point)) - reinterpret_cast(df_structure); + p_table["melting_point"] = reinterpret_cast(&(df_structure->melting_point)) - reinterpret_cast(df_structure); + p_table["fixed_temp"] = reinterpret_cast(&(df_structure->fixed_temp)) - reinterpret_cast(df_structure); + p_table["weight"] = reinterpret_cast(&(df_structure->weight)) - reinterpret_cast(df_structure); + p_table["weight_fraction"] = reinterpret_cast(&(df_structure->weight_fraction)) - reinterpret_cast(df_structure); +} + +void generate_item_kill_info_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["targets"] = reinterpret_cast(&(df_structure->targets)) - reinterpret_cast(df_structure); + p_table["slayers"] = reinterpret_cast(&(df_structure->slayers)) - reinterpret_cast(df_structure); + p_table["slayer_kill_counts"] = reinterpret_cast(&(df_structure->slayer_kill_counts)) - reinterpret_cast(df_structure); +} + +void generate_item_history_info_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["kills"] = reinterpret_cast(&(df_structure->kills)) - reinterpret_cast(df_structure); + p_table["attack_counter"] = reinterpret_cast(&(df_structure->attack_counter)) - reinterpret_cast(df_structure); + p_table["defence_counter"] = reinterpret_cast(&(df_structure->defence_counter)) - reinterpret_cast(df_structure); +} + +void generate_item_actual_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["stack_size"] = reinterpret_cast(&(df_structure->stack_size)) - reinterpret_cast(df_structure); + p_table["history_info"] = reinterpret_cast(&(df_structure->history_info)) - reinterpret_cast(df_structure); + p_table["magic"] = reinterpret_cast(&(df_structure->magic)) - reinterpret_cast(df_structure); + p_table["contaminants"] = reinterpret_cast(&(df_structure->contaminants)) - reinterpret_cast(df_structure); + p_table["temperature"] = reinterpret_cast(&(df_structure->temperature)) - reinterpret_cast(df_structure); + p_table["wear"] = reinterpret_cast(&(df_structure->wear)) - reinterpret_cast(df_structure); + p_table["wear_timer"] = reinterpret_cast(&(df_structure->wear_timer)) - reinterpret_cast(df_structure); + p_table["unk_1"] = reinterpret_cast(&(df_structure->unk_1)) - reinterpret_cast(df_structure); + p_table["temp_updated_frame"] = reinterpret_cast(&(df_structure->temp_updated_frame)) - reinterpret_cast(df_structure); +} + +void generate_item_crafted_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["maker_race"] = reinterpret_cast(&(df_structure->maker_race)) - reinterpret_cast(df_structure); + p_table["quality"] = reinterpret_cast(&(df_structure->quality)) - reinterpret_cast(df_structure); + p_table["skill_used"] = reinterpret_cast(&(df_structure->skill_used)) - reinterpret_cast(df_structure); + p_table["maker"] = reinterpret_cast(&(df_structure->maker)) - reinterpret_cast(df_structure); + p_table["masterpiece_event"] = reinterpret_cast(&(df_structure->masterpiece_event)) - reinterpret_cast(df_structure); +} + +void generate_item_constructed_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["improvements"] = reinterpret_cast(&(df_structure->improvements)) - reinterpret_cast(df_structure); +} + +void generate_body_component_info_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["body_part_status"] = reinterpret_cast(&(df_structure->body_part_status)) - reinterpret_cast(df_structure); + p_table["numbered_masks"] = reinterpret_cast(&(df_structure->numbered_masks)) - reinterpret_cast(df_structure); + p_table["nonsolid_remaining"] = reinterpret_cast(&(df_structure->nonsolid_remaining)) - reinterpret_cast(df_structure); + p_table["layer_status"] = reinterpret_cast(&(df_structure->layer_status)) - reinterpret_cast(df_structure); + p_table["layer_wound_area"] = reinterpret_cast(&(df_structure->layer_wound_area)) - reinterpret_cast(df_structure); + p_table["layer_cut_fraction"] = reinterpret_cast(&(df_structure->layer_cut_fraction)) - reinterpret_cast(df_structure); + p_table["layer_dent_fraction"] = reinterpret_cast(&(df_structure->layer_dent_fraction)) - reinterpret_cast(df_structure); + p_table["layer_effect_fraction"] = reinterpret_cast(&(df_structure->layer_effect_fraction)) - reinterpret_cast(df_structure); +} + +void generate_item_body_component__T_body_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["wounds"] = reinterpret_cast(&(df_structure->wounds)) - reinterpret_cast(df_structure); + p_table["unk_100"] = reinterpret_cast(&(df_structure->unk_100)) - reinterpret_cast(df_structure); + p_table["unk_c8"] = reinterpret_cast(&(df_structure->unk_c8)) - reinterpret_cast(df_structure); + p_table["components"] = reinterpret_cast(&(df_structure->components)) - reinterpret_cast(df_structure); + p_table["physical_attr_value"] = reinterpret_cast(&(df_structure->physical_attr_value)) - reinterpret_cast(df_structure); + p_table["physical_attr_unk2"] = reinterpret_cast(&(df_structure->physical_attr_unk2)) - reinterpret_cast(df_structure); + p_table["size_info"] = reinterpret_cast(&(df_structure->size_info)) - reinterpret_cast(df_structure); + p_table["body_part_relsize"] = reinterpret_cast(&(df_structure->body_part_relsize)) - reinterpret_cast(df_structure); + p_table["body_modifiers"] = reinterpret_cast(&(df_structure->body_modifiers)) - reinterpret_cast(df_structure); + p_table["bp_modifiers"] = reinterpret_cast(&(df_structure->bp_modifiers)) - reinterpret_cast(df_structure); + p_table["size_modifier"] = reinterpret_cast(&(df_structure->size_modifier)) - reinterpret_cast(df_structure); +} + +void generate_item_body_component__T_appearance_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["colors"] = reinterpret_cast(&(df_structure->colors)) - reinterpret_cast(df_structure); + p_table["unk_1e8"] = reinterpret_cast(&(df_structure->unk_1e8)) - reinterpret_cast(df_structure); + p_table["unk_1f8"] = reinterpret_cast(&(df_structure->unk_1f8)) - reinterpret_cast(df_structure); + p_table["unk_208"] = reinterpret_cast(&(df_structure->unk_208)) - reinterpret_cast(df_structure); + p_table["unk_218"] = reinterpret_cast(&(df_structure->unk_218)) - reinterpret_cast(df_structure); +} + +void generate_item_body_component__T_bone1_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); +} + +void generate_item_body_component__T_bone2_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); +} + +void generate_item_body_component_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); + p_table["hist_figure_id"] = reinterpret_cast(&(df_structure->hist_figure_id)) - reinterpret_cast(df_structure); + p_table["unit_id"] = reinterpret_cast(&(df_structure->unit_id)) - reinterpret_cast(df_structure); + p_table["caste"] = reinterpret_cast(&(df_structure->caste)) - reinterpret_cast(df_structure); + p_table["sex"] = reinterpret_cast(&(df_structure->sex)) - reinterpret_cast(df_structure); + p_table["race2"] = reinterpret_cast(&(df_structure->race2)) - reinterpret_cast(df_structure); + p_table["caste2"] = reinterpret_cast(&(df_structure->caste2)) - reinterpret_cast(df_structure); + p_table["rot_timer"] = reinterpret_cast(&(df_structure->rot_timer)) - reinterpret_cast(df_structure); + p_table["unk_8c"] = reinterpret_cast(&(df_structure->unk_8c)) - reinterpret_cast(df_structure); + p_table["body"] = reinterpret_cast(&(df_structure->body)) - reinterpret_cast(df_structure); + p_table["birth_year"] = reinterpret_cast(&(df_structure->birth_year)) - reinterpret_cast(df_structure); + p_table["birth_time"] = reinterpret_cast(&(df_structure->birth_time)) - reinterpret_cast(df_structure); + p_table["curse_year"] = reinterpret_cast(&(df_structure->curse_year)) - reinterpret_cast(df_structure); + p_table["curse_time"] = reinterpret_cast(&(df_structure->curse_time)) - reinterpret_cast(df_structure); + p_table["birth_year_bias"] = reinterpret_cast(&(df_structure->birth_year_bias)) - reinterpret_cast(df_structure); + p_table["birth_time_bias"] = reinterpret_cast(&(df_structure->birth_time_bias)) - reinterpret_cast(df_structure); + p_table["death_year"] = reinterpret_cast(&(df_structure->death_year)) - reinterpret_cast(df_structure); + p_table["death_time"] = reinterpret_cast(&(df_structure->death_time)) - reinterpret_cast(df_structure); + p_table["appearance"] = reinterpret_cast(&(df_structure->appearance)) - reinterpret_cast(df_structure); + p_table["blood_count"] = reinterpret_cast(&(df_structure->blood_count)) - reinterpret_cast(df_structure); + p_table["stored_fat"] = reinterpret_cast(&(df_structure->stored_fat)) - reinterpret_cast(df_structure); + p_table["hist_figure_id2"] = reinterpret_cast(&(df_structure->hist_figure_id2)) - reinterpret_cast(df_structure); + p_table["corpse_flags"] = reinterpret_cast(&(df_structure->corpse_flags)) - reinterpret_cast(df_structure); + p_table["unit_id2"] = reinterpret_cast(&(df_structure->unit_id2)) - reinterpret_cast(df_structure); + p_table["unk_3401"] = reinterpret_cast(&(df_structure->unk_3401)) - reinterpret_cast(df_structure); + p_table["material_amount"] = reinterpret_cast(&(df_structure->material_amount)) - reinterpret_cast(df_structure); + p_table["bone1"] = reinterpret_cast(&(df_structure->bone1)) - reinterpret_cast(df_structure); + p_table["bone2"] = reinterpret_cast(&(df_structure->bone2)) - reinterpret_cast(df_structure); +} + +void generate_item_corpsest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_item_corpsepiecest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_item_liquipowder_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_state"] = reinterpret_cast(&(df_structure->mat_state)) - reinterpret_cast(df_structure); + p_table["dimension"] = reinterpret_cast(&(df_structure->dimension)) - reinterpret_cast(df_structure); +} + +void generate_item_liquid_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); +} + +void generate_item_powder_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); +} + +void generate_item_barst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["subtype"] = reinterpret_cast(&(df_structure->subtype)) - reinterpret_cast(df_structure); + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["dimension"] = reinterpret_cast(&(df_structure->dimension)) - reinterpret_cast(df_structure); +} + +void generate_item_smallgemst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["shape"] = reinterpret_cast(&(df_structure->shape)) - reinterpret_cast(df_structure); +} + +void generate_item_blocksst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); +} + +void generate_item_roughst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); +} + +void generate_item_boulderst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); +} + +void generate_item_woodst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); +} + +void generate_item_branchst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); +} + +void generate_item_rockst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["sharpness"] = reinterpret_cast(&(df_structure->sharpness)) - reinterpret_cast(df_structure); + p_table["unk_84"] = reinterpret_cast(&(df_structure->unk_84)) - reinterpret_cast(df_structure); +} + +void generate_item_seedsst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["grow_counter"] = reinterpret_cast(&(df_structure->grow_counter)) - reinterpret_cast(df_structure); + p_table["planting_skill"] = reinterpret_cast(&(df_structure->planting_skill)) - reinterpret_cast(df_structure); +} + +void generate_item_skin_tannedst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["unk_80"] = reinterpret_cast(&(df_structure->unk_80)) - reinterpret_cast(df_structure); +} + +void generate_item_meatst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["rot_timer"] = reinterpret_cast(&(df_structure->rot_timer)) - reinterpret_cast(df_structure); +} + +void generate_item_plantst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["rot_timer"] = reinterpret_cast(&(df_structure->rot_timer)) - reinterpret_cast(df_structure); +} + +void generate_item_plant_growthst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["subtype"] = reinterpret_cast(&(df_structure->subtype)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["rot_timer"] = reinterpret_cast(&(df_structure->rot_timer)) - reinterpret_cast(df_structure); +} + +void generate_item_cheesest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["rot_timer"] = reinterpret_cast(&(df_structure->rot_timer)) - reinterpret_cast(df_structure); +} + +void generate_item_globst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["rot_timer"] = reinterpret_cast(&(df_structure->rot_timer)) - reinterpret_cast(df_structure); + p_table["mat_state"] = reinterpret_cast(&(df_structure->mat_state)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_item_remainsst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); + p_table["caste"] = reinterpret_cast(&(df_structure->caste)) - reinterpret_cast(df_structure); + p_table["rot_timer"] = reinterpret_cast(&(df_structure->rot_timer)) - reinterpret_cast(df_structure); +} + +void generate_item_fishst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); + p_table["caste"] = reinterpret_cast(&(df_structure->caste)) - reinterpret_cast(df_structure); + p_table["rot_timer"] = reinterpret_cast(&(df_structure->rot_timer)) - reinterpret_cast(df_structure); +} + +void generate_item_fish_rawst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); + p_table["caste"] = reinterpret_cast(&(df_structure->caste)) - reinterpret_cast(df_structure); + p_table["rot_timer"] = reinterpret_cast(&(df_structure->rot_timer)) - reinterpret_cast(df_structure); +} + +void generate_item_foodst__T_ingredients_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); + p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["maker"] = reinterpret_cast(&(df_structure->maker)) - reinterpret_cast(df_structure); + p_table["quality"] = reinterpret_cast(&(df_structure->quality)) - reinterpret_cast(df_structure); + p_table["unk_14"] = reinterpret_cast(&(df_structure->unk_14)) - reinterpret_cast(df_structure); + p_table["unk_18"] = reinterpret_cast(&(df_structure->unk_18)) - reinterpret_cast(df_structure); +} + +void generate_item_foodst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["subtype"] = reinterpret_cast(&(df_structure->subtype)) - reinterpret_cast(df_structure); + p_table["entity"] = reinterpret_cast(&(df_structure->entity)) - reinterpret_cast(df_structure); + p_table["recipe_id"] = reinterpret_cast(&(df_structure->recipe_id)) - reinterpret_cast(df_structure); + p_table["ingredients"] = reinterpret_cast(&(df_structure->ingredients)) - reinterpret_cast(df_structure); + p_table["rot_timer"] = reinterpret_cast(&(df_structure->rot_timer)) - reinterpret_cast(df_structure); +} + +void generate_item_drinkst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_item_powder_miscst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_item_liquid_miscst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk_88"] = reinterpret_cast(&(df_structure->unk_88)) - reinterpret_cast(df_structure); +} + +void generate_item_threadst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["dye_mat_type"] = reinterpret_cast(&(df_structure->dye_mat_type)) - reinterpret_cast(df_structure); + p_table["dye_mat_index"] = reinterpret_cast(&(df_structure->dye_mat_index)) - reinterpret_cast(df_structure); + p_table["unk_88"] = reinterpret_cast(&(df_structure->unk_88)) - reinterpret_cast(df_structure); + p_table["unk_8c"] = reinterpret_cast(&(df_structure->unk_8c)) - reinterpret_cast(df_structure); + p_table["dye_quality"] = reinterpret_cast(&(df_structure->dye_quality)) - reinterpret_cast(df_structure); + p_table["unk_92"] = reinterpret_cast(&(df_structure->unk_92)) - reinterpret_cast(df_structure); + p_table["unk_94"] = reinterpret_cast(&(df_structure->unk_94)) - reinterpret_cast(df_structure); + p_table["unk_98"] = reinterpret_cast(&(df_structure->unk_98)) - reinterpret_cast(df_structure); + p_table["dimension"] = reinterpret_cast(&(df_structure->dimension)) - reinterpret_cast(df_structure); +} + +void generate_item_eggst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); + p_table["caste"] = reinterpret_cast(&(df_structure->caste)) - reinterpret_cast(df_structure); + p_table["unk_7c"] = reinterpret_cast(&(df_structure->unk_7c)) - reinterpret_cast(df_structure); + p_table["egg_materials"] = reinterpret_cast(&(df_structure->egg_materials)) - reinterpret_cast(df_structure); + p_table["egg_flags"] = reinterpret_cast(&(df_structure->egg_flags)) - reinterpret_cast(df_structure); + p_table["incubation_counter"] = reinterpret_cast(&(df_structure->incubation_counter)) - reinterpret_cast(df_structure); + p_table["hatchling_civ_id"] = reinterpret_cast(&(df_structure->hatchling_civ_id)) - reinterpret_cast(df_structure); + p_table["hatchling_population_id"] = reinterpret_cast(&(df_structure->hatchling_population_id)) - reinterpret_cast(df_structure); + p_table["hatchling_unit_unk_c0"] = reinterpret_cast(&(df_structure->hatchling_unit_unk_c0)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["mothers_genes"] = reinterpret_cast(&(df_structure->mothers_genes)) - reinterpret_cast(df_structure); + p_table["mothers_caste"] = reinterpret_cast(&(df_structure->mothers_caste)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["fathers_genes"] = reinterpret_cast(&(df_structure->fathers_genes)) - reinterpret_cast(df_structure); + p_table["fathers_caste"] = reinterpret_cast(&(df_structure->fathers_caste)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["hatchling_flags1"] = reinterpret_cast(&(df_structure->hatchling_flags1)) - reinterpret_cast(df_structure); + p_table["hatchling_flags2"] = reinterpret_cast(&(df_structure->hatchling_flags2)) - reinterpret_cast(df_structure); + p_table["hatchling_flags3"] = reinterpret_cast(&(df_structure->hatchling_flags3)) - reinterpret_cast(df_structure); + p_table["unk_v42_1"] = reinterpret_cast(&(df_structure->unk_v42_1)) - reinterpret_cast(df_structure); + p_table["hatchling_training_level"] = reinterpret_cast(&(df_structure->hatchling_training_level)) - reinterpret_cast(df_structure); + p_table["hatchling_animal_population"] = reinterpret_cast(&(df_structure->hatchling_animal_population)) - reinterpret_cast(df_structure); + p_table["hatchling_mother_id"] = reinterpret_cast(&(df_structure->hatchling_mother_id)) - reinterpret_cast(df_structure); + p_table["size"] = reinterpret_cast(&(df_structure->size)) - reinterpret_cast(df_structure); +} + +void generate_item_doorst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_item_floodgatest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_item_bedst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_item_chairst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_item_chainst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_item_flaskst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_item_gobletst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_item_windowst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_item_cagest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_item_bucketst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_item_animaltrapst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_item_tablest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_item_coffinst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_item_boxst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_item_armorstandst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_item_weaponrackst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_item_cabinetst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_item_amuletst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_item_scepterst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_item_crownst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_item_ringst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_item_earringst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_item_braceletst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_item_anvilst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_item_backpackst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_item_quiverst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_item_catapultpartsst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_item_ballistapartsst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_item_trappartsst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_item_pipe_sectionst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_item_hatch_coverst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_item_gratest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_item_quernst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_item_millstonest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_item_splintst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_item_crutchst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_item_traction_benchst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_item_instrumentst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["subtype"] = reinterpret_cast(&(df_structure->subtype)) - reinterpret_cast(df_structure); +} + +void generate_item_toyst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["subtype"] = reinterpret_cast(&(df_structure->subtype)) - reinterpret_cast(df_structure); +} + +void generate_item_armorst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["subtype"] = reinterpret_cast(&(df_structure->subtype)) - reinterpret_cast(df_structure); +} + +void generate_item_shoesst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["subtype"] = reinterpret_cast(&(df_structure->subtype)) - reinterpret_cast(df_structure); +} + +void generate_item_shieldst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["subtype"] = reinterpret_cast(&(df_structure->subtype)) - reinterpret_cast(df_structure); +} + +void generate_item_helmst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["subtype"] = reinterpret_cast(&(df_structure->subtype)) - reinterpret_cast(df_structure); +} + +void generate_item_glovesst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["subtype"] = reinterpret_cast(&(df_structure->subtype)) - reinterpret_cast(df_structure); + p_table["handedness"] = reinterpret_cast(&(df_structure->handedness)) - reinterpret_cast(df_structure); +} + +void generate_item_pantsst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["subtype"] = reinterpret_cast(&(df_structure->subtype)) - reinterpret_cast(df_structure); +} + +void generate_item_siegeammost_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["subtype"] = reinterpret_cast(&(df_structure->subtype)) - reinterpret_cast(df_structure); + p_table["sharpness"] = reinterpret_cast(&(df_structure->sharpness)) - reinterpret_cast(df_structure); +} + +void generate_item_weaponst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["subtype"] = reinterpret_cast(&(df_structure->subtype)) - reinterpret_cast(df_structure); + p_table["sharpness"] = reinterpret_cast(&(df_structure->sharpness)) - reinterpret_cast(df_structure); +} + +void generate_item_ammost_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["subtype"] = reinterpret_cast(&(df_structure->subtype)) - reinterpret_cast(df_structure); + p_table["sharpness"] = reinterpret_cast(&(df_structure->sharpness)) - reinterpret_cast(df_structure); +} + +void generate_item_trapcompst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["subtype"] = reinterpret_cast(&(df_structure->subtype)) - reinterpret_cast(df_structure); + p_table["sharpness"] = reinterpret_cast(&(df_structure->sharpness)) - reinterpret_cast(df_structure); +} + +void generate_item_toolst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["subtype"] = reinterpret_cast(&(df_structure->subtype)) - reinterpret_cast(df_structure); + p_table["sharpness"] = reinterpret_cast(&(df_structure->sharpness)) - reinterpret_cast(df_structure); + p_table["stockpile"] = reinterpret_cast(&(df_structure->stockpile)) - reinterpret_cast(df_structure); + p_table["vehicle_id"] = reinterpret_cast(&(df_structure->vehicle_id)) - reinterpret_cast(df_structure); +} + +void generate_item_barrelst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["stockpile"] = reinterpret_cast(&(df_structure->stockpile)) - reinterpret_cast(df_structure); +} + +void generate_item_binst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["stockpile"] = reinterpret_cast(&(df_structure->stockpile)) - reinterpret_cast(df_structure); +} + +void generate_item_gemst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["shape"] = reinterpret_cast(&(df_structure->shape)) - reinterpret_cast(df_structure); +} + +void generate_item_statuest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["image"] = reinterpret_cast(&(df_structure->image)) - reinterpret_cast(df_structure); + p_table["description"] = reinterpret_cast(&(df_structure->description)) - reinterpret_cast(df_structure); +} + +void generate_item_figurinest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["image"] = reinterpret_cast(&(df_structure->image)) - reinterpret_cast(df_structure); + p_table["description"] = reinterpret_cast(&(df_structure->description)) - reinterpret_cast(df_structure); +} + +void generate_item_slabst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["description"] = reinterpret_cast(&(df_structure->description)) - reinterpret_cast(df_structure); + p_table["topic"] = reinterpret_cast(&(df_structure->topic)) - reinterpret_cast(df_structure); + p_table["engraving_type"] = reinterpret_cast(&(df_structure->engraving_type)) - reinterpret_cast(df_structure); +} + +void generate_item_orthopedic_castst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["body_part"] = reinterpret_cast(&(df_structure->body_part)) - reinterpret_cast(df_structure); + p_table["material"] = reinterpret_cast(&(df_structure->material)) - reinterpret_cast(df_structure); +} + +void generate_item_coinst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["coin_batch"] = reinterpret_cast(&(df_structure->coin_batch)) - reinterpret_cast(df_structure); +} + +void generate_item_totemst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); + p_table["caste"] = reinterpret_cast(&(df_structure->caste)) - reinterpret_cast(df_structure); + p_table["body_part_idx"] = reinterpret_cast(&(df_structure->body_part_idx)) - reinterpret_cast(df_structure); +} + +void generate_item_clothst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["dimension"] = reinterpret_cast(&(df_structure->dimension)) - reinterpret_cast(df_structure); +} + +void generate_item_bookst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["title"] = reinterpret_cast(&(df_structure->title)) - reinterpret_cast(df_structure); +} + +void generate_item_ballistaarrowheadst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["sharpness"] = reinterpret_cast(&(df_structure->sharpness)) - reinterpret_cast(df_structure); +} + +void generate_item_sheetst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); +} + +void generate_job_list_link_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["item"] = reinterpret_cast(&(df_structure->item)) - reinterpret_cast(df_structure); + p_table["prev"] = reinterpret_cast(&(df_structure->prev)) - reinterpret_cast(df_structure); + p_table["next"] = reinterpret_cast(&(df_structure->next)) - reinterpret_cast(df_structure); +} + +void generate_job_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["list_link"] = reinterpret_cast(&(df_structure->list_link)) - reinterpret_cast(df_structure); + p_table["posting_index"] = reinterpret_cast(&(df_structure->posting_index)) - reinterpret_cast(df_structure); + p_table["job_type"] = reinterpret_cast(&(df_structure->job_type)) - reinterpret_cast(df_structure); + p_table["job_subtype"] = reinterpret_cast(&(df_structure->job_subtype)) - reinterpret_cast(df_structure); + p_table["pos"] = reinterpret_cast(&(df_structure->pos)) - reinterpret_cast(df_structure); + p_table["completion_timer"] = reinterpret_cast(&(df_structure->completion_timer)) - reinterpret_cast(df_structure); + p_table["unk4"] = reinterpret_cast(&(df_structure->unk4)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["unk5"] = reinterpret_cast(&(df_structure->unk5)) - reinterpret_cast(df_structure); + p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); + p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); + p_table["item_category"] = reinterpret_cast(&(df_structure->item_category)) - reinterpret_cast(df_structure); + p_table["hist_figure_id"] = reinterpret_cast(&(df_structure->hist_figure_id)) - reinterpret_cast(df_structure); + p_table["material_category"] = reinterpret_cast(&(df_structure->material_category)) - reinterpret_cast(df_structure); + p_table["reaction_name"] = reinterpret_cast(&(df_structure->reaction_name)) - reinterpret_cast(df_structure); + p_table["expire_timer"] = reinterpret_cast(&(df_structure->expire_timer)) - reinterpret_cast(df_structure); + p_table["recheck_cntdn"] = reinterpret_cast(&(df_structure->recheck_cntdn)) - reinterpret_cast(df_structure); + p_table["wait_timer"] = reinterpret_cast(&(df_structure->wait_timer)) - reinterpret_cast(df_structure); + p_table["unk11"] = reinterpret_cast(&(df_structure->unk11)) - reinterpret_cast(df_structure); + p_table["items"] = reinterpret_cast(&(df_structure->items)) - reinterpret_cast(df_structure); + p_table["specific_refs"] = reinterpret_cast(&(df_structure->specific_refs)) - reinterpret_cast(df_structure); + p_table["general_refs"] = reinterpret_cast(&(df_structure->general_refs)) - reinterpret_cast(df_structure); + p_table["job_items"] = reinterpret_cast(&(df_structure->job_items)) - reinterpret_cast(df_structure); + p_table["guide_path"] = reinterpret_cast(&(df_structure->guide_path)) - reinterpret_cast(df_structure); + p_table["cur_path_index"] = reinterpret_cast(&(df_structure->cur_path_index)) - reinterpret_cast(df_structure); + p_table["unk_v4020_2"] = reinterpret_cast(&(df_structure->unk_v4020_2)) - reinterpret_cast(df_structure); + p_table["art_spec"] = reinterpret_cast(&(df_structure->art_spec)) - reinterpret_cast(df_structure); + p_table["unk_v43_4"] = reinterpret_cast(&(df_structure->unk_v43_4)) - reinterpret_cast(df_structure); +} + +void generate_job_item_ref_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["item"] = reinterpret_cast(&(df_structure->item)) - reinterpret_cast(df_structure); + p_table["role"] = reinterpret_cast(&(df_structure->role)) - reinterpret_cast(df_structure); + p_table["is_fetching"] = reinterpret_cast(&(df_structure->is_fetching)) - reinterpret_cast(df_structure); + p_table["job_item_idx"] = reinterpret_cast(&(df_structure->job_item_idx)) - reinterpret_cast(df_structure); +} + +void generate_job_item_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); + p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["flags1"] = reinterpret_cast(&(df_structure->flags1)) - reinterpret_cast(df_structure); + p_table["quantity"] = reinterpret_cast(&(df_structure->quantity)) - reinterpret_cast(df_structure); + p_table["vector_id"] = reinterpret_cast(&(df_structure->vector_id)) - reinterpret_cast(df_structure); + p_table["flags2"] = reinterpret_cast(&(df_structure->flags2)) - reinterpret_cast(df_structure); + p_table["flags3"] = reinterpret_cast(&(df_structure->flags3)) - reinterpret_cast(df_structure); + p_table["flags4"] = reinterpret_cast(&(df_structure->flags4)) - reinterpret_cast(df_structure); + p_table["flags5"] = reinterpret_cast(&(df_structure->flags5)) - reinterpret_cast(df_structure); + p_table["metal_ore"] = reinterpret_cast(&(df_structure->metal_ore)) - reinterpret_cast(df_structure); + p_table["reaction_class"] = reinterpret_cast(&(df_structure->reaction_class)) - reinterpret_cast(df_structure); + p_table["has_material_reaction_product"] = reinterpret_cast(&(df_structure->has_material_reaction_product)) - reinterpret_cast(df_structure); + p_table["min_dimension"] = reinterpret_cast(&(df_structure->min_dimension)) - reinterpret_cast(df_structure); + p_table["reagent_index"] = reinterpret_cast(&(df_structure->reagent_index)) - reinterpret_cast(df_structure); + p_table["contains"] = reinterpret_cast(&(df_structure->contains)) - reinterpret_cast(df_structure); + p_table["reaction_id"] = reinterpret_cast(&(df_structure->reaction_id)) - reinterpret_cast(df_structure); + p_table["has_tool_use"] = reinterpret_cast(&(df_structure->has_tool_use)) - reinterpret_cast(df_structure); + p_table["unk_v43_1"] = reinterpret_cast(&(df_structure->unk_v43_1)) - reinterpret_cast(df_structure); + p_table["unk_v43_2"] = reinterpret_cast(&(df_structure->unk_v43_2)) - reinterpret_cast(df_structure); + p_table["unk_v43_3"] = reinterpret_cast(&(df_structure->unk_v43_3)) - reinterpret_cast(df_structure); + p_table["unk_v43_4"] = reinterpret_cast(&(df_structure->unk_v43_4)) - reinterpret_cast(df_structure); +} + +void generate_job_item_filter_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); + p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["flags1"] = reinterpret_cast(&(df_structure->flags1)) - reinterpret_cast(df_structure); + p_table["item_vector"] = reinterpret_cast(&(df_structure->item_vector)) - reinterpret_cast(df_structure); + p_table["use_mat_index"] = reinterpret_cast(&(df_structure->use_mat_index)) - reinterpret_cast(df_structure); + p_table["flags2"] = reinterpret_cast(&(df_structure->flags2)) - reinterpret_cast(df_structure); + p_table["use_flags2"] = reinterpret_cast(&(df_structure->use_flags2)) - reinterpret_cast(df_structure); + p_table["flags3"] = reinterpret_cast(&(df_structure->flags3)) - reinterpret_cast(df_structure); + p_table["use_flags3"] = reinterpret_cast(&(df_structure->use_flags3)) - reinterpret_cast(df_structure); + p_table["flags4"] = reinterpret_cast(&(df_structure->flags4)) - reinterpret_cast(df_structure); + p_table["use_flags4"] = reinterpret_cast(&(df_structure->use_flags4)) - reinterpret_cast(df_structure); + p_table["flags5"] = reinterpret_cast(&(df_structure->flags5)) - reinterpret_cast(df_structure); + p_table["use_flags5"] = reinterpret_cast(&(df_structure->use_flags5)) - reinterpret_cast(df_structure); + p_table["reaction_class"] = reinterpret_cast(&(df_structure->reaction_class)) - reinterpret_cast(df_structure); + p_table["has_material_reaction_product"] = reinterpret_cast(&(df_structure->has_material_reaction_product)) - reinterpret_cast(df_structure); + p_table["metal_ore"] = reinterpret_cast(&(df_structure->metal_ore)) - reinterpret_cast(df_structure); + p_table["use_metal_ore"] = reinterpret_cast(&(df_structure->use_metal_ore)) - reinterpret_cast(df_structure); + p_table["use_reaction_class"] = reinterpret_cast(&(df_structure->use_reaction_class)) - reinterpret_cast(df_structure); + p_table["use_reaction_product"] = reinterpret_cast(&(df_structure->use_reaction_product)) - reinterpret_cast(df_structure); + p_table["min_dimension"] = reinterpret_cast(&(df_structure->min_dimension)) - reinterpret_cast(df_structure); + p_table["reaction_id"] = reinterpret_cast(&(df_structure->reaction_id)) - reinterpret_cast(df_structure); + p_table["contains"] = reinterpret_cast(&(df_structure->contains)) - reinterpret_cast(df_structure); + p_table["use_contains"] = reinterpret_cast(&(df_structure->use_contains)) - reinterpret_cast(df_structure); + p_table["has_tool_use"] = reinterpret_cast(&(df_structure->has_tool_use)) - reinterpret_cast(df_structure); + p_table["has_melee_skill"] = reinterpret_cast(&(df_structure->has_melee_skill)) - reinterpret_cast(df_structure); + p_table["unk_v40_1"] = reinterpret_cast(&(df_structure->unk_v40_1)) - reinterpret_cast(df_structure); + p_table["pos"] = reinterpret_cast(&(df_structure->pos)) - reinterpret_cast(df_structure); + p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); + p_table["job"] = reinterpret_cast(&(df_structure->job)) - reinterpret_cast(df_structure); + p_table["building"] = reinterpret_cast(&(df_structure->building)) - reinterpret_cast(df_structure); + p_table["unk_74"] = reinterpret_cast(&(df_structure->unk_74)) - reinterpret_cast(df_structure); + p_table["unk_v4305_1"] = reinterpret_cast(&(df_structure->unk_v4305_1)) - reinterpret_cast(df_structure); + p_table["burrows"] = reinterpret_cast(&(df_structure->burrows)) - reinterpret_cast(df_structure); + p_table["use_burrows"] = reinterpret_cast(&(df_structure->use_burrows)) - reinterpret_cast(df_structure); + p_table["take_from"] = reinterpret_cast(&(df_structure->take_from)) - reinterpret_cast(df_structure); +} + +void generate_manager_order_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["job_type"] = reinterpret_cast(&(df_structure->job_type)) - reinterpret_cast(df_structure); + p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); + p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); + p_table["reaction_name"] = reinterpret_cast(&(df_structure->reaction_name)) - reinterpret_cast(df_structure); + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["item_category"] = reinterpret_cast(&(df_structure->item_category)) - reinterpret_cast(df_structure); + p_table["hist_figure_id"] = reinterpret_cast(&(df_structure->hist_figure_id)) - reinterpret_cast(df_structure); + p_table["material_category"] = reinterpret_cast(&(df_structure->material_category)) - reinterpret_cast(df_structure); + p_table["art_spec"] = reinterpret_cast(&(df_structure->art_spec)) - reinterpret_cast(df_structure); + p_table["amount_left"] = reinterpret_cast(&(df_structure->amount_left)) - reinterpret_cast(df_structure); + p_table["amount_total"] = reinterpret_cast(&(df_structure->amount_total)) - reinterpret_cast(df_structure); + p_table["status"] = reinterpret_cast(&(df_structure->status)) - reinterpret_cast(df_structure); + p_table["frequency"] = reinterpret_cast(&(df_structure->frequency)) - reinterpret_cast(df_structure); + p_table["finished_year"] = reinterpret_cast(&(df_structure->finished_year)) - reinterpret_cast(df_structure); + p_table["finished_year_tick"] = reinterpret_cast(&(df_structure->finished_year_tick)) - reinterpret_cast(df_structure); + p_table["workshop_id"] = reinterpret_cast(&(df_structure->workshop_id)) - reinterpret_cast(df_structure); + p_table["max_workshops"] = reinterpret_cast(&(df_structure->max_workshops)) - reinterpret_cast(df_structure); + p_table["item_conditions"] = reinterpret_cast(&(df_structure->item_conditions)) - reinterpret_cast(df_structure); + p_table["order_conditions"] = reinterpret_cast(&(df_structure->order_conditions)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_manager_order_condition_item_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["compare_type"] = reinterpret_cast(&(df_structure->compare_type)) - reinterpret_cast(df_structure); + p_table["compare_val"] = reinterpret_cast(&(df_structure->compare_val)) - reinterpret_cast(df_structure); + p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); + p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["flags1"] = reinterpret_cast(&(df_structure->flags1)) - reinterpret_cast(df_structure); + p_table["flags2"] = reinterpret_cast(&(df_structure->flags2)) - reinterpret_cast(df_structure); + p_table["flags3"] = reinterpret_cast(&(df_structure->flags3)) - reinterpret_cast(df_structure); + p_table["flags4"] = reinterpret_cast(&(df_structure->flags4)) - reinterpret_cast(df_structure); + p_table["flags5"] = reinterpret_cast(&(df_structure->flags5)) - reinterpret_cast(df_structure); + p_table["reaction_class"] = reinterpret_cast(&(df_structure->reaction_class)) - reinterpret_cast(df_structure); + p_table["has_material_reaction_product"] = reinterpret_cast(&(df_structure->has_material_reaction_product)) - reinterpret_cast(df_structure); + p_table["inorganic_bearing"] = reinterpret_cast(&(df_structure->inorganic_bearing)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["has_tool_use"] = reinterpret_cast(&(df_structure->has_tool_use)) - reinterpret_cast(df_structure); +} + +void generate_manager_order_template_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["job_type"] = reinterpret_cast(&(df_structure->job_type)) - reinterpret_cast(df_structure); + p_table["reaction_name"] = reinterpret_cast(&(df_structure->reaction_name)) - reinterpret_cast(df_structure); + p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); + p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["item_category"] = reinterpret_cast(&(df_structure->item_category)) - reinterpret_cast(df_structure); + p_table["hist_figure_id"] = reinterpret_cast(&(df_structure->hist_figure_id)) - reinterpret_cast(df_structure); + p_table["material_category"] = reinterpret_cast(&(df_structure->material_category)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_mandate__T_punishment_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["hammerstrikes"] = reinterpret_cast(&(df_structure->hammerstrikes)) - reinterpret_cast(df_structure); + p_table["prison_time"] = reinterpret_cast(&(df_structure->prison_time)) - reinterpret_cast(df_structure); + p_table["give_beating"] = reinterpret_cast(&(df_structure->give_beating)) - reinterpret_cast(df_structure); +} + +void generate_mandate_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); + p_table["mode"] = reinterpret_cast(&(df_structure->mode)) - reinterpret_cast(df_structure); + p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); + p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["amount_total"] = reinterpret_cast(&(df_structure->amount_total)) - reinterpret_cast(df_structure); + p_table["amount_remaining"] = reinterpret_cast(&(df_structure->amount_remaining)) - reinterpret_cast(df_structure); + p_table["timeout_counter"] = reinterpret_cast(&(df_structure->timeout_counter)) - reinterpret_cast(df_structure); + p_table["timeout_limit"] = reinterpret_cast(&(df_structure->timeout_limit)) - reinterpret_cast(df_structure); + p_table["punishment"] = reinterpret_cast(&(df_structure->punishment)) - reinterpret_cast(df_structure); + p_table["punish_multiple"] = reinterpret_cast(&(df_structure->punish_multiple)) - reinterpret_cast(df_structure); + p_table["unk4"] = reinterpret_cast(&(df_structure->unk4)) - reinterpret_cast(df_structure); +} + +void generate_unit_demand_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk_0"] = reinterpret_cast(&(df_structure->unk_0)) - reinterpret_cast(df_structure); + p_table["place"] = reinterpret_cast(&(df_structure->place)) - reinterpret_cast(df_structure); + p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); + p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["timeout_counter"] = reinterpret_cast(&(df_structure->timeout_counter)) - reinterpret_cast(df_structure); + p_table["timeout_limit"] = reinterpret_cast(&(df_structure->timeout_limit)) - reinterpret_cast(df_structure); +} + +void generate_knowledge_scholar_category_flag__T_flags_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["flags_0"] = reinterpret_cast(&(df_structure->flags_0)) - reinterpret_cast(df_structure); + p_table["flags_1"] = reinterpret_cast(&(df_structure->flags_1)) - reinterpret_cast(df_structure); + p_table["flags_2"] = reinterpret_cast(&(df_structure->flags_2)) - reinterpret_cast(df_structure); + p_table["flags_3"] = reinterpret_cast(&(df_structure->flags_3)) - reinterpret_cast(df_structure); + p_table["flags_4"] = reinterpret_cast(&(df_structure->flags_4)) - reinterpret_cast(df_structure); + p_table["flags_5"] = reinterpret_cast(&(df_structure->flags_5)) - reinterpret_cast(df_structure); + p_table["flags_6"] = reinterpret_cast(&(df_structure->flags_6)) - reinterpret_cast(df_structure); + p_table["flags_7"] = reinterpret_cast(&(df_structure->flags_7)) - reinterpret_cast(df_structure); + p_table["flags_8"] = reinterpret_cast(&(df_structure->flags_8)) - reinterpret_cast(df_structure); + p_table["flags_9"] = reinterpret_cast(&(df_structure->flags_9)) - reinterpret_cast(df_structure); + p_table["flags_10"] = reinterpret_cast(&(df_structure->flags_10)) - reinterpret_cast(df_structure); + p_table["flags_11"] = reinterpret_cast(&(df_structure->flags_11)) - reinterpret_cast(df_structure); + p_table["flags_12"] = reinterpret_cast(&(df_structure->flags_12)) - reinterpret_cast(df_structure); + p_table["flags_13"] = reinterpret_cast(&(df_structure->flags_13)) - reinterpret_cast(df_structure); + p_table["whole"] = reinterpret_cast(&(df_structure->whole)) - reinterpret_cast(df_structure); +} + +void generate_knowledge_scholar_category_flag_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["category"] = reinterpret_cast(&(df_structure->category)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); +} + +void generate_history_event_knowledge_discoveredst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["hf"] = reinterpret_cast(&(df_structure->hf)) - reinterpret_cast(df_structure); + p_table["knowledge"] = reinterpret_cast(&(df_structure->knowledge)) - reinterpret_cast(df_structure); + p_table["first"] = reinterpret_cast(&(df_structure->first)) - reinterpret_cast(df_structure); +} + +void generate_language_word_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["word"] = reinterpret_cast(&(df_structure->word)) - reinterpret_cast(df_structure); + p_table["forms"] = reinterpret_cast(&(df_structure->forms)) - reinterpret_cast(df_structure); + p_table["adj_dist"] = reinterpret_cast(&(df_structure->adj_dist)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["str"] = reinterpret_cast(&(df_structure->str)) - reinterpret_cast(df_structure); +} + +void generate_language_name_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["first_name"] = reinterpret_cast(&(df_structure->first_name)) - reinterpret_cast(df_structure); + p_table["nickname"] = reinterpret_cast(&(df_structure->nickname)) - reinterpret_cast(df_structure); + p_table["words"] = reinterpret_cast(&(df_structure->words)) - reinterpret_cast(df_structure); + p_table["parts_of_speech"] = reinterpret_cast(&(df_structure->parts_of_speech)) - reinterpret_cast(df_structure); + p_table["language"] = reinterpret_cast(&(df_structure->language)) - reinterpret_cast(df_structure); + p_table["unknown"] = reinterpret_cast(&(df_structure->unknown)) - reinterpret_cast(df_structure); + p_table["has_name"] = reinterpret_cast(&(df_structure->has_name)) - reinterpret_cast(df_structure); +} + +void generate_ui_advmode__T_unk_v40_1_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk_s1"] = reinterpret_cast(&(df_structure->unk_s1)) - reinterpret_cast(df_structure); + p_table["unk_s2"] = reinterpret_cast(&(df_structure->unk_s2)) - reinterpret_cast(df_structure); + p_table["unk_s3"] = reinterpret_cast(&(df_structure->unk_s3)) - reinterpret_cast(df_structure); + p_table["unk_s4"] = reinterpret_cast(&(df_structure->unk_s4)) - reinterpret_cast(df_structure); + p_table["unk_s5"] = reinterpret_cast(&(df_structure->unk_s5)) - reinterpret_cast(df_structure); +} + +void generate_ui_advmode__T_unk_3170__T_unk_2_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk_1"] = reinterpret_cast(&(df_structure->unk_1)) - reinterpret_cast(df_structure); + p_table["unk_2"] = reinterpret_cast(&(df_structure->unk_2)) - reinterpret_cast(df_structure); +} + +void generate_ui_advmode__T_unk_3170_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk_1"] = reinterpret_cast(&(df_structure->unk_1)) - reinterpret_cast(df_structure); + p_table["unk_2"] = reinterpret_cast(&(df_structure->unk_2)) - reinterpret_cast(df_structure); +} + +void generate_ui_advmode__T_unk_3124_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk_1"] = reinterpret_cast(&(df_structure->unk_1)) - reinterpret_cast(df_structure); + p_table["unk_2"] = reinterpret_cast(&(df_structure->unk_2)) - reinterpret_cast(df_structure); + p_table["unk_3"] = reinterpret_cast(&(df_structure->unk_3)) - reinterpret_cast(df_structure); + p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); + p_table["unk_5"] = reinterpret_cast(&(df_structure->unk_5)) - reinterpret_cast(df_structure); + p_table["unk_6"] = reinterpret_cast(&(df_structure->unk_6)) - reinterpret_cast(df_structure); + p_table["unk_7"] = reinterpret_cast(&(df_structure->unk_7)) - reinterpret_cast(df_structure); + p_table["unk_8"] = reinterpret_cast(&(df_structure->unk_8)) - reinterpret_cast(df_structure); + p_table["unk_9"] = reinterpret_cast(&(df_structure->unk_9)) - reinterpret_cast(df_structure); + p_table["unk_10"] = reinterpret_cast(&(df_structure->unk_10)) - reinterpret_cast(df_structure); + p_table["unk_11"] = reinterpret_cast(&(df_structure->unk_11)) - reinterpret_cast(df_structure); + p_table["unk_12"] = reinterpret_cast(&(df_structure->unk_12)) - reinterpret_cast(df_structure); + p_table["unk_13"] = reinterpret_cast(&(df_structure->unk_13)) - reinterpret_cast(df_structure); + p_table["unk_14"] = reinterpret_cast(&(df_structure->unk_14)) - reinterpret_cast(df_structure); + p_table["unk_15"] = reinterpret_cast(&(df_structure->unk_15)) - reinterpret_cast(df_structure); + p_table["unk_16"] = reinterpret_cast(&(df_structure->unk_16)) - reinterpret_cast(df_structure); + p_table["unk_17"] = reinterpret_cast(&(df_structure->unk_17)) - reinterpret_cast(df_structure); + p_table["unk_18"] = reinterpret_cast(&(df_structure->unk_18)) - reinterpret_cast(df_structure); + p_table["unk_19"] = reinterpret_cast(&(df_structure->unk_19)) - reinterpret_cast(df_structure); + p_table["unk_20"] = reinterpret_cast(&(df_structure->unk_20)) - reinterpret_cast(df_structure); + p_table["unk_21"] = reinterpret_cast(&(df_structure->unk_21)) - reinterpret_cast(df_structure); + p_table["unk_22"] = reinterpret_cast(&(df_structure->unk_22)) - reinterpret_cast(df_structure); + p_table["unk_23"] = reinterpret_cast(&(df_structure->unk_23)) - reinterpret_cast(df_structure); + p_table["unk_24"] = reinterpret_cast(&(df_structure->unk_24)) - reinterpret_cast(df_structure); + p_table["unk_25"] = reinterpret_cast(&(df_structure->unk_25)) - reinterpret_cast(df_structure); + p_table["unk_26"] = reinterpret_cast(&(df_structure->unk_26)) - reinterpret_cast(df_structure); + p_table["unk_27"] = reinterpret_cast(&(df_structure->unk_27)) - reinterpret_cast(df_structure); + p_table["unk_28"] = reinterpret_cast(&(df_structure->unk_28)) - reinterpret_cast(df_structure); + p_table["unk_29"] = reinterpret_cast(&(df_structure->unk_29)) - reinterpret_cast(df_structure); + p_table["unk_30"] = reinterpret_cast(&(df_structure->unk_30)) - reinterpret_cast(df_structure); + p_table["unk_31"] = reinterpret_cast(&(df_structure->unk_31)) - reinterpret_cast(df_structure); + p_table["unk_32"] = reinterpret_cast(&(df_structure->unk_32)) - reinterpret_cast(df_structure); + p_table["unk_33"] = reinterpret_cast(&(df_structure->unk_33)) - reinterpret_cast(df_structure); + p_table["unk_34"] = reinterpret_cast(&(df_structure->unk_34)) - reinterpret_cast(df_structure); + p_table["unk_35"] = reinterpret_cast(&(df_structure->unk_35)) - reinterpret_cast(df_structure); + p_table["unk_36"] = reinterpret_cast(&(df_structure->unk_36)) - reinterpret_cast(df_structure); + p_table["unk_37"] = reinterpret_cast(&(df_structure->unk_37)) - reinterpret_cast(df_structure); + p_table["unk_38"] = reinterpret_cast(&(df_structure->unk_38)) - reinterpret_cast(df_structure); + p_table["unk_39"] = reinterpret_cast(&(df_structure->unk_39)) - reinterpret_cast(df_structure); + p_table["unk_40"] = reinterpret_cast(&(df_structure->unk_40)) - reinterpret_cast(df_structure); + p_table["unk_41"] = reinterpret_cast(&(df_structure->unk_41)) - reinterpret_cast(df_structure); + p_table["unk_42"] = reinterpret_cast(&(df_structure->unk_42)) - reinterpret_cast(df_structure); + p_table["unk_43"] = reinterpret_cast(&(df_structure->unk_43)) - reinterpret_cast(df_structure); + p_table["unk_44"] = reinterpret_cast(&(df_structure->unk_44)) - reinterpret_cast(df_structure); + p_table["unk_45"] = reinterpret_cast(&(df_structure->unk_45)) - reinterpret_cast(df_structure); + p_table["unk_46"] = reinterpret_cast(&(df_structure->unk_46)) - reinterpret_cast(df_structure); + p_table["unk_47"] = reinterpret_cast(&(df_structure->unk_47)) - reinterpret_cast(df_structure); + p_table["unk_48"] = reinterpret_cast(&(df_structure->unk_48)) - reinterpret_cast(df_structure); + p_table["unk_49"] = reinterpret_cast(&(df_structure->unk_49)) - reinterpret_cast(df_structure); + p_table["unk_50"] = reinterpret_cast(&(df_structure->unk_50)) - reinterpret_cast(df_structure); + p_table["unk_51"] = reinterpret_cast(&(df_structure->unk_51)) - reinterpret_cast(df_structure); + p_table["unk_52"] = reinterpret_cast(&(df_structure->unk_52)) - reinterpret_cast(df_structure); + p_table["unk_53"] = reinterpret_cast(&(df_structure->unk_53)) - reinterpret_cast(df_structure); + p_table["unk_54"] = reinterpret_cast(&(df_structure->unk_54)) - reinterpret_cast(df_structure); + p_table["unk_55"] = reinterpret_cast(&(df_structure->unk_55)) - reinterpret_cast(df_structure); + p_table["unk_56"] = reinterpret_cast(&(df_structure->unk_56)) - reinterpret_cast(df_structure); + p_table["unk_57"] = reinterpret_cast(&(df_structure->unk_57)) - reinterpret_cast(df_structure); + p_table["unk_58"] = reinterpret_cast(&(df_structure->unk_58)) - reinterpret_cast(df_structure); + p_table["unk_59"] = reinterpret_cast(&(df_structure->unk_59)) - reinterpret_cast(df_structure); + p_table["unk_60"] = reinterpret_cast(&(df_structure->unk_60)) - reinterpret_cast(df_structure); + p_table["unk_61"] = reinterpret_cast(&(df_structure->unk_61)) - reinterpret_cast(df_structure); + p_table["unk_62"] = reinterpret_cast(&(df_structure->unk_62)) - reinterpret_cast(df_structure); +} + +void generate_ui_advmode__T_conversation__T_choices_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["choice"] = reinterpret_cast(&(df_structure->choice)) - reinterpret_cast(df_structure); + p_table["keywords"] = reinterpret_cast(&(df_structure->keywords)) - reinterpret_cast(df_structure); + p_table["title"] = reinterpret_cast(&(df_structure->title)) - reinterpret_cast(df_structure); + p_table["orig_index"] = reinterpret_cast(&(df_structure->orig_index)) - reinterpret_cast(df_structure); + p_table["ranking"] = reinterpret_cast(&(df_structure->ranking)) - reinterpret_cast(df_structure); +} + +void generate_ui_advmode__T_conversation__T_targets_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unit_id"] = reinterpret_cast(&(df_structure->unit_id)) - reinterpret_cast(df_structure); + p_table["histfig_id"] = reinterpret_cast(&(df_structure->histfig_id)) - reinterpret_cast(df_structure); + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); +} + +void generate_ui_advmode__T_conversation_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["activity"] = reinterpret_cast(&(df_structure->activity)) - reinterpret_cast(df_structure); + p_table["activity_event"] = reinterpret_cast(&(df_structure->activity_event)) - reinterpret_cast(df_structure); + p_table["cursor_activity"] = reinterpret_cast(&(df_structure->cursor_activity)) - reinterpret_cast(df_structure); + p_table["cursor_choice"] = reinterpret_cast(&(df_structure->cursor_choice)) - reinterpret_cast(df_structure); + p_table["current_page"] = reinterpret_cast(&(df_structure->current_page)) - reinterpret_cast(df_structure); + p_table["page_top_choices"] = reinterpret_cast(&(df_structure->page_top_choices)) - reinterpret_cast(df_structure); + p_table["page_bottom_choices"] = reinterpret_cast(&(df_structure->page_bottom_choices)) - reinterpret_cast(df_structure); + p_table["choices"] = reinterpret_cast(&(df_structure->choices)) - reinterpret_cast(df_structure); + p_table["filter"] = reinterpret_cast(&(df_structure->filter)) - reinterpret_cast(df_structure); + p_table["targets"] = reinterpret_cast(&(df_structure->targets)) - reinterpret_cast(df_structure); + p_table["cursor_target"] = reinterpret_cast(&(df_structure->cursor_target)) - reinterpret_cast(df_structure); +} + +void generate_ui_advmode__T_companions_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); + p_table["unit_visible"] = reinterpret_cast(&(df_structure->unit_visible)) - reinterpret_cast(df_structure); + p_table["unit_position"] = reinterpret_cast(&(df_structure->unit_position)) - reinterpret_cast(df_structure); + p_table["all_histfigs"] = reinterpret_cast(&(df_structure->all_histfigs)) - reinterpret_cast(df_structure); +} + +void generate_ui_advmode__T_interactions_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk_85"] = reinterpret_cast(&(df_structure->unk_85)) - reinterpret_cast(df_structure); + p_table["unk_86"] = reinterpret_cast(&(df_structure->unk_86)) - reinterpret_cast(df_structure); + p_table["unk_1e4"] = reinterpret_cast(&(df_structure->unk_1e4)) - reinterpret_cast(df_structure); + p_table["selected_ability"] = reinterpret_cast(&(df_structure->selected_ability)) - reinterpret_cast(df_structure); + p_table["selected_power"] = reinterpret_cast(&(df_structure->selected_power)) - reinterpret_cast(df_structure); + p_table["unk_1f0"] = reinterpret_cast(&(df_structure->unk_1f0)) - reinterpret_cast(df_structure); + p_table["max_target_number"] = reinterpret_cast(&(df_structure->max_target_number)) - reinterpret_cast(df_structure); + p_table["target_range"] = reinterpret_cast(&(df_structure->target_range)) - reinterpret_cast(df_structure); + p_table["target_flags"] = reinterpret_cast(&(df_structure->target_flags)) - reinterpret_cast(df_structure); + p_table["unk_200"] = reinterpret_cast(&(df_structure->unk_200)) - reinterpret_cast(df_structure); +} + +void generate_ui_advmode__T_unk_v40_2_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk_s1"] = reinterpret_cast(&(df_structure->unk_s1)) - reinterpret_cast(df_structure); + p_table["unk_s2"] = reinterpret_cast(&(df_structure->unk_s2)) - reinterpret_cast(df_structure); + p_table["unk_s3"] = reinterpret_cast(&(df_structure->unk_s3)) - reinterpret_cast(df_structure); + p_table["unk_s4"] = reinterpret_cast(&(df_structure->unk_s4)) - reinterpret_cast(df_structure); + p_table["unk_s5"] = reinterpret_cast(&(df_structure->unk_s5)) - reinterpret_cast(df_structure); + p_table["unk_s6"] = reinterpret_cast(&(df_structure->unk_s6)) - reinterpret_cast(df_structure); + p_table["unk_s7"] = reinterpret_cast(&(df_structure->unk_s7)) - reinterpret_cast(df_structure); +} + +void generate_ui_advmode__T_unk_v40_3_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk_s1"] = reinterpret_cast(&(df_structure->unk_s1)) - reinterpret_cast(df_structure); + p_table["unk_s2"] = reinterpret_cast(&(df_structure->unk_s2)) - reinterpret_cast(df_structure); +} + +void generate_ui_advmode__T_unk_v40_4__T_unk_v40_4a_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk_s1"] = reinterpret_cast(&(df_structure->unk_s1)) - reinterpret_cast(df_structure); + p_table["unk_s2"] = reinterpret_cast(&(df_structure->unk_s2)) - reinterpret_cast(df_structure); + p_table["unk_s3"] = reinterpret_cast(&(df_structure->unk_s3)) - reinterpret_cast(df_structure); + p_table["unk_s4"] = reinterpret_cast(&(df_structure->unk_s4)) - reinterpret_cast(df_structure); + p_table["unk_s5"] = reinterpret_cast(&(df_structure->unk_s5)) - reinterpret_cast(df_structure); + p_table["unk_s6"] = reinterpret_cast(&(df_structure->unk_s6)) - reinterpret_cast(df_structure); + p_table["unk_s7"] = reinterpret_cast(&(df_structure->unk_s7)) - reinterpret_cast(df_structure); + p_table["unk_s8"] = reinterpret_cast(&(df_structure->unk_s8)) - reinterpret_cast(df_structure); + p_table["unk_s9"] = reinterpret_cast(&(df_structure->unk_s9)) - reinterpret_cast(df_structure); + p_table["unk_s10"] = reinterpret_cast(&(df_structure->unk_s10)) - reinterpret_cast(df_structure); +} + +void generate_ui_advmode__T_unk_v40_4_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk_v40_4a"] = reinterpret_cast(&(df_structure->unk_v40_4a)) - reinterpret_cast(df_structure); + p_table["unk_v40_4b"] = reinterpret_cast(&(df_structure->unk_v40_4b)) - reinterpret_cast(df_structure); +} + +void generate_ui_advmode__T_unk_v40_5_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk_s1"] = reinterpret_cast(&(df_structure->unk_s1)) - reinterpret_cast(df_structure); + p_table["unk_s2"] = reinterpret_cast(&(df_structure->unk_s2)) - reinterpret_cast(df_structure); + p_table["unk_s3"] = reinterpret_cast(&(df_structure->unk_s3)) - reinterpret_cast(df_structure); + p_table["unk_s4"] = reinterpret_cast(&(df_structure->unk_s4)) - reinterpret_cast(df_structure); + p_table["unk_s5"] = reinterpret_cast(&(df_structure->unk_s5)) - reinterpret_cast(df_structure); + p_table["unk_s6"] = reinterpret_cast(&(df_structure->unk_s6)) - reinterpret_cast(df_structure); +} + +void generate_ui_advmode__T_unk_v42_1_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk_s1"] = reinterpret_cast(&(df_structure->unk_s1)) - reinterpret_cast(df_structure); + p_table["unk_s2"] = reinterpret_cast(&(df_structure->unk_s2)) - reinterpret_cast(df_structure); + p_table["unk_s3"] = reinterpret_cast(&(df_structure->unk_s3)) - reinterpret_cast(df_structure); + p_table["unk_s4"] = reinterpret_cast(&(df_structure->unk_s4)) - reinterpret_cast(df_structure); + p_table["unk_s5"] = reinterpret_cast(&(df_structure->unk_s5)) - reinterpret_cast(df_structure); + p_table["unk_s6"] = reinterpret_cast(&(df_structure->unk_s6)) - reinterpret_cast(df_structure); + p_table["unk_s7"] = reinterpret_cast(&(df_structure->unk_s7)) - reinterpret_cast(df_structure); + p_table["unk_s8"] = reinterpret_cast(&(df_structure->unk_s8)) - reinterpret_cast(df_structure); + p_table["unk_s9"] = reinterpret_cast(&(df_structure->unk_s9)) - reinterpret_cast(df_structure); +} + +void generate_ui_advmode__T_assume_identity_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mode"] = reinterpret_cast(&(df_structure->mode)) - reinterpret_cast(df_structure); + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["worship_object"] = reinterpret_cast(&(df_structure->worship_object)) - reinterpret_cast(df_structure); + p_table["profession"] = reinterpret_cast(&(df_structure->profession)) - reinterpret_cast(df_structure); + p_table["origin"] = reinterpret_cast(&(df_structure->origin)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["filter"] = reinterpret_cast(&(df_structure->filter)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); +} + +void generate_ui_advmode_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["menu"] = reinterpret_cast(&(df_structure->menu)) - reinterpret_cast(df_structure); + p_table["site_level_zoom"] = reinterpret_cast(&(df_structure->site_level_zoom)) - reinterpret_cast(df_structure); + p_table["travel_origin_x"] = reinterpret_cast(&(df_structure->travel_origin_x)) - reinterpret_cast(df_structure); + p_table["travel_origin_y"] = reinterpret_cast(&(df_structure->travel_origin_y)) - reinterpret_cast(df_structure); + p_table["travel_origin_z"] = reinterpret_cast(&(df_structure->travel_origin_z)) - reinterpret_cast(df_structure); + p_table["travel_clouds"] = reinterpret_cast(&(df_structure->travel_clouds)) - reinterpret_cast(df_structure); + p_table["travel_right_map"] = reinterpret_cast(&(df_structure->travel_right_map)) - reinterpret_cast(df_structure); + p_table["show_menu"] = reinterpret_cast(&(df_structure->show_menu)) - reinterpret_cast(df_structure); + p_table["message"] = reinterpret_cast(&(df_structure->message)) - reinterpret_cast(df_structure); + p_table["message_color"] = reinterpret_cast(&(df_structure->message_color)) - reinterpret_cast(df_structure); + p_table["message_brightness"] = reinterpret_cast(&(df_structure->message_brightness)) - reinterpret_cast(df_structure); + p_table["travel_not_moved"] = reinterpret_cast(&(df_structure->travel_not_moved)) - reinterpret_cast(df_structure); + p_table["unk4b"] = reinterpret_cast(&(df_structure->unk4b)) - reinterpret_cast(df_structure); + p_table["travel_move_countdown"] = reinterpret_cast(&(df_structure->travel_move_countdown)) - reinterpret_cast(df_structure); + p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); + p_table["unk_5"] = reinterpret_cast(&(df_structure->unk_5)) - reinterpret_cast(df_structure); + p_table["unk_6"] = reinterpret_cast(&(df_structure->unk_6)) - reinterpret_cast(df_structure); + p_table["unk_7"] = reinterpret_cast(&(df_structure->unk_7)) - reinterpret_cast(df_structure); + p_table["unk_8"] = reinterpret_cast(&(df_structure->unk_8)) - reinterpret_cast(df_structure); + p_table["unk_9"] = reinterpret_cast(&(df_structure->unk_9)) - reinterpret_cast(df_structure); + p_table["unk_10"] = reinterpret_cast(&(df_structure->unk_10)) - reinterpret_cast(df_structure); + p_table["unk_11"] = reinterpret_cast(&(df_structure->unk_11)) - reinterpret_cast(df_structure); + p_table["unk_12"] = reinterpret_cast(&(df_structure->unk_12)) - reinterpret_cast(df_structure); + p_table["unk_13"] = reinterpret_cast(&(df_structure->unk_13)) - reinterpret_cast(df_structure); + p_table["unk_14"] = reinterpret_cast(&(df_structure->unk_14)) - reinterpret_cast(df_structure); + p_table["tick_counter"] = reinterpret_cast(&(df_structure->tick_counter)) - reinterpret_cast(df_structure); + p_table["frame_counter"] = reinterpret_cast(&(df_structure->frame_counter)) - reinterpret_cast(df_structure); + p_table["unk_15"] = reinterpret_cast(&(df_structure->unk_15)) - reinterpret_cast(df_structure); + p_table["sleeping"] = reinterpret_cast(&(df_structure->sleeping)) - reinterpret_cast(df_structure); + p_table["unk_16"] = reinterpret_cast(&(df_structure->unk_16)) - reinterpret_cast(df_structure); + p_table["bogeymen_timer"] = reinterpret_cast(&(df_structure->bogeymen_timer)) - reinterpret_cast(df_structure); + p_table["bogeymen_killed"] = reinterpret_cast(&(df_structure->bogeymen_killed)) - reinterpret_cast(df_structure); + p_table["bogeymen_ambush_delay"] = reinterpret_cast(&(df_structure->bogeymen_ambush_delay)) - reinterpret_cast(df_structure); + p_table["unk_18"] = reinterpret_cast(&(df_structure->unk_18)) - reinterpret_cast(df_structure); + p_table["searched_x"] = reinterpret_cast(&(df_structure->searched_x)) - reinterpret_cast(df_structure); + p_table["searched_y"] = reinterpret_cast(&(df_structure->searched_y)) - reinterpret_cast(df_structure); + p_table["searched_z"] = reinterpret_cast(&(df_structure->searched_z)) - reinterpret_cast(df_structure); + p_table["searched_timeout"] = reinterpret_cast(&(df_structure->searched_timeout)) - reinterpret_cast(df_structure); + p_table["unk_19"] = reinterpret_cast(&(df_structure->unk_19)) - reinterpret_cast(df_structure); + p_table["unk_20"] = reinterpret_cast(&(df_structure->unk_20)) - reinterpret_cast(df_structure); + p_table["unk_21"] = reinterpret_cast(&(df_structure->unk_21)) - reinterpret_cast(df_structure); + p_table["unk_22"] = reinterpret_cast(&(df_structure->unk_22)) - reinterpret_cast(df_structure); + p_table["unk_23"] = reinterpret_cast(&(df_structure->unk_23)) - reinterpret_cast(df_structure); + p_table["unk_24"] = reinterpret_cast(&(df_structure->unk_24)) - reinterpret_cast(df_structure); + p_table["unk_25"] = reinterpret_cast(&(df_structure->unk_25)) - reinterpret_cast(df_structure); + p_table["unk_26"] = reinterpret_cast(&(df_structure->unk_26)) - reinterpret_cast(df_structure); + p_table["unk_27"] = reinterpret_cast(&(df_structure->unk_27)) - reinterpret_cast(df_structure); + p_table["unk_28"] = reinterpret_cast(&(df_structure->unk_28)) - reinterpret_cast(df_structure); + p_table["unk_29"] = reinterpret_cast(&(df_structure->unk_29)) - reinterpret_cast(df_structure); + p_table["unk_30"] = reinterpret_cast(&(df_structure->unk_30)) - reinterpret_cast(df_structure); + p_table["unk_31"] = reinterpret_cast(&(df_structure->unk_31)) - reinterpret_cast(df_structure); + p_table["unk_32"] = reinterpret_cast(&(df_structure->unk_32)) - reinterpret_cast(df_structure); + p_table["unk_33"] = reinterpret_cast(&(df_structure->unk_33)) - reinterpret_cast(df_structure); + p_table["view_tracks_odors"] = reinterpret_cast(&(df_structure->view_tracks_odors)) - reinterpret_cast(df_structure); + p_table["tracks_visible"] = reinterpret_cast(&(df_structure->tracks_visible)) - reinterpret_cast(df_structure); + p_table["unk_36"] = reinterpret_cast(&(df_structure->unk_36)) - reinterpret_cast(df_structure); + p_table["unk_37"] = reinterpret_cast(&(df_structure->unk_37)) - reinterpret_cast(df_structure); + p_table["unk_38"] = reinterpret_cast(&(df_structure->unk_38)) - reinterpret_cast(df_structure); + p_table["unk_v40_1"] = reinterpret_cast(&(df_structure->unk_v40_1)) - reinterpret_cast(df_structure); + p_table["unk_39"] = reinterpret_cast(&(df_structure->unk_39)) - reinterpret_cast(df_structure); + p_table["unk_40"] = reinterpret_cast(&(df_structure->unk_40)) - reinterpret_cast(df_structure); + p_table["unk_41"] = reinterpret_cast(&(df_structure->unk_41)) - reinterpret_cast(df_structure); + p_table["unk_42"] = reinterpret_cast(&(df_structure->unk_42)) - reinterpret_cast(df_structure); + p_table["odor_race"] = reinterpret_cast(&(df_structure->odor_race)) - reinterpret_cast(df_structure); + p_table["odor_caste"] = reinterpret_cast(&(df_structure->odor_caste)) - reinterpret_cast(df_structure); + p_table["odor_death"] = reinterpret_cast(&(df_structure->odor_death)) - reinterpret_cast(df_structure); + p_table["travel_odor_race"] = reinterpret_cast(&(df_structure->travel_odor_race)) - reinterpret_cast(df_structure); + p_table["travel_odor_caste"] = reinterpret_cast(&(df_structure->travel_odor_caste)) - reinterpret_cast(df_structure); + p_table["unk_46"] = reinterpret_cast(&(df_structure->unk_46)) - reinterpret_cast(df_structure); + p_table["unk_47"] = reinterpret_cast(&(df_structure->unk_47)) - reinterpret_cast(df_structure); + p_table["unk_3170"] = reinterpret_cast(&(df_structure->unk_3170)) - reinterpret_cast(df_structure); + p_table["unk_3124"] = reinterpret_cast(&(df_structure->unk_3124)) - reinterpret_cast(df_structure); + p_table["unk_48"] = reinterpret_cast(&(df_structure->unk_48)) - reinterpret_cast(df_structure); + p_table["unk_49"] = reinterpret_cast(&(df_structure->unk_49)) - reinterpret_cast(df_structure); + p_table["unk_50"] = reinterpret_cast(&(df_structure->unk_50)) - reinterpret_cast(df_structure); + p_table["unk_51"] = reinterpret_cast(&(df_structure->unk_51)) - reinterpret_cast(df_structure); + p_table["unk_52"] = reinterpret_cast(&(df_structure->unk_52)) - reinterpret_cast(df_structure); + p_table["unk_53"] = reinterpret_cast(&(df_structure->unk_53)) - reinterpret_cast(df_structure); + p_table["unk_54"] = reinterpret_cast(&(df_structure->unk_54)) - reinterpret_cast(df_structure); + p_table["unk_55"] = reinterpret_cast(&(df_structure->unk_55)) - reinterpret_cast(df_structure); + p_table["unk_56"] = reinterpret_cast(&(df_structure->unk_56)) - reinterpret_cast(df_structure); + p_table["unk_57"] = reinterpret_cast(&(df_structure->unk_57)) - reinterpret_cast(df_structure); + p_table["unk_58"] = reinterpret_cast(&(df_structure->unk_58)) - reinterpret_cast(df_structure); + p_table["unk_59"] = reinterpret_cast(&(df_structure->unk_59)) - reinterpret_cast(df_structure); + p_table["unk_60"] = reinterpret_cast(&(df_structure->unk_60)) - reinterpret_cast(df_structure); + p_table["unk_61"] = reinterpret_cast(&(df_structure->unk_61)) - reinterpret_cast(df_structure); + p_table["unk_62"] = reinterpret_cast(&(df_structure->unk_62)) - reinterpret_cast(df_structure); + p_table["travel_start_x"] = reinterpret_cast(&(df_structure->travel_start_x)) - reinterpret_cast(df_structure); + p_table["travel_start_y"] = reinterpret_cast(&(df_structure->travel_start_y)) - reinterpret_cast(df_structure); + p_table["travel_start_z"] = reinterpret_cast(&(df_structure->travel_start_z)) - reinterpret_cast(df_structure); + p_table["player_id"] = reinterpret_cast(&(df_structure->player_id)) - reinterpret_cast(df_structure); + p_table["unk_66"] = reinterpret_cast(&(df_structure->unk_66)) - reinterpret_cast(df_structure); + p_table["unk_67"] = reinterpret_cast(&(df_structure->unk_67)) - reinterpret_cast(df_structure); + p_table["unk_68"] = reinterpret_cast(&(df_structure->unk_68)) - reinterpret_cast(df_structure); + p_table["unk_69"] = reinterpret_cast(&(df_structure->unk_69)) - reinterpret_cast(df_structure); + p_table["conversation"] = reinterpret_cast(&(df_structure->conversation)) - reinterpret_cast(df_structure); + p_table["unk_70"] = reinterpret_cast(&(df_structure->unk_70)) - reinterpret_cast(df_structure); + p_table["unk_71"] = reinterpret_cast(&(df_structure->unk_71)) - reinterpret_cast(df_structure); + p_table["unk_72"] = reinterpret_cast(&(df_structure->unk_72)) - reinterpret_cast(df_structure); + p_table["interacts"] = reinterpret_cast(&(df_structure->interacts)) - reinterpret_cast(df_structure); + p_table["commands"] = reinterpret_cast(&(df_structure->commands)) - reinterpret_cast(df_structure); + p_table["movements"] = reinterpret_cast(&(df_structure->movements)) - reinterpret_cast(df_structure); + p_table["unk_75"] = reinterpret_cast(&(df_structure->unk_75)) - reinterpret_cast(df_structure); + p_table["sleep_hours"] = reinterpret_cast(&(df_structure->sleep_hours)) - reinterpret_cast(df_structure); + p_table["sleep_until_dawn"] = reinterpret_cast(&(df_structure->sleep_until_dawn)) - reinterpret_cast(df_structure); + p_table["unk_78"] = reinterpret_cast(&(df_structure->unk_78)) - reinterpret_cast(df_structure); + p_table["wait"] = reinterpret_cast(&(df_structure->wait)) - reinterpret_cast(df_structure); + p_table["unk_80"] = reinterpret_cast(&(df_structure->unk_80)) - reinterpret_cast(df_structure); + p_table["unk_81"] = reinterpret_cast(&(df_structure->unk_81)) - reinterpret_cast(df_structure); + p_table["player_control_state"] = reinterpret_cast(&(df_structure->player_control_state)) - reinterpret_cast(df_structure); + p_table["unk_83"] = reinterpret_cast(&(df_structure->unk_83)) - reinterpret_cast(df_structure); + p_table["unk_84"] = reinterpret_cast(&(df_structure->unk_84)) - reinterpret_cast(df_structure); + p_table["companions"] = reinterpret_cast(&(df_structure->companions)) - reinterpret_cast(df_structure); + p_table["interactions"] = reinterpret_cast(&(df_structure->interactions)) - reinterpret_cast(df_structure); + p_table["unk_87"] = reinterpret_cast(&(df_structure->unk_87)) - reinterpret_cast(df_structure); + p_table["unk_220"] = reinterpret_cast(&(df_structure->unk_220)) - reinterpret_cast(df_structure); + p_table["unk_224"] = reinterpret_cast(&(df_structure->unk_224)) - reinterpret_cast(df_structure); + p_table["unk_v40_2"] = reinterpret_cast(&(df_structure->unk_v40_2)) - reinterpret_cast(df_structure); + p_table["unk_v40_3"] = reinterpret_cast(&(df_structure->unk_v40_3)) - reinterpret_cast(df_structure); + p_table["unk_88"] = reinterpret_cast(&(df_structure->unk_88)) - reinterpret_cast(df_structure); + p_table["unk_89"] = reinterpret_cast(&(df_structure->unk_89)) - reinterpret_cast(df_structure); + p_table["unk_90"] = reinterpret_cast(&(df_structure->unk_90)) - reinterpret_cast(df_structure); + p_table["unk_v40_4"] = reinterpret_cast(&(df_structure->unk_v40_4)) - reinterpret_cast(df_structure); + p_table["unk_v40_5"] = reinterpret_cast(&(df_structure->unk_v40_5)) - reinterpret_cast(df_structure); + p_table["unk_v42_1"] = reinterpret_cast(&(df_structure->unk_v42_1)) - reinterpret_cast(df_structure); + p_table["unk_91"] = reinterpret_cast(&(df_structure->unk_91)) - reinterpret_cast(df_structure); + p_table["assume_identity"] = reinterpret_cast(&(df_structure->assume_identity)) - reinterpret_cast(df_structure); + p_table["unk_92"] = reinterpret_cast(&(df_structure->unk_92)) - reinterpret_cast(df_structure); + p_table["unk_93"] = reinterpret_cast(&(df_structure->unk_93)) - reinterpret_cast(df_structure); + p_table["unk_94"] = reinterpret_cast(&(df_structure->unk_94)) - reinterpret_cast(df_structure); + p_table["unk_95"] = reinterpret_cast(&(df_structure->unk_95)) - reinterpret_cast(df_structure); + p_table["unk_96"] = reinterpret_cast(&(df_structure->unk_96)) - reinterpret_cast(df_structure); + p_table["unk_97"] = reinterpret_cast(&(df_structure->unk_97)) - reinterpret_cast(df_structure); + p_table["unk_98"] = reinterpret_cast(&(df_structure->unk_98)) - reinterpret_cast(df_structure); + p_table["unk_99"] = reinterpret_cast(&(df_structure->unk_99)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["name_item"] = reinterpret_cast(&(df_structure->name_item)) - reinterpret_cast(df_structure); +} + +void generate_art_image_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["elements"] = reinterpret_cast(&(df_structure->elements)) - reinterpret_cast(df_structure); + p_table["properties"] = reinterpret_cast(&(df_structure->properties)) - reinterpret_cast(df_structure); + p_table["event"] = reinterpret_cast(&(df_structure->event)) - reinterpret_cast(df_structure); + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["spec_ref_type"] = reinterpret_cast(&(df_structure->spec_ref_type)) - reinterpret_cast(df_structure); + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["quality"] = reinterpret_cast(&(df_structure->quality)) - reinterpret_cast(df_structure); + p_table["artist"] = reinterpret_cast(&(df_structure->artist)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["year"] = reinterpret_cast(&(df_structure->year)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["subid"] = reinterpret_cast(&(df_structure->subid)) - reinterpret_cast(df_structure); +} + +void generate_poetic_form_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["originating_entity"] = reinterpret_cast(&(df_structure->originating_entity)) - reinterpret_cast(df_structure); + p_table["original_author"] = reinterpret_cast(&(df_structure->original_author)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["parts"] = reinterpret_cast(&(df_structure->parts)) - reinterpret_cast(df_structure); + p_table["each_line_feet"] = reinterpret_cast(&(df_structure->each_line_feet)) - reinterpret_cast(df_structure); + p_table["each_line_pattern"] = reinterpret_cast(&(df_structure->each_line_pattern)) - reinterpret_cast(df_structure); + p_table["every_line_caesura_position"] = reinterpret_cast(&(df_structure->every_line_caesura_position)) - reinterpret_cast(df_structure); + p_table["common_features"] = reinterpret_cast(&(df_structure->common_features)) - reinterpret_cast(df_structure); + p_table["mood"] = reinterpret_cast(&(df_structure->mood)) - reinterpret_cast(df_structure); + p_table["subject"] = reinterpret_cast(&(df_structure->subject)) - reinterpret_cast(df_structure); + p_table["subject_histfig"] = reinterpret_cast(&(df_structure->subject_histfig)) - reinterpret_cast(df_structure); + p_table["subject_topic"] = reinterpret_cast(&(df_structure->subject_topic)) - reinterpret_cast(df_structure); + p_table["action"] = reinterpret_cast(&(df_structure->action)) - reinterpret_cast(df_structure); + p_table["preferred_perspective"] = reinterpret_cast(&(df_structure->preferred_perspective)) - reinterpret_cast(df_structure); + p_table["features"] = reinterpret_cast(&(df_structure->features)) - reinterpret_cast(df_structure); + p_table["perspectives"] = reinterpret_cast(&(df_structure->perspectives)) - reinterpret_cast(df_structure); +} + +void generate_musical_form_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["originating_entity"] = reinterpret_cast(&(df_structure->originating_entity)) - reinterpret_cast(df_structure); + p_table["original_author"] = reinterpret_cast(&(df_structure->original_author)) - reinterpret_cast(df_structure); + p_table["scales"] = reinterpret_cast(&(df_structure->scales)) - reinterpret_cast(df_structure); + p_table["instruments"] = reinterpret_cast(&(df_structure->instruments)) - reinterpret_cast(df_structure); + p_table["melodies"] = reinterpret_cast(&(df_structure->melodies)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["tempo_style"] = reinterpret_cast(&(df_structure->tempo_style)) - reinterpret_cast(df_structure); + p_table["dynamic_style"] = reinterpret_cast(&(df_structure->dynamic_style)) - reinterpret_cast(df_structure); + p_table["overall_style"] = reinterpret_cast(&(df_structure->overall_style)) - reinterpret_cast(df_structure); + p_table["poetic_form_id"] = reinterpret_cast(&(df_structure->poetic_form_id)) - reinterpret_cast(df_structure); + p_table["written_content_id"] = reinterpret_cast(&(df_structure->written_content_id)) - reinterpret_cast(df_structure); + p_table["scale_id"] = reinterpret_cast(&(df_structure->scale_id)) - reinterpret_cast(df_structure); + p_table["scale_subid"] = reinterpret_cast(&(df_structure->scale_subid)) - reinterpret_cast(df_structure); + p_table["rhythm_id"] = reinterpret_cast(&(df_structure->rhythm_id)) - reinterpret_cast(df_structure); + p_table["rhythm_subid2"] = reinterpret_cast(&(df_structure->rhythm_subid2)) - reinterpret_cast(df_structure); + p_table["rhythm_subid1"] = reinterpret_cast(&(df_structure->rhythm_subid1)) - reinterpret_cast(df_structure); + p_table["features"] = reinterpret_cast(&(df_structure->features)) - reinterpret_cast(df_structure); + p_table["pitch_style"] = reinterpret_cast(&(df_structure->pitch_style)) - reinterpret_cast(df_structure); + p_table["purpose"] = reinterpret_cast(&(df_structure->purpose)) - reinterpret_cast(df_structure); + p_table["devotion_target"] = reinterpret_cast(&(df_structure->devotion_target)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); +} + +void generate_dance_form_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["musical_form_id"] = reinterpret_cast(&(df_structure->musical_form_id)) - reinterpret_cast(df_structure); + p_table["music_written_content_id"] = reinterpret_cast(&(df_structure->music_written_content_id)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["originating_entity"] = reinterpret_cast(&(df_structure->originating_entity)) - reinterpret_cast(df_structure); + p_table["original_author"] = reinterpret_cast(&(df_structure->original_author)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); + p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); + p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); + p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); + p_table["anon_11"] = reinterpret_cast(&(df_structure->anon_11)) - reinterpret_cast(df_structure); + p_table["anon_12"] = reinterpret_cast(&(df_structure->anon_12)) - reinterpret_cast(df_structure); + p_table["anon_13"] = reinterpret_cast(&(df_structure->anon_13)) - reinterpret_cast(df_structure); + p_table["anon_14"] = reinterpret_cast(&(df_structure->anon_14)) - reinterpret_cast(df_structure); + p_table["anon_15"] = reinterpret_cast(&(df_structure->anon_15)) - reinterpret_cast(df_structure); + p_table["anon_16"] = reinterpret_cast(&(df_structure->anon_16)) - reinterpret_cast(df_structure); + p_table["anon_17"] = reinterpret_cast(&(df_structure->anon_17)) - reinterpret_cast(df_structure); + p_table["anon_18"] = reinterpret_cast(&(df_structure->anon_18)) - reinterpret_cast(df_structure); + p_table["anon_19"] = reinterpret_cast(&(df_structure->anon_19)) - reinterpret_cast(df_structure); + p_table["anon_20"] = reinterpret_cast(&(df_structure->anon_20)) - reinterpret_cast(df_structure); + p_table["anon_21"] = reinterpret_cast(&(df_structure->anon_21)) - reinterpret_cast(df_structure); + p_table["anon_22"] = reinterpret_cast(&(df_structure->anon_22)) - reinterpret_cast(df_structure); +} + +void generate_entity_occasion_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["event"] = reinterpret_cast(&(df_structure->event)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); + p_table["schedule"] = reinterpret_cast(&(df_structure->schedule)) - reinterpret_cast(df_structure); + p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); +} + +void generate_historical_entity__T_resources__T_metal_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["pick"] = reinterpret_cast(&(df_structure->pick)) - reinterpret_cast(df_structure); + p_table["weapon"] = reinterpret_cast(&(df_structure->weapon)) - reinterpret_cast(df_structure); + p_table["ranged"] = reinterpret_cast(&(df_structure->ranged)) - reinterpret_cast(df_structure); + p_table["ammo"] = reinterpret_cast(&(df_structure->ammo)) - reinterpret_cast(df_structure); + p_table["ammo2"] = reinterpret_cast(&(df_structure->ammo2)) - reinterpret_cast(df_structure); + p_table["armor"] = reinterpret_cast(&(df_structure->armor)) - reinterpret_cast(df_structure); + p_table["anvil"] = reinterpret_cast(&(df_structure->anvil)) - reinterpret_cast(df_structure); +} + +void generate_historical_entity__T_resources__T_organic_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["leather"] = reinterpret_cast(&(df_structure->leather)) - reinterpret_cast(df_structure); + p_table["parchment"] = reinterpret_cast(&(df_structure->parchment)) - reinterpret_cast(df_structure); + p_table["fiber"] = reinterpret_cast(&(df_structure->fiber)) - reinterpret_cast(df_structure); + p_table["silk"] = reinterpret_cast(&(df_structure->silk)) - reinterpret_cast(df_structure); + p_table["wool"] = reinterpret_cast(&(df_structure->wool)) - reinterpret_cast(df_structure); + p_table["wood"] = reinterpret_cast(&(df_structure->wood)) - reinterpret_cast(df_structure); +} + +void generate_historical_entity__T_resources__T_refuse_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["bone"] = reinterpret_cast(&(df_structure->bone)) - reinterpret_cast(df_structure); + p_table["shell"] = reinterpret_cast(&(df_structure->shell)) - reinterpret_cast(df_structure); + p_table["pearl"] = reinterpret_cast(&(df_structure->pearl)) - reinterpret_cast(df_structure); + p_table["ivory"] = reinterpret_cast(&(df_structure->ivory)) - reinterpret_cast(df_structure); + p_table["horn"] = reinterpret_cast(&(df_structure->horn)) - reinterpret_cast(df_structure); +} + +void generate_historical_entity__T_resources__T_misc_mat_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["others"] = reinterpret_cast(&(df_structure->others)) - reinterpret_cast(df_structure); + p_table["glass"] = reinterpret_cast(&(df_structure->glass)) - reinterpret_cast(df_structure); + p_table["sand"] = reinterpret_cast(&(df_structure->sand)) - reinterpret_cast(df_structure); + p_table["clay"] = reinterpret_cast(&(df_structure->clay)) - reinterpret_cast(df_structure); + p_table["crafts"] = reinterpret_cast(&(df_structure->crafts)) - reinterpret_cast(df_structure); + p_table["glass_unused"] = reinterpret_cast(&(df_structure->glass_unused)) - reinterpret_cast(df_structure); + p_table["barrels"] = reinterpret_cast(&(df_structure->barrels)) - reinterpret_cast(df_structure); + p_table["flasks"] = reinterpret_cast(&(df_structure->flasks)) - reinterpret_cast(df_structure); + p_table["quivers"] = reinterpret_cast(&(df_structure->quivers)) - reinterpret_cast(df_structure); + p_table["backpacks"] = reinterpret_cast(&(df_structure->backpacks)) - reinterpret_cast(df_structure); + p_table["cages"] = reinterpret_cast(&(df_structure->cages)) - reinterpret_cast(df_structure); + p_table["wood2"] = reinterpret_cast(&(df_structure->wood2)) - reinterpret_cast(df_structure); + p_table["rock_metal"] = reinterpret_cast(&(df_structure->rock_metal)) - reinterpret_cast(df_structure); + p_table["booze"] = reinterpret_cast(&(df_structure->booze)) - reinterpret_cast(df_structure); + p_table["cheese"] = reinterpret_cast(&(df_structure->cheese)) - reinterpret_cast(df_structure); + p_table["powders"] = reinterpret_cast(&(df_structure->powders)) - reinterpret_cast(df_structure); + p_table["extracts"] = reinterpret_cast(&(df_structure->extracts)) - reinterpret_cast(df_structure); + p_table["meat"] = reinterpret_cast(&(df_structure->meat)) - reinterpret_cast(df_structure); +} + +void generate_historical_entity__T_resources__T_wood_products_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); + p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); + p_table["material"] = reinterpret_cast(&(df_structure->material)) - reinterpret_cast(df_structure); +} + +void generate_historical_entity__T_resources__T_animals_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["pet_races"] = reinterpret_cast(&(df_structure->pet_races)) - reinterpret_cast(df_structure); + p_table["wagon_races"] = reinterpret_cast(&(df_structure->wagon_races)) - reinterpret_cast(df_structure); + p_table["pack_animal_races"] = reinterpret_cast(&(df_structure->pack_animal_races)) - reinterpret_cast(df_structure); + p_table["wagon_puller_races"] = reinterpret_cast(&(df_structure->wagon_puller_races)) - reinterpret_cast(df_structure); + p_table["mount_races"] = reinterpret_cast(&(df_structure->mount_races)) - reinterpret_cast(df_structure); + p_table["minion_races"] = reinterpret_cast(&(df_structure->minion_races)) - reinterpret_cast(df_structure); + p_table["exotic_pet_races"] = reinterpret_cast(&(df_structure->exotic_pet_races)) - reinterpret_cast(df_structure); + p_table["pet_castes"] = reinterpret_cast(&(df_structure->pet_castes)) - reinterpret_cast(df_structure); + p_table["wagon_castes"] = reinterpret_cast(&(df_structure->wagon_castes)) - reinterpret_cast(df_structure); + p_table["pack_animal_castes"] = reinterpret_cast(&(df_structure->pack_animal_castes)) - reinterpret_cast(df_structure); + p_table["wagon_puller_castes"] = reinterpret_cast(&(df_structure->wagon_puller_castes)) - reinterpret_cast(df_structure); + p_table["mount_castes"] = reinterpret_cast(&(df_structure->mount_castes)) - reinterpret_cast(df_structure); + p_table["minion_castes"] = reinterpret_cast(&(df_structure->minion_castes)) - reinterpret_cast(df_structure); + p_table["exotic_pet_castes"] = reinterpret_cast(&(df_structure->exotic_pet_castes)) - reinterpret_cast(df_structure); +} + +void generate_historical_entity__T_resources__T_unk13_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); + p_table["unk2"] = reinterpret_cast(&(df_structure->unk2)) - reinterpret_cast(df_structure); +} + +void generate_historical_entity__T_resources_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["digger_type"] = reinterpret_cast(&(df_structure->digger_type)) - reinterpret_cast(df_structure); + p_table["weapon_type"] = reinterpret_cast(&(df_structure->weapon_type)) - reinterpret_cast(df_structure); + p_table["training_weapon_type"] = reinterpret_cast(&(df_structure->training_weapon_type)) - reinterpret_cast(df_structure); + p_table["armor_type"] = reinterpret_cast(&(df_structure->armor_type)) - reinterpret_cast(df_structure); + p_table["ammo_type"] = reinterpret_cast(&(df_structure->ammo_type)) - reinterpret_cast(df_structure); + p_table["helm_type"] = reinterpret_cast(&(df_structure->helm_type)) - reinterpret_cast(df_structure); + p_table["gloves_type"] = reinterpret_cast(&(df_structure->gloves_type)) - reinterpret_cast(df_structure); + p_table["shoes_type"] = reinterpret_cast(&(df_structure->shoes_type)) - reinterpret_cast(df_structure); + p_table["pants_type"] = reinterpret_cast(&(df_structure->pants_type)) - reinterpret_cast(df_structure); + p_table["shield_type"] = reinterpret_cast(&(df_structure->shield_type)) - reinterpret_cast(df_structure); + p_table["trapcomp_type"] = reinterpret_cast(&(df_structure->trapcomp_type)) - reinterpret_cast(df_structure); + p_table["toy_type"] = reinterpret_cast(&(df_structure->toy_type)) - reinterpret_cast(df_structure); + p_table["instrument_type"] = reinterpret_cast(&(df_structure->instrument_type)) - reinterpret_cast(df_structure); + p_table["siegeammo_type"] = reinterpret_cast(&(df_structure->siegeammo_type)) - reinterpret_cast(df_structure); + p_table["tool_type"] = reinterpret_cast(&(df_structure->tool_type)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["metal"] = reinterpret_cast(&(df_structure->metal)) - reinterpret_cast(df_structure); + p_table["organic"] = reinterpret_cast(&(df_structure->organic)) - reinterpret_cast(df_structure); + p_table["metals"] = reinterpret_cast(&(df_structure->metals)) - reinterpret_cast(df_structure); + p_table["stones"] = reinterpret_cast(&(df_structure->stones)) - reinterpret_cast(df_structure); + p_table["gems"] = reinterpret_cast(&(df_structure->gems)) - reinterpret_cast(df_structure); + p_table["refuse"] = reinterpret_cast(&(df_structure->refuse)) - reinterpret_cast(df_structure); + p_table["misc_mat"] = reinterpret_cast(&(df_structure->misc_mat)) - reinterpret_cast(df_structure); + p_table["fish_races"] = reinterpret_cast(&(df_structure->fish_races)) - reinterpret_cast(df_structure); + p_table["fish_castes"] = reinterpret_cast(&(df_structure->fish_castes)) - reinterpret_cast(df_structure); + p_table["egg_races"] = reinterpret_cast(&(df_structure->egg_races)) - reinterpret_cast(df_structure); + p_table["egg_castes"] = reinterpret_cast(&(df_structure->egg_castes)) - reinterpret_cast(df_structure); + p_table["plants"] = reinterpret_cast(&(df_structure->plants)) - reinterpret_cast(df_structure); + p_table["tree_fruit_plants"] = reinterpret_cast(&(df_structure->tree_fruit_plants)) - reinterpret_cast(df_structure); + p_table["tree_fruit_growths"] = reinterpret_cast(&(df_structure->tree_fruit_growths)) - reinterpret_cast(df_structure); + p_table["shrub_fruit_plants"] = reinterpret_cast(&(df_structure->shrub_fruit_plants)) - reinterpret_cast(df_structure); + p_table["shrub_fruit_growths"] = reinterpret_cast(&(df_structure->shrub_fruit_growths)) - reinterpret_cast(df_structure); + p_table["seeds"] = reinterpret_cast(&(df_structure->seeds)) - reinterpret_cast(df_structure); + p_table["wood_products"] = reinterpret_cast(&(df_structure->wood_products)) - reinterpret_cast(df_structure); + p_table["animals"] = reinterpret_cast(&(df_structure->animals)) - reinterpret_cast(df_structure); + p_table["meat_fish_recipes"] = reinterpret_cast(&(df_structure->meat_fish_recipes)) - reinterpret_cast(df_structure); + p_table["other_recipes"] = reinterpret_cast(&(df_structure->other_recipes)) - reinterpret_cast(df_structure); + p_table["unk13"] = reinterpret_cast(&(df_structure->unk13)) - reinterpret_cast(df_structure); + p_table["unk14"] = reinterpret_cast(&(df_structure->unk14)) - reinterpret_cast(df_structure); + p_table["unk15a"] = reinterpret_cast(&(df_structure->unk15a)) - reinterpret_cast(df_structure); + p_table["unk15b"] = reinterpret_cast(&(df_structure->unk15b)) - reinterpret_cast(df_structure); + p_table["ethic"] = reinterpret_cast(&(df_structure->ethic)) - reinterpret_cast(df_structure); + p_table["values"] = reinterpret_cast(&(df_structure->values)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["permitted_skill"] = reinterpret_cast(&(df_structure->permitted_skill)) - reinterpret_cast(df_structure); + p_table["art_image_types"] = reinterpret_cast(&(df_structure->art_image_types)) - reinterpret_cast(df_structure); + p_table["art_image_ids"] = reinterpret_cast(&(df_structure->art_image_ids)) - reinterpret_cast(df_structure); + p_table["art_image_subids"] = reinterpret_cast(&(df_structure->art_image_subids)) - reinterpret_cast(df_structure); + p_table["discovered_creature_foods"] = reinterpret_cast(&(df_structure->discovered_creature_foods)) - reinterpret_cast(df_structure); + p_table["discovered_creatures"] = reinterpret_cast(&(df_structure->discovered_creatures)) - reinterpret_cast(df_structure); + p_table["discovered_plant_foods"] = reinterpret_cast(&(df_structure->discovered_plant_foods)) - reinterpret_cast(df_structure); + p_table["discovered_plants"] = reinterpret_cast(&(df_structure->discovered_plants)) - reinterpret_cast(df_structure); + p_table["foreground_color"] = reinterpret_cast(&(df_structure->foreground_color)) - reinterpret_cast(df_structure); + p_table["background_color"] = reinterpret_cast(&(df_structure->background_color)) - reinterpret_cast(df_structure); +} + +void generate_historical_entity__T_unknown1b__T_unk32e_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); +} + +void generate_historical_entity__T_unknown1b__T_diplomacy_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["group_id"] = reinterpret_cast(&(df_structure->group_id)) - reinterpret_cast(df_structure); + p_table["relation"] = reinterpret_cast(&(df_structure->relation)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["historic_events"] = reinterpret_cast(&(df_structure->historic_events)) - reinterpret_cast(df_structure); + p_table["historic_events_collection"] = reinterpret_cast(&(df_structure->historic_events_collection)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); +} + +void generate_historical_entity__T_unknown1b_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk32a"] = reinterpret_cast(&(df_structure->unk32a)) - reinterpret_cast(df_structure); + p_table["deities"] = reinterpret_cast(&(df_structure->deities)) - reinterpret_cast(df_structure); + p_table["worship"] = reinterpret_cast(&(df_structure->worship)) - reinterpret_cast(df_structure); + p_table["belief_systems"] = reinterpret_cast(&(df_structure->belief_systems)) - reinterpret_cast(df_structure); + p_table["unk32e"] = reinterpret_cast(&(df_structure->unk32e)) - reinterpret_cast(df_structure); + p_table["diplomacy"] = reinterpret_cast(&(df_structure->diplomacy)) - reinterpret_cast(df_structure); + p_table["unk33"] = reinterpret_cast(&(df_structure->unk33)) - reinterpret_cast(df_structure); + p_table["unk34a"] = reinterpret_cast(&(df_structure->unk34a)) - reinterpret_cast(df_structure); + p_table["unk34b"] = reinterpret_cast(&(df_structure->unk34b)) - reinterpret_cast(df_structure); + p_table["unk34c"] = reinterpret_cast(&(df_structure->unk34c)) - reinterpret_cast(df_structure); + p_table["unk34d"] = reinterpret_cast(&(df_structure->unk34d)) - reinterpret_cast(df_structure); + p_table["unk34e"] = reinterpret_cast(&(df_structure->unk34e)) - reinterpret_cast(df_structure); +} + +void generate_historical_entity__T_positions_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["own"] = reinterpret_cast(&(df_structure->own)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["conquered_site"] = reinterpret_cast(&(df_structure->conquered_site)) - reinterpret_cast(df_structure); + p_table["next_position_id"] = reinterpret_cast(&(df_structure->next_position_id)) - reinterpret_cast(df_structure); + p_table["assignments"] = reinterpret_cast(&(df_structure->assignments)) - reinterpret_cast(df_structure); + p_table["next_assignment_id"] = reinterpret_cast(&(df_structure->next_assignment_id)) - reinterpret_cast(df_structure); + p_table["unk_v40_1"] = reinterpret_cast(&(df_structure->unk_v40_1)) - reinterpret_cast(df_structure); + p_table["unk_v40_2"] = reinterpret_cast(&(df_structure->unk_v40_2)) - reinterpret_cast(df_structure); + p_table["unk_v40_3"] = reinterpret_cast(&(df_structure->unk_v40_3)) - reinterpret_cast(df_structure); + p_table["unk_v40_4"] = reinterpret_cast(&(df_structure->unk_v40_4)) - reinterpret_cast(df_structure); + p_table["unk_v40_5"] = reinterpret_cast(&(df_structure->unk_v40_5)) - reinterpret_cast(df_structure); +} + +void generate_historical_entity__T_tissue_styles_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); + p_table["next_style_id"] = reinterpret_cast(&(df_structure->next_style_id)) - reinterpret_cast(df_structure); +} + +void generate_historical_entity__T_unknown1d_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk42"] = reinterpret_cast(&(df_structure->unk42)) - reinterpret_cast(df_structure); + p_table["unk43"] = reinterpret_cast(&(df_structure->unk43)) - reinterpret_cast(df_structure); + p_table["unk44"] = reinterpret_cast(&(df_structure->unk44)) - reinterpret_cast(df_structure); + p_table["unk44a"] = reinterpret_cast(&(df_structure->unk44a)) - reinterpret_cast(df_structure); + p_table["unk44b"] = reinterpret_cast(&(df_structure->unk44b)) - reinterpret_cast(df_structure); +} + +void generate_historical_entity__T_training_knowledge_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["level"] = reinterpret_cast(&(df_structure->level)) - reinterpret_cast(df_structure); + p_table["unk_10"] = reinterpret_cast(&(df_structure->unk_10)) - reinterpret_cast(df_structure); +} + +void generate_historical_entity__T_unknown1e_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk47"] = reinterpret_cast(&(df_structure->unk47)) - reinterpret_cast(df_structure); + p_table["unk48"] = reinterpret_cast(&(df_structure->unk48)) - reinterpret_cast(df_structure); + p_table["unk49a"] = reinterpret_cast(&(df_structure->unk49a)) - reinterpret_cast(df_structure); + p_table["unk49b"] = reinterpret_cast(&(df_structure->unk49b)) - reinterpret_cast(df_structure); + p_table["unk49c"] = reinterpret_cast(&(df_structure->unk49c)) - reinterpret_cast(df_structure); + p_table["unk49d"] = reinterpret_cast(&(df_structure->unk49d)) - reinterpret_cast(df_structure); + p_table["unk49e"] = reinterpret_cast(&(df_structure->unk49e)) - reinterpret_cast(df_structure); + p_table["unk49f"] = reinterpret_cast(&(df_structure->unk49f)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_historical_entity__T_derived_resources_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mill_cookable"] = reinterpret_cast(&(df_structure->mill_cookable)) - reinterpret_cast(df_structure); + p_table["mill_dye"] = reinterpret_cast(&(df_structure->mill_dye)) - reinterpret_cast(df_structure); + p_table["armor_leather"] = reinterpret_cast(&(df_structure->armor_leather)) - reinterpret_cast(df_structure); + p_table["armor_chain"] = reinterpret_cast(&(df_structure->armor_chain)) - reinterpret_cast(df_structure); + p_table["armor_plate"] = reinterpret_cast(&(df_structure->armor_plate)) - reinterpret_cast(df_structure); + p_table["armor_under"] = reinterpret_cast(&(df_structure->armor_under)) - reinterpret_cast(df_structure); + p_table["armor_over"] = reinterpret_cast(&(df_structure->armor_over)) - reinterpret_cast(df_structure); + p_table["armor_cover"] = reinterpret_cast(&(df_structure->armor_cover)) - reinterpret_cast(df_structure); + p_table["pants_leather"] = reinterpret_cast(&(df_structure->pants_leather)) - reinterpret_cast(df_structure); + p_table["pants_chain"] = reinterpret_cast(&(df_structure->pants_chain)) - reinterpret_cast(df_structure); + p_table["pants_plate"] = reinterpret_cast(&(df_structure->pants_plate)) - reinterpret_cast(df_structure); + p_table["pants_under"] = reinterpret_cast(&(df_structure->pants_under)) - reinterpret_cast(df_structure); + p_table["pants_over"] = reinterpret_cast(&(df_structure->pants_over)) - reinterpret_cast(df_structure); + p_table["pants_cover"] = reinterpret_cast(&(df_structure->pants_cover)) - reinterpret_cast(df_structure); + p_table["helm_leather"] = reinterpret_cast(&(df_structure->helm_leather)) - reinterpret_cast(df_structure); + p_table["helm_chain"] = reinterpret_cast(&(df_structure->helm_chain)) - reinterpret_cast(df_structure); + p_table["helm_plate"] = reinterpret_cast(&(df_structure->helm_plate)) - reinterpret_cast(df_structure); + p_table["helm_under"] = reinterpret_cast(&(df_structure->helm_under)) - reinterpret_cast(df_structure); + p_table["helm_over"] = reinterpret_cast(&(df_structure->helm_over)) - reinterpret_cast(df_structure); + p_table["helm_cover"] = reinterpret_cast(&(df_structure->helm_cover)) - reinterpret_cast(df_structure); + p_table["shoes_leather"] = reinterpret_cast(&(df_structure->shoes_leather)) - reinterpret_cast(df_structure); + p_table["shoes_chain"] = reinterpret_cast(&(df_structure->shoes_chain)) - reinterpret_cast(df_structure); + p_table["shoes_plate"] = reinterpret_cast(&(df_structure->shoes_plate)) - reinterpret_cast(df_structure); + p_table["shoes_under"] = reinterpret_cast(&(df_structure->shoes_under)) - reinterpret_cast(df_structure); + p_table["shoes_over"] = reinterpret_cast(&(df_structure->shoes_over)) - reinterpret_cast(df_structure); + p_table["shoes_cover"] = reinterpret_cast(&(df_structure->shoes_cover)) - reinterpret_cast(df_structure); + p_table["gloves_leather"] = reinterpret_cast(&(df_structure->gloves_leather)) - reinterpret_cast(df_structure); + p_table["gloves_chain"] = reinterpret_cast(&(df_structure->gloves_chain)) - reinterpret_cast(df_structure); + p_table["gloves_plate"] = reinterpret_cast(&(df_structure->gloves_plate)) - reinterpret_cast(df_structure); + p_table["gloves_under"] = reinterpret_cast(&(df_structure->gloves_under)) - reinterpret_cast(df_structure); + p_table["gloves_over"] = reinterpret_cast(&(df_structure->gloves_over)) - reinterpret_cast(df_structure); + p_table["gloves_cover"] = reinterpret_cast(&(df_structure->gloves_cover)) - reinterpret_cast(df_structure); +} + +void generate_historical_entity__T_claims_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["areas"] = reinterpret_cast(&(df_structure->areas)) - reinterpret_cast(df_structure); + p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); + p_table["border"] = reinterpret_cast(&(df_structure->border)) - reinterpret_cast(df_structure); +} + +void generate_historical_entity__T_unknown2_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["metal_proficiency"] = reinterpret_cast(&(df_structure->metal_proficiency)) - reinterpret_cast(df_structure); + p_table["unk10"] = reinterpret_cast(&(df_structure->unk10)) - reinterpret_cast(df_structure); + p_table["resource_allotment"] = reinterpret_cast(&(df_structure->resource_allotment)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["unk12a"] = reinterpret_cast(&(df_structure->unk12a)) - reinterpret_cast(df_structure); + p_table["unk12b"] = reinterpret_cast(&(df_structure->unk12b)) - reinterpret_cast(df_structure); + p_table["unk13"] = reinterpret_cast(&(df_structure->unk13)) - reinterpret_cast(df_structure); + p_table["landmass"] = reinterpret_cast(&(df_structure->landmass)) - reinterpret_cast(df_structure); + p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); + p_table["unk16"] = reinterpret_cast(&(df_structure->unk16)) - reinterpret_cast(df_structure); + p_table["unk17"] = reinterpret_cast(&(df_structure->unk17)) - reinterpret_cast(df_structure); + p_table["unk18"] = reinterpret_cast(&(df_structure->unk18)) - reinterpret_cast(df_structure); + p_table["unk19"] = reinterpret_cast(&(df_structure->unk19)) - reinterpret_cast(df_structure); + p_table["unk20"] = reinterpret_cast(&(df_structure->unk20)) - reinterpret_cast(df_structure); + p_table["unk21"] = reinterpret_cast(&(df_structure->unk21)) - reinterpret_cast(df_structure); + p_table["unk22"] = reinterpret_cast(&(df_structure->unk22)) - reinterpret_cast(df_structure); + p_table["unk23"] = reinterpret_cast(&(df_structure->unk23)) - reinterpret_cast(df_structure); + p_table["unk24"] = reinterpret_cast(&(df_structure->unk24)) - reinterpret_cast(df_structure); + p_table["unk25"] = reinterpret_cast(&(df_structure->unk25)) - reinterpret_cast(df_structure); + p_table["unk_9C"] = reinterpret_cast(&(df_structure->unk_9C)) - reinterpret_cast(df_structure); + p_table["unk_A0"] = reinterpret_cast(&(df_structure->unk_A0)) - reinterpret_cast(df_structure); + p_table["unk_A4"] = reinterpret_cast(&(df_structure->unk_A4)) - reinterpret_cast(df_structure); + p_table["unk_A8"] = reinterpret_cast(&(df_structure->unk_A8)) - reinterpret_cast(df_structure); + p_table["unk_AC"] = reinterpret_cast(&(df_structure->unk_AC)) - reinterpret_cast(df_structure); + p_table["unk_B0"] = reinterpret_cast(&(df_structure->unk_B0)) - reinterpret_cast(df_structure); + p_table["unk_B4"] = reinterpret_cast(&(df_structure->unk_B4)) - reinterpret_cast(df_structure); + p_table["unk_B8"] = reinterpret_cast(&(df_structure->unk_B8)) - reinterpret_cast(df_structure); + p_table["unk_BC"] = reinterpret_cast(&(df_structure->unk_BC)) - reinterpret_cast(df_structure); + p_table["unk_C0"] = reinterpret_cast(&(df_structure->unk_C0)) - reinterpret_cast(df_structure); + p_table["unk26a"] = reinterpret_cast(&(df_structure->unk26a)) - reinterpret_cast(df_structure); + p_table["unk26b"] = reinterpret_cast(&(df_structure->unk26b)) - reinterpret_cast(df_structure); + p_table["unk26c"] = reinterpret_cast(&(df_structure->unk26c)) - reinterpret_cast(df_structure); + p_table["unk26d"] = reinterpret_cast(&(df_structure->unk26d)) - reinterpret_cast(df_structure); + p_table["unk26e"] = reinterpret_cast(&(df_structure->unk26e)) - reinterpret_cast(df_structure); + p_table["unk28"] = reinterpret_cast(&(df_structure->unk28)) - reinterpret_cast(df_structure); + p_table["unk29"] = reinterpret_cast(&(df_structure->unk29)) - reinterpret_cast(df_structure); +} + +void generate_historical_entity_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["entity_raw"] = reinterpret_cast(&(df_structure->entity_raw)) - reinterpret_cast(df_structure); + p_table["save_file_id"] = reinterpret_cast(&(df_structure->save_file_id)) - reinterpret_cast(df_structure); + p_table["next_member_idx"] = reinterpret_cast(&(df_structure->next_member_idx)) - reinterpret_cast(df_structure); + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["entity_links"] = reinterpret_cast(&(df_structure->entity_links)) - reinterpret_cast(df_structure); + p_table["site_links"] = reinterpret_cast(&(df_structure->site_links)) - reinterpret_cast(df_structure); + p_table["histfig_ids"] = reinterpret_cast(&(df_structure->histfig_ids)) - reinterpret_cast(df_structure); + p_table["populations"] = reinterpret_cast(&(df_structure->populations)) - reinterpret_cast(df_structure); + p_table["nemesis_ids"] = reinterpret_cast(&(df_structure->nemesis_ids)) - reinterpret_cast(df_structure); + p_table["resources"] = reinterpret_cast(&(df_structure->resources)) - reinterpret_cast(df_structure); + p_table["uniforms"] = reinterpret_cast(&(df_structure->uniforms)) - reinterpret_cast(df_structure); + p_table["next_uniform_id"] = reinterpret_cast(&(df_structure->next_uniform_id)) - reinterpret_cast(df_structure); + p_table["unknown1b"] = reinterpret_cast(&(df_structure->unknown1b)) - reinterpret_cast(df_structure); + p_table["positions"] = reinterpret_cast(&(df_structure->positions)) - reinterpret_cast(df_structure); + p_table["tissue_styles"] = reinterpret_cast(&(df_structure->tissue_styles)) - reinterpret_cast(df_structure); + p_table["squads"] = reinterpret_cast(&(df_structure->squads)) - reinterpret_cast(df_structure); + p_table["unknown1d"] = reinterpret_cast(&(df_structure->unknown1d)) - reinterpret_cast(df_structure); + p_table["training_knowledge"] = reinterpret_cast(&(df_structure->training_knowledge)) - reinterpret_cast(df_structure); + p_table["events"] = reinterpret_cast(&(df_structure->events)) - reinterpret_cast(df_structure); + p_table["unk_v40_1a"] = reinterpret_cast(&(df_structure->unk_v40_1a)) - reinterpret_cast(df_structure); + p_table["unk_v40_1b"] = reinterpret_cast(&(df_structure->unk_v40_1b)) - reinterpret_cast(df_structure); + p_table["unk_v40_1c"] = reinterpret_cast(&(df_structure->unk_v40_1c)) - reinterpret_cast(df_structure); + p_table["unk_v40_1d"] = reinterpret_cast(&(df_structure->unk_v40_1d)) - reinterpret_cast(df_structure); + p_table["unk_v40_1e"] = reinterpret_cast(&(df_structure->unk_v40_1e)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["occasion_info"] = reinterpret_cast(&(df_structure->occasion_info)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); + p_table["meeting_events"] = reinterpret_cast(&(df_structure->meeting_events)) - reinterpret_cast(df_structure); + p_table["activity_stats"] = reinterpret_cast(&(df_structure->activity_stats)) - reinterpret_cast(df_structure); + p_table["unknown1e"] = reinterpret_cast(&(df_structure->unknown1e)) - reinterpret_cast(df_structure); + p_table["armies"] = reinterpret_cast(&(df_structure->armies)) - reinterpret_cast(df_structure); + p_table["army_controllers"] = reinterpret_cast(&(df_structure->army_controllers)) - reinterpret_cast(df_structure); + p_table["hist_figures"] = reinterpret_cast(&(df_structure->hist_figures)) - reinterpret_cast(df_structure); + p_table["nemesis"] = reinterpret_cast(&(df_structure->nemesis)) - reinterpret_cast(df_structure); + p_table["derived_resources"] = reinterpret_cast(&(df_structure->derived_resources)) - reinterpret_cast(df_structure); + p_table["assignments_by_type"] = reinterpret_cast(&(df_structure->assignments_by_type)) - reinterpret_cast(df_structure); + p_table["claims"] = reinterpret_cast(&(df_structure->claims)) - reinterpret_cast(df_structure); + p_table["children"] = reinterpret_cast(&(df_structure->children)) - reinterpret_cast(df_structure); + p_table["unknown2"] = reinterpret_cast(&(df_structure->unknown2)) - reinterpret_cast(df_structure); +} + +void generate_historical_figure__T_unk_fc_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk_0"] = reinterpret_cast(&(df_structure->unk_0)) - reinterpret_cast(df_structure); + p_table["unk_8"] = reinterpret_cast(&(df_structure->unk_8)) - reinterpret_cast(df_structure); +} + +void generate_historical_figure_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["profession"] = reinterpret_cast(&(df_structure->profession)) - reinterpret_cast(df_structure); + p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); + p_table["caste"] = reinterpret_cast(&(df_structure->caste)) - reinterpret_cast(df_structure); + p_table["sex"] = reinterpret_cast(&(df_structure->sex)) - reinterpret_cast(df_structure); + p_table["orientation_flags"] = reinterpret_cast(&(df_structure->orientation_flags)) - reinterpret_cast(df_structure); + p_table["appeared_year"] = reinterpret_cast(&(df_structure->appeared_year)) - reinterpret_cast(df_structure); + p_table["born_year"] = reinterpret_cast(&(df_structure->born_year)) - reinterpret_cast(df_structure); + p_table["born_seconds"] = reinterpret_cast(&(df_structure->born_seconds)) - reinterpret_cast(df_structure); + p_table["curse_year"] = reinterpret_cast(&(df_structure->curse_year)) - reinterpret_cast(df_structure); + p_table["curse_seconds"] = reinterpret_cast(&(df_structure->curse_seconds)) - reinterpret_cast(df_structure); + p_table["birth_year_bias"] = reinterpret_cast(&(df_structure->birth_year_bias)) - reinterpret_cast(df_structure); + p_table["birth_time_bias"] = reinterpret_cast(&(df_structure->birth_time_bias)) - reinterpret_cast(df_structure); + p_table["old_year"] = reinterpret_cast(&(df_structure->old_year)) - reinterpret_cast(df_structure); + p_table["old_seconds"] = reinterpret_cast(&(df_structure->old_seconds)) - reinterpret_cast(df_structure); + p_table["died_year"] = reinterpret_cast(&(df_structure->died_year)) - reinterpret_cast(df_structure); + p_table["died_seconds"] = reinterpret_cast(&(df_structure->died_seconds)) - reinterpret_cast(df_structure); + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["civ_id"] = reinterpret_cast(&(df_structure->civ_id)) - reinterpret_cast(df_structure); + p_table["population_id"] = reinterpret_cast(&(df_structure->population_id)) - reinterpret_cast(df_structure); + p_table["breed_id"] = reinterpret_cast(&(df_structure->breed_id)) - reinterpret_cast(df_structure); + p_table["cultural_identity"] = reinterpret_cast(&(df_structure->cultural_identity)) - reinterpret_cast(df_structure); + p_table["family_head_id"] = reinterpret_cast(&(df_structure->family_head_id)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["unit_id"] = reinterpret_cast(&(df_structure->unit_id)) - reinterpret_cast(df_structure); + p_table["unit_id2"] = reinterpret_cast(&(df_structure->unit_id2)) - reinterpret_cast(df_structure); + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["unk4"] = reinterpret_cast(&(df_structure->unk4)) - reinterpret_cast(df_structure); + p_table["entity_links"] = reinterpret_cast(&(df_structure->entity_links)) - reinterpret_cast(df_structure); + p_table["site_links"] = reinterpret_cast(&(df_structure->site_links)) - reinterpret_cast(df_structure); + p_table["histfig_links"] = reinterpret_cast(&(df_structure->histfig_links)) - reinterpret_cast(df_structure); + p_table["info"] = reinterpret_cast(&(df_structure->info)) - reinterpret_cast(df_structure); + p_table["unk_f0"] = reinterpret_cast(&(df_structure->unk_f0)) - reinterpret_cast(df_structure); + p_table["unk_f4"] = reinterpret_cast(&(df_structure->unk_f4)) - reinterpret_cast(df_structure); + p_table["unk_f8"] = reinterpret_cast(&(df_structure->unk_f8)) - reinterpret_cast(df_structure); + p_table["unk_fc"] = reinterpret_cast(&(df_structure->unk_fc)) - reinterpret_cast(df_structure); + p_table["unk_100"] = reinterpret_cast(&(df_structure->unk_100)) - reinterpret_cast(df_structure); + p_table["unk_v4019_1"] = reinterpret_cast(&(df_structure->unk_v4019_1)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_identity_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); + p_table["caste"] = reinterpret_cast(&(df_structure->caste)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["histfig_id"] = reinterpret_cast(&(df_structure->histfig_id)) - reinterpret_cast(df_structure); + p_table["unk_4c"] = reinterpret_cast(&(df_structure->unk_4c)) - reinterpret_cast(df_structure); + p_table["birth_year"] = reinterpret_cast(&(df_structure->birth_year)) - reinterpret_cast(df_structure); + p_table["birth_second"] = reinterpret_cast(&(df_structure->birth_second)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["profession"] = reinterpret_cast(&(df_structure->profession)) - reinterpret_cast(df_structure); + p_table["civ"] = reinterpret_cast(&(df_structure->civ)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); +} + +void generate_history_event_collection_warst__T_unk_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["ethics_unk1"] = reinterpret_cast(&(df_structure->ethics_unk1)) - reinterpret_cast(df_structure); + p_table["disputed_ethics"] = reinterpret_cast(&(df_structure->disputed_ethics)) - reinterpret_cast(df_structure); + p_table["ethics_unk3"] = reinterpret_cast(&(df_structure->ethics_unk3)) - reinterpret_cast(df_structure); + p_table["dispute_severities"] = reinterpret_cast(&(df_structure->dispute_severities)) - reinterpret_cast(df_structure); + p_table["worst_severity"] = reinterpret_cast(&(df_structure->worst_severity)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); + p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); + p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); + p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); +} + +void generate_history_event_collection_warst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["attacker_civ"] = reinterpret_cast(&(df_structure->attacker_civ)) - reinterpret_cast(df_structure); + p_table["defender_civ"] = reinterpret_cast(&(df_structure->defender_civ)) - reinterpret_cast(df_structure); + p_table["unk"] = reinterpret_cast(&(df_structure->unk)) - reinterpret_cast(df_structure); +} + +void generate_history_event_collection_battlest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["parent_collection"] = reinterpret_cast(&(df_structure->parent_collection)) - reinterpret_cast(df_structure); + p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); + p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["region_pos"] = reinterpret_cast(&(df_structure->region_pos)) - reinterpret_cast(df_structure); + p_table["attacker_civ"] = reinterpret_cast(&(df_structure->attacker_civ)) - reinterpret_cast(df_structure); + p_table["defender_civ"] = reinterpret_cast(&(df_structure->defender_civ)) - reinterpret_cast(df_structure); + p_table["attacker_hf"] = reinterpret_cast(&(df_structure->attacker_hf)) - reinterpret_cast(df_structure); + p_table["defender_hf"] = reinterpret_cast(&(df_structure->defender_hf)) - reinterpret_cast(df_structure); + p_table["noncombat_hf"] = reinterpret_cast(&(df_structure->noncombat_hf)) - reinterpret_cast(df_structure); + p_table["attacker_squad_entity_pop"] = reinterpret_cast(&(df_structure->attacker_squad_entity_pop)) - reinterpret_cast(df_structure); + p_table["attacker_squad_counts"] = reinterpret_cast(&(df_structure->attacker_squad_counts)) - reinterpret_cast(df_structure); + p_table["attacker_squad_deaths"] = reinterpret_cast(&(df_structure->attacker_squad_deaths)) - reinterpret_cast(df_structure); + p_table["attacker_squad_races"] = reinterpret_cast(&(df_structure->attacker_squad_races)) - reinterpret_cast(df_structure); + p_table["attacker_squad_sites"] = reinterpret_cast(&(df_structure->attacker_squad_sites)) - reinterpret_cast(df_structure); + p_table["defender_squad_entity_pops"] = reinterpret_cast(&(df_structure->defender_squad_entity_pops)) - reinterpret_cast(df_structure); + p_table["defender_squad_counts"] = reinterpret_cast(&(df_structure->defender_squad_counts)) - reinterpret_cast(df_structure); + p_table["defender_squad_deaths"] = reinterpret_cast(&(df_structure->defender_squad_deaths)) - reinterpret_cast(df_structure); + p_table["defender_squad_races"] = reinterpret_cast(&(df_structure->defender_squad_races)) - reinterpret_cast(df_structure); + p_table["defender_squad_sites"] = reinterpret_cast(&(df_structure->defender_squad_sites)) - reinterpret_cast(df_structure); + p_table["outcome"] = reinterpret_cast(&(df_structure->outcome)) - reinterpret_cast(df_structure); +} + +void generate_world_history__T_event_collections_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); + p_table["other"] = reinterpret_cast(&(df_structure->other)) - reinterpret_cast(df_structure); +} + +void generate_world_history_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["events"] = reinterpret_cast(&(df_structure->events)) - reinterpret_cast(df_structure); + p_table["events_death"] = reinterpret_cast(&(df_structure->events_death)) - reinterpret_cast(df_structure); + p_table["figures"] = reinterpret_cast(&(df_structure->figures)) - reinterpret_cast(df_structure); + p_table["event_collections"] = reinterpret_cast(&(df_structure->event_collections)) - reinterpret_cast(df_structure); + p_table["eras"] = reinterpret_cast(&(df_structure->eras)) - reinterpret_cast(df_structure); + p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); + p_table["unk2"] = reinterpret_cast(&(df_structure->unk2)) - reinterpret_cast(df_structure); + p_table["total_unk"] = reinterpret_cast(&(df_structure->total_unk)) - reinterpret_cast(df_structure); + p_table["total_powers"] = reinterpret_cast(&(df_structure->total_powers)) - reinterpret_cast(df_structure); + p_table["total_megabeasts"] = reinterpret_cast(&(df_structure->total_megabeasts)) - reinterpret_cast(df_structure); + p_table["total_semimegabeasts"] = reinterpret_cast(&(df_structure->total_semimegabeasts)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["unk_v42_1"] = reinterpret_cast(&(df_structure->unk_v42_1)) - reinterpret_cast(df_structure); + p_table["live_megabeasts"] = reinterpret_cast(&(df_structure->live_megabeasts)) - reinterpret_cast(df_structure); + p_table["live_semimegabeasts"] = reinterpret_cast(&(df_structure->live_semimegabeasts)) - reinterpret_cast(df_structure); + p_table["unk_histfig_3"] = reinterpret_cast(&(df_structure->unk_histfig_3)) - reinterpret_cast(df_structure); + p_table["unk_histfig_4"] = reinterpret_cast(&(df_structure->unk_histfig_4)) - reinterpret_cast(df_structure); + p_table["unk_histfig_5"] = reinterpret_cast(&(df_structure->unk_histfig_5)) - reinterpret_cast(df_structure); + p_table["unk_v40_1"] = reinterpret_cast(&(df_structure->unk_v40_1)) - reinterpret_cast(df_structure); + p_table["unk_histfig_6"] = reinterpret_cast(&(df_structure->unk_histfig_6)) - reinterpret_cast(df_structure); + p_table["unk_histfig_7"] = reinterpret_cast(&(df_structure->unk_histfig_7)) - reinterpret_cast(df_structure); + p_table["unk_histfig_8"] = reinterpret_cast(&(df_structure->unk_histfig_8)) - reinterpret_cast(df_structure); + p_table["unk_histfig_9"] = reinterpret_cast(&(df_structure->unk_histfig_9)) - reinterpret_cast(df_structure); + p_table["unk_histfig_10"] = reinterpret_cast(&(df_structure->unk_histfig_10)) - reinterpret_cast(df_structure); + p_table["unk_histfig_11"] = reinterpret_cast(&(df_structure->unk_histfig_11)) - reinterpret_cast(df_structure); + p_table["unk_histfig_12"] = reinterpret_cast(&(df_structure->unk_histfig_12)) - reinterpret_cast(df_structure); + p_table["unk_histfig_13"] = reinterpret_cast(&(df_structure->unk_histfig_13)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); + p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); +} + +void generate_item_critter_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); + p_table["caste"] = reinterpret_cast(&(df_structure->caste)) - reinterpret_cast(df_structure); + p_table["milk_timer"] = reinterpret_cast(&(df_structure->milk_timer)) - reinterpret_cast(df_structure); + p_table["airdrown_timer"] = reinterpret_cast(&(df_structure->airdrown_timer)) - reinterpret_cast(df_structure); + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); +} + +void generate_item_verminst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_item_petst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["owner_id"] = reinterpret_cast(&(df_structure->owner_id)) - reinterpret_cast(df_structure); + p_table["pet_flags"] = reinterpret_cast(&(df_structure->pet_flags)) - reinterpret_cast(df_structure); +} + +void generate_language_word_table_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["words"] = reinterpret_cast(&(df_structure->words)) - reinterpret_cast(df_structure); + p_table["parts"] = reinterpret_cast(&(df_structure->parts)) - reinterpret_cast(df_structure); +} + +void generate_entity_raw__T_equipment_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["digger_id"] = reinterpret_cast(&(df_structure->digger_id)) - reinterpret_cast(df_structure); + p_table["weapon_id"] = reinterpret_cast(&(df_structure->weapon_id)) - reinterpret_cast(df_structure); + p_table["armor_id"] = reinterpret_cast(&(df_structure->armor_id)) - reinterpret_cast(df_structure); + p_table["ammo_id"] = reinterpret_cast(&(df_structure->ammo_id)) - reinterpret_cast(df_structure); + p_table["helm_id"] = reinterpret_cast(&(df_structure->helm_id)) - reinterpret_cast(df_structure); + p_table["gloves_id"] = reinterpret_cast(&(df_structure->gloves_id)) - reinterpret_cast(df_structure); + p_table["shoes_id"] = reinterpret_cast(&(df_structure->shoes_id)) - reinterpret_cast(df_structure); + p_table["pants_id"] = reinterpret_cast(&(df_structure->pants_id)) - reinterpret_cast(df_structure); + p_table["shield_id"] = reinterpret_cast(&(df_structure->shield_id)) - reinterpret_cast(df_structure); + p_table["trapcomp_id"] = reinterpret_cast(&(df_structure->trapcomp_id)) - reinterpret_cast(df_structure); + p_table["toy_id"] = reinterpret_cast(&(df_structure->toy_id)) - reinterpret_cast(df_structure); + p_table["instrument_id"] = reinterpret_cast(&(df_structure->instrument_id)) - reinterpret_cast(df_structure); + p_table["tool_id"] = reinterpret_cast(&(df_structure->tool_id)) - reinterpret_cast(df_structure); + p_table["siegeammo_id"] = reinterpret_cast(&(df_structure->siegeammo_id)) - reinterpret_cast(df_structure); + p_table["armor_rarity"] = reinterpret_cast(&(df_structure->armor_rarity)) - reinterpret_cast(df_structure); + p_table["helm_rarity"] = reinterpret_cast(&(df_structure->helm_rarity)) - reinterpret_cast(df_structure); + p_table["gloves_rarity"] = reinterpret_cast(&(df_structure->gloves_rarity)) - reinterpret_cast(df_structure); + p_table["shoes_rarity"] = reinterpret_cast(&(df_structure->shoes_rarity)) - reinterpret_cast(df_structure); + p_table["pants_rarity"] = reinterpret_cast(&(df_structure->pants_rarity)) - reinterpret_cast(df_structure); + p_table["digger_str"] = reinterpret_cast(&(df_structure->digger_str)) - reinterpret_cast(df_structure); + p_table["weapon_str"] = reinterpret_cast(&(df_structure->weapon_str)) - reinterpret_cast(df_structure); + p_table["armor_str"] = reinterpret_cast(&(df_structure->armor_str)) - reinterpret_cast(df_structure); + p_table["ammo_str"] = reinterpret_cast(&(df_structure->ammo_str)) - reinterpret_cast(df_structure); + p_table["helm_str"] = reinterpret_cast(&(df_structure->helm_str)) - reinterpret_cast(df_structure); + p_table["gloves_str"] = reinterpret_cast(&(df_structure->gloves_str)) - reinterpret_cast(df_structure); + p_table["shoes_str"] = reinterpret_cast(&(df_structure->shoes_str)) - reinterpret_cast(df_structure); + p_table["pants_str"] = reinterpret_cast(&(df_structure->pants_str)) - reinterpret_cast(df_structure); + p_table["shield_str"] = reinterpret_cast(&(df_structure->shield_str)) - reinterpret_cast(df_structure); + p_table["trapcomp_str"] = reinterpret_cast(&(df_structure->trapcomp_str)) - reinterpret_cast(df_structure); + p_table["toy_str"] = reinterpret_cast(&(df_structure->toy_str)) - reinterpret_cast(df_structure); + p_table["instrument_str"] = reinterpret_cast(&(df_structure->instrument_str)) - reinterpret_cast(df_structure); + p_table["siegeammo_str"] = reinterpret_cast(&(df_structure->siegeammo_str)) - reinterpret_cast(df_structure); + p_table["tool_str"] = reinterpret_cast(&(df_structure->tool_str)) - reinterpret_cast(df_structure); +} + +void generate_entity_raw__T_symbols_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["symbols1"] = reinterpret_cast(&(df_structure->symbols1)) - reinterpret_cast(df_structure); + p_table["symbols2"] = reinterpret_cast(&(df_structure->symbols2)) - reinterpret_cast(df_structure); + p_table["select_symbol"] = reinterpret_cast(&(df_structure->select_symbol)) - reinterpret_cast(df_structure); + p_table["subselect_symbol"] = reinterpret_cast(&(df_structure->subselect_symbol)) - reinterpret_cast(df_structure); + p_table["cull_symbol"] = reinterpret_cast(&(df_structure->cull_symbol)) - reinterpret_cast(df_structure); +} + +void generate_entity_raw__T_progress_trigger_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["population"] = reinterpret_cast(&(df_structure->population)) - reinterpret_cast(df_structure); + p_table["production"] = reinterpret_cast(&(df_structure->production)) - reinterpret_cast(df_structure); + p_table["trade"] = reinterpret_cast(&(df_structure->trade)) - reinterpret_cast(df_structure); + p_table["pop_siege"] = reinterpret_cast(&(df_structure->pop_siege)) - reinterpret_cast(df_structure); + p_table["prod_siege"] = reinterpret_cast(&(df_structure->prod_siege)) - reinterpret_cast(df_structure); + p_table["trade_siege"] = reinterpret_cast(&(df_structure->trade_siege)) - reinterpret_cast(df_structure); +} + +void generate_entity_raw__T_jobs_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["permitted_job"] = reinterpret_cast(&(df_structure->permitted_job)) - reinterpret_cast(df_structure); + p_table["permitted_labor"] = reinterpret_cast(&(df_structure->permitted_labor)) - reinterpret_cast(df_structure); + p_table["world_construction"] = reinterpret_cast(&(df_structure->world_construction)) - reinterpret_cast(df_structure); +} + +void generate_entity_raw__T_tissue_styles_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["preferred_shapings"] = reinterpret_cast(&(df_structure->preferred_shapings)) - reinterpret_cast(df_structure); + p_table["maintain_length_min"] = reinterpret_cast(&(df_structure->maintain_length_min)) - reinterpret_cast(df_structure); + p_table["maintain_length_max"] = reinterpret_cast(&(df_structure->maintain_length_max)) - reinterpret_cast(df_structure); +} + +void generate_entity_raw__T_workshops_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["permitted_building_str"] = reinterpret_cast(&(df_structure->permitted_building_str)) - reinterpret_cast(df_structure); + p_table["permitted_building_id"] = reinterpret_cast(&(df_structure->permitted_building_id)) - reinterpret_cast(df_structure); + p_table["permitted_reaction_str"] = reinterpret_cast(&(df_structure->permitted_reaction_str)) - reinterpret_cast(df_structure); + p_table["permitted_reaction_id"] = reinterpret_cast(&(df_structure->permitted_reaction_id)) - reinterpret_cast(df_structure); +} + +void generate_entity_raw__T_land_holder_trigger_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["num"] = reinterpret_cast(&(df_structure->num)) - reinterpret_cast(df_structure); + p_table["population"] = reinterpret_cast(&(df_structure->population)) - reinterpret_cast(df_structure); + p_table["wealth"] = reinterpret_cast(&(df_structure->wealth)) - reinterpret_cast(df_structure); +} + +void generate_entity_raw_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["code"] = reinterpret_cast(&(df_structure->code)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["creature_ids"] = reinterpret_cast(&(df_structure->creature_ids)) - reinterpret_cast(df_structure); + p_table["creatures"] = reinterpret_cast(&(df_structure->creatures)) - reinterpret_cast(df_structure); + p_table["equipment"] = reinterpret_cast(&(df_structure->equipment)) - reinterpret_cast(df_structure); + p_table["currency_value"] = reinterpret_cast(&(df_structure->currency_value)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["translation"] = reinterpret_cast(&(df_structure->translation)) - reinterpret_cast(df_structure); + p_table["symbols"] = reinterpret_cast(&(df_structure->symbols)) - reinterpret_cast(df_structure); + p_table["sphere_alignment"] = reinterpret_cast(&(df_structure->sphere_alignment)) - reinterpret_cast(df_structure); + p_table["art_facet_modifier"] = reinterpret_cast(&(df_structure->art_facet_modifier)) - reinterpret_cast(df_structure); + p_table["art_image_element_modifier"] = reinterpret_cast(&(df_structure->art_image_element_modifier)) - reinterpret_cast(df_structure); + p_table["item_improvement_modifier"] = reinterpret_cast(&(df_structure->item_improvement_modifier)) - reinterpret_cast(df_structure); + p_table["friendly_color"] = reinterpret_cast(&(df_structure->friendly_color)) - reinterpret_cast(df_structure); + p_table["default_site_type"] = reinterpret_cast(&(df_structure->default_site_type)) - reinterpret_cast(df_structure); + p_table["likes_site"] = reinterpret_cast(&(df_structure->likes_site)) - reinterpret_cast(df_structure); + p_table["tolerates_site"] = reinterpret_cast(&(df_structure->tolerates_site)) - reinterpret_cast(df_structure); + p_table["biome_support"] = reinterpret_cast(&(df_structure->biome_support)) - reinterpret_cast(df_structure); + p_table["start_biome"] = reinterpret_cast(&(df_structure->start_biome)) - reinterpret_cast(df_structure); + p_table["settlement_biome"] = reinterpret_cast(&(df_structure->settlement_biome)) - reinterpret_cast(df_structure); + p_table["active_season"] = reinterpret_cast(&(df_structure->active_season)) - reinterpret_cast(df_structure); + p_table["progress_trigger"] = reinterpret_cast(&(df_structure->progress_trigger)) - reinterpret_cast(df_structure); + p_table["ethic"] = reinterpret_cast(&(df_structure->ethic)) - reinterpret_cast(df_structure); + p_table["values"] = reinterpret_cast(&(df_structure->values)) - reinterpret_cast(df_structure); + p_table["variable_value_min"] = reinterpret_cast(&(df_structure->variable_value_min)) - reinterpret_cast(df_structure); + p_table["variable_value_max"] = reinterpret_cast(&(df_structure->variable_value_max)) - reinterpret_cast(df_structure); + p_table["scholar"] = reinterpret_cast(&(df_structure->scholar)) - reinterpret_cast(df_structure); + p_table["max_site_pop_number"] = reinterpret_cast(&(df_structure->max_site_pop_number)) - reinterpret_cast(df_structure); + p_table["max_pop_number"] = reinterpret_cast(&(df_structure->max_pop_number)) - reinterpret_cast(df_structure); + p_table["max_starting_civ_number"] = reinterpret_cast(&(df_structure->max_starting_civ_number)) - reinterpret_cast(df_structure); + p_table["religion"] = reinterpret_cast(&(df_structure->religion)) - reinterpret_cast(df_structure); + p_table["religion_sphere"] = reinterpret_cast(&(df_structure->religion_sphere)) - reinterpret_cast(df_structure); + p_table["jobs"] = reinterpret_cast(&(df_structure->jobs)) - reinterpret_cast(df_structure); + p_table["positions"] = reinterpret_cast(&(df_structure->positions)) - reinterpret_cast(df_structure); + p_table["variable_positions"] = reinterpret_cast(&(df_structure->variable_positions)) - reinterpret_cast(df_structure); + p_table["site_variable_positions"] = reinterpret_cast(&(df_structure->site_variable_positions)) - reinterpret_cast(df_structure); + p_table["tissue_styles"] = reinterpret_cast(&(df_structure->tissue_styles)) - reinterpret_cast(df_structure); + p_table["workshops"] = reinterpret_cast(&(df_structure->workshops)) - reinterpret_cast(df_structure); + p_table["land_holder_trigger"] = reinterpret_cast(&(df_structure->land_holder_trigger)) - reinterpret_cast(df_structure); + p_table["banditry"] = reinterpret_cast(&(df_structure->banditry)) - reinterpret_cast(df_structure); + p_table["gem_shapes_str"] = reinterpret_cast(&(df_structure->gem_shapes_str)) - reinterpret_cast(df_structure); + p_table["stone_shapes_str"] = reinterpret_cast(&(df_structure->stone_shapes_str)) - reinterpret_cast(df_structure); + p_table["gem_shapes"] = reinterpret_cast(&(df_structure->gem_shapes)) - reinterpret_cast(df_structure); + p_table["stone_shapes"] = reinterpret_cast(&(df_structure->stone_shapes)) - reinterpret_cast(df_structure); + p_table["source_hfid"] = reinterpret_cast(&(df_structure->source_hfid)) - reinterpret_cast(df_structure); + p_table["unk_v4201_1"] = reinterpret_cast(&(df_structure->unk_v4201_1)) - reinterpret_cast(df_structure); + p_table["currency_str1"] = reinterpret_cast(&(df_structure->currency_str1)) - reinterpret_cast(df_structure); + p_table["currency_str2"] = reinterpret_cast(&(df_structure->currency_str2)) - reinterpret_cast(df_structure); + p_table["animal"] = reinterpret_cast(&(df_structure->animal)) - reinterpret_cast(df_structure); +} + +void generate_entity_population_unk4__T_anon_1_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["idx"] = reinterpret_cast(&(df_structure->idx)) - reinterpret_cast(df_structure); + p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); + p_table["unk2"] = reinterpret_cast(&(df_structure->unk2)) - reinterpret_cast(df_structure); +} + +void generate_entity_population_unk4__T_anon_3_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["idx"] = reinterpret_cast(&(df_structure->idx)) - reinterpret_cast(df_structure); + p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); +} + +void generate_entity_population_unk4_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); +} + +void generate_entity_population_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["races"] = reinterpret_cast(&(df_structure->races)) - reinterpret_cast(df_structure); + p_table["counts"] = reinterpret_cast(&(df_structure->counts)) - reinterpret_cast(df_structure); + p_table["unk3"] = reinterpret_cast(&(df_structure->unk3)) - reinterpret_cast(df_structure); + p_table["unk4"] = reinterpret_cast(&(df_structure->unk4)) - reinterpret_cast(df_structure); + p_table["unk5"] = reinterpret_cast(&(df_structure->unk5)) - reinterpret_cast(df_structure); + p_table["unk6"] = reinterpret_cast(&(df_structure->unk6)) - reinterpret_cast(df_structure); + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["civ_id"] = reinterpret_cast(&(df_structure->civ_id)) - reinterpret_cast(df_structure); +} + +void generate_nemesis_record_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["unit_id"] = reinterpret_cast(&(df_structure->unit_id)) - reinterpret_cast(df_structure); + p_table["save_file_id"] = reinterpret_cast(&(df_structure->save_file_id)) - reinterpret_cast(df_structure); + p_table["member_idx"] = reinterpret_cast(&(df_structure->member_idx)) - reinterpret_cast(df_structure); + p_table["figure"] = reinterpret_cast(&(df_structure->figure)) - reinterpret_cast(df_structure); + p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); + p_table["group_leader_id"] = reinterpret_cast(&(df_structure->group_leader_id)) - reinterpret_cast(df_structure); + p_table["companions"] = reinterpret_cast(&(df_structure->companions)) - reinterpret_cast(df_structure); + p_table["unk10"] = reinterpret_cast(&(df_structure->unk10)) - reinterpret_cast(df_structure); + p_table["unk11"] = reinterpret_cast(&(df_structure->unk11)) - reinterpret_cast(df_structure); + p_table["unk12"] = reinterpret_cast(&(df_structure->unk12)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); +} + +void generate_artifact_record_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["item"] = reinterpret_cast(&(df_structure->item)) - reinterpret_cast(df_structure); + p_table["abs_tile_x"] = reinterpret_cast(&(df_structure->abs_tile_x)) - reinterpret_cast(df_structure); + p_table["abs_tile_y"] = reinterpret_cast(&(df_structure->abs_tile_y)) - reinterpret_cast(df_structure); + p_table["abs_tile_z"] = reinterpret_cast(&(df_structure->abs_tile_z)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["structure_local"] = reinterpret_cast(&(df_structure->structure_local)) - reinterpret_cast(df_structure); + p_table["subregion"] = reinterpret_cast(&(df_structure->subregion)) - reinterpret_cast(df_structure); + p_table["feature_layer"] = reinterpret_cast(&(df_structure->feature_layer)) - reinterpret_cast(df_structure); + p_table["holder_hf"] = reinterpret_cast(&(df_structure->holder_hf)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); + p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); + p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); + p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); + p_table["anon_11"] = reinterpret_cast(&(df_structure->anon_11)) - reinterpret_cast(df_structure); + p_table["anon_12"] = reinterpret_cast(&(df_structure->anon_12)) - reinterpret_cast(df_structure); +} + +void generate_machine_tile_set_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["tiles"] = reinterpret_cast(&(df_structure->tiles)) - reinterpret_cast(df_structure); + p_table["can_connect"] = reinterpret_cast(&(df_structure->can_connect)) - reinterpret_cast(df_structure); +} + +void generate_machine__T_components_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["building_id"] = reinterpret_cast(&(df_structure->building_id)) - reinterpret_cast(df_structure); + p_table["connections"] = reinterpret_cast(&(df_structure->connections)) - reinterpret_cast(df_structure); +} + +void generate_machine_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["x"] = reinterpret_cast(&(df_structure->x)) - reinterpret_cast(df_structure); + p_table["y"] = reinterpret_cast(&(df_structure->y)) - reinterpret_cast(df_structure); + p_table["z"] = reinterpret_cast(&(df_structure->z)) - reinterpret_cast(df_structure); + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["components"] = reinterpret_cast(&(df_structure->components)) - reinterpret_cast(df_structure); + p_table["cur_power"] = reinterpret_cast(&(df_structure->cur_power)) - reinterpret_cast(df_structure); + p_table["min_power"] = reinterpret_cast(&(df_structure->min_power)) - reinterpret_cast(df_structure); + p_table["visual_phase"] = reinterpret_cast(&(df_structure->visual_phase)) - reinterpret_cast(df_structure); + p_table["phase_timer"] = reinterpret_cast(&(df_structure->phase_timer)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); +} + +void generate_machine_standardst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_building_axle_horizontalst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["machine"] = reinterpret_cast(&(df_structure->machine)) - reinterpret_cast(df_structure); + p_table["is_vertical"] = reinterpret_cast(&(df_structure->is_vertical)) - reinterpret_cast(df_structure); +} + +void generate_building_axle_verticalst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["machine"] = reinterpret_cast(&(df_structure->machine)) - reinterpret_cast(df_structure); +} + +void generate_building_gear_assemblyst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["machine"] = reinterpret_cast(&(df_structure->machine)) - reinterpret_cast(df_structure); + p_table["gear_flags"] = reinterpret_cast(&(df_structure->gear_flags)) - reinterpret_cast(df_structure); +} + +void generate_building_windmillst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["machine"] = reinterpret_cast(&(df_structure->machine)) - reinterpret_cast(df_structure); + p_table["orient_x"] = reinterpret_cast(&(df_structure->orient_x)) - reinterpret_cast(df_structure); + p_table["orient_y"] = reinterpret_cast(&(df_structure->orient_y)) - reinterpret_cast(df_structure); + p_table["is_working"] = reinterpret_cast(&(df_structure->is_working)) - reinterpret_cast(df_structure); + p_table["visual_rotated"] = reinterpret_cast(&(df_structure->visual_rotated)) - reinterpret_cast(df_structure); + p_table["rotate_timer"] = reinterpret_cast(&(df_structure->rotate_timer)) - reinterpret_cast(df_structure); + p_table["orient_timer"] = reinterpret_cast(&(df_structure->orient_timer)) - reinterpret_cast(df_structure); +} + +void generate_building_water_wheelst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["machine"] = reinterpret_cast(&(df_structure->machine)) - reinterpret_cast(df_structure); + p_table["is_vertical"] = reinterpret_cast(&(df_structure->is_vertical)) - reinterpret_cast(df_structure); + p_table["gives_power"] = reinterpret_cast(&(df_structure->gives_power)) - reinterpret_cast(df_structure); +} + +void generate_building_screw_pumpst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["machine"] = reinterpret_cast(&(df_structure->machine)) - reinterpret_cast(df_structure); + p_table["pump_energy"] = reinterpret_cast(&(df_structure->pump_energy)) - reinterpret_cast(df_structure); + p_table["direction"] = reinterpret_cast(&(df_structure->direction)) - reinterpret_cast(df_structure); + p_table["pump_manually"] = reinterpret_cast(&(df_structure->pump_manually)) - reinterpret_cast(df_structure); +} + +void generate_building_rollersst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["machine"] = reinterpret_cast(&(df_structure->machine)) - reinterpret_cast(df_structure); + p_table["direction"] = reinterpret_cast(&(df_structure->direction)) - reinterpret_cast(df_structure); + p_table["speed"] = reinterpret_cast(&(df_structure->speed)) - reinterpret_cast(df_structure); +} + +void generate_block_burrow_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["tile_bitmask"] = reinterpret_cast(&(df_structure->tile_bitmask)) - reinterpret_cast(df_structure); + p_table["link"] = reinterpret_cast(&(df_structure->link)) - reinterpret_cast(df_structure); +} + +void generate_block_burrow_link_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["item"] = reinterpret_cast(&(df_structure->item)) - reinterpret_cast(df_structure); + p_table["prev"] = reinterpret_cast(&(df_structure->prev)) - reinterpret_cast(df_structure); + p_table["next"] = reinterpret_cast(&(df_structure->next)) - reinterpret_cast(df_structure); +} + +void generate_map_block_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["block_events"] = reinterpret_cast(&(df_structure->block_events)) - reinterpret_cast(df_structure); + p_table["block_burrows"] = reinterpret_cast(&(df_structure->block_burrows)) - reinterpret_cast(df_structure); + p_table["local_feature"] = reinterpret_cast(&(df_structure->local_feature)) - reinterpret_cast(df_structure); + p_table["global_feature"] = reinterpret_cast(&(df_structure->global_feature)) - reinterpret_cast(df_structure); + p_table["unk2"] = reinterpret_cast(&(df_structure->unk2)) - reinterpret_cast(df_structure); + p_table["layer_depth"] = reinterpret_cast(&(df_structure->layer_depth)) - reinterpret_cast(df_structure); + p_table["dsgn_check_cooldown"] = reinterpret_cast(&(df_structure->dsgn_check_cooldown)) - reinterpret_cast(df_structure); + p_table["default_liquid"] = reinterpret_cast(&(df_structure->default_liquid)) - reinterpret_cast(df_structure); + p_table["items"] = reinterpret_cast(&(df_structure->items)) - reinterpret_cast(df_structure); + p_table["flows"] = reinterpret_cast(&(df_structure->flows)) - reinterpret_cast(df_structure); + p_table["flow_pool"] = reinterpret_cast(&(df_structure->flow_pool)) - reinterpret_cast(df_structure); + p_table["map_pos"] = reinterpret_cast(&(df_structure->map_pos)) - reinterpret_cast(df_structure); + p_table["region_pos"] = reinterpret_cast(&(df_structure->region_pos)) - reinterpret_cast(df_structure); + p_table["tiletype"] = reinterpret_cast(&(df_structure->tiletype)) - reinterpret_cast(df_structure); + p_table["designation"] = reinterpret_cast(&(df_structure->designation)) - reinterpret_cast(df_structure); + p_table["occupancy"] = reinterpret_cast(&(df_structure->occupancy)) - reinterpret_cast(df_structure); + p_table["fog_of_war"] = reinterpret_cast(&(df_structure->fog_of_war)) - reinterpret_cast(df_structure); + p_table["path_cost"] = reinterpret_cast(&(df_structure->path_cost)) - reinterpret_cast(df_structure); + p_table["path_tag"] = reinterpret_cast(&(df_structure->path_tag)) - reinterpret_cast(df_structure); + p_table["walkable"] = reinterpret_cast(&(df_structure->walkable)) - reinterpret_cast(df_structure); + p_table["map_edge_distance"] = reinterpret_cast(&(df_structure->map_edge_distance)) - reinterpret_cast(df_structure); + p_table["temperature_1"] = reinterpret_cast(&(df_structure->temperature_1)) - reinterpret_cast(df_structure); + p_table["temperature_2"] = reinterpret_cast(&(df_structure->temperature_2)) - reinterpret_cast(df_structure); + p_table["unk13"] = reinterpret_cast(&(df_structure->unk13)) - reinterpret_cast(df_structure); + p_table["liquid_flow"] = reinterpret_cast(&(df_structure->liquid_flow)) - reinterpret_cast(df_structure); + p_table["region_offset"] = reinterpret_cast(&(df_structure->region_offset)) - reinterpret_cast(df_structure); +} + +void generate_cave_column_link_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["item"] = reinterpret_cast(&(df_structure->item)) - reinterpret_cast(df_structure); + p_table["prev"] = reinterpret_cast(&(df_structure->prev)) - reinterpret_cast(df_structure); + p_table["next"] = reinterpret_cast(&(df_structure->next)) - reinterpret_cast(df_structure); +} + +void generate_map_block_column__T_unmined_glyphs_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["x"] = reinterpret_cast(&(df_structure->x)) - reinterpret_cast(df_structure); + p_table["y"] = reinterpret_cast(&(df_structure->y)) - reinterpret_cast(df_structure); + p_table["tile"] = reinterpret_cast(&(df_structure->tile)) - reinterpret_cast(df_structure); +} + +void generate_map_block_column_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["sink_level"] = reinterpret_cast(&(df_structure->sink_level)) - reinterpret_cast(df_structure); + p_table["beach_level"] = reinterpret_cast(&(df_structure->beach_level)) - reinterpret_cast(df_structure); + p_table["ground_level"] = reinterpret_cast(&(df_structure->ground_level)) - reinterpret_cast(df_structure); + p_table["unmined_glyphs"] = reinterpret_cast(&(df_structure->unmined_glyphs)) - reinterpret_cast(df_structure); + p_table["z_base"] = reinterpret_cast(&(df_structure->z_base)) - reinterpret_cast(df_structure); + p_table["cave_columns"] = reinterpret_cast(&(df_structure->cave_columns)) - reinterpret_cast(df_structure); + p_table["column_rectangles"] = reinterpret_cast(&(df_structure->column_rectangles)) - reinterpret_cast(df_structure); + p_table["z_shift"] = reinterpret_cast(&(df_structure->z_shift)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["unk_v40_1"] = reinterpret_cast(&(df_structure->unk_v40_1)) - reinterpret_cast(df_structure); + p_table["map_pos"] = reinterpret_cast(&(df_structure->map_pos)) - reinterpret_cast(df_structure); + p_table["unk_c3c"] = reinterpret_cast(&(df_structure->unk_c3c)) - reinterpret_cast(df_structure); + p_table["region_pos"] = reinterpret_cast(&(df_structure->region_pos)) - reinterpret_cast(df_structure); + p_table["plants"] = reinterpret_cast(&(df_structure->plants)) - reinterpret_cast(df_structure); +} + +void generate_block_square_event_mineralst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["inorganic_mat"] = reinterpret_cast(&(df_structure->inorganic_mat)) - reinterpret_cast(df_structure); + p_table["tile_bitmask"] = reinterpret_cast(&(df_structure->tile_bitmask)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); +} + +void generate_block_square_event_frozen_liquidst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["tiles"] = reinterpret_cast(&(df_structure->tiles)) - reinterpret_cast(df_structure); + p_table["liquid_type"] = reinterpret_cast(&(df_structure->liquid_type)) - reinterpret_cast(df_structure); +} + +void generate_block_square_event_world_constructionst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["construction_id"] = reinterpret_cast(&(df_structure->construction_id)) - reinterpret_cast(df_structure); + p_table["tile_bitmask"] = reinterpret_cast(&(df_structure->tile_bitmask)) - reinterpret_cast(df_structure); +} + +void generate_block_square_event_item_spatterst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); + p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); + p_table["mattype"] = reinterpret_cast(&(df_structure->mattype)) - reinterpret_cast(df_structure); + p_table["matindex"] = reinterpret_cast(&(df_structure->matindex)) - reinterpret_cast(df_structure); + p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); + p_table["amount"] = reinterpret_cast(&(df_structure->amount)) - reinterpret_cast(df_structure); + p_table["unk2"] = reinterpret_cast(&(df_structure->unk2)) - reinterpret_cast(df_structure); + p_table["temp1"] = reinterpret_cast(&(df_structure->temp1)) - reinterpret_cast(df_structure); + p_table["temp2"] = reinterpret_cast(&(df_structure->temp2)) - reinterpret_cast(df_structure); +} + +void generate_feature_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["population"] = reinterpret_cast(&(df_structure->population)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["embark_pos"] = reinterpret_cast(&(df_structure->embark_pos)) - reinterpret_cast(df_structure); + p_table["min_map_z"] = reinterpret_cast(&(df_structure->min_map_z)) - reinterpret_cast(df_structure); + p_table["max_map_z"] = reinterpret_cast(&(df_structure->max_map_z)) - reinterpret_cast(df_structure); +} + +void generate_feature_outdoor_riverst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_feature_cavest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_feature_pitst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_feature_magma_poolst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["magma_fill_z"] = reinterpret_cast(&(df_structure->magma_fill_z)) - reinterpret_cast(df_structure); +} + +void generate_feature_volcanost_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["magma_fill_z"] = reinterpret_cast(&(df_structure->magma_fill_z)) - reinterpret_cast(df_structure); +} + +void generate_feature_deep_special_tubest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_feature_deep_surface_portalst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_feature_subterranean_from_layerst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_feature_magma_core_from_layerst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_feature_underworld_from_layerst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_feature_init_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["alterations"] = reinterpret_cast(&(df_structure->alterations)) - reinterpret_cast(df_structure); + p_table["start_x"] = reinterpret_cast(&(df_structure->start_x)) - reinterpret_cast(df_structure); + p_table["start_y"] = reinterpret_cast(&(df_structure->start_y)) - reinterpret_cast(df_structure); + p_table["end_x"] = reinterpret_cast(&(df_structure->end_x)) - reinterpret_cast(df_structure); + p_table["end_y"] = reinterpret_cast(&(df_structure->end_y)) - reinterpret_cast(df_structure); + p_table["start_depth"] = reinterpret_cast(&(df_structure->start_depth)) - reinterpret_cast(df_structure); + p_table["end_depth"] = reinterpret_cast(&(df_structure->end_depth)) - reinterpret_cast(df_structure); +} + +void generate_feature_init_outdoor_riverst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["feature"] = reinterpret_cast(&(df_structure->feature)) - reinterpret_cast(df_structure); +} + +void generate_feature_init_cavest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["feature"] = reinterpret_cast(&(df_structure->feature)) - reinterpret_cast(df_structure); +} + +void generate_feature_init_pitst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["feature"] = reinterpret_cast(&(df_structure->feature)) - reinterpret_cast(df_structure); +} + +void generate_feature_init_magma_poolst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["feature"] = reinterpret_cast(&(df_structure->feature)) - reinterpret_cast(df_structure); +} + +void generate_feature_init_volcanost_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["feature"] = reinterpret_cast(&(df_structure->feature)) - reinterpret_cast(df_structure); +} + +void generate_feature_init_deep_special_tubest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["feature"] = reinterpret_cast(&(df_structure->feature)) - reinterpret_cast(df_structure); +} + +void generate_feature_init_deep_surface_portalst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["feature"] = reinterpret_cast(&(df_structure->feature)) - reinterpret_cast(df_structure); +} + +void generate_feature_init_subterranean_from_layerst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); + p_table["feature"] = reinterpret_cast(&(df_structure->feature)) - reinterpret_cast(df_structure); +} + +void generate_feature_init_magma_core_from_layerst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); + p_table["feature"] = reinterpret_cast(&(df_structure->feature)) - reinterpret_cast(df_structure); +} + +void generate_feature_init_underworld_from_layerst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["feature"] = reinterpret_cast(&(df_structure->feature)) - reinterpret_cast(df_structure); +} + +void generate_world_construction_square_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["region_pos"] = reinterpret_cast(&(df_structure->region_pos)) - reinterpret_cast(df_structure); + p_table["construction_id"] = reinterpret_cast(&(df_structure->construction_id)) - reinterpret_cast(df_structure); + p_table["embark_x"] = reinterpret_cast(&(df_structure->embark_x)) - reinterpret_cast(df_structure); + p_table["embark_y"] = reinterpret_cast(&(df_structure->embark_y)) - reinterpret_cast(df_structure); + p_table["embark_unk"] = reinterpret_cast(&(df_structure->embark_unk)) - reinterpret_cast(df_structure); + p_table["embark_z"] = reinterpret_cast(&(df_structure->embark_z)) - reinterpret_cast(df_structure); +} + +void generate_world_construction_square_roadst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); + p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); +} + +void generate_world_construction_square_tunnelst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_world_construction_square_bridgest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["road_id"] = reinterpret_cast(&(df_structure->road_id)) - reinterpret_cast(df_structure); + p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); + p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); +} + +void generate_world_construction_square_wallst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); + p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); +} + +void generate_world_construction_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["square_obj"] = reinterpret_cast(&(df_structure->square_obj)) - reinterpret_cast(df_structure); + p_table["square_pos"] = reinterpret_cast(&(df_structure->square_pos)) - reinterpret_cast(df_structure); +} + +void generate_world_construction_roadst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); +} + +void generate_world_construction_tunnelst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); +} + +void generate_world_construction_bridgest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); +} + +void generate_world_construction_wallst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); +} + +void generate_construction_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["pos"] = reinterpret_cast(&(df_structure->pos)) - reinterpret_cast(df_structure); + p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); + p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["original_tile"] = reinterpret_cast(&(df_structure->original_tile)) - reinterpret_cast(df_structure); +} + +void generate_flow_info_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["density"] = reinterpret_cast(&(df_structure->density)) - reinterpret_cast(df_structure); + p_table["pos"] = reinterpret_cast(&(df_structure->pos)) - reinterpret_cast(df_structure); + p_table["dest"] = reinterpret_cast(&(df_structure->dest)) - reinterpret_cast(df_structure); + p_table["expanding"] = reinterpret_cast(&(df_structure->expanding)) - reinterpret_cast(df_structure); + p_table["reuse"] = reinterpret_cast(&(df_structure->reuse)) - reinterpret_cast(df_structure); + p_table["guide_id"] = reinterpret_cast(&(df_structure->guide_id)) - reinterpret_cast(df_structure); +} + +void generate_flow_guide_trailing_flowst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_flow_guide_item_cloudst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); + p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); + p_table["mattype"] = reinterpret_cast(&(df_structure->mattype)) - reinterpret_cast(df_structure); + p_table["matindex"] = reinterpret_cast(&(df_structure->matindex)) - reinterpret_cast(df_structure); + p_table["unk_18"] = reinterpret_cast(&(df_structure->unk_18)) - reinterpret_cast(df_structure); + p_table["unk_1c"] = reinterpret_cast(&(df_structure->unk_1c)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_effect_info_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["foreground"] = reinterpret_cast(&(df_structure->foreground)) - reinterpret_cast(df_structure); + p_table["background"] = reinterpret_cast(&(df_structure->background)) - reinterpret_cast(df_structure); + p_table["bright"] = reinterpret_cast(&(df_structure->bright)) - reinterpret_cast(df_structure); + p_table["pos"] = reinterpret_cast(&(df_structure->pos)) - reinterpret_cast(df_structure); + p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); +} + +void generate_material_common__T_heat_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["spec_heat"] = reinterpret_cast(&(df_structure->spec_heat)) - reinterpret_cast(df_structure); + p_table["heatdam_point"] = reinterpret_cast(&(df_structure->heatdam_point)) - reinterpret_cast(df_structure); + p_table["colddam_point"] = reinterpret_cast(&(df_structure->colddam_point)) - reinterpret_cast(df_structure); + p_table["ignite_point"] = reinterpret_cast(&(df_structure->ignite_point)) - reinterpret_cast(df_structure); + p_table["melting_point"] = reinterpret_cast(&(df_structure->melting_point)) - reinterpret_cast(df_structure); + p_table["boiling_point"] = reinterpret_cast(&(df_structure->boiling_point)) - reinterpret_cast(df_structure); + p_table["mat_fixed_temp"] = reinterpret_cast(&(df_structure->mat_fixed_temp)) - reinterpret_cast(df_structure); +} + +void generate_material_common__T_strength_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["absorption"] = reinterpret_cast(&(df_structure->absorption)) - reinterpret_cast(df_structure); + p_table["yield"] = reinterpret_cast(&(df_structure->yield)) - reinterpret_cast(df_structure); + p_table["fracture"] = reinterpret_cast(&(df_structure->fracture)) - reinterpret_cast(df_structure); + p_table["strain_at_yield"] = reinterpret_cast(&(df_structure->strain_at_yield)) - reinterpret_cast(df_structure); + p_table["max_edge"] = reinterpret_cast(&(df_structure->max_edge)) - reinterpret_cast(df_structure); +} + +void generate_material_common__T_reaction_product_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); + p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); + p_table["material"] = reinterpret_cast(&(df_structure->material)) - reinterpret_cast(df_structure); + p_table["str"] = reinterpret_cast(&(df_structure->str)) - reinterpret_cast(df_structure); +} + +void generate_material_common__T_hardens_with_water_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["str"] = reinterpret_cast(&(df_structure->str)) - reinterpret_cast(df_structure); +} + +void generate_material_common_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["gem_name1"] = reinterpret_cast(&(df_structure->gem_name1)) - reinterpret_cast(df_structure); + p_table["gem_name2"] = reinterpret_cast(&(df_structure->gem_name2)) - reinterpret_cast(df_structure); + p_table["stone_name"] = reinterpret_cast(&(df_structure->stone_name)) - reinterpret_cast(df_structure); + p_table["heat"] = reinterpret_cast(&(df_structure->heat)) - reinterpret_cast(df_structure); + p_table["solid_density"] = reinterpret_cast(&(df_structure->solid_density)) - reinterpret_cast(df_structure); + p_table["liquid_density"] = reinterpret_cast(&(df_structure->liquid_density)) - reinterpret_cast(df_structure); + p_table["molar_mass"] = reinterpret_cast(&(df_structure->molar_mass)) - reinterpret_cast(df_structure); + p_table["state_color"] = reinterpret_cast(&(df_structure->state_color)) - reinterpret_cast(df_structure); + p_table["state_name"] = reinterpret_cast(&(df_structure->state_name)) - reinterpret_cast(df_structure); + p_table["state_adj"] = reinterpret_cast(&(df_structure->state_adj)) - reinterpret_cast(df_structure); + p_table["strength"] = reinterpret_cast(&(df_structure->strength)) - reinterpret_cast(df_structure); + p_table["material_value"] = reinterpret_cast(&(df_structure->material_value)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["extract_storage"] = reinterpret_cast(&(df_structure->extract_storage)) - reinterpret_cast(df_structure); + p_table["butcher_special_type"] = reinterpret_cast(&(df_structure->butcher_special_type)) - reinterpret_cast(df_structure); + p_table["butcher_special_subtype"] = reinterpret_cast(&(df_structure->butcher_special_subtype)) - reinterpret_cast(df_structure); + p_table["meat_name"] = reinterpret_cast(&(df_structure->meat_name)) - reinterpret_cast(df_structure); + p_table["block_name"] = reinterpret_cast(&(df_structure->block_name)) - reinterpret_cast(df_structure); + p_table["reaction_product"] = reinterpret_cast(&(df_structure->reaction_product)) - reinterpret_cast(df_structure); + p_table["hardens_with_water"] = reinterpret_cast(&(df_structure->hardens_with_water)) - reinterpret_cast(df_structure); + p_table["reaction_class"] = reinterpret_cast(&(df_structure->reaction_class)) - reinterpret_cast(df_structure); + p_table["tile"] = reinterpret_cast(&(df_structure->tile)) - reinterpret_cast(df_structure); + p_table["basic_color"] = reinterpret_cast(&(df_structure->basic_color)) - reinterpret_cast(df_structure); + p_table["build_color"] = reinterpret_cast(&(df_structure->build_color)) - reinterpret_cast(df_structure); + p_table["tile_color"] = reinterpret_cast(&(df_structure->tile_color)) - reinterpret_cast(df_structure); + p_table["item_symbol"] = reinterpret_cast(&(df_structure->item_symbol)) - reinterpret_cast(df_structure); + p_table["powder_dye"] = reinterpret_cast(&(df_structure->powder_dye)) - reinterpret_cast(df_structure); + p_table["temp_diet_info"] = reinterpret_cast(&(df_structure->temp_diet_info)) - reinterpret_cast(df_structure); + p_table["syndrome"] = reinterpret_cast(&(df_structure->syndrome)) - reinterpret_cast(df_structure); + p_table["soap_level"] = reinterpret_cast(&(df_structure->soap_level)) - reinterpret_cast(df_structure); + p_table["unk_41c"] = reinterpret_cast(&(df_structure->unk_41c)) - reinterpret_cast(df_structure); +} + +void generate_material_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["prefix"] = reinterpret_cast(&(df_structure->prefix)) - reinterpret_cast(df_structure); + p_table["food_mat_index"] = reinterpret_cast(&(df_structure->food_mat_index)) - reinterpret_cast(df_structure); + p_table["powder_dye_str"] = reinterpret_cast(&(df_structure->powder_dye_str)) - reinterpret_cast(df_structure); + p_table["state_color_str"] = reinterpret_cast(&(df_structure->state_color_str)) - reinterpret_cast(df_structure); +} + +void generate_material_template_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["powder_dye_str"] = reinterpret_cast(&(df_structure->powder_dye_str)) - reinterpret_cast(df_structure); + p_table["state_color_str"] = reinterpret_cast(&(df_structure->state_color_str)) - reinterpret_cast(df_structure); +} + +void generate_inorganic_raw__T_metal_ore_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["str"] = reinterpret_cast(&(df_structure->str)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["probability"] = reinterpret_cast(&(df_structure->probability)) - reinterpret_cast(df_structure); +} + +void generate_inorganic_raw__T_thread_metal_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["str"] = reinterpret_cast(&(df_structure->str)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["probability"] = reinterpret_cast(&(df_structure->probability)) - reinterpret_cast(df_structure); +} + +void generate_inorganic_raw__T_environment_spec_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["str"] = reinterpret_cast(&(df_structure->str)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["inclusion_type"] = reinterpret_cast(&(df_structure->inclusion_type)) - reinterpret_cast(df_structure); + p_table["probability"] = reinterpret_cast(&(df_structure->probability)) - reinterpret_cast(df_structure); +} + +void generate_inorganic_raw__T_environment_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["location"] = reinterpret_cast(&(df_structure->location)) - reinterpret_cast(df_structure); + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["probability"] = reinterpret_cast(&(df_structure->probability)) - reinterpret_cast(df_structure); +} + +void generate_inorganic_raw_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["str"] = reinterpret_cast(&(df_structure->str)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["source_hfid"] = reinterpret_cast(&(df_structure->source_hfid)) - reinterpret_cast(df_structure); + p_table["unk_v4201_1"] = reinterpret_cast(&(df_structure->unk_v4201_1)) - reinterpret_cast(df_structure); + p_table["metal_ore"] = reinterpret_cast(&(df_structure->metal_ore)) - reinterpret_cast(df_structure); + p_table["thread_metal"] = reinterpret_cast(&(df_structure->thread_metal)) - reinterpret_cast(df_structure); + p_table["economic_uses"] = reinterpret_cast(&(df_structure->economic_uses)) - reinterpret_cast(df_structure); + p_table["environment_spec"] = reinterpret_cast(&(df_structure->environment_spec)) - reinterpret_cast(df_structure); + p_table["environment"] = reinterpret_cast(&(df_structure->environment)) - reinterpret_cast(df_structure); + p_table["unk2"] = reinterpret_cast(&(df_structure->unk2)) - reinterpret_cast(df_structure); + p_table["material"] = reinterpret_cast(&(df_structure->material)) - reinterpret_cast(df_structure); +} + +void generate_special_mat_table_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["organic_types"] = reinterpret_cast(&(df_structure->organic_types)) - reinterpret_cast(df_structure); + p_table["organic_indexes"] = reinterpret_cast(&(df_structure->organic_indexes)) - reinterpret_cast(df_structure); + p_table["organic_unknown"] = reinterpret_cast(&(df_structure->organic_unknown)) - reinterpret_cast(df_structure); + p_table["builtin"] = reinterpret_cast(&(df_structure->builtin)) - reinterpret_cast(df_structure); +} + +void generate_dipscript_info_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["script_file"] = reinterpret_cast(&(df_structure->script_file)) - reinterpret_cast(df_structure); + p_table["script_steps"] = reinterpret_cast(&(df_structure->script_steps)) - reinterpret_cast(df_structure); + p_table["script_vars"] = reinterpret_cast(&(df_structure->script_vars)) - reinterpret_cast(df_structure); + p_table["code"] = reinterpret_cast(&(df_structure->code)) - reinterpret_cast(df_structure); +} + +void generate_dipscript_popup_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["meeting_holder"] = reinterpret_cast(&(df_structure->meeting_holder)) - reinterpret_cast(df_structure); + p_table["activity"] = reinterpret_cast(&(df_structure->activity)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); +} + +void generate_active_script_var_unitst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); +} + +void generate_meeting_context_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["meeting"] = reinterpret_cast(&(df_structure->meeting)) - reinterpret_cast(df_structure); + p_table["popup"] = reinterpret_cast(&(df_structure->popup)) - reinterpret_cast(df_structure); + p_table["unk_2"] = reinterpret_cast(&(df_structure->unk_2)) - reinterpret_cast(df_structure); + p_table["unk_3"] = reinterpret_cast(&(df_structure->unk_3)) - reinterpret_cast(df_structure); +} + +void generate_meeting_diplomat_info_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["civ_id"] = reinterpret_cast(&(df_structure->civ_id)) - reinterpret_cast(df_structure); + p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); + p_table["diplomat_id"] = reinterpret_cast(&(df_structure->diplomat_id)) - reinterpret_cast(df_structure); + p_table["associate_id"] = reinterpret_cast(&(df_structure->associate_id)) - reinterpret_cast(df_structure); + p_table["topic_list"] = reinterpret_cast(&(df_structure->topic_list)) - reinterpret_cast(df_structure); + p_table["topic_parms"] = reinterpret_cast(&(df_structure->topic_parms)) - reinterpret_cast(df_structure); + p_table["sell_requests"] = reinterpret_cast(&(df_structure->sell_requests)) - reinterpret_cast(df_structure); + p_table["buy_requests"] = reinterpret_cast(&(df_structure->buy_requests)) - reinterpret_cast(df_structure); + p_table["dipscript"] = reinterpret_cast(&(df_structure->dipscript)) - reinterpret_cast(df_structure); + p_table["cur_step"] = reinterpret_cast(&(df_structure->cur_step)) - reinterpret_cast(df_structure); + p_table["active_script_vars"] = reinterpret_cast(&(df_structure->active_script_vars)) - reinterpret_cast(df_structure); + p_table["unk_50"] = reinterpret_cast(&(df_structure->unk_50)) - reinterpret_cast(df_structure); + p_table["unk_6c"] = reinterpret_cast(&(df_structure->unk_6c)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["events"] = reinterpret_cast(&(df_structure->events)) - reinterpret_cast(df_structure); + p_table["agreement_entity"] = reinterpret_cast(&(df_structure->agreement_entity)) - reinterpret_cast(df_structure); + p_table["agreement_topic"] = reinterpret_cast(&(df_structure->agreement_topic)) - reinterpret_cast(df_structure); + p_table["agreement_year"] = reinterpret_cast(&(df_structure->agreement_year)) - reinterpret_cast(df_structure); + p_table["agreement_tick"] = reinterpret_cast(&(df_structure->agreement_tick)) - reinterpret_cast(df_structure); + p_table["agreement_outcome"] = reinterpret_cast(&(df_structure->agreement_outcome)) - reinterpret_cast(df_structure); + p_table["contact_entity"] = reinterpret_cast(&(df_structure->contact_entity)) - reinterpret_cast(df_structure); + p_table["contact_year"] = reinterpret_cast(&(df_structure->contact_year)) - reinterpret_cast(df_structure); + p_table["contact_tick"] = reinterpret_cast(&(df_structure->contact_tick)) - reinterpret_cast(df_structure); +} + +void generate_meeting_event_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["topic"] = reinterpret_cast(&(df_structure->topic)) - reinterpret_cast(df_structure); + p_table["topic_parm"] = reinterpret_cast(&(df_structure->topic_parm)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["quota_total"] = reinterpret_cast(&(df_structure->quota_total)) - reinterpret_cast(df_structure); + p_table["quota_remaining"] = reinterpret_cast(&(df_structure->quota_remaining)) - reinterpret_cast(df_structure); + p_table["year"] = reinterpret_cast(&(df_structure->year)) - reinterpret_cast(df_structure); + p_table["ticks"] = reinterpret_cast(&(df_structure->ticks)) - reinterpret_cast(df_structure); + p_table["sell_prices"] = reinterpret_cast(&(df_structure->sell_prices)) - reinterpret_cast(df_structure); + p_table["buy_prices"] = reinterpret_cast(&(df_structure->buy_prices)) - reinterpret_cast(df_structure); +} + +void generate_activity_info_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["unit_actor"] = reinterpret_cast(&(df_structure->unit_actor)) - reinterpret_cast(df_structure); + p_table["unit_noble"] = reinterpret_cast(&(df_structure->unit_noble)) - reinterpret_cast(df_structure); + p_table["place"] = reinterpret_cast(&(df_structure->place)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["unk3"] = reinterpret_cast(&(df_structure->unk3)) - reinterpret_cast(df_structure); + p_table["delay"] = reinterpret_cast(&(df_structure->delay)) - reinterpret_cast(df_structure); + p_table["tree_quota"] = reinterpret_cast(&(df_structure->tree_quota)) - reinterpret_cast(df_structure); +} + +void generate_party_info_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["units"] = reinterpret_cast(&(df_structure->units)) - reinterpret_cast(df_structure); + p_table["location"] = reinterpret_cast(&(df_structure->location)) - reinterpret_cast(df_structure); + p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); +} + +void generate_room_rent_info_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["elements"] = reinterpret_cast(&(df_structure->elements)) - reinterpret_cast(df_structure); + p_table["rent_value"] = reinterpret_cast(&(df_structure->rent_value)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); +} + +void generate_activity_entry_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["events"] = reinterpret_cast(&(df_structure->events)) - reinterpret_cast(df_structure); + p_table["next_event_id"] = reinterpret_cast(&(df_structure->next_event_id)) - reinterpret_cast(df_structure); + p_table["army_controller"] = reinterpret_cast(&(df_structure->army_controller)) - reinterpret_cast(df_structure); +} + +void generate_activity_event__T_unk_v42_1_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["item_id"] = reinterpret_cast(&(df_structure->item_id)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); +} + +void generate_activity_event__T_unk_v42_2_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["item_id"] = reinterpret_cast(&(df_structure->item_id)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); +} + +void generate_activity_event_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["event_id"] = reinterpret_cast(&(df_structure->event_id)) - reinterpret_cast(df_structure); + p_table["activity_id"] = reinterpret_cast(&(df_structure->activity_id)) - reinterpret_cast(df_structure); + p_table["parent_event_id"] = reinterpret_cast(&(df_structure->parent_event_id)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["unk_v42_1"] = reinterpret_cast(&(df_structure->unk_v42_1)) - reinterpret_cast(df_structure); + p_table["unk_v42_2"] = reinterpret_cast(&(df_structure->unk_v42_2)) - reinterpret_cast(df_structure); +} + +void generate_activity_event_training_sessionst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["participants"] = reinterpret_cast(&(df_structure->participants)) - reinterpret_cast(df_structure); +} + +void generate_activity_event_combat_trainingst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["participants"] = reinterpret_cast(&(df_structure->participants)) - reinterpret_cast(df_structure); + p_table["building_id"] = reinterpret_cast(&(df_structure->building_id)) - reinterpret_cast(df_structure); + p_table["hist_figure_id"] = reinterpret_cast(&(df_structure->hist_figure_id)) - reinterpret_cast(df_structure); + p_table["unit_id"] = reinterpret_cast(&(df_structure->unit_id)) - reinterpret_cast(df_structure); + p_table["organize_counter"] = reinterpret_cast(&(df_structure->organize_counter)) - reinterpret_cast(df_structure); +} + +void generate_activity_event_skill_demonstrationst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["participants"] = reinterpret_cast(&(df_structure->participants)) - reinterpret_cast(df_structure); + p_table["building_id"] = reinterpret_cast(&(df_structure->building_id)) - reinterpret_cast(df_structure); + p_table["hist_figure_id"] = reinterpret_cast(&(df_structure->hist_figure_id)) - reinterpret_cast(df_structure); + p_table["unit_id"] = reinterpret_cast(&(df_structure->unit_id)) - reinterpret_cast(df_structure); + p_table["skill"] = reinterpret_cast(&(df_structure->skill)) - reinterpret_cast(df_structure); + p_table["organize_counter"] = reinterpret_cast(&(df_structure->organize_counter)) - reinterpret_cast(df_structure); + p_table["wait_countdown"] = reinterpret_cast(&(df_structure->wait_countdown)) - reinterpret_cast(df_structure); + p_table["train_rounds"] = reinterpret_cast(&(df_structure->train_rounds)) - reinterpret_cast(df_structure); + p_table["train_countdown"] = reinterpret_cast(&(df_structure->train_countdown)) - reinterpret_cast(df_structure); +} + +void generate_activity_event_individual_skill_drillst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["participants"] = reinterpret_cast(&(df_structure->participants)) - reinterpret_cast(df_structure); + p_table["building_id"] = reinterpret_cast(&(df_structure->building_id)) - reinterpret_cast(df_structure); + p_table["countdown"] = reinterpret_cast(&(df_structure->countdown)) - reinterpret_cast(df_structure); +} + +void generate_activity_event_sparringst__T_groups_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["units"] = reinterpret_cast(&(df_structure->units)) - reinterpret_cast(df_structure); + p_table["countdown"] = reinterpret_cast(&(df_structure->countdown)) - reinterpret_cast(df_structure); + p_table["building_id"] = reinterpret_cast(&(df_structure->building_id)) - reinterpret_cast(df_structure); +} + +void generate_activity_event_sparringst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["participants"] = reinterpret_cast(&(df_structure->participants)) - reinterpret_cast(df_structure); + p_table["building_id"] = reinterpret_cast(&(df_structure->building_id)) - reinterpret_cast(df_structure); + p_table["groups"] = reinterpret_cast(&(df_structure->groups)) - reinterpret_cast(df_structure); + p_table["countdown"] = reinterpret_cast(&(df_structure->countdown)) - reinterpret_cast(df_structure); +} + +void generate_activity_event_ranged_practicest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["participants"] = reinterpret_cast(&(df_structure->participants)) - reinterpret_cast(df_structure); + p_table["building_id"] = reinterpret_cast(&(df_structure->building_id)) - reinterpret_cast(df_structure); + p_table["uniform_lock"] = reinterpret_cast(&(df_structure->uniform_lock)) - reinterpret_cast(df_structure); +} + +void generate_activity_event_harassmentst__T_anon_2_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); + p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); + p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); + p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); + p_table["anon_11"] = reinterpret_cast(&(df_structure->anon_11)) - reinterpret_cast(df_structure); + p_table["anon_12"] = reinterpret_cast(&(df_structure->anon_12)) - reinterpret_cast(df_structure); + p_table["anon_13"] = reinterpret_cast(&(df_structure->anon_13)) - reinterpret_cast(df_structure); +} + +void generate_activity_event_harassmentst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); + p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); +} + +void generate_activity_event_conversationst__T_participants_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unit_id"] = reinterpret_cast(&(df_structure->unit_id)) - reinterpret_cast(df_structure); + p_table["histfig_id"] = reinterpret_cast(&(df_structure->histfig_id)) - reinterpret_cast(df_structure); +} + +void generate_activity_event_conversationst__T_anon_6_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); + p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); + p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); +} + +void generate_activity_event_conversationst__T_unk_b4_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); +} + +void generate_activity_event_conversationst__T_turns_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["speaker"] = reinterpret_cast(&(df_structure->speaker)) - reinterpret_cast(df_structure); + p_table["speaker_hfid"] = reinterpret_cast(&(df_structure->speaker_hfid)) - reinterpret_cast(df_structure); + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["event"] = reinterpret_cast(&(df_structure->event)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["foreground"] = reinterpret_cast(&(df_structure->foreground)) - reinterpret_cast(df_structure); + p_table["background"] = reinterpret_cast(&(df_structure->background)) - reinterpret_cast(df_structure); + p_table["bright"] = reinterpret_cast(&(df_structure->bright)) - reinterpret_cast(df_structure); + p_table["year"] = reinterpret_cast(&(df_structure->year)) - reinterpret_cast(df_structure); + p_table["ticks"] = reinterpret_cast(&(df_structure->ticks)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["unk_v4014_1"] = reinterpret_cast(&(df_structure->unk_v4014_1)) - reinterpret_cast(df_structure); +} + +void generate_activity_event_conversationst__T_unk2_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); + p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); + p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); + p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); + p_table["anon_11"] = reinterpret_cast(&(df_structure->anon_11)) - reinterpret_cast(df_structure); + p_table["anon_12"] = reinterpret_cast(&(df_structure->anon_12)) - reinterpret_cast(df_structure); + p_table["anon_13"] = reinterpret_cast(&(df_structure->anon_13)) - reinterpret_cast(df_structure); + p_table["anon_14"] = reinterpret_cast(&(df_structure->anon_14)) - reinterpret_cast(df_structure); + p_table["anon_15"] = reinterpret_cast(&(df_structure->anon_15)) - reinterpret_cast(df_structure); + p_table["anon_16"] = reinterpret_cast(&(df_structure->anon_16)) - reinterpret_cast(df_structure); + p_table["anon_17"] = reinterpret_cast(&(df_structure->anon_17)) - reinterpret_cast(df_structure); + p_table["anon_18"] = reinterpret_cast(&(df_structure->anon_18)) - reinterpret_cast(df_structure); + p_table["anon_19"] = reinterpret_cast(&(df_structure->anon_19)) - reinterpret_cast(df_structure); + p_table["anon_20"] = reinterpret_cast(&(df_structure->anon_20)) - reinterpret_cast(df_structure); + p_table["anon_21"] = reinterpret_cast(&(df_structure->anon_21)) - reinterpret_cast(df_structure); + p_table["anon_22"] = reinterpret_cast(&(df_structure->anon_22)) - reinterpret_cast(df_structure); + p_table["anon_23"] = reinterpret_cast(&(df_structure->anon_23)) - reinterpret_cast(df_structure); + p_table["anon_24"] = reinterpret_cast(&(df_structure->anon_24)) - reinterpret_cast(df_structure); + p_table["anon_25"] = reinterpret_cast(&(df_structure->anon_25)) - reinterpret_cast(df_structure); + p_table["anon_26"] = reinterpret_cast(&(df_structure->anon_26)) - reinterpret_cast(df_structure); + p_table["anon_27"] = reinterpret_cast(&(df_structure->anon_27)) - reinterpret_cast(df_structure); + p_table["anon_28"] = reinterpret_cast(&(df_structure->anon_28)) - reinterpret_cast(df_structure); + p_table["anon_29"] = reinterpret_cast(&(df_structure->anon_29)) - reinterpret_cast(df_structure); +} + +void generate_activity_event_conversationst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["participants"] = reinterpret_cast(&(df_structure->participants)) - reinterpret_cast(df_structure); + p_table["menu"] = reinterpret_cast(&(df_structure->menu)) - reinterpret_cast(df_structure); + p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["unk_v42_3"] = reinterpret_cast(&(df_structure->unk_v42_3)) - reinterpret_cast(df_structure); + p_table["unk_v42_4"] = reinterpret_cast(&(df_structure->unk_v42_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); + p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); + p_table["unk_b4"] = reinterpret_cast(&(df_structure->unk_b4)) - reinterpret_cast(df_structure); + p_table["turns"] = reinterpret_cast(&(df_structure->turns)) - reinterpret_cast(df_structure); + p_table["floor_holder"] = reinterpret_cast(&(df_structure->floor_holder)) - reinterpret_cast(df_structure); + p_table["floor_holder_hfid"] = reinterpret_cast(&(df_structure->floor_holder_hfid)) - reinterpret_cast(df_structure); + p_table["pause"] = reinterpret_cast(&(df_structure->pause)) - reinterpret_cast(df_structure); + p_table["flags2"] = reinterpret_cast(&(df_structure->flags2)) - reinterpret_cast(df_structure); + p_table["unk2"] = reinterpret_cast(&(df_structure->unk2)) - reinterpret_cast(df_structure); + p_table["choices"] = reinterpret_cast(&(df_structure->choices)) - reinterpret_cast(df_structure); + p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); + p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); + p_table["anon_11"] = reinterpret_cast(&(df_structure->anon_11)) - reinterpret_cast(df_structure); +} + +void generate_activity_event_conflictst__T_sides__T_enemies_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["conflict_level"] = reinterpret_cast(&(df_structure->conflict_level)) - reinterpret_cast(df_structure); +} + +void generate_activity_event_conflictst__T_sides_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["histfig_ids"] = reinterpret_cast(&(df_structure->histfig_ids)) - reinterpret_cast(df_structure); + p_table["unit_ids"] = reinterpret_cast(&(df_structure->unit_ids)) - reinterpret_cast(df_structure); + p_table["enemies"] = reinterpret_cast(&(df_structure->enemies)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); +} + +void generate_activity_event_conflictst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["sides"] = reinterpret_cast(&(df_structure->sides)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["unk_v42_3"] = reinterpret_cast(&(df_structure->unk_v42_3)) - reinterpret_cast(df_structure); +} + +void generate_activity_event_guardst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); +} + +void generate_activity_event_reunionst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); +} + +void generate_activity_event_prayerst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["participants"] = reinterpret_cast(&(df_structure->participants)) - reinterpret_cast(df_structure); + p_table["histfig_id"] = reinterpret_cast(&(df_structure->histfig_id)) - reinterpret_cast(df_structure); + p_table["topic"] = reinterpret_cast(&(df_structure->topic)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); +} + +void generate_activity_event_socializest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["participants"] = reinterpret_cast(&(df_structure->participants)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); +} + +void generate_activity_event_worshipst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["participants"] = reinterpret_cast(&(df_structure->participants)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); +} + +void generate_activity_event_performancest__T_participant_actions_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["sub_type"] = reinterpret_cast(&(df_structure->sub_type)) - reinterpret_cast(df_structure); + p_table["unit_id"] = reinterpret_cast(&(df_structure->unit_id)) - reinterpret_cast(df_structure); + p_table["histfig_id"] = reinterpret_cast(&(df_structure->histfig_id)) - reinterpret_cast(df_structure); + p_table["unk_act_1"] = reinterpret_cast(&(df_structure->unk_act_1)) - reinterpret_cast(df_structure); + p_table["unk_act_2"] = reinterpret_cast(&(df_structure->unk_act_2)) - reinterpret_cast(df_structure); + p_table["unk_act_3"] = reinterpret_cast(&(df_structure->unk_act_3)) - reinterpret_cast(df_structure); + p_table["unk_act_6"] = reinterpret_cast(&(df_structure->unk_act_6)) - reinterpret_cast(df_structure); + p_table["unk_act_7"] = reinterpret_cast(&(df_structure->unk_act_7)) - reinterpret_cast(df_structure); + p_table["unk_act_8"] = reinterpret_cast(&(df_structure->unk_act_8)) - reinterpret_cast(df_structure); + p_table["unk_act_9"] = reinterpret_cast(&(df_structure->unk_act_9)) - reinterpret_cast(df_structure); +} + +void generate_activity_event_performancest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["participants"] = reinterpret_cast(&(df_structure->participants)) - reinterpret_cast(df_structure); + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["event"] = reinterpret_cast(&(df_structure->event)) - reinterpret_cast(df_structure); + p_table["written_content_id"] = reinterpret_cast(&(df_structure->written_content_id)) - reinterpret_cast(df_structure); + p_table["poetic_form"] = reinterpret_cast(&(df_structure->poetic_form)) - reinterpret_cast(df_structure); + p_table["music_form"] = reinterpret_cast(&(df_structure->music_form)) - reinterpret_cast(df_structure); + p_table["dance_form"] = reinterpret_cast(&(df_structure->dance_form)) - reinterpret_cast(df_structure); + p_table["unk_1"] = reinterpret_cast(&(df_structure->unk_1)) - reinterpret_cast(df_structure); + p_table["unk_2"] = reinterpret_cast(&(df_structure->unk_2)) - reinterpret_cast(df_structure); + p_table["unk_3"] = reinterpret_cast(&(df_structure->unk_3)) - reinterpret_cast(df_structure); + p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); + p_table["unk_5"] = reinterpret_cast(&(df_structure->unk_5)) - reinterpret_cast(df_structure); + p_table["unk_6"] = reinterpret_cast(&(df_structure->unk_6)) - reinterpret_cast(df_structure); + p_table["participant_actions"] = reinterpret_cast(&(df_structure->participant_actions)) - reinterpret_cast(df_structure); + p_table["pos_performer_2d"] = reinterpret_cast(&(df_structure->pos_performer_2d)) - reinterpret_cast(df_structure); + p_table["pos_performer"] = reinterpret_cast(&(df_structure->pos_performer)) - reinterpret_cast(df_structure); + p_table["unk_pos_1_x0"] = reinterpret_cast(&(df_structure->unk_pos_1_x0)) - reinterpret_cast(df_structure); + p_table["unk_pos_1_y0"] = reinterpret_cast(&(df_structure->unk_pos_1_y0)) - reinterpret_cast(df_structure); + p_table["unk_pos_1_x1"] = reinterpret_cast(&(df_structure->unk_pos_1_x1)) - reinterpret_cast(df_structure); + p_table["unk_pos_1_y1"] = reinterpret_cast(&(df_structure->unk_pos_1_y1)) - reinterpret_cast(df_structure); + p_table["unk_pos_1_z"] = reinterpret_cast(&(df_structure->unk_pos_1_z)) - reinterpret_cast(df_structure); + p_table["unk_pos_2_x0"] = reinterpret_cast(&(df_structure->unk_pos_2_x0)) - reinterpret_cast(df_structure); + p_table["unk_pos_2_y0"] = reinterpret_cast(&(df_structure->unk_pos_2_y0)) - reinterpret_cast(df_structure); + p_table["unk_pos_2_x1"] = reinterpret_cast(&(df_structure->unk_pos_2_x1)) - reinterpret_cast(df_structure); + p_table["unk_pos_2_y1"] = reinterpret_cast(&(df_structure->unk_pos_2_y1)) - reinterpret_cast(df_structure); + p_table["unk_pos_2_z"] = reinterpret_cast(&(df_structure->unk_pos_2_z)) - reinterpret_cast(df_structure); + p_table["play_orders"] = reinterpret_cast(&(df_structure->play_orders)) - reinterpret_cast(df_structure); + p_table["unk_11"] = reinterpret_cast(&(df_structure->unk_11)) - reinterpret_cast(df_structure); + p_table["unk_12"] = reinterpret_cast(&(df_structure->unk_12)) - reinterpret_cast(df_structure); + p_table["unk_13"] = reinterpret_cast(&(df_structure->unk_13)) - reinterpret_cast(df_structure); + p_table["unk_16"] = reinterpret_cast(&(df_structure->unk_16)) - reinterpret_cast(df_structure); + p_table["unk_17"] = reinterpret_cast(&(df_structure->unk_17)) - reinterpret_cast(df_structure); + p_table["unk_18"] = reinterpret_cast(&(df_structure->unk_18)) - reinterpret_cast(df_structure); +} + +void generate_performance_play_orderst__T_anon_4_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); +} + +void generate_performance_play_orderst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); +} + +void generate_activity_event_researchst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["participants"] = reinterpret_cast(&(df_structure->participants)) - reinterpret_cast(df_structure); + p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); + p_table["location_id"] = reinterpret_cast(&(df_structure->location_id)) - reinterpret_cast(df_structure); + p_table["building_id"] = reinterpret_cast(&(df_structure->building_id)) - reinterpret_cast(df_structure); +} + +void generate_activity_event_ponder_topicst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["participants"] = reinterpret_cast(&(df_structure->participants)) - reinterpret_cast(df_structure); + p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); + p_table["location_id"] = reinterpret_cast(&(df_structure->location_id)) - reinterpret_cast(df_structure); + p_table["building_id"] = reinterpret_cast(&(df_structure->building_id)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["knowledge"] = reinterpret_cast(&(df_structure->knowledge)) - reinterpret_cast(df_structure); + p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); +} + +void generate_activity_event_discuss_topicst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["participants"] = reinterpret_cast(&(df_structure->participants)) - reinterpret_cast(df_structure); + p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); + p_table["location_id"] = reinterpret_cast(&(df_structure->location_id)) - reinterpret_cast(df_structure); + p_table["building_id"] = reinterpret_cast(&(df_structure->building_id)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["knowledge"] = reinterpret_cast(&(df_structure->knowledge)) - reinterpret_cast(df_structure); + p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); +} + +void generate_activity_event_readst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["participants"] = reinterpret_cast(&(df_structure->participants)) - reinterpret_cast(df_structure); + p_table["building_id"] = reinterpret_cast(&(df_structure->building_id)) - reinterpret_cast(df_structure); + p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); + p_table["location_id"] = reinterpret_cast(&(df_structure->location_id)) - reinterpret_cast(df_structure); + p_table["state"] = reinterpret_cast(&(df_structure->state)) - reinterpret_cast(df_structure); + p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); +} + +void generate_activity_event_fill_service_orderst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["histfig_id"] = reinterpret_cast(&(df_structure->histfig_id)) - reinterpret_cast(df_structure); + p_table["unit_id"] = reinterpret_cast(&(df_structure->unit_id)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); +} + +void generate_activity_event_writest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["participants"] = reinterpret_cast(&(df_structure->participants)) - reinterpret_cast(df_structure); + p_table["building_id"] = reinterpret_cast(&(df_structure->building_id)) - reinterpret_cast(df_structure); + p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); + p_table["location_id"] = reinterpret_cast(&(df_structure->location_id)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["knowledge"] = reinterpret_cast(&(df_structure->knowledge)) - reinterpret_cast(df_structure); +} + +void generate_activity_event_copy_written_contentst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unit_id"] = reinterpret_cast(&(df_structure->unit_id)) - reinterpret_cast(df_structure); + p_table["histfig_id"] = reinterpret_cast(&(df_structure->histfig_id)) - reinterpret_cast(df_structure); + p_table["occupation_id"] = reinterpret_cast(&(df_structure->occupation_id)) - reinterpret_cast(df_structure); + p_table["building_id"] = reinterpret_cast(&(df_structure->building_id)) - reinterpret_cast(df_structure); + p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); + p_table["location_id"] = reinterpret_cast(&(df_structure->location_id)) - reinterpret_cast(df_structure); + p_table["flagsmaybe"] = reinterpret_cast(&(df_structure->flagsmaybe)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); +} + +void generate_activity_event_teach_topicst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["participants"] = reinterpret_cast(&(df_structure->participants)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); + p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); + p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); +} + +void generate_activity_event_playst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["participants"] = reinterpret_cast(&(df_structure->participants)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); +} + +void generate_activity_event_make_believest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["participants"] = reinterpret_cast(&(df_structure->participants)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); +} + +void generate_activity_event_play_with_toyst__T_unk_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); +} + +void generate_activity_event_play_with_toyst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["participants"] = reinterpret_cast(&(df_structure->participants)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["unk"] = reinterpret_cast(&(df_structure->unk)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); +} + +void generate_activity_event_encounterst__T_anon_1_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); + p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); + p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); + p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); +} + +void generate_activity_event_encounterst__T_anon_2_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); + p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); +} + +void generate_activity_event_encounterst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); + p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); + p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); +} + +void generate_activity_event_store_objectst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); +} + +void generate_schedule_info_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["slots"] = reinterpret_cast(&(df_structure->slots)) - reinterpret_cast(df_structure); +} + +void generate_item_filter_spec_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); + p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); + p_table["material_class"] = reinterpret_cast(&(df_structure->material_class)) - reinterpret_cast(df_structure); + p_table["mattype"] = reinterpret_cast(&(df_structure->mattype)) - reinterpret_cast(df_structure); + p_table["matindex"] = reinterpret_cast(&(df_structure->matindex)) - reinterpret_cast(df_structure); +} + +void generate_squad_uniform_spec_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["item"] = reinterpret_cast(&(df_structure->item)) - reinterpret_cast(df_structure); + p_table["item_filter"] = reinterpret_cast(&(df_structure->item_filter)) - reinterpret_cast(df_structure); + p_table["color"] = reinterpret_cast(&(df_structure->color)) - reinterpret_cast(df_structure); + p_table["assigned"] = reinterpret_cast(&(df_structure->assigned)) - reinterpret_cast(df_structure); + p_table["indiv_choice"] = reinterpret_cast(&(df_structure->indiv_choice)) - reinterpret_cast(df_structure); +} + +void generate_squad_ammo_spec_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["item_filter"] = reinterpret_cast(&(df_structure->item_filter)) - reinterpret_cast(df_structure); + p_table["amount"] = reinterpret_cast(&(df_structure->amount)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["assigned"] = reinterpret_cast(&(df_structure->assigned)) - reinterpret_cast(df_structure); +} + +void generate_squad_position_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["occupant"] = reinterpret_cast(&(df_structure->occupant)) - reinterpret_cast(df_structure); + p_table["orders"] = reinterpret_cast(&(df_structure->orders)) - reinterpret_cast(df_structure); + p_table["preferences"] = reinterpret_cast(&(df_structure->preferences)) - reinterpret_cast(df_structure); + p_table["uniform"] = reinterpret_cast(&(df_structure->uniform)) - reinterpret_cast(df_structure); + p_table["unk_c4"] = reinterpret_cast(&(df_structure->unk_c4)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["assigned_items"] = reinterpret_cast(&(df_structure->assigned_items)) - reinterpret_cast(df_structure); + p_table["quiver"] = reinterpret_cast(&(df_structure->quiver)) - reinterpret_cast(df_structure); + p_table["backpack"] = reinterpret_cast(&(df_structure->backpack)) - reinterpret_cast(df_structure); + p_table["flask"] = reinterpret_cast(&(df_structure->flask)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["activities"] = reinterpret_cast(&(df_structure->activities)) - reinterpret_cast(df_structure); + p_table["events"] = reinterpret_cast(&(df_structure->events)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); +} + +void generate_squad_schedule_order_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["order"] = reinterpret_cast(&(df_structure->order)) - reinterpret_cast(df_structure); + p_table["min_count"] = reinterpret_cast(&(df_structure->min_count)) - reinterpret_cast(df_structure); + p_table["positions"] = reinterpret_cast(&(df_structure->positions)) - reinterpret_cast(df_structure); +} + +void generate_squad_schedule_entry_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["sleep_mode"] = reinterpret_cast(&(df_structure->sleep_mode)) - reinterpret_cast(df_structure); + p_table["uniform_mode"] = reinterpret_cast(&(df_structure->uniform_mode)) - reinterpret_cast(df_structure); + p_table["orders"] = reinterpret_cast(&(df_structure->orders)) - reinterpret_cast(df_structure); + p_table["order_assignments"] = reinterpret_cast(&(df_structure->order_assignments)) - reinterpret_cast(df_structure); +} + +void generate_squad__T_rooms_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["building_id"] = reinterpret_cast(&(df_structure->building_id)) - reinterpret_cast(df_structure); + p_table["mode"] = reinterpret_cast(&(df_structure->mode)) - reinterpret_cast(df_structure); +} + +void generate_squad_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["alias"] = reinterpret_cast(&(df_structure->alias)) - reinterpret_cast(df_structure); + p_table["positions"] = reinterpret_cast(&(df_structure->positions)) - reinterpret_cast(df_structure); + p_table["orders"] = reinterpret_cast(&(df_structure->orders)) - reinterpret_cast(df_structure); + p_table["schedule"] = reinterpret_cast(&(df_structure->schedule)) - reinterpret_cast(df_structure); + p_table["cur_alert_idx"] = reinterpret_cast(&(df_structure->cur_alert_idx)) - reinterpret_cast(df_structure); + p_table["rooms"] = reinterpret_cast(&(df_structure->rooms)) - reinterpret_cast(df_structure); + p_table["rack_combat"] = reinterpret_cast(&(df_structure->rack_combat)) - reinterpret_cast(df_structure); + p_table["rack_training"] = reinterpret_cast(&(df_structure->rack_training)) - reinterpret_cast(df_structure); + p_table["uniform_priority"] = reinterpret_cast(&(df_structure->uniform_priority)) - reinterpret_cast(df_structure); + p_table["activity"] = reinterpret_cast(&(df_structure->activity)) - reinterpret_cast(df_structure); + p_table["ammunition"] = reinterpret_cast(&(df_structure->ammunition)) - reinterpret_cast(df_structure); + p_table["train_weapon_free"] = reinterpret_cast(&(df_structure->train_weapon_free)) - reinterpret_cast(df_structure); + p_table["train_weapon_inuse"] = reinterpret_cast(&(df_structure->train_weapon_inuse)) - reinterpret_cast(df_structure); + p_table["ammo_items"] = reinterpret_cast(&(df_structure->ammo_items)) - reinterpret_cast(df_structure); + p_table["ammo_units"] = reinterpret_cast(&(df_structure->ammo_units)) - reinterpret_cast(df_structure); + p_table["carry_food"] = reinterpret_cast(&(df_structure->carry_food)) - reinterpret_cast(df_structure); + p_table["carry_water"] = reinterpret_cast(&(df_structure->carry_water)) - reinterpret_cast(df_structure); + p_table["entity_id"] = reinterpret_cast(&(df_structure->entity_id)) - reinterpret_cast(df_structure); + p_table["leader_position"] = reinterpret_cast(&(df_structure->leader_position)) - reinterpret_cast(df_structure); + p_table["leader_assignment"] = reinterpret_cast(&(df_structure->leader_assignment)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_squad_order_movest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["pos"] = reinterpret_cast(&(df_structure->pos)) - reinterpret_cast(df_structure); + p_table["point_id"] = reinterpret_cast(&(df_structure->point_id)) - reinterpret_cast(df_structure); +} + +void generate_squad_order_retrieve_artifactst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); +} + +void generate_squad_order_raid_sitest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); +} + +void generate_squad_order_rescue_hfst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); +} + +void generate_army_controller__T_unk_64_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["t1"] = reinterpret_cast(&(df_structure->t1)) - reinterpret_cast(df_structure); + p_table["t2"] = reinterpret_cast(&(df_structure->t2)) - reinterpret_cast(df_structure); + p_table["t4"] = reinterpret_cast(&(df_structure->t4)) - reinterpret_cast(df_structure); + p_table["t5"] = reinterpret_cast(&(df_structure->t5)) - reinterpret_cast(df_structure); + p_table["t6"] = reinterpret_cast(&(df_structure->t6)) - reinterpret_cast(df_structure); + p_table["t7"] = reinterpret_cast(&(df_structure->t7)) - reinterpret_cast(df_structure); + p_table["t11"] = reinterpret_cast(&(df_structure->t11)) - reinterpret_cast(df_structure); + p_table["t12"] = reinterpret_cast(&(df_structure->t12)) - reinterpret_cast(df_structure); + p_table["t13"] = reinterpret_cast(&(df_structure->t13)) - reinterpret_cast(df_structure); + p_table["t14"] = reinterpret_cast(&(df_structure->t14)) - reinterpret_cast(df_structure); + p_table["t15"] = reinterpret_cast(&(df_structure->t15)) - reinterpret_cast(df_structure); + p_table["t16"] = reinterpret_cast(&(df_structure->t16)) - reinterpret_cast(df_structure); + p_table["t17"] = reinterpret_cast(&(df_structure->t17)) - reinterpret_cast(df_structure); + p_table["t18"] = reinterpret_cast(&(df_structure->t18)) - reinterpret_cast(df_structure); +} + +void generate_army_controller_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["entity_id"] = reinterpret_cast(&(df_structure->entity_id)) - reinterpret_cast(df_structure); + p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); + p_table["pos_x"] = reinterpret_cast(&(df_structure->pos_x)) - reinterpret_cast(df_structure); + p_table["pos_y"] = reinterpret_cast(&(df_structure->pos_y)) - reinterpret_cast(df_structure); + p_table["unk_14"] = reinterpret_cast(&(df_structure->unk_14)) - reinterpret_cast(df_structure); + p_table["unk_18"] = reinterpret_cast(&(df_structure->unk_18)) - reinterpret_cast(df_structure); + p_table["unk_1c"] = reinterpret_cast(&(df_structure->unk_1c)) - reinterpret_cast(df_structure); + p_table["unk_20"] = reinterpret_cast(&(df_structure->unk_20)) - reinterpret_cast(df_structure); + p_table["year"] = reinterpret_cast(&(df_structure->year)) - reinterpret_cast(df_structure); + p_table["year_tick"] = reinterpret_cast(&(df_structure->year_tick)) - reinterpret_cast(df_structure); + p_table["unk_34"] = reinterpret_cast(&(df_structure->unk_34)) - reinterpret_cast(df_structure); + p_table["unk_38"] = reinterpret_cast(&(df_structure->unk_38)) - reinterpret_cast(df_structure); + p_table["unk_3c"] = reinterpret_cast(&(df_structure->unk_3c)) - reinterpret_cast(df_structure); + p_table["unk_40"] = reinterpret_cast(&(df_structure->unk_40)) - reinterpret_cast(df_structure); + p_table["unk_44"] = reinterpret_cast(&(df_structure->unk_44)) - reinterpret_cast(df_structure); + p_table["unk_50"] = reinterpret_cast(&(df_structure->unk_50)) - reinterpret_cast(df_structure); + p_table["unk_54"] = reinterpret_cast(&(df_structure->unk_54)) - reinterpret_cast(df_structure); + p_table["mission_report"] = reinterpret_cast(&(df_structure->mission_report)) - reinterpret_cast(df_structure); + p_table["unk_44_11v"] = reinterpret_cast(&(df_structure->unk_44_11v)) - reinterpret_cast(df_structure); + p_table["unk_64"] = reinterpret_cast(&(df_structure->unk_64)) - reinterpret_cast(df_structure); + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); +} + +void generate_army_controller_sub2__T_anon_5_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); +} + +void generate_army_controller_sub2_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); + p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); + p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); + p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); +} + +void generate_army_controller_sub7__T_anon_3_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); +} + +void generate_army_controller_sub7_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); + p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); + p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); + p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); +} + +void generate_army_controller_sub11__T_anon_3_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); +} + +void generate_army_controller_sub11_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); +} + +void generate_army_controller_sub12__T_anon_4_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); +} + +void generate_army_controller_sub12_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); + p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); +} + +void generate_army_controller_sub13__T_anon_4_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); +} + +void generate_army_controller_sub13_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); +} + +void generate_army_controller_sub14__T_anon_4_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); +} + +void generate_army_controller_sub14_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); +} + +void generate_army_controller_sub15__T_anon_3_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); +} + +void generate_army_controller_sub15_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); + p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); + p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); + p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); + p_table["anon_11"] = reinterpret_cast(&(df_structure->anon_11)) - reinterpret_cast(df_structure); + p_table["anon_12"] = reinterpret_cast(&(df_structure->anon_12)) - reinterpret_cast(df_structure); + p_table["anon_13"] = reinterpret_cast(&(df_structure->anon_13)) - reinterpret_cast(df_structure); +} + +void generate_army__T_members_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["nemesis_id"] = reinterpret_cast(&(df_structure->nemesis_id)) - reinterpret_cast(df_structure); + p_table["hunger_timer"] = reinterpret_cast(&(df_structure->hunger_timer)) - reinterpret_cast(df_structure); + p_table["thirst_timer"] = reinterpret_cast(&(df_structure->thirst_timer)) - reinterpret_cast(df_structure); + p_table["sleepiness_timer"] = reinterpret_cast(&(df_structure->sleepiness_timer)) - reinterpret_cast(df_structure); + p_table["stored_fat"] = reinterpret_cast(&(df_structure->stored_fat)) - reinterpret_cast(df_structure); + p_table["unk_14"] = reinterpret_cast(&(df_structure->unk_14)) - reinterpret_cast(df_structure); + p_table["unk_18"] = reinterpret_cast(&(df_structure->unk_18)) - reinterpret_cast(df_structure); + p_table["unk_1c"] = reinterpret_cast(&(df_structure->unk_1c)) - reinterpret_cast(df_structure); + p_table["unk_20"] = reinterpret_cast(&(df_structure->unk_20)) - reinterpret_cast(df_structure); + p_table["unk_24"] = reinterpret_cast(&(df_structure->unk_24)) - reinterpret_cast(df_structure); + p_table["unk_28"] = reinterpret_cast(&(df_structure->unk_28)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["unk_2c"] = reinterpret_cast(&(df_structure->unk_2c)) - reinterpret_cast(df_structure); + p_table["unk_30"] = reinterpret_cast(&(df_structure->unk_30)) - reinterpret_cast(df_structure); + p_table["unk_34"] = reinterpret_cast(&(df_structure->unk_34)) - reinterpret_cast(df_structure); + p_table["unk_38"] = reinterpret_cast(&(df_structure->unk_38)) - reinterpret_cast(df_structure); + p_table["unk_v42_1"] = reinterpret_cast(&(df_structure->unk_v42_1)) - reinterpret_cast(df_structure); +} + +void generate_army__T_unk_2c_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["count"] = reinterpret_cast(&(df_structure->count)) - reinterpret_cast(df_structure); + p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); + p_table["population_id"] = reinterpret_cast(&(df_structure->population_id)) - reinterpret_cast(df_structure); + p_table["civ_id"] = reinterpret_cast(&(df_structure->civ_id)) - reinterpret_cast(df_structure); + p_table["unk_10"] = reinterpret_cast(&(df_structure->unk_10)) - reinterpret_cast(df_structure); + p_table["cultural_identity"] = reinterpret_cast(&(df_structure->cultural_identity)) - reinterpret_cast(df_structure); + p_table["unk_18"] = reinterpret_cast(&(df_structure->unk_18)) - reinterpret_cast(df_structure); + p_table["unk_1c"] = reinterpret_cast(&(df_structure->unk_1c)) - reinterpret_cast(df_structure); + p_table["unk_20"] = reinterpret_cast(&(df_structure->unk_20)) - reinterpret_cast(df_structure); + p_table["unk_24"] = reinterpret_cast(&(df_structure->unk_24)) - reinterpret_cast(df_structure); + p_table["unk_28"] = reinterpret_cast(&(df_structure->unk_28)) - reinterpret_cast(df_structure); +} + +void generate_army_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["pos"] = reinterpret_cast(&(df_structure->pos)) - reinterpret_cast(df_structure); + p_table["last_pos"] = reinterpret_cast(&(df_structure->last_pos)) - reinterpret_cast(df_structure); + p_table["unk_10"] = reinterpret_cast(&(df_structure->unk_10)) - reinterpret_cast(df_structure); + p_table["unk_14"] = reinterpret_cast(&(df_structure->unk_14)) - reinterpret_cast(df_structure); + p_table["unk_18"] = reinterpret_cast(&(df_structure->unk_18)) - reinterpret_cast(df_structure); + p_table["members"] = reinterpret_cast(&(df_structure->members)) - reinterpret_cast(df_structure); + p_table["unk_2c"] = reinterpret_cast(&(df_structure->unk_2c)) - reinterpret_cast(df_structure); + p_table["unk_3c"] = reinterpret_cast(&(df_structure->unk_3c)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["controller_id"] = reinterpret_cast(&(df_structure->controller_id)) - reinterpret_cast(df_structure); + p_table["controller"] = reinterpret_cast(&(df_structure->controller)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["unk_pos_x"] = reinterpret_cast(&(df_structure->unk_pos_x)) - reinterpret_cast(df_structure); + p_table["unk_pos_y"] = reinterpret_cast(&(df_structure->unk_pos_y)) - reinterpret_cast(df_structure); + p_table["unk_70"] = reinterpret_cast(&(df_structure->unk_70)) - reinterpret_cast(df_structure); + p_table["unk_80"] = reinterpret_cast(&(df_structure->unk_80)) - reinterpret_cast(df_structure); + p_table["unk_90"] = reinterpret_cast(&(df_structure->unk_90)) - reinterpret_cast(df_structure); + p_table["unk_94"] = reinterpret_cast(&(df_structure->unk_94)) - reinterpret_cast(df_structure); + p_table["unk_98"] = reinterpret_cast(&(df_structure->unk_98)) - reinterpret_cast(df_structure); + p_table["unk_9c"] = reinterpret_cast(&(df_structure->unk_9c)) - reinterpret_cast(df_structure); + p_table["unk_a0"] = reinterpret_cast(&(df_structure->unk_a0)) - reinterpret_cast(df_structure); + p_table["unk_a4"] = reinterpret_cast(&(df_structure->unk_a4)) - reinterpret_cast(df_structure); + p_table["unk_a8"] = reinterpret_cast(&(df_structure->unk_a8)) - reinterpret_cast(df_structure); + p_table["creature_class"] = reinterpret_cast(&(df_structure->creature_class)) - reinterpret_cast(df_structure); + p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); + p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["unk_4407_1"] = reinterpret_cast(&(df_structure->unk_4407_1)) - reinterpret_cast(df_structure); +} + +void generate_plant_raw__T_tiles_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["picked_tile"] = reinterpret_cast(&(df_structure->picked_tile)) - reinterpret_cast(df_structure); + p_table["dead_picked_tile"] = reinterpret_cast(&(df_structure->dead_picked_tile)) - reinterpret_cast(df_structure); + p_table["shrub_tile"] = reinterpret_cast(&(df_structure->shrub_tile)) - reinterpret_cast(df_structure); + p_table["dead_shrub_tile"] = reinterpret_cast(&(df_structure->dead_shrub_tile)) - reinterpret_cast(df_structure); + p_table["tree_tile"] = reinterpret_cast(&(df_structure->tree_tile)) - reinterpret_cast(df_structure); + p_table["dead_tree_tile"] = reinterpret_cast(&(df_structure->dead_tree_tile)) - reinterpret_cast(df_structure); + p_table["sapling_tile"] = reinterpret_cast(&(df_structure->sapling_tile)) - reinterpret_cast(df_structure); + p_table["dead_sapling_tile"] = reinterpret_cast(&(df_structure->dead_sapling_tile)) - reinterpret_cast(df_structure); + p_table["grass_tiles"] = reinterpret_cast(&(df_structure->grass_tiles)) - reinterpret_cast(df_structure); + p_table["alt_grass_tiles"] = reinterpret_cast(&(df_structure->alt_grass_tiles)) - reinterpret_cast(df_structure); + p_table["tree_tiles"] = reinterpret_cast(&(df_structure->tree_tiles)) - reinterpret_cast(df_structure); +} + +void generate_plant_raw__T_colors_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["picked_color"] = reinterpret_cast(&(df_structure->picked_color)) - reinterpret_cast(df_structure); + p_table["dead_picked_color"] = reinterpret_cast(&(df_structure->dead_picked_color)) - reinterpret_cast(df_structure); + p_table["shrub_color"] = reinterpret_cast(&(df_structure->shrub_color)) - reinterpret_cast(df_structure); + p_table["dead_shrub_color"] = reinterpret_cast(&(df_structure->dead_shrub_color)) - reinterpret_cast(df_structure); + p_table["seed_color"] = reinterpret_cast(&(df_structure->seed_color)) - reinterpret_cast(df_structure); + p_table["tree_color"] = reinterpret_cast(&(df_structure->tree_color)) - reinterpret_cast(df_structure); + p_table["dead_tree_color"] = reinterpret_cast(&(df_structure->dead_tree_color)) - reinterpret_cast(df_structure); + p_table["sapling_color"] = reinterpret_cast(&(df_structure->sapling_color)) - reinterpret_cast(df_structure); + p_table["dead_sapling_color"] = reinterpret_cast(&(df_structure->dead_sapling_color)) - reinterpret_cast(df_structure); + p_table["grass_colors_0"] = reinterpret_cast(&(df_structure->grass_colors_0)) - reinterpret_cast(df_structure); + p_table["grass_colors_1"] = reinterpret_cast(&(df_structure->grass_colors_1)) - reinterpret_cast(df_structure); + p_table["grass_colors_2"] = reinterpret_cast(&(df_structure->grass_colors_2)) - reinterpret_cast(df_structure); +} + +void generate_plant_raw__T_material_defs_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["type_basic_mat"] = reinterpret_cast(&(df_structure->type_basic_mat)) - reinterpret_cast(df_structure); + p_table["type_tree"] = reinterpret_cast(&(df_structure->type_tree)) - reinterpret_cast(df_structure); + p_table["type_drink"] = reinterpret_cast(&(df_structure->type_drink)) - reinterpret_cast(df_structure); + p_table["type_seed"] = reinterpret_cast(&(df_structure->type_seed)) - reinterpret_cast(df_structure); + p_table["type_thread"] = reinterpret_cast(&(df_structure->type_thread)) - reinterpret_cast(df_structure); + p_table["type_mill"] = reinterpret_cast(&(df_structure->type_mill)) - reinterpret_cast(df_structure); + p_table["type_extract_vial"] = reinterpret_cast(&(df_structure->type_extract_vial)) - reinterpret_cast(df_structure); + p_table["type_extract_barrel"] = reinterpret_cast(&(df_structure->type_extract_barrel)) - reinterpret_cast(df_structure); + p_table["type_extract_still_vial"] = reinterpret_cast(&(df_structure->type_extract_still_vial)) - reinterpret_cast(df_structure); + p_table["idx_basic_mat"] = reinterpret_cast(&(df_structure->idx_basic_mat)) - reinterpret_cast(df_structure); + p_table["idx_tree"] = reinterpret_cast(&(df_structure->idx_tree)) - reinterpret_cast(df_structure); + p_table["idx_drink"] = reinterpret_cast(&(df_structure->idx_drink)) - reinterpret_cast(df_structure); + p_table["idx_seed"] = reinterpret_cast(&(df_structure->idx_seed)) - reinterpret_cast(df_structure); + p_table["idx_thread"] = reinterpret_cast(&(df_structure->idx_thread)) - reinterpret_cast(df_structure); + p_table["idx_mill"] = reinterpret_cast(&(df_structure->idx_mill)) - reinterpret_cast(df_structure); + p_table["idx_extract_vial"] = reinterpret_cast(&(df_structure->idx_extract_vial)) - reinterpret_cast(df_structure); + p_table["idx_extract_barrel"] = reinterpret_cast(&(df_structure->idx_extract_barrel)) - reinterpret_cast(df_structure); + p_table["idx_extract_still_vial"] = reinterpret_cast(&(df_structure->idx_extract_still_vial)) - reinterpret_cast(df_structure); + p_table["str_basic_mat"] = reinterpret_cast(&(df_structure->str_basic_mat)) - reinterpret_cast(df_structure); + p_table["str_tree"] = reinterpret_cast(&(df_structure->str_tree)) - reinterpret_cast(df_structure); + p_table["str_drink"] = reinterpret_cast(&(df_structure->str_drink)) - reinterpret_cast(df_structure); + p_table["str_seed"] = reinterpret_cast(&(df_structure->str_seed)) - reinterpret_cast(df_structure); + p_table["str_thread"] = reinterpret_cast(&(df_structure->str_thread)) - reinterpret_cast(df_structure); + p_table["str_mill"] = reinterpret_cast(&(df_structure->str_mill)) - reinterpret_cast(df_structure); + p_table["str_extract_vial"] = reinterpret_cast(&(df_structure->str_extract_vial)) - reinterpret_cast(df_structure); + p_table["str_extract_barrel"] = reinterpret_cast(&(df_structure->str_extract_barrel)) - reinterpret_cast(df_structure); + p_table["str_extract_still_vial"] = reinterpret_cast(&(df_structure->str_extract_still_vial)) - reinterpret_cast(df_structure); +} + +void generate_plant_raw_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["index"] = reinterpret_cast(&(df_structure->index)) - reinterpret_cast(df_structure); + p_table["raws"] = reinterpret_cast(&(df_structure->raws)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["name_plural"] = reinterpret_cast(&(df_structure->name_plural)) - reinterpret_cast(df_structure); + p_table["adj"] = reinterpret_cast(&(df_structure->adj)) - reinterpret_cast(df_structure); + p_table["seed_singular"] = reinterpret_cast(&(df_structure->seed_singular)) - reinterpret_cast(df_structure); + p_table["seed_plural"] = reinterpret_cast(&(df_structure->seed_plural)) - reinterpret_cast(df_structure); + p_table["leaves_singular"] = reinterpret_cast(&(df_structure->leaves_singular)) - reinterpret_cast(df_structure); + p_table["leaves_plural"] = reinterpret_cast(&(df_structure->leaves_plural)) - reinterpret_cast(df_structure); + p_table["source_hfid"] = reinterpret_cast(&(df_structure->source_hfid)) - reinterpret_cast(df_structure); + p_table["unk_v4201_1"] = reinterpret_cast(&(df_structure->unk_v4201_1)) - reinterpret_cast(df_structure); + p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); + p_table["unk2"] = reinterpret_cast(&(df_structure->unk2)) - reinterpret_cast(df_structure); + p_table["tiles"] = reinterpret_cast(&(df_structure->tiles)) - reinterpret_cast(df_structure); + p_table["growdur"] = reinterpret_cast(&(df_structure->growdur)) - reinterpret_cast(df_structure); + p_table["value"] = reinterpret_cast(&(df_structure->value)) - reinterpret_cast(df_structure); + p_table["colors"] = reinterpret_cast(&(df_structure->colors)) - reinterpret_cast(df_structure); + p_table["alt_period"] = reinterpret_cast(&(df_structure->alt_period)) - reinterpret_cast(df_structure); + p_table["shrub_drown_level"] = reinterpret_cast(&(df_structure->shrub_drown_level)) - reinterpret_cast(df_structure); + p_table["tree_drown_level"] = reinterpret_cast(&(df_structure->tree_drown_level)) - reinterpret_cast(df_structure); + p_table["sapling_drown_level"] = reinterpret_cast(&(df_structure->sapling_drown_level)) - reinterpret_cast(df_structure); + p_table["frequency"] = reinterpret_cast(&(df_structure->frequency)) - reinterpret_cast(df_structure); + p_table["clustersize"] = reinterpret_cast(&(df_structure->clustersize)) - reinterpret_cast(df_structure); + p_table["prefstring"] = reinterpret_cast(&(df_structure->prefstring)) - reinterpret_cast(df_structure); + p_table["material"] = reinterpret_cast(&(df_structure->material)) - reinterpret_cast(df_structure); + p_table["material_defs"] = reinterpret_cast(&(df_structure->material_defs)) - reinterpret_cast(df_structure); + p_table["underground_depth_min"] = reinterpret_cast(&(df_structure->underground_depth_min)) - reinterpret_cast(df_structure); + p_table["underground_depth_max"] = reinterpret_cast(&(df_structure->underground_depth_max)) - reinterpret_cast(df_structure); + p_table["growths"] = reinterpret_cast(&(df_structure->growths)) - reinterpret_cast(df_structure); + p_table["root_name"] = reinterpret_cast(&(df_structure->root_name)) - reinterpret_cast(df_structure); + p_table["trunk_name"] = reinterpret_cast(&(df_structure->trunk_name)) - reinterpret_cast(df_structure); + p_table["heavy_branch_name"] = reinterpret_cast(&(df_structure->heavy_branch_name)) - reinterpret_cast(df_structure); + p_table["light_branch_name"] = reinterpret_cast(&(df_structure->light_branch_name)) - reinterpret_cast(df_structure); + p_table["twig_name"] = reinterpret_cast(&(df_structure->twig_name)) - reinterpret_cast(df_structure); + p_table["cap_name"] = reinterpret_cast(&(df_structure->cap_name)) - reinterpret_cast(df_structure); + p_table["trunk_period"] = reinterpret_cast(&(df_structure->trunk_period)) - reinterpret_cast(df_structure); + p_table["heavy_branch_density"] = reinterpret_cast(&(df_structure->heavy_branch_density)) - reinterpret_cast(df_structure); + p_table["light_branch_density"] = reinterpret_cast(&(df_structure->light_branch_density)) - reinterpret_cast(df_structure); + p_table["max_trunk_height"] = reinterpret_cast(&(df_structure->max_trunk_height)) - reinterpret_cast(df_structure); + p_table["heavy_branch_radius"] = reinterpret_cast(&(df_structure->heavy_branch_radius)) - reinterpret_cast(df_structure); + p_table["light_branch_radius"] = reinterpret_cast(&(df_structure->light_branch_radius)) - reinterpret_cast(df_structure); + p_table["trunk_branching"] = reinterpret_cast(&(df_structure->trunk_branching)) - reinterpret_cast(df_structure); + p_table["max_trunk_diameter"] = reinterpret_cast(&(df_structure->max_trunk_diameter)) - reinterpret_cast(df_structure); + p_table["trunk_width_period"] = reinterpret_cast(&(df_structure->trunk_width_period)) - reinterpret_cast(df_structure); + p_table["cap_period"] = reinterpret_cast(&(df_structure->cap_period)) - reinterpret_cast(df_structure); + p_table["cap_radius"] = reinterpret_cast(&(df_structure->cap_radius)) - reinterpret_cast(df_structure); + p_table["root_density"] = reinterpret_cast(&(df_structure->root_density)) - reinterpret_cast(df_structure); + p_table["root_radius"] = reinterpret_cast(&(df_structure->root_radius)) - reinterpret_cast(df_structure); + p_table["stockpile_growths"] = reinterpret_cast(&(df_structure->stockpile_growths)) - reinterpret_cast(df_structure); + p_table["stockpile_growth_flags"] = reinterpret_cast(&(df_structure->stockpile_growth_flags)) - reinterpret_cast(df_structure); +} + +void generate_plant_growth_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["name_plural"] = reinterpret_cast(&(df_structure->name_plural)) - reinterpret_cast(df_structure); + p_table["str_growth_item"] = reinterpret_cast(&(df_structure->str_growth_item)) - reinterpret_cast(df_structure); + p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); + p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["prints"] = reinterpret_cast(&(df_structure->prints)) - reinterpret_cast(df_structure); + p_table["timing_1"] = reinterpret_cast(&(df_structure->timing_1)) - reinterpret_cast(df_structure); + p_table["timing_2"] = reinterpret_cast(&(df_structure->timing_2)) - reinterpret_cast(df_structure); + p_table["locations"] = reinterpret_cast(&(df_structure->locations)) - reinterpret_cast(df_structure); + p_table["density"] = reinterpret_cast(&(df_structure->density)) - reinterpret_cast(df_structure); + p_table["behavior"] = reinterpret_cast(&(df_structure->behavior)) - reinterpret_cast(df_structure); + p_table["trunk_height_perc_1"] = reinterpret_cast(&(df_structure->trunk_height_perc_1)) - reinterpret_cast(df_structure); + p_table["trunk_height_perc_2"] = reinterpret_cast(&(df_structure->trunk_height_perc_2)) - reinterpret_cast(df_structure); +} + +void generate_plant_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["material"] = reinterpret_cast(&(df_structure->material)) - reinterpret_cast(df_structure); + p_table["pos"] = reinterpret_cast(&(df_structure->pos)) - reinterpret_cast(df_structure); + p_table["grow_counter"] = reinterpret_cast(&(df_structure->grow_counter)) - reinterpret_cast(df_structure); + p_table["damage_flags"] = reinterpret_cast(&(df_structure->damage_flags)) - reinterpret_cast(df_structure); + p_table["hitpoints"] = reinterpret_cast(&(df_structure->hitpoints)) - reinterpret_cast(df_structure); + p_table["update_order"] = reinterpret_cast(&(df_structure->update_order)) - reinterpret_cast(df_structure); + p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); + p_table["srb_id"] = reinterpret_cast(&(df_structure->srb_id)) - reinterpret_cast(df_structure); + p_table["contaminants"] = reinterpret_cast(&(df_structure->contaminants)) - reinterpret_cast(df_structure); + p_table["tree_info"] = reinterpret_cast(&(df_structure->tree_info)) - reinterpret_cast(df_structure); +} + +void generate_plant_tree_info_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["body"] = reinterpret_cast(&(df_structure->body)) - reinterpret_cast(df_structure); + p_table["extent_east"] = reinterpret_cast(&(df_structure->extent_east)) - reinterpret_cast(df_structure); + p_table["extent_south"] = reinterpret_cast(&(df_structure->extent_south)) - reinterpret_cast(df_structure); + p_table["extent_west"] = reinterpret_cast(&(df_structure->extent_west)) - reinterpret_cast(df_structure); + p_table["extent_north"] = reinterpret_cast(&(df_structure->extent_north)) - reinterpret_cast(df_structure); + p_table["body_height"] = reinterpret_cast(&(df_structure->body_height)) - reinterpret_cast(df_structure); + p_table["dim_x"] = reinterpret_cast(&(df_structure->dim_x)) - reinterpret_cast(df_structure); + p_table["dim_y"] = reinterpret_cast(&(df_structure->dim_y)) - reinterpret_cast(df_structure); + p_table["roots"] = reinterpret_cast(&(df_structure->roots)) - reinterpret_cast(df_structure); + p_table["roots_depth"] = reinterpret_cast(&(df_structure->roots_depth)) - reinterpret_cast(df_structure); + p_table["unk6"] = reinterpret_cast(&(df_structure->unk6)) - reinterpret_cast(df_structure); +} + +void generate_proj_list_link_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["item"] = reinterpret_cast(&(df_structure->item)) - reinterpret_cast(df_structure); + p_table["prev"] = reinterpret_cast(&(df_structure->prev)) - reinterpret_cast(df_structure); + p_table["next"] = reinterpret_cast(&(df_structure->next)) - reinterpret_cast(df_structure); +} + +void generate_projectile_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["link"] = reinterpret_cast(&(df_structure->link)) - reinterpret_cast(df_structure); + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["firer"] = reinterpret_cast(&(df_structure->firer)) - reinterpret_cast(df_structure); + p_table["origin_pos"] = reinterpret_cast(&(df_structure->origin_pos)) - reinterpret_cast(df_structure); + p_table["target_pos"] = reinterpret_cast(&(df_structure->target_pos)) - reinterpret_cast(df_structure); + p_table["cur_pos"] = reinterpret_cast(&(df_structure->cur_pos)) - reinterpret_cast(df_structure); + p_table["prev_pos"] = reinterpret_cast(&(df_structure->prev_pos)) - reinterpret_cast(df_structure); + p_table["distance_flown"] = reinterpret_cast(&(df_structure->distance_flown)) - reinterpret_cast(df_structure); + p_table["fall_threshold"] = reinterpret_cast(&(df_structure->fall_threshold)) - reinterpret_cast(df_structure); + p_table["min_hit_distance"] = reinterpret_cast(&(df_structure->min_hit_distance)) - reinterpret_cast(df_structure); + p_table["min_ground_distance"] = reinterpret_cast(&(df_structure->min_ground_distance)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["fall_counter"] = reinterpret_cast(&(df_structure->fall_counter)) - reinterpret_cast(df_structure); + p_table["fall_delay"] = reinterpret_cast(&(df_structure->fall_delay)) - reinterpret_cast(df_structure); + p_table["hit_rating"] = reinterpret_cast(&(df_structure->hit_rating)) - reinterpret_cast(df_structure); + p_table["unk21"] = reinterpret_cast(&(df_structure->unk21)) - reinterpret_cast(df_structure); + p_table["unk22"] = reinterpret_cast(&(df_structure->unk22)) - reinterpret_cast(df_structure); + p_table["bow_id"] = reinterpret_cast(&(df_structure->bow_id)) - reinterpret_cast(df_structure); + p_table["unk_item_id"] = reinterpret_cast(&(df_structure->unk_item_id)) - reinterpret_cast(df_structure); + p_table["unk_unit_id"] = reinterpret_cast(&(df_structure->unk_unit_id)) - reinterpret_cast(df_structure); + p_table["unk_v40_1"] = reinterpret_cast(&(df_structure->unk_v40_1)) - reinterpret_cast(df_structure); + p_table["pos_x"] = reinterpret_cast(&(df_structure->pos_x)) - reinterpret_cast(df_structure); + p_table["pos_y"] = reinterpret_cast(&(df_structure->pos_y)) - reinterpret_cast(df_structure); + p_table["pos_z"] = reinterpret_cast(&(df_structure->pos_z)) - reinterpret_cast(df_structure); + p_table["speed_x"] = reinterpret_cast(&(df_structure->speed_x)) - reinterpret_cast(df_structure); + p_table["speed_y"] = reinterpret_cast(&(df_structure->speed_y)) - reinterpret_cast(df_structure); + p_table["speed_z"] = reinterpret_cast(&(df_structure->speed_z)) - reinterpret_cast(df_structure); + p_table["accel_x"] = reinterpret_cast(&(df_structure->accel_x)) - reinterpret_cast(df_structure); + p_table["accel_y"] = reinterpret_cast(&(df_structure->accel_y)) - reinterpret_cast(df_structure); + p_table["accel_z"] = reinterpret_cast(&(df_structure->accel_z)) - reinterpret_cast(df_structure); +} + +void generate_proj_itemst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["item"] = reinterpret_cast(&(df_structure->item)) - reinterpret_cast(df_structure); +} + +void generate_proj_unitst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); +} + +void generate_proj_magicst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk"] = reinterpret_cast(&(df_structure->unk)) - reinterpret_cast(df_structure); +} + +void generate_creature_handler_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["alphabetic"] = reinterpret_cast(&(df_structure->alphabetic)) - reinterpret_cast(df_structure); + p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); + p_table["num_caste"] = reinterpret_cast(&(df_structure->num_caste)) - reinterpret_cast(df_structure); + p_table["list_creature"] = reinterpret_cast(&(df_structure->list_creature)) - reinterpret_cast(df_structure); + p_table["list_caste"] = reinterpret_cast(&(df_structure->list_caste)) - reinterpret_cast(df_structure); + p_table["action_strings"] = reinterpret_cast(&(df_structure->action_strings)) - reinterpret_cast(df_structure); +} + +void generate_world_raws__T_plants_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); + p_table["bushes"] = reinterpret_cast(&(df_structure->bushes)) - reinterpret_cast(df_structure); + p_table["bushes_idx"] = reinterpret_cast(&(df_structure->bushes_idx)) - reinterpret_cast(df_structure); + p_table["trees"] = reinterpret_cast(&(df_structure->trees)) - reinterpret_cast(df_structure); + p_table["trees_idx"] = reinterpret_cast(&(df_structure->trees_idx)) - reinterpret_cast(df_structure); + p_table["grasses"] = reinterpret_cast(&(df_structure->grasses)) - reinterpret_cast(df_structure); + p_table["grasses_idx"] = reinterpret_cast(&(df_structure->grasses_idx)) - reinterpret_cast(df_structure); +} + +void generate_world_raws__T_bodyglosses_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["old_singular"] = reinterpret_cast(&(df_structure->old_singular)) - reinterpret_cast(df_structure); + p_table["new_singular"] = reinterpret_cast(&(df_structure->new_singular)) - reinterpret_cast(df_structure); + p_table["old_plural"] = reinterpret_cast(&(df_structure->old_plural)) - reinterpret_cast(df_structure); + p_table["new_plural"] = reinterpret_cast(&(df_structure->new_plural)) - reinterpret_cast(df_structure); +} + +void generate_world_raws__T_itemdefs_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); + p_table["weapons"] = reinterpret_cast(&(df_structure->weapons)) - reinterpret_cast(df_structure); + p_table["trapcomps"] = reinterpret_cast(&(df_structure->trapcomps)) - reinterpret_cast(df_structure); + p_table["toys"] = reinterpret_cast(&(df_structure->toys)) - reinterpret_cast(df_structure); + p_table["tools"] = reinterpret_cast(&(df_structure->tools)) - reinterpret_cast(df_structure); + p_table["tools_by_type"] = reinterpret_cast(&(df_structure->tools_by_type)) - reinterpret_cast(df_structure); + p_table["instruments"] = reinterpret_cast(&(df_structure->instruments)) - reinterpret_cast(df_structure); + p_table["armor"] = reinterpret_cast(&(df_structure->armor)) - reinterpret_cast(df_structure); + p_table["ammo"] = reinterpret_cast(&(df_structure->ammo)) - reinterpret_cast(df_structure); + p_table["siege_ammo"] = reinterpret_cast(&(df_structure->siege_ammo)) - reinterpret_cast(df_structure); + p_table["gloves"] = reinterpret_cast(&(df_structure->gloves)) - reinterpret_cast(df_structure); + p_table["shoes"] = reinterpret_cast(&(df_structure->shoes)) - reinterpret_cast(df_structure); + p_table["shields"] = reinterpret_cast(&(df_structure->shields)) - reinterpret_cast(df_structure); + p_table["helms"] = reinterpret_cast(&(df_structure->helms)) - reinterpret_cast(df_structure); + p_table["pants"] = reinterpret_cast(&(df_structure->pants)) - reinterpret_cast(df_structure); + p_table["food"] = reinterpret_cast(&(df_structure->food)) - reinterpret_cast(df_structure); +} + +void generate_world_raws__T_language_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["words"] = reinterpret_cast(&(df_structure->words)) - reinterpret_cast(df_structure); + p_table["symbols"] = reinterpret_cast(&(df_structure->symbols)) - reinterpret_cast(df_structure); + p_table["translations"] = reinterpret_cast(&(df_structure->translations)) - reinterpret_cast(df_structure); + p_table["word_table"] = reinterpret_cast(&(df_structure->word_table)) - reinterpret_cast(df_structure); +} + +void generate_world_raws__T_descriptors_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["colors"] = reinterpret_cast(&(df_structure->colors)) - reinterpret_cast(df_structure); + p_table["shapes"] = reinterpret_cast(&(df_structure->shapes)) - reinterpret_cast(df_structure); + p_table["patterns"] = reinterpret_cast(&(df_structure->patterns)) - reinterpret_cast(df_structure); +} + +void generate_world_raws__T_reactions_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["reactions"] = reinterpret_cast(&(df_structure->reactions)) - reinterpret_cast(df_structure); + p_table["reaction_categories"] = reinterpret_cast(&(df_structure->reaction_categories)) - reinterpret_cast(df_structure); +} + +void generate_world_raws__T_buildings_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); + p_table["workshops"] = reinterpret_cast(&(df_structure->workshops)) - reinterpret_cast(df_structure); + p_table["furnaces"] = reinterpret_cast(&(df_structure->furnaces)) - reinterpret_cast(df_structure); + p_table["next_id"] = reinterpret_cast(&(df_structure->next_id)) - reinterpret_cast(df_structure); +} + +void generate_world_raws__T_syndromes_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_types"] = reinterpret_cast(&(df_structure->mat_types)) - reinterpret_cast(df_structure); + p_table["mat_indexes"] = reinterpret_cast(&(df_structure->mat_indexes)) - reinterpret_cast(df_structure); + p_table["interactions"] = reinterpret_cast(&(df_structure->interactions)) - reinterpret_cast(df_structure); + p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); +} + +void generate_world_raws__T_effects_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_types"] = reinterpret_cast(&(df_structure->mat_types)) - reinterpret_cast(df_structure); + p_table["mat_indexes"] = reinterpret_cast(&(df_structure->mat_indexes)) - reinterpret_cast(df_structure); + p_table["interactions"] = reinterpret_cast(&(df_structure->interactions)) - reinterpret_cast(df_structure); + p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); +} + +void generate_world_raws_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["material_templates"] = reinterpret_cast(&(df_structure->material_templates)) - reinterpret_cast(df_structure); + p_table["inorganics"] = reinterpret_cast(&(df_structure->inorganics)) - reinterpret_cast(df_structure); + p_table["inorganics_subset"] = reinterpret_cast(&(df_structure->inorganics_subset)) - reinterpret_cast(df_structure); + p_table["plants"] = reinterpret_cast(&(df_structure->plants)) - reinterpret_cast(df_structure); + p_table["tissue_templates"] = reinterpret_cast(&(df_structure->tissue_templates)) - reinterpret_cast(df_structure); + p_table["body_detail_plans"] = reinterpret_cast(&(df_structure->body_detail_plans)) - reinterpret_cast(df_structure); + p_table["body_templates"] = reinterpret_cast(&(df_structure->body_templates)) - reinterpret_cast(df_structure); + p_table["bodyglosses"] = reinterpret_cast(&(df_structure->bodyglosses)) - reinterpret_cast(df_structure); + p_table["creature_variations"] = reinterpret_cast(&(df_structure->creature_variations)) - reinterpret_cast(df_structure); + p_table["creatures"] = reinterpret_cast(&(df_structure->creatures)) - reinterpret_cast(df_structure); + p_table["itemdefs"] = reinterpret_cast(&(df_structure->itemdefs)) - reinterpret_cast(df_structure); + p_table["entities"] = reinterpret_cast(&(df_structure->entities)) - reinterpret_cast(df_structure); + p_table["language"] = reinterpret_cast(&(df_structure->language)) - reinterpret_cast(df_structure); + p_table["descriptors"] = reinterpret_cast(&(df_structure->descriptors)) - reinterpret_cast(df_structure); + p_table["reactions"] = reinterpret_cast(&(df_structure->reactions)) - reinterpret_cast(df_structure); + p_table["buildings"] = reinterpret_cast(&(df_structure->buildings)) - reinterpret_cast(df_structure); + p_table["interactions"] = reinterpret_cast(&(df_structure->interactions)) - reinterpret_cast(df_structure); + p_table["mat_table"] = reinterpret_cast(&(df_structure->mat_table)) - reinterpret_cast(df_structure); + p_table["syndromes"] = reinterpret_cast(&(df_structure->syndromes)) - reinterpret_cast(df_structure); + p_table["effects"] = reinterpret_cast(&(df_structure->effects)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); +} + +void generate_reaction__T_building_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["str"] = reinterpret_cast(&(df_structure->str)) - reinterpret_cast(df_structure); + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["subtype"] = reinterpret_cast(&(df_structure->subtype)) - reinterpret_cast(df_structure); + p_table["custom"] = reinterpret_cast(&(df_structure->custom)) - reinterpret_cast(df_structure); + p_table["hotkey"] = reinterpret_cast(&(df_structure->hotkey)) - reinterpret_cast(df_structure); +} + +void generate_reaction_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["code"] = reinterpret_cast(&(df_structure->code)) - reinterpret_cast(df_structure); + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["reagents"] = reinterpret_cast(&(df_structure->reagents)) - reinterpret_cast(df_structure); + p_table["products"] = reinterpret_cast(&(df_structure->products)) - reinterpret_cast(df_structure); + p_table["skill"] = reinterpret_cast(&(df_structure->skill)) - reinterpret_cast(df_structure); + p_table["max_multiplier"] = reinterpret_cast(&(df_structure->max_multiplier)) - reinterpret_cast(df_structure); + p_table["building"] = reinterpret_cast(&(df_structure->building)) - reinterpret_cast(df_structure); + p_table["index"] = reinterpret_cast(&(df_structure->index)) - reinterpret_cast(df_structure); + p_table["source_hfid"] = reinterpret_cast(&(df_structure->source_hfid)) - reinterpret_cast(df_structure); + p_table["source_enid"] = reinterpret_cast(&(df_structure->source_enid)) - reinterpret_cast(df_structure); + p_table["raw_strings"] = reinterpret_cast(&(df_structure->raw_strings)) - reinterpret_cast(df_structure); + p_table["category"] = reinterpret_cast(&(df_structure->category)) - reinterpret_cast(df_structure); + p_table["descriptions"] = reinterpret_cast(&(df_structure->descriptions)) - reinterpret_cast(df_structure); +} + +void generate_reaction_description_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); +} + +void generate_reaction_reagent_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["code"] = reinterpret_cast(&(df_structure->code)) - reinterpret_cast(df_structure); + p_table["quantity"] = reinterpret_cast(&(df_structure->quantity)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); +} + +void generate_reaction_reagent_itemst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); + p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["reaction_class"] = reinterpret_cast(&(df_structure->reaction_class)) - reinterpret_cast(df_structure); + p_table["has_material_reaction_product"] = reinterpret_cast(&(df_structure->has_material_reaction_product)) - reinterpret_cast(df_structure); + p_table["flags1"] = reinterpret_cast(&(df_structure->flags1)) - reinterpret_cast(df_structure); + p_table["flags2"] = reinterpret_cast(&(df_structure->flags2)) - reinterpret_cast(df_structure); + p_table["flags3"] = reinterpret_cast(&(df_structure->flags3)) - reinterpret_cast(df_structure); + p_table["flags4"] = reinterpret_cast(&(df_structure->flags4)) - reinterpret_cast(df_structure); + p_table["flags5"] = reinterpret_cast(&(df_structure->flags5)) - reinterpret_cast(df_structure); + p_table["metal_ore"] = reinterpret_cast(&(df_structure->metal_ore)) - reinterpret_cast(df_structure); + p_table["min_dimension"] = reinterpret_cast(&(df_structure->min_dimension)) - reinterpret_cast(df_structure); + p_table["contains"] = reinterpret_cast(&(df_structure->contains)) - reinterpret_cast(df_structure); + p_table["has_tool_use"] = reinterpret_cast(&(df_structure->has_tool_use)) - reinterpret_cast(df_structure); + p_table["item_str"] = reinterpret_cast(&(df_structure->item_str)) - reinterpret_cast(df_structure); + p_table["material_str"] = reinterpret_cast(&(df_structure->material_str)) - reinterpret_cast(df_structure); + p_table["metal_ore_str"] = reinterpret_cast(&(df_structure->metal_ore_str)) - reinterpret_cast(df_structure); + p_table["contains_str"] = reinterpret_cast(&(df_structure->contains_str)) - reinterpret_cast(df_structure); +} + +void generate_reaction_product_itemst__T_get_material_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["reagent_code"] = reinterpret_cast(&(df_structure->reagent_code)) - reinterpret_cast(df_structure); + p_table["product_code"] = reinterpret_cast(&(df_structure->product_code)) - reinterpret_cast(df_structure); +} + +void generate_reaction_product_itemst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); + p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["probability"] = reinterpret_cast(&(df_structure->probability)) - reinterpret_cast(df_structure); + p_table["count"] = reinterpret_cast(&(df_structure->count)) - reinterpret_cast(df_structure); + p_table["product_dimension"] = reinterpret_cast(&(df_structure->product_dimension)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["get_material"] = reinterpret_cast(&(df_structure->get_material)) - reinterpret_cast(df_structure); + p_table["item_str"] = reinterpret_cast(&(df_structure->item_str)) - reinterpret_cast(df_structure); + p_table["material_str"] = reinterpret_cast(&(df_structure->material_str)) - reinterpret_cast(df_structure); +} + +void generate_reaction_product_item_improvementst__T_get_material_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["reagent_code"] = reinterpret_cast(&(df_structure->reagent_code)) - reinterpret_cast(df_structure); + p_table["product_code"] = reinterpret_cast(&(df_structure->product_code)) - reinterpret_cast(df_structure); +} + +void generate_reaction_product_item_improvementst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["target_reagent"] = reinterpret_cast(&(df_structure->target_reagent)) - reinterpret_cast(df_structure); + p_table["improvement_type"] = reinterpret_cast(&(df_structure->improvement_type)) - reinterpret_cast(df_structure); + p_table["improvement_specific_type"] = reinterpret_cast(&(df_structure->improvement_specific_type)) - reinterpret_cast(df_structure); + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["probability"] = reinterpret_cast(&(df_structure->probability)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["get_material"] = reinterpret_cast(&(df_structure->get_material)) - reinterpret_cast(df_structure); + p_table["material_str"] = reinterpret_cast(&(df_structure->material_str)) - reinterpret_cast(df_structure); + p_table["unk_v4201_2"] = reinterpret_cast(&(df_structure->unk_v4201_2)) - reinterpret_cast(df_structure); +} + +void generate_general_ref_item_type_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["subtype"] = reinterpret_cast(&(df_structure->subtype)) - reinterpret_cast(df_structure); + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); +} + +void generate_general_ref_mapsquare_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["tiletype"] = reinterpret_cast(&(df_structure->tiletype)) - reinterpret_cast(df_structure); + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); +} + +void generate_general_ref_spherest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["sphere_type"] = reinterpret_cast(&(df_structure->sphere_type)) - reinterpret_cast(df_structure); +} + +void generate_general_ref_knowledge_scholar_flagst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["knowledge"] = reinterpret_cast(&(df_structure->knowledge)) - reinterpret_cast(df_structure); +} + +void generate_general_ref_value_levelst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["value"] = reinterpret_cast(&(df_structure->value)) - reinterpret_cast(df_structure); + p_table["level"] = reinterpret_cast(&(df_structure->level)) - reinterpret_cast(df_structure); +} + +void generate_specific_ref__T_arg2_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["wrestle"] = reinterpret_cast(&(df_structure->wrestle)) - reinterpret_cast(df_structure); +} + +void generate_specific_ref_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["object"] = reinterpret_cast(&(df_structure->object)) - reinterpret_cast(df_structure); + p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); + p_table["activity"] = reinterpret_cast(&(df_structure->activity)) - reinterpret_cast(df_structure); + p_table["screen"] = reinterpret_cast(&(df_structure->screen)) - reinterpret_cast(df_structure); + p_table["vermin"] = reinterpret_cast(&(df_structure->vermin)) - reinterpret_cast(df_structure); + p_table["effect"] = reinterpret_cast(&(df_structure->effect)) - reinterpret_cast(df_structure); + p_table["job"] = reinterpret_cast(&(df_structure->job)) - reinterpret_cast(df_structure); + p_table["arg2"] = reinterpret_cast(&(df_structure->arg2)) - reinterpret_cast(df_structure); +} + +void generate_meeting_variable_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["value"] = reinterpret_cast(&(df_structure->value)) - reinterpret_cast(df_structure); + p_table["ref"] = reinterpret_cast(&(df_structure->ref)) - reinterpret_cast(df_structure); + p_table["active_var"] = reinterpret_cast(&(df_structure->active_var)) - reinterpret_cast(df_structure); +} + +void generate_entity_entity_link_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["target"] = reinterpret_cast(&(df_structure->target)) - reinterpret_cast(df_structure); + p_table["strength"] = reinterpret_cast(&(df_structure->strength)) - reinterpret_cast(df_structure); +} + +void generate_entity_site_link__T_anon_8_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); +} + +void generate_entity_site_link_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["target"] = reinterpret_cast(&(df_structure->target)) - reinterpret_cast(df_structure); + p_table["entity_id"] = reinterpret_cast(&(df_structure->entity_id)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["link_strength"] = reinterpret_cast(&(df_structure->link_strength)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); + p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); + p_table["target_site_x"] = reinterpret_cast(&(df_structure->target_site_x)) - reinterpret_cast(df_structure); + p_table["target_site_y"] = reinterpret_cast(&(df_structure->target_site_y)) - reinterpret_cast(df_structure); + p_table["unk_v43_1"] = reinterpret_cast(&(df_structure->unk_v43_1)) - reinterpret_cast(df_structure); + p_table["unk_v43_2"] = reinterpret_cast(&(df_structure->unk_v43_2)) - reinterpret_cast(df_structure); +} + +void generate_resource_allotment_data__T_unk_654_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk_0"] = reinterpret_cast(&(df_structure->unk_0)) - reinterpret_cast(df_structure); + p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); + p_table["unk_14"] = reinterpret_cast(&(df_structure->unk_14)) - reinterpret_cast(df_structure); + p_table["unk_24"] = reinterpret_cast(&(df_structure->unk_24)) - reinterpret_cast(df_structure); +} + +void generate_resource_allotment_data_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["index"] = reinterpret_cast(&(df_structure->index)) - reinterpret_cast(df_structure); + p_table["resource_allotments"] = reinterpret_cast(&(df_structure->resource_allotments)) - reinterpret_cast(df_structure); + p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); + p_table["unk2"] = reinterpret_cast(&(df_structure->unk2)) - reinterpret_cast(df_structure); + p_table["unk3"] = reinterpret_cast(&(df_structure->unk3)) - reinterpret_cast(df_structure); + p_table["unk_650"] = reinterpret_cast(&(df_structure->unk_650)) - reinterpret_cast(df_structure); + p_table["unk_654"] = reinterpret_cast(&(df_structure->unk_654)) - reinterpret_cast(df_structure); +} + +void generate_stockpile_settings__T_animals_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["empty_cages"] = reinterpret_cast(&(df_structure->empty_cages)) - reinterpret_cast(df_structure); + p_table["empty_traps"] = reinterpret_cast(&(df_structure->empty_traps)) - reinterpret_cast(df_structure); + p_table["enabled"] = reinterpret_cast(&(df_structure->enabled)) - reinterpret_cast(df_structure); +} + +void generate_stockpile_settings__T_food_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["meat"] = reinterpret_cast(&(df_structure->meat)) - reinterpret_cast(df_structure); + p_table["fish"] = reinterpret_cast(&(df_structure->fish)) - reinterpret_cast(df_structure); + p_table["unprepared_fish"] = reinterpret_cast(&(df_structure->unprepared_fish)) - reinterpret_cast(df_structure); + p_table["egg"] = reinterpret_cast(&(df_structure->egg)) - reinterpret_cast(df_structure); + p_table["plants"] = reinterpret_cast(&(df_structure->plants)) - reinterpret_cast(df_structure); + p_table["drink_plant"] = reinterpret_cast(&(df_structure->drink_plant)) - reinterpret_cast(df_structure); + p_table["drink_animal"] = reinterpret_cast(&(df_structure->drink_animal)) - reinterpret_cast(df_structure); + p_table["cheese_plant"] = reinterpret_cast(&(df_structure->cheese_plant)) - reinterpret_cast(df_structure); + p_table["cheese_animal"] = reinterpret_cast(&(df_structure->cheese_animal)) - reinterpret_cast(df_structure); + p_table["seeds"] = reinterpret_cast(&(df_structure->seeds)) - reinterpret_cast(df_structure); + p_table["leaves"] = reinterpret_cast(&(df_structure->leaves)) - reinterpret_cast(df_structure); + p_table["powder_plant"] = reinterpret_cast(&(df_structure->powder_plant)) - reinterpret_cast(df_structure); + p_table["powder_creature"] = reinterpret_cast(&(df_structure->powder_creature)) - reinterpret_cast(df_structure); + p_table["glob"] = reinterpret_cast(&(df_structure->glob)) - reinterpret_cast(df_structure); + p_table["glob_paste"] = reinterpret_cast(&(df_structure->glob_paste)) - reinterpret_cast(df_structure); + p_table["glob_pressed"] = reinterpret_cast(&(df_structure->glob_pressed)) - reinterpret_cast(df_structure); + p_table["liquid_plant"] = reinterpret_cast(&(df_structure->liquid_plant)) - reinterpret_cast(df_structure); + p_table["liquid_animal"] = reinterpret_cast(&(df_structure->liquid_animal)) - reinterpret_cast(df_structure); + p_table["liquid_misc"] = reinterpret_cast(&(df_structure->liquid_misc)) - reinterpret_cast(df_structure); + p_table["prepared_meals"] = reinterpret_cast(&(df_structure->prepared_meals)) - reinterpret_cast(df_structure); +} + +void generate_stockpile_settings__T_furniture_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["other_mats"] = reinterpret_cast(&(df_structure->other_mats)) - reinterpret_cast(df_structure); + p_table["mats"] = reinterpret_cast(&(df_structure->mats)) - reinterpret_cast(df_structure); + p_table["quality_core"] = reinterpret_cast(&(df_structure->quality_core)) - reinterpret_cast(df_structure); + p_table["quality_total"] = reinterpret_cast(&(df_structure->quality_total)) - reinterpret_cast(df_structure); + p_table["sand_bags"] = reinterpret_cast(&(df_structure->sand_bags)) - reinterpret_cast(df_structure); +} + +void generate_stockpile_settings__T_refuse_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["corpses"] = reinterpret_cast(&(df_structure->corpses)) - reinterpret_cast(df_structure); + p_table["body_parts"] = reinterpret_cast(&(df_structure->body_parts)) - reinterpret_cast(df_structure); + p_table["skulls"] = reinterpret_cast(&(df_structure->skulls)) - reinterpret_cast(df_structure); + p_table["bones"] = reinterpret_cast(&(df_structure->bones)) - reinterpret_cast(df_structure); + p_table["hair"] = reinterpret_cast(&(df_structure->hair)) - reinterpret_cast(df_structure); + p_table["shells"] = reinterpret_cast(&(df_structure->shells)) - reinterpret_cast(df_structure); + p_table["teeth"] = reinterpret_cast(&(df_structure->teeth)) - reinterpret_cast(df_structure); + p_table["horns"] = reinterpret_cast(&(df_structure->horns)) - reinterpret_cast(df_structure); + p_table["fresh_raw_hide"] = reinterpret_cast(&(df_structure->fresh_raw_hide)) - reinterpret_cast(df_structure); + p_table["rotten_raw_hide"] = reinterpret_cast(&(df_structure->rotten_raw_hide)) - reinterpret_cast(df_structure); +} + +void generate_stockpile_settings__T_stone_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mats"] = reinterpret_cast(&(df_structure->mats)) - reinterpret_cast(df_structure); +} + +void generate_stockpile_settings__T_ore_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mats"] = reinterpret_cast(&(df_structure->mats)) - reinterpret_cast(df_structure); +} + +void generate_stockpile_settings__T_ammo_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["other_mats"] = reinterpret_cast(&(df_structure->other_mats)) - reinterpret_cast(df_structure); + p_table["mats"] = reinterpret_cast(&(df_structure->mats)) - reinterpret_cast(df_structure); + p_table["quality_core"] = reinterpret_cast(&(df_structure->quality_core)) - reinterpret_cast(df_structure); + p_table["quality_total"] = reinterpret_cast(&(df_structure->quality_total)) - reinterpret_cast(df_structure); +} + +void generate_stockpile_settings__T_coins_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mats"] = reinterpret_cast(&(df_structure->mats)) - reinterpret_cast(df_structure); +} + +void generate_stockpile_settings__T_bars_blocks_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["bars_other_mats"] = reinterpret_cast(&(df_structure->bars_other_mats)) - reinterpret_cast(df_structure); + p_table["blocks_other_mats"] = reinterpret_cast(&(df_structure->blocks_other_mats)) - reinterpret_cast(df_structure); + p_table["bars_mats"] = reinterpret_cast(&(df_structure->bars_mats)) - reinterpret_cast(df_structure); + p_table["blocks_mats"] = reinterpret_cast(&(df_structure->blocks_mats)) - reinterpret_cast(df_structure); +} + +void generate_stockpile_settings__T_gems_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["rough_other_mats"] = reinterpret_cast(&(df_structure->rough_other_mats)) - reinterpret_cast(df_structure); + p_table["cut_other_mats"] = reinterpret_cast(&(df_structure->cut_other_mats)) - reinterpret_cast(df_structure); + p_table["rough_mats"] = reinterpret_cast(&(df_structure->rough_mats)) - reinterpret_cast(df_structure); + p_table["cut_mats"] = reinterpret_cast(&(df_structure->cut_mats)) - reinterpret_cast(df_structure); +} + +void generate_stockpile_settings__T_finished_goods_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["other_mats"] = reinterpret_cast(&(df_structure->other_mats)) - reinterpret_cast(df_structure); + p_table["mats"] = reinterpret_cast(&(df_structure->mats)) - reinterpret_cast(df_structure); + p_table["quality_core"] = reinterpret_cast(&(df_structure->quality_core)) - reinterpret_cast(df_structure); + p_table["quality_total"] = reinterpret_cast(&(df_structure->quality_total)) - reinterpret_cast(df_structure); +} + +void generate_stockpile_settings__T_leather_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mats"] = reinterpret_cast(&(df_structure->mats)) - reinterpret_cast(df_structure); +} + +void generate_stockpile_settings__T_cloth_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["thread_silk"] = reinterpret_cast(&(df_structure->thread_silk)) - reinterpret_cast(df_structure); + p_table["thread_plant"] = reinterpret_cast(&(df_structure->thread_plant)) - reinterpret_cast(df_structure); + p_table["thread_yarn"] = reinterpret_cast(&(df_structure->thread_yarn)) - reinterpret_cast(df_structure); + p_table["thread_metal"] = reinterpret_cast(&(df_structure->thread_metal)) - reinterpret_cast(df_structure); + p_table["cloth_silk"] = reinterpret_cast(&(df_structure->cloth_silk)) - reinterpret_cast(df_structure); + p_table["cloth_plant"] = reinterpret_cast(&(df_structure->cloth_plant)) - reinterpret_cast(df_structure); + p_table["cloth_yarn"] = reinterpret_cast(&(df_structure->cloth_yarn)) - reinterpret_cast(df_structure); + p_table["cloth_metal"] = reinterpret_cast(&(df_structure->cloth_metal)) - reinterpret_cast(df_structure); +} + +void generate_stockpile_settings__T_wood_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mats"] = reinterpret_cast(&(df_structure->mats)) - reinterpret_cast(df_structure); +} + +void generate_stockpile_settings__T_weapons_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["weapon_type"] = reinterpret_cast(&(df_structure->weapon_type)) - reinterpret_cast(df_structure); + p_table["trapcomp_type"] = reinterpret_cast(&(df_structure->trapcomp_type)) - reinterpret_cast(df_structure); + p_table["other_mats"] = reinterpret_cast(&(df_structure->other_mats)) - reinterpret_cast(df_structure); + p_table["mats"] = reinterpret_cast(&(df_structure->mats)) - reinterpret_cast(df_structure); + p_table["quality_core"] = reinterpret_cast(&(df_structure->quality_core)) - reinterpret_cast(df_structure); + p_table["quality_total"] = reinterpret_cast(&(df_structure->quality_total)) - reinterpret_cast(df_structure); + p_table["usable"] = reinterpret_cast(&(df_structure->usable)) - reinterpret_cast(df_structure); + p_table["unusable"] = reinterpret_cast(&(df_structure->unusable)) - reinterpret_cast(df_structure); +} + +void generate_stockpile_settings__T_armor_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["body"] = reinterpret_cast(&(df_structure->body)) - reinterpret_cast(df_structure); + p_table["head"] = reinterpret_cast(&(df_structure->head)) - reinterpret_cast(df_structure); + p_table["feet"] = reinterpret_cast(&(df_structure->feet)) - reinterpret_cast(df_structure); + p_table["hands"] = reinterpret_cast(&(df_structure->hands)) - reinterpret_cast(df_structure); + p_table["legs"] = reinterpret_cast(&(df_structure->legs)) - reinterpret_cast(df_structure); + p_table["shield"] = reinterpret_cast(&(df_structure->shield)) - reinterpret_cast(df_structure); + p_table["other_mats"] = reinterpret_cast(&(df_structure->other_mats)) - reinterpret_cast(df_structure); + p_table["mats"] = reinterpret_cast(&(df_structure->mats)) - reinterpret_cast(df_structure); + p_table["quality_core"] = reinterpret_cast(&(df_structure->quality_core)) - reinterpret_cast(df_structure); + p_table["quality_total"] = reinterpret_cast(&(df_structure->quality_total)) - reinterpret_cast(df_structure); + p_table["usable"] = reinterpret_cast(&(df_structure->usable)) - reinterpret_cast(df_structure); + p_table["unusable"] = reinterpret_cast(&(df_structure->unusable)) - reinterpret_cast(df_structure); +} + +void generate_stockpile_settings__T_sheet_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["paper"] = reinterpret_cast(&(df_structure->paper)) - reinterpret_cast(df_structure); + p_table["parchment"] = reinterpret_cast(&(df_structure->parchment)) - reinterpret_cast(df_structure); +} + +void generate_stockpile_settings_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["animals"] = reinterpret_cast(&(df_structure->animals)) - reinterpret_cast(df_structure); + p_table["food"] = reinterpret_cast(&(df_structure->food)) - reinterpret_cast(df_structure); + p_table["furniture"] = reinterpret_cast(&(df_structure->furniture)) - reinterpret_cast(df_structure); + p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); + p_table["refuse"] = reinterpret_cast(&(df_structure->refuse)) - reinterpret_cast(df_structure); + p_table["stone"] = reinterpret_cast(&(df_structure->stone)) - reinterpret_cast(df_structure); + p_table["ore"] = reinterpret_cast(&(df_structure->ore)) - reinterpret_cast(df_structure); + p_table["ammo"] = reinterpret_cast(&(df_structure->ammo)) - reinterpret_cast(df_structure); + p_table["coins"] = reinterpret_cast(&(df_structure->coins)) - reinterpret_cast(df_structure); + p_table["bars_blocks"] = reinterpret_cast(&(df_structure->bars_blocks)) - reinterpret_cast(df_structure); + p_table["gems"] = reinterpret_cast(&(df_structure->gems)) - reinterpret_cast(df_structure); + p_table["finished_goods"] = reinterpret_cast(&(df_structure->finished_goods)) - reinterpret_cast(df_structure); + p_table["leather"] = reinterpret_cast(&(df_structure->leather)) - reinterpret_cast(df_structure); + p_table["cloth"] = reinterpret_cast(&(df_structure->cloth)) - reinterpret_cast(df_structure); + p_table["wood"] = reinterpret_cast(&(df_structure->wood)) - reinterpret_cast(df_structure); + p_table["weapons"] = reinterpret_cast(&(df_structure->weapons)) - reinterpret_cast(df_structure); + p_table["armor"] = reinterpret_cast(&(df_structure->armor)) - reinterpret_cast(df_structure); + p_table["sheet"] = reinterpret_cast(&(df_structure->sheet)) - reinterpret_cast(df_structure); + p_table["allow_organic"] = reinterpret_cast(&(df_structure->allow_organic)) - reinterpret_cast(df_structure); + p_table["allow_inorganic"] = reinterpret_cast(&(df_structure->allow_inorganic)) - reinterpret_cast(df_structure); +} + +void generate_building_stockpilest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["settings"] = reinterpret_cast(&(df_structure->settings)) - reinterpret_cast(df_structure); + p_table["max_barrels"] = reinterpret_cast(&(df_structure->max_barrels)) - reinterpret_cast(df_structure); + p_table["max_bins"] = reinterpret_cast(&(df_structure->max_bins)) - reinterpret_cast(df_structure); + p_table["max_wheelbarrows"] = reinterpret_cast(&(df_structure->max_wheelbarrows)) - reinterpret_cast(df_structure); + p_table["container_type"] = reinterpret_cast(&(df_structure->container_type)) - reinterpret_cast(df_structure); + p_table["container_item_id"] = reinterpret_cast(&(df_structure->container_item_id)) - reinterpret_cast(df_structure); + p_table["container_x"] = reinterpret_cast(&(df_structure->container_x)) - reinterpret_cast(df_structure); + p_table["container_y"] = reinterpret_cast(&(df_structure->container_y)) - reinterpret_cast(df_structure); + p_table["links"] = reinterpret_cast(&(df_structure->links)) - reinterpret_cast(df_structure); + p_table["use_links_only"] = reinterpret_cast(&(df_structure->use_links_only)) - reinterpret_cast(df_structure); + p_table["stockpile_number"] = reinterpret_cast(&(df_structure->stockpile_number)) - reinterpret_cast(df_structure); + p_table["linked_stops"] = reinterpret_cast(&(df_structure->linked_stops)) - reinterpret_cast(df_structure); +} + +void generate_hauling_route_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["stops"] = reinterpret_cast(&(df_structure->stops)) - reinterpret_cast(df_structure); + p_table["vehicle_ids"] = reinterpret_cast(&(df_structure->vehicle_ids)) - reinterpret_cast(df_structure); + p_table["vehicle_stops"] = reinterpret_cast(&(df_structure->vehicle_stops)) - reinterpret_cast(df_structure); +} + +void generate_hauling_stop_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["pos"] = reinterpret_cast(&(df_structure->pos)) - reinterpret_cast(df_structure); + p_table["settings"] = reinterpret_cast(&(df_structure->settings)) - reinterpret_cast(df_structure); + p_table["conditions"] = reinterpret_cast(&(df_structure->conditions)) - reinterpret_cast(df_structure); + p_table["stockpiles"] = reinterpret_cast(&(df_structure->stockpiles)) - reinterpret_cast(df_structure); + p_table["time_waiting"] = reinterpret_cast(&(df_structure->time_waiting)) - reinterpret_cast(df_structure); + p_table["cart_id"] = reinterpret_cast(&(df_structure->cart_id)) - reinterpret_cast(df_structure); +} + +void generate_stop_depart_condition_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["timeout"] = reinterpret_cast(&(df_structure->timeout)) - reinterpret_cast(df_structure); + p_table["direction"] = reinterpret_cast(&(df_structure->direction)) - reinterpret_cast(df_structure); + p_table["mode"] = reinterpret_cast(&(df_structure->mode)) - reinterpret_cast(df_structure); + p_table["load_percent"] = reinterpret_cast(&(df_structure->load_percent)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["guide_path"] = reinterpret_cast(&(df_structure->guide_path)) - reinterpret_cast(df_structure); +} + +void generate_vehicle_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["item_id"] = reinterpret_cast(&(df_structure->item_id)) - reinterpret_cast(df_structure); + p_table["offset_x"] = reinterpret_cast(&(df_structure->offset_x)) - reinterpret_cast(df_structure); + p_table["offset_y"] = reinterpret_cast(&(df_structure->offset_y)) - reinterpret_cast(df_structure); + p_table["offset_z"] = reinterpret_cast(&(df_structure->offset_z)) - reinterpret_cast(df_structure); + p_table["speed_x"] = reinterpret_cast(&(df_structure->speed_x)) - reinterpret_cast(df_structure); + p_table["speed_y"] = reinterpret_cast(&(df_structure->speed_y)) - reinterpret_cast(df_structure); + p_table["speed_z"] = reinterpret_cast(&(df_structure->speed_z)) - reinterpret_cast(df_structure); + p_table["unk_20"] = reinterpret_cast(&(df_structure->unk_20)) - reinterpret_cast(df_structure); + p_table["unk_24"] = reinterpret_cast(&(df_structure->unk_24)) - reinterpret_cast(df_structure); + p_table["unk_28"] = reinterpret_cast(&(df_structure->unk_28)) - reinterpret_cast(df_structure); + p_table["unk_2c"] = reinterpret_cast(&(df_structure->unk_2c)) - reinterpret_cast(df_structure); + p_table["route_id"] = reinterpret_cast(&(df_structure->route_id)) - reinterpret_cast(df_structure); + p_table["pos"] = reinterpret_cast(&(df_structure->pos)) - reinterpret_cast(df_structure); + p_table["time_stopped"] = reinterpret_cast(&(df_structure->time_stopped)) - reinterpret_cast(df_structure); +} + +void generate_creature_interaction_effect_target_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mode"] = reinterpret_cast(&(df_structure->mode)) - reinterpret_cast(df_structure); + p_table["key"] = reinterpret_cast(&(df_structure->key)) - reinterpret_cast(df_structure); + p_table["tissue"] = reinterpret_cast(&(df_structure->tissue)) - reinterpret_cast(df_structure); +} + +void generate_creature_interaction_effect__T_counter_trigger_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["counter"] = reinterpret_cast(&(df_structure->counter)) - reinterpret_cast(df_structure); + p_table["minval"] = reinterpret_cast(&(df_structure->minval)) - reinterpret_cast(df_structure); + p_table["maxval"] = reinterpret_cast(&(df_structure->maxval)) - reinterpret_cast(df_structure); + p_table["required"] = reinterpret_cast(&(df_structure->required)) - reinterpret_cast(df_structure); +} + +void generate_creature_interaction_effect_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["prob"] = reinterpret_cast(&(df_structure->prob)) - reinterpret_cast(df_structure); + p_table["start"] = reinterpret_cast(&(df_structure->start)) - reinterpret_cast(df_structure); + p_table["peak"] = reinterpret_cast(&(df_structure->peak)) - reinterpret_cast(df_structure); + p_table["end"] = reinterpret_cast(&(df_structure->end)) - reinterpret_cast(df_structure); + p_table["dwf_stretch"] = reinterpret_cast(&(df_structure->dwf_stretch)) - reinterpret_cast(df_structure); + p_table["syn_id"] = reinterpret_cast(&(df_structure->syn_id)) - reinterpret_cast(df_structure); + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["syn_index"] = reinterpret_cast(&(df_structure->syn_index)) - reinterpret_cast(df_structure); + p_table["moon_phase_min"] = reinterpret_cast(&(df_structure->moon_phase_min)) - reinterpret_cast(df_structure); + p_table["moon_phase_max"] = reinterpret_cast(&(df_structure->moon_phase_max)) - reinterpret_cast(df_structure); + p_table["counter_trigger"] = reinterpret_cast(&(df_structure->counter_trigger)) - reinterpret_cast(df_structure); +} + +void generate_creature_interaction_effect_painst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["sev"] = reinterpret_cast(&(df_structure->sev)) - reinterpret_cast(df_structure); + p_table["target"] = reinterpret_cast(&(df_structure->target)) - reinterpret_cast(df_structure); +} + +void generate_creature_interaction_effect_swellingst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["sev"] = reinterpret_cast(&(df_structure->sev)) - reinterpret_cast(df_structure); + p_table["target"] = reinterpret_cast(&(df_structure->target)) - reinterpret_cast(df_structure); +} + +void generate_creature_interaction_effect_oozingst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["sev"] = reinterpret_cast(&(df_structure->sev)) - reinterpret_cast(df_structure); + p_table["target"] = reinterpret_cast(&(df_structure->target)) - reinterpret_cast(df_structure); +} + +void generate_creature_interaction_effect_bruisingst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["sev"] = reinterpret_cast(&(df_structure->sev)) - reinterpret_cast(df_structure); + p_table["target"] = reinterpret_cast(&(df_structure->target)) - reinterpret_cast(df_structure); +} + +void generate_creature_interaction_effect_blistersst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["sev"] = reinterpret_cast(&(df_structure->sev)) - reinterpret_cast(df_structure); + p_table["target"] = reinterpret_cast(&(df_structure->target)) - reinterpret_cast(df_structure); +} + +void generate_creature_interaction_effect_numbnessst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["sev"] = reinterpret_cast(&(df_structure->sev)) - reinterpret_cast(df_structure); + p_table["target"] = reinterpret_cast(&(df_structure->target)) - reinterpret_cast(df_structure); +} + +void generate_creature_interaction_effect_paralysisst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["sev"] = reinterpret_cast(&(df_structure->sev)) - reinterpret_cast(df_structure); + p_table["target"] = reinterpret_cast(&(df_structure->target)) - reinterpret_cast(df_structure); +} + +void generate_creature_interaction_effect_feverst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["sev"] = reinterpret_cast(&(df_structure->sev)) - reinterpret_cast(df_structure); +} + +void generate_creature_interaction_effect_bleedingst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["sev"] = reinterpret_cast(&(df_structure->sev)) - reinterpret_cast(df_structure); + p_table["target"] = reinterpret_cast(&(df_structure->target)) - reinterpret_cast(df_structure); +} + +void generate_creature_interaction_effect_cough_bloodst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["sev"] = reinterpret_cast(&(df_structure->sev)) - reinterpret_cast(df_structure); +} + +void generate_creature_interaction_effect_vomit_bloodst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["sev"] = reinterpret_cast(&(df_structure->sev)) - reinterpret_cast(df_structure); +} + +void generate_creature_interaction_effect_nauseast_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["sev"] = reinterpret_cast(&(df_structure->sev)) - reinterpret_cast(df_structure); +} + +void generate_creature_interaction_effect_unconsciousnessst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["sev"] = reinterpret_cast(&(df_structure->sev)) - reinterpret_cast(df_structure); +} + +void generate_creature_interaction_effect_necrosisst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["sev"] = reinterpret_cast(&(df_structure->sev)) - reinterpret_cast(df_structure); + p_table["target"] = reinterpret_cast(&(df_structure->target)) - reinterpret_cast(df_structure); +} + +void generate_creature_interaction_effect_impair_functionst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["sev"] = reinterpret_cast(&(df_structure->sev)) - reinterpret_cast(df_structure); + p_table["target"] = reinterpret_cast(&(df_structure->target)) - reinterpret_cast(df_structure); +} + +void generate_creature_interaction_effect_drowsinessst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["sev"] = reinterpret_cast(&(df_structure->sev)) - reinterpret_cast(df_structure); +} + +void generate_creature_interaction_effect_dizzinessst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["sev"] = reinterpret_cast(&(df_structure->sev)) - reinterpret_cast(df_structure); +} + +void generate_creature_interaction_effect_display_namest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["name_plural"] = reinterpret_cast(&(df_structure->name_plural)) - reinterpret_cast(df_structure); + p_table["name_adj"] = reinterpret_cast(&(df_structure->name_adj)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_creature_interaction_effect_body_appearance_modifierst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk_60"] = reinterpret_cast(&(df_structure->unk_60)) - reinterpret_cast(df_structure); + p_table["unk_64"] = reinterpret_cast(&(df_structure->unk_64)) - reinterpret_cast(df_structure); +} + +void generate_creature_interaction_effect_bp_appearance_modifierst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk_6c"] = reinterpret_cast(&(df_structure->unk_6c)) - reinterpret_cast(df_structure); + p_table["value"] = reinterpret_cast(&(df_structure->value)) - reinterpret_cast(df_structure); + p_table["target"] = reinterpret_cast(&(df_structure->target)) - reinterpret_cast(df_structure); +} + +void generate_creature_interaction_effect_body_transformationst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["chance"] = reinterpret_cast(&(df_structure->chance)) - reinterpret_cast(df_structure); + p_table["race_str"] = reinterpret_cast(&(df_structure->race_str)) - reinterpret_cast(df_structure); + p_table["caste_str"] = reinterpret_cast(&(df_structure->caste_str)) - reinterpret_cast(df_structure); + p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); + p_table["caste"] = reinterpret_cast(&(df_structure->caste)) - reinterpret_cast(df_structure); +} + +void generate_creature_interaction_effect_skill_roll_adjustst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["multiplier"] = reinterpret_cast(&(df_structure->multiplier)) - reinterpret_cast(df_structure); + p_table["chance"] = reinterpret_cast(&(df_structure->chance)) - reinterpret_cast(df_structure); +} + +void generate_creature_interaction_effect_display_symbolst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["tile"] = reinterpret_cast(&(df_structure->tile)) - reinterpret_cast(df_structure); + p_table["color"] = reinterpret_cast(&(df_structure->color)) - reinterpret_cast(df_structure); +} + +void generate_creature_interaction_effect_flash_symbolst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["sym_color"] = reinterpret_cast(&(df_structure->sym_color)) - reinterpret_cast(df_structure); + p_table["period"] = reinterpret_cast(&(df_structure->period)) - reinterpret_cast(df_structure); + p_table["time"] = reinterpret_cast(&(df_structure->time)) - reinterpret_cast(df_structure); + p_table["unk_78"] = reinterpret_cast(&(df_structure->unk_78)) - reinterpret_cast(df_structure); +} + +void generate_creature_interaction_effect_phys_att_changest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["phys_att_perc"] = reinterpret_cast(&(df_structure->phys_att_perc)) - reinterpret_cast(df_structure); + p_table["phys_att_add"] = reinterpret_cast(&(df_structure->phys_att_add)) - reinterpret_cast(df_structure); +} + +void generate_creature_interaction_effect_ment_att_changest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["ment_att_perc"] = reinterpret_cast(&(df_structure->ment_att_perc)) - reinterpret_cast(df_structure); + p_table["ment_att_add"] = reinterpret_cast(&(df_structure->ment_att_add)) - reinterpret_cast(df_structure); +} + +void generate_creature_interaction_effect_add_simple_flagst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["tags1"] = reinterpret_cast(&(df_structure->tags1)) - reinterpret_cast(df_structure); + p_table["tags2"] = reinterpret_cast(&(df_structure->tags2)) - reinterpret_cast(df_structure); +} + +void generate_creature_interaction_effect_remove_simple_flagst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["tags1"] = reinterpret_cast(&(df_structure->tags1)) - reinterpret_cast(df_structure); + p_table["tags2"] = reinterpret_cast(&(df_structure->tags2)) - reinterpret_cast(df_structure); +} + +void generate_creature_interaction_effect_speed_changest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["bonus_add"] = reinterpret_cast(&(df_structure->bonus_add)) - reinterpret_cast(df_structure); + p_table["bonus_perc"] = reinterpret_cast(&(df_structure->bonus_perc)) - reinterpret_cast(df_structure); +} + +void generate_creature_interaction_effect_body_mat_interactionst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk_6c"] = reinterpret_cast(&(df_structure->unk_6c)) - reinterpret_cast(df_structure); + p_table["unk_88"] = reinterpret_cast(&(df_structure->unk_88)) - reinterpret_cast(df_structure); + p_table["unk_8c"] = reinterpret_cast(&(df_structure->unk_8c)) - reinterpret_cast(df_structure); + p_table["unk_90"] = reinterpret_cast(&(df_structure->unk_90)) - reinterpret_cast(df_structure); + p_table["unk_94"] = reinterpret_cast(&(df_structure->unk_94)) - reinterpret_cast(df_structure); +} + +void generate_creature_interaction_effect_material_force_adjustst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk_6c"] = reinterpret_cast(&(df_structure->unk_6c)) - reinterpret_cast(df_structure); + p_table["unk_88"] = reinterpret_cast(&(df_structure->unk_88)) - reinterpret_cast(df_structure); + p_table["unk_a4"] = reinterpret_cast(&(df_structure->unk_a4)) - reinterpret_cast(df_structure); + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["fraction_mul"] = reinterpret_cast(&(df_structure->fraction_mul)) - reinterpret_cast(df_structure); + p_table["fraction_div"] = reinterpret_cast(&(df_structure->fraction_div)) - reinterpret_cast(df_structure); +} + +void generate_creature_interaction_effect_can_do_interactionst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["interaction"] = reinterpret_cast(&(df_structure->interaction)) - reinterpret_cast(df_structure); +} + +void generate_creature_interaction_effect_sense_creature_classst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["class_name"] = reinterpret_cast(&(df_structure->class_name)) - reinterpret_cast(df_structure); + p_table["unk_88"] = reinterpret_cast(&(df_structure->unk_88)) - reinterpret_cast(df_structure); + p_table["unk_8a"] = reinterpret_cast(&(df_structure->unk_8a)) - reinterpret_cast(df_structure); + p_table["unk_8c"] = reinterpret_cast(&(df_structure->unk_8c)) - reinterpret_cast(df_structure); + p_table["unk_8e"] = reinterpret_cast(&(df_structure->unk_8e)) - reinterpret_cast(df_structure); +} + +void generate_creature_interaction_effect_feel_emotionst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["emotion"] = reinterpret_cast(&(df_structure->emotion)) - reinterpret_cast(df_structure); + p_table["sev"] = reinterpret_cast(&(df_structure->sev)) - reinterpret_cast(df_structure); +} + +void generate_creature_interaction_effect_change_personalityst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["facets"] = reinterpret_cast(&(df_structure->facets)) - reinterpret_cast(df_structure); +} + +void generate_creature_interaction_effect_erratic_behaviorst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["sev"] = reinterpret_cast(&(df_structure->sev)) - reinterpret_cast(df_structure); +} + +void generate_syndrome_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["syn_name"] = reinterpret_cast(&(df_structure->syn_name)) - reinterpret_cast(df_structure); + p_table["ce"] = reinterpret_cast(&(df_structure->ce)) - reinterpret_cast(df_structure); + p_table["syn_affected_class"] = reinterpret_cast(&(df_structure->syn_affected_class)) - reinterpret_cast(df_structure); + p_table["syn_affected_creature"] = reinterpret_cast(&(df_structure->syn_affected_creature)) - reinterpret_cast(df_structure); + p_table["syn_affected_caste"] = reinterpret_cast(&(df_structure->syn_affected_caste)) - reinterpret_cast(df_structure); + p_table["syn_immune_class"] = reinterpret_cast(&(df_structure->syn_immune_class)) - reinterpret_cast(df_structure); + p_table["syn_immune_creature"] = reinterpret_cast(&(df_structure->syn_immune_creature)) - reinterpret_cast(df_structure); + p_table["syn_immune_caste"] = reinterpret_cast(&(df_structure->syn_immune_caste)) - reinterpret_cast(df_structure); + p_table["syn_class"] = reinterpret_cast(&(df_structure->syn_class)) - reinterpret_cast(df_structure); + p_table["syn_identifier"] = reinterpret_cast(&(df_structure->syn_identifier)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["syn_concentration_added"] = reinterpret_cast(&(df_structure->syn_concentration_added)) - reinterpret_cast(df_structure); + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); +} + +void generate_ui_build_item_req_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["filter"] = reinterpret_cast(&(df_structure->filter)) - reinterpret_cast(df_structure); + p_table["candidates"] = reinterpret_cast(&(df_structure->candidates)) - reinterpret_cast(df_structure); + p_table["candidate_selected"] = reinterpret_cast(&(df_structure->candidate_selected)) - reinterpret_cast(df_structure); + p_table["unk_a0"] = reinterpret_cast(&(df_structure->unk_a0)) - reinterpret_cast(df_structure); + p_table["candidate_enabled"] = reinterpret_cast(&(df_structure->candidate_enabled)) - reinterpret_cast(df_structure); + p_table["count_required"] = reinterpret_cast(&(df_structure->count_required)) - reinterpret_cast(df_structure); + p_table["count_max"] = reinterpret_cast(&(df_structure->count_max)) - reinterpret_cast(df_structure); + p_table["count_provided"] = reinterpret_cast(&(df_structure->count_provided)) - reinterpret_cast(df_structure); +} + +void generate_build_req_choice_genst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); + p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["candidates"] = reinterpret_cast(&(df_structure->candidates)) - reinterpret_cast(df_structure); + p_table["used_count"] = reinterpret_cast(&(df_structure->used_count)) - reinterpret_cast(df_structure); +} + +void generate_build_req_choice_specst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["candidate"] = reinterpret_cast(&(df_structure->candidate)) - reinterpret_cast(df_structure); + p_table["candidate_id"] = reinterpret_cast(&(df_structure->candidate_id)) - reinterpret_cast(df_structure); +} + +void generate_ui_build_selector_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["requirements"] = reinterpret_cast(&(df_structure->requirements)) - reinterpret_cast(df_structure); + p_table["choices"] = reinterpret_cast(&(df_structure->choices)) - reinterpret_cast(df_structure); + p_table["building_type"] = reinterpret_cast(&(df_structure->building_type)) - reinterpret_cast(df_structure); + p_table["building_subtype"] = reinterpret_cast(&(df_structure->building_subtype)) - reinterpret_cast(df_structure); + p_table["custom_type"] = reinterpret_cast(&(df_structure->custom_type)) - reinterpret_cast(df_structure); + p_table["stage"] = reinterpret_cast(&(df_structure->stage)) - reinterpret_cast(df_structure); + p_table["req_index"] = reinterpret_cast(&(df_structure->req_index)) - reinterpret_cast(df_structure); + p_table["sel_index"] = reinterpret_cast(&(df_structure->sel_index)) - reinterpret_cast(df_structure); + p_table["is_grouped"] = reinterpret_cast(&(df_structure->is_grouped)) - reinterpret_cast(df_structure); + p_table["errors"] = reinterpret_cast(&(df_structure->errors)) - reinterpret_cast(df_structure); + p_table["unk4"] = reinterpret_cast(&(df_structure->unk4)) - reinterpret_cast(df_structure); + p_table["tiles"] = reinterpret_cast(&(df_structure->tiles)) - reinterpret_cast(df_structure); + p_table["unk5_0a"] = reinterpret_cast(&(df_structure->unk5_0a)) - reinterpret_cast(df_structure); + p_table["unk5_0b"] = reinterpret_cast(&(df_structure->unk5_0b)) - reinterpret_cast(df_structure); + p_table["plate_info"] = reinterpret_cast(&(df_structure->plate_info)) - reinterpret_cast(df_structure); + p_table["unk6"] = reinterpret_cast(&(df_structure->unk6)) - reinterpret_cast(df_structure); + p_table["unk7"] = reinterpret_cast(&(df_structure->unk7)) - reinterpret_cast(df_structure); + p_table["friction"] = reinterpret_cast(&(df_structure->friction)) - reinterpret_cast(df_structure); + p_table["use_dump"] = reinterpret_cast(&(df_structure->use_dump)) - reinterpret_cast(df_structure); + p_table["dump_x_shift"] = reinterpret_cast(&(df_structure->dump_x_shift)) - reinterpret_cast(df_structure); + p_table["dump_y_shift"] = reinterpret_cast(&(df_structure->dump_y_shift)) - reinterpret_cast(df_structure); + p_table["speed"] = reinterpret_cast(&(df_structure->speed)) - reinterpret_cast(df_structure); +} + +void generate_interface_button_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["hotkey_id"] = reinterpret_cast(&(df_structure->hotkey_id)) - reinterpret_cast(df_structure); + p_table["is_hidden"] = reinterpret_cast(&(df_structure->is_hidden)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_interface_button_buildingst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["building"] = reinterpret_cast(&(df_structure->building)) - reinterpret_cast(df_structure); +} + +void generate_interface_button_building_category_selectorst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["category_id"] = reinterpret_cast(&(df_structure->category_id)) - reinterpret_cast(df_structure); + p_table["unk_14"] = reinterpret_cast(&(df_structure->unk_14)) - reinterpret_cast(df_structure); +} + +void generate_interface_button_building_material_selectorst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["material_category"] = reinterpret_cast(&(df_structure->material_category)) - reinterpret_cast(df_structure); + p_table["unk_1c"] = reinterpret_cast(&(df_structure->unk_1c)) - reinterpret_cast(df_structure); +} + +void generate_interface_button_building_new_jobst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["job_type"] = reinterpret_cast(&(df_structure->job_type)) - reinterpret_cast(df_structure); + p_table["reaction_name"] = reinterpret_cast(&(df_structure->reaction_name)) - reinterpret_cast(df_structure); + p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); + p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["item_category"] = reinterpret_cast(&(df_structure->item_category)) - reinterpret_cast(df_structure); + p_table["hist_figure_id"] = reinterpret_cast(&(df_structure->hist_figure_id)) - reinterpret_cast(df_structure); + p_table["material_category"] = reinterpret_cast(&(df_structure->material_category)) - reinterpret_cast(df_structure); + p_table["unk_48"] = reinterpret_cast(&(df_structure->unk_48)) - reinterpret_cast(df_structure); + p_table["is_custom"] = reinterpret_cast(&(df_structure->is_custom)) - reinterpret_cast(df_structure); +} + +void generate_interface_button_building_custom_category_selectorst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["category"] = reinterpret_cast(&(df_structure->category)) - reinterpret_cast(df_structure); +} + +void generate_interface_button_constructionst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unused_c"] = reinterpret_cast(&(df_structure->unused_c)) - reinterpret_cast(df_structure); +} + +void generate_interface_button_construction_donest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_interface_button_construction_category_selectorst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["category_id"] = reinterpret_cast(&(df_structure->category_id)) - reinterpret_cast(df_structure); +} + +void generate_interface_button_construction_building_selectorst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["building_type"] = reinterpret_cast(&(df_structure->building_type)) - reinterpret_cast(df_structure); + p_table["building_subtype"] = reinterpret_cast(&(df_structure->building_subtype)) - reinterpret_cast(df_structure); + p_table["custom_type"] = reinterpret_cast(&(df_structure->custom_type)) - reinterpret_cast(df_structure); + p_table["existing_count"] = reinterpret_cast(&(df_structure->existing_count)) - reinterpret_cast(df_structure); +} + +void generate_ui_sidebar_menus__T_designation_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["marker_only"] = reinterpret_cast(&(df_structure->marker_only)) - reinterpret_cast(df_structure); + p_table["priority_set"] = reinterpret_cast(&(df_structure->priority_set)) - reinterpret_cast(df_structure); + p_table["priority"] = reinterpret_cast(&(df_structure->priority)) - reinterpret_cast(df_structure); + p_table["mine_mode"] = reinterpret_cast(&(df_structure->mine_mode)) - reinterpret_cast(df_structure); +} + +void generate_ui_sidebar_menus__T_workshop_job_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["choices_all"] = reinterpret_cast(&(df_structure->choices_all)) - reinterpret_cast(df_structure); + p_table["choices_visible"] = reinterpret_cast(&(df_structure->choices_visible)) - reinterpret_cast(df_structure); + p_table["cursor"] = reinterpret_cast(&(df_structure->cursor)) - reinterpret_cast(df_structure); + p_table["category_id"] = reinterpret_cast(&(df_structure->category_id)) - reinterpret_cast(df_structure); + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["material_category"] = reinterpret_cast(&(df_structure->material_category)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["use_tooltip_lines"] = reinterpret_cast(&(df_structure->use_tooltip_lines)) - reinterpret_cast(df_structure); +} + +void generate_ui_sidebar_menus__T_building_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["choices_all"] = reinterpret_cast(&(df_structure->choices_all)) - reinterpret_cast(df_structure); + p_table["choices_visible"] = reinterpret_cast(&(df_structure->choices_visible)) - reinterpret_cast(df_structure); + p_table["category_id"] = reinterpret_cast(&(df_structure->category_id)) - reinterpret_cast(df_structure); + p_table["cursor"] = reinterpret_cast(&(df_structure->cursor)) - reinterpret_cast(df_structure); +} + +void generate_ui_sidebar_menus__T_zone_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["remove"] = reinterpret_cast(&(df_structure->remove)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["mode"] = reinterpret_cast(&(df_structure->mode)) - reinterpret_cast(df_structure); + p_table["selected"] = reinterpret_cast(&(df_structure->selected)) - reinterpret_cast(df_structure); +} + +void generate_ui_sidebar_menus__T_unit_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["inv_items"] = reinterpret_cast(&(df_structure->inv_items)) - reinterpret_cast(df_structure); + p_table["inv_spatters"] = reinterpret_cast(&(df_structure->inv_spatters)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["in_new_squad"] = reinterpret_cast(&(df_structure->in_new_squad)) - reinterpret_cast(df_structure); + p_table["cursor_uniform"] = reinterpret_cast(&(df_structure->cursor_uniform)) - reinterpret_cast(df_structure); + p_table["unk_88n_cursor"] = reinterpret_cast(&(df_structure->unk_88n_cursor)) - reinterpret_cast(df_structure); + p_table["squads"] = reinterpret_cast(&(df_structure->squads)) - reinterpret_cast(df_structure); + p_table["squad_pos"] = reinterpret_cast(&(df_structure->squad_pos)) - reinterpret_cast(df_structure); + p_table["squad_assn"] = reinterpret_cast(&(df_structure->squad_assn)) - reinterpret_cast(df_structure); + p_table["squad_unk1"] = reinterpret_cast(&(df_structure->squad_unk1)) - reinterpret_cast(df_structure); + p_table["squad_unk2"] = reinterpret_cast(&(df_structure->squad_unk2)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["unk3"] = reinterpret_cast(&(df_structure->unk3)) - reinterpret_cast(df_structure); + p_table["unk4"] = reinterpret_cast(&(df_structure->unk4)) - reinterpret_cast(df_structure); + p_table["squad_list_opened"] = reinterpret_cast(&(df_structure->squad_list_opened)) - reinterpret_cast(df_structure); + p_table["unk5"] = reinterpret_cast(&(df_structure->unk5)) - reinterpret_cast(df_structure); + p_table["rename_squad"] = reinterpret_cast(&(df_structure->rename_squad)) - reinterpret_cast(df_structure); + p_table["unk_88"] = reinterpret_cast(&(df_structure->unk_88)) - reinterpret_cast(df_structure); + p_table["unk_44_11a"] = reinterpret_cast(&(df_structure->unk_44_11a)) - reinterpret_cast(df_structure); + p_table["unk_44_11b"] = reinterpret_cast(&(df_structure->unk_44_11b)) - reinterpret_cast(df_structure); + p_table["unk_44_11c"] = reinterpret_cast(&(df_structure->unk_44_11c)) - reinterpret_cast(df_structure); + p_table["expel_error"] = reinterpret_cast(&(df_structure->expel_error)) - reinterpret_cast(df_structure); +} + +void generate_ui_sidebar_menus__T_hospital_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["selected_line"] = reinterpret_cast(&(df_structure->selected_line)) - reinterpret_cast(df_structure); + p_table["beds"] = reinterpret_cast(&(df_structure->beds)) - reinterpret_cast(df_structure); + p_table["tables"] = reinterpret_cast(&(df_structure->tables)) - reinterpret_cast(df_structure); + p_table["traction_benches"] = reinterpret_cast(&(df_structure->traction_benches)) - reinterpret_cast(df_structure); + p_table["containers"] = reinterpret_cast(&(df_structure->containers)) - reinterpret_cast(df_structure); +} + +void generate_ui_sidebar_menus__T_location_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["list"] = reinterpret_cast(&(df_structure->list)) - reinterpret_cast(df_structure); + p_table["cursor"] = reinterpret_cast(&(df_structure->cursor)) - reinterpret_cast(df_structure); + p_table["deities"] = reinterpret_cast(&(df_structure->deities)) - reinterpret_cast(df_structure); + p_table["cursor_deity"] = reinterpret_cast(&(df_structure->cursor_deity)) - reinterpret_cast(df_structure); + p_table["in_create"] = reinterpret_cast(&(df_structure->in_create)) - reinterpret_cast(df_structure); + p_table["in_choose_deity"] = reinterpret_cast(&(df_structure->in_choose_deity)) - reinterpret_cast(df_structure); +} + +void generate_ui_sidebar_menus__T_job_details_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["job"] = reinterpret_cast(&(df_structure->job)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["detail_type"] = reinterpret_cast(&(df_structure->detail_type)) - reinterpret_cast(df_structure); + p_table["detail_material_type"] = reinterpret_cast(&(df_structure->detail_material_type)) - reinterpret_cast(df_structure); + p_table["detail_cursor"] = reinterpret_cast(&(df_structure->detail_cursor)) - reinterpret_cast(df_structure); + p_table["setting_detail_type"] = reinterpret_cast(&(df_structure->setting_detail_type)) - reinterpret_cast(df_structure); + p_table["unk6"] = reinterpret_cast(&(df_structure->unk6)) - reinterpret_cast(df_structure); + p_table["pos"] = reinterpret_cast(&(df_structure->pos)) - reinterpret_cast(df_structure); + p_table["workshop"] = reinterpret_cast(&(df_structure->workshop)) - reinterpret_cast(df_structure); + p_table["mat_type_visible"] = reinterpret_cast(&(df_structure->mat_type_visible)) - reinterpret_cast(df_structure); + p_table["mat_index_visible"] = reinterpret_cast(&(df_structure->mat_index_visible)) - reinterpret_cast(df_structure); + p_table["mat_amount_visible"] = reinterpret_cast(&(df_structure->mat_amount_visible)) - reinterpret_cast(df_structure); + p_table["mat_type_all"] = reinterpret_cast(&(df_structure->mat_type_all)) - reinterpret_cast(df_structure); + p_table["mat_index_all"] = reinterpret_cast(&(df_structure->mat_index_all)) - reinterpret_cast(df_structure); + p_table["mat_amount_all"] = reinterpret_cast(&(df_structure->mat_amount_all)) - reinterpret_cast(df_structure); + p_table["mat_cursor"] = reinterpret_cast(&(df_structure->mat_cursor)) - reinterpret_cast(df_structure); + p_table["mat_filter"] = reinterpret_cast(&(df_structure->mat_filter)) - reinterpret_cast(df_structure); + p_table["editing_mat_filter"] = reinterpret_cast(&(df_structure->editing_mat_filter)) - reinterpret_cast(df_structure); + p_table["sizes_visible"] = reinterpret_cast(&(df_structure->sizes_visible)) - reinterpret_cast(df_structure); + p_table["sizes_all"] = reinterpret_cast(&(df_structure->sizes_all)) - reinterpret_cast(df_structure); + p_table["size_cursor"] = reinterpret_cast(&(df_structure->size_cursor)) - reinterpret_cast(df_structure); + p_table["size_filter"] = reinterpret_cast(&(df_structure->size_filter)) - reinterpret_cast(df_structure); + p_table["editing_size_filter"] = reinterpret_cast(&(df_structure->editing_size_filter)) - reinterpret_cast(df_structure); + p_table["decoration_types"] = reinterpret_cast(&(df_structure->decoration_types)) - reinterpret_cast(df_structure); + p_table["decoration_cursor"] = reinterpret_cast(&(df_structure->decoration_cursor)) - reinterpret_cast(df_structure); + p_table["selected_display_furniture"] = reinterpret_cast(&(df_structure->selected_display_furniture)) - reinterpret_cast(df_structure); + p_table["displayed_items_cursor"] = reinterpret_cast(&(df_structure->displayed_items_cursor)) - reinterpret_cast(df_structure); +} + +void generate_ui_sidebar_menus__T_unit_cursor_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["list"] = reinterpret_cast(&(df_structure->list)) - reinterpret_cast(df_structure); + p_table["unk_a0"] = reinterpret_cast(&(df_structure->unk_a0)) - reinterpret_cast(df_structure); + p_table["unk_a1"] = reinterpret_cast(&(df_structure->unk_a1)) - reinterpret_cast(df_structure); +} + +void generate_ui_sidebar_menus__T_unit_skills_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["skill_id"] = reinterpret_cast(&(df_structure->skill_id)) - reinterpret_cast(df_structure); + p_table["skill_type"] = reinterpret_cast(&(df_structure->skill_type)) - reinterpret_cast(df_structure); + p_table["skill_subtype"] = reinterpret_cast(&(df_structure->skill_subtype)) - reinterpret_cast(df_structure); +} + +void generate_ui_sidebar_menus__T_barracks_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["squads"] = reinterpret_cast(&(df_structure->squads)) - reinterpret_cast(df_structure); + p_table["uses"] = reinterpret_cast(&(df_structure->uses)) - reinterpret_cast(df_structure); + p_table["in_rename"] = reinterpret_cast(&(df_structure->in_rename)) - reinterpret_cast(df_structure); + p_table["in_positions"] = reinterpret_cast(&(df_structure->in_positions)) - reinterpret_cast(df_structure); + p_table["position_squad"] = reinterpret_cast(&(df_structure->position_squad)) - reinterpret_cast(df_structure); + p_table["position_cursor"] = reinterpret_cast(&(df_structure->position_cursor)) - reinterpret_cast(df_structure); + p_table["in_position_squads"] = reinterpret_cast(&(df_structure->in_position_squads)) - reinterpret_cast(df_structure); + p_table["position_squads"] = reinterpret_cast(&(df_structure->position_squads)) - reinterpret_cast(df_structure); + p_table["position_squad_cursor"] = reinterpret_cast(&(df_structure->position_squad_cursor)) - reinterpret_cast(df_structure); +} + +void generate_ui_sidebar_menus__T_minimap_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["data"] = reinterpret_cast(&(df_structure->data)) - reinterpret_cast(df_structure); + p_table["need_render"] = reinterpret_cast(&(df_structure->need_render)) - reinterpret_cast(df_structure); + p_table["need_scan"] = reinterpret_cast(&(df_structure->need_scan)) - reinterpret_cast(df_structure); + p_table["z_level"] = reinterpret_cast(&(df_structure->z_level)) - reinterpret_cast(df_structure); + p_table["tile"] = reinterpret_cast(&(df_structure->tile)) - reinterpret_cast(df_structure); + p_table["tile_fg"] = reinterpret_cast(&(df_structure->tile_fg)) - reinterpret_cast(df_structure); + p_table["tile_bg"] = reinterpret_cast(&(df_structure->tile_bg)) - reinterpret_cast(df_structure); + p_table["tile_bold"] = reinterpret_cast(&(df_structure->tile_bold)) - reinterpret_cast(df_structure); +} + +void generate_ui_sidebar_menus__T_command_line_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["original"] = reinterpret_cast(&(df_structure->original)) - reinterpret_cast(df_structure); + p_table["arg_vect"] = reinterpret_cast(&(df_structure->arg_vect)) - reinterpret_cast(df_structure); + p_table["gen_id"] = reinterpret_cast(&(df_structure->gen_id)) - reinterpret_cast(df_structure); + p_table["world_seed"] = reinterpret_cast(&(df_structure->world_seed)) - reinterpret_cast(df_structure); + p_table["use_seed"] = reinterpret_cast(&(df_structure->use_seed)) - reinterpret_cast(df_structure); + p_table["world_param"] = reinterpret_cast(&(df_structure->world_param)) - reinterpret_cast(df_structure); + p_table["use_param"] = reinterpret_cast(&(df_structure->use_param)) - reinterpret_cast(df_structure); +} + +void generate_ui_sidebar_menus_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["designation"] = reinterpret_cast(&(df_structure->designation)) - reinterpret_cast(df_structure); + p_table["workshop_job"] = reinterpret_cast(&(df_structure->workshop_job)) - reinterpret_cast(df_structure); + p_table["building"] = reinterpret_cast(&(df_structure->building)) - reinterpret_cast(df_structure); + p_table["zone"] = reinterpret_cast(&(df_structure->zone)) - reinterpret_cast(df_structure); + p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); + p_table["hospital"] = reinterpret_cast(&(df_structure->hospital)) - reinterpret_cast(df_structure); + p_table["location"] = reinterpret_cast(&(df_structure->location)) - reinterpret_cast(df_structure); + p_table["job_details"] = reinterpret_cast(&(df_structure->job_details)) - reinterpret_cast(df_structure); + p_table["unit_cursor"] = reinterpret_cast(&(df_structure->unit_cursor)) - reinterpret_cast(df_structure); + p_table["unit_skills"] = reinterpret_cast(&(df_structure->unit_skills)) - reinterpret_cast(df_structure); + p_table["show_combat"] = reinterpret_cast(&(df_structure->show_combat)) - reinterpret_cast(df_structure); + p_table["show_labor"] = reinterpret_cast(&(df_structure->show_labor)) - reinterpret_cast(df_structure); + p_table["show_misc"] = reinterpret_cast(&(df_structure->show_misc)) - reinterpret_cast(df_structure); + p_table["barracks_squad_cursor"] = reinterpret_cast(&(df_structure->barracks_squad_cursor)) - reinterpret_cast(df_structure); + p_table["barracks"] = reinterpret_cast(&(df_structure->barracks)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["minimap"] = reinterpret_cast(&(df_structure->minimap)) - reinterpret_cast(df_structure); + p_table["command_line"] = reinterpret_cast(&(df_structure->command_line)) - reinterpret_cast(df_structure); + p_table["num_speech_tokens"] = reinterpret_cast(&(df_structure->num_speech_tokens)) - reinterpret_cast(df_structure); + p_table["unk_17d8"] = reinterpret_cast(&(df_structure->unk_17d8)) - reinterpret_cast(df_structure); +} + +void generate_ui_look_list__T_items_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["spatter_item_type"] = reinterpret_cast(&(df_structure->spatter_item_type)) - reinterpret_cast(df_structure); + p_table["spatter_item_subtype"] = reinterpret_cast(&(df_structure->spatter_item_subtype)) - reinterpret_cast(df_structure); + p_table["spatter_mat_type"] = reinterpret_cast(&(df_structure->spatter_mat_type)) - reinterpret_cast(df_structure); + p_table["spatter_mat_index"] = reinterpret_cast(&(df_structure->spatter_mat_index)) - reinterpret_cast(df_structure); + p_table["spatter_mat_state"] = reinterpret_cast(&(df_structure->spatter_mat_state)) - reinterpret_cast(df_structure); + p_table["item"] = reinterpret_cast(&(df_structure->item)) - reinterpret_cast(df_structure); + p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); + p_table["building"] = reinterpret_cast(&(df_structure->building)) - reinterpret_cast(df_structure); + p_table["vermin"] = reinterpret_cast(&(df_structure->vermin)) - reinterpret_cast(df_structure); + p_table["flow"] = reinterpret_cast(&(df_structure->flow)) - reinterpret_cast(df_structure); + p_table["spatter_size"] = reinterpret_cast(&(df_structure->spatter_size)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); +} + +void generate_ui_look_list_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["items"] = reinterpret_cast(&(df_structure->items)) - reinterpret_cast(df_structure); +} + +void generate_ui_unit_view_mode_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["value"] = reinterpret_cast(&(df_structure->value)) - reinterpret_cast(df_structure); +} + +void generate_punishment_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["criminal"] = reinterpret_cast(&(df_structure->criminal)) - reinterpret_cast(df_structure); + p_table["officer"] = reinterpret_cast(&(df_structure->officer)) - reinterpret_cast(df_structure); + p_table["beating"] = reinterpret_cast(&(df_structure->beating)) - reinterpret_cast(df_structure); + p_table["hammer_strikes"] = reinterpret_cast(&(df_structure->hammer_strikes)) - reinterpret_cast(df_structure); + p_table["prison_counter"] = reinterpret_cast(&(df_structure->prison_counter)) - reinterpret_cast(df_structure); + p_table["unk_10"] = reinterpret_cast(&(df_structure->unk_10)) - reinterpret_cast(df_structure); + p_table["chain"] = reinterpret_cast(&(df_structure->chain)) - reinterpret_cast(df_structure); + p_table["victims"] = reinterpret_cast(&(df_structure->victims)) - reinterpret_cast(df_structure); +} + +void generate_timed_event_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["season"] = reinterpret_cast(&(df_structure->season)) - reinterpret_cast(df_structure); + p_table["season_ticks"] = reinterpret_cast(&(df_structure->season_ticks)) - reinterpret_cast(df_structure); + p_table["entity"] = reinterpret_cast(&(df_structure->entity)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); +} + +void generate_map_renderer__T_anon_4_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["x"] = reinterpret_cast(&(df_structure->x)) - reinterpret_cast(df_structure); + p_table["y"] = reinterpret_cast(&(df_structure->y)) - reinterpret_cast(df_structure); +} + +void generate_map_renderer_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["entity"] = reinterpret_cast(&(df_structure->entity)) - reinterpret_cast(df_structure); + p_table["cursor_units"] = reinterpret_cast(&(df_structure->cursor_units)) - reinterpret_cast(df_structure); + p_table["cursor_guts"] = reinterpret_cast(&(df_structure->cursor_guts)) - reinterpret_cast(df_structure); + p_table["multiple_guts"] = reinterpret_cast(&(df_structure->multiple_guts)) - reinterpret_cast(df_structure); + p_table["cursor_corpse"] = reinterpret_cast(&(df_structure->cursor_corpse)) - reinterpret_cast(df_structure); + p_table["cursor_corpse_cnt"] = reinterpret_cast(&(df_structure->cursor_corpse_cnt)) - reinterpret_cast(df_structure); + p_table["cursor_corpsepiece"] = reinterpret_cast(&(df_structure->cursor_corpsepiece)) - reinterpret_cast(df_structure); + p_table["cursor_corpsepiece_cnt"] = reinterpret_cast(&(df_structure->cursor_corpsepiece_cnt)) - reinterpret_cast(df_structure); + p_table["cursor_bones"] = reinterpret_cast(&(df_structure->cursor_bones)) - reinterpret_cast(df_structure); + p_table["cursor_bones_cnt"] = reinterpret_cast(&(df_structure->cursor_bones_cnt)) - reinterpret_cast(df_structure); + p_table["cursor_other"] = reinterpret_cast(&(df_structure->cursor_other)) - reinterpret_cast(df_structure); + p_table["cursor_other_cnt"] = reinterpret_cast(&(df_structure->cursor_other_cnt)) - reinterpret_cast(df_structure); + p_table["unk_10034"] = reinterpret_cast(&(df_structure->unk_10034)) - reinterpret_cast(df_structure); + p_table["unk_10035"] = reinterpret_cast(&(df_structure->unk_10035)) - reinterpret_cast(df_structure); + p_table["cur_tick_count"] = reinterpret_cast(&(df_structure->cur_tick_count)) - reinterpret_cast(df_structure); + p_table["tick_phase"] = reinterpret_cast(&(df_structure->tick_phase)) - reinterpret_cast(df_structure); + p_table["dim_colors"] = reinterpret_cast(&(df_structure->dim_colors)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); +} + +void generate_unit__T_path_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["dest"] = reinterpret_cast(&(df_structure->dest)) - reinterpret_cast(df_structure); + p_table["goal"] = reinterpret_cast(&(df_structure->goal)) - reinterpret_cast(df_structure); + p_table["path"] = reinterpret_cast(&(df_structure->path)) - reinterpret_cast(df_structure); +} + +void generate_unit__T_meeting_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["state"] = reinterpret_cast(&(df_structure->state)) - reinterpret_cast(df_structure); + p_table["target_entity"] = reinterpret_cast(&(df_structure->target_entity)) - reinterpret_cast(df_structure); + p_table["target_role"] = reinterpret_cast(&(df_structure->target_role)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_unit__T_military_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["squad_id"] = reinterpret_cast(&(df_structure->squad_id)) - reinterpret_cast(df_structure); + p_table["squad_position"] = reinterpret_cast(&(df_structure->squad_position)) - reinterpret_cast(df_structure); + p_table["patrol_cooldown"] = reinterpret_cast(&(df_structure->patrol_cooldown)) - reinterpret_cast(df_structure); + p_table["patrol_timer"] = reinterpret_cast(&(df_structure->patrol_timer)) - reinterpret_cast(df_structure); + p_table["cur_uniform"] = reinterpret_cast(&(df_structure->cur_uniform)) - reinterpret_cast(df_structure); + p_table["unk_items"] = reinterpret_cast(&(df_structure->unk_items)) - reinterpret_cast(df_structure); + p_table["uniforms"] = reinterpret_cast(&(df_structure->uniforms)) - reinterpret_cast(df_structure); + p_table["pickup_flags"] = reinterpret_cast(&(df_structure->pickup_flags)) - reinterpret_cast(df_structure); + p_table["uniform_pickup"] = reinterpret_cast(&(df_structure->uniform_pickup)) - reinterpret_cast(df_structure); + p_table["uniform_drop"] = reinterpret_cast(&(df_structure->uniform_drop)) - reinterpret_cast(df_structure); + p_table["individual_drills"] = reinterpret_cast(&(df_structure->individual_drills)) - reinterpret_cast(df_structure); +} + +void generate_unit__T_animal_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["population"] = reinterpret_cast(&(df_structure->population)) - reinterpret_cast(df_structure); + p_table["leave_countdown"] = reinterpret_cast(&(df_structure->leave_countdown)) - reinterpret_cast(df_structure); + p_table["vanish_countdown"] = reinterpret_cast(&(df_structure->vanish_countdown)) - reinterpret_cast(df_structure); +} + +void generate_unit__T_opponent_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unit_id"] = reinterpret_cast(&(df_structure->unit_id)) - reinterpret_cast(df_structure); + p_table["unit_pos"] = reinterpret_cast(&(df_structure->unit_pos)) - reinterpret_cast(df_structure); + p_table["unk_c"] = reinterpret_cast(&(df_structure->unk_c)) - reinterpret_cast(df_structure); +} + +void generate_unit__T_job_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["account"] = reinterpret_cast(&(df_structure->account)) - reinterpret_cast(df_structure); + p_table["satisfaction"] = reinterpret_cast(&(df_structure->satisfaction)) - reinterpret_cast(df_structure); + p_table["hunt_target"] = reinterpret_cast(&(df_structure->hunt_target)) - reinterpret_cast(df_structure); + p_table["unk_v4305_1"] = reinterpret_cast(&(df_structure->unk_v4305_1)) - reinterpret_cast(df_structure); + p_table["destroy_target"] = reinterpret_cast(&(df_structure->destroy_target)) - reinterpret_cast(df_structure); + p_table["unk_v40_1"] = reinterpret_cast(&(df_structure->unk_v40_1)) - reinterpret_cast(df_structure); + p_table["unk_v40_2"] = reinterpret_cast(&(df_structure->unk_v40_2)) - reinterpret_cast(df_structure); + p_table["unk_v40_3"] = reinterpret_cast(&(df_structure->unk_v40_3)) - reinterpret_cast(df_structure); + p_table["unk_v40_4"] = reinterpret_cast(&(df_structure->unk_v40_4)) - reinterpret_cast(df_structure); + p_table["unk_v40_5"] = reinterpret_cast(&(df_structure->unk_v40_5)) - reinterpret_cast(df_structure); + p_table["gait_buildup"] = reinterpret_cast(&(df_structure->gait_buildup)) - reinterpret_cast(df_structure); + p_table["climb_hold"] = reinterpret_cast(&(df_structure->climb_hold)) - reinterpret_cast(df_structure); + p_table["unk_v4014_1"] = reinterpret_cast(&(df_structure->unk_v4014_1)) - reinterpret_cast(df_structure); + p_table["current_job"] = reinterpret_cast(&(df_structure->current_job)) - reinterpret_cast(df_structure); + p_table["mood_skill"] = reinterpret_cast(&(df_structure->mood_skill)) - reinterpret_cast(df_structure); + p_table["mood_timeout"] = reinterpret_cast(&(df_structure->mood_timeout)) - reinterpret_cast(df_structure); + p_table["unk_39c"] = reinterpret_cast(&(df_structure->unk_39c)) - reinterpret_cast(df_structure); +} + +void generate_unit__T_body_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["components"] = reinterpret_cast(&(df_structure->components)) - reinterpret_cast(df_structure); + p_table["wounds"] = reinterpret_cast(&(df_structure->wounds)) - reinterpret_cast(df_structure); + p_table["wound_next_id"] = reinterpret_cast(&(df_structure->wound_next_id)) - reinterpret_cast(df_structure); + p_table["unk_39c"] = reinterpret_cast(&(df_structure->unk_39c)) - reinterpret_cast(df_structure); + p_table["body_plan"] = reinterpret_cast(&(df_structure->body_plan)) - reinterpret_cast(df_structure); + p_table["weapon_bp"] = reinterpret_cast(&(df_structure->weapon_bp)) - reinterpret_cast(df_structure); + p_table["physical_attrs"] = reinterpret_cast(&(df_structure->physical_attrs)) - reinterpret_cast(df_structure); + p_table["size_info"] = reinterpret_cast(&(df_structure->size_info)) - reinterpret_cast(df_structure); + p_table["blood_max"] = reinterpret_cast(&(df_structure->blood_max)) - reinterpret_cast(df_structure); + p_table["blood_count"] = reinterpret_cast(&(df_structure->blood_count)) - reinterpret_cast(df_structure); + p_table["infection_level"] = reinterpret_cast(&(df_structure->infection_level)) - reinterpret_cast(df_structure); + p_table["spatters"] = reinterpret_cast(&(df_structure->spatters)) - reinterpret_cast(df_structure); +} + +void generate_unit__T_appearance_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["body_modifiers"] = reinterpret_cast(&(df_structure->body_modifiers)) - reinterpret_cast(df_structure); + p_table["bp_modifiers"] = reinterpret_cast(&(df_structure->bp_modifiers)) - reinterpret_cast(df_structure); + p_table["size_modifier"] = reinterpret_cast(&(df_structure->size_modifier)) - reinterpret_cast(df_structure); + p_table["tissue_style"] = reinterpret_cast(&(df_structure->tissue_style)) - reinterpret_cast(df_structure); + p_table["tissue_style_civ_id"] = reinterpret_cast(&(df_structure->tissue_style_civ_id)) - reinterpret_cast(df_structure); + p_table["tissue_style_id"] = reinterpret_cast(&(df_structure->tissue_style_id)) - reinterpret_cast(df_structure); + p_table["tissue_style_type"] = reinterpret_cast(&(df_structure->tissue_style_type)) - reinterpret_cast(df_structure); + p_table["tissue_length"] = reinterpret_cast(&(df_structure->tissue_length)) - reinterpret_cast(df_structure); + p_table["genes"] = reinterpret_cast(&(df_structure->genes)) - reinterpret_cast(df_structure); + p_table["colors"] = reinterpret_cast(&(df_structure->colors)) - reinterpret_cast(df_structure); +} + +void generate_unit__T_counters_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["think_counter"] = reinterpret_cast(&(df_structure->think_counter)) - reinterpret_cast(df_structure); + p_table["job_counter"] = reinterpret_cast(&(df_structure->job_counter)) - reinterpret_cast(df_structure); + p_table["swap_counter"] = reinterpret_cast(&(df_structure->swap_counter)) - reinterpret_cast(df_structure); + p_table["death_cause"] = reinterpret_cast(&(df_structure->death_cause)) - reinterpret_cast(df_structure); + p_table["death_id"] = reinterpret_cast(&(df_structure->death_id)) - reinterpret_cast(df_structure); + p_table["winded"] = reinterpret_cast(&(df_structure->winded)) - reinterpret_cast(df_structure); + p_table["stunned"] = reinterpret_cast(&(df_structure->stunned)) - reinterpret_cast(df_structure); + p_table["unconscious"] = reinterpret_cast(&(df_structure->unconscious)) - reinterpret_cast(df_structure); + p_table["suffocation"] = reinterpret_cast(&(df_structure->suffocation)) - reinterpret_cast(df_structure); + p_table["webbed"] = reinterpret_cast(&(df_structure->webbed)) - reinterpret_cast(df_structure); + p_table["guts_trail1"] = reinterpret_cast(&(df_structure->guts_trail1)) - reinterpret_cast(df_structure); + p_table["guts_trail2"] = reinterpret_cast(&(df_structure->guts_trail2)) - reinterpret_cast(df_structure); + p_table["soldier_mood_countdown"] = reinterpret_cast(&(df_structure->soldier_mood_countdown)) - reinterpret_cast(df_structure); + p_table["soldier_mood"] = reinterpret_cast(&(df_structure->soldier_mood)) - reinterpret_cast(df_structure); + p_table["pain"] = reinterpret_cast(&(df_structure->pain)) - reinterpret_cast(df_structure); + p_table["nausea"] = reinterpret_cast(&(df_structure->nausea)) - reinterpret_cast(df_structure); + p_table["dizziness"] = reinterpret_cast(&(df_structure->dizziness)) - reinterpret_cast(df_structure); +} + +void generate_unit__T_curse_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk_0"] = reinterpret_cast(&(df_structure->unk_0)) - reinterpret_cast(df_structure); + p_table["add_tags1"] = reinterpret_cast(&(df_structure->add_tags1)) - reinterpret_cast(df_structure); + p_table["rem_tags1"] = reinterpret_cast(&(df_structure->rem_tags1)) - reinterpret_cast(df_structure); + p_table["add_tags2"] = reinterpret_cast(&(df_structure->add_tags2)) - reinterpret_cast(df_structure); + p_table["rem_tags2"] = reinterpret_cast(&(df_structure->rem_tags2)) - reinterpret_cast(df_structure); + p_table["name_visible"] = reinterpret_cast(&(df_structure->name_visible)) - reinterpret_cast(df_structure); + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["name_plural"] = reinterpret_cast(&(df_structure->name_plural)) - reinterpret_cast(df_structure); + p_table["name_adjective"] = reinterpret_cast(&(df_structure->name_adjective)) - reinterpret_cast(df_structure); + p_table["sym_and_color1"] = reinterpret_cast(&(df_structure->sym_and_color1)) - reinterpret_cast(df_structure); + p_table["sym_and_color2"] = reinterpret_cast(&(df_structure->sym_and_color2)) - reinterpret_cast(df_structure); + p_table["flash_period"] = reinterpret_cast(&(df_structure->flash_period)) - reinterpret_cast(df_structure); + p_table["flash_time2"] = reinterpret_cast(&(df_structure->flash_time2)) - reinterpret_cast(df_structure); + p_table["body_appearance"] = reinterpret_cast(&(df_structure->body_appearance)) - reinterpret_cast(df_structure); + p_table["bp_appearance"] = reinterpret_cast(&(df_structure->bp_appearance)) - reinterpret_cast(df_structure); + p_table["speed_add"] = reinterpret_cast(&(df_structure->speed_add)) - reinterpret_cast(df_structure); + p_table["speed_mul_percent"] = reinterpret_cast(&(df_structure->speed_mul_percent)) - reinterpret_cast(df_structure); + p_table["attr_change"] = reinterpret_cast(&(df_structure->attr_change)) - reinterpret_cast(df_structure); + p_table["luck_mul_percent"] = reinterpret_cast(&(df_structure->luck_mul_percent)) - reinterpret_cast(df_structure); + p_table["unk_98"] = reinterpret_cast(&(df_structure->unk_98)) - reinterpret_cast(df_structure); + p_table["interaction_id"] = reinterpret_cast(&(df_structure->interaction_id)) - reinterpret_cast(df_structure); + p_table["interaction_time"] = reinterpret_cast(&(df_structure->interaction_time)) - reinterpret_cast(df_structure); + p_table["interaction_delay"] = reinterpret_cast(&(df_structure->interaction_delay)) - reinterpret_cast(df_structure); + p_table["time_on_site"] = reinterpret_cast(&(df_structure->time_on_site)) - reinterpret_cast(df_structure); + p_table["own_interaction"] = reinterpret_cast(&(df_structure->own_interaction)) - reinterpret_cast(df_structure); + p_table["own_interaction_delay"] = reinterpret_cast(&(df_structure->own_interaction_delay)) - reinterpret_cast(df_structure); +} + +void generate_unit__T_counters2_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["paralysis"] = reinterpret_cast(&(df_structure->paralysis)) - reinterpret_cast(df_structure); + p_table["numbness"] = reinterpret_cast(&(df_structure->numbness)) - reinterpret_cast(df_structure); + p_table["fever"] = reinterpret_cast(&(df_structure->fever)) - reinterpret_cast(df_structure); + p_table["exhaustion"] = reinterpret_cast(&(df_structure->exhaustion)) - reinterpret_cast(df_structure); + p_table["hunger_timer"] = reinterpret_cast(&(df_structure->hunger_timer)) - reinterpret_cast(df_structure); + p_table["thirst_timer"] = reinterpret_cast(&(df_structure->thirst_timer)) - reinterpret_cast(df_structure); + p_table["sleepiness_timer"] = reinterpret_cast(&(df_structure->sleepiness_timer)) - reinterpret_cast(df_structure); + p_table["stomach_content"] = reinterpret_cast(&(df_structure->stomach_content)) - reinterpret_cast(df_structure); + p_table["stomach_food"] = reinterpret_cast(&(df_structure->stomach_food)) - reinterpret_cast(df_structure); + p_table["vomit_timeout"] = reinterpret_cast(&(df_structure->vomit_timeout)) - reinterpret_cast(df_structure); + p_table["stored_fat"] = reinterpret_cast(&(df_structure->stored_fat)) - reinterpret_cast(df_structure); +} + +void generate_unit__T_status__T_eat_history__T_food_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); + p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); + p_table["material"] = reinterpret_cast(&(df_structure->material)) - reinterpret_cast(df_structure); + p_table["year"] = reinterpret_cast(&(df_structure->year)) - reinterpret_cast(df_structure); + p_table["year_time"] = reinterpret_cast(&(df_structure->year_time)) - reinterpret_cast(df_structure); +} + +void generate_unit__T_status__T_eat_history__T_drink_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); + p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); + p_table["material"] = reinterpret_cast(&(df_structure->material)) - reinterpret_cast(df_structure); + p_table["year"] = reinterpret_cast(&(df_structure->year)) - reinterpret_cast(df_structure); + p_table["year_time"] = reinterpret_cast(&(df_structure->year_time)) - reinterpret_cast(df_structure); +} + +void generate_unit__T_status__T_eat_history_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["food"] = reinterpret_cast(&(df_structure->food)) - reinterpret_cast(df_structure); + p_table["drink"] = reinterpret_cast(&(df_structure->drink)) - reinterpret_cast(df_structure); +} + +void generate_unit__T_status_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["misc_traits"] = reinterpret_cast(&(df_structure->misc_traits)) - reinterpret_cast(df_structure); + p_table["eat_history"] = reinterpret_cast(&(df_structure->eat_history)) - reinterpret_cast(df_structure); + p_table["demand_timeout"] = reinterpret_cast(&(df_structure->demand_timeout)) - reinterpret_cast(df_structure); + p_table["mandate_timeout"] = reinterpret_cast(&(df_structure->mandate_timeout)) - reinterpret_cast(df_structure); + p_table["attacker_ids"] = reinterpret_cast(&(df_structure->attacker_ids)) - reinterpret_cast(df_structure); + p_table["attacker_cntdn"] = reinterpret_cast(&(df_structure->attacker_cntdn)) - reinterpret_cast(df_structure); + p_table["face_direction"] = reinterpret_cast(&(df_structure->face_direction)) - reinterpret_cast(df_structure); + p_table["artifact_name"] = reinterpret_cast(&(df_structure->artifact_name)) - reinterpret_cast(df_structure); + p_table["souls"] = reinterpret_cast(&(df_structure->souls)) - reinterpret_cast(df_structure); + p_table["current_soul"] = reinterpret_cast(&(df_structure->current_soul)) - reinterpret_cast(df_structure); + p_table["demands"] = reinterpret_cast(&(df_structure->demands)) - reinterpret_cast(df_structure); + p_table["labors"] = reinterpret_cast(&(df_structure->labors)) - reinterpret_cast(df_structure); + p_table["wrestle_items"] = reinterpret_cast(&(df_structure->wrestle_items)) - reinterpret_cast(df_structure); + p_table["observed_traps"] = reinterpret_cast(&(df_structure->observed_traps)) - reinterpret_cast(df_structure); + p_table["complaints"] = reinterpret_cast(&(df_structure->complaints)) - reinterpret_cast(df_structure); + p_table["unk_138"] = reinterpret_cast(&(df_structure->unk_138)) - reinterpret_cast(df_structure); + p_table["requests"] = reinterpret_cast(&(df_structure->requests)) - reinterpret_cast(df_structure); + p_table["coin_debts"] = reinterpret_cast(&(df_structure->coin_debts)) - reinterpret_cast(df_structure); + p_table["adv_sleep_timer"] = reinterpret_cast(&(df_structure->adv_sleep_timer)) - reinterpret_cast(df_structure); + p_table["recent_job_area"] = reinterpret_cast(&(df_structure->recent_job_area)) - reinterpret_cast(df_structure); + p_table["recent_jobs"] = reinterpret_cast(&(df_structure->recent_jobs)) - reinterpret_cast(df_structure); +} + +void generate_unit__T_status2_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["limbs_stand_max"] = reinterpret_cast(&(df_structure->limbs_stand_max)) - reinterpret_cast(df_structure); + p_table["limbs_stand_count"] = reinterpret_cast(&(df_structure->limbs_stand_count)) - reinterpret_cast(df_structure); + p_table["limbs_grasp_max"] = reinterpret_cast(&(df_structure->limbs_grasp_max)) - reinterpret_cast(df_structure); + p_table["limbs_grasp_count"] = reinterpret_cast(&(df_structure->limbs_grasp_count)) - reinterpret_cast(df_structure); + p_table["limbs_fly_max"] = reinterpret_cast(&(df_structure->limbs_fly_max)) - reinterpret_cast(df_structure); + p_table["limbs_fly_count"] = reinterpret_cast(&(df_structure->limbs_fly_count)) - reinterpret_cast(df_structure); + p_table["body_part_temperature"] = reinterpret_cast(&(df_structure->body_part_temperature)) - reinterpret_cast(df_structure); + p_table["add_path_flags"] = reinterpret_cast(&(df_structure->add_path_flags)) - reinterpret_cast(df_structure); + p_table["liquid_type"] = reinterpret_cast(&(df_structure->liquid_type)) - reinterpret_cast(df_structure); + p_table["liquid_depth"] = reinterpret_cast(&(df_structure->liquid_depth)) - reinterpret_cast(df_structure); + p_table["unk_7c0"] = reinterpret_cast(&(df_structure->unk_7c0)) - reinterpret_cast(df_structure); +} + +void generate_unit__T_unknown7_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk_7c4"] = reinterpret_cast(&(df_structure->unk_7c4)) - reinterpret_cast(df_structure); + p_table["unk_c"] = reinterpret_cast(&(df_structure->unk_c)) - reinterpret_cast(df_structure); +} + +void generate_unit__T_syndromes_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["active"] = reinterpret_cast(&(df_structure->active)) - reinterpret_cast(df_structure); + p_table["reinfection_type"] = reinterpret_cast(&(df_structure->reinfection_type)) - reinterpret_cast(df_structure); + p_table["reinfection_count"] = reinterpret_cast(&(df_structure->reinfection_count)) - reinterpret_cast(df_structure); +} + +void generate_unit__T_reports_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["log"] = reinterpret_cast(&(df_structure->log)) - reinterpret_cast(df_structure); + p_table["last_year"] = reinterpret_cast(&(df_structure->last_year)) - reinterpret_cast(df_structure); + p_table["last_year_tick"] = reinterpret_cast(&(df_structure->last_year_tick)) - reinterpret_cast(df_structure); +} + +void generate_unit__T_enemy__T_undead_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk_1"] = reinterpret_cast(&(df_structure->unk_1)) - reinterpret_cast(df_structure); + p_table["unk_2"] = reinterpret_cast(&(df_structure->unk_2)) - reinterpret_cast(df_structure); + p_table["unk_3"] = reinterpret_cast(&(df_structure->unk_3)) - reinterpret_cast(df_structure); + p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); + p_table["unk_5"] = reinterpret_cast(&(df_structure->unk_5)) - reinterpret_cast(df_structure); + p_table["root_body_part_id"] = reinterpret_cast(&(df_structure->root_body_part_id)) - reinterpret_cast(df_structure); + p_table["undead_name"] = reinterpret_cast(&(df_structure->undead_name)) - reinterpret_cast(df_structure); + p_table["unk_v43_1"] = reinterpret_cast(&(df_structure->unk_v43_1)) - reinterpret_cast(df_structure); + p_table["unk_v43_2"] = reinterpret_cast(&(df_structure->unk_v43_2)) - reinterpret_cast(df_structure); +} + +void generate_unit__T_enemy__T_witness_reports_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["death_id"] = reinterpret_cast(&(df_structure->death_id)) - reinterpret_cast(df_structure); + p_table["crime_id"] = reinterpret_cast(&(df_structure->crime_id)) - reinterpret_cast(df_structure); + p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); + p_table["year"] = reinterpret_cast(&(df_structure->year)) - reinterpret_cast(df_structure); + p_table["year_tick"] = reinterpret_cast(&(df_structure->year_tick)) - reinterpret_cast(df_structure); + p_table["unk2"] = reinterpret_cast(&(df_structure->unk2)) - reinterpret_cast(df_structure); +} + +void generate_unit__T_enemy__T_unk_448__T_unk_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); + p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); + p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); + p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); +} + +void generate_unit__T_enemy__T_unk_448_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["unk"] = reinterpret_cast(&(df_structure->unk)) - reinterpret_cast(df_structure); +} + +void generate_unit__T_enemy__T_unk_44c_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); + p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); + p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); + p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); + p_table["anon_11"] = reinterpret_cast(&(df_structure->anon_11)) - reinterpret_cast(df_structure); + p_table["anon_12"] = reinterpret_cast(&(df_structure->anon_12)) - reinterpret_cast(df_structure); +} + +void generate_unit__T_enemy__T_unk_v40_sub3__T_unk_2_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk_1"] = reinterpret_cast(&(df_structure->unk_1)) - reinterpret_cast(df_structure); + p_table["unk_2"] = reinterpret_cast(&(df_structure->unk_2)) - reinterpret_cast(df_structure); + p_table["unk_3"] = reinterpret_cast(&(df_structure->unk_3)) - reinterpret_cast(df_structure); + p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); +} + +void generate_unit__T_enemy__T_unk_v40_sub3__T_unk_6_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk_0"] = reinterpret_cast(&(df_structure->unk_0)) - reinterpret_cast(df_structure); + p_table["unk_10"] = reinterpret_cast(&(df_structure->unk_10)) - reinterpret_cast(df_structure); +} + +void generate_unit__T_enemy__T_unk_v40_sub3__T_unk_7__T_unk_sub1_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk_sub1_1"] = reinterpret_cast(&(df_structure->unk_sub1_1)) - reinterpret_cast(df_structure); + p_table["unk_sub1_2"] = reinterpret_cast(&(df_structure->unk_sub1_2)) - reinterpret_cast(df_structure); + p_table["unk_sub1_3"] = reinterpret_cast(&(df_structure->unk_sub1_3)) - reinterpret_cast(df_structure); + p_table["unk_sub1_4"] = reinterpret_cast(&(df_structure->unk_sub1_4)) - reinterpret_cast(df_structure); + p_table["unk_sub1_5"] = reinterpret_cast(&(df_structure->unk_sub1_5)) - reinterpret_cast(df_structure); + p_table["unk_sub1_6"] = reinterpret_cast(&(df_structure->unk_sub1_6)) - reinterpret_cast(df_structure); + p_table["unk_sub1_7"] = reinterpret_cast(&(df_structure->unk_sub1_7)) - reinterpret_cast(df_structure); + p_table["unk_sub1_8"] = reinterpret_cast(&(df_structure->unk_sub1_8)) - reinterpret_cast(df_structure); + p_table["unk_sub1_9"] = reinterpret_cast(&(df_structure->unk_sub1_9)) - reinterpret_cast(df_structure); +} + +void generate_unit__T_enemy__T_unk_v40_sub3__T_unk_7_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk_sub1"] = reinterpret_cast(&(df_structure->unk_sub1)) - reinterpret_cast(df_structure); + p_table["unk_1"] = reinterpret_cast(&(df_structure->unk_1)) - reinterpret_cast(df_structure); + p_table["year"] = reinterpret_cast(&(df_structure->year)) - reinterpret_cast(df_structure); + p_table["year_tick"] = reinterpret_cast(&(df_structure->year_tick)) - reinterpret_cast(df_structure); + p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); + p_table["unk_5"] = reinterpret_cast(&(df_structure->unk_5)) - reinterpret_cast(df_structure); + p_table["unk_6"] = reinterpret_cast(&(df_structure->unk_6)) - reinterpret_cast(df_structure); + p_table["unk_7"] = reinterpret_cast(&(df_structure->unk_7)) - reinterpret_cast(df_structure); +} + +void generate_unit__T_enemy__T_unk_v40_sub3_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["controller"] = reinterpret_cast(&(df_structure->controller)) - reinterpret_cast(df_structure); + p_table["unk_2"] = reinterpret_cast(&(df_structure->unk_2)) - reinterpret_cast(df_structure); + p_table["unk_3"] = reinterpret_cast(&(df_structure->unk_3)) - reinterpret_cast(df_structure); + p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); + p_table["unk_5"] = reinterpret_cast(&(df_structure->unk_5)) - reinterpret_cast(df_structure); + p_table["unk_6"] = reinterpret_cast(&(df_structure->unk_6)) - reinterpret_cast(df_structure); + p_table["unk_7"] = reinterpret_cast(&(df_structure->unk_7)) - reinterpret_cast(df_structure); +} + +void generate_unit__T_enemy_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["sound_cooldown"] = reinterpret_cast(&(df_structure->sound_cooldown)) - reinterpret_cast(df_structure); + p_table["undead"] = reinterpret_cast(&(df_structure->undead)) - reinterpret_cast(df_structure); + p_table["were_race"] = reinterpret_cast(&(df_structure->were_race)) - reinterpret_cast(df_structure); + p_table["were_caste"] = reinterpret_cast(&(df_structure->were_caste)) - reinterpret_cast(df_structure); + p_table["normal_race"] = reinterpret_cast(&(df_structure->normal_race)) - reinterpret_cast(df_structure); + p_table["normal_caste"] = reinterpret_cast(&(df_structure->normal_caste)) - reinterpret_cast(df_structure); + p_table["interaction"] = reinterpret_cast(&(df_structure->interaction)) - reinterpret_cast(df_structure); + p_table["appearances"] = reinterpret_cast(&(df_structure->appearances)) - reinterpret_cast(df_structure); + p_table["witness_reports"] = reinterpret_cast(&(df_structure->witness_reports)) - reinterpret_cast(df_structure); + p_table["unk_a5c"] = reinterpret_cast(&(df_structure->unk_a5c)) - reinterpret_cast(df_structure); + p_table["gait_index"] = reinterpret_cast(&(df_structure->gait_index)) - reinterpret_cast(df_structure); + p_table["unk_v40_1a"] = reinterpret_cast(&(df_structure->unk_v40_1a)) - reinterpret_cast(df_structure); + p_table["unk_v40_1b"] = reinterpret_cast(&(df_structure->unk_v40_1b)) - reinterpret_cast(df_structure); + p_table["unk_v40_1c"] = reinterpret_cast(&(df_structure->unk_v40_1c)) - reinterpret_cast(df_structure); + p_table["unk_v40_1d"] = reinterpret_cast(&(df_structure->unk_v40_1d)) - reinterpret_cast(df_structure); + p_table["unk_v40_1e"] = reinterpret_cast(&(df_structure->unk_v40_1e)) - reinterpret_cast(df_structure); + p_table["unk_v40_2"] = reinterpret_cast(&(df_structure->unk_v40_2)) - reinterpret_cast(df_structure); + p_table["unk_v40_2_count"] = reinterpret_cast(&(df_structure->unk_v40_2_count)) - reinterpret_cast(df_structure); + p_table["unk_448"] = reinterpret_cast(&(df_structure->unk_448)) - reinterpret_cast(df_structure); + p_table["unk_44c"] = reinterpret_cast(&(df_structure->unk_44c)) - reinterpret_cast(df_structure); + p_table["unk_450"] = reinterpret_cast(&(df_structure->unk_450)) - reinterpret_cast(df_structure); + p_table["unk_454"] = reinterpret_cast(&(df_structure->unk_454)) - reinterpret_cast(df_structure); + p_table["army_controller_id"] = reinterpret_cast(&(df_structure->army_controller_id)) - reinterpret_cast(df_structure); + p_table["unk_v40_sub3"] = reinterpret_cast(&(df_structure->unk_v40_sub3)) - reinterpret_cast(df_structure); + p_table["enemy_status_slot"] = reinterpret_cast(&(df_structure->enemy_status_slot)) - reinterpret_cast(df_structure); + p_table["caste_flags"] = reinterpret_cast(&(df_structure->caste_flags)) - reinterpret_cast(df_structure); + p_table["unk_v4206_1"] = reinterpret_cast(&(df_structure->unk_v4206_1)) - reinterpret_cast(df_structure); + p_table["unk_874_cntr"] = reinterpret_cast(&(df_structure->unk_874_cntr)) - reinterpret_cast(df_structure); + p_table["body_part_878"] = reinterpret_cast(&(df_structure->body_part_878)) - reinterpret_cast(df_structure); + p_table["body_part_888"] = reinterpret_cast(&(df_structure->body_part_888)) - reinterpret_cast(df_structure); + p_table["body_part_relsize"] = reinterpret_cast(&(df_structure->body_part_relsize)) - reinterpret_cast(df_structure); + p_table["body_part_8a8"] = reinterpret_cast(&(df_structure->body_part_8a8)) - reinterpret_cast(df_structure); + p_table["body_part_base_ins"] = reinterpret_cast(&(df_structure->body_part_base_ins)) - reinterpret_cast(df_structure); + p_table["body_part_clothing_ins"] = reinterpret_cast(&(df_structure->body_part_clothing_ins)) - reinterpret_cast(df_structure); + p_table["body_part_8d8"] = reinterpret_cast(&(df_structure->body_part_8d8)) - reinterpret_cast(df_structure); + p_table["unk_8e8"] = reinterpret_cast(&(df_structure->unk_8e8)) - reinterpret_cast(df_structure); + p_table["unk_8f8"] = reinterpret_cast(&(df_structure->unk_8f8)) - reinterpret_cast(df_structure); +} + +void generate_unit_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["custom_profession"] = reinterpret_cast(&(df_structure->custom_profession)) - reinterpret_cast(df_structure); + p_table["profession"] = reinterpret_cast(&(df_structure->profession)) - reinterpret_cast(df_structure); + p_table["profession2"] = reinterpret_cast(&(df_structure->profession2)) - reinterpret_cast(df_structure); + p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); + p_table["pos"] = reinterpret_cast(&(df_structure->pos)) - reinterpret_cast(df_structure); + p_table["idle_area"] = reinterpret_cast(&(df_structure->idle_area)) - reinterpret_cast(df_structure); + p_table["idle_area_threshold"] = reinterpret_cast(&(df_structure->idle_area_threshold)) - reinterpret_cast(df_structure); + p_table["idle_area_type"] = reinterpret_cast(&(df_structure->idle_area_type)) - reinterpret_cast(df_structure); + p_table["follow_distance"] = reinterpret_cast(&(df_structure->follow_distance)) - reinterpret_cast(df_structure); + p_table["path"] = reinterpret_cast(&(df_structure->path)) - reinterpret_cast(df_structure); + p_table["flags1"] = reinterpret_cast(&(df_structure->flags1)) - reinterpret_cast(df_structure); + p_table["flags2"] = reinterpret_cast(&(df_structure->flags2)) - reinterpret_cast(df_structure); + p_table["flags3"] = reinterpret_cast(&(df_structure->flags3)) - reinterpret_cast(df_structure); + p_table["flags4"] = reinterpret_cast(&(df_structure->flags4)) - reinterpret_cast(df_structure); + p_table["meeting"] = reinterpret_cast(&(df_structure->meeting)) - reinterpret_cast(df_structure); + p_table["caste"] = reinterpret_cast(&(df_structure->caste)) - reinterpret_cast(df_structure); + p_table["sex"] = reinterpret_cast(&(df_structure->sex)) - reinterpret_cast(df_structure); + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["unk_100"] = reinterpret_cast(&(df_structure->unk_100)) - reinterpret_cast(df_structure); + p_table["training_level"] = reinterpret_cast(&(df_structure->training_level)) - reinterpret_cast(df_structure); + p_table["schedule_id"] = reinterpret_cast(&(df_structure->schedule_id)) - reinterpret_cast(df_structure); + p_table["civ_id"] = reinterpret_cast(&(df_structure->civ_id)) - reinterpret_cast(df_structure); + p_table["population_id"] = reinterpret_cast(&(df_structure->population_id)) - reinterpret_cast(df_structure); + p_table["unk_c0"] = reinterpret_cast(&(df_structure->unk_c0)) - reinterpret_cast(df_structure); + p_table["cultural_identity"] = reinterpret_cast(&(df_structure->cultural_identity)) - reinterpret_cast(df_structure); + p_table["invasion_id"] = reinterpret_cast(&(df_structure->invasion_id)) - reinterpret_cast(df_structure); + p_table["patrol_route"] = reinterpret_cast(&(df_structure->patrol_route)) - reinterpret_cast(df_structure); + p_table["patrol_index"] = reinterpret_cast(&(df_structure->patrol_index)) - reinterpret_cast(df_structure); + p_table["specific_refs"] = reinterpret_cast(&(df_structure->specific_refs)) - reinterpret_cast(df_structure); + p_table["general_refs"] = reinterpret_cast(&(df_structure->general_refs)) - reinterpret_cast(df_structure); + p_table["military"] = reinterpret_cast(&(df_structure->military)) - reinterpret_cast(df_structure); + p_table["social_activities"] = reinterpret_cast(&(df_structure->social_activities)) - reinterpret_cast(df_structure); + p_table["conversations"] = reinterpret_cast(&(df_structure->conversations)) - reinterpret_cast(df_structure); + p_table["activities"] = reinterpret_cast(&(df_structure->activities)) - reinterpret_cast(df_structure); + p_table["unk_1e8"] = reinterpret_cast(&(df_structure->unk_1e8)) - reinterpret_cast(df_structure); + p_table["animal"] = reinterpret_cast(&(df_structure->animal)) - reinterpret_cast(df_structure); + p_table["opponent"] = reinterpret_cast(&(df_structure->opponent)) - reinterpret_cast(df_structure); + p_table["mood"] = reinterpret_cast(&(df_structure->mood)) - reinterpret_cast(df_structure); + p_table["unk_18e"] = reinterpret_cast(&(df_structure->unk_18e)) - reinterpret_cast(df_structure); + p_table["pregnancy_timer"] = reinterpret_cast(&(df_structure->pregnancy_timer)) - reinterpret_cast(df_structure); + p_table["pregnancy_genes"] = reinterpret_cast(&(df_structure->pregnancy_genes)) - reinterpret_cast(df_structure); + p_table["pregnancy_caste"] = reinterpret_cast(&(df_structure->pregnancy_caste)) - reinterpret_cast(df_structure); + p_table["pregnancy_spouse"] = reinterpret_cast(&(df_structure->pregnancy_spouse)) - reinterpret_cast(df_structure); + p_table["mood_copy"] = reinterpret_cast(&(df_structure->mood_copy)) - reinterpret_cast(df_structure); + p_table["ghost_info"] = reinterpret_cast(&(df_structure->ghost_info)) - reinterpret_cast(df_structure); + p_table["unk_9"] = reinterpret_cast(&(df_structure->unk_9)) - reinterpret_cast(df_structure); + p_table["birth_year"] = reinterpret_cast(&(df_structure->birth_year)) - reinterpret_cast(df_structure); + p_table["birth_time"] = reinterpret_cast(&(df_structure->birth_time)) - reinterpret_cast(df_structure); + p_table["curse_year"] = reinterpret_cast(&(df_structure->curse_year)) - reinterpret_cast(df_structure); + p_table["curse_time"] = reinterpret_cast(&(df_structure->curse_time)) - reinterpret_cast(df_structure); + p_table["birth_year_bias"] = reinterpret_cast(&(df_structure->birth_year_bias)) - reinterpret_cast(df_structure); + p_table["birth_time_bias"] = reinterpret_cast(&(df_structure->birth_time_bias)) - reinterpret_cast(df_structure); + p_table["old_year"] = reinterpret_cast(&(df_structure->old_year)) - reinterpret_cast(df_structure); + p_table["old_time"] = reinterpret_cast(&(df_structure->old_time)) - reinterpret_cast(df_structure); + p_table["following"] = reinterpret_cast(&(df_structure->following)) - reinterpret_cast(df_structure); + p_table["unk_238"] = reinterpret_cast(&(df_structure->unk_238)) - reinterpret_cast(df_structure); + p_table["relationship_ids"] = reinterpret_cast(&(df_structure->relationship_ids)) - reinterpret_cast(df_structure); + p_table["mount_type"] = reinterpret_cast(&(df_structure->mount_type)) - reinterpret_cast(df_structure); + p_table["last_hit"] = reinterpret_cast(&(df_structure->last_hit)) - reinterpret_cast(df_structure); + p_table["riding_item_id"] = reinterpret_cast(&(df_structure->riding_item_id)) - reinterpret_cast(df_structure); + p_table["inventory"] = reinterpret_cast(&(df_structure->inventory)) - reinterpret_cast(df_structure); + p_table["owned_items"] = reinterpret_cast(&(df_structure->owned_items)) - reinterpret_cast(df_structure); + p_table["traded_items"] = reinterpret_cast(&(df_structure->traded_items)) - reinterpret_cast(df_structure); + p_table["owned_buildings"] = reinterpret_cast(&(df_structure->owned_buildings)) - reinterpret_cast(df_structure); + p_table["corpse_parts"] = reinterpret_cast(&(df_structure->corpse_parts)) - reinterpret_cast(df_structure); + p_table["job"] = reinterpret_cast(&(df_structure->job)) - reinterpret_cast(df_structure); + p_table["body"] = reinterpret_cast(&(df_structure->body)) - reinterpret_cast(df_structure); + p_table["appearance"] = reinterpret_cast(&(df_structure->appearance)) - reinterpret_cast(df_structure); + p_table["actions"] = reinterpret_cast(&(df_structure->actions)) - reinterpret_cast(df_structure); + p_table["next_action_id"] = reinterpret_cast(&(df_structure->next_action_id)) - reinterpret_cast(df_structure); + p_table["counters"] = reinterpret_cast(&(df_structure->counters)) - reinterpret_cast(df_structure); + p_table["curse"] = reinterpret_cast(&(df_structure->curse)) - reinterpret_cast(df_structure); + p_table["counters2"] = reinterpret_cast(&(df_structure->counters2)) - reinterpret_cast(df_structure); + p_table["status"] = reinterpret_cast(&(df_structure->status)) - reinterpret_cast(df_structure); + p_table["hist_figure_id"] = reinterpret_cast(&(df_structure->hist_figure_id)) - reinterpret_cast(df_structure); + p_table["hist_figure_id2"] = reinterpret_cast(&(df_structure->hist_figure_id2)) - reinterpret_cast(df_structure); + p_table["status2"] = reinterpret_cast(&(df_structure->status2)) - reinterpret_cast(df_structure); + p_table["unknown7"] = reinterpret_cast(&(df_structure->unknown7)) - reinterpret_cast(df_structure); + p_table["syndromes"] = reinterpret_cast(&(df_structure->syndromes)) - reinterpret_cast(df_structure); + p_table["reports"] = reinterpret_cast(&(df_structure->reports)) - reinterpret_cast(df_structure); + p_table["health"] = reinterpret_cast(&(df_structure->health)) - reinterpret_cast(df_structure); + p_table["used_items"] = reinterpret_cast(&(df_structure->used_items)) - reinterpret_cast(df_structure); + p_table["enemy"] = reinterpret_cast(&(df_structure->enemy)) - reinterpret_cast(df_structure); + p_table["healing_rate"] = reinterpret_cast(&(df_structure->healing_rate)) - reinterpret_cast(df_structure); + p_table["effective_rate"] = reinterpret_cast(&(df_structure->effective_rate)) - reinterpret_cast(df_structure); + p_table["tendons_heal"] = reinterpret_cast(&(df_structure->tendons_heal)) - reinterpret_cast(df_structure); + p_table["ligaments_heal"] = reinterpret_cast(&(df_structure->ligaments_heal)) - reinterpret_cast(df_structure); + p_table["weight"] = reinterpret_cast(&(df_structure->weight)) - reinterpret_cast(df_structure); + p_table["weight_fraction"] = reinterpret_cast(&(df_structure->weight_fraction)) - reinterpret_cast(df_structure); + p_table["burrows"] = reinterpret_cast(&(df_structure->burrows)) - reinterpret_cast(df_structure); + p_table["vision_cone"] = reinterpret_cast(&(df_structure->vision_cone)) - reinterpret_cast(df_structure); + p_table["occupations"] = reinterpret_cast(&(df_structure->occupations)) - reinterpret_cast(df_structure); + p_table["adjective"] = reinterpret_cast(&(df_structure->adjective)) - reinterpret_cast(df_structure); +} + +void generate_unit_ghost_info__T_target_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); + p_table["item"] = reinterpret_cast(&(df_structure->item)) - reinterpret_cast(df_structure); + p_table["building"] = reinterpret_cast(&(df_structure->building)) - reinterpret_cast(df_structure); +} + +void generate_unit_ghost_info_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["type2"] = reinterpret_cast(&(df_structure->type2)) - reinterpret_cast(df_structure); + p_table["goal"] = reinterpret_cast(&(df_structure->goal)) - reinterpret_cast(df_structure); + p_table["target"] = reinterpret_cast(&(df_structure->target)) - reinterpret_cast(df_structure); + p_table["misplace_pos"] = reinterpret_cast(&(df_structure->misplace_pos)) - reinterpret_cast(df_structure); + p_table["action_timer"] = reinterpret_cast(&(df_structure->action_timer)) - reinterpret_cast(df_structure); + p_table["unk_18"] = reinterpret_cast(&(df_structure->unk_18)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["death_x"] = reinterpret_cast(&(df_structure->death_x)) - reinterpret_cast(df_structure); + p_table["death_y"] = reinterpret_cast(&(df_structure->death_y)) - reinterpret_cast(df_structure); + p_table["death_z"] = reinterpret_cast(&(df_structure->death_z)) - reinterpret_cast(df_structure); +} + +void generate_unit_inventory_item_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["item"] = reinterpret_cast(&(df_structure->item)) - reinterpret_cast(df_structure); + p_table["mode"] = reinterpret_cast(&(df_structure->mode)) - reinterpret_cast(df_structure); + p_table["body_part_id"] = reinterpret_cast(&(df_structure->body_part_id)) - reinterpret_cast(df_structure); + p_table["pet_seed"] = reinterpret_cast(&(df_structure->pet_seed)) - reinterpret_cast(df_structure); + p_table["wound_id"] = reinterpret_cast(&(df_structure->wound_id)) - reinterpret_cast(df_structure); +} + +void generate_unit_syndrome__T_symptoms_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["quantity"] = reinterpret_cast(&(df_structure->quantity)) - reinterpret_cast(df_structure); + p_table["delay"] = reinterpret_cast(&(df_structure->delay)) - reinterpret_cast(df_structure); + p_table["ticks"] = reinterpret_cast(&(df_structure->ticks)) - reinterpret_cast(df_structure); + p_table["target_bp"] = reinterpret_cast(&(df_structure->target_bp)) - reinterpret_cast(df_structure); + p_table["target_layer"] = reinterpret_cast(&(df_structure->target_layer)) - reinterpret_cast(df_structure); + p_table["target_quantity"] = reinterpret_cast(&(df_structure->target_quantity)) - reinterpret_cast(df_structure); + p_table["target_delay"] = reinterpret_cast(&(df_structure->target_delay)) - reinterpret_cast(df_structure); + p_table["target_ticks"] = reinterpret_cast(&(df_structure->target_ticks)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); +} + +void generate_unit_syndrome_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["year"] = reinterpret_cast(&(df_structure->year)) - reinterpret_cast(df_structure); + p_table["year_time"] = reinterpret_cast(&(df_structure->year_time)) - reinterpret_cast(df_structure); + p_table["ticks"] = reinterpret_cast(&(df_structure->ticks)) - reinterpret_cast(df_structure); + p_table["wounds"] = reinterpret_cast(&(df_structure->wounds)) - reinterpret_cast(df_structure); + p_table["wound_id"] = reinterpret_cast(&(df_structure->wound_id)) - reinterpret_cast(df_structure); + p_table["symptoms"] = reinterpret_cast(&(df_structure->symptoms)) - reinterpret_cast(df_structure); + p_table["reinfection_count"] = reinterpret_cast(&(df_structure->reinfection_count)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["unk4"] = reinterpret_cast(&(df_structure->unk4)) - reinterpret_cast(df_structure); +} + +void generate_unit_wound__T_parts_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["global_layer_idx"] = reinterpret_cast(&(df_structure->global_layer_idx)) - reinterpret_cast(df_structure); + p_table["body_part_id"] = reinterpret_cast(&(df_structure->body_part_id)) - reinterpret_cast(df_structure); + p_table["layer_idx"] = reinterpret_cast(&(df_structure->layer_idx)) - reinterpret_cast(df_structure); + p_table["contact_area"] = reinterpret_cast(&(df_structure->contact_area)) - reinterpret_cast(df_structure); + p_table["surface_perc"] = reinterpret_cast(&(df_structure->surface_perc)) - reinterpret_cast(df_structure); + p_table["strain"] = reinterpret_cast(&(df_structure->strain)) - reinterpret_cast(df_structure); + p_table["effect_perc1"] = reinterpret_cast(&(df_structure->effect_perc1)) - reinterpret_cast(df_structure); + p_table["effect_perc2"] = reinterpret_cast(&(df_structure->effect_perc2)) - reinterpret_cast(df_structure); + p_table["effect_type"] = reinterpret_cast(&(df_structure->effect_type)) - reinterpret_cast(df_structure); + p_table["edged_curve_perc"] = reinterpret_cast(&(df_structure->edged_curve_perc)) - reinterpret_cast(df_structure); + p_table["flags1"] = reinterpret_cast(&(df_structure->flags1)) - reinterpret_cast(df_structure); + p_table["flags2"] = reinterpret_cast(&(df_structure->flags2)) - reinterpret_cast(df_structure); + p_table["bleeding"] = reinterpret_cast(&(df_structure->bleeding)) - reinterpret_cast(df_structure); + p_table["pain"] = reinterpret_cast(&(df_structure->pain)) - reinterpret_cast(df_structure); + p_table["nausea"] = reinterpret_cast(&(df_structure->nausea)) - reinterpret_cast(df_structure); + p_table["dizziness"] = reinterpret_cast(&(df_structure->dizziness)) - reinterpret_cast(df_structure); + p_table["paralysis"] = reinterpret_cast(&(df_structure->paralysis)) - reinterpret_cast(df_structure); + p_table["numbness"] = reinterpret_cast(&(df_structure->numbness)) - reinterpret_cast(df_structure); + p_table["swelling"] = reinterpret_cast(&(df_structure->swelling)) - reinterpret_cast(df_structure); + p_table["impaired"] = reinterpret_cast(&(df_structure->impaired)) - reinterpret_cast(df_structure); + p_table["unk_v42_1"] = reinterpret_cast(&(df_structure->unk_v42_1)) - reinterpret_cast(df_structure); + p_table["unk_v42_2"] = reinterpret_cast(&(df_structure->unk_v42_2)) - reinterpret_cast(df_structure); + p_table["unk_v42_3"] = reinterpret_cast(&(df_structure->unk_v42_3)) - reinterpret_cast(df_structure); + p_table["cur_penetration_perc"] = reinterpret_cast(&(df_structure->cur_penetration_perc)) - reinterpret_cast(df_structure); + p_table["max_penetration_perc"] = reinterpret_cast(&(df_structure->max_penetration_perc)) - reinterpret_cast(df_structure); + p_table["jammed_layer_idx"] = reinterpret_cast(&(df_structure->jammed_layer_idx)) - reinterpret_cast(df_structure); + p_table["unk_v406_1"] = reinterpret_cast(&(df_structure->unk_v406_1)) - reinterpret_cast(df_structure); +} + +void generate_unit_wound_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["parts"] = reinterpret_cast(&(df_structure->parts)) - reinterpret_cast(df_structure); + p_table["age"] = reinterpret_cast(&(df_structure->age)) - reinterpret_cast(df_structure); + p_table["attacker_unit_id"] = reinterpret_cast(&(df_structure->attacker_unit_id)) - reinterpret_cast(df_structure); + p_table["attacker_hist_figure_id"] = reinterpret_cast(&(df_structure->attacker_hist_figure_id)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["syndrome_id"] = reinterpret_cast(&(df_structure->syndrome_id)) - reinterpret_cast(df_structure); + p_table["pain"] = reinterpret_cast(&(df_structure->pain)) - reinterpret_cast(df_structure); + p_table["nausea"] = reinterpret_cast(&(df_structure->nausea)) - reinterpret_cast(df_structure); + p_table["dizziness"] = reinterpret_cast(&(df_structure->dizziness)) - reinterpret_cast(df_structure); + p_table["paralysis"] = reinterpret_cast(&(df_structure->paralysis)) - reinterpret_cast(df_structure); + p_table["numbness"] = reinterpret_cast(&(df_structure->numbness)) - reinterpret_cast(df_structure); + p_table["fever"] = reinterpret_cast(&(df_structure->fever)) - reinterpret_cast(df_structure); + p_table["curse"] = reinterpret_cast(&(df_structure->curse)) - reinterpret_cast(df_structure); + p_table["unk_v42_1"] = reinterpret_cast(&(df_structure->unk_v42_1)) - reinterpret_cast(df_structure); + p_table["unk_v42_2"] = reinterpret_cast(&(df_structure->unk_v42_2)) - reinterpret_cast(df_structure); +} + +void generate_wound_curse_info_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk_v40_1"] = reinterpret_cast(&(df_structure->unk_v40_1)) - reinterpret_cast(df_structure); + p_table["add_tags1"] = reinterpret_cast(&(df_structure->add_tags1)) - reinterpret_cast(df_structure); + p_table["rem_tags1"] = reinterpret_cast(&(df_structure->rem_tags1)) - reinterpret_cast(df_structure); + p_table["add_tags2"] = reinterpret_cast(&(df_structure->add_tags2)) - reinterpret_cast(df_structure); + p_table["rem_tags2"] = reinterpret_cast(&(df_structure->rem_tags2)) - reinterpret_cast(df_structure); + p_table["name_visible"] = reinterpret_cast(&(df_structure->name_visible)) - reinterpret_cast(df_structure); + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["name_plural"] = reinterpret_cast(&(df_structure->name_plural)) - reinterpret_cast(df_structure); + p_table["name_adjective"] = reinterpret_cast(&(df_structure->name_adjective)) - reinterpret_cast(df_structure); + p_table["sym_and_color1"] = reinterpret_cast(&(df_structure->sym_and_color1)) - reinterpret_cast(df_structure); + p_table["sym_and_color2"] = reinterpret_cast(&(df_structure->sym_and_color2)) - reinterpret_cast(df_structure); + p_table["flash_period"] = reinterpret_cast(&(df_structure->flash_period)) - reinterpret_cast(df_structure); + p_table["flash_time2"] = reinterpret_cast(&(df_structure->flash_time2)) - reinterpret_cast(df_structure); + p_table["speed_add"] = reinterpret_cast(&(df_structure->speed_add)) - reinterpret_cast(df_structure); + p_table["speed_mul_percent"] = reinterpret_cast(&(df_structure->speed_mul_percent)) - reinterpret_cast(df_structure); + p_table["attr_change"] = reinterpret_cast(&(df_structure->attr_change)) - reinterpret_cast(df_structure); + p_table["unk_v42_1"] = reinterpret_cast(&(df_structure->unk_v42_1)) - reinterpret_cast(df_structure); + p_table["luck_mul_percent"] = reinterpret_cast(&(df_structure->luck_mul_percent)) - reinterpret_cast(df_structure); + p_table["unk_v42_2"] = reinterpret_cast(&(df_structure->unk_v42_2)) - reinterpret_cast(df_structure); + p_table["interaction_id"] = reinterpret_cast(&(df_structure->interaction_id)) - reinterpret_cast(df_structure); + p_table["interaction_time"] = reinterpret_cast(&(df_structure->interaction_time)) - reinterpret_cast(df_structure); + p_table["time_counter"] = reinterpret_cast(&(df_structure->time_counter)) - reinterpret_cast(df_structure); + p_table["were_race"] = reinterpret_cast(&(df_structure->were_race)) - reinterpret_cast(df_structure); + p_table["were_caste"] = reinterpret_cast(&(df_structure->were_caste)) - reinterpret_cast(df_structure); + p_table["body_appearance"] = reinterpret_cast(&(df_structure->body_appearance)) - reinterpret_cast(df_structure); + p_table["bp_appearance"] = reinterpret_cast(&(df_structure->bp_appearance)) - reinterpret_cast(df_structure); +} + +void generate_unit_misc_trait_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["value"] = reinterpret_cast(&(df_structure->value)) - reinterpret_cast(df_structure); +} + +void generate_unit_health_info__T_op_history__T_info__T_crutch_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); + p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["item_id"] = reinterpret_cast(&(df_structure->item_id)) - reinterpret_cast(df_structure); +} + +void generate_unit_health_info__T_op_history__T_info__T_bandage_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["body_part_id"] = reinterpret_cast(&(df_structure->body_part_id)) - reinterpret_cast(df_structure); + p_table["item_id"] = reinterpret_cast(&(df_structure->item_id)) - reinterpret_cast(df_structure); +} + +void generate_unit_health_info__T_op_history__T_info_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["crutch"] = reinterpret_cast(&(df_structure->crutch)) - reinterpret_cast(df_structure); + p_table["bed_id"] = reinterpret_cast(&(df_structure->bed_id)) - reinterpret_cast(df_structure); + p_table["bandage"] = reinterpret_cast(&(df_structure->bandage)) - reinterpret_cast(df_structure); +} + +void generate_unit_health_info__T_op_history_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["job_type"] = reinterpret_cast(&(df_structure->job_type)) - reinterpret_cast(df_structure); + p_table["info"] = reinterpret_cast(&(df_structure->info)) - reinterpret_cast(df_structure); + p_table["year"] = reinterpret_cast(&(df_structure->year)) - reinterpret_cast(df_structure); + p_table["year_time"] = reinterpret_cast(&(df_structure->year_time)) - reinterpret_cast(df_structure); + p_table["doctor_id"] = reinterpret_cast(&(df_structure->doctor_id)) - reinterpret_cast(df_structure); +} + +void generate_unit_health_info_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unit_id"] = reinterpret_cast(&(df_structure->unit_id)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["body_part_flags"] = reinterpret_cast(&(df_structure->body_part_flags)) - reinterpret_cast(df_structure); + p_table["unk_18_cntdn"] = reinterpret_cast(&(df_structure->unk_18_cntdn)) - reinterpret_cast(df_structure); + p_table["immobilize_cntdn"] = reinterpret_cast(&(df_structure->immobilize_cntdn)) - reinterpret_cast(df_structure); + p_table["dressing_cntdn"] = reinterpret_cast(&(df_structure->dressing_cntdn)) - reinterpret_cast(df_structure); + p_table["suture_cntdn"] = reinterpret_cast(&(df_structure->suture_cntdn)) - reinterpret_cast(df_structure); + p_table["crutch_cntdn"] = reinterpret_cast(&(df_structure->crutch_cntdn)) - reinterpret_cast(df_structure); + p_table["op_history"] = reinterpret_cast(&(df_structure->op_history)) - reinterpret_cast(df_structure); + p_table["unk_34"] = reinterpret_cast(&(df_structure->unk_34)) - reinterpret_cast(df_structure); +} + +void generate_unit_instrument_skill_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["rating"] = reinterpret_cast(&(df_structure->rating)) - reinterpret_cast(df_structure); + p_table["experience"] = reinterpret_cast(&(df_structure->experience)) - reinterpret_cast(df_structure); +} + +void generate_unit_poetic_skill_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["rating"] = reinterpret_cast(&(df_structure->rating)) - reinterpret_cast(df_structure); + p_table["experience"] = reinterpret_cast(&(df_structure->experience)) - reinterpret_cast(df_structure); +} + +void generate_unit_musical_skill_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["rating"] = reinterpret_cast(&(df_structure->rating)) - reinterpret_cast(df_structure); + p_table["experience"] = reinterpret_cast(&(df_structure->experience)) - reinterpret_cast(df_structure); +} + +void generate_unit_dance_skill_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["rating"] = reinterpret_cast(&(df_structure->rating)) - reinterpret_cast(df_structure); + p_table["experience"] = reinterpret_cast(&(df_structure->experience)) - reinterpret_cast(df_structure); +} + +void generate_unit_emotion_memory_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["unk2"] = reinterpret_cast(&(df_structure->unk2)) - reinterpret_cast(df_structure); + p_table["strength"] = reinterpret_cast(&(df_structure->strength)) - reinterpret_cast(df_structure); + p_table["thought"] = reinterpret_cast(&(df_structure->thought)) - reinterpret_cast(df_structure); + p_table["subthought"] = reinterpret_cast(&(df_structure->subthought)) - reinterpret_cast(df_structure); + p_table["severity"] = reinterpret_cast(&(df_structure->severity)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["year"] = reinterpret_cast(&(df_structure->year)) - reinterpret_cast(df_structure); + p_table["year_tick"] = reinterpret_cast(&(df_structure->year_tick)) - reinterpret_cast(df_structure); +} + +void generate_unit_personality__T_values_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["strength"] = reinterpret_cast(&(df_structure->strength)) - reinterpret_cast(df_structure); +} + +void generate_unit_personality__T_unk_v40_2_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); + p_table["unk2"] = reinterpret_cast(&(df_structure->unk2)) - reinterpret_cast(df_structure); +} + +void generate_unit_personality__T_emotions_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["unk2"] = reinterpret_cast(&(df_structure->unk2)) - reinterpret_cast(df_structure); + p_table["strength"] = reinterpret_cast(&(df_structure->strength)) - reinterpret_cast(df_structure); + p_table["thought"] = reinterpret_cast(&(df_structure->thought)) - reinterpret_cast(df_structure); + p_table["subthought"] = reinterpret_cast(&(df_structure->subthought)) - reinterpret_cast(df_structure); + p_table["severity"] = reinterpret_cast(&(df_structure->severity)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["unk7"] = reinterpret_cast(&(df_structure->unk7)) - reinterpret_cast(df_structure); + p_table["year"] = reinterpret_cast(&(df_structure->year)) - reinterpret_cast(df_structure); + p_table["year_tick"] = reinterpret_cast(&(df_structure->year_tick)) - reinterpret_cast(df_structure); +} + +void generate_unit_personality__T_dreams_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["unk3"] = reinterpret_cast(&(df_structure->unk3)) - reinterpret_cast(df_structure); + p_table["unk4"] = reinterpret_cast(&(df_structure->unk4)) - reinterpret_cast(df_structure); + p_table["unk8"] = reinterpret_cast(&(df_structure->unk8)) - reinterpret_cast(df_structure); +} + +void generate_unit_personality__T_unk_v40_6_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); + p_table["unk2"] = reinterpret_cast(&(df_structure->unk2)) - reinterpret_cast(df_structure); + p_table["unk3"] = reinterpret_cast(&(df_structure->unk3)) - reinterpret_cast(df_structure); + p_table["unk4"] = reinterpret_cast(&(df_structure->unk4)) - reinterpret_cast(df_structure); + p_table["unk5"] = reinterpret_cast(&(df_structure->unk5)) - reinterpret_cast(df_structure); + p_table["unk6"] = reinterpret_cast(&(df_structure->unk6)) - reinterpret_cast(df_structure); +} + +void generate_unit_personality__T_unk5_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); + p_table["unk2"] = reinterpret_cast(&(df_structure->unk2)) - reinterpret_cast(df_structure); +} + +void generate_unit_personality__T_needs_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["deity_id"] = reinterpret_cast(&(df_structure->deity_id)) - reinterpret_cast(df_structure); + p_table["focus_level"] = reinterpret_cast(&(df_structure->focus_level)) - reinterpret_cast(df_structure); + p_table["need_level"] = reinterpret_cast(&(df_structure->need_level)) - reinterpret_cast(df_structure); +} + +void generate_unit_personality__T_memories__T_reflected_on_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["memory"] = reinterpret_cast(&(df_structure->memory)) - reinterpret_cast(df_structure); + p_table["changed_facet"] = reinterpret_cast(&(df_structure->changed_facet)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["changed_value"] = reinterpret_cast(&(df_structure->changed_value)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); +} + +void generate_unit_personality__T_memories_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["shortterm"] = reinterpret_cast(&(df_structure->shortterm)) - reinterpret_cast(df_structure); + p_table["longterm"] = reinterpret_cast(&(df_structure->longterm)) - reinterpret_cast(df_structure); + p_table["reflected_on"] = reinterpret_cast(&(df_structure->reflected_on)) - reinterpret_cast(df_structure); +} + +void generate_unit_personality_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["values"] = reinterpret_cast(&(df_structure->values)) - reinterpret_cast(df_structure); + p_table["unk_v40_2"] = reinterpret_cast(&(df_structure->unk_v40_2)) - reinterpret_cast(df_structure); + p_table["emotions"] = reinterpret_cast(&(df_structure->emotions)) - reinterpret_cast(df_structure); + p_table["dreams"] = reinterpret_cast(&(df_structure->dreams)) - reinterpret_cast(df_structure); + p_table["next_dream_id"] = reinterpret_cast(&(df_structure->next_dream_id)) - reinterpret_cast(df_structure); + p_table["unk_v40_6"] = reinterpret_cast(&(df_structure->unk_v40_6)) - reinterpret_cast(df_structure); + p_table["traits"] = reinterpret_cast(&(df_structure->traits)) - reinterpret_cast(df_structure); + p_table["civ_id"] = reinterpret_cast(&(df_structure->civ_id)) - reinterpret_cast(df_structure); + p_table["cultural_identity"] = reinterpret_cast(&(df_structure->cultural_identity)) - reinterpret_cast(df_structure); + p_table["unk5"] = reinterpret_cast(&(df_structure->unk5)) - reinterpret_cast(df_structure); + p_table["unk6"] = reinterpret_cast(&(df_structure->unk6)) - reinterpret_cast(df_structure); + p_table["stress_level"] = reinterpret_cast(&(df_structure->stress_level)) - reinterpret_cast(df_structure); + p_table["stress_drain"] = reinterpret_cast(&(df_structure->stress_drain)) - reinterpret_cast(df_structure); + p_table["stress_boost"] = reinterpret_cast(&(df_structure->stress_boost)) - reinterpret_cast(df_structure); + p_table["likes_outdoors"] = reinterpret_cast(&(df_structure->likes_outdoors)) - reinterpret_cast(df_structure); + p_table["combat_hardened"] = reinterpret_cast(&(df_structure->combat_hardened)) - reinterpret_cast(df_structure); + p_table["needs"] = reinterpret_cast(&(df_structure->needs)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["temporary_trait_changes"] = reinterpret_cast(&(df_structure->temporary_trait_changes)) - reinterpret_cast(df_structure); + p_table["unk_v4201_3"] = reinterpret_cast(&(df_structure->unk_v4201_3)) - reinterpret_cast(df_structure); + p_table["unk_v4201_4"] = reinterpret_cast(&(df_structure->unk_v4201_4)) - reinterpret_cast(df_structure); + p_table["memories"] = reinterpret_cast(&(df_structure->memories)) - reinterpret_cast(df_structure); + p_table["current_focus"] = reinterpret_cast(&(df_structure->current_focus)) - reinterpret_cast(df_structure); + p_table["undistracted_focus"] = reinterpret_cast(&(df_structure->undistracted_focus)) - reinterpret_cast(df_structure); +} + +void generate_historical_figure_info__T_skills_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["skills"] = reinterpret_cast(&(df_structure->skills)) - reinterpret_cast(df_structure); + p_table["points"] = reinterpret_cast(&(df_structure->points)) - reinterpret_cast(df_structure); + p_table["unk_20"] = reinterpret_cast(&(df_structure->unk_20)) - reinterpret_cast(df_structure); + p_table["unk_30"] = reinterpret_cast(&(df_structure->unk_30)) - reinterpret_cast(df_structure); + p_table["profession"] = reinterpret_cast(&(df_structure->profession)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_historical_figure_info__T_personality_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); +} + +void generate_historical_figure_info__T_masterpieces_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["events"] = reinterpret_cast(&(df_structure->events)) - reinterpret_cast(df_structure); + p_table["events2"] = reinterpret_cast(&(df_structure->events2)) - reinterpret_cast(df_structure); + p_table["unk_v43_1"] = reinterpret_cast(&(df_structure->unk_v43_1)) - reinterpret_cast(df_structure); + p_table["unk_v43_2"] = reinterpret_cast(&(df_structure->unk_v43_2)) - reinterpret_cast(df_structure); +} + +void generate_historical_figure_info__T_unk_14_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk_0"] = reinterpret_cast(&(df_structure->unk_0)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["region_id"] = reinterpret_cast(&(df_structure->region_id)) - reinterpret_cast(df_structure); + p_table["beast_id"] = reinterpret_cast(&(df_structure->beast_id)) - reinterpret_cast(df_structure); + p_table["army_id"] = reinterpret_cast(&(df_structure->army_id)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); + p_table["unk_14"] = reinterpret_cast(&(df_structure->unk_14)) - reinterpret_cast(df_structure); + p_table["unk_18"] = reinterpret_cast(&(df_structure->unk_18)) - reinterpret_cast(df_structure); + p_table["unk_1c"] = reinterpret_cast(&(df_structure->unk_1c)) - reinterpret_cast(df_structure); + p_table["unk_34"] = reinterpret_cast(&(df_structure->unk_34)) - reinterpret_cast(df_structure); + p_table["unk_38"] = reinterpret_cast(&(df_structure->unk_38)) - reinterpret_cast(df_structure); + p_table["unk_3a"] = reinterpret_cast(&(df_structure->unk_3a)) - reinterpret_cast(df_structure); +} + +void generate_historical_figure_info__T_wounds_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["events"] = reinterpret_cast(&(df_structure->events)) - reinterpret_cast(df_structure); + p_table["status"] = reinterpret_cast(&(df_structure->status)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); +} + +void generate_historical_figure_info__T_secret__T_anon_1_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); +} + +void generate_historical_figure_info__T_secret__T_anon_7_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); +} + +void generate_historical_figure_info__T_secret__T_knowledge_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["philosophy"] = reinterpret_cast(&(df_structure->philosophy)) - reinterpret_cast(df_structure); + p_table["philosophy2"] = reinterpret_cast(&(df_structure->philosophy2)) - reinterpret_cast(df_structure); + p_table["math"] = reinterpret_cast(&(df_structure->math)) - reinterpret_cast(df_structure); + p_table["math2"] = reinterpret_cast(&(df_structure->math2)) - reinterpret_cast(df_structure); + p_table["history"] = reinterpret_cast(&(df_structure->history)) - reinterpret_cast(df_structure); + p_table["astronomy"] = reinterpret_cast(&(df_structure->astronomy)) - reinterpret_cast(df_structure); + p_table["naturalist"] = reinterpret_cast(&(df_structure->naturalist)) - reinterpret_cast(df_structure); + p_table["chemistry"] = reinterpret_cast(&(df_structure->chemistry)) - reinterpret_cast(df_structure); + p_table["geography"] = reinterpret_cast(&(df_structure->geography)) - reinterpret_cast(df_structure); + p_table["medicine"] = reinterpret_cast(&(df_structure->medicine)) - reinterpret_cast(df_structure); + p_table["medicine2"] = reinterpret_cast(&(df_structure->medicine2)) - reinterpret_cast(df_structure); + p_table["medicine3"] = reinterpret_cast(&(df_structure->medicine3)) - reinterpret_cast(df_structure); + p_table["engineering"] = reinterpret_cast(&(df_structure->engineering)) - reinterpret_cast(df_structure); + p_table["engineering2"] = reinterpret_cast(&(df_structure->engineering2)) - reinterpret_cast(df_structure); + p_table["knowledge_goal_category"] = reinterpret_cast(&(df_structure->knowledge_goal_category)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["knowledge_goal"] = reinterpret_cast(&(df_structure->knowledge_goal)) - reinterpret_cast(df_structure); + p_table["research_points"] = reinterpret_cast(&(df_structure->research_points)) - reinterpret_cast(df_structure); + p_table["times_pondered"] = reinterpret_cast(&(df_structure->times_pondered)) - reinterpret_cast(df_structure); +} + +void generate_historical_figure_info__T_secret__T_unk_a8_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); +} + +void generate_historical_figure_info__T_secret_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["interactions"] = reinterpret_cast(&(df_structure->interactions)) - reinterpret_cast(df_structure); + p_table["unk_10"] = reinterpret_cast(&(df_structure->unk_10)) - reinterpret_cast(df_structure); + p_table["known_written_contents"] = reinterpret_cast(&(df_structure->known_written_contents)) - reinterpret_cast(df_structure); + p_table["known_identities"] = reinterpret_cast(&(df_structure->known_identities)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); + p_table["known_poetic_forms"] = reinterpret_cast(&(df_structure->known_poetic_forms)) - reinterpret_cast(df_structure); + p_table["known_musical_forms"] = reinterpret_cast(&(df_structure->known_musical_forms)) - reinterpret_cast(df_structure); + p_table["known_dance_forms"] = reinterpret_cast(&(df_structure->known_dance_forms)) - reinterpret_cast(df_structure); + p_table["knowledge"] = reinterpret_cast(&(df_structure->knowledge)) - reinterpret_cast(df_structure); + p_table["belief_systems"] = reinterpret_cast(&(df_structure->belief_systems)) - reinterpret_cast(df_structure); + p_table["unk_a8"] = reinterpret_cast(&(df_structure->unk_a8)) - reinterpret_cast(df_structure); +} + +void generate_historical_figure_info__T_curse_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["active_interactions"] = reinterpret_cast(&(df_structure->active_interactions)) - reinterpret_cast(df_structure); + p_table["active_effects"] = reinterpret_cast(&(df_structure->active_effects)) - reinterpret_cast(df_structure); + p_table["can_do"] = reinterpret_cast(&(df_structure->can_do)) - reinterpret_cast(df_structure); + p_table["unk_30"] = reinterpret_cast(&(df_structure->unk_30)) - reinterpret_cast(df_structure); + p_table["unk_34"] = reinterpret_cast(&(df_structure->unk_34)) - reinterpret_cast(df_structure); + p_table["unk_38"] = reinterpret_cast(&(df_structure->unk_38)) - reinterpret_cast(df_structure); + p_table["unk_3c"] = reinterpret_cast(&(df_structure->unk_3c)) - reinterpret_cast(df_structure); + p_table["unk_40"] = reinterpret_cast(&(df_structure->unk_40)) - reinterpret_cast(df_structure); + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["name_plural"] = reinterpret_cast(&(df_structure->name_plural)) - reinterpret_cast(df_structure); + p_table["name_adjective"] = reinterpret_cast(&(df_structure->name_adjective)) - reinterpret_cast(df_structure); + p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); + p_table["caste"] = reinterpret_cast(&(df_structure->caste)) - reinterpret_cast(df_structure); + p_table["unk_a0"] = reinterpret_cast(&(df_structure->unk_a0)) - reinterpret_cast(df_structure); + p_table["unk_b0"] = reinterpret_cast(&(df_structure->unk_b0)) - reinterpret_cast(df_structure); + p_table["unk_c0"] = reinterpret_cast(&(df_structure->unk_c0)) - reinterpret_cast(df_structure); + p_table["original_histfig_id"] = reinterpret_cast(&(df_structure->original_histfig_id)) - reinterpret_cast(df_structure); + p_table["original_race"] = reinterpret_cast(&(df_structure->original_race)) - reinterpret_cast(df_structure); + p_table["original_caste"] = reinterpret_cast(&(df_structure->original_caste)) - reinterpret_cast(df_structure); + p_table["root_body_part_id"] = reinterpret_cast(&(df_structure->root_body_part_id)) - reinterpret_cast(df_structure); + p_table["undead_name"] = reinterpret_cast(&(df_structure->undead_name)) - reinterpret_cast(df_structure); + p_table["unk_fc"] = reinterpret_cast(&(df_structure->unk_fc)) - reinterpret_cast(df_structure); +} + +void generate_historical_figure_info__T_books_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); +} + +void generate_historical_figure_info__T_reputation__T_wanted_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["entity_id"] = reinterpret_cast(&(df_structure->entity_id)) - reinterpret_cast(df_structure); + p_table["types"] = reinterpret_cast(&(df_structure->types)) - reinterpret_cast(df_structure); + p_table["levels"] = reinterpret_cast(&(df_structure->levels)) - reinterpret_cast(df_structure); + p_table["discovered_year"] = reinterpret_cast(&(df_structure->discovered_year)) - reinterpret_cast(df_structure); + p_table["discovered_time"] = reinterpret_cast(&(df_structure->discovered_time)) - reinterpret_cast(df_structure); + p_table["unsolved_murders"] = reinterpret_cast(&(df_structure->unsolved_murders)) - reinterpret_cast(df_structure); +} + +void generate_historical_figure_info__T_reputation__T_anon_1_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["entity_id"] = reinterpret_cast(&(df_structure->entity_id)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["discovered_year"] = reinterpret_cast(&(df_structure->discovered_year)) - reinterpret_cast(df_structure); + p_table["discovered_time"] = reinterpret_cast(&(df_structure->discovered_time)) - reinterpret_cast(df_structure); + p_table["unsolved_murders"] = reinterpret_cast(&(df_structure->unsolved_murders)) - reinterpret_cast(df_structure); +} + +void generate_historical_figure_info__T_reputation__T_unk_2c__T_anon_12_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); +} + +void generate_historical_figure_info__T_reputation__T_unk_2c_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); + p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); + p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); + p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); + p_table["anon_11"] = reinterpret_cast(&(df_structure->anon_11)) - reinterpret_cast(df_structure); + p_table["anon_12"] = reinterpret_cast(&(df_structure->anon_12)) - reinterpret_cast(df_structure); + p_table["anon_13"] = reinterpret_cast(&(df_structure->anon_13)) - reinterpret_cast(df_structure); +} + +void generate_historical_figure_info__T_reputation_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["wanted"] = reinterpret_cast(&(df_structure->wanted)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["cur_identity"] = reinterpret_cast(&(df_structure->cur_identity)) - reinterpret_cast(df_structure); + p_table["all_identities"] = reinterpret_cast(&(df_structure->all_identities)) - reinterpret_cast(df_structure); + p_table["next_identity_idx"] = reinterpret_cast(&(df_structure->next_identity_idx)) - reinterpret_cast(df_structure); + p_table["unk_2c"] = reinterpret_cast(&(df_structure->unk_2c)) - reinterpret_cast(df_structure); +} + +void generate_historical_figure_info__T_relationships__T_list_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["histfig_id"] = reinterpret_cast(&(df_structure->histfig_id)) - reinterpret_cast(df_structure); + p_table["unk_1"] = reinterpret_cast(&(df_structure->unk_1)) - reinterpret_cast(df_structure); + p_table["unk_2v"] = reinterpret_cast(&(df_structure->unk_2v)) - reinterpret_cast(df_structure); + p_table["attitude"] = reinterpret_cast(&(df_structure->attitude)) - reinterpret_cast(df_structure); + p_table["counter"] = reinterpret_cast(&(df_structure->counter)) - reinterpret_cast(df_structure); + p_table["rank"] = reinterpret_cast(&(df_structure->rank)) - reinterpret_cast(df_structure); + p_table["year"] = reinterpret_cast(&(df_structure->year)) - reinterpret_cast(df_structure); + p_table["year_tick"] = reinterpret_cast(&(df_structure->year_tick)) - reinterpret_cast(df_structure); + p_table["unk_3a"] = reinterpret_cast(&(df_structure->unk_3a)) - reinterpret_cast(df_structure); + p_table["unk_3b"] = reinterpret_cast(&(df_structure->unk_3b)) - reinterpret_cast(df_structure); + p_table["unk_3c"] = reinterpret_cast(&(df_structure->unk_3c)) - reinterpret_cast(df_structure); +} + +void generate_historical_figure_info__T_relationships__T_anon_1_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); +} + +void generate_historical_figure_info__T_relationships__T_anon_2_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); +} + +void generate_historical_figure_info__T_relationships__T_anon_3_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); +} + +void generate_historical_figure_info__T_relationships_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["list"] = reinterpret_cast(&(df_structure->list)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["identities"] = reinterpret_cast(&(df_structure->identities)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); +} + +void generate_historical_figure_info_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["spheres"] = reinterpret_cast(&(df_structure->spheres)) - reinterpret_cast(df_structure); + p_table["skills"] = reinterpret_cast(&(df_structure->skills)) - reinterpret_cast(df_structure); + p_table["pets"] = reinterpret_cast(&(df_structure->pets)) - reinterpret_cast(df_structure); + p_table["personality"] = reinterpret_cast(&(df_structure->personality)) - reinterpret_cast(df_structure); + p_table["masterpieces"] = reinterpret_cast(&(df_structure->masterpieces)) - reinterpret_cast(df_structure); + p_table["unk_14"] = reinterpret_cast(&(df_structure->unk_14)) - reinterpret_cast(df_structure); + p_table["kills"] = reinterpret_cast(&(df_structure->kills)) - reinterpret_cast(df_structure); + p_table["wounds"] = reinterpret_cast(&(df_structure->wounds)) - reinterpret_cast(df_structure); + p_table["secret"] = reinterpret_cast(&(df_structure->secret)) - reinterpret_cast(df_structure); + p_table["curse"] = reinterpret_cast(&(df_structure->curse)) - reinterpret_cast(df_structure); + p_table["books"] = reinterpret_cast(&(df_structure->books)) - reinterpret_cast(df_structure); + p_table["reputation"] = reinterpret_cast(&(df_structure->reputation)) - reinterpret_cast(df_structure); + p_table["relationships"] = reinterpret_cast(&(df_structure->relationships)) - reinterpret_cast(df_structure); +} + +void generate_unit_soul__T_performance_skills_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["musical_instruments"] = reinterpret_cast(&(df_structure->musical_instruments)) - reinterpret_cast(df_structure); + p_table["poetic_forms"] = reinterpret_cast(&(df_structure->poetic_forms)) - reinterpret_cast(df_structure); + p_table["musical_forms"] = reinterpret_cast(&(df_structure->musical_forms)) - reinterpret_cast(df_structure); + p_table["dance_forms"] = reinterpret_cast(&(df_structure->dance_forms)) - reinterpret_cast(df_structure); +} + +void generate_unit_soul_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); + p_table["sex"] = reinterpret_cast(&(df_structure->sex)) - reinterpret_cast(df_structure); + p_table["caste"] = reinterpret_cast(&(df_structure->caste)) - reinterpret_cast(df_structure); + p_table["orientation_flags"] = reinterpret_cast(&(df_structure->orientation_flags)) - reinterpret_cast(df_structure); + p_table["unk2"] = reinterpret_cast(&(df_structure->unk2)) - reinterpret_cast(df_structure); + p_table["unk3"] = reinterpret_cast(&(df_structure->unk3)) - reinterpret_cast(df_structure); + p_table["unk4"] = reinterpret_cast(&(df_structure->unk4)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["mental_attrs"] = reinterpret_cast(&(df_structure->mental_attrs)) - reinterpret_cast(df_structure); + p_table["skills"] = reinterpret_cast(&(df_structure->skills)) - reinterpret_cast(df_structure); + p_table["preferences"] = reinterpret_cast(&(df_structure->preferences)) - reinterpret_cast(df_structure); + p_table["personality"] = reinterpret_cast(&(df_structure->personality)) - reinterpret_cast(df_structure); + p_table["performance_skills"] = reinterpret_cast(&(df_structure->performance_skills)) - reinterpret_cast(df_structure); +} + +void generate_unit_action__T_data__T_move_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["x"] = reinterpret_cast(&(df_structure->x)) - reinterpret_cast(df_structure); + p_table["y"] = reinterpret_cast(&(df_structure->y)) - reinterpret_cast(df_structure); + p_table["z"] = reinterpret_cast(&(df_structure->z)) - reinterpret_cast(df_structure); + p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); + p_table["timer_init"] = reinterpret_cast(&(df_structure->timer_init)) - reinterpret_cast(df_structure); + p_table["fatigue"] = reinterpret_cast(&(df_structure->fatigue)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); +} + +void generate_unit_action__T_data__T_attack__T_unk_4_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["wrestle_type"] = reinterpret_cast(&(df_structure->wrestle_type)) - reinterpret_cast(df_structure); + p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); + p_table["unk_6"] = reinterpret_cast(&(df_structure->unk_6)) - reinterpret_cast(df_structure); + p_table["unk_8"] = reinterpret_cast(&(df_structure->unk_8)) - reinterpret_cast(df_structure); + p_table["unk_c"] = reinterpret_cast(&(df_structure->unk_c)) - reinterpret_cast(df_structure); + p_table["unk_10"] = reinterpret_cast(&(df_structure->unk_10)) - reinterpret_cast(df_structure); + p_table["unk_14"] = reinterpret_cast(&(df_structure->unk_14)) - reinterpret_cast(df_structure); +} + +void generate_unit_action__T_data__T_attack_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["target_unit_id"] = reinterpret_cast(&(df_structure->target_unit_id)) - reinterpret_cast(df_structure); + p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); + p_table["attack_item_id"] = reinterpret_cast(&(df_structure->attack_item_id)) - reinterpret_cast(df_structure); + p_table["target_body_part_id"] = reinterpret_cast(&(df_structure->target_body_part_id)) - reinterpret_cast(df_structure); + p_table["attack_body_part_id"] = reinterpret_cast(&(df_structure->attack_body_part_id)) - reinterpret_cast(df_structure); + p_table["attack_id"] = reinterpret_cast(&(df_structure->attack_id)) - reinterpret_cast(df_structure); + p_table["unk_28"] = reinterpret_cast(&(df_structure->unk_28)) - reinterpret_cast(df_structure); + p_table["unk_2c"] = reinterpret_cast(&(df_structure->unk_2c)) - reinterpret_cast(df_structure); + p_table["attack_velocity"] = reinterpret_cast(&(df_structure->attack_velocity)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["attack_skill"] = reinterpret_cast(&(df_structure->attack_skill)) - reinterpret_cast(df_structure); + p_table["attack_accuracy"] = reinterpret_cast(&(df_structure->attack_accuracy)) - reinterpret_cast(df_structure); + p_table["timer1"] = reinterpret_cast(&(df_structure->timer1)) - reinterpret_cast(df_structure); + p_table["timer2"] = reinterpret_cast(&(df_structure->timer2)) - reinterpret_cast(df_structure); +} + +void generate_unit_action__T_data__T_jump_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["x1"] = reinterpret_cast(&(df_structure->x1)) - reinterpret_cast(df_structure); + p_table["y1"] = reinterpret_cast(&(df_structure->y1)) - reinterpret_cast(df_structure); + p_table["z1"] = reinterpret_cast(&(df_structure->z1)) - reinterpret_cast(df_structure); + p_table["x2"] = reinterpret_cast(&(df_structure->x2)) - reinterpret_cast(df_structure); + p_table["y2"] = reinterpret_cast(&(df_structure->y2)) - reinterpret_cast(df_structure); + p_table["z2"] = reinterpret_cast(&(df_structure->z2)) - reinterpret_cast(df_structure); +} + +void generate_unit_action__T_data__T_holdterrain_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["x1"] = reinterpret_cast(&(df_structure->x1)) - reinterpret_cast(df_structure); + p_table["y1"] = reinterpret_cast(&(df_structure->y1)) - reinterpret_cast(df_structure); + p_table["z1"] = reinterpret_cast(&(df_structure->z1)) - reinterpret_cast(df_structure); + p_table["x2"] = reinterpret_cast(&(df_structure->x2)) - reinterpret_cast(df_structure); + p_table["y2"] = reinterpret_cast(&(df_structure->y2)) - reinterpret_cast(df_structure); + p_table["z2"] = reinterpret_cast(&(df_structure->z2)) - reinterpret_cast(df_structure); + p_table["x3"] = reinterpret_cast(&(df_structure->x3)) - reinterpret_cast(df_structure); + p_table["y3"] = reinterpret_cast(&(df_structure->y3)) - reinterpret_cast(df_structure); + p_table["z3"] = reinterpret_cast(&(df_structure->z3)) - reinterpret_cast(df_structure); + p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); + p_table["fatigue"] = reinterpret_cast(&(df_structure->fatigue)) - reinterpret_cast(df_structure); +} + +void generate_unit_action__T_data__T_releaseterrain_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["x"] = reinterpret_cast(&(df_structure->x)) - reinterpret_cast(df_structure); + p_table["y"] = reinterpret_cast(&(df_structure->y)) - reinterpret_cast(df_structure); + p_table["z"] = reinterpret_cast(&(df_structure->z)) - reinterpret_cast(df_structure); +} + +void generate_unit_action__T_data__T_climb_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["x1"] = reinterpret_cast(&(df_structure->x1)) - reinterpret_cast(df_structure); + p_table["y1"] = reinterpret_cast(&(df_structure->y1)) - reinterpret_cast(df_structure); + p_table["z1"] = reinterpret_cast(&(df_structure->z1)) - reinterpret_cast(df_structure); + p_table["x2"] = reinterpret_cast(&(df_structure->x2)) - reinterpret_cast(df_structure); + p_table["y2"] = reinterpret_cast(&(df_structure->y2)) - reinterpret_cast(df_structure); + p_table["z2"] = reinterpret_cast(&(df_structure->z2)) - reinterpret_cast(df_structure); + p_table["x3"] = reinterpret_cast(&(df_structure->x3)) - reinterpret_cast(df_structure); + p_table["y3"] = reinterpret_cast(&(df_structure->y3)) - reinterpret_cast(df_structure); + p_table["z3"] = reinterpret_cast(&(df_structure->z3)) - reinterpret_cast(df_structure); + p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); + p_table["timer_init"] = reinterpret_cast(&(df_structure->timer_init)) - reinterpret_cast(df_structure); + p_table["fatigue"] = reinterpret_cast(&(df_structure->fatigue)) - reinterpret_cast(df_structure); +} + +void generate_unit_action__T_data__T_job_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["x"] = reinterpret_cast(&(df_structure->x)) - reinterpret_cast(df_structure); + p_table["y"] = reinterpret_cast(&(df_structure->y)) - reinterpret_cast(df_structure); + p_table["z"] = reinterpret_cast(&(df_structure->z)) - reinterpret_cast(df_structure); + p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); +} + +void generate_unit_action__T_data__T_talk_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk_0"] = reinterpret_cast(&(df_structure->unk_0)) - reinterpret_cast(df_structure); + p_table["activity_id"] = reinterpret_cast(&(df_structure->activity_id)) - reinterpret_cast(df_structure); + p_table["activity_event_idx"] = reinterpret_cast(&(df_structure->activity_event_idx)) - reinterpret_cast(df_structure); + p_table["event"] = reinterpret_cast(&(df_structure->event)) - reinterpret_cast(df_structure); + p_table["unk_34"] = reinterpret_cast(&(df_structure->unk_34)) - reinterpret_cast(df_structure); + p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); + p_table["unk_3c"] = reinterpret_cast(&(df_structure->unk_3c)) - reinterpret_cast(df_structure); + p_table["unk_40"] = reinterpret_cast(&(df_structure->unk_40)) - reinterpret_cast(df_structure); + p_table["unk_44"] = reinterpret_cast(&(df_structure->unk_44)) - reinterpret_cast(df_structure); + p_table["unk_48"] = reinterpret_cast(&(df_structure->unk_48)) - reinterpret_cast(df_structure); + p_table["unk_4c"] = reinterpret_cast(&(df_structure->unk_4c)) - reinterpret_cast(df_structure); + p_table["unk_50"] = reinterpret_cast(&(df_structure->unk_50)) - reinterpret_cast(df_structure); + p_table["unk_54"] = reinterpret_cast(&(df_structure->unk_54)) - reinterpret_cast(df_structure); +} + +void generate_unit_action__T_data__T_unsteady_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); +} + +void generate_unit_action__T_data__T_parry_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unit_id"] = reinterpret_cast(&(df_structure->unit_id)) - reinterpret_cast(df_structure); + p_table["target_action"] = reinterpret_cast(&(df_structure->target_action)) - reinterpret_cast(df_structure); + p_table["parry_item_id"] = reinterpret_cast(&(df_structure->parry_item_id)) - reinterpret_cast(df_structure); +} + +void generate_unit_action__T_data__T_block_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unit_id"] = reinterpret_cast(&(df_structure->unit_id)) - reinterpret_cast(df_structure); + p_table["target_action"] = reinterpret_cast(&(df_structure->target_action)) - reinterpret_cast(df_structure); + p_table["block_item_id"] = reinterpret_cast(&(df_structure->block_item_id)) - reinterpret_cast(df_structure); +} + +void generate_unit_action__T_data__T_dodge_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["x1"] = reinterpret_cast(&(df_structure->x1)) - reinterpret_cast(df_structure); + p_table["y1"] = reinterpret_cast(&(df_structure->y1)) - reinterpret_cast(df_structure); + p_table["z1"] = reinterpret_cast(&(df_structure->z1)) - reinterpret_cast(df_structure); + p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); + p_table["x2"] = reinterpret_cast(&(df_structure->x2)) - reinterpret_cast(df_structure); + p_table["y2"] = reinterpret_cast(&(df_structure->y2)) - reinterpret_cast(df_structure); + p_table["z2"] = reinterpret_cast(&(df_structure->z2)) - reinterpret_cast(df_structure); +} + +void generate_unit_action__T_data__T_recover_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); + p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); +} + +void generate_unit_action__T_data__T_standup_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); +} + +void generate_unit_action__T_data__T_liedown_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); +} + +void generate_unit_action__T_data__T_job2_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); +} + +void generate_unit_action__T_data__T_pushobject_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["x1"] = reinterpret_cast(&(df_structure->x1)) - reinterpret_cast(df_structure); + p_table["y1"] = reinterpret_cast(&(df_structure->y1)) - reinterpret_cast(df_structure); + p_table["z1"] = reinterpret_cast(&(df_structure->z1)) - reinterpret_cast(df_structure); + p_table["x2"] = reinterpret_cast(&(df_structure->x2)) - reinterpret_cast(df_structure); + p_table["y2"] = reinterpret_cast(&(df_structure->y2)) - reinterpret_cast(df_structure); + p_table["z2"] = reinterpret_cast(&(df_structure->z2)) - reinterpret_cast(df_structure); + p_table["x3"] = reinterpret_cast(&(df_structure->x3)) - reinterpret_cast(df_structure); + p_table["y3"] = reinterpret_cast(&(df_structure->y3)) - reinterpret_cast(df_structure); + p_table["z3"] = reinterpret_cast(&(df_structure->z3)) - reinterpret_cast(df_structure); + p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); + p_table["unk_18"] = reinterpret_cast(&(df_structure->unk_18)) - reinterpret_cast(df_structure); +} + +void generate_unit_action__T_data__T_suckblood_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unit_id"] = reinterpret_cast(&(df_structure->unit_id)) - reinterpret_cast(df_structure); + p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); +} + +void generate_unit_action__T_data__T_holditem_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["x1"] = reinterpret_cast(&(df_structure->x1)) - reinterpret_cast(df_structure); + p_table["y1"] = reinterpret_cast(&(df_structure->y1)) - reinterpret_cast(df_structure); + p_table["z1"] = reinterpret_cast(&(df_structure->z1)) - reinterpret_cast(df_structure); + p_table["x2"] = reinterpret_cast(&(df_structure->x2)) - reinterpret_cast(df_structure); + p_table["y2"] = reinterpret_cast(&(df_structure->y2)) - reinterpret_cast(df_structure); + p_table["z2"] = reinterpret_cast(&(df_structure->z2)) - reinterpret_cast(df_structure); + p_table["unk_c"] = reinterpret_cast(&(df_structure->unk_c)) - reinterpret_cast(df_structure); + p_table["unk_10"] = reinterpret_cast(&(df_structure->unk_10)) - reinterpret_cast(df_structure); + p_table["unk_14"] = reinterpret_cast(&(df_structure->unk_14)) - reinterpret_cast(df_structure); +} + +void generate_unit_action__T_data__T_releaseitem_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk_0"] = reinterpret_cast(&(df_structure->unk_0)) - reinterpret_cast(df_structure); +} + +void generate_unit_action__T_data_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["move"] = reinterpret_cast(&(df_structure->move)) - reinterpret_cast(df_structure); + p_table["attack"] = reinterpret_cast(&(df_structure->attack)) - reinterpret_cast(df_structure); + p_table["jump"] = reinterpret_cast(&(df_structure->jump)) - reinterpret_cast(df_structure); + p_table["holdterrain"] = reinterpret_cast(&(df_structure->holdterrain)) - reinterpret_cast(df_structure); + p_table["releaseterrain"] = reinterpret_cast(&(df_structure->releaseterrain)) - reinterpret_cast(df_structure); + p_table["climb"] = reinterpret_cast(&(df_structure->climb)) - reinterpret_cast(df_structure); + p_table["job"] = reinterpret_cast(&(df_structure->job)) - reinterpret_cast(df_structure); + p_table["talk"] = reinterpret_cast(&(df_structure->talk)) - reinterpret_cast(df_structure); + p_table["unsteady"] = reinterpret_cast(&(df_structure->unsteady)) - reinterpret_cast(df_structure); + p_table["parry"] = reinterpret_cast(&(df_structure->parry)) - reinterpret_cast(df_structure); + p_table["block"] = reinterpret_cast(&(df_structure->block)) - reinterpret_cast(df_structure); + p_table["dodge"] = reinterpret_cast(&(df_structure->dodge)) - reinterpret_cast(df_structure); + p_table["recover"] = reinterpret_cast(&(df_structure->recover)) - reinterpret_cast(df_structure); + p_table["standup"] = reinterpret_cast(&(df_structure->standup)) - reinterpret_cast(df_structure); + p_table["liedown"] = reinterpret_cast(&(df_structure->liedown)) - reinterpret_cast(df_structure); + p_table["job2"] = reinterpret_cast(&(df_structure->job2)) - reinterpret_cast(df_structure); + p_table["pushobject"] = reinterpret_cast(&(df_structure->pushobject)) - reinterpret_cast(df_structure); + p_table["suckblood"] = reinterpret_cast(&(df_structure->suckblood)) - reinterpret_cast(df_structure); + p_table["holditem"] = reinterpret_cast(&(df_structure->holditem)) - reinterpret_cast(df_structure); + p_table["releaseitem"] = reinterpret_cast(&(df_structure->releaseitem)) - reinterpret_cast(df_structure); + p_table["raw_data"] = reinterpret_cast(&(df_structure->raw_data)) - reinterpret_cast(df_structure); +} + +void generate_unit_action_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["data"] = reinterpret_cast(&(df_structure->data)) - reinterpret_cast(df_structure); +} + +void generate_unit_skill_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["rating"] = reinterpret_cast(&(df_structure->rating)) - reinterpret_cast(df_structure); + p_table["experience"] = reinterpret_cast(&(df_structure->experience)) - reinterpret_cast(df_structure); + p_table["unused_counter"] = reinterpret_cast(&(df_structure->unused_counter)) - reinterpret_cast(df_structure); + p_table["rusty"] = reinterpret_cast(&(df_structure->rusty)) - reinterpret_cast(df_structure); + p_table["rust_counter"] = reinterpret_cast(&(df_structure->rust_counter)) - reinterpret_cast(df_structure); + p_table["demotion_counter"] = reinterpret_cast(&(df_structure->demotion_counter)) - reinterpret_cast(df_structure); + p_table["natural_skill_lvl"] = reinterpret_cast(&(df_structure->natural_skill_lvl)) - reinterpret_cast(df_structure); +} + +void generate_unit_preference_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); + p_table["creature_id"] = reinterpret_cast(&(df_structure->creature_id)) - reinterpret_cast(df_structure); + p_table["color_id"] = reinterpret_cast(&(df_structure->color_id)) - reinterpret_cast(df_structure); + p_table["shape_id"] = reinterpret_cast(&(df_structure->shape_id)) - reinterpret_cast(df_structure); + p_table["plant_id"] = reinterpret_cast(&(df_structure->plant_id)) - reinterpret_cast(df_structure); + p_table["poetic_form_id"] = reinterpret_cast(&(df_structure->poetic_form_id)) - reinterpret_cast(df_structure); + p_table["musical_form_id"] = reinterpret_cast(&(df_structure->musical_form_id)) - reinterpret_cast(df_structure); + p_table["dance_form_id"] = reinterpret_cast(&(df_structure->dance_form_id)) - reinterpret_cast(df_structure); + p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); + p_table["mattype"] = reinterpret_cast(&(df_structure->mattype)) - reinterpret_cast(df_structure); + p_table["matindex"] = reinterpret_cast(&(df_structure->matindex)) - reinterpret_cast(df_structure); + p_table["mat_state"] = reinterpret_cast(&(df_structure->mat_state)) - reinterpret_cast(df_structure); + p_table["active"] = reinterpret_cast(&(df_structure->active)) - reinterpret_cast(df_structure); + p_table["prefstring_seed"] = reinterpret_cast(&(df_structure->prefstring_seed)) - reinterpret_cast(df_structure); +} + +void generate_unit_complaint_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["guild"] = reinterpret_cast(&(df_structure->guild)) - reinterpret_cast(df_structure); + p_table["age"] = reinterpret_cast(&(df_structure->age)) - reinterpret_cast(df_structure); +} + +void generate_unit_request_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["guild"] = reinterpret_cast(&(df_structure->guild)) - reinterpret_cast(df_structure); + p_table["count"] = reinterpret_cast(&(df_structure->count)) - reinterpret_cast(df_structure); +} + +void generate_unit_chunk__T_units_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["items"] = reinterpret_cast(&(df_structure->items)) - reinterpret_cast(df_structure); + p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); +} + +void generate_unit_chunk_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["units"] = reinterpret_cast(&(df_structure->units)) - reinterpret_cast(df_structure); +} + +void generate_unit_appearance_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk_1"] = reinterpret_cast(&(df_structure->unk_1)) - reinterpret_cast(df_structure); + p_table["caste_index"] = reinterpret_cast(&(df_structure->caste_index)) - reinterpret_cast(df_structure); + p_table["unk_3"] = reinterpret_cast(&(df_structure->unk_3)) - reinterpret_cast(df_structure); + p_table["physical_attributes"] = reinterpret_cast(&(df_structure->physical_attributes)) - reinterpret_cast(df_structure); + p_table["unk_5"] = reinterpret_cast(&(df_structure->unk_5)) - reinterpret_cast(df_structure); + p_table["body_modifiers"] = reinterpret_cast(&(df_structure->body_modifiers)) - reinterpret_cast(df_structure); + p_table["bp_modifiers"] = reinterpret_cast(&(df_structure->bp_modifiers)) - reinterpret_cast(df_structure); + p_table["unk_8"] = reinterpret_cast(&(df_structure->unk_8)) - reinterpret_cast(df_structure); + p_table["tissue_style"] = reinterpret_cast(&(df_structure->tissue_style)) - reinterpret_cast(df_structure); + p_table["tissue_style_civ_id"] = reinterpret_cast(&(df_structure->tissue_style_civ_id)) - reinterpret_cast(df_structure); + p_table["tissue_style_id"] = reinterpret_cast(&(df_structure->tissue_style_id)) - reinterpret_cast(df_structure); + p_table["tissue_style_type"] = reinterpret_cast(&(df_structure->tissue_style_type)) - reinterpret_cast(df_structure); + p_table["tissue_length"] = reinterpret_cast(&(df_structure->tissue_length)) - reinterpret_cast(df_structure); + p_table["appearance_genes"] = reinterpret_cast(&(df_structure->appearance_genes)) - reinterpret_cast(df_structure); + p_table["color_genes"] = reinterpret_cast(&(df_structure->color_genes)) - reinterpret_cast(df_structure); + p_table["color_modifiers"] = reinterpret_cast(&(df_structure->color_modifiers)) - reinterpret_cast(df_structure); + p_table["unk_18"] = reinterpret_cast(&(df_structure->unk_18)) - reinterpret_cast(df_structure); + p_table["unk_19"] = reinterpret_cast(&(df_structure->unk_19)) - reinterpret_cast(df_structure); +} + +void generate_vermin_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); + p_table["caste"] = reinterpret_cast(&(df_structure->caste)) - reinterpret_cast(df_structure); + p_table["pos"] = reinterpret_cast(&(df_structure->pos)) - reinterpret_cast(df_structure); + p_table["visible"] = reinterpret_cast(&(df_structure->visible)) - reinterpret_cast(df_structure); + p_table["countdown"] = reinterpret_cast(&(df_structure->countdown)) - reinterpret_cast(df_structure); + p_table["item"] = reinterpret_cast(&(df_structure->item)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["amount"] = reinterpret_cast(&(df_structure->amount)) - reinterpret_cast(df_structure); + p_table["population"] = reinterpret_cast(&(df_structure->population)) - reinterpret_cast(df_structure); + p_table["unk_34"] = reinterpret_cast(&(df_structure->unk_34)) - reinterpret_cast(df_structure); + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["child"] = reinterpret_cast(&(df_structure->child)) - reinterpret_cast(df_structure); + p_table["parent"] = reinterpret_cast(&(df_structure->parent)) - reinterpret_cast(df_structure); + p_table["breakdown_level"] = reinterpret_cast(&(df_structure->breakdown_level)) - reinterpret_cast(df_structure); + p_table["option_key_pressed"] = reinterpret_cast(&(df_structure->option_key_pressed)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_layer_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["layer_objects"] = reinterpret_cast(&(df_structure->layer_objects)) - reinterpret_cast(df_structure); +} + +void generate_interfacest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["original_fps"] = reinterpret_cast(&(df_structure->original_fps)) - reinterpret_cast(df_structure); + p_table["view"] = reinterpret_cast(&(df_structure->view)) - reinterpret_cast(df_structure); + p_table["flag"] = reinterpret_cast(&(df_structure->flag)) - reinterpret_cast(df_structure); + p_table["shutdown_interface_tickcount"] = reinterpret_cast(&(df_structure->shutdown_interface_tickcount)) - reinterpret_cast(df_structure); + p_table["shutdown_interface_for_ms"] = reinterpret_cast(&(df_structure->shutdown_interface_for_ms)) - reinterpret_cast(df_structure); + p_table["supermovie_on"] = reinterpret_cast(&(df_structure->supermovie_on)) - reinterpret_cast(df_structure); + p_table["supermovie_pos"] = reinterpret_cast(&(df_structure->supermovie_pos)) - reinterpret_cast(df_structure); + p_table["supermovie_delayrate"] = reinterpret_cast(&(df_structure->supermovie_delayrate)) - reinterpret_cast(df_structure); + p_table["supermovie_delaystep"] = reinterpret_cast(&(df_structure->supermovie_delaystep)) - reinterpret_cast(df_structure); + p_table["supermovie_sound"] = reinterpret_cast(&(df_structure->supermovie_sound)) - reinterpret_cast(df_structure); + p_table["supermovie_sound_time"] = reinterpret_cast(&(df_structure->supermovie_sound_time)) - reinterpret_cast(df_structure); + p_table["supermoviebuffer"] = reinterpret_cast(&(df_structure->supermoviebuffer)) - reinterpret_cast(df_structure); + p_table["supermoviebuffer_comp"] = reinterpret_cast(&(df_structure->supermoviebuffer_comp)) - reinterpret_cast(df_structure); + p_table["currentblocksize"] = reinterpret_cast(&(df_structure->currentblocksize)) - reinterpret_cast(df_structure); + p_table["nextfilepos"] = reinterpret_cast(&(df_structure->nextfilepos)) - reinterpret_cast(df_structure); + p_table["first_movie_write"] = reinterpret_cast(&(df_structure->first_movie_write)) - reinterpret_cast(df_structure); + p_table["movie_file"] = reinterpret_cast(&(df_structure->movie_file)) - reinterpret_cast(df_structure); +} + +void generate_layer_object_listst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["cursor"] = reinterpret_cast(&(df_structure->cursor)) - reinterpret_cast(df_structure); + p_table["num_entries"] = reinterpret_cast(&(df_structure->num_entries)) - reinterpret_cast(df_structure); + p_table["x1"] = reinterpret_cast(&(df_structure->x1)) - reinterpret_cast(df_structure); + p_table["y1"] = reinterpret_cast(&(df_structure->y1)) - reinterpret_cast(df_structure); + p_table["page_size"] = reinterpret_cast(&(df_structure->page_size)) - reinterpret_cast(df_structure); + p_table["x2"] = reinterpret_cast(&(df_structure->x2)) - reinterpret_cast(df_structure); + p_table["y2"] = reinterpret_cast(&(df_structure->y2)) - reinterpret_cast(df_structure); + p_table["mouse_l_cur"] = reinterpret_cast(&(df_structure->mouse_l_cur)) - reinterpret_cast(df_structure); + p_table["mouse_r_cur"] = reinterpret_cast(&(df_structure->mouse_r_cur)) - reinterpret_cast(df_structure); + p_table["rclick_scrolls"] = reinterpret_cast(&(df_structure->rclick_scrolls)) - reinterpret_cast(df_structure); + p_table["flag"] = reinterpret_cast(&(df_structure->flag)) - reinterpret_cast(df_structure); + p_table["key_lclick"] = reinterpret_cast(&(df_structure->key_lclick)) - reinterpret_cast(df_structure); + p_table["key_rclick"] = reinterpret_cast(&(df_structure->key_rclick)) - reinterpret_cast(df_structure); +} + +void generate_KeybindingScreen_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mode"] = reinterpret_cast(&(df_structure->mode)) - reinterpret_cast(df_structure); + p_table["main"] = reinterpret_cast(&(df_structure->main)) - reinterpret_cast(df_structure); + p_table["keyL"] = reinterpret_cast(&(df_structure->keyL)) - reinterpret_cast(df_structure); + p_table["keyR"] = reinterpret_cast(&(df_structure->keyR)) - reinterpret_cast(df_structure); + p_table["macro"] = reinterpret_cast(&(df_structure->macro)) - reinterpret_cast(df_structure); + p_table["keyRegister"] = reinterpret_cast(&(df_structure->keyRegister)) - reinterpret_cast(df_structure); +} + +void generate_MacroScreenLoad_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["menu"] = reinterpret_cast(&(df_structure->menu)) - reinterpret_cast(df_structure); + p_table["width"] = reinterpret_cast(&(df_structure->width)) - reinterpret_cast(df_structure); + p_table["height"] = reinterpret_cast(&(df_structure->height)) - reinterpret_cast(df_structure); +} + +void generate_MacroScreenSave_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); +} + +void generate_world_dat_summary_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["save_info"] = reinterpret_cast(&(df_structure->save_info)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_adopt_regionst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["compressor"] = reinterpret_cast(&(df_structure->compressor)) - reinterpret_cast(df_structure); + p_table["cur_step"] = reinterpret_cast(&(df_structure->cur_step)) - reinterpret_cast(df_structure); + p_table["save_version"] = reinterpret_cast(&(df_structure->save_version)) - reinterpret_cast(df_structure); + p_table["cur_save"] = reinterpret_cast(&(df_structure->cur_save)) - reinterpret_cast(df_structure); + p_table["glosses"] = reinterpret_cast(&(df_structure->glosses)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_adventure_logst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mode"] = reinterpret_cast(&(df_structure->mode)) - reinterpret_cast(df_structure); + p_table["map_islocalview"] = reinterpret_cast(&(df_structure->map_islocalview)) - reinterpret_cast(df_structure); + p_table["map_hidden"] = reinterpret_cast(&(df_structure->map_hidden)) - reinterpret_cast(df_structure); + p_table["player_region_x"] = reinterpret_cast(&(df_structure->player_region_x)) - reinterpret_cast(df_structure); + p_table["player_region_y"] = reinterpret_cast(&(df_structure->player_region_y)) - reinterpret_cast(df_structure); + p_table["player_local_x"] = reinterpret_cast(&(df_structure->player_local_x)) - reinterpret_cast(df_structure); + p_table["player_local_y"] = reinterpret_cast(&(df_structure->player_local_y)) - reinterpret_cast(df_structure); + p_table["unk_8"] = reinterpret_cast(&(df_structure->unk_8)) - reinterpret_cast(df_structure); + p_table["unk_9"] = reinterpret_cast(&(df_structure->unk_9)) - reinterpret_cast(df_structure); + p_table["unk_10"] = reinterpret_cast(&(df_structure->unk_10)) - reinterpret_cast(df_structure); + p_table["unk_11"] = reinterpret_cast(&(df_structure->unk_11)) - reinterpret_cast(df_structure); + p_table["cursor_x"] = reinterpret_cast(&(df_structure->cursor_x)) - reinterpret_cast(df_structure); + p_table["cursor_y"] = reinterpret_cast(&(df_structure->cursor_y)) - reinterpret_cast(df_structure); + p_table["index"] = reinterpret_cast(&(df_structure->index)) - reinterpret_cast(df_structure); + p_table["map_draw_line"] = reinterpret_cast(&(df_structure->map_draw_line)) - reinterpret_cast(df_structure); + p_table["info_mode"] = reinterpret_cast(&(df_structure->info_mode)) - reinterpret_cast(df_structure); + p_table["local_area_x1"] = reinterpret_cast(&(df_structure->local_area_x1)) - reinterpret_cast(df_structure); + p_table["local_area_x2"] = reinterpret_cast(&(df_structure->local_area_x2)) - reinterpret_cast(df_structure); + p_table["local_area_y1"] = reinterpret_cast(&(df_structure->local_area_y1)) - reinterpret_cast(df_structure); + p_table["local_area_y2"] = reinterpret_cast(&(df_structure->local_area_y2)) - reinterpret_cast(df_structure); + p_table["unk_v40_1a"] = reinterpret_cast(&(df_structure->unk_v40_1a)) - reinterpret_cast(df_structure); + p_table["unk_v40_1b"] = reinterpret_cast(&(df_structure->unk_v40_1b)) - reinterpret_cast(df_structure); + p_table["unk_v40_1c"] = reinterpret_cast(&(df_structure->unk_v40_1c)) - reinterpret_cast(df_structure); + p_table["unk_v40_1d"] = reinterpret_cast(&(df_structure->unk_v40_1d)) - reinterpret_cast(df_structure); + p_table["unk_v40_1e"] = reinterpret_cast(&(df_structure->unk_v40_1e)) - reinterpret_cast(df_structure); + p_table["unk_v40_1f"] = reinterpret_cast(&(df_structure->unk_v40_1f)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["filter_str"] = reinterpret_cast(&(df_structure->filter_str)) - reinterpret_cast(df_structure); + p_table["in_filter"] = reinterpret_cast(&(df_structure->in_filter)) - reinterpret_cast(df_structure); + p_table["items"] = reinterpret_cast(&(df_structure->items)) - reinterpret_cast(df_structure); + p_table["filtered_items"] = reinterpret_cast(&(df_structure->filtered_items)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_announcelistst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); + p_table["report_type"] = reinterpret_cast(&(df_structure->report_type)) - reinterpret_cast(df_structure); + p_table["sel_idx"] = reinterpret_cast(&(df_structure->sel_idx)) - reinterpret_cast(df_structure); + p_table["reports"] = reinterpret_cast(&(df_structure->reports)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_assign_display_itemst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["building"] = reinterpret_cast(&(df_structure->building)) - reinterpret_cast(df_structure); + p_table["title"] = reinterpret_cast(&(df_structure->title)) - reinterpret_cast(df_structure); + p_table["sel_type"] = reinterpret_cast(&(df_structure->sel_type)) - reinterpret_cast(df_structure); + p_table["sel_item"] = reinterpret_cast(&(df_structure->sel_item)) - reinterpret_cast(df_structure); + p_table["selected_item_ids"] = reinterpret_cast(&(df_structure->selected_item_ids)) - reinterpret_cast(df_structure); + p_table["sel_column"] = reinterpret_cast(&(df_structure->sel_column)) - reinterpret_cast(df_structure); + p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); + p_table["artifacts"] = reinterpret_cast(&(df_structure->artifacts)) - reinterpret_cast(df_structure); + p_table["unk_3"] = reinterpret_cast(&(df_structure->unk_3)) - reinterpret_cast(df_structure); + p_table["items"] = reinterpret_cast(&(df_structure->items)) - reinterpret_cast(df_structure); + p_table["items_populated"] = reinterpret_cast(&(df_structure->items_populated)) - reinterpret_cast(df_structure); + p_table["description"] = reinterpret_cast(&(df_structure->description)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_barterst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); + p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); + p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); + p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); + p_table["anon_11"] = reinterpret_cast(&(df_structure->anon_11)) - reinterpret_cast(df_structure); + p_table["anon_12"] = reinterpret_cast(&(df_structure->anon_12)) - reinterpret_cast(df_structure); + p_table["anon_13"] = reinterpret_cast(&(df_structure->anon_13)) - reinterpret_cast(df_structure); + p_table["anon_14"] = reinterpret_cast(&(df_structure->anon_14)) - reinterpret_cast(df_structure); + p_table["anon_15"] = reinterpret_cast(&(df_structure->anon_15)) - reinterpret_cast(df_structure); + p_table["anon_16"] = reinterpret_cast(&(df_structure->anon_16)) - reinterpret_cast(df_structure); + p_table["max_ask"] = reinterpret_cast(&(df_structure->max_ask)) - reinterpret_cast(df_structure); + p_table["max_offer"] = reinterpret_cast(&(df_structure->max_offer)) - reinterpret_cast(df_structure); + p_table["cur_ask"] = reinterpret_cast(&(df_structure->cur_ask)) - reinterpret_cast(df_structure); + p_table["cur_offer"] = reinterpret_cast(&(df_structure->cur_offer)) - reinterpret_cast(df_structure); + p_table["anon_17"] = reinterpret_cast(&(df_structure->anon_17)) - reinterpret_cast(df_structure); + p_table["anon_18"] = reinterpret_cast(&(df_structure->anon_18)) - reinterpret_cast(df_structure); + p_table["anon_19"] = reinterpret_cast(&(df_structure->anon_19)) - reinterpret_cast(df_structure); + p_table["anon_20"] = reinterpret_cast(&(df_structure->anon_20)) - reinterpret_cast(df_structure); + p_table["anon_21"] = reinterpret_cast(&(df_structure->anon_21)) - reinterpret_cast(df_structure); + p_table["anon_22"] = reinterpret_cast(&(df_structure->anon_22)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_buildingst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["building"] = reinterpret_cast(&(df_structure->building)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_buildinglistst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["cursor"] = reinterpret_cast(&(df_structure->cursor)) - reinterpret_cast(df_structure); + p_table["alt_right_panel"] = reinterpret_cast(&(df_structure->alt_right_panel)) - reinterpret_cast(df_structure); + p_table["buildings"] = reinterpret_cast(&(df_structure->buildings)) - reinterpret_cast(df_structure); + p_table["buildings2"] = reinterpret_cast(&(df_structure->buildings2)) - reinterpret_cast(df_structure); + p_table["room_value"] = reinterpret_cast(&(df_structure->room_value)) - reinterpret_cast(df_structure); + p_table["room_value2"] = reinterpret_cast(&(df_structure->room_value2)) - reinterpret_cast(df_structure); +} + +void generate_embark_location_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["region_pos"] = reinterpret_cast(&(df_structure->region_pos)) - reinterpret_cast(df_structure); + p_table["reclaim_site"] = reinterpret_cast(&(df_structure->reclaim_site)) - reinterpret_cast(df_structure); + p_table["reclaim_idx"] = reinterpret_cast(&(df_structure->reclaim_idx)) - reinterpret_cast(df_structure); + p_table["biome_rgn"] = reinterpret_cast(&(df_structure->biome_rgn)) - reinterpret_cast(df_structure); + p_table["embark_pos_min"] = reinterpret_cast(&(df_structure->embark_pos_min)) - reinterpret_cast(df_structure); + p_table["embark_pos_max"] = reinterpret_cast(&(df_structure->embark_pos_max)) - reinterpret_cast(df_structure); + p_table["embark_biome_rgn"] = reinterpret_cast(&(df_structure->embark_biome_rgn)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_choose_start_sitest__T_finder_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["search_x"] = reinterpret_cast(&(df_structure->search_x)) - reinterpret_cast(df_structure); + p_table["search_y"] = reinterpret_cast(&(df_structure->search_y)) - reinterpret_cast(df_structure); + p_table["cursor"] = reinterpret_cast(&(df_structure->cursor)) - reinterpret_cast(df_structure); + p_table["options"] = reinterpret_cast(&(df_structure->options)) - reinterpret_cast(df_structure); + p_table["unmatched"] = reinterpret_cast(&(df_structure->unmatched)) - reinterpret_cast(df_structure); + p_table["visible_options"] = reinterpret_cast(&(df_structure->visible_options)) - reinterpret_cast(df_structure); + p_table["finder_state"] = reinterpret_cast(&(df_structure->finder_state)) - reinterpret_cast(df_structure); + p_table["unk_11e"] = reinterpret_cast(&(df_structure->unk_11e)) - reinterpret_cast(df_structure); + p_table["unk_120"] = reinterpret_cast(&(df_structure->unk_120)) - reinterpret_cast(df_structure); + p_table["unk_122"] = reinterpret_cast(&(df_structure->unk_122)) - reinterpret_cast(df_structure); + p_table["unk_124"] = reinterpret_cast(&(df_structure->unk_124)) - reinterpret_cast(df_structure); + p_table["unk_126"] = reinterpret_cast(&(df_structure->unk_126)) - reinterpret_cast(df_structure); + p_table["unk_128"] = reinterpret_cast(&(df_structure->unk_128)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_choose_start_sitest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["page"] = reinterpret_cast(&(df_structure->page)) - reinterpret_cast(df_structure); + p_table["location"] = reinterpret_cast(&(df_structure->location)) - reinterpret_cast(df_structure); + p_table["biome_idx"] = reinterpret_cast(&(df_structure->biome_idx)) - reinterpret_cast(df_structure); + p_table["biome_highlighted"] = reinterpret_cast(&(df_structure->biome_highlighted)) - reinterpret_cast(df_structure); + p_table["in_embark_aquifer"] = reinterpret_cast(&(df_structure->in_embark_aquifer)) - reinterpret_cast(df_structure); + p_table["in_embark_salt"] = reinterpret_cast(&(df_structure->in_embark_salt)) - reinterpret_cast(df_structure); + p_table["in_embark_large"] = reinterpret_cast(&(df_structure->in_embark_large)) - reinterpret_cast(df_structure); + p_table["in_embark_narrow"] = reinterpret_cast(&(df_structure->in_embark_narrow)) - reinterpret_cast(df_structure); + p_table["in_embark_only_warning"] = reinterpret_cast(&(df_structure->in_embark_only_warning)) - reinterpret_cast(df_structure); + p_table["in_embark_civ_dying"] = reinterpret_cast(&(df_structure->in_embark_civ_dying)) - reinterpret_cast(df_structure); + p_table["highlighted_sites"] = reinterpret_cast(&(df_structure->highlighted_sites)) - reinterpret_cast(df_structure); + p_table["local_sites"] = reinterpret_cast(&(df_structure->local_sites)) - reinterpret_cast(df_structure); + p_table["reclaim_idx"] = reinterpret_cast(&(df_structure->reclaim_idx)) - reinterpret_cast(df_structure); + p_table["civ_idx"] = reinterpret_cast(&(df_structure->civ_idx)) - reinterpret_cast(df_structure); + p_table["available_civs"] = reinterpret_cast(&(df_structure->available_civs)) - reinterpret_cast(df_structure); + p_table["site_info"] = reinterpret_cast(&(df_structure->site_info)) - reinterpret_cast(df_structure); + p_table["site_abandoned"] = reinterpret_cast(&(df_structure->site_abandoned)) - reinterpret_cast(df_structure); + p_table["site_created"] = reinterpret_cast(&(df_structure->site_created)) - reinterpret_cast(df_structure); + p_table["unk_a4"] = reinterpret_cast(&(df_structure->unk_a4)) - reinterpret_cast(df_structure); + p_table["unk_a8"] = reinterpret_cast(&(df_structure->unk_a8)) - reinterpret_cast(df_structure); + p_table["finder"] = reinterpret_cast(&(df_structure->finder)) - reinterpret_cast(df_structure); + p_table["notes_order"] = reinterpret_cast(&(df_structure->notes_order)) - reinterpret_cast(df_structure); + p_table["cur_note_name"] = reinterpret_cast(&(df_structure->cur_note_name)) - reinterpret_cast(df_structure); + p_table["unk_14c"] = reinterpret_cast(&(df_structure->unk_14c)) - reinterpret_cast(df_structure); + p_table["unk_150"] = reinterpret_cast(&(df_structure->unk_150)) - reinterpret_cast(df_structure); + p_table["unk_154"] = reinterpret_cast(&(df_structure->unk_154)) - reinterpret_cast(df_structure); + p_table["note_tile"] = reinterpret_cast(&(df_structure->note_tile)) - reinterpret_cast(df_structure); + p_table["note_fg_color"] = reinterpret_cast(&(df_structure->note_fg_color)) - reinterpret_cast(df_structure); + p_table["note_bg_color"] = reinterpret_cast(&(df_structure->note_bg_color)) - reinterpret_cast(df_structure); + p_table["unk_15c"] = reinterpret_cast(&(df_structure->unk_15c)) - reinterpret_cast(df_structure); +} + +void generate_mission__T_details__T_raid_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["raid_type"] = reinterpret_cast(&(df_structure->raid_type)) - reinterpret_cast(df_structure); + p_table["unk_2"] = reinterpret_cast(&(df_structure->unk_2)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); + p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); + p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); + p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); + p_table["anon_11"] = reinterpret_cast(&(df_structure->anon_11)) - reinterpret_cast(df_structure); + p_table["anon_12"] = reinterpret_cast(&(df_structure->anon_12)) - reinterpret_cast(df_structure); + p_table["anon_13"] = reinterpret_cast(&(df_structure->anon_13)) - reinterpret_cast(df_structure); + p_table["anon_14"] = reinterpret_cast(&(df_structure->anon_14)) - reinterpret_cast(df_structure); + p_table["anon_15"] = reinterpret_cast(&(df_structure->anon_15)) - reinterpret_cast(df_structure); + p_table["anon_16"] = reinterpret_cast(&(df_structure->anon_16)) - reinterpret_cast(df_structure); + p_table["anon_17"] = reinterpret_cast(&(df_structure->anon_17)) - reinterpret_cast(df_structure); + p_table["anon_18"] = reinterpret_cast(&(df_structure->anon_18)) - reinterpret_cast(df_structure); + p_table["anon_19"] = reinterpret_cast(&(df_structure->anon_19)) - reinterpret_cast(df_structure); + p_table["anon_20"] = reinterpret_cast(&(df_structure->anon_20)) - reinterpret_cast(df_structure); + p_table["raid_flags"] = reinterpret_cast(&(df_structure->raid_flags)) - reinterpret_cast(df_structure); + p_table["unk_3"] = reinterpret_cast(&(df_structure->unk_3)) - reinterpret_cast(df_structure); + p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); + p_table["anon_21"] = reinterpret_cast(&(df_structure->anon_21)) - reinterpret_cast(df_structure); + p_table["anon_22"] = reinterpret_cast(&(df_structure->anon_22)) - reinterpret_cast(df_structure); + p_table["anon_23"] = reinterpret_cast(&(df_structure->anon_23)) - reinterpret_cast(df_structure); + p_table["anon_24"] = reinterpret_cast(&(df_structure->anon_24)) - reinterpret_cast(df_structure); + p_table["anon_25"] = reinterpret_cast(&(df_structure->anon_25)) - reinterpret_cast(df_structure); + p_table["anon_26"] = reinterpret_cast(&(df_structure->anon_26)) - reinterpret_cast(df_structure); + p_table["anon_27"] = reinterpret_cast(&(df_structure->anon_27)) - reinterpret_cast(df_structure); +} + +void generate_mission__T_details__T_recovery_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["artifact"] = reinterpret_cast(&(df_structure->artifact)) - reinterpret_cast(df_structure); + p_table["unk_2"] = reinterpret_cast(&(df_structure->unk_2)) - reinterpret_cast(df_structure); +} + +void generate_mission__T_details__T_rescue_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); + p_table["unk_2"] = reinterpret_cast(&(df_structure->unk_2)) - reinterpret_cast(df_structure); +} + +void generate_mission__T_details__T_request_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["workers"] = reinterpret_cast(&(df_structure->workers)) - reinterpret_cast(df_structure); + p_table["unk_1"] = reinterpret_cast(&(df_structure->unk_1)) - reinterpret_cast(df_structure); + p_table["unk_2"] = reinterpret_cast(&(df_structure->unk_2)) - reinterpret_cast(df_structure); + p_table["unk_3"] = reinterpret_cast(&(df_structure->unk_3)) - reinterpret_cast(df_structure); + p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); +} + +void generate_mission__T_details_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["raid"] = reinterpret_cast(&(df_structure->raid)) - reinterpret_cast(df_structure); + p_table["recovery"] = reinterpret_cast(&(df_structure->recovery)) - reinterpret_cast(df_structure); + p_table["rescue"] = reinterpret_cast(&(df_structure->rescue)) - reinterpret_cast(df_structure); + p_table["request"] = reinterpret_cast(&(df_structure->request)) - reinterpret_cast(df_structure); +} + +void generate_mission_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["army_controller"] = reinterpret_cast(&(df_structure->army_controller)) - reinterpret_cast(df_structure); + p_table["entity"] = reinterpret_cast(&(df_structure->entity)) - reinterpret_cast(df_structure); + p_table["target_site"] = reinterpret_cast(&(df_structure->target_site)) - reinterpret_cast(df_structure); + p_table["unk_2"] = reinterpret_cast(&(df_structure->unk_2)) - reinterpret_cast(df_structure); + p_table["target_x"] = reinterpret_cast(&(df_structure->target_x)) - reinterpret_cast(df_structure); + p_table["target_y"] = reinterpret_cast(&(df_structure->target_y)) - reinterpret_cast(df_structure); + p_table["unk_3"] = reinterpret_cast(&(df_structure->unk_3)) - reinterpret_cast(df_structure); + p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); + p_table["unk_5"] = reinterpret_cast(&(df_structure->unk_5)) - reinterpret_cast(df_structure); + p_table["unk_6"] = reinterpret_cast(&(df_structure->unk_6)) - reinterpret_cast(df_structure); + p_table["unk_7"] = reinterpret_cast(&(df_structure->unk_7)) - reinterpret_cast(df_structure); + p_table["unk_8"] = reinterpret_cast(&(df_structure->unk_8)) - reinterpret_cast(df_structure); + p_table["unk_9"] = reinterpret_cast(&(df_structure->unk_9)) - reinterpret_cast(df_structure); + p_table["unk_10"] = reinterpret_cast(&(df_structure->unk_10)) - reinterpret_cast(df_structure); + p_table["year"] = reinterpret_cast(&(df_structure->year)) - reinterpret_cast(df_structure); + p_table["year_tick"] = reinterpret_cast(&(df_structure->year_tick)) - reinterpret_cast(df_structure); + p_table["unk_12"] = reinterpret_cast(&(df_structure->unk_12)) - reinterpret_cast(df_structure); + p_table["army_controller2"] = reinterpret_cast(&(df_structure->army_controller2)) - reinterpret_cast(df_structure); + p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); + p_table["unk_14"] = reinterpret_cast(&(df_structure->unk_14)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["unk_15"] = reinterpret_cast(&(df_structure->unk_15)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); + p_table["squads"] = reinterpret_cast(&(df_structure->squads)) - reinterpret_cast(df_structure); + p_table["messengers"] = reinterpret_cast(&(df_structure->messengers)) - reinterpret_cast(df_structure); + p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); + p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); + p_table["details"] = reinterpret_cast(&(df_structure->details)) - reinterpret_cast(df_structure); + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_civlistst__T_artifact_details_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk_1"] = reinterpret_cast(&(df_structure->unk_1)) - reinterpret_cast(df_structure); + p_table["last_site"] = reinterpret_cast(&(df_structure->last_site)) - reinterpret_cast(df_structure); + p_table["unk_3"] = reinterpret_cast(&(df_structure->unk_3)) - reinterpret_cast(df_structure); + p_table["last_holder_hf"] = reinterpret_cast(&(df_structure->last_holder_hf)) - reinterpret_cast(df_structure); + p_table["unk_5"] = reinterpret_cast(&(df_structure->unk_5)) - reinterpret_cast(df_structure); + p_table["unk_6"] = reinterpret_cast(&(df_structure->unk_6)) - reinterpret_cast(df_structure); + p_table["unk_7"] = reinterpret_cast(&(df_structure->unk_7)) - reinterpret_cast(df_structure); + p_table["unk_8"] = reinterpret_cast(&(df_structure->unk_8)) - reinterpret_cast(df_structure); + p_table["unk_9"] = reinterpret_cast(&(df_structure->unk_9)) - reinterpret_cast(df_structure); + p_table["unk_10"] = reinterpret_cast(&(df_structure->unk_10)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_civlistst__T_rumors_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["artifact_or_entity"] = reinterpret_cast(&(df_structure->artifact_or_entity)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["histfig_or_entity"] = reinterpret_cast(&(df_structure->histfig_or_entity)) - reinterpret_cast(df_structure); + p_table["histfig2"] = reinterpret_cast(&(df_structure->histfig2)) - reinterpret_cast(df_structure); + p_table["year1"] = reinterpret_cast(&(df_structure->year1)) - reinterpret_cast(df_structure); + p_table["year_tick1"] = reinterpret_cast(&(df_structure->year_tick1)) - reinterpret_cast(df_structure); + p_table["year2"] = reinterpret_cast(&(df_structure->year2)) - reinterpret_cast(df_structure); + p_table["year_tick2"] = reinterpret_cast(&(df_structure->year_tick2)) - reinterpret_cast(df_structure); + p_table["unk_3"] = reinterpret_cast(&(df_structure->unk_3)) - reinterpret_cast(df_structure); + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_civlistst__T_unk_cache__T_tmp1_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["values"] = reinterpret_cast(&(df_structure->values)) - reinterpret_cast(df_structure); + p_table["count"] = reinterpret_cast(&(df_structure->count)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_civlistst__T_unk_cache__T_tmp2_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_civlistst__T_unk_cache_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["tmp1"] = reinterpret_cast(&(df_structure->tmp1)) - reinterpret_cast(df_structure); + p_table["tmp2"] = reinterpret_cast(&(df_structure->tmp2)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_civlistst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["page"] = reinterpret_cast(&(df_structure->page)) - reinterpret_cast(df_structure); + p_table["sel_idx"] = reinterpret_cast(&(df_structure->sel_idx)) - reinterpret_cast(df_structure); + p_table["entities"] = reinterpret_cast(&(df_structure->entities)) - reinterpret_cast(df_structure); + p_table["map_x"] = reinterpret_cast(&(df_structure->map_x)) - reinterpret_cast(df_structure); + p_table["map_y"] = reinterpret_cast(&(df_structure->map_y)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["site_artifacts"] = reinterpret_cast(&(df_structure->site_artifacts)) - reinterpret_cast(df_structure); + p_table["site_prisoners"] = reinterpret_cast(&(df_structure->site_prisoners)) - reinterpret_cast(df_structure); + p_table["site_is_linked"] = reinterpret_cast(&(df_structure->site_is_linked)) - reinterpret_cast(df_structure); + p_table["unk_site_nemesis"] = reinterpret_cast(&(df_structure->unk_site_nemesis)) - reinterpret_cast(df_structure); + p_table["missions"] = reinterpret_cast(&(df_structure->missions)) - reinterpret_cast(df_structure); + p_table["mission_idx"] = reinterpret_cast(&(df_structure->mission_idx)) - reinterpret_cast(df_structure); + p_table["squads"] = reinterpret_cast(&(df_structure->squads)) - reinterpret_cast(df_structure); + p_table["squads_travelling"] = reinterpret_cast(&(df_structure->squads_travelling)) - reinterpret_cast(df_structure); + p_table["squad_idx"] = reinterpret_cast(&(df_structure->squad_idx)) - reinterpret_cast(df_structure); + p_table["messengers"] = reinterpret_cast(&(df_structure->messengers)) - reinterpret_cast(df_structure); + p_table["messengers_travelling"] = reinterpret_cast(&(df_structure->messengers_travelling)) - reinterpret_cast(df_structure); + p_table["messenger_idx"] = reinterpret_cast(&(df_structure->messenger_idx)) - reinterpret_cast(df_structure); + p_table["workers"] = reinterpret_cast(&(df_structure->workers)) - reinterpret_cast(df_structure); + p_table["worker_idx"] = reinterpret_cast(&(df_structure->worker_idx)) - reinterpret_cast(df_structure); + p_table["people"] = reinterpret_cast(&(df_structure->people)) - reinterpret_cast(df_structure); + p_table["person_idx"] = reinterpret_cast(&(df_structure->person_idx)) - reinterpret_cast(df_structure); + p_table["person_x"] = reinterpret_cast(&(df_structure->person_x)) - reinterpret_cast(df_structure); + p_table["person_y"] = reinterpret_cast(&(df_structure->person_y)) - reinterpret_cast(df_structure); + p_table["artifact_records"] = reinterpret_cast(&(df_structure->artifact_records)) - reinterpret_cast(df_structure); + p_table["artifact_details"] = reinterpret_cast(&(df_structure->artifact_details)) - reinterpret_cast(df_structure); + p_table["artifact_idx"] = reinterpret_cast(&(df_structure->artifact_idx)) - reinterpret_cast(df_structure); + p_table["artifact_x"] = reinterpret_cast(&(df_structure->artifact_x)) - reinterpret_cast(df_structure); + p_table["artifact_y"] = reinterpret_cast(&(df_structure->artifact_y)) - reinterpret_cast(df_structure); + p_table["artifact_desc"] = reinterpret_cast(&(df_structure->artifact_desc)) - reinterpret_cast(df_structure); + p_table["artifact_claimed_by_unk1"] = reinterpret_cast(&(df_structure->artifact_claimed_by_unk1)) - reinterpret_cast(df_structure); + p_table["artifact_claimed_by_unk2"] = reinterpret_cast(&(df_structure->artifact_claimed_by_unk2)) - reinterpret_cast(df_structure); + p_table["artifact_claimed_by_hf"] = reinterpret_cast(&(df_structure->artifact_claimed_by_hf)) - reinterpret_cast(df_structure); + p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); + p_table["histfig2"] = reinterpret_cast(&(df_structure->histfig2)) - reinterpret_cast(df_structure); + p_table["rumors"] = reinterpret_cast(&(df_structure->rumors)) - reinterpret_cast(df_structure); + p_table["unk_24"] = reinterpret_cast(&(df_structure->unk_24)) - reinterpret_cast(df_structure); + p_table["unk_25"] = reinterpret_cast(&(df_structure->unk_25)) - reinterpret_cast(df_structure); + p_table["news_x"] = reinterpret_cast(&(df_structure->news_x)) - reinterpret_cast(df_structure); + p_table["news_y"] = reinterpret_cast(&(df_structure->news_y)) - reinterpret_cast(df_structure); + p_table["unk_28"] = reinterpret_cast(&(df_structure->unk_28)) - reinterpret_cast(df_structure); + p_table["unk_29"] = reinterpret_cast(&(df_structure->unk_29)) - reinterpret_cast(df_structure); + p_table["unk_2a"] = reinterpret_cast(&(df_structure->unk_2a)) - reinterpret_cast(df_structure); + p_table["unk_2b"] = reinterpret_cast(&(df_structure->unk_2b)) - reinterpret_cast(df_structure); + p_table["unk_2c"] = reinterpret_cast(&(df_structure->unk_2c)) - reinterpret_cast(df_structure); + p_table["unk_2d"] = reinterpret_cast(&(df_structure->unk_2d)) - reinterpret_cast(df_structure); + p_table["unk_2e"] = reinterpret_cast(&(df_structure->unk_2e)) - reinterpret_cast(df_structure); + p_table["unk_cache_ptr"] = reinterpret_cast(&(df_structure->unk_cache_ptr)) - reinterpret_cast(df_structure); + p_table["unk_cache"] = reinterpret_cast(&(df_structure->unk_cache)) - reinterpret_cast(df_structure); + p_table["news_text"] = reinterpret_cast(&(df_structure->news_text)) - reinterpret_cast(df_structure); + p_table["show_holdings"] = reinterpret_cast(&(df_structure->show_holdings)) - reinterpret_cast(df_structure); + p_table["show_legend"] = reinterpret_cast(&(df_structure->show_legend)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_createquotast_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["building_id"] = reinterpret_cast(&(df_structure->building_id)) - reinterpret_cast(df_structure); + p_table["str_filter"] = reinterpret_cast(&(df_structure->str_filter)) - reinterpret_cast(df_structure); + p_table["sel_idx"] = reinterpret_cast(&(df_structure->sel_idx)) - reinterpret_cast(df_structure); + p_table["orders"] = reinterpret_cast(&(df_structure->orders)) - reinterpret_cast(df_structure); + p_table["all_orders"] = reinterpret_cast(&(df_structure->all_orders)) - reinterpret_cast(df_structure); + p_table["want_quantity"] = reinterpret_cast(&(df_structure->want_quantity)) - reinterpret_cast(df_structure); + p_table["str_quantity"] = reinterpret_cast(&(df_structure->str_quantity)) - reinterpret_cast(df_structure); + p_table["workshop_profile_orders"] = reinterpret_cast(&(df_structure->workshop_profile_orders)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_customize_unitst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); + p_table["editing_nickname"] = reinterpret_cast(&(df_structure->editing_nickname)) - reinterpret_cast(df_structure); + p_table["editing_profession"] = reinterpret_cast(&(df_structure->editing_profession)) - reinterpret_cast(df_structure); + p_table["previous_name"] = reinterpret_cast(&(df_structure->previous_name)) - reinterpret_cast(df_structure); + p_table["has_name"] = reinterpret_cast(&(df_structure->has_name)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_dungeon_monsterstatusst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); + p_table["inventory_cursor"] = reinterpret_cast(&(df_structure->inventory_cursor)) - reinterpret_cast(df_structure); + p_table["body_part_cursor"] = reinterpret_cast(&(df_structure->body_part_cursor)) - reinterpret_cast(df_structure); + p_table["body_part"] = reinterpret_cast(&(df_structure->body_part)) - reinterpret_cast(df_structure); + p_table["view_skills"] = reinterpret_cast(&(df_structure->view_skills)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["length"] = reinterpret_cast(&(df_structure->length)) - reinterpret_cast(df_structure); + p_table["scroll_pos"] = reinterpret_cast(&(df_structure->scroll_pos)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["inventory"] = reinterpret_cast(&(df_structure->inventory)) - reinterpret_cast(df_structure); + p_table["spatters"] = reinterpret_cast(&(df_structure->spatters)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_dungeon_wrestlest__T_unk1_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["weapons"] = reinterpret_cast(&(df_structure->weapons)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); + p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); + p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); + p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); + p_table["anon_11"] = reinterpret_cast(&(df_structure->anon_11)) - reinterpret_cast(df_structure); + p_table["anon_12"] = reinterpret_cast(&(df_structure->anon_12)) - reinterpret_cast(df_structure); + p_table["anon_13"] = reinterpret_cast(&(df_structure->anon_13)) - reinterpret_cast(df_structure); + p_table["anon_14"] = reinterpret_cast(&(df_structure->anon_14)) - reinterpret_cast(df_structure); + p_table["anon_15"] = reinterpret_cast(&(df_structure->anon_15)) - reinterpret_cast(df_structure); + p_table["anon_16"] = reinterpret_cast(&(df_structure->anon_16)) - reinterpret_cast(df_structure); + p_table["anon_17"] = reinterpret_cast(&(df_structure->anon_17)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_dungeon_wrestlest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["player"] = reinterpret_cast(&(df_structure->player)) - reinterpret_cast(df_structure); + p_table["target"] = reinterpret_cast(&(df_structure->target)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); + p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); + p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); + p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_dungeonmodest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["x"] = reinterpret_cast(&(df_structure->x)) - reinterpret_cast(df_structure); + p_table["y"] = reinterpret_cast(&(df_structure->y)) - reinterpret_cast(df_structure); + p_table["z"] = reinterpret_cast(&(df_structure->z)) - reinterpret_cast(df_structure); + p_table["announce_y"] = reinterpret_cast(&(df_structure->announce_y)) - reinterpret_cast(df_structure); + p_table["announce_idx"] = reinterpret_cast(&(df_structure->announce_idx)) - reinterpret_cast(df_structure); + p_table["announce_more"] = reinterpret_cast(&(df_structure->announce_more)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_dwarfmodest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["shown_site_name"] = reinterpret_cast(&(df_structure->shown_site_name)) - reinterpret_cast(df_structure); + p_table["jeweler_mat_count"] = reinterpret_cast(&(df_structure->jeweler_mat_count)) - reinterpret_cast(df_structure); + p_table["jeweler_cutgem"] = reinterpret_cast(&(df_structure->jeweler_cutgem)) - reinterpret_cast(df_structure); + p_table["jeweler_encrust"] = reinterpret_cast(&(df_structure->jeweler_encrust)) - reinterpret_cast(df_structure); + p_table["unit_labors_sidemenu"] = reinterpret_cast(&(df_structure->unit_labors_sidemenu)) - reinterpret_cast(df_structure); + p_table["unit_labors_sidemenu_uplevel"] = reinterpret_cast(&(df_structure->unit_labors_sidemenu_uplevel)) - reinterpret_cast(df_structure); + p_table["unit_labors_sidemenu_uplevel_idx"] = reinterpret_cast(&(df_structure->unit_labors_sidemenu_uplevel_idx)) - reinterpret_cast(df_structure); + p_table["sideSubmenu"] = reinterpret_cast(&(df_structure->sideSubmenu)) - reinterpret_cast(df_structure); + p_table["keyRepeat"] = reinterpret_cast(&(df_structure->keyRepeat)) - reinterpret_cast(df_structure); + p_table["trained_animals"] = reinterpret_cast(&(df_structure->trained_animals)) - reinterpret_cast(df_structure); + p_table["trained_animal_idx"] = reinterpret_cast(&(df_structure->trained_animal_idx)) - reinterpret_cast(df_structure); + p_table["number_assigned_hunt"] = reinterpret_cast(&(df_structure->number_assigned_hunt)) - reinterpret_cast(df_structure); + p_table["number_assigned_war"] = reinterpret_cast(&(df_structure->number_assigned_war)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_entityst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["entity"] = reinterpret_cast(&(df_structure->entity)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["important_leader_nemesis"] = reinterpret_cast(&(df_structure->important_leader_nemesis)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["start_idx"] = reinterpret_cast(&(df_structure->start_idx)) - reinterpret_cast(df_structure); + p_table["agreements"] = reinterpret_cast(&(df_structure->agreements)) - reinterpret_cast(df_structure); + p_table["agreement_status"] = reinterpret_cast(&(df_structure->agreement_status)) - reinterpret_cast(df_structure); + p_table["agreement_cursor"] = reinterpret_cast(&(df_structure->agreement_cursor)) - reinterpret_cast(df_structure); + p_table["page"] = reinterpret_cast(&(df_structure->page)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_export_graphical_mapst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["x_iterator"] = reinterpret_cast(&(df_structure->x_iterator)) - reinterpret_cast(df_structure); + p_table["y_iterator"] = reinterpret_cast(&(df_structure->y_iterator)) - reinterpret_cast(df_structure); + p_table["rgb_buffer"] = reinterpret_cast(&(df_structure->rgb_buffer)) - reinterpret_cast(df_structure); + p_table["map_width"] = reinterpret_cast(&(df_structure->map_width)) - reinterpret_cast(df_structure); + p_table["map_height"] = reinterpret_cast(&(df_structure->map_height)) - reinterpret_cast(df_structure); + p_table["numtiles_map_width"] = reinterpret_cast(&(df_structure->numtiles_map_width)) - reinterpret_cast(df_structure); + p_table["numtiles_map_height"] = reinterpret_cast(&(df_structure->numtiles_map_height)) - reinterpret_cast(df_structure); + p_table["in_export"] = reinterpret_cast(&(df_structure->in_export)) - reinterpret_cast(df_structure); + p_table["sel_idx"] = reinterpret_cast(&(df_structure->sel_idx)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_export_regionst__T_unk1_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_export_regionst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); + p_table["compressor"] = reinterpret_cast(&(df_structure->compressor)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_game_cleanerst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["state"] = reinterpret_cast(&(df_structure->state)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_image_creatorst__T_descriptions_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["line"] = reinterpret_cast(&(df_structure->line)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_image_creatorst__T_sites_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["trans_name"] = reinterpret_cast(&(df_structure->trans_name)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_image_creatorst__T_entities_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["entity"] = reinterpret_cast(&(df_structure->entity)) - reinterpret_cast(df_structure); + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["trans_name"] = reinterpret_cast(&(df_structure->trans_name)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_image_creatorst__T_plants_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["plant"] = reinterpret_cast(&(df_structure->plant)) - reinterpret_cast(df_structure); + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_image_creatorst__T_trees_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["tree"] = reinterpret_cast(&(df_structure->tree)) - reinterpret_cast(df_structure); + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_image_creatorst__T_shapes_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["shape"] = reinterpret_cast(&(df_structure->shape)) - reinterpret_cast(df_structure); + p_table["shape2"] = reinterpret_cast(&(df_structure->shape2)) - reinterpret_cast(df_structure); + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_image_creatorst__T_objects_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); + p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_image_creatorst__T_artifacts_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["trans_name"] = reinterpret_cast(&(df_structure->trans_name)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_image_creatorst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["title"] = reinterpret_cast(&(df_structure->title)) - reinterpret_cast(df_structure); + p_table["modes"] = reinterpret_cast(&(df_structure->modes)) - reinterpret_cast(df_structure); + p_table["mode_cursor"] = reinterpret_cast(&(df_structure->mode_cursor)) - reinterpret_cast(df_structure); + p_table["mode"] = reinterpret_cast(&(df_structure->mode)) - reinterpret_cast(df_structure); + p_table["item_idx"] = reinterpret_cast(&(df_structure->item_idx)) - reinterpret_cast(df_structure); + p_table["in_filter"] = reinterpret_cast(&(df_structure->in_filter)) - reinterpret_cast(df_structure); + p_table["filter"] = reinterpret_cast(&(df_structure->filter)) - reinterpret_cast(df_structure); + p_table["descriptions"] = reinterpret_cast(&(df_structure->descriptions)) - reinterpret_cast(df_structure); + p_table["sites"] = reinterpret_cast(&(df_structure->sites)) - reinterpret_cast(df_structure); + p_table["entities"] = reinterpret_cast(&(df_structure->entities)) - reinterpret_cast(df_structure); + p_table["plants"] = reinterpret_cast(&(df_structure->plants)) - reinterpret_cast(df_structure); + p_table["trees"] = reinterpret_cast(&(df_structure->trees)) - reinterpret_cast(df_structure); + p_table["shapes"] = reinterpret_cast(&(df_structure->shapes)) - reinterpret_cast(df_structure); + p_table["objects"] = reinterpret_cast(&(df_structure->objects)) - reinterpret_cast(df_structure); + p_table["artifacts"] = reinterpret_cast(&(df_structure->artifacts)) - reinterpret_cast(df_structure); + p_table["histfigs"] = reinterpret_cast(&(df_structure->histfigs)) - reinterpret_cast(df_structure); + p_table["relationships"] = reinterpret_cast(&(df_structure->relationships)) - reinterpret_cast(df_structure); + p_table["histfigs_filtered"] = reinterpret_cast(&(df_structure->histfigs_filtered)) - reinterpret_cast(df_structure); + p_table["sites_filtered"] = reinterpret_cast(&(df_structure->sites_filtered)) - reinterpret_cast(df_structure); + p_table["entities_filtered"] = reinterpret_cast(&(df_structure->entities_filtered)) - reinterpret_cast(df_structure); + p_table["unkvec_1"] = reinterpret_cast(&(df_structure->unkvec_1)) - reinterpret_cast(df_structure); + p_table["existing_images_filtered"] = reinterpret_cast(&(df_structure->existing_images_filtered)) - reinterpret_cast(df_structure); + p_table["image"] = reinterpret_cast(&(df_structure->image)) - reinterpret_cast(df_structure); + p_table["races_filtered"] = reinterpret_cast(&(df_structure->races_filtered)) - reinterpret_cast(df_structure); + p_table["castes_filtered"] = reinterpret_cast(&(df_structure->castes_filtered)) - reinterpret_cast(df_structure); + p_table["histfigs_filtered2"] = reinterpret_cast(&(df_structure->histfigs_filtered2)) - reinterpret_cast(df_structure); + p_table["plants_filtered"] = reinterpret_cast(&(df_structure->plants_filtered)) - reinterpret_cast(df_structure); + p_table["trees_filtered"] = reinterpret_cast(&(df_structure->trees_filtered)) - reinterpret_cast(df_structure); + p_table["shapes_filtered1"] = reinterpret_cast(&(df_structure->shapes_filtered1)) - reinterpret_cast(df_structure); + p_table["shapes_filtered2"] = reinterpret_cast(&(df_structure->shapes_filtered2)) - reinterpret_cast(df_structure); + p_table["item_types_filtered"] = reinterpret_cast(&(df_structure->item_types_filtered)) - reinterpret_cast(df_structure); + p_table["item_subtypes_filtered"] = reinterpret_cast(&(df_structure->item_subtypes_filtered)) - reinterpret_cast(df_structure); + p_table["artifacts_filtered"] = reinterpret_cast(&(df_structure->artifacts_filtered)) - reinterpret_cast(df_structure); + p_table["relationships_filtered"] = reinterpret_cast(&(df_structure->relationships_filtered)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["relationship_count"] = reinterpret_cast(&(df_structure->relationship_count)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["relationship_targets"] = reinterpret_cast(&(df_structure->relationship_targets)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); + p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); + p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); + p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); + p_table["anon_11"] = reinterpret_cast(&(df_structure->anon_11)) - reinterpret_cast(df_structure); + p_table["warning_flags"] = reinterpret_cast(&(df_structure->warning_flags)) - reinterpret_cast(df_structure); + p_table["deletable_elements"] = reinterpret_cast(&(df_structure->deletable_elements)) - reinterpret_cast(df_structure); + p_table["anon_12"] = reinterpret_cast(&(df_structure->anon_12)) - reinterpret_cast(df_structure); + p_table["anon_13"] = reinterpret_cast(&(df_structure->anon_13)) - reinterpret_cast(df_structure); + p_table["order"] = reinterpret_cast(&(df_structure->order)) - reinterpret_cast(df_structure); + p_table["anon_14"] = reinterpret_cast(&(df_structure->anon_14)) - reinterpret_cast(df_structure); + p_table["entity"] = reinterpret_cast(&(df_structure->entity)) - reinterpret_cast(df_structure); + p_table["anon_15"] = reinterpret_cast(&(df_structure->anon_15)) - reinterpret_cast(df_structure); + p_table["anon_16"] = reinterpret_cast(&(df_structure->anon_16)) - reinterpret_cast(df_structure); + p_table["anon_17"] = reinterpret_cast(&(df_structure->anon_17)) - reinterpret_cast(df_structure); + p_table["anon_18"] = reinterpret_cast(&(df_structure->anon_18)) - reinterpret_cast(df_structure); + p_table["unk_50"] = reinterpret_cast(&(df_structure->unk_50)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_itemst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["item"] = reinterpret_cast(&(df_structure->item)) - reinterpret_cast(df_structure); + p_table["entry_ref"] = reinterpret_cast(&(df_structure->entry_ref)) - reinterpret_cast(df_structure); + p_table["entry_indent"] = reinterpret_cast(&(df_structure->entry_indent)) - reinterpret_cast(df_structure); + p_table["entry_spatters"] = reinterpret_cast(&(df_structure->entry_spatters)) - reinterpret_cast(df_structure); + p_table["entry_string"] = reinterpret_cast(&(df_structure->entry_string)) - reinterpret_cast(df_structure); + p_table["entry_reaction"] = reinterpret_cast(&(df_structure->entry_reaction)) - reinterpret_cast(df_structure); + p_table["cursor_pos"] = reinterpret_cast(&(df_structure->cursor_pos)) - reinterpret_cast(df_structure); + p_table["caption_uses"] = reinterpret_cast(&(df_structure->caption_uses)) - reinterpret_cast(df_structure); + p_table["caption_contents"] = reinterpret_cast(&(df_structure->caption_contents)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_jobst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["job"] = reinterpret_cast(&(df_structure->job)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_joblistst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["allow_zoom"] = reinterpret_cast(&(df_structure->allow_zoom)) - reinterpret_cast(df_structure); + p_table["cursor_pos"] = reinterpret_cast(&(df_structure->cursor_pos)) - reinterpret_cast(df_structure); + p_table["jobs"] = reinterpret_cast(&(df_structure->jobs)) - reinterpret_cast(df_structure); + p_table["units"] = reinterpret_cast(&(df_structure->units)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_jobmanagementst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["sel_idx"] = reinterpret_cast(&(df_structure->sel_idx)) - reinterpret_cast(df_structure); + p_table["in_max_workshops"] = reinterpret_cast(&(df_structure->in_max_workshops)) - reinterpret_cast(df_structure); + p_table["max_workshops"] = reinterpret_cast(&(df_structure->max_workshops)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_justicest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["jails_needed"] = reinterpret_cast(&(df_structure->jails_needed)) - reinterpret_cast(df_structure); + p_table["jails_present"] = reinterpret_cast(&(df_structure->jails_present)) - reinterpret_cast(df_structure); + p_table["cur_column"] = reinterpret_cast(&(df_structure->cur_column)) - reinterpret_cast(df_structure); + p_table["convicts"] = reinterpret_cast(&(df_structure->convicts)) - reinterpret_cast(df_structure); + p_table["cases"] = reinterpret_cast(&(df_structure->cases)) - reinterpret_cast(df_structure); + p_table["sel_idx_current"] = reinterpret_cast(&(df_structure->sel_idx_current)) - reinterpret_cast(df_structure); + p_table["sel_idx_cold"] = reinterpret_cast(&(df_structure->sel_idx_cold)) - reinterpret_cast(df_structure); + p_table["sel_idx_recent"] = reinterpret_cast(&(df_structure->sel_idx_recent)) - reinterpret_cast(df_structure); + p_table["cold_cases"] = reinterpret_cast(&(df_structure->cold_cases)) - reinterpret_cast(df_structure); + p_table["count_cold"] = reinterpret_cast(&(df_structure->count_cold)) - reinterpret_cast(df_structure); + p_table["count_recent"] = reinterpret_cast(&(df_structure->count_recent)) - reinterpret_cast(df_structure); + p_table["cursor_right"] = reinterpret_cast(&(df_structure->cursor_right)) - reinterpret_cast(df_structure); + p_table["convictions"] = reinterpret_cast(&(df_structure->convictions)) - reinterpret_cast(df_structure); + p_table["punishment"] = reinterpret_cast(&(df_structure->punishment)) - reinterpret_cast(df_structure); + p_table["convict_choices"] = reinterpret_cast(&(df_structure->convict_choices)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_kitchenprefst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["cursor"] = reinterpret_cast(&(df_structure->cursor)) - reinterpret_cast(df_structure); + p_table["page"] = reinterpret_cast(&(df_structure->page)) - reinterpret_cast(df_structure); + p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); + p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["count"] = reinterpret_cast(&(df_structure->count)) - reinterpret_cast(df_structure); + p_table["forbidden"] = reinterpret_cast(&(df_structure->forbidden)) - reinterpret_cast(df_structure); + p_table["possible"] = reinterpret_cast(&(df_structure->possible)) - reinterpret_cast(df_structure); + p_table["item_str"] = reinterpret_cast(&(df_structure->item_str)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_layer_arena_creaturest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["in_adding_item"] = reinterpret_cast(&(df_structure->in_adding_item)) - reinterpret_cast(df_structure); + p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); + p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["cur_side"] = reinterpret_cast(&(df_structure->cur_side)) - reinterpret_cast(df_structure); + p_table["cur_interaction"] = reinterpret_cast(&(df_structure->cur_interaction)) - reinterpret_cast(df_structure); + p_table["filter"] = reinterpret_cast(&(df_structure->filter)) - reinterpret_cast(df_structure); + p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); + p_table["caste"] = reinterpret_cast(&(df_structure->caste)) - reinterpret_cast(df_structure); +} + +void generate_assign_trade_status_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["item"] = reinterpret_cast(&(df_structure->item)) - reinterpret_cast(df_structure); + p_table["distance"] = reinterpret_cast(&(df_structure->distance)) - reinterpret_cast(df_structure); + p_table["status"] = reinterpret_cast(&(df_structure->status)) - reinterpret_cast(df_structure); + p_table["unk"] = reinterpret_cast(&(df_structure->unk)) - reinterpret_cast(df_structure); + p_table["value"] = reinterpret_cast(&(df_structure->value)) - reinterpret_cast(df_structure); + p_table["weight"] = reinterpret_cast(&(df_structure->weight)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_layer_assigntradest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["info"] = reinterpret_cast(&(df_structure->info)) - reinterpret_cast(df_structure); + p_table["depot"] = reinterpret_cast(&(df_structure->depot)) - reinterpret_cast(df_structure); + p_table["lists"] = reinterpret_cast(&(df_structure->lists)) - reinterpret_cast(df_structure); + p_table["visible_lists"] = reinterpret_cast(&(df_structure->visible_lists)) - reinterpret_cast(df_structure); + p_table["sort_distance"] = reinterpret_cast(&(df_structure->sort_distance)) - reinterpret_cast(df_structure); + p_table["pending_on_top"] = reinterpret_cast(&(df_structure->pending_on_top)) - reinterpret_cast(df_structure); + p_table["filter_mandates"] = reinterpret_cast(&(df_structure->filter_mandates)) - reinterpret_cast(df_structure); + p_table["filter"] = reinterpret_cast(&(df_structure->filter)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_layer_choose_language_namest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["entity"] = reinterpret_cast(&(df_structure->entity)) - reinterpret_cast(df_structure); + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["unk1a"] = reinterpret_cast(&(df_structure->unk1a)) - reinterpret_cast(df_structure); + p_table["current_component"] = reinterpret_cast(&(df_structure->current_component)) - reinterpret_cast(df_structure); + p_table["unk1c"] = reinterpret_cast(&(df_structure->unk1c)) - reinterpret_cast(df_structure); + p_table["dictionary"] = reinterpret_cast(&(df_structure->dictionary)) - reinterpret_cast(df_structure); + p_table["list_word"] = reinterpret_cast(&(df_structure->list_word)) - reinterpret_cast(df_structure); + p_table["list_part"] = reinterpret_cast(&(df_structure->list_part)) - reinterpret_cast(df_structure); + p_table["selector"] = reinterpret_cast(&(df_structure->selector)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_layer_currencyst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_layer_export_play_mapst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_layer_militaryst__T_squads_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["list"] = reinterpret_cast(&(df_structure->list)) - reinterpret_cast(df_structure); + p_table["leader_positions"] = reinterpret_cast(&(df_structure->leader_positions)) - reinterpret_cast(df_structure); + p_table["leader_assignments"] = reinterpret_cast(&(df_structure->leader_assignments)) - reinterpret_cast(df_structure); + p_table["can_appoint"] = reinterpret_cast(&(df_structure->can_appoint)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_layer_militaryst__T_positions_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["assigned"] = reinterpret_cast(&(df_structure->assigned)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["skill"] = reinterpret_cast(&(df_structure->skill)) - reinterpret_cast(df_structure); + p_table["unk_84"] = reinterpret_cast(&(df_structure->unk_84)) - reinterpret_cast(df_structure); + p_table["candidates"] = reinterpret_cast(&(df_structure->candidates)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_layer_militaryst__T_squad_members_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["profession"] = reinterpret_cast(&(df_structure->profession)) - reinterpret_cast(df_structure); + p_table["count"] = reinterpret_cast(&(df_structure->count)) - reinterpret_cast(df_structure); + p_table["max_count"] = reinterpret_cast(&(df_structure->max_count)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_layer_militaryst__T_equip__T_assigned_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["spec"] = reinterpret_cast(&(df_structure->spec)) - reinterpret_cast(df_structure); + p_table["category"] = reinterpret_cast(&(df_structure->category)) - reinterpret_cast(df_structure); + p_table["index"] = reinterpret_cast(&(df_structure->index)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_layer_militaryst__T_equip__T_uniform_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["subtype"] = reinterpret_cast(&(df_structure->subtype)) - reinterpret_cast(df_structure); + p_table["category"] = reinterpret_cast(&(df_structure->category)) - reinterpret_cast(df_structure); + p_table["index"] = reinterpret_cast(&(df_structure->index)) - reinterpret_cast(df_structure); + p_table["info"] = reinterpret_cast(&(df_structure->info)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_layer_militaryst__T_equip__T_add_item_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["subtype"] = reinterpret_cast(&(df_structure->subtype)) - reinterpret_cast(df_structure); + p_table["indiv_choice"] = reinterpret_cast(&(df_structure->indiv_choice)) - reinterpret_cast(df_structure); + p_table["foreign"] = reinterpret_cast(&(df_structure->foreign)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_layer_militaryst__T_equip__T_material_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["generic"] = reinterpret_cast(&(df_structure->generic)) - reinterpret_cast(df_structure); + p_table["specific"] = reinterpret_cast(&(df_structure->specific)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_layer_militaryst__T_equip__T_color_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["dye"] = reinterpret_cast(&(df_structure->dye)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_layer_militaryst__T_equip_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mode"] = reinterpret_cast(&(df_structure->mode)) - reinterpret_cast(df_structure); + p_table["squads"] = reinterpret_cast(&(df_structure->squads)) - reinterpret_cast(df_structure); + p_table["units"] = reinterpret_cast(&(df_structure->units)) - reinterpret_cast(df_structure); + p_table["specific_items"] = reinterpret_cast(&(df_structure->specific_items)) - reinterpret_cast(df_structure); + p_table["prio_in_move"] = reinterpret_cast(&(df_structure->prio_in_move)) - reinterpret_cast(df_structure); + p_table["assigned"] = reinterpret_cast(&(df_structure->assigned)) - reinterpret_cast(df_structure); + p_table["assigned_items"] = reinterpret_cast(&(df_structure->assigned_items)) - reinterpret_cast(df_structure); + p_table["edit_spec"] = reinterpret_cast(&(df_structure->edit_spec)) - reinterpret_cast(df_structure); + p_table["uniforms"] = reinterpret_cast(&(df_structure->uniforms)) - reinterpret_cast(df_structure); + p_table["uniform"] = reinterpret_cast(&(df_structure->uniform)) - reinterpret_cast(df_structure); + p_table["edit_mode"] = reinterpret_cast(&(df_structure->edit_mode)) - reinterpret_cast(df_structure); + p_table["unk_1ec"] = reinterpret_cast(&(df_structure->unk_1ec)) - reinterpret_cast(df_structure); + p_table["add_item"] = reinterpret_cast(&(df_structure->add_item)) - reinterpret_cast(df_structure); + p_table["material"] = reinterpret_cast(&(df_structure->material)) - reinterpret_cast(df_structure); + p_table["color"] = reinterpret_cast(&(df_structure->color)) - reinterpret_cast(df_structure); + p_table["in_name_uniform"] = reinterpret_cast(&(df_structure->in_name_uniform)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_layer_militaryst__T_ammo__T_add_item_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["subtype"] = reinterpret_cast(&(df_structure->subtype)) - reinterpret_cast(df_structure); + p_table["foreign"] = reinterpret_cast(&(df_structure->foreign)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_layer_militaryst__T_ammo__T_material_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["generic"] = reinterpret_cast(&(df_structure->generic)) - reinterpret_cast(df_structure); + p_table["specific"] = reinterpret_cast(&(df_structure->specific)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_layer_militaryst__T_ammo_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["squads"] = reinterpret_cast(&(df_structure->squads)) - reinterpret_cast(df_structure); + p_table["in_add_item"] = reinterpret_cast(&(df_structure->in_add_item)) - reinterpret_cast(df_structure); + p_table["in_set_material"] = reinterpret_cast(&(df_structure->in_set_material)) - reinterpret_cast(df_structure); + p_table["add_item"] = reinterpret_cast(&(df_structure->add_item)) - reinterpret_cast(df_structure); + p_table["material"] = reinterpret_cast(&(df_structure->material)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_layer_militaryst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["squads"] = reinterpret_cast(&(df_structure->squads)) - reinterpret_cast(df_structure); + p_table["positions"] = reinterpret_cast(&(df_structure->positions)) - reinterpret_cast(df_structure); + p_table["page"] = reinterpret_cast(&(df_structure->page)) - reinterpret_cast(df_structure); + p_table["num_squads"] = reinterpret_cast(&(df_structure->num_squads)) - reinterpret_cast(df_structure); + p_table["num_soldiers"] = reinterpret_cast(&(df_structure->num_soldiers)) - reinterpret_cast(df_structure); + p_table["num_active"] = reinterpret_cast(&(df_structure->num_active)) - reinterpret_cast(df_structure); + p_table["squad_members"] = reinterpret_cast(&(df_structure->squad_members)) - reinterpret_cast(df_structure); + p_table["in_create_squad"] = reinterpret_cast(&(df_structure->in_create_squad)) - reinterpret_cast(df_structure); + p_table["in_new_squad"] = reinterpret_cast(&(df_structure->in_new_squad)) - reinterpret_cast(df_structure); + p_table["unk_e6"] = reinterpret_cast(&(df_structure->unk_e6)) - reinterpret_cast(df_structure); + p_table["captain_positions"] = reinterpret_cast(&(df_structure->captain_positions)) - reinterpret_cast(df_structure); + p_table["new_position"] = reinterpret_cast(&(df_structure->new_position)) - reinterpret_cast(df_structure); + p_table["unk_fc"] = reinterpret_cast(&(df_structure->unk_fc)) - reinterpret_cast(df_structure); + p_table["in_rename_alert"] = reinterpret_cast(&(df_structure->in_rename_alert)) - reinterpret_cast(df_structure); + p_table["in_delete_alert"] = reinterpret_cast(&(df_structure->in_delete_alert)) - reinterpret_cast(df_structure); + p_table["unk_ff"] = reinterpret_cast(&(df_structure->unk_ff)) - reinterpret_cast(df_structure); + p_table["alert_squads"] = reinterpret_cast(&(df_structure->alert_squads)) - reinterpret_cast(df_structure); + p_table["equip"] = reinterpret_cast(&(df_structure->equip)) - reinterpret_cast(df_structure); + p_table["ammo"] = reinterpret_cast(&(df_structure->ammo)) - reinterpret_cast(df_structure); + p_table["supplies_squads"] = reinterpret_cast(&(df_structure->supplies_squads)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_layer_musicsoundst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + +} + +void generate_unit_storage_status_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["floor_pos"] = reinterpret_cast(&(df_structure->floor_pos)) - reinterpret_cast(df_structure); + p_table["chest_pos"] = reinterpret_cast(&(df_structure->chest_pos)) - reinterpret_cast(df_structure); + p_table["chest_capacity"] = reinterpret_cast(&(df_structure->chest_capacity)) - reinterpret_cast(df_structure); + p_table["cabinet_pos"] = reinterpret_cast(&(df_structure->cabinet_pos)) - reinterpret_cast(df_structure); + p_table["cabinet_capacity"] = reinterpret_cast(&(df_structure->cabinet_capacity)) - reinterpret_cast(df_structure); + p_table["weaponrack_pos"] = reinterpret_cast(&(df_structure->weaponrack_pos)) - reinterpret_cast(df_structure); + p_table["weaponrack_capacity"] = reinterpret_cast(&(df_structure->weaponrack_capacity)) - reinterpret_cast(df_structure); + p_table["armorstand_capacity"] = reinterpret_cast(&(df_structure->armorstand_capacity)) - reinterpret_cast(df_structure); + p_table["armorstand_pos"] = reinterpret_cast(&(df_structure->armorstand_pos)) - reinterpret_cast(df_structure); + p_table["num_owned_items"] = reinterpret_cast(&(df_structure->num_owned_items)) - reinterpret_cast(df_structure); + p_table["num_owned_chests"] = reinterpret_cast(&(df_structure->num_owned_chests)) - reinterpret_cast(df_structure); + p_table["num_owned_cabinets"] = reinterpret_cast(&(df_structure->num_owned_cabinets)) - reinterpret_cast(df_structure); + p_table["num_owned_weaponracks"] = reinterpret_cast(&(df_structure->num_owned_weaponracks)) - reinterpret_cast(df_structure); + p_table["num_owned_armorstands"] = reinterpret_cast(&(df_structure->num_owned_armorstands)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_layer_noblelistst__T_info_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); + p_table["nemesis"] = reinterpret_cast(&(df_structure->nemesis)) - reinterpret_cast(df_structure); + p_table["storage_status"] = reinterpret_cast(&(df_structure->storage_status)) - reinterpret_cast(df_structure); + p_table["position"] = reinterpret_cast(&(df_structure->position)) - reinterpret_cast(df_structure); + p_table["assignment"] = reinterpret_cast(&(df_structure->assignment)) - reinterpret_cast(df_structure); + p_table["group"] = reinterpret_cast(&(df_structure->group)) - reinterpret_cast(df_structure); + p_table["precedence"] = reinterpret_cast(&(df_structure->precedence)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_layer_noblelistst__T_candidates_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); + p_table["weight"] = reinterpret_cast(&(df_structure->weight)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_layer_noblelistst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mode"] = reinterpret_cast(&(df_structure->mode)) - reinterpret_cast(df_structure); + p_table["info"] = reinterpret_cast(&(df_structure->info)) - reinterpret_cast(df_structure); + p_table["candidates"] = reinterpret_cast(&(df_structure->candidates)) - reinterpret_cast(df_structure); + p_table["assignments"] = reinterpret_cast(&(df_structure->assignments)) - reinterpret_cast(df_structure); + p_table["histfigs"] = reinterpret_cast(&(df_structure->histfigs)) - reinterpret_cast(df_structure); + p_table["groups"] = reinterpret_cast(&(df_structure->groups)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_layer_overall_healthst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); + p_table["bits1"] = reinterpret_cast(&(df_structure->bits1)) - reinterpret_cast(df_structure); + p_table["bits2"] = reinterpret_cast(&(df_structure->bits2)) - reinterpret_cast(df_structure); + p_table["bits3"] = reinterpret_cast(&(df_structure->bits3)) - reinterpret_cast(df_structure); + p_table["x_cursor_pos"] = reinterpret_cast(&(df_structure->x_cursor_pos)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_layer_reactionst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_layer_squad_schedulest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["squads"] = reinterpret_cast(&(df_structure->squads)) - reinterpret_cast(df_structure); + p_table["swapped"] = reinterpret_cast(&(df_structure->swapped)) - reinterpret_cast(df_structure); + p_table["page_month"] = reinterpret_cast(&(df_structure->page_month)) - reinterpret_cast(df_structure); + p_table["cur_alert"] = reinterpret_cast(&(df_structure->cur_alert)) - reinterpret_cast(df_structure); + p_table["in_name_cell"] = reinterpret_cast(&(df_structure->in_name_cell)) - reinterpret_cast(df_structure); + p_table["in_give_order"] = reinterpret_cast(&(df_structure->in_give_order)) - reinterpret_cast(df_structure); + p_table["in_edit_order"] = reinterpret_cast(&(df_structure->in_edit_order)) - reinterpret_cast(df_structure); + p_table["order_list"] = reinterpret_cast(&(df_structure->order_list)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["order_month"] = reinterpret_cast(&(df_structure->order_month)) - reinterpret_cast(df_structure); + p_table["order_type"] = reinterpret_cast(&(df_structure->order_type)) - reinterpret_cast(df_structure); + p_table["burrows"] = reinterpret_cast(&(df_structure->burrows)) - reinterpret_cast(df_structure); + p_table["patrol_route"] = reinterpret_cast(&(df_structure->patrol_route)) - reinterpret_cast(df_structure); + p_table["min_soldiers"] = reinterpret_cast(&(df_structure->min_soldiers)) - reinterpret_cast(df_structure); + p_table["positions"] = reinterpret_cast(&(df_structure->positions)) - reinterpret_cast(df_structure); + p_table["station_point"] = reinterpret_cast(&(df_structure->station_point)) - reinterpret_cast(df_structure); + p_table["copy_item"] = reinterpret_cast(&(df_structure->copy_item)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_layer_stockpilest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["settings"] = reinterpret_cast(&(df_structure->settings)) - reinterpret_cast(df_structure); + p_table["cur_group"] = reinterpret_cast(&(df_structure->cur_group)) - reinterpret_cast(df_structure); + p_table["cur_list"] = reinterpret_cast(&(df_structure->cur_list)) - reinterpret_cast(df_structure); + p_table["group_ids"] = reinterpret_cast(&(df_structure->group_ids)) - reinterpret_cast(df_structure); + p_table["group_bits"] = reinterpret_cast(&(df_structure->group_bits)) - reinterpret_cast(df_structure); + p_table["list_ids"] = reinterpret_cast(&(df_structure->list_ids)) - reinterpret_cast(df_structure); + p_table["item_names"] = reinterpret_cast(&(df_structure->item_names)) - reinterpret_cast(df_structure); + p_table["item_status"] = reinterpret_cast(&(df_structure->item_status)) - reinterpret_cast(df_structure); + p_table["title"] = reinterpret_cast(&(df_structure->title)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_layer_stone_restrictionst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["stone_type"] = reinterpret_cast(&(df_structure->stone_type)) - reinterpret_cast(df_structure); + p_table["stone_economic"] = reinterpret_cast(&(df_structure->stone_economic)) - reinterpret_cast(df_structure); + p_table["type_tab"] = reinterpret_cast(&(df_structure->type_tab)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["use_name"] = reinterpret_cast(&(df_structure->use_name)) - reinterpret_cast(df_structure); + p_table["use_id"] = reinterpret_cast(&(df_structure->use_id)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_layer_unit_actionst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); + p_table["held_items"] = reinterpret_cast(&(df_structure->held_items)) - reinterpret_cast(df_structure); + p_table["reactions"] = reinterpret_cast(&(df_structure->reactions)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["group_name"] = reinterpret_cast(&(df_structure->group_name)) - reinterpret_cast(df_structure); + p_table["choice_items"] = reinterpret_cast(&(df_structure->choice_items)) - reinterpret_cast(df_structure); + p_table["sel_items"] = reinterpret_cast(&(df_structure->sel_items)) - reinterpret_cast(df_structure); + p_table["sel_reagents"] = reinterpret_cast(&(df_structure->sel_reagents)) - reinterpret_cast(df_structure); + p_table["cur_reaction"] = reinterpret_cast(&(df_structure->cur_reaction)) - reinterpret_cast(df_structure); + p_table["reagent"] = reinterpret_cast(&(df_structure->reagent)) - reinterpret_cast(df_structure); + p_table["reagent_amnt_left"] = reinterpret_cast(&(df_structure->reagent_amnt_left)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); + p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); + p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); + p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); + p_table["anon_11"] = reinterpret_cast(&(df_structure->anon_11)) - reinterpret_cast(df_structure); + p_table["anon_12"] = reinterpret_cast(&(df_structure->anon_12)) - reinterpret_cast(df_structure); + p_table["anon_13"] = reinterpret_cast(&(df_structure->anon_13)) - reinterpret_cast(df_structure); + p_table["anon_14"] = reinterpret_cast(&(df_structure->anon_14)) - reinterpret_cast(df_structure); + p_table["anon_15"] = reinterpret_cast(&(df_structure->anon_15)) - reinterpret_cast(df_structure); + p_table["anon_16"] = reinterpret_cast(&(df_structure->anon_16)) - reinterpret_cast(df_structure); + p_table["anon_17"] = reinterpret_cast(&(df_structure->anon_17)) - reinterpret_cast(df_structure); + p_table["unk_20"] = reinterpret_cast(&(df_structure->unk_20)) - reinterpret_cast(df_structure); + p_table["unk_21"] = reinterpret_cast(&(df_structure->unk_21)) - reinterpret_cast(df_structure); + p_table["anon_18"] = reinterpret_cast(&(df_structure->anon_18)) - reinterpret_cast(df_structure); + p_table["anon_19"] = reinterpret_cast(&(df_structure->anon_19)) - reinterpret_cast(df_structure); + p_table["anon_20"] = reinterpret_cast(&(df_structure->anon_20)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_layer_unit_healthst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); + p_table["page"] = reinterpret_cast(&(df_structure->page)) - reinterpret_cast(df_structure); + p_table["title"] = reinterpret_cast(&(df_structure->title)) - reinterpret_cast(df_structure); + p_table["text"] = reinterpret_cast(&(df_structure->text)) - reinterpret_cast(df_structure); + p_table["text_fg"] = reinterpret_cast(&(df_structure->text_fg)) - reinterpret_cast(df_structure); + p_table["text_bg"] = reinterpret_cast(&(df_structure->text_bg)) - reinterpret_cast(df_structure); + p_table["text_bold"] = reinterpret_cast(&(df_structure->text_bold)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_layer_unit_relationshipst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); + p_table["relation_textline"] = reinterpret_cast(&(df_structure->relation_textline)) - reinterpret_cast(df_structure); + p_table["relation_unit_type"] = reinterpret_cast(&(df_structure->relation_unit_type)) - reinterpret_cast(df_structure); + p_table["relation_histfig_type"] = reinterpret_cast(&(df_structure->relation_histfig_type)) - reinterpret_cast(df_structure); + p_table["relation_unit"] = reinterpret_cast(&(df_structure->relation_unit)) - reinterpret_cast(df_structure); + p_table["relation_hf"] = reinterpret_cast(&(df_structure->relation_hf)) - reinterpret_cast(df_structure); + p_table["level"] = reinterpret_cast(&(df_structure->level)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_layer_world_gen_paramst__T_unk1_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); + p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); + p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); + p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); + p_table["anon_11"] = reinterpret_cast(&(df_structure->anon_11)) - reinterpret_cast(df_structure); + p_table["anon_12"] = reinterpret_cast(&(df_structure->anon_12)) - reinterpret_cast(df_structure); + p_table["anon_13"] = reinterpret_cast(&(df_structure->anon_13)) - reinterpret_cast(df_structure); + p_table["anon_14"] = reinterpret_cast(&(df_structure->anon_14)) - reinterpret_cast(df_structure); + p_table["anon_15"] = reinterpret_cast(&(df_structure->anon_15)) - reinterpret_cast(df_structure); + p_table["anon_16"] = reinterpret_cast(&(df_structure->anon_16)) - reinterpret_cast(df_structure); + p_table["anon_17"] = reinterpret_cast(&(df_structure->anon_17)) - reinterpret_cast(df_structure); + p_table["anon_18"] = reinterpret_cast(&(df_structure->anon_18)) - reinterpret_cast(df_structure); + p_table["anon_19"] = reinterpret_cast(&(df_structure->anon_19)) - reinterpret_cast(df_structure); + p_table["anon_20"] = reinterpret_cast(&(df_structure->anon_20)) - reinterpret_cast(df_structure); + p_table["anon_21"] = reinterpret_cast(&(df_structure->anon_21)) - reinterpret_cast(df_structure); + p_table["anon_22"] = reinterpret_cast(&(df_structure->anon_22)) - reinterpret_cast(df_structure); + p_table["anon_23"] = reinterpret_cast(&(df_structure->anon_23)) - reinterpret_cast(df_structure); + p_table["anon_24"] = reinterpret_cast(&(df_structure->anon_24)) - reinterpret_cast(df_structure); + p_table["anon_25"] = reinterpret_cast(&(df_structure->anon_25)) - reinterpret_cast(df_structure); + p_table["anon_26"] = reinterpret_cast(&(df_structure->anon_26)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_layer_world_gen_paramst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_layer_world_gen_param_presetst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); + p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); + p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); + p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_legendsst__T_anon_7__T_anon_3_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_legendsst__T_anon_7_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_legendsst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["init_step"] = reinterpret_cast(&(df_structure->init_step)) - reinterpret_cast(df_structure); + p_table["init_era"] = reinterpret_cast(&(df_structure->init_era)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["init_progress"] = reinterpret_cast(&(df_structure->init_progress)) - reinterpret_cast(df_structure); + p_table["histfigs"] = reinterpret_cast(&(df_structure->histfigs)) - reinterpret_cast(df_structure); + p_table["sites"] = reinterpret_cast(&(df_structure->sites)) - reinterpret_cast(df_structure); + p_table["artifacts"] = reinterpret_cast(&(df_structure->artifacts)) - reinterpret_cast(df_structure); + p_table["codices"] = reinterpret_cast(&(df_structure->codices)) - reinterpret_cast(df_structure); + p_table["regions"] = reinterpret_cast(&(df_structure->regions)) - reinterpret_cast(df_structure); + p_table["layers"] = reinterpret_cast(&(df_structure->layers)) - reinterpret_cast(df_structure); + p_table["entities"] = reinterpret_cast(&(df_structure->entities)) - reinterpret_cast(df_structure); + p_table["structure_sites"] = reinterpret_cast(&(df_structure->structure_sites)) - reinterpret_cast(df_structure); + p_table["structures_indices"] = reinterpret_cast(&(df_structure->structures_indices)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["header_text"] = reinterpret_cast(&(df_structure->header_text)) - reinterpret_cast(df_structure); + p_table["event_collections"] = reinterpret_cast(&(df_structure->event_collections)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["events"] = reinterpret_cast(&(df_structure->events)) - reinterpret_cast(df_structure); + p_table["events_text"] = reinterpret_cast(&(df_structure->events_text)) - reinterpret_cast(df_structure); + p_table["stack_collections"] = reinterpret_cast(&(df_structure->stack_collections)) - reinterpret_cast(df_structure); + p_table["stack_cursor"] = reinterpret_cast(&(df_structure->stack_cursor)) - reinterpret_cast(df_structure); + p_table["collection_name"] = reinterpret_cast(&(df_structure->collection_name)) - reinterpret_cast(df_structure); + p_table["cur_page"] = reinterpret_cast(&(df_structure->cur_page)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["main_cursor"] = reinterpret_cast(&(df_structure->main_cursor)) - reinterpret_cast(df_structure); + p_table["main_row_type"] = reinterpret_cast(&(df_structure->main_row_type)) - reinterpret_cast(df_structure); + p_table["main_row_arg1"] = reinterpret_cast(&(df_structure->main_row_arg1)) - reinterpret_cast(df_structure); + p_table["main_row_arg2"] = reinterpret_cast(&(df_structure->main_row_arg2)) - reinterpret_cast(df_structure); + p_table["main_row_arg3"] = reinterpret_cast(&(df_structure->main_row_arg3)) - reinterpret_cast(df_structure); + p_table["sub_cursor"] = reinterpret_cast(&(df_structure->sub_cursor)) - reinterpret_cast(df_structure); + p_table["important_events_only"] = reinterpret_cast(&(df_structure->important_events_only)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); + p_table["map_x"] = reinterpret_cast(&(df_structure->map_x)) - reinterpret_cast(df_structure); + p_table["map_y"] = reinterpret_cast(&(df_structure->map_y)) - reinterpret_cast(df_structure); + p_table["hide_territories"] = reinterpret_cast(&(df_structure->hide_territories)) - reinterpret_cast(df_structure); + p_table["civ_site_mode"] = reinterpret_cast(&(df_structure->civ_site_mode)) - reinterpret_cast(df_structure); + p_table["decade"] = reinterpret_cast(&(df_structure->decade)) - reinterpret_cast(df_structure); + p_table["filter_text"] = reinterpret_cast(&(df_structure->filter_text)) - reinterpret_cast(df_structure); + p_table["filter_editing"] = reinterpret_cast(&(df_structure->filter_editing)) - reinterpret_cast(df_structure); + p_table["histfigs_filtered"] = reinterpret_cast(&(df_structure->histfigs_filtered)) - reinterpret_cast(df_structure); + p_table["sites_filtered"] = reinterpret_cast(&(df_structure->sites_filtered)) - reinterpret_cast(df_structure); + p_table["artifacts_filtered"] = reinterpret_cast(&(df_structure->artifacts_filtered)) - reinterpret_cast(df_structure); + p_table["codices_filtered"] = reinterpret_cast(&(df_structure->codices_filtered)) - reinterpret_cast(df_structure); + p_table["regions_filtered"] = reinterpret_cast(&(df_structure->regions_filtered)) - reinterpret_cast(df_structure); + p_table["layers_filtered"] = reinterpret_cast(&(df_structure->layers_filtered)) - reinterpret_cast(df_structure); + p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); + p_table["entities_filtered"] = reinterpret_cast(&(df_structure->entities_filtered)) - reinterpret_cast(df_structure); + p_table["structures_filtered"] = reinterpret_cast(&(df_structure->structures_filtered)) - reinterpret_cast(df_structure); + p_table["total_codices"] = reinterpret_cast(&(df_structure->total_codices)) - reinterpret_cast(df_structure); + p_table["total_artifacts"] = reinterpret_cast(&(df_structure->total_artifacts)) - reinterpret_cast(df_structure); + p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); + p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); + p_table["anon_11"] = reinterpret_cast(&(df_structure->anon_11)) - reinterpret_cast(df_structure); + p_table["anon_12"] = reinterpret_cast(&(df_structure->anon_12)) - reinterpret_cast(df_structure); + p_table["anon_13"] = reinterpret_cast(&(df_structure->anon_13)) - reinterpret_cast(df_structure); + p_table["anon_14"] = reinterpret_cast(&(df_structure->anon_14)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_locationsst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["locations"] = reinterpret_cast(&(df_structure->locations)) - reinterpret_cast(df_structure); + p_table["dance_floor_x"] = reinterpret_cast(&(df_structure->dance_floor_x)) - reinterpret_cast(df_structure); + p_table["dance_floor_y"] = reinterpret_cast(&(df_structure->dance_floor_y)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["location_idx"] = reinterpret_cast(&(df_structure->location_idx)) - reinterpret_cast(df_structure); + p_table["occupations"] = reinterpret_cast(&(df_structure->occupations)) - reinterpret_cast(df_structure); + p_table["occupation_idx"] = reinterpret_cast(&(df_structure->occupation_idx)) - reinterpret_cast(df_structure); + p_table["units"] = reinterpret_cast(&(df_structure->units)) - reinterpret_cast(df_structure); + p_table["unit_idx"] = reinterpret_cast(&(df_structure->unit_idx)) - reinterpret_cast(df_structure); + p_table["in_edit"] = reinterpret_cast(&(df_structure->in_edit)) - reinterpret_cast(df_structure); + p_table["edit_input"] = reinterpret_cast(&(df_structure->edit_input)) - reinterpret_cast(df_structure); + p_table["menu"] = reinterpret_cast(&(df_structure->menu)) - reinterpret_cast(df_structure); +} + +void generate_loadgame_save_info_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["save_info"] = reinterpret_cast(&(df_structure->save_info)) - reinterpret_cast(df_structure); + p_table["game_type"] = reinterpret_cast(&(df_structure->game_type)) - reinterpret_cast(df_structure); + p_table["fort_name"] = reinterpret_cast(&(df_structure->fort_name)) - reinterpret_cast(df_structure); + p_table["world_name"] = reinterpret_cast(&(df_structure->world_name)) - reinterpret_cast(df_structure); + p_table["year"] = reinterpret_cast(&(df_structure->year)) - reinterpret_cast(df_structure); + p_table["folder_name"] = reinterpret_cast(&(df_structure->folder_name)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_loadgamest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["cur_step"] = reinterpret_cast(&(df_structure->cur_step)) - reinterpret_cast(df_structure); + p_table["unk_v40_1b"] = reinterpret_cast(&(df_structure->unk_v40_1b)) - reinterpret_cast(df_structure); + p_table["loading"] = reinterpret_cast(&(df_structure->loading)) - reinterpret_cast(df_structure); + p_table["sel_idx"] = reinterpret_cast(&(df_structure->sel_idx)) - reinterpret_cast(df_structure); + p_table["saves"] = reinterpret_cast(&(df_structure->saves)) - reinterpret_cast(df_structure); + p_table["compressor"] = reinterpret_cast(&(df_structure->compressor)) - reinterpret_cast(df_structure); + p_table["glosses"] = reinterpret_cast(&(df_structure->glosses)) - reinterpret_cast(df_structure); + p_table["save_version"] = reinterpret_cast(&(df_structure->save_version)) - reinterpret_cast(df_structure); + p_table["cur_save"] = reinterpret_cast(&(df_structure->cur_save)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_meetingst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["dipscript_popup"] = reinterpret_cast(&(df_structure->dipscript_popup)) - reinterpret_cast(df_structure); + p_table["activity"] = reinterpret_cast(&(df_structure->activity)) - reinterpret_cast(df_structure); + p_table["holder"] = reinterpret_cast(&(df_structure->holder)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_movieplayerst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["saving"] = reinterpret_cast(&(df_structure->saving)) - reinterpret_cast(df_structure); + p_table["loading"] = reinterpret_cast(&(df_structure->loading)) - reinterpret_cast(df_structure); + p_table["editing"] = reinterpret_cast(&(df_structure->editing)) - reinterpret_cast(df_structure); + p_table["text_mode"] = reinterpret_cast(&(df_structure->text_mode)) - reinterpret_cast(df_structure); + p_table["editing_char"] = reinterpret_cast(&(df_structure->editing_char)) - reinterpret_cast(df_structure); + p_table["editing_copy_from"] = reinterpret_cast(&(df_structure->editing_copy_from)) - reinterpret_cast(df_structure); + p_table["editing_screenf"] = reinterpret_cast(&(df_structure->editing_screenf)) - reinterpret_cast(df_structure); + p_table["editing_screenb"] = reinterpret_cast(&(df_structure->editing_screenb)) - reinterpret_cast(df_structure); + p_table["editing_screenbright"] = reinterpret_cast(&(df_structure->editing_screenbright)) - reinterpret_cast(df_structure); + p_table["editing_selected_sound"] = reinterpret_cast(&(df_structure->editing_selected_sound)) - reinterpret_cast(df_structure); + p_table["editing_menu"] = reinterpret_cast(&(df_structure->editing_menu)) - reinterpret_cast(df_structure); + p_table["savename"] = reinterpret_cast(&(df_structure->savename)) - reinterpret_cast(df_structure); + p_table["force_file"] = reinterpret_cast(&(df_structure->force_file)) - reinterpret_cast(df_structure); + p_table["is_playing"] = reinterpret_cast(&(df_structure->is_playing)) - reinterpret_cast(df_structure); + p_table["is_forced_play"] = reinterpret_cast(&(df_structure->is_forced_play)) - reinterpret_cast(df_structure); + p_table["quit_if_no_play"] = reinterpret_cast(&(df_structure->quit_if_no_play)) - reinterpret_cast(df_structure); + p_table["maxmoviepos"] = reinterpret_cast(&(df_structure->maxmoviepos)) - reinterpret_cast(df_structure); + p_table["end_frame_pos"] = reinterpret_cast(&(df_structure->end_frame_pos)) - reinterpret_cast(df_structure); + p_table["selfile"] = reinterpret_cast(&(df_structure->selfile)) - reinterpret_cast(df_structure); + p_table["filelist"] = reinterpret_cast(&(df_structure->filelist)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_new_regionst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["worldgen_presets"] = reinterpret_cast(&(df_structure->worldgen_presets)) - reinterpret_cast(df_structure); + p_table["unk_2"] = reinterpret_cast(&(df_structure->unk_2)) - reinterpret_cast(df_structure); + p_table["in_worldgen"] = reinterpret_cast(&(df_structure->in_worldgen)) - reinterpret_cast(df_structure); + p_table["cursor_paramset"] = reinterpret_cast(&(df_structure->cursor_paramset)) - reinterpret_cast(df_structure); + p_table["random_seed"] = reinterpret_cast(&(df_structure->random_seed)) - reinterpret_cast(df_structure); + p_table["editing_randseed"] = reinterpret_cast(&(df_structure->editing_randseed)) - reinterpret_cast(df_structure); + p_table["editing_customname"] = reinterpret_cast(&(df_structure->editing_customname)) - reinterpret_cast(df_structure); + p_table["editing_title"] = reinterpret_cast(&(df_structure->editing_title)) - reinterpret_cast(df_structure); + p_table["popup_deleteset"] = reinterpret_cast(&(df_structure->popup_deleteset)) - reinterpret_cast(df_structure); + p_table["popup_changedimensions"] = reinterpret_cast(&(df_structure->popup_changedimensions)) - reinterpret_cast(df_structure); + p_table["unk_11"] = reinterpret_cast(&(df_structure->unk_11)) - reinterpret_cast(df_structure); + p_table["custom_size_x"] = reinterpret_cast(&(df_structure->custom_size_x)) - reinterpret_cast(df_structure); + p_table["custom_size_y"] = reinterpret_cast(&(df_structure->custom_size_y)) - reinterpret_cast(df_structure); + p_table["popup_abort"] = reinterpret_cast(&(df_structure->popup_abort)) - reinterpret_cast(df_structure); + p_table["popup_goon"] = reinterpret_cast(&(df_structure->popup_goon)) - reinterpret_cast(df_structure); + p_table["unsaved_changes"] = reinterpret_cast(&(df_structure->unsaved_changes)) - reinterpret_cast(df_structure); + p_table["simple_mode"] = reinterpret_cast(&(df_structure->simple_mode)) - reinterpret_cast(df_structure); + p_table["unk_20"] = reinterpret_cast(&(df_structure->unk_20)) - reinterpret_cast(df_structure); + p_table["unk_21"] = reinterpret_cast(&(df_structure->unk_21)) - reinterpret_cast(df_structure); + p_table["cursor_line"] = reinterpret_cast(&(df_structure->cursor_line)) - reinterpret_cast(df_structure); + p_table["world_size"] = reinterpret_cast(&(df_structure->world_size)) - reinterpret_cast(df_structure); + p_table["history"] = reinterpret_cast(&(df_structure->history)) - reinterpret_cast(df_structure); + p_table["number_civs"] = reinterpret_cast(&(df_structure->number_civs)) - reinterpret_cast(df_structure); + p_table["number_sites"] = reinterpret_cast(&(df_structure->number_sites)) - reinterpret_cast(df_structure); + p_table["number_beasts"] = reinterpret_cast(&(df_structure->number_beasts)) - reinterpret_cast(df_structure); + p_table["savagery"] = reinterpret_cast(&(df_structure->savagery)) - reinterpret_cast(df_structure); + p_table["mineral_occurence"] = reinterpret_cast(&(df_structure->mineral_occurence)) - reinterpret_cast(df_structure); + p_table["worldgen_paused"] = reinterpret_cast(&(df_structure->worldgen_paused)) - reinterpret_cast(df_structure); + p_table["worldgen_rejected"] = reinterpret_cast(&(df_structure->worldgen_rejected)) - reinterpret_cast(df_structure); + p_table["rejection_msg"] = reinterpret_cast(&(df_structure->rejection_msg)) - reinterpret_cast(df_structure); + p_table["welcome_msg"] = reinterpret_cast(&(df_structure->welcome_msg)) - reinterpret_cast(df_structure); + p_table["raw_folder"] = reinterpret_cast(&(df_structure->raw_folder)) - reinterpret_cast(df_structure); + p_table["load_world_params"] = reinterpret_cast(&(df_structure->load_world_params)) - reinterpret_cast(df_structure); + p_table["unk_b8"] = reinterpret_cast(&(df_structure->unk_b8)) - reinterpret_cast(df_structure); + p_table["unk_bc"] = reinterpret_cast(&(df_structure->unk_bc)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_noblest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["become_capital_offerings"] = reinterpret_cast(&(df_structure->become_capital_offerings)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_optionst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["msg_quit"] = reinterpret_cast(&(df_structure->msg_quit)) - reinterpret_cast(df_structure); + p_table["in_retire_adv"] = reinterpret_cast(&(df_structure->in_retire_adv)) - reinterpret_cast(df_structure); + p_table["msg_peasant"] = reinterpret_cast(&(df_structure->msg_peasant)) - reinterpret_cast(df_structure); + p_table["in_retire_dwf_abandon_adv"] = reinterpret_cast(&(df_structure->in_retire_dwf_abandon_adv)) - reinterpret_cast(df_structure); + p_table["in_abandon_dwf"] = reinterpret_cast(&(df_structure->in_abandon_dwf)) - reinterpret_cast(df_structure); + p_table["ending_game"] = reinterpret_cast(&(df_structure->ending_game)) - reinterpret_cast(df_structure); + p_table["sel_idx"] = reinterpret_cast(&(df_structure->sel_idx)) - reinterpret_cast(df_structure); + p_table["options"] = reinterpret_cast(&(df_structure->options)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_overallstatusst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["visible_pages"] = reinterpret_cast(&(df_structure->visible_pages)) - reinterpret_cast(df_structure); + p_table["page_cursor"] = reinterpret_cast(&(df_structure->page_cursor)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_petitionsst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["can_manage"] = reinterpret_cast(&(df_structure->can_manage)) - reinterpret_cast(df_structure); + p_table["list"] = reinterpret_cast(&(df_structure->list)) - reinterpret_cast(df_structure); + p_table["cursor"] = reinterpret_cast(&(df_structure->cursor)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_petst__T_animal_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); + p_table["item"] = reinterpret_cast(&(df_structure->item)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_petst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["cursor"] = reinterpret_cast(&(df_structure->cursor)) - reinterpret_cast(df_structure); + p_table["animal"] = reinterpret_cast(&(df_structure->animal)) - reinterpret_cast(df_structure); + p_table["is_vermin"] = reinterpret_cast(&(df_structure->is_vermin)) - reinterpret_cast(df_structure); + p_table["is_tame"] = reinterpret_cast(&(df_structure->is_tame)) - reinterpret_cast(df_structure); + p_table["is_adopting"] = reinterpret_cast(&(df_structure->is_adopting)) - reinterpret_cast(df_structure); + p_table["mode"] = reinterpret_cast(&(df_structure->mode)) - reinterpret_cast(df_structure); + p_table["knowledge_page"] = reinterpret_cast(&(df_structure->knowledge_page)) - reinterpret_cast(df_structure); + p_table["known"] = reinterpret_cast(&(df_structure->known)) - reinterpret_cast(df_structure); + p_table["trainer_cursor"] = reinterpret_cast(&(df_structure->trainer_cursor)) - reinterpret_cast(df_structure); + p_table["trainer_unit"] = reinterpret_cast(&(df_structure->trainer_unit)) - reinterpret_cast(df_structure); + p_table["trainer_mode"] = reinterpret_cast(&(df_structure->trainer_mode)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_pricest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["category_idx"] = reinterpret_cast(&(df_structure->category_idx)) - reinterpret_cast(df_structure); + p_table["item_idx"] = reinterpret_cast(&(df_structure->item_idx)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_reportlistst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["units"] = reinterpret_cast(&(df_structure->units)) - reinterpret_cast(df_structure); + p_table["types"] = reinterpret_cast(&(df_structure->types)) - reinterpret_cast(df_structure); + p_table["last_id"] = reinterpret_cast(&(df_structure->last_id)) - reinterpret_cast(df_structure); + p_table["mission_reports"] = reinterpret_cast(&(df_structure->mission_reports)) - reinterpret_cast(df_structure); + p_table["spoils_reports"] = reinterpret_cast(&(df_structure->spoils_reports)) - reinterpret_cast(df_structure); + p_table["cursor"] = reinterpret_cast(&(df_structure->cursor)) - reinterpret_cast(df_structure); + p_table["mission_report"] = reinterpret_cast(&(df_structure->mission_report)) - reinterpret_cast(df_structure); + p_table["map_cursor_x"] = reinterpret_cast(&(df_structure->map_cursor_x)) - reinterpret_cast(df_structure); + p_table["map_cursor_y"] = reinterpret_cast(&(df_structure->map_cursor_y)) - reinterpret_cast(df_structure); + p_table["mission_path_finished"] = reinterpret_cast(&(df_structure->mission_path_finished)) - reinterpret_cast(df_structure); + p_table["mission_path_progress"] = reinterpret_cast(&(df_structure->mission_path_progress)) - reinterpret_cast(df_structure); + p_table["mission_text_finished"] = reinterpret_cast(&(df_structure->mission_text_finished)) - reinterpret_cast(df_structure); + p_table["mission_text_progress"] = reinterpret_cast(&(df_structure->mission_text_progress)) - reinterpret_cast(df_structure); + p_table["mission_report_text"] = reinterpret_cast(&(df_structure->mission_report_text)) - reinterpret_cast(df_structure); + p_table["mission_report_colors"] = reinterpret_cast(&(df_structure->mission_report_colors)) - reinterpret_cast(df_structure); + p_table["mission_year"] = reinterpret_cast(&(df_structure->mission_year)) - reinterpret_cast(df_structure); + p_table["mission_year_tick"] = reinterpret_cast(&(df_structure->mission_year_tick)) - reinterpret_cast(df_structure); + p_table["mission_path_speed"] = reinterpret_cast(&(df_structure->mission_path_speed)) - reinterpret_cast(df_structure); + p_table["mission_report_paused"] = reinterpret_cast(&(df_structure->mission_report_paused)) - reinterpret_cast(df_structure); + p_table["mission_report_fade"] = reinterpret_cast(&(df_structure->mission_report_fade)) - reinterpret_cast(df_structure); + p_table["mission_report_fade_line"] = reinterpret_cast(&(df_structure->mission_report_fade_line)) - reinterpret_cast(df_structure); + p_table["mission_report_scroll"] = reinterpret_cast(&(df_structure->mission_report_scroll)) - reinterpret_cast(df_structure); + p_table["spoils_report_title"] = reinterpret_cast(&(df_structure->spoils_report_title)) - reinterpret_cast(df_structure); + p_table["spoils_report_scroll"] = reinterpret_cast(&(df_structure->spoils_report_scroll)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_requestagreementst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["requests"] = reinterpret_cast(&(df_structure->requests)) - reinterpret_cast(df_structure); + p_table["civ_id"] = reinterpret_cast(&(df_structure->civ_id)) - reinterpret_cast(df_structure); + p_table["cursor"] = reinterpret_cast(&(df_structure->cursor)) - reinterpret_cast(df_structure); + p_table["title"] = reinterpret_cast(&(df_structure->title)) - reinterpret_cast(df_structure); + p_table["civ"] = reinterpret_cast(&(df_structure->civ)) - reinterpret_cast(df_structure); +} + +void generate_nemesis_offload_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["nemesis_save_file_id"] = reinterpret_cast(&(df_structure->nemesis_save_file_id)) - reinterpret_cast(df_structure); + p_table["nemesis_member_idx"] = reinterpret_cast(&(df_structure->nemesis_member_idx)) - reinterpret_cast(df_structure); + p_table["units"] = reinterpret_cast(&(df_structure->units)) - reinterpret_cast(df_structure); + p_table["cur_unit_chunk"] = reinterpret_cast(&(df_structure->cur_unit_chunk)) - reinterpret_cast(df_structure); + p_table["cur_unit_chunk_num"] = reinterpret_cast(&(df_structure->cur_unit_chunk_num)) - reinterpret_cast(df_structure); + p_table["units_offloaded"] = reinterpret_cast(&(df_structure->units_offloaded)) - reinterpret_cast(df_structure); +} + +void generate_ui__T_tax_collection_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["state"] = reinterpret_cast(&(df_structure->state)) - reinterpret_cast(df_structure); + p_table["check_timer"] = reinterpret_cast(&(df_structure->check_timer)) - reinterpret_cast(df_structure); + p_table["rooms"] = reinterpret_cast(&(df_structure->rooms)) - reinterpret_cast(df_structure); + p_table["reach_room_timer"] = reinterpret_cast(&(df_structure->reach_room_timer)) - reinterpret_cast(df_structure); + p_table["tc_protect_timer"] = reinterpret_cast(&(df_structure->tc_protect_timer)) - reinterpret_cast(df_structure); + p_table["guard1_reach_tc_timer"] = reinterpret_cast(&(df_structure->guard1_reach_tc_timer)) - reinterpret_cast(df_structure); + p_table["guard2_reach_tc_timer"] = reinterpret_cast(&(df_structure->guard2_reach_tc_timer)) - reinterpret_cast(df_structure); + p_table["collected"] = reinterpret_cast(&(df_structure->collected)) - reinterpret_cast(df_structure); + p_table["quota"] = reinterpret_cast(&(df_structure->quota)) - reinterpret_cast(df_structure); + p_table["collector_pos"] = reinterpret_cast(&(df_structure->collector_pos)) - reinterpret_cast(df_structure); + p_table["guard_pos_x"] = reinterpret_cast(&(df_structure->guard_pos_x)) - reinterpret_cast(df_structure); + p_table["guard_pos_y"] = reinterpret_cast(&(df_structure->guard_pos_y)) - reinterpret_cast(df_structure); + p_table["guard_pos_z"] = reinterpret_cast(&(df_structure->guard_pos_z)) - reinterpret_cast(df_structure); + p_table["collector"] = reinterpret_cast(&(df_structure->collector)) - reinterpret_cast(df_structure); + p_table["guard1"] = reinterpret_cast(&(df_structure->guard1)) - reinterpret_cast(df_structure); + p_table["guard2"] = reinterpret_cast(&(df_structure->guard2)) - reinterpret_cast(df_structure); + p_table["guard_lack_complained"] = reinterpret_cast(&(df_structure->guard_lack_complained)) - reinterpret_cast(df_structure); +} + +void generate_ui__T_becoming_capital_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["desired_architecture"] = reinterpret_cast(&(df_structure->desired_architecture)) - reinterpret_cast(df_structure); + p_table["desired_offerings"] = reinterpret_cast(&(df_structure->desired_offerings)) - reinterpret_cast(df_structure); +} + +void generate_ui__T_invasions_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["list"] = reinterpret_cast(&(df_structure->list)) - reinterpret_cast(df_structure); + p_table["next_id"] = reinterpret_cast(&(df_structure->next_id)) - reinterpret_cast(df_structure); +} + +void generate_ui__T_kitchen_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["item_types"] = reinterpret_cast(&(df_structure->item_types)) - reinterpret_cast(df_structure); + p_table["item_subtypes"] = reinterpret_cast(&(df_structure->item_subtypes)) - reinterpret_cast(df_structure); + p_table["mat_types"] = reinterpret_cast(&(df_structure->mat_types)) - reinterpret_cast(df_structure); + p_table["mat_indices"] = reinterpret_cast(&(df_structure->mat_indices)) - reinterpret_cast(df_structure); + p_table["exc_types"] = reinterpret_cast(&(df_structure->exc_types)) - reinterpret_cast(df_structure); +} + +void generate_ui__T_economy_prices__T_price_adjustment_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["general_items"] = reinterpret_cast(&(df_structure->general_items)) - reinterpret_cast(df_structure); + p_table["weapons"] = reinterpret_cast(&(df_structure->weapons)) - reinterpret_cast(df_structure); + p_table["armor"] = reinterpret_cast(&(df_structure->armor)) - reinterpret_cast(df_structure); + p_table["handwear"] = reinterpret_cast(&(df_structure->handwear)) - reinterpret_cast(df_structure); + p_table["footwear"] = reinterpret_cast(&(df_structure->footwear)) - reinterpret_cast(df_structure); + p_table["headwear"] = reinterpret_cast(&(df_structure->headwear)) - reinterpret_cast(df_structure); + p_table["legwear"] = reinterpret_cast(&(df_structure->legwear)) - reinterpret_cast(df_structure); + p_table["prepared_food"] = reinterpret_cast(&(df_structure->prepared_food)) - reinterpret_cast(df_structure); + p_table["wood"] = reinterpret_cast(&(df_structure->wood)) - reinterpret_cast(df_structure); + p_table["thread_cloth"] = reinterpret_cast(&(df_structure->thread_cloth)) - reinterpret_cast(df_structure); + p_table["paper"] = reinterpret_cast(&(df_structure->paper)) - reinterpret_cast(df_structure); + p_table["parchment"] = reinterpret_cast(&(df_structure->parchment)) - reinterpret_cast(df_structure); + p_table["bone"] = reinterpret_cast(&(df_structure->bone)) - reinterpret_cast(df_structure); + p_table["tooth"] = reinterpret_cast(&(df_structure->tooth)) - reinterpret_cast(df_structure); + p_table["horn"] = reinterpret_cast(&(df_structure->horn)) - reinterpret_cast(df_structure); + p_table["pearl"] = reinterpret_cast(&(df_structure->pearl)) - reinterpret_cast(df_structure); + p_table["shell"] = reinterpret_cast(&(df_structure->shell)) - reinterpret_cast(df_structure); + p_table["leather"] = reinterpret_cast(&(df_structure->leather)) - reinterpret_cast(df_structure); + p_table["silk"] = reinterpret_cast(&(df_structure->silk)) - reinterpret_cast(df_structure); + p_table["yarn"] = reinterpret_cast(&(df_structure->yarn)) - reinterpret_cast(df_structure); + p_table["inorganic"] = reinterpret_cast(&(df_structure->inorganic)) - reinterpret_cast(df_structure); + p_table["meat"] = reinterpret_cast(&(df_structure->meat)) - reinterpret_cast(df_structure); + p_table["fish"] = reinterpret_cast(&(df_structure->fish)) - reinterpret_cast(df_structure); + p_table["plants"] = reinterpret_cast(&(df_structure->plants)) - reinterpret_cast(df_structure); + p_table["drinks"] = reinterpret_cast(&(df_structure->drinks)) - reinterpret_cast(df_structure); + p_table["extract_animal"] = reinterpret_cast(&(df_structure->extract_animal)) - reinterpret_cast(df_structure); + p_table["extract_plant"] = reinterpret_cast(&(df_structure->extract_plant)) - reinterpret_cast(df_structure); + p_table["mill_animal"] = reinterpret_cast(&(df_structure->mill_animal)) - reinterpret_cast(df_structure); + p_table["mill_plant"] = reinterpret_cast(&(df_structure->mill_plant)) - reinterpret_cast(df_structure); + p_table["cheese_animal"] = reinterpret_cast(&(df_structure->cheese_animal)) - reinterpret_cast(df_structure); + p_table["cheese_plant"] = reinterpret_cast(&(df_structure->cheese_plant)) - reinterpret_cast(df_structure); + p_table["pets"] = reinterpret_cast(&(df_structure->pets)) - reinterpret_cast(df_structure); +} + +void generate_ui__T_economy_prices__T_price_setter_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["general_items"] = reinterpret_cast(&(df_structure->general_items)) - reinterpret_cast(df_structure); + p_table["weapons"] = reinterpret_cast(&(df_structure->weapons)) - reinterpret_cast(df_structure); + p_table["armor"] = reinterpret_cast(&(df_structure->armor)) - reinterpret_cast(df_structure); + p_table["handwear"] = reinterpret_cast(&(df_structure->handwear)) - reinterpret_cast(df_structure); + p_table["footwear"] = reinterpret_cast(&(df_structure->footwear)) - reinterpret_cast(df_structure); + p_table["headwear"] = reinterpret_cast(&(df_structure->headwear)) - reinterpret_cast(df_structure); + p_table["legwear"] = reinterpret_cast(&(df_structure->legwear)) - reinterpret_cast(df_structure); + p_table["prepared_food"] = reinterpret_cast(&(df_structure->prepared_food)) - reinterpret_cast(df_structure); + p_table["wood"] = reinterpret_cast(&(df_structure->wood)) - reinterpret_cast(df_structure); + p_table["thread_cloth"] = reinterpret_cast(&(df_structure->thread_cloth)) - reinterpret_cast(df_structure); + p_table["paper"] = reinterpret_cast(&(df_structure->paper)) - reinterpret_cast(df_structure); + p_table["parchment"] = reinterpret_cast(&(df_structure->parchment)) - reinterpret_cast(df_structure); + p_table["bone"] = reinterpret_cast(&(df_structure->bone)) - reinterpret_cast(df_structure); + p_table["tooth"] = reinterpret_cast(&(df_structure->tooth)) - reinterpret_cast(df_structure); + p_table["horn"] = reinterpret_cast(&(df_structure->horn)) - reinterpret_cast(df_structure); + p_table["pearl"] = reinterpret_cast(&(df_structure->pearl)) - reinterpret_cast(df_structure); + p_table["shell"] = reinterpret_cast(&(df_structure->shell)) - reinterpret_cast(df_structure); + p_table["leather"] = reinterpret_cast(&(df_structure->leather)) - reinterpret_cast(df_structure); + p_table["silk"] = reinterpret_cast(&(df_structure->silk)) - reinterpret_cast(df_structure); + p_table["yarn"] = reinterpret_cast(&(df_structure->yarn)) - reinterpret_cast(df_structure); + p_table["inorganic"] = reinterpret_cast(&(df_structure->inorganic)) - reinterpret_cast(df_structure); + p_table["meat"] = reinterpret_cast(&(df_structure->meat)) - reinterpret_cast(df_structure); + p_table["fish"] = reinterpret_cast(&(df_structure->fish)) - reinterpret_cast(df_structure); + p_table["plants"] = reinterpret_cast(&(df_structure->plants)) - reinterpret_cast(df_structure); + p_table["drinks"] = reinterpret_cast(&(df_structure->drinks)) - reinterpret_cast(df_structure); + p_table["extract_animal"] = reinterpret_cast(&(df_structure->extract_animal)) - reinterpret_cast(df_structure); + p_table["extract_plant"] = reinterpret_cast(&(df_structure->extract_plant)) - reinterpret_cast(df_structure); + p_table["mill_animal"] = reinterpret_cast(&(df_structure->mill_animal)) - reinterpret_cast(df_structure); + p_table["mill_plant"] = reinterpret_cast(&(df_structure->mill_plant)) - reinterpret_cast(df_structure); + p_table["cheese_animal"] = reinterpret_cast(&(df_structure->cheese_animal)) - reinterpret_cast(df_structure); + p_table["cheese_plant"] = reinterpret_cast(&(df_structure->cheese_plant)) - reinterpret_cast(df_structure); + p_table["pets"] = reinterpret_cast(&(df_structure->pets)) - reinterpret_cast(df_structure); +} + +void generate_ui__T_economy_prices_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["price_adjustment"] = reinterpret_cast(&(df_structure->price_adjustment)) - reinterpret_cast(df_structure); + p_table["price_setter"] = reinterpret_cast(&(df_structure->price_setter)) - reinterpret_cast(df_structure); +} + +void generate_ui__T_stockpile_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["reserved_bins"] = reinterpret_cast(&(df_structure->reserved_bins)) - reinterpret_cast(df_structure); + p_table["reserved_barrels"] = reinterpret_cast(&(df_structure->reserved_barrels)) - reinterpret_cast(df_structure); + p_table["custom_settings"] = reinterpret_cast(&(df_structure->custom_settings)) - reinterpret_cast(df_structure); +} + +void generate_ui__T_unk2a8c_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); + p_table["unk2"] = reinterpret_cast(&(df_structure->unk2)) - reinterpret_cast(df_structure); +} + +void generate_ui__T_map_edge_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["layer_x"] = reinterpret_cast(&(df_structure->layer_x)) - reinterpret_cast(df_structure); + p_table["surface_x"] = reinterpret_cast(&(df_structure->surface_x)) - reinterpret_cast(df_structure); + p_table["layer_y"] = reinterpret_cast(&(df_structure->layer_y)) - reinterpret_cast(df_structure); + p_table["surface_y"] = reinterpret_cast(&(df_structure->surface_y)) - reinterpret_cast(df_structure); + p_table["layer_z"] = reinterpret_cast(&(df_structure->layer_z)) - reinterpret_cast(df_structure); + p_table["surface_z"] = reinterpret_cast(&(df_structure->surface_z)) - reinterpret_cast(df_structure); +} + +void generate_ui__T_waypoints__T_points_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["tile"] = reinterpret_cast(&(df_structure->tile)) - reinterpret_cast(df_structure); + p_table["fg_color"] = reinterpret_cast(&(df_structure->fg_color)) - reinterpret_cast(df_structure); + p_table["bg_color"] = reinterpret_cast(&(df_structure->bg_color)) - reinterpret_cast(df_structure); + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["comment"] = reinterpret_cast(&(df_structure->comment)) - reinterpret_cast(df_structure); + p_table["pos"] = reinterpret_cast(&(df_structure->pos)) - reinterpret_cast(df_structure); +} + +void generate_ui__T_waypoints__T_routes_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["points"] = reinterpret_cast(&(df_structure->points)) - reinterpret_cast(df_structure); +} + +void generate_ui__T_waypoints_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["points"] = reinterpret_cast(&(df_structure->points)) - reinterpret_cast(df_structure); + p_table["routes"] = reinterpret_cast(&(df_structure->routes)) - reinterpret_cast(df_structure); + p_table["sym_selector"] = reinterpret_cast(&(df_structure->sym_selector)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["cur_point_index"] = reinterpret_cast(&(df_structure->cur_point_index)) - reinterpret_cast(df_structure); + p_table["in_edit_name_mode"] = reinterpret_cast(&(df_structure->in_edit_name_mode)) - reinterpret_cast(df_structure); + p_table["in_edit_text_mode"] = reinterpret_cast(&(df_structure->in_edit_text_mode)) - reinterpret_cast(df_structure); + p_table["sym_tile"] = reinterpret_cast(&(df_structure->sym_tile)) - reinterpret_cast(df_structure); + p_table["sym_fg_color"] = reinterpret_cast(&(df_structure->sym_fg_color)) - reinterpret_cast(df_structure); + p_table["sym_bg_color"] = reinterpret_cast(&(df_structure->sym_bg_color)) - reinterpret_cast(df_structure); + p_table["unk5c04"] = reinterpret_cast(&(df_structure->unk5c04)) - reinterpret_cast(df_structure); + p_table["next_point_id"] = reinterpret_cast(&(df_structure->next_point_id)) - reinterpret_cast(df_structure); + p_table["next_route_id"] = reinterpret_cast(&(df_structure->next_route_id)) - reinterpret_cast(df_structure); + p_table["sel_route_idx"] = reinterpret_cast(&(df_structure->sel_route_idx)) - reinterpret_cast(df_structure); + p_table["sel_route_waypt_idx"] = reinterpret_cast(&(df_structure->sel_route_waypt_idx)) - reinterpret_cast(df_structure); + p_table["in_edit_waypts_mode"] = reinterpret_cast(&(df_structure->in_edit_waypts_mode)) - reinterpret_cast(df_structure); + p_table["unk_42_06"] = reinterpret_cast(&(df_structure->unk_42_06)) - reinterpret_cast(df_structure); +} + +void generate_ui__T_burrows_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["list"] = reinterpret_cast(&(df_structure->list)) - reinterpret_cast(df_structure); + p_table["next_id"] = reinterpret_cast(&(df_structure->next_id)) - reinterpret_cast(df_structure); + p_table["sel_index"] = reinterpret_cast(&(df_structure->sel_index)) - reinterpret_cast(df_structure); + p_table["sel_id"] = reinterpret_cast(&(df_structure->sel_id)) - reinterpret_cast(df_structure); + p_table["in_confirm_delete"] = reinterpret_cast(&(df_structure->in_confirm_delete)) - reinterpret_cast(df_structure); + p_table["in_add_units_mode"] = reinterpret_cast(&(df_structure->in_add_units_mode)) - reinterpret_cast(df_structure); + p_table["list_units"] = reinterpret_cast(&(df_structure->list_units)) - reinterpret_cast(df_structure); + p_table["sel_units"] = reinterpret_cast(&(df_structure->sel_units)) - reinterpret_cast(df_structure); + p_table["unit_cursor_pos"] = reinterpret_cast(&(df_structure->unit_cursor_pos)) - reinterpret_cast(df_structure); + p_table["in_define_mode"] = reinterpret_cast(&(df_structure->in_define_mode)) - reinterpret_cast(df_structure); + p_table["brush_erasing"] = reinterpret_cast(&(df_structure->brush_erasing)) - reinterpret_cast(df_structure); + p_table["rect_start"] = reinterpret_cast(&(df_structure->rect_start)) - reinterpret_cast(df_structure); + p_table["brush_mode"] = reinterpret_cast(&(df_structure->brush_mode)) - reinterpret_cast(df_structure); + p_table["in_edit_name_mode"] = reinterpret_cast(&(df_structure->in_edit_name_mode)) - reinterpret_cast(df_structure); + p_table["sym_selector"] = reinterpret_cast(&(df_structure->sym_selector)) - reinterpret_cast(df_structure); + p_table["sym_tile"] = reinterpret_cast(&(df_structure->sym_tile)) - reinterpret_cast(df_structure); + p_table["sym_fg_color"] = reinterpret_cast(&(df_structure->sym_fg_color)) - reinterpret_cast(df_structure); + p_table["sym_bg_color"] = reinterpret_cast(&(df_structure->sym_bg_color)) - reinterpret_cast(df_structure); +} + +void generate_ui__T_alerts__T_list_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["burrows"] = reinterpret_cast(&(df_structure->burrows)) - reinterpret_cast(df_structure); +} + +void generate_ui__T_alerts_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["list"] = reinterpret_cast(&(df_structure->list)) - reinterpret_cast(df_structure); + p_table["next_id"] = reinterpret_cast(&(df_structure->next_id)) - reinterpret_cast(df_structure); + p_table["civ_alert_idx"] = reinterpret_cast(&(df_structure->civ_alert_idx)) - reinterpret_cast(df_structure); +} + +void generate_ui__T_equipment_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["items_by_type1"] = reinterpret_cast(&(df_structure->items_by_type1)) - reinterpret_cast(df_structure); + p_table["items_unassigned"] = reinterpret_cast(&(df_structure->items_unassigned)) - reinterpret_cast(df_structure); + p_table["items_assigned"] = reinterpret_cast(&(df_structure->items_assigned)) - reinterpret_cast(df_structure); + p_table["update"] = reinterpret_cast(&(df_structure->update)) - reinterpret_cast(df_structure); + p_table["work_weapons"] = reinterpret_cast(&(df_structure->work_weapons)) - reinterpret_cast(df_structure); + p_table["work_units"] = reinterpret_cast(&(df_structure->work_units)) - reinterpret_cast(df_structure); + p_table["hunter_ammunition"] = reinterpret_cast(&(df_structure->hunter_ammunition)) - reinterpret_cast(df_structure); + p_table["ammo_items"] = reinterpret_cast(&(df_structure->ammo_items)) - reinterpret_cast(df_structure); + p_table["ammo_units"] = reinterpret_cast(&(df_structure->ammo_units)) - reinterpret_cast(df_structure); + p_table["training_assignments"] = reinterpret_cast(&(df_structure->training_assignments)) - reinterpret_cast(df_structure); +} + +void generate_ui__T_hauling_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["routes"] = reinterpret_cast(&(df_structure->routes)) - reinterpret_cast(df_structure); + p_table["next_id"] = reinterpret_cast(&(df_structure->next_id)) - reinterpret_cast(df_structure); + p_table["view_routes"] = reinterpret_cast(&(df_structure->view_routes)) - reinterpret_cast(df_structure); + p_table["view_stops"] = reinterpret_cast(&(df_structure->view_stops)) - reinterpret_cast(df_structure); + p_table["view_bad"] = reinterpret_cast(&(df_structure->view_bad)) - reinterpret_cast(df_structure); + p_table["cursor_top"] = reinterpret_cast(&(df_structure->cursor_top)) - reinterpret_cast(df_structure); + p_table["in_stop"] = reinterpret_cast(&(df_structure->in_stop)) - reinterpret_cast(df_structure); + p_table["cursor_stop"] = reinterpret_cast(&(df_structure->cursor_stop)) - reinterpret_cast(df_structure); + p_table["stop_conditions"] = reinterpret_cast(&(df_structure->stop_conditions)) - reinterpret_cast(df_structure); + p_table["stop_links"] = reinterpret_cast(&(df_structure->stop_links)) - reinterpret_cast(df_structure); + p_table["in_advanced_cond"] = reinterpret_cast(&(df_structure->in_advanced_cond)) - reinterpret_cast(df_structure); + p_table["in_assign_vehicle"] = reinterpret_cast(&(df_structure->in_assign_vehicle)) - reinterpret_cast(df_structure); + p_table["cursor_vehicle"] = reinterpret_cast(&(df_structure->cursor_vehicle)) - reinterpret_cast(df_structure); + p_table["vehicles"] = reinterpret_cast(&(df_structure->vehicles)) - reinterpret_cast(df_structure); + p_table["in_name"] = reinterpret_cast(&(df_structure->in_name)) - reinterpret_cast(df_structure); + p_table["old_name"] = reinterpret_cast(&(df_structure->old_name)) - reinterpret_cast(df_structure); +} + +void generate_ui__T_main__T_dead_citizens_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unit_id"] = reinterpret_cast(&(df_structure->unit_id)) - reinterpret_cast(df_structure); + p_table["histfig_id"] = reinterpret_cast(&(df_structure->histfig_id)) - reinterpret_cast(df_structure); + p_table["death_year"] = reinterpret_cast(&(df_structure->death_year)) - reinterpret_cast(df_structure); + p_table["death_time"] = reinterpret_cast(&(df_structure->death_time)) - reinterpret_cast(df_structure); + p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); + p_table["ghost_type"] = reinterpret_cast(&(df_structure->ghost_type)) - reinterpret_cast(df_structure); +} + +void generate_ui__T_main_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["hotkeys"] = reinterpret_cast(&(df_structure->hotkeys)) - reinterpret_cast(df_structure); + p_table["traffic_cost_high"] = reinterpret_cast(&(df_structure->traffic_cost_high)) - reinterpret_cast(df_structure); + p_table["traffic_cost_normal"] = reinterpret_cast(&(df_structure->traffic_cost_normal)) - reinterpret_cast(df_structure); + p_table["traffic_cost_low"] = reinterpret_cast(&(df_structure->traffic_cost_low)) - reinterpret_cast(df_structure); + p_table["traffic_cost_restricted"] = reinterpret_cast(&(df_structure->traffic_cost_restricted)) - reinterpret_cast(df_structure); + p_table["dead_citizens"] = reinterpret_cast(&(df_structure->dead_citizens)) - reinterpret_cast(df_structure); + p_table["fortress_entity"] = reinterpret_cast(&(df_structure->fortress_entity)) - reinterpret_cast(df_structure); + p_table["fortress_site"] = reinterpret_cast(&(df_structure->fortress_site)) - reinterpret_cast(df_structure); + p_table["mode"] = reinterpret_cast(&(df_structure->mode)) - reinterpret_cast(df_structure); + p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); + p_table["selected_traffic_cost"] = reinterpret_cast(&(df_structure->selected_traffic_cost)) - reinterpret_cast(df_structure); + p_table["autosave_request"] = reinterpret_cast(&(df_structure->autosave_request)) - reinterpret_cast(df_structure); + p_table["autosave_unk"] = reinterpret_cast(&(df_structure->autosave_unk)) - reinterpret_cast(df_structure); + p_table["unk6df4"] = reinterpret_cast(&(df_structure->unk6df4)) - reinterpret_cast(df_structure); + p_table["unk_44_12a"] = reinterpret_cast(&(df_structure->unk_44_12a)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["unk_44_12b"] = reinterpret_cast(&(df_structure->unk_44_12b)) - reinterpret_cast(df_structure); + p_table["unk_44_12c"] = reinterpret_cast(&(df_structure->unk_44_12c)) - reinterpret_cast(df_structure); + p_table["unk_44_12d"] = reinterpret_cast(&(df_structure->unk_44_12d)) - reinterpret_cast(df_structure); + p_table["selected_hotkey"] = reinterpret_cast(&(df_structure->selected_hotkey)) - reinterpret_cast(df_structure); + p_table["in_rename_hotkey"] = reinterpret_cast(&(df_structure->in_rename_hotkey)) - reinterpret_cast(df_structure); +} + +void generate_ui__T_squads_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["list"] = reinterpret_cast(&(df_structure->list)) - reinterpret_cast(df_structure); + p_table["unk6e08"] = reinterpret_cast(&(df_structure->unk6e08)) - reinterpret_cast(df_structure); + p_table["sel_squads"] = reinterpret_cast(&(df_structure->sel_squads)) - reinterpret_cast(df_structure); + p_table["indiv_selected"] = reinterpret_cast(&(df_structure->indiv_selected)) - reinterpret_cast(df_structure); + p_table["in_select_indiv"] = reinterpret_cast(&(df_structure->in_select_indiv)) - reinterpret_cast(df_structure); + p_table["sel_indiv_squad"] = reinterpret_cast(&(df_structure->sel_indiv_squad)) - reinterpret_cast(df_structure); + p_table["unk_70"] = reinterpret_cast(&(df_structure->unk_70)) - reinterpret_cast(df_structure); + p_table["squad_list_scroll"] = reinterpret_cast(&(df_structure->squad_list_scroll)) - reinterpret_cast(df_structure); + p_table["squad_list_first_id"] = reinterpret_cast(&(df_structure->squad_list_first_id)) - reinterpret_cast(df_structure); + p_table["nearest_squad"] = reinterpret_cast(&(df_structure->nearest_squad)) - reinterpret_cast(df_structure); + p_table["in_move_order"] = reinterpret_cast(&(df_structure->in_move_order)) - reinterpret_cast(df_structure); + p_table["point_list_scroll"] = reinterpret_cast(&(df_structure->point_list_scroll)) - reinterpret_cast(df_structure); + p_table["in_kill_order"] = reinterpret_cast(&(df_structure->in_kill_order)) - reinterpret_cast(df_structure); + p_table["kill_rect_targets"] = reinterpret_cast(&(df_structure->kill_rect_targets)) - reinterpret_cast(df_structure); + p_table["kill_rect_targets_scroll"] = reinterpret_cast(&(df_structure->kill_rect_targets_scroll)) - reinterpret_cast(df_structure); + p_table["in_kill_list"] = reinterpret_cast(&(df_structure->in_kill_list)) - reinterpret_cast(df_structure); + p_table["kill_targets"] = reinterpret_cast(&(df_structure->kill_targets)) - reinterpret_cast(df_structure); + p_table["sel_kill_targets"] = reinterpret_cast(&(df_structure->sel_kill_targets)) - reinterpret_cast(df_structure); + p_table["kill_list_scroll"] = reinterpret_cast(&(df_structure->kill_list_scroll)) - reinterpret_cast(df_structure); + p_table["in_kill_rect"] = reinterpret_cast(&(df_structure->in_kill_rect)) - reinterpret_cast(df_structure); + p_table["rect_start"] = reinterpret_cast(&(df_structure->rect_start)) - reinterpret_cast(df_structure); +} + +void generate_ui_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["game_state"] = reinterpret_cast(&(df_structure->game_state)) - reinterpret_cast(df_structure); + p_table["lost_to_siege_civ"] = reinterpret_cast(&(df_structure->lost_to_siege_civ)) - reinterpret_cast(df_structure); + p_table["tax_collection"] = reinterpret_cast(&(df_structure->tax_collection)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["manager_cooldown"] = reinterpret_cast(&(df_structure->manager_cooldown)) - reinterpret_cast(df_structure); + p_table["bookkeeper_cooldown"] = reinterpret_cast(&(df_structure->bookkeeper_cooldown)) - reinterpret_cast(df_structure); + p_table["bookkeeper_precision"] = reinterpret_cast(&(df_structure->bookkeeper_precision)) - reinterpret_cast(df_structure); + p_table["bookkeeper_settings"] = reinterpret_cast(&(df_structure->bookkeeper_settings)) - reinterpret_cast(df_structure); + p_table["caravans"] = reinterpret_cast(&(df_structure->caravans)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["fortress_rank"] = reinterpret_cast(&(df_structure->fortress_rank)) - reinterpret_cast(df_structure); + p_table["progress_population"] = reinterpret_cast(&(df_structure->progress_population)) - reinterpret_cast(df_structure); + p_table["progress_trade"] = reinterpret_cast(&(df_structure->progress_trade)) - reinterpret_cast(df_structure); + p_table["progress_production"] = reinterpret_cast(&(df_structure->progress_production)) - reinterpret_cast(df_structure); + p_table["king_arrived"] = reinterpret_cast(&(df_structure->king_arrived)) - reinterpret_cast(df_structure); + p_table["king_hasty"] = reinterpret_cast(&(df_structure->king_hasty)) - reinterpret_cast(df_structure); + p_table["economy_active"] = reinterpret_cast(&(df_structure->economy_active)) - reinterpret_cast(df_structure); + p_table["ignore_labor_shortage"] = reinterpret_cast(&(df_structure->ignore_labor_shortage)) - reinterpret_cast(df_structure); + p_table["justice_active"] = reinterpret_cast(&(df_structure->justice_active)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["manager_timer"] = reinterpret_cast(&(df_structure->manager_timer)) - reinterpret_cast(df_structure); + p_table["becoming_capital"] = reinterpret_cast(&(df_structure->becoming_capital)) - reinterpret_cast(df_structure); + p_table["units_killed"] = reinterpret_cast(&(df_structure->units_killed)) - reinterpret_cast(df_structure); + p_table["guild_wages"] = reinterpret_cast(&(df_structure->guild_wages)) - reinterpret_cast(df_structure); + p_table["guild_happiness"] = reinterpret_cast(&(df_structure->guild_happiness)) - reinterpret_cast(df_structure); + p_table["labor_slowdown_timer"] = reinterpret_cast(&(df_structure->labor_slowdown_timer)) - reinterpret_cast(df_structure); + p_table["currency_value"] = reinterpret_cast(&(df_structure->currency_value)) - reinterpret_cast(df_structure); + p_table["trees_removed"] = reinterpret_cast(&(df_structure->trees_removed)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["fortress_age"] = reinterpret_cast(&(df_structure->fortress_age)) - reinterpret_cast(df_structure); + p_table["tasks"] = reinterpret_cast(&(df_structure->tasks)) - reinterpret_cast(df_structure); + p_table["meeting_requests"] = reinterpret_cast(&(df_structure->meeting_requests)) - reinterpret_cast(df_structure); + p_table["activities"] = reinterpret_cast(&(df_structure->activities)) - reinterpret_cast(df_structure); + p_table["dip_meeting_info"] = reinterpret_cast(&(df_structure->dip_meeting_info)) - reinterpret_cast(df_structure); + p_table["aid_requesters"] = reinterpret_cast(&(df_structure->aid_requesters)) - reinterpret_cast(df_structure); + p_table["game_over"] = reinterpret_cast(&(df_structure->game_over)) - reinterpret_cast(df_structure); + p_table["invasions"] = reinterpret_cast(&(df_structure->invasions)) - reinterpret_cast(df_structure); + p_table["crimes"] = reinterpret_cast(&(df_structure->crimes)) - reinterpret_cast(df_structure); + p_table["punishments"] = reinterpret_cast(&(df_structure->punishments)) - reinterpret_cast(df_structure); + p_table["parties"] = reinterpret_cast(&(df_structure->parties)) - reinterpret_cast(df_structure); + p_table["room_rent"] = reinterpret_cast(&(df_structure->room_rent)) - reinterpret_cast(df_structure); + p_table["dipscripts"] = reinterpret_cast(&(df_structure->dipscripts)) - reinterpret_cast(df_structure); + p_table["dipscript_popups"] = reinterpret_cast(&(df_structure->dipscript_popups)) - reinterpret_cast(df_structure); + p_table["kitchen"] = reinterpret_cast(&(df_structure->kitchen)) - reinterpret_cast(df_structure); + p_table["economic_stone"] = reinterpret_cast(&(df_structure->economic_stone)) - reinterpret_cast(df_structure); + p_table["unk23c8_flags"] = reinterpret_cast(&(df_structure->unk23c8_flags)) - reinterpret_cast(df_structure); + p_table["mood_cooldown"] = reinterpret_cast(&(df_structure->mood_cooldown)) - reinterpret_cast(df_structure); + p_table["civ_id"] = reinterpret_cast(&(df_structure->civ_id)) - reinterpret_cast(df_structure); + p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); + p_table["group_id"] = reinterpret_cast(&(df_structure->group_id)) - reinterpret_cast(df_structure); + p_table["race_id"] = reinterpret_cast(&(df_structure->race_id)) - reinterpret_cast(df_structure); + p_table["unk_races"] = reinterpret_cast(&(df_structure->unk_races)) - reinterpret_cast(df_structure); + p_table["farm_crops"] = reinterpret_cast(&(df_structure->farm_crops)) - reinterpret_cast(df_structure); + p_table["farm_seasons"] = reinterpret_cast(&(df_structure->farm_seasons)) - reinterpret_cast(df_structure); + p_table["economy_prices"] = reinterpret_cast(&(df_structure->economy_prices)) - reinterpret_cast(df_structure); + p_table["stockpile"] = reinterpret_cast(&(df_structure->stockpile)) - reinterpret_cast(df_structure); + p_table["unk2a8c"] = reinterpret_cast(&(df_structure->unk2a8c)) - reinterpret_cast(df_structure); + p_table["unk_mapedge_x"] = reinterpret_cast(&(df_structure->unk_mapedge_x)) - reinterpret_cast(df_structure); + p_table["unk_mapedge_y"] = reinterpret_cast(&(df_structure->unk_mapedge_y)) - reinterpret_cast(df_structure); + p_table["unk_mapedge_z"] = reinterpret_cast(&(df_structure->unk_mapedge_z)) - reinterpret_cast(df_structure); + p_table["map_edge"] = reinterpret_cast(&(df_structure->map_edge)) - reinterpret_cast(df_structure); + p_table["unk5b88"] = reinterpret_cast(&(df_structure->unk5b88)) - reinterpret_cast(df_structure); + p_table["waypoints"] = reinterpret_cast(&(df_structure->waypoints)) - reinterpret_cast(df_structure); + p_table["burrows"] = reinterpret_cast(&(df_structure->burrows)) - reinterpret_cast(df_structure); + p_table["alerts"] = reinterpret_cast(&(df_structure->alerts)) - reinterpret_cast(df_structure); + p_table["equipment"] = reinterpret_cast(&(df_structure->equipment)) - reinterpret_cast(df_structure); + p_table["hauling"] = reinterpret_cast(&(df_structure->hauling)) - reinterpret_cast(df_structure); + p_table["petitions"] = reinterpret_cast(&(df_structure->petitions)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["main"] = reinterpret_cast(&(df_structure->main)) - reinterpret_cast(df_structure); + p_table["squads"] = reinterpret_cast(&(df_structure->squads)) - reinterpret_cast(df_structure); + p_table["follow_unit"] = reinterpret_cast(&(df_structure->follow_unit)) - reinterpret_cast(df_structure); + p_table["follow_item"] = reinterpret_cast(&(df_structure->follow_item)) - reinterpret_cast(df_structure); + p_table["selected_farm_crops"] = reinterpret_cast(&(df_structure->selected_farm_crops)) - reinterpret_cast(df_structure); + p_table["available_seeds"] = reinterpret_cast(&(df_structure->available_seeds)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_savegamest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["cur_step"] = reinterpret_cast(&(df_structure->cur_step)) - reinterpret_cast(df_structure); + p_table["unk_v40_1b"] = reinterpret_cast(&(df_structure->unk_v40_1b)) - reinterpret_cast(df_structure); + p_table["offload"] = reinterpret_cast(&(df_structure->offload)) - reinterpret_cast(df_structure); + p_table["compressor"] = reinterpret_cast(&(df_structure->compressor)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_selectitemst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["p_item_type"] = reinterpret_cast(&(df_structure->p_item_type)) - reinterpret_cast(df_structure); + p_table["p_item_subtype"] = reinterpret_cast(&(df_structure->p_item_subtype)) - reinterpret_cast(df_structure); + p_table["p_mattype"] = reinterpret_cast(&(df_structure->p_mattype)) - reinterpret_cast(df_structure); + p_table["p_matindex"] = reinterpret_cast(&(df_structure->p_matindex)) - reinterpret_cast(df_structure); + p_table["choice"] = reinterpret_cast(&(df_structure->choice)) - reinterpret_cast(df_structure); + p_table["screen"] = reinterpret_cast(&(df_structure->screen)) - reinterpret_cast(df_structure); + p_table["page_base"] = reinterpret_cast(&(df_structure->page_base)) - reinterpret_cast(df_structure); + p_table["title"] = reinterpret_cast(&(df_structure->title)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["filter"] = reinterpret_cast(&(df_structure->filter)) - reinterpret_cast(df_structure); + p_table["right_pos"] = reinterpret_cast(&(df_structure->right_pos)) - reinterpret_cast(df_structure); + p_table["right_page_base"] = reinterpret_cast(&(df_structure->right_page_base)) - reinterpret_cast(df_structure); + p_table["right_list"] = reinterpret_cast(&(df_structure->right_list)) - reinterpret_cast(df_structure); + p_table["sel_category"] = reinterpret_cast(&(df_structure->sel_category)) - reinterpret_cast(df_structure); + p_table["categories"] = reinterpret_cast(&(df_structure->categories)) - reinterpret_cast(df_structure); +} + +void generate_setup_character_info_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); + p_table["caste"] = reinterpret_cast(&(df_structure->caste)) - reinterpret_cast(df_structure); + p_table["skills"] = reinterpret_cast(&(df_structure->skills)) - reinterpret_cast(df_structure); + p_table["entity"] = reinterpret_cast(&(df_structure->entity)) - reinterpret_cast(df_structure); + p_table["histfig"] = reinterpret_cast(&(df_structure->histfig)) - reinterpret_cast(df_structure); + p_table["unk_284"] = reinterpret_cast(&(df_structure->unk_284)) - reinterpret_cast(df_structure); + p_table["cultural_identity"] = reinterpret_cast(&(df_structure->cultural_identity)) - reinterpret_cast(df_structure); + p_table["unk_28c"] = reinterpret_cast(&(df_structure->unk_28c)) - reinterpret_cast(df_structure); + p_table["unk_290"] = reinterpret_cast(&(df_structure->unk_290)) - reinterpret_cast(df_structure); + p_table["unk_294"] = reinterpret_cast(&(df_structure->unk_294)) - reinterpret_cast(df_structure); + p_table["skill_points_remaining"] = reinterpret_cast(&(df_structure->skill_points_remaining)) - reinterpret_cast(df_structure); + p_table["physical_levels"] = reinterpret_cast(&(df_structure->physical_levels)) - reinterpret_cast(df_structure); + p_table["mental_levels"] = reinterpret_cast(&(df_structure->mental_levels)) - reinterpret_cast(df_structure); + p_table["status"] = reinterpret_cast(&(df_structure->status)) - reinterpret_cast(df_structure); + p_table["commander_id"] = reinterpret_cast(&(df_structure->commander_id)) - reinterpret_cast(df_structure); + p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); + p_table["deity_id"] = reinterpret_cast(&(df_structure->deity_id)) - reinterpret_cast(df_structure); + p_table["belief_strength"] = reinterpret_cast(&(df_structure->belief_strength)) - reinterpret_cast(df_structure); + p_table["appearance"] = reinterpret_cast(&(df_structure->appearance)) - reinterpret_cast(df_structure); + p_table["birth_year"] = reinterpret_cast(&(df_structure->birth_year)) - reinterpret_cast(df_structure); + p_table["birth_tick"] = reinterpret_cast(&(df_structure->birth_tick)) - reinterpret_cast(df_structure); + p_table["old_year"] = reinterpret_cast(&(df_structure->old_year)) - reinterpret_cast(df_structure); + p_table["old_tick"] = reinterpret_cast(&(df_structure->old_tick)) - reinterpret_cast(df_structure); + p_table["personality"] = reinterpret_cast(&(df_structure->personality)) - reinterpret_cast(df_structure); + p_table["unk_26_k"] = reinterpret_cast(&(df_structure->unk_26_k)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_setupadventurest__T_races_info_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); + p_table["entity_id"] = reinterpret_cast(&(df_structure->entity_id)) - reinterpret_cast(df_structure); + p_table["unk_2"] = reinterpret_cast(&(df_structure->unk_2)) - reinterpret_cast(df_structure); + p_table["unk_3"] = reinterpret_cast(&(df_structure->unk_3)) - reinterpret_cast(df_structure); + p_table["playable"] = reinterpret_cast(&(df_structure->playable)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_setupadventurest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["page"] = reinterpret_cast(&(df_structure->page)) - reinterpret_cast(df_structure); + p_table["races_info"] = reinterpret_cast(&(df_structure->races_info)) - reinterpret_cast(df_structure); + p_table["adventurer"] = reinterpret_cast(&(df_structure->adventurer)) - reinterpret_cast(df_structure); + p_table["race_ids"] = reinterpret_cast(&(df_structure->race_ids)) - reinterpret_cast(df_structure); + p_table["highlighted_entity_ids"] = reinterpret_cast(&(df_structure->highlighted_entity_ids)) - reinterpret_cast(df_structure); + p_table["race_idx"] = reinterpret_cast(&(df_structure->race_idx)) - reinterpret_cast(df_structure); + p_table["wild_creature_ids"] = reinterpret_cast(&(df_structure->wild_creature_ids)) - reinterpret_cast(df_structure); + p_table["wild_creature_idx"] = reinterpret_cast(&(df_structure->wild_creature_idx)) - reinterpret_cast(df_structure); + p_table["nemesis_ids"] = reinterpret_cast(&(df_structure->nemesis_ids)) - reinterpret_cast(df_structure); + p_table["nemesis_idx"] = reinterpret_cast(&(df_structure->nemesis_idx)) - reinterpret_cast(df_structure); + p_table["home_entity_ids"] = reinterpret_cast(&(df_structure->home_entity_ids)) - reinterpret_cast(df_structure); + p_table["home_entity_idx"] = reinterpret_cast(&(df_structure->home_entity_idx)) - reinterpret_cast(df_structure); + p_table["sel_trait_column"] = reinterpret_cast(&(df_structure->sel_trait_column)) - reinterpret_cast(df_structure); + p_table["attribute_idx"] = reinterpret_cast(&(df_structure->attribute_idx)) - reinterpret_cast(df_structure); + p_table["attribute_points_remaining"] = reinterpret_cast(&(df_structure->attribute_points_remaining)) - reinterpret_cast(df_structure); + p_table["skill_list"] = reinterpret_cast(&(df_structure->skill_list)) - reinterpret_cast(df_structure); + p_table["skill_idx"] = reinterpret_cast(&(df_structure->skill_idx)) - reinterpret_cast(df_structure); + p_table["skill_points_remaining"] = reinterpret_cast(&(df_structure->skill_points_remaining)) - reinterpret_cast(df_structure); + p_table["in_edit_first_name"] = reinterpret_cast(&(df_structure->in_edit_first_name)) - reinterpret_cast(df_structure); + p_table["saved_first_name"] = reinterpret_cast(&(df_structure->saved_first_name)) - reinterpret_cast(df_structure); + p_table["background_lines"] = reinterpret_cast(&(df_structure->background_lines)) - reinterpret_cast(df_structure); + p_table["sites"] = reinterpret_cast(&(df_structure->sites)) - reinterpret_cast(df_structure); + p_table["background_type"] = reinterpret_cast(&(df_structure->background_type)) - reinterpret_cast(df_structure); + p_table["background_idx"] = reinterpret_cast(&(df_structure->background_idx)) - reinterpret_cast(df_structure); + p_table["allowed_castes"] = reinterpret_cast(&(df_structure->allowed_castes)) - reinterpret_cast(df_structure); + p_table["description_lines"] = reinterpret_cast(&(df_structure->description_lines)) - reinterpret_cast(df_structure); + p_table["thoughts_pos"] = reinterpret_cast(&(df_structure->thoughts_pos)) - reinterpret_cast(df_structure); + p_table["thoughts_lines_1"] = reinterpret_cast(&(df_structure->thoughts_lines_1)) - reinterpret_cast(df_structure); + p_table["thoughts_lines_2"] = reinterpret_cast(&(df_structure->thoughts_lines_2)) - reinterpret_cast(df_structure); + p_table["thoughts_lines_3"] = reinterpret_cast(&(df_structure->thoughts_lines_3)) - reinterpret_cast(df_structure); + p_table["in_customize_values"] = reinterpret_cast(&(df_structure->in_customize_values)) - reinterpret_cast(df_structure); + p_table["values_pos"] = reinterpret_cast(&(df_structure->values_pos)) - reinterpret_cast(df_structure); + p_table["personality_facets_min"] = reinterpret_cast(&(df_structure->personality_facets_min)) - reinterpret_cast(df_structure); + p_table["personality_facets_max"] = reinterpret_cast(&(df_structure->personality_facets_max)) - reinterpret_cast(df_structure); + p_table["values_cultural_defaults"] = reinterpret_cast(&(df_structure->values_cultural_defaults)) - reinterpret_cast(df_structure); +} + +void generate_embark_item_choice__T_list_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); + p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); + p_table["mattype"] = reinterpret_cast(&(df_structure->mattype)) - reinterpret_cast(df_structure); + p_table["matindex"] = reinterpret_cast(&(df_structure->matindex)) - reinterpret_cast(df_structure); + p_table["unk_c"] = reinterpret_cast(&(df_structure->unk_c)) - reinterpret_cast(df_structure); +} + +void generate_embark_item_choice_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["list"] = reinterpret_cast(&(df_structure->list)) - reinterpret_cast(df_structure); +} + +void generate_embark_profile_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["skill_type"] = reinterpret_cast(&(df_structure->skill_type)) - reinterpret_cast(df_structure); + p_table["skill_dwarf_idx"] = reinterpret_cast(&(df_structure->skill_dwarf_idx)) - reinterpret_cast(df_structure); + p_table["skill_level"] = reinterpret_cast(&(df_structure->skill_level)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); + p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_info"] = reinterpret_cast(&(df_structure->mat_info)) - reinterpret_cast(df_structure); + p_table["item_count"] = reinterpret_cast(&(df_structure->item_count)) - reinterpret_cast(df_structure); + p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); + p_table["caste"] = reinterpret_cast(&(df_structure->caste)) - reinterpret_cast(df_structure); + p_table["profession"] = reinterpret_cast(&(df_structure->profession)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_setupdwarfgamest__T_animals_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); + p_table["caste"] = reinterpret_cast(&(df_structure->caste)) - reinterpret_cast(df_structure); + p_table["profession"] = reinterpret_cast(&(df_structure->profession)) - reinterpret_cast(df_structure); + p_table["count"] = reinterpret_cast(&(df_structure->count)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_setupdwarfgamest__T_unk_v43__T_unk_v43_sub9_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk_s1"] = reinterpret_cast(&(df_structure->unk_s1)) - reinterpret_cast(df_structure); + p_table["unk_s2"] = reinterpret_cast(&(df_structure->unk_s2)) - reinterpret_cast(df_structure); + p_table["unk_s3"] = reinterpret_cast(&(df_structure->unk_s3)) - reinterpret_cast(df_structure); + p_table["unk_s4"] = reinterpret_cast(&(df_structure->unk_s4)) - reinterpret_cast(df_structure); + p_table["unk_s5"] = reinterpret_cast(&(df_structure->unk_s5)) - reinterpret_cast(df_structure); + p_table["unk_s6"] = reinterpret_cast(&(df_structure->unk_s6)) - reinterpret_cast(df_structure); + p_table["unk_s7"] = reinterpret_cast(&(df_structure->unk_s7)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_setupdwarfgamest__T_unk_v43_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk_v43_1"] = reinterpret_cast(&(df_structure->unk_v43_1)) - reinterpret_cast(df_structure); + p_table["unk_v43_2"] = reinterpret_cast(&(df_structure->unk_v43_2)) - reinterpret_cast(df_structure); + p_table["unk_v43_3"] = reinterpret_cast(&(df_structure->unk_v43_3)) - reinterpret_cast(df_structure); + p_table["unk_v43_4"] = reinterpret_cast(&(df_structure->unk_v43_4)) - reinterpret_cast(df_structure); + p_table["unk_v43_sub9"] = reinterpret_cast(&(df_structure->unk_v43_sub9)) - reinterpret_cast(df_structure); + p_table["unk_v43_10"] = reinterpret_cast(&(df_structure->unk_v43_10)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_setupdwarfgamest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["title"] = reinterpret_cast(&(df_structure->title)) - reinterpret_cast(df_structure); + p_table["dwarf_info"] = reinterpret_cast(&(df_structure->dwarf_info)) - reinterpret_cast(df_structure); + p_table["embark_skills"] = reinterpret_cast(&(df_structure->embark_skills)) - reinterpret_cast(df_structure); + p_table["reclaim_professions"] = reinterpret_cast(&(df_structure->reclaim_professions)) - reinterpret_cast(df_structure); + p_table["mode"] = reinterpret_cast(&(df_structure->mode)) - reinterpret_cast(df_structure); + p_table["dwarf_cursor"] = reinterpret_cast(&(df_structure->dwarf_cursor)) - reinterpret_cast(df_structure); + p_table["dwarf_page_idx"] = reinterpret_cast(&(df_structure->dwarf_page_idx)) - reinterpret_cast(df_structure); + p_table["item_cursor"] = reinterpret_cast(&(df_structure->item_cursor)) - reinterpret_cast(df_structure); + p_table["skill_cursor"] = reinterpret_cast(&(df_structure->skill_cursor)) - reinterpret_cast(df_structure); + p_table["animal_cursor"] = reinterpret_cast(&(df_structure->animal_cursor)) - reinterpret_cast(df_structure); + p_table["dwarf_column"] = reinterpret_cast(&(df_structure->dwarf_column)) - reinterpret_cast(df_structure); + p_table["supply_column"] = reinterpret_cast(&(df_structure->supply_column)) - reinterpret_cast(df_structure); + p_table["display_row"] = reinterpret_cast(&(df_structure->display_row)) - reinterpret_cast(df_structure); + p_table["show_play_now"] = reinterpret_cast(&(df_structure->show_play_now)) - reinterpret_cast(df_structure); + p_table["embark_prompt"] = reinterpret_cast(&(df_structure->embark_prompt)) - reinterpret_cast(df_structure); + p_table["choice_types"] = reinterpret_cast(&(df_structure->choice_types)) - reinterpret_cast(df_structure); + p_table["choices"] = reinterpret_cast(&(df_structure->choices)) - reinterpret_cast(df_structure); + p_table["choice"] = reinterpret_cast(&(df_structure->choice)) - reinterpret_cast(df_structure); + p_table["profile_name"] = reinterpret_cast(&(df_structure->profile_name)) - reinterpret_cast(df_structure); + p_table["problems"] = reinterpret_cast(&(df_structure->problems)) - reinterpret_cast(df_structure); + p_table["unk_1"] = reinterpret_cast(&(df_structure->unk_1)) - reinterpret_cast(df_structure); + p_table["in_problems"] = reinterpret_cast(&(df_structure->in_problems)) - reinterpret_cast(df_structure); + p_table["in_save_profile"] = reinterpret_cast(&(df_structure->in_save_profile)) - reinterpret_cast(df_structure); + p_table["profile_name_conflict"] = reinterpret_cast(&(df_structure->profile_name_conflict)) - reinterpret_cast(df_structure); + p_table["item_choice"] = reinterpret_cast(&(df_structure->item_choice)) - reinterpret_cast(df_structure); + p_table["animals"] = reinterpret_cast(&(df_structure->animals)) - reinterpret_cast(df_structure); + p_table["fort_name"] = reinterpret_cast(&(df_structure->fort_name)) - reinterpret_cast(df_structure); + p_table["group_name"] = reinterpret_cast(&(df_structure->group_name)) - reinterpret_cast(df_structure); + p_table["unk_2"] = reinterpret_cast(&(df_structure->unk_2)) - reinterpret_cast(df_structure); + p_table["unk_v43"] = reinterpret_cast(&(df_structure->unk_v43)) - reinterpret_cast(df_structure); + p_table["location"] = reinterpret_cast(&(df_structure->location)) - reinterpret_cast(df_structure); + p_table["units"] = reinterpret_cast(&(df_structure->units)) - reinterpret_cast(df_structure); + p_table["items"] = reinterpret_cast(&(df_structure->items)) - reinterpret_cast(df_structure); + p_table["unk_3"] = reinterpret_cast(&(df_structure->unk_3)) - reinterpret_cast(df_structure); + p_table["points_remaining"] = reinterpret_cast(&(df_structure->points_remaining)) - reinterpret_cast(df_structure); + p_table["add_item_type"] = reinterpret_cast(&(df_structure->add_item_type)) - reinterpret_cast(df_structure); + p_table["add_item_subtype"] = reinterpret_cast(&(df_structure->add_item_subtype)) - reinterpret_cast(df_structure); + p_table["add_mattype"] = reinterpret_cast(&(df_structure->add_mattype)) - reinterpret_cast(df_structure); + p_table["add_matindex"] = reinterpret_cast(&(df_structure->add_matindex)) - reinterpret_cast(df_structure); + p_table["adding_item"] = reinterpret_cast(&(df_structure->adding_item)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_storesst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["title"] = reinterpret_cast(&(df_structure->title)) - reinterpret_cast(df_structure); + p_table["category_cursor"] = reinterpret_cast(&(df_structure->category_cursor)) - reinterpret_cast(df_structure); + p_table["item_cursor"] = reinterpret_cast(&(df_structure->item_cursor)) - reinterpret_cast(df_structure); + p_table["in_right_list"] = reinterpret_cast(&(df_structure->in_right_list)) - reinterpret_cast(df_structure); + p_table["in_group_mode"] = reinterpret_cast(&(df_structure->in_group_mode)) - reinterpret_cast(df_structure); + p_table["category_total"] = reinterpret_cast(&(df_structure->category_total)) - reinterpret_cast(df_structure); + p_table["category_busy"] = reinterpret_cast(&(df_structure->category_busy)) - reinterpret_cast(df_structure); + p_table["items"] = reinterpret_cast(&(df_structure->items)) - reinterpret_cast(df_structure); + p_table["group_item_type"] = reinterpret_cast(&(df_structure->group_item_type)) - reinterpret_cast(df_structure); + p_table["group_item_subtype"] = reinterpret_cast(&(df_structure->group_item_subtype)) - reinterpret_cast(df_structure); + p_table["group_mat_type"] = reinterpret_cast(&(df_structure->group_mat_type)) - reinterpret_cast(df_structure); + p_table["group_mat_index"] = reinterpret_cast(&(df_structure->group_mat_index)) - reinterpret_cast(df_structure); + p_table["group_count"] = reinterpret_cast(&(df_structure->group_count)) - reinterpret_cast(df_structure); + p_table["category_order"] = reinterpret_cast(&(df_structure->category_order)) - reinterpret_cast(df_structure); + p_table["can_zoom"] = reinterpret_cast(&(df_structure->can_zoom)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_textviewerst__T_formatted_text_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["text"] = reinterpret_cast(&(df_structure->text)) - reinterpret_cast(df_structure); + p_table["format"] = reinterpret_cast(&(df_structure->format)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["pause_depth"] = reinterpret_cast(&(df_structure->pause_depth)) - reinterpret_cast(df_structure); + p_table["return_val"] = reinterpret_cast(&(df_structure->return_val)) - reinterpret_cast(df_structure); + p_table["indent"] = reinterpret_cast(&(df_structure->indent)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_textviewerst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["title"] = reinterpret_cast(&(df_structure->title)) - reinterpret_cast(df_structure); + p_table["title_colors"] = reinterpret_cast(&(df_structure->title_colors)) - reinterpret_cast(df_structure); + p_table["src_text"] = reinterpret_cast(&(df_structure->src_text)) - reinterpret_cast(df_structure); + p_table["outvar_type"] = reinterpret_cast(&(df_structure->outvar_type)) - reinterpret_cast(df_structure); + p_table["outvar_name"] = reinterpret_cast(&(df_structure->outvar_name)) - reinterpret_cast(df_structure); + p_table["meeting_context"] = reinterpret_cast(&(df_structure->meeting_context)) - reinterpret_cast(df_structure); + p_table["help_filename"] = reinterpret_cast(&(df_structure->help_filename)) - reinterpret_cast(df_structure); + p_table["page_filename"] = reinterpret_cast(&(df_structure->page_filename)) - reinterpret_cast(df_structure); + p_table["formatted_text"] = reinterpret_cast(&(df_structure->formatted_text)) - reinterpret_cast(df_structure); + p_table["hyperlinks"] = reinterpret_cast(&(df_structure->hyperlinks)) - reinterpret_cast(df_structure); + p_table["logged_error"] = reinterpret_cast(&(df_structure->logged_error)) - reinterpret_cast(df_structure); + p_table["scroll_pos"] = reinterpret_cast(&(df_structure->scroll_pos)) - reinterpret_cast(df_structure); + p_table["cursor_line"] = reinterpret_cast(&(df_structure->cursor_line)) - reinterpret_cast(df_structure); + p_table["pause_depth"] = reinterpret_cast(&(df_structure->pause_depth)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_titlest__T_start_savegames_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["world_name"] = reinterpret_cast(&(df_structure->world_name)) - reinterpret_cast(df_structure); + p_table["world_name_str"] = reinterpret_cast(&(df_structure->world_name_str)) - reinterpret_cast(df_structure); + p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); + p_table["unk2"] = reinterpret_cast(&(df_structure->unk2)) - reinterpret_cast(df_structure); + p_table["save_dir"] = reinterpret_cast(&(df_structure->save_dir)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_titlest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["str_histories"] = reinterpret_cast(&(df_structure->str_histories)) - reinterpret_cast(df_structure); + p_table["menu_items"] = reinterpret_cast(&(df_structure->menu_items)) - reinterpret_cast(df_structure); + p_table["sel_subpage"] = reinterpret_cast(&(df_structure->sel_subpage)) - reinterpret_cast(df_structure); + p_table["sel_menu_line"] = reinterpret_cast(&(df_structure->sel_menu_line)) - reinterpret_cast(df_structure); + p_table["sel_submenu_line"] = reinterpret_cast(&(df_structure->sel_submenu_line)) - reinterpret_cast(df_structure); + p_table["loading"] = reinterpret_cast(&(df_structure->loading)) - reinterpret_cast(df_structure); + p_table["menu_line_id"] = reinterpret_cast(&(df_structure->menu_line_id)) - reinterpret_cast(df_structure); + p_table["submenu_line_id"] = reinterpret_cast(&(df_structure->submenu_line_id)) - reinterpret_cast(df_structure); + p_table["submenu_line_text"] = reinterpret_cast(&(df_structure->submenu_line_text)) - reinterpret_cast(df_structure); + p_table["start_savegames"] = reinterpret_cast(&(df_structure->start_savegames)) - reinterpret_cast(df_structure); + p_table["arena_savegames"] = reinterpret_cast(&(df_structure->arena_savegames)) - reinterpret_cast(df_structure); + p_table["str_slaves"] = reinterpret_cast(&(df_structure->str_slaves)) - reinterpret_cast(df_structure); + p_table["str_chapter"] = reinterpret_cast(&(df_structure->str_chapter)) - reinterpret_cast(df_structure); + p_table["str_copyright"] = reinterpret_cast(&(df_structure->str_copyright)) - reinterpret_cast(df_structure); + p_table["str_version"] = reinterpret_cast(&(df_structure->str_version)) - reinterpret_cast(df_structure); + p_table["str_warning"] = reinterpret_cast(&(df_structure->str_warning)) - reinterpret_cast(df_structure); + p_table["str_programmed"] = reinterpret_cast(&(df_structure->str_programmed)) - reinterpret_cast(df_structure); + p_table["str_designed"] = reinterpret_cast(&(df_structure->str_designed)) - reinterpret_cast(df_structure); + p_table["str_visit"] = reinterpret_cast(&(df_structure->str_visit)) - reinterpret_cast(df_structure); + p_table["str_site"] = reinterpret_cast(&(df_structure->str_site)) - reinterpret_cast(df_structure); + p_table["arena_raw_folder"] = reinterpret_cast(&(df_structure->arena_raw_folder)) - reinterpret_cast(df_structure); + p_table["unk_388"] = reinterpret_cast(&(df_structure->unk_388)) - reinterpret_cast(df_structure); + p_table["unk_38c"] = reinterpret_cast(&(df_structure->unk_38c)) - reinterpret_cast(df_structure); + p_table["unk_390"] = reinterpret_cast(&(df_structure->unk_390)) - reinterpret_cast(df_structure); + p_table["unk_394"] = reinterpret_cast(&(df_structure->unk_394)) - reinterpret_cast(df_structure); + p_table["unk_398"] = reinterpret_cast(&(df_structure->unk_398)) - reinterpret_cast(df_structure); + p_table["unk_39c"] = reinterpret_cast(&(df_structure->unk_39c)) - reinterpret_cast(df_structure); + p_table["unk_3a0"] = reinterpret_cast(&(df_structure->unk_3a0)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_topicmeetingst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["popup"] = reinterpret_cast(&(df_structure->popup)) - reinterpret_cast(df_structure); + p_table["meeting"] = reinterpret_cast(&(df_structure->meeting)) - reinterpret_cast(df_structure); + p_table["unk_138"] = reinterpret_cast(&(df_structure->unk_138)) - reinterpret_cast(df_structure); + p_table["text"] = reinterpret_cast(&(df_structure->text)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_topicmeeting_fill_land_holder_positionsst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["title"] = reinterpret_cast(&(df_structure->title)) - reinterpret_cast(df_structure); + p_table["popup"] = reinterpret_cast(&(df_structure->popup)) - reinterpret_cast(df_structure); + p_table["meeting"] = reinterpret_cast(&(df_structure->meeting)) - reinterpret_cast(df_structure); + p_table["entity_diplomat"] = reinterpret_cast(&(df_structure->entity_diplomat)) - reinterpret_cast(df_structure); + p_table["entity_fortress"] = reinterpret_cast(&(df_structure->entity_fortress)) - reinterpret_cast(df_structure); + p_table["position_ids"] = reinterpret_cast(&(df_structure->position_ids)) - reinterpret_cast(df_structure); + p_table["selected_histfig_ids"] = reinterpret_cast(&(df_structure->selected_histfig_ids)) - reinterpret_cast(df_structure); + p_table["candidate_histfig_ids"] = reinterpret_cast(&(df_structure->candidate_histfig_ids)) - reinterpret_cast(df_structure); + p_table["position_cursor"] = reinterpret_cast(&(df_structure->position_cursor)) - reinterpret_cast(df_structure); + p_table["cursor"] = reinterpret_cast(&(df_structure->cursor)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_topicmeeting_takerequestsst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["title"] = reinterpret_cast(&(df_structure->title)) - reinterpret_cast(df_structure); + p_table["popup"] = reinterpret_cast(&(df_structure->popup)) - reinterpret_cast(df_structure); + p_table["meeting"] = reinterpret_cast(&(df_structure->meeting)) - reinterpret_cast(df_structure); + p_table["type_categories"] = reinterpret_cast(&(df_structure->type_categories)) - reinterpret_cast(df_structure); + p_table["type_idx"] = reinterpret_cast(&(df_structure->type_idx)) - reinterpret_cast(df_structure); + p_table["good_idx"] = reinterpret_cast(&(df_structure->good_idx)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_tradeagreementst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["requests"] = reinterpret_cast(&(df_structure->requests)) - reinterpret_cast(df_structure); + p_table["civ_id"] = reinterpret_cast(&(df_structure->civ_id)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["type_idx"] = reinterpret_cast(&(df_structure->type_idx)) - reinterpret_cast(df_structure); + p_table["good_idx"] = reinterpret_cast(&(df_structure->good_idx)) - reinterpret_cast(df_structure); + p_table["title"] = reinterpret_cast(&(df_structure->title)) - reinterpret_cast(df_structure); + p_table["civ"] = reinterpret_cast(&(df_structure->civ)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_tradegoodsst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["title"] = reinterpret_cast(&(df_structure->title)) - reinterpret_cast(df_structure); + p_table["merchant_name"] = reinterpret_cast(&(df_structure->merchant_name)) - reinterpret_cast(df_structure); + p_table["merchant_entity"] = reinterpret_cast(&(df_structure->merchant_entity)) - reinterpret_cast(df_structure); + p_table["depot"] = reinterpret_cast(&(df_structure->depot)) - reinterpret_cast(df_structure); + p_table["caravan"] = reinterpret_cast(&(df_structure->caravan)) - reinterpret_cast(df_structure); + p_table["entity"] = reinterpret_cast(&(df_structure->entity)) - reinterpret_cast(df_structure); + p_table["is_unloading"] = reinterpret_cast(&(df_structure->is_unloading)) - reinterpret_cast(df_structure); + p_table["has_traders"] = reinterpret_cast(&(df_structure->has_traders)) - reinterpret_cast(df_structure); + p_table["trader"] = reinterpret_cast(&(df_structure->trader)) - reinterpret_cast(df_structure); + p_table["broker"] = reinterpret_cast(&(df_structure->broker)) - reinterpret_cast(df_structure); + p_table["trader_items"] = reinterpret_cast(&(df_structure->trader_items)) - reinterpret_cast(df_structure); + p_table["broker_items"] = reinterpret_cast(&(df_structure->broker_items)) - reinterpret_cast(df_structure); + p_table["trader_selected"] = reinterpret_cast(&(df_structure->trader_selected)) - reinterpret_cast(df_structure); + p_table["broker_selected"] = reinterpret_cast(&(df_structure->broker_selected)) - reinterpret_cast(df_structure); + p_table["trader_count"] = reinterpret_cast(&(df_structure->trader_count)) - reinterpret_cast(df_structure); + p_table["broker_count"] = reinterpret_cast(&(df_structure->broker_count)) - reinterpret_cast(df_structure); + p_table["trader_cursor"] = reinterpret_cast(&(df_structure->trader_cursor)) - reinterpret_cast(df_structure); + p_table["broker_cursor"] = reinterpret_cast(&(df_structure->broker_cursor)) - reinterpret_cast(df_structure); + p_table["in_right_pane"] = reinterpret_cast(&(df_structure->in_right_pane)) - reinterpret_cast(df_structure); + p_table["trade_reply"] = reinterpret_cast(&(df_structure->trade_reply)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["has_offer"] = reinterpret_cast(&(df_structure->has_offer)) - reinterpret_cast(df_structure); + p_table["counteroffer"] = reinterpret_cast(&(df_structure->counteroffer)) - reinterpret_cast(df_structure); + p_table["in_edit_count"] = reinterpret_cast(&(df_structure->in_edit_count)) - reinterpret_cast(df_structure); + p_table["edit_count"] = reinterpret_cast(&(df_structure->edit_count)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_tradelistst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["cursor"] = reinterpret_cast(&(df_structure->cursor)) - reinterpret_cast(df_structure); + p_table["depot"] = reinterpret_cast(&(df_structure->depot)) - reinterpret_cast(df_structure); + p_table["caravans"] = reinterpret_cast(&(df_structure->caravans)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_treasurelistst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["sel_idx"] = reinterpret_cast(&(df_structure->sel_idx)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_unitst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unit"] = reinterpret_cast(&(df_structure->unit)) - reinterpret_cast(df_structure); + p_table["noble_assignments"] = reinterpret_cast(&(df_structure->noble_assignments)) - reinterpret_cast(df_structure); + p_table["noble_histfigs"] = reinterpret_cast(&(df_structure->noble_histfigs)) - reinterpret_cast(df_structure); + p_table["noble_groups"] = reinterpret_cast(&(df_structure->noble_groups)) - reinterpret_cast(df_structure); + p_table["has_kills"] = reinterpret_cast(&(df_structure->has_kills)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_unitlistst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["allow_zoom"] = reinterpret_cast(&(df_structure->allow_zoom)) - reinterpret_cast(df_structure); + p_table["page"] = reinterpret_cast(&(df_structure->page)) - reinterpret_cast(df_structure); + p_table["cursor_pos"] = reinterpret_cast(&(df_structure->cursor_pos)) - reinterpret_cast(df_structure); + p_table["jobs"] = reinterpret_cast(&(df_structure->jobs)) - reinterpret_cast(df_structure); + p_table["units"] = reinterpret_cast(&(df_structure->units)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_wagesst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["profession_category"] = reinterpret_cast(&(df_structure->profession_category)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_workquota_conditionst__T_traits_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["item_desc"] = reinterpret_cast(&(df_structure->item_desc)) - reinterpret_cast(df_structure); + p_table["product_desc"] = reinterpret_cast(&(df_structure->product_desc)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_workquota_conditionst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["order"] = reinterpret_cast(&(df_structure->order)) - reinterpret_cast(df_structure); + p_table["cond_idx"] = reinterpret_cast(&(df_structure->cond_idx)) - reinterpret_cast(df_structure); + p_table["satisfied_items"] = reinterpret_cast(&(df_structure->satisfied_items)) - reinterpret_cast(df_structure); + p_table["satisfied_orders"] = reinterpret_cast(&(df_structure->satisfied_orders)) - reinterpret_cast(df_structure); + p_table["filter"] = reinterpret_cast(&(df_structure->filter)) - reinterpret_cast(df_structure); + p_table["list_entries"] = reinterpret_cast(&(df_structure->list_entries)) - reinterpret_cast(df_structure); + p_table["list_idx"] = reinterpret_cast(&(df_structure->list_idx)) - reinterpret_cast(df_structure); + p_table["mode"] = reinterpret_cast(&(df_structure->mode)) - reinterpret_cast(df_structure); + p_table["item_types"] = reinterpret_cast(&(df_structure->item_types)) - reinterpret_cast(df_structure); + p_table["item_subtypes"] = reinterpret_cast(&(df_structure->item_subtypes)) - reinterpret_cast(df_structure); + p_table["item_types_visible"] = reinterpret_cast(&(df_structure->item_types_visible)) - reinterpret_cast(df_structure); + p_table["item_subtypes_visible"] = reinterpret_cast(&(df_structure->item_subtypes_visible)) - reinterpret_cast(df_structure); + p_table["mat_types"] = reinterpret_cast(&(df_structure->mat_types)) - reinterpret_cast(df_structure); + p_table["mat_indices"] = reinterpret_cast(&(df_structure->mat_indices)) - reinterpret_cast(df_structure); + p_table["list_unk3"] = reinterpret_cast(&(df_structure->list_unk3)) - reinterpret_cast(df_structure); + p_table["list_visible"] = reinterpret_cast(&(df_structure->list_visible)) - reinterpret_cast(df_structure); + p_table["traits"] = reinterpret_cast(&(df_structure->traits)) - reinterpret_cast(df_structure); + p_table["traits_visible"] = reinterpret_cast(&(df_structure->traits_visible)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["item_count_edit"] = reinterpret_cast(&(df_structure->item_count_edit)) - reinterpret_cast(df_structure); + p_table["item_count_entry"] = reinterpret_cast(&(df_structure->item_count_entry)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_workquota_detailsst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_workshop_profilest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["building_id"] = reinterpret_cast(&(df_structure->building_id)) - reinterpret_cast(df_structure); + p_table["profile"] = reinterpret_cast(&(df_structure->profile)) - reinterpret_cast(df_structure); + p_table["tab"] = reinterpret_cast(&(df_structure->tab)) - reinterpret_cast(df_structure); + p_table["workers"] = reinterpret_cast(&(df_structure->workers)) - reinterpret_cast(df_structure); + p_table["worker_idx"] = reinterpret_cast(&(df_structure->worker_idx)) - reinterpret_cast(df_structure); + p_table["orders"] = reinterpret_cast(&(df_structure->orders)) - reinterpret_cast(df_structure); + p_table["order_idx"] = reinterpret_cast(&(df_structure->order_idx)) - reinterpret_cast(df_structure); + p_table["labors"] = reinterpret_cast(&(df_structure->labors)) - reinterpret_cast(df_structure); + p_table["labor_idx"] = reinterpret_cast(&(df_structure->labor_idx)) - reinterpret_cast(df_structure); +} + +void generate_viewscreen_update_regionst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["year"] = reinterpret_cast(&(df_structure->year)) - reinterpret_cast(df_structure); + p_table["year_tick"] = reinterpret_cast(&(df_structure->year_tick)) - reinterpret_cast(df_structure); +} + +void generate_world_site_unk130__T_unk_4_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk_0"] = reinterpret_cast(&(df_structure->unk_0)) - reinterpret_cast(df_structure); + p_table["index"] = reinterpret_cast(&(df_structure->index)) - reinterpret_cast(df_structure); + p_table["unk_8"] = reinterpret_cast(&(df_structure->unk_8)) - reinterpret_cast(df_structure); + p_table["unk_c"] = reinterpret_cast(&(df_structure->unk_c)) - reinterpret_cast(df_structure); +} + +void generate_world_site_unk130_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["index"] = reinterpret_cast(&(df_structure->index)) - reinterpret_cast(df_structure); + p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); +} + +void generate_embark_note_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["tile"] = reinterpret_cast(&(df_structure->tile)) - reinterpret_cast(df_structure); + p_table["fg_color"] = reinterpret_cast(&(df_structure->fg_color)) - reinterpret_cast(df_structure); + p_table["bg_color"] = reinterpret_cast(&(df_structure->bg_color)) - reinterpret_cast(df_structure); + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["pos"] = reinterpret_cast(&(df_structure->pos)) - reinterpret_cast(df_structure); + p_table["left"] = reinterpret_cast(&(df_structure->left)) - reinterpret_cast(df_structure); + p_table["right"] = reinterpret_cast(&(df_structure->right)) - reinterpret_cast(df_structure); + p_table["top"] = reinterpret_cast(&(df_structure->top)) - reinterpret_cast(df_structure); + p_table["bottom"] = reinterpret_cast(&(df_structure->bottom)) - reinterpret_cast(df_structure); +} + +void generate_local_population_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); + p_table["plant"] = reinterpret_cast(&(df_structure->plant)) - reinterpret_cast(df_structure); + p_table["quantity"] = reinterpret_cast(&(df_structure->quantity)) - reinterpret_cast(df_structure); + p_table["quantity2"] = reinterpret_cast(&(df_structure->quantity2)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["population"] = reinterpret_cast(&(df_structure->population)) - reinterpret_cast(df_structure); + p_table["wp_unk_10"] = reinterpret_cast(&(df_structure->wp_unk_10)) - reinterpret_cast(df_structure); + p_table["wp_unk_18"] = reinterpret_cast(&(df_structure->wp_unk_18)) - reinterpret_cast(df_structure); + p_table["wp_unk_1c"] = reinterpret_cast(&(df_structure->wp_unk_1c)) - reinterpret_cast(df_structure); +} + +void generate_world_population_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); + p_table["plant"] = reinterpret_cast(&(df_structure->plant)) - reinterpret_cast(df_structure); + p_table["count_min"] = reinterpret_cast(&(df_structure->count_min)) - reinterpret_cast(df_structure); + p_table["count_max"] = reinterpret_cast(&(df_structure->count_max)) - reinterpret_cast(df_structure); + p_table["unk_c"] = reinterpret_cast(&(df_structure->unk_c)) - reinterpret_cast(df_structure); + p_table["owner"] = reinterpret_cast(&(df_structure->owner)) - reinterpret_cast(df_structure); + p_table["unk_10"] = reinterpret_cast(&(df_structure->unk_10)) - reinterpret_cast(df_structure); + p_table["unk_14"] = reinterpret_cast(&(df_structure->unk_14)) - reinterpret_cast(df_structure); + p_table["unk_18"] = reinterpret_cast(&(df_structure->unk_18)) - reinterpret_cast(df_structure); + p_table["unk_1c"] = reinterpret_cast(&(df_structure->unk_1c)) - reinterpret_cast(df_structure); +} + +void generate_world_landmass_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["index"] = reinterpret_cast(&(df_structure->index)) - reinterpret_cast(df_structure); + p_table["area"] = reinterpret_cast(&(df_structure->area)) - reinterpret_cast(df_structure); + p_table["min_x"] = reinterpret_cast(&(df_structure->min_x)) - reinterpret_cast(df_structure); + p_table["max_x"] = reinterpret_cast(&(df_structure->max_x)) - reinterpret_cast(df_structure); + p_table["min_y"] = reinterpret_cast(&(df_structure->min_y)) - reinterpret_cast(df_structure); + p_table["max_y"] = reinterpret_cast(&(df_structure->max_y)) - reinterpret_cast(df_structure); + p_table["unk_74"] = reinterpret_cast(&(df_structure->unk_74)) - reinterpret_cast(df_structure); + p_table["unk_84"] = reinterpret_cast(&(df_structure->unk_84)) - reinterpret_cast(df_structure); +} + +void generate_world_region_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["index"] = reinterpret_cast(&(df_structure->index)) - reinterpret_cast(df_structure); + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["region_coords"] = reinterpret_cast(&(df_structure->region_coords)) - reinterpret_cast(df_structure); + p_table["size"] = reinterpret_cast(&(df_structure->size)) - reinterpret_cast(df_structure); + p_table["unk_98"] = reinterpret_cast(&(df_structure->unk_98)) - reinterpret_cast(df_structure); + p_table["unk_9c"] = reinterpret_cast(&(df_structure->unk_9c)) - reinterpret_cast(df_structure); + p_table["unk_a0"] = reinterpret_cast(&(df_structure->unk_a0)) - reinterpret_cast(df_structure); + p_table["unk_a4"] = reinterpret_cast(&(df_structure->unk_a4)) - reinterpret_cast(df_structure); + p_table["population"] = reinterpret_cast(&(df_structure->population)) - reinterpret_cast(df_structure); + p_table["biome_tile_counts"] = reinterpret_cast(&(df_structure->biome_tile_counts)) - reinterpret_cast(df_structure); + p_table["tree_biomes"] = reinterpret_cast(&(df_structure->tree_biomes)) - reinterpret_cast(df_structure); + p_table["tree_tiles_1"] = reinterpret_cast(&(df_structure->tree_tiles_1)) - reinterpret_cast(df_structure); + p_table["tree_tiles_2"] = reinterpret_cast(&(df_structure->tree_tiles_2)) - reinterpret_cast(df_structure); + p_table["tree_tiles_good"] = reinterpret_cast(&(df_structure->tree_tiles_good)) - reinterpret_cast(df_structure); + p_table["tree_tiles_evil"] = reinterpret_cast(&(df_structure->tree_tiles_evil)) - reinterpret_cast(df_structure); + p_table["tree_tiles_savage"] = reinterpret_cast(&(df_structure->tree_tiles_savage)) - reinterpret_cast(df_structure); + p_table["dead_percentage"] = reinterpret_cast(&(df_structure->dead_percentage)) - reinterpret_cast(df_structure); + p_table["unk_1e5"] = reinterpret_cast(&(df_structure->unk_1e5)) - reinterpret_cast(df_structure); + p_table["unk_1e6"] = reinterpret_cast(&(df_structure->unk_1e6)) - reinterpret_cast(df_structure); + p_table["reanimating"] = reinterpret_cast(&(df_structure->reanimating)) - reinterpret_cast(df_structure); + p_table["evil"] = reinterpret_cast(&(df_structure->evil)) - reinterpret_cast(df_structure); + p_table["good"] = reinterpret_cast(&(df_structure->good)) - reinterpret_cast(df_structure); + p_table["lake_surface"] = reinterpret_cast(&(df_structure->lake_surface)) - reinterpret_cast(df_structure); + p_table["forces"] = reinterpret_cast(&(df_structure->forces)) - reinterpret_cast(df_structure); + p_table["unk_200"] = reinterpret_cast(&(df_structure->unk_200)) - reinterpret_cast(df_structure); + p_table["mid_x"] = reinterpret_cast(&(df_structure->mid_x)) - reinterpret_cast(df_structure); + p_table["mid_y"] = reinterpret_cast(&(df_structure->mid_y)) - reinterpret_cast(df_structure); + p_table["min_x"] = reinterpret_cast(&(df_structure->min_x)) - reinterpret_cast(df_structure); + p_table["max_x"] = reinterpret_cast(&(df_structure->max_x)) - reinterpret_cast(df_structure); + p_table["min_y"] = reinterpret_cast(&(df_structure->min_y)) - reinterpret_cast(df_structure); + p_table["max_y"] = reinterpret_cast(&(df_structure->max_y)) - reinterpret_cast(df_structure); +} + +void generate_world_underground_region_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["index"] = reinterpret_cast(&(df_structure->index)) - reinterpret_cast(df_structure); + p_table["layer_depth"] = reinterpret_cast(&(df_structure->layer_depth)) - reinterpret_cast(df_structure); + p_table["layer_depth_p1a"] = reinterpret_cast(&(df_structure->layer_depth_p1a)) - reinterpret_cast(df_structure); + p_table["layer_depth_p1b"] = reinterpret_cast(&(df_structure->layer_depth_p1b)) - reinterpret_cast(df_structure); + p_table["water"] = reinterpret_cast(&(df_structure->water)) - reinterpret_cast(df_structure); + p_table["unk_7c"] = reinterpret_cast(&(df_structure->unk_7c)) - reinterpret_cast(df_structure); + p_table["openness_min"] = reinterpret_cast(&(df_structure->openness_min)) - reinterpret_cast(df_structure); + p_table["openness_max"] = reinterpret_cast(&(df_structure->openness_max)) - reinterpret_cast(df_structure); + p_table["passage_density_min"] = reinterpret_cast(&(df_structure->passage_density_min)) - reinterpret_cast(df_structure); + p_table["passage_density_max"] = reinterpret_cast(&(df_structure->passage_density_max)) - reinterpret_cast(df_structure); + p_table["region_coords"] = reinterpret_cast(&(df_structure->region_coords)) - reinterpret_cast(df_structure); + p_table["region_min_z"] = reinterpret_cast(&(df_structure->region_min_z)) - reinterpret_cast(df_structure); + p_table["region_max_z"] = reinterpret_cast(&(df_structure->region_max_z)) - reinterpret_cast(df_structure); + p_table["unk_c8"] = reinterpret_cast(&(df_structure->unk_c8)) - reinterpret_cast(df_structure); + p_table["feature_init"] = reinterpret_cast(&(df_structure->feature_init)) - reinterpret_cast(df_structure); +} + +void generate_world_river_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["path"] = reinterpret_cast(&(df_structure->path)) - reinterpret_cast(df_structure); + p_table["flow"] = reinterpret_cast(&(df_structure->flow)) - reinterpret_cast(df_structure); + p_table["exit_tile"] = reinterpret_cast(&(df_structure->exit_tile)) - reinterpret_cast(df_structure); + p_table["elevation"] = reinterpret_cast(&(df_structure->elevation)) - reinterpret_cast(df_structure); + p_table["end_pos"] = reinterpret_cast(&(df_structure->end_pos)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); +} + +void generate_world_geo_layer_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["vein_mat"] = reinterpret_cast(&(df_structure->vein_mat)) - reinterpret_cast(df_structure); + p_table["vein_nested_in"] = reinterpret_cast(&(df_structure->vein_nested_in)) - reinterpret_cast(df_structure); + p_table["vein_type"] = reinterpret_cast(&(df_structure->vein_type)) - reinterpret_cast(df_structure); + p_table["vein_unk_38"] = reinterpret_cast(&(df_structure->vein_unk_38)) - reinterpret_cast(df_structure); + p_table["top_height"] = reinterpret_cast(&(df_structure->top_height)) - reinterpret_cast(df_structure); + p_table["bottom_height"] = reinterpret_cast(&(df_structure->bottom_height)) - reinterpret_cast(df_structure); +} + +void generate_world_geo_biome_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); + p_table["index"] = reinterpret_cast(&(df_structure->index)) - reinterpret_cast(df_structure); + p_table["layers"] = reinterpret_cast(&(df_structure->layers)) - reinterpret_cast(df_structure); +} + +void generate_world_region_feature_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["feature_idx"] = reinterpret_cast(&(df_structure->feature_idx)) - reinterpret_cast(df_structure); + p_table["layer"] = reinterpret_cast(&(df_structure->layer)) - reinterpret_cast(df_structure); + p_table["region_tile_idx"] = reinterpret_cast(&(df_structure->region_tile_idx)) - reinterpret_cast(df_structure); + p_table["min_z"] = reinterpret_cast(&(df_structure->min_z)) - reinterpret_cast(df_structure); + p_table["max_z"] = reinterpret_cast(&(df_structure->max_z)) - reinterpret_cast(df_structure); + p_table["unk_c"] = reinterpret_cast(&(df_structure->unk_c)) - reinterpret_cast(df_structure); + p_table["unk_28"] = reinterpret_cast(&(df_structure->unk_28)) - reinterpret_cast(df_structure); + p_table["seed"] = reinterpret_cast(&(df_structure->seed)) - reinterpret_cast(df_structure); + p_table["unk_30"] = reinterpret_cast(&(df_structure->unk_30)) - reinterpret_cast(df_structure); + p_table["unk_38"] = reinterpret_cast(&(df_structure->unk_38)) - reinterpret_cast(df_structure); + p_table["top_layer_idx"] = reinterpret_cast(&(df_structure->top_layer_idx)) - reinterpret_cast(df_structure); +} + +void generate_world_region_details__T_edges_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["split_x"] = reinterpret_cast(&(df_structure->split_x)) - reinterpret_cast(df_structure); + p_table["split_y"] = reinterpret_cast(&(df_structure->split_y)) - reinterpret_cast(df_structure); + p_table["biome_corner"] = reinterpret_cast(&(df_structure->biome_corner)) - reinterpret_cast(df_structure); + p_table["biome_x"] = reinterpret_cast(&(df_structure->biome_x)) - reinterpret_cast(df_structure); + p_table["biome_y"] = reinterpret_cast(&(df_structure->biome_y)) - reinterpret_cast(df_structure); +} + +void generate_world_region_details__T_rivers_vertical_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["x_min"] = reinterpret_cast(&(df_structure->x_min)) - reinterpret_cast(df_structure); + p_table["x_max"] = reinterpret_cast(&(df_structure->x_max)) - reinterpret_cast(df_structure); + p_table["active"] = reinterpret_cast(&(df_structure->active)) - reinterpret_cast(df_structure); + p_table["elevation"] = reinterpret_cast(&(df_structure->elevation)) - reinterpret_cast(df_structure); +} + +void generate_world_region_details__T_rivers_horizontal_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["y_min"] = reinterpret_cast(&(df_structure->y_min)) - reinterpret_cast(df_structure); + p_table["y_max"] = reinterpret_cast(&(df_structure->y_max)) - reinterpret_cast(df_structure); + p_table["active"] = reinterpret_cast(&(df_structure->active)) - reinterpret_cast(df_structure); + p_table["elevation"] = reinterpret_cast(&(df_structure->elevation)) - reinterpret_cast(df_structure); +} + +void generate_world_region_details_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["biome"] = reinterpret_cast(&(df_structure->biome)) - reinterpret_cast(df_structure); + p_table["elevation"] = reinterpret_cast(&(df_structure->elevation)) - reinterpret_cast(df_structure); + p_table["seed"] = reinterpret_cast(&(df_structure->seed)) - reinterpret_cast(df_structure); + p_table["edges"] = reinterpret_cast(&(df_structure->edges)) - reinterpret_cast(df_structure); + p_table["pos"] = reinterpret_cast(&(df_structure->pos)) - reinterpret_cast(df_structure); + p_table["unk12e8"] = reinterpret_cast(&(df_structure->unk12e8)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["rivers_vertical"] = reinterpret_cast(&(df_structure->rivers_vertical)) - reinterpret_cast(df_structure); + p_table["rivers_horizontal"] = reinterpret_cast(&(df_structure->rivers_horizontal)) - reinterpret_cast(df_structure); + p_table["unk11"] = reinterpret_cast(&(df_structure->unk11)) - reinterpret_cast(df_structure); + p_table["features"] = reinterpret_cast(&(df_structure->features)) - reinterpret_cast(df_structure); + p_table["lava_stone"] = reinterpret_cast(&(df_structure->lava_stone)) - reinterpret_cast(df_structure); + p_table["unk_12"] = reinterpret_cast(&(df_structure->unk_12)) - reinterpret_cast(df_structure); + p_table["elevation2"] = reinterpret_cast(&(df_structure->elevation2)) - reinterpret_cast(df_structure); + p_table["undef13"] = reinterpret_cast(&(df_structure->undef13)) - reinterpret_cast(df_structure); +} + +void generate_region_map_entry_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk_0"] = reinterpret_cast(&(df_structure->unk_0)) - reinterpret_cast(df_structure); + p_table["finder_rank"] = reinterpret_cast(&(df_structure->finder_rank)) - reinterpret_cast(df_structure); + p_table["sites"] = reinterpret_cast(&(df_structure->sites)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["elevation"] = reinterpret_cast(&(df_structure->elevation)) - reinterpret_cast(df_structure); + p_table["rainfall"] = reinterpret_cast(&(df_structure->rainfall)) - reinterpret_cast(df_structure); + p_table["vegetation"] = reinterpret_cast(&(df_structure->vegetation)) - reinterpret_cast(df_structure); + p_table["temperature"] = reinterpret_cast(&(df_structure->temperature)) - reinterpret_cast(df_structure); + p_table["evilness"] = reinterpret_cast(&(df_structure->evilness)) - reinterpret_cast(df_structure); + p_table["drainage"] = reinterpret_cast(&(df_structure->drainage)) - reinterpret_cast(df_structure); + p_table["volcanism"] = reinterpret_cast(&(df_structure->volcanism)) - reinterpret_cast(df_structure); + p_table["savagery"] = reinterpret_cast(&(df_structure->savagery)) - reinterpret_cast(df_structure); + p_table["air_temp"] = reinterpret_cast(&(df_structure->air_temp)) - reinterpret_cast(df_structure); + p_table["air_x"] = reinterpret_cast(&(df_structure->air_x)) - reinterpret_cast(df_structure); + p_table["air_y"] = reinterpret_cast(&(df_structure->air_y)) - reinterpret_cast(df_structure); + p_table["clouds"] = reinterpret_cast(&(df_structure->clouds)) - reinterpret_cast(df_structure); + p_table["wind"] = reinterpret_cast(&(df_structure->wind)) - reinterpret_cast(df_structure); + p_table["snowfall"] = reinterpret_cast(&(df_structure->snowfall)) - reinterpret_cast(df_structure); + p_table["salinity"] = reinterpret_cast(&(df_structure->salinity)) - reinterpret_cast(df_structure); + p_table["unk_3e"] = reinterpret_cast(&(df_structure->unk_3e)) - reinterpret_cast(df_structure); + p_table["unk_44"] = reinterpret_cast(&(df_structure->unk_44)) - reinterpret_cast(df_structure); + p_table["unk_4a"] = reinterpret_cast(&(df_structure->unk_4a)) - reinterpret_cast(df_structure); + p_table["region_id"] = reinterpret_cast(&(df_structure->region_id)) - reinterpret_cast(df_structure); + p_table["landmass_id"] = reinterpret_cast(&(df_structure->landmass_id)) - reinterpret_cast(df_structure); + p_table["geo_index"] = reinterpret_cast(&(df_structure->geo_index)) - reinterpret_cast(df_structure); +} + +void generate_entity_claim_mask__T_map_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["entities"] = reinterpret_cast(&(df_structure->entities)) - reinterpret_cast(df_structure); + p_table["region_masks"] = reinterpret_cast(&(df_structure->region_masks)) - reinterpret_cast(df_structure); +} + +void generate_entity_claim_mask_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["map"] = reinterpret_cast(&(df_structure->map)) - reinterpret_cast(df_structure); + p_table["width"] = reinterpret_cast(&(df_structure->width)) - reinterpret_cast(df_structure); + p_table["height"] = reinterpret_cast(&(df_structure->height)) - reinterpret_cast(df_structure); +} + +void generate_moving_party__T_members_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["nemesis_id"] = reinterpret_cast(&(df_structure->nemesis_id)) - reinterpret_cast(df_structure); + p_table["hunger"] = reinterpret_cast(&(df_structure->hunger)) - reinterpret_cast(df_structure); + p_table["thirst"] = reinterpret_cast(&(df_structure->thirst)) - reinterpret_cast(df_structure); + p_table["sleepiness"] = reinterpret_cast(&(df_structure->sleepiness)) - reinterpret_cast(df_structure); + p_table["stored_fat"] = reinterpret_cast(&(df_structure->stored_fat)) - reinterpret_cast(df_structure); + p_table["unk_14"] = reinterpret_cast(&(df_structure->unk_14)) - reinterpret_cast(df_structure); + p_table["unk_18"] = reinterpret_cast(&(df_structure->unk_18)) - reinterpret_cast(df_structure); + p_table["unk_1c"] = reinterpret_cast(&(df_structure->unk_1c)) - reinterpret_cast(df_structure); + p_table["unk_20"] = reinterpret_cast(&(df_structure->unk_20)) - reinterpret_cast(df_structure); + p_table["unk_24"] = reinterpret_cast(&(df_structure->unk_24)) - reinterpret_cast(df_structure); +} + +void generate_moving_party_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["pos"] = reinterpret_cast(&(df_structure->pos)) - reinterpret_cast(df_structure); + p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); + p_table["unk_c"] = reinterpret_cast(&(df_structure->unk_c)) - reinterpret_cast(df_structure); + p_table["unk_10"] = reinterpret_cast(&(df_structure->unk_10)) - reinterpret_cast(df_structure); + p_table["members"] = reinterpret_cast(&(df_structure->members)) - reinterpret_cast(df_structure); + p_table["entity_id"] = reinterpret_cast(&(df_structure->entity_id)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["unk_30"] = reinterpret_cast(&(df_structure->unk_30)) - reinterpret_cast(df_structure); + p_table["unk_40"] = reinterpret_cast(&(df_structure->unk_40)) - reinterpret_cast(df_structure); + p_table["unk_70"] = reinterpret_cast(&(df_structure->unk_70)) - reinterpret_cast(df_structure); + p_table["unk_72"] = reinterpret_cast(&(df_structure->unk_72)) - reinterpret_cast(df_structure); + p_table["unk_74"] = reinterpret_cast(&(df_structure->unk_74)) - reinterpret_cast(df_structure); + p_table["unk_7c"] = reinterpret_cast(&(df_structure->unk_7c)) - reinterpret_cast(df_structure); + p_table["region_id"] = reinterpret_cast(&(df_structure->region_id)) - reinterpret_cast(df_structure); + p_table["beast_id"] = reinterpret_cast(&(df_structure->beast_id)) - reinterpret_cast(df_structure); +} + +void generate_world_object_data__T_offloaded_items_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["item"] = reinterpret_cast(&(df_structure->item)) - reinterpret_cast(df_structure); + p_table["global_x"] = reinterpret_cast(&(df_structure->global_x)) - reinterpret_cast(df_structure); + p_table["global_y"] = reinterpret_cast(&(df_structure->global_y)) - reinterpret_cast(df_structure); + p_table["global_z"] = reinterpret_cast(&(df_structure->global_z)) - reinterpret_cast(df_structure); + p_table["container"] = reinterpret_cast(&(df_structure->container)) - reinterpret_cast(df_structure); + p_table["building"] = reinterpret_cast(&(df_structure->building)) - reinterpret_cast(df_structure); + p_table["unk_18"] = reinterpret_cast(&(df_structure->unk_18)) - reinterpret_cast(df_structure); +} + +void generate_world_object_data__T_offloaded_buildings_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["building"] = reinterpret_cast(&(df_structure->building)) - reinterpret_cast(df_structure); + p_table["global_x"] = reinterpret_cast(&(df_structure->global_x)) - reinterpret_cast(df_structure); + p_table["global_y"] = reinterpret_cast(&(df_structure->global_y)) - reinterpret_cast(df_structure); + p_table["global_z"] = reinterpret_cast(&(df_structure->global_z)) - reinterpret_cast(df_structure); + p_table["unk_10"] = reinterpret_cast(&(df_structure->unk_10)) - reinterpret_cast(df_structure); +} + +void generate_world_object_data__T_unk_94_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["global_x"] = reinterpret_cast(&(df_structure->global_x)) - reinterpret_cast(df_structure); + p_table["global_y"] = reinterpret_cast(&(df_structure->global_y)) - reinterpret_cast(df_structure); + p_table["global_z"] = reinterpret_cast(&(df_structure->global_z)) - reinterpret_cast(df_structure); + p_table["unk_c"] = reinterpret_cast(&(df_structure->unk_c)) - reinterpret_cast(df_structure); +} + +void generate_world_object_data_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["altered_items"] = reinterpret_cast(&(df_structure->altered_items)) - reinterpret_cast(df_structure); + p_table["offloaded_items"] = reinterpret_cast(&(df_structure->offloaded_items)) - reinterpret_cast(df_structure); + p_table["unk_24"] = reinterpret_cast(&(df_structure->unk_24)) - reinterpret_cast(df_structure); + p_table["unk_34"] = reinterpret_cast(&(df_structure->unk_34)) - reinterpret_cast(df_structure); + p_table["unk_44"] = reinterpret_cast(&(df_structure->unk_44)) - reinterpret_cast(df_structure); + p_table["unk_54"] = reinterpret_cast(&(df_structure->unk_54)) - reinterpret_cast(df_structure); + p_table["unk_64"] = reinterpret_cast(&(df_structure->unk_64)) - reinterpret_cast(df_structure); + p_table["altered_buildings"] = reinterpret_cast(&(df_structure->altered_buildings)) - reinterpret_cast(df_structure); + p_table["offloaded_buildings"] = reinterpret_cast(&(df_structure->offloaded_buildings)) - reinterpret_cast(df_structure); + p_table["unk_94"] = reinterpret_cast(&(df_structure->unk_94)) - reinterpret_cast(df_structure); + p_table["creation_zone_alterations"] = reinterpret_cast(&(df_structure->creation_zone_alterations)) - reinterpret_cast(df_structure); + p_table["unk_v40_1"] = reinterpret_cast(&(df_structure->unk_v40_1)) - reinterpret_cast(df_structure); + p_table["year"] = reinterpret_cast(&(df_structure->year)) - reinterpret_cast(df_structure); + p_table["year_tick"] = reinterpret_cast(&(df_structure->year_tick)) - reinterpret_cast(df_structure); + p_table["unk_c0"] = reinterpret_cast(&(df_structure->unk_c0)) - reinterpret_cast(df_structure); + p_table["unk_d0"] = reinterpret_cast(&(df_structure->unk_d0)) - reinterpret_cast(df_structure); + p_table["unk_e0"] = reinterpret_cast(&(df_structure->unk_e0)) - reinterpret_cast(df_structure); + p_table["unk_f0"] = reinterpret_cast(&(df_structure->unk_f0)) - reinterpret_cast(df_structure); + p_table["unk_100"] = reinterpret_cast(&(df_structure->unk_100)) - reinterpret_cast(df_structure); + p_table["unk_110"] = reinterpret_cast(&(df_structure->unk_110)) - reinterpret_cast(df_structure); + p_table["unk_v43_1"] = reinterpret_cast(&(df_structure->unk_v43_1)) - reinterpret_cast(df_structure); + p_table["unk_v43_2"] = reinterpret_cast(&(df_structure->unk_v43_2)) - reinterpret_cast(df_structure); + p_table["unk_v43_3"] = reinterpret_cast(&(df_structure->unk_v43_3)) - reinterpret_cast(df_structure); + p_table["unk_v43_4"] = reinterpret_cast(&(df_structure->unk_v43_4)) - reinterpret_cast(df_structure); +} + +void generate_world_data__T_unk_b4_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["world_width2"] = reinterpret_cast(&(df_structure->world_width2)) - reinterpret_cast(df_structure); + p_table["world_height2"] = reinterpret_cast(&(df_structure->world_height2)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); +} + +void generate_world_data__T_constructions_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["width"] = reinterpret_cast(&(df_structure->width)) - reinterpret_cast(df_structure); + p_table["height"] = reinterpret_cast(&(df_structure->height)) - reinterpret_cast(df_structure); + p_table["map"] = reinterpret_cast(&(df_structure->map)) - reinterpret_cast(df_structure); + p_table["list"] = reinterpret_cast(&(df_structure->list)) - reinterpret_cast(df_structure); + p_table["next_id"] = reinterpret_cast(&(df_structure->next_id)) - reinterpret_cast(df_structure); +} + +void generate_world_data__T_unk_150__T_unk_8_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["index"] = reinterpret_cast(&(df_structure->index)) - reinterpret_cast(df_structure); + p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); + p_table["unk_8"] = reinterpret_cast(&(df_structure->unk_8)) - reinterpret_cast(df_structure); +} + +void generate_world_data__T_unk_150__T_unk_18_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["index"] = reinterpret_cast(&(df_structure->index)) - reinterpret_cast(df_structure); + p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); + p_table["unk_8"] = reinterpret_cast(&(df_structure->unk_8)) - reinterpret_cast(df_structure); +} + +void generate_world_data__T_unk_150__T_unk_28_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk_0"] = reinterpret_cast(&(df_structure->unk_0)) - reinterpret_cast(df_structure); + p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); +} + +void generate_world_data__T_unk_150_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["index"] = reinterpret_cast(&(df_structure->index)) - reinterpret_cast(df_structure); + p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); + p_table["unk_8"] = reinterpret_cast(&(df_structure->unk_8)) - reinterpret_cast(df_structure); + p_table["unk_18"] = reinterpret_cast(&(df_structure->unk_18)) - reinterpret_cast(df_structure); + p_table["unk_28"] = reinterpret_cast(&(df_structure->unk_28)) - reinterpret_cast(df_structure); +} + +void generate_world_data__T_unk_170__T_unk_4_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk_0"] = reinterpret_cast(&(df_structure->unk_0)) - reinterpret_cast(df_structure); + p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); + p_table["unk_8"] = reinterpret_cast(&(df_structure->unk_8)) - reinterpret_cast(df_structure); + p_table["unk_c"] = reinterpret_cast(&(df_structure->unk_c)) - reinterpret_cast(df_structure); + p_table["unk_10"] = reinterpret_cast(&(df_structure->unk_10)) - reinterpret_cast(df_structure); + p_table["unk_14"] = reinterpret_cast(&(df_structure->unk_14)) - reinterpret_cast(df_structure); + p_table["unk_18"] = reinterpret_cast(&(df_structure->unk_18)) - reinterpret_cast(df_structure); + p_table["unk_1c"] = reinterpret_cast(&(df_structure->unk_1c)) - reinterpret_cast(df_structure); +} + +void generate_world_data__T_unk_170_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["index"] = reinterpret_cast(&(df_structure->index)) - reinterpret_cast(df_structure); + p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); + p_table["unk_14"] = reinterpret_cast(&(df_structure->unk_14)) - reinterpret_cast(df_structure); + p_table["x1"] = reinterpret_cast(&(df_structure->x1)) - reinterpret_cast(df_structure); + p_table["y1"] = reinterpret_cast(&(df_structure->y1)) - reinterpret_cast(df_structure); + p_table["x2"] = reinterpret_cast(&(df_structure->x2)) - reinterpret_cast(df_structure); + p_table["y2"] = reinterpret_cast(&(df_structure->y2)) - reinterpret_cast(df_structure); + p_table["unk_34"] = reinterpret_cast(&(df_structure->unk_34)) - reinterpret_cast(df_structure); + p_table["unk_38"] = reinterpret_cast(&(df_structure->unk_38)) - reinterpret_cast(df_structure); +} + +void generate_world_data__T_freakish_weather_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk_0"] = reinterpret_cast(&(df_structure->unk_0)) - reinterpret_cast(df_structure); + p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); + p_table["unk_10"] = reinterpret_cast(&(df_structure->unk_10)) - reinterpret_cast(df_structure); + p_table["region_x"] = reinterpret_cast(&(df_structure->region_x)) - reinterpret_cast(df_structure); + p_table["region_y"] = reinterpret_cast(&(df_structure->region_y)) - reinterpret_cast(df_structure); + p_table["unk_1c"] = reinterpret_cast(&(df_structure->unk_1c)) - reinterpret_cast(df_structure); + p_table["unk_20"] = reinterpret_cast(&(df_structure->unk_20)) - reinterpret_cast(df_structure); + p_table["unk_24"] = reinterpret_cast(&(df_structure->unk_24)) - reinterpret_cast(df_structure); + p_table["unk_28"] = reinterpret_cast(&(df_structure->unk_28)) - reinterpret_cast(df_structure); + p_table["unk_2c"] = reinterpret_cast(&(df_structure->unk_2c)) - reinterpret_cast(df_structure); + p_table["unk_30"] = reinterpret_cast(&(df_structure->unk_30)) - reinterpret_cast(df_structure); + p_table["unk_34"] = reinterpret_cast(&(df_structure->unk_34)) - reinterpret_cast(df_structure); +} + +void generate_world_data__T_mountain_peaks_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["pos"] = reinterpret_cast(&(df_structure->pos)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["height"] = reinterpret_cast(&(df_structure->height)) - reinterpret_cast(df_structure); +} + +void generate_world_data__T_feature_map__T_features_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["feature_init"] = reinterpret_cast(&(df_structure->feature_init)) - reinterpret_cast(df_structure); + p_table["unk"] = reinterpret_cast(&(df_structure->unk)) - reinterpret_cast(df_structure); +} + +void generate_world_data__T_feature_map_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["x"] = reinterpret_cast(&(df_structure->x)) - reinterpret_cast(df_structure); + p_table["y"] = reinterpret_cast(&(df_structure->y)) - reinterpret_cast(df_structure); + p_table["features"] = reinterpret_cast(&(df_structure->features)) - reinterpret_cast(df_structure); + p_table["unk_8"] = reinterpret_cast(&(df_structure->unk_8)) - reinterpret_cast(df_structure); + p_table["unk_c"] = reinterpret_cast(&(df_structure->unk_c)) - reinterpret_cast(df_structure); +} + +void generate_world_data__T_unk_274__T_unk_10_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk_0"] = reinterpret_cast(&(df_structure->unk_0)) - reinterpret_cast(df_structure); + p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); + p_table["unk_8"] = reinterpret_cast(&(df_structure->unk_8)) - reinterpret_cast(df_structure); +} + +void generate_world_data__T_unk_274_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["members"] = reinterpret_cast(&(df_structure->members)) - reinterpret_cast(df_structure); + p_table["unk_10"] = reinterpret_cast(&(df_structure->unk_10)) - reinterpret_cast(df_structure); + p_table["entity"] = reinterpret_cast(&(df_structure->entity)) - reinterpret_cast(df_structure); + p_table["unk_24"] = reinterpret_cast(&(df_structure->unk_24)) - reinterpret_cast(df_structure); + p_table["unk_region_name"] = reinterpret_cast(&(df_structure->unk_region_name)) - reinterpret_cast(df_structure); + p_table["unk_2c"] = reinterpret_cast(&(df_structure->unk_2c)) - reinterpret_cast(df_structure); + p_table["unk_30"] = reinterpret_cast(&(df_structure->unk_30)) - reinterpret_cast(df_structure); +} + +void generate_world_data__T_unk_482f8_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); + p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); +} + +void generate_world_data_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); + p_table["next_site_id"] = reinterpret_cast(&(df_structure->next_site_id)) - reinterpret_cast(df_structure); + p_table["next_site_unk136_id"] = reinterpret_cast(&(df_structure->next_site_unk136_id)) - reinterpret_cast(df_structure); + p_table["next_resource_allotment_id"] = reinterpret_cast(&(df_structure->next_resource_allotment_id)) - reinterpret_cast(df_structure); + p_table["next_unk_150_id"] = reinterpret_cast(&(df_structure->next_unk_150_id)) - reinterpret_cast(df_structure); + p_table["next_unk_170_id"] = reinterpret_cast(&(df_structure->next_unk_170_id)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["world_width"] = reinterpret_cast(&(df_structure->world_width)) - reinterpret_cast(df_structure); + p_table["world_height"] = reinterpret_cast(&(df_structure->world_height)) - reinterpret_cast(df_structure); + p_table["unk_78"] = reinterpret_cast(&(df_structure->unk_78)) - reinterpret_cast(df_structure); + p_table["moon_phase"] = reinterpret_cast(&(df_structure->moon_phase)) - reinterpret_cast(df_structure); + p_table["flip_latitude"] = reinterpret_cast(&(df_structure->flip_latitude)) - reinterpret_cast(df_structure); + p_table["flip_longitude"] = reinterpret_cast(&(df_structure->flip_longitude)) - reinterpret_cast(df_structure); + p_table["unk_84"] = reinterpret_cast(&(df_structure->unk_84)) - reinterpret_cast(df_structure); + p_table["unk_86"] = reinterpret_cast(&(df_structure->unk_86)) - reinterpret_cast(df_structure); + p_table["unk_88"] = reinterpret_cast(&(df_structure->unk_88)) - reinterpret_cast(df_structure); + p_table["unk_8a"] = reinterpret_cast(&(df_structure->unk_8a)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["unk_b4"] = reinterpret_cast(&(df_structure->unk_b4)) - reinterpret_cast(df_structure); + p_table["region_details"] = reinterpret_cast(&(df_structure->region_details)) - reinterpret_cast(df_structure); + p_table["adv_region_x"] = reinterpret_cast(&(df_structure->adv_region_x)) - reinterpret_cast(df_structure); + p_table["adv_region_y"] = reinterpret_cast(&(df_structure->adv_region_y)) - reinterpret_cast(df_structure); + p_table["adv_emb_x"] = reinterpret_cast(&(df_structure->adv_emb_x)) - reinterpret_cast(df_structure); + p_table["adv_emb_y"] = reinterpret_cast(&(df_structure->adv_emb_y)) - reinterpret_cast(df_structure); + p_table["unk_x1"] = reinterpret_cast(&(df_structure->unk_x1)) - reinterpret_cast(df_structure); + p_table["unk_y1"] = reinterpret_cast(&(df_structure->unk_y1)) - reinterpret_cast(df_structure); + p_table["unk_x2"] = reinterpret_cast(&(df_structure->unk_x2)) - reinterpret_cast(df_structure); + p_table["unk_y2"] = reinterpret_cast(&(df_structure->unk_y2)) - reinterpret_cast(df_structure); + p_table["constructions"] = reinterpret_cast(&(df_structure->constructions)) - reinterpret_cast(df_structure); + p_table["entity_claims1"] = reinterpret_cast(&(df_structure->entity_claims1)) - reinterpret_cast(df_structure); + p_table["entity_claims2"] = reinterpret_cast(&(df_structure->entity_claims2)) - reinterpret_cast(df_structure); + p_table["sites"] = reinterpret_cast(&(df_structure->sites)) - reinterpret_cast(df_structure); + p_table["site_unk130"] = reinterpret_cast(&(df_structure->site_unk130)) - reinterpret_cast(df_structure); + p_table["resource_allotments"] = reinterpret_cast(&(df_structure->resource_allotments)) - reinterpret_cast(df_structure); + p_table["unk_150"] = reinterpret_cast(&(df_structure->unk_150)) - reinterpret_cast(df_structure); + p_table["unk_170"] = reinterpret_cast(&(df_structure->unk_170)) - reinterpret_cast(df_structure); + p_table["freakish_weather"] = reinterpret_cast(&(df_structure->freakish_weather)) - reinterpret_cast(df_structure); + p_table["object_data"] = reinterpret_cast(&(df_structure->object_data)) - reinterpret_cast(df_structure); + p_table["landmasses"] = reinterpret_cast(&(df_structure->landmasses)) - reinterpret_cast(df_structure); + p_table["regions"] = reinterpret_cast(&(df_structure->regions)) - reinterpret_cast(df_structure); + p_table["underground_regions"] = reinterpret_cast(&(df_structure->underground_regions)) - reinterpret_cast(df_structure); + p_table["geo_biomes"] = reinterpret_cast(&(df_structure->geo_biomes)) - reinterpret_cast(df_structure); + p_table["mountain_peaks"] = reinterpret_cast(&(df_structure->mountain_peaks)) - reinterpret_cast(df_structure); + p_table["rivers"] = reinterpret_cast(&(df_structure->rivers)) - reinterpret_cast(df_structure); + p_table["region_map"] = reinterpret_cast(&(df_structure->region_map)) - reinterpret_cast(df_structure); + p_table["unk_1c4"] = reinterpret_cast(&(df_structure->unk_1c4)) - reinterpret_cast(df_structure); + p_table["unk_1c8"] = reinterpret_cast(&(df_structure->unk_1c8)) - reinterpret_cast(df_structure); + p_table["embark_notes"] = reinterpret_cast(&(df_structure->embark_notes)) - reinterpret_cast(df_structure); + p_table["unk_1dc"] = reinterpret_cast(&(df_structure->unk_1dc)) - reinterpret_cast(df_structure); + p_table["unk_1e0"] = reinterpret_cast(&(df_structure->unk_1e0)) - reinterpret_cast(df_structure); + p_table["unk_1e4"] = reinterpret_cast(&(df_structure->unk_1e4)) - reinterpret_cast(df_structure); + p_table["unk_1e8"] = reinterpret_cast(&(df_structure->unk_1e8)) - reinterpret_cast(df_structure); + p_table["unk_1ec"] = reinterpret_cast(&(df_structure->unk_1ec)) - reinterpret_cast(df_structure); + p_table["unk_1f0"] = reinterpret_cast(&(df_structure->unk_1f0)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); + p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); + p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); + p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); + p_table["anon_11"] = reinterpret_cast(&(df_structure->anon_11)) - reinterpret_cast(df_structure); + p_table["anon_12"] = reinterpret_cast(&(df_structure->anon_12)) - reinterpret_cast(df_structure); + p_table["anon_13"] = reinterpret_cast(&(df_structure->anon_13)) - reinterpret_cast(df_structure); + p_table["anon_14"] = reinterpret_cast(&(df_structure->anon_14)) - reinterpret_cast(df_structure); + p_table["anon_15"] = reinterpret_cast(&(df_structure->anon_15)) - reinterpret_cast(df_structure); + p_table["anon_16"] = reinterpret_cast(&(df_structure->anon_16)) - reinterpret_cast(df_structure); + p_table["anon_17"] = reinterpret_cast(&(df_structure->anon_17)) - reinterpret_cast(df_structure); + p_table["anon_18"] = reinterpret_cast(&(df_structure->anon_18)) - reinterpret_cast(df_structure); + p_table["anon_19"] = reinterpret_cast(&(df_structure->anon_19)) - reinterpret_cast(df_structure); + p_table["anon_20"] = reinterpret_cast(&(df_structure->anon_20)) - reinterpret_cast(df_structure); + p_table["anon_21"] = reinterpret_cast(&(df_structure->anon_21)) - reinterpret_cast(df_structure); + p_table["anon_22"] = reinterpret_cast(&(df_structure->anon_22)) - reinterpret_cast(df_structure); + p_table["active_site"] = reinterpret_cast(&(df_structure->active_site)) - reinterpret_cast(df_structure); + p_table["feature_map"] = reinterpret_cast(&(df_structure->feature_map)) - reinterpret_cast(df_structure); + p_table["old_sites"] = reinterpret_cast(&(df_structure->old_sites)) - reinterpret_cast(df_structure); + p_table["old_site_x"] = reinterpret_cast(&(df_structure->old_site_x)) - reinterpret_cast(df_structure); + p_table["old_site_y"] = reinterpret_cast(&(df_structure->old_site_y)) - reinterpret_cast(df_structure); + p_table["land_rgns"] = reinterpret_cast(&(df_structure->land_rgns)) - reinterpret_cast(df_structure); + p_table["unk_260"] = reinterpret_cast(&(df_structure->unk_260)) - reinterpret_cast(df_structure); + p_table["unk_264"] = reinterpret_cast(&(df_structure->unk_264)) - reinterpret_cast(df_structure); + p_table["unk_268"] = reinterpret_cast(&(df_structure->unk_268)) - reinterpret_cast(df_structure); + p_table["unk_26c"] = reinterpret_cast(&(df_structure->unk_26c)) - reinterpret_cast(df_structure); + p_table["unk_270"] = reinterpret_cast(&(df_structure->unk_270)) - reinterpret_cast(df_structure); + p_table["unk_274"] = reinterpret_cast(&(df_structure->unk_274)) - reinterpret_cast(df_structure); + p_table["unk_482f8"] = reinterpret_cast(&(df_structure->unk_482f8)) - reinterpret_cast(df_structure); +} + +void generate_site_reputation_info_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["reports"] = reinterpret_cast(&(df_structure->reports)) - reinterpret_cast(df_structure); +} + +void generate_location_scribe_jobs_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["scribejobs"] = reinterpret_cast(&(df_structure->scribejobs)) - reinterpret_cast(df_structure); + p_table["nextidmaybe"] = reinterpret_cast(&(df_structure->nextidmaybe)) - reinterpret_cast(df_structure); + p_table["year"] = reinterpret_cast(&(df_structure->year)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); +} + +void generate_abstract_building_unk__T_anon_1_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); +} + +void generate_abstract_building_unk_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["histfigs"] = reinterpret_cast(&(df_structure->histfigs)) - reinterpret_cast(df_structure); +} + +void generate_abstract_building__T_inhabitants_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["histfig_id"] = reinterpret_cast(&(df_structure->histfig_id)) - reinterpret_cast(df_structure); +} + +void generate_abstract_building__T_unk1_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["hfig"] = reinterpret_cast(&(df_structure->hfig)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); +} + +void generate_abstract_building_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["inhabitants"] = reinterpret_cast(&(df_structure->inhabitants)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); + p_table["unk2"] = reinterpret_cast(&(df_structure->unk2)) - reinterpret_cast(df_structure); + p_table["unk3"] = reinterpret_cast(&(df_structure->unk3)) - reinterpret_cast(df_structure); + p_table["unk4"] = reinterpret_cast(&(df_structure->unk4)) - reinterpret_cast(df_structure); + p_table["site_owner_id"] = reinterpret_cast(&(df_structure->site_owner_id)) - reinterpret_cast(df_structure); + p_table["scribeinfo"] = reinterpret_cast(&(df_structure->scribeinfo)) - reinterpret_cast(df_structure); + p_table["reputation_reports"] = reinterpret_cast(&(df_structure->reputation_reports)) - reinterpret_cast(df_structure); + p_table["unk_v42_3"] = reinterpret_cast(&(df_structure->unk_v42_3)) - reinterpret_cast(df_structure); + p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); + p_table["pos"] = reinterpret_cast(&(df_structure->pos)) - reinterpret_cast(df_structure); + p_table["occupations"] = reinterpret_cast(&(df_structure->occupations)) - reinterpret_cast(df_structure); +} + +void generate_abstract_building_keepst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); +} + +void generate_abstract_building_templest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["deity"] = reinterpret_cast(&(df_structure->deity)) - reinterpret_cast(df_structure); + p_table["religion"] = reinterpret_cast(&(df_structure->religion)) - reinterpret_cast(df_structure); + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["contents"] = reinterpret_cast(&(df_structure->contents)) - reinterpret_cast(df_structure); +} + +void generate_abstract_building_dark_towerst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); +} + +void generate_abstract_building_marketst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); +} + +void generate_abstract_building_tombst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["unk"] = reinterpret_cast(&(df_structure->unk)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_abstract_building_dungeonst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["dungeon_type"] = reinterpret_cast(&(df_structure->dungeon_type)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["unk"] = reinterpret_cast(&(df_structure->unk)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); +} + +void generate_abstract_building_underworld_spirest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["unk_bc"] = reinterpret_cast(&(df_structure->unk_bc)) - reinterpret_cast(df_structure); +} + +void generate_abstract_building_inn_tavernst__T_room_info_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["world_x"] = reinterpret_cast(&(df_structure->world_x)) - reinterpret_cast(df_structure); + p_table["world_y"] = reinterpret_cast(&(df_structure->world_y)) - reinterpret_cast(df_structure); + p_table["world_z"] = reinterpret_cast(&(df_structure->world_z)) - reinterpret_cast(df_structure); +} + +void generate_abstract_building_inn_tavernst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["contents"] = reinterpret_cast(&(df_structure->contents)) - reinterpret_cast(df_structure); + p_table["room_info"] = reinterpret_cast(&(df_structure->room_info)) - reinterpret_cast(df_structure); + p_table["next_room_info_id"] = reinterpret_cast(&(df_structure->next_room_info_id)) - reinterpret_cast(df_structure); +} + +void generate_abstract_building_libraryst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["contents"] = reinterpret_cast(&(df_structure->contents)) - reinterpret_cast(df_structure); +} + +void generate_world_site__T_unk_1__T_units_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unit_id"] = reinterpret_cast(&(df_structure->unit_id)) - reinterpret_cast(df_structure); + p_table["pos_x"] = reinterpret_cast(&(df_structure->pos_x)) - reinterpret_cast(df_structure); + p_table["pos_y"] = reinterpret_cast(&(df_structure->pos_y)) - reinterpret_cast(df_structure); + p_table["pos_z"] = reinterpret_cast(&(df_structure->pos_z)) - reinterpret_cast(df_structure); + p_table["unk_10"] = reinterpret_cast(&(df_structure->unk_10)) - reinterpret_cast(df_structure); +} + +void generate_world_site__T_unk_1_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["nemesis"] = reinterpret_cast(&(df_structure->nemesis)) - reinterpret_cast(df_structure); + p_table["artifacts"] = reinterpret_cast(&(df_structure->artifacts)) - reinterpret_cast(df_structure); + p_table["animals"] = reinterpret_cast(&(df_structure->animals)) - reinterpret_cast(df_structure); + p_table["inhabitants"] = reinterpret_cast(&(df_structure->inhabitants)) - reinterpret_cast(df_structure); + p_table["units"] = reinterpret_cast(&(df_structure->units)) - reinterpret_cast(df_structure); + p_table["unk_d4"] = reinterpret_cast(&(df_structure->unk_d4)) - reinterpret_cast(df_structure); + p_table["unk_v40_1a"] = reinterpret_cast(&(df_structure->unk_v40_1a)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["unk_v40_1b"] = reinterpret_cast(&(df_structure->unk_v40_1b)) - reinterpret_cast(df_structure); + p_table["unk_v40_1c"] = reinterpret_cast(&(df_structure->unk_v40_1c)) - reinterpret_cast(df_structure); + p_table["unk_v40_1d"] = reinterpret_cast(&(df_structure->unk_v40_1d)) - reinterpret_cast(df_structure); + p_table["unk_v40_1e"] = reinterpret_cast(&(df_structure->unk_v40_1e)) - reinterpret_cast(df_structure); + p_table["unk_v40_1f"] = reinterpret_cast(&(df_structure->unk_v40_1f)) - reinterpret_cast(df_structure); + p_table["unk_v40_1g"] = reinterpret_cast(&(df_structure->unk_v40_1g)) - reinterpret_cast(df_structure); + p_table["unk_v40_1h"] = reinterpret_cast(&(df_structure->unk_v40_1h)) - reinterpret_cast(df_structure); +} + +void generate_world_site__T_unk_118_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); +} + +void generate_world_site__T_unk_13c_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk_0"] = reinterpret_cast(&(df_structure->unk_0)) - reinterpret_cast(df_structure); + p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); + p_table["unk_8"] = reinterpret_cast(&(df_structure->unk_8)) - reinterpret_cast(df_structure); + p_table["unk_c"] = reinterpret_cast(&(df_structure->unk_c)) - reinterpret_cast(df_structure); + p_table["unk_10"] = reinterpret_cast(&(df_structure->unk_10)) - reinterpret_cast(df_structure); + p_table["unk_20"] = reinterpret_cast(&(df_structure->unk_20)) - reinterpret_cast(df_structure); + p_table["unk_30"] = reinterpret_cast(&(df_structure->unk_30)) - reinterpret_cast(df_structure); +} + +void generate_world_site__T_unk_v40_2_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk_0"] = reinterpret_cast(&(df_structure->unk_0)) - reinterpret_cast(df_structure); + p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); + p_table["unk_8"] = reinterpret_cast(&(df_structure->unk_8)) - reinterpret_cast(df_structure); + p_table["unk_c"] = reinterpret_cast(&(df_structure->unk_c)) - reinterpret_cast(df_structure); + p_table["unk_10"] = reinterpret_cast(&(df_structure->unk_10)) - reinterpret_cast(df_structure); + p_table["unk_20"] = reinterpret_cast(&(df_structure->unk_20)) - reinterpret_cast(df_structure); + p_table["unk_30"] = reinterpret_cast(&(df_structure->unk_30)) - reinterpret_cast(df_structure); +} + +void generate_world_site__T_subtype_info_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["is_tower"] = reinterpret_cast(&(df_structure->is_tower)) - reinterpret_cast(df_structure); + p_table["is_monument"] = reinterpret_cast(&(df_structure->is_monument)) - reinterpret_cast(df_structure); + p_table["lair_type"] = reinterpret_cast(&(df_structure->lair_type)) - reinterpret_cast(df_structure); + p_table["unk_8"] = reinterpret_cast(&(df_structure->unk_8)) - reinterpret_cast(df_structure); + p_table["unk_14"] = reinterpret_cast(&(df_structure->unk_14)) - reinterpret_cast(df_structure); + p_table["unk_18"] = reinterpret_cast(&(df_structure->unk_18)) - reinterpret_cast(df_structure); + p_table["unk_1c"] = reinterpret_cast(&(df_structure->unk_1c)) - reinterpret_cast(df_structure); + p_table["creator"] = reinterpret_cast(&(df_structure->creator)) - reinterpret_cast(df_structure); + p_table["unk_28"] = reinterpret_cast(&(df_structure->unk_28)) - reinterpret_cast(df_structure); +} + +void generate_world_site__T_unk_21c_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk_0"] = reinterpret_cast(&(df_structure->unk_0)) - reinterpret_cast(df_structure); + p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); + p_table["entity_id"] = reinterpret_cast(&(df_structure->entity_id)) - reinterpret_cast(df_structure); + p_table["unk_c"] = reinterpret_cast(&(df_structure->unk_c)) - reinterpret_cast(df_structure); + p_table["unk_10"] = reinterpret_cast(&(df_structure->unk_10)) - reinterpret_cast(df_structure); + p_table["unk_14"] = reinterpret_cast(&(df_structure->unk_14)) - reinterpret_cast(df_structure); + p_table["unk_18"] = reinterpret_cast(&(df_structure->unk_18)) - reinterpret_cast(df_structure); + p_table["unk_1c"] = reinterpret_cast(&(df_structure->unk_1c)) - reinterpret_cast(df_structure); +} + +void generate_world_site__T_unk_v40_4a_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk_0"] = reinterpret_cast(&(df_structure->unk_0)) - reinterpret_cast(df_structure); + p_table["entity_id"] = reinterpret_cast(&(df_structure->entity_id)) - reinterpret_cast(df_structure); + p_table["year"] = reinterpret_cast(&(df_structure->year)) - reinterpret_cast(df_structure); + p_table["year_tick"] = reinterpret_cast(&(df_structure->year_tick)) - reinterpret_cast(df_structure); + p_table["unk_10"] = reinterpret_cast(&(df_structure->unk_10)) - reinterpret_cast(df_structure); + p_table["unk_14"] = reinterpret_cast(&(df_structure->unk_14)) - reinterpret_cast(df_structure); +} + +void generate_world_site__T_unk_v40_4b_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); +} + +void generate_world_site__T_unk_v40_4c_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); +} + +void generate_world_site__T_unk_v40_4d__T_anon_2_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); + p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); +} + +void generate_world_site__T_unk_v40_4d_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); +} + +void generate_world_site__T_unk_v43_2_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); + p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); + p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); + p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); + p_table["anon_11"] = reinterpret_cast(&(df_structure->anon_11)) - reinterpret_cast(df_structure); + p_table["anon_12"] = reinterpret_cast(&(df_structure->anon_12)) - reinterpret_cast(df_structure); + p_table["anon_13"] = reinterpret_cast(&(df_structure->anon_13)) - reinterpret_cast(df_structure); + p_table["anon_14"] = reinterpret_cast(&(df_structure->anon_14)) - reinterpret_cast(df_structure); + p_table["anon_15"] = reinterpret_cast(&(df_structure->anon_15)) - reinterpret_cast(df_structure); + p_table["anon_16"] = reinterpret_cast(&(df_structure->anon_16)) - reinterpret_cast(df_structure); + p_table["anon_17"] = reinterpret_cast(&(df_structure->anon_17)) - reinterpret_cast(df_structure); +} + +void generate_world_site__T_unk_188__T_unk1_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); +} + +void generate_world_site__T_unk_188_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); +} + +void generate_world_site_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["civ_id"] = reinterpret_cast(&(df_structure->civ_id)) - reinterpret_cast(df_structure); + p_table["cur_owner_id"] = reinterpret_cast(&(df_structure->cur_owner_id)) - reinterpret_cast(df_structure); + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["pos"] = reinterpret_cast(&(df_structure->pos)) - reinterpret_cast(df_structure); + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["unk_1"] = reinterpret_cast(&(df_structure->unk_1)) - reinterpret_cast(df_structure); + p_table["index"] = reinterpret_cast(&(df_structure->index)) - reinterpret_cast(df_structure); + p_table["rgn_min_x"] = reinterpret_cast(&(df_structure->rgn_min_x)) - reinterpret_cast(df_structure); + p_table["rgn_max_x"] = reinterpret_cast(&(df_structure->rgn_max_x)) - reinterpret_cast(df_structure); + p_table["rgn_min_y"] = reinterpret_cast(&(df_structure->rgn_min_y)) - reinterpret_cast(df_structure); + p_table["rgn_max_y"] = reinterpret_cast(&(df_structure->rgn_max_y)) - reinterpret_cast(df_structure); + p_table["rgn_min_z"] = reinterpret_cast(&(df_structure->rgn_min_z)) - reinterpret_cast(df_structure); + p_table["rgn_max_z"] = reinterpret_cast(&(df_structure->rgn_max_z)) - reinterpret_cast(df_structure); + p_table["global_min_x"] = reinterpret_cast(&(df_structure->global_min_x)) - reinterpret_cast(df_structure); + p_table["global_min_y"] = reinterpret_cast(&(df_structure->global_min_y)) - reinterpret_cast(df_structure); + p_table["global_max_x"] = reinterpret_cast(&(df_structure->global_max_x)) - reinterpret_cast(df_structure); + p_table["global_max_y"] = reinterpret_cast(&(df_structure->global_max_y)) - reinterpret_cast(df_structure); + p_table["seed1"] = reinterpret_cast(&(df_structure->seed1)) - reinterpret_cast(df_structure); + p_table["seed2"] = reinterpret_cast(&(df_structure->seed2)) - reinterpret_cast(df_structure); + p_table["resident_count"] = reinterpret_cast(&(df_structure->resident_count)) - reinterpret_cast(df_structure); + p_table["unk_110"] = reinterpret_cast(&(df_structure->unk_110)) - reinterpret_cast(df_structure); + p_table["unk_114"] = reinterpret_cast(&(df_structure->unk_114)) - reinterpret_cast(df_structure); + p_table["unk_118"] = reinterpret_cast(&(df_structure->unk_118)) - reinterpret_cast(df_structure); + p_table["unk_11c"] = reinterpret_cast(&(df_structure->unk_11c)) - reinterpret_cast(df_structure); + p_table["unk_120"] = reinterpret_cast(&(df_structure->unk_120)) - reinterpret_cast(df_structure); + p_table["unk_124"] = reinterpret_cast(&(df_structure->unk_124)) - reinterpret_cast(df_structure); + p_table["unk_128"] = reinterpret_cast(&(df_structure->unk_128)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["unk_13c"] = reinterpret_cast(&(df_structure->unk_13c)) - reinterpret_cast(df_structure); + p_table["unk_v40_2"] = reinterpret_cast(&(df_structure->unk_v40_2)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["buildings"] = reinterpret_cast(&(df_structure->buildings)) - reinterpret_cast(df_structure); + p_table["next_building_id"] = reinterpret_cast(&(df_structure->next_building_id)) - reinterpret_cast(df_structure); + p_table["created_tick"] = reinterpret_cast(&(df_structure->created_tick)) - reinterpret_cast(df_structure); + p_table["created_year"] = reinterpret_cast(&(df_structure->created_year)) - reinterpret_cast(df_structure); + p_table["unk_170"] = reinterpret_cast(&(df_structure->unk_170)) - reinterpret_cast(df_structure); + p_table["unk_174"] = reinterpret_cast(&(df_structure->unk_174)) - reinterpret_cast(df_structure); + p_table["unk_178"] = reinterpret_cast(&(df_structure->unk_178)) - reinterpret_cast(df_structure); + p_table["realization"] = reinterpret_cast(&(df_structure->realization)) - reinterpret_cast(df_structure); + p_table["subtype_info"] = reinterpret_cast(&(df_structure->subtype_info)) - reinterpret_cast(df_structure); + p_table["unk_21c"] = reinterpret_cast(&(df_structure->unk_21c)) - reinterpret_cast(df_structure); + p_table["unk_22c"] = reinterpret_cast(&(df_structure->unk_22c)) - reinterpret_cast(df_structure); + p_table["is_mountain_halls"] = reinterpret_cast(&(df_structure->is_mountain_halls)) - reinterpret_cast(df_structure); + p_table["is_fortress"] = reinterpret_cast(&(df_structure->is_fortress)) - reinterpret_cast(df_structure); + p_table["unk_v40_4a"] = reinterpret_cast(&(df_structure->unk_v40_4a)) - reinterpret_cast(df_structure); + p_table["unk_v40_4b"] = reinterpret_cast(&(df_structure->unk_v40_4b)) - reinterpret_cast(df_structure); + p_table["unk_v40_4c"] = reinterpret_cast(&(df_structure->unk_v40_4c)) - reinterpret_cast(df_structure); + p_table["unk_v40_4d"] = reinterpret_cast(&(df_structure->unk_v40_4d)) - reinterpret_cast(df_structure); + p_table["unk_v43_1"] = reinterpret_cast(&(df_structure->unk_v43_1)) - reinterpret_cast(df_structure); + p_table["unk_v43_2"] = reinterpret_cast(&(df_structure->unk_v43_2)) - reinterpret_cast(df_structure); + p_table["unk_v43_3"] = reinterpret_cast(&(df_structure->unk_v43_3)) - reinterpret_cast(df_structure); + p_table["unk_v40_5"] = reinterpret_cast(&(df_structure->unk_v40_5)) - reinterpret_cast(df_structure); + p_table["unk_188"] = reinterpret_cast(&(df_structure->unk_188)) - reinterpret_cast(df_structure); + p_table["unk_3a8"] = reinterpret_cast(&(df_structure->unk_3a8)) - reinterpret_cast(df_structure); + p_table["unk_3b0"] = reinterpret_cast(&(df_structure->unk_3b0)) - reinterpret_cast(df_structure); + p_table["unk_18c"] = reinterpret_cast(&(df_structure->unk_18c)) - reinterpret_cast(df_structure); + p_table["unk_19c"] = reinterpret_cast(&(df_structure->unk_19c)) - reinterpret_cast(df_structure); + p_table["entity_links"] = reinterpret_cast(&(df_structure->entity_links)) - reinterpret_cast(df_structure); + p_table["cultural_identities"] = reinterpret_cast(&(df_structure->cultural_identities)) - reinterpret_cast(df_structure); + p_table["unk_v42_1"] = reinterpret_cast(&(df_structure->unk_v42_1)) - reinterpret_cast(df_structure); + p_table["unk_v43_4"] = reinterpret_cast(&(df_structure->unk_v43_4)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); +} + +void generate_cultural_identity__T_group_log_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["group_id"] = reinterpret_cast(&(df_structure->group_id)) - reinterpret_cast(df_structure); + p_table["start_year"] = reinterpret_cast(&(df_structure->start_year)) - reinterpret_cast(df_structure); + p_table["start_tick"] = reinterpret_cast(&(df_structure->start_tick)) - reinterpret_cast(df_structure); + p_table["end_year"] = reinterpret_cast(&(df_structure->end_year)) - reinterpret_cast(df_structure); + p_table["end_tick"] = reinterpret_cast(&(df_structure->end_tick)) - reinterpret_cast(df_structure); + p_table["unk_14"] = reinterpret_cast(&(df_structure->unk_14)) - reinterpret_cast(df_structure); + p_table["unk_18"] = reinterpret_cast(&(df_structure->unk_18)) - reinterpret_cast(df_structure); + p_table["join_type"] = reinterpret_cast(&(df_structure->join_type)) - reinterpret_cast(df_structure); + p_table["unk_20"] = reinterpret_cast(&(df_structure->unk_20)) - reinterpret_cast(df_structure); + p_table["unk_24"] = reinterpret_cast(&(df_structure->unk_24)) - reinterpret_cast(df_structure); + p_table["unk_34"] = reinterpret_cast(&(df_structure->unk_34)) - reinterpret_cast(df_structure); + p_table["unk_44"] = reinterpret_cast(&(df_structure->unk_44)) - reinterpret_cast(df_structure); +} + +void generate_cultural_identity_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["site_id"] = reinterpret_cast(&(df_structure->site_id)) - reinterpret_cast(df_structure); + p_table["civ_id"] = reinterpret_cast(&(df_structure->civ_id)) - reinterpret_cast(df_structure); + p_table["group_log"] = reinterpret_cast(&(df_structure->group_log)) - reinterpret_cast(df_structure); + p_table["ethic"] = reinterpret_cast(&(df_structure->ethic)) - reinterpret_cast(df_structure); + p_table["values"] = reinterpret_cast(&(df_structure->values)) - reinterpret_cast(df_structure); + p_table["events"] = reinterpret_cast(&(df_structure->events)) - reinterpret_cast(df_structure); + p_table["unk_d8"] = reinterpret_cast(&(df_structure->unk_d8)) - reinterpret_cast(df_structure); + p_table["unk_dc"] = reinterpret_cast(&(df_structure->unk_dc)) - reinterpret_cast(df_structure); + p_table["unk_ec"] = reinterpret_cast(&(df_structure->unk_ec)) - reinterpret_cast(df_structure); + p_table["unk_f0"] = reinterpret_cast(&(df_structure->unk_f0)) - reinterpret_cast(df_structure); + p_table["unk_f4"] = reinterpret_cast(&(df_structure->unk_f4)) - reinterpret_cast(df_structure); + p_table["unk_f8"] = reinterpret_cast(&(df_structure->unk_f8)) - reinterpret_cast(df_structure); +} + +void generate_site_realization_crossroads_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["road_min_y"] = reinterpret_cast(&(df_structure->road_min_y)) - reinterpret_cast(df_structure); + p_table["road_max_y"] = reinterpret_cast(&(df_structure->road_max_y)) - reinterpret_cast(df_structure); + p_table["road_min_x"] = reinterpret_cast(&(df_structure->road_min_x)) - reinterpret_cast(df_structure); + p_table["road_max_x"] = reinterpret_cast(&(df_structure->road_max_x)) - reinterpret_cast(df_structure); + p_table["idx_x"] = reinterpret_cast(&(df_structure->idx_x)) - reinterpret_cast(df_structure); + p_table["idx_y"] = reinterpret_cast(&(df_structure->idx_y)) - reinterpret_cast(df_structure); + p_table["tile_width"] = reinterpret_cast(&(df_structure->tile_width)) - reinterpret_cast(df_structure); + p_table["tile_height"] = reinterpret_cast(&(df_structure->tile_height)) - reinterpret_cast(df_structure); + p_table["unk_310"] = reinterpret_cast(&(df_structure->unk_310)) - reinterpret_cast(df_structure); + p_table["unk_314"] = reinterpret_cast(&(df_structure->unk_314)) - reinterpret_cast(df_structure); + p_table["unk_318"] = reinterpret_cast(&(df_structure->unk_318)) - reinterpret_cast(df_structure); + p_table["unk_31c"] = reinterpret_cast(&(df_structure->unk_31c)) - reinterpret_cast(df_structure); + p_table["unk_320"] = reinterpret_cast(&(df_structure->unk_320)) - reinterpret_cast(df_structure); + p_table["unk_324"] = reinterpret_cast(&(df_structure->unk_324)) - reinterpret_cast(df_structure); + p_table["unk_328"] = reinterpret_cast(&(df_structure->unk_328)) - reinterpret_cast(df_structure); + p_table["unk_32c"] = reinterpret_cast(&(df_structure->unk_32c)) - reinterpret_cast(df_structure); + p_table["center_x_tile"] = reinterpret_cast(&(df_structure->center_x_tile)) - reinterpret_cast(df_structure); + p_table["center_y_tile"] = reinterpret_cast(&(df_structure->center_y_tile)) - reinterpret_cast(df_structure); + p_table["up"] = reinterpret_cast(&(df_structure->up)) - reinterpret_cast(df_structure); + p_table["down"] = reinterpret_cast(&(df_structure->down)) - reinterpret_cast(df_structure); + p_table["right"] = reinterpret_cast(&(df_structure->right)) - reinterpret_cast(df_structure); + p_table["left"] = reinterpret_cast(&(df_structure->left)) - reinterpret_cast(df_structure); + p_table["unk_348"] = reinterpret_cast(&(df_structure->unk_348)) - reinterpret_cast(df_structure); + p_table["unk_349"] = reinterpret_cast(&(df_structure->unk_349)) - reinterpret_cast(df_structure); + p_table["unk_34c"] = reinterpret_cast(&(df_structure->unk_34c)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["unk_356"] = reinterpret_cast(&(df_structure->unk_356)) - reinterpret_cast(df_structure); +} + +void generate_site_building_item_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); + p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); + p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); + p_table["mat_type"] = reinterpret_cast(&(df_structure->mat_type)) - reinterpret_cast(df_structure); + p_table["mat_index"] = reinterpret_cast(&(df_structure->mat_index)) - reinterpret_cast(df_structure); +} + +void generate_abstract_building_mead_hallst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["item1"] = reinterpret_cast(&(df_structure->item1)) - reinterpret_cast(df_structure); + p_table["item2"] = reinterpret_cast(&(df_structure->item2)) - reinterpret_cast(df_structure); +} + +void generate_site_realization_building__T_unk_4c_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk_0"] = reinterpret_cast(&(df_structure->unk_0)) - reinterpret_cast(df_structure); + p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); + p_table["owner"] = reinterpret_cast(&(df_structure->owner)) - reinterpret_cast(df_structure); + p_table["unk_c"] = reinterpret_cast(&(df_structure->unk_c)) - reinterpret_cast(df_structure); + p_table["unk_10"] = reinterpret_cast(&(df_structure->unk_10)) - reinterpret_cast(df_structure); + p_table["unk_14"] = reinterpret_cast(&(df_structure->unk_14)) - reinterpret_cast(df_structure); +} + +void generate_site_realization_building_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["min_x"] = reinterpret_cast(&(df_structure->min_x)) - reinterpret_cast(df_structure); + p_table["min_y"] = reinterpret_cast(&(df_structure->min_y)) - reinterpret_cast(df_structure); + p_table["max_x"] = reinterpret_cast(&(df_structure->max_x)) - reinterpret_cast(df_structure); + p_table["max_y"] = reinterpret_cast(&(df_structure->max_y)) - reinterpret_cast(df_structure); + p_table["unk_18"] = reinterpret_cast(&(df_structure->unk_18)) - reinterpret_cast(df_structure); + p_table["inhabitants"] = reinterpret_cast(&(df_structure->inhabitants)) - reinterpret_cast(df_structure); + p_table["unk_2c"] = reinterpret_cast(&(df_structure->unk_2c)) - reinterpret_cast(df_structure); + p_table["item"] = reinterpret_cast(&(df_structure->item)) - reinterpret_cast(df_structure); + p_table["abstract_building_id"] = reinterpret_cast(&(df_structure->abstract_building_id)) - reinterpret_cast(df_structure); + p_table["unk_44"] = reinterpret_cast(&(df_structure->unk_44)) - reinterpret_cast(df_structure); + p_table["building_info"] = reinterpret_cast(&(df_structure->building_info)) - reinterpret_cast(df_structure); + p_table["unk_4c"] = reinterpret_cast(&(df_structure->unk_4c)) - reinterpret_cast(df_structure); + p_table["unk_5c"] = reinterpret_cast(&(df_structure->unk_5c)) - reinterpret_cast(df_structure); + p_table["unk_60"] = reinterpret_cast(&(df_structure->unk_60)) - reinterpret_cast(df_structure); + p_table["unk_v40_1"] = reinterpret_cast(&(df_structure->unk_v40_1)) - reinterpret_cast(df_structure); +} + +void generate_world_site_realization__T_river_map_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["start"] = reinterpret_cast(&(df_structure->start)) - reinterpret_cast(df_structure); + p_table["end"] = reinterpret_cast(&(df_structure->end)) - reinterpret_cast(df_structure); + p_table["unk_180"] = reinterpret_cast(&(df_structure->unk_180)) - reinterpret_cast(df_structure); + p_table["unk_184"] = reinterpret_cast(&(df_structure->unk_184)) - reinterpret_cast(df_structure); + p_table["start_array_limits"] = reinterpret_cast(&(df_structure->start_array_limits)) - reinterpret_cast(df_structure); + p_table["end_array_limits"] = reinterpret_cast(&(df_structure->end_array_limits)) - reinterpret_cast(df_structure); +} + +void generate_world_site_realization__T_unk_55e8__T_unk_v40_2_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk_0"] = reinterpret_cast(&(df_structure->unk_0)) - reinterpret_cast(df_structure); + p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); + p_table["unk_8"] = reinterpret_cast(&(df_structure->unk_8)) - reinterpret_cast(df_structure); + p_table["unk_a"] = reinterpret_cast(&(df_structure->unk_a)) - reinterpret_cast(df_structure); + p_table["unk_c"] = reinterpret_cast(&(df_structure->unk_c)) - reinterpret_cast(df_structure); + p_table["unk_10"] = reinterpret_cast(&(df_structure->unk_10)) - reinterpret_cast(df_structure); + p_table["unk_14"] = reinterpret_cast(&(df_structure->unk_14)) - reinterpret_cast(df_structure); + p_table["unk_16"] = reinterpret_cast(&(df_structure->unk_16)) - reinterpret_cast(df_structure); + p_table["unk_18"] = reinterpret_cast(&(df_structure->unk_18)) - reinterpret_cast(df_structure); + p_table["unk_1c"] = reinterpret_cast(&(df_structure->unk_1c)) - reinterpret_cast(df_structure); +} + +void generate_world_site_realization__T_unk_55e8_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk_55e8"] = reinterpret_cast(&(df_structure->unk_55e8)) - reinterpret_cast(df_structure); + p_table["unk_55ec"] = reinterpret_cast(&(df_structure->unk_55ec)) - reinterpret_cast(df_structure); + p_table["unk_v40_1a"] = reinterpret_cast(&(df_structure->unk_v40_1a)) - reinterpret_cast(df_structure); + p_table["unk_v40_1b"] = reinterpret_cast(&(df_structure->unk_v40_1b)) - reinterpret_cast(df_structure); + p_table["unk_v40_1c"] = reinterpret_cast(&(df_structure->unk_v40_1c)) - reinterpret_cast(df_structure); + p_table["unk_v40_1d"] = reinterpret_cast(&(df_structure->unk_v40_1d)) - reinterpret_cast(df_structure); + p_table["unk_v40_2"] = reinterpret_cast(&(df_structure->unk_v40_2)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["unk_55f0"] = reinterpret_cast(&(df_structure->unk_55f0)) - reinterpret_cast(df_structure); + p_table["unk_55f4"] = reinterpret_cast(&(df_structure->unk_55f4)) - reinterpret_cast(df_structure); + p_table["unk_55f8"] = reinterpret_cast(&(df_structure->unk_55f8)) - reinterpret_cast(df_structure); + p_table["unk_55fa"] = reinterpret_cast(&(df_structure->unk_55fa)) - reinterpret_cast(df_structure); + p_table["unk_55fc"] = reinterpret_cast(&(df_structure->unk_55fc)) - reinterpret_cast(df_structure); + p_table["unk_5600"] = reinterpret_cast(&(df_structure->unk_5600)) - reinterpret_cast(df_structure); + p_table["unk_5604"] = reinterpret_cast(&(df_structure->unk_5604)) - reinterpret_cast(df_structure); + p_table["unk_5608"] = reinterpret_cast(&(df_structure->unk_5608)) - reinterpret_cast(df_structure); + p_table["unk_560c"] = reinterpret_cast(&(df_structure->unk_560c)) - reinterpret_cast(df_structure); + p_table["unk_5610"] = reinterpret_cast(&(df_structure->unk_5610)) - reinterpret_cast(df_structure); + p_table["unk_5614"] = reinterpret_cast(&(df_structure->unk_5614)) - reinterpret_cast(df_structure); + p_table["unk_5618"] = reinterpret_cast(&(df_structure->unk_5618)) - reinterpret_cast(df_structure); + p_table["unk_5628"] = reinterpret_cast(&(df_structure->unk_5628)) - reinterpret_cast(df_structure); + p_table["unk_562c"] = reinterpret_cast(&(df_structure->unk_562c)) - reinterpret_cast(df_structure); + p_table["unk_5630"] = reinterpret_cast(&(df_structure->unk_5630)) - reinterpret_cast(df_structure); + p_table["unk_5634"] = reinterpret_cast(&(df_structure->unk_5634)) - reinterpret_cast(df_structure); + p_table["unk_v40_3a"] = reinterpret_cast(&(df_structure->unk_v40_3a)) - reinterpret_cast(df_structure); + p_table["unk_v40_3b"] = reinterpret_cast(&(df_structure->unk_v40_3b)) - reinterpret_cast(df_structure); + p_table["unk_v40_3c"] = reinterpret_cast(&(df_structure->unk_v40_3c)) - reinterpret_cast(df_structure); + p_table["unk_v40_3d"] = reinterpret_cast(&(df_structure->unk_v40_3d)) - reinterpret_cast(df_structure); +} + +void generate_world_site_realization__T_building_map_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk0"] = reinterpret_cast(&(df_structure->unk0)) - reinterpret_cast(df_structure); + p_table["buildings"] = reinterpret_cast(&(df_structure->buildings)) - reinterpret_cast(df_structure); + p_table["unk4"] = reinterpret_cast(&(df_structure->unk4)) - reinterpret_cast(df_structure); + p_table["unk5"] = reinterpret_cast(&(df_structure->unk5)) - reinterpret_cast(df_structure); + p_table["unk6"] = reinterpret_cast(&(df_structure->unk6)) - reinterpret_cast(df_structure); +} + +void generate_world_site_realization__T_areas_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["index"] = reinterpret_cast(&(df_structure->index)) - reinterpret_cast(df_structure); + p_table["unk_8"] = reinterpret_cast(&(df_structure->unk_8)) - reinterpret_cast(df_structure); + p_table["min_x"] = reinterpret_cast(&(df_structure->min_x)) - reinterpret_cast(df_structure); + p_table["max_x"] = reinterpret_cast(&(df_structure->max_x)) - reinterpret_cast(df_structure); + p_table["min_y"] = reinterpret_cast(&(df_structure->min_y)) - reinterpret_cast(df_structure); + p_table["max_y"] = reinterpret_cast(&(df_structure->max_y)) - reinterpret_cast(df_structure); + p_table["unk_1c"] = reinterpret_cast(&(df_structure->unk_1c)) - reinterpret_cast(df_structure); + p_table["unk_20"] = reinterpret_cast(&(df_structure->unk_20)) - reinterpret_cast(df_structure); +} + +void generate_world_site_realization__T_unk_193bc__T_unk_8_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); + p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); + p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); +} + +void generate_world_site_realization__T_unk_193bc_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["unk_8"] = reinterpret_cast(&(df_structure->unk_8)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); + p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); + p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); + p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); + p_table["anon_11"] = reinterpret_cast(&(df_structure->anon_11)) - reinterpret_cast(df_structure); + p_table["anon_12"] = reinterpret_cast(&(df_structure->anon_12)) - reinterpret_cast(df_structure); + p_table["anon_13"] = reinterpret_cast(&(df_structure->anon_13)) - reinterpret_cast(df_structure); + p_table["anon_14"] = reinterpret_cast(&(df_structure->anon_14)) - reinterpret_cast(df_structure); + p_table["anon_15"] = reinterpret_cast(&(df_structure->anon_15)) - reinterpret_cast(df_structure); + p_table["anon_16"] = reinterpret_cast(&(df_structure->anon_16)) - reinterpret_cast(df_structure); + p_table["anon_17"] = reinterpret_cast(&(df_structure->anon_17)) - reinterpret_cast(df_structure); + p_table["anon_18"] = reinterpret_cast(&(df_structure->anon_18)) - reinterpret_cast(df_structure); +} + +void generate_world_site_realization_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["buildings"] = reinterpret_cast(&(df_structure->buildings)) - reinterpret_cast(df_structure); + p_table["num_buildings"] = reinterpret_cast(&(df_structure->num_buildings)) - reinterpret_cast(df_structure); + p_table["unk_14"] = reinterpret_cast(&(df_structure->unk_14)) - reinterpret_cast(df_structure); + p_table["num_areas"] = reinterpret_cast(&(df_structure->num_areas)) - reinterpret_cast(df_structure); + p_table["mini_rivers"] = reinterpret_cast(&(df_structure->mini_rivers)) - reinterpret_cast(df_structure); + p_table["mini_tiles"] = reinterpret_cast(&(df_structure->mini_tiles)) - reinterpret_cast(df_structure); + p_table["mini_colors"] = reinterpret_cast(&(df_structure->mini_colors)) - reinterpret_cast(df_structure); + p_table["road_map"] = reinterpret_cast(&(df_structure->road_map)) - reinterpret_cast(df_structure); + p_table["river_map"] = reinterpret_cast(&(df_structure->river_map)) - reinterpret_cast(df_structure); + p_table["unk_55e8"] = reinterpret_cast(&(df_structure->unk_55e8)) - reinterpret_cast(df_structure); + p_table["building_map"] = reinterpret_cast(&(df_structure->building_map)) - reinterpret_cast(df_structure); + p_table["flags_map"] = reinterpret_cast(&(df_structure->flags_map)) - reinterpret_cast(df_structure); + p_table["zoom_tiles"] = reinterpret_cast(&(df_structure->zoom_tiles)) - reinterpret_cast(df_structure); + p_table["zoom_colors"] = reinterpret_cast(&(df_structure->zoom_colors)) - reinterpret_cast(df_structure); + p_table["zoom_movemask"] = reinterpret_cast(&(df_structure->zoom_movemask)) - reinterpret_cast(df_structure); + p_table["area_map"] = reinterpret_cast(&(df_structure->area_map)) - reinterpret_cast(df_structure); + p_table["areas"] = reinterpret_cast(&(df_structure->areas)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["army_controller_pos_x"] = reinterpret_cast(&(df_structure->army_controller_pos_x)) - reinterpret_cast(df_structure); + p_table["army_controller_pos_y"] = reinterpret_cast(&(df_structure->army_controller_pos_y)) - reinterpret_cast(df_structure); + p_table["unk_193bc"] = reinterpret_cast(&(df_structure->unk_193bc)) - reinterpret_cast(df_structure); + p_table["num_unk_193bc"] = reinterpret_cast(&(df_structure->num_unk_193bc)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["building_well"] = reinterpret_cast(&(df_structure->building_well)) - reinterpret_cast(df_structure); + p_table["num_building_well"] = reinterpret_cast(&(df_structure->num_building_well)) - reinterpret_cast(df_structure); + p_table["building_temple"] = reinterpret_cast(&(df_structure->building_temple)) - reinterpret_cast(df_structure); + p_table["num_building_temple"] = reinterpret_cast(&(df_structure->num_building_temple)) - reinterpret_cast(df_structure); + p_table["building_type22"] = reinterpret_cast(&(df_structure->building_type22)) - reinterpret_cast(df_structure); + p_table["num_building_type22"] = reinterpret_cast(&(df_structure->num_building_type22)) - reinterpret_cast(df_structure); + p_table["building_type21"] = reinterpret_cast(&(df_structure->building_type21)) - reinterpret_cast(df_structure); + p_table["num_building_type21"] = reinterpret_cast(&(df_structure->num_building_type21)) - reinterpret_cast(df_structure); + p_table["unk_wsr_vector"] = reinterpret_cast(&(df_structure->unk_wsr_vector)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); + p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); +} + +void generate_site_realization_building_info_castle_wallst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["length"] = reinterpret_cast(&(df_structure->length)) - reinterpret_cast(df_structure); + p_table["door_pos"] = reinterpret_cast(&(df_structure->door_pos)) - reinterpret_cast(df_structure); + p_table["start_x"] = reinterpret_cast(&(df_structure->start_x)) - reinterpret_cast(df_structure); + p_table["start_y"] = reinterpret_cast(&(df_structure->start_y)) - reinterpret_cast(df_structure); + p_table["start_z"] = reinterpret_cast(&(df_structure->start_z)) - reinterpret_cast(df_structure); + p_table["end_x"] = reinterpret_cast(&(df_structure->end_x)) - reinterpret_cast(df_structure); + p_table["end_y"] = reinterpret_cast(&(df_structure->end_y)) - reinterpret_cast(df_structure); + p_table["end_z"] = reinterpret_cast(&(df_structure->end_z)) - reinterpret_cast(df_structure); + p_table["wall_item"] = reinterpret_cast(&(df_structure->wall_item)) - reinterpret_cast(df_structure); + p_table["door_item"] = reinterpret_cast(&(df_structure->door_item)) - reinterpret_cast(df_structure); +} + +void generate_site_realization_building_info_castle_towerst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["roof_z"] = reinterpret_cast(&(df_structure->roof_z)) - reinterpret_cast(df_structure); + p_table["base_z"] = reinterpret_cast(&(df_structure->base_z)) - reinterpret_cast(df_structure); + p_table["door_n_elevation"] = reinterpret_cast(&(df_structure->door_n_elevation)) - reinterpret_cast(df_structure); + p_table["door_s_elevation"] = reinterpret_cast(&(df_structure->door_s_elevation)) - reinterpret_cast(df_structure); + p_table["door_e_elevation"] = reinterpret_cast(&(df_structure->door_e_elevation)) - reinterpret_cast(df_structure); + p_table["door_w_elevation"] = reinterpret_cast(&(df_structure->door_w_elevation)) - reinterpret_cast(df_structure); + p_table["door_item"] = reinterpret_cast(&(df_structure->door_item)) - reinterpret_cast(df_structure); + p_table["wall_item"] = reinterpret_cast(&(df_structure->wall_item)) - reinterpret_cast(df_structure); + p_table["shape"] = reinterpret_cast(&(df_structure->shape)) - reinterpret_cast(df_structure); + p_table["unk_40"] = reinterpret_cast(&(df_structure->unk_40)) - reinterpret_cast(df_structure); + p_table["unk_44"] = reinterpret_cast(&(df_structure->unk_44)) - reinterpret_cast(df_structure); +} + +void generate_site_realization_building_info_shop_housest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); +} + +void generate_site_realization_building_info_market_squarest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); +} + +void generate_site_realization_building_info_trenchesst__T_spokes_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["mound_min"] = reinterpret_cast(&(df_structure->mound_min)) - reinterpret_cast(df_structure); + p_table["trench_min"] = reinterpret_cast(&(df_structure->trench_min)) - reinterpret_cast(df_structure); + p_table["trench_max"] = reinterpret_cast(&(df_structure->trench_max)) - reinterpret_cast(df_structure); + p_table["mound_max"] = reinterpret_cast(&(df_structure->mound_max)) - reinterpret_cast(df_structure); +} + +void generate_site_realization_building_info_trenchesst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); + p_table["spokes"] = reinterpret_cast(&(df_structure->spokes)) - reinterpret_cast(df_structure); +} + +void generate_site_realization_building_info_tree_housest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["unk_8"] = reinterpret_cast(&(df_structure->unk_8)) - reinterpret_cast(df_structure); + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); +} + +void generate_site_realization_building_info_hillock_housest_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); +} + +void generate_creation_zone_pwg_alteration_location_deathst__T_unk_1__T_anon_1_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); + p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); +} + +void generate_creation_zone_pwg_alteration_location_deathst__T_unk_1_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); +} + +void generate_creation_zone_pwg_alteration_location_deathst_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk_1"] = reinterpret_cast(&(df_structure->unk_1)) - reinterpret_cast(df_structure); + p_table["unk_2"] = reinterpret_cast(&(df_structure->unk_2)) - reinterpret_cast(df_structure); +} + +void generate_incident__T_unk_v42_1_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["t6_performance"] = reinterpret_cast(&(df_structure->t6_performance)) - reinterpret_cast(df_structure); + p_table["t7"] = reinterpret_cast(&(df_structure->t7)) - reinterpret_cast(df_structure); + p_table["t8"] = reinterpret_cast(&(df_structure->t8)) - reinterpret_cast(df_structure); + p_table["t9"] = reinterpret_cast(&(df_structure->t9)) - reinterpret_cast(df_structure); + p_table["t10"] = reinterpret_cast(&(df_structure->t10)) - reinterpret_cast(df_structure); +} + +void generate_incident_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["subtype"] = reinterpret_cast(&(df_structure->subtype)) - reinterpret_cast(df_structure); + p_table["witnesses"] = reinterpret_cast(&(df_structure->witnesses)) - reinterpret_cast(df_structure); + p_table["unk_v44_1"] = reinterpret_cast(&(df_structure->unk_v44_1)) - reinterpret_cast(df_structure); + p_table["unk_v44_2"] = reinterpret_cast(&(df_structure->unk_v44_2)) - reinterpret_cast(df_structure); + p_table["victim"] = reinterpret_cast(&(df_structure->victim)) - reinterpret_cast(df_structure); + p_table["victim_hf"] = reinterpret_cast(&(df_structure->victim_hf)) - reinterpret_cast(df_structure); + p_table["victim_race"] = reinterpret_cast(&(df_structure->victim_race)) - reinterpret_cast(df_structure); + p_table["victim_caste"] = reinterpret_cast(&(df_structure->victim_caste)) - reinterpret_cast(df_structure); + p_table["unk_v40_1b"] = reinterpret_cast(&(df_structure->unk_v40_1b)) - reinterpret_cast(df_structure); + p_table["unk_v40_1c"] = reinterpret_cast(&(df_structure->unk_v40_1c)) - reinterpret_cast(df_structure); + p_table["killer"] = reinterpret_cast(&(df_structure->killer)) - reinterpret_cast(df_structure); + p_table["killer_hf"] = reinterpret_cast(&(df_structure->killer_hf)) - reinterpret_cast(df_structure); + p_table["killer_race"] = reinterpret_cast(&(df_structure->killer_race)) - reinterpret_cast(df_structure); + p_table["killer_caste"] = reinterpret_cast(&(df_structure->killer_caste)) - reinterpret_cast(df_structure); + p_table["entity1"] = reinterpret_cast(&(df_structure->entity1)) - reinterpret_cast(df_structure); + p_table["unk_v40_2c"] = reinterpret_cast(&(df_structure->unk_v40_2c)) - reinterpret_cast(df_structure); + p_table["crime_id"] = reinterpret_cast(&(df_structure->crime_id)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["unk_v40_3a"] = reinterpret_cast(&(df_structure->unk_v40_3a)) - reinterpret_cast(df_structure); + p_table["unk_v40_3b"] = reinterpret_cast(&(df_structure->unk_v40_3b)) - reinterpret_cast(df_structure); + p_table["entity"] = reinterpret_cast(&(df_structure->entity)) - reinterpret_cast(df_structure); + p_table["event_year"] = reinterpret_cast(&(df_structure->event_year)) - reinterpret_cast(df_structure); + p_table["event_time"] = reinterpret_cast(&(df_structure->event_time)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["death_cause"] = reinterpret_cast(&(df_structure->death_cause)) - reinterpret_cast(df_structure); + p_table["conflict_level"] = reinterpret_cast(&(df_structure->conflict_level)) - reinterpret_cast(df_structure); + p_table["activity_id"] = reinterpret_cast(&(df_structure->activity_id)) - reinterpret_cast(df_structure); + p_table["world_x"] = reinterpret_cast(&(df_structure->world_x)) - reinterpret_cast(df_structure); + p_table["world_y"] = reinterpret_cast(&(df_structure->world_y)) - reinterpret_cast(df_structure); + p_table["world_z"] = reinterpret_cast(&(df_structure->world_z)) - reinterpret_cast(df_structure); + p_table["unk_80"] = reinterpret_cast(&(df_structure->unk_80)) - reinterpret_cast(df_structure); + p_table["unk_v42_1"] = reinterpret_cast(&(df_structure->unk_v42_1)) - reinterpret_cast(df_structure); +} + +void generate_incident_sub6_performance__T_participants_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["performance_event"] = reinterpret_cast(&(df_structure->performance_event)) - reinterpret_cast(df_structure); + p_table["role_index"] = reinterpret_cast(&(df_structure->role_index)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); +} + +void generate_incident_sub6_performance_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["performance_event"] = reinterpret_cast(&(df_structure->performance_event)) - reinterpret_cast(df_structure); + p_table["participants"] = reinterpret_cast(&(df_structure->participants)) - reinterpret_cast(df_structure); + p_table["reference_id"] = reinterpret_cast(&(df_structure->reference_id)) - reinterpret_cast(df_structure); + p_table["written_content_id"] = reinterpret_cast(&(df_structure->written_content_id)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["poetic_form_id"] = reinterpret_cast(&(df_structure->poetic_form_id)) - reinterpret_cast(df_structure); + p_table["musical_form_id"] = reinterpret_cast(&(df_structure->musical_form_id)) - reinterpret_cast(df_structure); + p_table["dance_form_id"] = reinterpret_cast(&(df_structure->dance_form_id)) - reinterpret_cast(df_structure); +} + +void generate_incident_sub7_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); + p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); + p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); + p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); +} + +void generate_incident_sub8_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); + p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); + p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); + p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); +} + +void generate_incident_sub9_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_incident_sub10_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_crime__T_punishment_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["hammerstrikes"] = reinterpret_cast(&(df_structure->hammerstrikes)) - reinterpret_cast(df_structure); + p_table["prison_time"] = reinterpret_cast(&(df_structure->prison_time)) - reinterpret_cast(df_structure); + p_table["give_beating"] = reinterpret_cast(&(df_structure->give_beating)) - reinterpret_cast(df_structure); +} + +void generate_crime__T_reports_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["death_id"] = reinterpret_cast(&(df_structure->death_id)) - reinterpret_cast(df_structure); + p_table["crime_id"] = reinterpret_cast(&(df_structure->crime_id)) - reinterpret_cast(df_structure); + p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); + p_table["event_year"] = reinterpret_cast(&(df_structure->event_year)) - reinterpret_cast(df_structure); + p_table["event_time"] = reinterpret_cast(&(df_structure->event_time)) - reinterpret_cast(df_structure); + p_table["witness"] = reinterpret_cast(&(df_structure->witness)) - reinterpret_cast(df_structure); + p_table["accuses"] = reinterpret_cast(&(df_structure->accuses)) - reinterpret_cast(df_structure); + p_table["report_year"] = reinterpret_cast(&(df_structure->report_year)) - reinterpret_cast(df_structure); + p_table["report_time"] = reinterpret_cast(&(df_structure->report_time)) - reinterpret_cast(df_structure); +} + +void generate_crime_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["mode"] = reinterpret_cast(&(df_structure->mode)) - reinterpret_cast(df_structure); + p_table["punishment"] = reinterpret_cast(&(df_structure->punishment)) - reinterpret_cast(df_structure); + p_table["criminal"] = reinterpret_cast(&(df_structure->criminal)) - reinterpret_cast(df_structure); + p_table["convicted"] = reinterpret_cast(&(df_structure->convicted)) - reinterpret_cast(df_structure); + p_table["victim"] = reinterpret_cast(&(df_structure->victim)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["death_id"] = reinterpret_cast(&(df_structure->death_id)) - reinterpret_cast(df_structure); + p_table["event_year"] = reinterpret_cast(&(df_structure->event_year)) - reinterpret_cast(df_structure); + p_table["event_time"] = reinterpret_cast(&(df_structure->event_time)) - reinterpret_cast(df_structure); + p_table["discovered_year"] = reinterpret_cast(&(df_structure->discovered_year)) - reinterpret_cast(df_structure); + p_table["discovered_time"] = reinterpret_cast(&(df_structure->discovered_time)) - reinterpret_cast(df_structure); + p_table["site"] = reinterpret_cast(&(df_structure->site)) - reinterpret_cast(df_structure); + p_table["entity"] = reinterpret_cast(&(df_structure->entity)) - reinterpret_cast(df_structure); + p_table["reports"] = reinterpret_cast(&(df_structure->reports)) - reinterpret_cast(df_structure); +} + +void generate_mission_report_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["campaigns"] = reinterpret_cast(&(df_structure->campaigns)) - reinterpret_cast(df_structure); + p_table["unk_2"] = reinterpret_cast(&(df_structure->unk_2)) - reinterpret_cast(df_structure); + p_table["origin_x"] = reinterpret_cast(&(df_structure->origin_x)) - reinterpret_cast(df_structure); + p_table["origin_y"] = reinterpret_cast(&(df_structure->origin_y)) - reinterpret_cast(df_structure); + p_table["unk_5"] = reinterpret_cast(&(df_structure->unk_5)) - reinterpret_cast(df_structure); + p_table["title"] = reinterpret_cast(&(df_structure->title)) - reinterpret_cast(df_structure); + p_table["unk_7"] = reinterpret_cast(&(df_structure->unk_7)) - reinterpret_cast(df_structure); + p_table["year"] = reinterpret_cast(&(df_structure->year)) - reinterpret_cast(df_structure); + p_table["year_tick"] = reinterpret_cast(&(df_structure->year_tick)) - reinterpret_cast(df_structure); + p_table["unk_10"] = reinterpret_cast(&(df_structure->unk_10)) - reinterpret_cast(df_structure); + p_table["unk_11"] = reinterpret_cast(&(df_structure->unk_11)) - reinterpret_cast(df_structure); + p_table["unk_12"] = reinterpret_cast(&(df_structure->unk_12)) - reinterpret_cast(df_structure); +} + +void generate_spoils_report_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["title"] = reinterpret_cast(&(df_structure->title)) - reinterpret_cast(df_structure); + p_table["unk_1"] = reinterpret_cast(&(df_structure->unk_1)) - reinterpret_cast(df_structure); + p_table["year"] = reinterpret_cast(&(df_structure->year)) - reinterpret_cast(df_structure); + p_table["year_tick"] = reinterpret_cast(&(df_structure->year_tick)) - reinterpret_cast(df_structure); + p_table["unk_4"] = reinterpret_cast(&(df_structure->unk_4)) - reinterpret_cast(df_structure); + p_table["item_types"] = reinterpret_cast(&(df_structure->item_types)) - reinterpret_cast(df_structure); + p_table["item_subtypes"] = reinterpret_cast(&(df_structure->item_subtypes)) - reinterpret_cast(df_structure); + p_table["mat_types"] = reinterpret_cast(&(df_structure->mat_types)) - reinterpret_cast(df_structure); + p_table["mat_indices"] = reinterpret_cast(&(df_structure->mat_indices)) - reinterpret_cast(df_structure); + p_table["item_counts"] = reinterpret_cast(&(df_structure->item_counts)) - reinterpret_cast(df_structure); + p_table["creature_races"] = reinterpret_cast(&(df_structure->creature_races)) - reinterpret_cast(df_structure); + p_table["creature_castes"] = reinterpret_cast(&(df_structure->creature_castes)) - reinterpret_cast(df_structure); + p_table["creature_counts"] = reinterpret_cast(&(df_structure->creature_counts)) - reinterpret_cast(df_structure); +} + +void generate_world_unk_20__T_anon_7_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); +} + +void generate_world_unk_20_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); + p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); + p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); + p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); +} + +void generate_world_unk_6c_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); +} + +void generate_world_unk_9c_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["region"] = reinterpret_cast(&(df_structure->region)) - reinterpret_cast(df_structure); + p_table["embark"] = reinterpret_cast(&(df_structure->embark)) - reinterpret_cast(df_structure); + p_table["local_feature_idx"] = reinterpret_cast(&(df_structure->local_feature_idx)) - reinterpret_cast(df_structure); + p_table["global_feature_idx"] = reinterpret_cast(&(df_structure->global_feature_idx)) - reinterpret_cast(df_structure); + p_table["unk10"] = reinterpret_cast(&(df_structure->unk10)) - reinterpret_cast(df_structure); + p_table["unk14"] = reinterpret_cast(&(df_structure->unk14)) - reinterpret_cast(df_structure); + p_table["local"] = reinterpret_cast(&(df_structure->local)) - reinterpret_cast(df_structure); + p_table["z_min"] = reinterpret_cast(&(df_structure->z_min)) - reinterpret_cast(df_structure); + p_table["z_max"] = reinterpret_cast(&(df_structure->z_max)) - reinterpret_cast(df_structure); +} + +void generate_world_unk_c0__T_anon_7_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); +} + +void generate_world_unk_c0_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); + p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); + p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); + p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); +} + +void generate_glowing_barrier_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["triggered"] = reinterpret_cast(&(df_structure->triggered)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["buildings"] = reinterpret_cast(&(df_structure->buildings)) - reinterpret_cast(df_structure); + p_table["pos"] = reinterpret_cast(&(df_structure->pos)) - reinterpret_cast(df_structure); +} + +void generate_deep_vein_hollow_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["triggered"] = reinterpret_cast(&(df_structure->triggered)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["tiles"] = reinterpret_cast(&(df_structure->tiles)) - reinterpret_cast(df_structure); + p_table["pos"] = reinterpret_cast(&(df_structure->pos)) - reinterpret_cast(df_structure); +} + +void generate_campfire_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["pos"] = reinterpret_cast(&(df_structure->pos)) - reinterpret_cast(df_structure); + p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); +} + +void generate_web_cluster_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["x"] = reinterpret_cast(&(df_structure->x)) - reinterpret_cast(df_structure); + p_table["y"] = reinterpret_cast(&(df_structure->y)) - reinterpret_cast(df_structure); + p_table["z"] = reinterpret_cast(&(df_structure->z)) - reinterpret_cast(df_structure); + p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); + p_table["caste"] = reinterpret_cast(&(df_structure->caste)) - reinterpret_cast(df_structure); + p_table["pos_min"] = reinterpret_cast(&(df_structure->pos_min)) - reinterpret_cast(df_structure); + p_table["pos_max"] = reinterpret_cast(&(df_structure->pos_max)) - reinterpret_cast(df_structure); + p_table["ambushers"] = reinterpret_cast(&(df_structure->ambushers)) - reinterpret_cast(df_structure); +} + +void generate_fire_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["pos"] = reinterpret_cast(&(df_structure->pos)) - reinterpret_cast(df_structure); + p_table["timer"] = reinterpret_cast(&(df_structure->timer)) - reinterpret_cast(df_structure); + p_table["temperature"] = reinterpret_cast(&(df_structure->temperature)) - reinterpret_cast(df_structure); + p_table["temp_unk1"] = reinterpret_cast(&(df_structure->temp_unk1)) - reinterpret_cast(df_structure); + p_table["temp_unk2"] = reinterpret_cast(&(df_structure->temp_unk2)) - reinterpret_cast(df_structure); + p_table["temp_unk3"] = reinterpret_cast(&(df_structure->temp_unk3)) - reinterpret_cast(df_structure); +} + +void generate_job_handler__T_postings_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["idx"] = reinterpret_cast(&(df_structure->idx)) - reinterpret_cast(df_structure); + p_table["job"] = reinterpret_cast(&(df_structure->job)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_job_handler__T_anon_1_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); +} + +void generate_job_handler_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["list"] = reinterpret_cast(&(df_structure->list)) - reinterpret_cast(df_structure); + p_table["postings"] = reinterpret_cast(&(df_structure->postings)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); +} + +void generate_building_handler_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); + p_table["other"] = reinterpret_cast(&(df_structure->other)) - reinterpret_cast(df_structure); + p_table["bad"] = reinterpret_cast(&(df_structure->bad)) - reinterpret_cast(df_structure); + p_table["check_bridge_collapse"] = reinterpret_cast(&(df_structure->check_bridge_collapse)) - reinterpret_cast(df_structure); + p_table["check_machine_collapse"] = reinterpret_cast(&(df_structure->check_machine_collapse)) - reinterpret_cast(df_structure); +} + +void generate_machine_handler_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); + p_table["bad"] = reinterpret_cast(&(df_structure->bad)) - reinterpret_cast(df_structure); +} + +void generate_mental_picture_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["elements"] = reinterpret_cast(&(df_structure->elements)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["properties"] = reinterpret_cast(&(df_structure->properties)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); +} + +void generate_belief_system_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["id"] = reinterpret_cast(&(df_structure->id)) - reinterpret_cast(df_structure); + p_table["mental_pictures"] = reinterpret_cast(&(df_structure->mental_pictures)) - reinterpret_cast(df_structure); + p_table["deities"] = reinterpret_cast(&(df_structure->deities)) - reinterpret_cast(df_structure); + p_table["worship_levels"] = reinterpret_cast(&(df_structure->worship_levels)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); + p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); + p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); + p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); + p_table["anon_11"] = reinterpret_cast(&(df_structure->anon_11)) - reinterpret_cast(df_structure); + p_table["anon_12"] = reinterpret_cast(&(df_structure->anon_12)) - reinterpret_cast(df_structure); + p_table["anon_13"] = reinterpret_cast(&(df_structure->anon_13)) - reinterpret_cast(df_structure); + p_table["anon_14"] = reinterpret_cast(&(df_structure->anon_14)) - reinterpret_cast(df_structure); + p_table["anon_15"] = reinterpret_cast(&(df_structure->anon_15)) - reinterpret_cast(df_structure); + p_table["anon_16"] = reinterpret_cast(&(df_structure->anon_16)) - reinterpret_cast(df_structure); + p_table["anon_17"] = reinterpret_cast(&(df_structure->anon_17)) - reinterpret_cast(df_structure); + p_table["anon_18"] = reinterpret_cast(&(df_structure->anon_18)) - reinterpret_cast(df_structure); + p_table["anon_19"] = reinterpret_cast(&(df_structure->anon_19)) - reinterpret_cast(df_structure); + p_table["anon_20"] = reinterpret_cast(&(df_structure->anon_20)) - reinterpret_cast(df_structure); + p_table["anon_21"] = reinterpret_cast(&(df_structure->anon_21)) - reinterpret_cast(df_structure); + p_table["anon_22"] = reinterpret_cast(&(df_structure->anon_22)) - reinterpret_cast(df_structure); + p_table["anon_23"] = reinterpret_cast(&(df_structure->anon_23)) - reinterpret_cast(df_structure); + p_table["anon_24"] = reinterpret_cast(&(df_structure->anon_24)) - reinterpret_cast(df_structure); + p_table["anon_25"] = reinterpret_cast(&(df_structure->anon_25)) - reinterpret_cast(df_structure); + p_table["anon_26"] = reinterpret_cast(&(df_structure->anon_26)) - reinterpret_cast(df_structure); + p_table["anon_27"] = reinterpret_cast(&(df_structure->anon_27)) - reinterpret_cast(df_structure); + p_table["anon_28"] = reinterpret_cast(&(df_structure->anon_28)) - reinterpret_cast(df_structure); + p_table["anon_29"] = reinterpret_cast(&(df_structure->anon_29)) - reinterpret_cast(df_structure); + p_table["anon_30"] = reinterpret_cast(&(df_structure->anon_30)) - reinterpret_cast(df_structure); + p_table["anon_31"] = reinterpret_cast(&(df_structure->anon_31)) - reinterpret_cast(df_structure); + p_table["anon_32"] = reinterpret_cast(&(df_structure->anon_32)) - reinterpret_cast(df_structure); + p_table["anon_33"] = reinterpret_cast(&(df_structure->anon_33)) - reinterpret_cast(df_structure); + p_table["anon_34"] = reinterpret_cast(&(df_structure->anon_34)) - reinterpret_cast(df_structure); + p_table["anon_35"] = reinterpret_cast(&(df_structure->anon_35)) - reinterpret_cast(df_structure); + p_table["anon_36"] = reinterpret_cast(&(df_structure->anon_36)) - reinterpret_cast(df_structure); + p_table["anon_37"] = reinterpret_cast(&(df_structure->anon_37)) - reinterpret_cast(df_structure); + p_table["anon_38"] = reinterpret_cast(&(df_structure->anon_38)) - reinterpret_cast(df_structure); + p_table["anon_39"] = reinterpret_cast(&(df_structure->anon_39)) - reinterpret_cast(df_structure); + p_table["anon_40"] = reinterpret_cast(&(df_structure->anon_40)) - reinterpret_cast(df_structure); + p_table["anon_41"] = reinterpret_cast(&(df_structure->anon_41)) - reinterpret_cast(df_structure); + p_table["anon_42"] = reinterpret_cast(&(df_structure->anon_42)) - reinterpret_cast(df_structure); + p_table["anon_43"] = reinterpret_cast(&(df_structure->anon_43)) - reinterpret_cast(df_structure); + p_table["anon_44"] = reinterpret_cast(&(df_structure->anon_44)) - reinterpret_cast(df_structure); + p_table["anon_45"] = reinterpret_cast(&(df_structure->anon_45)) - reinterpret_cast(df_structure); + p_table["anon_46"] = reinterpret_cast(&(df_structure->anon_46)) - reinterpret_cast(df_structure); + p_table["anon_47"] = reinterpret_cast(&(df_structure->anon_47)) - reinterpret_cast(df_structure); + p_table["anon_48"] = reinterpret_cast(&(df_structure->anon_48)) - reinterpret_cast(df_structure); + p_table["anon_49"] = reinterpret_cast(&(df_structure->anon_49)) - reinterpret_cast(df_structure); + p_table["anon_50"] = reinterpret_cast(&(df_structure->anon_50)) - reinterpret_cast(df_structure); + p_table["anon_51"] = reinterpret_cast(&(df_structure->anon_51)) - reinterpret_cast(df_structure); + p_table["anon_52"] = reinterpret_cast(&(df_structure->anon_52)) - reinterpret_cast(df_structure); + p_table["anon_53"] = reinterpret_cast(&(df_structure->anon_53)) - reinterpret_cast(df_structure); + p_table["anon_54"] = reinterpret_cast(&(df_structure->anon_54)) - reinterpret_cast(df_structure); + p_table["anon_55"] = reinterpret_cast(&(df_structure->anon_55)) - reinterpret_cast(df_structure); + p_table["anon_56"] = reinterpret_cast(&(df_structure->anon_56)) - reinterpret_cast(df_structure); + p_table["anon_57"] = reinterpret_cast(&(df_structure->anon_57)) - reinterpret_cast(df_structure); + p_table["anon_58"] = reinterpret_cast(&(df_structure->anon_58)) - reinterpret_cast(df_structure); + p_table["anon_59"] = reinterpret_cast(&(df_structure->anon_59)) - reinterpret_cast(df_structure); + p_table["anon_60"] = reinterpret_cast(&(df_structure->anon_60)) - reinterpret_cast(df_structure); + p_table["anon_61"] = reinterpret_cast(&(df_structure->anon_61)) - reinterpret_cast(df_structure); + p_table["anon_62"] = reinterpret_cast(&(df_structure->anon_62)) - reinterpret_cast(df_structure); + p_table["anon_63"] = reinterpret_cast(&(df_structure->anon_63)) - reinterpret_cast(df_structure); + p_table["anon_64"] = reinterpret_cast(&(df_structure->anon_64)) - reinterpret_cast(df_structure); +} + +void generate_world__T_vermin_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); + p_table["colonies"] = reinterpret_cast(&(df_structure->colonies)) - reinterpret_cast(df_structure); +} + +void generate_world__T_entities_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); + p_table["bad"] = reinterpret_cast(&(df_structure->bad)) - reinterpret_cast(df_structure); +} + +void generate_world__T_worldgen_coord_buf_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["slots"] = reinterpret_cast(&(df_structure->slots)) - reinterpret_cast(df_structure); + p_table["next_slot"] = reinterpret_cast(&(df_structure->next_slot)) - reinterpret_cast(df_structure); +} + +void generate_world__T_units_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); + p_table["active"] = reinterpret_cast(&(df_structure->active)) - reinterpret_cast(df_structure); + p_table["other"] = reinterpret_cast(&(df_structure->other)) - reinterpret_cast(df_structure); + p_table["bad"] = reinterpret_cast(&(df_structure->bad)) - reinterpret_cast(df_structure); + p_table["unknown"] = reinterpret_cast(&(df_structure->unknown)) - reinterpret_cast(df_structure); +} + +void generate_world__T_nemesis_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); + p_table["other"] = reinterpret_cast(&(df_structure->other)) - reinterpret_cast(df_structure); + p_table["bad"] = reinterpret_cast(&(df_structure->bad)) - reinterpret_cast(df_structure); + p_table["unk4"] = reinterpret_cast(&(df_structure->unk4)) - reinterpret_cast(df_structure); +} + +void generate_world__T_items_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); + p_table["other"] = reinterpret_cast(&(df_structure->other)) - reinterpret_cast(df_structure); + p_table["bad"] = reinterpret_cast(&(df_structure->bad)) - reinterpret_cast(df_structure); + p_table["bad_tag"] = reinterpret_cast(&(df_structure->bad_tag)) - reinterpret_cast(df_structure); +} + +void generate_world__T_artifacts_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); + p_table["bad"] = reinterpret_cast(&(df_structure->bad)) - reinterpret_cast(df_structure); +} + +void generate_world__T_flow_guides_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); + p_table["bad"] = reinterpret_cast(&(df_structure->bad)) - reinterpret_cast(df_structure); +} + +void generate_world__T_stockpile__T_simple1_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["food"] = reinterpret_cast(&(df_structure->food)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); +} + +void generate_world__T_stockpile__T_simple2_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["seeds"] = reinterpret_cast(&(df_structure->seeds)) - reinterpret_cast(df_structure); + p_table["plants"] = reinterpret_cast(&(df_structure->plants)) - reinterpret_cast(df_structure); + p_table["cheese"] = reinterpret_cast(&(df_structure->cheese)) - reinterpret_cast(df_structure); + p_table["fish"] = reinterpret_cast(&(df_structure->fish)) - reinterpret_cast(df_structure); + p_table["meat"] = reinterpret_cast(&(df_structure->meat)) - reinterpret_cast(df_structure); + p_table["leaves"] = reinterpret_cast(&(df_structure->leaves)) - reinterpret_cast(df_structure); + p_table["powder"] = reinterpret_cast(&(df_structure->powder)) - reinterpret_cast(df_structure); + p_table["eggs"] = reinterpret_cast(&(df_structure->eggs)) - reinterpret_cast(df_structure); +} + +void generate_world__T_stockpile__T_simple3_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["glob_fat"] = reinterpret_cast(&(df_structure->glob_fat)) - reinterpret_cast(df_structure); + p_table["glob_tallow"] = reinterpret_cast(&(df_structure->glob_tallow)) - reinterpret_cast(df_structure); + p_table["glob_paste"] = reinterpret_cast(&(df_structure->glob_paste)) - reinterpret_cast(df_structure); + p_table["glob_pressed"] = reinterpret_cast(&(df_structure->glob_pressed)) - reinterpret_cast(df_structure); + p_table["weapons"] = reinterpret_cast(&(df_structure->weapons)) - reinterpret_cast(df_structure); + p_table["shields"] = reinterpret_cast(&(df_structure->shields)) - reinterpret_cast(df_structure); + p_table["ammo"] = reinterpret_cast(&(df_structure->ammo)) - reinterpret_cast(df_structure); + p_table["coins"] = reinterpret_cast(&(df_structure->coins)) - reinterpret_cast(df_structure); + p_table["bar_blocks"] = reinterpret_cast(&(df_structure->bar_blocks)) - reinterpret_cast(df_structure); + p_table["gems"] = reinterpret_cast(&(df_structure->gems)) - reinterpret_cast(df_structure); + p_table["finished_goods"] = reinterpret_cast(&(df_structure->finished_goods)) - reinterpret_cast(df_structure); + p_table["tanned_skins"] = reinterpret_cast(&(df_structure->tanned_skins)) - reinterpret_cast(df_structure); + p_table["thread_cloth"] = reinterpret_cast(&(df_structure->thread_cloth)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); +} + +void generate_world__T_stockpile_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["num_jobs"] = reinterpret_cast(&(df_structure->num_jobs)) - reinterpret_cast(df_structure); + p_table["num_haulers"] = reinterpret_cast(&(df_structure->num_haulers)) - reinterpret_cast(df_structure); + p_table["simple1"] = reinterpret_cast(&(df_structure->simple1)) - reinterpret_cast(df_structure); + p_table["seeds"] = reinterpret_cast(&(df_structure->seeds)) - reinterpret_cast(df_structure); + p_table["plants"] = reinterpret_cast(&(df_structure->plants)) - reinterpret_cast(df_structure); + p_table["cheese"] = reinterpret_cast(&(df_structure->cheese)) - reinterpret_cast(df_structure); + p_table["meat_fish"] = reinterpret_cast(&(df_structure->meat_fish)) - reinterpret_cast(df_structure); + p_table["eggs"] = reinterpret_cast(&(df_structure->eggs)) - reinterpret_cast(df_structure); + p_table["leaves"] = reinterpret_cast(&(df_structure->leaves)) - reinterpret_cast(df_structure); + p_table["plant_powder"] = reinterpret_cast(&(df_structure->plant_powder)) - reinterpret_cast(df_structure); + p_table["simple2"] = reinterpret_cast(&(df_structure->simple2)) - reinterpret_cast(df_structure); + p_table["liquid_plant"] = reinterpret_cast(&(df_structure->liquid_plant)) - reinterpret_cast(df_structure); + p_table["liquid_animal"] = reinterpret_cast(&(df_structure->liquid_animal)) - reinterpret_cast(df_structure); + p_table["liquid_builtin"] = reinterpret_cast(&(df_structure->liquid_builtin)) - reinterpret_cast(df_structure); + p_table["simple3"] = reinterpret_cast(&(df_structure->simple3)) - reinterpret_cast(df_structure); +} + +void generate_world__T_plants_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); + p_table["shrub_dry"] = reinterpret_cast(&(df_structure->shrub_dry)) - reinterpret_cast(df_structure); + p_table["shrub_wet"] = reinterpret_cast(&(df_structure->shrub_wet)) - reinterpret_cast(df_structure); + p_table["tree_dry"] = reinterpret_cast(&(df_structure->tree_dry)) - reinterpret_cast(df_structure); + p_table["tree_wet"] = reinterpret_cast(&(df_structure->tree_wet)) - reinterpret_cast(df_structure); + p_table["empty"] = reinterpret_cast(&(df_structure->empty)) - reinterpret_cast(df_structure); +} + +void generate_world__T_enemy_status_cache_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["slot_used"] = reinterpret_cast(&(df_structure->slot_used)) - reinterpret_cast(df_structure); + p_table["rel_map"] = reinterpret_cast(&(df_structure->rel_map)) - reinterpret_cast(df_structure); + p_table["next_slot"] = reinterpret_cast(&(df_structure->next_slot)) - reinterpret_cast(df_structure); +} + +void generate_world__T_schedules_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); + p_table["bad"] = reinterpret_cast(&(df_structure->bad)) - reinterpret_cast(df_structure); +} + +void generate_world__T_squads_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); + p_table["bad"] = reinterpret_cast(&(df_structure->bad)) - reinterpret_cast(df_structure); +} + +void generate_world__T_formations_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); + p_table["bad"] = reinterpret_cast(&(df_structure->bad)) - reinterpret_cast(df_structure); +} + +void generate_world__T_activities_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); + p_table["bad"] = reinterpret_cast(&(df_structure->bad)) - reinterpret_cast(df_structure); +} + +void generate_world__T_status__T_slots_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["item"] = reinterpret_cast(&(df_structure->item)) - reinterpret_cast(df_structure); + p_table["unk1b"] = reinterpret_cast(&(df_structure->unk1b)) - reinterpret_cast(df_structure); + p_table["unk1c"] = reinterpret_cast(&(df_structure->unk1c)) - reinterpret_cast(df_structure); + p_table["unk1d"] = reinterpret_cast(&(df_structure->unk1d)) - reinterpret_cast(df_structure); + p_table["body_part"] = reinterpret_cast(&(df_structure->body_part)) - reinterpret_cast(df_structure); + p_table["unk2b"] = reinterpret_cast(&(df_structure->unk2b)) - reinterpret_cast(df_structure); + p_table["unk2c"] = reinterpret_cast(&(df_structure->unk2c)) - reinterpret_cast(df_structure); + p_table["unk2d"] = reinterpret_cast(&(df_structure->unk2d)) - reinterpret_cast(df_structure); + p_table["target_bp_name"] = reinterpret_cast(&(df_structure->target_bp_name)) - reinterpret_cast(df_structure); + p_table["verb"] = reinterpret_cast(&(df_structure->verb)) - reinterpret_cast(df_structure); + p_table["with_item_name"] = reinterpret_cast(&(df_structure->with_item_name)) - reinterpret_cast(df_structure); + p_table["unk3d"] = reinterpret_cast(&(df_structure->unk3d)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); +} + +void generate_world__T_status_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["reports"] = reinterpret_cast(&(df_structure->reports)) - reinterpret_cast(df_structure); + p_table["announcements"] = reinterpret_cast(&(df_structure->announcements)) - reinterpret_cast(df_structure); + p_table["popups"] = reinterpret_cast(&(df_structure->popups)) - reinterpret_cast(df_structure); + p_table["next_report_id"] = reinterpret_cast(&(df_structure->next_report_id)) - reinterpret_cast(df_structure); + p_table["flags"] = reinterpret_cast(&(df_structure->flags)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["mission_reports"] = reinterpret_cast(&(df_structure->mission_reports)) - reinterpret_cast(df_structure); + p_table["spoils_reports"] = reinterpret_cast(&(df_structure->spoils_reports)) - reinterpret_cast(df_structure); + p_table["display_timer"] = reinterpret_cast(&(df_structure->display_timer)) - reinterpret_cast(df_structure); + p_table["slots"] = reinterpret_cast(&(df_structure->slots)) - reinterpret_cast(df_structure); + p_table["slot_id_used"] = reinterpret_cast(&(df_structure->slot_id_used)) - reinterpret_cast(df_structure); + p_table["slot_id_idx1"] = reinterpret_cast(&(df_structure->slot_id_idx1)) - reinterpret_cast(df_structure); + p_table["slot_id_idx2"] = reinterpret_cast(&(df_structure->slot_id_idx2)) - reinterpret_cast(df_structure); + p_table["slots_used"] = reinterpret_cast(&(df_structure->slots_used)) - reinterpret_cast(df_structure); +} + +void generate_world__T_interaction_instances_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); + p_table["bad"] = reinterpret_cast(&(df_structure->bad)) - reinterpret_cast(df_structure); +} + +void generate_world__T_written_contents_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); + p_table["bad"] = reinterpret_cast(&(df_structure->bad)) - reinterpret_cast(df_structure); +} + +void generate_world__T_identities_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); + p_table["bad"] = reinterpret_cast(&(df_structure->bad)) - reinterpret_cast(df_structure); +} + +void generate_world__T_incidents_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); + p_table["bad"] = reinterpret_cast(&(df_structure->bad)) - reinterpret_cast(df_structure); +} + +void generate_world__T_crimes_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); + p_table["bad"] = reinterpret_cast(&(df_structure->bad)) - reinterpret_cast(df_structure); +} + +void generate_world__T_vehicles_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); + p_table["active"] = reinterpret_cast(&(df_structure->active)) - reinterpret_cast(df_structure); + p_table["bad"] = reinterpret_cast(&(df_structure->bad)) - reinterpret_cast(df_structure); +} + +void generate_world__T_armies_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); + p_table["bad"] = reinterpret_cast(&(df_structure->bad)) - reinterpret_cast(df_structure); +} + +void generate_world__T_army_controllers_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); + p_table["bad"] = reinterpret_cast(&(df_structure->bad)) - reinterpret_cast(df_structure); +} + +void generate_world__T_army_tracking_info_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); + p_table["bad"] = reinterpret_cast(&(df_structure->bad)) - reinterpret_cast(df_structure); +} + +void generate_world__T_cultural_identities_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); + p_table["bad"] = reinterpret_cast(&(df_structure->bad)) - reinterpret_cast(df_structure); +} + +void generate_world__T_agreements_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); + p_table["bad"] = reinterpret_cast(&(df_structure->bad)) - reinterpret_cast(df_structure); +} + +void generate_world__T_poetic_forms_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); + p_table["bad"] = reinterpret_cast(&(df_structure->bad)) - reinterpret_cast(df_structure); +} + +void generate_world__T_musical_forms_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); + p_table["bad"] = reinterpret_cast(&(df_structure->bad)) - reinterpret_cast(df_structure); +} + +void generate_world__T_dance_forms_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); + p_table["bad"] = reinterpret_cast(&(df_structure->bad)) - reinterpret_cast(df_structure); +} + +void generate_world__T_scales_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); + p_table["bad"] = reinterpret_cast(&(df_structure->bad)) - reinterpret_cast(df_structure); +} + +void generate_world__T_rhythms_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); + p_table["bad"] = reinterpret_cast(&(df_structure->bad)) - reinterpret_cast(df_structure); +} + +void generate_world__T_occupations_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); + p_table["bad"] = reinterpret_cast(&(df_structure->bad)) - reinterpret_cast(df_structure); +} + +void generate_world__T_belief_systems_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["all"] = reinterpret_cast(&(df_structure->all)) - reinterpret_cast(df_structure); + p_table["bad"] = reinterpret_cast(&(df_structure->bad)) - reinterpret_cast(df_structure); +} + +void generate_world__T_map_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["map_blocks"] = reinterpret_cast(&(df_structure->map_blocks)) - reinterpret_cast(df_structure); + p_table["block_index"] = reinterpret_cast(&(df_structure->block_index)) - reinterpret_cast(df_structure); + p_table["map_block_columns"] = reinterpret_cast(&(df_structure->map_block_columns)) - reinterpret_cast(df_structure); + p_table["column_index"] = reinterpret_cast(&(df_structure->column_index)) - reinterpret_cast(df_structure); + p_table["x_count_block"] = reinterpret_cast(&(df_structure->x_count_block)) - reinterpret_cast(df_structure); + p_table["y_count_block"] = reinterpret_cast(&(df_structure->y_count_block)) - reinterpret_cast(df_structure); + p_table["z_count_block"] = reinterpret_cast(&(df_structure->z_count_block)) - reinterpret_cast(df_structure); + p_table["x_count"] = reinterpret_cast(&(df_structure->x_count)) - reinterpret_cast(df_structure); + p_table["y_count"] = reinterpret_cast(&(df_structure->y_count)) - reinterpret_cast(df_structure); + p_table["z_count"] = reinterpret_cast(&(df_structure->z_count)) - reinterpret_cast(df_structure); + p_table["region_x"] = reinterpret_cast(&(df_structure->region_x)) - reinterpret_cast(df_structure); + p_table["region_y"] = reinterpret_cast(&(df_structure->region_y)) - reinterpret_cast(df_structure); + p_table["region_z"] = reinterpret_cast(&(df_structure->region_z)) - reinterpret_cast(df_structure); + p_table["distance_lookup"] = reinterpret_cast(&(df_structure->distance_lookup)) - reinterpret_cast(df_structure); +} + +void generate_world__T_profession_skills_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["primary"] = reinterpret_cast(&(df_structure->primary)) - reinterpret_cast(df_structure); + p_table["secondary"] = reinterpret_cast(&(df_structure->secondary)) - reinterpret_cast(df_structure); +} + +void generate_world__T_math__T_approx_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["cos"] = reinterpret_cast(&(df_structure->cos)) - reinterpret_cast(df_structure); + p_table["sin"] = reinterpret_cast(&(df_structure->sin)) - reinterpret_cast(df_structure); +} + +void generate_world__T_math_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["approx"] = reinterpret_cast(&(df_structure->approx)) - reinterpret_cast(df_structure); + p_table["cos"] = reinterpret_cast(&(df_structure->cos)) - reinterpret_cast(df_structure); + p_table["hypot"] = reinterpret_cast(&(df_structure->hypot)) - reinterpret_cast(df_structure); +} + +void generate_world__T_map_extras_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["rotation"] = reinterpret_cast(&(df_structure->rotation)) - reinterpret_cast(df_structure); + p_table["z_level_flags"] = reinterpret_cast(&(df_structure->z_level_flags)) - reinterpret_cast(df_structure); + p_table["unk_v40_3a"] = reinterpret_cast(&(df_structure->unk_v40_3a)) - reinterpret_cast(df_structure); + p_table["unk_v40_3b"] = reinterpret_cast(&(df_structure->unk_v40_3b)) - reinterpret_cast(df_structure); + p_table["unk_v40_3c"] = reinterpret_cast(&(df_structure->unk_v40_3c)) - reinterpret_cast(df_structure); + p_table["unk_v40_3d"] = reinterpret_cast(&(df_structure->unk_v40_3d)) - reinterpret_cast(df_structure); +} + +void generate_world__T_worldgen_status_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["state"] = reinterpret_cast(&(df_structure->state)) - reinterpret_cast(df_structure); + p_table["num_rejects"] = reinterpret_cast(&(df_structure->num_rejects)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["rejection_reason"] = reinterpret_cast(&(df_structure->rejection_reason)) - reinterpret_cast(df_structure); + p_table["lakes_total"] = reinterpret_cast(&(df_structure->lakes_total)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["lakes_cur"] = reinterpret_cast(&(df_structure->lakes_cur)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["geo_layers"] = reinterpret_cast(&(df_structure->geo_layers)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); + p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); + p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); + p_table["finalized_civ_mats"] = reinterpret_cast(&(df_structure->finalized_civ_mats)) - reinterpret_cast(df_structure); + p_table["finalized_art"] = reinterpret_cast(&(df_structure->finalized_art)) - reinterpret_cast(df_structure); + p_table["finalized_uniforms"] = reinterpret_cast(&(df_structure->finalized_uniforms)) - reinterpret_cast(df_structure); + p_table["finalized_sites"] = reinterpret_cast(&(df_structure->finalized_sites)) - reinterpret_cast(df_structure); + p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); + p_table["anon_11"] = reinterpret_cast(&(df_structure->anon_11)) - reinterpret_cast(df_structure); + p_table["anon_12"] = reinterpret_cast(&(df_structure->anon_12)) - reinterpret_cast(df_structure); + p_table["entities"] = reinterpret_cast(&(df_structure->entities)) - reinterpret_cast(df_structure); + p_table["sites"] = reinterpret_cast(&(df_structure->sites)) - reinterpret_cast(df_structure); + p_table["cursor_x"] = reinterpret_cast(&(df_structure->cursor_x)) - reinterpret_cast(df_structure); + p_table["cursor_y"] = reinterpret_cast(&(df_structure->cursor_y)) - reinterpret_cast(df_structure); + p_table["anon_13"] = reinterpret_cast(&(df_structure->anon_13)) - reinterpret_cast(df_structure); + p_table["anon_14"] = reinterpret_cast(&(df_structure->anon_14)) - reinterpret_cast(df_structure); + p_table["rivers_total"] = reinterpret_cast(&(df_structure->rivers_total)) - reinterpret_cast(df_structure); + p_table["rivers_cur"] = reinterpret_cast(&(df_structure->rivers_cur)) - reinterpret_cast(df_structure); + p_table["anon_15"] = reinterpret_cast(&(df_structure->anon_15)) - reinterpret_cast(df_structure); + p_table["last_param_set"] = reinterpret_cast(&(df_structure->last_param_set)) - reinterpret_cast(df_structure); + p_table["last_seed"] = reinterpret_cast(&(df_structure->last_seed)) - reinterpret_cast(df_structure); + p_table["last_name_seed"] = reinterpret_cast(&(df_structure->last_name_seed)) - reinterpret_cast(df_structure); + p_table["last_history_seed"] = reinterpret_cast(&(df_structure->last_history_seed)) - reinterpret_cast(df_structure); + p_table["last_creature_seed"] = reinterpret_cast(&(df_structure->last_creature_seed)) - reinterpret_cast(df_structure); + p_table["place_caves"] = reinterpret_cast(&(df_structure->place_caves)) - reinterpret_cast(df_structure); + p_table["place_good_evil"] = reinterpret_cast(&(df_structure->place_good_evil)) - reinterpret_cast(df_structure); + p_table["place_megabeasts"] = reinterpret_cast(&(df_structure->place_megabeasts)) - reinterpret_cast(df_structure); + p_table["place_other_beasts"] = reinterpret_cast(&(df_structure->place_other_beasts)) - reinterpret_cast(df_structure); + p_table["make_cave_pops"] = reinterpret_cast(&(df_structure->make_cave_pops)) - reinterpret_cast(df_structure); + p_table["make_cave_civs"] = reinterpret_cast(&(df_structure->make_cave_civs)) - reinterpret_cast(df_structure); + p_table["place_civs"] = reinterpret_cast(&(df_structure->place_civs)) - reinterpret_cast(df_structure); + p_table["finished_prehistory"] = reinterpret_cast(&(df_structure->finished_prehistory)) - reinterpret_cast(df_structure); + p_table["sites2"] = reinterpret_cast(&(df_structure->sites2)) - reinterpret_cast(df_structure); + p_table["sites3"] = reinterpret_cast(&(df_structure->sites3)) - reinterpret_cast(df_structure); + p_table["anon_16"] = reinterpret_cast(&(df_structure->anon_16)) - reinterpret_cast(df_structure); + p_table["anon_17"] = reinterpret_cast(&(df_structure->anon_17)) - reinterpret_cast(df_structure); + p_table["anon_18"] = reinterpret_cast(&(df_structure->anon_18)) - reinterpret_cast(df_structure); + p_table["anon_19"] = reinterpret_cast(&(df_structure->anon_19)) - reinterpret_cast(df_structure); + p_table["anon_20"] = reinterpret_cast(&(df_structure->anon_20)) - reinterpret_cast(df_structure); + p_table["entity_raws"] = reinterpret_cast(&(df_structure->entity_raws)) - reinterpret_cast(df_structure); + p_table["anon_21"] = reinterpret_cast(&(df_structure->anon_21)) - reinterpret_cast(df_structure); + p_table["civ_count"] = reinterpret_cast(&(df_structure->civ_count)) - reinterpret_cast(df_structure); + p_table["civs_left_to_place"] = reinterpret_cast(&(df_structure->civs_left_to_place)) - reinterpret_cast(df_structure); + p_table["regions1"] = reinterpret_cast(&(df_structure->regions1)) - reinterpret_cast(df_structure); + p_table["regions2"] = reinterpret_cast(&(df_structure->regions2)) - reinterpret_cast(df_structure); + p_table["regions3"] = reinterpret_cast(&(df_structure->regions3)) - reinterpret_cast(df_structure); + p_table["anon_22"] = reinterpret_cast(&(df_structure->anon_22)) - reinterpret_cast(df_structure); + p_table["anon_23"] = reinterpret_cast(&(df_structure->anon_23)) - reinterpret_cast(df_structure); + p_table["anon_24"] = reinterpret_cast(&(df_structure->anon_24)) - reinterpret_cast(df_structure); + p_table["anon_25"] = reinterpret_cast(&(df_structure->anon_25)) - reinterpret_cast(df_structure); + p_table["anon_26"] = reinterpret_cast(&(df_structure->anon_26)) - reinterpret_cast(df_structure); + p_table["anon_27"] = reinterpret_cast(&(df_structure->anon_27)) - reinterpret_cast(df_structure); + p_table["anon_28"] = reinterpret_cast(&(df_structure->anon_28)) - reinterpret_cast(df_structure); + p_table["anon_29"] = reinterpret_cast(&(df_structure->anon_29)) - reinterpret_cast(df_structure); + p_table["unk_10d298"] = reinterpret_cast(&(df_structure->unk_10d298)) - reinterpret_cast(df_structure); + p_table["unk_10d2a4"] = reinterpret_cast(&(df_structure->unk_10d2a4)) - reinterpret_cast(df_structure); + p_table["libraries"] = reinterpret_cast(&(df_structure->libraries)) - reinterpret_cast(df_structure); + p_table["anon_30"] = reinterpret_cast(&(df_structure->anon_30)) - reinterpret_cast(df_structure); + p_table["temples"] = reinterpret_cast(&(df_structure->temples)) - reinterpret_cast(df_structure); + p_table["some_artifacts"] = reinterpret_cast(&(df_structure->some_artifacts)) - reinterpret_cast(df_structure); +} + +void generate_world__T_unk_59dc4__T_unk1_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["ref"] = reinterpret_cast(&(df_structure->ref)) - reinterpret_cast(df_structure); + p_table["unk"] = reinterpret_cast(&(df_structure->unk)) - reinterpret_cast(df_structure); +} + +void generate_world__T_unk_59dc4_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["regions"] = reinterpret_cast(&(df_structure->regions)) - reinterpret_cast(df_structure); + p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); +} + +void generate_world__T_flow_engine_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["rnd_16"] = reinterpret_cast(&(df_structure->rnd_16)) - reinterpret_cast(df_structure); + p_table["rnd_256"] = reinterpret_cast(&(df_structure->rnd_256)) - reinterpret_cast(df_structure); + p_table["rnd_pos"] = reinterpret_cast(&(df_structure->rnd_pos)) - reinterpret_cast(df_structure); + p_table["rnd_x"] = reinterpret_cast(&(df_structure->rnd_x)) - reinterpret_cast(df_structure); + p_table["rnd_y"] = reinterpret_cast(&(df_structure->rnd_y)) - reinterpret_cast(df_structure); + p_table["block_idx"] = reinterpret_cast(&(df_structure->block_idx)) - reinterpret_cast(df_structure); + p_table["unk7a"] = reinterpret_cast(&(df_structure->unk7a)) - reinterpret_cast(df_structure); + p_table["unk7b"] = reinterpret_cast(&(df_structure->unk7b)) - reinterpret_cast(df_structure); + p_table["unk7c"] = reinterpret_cast(&(df_structure->unk7c)) - reinterpret_cast(df_structure); + p_table["unk7_cntdn"] = reinterpret_cast(&(df_structure->unk7_cntdn)) - reinterpret_cast(df_structure); +} + +void generate_world__T_worldgen__T_worldgen_parms_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["title"] = reinterpret_cast(&(df_structure->title)) - reinterpret_cast(df_structure); + p_table["seed"] = reinterpret_cast(&(df_structure->seed)) - reinterpret_cast(df_structure); + p_table["history_seed"] = reinterpret_cast(&(df_structure->history_seed)) - reinterpret_cast(df_structure); + p_table["name_seed"] = reinterpret_cast(&(df_structure->name_seed)) - reinterpret_cast(df_structure); + p_table["creature_seed"] = reinterpret_cast(&(df_structure->creature_seed)) - reinterpret_cast(df_structure); + p_table["dim_x"] = reinterpret_cast(&(df_structure->dim_x)) - reinterpret_cast(df_structure); + p_table["dim_y"] = reinterpret_cast(&(df_structure->dim_y)) - reinterpret_cast(df_structure); + p_table["custom_name"] = reinterpret_cast(&(df_structure->custom_name)) - reinterpret_cast(df_structure); + p_table["has_seed"] = reinterpret_cast(&(df_structure->has_seed)) - reinterpret_cast(df_structure); + p_table["has_history_seed"] = reinterpret_cast(&(df_structure->has_history_seed)) - reinterpret_cast(df_structure); + p_table["has_name_seed"] = reinterpret_cast(&(df_structure->has_name_seed)) - reinterpret_cast(df_structure); + p_table["has_creature_seed"] = reinterpret_cast(&(df_structure->has_creature_seed)) - reinterpret_cast(df_structure); + p_table["embark_points"] = reinterpret_cast(&(df_structure->embark_points)) - reinterpret_cast(df_structure); + p_table["peak_number_min"] = reinterpret_cast(&(df_structure->peak_number_min)) - reinterpret_cast(df_structure); + p_table["partial_ocean_edge_min"] = reinterpret_cast(&(df_structure->partial_ocean_edge_min)) - reinterpret_cast(df_structure); + p_table["complete_ocean_edge_min"] = reinterpret_cast(&(df_structure->complete_ocean_edge_min)) - reinterpret_cast(df_structure); + p_table["volcano_min"] = reinterpret_cast(&(df_structure->volcano_min)) - reinterpret_cast(df_structure); + p_table["region_counts"] = reinterpret_cast(&(df_structure->region_counts)) - reinterpret_cast(df_structure); + p_table["river_mins"] = reinterpret_cast(&(df_structure->river_mins)) - reinterpret_cast(df_structure); + p_table["subregion_max"] = reinterpret_cast(&(df_structure->subregion_max)) - reinterpret_cast(df_structure); + p_table["cavern_layer_count"] = reinterpret_cast(&(df_structure->cavern_layer_count)) - reinterpret_cast(df_structure); + p_table["cavern_layer_openness_min"] = reinterpret_cast(&(df_structure->cavern_layer_openness_min)) - reinterpret_cast(df_structure); + p_table["cavern_layer_openness_max"] = reinterpret_cast(&(df_structure->cavern_layer_openness_max)) - reinterpret_cast(df_structure); + p_table["cavern_layer_passage_density_min"] = reinterpret_cast(&(df_structure->cavern_layer_passage_density_min)) - reinterpret_cast(df_structure); + p_table["cavern_layer_passage_density_max"] = reinterpret_cast(&(df_structure->cavern_layer_passage_density_max)) - reinterpret_cast(df_structure); + p_table["cavern_layer_water_min"] = reinterpret_cast(&(df_structure->cavern_layer_water_min)) - reinterpret_cast(df_structure); + p_table["cavern_layer_water_max"] = reinterpret_cast(&(df_structure->cavern_layer_water_max)) - reinterpret_cast(df_structure); + p_table["have_bottom_layer_1"] = reinterpret_cast(&(df_structure->have_bottom_layer_1)) - reinterpret_cast(df_structure); + p_table["have_bottom_layer_2"] = reinterpret_cast(&(df_structure->have_bottom_layer_2)) - reinterpret_cast(df_structure); + p_table["levels_above_ground"] = reinterpret_cast(&(df_structure->levels_above_ground)) - reinterpret_cast(df_structure); + p_table["levels_above_layer_1"] = reinterpret_cast(&(df_structure->levels_above_layer_1)) - reinterpret_cast(df_structure); + p_table["levels_above_layer_2"] = reinterpret_cast(&(df_structure->levels_above_layer_2)) - reinterpret_cast(df_structure); + p_table["levels_above_layer_3"] = reinterpret_cast(&(df_structure->levels_above_layer_3)) - reinterpret_cast(df_structure); + p_table["levels_above_layer_4"] = reinterpret_cast(&(df_structure->levels_above_layer_4)) - reinterpret_cast(df_structure); + p_table["levels_above_layer_5"] = reinterpret_cast(&(df_structure->levels_above_layer_5)) - reinterpret_cast(df_structure); + p_table["levels_at_bottom"] = reinterpret_cast(&(df_structure->levels_at_bottom)) - reinterpret_cast(df_structure); + p_table["cave_min_size"] = reinterpret_cast(&(df_structure->cave_min_size)) - reinterpret_cast(df_structure); + p_table["cave_max_size"] = reinterpret_cast(&(df_structure->cave_max_size)) - reinterpret_cast(df_structure); + p_table["mountain_cave_min"] = reinterpret_cast(&(df_structure->mountain_cave_min)) - reinterpret_cast(df_structure); + p_table["non_mountain_cave_min"] = reinterpret_cast(&(df_structure->non_mountain_cave_min)) - reinterpret_cast(df_structure); + p_table["total_civ_number"] = reinterpret_cast(&(df_structure->total_civ_number)) - reinterpret_cast(df_structure); + p_table["rain_ranges_1"] = reinterpret_cast(&(df_structure->rain_ranges_1)) - reinterpret_cast(df_structure); + p_table["rain_ranges_0"] = reinterpret_cast(&(df_structure->rain_ranges_0)) - reinterpret_cast(df_structure); + p_table["rain_ranges_2"] = reinterpret_cast(&(df_structure->rain_ranges_2)) - reinterpret_cast(df_structure); + p_table["drainage_ranges_1"] = reinterpret_cast(&(df_structure->drainage_ranges_1)) - reinterpret_cast(df_structure); + p_table["drainage_ranges_0"] = reinterpret_cast(&(df_structure->drainage_ranges_0)) - reinterpret_cast(df_structure); + p_table["drainage_ranges_2"] = reinterpret_cast(&(df_structure->drainage_ranges_2)) - reinterpret_cast(df_structure); + p_table["savagery_ranges_1"] = reinterpret_cast(&(df_structure->savagery_ranges_1)) - reinterpret_cast(df_structure); + p_table["savagery_ranges_0"] = reinterpret_cast(&(df_structure->savagery_ranges_0)) - reinterpret_cast(df_structure); + p_table["savagery_ranges_2"] = reinterpret_cast(&(df_structure->savagery_ranges_2)) - reinterpret_cast(df_structure); + p_table["volcanism_ranges_1"] = reinterpret_cast(&(df_structure->volcanism_ranges_1)) - reinterpret_cast(df_structure); + p_table["volcanism_ranges_0"] = reinterpret_cast(&(df_structure->volcanism_ranges_0)) - reinterpret_cast(df_structure); + p_table["volcanism_ranges_2"] = reinterpret_cast(&(df_structure->volcanism_ranges_2)) - reinterpret_cast(df_structure); + p_table["ranges"] = reinterpret_cast(&(df_structure->ranges)) - reinterpret_cast(df_structure); + p_table["beast_end_year"] = reinterpret_cast(&(df_structure->beast_end_year)) - reinterpret_cast(df_structure); + p_table["end_year"] = reinterpret_cast(&(df_structure->end_year)) - reinterpret_cast(df_structure); + p_table["beast_end_year_percent"] = reinterpret_cast(&(df_structure->beast_end_year_percent)) - reinterpret_cast(df_structure); + p_table["total_civ_population"] = reinterpret_cast(&(df_structure->total_civ_population)) - reinterpret_cast(df_structure); + p_table["site_cap"] = reinterpret_cast(&(df_structure->site_cap)) - reinterpret_cast(df_structure); + p_table["elevation_ranges_1"] = reinterpret_cast(&(df_structure->elevation_ranges_1)) - reinterpret_cast(df_structure); + p_table["elevation_ranges_0"] = reinterpret_cast(&(df_structure->elevation_ranges_0)) - reinterpret_cast(df_structure); + p_table["elevation_ranges_2"] = reinterpret_cast(&(df_structure->elevation_ranges_2)) - reinterpret_cast(df_structure); + p_table["mineral_scarcity"] = reinterpret_cast(&(df_structure->mineral_scarcity)) - reinterpret_cast(df_structure); + p_table["megabeast_cap"] = reinterpret_cast(&(df_structure->megabeast_cap)) - reinterpret_cast(df_structure); + p_table["semimegabeast_cap"] = reinterpret_cast(&(df_structure->semimegabeast_cap)) - reinterpret_cast(df_structure); + p_table["titan_number"] = reinterpret_cast(&(df_structure->titan_number)) - reinterpret_cast(df_structure); + p_table["titan_attack_trigger"] = reinterpret_cast(&(df_structure->titan_attack_trigger)) - reinterpret_cast(df_structure); + p_table["demon_number"] = reinterpret_cast(&(df_structure->demon_number)) - reinterpret_cast(df_structure); + p_table["night_troll_number"] = reinterpret_cast(&(df_structure->night_troll_number)) - reinterpret_cast(df_structure); + p_table["bogeyman_number"] = reinterpret_cast(&(df_structure->bogeyman_number)) - reinterpret_cast(df_structure); + p_table["vampire_number"] = reinterpret_cast(&(df_structure->vampire_number)) - reinterpret_cast(df_structure); + p_table["werebeast_number"] = reinterpret_cast(&(df_structure->werebeast_number)) - reinterpret_cast(df_structure); + p_table["secret_number"] = reinterpret_cast(&(df_structure->secret_number)) - reinterpret_cast(df_structure); + p_table["regional_interaction_number"] = reinterpret_cast(&(df_structure->regional_interaction_number)) - reinterpret_cast(df_structure); + p_table["disturbance_interaction_number"] = reinterpret_cast(&(df_structure->disturbance_interaction_number)) - reinterpret_cast(df_structure); + p_table["evil_cloud_number"] = reinterpret_cast(&(df_structure->evil_cloud_number)) - reinterpret_cast(df_structure); + p_table["evil_rain_number"] = reinterpret_cast(&(df_structure->evil_rain_number)) - reinterpret_cast(df_structure); + p_table["generate_divine_materials"] = reinterpret_cast(&(df_structure->generate_divine_materials)) - reinterpret_cast(df_structure); + p_table["good_sq_counts_0"] = reinterpret_cast(&(df_structure->good_sq_counts_0)) - reinterpret_cast(df_structure); + p_table["evil_sq_counts_0"] = reinterpret_cast(&(df_structure->evil_sq_counts_0)) - reinterpret_cast(df_structure); + p_table["good_sq_counts_1"] = reinterpret_cast(&(df_structure->good_sq_counts_1)) - reinterpret_cast(df_structure); + p_table["evil_sq_counts_1"] = reinterpret_cast(&(df_structure->evil_sq_counts_1)) - reinterpret_cast(df_structure); + p_table["good_sq_counts_2"] = reinterpret_cast(&(df_structure->good_sq_counts_2)) - reinterpret_cast(df_structure); + p_table["evil_sq_counts_2"] = reinterpret_cast(&(df_structure->evil_sq_counts_2)) - reinterpret_cast(df_structure); + p_table["elevation_frequency"] = reinterpret_cast(&(df_structure->elevation_frequency)) - reinterpret_cast(df_structure); + p_table["rain_frequency"] = reinterpret_cast(&(df_structure->rain_frequency)) - reinterpret_cast(df_structure); + p_table["drainage_frequency"] = reinterpret_cast(&(df_structure->drainage_frequency)) - reinterpret_cast(df_structure); + p_table["savagery_frequency"] = reinterpret_cast(&(df_structure->savagery_frequency)) - reinterpret_cast(df_structure); + p_table["temperature_frequency"] = reinterpret_cast(&(df_structure->temperature_frequency)) - reinterpret_cast(df_structure); + p_table["volcanism_frequency"] = reinterpret_cast(&(df_structure->volcanism_frequency)) - reinterpret_cast(df_structure); + p_table["ps"] = reinterpret_cast(&(df_structure->ps)) - reinterpret_cast(df_structure); + p_table["reveal_all_history"] = reinterpret_cast(&(df_structure->reveal_all_history)) - reinterpret_cast(df_structure); + p_table["cull_historical_figures"] = reinterpret_cast(&(df_structure->cull_historical_figures)) - reinterpret_cast(df_structure); + p_table["erosion_cycle_count"] = reinterpret_cast(&(df_structure->erosion_cycle_count)) - reinterpret_cast(df_structure); + p_table["periodically_erode_extremes"] = reinterpret_cast(&(df_structure->periodically_erode_extremes)) - reinterpret_cast(df_structure); + p_table["orographic_precipitation"] = reinterpret_cast(&(df_structure->orographic_precipitation)) - reinterpret_cast(df_structure); + p_table["playable_civilization_required"] = reinterpret_cast(&(df_structure->playable_civilization_required)) - reinterpret_cast(df_structure); + p_table["all_caves_visible"] = reinterpret_cast(&(df_structure->all_caves_visible)) - reinterpret_cast(df_structure); + p_table["show_embark_tunnel"] = reinterpret_cast(&(df_structure->show_embark_tunnel)) - reinterpret_cast(df_structure); + p_table["pole"] = reinterpret_cast(&(df_structure->pole)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_world__T_worldgen_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["version"] = reinterpret_cast(&(df_structure->version)) - reinterpret_cast(df_structure); + p_table["next_unit_chunk_id"] = reinterpret_cast(&(df_structure->next_unit_chunk_id)) - reinterpret_cast(df_structure); + p_table["next_unit_chunk_offset"] = reinterpret_cast(&(df_structure->next_unit_chunk_offset)) - reinterpret_cast(df_structure); + p_table["next_art_image_chunk_id"] = reinterpret_cast(&(df_structure->next_art_image_chunk_id)) - reinterpret_cast(df_structure); + p_table["next_art_image_chunk_offset"] = reinterpret_cast(&(df_structure->next_art_image_chunk_offset)) - reinterpret_cast(df_structure); + p_table["worldgen_parms"] = reinterpret_cast(&(df_structure->worldgen_parms)) - reinterpret_cast(df_structure); +} + +void generate_world__T_unk_v40_6_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); + p_table["unk2"] = reinterpret_cast(&(df_structure->unk2)) - reinterpret_cast(df_structure); + p_table["unk3"] = reinterpret_cast(&(df_structure->unk3)) - reinterpret_cast(df_structure); + p_table["unk4"] = reinterpret_cast(&(df_structure->unk4)) - reinterpret_cast(df_structure); + p_table["unk5"] = reinterpret_cast(&(df_structure->unk5)) - reinterpret_cast(df_structure); + p_table["unk6"] = reinterpret_cast(&(df_structure->unk6)) - reinterpret_cast(df_structure); +} + +void generate_world__T_unk_131ec0_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); + p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); + p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); + p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); + p_table["anon_11"] = reinterpret_cast(&(df_structure->anon_11)) - reinterpret_cast(df_structure); + p_table["anon_12"] = reinterpret_cast(&(df_structure->anon_12)) - reinterpret_cast(df_structure); + p_table["anon_13"] = reinterpret_cast(&(df_structure->anon_13)) - reinterpret_cast(df_structure); + p_table["anon_14"] = reinterpret_cast(&(df_structure->anon_14)) - reinterpret_cast(df_structure); + p_table["anon_15"] = reinterpret_cast(&(df_structure->anon_15)) - reinterpret_cast(df_structure); + p_table["anon_16"] = reinterpret_cast(&(df_structure->anon_16)) - reinterpret_cast(df_structure); +} + +void generate_world__T_languages_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["name"] = reinterpret_cast(&(df_structure->name)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); +} + +void generate_world__T_unk_131ef0__T_unk_2_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); +} + +void generate_world__T_unk_131ef0_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["unk_1"] = reinterpret_cast(&(df_structure->unk_1)) - reinterpret_cast(df_structure); + p_table["unk_2"] = reinterpret_cast(&(df_structure->unk_2)) - reinterpret_cast(df_structure); + p_table["unk_3"] = reinterpret_cast(&(df_structure->unk_3)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); +} + +void generate_world__T_pathfinder__T_boundary_heap_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["total_cost"] = reinterpret_cast(&(df_structure->total_cost)) - reinterpret_cast(df_structure); + p_table["local_cost"] = reinterpret_cast(&(df_structure->local_cost)) - reinterpret_cast(df_structure); + p_table["x"] = reinterpret_cast(&(df_structure->x)) - reinterpret_cast(df_structure); + p_table["y"] = reinterpret_cast(&(df_structure->y)) - reinterpret_cast(df_structure); + p_table["z"] = reinterpret_cast(&(df_structure->z)) - reinterpret_cast(df_structure); +} + +void generate_world__T_pathfinder_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["boundary_heap"] = reinterpret_cast(&(df_structure->boundary_heap)) - reinterpret_cast(df_structure); + p_table["heap_count"] = reinterpret_cast(&(df_structure->heap_count)) - reinterpret_cast(df_structure); + p_table["pos1"] = reinterpret_cast(&(df_structure->pos1)) - reinterpret_cast(df_structure); + p_table["pos2"] = reinterpret_cast(&(df_structure->pos2)) - reinterpret_cast(df_structure); + p_table["dist_x"] = reinterpret_cast(&(df_structure->dist_x)) - reinterpret_cast(df_structure); + p_table["dist_y"] = reinterpret_cast(&(df_structure->dist_y)) - reinterpret_cast(df_structure); + p_table["dist_z"] = reinterpret_cast(&(df_structure->dist_z)) - reinterpret_cast(df_structure); + p_table["next_path_cost"] = reinterpret_cast(&(df_structure->next_path_cost)) - reinterpret_cast(df_structure); + p_table["wipe_path_cost"] = reinterpret_cast(&(df_structure->wipe_path_cost)) - reinterpret_cast(df_structure); + p_table["next_path_tag"] = reinterpret_cast(&(df_structure->next_path_tag)) - reinterpret_cast(df_structure); + p_table["wipe_path_tag"] = reinterpret_cast(&(df_structure->wipe_path_tag)) - reinterpret_cast(df_structure); + p_table["next_walkable_id"] = reinterpret_cast(&(df_structure->next_walkable_id)) - reinterpret_cast(df_structure); + p_table["plant_update_step"] = reinterpret_cast(&(df_structure->plant_update_step)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_world__T_cur_savegame_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["save_dir"] = reinterpret_cast(&(df_structure->save_dir)) - reinterpret_cast(df_structure); + p_table["unk_v40_0s"] = reinterpret_cast(&(df_structure->unk_v40_0s)) - reinterpret_cast(df_structure); + p_table["unk_v40_1s"] = reinterpret_cast(&(df_structure->unk_v40_1s)) - reinterpret_cast(df_structure); + p_table["unk_v40_2s"] = reinterpret_cast(&(df_structure->unk_v40_2s)) - reinterpret_cast(df_structure); +} + +void generate_world__T_features_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["map_features"] = reinterpret_cast(&(df_structure->map_features)) - reinterpret_cast(df_structure); + p_table["feature_x"] = reinterpret_cast(&(df_structure->feature_x)) - reinterpret_cast(df_structure); + p_table["feature_y"] = reinterpret_cast(&(df_structure->feature_y)) - reinterpret_cast(df_structure); + p_table["feature_local_idx"] = reinterpret_cast(&(df_structure->feature_local_idx)) - reinterpret_cast(df_structure); + p_table["feature_global_idx"] = reinterpret_cast(&(df_structure->feature_global_idx)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); + p_table["anon_7"] = reinterpret_cast(&(df_structure->anon_7)) - reinterpret_cast(df_structure); + p_table["anon_8"] = reinterpret_cast(&(df_structure->anon_8)) - reinterpret_cast(df_structure); + p_table["anon_9"] = reinterpret_cast(&(df_structure->anon_9)) - reinterpret_cast(df_structure); + p_table["anon_10"] = reinterpret_cast(&(df_structure->anon_10)) - reinterpret_cast(df_structure); + p_table["anon_11"] = reinterpret_cast(&(df_structure->anon_11)) - reinterpret_cast(df_structure); + p_table["anon_12"] = reinterpret_cast(&(df_structure->anon_12)) - reinterpret_cast(df_structure); + p_table["anon_13"] = reinterpret_cast(&(df_structure->anon_13)) - reinterpret_cast(df_structure); + p_table["anon_14"] = reinterpret_cast(&(df_structure->anon_14)) - reinterpret_cast(df_structure); + p_table["anon_15"] = reinterpret_cast(&(df_structure->anon_15)) - reinterpret_cast(df_structure); +} + +void generate_world__T_arena_spawn__T_item_types_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["item_type"] = reinterpret_cast(&(df_structure->item_type)) - reinterpret_cast(df_structure); + p_table["item_subtype"] = reinterpret_cast(&(df_structure->item_subtype)) - reinterpret_cast(df_structure); + p_table["mattype"] = reinterpret_cast(&(df_structure->mattype)) - reinterpret_cast(df_structure); + p_table["matindex"] = reinterpret_cast(&(df_structure->matindex)) - reinterpret_cast(df_structure); + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); +} + +void generate_world__T_arena_spawn__T_equipment_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["skills"] = reinterpret_cast(&(df_structure->skills)) - reinterpret_cast(df_structure); + p_table["skill_levels"] = reinterpret_cast(&(df_structure->skill_levels)) - reinterpret_cast(df_structure); + p_table["item_types"] = reinterpret_cast(&(df_structure->item_types)) - reinterpret_cast(df_structure); + p_table["item_subtypes"] = reinterpret_cast(&(df_structure->item_subtypes)) - reinterpret_cast(df_structure); + p_table["item_materials"] = reinterpret_cast(&(df_structure->item_materials)) - reinterpret_cast(df_structure); + p_table["item_counts"] = reinterpret_cast(&(df_structure->item_counts)) - reinterpret_cast(df_structure); +} + +void generate_world__T_arena_spawn_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["race"] = reinterpret_cast(&(df_structure->race)) - reinterpret_cast(df_structure); + p_table["caste"] = reinterpret_cast(&(df_structure->caste)) - reinterpret_cast(df_structure); + p_table["type"] = reinterpret_cast(&(df_structure->type)) - reinterpret_cast(df_structure); + p_table["filter"] = reinterpret_cast(&(df_structure->filter)) - reinterpret_cast(df_structure); + p_table["item_types"] = reinterpret_cast(&(df_structure->item_types)) - reinterpret_cast(df_structure); + p_table["unk_vec1"] = reinterpret_cast(&(df_structure->unk_vec1)) - reinterpret_cast(df_structure); + p_table["unk_vec2"] = reinterpret_cast(&(df_structure->unk_vec2)) - reinterpret_cast(df_structure); + p_table["unk_vec3"] = reinterpret_cast(&(df_structure->unk_vec3)) - reinterpret_cast(df_structure); + p_table["equipment"] = reinterpret_cast(&(df_structure->equipment)) - reinterpret_cast(df_structure); + p_table["side"] = reinterpret_cast(&(df_structure->side)) - reinterpret_cast(df_structure); + p_table["interaction"] = reinterpret_cast(&(df_structure->interaction)) - reinterpret_cast(df_structure); + p_table["interactions"] = reinterpret_cast(&(df_structure->interactions)) - reinterpret_cast(df_structure); + p_table["creature_cnt"] = reinterpret_cast(&(df_structure->creature_cnt)) - reinterpret_cast(df_structure); + p_table["unk_int1"] = reinterpret_cast(&(df_structure->unk_int1)) - reinterpret_cast(df_structure); +} + +void generate_world__T_arena_settings_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["conflict_level"] = reinterpret_cast(&(df_structure->conflict_level)) - reinterpret_cast(df_structure); + p_table["morale_enable"] = reinterpret_cast(&(df_structure->morale_enable)) - reinterpret_cast(df_structure); + p_table["unk1"] = reinterpret_cast(&(df_structure->unk1)) - reinterpret_cast(df_structure); + p_table["temperature"] = reinterpret_cast(&(df_structure->temperature)) - reinterpret_cast(df_structure); + p_table["time"] = reinterpret_cast(&(df_structure->time)) - reinterpret_cast(df_structure); + p_table["weather_column"] = reinterpret_cast(&(df_structure->weather_column)) - reinterpret_cast(df_structure); + p_table["weather_row"] = reinterpret_cast(&(df_structure->weather_row)) - reinterpret_cast(df_structure); + p_table["tree_types"] = reinterpret_cast(&(df_structure->tree_types)) - reinterpret_cast(df_structure); + p_table["tree_cursor"] = reinterpret_cast(&(df_structure->tree_cursor)) - reinterpret_cast(df_structure); + p_table["tree_age"] = reinterpret_cast(&(df_structure->tree_age)) - reinterpret_cast(df_structure); + p_table["tree_filter"] = reinterpret_cast(&(df_structure->tree_filter)) - reinterpret_cast(df_structure); + p_table["tree_age_str"] = reinterpret_cast(&(df_structure->tree_age_str)) - reinterpret_cast(df_structure); +} + +void generate_world__T_unk_19325c__T_anon_1_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); +} + +void generate_world__T_unk_19325c__T_anon_2_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); +} + +void generate_world__T_unk_19325c__T_anon_3_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); +} + +void generate_world__T_unk_19325c_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["anon_1"] = reinterpret_cast(&(df_structure->anon_1)) - reinterpret_cast(df_structure); + p_table["anon_2"] = reinterpret_cast(&(df_structure->anon_2)) - reinterpret_cast(df_structure); + p_table["anon_3"] = reinterpret_cast(&(df_structure->anon_3)) - reinterpret_cast(df_structure); + p_table["anon_4"] = reinterpret_cast(&(df_structure->anon_4)) - reinterpret_cast(df_structure); + p_table["anon_5"] = reinterpret_cast(&(df_structure->anon_5)) - reinterpret_cast(df_structure); + p_table["anon_6"] = reinterpret_cast(&(df_structure->anon_6)) - reinterpret_cast(df_structure); +} + +void generate_world_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["glowing_barriers"] = reinterpret_cast(&(df_structure->glowing_barriers)) - reinterpret_cast(df_structure); + p_table["deep_vein_hollows"] = reinterpret_cast(&(df_structure->deep_vein_hollows)) - reinterpret_cast(df_structure); + p_table["unk_20"] = reinterpret_cast(&(df_structure->unk_20)) - reinterpret_cast(df_structure); + p_table["engravings"] = reinterpret_cast(&(df_structure->engravings)) - reinterpret_cast(df_structure); + p_table["vermin"] = reinterpret_cast(&(df_structure->vermin)) - reinterpret_cast(df_structure); + p_table["unk_3C"] = reinterpret_cast(&(df_structure->unk_3C)) - reinterpret_cast(df_structure); + p_table["campfires"] = reinterpret_cast(&(df_structure->campfires)) - reinterpret_cast(df_structure); + p_table["web_clusters"] = reinterpret_cast(&(df_structure->web_clusters)) - reinterpret_cast(df_structure); + p_table["fires"] = reinterpret_cast(&(df_structure->fires)) - reinterpret_cast(df_structure); + p_table["unk_6C"] = reinterpret_cast(&(df_structure->unk_6C)) - reinterpret_cast(df_structure); + p_table["ocean_waves"] = reinterpret_cast(&(df_structure->ocean_waves)) - reinterpret_cast(df_structure); + p_table["constructions"] = reinterpret_cast(&(df_structure->constructions)) - reinterpret_cast(df_structure); + p_table["murky_pools"] = reinterpret_cast(&(df_structure->murky_pools)) - reinterpret_cast(df_structure); + p_table["unk_9C"] = reinterpret_cast(&(df_structure->unk_9C)) - reinterpret_cast(df_structure); + p_table["unk_A8"] = reinterpret_cast(&(df_structure->unk_A8)) - reinterpret_cast(df_structure); + p_table["unk_B4"] = reinterpret_cast(&(df_structure->unk_B4)) - reinterpret_cast(df_structure); + p_table["unk_C0"] = reinterpret_cast(&(df_structure->unk_C0)) - reinterpret_cast(df_structure); + p_table["unk_CC"] = reinterpret_cast(&(df_structure->unk_CC)) - reinterpret_cast(df_structure); + p_table["unk_D8"] = reinterpret_cast(&(df_structure->unk_D8)) - reinterpret_cast(df_structure); + p_table["unk_E4"] = reinterpret_cast(&(df_structure->unk_E4)) - reinterpret_cast(df_structure); + p_table["unk_F0"] = reinterpret_cast(&(df_structure->unk_F0)) - reinterpret_cast(df_structure); + p_table["unk_FC"] = reinterpret_cast(&(df_structure->unk_FC)) - reinterpret_cast(df_structure); + p_table["effects"] = reinterpret_cast(&(df_structure->effects)) - reinterpret_cast(df_structure); + p_table["coin_batches"] = reinterpret_cast(&(df_structure->coin_batches)) - reinterpret_cast(df_structure); + p_table["populations"] = reinterpret_cast(&(df_structure->populations)) - reinterpret_cast(df_structure); + p_table["manager_orders"] = reinterpret_cast(&(df_structure->manager_orders)) - reinterpret_cast(df_structure); + p_table["manager_order_next_id"] = reinterpret_cast(&(df_structure->manager_order_next_id)) - reinterpret_cast(df_structure); + p_table["mandates"] = reinterpret_cast(&(df_structure->mandates)) - reinterpret_cast(df_structure); + p_table["entities"] = reinterpret_cast(&(df_structure->entities)) - reinterpret_cast(df_structure); + p_table["worldgen_coord_buf"] = reinterpret_cast(&(df_structure->worldgen_coord_buf)) - reinterpret_cast(df_structure); + p_table["units"] = reinterpret_cast(&(df_structure->units)) - reinterpret_cast(df_structure); + p_table["unit_chunks"] = reinterpret_cast(&(df_structure->unit_chunks)) - reinterpret_cast(df_structure); + p_table["art_image_chunks"] = reinterpret_cast(&(df_structure->art_image_chunks)) - reinterpret_cast(df_structure); + p_table["nemesis"] = reinterpret_cast(&(df_structure->nemesis)) - reinterpret_cast(df_structure); + p_table["items"] = reinterpret_cast(&(df_structure->items)) - reinterpret_cast(df_structure); + p_table["artifacts"] = reinterpret_cast(&(df_structure->artifacts)) - reinterpret_cast(df_structure); + p_table["jobs"] = reinterpret_cast(&(df_structure->jobs)) - reinterpret_cast(df_structure); + p_table["proj_list"] = reinterpret_cast(&(df_structure->proj_list)) - reinterpret_cast(df_structure); + p_table["buildings"] = reinterpret_cast(&(df_structure->buildings)) - reinterpret_cast(df_structure); + p_table["machines"] = reinterpret_cast(&(df_structure->machines)) - reinterpret_cast(df_structure); + p_table["flow_guides"] = reinterpret_cast(&(df_structure->flow_guides)) - reinterpret_cast(df_structure); + p_table["stockpile"] = reinterpret_cast(&(df_structure->stockpile)) - reinterpret_cast(df_structure); + p_table["plants"] = reinterpret_cast(&(df_structure->plants)) - reinterpret_cast(df_structure); + p_table["enemy_status_cache"] = reinterpret_cast(&(df_structure->enemy_status_cache)) - reinterpret_cast(df_structure); + p_table["schedules"] = reinterpret_cast(&(df_structure->schedules)) - reinterpret_cast(df_structure); + p_table["squads"] = reinterpret_cast(&(df_structure->squads)) - reinterpret_cast(df_structure); + p_table["formations"] = reinterpret_cast(&(df_structure->formations)) - reinterpret_cast(df_structure); + p_table["activities"] = reinterpret_cast(&(df_structure->activities)) - reinterpret_cast(df_structure); + p_table["status"] = reinterpret_cast(&(df_structure->status)) - reinterpret_cast(df_structure); + p_table["interaction_instances"] = reinterpret_cast(&(df_structure->interaction_instances)) - reinterpret_cast(df_structure); + p_table["written_contents"] = reinterpret_cast(&(df_structure->written_contents)) - reinterpret_cast(df_structure); + p_table["identities"] = reinterpret_cast(&(df_structure->identities)) - reinterpret_cast(df_structure); + p_table["incidents"] = reinterpret_cast(&(df_structure->incidents)) - reinterpret_cast(df_structure); + p_table["crimes"] = reinterpret_cast(&(df_structure->crimes)) - reinterpret_cast(df_structure); + p_table["vehicles"] = reinterpret_cast(&(df_structure->vehicles)) - reinterpret_cast(df_structure); + p_table["armies"] = reinterpret_cast(&(df_structure->armies)) - reinterpret_cast(df_structure); + p_table["army_controllers"] = reinterpret_cast(&(df_structure->army_controllers)) - reinterpret_cast(df_structure); + p_table["army_tracking_info"] = reinterpret_cast(&(df_structure->army_tracking_info)) - reinterpret_cast(df_structure); + p_table["cultural_identities"] = reinterpret_cast(&(df_structure->cultural_identities)) - reinterpret_cast(df_structure); + p_table["agreements"] = reinterpret_cast(&(df_structure->agreements)) - reinterpret_cast(df_structure); + p_table["poetic_forms"] = reinterpret_cast(&(df_structure->poetic_forms)) - reinterpret_cast(df_structure); + p_table["musical_forms"] = reinterpret_cast(&(df_structure->musical_forms)) - reinterpret_cast(df_structure); + p_table["dance_forms"] = reinterpret_cast(&(df_structure->dance_forms)) - reinterpret_cast(df_structure); + p_table["scales"] = reinterpret_cast(&(df_structure->scales)) - reinterpret_cast(df_structure); + p_table["rhythms"] = reinterpret_cast(&(df_structure->rhythms)) - reinterpret_cast(df_structure); + p_table["occupations"] = reinterpret_cast(&(df_structure->occupations)) - reinterpret_cast(df_structure); + p_table["belief_systems"] = reinterpret_cast(&(df_structure->belief_systems)) - reinterpret_cast(df_structure); + p_table["selected_building"] = reinterpret_cast(&(df_structure->selected_building)) - reinterpret_cast(df_structure); + p_table["selected_stockpile_type"] = reinterpret_cast(&(df_structure->selected_stockpile_type)) - reinterpret_cast(df_structure); + p_table["update_selected_building"] = reinterpret_cast(&(df_structure->update_selected_building)) - reinterpret_cast(df_structure); + p_table["building_width"] = reinterpret_cast(&(df_structure->building_width)) - reinterpret_cast(df_structure); + p_table["building_height"] = reinterpret_cast(&(df_structure->building_height)) - reinterpret_cast(df_structure); + p_table["selected_direction"] = reinterpret_cast(&(df_structure->selected_direction)) - reinterpret_cast(df_structure); + p_table["map"] = reinterpret_cast(&(df_structure->map)) - reinterpret_cast(df_structure); + p_table["profession_skills"] = reinterpret_cast(&(df_structure->profession_skills)) - reinterpret_cast(df_structure); + p_table["math"] = reinterpret_cast(&(df_structure->math)) - reinterpret_cast(df_structure); + p_table["map_extras"] = reinterpret_cast(&(df_structure->map_extras)) - reinterpret_cast(df_structure); + p_table["world_data"] = reinterpret_cast(&(df_structure->world_data)) - reinterpret_cast(df_structure); + p_table["worldgen_status"] = reinterpret_cast(&(df_structure->worldgen_status)) - reinterpret_cast(df_structure); + p_table["orphaned_flow_pool"] = reinterpret_cast(&(df_structure->orphaned_flow_pool)) - reinterpret_cast(df_structure); + p_table["raws"] = reinterpret_cast(&(df_structure->raws)) - reinterpret_cast(df_structure); + p_table["unk_59dc4"] = reinterpret_cast(&(df_structure->unk_59dc4)) - reinterpret_cast(df_structure); + p_table["flow_engine"] = reinterpret_cast(&(df_structure->flow_engine)) - reinterpret_cast(df_structure); + p_table["busy_buildings"] = reinterpret_cast(&(df_structure->busy_buildings)) - reinterpret_cast(df_structure); + p_table["cavein_flags"] = reinterpret_cast(&(df_structure->cavein_flags)) - reinterpret_cast(df_structure); + p_table["original_save_version"] = reinterpret_cast(&(df_structure->original_save_version)) - reinterpret_cast(df_structure); + p_table["worldgen"] = reinterpret_cast(&(df_structure->worldgen)) - reinterpret_cast(df_structure); + p_table["history"] = reinterpret_cast(&(df_structure->history)) - reinterpret_cast(df_structure); + p_table["entity_populations"] = reinterpret_cast(&(df_structure->entity_populations)) - reinterpret_cast(df_structure); + p_table["unk_v40_6"] = reinterpret_cast(&(df_structure->unk_v40_6)) - reinterpret_cast(df_structure); + p_table["unk_131ec0"] = reinterpret_cast(&(df_structure->unk_131ec0)) - reinterpret_cast(df_structure); + p_table["languages"] = reinterpret_cast(&(df_structure->languages)) - reinterpret_cast(df_structure); + p_table["unk_131ef0"] = reinterpret_cast(&(df_structure->unk_131ef0)) - reinterpret_cast(df_structure); + p_table["unk_131f08"] = reinterpret_cast(&(df_structure->unk_131f08)) - reinterpret_cast(df_structure); + p_table["reindex_pathfinding"] = reinterpret_cast(&(df_structure->reindex_pathfinding)) - reinterpret_cast(df_structure); + p_table["frame_counter"] = reinterpret_cast(&(df_structure->frame_counter)) - reinterpret_cast(df_structure); + p_table["orphaned_flows"] = reinterpret_cast(&(df_structure->orphaned_flows)) - reinterpret_cast(df_structure); + p_table["pathfinder"] = reinterpret_cast(&(df_structure->pathfinder)) - reinterpret_cast(df_structure); + p_table["save_version"] = reinterpret_cast(&(df_structure->save_version)) - reinterpret_cast(df_structure); + p_table["cur_savegame"] = reinterpret_cast(&(df_structure->cur_savegame)) - reinterpret_cast(df_structure); + p_table["unk_v40_3s"] = reinterpret_cast(&(df_structure->unk_v40_3s)) - reinterpret_cast(df_structure); + p_table["unk_v40_4s"] = reinterpret_cast(&(df_structure->unk_v40_4s)) - reinterpret_cast(df_structure); + p_table["unk_v40_5s"] = reinterpret_cast(&(df_structure->unk_v40_5s)) - reinterpret_cast(df_structure); + p_table["unk_v40_6s"] = reinterpret_cast(&(df_structure->unk_v40_6s)) - reinterpret_cast(df_structure); + p_table["unk_v40_7s"] = reinterpret_cast(&(df_structure->unk_v40_7s)) - reinterpret_cast(df_structure); + p_table["features"] = reinterpret_cast(&(df_structure->features)) - reinterpret_cast(df_structure); + p_table["unk_26a9a8"] = reinterpret_cast(&(df_structure->unk_26a9a8)) - reinterpret_cast(df_structure); + p_table["unk_26a9a9"] = reinterpret_cast(&(df_structure->unk_26a9a9)) - reinterpret_cast(df_structure); + p_table["unk_26a9aa"] = reinterpret_cast(&(df_structure->unk_26a9aa)) - reinterpret_cast(df_structure); + p_table["arena_spawn"] = reinterpret_cast(&(df_structure->arena_spawn)) - reinterpret_cast(df_structure); + p_table["arena_settings"] = reinterpret_cast(&(df_structure->arena_settings)) - reinterpret_cast(df_structure); + p_table["unk_26b5b8"] = reinterpret_cast(&(df_structure->unk_26b5b8)) - reinterpret_cast(df_structure); + p_table["unk_26b5b9"] = reinterpret_cast(&(df_structure->unk_26b5b9)) - reinterpret_cast(df_structure); + p_table["unk_19325c"] = reinterpret_cast(&(df_structure->unk_19325c)) - reinterpret_cast(df_structure); + p_table["unk_26b618"] = reinterpret_cast(&(df_structure->unk_26b618)) - reinterpret_cast(df_structure); +} + +void generate_T_cursor_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["x"] = reinterpret_cast(&(df_structure->x)) - reinterpret_cast(df_structure); + p_table["y"] = reinterpret_cast(&(df_structure->y)) - reinterpret_cast(df_structure); + p_table["z"] = reinterpret_cast(&(df_structure->z)) - reinterpret_cast(df_structure); +} + +void generate_T_selection_rect_offsets(void* p_df_structure, std::unordered_map& p_table) +{ + auto df_structure = static_cast(p_df_structure); + + p_table["start_x"] = reinterpret_cast(&(df_structure->start_x)) - reinterpret_cast(df_structure); + p_table["start_y"] = reinterpret_cast(&(df_structure->start_y)) - reinterpret_cast(df_structure); + p_table["start_z"] = reinterpret_cast(&(df_structure->start_z)) - reinterpret_cast(df_structure); + p_table["end_x"] = reinterpret_cast(&(df_structure->end_x)) - reinterpret_cast(df_structure); + p_table["end_y"] = reinterpret_cast(&(df_structure->end_y)) - reinterpret_cast(df_structure); + p_table["end_z"] = reinterpret_cast(&(df_structure->end_z)) - reinterpret_cast(df_structure); +} + +} diff --git a/dwarfexplorer/generated/offsets_cache.cpp b/dwarfexplorer/generated/offsets_cache.cpp index ba4702e..433231f 100644 --- a/dwarfexplorer/generated/offsets_cache.cpp +++ b/dwarfexplorer/generated/offsets_cache.cpp @@ -1,3806 +1,11043 @@ #include + #include + #include + #include + #include + #include + #include + #include + #include -#include "df_all.h" -#include "offsets_cache.h" +#include "df_all.h" -namespace rdf +#ifdef _LINUX // Needed for gcc 4.8 +namespace std { +template<> +struct hash +{ + typedef rdf::DF_Type argument_type; + typedef size_t result_type; + + result_type operator()(const argument_type& x) const + { + using type = typename std::underlying_type::type; + return std::hash()(static_cast(x)); + } +}; +} // namespace std +#endif + +#include "offsets_cache.h" +namespace rdf +{ std::unordered_map OffsetsCache::m_df_types_offset_table; + extern void generate_ui_advmode_menu_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_talk_choice_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_assume_identity_mode_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_text_info_elementst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_text_info_element_longst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_text_info_element_stringst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_adventure_optionst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_adventure_item_interact_choicest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_adventure_item_interact_pull_outst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_adventure_item_interact_readst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_adventure_item_interact_strugglest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_announcement_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_announcement_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_popup_message_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_art_image_element_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_art_image_element_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_art_image_element_creaturest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_art_image_element_plantst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_art_image_element_treest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_art_image_element_shapest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_art_image_property_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_art_image_property_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_art_image_property_verb_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_art_facet_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_art_image_ref_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_poetic_form_action_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_poetic_form_pattern_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_poetic_form_caesura_position_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_poetic_form_mood_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_poetic_form_subject_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_poetic_form_feature_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_poetic_form_additional_feature_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_poetic_form_perspective_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_musical_form_purpose_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_musical_form_style_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_musical_form_pitch_style_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_musical_form_feature_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_musical_form_sub4_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_musical_form_interval_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_dance_form_sub1_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_dance_form_sub2_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_scale_sub1_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_scale_sub2_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_rhythm_sub2_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_occupation_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_occupation_sub1_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_buildings_other_id_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_door_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_gate_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_extents_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_drawbuffer_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_hospital_supplies_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_civzone_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_furnace_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_workshop_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_users_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_construction_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_hive_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_shop_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_siegeengine_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_trap_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_pressure_plate_info_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_dfhack_room_quality_level_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_creature_raw_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_caste_raw_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_body_part_raw_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_appearance_modifier_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_body_part_layer_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_appearance_modifier_growth_interval_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_body_part_layer_raw_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_color_modifier_raw_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_gait_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_gait_info_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_creature_interaction_target_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_creature_graphics_role_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_tissue_style_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_creature_graphics_appointment_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_creature_variation_convert_tag_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_body_part_template_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_body_part_template_contype_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_tissue_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_body_detail_plan_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_d_init_nickname_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_d_init_z_view_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_d_init_embark_confirm_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_d_init_idlers_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_d_init_tunnel_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_d_init_flags1_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_d_init_flags2_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_d_init_flags3_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_d_init_flags4_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_pattern_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_descriptor_color_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_descriptor_shape_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_occasion_schedule_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_occasion_schedule_feature_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_activity_statistics__T_food_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_activity_statistics__T_wealth_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_activity_statistics_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_sell_category_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_sell_requests_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_historical_entity_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_tissue_style_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_training_knowledge_level_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_position_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_position_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_position_assignment_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_material_category_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_event_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_raw_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_site_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ethic_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ethic_response_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_name_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_animal_raw_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_position_raw_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_position_responsibility_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_weather_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_game_mode_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_game_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_lever_target_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_large_integer_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_large_integer__T_u_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_large_integer_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_renderer_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_zoom_commands_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_reputation_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_histfig_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_histfig_relationship_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_identity_unk_94_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_mental_picture_property_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_mental_picture_propertyst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_mental_picture_property_datest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_mental_picture_property_actionst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_mental_picture_property_toolst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_mental_picture_property_emotionst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_mental_picture_property_color_patternst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_mental_picture_property_shapest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_mental_picture_property_adjectivest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_mental_picture_property_positionst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_mental_picture_property_timest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_mental_picture_element_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_mental_picture_elementst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_mental_picture_element_hfst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_mental_picture_element_sitest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_mental_picture_element_regionst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_reason_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_context_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_war_attacked_sitest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_war_destroyed_sitest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_created_sitest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_death_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_entity_expels_hfst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_first_contactst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_first_contact_failedst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_diplomat_lostst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_agreements_voidedst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_merchantst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_artifact_hiddenst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_artifact_createdst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_artifact_lostst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_artifact_foundst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_artifact_recoveredst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_artifact_droppedst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_reclaim_sitest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_hf_destroyed_sitest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_site_diedst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_site_retiredst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_entity_createdst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_action_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_entity_incorporatedst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_created_buildingst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_replaced_buildingst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_entity_razed_buildingst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_masterpiece_createdst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_masterpiece_created_arch_designst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_masterpiece_created_arch_constructst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_masterpiece_created_foodst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_masterpiece_loss_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_war_plundered_sitest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_war_site_new_leaderst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_war_site_tribute_forcedst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_war_site_taken_overst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_site_surrenderedst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_hist_figure_abductedst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_hf_razed_buildingst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_creature_devouredst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_hist_figure_woundedst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_simple_battle_subtype_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_created_world_constructionst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_hist_figure_reunionst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_assume_identityst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_create_entity_positionst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_change_creature_typest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_hf_learns_secretst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_histfig_body_state_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_hf_act_on_buildingst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_hf_does_interactionst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_entity_lawst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_artifact_storedst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_agreement_formedst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_site_dispute_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_insurrection_startedst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_insurrection_outcome_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_hf_attacked_sitest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_performancest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_competitionst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_processionst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_ceremonyst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_artifact_transformedst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_artifact_destroyedst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_regionpop_incorporated_into_entityst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_hf_act_on_artifactst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_artifact_copiedst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_sneak_into_sitest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_spotted_leaving_sitest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_entity_searched_sitest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_hf_freedst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_hist_figure_simple_actionst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_entity_rampaged_in_sitest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_entity_fled_sitest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_tactical_situation_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_squad_vs_squadst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_collection_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_collection_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_collection_site_conqueredst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_collection_journeyst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_collection_insurrectionst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_collection_occasionst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_collection_performancest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_collection_competitionst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_collection_processionst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_collection_ceremonyst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_collection_purgest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_era_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_init_display_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_init_media_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_init_media_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_init_input_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_init_input_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_init_window_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_init_window_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_tile_page_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_interaction_effect_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_interaction_effect_location_hint_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_interaction_source_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_interaction_source_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_interaction_source_regionst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_interaction_source_disturbancest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_interaction_source_usage_hint_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_interaction_source_attackst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_interaction_source_ingestionst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_interaction_source_creature_actionst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_interaction_source_underground_specialst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_interaction_target_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_interaction_target_location_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_interaction_target_info_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_breath_attack_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_interaction_instance_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_weapon_attack_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_itemdef_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ammo_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_armor_general_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_armor_properties_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_armor_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_itemdef_foodst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_gloves_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_helm_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_instrument_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_sound_production_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_pitch_choice_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_tuning_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_timbre_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_instrument_piece_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_pants_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_itemdef_shieldst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_shoes_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_itemdef_siegeammost_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_tool_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_tool_uses_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_toy_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_itemdef_toyst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_trapcomp_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_weapon_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_items_other_id_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_job_item_vector_id_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_improvement_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_itemimprovement_specific_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_written_content_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_written_content_style_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_engraving_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_flags2_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_magicness_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_temperaturest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_quality_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_slab_engraving_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_body_part_status_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_body_layer_status_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_body_size_info_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_corpse_material_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_matstate_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_stockpile_ref_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_job_type_class_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_job_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_job_material_category_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_dfhack_material_category_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_job_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_job_subtype_surgery_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_job_item_flags1_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_job_item_flags2_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_job_item_flags3_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_manager_order_status_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_job_art_specification_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_manager_order_condition_order_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_guild_id_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_training_assignment_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_interface_key_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_knowledge_scholar_flags_0_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_knowledge_scholar_flags_1_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_knowledge_scholar_flags_2_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_knowledge_scholar_flags_3_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_knowledge_scholar_flags_4_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_knowledge_scholar_flags_5_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_knowledge_scholar_flags_6_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_knowledge_scholar_flags_7_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_knowledge_scholar_flags_8_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_knowledge_scholar_flags_9_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_knowledge_scholar_flags_10_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_knowledge_scholar_flags_11_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_knowledge_scholar_flags_12_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_knowledge_scholar_flags_13_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_dfhack_knowledge_scholar_flag_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_language_word_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_part_of_speech_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_sphere_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_language_translation_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_language_symbol_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_language_name_category_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_invasion_info_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_nemesis_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_machine_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_machine_info_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_power_info_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_machine_conn_modes_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_screw_pump_direction_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_coord2d_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_coord2d_path_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_coord_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_coord_path_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_tile_traffic_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_tile_dig_designation_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_tile_liquid_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_tile_designation_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_tile_building_occ_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_tile_occupancy_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_block_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_z_level_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_tile_liquid_flow_dir_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_tile_liquid_flow_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_tile_bitmask_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_cave_column_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_cave_column_rectangle_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_block_square_event_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_block_square_event_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_block_square_event_material_spatterst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_block_square_event_grassst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_block_square_event_spoorst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_block_square_event_designation_priorityst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_feature_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_feature_init_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_feature_alteration_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_feature_alteration_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_feature_alteration_new_pop_maxst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_feature_alteration_new_lava_fill_zst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_construction_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_biome_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_construction_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_flow_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_flow_reuse_pool_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_flow_guide_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_flow_guide_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_region_block_event_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_region_block_eventst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_region_block_event_sphere_fieldst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_craft_material_class_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_builtin_mats_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_material_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_matter_state_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_strain_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_material_vec_ref_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_inorganic_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_environment_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_inclusion_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_organic_mat_category_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_script_stepst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_script_step_setvarst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_script_step_simpleactionst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_script_step_conditionalst__T_condition_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_script_step_conditionalst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_script_step_textviewerst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_script_step_diphistoryst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_script_step_discussst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_script_step_topicdiscussionst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_script_step_constructtopiclistst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_script_step_eventst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_script_step_dipeventst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_script_step_invasionst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_script_varst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_script_var_unitst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_script_var_longst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_active_script_varst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_active_script_var_longst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_meeting_topic_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_meeting_event_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_activity_event_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_activity_event_participants_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_conversation_menu_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_performance_event_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_performance_participant_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_schedule_slot_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_uniform_indiv_choice_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_squad_use_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_uniform_category_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_uniform_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_barrack_preference_category_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_squad_event_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_squad_order_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_squad_order_cannot_reason_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_squad_order_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_squad_order_kill_listst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_squad_order_defend_burrowsst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_squad_order_patrol_routest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_squad_order_trainst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_squad_order_drive_entity_off_sitest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_squad_order_cause_trouble_for_entityst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_squad_order_kill_hfst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_squad_order_drive_armies_from_sitest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_army_controller_sub1_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_army_controller_sub4_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_army_controller_sub5_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_army_controller_sub6_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_army_controller_sub16_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_army_controller_sub17_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_army_controller_sub18_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_army_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_path_goal_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_station_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_plant_raw_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_plant_growth_print_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_plant_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_plant_tree_tile_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_projectile_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_projectile_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_reaction_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_reaction_category_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_reaction_reagent_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_reaction_reagent_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_reaction_product_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_reaction_product_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_reaction_product_item_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_reaction_product_improvement_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_artifact_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_nemesis_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_item_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_coinbatch_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_entity_art_image_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_projectile_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_unit_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_building_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_entity_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_locationst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_interactionst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_abstract_buildingst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_historical_eventst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_sitest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_subregionst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_feature_layerst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_historical_figurest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_entity_popst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_creaturest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_activity_eventst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_languagest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_written_contentst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_poetic_formst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_musical_formst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_dance_formst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_is_artifactst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_is_nemesisst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_contains_unitst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_contains_itemst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_contained_in_itemst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_unit_milkeest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_unit_traineest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_unit_itemownerst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_unit_tradebringerst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_unit_holderst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_unit_workerst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_unit_cageest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_unit_beateest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_unit_foodreceiverst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_unit_kidnapeest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_unit_patientst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_unit_infantst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_unit_slaughtereest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_unit_sheareest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_unit_suckeest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_unit_reporteest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_unit_riderst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_unit_climberst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_unit_geldeest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_building_civzone_assignedst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_building_triggerst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_building_triggertargetst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_building_chainst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_building_cagedst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_building_holderst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_building_well_tag_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_building_use_target_1st_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_building_use_target_2st_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_building_destinationst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_building_nest_boxst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_building_display_furniturest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_entity_stolenst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_entity_offeredst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_entity_itemownerst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_specific_ref_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_histfig_entity_link_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_histfig_entity_link_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_histfig_entity_link_memberst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_histfig_entity_link_former_memberst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_histfig_entity_link_mercenaryst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_histfig_entity_link_former_mercenaryst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_histfig_entity_link_slavest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_histfig_entity_link_former_slavest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_histfig_entity_link_prisonerst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_histfig_entity_link_former_prisonerst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_histfig_entity_link_enemyst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_histfig_entity_link_criminalst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_histfig_entity_link_positionst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_histfig_entity_link_former_positionst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_histfig_entity_link_position_claimst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_histfig_entity_link_squadst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_histfig_entity_link_former_squadst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_histfig_entity_link_occupationst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_histfig_entity_link_former_occupationst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_histfig_site_link_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_histfig_site_link_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_histfig_site_link_seat_of_powerst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_histfig_site_link_hangoutst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_histfig_site_link_home_site_abstract_buildingst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_histfig_site_link_home_site_realization_buildingst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_histfig_site_link_lairst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_histfig_site_link_home_site_realization_sulst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_histfig_site_link_home_site_saved_civzonest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_histfig_site_link_occupationst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_histfig_hf_link_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_histfig_hf_link_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_histfig_hf_link_motherst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_histfig_hf_link_fatherst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_histfig_hf_link_spousest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_histfig_hf_link_childst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_histfig_hf_link_deityst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_histfig_hf_link_loverst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_histfig_hf_link_prisonerst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_histfig_hf_link_imprisonerst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_histfig_hf_link_masterst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_histfig_hf_link_apprenticest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_histfig_hf_link_companionst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_histfig_hf_link_former_apprenticest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_histfig_hf_link_former_masterst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_histfig_hf_link_pet_ownerst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_entity_link_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_resource_allotment_specifier_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_resource_allotment_specifier_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_resource_allotment_specifier_cropst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_resource_allotment_specifier_stonest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_resource_allotment_specifier_metalst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_resource_allotment_specifier_woodst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_resource_allotment_specifier_armor_bodyst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_resource_allotment_specifier_armor_pantsst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_resource_allotment_specifier_armor_glovesst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_resource_allotment_specifier_armor_bootsst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_resource_allotment_specifier_armor_helmst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_resource_allotment_specifier_clothing_bodyst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_resource_allotment_specifier_clothing_pantsst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_resource_allotment_specifier_clothing_glovesst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_resource_allotment_specifier_clothing_bootsst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_resource_allotment_specifier_clothing_helmst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_resource_allotment_specifier_weapon_meleest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_resource_allotment_specifier_weapon_rangedst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_resource_allotment_specifier_ammost_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_resource_allotment_specifier_anvilst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_resource_allotment_specifier_gemsst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_resource_allotment_specifier_threadst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_resource_allotment_specifier_clothst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_resource_allotment_specifier_leatherst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_resource_allotment_specifier_quiverst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_resource_allotment_specifier_backpackst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_resource_allotment_specifier_flaskst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_resource_allotment_specifier_bagst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_resource_allotment_specifier_tablest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_resource_allotment_specifier_cabinetst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_resource_allotment_specifier_chairst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_resource_allotment_specifier_boxst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_resource_allotment_specifier_bedst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_resource_allotment_specifier_craftsst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_resource_allotment_specifier_meatst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_resource_allotment_specifier_bonest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_resource_allotment_specifier_hornst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_resource_allotment_specifier_shellst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_resource_allotment_specifier_tallowst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_resource_allotment_specifier_toothst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_resource_allotment_specifier_pearlst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_resource_allotment_specifier_soapst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_resource_allotment_specifier_extractst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_resource_allotment_specifier_cheesest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_resource_allotment_specifier_skinst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_resource_allotment_specifier_powderst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_profession_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_labor_category_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_labor_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_job_skill_class_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_job_skill_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_hauler_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_furniture_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_stockpile_category_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_stockpile_group_set_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_stockpile_list_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_route_stockpile_link_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_creature_interaction_effect_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_creature_interaction_effect_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_cie_add_tag_mask1_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_cie_add_tag_mask2_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_creature_interaction_effect_target_mode_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_syndrome_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_tiletype_shape_basic_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_tiletype_shape_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_tiletype_material_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_tiletype_variant_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_tiletype_special_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_tiletype_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_build_req_choice_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_build_req_choicest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_burrow_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ui_hotkey_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ui_hotkey_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ui_sidebar_mode_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_kitchen_exc_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_timed_event_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_map_viewport_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_emotion_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_thought_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_flags1_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_flags2_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_flags3_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_flags4_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_value_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_goal_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_personality_facet_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_physical_attribute_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_mental_attribute_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_mood_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ghost_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_animal_training_level_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_report_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_skill_rating_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_relationship_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_need_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ghost_goal_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_genes_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_attribute_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_wound_effect_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_wound_damage_flags1_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_wound_damage_flags2_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_curse_attr_change_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_misc_trait_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_item_wrestle_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_item_use_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_health_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_bp_health_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_orientation_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_action_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_unk_138_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_coin_debt_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_vermin_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_file_compressorst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_interface_breakdown_types_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_layer_object_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_layer_object_buttonst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_widget_menu_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_widget_textbox_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_adventure_log_item_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_embark_finder_option_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_image_creator_mode_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_kitchenpref_page_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_kitchen_pref_flag_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_health_view_bits1_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_health_view_bits2_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_health_view_bits3_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_gen_param_basest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_gen_param_seedst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_gen_param_valuest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_gen_param_charst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_gen_param_memberst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_matgloss_list_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_adventurer_attribute_level_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_unitlist_page_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_population_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_population_ref_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_region_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_geo_layer_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_region_map_entry_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_front_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_cumulus_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_stratus_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_fog_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_mountain_peak_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_scribejob_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_site_reputation_report_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_abstract_building_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_abstract_building_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_abstract_building_contents_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_site_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_site_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_site_inhabitant_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_site_realization_building_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_site_realization_building_infost_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_tower_shape_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_site_realization_building_info_castle_courtyardst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_site_shop_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_tree_house_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_hillock_house_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_creation_zone_pwg_alteration_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_creation_zone_pwg_alterationst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_creation_zone_pwg_alteration_campst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_creation_zone_pwg_alteration_srb_ruinedst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_creation_zone_pwg_alteration_srp_ruinedst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_worldgen_region_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_worldgen_range_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_units_other_id_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_conflict_level_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_incident_hfid_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_mission_campaign_report_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_coord_rect_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_unk_a8_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_unk_b4_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_combat_report_event_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ocean_wave_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_coin_batch__T_image_front_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_coin_batch__T_image_back_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_coin_batch_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_conversation__T_speech_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_conversation_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_talk_choice__T_unk_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_talk_choice_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_adventure_option_eat_item_contaminantst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_adventure_environment_optionst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_adventure_environment_place_in_it_containerst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_adventure_environment_ingest_from_containerst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_adventure_environment_pickup_ignite_vegst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_adventure_environment_ingest_materialst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_adventure_environment_pickup_make_campfirest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_adventure_environment_place_in_bld_containerst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_adventure_environment_pickup_vermin_eventst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_adventure_environment_pickup_chop_treest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_adventure_environment_unit_suck_bloodst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_adventure_movement_optionst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_adventure_movement_release_hold_itemst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_adventure_movement_release_hold_tilest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_adventure_movement_attack_creaturest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_adventure_movement_hold_tilest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_adventure_movement_movest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_adventure_movement_climbst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_adventure_movement_hold_itemst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_adventure_movement_building_interactst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_adventure_movement_item_interactst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_adventure_movement_item_interact_guidest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_adventure_movement_item_interact_ridest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_adventure_movement_item_interact_pushst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_adventure_item_interact_heat_from_tilest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_adventure_item_interact_fill_from_containerst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_adventure_item_interact_fill_with_materialst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_adventure_item_interact_give_namest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_announcements_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_report_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_art_image_element_itemst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_art_image_property_transitive_verbst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_art_image_property_intransitive_verbst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_art_image_chunk_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_poetic_form_part__T_line_subject_targets_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_poetic_form_part_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_musical_form_vocals_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_musical_form_instruments_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_musical_form_melodies_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_scale__T_unk1_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_scale_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_rhythm_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_rhythm_sub1__T_anon_1_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_rhythm_sub1_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_occupation_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_def_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_def_item_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_def_workshopst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_def_furnacest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building__T_job_claim_suppress_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building__T_activities_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_stockpile_links_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_civzonest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_actual__T_contained_items_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_actual_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_design_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_workshop_profile_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_furnacest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_workshopst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_animaltrapst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_archerytargetst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_armorstandst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_bars_verticalst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_bars_floorst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_bedst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_bookcasest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_boxst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_bridgest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_cabinetst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_cagest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_chainst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_chairst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_coffinst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_constructionst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_display_furniturest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_doorst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_farmplotst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_floodgatest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_grate_floorst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_grate_wallst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_hatchst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_hivest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_instrumentst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_nestst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_nest_boxst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_roadst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_road_dirtst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_road_pavedst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_shopst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_siegeenginest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_slabst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_statuest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_supportst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_tablest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_traction_benchst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_tradedepotst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_trapst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_wagonst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_weaponst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_squad_use_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_weaponrackst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_wellst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_windowst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_window_glassst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_window_gemst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_body_part_raw_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_body_appearance_modifier_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_bp_appearance_modifier_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_caste_clothing_item_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_caste_attack_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_creature_interaction_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_caste_body_info__T_interactions_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_caste_body_info__T_extra_butcher_objects_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_caste_body_info_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_caste_raw__T_misc_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_caste_raw__T_personality_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_caste_raw__T_attributes_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_caste_raw__T_bp_appearance_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_caste_raw__T_shearable_tissue_layer_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_caste_raw__T_caste_profession_name_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_caste_raw__T_extracts_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_caste_raw__T_secretion_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_caste_raw__T_unknown2_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_caste_raw_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_tissue_style_raw_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_creature_raw__T_graphics_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_creature_raw__T_profession_name_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_creature_raw__T_hive_product_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_creature_raw_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_creature_variation_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_body_part_template_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_body_template_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_tissue_template_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_tissue_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_d_init__T_wound_color_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_d_init__T_store_dist_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_d_init_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_descriptor_pattern_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_occasion_info_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_occasion_schedule_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_occasion_schedule_feature_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_caravan_state_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_buy_prices_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_buy_requests_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_sell_prices_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_recipe_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_uniform_item_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_uniform_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_event__T_data__T_invasion_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_event__T_data__T_abduction_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_event__T_data__T_incident_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_event__T_data__T_occupation_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_event__T_data__T_beast_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_event__T_data__T_group_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_event__T_data__T_harass_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_event__T_data__T_flee_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_event__T_data__T_abandon_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_event__T_data__T_reclaimed_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_event__T_data__T_founded_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_event__T_data__T_reclaiming_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_event__T_data__T_founding_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_event__T_data__T_leave_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_event__T_data__T_insurrection_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_event__T_data__T_insurrection_end_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_event__T_data__T_succession_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_event__T_data__T_claim_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_event__T_data__T_accept_tribute_offer_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_event__T_data__T_refuse_tribute_offer_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_event__T_data__T_accept_tribute_demand_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_event__T_data__T_refuse_tribute_demand_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_event__T_data__T_accept_peace_offer_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_event__T_data__T_refuse_peace_offer_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_event__T_data__T_cease_tribute_offer_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_event__T_data__T_artifact_in_site_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_event__T_data__T_artifact_in_subregion_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_event__T_data__T_artifact_in_feature_layer_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_event__T_data__T_artifact_in_inventory_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_event__T_data__T_artifact_not_in_site_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_event__T_data__T_artifact_not_in_subregion_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_event__T_data__T_artifact_not_in_feature_layer_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_event__T_data__T_artifact_not_in_inventory_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_event__T_data__T_artifact_destroyed_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_event__T_data_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_event_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_agreement__T_parties__T_anon_1_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_agreement__T_parties_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_agreement__T_details__T_data__T_data0_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_agreement__T_details__T_data__T_data1_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_agreement__T_details__T_data_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_agreement__T_details_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_agreement_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_position_raw_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_graphic_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_historical_kills_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_hit_item_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_hist_figure_diedst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_add_hf_entity_linkst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_remove_hf_entity_linkst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_topicagreement_concludedst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_topicagreement_rejectedst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_topicagreement_madest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_war_peace_acceptedst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_war_peace_rejectedst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_artifact_possessedst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_entity_actionst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_add_hf_site_linkst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_remove_hf_site_linkst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_add_hf_hf_linkst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_remove_hf_hf_linkst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_masterpiece_created_itemst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_masterpiece_created_dye_itemst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_masterpiece_created_item_improvementst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_masterpiece_created_engravingst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_masterpiece_lostst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_change_hf_statest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_change_hf_jobst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_war_field_battlest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_body_abusedst__T_props__T_item_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_body_abusedst__T_props__T_hung_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_body_abusedst__T_props_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_body_abusedst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_item_stolenst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_hist_figure_simple_battle_eventst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_hist_figure_reach_summitst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_hist_figure_travelst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_hist_figure_new_petst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_hist_figure_revivedst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_change_hf_body_statest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_hf_confrontedst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_hf_gains_secret_goalst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_site_disputest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_agreement_concludedst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_insurrection_endedst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_hf_relationship_deniedst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_poetic_form_createdst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_musical_form_createdst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_dance_form_createdst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_written_content_composedst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_change_hf_moodst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_artifact_claim_formedst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_artifact_givenst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_hf_recruited_unit_type_for_entityst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_hfs_formed_reputation_relationshipst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_tactical_situationst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_collection_duelst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_collection_abductionst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_collection_theftst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_collection_beast_attackst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_collection_raidst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_era__T_title_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_era__T_details_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_era_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_init_display_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_init_font_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_init_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_texture_handler_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_interaction_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_interaction_effect_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_interaction_effect_animatest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_interaction_effect_add_syndromest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_interaction_effect_resurrectst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_interaction_effect_cleanst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_interaction_effect_contactst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_interaction_effect_material_emissionst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_interaction_effect_hidest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_interaction_source_secretst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_interaction_source_deityst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_interaction_target_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_interaction_target_corpsest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_interaction_target_creaturest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_interaction_target_materialst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_interaction_target_locationst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_itemdef_ammost_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_itemdef_armorst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_itemdef_glovesst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_itemdef_helmst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_itemdef_instrumentst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_instrument_register_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_itemdef_pantsst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_itemdef_shoesst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_itemdef_toolst__T_default_improvements_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_itemdef_toolst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_itemdef_trapcompst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_itemdef_weaponst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_dye_info_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_itemimprovement_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_itemimprovement_art_imagest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_itemimprovement_coveredst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_itemimprovement_rings_hangingst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_itemimprovement_bandsst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_itemimprovement_spikesst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_itemimprovement_itemspecificst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_itemimprovement_threadst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_itemimprovement_clothst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_itemimprovement_sewn_imagest__T_cloth_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_itemimprovement_sewn_imagest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_itemimprovement_pagesst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_itemimprovement_illustrationst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_itemimprovement_instrument_piecest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_itemimprovement_writingst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_written_content_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_engraving_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_magicness_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_spatter_common_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_adventure_option_eat_unit_contaminantst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_adventure_option_view_contaminantst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_spatter_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_kill_info_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_history_info_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_actual_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_crafted_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_constructed_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_body_component_info_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_body_component__T_body_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_body_component__T_appearance_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_body_component__T_bone1_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_body_component__T_bone2_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_body_component_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_corpsest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_corpsepiecest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_liquipowder_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_liquid_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_powder_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_barst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_smallgemst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_blocksst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_roughst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_boulderst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_woodst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_branchst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_rockst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_seedsst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_skin_tannedst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_meatst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_plantst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_plant_growthst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_cheesest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_globst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_remainsst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_fishst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_fish_rawst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_foodst__T_ingredients_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_foodst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_drinkst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_powder_miscst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_liquid_miscst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_threadst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_eggst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_doorst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_floodgatest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_bedst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_chairst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_chainst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_flaskst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_gobletst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_windowst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_cagest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_bucketst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_animaltrapst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_tablest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_coffinst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_boxst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_armorstandst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_weaponrackst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_cabinetst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_amuletst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_scepterst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_crownst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_ringst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_earringst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_braceletst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_anvilst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_backpackst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_quiverst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_catapultpartsst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_ballistapartsst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_trappartsst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_pipe_sectionst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_hatch_coverst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_gratest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_quernst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_millstonest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_splintst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_crutchst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_traction_benchst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_instrumentst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_toyst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_armorst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_shoesst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_shieldst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_helmst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_glovesst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_pantsst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_siegeammost_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_weaponst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_ammost_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_trapcompst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_toolst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_barrelst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_binst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_gemst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_statuest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_figurinest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_slabst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_orthopedic_castst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_coinst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_totemst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_clothst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_bookst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_ballistaarrowheadst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_sheetst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_job_list_link_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_job_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_job_item_ref_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_job_item_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_job_item_filter_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_manager_order_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_manager_order_condition_item_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_manager_order_template_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_mandate__T_punishment_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_mandate_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_demand_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_knowledge_scholar_category_flag__T_flags_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_knowledge_scholar_category_flag_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_knowledge_discoveredst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_language_word_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_language_name_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ui_advmode__T_unk_v40_1_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ui_advmode__T_unk_3170__T_unk_2_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ui_advmode__T_unk_3170_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ui_advmode__T_unk_3124_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ui_advmode__T_conversation__T_choices_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ui_advmode__T_conversation__T_targets_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ui_advmode__T_conversation_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ui_advmode__T_companions_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ui_advmode__T_interactions_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ui_advmode__T_unk_v40_2_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ui_advmode__T_unk_v40_3_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ui_advmode__T_unk_v40_4__T_unk_v40_4a_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ui_advmode__T_unk_v40_4_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ui_advmode__T_unk_v40_5_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ui_advmode__T_unk_v42_1_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ui_advmode__T_assume_identity_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ui_advmode_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_art_image_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_poetic_form_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_poetic_form_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_musical_form_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_dance_form_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_occasion_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_historical_entity__T_resources__T_metal_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_historical_entity__T_resources__T_organic_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_historical_entity__T_resources__T_refuse_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_historical_entity__T_resources__T_misc_mat_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_historical_entity__T_resources__T_wood_products_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_historical_entity__T_resources__T_animals_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_historical_entity__T_resources__T_unk13_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_historical_entity__T_resources_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_historical_entity__T_unknown1b__T_unk32e_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_historical_entity__T_unknown1b__T_diplomacy_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_historical_entity__T_unknown1b_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_historical_entity__T_positions_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_historical_entity__T_tissue_styles_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_historical_entity__T_unknown1d_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_historical_entity__T_training_knowledge_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_historical_entity__T_unknown1e_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_historical_entity__T_derived_resources_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_historical_entity__T_claims_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_historical_entity__T_unknown2_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_historical_entity_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_historical_figure__T_unk_fc_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_historical_figure_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_identity_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_collection_warst__T_unk_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_collection_warst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_history_event_collection_battlest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_history__T_event_collections_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_history_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_critter_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_verminst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_petst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_language_word_table_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_raw__T_equipment_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_raw__T_symbols_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_raw__T_progress_trigger_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_raw__T_jobs_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_raw__T_tissue_styles_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_raw__T_workshops_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_raw__T_land_holder_trigger_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_raw_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_population_unk4__T_anon_1_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_population_unk4__T_anon_3_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_population_unk4_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_population_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_nemesis_record_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_artifact_record_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_machine_tile_set_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_machine__T_components_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_machine_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_machine_standardst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_axle_horizontalst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_axle_verticalst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_gear_assemblyst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_windmillst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_water_wheelst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_screw_pumpst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_rollersst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_block_burrow_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_block_burrow_link_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_map_block_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_cave_column_link_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_map_block_column__T_unmined_glyphs_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_map_block_column_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_block_square_event_mineralst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_block_square_event_frozen_liquidst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_block_square_event_world_constructionst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_block_square_event_item_spatterst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_feature_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_feature_outdoor_riverst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_feature_cavest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_feature_pitst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_feature_magma_poolst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_feature_volcanost_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_feature_deep_special_tubest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_feature_deep_surface_portalst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_feature_subterranean_from_layerst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_feature_magma_core_from_layerst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_feature_underworld_from_layerst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_feature_init_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_feature_init_outdoor_riverst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_feature_init_cavest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_feature_init_pitst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_feature_init_magma_poolst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_feature_init_volcanost_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_feature_init_deep_special_tubest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_feature_init_deep_surface_portalst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_feature_init_subterranean_from_layerst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_feature_init_magma_core_from_layerst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_feature_init_underworld_from_layerst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_construction_square_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_construction_square_roadst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_construction_square_tunnelst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_construction_square_bridgest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_construction_square_wallst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_construction_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_construction_roadst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_construction_tunnelst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_construction_bridgest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_construction_wallst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_construction_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_flow_info_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_flow_guide_trailing_flowst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_flow_guide_item_cloudst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_effect_info_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_material_common__T_heat_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_material_common__T_strength_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_material_common__T_reaction_product_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_material_common__T_hardens_with_water_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_material_common_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_material_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_material_template_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_inorganic_raw__T_metal_ore_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_inorganic_raw__T_thread_metal_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_inorganic_raw__T_environment_spec_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_inorganic_raw__T_environment_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_inorganic_raw_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_special_mat_table_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_dipscript_info_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_dipscript_popup_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_active_script_var_unitst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_meeting_context_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_meeting_diplomat_info_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_meeting_event_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_activity_info_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_party_info_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_room_rent_info_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_activity_entry_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_activity_event__T_unk_v42_1_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_activity_event__T_unk_v42_2_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_activity_event_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_activity_event_training_sessionst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_activity_event_combat_trainingst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_activity_event_skill_demonstrationst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_activity_event_individual_skill_drillst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_activity_event_sparringst__T_groups_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_activity_event_sparringst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_activity_event_ranged_practicest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_activity_event_harassmentst__T_anon_2_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_activity_event_harassmentst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_activity_event_conversationst__T_participants_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_activity_event_conversationst__T_anon_6_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_activity_event_conversationst__T_unk_b4_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_activity_event_conversationst__T_turns_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_activity_event_conversationst__T_unk2_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_activity_event_conversationst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_activity_event_conflictst__T_sides__T_enemies_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_activity_event_conflictst__T_sides_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_activity_event_conflictst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_activity_event_guardst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_activity_event_reunionst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_activity_event_prayerst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_activity_event_socializest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_activity_event_worshipst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_activity_event_performancest__T_participant_actions_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_activity_event_performancest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_performance_play_orderst__T_anon_4_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_performance_play_orderst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_activity_event_researchst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_activity_event_ponder_topicst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_activity_event_discuss_topicst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_activity_event_readst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_activity_event_fill_service_orderst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_activity_event_writest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_activity_event_copy_written_contentst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_activity_event_teach_topicst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_activity_event_playst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_activity_event_make_believest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_activity_event_play_with_toyst__T_unk_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_activity_event_play_with_toyst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_activity_event_encounterst__T_anon_1_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_activity_event_encounterst__T_anon_2_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_activity_event_encounterst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_activity_event_store_objectst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_schedule_info_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_item_filter_spec_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_squad_uniform_spec_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_squad_ammo_spec_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_squad_position_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_squad_schedule_order_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_squad_schedule_entry_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_squad__T_rooms_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_squad_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_squad_order_movest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_squad_order_retrieve_artifactst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_squad_order_raid_sitest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_squad_order_rescue_hfst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_army_controller__T_unk_64_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_army_controller_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_army_controller_sub2__T_anon_5_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_army_controller_sub2_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_army_controller_sub7__T_anon_3_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_army_controller_sub7_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_army_controller_sub11__T_anon_3_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_army_controller_sub11_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_army_controller_sub12__T_anon_4_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_army_controller_sub12_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_army_controller_sub13__T_anon_4_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_army_controller_sub13_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_army_controller_sub14__T_anon_4_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_army_controller_sub14_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_army_controller_sub15__T_anon_3_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_army_controller_sub15_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_army__T_members_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_army__T_unk_2c_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_army_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_plant_raw__T_tiles_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_plant_raw__T_colors_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_plant_raw__T_material_defs_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_plant_raw_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_plant_growth_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_plant_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_plant_tree_info_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_proj_list_link_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_projectile_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_proj_itemst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_proj_unitst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_proj_magicst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_creature_handler_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_raws__T_plants_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_raws__T_bodyglosses_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_raws__T_itemdefs_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_raws__T_language_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_raws__T_descriptors_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_raws__T_reactions_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_raws__T_buildings_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_raws__T_syndromes_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_raws__T_effects_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_raws_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_reaction__T_building_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_reaction_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_reaction_description_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_reaction_reagent_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_reaction_reagent_itemst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_reaction_product_itemst__T_get_material_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_reaction_product_itemst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_reaction_product_item_improvementst__T_get_material_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_reaction_product_item_improvementst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_item_type_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_mapsquare_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_spherest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_knowledge_scholar_flagst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_general_ref_value_levelst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_specific_ref_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_specific_ref__T_arg2_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_specific_ref_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_meeting_variable_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_entity_link_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_site_link__T_anon_8_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_site_link_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_resource_allotment_data__T_unk_654_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_resource_allotment_data_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_stockpile_settings__T_animals_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_stockpile_settings__T_food_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_stockpile_settings__T_furniture_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_stockpile_settings__T_refuse_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_stockpile_settings__T_stone_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_stockpile_settings__T_ore_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_stockpile_settings__T_ammo_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_stockpile_settings__T_coins_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_stockpile_settings__T_bars_blocks_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_stockpile_settings__T_gems_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_stockpile_settings__T_finished_goods_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_stockpile_settings__T_leather_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_stockpile_settings__T_cloth_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_stockpile_settings__T_wood_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_stockpile_settings__T_weapons_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_stockpile_settings__T_armor_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_stockpile_settings__T_sheet_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_stockpile_settings_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_stockpilest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_hauling_route_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_hauling_stop_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_stop_depart_condition_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_vehicle_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_creature_interaction_effect_target_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_creature_interaction_effect__T_counter_trigger_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_creature_interaction_effect_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_creature_interaction_effect_painst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_creature_interaction_effect_swellingst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_creature_interaction_effect_oozingst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_creature_interaction_effect_bruisingst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_creature_interaction_effect_blistersst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_creature_interaction_effect_numbnessst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_creature_interaction_effect_paralysisst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_creature_interaction_effect_feverst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_creature_interaction_effect_bleedingst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_creature_interaction_effect_cough_bloodst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_creature_interaction_effect_vomit_bloodst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_creature_interaction_effect_nauseast_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_creature_interaction_effect_unconsciousnessst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_creature_interaction_effect_necrosisst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_creature_interaction_effect_impair_functionst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_creature_interaction_effect_drowsinessst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_creature_interaction_effect_dizzinessst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_creature_interaction_effect_display_namest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_creature_interaction_effect_body_appearance_modifierst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_creature_interaction_effect_bp_appearance_modifierst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_creature_interaction_effect_body_transformationst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_creature_interaction_effect_skill_roll_adjustst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_creature_interaction_effect_display_symbolst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_creature_interaction_effect_flash_symbolst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_creature_interaction_effect_phys_att_changest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_creature_interaction_effect_ment_att_changest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_creature_interaction_effect_add_simple_flagst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_creature_interaction_effect_remove_simple_flagst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_creature_interaction_effect_speed_changest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_creature_interaction_effect_body_mat_interactionst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_creature_interaction_effect_material_force_adjustst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_creature_interaction_effect_can_do_interactionst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_creature_interaction_effect_sense_creature_classst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_creature_interaction_effect_feel_emotionst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_creature_interaction_effect_change_personalityst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_creature_interaction_effect_erratic_behaviorst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_syndrome_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ui_build_item_req_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_build_req_choice_genst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_build_req_choice_specst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ui_build_selector_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_interface_button_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_interface_button_buildingst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_interface_button_building_category_selectorst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_interface_button_building_material_selectorst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_interface_button_building_new_jobst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_interface_button_building_custom_category_selectorst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_interface_button_constructionst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_interface_button_construction_donest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_interface_button_construction_category_selectorst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_interface_button_construction_building_selectorst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ui_sidebar_menus__T_designation_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ui_sidebar_menus__T_workshop_job_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ui_sidebar_menus__T_building_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ui_sidebar_menus__T_zone_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ui_sidebar_menus__T_unit_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ui_sidebar_menus__T_hospital_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ui_sidebar_menus__T_location_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ui_sidebar_menus__T_job_details_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ui_sidebar_menus__T_unit_cursor_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ui_sidebar_menus__T_unit_skills_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ui_sidebar_menus__T_barracks_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ui_sidebar_menus__T_minimap_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ui_sidebar_menus__T_command_line_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ui_sidebar_menus_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ui_look_list__T_items_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ui_look_list__T_items_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ui_look_list_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ui_unit_view_mode_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_punishment_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_timed_event_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_map_renderer__T_anon_4_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_map_renderer_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit__T_path_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit__T_meeting_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit__T_military_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit__T_animal_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit__T_opponent_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit__T_job_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit__T_body_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit__T_appearance_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit__T_counters_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit__T_curse_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit__T_counters2_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit__T_status__T_eat_history__T_food_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit__T_status__T_eat_history__T_drink_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit__T_status__T_eat_history_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit__T_status_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit__T_status2_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit__T_unknown7_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit__T_syndromes_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit__T_reports_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit__T_enemy__T_undead_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit__T_enemy__T_witness_reports_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit__T_enemy__T_unk_448__T_unk_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit__T_enemy__T_unk_448_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit__T_enemy__T_unk_44c_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit__T_enemy__T_unk_v40_sub3__T_unk_2_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit__T_enemy__T_unk_v40_sub3__T_unk_6_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit__T_enemy__T_unk_v40_sub3__T_unk_7__T_unk_sub1_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit__T_enemy__T_unk_v40_sub3__T_unk_7_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit__T_enemy__T_unk_v40_sub3_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit__T_enemy_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_ghost_info__T_target_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_ghost_info_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_inventory_item_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_syndrome__T_symptoms_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_syndrome_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_wound__T_parts_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_wound_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_wound_curse_info_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_misc_trait_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_health_info__T_op_history__T_info__T_crutch_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_health_info__T_op_history__T_info__T_bandage_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_health_info__T_op_history__T_info_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_health_info__T_op_history_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_health_info_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_instrument_skill_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_poetic_skill_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_musical_skill_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_dance_skill_offsets(void* p_df_structure, std::unordered_map& p_table); + +extern void generate_unit_emotion_memory_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_personality__T_values_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_personality__T_unk_v40_2_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_personality__T_emotions_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_personality__T_dreams_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_personality__T_unk_v40_6_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_personality__T_unk5_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_personality__T_needs_offsets(void* p_df_structure, std::unordered_map& p_table); + +extern void generate_unit_personality__T_memories__T_reflected_on_offsets(void* p_df_structure, std::unordered_map& p_table); + +extern void generate_unit_personality__T_memories_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_personality_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_historical_figure_info__T_skills_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_historical_figure_info__T_personality_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_historical_figure_info__T_masterpieces_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_historical_figure_info__T_unk_14_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_historical_figure_info__T_wounds_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_historical_figure_info__T_secret__T_anon_1_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_historical_figure_info__T_secret__T_anon_7_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_historical_figure_info__T_secret__T_knowledge_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_historical_figure_info__T_secret__T_unk_a8_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_historical_figure_info__T_secret_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_historical_figure_info__T_curse_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_historical_figure_info__T_books_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_historical_figure_info__T_reputation__T_wanted_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_historical_figure_info__T_reputation__T_anon_1_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_historical_figure_info__T_reputation__T_unk_2c__T_anon_12_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_historical_figure_info__T_reputation__T_unk_2c_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_historical_figure_info__T_reputation_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_historical_figure_info__T_relationships__T_list_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_historical_figure_info__T_relationships__T_anon_1_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_historical_figure_info__T_relationships__T_anon_2_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_historical_figure_info__T_relationships__T_anon_3_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_historical_figure_info__T_relationships_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_historical_figure_info_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_soul__T_performance_skills_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_soul_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_action__T_data__T_move_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_action__T_data__T_attack__T_unk_4_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_action__T_data__T_attack_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_action__T_data__T_jump_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_action__T_data__T_holdterrain_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_action__T_data__T_releaseterrain_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_action__T_data__T_climb_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_action__T_data__T_job_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_action__T_data__T_talk_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_action__T_data__T_unsteady_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_action__T_data__T_parry_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_action__T_data__T_block_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_action__T_data__T_dodge_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_action__T_data__T_recover_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_action__T_data__T_standup_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_action__T_data__T_liedown_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_action__T_data__T_job2_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_action__T_data__T_pushobject_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_action__T_data__T_suckblood_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_action__T_data__T_holditem_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_action__T_data__T_releaseitem_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_action__T_data_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_action_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_skill_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_preference_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_preference_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_complaint_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_request_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_chunk__T_units_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_chunk_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_appearance_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_vermin_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_layer_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_interfacest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_layer_object_listst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_KeybindingScreen_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_MacroScreenLoad_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_MacroScreenSave_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_dat_summary_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_adopt_regionst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_adventure_logst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_announcelistst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_assign_display_itemst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_barterst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_buildingst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_buildinglistst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_embark_location_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_choose_start_sitest__T_finder_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_choose_start_sitest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_mission__T_details__T_raid_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_mission__T_details__T_recovery_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_mission__T_details__T_rescue_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_mission__T_details__T_request_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_mission__T_details_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_mission_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_civlistst__T_artifact_details_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_civlistst__T_rumors_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_civlistst__T_unk_cache__T_tmp1_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_civlistst__T_unk_cache__T_tmp2_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_civlistst__T_unk_cache_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_civlistst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_createquotast_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_customize_unitst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_dungeon_monsterstatusst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_dungeon_wrestlest__T_unk1_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_dungeon_wrestlest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_dungeonmodest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_dwarfmodest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_entityst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_export_graphical_mapst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_export_regionst__T_unk1_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_export_regionst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_game_cleanerst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_image_creatorst__T_descriptions_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_image_creatorst__T_sites_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_image_creatorst__T_entities_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_image_creatorst__T_plants_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_image_creatorst__T_trees_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_image_creatorst__T_shapes_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_image_creatorst__T_objects_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_image_creatorst__T_artifacts_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_image_creatorst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_itemst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_jobst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_joblistst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_jobmanagementst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_justicest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_kitchenprefst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_layer_arena_creaturest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_assign_trade_status_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_layer_assigntradest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_layer_choose_language_namest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_layer_currencyst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_layer_export_play_mapst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_layer_militaryst__T_squads_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_layer_militaryst__T_positions_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_layer_militaryst__T_squad_members_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_layer_militaryst__T_equip__T_assigned_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_layer_militaryst__T_equip__T_uniform_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_layer_militaryst__T_equip__T_add_item_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_layer_militaryst__T_equip__T_material_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_layer_militaryst__T_equip__T_color_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_layer_militaryst__T_equip_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_layer_militaryst__T_ammo__T_add_item_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_layer_militaryst__T_ammo__T_material_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_layer_militaryst__T_ammo_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_layer_militaryst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_layer_musicsoundst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_unit_storage_status_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_layer_noblelistst__T_info_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_layer_noblelistst__T_candidates_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_layer_noblelistst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_layer_overall_healthst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_layer_reactionst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_layer_squad_schedulest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_layer_stockpilest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_layer_stone_restrictionst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_layer_unit_actionst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_layer_unit_healthst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_layer_unit_relationshipst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_layer_world_gen_paramst__T_unk1_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_layer_world_gen_paramst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_layer_world_gen_param_presetst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_legendsst__T_anon_7__T_anon_3_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_legendsst__T_anon_7_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_legendsst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_locationsst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_loadgame_save_info_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_loadgamest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_meetingst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_movieplayerst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_new_regionst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_noblest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_optionst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_overallstatusst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_petitionsst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_petst__T_animal_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_petst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_pricest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_reportlistst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_requestagreementst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_nemesis_offload_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ui__T_tax_collection_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ui__T_becoming_capital_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ui__T_invasions_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ui__T_kitchen_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ui__T_economy_prices__T_price_adjustment_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ui__T_economy_prices__T_price_setter_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ui__T_economy_prices_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ui__T_stockpile_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ui__T_unk2a8c_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ui__T_map_edge_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ui__T_waypoints__T_points_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ui__T_waypoints__T_routes_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ui__T_waypoints_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ui__T_burrows_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ui__T_alerts__T_list_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ui__T_alerts_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ui__T_equipment_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ui__T_hauling_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ui__T_main__T_dead_citizens_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ui__T_main_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ui__T_squads_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_ui_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_savegamest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_selectitemst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_setup_character_info_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_setupadventurest__T_races_info_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_setupadventurest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_embark_item_choice__T_list_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_embark_item_choice_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_embark_profile_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_setupdwarfgamest__T_animals_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_setupdwarfgamest__T_unk_v43__T_unk_v43_sub9_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_setupdwarfgamest__T_unk_v43_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_setupdwarfgamest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_storesst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_textviewerst__T_formatted_text_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_textviewerst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_titlest__T_start_savegames_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_titlest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_topicmeetingst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_topicmeeting_fill_land_holder_positionsst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_topicmeeting_takerequestsst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_tradeagreementst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_tradegoodsst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_tradelistst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_treasurelistst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_unitst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_unitlistst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_wagesst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_workquota_conditionst__T_traits_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_workquota_conditionst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_workquota_detailsst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_workshop_profilest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_viewscreen_update_regionst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_site_unk130__T_unk_4_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_site_unk130_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_embark_note_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_local_population_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_local_population_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_population_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_population_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_landmass_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_region_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_underground_region_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_river_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_geo_layer_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_geo_biome_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_region_feature_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_region_details__T_edges_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_region_details__T_rivers_vertical_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_region_details__T_rivers_horizontal_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_region_details_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_region_map_entry_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_claim_mask__T_map_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_entity_claim_mask_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_moving_party__T_members_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_moving_party_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_object_data__T_offloaded_items_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_object_data__T_offloaded_buildings_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_object_data__T_unk_94_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_object_data_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_data__T_unk_b4_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_data__T_constructions_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_data__T_unk_150__T_unk_8_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_data__T_unk_150__T_unk_18_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_data__T_unk_150__T_unk_28_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_data__T_unk_150_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_data__T_unk_170__T_unk_4_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_data__T_unk_170_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_data__T_freakish_weather_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_data__T_mountain_peaks_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_data__T_feature_map__T_features_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_data__T_feature_map_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_data__T_unk_274__T_unk_10_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_data__T_unk_274_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_data__T_unk_482f8_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_data_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_site_reputation_info_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_location_scribe_jobs_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_abstract_building_unk__T_anon_1_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_abstract_building_unk_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_abstract_building__T_inhabitants_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_abstract_building__T_unk1_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_abstract_building_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_abstract_building_keepst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_abstract_building_templest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_abstract_building_dark_towerst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_abstract_building_marketst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_abstract_building_tombst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_abstract_building_dungeonst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_abstract_building_underworld_spirest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_abstract_building_inn_tavernst__T_room_info_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_abstract_building_inn_tavernst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_abstract_building_libraryst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_site__T_unk_1__T_units_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_site__T_unk_1_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_site__T_unk_118_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_site__T_unk_13c_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_site__T_unk_v40_2_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_site__T_subtype_info_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_site__T_unk_21c_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_site__T_unk_v40_4a_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_site__T_unk_v40_4b_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_site__T_unk_v40_4c_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_site__T_unk_v40_4d__T_anon_2_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_site__T_unk_v40_4d_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_site__T_unk_v43_2_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_site__T_unk_188__T_unk1_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_site__T_unk_188_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_site_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_cultural_identity__T_group_log_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_cultural_identity_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_site_realization_crossroads_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_site_building_item_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_abstract_building_mead_hallst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_site_realization_building__T_unk_4c_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_site_realization_building_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_site_realization__T_river_map_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_site_realization__T_unk_55e8__T_unk_v40_2_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_site_realization__T_unk_55e8_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_site_realization__T_building_map_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_site_realization__T_areas_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_site_realization__T_unk_193bc__T_unk_8_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_site_realization__T_unk_193bc_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_site_realization_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_site_realization_building_info_castle_wallst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_site_realization_building_info_castle_towerst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_site_realization_building_info_shop_housest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_site_realization_building_info_market_squarest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_site_realization_building_info_trenchesst__T_spokes_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_site_realization_building_info_trenchesst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_site_realization_building_info_tree_housest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_site_realization_building_info_hillock_housest_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_creation_zone_pwg_alteration_location_deathst__T_unk_1__T_anon_1_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_creation_zone_pwg_alteration_location_deathst__T_unk_1_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_creation_zone_pwg_alteration_location_deathst_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_incident__T_unk_v42_1_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_incident_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_incident_sub6_performance__T_participants_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_incident_sub6_performance_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_incident_sub7_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_incident_sub8_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_incident_sub9_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_incident_sub10_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_crime__T_punishment_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_crime__T_reports_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_crime_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_mission_report_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_spoils_report_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_unk_20__T_anon_7_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_unk_20_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_unk_6c_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_unk_9c_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_unk_c0__T_anon_7_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_unk_c0_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_glowing_barrier_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_deep_vein_hollow_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_campfire_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_web_cluster_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_fire_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_job_handler__T_postings_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_job_handler__T_anon_1_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_job_handler_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_building_handler_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_machine_handler_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_mental_picture_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_belief_system_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_vermin_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_entities_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_worldgen_coord_buf_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_units_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_nemesis_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_items_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_artifacts_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_flow_guides_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_stockpile__T_simple1_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_stockpile__T_simple2_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_stockpile__T_simple3_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_stockpile_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_plants_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_enemy_status_cache_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_schedules_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_squads_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_formations_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_activities_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_status__T_slots_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_status_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_interaction_instances_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_written_contents_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_identities_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_incidents_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_crimes_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_vehicles_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_armies_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_army_controllers_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_army_tracking_info_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_cultural_identities_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_agreements_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_poetic_forms_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_musical_forms_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_dance_forms_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_scales_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_rhythms_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_occupations_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_belief_systems_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_map_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_profession_skills_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_math__T_approx_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_math_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_map_extras_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_worldgen_status_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_unk_59dc4__T_unk1_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_unk_59dc4_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_flow_engine_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_worldgen__T_worldgen_parms_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_worldgen_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_unk_v40_6_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_unk_131ec0_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_languages_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_unk_131ef0__T_unk_2_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_unk_131ef0_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_pathfinder__T_boundary_heap_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_pathfinder_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_cur_savegame_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_features_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_arena_spawn__T_item_types_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_arena_spawn__T_equipment_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_arena_spawn_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_arena_settings_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_unk_19325c__T_anon_1_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_unk_19325c__T_anon_2_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_unk_19325c__T_anon_3_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world__T_unk_19325c_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_world_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_T_cursor_offsets(void* p_df_structure, std::unordered_map& p_table); + extern void generate_T_selection_rect_offsets(void* p_df_structure, std::unordered_map& p_table); void fill_offsets(DF_Type p_type, OffsetTable& p_table) -{ - switch (p_type) - { - case DF_Type::abstract_building : generate_abstract_building_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::abstract_building__T_inhabitants : generate_abstract_building__T_inhabitants_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::abstract_building__T_unk1 : generate_abstract_building__T_unk1_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::abstract_building_contents : generate_abstract_building_contents_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::abstract_building_dark_towerst : generate_abstract_building_dark_towerst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::abstract_building_dungeonst : generate_abstract_building_dungeonst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::abstract_building_inn_tavernst : generate_abstract_building_inn_tavernst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::abstract_building_inn_tavernst__T_room_info : generate_abstract_building_inn_tavernst__T_room_info_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::abstract_building_keepst : generate_abstract_building_keepst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::abstract_building_libraryst : generate_abstract_building_libraryst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::abstract_building_marketst : generate_abstract_building_marketst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::abstract_building_mead_hallst : generate_abstract_building_mead_hallst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::abstract_building_templest : generate_abstract_building_templest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::abstract_building_tombst : generate_abstract_building_tombst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::abstract_building_underworld_spirest : generate_abstract_building_underworld_spirest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::abstract_building_unk : generate_abstract_building_unk_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::abstract_building_unk__T_anon_1 : generate_abstract_building_unk__T_anon_1_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::active_script_var_longst : generate_active_script_var_longst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::active_script_var_unitst : generate_active_script_var_unitst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::active_script_varst : generate_active_script_varst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::activity_entry : generate_activity_entry_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::activity_event : generate_activity_event_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::activity_event__T_unk_v42_1 : generate_activity_event__T_unk_v42_1_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::activity_event__T_unk_v42_2 : generate_activity_event__T_unk_v42_2_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::activity_event_combat_trainingst : generate_activity_event_combat_trainingst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::activity_event_conflictst : generate_activity_event_conflictst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::activity_event_conflictst__T_sides : generate_activity_event_conflictst__T_sides_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::activity_event_conflictst__T_sides__T_enemies : generate_activity_event_conflictst__T_sides__T_enemies_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::activity_event_conversationst : generate_activity_event_conversationst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::activity_event_conversationst__T_anon_6 : generate_activity_event_conversationst__T_anon_6_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::activity_event_conversationst__T_participants : generate_activity_event_conversationst__T_participants_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::activity_event_conversationst__T_turns : generate_activity_event_conversationst__T_turns_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::activity_event_conversationst__T_unk2 : generate_activity_event_conversationst__T_unk2_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::activity_event_conversationst__T_unk_b4 : generate_activity_event_conversationst__T_unk_b4_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::activity_event_copy_written_contentst : generate_activity_event_copy_written_contentst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::activity_event_discuss_topicst : generate_activity_event_discuss_topicst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::activity_event_encounterst : generate_activity_event_encounterst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::activity_event_encounterst__T_anon_1 : generate_activity_event_encounterst__T_anon_1_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::activity_event_encounterst__T_anon_2 : generate_activity_event_encounterst__T_anon_2_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::activity_event_fill_service_orderst : generate_activity_event_fill_service_orderst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::activity_event_guardst : generate_activity_event_guardst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::activity_event_harassmentst : generate_activity_event_harassmentst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::activity_event_harassmentst__T_anon_2 : generate_activity_event_harassmentst__T_anon_2_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::activity_event_individual_skill_drillst : generate_activity_event_individual_skill_drillst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::activity_event_make_believest : generate_activity_event_make_believest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::activity_event_participants : generate_activity_event_participants_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::activity_event_performancest : generate_activity_event_performancest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::activity_event_performancest__T_participant_actions : generate_activity_event_performancest__T_participant_actions_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::activity_event_play_with_toyst : generate_activity_event_play_with_toyst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::activity_event_play_with_toyst__T_unk : generate_activity_event_play_with_toyst__T_unk_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::activity_event_playst : generate_activity_event_playst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::activity_event_ponder_topicst : generate_activity_event_ponder_topicst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::activity_event_prayerst : generate_activity_event_prayerst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::activity_event_ranged_practicest : generate_activity_event_ranged_practicest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::activity_event_readst : generate_activity_event_readst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::activity_event_researchst : generate_activity_event_researchst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::activity_event_reunionst : generate_activity_event_reunionst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::activity_event_skill_demonstrationst : generate_activity_event_skill_demonstrationst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::activity_event_socializest : generate_activity_event_socializest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::activity_event_sparringst : generate_activity_event_sparringst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::activity_event_sparringst__T_groups : generate_activity_event_sparringst__T_groups_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::activity_event_store_objectst : generate_activity_event_store_objectst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::activity_event_teach_topicst : generate_activity_event_teach_topicst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::activity_event_training_sessionst : generate_activity_event_training_sessionst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::activity_event_worshipst : generate_activity_event_worshipst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::activity_event_writest : generate_activity_event_writest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::activity_info : generate_activity_info_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::adventure_environment_ingest_from_containerst : generate_adventure_environment_ingest_from_containerst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::adventure_environment_ingest_materialst : generate_adventure_environment_ingest_materialst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::adventure_environment_optionst : generate_adventure_environment_optionst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::adventure_environment_pickup_chop_treest : generate_adventure_environment_pickup_chop_treest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::adventure_environment_pickup_ignite_vegst : generate_adventure_environment_pickup_ignite_vegst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::adventure_environment_pickup_make_campfirest : generate_adventure_environment_pickup_make_campfirest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::adventure_environment_pickup_vermin_eventst : generate_adventure_environment_pickup_vermin_eventst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::adventure_environment_place_in_bld_containerst : generate_adventure_environment_place_in_bld_containerst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::adventure_environment_place_in_it_containerst : generate_adventure_environment_place_in_it_containerst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::adventure_environment_unit_suck_bloodst : generate_adventure_environment_unit_suck_bloodst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::adventure_item_interact_choicest : generate_adventure_item_interact_choicest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::adventure_item_interact_fill_from_containerst : generate_adventure_item_interact_fill_from_containerst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::adventure_item_interact_fill_with_materialst : generate_adventure_item_interact_fill_with_materialst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::adventure_item_interact_give_namest : generate_adventure_item_interact_give_namest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::adventure_item_interact_heat_from_tilest : generate_adventure_item_interact_heat_from_tilest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::adventure_item_interact_pull_outst : generate_adventure_item_interact_pull_outst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::adventure_item_interact_readst : generate_adventure_item_interact_readst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::adventure_item_interact_strugglest : generate_adventure_item_interact_strugglest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::adventure_log_item : generate_adventure_log_item_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::adventure_movement_attack_creaturest : generate_adventure_movement_attack_creaturest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::adventure_movement_building_interactst : generate_adventure_movement_building_interactst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::adventure_movement_climbst : generate_adventure_movement_climbst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::adventure_movement_hold_itemst : generate_adventure_movement_hold_itemst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::adventure_movement_hold_tilest : generate_adventure_movement_hold_tilest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::adventure_movement_item_interact_guidest : generate_adventure_movement_item_interact_guidest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::adventure_movement_item_interact_pushst : generate_adventure_movement_item_interact_pushst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::adventure_movement_item_interact_ridest : generate_adventure_movement_item_interact_ridest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::adventure_movement_item_interactst : generate_adventure_movement_item_interactst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::adventure_movement_movest : generate_adventure_movement_movest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::adventure_movement_optionst : generate_adventure_movement_optionst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::adventure_movement_release_hold_itemst : generate_adventure_movement_release_hold_itemst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::adventure_movement_release_hold_tilest : generate_adventure_movement_release_hold_tilest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::adventure_option_eat_item_contaminantst : generate_adventure_option_eat_item_contaminantst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::adventure_option_eat_unit_contaminantst : generate_adventure_option_eat_unit_contaminantst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::adventure_option_view_contaminantst : generate_adventure_option_view_contaminantst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::adventure_optionst : generate_adventure_optionst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::agreement : generate_agreement_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::agreement__T_details : generate_agreement__T_details_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::agreement__T_details__T_data : generate_agreement__T_details__T_data_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::agreement__T_details__T_data__T_data0 : generate_agreement__T_details__T_data__T_data0_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::agreement__T_details__T_data__T_data1 : generate_agreement__T_details__T_data__T_data1_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::agreement__T_parties : generate_agreement__T_parties_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::agreement__T_parties__T_anon_1 : generate_agreement__T_parties__T_anon_1_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::announcements : generate_announcements_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::armor_properties : generate_armor_properties_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::army : generate_army_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::army__T_members : generate_army__T_members_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::army__T_unk_2c : generate_army__T_unk_2c_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::army_controller : generate_army_controller_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::army_controller__T_unk_64 : generate_army_controller__T_unk_64_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::army_controller_sub1 : generate_army_controller_sub1_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::army_controller_sub11 : generate_army_controller_sub11_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::army_controller_sub11__T_anon_3 : generate_army_controller_sub11__T_anon_3_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::army_controller_sub12 : generate_army_controller_sub12_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::army_controller_sub12__T_anon_4 : generate_army_controller_sub12__T_anon_4_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::army_controller_sub13 : generate_army_controller_sub13_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::army_controller_sub13__T_anon_4 : generate_army_controller_sub13__T_anon_4_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::army_controller_sub14 : generate_army_controller_sub14_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::army_controller_sub14__T_anon_4 : generate_army_controller_sub14__T_anon_4_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::army_controller_sub15 : generate_army_controller_sub15_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::army_controller_sub15__T_anon_3 : generate_army_controller_sub15__T_anon_3_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::army_controller_sub16 : generate_army_controller_sub16_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::army_controller_sub17 : generate_army_controller_sub17_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::army_controller_sub18 : generate_army_controller_sub18_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::army_controller_sub2 : generate_army_controller_sub2_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::army_controller_sub2__T_anon_5 : generate_army_controller_sub2__T_anon_5_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::army_controller_sub4 : generate_army_controller_sub4_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::army_controller_sub5 : generate_army_controller_sub5_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::army_controller_sub6 : generate_army_controller_sub6_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::army_controller_sub7 : generate_army_controller_sub7_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::army_controller_sub7__T_anon_3 : generate_army_controller_sub7__T_anon_3_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::art_image : generate_art_image_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::art_image_chunk : generate_art_image_chunk_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::art_image_element : generate_art_image_element_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::art_image_element_creaturest : generate_art_image_element_creaturest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::art_image_element_itemst : generate_art_image_element_itemst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::art_image_element_plantst : generate_art_image_element_plantst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::art_image_element_shapest : generate_art_image_element_shapest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::art_image_element_treest : generate_art_image_element_treest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::art_image_property : generate_art_image_property_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::art_image_property_intransitive_verbst : generate_art_image_property_intransitive_verbst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::art_image_property_transitive_verbst : generate_art_image_property_transitive_verbst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::art_image_ref : generate_art_image_ref_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::artifact_record : generate_artifact_record_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::assign_trade_status : generate_assign_trade_status_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::belief_system : generate_belief_system_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::block_burrow : generate_block_burrow_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::block_burrow_link : generate_block_burrow_link_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::block_square_event : generate_block_square_event_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::block_square_event_designation_priorityst : generate_block_square_event_designation_priorityst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::block_square_event_frozen_liquidst : generate_block_square_event_frozen_liquidst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::block_square_event_grassst : generate_block_square_event_grassst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::block_square_event_item_spatterst : generate_block_square_event_item_spatterst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::block_square_event_material_spatterst : generate_block_square_event_material_spatterst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::block_square_event_mineralst : generate_block_square_event_mineralst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::block_square_event_spoorst : generate_block_square_event_spoorst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::block_square_event_world_constructionst : generate_block_square_event_world_constructionst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::body_appearance_modifier : generate_body_appearance_modifier_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::body_component_info : generate_body_component_info_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::body_detail_plan : generate_body_detail_plan_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::body_part_layer_raw : generate_body_part_layer_raw_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::body_part_raw : generate_body_part_raw_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::body_part_template : generate_body_part_template_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::body_size_info : generate_body_size_info_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::body_template : generate_body_template_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::bp_appearance_modifier : generate_bp_appearance_modifier_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::build_req_choice_genst : generate_build_req_choice_genst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::build_req_choice_specst : generate_build_req_choice_specst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::build_req_choicest : generate_build_req_choicest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building : generate_building_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building__T_activities : generate_building__T_activities_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building__T_job_claim_suppress : generate_building__T_job_claim_suppress_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_actual : generate_building_actual_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_actual__T_contained_items : generate_building_actual__T_contained_items_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_animaltrapst : generate_building_animaltrapst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_archerytargetst : generate_building_archerytargetst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_armorstandst : generate_building_armorstandst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_axle_horizontalst : generate_building_axle_horizontalst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_axle_verticalst : generate_building_axle_verticalst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_bars_floorst : generate_building_bars_floorst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_bars_verticalst : generate_building_bars_verticalst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_bedst : generate_building_bedst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_bookcasest : generate_building_bookcasest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_boxst : generate_building_boxst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_bridgest : generate_building_bridgest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_cabinetst : generate_building_cabinetst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_cagest : generate_building_cagest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_chainst : generate_building_chainst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_chairst : generate_building_chairst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_civzonest : generate_building_civzonest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_coffinst : generate_building_coffinst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_constructionst : generate_building_constructionst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_def : generate_building_def_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_def_furnacest : generate_building_def_furnacest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_def_item : generate_building_def_item_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_def_workshopst : generate_building_def_workshopst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_design : generate_building_design_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_display_furniturest : generate_building_display_furniturest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_doorst : generate_building_doorst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_drawbuffer : generate_building_drawbuffer_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_extents : generate_building_extents_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_farmplotst : generate_building_farmplotst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_floodgatest : generate_building_floodgatest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_furnacest : generate_building_furnacest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_gear_assemblyst : generate_building_gear_assemblyst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_grate_floorst : generate_building_grate_floorst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_grate_wallst : generate_building_grate_wallst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_handler : generate_building_handler_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_hatchst : generate_building_hatchst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_hivest : generate_building_hivest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_instrumentst : generate_building_instrumentst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_nest_boxst : generate_building_nest_boxst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_nestst : generate_building_nestst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_road_dirtst : generate_building_road_dirtst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_road_pavedst : generate_building_road_pavedst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_roadst : generate_building_roadst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_rollersst : generate_building_rollersst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_screw_pumpst : generate_building_screw_pumpst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_shopst : generate_building_shopst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_siegeenginest : generate_building_siegeenginest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_slabst : generate_building_slabst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_squad_use : generate_building_squad_use_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_statuest : generate_building_statuest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_stockpilest : generate_building_stockpilest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_supportst : generate_building_supportst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_tablest : generate_building_tablest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_traction_benchst : generate_building_traction_benchst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_tradedepotst : generate_building_tradedepotst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_trapst : generate_building_trapst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_users : generate_building_users_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_wagonst : generate_building_wagonst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_water_wheelst : generate_building_water_wheelst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_weaponrackst : generate_building_weaponrackst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_weaponst : generate_building_weaponst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_wellst : generate_building_wellst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_windmillst : generate_building_windmillst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_window_gemst : generate_building_window_gemst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_window_glassst : generate_building_window_glassst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_windowst : generate_building_windowst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::building_workshopst : generate_building_workshopst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::burrow : generate_burrow_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::campfire : generate_campfire_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::caravan_state : generate_caravan_state_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::caste_attack : generate_caste_attack_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::caste_body_info : generate_caste_body_info_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::caste_body_info__T_extra_butcher_objects : generate_caste_body_info__T_extra_butcher_objects_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::caste_body_info__T_interactions : generate_caste_body_info__T_interactions_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::caste_clothing_item : generate_caste_clothing_item_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::caste_raw : generate_caste_raw_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::caste_raw__T_attributes : generate_caste_raw__T_attributes_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::caste_raw__T_bp_appearance : generate_caste_raw__T_bp_appearance_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::caste_raw__T_caste_profession_name : generate_caste_raw__T_caste_profession_name_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::caste_raw__T_extracts : generate_caste_raw__T_extracts_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::caste_raw__T_misc : generate_caste_raw__T_misc_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::caste_raw__T_personality : generate_caste_raw__T_personality_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::caste_raw__T_secretion : generate_caste_raw__T_secretion_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::caste_raw__T_shearable_tissue_layer : generate_caste_raw__T_shearable_tissue_layer_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::caste_raw__T_unknown2 : generate_caste_raw__T_unknown2_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::cave_column : generate_cave_column_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::cave_column_link : generate_cave_column_link_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::cave_column_rectangle : generate_cave_column_rectangle_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::coin_batch : generate_coin_batch_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::coin_batch__T_image_back : generate_coin_batch__T_image_back_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::coin_batch__T_image_front : generate_coin_batch__T_image_front_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::color_modifier_raw : generate_color_modifier_raw_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::construction : generate_construction_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::conversation : generate_conversation_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::conversation__T_speech : generate_conversation__T_speech_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::coord : generate_coord_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::coord2d : generate_coord2d_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::coord2d_path : generate_coord2d_path_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::coord_path : generate_coord_path_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::coord_rect : generate_coord_rect_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::creation_zone_pwg_alteration_campst : generate_creation_zone_pwg_alteration_campst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::creation_zone_pwg_alteration_location_deathst : generate_creation_zone_pwg_alteration_location_deathst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::creation_zone_pwg_alteration_location_deathst__T_unk_1 : generate_creation_zone_pwg_alteration_location_deathst__T_unk_1_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::creation_zone_pwg_alteration_location_deathst__T_unk_1__T_anon_1 : generate_creation_zone_pwg_alteration_location_deathst__T_unk_1__T_anon_1_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::creation_zone_pwg_alteration_srb_ruinedst : generate_creation_zone_pwg_alteration_srb_ruinedst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::creation_zone_pwg_alteration_srp_ruinedst : generate_creation_zone_pwg_alteration_srp_ruinedst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::creation_zone_pwg_alterationst : generate_creation_zone_pwg_alterationst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::creature_graphics_appointment : generate_creature_graphics_appointment_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::creature_handler : generate_creature_handler_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::creature_interaction : generate_creature_interaction_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::creature_interaction_effect : generate_creature_interaction_effect_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::creature_interaction_effect__T_counter_trigger : generate_creature_interaction_effect__T_counter_trigger_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::creature_interaction_effect_add_simple_flagst : generate_creature_interaction_effect_add_simple_flagst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::creature_interaction_effect_bleedingst : generate_creature_interaction_effect_bleedingst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::creature_interaction_effect_blistersst : generate_creature_interaction_effect_blistersst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::creature_interaction_effect_body_appearance_modifierst : generate_creature_interaction_effect_body_appearance_modifierst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::creature_interaction_effect_body_mat_interactionst : generate_creature_interaction_effect_body_mat_interactionst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::creature_interaction_effect_body_transformationst : generate_creature_interaction_effect_body_transformationst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::creature_interaction_effect_bp_appearance_modifierst : generate_creature_interaction_effect_bp_appearance_modifierst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::creature_interaction_effect_bruisingst : generate_creature_interaction_effect_bruisingst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::creature_interaction_effect_can_do_interactionst : generate_creature_interaction_effect_can_do_interactionst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::creature_interaction_effect_change_personalityst : generate_creature_interaction_effect_change_personalityst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::creature_interaction_effect_cough_bloodst : generate_creature_interaction_effect_cough_bloodst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::creature_interaction_effect_display_namest : generate_creature_interaction_effect_display_namest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::creature_interaction_effect_display_symbolst : generate_creature_interaction_effect_display_symbolst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::creature_interaction_effect_dizzinessst : generate_creature_interaction_effect_dizzinessst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::creature_interaction_effect_drowsinessst : generate_creature_interaction_effect_drowsinessst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::creature_interaction_effect_erratic_behaviorst : generate_creature_interaction_effect_erratic_behaviorst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::creature_interaction_effect_feel_emotionst : generate_creature_interaction_effect_feel_emotionst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::creature_interaction_effect_feverst : generate_creature_interaction_effect_feverst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::creature_interaction_effect_flash_symbolst : generate_creature_interaction_effect_flash_symbolst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::creature_interaction_effect_impair_functionst : generate_creature_interaction_effect_impair_functionst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::creature_interaction_effect_material_force_adjustst : generate_creature_interaction_effect_material_force_adjustst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::creature_interaction_effect_ment_att_changest : generate_creature_interaction_effect_ment_att_changest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::creature_interaction_effect_nauseast : generate_creature_interaction_effect_nauseast_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::creature_interaction_effect_necrosisst : generate_creature_interaction_effect_necrosisst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::creature_interaction_effect_numbnessst : generate_creature_interaction_effect_numbnessst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::creature_interaction_effect_oozingst : generate_creature_interaction_effect_oozingst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::creature_interaction_effect_painst : generate_creature_interaction_effect_painst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::creature_interaction_effect_paralysisst : generate_creature_interaction_effect_paralysisst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::creature_interaction_effect_phys_att_changest : generate_creature_interaction_effect_phys_att_changest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::creature_interaction_effect_remove_simple_flagst : generate_creature_interaction_effect_remove_simple_flagst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::creature_interaction_effect_sense_creature_classst : generate_creature_interaction_effect_sense_creature_classst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::creature_interaction_effect_skill_roll_adjustst : generate_creature_interaction_effect_skill_roll_adjustst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::creature_interaction_effect_speed_changest : generate_creature_interaction_effect_speed_changest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::creature_interaction_effect_swellingst : generate_creature_interaction_effect_swellingst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::creature_interaction_effect_target : generate_creature_interaction_effect_target_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::creature_interaction_effect_unconsciousnessst : generate_creature_interaction_effect_unconsciousnessst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::creature_interaction_effect_vomit_bloodst : generate_creature_interaction_effect_vomit_bloodst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::creature_raw : generate_creature_raw_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::creature_raw__T_graphics : generate_creature_raw__T_graphics_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::creature_raw__T_hive_product : generate_creature_raw__T_hive_product_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::creature_raw__T_profession_name : generate_creature_raw__T_profession_name_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::creature_variation : generate_creature_variation_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::creature_variation_convert_tag : generate_creature_variation_convert_tag_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::crime : generate_crime_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::crime__T_punishment : generate_crime__T_punishment_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::crime__T_reports : generate_crime__T_reports_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::cultural_identity : generate_cultural_identity_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::cultural_identity__T_group_log : generate_cultural_identity__T_group_log_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::curse_attr_change : generate_curse_attr_change_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::d_init : generate_d_init_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::d_init__T_store_dist : generate_d_init__T_store_dist_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::d_init__T_wound_color : generate_d_init__T_wound_color_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::dance_form : generate_dance_form_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::dance_form_sub1 : generate_dance_form_sub1_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::dance_form_sub2 : generate_dance_form_sub2_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::deep_vein_hollow : generate_deep_vein_hollow_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::descriptor_color : generate_descriptor_color_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::descriptor_pattern : generate_descriptor_pattern_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::descriptor_shape : generate_descriptor_shape_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::dipscript_info : generate_dipscript_info_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::dipscript_popup : generate_dipscript_popup_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::dye_info : generate_dye_info_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::effect_info : generate_effect_info_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::embark_item_choice : generate_embark_item_choice_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::embark_item_choice__T_list : generate_embark_item_choice__T_list_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::embark_location : generate_embark_location_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::embark_note : generate_embark_note_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::embark_profile : generate_embark_profile_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::engraving : generate_engraving_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_activity_statistics : generate_entity_activity_statistics_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_activity_statistics__T_food : generate_entity_activity_statistics__T_food_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_activity_statistics__T_wealth : generate_entity_activity_statistics__T_wealth_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_animal_raw : generate_entity_animal_raw_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_buy_prices : generate_entity_buy_prices_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_buy_requests : generate_entity_buy_requests_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_claim_mask : generate_entity_claim_mask_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_claim_mask__T_map : generate_entity_claim_mask__T_map_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_entity_link : generate_entity_entity_link_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_event : generate_entity_event_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_event__T_data : generate_entity_event__T_data_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_event__T_data__T_abandon : generate_entity_event__T_data__T_abandon_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_event__T_data__T_abduction : generate_entity_event__T_data__T_abduction_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_event__T_data__T_accept_peace_offer : generate_entity_event__T_data__T_accept_peace_offer_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_event__T_data__T_accept_tribute_demand : generate_entity_event__T_data__T_accept_tribute_demand_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_event__T_data__T_accept_tribute_offer : generate_entity_event__T_data__T_accept_tribute_offer_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_event__T_data__T_artifact_destroyed : generate_entity_event__T_data__T_artifact_destroyed_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_event__T_data__T_artifact_in_feature_layer : generate_entity_event__T_data__T_artifact_in_feature_layer_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_event__T_data__T_artifact_in_inventory : generate_entity_event__T_data__T_artifact_in_inventory_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_event__T_data__T_artifact_in_site : generate_entity_event__T_data__T_artifact_in_site_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_event__T_data__T_artifact_in_subregion : generate_entity_event__T_data__T_artifact_in_subregion_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_event__T_data__T_artifact_not_in_feature_layer : generate_entity_event__T_data__T_artifact_not_in_feature_layer_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_event__T_data__T_artifact_not_in_inventory : generate_entity_event__T_data__T_artifact_not_in_inventory_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_event__T_data__T_artifact_not_in_site : generate_entity_event__T_data__T_artifact_not_in_site_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_event__T_data__T_artifact_not_in_subregion : generate_entity_event__T_data__T_artifact_not_in_subregion_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_event__T_data__T_beast : generate_entity_event__T_data__T_beast_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_event__T_data__T_cease_tribute_offer : generate_entity_event__T_data__T_cease_tribute_offer_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_event__T_data__T_claim : generate_entity_event__T_data__T_claim_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_event__T_data__T_flee : generate_entity_event__T_data__T_flee_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_event__T_data__T_founded : generate_entity_event__T_data__T_founded_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_event__T_data__T_founding : generate_entity_event__T_data__T_founding_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_event__T_data__T_group : generate_entity_event__T_data__T_group_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_event__T_data__T_harass : generate_entity_event__T_data__T_harass_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_event__T_data__T_incident : generate_entity_event__T_data__T_incident_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_event__T_data__T_insurrection : generate_entity_event__T_data__T_insurrection_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_event__T_data__T_insurrection_end : generate_entity_event__T_data__T_insurrection_end_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_event__T_data__T_invasion : generate_entity_event__T_data__T_invasion_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_event__T_data__T_leave : generate_entity_event__T_data__T_leave_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_event__T_data__T_occupation : generate_entity_event__T_data__T_occupation_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_event__T_data__T_reclaimed : generate_entity_event__T_data__T_reclaimed_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_event__T_data__T_reclaiming : generate_entity_event__T_data__T_reclaiming_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_event__T_data__T_refuse_peace_offer : generate_entity_event__T_data__T_refuse_peace_offer_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_event__T_data__T_refuse_tribute_demand : generate_entity_event__T_data__T_refuse_tribute_demand_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_event__T_data__T_refuse_tribute_offer : generate_entity_event__T_data__T_refuse_tribute_offer_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_event__T_data__T_succession : generate_entity_event__T_data__T_succession_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_occasion : generate_entity_occasion_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_occasion_info : generate_entity_occasion_info_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_occasion_schedule : generate_entity_occasion_schedule_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_occasion_schedule_feature : generate_entity_occasion_schedule_feature_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_population : generate_entity_population_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_population_unk4 : generate_entity_population_unk4_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_population_unk4__T_anon_1 : generate_entity_population_unk4__T_anon_1_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_population_unk4__T_anon_3 : generate_entity_population_unk4__T_anon_3_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_position : generate_entity_position_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_position_assignment : generate_entity_position_assignment_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_position_raw : generate_entity_position_raw_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_raw : generate_entity_raw_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_raw__T_equipment : generate_entity_raw__T_equipment_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_raw__T_jobs : generate_entity_raw__T_jobs_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_raw__T_land_holder_trigger : generate_entity_raw__T_land_holder_trigger_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_raw__T_progress_trigger : generate_entity_raw__T_progress_trigger_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_raw__T_symbols : generate_entity_raw__T_symbols_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_raw__T_tissue_styles : generate_entity_raw__T_tissue_styles_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_raw__T_workshops : generate_entity_raw__T_workshops_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_recipe : generate_entity_recipe_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_sell_prices : generate_entity_sell_prices_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_sell_requests : generate_entity_sell_requests_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_site_link : generate_entity_site_link_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_site_link__T_anon_8 : generate_entity_site_link__T_anon_8_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_tissue_style : generate_entity_tissue_style_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_uniform : generate_entity_uniform_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::entity_uniform_item : generate_entity_uniform_item_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::feature : generate_feature_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::feature_alteration : generate_feature_alteration_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::feature_alteration_new_lava_fill_zst : generate_feature_alteration_new_lava_fill_zst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::feature_alteration_new_pop_maxst : generate_feature_alteration_new_pop_maxst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::feature_cavest : generate_feature_cavest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::feature_deep_special_tubest : generate_feature_deep_special_tubest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::feature_deep_surface_portalst : generate_feature_deep_surface_portalst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::feature_init : generate_feature_init_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::feature_init_cavest : generate_feature_init_cavest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::feature_init_deep_special_tubest : generate_feature_init_deep_special_tubest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::feature_init_deep_surface_portalst : generate_feature_init_deep_surface_portalst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::feature_init_magma_core_from_layerst : generate_feature_init_magma_core_from_layerst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::feature_init_magma_poolst : generate_feature_init_magma_poolst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::feature_init_outdoor_riverst : generate_feature_init_outdoor_riverst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::feature_init_pitst : generate_feature_init_pitst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::feature_init_subterranean_from_layerst : generate_feature_init_subterranean_from_layerst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::feature_init_underworld_from_layerst : generate_feature_init_underworld_from_layerst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::feature_init_volcanost : generate_feature_init_volcanost_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::feature_magma_core_from_layerst : generate_feature_magma_core_from_layerst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::feature_magma_poolst : generate_feature_magma_poolst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::feature_outdoor_riverst : generate_feature_outdoor_riverst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::feature_pitst : generate_feature_pitst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::feature_subterranean_from_layerst : generate_feature_subterranean_from_layerst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::feature_underworld_from_layerst : generate_feature_underworld_from_layerst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::feature_volcanost : generate_feature_volcanost_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::file_compressorst : generate_file_compressorst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::fire : generate_fire_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::flow_guide : generate_flow_guide_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::flow_guide_item_cloudst : generate_flow_guide_item_cloudst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::flow_guide_trailing_flowst : generate_flow_guide_trailing_flowst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::flow_info : generate_flow_info_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::flow_reuse_pool : generate_flow_reuse_pool_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::gait_info : generate_gait_info_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref : generate_general_ref_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_abstract_buildingst : generate_general_ref_abstract_buildingst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_activity_eventst : generate_general_ref_activity_eventst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_artifact : generate_general_ref_artifact_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_building : generate_general_ref_building_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_building_cagedst : generate_general_ref_building_cagedst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_building_chainst : generate_general_ref_building_chainst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_building_civzone_assignedst : generate_general_ref_building_civzone_assignedst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_building_destinationst : generate_general_ref_building_destinationst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_building_display_furniturest : generate_general_ref_building_display_furniturest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_building_holderst : generate_general_ref_building_holderst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_building_nest_boxst : generate_general_ref_building_nest_boxst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_building_triggerst : generate_general_ref_building_triggerst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_building_triggertargetst : generate_general_ref_building_triggertargetst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_building_use_target_1st : generate_general_ref_building_use_target_1st_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_building_use_target_2st : generate_general_ref_building_use_target_2st_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_building_well_tag : generate_general_ref_building_well_tag_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_coinbatch : generate_general_ref_coinbatch_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_contained_in_itemst : generate_general_ref_contained_in_itemst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_contains_itemst : generate_general_ref_contains_itemst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_contains_unitst : generate_general_ref_contains_unitst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_creaturest : generate_general_ref_creaturest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_dance_formst : generate_general_ref_dance_formst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_entity : generate_general_ref_entity_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_entity_art_image : generate_general_ref_entity_art_image_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_entity_itemownerst : generate_general_ref_entity_itemownerst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_entity_offeredst : generate_general_ref_entity_offeredst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_entity_popst : generate_general_ref_entity_popst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_entity_stolenst : generate_general_ref_entity_stolenst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_feature_layerst : generate_general_ref_feature_layerst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_historical_eventst : generate_general_ref_historical_eventst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_historical_figurest : generate_general_ref_historical_figurest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_interactionst : generate_general_ref_interactionst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_is_artifactst : generate_general_ref_is_artifactst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_is_nemesisst : generate_general_ref_is_nemesisst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_item : generate_general_ref_item_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_item_type : generate_general_ref_item_type_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_knowledge_scholar_flagst : generate_general_ref_knowledge_scholar_flagst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_languagest : generate_general_ref_languagest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_locationst : generate_general_ref_locationst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_mapsquare : generate_general_ref_mapsquare_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_musical_formst : generate_general_ref_musical_formst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_nemesis : generate_general_ref_nemesis_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_poetic_formst : generate_general_ref_poetic_formst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_projectile : generate_general_ref_projectile_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_sitest : generate_general_ref_sitest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_spherest : generate_general_ref_spherest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_subregionst : generate_general_ref_subregionst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_unit : generate_general_ref_unit_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_unit_beateest : generate_general_ref_unit_beateest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_unit_cageest : generate_general_ref_unit_cageest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_unit_climberst : generate_general_ref_unit_climberst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_unit_foodreceiverst : generate_general_ref_unit_foodreceiverst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_unit_geldeest : generate_general_ref_unit_geldeest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_unit_holderst : generate_general_ref_unit_holderst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_unit_infantst : generate_general_ref_unit_infantst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_unit_itemownerst : generate_general_ref_unit_itemownerst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_unit_kidnapeest : generate_general_ref_unit_kidnapeest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_unit_milkeest : generate_general_ref_unit_milkeest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_unit_patientst : generate_general_ref_unit_patientst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_unit_reporteest : generate_general_ref_unit_reporteest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_unit_riderst : generate_general_ref_unit_riderst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_unit_sheareest : generate_general_ref_unit_sheareest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_unit_slaughtereest : generate_general_ref_unit_slaughtereest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_unit_suckeest : generate_general_ref_unit_suckeest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_unit_tradebringerst : generate_general_ref_unit_tradebringerst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_unit_traineest : generate_general_ref_unit_traineest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_unit_workerst : generate_general_ref_unit_workerst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_value_levelst : generate_general_ref_value_levelst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::general_ref_written_contentst : generate_general_ref_written_contentst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::glowing_barrier : generate_glowing_barrier_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::graphic : generate_graphic_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::hauling_route : generate_hauling_route_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::hauling_stop : generate_hauling_stop_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::histfig_entity_link : generate_histfig_entity_link_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::histfig_entity_link_criminalst : generate_histfig_entity_link_criminalst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::histfig_entity_link_enemyst : generate_histfig_entity_link_enemyst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::histfig_entity_link_former_memberst : generate_histfig_entity_link_former_memberst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::histfig_entity_link_former_mercenaryst : generate_histfig_entity_link_former_mercenaryst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::histfig_entity_link_former_occupationst : generate_histfig_entity_link_former_occupationst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::histfig_entity_link_former_positionst : generate_histfig_entity_link_former_positionst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::histfig_entity_link_former_prisonerst : generate_histfig_entity_link_former_prisonerst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::histfig_entity_link_former_slavest : generate_histfig_entity_link_former_slavest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::histfig_entity_link_former_squadst : generate_histfig_entity_link_former_squadst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::histfig_entity_link_memberst : generate_histfig_entity_link_memberst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::histfig_entity_link_mercenaryst : generate_histfig_entity_link_mercenaryst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::histfig_entity_link_occupationst : generate_histfig_entity_link_occupationst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::histfig_entity_link_position_claimst : generate_histfig_entity_link_position_claimst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::histfig_entity_link_positionst : generate_histfig_entity_link_positionst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::histfig_entity_link_prisonerst : generate_histfig_entity_link_prisonerst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::histfig_entity_link_slavest : generate_histfig_entity_link_slavest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::histfig_entity_link_squadst : generate_histfig_entity_link_squadst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::histfig_hf_link : generate_histfig_hf_link_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::histfig_hf_link_apprenticest : generate_histfig_hf_link_apprenticest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::histfig_hf_link_childst : generate_histfig_hf_link_childst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::histfig_hf_link_companionst : generate_histfig_hf_link_companionst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::histfig_hf_link_deityst : generate_histfig_hf_link_deityst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::histfig_hf_link_fatherst : generate_histfig_hf_link_fatherst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::histfig_hf_link_former_apprenticest : generate_histfig_hf_link_former_apprenticest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::histfig_hf_link_former_masterst : generate_histfig_hf_link_former_masterst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::histfig_hf_link_imprisonerst : generate_histfig_hf_link_imprisonerst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::histfig_hf_link_loverst : generate_histfig_hf_link_loverst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::histfig_hf_link_masterst : generate_histfig_hf_link_masterst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::histfig_hf_link_motherst : generate_histfig_hf_link_motherst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::histfig_hf_link_pet_ownerst : generate_histfig_hf_link_pet_ownerst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::histfig_hf_link_prisonerst : generate_histfig_hf_link_prisonerst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::histfig_hf_link_spousest : generate_histfig_hf_link_spousest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::histfig_site_link : generate_histfig_site_link_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::histfig_site_link_hangoutst : generate_histfig_site_link_hangoutst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::histfig_site_link_home_site_abstract_buildingst : generate_histfig_site_link_home_site_abstract_buildingst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::histfig_site_link_home_site_realization_buildingst : generate_histfig_site_link_home_site_realization_buildingst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::histfig_site_link_home_site_realization_sulst : generate_histfig_site_link_home_site_realization_sulst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::histfig_site_link_home_site_saved_civzonest : generate_histfig_site_link_home_site_saved_civzonest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::histfig_site_link_lairst : generate_histfig_site_link_lairst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::histfig_site_link_occupationst : generate_histfig_site_link_occupationst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::histfig_site_link_seat_of_powerst : generate_histfig_site_link_seat_of_powerst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::historical_entity : generate_historical_entity_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::historical_entity__T_claims : generate_historical_entity__T_claims_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::historical_entity__T_derived_resources : generate_historical_entity__T_derived_resources_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::historical_entity__T_positions : generate_historical_entity__T_positions_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::historical_entity__T_resources : generate_historical_entity__T_resources_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::historical_entity__T_resources__T_animals : generate_historical_entity__T_resources__T_animals_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::historical_entity__T_resources__T_metal : generate_historical_entity__T_resources__T_metal_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::historical_entity__T_resources__T_misc_mat : generate_historical_entity__T_resources__T_misc_mat_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::historical_entity__T_resources__T_organic : generate_historical_entity__T_resources__T_organic_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::historical_entity__T_resources__T_refuse : generate_historical_entity__T_resources__T_refuse_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::historical_entity__T_resources__T_unk13 : generate_historical_entity__T_resources__T_unk13_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::historical_entity__T_resources__T_wood_products : generate_historical_entity__T_resources__T_wood_products_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::historical_entity__T_tissue_styles : generate_historical_entity__T_tissue_styles_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::historical_entity__T_training_knowledge : generate_historical_entity__T_training_knowledge_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::historical_entity__T_unknown1b : generate_historical_entity__T_unknown1b_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::historical_entity__T_unknown1b__T_diplomacy : generate_historical_entity__T_unknown1b__T_diplomacy_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::historical_entity__T_unknown1b__T_unk32e : generate_historical_entity__T_unknown1b__T_unk32e_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::historical_entity__T_unknown1d : generate_historical_entity__T_unknown1d_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::historical_entity__T_unknown1e : generate_historical_entity__T_unknown1e_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::historical_entity__T_unknown2 : generate_historical_entity__T_unknown2_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::historical_figure : generate_historical_figure_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::historical_figure__T_unk_fc : generate_historical_figure__T_unk_fc_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::historical_figure_info : generate_historical_figure_info_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::historical_figure_info__T_books : generate_historical_figure_info__T_books_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::historical_figure_info__T_curse : generate_historical_figure_info__T_curse_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::historical_figure_info__T_masterpieces : generate_historical_figure_info__T_masterpieces_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::historical_figure_info__T_personality : generate_historical_figure_info__T_personality_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::historical_figure_info__T_relationships : generate_historical_figure_info__T_relationships_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::historical_figure_info__T_relationships__T_anon_1 : generate_historical_figure_info__T_relationships__T_anon_1_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::historical_figure_info__T_relationships__T_anon_2 : generate_historical_figure_info__T_relationships__T_anon_2_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::historical_figure_info__T_relationships__T_anon_3 : generate_historical_figure_info__T_relationships__T_anon_3_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::historical_figure_info__T_relationships__T_list : generate_historical_figure_info__T_relationships__T_list_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::historical_figure_info__T_reputation : generate_historical_figure_info__T_reputation_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::historical_figure_info__T_reputation__T_anon_1 : generate_historical_figure_info__T_reputation__T_anon_1_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::historical_figure_info__T_reputation__T_unk_2c : generate_historical_figure_info__T_reputation__T_unk_2c_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::historical_figure_info__T_reputation__T_unk_2c__T_anon_12 : generate_historical_figure_info__T_reputation__T_unk_2c__T_anon_12_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::historical_figure_info__T_reputation__T_wanted : generate_historical_figure_info__T_reputation__T_wanted_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::historical_figure_info__T_secret : generate_historical_figure_info__T_secret_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::historical_figure_info__T_secret__T_anon_1 : generate_historical_figure_info__T_secret__T_anon_1_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::historical_figure_info__T_secret__T_anon_7 : generate_historical_figure_info__T_secret__T_anon_7_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::historical_figure_info__T_secret__T_knowledge : generate_historical_figure_info__T_secret__T_knowledge_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::historical_figure_info__T_secret__T_unk_a8 : generate_historical_figure_info__T_secret__T_unk_a8_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::historical_figure_info__T_skills : generate_historical_figure_info__T_skills_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::historical_figure_info__T_unk_14 : generate_historical_figure_info__T_unk_14_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::historical_figure_info__T_wounds : generate_historical_figure_info__T_wounds_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::historical_kills : generate_historical_kills_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_era : generate_history_era_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_era__T_details : generate_history_era__T_details_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_era__T_title : generate_history_era__T_title_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event : generate_history_event_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_add_hf_entity_linkst : generate_history_event_add_hf_entity_linkst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_add_hf_hf_linkst : generate_history_event_add_hf_hf_linkst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_add_hf_site_linkst : generate_history_event_add_hf_site_linkst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_agreement_concludedst : generate_history_event_agreement_concludedst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_agreement_formedst : generate_history_event_agreement_formedst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_agreements_voidedst : generate_history_event_agreements_voidedst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_artifact_claim_formedst : generate_history_event_artifact_claim_formedst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_artifact_copiedst : generate_history_event_artifact_copiedst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_artifact_createdst : generate_history_event_artifact_createdst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_artifact_destroyedst : generate_history_event_artifact_destroyedst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_artifact_droppedst : generate_history_event_artifact_droppedst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_artifact_foundst : generate_history_event_artifact_foundst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_artifact_givenst : generate_history_event_artifact_givenst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_artifact_hiddenst : generate_history_event_artifact_hiddenst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_artifact_lostst : generate_history_event_artifact_lostst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_artifact_possessedst : generate_history_event_artifact_possessedst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_artifact_recoveredst : generate_history_event_artifact_recoveredst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_artifact_storedst : generate_history_event_artifact_storedst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_artifact_transformedst : generate_history_event_artifact_transformedst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_assume_identityst : generate_history_event_assume_identityst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_body_abusedst : generate_history_event_body_abusedst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_body_abusedst__T_props : generate_history_event_body_abusedst__T_props_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_body_abusedst__T_props__T_hung : generate_history_event_body_abusedst__T_props__T_hung_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_body_abusedst__T_props__T_item : generate_history_event_body_abusedst__T_props__T_item_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_ceremonyst : generate_history_event_ceremonyst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_change_creature_typest : generate_history_event_change_creature_typest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_change_hf_body_statest : generate_history_event_change_hf_body_statest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_change_hf_jobst : generate_history_event_change_hf_jobst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_change_hf_moodst : generate_history_event_change_hf_moodst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_change_hf_statest : generate_history_event_change_hf_statest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_collection : generate_history_event_collection_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_collection_abductionst : generate_history_event_collection_abductionst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_collection_battlest : generate_history_event_collection_battlest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_collection_beast_attackst : generate_history_event_collection_beast_attackst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_collection_ceremonyst : generate_history_event_collection_ceremonyst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_collection_competitionst : generate_history_event_collection_competitionst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_collection_duelst : generate_history_event_collection_duelst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_collection_insurrectionst : generate_history_event_collection_insurrectionst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_collection_journeyst : generate_history_event_collection_journeyst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_collection_occasionst : generate_history_event_collection_occasionst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_collection_performancest : generate_history_event_collection_performancest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_collection_processionst : generate_history_event_collection_processionst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_collection_purgest : generate_history_event_collection_purgest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_collection_raidst : generate_history_event_collection_raidst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_collection_site_conqueredst : generate_history_event_collection_site_conqueredst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_collection_theftst : generate_history_event_collection_theftst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_collection_warst : generate_history_event_collection_warst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_collection_warst__T_unk : generate_history_event_collection_warst__T_unk_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_competitionst : generate_history_event_competitionst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_context : generate_history_event_context_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_create_entity_positionst : generate_history_event_create_entity_positionst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_created_buildingst : generate_history_event_created_buildingst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_created_sitest : generate_history_event_created_sitest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_created_world_constructionst : generate_history_event_created_world_constructionst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_creature_devouredst : generate_history_event_creature_devouredst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_dance_form_createdst : generate_history_event_dance_form_createdst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_diplomat_lostst : generate_history_event_diplomat_lostst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_entity_actionst : generate_history_event_entity_actionst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_entity_createdst : generate_history_event_entity_createdst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_entity_expels_hfst : generate_history_event_entity_expels_hfst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_entity_fled_sitest : generate_history_event_entity_fled_sitest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_entity_incorporatedst : generate_history_event_entity_incorporatedst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_entity_lawst : generate_history_event_entity_lawst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_entity_rampaged_in_sitest : generate_history_event_entity_rampaged_in_sitest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_entity_razed_buildingst : generate_history_event_entity_razed_buildingst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_entity_searched_sitest : generate_history_event_entity_searched_sitest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_first_contact_failedst : generate_history_event_first_contact_failedst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_first_contactst : generate_history_event_first_contactst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_hf_act_on_artifactst : generate_history_event_hf_act_on_artifactst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_hf_act_on_buildingst : generate_history_event_hf_act_on_buildingst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_hf_attacked_sitest : generate_history_event_hf_attacked_sitest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_hf_confrontedst : generate_history_event_hf_confrontedst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_hf_destroyed_sitest : generate_history_event_hf_destroyed_sitest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_hf_does_interactionst : generate_history_event_hf_does_interactionst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_hf_freedst : generate_history_event_hf_freedst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_hf_gains_secret_goalst : generate_history_event_hf_gains_secret_goalst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_hf_learns_secretst : generate_history_event_hf_learns_secretst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_hf_razed_buildingst : generate_history_event_hf_razed_buildingst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_hf_recruited_unit_type_for_entityst : generate_history_event_hf_recruited_unit_type_for_entityst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_hf_relationship_deniedst : generate_history_event_hf_relationship_deniedst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_hfs_formed_reputation_relationshipst : generate_history_event_hfs_formed_reputation_relationshipst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_hist_figure_abductedst : generate_history_event_hist_figure_abductedst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_hist_figure_diedst : generate_history_event_hist_figure_diedst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_hist_figure_new_petst : generate_history_event_hist_figure_new_petst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_hist_figure_reach_summitst : generate_history_event_hist_figure_reach_summitst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_hist_figure_reunionst : generate_history_event_hist_figure_reunionst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_hist_figure_revivedst : generate_history_event_hist_figure_revivedst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_hist_figure_simple_actionst : generate_history_event_hist_figure_simple_actionst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_hist_figure_simple_battle_eventst : generate_history_event_hist_figure_simple_battle_eventst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_hist_figure_travelst : generate_history_event_hist_figure_travelst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_hist_figure_woundedst : generate_history_event_hist_figure_woundedst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_insurrection_endedst : generate_history_event_insurrection_endedst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_insurrection_startedst : generate_history_event_insurrection_startedst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_item_stolenst : generate_history_event_item_stolenst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_knowledge_discoveredst : generate_history_event_knowledge_discoveredst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_masterpiece_created_arch_constructst : generate_history_event_masterpiece_created_arch_constructst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_masterpiece_created_arch_designst : generate_history_event_masterpiece_created_arch_designst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_masterpiece_created_dye_itemst : generate_history_event_masterpiece_created_dye_itemst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_masterpiece_created_engravingst : generate_history_event_masterpiece_created_engravingst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_masterpiece_created_foodst : generate_history_event_masterpiece_created_foodst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_masterpiece_created_item_improvementst : generate_history_event_masterpiece_created_item_improvementst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_masterpiece_created_itemst : generate_history_event_masterpiece_created_itemst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_masterpiece_createdst : generate_history_event_masterpiece_createdst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_masterpiece_lostst : generate_history_event_masterpiece_lostst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_merchantst : generate_history_event_merchantst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_musical_form_createdst : generate_history_event_musical_form_createdst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_performancest : generate_history_event_performancest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_poetic_form_createdst : generate_history_event_poetic_form_createdst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_processionst : generate_history_event_processionst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_reclaim_sitest : generate_history_event_reclaim_sitest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_regionpop_incorporated_into_entityst : generate_history_event_regionpop_incorporated_into_entityst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_remove_hf_entity_linkst : generate_history_event_remove_hf_entity_linkst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_remove_hf_hf_linkst : generate_history_event_remove_hf_hf_linkst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_remove_hf_site_linkst : generate_history_event_remove_hf_site_linkst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_replaced_buildingst : generate_history_event_replaced_buildingst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_site_diedst : generate_history_event_site_diedst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_site_disputest : generate_history_event_site_disputest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_site_retiredst : generate_history_event_site_retiredst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_site_surrenderedst : generate_history_event_site_surrenderedst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_sneak_into_sitest : generate_history_event_sneak_into_sitest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_spotted_leaving_sitest : generate_history_event_spotted_leaving_sitest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_squad_vs_squadst : generate_history_event_squad_vs_squadst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_tactical_situationst : generate_history_event_tactical_situationst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_topicagreement_concludedst : generate_history_event_topicagreement_concludedst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_topicagreement_madest : generate_history_event_topicagreement_madest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_topicagreement_rejectedst : generate_history_event_topicagreement_rejectedst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_war_attacked_sitest : generate_history_event_war_attacked_sitest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_war_destroyed_sitest : generate_history_event_war_destroyed_sitest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_war_field_battlest : generate_history_event_war_field_battlest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_war_peace_acceptedst : generate_history_event_war_peace_acceptedst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_war_peace_rejectedst : generate_history_event_war_peace_rejectedst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_war_plundered_sitest : generate_history_event_war_plundered_sitest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_war_site_new_leaderst : generate_history_event_war_site_new_leaderst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_war_site_taken_overst : generate_history_event_war_site_taken_overst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_war_site_tribute_forcedst : generate_history_event_war_site_tribute_forcedst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_event_written_content_composedst : generate_history_event_written_content_composedst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::history_hit_item : generate_history_hit_item_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::hospital_supplies : generate_hospital_supplies_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::identity : generate_identity_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::identity_unk_94 : generate_identity_unk_94_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::incident : generate_incident_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::incident__T_unk_v42_1 : generate_incident__T_unk_v42_1_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::incident_hfid : generate_incident_hfid_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::incident_sub10 : generate_incident_sub10_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::incident_sub6_performance : generate_incident_sub6_performance_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::incident_sub6_performance__T_participants : generate_incident_sub6_performance__T_participants_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::incident_sub7 : generate_incident_sub7_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::incident_sub8 : generate_incident_sub8_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::incident_sub9 : generate_incident_sub9_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::init : generate_init_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::init_display : generate_init_display_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::init_font : generate_init_font_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::init_input : generate_init_input_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::init_media : generate_init_media_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::init_window : generate_init_window_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::inorganic_raw : generate_inorganic_raw_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::inorganic_raw__T_environment : generate_inorganic_raw__T_environment_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::inorganic_raw__T_environment_spec : generate_inorganic_raw__T_environment_spec_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::inorganic_raw__T_metal_ore : generate_inorganic_raw__T_metal_ore_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::inorganic_raw__T_thread_metal : generate_inorganic_raw__T_thread_metal_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::instrument_piece : generate_instrument_piece_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::instrument_register : generate_instrument_register_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::interaction : generate_interaction_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::interaction_effect : generate_interaction_effect_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::interaction_effect_add_syndromest : generate_interaction_effect_add_syndromest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::interaction_effect_animatest : generate_interaction_effect_animatest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::interaction_effect_cleanst : generate_interaction_effect_cleanst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::interaction_effect_contactst : generate_interaction_effect_contactst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::interaction_effect_hidest : generate_interaction_effect_hidest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::interaction_effect_material_emissionst : generate_interaction_effect_material_emissionst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::interaction_effect_resurrectst : generate_interaction_effect_resurrectst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::interaction_instance : generate_interaction_instance_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::interaction_source : generate_interaction_source_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::interaction_source_attackst : generate_interaction_source_attackst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::interaction_source_creature_actionst : generate_interaction_source_creature_actionst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::interaction_source_deityst : generate_interaction_source_deityst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::interaction_source_disturbancest : generate_interaction_source_disturbancest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::interaction_source_ingestionst : generate_interaction_source_ingestionst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::interaction_source_regionst : generate_interaction_source_regionst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::interaction_source_secretst : generate_interaction_source_secretst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::interaction_source_underground_specialst : generate_interaction_source_underground_specialst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::interaction_target : generate_interaction_target_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::interaction_target_corpsest : generate_interaction_target_corpsest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::interaction_target_creaturest : generate_interaction_target_creaturest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::interaction_target_info : generate_interaction_target_info_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::interaction_target_locationst : generate_interaction_target_locationst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::interaction_target_materialst : generate_interaction_target_materialst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::interface_button : generate_interface_button_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::interface_button_building_category_selectorst : generate_interface_button_building_category_selectorst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::interface_button_building_custom_category_selectorst : generate_interface_button_building_custom_category_selectorst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::interface_button_building_material_selectorst : generate_interface_button_building_material_selectorst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::interface_button_building_new_jobst : generate_interface_button_building_new_jobst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::interface_button_buildingst : generate_interface_button_buildingst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::interface_button_construction_building_selectorst : generate_interface_button_construction_building_selectorst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::interface_button_construction_category_selectorst : generate_interface_button_construction_category_selectorst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::interface_button_construction_donest : generate_interface_button_construction_donest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::interface_button_constructionst : generate_interface_button_constructionst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::interfacest : generate_interfacest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::invasion_info : generate_invasion_info_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item : generate_item_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_actual : generate_item_actual_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_ammost : generate_item_ammost_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_amuletst : generate_item_amuletst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_animaltrapst : generate_item_animaltrapst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_anvilst : generate_item_anvilst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_armorst : generate_item_armorst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_armorstandst : generate_item_armorstandst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_backpackst : generate_item_backpackst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_ballistaarrowheadst : generate_item_ballistaarrowheadst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_ballistapartsst : generate_item_ballistapartsst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_barrelst : generate_item_barrelst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_barst : generate_item_barst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_bedst : generate_item_bedst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_binst : generate_item_binst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_blocksst : generate_item_blocksst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_body_component : generate_item_body_component_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_body_component__T_appearance : generate_item_body_component__T_appearance_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_body_component__T_body : generate_item_body_component__T_body_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_body_component__T_bone1 : generate_item_body_component__T_bone1_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_body_component__T_bone2 : generate_item_body_component__T_bone2_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_bookst : generate_item_bookst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_boulderst : generate_item_boulderst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_boxst : generate_item_boxst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_braceletst : generate_item_braceletst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_branchst : generate_item_branchst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_bucketst : generate_item_bucketst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_cabinetst : generate_item_cabinetst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_cagest : generate_item_cagest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_catapultpartsst : generate_item_catapultpartsst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_chainst : generate_item_chainst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_chairst : generate_item_chairst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_cheesest : generate_item_cheesest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_clothst : generate_item_clothst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_coffinst : generate_item_coffinst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_coinst : generate_item_coinst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_constructed : generate_item_constructed_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_corpsepiecest : generate_item_corpsepiecest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_corpsest : generate_item_corpsest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_crafted : generate_item_crafted_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_critter : generate_item_critter_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_crownst : generate_item_crownst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_crutchst : generate_item_crutchst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_doorst : generate_item_doorst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_drinkst : generate_item_drinkst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_earringst : generate_item_earringst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_eggst : generate_item_eggst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_figurinest : generate_item_figurinest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_filter_spec : generate_item_filter_spec_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_fish_rawst : generate_item_fish_rawst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_fishst : generate_item_fishst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_flaskst : generate_item_flaskst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_floodgatest : generate_item_floodgatest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_foodst : generate_item_foodst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_foodst__T_ingredients : generate_item_foodst__T_ingredients_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_gemst : generate_item_gemst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_globst : generate_item_globst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_glovesst : generate_item_glovesst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_gobletst : generate_item_gobletst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_gratest : generate_item_gratest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_hatch_coverst : generate_item_hatch_coverst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_helmst : generate_item_helmst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_history_info : generate_item_history_info_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_instrumentst : generate_item_instrumentst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_kill_info : generate_item_kill_info_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_liquid : generate_item_liquid_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_liquid_miscst : generate_item_liquid_miscst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_liquipowder : generate_item_liquipowder_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_magicness : generate_item_magicness_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_meatst : generate_item_meatst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_millstonest : generate_item_millstonest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_orthopedic_castst : generate_item_orthopedic_castst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_pantsst : generate_item_pantsst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_petst : generate_item_petst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_pipe_sectionst : generate_item_pipe_sectionst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_plant_growthst : generate_item_plant_growthst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_plantst : generate_item_plantst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_powder : generate_item_powder_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_powder_miscst : generate_item_powder_miscst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_quernst : generate_item_quernst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_quiverst : generate_item_quiverst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_remainsst : generate_item_remainsst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_ringst : generate_item_ringst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_rockst : generate_item_rockst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_roughst : generate_item_roughst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_scepterst : generate_item_scepterst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_seedsst : generate_item_seedsst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_sheetst : generate_item_sheetst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_shieldst : generate_item_shieldst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_shoesst : generate_item_shoesst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_siegeammost : generate_item_siegeammost_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_skin_tannedst : generate_item_skin_tannedst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_slabst : generate_item_slabst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_smallgemst : generate_item_smallgemst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_splintst : generate_item_splintst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_statuest : generate_item_statuest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_stockpile_ref : generate_item_stockpile_ref_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_tablest : generate_item_tablest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_threadst : generate_item_threadst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_toolst : generate_item_toolst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_totemst : generate_item_totemst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_toyst : generate_item_toyst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_traction_benchst : generate_item_traction_benchst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_trapcompst : generate_item_trapcompst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_trappartsst : generate_item_trappartsst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_verminst : generate_item_verminst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_weaponrackst : generate_item_weaponrackst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_weaponst : generate_item_weaponst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_windowst : generate_item_windowst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::item_woodst : generate_item_woodst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::itemdef : generate_itemdef_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::itemdef_ammost : generate_itemdef_ammost_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::itemdef_armorst : generate_itemdef_armorst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::itemdef_foodst : generate_itemdef_foodst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::itemdef_glovesst : generate_itemdef_glovesst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::itemdef_helmst : generate_itemdef_helmst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::itemdef_instrumentst : generate_itemdef_instrumentst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::itemdef_pantsst : generate_itemdef_pantsst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::itemdef_shieldst : generate_itemdef_shieldst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::itemdef_shoesst : generate_itemdef_shoesst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::itemdef_siegeammost : generate_itemdef_siegeammost_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::itemdef_toolst : generate_itemdef_toolst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::itemdef_toolst__T_default_improvements : generate_itemdef_toolst__T_default_improvements_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::itemdef_toyst : generate_itemdef_toyst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::itemdef_trapcompst : generate_itemdef_trapcompst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::itemdef_weaponst : generate_itemdef_weaponst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::itemimprovement : generate_itemimprovement_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::itemimprovement_art_imagest : generate_itemimprovement_art_imagest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::itemimprovement_bandsst : generate_itemimprovement_bandsst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::itemimprovement_clothst : generate_itemimprovement_clothst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::itemimprovement_coveredst : generate_itemimprovement_coveredst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::itemimprovement_illustrationst : generate_itemimprovement_illustrationst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::itemimprovement_instrument_piecest : generate_itemimprovement_instrument_piecest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::itemimprovement_itemspecificst : generate_itemimprovement_itemspecificst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::itemimprovement_pagesst : generate_itemimprovement_pagesst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::itemimprovement_rings_hangingst : generate_itemimprovement_rings_hangingst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::itemimprovement_sewn_imagest : generate_itemimprovement_sewn_imagest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::itemimprovement_sewn_imagest__T_cloth : generate_itemimprovement_sewn_imagest__T_cloth_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::itemimprovement_spikesst : generate_itemimprovement_spikesst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::itemimprovement_threadst : generate_itemimprovement_threadst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::itemimprovement_writingst : generate_itemimprovement_writingst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::job : generate_job_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::job_art_specification : generate_job_art_specification_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::job_handler : generate_job_handler_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::job_handler__T_anon_1 : generate_job_handler__T_anon_1_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::job_handler__T_postings : generate_job_handler__T_postings_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::job_item : generate_job_item_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::job_item_filter : generate_job_item_filter_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::job_item_ref : generate_job_item_ref_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::job_list_link : generate_job_list_link_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::KeybindingScreen : generate_KeybindingScreen_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::knowledge_scholar_category_flag : generate_knowledge_scholar_category_flag_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::knowledge_scholar_category_flag__T_flags : generate_knowledge_scholar_category_flag__T_flags_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::language_name : generate_language_name_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::language_symbol : generate_language_symbol_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::language_translation : generate_language_translation_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::language_word : generate_language_word_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::language_word_table : generate_language_word_table_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::large_integer : generate_large_integer_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::large_integer__T_u : generate_large_integer__T_u_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::layer_object : generate_layer_object_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::layer_object_buttonst : generate_layer_object_buttonst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::layer_object_listst : generate_layer_object_listst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::loadgame_save_info : generate_loadgame_save_info_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::local_population : generate_local_population_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::location_scribe_jobs : generate_location_scribe_jobs_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::machine : generate_machine_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::machine__T_components : generate_machine__T_components_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::machine_handler : generate_machine_handler_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::machine_info : generate_machine_info_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::machine_standardst : generate_machine_standardst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::machine_tile_set : generate_machine_tile_set_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::MacroScreenLoad : generate_MacroScreenLoad_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::MacroScreenSave : generate_MacroScreenSave_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::manager_order : generate_manager_order_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::manager_order_condition_item : generate_manager_order_condition_item_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::manager_order_condition_order : generate_manager_order_condition_order_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::manager_order_template : generate_manager_order_template_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::mandate : generate_mandate_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::mandate__T_punishment : generate_mandate__T_punishment_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::map_block : generate_map_block_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::map_block_column : generate_map_block_column_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::map_block_column__T_unmined_glyphs : generate_map_block_column__T_unmined_glyphs_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::map_renderer : generate_map_renderer_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::map_renderer__T_anon_4 : generate_map_renderer__T_anon_4_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::map_viewport : generate_map_viewport_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::material : generate_material_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::material_common : generate_material_common_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::material_common__T_hardens_with_water : generate_material_common__T_hardens_with_water_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::material_common__T_heat : generate_material_common__T_heat_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::material_common__T_reaction_product : generate_material_common__T_reaction_product_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::material_common__T_strength : generate_material_common__T_strength_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::material_template : generate_material_template_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::material_vec_ref : generate_material_vec_ref_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::matgloss_list : generate_matgloss_list_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::meeting_context : generate_meeting_context_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::meeting_diplomat_info : generate_meeting_diplomat_info_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::meeting_event : generate_meeting_event_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::meeting_variable : generate_meeting_variable_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::mental_picture : generate_mental_picture_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::mental_picture_element_hfst : generate_mental_picture_element_hfst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::mental_picture_element_regionst : generate_mental_picture_element_regionst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::mental_picture_element_sitest : generate_mental_picture_element_sitest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::mental_picture_elementst : generate_mental_picture_elementst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::mental_picture_property_actionst : generate_mental_picture_property_actionst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::mental_picture_property_adjectivest : generate_mental_picture_property_adjectivest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::mental_picture_property_color_patternst : generate_mental_picture_property_color_patternst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::mental_picture_property_datest : generate_mental_picture_property_datest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::mental_picture_property_emotionst : generate_mental_picture_property_emotionst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::mental_picture_property_positionst : generate_mental_picture_property_positionst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::mental_picture_property_shapest : generate_mental_picture_property_shapest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::mental_picture_property_timest : generate_mental_picture_property_timest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::mental_picture_property_toolst : generate_mental_picture_property_toolst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::mental_picture_propertyst : generate_mental_picture_propertyst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::mission : generate_mission_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::mission__T_details : generate_mission__T_details_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::mission__T_details__T_raid : generate_mission__T_details__T_raid_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::mission__T_details__T_recovery : generate_mission__T_details__T_recovery_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::mission__T_details__T_request : generate_mission__T_details__T_request_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::mission__T_details__T_rescue : generate_mission__T_details__T_rescue_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::mission_campaign_report : generate_mission_campaign_report_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::mission_report : generate_mission_report_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::moving_party : generate_moving_party_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::moving_party__T_members : generate_moving_party__T_members_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::musical_form : generate_musical_form_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::musical_form_instruments : generate_musical_form_instruments_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::musical_form_interval : generate_musical_form_interval_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::musical_form_melodies : generate_musical_form_melodies_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::musical_form_sub4 : generate_musical_form_sub4_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::musical_form_vocals : generate_musical_form_vocals_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::nemesis_offload : generate_nemesis_offload_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::nemesis_record : generate_nemesis_record_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::occupation : generate_occupation_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::occupation_sub1 : generate_occupation_sub1_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::ocean_wave : generate_ocean_wave_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::party_info : generate_party_info_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::performance_play_orderst : generate_performance_play_orderst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::performance_play_orderst__T_anon_4 : generate_performance_play_orderst__T_anon_4_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::plant : generate_plant_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::plant_growth : generate_plant_growth_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::plant_growth_print : generate_plant_growth_print_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::plant_raw : generate_plant_raw_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::plant_raw__T_colors : generate_plant_raw__T_colors_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::plant_raw__T_material_defs : generate_plant_raw__T_material_defs_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::plant_raw__T_tiles : generate_plant_raw__T_tiles_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::plant_tree_info : generate_plant_tree_info_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::poetic_form : generate_poetic_form_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::poetic_form_part : generate_poetic_form_part_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::poetic_form_part__T_line_subject_targets : generate_poetic_form_part__T_line_subject_targets_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::poetic_form_perspective : generate_poetic_form_perspective_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::popup_message : generate_popup_message_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::power_info : generate_power_info_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::pressure_plate_info : generate_pressure_plate_info_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::proj_itemst : generate_proj_itemst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::proj_list_link : generate_proj_list_link_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::proj_magicst : generate_proj_magicst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::proj_unitst : generate_proj_unitst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::projectile : generate_projectile_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::punishment : generate_punishment_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::reaction : generate_reaction_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::reaction__T_building : generate_reaction__T_building_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::reaction_category : generate_reaction_category_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::reaction_description : generate_reaction_description_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::reaction_product : generate_reaction_product_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::reaction_product_item_improvementst : generate_reaction_product_item_improvementst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::reaction_product_item_improvementst__T_get_material : generate_reaction_product_item_improvementst__T_get_material_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::reaction_product_itemst : generate_reaction_product_itemst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::reaction_product_itemst__T_get_material : generate_reaction_product_itemst__T_get_material_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::reaction_reagent : generate_reaction_reagent_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::reaction_reagent_itemst : generate_reaction_reagent_itemst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::region_block_event_sphere_fieldst : generate_region_block_event_sphere_fieldst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::region_block_eventst : generate_region_block_eventst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::region_map_entry : generate_region_map_entry_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::renderer : generate_renderer_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::report : generate_report_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::resource_allotment_data : generate_resource_allotment_data_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::resource_allotment_data__T_unk_654 : generate_resource_allotment_data__T_unk_654_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::resource_allotment_specifier : generate_resource_allotment_specifier_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::resource_allotment_specifier_ammost : generate_resource_allotment_specifier_ammost_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::resource_allotment_specifier_anvilst : generate_resource_allotment_specifier_anvilst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::resource_allotment_specifier_armor_bodyst : generate_resource_allotment_specifier_armor_bodyst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::resource_allotment_specifier_armor_bootsst : generate_resource_allotment_specifier_armor_bootsst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::resource_allotment_specifier_armor_glovesst : generate_resource_allotment_specifier_armor_glovesst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::resource_allotment_specifier_armor_helmst : generate_resource_allotment_specifier_armor_helmst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::resource_allotment_specifier_armor_pantsst : generate_resource_allotment_specifier_armor_pantsst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::resource_allotment_specifier_backpackst : generate_resource_allotment_specifier_backpackst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::resource_allotment_specifier_bagst : generate_resource_allotment_specifier_bagst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::resource_allotment_specifier_bedst : generate_resource_allotment_specifier_bedst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::resource_allotment_specifier_bonest : generate_resource_allotment_specifier_bonest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::resource_allotment_specifier_boxst : generate_resource_allotment_specifier_boxst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::resource_allotment_specifier_cabinetst : generate_resource_allotment_specifier_cabinetst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::resource_allotment_specifier_chairst : generate_resource_allotment_specifier_chairst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::resource_allotment_specifier_cheesest : generate_resource_allotment_specifier_cheesest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::resource_allotment_specifier_clothing_bodyst : generate_resource_allotment_specifier_clothing_bodyst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::resource_allotment_specifier_clothing_bootsst : generate_resource_allotment_specifier_clothing_bootsst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::resource_allotment_specifier_clothing_glovesst : generate_resource_allotment_specifier_clothing_glovesst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::resource_allotment_specifier_clothing_helmst : generate_resource_allotment_specifier_clothing_helmst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::resource_allotment_specifier_clothing_pantsst : generate_resource_allotment_specifier_clothing_pantsst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::resource_allotment_specifier_clothst : generate_resource_allotment_specifier_clothst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::resource_allotment_specifier_craftsst : generate_resource_allotment_specifier_craftsst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::resource_allotment_specifier_cropst : generate_resource_allotment_specifier_cropst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::resource_allotment_specifier_extractst : generate_resource_allotment_specifier_extractst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::resource_allotment_specifier_flaskst : generate_resource_allotment_specifier_flaskst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::resource_allotment_specifier_gemsst : generate_resource_allotment_specifier_gemsst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::resource_allotment_specifier_hornst : generate_resource_allotment_specifier_hornst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::resource_allotment_specifier_leatherst : generate_resource_allotment_specifier_leatherst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::resource_allotment_specifier_meatst : generate_resource_allotment_specifier_meatst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::resource_allotment_specifier_metalst : generate_resource_allotment_specifier_metalst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::resource_allotment_specifier_pearlst : generate_resource_allotment_specifier_pearlst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::resource_allotment_specifier_powderst : generate_resource_allotment_specifier_powderst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::resource_allotment_specifier_quiverst : generate_resource_allotment_specifier_quiverst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::resource_allotment_specifier_shellst : generate_resource_allotment_specifier_shellst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::resource_allotment_specifier_skinst : generate_resource_allotment_specifier_skinst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::resource_allotment_specifier_soapst : generate_resource_allotment_specifier_soapst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::resource_allotment_specifier_stonest : generate_resource_allotment_specifier_stonest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::resource_allotment_specifier_tablest : generate_resource_allotment_specifier_tablest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::resource_allotment_specifier_tallowst : generate_resource_allotment_specifier_tallowst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::resource_allotment_specifier_threadst : generate_resource_allotment_specifier_threadst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::resource_allotment_specifier_toothst : generate_resource_allotment_specifier_toothst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::resource_allotment_specifier_weapon_meleest : generate_resource_allotment_specifier_weapon_meleest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::resource_allotment_specifier_weapon_rangedst : generate_resource_allotment_specifier_weapon_rangedst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::resource_allotment_specifier_woodst : generate_resource_allotment_specifier_woodst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::rhythm : generate_rhythm_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::rhythm_sub1 : generate_rhythm_sub1_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::rhythm_sub1__T_anon_1 : generate_rhythm_sub1__T_anon_1_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::rhythm_sub2 : generate_rhythm_sub2_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::room_rent_info : generate_room_rent_info_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::route_stockpile_link : generate_route_stockpile_link_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::scale : generate_scale_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::scale__T_unk1 : generate_scale__T_unk1_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::scale_sub1 : generate_scale_sub1_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::scale_sub2 : generate_scale_sub2_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::schedule_info : generate_schedule_info_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::schedule_slot : generate_schedule_slot_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::scribejob : generate_scribejob_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::script_step_conditionalst : generate_script_step_conditionalst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::script_step_conditionalst__T_condition : generate_script_step_conditionalst__T_condition_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::script_step_constructtopiclistst : generate_script_step_constructtopiclistst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::script_step_dipeventst : generate_script_step_dipeventst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::script_step_diphistoryst : generate_script_step_diphistoryst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::script_step_discussst : generate_script_step_discussst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::script_step_eventst : generate_script_step_eventst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::script_step_invasionst : generate_script_step_invasionst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::script_step_setvarst : generate_script_step_setvarst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::script_step_simpleactionst : generate_script_step_simpleactionst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::script_step_textviewerst : generate_script_step_textviewerst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::script_step_topicdiscussionst : generate_script_step_topicdiscussionst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::script_stepst : generate_script_stepst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::script_var_longst : generate_script_var_longst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::script_var_unitst : generate_script_var_unitst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::script_varst : generate_script_varst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::setup_character_info : generate_setup_character_info_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::site_building_item : generate_site_building_item_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::site_realization_building : generate_site_realization_building_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::site_realization_building__T_unk_4c : generate_site_realization_building__T_unk_4c_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::site_realization_building_info_castle_courtyardst : generate_site_realization_building_info_castle_courtyardst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::site_realization_building_info_castle_towerst : generate_site_realization_building_info_castle_towerst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::site_realization_building_info_castle_wallst : generate_site_realization_building_info_castle_wallst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::site_realization_building_info_hillock_housest : generate_site_realization_building_info_hillock_housest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::site_realization_building_info_market_squarest : generate_site_realization_building_info_market_squarest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::site_realization_building_info_shop_housest : generate_site_realization_building_info_shop_housest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::site_realization_building_info_tree_housest : generate_site_realization_building_info_tree_housest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::site_realization_building_info_trenchesst : generate_site_realization_building_info_trenchesst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::site_realization_building_info_trenchesst__T_spokes : generate_site_realization_building_info_trenchesst__T_spokes_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::site_realization_building_infost : generate_site_realization_building_infost_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::site_realization_crossroads : generate_site_realization_crossroads_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::site_reputation_info : generate_site_reputation_info_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::site_reputation_report : generate_site_reputation_report_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::spatter : generate_spatter_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::spatter_common : generate_spatter_common_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::special_mat_table : generate_special_mat_table_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::specific_ref : generate_specific_ref_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::specific_ref__T_arg2 : generate_specific_ref__T_arg2_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::spoils_report : generate_spoils_report_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::squad : generate_squad_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::squad__T_rooms : generate_squad__T_rooms_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::squad_ammo_spec : generate_squad_ammo_spec_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::squad_order : generate_squad_order_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::squad_order_cause_trouble_for_entityst : generate_squad_order_cause_trouble_for_entityst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::squad_order_defend_burrowsst : generate_squad_order_defend_burrowsst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::squad_order_drive_armies_from_sitest : generate_squad_order_drive_armies_from_sitest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::squad_order_drive_entity_off_sitest : generate_squad_order_drive_entity_off_sitest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::squad_order_kill_hfst : generate_squad_order_kill_hfst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::squad_order_kill_listst : generate_squad_order_kill_listst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::squad_order_movest : generate_squad_order_movest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::squad_order_patrol_routest : generate_squad_order_patrol_routest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::squad_order_raid_sitest : generate_squad_order_raid_sitest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::squad_order_rescue_hfst : generate_squad_order_rescue_hfst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::squad_order_retrieve_artifactst : generate_squad_order_retrieve_artifactst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::squad_order_trainst : generate_squad_order_trainst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::squad_position : generate_squad_position_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::squad_schedule_entry : generate_squad_schedule_entry_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::squad_schedule_order : generate_squad_schedule_order_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::squad_uniform_spec : generate_squad_uniform_spec_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::stockpile_links : generate_stockpile_links_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::stockpile_settings : generate_stockpile_settings_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::stockpile_settings__T_ammo : generate_stockpile_settings__T_ammo_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::stockpile_settings__T_animals : generate_stockpile_settings__T_animals_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::stockpile_settings__T_armor : generate_stockpile_settings__T_armor_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::stockpile_settings__T_bars_blocks : generate_stockpile_settings__T_bars_blocks_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::stockpile_settings__T_cloth : generate_stockpile_settings__T_cloth_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::stockpile_settings__T_coins : generate_stockpile_settings__T_coins_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::stockpile_settings__T_finished_goods : generate_stockpile_settings__T_finished_goods_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::stockpile_settings__T_food : generate_stockpile_settings__T_food_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::stockpile_settings__T_furniture : generate_stockpile_settings__T_furniture_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::stockpile_settings__T_gems : generate_stockpile_settings__T_gems_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::stockpile_settings__T_leather : generate_stockpile_settings__T_leather_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::stockpile_settings__T_ore : generate_stockpile_settings__T_ore_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::stockpile_settings__T_refuse : generate_stockpile_settings__T_refuse_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::stockpile_settings__T_sheet : generate_stockpile_settings__T_sheet_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::stockpile_settings__T_stone : generate_stockpile_settings__T_stone_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::stockpile_settings__T_weapons : generate_stockpile_settings__T_weapons_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::stockpile_settings__T_wood : generate_stockpile_settings__T_wood_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::stop_depart_condition : generate_stop_depart_condition_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::syndrome : generate_syndrome_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::T_cursor : generate_T_cursor_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::T_selection_rect : generate_T_selection_rect_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::talk_choice : generate_talk_choice_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::talk_choice__T_unk : generate_talk_choice__T_unk_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::temperaturest : generate_temperaturest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::text_info_element_longst : generate_text_info_element_longst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::text_info_element_stringst : generate_text_info_element_stringst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::text_info_elementst : generate_text_info_elementst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::texture_handler : generate_texture_handler_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::tile_bitmask : generate_tile_bitmask_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::tile_page : generate_tile_page_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::timed_event : generate_timed_event_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::tissue : generate_tissue_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::tissue_style_raw : generate_tissue_style_raw_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::tissue_template : generate_tissue_template_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::training_assignment : generate_training_assignment_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::ui : generate_ui_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::ui__T_alerts : generate_ui__T_alerts_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::ui__T_alerts__T_list : generate_ui__T_alerts__T_list_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::ui__T_becoming_capital : generate_ui__T_becoming_capital_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::ui__T_burrows : generate_ui__T_burrows_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::ui__T_economy_prices : generate_ui__T_economy_prices_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::ui__T_economy_prices__T_price_adjustment : generate_ui__T_economy_prices__T_price_adjustment_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::ui__T_economy_prices__T_price_setter : generate_ui__T_economy_prices__T_price_setter_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::ui__T_equipment : generate_ui__T_equipment_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::ui__T_hauling : generate_ui__T_hauling_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::ui__T_invasions : generate_ui__T_invasions_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::ui__T_kitchen : generate_ui__T_kitchen_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::ui__T_main : generate_ui__T_main_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::ui__T_main__T_dead_citizens : generate_ui__T_main__T_dead_citizens_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::ui__T_map_edge : generate_ui__T_map_edge_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::ui__T_squads : generate_ui__T_squads_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::ui__T_stockpile : generate_ui__T_stockpile_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::ui__T_tax_collection : generate_ui__T_tax_collection_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::ui__T_unk2a8c : generate_ui__T_unk2a8c_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::ui__T_waypoints : generate_ui__T_waypoints_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::ui__T_waypoints__T_points : generate_ui__T_waypoints__T_points_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::ui__T_waypoints__T_routes : generate_ui__T_waypoints__T_routes_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::ui_advmode : generate_ui_advmode_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::ui_advmode__T_assume_identity : generate_ui_advmode__T_assume_identity_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::ui_advmode__T_companions : generate_ui_advmode__T_companions_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::ui_advmode__T_conversation : generate_ui_advmode__T_conversation_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::ui_advmode__T_conversation__T_choices : generate_ui_advmode__T_conversation__T_choices_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::ui_advmode__T_conversation__T_targets : generate_ui_advmode__T_conversation__T_targets_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::ui_advmode__T_interactions : generate_ui_advmode__T_interactions_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::ui_advmode__T_unk_3124 : generate_ui_advmode__T_unk_3124_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::ui_advmode__T_unk_3170 : generate_ui_advmode__T_unk_3170_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::ui_advmode__T_unk_3170__T_unk_2 : generate_ui_advmode__T_unk_3170__T_unk_2_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::ui_advmode__T_unk_v40_1 : generate_ui_advmode__T_unk_v40_1_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::ui_advmode__T_unk_v40_2 : generate_ui_advmode__T_unk_v40_2_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::ui_advmode__T_unk_v40_3 : generate_ui_advmode__T_unk_v40_3_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::ui_advmode__T_unk_v40_4 : generate_ui_advmode__T_unk_v40_4_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::ui_advmode__T_unk_v40_4__T_unk_v40_4a : generate_ui_advmode__T_unk_v40_4__T_unk_v40_4a_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::ui_advmode__T_unk_v40_5 : generate_ui_advmode__T_unk_v40_5_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::ui_advmode__T_unk_v42_1 : generate_ui_advmode__T_unk_v42_1_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::ui_build_item_req : generate_ui_build_item_req_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::ui_build_selector : generate_ui_build_selector_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::ui_hotkey : generate_ui_hotkey_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::ui_look_list : generate_ui_look_list_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::ui_look_list__T_items : generate_ui_look_list__T_items_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::ui_sidebar_menus : generate_ui_sidebar_menus_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::ui_sidebar_menus__T_barracks : generate_ui_sidebar_menus__T_barracks_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::ui_sidebar_menus__T_building : generate_ui_sidebar_menus__T_building_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::ui_sidebar_menus__T_command_line : generate_ui_sidebar_menus__T_command_line_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::ui_sidebar_menus__T_designation : generate_ui_sidebar_menus__T_designation_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::ui_sidebar_menus__T_hospital : generate_ui_sidebar_menus__T_hospital_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::ui_sidebar_menus__T_job_details : generate_ui_sidebar_menus__T_job_details_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::ui_sidebar_menus__T_location : generate_ui_sidebar_menus__T_location_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::ui_sidebar_menus__T_minimap : generate_ui_sidebar_menus__T_minimap_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::ui_sidebar_menus__T_unit : generate_ui_sidebar_menus__T_unit_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::ui_sidebar_menus__T_unit_cursor : generate_ui_sidebar_menus__T_unit_cursor_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::ui_sidebar_menus__T_unit_skills : generate_ui_sidebar_menus__T_unit_skills_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::ui_sidebar_menus__T_workshop_job : generate_ui_sidebar_menus__T_workshop_job_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::ui_sidebar_menus__T_zone : generate_ui_sidebar_menus__T_zone_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::ui_unit_view_mode : generate_ui_unit_view_mode_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit : generate_unit_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit__T_animal : generate_unit__T_animal_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit__T_appearance : generate_unit__T_appearance_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit__T_body : generate_unit__T_body_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit__T_counters : generate_unit__T_counters_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit__T_counters2 : generate_unit__T_counters2_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit__T_curse : generate_unit__T_curse_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit__T_enemy : generate_unit__T_enemy_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit__T_enemy__T_undead : generate_unit__T_enemy__T_undead_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit__T_enemy__T_unk_448 : generate_unit__T_enemy__T_unk_448_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit__T_enemy__T_unk_448__T_unk : generate_unit__T_enemy__T_unk_448__T_unk_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit__T_enemy__T_unk_44c : generate_unit__T_enemy__T_unk_44c_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit__T_enemy__T_unk_v40_sub3 : generate_unit__T_enemy__T_unk_v40_sub3_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_2 : generate_unit__T_enemy__T_unk_v40_sub3__T_unk_2_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_6 : generate_unit__T_enemy__T_unk_v40_sub3__T_unk_6_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7 : generate_unit__T_enemy__T_unk_v40_sub3__T_unk_7_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7__T_unk_sub1 : generate_unit__T_enemy__T_unk_v40_sub3__T_unk_7__T_unk_sub1_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit__T_enemy__T_witness_reports : generate_unit__T_enemy__T_witness_reports_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit__T_job : generate_unit__T_job_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit__T_meeting : generate_unit__T_meeting_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit__T_military : generate_unit__T_military_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit__T_opponent : generate_unit__T_opponent_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit__T_path : generate_unit__T_path_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit__T_reports : generate_unit__T_reports_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit__T_status : generate_unit__T_status_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit__T_status2 : generate_unit__T_status2_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit__T_status__T_eat_history : generate_unit__T_status__T_eat_history_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit__T_status__T_eat_history__T_drink : generate_unit__T_status__T_eat_history__T_drink_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit__T_status__T_eat_history__T_food : generate_unit__T_status__T_eat_history__T_food_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit__T_syndromes : generate_unit__T_syndromes_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit__T_unknown7 : generate_unit__T_unknown7_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_action : generate_unit_action_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_action__T_data : generate_unit_action__T_data_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_action__T_data__T_attack : generate_unit_action__T_data__T_attack_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_action__T_data__T_attack__T_unk_4 : generate_unit_action__T_data__T_attack__T_unk_4_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_action__T_data__T_block : generate_unit_action__T_data__T_block_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_action__T_data__T_climb : generate_unit_action__T_data__T_climb_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_action__T_data__T_dodge : generate_unit_action__T_data__T_dodge_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_action__T_data__T_holditem : generate_unit_action__T_data__T_holditem_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_action__T_data__T_holdterrain : generate_unit_action__T_data__T_holdterrain_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_action__T_data__T_job : generate_unit_action__T_data__T_job_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_action__T_data__T_job2 : generate_unit_action__T_data__T_job2_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_action__T_data__T_jump : generate_unit_action__T_data__T_jump_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_action__T_data__T_liedown : generate_unit_action__T_data__T_liedown_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_action__T_data__T_move : generate_unit_action__T_data__T_move_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_action__T_data__T_parry : generate_unit_action__T_data__T_parry_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_action__T_data__T_pushobject : generate_unit_action__T_data__T_pushobject_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_action__T_data__T_recover : generate_unit_action__T_data__T_recover_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_action__T_data__T_releaseitem : generate_unit_action__T_data__T_releaseitem_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_action__T_data__T_releaseterrain : generate_unit_action__T_data__T_releaseterrain_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_action__T_data__T_standup : generate_unit_action__T_data__T_standup_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_action__T_data__T_suckblood : generate_unit_action__T_data__T_suckblood_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_action__T_data__T_talk : generate_unit_action__T_data__T_talk_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_action__T_data__T_unsteady : generate_unit_action__T_data__T_unsteady_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_appearance : generate_unit_appearance_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_attribute : generate_unit_attribute_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_chunk : generate_unit_chunk_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_chunk__T_units : generate_unit_chunk__T_units_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_coin_debt : generate_unit_coin_debt_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_complaint : generate_unit_complaint_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_dance_skill : generate_unit_dance_skill_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_demand : generate_unit_demand_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_genes : generate_unit_genes_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_ghost_info : generate_unit_ghost_info_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_ghost_info__T_target : generate_unit_ghost_info__T_target_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_health_info : generate_unit_health_info_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_health_info__T_op_history : generate_unit_health_info__T_op_history_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_health_info__T_op_history__T_info : generate_unit_health_info__T_op_history__T_info_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_health_info__T_op_history__T_info__T_bandage : generate_unit_health_info__T_op_history__T_info__T_bandage_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_health_info__T_op_history__T_info__T_crutch : generate_unit_health_info__T_op_history__T_info__T_crutch_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_instrument_skill : generate_unit_instrument_skill_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_inventory_item : generate_unit_inventory_item_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_item_use : generate_unit_item_use_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_item_wrestle : generate_unit_item_wrestle_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_misc_trait : generate_unit_misc_trait_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_musical_skill : generate_unit_musical_skill_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_personality : generate_unit_personality_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_personality__T_dreams : generate_unit_personality__T_dreams_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_personality__T_emotions : generate_unit_personality__T_emotions_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_personality__T_needs : generate_unit_personality__T_needs_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_personality__T_unk5 : generate_unit_personality__T_unk5_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_personality__T_unk_v40_2 : generate_unit_personality__T_unk_v40_2_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_personality__T_unk_v40_6 : generate_unit_personality__T_unk_v40_6_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_personality__T_values : generate_unit_personality__T_values_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_poetic_skill : generate_unit_poetic_skill_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_preference : generate_unit_preference_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_request : generate_unit_request_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_skill : generate_unit_skill_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_soul : generate_unit_soul_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_soul__T_performance_skills : generate_unit_soul__T_performance_skills_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_storage_status : generate_unit_storage_status_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_syndrome : generate_unit_syndrome_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_syndrome__T_symptoms : generate_unit_syndrome__T_symptoms_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_unk_138 : generate_unit_unk_138_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_wound : generate_unit_wound_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::unit_wound__T_parts : generate_unit_wound__T_parts_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::vehicle : generate_vehicle_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::vermin : generate_vermin_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen : generate_viewscreen_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_adopt_regionst : generate_viewscreen_adopt_regionst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_adventure_logst : generate_viewscreen_adventure_logst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_announcelistst : generate_viewscreen_announcelistst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_assign_display_itemst : generate_viewscreen_assign_display_itemst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_barterst : generate_viewscreen_barterst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_buildinglistst : generate_viewscreen_buildinglistst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_buildingst : generate_viewscreen_buildingst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_choose_start_sitest : generate_viewscreen_choose_start_sitest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_choose_start_sitest__T_finder : generate_viewscreen_choose_start_sitest__T_finder_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_civlistst : generate_viewscreen_civlistst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_civlistst__T_artifact_details : generate_viewscreen_civlistst__T_artifact_details_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_civlistst__T_rumors : generate_viewscreen_civlistst__T_rumors_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_civlistst__T_unk_cache : generate_viewscreen_civlistst__T_unk_cache_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_civlistst__T_unk_cache__T_tmp1 : generate_viewscreen_civlistst__T_unk_cache__T_tmp1_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_civlistst__T_unk_cache__T_tmp2 : generate_viewscreen_civlistst__T_unk_cache__T_tmp2_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_createquotast : generate_viewscreen_createquotast_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_customize_unitst : generate_viewscreen_customize_unitst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_dungeon_monsterstatusst : generate_viewscreen_dungeon_monsterstatusst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_dungeon_wrestlest : generate_viewscreen_dungeon_wrestlest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_dungeon_wrestlest__T_unk1 : generate_viewscreen_dungeon_wrestlest__T_unk1_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_dungeonmodest : generate_viewscreen_dungeonmodest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_dwarfmodest : generate_viewscreen_dwarfmodest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_entityst : generate_viewscreen_entityst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_export_graphical_mapst : generate_viewscreen_export_graphical_mapst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_export_regionst : generate_viewscreen_export_regionst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_export_regionst__T_unk1 : generate_viewscreen_export_regionst__T_unk1_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_game_cleanerst : generate_viewscreen_game_cleanerst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_image_creatorst : generate_viewscreen_image_creatorst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_image_creatorst__T_artifacts : generate_viewscreen_image_creatorst__T_artifacts_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_image_creatorst__T_descriptions : generate_viewscreen_image_creatorst__T_descriptions_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_image_creatorst__T_entities : generate_viewscreen_image_creatorst__T_entities_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_image_creatorst__T_objects : generate_viewscreen_image_creatorst__T_objects_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_image_creatorst__T_plants : generate_viewscreen_image_creatorst__T_plants_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_image_creatorst__T_shapes : generate_viewscreen_image_creatorst__T_shapes_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_image_creatorst__T_sites : generate_viewscreen_image_creatorst__T_sites_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_image_creatorst__T_trees : generate_viewscreen_image_creatorst__T_trees_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_itemst : generate_viewscreen_itemst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_joblistst : generate_viewscreen_joblistst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_jobmanagementst : generate_viewscreen_jobmanagementst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_jobst : generate_viewscreen_jobst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_justicest : generate_viewscreen_justicest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_kitchenprefst : generate_viewscreen_kitchenprefst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_layer : generate_viewscreen_layer_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_layer_arena_creaturest : generate_viewscreen_layer_arena_creaturest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_layer_assigntradest : generate_viewscreen_layer_assigntradest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_layer_choose_language_namest : generate_viewscreen_layer_choose_language_namest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_layer_currencyst : generate_viewscreen_layer_currencyst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_layer_export_play_mapst : generate_viewscreen_layer_export_play_mapst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_layer_militaryst : generate_viewscreen_layer_militaryst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_layer_militaryst__T_ammo : generate_viewscreen_layer_militaryst__T_ammo_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_layer_militaryst__T_ammo__T_add_item : generate_viewscreen_layer_militaryst__T_ammo__T_add_item_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_layer_militaryst__T_ammo__T_material : generate_viewscreen_layer_militaryst__T_ammo__T_material_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_layer_militaryst__T_equip : generate_viewscreen_layer_militaryst__T_equip_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_layer_militaryst__T_equip__T_add_item : generate_viewscreen_layer_militaryst__T_equip__T_add_item_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_layer_militaryst__T_equip__T_assigned : generate_viewscreen_layer_militaryst__T_equip__T_assigned_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_layer_militaryst__T_equip__T_color : generate_viewscreen_layer_militaryst__T_equip__T_color_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_layer_militaryst__T_equip__T_material : generate_viewscreen_layer_militaryst__T_equip__T_material_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_layer_militaryst__T_equip__T_uniform : generate_viewscreen_layer_militaryst__T_equip__T_uniform_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_layer_militaryst__T_positions : generate_viewscreen_layer_militaryst__T_positions_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_layer_militaryst__T_squad_members : generate_viewscreen_layer_militaryst__T_squad_members_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_layer_militaryst__T_squads : generate_viewscreen_layer_militaryst__T_squads_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_layer_musicsoundst : generate_viewscreen_layer_musicsoundst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_layer_noblelistst : generate_viewscreen_layer_noblelistst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_layer_noblelistst__T_candidates : generate_viewscreen_layer_noblelistst__T_candidates_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_layer_noblelistst__T_info : generate_viewscreen_layer_noblelistst__T_info_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_layer_overall_healthst : generate_viewscreen_layer_overall_healthst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_layer_reactionst : generate_viewscreen_layer_reactionst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_layer_squad_schedulest : generate_viewscreen_layer_squad_schedulest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_layer_stockpilest : generate_viewscreen_layer_stockpilest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_layer_stone_restrictionst : generate_viewscreen_layer_stone_restrictionst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_layer_unit_actionst : generate_viewscreen_layer_unit_actionst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_layer_unit_healthst : generate_viewscreen_layer_unit_healthst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_layer_unit_relationshipst : generate_viewscreen_layer_unit_relationshipst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_layer_world_gen_param_presetst : generate_viewscreen_layer_world_gen_param_presetst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_layer_world_gen_paramst : generate_viewscreen_layer_world_gen_paramst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_layer_world_gen_paramst__T_unk1 : generate_viewscreen_layer_world_gen_paramst__T_unk1_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_legendsst : generate_viewscreen_legendsst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_legendsst__T_anon_7 : generate_viewscreen_legendsst__T_anon_7_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_legendsst__T_anon_7__T_anon_3 : generate_viewscreen_legendsst__T_anon_7__T_anon_3_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_loadgamest : generate_viewscreen_loadgamest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_locationsst : generate_viewscreen_locationsst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_meetingst : generate_viewscreen_meetingst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_movieplayerst : generate_viewscreen_movieplayerst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_new_regionst : generate_viewscreen_new_regionst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_noblest : generate_viewscreen_noblest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_optionst : generate_viewscreen_optionst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_overallstatusst : generate_viewscreen_overallstatusst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_petitionsst : generate_viewscreen_petitionsst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_petst : generate_viewscreen_petst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_petst__T_animal : generate_viewscreen_petst__T_animal_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_pricest : generate_viewscreen_pricest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_reportlistst : generate_viewscreen_reportlistst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_requestagreementst : generate_viewscreen_requestagreementst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_savegamest : generate_viewscreen_savegamest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_selectitemst : generate_viewscreen_selectitemst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_setupadventurest : generate_viewscreen_setupadventurest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_setupadventurest__T_races_info : generate_viewscreen_setupadventurest__T_races_info_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_setupdwarfgamest : generate_viewscreen_setupdwarfgamest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_setupdwarfgamest__T_animals : generate_viewscreen_setupdwarfgamest__T_animals_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_setupdwarfgamest__T_unk_v43 : generate_viewscreen_setupdwarfgamest__T_unk_v43_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_setupdwarfgamest__T_unk_v43__T_unk_v43_sub9 : generate_viewscreen_setupdwarfgamest__T_unk_v43__T_unk_v43_sub9_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_storesst : generate_viewscreen_storesst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_textviewerst : generate_viewscreen_textviewerst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_textviewerst__T_formatted_text : generate_viewscreen_textviewerst__T_formatted_text_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_titlest : generate_viewscreen_titlest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_titlest__T_start_savegames : generate_viewscreen_titlest__T_start_savegames_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_topicmeeting_fill_land_holder_positionsst : generate_viewscreen_topicmeeting_fill_land_holder_positionsst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_topicmeeting_takerequestsst : generate_viewscreen_topicmeeting_takerequestsst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_topicmeetingst : generate_viewscreen_topicmeetingst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_tradeagreementst : generate_viewscreen_tradeagreementst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_tradegoodsst : generate_viewscreen_tradegoodsst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_tradelistst : generate_viewscreen_tradelistst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_treasurelistst : generate_viewscreen_treasurelistst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_unitlistst : generate_viewscreen_unitlistst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_unitst : generate_viewscreen_unitst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_update_regionst : generate_viewscreen_update_regionst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_wagesst : generate_viewscreen_wagesst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_workquota_conditionst : generate_viewscreen_workquota_conditionst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_workquota_conditionst__T_traits : generate_viewscreen_workquota_conditionst__T_traits_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_workquota_detailsst : generate_viewscreen_workquota_detailsst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::viewscreen_workshop_profilest : generate_viewscreen_workshop_profilest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::weapon_attack : generate_weapon_attack_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::web_cluster : generate_web_cluster_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::widget_menu : generate_widget_menu_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::widget_textbox : generate_widget_textbox_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::workshop_profile : generate_workshop_profile_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world : generate_world_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_activities : generate_world__T_activities_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_agreements : generate_world__T_agreements_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_arena_settings : generate_world__T_arena_settings_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_arena_spawn : generate_world__T_arena_spawn_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_arena_spawn__T_equipment : generate_world__T_arena_spawn__T_equipment_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_arena_spawn__T_item_types : generate_world__T_arena_spawn__T_item_types_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_armies : generate_world__T_armies_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_army_controllers : generate_world__T_army_controllers_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_army_tracking_info : generate_world__T_army_tracking_info_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_artifacts : generate_world__T_artifacts_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_belief_systems : generate_world__T_belief_systems_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_crimes : generate_world__T_crimes_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_cultural_identities : generate_world__T_cultural_identities_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_cur_savegame : generate_world__T_cur_savegame_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_dance_forms : generate_world__T_dance_forms_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_enemy_status_cache : generate_world__T_enemy_status_cache_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_entities : generate_world__T_entities_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_features : generate_world__T_features_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_flow_engine : generate_world__T_flow_engine_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_flow_guides : generate_world__T_flow_guides_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_formations : generate_world__T_formations_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_identities : generate_world__T_identities_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_incidents : generate_world__T_incidents_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_interaction_instances : generate_world__T_interaction_instances_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_items : generate_world__T_items_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_languages : generate_world__T_languages_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_map : generate_world__T_map_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_map_extras : generate_world__T_map_extras_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_math : generate_world__T_math_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_math__T_approx : generate_world__T_math__T_approx_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_musical_forms : generate_world__T_musical_forms_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_nemesis : generate_world__T_nemesis_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_occupations : generate_world__T_occupations_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_pathfinder : generate_world__T_pathfinder_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_pathfinder__T_boundary_heap : generate_world__T_pathfinder__T_boundary_heap_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_plants : generate_world__T_plants_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_poetic_forms : generate_world__T_poetic_forms_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_profession_skills : generate_world__T_profession_skills_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_rhythms : generate_world__T_rhythms_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_scales : generate_world__T_scales_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_schedules : generate_world__T_schedules_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_squads : generate_world__T_squads_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_status : generate_world__T_status_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_status__T_slots : generate_world__T_status__T_slots_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_stockpile : generate_world__T_stockpile_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_stockpile__T_simple1 : generate_world__T_stockpile__T_simple1_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_stockpile__T_simple2 : generate_world__T_stockpile__T_simple2_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_stockpile__T_simple3 : generate_world__T_stockpile__T_simple3_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_units : generate_world__T_units_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_unk_131ec0 : generate_world__T_unk_131ec0_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_unk_131ef0 : generate_world__T_unk_131ef0_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_unk_131ef0__T_unk_2 : generate_world__T_unk_131ef0__T_unk_2_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_unk_19325c : generate_world__T_unk_19325c_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_unk_19325c__T_anon_1 : generate_world__T_unk_19325c__T_anon_1_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_unk_19325c__T_anon_2 : generate_world__T_unk_19325c__T_anon_2_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_unk_19325c__T_anon_3 : generate_world__T_unk_19325c__T_anon_3_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_unk_59dc4 : generate_world__T_unk_59dc4_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_unk_59dc4__T_unk1 : generate_world__T_unk_59dc4__T_unk1_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_unk_v40_6 : generate_world__T_unk_v40_6_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_vehicles : generate_world__T_vehicles_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_vermin : generate_world__T_vermin_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_worldgen : generate_world__T_worldgen_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_worldgen__T_worldgen_parms : generate_world__T_worldgen__T_worldgen_parms_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_worldgen_coord_buf : generate_world__T_worldgen_coord_buf_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_worldgen_status : generate_world__T_worldgen_status_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world__T_written_contents : generate_world__T_written_contents_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_construction : generate_world_construction_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_construction_bridgest : generate_world_construction_bridgest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_construction_roadst : generate_world_construction_roadst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_construction_square : generate_world_construction_square_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_construction_square_bridgest : generate_world_construction_square_bridgest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_construction_square_roadst : generate_world_construction_square_roadst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_construction_square_tunnelst : generate_world_construction_square_tunnelst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_construction_square_wallst : generate_world_construction_square_wallst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_construction_tunnelst : generate_world_construction_tunnelst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_construction_wallst : generate_world_construction_wallst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_dat_summary : generate_world_dat_summary_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_data : generate_world_data_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_data__T_constructions : generate_world_data__T_constructions_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_data__T_feature_map : generate_world_data__T_feature_map_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_data__T_feature_map__T_features : generate_world_data__T_feature_map__T_features_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_data__T_freakish_weather : generate_world_data__T_freakish_weather_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_data__T_mountain_peaks : generate_world_data__T_mountain_peaks_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_data__T_unk_150 : generate_world_data__T_unk_150_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_data__T_unk_150__T_unk_18 : generate_world_data__T_unk_150__T_unk_18_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_data__T_unk_150__T_unk_28 : generate_world_data__T_unk_150__T_unk_28_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_data__T_unk_150__T_unk_8 : generate_world_data__T_unk_150__T_unk_8_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_data__T_unk_170 : generate_world_data__T_unk_170_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_data__T_unk_170__T_unk_4 : generate_world_data__T_unk_170__T_unk_4_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_data__T_unk_274 : generate_world_data__T_unk_274_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_data__T_unk_274__T_unk_10 : generate_world_data__T_unk_274__T_unk_10_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_data__T_unk_482f8 : generate_world_data__T_unk_482f8_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_data__T_unk_b4 : generate_world_data__T_unk_b4_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_gen_param_basest : generate_world_gen_param_basest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_gen_param_charst : generate_world_gen_param_charst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_gen_param_memberst : generate_world_gen_param_memberst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_gen_param_seedst : generate_world_gen_param_seedst_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_gen_param_valuest : generate_world_gen_param_valuest_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_geo_biome : generate_world_geo_biome_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_geo_layer : generate_world_geo_layer_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_history : generate_world_history_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_history__T_event_collections : generate_world_history__T_event_collections_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_landmass : generate_world_landmass_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_object_data : generate_world_object_data_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_object_data__T_offloaded_buildings : generate_world_object_data__T_offloaded_buildings_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_object_data__T_offloaded_items : generate_world_object_data__T_offloaded_items_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_object_data__T_unk_94 : generate_world_object_data__T_unk_94_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_population : generate_world_population_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_population_ref : generate_world_population_ref_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_raws : generate_world_raws_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_raws__T_bodyglosses : generate_world_raws__T_bodyglosses_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_raws__T_buildings : generate_world_raws__T_buildings_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_raws__T_descriptors : generate_world_raws__T_descriptors_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_raws__T_effects : generate_world_raws__T_effects_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_raws__T_itemdefs : generate_world_raws__T_itemdefs_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_raws__T_language : generate_world_raws__T_language_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_raws__T_plants : generate_world_raws__T_plants_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_raws__T_reactions : generate_world_raws__T_reactions_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_raws__T_syndromes : generate_world_raws__T_syndromes_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_region : generate_world_region_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_region_details : generate_world_region_details_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_region_details__T_edges : generate_world_region_details__T_edges_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_region_details__T_rivers_horizontal : generate_world_region_details__T_rivers_horizontal_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_region_details__T_rivers_vertical : generate_world_region_details__T_rivers_vertical_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_region_feature : generate_world_region_feature_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_river : generate_world_river_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_site : generate_world_site_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_site__T_subtype_info : generate_world_site__T_subtype_info_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_site__T_unk_1 : generate_world_site__T_unk_1_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_site__T_unk_118 : generate_world_site__T_unk_118_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_site__T_unk_13c : generate_world_site__T_unk_13c_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_site__T_unk_188 : generate_world_site__T_unk_188_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_site__T_unk_188__T_unk1 : generate_world_site__T_unk_188__T_unk1_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_site__T_unk_1__T_units : generate_world_site__T_unk_1__T_units_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_site__T_unk_21c : generate_world_site__T_unk_21c_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_site__T_unk_v40_2 : generate_world_site__T_unk_v40_2_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_site__T_unk_v40_4a : generate_world_site__T_unk_v40_4a_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_site__T_unk_v40_4b : generate_world_site__T_unk_v40_4b_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_site__T_unk_v40_4c : generate_world_site__T_unk_v40_4c_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_site__T_unk_v40_4d : generate_world_site__T_unk_v40_4d_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_site__T_unk_v40_4d__T_anon_2 : generate_world_site__T_unk_v40_4d__T_anon_2_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_site__T_unk_v43_2 : generate_world_site__T_unk_v43_2_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_site_inhabitant : generate_world_site_inhabitant_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_site_realization : generate_world_site_realization_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_site_realization__T_areas : generate_world_site_realization__T_areas_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_site_realization__T_building_map : generate_world_site_realization__T_building_map_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_site_realization__T_river_map : generate_world_site_realization__T_river_map_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_site_realization__T_unk_193bc : generate_world_site_realization__T_unk_193bc_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_site_realization__T_unk_193bc__T_unk_8 : generate_world_site_realization__T_unk_193bc__T_unk_8_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_site_realization__T_unk_55e8 : generate_world_site_realization__T_unk_55e8_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_site_realization__T_unk_55e8__T_unk_v40_2 : generate_world_site_realization__T_unk_55e8__T_unk_v40_2_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_site_unk130 : generate_world_site_unk130_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_site_unk130__T_unk_4 : generate_world_site_unk130__T_unk_4_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_underground_region : generate_world_underground_region_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_unk_20 : generate_world_unk_20_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_unk_20__T_anon_7 : generate_world_unk_20__T_anon_7_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_unk_6c : generate_world_unk_6c_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_unk_9c : generate_world_unk_9c_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_unk_a8 : generate_world_unk_a8_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_unk_b4 : generate_world_unk_b4_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_unk_c0 : generate_world_unk_c0_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::world_unk_c0__T_anon_7 : generate_world_unk_c0__T_anon_7_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::wound_curse_info : generate_wound_curse_info_offsets(nullptr, p_table.m_offsets);break; - case DF_Type::written_content : generate_written_content_offsets(nullptr, p_table.m_offsets);break; - default: break; - } -} -std::size_t OffsetsCache::get_offset(DF_Type p_type, const std::string& p_field) { - auto result = m_df_types_offset_table.find(p_type); - if (result == m_df_types_offset_table.end()) - { - auto new_table = new OffsetTable; - fill_offsets(p_type, *new_table); - m_df_types_offset_table[p_type] = *new_table; - } - - result = m_df_types_offset_table.find(p_type); - auto offset_table = (*result).second; - auto result2 = offset_table.m_offsets.find(p_field); - if (result2 != offset_table.m_offsets.end()) - { - return (*result2).second; - } - throw "field not found"; - return 0; -} + switch (p_type) + + { + case DF_Type::abstract_building: + generate_abstract_building_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::abstract_building__T_inhabitants: + generate_abstract_building__T_inhabitants_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::abstract_building__T_unk1: + generate_abstract_building__T_unk1_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::abstract_building_contents: + generate_abstract_building_contents_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::abstract_building_dark_towerst: + generate_abstract_building_dark_towerst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::abstract_building_dungeonst: + generate_abstract_building_dungeonst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::abstract_building_inn_tavernst: + generate_abstract_building_inn_tavernst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::abstract_building_inn_tavernst__T_room_info: + generate_abstract_building_inn_tavernst__T_room_info_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::abstract_building_keepst: + generate_abstract_building_keepst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::abstract_building_libraryst: + generate_abstract_building_libraryst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::abstract_building_marketst: + generate_abstract_building_marketst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::abstract_building_mead_hallst: + generate_abstract_building_mead_hallst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::abstract_building_templest: + generate_abstract_building_templest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::abstract_building_tombst: + generate_abstract_building_tombst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::abstract_building_underworld_spirest: + generate_abstract_building_underworld_spirest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::abstract_building_unk: + generate_abstract_building_unk_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::abstract_building_unk__T_anon_1: + generate_abstract_building_unk__T_anon_1_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::active_script_var_longst: + generate_active_script_var_longst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::active_script_var_unitst: + generate_active_script_var_unitst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::active_script_varst: + generate_active_script_varst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::activity_entry: + generate_activity_entry_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::activity_event: + generate_activity_event_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::activity_event__T_unk_v42_1: + generate_activity_event__T_unk_v42_1_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::activity_event__T_unk_v42_2: + generate_activity_event__T_unk_v42_2_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::activity_event_combat_trainingst: + generate_activity_event_combat_trainingst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::activity_event_conflictst: + generate_activity_event_conflictst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::activity_event_conflictst__T_sides: + generate_activity_event_conflictst__T_sides_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::activity_event_conflictst__T_sides__T_enemies: + generate_activity_event_conflictst__T_sides__T_enemies_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::activity_event_conversationst: + generate_activity_event_conversationst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::activity_event_conversationst__T_anon_6: + generate_activity_event_conversationst__T_anon_6_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::activity_event_conversationst__T_participants: + generate_activity_event_conversationst__T_participants_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::activity_event_conversationst__T_turns: + generate_activity_event_conversationst__T_turns_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::activity_event_conversationst__T_unk2: + generate_activity_event_conversationst__T_unk2_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::activity_event_conversationst__T_unk_b4: + generate_activity_event_conversationst__T_unk_b4_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::activity_event_copy_written_contentst: + generate_activity_event_copy_written_contentst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::activity_event_discuss_topicst: + generate_activity_event_discuss_topicst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::activity_event_encounterst: + generate_activity_event_encounterst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::activity_event_encounterst__T_anon_1: + generate_activity_event_encounterst__T_anon_1_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::activity_event_encounterst__T_anon_2: + generate_activity_event_encounterst__T_anon_2_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::activity_event_fill_service_orderst: + generate_activity_event_fill_service_orderst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::activity_event_guardst: + generate_activity_event_guardst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::activity_event_harassmentst: + generate_activity_event_harassmentst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::activity_event_harassmentst__T_anon_2: + generate_activity_event_harassmentst__T_anon_2_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::activity_event_individual_skill_drillst: + generate_activity_event_individual_skill_drillst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::activity_event_make_believest: + generate_activity_event_make_believest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::activity_event_participants: + generate_activity_event_participants_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::activity_event_performancest: + generate_activity_event_performancest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::activity_event_performancest__T_participant_actions: + generate_activity_event_performancest__T_participant_actions_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::activity_event_play_with_toyst: + generate_activity_event_play_with_toyst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::activity_event_play_with_toyst__T_unk: + generate_activity_event_play_with_toyst__T_unk_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::activity_event_playst: + generate_activity_event_playst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::activity_event_ponder_topicst: + generate_activity_event_ponder_topicst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::activity_event_prayerst: + generate_activity_event_prayerst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::activity_event_ranged_practicest: + generate_activity_event_ranged_practicest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::activity_event_readst: + generate_activity_event_readst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::activity_event_researchst: + generate_activity_event_researchst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::activity_event_reunionst: + generate_activity_event_reunionst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::activity_event_skill_demonstrationst: + generate_activity_event_skill_demonstrationst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::activity_event_socializest: + generate_activity_event_socializest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::activity_event_sparringst: + generate_activity_event_sparringst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::activity_event_sparringst__T_groups: + generate_activity_event_sparringst__T_groups_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::activity_event_store_objectst: + generate_activity_event_store_objectst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::activity_event_teach_topicst: + generate_activity_event_teach_topicst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::activity_event_training_sessionst: + generate_activity_event_training_sessionst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::activity_event_worshipst: + generate_activity_event_worshipst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::activity_event_writest: + generate_activity_event_writest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::activity_info: + generate_activity_info_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::adventure_environment_ingest_from_containerst: + generate_adventure_environment_ingest_from_containerst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::adventure_environment_ingest_materialst: + generate_adventure_environment_ingest_materialst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::adventure_environment_optionst: + generate_adventure_environment_optionst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::adventure_environment_pickup_chop_treest: + generate_adventure_environment_pickup_chop_treest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::adventure_environment_pickup_ignite_vegst: + generate_adventure_environment_pickup_ignite_vegst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::adventure_environment_pickup_make_campfirest: + generate_adventure_environment_pickup_make_campfirest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::adventure_environment_pickup_vermin_eventst: + generate_adventure_environment_pickup_vermin_eventst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::adventure_environment_place_in_bld_containerst: + generate_adventure_environment_place_in_bld_containerst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::adventure_environment_place_in_it_containerst: + generate_adventure_environment_place_in_it_containerst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::adventure_environment_unit_suck_bloodst: + generate_adventure_environment_unit_suck_bloodst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::adventure_item_interact_choicest: + generate_adventure_item_interact_choicest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::adventure_item_interact_fill_from_containerst: + generate_adventure_item_interact_fill_from_containerst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::adventure_item_interact_fill_with_materialst: + generate_adventure_item_interact_fill_with_materialst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::adventure_item_interact_give_namest: + generate_adventure_item_interact_give_namest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::adventure_item_interact_heat_from_tilest: + generate_adventure_item_interact_heat_from_tilest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::adventure_item_interact_pull_outst: + generate_adventure_item_interact_pull_outst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::adventure_item_interact_readst: + generate_adventure_item_interact_readst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::adventure_item_interact_strugglest: + generate_adventure_item_interact_strugglest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::adventure_log_item: + generate_adventure_log_item_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::adventure_movement_attack_creaturest: + generate_adventure_movement_attack_creaturest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::adventure_movement_building_interactst: + generate_adventure_movement_building_interactst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::adventure_movement_climbst: + generate_adventure_movement_climbst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::adventure_movement_hold_itemst: + generate_adventure_movement_hold_itemst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::adventure_movement_hold_tilest: + generate_adventure_movement_hold_tilest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::adventure_movement_item_interact_guidest: + generate_adventure_movement_item_interact_guidest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::adventure_movement_item_interact_pushst: + generate_adventure_movement_item_interact_pushst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::adventure_movement_item_interact_ridest: + generate_adventure_movement_item_interact_ridest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::adventure_movement_item_interactst: + generate_adventure_movement_item_interactst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::adventure_movement_movest: + generate_adventure_movement_movest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::adventure_movement_optionst: + generate_adventure_movement_optionst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::adventure_movement_release_hold_itemst: + generate_adventure_movement_release_hold_itemst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::adventure_movement_release_hold_tilest: + generate_adventure_movement_release_hold_tilest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::adventure_option_eat_item_contaminantst: + generate_adventure_option_eat_item_contaminantst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::adventure_option_eat_unit_contaminantst: + generate_adventure_option_eat_unit_contaminantst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::adventure_option_view_contaminantst: + generate_adventure_option_view_contaminantst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::adventure_optionst: + generate_adventure_optionst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::agreement: + generate_agreement_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::agreement__T_details: + generate_agreement__T_details_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::agreement__T_details__T_data: + generate_agreement__T_details__T_data_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::agreement__T_details__T_data__T_data0: + generate_agreement__T_details__T_data__T_data0_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::agreement__T_details__T_data__T_data1: + generate_agreement__T_details__T_data__T_data1_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::agreement__T_parties: + generate_agreement__T_parties_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::agreement__T_parties__T_anon_1: + generate_agreement__T_parties__T_anon_1_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::announcements: + generate_announcements_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::armor_properties: + generate_armor_properties_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::army: + generate_army_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::army__T_members: + generate_army__T_members_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::army__T_unk_2c: + generate_army__T_unk_2c_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::army_controller: + generate_army_controller_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::army_controller__T_unk_64: + generate_army_controller__T_unk_64_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::army_controller_sub1: + generate_army_controller_sub1_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::army_controller_sub11: + generate_army_controller_sub11_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::army_controller_sub11__T_anon_3: + generate_army_controller_sub11__T_anon_3_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::army_controller_sub12: + generate_army_controller_sub12_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::army_controller_sub12__T_anon_4: + generate_army_controller_sub12__T_anon_4_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::army_controller_sub13: + generate_army_controller_sub13_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::army_controller_sub13__T_anon_4: + generate_army_controller_sub13__T_anon_4_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::army_controller_sub14: + generate_army_controller_sub14_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::army_controller_sub14__T_anon_4: + generate_army_controller_sub14__T_anon_4_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::army_controller_sub15: + generate_army_controller_sub15_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::army_controller_sub15__T_anon_3: + generate_army_controller_sub15__T_anon_3_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::army_controller_sub16: + generate_army_controller_sub16_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::army_controller_sub17: + generate_army_controller_sub17_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::army_controller_sub18: + generate_army_controller_sub18_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::army_controller_sub2: + generate_army_controller_sub2_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::army_controller_sub2__T_anon_5: + generate_army_controller_sub2__T_anon_5_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::army_controller_sub4: + generate_army_controller_sub4_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::army_controller_sub5: + generate_army_controller_sub5_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::army_controller_sub6: + generate_army_controller_sub6_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::army_controller_sub7: + generate_army_controller_sub7_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::army_controller_sub7__T_anon_3: + generate_army_controller_sub7__T_anon_3_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::art_image: + generate_art_image_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::art_image_chunk: + generate_art_image_chunk_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::art_image_element: + generate_art_image_element_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::art_image_element_creaturest: + generate_art_image_element_creaturest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::art_image_element_itemst: + generate_art_image_element_itemst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::art_image_element_plantst: + generate_art_image_element_plantst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::art_image_element_shapest: + generate_art_image_element_shapest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::art_image_element_treest: + generate_art_image_element_treest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::art_image_property: + generate_art_image_property_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::art_image_property_intransitive_verbst: + generate_art_image_property_intransitive_verbst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::art_image_property_transitive_verbst: + generate_art_image_property_transitive_verbst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::art_image_ref: + generate_art_image_ref_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::artifact_record: + generate_artifact_record_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::assign_trade_status: + generate_assign_trade_status_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::belief_system: + generate_belief_system_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::block_burrow: + generate_block_burrow_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::block_burrow_link: + generate_block_burrow_link_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::block_square_event: + generate_block_square_event_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::block_square_event_designation_priorityst: + generate_block_square_event_designation_priorityst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::block_square_event_frozen_liquidst: + generate_block_square_event_frozen_liquidst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::block_square_event_grassst: + generate_block_square_event_grassst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::block_square_event_item_spatterst: + generate_block_square_event_item_spatterst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::block_square_event_material_spatterst: + generate_block_square_event_material_spatterst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::block_square_event_mineralst: + generate_block_square_event_mineralst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::block_square_event_spoorst: + generate_block_square_event_spoorst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::block_square_event_world_constructionst: + generate_block_square_event_world_constructionst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::body_appearance_modifier: + generate_body_appearance_modifier_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::body_component_info: + generate_body_component_info_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::body_detail_plan: + generate_body_detail_plan_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::body_part_layer_raw: + generate_body_part_layer_raw_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::body_part_raw: + generate_body_part_raw_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::body_part_template: + generate_body_part_template_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::body_size_info: + generate_body_size_info_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::body_template: + generate_body_template_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::bp_appearance_modifier: + generate_bp_appearance_modifier_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::build_req_choice_genst: + generate_build_req_choice_genst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::build_req_choice_specst: + generate_build_req_choice_specst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::build_req_choicest: + generate_build_req_choicest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building: + generate_building_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building__T_activities: + generate_building__T_activities_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building__T_job_claim_suppress: + generate_building__T_job_claim_suppress_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_actual: + generate_building_actual_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_actual__T_contained_items: + generate_building_actual__T_contained_items_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_animaltrapst: + generate_building_animaltrapst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_archerytargetst: + generate_building_archerytargetst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_armorstandst: + generate_building_armorstandst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_axle_horizontalst: + generate_building_axle_horizontalst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_axle_verticalst: + generate_building_axle_verticalst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_bars_floorst: + generate_building_bars_floorst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_bars_verticalst: + generate_building_bars_verticalst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_bedst: + generate_building_bedst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_bookcasest: + generate_building_bookcasest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_boxst: + generate_building_boxst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_bridgest: + generate_building_bridgest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_cabinetst: + generate_building_cabinetst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_cagest: + generate_building_cagest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_chainst: + generate_building_chainst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_chairst: + generate_building_chairst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_civzonest: + generate_building_civzonest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_coffinst: + generate_building_coffinst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_constructionst: + generate_building_constructionst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_def: + generate_building_def_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_def_furnacest: + generate_building_def_furnacest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_def_item: + generate_building_def_item_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_def_workshopst: + generate_building_def_workshopst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_design: + generate_building_design_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_display_furniturest: + generate_building_display_furniturest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_doorst: + generate_building_doorst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_drawbuffer: + generate_building_drawbuffer_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_extents: + generate_building_extents_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_farmplotst: + generate_building_farmplotst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_floodgatest: + generate_building_floodgatest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_furnacest: + generate_building_furnacest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_gear_assemblyst: + generate_building_gear_assemblyst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_grate_floorst: + generate_building_grate_floorst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_grate_wallst: + generate_building_grate_wallst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_handler: + generate_building_handler_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_hatchst: + generate_building_hatchst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_hivest: + generate_building_hivest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_instrumentst: + generate_building_instrumentst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_nest_boxst: + generate_building_nest_boxst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_nestst: + generate_building_nestst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_road_dirtst: + generate_building_road_dirtst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_road_pavedst: + generate_building_road_pavedst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_roadst: + generate_building_roadst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_rollersst: + generate_building_rollersst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_screw_pumpst: + generate_building_screw_pumpst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_shopst: + generate_building_shopst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_siegeenginest: + generate_building_siegeenginest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_slabst: + generate_building_slabst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_squad_use: + generate_building_squad_use_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_statuest: + generate_building_statuest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_stockpilest: + generate_building_stockpilest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_supportst: + generate_building_supportst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_tablest: + generate_building_tablest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_traction_benchst: + generate_building_traction_benchst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_tradedepotst: + generate_building_tradedepotst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_trapst: + generate_building_trapst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_users: + generate_building_users_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_wagonst: + generate_building_wagonst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_water_wheelst: + generate_building_water_wheelst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_weaponrackst: + generate_building_weaponrackst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_weaponst: + generate_building_weaponst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_wellst: + generate_building_wellst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_windmillst: + generate_building_windmillst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_window_gemst: + generate_building_window_gemst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_window_glassst: + generate_building_window_glassst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_windowst: + generate_building_windowst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::building_workshopst: + generate_building_workshopst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::burrow: + generate_burrow_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::campfire: + generate_campfire_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::caravan_state: + generate_caravan_state_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::caste_attack: + generate_caste_attack_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::caste_body_info: + generate_caste_body_info_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::caste_body_info__T_extra_butcher_objects: + generate_caste_body_info__T_extra_butcher_objects_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::caste_body_info__T_interactions: + generate_caste_body_info__T_interactions_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::caste_clothing_item: + generate_caste_clothing_item_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::caste_raw: + generate_caste_raw_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::caste_raw__T_attributes: + generate_caste_raw__T_attributes_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::caste_raw__T_bp_appearance: + generate_caste_raw__T_bp_appearance_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::caste_raw__T_caste_profession_name: + generate_caste_raw__T_caste_profession_name_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::caste_raw__T_extracts: + generate_caste_raw__T_extracts_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::caste_raw__T_misc: + generate_caste_raw__T_misc_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::caste_raw__T_personality: + generate_caste_raw__T_personality_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::caste_raw__T_secretion: + generate_caste_raw__T_secretion_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::caste_raw__T_shearable_tissue_layer: + generate_caste_raw__T_shearable_tissue_layer_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::caste_raw__T_unknown2: + generate_caste_raw__T_unknown2_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::cave_column: + generate_cave_column_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::cave_column_link: + generate_cave_column_link_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::cave_column_rectangle: + generate_cave_column_rectangle_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::coin_batch: + generate_coin_batch_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::coin_batch__T_image_back: + generate_coin_batch__T_image_back_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::coin_batch__T_image_front: + generate_coin_batch__T_image_front_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::color_modifier_raw: + generate_color_modifier_raw_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::construction: + generate_construction_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::conversation: + generate_conversation_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::conversation__T_speech: + generate_conversation__T_speech_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::coord: + generate_coord_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::coord2d: + generate_coord2d_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::coord2d_path: + generate_coord2d_path_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::coord_path: + generate_coord_path_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::coord_rect: + generate_coord_rect_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::creation_zone_pwg_alteration_campst: + generate_creation_zone_pwg_alteration_campst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::creation_zone_pwg_alteration_location_deathst: + generate_creation_zone_pwg_alteration_location_deathst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::creation_zone_pwg_alteration_location_deathst__T_unk_1: + generate_creation_zone_pwg_alteration_location_deathst__T_unk_1_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::creation_zone_pwg_alteration_location_deathst__T_unk_1__T_anon_1: + generate_creation_zone_pwg_alteration_location_deathst__T_unk_1__T_anon_1_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::creation_zone_pwg_alteration_srb_ruinedst: + generate_creation_zone_pwg_alteration_srb_ruinedst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::creation_zone_pwg_alteration_srp_ruinedst: + generate_creation_zone_pwg_alteration_srp_ruinedst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::creation_zone_pwg_alterationst: + generate_creation_zone_pwg_alterationst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::creature_graphics_appointment: + generate_creature_graphics_appointment_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::creature_handler: + generate_creature_handler_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::creature_interaction: + generate_creature_interaction_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::creature_interaction_effect: + generate_creature_interaction_effect_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::creature_interaction_effect__T_counter_trigger: + generate_creature_interaction_effect__T_counter_trigger_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::creature_interaction_effect_add_simple_flagst: + generate_creature_interaction_effect_add_simple_flagst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::creature_interaction_effect_bleedingst: + generate_creature_interaction_effect_bleedingst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::creature_interaction_effect_blistersst: + generate_creature_interaction_effect_blistersst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::creature_interaction_effect_body_appearance_modifierst: + generate_creature_interaction_effect_body_appearance_modifierst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::creature_interaction_effect_body_mat_interactionst: + generate_creature_interaction_effect_body_mat_interactionst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::creature_interaction_effect_body_transformationst: + generate_creature_interaction_effect_body_transformationst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::creature_interaction_effect_bp_appearance_modifierst: + generate_creature_interaction_effect_bp_appearance_modifierst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::creature_interaction_effect_bruisingst: + generate_creature_interaction_effect_bruisingst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::creature_interaction_effect_can_do_interactionst: + generate_creature_interaction_effect_can_do_interactionst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::creature_interaction_effect_change_personalityst: + generate_creature_interaction_effect_change_personalityst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::creature_interaction_effect_cough_bloodst: + generate_creature_interaction_effect_cough_bloodst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::creature_interaction_effect_display_namest: + generate_creature_interaction_effect_display_namest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::creature_interaction_effect_display_symbolst: + generate_creature_interaction_effect_display_symbolst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::creature_interaction_effect_dizzinessst: + generate_creature_interaction_effect_dizzinessst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::creature_interaction_effect_drowsinessst: + generate_creature_interaction_effect_drowsinessst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::creature_interaction_effect_erratic_behaviorst: + generate_creature_interaction_effect_erratic_behaviorst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::creature_interaction_effect_feel_emotionst: + generate_creature_interaction_effect_feel_emotionst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::creature_interaction_effect_feverst: + generate_creature_interaction_effect_feverst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::creature_interaction_effect_flash_symbolst: + generate_creature_interaction_effect_flash_symbolst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::creature_interaction_effect_impair_functionst: + generate_creature_interaction_effect_impair_functionst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::creature_interaction_effect_material_force_adjustst: + generate_creature_interaction_effect_material_force_adjustst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::creature_interaction_effect_ment_att_changest: + generate_creature_interaction_effect_ment_att_changest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::creature_interaction_effect_nauseast: + generate_creature_interaction_effect_nauseast_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::creature_interaction_effect_necrosisst: + generate_creature_interaction_effect_necrosisst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::creature_interaction_effect_numbnessst: + generate_creature_interaction_effect_numbnessst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::creature_interaction_effect_oozingst: + generate_creature_interaction_effect_oozingst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::creature_interaction_effect_painst: + generate_creature_interaction_effect_painst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::creature_interaction_effect_paralysisst: + generate_creature_interaction_effect_paralysisst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::creature_interaction_effect_phys_att_changest: + generate_creature_interaction_effect_phys_att_changest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::creature_interaction_effect_remove_simple_flagst: + generate_creature_interaction_effect_remove_simple_flagst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::creature_interaction_effect_sense_creature_classst: + generate_creature_interaction_effect_sense_creature_classst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::creature_interaction_effect_skill_roll_adjustst: + generate_creature_interaction_effect_skill_roll_adjustst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::creature_interaction_effect_speed_changest: + generate_creature_interaction_effect_speed_changest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::creature_interaction_effect_swellingst: + generate_creature_interaction_effect_swellingst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::creature_interaction_effect_target: + generate_creature_interaction_effect_target_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::creature_interaction_effect_unconsciousnessst: + generate_creature_interaction_effect_unconsciousnessst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::creature_interaction_effect_vomit_bloodst: + generate_creature_interaction_effect_vomit_bloodst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::creature_raw: + generate_creature_raw_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::creature_raw__T_graphics: + generate_creature_raw__T_graphics_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::creature_raw__T_hive_product: + generate_creature_raw__T_hive_product_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::creature_raw__T_profession_name: + generate_creature_raw__T_profession_name_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::creature_variation: + generate_creature_variation_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::creature_variation_convert_tag: + generate_creature_variation_convert_tag_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::crime: + generate_crime_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::crime__T_punishment: + generate_crime__T_punishment_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::crime__T_reports: + generate_crime__T_reports_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::cultural_identity: + generate_cultural_identity_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::cultural_identity__T_group_log: + generate_cultural_identity__T_group_log_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::curse_attr_change: + generate_curse_attr_change_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::d_init: + generate_d_init_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::d_init__T_store_dist: + generate_d_init__T_store_dist_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::d_init__T_wound_color: + generate_d_init__T_wound_color_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::dance_form: + generate_dance_form_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::dance_form_sub1: + generate_dance_form_sub1_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::dance_form_sub2: + generate_dance_form_sub2_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::deep_vein_hollow: + generate_deep_vein_hollow_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::descriptor_color: + generate_descriptor_color_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::descriptor_pattern: + generate_descriptor_pattern_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::descriptor_shape: + generate_descriptor_shape_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::dipscript_info: + generate_dipscript_info_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::dipscript_popup: + generate_dipscript_popup_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::dye_info: + generate_dye_info_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::effect_info: + generate_effect_info_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::embark_item_choice: + generate_embark_item_choice_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::embark_item_choice__T_list: + generate_embark_item_choice__T_list_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::embark_location: + generate_embark_location_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::embark_note: + generate_embark_note_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::embark_profile: + generate_embark_profile_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::engraving: + generate_engraving_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_activity_statistics: + generate_entity_activity_statistics_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_activity_statistics__T_food: + generate_entity_activity_statistics__T_food_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_activity_statistics__T_wealth: + generate_entity_activity_statistics__T_wealth_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_animal_raw: + generate_entity_animal_raw_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_buy_prices: + generate_entity_buy_prices_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_buy_requests: + generate_entity_buy_requests_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_claim_mask: + generate_entity_claim_mask_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_claim_mask__T_map: + generate_entity_claim_mask__T_map_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_entity_link: + generate_entity_entity_link_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_event: + generate_entity_event_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_event__T_data: + generate_entity_event__T_data_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_event__T_data__T_abandon: + generate_entity_event__T_data__T_abandon_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_event__T_data__T_abduction: + generate_entity_event__T_data__T_abduction_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_event__T_data__T_accept_peace_offer: + generate_entity_event__T_data__T_accept_peace_offer_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_event__T_data__T_accept_tribute_demand: + generate_entity_event__T_data__T_accept_tribute_demand_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_event__T_data__T_accept_tribute_offer: + generate_entity_event__T_data__T_accept_tribute_offer_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_event__T_data__T_artifact_destroyed: + generate_entity_event__T_data__T_artifact_destroyed_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_event__T_data__T_artifact_in_feature_layer: + generate_entity_event__T_data__T_artifact_in_feature_layer_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_event__T_data__T_artifact_in_inventory: + generate_entity_event__T_data__T_artifact_in_inventory_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_event__T_data__T_artifact_in_site: + generate_entity_event__T_data__T_artifact_in_site_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_event__T_data__T_artifact_in_subregion: + generate_entity_event__T_data__T_artifact_in_subregion_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_event__T_data__T_artifact_not_in_feature_layer: + generate_entity_event__T_data__T_artifact_not_in_feature_layer_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_event__T_data__T_artifact_not_in_inventory: + generate_entity_event__T_data__T_artifact_not_in_inventory_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_event__T_data__T_artifact_not_in_site: + generate_entity_event__T_data__T_artifact_not_in_site_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_event__T_data__T_artifact_not_in_subregion: + generate_entity_event__T_data__T_artifact_not_in_subregion_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_event__T_data__T_beast: + generate_entity_event__T_data__T_beast_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_event__T_data__T_cease_tribute_offer: + generate_entity_event__T_data__T_cease_tribute_offer_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_event__T_data__T_claim: + generate_entity_event__T_data__T_claim_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_event__T_data__T_flee: + generate_entity_event__T_data__T_flee_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_event__T_data__T_founded: + generate_entity_event__T_data__T_founded_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_event__T_data__T_founding: + generate_entity_event__T_data__T_founding_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_event__T_data__T_group: + generate_entity_event__T_data__T_group_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_event__T_data__T_harass: + generate_entity_event__T_data__T_harass_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_event__T_data__T_incident: + generate_entity_event__T_data__T_incident_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_event__T_data__T_insurrection: + generate_entity_event__T_data__T_insurrection_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_event__T_data__T_insurrection_end: + generate_entity_event__T_data__T_insurrection_end_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_event__T_data__T_invasion: + generate_entity_event__T_data__T_invasion_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_event__T_data__T_leave: + generate_entity_event__T_data__T_leave_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_event__T_data__T_occupation: + generate_entity_event__T_data__T_occupation_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_event__T_data__T_reclaimed: + generate_entity_event__T_data__T_reclaimed_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_event__T_data__T_reclaiming: + generate_entity_event__T_data__T_reclaiming_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_event__T_data__T_refuse_peace_offer: + generate_entity_event__T_data__T_refuse_peace_offer_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_event__T_data__T_refuse_tribute_demand: + generate_entity_event__T_data__T_refuse_tribute_demand_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_event__T_data__T_refuse_tribute_offer: + generate_entity_event__T_data__T_refuse_tribute_offer_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_event__T_data__T_succession: + generate_entity_event__T_data__T_succession_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_occasion: + generate_entity_occasion_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_occasion_info: + generate_entity_occasion_info_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_occasion_schedule: + generate_entity_occasion_schedule_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_occasion_schedule_feature: + generate_entity_occasion_schedule_feature_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_population: + generate_entity_population_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_population_unk4: + generate_entity_population_unk4_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_population_unk4__T_anon_1: + generate_entity_population_unk4__T_anon_1_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_population_unk4__T_anon_3: + generate_entity_population_unk4__T_anon_3_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_position: + generate_entity_position_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_position_assignment: + generate_entity_position_assignment_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_position_raw: + generate_entity_position_raw_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_raw: + generate_entity_raw_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_raw__T_equipment: + generate_entity_raw__T_equipment_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_raw__T_jobs: + generate_entity_raw__T_jobs_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_raw__T_land_holder_trigger: + generate_entity_raw__T_land_holder_trigger_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_raw__T_progress_trigger: + generate_entity_raw__T_progress_trigger_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_raw__T_symbols: + generate_entity_raw__T_symbols_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_raw__T_tissue_styles: + generate_entity_raw__T_tissue_styles_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_raw__T_workshops: + generate_entity_raw__T_workshops_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_recipe: + generate_entity_recipe_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_sell_prices: + generate_entity_sell_prices_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_sell_requests: + generate_entity_sell_requests_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_site_link: + generate_entity_site_link_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_site_link__T_anon_8: + generate_entity_site_link__T_anon_8_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_tissue_style: + generate_entity_tissue_style_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_uniform: + generate_entity_uniform_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::entity_uniform_item: + generate_entity_uniform_item_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::feature: + generate_feature_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::feature_alteration: + generate_feature_alteration_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::feature_alteration_new_lava_fill_zst: + generate_feature_alteration_new_lava_fill_zst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::feature_alteration_new_pop_maxst: + generate_feature_alteration_new_pop_maxst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::feature_cavest: + generate_feature_cavest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::feature_deep_special_tubest: + generate_feature_deep_special_tubest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::feature_deep_surface_portalst: + generate_feature_deep_surface_portalst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::feature_init: + generate_feature_init_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::feature_init_cavest: + generate_feature_init_cavest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::feature_init_deep_special_tubest: + generate_feature_init_deep_special_tubest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::feature_init_deep_surface_portalst: + generate_feature_init_deep_surface_portalst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::feature_init_magma_core_from_layerst: + generate_feature_init_magma_core_from_layerst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::feature_init_magma_poolst: + generate_feature_init_magma_poolst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::feature_init_outdoor_riverst: + generate_feature_init_outdoor_riverst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::feature_init_pitst: + generate_feature_init_pitst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::feature_init_subterranean_from_layerst: + generate_feature_init_subterranean_from_layerst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::feature_init_underworld_from_layerst: + generate_feature_init_underworld_from_layerst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::feature_init_volcanost: + generate_feature_init_volcanost_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::feature_magma_core_from_layerst: + generate_feature_magma_core_from_layerst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::feature_magma_poolst: + generate_feature_magma_poolst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::feature_outdoor_riverst: + generate_feature_outdoor_riverst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::feature_pitst: + generate_feature_pitst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::feature_subterranean_from_layerst: + generate_feature_subterranean_from_layerst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::feature_underworld_from_layerst: + generate_feature_underworld_from_layerst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::feature_volcanost: + generate_feature_volcanost_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::file_compressorst: + generate_file_compressorst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::fire: + generate_fire_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::flow_guide: + generate_flow_guide_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::flow_guide_item_cloudst: + generate_flow_guide_item_cloudst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::flow_guide_trailing_flowst: + generate_flow_guide_trailing_flowst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::flow_info: + generate_flow_info_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::flow_reuse_pool: + generate_flow_reuse_pool_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::gait_info: + generate_gait_info_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref: + generate_general_ref_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_abstract_buildingst: + generate_general_ref_abstract_buildingst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_activity_eventst: + generate_general_ref_activity_eventst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_artifact: + generate_general_ref_artifact_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_building: + generate_general_ref_building_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_building_cagedst: + generate_general_ref_building_cagedst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_building_chainst: + generate_general_ref_building_chainst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_building_civzone_assignedst: + generate_general_ref_building_civzone_assignedst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_building_destinationst: + generate_general_ref_building_destinationst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_building_display_furniturest: + generate_general_ref_building_display_furniturest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_building_holderst: + generate_general_ref_building_holderst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_building_nest_boxst: + generate_general_ref_building_nest_boxst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_building_triggerst: + generate_general_ref_building_triggerst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_building_triggertargetst: + generate_general_ref_building_triggertargetst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_building_use_target_1st: + generate_general_ref_building_use_target_1st_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_building_use_target_2st: + generate_general_ref_building_use_target_2st_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_building_well_tag: + generate_general_ref_building_well_tag_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_coinbatch: + generate_general_ref_coinbatch_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_contained_in_itemst: + generate_general_ref_contained_in_itemst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_contains_itemst: + generate_general_ref_contains_itemst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_contains_unitst: + generate_general_ref_contains_unitst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_creaturest: + generate_general_ref_creaturest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_dance_formst: + generate_general_ref_dance_formst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_entity: + generate_general_ref_entity_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_entity_art_image: + generate_general_ref_entity_art_image_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_entity_itemownerst: + generate_general_ref_entity_itemownerst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_entity_offeredst: + generate_general_ref_entity_offeredst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_entity_popst: + generate_general_ref_entity_popst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_entity_stolenst: + generate_general_ref_entity_stolenst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_feature_layerst: + generate_general_ref_feature_layerst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_historical_eventst: + generate_general_ref_historical_eventst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_historical_figurest: + generate_general_ref_historical_figurest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_interactionst: + generate_general_ref_interactionst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_is_artifactst: + generate_general_ref_is_artifactst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_is_nemesisst: + generate_general_ref_is_nemesisst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_item: + generate_general_ref_item_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_item_type: + generate_general_ref_item_type_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_knowledge_scholar_flagst: + generate_general_ref_knowledge_scholar_flagst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_languagest: + generate_general_ref_languagest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_locationst: + generate_general_ref_locationst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_mapsquare: + generate_general_ref_mapsquare_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_musical_formst: + generate_general_ref_musical_formst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_nemesis: + generate_general_ref_nemesis_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_poetic_formst: + generate_general_ref_poetic_formst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_projectile: + generate_general_ref_projectile_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_sitest: + generate_general_ref_sitest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_spherest: + generate_general_ref_spherest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_subregionst: + generate_general_ref_subregionst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_unit: + generate_general_ref_unit_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_unit_beateest: + generate_general_ref_unit_beateest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_unit_cageest: + generate_general_ref_unit_cageest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_unit_climberst: + generate_general_ref_unit_climberst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_unit_foodreceiverst: + generate_general_ref_unit_foodreceiverst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_unit_geldeest: + generate_general_ref_unit_geldeest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_unit_holderst: + generate_general_ref_unit_holderst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_unit_infantst: + generate_general_ref_unit_infantst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_unit_itemownerst: + generate_general_ref_unit_itemownerst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_unit_kidnapeest: + generate_general_ref_unit_kidnapeest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_unit_milkeest: + generate_general_ref_unit_milkeest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_unit_patientst: + generate_general_ref_unit_patientst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_unit_reporteest: + generate_general_ref_unit_reporteest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_unit_riderst: + generate_general_ref_unit_riderst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_unit_sheareest: + generate_general_ref_unit_sheareest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_unit_slaughtereest: + generate_general_ref_unit_slaughtereest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_unit_suckeest: + generate_general_ref_unit_suckeest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_unit_tradebringerst: + generate_general_ref_unit_tradebringerst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_unit_traineest: + generate_general_ref_unit_traineest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_unit_workerst: + generate_general_ref_unit_workerst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_value_levelst: + generate_general_ref_value_levelst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::general_ref_written_contentst: + generate_general_ref_written_contentst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::glowing_barrier: + generate_glowing_barrier_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::graphic: + generate_graphic_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::hauling_route: + generate_hauling_route_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::hauling_stop: + generate_hauling_stop_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::histfig_entity_link: + generate_histfig_entity_link_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::histfig_entity_link_criminalst: + generate_histfig_entity_link_criminalst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::histfig_entity_link_enemyst: + generate_histfig_entity_link_enemyst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::histfig_entity_link_former_memberst: + generate_histfig_entity_link_former_memberst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::histfig_entity_link_former_mercenaryst: + generate_histfig_entity_link_former_mercenaryst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::histfig_entity_link_former_occupationst: + generate_histfig_entity_link_former_occupationst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::histfig_entity_link_former_positionst: + generate_histfig_entity_link_former_positionst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::histfig_entity_link_former_prisonerst: + generate_histfig_entity_link_former_prisonerst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::histfig_entity_link_former_slavest: + generate_histfig_entity_link_former_slavest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::histfig_entity_link_former_squadst: + generate_histfig_entity_link_former_squadst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::histfig_entity_link_memberst: + generate_histfig_entity_link_memberst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::histfig_entity_link_mercenaryst: + generate_histfig_entity_link_mercenaryst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::histfig_entity_link_occupationst: + generate_histfig_entity_link_occupationst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::histfig_entity_link_position_claimst: + generate_histfig_entity_link_position_claimst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::histfig_entity_link_positionst: + generate_histfig_entity_link_positionst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::histfig_entity_link_prisonerst: + generate_histfig_entity_link_prisonerst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::histfig_entity_link_slavest: + generate_histfig_entity_link_slavest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::histfig_entity_link_squadst: + generate_histfig_entity_link_squadst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::histfig_hf_link: + generate_histfig_hf_link_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::histfig_hf_link_apprenticest: + generate_histfig_hf_link_apprenticest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::histfig_hf_link_childst: + generate_histfig_hf_link_childst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::histfig_hf_link_companionst: + generate_histfig_hf_link_companionst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::histfig_hf_link_deityst: + generate_histfig_hf_link_deityst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::histfig_hf_link_fatherst: + generate_histfig_hf_link_fatherst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::histfig_hf_link_former_apprenticest: + generate_histfig_hf_link_former_apprenticest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::histfig_hf_link_former_masterst: + generate_histfig_hf_link_former_masterst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::histfig_hf_link_imprisonerst: + generate_histfig_hf_link_imprisonerst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::histfig_hf_link_loverst: + generate_histfig_hf_link_loverst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::histfig_hf_link_masterst: + generate_histfig_hf_link_masterst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::histfig_hf_link_motherst: + generate_histfig_hf_link_motherst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::histfig_hf_link_pet_ownerst: + generate_histfig_hf_link_pet_ownerst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::histfig_hf_link_prisonerst: + generate_histfig_hf_link_prisonerst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::histfig_hf_link_spousest: + generate_histfig_hf_link_spousest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::histfig_site_link: + generate_histfig_site_link_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::histfig_site_link_hangoutst: + generate_histfig_site_link_hangoutst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::histfig_site_link_home_site_abstract_buildingst: + generate_histfig_site_link_home_site_abstract_buildingst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::histfig_site_link_home_site_realization_buildingst: + generate_histfig_site_link_home_site_realization_buildingst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::histfig_site_link_home_site_realization_sulst: + generate_histfig_site_link_home_site_realization_sulst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::histfig_site_link_home_site_saved_civzonest: + generate_histfig_site_link_home_site_saved_civzonest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::histfig_site_link_lairst: + generate_histfig_site_link_lairst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::histfig_site_link_occupationst: + generate_histfig_site_link_occupationst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::histfig_site_link_seat_of_powerst: + generate_histfig_site_link_seat_of_powerst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::historical_entity: + generate_historical_entity_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::historical_entity__T_claims: + generate_historical_entity__T_claims_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::historical_entity__T_derived_resources: + generate_historical_entity__T_derived_resources_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::historical_entity__T_positions: + generate_historical_entity__T_positions_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::historical_entity__T_resources: + generate_historical_entity__T_resources_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::historical_entity__T_resources__T_animals: + generate_historical_entity__T_resources__T_animals_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::historical_entity__T_resources__T_metal: + generate_historical_entity__T_resources__T_metal_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::historical_entity__T_resources__T_misc_mat: + generate_historical_entity__T_resources__T_misc_mat_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::historical_entity__T_resources__T_organic: + generate_historical_entity__T_resources__T_organic_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::historical_entity__T_resources__T_refuse: + generate_historical_entity__T_resources__T_refuse_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::historical_entity__T_resources__T_unk13: + generate_historical_entity__T_resources__T_unk13_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::historical_entity__T_resources__T_wood_products: + generate_historical_entity__T_resources__T_wood_products_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::historical_entity__T_tissue_styles: + generate_historical_entity__T_tissue_styles_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::historical_entity__T_training_knowledge: + generate_historical_entity__T_training_knowledge_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::historical_entity__T_unknown1b: + generate_historical_entity__T_unknown1b_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::historical_entity__T_unknown1b__T_diplomacy: + generate_historical_entity__T_unknown1b__T_diplomacy_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::historical_entity__T_unknown1b__T_unk32e: + generate_historical_entity__T_unknown1b__T_unk32e_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::historical_entity__T_unknown1d: + generate_historical_entity__T_unknown1d_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::historical_entity__T_unknown1e: + generate_historical_entity__T_unknown1e_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::historical_entity__T_unknown2: + generate_historical_entity__T_unknown2_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::historical_figure: + generate_historical_figure_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::historical_figure__T_unk_fc: + generate_historical_figure__T_unk_fc_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::historical_figure_info: + generate_historical_figure_info_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::historical_figure_info__T_books: + generate_historical_figure_info__T_books_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::historical_figure_info__T_curse: + generate_historical_figure_info__T_curse_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::historical_figure_info__T_masterpieces: + generate_historical_figure_info__T_masterpieces_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::historical_figure_info__T_personality: + generate_historical_figure_info__T_personality_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::historical_figure_info__T_relationships: + generate_historical_figure_info__T_relationships_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::historical_figure_info__T_relationships__T_anon_1: + generate_historical_figure_info__T_relationships__T_anon_1_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::historical_figure_info__T_relationships__T_anon_2: + generate_historical_figure_info__T_relationships__T_anon_2_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::historical_figure_info__T_relationships__T_anon_3: + generate_historical_figure_info__T_relationships__T_anon_3_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::historical_figure_info__T_relationships__T_list: + generate_historical_figure_info__T_relationships__T_list_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::historical_figure_info__T_reputation: + generate_historical_figure_info__T_reputation_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::historical_figure_info__T_reputation__T_anon_1: + generate_historical_figure_info__T_reputation__T_anon_1_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::historical_figure_info__T_reputation__T_unk_2c: + generate_historical_figure_info__T_reputation__T_unk_2c_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::historical_figure_info__T_reputation__T_unk_2c__T_anon_12: + generate_historical_figure_info__T_reputation__T_unk_2c__T_anon_12_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::historical_figure_info__T_reputation__T_wanted: + generate_historical_figure_info__T_reputation__T_wanted_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::historical_figure_info__T_secret: + generate_historical_figure_info__T_secret_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::historical_figure_info__T_secret__T_anon_1: + generate_historical_figure_info__T_secret__T_anon_1_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::historical_figure_info__T_secret__T_anon_7: + generate_historical_figure_info__T_secret__T_anon_7_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::historical_figure_info__T_secret__T_knowledge: + generate_historical_figure_info__T_secret__T_knowledge_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::historical_figure_info__T_secret__T_unk_a8: + generate_historical_figure_info__T_secret__T_unk_a8_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::historical_figure_info__T_skills: + generate_historical_figure_info__T_skills_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::historical_figure_info__T_unk_14: + generate_historical_figure_info__T_unk_14_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::historical_figure_info__T_wounds: + generate_historical_figure_info__T_wounds_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::historical_kills: + generate_historical_kills_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_era: + generate_history_era_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_era__T_details: + generate_history_era__T_details_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_era__T_title: + generate_history_era__T_title_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event: + generate_history_event_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_add_hf_entity_linkst: + generate_history_event_add_hf_entity_linkst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_add_hf_hf_linkst: + generate_history_event_add_hf_hf_linkst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_add_hf_site_linkst: + generate_history_event_add_hf_site_linkst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_agreement_concludedst: + generate_history_event_agreement_concludedst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_agreement_formedst: + generate_history_event_agreement_formedst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_agreements_voidedst: + generate_history_event_agreements_voidedst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_artifact_claim_formedst: + generate_history_event_artifact_claim_formedst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_artifact_copiedst: + generate_history_event_artifact_copiedst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_artifact_createdst: + generate_history_event_artifact_createdst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_artifact_destroyedst: + generate_history_event_artifact_destroyedst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_artifact_droppedst: + generate_history_event_artifact_droppedst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_artifact_foundst: + generate_history_event_artifact_foundst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_artifact_givenst: + generate_history_event_artifact_givenst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_artifact_hiddenst: + generate_history_event_artifact_hiddenst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_artifact_lostst: + generate_history_event_artifact_lostst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_artifact_possessedst: + generate_history_event_artifact_possessedst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_artifact_recoveredst: + generate_history_event_artifact_recoveredst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_artifact_storedst: + generate_history_event_artifact_storedst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_artifact_transformedst: + generate_history_event_artifact_transformedst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_assume_identityst: + generate_history_event_assume_identityst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_body_abusedst: + generate_history_event_body_abusedst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_body_abusedst__T_props: + generate_history_event_body_abusedst__T_props_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_body_abusedst__T_props__T_hung: + generate_history_event_body_abusedst__T_props__T_hung_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_body_abusedst__T_props__T_item: + generate_history_event_body_abusedst__T_props__T_item_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_ceremonyst: + generate_history_event_ceremonyst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_change_creature_typest: + generate_history_event_change_creature_typest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_change_hf_body_statest: + generate_history_event_change_hf_body_statest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_change_hf_jobst: + generate_history_event_change_hf_jobst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_change_hf_moodst: + generate_history_event_change_hf_moodst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_change_hf_statest: + generate_history_event_change_hf_statest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_collection: + generate_history_event_collection_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_collection_abductionst: + generate_history_event_collection_abductionst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_collection_battlest: + generate_history_event_collection_battlest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_collection_beast_attackst: + generate_history_event_collection_beast_attackst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_collection_ceremonyst: + generate_history_event_collection_ceremonyst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_collection_competitionst: + generate_history_event_collection_competitionst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_collection_duelst: + generate_history_event_collection_duelst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_collection_insurrectionst: + generate_history_event_collection_insurrectionst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_collection_journeyst: + generate_history_event_collection_journeyst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_collection_occasionst: + generate_history_event_collection_occasionst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_collection_performancest: + generate_history_event_collection_performancest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_collection_processionst: + generate_history_event_collection_processionst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_collection_purgest: + generate_history_event_collection_purgest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_collection_raidst: + generate_history_event_collection_raidst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_collection_site_conqueredst: + generate_history_event_collection_site_conqueredst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_collection_theftst: + generate_history_event_collection_theftst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_collection_warst: + generate_history_event_collection_warst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_collection_warst__T_unk: + generate_history_event_collection_warst__T_unk_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_competitionst: + generate_history_event_competitionst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_context: + generate_history_event_context_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_create_entity_positionst: + generate_history_event_create_entity_positionst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_created_buildingst: + generate_history_event_created_buildingst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_created_sitest: + generate_history_event_created_sitest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_created_world_constructionst: + generate_history_event_created_world_constructionst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_creature_devouredst: + generate_history_event_creature_devouredst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_dance_form_createdst: + generate_history_event_dance_form_createdst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_diplomat_lostst: + generate_history_event_diplomat_lostst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_entity_actionst: + generate_history_event_entity_actionst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_entity_createdst: + generate_history_event_entity_createdst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_entity_expels_hfst: + generate_history_event_entity_expels_hfst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_entity_fled_sitest: + generate_history_event_entity_fled_sitest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_entity_incorporatedst: + generate_history_event_entity_incorporatedst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_entity_lawst: + generate_history_event_entity_lawst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_entity_rampaged_in_sitest: + generate_history_event_entity_rampaged_in_sitest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_entity_razed_buildingst: + generate_history_event_entity_razed_buildingst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_entity_searched_sitest: + generate_history_event_entity_searched_sitest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_first_contact_failedst: + generate_history_event_first_contact_failedst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_first_contactst: + generate_history_event_first_contactst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_hf_act_on_artifactst: + generate_history_event_hf_act_on_artifactst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_hf_act_on_buildingst: + generate_history_event_hf_act_on_buildingst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_hf_attacked_sitest: + generate_history_event_hf_attacked_sitest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_hf_confrontedst: + generate_history_event_hf_confrontedst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_hf_destroyed_sitest: + generate_history_event_hf_destroyed_sitest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_hf_does_interactionst: + generate_history_event_hf_does_interactionst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_hf_freedst: + generate_history_event_hf_freedst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_hf_gains_secret_goalst: + generate_history_event_hf_gains_secret_goalst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_hf_learns_secretst: + generate_history_event_hf_learns_secretst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_hf_razed_buildingst: + generate_history_event_hf_razed_buildingst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_hf_recruited_unit_type_for_entityst: + generate_history_event_hf_recruited_unit_type_for_entityst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_hf_relationship_deniedst: + generate_history_event_hf_relationship_deniedst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_hfs_formed_reputation_relationshipst: + generate_history_event_hfs_formed_reputation_relationshipst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_hist_figure_abductedst: + generate_history_event_hist_figure_abductedst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_hist_figure_diedst: + generate_history_event_hist_figure_diedst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_hist_figure_new_petst: + generate_history_event_hist_figure_new_petst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_hist_figure_reach_summitst: + generate_history_event_hist_figure_reach_summitst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_hist_figure_reunionst: + generate_history_event_hist_figure_reunionst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_hist_figure_revivedst: + generate_history_event_hist_figure_revivedst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_hist_figure_simple_actionst: + generate_history_event_hist_figure_simple_actionst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_hist_figure_simple_battle_eventst: + generate_history_event_hist_figure_simple_battle_eventst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_hist_figure_travelst: + generate_history_event_hist_figure_travelst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_hist_figure_woundedst: + generate_history_event_hist_figure_woundedst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_insurrection_endedst: + generate_history_event_insurrection_endedst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_insurrection_startedst: + generate_history_event_insurrection_startedst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_item_stolenst: + generate_history_event_item_stolenst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_knowledge_discoveredst: + generate_history_event_knowledge_discoveredst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_masterpiece_created_arch_constructst: + generate_history_event_masterpiece_created_arch_constructst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_masterpiece_created_arch_designst: + generate_history_event_masterpiece_created_arch_designst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_masterpiece_created_dye_itemst: + generate_history_event_masterpiece_created_dye_itemst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_masterpiece_created_engravingst: + generate_history_event_masterpiece_created_engravingst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_masterpiece_created_foodst: + generate_history_event_masterpiece_created_foodst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_masterpiece_created_item_improvementst: + generate_history_event_masterpiece_created_item_improvementst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_masterpiece_created_itemst: + generate_history_event_masterpiece_created_itemst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_masterpiece_createdst: + generate_history_event_masterpiece_createdst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_masterpiece_lostst: + generate_history_event_masterpiece_lostst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_merchantst: + generate_history_event_merchantst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_musical_form_createdst: + generate_history_event_musical_form_createdst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_performancest: + generate_history_event_performancest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_poetic_form_createdst: + generate_history_event_poetic_form_createdst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_processionst: + generate_history_event_processionst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_reclaim_sitest: + generate_history_event_reclaim_sitest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_regionpop_incorporated_into_entityst: + generate_history_event_regionpop_incorporated_into_entityst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_remove_hf_entity_linkst: + generate_history_event_remove_hf_entity_linkst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_remove_hf_hf_linkst: + generate_history_event_remove_hf_hf_linkst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_remove_hf_site_linkst: + generate_history_event_remove_hf_site_linkst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_replaced_buildingst: + generate_history_event_replaced_buildingst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_site_diedst: + generate_history_event_site_diedst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_site_disputest: + generate_history_event_site_disputest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_site_retiredst: + generate_history_event_site_retiredst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_site_surrenderedst: + generate_history_event_site_surrenderedst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_sneak_into_sitest: + generate_history_event_sneak_into_sitest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_spotted_leaving_sitest: + generate_history_event_spotted_leaving_sitest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_squad_vs_squadst: + generate_history_event_squad_vs_squadst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_tactical_situationst: + generate_history_event_tactical_situationst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_topicagreement_concludedst: + generate_history_event_topicagreement_concludedst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_topicagreement_madest: + generate_history_event_topicagreement_madest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_topicagreement_rejectedst: + generate_history_event_topicagreement_rejectedst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_war_attacked_sitest: + generate_history_event_war_attacked_sitest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_war_destroyed_sitest: + generate_history_event_war_destroyed_sitest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_war_field_battlest: + generate_history_event_war_field_battlest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_war_peace_acceptedst: + generate_history_event_war_peace_acceptedst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_war_peace_rejectedst: + generate_history_event_war_peace_rejectedst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_war_plundered_sitest: + generate_history_event_war_plundered_sitest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_war_site_new_leaderst: + generate_history_event_war_site_new_leaderst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_war_site_taken_overst: + generate_history_event_war_site_taken_overst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_war_site_tribute_forcedst: + generate_history_event_war_site_tribute_forcedst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_event_written_content_composedst: + generate_history_event_written_content_composedst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::history_hit_item: + generate_history_hit_item_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::hospital_supplies: + generate_hospital_supplies_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::identity: + generate_identity_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::identity_unk_94: + generate_identity_unk_94_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::incident: + generate_incident_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::incident__T_unk_v42_1: + generate_incident__T_unk_v42_1_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::incident_hfid: + generate_incident_hfid_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::incident_sub10: + generate_incident_sub10_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::incident_sub6_performance: + generate_incident_sub6_performance_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::incident_sub6_performance__T_participants: + generate_incident_sub6_performance__T_participants_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::incident_sub7: + generate_incident_sub7_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::incident_sub8: + generate_incident_sub8_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::incident_sub9: + generate_incident_sub9_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::init: + generate_init_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::init_display: + generate_init_display_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::init_font: + generate_init_font_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::init_input: + generate_init_input_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::init_media: + generate_init_media_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::init_window: + generate_init_window_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::inorganic_raw: + generate_inorganic_raw_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::inorganic_raw__T_environment: + generate_inorganic_raw__T_environment_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::inorganic_raw__T_environment_spec: + generate_inorganic_raw__T_environment_spec_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::inorganic_raw__T_metal_ore: + generate_inorganic_raw__T_metal_ore_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::inorganic_raw__T_thread_metal: + generate_inorganic_raw__T_thread_metal_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::instrument_piece: + generate_instrument_piece_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::instrument_register: + generate_instrument_register_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::interaction: + generate_interaction_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::interaction_effect: + generate_interaction_effect_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::interaction_effect_add_syndromest: + generate_interaction_effect_add_syndromest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::interaction_effect_animatest: + generate_interaction_effect_animatest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::interaction_effect_cleanst: + generate_interaction_effect_cleanst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::interaction_effect_contactst: + generate_interaction_effect_contactst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::interaction_effect_hidest: + generate_interaction_effect_hidest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::interaction_effect_material_emissionst: + generate_interaction_effect_material_emissionst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::interaction_effect_resurrectst: + generate_interaction_effect_resurrectst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::interaction_instance: + generate_interaction_instance_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::interaction_source: + generate_interaction_source_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::interaction_source_attackst: + generate_interaction_source_attackst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::interaction_source_creature_actionst: + generate_interaction_source_creature_actionst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::interaction_source_deityst: + generate_interaction_source_deityst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::interaction_source_disturbancest: + generate_interaction_source_disturbancest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::interaction_source_ingestionst: + generate_interaction_source_ingestionst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::interaction_source_regionst: + generate_interaction_source_regionst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::interaction_source_secretst: + generate_interaction_source_secretst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::interaction_source_underground_specialst: + generate_interaction_source_underground_specialst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::interaction_target: + generate_interaction_target_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::interaction_target_corpsest: + generate_interaction_target_corpsest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::interaction_target_creaturest: + generate_interaction_target_creaturest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::interaction_target_info: + generate_interaction_target_info_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::interaction_target_locationst: + generate_interaction_target_locationst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::interaction_target_materialst: + generate_interaction_target_materialst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::interface_button: + generate_interface_button_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::interface_button_building_category_selectorst: + generate_interface_button_building_category_selectorst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::interface_button_building_custom_category_selectorst: + generate_interface_button_building_custom_category_selectorst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::interface_button_building_material_selectorst: + generate_interface_button_building_material_selectorst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::interface_button_building_new_jobst: + generate_interface_button_building_new_jobst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::interface_button_buildingst: + generate_interface_button_buildingst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::interface_button_construction_building_selectorst: + generate_interface_button_construction_building_selectorst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::interface_button_construction_category_selectorst: + generate_interface_button_construction_category_selectorst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::interface_button_construction_donest: + generate_interface_button_construction_donest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::interface_button_constructionst: + generate_interface_button_constructionst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::interfacest: + generate_interfacest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::invasion_info: + generate_invasion_info_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item: + generate_item_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_actual: + generate_item_actual_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_ammost: + generate_item_ammost_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_amuletst: + generate_item_amuletst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_animaltrapst: + generate_item_animaltrapst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_anvilst: + generate_item_anvilst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_armorst: + generate_item_armorst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_armorstandst: + generate_item_armorstandst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_backpackst: + generate_item_backpackst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_ballistaarrowheadst: + generate_item_ballistaarrowheadst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_ballistapartsst: + generate_item_ballistapartsst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_barrelst: + generate_item_barrelst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_barst: + generate_item_barst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_bedst: + generate_item_bedst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_binst: + generate_item_binst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_blocksst: + generate_item_blocksst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_body_component: + generate_item_body_component_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_body_component__T_appearance: + generate_item_body_component__T_appearance_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_body_component__T_body: + generate_item_body_component__T_body_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_body_component__T_bone1: + generate_item_body_component__T_bone1_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_body_component__T_bone2: + generate_item_body_component__T_bone2_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_bookst: + generate_item_bookst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_boulderst: + generate_item_boulderst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_boxst: + generate_item_boxst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_braceletst: + generate_item_braceletst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_branchst: + generate_item_branchst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_bucketst: + generate_item_bucketst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_cabinetst: + generate_item_cabinetst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_cagest: + generate_item_cagest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_catapultpartsst: + generate_item_catapultpartsst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_chainst: + generate_item_chainst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_chairst: + generate_item_chairst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_cheesest: + generate_item_cheesest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_clothst: + generate_item_clothst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_coffinst: + generate_item_coffinst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_coinst: + generate_item_coinst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_constructed: + generate_item_constructed_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_corpsepiecest: + generate_item_corpsepiecest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_corpsest: + generate_item_corpsest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_crafted: + generate_item_crafted_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_critter: + generate_item_critter_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_crownst: + generate_item_crownst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_crutchst: + generate_item_crutchst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_doorst: + generate_item_doorst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_drinkst: + generate_item_drinkst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_earringst: + generate_item_earringst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_eggst: + generate_item_eggst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_figurinest: + generate_item_figurinest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_filter_spec: + generate_item_filter_spec_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_fish_rawst: + generate_item_fish_rawst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_fishst: + generate_item_fishst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_flaskst: + generate_item_flaskst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_floodgatest: + generate_item_floodgatest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_foodst: + generate_item_foodst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_foodst__T_ingredients: + generate_item_foodst__T_ingredients_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_gemst: + generate_item_gemst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_globst: + generate_item_globst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_glovesst: + generate_item_glovesst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_gobletst: + generate_item_gobletst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_gratest: + generate_item_gratest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_hatch_coverst: + generate_item_hatch_coverst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_helmst: + generate_item_helmst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_history_info: + generate_item_history_info_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_instrumentst: + generate_item_instrumentst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_kill_info: + generate_item_kill_info_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_liquid: + generate_item_liquid_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_liquid_miscst: + generate_item_liquid_miscst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_liquipowder: + generate_item_liquipowder_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_magicness: + generate_item_magicness_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_meatst: + generate_item_meatst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_millstonest: + generate_item_millstonest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_orthopedic_castst: + generate_item_orthopedic_castst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_pantsst: + generate_item_pantsst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_petst: + generate_item_petst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_pipe_sectionst: + generate_item_pipe_sectionst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_plant_growthst: + generate_item_plant_growthst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_plantst: + generate_item_plantst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_powder: + generate_item_powder_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_powder_miscst: + generate_item_powder_miscst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_quernst: + generate_item_quernst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_quiverst: + generate_item_quiverst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_remainsst: + generate_item_remainsst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_ringst: + generate_item_ringst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_rockst: + generate_item_rockst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_roughst: + generate_item_roughst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_scepterst: + generate_item_scepterst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_seedsst: + generate_item_seedsst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_sheetst: + generate_item_sheetst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_shieldst: + generate_item_shieldst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_shoesst: + generate_item_shoesst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_siegeammost: + generate_item_siegeammost_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_skin_tannedst: + generate_item_skin_tannedst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_slabst: + generate_item_slabst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_smallgemst: + generate_item_smallgemst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_splintst: + generate_item_splintst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_statuest: + generate_item_statuest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_stockpile_ref: + generate_item_stockpile_ref_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_tablest: + generate_item_tablest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_threadst: + generate_item_threadst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_toolst: + generate_item_toolst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_totemst: + generate_item_totemst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_toyst: + generate_item_toyst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_traction_benchst: + generate_item_traction_benchst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_trapcompst: + generate_item_trapcompst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_trappartsst: + generate_item_trappartsst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_verminst: + generate_item_verminst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_weaponrackst: + generate_item_weaponrackst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_weaponst: + generate_item_weaponst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_windowst: + generate_item_windowst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::item_woodst: + generate_item_woodst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::itemdef: + generate_itemdef_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::itemdef_ammost: + generate_itemdef_ammost_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::itemdef_armorst: + generate_itemdef_armorst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::itemdef_foodst: + generate_itemdef_foodst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::itemdef_glovesst: + generate_itemdef_glovesst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::itemdef_helmst: + generate_itemdef_helmst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::itemdef_instrumentst: + generate_itemdef_instrumentst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::itemdef_pantsst: + generate_itemdef_pantsst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::itemdef_shieldst: + generate_itemdef_shieldst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::itemdef_shoesst: + generate_itemdef_shoesst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::itemdef_siegeammost: + generate_itemdef_siegeammost_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::itemdef_toolst: + generate_itemdef_toolst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::itemdef_toolst__T_default_improvements: + generate_itemdef_toolst__T_default_improvements_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::itemdef_toyst: + generate_itemdef_toyst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::itemdef_trapcompst: + generate_itemdef_trapcompst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::itemdef_weaponst: + generate_itemdef_weaponst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::itemimprovement: + generate_itemimprovement_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::itemimprovement_art_imagest: + generate_itemimprovement_art_imagest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::itemimprovement_bandsst: + generate_itemimprovement_bandsst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::itemimprovement_clothst: + generate_itemimprovement_clothst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::itemimprovement_coveredst: + generate_itemimprovement_coveredst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::itemimprovement_illustrationst: + generate_itemimprovement_illustrationst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::itemimprovement_instrument_piecest: + generate_itemimprovement_instrument_piecest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::itemimprovement_itemspecificst: + generate_itemimprovement_itemspecificst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::itemimprovement_pagesst: + generate_itemimprovement_pagesst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::itemimprovement_rings_hangingst: + generate_itemimprovement_rings_hangingst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::itemimprovement_sewn_imagest: + generate_itemimprovement_sewn_imagest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::itemimprovement_sewn_imagest__T_cloth: + generate_itemimprovement_sewn_imagest__T_cloth_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::itemimprovement_spikesst: + generate_itemimprovement_spikesst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::itemimprovement_threadst: + generate_itemimprovement_threadst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::itemimprovement_writingst: + generate_itemimprovement_writingst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::job: + generate_job_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::job_art_specification: + generate_job_art_specification_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::job_handler: + generate_job_handler_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::job_handler__T_anon_1: + generate_job_handler__T_anon_1_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::job_handler__T_postings: + generate_job_handler__T_postings_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::job_item: + generate_job_item_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::job_item_filter: + generate_job_item_filter_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::job_item_ref: + generate_job_item_ref_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::job_list_link: + generate_job_list_link_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::KeybindingScreen: + generate_KeybindingScreen_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::knowledge_scholar_category_flag: + generate_knowledge_scholar_category_flag_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::knowledge_scholar_category_flag__T_flags: + generate_knowledge_scholar_category_flag__T_flags_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::language_name: + generate_language_name_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::language_symbol: + generate_language_symbol_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::language_translation: + generate_language_translation_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::language_word: + generate_language_word_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::language_word_table: + generate_language_word_table_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::large_integer: + generate_large_integer_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::large_integer__T_u: + generate_large_integer__T_u_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::layer_object: + generate_layer_object_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::layer_object_buttonst: + generate_layer_object_buttonst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::layer_object_listst: + generate_layer_object_listst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::loadgame_save_info: + generate_loadgame_save_info_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::local_population: + generate_local_population_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::location_scribe_jobs: + generate_location_scribe_jobs_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::machine: + generate_machine_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::machine__T_components: + generate_machine__T_components_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::machine_handler: + generate_machine_handler_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::machine_info: + generate_machine_info_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::machine_standardst: + generate_machine_standardst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::machine_tile_set: + generate_machine_tile_set_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::MacroScreenLoad: + generate_MacroScreenLoad_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::MacroScreenSave: + generate_MacroScreenSave_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::manager_order: + generate_manager_order_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::manager_order_condition_item: + generate_manager_order_condition_item_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::manager_order_condition_order: + generate_manager_order_condition_order_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::manager_order_template: + generate_manager_order_template_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::mandate: + generate_mandate_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::mandate__T_punishment: + generate_mandate__T_punishment_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::map_block: + generate_map_block_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::map_block_column: + generate_map_block_column_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::map_block_column__T_unmined_glyphs: + generate_map_block_column__T_unmined_glyphs_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::map_renderer: + generate_map_renderer_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::map_renderer__T_anon_4: + generate_map_renderer__T_anon_4_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::map_viewport: + generate_map_viewport_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::material: + generate_material_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::material_common: + generate_material_common_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::material_common__T_hardens_with_water: + generate_material_common__T_hardens_with_water_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::material_common__T_heat: + generate_material_common__T_heat_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::material_common__T_reaction_product: + generate_material_common__T_reaction_product_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::material_common__T_strength: + generate_material_common__T_strength_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::material_template: + generate_material_template_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::material_vec_ref: + generate_material_vec_ref_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::matgloss_list: + generate_matgloss_list_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::meeting_context: + generate_meeting_context_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::meeting_diplomat_info: + generate_meeting_diplomat_info_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::meeting_event: + generate_meeting_event_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::meeting_variable: + generate_meeting_variable_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::mental_picture: + generate_mental_picture_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::mental_picture_element_hfst: + generate_mental_picture_element_hfst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::mental_picture_element_regionst: + generate_mental_picture_element_regionst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::mental_picture_element_sitest: + generate_mental_picture_element_sitest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::mental_picture_elementst: + generate_mental_picture_elementst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::mental_picture_property_actionst: + generate_mental_picture_property_actionst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::mental_picture_property_adjectivest: + generate_mental_picture_property_adjectivest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::mental_picture_property_color_patternst: + generate_mental_picture_property_color_patternst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::mental_picture_property_datest: + generate_mental_picture_property_datest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::mental_picture_property_emotionst: + generate_mental_picture_property_emotionst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::mental_picture_property_positionst: + generate_mental_picture_property_positionst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::mental_picture_property_shapest: + generate_mental_picture_property_shapest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::mental_picture_property_timest: + generate_mental_picture_property_timest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::mental_picture_property_toolst: + generate_mental_picture_property_toolst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::mental_picture_propertyst: + generate_mental_picture_propertyst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::mission: + generate_mission_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::mission__T_details: + generate_mission__T_details_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::mission__T_details__T_raid: + generate_mission__T_details__T_raid_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::mission__T_details__T_recovery: + generate_mission__T_details__T_recovery_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::mission__T_details__T_request: + generate_mission__T_details__T_request_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::mission__T_details__T_rescue: + generate_mission__T_details__T_rescue_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::mission_campaign_report: + generate_mission_campaign_report_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::mission_report: + generate_mission_report_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::moving_party: + generate_moving_party_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::moving_party__T_members: + generate_moving_party__T_members_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::musical_form: + generate_musical_form_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::musical_form_instruments: + generate_musical_form_instruments_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::musical_form_interval: + generate_musical_form_interval_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::musical_form_melodies: + generate_musical_form_melodies_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::musical_form_sub4: + generate_musical_form_sub4_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::musical_form_vocals: + generate_musical_form_vocals_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::nemesis_offload: + generate_nemesis_offload_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::nemesis_record: + generate_nemesis_record_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::occupation: + generate_occupation_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::occupation_sub1: + generate_occupation_sub1_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::ocean_wave: + generate_ocean_wave_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::party_info: + generate_party_info_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::performance_play_orderst: + generate_performance_play_orderst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::performance_play_orderst__T_anon_4: + generate_performance_play_orderst__T_anon_4_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::plant: + generate_plant_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::plant_growth: + generate_plant_growth_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::plant_growth_print: + generate_plant_growth_print_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::plant_raw: + generate_plant_raw_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::plant_raw__T_colors: + generate_plant_raw__T_colors_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::plant_raw__T_material_defs: + generate_plant_raw__T_material_defs_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::plant_raw__T_tiles: + generate_plant_raw__T_tiles_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::plant_tree_info: + generate_plant_tree_info_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::poetic_form: + generate_poetic_form_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::poetic_form_part: + generate_poetic_form_part_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::poetic_form_part__T_line_subject_targets: + generate_poetic_form_part__T_line_subject_targets_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::poetic_form_perspective: + generate_poetic_form_perspective_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::popup_message: + generate_popup_message_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::power_info: + generate_power_info_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::pressure_plate_info: + generate_pressure_plate_info_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::proj_itemst: + generate_proj_itemst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::proj_list_link: + generate_proj_list_link_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::proj_magicst: + generate_proj_magicst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::proj_unitst: + generate_proj_unitst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::projectile: + generate_projectile_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::punishment: + generate_punishment_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::reaction: + generate_reaction_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::reaction__T_building: + generate_reaction__T_building_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::reaction_category: + generate_reaction_category_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::reaction_description: + generate_reaction_description_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::reaction_product: + generate_reaction_product_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::reaction_product_item_improvementst: + generate_reaction_product_item_improvementst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::reaction_product_item_improvementst__T_get_material: + generate_reaction_product_item_improvementst__T_get_material_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::reaction_product_itemst: + generate_reaction_product_itemst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::reaction_product_itemst__T_get_material: + generate_reaction_product_itemst__T_get_material_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::reaction_reagent: + generate_reaction_reagent_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::reaction_reagent_itemst: + generate_reaction_reagent_itemst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::region_block_event_sphere_fieldst: + generate_region_block_event_sphere_fieldst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::region_block_eventst: + generate_region_block_eventst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::region_map_entry: + generate_region_map_entry_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::renderer: + generate_renderer_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::report: + generate_report_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::resource_allotment_data: + generate_resource_allotment_data_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::resource_allotment_data__T_unk_654: + generate_resource_allotment_data__T_unk_654_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::resource_allotment_specifier: + generate_resource_allotment_specifier_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::resource_allotment_specifier_ammost: + generate_resource_allotment_specifier_ammost_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::resource_allotment_specifier_anvilst: + generate_resource_allotment_specifier_anvilst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::resource_allotment_specifier_armor_bodyst: + generate_resource_allotment_specifier_armor_bodyst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::resource_allotment_specifier_armor_bootsst: + generate_resource_allotment_specifier_armor_bootsst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::resource_allotment_specifier_armor_glovesst: + generate_resource_allotment_specifier_armor_glovesst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::resource_allotment_specifier_armor_helmst: + generate_resource_allotment_specifier_armor_helmst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::resource_allotment_specifier_armor_pantsst: + generate_resource_allotment_specifier_armor_pantsst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::resource_allotment_specifier_backpackst: + generate_resource_allotment_specifier_backpackst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::resource_allotment_specifier_bagst: + generate_resource_allotment_specifier_bagst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::resource_allotment_specifier_bedst: + generate_resource_allotment_specifier_bedst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::resource_allotment_specifier_bonest: + generate_resource_allotment_specifier_bonest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::resource_allotment_specifier_boxst: + generate_resource_allotment_specifier_boxst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::resource_allotment_specifier_cabinetst: + generate_resource_allotment_specifier_cabinetst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::resource_allotment_specifier_chairst: + generate_resource_allotment_specifier_chairst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::resource_allotment_specifier_cheesest: + generate_resource_allotment_specifier_cheesest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::resource_allotment_specifier_clothing_bodyst: + generate_resource_allotment_specifier_clothing_bodyst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::resource_allotment_specifier_clothing_bootsst: + generate_resource_allotment_specifier_clothing_bootsst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::resource_allotment_specifier_clothing_glovesst: + generate_resource_allotment_specifier_clothing_glovesst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::resource_allotment_specifier_clothing_helmst: + generate_resource_allotment_specifier_clothing_helmst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::resource_allotment_specifier_clothing_pantsst: + generate_resource_allotment_specifier_clothing_pantsst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::resource_allotment_specifier_clothst: + generate_resource_allotment_specifier_clothst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::resource_allotment_specifier_craftsst: + generate_resource_allotment_specifier_craftsst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::resource_allotment_specifier_cropst: + generate_resource_allotment_specifier_cropst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::resource_allotment_specifier_extractst: + generate_resource_allotment_specifier_extractst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::resource_allotment_specifier_flaskst: + generate_resource_allotment_specifier_flaskst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::resource_allotment_specifier_gemsst: + generate_resource_allotment_specifier_gemsst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::resource_allotment_specifier_hornst: + generate_resource_allotment_specifier_hornst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::resource_allotment_specifier_leatherst: + generate_resource_allotment_specifier_leatherst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::resource_allotment_specifier_meatst: + generate_resource_allotment_specifier_meatst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::resource_allotment_specifier_metalst: + generate_resource_allotment_specifier_metalst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::resource_allotment_specifier_pearlst: + generate_resource_allotment_specifier_pearlst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::resource_allotment_specifier_powderst: + generate_resource_allotment_specifier_powderst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::resource_allotment_specifier_quiverst: + generate_resource_allotment_specifier_quiverst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::resource_allotment_specifier_shellst: + generate_resource_allotment_specifier_shellst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::resource_allotment_specifier_skinst: + generate_resource_allotment_specifier_skinst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::resource_allotment_specifier_soapst: + generate_resource_allotment_specifier_soapst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::resource_allotment_specifier_stonest: + generate_resource_allotment_specifier_stonest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::resource_allotment_specifier_tablest: + generate_resource_allotment_specifier_tablest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::resource_allotment_specifier_tallowst: + generate_resource_allotment_specifier_tallowst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::resource_allotment_specifier_threadst: + generate_resource_allotment_specifier_threadst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::resource_allotment_specifier_toothst: + generate_resource_allotment_specifier_toothst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::resource_allotment_specifier_weapon_meleest: + generate_resource_allotment_specifier_weapon_meleest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::resource_allotment_specifier_weapon_rangedst: + generate_resource_allotment_specifier_weapon_rangedst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::resource_allotment_specifier_woodst: + generate_resource_allotment_specifier_woodst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::rhythm: + generate_rhythm_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::rhythm_sub1: + generate_rhythm_sub1_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::rhythm_sub1__T_anon_1: + generate_rhythm_sub1__T_anon_1_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::rhythm_sub2: + generate_rhythm_sub2_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::room_rent_info: + generate_room_rent_info_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::route_stockpile_link: + generate_route_stockpile_link_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::scale: + generate_scale_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::scale__T_unk1: + generate_scale__T_unk1_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::scale_sub1: + generate_scale_sub1_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::scale_sub2: + generate_scale_sub2_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::schedule_info: + generate_schedule_info_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::schedule_slot: + generate_schedule_slot_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::scribejob: + generate_scribejob_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::script_step_conditionalst: + generate_script_step_conditionalst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::script_step_conditionalst__T_condition: + generate_script_step_conditionalst__T_condition_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::script_step_constructtopiclistst: + generate_script_step_constructtopiclistst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::script_step_dipeventst: + generate_script_step_dipeventst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::script_step_diphistoryst: + generate_script_step_diphistoryst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::script_step_discussst: + generate_script_step_discussst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::script_step_eventst: + generate_script_step_eventst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::script_step_invasionst: + generate_script_step_invasionst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::script_step_setvarst: + generate_script_step_setvarst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::script_step_simpleactionst: + generate_script_step_simpleactionst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::script_step_textviewerst: + generate_script_step_textviewerst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::script_step_topicdiscussionst: + generate_script_step_topicdiscussionst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::script_stepst: + generate_script_stepst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::script_var_longst: + generate_script_var_longst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::script_var_unitst: + generate_script_var_unitst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::script_varst: + generate_script_varst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::setup_character_info: + generate_setup_character_info_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::site_building_item: + generate_site_building_item_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::site_realization_building: + generate_site_realization_building_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::site_realization_building__T_unk_4c: + generate_site_realization_building__T_unk_4c_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::site_realization_building_info_castle_courtyardst: + generate_site_realization_building_info_castle_courtyardst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::site_realization_building_info_castle_towerst: + generate_site_realization_building_info_castle_towerst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::site_realization_building_info_castle_wallst: + generate_site_realization_building_info_castle_wallst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::site_realization_building_info_hillock_housest: + generate_site_realization_building_info_hillock_housest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::site_realization_building_info_market_squarest: + generate_site_realization_building_info_market_squarest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::site_realization_building_info_shop_housest: + generate_site_realization_building_info_shop_housest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::site_realization_building_info_tree_housest: + generate_site_realization_building_info_tree_housest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::site_realization_building_info_trenchesst: + generate_site_realization_building_info_trenchesst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::site_realization_building_info_trenchesst__T_spokes: + generate_site_realization_building_info_trenchesst__T_spokes_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::site_realization_building_infost: + generate_site_realization_building_infost_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::site_realization_crossroads: + generate_site_realization_crossroads_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::site_reputation_info: + generate_site_reputation_info_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::site_reputation_report: + generate_site_reputation_report_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::spatter: + generate_spatter_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::spatter_common: + generate_spatter_common_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::special_mat_table: + generate_special_mat_table_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::specific_ref: + generate_specific_ref_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::specific_ref__T_arg2: + generate_specific_ref__T_arg2_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::spoils_report: + generate_spoils_report_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::squad: + generate_squad_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::squad__T_rooms: + generate_squad__T_rooms_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::squad_ammo_spec: + generate_squad_ammo_spec_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::squad_order: + generate_squad_order_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::squad_order_cause_trouble_for_entityst: + generate_squad_order_cause_trouble_for_entityst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::squad_order_defend_burrowsst: + generate_squad_order_defend_burrowsst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::squad_order_drive_armies_from_sitest: + generate_squad_order_drive_armies_from_sitest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::squad_order_drive_entity_off_sitest: + generate_squad_order_drive_entity_off_sitest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::squad_order_kill_hfst: + generate_squad_order_kill_hfst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::squad_order_kill_listst: + generate_squad_order_kill_listst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::squad_order_movest: + generate_squad_order_movest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::squad_order_patrol_routest: + generate_squad_order_patrol_routest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::squad_order_raid_sitest: + generate_squad_order_raid_sitest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::squad_order_rescue_hfst: + generate_squad_order_rescue_hfst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::squad_order_retrieve_artifactst: + generate_squad_order_retrieve_artifactst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::squad_order_trainst: + generate_squad_order_trainst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::squad_position: + generate_squad_position_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::squad_schedule_entry: + generate_squad_schedule_entry_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::squad_schedule_order: + generate_squad_schedule_order_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::squad_uniform_spec: + generate_squad_uniform_spec_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::stockpile_links: + generate_stockpile_links_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::stockpile_settings: + generate_stockpile_settings_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::stockpile_settings__T_ammo: + generate_stockpile_settings__T_ammo_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::stockpile_settings__T_animals: + generate_stockpile_settings__T_animals_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::stockpile_settings__T_armor: + generate_stockpile_settings__T_armor_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::stockpile_settings__T_bars_blocks: + generate_stockpile_settings__T_bars_blocks_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::stockpile_settings__T_cloth: + generate_stockpile_settings__T_cloth_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::stockpile_settings__T_coins: + generate_stockpile_settings__T_coins_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::stockpile_settings__T_finished_goods: + generate_stockpile_settings__T_finished_goods_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::stockpile_settings__T_food: + generate_stockpile_settings__T_food_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::stockpile_settings__T_furniture: + generate_stockpile_settings__T_furniture_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::stockpile_settings__T_gems: + generate_stockpile_settings__T_gems_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::stockpile_settings__T_leather: + generate_stockpile_settings__T_leather_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::stockpile_settings__T_ore: + generate_stockpile_settings__T_ore_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::stockpile_settings__T_refuse: + generate_stockpile_settings__T_refuse_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::stockpile_settings__T_sheet: + generate_stockpile_settings__T_sheet_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::stockpile_settings__T_stone: + generate_stockpile_settings__T_stone_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::stockpile_settings__T_weapons: + generate_stockpile_settings__T_weapons_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::stockpile_settings__T_wood: + generate_stockpile_settings__T_wood_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::stop_depart_condition: + generate_stop_depart_condition_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::syndrome: + generate_syndrome_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::T_cursor: + generate_T_cursor_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::T_selection_rect: + generate_T_selection_rect_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::talk_choice: + generate_talk_choice_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::talk_choice__T_unk: + generate_talk_choice__T_unk_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::temperaturest: + generate_temperaturest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::text_info_element_longst: + generate_text_info_element_longst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::text_info_element_stringst: + generate_text_info_element_stringst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::text_info_elementst: + generate_text_info_elementst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::texture_handler: + generate_texture_handler_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::tile_bitmask: + generate_tile_bitmask_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::tile_page: + generate_tile_page_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::timed_event: + generate_timed_event_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::tissue: + generate_tissue_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::tissue_style_raw: + generate_tissue_style_raw_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::tissue_template: + generate_tissue_template_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::training_assignment: + generate_training_assignment_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::ui: + generate_ui_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::ui__T_alerts: + generate_ui__T_alerts_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::ui__T_alerts__T_list: + generate_ui__T_alerts__T_list_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::ui__T_becoming_capital: + generate_ui__T_becoming_capital_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::ui__T_burrows: + generate_ui__T_burrows_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::ui__T_economy_prices: + generate_ui__T_economy_prices_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::ui__T_economy_prices__T_price_adjustment: + generate_ui__T_economy_prices__T_price_adjustment_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::ui__T_economy_prices__T_price_setter: + generate_ui__T_economy_prices__T_price_setter_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::ui__T_equipment: + generate_ui__T_equipment_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::ui__T_hauling: + generate_ui__T_hauling_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::ui__T_invasions: + generate_ui__T_invasions_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::ui__T_kitchen: + generate_ui__T_kitchen_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::ui__T_main: + generate_ui__T_main_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::ui__T_main__T_dead_citizens: + generate_ui__T_main__T_dead_citizens_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::ui__T_map_edge: + generate_ui__T_map_edge_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::ui__T_squads: + generate_ui__T_squads_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::ui__T_stockpile: + generate_ui__T_stockpile_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::ui__T_tax_collection: + generate_ui__T_tax_collection_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::ui__T_unk2a8c: + generate_ui__T_unk2a8c_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::ui__T_waypoints: + generate_ui__T_waypoints_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::ui__T_waypoints__T_points: + generate_ui__T_waypoints__T_points_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::ui__T_waypoints__T_routes: + generate_ui__T_waypoints__T_routes_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::ui_advmode: + generate_ui_advmode_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::ui_advmode__T_assume_identity: + generate_ui_advmode__T_assume_identity_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::ui_advmode__T_companions: + generate_ui_advmode__T_companions_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::ui_advmode__T_conversation: + generate_ui_advmode__T_conversation_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::ui_advmode__T_conversation__T_choices: + generate_ui_advmode__T_conversation__T_choices_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::ui_advmode__T_conversation__T_targets: + generate_ui_advmode__T_conversation__T_targets_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::ui_advmode__T_interactions: + generate_ui_advmode__T_interactions_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::ui_advmode__T_unk_3124: + generate_ui_advmode__T_unk_3124_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::ui_advmode__T_unk_3170: + generate_ui_advmode__T_unk_3170_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::ui_advmode__T_unk_3170__T_unk_2: + generate_ui_advmode__T_unk_3170__T_unk_2_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::ui_advmode__T_unk_v40_1: + generate_ui_advmode__T_unk_v40_1_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::ui_advmode__T_unk_v40_2: + generate_ui_advmode__T_unk_v40_2_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::ui_advmode__T_unk_v40_3: + generate_ui_advmode__T_unk_v40_3_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::ui_advmode__T_unk_v40_4: + generate_ui_advmode__T_unk_v40_4_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::ui_advmode__T_unk_v40_4__T_unk_v40_4a: + generate_ui_advmode__T_unk_v40_4__T_unk_v40_4a_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::ui_advmode__T_unk_v40_5: + generate_ui_advmode__T_unk_v40_5_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::ui_advmode__T_unk_v42_1: + generate_ui_advmode__T_unk_v42_1_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::ui_build_item_req: + generate_ui_build_item_req_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::ui_build_selector: + generate_ui_build_selector_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::ui_hotkey: + generate_ui_hotkey_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::ui_look_list: + generate_ui_look_list_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::ui_look_list__T_items: + generate_ui_look_list__T_items_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::ui_sidebar_menus: + generate_ui_sidebar_menus_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::ui_sidebar_menus__T_barracks: + generate_ui_sidebar_menus__T_barracks_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::ui_sidebar_menus__T_building: + generate_ui_sidebar_menus__T_building_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::ui_sidebar_menus__T_command_line: + generate_ui_sidebar_menus__T_command_line_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::ui_sidebar_menus__T_designation: + generate_ui_sidebar_menus__T_designation_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::ui_sidebar_menus__T_hospital: + generate_ui_sidebar_menus__T_hospital_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::ui_sidebar_menus__T_job_details: + generate_ui_sidebar_menus__T_job_details_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::ui_sidebar_menus__T_location: + generate_ui_sidebar_menus__T_location_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::ui_sidebar_menus__T_minimap: + generate_ui_sidebar_menus__T_minimap_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::ui_sidebar_menus__T_unit: + generate_ui_sidebar_menus__T_unit_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::ui_sidebar_menus__T_unit_cursor: + generate_ui_sidebar_menus__T_unit_cursor_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::ui_sidebar_menus__T_unit_skills: + generate_ui_sidebar_menus__T_unit_skills_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::ui_sidebar_menus__T_workshop_job: + generate_ui_sidebar_menus__T_workshop_job_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::ui_sidebar_menus__T_zone: + generate_ui_sidebar_menus__T_zone_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::ui_unit_view_mode: + generate_ui_unit_view_mode_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit: + generate_unit_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit__T_animal: + generate_unit__T_animal_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit__T_appearance: + generate_unit__T_appearance_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit__T_body: + generate_unit__T_body_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit__T_counters: + generate_unit__T_counters_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit__T_counters2: + generate_unit__T_counters2_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit__T_curse: + generate_unit__T_curse_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit__T_enemy: + generate_unit__T_enemy_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit__T_enemy__T_undead: + generate_unit__T_enemy__T_undead_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit__T_enemy__T_unk_448: + generate_unit__T_enemy__T_unk_448_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit__T_enemy__T_unk_448__T_unk: + generate_unit__T_enemy__T_unk_448__T_unk_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit__T_enemy__T_unk_44c: + generate_unit__T_enemy__T_unk_44c_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit__T_enemy__T_unk_v40_sub3: + generate_unit__T_enemy__T_unk_v40_sub3_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_2: + generate_unit__T_enemy__T_unk_v40_sub3__T_unk_2_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_6: + generate_unit__T_enemy__T_unk_v40_sub3__T_unk_6_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7: + generate_unit__T_enemy__T_unk_v40_sub3__T_unk_7_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit__T_enemy__T_unk_v40_sub3__T_unk_7__T_unk_sub1: + generate_unit__T_enemy__T_unk_v40_sub3__T_unk_7__T_unk_sub1_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit__T_enemy__T_witness_reports: + generate_unit__T_enemy__T_witness_reports_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit__T_job: + generate_unit__T_job_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit__T_meeting: + generate_unit__T_meeting_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit__T_military: + generate_unit__T_military_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit__T_opponent: + generate_unit__T_opponent_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit__T_path: + generate_unit__T_path_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit__T_reports: + generate_unit__T_reports_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit__T_status: + generate_unit__T_status_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit__T_status2: + generate_unit__T_status2_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit__T_status__T_eat_history: + generate_unit__T_status__T_eat_history_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit__T_status__T_eat_history__T_drink: + generate_unit__T_status__T_eat_history__T_drink_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit__T_status__T_eat_history__T_food: + generate_unit__T_status__T_eat_history__T_food_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit__T_syndromes: + generate_unit__T_syndromes_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit__T_unknown7: + generate_unit__T_unknown7_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_action: + generate_unit_action_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_action__T_data: + generate_unit_action__T_data_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_action__T_data__T_attack: + generate_unit_action__T_data__T_attack_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_action__T_data__T_attack__T_unk_4: + generate_unit_action__T_data__T_attack__T_unk_4_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_action__T_data__T_block: + generate_unit_action__T_data__T_block_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_action__T_data__T_climb: + generate_unit_action__T_data__T_climb_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_action__T_data__T_dodge: + generate_unit_action__T_data__T_dodge_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_action__T_data__T_holditem: + generate_unit_action__T_data__T_holditem_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_action__T_data__T_holdterrain: + generate_unit_action__T_data__T_holdterrain_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_action__T_data__T_job: + generate_unit_action__T_data__T_job_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_action__T_data__T_job2: + generate_unit_action__T_data__T_job2_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_action__T_data__T_jump: + generate_unit_action__T_data__T_jump_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_action__T_data__T_liedown: + generate_unit_action__T_data__T_liedown_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_action__T_data__T_move: + generate_unit_action__T_data__T_move_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_action__T_data__T_parry: + generate_unit_action__T_data__T_parry_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_action__T_data__T_pushobject: + generate_unit_action__T_data__T_pushobject_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_action__T_data__T_recover: + generate_unit_action__T_data__T_recover_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_action__T_data__T_releaseitem: + generate_unit_action__T_data__T_releaseitem_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_action__T_data__T_releaseterrain: + generate_unit_action__T_data__T_releaseterrain_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_action__T_data__T_standup: + generate_unit_action__T_data__T_standup_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_action__T_data__T_suckblood: + generate_unit_action__T_data__T_suckblood_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_action__T_data__T_talk: + generate_unit_action__T_data__T_talk_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_action__T_data__T_unsteady: + generate_unit_action__T_data__T_unsteady_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_appearance: + generate_unit_appearance_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_attribute: + generate_unit_attribute_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_chunk: + generate_unit_chunk_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_chunk__T_units: + generate_unit_chunk__T_units_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_coin_debt: + generate_unit_coin_debt_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_complaint: + generate_unit_complaint_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_dance_skill: + generate_unit_dance_skill_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_demand: + generate_unit_demand_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_emotion_memory: + generate_unit_emotion_memory_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_genes: + generate_unit_genes_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_ghost_info: + generate_unit_ghost_info_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_ghost_info__T_target: + generate_unit_ghost_info__T_target_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_health_info: + generate_unit_health_info_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_health_info__T_op_history: + generate_unit_health_info__T_op_history_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_health_info__T_op_history__T_info: + generate_unit_health_info__T_op_history__T_info_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_health_info__T_op_history__T_info__T_bandage: + generate_unit_health_info__T_op_history__T_info__T_bandage_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_health_info__T_op_history__T_info__T_crutch: + generate_unit_health_info__T_op_history__T_info__T_crutch_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_instrument_skill: + generate_unit_instrument_skill_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_inventory_item: + generate_unit_inventory_item_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_item_use: + generate_unit_item_use_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_item_wrestle: + generate_unit_item_wrestle_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_misc_trait: + generate_unit_misc_trait_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_musical_skill: + generate_unit_musical_skill_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_personality: + generate_unit_personality_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_personality__T_dreams: + generate_unit_personality__T_dreams_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_personality__T_emotions: + generate_unit_personality__T_emotions_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_personality__T_memories: + generate_unit_personality__T_memories_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_personality__T_memories__T_reflected_on: + generate_unit_personality__T_memories__T_reflected_on_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_personality__T_needs: + generate_unit_personality__T_needs_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_personality__T_unk5: + generate_unit_personality__T_unk5_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_personality__T_unk_v40_2: + generate_unit_personality__T_unk_v40_2_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_personality__T_unk_v40_6: + generate_unit_personality__T_unk_v40_6_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_personality__T_values: + generate_unit_personality__T_values_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_poetic_skill: + generate_unit_poetic_skill_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_preference: + generate_unit_preference_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_request: + generate_unit_request_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_skill: + generate_unit_skill_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_soul: + generate_unit_soul_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_soul__T_performance_skills: + generate_unit_soul__T_performance_skills_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_storage_status: + generate_unit_storage_status_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_syndrome: + generate_unit_syndrome_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_syndrome__T_symptoms: + generate_unit_syndrome__T_symptoms_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_unk_138: + generate_unit_unk_138_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_wound: + generate_unit_wound_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::unit_wound__T_parts: + generate_unit_wound__T_parts_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::vehicle: + generate_vehicle_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::vermin: + generate_vermin_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen: + generate_viewscreen_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_adopt_regionst: + generate_viewscreen_adopt_regionst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_adventure_logst: + generate_viewscreen_adventure_logst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_announcelistst: + generate_viewscreen_announcelistst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_assign_display_itemst: + generate_viewscreen_assign_display_itemst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_barterst: + generate_viewscreen_barterst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_buildinglistst: + generate_viewscreen_buildinglistst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_buildingst: + generate_viewscreen_buildingst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_choose_start_sitest: + generate_viewscreen_choose_start_sitest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_choose_start_sitest__T_finder: + generate_viewscreen_choose_start_sitest__T_finder_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_civlistst: + generate_viewscreen_civlistst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_civlistst__T_artifact_details: + generate_viewscreen_civlistst__T_artifact_details_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_civlistst__T_rumors: + generate_viewscreen_civlistst__T_rumors_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_civlistst__T_unk_cache: + generate_viewscreen_civlistst__T_unk_cache_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_civlistst__T_unk_cache__T_tmp1: + generate_viewscreen_civlistst__T_unk_cache__T_tmp1_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_civlistst__T_unk_cache__T_tmp2: + generate_viewscreen_civlistst__T_unk_cache__T_tmp2_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_createquotast: + generate_viewscreen_createquotast_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_customize_unitst: + generate_viewscreen_customize_unitst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_dungeon_monsterstatusst: + generate_viewscreen_dungeon_monsterstatusst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_dungeon_wrestlest: + generate_viewscreen_dungeon_wrestlest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_dungeon_wrestlest__T_unk1: + generate_viewscreen_dungeon_wrestlest__T_unk1_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_dungeonmodest: + generate_viewscreen_dungeonmodest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_dwarfmodest: + generate_viewscreen_dwarfmodest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_entityst: + generate_viewscreen_entityst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_export_graphical_mapst: + generate_viewscreen_export_graphical_mapst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_export_regionst: + generate_viewscreen_export_regionst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_export_regionst__T_unk1: + generate_viewscreen_export_regionst__T_unk1_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_game_cleanerst: + generate_viewscreen_game_cleanerst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_image_creatorst: + generate_viewscreen_image_creatorst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_image_creatorst__T_artifacts: + generate_viewscreen_image_creatorst__T_artifacts_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_image_creatorst__T_descriptions: + generate_viewscreen_image_creatorst__T_descriptions_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_image_creatorst__T_entities: + generate_viewscreen_image_creatorst__T_entities_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_image_creatorst__T_objects: + generate_viewscreen_image_creatorst__T_objects_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_image_creatorst__T_plants: + generate_viewscreen_image_creatorst__T_plants_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_image_creatorst__T_shapes: + generate_viewscreen_image_creatorst__T_shapes_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_image_creatorst__T_sites: + generate_viewscreen_image_creatorst__T_sites_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_image_creatorst__T_trees: + generate_viewscreen_image_creatorst__T_trees_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_itemst: + generate_viewscreen_itemst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_joblistst: + generate_viewscreen_joblistst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_jobmanagementst: + generate_viewscreen_jobmanagementst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_jobst: + generate_viewscreen_jobst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_justicest: + generate_viewscreen_justicest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_kitchenprefst: + generate_viewscreen_kitchenprefst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_layer: + generate_viewscreen_layer_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_layer_arena_creaturest: + generate_viewscreen_layer_arena_creaturest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_layer_assigntradest: + generate_viewscreen_layer_assigntradest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_layer_choose_language_namest: + generate_viewscreen_layer_choose_language_namest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_layer_currencyst: + generate_viewscreen_layer_currencyst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_layer_export_play_mapst: + generate_viewscreen_layer_export_play_mapst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_layer_militaryst: + generate_viewscreen_layer_militaryst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_layer_militaryst__T_ammo: + generate_viewscreen_layer_militaryst__T_ammo_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_layer_militaryst__T_ammo__T_add_item: + generate_viewscreen_layer_militaryst__T_ammo__T_add_item_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_layer_militaryst__T_ammo__T_material: + generate_viewscreen_layer_militaryst__T_ammo__T_material_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_layer_militaryst__T_equip: + generate_viewscreen_layer_militaryst__T_equip_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_layer_militaryst__T_equip__T_add_item: + generate_viewscreen_layer_militaryst__T_equip__T_add_item_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_layer_militaryst__T_equip__T_assigned: + generate_viewscreen_layer_militaryst__T_equip__T_assigned_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_layer_militaryst__T_equip__T_color: + generate_viewscreen_layer_militaryst__T_equip__T_color_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_layer_militaryst__T_equip__T_material: + generate_viewscreen_layer_militaryst__T_equip__T_material_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_layer_militaryst__T_equip__T_uniform: + generate_viewscreen_layer_militaryst__T_equip__T_uniform_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_layer_militaryst__T_positions: + generate_viewscreen_layer_militaryst__T_positions_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_layer_militaryst__T_squad_members: + generate_viewscreen_layer_militaryst__T_squad_members_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_layer_militaryst__T_squads: + generate_viewscreen_layer_militaryst__T_squads_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_layer_musicsoundst: + generate_viewscreen_layer_musicsoundst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_layer_noblelistst: + generate_viewscreen_layer_noblelistst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_layer_noblelistst__T_candidates: + generate_viewscreen_layer_noblelistst__T_candidates_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_layer_noblelistst__T_info: + generate_viewscreen_layer_noblelistst__T_info_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_layer_overall_healthst: + generate_viewscreen_layer_overall_healthst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_layer_reactionst: + generate_viewscreen_layer_reactionst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_layer_squad_schedulest: + generate_viewscreen_layer_squad_schedulest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_layer_stockpilest: + generate_viewscreen_layer_stockpilest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_layer_stone_restrictionst: + generate_viewscreen_layer_stone_restrictionst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_layer_unit_actionst: + generate_viewscreen_layer_unit_actionst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_layer_unit_healthst: + generate_viewscreen_layer_unit_healthst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_layer_unit_relationshipst: + generate_viewscreen_layer_unit_relationshipst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_layer_world_gen_param_presetst: + generate_viewscreen_layer_world_gen_param_presetst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_layer_world_gen_paramst: + generate_viewscreen_layer_world_gen_paramst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_layer_world_gen_paramst__T_unk1: + generate_viewscreen_layer_world_gen_paramst__T_unk1_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_legendsst: + generate_viewscreen_legendsst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_legendsst__T_anon_7: + generate_viewscreen_legendsst__T_anon_7_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_legendsst__T_anon_7__T_anon_3: + generate_viewscreen_legendsst__T_anon_7__T_anon_3_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_loadgamest: + generate_viewscreen_loadgamest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_locationsst: + generate_viewscreen_locationsst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_meetingst: + generate_viewscreen_meetingst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_movieplayerst: + generate_viewscreen_movieplayerst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_new_regionst: + generate_viewscreen_new_regionst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_noblest: + generate_viewscreen_noblest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_optionst: + generate_viewscreen_optionst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_overallstatusst: + generate_viewscreen_overallstatusst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_petitionsst: + generate_viewscreen_petitionsst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_petst: + generate_viewscreen_petst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_petst__T_animal: + generate_viewscreen_petst__T_animal_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_pricest: + generate_viewscreen_pricest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_reportlistst: + generate_viewscreen_reportlistst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_requestagreementst: + generate_viewscreen_requestagreementst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_savegamest: + generate_viewscreen_savegamest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_selectitemst: + generate_viewscreen_selectitemst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_setupadventurest: + generate_viewscreen_setupadventurest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_setupadventurest__T_races_info: + generate_viewscreen_setupadventurest__T_races_info_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_setupdwarfgamest: + generate_viewscreen_setupdwarfgamest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_setupdwarfgamest__T_animals: + generate_viewscreen_setupdwarfgamest__T_animals_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_setupdwarfgamest__T_unk_v43: + generate_viewscreen_setupdwarfgamest__T_unk_v43_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_setupdwarfgamest__T_unk_v43__T_unk_v43_sub9: + generate_viewscreen_setupdwarfgamest__T_unk_v43__T_unk_v43_sub9_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_storesst: + generate_viewscreen_storesst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_textviewerst: + generate_viewscreen_textviewerst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_textviewerst__T_formatted_text: + generate_viewscreen_textviewerst__T_formatted_text_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_titlest: + generate_viewscreen_titlest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_titlest__T_start_savegames: + generate_viewscreen_titlest__T_start_savegames_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_topicmeeting_fill_land_holder_positionsst: + generate_viewscreen_topicmeeting_fill_land_holder_positionsst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_topicmeeting_takerequestsst: + generate_viewscreen_topicmeeting_takerequestsst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_topicmeetingst: + generate_viewscreen_topicmeetingst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_tradeagreementst: + generate_viewscreen_tradeagreementst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_tradegoodsst: + generate_viewscreen_tradegoodsst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_tradelistst: + generate_viewscreen_tradelistst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_treasurelistst: + generate_viewscreen_treasurelistst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_unitlistst: + generate_viewscreen_unitlistst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_unitst: + generate_viewscreen_unitst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_update_regionst: + generate_viewscreen_update_regionst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_wagesst: + generate_viewscreen_wagesst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_workquota_conditionst: + generate_viewscreen_workquota_conditionst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_workquota_conditionst__T_traits: + generate_viewscreen_workquota_conditionst__T_traits_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_workquota_detailsst: + generate_viewscreen_workquota_detailsst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::viewscreen_workshop_profilest: + generate_viewscreen_workshop_profilest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::weapon_attack: + generate_weapon_attack_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::web_cluster: + generate_web_cluster_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::widget_menu: + generate_widget_menu_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::widget_textbox: + generate_widget_textbox_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::workshop_profile: + generate_workshop_profile_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world: + generate_world_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_activities: + generate_world__T_activities_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_agreements: + generate_world__T_agreements_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_arena_settings: + generate_world__T_arena_settings_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_arena_spawn: + generate_world__T_arena_spawn_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_arena_spawn__T_equipment: + generate_world__T_arena_spawn__T_equipment_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_arena_spawn__T_item_types: + generate_world__T_arena_spawn__T_item_types_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_armies: + generate_world__T_armies_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_army_controllers: + generate_world__T_army_controllers_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_army_tracking_info: + generate_world__T_army_tracking_info_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_artifacts: + generate_world__T_artifacts_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_belief_systems: + generate_world__T_belief_systems_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_crimes: + generate_world__T_crimes_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_cultural_identities: + generate_world__T_cultural_identities_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_cur_savegame: + generate_world__T_cur_savegame_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_dance_forms: + generate_world__T_dance_forms_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_enemy_status_cache: + generate_world__T_enemy_status_cache_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_entities: + generate_world__T_entities_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_features: + generate_world__T_features_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_flow_engine: + generate_world__T_flow_engine_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_flow_guides: + generate_world__T_flow_guides_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_formations: + generate_world__T_formations_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_identities: + generate_world__T_identities_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_incidents: + generate_world__T_incidents_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_interaction_instances: + generate_world__T_interaction_instances_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_items: + generate_world__T_items_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_languages: + generate_world__T_languages_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_map: + generate_world__T_map_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_map_extras: + generate_world__T_map_extras_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_math: + generate_world__T_math_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_math__T_approx: + generate_world__T_math__T_approx_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_musical_forms: + generate_world__T_musical_forms_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_nemesis: + generate_world__T_nemesis_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_occupations: + generate_world__T_occupations_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_pathfinder: + generate_world__T_pathfinder_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_pathfinder__T_boundary_heap: + generate_world__T_pathfinder__T_boundary_heap_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_plants: + generate_world__T_plants_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_poetic_forms: + generate_world__T_poetic_forms_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_profession_skills: + generate_world__T_profession_skills_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_rhythms: + generate_world__T_rhythms_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_scales: + generate_world__T_scales_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_schedules: + generate_world__T_schedules_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_squads: + generate_world__T_squads_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_status: + generate_world__T_status_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_status__T_slots: + generate_world__T_status__T_slots_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_stockpile: + generate_world__T_stockpile_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_stockpile__T_simple1: + generate_world__T_stockpile__T_simple1_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_stockpile__T_simple2: + generate_world__T_stockpile__T_simple2_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_stockpile__T_simple3: + generate_world__T_stockpile__T_simple3_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_units: + generate_world__T_units_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_unk_131ec0: + generate_world__T_unk_131ec0_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_unk_131ef0: + generate_world__T_unk_131ef0_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_unk_131ef0__T_unk_2: + generate_world__T_unk_131ef0__T_unk_2_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_unk_19325c: + generate_world__T_unk_19325c_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_unk_19325c__T_anon_1: + generate_world__T_unk_19325c__T_anon_1_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_unk_19325c__T_anon_2: + generate_world__T_unk_19325c__T_anon_2_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_unk_19325c__T_anon_3: + generate_world__T_unk_19325c__T_anon_3_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_unk_59dc4: + generate_world__T_unk_59dc4_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_unk_59dc4__T_unk1: + generate_world__T_unk_59dc4__T_unk1_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_unk_v40_6: + generate_world__T_unk_v40_6_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_vehicles: + generate_world__T_vehicles_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_vermin: + generate_world__T_vermin_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_worldgen: + generate_world__T_worldgen_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_worldgen__T_worldgen_parms: + generate_world__T_worldgen__T_worldgen_parms_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_worldgen_coord_buf: + generate_world__T_worldgen_coord_buf_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_worldgen_status: + generate_world__T_worldgen_status_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world__T_written_contents: + generate_world__T_written_contents_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_construction: + generate_world_construction_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_construction_bridgest: + generate_world_construction_bridgest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_construction_roadst: + generate_world_construction_roadst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_construction_square: + generate_world_construction_square_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_construction_square_bridgest: + generate_world_construction_square_bridgest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_construction_square_roadst: + generate_world_construction_square_roadst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_construction_square_tunnelst: + generate_world_construction_square_tunnelst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_construction_square_wallst: + generate_world_construction_square_wallst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_construction_tunnelst: + generate_world_construction_tunnelst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_construction_wallst: + generate_world_construction_wallst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_dat_summary: + generate_world_dat_summary_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_data: + generate_world_data_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_data__T_constructions: + generate_world_data__T_constructions_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_data__T_feature_map: + generate_world_data__T_feature_map_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_data__T_feature_map__T_features: + generate_world_data__T_feature_map__T_features_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_data__T_freakish_weather: + generate_world_data__T_freakish_weather_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_data__T_mountain_peaks: + generate_world_data__T_mountain_peaks_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_data__T_unk_150: + generate_world_data__T_unk_150_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_data__T_unk_150__T_unk_18: + generate_world_data__T_unk_150__T_unk_18_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_data__T_unk_150__T_unk_28: + generate_world_data__T_unk_150__T_unk_28_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_data__T_unk_150__T_unk_8: + generate_world_data__T_unk_150__T_unk_8_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_data__T_unk_170: + generate_world_data__T_unk_170_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_data__T_unk_170__T_unk_4: + generate_world_data__T_unk_170__T_unk_4_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_data__T_unk_274: + generate_world_data__T_unk_274_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_data__T_unk_274__T_unk_10: + generate_world_data__T_unk_274__T_unk_10_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_data__T_unk_482f8: + generate_world_data__T_unk_482f8_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_data__T_unk_b4: + generate_world_data__T_unk_b4_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_gen_param_basest: + generate_world_gen_param_basest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_gen_param_charst: + generate_world_gen_param_charst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_gen_param_memberst: + generate_world_gen_param_memberst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_gen_param_seedst: + generate_world_gen_param_seedst_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_gen_param_valuest: + generate_world_gen_param_valuest_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_geo_biome: + generate_world_geo_biome_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_geo_layer: + generate_world_geo_layer_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_history: + generate_world_history_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_history__T_event_collections: + generate_world_history__T_event_collections_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_landmass: + generate_world_landmass_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_object_data: + generate_world_object_data_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_object_data__T_offloaded_buildings: + generate_world_object_data__T_offloaded_buildings_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_object_data__T_offloaded_items: + generate_world_object_data__T_offloaded_items_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_object_data__T_unk_94: + generate_world_object_data__T_unk_94_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_population: + generate_world_population_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_population_ref: + generate_world_population_ref_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_raws: + generate_world_raws_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_raws__T_bodyglosses: + generate_world_raws__T_bodyglosses_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_raws__T_buildings: + generate_world_raws__T_buildings_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_raws__T_descriptors: + generate_world_raws__T_descriptors_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_raws__T_effects: + generate_world_raws__T_effects_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_raws__T_itemdefs: + generate_world_raws__T_itemdefs_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_raws__T_language: + generate_world_raws__T_language_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_raws__T_plants: + generate_world_raws__T_plants_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_raws__T_reactions: + generate_world_raws__T_reactions_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_raws__T_syndromes: + generate_world_raws__T_syndromes_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_region: + generate_world_region_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_region_details: + generate_world_region_details_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_region_details__T_edges: + generate_world_region_details__T_edges_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_region_details__T_rivers_horizontal: + generate_world_region_details__T_rivers_horizontal_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_region_details__T_rivers_vertical: + generate_world_region_details__T_rivers_vertical_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_region_feature: + generate_world_region_feature_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_river: + generate_world_river_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_site: + generate_world_site_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_site__T_subtype_info: + generate_world_site__T_subtype_info_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_site__T_unk_1: + generate_world_site__T_unk_1_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_site__T_unk_118: + generate_world_site__T_unk_118_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_site__T_unk_13c: + generate_world_site__T_unk_13c_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_site__T_unk_188: + generate_world_site__T_unk_188_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_site__T_unk_188__T_unk1: + generate_world_site__T_unk_188__T_unk1_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_site__T_unk_1__T_units: + generate_world_site__T_unk_1__T_units_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_site__T_unk_21c: + generate_world_site__T_unk_21c_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_site__T_unk_v40_2: + generate_world_site__T_unk_v40_2_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_site__T_unk_v40_4a: + generate_world_site__T_unk_v40_4a_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_site__T_unk_v40_4b: + generate_world_site__T_unk_v40_4b_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_site__T_unk_v40_4c: + generate_world_site__T_unk_v40_4c_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_site__T_unk_v40_4d: + generate_world_site__T_unk_v40_4d_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_site__T_unk_v40_4d__T_anon_2: + generate_world_site__T_unk_v40_4d__T_anon_2_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_site__T_unk_v43_2: + generate_world_site__T_unk_v43_2_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_site_inhabitant: + generate_world_site_inhabitant_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_site_realization: + generate_world_site_realization_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_site_realization__T_areas: + generate_world_site_realization__T_areas_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_site_realization__T_building_map: + generate_world_site_realization__T_building_map_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_site_realization__T_river_map: + generate_world_site_realization__T_river_map_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_site_realization__T_unk_193bc: + generate_world_site_realization__T_unk_193bc_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_site_realization__T_unk_193bc__T_unk_8: + generate_world_site_realization__T_unk_193bc__T_unk_8_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_site_realization__T_unk_55e8: + generate_world_site_realization__T_unk_55e8_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_site_realization__T_unk_55e8__T_unk_v40_2: + generate_world_site_realization__T_unk_55e8__T_unk_v40_2_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_site_unk130: + generate_world_site_unk130_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_site_unk130__T_unk_4: + generate_world_site_unk130__T_unk_4_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_underground_region: + generate_world_underground_region_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_unk_20: + generate_world_unk_20_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_unk_20__T_anon_7: + generate_world_unk_20__T_anon_7_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_unk_6c: + generate_world_unk_6c_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_unk_9c: + generate_world_unk_9c_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_unk_a8: + generate_world_unk_a8_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_unk_b4: + generate_world_unk_b4_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_unk_c0: + generate_world_unk_c0_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::world_unk_c0__T_anon_7: + generate_world_unk_c0__T_anon_7_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::wound_curse_info: + generate_wound_curse_info_offsets(nullptr, p_table.m_offsets); + break; + + case DF_Type::written_content: + generate_written_content_offsets(nullptr, p_table.m_offsets); + break; + + default: + break; + } +} + +std::size_t OffsetsCache::get_offset(DF_Type p_type, const std::string& p_field) + +{ + auto result = m_df_types_offset_table.find(p_type); + + if (result == m_df_types_offset_table.end()) + + { + auto new_table = new OffsetTable; + + fill_offsets(p_type, *new_table); + + m_df_types_offset_table[p_type] = *new_table; + } + + result = m_df_types_offset_table.find(p_type); + + auto offset_table = (*result).second; + + auto result2 = offset_table.m_offsets.find(p_field); + + if (result2 != offset_table.m_offsets.end()) + + { + return (*result2).second; + } + + throw "field not found"; + + return 0; } +} // namespace rdf diff --git a/dwarfexplorer/generated/polymorphic_factory.cpp b/dwarfexplorer/generated/polymorphic_factory.cpp index 90f468a..d8e3f18 100644 --- a/dwarfexplorer/generated/polymorphic_factory.cpp +++ b/dwarfexplorer/generated/polymorphic_factory.cpp @@ -1,2327 +1,2327 @@ -#include -#include "DF_Types.h" -#include "df_all.h" -#include "node.h" - - -using namespace rdf; - -DF_Type text_info_elementst_subtype(uint64_t p_address) -{ - void* void_ptr = (void*)p_address; - auto object_ptr = (df::text_info_elementst*)void_ptr; - - DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); - if (id != nullptr) - { - auto l_full_name = id->getFullName(); - if (l_full_name == "text_info_element_longst") - return DF_Type::text_info_element_longst; - if (l_full_name == "text_info_element_stringst") - return DF_Type::text_info_element_stringst; - } - return DF_Type::None; -} - -DF_Type adventure_optionst_subtype(uint64_t p_address) -{ - void* void_ptr = (void*)p_address; - auto object_ptr = (df::adventure_optionst*)void_ptr; - - DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); - if (id != nullptr) - { - auto l_full_name = id->getFullName(); - if (l_full_name == "adventure_option_eat_unit_contaminantst") - return DF_Type::adventure_option_eat_unit_contaminantst; - if (l_full_name == "adventure_option_eat_item_contaminantst") - return DF_Type::adventure_option_eat_item_contaminantst; - if (l_full_name == "adventure_option_view_contaminantst") - return DF_Type::adventure_option_view_contaminantst; - if (l_full_name == "adventure_environment_optionst") - return DF_Type::adventure_environment_optionst; - if (l_full_name == "adventure_environment_place_in_it_containerst") - return DF_Type::adventure_environment_place_in_it_containerst; - if (l_full_name == "adventure_environment_ingest_from_containerst") - return DF_Type::adventure_environment_ingest_from_containerst; - if (l_full_name == "adventure_environment_pickup_ignite_vegst") - return DF_Type::adventure_environment_pickup_ignite_vegst; - if (l_full_name == "adventure_environment_ingest_materialst") - return DF_Type::adventure_environment_ingest_materialst; - if (l_full_name == "adventure_environment_pickup_make_campfirest") - return DF_Type::adventure_environment_pickup_make_campfirest; - if (l_full_name == "adventure_environment_place_in_bld_containerst") - return DF_Type::adventure_environment_place_in_bld_containerst; - if (l_full_name == "adventure_environment_pickup_vermin_eventst") - return DF_Type::adventure_environment_pickup_vermin_eventst; - if (l_full_name == "adventure_environment_pickup_chop_treest") - return DF_Type::adventure_environment_pickup_chop_treest; - if (l_full_name == "adventure_environment_unit_suck_bloodst") - return DF_Type::adventure_environment_unit_suck_bloodst; - } - return DF_Type::None; -} - -DF_Type adventure_movement_optionst_subtype(uint64_t p_address) -{ - void* void_ptr = (void*)p_address; - auto object_ptr = (df::adventure_movement_optionst*)void_ptr; - - DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); - if (id != nullptr) - { - auto l_full_name = id->getFullName(); - if (l_full_name == "adventure_movement_release_hold_itemst") - return DF_Type::adventure_movement_release_hold_itemst; - if (l_full_name == "adventure_movement_release_hold_tilest") - return DF_Type::adventure_movement_release_hold_tilest; - if (l_full_name == "adventure_movement_attack_creaturest") - return DF_Type::adventure_movement_attack_creaturest; - if (l_full_name == "adventure_movement_hold_tilest") - return DF_Type::adventure_movement_hold_tilest; - if (l_full_name == "adventure_movement_movest") - return DF_Type::adventure_movement_movest; - if (l_full_name == "adventure_movement_climbst") - return DF_Type::adventure_movement_climbst; - if (l_full_name == "adventure_movement_hold_itemst") - return DF_Type::adventure_movement_hold_itemst; - if (l_full_name == "adventure_movement_building_interactst") - return DF_Type::adventure_movement_building_interactst; - if (l_full_name == "adventure_movement_item_interactst") - return DF_Type::adventure_movement_item_interactst; - if (l_full_name == "adventure_movement_item_interact_guidest") - return DF_Type::adventure_movement_item_interact_guidest; - if (l_full_name == "adventure_movement_item_interact_ridest") - return DF_Type::adventure_movement_item_interact_ridest; - if (l_full_name == "adventure_movement_item_interact_pushst") - return DF_Type::adventure_movement_item_interact_pushst; - } - return DF_Type::None; -} - -DF_Type adventure_item_interact_choicest_subtype(uint64_t p_address) -{ - void* void_ptr = (void*)p_address; - auto object_ptr = (df::adventure_item_interact_choicest*)void_ptr; - - DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); - if (id != nullptr) - { - auto l_full_name = id->getFullName(); - if (l_full_name == "adventure_item_interact_pull_outst") - return DF_Type::adventure_item_interact_pull_outst; - if (l_full_name == "adventure_item_interact_heat_from_tilest") - return DF_Type::adventure_item_interact_heat_from_tilest; - if (l_full_name == "adventure_item_interact_fill_from_containerst") - return DF_Type::adventure_item_interact_fill_from_containerst; - if (l_full_name == "adventure_item_interact_readst") - return DF_Type::adventure_item_interact_readst; - if (l_full_name == "adventure_item_interact_fill_with_materialst") - return DF_Type::adventure_item_interact_fill_with_materialst; - if (l_full_name == "adventure_item_interact_strugglest") - return DF_Type::adventure_item_interact_strugglest; - if (l_full_name == "adventure_item_interact_give_namest") - return DF_Type::adventure_item_interact_give_namest; - } - return DF_Type::None; -} - -DF_Type art_image_element_subtype(uint64_t p_address) -{ - void* void_ptr = (void*)p_address; - auto object_ptr = (df::art_image_element*)void_ptr; - - DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); - if (id != nullptr) - { - auto l_full_name = id->getFullName(); - if (l_full_name == "art_image_element_creaturest") - return DF_Type::art_image_element_creaturest; - if (l_full_name == "art_image_element_plantst") - return DF_Type::art_image_element_plantst; - if (l_full_name == "art_image_element_treest") - return DF_Type::art_image_element_treest; - if (l_full_name == "art_image_element_shapest") - return DF_Type::art_image_element_shapest; - if (l_full_name == "art_image_element_itemst") - return DF_Type::art_image_element_itemst; - } - return DF_Type::None; -} - -DF_Type art_image_property_subtype(uint64_t p_address) -{ - void* void_ptr = (void*)p_address; - auto object_ptr = (df::art_image_property*)void_ptr; - - DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); - if (id != nullptr) - { - auto l_full_name = id->getFullName(); - if (l_full_name == "art_image_property_transitive_verbst") - return DF_Type::art_image_property_transitive_verbst; - if (l_full_name == "art_image_property_intransitive_verbst") - return DF_Type::art_image_property_intransitive_verbst; - } - return DF_Type::None; -} - -DF_Type building_def_subtype(uint64_t p_address) -{ - void* void_ptr = (void*)p_address; - auto object_ptr = (df::building_def*)void_ptr; - - DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); - if (id != nullptr) - { - auto l_full_name = id->getFullName(); - if (l_full_name == "building_def_workshopst") - return DF_Type::building_def_workshopst; - if (l_full_name == "building_def_furnacest") - return DF_Type::building_def_furnacest; - } - return DF_Type::None; -} - -DF_Type building_subtype(uint64_t p_address) -{ - void* void_ptr = (void*)p_address; - auto object_ptr = (df::building*)void_ptr; - - DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); - if (id != nullptr) - { - auto l_full_name = id->getFullName(); - if (l_full_name == "building_stockpilest") - return DF_Type::building_stockpilest; - if (l_full_name == "building_civzonest") - return DF_Type::building_civzonest; - if (l_full_name == "building_actual") - return DF_Type::building_actual; - if (l_full_name == "building_furnacest") - return DF_Type::building_furnacest; - if (l_full_name == "building_workshopst") - return DF_Type::building_workshopst; - if (l_full_name == "building_animaltrapst") - return DF_Type::building_animaltrapst; - if (l_full_name == "building_archerytargetst") - return DF_Type::building_archerytargetst; - if (l_full_name == "building_armorstandst") - return DF_Type::building_armorstandst; - if (l_full_name == "building_bars_verticalst") - return DF_Type::building_bars_verticalst; - if (l_full_name == "building_bars_floorst") - return DF_Type::building_bars_floorst; - if (l_full_name == "building_bedst") - return DF_Type::building_bedst; - if (l_full_name == "building_bookcasest") - return DF_Type::building_bookcasest; - if (l_full_name == "building_boxst") - return DF_Type::building_boxst; - if (l_full_name == "building_bridgest") - return DF_Type::building_bridgest; - if (l_full_name == "building_cabinetst") - return DF_Type::building_cabinetst; - if (l_full_name == "building_cagest") - return DF_Type::building_cagest; - if (l_full_name == "building_chainst") - return DF_Type::building_chainst; - if (l_full_name == "building_chairst") - return DF_Type::building_chairst; - if (l_full_name == "building_coffinst") - return DF_Type::building_coffinst; - if (l_full_name == "building_constructionst") - return DF_Type::building_constructionst; - if (l_full_name == "building_display_furniturest") - return DF_Type::building_display_furniturest; - if (l_full_name == "building_doorst") - return DF_Type::building_doorst; - if (l_full_name == "building_farmplotst") - return DF_Type::building_farmplotst; - if (l_full_name == "building_floodgatest") - return DF_Type::building_floodgatest; - if (l_full_name == "building_grate_floorst") - return DF_Type::building_grate_floorst; - if (l_full_name == "building_grate_wallst") - return DF_Type::building_grate_wallst; - if (l_full_name == "building_hatchst") - return DF_Type::building_hatchst; - if (l_full_name == "building_hivest") - return DF_Type::building_hivest; - if (l_full_name == "building_instrumentst") - return DF_Type::building_instrumentst; - if (l_full_name == "building_nestst") - return DF_Type::building_nestst; - if (l_full_name == "building_nest_boxst") - return DF_Type::building_nest_boxst; - if (l_full_name == "building_roadst") - return DF_Type::building_roadst; - if (l_full_name == "building_road_dirtst") - return DF_Type::building_road_dirtst; - if (l_full_name == "building_road_pavedst") - return DF_Type::building_road_pavedst; - if (l_full_name == "building_shopst") - return DF_Type::building_shopst; - if (l_full_name == "building_siegeenginest") - return DF_Type::building_siegeenginest; - if (l_full_name == "building_slabst") - return DF_Type::building_slabst; - if (l_full_name == "building_statuest") - return DF_Type::building_statuest; - if (l_full_name == "building_supportst") - return DF_Type::building_supportst; - if (l_full_name == "building_tablest") - return DF_Type::building_tablest; - if (l_full_name == "building_traction_benchst") - return DF_Type::building_traction_benchst; - if (l_full_name == "building_tradedepotst") - return DF_Type::building_tradedepotst; - if (l_full_name == "building_trapst") - return DF_Type::building_trapst; - if (l_full_name == "building_wagonst") - return DF_Type::building_wagonst; - if (l_full_name == "building_weaponst") - return DF_Type::building_weaponst; - if (l_full_name == "building_weaponrackst") - return DF_Type::building_weaponrackst; - if (l_full_name == "building_wellst") - return DF_Type::building_wellst; - if (l_full_name == "building_windowst") - return DF_Type::building_windowst; - if (l_full_name == "building_window_glassst") - return DF_Type::building_window_glassst; - if (l_full_name == "building_window_gemst") - return DF_Type::building_window_gemst; - if (l_full_name == "building_axle_horizontalst") - return DF_Type::building_axle_horizontalst; - if (l_full_name == "building_axle_verticalst") - return DF_Type::building_axle_verticalst; - if (l_full_name == "building_gear_assemblyst") - return DF_Type::building_gear_assemblyst; - if (l_full_name == "building_windmillst") - return DF_Type::building_windmillst; - if (l_full_name == "building_water_wheelst") - return DF_Type::building_water_wheelst; - if (l_full_name == "building_screw_pumpst") - return DF_Type::building_screw_pumpst; - if (l_full_name == "building_rollersst") - return DF_Type::building_rollersst; - } - return DF_Type::None; -} - -DF_Type mental_picture_propertyst_subtype(uint64_t p_address) -{ - void* void_ptr = (void*)p_address; - auto object_ptr = (df::mental_picture_propertyst*)void_ptr; - - DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); - if (id != nullptr) - { - auto l_full_name = id->getFullName(); - if (l_full_name == "mental_picture_property_datest") - return DF_Type::mental_picture_property_datest; - if (l_full_name == "mental_picture_property_actionst") - return DF_Type::mental_picture_property_actionst; - if (l_full_name == "mental_picture_property_toolst") - return DF_Type::mental_picture_property_toolst; - if (l_full_name == "mental_picture_property_emotionst") - return DF_Type::mental_picture_property_emotionst; - if (l_full_name == "mental_picture_property_color_patternst") - return DF_Type::mental_picture_property_color_patternst; - if (l_full_name == "mental_picture_property_shapest") - return DF_Type::mental_picture_property_shapest; - if (l_full_name == "mental_picture_property_adjectivest") - return DF_Type::mental_picture_property_adjectivest; - if (l_full_name == "mental_picture_property_positionst") - return DF_Type::mental_picture_property_positionst; - if (l_full_name == "mental_picture_property_timest") - return DF_Type::mental_picture_property_timest; - } - return DF_Type::None; -} - -DF_Type mental_picture_elementst_subtype(uint64_t p_address) -{ - void* void_ptr = (void*)p_address; - auto object_ptr = (df::mental_picture_elementst*)void_ptr; - - DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); - if (id != nullptr) - { - auto l_full_name = id->getFullName(); - if (l_full_name == "mental_picture_element_hfst") - return DF_Type::mental_picture_element_hfst; - if (l_full_name == "mental_picture_element_sitest") - return DF_Type::mental_picture_element_sitest; - if (l_full_name == "mental_picture_element_regionst") - return DF_Type::mental_picture_element_regionst; - } - return DF_Type::None; -} - -DF_Type history_event_subtype(uint64_t p_address) -{ - void* void_ptr = (void*)p_address; - auto object_ptr = (df::history_event*)void_ptr; - - DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); - if (id != nullptr) - { - auto l_full_name = id->getFullName(); - if (l_full_name == "history_event_war_attacked_sitest") - return DF_Type::history_event_war_attacked_sitest; - if (l_full_name == "history_event_war_destroyed_sitest") - return DF_Type::history_event_war_destroyed_sitest; - if (l_full_name == "history_event_created_sitest") - return DF_Type::history_event_created_sitest; - if (l_full_name == "history_event_hist_figure_diedst") - return DF_Type::history_event_hist_figure_diedst; - if (l_full_name == "history_event_add_hf_entity_linkst") - return DF_Type::history_event_add_hf_entity_linkst; - if (l_full_name == "history_event_remove_hf_entity_linkst") - return DF_Type::history_event_remove_hf_entity_linkst; - if (l_full_name == "history_event_entity_expels_hfst") - return DF_Type::history_event_entity_expels_hfst; - if (l_full_name == "history_event_first_contactst") - return DF_Type::history_event_first_contactst; - if (l_full_name == "history_event_first_contact_failedst") - return DF_Type::history_event_first_contact_failedst; - if (l_full_name == "history_event_topicagreement_concludedst") - return DF_Type::history_event_topicagreement_concludedst; - if (l_full_name == "history_event_topicagreement_rejectedst") - return DF_Type::history_event_topicagreement_rejectedst; - if (l_full_name == "history_event_topicagreement_madest") - return DF_Type::history_event_topicagreement_madest; - if (l_full_name == "history_event_war_peace_acceptedst") - return DF_Type::history_event_war_peace_acceptedst; - if (l_full_name == "history_event_war_peace_rejectedst") - return DF_Type::history_event_war_peace_rejectedst; - if (l_full_name == "history_event_diplomat_lostst") - return DF_Type::history_event_diplomat_lostst; - if (l_full_name == "history_event_agreements_voidedst") - return DF_Type::history_event_agreements_voidedst; - if (l_full_name == "history_event_merchantst") - return DF_Type::history_event_merchantst; - if (l_full_name == "history_event_artifact_hiddenst") - return DF_Type::history_event_artifact_hiddenst; - if (l_full_name == "history_event_artifact_possessedst") - return DF_Type::history_event_artifact_possessedst; - if (l_full_name == "history_event_artifact_createdst") - return DF_Type::history_event_artifact_createdst; - if (l_full_name == "history_event_artifact_lostst") - return DF_Type::history_event_artifact_lostst; - if (l_full_name == "history_event_artifact_foundst") - return DF_Type::history_event_artifact_foundst; - if (l_full_name == "history_event_artifact_recoveredst") - return DF_Type::history_event_artifact_recoveredst; - if (l_full_name == "history_event_artifact_droppedst") - return DF_Type::history_event_artifact_droppedst; - if (l_full_name == "history_event_reclaim_sitest") - return DF_Type::history_event_reclaim_sitest; - if (l_full_name == "history_event_hf_destroyed_sitest") - return DF_Type::history_event_hf_destroyed_sitest; - if (l_full_name == "history_event_site_diedst") - return DF_Type::history_event_site_diedst; - if (l_full_name == "history_event_site_retiredst") - return DF_Type::history_event_site_retiredst; - if (l_full_name == "history_event_entity_createdst") - return DF_Type::history_event_entity_createdst; - if (l_full_name == "history_event_entity_actionst") - return DF_Type::history_event_entity_actionst; - if (l_full_name == "history_event_entity_incorporatedst") - return DF_Type::history_event_entity_incorporatedst; - if (l_full_name == "history_event_created_buildingst") - return DF_Type::history_event_created_buildingst; - if (l_full_name == "history_event_replaced_buildingst") - return DF_Type::history_event_replaced_buildingst; - if (l_full_name == "history_event_add_hf_site_linkst") - return DF_Type::history_event_add_hf_site_linkst; - if (l_full_name == "history_event_remove_hf_site_linkst") - return DF_Type::history_event_remove_hf_site_linkst; - if (l_full_name == "history_event_add_hf_hf_linkst") - return DF_Type::history_event_add_hf_hf_linkst; - if (l_full_name == "history_event_remove_hf_hf_linkst") - return DF_Type::history_event_remove_hf_hf_linkst; - if (l_full_name == "history_event_entity_razed_buildingst") - return DF_Type::history_event_entity_razed_buildingst; - if (l_full_name == "history_event_masterpiece_createdst") - return DF_Type::history_event_masterpiece_createdst; - if (l_full_name == "history_event_masterpiece_created_arch_designst") - return DF_Type::history_event_masterpiece_created_arch_designst; - if (l_full_name == "history_event_masterpiece_created_arch_constructst") - return DF_Type::history_event_masterpiece_created_arch_constructst; - if (l_full_name == "history_event_masterpiece_created_itemst") - return DF_Type::history_event_masterpiece_created_itemst; - if (l_full_name == "history_event_masterpiece_created_dye_itemst") - return DF_Type::history_event_masterpiece_created_dye_itemst; - if (l_full_name == "history_event_masterpiece_created_item_improvementst") - return DF_Type::history_event_masterpiece_created_item_improvementst; - if (l_full_name == "history_event_masterpiece_created_foodst") - return DF_Type::history_event_masterpiece_created_foodst; - if (l_full_name == "history_event_masterpiece_created_engravingst") - return DF_Type::history_event_masterpiece_created_engravingst; - if (l_full_name == "history_event_masterpiece_lostst") - return DF_Type::history_event_masterpiece_lostst; - if (l_full_name == "history_event_change_hf_statest") - return DF_Type::history_event_change_hf_statest; - if (l_full_name == "history_event_change_hf_jobst") - return DF_Type::history_event_change_hf_jobst; - if (l_full_name == "history_event_war_field_battlest") - return DF_Type::history_event_war_field_battlest; - if (l_full_name == "history_event_war_plundered_sitest") - return DF_Type::history_event_war_plundered_sitest; - if (l_full_name == "history_event_war_site_new_leaderst") - return DF_Type::history_event_war_site_new_leaderst; - if (l_full_name == "history_event_war_site_tribute_forcedst") - return DF_Type::history_event_war_site_tribute_forcedst; - if (l_full_name == "history_event_war_site_taken_overst") - return DF_Type::history_event_war_site_taken_overst; - if (l_full_name == "history_event_site_surrenderedst") - return DF_Type::history_event_site_surrenderedst; - if (l_full_name == "history_event_body_abusedst") - return DF_Type::history_event_body_abusedst; - if (l_full_name == "history_event_hist_figure_abductedst") - return DF_Type::history_event_hist_figure_abductedst; - if (l_full_name == "history_event_item_stolenst") - return DF_Type::history_event_item_stolenst; - if (l_full_name == "history_event_hf_razed_buildingst") - return DF_Type::history_event_hf_razed_buildingst; - if (l_full_name == "history_event_creature_devouredst") - return DF_Type::history_event_creature_devouredst; - if (l_full_name == "history_event_hist_figure_woundedst") - return DF_Type::history_event_hist_figure_woundedst; - if (l_full_name == "history_event_hist_figure_simple_battle_eventst") - return DF_Type::history_event_hist_figure_simple_battle_eventst; - if (l_full_name == "history_event_created_world_constructionst") - return DF_Type::history_event_created_world_constructionst; - if (l_full_name == "history_event_hist_figure_reunionst") - return DF_Type::history_event_hist_figure_reunionst; - if (l_full_name == "history_event_hist_figure_reach_summitst") - return DF_Type::history_event_hist_figure_reach_summitst; - if (l_full_name == "history_event_hist_figure_travelst") - return DF_Type::history_event_hist_figure_travelst; - if (l_full_name == "history_event_hist_figure_new_petst") - return DF_Type::history_event_hist_figure_new_petst; - if (l_full_name == "history_event_assume_identityst") - return DF_Type::history_event_assume_identityst; - if (l_full_name == "history_event_create_entity_positionst") - return DF_Type::history_event_create_entity_positionst; - if (l_full_name == "history_event_change_creature_typest") - return DF_Type::history_event_change_creature_typest; - if (l_full_name == "history_event_hist_figure_revivedst") - return DF_Type::history_event_hist_figure_revivedst; - if (l_full_name == "history_event_hf_learns_secretst") - return DF_Type::history_event_hf_learns_secretst; - if (l_full_name == "history_event_change_hf_body_statest") - return DF_Type::history_event_change_hf_body_statest; - if (l_full_name == "history_event_hf_act_on_buildingst") - return DF_Type::history_event_hf_act_on_buildingst; - if (l_full_name == "history_event_hf_does_interactionst") - return DF_Type::history_event_hf_does_interactionst; - if (l_full_name == "history_event_hf_confrontedst") - return DF_Type::history_event_hf_confrontedst; - if (l_full_name == "history_event_entity_lawst") - return DF_Type::history_event_entity_lawst; - if (l_full_name == "history_event_hf_gains_secret_goalst") - return DF_Type::history_event_hf_gains_secret_goalst; - if (l_full_name == "history_event_artifact_storedst") - return DF_Type::history_event_artifact_storedst; - if (l_full_name == "history_event_agreement_formedst") - return DF_Type::history_event_agreement_formedst; - if (l_full_name == "history_event_site_disputest") - return DF_Type::history_event_site_disputest; - if (l_full_name == "history_event_agreement_concludedst") - return DF_Type::history_event_agreement_concludedst; - if (l_full_name == "history_event_insurrection_startedst") - return DF_Type::history_event_insurrection_startedst; - if (l_full_name == "history_event_insurrection_endedst") - return DF_Type::history_event_insurrection_endedst; - if (l_full_name == "history_event_hf_attacked_sitest") - return DF_Type::history_event_hf_attacked_sitest; - if (l_full_name == "history_event_performancest") - return DF_Type::history_event_performancest; - if (l_full_name == "history_event_competitionst") - return DF_Type::history_event_competitionst; - if (l_full_name == "history_event_processionst") - return DF_Type::history_event_processionst; - if (l_full_name == "history_event_ceremonyst") - return DF_Type::history_event_ceremonyst; - if (l_full_name == "history_event_knowledge_discoveredst") - return DF_Type::history_event_knowledge_discoveredst; - if (l_full_name == "history_event_artifact_transformedst") - return DF_Type::history_event_artifact_transformedst; - if (l_full_name == "history_event_artifact_destroyedst") - return DF_Type::history_event_artifact_destroyedst; - if (l_full_name == "history_event_hf_relationship_deniedst") - return DF_Type::history_event_hf_relationship_deniedst; - if (l_full_name == "history_event_regionpop_incorporated_into_entityst") - return DF_Type::history_event_regionpop_incorporated_into_entityst; - if (l_full_name == "history_event_poetic_form_createdst") - return DF_Type::history_event_poetic_form_createdst; - if (l_full_name == "history_event_musical_form_createdst") - return DF_Type::history_event_musical_form_createdst; - if (l_full_name == "history_event_dance_form_createdst") - return DF_Type::history_event_dance_form_createdst; - if (l_full_name == "history_event_written_content_composedst") - return DF_Type::history_event_written_content_composedst; - if (l_full_name == "history_event_change_hf_moodst") - return DF_Type::history_event_change_hf_moodst; - if (l_full_name == "history_event_artifact_claim_formedst") - return DF_Type::history_event_artifact_claim_formedst; - if (l_full_name == "history_event_artifact_givenst") - return DF_Type::history_event_artifact_givenst; - if (l_full_name == "history_event_hf_act_on_artifactst") - return DF_Type::history_event_hf_act_on_artifactst; - if (l_full_name == "history_event_hf_recruited_unit_type_for_entityst") - return DF_Type::history_event_hf_recruited_unit_type_for_entityst; - if (l_full_name == "history_event_hfs_formed_reputation_relationshipst") - return DF_Type::history_event_hfs_formed_reputation_relationshipst; - if (l_full_name == "history_event_artifact_copiedst") - return DF_Type::history_event_artifact_copiedst; - if (l_full_name == "history_event_sneak_into_sitest") - return DF_Type::history_event_sneak_into_sitest; - if (l_full_name == "history_event_spotted_leaving_sitest") - return DF_Type::history_event_spotted_leaving_sitest; - if (l_full_name == "history_event_entity_searched_sitest") - return DF_Type::history_event_entity_searched_sitest; - if (l_full_name == "history_event_hf_freedst") - return DF_Type::history_event_hf_freedst; - if (l_full_name == "history_event_hist_figure_simple_actionst") - return DF_Type::history_event_hist_figure_simple_actionst; - if (l_full_name == "history_event_entity_rampaged_in_sitest") - return DF_Type::history_event_entity_rampaged_in_sitest; - if (l_full_name == "history_event_entity_fled_sitest") - return DF_Type::history_event_entity_fled_sitest; - if (l_full_name == "history_event_tactical_situationst") - return DF_Type::history_event_tactical_situationst; - if (l_full_name == "history_event_squad_vs_squadst") - return DF_Type::history_event_squad_vs_squadst; - } - return DF_Type::None; -} - -DF_Type history_event_collection_subtype(uint64_t p_address) -{ - void* void_ptr = (void*)p_address; - auto object_ptr = (df::history_event_collection*)void_ptr; - - DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); - if (id != nullptr) - { - auto l_full_name = id->getFullName(); - if (l_full_name == "history_event_collection_warst") - return DF_Type::history_event_collection_warst; - if (l_full_name == "history_event_collection_battlest") - return DF_Type::history_event_collection_battlest; - if (l_full_name == "history_event_collection_duelst") - return DF_Type::history_event_collection_duelst; - if (l_full_name == "history_event_collection_site_conqueredst") - return DF_Type::history_event_collection_site_conqueredst; - if (l_full_name == "history_event_collection_abductionst") - return DF_Type::history_event_collection_abductionst; - if (l_full_name == "history_event_collection_theftst") - return DF_Type::history_event_collection_theftst; - if (l_full_name == "history_event_collection_beast_attackst") - return DF_Type::history_event_collection_beast_attackst; - if (l_full_name == "history_event_collection_journeyst") - return DF_Type::history_event_collection_journeyst; - if (l_full_name == "history_event_collection_insurrectionst") - return DF_Type::history_event_collection_insurrectionst; - if (l_full_name == "history_event_collection_occasionst") - return DF_Type::history_event_collection_occasionst; - if (l_full_name == "history_event_collection_performancest") - return DF_Type::history_event_collection_performancest; - if (l_full_name == "history_event_collection_competitionst") - return DF_Type::history_event_collection_competitionst; - if (l_full_name == "history_event_collection_processionst") - return DF_Type::history_event_collection_processionst; - if (l_full_name == "history_event_collection_ceremonyst") - return DF_Type::history_event_collection_ceremonyst; - if (l_full_name == "history_event_collection_purgest") - return DF_Type::history_event_collection_purgest; - if (l_full_name == "history_event_collection_raidst") - return DF_Type::history_event_collection_raidst; - } - return DF_Type::None; -} - -DF_Type interaction_effect_subtype(uint64_t p_address) -{ - void* void_ptr = (void*)p_address; - auto object_ptr = (df::interaction_effect*)void_ptr; - - DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); - if (id != nullptr) - { - auto l_full_name = id->getFullName(); - if (l_full_name == "interaction_effect_animatest") - return DF_Type::interaction_effect_animatest; - if (l_full_name == "interaction_effect_add_syndromest") - return DF_Type::interaction_effect_add_syndromest; - if (l_full_name == "interaction_effect_resurrectst") - return DF_Type::interaction_effect_resurrectst; - if (l_full_name == "interaction_effect_cleanst") - return DF_Type::interaction_effect_cleanst; - if (l_full_name == "interaction_effect_contactst") - return DF_Type::interaction_effect_contactst; - if (l_full_name == "interaction_effect_material_emissionst") - return DF_Type::interaction_effect_material_emissionst; - if (l_full_name == "interaction_effect_hidest") - return DF_Type::interaction_effect_hidest; - } - return DF_Type::None; -} - -DF_Type interaction_source_subtype(uint64_t p_address) -{ - void* void_ptr = (void*)p_address; - auto object_ptr = (df::interaction_source*)void_ptr; - - DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); - if (id != nullptr) - { - auto l_full_name = id->getFullName(); - if (l_full_name == "interaction_source_regionst") - return DF_Type::interaction_source_regionst; - if (l_full_name == "interaction_source_secretst") - return DF_Type::interaction_source_secretst; - if (l_full_name == "interaction_source_disturbancest") - return DF_Type::interaction_source_disturbancest; - if (l_full_name == "interaction_source_deityst") - return DF_Type::interaction_source_deityst; - if (l_full_name == "interaction_source_attackst") - return DF_Type::interaction_source_attackst; - if (l_full_name == "interaction_source_ingestionst") - return DF_Type::interaction_source_ingestionst; - if (l_full_name == "interaction_source_creature_actionst") - return DF_Type::interaction_source_creature_actionst; - if (l_full_name == "interaction_source_underground_specialst") - return DF_Type::interaction_source_underground_specialst; - } - return DF_Type::None; -} - -DF_Type interaction_target_subtype(uint64_t p_address) -{ - void* void_ptr = (void*)p_address; - auto object_ptr = (df::interaction_target*)void_ptr; - - DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); - if (id != nullptr) - { - auto l_full_name = id->getFullName(); - if (l_full_name == "interaction_target_corpsest") - return DF_Type::interaction_target_corpsest; - if (l_full_name == "interaction_target_creaturest") - return DF_Type::interaction_target_creaturest; - if (l_full_name == "interaction_target_materialst") - return DF_Type::interaction_target_materialst; - if (l_full_name == "interaction_target_locationst") - return DF_Type::interaction_target_locationst; - } - return DF_Type::None; -} - -DF_Type itemdef_subtype(uint64_t p_address) -{ - void* void_ptr = (void*)p_address; - auto object_ptr = (df::itemdef*)void_ptr; - - DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); - if (id != nullptr) - { - auto l_full_name = id->getFullName(); - if (l_full_name == "itemdef_ammost") - return DF_Type::itemdef_ammost; - if (l_full_name == "itemdef_armorst") - return DF_Type::itemdef_armorst; - if (l_full_name == "itemdef_foodst") - return DF_Type::itemdef_foodst; - if (l_full_name == "itemdef_glovesst") - return DF_Type::itemdef_glovesst; - if (l_full_name == "itemdef_helmst") - return DF_Type::itemdef_helmst; - if (l_full_name == "itemdef_instrumentst") - return DF_Type::itemdef_instrumentst; - if (l_full_name == "itemdef_pantsst") - return DF_Type::itemdef_pantsst; - if (l_full_name == "itemdef_shieldst") - return DF_Type::itemdef_shieldst; - if (l_full_name == "itemdef_shoesst") - return DF_Type::itemdef_shoesst; - if (l_full_name == "itemdef_siegeammost") - return DF_Type::itemdef_siegeammost; - if (l_full_name == "itemdef_toolst") - return DF_Type::itemdef_toolst; - if (l_full_name == "itemdef_toyst") - return DF_Type::itemdef_toyst; - if (l_full_name == "itemdef_trapcompst") - return DF_Type::itemdef_trapcompst; - if (l_full_name == "itemdef_weaponst") - return DF_Type::itemdef_weaponst; - } - return DF_Type::None; -} - -DF_Type itemimprovement_subtype(uint64_t p_address) -{ - void* void_ptr = (void*)p_address; - auto object_ptr = (df::itemimprovement*)void_ptr; - - DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); - if (id != nullptr) - { - auto l_full_name = id->getFullName(); - if (l_full_name == "itemimprovement_art_imagest") - return DF_Type::itemimprovement_art_imagest; - if (l_full_name == "itemimprovement_coveredst") - return DF_Type::itemimprovement_coveredst; - if (l_full_name == "itemimprovement_rings_hangingst") - return DF_Type::itemimprovement_rings_hangingst; - if (l_full_name == "itemimprovement_bandsst") - return DF_Type::itemimprovement_bandsst; - if (l_full_name == "itemimprovement_spikesst") - return DF_Type::itemimprovement_spikesst; - if (l_full_name == "itemimprovement_itemspecificst") - return DF_Type::itemimprovement_itemspecificst; - if (l_full_name == "itemimprovement_threadst") - return DF_Type::itemimprovement_threadst; - if (l_full_name == "itemimprovement_clothst") - return DF_Type::itemimprovement_clothst; - if (l_full_name == "itemimprovement_sewn_imagest") - return DF_Type::itemimprovement_sewn_imagest; - if (l_full_name == "itemimprovement_pagesst") - return DF_Type::itemimprovement_pagesst; - if (l_full_name == "itemimprovement_illustrationst") - return DF_Type::itemimprovement_illustrationst; - if (l_full_name == "itemimprovement_instrument_piecest") - return DF_Type::itemimprovement_instrument_piecest; - if (l_full_name == "itemimprovement_writingst") - return DF_Type::itemimprovement_writingst; - } - return DF_Type::None; -} - -DF_Type spatter_common_subtype(uint64_t p_address) -{ - void* void_ptr = (void*)p_address; - auto object_ptr = (df::spatter_common*)void_ptr; - - if (static_cast(object_ptr) != nullptr) - return DF_Type::spatter; - return DF_Type::None; -} - -DF_Type item_subtype(uint64_t p_address) -{ - void* void_ptr = (void*)p_address; - auto object_ptr = (df::item*)void_ptr; - - DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); - if (id != nullptr) - { - auto l_full_name = id->getFullName(); - if (l_full_name == "item_actual") - return DF_Type::item_actual; - if (l_full_name == "item_crafted") - return DF_Type::item_crafted; - if (l_full_name == "item_constructed") - return DF_Type::item_constructed; - if (l_full_name == "item_doorst") - return DF_Type::item_doorst; - if (l_full_name == "item_floodgatest") - return DF_Type::item_floodgatest; - if (l_full_name == "item_bedst") - return DF_Type::item_bedst; - if (l_full_name == "item_chairst") - return DF_Type::item_chairst; - if (l_full_name == "item_chainst") - return DF_Type::item_chainst; - if (l_full_name == "item_flaskst") - return DF_Type::item_flaskst; - if (l_full_name == "item_gobletst") - return DF_Type::item_gobletst; - if (l_full_name == "item_windowst") - return DF_Type::item_windowst; - if (l_full_name == "item_cagest") - return DF_Type::item_cagest; - if (l_full_name == "item_bucketst") - return DF_Type::item_bucketst; - if (l_full_name == "item_animaltrapst") - return DF_Type::item_animaltrapst; - if (l_full_name == "item_tablest") - return DF_Type::item_tablest; - if (l_full_name == "item_coffinst") - return DF_Type::item_coffinst; - if (l_full_name == "item_boxst") - return DF_Type::item_boxst; - if (l_full_name == "item_armorstandst") - return DF_Type::item_armorstandst; - if (l_full_name == "item_weaponrackst") - return DF_Type::item_weaponrackst; - if (l_full_name == "item_cabinetst") - return DF_Type::item_cabinetst; - if (l_full_name == "item_amuletst") - return DF_Type::item_amuletst; - if (l_full_name == "item_scepterst") - return DF_Type::item_scepterst; - if (l_full_name == "item_crownst") - return DF_Type::item_crownst; - if (l_full_name == "item_ringst") - return DF_Type::item_ringst; - if (l_full_name == "item_earringst") - return DF_Type::item_earringst; - if (l_full_name == "item_braceletst") - return DF_Type::item_braceletst; - if (l_full_name == "item_anvilst") - return DF_Type::item_anvilst; - if (l_full_name == "item_backpackst") - return DF_Type::item_backpackst; - if (l_full_name == "item_quiverst") - return DF_Type::item_quiverst; - if (l_full_name == "item_catapultpartsst") - return DF_Type::item_catapultpartsst; - if (l_full_name == "item_ballistapartsst") - return DF_Type::item_ballistapartsst; - if (l_full_name == "item_trappartsst") - return DF_Type::item_trappartsst; - if (l_full_name == "item_pipe_sectionst") - return DF_Type::item_pipe_sectionst; - if (l_full_name == "item_hatch_coverst") - return DF_Type::item_hatch_coverst; - if (l_full_name == "item_gratest") - return DF_Type::item_gratest; - if (l_full_name == "item_quernst") - return DF_Type::item_quernst; - if (l_full_name == "item_millstonest") - return DF_Type::item_millstonest; - if (l_full_name == "item_splintst") - return DF_Type::item_splintst; - if (l_full_name == "item_crutchst") - return DF_Type::item_crutchst; - if (l_full_name == "item_traction_benchst") - return DF_Type::item_traction_benchst; - if (l_full_name == "item_instrumentst") - return DF_Type::item_instrumentst; - if (l_full_name == "item_toyst") - return DF_Type::item_toyst; - if (l_full_name == "item_armorst") - return DF_Type::item_armorst; - if (l_full_name == "item_shoesst") - return DF_Type::item_shoesst; - if (l_full_name == "item_shieldst") - return DF_Type::item_shieldst; - if (l_full_name == "item_helmst") - return DF_Type::item_helmst; - if (l_full_name == "item_glovesst") - return DF_Type::item_glovesst; - if (l_full_name == "item_pantsst") - return DF_Type::item_pantsst; - if (l_full_name == "item_siegeammost") - return DF_Type::item_siegeammost; - if (l_full_name == "item_weaponst") - return DF_Type::item_weaponst; - if (l_full_name == "item_ammost") - return DF_Type::item_ammost; - if (l_full_name == "item_trapcompst") - return DF_Type::item_trapcompst; - if (l_full_name == "item_toolst") - return DF_Type::item_toolst; - if (l_full_name == "item_barrelst") - return DF_Type::item_barrelst; - if (l_full_name == "item_binst") - return DF_Type::item_binst; - if (l_full_name == "item_gemst") - return DF_Type::item_gemst; - if (l_full_name == "item_statuest") - return DF_Type::item_statuest; - if (l_full_name == "item_figurinest") - return DF_Type::item_figurinest; - if (l_full_name == "item_slabst") - return DF_Type::item_slabst; - if (l_full_name == "item_orthopedic_castst") - return DF_Type::item_orthopedic_castst; - if (l_full_name == "item_coinst") - return DF_Type::item_coinst; - if (l_full_name == "item_totemst") - return DF_Type::item_totemst; - if (l_full_name == "item_clothst") - return DF_Type::item_clothst; - if (l_full_name == "item_bookst") - return DF_Type::item_bookst; - if (l_full_name == "item_sheetst") - return DF_Type::item_sheetst; - if (l_full_name == "item_foodst") - return DF_Type::item_foodst; - if (l_full_name == "item_body_component") - return DF_Type::item_body_component; - if (l_full_name == "item_corpsest") - return DF_Type::item_corpsest; - if (l_full_name == "item_corpsepiecest") - return DF_Type::item_corpsepiecest; - if (l_full_name == "item_critter") - return DF_Type::item_critter; - if (l_full_name == "item_verminst") - return DF_Type::item_verminst; - if (l_full_name == "item_petst") - return DF_Type::item_petst; - if (l_full_name == "item_liquipowder") - return DF_Type::item_liquipowder; - if (l_full_name == "item_liquid") - return DF_Type::item_liquid; - if (l_full_name == "item_drinkst") - return DF_Type::item_drinkst; - if (l_full_name == "item_liquid_miscst") - return DF_Type::item_liquid_miscst; - if (l_full_name == "item_powder") - return DF_Type::item_powder; - if (l_full_name == "item_powder_miscst") - return DF_Type::item_powder_miscst; - if (l_full_name == "item_barst") - return DF_Type::item_barst; - if (l_full_name == "item_smallgemst") - return DF_Type::item_smallgemst; - if (l_full_name == "item_blocksst") - return DF_Type::item_blocksst; - if (l_full_name == "item_roughst") - return DF_Type::item_roughst; - if (l_full_name == "item_boulderst") - return DF_Type::item_boulderst; - if (l_full_name == "item_woodst") - return DF_Type::item_woodst; - if (l_full_name == "item_branchst") - return DF_Type::item_branchst; - if (l_full_name == "item_rockst") - return DF_Type::item_rockst; - if (l_full_name == "item_seedsst") - return DF_Type::item_seedsst; - if (l_full_name == "item_skin_tannedst") - return DF_Type::item_skin_tannedst; - if (l_full_name == "item_meatst") - return DF_Type::item_meatst; - if (l_full_name == "item_plantst") - return DF_Type::item_plantst; - if (l_full_name == "item_plant_growthst") - return DF_Type::item_plant_growthst; - if (l_full_name == "item_cheesest") - return DF_Type::item_cheesest; - if (l_full_name == "item_globst") - return DF_Type::item_globst; - if (l_full_name == "item_remainsst") - return DF_Type::item_remainsst; - if (l_full_name == "item_fishst") - return DF_Type::item_fishst; - if (l_full_name == "item_fish_rawst") - return DF_Type::item_fish_rawst; - if (l_full_name == "item_threadst") - return DF_Type::item_threadst; - if (l_full_name == "item_eggst") - return DF_Type::item_eggst; - if (l_full_name == "item_ballistaarrowheadst") - return DF_Type::item_ballistaarrowheadst; - } - return DF_Type::None; -} - -DF_Type machine_subtype(uint64_t p_address) -{ - void* void_ptr = (void*)p_address; - auto object_ptr = (df::machine*)void_ptr; - - DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); - if (id != nullptr) - { - auto l_full_name = id->getFullName(); - if (l_full_name == "machine_standardst") - return DF_Type::machine_standardst; - } - return DF_Type::None; -} - -DF_Type block_square_event_subtype(uint64_t p_address) -{ - void* void_ptr = (void*)p_address; - auto object_ptr = (df::block_square_event*)void_ptr; - - DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); - if (id != nullptr) - { - auto l_full_name = id->getFullName(); - if (l_full_name == "block_square_event_mineralst") - return DF_Type::block_square_event_mineralst; - if (l_full_name == "block_square_event_frozen_liquidst") - return DF_Type::block_square_event_frozen_liquidst; - if (l_full_name == "block_square_event_world_constructionst") - return DF_Type::block_square_event_world_constructionst; - if (l_full_name == "block_square_event_material_spatterst") - return DF_Type::block_square_event_material_spatterst; - if (l_full_name == "block_square_event_grassst") - return DF_Type::block_square_event_grassst; - if (l_full_name == "block_square_event_spoorst") - return DF_Type::block_square_event_spoorst; - if (l_full_name == "block_square_event_item_spatterst") - return DF_Type::block_square_event_item_spatterst; - if (l_full_name == "block_square_event_designation_priorityst") - return DF_Type::block_square_event_designation_priorityst; - } - return DF_Type::None; -} - -DF_Type feature_subtype(uint64_t p_address) -{ - void* void_ptr = (void*)p_address; - auto object_ptr = (df::feature*)void_ptr; - - DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); - if (id != nullptr) - { - auto l_full_name = id->getFullName(); - if (l_full_name == "feature_outdoor_riverst") - return DF_Type::feature_outdoor_riverst; - if (l_full_name == "feature_cavest") - return DF_Type::feature_cavest; - if (l_full_name == "feature_pitst") - return DF_Type::feature_pitst; - if (l_full_name == "feature_magma_poolst") - return DF_Type::feature_magma_poolst; - if (l_full_name == "feature_volcanost") - return DF_Type::feature_volcanost; - if (l_full_name == "feature_deep_special_tubest") - return DF_Type::feature_deep_special_tubest; - if (l_full_name == "feature_deep_surface_portalst") - return DF_Type::feature_deep_surface_portalst; - if (l_full_name == "feature_subterranean_from_layerst") - return DF_Type::feature_subterranean_from_layerst; - if (l_full_name == "feature_magma_core_from_layerst") - return DF_Type::feature_magma_core_from_layerst; - if (l_full_name == "feature_underworld_from_layerst") - return DF_Type::feature_underworld_from_layerst; - } - return DF_Type::None; -} - -DF_Type feature_init_subtype(uint64_t p_address) -{ - void* void_ptr = (void*)p_address; - auto object_ptr = (df::feature_init*)void_ptr; - - DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); - if (id != nullptr) - { - auto l_full_name = id->getFullName(); - if (l_full_name == "feature_init_outdoor_riverst") - return DF_Type::feature_init_outdoor_riverst; - if (l_full_name == "feature_init_cavest") - return DF_Type::feature_init_cavest; - if (l_full_name == "feature_init_pitst") - return DF_Type::feature_init_pitst; - if (l_full_name == "feature_init_magma_poolst") - return DF_Type::feature_init_magma_poolst; - if (l_full_name == "feature_init_volcanost") - return DF_Type::feature_init_volcanost; - if (l_full_name == "feature_init_deep_special_tubest") - return DF_Type::feature_init_deep_special_tubest; - if (l_full_name == "feature_init_deep_surface_portalst") - return DF_Type::feature_init_deep_surface_portalst; - if (l_full_name == "feature_init_subterranean_from_layerst") - return DF_Type::feature_init_subterranean_from_layerst; - if (l_full_name == "feature_init_magma_core_from_layerst") - return DF_Type::feature_init_magma_core_from_layerst; - if (l_full_name == "feature_init_underworld_from_layerst") - return DF_Type::feature_init_underworld_from_layerst; - } - return DF_Type::None; -} - -DF_Type feature_alteration_subtype(uint64_t p_address) -{ - void* void_ptr = (void*)p_address; - auto object_ptr = (df::feature_alteration*)void_ptr; - - DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); - if (id != nullptr) - { - auto l_full_name = id->getFullName(); - if (l_full_name == "feature_alteration_new_pop_maxst") - return DF_Type::feature_alteration_new_pop_maxst; - if (l_full_name == "feature_alteration_new_lava_fill_zst") - return DF_Type::feature_alteration_new_lava_fill_zst; - } - return DF_Type::None; -} - -DF_Type world_construction_square_subtype(uint64_t p_address) -{ - void* void_ptr = (void*)p_address; - auto object_ptr = (df::world_construction_square*)void_ptr; - - DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); - if (id != nullptr) - { - auto l_full_name = id->getFullName(); - if (l_full_name == "world_construction_square_roadst") - return DF_Type::world_construction_square_roadst; - if (l_full_name == "world_construction_square_tunnelst") - return DF_Type::world_construction_square_tunnelst; - if (l_full_name == "world_construction_square_bridgest") - return DF_Type::world_construction_square_bridgest; - if (l_full_name == "world_construction_square_wallst") - return DF_Type::world_construction_square_wallst; - } - return DF_Type::None; -} - -DF_Type world_construction_subtype(uint64_t p_address) -{ - void* void_ptr = (void*)p_address; - auto object_ptr = (df::world_construction*)void_ptr; - - DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); - if (id != nullptr) - { - auto l_full_name = id->getFullName(); - if (l_full_name == "world_construction_roadst") - return DF_Type::world_construction_roadst; - if (l_full_name == "world_construction_tunnelst") - return DF_Type::world_construction_tunnelst; - if (l_full_name == "world_construction_bridgest") - return DF_Type::world_construction_bridgest; - if (l_full_name == "world_construction_wallst") - return DF_Type::world_construction_wallst; - } - return DF_Type::None; -} - -DF_Type flow_guide_subtype(uint64_t p_address) -{ - void* void_ptr = (void*)p_address; - auto object_ptr = (df::flow_guide*)void_ptr; - - DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); - if (id != nullptr) - { - auto l_full_name = id->getFullName(); - if (l_full_name == "flow_guide_trailing_flowst") - return DF_Type::flow_guide_trailing_flowst; - if (l_full_name == "flow_guide_item_cloudst") - return DF_Type::flow_guide_item_cloudst; - } - return DF_Type::None; -} - -DF_Type region_block_eventst_subtype(uint64_t p_address) -{ - void* void_ptr = (void*)p_address; - auto object_ptr = (df::region_block_eventst*)void_ptr; - - DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); - if (id != nullptr) - { - auto l_full_name = id->getFullName(); - if (l_full_name == "region_block_event_sphere_fieldst") - return DF_Type::region_block_event_sphere_fieldst; - } - return DF_Type::None; -} - -DF_Type material_common_subtype(uint64_t p_address) -{ - void* void_ptr = (void*)p_address; - auto object_ptr = (df::material_common*)void_ptr; - - if (static_cast(object_ptr) != nullptr) - return DF_Type::material; - if (static_cast(object_ptr) != nullptr) - return DF_Type::material_template; - return DF_Type::None; -} - -DF_Type script_stepst_subtype(uint64_t p_address) -{ - void* void_ptr = (void*)p_address; - auto object_ptr = (df::script_stepst*)void_ptr; - - DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); - if (id != nullptr) - { - auto l_full_name = id->getFullName(); - if (l_full_name == "script_step_setvarst") - return DF_Type::script_step_setvarst; - if (l_full_name == "script_step_simpleactionst") - return DF_Type::script_step_simpleactionst; - if (l_full_name == "script_step_conditionalst") - return DF_Type::script_step_conditionalst; - if (l_full_name == "script_step_textviewerst") - return DF_Type::script_step_textviewerst; - if (l_full_name == "script_step_diphistoryst") - return DF_Type::script_step_diphistoryst; - if (l_full_name == "script_step_discussst") - return DF_Type::script_step_discussst; - if (l_full_name == "script_step_topicdiscussionst") - return DF_Type::script_step_topicdiscussionst; - if (l_full_name == "script_step_constructtopiclistst") - return DF_Type::script_step_constructtopiclistst; - if (l_full_name == "script_step_eventst") - return DF_Type::script_step_eventst; - if (l_full_name == "script_step_dipeventst") - return DF_Type::script_step_dipeventst; - if (l_full_name == "script_step_invasionst") - return DF_Type::script_step_invasionst; - } - return DF_Type::None; -} - -DF_Type script_varst_subtype(uint64_t p_address) -{ - void* void_ptr = (void*)p_address; - auto object_ptr = (df::script_varst*)void_ptr; - - DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); - if (id != nullptr) - { - auto l_full_name = id->getFullName(); - if (l_full_name == "script_var_unitst") - return DF_Type::script_var_unitst; - if (l_full_name == "script_var_longst") - return DF_Type::script_var_longst; - } - return DF_Type::None; -} - -DF_Type active_script_varst_subtype(uint64_t p_address) -{ - void* void_ptr = (void*)p_address; - auto object_ptr = (df::active_script_varst*)void_ptr; - - DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); - if (id != nullptr) - { - auto l_full_name = id->getFullName(); - if (l_full_name == "active_script_var_unitst") - return DF_Type::active_script_var_unitst; - if (l_full_name == "active_script_var_longst") - return DF_Type::active_script_var_longst; - } - return DF_Type::None; -} - -DF_Type activity_event_subtype(uint64_t p_address) -{ - void* void_ptr = (void*)p_address; - auto object_ptr = (df::activity_event*)void_ptr; - - DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); - if (id != nullptr) - { - auto l_full_name = id->getFullName(); - if (l_full_name == "activity_event_training_sessionst") - return DF_Type::activity_event_training_sessionst; - if (l_full_name == "activity_event_combat_trainingst") - return DF_Type::activity_event_combat_trainingst; - if (l_full_name == "activity_event_skill_demonstrationst") - return DF_Type::activity_event_skill_demonstrationst; - if (l_full_name == "activity_event_individual_skill_drillst") - return DF_Type::activity_event_individual_skill_drillst; - if (l_full_name == "activity_event_sparringst") - return DF_Type::activity_event_sparringst; - if (l_full_name == "activity_event_ranged_practicest") - return DF_Type::activity_event_ranged_practicest; - if (l_full_name == "activity_event_harassmentst") - return DF_Type::activity_event_harassmentst; - if (l_full_name == "activity_event_conversationst") - return DF_Type::activity_event_conversationst; - if (l_full_name == "activity_event_conflictst") - return DF_Type::activity_event_conflictst; - if (l_full_name == "activity_event_guardst") - return DF_Type::activity_event_guardst; - if (l_full_name == "activity_event_reunionst") - return DF_Type::activity_event_reunionst; - if (l_full_name == "activity_event_prayerst") - return DF_Type::activity_event_prayerst; - if (l_full_name == "activity_event_socializest") - return DF_Type::activity_event_socializest; - if (l_full_name == "activity_event_worshipst") - return DF_Type::activity_event_worshipst; - if (l_full_name == "activity_event_performancest") - return DF_Type::activity_event_performancest; - if (l_full_name == "activity_event_researchst") - return DF_Type::activity_event_researchst; - if (l_full_name == "activity_event_ponder_topicst") - return DF_Type::activity_event_ponder_topicst; - if (l_full_name == "activity_event_discuss_topicst") - return DF_Type::activity_event_discuss_topicst; - if (l_full_name == "activity_event_readst") - return DF_Type::activity_event_readst; - if (l_full_name == "activity_event_fill_service_orderst") - return DF_Type::activity_event_fill_service_orderst; - if (l_full_name == "activity_event_writest") - return DF_Type::activity_event_writest; - if (l_full_name == "activity_event_copy_written_contentst") - return DF_Type::activity_event_copy_written_contentst; - if (l_full_name == "activity_event_teach_topicst") - return DF_Type::activity_event_teach_topicst; - if (l_full_name == "activity_event_playst") - return DF_Type::activity_event_playst; - if (l_full_name == "activity_event_make_believest") - return DF_Type::activity_event_make_believest; - if (l_full_name == "activity_event_play_with_toyst") - return DF_Type::activity_event_play_with_toyst; - if (l_full_name == "activity_event_encounterst") - return DF_Type::activity_event_encounterst; - if (l_full_name == "activity_event_store_objectst") - return DF_Type::activity_event_store_objectst; - } - return DF_Type::None; -} - -DF_Type squad_order_subtype(uint64_t p_address) -{ - void* void_ptr = (void*)p_address; - auto object_ptr = (df::squad_order*)void_ptr; - - DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); - if (id != nullptr) - { - auto l_full_name = id->getFullName(); - if (l_full_name == "squad_order_movest") - return DF_Type::squad_order_movest; - if (l_full_name == "squad_order_kill_listst") - return DF_Type::squad_order_kill_listst; - if (l_full_name == "squad_order_defend_burrowsst") - return DF_Type::squad_order_defend_burrowsst; - if (l_full_name == "squad_order_patrol_routest") - return DF_Type::squad_order_patrol_routest; - if (l_full_name == "squad_order_trainst") - return DF_Type::squad_order_trainst; - if (l_full_name == "squad_order_drive_entity_off_sitest") - return DF_Type::squad_order_drive_entity_off_sitest; - if (l_full_name == "squad_order_cause_trouble_for_entityst") - return DF_Type::squad_order_cause_trouble_for_entityst; - if (l_full_name == "squad_order_kill_hfst") - return DF_Type::squad_order_kill_hfst; - if (l_full_name == "squad_order_drive_armies_from_sitest") - return DF_Type::squad_order_drive_armies_from_sitest; - if (l_full_name == "squad_order_retrieve_artifactst") - return DF_Type::squad_order_retrieve_artifactst; - if (l_full_name == "squad_order_raid_sitest") - return DF_Type::squad_order_raid_sitest; - if (l_full_name == "squad_order_rescue_hfst") - return DF_Type::squad_order_rescue_hfst; - } - return DF_Type::None; -} - -DF_Type projectile_subtype(uint64_t p_address) -{ - void* void_ptr = (void*)p_address; - auto object_ptr = (df::projectile*)void_ptr; - - DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); - if (id != nullptr) - { - auto l_full_name = id->getFullName(); - if (l_full_name == "proj_itemst") - return DF_Type::proj_itemst; - if (l_full_name == "proj_unitst") - return DF_Type::proj_unitst; - if (l_full_name == "proj_magicst") - return DF_Type::proj_magicst; - } - return DF_Type::None; -} - -DF_Type reaction_reagent_subtype(uint64_t p_address) -{ - void* void_ptr = (void*)p_address; - auto object_ptr = (df::reaction_reagent*)void_ptr; - - DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); - if (id != nullptr) - { - auto l_full_name = id->getFullName(); - if (l_full_name == "reaction_reagent_itemst") - return DF_Type::reaction_reagent_itemst; - } - return DF_Type::None; -} - -DF_Type reaction_product_subtype(uint64_t p_address) -{ - void* void_ptr = (void*)p_address; - auto object_ptr = (df::reaction_product*)void_ptr; - - DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); - if (id != nullptr) - { - auto l_full_name = id->getFullName(); - if (l_full_name == "reaction_product_itemst") - return DF_Type::reaction_product_itemst; - if (l_full_name == "reaction_product_item_improvementst") - return DF_Type::reaction_product_item_improvementst; - } - return DF_Type::None; -} - -DF_Type general_ref_subtype(uint64_t p_address) -{ - void* void_ptr = (void*)p_address; - auto object_ptr = (df::general_ref*)void_ptr; - - DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); - if (id != nullptr) - { - auto l_full_name = id->getFullName(); - if (l_full_name == "general_ref_artifact") - return DF_Type::general_ref_artifact; - if (l_full_name == "general_ref_is_artifactst") - return DF_Type::general_ref_is_artifactst; - if (l_full_name == "general_ref_nemesis") - return DF_Type::general_ref_nemesis; - if (l_full_name == "general_ref_is_nemesisst") - return DF_Type::general_ref_is_nemesisst; - if (l_full_name == "general_ref_item") - return DF_Type::general_ref_item; - if (l_full_name == "general_ref_contains_itemst") - return DF_Type::general_ref_contains_itemst; - if (l_full_name == "general_ref_contained_in_itemst") - return DF_Type::general_ref_contained_in_itemst; - if (l_full_name == "general_ref_item_type") - return DF_Type::general_ref_item_type; - if (l_full_name == "general_ref_coinbatch") - return DF_Type::general_ref_coinbatch; - if (l_full_name == "general_ref_mapsquare") - return DF_Type::general_ref_mapsquare; - if (l_full_name == "general_ref_entity_art_image") - return DF_Type::general_ref_entity_art_image; - if (l_full_name == "general_ref_projectile") - return DF_Type::general_ref_projectile; - if (l_full_name == "general_ref_unit") - return DF_Type::general_ref_unit; - if (l_full_name == "general_ref_contains_unitst") - return DF_Type::general_ref_contains_unitst; - if (l_full_name == "general_ref_unit_milkeest") - return DF_Type::general_ref_unit_milkeest; - if (l_full_name == "general_ref_unit_traineest") - return DF_Type::general_ref_unit_traineest; - if (l_full_name == "general_ref_unit_itemownerst") - return DF_Type::general_ref_unit_itemownerst; - if (l_full_name == "general_ref_unit_tradebringerst") - return DF_Type::general_ref_unit_tradebringerst; - if (l_full_name == "general_ref_unit_holderst") - return DF_Type::general_ref_unit_holderst; - if (l_full_name == "general_ref_unit_workerst") - return DF_Type::general_ref_unit_workerst; - if (l_full_name == "general_ref_unit_cageest") - return DF_Type::general_ref_unit_cageest; - if (l_full_name == "general_ref_unit_beateest") - return DF_Type::general_ref_unit_beateest; - if (l_full_name == "general_ref_unit_foodreceiverst") - return DF_Type::general_ref_unit_foodreceiverst; - if (l_full_name == "general_ref_unit_kidnapeest") - return DF_Type::general_ref_unit_kidnapeest; - if (l_full_name == "general_ref_unit_patientst") - return DF_Type::general_ref_unit_patientst; - if (l_full_name == "general_ref_unit_infantst") - return DF_Type::general_ref_unit_infantst; - if (l_full_name == "general_ref_unit_slaughtereest") - return DF_Type::general_ref_unit_slaughtereest; - if (l_full_name == "general_ref_unit_sheareest") - return DF_Type::general_ref_unit_sheareest; - if (l_full_name == "general_ref_unit_suckeest") - return DF_Type::general_ref_unit_suckeest; - if (l_full_name == "general_ref_unit_reporteest") - return DF_Type::general_ref_unit_reporteest; - if (l_full_name == "general_ref_unit_riderst") - return DF_Type::general_ref_unit_riderst; - if (l_full_name == "general_ref_unit_climberst") - return DF_Type::general_ref_unit_climberst; - if (l_full_name == "general_ref_unit_geldeest") - return DF_Type::general_ref_unit_geldeest; - if (l_full_name == "general_ref_building") - return DF_Type::general_ref_building; - if (l_full_name == "general_ref_building_civzone_assignedst") - return DF_Type::general_ref_building_civzone_assignedst; - if (l_full_name == "general_ref_building_triggerst") - return DF_Type::general_ref_building_triggerst; - if (l_full_name == "general_ref_building_triggertargetst") - return DF_Type::general_ref_building_triggertargetst; - if (l_full_name == "general_ref_building_chainst") - return DF_Type::general_ref_building_chainst; - if (l_full_name == "general_ref_building_cagedst") - return DF_Type::general_ref_building_cagedst; - if (l_full_name == "general_ref_building_holderst") - return DF_Type::general_ref_building_holderst; - if (l_full_name == "general_ref_building_well_tag") - return DF_Type::general_ref_building_well_tag; - if (l_full_name == "general_ref_building_use_target_1st") - return DF_Type::general_ref_building_use_target_1st; - if (l_full_name == "general_ref_building_use_target_2st") - return DF_Type::general_ref_building_use_target_2st; - if (l_full_name == "general_ref_building_destinationst") - return DF_Type::general_ref_building_destinationst; - if (l_full_name == "general_ref_building_nest_boxst") - return DF_Type::general_ref_building_nest_boxst; - if (l_full_name == "general_ref_building_display_furniturest") - return DF_Type::general_ref_building_display_furniturest; - if (l_full_name == "general_ref_entity") - return DF_Type::general_ref_entity; - if (l_full_name == "general_ref_entity_stolenst") - return DF_Type::general_ref_entity_stolenst; - if (l_full_name == "general_ref_entity_offeredst") - return DF_Type::general_ref_entity_offeredst; - if (l_full_name == "general_ref_entity_itemownerst") - return DF_Type::general_ref_entity_itemownerst; - if (l_full_name == "general_ref_locationst") - return DF_Type::general_ref_locationst; - if (l_full_name == "general_ref_interactionst") - return DF_Type::general_ref_interactionst; - if (l_full_name == "general_ref_abstract_buildingst") - return DF_Type::general_ref_abstract_buildingst; - if (l_full_name == "general_ref_historical_eventst") - return DF_Type::general_ref_historical_eventst; - if (l_full_name == "general_ref_spherest") - return DF_Type::general_ref_spherest; - if (l_full_name == "general_ref_sitest") - return DF_Type::general_ref_sitest; - if (l_full_name == "general_ref_subregionst") - return DF_Type::general_ref_subregionst; - if (l_full_name == "general_ref_feature_layerst") - return DF_Type::general_ref_feature_layerst; - if (l_full_name == "general_ref_historical_figurest") - return DF_Type::general_ref_historical_figurest; - if (l_full_name == "general_ref_entity_popst") - return DF_Type::general_ref_entity_popst; - if (l_full_name == "general_ref_creaturest") - return DF_Type::general_ref_creaturest; - if (l_full_name == "general_ref_knowledge_scholar_flagst") - return DF_Type::general_ref_knowledge_scholar_flagst; - if (l_full_name == "general_ref_activity_eventst") - return DF_Type::general_ref_activity_eventst; - if (l_full_name == "general_ref_value_levelst") - return DF_Type::general_ref_value_levelst; - if (l_full_name == "general_ref_languagest") - return DF_Type::general_ref_languagest; - if (l_full_name == "general_ref_written_contentst") - return DF_Type::general_ref_written_contentst; - if (l_full_name == "general_ref_poetic_formst") - return DF_Type::general_ref_poetic_formst; - if (l_full_name == "general_ref_musical_formst") - return DF_Type::general_ref_musical_formst; - if (l_full_name == "general_ref_dance_formst") - return DF_Type::general_ref_dance_formst; - } - return DF_Type::None; -} - -DF_Type histfig_entity_link_subtype(uint64_t p_address) -{ - void* void_ptr = (void*)p_address; - auto object_ptr = (df::histfig_entity_link*)void_ptr; - - DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); - if (id != nullptr) - { - auto l_full_name = id->getFullName(); - if (l_full_name == "histfig_entity_link_memberst") - return DF_Type::histfig_entity_link_memberst; - if (l_full_name == "histfig_entity_link_former_memberst") - return DF_Type::histfig_entity_link_former_memberst; - if (l_full_name == "histfig_entity_link_mercenaryst") - return DF_Type::histfig_entity_link_mercenaryst; - if (l_full_name == "histfig_entity_link_former_mercenaryst") - return DF_Type::histfig_entity_link_former_mercenaryst; - if (l_full_name == "histfig_entity_link_slavest") - return DF_Type::histfig_entity_link_slavest; - if (l_full_name == "histfig_entity_link_former_slavest") - return DF_Type::histfig_entity_link_former_slavest; - if (l_full_name == "histfig_entity_link_prisonerst") - return DF_Type::histfig_entity_link_prisonerst; - if (l_full_name == "histfig_entity_link_former_prisonerst") - return DF_Type::histfig_entity_link_former_prisonerst; - if (l_full_name == "histfig_entity_link_enemyst") - return DF_Type::histfig_entity_link_enemyst; - if (l_full_name == "histfig_entity_link_criminalst") - return DF_Type::histfig_entity_link_criminalst; - if (l_full_name == "histfig_entity_link_positionst") - return DF_Type::histfig_entity_link_positionst; - if (l_full_name == "histfig_entity_link_former_positionst") - return DF_Type::histfig_entity_link_former_positionst; - if (l_full_name == "histfig_entity_link_position_claimst") - return DF_Type::histfig_entity_link_position_claimst; - if (l_full_name == "histfig_entity_link_squadst") - return DF_Type::histfig_entity_link_squadst; - if (l_full_name == "histfig_entity_link_former_squadst") - return DF_Type::histfig_entity_link_former_squadst; - if (l_full_name == "histfig_entity_link_occupationst") - return DF_Type::histfig_entity_link_occupationst; - if (l_full_name == "histfig_entity_link_former_occupationst") - return DF_Type::histfig_entity_link_former_occupationst; - } - return DF_Type::None; -} - -DF_Type histfig_site_link_subtype(uint64_t p_address) -{ - void* void_ptr = (void*)p_address; - auto object_ptr = (df::histfig_site_link*)void_ptr; - - DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); - if (id != nullptr) - { - auto l_full_name = id->getFullName(); - if (l_full_name == "histfig_site_link_seat_of_powerst") - return DF_Type::histfig_site_link_seat_of_powerst; - if (l_full_name == "histfig_site_link_hangoutst") - return DF_Type::histfig_site_link_hangoutst; - if (l_full_name == "histfig_site_link_home_site_abstract_buildingst") - return DF_Type::histfig_site_link_home_site_abstract_buildingst; - if (l_full_name == "histfig_site_link_home_site_realization_buildingst") - return DF_Type::histfig_site_link_home_site_realization_buildingst; - if (l_full_name == "histfig_site_link_lairst") - return DF_Type::histfig_site_link_lairst; - if (l_full_name == "histfig_site_link_home_site_realization_sulst") - return DF_Type::histfig_site_link_home_site_realization_sulst; - if (l_full_name == "histfig_site_link_home_site_saved_civzonest") - return DF_Type::histfig_site_link_home_site_saved_civzonest; - if (l_full_name == "histfig_site_link_occupationst") - return DF_Type::histfig_site_link_occupationst; - } - return DF_Type::None; -} - -DF_Type histfig_hf_link_subtype(uint64_t p_address) -{ - void* void_ptr = (void*)p_address; - auto object_ptr = (df::histfig_hf_link*)void_ptr; - - DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); - if (id != nullptr) - { - auto l_full_name = id->getFullName(); - if (l_full_name == "histfig_hf_link_motherst") - return DF_Type::histfig_hf_link_motherst; - if (l_full_name == "histfig_hf_link_fatherst") - return DF_Type::histfig_hf_link_fatherst; - if (l_full_name == "histfig_hf_link_spousest") - return DF_Type::histfig_hf_link_spousest; - if (l_full_name == "histfig_hf_link_childst") - return DF_Type::histfig_hf_link_childst; - if (l_full_name == "histfig_hf_link_deityst") - return DF_Type::histfig_hf_link_deityst; - if (l_full_name == "histfig_hf_link_loverst") - return DF_Type::histfig_hf_link_loverst; - if (l_full_name == "histfig_hf_link_prisonerst") - return DF_Type::histfig_hf_link_prisonerst; - if (l_full_name == "histfig_hf_link_imprisonerst") - return DF_Type::histfig_hf_link_imprisonerst; - if (l_full_name == "histfig_hf_link_masterst") - return DF_Type::histfig_hf_link_masterst; - if (l_full_name == "histfig_hf_link_apprenticest") - return DF_Type::histfig_hf_link_apprenticest; - if (l_full_name == "histfig_hf_link_companionst") - return DF_Type::histfig_hf_link_companionst; - if (l_full_name == "histfig_hf_link_former_apprenticest") - return DF_Type::histfig_hf_link_former_apprenticest; - if (l_full_name == "histfig_hf_link_former_masterst") - return DF_Type::histfig_hf_link_former_masterst; - if (l_full_name == "histfig_hf_link_pet_ownerst") - return DF_Type::histfig_hf_link_pet_ownerst; - } - return DF_Type::None; -} - -DF_Type resource_allotment_specifier_subtype(uint64_t p_address) -{ - void* void_ptr = (void*)p_address; - auto object_ptr = (df::resource_allotment_specifier*)void_ptr; - - DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); - if (id != nullptr) - { - auto l_full_name = id->getFullName(); - if (l_full_name == "resource_allotment_specifier_cropst") - return DF_Type::resource_allotment_specifier_cropst; - if (l_full_name == "resource_allotment_specifier_stonest") - return DF_Type::resource_allotment_specifier_stonest; - if (l_full_name == "resource_allotment_specifier_metalst") - return DF_Type::resource_allotment_specifier_metalst; - if (l_full_name == "resource_allotment_specifier_woodst") - return DF_Type::resource_allotment_specifier_woodst; - if (l_full_name == "resource_allotment_specifier_armor_bodyst") - return DF_Type::resource_allotment_specifier_armor_bodyst; - if (l_full_name == "resource_allotment_specifier_armor_pantsst") - return DF_Type::resource_allotment_specifier_armor_pantsst; - if (l_full_name == "resource_allotment_specifier_armor_glovesst") - return DF_Type::resource_allotment_specifier_armor_glovesst; - if (l_full_name == "resource_allotment_specifier_armor_bootsst") - return DF_Type::resource_allotment_specifier_armor_bootsst; - if (l_full_name == "resource_allotment_specifier_armor_helmst") - return DF_Type::resource_allotment_specifier_armor_helmst; - if (l_full_name == "resource_allotment_specifier_clothing_bodyst") - return DF_Type::resource_allotment_specifier_clothing_bodyst; - if (l_full_name == "resource_allotment_specifier_clothing_pantsst") - return DF_Type::resource_allotment_specifier_clothing_pantsst; - if (l_full_name == "resource_allotment_specifier_clothing_glovesst") - return DF_Type::resource_allotment_specifier_clothing_glovesst; - if (l_full_name == "resource_allotment_specifier_clothing_bootsst") - return DF_Type::resource_allotment_specifier_clothing_bootsst; - if (l_full_name == "resource_allotment_specifier_clothing_helmst") - return DF_Type::resource_allotment_specifier_clothing_helmst; - if (l_full_name == "resource_allotment_specifier_weapon_meleest") - return DF_Type::resource_allotment_specifier_weapon_meleest; - if (l_full_name == "resource_allotment_specifier_weapon_rangedst") - return DF_Type::resource_allotment_specifier_weapon_rangedst; - if (l_full_name == "resource_allotment_specifier_ammost") - return DF_Type::resource_allotment_specifier_ammost; - if (l_full_name == "resource_allotment_specifier_anvilst") - return DF_Type::resource_allotment_specifier_anvilst; - if (l_full_name == "resource_allotment_specifier_gemsst") - return DF_Type::resource_allotment_specifier_gemsst; - if (l_full_name == "resource_allotment_specifier_threadst") - return DF_Type::resource_allotment_specifier_threadst; - if (l_full_name == "resource_allotment_specifier_clothst") - return DF_Type::resource_allotment_specifier_clothst; - if (l_full_name == "resource_allotment_specifier_leatherst") - return DF_Type::resource_allotment_specifier_leatherst; - if (l_full_name == "resource_allotment_specifier_quiverst") - return DF_Type::resource_allotment_specifier_quiverst; - if (l_full_name == "resource_allotment_specifier_backpackst") - return DF_Type::resource_allotment_specifier_backpackst; - if (l_full_name == "resource_allotment_specifier_flaskst") - return DF_Type::resource_allotment_specifier_flaskst; - if (l_full_name == "resource_allotment_specifier_bagst") - return DF_Type::resource_allotment_specifier_bagst; - if (l_full_name == "resource_allotment_specifier_tablest") - return DF_Type::resource_allotment_specifier_tablest; - if (l_full_name == "resource_allotment_specifier_cabinetst") - return DF_Type::resource_allotment_specifier_cabinetst; - if (l_full_name == "resource_allotment_specifier_chairst") - return DF_Type::resource_allotment_specifier_chairst; - if (l_full_name == "resource_allotment_specifier_boxst") - return DF_Type::resource_allotment_specifier_boxst; - if (l_full_name == "resource_allotment_specifier_bedst") - return DF_Type::resource_allotment_specifier_bedst; - if (l_full_name == "resource_allotment_specifier_craftsst") - return DF_Type::resource_allotment_specifier_craftsst; - if (l_full_name == "resource_allotment_specifier_meatst") - return DF_Type::resource_allotment_specifier_meatst; - if (l_full_name == "resource_allotment_specifier_bonest") - return DF_Type::resource_allotment_specifier_bonest; - if (l_full_name == "resource_allotment_specifier_hornst") - return DF_Type::resource_allotment_specifier_hornst; - if (l_full_name == "resource_allotment_specifier_shellst") - return DF_Type::resource_allotment_specifier_shellst; - if (l_full_name == "resource_allotment_specifier_tallowst") - return DF_Type::resource_allotment_specifier_tallowst; - if (l_full_name == "resource_allotment_specifier_toothst") - return DF_Type::resource_allotment_specifier_toothst; - if (l_full_name == "resource_allotment_specifier_pearlst") - return DF_Type::resource_allotment_specifier_pearlst; - if (l_full_name == "resource_allotment_specifier_soapst") - return DF_Type::resource_allotment_specifier_soapst; - if (l_full_name == "resource_allotment_specifier_extractst") - return DF_Type::resource_allotment_specifier_extractst; - if (l_full_name == "resource_allotment_specifier_cheesest") - return DF_Type::resource_allotment_specifier_cheesest; - if (l_full_name == "resource_allotment_specifier_skinst") - return DF_Type::resource_allotment_specifier_skinst; - if (l_full_name == "resource_allotment_specifier_powderst") - return DF_Type::resource_allotment_specifier_powderst; - } - return DF_Type::None; -} - -DF_Type creature_interaction_effect_subtype(uint64_t p_address) -{ - void* void_ptr = (void*)p_address; - auto object_ptr = (df::creature_interaction_effect*)void_ptr; - - DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); - if (id != nullptr) - { - auto l_full_name = id->getFullName(); - if (l_full_name == "creature_interaction_effect_painst") - return DF_Type::creature_interaction_effect_painst; - if (l_full_name == "creature_interaction_effect_swellingst") - return DF_Type::creature_interaction_effect_swellingst; - if (l_full_name == "creature_interaction_effect_oozingst") - return DF_Type::creature_interaction_effect_oozingst; - if (l_full_name == "creature_interaction_effect_bruisingst") - return DF_Type::creature_interaction_effect_bruisingst; - if (l_full_name == "creature_interaction_effect_blistersst") - return DF_Type::creature_interaction_effect_blistersst; - if (l_full_name == "creature_interaction_effect_numbnessst") - return DF_Type::creature_interaction_effect_numbnessst; - if (l_full_name == "creature_interaction_effect_paralysisst") - return DF_Type::creature_interaction_effect_paralysisst; - if (l_full_name == "creature_interaction_effect_feverst") - return DF_Type::creature_interaction_effect_feverst; - if (l_full_name == "creature_interaction_effect_bleedingst") - return DF_Type::creature_interaction_effect_bleedingst; - if (l_full_name == "creature_interaction_effect_cough_bloodst") - return DF_Type::creature_interaction_effect_cough_bloodst; - if (l_full_name == "creature_interaction_effect_vomit_bloodst") - return DF_Type::creature_interaction_effect_vomit_bloodst; - if (l_full_name == "creature_interaction_effect_nauseast") - return DF_Type::creature_interaction_effect_nauseast; - if (l_full_name == "creature_interaction_effect_unconsciousnessst") - return DF_Type::creature_interaction_effect_unconsciousnessst; - if (l_full_name == "creature_interaction_effect_necrosisst") - return DF_Type::creature_interaction_effect_necrosisst; - if (l_full_name == "creature_interaction_effect_impair_functionst") - return DF_Type::creature_interaction_effect_impair_functionst; - if (l_full_name == "creature_interaction_effect_drowsinessst") - return DF_Type::creature_interaction_effect_drowsinessst; - if (l_full_name == "creature_interaction_effect_dizzinessst") - return DF_Type::creature_interaction_effect_dizzinessst; - if (l_full_name == "creature_interaction_effect_display_namest") - return DF_Type::creature_interaction_effect_display_namest; - if (l_full_name == "creature_interaction_effect_body_appearance_modifierst") - return DF_Type::creature_interaction_effect_body_appearance_modifierst; - if (l_full_name == "creature_interaction_effect_bp_appearance_modifierst") - return DF_Type::creature_interaction_effect_bp_appearance_modifierst; - if (l_full_name == "creature_interaction_effect_body_transformationst") - return DF_Type::creature_interaction_effect_body_transformationst; - if (l_full_name == "creature_interaction_effect_skill_roll_adjustst") - return DF_Type::creature_interaction_effect_skill_roll_adjustst; - if (l_full_name == "creature_interaction_effect_display_symbolst") - return DF_Type::creature_interaction_effect_display_symbolst; - if (l_full_name == "creature_interaction_effect_flash_symbolst") - return DF_Type::creature_interaction_effect_flash_symbolst; - if (l_full_name == "creature_interaction_effect_phys_att_changest") - return DF_Type::creature_interaction_effect_phys_att_changest; - if (l_full_name == "creature_interaction_effect_ment_att_changest") - return DF_Type::creature_interaction_effect_ment_att_changest; - if (l_full_name == "creature_interaction_effect_add_simple_flagst") - return DF_Type::creature_interaction_effect_add_simple_flagst; - if (l_full_name == "creature_interaction_effect_remove_simple_flagst") - return DF_Type::creature_interaction_effect_remove_simple_flagst; - if (l_full_name == "creature_interaction_effect_speed_changest") - return DF_Type::creature_interaction_effect_speed_changest; - if (l_full_name == "creature_interaction_effect_body_mat_interactionst") - return DF_Type::creature_interaction_effect_body_mat_interactionst; - if (l_full_name == "creature_interaction_effect_material_force_adjustst") - return DF_Type::creature_interaction_effect_material_force_adjustst; - if (l_full_name == "creature_interaction_effect_can_do_interactionst") - return DF_Type::creature_interaction_effect_can_do_interactionst; - if (l_full_name == "creature_interaction_effect_sense_creature_classst") - return DF_Type::creature_interaction_effect_sense_creature_classst; - if (l_full_name == "creature_interaction_effect_feel_emotionst") - return DF_Type::creature_interaction_effect_feel_emotionst; - if (l_full_name == "creature_interaction_effect_change_personalityst") - return DF_Type::creature_interaction_effect_change_personalityst; - if (l_full_name == "creature_interaction_effect_erratic_behaviorst") - return DF_Type::creature_interaction_effect_erratic_behaviorst; - } - return DF_Type::None; -} - -DF_Type build_req_choicest_subtype(uint64_t p_address) -{ - void* void_ptr = (void*)p_address; - auto object_ptr = (df::build_req_choicest*)void_ptr; - - DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); - if (id != nullptr) - { - auto l_full_name = id->getFullName(); - if (l_full_name == "build_req_choice_genst") - return DF_Type::build_req_choice_genst; - if (l_full_name == "build_req_choice_specst") - return DF_Type::build_req_choice_specst; - } - return DF_Type::None; -} - -DF_Type interface_button_subtype(uint64_t p_address) -{ - void* void_ptr = (void*)p_address; - auto object_ptr = (df::interface_button*)void_ptr; - - DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); - if (id != nullptr) - { - auto l_full_name = id->getFullName(); - if (l_full_name == "interface_button_buildingst") - return DF_Type::interface_button_buildingst; - if (l_full_name == "interface_button_building_category_selectorst") - return DF_Type::interface_button_building_category_selectorst; - if (l_full_name == "interface_button_building_material_selectorst") - return DF_Type::interface_button_building_material_selectorst; - if (l_full_name == "interface_button_building_new_jobst") - return DF_Type::interface_button_building_new_jobst; - if (l_full_name == "interface_button_building_custom_category_selectorst") - return DF_Type::interface_button_building_custom_category_selectorst; - if (l_full_name == "interface_button_constructionst") - return DF_Type::interface_button_constructionst; - if (l_full_name == "interface_button_construction_donest") - return DF_Type::interface_button_construction_donest; - if (l_full_name == "interface_button_construction_category_selectorst") - return DF_Type::interface_button_construction_category_selectorst; - if (l_full_name == "interface_button_construction_building_selectorst") - return DF_Type::interface_button_construction_building_selectorst; - } - return DF_Type::None; -} - -DF_Type viewscreen_subtype(uint64_t p_address) -{ - void* void_ptr = (void*)p_address; - auto object_ptr = (df::viewscreen*)void_ptr; - - DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); - if (id != nullptr) - { - auto l_full_name = id->getFullName(); - if (l_full_name == "viewscreen_layer") - return DF_Type::viewscreen_layer; - if (l_full_name == "viewscreen_layer_arena_creaturest") - return DF_Type::viewscreen_layer_arena_creaturest; - if (l_full_name == "viewscreen_layer_assigntradest") - return DF_Type::viewscreen_layer_assigntradest; - if (l_full_name == "viewscreen_layer_choose_language_namest") - return DF_Type::viewscreen_layer_choose_language_namest; - if (l_full_name == "viewscreen_layer_currencyst") - return DF_Type::viewscreen_layer_currencyst; - if (l_full_name == "viewscreen_layer_export_play_mapst") - return DF_Type::viewscreen_layer_export_play_mapst; - if (l_full_name == "viewscreen_layer_militaryst") - return DF_Type::viewscreen_layer_militaryst; - if (l_full_name == "viewscreen_layer_musicsoundst") - return DF_Type::viewscreen_layer_musicsoundst; - if (l_full_name == "viewscreen_layer_noblelistst") - return DF_Type::viewscreen_layer_noblelistst; - if (l_full_name == "viewscreen_layer_overall_healthst") - return DF_Type::viewscreen_layer_overall_healthst; - if (l_full_name == "viewscreen_layer_reactionst") - return DF_Type::viewscreen_layer_reactionst; - if (l_full_name == "viewscreen_layer_squad_schedulest") - return DF_Type::viewscreen_layer_squad_schedulest; - if (l_full_name == "viewscreen_layer_stockpilest") - return DF_Type::viewscreen_layer_stockpilest; - if (l_full_name == "viewscreen_layer_stone_restrictionst") - return DF_Type::viewscreen_layer_stone_restrictionst; - if (l_full_name == "viewscreen_layer_unit_actionst") - return DF_Type::viewscreen_layer_unit_actionst; - if (l_full_name == "viewscreen_layer_unit_healthst") - return DF_Type::viewscreen_layer_unit_healthst; - if (l_full_name == "viewscreen_layer_unit_relationshipst") - return DF_Type::viewscreen_layer_unit_relationshipst; - if (l_full_name == "viewscreen_layer_world_gen_paramst") - return DF_Type::viewscreen_layer_world_gen_paramst; - if (l_full_name == "viewscreen_layer_world_gen_param_presetst") - return DF_Type::viewscreen_layer_world_gen_param_presetst; - if (l_full_name == "KeybindingScreen") - return DF_Type::KeybindingScreen; - if (l_full_name == "MacroScreenLoad") - return DF_Type::MacroScreenLoad; - if (l_full_name == "MacroScreenSave") - return DF_Type::MacroScreenSave; - if (l_full_name == "viewscreen_adopt_regionst") - return DF_Type::viewscreen_adopt_regionst; - if (l_full_name == "viewscreen_adventure_logst") - return DF_Type::viewscreen_adventure_logst; - if (l_full_name == "viewscreen_announcelistst") - return DF_Type::viewscreen_announcelistst; - if (l_full_name == "viewscreen_assign_display_itemst") - return DF_Type::viewscreen_assign_display_itemst; - if (l_full_name == "viewscreen_barterst") - return DF_Type::viewscreen_barterst; - if (l_full_name == "viewscreen_buildingst") - return DF_Type::viewscreen_buildingst; - if (l_full_name == "viewscreen_buildinglistst") - return DF_Type::viewscreen_buildinglistst; - if (l_full_name == "viewscreen_choose_start_sitest") - return DF_Type::viewscreen_choose_start_sitest; - if (l_full_name == "viewscreen_civlistst") - return DF_Type::viewscreen_civlistst; - if (l_full_name == "viewscreen_createquotast") - return DF_Type::viewscreen_createquotast; - if (l_full_name == "viewscreen_customize_unitst") - return DF_Type::viewscreen_customize_unitst; - if (l_full_name == "viewscreen_dungeon_monsterstatusst") - return DF_Type::viewscreen_dungeon_monsterstatusst; - if (l_full_name == "viewscreen_dungeon_wrestlest") - return DF_Type::viewscreen_dungeon_wrestlest; - if (l_full_name == "viewscreen_dungeonmodest") - return DF_Type::viewscreen_dungeonmodest; - if (l_full_name == "viewscreen_dwarfmodest") - return DF_Type::viewscreen_dwarfmodest; - if (l_full_name == "viewscreen_entityst") - return DF_Type::viewscreen_entityst; - if (l_full_name == "viewscreen_export_graphical_mapst") - return DF_Type::viewscreen_export_graphical_mapst; - if (l_full_name == "viewscreen_export_regionst") - return DF_Type::viewscreen_export_regionst; - if (l_full_name == "viewscreen_game_cleanerst") - return DF_Type::viewscreen_game_cleanerst; - if (l_full_name == "viewscreen_image_creatorst") - return DF_Type::viewscreen_image_creatorst; - if (l_full_name == "viewscreen_itemst") - return DF_Type::viewscreen_itemst; - if (l_full_name == "viewscreen_jobst") - return DF_Type::viewscreen_jobst; - if (l_full_name == "viewscreen_joblistst") - return DF_Type::viewscreen_joblistst; - if (l_full_name == "viewscreen_jobmanagementst") - return DF_Type::viewscreen_jobmanagementst; - if (l_full_name == "viewscreen_justicest") - return DF_Type::viewscreen_justicest; - if (l_full_name == "viewscreen_kitchenprefst") - return DF_Type::viewscreen_kitchenprefst; - if (l_full_name == "viewscreen_legendsst") - return DF_Type::viewscreen_legendsst; - if (l_full_name == "viewscreen_locationsst") - return DF_Type::viewscreen_locationsst; - if (l_full_name == "viewscreen_loadgamest") - return DF_Type::viewscreen_loadgamest; - if (l_full_name == "viewscreen_meetingst") - return DF_Type::viewscreen_meetingst; - if (l_full_name == "viewscreen_movieplayerst") - return DF_Type::viewscreen_movieplayerst; - if (l_full_name == "viewscreen_new_regionst") - return DF_Type::viewscreen_new_regionst; - if (l_full_name == "viewscreen_noblest") - return DF_Type::viewscreen_noblest; - if (l_full_name == "viewscreen_optionst") - return DF_Type::viewscreen_optionst; - if (l_full_name == "viewscreen_overallstatusst") - return DF_Type::viewscreen_overallstatusst; - if (l_full_name == "viewscreen_petitionsst") - return DF_Type::viewscreen_petitionsst; - if (l_full_name == "viewscreen_petst") - return DF_Type::viewscreen_petst; - if (l_full_name == "viewscreen_pricest") - return DF_Type::viewscreen_pricest; - if (l_full_name == "viewscreen_reportlistst") - return DF_Type::viewscreen_reportlistst; - if (l_full_name == "viewscreen_requestagreementst") - return DF_Type::viewscreen_requestagreementst; - if (l_full_name == "viewscreen_savegamest") - return DF_Type::viewscreen_savegamest; - if (l_full_name == "viewscreen_selectitemst") - return DF_Type::viewscreen_selectitemst; - if (l_full_name == "viewscreen_setupadventurest") - return DF_Type::viewscreen_setupadventurest; - if (l_full_name == "viewscreen_setupdwarfgamest") - return DF_Type::viewscreen_setupdwarfgamest; - if (l_full_name == "viewscreen_storesst") - return DF_Type::viewscreen_storesst; - if (l_full_name == "viewscreen_textviewerst") - return DF_Type::viewscreen_textviewerst; - if (l_full_name == "viewscreen_titlest") - return DF_Type::viewscreen_titlest; - if (l_full_name == "viewscreen_topicmeetingst") - return DF_Type::viewscreen_topicmeetingst; - if (l_full_name == "viewscreen_topicmeeting_fill_land_holder_positionsst") - return DF_Type::viewscreen_topicmeeting_fill_land_holder_positionsst; - if (l_full_name == "viewscreen_topicmeeting_takerequestsst") - return DF_Type::viewscreen_topicmeeting_takerequestsst; - if (l_full_name == "viewscreen_tradeagreementst") - return DF_Type::viewscreen_tradeagreementst; - if (l_full_name == "viewscreen_tradegoodsst") - return DF_Type::viewscreen_tradegoodsst; - if (l_full_name == "viewscreen_tradelistst") - return DF_Type::viewscreen_tradelistst; - if (l_full_name == "viewscreen_treasurelistst") - return DF_Type::viewscreen_treasurelistst; - if (l_full_name == "viewscreen_unitst") - return DF_Type::viewscreen_unitst; - if (l_full_name == "viewscreen_unitlistst") - return DF_Type::viewscreen_unitlistst; - if (l_full_name == "viewscreen_wagesst") - return DF_Type::viewscreen_wagesst; - if (l_full_name == "viewscreen_workquota_conditionst") - return DF_Type::viewscreen_workquota_conditionst; - if (l_full_name == "viewscreen_workquota_detailsst") - return DF_Type::viewscreen_workquota_detailsst; - if (l_full_name == "viewscreen_workshop_profilest") - return DF_Type::viewscreen_workshop_profilest; - if (l_full_name == "viewscreen_update_regionst") - return DF_Type::viewscreen_update_regionst; - } - return DF_Type::None; -} - -DF_Type layer_object_subtype(uint64_t p_address) -{ - void* void_ptr = (void*)p_address; - auto object_ptr = (df::layer_object*)void_ptr; - - DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); - if (id != nullptr) - { - auto l_full_name = id->getFullName(); - if (l_full_name == "layer_object_listst") - return DF_Type::layer_object_listst; - if (l_full_name == "layer_object_buttonst") - return DF_Type::layer_object_buttonst; - } - return DF_Type::None; -} - -DF_Type world_gen_param_basest_subtype(uint64_t p_address) -{ - void* void_ptr = (void*)p_address; - auto object_ptr = (df::world_gen_param_basest*)void_ptr; - - DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); - if (id != nullptr) - { - auto l_full_name = id->getFullName(); - if (l_full_name == "world_gen_param_seedst") - return DF_Type::world_gen_param_seedst; - if (l_full_name == "world_gen_param_valuest") - return DF_Type::world_gen_param_valuest; - if (l_full_name == "world_gen_param_charst") - return DF_Type::world_gen_param_charst; - if (l_full_name == "world_gen_param_memberst") - return DF_Type::world_gen_param_memberst; - } - return DF_Type::None; -} - -DF_Type abstract_building_subtype(uint64_t p_address) -{ - void* void_ptr = (void*)p_address; - auto object_ptr = (df::abstract_building*)void_ptr; - - DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); - if (id != nullptr) - { - auto l_full_name = id->getFullName(); - if (l_full_name == "abstract_building_mead_hallst") - return DF_Type::abstract_building_mead_hallst; - if (l_full_name == "abstract_building_keepst") - return DF_Type::abstract_building_keepst; - if (l_full_name == "abstract_building_templest") - return DF_Type::abstract_building_templest; - if (l_full_name == "abstract_building_dark_towerst") - return DF_Type::abstract_building_dark_towerst; - if (l_full_name == "abstract_building_marketst") - return DF_Type::abstract_building_marketst; - if (l_full_name == "abstract_building_tombst") - return DF_Type::abstract_building_tombst; - if (l_full_name == "abstract_building_dungeonst") - return DF_Type::abstract_building_dungeonst; - if (l_full_name == "abstract_building_underworld_spirest") - return DF_Type::abstract_building_underworld_spirest; - if (l_full_name == "abstract_building_inn_tavernst") - return DF_Type::abstract_building_inn_tavernst; - if (l_full_name == "abstract_building_libraryst") - return DF_Type::abstract_building_libraryst; - } - return DF_Type::None; -} - -DF_Type site_realization_building_infost_subtype(uint64_t p_address) -{ - void* void_ptr = (void*)p_address; - auto object_ptr = (df::site_realization_building_infost*)void_ptr; - - DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); - if (id != nullptr) - { - auto l_full_name = id->getFullName(); - if (l_full_name == "site_realization_building_info_castle_wallst") - return DF_Type::site_realization_building_info_castle_wallst; - if (l_full_name == "site_realization_building_info_castle_towerst") - return DF_Type::site_realization_building_info_castle_towerst; - if (l_full_name == "site_realization_building_info_castle_courtyardst") - return DF_Type::site_realization_building_info_castle_courtyardst; - if (l_full_name == "site_realization_building_info_shop_housest") - return DF_Type::site_realization_building_info_shop_housest; - if (l_full_name == "site_realization_building_info_market_squarest") - return DF_Type::site_realization_building_info_market_squarest; - if (l_full_name == "site_realization_building_info_trenchesst") - return DF_Type::site_realization_building_info_trenchesst; - if (l_full_name == "site_realization_building_info_tree_housest") - return DF_Type::site_realization_building_info_tree_housest; - if (l_full_name == "site_realization_building_info_hillock_housest") - return DF_Type::site_realization_building_info_hillock_housest; - } - return DF_Type::None; -} - -DF_Type creation_zone_pwg_alterationst_subtype(uint64_t p_address) -{ - void* void_ptr = (void*)p_address; - auto object_ptr = (df::creation_zone_pwg_alterationst*)void_ptr; - - DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); - if (id != nullptr) - { - auto l_full_name = id->getFullName(); - if (l_full_name == "creation_zone_pwg_alteration_location_deathst") - return DF_Type::creation_zone_pwg_alteration_location_deathst; - if (l_full_name == "creation_zone_pwg_alteration_campst") - return DF_Type::creation_zone_pwg_alteration_campst; - if (l_full_name == "creation_zone_pwg_alteration_srb_ruinedst") - return DF_Type::creation_zone_pwg_alteration_srb_ruinedst; - if (l_full_name == "creation_zone_pwg_alteration_srp_ruinedst") - return DF_Type::creation_zone_pwg_alteration_srp_ruinedst; - } - return DF_Type::None; -} - - - DF_Type get_df_subtype(DF_Type p_base_type, uint64_t p_address) - { - switch(p_base_type) - { - case DF_Type::text_info_elementst: return text_info_elementst_subtype(p_address); - case DF_Type::adventure_optionst: return adventure_optionst_subtype(p_address); - case DF_Type::adventure_movement_optionst: return adventure_movement_optionst_subtype(p_address); - case DF_Type::adventure_item_interact_choicest: return adventure_item_interact_choicest_subtype(p_address); - case DF_Type::art_image_element: return art_image_element_subtype(p_address); - case DF_Type::art_image_property: return art_image_property_subtype(p_address); - case DF_Type::building_def: return building_def_subtype(p_address); - case DF_Type::building: return building_subtype(p_address); - case DF_Type::mental_picture_propertyst: return mental_picture_propertyst_subtype(p_address); - case DF_Type::mental_picture_elementst: return mental_picture_elementst_subtype(p_address); - case DF_Type::history_event: return history_event_subtype(p_address); - case DF_Type::history_event_collection: return history_event_collection_subtype(p_address); - case DF_Type::interaction_effect: return interaction_effect_subtype(p_address); - case DF_Type::interaction_source: return interaction_source_subtype(p_address); - case DF_Type::interaction_target: return interaction_target_subtype(p_address); - case DF_Type::itemdef: return itemdef_subtype(p_address); - case DF_Type::itemimprovement: return itemimprovement_subtype(p_address); - case DF_Type::spatter_common: return spatter_common_subtype(p_address); - case DF_Type::item: return item_subtype(p_address); - case DF_Type::machine: return machine_subtype(p_address); - case DF_Type::block_square_event: return block_square_event_subtype(p_address); - case DF_Type::feature: return feature_subtype(p_address); - case DF_Type::feature_init: return feature_init_subtype(p_address); - case DF_Type::feature_alteration: return feature_alteration_subtype(p_address); - case DF_Type::world_construction_square: return world_construction_square_subtype(p_address); - case DF_Type::world_construction: return world_construction_subtype(p_address); - case DF_Type::flow_guide: return flow_guide_subtype(p_address); - case DF_Type::region_block_eventst: return region_block_eventst_subtype(p_address); - case DF_Type::material_common: return material_common_subtype(p_address); - case DF_Type::script_stepst: return script_stepst_subtype(p_address); - case DF_Type::script_varst: return script_varst_subtype(p_address); - case DF_Type::active_script_varst: return active_script_varst_subtype(p_address); - case DF_Type::activity_event: return activity_event_subtype(p_address); - case DF_Type::squad_order: return squad_order_subtype(p_address); - case DF_Type::projectile: return projectile_subtype(p_address); - case DF_Type::reaction_reagent: return reaction_reagent_subtype(p_address); - case DF_Type::reaction_product: return reaction_product_subtype(p_address); - case DF_Type::general_ref: return general_ref_subtype(p_address); - case DF_Type::histfig_entity_link: return histfig_entity_link_subtype(p_address); - case DF_Type::histfig_site_link: return histfig_site_link_subtype(p_address); - case DF_Type::histfig_hf_link: return histfig_hf_link_subtype(p_address); - case DF_Type::resource_allotment_specifier: return resource_allotment_specifier_subtype(p_address); - case DF_Type::creature_interaction_effect: return creature_interaction_effect_subtype(p_address); - case DF_Type::build_req_choicest: return build_req_choicest_subtype(p_address); - case DF_Type::interface_button: return interface_button_subtype(p_address); - case DF_Type::viewscreen: return viewscreen_subtype(p_address); - case DF_Type::layer_object: return layer_object_subtype(p_address); - case DF_Type::world_gen_param_basest: return world_gen_param_basest_subtype(p_address); - case DF_Type::abstract_building: return abstract_building_subtype(p_address); - case DF_Type::site_realization_building_infost: return site_realization_building_infost_subtype(p_address); - case DF_Type::creation_zone_pwg_alterationst: return creation_zone_pwg_alterationst_subtype(p_address); - default: break; - } - return DF_Type::None; - } +#include +#include "DF_Types.h" +#include "df_all.h" +#include "node.h" + + +using namespace rdf; + +DF_Type text_info_elementst_subtype(uint64_t p_address) +{ + void* void_ptr = (void*)p_address; + auto object_ptr = (df::text_info_elementst*)void_ptr; + + DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); + if (id != nullptr) + { + auto l_full_name = id->getFullName(); + if (l_full_name == "text_info_element_longst") + return DF_Type::text_info_element_longst; + if (l_full_name == "text_info_element_stringst") + return DF_Type::text_info_element_stringst; + } + return DF_Type::None; +} + +DF_Type adventure_optionst_subtype(uint64_t p_address) +{ + void* void_ptr = (void*)p_address; + auto object_ptr = (df::adventure_optionst*)void_ptr; + + DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); + if (id != nullptr) + { + auto l_full_name = id->getFullName(); + if (l_full_name == "adventure_option_eat_unit_contaminantst") + return DF_Type::adventure_option_eat_unit_contaminantst; + if (l_full_name == "adventure_option_eat_item_contaminantst") + return DF_Type::adventure_option_eat_item_contaminantst; + if (l_full_name == "adventure_option_view_contaminantst") + return DF_Type::adventure_option_view_contaminantst; + if (l_full_name == "adventure_environment_optionst") + return DF_Type::adventure_environment_optionst; + if (l_full_name == "adventure_environment_place_in_it_containerst") + return DF_Type::adventure_environment_place_in_it_containerst; + if (l_full_name == "adventure_environment_ingest_from_containerst") + return DF_Type::adventure_environment_ingest_from_containerst; + if (l_full_name == "adventure_environment_pickup_ignite_vegst") + return DF_Type::adventure_environment_pickup_ignite_vegst; + if (l_full_name == "adventure_environment_ingest_materialst") + return DF_Type::adventure_environment_ingest_materialst; + if (l_full_name == "adventure_environment_pickup_make_campfirest") + return DF_Type::adventure_environment_pickup_make_campfirest; + if (l_full_name == "adventure_environment_place_in_bld_containerst") + return DF_Type::adventure_environment_place_in_bld_containerst; + if (l_full_name == "adventure_environment_pickup_vermin_eventst") + return DF_Type::adventure_environment_pickup_vermin_eventst; + if (l_full_name == "adventure_environment_pickup_chop_treest") + return DF_Type::adventure_environment_pickup_chop_treest; + if (l_full_name == "adventure_environment_unit_suck_bloodst") + return DF_Type::adventure_environment_unit_suck_bloodst; + } + return DF_Type::None; +} + +DF_Type adventure_movement_optionst_subtype(uint64_t p_address) +{ + void* void_ptr = (void*)p_address; + auto object_ptr = (df::adventure_movement_optionst*)void_ptr; + + DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); + if (id != nullptr) + { + auto l_full_name = id->getFullName(); + if (l_full_name == "adventure_movement_release_hold_itemst") + return DF_Type::adventure_movement_release_hold_itemst; + if (l_full_name == "adventure_movement_release_hold_tilest") + return DF_Type::adventure_movement_release_hold_tilest; + if (l_full_name == "adventure_movement_attack_creaturest") + return DF_Type::adventure_movement_attack_creaturest; + if (l_full_name == "adventure_movement_hold_tilest") + return DF_Type::adventure_movement_hold_tilest; + if (l_full_name == "adventure_movement_movest") + return DF_Type::adventure_movement_movest; + if (l_full_name == "adventure_movement_climbst") + return DF_Type::adventure_movement_climbst; + if (l_full_name == "adventure_movement_hold_itemst") + return DF_Type::adventure_movement_hold_itemst; + if (l_full_name == "adventure_movement_building_interactst") + return DF_Type::adventure_movement_building_interactst; + if (l_full_name == "adventure_movement_item_interactst") + return DF_Type::adventure_movement_item_interactst; + if (l_full_name == "adventure_movement_item_interact_guidest") + return DF_Type::adventure_movement_item_interact_guidest; + if (l_full_name == "adventure_movement_item_interact_ridest") + return DF_Type::adventure_movement_item_interact_ridest; + if (l_full_name == "adventure_movement_item_interact_pushst") + return DF_Type::adventure_movement_item_interact_pushst; + } + return DF_Type::None; +} + +DF_Type adventure_item_interact_choicest_subtype(uint64_t p_address) +{ + void* void_ptr = (void*)p_address; + auto object_ptr = (df::adventure_item_interact_choicest*)void_ptr; + + DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); + if (id != nullptr) + { + auto l_full_name = id->getFullName(); + if (l_full_name == "adventure_item_interact_pull_outst") + return DF_Type::adventure_item_interact_pull_outst; + if (l_full_name == "adventure_item_interact_heat_from_tilest") + return DF_Type::adventure_item_interact_heat_from_tilest; + if (l_full_name == "adventure_item_interact_fill_from_containerst") + return DF_Type::adventure_item_interact_fill_from_containerst; + if (l_full_name == "adventure_item_interact_readst") + return DF_Type::adventure_item_interact_readst; + if (l_full_name == "adventure_item_interact_fill_with_materialst") + return DF_Type::adventure_item_interact_fill_with_materialst; + if (l_full_name == "adventure_item_interact_strugglest") + return DF_Type::adventure_item_interact_strugglest; + if (l_full_name == "adventure_item_interact_give_namest") + return DF_Type::adventure_item_interact_give_namest; + } + return DF_Type::None; +} + +DF_Type art_image_element_subtype(uint64_t p_address) +{ + void* void_ptr = (void*)p_address; + auto object_ptr = (df::art_image_element*)void_ptr; + + DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); + if (id != nullptr) + { + auto l_full_name = id->getFullName(); + if (l_full_name == "art_image_element_creaturest") + return DF_Type::art_image_element_creaturest; + if (l_full_name == "art_image_element_plantst") + return DF_Type::art_image_element_plantst; + if (l_full_name == "art_image_element_treest") + return DF_Type::art_image_element_treest; + if (l_full_name == "art_image_element_shapest") + return DF_Type::art_image_element_shapest; + if (l_full_name == "art_image_element_itemst") + return DF_Type::art_image_element_itemst; + } + return DF_Type::None; +} + +DF_Type art_image_property_subtype(uint64_t p_address) +{ + void* void_ptr = (void*)p_address; + auto object_ptr = (df::art_image_property*)void_ptr; + + DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); + if (id != nullptr) + { + auto l_full_name = id->getFullName(); + if (l_full_name == "art_image_property_transitive_verbst") + return DF_Type::art_image_property_transitive_verbst; + if (l_full_name == "art_image_property_intransitive_verbst") + return DF_Type::art_image_property_intransitive_verbst; + } + return DF_Type::None; +} + +DF_Type building_def_subtype(uint64_t p_address) +{ + void* void_ptr = (void*)p_address; + auto object_ptr = (df::building_def*)void_ptr; + + DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); + if (id != nullptr) + { + auto l_full_name = id->getFullName(); + if (l_full_name == "building_def_workshopst") + return DF_Type::building_def_workshopst; + if (l_full_name == "building_def_furnacest") + return DF_Type::building_def_furnacest; + } + return DF_Type::None; +} + +DF_Type building_subtype(uint64_t p_address) +{ + void* void_ptr = (void*)p_address; + auto object_ptr = (df::building*)void_ptr; + + DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); + if (id != nullptr) + { + auto l_full_name = id->getFullName(); + if (l_full_name == "building_stockpilest") + return DF_Type::building_stockpilest; + if (l_full_name == "building_civzonest") + return DF_Type::building_civzonest; + if (l_full_name == "building_actual") + return DF_Type::building_actual; + if (l_full_name == "building_furnacest") + return DF_Type::building_furnacest; + if (l_full_name == "building_workshopst") + return DF_Type::building_workshopst; + if (l_full_name == "building_animaltrapst") + return DF_Type::building_animaltrapst; + if (l_full_name == "building_archerytargetst") + return DF_Type::building_archerytargetst; + if (l_full_name == "building_armorstandst") + return DF_Type::building_armorstandst; + if (l_full_name == "building_bars_verticalst") + return DF_Type::building_bars_verticalst; + if (l_full_name == "building_bars_floorst") + return DF_Type::building_bars_floorst; + if (l_full_name == "building_bedst") + return DF_Type::building_bedst; + if (l_full_name == "building_bookcasest") + return DF_Type::building_bookcasest; + if (l_full_name == "building_boxst") + return DF_Type::building_boxst; + if (l_full_name == "building_bridgest") + return DF_Type::building_bridgest; + if (l_full_name == "building_cabinetst") + return DF_Type::building_cabinetst; + if (l_full_name == "building_cagest") + return DF_Type::building_cagest; + if (l_full_name == "building_chainst") + return DF_Type::building_chainst; + if (l_full_name == "building_chairst") + return DF_Type::building_chairst; + if (l_full_name == "building_coffinst") + return DF_Type::building_coffinst; + if (l_full_name == "building_constructionst") + return DF_Type::building_constructionst; + if (l_full_name == "building_display_furniturest") + return DF_Type::building_display_furniturest; + if (l_full_name == "building_doorst") + return DF_Type::building_doorst; + if (l_full_name == "building_farmplotst") + return DF_Type::building_farmplotst; + if (l_full_name == "building_floodgatest") + return DF_Type::building_floodgatest; + if (l_full_name == "building_grate_floorst") + return DF_Type::building_grate_floorst; + if (l_full_name == "building_grate_wallst") + return DF_Type::building_grate_wallst; + if (l_full_name == "building_hatchst") + return DF_Type::building_hatchst; + if (l_full_name == "building_hivest") + return DF_Type::building_hivest; + if (l_full_name == "building_instrumentst") + return DF_Type::building_instrumentst; + if (l_full_name == "building_nestst") + return DF_Type::building_nestst; + if (l_full_name == "building_nest_boxst") + return DF_Type::building_nest_boxst; + if (l_full_name == "building_roadst") + return DF_Type::building_roadst; + if (l_full_name == "building_road_dirtst") + return DF_Type::building_road_dirtst; + if (l_full_name == "building_road_pavedst") + return DF_Type::building_road_pavedst; + if (l_full_name == "building_shopst") + return DF_Type::building_shopst; + if (l_full_name == "building_siegeenginest") + return DF_Type::building_siegeenginest; + if (l_full_name == "building_slabst") + return DF_Type::building_slabst; + if (l_full_name == "building_statuest") + return DF_Type::building_statuest; + if (l_full_name == "building_supportst") + return DF_Type::building_supportst; + if (l_full_name == "building_tablest") + return DF_Type::building_tablest; + if (l_full_name == "building_traction_benchst") + return DF_Type::building_traction_benchst; + if (l_full_name == "building_tradedepotst") + return DF_Type::building_tradedepotst; + if (l_full_name == "building_trapst") + return DF_Type::building_trapst; + if (l_full_name == "building_wagonst") + return DF_Type::building_wagonst; + if (l_full_name == "building_weaponst") + return DF_Type::building_weaponst; + if (l_full_name == "building_weaponrackst") + return DF_Type::building_weaponrackst; + if (l_full_name == "building_wellst") + return DF_Type::building_wellst; + if (l_full_name == "building_windowst") + return DF_Type::building_windowst; + if (l_full_name == "building_window_glassst") + return DF_Type::building_window_glassst; + if (l_full_name == "building_window_gemst") + return DF_Type::building_window_gemst; + if (l_full_name == "building_axle_horizontalst") + return DF_Type::building_axle_horizontalst; + if (l_full_name == "building_axle_verticalst") + return DF_Type::building_axle_verticalst; + if (l_full_name == "building_gear_assemblyst") + return DF_Type::building_gear_assemblyst; + if (l_full_name == "building_windmillst") + return DF_Type::building_windmillst; + if (l_full_name == "building_water_wheelst") + return DF_Type::building_water_wheelst; + if (l_full_name == "building_screw_pumpst") + return DF_Type::building_screw_pumpst; + if (l_full_name == "building_rollersst") + return DF_Type::building_rollersst; + } + return DF_Type::None; +} + +DF_Type mental_picture_propertyst_subtype(uint64_t p_address) +{ + void* void_ptr = (void*)p_address; + auto object_ptr = (df::mental_picture_propertyst*)void_ptr; + + DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); + if (id != nullptr) + { + auto l_full_name = id->getFullName(); + if (l_full_name == "mental_picture_property_datest") + return DF_Type::mental_picture_property_datest; + if (l_full_name == "mental_picture_property_actionst") + return DF_Type::mental_picture_property_actionst; + if (l_full_name == "mental_picture_property_toolst") + return DF_Type::mental_picture_property_toolst; + if (l_full_name == "mental_picture_property_emotionst") + return DF_Type::mental_picture_property_emotionst; + if (l_full_name == "mental_picture_property_color_patternst") + return DF_Type::mental_picture_property_color_patternst; + if (l_full_name == "mental_picture_property_shapest") + return DF_Type::mental_picture_property_shapest; + if (l_full_name == "mental_picture_property_adjectivest") + return DF_Type::mental_picture_property_adjectivest; + if (l_full_name == "mental_picture_property_positionst") + return DF_Type::mental_picture_property_positionst; + if (l_full_name == "mental_picture_property_timest") + return DF_Type::mental_picture_property_timest; + } + return DF_Type::None; +} + +DF_Type mental_picture_elementst_subtype(uint64_t p_address) +{ + void* void_ptr = (void*)p_address; + auto object_ptr = (df::mental_picture_elementst*)void_ptr; + + DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); + if (id != nullptr) + { + auto l_full_name = id->getFullName(); + if (l_full_name == "mental_picture_element_hfst") + return DF_Type::mental_picture_element_hfst; + if (l_full_name == "mental_picture_element_sitest") + return DF_Type::mental_picture_element_sitest; + if (l_full_name == "mental_picture_element_regionst") + return DF_Type::mental_picture_element_regionst; + } + return DF_Type::None; +} + +DF_Type history_event_subtype(uint64_t p_address) +{ + void* void_ptr = (void*)p_address; + auto object_ptr = (df::history_event*)void_ptr; + + DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); + if (id != nullptr) + { + auto l_full_name = id->getFullName(); + if (l_full_name == "history_event_war_attacked_sitest") + return DF_Type::history_event_war_attacked_sitest; + if (l_full_name == "history_event_war_destroyed_sitest") + return DF_Type::history_event_war_destroyed_sitest; + if (l_full_name == "history_event_created_sitest") + return DF_Type::history_event_created_sitest; + if (l_full_name == "history_event_hist_figure_diedst") + return DF_Type::history_event_hist_figure_diedst; + if (l_full_name == "history_event_add_hf_entity_linkst") + return DF_Type::history_event_add_hf_entity_linkst; + if (l_full_name == "history_event_remove_hf_entity_linkst") + return DF_Type::history_event_remove_hf_entity_linkst; + if (l_full_name == "history_event_entity_expels_hfst") + return DF_Type::history_event_entity_expels_hfst; + if (l_full_name == "history_event_first_contactst") + return DF_Type::history_event_first_contactst; + if (l_full_name == "history_event_first_contact_failedst") + return DF_Type::history_event_first_contact_failedst; + if (l_full_name == "history_event_topicagreement_concludedst") + return DF_Type::history_event_topicagreement_concludedst; + if (l_full_name == "history_event_topicagreement_rejectedst") + return DF_Type::history_event_topicagreement_rejectedst; + if (l_full_name == "history_event_topicagreement_madest") + return DF_Type::history_event_topicagreement_madest; + if (l_full_name == "history_event_war_peace_acceptedst") + return DF_Type::history_event_war_peace_acceptedst; + if (l_full_name == "history_event_war_peace_rejectedst") + return DF_Type::history_event_war_peace_rejectedst; + if (l_full_name == "history_event_diplomat_lostst") + return DF_Type::history_event_diplomat_lostst; + if (l_full_name == "history_event_agreements_voidedst") + return DF_Type::history_event_agreements_voidedst; + if (l_full_name == "history_event_merchantst") + return DF_Type::history_event_merchantst; + if (l_full_name == "history_event_artifact_hiddenst") + return DF_Type::history_event_artifact_hiddenst; + if (l_full_name == "history_event_artifact_possessedst") + return DF_Type::history_event_artifact_possessedst; + if (l_full_name == "history_event_artifact_createdst") + return DF_Type::history_event_artifact_createdst; + if (l_full_name == "history_event_artifact_lostst") + return DF_Type::history_event_artifact_lostst; + if (l_full_name == "history_event_artifact_foundst") + return DF_Type::history_event_artifact_foundst; + if (l_full_name == "history_event_artifact_recoveredst") + return DF_Type::history_event_artifact_recoveredst; + if (l_full_name == "history_event_artifact_droppedst") + return DF_Type::history_event_artifact_droppedst; + if (l_full_name == "history_event_reclaim_sitest") + return DF_Type::history_event_reclaim_sitest; + if (l_full_name == "history_event_hf_destroyed_sitest") + return DF_Type::history_event_hf_destroyed_sitest; + if (l_full_name == "history_event_site_diedst") + return DF_Type::history_event_site_diedst; + if (l_full_name == "history_event_site_retiredst") + return DF_Type::history_event_site_retiredst; + if (l_full_name == "history_event_entity_createdst") + return DF_Type::history_event_entity_createdst; + if (l_full_name == "history_event_entity_actionst") + return DF_Type::history_event_entity_actionst; + if (l_full_name == "history_event_entity_incorporatedst") + return DF_Type::history_event_entity_incorporatedst; + if (l_full_name == "history_event_created_buildingst") + return DF_Type::history_event_created_buildingst; + if (l_full_name == "history_event_replaced_buildingst") + return DF_Type::history_event_replaced_buildingst; + if (l_full_name == "history_event_add_hf_site_linkst") + return DF_Type::history_event_add_hf_site_linkst; + if (l_full_name == "history_event_remove_hf_site_linkst") + return DF_Type::history_event_remove_hf_site_linkst; + if (l_full_name == "history_event_add_hf_hf_linkst") + return DF_Type::history_event_add_hf_hf_linkst; + if (l_full_name == "history_event_remove_hf_hf_linkst") + return DF_Type::history_event_remove_hf_hf_linkst; + if (l_full_name == "history_event_entity_razed_buildingst") + return DF_Type::history_event_entity_razed_buildingst; + if (l_full_name == "history_event_masterpiece_createdst") + return DF_Type::history_event_masterpiece_createdst; + if (l_full_name == "history_event_masterpiece_created_arch_designst") + return DF_Type::history_event_masterpiece_created_arch_designst; + if (l_full_name == "history_event_masterpiece_created_arch_constructst") + return DF_Type::history_event_masterpiece_created_arch_constructst; + if (l_full_name == "history_event_masterpiece_created_itemst") + return DF_Type::history_event_masterpiece_created_itemst; + if (l_full_name == "history_event_masterpiece_created_dye_itemst") + return DF_Type::history_event_masterpiece_created_dye_itemst; + if (l_full_name == "history_event_masterpiece_created_item_improvementst") + return DF_Type::history_event_masterpiece_created_item_improvementst; + if (l_full_name == "history_event_masterpiece_created_foodst") + return DF_Type::history_event_masterpiece_created_foodst; + if (l_full_name == "history_event_masterpiece_created_engravingst") + return DF_Type::history_event_masterpiece_created_engravingst; + if (l_full_name == "history_event_masterpiece_lostst") + return DF_Type::history_event_masterpiece_lostst; + if (l_full_name == "history_event_change_hf_statest") + return DF_Type::history_event_change_hf_statest; + if (l_full_name == "history_event_change_hf_jobst") + return DF_Type::history_event_change_hf_jobst; + if (l_full_name == "history_event_war_field_battlest") + return DF_Type::history_event_war_field_battlest; + if (l_full_name == "history_event_war_plundered_sitest") + return DF_Type::history_event_war_plundered_sitest; + if (l_full_name == "history_event_war_site_new_leaderst") + return DF_Type::history_event_war_site_new_leaderst; + if (l_full_name == "history_event_war_site_tribute_forcedst") + return DF_Type::history_event_war_site_tribute_forcedst; + if (l_full_name == "history_event_war_site_taken_overst") + return DF_Type::history_event_war_site_taken_overst; + if (l_full_name == "history_event_site_surrenderedst") + return DF_Type::history_event_site_surrenderedst; + if (l_full_name == "history_event_body_abusedst") + return DF_Type::history_event_body_abusedst; + if (l_full_name == "history_event_hist_figure_abductedst") + return DF_Type::history_event_hist_figure_abductedst; + if (l_full_name == "history_event_item_stolenst") + return DF_Type::history_event_item_stolenst; + if (l_full_name == "history_event_hf_razed_buildingst") + return DF_Type::history_event_hf_razed_buildingst; + if (l_full_name == "history_event_creature_devouredst") + return DF_Type::history_event_creature_devouredst; + if (l_full_name == "history_event_hist_figure_woundedst") + return DF_Type::history_event_hist_figure_woundedst; + if (l_full_name == "history_event_hist_figure_simple_battle_eventst") + return DF_Type::history_event_hist_figure_simple_battle_eventst; + if (l_full_name == "history_event_created_world_constructionst") + return DF_Type::history_event_created_world_constructionst; + if (l_full_name == "history_event_hist_figure_reunionst") + return DF_Type::history_event_hist_figure_reunionst; + if (l_full_name == "history_event_hist_figure_reach_summitst") + return DF_Type::history_event_hist_figure_reach_summitst; + if (l_full_name == "history_event_hist_figure_travelst") + return DF_Type::history_event_hist_figure_travelst; + if (l_full_name == "history_event_hist_figure_new_petst") + return DF_Type::history_event_hist_figure_new_petst; + if (l_full_name == "history_event_assume_identityst") + return DF_Type::history_event_assume_identityst; + if (l_full_name == "history_event_create_entity_positionst") + return DF_Type::history_event_create_entity_positionst; + if (l_full_name == "history_event_change_creature_typest") + return DF_Type::history_event_change_creature_typest; + if (l_full_name == "history_event_hist_figure_revivedst") + return DF_Type::history_event_hist_figure_revivedst; + if (l_full_name == "history_event_hf_learns_secretst") + return DF_Type::history_event_hf_learns_secretst; + if (l_full_name == "history_event_change_hf_body_statest") + return DF_Type::history_event_change_hf_body_statest; + if (l_full_name == "history_event_hf_act_on_buildingst") + return DF_Type::history_event_hf_act_on_buildingst; + if (l_full_name == "history_event_hf_does_interactionst") + return DF_Type::history_event_hf_does_interactionst; + if (l_full_name == "history_event_hf_confrontedst") + return DF_Type::history_event_hf_confrontedst; + if (l_full_name == "history_event_entity_lawst") + return DF_Type::history_event_entity_lawst; + if (l_full_name == "history_event_hf_gains_secret_goalst") + return DF_Type::history_event_hf_gains_secret_goalst; + if (l_full_name == "history_event_artifact_storedst") + return DF_Type::history_event_artifact_storedst; + if (l_full_name == "history_event_agreement_formedst") + return DF_Type::history_event_agreement_formedst; + if (l_full_name == "history_event_site_disputest") + return DF_Type::history_event_site_disputest; + if (l_full_name == "history_event_agreement_concludedst") + return DF_Type::history_event_agreement_concludedst; + if (l_full_name == "history_event_insurrection_startedst") + return DF_Type::history_event_insurrection_startedst; + if (l_full_name == "history_event_insurrection_endedst") + return DF_Type::history_event_insurrection_endedst; + if (l_full_name == "history_event_hf_attacked_sitest") + return DF_Type::history_event_hf_attacked_sitest; + if (l_full_name == "history_event_performancest") + return DF_Type::history_event_performancest; + if (l_full_name == "history_event_competitionst") + return DF_Type::history_event_competitionst; + if (l_full_name == "history_event_processionst") + return DF_Type::history_event_processionst; + if (l_full_name == "history_event_ceremonyst") + return DF_Type::history_event_ceremonyst; + if (l_full_name == "history_event_knowledge_discoveredst") + return DF_Type::history_event_knowledge_discoveredst; + if (l_full_name == "history_event_artifact_transformedst") + return DF_Type::history_event_artifact_transformedst; + if (l_full_name == "history_event_artifact_destroyedst") + return DF_Type::history_event_artifact_destroyedst; + if (l_full_name == "history_event_hf_relationship_deniedst") + return DF_Type::history_event_hf_relationship_deniedst; + if (l_full_name == "history_event_regionpop_incorporated_into_entityst") + return DF_Type::history_event_regionpop_incorporated_into_entityst; + if (l_full_name == "history_event_poetic_form_createdst") + return DF_Type::history_event_poetic_form_createdst; + if (l_full_name == "history_event_musical_form_createdst") + return DF_Type::history_event_musical_form_createdst; + if (l_full_name == "history_event_dance_form_createdst") + return DF_Type::history_event_dance_form_createdst; + if (l_full_name == "history_event_written_content_composedst") + return DF_Type::history_event_written_content_composedst; + if (l_full_name == "history_event_change_hf_moodst") + return DF_Type::history_event_change_hf_moodst; + if (l_full_name == "history_event_artifact_claim_formedst") + return DF_Type::history_event_artifact_claim_formedst; + if (l_full_name == "history_event_artifact_givenst") + return DF_Type::history_event_artifact_givenst; + if (l_full_name == "history_event_hf_act_on_artifactst") + return DF_Type::history_event_hf_act_on_artifactst; + if (l_full_name == "history_event_hf_recruited_unit_type_for_entityst") + return DF_Type::history_event_hf_recruited_unit_type_for_entityst; + if (l_full_name == "history_event_hfs_formed_reputation_relationshipst") + return DF_Type::history_event_hfs_formed_reputation_relationshipst; + if (l_full_name == "history_event_artifact_copiedst") + return DF_Type::history_event_artifact_copiedst; + if (l_full_name == "history_event_sneak_into_sitest") + return DF_Type::history_event_sneak_into_sitest; + if (l_full_name == "history_event_spotted_leaving_sitest") + return DF_Type::history_event_spotted_leaving_sitest; + if (l_full_name == "history_event_entity_searched_sitest") + return DF_Type::history_event_entity_searched_sitest; + if (l_full_name == "history_event_hf_freedst") + return DF_Type::history_event_hf_freedst; + if (l_full_name == "history_event_hist_figure_simple_actionst") + return DF_Type::history_event_hist_figure_simple_actionst; + if (l_full_name == "history_event_entity_rampaged_in_sitest") + return DF_Type::history_event_entity_rampaged_in_sitest; + if (l_full_name == "history_event_entity_fled_sitest") + return DF_Type::history_event_entity_fled_sitest; + if (l_full_name == "history_event_tactical_situationst") + return DF_Type::history_event_tactical_situationst; + if (l_full_name == "history_event_squad_vs_squadst") + return DF_Type::history_event_squad_vs_squadst; + } + return DF_Type::None; +} + +DF_Type history_event_collection_subtype(uint64_t p_address) +{ + void* void_ptr = (void*)p_address; + auto object_ptr = (df::history_event_collection*)void_ptr; + + DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); + if (id != nullptr) + { + auto l_full_name = id->getFullName(); + if (l_full_name == "history_event_collection_warst") + return DF_Type::history_event_collection_warst; + if (l_full_name == "history_event_collection_battlest") + return DF_Type::history_event_collection_battlest; + if (l_full_name == "history_event_collection_duelst") + return DF_Type::history_event_collection_duelst; + if (l_full_name == "history_event_collection_site_conqueredst") + return DF_Type::history_event_collection_site_conqueredst; + if (l_full_name == "history_event_collection_abductionst") + return DF_Type::history_event_collection_abductionst; + if (l_full_name == "history_event_collection_theftst") + return DF_Type::history_event_collection_theftst; + if (l_full_name == "history_event_collection_beast_attackst") + return DF_Type::history_event_collection_beast_attackst; + if (l_full_name == "history_event_collection_journeyst") + return DF_Type::history_event_collection_journeyst; + if (l_full_name == "history_event_collection_insurrectionst") + return DF_Type::history_event_collection_insurrectionst; + if (l_full_name == "history_event_collection_occasionst") + return DF_Type::history_event_collection_occasionst; + if (l_full_name == "history_event_collection_performancest") + return DF_Type::history_event_collection_performancest; + if (l_full_name == "history_event_collection_competitionst") + return DF_Type::history_event_collection_competitionst; + if (l_full_name == "history_event_collection_processionst") + return DF_Type::history_event_collection_processionst; + if (l_full_name == "history_event_collection_ceremonyst") + return DF_Type::history_event_collection_ceremonyst; + if (l_full_name == "history_event_collection_purgest") + return DF_Type::history_event_collection_purgest; + if (l_full_name == "history_event_collection_raidst") + return DF_Type::history_event_collection_raidst; + } + return DF_Type::None; +} + +DF_Type interaction_effect_subtype(uint64_t p_address) +{ + void* void_ptr = (void*)p_address; + auto object_ptr = (df::interaction_effect*)void_ptr; + + DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); + if (id != nullptr) + { + auto l_full_name = id->getFullName(); + if (l_full_name == "interaction_effect_animatest") + return DF_Type::interaction_effect_animatest; + if (l_full_name == "interaction_effect_add_syndromest") + return DF_Type::interaction_effect_add_syndromest; + if (l_full_name == "interaction_effect_resurrectst") + return DF_Type::interaction_effect_resurrectst; + if (l_full_name == "interaction_effect_cleanst") + return DF_Type::interaction_effect_cleanst; + if (l_full_name == "interaction_effect_contactst") + return DF_Type::interaction_effect_contactst; + if (l_full_name == "interaction_effect_material_emissionst") + return DF_Type::interaction_effect_material_emissionst; + if (l_full_name == "interaction_effect_hidest") + return DF_Type::interaction_effect_hidest; + } + return DF_Type::None; +} + +DF_Type interaction_source_subtype(uint64_t p_address) +{ + void* void_ptr = (void*)p_address; + auto object_ptr = (df::interaction_source*)void_ptr; + + DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); + if (id != nullptr) + { + auto l_full_name = id->getFullName(); + if (l_full_name == "interaction_source_regionst") + return DF_Type::interaction_source_regionst; + if (l_full_name == "interaction_source_secretst") + return DF_Type::interaction_source_secretst; + if (l_full_name == "interaction_source_disturbancest") + return DF_Type::interaction_source_disturbancest; + if (l_full_name == "interaction_source_deityst") + return DF_Type::interaction_source_deityst; + if (l_full_name == "interaction_source_attackst") + return DF_Type::interaction_source_attackst; + if (l_full_name == "interaction_source_ingestionst") + return DF_Type::interaction_source_ingestionst; + if (l_full_name == "interaction_source_creature_actionst") + return DF_Type::interaction_source_creature_actionst; + if (l_full_name == "interaction_source_underground_specialst") + return DF_Type::interaction_source_underground_specialst; + } + return DF_Type::None; +} + +DF_Type interaction_target_subtype(uint64_t p_address) +{ + void* void_ptr = (void*)p_address; + auto object_ptr = (df::interaction_target*)void_ptr; + + DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); + if (id != nullptr) + { + auto l_full_name = id->getFullName(); + if (l_full_name == "interaction_target_corpsest") + return DF_Type::interaction_target_corpsest; + if (l_full_name == "interaction_target_creaturest") + return DF_Type::interaction_target_creaturest; + if (l_full_name == "interaction_target_materialst") + return DF_Type::interaction_target_materialst; + if (l_full_name == "interaction_target_locationst") + return DF_Type::interaction_target_locationst; + } + return DF_Type::None; +} + +DF_Type itemdef_subtype(uint64_t p_address) +{ + void* void_ptr = (void*)p_address; + auto object_ptr = (df::itemdef*)void_ptr; + + DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); + if (id != nullptr) + { + auto l_full_name = id->getFullName(); + if (l_full_name == "itemdef_ammost") + return DF_Type::itemdef_ammost; + if (l_full_name == "itemdef_armorst") + return DF_Type::itemdef_armorst; + if (l_full_name == "itemdef_foodst") + return DF_Type::itemdef_foodst; + if (l_full_name == "itemdef_glovesst") + return DF_Type::itemdef_glovesst; + if (l_full_name == "itemdef_helmst") + return DF_Type::itemdef_helmst; + if (l_full_name == "itemdef_instrumentst") + return DF_Type::itemdef_instrumentst; + if (l_full_name == "itemdef_pantsst") + return DF_Type::itemdef_pantsst; + if (l_full_name == "itemdef_shieldst") + return DF_Type::itemdef_shieldst; + if (l_full_name == "itemdef_shoesst") + return DF_Type::itemdef_shoesst; + if (l_full_name == "itemdef_siegeammost") + return DF_Type::itemdef_siegeammost; + if (l_full_name == "itemdef_toolst") + return DF_Type::itemdef_toolst; + if (l_full_name == "itemdef_toyst") + return DF_Type::itemdef_toyst; + if (l_full_name == "itemdef_trapcompst") + return DF_Type::itemdef_trapcompst; + if (l_full_name == "itemdef_weaponst") + return DF_Type::itemdef_weaponst; + } + return DF_Type::None; +} + +DF_Type itemimprovement_subtype(uint64_t p_address) +{ + void* void_ptr = (void*)p_address; + auto object_ptr = (df::itemimprovement*)void_ptr; + + DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); + if (id != nullptr) + { + auto l_full_name = id->getFullName(); + if (l_full_name == "itemimprovement_art_imagest") + return DF_Type::itemimprovement_art_imagest; + if (l_full_name == "itemimprovement_coveredst") + return DF_Type::itemimprovement_coveredst; + if (l_full_name == "itemimprovement_rings_hangingst") + return DF_Type::itemimprovement_rings_hangingst; + if (l_full_name == "itemimprovement_bandsst") + return DF_Type::itemimprovement_bandsst; + if (l_full_name == "itemimprovement_spikesst") + return DF_Type::itemimprovement_spikesst; + if (l_full_name == "itemimprovement_itemspecificst") + return DF_Type::itemimprovement_itemspecificst; + if (l_full_name == "itemimprovement_threadst") + return DF_Type::itemimprovement_threadst; + if (l_full_name == "itemimprovement_clothst") + return DF_Type::itemimprovement_clothst; + if (l_full_name == "itemimprovement_sewn_imagest") + return DF_Type::itemimprovement_sewn_imagest; + if (l_full_name == "itemimprovement_pagesst") + return DF_Type::itemimprovement_pagesst; + if (l_full_name == "itemimprovement_illustrationst") + return DF_Type::itemimprovement_illustrationst; + if (l_full_name == "itemimprovement_instrument_piecest") + return DF_Type::itemimprovement_instrument_piecest; + if (l_full_name == "itemimprovement_writingst") + return DF_Type::itemimprovement_writingst; + } + return DF_Type::None; +} + +DF_Type spatter_common_subtype(uint64_t p_address) +{ + void* void_ptr = (void*)p_address; + auto object_ptr = (df::spatter_common*)void_ptr; + + if (static_cast(object_ptr) != nullptr) + return DF_Type::spatter; + return DF_Type::None; +} + +DF_Type item_subtype(uint64_t p_address) +{ + void* void_ptr = (void*)p_address; + auto object_ptr = (df::item*)void_ptr; + + DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); + if (id != nullptr) + { + auto l_full_name = id->getFullName(); + if (l_full_name == "item_actual") + return DF_Type::item_actual; + if (l_full_name == "item_crafted") + return DF_Type::item_crafted; + if (l_full_name == "item_constructed") + return DF_Type::item_constructed; + if (l_full_name == "item_doorst") + return DF_Type::item_doorst; + if (l_full_name == "item_floodgatest") + return DF_Type::item_floodgatest; + if (l_full_name == "item_bedst") + return DF_Type::item_bedst; + if (l_full_name == "item_chairst") + return DF_Type::item_chairst; + if (l_full_name == "item_chainst") + return DF_Type::item_chainst; + if (l_full_name == "item_flaskst") + return DF_Type::item_flaskst; + if (l_full_name == "item_gobletst") + return DF_Type::item_gobletst; + if (l_full_name == "item_windowst") + return DF_Type::item_windowst; + if (l_full_name == "item_cagest") + return DF_Type::item_cagest; + if (l_full_name == "item_bucketst") + return DF_Type::item_bucketst; + if (l_full_name == "item_animaltrapst") + return DF_Type::item_animaltrapst; + if (l_full_name == "item_tablest") + return DF_Type::item_tablest; + if (l_full_name == "item_coffinst") + return DF_Type::item_coffinst; + if (l_full_name == "item_boxst") + return DF_Type::item_boxst; + if (l_full_name == "item_armorstandst") + return DF_Type::item_armorstandst; + if (l_full_name == "item_weaponrackst") + return DF_Type::item_weaponrackst; + if (l_full_name == "item_cabinetst") + return DF_Type::item_cabinetst; + if (l_full_name == "item_amuletst") + return DF_Type::item_amuletst; + if (l_full_name == "item_scepterst") + return DF_Type::item_scepterst; + if (l_full_name == "item_crownst") + return DF_Type::item_crownst; + if (l_full_name == "item_ringst") + return DF_Type::item_ringst; + if (l_full_name == "item_earringst") + return DF_Type::item_earringst; + if (l_full_name == "item_braceletst") + return DF_Type::item_braceletst; + if (l_full_name == "item_anvilst") + return DF_Type::item_anvilst; + if (l_full_name == "item_backpackst") + return DF_Type::item_backpackst; + if (l_full_name == "item_quiverst") + return DF_Type::item_quiverst; + if (l_full_name == "item_catapultpartsst") + return DF_Type::item_catapultpartsst; + if (l_full_name == "item_ballistapartsst") + return DF_Type::item_ballistapartsst; + if (l_full_name == "item_trappartsst") + return DF_Type::item_trappartsst; + if (l_full_name == "item_pipe_sectionst") + return DF_Type::item_pipe_sectionst; + if (l_full_name == "item_hatch_coverst") + return DF_Type::item_hatch_coverst; + if (l_full_name == "item_gratest") + return DF_Type::item_gratest; + if (l_full_name == "item_quernst") + return DF_Type::item_quernst; + if (l_full_name == "item_millstonest") + return DF_Type::item_millstonest; + if (l_full_name == "item_splintst") + return DF_Type::item_splintst; + if (l_full_name == "item_crutchst") + return DF_Type::item_crutchst; + if (l_full_name == "item_traction_benchst") + return DF_Type::item_traction_benchst; + if (l_full_name == "item_instrumentst") + return DF_Type::item_instrumentst; + if (l_full_name == "item_toyst") + return DF_Type::item_toyst; + if (l_full_name == "item_armorst") + return DF_Type::item_armorst; + if (l_full_name == "item_shoesst") + return DF_Type::item_shoesst; + if (l_full_name == "item_shieldst") + return DF_Type::item_shieldst; + if (l_full_name == "item_helmst") + return DF_Type::item_helmst; + if (l_full_name == "item_glovesst") + return DF_Type::item_glovesst; + if (l_full_name == "item_pantsst") + return DF_Type::item_pantsst; + if (l_full_name == "item_siegeammost") + return DF_Type::item_siegeammost; + if (l_full_name == "item_weaponst") + return DF_Type::item_weaponst; + if (l_full_name == "item_ammost") + return DF_Type::item_ammost; + if (l_full_name == "item_trapcompst") + return DF_Type::item_trapcompst; + if (l_full_name == "item_toolst") + return DF_Type::item_toolst; + if (l_full_name == "item_barrelst") + return DF_Type::item_barrelst; + if (l_full_name == "item_binst") + return DF_Type::item_binst; + if (l_full_name == "item_gemst") + return DF_Type::item_gemst; + if (l_full_name == "item_statuest") + return DF_Type::item_statuest; + if (l_full_name == "item_figurinest") + return DF_Type::item_figurinest; + if (l_full_name == "item_slabst") + return DF_Type::item_slabst; + if (l_full_name == "item_orthopedic_castst") + return DF_Type::item_orthopedic_castst; + if (l_full_name == "item_coinst") + return DF_Type::item_coinst; + if (l_full_name == "item_totemst") + return DF_Type::item_totemst; + if (l_full_name == "item_clothst") + return DF_Type::item_clothst; + if (l_full_name == "item_bookst") + return DF_Type::item_bookst; + if (l_full_name == "item_sheetst") + return DF_Type::item_sheetst; + if (l_full_name == "item_foodst") + return DF_Type::item_foodst; + if (l_full_name == "item_body_component") + return DF_Type::item_body_component; + if (l_full_name == "item_corpsest") + return DF_Type::item_corpsest; + if (l_full_name == "item_corpsepiecest") + return DF_Type::item_corpsepiecest; + if (l_full_name == "item_critter") + return DF_Type::item_critter; + if (l_full_name == "item_verminst") + return DF_Type::item_verminst; + if (l_full_name == "item_petst") + return DF_Type::item_petst; + if (l_full_name == "item_liquipowder") + return DF_Type::item_liquipowder; + if (l_full_name == "item_liquid") + return DF_Type::item_liquid; + if (l_full_name == "item_drinkst") + return DF_Type::item_drinkst; + if (l_full_name == "item_liquid_miscst") + return DF_Type::item_liquid_miscst; + if (l_full_name == "item_powder") + return DF_Type::item_powder; + if (l_full_name == "item_powder_miscst") + return DF_Type::item_powder_miscst; + if (l_full_name == "item_barst") + return DF_Type::item_barst; + if (l_full_name == "item_smallgemst") + return DF_Type::item_smallgemst; + if (l_full_name == "item_blocksst") + return DF_Type::item_blocksst; + if (l_full_name == "item_roughst") + return DF_Type::item_roughst; + if (l_full_name == "item_boulderst") + return DF_Type::item_boulderst; + if (l_full_name == "item_woodst") + return DF_Type::item_woodst; + if (l_full_name == "item_branchst") + return DF_Type::item_branchst; + if (l_full_name == "item_rockst") + return DF_Type::item_rockst; + if (l_full_name == "item_seedsst") + return DF_Type::item_seedsst; + if (l_full_name == "item_skin_tannedst") + return DF_Type::item_skin_tannedst; + if (l_full_name == "item_meatst") + return DF_Type::item_meatst; + if (l_full_name == "item_plantst") + return DF_Type::item_plantst; + if (l_full_name == "item_plant_growthst") + return DF_Type::item_plant_growthst; + if (l_full_name == "item_cheesest") + return DF_Type::item_cheesest; + if (l_full_name == "item_globst") + return DF_Type::item_globst; + if (l_full_name == "item_remainsst") + return DF_Type::item_remainsst; + if (l_full_name == "item_fishst") + return DF_Type::item_fishst; + if (l_full_name == "item_fish_rawst") + return DF_Type::item_fish_rawst; + if (l_full_name == "item_threadst") + return DF_Type::item_threadst; + if (l_full_name == "item_eggst") + return DF_Type::item_eggst; + if (l_full_name == "item_ballistaarrowheadst") + return DF_Type::item_ballistaarrowheadst; + } + return DF_Type::None; +} + +DF_Type machine_subtype(uint64_t p_address) +{ + void* void_ptr = (void*)p_address; + auto object_ptr = (df::machine*)void_ptr; + + DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); + if (id != nullptr) + { + auto l_full_name = id->getFullName(); + if (l_full_name == "machine_standardst") + return DF_Type::machine_standardst; + } + return DF_Type::None; +} + +DF_Type block_square_event_subtype(uint64_t p_address) +{ + void* void_ptr = (void*)p_address; + auto object_ptr = (df::block_square_event*)void_ptr; + + DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); + if (id != nullptr) + { + auto l_full_name = id->getFullName(); + if (l_full_name == "block_square_event_mineralst") + return DF_Type::block_square_event_mineralst; + if (l_full_name == "block_square_event_frozen_liquidst") + return DF_Type::block_square_event_frozen_liquidst; + if (l_full_name == "block_square_event_world_constructionst") + return DF_Type::block_square_event_world_constructionst; + if (l_full_name == "block_square_event_material_spatterst") + return DF_Type::block_square_event_material_spatterst; + if (l_full_name == "block_square_event_grassst") + return DF_Type::block_square_event_grassst; + if (l_full_name == "block_square_event_spoorst") + return DF_Type::block_square_event_spoorst; + if (l_full_name == "block_square_event_item_spatterst") + return DF_Type::block_square_event_item_spatterst; + if (l_full_name == "block_square_event_designation_priorityst") + return DF_Type::block_square_event_designation_priorityst; + } + return DF_Type::None; +} + +DF_Type feature_subtype(uint64_t p_address) +{ + void* void_ptr = (void*)p_address; + auto object_ptr = (df::feature*)void_ptr; + + DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); + if (id != nullptr) + { + auto l_full_name = id->getFullName(); + if (l_full_name == "feature_outdoor_riverst") + return DF_Type::feature_outdoor_riverst; + if (l_full_name == "feature_cavest") + return DF_Type::feature_cavest; + if (l_full_name == "feature_pitst") + return DF_Type::feature_pitst; + if (l_full_name == "feature_magma_poolst") + return DF_Type::feature_magma_poolst; + if (l_full_name == "feature_volcanost") + return DF_Type::feature_volcanost; + if (l_full_name == "feature_deep_special_tubest") + return DF_Type::feature_deep_special_tubest; + if (l_full_name == "feature_deep_surface_portalst") + return DF_Type::feature_deep_surface_portalst; + if (l_full_name == "feature_subterranean_from_layerst") + return DF_Type::feature_subterranean_from_layerst; + if (l_full_name == "feature_magma_core_from_layerst") + return DF_Type::feature_magma_core_from_layerst; + if (l_full_name == "feature_underworld_from_layerst") + return DF_Type::feature_underworld_from_layerst; + } + return DF_Type::None; +} + +DF_Type feature_init_subtype(uint64_t p_address) +{ + void* void_ptr = (void*)p_address; + auto object_ptr = (df::feature_init*)void_ptr; + + DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); + if (id != nullptr) + { + auto l_full_name = id->getFullName(); + if (l_full_name == "feature_init_outdoor_riverst") + return DF_Type::feature_init_outdoor_riverst; + if (l_full_name == "feature_init_cavest") + return DF_Type::feature_init_cavest; + if (l_full_name == "feature_init_pitst") + return DF_Type::feature_init_pitst; + if (l_full_name == "feature_init_magma_poolst") + return DF_Type::feature_init_magma_poolst; + if (l_full_name == "feature_init_volcanost") + return DF_Type::feature_init_volcanost; + if (l_full_name == "feature_init_deep_special_tubest") + return DF_Type::feature_init_deep_special_tubest; + if (l_full_name == "feature_init_deep_surface_portalst") + return DF_Type::feature_init_deep_surface_portalst; + if (l_full_name == "feature_init_subterranean_from_layerst") + return DF_Type::feature_init_subterranean_from_layerst; + if (l_full_name == "feature_init_magma_core_from_layerst") + return DF_Type::feature_init_magma_core_from_layerst; + if (l_full_name == "feature_init_underworld_from_layerst") + return DF_Type::feature_init_underworld_from_layerst; + } + return DF_Type::None; +} + +DF_Type feature_alteration_subtype(uint64_t p_address) +{ + void* void_ptr = (void*)p_address; + auto object_ptr = (df::feature_alteration*)void_ptr; + + DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); + if (id != nullptr) + { + auto l_full_name = id->getFullName(); + if (l_full_name == "feature_alteration_new_pop_maxst") + return DF_Type::feature_alteration_new_pop_maxst; + if (l_full_name == "feature_alteration_new_lava_fill_zst") + return DF_Type::feature_alteration_new_lava_fill_zst; + } + return DF_Type::None; +} + +DF_Type world_construction_square_subtype(uint64_t p_address) +{ + void* void_ptr = (void*)p_address; + auto object_ptr = (df::world_construction_square*)void_ptr; + + DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); + if (id != nullptr) + { + auto l_full_name = id->getFullName(); + if (l_full_name == "world_construction_square_roadst") + return DF_Type::world_construction_square_roadst; + if (l_full_name == "world_construction_square_tunnelst") + return DF_Type::world_construction_square_tunnelst; + if (l_full_name == "world_construction_square_bridgest") + return DF_Type::world_construction_square_bridgest; + if (l_full_name == "world_construction_square_wallst") + return DF_Type::world_construction_square_wallst; + } + return DF_Type::None; +} + +DF_Type world_construction_subtype(uint64_t p_address) +{ + void* void_ptr = (void*)p_address; + auto object_ptr = (df::world_construction*)void_ptr; + + DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); + if (id != nullptr) + { + auto l_full_name = id->getFullName(); + if (l_full_name == "world_construction_roadst") + return DF_Type::world_construction_roadst; + if (l_full_name == "world_construction_tunnelst") + return DF_Type::world_construction_tunnelst; + if (l_full_name == "world_construction_bridgest") + return DF_Type::world_construction_bridgest; + if (l_full_name == "world_construction_wallst") + return DF_Type::world_construction_wallst; + } + return DF_Type::None; +} + +DF_Type flow_guide_subtype(uint64_t p_address) +{ + void* void_ptr = (void*)p_address; + auto object_ptr = (df::flow_guide*)void_ptr; + + DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); + if (id != nullptr) + { + auto l_full_name = id->getFullName(); + if (l_full_name == "flow_guide_trailing_flowst") + return DF_Type::flow_guide_trailing_flowst; + if (l_full_name == "flow_guide_item_cloudst") + return DF_Type::flow_guide_item_cloudst; + } + return DF_Type::None; +} + +DF_Type region_block_eventst_subtype(uint64_t p_address) +{ + void* void_ptr = (void*)p_address; + auto object_ptr = (df::region_block_eventst*)void_ptr; + + DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); + if (id != nullptr) + { + auto l_full_name = id->getFullName(); + if (l_full_name == "region_block_event_sphere_fieldst") + return DF_Type::region_block_event_sphere_fieldst; + } + return DF_Type::None; +} + +DF_Type material_common_subtype(uint64_t p_address) +{ + void* void_ptr = (void*)p_address; + auto object_ptr = (df::material_common*)void_ptr; + + if (static_cast(object_ptr) != nullptr) + return DF_Type::material; + if (static_cast(object_ptr) != nullptr) + return DF_Type::material_template; + return DF_Type::None; +} + +DF_Type script_stepst_subtype(uint64_t p_address) +{ + void* void_ptr = (void*)p_address; + auto object_ptr = (df::script_stepst*)void_ptr; + + DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); + if (id != nullptr) + { + auto l_full_name = id->getFullName(); + if (l_full_name == "script_step_setvarst") + return DF_Type::script_step_setvarst; + if (l_full_name == "script_step_simpleactionst") + return DF_Type::script_step_simpleactionst; + if (l_full_name == "script_step_conditionalst") + return DF_Type::script_step_conditionalst; + if (l_full_name == "script_step_textviewerst") + return DF_Type::script_step_textviewerst; + if (l_full_name == "script_step_diphistoryst") + return DF_Type::script_step_diphistoryst; + if (l_full_name == "script_step_discussst") + return DF_Type::script_step_discussst; + if (l_full_name == "script_step_topicdiscussionst") + return DF_Type::script_step_topicdiscussionst; + if (l_full_name == "script_step_constructtopiclistst") + return DF_Type::script_step_constructtopiclistst; + if (l_full_name == "script_step_eventst") + return DF_Type::script_step_eventst; + if (l_full_name == "script_step_dipeventst") + return DF_Type::script_step_dipeventst; + if (l_full_name == "script_step_invasionst") + return DF_Type::script_step_invasionst; + } + return DF_Type::None; +} + +DF_Type script_varst_subtype(uint64_t p_address) +{ + void* void_ptr = (void*)p_address; + auto object_ptr = (df::script_varst*)void_ptr; + + DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); + if (id != nullptr) + { + auto l_full_name = id->getFullName(); + if (l_full_name == "script_var_unitst") + return DF_Type::script_var_unitst; + if (l_full_name == "script_var_longst") + return DF_Type::script_var_longst; + } + return DF_Type::None; +} + +DF_Type active_script_varst_subtype(uint64_t p_address) +{ + void* void_ptr = (void*)p_address; + auto object_ptr = (df::active_script_varst*)void_ptr; + + DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); + if (id != nullptr) + { + auto l_full_name = id->getFullName(); + if (l_full_name == "active_script_var_unitst") + return DF_Type::active_script_var_unitst; + if (l_full_name == "active_script_var_longst") + return DF_Type::active_script_var_longst; + } + return DF_Type::None; +} + +DF_Type activity_event_subtype(uint64_t p_address) +{ + void* void_ptr = (void*)p_address; + auto object_ptr = (df::activity_event*)void_ptr; + + DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); + if (id != nullptr) + { + auto l_full_name = id->getFullName(); + if (l_full_name == "activity_event_training_sessionst") + return DF_Type::activity_event_training_sessionst; + if (l_full_name == "activity_event_combat_trainingst") + return DF_Type::activity_event_combat_trainingst; + if (l_full_name == "activity_event_skill_demonstrationst") + return DF_Type::activity_event_skill_demonstrationst; + if (l_full_name == "activity_event_individual_skill_drillst") + return DF_Type::activity_event_individual_skill_drillst; + if (l_full_name == "activity_event_sparringst") + return DF_Type::activity_event_sparringst; + if (l_full_name == "activity_event_ranged_practicest") + return DF_Type::activity_event_ranged_practicest; + if (l_full_name == "activity_event_harassmentst") + return DF_Type::activity_event_harassmentst; + if (l_full_name == "activity_event_conversationst") + return DF_Type::activity_event_conversationst; + if (l_full_name == "activity_event_conflictst") + return DF_Type::activity_event_conflictst; + if (l_full_name == "activity_event_guardst") + return DF_Type::activity_event_guardst; + if (l_full_name == "activity_event_reunionst") + return DF_Type::activity_event_reunionst; + if (l_full_name == "activity_event_prayerst") + return DF_Type::activity_event_prayerst; + if (l_full_name == "activity_event_socializest") + return DF_Type::activity_event_socializest; + if (l_full_name == "activity_event_worshipst") + return DF_Type::activity_event_worshipst; + if (l_full_name == "activity_event_performancest") + return DF_Type::activity_event_performancest; + if (l_full_name == "activity_event_researchst") + return DF_Type::activity_event_researchst; + if (l_full_name == "activity_event_ponder_topicst") + return DF_Type::activity_event_ponder_topicst; + if (l_full_name == "activity_event_discuss_topicst") + return DF_Type::activity_event_discuss_topicst; + if (l_full_name == "activity_event_readst") + return DF_Type::activity_event_readst; + if (l_full_name == "activity_event_fill_service_orderst") + return DF_Type::activity_event_fill_service_orderst; + if (l_full_name == "activity_event_writest") + return DF_Type::activity_event_writest; + if (l_full_name == "activity_event_copy_written_contentst") + return DF_Type::activity_event_copy_written_contentst; + if (l_full_name == "activity_event_teach_topicst") + return DF_Type::activity_event_teach_topicst; + if (l_full_name == "activity_event_playst") + return DF_Type::activity_event_playst; + if (l_full_name == "activity_event_make_believest") + return DF_Type::activity_event_make_believest; + if (l_full_name == "activity_event_play_with_toyst") + return DF_Type::activity_event_play_with_toyst; + if (l_full_name == "activity_event_encounterst") + return DF_Type::activity_event_encounterst; + if (l_full_name == "activity_event_store_objectst") + return DF_Type::activity_event_store_objectst; + } + return DF_Type::None; +} + +DF_Type squad_order_subtype(uint64_t p_address) +{ + void* void_ptr = (void*)p_address; + auto object_ptr = (df::squad_order*)void_ptr; + + DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); + if (id != nullptr) + { + auto l_full_name = id->getFullName(); + if (l_full_name == "squad_order_movest") + return DF_Type::squad_order_movest; + if (l_full_name == "squad_order_kill_listst") + return DF_Type::squad_order_kill_listst; + if (l_full_name == "squad_order_defend_burrowsst") + return DF_Type::squad_order_defend_burrowsst; + if (l_full_name == "squad_order_patrol_routest") + return DF_Type::squad_order_patrol_routest; + if (l_full_name == "squad_order_trainst") + return DF_Type::squad_order_trainst; + if (l_full_name == "squad_order_drive_entity_off_sitest") + return DF_Type::squad_order_drive_entity_off_sitest; + if (l_full_name == "squad_order_cause_trouble_for_entityst") + return DF_Type::squad_order_cause_trouble_for_entityst; + if (l_full_name == "squad_order_kill_hfst") + return DF_Type::squad_order_kill_hfst; + if (l_full_name == "squad_order_drive_armies_from_sitest") + return DF_Type::squad_order_drive_armies_from_sitest; + if (l_full_name == "squad_order_retrieve_artifactst") + return DF_Type::squad_order_retrieve_artifactst; + if (l_full_name == "squad_order_raid_sitest") + return DF_Type::squad_order_raid_sitest; + if (l_full_name == "squad_order_rescue_hfst") + return DF_Type::squad_order_rescue_hfst; + } + return DF_Type::None; +} + +DF_Type projectile_subtype(uint64_t p_address) +{ + void* void_ptr = (void*)p_address; + auto object_ptr = (df::projectile*)void_ptr; + + DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); + if (id != nullptr) + { + auto l_full_name = id->getFullName(); + if (l_full_name == "proj_itemst") + return DF_Type::proj_itemst; + if (l_full_name == "proj_unitst") + return DF_Type::proj_unitst; + if (l_full_name == "proj_magicst") + return DF_Type::proj_magicst; + } + return DF_Type::None; +} + +DF_Type reaction_reagent_subtype(uint64_t p_address) +{ + void* void_ptr = (void*)p_address; + auto object_ptr = (df::reaction_reagent*)void_ptr; + + DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); + if (id != nullptr) + { + auto l_full_name = id->getFullName(); + if (l_full_name == "reaction_reagent_itemst") + return DF_Type::reaction_reagent_itemst; + } + return DF_Type::None; +} + +DF_Type reaction_product_subtype(uint64_t p_address) +{ + void* void_ptr = (void*)p_address; + auto object_ptr = (df::reaction_product*)void_ptr; + + DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); + if (id != nullptr) + { + auto l_full_name = id->getFullName(); + if (l_full_name == "reaction_product_itemst") + return DF_Type::reaction_product_itemst; + if (l_full_name == "reaction_product_item_improvementst") + return DF_Type::reaction_product_item_improvementst; + } + return DF_Type::None; +} + +DF_Type general_ref_subtype(uint64_t p_address) +{ + void* void_ptr = (void*)p_address; + auto object_ptr = (df::general_ref*)void_ptr; + + DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); + if (id != nullptr) + { + auto l_full_name = id->getFullName(); + if (l_full_name == "general_ref_artifact") + return DF_Type::general_ref_artifact; + if (l_full_name == "general_ref_is_artifactst") + return DF_Type::general_ref_is_artifactst; + if (l_full_name == "general_ref_nemesis") + return DF_Type::general_ref_nemesis; + if (l_full_name == "general_ref_is_nemesisst") + return DF_Type::general_ref_is_nemesisst; + if (l_full_name == "general_ref_item") + return DF_Type::general_ref_item; + if (l_full_name == "general_ref_contains_itemst") + return DF_Type::general_ref_contains_itemst; + if (l_full_name == "general_ref_contained_in_itemst") + return DF_Type::general_ref_contained_in_itemst; + if (l_full_name == "general_ref_item_type") + return DF_Type::general_ref_item_type; + if (l_full_name == "general_ref_coinbatch") + return DF_Type::general_ref_coinbatch; + if (l_full_name == "general_ref_mapsquare") + return DF_Type::general_ref_mapsquare; + if (l_full_name == "general_ref_entity_art_image") + return DF_Type::general_ref_entity_art_image; + if (l_full_name == "general_ref_projectile") + return DF_Type::general_ref_projectile; + if (l_full_name == "general_ref_unit") + return DF_Type::general_ref_unit; + if (l_full_name == "general_ref_contains_unitst") + return DF_Type::general_ref_contains_unitst; + if (l_full_name == "general_ref_unit_milkeest") + return DF_Type::general_ref_unit_milkeest; + if (l_full_name == "general_ref_unit_traineest") + return DF_Type::general_ref_unit_traineest; + if (l_full_name == "general_ref_unit_itemownerst") + return DF_Type::general_ref_unit_itemownerst; + if (l_full_name == "general_ref_unit_tradebringerst") + return DF_Type::general_ref_unit_tradebringerst; + if (l_full_name == "general_ref_unit_holderst") + return DF_Type::general_ref_unit_holderst; + if (l_full_name == "general_ref_unit_workerst") + return DF_Type::general_ref_unit_workerst; + if (l_full_name == "general_ref_unit_cageest") + return DF_Type::general_ref_unit_cageest; + if (l_full_name == "general_ref_unit_beateest") + return DF_Type::general_ref_unit_beateest; + if (l_full_name == "general_ref_unit_foodreceiverst") + return DF_Type::general_ref_unit_foodreceiverst; + if (l_full_name == "general_ref_unit_kidnapeest") + return DF_Type::general_ref_unit_kidnapeest; + if (l_full_name == "general_ref_unit_patientst") + return DF_Type::general_ref_unit_patientst; + if (l_full_name == "general_ref_unit_infantst") + return DF_Type::general_ref_unit_infantst; + if (l_full_name == "general_ref_unit_slaughtereest") + return DF_Type::general_ref_unit_slaughtereest; + if (l_full_name == "general_ref_unit_sheareest") + return DF_Type::general_ref_unit_sheareest; + if (l_full_name == "general_ref_unit_suckeest") + return DF_Type::general_ref_unit_suckeest; + if (l_full_name == "general_ref_unit_reporteest") + return DF_Type::general_ref_unit_reporteest; + if (l_full_name == "general_ref_unit_riderst") + return DF_Type::general_ref_unit_riderst; + if (l_full_name == "general_ref_unit_climberst") + return DF_Type::general_ref_unit_climberst; + if (l_full_name == "general_ref_unit_geldeest") + return DF_Type::general_ref_unit_geldeest; + if (l_full_name == "general_ref_building") + return DF_Type::general_ref_building; + if (l_full_name == "general_ref_building_civzone_assignedst") + return DF_Type::general_ref_building_civzone_assignedst; + if (l_full_name == "general_ref_building_triggerst") + return DF_Type::general_ref_building_triggerst; + if (l_full_name == "general_ref_building_triggertargetst") + return DF_Type::general_ref_building_triggertargetst; + if (l_full_name == "general_ref_building_chainst") + return DF_Type::general_ref_building_chainst; + if (l_full_name == "general_ref_building_cagedst") + return DF_Type::general_ref_building_cagedst; + if (l_full_name == "general_ref_building_holderst") + return DF_Type::general_ref_building_holderst; + if (l_full_name == "general_ref_building_well_tag") + return DF_Type::general_ref_building_well_tag; + if (l_full_name == "general_ref_building_use_target_1st") + return DF_Type::general_ref_building_use_target_1st; + if (l_full_name == "general_ref_building_use_target_2st") + return DF_Type::general_ref_building_use_target_2st; + if (l_full_name == "general_ref_building_destinationst") + return DF_Type::general_ref_building_destinationst; + if (l_full_name == "general_ref_building_nest_boxst") + return DF_Type::general_ref_building_nest_boxst; + if (l_full_name == "general_ref_building_display_furniturest") + return DF_Type::general_ref_building_display_furniturest; + if (l_full_name == "general_ref_entity") + return DF_Type::general_ref_entity; + if (l_full_name == "general_ref_entity_stolenst") + return DF_Type::general_ref_entity_stolenst; + if (l_full_name == "general_ref_entity_offeredst") + return DF_Type::general_ref_entity_offeredst; + if (l_full_name == "general_ref_entity_itemownerst") + return DF_Type::general_ref_entity_itemownerst; + if (l_full_name == "general_ref_locationst") + return DF_Type::general_ref_locationst; + if (l_full_name == "general_ref_interactionst") + return DF_Type::general_ref_interactionst; + if (l_full_name == "general_ref_abstract_buildingst") + return DF_Type::general_ref_abstract_buildingst; + if (l_full_name == "general_ref_historical_eventst") + return DF_Type::general_ref_historical_eventst; + if (l_full_name == "general_ref_spherest") + return DF_Type::general_ref_spherest; + if (l_full_name == "general_ref_sitest") + return DF_Type::general_ref_sitest; + if (l_full_name == "general_ref_subregionst") + return DF_Type::general_ref_subregionst; + if (l_full_name == "general_ref_feature_layerst") + return DF_Type::general_ref_feature_layerst; + if (l_full_name == "general_ref_historical_figurest") + return DF_Type::general_ref_historical_figurest; + if (l_full_name == "general_ref_entity_popst") + return DF_Type::general_ref_entity_popst; + if (l_full_name == "general_ref_creaturest") + return DF_Type::general_ref_creaturest; + if (l_full_name == "general_ref_knowledge_scholar_flagst") + return DF_Type::general_ref_knowledge_scholar_flagst; + if (l_full_name == "general_ref_activity_eventst") + return DF_Type::general_ref_activity_eventst; + if (l_full_name == "general_ref_value_levelst") + return DF_Type::general_ref_value_levelst; + if (l_full_name == "general_ref_languagest") + return DF_Type::general_ref_languagest; + if (l_full_name == "general_ref_written_contentst") + return DF_Type::general_ref_written_contentst; + if (l_full_name == "general_ref_poetic_formst") + return DF_Type::general_ref_poetic_formst; + if (l_full_name == "general_ref_musical_formst") + return DF_Type::general_ref_musical_formst; + if (l_full_name == "general_ref_dance_formst") + return DF_Type::general_ref_dance_formst; + } + return DF_Type::None; +} + +DF_Type histfig_entity_link_subtype(uint64_t p_address) +{ + void* void_ptr = (void*)p_address; + auto object_ptr = (df::histfig_entity_link*)void_ptr; + + DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); + if (id != nullptr) + { + auto l_full_name = id->getFullName(); + if (l_full_name == "histfig_entity_link_memberst") + return DF_Type::histfig_entity_link_memberst; + if (l_full_name == "histfig_entity_link_former_memberst") + return DF_Type::histfig_entity_link_former_memberst; + if (l_full_name == "histfig_entity_link_mercenaryst") + return DF_Type::histfig_entity_link_mercenaryst; + if (l_full_name == "histfig_entity_link_former_mercenaryst") + return DF_Type::histfig_entity_link_former_mercenaryst; + if (l_full_name == "histfig_entity_link_slavest") + return DF_Type::histfig_entity_link_slavest; + if (l_full_name == "histfig_entity_link_former_slavest") + return DF_Type::histfig_entity_link_former_slavest; + if (l_full_name == "histfig_entity_link_prisonerst") + return DF_Type::histfig_entity_link_prisonerst; + if (l_full_name == "histfig_entity_link_former_prisonerst") + return DF_Type::histfig_entity_link_former_prisonerst; + if (l_full_name == "histfig_entity_link_enemyst") + return DF_Type::histfig_entity_link_enemyst; + if (l_full_name == "histfig_entity_link_criminalst") + return DF_Type::histfig_entity_link_criminalst; + if (l_full_name == "histfig_entity_link_positionst") + return DF_Type::histfig_entity_link_positionst; + if (l_full_name == "histfig_entity_link_former_positionst") + return DF_Type::histfig_entity_link_former_positionst; + if (l_full_name == "histfig_entity_link_position_claimst") + return DF_Type::histfig_entity_link_position_claimst; + if (l_full_name == "histfig_entity_link_squadst") + return DF_Type::histfig_entity_link_squadst; + if (l_full_name == "histfig_entity_link_former_squadst") + return DF_Type::histfig_entity_link_former_squadst; + if (l_full_name == "histfig_entity_link_occupationst") + return DF_Type::histfig_entity_link_occupationst; + if (l_full_name == "histfig_entity_link_former_occupationst") + return DF_Type::histfig_entity_link_former_occupationst; + } + return DF_Type::None; +} + +DF_Type histfig_site_link_subtype(uint64_t p_address) +{ + void* void_ptr = (void*)p_address; + auto object_ptr = (df::histfig_site_link*)void_ptr; + + DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); + if (id != nullptr) + { + auto l_full_name = id->getFullName(); + if (l_full_name == "histfig_site_link_seat_of_powerst") + return DF_Type::histfig_site_link_seat_of_powerst; + if (l_full_name == "histfig_site_link_hangoutst") + return DF_Type::histfig_site_link_hangoutst; + if (l_full_name == "histfig_site_link_home_site_abstract_buildingst") + return DF_Type::histfig_site_link_home_site_abstract_buildingst; + if (l_full_name == "histfig_site_link_home_site_realization_buildingst") + return DF_Type::histfig_site_link_home_site_realization_buildingst; + if (l_full_name == "histfig_site_link_lairst") + return DF_Type::histfig_site_link_lairst; + if (l_full_name == "histfig_site_link_home_site_realization_sulst") + return DF_Type::histfig_site_link_home_site_realization_sulst; + if (l_full_name == "histfig_site_link_home_site_saved_civzonest") + return DF_Type::histfig_site_link_home_site_saved_civzonest; + if (l_full_name == "histfig_site_link_occupationst") + return DF_Type::histfig_site_link_occupationst; + } + return DF_Type::None; +} + +DF_Type histfig_hf_link_subtype(uint64_t p_address) +{ + void* void_ptr = (void*)p_address; + auto object_ptr = (df::histfig_hf_link*)void_ptr; + + DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); + if (id != nullptr) + { + auto l_full_name = id->getFullName(); + if (l_full_name == "histfig_hf_link_motherst") + return DF_Type::histfig_hf_link_motherst; + if (l_full_name == "histfig_hf_link_fatherst") + return DF_Type::histfig_hf_link_fatherst; + if (l_full_name == "histfig_hf_link_spousest") + return DF_Type::histfig_hf_link_spousest; + if (l_full_name == "histfig_hf_link_childst") + return DF_Type::histfig_hf_link_childst; + if (l_full_name == "histfig_hf_link_deityst") + return DF_Type::histfig_hf_link_deityst; + if (l_full_name == "histfig_hf_link_loverst") + return DF_Type::histfig_hf_link_loverst; + if (l_full_name == "histfig_hf_link_prisonerst") + return DF_Type::histfig_hf_link_prisonerst; + if (l_full_name == "histfig_hf_link_imprisonerst") + return DF_Type::histfig_hf_link_imprisonerst; + if (l_full_name == "histfig_hf_link_masterst") + return DF_Type::histfig_hf_link_masterst; + if (l_full_name == "histfig_hf_link_apprenticest") + return DF_Type::histfig_hf_link_apprenticest; + if (l_full_name == "histfig_hf_link_companionst") + return DF_Type::histfig_hf_link_companionst; + if (l_full_name == "histfig_hf_link_former_apprenticest") + return DF_Type::histfig_hf_link_former_apprenticest; + if (l_full_name == "histfig_hf_link_former_masterst") + return DF_Type::histfig_hf_link_former_masterst; + if (l_full_name == "histfig_hf_link_pet_ownerst") + return DF_Type::histfig_hf_link_pet_ownerst; + } + return DF_Type::None; +} + +DF_Type resource_allotment_specifier_subtype(uint64_t p_address) +{ + void* void_ptr = (void*)p_address; + auto object_ptr = (df::resource_allotment_specifier*)void_ptr; + + DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); + if (id != nullptr) + { + auto l_full_name = id->getFullName(); + if (l_full_name == "resource_allotment_specifier_cropst") + return DF_Type::resource_allotment_specifier_cropst; + if (l_full_name == "resource_allotment_specifier_stonest") + return DF_Type::resource_allotment_specifier_stonest; + if (l_full_name == "resource_allotment_specifier_metalst") + return DF_Type::resource_allotment_specifier_metalst; + if (l_full_name == "resource_allotment_specifier_woodst") + return DF_Type::resource_allotment_specifier_woodst; + if (l_full_name == "resource_allotment_specifier_armor_bodyst") + return DF_Type::resource_allotment_specifier_armor_bodyst; + if (l_full_name == "resource_allotment_specifier_armor_pantsst") + return DF_Type::resource_allotment_specifier_armor_pantsst; + if (l_full_name == "resource_allotment_specifier_armor_glovesst") + return DF_Type::resource_allotment_specifier_armor_glovesst; + if (l_full_name == "resource_allotment_specifier_armor_bootsst") + return DF_Type::resource_allotment_specifier_armor_bootsst; + if (l_full_name == "resource_allotment_specifier_armor_helmst") + return DF_Type::resource_allotment_specifier_armor_helmst; + if (l_full_name == "resource_allotment_specifier_clothing_bodyst") + return DF_Type::resource_allotment_specifier_clothing_bodyst; + if (l_full_name == "resource_allotment_specifier_clothing_pantsst") + return DF_Type::resource_allotment_specifier_clothing_pantsst; + if (l_full_name == "resource_allotment_specifier_clothing_glovesst") + return DF_Type::resource_allotment_specifier_clothing_glovesst; + if (l_full_name == "resource_allotment_specifier_clothing_bootsst") + return DF_Type::resource_allotment_specifier_clothing_bootsst; + if (l_full_name == "resource_allotment_specifier_clothing_helmst") + return DF_Type::resource_allotment_specifier_clothing_helmst; + if (l_full_name == "resource_allotment_specifier_weapon_meleest") + return DF_Type::resource_allotment_specifier_weapon_meleest; + if (l_full_name == "resource_allotment_specifier_weapon_rangedst") + return DF_Type::resource_allotment_specifier_weapon_rangedst; + if (l_full_name == "resource_allotment_specifier_ammost") + return DF_Type::resource_allotment_specifier_ammost; + if (l_full_name == "resource_allotment_specifier_anvilst") + return DF_Type::resource_allotment_specifier_anvilst; + if (l_full_name == "resource_allotment_specifier_gemsst") + return DF_Type::resource_allotment_specifier_gemsst; + if (l_full_name == "resource_allotment_specifier_threadst") + return DF_Type::resource_allotment_specifier_threadst; + if (l_full_name == "resource_allotment_specifier_clothst") + return DF_Type::resource_allotment_specifier_clothst; + if (l_full_name == "resource_allotment_specifier_leatherst") + return DF_Type::resource_allotment_specifier_leatherst; + if (l_full_name == "resource_allotment_specifier_quiverst") + return DF_Type::resource_allotment_specifier_quiverst; + if (l_full_name == "resource_allotment_specifier_backpackst") + return DF_Type::resource_allotment_specifier_backpackst; + if (l_full_name == "resource_allotment_specifier_flaskst") + return DF_Type::resource_allotment_specifier_flaskst; + if (l_full_name == "resource_allotment_specifier_bagst") + return DF_Type::resource_allotment_specifier_bagst; + if (l_full_name == "resource_allotment_specifier_tablest") + return DF_Type::resource_allotment_specifier_tablest; + if (l_full_name == "resource_allotment_specifier_cabinetst") + return DF_Type::resource_allotment_specifier_cabinetst; + if (l_full_name == "resource_allotment_specifier_chairst") + return DF_Type::resource_allotment_specifier_chairst; + if (l_full_name == "resource_allotment_specifier_boxst") + return DF_Type::resource_allotment_specifier_boxst; + if (l_full_name == "resource_allotment_specifier_bedst") + return DF_Type::resource_allotment_specifier_bedst; + if (l_full_name == "resource_allotment_specifier_craftsst") + return DF_Type::resource_allotment_specifier_craftsst; + if (l_full_name == "resource_allotment_specifier_meatst") + return DF_Type::resource_allotment_specifier_meatst; + if (l_full_name == "resource_allotment_specifier_bonest") + return DF_Type::resource_allotment_specifier_bonest; + if (l_full_name == "resource_allotment_specifier_hornst") + return DF_Type::resource_allotment_specifier_hornst; + if (l_full_name == "resource_allotment_specifier_shellst") + return DF_Type::resource_allotment_specifier_shellst; + if (l_full_name == "resource_allotment_specifier_tallowst") + return DF_Type::resource_allotment_specifier_tallowst; + if (l_full_name == "resource_allotment_specifier_toothst") + return DF_Type::resource_allotment_specifier_toothst; + if (l_full_name == "resource_allotment_specifier_pearlst") + return DF_Type::resource_allotment_specifier_pearlst; + if (l_full_name == "resource_allotment_specifier_soapst") + return DF_Type::resource_allotment_specifier_soapst; + if (l_full_name == "resource_allotment_specifier_extractst") + return DF_Type::resource_allotment_specifier_extractst; + if (l_full_name == "resource_allotment_specifier_cheesest") + return DF_Type::resource_allotment_specifier_cheesest; + if (l_full_name == "resource_allotment_specifier_skinst") + return DF_Type::resource_allotment_specifier_skinst; + if (l_full_name == "resource_allotment_specifier_powderst") + return DF_Type::resource_allotment_specifier_powderst; + } + return DF_Type::None; +} + +DF_Type creature_interaction_effect_subtype(uint64_t p_address) +{ + void* void_ptr = (void*)p_address; + auto object_ptr = (df::creature_interaction_effect*)void_ptr; + + DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); + if (id != nullptr) + { + auto l_full_name = id->getFullName(); + if (l_full_name == "creature_interaction_effect_painst") + return DF_Type::creature_interaction_effect_painst; + if (l_full_name == "creature_interaction_effect_swellingst") + return DF_Type::creature_interaction_effect_swellingst; + if (l_full_name == "creature_interaction_effect_oozingst") + return DF_Type::creature_interaction_effect_oozingst; + if (l_full_name == "creature_interaction_effect_bruisingst") + return DF_Type::creature_interaction_effect_bruisingst; + if (l_full_name == "creature_interaction_effect_blistersst") + return DF_Type::creature_interaction_effect_blistersst; + if (l_full_name == "creature_interaction_effect_numbnessst") + return DF_Type::creature_interaction_effect_numbnessst; + if (l_full_name == "creature_interaction_effect_paralysisst") + return DF_Type::creature_interaction_effect_paralysisst; + if (l_full_name == "creature_interaction_effect_feverst") + return DF_Type::creature_interaction_effect_feverst; + if (l_full_name == "creature_interaction_effect_bleedingst") + return DF_Type::creature_interaction_effect_bleedingst; + if (l_full_name == "creature_interaction_effect_cough_bloodst") + return DF_Type::creature_interaction_effect_cough_bloodst; + if (l_full_name == "creature_interaction_effect_vomit_bloodst") + return DF_Type::creature_interaction_effect_vomit_bloodst; + if (l_full_name == "creature_interaction_effect_nauseast") + return DF_Type::creature_interaction_effect_nauseast; + if (l_full_name == "creature_interaction_effect_unconsciousnessst") + return DF_Type::creature_interaction_effect_unconsciousnessst; + if (l_full_name == "creature_interaction_effect_necrosisst") + return DF_Type::creature_interaction_effect_necrosisst; + if (l_full_name == "creature_interaction_effect_impair_functionst") + return DF_Type::creature_interaction_effect_impair_functionst; + if (l_full_name == "creature_interaction_effect_drowsinessst") + return DF_Type::creature_interaction_effect_drowsinessst; + if (l_full_name == "creature_interaction_effect_dizzinessst") + return DF_Type::creature_interaction_effect_dizzinessst; + if (l_full_name == "creature_interaction_effect_display_namest") + return DF_Type::creature_interaction_effect_display_namest; + if (l_full_name == "creature_interaction_effect_body_appearance_modifierst") + return DF_Type::creature_interaction_effect_body_appearance_modifierst; + if (l_full_name == "creature_interaction_effect_bp_appearance_modifierst") + return DF_Type::creature_interaction_effect_bp_appearance_modifierst; + if (l_full_name == "creature_interaction_effect_body_transformationst") + return DF_Type::creature_interaction_effect_body_transformationst; + if (l_full_name == "creature_interaction_effect_skill_roll_adjustst") + return DF_Type::creature_interaction_effect_skill_roll_adjustst; + if (l_full_name == "creature_interaction_effect_display_symbolst") + return DF_Type::creature_interaction_effect_display_symbolst; + if (l_full_name == "creature_interaction_effect_flash_symbolst") + return DF_Type::creature_interaction_effect_flash_symbolst; + if (l_full_name == "creature_interaction_effect_phys_att_changest") + return DF_Type::creature_interaction_effect_phys_att_changest; + if (l_full_name == "creature_interaction_effect_ment_att_changest") + return DF_Type::creature_interaction_effect_ment_att_changest; + if (l_full_name == "creature_interaction_effect_add_simple_flagst") + return DF_Type::creature_interaction_effect_add_simple_flagst; + if (l_full_name == "creature_interaction_effect_remove_simple_flagst") + return DF_Type::creature_interaction_effect_remove_simple_flagst; + if (l_full_name == "creature_interaction_effect_speed_changest") + return DF_Type::creature_interaction_effect_speed_changest; + if (l_full_name == "creature_interaction_effect_body_mat_interactionst") + return DF_Type::creature_interaction_effect_body_mat_interactionst; + if (l_full_name == "creature_interaction_effect_material_force_adjustst") + return DF_Type::creature_interaction_effect_material_force_adjustst; + if (l_full_name == "creature_interaction_effect_can_do_interactionst") + return DF_Type::creature_interaction_effect_can_do_interactionst; + if (l_full_name == "creature_interaction_effect_sense_creature_classst") + return DF_Type::creature_interaction_effect_sense_creature_classst; + if (l_full_name == "creature_interaction_effect_feel_emotionst") + return DF_Type::creature_interaction_effect_feel_emotionst; + if (l_full_name == "creature_interaction_effect_change_personalityst") + return DF_Type::creature_interaction_effect_change_personalityst; + if (l_full_name == "creature_interaction_effect_erratic_behaviorst") + return DF_Type::creature_interaction_effect_erratic_behaviorst; + } + return DF_Type::None; +} + +DF_Type build_req_choicest_subtype(uint64_t p_address) +{ + void* void_ptr = (void*)p_address; + auto object_ptr = (df::build_req_choicest*)void_ptr; + + DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); + if (id != nullptr) + { + auto l_full_name = id->getFullName(); + if (l_full_name == "build_req_choice_genst") + return DF_Type::build_req_choice_genst; + if (l_full_name == "build_req_choice_specst") + return DF_Type::build_req_choice_specst; + } + return DF_Type::None; +} + +DF_Type interface_button_subtype(uint64_t p_address) +{ + void* void_ptr = (void*)p_address; + auto object_ptr = (df::interface_button*)void_ptr; + + DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); + if (id != nullptr) + { + auto l_full_name = id->getFullName(); + if (l_full_name == "interface_button_buildingst") + return DF_Type::interface_button_buildingst; + if (l_full_name == "interface_button_building_category_selectorst") + return DF_Type::interface_button_building_category_selectorst; + if (l_full_name == "interface_button_building_material_selectorst") + return DF_Type::interface_button_building_material_selectorst; + if (l_full_name == "interface_button_building_new_jobst") + return DF_Type::interface_button_building_new_jobst; + if (l_full_name == "interface_button_building_custom_category_selectorst") + return DF_Type::interface_button_building_custom_category_selectorst; + if (l_full_name == "interface_button_constructionst") + return DF_Type::interface_button_constructionst; + if (l_full_name == "interface_button_construction_donest") + return DF_Type::interface_button_construction_donest; + if (l_full_name == "interface_button_construction_category_selectorst") + return DF_Type::interface_button_construction_category_selectorst; + if (l_full_name == "interface_button_construction_building_selectorst") + return DF_Type::interface_button_construction_building_selectorst; + } + return DF_Type::None; +} + +DF_Type viewscreen_subtype(uint64_t p_address) +{ + void* void_ptr = (void*)p_address; + auto object_ptr = (df::viewscreen*)void_ptr; + + DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); + if (id != nullptr) + { + auto l_full_name = id->getFullName(); + if (l_full_name == "viewscreen_layer") + return DF_Type::viewscreen_layer; + if (l_full_name == "viewscreen_layer_arena_creaturest") + return DF_Type::viewscreen_layer_arena_creaturest; + if (l_full_name == "viewscreen_layer_assigntradest") + return DF_Type::viewscreen_layer_assigntradest; + if (l_full_name == "viewscreen_layer_choose_language_namest") + return DF_Type::viewscreen_layer_choose_language_namest; + if (l_full_name == "viewscreen_layer_currencyst") + return DF_Type::viewscreen_layer_currencyst; + if (l_full_name == "viewscreen_layer_export_play_mapst") + return DF_Type::viewscreen_layer_export_play_mapst; + if (l_full_name == "viewscreen_layer_militaryst") + return DF_Type::viewscreen_layer_militaryst; + if (l_full_name == "viewscreen_layer_musicsoundst") + return DF_Type::viewscreen_layer_musicsoundst; + if (l_full_name == "viewscreen_layer_noblelistst") + return DF_Type::viewscreen_layer_noblelistst; + if (l_full_name == "viewscreen_layer_overall_healthst") + return DF_Type::viewscreen_layer_overall_healthst; + if (l_full_name == "viewscreen_layer_reactionst") + return DF_Type::viewscreen_layer_reactionst; + if (l_full_name == "viewscreen_layer_squad_schedulest") + return DF_Type::viewscreen_layer_squad_schedulest; + if (l_full_name == "viewscreen_layer_stockpilest") + return DF_Type::viewscreen_layer_stockpilest; + if (l_full_name == "viewscreen_layer_stone_restrictionst") + return DF_Type::viewscreen_layer_stone_restrictionst; + if (l_full_name == "viewscreen_layer_unit_actionst") + return DF_Type::viewscreen_layer_unit_actionst; + if (l_full_name == "viewscreen_layer_unit_healthst") + return DF_Type::viewscreen_layer_unit_healthst; + if (l_full_name == "viewscreen_layer_unit_relationshipst") + return DF_Type::viewscreen_layer_unit_relationshipst; + if (l_full_name == "viewscreen_layer_world_gen_paramst") + return DF_Type::viewscreen_layer_world_gen_paramst; + if (l_full_name == "viewscreen_layer_world_gen_param_presetst") + return DF_Type::viewscreen_layer_world_gen_param_presetst; + if (l_full_name == "KeybindingScreen") + return DF_Type::KeybindingScreen; + if (l_full_name == "MacroScreenLoad") + return DF_Type::MacroScreenLoad; + if (l_full_name == "MacroScreenSave") + return DF_Type::MacroScreenSave; + if (l_full_name == "viewscreen_adopt_regionst") + return DF_Type::viewscreen_adopt_regionst; + if (l_full_name == "viewscreen_adventure_logst") + return DF_Type::viewscreen_adventure_logst; + if (l_full_name == "viewscreen_announcelistst") + return DF_Type::viewscreen_announcelistst; + if (l_full_name == "viewscreen_assign_display_itemst") + return DF_Type::viewscreen_assign_display_itemst; + if (l_full_name == "viewscreen_barterst") + return DF_Type::viewscreen_barterst; + if (l_full_name == "viewscreen_buildingst") + return DF_Type::viewscreen_buildingst; + if (l_full_name == "viewscreen_buildinglistst") + return DF_Type::viewscreen_buildinglistst; + if (l_full_name == "viewscreen_choose_start_sitest") + return DF_Type::viewscreen_choose_start_sitest; + if (l_full_name == "viewscreen_civlistst") + return DF_Type::viewscreen_civlistst; + if (l_full_name == "viewscreen_createquotast") + return DF_Type::viewscreen_createquotast; + if (l_full_name == "viewscreen_customize_unitst") + return DF_Type::viewscreen_customize_unitst; + if (l_full_name == "viewscreen_dungeon_monsterstatusst") + return DF_Type::viewscreen_dungeon_monsterstatusst; + if (l_full_name == "viewscreen_dungeon_wrestlest") + return DF_Type::viewscreen_dungeon_wrestlest; + if (l_full_name == "viewscreen_dungeonmodest") + return DF_Type::viewscreen_dungeonmodest; + if (l_full_name == "viewscreen_dwarfmodest") + return DF_Type::viewscreen_dwarfmodest; + if (l_full_name == "viewscreen_entityst") + return DF_Type::viewscreen_entityst; + if (l_full_name == "viewscreen_export_graphical_mapst") + return DF_Type::viewscreen_export_graphical_mapst; + if (l_full_name == "viewscreen_export_regionst") + return DF_Type::viewscreen_export_regionst; + if (l_full_name == "viewscreen_game_cleanerst") + return DF_Type::viewscreen_game_cleanerst; + if (l_full_name == "viewscreen_image_creatorst") + return DF_Type::viewscreen_image_creatorst; + if (l_full_name == "viewscreen_itemst") + return DF_Type::viewscreen_itemst; + if (l_full_name == "viewscreen_jobst") + return DF_Type::viewscreen_jobst; + if (l_full_name == "viewscreen_joblistst") + return DF_Type::viewscreen_joblistst; + if (l_full_name == "viewscreen_jobmanagementst") + return DF_Type::viewscreen_jobmanagementst; + if (l_full_name == "viewscreen_justicest") + return DF_Type::viewscreen_justicest; + if (l_full_name == "viewscreen_kitchenprefst") + return DF_Type::viewscreen_kitchenprefst; + if (l_full_name == "viewscreen_legendsst") + return DF_Type::viewscreen_legendsst; + if (l_full_name == "viewscreen_locationsst") + return DF_Type::viewscreen_locationsst; + if (l_full_name == "viewscreen_loadgamest") + return DF_Type::viewscreen_loadgamest; + if (l_full_name == "viewscreen_meetingst") + return DF_Type::viewscreen_meetingst; + if (l_full_name == "viewscreen_movieplayerst") + return DF_Type::viewscreen_movieplayerst; + if (l_full_name == "viewscreen_new_regionst") + return DF_Type::viewscreen_new_regionst; + if (l_full_name == "viewscreen_noblest") + return DF_Type::viewscreen_noblest; + if (l_full_name == "viewscreen_optionst") + return DF_Type::viewscreen_optionst; + if (l_full_name == "viewscreen_overallstatusst") + return DF_Type::viewscreen_overallstatusst; + if (l_full_name == "viewscreen_petitionsst") + return DF_Type::viewscreen_petitionsst; + if (l_full_name == "viewscreen_petst") + return DF_Type::viewscreen_petst; + if (l_full_name == "viewscreen_pricest") + return DF_Type::viewscreen_pricest; + if (l_full_name == "viewscreen_reportlistst") + return DF_Type::viewscreen_reportlistst; + if (l_full_name == "viewscreen_requestagreementst") + return DF_Type::viewscreen_requestagreementst; + if (l_full_name == "viewscreen_savegamest") + return DF_Type::viewscreen_savegamest; + if (l_full_name == "viewscreen_selectitemst") + return DF_Type::viewscreen_selectitemst; + if (l_full_name == "viewscreen_setupadventurest") + return DF_Type::viewscreen_setupadventurest; + if (l_full_name == "viewscreen_setupdwarfgamest") + return DF_Type::viewscreen_setupdwarfgamest; + if (l_full_name == "viewscreen_storesst") + return DF_Type::viewscreen_storesst; + if (l_full_name == "viewscreen_textviewerst") + return DF_Type::viewscreen_textviewerst; + if (l_full_name == "viewscreen_titlest") + return DF_Type::viewscreen_titlest; + if (l_full_name == "viewscreen_topicmeetingst") + return DF_Type::viewscreen_topicmeetingst; + if (l_full_name == "viewscreen_topicmeeting_fill_land_holder_positionsst") + return DF_Type::viewscreen_topicmeeting_fill_land_holder_positionsst; + if (l_full_name == "viewscreen_topicmeeting_takerequestsst") + return DF_Type::viewscreen_topicmeeting_takerequestsst; + if (l_full_name == "viewscreen_tradeagreementst") + return DF_Type::viewscreen_tradeagreementst; + if (l_full_name == "viewscreen_tradegoodsst") + return DF_Type::viewscreen_tradegoodsst; + if (l_full_name == "viewscreen_tradelistst") + return DF_Type::viewscreen_tradelistst; + if (l_full_name == "viewscreen_treasurelistst") + return DF_Type::viewscreen_treasurelistst; + if (l_full_name == "viewscreen_unitst") + return DF_Type::viewscreen_unitst; + if (l_full_name == "viewscreen_unitlistst") + return DF_Type::viewscreen_unitlistst; + if (l_full_name == "viewscreen_wagesst") + return DF_Type::viewscreen_wagesst; + if (l_full_name == "viewscreen_workquota_conditionst") + return DF_Type::viewscreen_workquota_conditionst; + if (l_full_name == "viewscreen_workquota_detailsst") + return DF_Type::viewscreen_workquota_detailsst; + if (l_full_name == "viewscreen_workshop_profilest") + return DF_Type::viewscreen_workshop_profilest; + if (l_full_name == "viewscreen_update_regionst") + return DF_Type::viewscreen_update_regionst; + } + return DF_Type::None; +} + +DF_Type layer_object_subtype(uint64_t p_address) +{ + void* void_ptr = (void*)p_address; + auto object_ptr = (df::layer_object*)void_ptr; + + DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); + if (id != nullptr) + { + auto l_full_name = id->getFullName(); + if (l_full_name == "layer_object_listst") + return DF_Type::layer_object_listst; + if (l_full_name == "layer_object_buttonst") + return DF_Type::layer_object_buttonst; + } + return DF_Type::None; +} + +DF_Type world_gen_param_basest_subtype(uint64_t p_address) +{ + void* void_ptr = (void*)p_address; + auto object_ptr = (df::world_gen_param_basest*)void_ptr; + + DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); + if (id != nullptr) + { + auto l_full_name = id->getFullName(); + if (l_full_name == "world_gen_param_seedst") + return DF_Type::world_gen_param_seedst; + if (l_full_name == "world_gen_param_valuest") + return DF_Type::world_gen_param_valuest; + if (l_full_name == "world_gen_param_charst") + return DF_Type::world_gen_param_charst; + if (l_full_name == "world_gen_param_memberst") + return DF_Type::world_gen_param_memberst; + } + return DF_Type::None; +} + +DF_Type abstract_building_subtype(uint64_t p_address) +{ + void* void_ptr = (void*)p_address; + auto object_ptr = (df::abstract_building*)void_ptr; + + DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); + if (id != nullptr) + { + auto l_full_name = id->getFullName(); + if (l_full_name == "abstract_building_mead_hallst") + return DF_Type::abstract_building_mead_hallst; + if (l_full_name == "abstract_building_keepst") + return DF_Type::abstract_building_keepst; + if (l_full_name == "abstract_building_templest") + return DF_Type::abstract_building_templest; + if (l_full_name == "abstract_building_dark_towerst") + return DF_Type::abstract_building_dark_towerst; + if (l_full_name == "abstract_building_marketst") + return DF_Type::abstract_building_marketst; + if (l_full_name == "abstract_building_tombst") + return DF_Type::abstract_building_tombst; + if (l_full_name == "abstract_building_dungeonst") + return DF_Type::abstract_building_dungeonst; + if (l_full_name == "abstract_building_underworld_spirest") + return DF_Type::abstract_building_underworld_spirest; + if (l_full_name == "abstract_building_inn_tavernst") + return DF_Type::abstract_building_inn_tavernst; + if (l_full_name == "abstract_building_libraryst") + return DF_Type::abstract_building_libraryst; + } + return DF_Type::None; +} + +DF_Type site_realization_building_infost_subtype(uint64_t p_address) +{ + void* void_ptr = (void*)p_address; + auto object_ptr = (df::site_realization_building_infost*)void_ptr; + + DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); + if (id != nullptr) + { + auto l_full_name = id->getFullName(); + if (l_full_name == "site_realization_building_info_castle_wallst") + return DF_Type::site_realization_building_info_castle_wallst; + if (l_full_name == "site_realization_building_info_castle_towerst") + return DF_Type::site_realization_building_info_castle_towerst; + if (l_full_name == "site_realization_building_info_castle_courtyardst") + return DF_Type::site_realization_building_info_castle_courtyardst; + if (l_full_name == "site_realization_building_info_shop_housest") + return DF_Type::site_realization_building_info_shop_housest; + if (l_full_name == "site_realization_building_info_market_squarest") + return DF_Type::site_realization_building_info_market_squarest; + if (l_full_name == "site_realization_building_info_trenchesst") + return DF_Type::site_realization_building_info_trenchesst; + if (l_full_name == "site_realization_building_info_tree_housest") + return DF_Type::site_realization_building_info_tree_housest; + if (l_full_name == "site_realization_building_info_hillock_housest") + return DF_Type::site_realization_building_info_hillock_housest; + } + return DF_Type::None; +} + +DF_Type creation_zone_pwg_alterationst_subtype(uint64_t p_address) +{ + void* void_ptr = (void*)p_address; + auto object_ptr = (df::creation_zone_pwg_alterationst*)void_ptr; + + DFHack::virtual_identity* id = DFHack::virtual_identity::get(object_ptr); + if (id != nullptr) + { + auto l_full_name = id->getFullName(); + if (l_full_name == "creation_zone_pwg_alteration_location_deathst") + return DF_Type::creation_zone_pwg_alteration_location_deathst; + if (l_full_name == "creation_zone_pwg_alteration_campst") + return DF_Type::creation_zone_pwg_alteration_campst; + if (l_full_name == "creation_zone_pwg_alteration_srb_ruinedst") + return DF_Type::creation_zone_pwg_alteration_srb_ruinedst; + if (l_full_name == "creation_zone_pwg_alteration_srp_ruinedst") + return DF_Type::creation_zone_pwg_alteration_srp_ruinedst; + } + return DF_Type::None; +} + + + DF_Type get_df_subtype(DF_Type p_base_type, uint64_t p_address) + { + switch(p_base_type) + { + case DF_Type::text_info_elementst: return text_info_elementst_subtype(p_address); + case DF_Type::adventure_optionst: return adventure_optionst_subtype(p_address); + case DF_Type::adventure_movement_optionst: return adventure_movement_optionst_subtype(p_address); + case DF_Type::adventure_item_interact_choicest: return adventure_item_interact_choicest_subtype(p_address); + case DF_Type::art_image_element: return art_image_element_subtype(p_address); + case DF_Type::art_image_property: return art_image_property_subtype(p_address); + case DF_Type::building_def: return building_def_subtype(p_address); + case DF_Type::building: return building_subtype(p_address); + case DF_Type::mental_picture_propertyst: return mental_picture_propertyst_subtype(p_address); + case DF_Type::mental_picture_elementst: return mental_picture_elementst_subtype(p_address); + case DF_Type::history_event: return history_event_subtype(p_address); + case DF_Type::history_event_collection: return history_event_collection_subtype(p_address); + case DF_Type::interaction_effect: return interaction_effect_subtype(p_address); + case DF_Type::interaction_source: return interaction_source_subtype(p_address); + case DF_Type::interaction_target: return interaction_target_subtype(p_address); + case DF_Type::itemdef: return itemdef_subtype(p_address); + case DF_Type::itemimprovement: return itemimprovement_subtype(p_address); + case DF_Type::spatter_common: return spatter_common_subtype(p_address); + case DF_Type::item: return item_subtype(p_address); + case DF_Type::machine: return machine_subtype(p_address); + case DF_Type::block_square_event: return block_square_event_subtype(p_address); + case DF_Type::feature: return feature_subtype(p_address); + case DF_Type::feature_init: return feature_init_subtype(p_address); + case DF_Type::feature_alteration: return feature_alteration_subtype(p_address); + case DF_Type::world_construction_square: return world_construction_square_subtype(p_address); + case DF_Type::world_construction: return world_construction_subtype(p_address); + case DF_Type::flow_guide: return flow_guide_subtype(p_address); + case DF_Type::region_block_eventst: return region_block_eventst_subtype(p_address); + case DF_Type::material_common: return material_common_subtype(p_address); + case DF_Type::script_stepst: return script_stepst_subtype(p_address); + case DF_Type::script_varst: return script_varst_subtype(p_address); + case DF_Type::active_script_varst: return active_script_varst_subtype(p_address); + case DF_Type::activity_event: return activity_event_subtype(p_address); + case DF_Type::squad_order: return squad_order_subtype(p_address); + case DF_Type::projectile: return projectile_subtype(p_address); + case DF_Type::reaction_reagent: return reaction_reagent_subtype(p_address); + case DF_Type::reaction_product: return reaction_product_subtype(p_address); + case DF_Type::general_ref: return general_ref_subtype(p_address); + case DF_Type::histfig_entity_link: return histfig_entity_link_subtype(p_address); + case DF_Type::histfig_site_link: return histfig_site_link_subtype(p_address); + case DF_Type::histfig_hf_link: return histfig_hf_link_subtype(p_address); + case DF_Type::resource_allotment_specifier: return resource_allotment_specifier_subtype(p_address); + case DF_Type::creature_interaction_effect: return creature_interaction_effect_subtype(p_address); + case DF_Type::build_req_choicest: return build_req_choicest_subtype(p_address); + case DF_Type::interface_button: return interface_button_subtype(p_address); + case DF_Type::viewscreen: return viewscreen_subtype(p_address); + case DF_Type::layer_object: return layer_object_subtype(p_address); + case DF_Type::world_gen_param_basest: return world_gen_param_basest_subtype(p_address); + case DF_Type::abstract_building: return abstract_building_subtype(p_address); + case DF_Type::site_realization_building_infost: return site_realization_building_infost_subtype(p_address); + case DF_Type::creation_zone_pwg_alterationst: return creation_zone_pwg_alterationst_subtype(p_address); + default: break; + } + return DF_Type::None; + } diff --git a/include/DF_Types.h b/include/DF_Types.h index ef3867b..e6e6f16 100644 --- a/include/DF_Types.h +++ b/include/DF_Types.h @@ -1860,6 +1860,7 @@ Stl_fstream, unit_dance_skill, unit_demand, unit_demand__T_place, + unit_emotion_memory, unit_flags1, unit_flags2, unit_flags3, @@ -1889,6 +1890,8 @@ Stl_fstream, unit_personality__T_emotions, unit_personality__T_emotions__T_flags, unit_personality__T_flags, + unit_personality__T_memories, + unit_personality__T_memories__T_reflected_on, unit_personality__T_needs, unit_personality__T_unk5, unit_personality__T_unk_v40_2, diff --git a/include/df_all.h b/include/df_all.h index e8e5a68..e5cfde8 100644 --- a/include/df_all.h +++ b/include/df_all.h @@ -1357,6 +1357,7 @@ #include #include #include +#include #include #include #include